From 447f4358eba3c84fda00254f4967ae0bad5e36ae Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 15:02:42 +0800 Subject: [PATCH 001/303] fix: update lock file --- yarn.lock | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index e5cccabb00..96c4694379 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9602,12 +9602,7 @@ yocto-queue@^1.0.0: resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== -zwitch@^2.0.0: +zwitch@^2.0.0, zwitch@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== - -zwitch@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== From 65366b96adbc228111547c8253110db9ad76d650 Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 15:12:04 +0800 Subject: [PATCH 002/303] fix: rebuild lock file --- yarn.lock | 7724 +++++++++++++++++++++++++---------------------------- 1 file changed, 3707 insertions(+), 4017 deletions(-) diff --git a/yarn.lock b/yarn.lock index 96c4694379..a7a79e7b60 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,275 +2,252 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz" - integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw== - dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.9.3" - "@algolia/autocomplete-shared" "1.9.3" - -"@algolia/autocomplete-plugin-algolia-insights@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz" - integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg== - dependencies: - "@algolia/autocomplete-shared" "1.9.3" - -"@algolia/autocomplete-preset-algolia@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz" - integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== - dependencies: - "@algolia/autocomplete-shared" "1.9.3" - -"@algolia/autocomplete-shared@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz" - integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== - -"@algolia/cache-browser-local-storage@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz" - integrity sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g== - dependencies: - "@algolia/cache-common" "4.22.1" - -"@algolia/cache-common@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.22.1.tgz" - integrity sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA== - -"@algolia/cache-in-memory@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz" - integrity sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw== - dependencies: - "@algolia/cache-common" "4.22.1" - -"@algolia/client-account@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.22.1.tgz" - integrity sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw== - dependencies: - "@algolia/client-common" "4.22.1" - "@algolia/client-search" "4.22.1" - "@algolia/transporter" "4.22.1" - -"@algolia/client-analytics@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.22.1.tgz" - integrity sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg== - dependencies: - "@algolia/client-common" "4.22.1" - "@algolia/client-search" "4.22.1" - "@algolia/requester-common" "4.22.1" - "@algolia/transporter" "4.22.1" - -"@algolia/client-common@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.22.1.tgz" - integrity sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ== - dependencies: - "@algolia/requester-common" "4.22.1" - "@algolia/transporter" "4.22.1" - -"@algolia/client-personalization@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.22.1.tgz" - integrity sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ== - dependencies: - "@algolia/client-common" "4.22.1" - "@algolia/requester-common" "4.22.1" - "@algolia/transporter" "4.22.1" - -"@algolia/client-search@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.22.1.tgz" - integrity sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA== - dependencies: - "@algolia/client-common" "4.22.1" - "@algolia/requester-common" "4.22.1" - "@algolia/transporter" "4.22.1" +"@algolia/autocomplete-core@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz#83374c47dc72482aa45d6b953e89377047f0dcdc" + integrity sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ== + dependencies: + "@algolia/autocomplete-plugin-algolia-insights" "1.17.9" + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-plugin-algolia-insights@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz#74c86024d09d09e8bfa3dd90b844b77d9f9947b6" + integrity sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ== + dependencies: + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-preset-algolia@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz#911f3250544eb8ea4096fcfb268f156b085321b5" + integrity sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ== + dependencies: + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-shared@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" + integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== + +"@algolia/client-abtesting@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.25.0.tgz#012204f1614e1a71366fb1e117c8f195186ff081" + integrity sha512-1pfQulNUYNf1Tk/svbfjfkLBS36zsuph6m+B6gDkPEivFmso/XnRgwDvjAx80WNtiHnmeNjIXdF7Gos8+OLHqQ== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" + +"@algolia/client-analytics@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.25.0.tgz#eba015bfafb3dbb82712c9160a00717a5974ff71" + integrity sha512-AFbG6VDJX/o2vDd9hqncj1B6B4Tulk61mY0pzTtzKClyTDlNP0xaUiEKhl6E7KO9I/x0FJF5tDCm0Hn6v5x18A== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" + +"@algolia/client-common@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.25.0.tgz#2def8947efe849266057d92f67d1b8d83de0c005" + integrity sha512-il1zS/+Rc6la6RaCdSZ2YbJnkQC6W1wiBO8+SH+DE6CPMWBU6iDVzH0sCKSAtMWl9WBxoN6MhNjGBnCv9Yy2bA== + +"@algolia/client-insights@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.25.0.tgz#b87df8614b96c4cc9c9aa7765cce07fa70864fa8" + integrity sha512-blbjrUH1siZNfyCGeq0iLQu00w3a4fBXm0WRIM0V8alcAPo7rWjLbMJMrfBtzL9X5ic6wgxVpDADXduGtdrnkw== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" + +"@algolia/client-personalization@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.25.0.tgz#74b041f0e7d91e1009c131c8d716c34e4d45c30f" + integrity sha512-aywoEuu1NxChBcHZ1pWaat0Plw7A8jDMwjgRJ00Mcl7wGlwuPt5dJ/LTNcg3McsEUbs2MBNmw0ignXBw9Tbgow== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" + +"@algolia/client-query-suggestions@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.25.0.tgz#e92d935d9e2994f790d43c64d3518d81070a3888" + integrity sha512-a/W2z6XWKjKjIW1QQQV8PTTj1TXtaKx79uR3NGBdBdGvVdt24KzGAaN7sCr5oP8DW4D3cJt44wp2OY/fZcPAVA== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" + +"@algolia/client-search@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.25.0.tgz#dc38ca1015f2f4c9f5053a4517f96fb28a2117f8" + integrity sha512-9rUYcMIBOrCtYiLX49djyzxqdK9Dya/6Z/8sebPn94BekT+KLOpaZCuc6s0Fpfq7nx5J6YY5LIVFQrtioK9u0g== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" "@algolia/events@^4.0.1": version "4.0.1" - resolved "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/logger-common@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.22.1.tgz" - integrity sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg== +"@algolia/ingestion@1.25.0": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.25.0.tgz#4d13c56dda0a05c7bacb0e3ef5866292dfd86ed5" + integrity sha512-jJeH/Hk+k17Vkokf02lkfYE4A+EJX+UgnMhTLR/Mb+d1ya5WhE+po8p5a/Nxb6lo9OLCRl6w3Hmk1TX1e9gVbQ== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" -"@algolia/logger-console@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.22.1.tgz" - integrity sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA== +"@algolia/monitoring@1.25.0": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.25.0.tgz#d59360cfe556338519d05a9d8107147e9dbcb020" + integrity sha512-Ls3i1AehJ0C6xaHe7kK9vPmzImOn5zBg7Kzj8tRYIcmCWVyuuFwCIsbuIIz/qzUf1FPSWmw0TZrGeTumk2fqXg== dependencies: - "@algolia/logger-common" "4.22.1" + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" -"@algolia/requester-browser-xhr@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz" - integrity sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw== +"@algolia/recommend@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.25.0.tgz#b96f12c85aa74a0326982c7801fcd4a610b420f4" + integrity sha512-79sMdHpiRLXVxSjgw7Pt4R1aNUHxFLHiaTDnN2MQjHwJ1+o3wSseb55T9VXU4kqy3m7TUme3pyRhLk5ip/S4Mw== dependencies: - "@algolia/requester-common" "4.22.1" + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" -"@algolia/requester-common@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.22.1.tgz" - integrity sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg== +"@algolia/requester-browser-xhr@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.25.0.tgz#c194fa5f49206b9343e6646c41bfbca2a3f2ac54" + integrity sha512-JLaF23p1SOPBmfEqozUAgKHQrGl3z/Z5RHbggBu6s07QqXXcazEsub5VLonCxGVqTv6a61AAPr8J1G5HgGGjEw== + dependencies: + "@algolia/client-common" "5.25.0" -"@algolia/requester-node-http@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz" - integrity sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA== +"@algolia/requester-fetch@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.25.0.tgz#231a2d0da2397d141f80b8f28e2cb6e3d219d38d" + integrity sha512-rtzXwqzFi1edkOF6sXxq+HhmRKDy7tz84u0o5t1fXwz0cwx+cjpmxu/6OQKTdOJFS92JUYHsG51Iunie7xbqfQ== dependencies: - "@algolia/requester-common" "4.22.1" + "@algolia/client-common" "5.25.0" -"@algolia/transporter@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.22.1.tgz" - integrity sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ== +"@algolia/requester-node-http@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.25.0.tgz#0ce13c550890de21c558b04381535d2d245a3725" + integrity sha512-ZO0UKvDyEFvyeJQX0gmZDQEvhLZ2X10K+ps6hViMo1HgE2V8em00SwNsQ+7E/52a+YiBkVWX61pJJJE44juDMQ== dependencies: - "@algolia/cache-common" "4.22.1" - "@algolia/logger-common" "4.22.1" - "@algolia/requester-common" "4.22.1" + "@algolia/client-common" "5.25.0" "@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2", "@babel/code-frame@^7.8.3": - version "7.26.2" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz" - integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.27.1", "@babel/code-frame@^7.8.3": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== dependencies: - "@babel/helper-validator-identifier" "^7.25.9" + "@babel/helper-validator-identifier" "^7.27.1" js-tokens "^4.0.0" - picocolors "^1.0.0" + picocolors "^1.1.1" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4", "@babel/compat-data@^7.25.9": - version "7.26.3" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz" - integrity sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.2.tgz#4183f9e642fd84e74e3eea7ffa93a412e3b102c9" + integrity sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ== -"@babel/core@^7.19.6", "@babel/core@^7.21.3", "@babel/core@^7.23.3": - version "7.26.0" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz" - integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== +"@babel/core@^7.21.3", "@babel/core@^7.25.9": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.1.tgz#89de51e86bd12246003e3524704c49541b16c3e6" + integrity sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.26.0" - "@babel/generator" "^7.26.0" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helpers" "^7.26.0" - "@babel/parser" "^7.26.0" - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.26.0" + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.1" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helpers" "^7.27.1" + "@babel/parser" "^7.27.1" + "@babel/template" "^7.27.1" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.23.3", "@babel/generator@^7.26.0", "@babel/generator@^7.26.3": - version "7.26.3" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz" - integrity sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ== +"@babel/generator@^7.25.9", "@babel/generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.1.tgz#862d4fad858f7208edd487c28b58144036b76230" + integrity sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w== dependencies: - "@babel/parser" "^7.26.3" - "@babel/types" "^7.26.3" + "@babel/parser" "^7.27.1" + "@babel/types" "^7.27.1" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2" -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== +"@babel/helper-annotate-as-pure@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz#4345d81a9a46a6486e24d069469f13e60445c05d" + integrity sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow== dependencies: - "@babel/types" "^7.22.15" + "@babel/types" "^7.27.1" -"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6", "@babel/helper-compilation-targets@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz" - integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" + integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== dependencies: - "@babel/compat-data" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" + "@babel/compat-data" "^7.27.2" + "@babel/helper-validator-option" "^7.27.1" browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6": - version "7.23.10" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz" - integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" +"@babel/helper-create-class-features-plugin@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz#5bee4262a6ea5ddc852d0806199eb17ca3de9281" + integrity sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-member-expression-to-functions" "^7.27.1" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/traverse" "^7.27.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4", "@babel/helper-create-class-features-plugin@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz" - integrity sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.24.5" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.24.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.24.5" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53" + integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" + "@babel/helper-annotate-as-pure" "^7.27.1" + regexpu-core "^6.2.0" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.5.0": - version "0.5.0" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz" - integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": - version "0.6.2" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz" - integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== +"@babel/helper-define-polyfill-provider@^0.6.3", "@babel/helper-define-polyfill-provider@^0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz#15e8746368bfa671785f5926ff74b3064c291fab" + integrity sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -278,1643 +255,1267 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== +"@babel/helper-member-expression-to-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz#ea1211276be93e798ce19037da6f06fbb994fa44" + integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-module-imports@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" + integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-module-transforms@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz#e1663b8b71d2de948da5c4fb2a20ca4f3ec27a6f" + integrity sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g== + dependencies: + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== +"@babel/helper-optimise-call-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200" + integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw== dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + "@babel/types" "^7.27.1" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" + integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== + +"@babel/helper-remap-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6" + integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA== dependencies: - "@babel/types" "^7.22.5" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-wrap-function" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== +"@babel/helper-replace-supers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0" + integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA== dependencies: - "@babel/types" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.27.1" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/helper-member-expression-to-functions@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz" - integrity sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA== +"@babel/helper-skip-transparent-expression-wrappers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56" + integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg== dependencies: - "@babel/types" "^7.24.5" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz" - integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@babel/helper-module-transforms@^7.23.3", "@babel/helper-module-transforms@^7.26.0": - version "7.26.0" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz" - integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" +"@babel/helper-validator-identifier@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== +"@babel/helper-validator-option@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" + integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== -"@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz" - integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== - -"@babel/helper-remap-async-to-generator@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" - -"@babel/helper-replace-supers@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz" - integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== +"@babel/helper-wrap-function@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz#b88285009c31427af318d4fe37651cd62a142409" + integrity sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/template" "^7.27.1" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/helper-replace-supers@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz" - integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== +"@babel/helpers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.1.tgz#ffc27013038607cdba3288e692c3611c06a18aa4" + integrity sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/template" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== +"@babel/parser@^7.27.1", "@babel/parser@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.2.tgz#577518bedb17a2ce4212afd052e01f7df0941127" + integrity sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw== dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + "@babel/types" "^7.27.1" + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz#61dd8a8e61f7eb568268d1b5f129da3eee364bf9" + integrity sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA== dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz#43f70a6d7efd52370eefbdf55ae03d91b293856d" + integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA== dependencies: - "@babel/types" "^7.22.5" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72" + integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/helper-split-export-declaration@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz" - integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd" + integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw== dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-string-parser@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz" - integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== - -"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - -"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5", "@babel/helper-validator-option@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz" - integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== - -"@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== - dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" - -"@babel/helpers@^7.26.0": - version "7.26.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz" - integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== - dependencies: - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.0" - -"@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.3": - version "7.26.3" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz" - integrity sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA== - dependencies: - "@babel/types" "^7.26.3" - -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz" - integrity sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.5" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz" - integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz" - integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz" - integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.23.3" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz" - integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.24.1" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": - version "7.23.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz" - integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz" - integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz#bb1c25af34d75115ce229a1de7fa44bf8f955670" + integrity sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz" - integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-assertions@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz" - integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-import-attributes@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz" - integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-attributes@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz" - integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-jsx@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz" - integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== +"@babel/plugin-syntax-import-assertions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz#88894aefd2b03b5ee6ad1562a7c8e1587496aecd" + integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== +"@babel/plugin-syntax-import-attributes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" + integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== +"@babel/plugin-syntax-jsx@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" + integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== +"@babel/plugin-syntax-typescript@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" + integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz" - integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-typescript@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz" - integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz" - integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== +"@babel/plugin-transform-arrow-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a" + integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-arrow-functions@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz" - integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== +"@babel/plugin-transform-async-generator-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz#ca433df983d68e1375398e7ca71bf2a4f6fd89d7" + integrity sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-remap-async-to-generator" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-async-generator-functions@^7.23.9": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz" - integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== +"@babel/plugin-transform-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7" + integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-remap-async-to-generator" "^7.27.1" -"@babel/plugin-transform-async-generator-functions@^7.24.3": - version "7.24.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz" - integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== +"@babel/plugin-transform-block-scoped-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9" + integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-remap-async-to-generator" "^7.22.20" - "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-async-to-generator@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz" - integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== +"@babel/plugin-transform-block-scoping@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.1.tgz#bc0dbe8ac6de5602981ba58ef68c6df8ef9bfbb3" + integrity sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw== dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-async-to-generator@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz" - integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== +"@babel/plugin-transform-class-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925" + integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA== dependencies: - "@babel/helper-module-imports" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-block-scoped-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz" - integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== +"@babel/plugin-transform-class-static-block@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz#7e920d5625b25bbccd3061aefbcc05805ed56ce4" + integrity sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-block-scoped-functions@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz" - integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== +"@babel/plugin-transform-classes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz#03bb04bea2c7b2f711f0db7304a8da46a85cced4" + integrity sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-block-scoping@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz" - integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-block-scoping@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz" - integrity sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - -"@babel/plugin-transform-class-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz" - integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz" - integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-class-static-block@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz" - integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-class-static-block@^7.24.4": - version "7.24.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz" - integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.4" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-classes@^7.23.8": - version "7.23.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz" - integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-split-export-declaration" "^7.22.6" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz" - integrity sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/helper-replace-supers" "^7.24.1" - "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + "@babel/traverse" "^7.27.1" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz" - integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== +"@babel/plugin-transform-computed-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa" + integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.15" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/template" "^7.27.1" -"@babel/plugin-transform-computed-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz" - integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== +"@babel/plugin-transform-destructuring@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.1.tgz#d5916ef7089cb254df0418ae524533c1b72ba656" + integrity sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/template" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-destructuring@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz" - integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== +"@babel/plugin-transform-dotall-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d" + integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-destructuring@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz" - integrity sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg== +"@babel/plugin-transform-duplicate-keys@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1" + integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-dotall-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz" - integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz#5043854ca620a94149372e69030ff8cb6a9eb0ec" + integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-dotall-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz" - integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== +"@babel/plugin-transform-dynamic-import@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4" + integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-duplicate-keys@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz" - integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== +"@babel/plugin-transform-exponentiation-operator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz#fc497b12d8277e559747f5a3ed868dd8064f83e1" + integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-duplicate-keys@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz" - integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== +"@babel/plugin-transform-export-namespace-from@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23" + integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-dynamic-import@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz" - integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== +"@babel/plugin-transform-for-of@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a" + integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-dynamic-import@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz" - integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== +"@babel/plugin-transform-function-name@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7" + integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-exponentiation-operator@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz" - integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== +"@babel/plugin-transform-json-strings@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz#a2e0ce6ef256376bd527f290da023983527a4f4c" + integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-exponentiation-operator@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz" - integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== +"@babel/plugin-transform-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24" + integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-export-namespace-from@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz" - integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== +"@babel/plugin-transform-logical-assignment-operators@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz#890cb20e0270e0e5bebe3f025b434841c32d5baa" + integrity sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-export-namespace-from@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz" - integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== +"@babel/plugin-transform-member-expression-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9" + integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-for-of@^7.23.6": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz" - integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== +"@babel/plugin-transform-modules-amd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f" + integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-for-of@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz" - integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== +"@babel/plugin-transform-modules-commonjs@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832" + integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-function-name@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz" - integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== +"@babel/plugin-transform-modules-systemjs@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz#00e05b61863070d0f3292a00126c16c0e024c4ed" + integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA== dependencies: - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-function-name@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz" - integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== - dependencies: - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-json-strings@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz" - integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-transform-json-strings@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz" - integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-transform-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz" - integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz" - integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-logical-assignment-operators@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz" - integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-transform-logical-assignment-operators@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz" - integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz" - integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-member-expression-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz" - integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-modules-amd@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz" - integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-modules-amd@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz" - integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== +"@babel/plugin-transform-modules-umd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334" + integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w== dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-commonjs@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz" - integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1" + integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng== dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - -"@babel/plugin-transform-modules-commonjs@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz" - integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-systemjs@^7.23.9": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz" - integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== +"@babel/plugin-transform-new-target@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb" + integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ== dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-systemjs@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz" - integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== +"@babel/plugin-transform-nullish-coalescing-operator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz#4f9d3153bf6782d73dd42785a9d22d03197bc91d" + integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA== dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/plugin-transform-modules-umd@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz" - integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-umd@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz" - integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== +"@babel/plugin-transform-numeric-separator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz#614e0b15cc800e5997dadd9bd6ea524ed6c819c6" + integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw== dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-new-target@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz" - integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-new-target@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz" - integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== +"@babel/plugin-transform-object-rest-spread@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz#67f9ab822347aa2bcee91e8996763da79bdea973" + integrity sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.27.1" + "@babel/plugin-transform-parameters" "^7.27.1" -"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz" - integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== +"@babel/plugin-transform-object-super@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5" + integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" -"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz" - integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== +"@babel/plugin-transform-optional-catch-binding@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz#84c7341ebde35ccd36b137e9e45866825072a30c" + integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-numeric-separator@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz" - integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== +"@babel/plugin-transform-optional-chaining@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz#874ce3c4f06b7780592e946026eb76a32830454f" + integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-numeric-separator@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz" - integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== +"@babel/plugin-transform-parameters@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz#80334b54b9b1ac5244155a0c8304a187a618d5a7" + integrity sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-object-rest-spread@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz" - integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== +"@babel/plugin-transform-private-methods@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz#fdacbab1c5ed81ec70dfdbb8b213d65da148b6af" + integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA== dependencies: - "@babel/compat-data" "^7.23.3" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-object-rest-spread@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz" - integrity sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA== +"@babel/plugin-transform-private-property-in-object@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz#4dbbef283b5b2f01a21e81e299f76e35f900fb11" + integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ== dependencies: - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.24.5" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-object-super@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz" - integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== +"@babel/plugin-transform-property-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424" + integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-object-super@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz" - integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== +"@babel/plugin-transform-react-constant-elements@^7.21.3": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz#6c6b50424e749a6e48afd14cf7b92f98cb9383f9" + integrity sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-optional-catch-binding@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz" - integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== +"@babel/plugin-transform-react-display-name@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.27.1.tgz#43af31362d71f7848cfac0cbc212882b1a16e80f" + integrity sha512-p9+Vl3yuHPmkirRrg021XiP+EETmPMQTLr6Ayjj85RLNEbb3Eya/4VI0vAdzQG9SEAl2Lnt7fy5lZyMzjYoZQQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-optional-catch-binding@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz" - integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== +"@babel/plugin-transform-react-jsx-development@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz#47ff95940e20a3a70e68ad3d4fcb657b647f6c98" + integrity sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-transform-react-jsx" "^7.27.1" -"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz" - integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== +"@babel/plugin-transform-react-jsx@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz#1023bc94b78b0a2d68c82b5e96aed573bcfb9db0" + integrity sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-syntax-jsx" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/plugin-transform-optional-chaining@^7.24.1", "@babel/plugin-transform-optional-chaining@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz" - integrity sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg== +"@babel/plugin-transform-react-pure-annotations@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz#339f1ce355eae242e0649f232b1c68907c02e879" + integrity sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-parameters@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz" - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== +"@babel/plugin-transform-regenerator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.1.tgz#0a471df9213416e44cd66bf67176b66f65768401" + integrity sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-parameters@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz" - integrity sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA== +"@babel/plugin-transform-regexp-modifiers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz#df9ba5577c974e3f1449888b70b76169998a6d09" + integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-private-methods@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz" - integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== +"@babel/plugin-transform-reserved-words@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4" + integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-private-methods@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz" - integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== +"@babel/plugin-transform-runtime@^7.25.9": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.27.1.tgz#f9fbf71949a209eb26b3e60375b1d956937b8be9" + integrity sha512-TqGF3desVsTcp3WrJGj4HfKokfCXCLcHpt4PJF0D8/iT6LPd9RS82Upw3KPeyr6B22Lfd3DO8MVrmp0oRkUDdw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.11.0" + babel-plugin-polyfill-regenerator "^0.6.1" + semver "^6.3.1" -"@babel/plugin-transform-private-property-in-object@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz" - integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" +"@babel/plugin-transform-shorthand-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90" + integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-spread@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08" + integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + +"@babel/plugin-transform-sticky-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280" + integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-template-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8" + integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-typeof-symbol@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369" + integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-typescript@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.1.tgz#d3bb65598bece03f773111e88cc4e8e5070f1140" + integrity sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/plugin-syntax-typescript" "^7.27.1" + +"@babel/plugin-transform-unicode-escapes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806" + integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-unicode-property-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz#bdfe2d3170c78c5691a3c3be934c8c0087525956" + integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-unicode-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97" + integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-unicode-sets-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz#6ab706d10f801b5c72da8bb2548561fa04193cd1" + integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.25.9": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.27.2.tgz#106e6bfad92b591b1f6f76fd4cf13b7725a7bf9a" + integrity sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ== + dependencies: + "@babel/compat-data" "^7.27.2" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.27.1" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions" "^7.27.1" + "@babel/plugin-syntax-import-attributes" "^7.27.1" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.27.1" + "@babel/plugin-transform-async-generator-functions" "^7.27.1" + "@babel/plugin-transform-async-to-generator" "^7.27.1" + "@babel/plugin-transform-block-scoped-functions" "^7.27.1" + "@babel/plugin-transform-block-scoping" "^7.27.1" + "@babel/plugin-transform-class-properties" "^7.27.1" + "@babel/plugin-transform-class-static-block" "^7.27.1" + "@babel/plugin-transform-classes" "^7.27.1" + "@babel/plugin-transform-computed-properties" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.27.1" + "@babel/plugin-transform-dotall-regex" "^7.27.1" + "@babel/plugin-transform-duplicate-keys" "^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1" + "@babel/plugin-transform-dynamic-import" "^7.27.1" + "@babel/plugin-transform-exponentiation-operator" "^7.27.1" + "@babel/plugin-transform-export-namespace-from" "^7.27.1" + "@babel/plugin-transform-for-of" "^7.27.1" + "@babel/plugin-transform-function-name" "^7.27.1" + "@babel/plugin-transform-json-strings" "^7.27.1" + "@babel/plugin-transform-literals" "^7.27.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.27.1" + "@babel/plugin-transform-member-expression-literals" "^7.27.1" + "@babel/plugin-transform-modules-amd" "^7.27.1" + "@babel/plugin-transform-modules-commonjs" "^7.27.1" + "@babel/plugin-transform-modules-systemjs" "^7.27.1" + "@babel/plugin-transform-modules-umd" "^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1" + "@babel/plugin-transform-new-target" "^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1" + "@babel/plugin-transform-numeric-separator" "^7.27.1" + "@babel/plugin-transform-object-rest-spread" "^7.27.2" + "@babel/plugin-transform-object-super" "^7.27.1" + "@babel/plugin-transform-optional-catch-binding" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" + "@babel/plugin-transform-parameters" "^7.27.1" + "@babel/plugin-transform-private-methods" "^7.27.1" + "@babel/plugin-transform-private-property-in-object" "^7.27.1" + "@babel/plugin-transform-property-literals" "^7.27.1" + "@babel/plugin-transform-regenerator" "^7.27.1" + "@babel/plugin-transform-regexp-modifiers" "^7.27.1" + "@babel/plugin-transform-reserved-words" "^7.27.1" + "@babel/plugin-transform-shorthand-properties" "^7.27.1" + "@babel/plugin-transform-spread" "^7.27.1" + "@babel/plugin-transform-sticky-regex" "^7.27.1" + "@babel/plugin-transform-template-literals" "^7.27.1" + "@babel/plugin-transform-typeof-symbol" "^7.27.1" + "@babel/plugin-transform-unicode-escapes" "^7.27.1" + "@babel/plugin-transform-unicode-property-regex" "^7.27.1" + "@babel/plugin-transform-unicode-regex" "^7.27.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.27.1" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.11.0" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.40.0" + semver "^6.3.1" -"@babel/plugin-transform-private-property-in-object@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz" - integrity sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ== +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.24.5" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" -"@babel/plugin-transform-property-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz" - integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== +"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.25.9": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.27.1.tgz#86ea0a5ca3984663f744be2fd26cb6747c3fd0ec" + integrity sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-transform-react-display-name" "^7.27.1" + "@babel/plugin-transform-react-jsx" "^7.27.1" + "@babel/plugin-transform-react-jsx-development" "^7.27.1" + "@babel/plugin-transform-react-pure-annotations" "^7.27.1" + +"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.25.9": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz#190742a6428d282306648a55b0529b561484f912" + integrity sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-syntax-jsx" "^7.27.1" + "@babel/plugin-transform-modules-commonjs" "^7.27.1" + "@babel/plugin-transform-typescript" "^7.27.1" + +"@babel/runtime-corejs3@^7.25.9": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.27.1.tgz#386c7a737dd893da056f6c7972526e827020b47d" + integrity sha512-909rVuj3phpjW6y0MCXAZ5iNeORePa6ldJvp2baWGcTjwqbBDDz6xoS5JHJ7lS88NlwLYj07ImL/8IUMtDZzTA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + core-js-pure "^3.30.2" -"@babel/plugin-transform-property-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz" - integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.25.9": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.1.tgz#9fce313d12c9a77507f264de74626e87fd0dc541" + integrity sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog== + +"@babel/template@^7.27.1": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" + integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/parser" "^7.27.2" + "@babel/types" "^7.27.1" + +"@babel/traverse@^7.25.9", "@babel/traverse@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.1.tgz#4db772902b133bbddd1c4f7a7ee47761c1b9f291" + integrity sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.1" + "@babel/parser" "^7.27.1" + "@babel/template" "^7.27.1" + "@babel/types" "^7.27.1" + debug "^4.3.1" + globals "^11.1.0" -"@babel/plugin-transform-react-constant-elements@^7.18.12": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz" - integrity sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw== +"@babel/types@^7.21.3", "@babel/types@^7.27.1", "@babel/types@^7.4.4": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.1.tgz#9defc53c16fc899e46941fc6901a9eea1c9d8560" + integrity sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" -"@babel/plugin-transform-react-constant-elements@^7.21.3": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz" - integrity sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@babel/plugin-transform-react-display-name@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz" - integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" +"@csstools/cascade-layer-name-parser@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.4.tgz#64d128529397aa1e1c986f685713363b262b81b1" + integrity sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA== -"@babel/plugin-transform-react-jsx-development@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz" - integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.22.5" +"@csstools/color-helpers@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-5.0.2.tgz#82592c9a7c2b83c293d9161894e2a6471feb97b8" + integrity sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA== -"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz" - integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/types" "^7.23.4" +"@csstools/css-calc@^2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-2.1.3.tgz#6f68affcb569a86b91965e8622d644be35a08423" + integrity sha512-XBG3talrhid44BY1x3MHzUx/aTG8+x/Zi57M4aTKK9RFB4aLlF3TTSzfzn8nWVHWL3FgAXAxmupmDd6VWww+pw== -"@babel/plugin-transform-react-pure-annotations@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz" - integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== +"@csstools/css-color-parser@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-3.0.9.tgz#8d81b77d6f211495b5100ec4cad4c8828de49f6b" + integrity sha512-wILs5Zk7BU86UArYBJTPy/FMPPKVKHMj1ycCEyf3VUptol0JNRLFU/BZsJ4aiIHJEbSLiizzRrw8Pc1uAEDrXw== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@csstools/color-helpers" "^5.0.2" + "@csstools/css-calc" "^2.1.3" -"@babel/plugin-transform-regenerator@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz" - integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.2" +"@csstools/css-parser-algorithms@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz#74426e93bd1c4dcab3e441f5cc7ba4fb35d94356" + integrity sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A== -"@babel/plugin-transform-regenerator@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz" - integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - regenerator-transform "^0.15.2" +"@csstools/css-tokenizer@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz#a5502c8539265fecbd873c1e395a890339f119c2" + integrity sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw== -"@babel/plugin-transform-reserved-words@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz" - integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" +"@csstools/media-query-list-parser@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz#e80e17eba1693fceafb8d6f2cfc68c0e7a9ab78a" + integrity sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A== -"@babel/plugin-transform-reserved-words@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz" - integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== +"@csstools/postcss-cascade-layers@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.1.tgz#9640313e64b5e39133de7e38a5aa7f40dc259597" + integrity sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ== + dependencies: + "@csstools/selector-specificity" "^5.0.0" + postcss-selector-parser "^7.0.0" + +"@csstools/postcss-color-function@^4.0.9": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-4.0.9.tgz#67080c6b4635926d68cc9c8f52261b87ece70bf8" + integrity sha512-2UeQCGMO5+EeQsPQK2DqXp0dad+P6nIz6G2dI06APpBuYBKxZEq7CTH+UiztFQ8cB1f89dnO9+D/Kfr+JfI2hw== + dependencies: + "@csstools/css-color-parser" "^3.0.9" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-color-mix-function@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.9.tgz#103858388ba4d2c589daeecb02f9f05baecc27d0" + integrity sha512-Enj7ZIIkLD7zkGCN31SZFx4H1gKiCs2Y4taBo/v/cqaHN7p1qGrf5UTMNSjQFZ7MgClGufHx4pddwFTGL+ipug== + dependencies: + "@csstools/css-color-parser" "^3.0.9" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-content-alt-text@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.5.tgz#86b195bef6ce32179a68011b87212a3e4e73b84a" + integrity sha512-9BOS535v6YmyOYk32jAHXeddRV+iyd4vRcbrEekpwxmueAXX5J8WgbceFnE4E4Pmw/ysnB9v+n/vSWoFmcLMcA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/utilities" "^2.0.0" -"@babel/plugin-transform-runtime@^7.22.9": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz" - integrity sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ== +"@csstools/postcss-exponential-functions@^2.0.8": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.8.tgz#da6b3673fcb48a78294d39d6afc1e4da45dedada" + integrity sha512-vHgDXtGIBPpFQnFNDftMQg4MOuXcWnK91L/7REjBNYzQ/p2Fa/6RcnehTqCRrNtQ46PNIolbRsiDdDuxiHolwQ== dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.8" - babel-plugin-polyfill-corejs3 "^0.9.0" - babel-plugin-polyfill-regenerator "^0.5.5" - semver "^6.3.1" + "@csstools/css-calc" "^2.1.3" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" -"@babel/plugin-transform-shorthand-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz" - integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== +"@csstools/postcss-font-format-keywords@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz#6730836eb0153ff4f3840416cc2322f129c086e6" + integrity sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" -"@babel/plugin-transform-shorthand-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz" - integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== +"@csstools/postcss-gamut-mapping@^2.0.9": + version "2.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.9.tgz#83b08d302865ce6fc3127589ff6658fe32635636" + integrity sha512-quksIsFm3DGsf8Qbr9KiSGBF2w3RwxSfOfma5wbORDB1AFF15r4EVW7sUuWw3s5IAEGMqzel/dE2rQsI7Yb8mA== + dependencies: + "@csstools/css-color-parser" "^3.0.9" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + +"@csstools/postcss-gradients-interpolation-method@^5.0.9": + version "5.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.9.tgz#e2e1c59b08e7524c269bb4cac91618f95b9c849e" + integrity sha512-duqTeUHF4ambUybAmhX9KonkicLM/WNp2JjMUbegRD4O8A/tb6fdZ7jUNdp/UUiO1FIdDkMwmNw6856bT0XF8Q== + dependencies: + "@csstools/css-color-parser" "^3.0.9" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-hwb-function@^4.0.9": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.9.tgz#4abca35a88a382e211fc0abe125a8ce7bb07030b" + integrity sha512-sDpdPsoGAhYl/PMSYfu5Ez82wXb2bVkg1Cb8vsRLhpXhAk4OSlsJN+GodAql6tqc1B2G/WToxsFU6G74vkhPvA== + dependencies: + "@csstools/css-color-parser" "^3.0.9" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-ic-unit@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.1.tgz#7b67b49d85713d8bad70ee5735f409b19fd906f9" + integrity sha512-lECc38i1w3qU9nhrUhP6F8y4BfcQJkR1cb8N6tZNf2llM6zPkxnqt04jRCwsUgNcB3UGKDy+zLenhOYGHqCV+Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" -"@babel/plugin-transform-spread@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz" - integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" +"@csstools/postcss-initial@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz#c385bd9d8ad31ad159edd7992069e97ceea4d09a" + integrity sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg== -"@babel/plugin-transform-spread@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz" - integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== +"@csstools/postcss-is-pseudo-class@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.1.tgz#12041448fedf01090dd4626022c28b7f7623f58e" + integrity sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@csstools/selector-specificity" "^5.0.0" + postcss-selector-parser "^7.0.0" -"@babel/plugin-transform-sticky-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz" - integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== +"@csstools/postcss-light-dark-function@^2.0.8": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.8.tgz#bac218338f458f9a3f05edcc94ab009def14a532" + integrity sha512-v8VU5WtrZIyEtk88WB4fkG22TGd8HyAfSFfZZQ1uNN0+arMJdZc++H3KYTfbYDpJRGy8GwADYH8ySXiILn+OyA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/utilities" "^2.0.0" -"@babel/plugin-transform-sticky-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz" - integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" +"@csstools/postcss-logical-float-and-clear@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz#62617564182cf86ab5d4e7485433ad91e4c58571" + integrity sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ== -"@babel/plugin-transform-template-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz" - integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" +"@csstools/postcss-logical-overflow@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz#c6de7c5f04e3d4233731a847f6c62819bcbcfa1d" + integrity sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA== -"@babel/plugin-transform-template-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz" - integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" +"@csstools/postcss-logical-overscroll-behavior@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz#43c03eaecdf34055ef53bfab691db6dc97a53d37" + integrity sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w== -"@babel/plugin-transform-typeof-symbol@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz" - integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== +"@csstools/postcss-logical-resize@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz#4df0eeb1a61d7bd85395e56a5cce350b5dbfdca6" + integrity sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + postcss-value-parser "^4.2.0" -"@babel/plugin-transform-typeof-symbol@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz" - integrity sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg== +"@csstools/postcss-logical-viewport-units@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.3.tgz#f6cc63520ca2a6eb76b9cd946070c38dda66d733" + integrity sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/utilities" "^2.0.0" -"@babel/plugin-transform-typescript@^7.23.3": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz" - integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== +"@csstools/postcss-media-minmax@^2.0.8": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.8.tgz#b5397f18531c54ac0c12cbf20b6bf93208bd5d16" + integrity sha512-Skum5wIXw2+NyCQWUyfstN3c1mfSh39DRAo+Uh2zzXOglBG8xB9hnArhYFScuMZkzeM+THVa//mrByKAfumc7w== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-typescript" "^7.23.3" + "@csstools/css-calc" "^2.1.3" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/media-query-list-parser" "^4.0.2" -"@babel/plugin-transform-typescript@^7.24.1": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz" - integrity sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw== +"@csstools/postcss-media-queries-aspect-ratio-number-values@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.4.tgz#d71102172c74baf3f892fac88cf1ea46a961600d" + integrity sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.24.5" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/plugin-syntax-typescript" "^7.24.1" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/media-query-list-parser" "^4.0.2" -"@babel/plugin-transform-unicode-escapes@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz" - integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== +"@csstools/postcss-nested-calc@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz#754e10edc6958d664c11cde917f44ba144141c62" + integrity sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" -"@babel/plugin-transform-unicode-escapes@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz" - integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== +"@csstools/postcss-normalize-display-values@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz#ecdde2daf4e192e5da0c6fd933b6d8aff32f2a36" + integrity sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + postcss-value-parser "^4.2.0" -"@babel/plugin-transform-unicode-property-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz" - integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== +"@csstools/postcss-oklab-function@^4.0.9": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.9.tgz#21d8846b3fe632d663b8cfe5d1fa2ccdd3f0709a" + integrity sha512-UHrnujimwtdDw8BYDcWJtBXuJ13uc/BjAddPdfMc/RsWxhg8gG8UbvTF0tnMtHrZ4i7lwy85fPEzK1AiykMyRA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@csstools/css-color-parser" "^3.0.9" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/utilities" "^2.0.0" -"@babel/plugin-transform-unicode-property-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz" - integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== +"@csstools/postcss-progressive-custom-properties@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.0.1.tgz#487e619d2577358cb08ed7319dd203d4d5db5bb6" + integrity sha512-Ofz81HaY8mmbP8/Qr3PZlUzjsyV5WuxWmvtYn+jhYGvvjFazTmN9R2io5W5znY1tyk2CA9uM0IPWyY4ygDytCw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" + postcss-value-parser "^4.2.0" -"@babel/plugin-transform-unicode-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz" - integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== +"@csstools/postcss-random-function@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-random-function/-/postcss-random-function-2.0.0.tgz#38da06d102bbe65504023278f670895c4a1ceef9" + integrity sha512-MYZKxSr4AKfjECL8vg49BbfNNzK+t3p2OWX+Xf7rXgMaTP44oy/e8VGWu4MLnJ3NUd9tFVkisLO/sg+5wMTNsg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@csstools/css-calc" "^2.1.3" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" -"@babel/plugin-transform-unicode-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz" - integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== +"@csstools/postcss-relative-color-syntax@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.9.tgz#1075eda90bb2a59f30bed94605def0a99cad3040" + integrity sha512-+AGOcLF5PmMnTRPnOdCvY7AwvD5veIOhTWbJV6vC3hB1tt0ii/k6QOwhWfsGGg1ZPQ0JY15u+wqLR4ZTtB0luA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" + "@csstools/css-color-parser" "^3.0.9" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/utilities" "^2.0.0" -"@babel/plugin-transform-unicode-sets-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz" - integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== +"@csstools/postcss-scope-pseudo-class@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz#9fe60e9d6d91d58fb5fc6c768a40f6e47e89a235" + integrity sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + postcss-selector-parser "^7.0.0" -"@babel/plugin-transform-unicode-sets-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz" - integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== +"@csstools/postcss-sign-functions@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.3.tgz#ba64c7a6e25f50221a2f37fac5d7592917245781" + integrity sha512-4F4GRhj8xNkBtLZ+3ycIhReaDfKJByXI+cQGIps3AzCO8/CJOeoDPxpMnL5vqZrWKOceSATHEQJUO/Q/r2y7OQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" + "@csstools/css-calc" "^2.1.3" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" -"@babel/preset-env@^7.19.4", "@babel/preset-env@^7.22.9": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz" - integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== +"@csstools/postcss-stepped-value-functions@^4.0.8": + version "4.0.8" + resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.8.tgz#345f5620cbeb0e9742f242e1dc6c88a051ce6700" + integrity sha512-6Y4yhL4fNhgzbZ/wUMQ4EjFUfoNNMpEXZnDw1JrlcEBHUT15gplchtFsZGk7FNi8PhLHJfCUwVKrEHzhfhKK+g== dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.23.3" - "@babel/plugin-syntax-import-attributes" "^7.23.3" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.23.3" - "@babel/plugin-transform-async-generator-functions" "^7.23.9" - "@babel/plugin-transform-async-to-generator" "^7.23.3" - "@babel/plugin-transform-block-scoped-functions" "^7.23.3" - "@babel/plugin-transform-block-scoping" "^7.23.4" - "@babel/plugin-transform-class-properties" "^7.23.3" - "@babel/plugin-transform-class-static-block" "^7.23.4" - "@babel/plugin-transform-classes" "^7.23.8" - "@babel/plugin-transform-computed-properties" "^7.23.3" - "@babel/plugin-transform-destructuring" "^7.23.3" - "@babel/plugin-transform-dotall-regex" "^7.23.3" - "@babel/plugin-transform-duplicate-keys" "^7.23.3" - "@babel/plugin-transform-dynamic-import" "^7.23.4" - "@babel/plugin-transform-exponentiation-operator" "^7.23.3" - "@babel/plugin-transform-export-namespace-from" "^7.23.4" - "@babel/plugin-transform-for-of" "^7.23.6" - "@babel/plugin-transform-function-name" "^7.23.3" - "@babel/plugin-transform-json-strings" "^7.23.4" - "@babel/plugin-transform-literals" "^7.23.3" - "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" - "@babel/plugin-transform-member-expression-literals" "^7.23.3" - "@babel/plugin-transform-modules-amd" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-modules-systemjs" "^7.23.9" - "@babel/plugin-transform-modules-umd" "^7.23.3" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.23.3" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" - "@babel/plugin-transform-numeric-separator" "^7.23.4" - "@babel/plugin-transform-object-rest-spread" "^7.23.4" - "@babel/plugin-transform-object-super" "^7.23.3" - "@babel/plugin-transform-optional-catch-binding" "^7.23.4" - "@babel/plugin-transform-optional-chaining" "^7.23.4" - "@babel/plugin-transform-parameters" "^7.23.3" - "@babel/plugin-transform-private-methods" "^7.23.3" - "@babel/plugin-transform-private-property-in-object" "^7.23.4" - "@babel/plugin-transform-property-literals" "^7.23.3" - "@babel/plugin-transform-regenerator" "^7.23.3" - "@babel/plugin-transform-reserved-words" "^7.23.3" - "@babel/plugin-transform-shorthand-properties" "^7.23.3" - "@babel/plugin-transform-spread" "^7.23.3" - "@babel/plugin-transform-sticky-regex" "^7.23.3" - "@babel/plugin-transform-template-literals" "^7.23.3" - "@babel/plugin-transform-typeof-symbol" "^7.23.3" - "@babel/plugin-transform-unicode-escapes" "^7.23.3" - "@babel/plugin-transform-unicode-property-regex" "^7.23.3" - "@babel/plugin-transform-unicode-regex" "^7.23.3" - "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.8" - babel-plugin-polyfill-corejs3 "^0.9.0" - babel-plugin-polyfill-regenerator "^0.5.5" - core-js-compat "^3.31.0" - semver "^6.3.1" - -"@babel/preset-env@^7.20.2": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz" - integrity sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ== - dependencies: - "@babel/compat-data" "^7.24.4" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.24.1" - "@babel/plugin-syntax-import-attributes" "^7.24.1" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.24.1" - "@babel/plugin-transform-async-generator-functions" "^7.24.3" - "@babel/plugin-transform-async-to-generator" "^7.24.1" - "@babel/plugin-transform-block-scoped-functions" "^7.24.1" - "@babel/plugin-transform-block-scoping" "^7.24.5" - "@babel/plugin-transform-class-properties" "^7.24.1" - "@babel/plugin-transform-class-static-block" "^7.24.4" - "@babel/plugin-transform-classes" "^7.24.5" - "@babel/plugin-transform-computed-properties" "^7.24.1" - "@babel/plugin-transform-destructuring" "^7.24.5" - "@babel/plugin-transform-dotall-regex" "^7.24.1" - "@babel/plugin-transform-duplicate-keys" "^7.24.1" - "@babel/plugin-transform-dynamic-import" "^7.24.1" - "@babel/plugin-transform-exponentiation-operator" "^7.24.1" - "@babel/plugin-transform-export-namespace-from" "^7.24.1" - "@babel/plugin-transform-for-of" "^7.24.1" - "@babel/plugin-transform-function-name" "^7.24.1" - "@babel/plugin-transform-json-strings" "^7.24.1" - "@babel/plugin-transform-literals" "^7.24.1" - "@babel/plugin-transform-logical-assignment-operators" "^7.24.1" - "@babel/plugin-transform-member-expression-literals" "^7.24.1" - "@babel/plugin-transform-modules-amd" "^7.24.1" - "@babel/plugin-transform-modules-commonjs" "^7.24.1" - "@babel/plugin-transform-modules-systemjs" "^7.24.1" - "@babel/plugin-transform-modules-umd" "^7.24.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.24.1" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" - "@babel/plugin-transform-numeric-separator" "^7.24.1" - "@babel/plugin-transform-object-rest-spread" "^7.24.5" - "@babel/plugin-transform-object-super" "^7.24.1" - "@babel/plugin-transform-optional-catch-binding" "^7.24.1" - "@babel/plugin-transform-optional-chaining" "^7.24.5" - "@babel/plugin-transform-parameters" "^7.24.5" - "@babel/plugin-transform-private-methods" "^7.24.1" - "@babel/plugin-transform-private-property-in-object" "^7.24.5" - "@babel/plugin-transform-property-literals" "^7.24.1" - "@babel/plugin-transform-regenerator" "^7.24.1" - "@babel/plugin-transform-reserved-words" "^7.24.1" - "@babel/plugin-transform-shorthand-properties" "^7.24.1" - "@babel/plugin-transform-spread" "^7.24.1" - "@babel/plugin-transform-sticky-regex" "^7.24.1" - "@babel/plugin-transform-template-literals" "^7.24.1" - "@babel/plugin-transform-typeof-symbol" "^7.24.5" - "@babel/plugin-transform-unicode-escapes" "^7.24.1" - "@babel/plugin-transform-unicode-property-regex" "^7.24.1" - "@babel/plugin-transform-unicode-regex" "^7.24.1" - "@babel/plugin-transform-unicode-sets-regex" "^7.24.1" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.4" - babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.31.0" - semver "^6.3.1" + "@csstools/css-calc" "^2.1.3" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" -"@babel/preset-modules@0.1.6-no-external-plugins": - version "0.1.6-no-external-plugins" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" - integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== +"@csstools/postcss-text-decoration-shorthand@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.2.tgz#a3bcf80492e6dda36477538ab8e8943908c9f80a" + integrity sha512-8XvCRrFNseBSAGxeaVTaNijAu+FzUvjwFXtcrynmazGb/9WUdsPCpBX+mHEHShVRq47Gy4peYAoxYs8ltUnmzA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/types" "^7.4.4" - esutils "^2.0.2" + "@csstools/color-helpers" "^5.0.2" + postcss-value-parser "^4.2.0" -"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.22.5": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz" - integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== +"@csstools/postcss-trigonometric-functions@^4.0.8": + version "4.0.8" + resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.8.tgz#ad7940798fafadc77846e9ca47e2b594515d4f60" + integrity sha512-YcDvYTRu7f78/91B6bX+mE1WoAO91Su7/8KSRpuWbIGUB8hmaNSRu9wziaWSLJ1lOB1aQe+bvo9BIaLKqPOo/g== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-react-display-name" "^7.23.3" - "@babel/plugin-transform-react-jsx" "^7.22.15" - "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.23.3" + "@csstools/css-calc" "^2.1.3" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" -"@babel/preset-typescript@^7.18.6", "@babel/preset-typescript@^7.22.5": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz" - integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-typescript" "^7.23.3" - -"@babel/preset-typescript@^7.21.0": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz" - integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-syntax-jsx" "^7.24.1" - "@babel/plugin-transform-modules-commonjs" "^7.24.1" - "@babel/plugin-transform-typescript" "^7.24.1" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== +"@csstools/postcss-unset-value@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz#7caa981a34196d06a737754864baf77d64de4bba" + integrity sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA== -"@babel/runtime-corejs3@^7.22.6": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.9.tgz" - integrity sha512-oeOFTrYWdWXCvXGB5orvMTJ6gCZ9I6FBjR+M38iKNXCsPxr4xT0RTdg5uz1H7QP8pp74IzPtwritEr+JscqHXQ== - dependencies: - core-js-pure "^3.30.2" - regenerator-runtime "^0.14.0" - -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.8.4": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz" - integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz" - integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/traverse@^7.22.8", "@babel/traverse@^7.25.9": - version "7.26.4" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz" - integrity sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.3" - "@babel/parser" "^7.26.3" - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.3" - debug "^4.3.1" - globals "^11.1.0" +"@csstools/selector-resolve-nested@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.0.0.tgz#704a9b637975680e025e069a4c58b3beb3e2752a" + integrity sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ== -"@babel/types@^7.20.0", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.5", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.3", "@babel/types@^7.4.4": - version "7.26.3" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz" - integrity sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" +"@csstools/selector-specificity@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz#037817b574262134cabd68fc4ec1a454f168407b" + integrity sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw== -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== +"@csstools/utilities@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@csstools/utilities/-/utilities-2.0.0.tgz#f7ff0fee38c9ffb5646d47b6906e0bc8868bde60" + integrity sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ== "@discoveryjs/json-ext@0.5.7": version "0.5.7" - resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@3.5.2": - version "3.5.2" - resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz" - integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA== +"@docsearch/css@3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.9.0.tgz#3bc29c96bf024350d73b0cfb7c2a7b71bf251cd5" + integrity sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA== -"@docsearch/react@^3.5.2": - version "3.5.2" - resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz" - integrity sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng== +"@docsearch/react@^3.8.1": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.9.0.tgz#d0842b700c3ee26696786f3c8ae9f10c1a3f0db3" + integrity sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ== dependencies: - "@algolia/autocomplete-core" "1.9.3" - "@algolia/autocomplete-preset-algolia" "1.9.3" - "@docsearch/css" "3.5.2" - algoliasearch "^4.19.1" + "@algolia/autocomplete-core" "1.17.9" + "@algolia/autocomplete-preset-algolia" "1.17.9" + "@docsearch/css" "3.9.0" + algoliasearch "^5.14.2" -"@docusaurus/core@3.4.0", "@docusaurus/core@^3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz" - integrity sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w== +"@docusaurus/babel@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/babel/-/babel-3.7.0.tgz#770dd5da525a9d6a2fee7d3212ec62040327f776" + integrity sha512-0H5uoJLm14S/oKV3Keihxvh8RV+vrid+6Gv+2qhuzbqHanawga8tYnsdpjEyt36ucJjqlby2/Md2ObWjA02UXQ== dependencies: - "@babel/core" "^7.23.3" - "@babel/generator" "^7.23.3" + "@babel/core" "^7.25.9" + "@babel/generator" "^7.25.9" "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-transform-runtime" "^7.22.9" - "@babel/preset-env" "^7.22.9" - "@babel/preset-react" "^7.22.5" - "@babel/preset-typescript" "^7.22.5" - "@babel/runtime" "^7.22.6" - "@babel/runtime-corejs3" "^7.22.6" - "@babel/traverse" "^7.22.8" - "@docusaurus/cssnano-preset" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - autoprefixer "^10.4.14" - babel-loader "^9.1.3" + "@babel/plugin-transform-runtime" "^7.25.9" + "@babel/preset-env" "^7.25.9" + "@babel/preset-react" "^7.25.9" + "@babel/preset-typescript" "^7.25.9" + "@babel/runtime" "^7.25.9" + "@babel/runtime-corejs3" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@docusaurus/logger" "3.7.0" + "@docusaurus/utils" "3.7.0" babel-plugin-dynamic-import-node "^2.3.3" + fs-extra "^11.1.1" + tslib "^2.6.0" + +"@docusaurus/bundler@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/bundler/-/bundler-3.7.0.tgz#d8e7867b3b2c43a1e320ed429f8dfe873c38506d" + integrity sha512-CUUT9VlSGukrCU5ctZucykvgCISivct+cby28wJwCC/fkQFgAHRp/GKv2tx38ZmXb7nacrKzFTcp++f9txUYGg== + dependencies: + "@babel/core" "^7.25.9" + "@docusaurus/babel" "3.7.0" + "@docusaurus/cssnano-preset" "3.7.0" + "@docusaurus/logger" "3.7.0" + "@docusaurus/types" "3.7.0" + "@docusaurus/utils" "3.7.0" + babel-loader "^9.2.1" + clean-css "^5.3.2" + copy-webpack-plugin "^11.0.0" + css-loader "^6.8.1" + css-minimizer-webpack-plugin "^5.0.1" + cssnano "^6.1.2" + file-loader "^6.2.0" + html-minifier-terser "^7.2.0" + mini-css-extract-plugin "^2.9.1" + null-loader "^4.0.1" + postcss "^8.4.26" + postcss-loader "^7.3.3" + postcss-preset-env "^10.1.0" + react-dev-utils "^12.0.1" + terser-webpack-plugin "^5.3.9" + tslib "^2.6.0" + url-loader "^4.1.1" + webpack "^5.95.0" + webpackbar "^6.0.1" + +"@docusaurus/core@3.7.0", "@docusaurus/core@^3.4.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.7.0.tgz#e871586d099093723dfe6de81c1ce610aeb20292" + integrity sha512-b0fUmaL+JbzDIQaamzpAFpTviiaU4cX3Qz8cuo14+HGBCwa0evEK0UYCBFY3n4cLzL8Op1BueeroUD2LYAIHbQ== + dependencies: + "@docusaurus/babel" "3.7.0" + "@docusaurus/bundler" "3.7.0" + "@docusaurus/logger" "3.7.0" + "@docusaurus/mdx-loader" "3.7.0" + "@docusaurus/utils" "3.7.0" + "@docusaurus/utils-common" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" boxen "^6.2.1" chalk "^4.1.2" chokidar "^3.5.3" - clean-css "^5.3.2" cli-table3 "^0.6.3" combine-promises "^1.1.0" commander "^5.1.0" - copy-webpack-plugin "^11.0.0" core-js "^3.31.1" - css-loader "^6.8.1" - css-minimizer-webpack-plugin "^5.0.1" - cssnano "^6.1.2" del "^6.1.1" detect-port "^1.5.1" escape-html "^1.0.3" eta "^2.2.0" eval "^0.1.8" - file-loader "^6.2.0" fs-extra "^11.1.1" - html-minifier-terser "^7.2.0" html-tags "^3.3.1" - html-webpack-plugin "^5.5.3" + html-webpack-plugin "^5.6.0" leven "^3.1.0" lodash "^4.17.21" - mini-css-extract-plugin "^2.7.6" p-map "^4.0.0" - postcss "^8.4.26" - postcss-loader "^7.3.3" prompts "^2.4.2" react-dev-utils "^12.0.1" - react-helmet-async "^1.3.0" + react-helmet-async "npm:@slorber/react-helmet-async@1.3.0" react-loadable "npm:@docusaurus/react-loadable@6.0.0" react-loadable-ssr-addon-v5-slorber "^1.0.1" react-router "^5.3.4" react-router-config "^5.1.1" react-router-dom "^5.3.4" - rtl-detect "^1.0.4" semver "^7.5.4" - serve-handler "^6.1.5" + serve-handler "^6.1.6" shelljs "^0.8.5" - terser-webpack-plugin "^5.3.9" tslib "^2.6.0" update-notifier "^6.0.2" - url-loader "^4.1.1" - webpack "^5.88.1" - webpack-bundle-analyzer "^4.9.0" - webpack-dev-server "^4.15.1" - webpack-merge "^5.9.0" - webpackbar "^5.0.2" + webpack "^5.95.0" + webpack-bundle-analyzer "^4.10.2" + webpack-dev-server "^4.15.2" + webpack-merge "^6.0.1" -"@docusaurus/cssnano-preset@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz" - integrity sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ== +"@docusaurus/cssnano-preset@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.7.0.tgz#8fe8f2c3acbd32384b69e14983b9a63c98cae34e" + integrity sha512-X9GYgruZBSOozg4w4dzv9uOz8oK/EpPVQXkp0MM6Tsgp/nRIU9hJzJ0Pxg1aRa3xCeEQTOimZHcocQFlLwYajQ== dependencies: cssnano-preset-advanced "^6.1.2" postcss "^8.4.38" postcss-sort-media-queries "^5.2.0" tslib "^2.6.0" -"@docusaurus/logger@3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.1.1.tgz" - integrity sha512-BjkNDpQzewcTnST8trx4idSoAla6zZ3w22NqM/UMcFtvYJgmoE4layuTzlfql3VFPNuivvj7BOExa/+21y4X2Q== - dependencies: - chalk "^4.1.2" - tslib "^2.6.0" - -"@docusaurus/logger@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.4.0.tgz" - integrity sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q== +"@docusaurus/logger@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.7.0.tgz#07ecc2f460c4d2382df4991f9ce4e348e90af04c" + integrity sha512-z7g62X7bYxCYmeNNuO9jmzxLQG95q9QxINCwpboVcNff3SJiHJbGrarxxOVMVmAh1MsrSfxWkVGv4P41ktnFsA== dependencies: chalk "^4.1.2" tslib "^2.6.0" -"@docusaurus/mdx-loader@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz" - integrity sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw== +"@docusaurus/mdx-loader@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.7.0.tgz#5890c6e7a5b68cb1d066264ac5290cdcd59d4ecc" + integrity sha512-OFBG6oMjZzc78/U3WNPSHs2W9ZJ723ewAcvVJaqS0VgyeUfmzUV8f1sv+iUHA0DtwiR5T5FjOxj6nzEE8LY6VA== dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" + "@docusaurus/logger" "3.7.0" + "@docusaurus/utils" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" "@mdx-js/mdx" "^3.0.0" "@slorber/remark-comment" "^1.0.0" escape-html "^1.0.3" @@ -1937,60 +1538,48 @@ vfile "^6.0.1" webpack "^5.88.1" -"@docusaurus/module-type-aliases@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz" - integrity sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw== - dependencies: - "@docusaurus/types" "3.4.0" - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router-config" "*" - "@types/react-router-dom" "*" - react-helmet-async "*" - react-loadable "npm:@docusaurus/react-loadable@6.0.0" - -"@docusaurus/module-type-aliases@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.3.2.tgz" - integrity sha512-b/XB0TBJah5yKb4LYuJT4buFvL0MGAb0+vJDrJtlYMguRtsEBkf2nWl5xP7h4Dlw6ol0hsHrCYzJ50kNIOEclw== +"@docusaurus/module-type-aliases@3.7.0", "@docusaurus/module-type-aliases@^3.3.2": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.7.0.tgz#15c0745b829c6966c5b3b2c2527c72b54830b0e5" + integrity sha512-g7WdPqDNaqA60CmBrr0cORTrsOit77hbsTj7xE2l71YhBn79sxdm7WMK7wfhcaafkbpIh7jv5ef5TOpf1Xv9Lg== dependencies: - "@docusaurus/types" "3.3.2" + "@docusaurus/types" "3.7.0" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" "@types/react-router-dom" "*" - react-helmet-async "*" + react-helmet-async "npm:@slorber/react-helmet-async@*" react-loadable "npm:@docusaurus/react-loadable@6.0.0" "@docusaurus/plugin-client-redirects@^3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz" - integrity sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.7.0.tgz#b5cf92529768c457c01ad350bfc50862c6149463" + integrity sha512-6B4XAtE5ZVKOyhPgpgMkb7LwCkN+Hgd4vOnlbwR8nCdTQhLjz8MHbGlwwvZ/cay2SPNRX5KssqKAlcHVZP2m8g== + dependencies: + "@docusaurus/core" "3.7.0" + "@docusaurus/logger" "3.7.0" + "@docusaurus/utils" "3.7.0" + "@docusaurus/utils-common" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" eta "^2.2.0" fs-extra "^11.1.1" lodash "^4.17.21" tslib "^2.6.0" -"@docusaurus/plugin-content-blog@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz" - integrity sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - cheerio "^1.0.0-rc.12" +"@docusaurus/plugin-content-blog@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.7.0.tgz#7bd69de87a1f3adb652e1473ef5b7ccc9468f47e" + integrity sha512-EFLgEz6tGHYWdPU0rK8tSscZwx+AsyuBW/r+tNig2kbccHYGUJmZtYN38GjAa3Fda4NU+6wqUO5kTXQSRBQD3g== + dependencies: + "@docusaurus/core" "3.7.0" + "@docusaurus/logger" "3.7.0" + "@docusaurus/mdx-loader" "3.7.0" + "@docusaurus/theme-common" "3.7.0" + "@docusaurus/types" "3.7.0" + "@docusaurus/utils" "3.7.0" + "@docusaurus/utils-common" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" + cheerio "1.0.0-rc.12" feed "^4.2.2" fs-extra "^11.1.1" lodash "^4.17.21" @@ -2001,19 +1590,20 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-docs@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz" - integrity sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" +"@docusaurus/plugin-content-docs@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.7.0.tgz#297a549e926ee2b1147b5242af6f21532c7b107c" + integrity sha512-GXg5V7kC9FZE4FkUZA8oo/NrlRb06UwuICzI6tcbzj0+TVgjq/mpUXXzSgKzMS82YByi4dY2Q808njcBCyy6tQ== + dependencies: + "@docusaurus/core" "3.7.0" + "@docusaurus/logger" "3.7.0" + "@docusaurus/mdx-loader" "3.7.0" + "@docusaurus/module-type-aliases" "3.7.0" + "@docusaurus/theme-common" "3.7.0" + "@docusaurus/types" "3.7.0" + "@docusaurus/utils" "3.7.0" + "@docusaurus/utils-common" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" "@types/react-router-config" "^5.0.7" combine-promises "^1.1.0" fs-extra "^11.1.1" @@ -2023,118 +1613,134 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-pages@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz" - integrity sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" +"@docusaurus/plugin-content-pages@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.7.0.tgz#c4a8f7237872236aacb77665822c474c0a00e91a" + integrity sha512-YJSU3tjIJf032/Aeao8SZjFOrXJbz/FACMveSMjLyMH4itQyZ2XgUIzt4y+1ISvvk5zrW4DABVT2awTCqBkx0Q== + dependencies: + "@docusaurus/core" "3.7.0" + "@docusaurus/mdx-loader" "3.7.0" + "@docusaurus/types" "3.7.0" + "@docusaurus/utils" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" fs-extra "^11.1.1" tslib "^2.6.0" webpack "^5.88.1" -"@docusaurus/plugin-debug@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz" - integrity sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg== +"@docusaurus/plugin-debug@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.7.0.tgz#a4fd45132e40cffe96bb51f48e89982a1cb8e194" + integrity sha512-Qgg+IjG/z4svtbCNyTocjIwvNTNEwgRjSXXSJkKVG0oWoH0eX/HAPiu+TS1HBwRPQV+tTYPWLrUypYFepfujZA== dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" + "@docusaurus/core" "3.7.0" + "@docusaurus/types" "3.7.0" + "@docusaurus/utils" "3.7.0" fs-extra "^11.1.1" react-json-view-lite "^1.2.0" tslib "^2.6.0" -"@docusaurus/plugin-google-analytics@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz" - integrity sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA== +"@docusaurus/plugin-google-analytics@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.7.0.tgz#d20f665e810fb2295d1c1bbfe13398c5ff42eb24" + integrity sha512-otIqiRV/jka6Snjf+AqB360XCeSv7lQC+DKYW+EUZf6XbuE8utz5PeUQ8VuOcD8Bk5zvT1MC4JKcd5zPfDuMWA== dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" + "@docusaurus/core" "3.7.0" + "@docusaurus/types" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" tslib "^2.6.0" -"@docusaurus/plugin-google-gtag@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz" - integrity sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA== +"@docusaurus/plugin-google-gtag@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.7.0.tgz#a48638dfd132858060458b875a440b6cbda6bf8f" + integrity sha512-M3vrMct1tY65ModbyeDaMoA+fNJTSPe5qmchhAbtqhDD/iALri0g9LrEpIOwNaoLmm6lO88sfBUADQrSRSGSWA== dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" + "@docusaurus/core" "3.7.0" + "@docusaurus/types" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" "@types/gtag.js" "^0.0.12" tslib "^2.6.0" -"@docusaurus/plugin-google-tag-manager@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz" - integrity sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ== +"@docusaurus/plugin-google-tag-manager@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.7.0.tgz#0a4390f4b0e760d073bdb1905436bfa7bd71356b" + integrity sha512-X8U78nb8eiMiPNg3jb9zDIVuuo/rE1LjGDGu+5m5CX4UBZzjMy+klOY2fNya6x8ACyE/L3K2erO1ErheP55W/w== dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" + "@docusaurus/core" "3.7.0" + "@docusaurus/types" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" tslib "^2.6.0" -"@docusaurus/plugin-sitemap@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz" - integrity sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" +"@docusaurus/plugin-sitemap@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.7.0.tgz#2c1bf9de26aeda455df6f77748e5887ace39b2d7" + integrity sha512-bTRT9YLZ/8I/wYWKMQke18+PF9MV8Qub34Sku6aw/vlZ/U+kuEuRpQ8bTcNOjaTSfYsWkK4tTwDMHK2p5S86cA== + dependencies: + "@docusaurus/core" "3.7.0" + "@docusaurus/logger" "3.7.0" + "@docusaurus/types" "3.7.0" + "@docusaurus/utils" "3.7.0" + "@docusaurus/utils-common" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" fs-extra "^11.1.1" sitemap "^7.1.1" tslib "^2.6.0" +"@docusaurus/plugin-svgr@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-svgr/-/plugin-svgr-3.7.0.tgz#018e89efd615d5fde77b891a8c2aadf203013f5d" + integrity sha512-HByXIZTbc4GV5VAUkZ2DXtXv1Qdlnpk3IpuImwSnEzCDBkUMYcec5282hPjn6skZqB25M1TYCmWS91UbhBGxQg== + dependencies: + "@docusaurus/core" "3.7.0" + "@docusaurus/types" "3.7.0" + "@docusaurus/utils" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" + "@svgr/core" "8.1.0" + "@svgr/webpack" "^8.1.0" + tslib "^2.6.0" + webpack "^5.88.1" + "@docusaurus/preset-classic@^3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz" - integrity sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/plugin-content-blog" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/plugin-content-pages" "3.4.0" - "@docusaurus/plugin-debug" "3.4.0" - "@docusaurus/plugin-google-analytics" "3.4.0" - "@docusaurus/plugin-google-gtag" "3.4.0" - "@docusaurus/plugin-google-tag-manager" "3.4.0" - "@docusaurus/plugin-sitemap" "3.4.0" - "@docusaurus/theme-classic" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-search-algolia" "3.4.0" - "@docusaurus/types" "3.4.0" - -"@docusaurus/theme-classic@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz" - integrity sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/plugin-content-blog" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/plugin-content-pages" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-translations" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.7.0.tgz#f6656a04ae6a4877523dbd04f7c491632e4003b9" + integrity sha512-nPHj8AxDLAaQXs+O6+BwILFuhiWbjfQWrdw2tifOClQoNfuXDjfjogee6zfx6NGHWqshR23LrcN115DmkHC91Q== + dependencies: + "@docusaurus/core" "3.7.0" + "@docusaurus/plugin-content-blog" "3.7.0" + "@docusaurus/plugin-content-docs" "3.7.0" + "@docusaurus/plugin-content-pages" "3.7.0" + "@docusaurus/plugin-debug" "3.7.0" + "@docusaurus/plugin-google-analytics" "3.7.0" + "@docusaurus/plugin-google-gtag" "3.7.0" + "@docusaurus/plugin-google-tag-manager" "3.7.0" + "@docusaurus/plugin-sitemap" "3.7.0" + "@docusaurus/plugin-svgr" "3.7.0" + "@docusaurus/theme-classic" "3.7.0" + "@docusaurus/theme-common" "3.7.0" + "@docusaurus/theme-search-algolia" "3.7.0" + "@docusaurus/types" "3.7.0" + +"@docusaurus/theme-classic@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.7.0.tgz#b483bd8e2923b6994b5f47238884b9f8984222c5" + integrity sha512-MnLxG39WcvLCl4eUzHr0gNcpHQfWoGqzADCly54aqCofQX6UozOS9Th4RK3ARbM9m7zIRv3qbhggI53dQtx/hQ== + dependencies: + "@docusaurus/core" "3.7.0" + "@docusaurus/logger" "3.7.0" + "@docusaurus/mdx-loader" "3.7.0" + "@docusaurus/module-type-aliases" "3.7.0" + "@docusaurus/plugin-content-blog" "3.7.0" + "@docusaurus/plugin-content-docs" "3.7.0" + "@docusaurus/plugin-content-pages" "3.7.0" + "@docusaurus/theme-common" "3.7.0" + "@docusaurus/theme-translations" "3.7.0" + "@docusaurus/types" "3.7.0" + "@docusaurus/utils" "3.7.0" + "@docusaurus/utils-common" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" "@mdx-js/react" "^3.0.0" clsx "^2.0.0" copy-text-to-clipboard "^3.2.0" - infima "0.2.0-alpha.43" + infima "0.2.0-alpha.45" lodash "^4.17.21" nprogress "^0.2.0" postcss "^8.4.26" @@ -2145,18 +1751,15 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-common@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz" - integrity sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA== - dependencies: - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/plugin-content-blog" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/plugin-content-pages" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" +"@docusaurus/theme-common@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.7.0.tgz#18bf5c6b149a701f4bd865715ee8b595aa40b354" + integrity sha512-8eJ5X0y+gWDsURZnBfH0WabdNm8XMCXHv8ENy/3Z/oQKwaB/EHt5lP9VsTDTf36lKEp0V6DjzjFyFIB+CetL0A== + dependencies: + "@docusaurus/mdx-loader" "3.7.0" + "@docusaurus/module-type-aliases" "3.7.0" + "@docusaurus/utils" "3.7.0" + "@docusaurus/utils-common" "3.7.0" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -2166,21 +1769,21 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-search-algolia@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz" - integrity sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q== - dependencies: - "@docsearch/react" "^3.5.2" - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-translations" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - algoliasearch "^4.18.0" - algoliasearch-helper "^3.13.3" +"@docusaurus/theme-search-algolia@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.7.0.tgz#2108ddf0b300b82de7c2b9ff9fcf62121b66ea37" + integrity sha512-Al/j5OdzwRU1m3falm+sYy9AaB93S1XF1Lgk9Yc6amp80dNxJVplQdQTR4cYdzkGtuQqbzUA8+kaoYYO0RbK6g== + dependencies: + "@docsearch/react" "^3.8.1" + "@docusaurus/core" "3.7.0" + "@docusaurus/logger" "3.7.0" + "@docusaurus/plugin-content-docs" "3.7.0" + "@docusaurus/theme-common" "3.7.0" + "@docusaurus/theme-translations" "3.7.0" + "@docusaurus/utils" "3.7.0" + "@docusaurus/utils-validation" "3.7.0" + algoliasearch "^5.17.1" + algoliasearch-helper "^3.22.6" clsx "^2.0.0" eta "^2.2.0" fs-extra "^11.1.1" @@ -2188,112 +1791,64 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz" - integrity sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg== +"@docusaurus/theme-translations@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.7.0.tgz#0891aedc7c7040afcb3a1b34051d3a69096d0d25" + integrity sha512-Ewq3bEraWDmienM6eaNK7fx+/lHMtGDHQyd1O+4+3EsDxxUmrzPkV7Ct3nBWTuE0MsoZr3yNwQVKjllzCMuU3g== dependencies: fs-extra "^11.1.1" tslib "^2.6.0" "@docusaurus/tsconfig@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.3.2.tgz" - integrity sha512-2MQXkLoWqgOSiqFojNEq8iPtFBHGQqd1b/SQMoe+v3GgHmk/L6YTTO/hMcHhWb1hTFmbkei++IajSfD3RlZKvw== - -"@docusaurus/types@3.3.2", "@docusaurus/types@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-3.3.2.tgz" - integrity sha512-5p201S7AZhliRxTU7uMKtSsoC8mgPA9bs9b5NQg1IRdRxJfflursXNVsgc3PcMqiUTul/v1s3k3rXXFlRE890w== - dependencies: - "@mdx-js/mdx" "^3.0.0" - "@types/history" "^4.7.11" - "@types/react" "*" - commander "^5.1.0" - joi "^17.9.2" - react-helmet-async "^1.3.0" - utility-types "^3.10.0" - webpack "^5.88.1" - webpack-merge "^5.9.0" + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/tsconfig/-/tsconfig-3.7.0.tgz#654dcc524e25b8809af0f1b0b42485c18c047ab5" + integrity sha512-vRsyj3yUZCjscgfgcFYjIsTcAru/4h4YH2/XAE8Rs7wWdnng98PgWKvP5ovVc4rmRpRg2WChVW0uOy2xHDvDBQ== -"@docusaurus/types@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz" - integrity sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A== +"@docusaurus/types@3.7.0", "@docusaurus/types@^3.3.2": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.7.0.tgz#3f5a68a60f80ecdcb085666da1d68f019afda943" + integrity sha512-kOmZg5RRqJfH31m+6ZpnwVbkqMJrPOG5t0IOl4i/+3ruXyNfWzZ0lVtVrD0u4ONc/0NOsS9sWYaxxWNkH1LdLQ== dependencies: "@mdx-js/mdx" "^3.0.0" "@types/history" "^4.7.11" "@types/react" "*" commander "^5.1.0" joi "^17.9.2" - react-helmet-async "^1.3.0" + react-helmet-async "npm:@slorber/react-helmet-async@1.3.0" utility-types "^3.10.0" - webpack "^5.88.1" + webpack "^5.95.0" webpack-merge "^5.9.0" -"@docusaurus/utils-common@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz" - integrity sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ== +"@docusaurus/utils-common@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.7.0.tgz#1bef52837d321db5dd2361fc07f3416193b5d029" + integrity sha512-IZeyIfCfXy0Mevj6bWNg7DG7B8G+S6o6JVpddikZtWyxJguiQ7JYr0SIZ0qWd8pGNuMyVwriWmbWqMnK7Y5PwA== dependencies: + "@docusaurus/types" "3.7.0" tslib "^2.6.0" -"@docusaurus/utils-validation@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz" - integrity sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g== +"@docusaurus/utils-validation@3.7.0", "@docusaurus/utils-validation@^3": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.7.0.tgz#dc0786fb633ae5cef8e93337bf21c2a826c7ecbd" + integrity sha512-w8eiKk8mRdN+bNfeZqC4nyFoxNyI1/VExMKAzD9tqpJfLLbsa46Wfn5wcKH761g9WkKh36RtFV49iL9lh1DYBA== dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" + "@docusaurus/logger" "3.7.0" + "@docusaurus/utils" "3.7.0" + "@docusaurus/utils-common" "3.7.0" fs-extra "^11.2.0" joi "^17.9.2" js-yaml "^4.1.0" lodash "^4.17.21" tslib "^2.6.0" -"@docusaurus/utils-validation@^3": - version "3.1.1" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.1.1.tgz" - integrity sha512-KlY4P9YVDnwL+nExvlIpu79abfEv6ZCHuOX4ZQ+gtip+Wxj0daccdReIWWtqxM/Fb5Cz1nQvUCc7VEtT8IBUAA== - dependencies: - "@docusaurus/logger" "3.1.1" - "@docusaurus/utils" "3.1.1" - joi "^17.9.2" - js-yaml "^4.1.0" - tslib "^2.6.0" - -"@docusaurus/utils@3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.1.1.tgz" - integrity sha512-ZJfJa5cJQtRYtqijsPEnAZoduW6sjAQ7ZCWSZavLcV10Fw0Z3gSaPKA/B4micvj2afRZ4gZxT7KfYqe5H8Cetg== - dependencies: - "@docusaurus/logger" "3.1.1" - "@svgr/webpack" "^6.5.1" - escape-string-regexp "^4.0.0" - file-loader "^6.2.0" - fs-extra "^11.1.1" - github-slugger "^1.5.0" - globby "^11.1.0" - gray-matter "^4.0.3" - jiti "^1.20.0" - js-yaml "^4.1.0" - lodash "^4.17.21" - micromatch "^4.0.5" - resolve-pathname "^3.0.0" - shelljs "^0.8.5" - tslib "^2.6.0" - url-loader "^4.1.1" - webpack "^5.88.1" - -"@docusaurus/utils@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz" - integrity sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g== +"@docusaurus/utils@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.7.0.tgz#dfdebd63524c52b498f36b2907a3b2261930b9bb" + integrity sha512-e7zcB6TPnVzyUaHMJyLSArKa2AG3h9+4CfvKXKKWNx6hRs+p0a+u7HHTJBgo6KW2m+vqDnuIHK4X+bhmoghAFA== dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@svgr/webpack" "^8.1.0" + "@docusaurus/logger" "3.7.0" + "@docusaurus/types" "3.7.0" + "@docusaurus/utils-common" "3.7.0" escape-string-regexp "^4.0.0" file-loader "^6.2.0" fs-extra "^11.1.1" @@ -2314,33 +1869,33 @@ "@gracefullight/docusaurus-plugin-vercel-analytics@^1.0.0": version "1.0.1" - resolved "https://registry.npmjs.org/@gracefullight/docusaurus-plugin-vercel-analytics/-/docusaurus-plugin-vercel-analytics-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@gracefullight/docusaurus-plugin-vercel-analytics/-/docusaurus-plugin-vercel-analytics-1.0.1.tgz#bb01f09f41c388b6df99652146bdcf867259e117" integrity sha512-6Xj63GIBadwLhoDVNpRXlEs3ieTetd8ZcNGKIJ8ADT0IjZIvcIW6CZFY5RgGtxuJ4PxFXVU2DDV14M2uXXTvGQ== dependencies: "@docusaurus/utils-validation" "^3" "@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": version "9.3.0" - resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== "@hapi/topo@^5.1.0": version "5.1.0" - resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== dependencies: "@hapi/hoek" "^9.0.0" "@jest/schemas@^29.6.3": version "29.6.3" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== dependencies: "@sinclair/typebox" "^0.27.8" "@jest/types@^29.6.3": version "29.6.3" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== dependencies: "@jest/schemas" "^29.6.3" @@ -2350,10 +1905,10 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.8" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== dependencies: "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -2361,44 +1916,44 @@ "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/set-array@^1.2.1": version "1.2.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== "@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + version "0.3.6" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== -"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.9": +"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" "@leichtgewicht/ip-codec@^2.0.1": - version "2.0.4" - resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" - integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + version "2.0.5" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" + integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== "@mdx-js/mdx@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz" - integrity sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-3.1.0.tgz#10235cab8ad7d356c262e8c21c68df5850a97dc3" + integrity sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw== dependencies: "@types/estree" "^1.0.0" "@types/estree-jsx" "^1.0.0" @@ -2406,14 +1961,15 @@ "@types/mdx" "^2.0.0" collapse-white-space "^2.0.0" devlop "^1.0.0" - estree-util-build-jsx "^3.0.0" estree-util-is-identifier-name "^3.0.0" - estree-util-to-js "^2.0.0" + estree-util-scope "^1.0.0" estree-walker "^3.0.0" - hast-util-to-estree "^3.0.0" hast-util-to-jsx-runtime "^2.0.0" markdown-extensions "^2.0.0" - periscopic "^3.0.0" + recma-build-jsx "^1.0.0" + recma-jsx "^1.0.0" + recma-stringify "^1.0.0" + rehype-recma "^1.0.0" remark-mdx "^3.0.0" remark-parse "^11.0.0" remark-rehype "^11.0.0" @@ -2425,15 +1981,15 @@ vfile "^6.0.0" "@mdx-js/react@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz" - integrity sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A== + version "3.1.0" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.1.0.tgz#c4522e335b3897b9a845db1dbdd2f966ae8fb0ed" + integrity sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ== dependencies: "@types/mdx" "^2.0.0" "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -2441,12 +1997,12 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" @@ -2454,65 +2010,65 @@ "@pnpm/config.env-replace@^1.1.0": version "1.1.0" - resolved "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== "@pnpm/network.ca-file@^1.0.1": version "1.0.2" - resolved "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983" integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== dependencies: graceful-fs "4.2.10" "@pnpm/npm-conf@^2.1.0": - version "2.2.2" - resolved "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz" - integrity sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA== + version "2.3.1" + resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz#bb375a571a0bd63ab0a23bece33033c683e9b6b0" + integrity sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw== dependencies: "@pnpm/config.env-replace" "^1.1.0" "@pnpm/network.ca-file" "^1.0.1" config-chain "^1.1.11" "@polka/url@^1.0.0-next.24": - version "1.0.0-next.24" - resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz" - integrity sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ== + version "1.0.0-next.29" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.29.tgz#5a40109a1ab5f84d6fd8fc928b19f367cbe7e7b1" + integrity sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww== "@sideway/address@^4.1.5": version "4.1.5" - resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== dependencies: "@hapi/hoek" "^9.0.0" "@sideway/formula@^3.0.1": version "3.0.1" - resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== "@sideway/pinpoint@^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== "@sinclair/typebox@^0.27.8": version "0.27.8" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== "@sindresorhus/is@^4.6.0": version "4.6.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== "@sindresorhus/is@^5.2.0": version "5.6.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-5.6.0.tgz#41dd6093d34652cddb5d5bdeee04eafc33826668" integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== "@slorber/remark-comment@^1.0.0": version "1.0.0" - resolved "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/@slorber/remark-comment/-/remark-comment-1.0.0.tgz#2a020b3f4579c89dec0361673206c28d67e08f5a" integrity sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA== dependencies: micromark-factory-space "^1.0.0" @@ -2521,77 +2077,47 @@ "@svgr/babel-plugin-add-jsx-attribute@8.0.0": version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== -"@svgr/babel-plugin-add-jsx-attribute@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz" - integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== - -"@svgr/babel-plugin-remove-jsx-attribute@*", "@svgr/babel-plugin-remove-jsx-attribute@8.0.0": +"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== -"@svgr/babel-plugin-remove-jsx-empty-expression@*", "@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": +"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== "@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== -"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz" - integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== - "@svgr/babel-plugin-svg-dynamic-title@8.0.0": version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== -"@svgr/babel-plugin-svg-dynamic-title@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz" - integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== - "@svgr/babel-plugin-svg-em-dimensions@8.0.0": version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== -"@svgr/babel-plugin-svg-em-dimensions@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz" - integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== - "@svgr/babel-plugin-transform-react-native-svg@8.1.0": version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== -"@svgr/babel-plugin-transform-react-native-svg@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz" - integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== - "@svgr/babel-plugin-transform-svg-component@8.0.0": version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== -"@svgr/babel-plugin-transform-svg-component@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz" - integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== - "@svgr/babel-preset@8.1.0": version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" @@ -2603,23 +2129,9 @@ "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" "@svgr/babel-plugin-transform-svg-component" "8.0.0" -"@svgr/babel-preset@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz" - integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" - "@svgr/babel-plugin-remove-jsx-attribute" "*" - "@svgr/babel-plugin-remove-jsx-empty-expression" "*" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1" - "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1" - "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1" - "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" - "@svgr/babel-plugin-transform-svg-component" "^6.5.1" - "@svgr/core@8.1.0": version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== dependencies: "@babel/core" "^7.21.3" @@ -2628,36 +2140,17 @@ cosmiconfig "^8.1.3" snake-case "^3.0.4" -"@svgr/core@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" - integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== - dependencies: - "@babel/core" "^7.19.6" - "@svgr/babel-preset" "^6.5.1" - "@svgr/plugin-jsx" "^6.5.1" - camelcase "^6.2.0" - cosmiconfig "^7.0.1" - "@svgr/hast-util-to-babel-ast@8.0.0": version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== dependencies: "@babel/types" "^7.21.3" entities "^4.4.0" -"@svgr/hast-util-to-babel-ast@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz" - integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== - dependencies: - "@babel/types" "^7.20.0" - entities "^4.4.0" - "@svgr/plugin-jsx@8.1.0": version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== dependencies: "@babel/core" "^7.21.3" @@ -2665,51 +2158,18 @@ "@svgr/hast-util-to-babel-ast" "8.0.0" svg-parser "^2.0.4" -"@svgr/plugin-jsx@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz" - integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== - dependencies: - "@babel/core" "^7.19.6" - "@svgr/babel-preset" "^6.5.1" - "@svgr/hast-util-to-babel-ast" "^6.5.1" - svg-parser "^2.0.4" - "@svgr/plugin-svgo@8.1.0": version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== dependencies: cosmiconfig "^8.1.3" deepmerge "^4.3.1" svgo "^3.0.2" -"@svgr/plugin-svgo@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz" - integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== - dependencies: - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - svgo "^2.8.0" - -"@svgr/webpack@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz" - integrity sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA== - dependencies: - "@babel/core" "^7.19.6" - "@babel/plugin-transform-react-constant-elements" "^7.18.12" - "@babel/preset-env" "^7.19.4" - "@babel/preset-react" "^7.18.6" - "@babel/preset-typescript" "^7.18.6" - "@svgr/core" "^6.5.1" - "@svgr/plugin-jsx" "^6.5.1" - "@svgr/plugin-svgo" "^6.5.1" - "@svgr/webpack@^8.1.0": version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== dependencies: "@babel/core" "^7.21.3" @@ -2723,26 +2183,19 @@ "@szmarczak/http-timer@^5.0.1": version "5.0.1" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== dependencies: defer-to-connect "^2.0.1" "@trysound/sax@0.2.0": version "0.2.0" - resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== -"@types/acorn@^4.0.0": - version "4.0.6" - resolved "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz" - integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== - dependencies: - "@types/estree" "*" - "@types/body-parser@*": version "1.19.5" - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== dependencies: "@types/connect" "*" @@ -2750,14 +2203,14 @@ "@types/bonjour@^3.5.9": version "3.5.13" - resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== dependencies: "@types/node" "*" "@types/connect-history-api-fallback@^1.3.5": version "1.5.4" - resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== dependencies: "@types/express-serve-static-core" "*" @@ -2765,59 +2218,78 @@ "@types/connect@*": version "3.4.38" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== dependencies: "@types/node" "*" "@types/debug@^4.0.0": version "4.1.12" - resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== dependencies: "@types/ms" "*" -"@types/eslint-scope@^3.7.3": +"@types/eslint-scope@^3.7.7": version "3.7.7" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.56.2" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz" - integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== + version "9.6.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree-jsx@^1.0.0": - version "1.0.4" - resolved "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.4.tgz" - integrity sha512-5idy3hvI9lAMqsyilBM+N+boaCf1MgoefbDxN6KEO5aK17TOHwFAYT9sjxzeKAiIWRUBgLxmZ9mPcnzZXtTcRQ== + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.5.tgz#858a88ea20f34fe65111f005a689fa1ebf70dc18" + integrity sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg== dependencies: "@types/estree" "*" -"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== +"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.6": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" + integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz#41fec4ea20e9c7b22f024ab88a95c6bb288f51b8" + integrity sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - version "4.17.43" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz" - integrity sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg== +"@types/express-serve-static-core@^4.17.33": + version "4.19.6" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz#e01324c2a024ff367d92c66f48553ced0ab50267" + integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/send" "*" -"@types/express@*", "@types/express@^4.17.13": +"@types/express@*": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.1.tgz#138d741c6e5db8cc273bec5285cd6e9d0779fc9f" + integrity sha512-UZUw8vjpWFXuDnjFTh7/5c2TWDlQqeXHi6hcN7F2XSVT5P+WmUnnbFS3KA6Jnc6IsEqI2qCVu2bK0R0J4A8ZQQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/serve-static" "*" + +"@types/express@^4.17.13": version "4.17.21" - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== dependencies: "@types/body-parser" "*" @@ -2827,146 +2299,136 @@ "@types/gtag.js@^0.0.12": version "0.0.12" - resolved "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz" + resolved "https://registry.yarnpkg.com/@types/gtag.js/-/gtag.js-0.0.12.tgz#095122edca896689bdfcdd73b057e23064d23572" integrity sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg== -"@types/hast@^3.0.0", "@types/hast@^3.0.1": +"@types/hast@^3.0.0", "@types/hast@^3.0.4": version "3.0.4" - resolved "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== dependencies: "@types/unist" "*" "@types/history@^4.7.11": version "4.7.11" - resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== "@types/html-minifier-terser@^6.0.0": version "6.1.0" - resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== "@types/http-cache-semantics@^4.0.2": version "4.0.4" - resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== "@types/http-errors@*": version "2.0.4" - resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== "@types/http-proxy@^1.17.8": - version "1.17.14" - resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz" - integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + version "1.17.16" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.16.tgz#dee360707b35b3cc85afcde89ffeebff7d7f9240" + integrity sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.6" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== "@types/istanbul-lib-report@*": version "3.0.3" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": version "3.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== dependencies: "@types/istanbul-lib-report" "*" -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.15" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/katex@^0.16.0": version "0.16.7" - resolved "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz" + resolved "https://registry.yarnpkg.com/@types/katex/-/katex-0.16.7.tgz#03ab680ab4fa4fbc6cb46ecf987ecad5d8019868" integrity sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ== -"@types/mdast@^4.0.0", "@types/mdast@^4.0.1", "@types/mdast@^4.0.2": - version "4.0.3" - resolved "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz" - integrity sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg== +"@types/mdast@^4.0.0", "@types/mdast@^4.0.1", "@types/mdast@^4.0.2", "@types/mdast@^4.0.3": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" + integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== dependencies: "@types/unist" "*" "@types/mdx@^2.0.0": - version "2.0.11" - resolved "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz" - integrity sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw== - -"@types/mime@*": - version "3.0.4" - resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz" - integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== + version "2.0.13" + resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.13.tgz#68f6877043d377092890ff5b298152b0a21671bd" + integrity sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw== "@types/mime@^1": version "1.3.5" - resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== "@types/ms@*": - version "0.7.34" - resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz" - integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" + integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== "@types/node-forge@^1.3.0": version "1.3.11" - resolved "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== dependencies: "@types/node" "*" "@types/node@*": - version "20.11.20" - resolved "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz" - integrity sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg== + version "22.15.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.18.tgz#2f8240f7e932f571c2d45f555ba0b6c3f7a75963" + integrity sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg== dependencies: - undici-types "~5.26.4" + undici-types "~6.21.0" "@types/node@^17.0.5": version "17.0.45" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== "@types/parse-json@^4.0.0": version "4.0.2" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== "@types/prismjs@^1.26.0": - version "1.26.3" - resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.3.tgz" - integrity sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw== - -"@types/prop-types@*": - version "15.7.11" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + version "1.26.5" + resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.5.tgz#72499abbb4c4ec9982446509d2f14fb8483869d6" + integrity sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ== "@types/qs@*": - version "6.9.11" - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz" - integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ== + version "6.9.18" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.18.tgz#877292caa91f7c1b213032b34626505b746624c2" + integrity sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA== "@types/range-parser@*": version "1.2.7" - resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== "@types/react-router-config@*", "@types/react-router-config@^5.0.7": version "5.0.11" - resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz" + resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.11.tgz#2761a23acc7905a66a94419ee40294a65aaa483a" integrity sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw== dependencies: "@types/history" "^4.7.11" @@ -2975,7 +2437,7 @@ "@types/react-router-dom@*": version "5.3.3" - resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== dependencies: "@types/history" "^4.7.11" @@ -2984,41 +2446,34 @@ "@types/react-router@*", "@types/react-router@^5.1.0": version "5.1.20" - resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== dependencies: "@types/history" "^4.7.11" "@types/react" "*" "@types/react@*": - version "18.2.57" - resolved "https://registry.npmjs.org/@types/react/-/react-18.2.57.tgz" - integrity sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw== + version "19.1.4" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.1.4.tgz#4d125f014d6ac26b4759775698db118701e314fe" + integrity sha512-EB1yiiYdvySuIITtD5lhW4yPyJ31RkJkkDw794LaQYrxCSaQV/47y5o1FMC4zF9ZyjUjzJMZwbovEnT5yHTW6g== dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" csstype "^3.0.2" "@types/retry@0.12.0": version "0.12.0" - resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== "@types/sax@^1.2.1": version "1.2.7" - resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.7.tgz#ba5fe7df9aa9c89b6dff7688a19023dd2963091d" integrity sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A== dependencies: "@types/node" "*" -"@types/scheduler@*": - version "0.16.8" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== - "@types/send@*": version "0.17.4" - resolved "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== dependencies: "@types/mime" "^1" @@ -3026,235 +2481,230 @@ "@types/serve-index@^1.9.1": version "1.9.4" - resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== dependencies: "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.5" - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz" - integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== + version "1.15.7" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" + integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== dependencies: "@types/http-errors" "*" - "@types/mime" "*" "@types/node" "*" + "@types/send" "*" "@types/sockjs@^0.3.33": version "0.3.36" - resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== dependencies: "@types/node" "*" -"@types/unist@*", "@types/unist@^3.0.0": - version "3.0.2" - resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz" - integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== +"@types/unist@*", "@types/unist@^3.0.0", "@types/unist@^3.0.2": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" + integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== "@types/unist@^2.0.0": - version "2.0.10" - resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz" - integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== + version "2.0.11" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4" + integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== "@types/ws@^8.5.5": - version "8.5.10" - resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz" - integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + version "8.18.1" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" + integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== dependencies: "@types/node" "*" "@types/yargs-parser@*": version "21.0.3" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" "@ungap/structured-clone@^1.0.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + version "1.3.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" + integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== "@vercel/analytics@^1.1.2": - version "1.2.2" - resolved "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.2.2.tgz" - integrity sha512-X0rctVWkQV1e5Y300ehVNqpOfSOufo7ieA5PIdna8yX/U7Vjz0GFsGf4qvAhxV02uQ2CVt7GYcrFfddXXK2Y4A== - dependencies: - server-only "^0.0.1" - -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" + version "1.5.0" + resolved "https://registry.yarnpkg.com/@vercel/analytics/-/analytics-1.5.0.tgz#073f93694897414b21a8495e2619bbf64447dcaa" + integrity sha512-MYsBzfPki4gthY5HnYN7jgInhAZ7Ac1cYDoRWFomwGHWEX7odTEzbtg9kf/QSo7XEsEAqlQugA6gJ2WS2DEa3g== + +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== + dependencies: + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== + +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== + +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== + +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== - dependencies: - "@webassemblyjs/ast" "1.11.6" +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== + +"@webassemblyjs/wasm-edit@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + dependencies: + "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": version "1.2.0" - resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== "@xtuc/long@4.2.2": version "4.2.2" - resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: +accepts@~1.3.4, accepts@~1.3.8: version "1.3.8" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== dependencies: mime-types "~2.1.34" negotiator "0.6.3" -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - acorn-jsx@^5.0.0: version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.0.0: - version "8.3.2" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== + dependencies: + acorn "^8.11.0" -acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: - version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== +acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.8.2: + version "8.14.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== address@^1.0.1, address@^1.1.2: version "1.2.2" - resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== aggregate-error@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" @@ -3262,26 +2712,26 @@ aggregate-error@^3.0.0: ajv-formats@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== dependencies: ajv "^8.0.0" ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== ajv-keywords@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== dependencies: fast-deep-equal "^3.1.3" ajv@^6.12.2, ajv@^6.12.5: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -3290,79 +2740,85 @@ ajv@^6.12.2, ajv@^6.12.5: uri-js "^4.2.2" ajv@^8.0.0, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== dependencies: - fast-deep-equal "^3.1.1" + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" - uri-js "^4.2.2" -algoliasearch-helper@^3.13.3: - version "3.16.2" - resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.16.2.tgz" - integrity sha512-Yl/Gu5Cq4Z5s/AJ0jR37OPI1H3+z7PHz657ibyaXgMOaWvPlZ3OACN13N+7HCLPUlB0BN+8BtmrG/CqTilowBA== +algoliasearch-helper@^3.22.6: + version "3.25.0" + resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.25.0.tgz#15cc79ad7909db66b8bb5a5a9c38b40e3941fa2f" + integrity sha512-vQoK43U6HXA9/euCqLjvyNdM4G2Fiu/VFp4ae0Gau9sZeIKBPvUPnXfLYAe65Bg7PFuw03coeu5K6lTPSXRObw== dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^4.18.0, algoliasearch@^4.19.1: - version "4.22.1" - resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.1.tgz" - integrity sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg== - dependencies: - "@algolia/cache-browser-local-storage" "4.22.1" - "@algolia/cache-common" "4.22.1" - "@algolia/cache-in-memory" "4.22.1" - "@algolia/client-account" "4.22.1" - "@algolia/client-analytics" "4.22.1" - "@algolia/client-common" "4.22.1" - "@algolia/client-personalization" "4.22.1" - "@algolia/client-search" "4.22.1" - "@algolia/logger-common" "4.22.1" - "@algolia/logger-console" "4.22.1" - "@algolia/requester-browser-xhr" "4.22.1" - "@algolia/requester-common" "4.22.1" - "@algolia/requester-node-http" "4.22.1" - "@algolia/transporter" "4.22.1" +algoliasearch@^5.14.2, algoliasearch@^5.17.1: + version "5.25.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.25.0.tgz#7337b097deadeca0e6e985c0f8724abea189994f" + integrity sha512-n73BVorL4HIwKlfJKb4SEzAYkR3Buwfwbh+MYxg2mloFph2fFGV58E90QTzdbfzWrLn4HE5Czx/WTjI8fcHaMg== + dependencies: + "@algolia/client-abtesting" "5.25.0" + "@algolia/client-analytics" "5.25.0" + "@algolia/client-common" "5.25.0" + "@algolia/client-insights" "5.25.0" + "@algolia/client-personalization" "5.25.0" + "@algolia/client-query-suggestions" "5.25.0" + "@algolia/client-search" "5.25.0" + "@algolia/ingestion" "1.25.0" + "@algolia/monitoring" "1.25.0" + "@algolia/recommend" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" ansi-align@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== dependencies: string-width "^4.1.0" +ansi-escapes@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + ansi-html-community@^0.0.8: version "0.0.8" - resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== -ansi-styles@^4.1.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^6.1.0: version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" @@ -3370,205 +2826,151 @@ anymatch@~3.1.2: arg@^5.0.0: version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== argparse@^1.0.7: version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -assert@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz" - integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== - dependencies: - call-bind "^1.0.2" - is-nan "^1.3.2" - object-is "^1.1.5" - object.assign "^4.1.4" - util "^0.12.5" - astring@^1.8.0: - version "1.8.6" - resolved "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz" - integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== + version "1.9.0" + resolved "https://registry.yarnpkg.com/astring/-/astring-1.9.0.tgz#cc73e6062a7eb03e7d19c22d8b0b3451fd9bfeef" + integrity sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg== at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -autoprefixer@^10.4.14: - version "10.4.17" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz" - integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg== - dependencies: - browserslist "^4.22.2" - caniuse-lite "^1.0.30001578" - fraction.js "^4.3.7" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -autoprefixer@^10.4.19: - version "10.4.19" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz" - integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== +autoprefixer@^10.4.19, autoprefixer@^10.4.21: + version "10.4.21" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d" + integrity sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ== dependencies: - browserslist "^4.23.0" - caniuse-lite "^1.0.30001599" + browserslist "^4.24.4" + caniuse-lite "^1.0.30001702" fraction.js "^4.3.7" normalize-range "^0.1.2" - picocolors "^1.0.0" + picocolors "^1.1.1" postcss-value-parser "^4.2.0" -available-typed-arrays@^1.0.6: - version "1.0.7" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -babel-loader@^9.1.3: - version "9.1.3" - resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz" - integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== +babel-loader@^9.2.1: + version "9.2.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.2.1.tgz#04c7835db16c246dd19ba0914418f3937797587b" + integrity sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA== dependencies: find-cache-dir "^4.0.0" schema-utils "^4.0.0" babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" - resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== dependencies: object.assign "^4.1.0" babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.11" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz" - integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.2" - semver "^6.3.1" - -babel-plugin-polyfill-corejs2@^0.4.8: - version "0.4.8" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz" - integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== + version "0.4.13" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz#7d445f0e0607ebc8fb6b01d7e8fb02069b91dd8b" + integrity sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.5.0" + "@babel/helper-define-polyfill-provider" "^0.6.4" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.10.4: - version "0.10.4" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz" - integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.1" - core-js-compat "^3.36.1" - -babel-plugin-polyfill-corejs3@^0.9.0: - version "0.9.0" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz" - integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== +babel-plugin-polyfill-corejs3@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz#4e4e182f1bb37c7ba62e2af81d8dd09df31344f6" + integrity sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ== dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" - core-js-compat "^3.34.0" - -babel-plugin-polyfill-regenerator@^0.5.5: - version "0.5.5" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz" - integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" + "@babel/helper-define-polyfill-provider" "^0.6.3" + core-js-compat "^3.40.0" babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.2" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz" - integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + version "0.6.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz#428c615d3c177292a22b4f93ed99e358d7906a9b" + integrity sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" + "@babel/helper-define-polyfill-provider" "^0.6.4" bail@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== batch@0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== big.js@^5.2.2: version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== +body-parser@1.20.3: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== dependencies: bytes "3.1.2" - content-type "~1.0.4" + content-type "~1.0.5" debug "2.6.9" depd "2.0.0" destroy "1.2.0" http-errors "2.0.0" iconv-lite "0.4.24" on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" + qs "6.13.0" + raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" bonjour-service@^1.0.11: - version "1.2.1" - resolved "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz" - integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== + version "1.3.0" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.3.0.tgz#80d867430b5a0da64e82a8047fc1e355bdb71722" + integrity sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA== dependencies: fast-deep-equal "^3.1.3" multicast-dns "^7.2.5" boolbase@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== boxen@^6.2.1: version "6.2.1" - resolved "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-6.2.1.tgz#b098a2278b2cd2845deef2dff2efc38d329b434d" integrity sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw== dependencies: ansi-align "^3.0.1" @@ -3582,7 +2984,7 @@ boxen@^6.2.1: boxen@^7.0.0: version "7.1.1" - resolved "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-7.1.1.tgz#f9ba525413c2fec9cdb88987d835c4f7cad9c8f4" integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog== dependencies: ansi-align "^3.0.1" @@ -3596,52 +2998,52 @@ boxen@^7.0.0: brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.22.3, browserslist@^4.23.0, browserslist@^4.24.0: - version "4.24.2" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz" - integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== +browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.24.4: + version "4.24.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.5.tgz#aa0f5b8560fe81fde84c6dcb38f759bafba0e11b" + integrity sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw== dependencies: - caniuse-lite "^1.0.30001669" - electron-to-chromium "^1.5.41" - node-releases "^2.0.18" - update-browserslist-db "^1.1.1" + caniuse-lite "^1.0.30001716" + electron-to-chromium "^1.5.149" + node-releases "^2.0.19" + update-browserslist-db "^1.1.3" buffer-from@^1.0.0: version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== bytes@3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== bytes@3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== cacheable-lookup@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27" integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== cacheable-request@^10.2.8: version "10.2.14" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-10.2.14.tgz#eb915b665fda41b79652782df3f553449c406b9d" integrity sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== dependencies: "@types/http-cache-semantics" "^4.0.2" @@ -3652,25 +3054,40 @@ cacheable-request@^10.2.8: normalize-url "^8.0.0" responselike "^3.0.0" -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6: - version "1.0.7" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: - es-define-property "^1.0.0" es-errors "^1.3.0" function-bind "^1.1.2" + +call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" get-intrinsic "^1.2.4" - set-function-length "^1.2.1" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camel-case@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== dependencies: pascal-case "^3.1.2" @@ -3678,17 +3095,17 @@ camel-case@^4.1.2: camelcase@^6.2.0: version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== camelcase@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== caniuse-api@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== dependencies: browserslist "^4.0.0" @@ -3696,57 +3113,57 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001669: - version "1.0.30001687" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz" - integrity sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001716: + version "1.0.30001718" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz#dae13a9c80d517c30c6197515a96131c194d8f82" + integrity sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw== ccount@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" chalk@^5.0.1, chalk@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + version "5.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8" + integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== char-regex@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== character-entities-html4@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== character-entities-legacy@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== character-entities@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== character-reference-invalid@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== cheerio-select@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== dependencies: boolbase "^1.0.0" @@ -3756,9 +3173,9 @@ cheerio-select@^2.1.0: domhandler "^5.0.3" domutils "^3.0.1" -cheerio@^1.0.0-rc.12: +cheerio@1.0.0-rc.12: version "1.0.0-rc.12" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== dependencies: cheerio-select "^2.1.0" @@ -3771,7 +3188,7 @@ cheerio@^1.0.0-rc.12: chokidar@^3.4.2, chokidar@^3.5.3: version "3.6.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" @@ -3785,36 +3202,36 @@ chokidar@^3.4.2, chokidar@^3.5.3: fsevents "~2.3.2" chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== ci-info@^3.2.0: version "3.9.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== clean-css@^5.2.2, clean-css@^5.3.2, clean-css@~5.3.2: version "5.3.3" - resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== dependencies: source-map "~0.6.0" clean-stack@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== cli-boxes@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== cli-table3@^0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + version "0.6.5" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== dependencies: string-width "^4.2.0" optionalDependencies: @@ -3822,7 +3239,7 @@ cli-table3@^0.6.3: clone-deep@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== dependencies: is-plain-object "^2.0.4" @@ -3831,109 +3248,109 @@ clone-deep@^4.0.1: clsx@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== clsx@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz" - integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== collapse-white-space@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca" integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colord@^2.9.3: version "2.9.3" - resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== colorette@^2.0.10: version "2.0.20" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== combine-promises@^1.1.0: version "1.2.0" - resolved "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/combine-promises/-/combine-promises-1.2.0.tgz#5f2e68451862acf85761ded4d9e2af7769c2ca6a" integrity sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ== comma-separated-tokens@^2.0.0: version "2.0.3" - resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== commander@^10.0.0: version "10.0.1" - resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== commander@^2.20.0: version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== commander@^7.2.0: version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== commander@^8.3.0: version "8.3.0" - resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== common-path-prefix@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== -compressible@~2.0.16: +compressible@~2.0.18: version "2.0.18" - resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== dependencies: mime-db ">= 1.43.0 < 2" compression@^1.7.4: - version "1.7.4" - resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + version "1.8.0" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.8.0.tgz#09420efc96e11a0f44f3a558de59e321364180f7" + integrity sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA== dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" + bytes "3.1.2" + compressible "~2.0.18" debug "2.6.9" + negotiator "~0.6.4" on-headers "~1.0.2" - safe-buffer "5.1.2" + safe-buffer "5.2.1" vary "~1.1.2" concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== config-chain@^1.1.11: version "1.1.13" - resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== dependencies: ini "^1.3.4" @@ -3941,7 +3358,7 @@ config-chain@^1.1.11: configstore@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-6.0.0.tgz#49eca2ebc80983f77e09394a1a56e0aca8235566" integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== dependencies: dot-prop "^6.0.1" @@ -3952,54 +3369,54 @@ configstore@^6.0.0: connect-history-api-fallback@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== -consola@^2.15.3: - version "2.15.3" - resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" - integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== +consola@^3.2.3: + version "3.4.2" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.4.2.tgz#5af110145397bb67afdab77013fdc34cae590ea7" + integrity sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA== content-disposition@0.5.2: version "0.5.2" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA== content-disposition@0.5.4: version "0.5.4" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== dependencies: safe-buffer "5.2.1" -content-type@~1.0.4: +content-type@~1.0.4, content-type@~1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== convert-source-map@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== cookie-signature@1.0.6: version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== +cookie@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" + integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== copy-text-to-clipboard@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b" integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q== copy-webpack-plugin@^11.0.0: version "11.0.0" - resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== dependencies: fast-glob "^3.2.11" @@ -4009,38 +3426,31 @@ copy-webpack-plugin@^11.0.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.31.0, core-js-compat@^3.34.0: - version "3.36.0" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz" - integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw== - dependencies: - browserslist "^4.22.3" - -core-js-compat@^3.36.1: - version "3.37.1" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz" - integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== +core-js-compat@^3.40.0: + version "3.42.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.42.0.tgz#ce19c29706ee5806e26d3cb3c542d4cfc0ed51bb" + integrity sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ== dependencies: - browserslist "^4.23.0" + browserslist "^4.24.4" core-js-pure@^3.30.2: - version "3.36.0" - resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.0.tgz" - integrity sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ== + version "3.42.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.42.0.tgz#e86c45a7f3bdcb608823e872f73d1ad9ddf0531d" + integrity sha512-007bM04u91fF4kMgwom2I5cQxAFIy8jVulgr9eozILl/SZE53QOqnW/+vviC+wQWLv+AunBG+8Q0TLoeSsSxRQ== core-js@^3.31.1: - version "3.36.0" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz" - integrity sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw== + version "3.42.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.42.0.tgz#edbe91f78ac8cfb6df8d997e74d368a68082fe37" + integrity sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g== core-util-is@~1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== dependencies: "@types/parse-json" "^4.0.0" @@ -4049,20 +3459,9 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -cosmiconfig@^7.0.1: - version "7.1.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: version "8.3.6" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== dependencies: import-fresh "^3.3.0" @@ -4071,9 +3470,9 @@ cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: path-type "^4.0.0" cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -4081,33 +3480,49 @@ cross-spawn@^7.0.3: crypto-random-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2" integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== dependencies: type-fest "^1.0.1" +css-blank-pseudo@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz#32020bff20a209a53ad71b8675852b49e8d57e46" + integrity sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag== + dependencies: + postcss-selector-parser "^7.0.0" + css-declaration-sorter@^7.2.0: version "7.2.0" - resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz#6dec1c9523bc4a643e088aab8f09e67a54961024" integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== +css-has-pseudo@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-7.0.2.tgz#fb42e8de7371f2896961e1f6308f13c2c7019b72" + integrity sha512-nzol/h+E0bId46Kn2dQH5VElaknX2Sr0hFuB/1EomdC7j+OISt2ZzK7EHX9DZDY53WbIVAR7FYKSO2XnSf07MQ== + dependencies: + "@csstools/selector-specificity" "^5.0.0" + postcss-selector-parser "^7.0.0" + postcss-value-parser "^4.2.0" + css-loader@^6.8.1: - version "6.10.0" - resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz" - integrity sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw== + version "6.11.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" + integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== dependencies: icss-utils "^5.1.0" postcss "^8.4.33" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.4" - postcss-modules-scope "^3.1.1" + postcss-modules-extract-imports "^3.1.0" + postcss-modules-local-by-default "^4.0.5" + postcss-modules-scope "^3.2.0" postcss-modules-values "^4.0.0" postcss-value-parser "^4.2.0" semver "^7.5.4" css-minimizer-webpack-plugin@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz#33effe662edb1a0bf08ad633c32fa75d0f7ec565" integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== dependencies: "@jridgewell/trace-mapping" "^0.3.18" @@ -4117,9 +3532,14 @@ css-minimizer-webpack-plugin@^5.0.1: schema-utils "^4.0.1" serialize-javascript "^6.0.1" +css-prefers-color-scheme@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz#ba001b99b8105b8896ca26fc38309ddb2278bd3c" + integrity sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ== + css-select@^4.1.3: version "4.3.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== dependencies: boolbase "^1.0.0" @@ -4130,7 +3550,7 @@ css-select@^4.1.3: css-select@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== dependencies: boolbase "^1.0.0" @@ -4139,17 +3559,9 @@ css-select@^5.1.0: domutils "^3.0.1" nth-check "^2.0.1" -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - css-tree@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== dependencies: mdn-data "2.0.30" @@ -4157,7 +3569,7 @@ css-tree@^2.3.1: css-tree@~2.2.0: version "2.2.1" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== dependencies: mdn-data "2.0.28" @@ -4165,17 +3577,22 @@ css-tree@~2.2.0: css-what@^6.0.1, css-what@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== +cssdb@^8.2.5: + version "8.2.5" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-8.2.5.tgz#728313b62c744ea1590f740ef7827ec0ef5f80a1" + integrity sha512-leAt8/hdTCtzql9ZZi86uYAmCLzVKpJMMdjbvOGVnXFXz/BWFpBmM1MHEHU/RqtPyRYmabVmEW1DtX3YGLuuLA== + cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== cssnano-preset-advanced@^6.1.2: version "6.1.2" - resolved "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz" + resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz#82b090872b8f98c471f681d541c735acf8b94d3f" integrity sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ== dependencies: autoprefixer "^10.4.19" @@ -4188,7 +3605,7 @@ cssnano-preset-advanced@^6.1.2: cssnano-preset-default@^6.1.2: version "6.1.2" - resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz#adf4b89b975aa775f2750c89dbaf199bbd9da35e" integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg== dependencies: browserslist "^4.23.0" @@ -4224,94 +3641,87 @@ cssnano-preset-default@^6.1.2: cssnano-utils@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.2.tgz#56f61c126cd0f11f2eef1596239d730d9fceff3c" integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ== cssnano@^6.0.1, cssnano@^6.1.2: version "6.1.2" - resolved "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.1.2.tgz#4bd19e505bd37ee7cf0dc902d3d869f6d79c66b8" integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA== dependencies: cssnano-preset-default "^6.1.2" lilconfig "^3.1.1" -csso@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - csso@^5.0.5: version "5.0.5" - resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz" + resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== dependencies: css-tree "~2.2.0" csstype@^3.0.2: version "3.1.3" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== debounce@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== debug@2.6.9, debug@^2.6.0: version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== dependencies: - ms "2.1.2" + ms "^2.1.3" decode-named-character-reference@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" - integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz#5d6ce68792808901210dac42a8e9853511e2b8bf" + integrity sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w== dependencies: character-entities "^2.0.0" decompress-response@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== dependencies: mimic-response "^3.1.0" deep-extend@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deepmerge@^4.2.2, deepmerge@^4.3.1: version "4.3.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== default-gateway@^6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== dependencies: execa "^5.0.0" defer-to-connect@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -define-data-property@^1.0.1, define-data-property@^1.1.2: +define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== dependencies: es-define-property "^1.0.0" @@ -4320,12 +3730,12 @@ define-data-property@^1.0.1, define-data-property@^1.1.2: define-lazy-prop@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.3, define-properties@^1.2.1: +define-properties@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: define-data-property "^1.0.1" @@ -4334,7 +3744,7 @@ define-properties@^1.1.3, define-properties@^1.2.1: del@^6.1.1: version "6.1.1" - resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz" + resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== dependencies: globby "^11.0.1" @@ -4348,76 +3758,76 @@ del@^6.1.1: depd@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== depd@~1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== dequal@^2.0.0: version "2.0.3" - resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== destroy@1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== detect-node@^2.0.4: version "2.1.0" - resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== detect-port-alt@^1.1.6: version "1.1.6" - resolved "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" + resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== dependencies: address "^1.0.1" debug "^2.6.0" detect-port@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz" - integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== + version "1.6.1" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.6.1.tgz#45e4073997c5f292b957cb678fb0bb8ed4250a67" + integrity sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q== dependencies: address "^1.0.1" debug "4" devlop@^1.0.0, devlop@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== dependencies: dequal "^2.0.0" dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" dns-packet@^5.2.2: version "5.6.1" - resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== dependencies: "@leichtgewicht/ip-codec" "^2.0.1" dom-converter@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== dependencies: utila "~0.4" dom-serializer@^1.0.1: version "1.4.1" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== dependencies: domelementtype "^2.0.1" @@ -4426,7 +3836,7 @@ dom-serializer@^1.0.1: dom-serializer@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== dependencies: domelementtype "^2.3.0" @@ -4435,26 +3845,26 @@ dom-serializer@^2.0.0: domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== dependencies: domelementtype "^2.2.0" domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== dependencies: domelementtype "^2.3.0" domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" @@ -4462,9 +3872,9 @@ domutils@^2.5.2, domutils@^2.8.0: domhandler "^4.2.0" domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + version "3.2.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78" + integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== dependencies: dom-serializer "^2.0.0" domelementtype "^2.3.0" @@ -4472,7 +3882,7 @@ domutils@^3.0.1: dot-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== dependencies: no-case "^3.0.4" @@ -4480,131 +3890,180 @@ dot-case@^3.0.4: dot-prop@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== dependencies: is-obj "^2.0.0" +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + duplexer@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== eastasianwidth@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== ee-first@1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.5.41: - version "1.5.72" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.72.tgz" - integrity sha512-ZpSAUOZ2Izby7qnZluSrAlGgGQzucmFbN0n64dYzocYxnxV5ufurpj3VgEe4cUp7ir9LmeLxNYo8bVnlM8bQHw== +electron-to-chromium@^1.5.149: + version "1.5.152" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.152.tgz#bcdd39567e291b930ec26b930031137a05593695" + integrity sha512-xBOfg/EBaIlVsHipHl2VdTPJRSvErNUaqW8ejTq5OlOlIYx1wOllCHsAvAIrr55jD1IYEfdR86miUEt8H5IeJg== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== emojilib@^2.4.0: version "2.4.0" - resolved "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz" + resolved "https://registry.yarnpkg.com/emojilib/-/emojilib-2.4.0.tgz#ac518a8bb0d5f76dda57289ccb2fdf9d39ae721e" integrity sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw== emojis-list@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== emoticon@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz" - integrity sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw== + version "4.1.0" + resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-4.1.0.tgz#d5a156868ee173095627a33de3f1e914c3dde79e" + integrity sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ== encodeurl@~1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -enhanced-resolve@^5.15.0: - version "5.15.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + +enhanced-resolve@^5.17.1: + version "5.18.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf" + integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" entities@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== entities@^4.2.0, entities@^4.4.0: version "4.5.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== +entities@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.0.tgz#09c9e29cb79b0a6459a9b9db9efb418ac5bb8e51" + integrity sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw== + error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== es-errors@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-module-lexer@^1.2.1: - version "1.4.1" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz" - integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + version "1.7.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" + integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +esast-util-from-estree@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz#8d1cfb51ad534d2f159dc250e604f3478a79f1ad" + integrity sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ== + dependencies: + "@types/estree-jsx" "^1.0.0" + devlop "^1.0.0" + estree-util-visit "^2.0.0" + unist-util-position-from-estree "^2.0.0" + +esast-util-from-js@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz#5147bec34cc9da44accf52f87f239a40ac3e8225" + integrity sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw== + dependencies: + "@types/estree-jsx" "^1.0.0" + acorn "^8.0.0" + esast-util-from-estree "^2.0.0" + vfile-message "^4.0.0" escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-goat@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-4.0.0.tgz#9424820331b510b0666b98f7873fe11ac4aa8081" integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg== escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escape-string-regexp@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== eslint-scope@5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" @@ -4612,36 +4071,36 @@ eslint-scope@5.1.1: esprima@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-util-attach-comments@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz#344bde6a64c8a31d15231e5ee9e297566a691c2d" integrity sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw== dependencies: "@types/estree" "^1.0.0" estree-util-build-jsx@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz#b6d0bced1dcc4f06f25cf0ceda2b2dcaf98168f1" integrity sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ== dependencies: "@types/estree-jsx" "^1.0.0" @@ -4651,12 +4110,20 @@ estree-util-build-jsx@^3.0.0: estree-util-is-identifier-name@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd" integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== +estree-util-scope@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/estree-util-scope/-/estree-util-scope-1.0.0.tgz#9cbdfc77f5cb51e3d9ed4ad9c4adbff22d43e585" + integrity sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + estree-util-to-js@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz#10a6fb924814e6abb62becf0d2bc4dea51d04f17" integrity sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg== dependencies: "@types/estree-jsx" "^1.0.0" @@ -4664,16 +4131,15 @@ estree-util-to-js@^2.0.0: source-map "^0.7.0" estree-util-value-to-estree@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz" - integrity sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA== + version "3.4.0" + resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.4.0.tgz#827122e40c3a756d3c4cf5d5d296fa06026a1a4f" + integrity sha512-Zlp+gxis+gCfK12d3Srl2PdX2ybsEA8ZYy6vQGVQTNNYLEGRQQ56XB64bjemN8kxIKXP1nC9ip4Z+ILy9LGzvQ== dependencies: "@types/estree" "^1.0.0" - is-plain-obj "^4.0.0" estree-util-visit@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-2.0.0.tgz#13a9a9f40ff50ed0c022f831ddf4b58d05446feb" integrity sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww== dependencies: "@types/estree-jsx" "^1.0.0" @@ -4681,29 +4147,29 @@ estree-util-visit@^2.0.0: estree-walker@^3.0.0: version "3.0.3" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== dependencies: "@types/estree" "^1.0.0" esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== eta@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/eta/-/eta-2.2.0.tgz#eb8b5f8c4e8b6306561a455e62cd7492fe3a9b8a" integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== etag@~1.8.1: version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== eval@^0.1.8: version "0.1.8" - resolved "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz" + resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.8.tgz#2b903473b8cc1d1989b83a1e7923f883eb357f85" integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== dependencies: "@types/node" "*" @@ -4711,17 +4177,17 @@ eval@^0.1.8: eventemitter3@^4.0.0: version "4.0.7" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events@^3.2.0: version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== execa@^5.0.0: version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: cross-spawn "^7.0.3" @@ -4735,36 +4201,36 @@ execa@^5.0.0: strip-final-newline "^2.0.0" express@^4.17.3: - version "4.18.2" - resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + version "4.21.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32" + integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.1" + body-parser "1.20.3" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.5.0" + cookie "0.7.1" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.2.0" + finalhandler "1.3.1" fresh "0.5.2" http-errors "2.0.0" - merge-descriptors "1.0.1" + merge-descriptors "1.0.3" methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.7" + path-to-regexp "0.1.12" proxy-addr "~2.0.7" - qs "6.11.0" + qs "6.13.0" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" + send "0.19.0" + serve-static "1.16.2" setprototypeof "1.2.0" statuses "2.0.1" type-is "~1.6.18" @@ -4773,75 +4239,80 @@ express@^4.17.3: extend-shallow@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== dependencies: is-extendable "^0.1.0" extend@^3.0.0: version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: - version "3.3.2" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-url-parser@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" - integrity sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ== - dependencies: - punycode "^1.3.2" +fast-uri@^3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== dependencies: reusify "^1.0.4" fault@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/fault/-/fault-2.0.1.tgz#d47ca9f37ca26e4bd38374a7c500b5a384755b6c" integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== dependencies: format "^0.2.0" faye-websocket@^0.11.3: version "0.11.4" - resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: websocket-driver ">=0.5.1" feed@^4.2.2: version "4.2.2" - resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== dependencies: xml-js "^1.6.11" +figures@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + file-loader@^6.2.0: version "6.2.0" - resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== dependencies: loader-utils "^2.0.0" @@ -4849,23 +4320,23 @@ file-loader@^6.2.0: filesize@^8.0.6: version "8.0.7" - resolved "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== +finalhandler@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" + integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== dependencies: debug "2.6.9" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" on-finished "2.4.1" parseurl "~1.3.3" @@ -4874,7 +4345,7 @@ finalhandler@1.2.0: find-cache-dir@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== dependencies: common-path-prefix "^3.0.0" @@ -4882,14 +4353,14 @@ find-cache-dir@^4.0.0: find-up@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -4897,7 +4368,7 @@ find-up@^5.0.0: find-up@^6.3.0: version "6.3.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== dependencies: locate-path "^7.1.0" @@ -4905,24 +4376,17 @@ find-up@^6.3.0: flat@^5.0.2: version "5.0.2" - resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== follow-redirects@^1.0.0: - version "1.15.5" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz" - integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== fork-ts-checker-webpack-plugin@^6.5.0: version "6.5.3" - resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== dependencies: "@babel/code-frame" "^7.8.3" @@ -4941,33 +4405,33 @@ fork-ts-checker-webpack-plugin@^6.5.0: form-data-encoder@^2.1.2: version "2.1.4" - resolved "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz" + resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5" integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== format@^0.2.0: version "0.2.2" - resolved "https://registry.npmjs.org/format/-/format-0.2.2.tgz" + resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== forwarded@0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fraction.js@^4.3.7: version "4.3.7" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== fresh@0.5.2: version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== fs-extra@^11.1.1, fs-extra@^11.2.0: - version "11.2.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + version "11.3.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" + integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -4975,7 +4439,7 @@ fs-extra@^11.1.1, fs-extra@^11.2.0: fs-extra@^9.0.0: version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" @@ -4984,78 +4448,91 @@ fs-extra@^9.0.0: universalify "^2.0.0" fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + version "1.0.6" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.6.tgz#8ead082953e88d992cf3ff844faa907b26756da2" + integrity sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg== fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@~2.3.2: version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" es-errors "^1.3.0" + es-object-atoms "^1.1.1" function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" - resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== +get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== github-slugger@^1.5.0: version "1.5.0" - resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.1: version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" glob-to-regexp@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -5067,21 +4544,21 @@ glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: global-dirs@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== dependencies: ini "2.0.0" global-modules@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== dependencies: global-prefix "^3.0.0" global-prefix@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== dependencies: ini "^1.3.5" @@ -5090,12 +4567,12 @@ global-prefix@^3.0.0: globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -5107,7 +4584,7 @@ globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: globby@^13.1.1: version "13.2.2" - resolved "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== dependencies: dir-glob "^3.0.1" @@ -5116,16 +4593,14 @@ globby@^13.1.1: merge2 "^1.4.1" slash "^4.0.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== got@^12.1.0: version "12.6.1" - resolved "https://registry.npmjs.org/got/-/got-12.6.1.tgz" + resolved "https://registry.yarnpkg.com/got/-/got-12.6.1.tgz#8869560d1383353204b5a9435f782df9c091f549" integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== dependencies: "@sindresorhus/is" "^5.2.0" @@ -5142,17 +4617,17 @@ got@^12.1.0: graceful-fs@4.2.10: version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== gray-matter@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== dependencies: js-yaml "^3.13.1" @@ -5162,89 +4637,77 @@ gray-matter@^4.0.3: gzip-size@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== dependencies: duplexer "^0.1.2" handle-thing@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0, has-tostringtag@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" +has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== has-yarn@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== -hasown@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz" - integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" hast-util-definition-list@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/hast-util-definition-list/-/hast-util-definition-list-2.0.0.tgz" - integrity sha512-EnkqD6a7R1fwyC9F5R6fu0ucpcwfkxjiga7/G8J7KU+uuUHVENzmgo/Da68fZBy9SZAkQOAC/8gK3m2BnuutUg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/hast-util-definition-list/-/hast-util-definition-list-2.1.0.tgz#9bdf16835c91f47d1c8ff53d732c138e128b9506" + integrity sha512-n3U2gleI8TYZ6eVFjE9TZsGTpaOQlMQj10+WZZFn6Ts5uEu/7XzB8HVLNeu5Sgu7Rv96ThFp79/U6bf/4pS0ew== dependencies: - "@types/hast" "^3.0.1" - "@types/mdast" "^4.0.1" - "@types/unist" "^3.0.0" + "@types/hast" "^3.0.4" + "@types/mdast" "^4.0.3" + "@types/unist" "^3.0.2" hast-util-to-mdast "^10.1.0" mdast-util-definition-list "^2.0.0" - mdast-util-phrasing "^4.0.0" + mdast-util-phrasing "^4.1.0" hast-util-embedded@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz#be4477780fbbe079cdba22982e357a0de4ba853e" integrity sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA== dependencies: "@types/hast" "^3.0.0" hast-util-is-element "^3.0.0" hast-util-from-dom@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.0.tgz" - integrity sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg== + version "5.0.1" + resolved "https://registry.yarnpkg.com/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz#c3c92fbd8d4e1c1625edeb3a773952b9e4ad64a8" + integrity sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q== dependencies: "@types/hast" "^3.0.0" - hastscript "^8.0.0" + hastscript "^9.0.0" web-namespaces "^2.0.0" hast-util-from-html-isomorphic@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz#b31baee386a899a2472326a3c5692f29f86d1d3c" integrity sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw== dependencies: "@types/hast" "^3.0.0" @@ -5253,9 +4716,9 @@ hast-util-from-html-isomorphic@^2.0.0: unist-util-remove-position "^5.0.0" hast-util-from-html@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz" - integrity sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g== + version "2.0.3" + resolved "https://registry.yarnpkg.com/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz#485c74785358beb80c4ba6346299311ac4c49c82" + integrity sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw== dependencies: "@types/hast" "^3.0.0" devlop "^1.1.0" @@ -5265,55 +4728,66 @@ hast-util-from-html@^2.0.0: vfile-message "^4.0.0" hast-util-from-parse5@^8.0.0: - version "8.0.1" - resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz" - integrity sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ== + version "8.0.3" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz#830a35022fff28c3fea3697a98c2f4cc6b835a2e" + integrity sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg== dependencies: "@types/hast" "^3.0.0" "@types/unist" "^3.0.0" devlop "^1.0.0" - hastscript "^8.0.0" - property-information "^6.0.0" + hastscript "^9.0.0" + property-information "^7.0.0" vfile "^6.0.0" vfile-location "^5.0.0" web-namespaces "^2.0.0" hast-util-has-property@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz#4e595e3cddb8ce530ea92f6fc4111a818d8e7f93" integrity sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA== dependencies: "@types/hast" "^3.0.0" hast-util-is-body-ok-link@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.0.tgz" - integrity sha512-VFHY5bo2nY8HiV6nir2ynmEB1XkxzuUffhEGeVx7orbu/B1KaGyeGgMZldvMVx5xWrDlLLG/kQ6YkJAMkBEx0w== + version "3.0.1" + resolved "https://registry.yarnpkg.com/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz#ef63cb2f14f04ecf775139cd92bda5026380d8b4" + integrity sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ== dependencies: "@types/hast" "^3.0.0" hast-util-is-element@1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz#3b3ed5159a2707c6137b48637fbfe068e175a425" integrity sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ== hast-util-is-element@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz#6e31a6532c217e5b533848c7e52c9d9369ca0932" integrity sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g== dependencies: "@types/hast" "^3.0.0" +hast-util-minify-whitespace@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz#7588fd1a53f48f1d30406b81959dffc3650daf55" + integrity sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw== + dependencies: + "@types/hast" "^3.0.0" + hast-util-embedded "^3.0.0" + hast-util-is-element "^3.0.0" + hast-util-whitespace "^3.0.0" + unist-util-is "^6.0.0" + hast-util-parse-selector@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz#352879fa86e25616036037dd8931fb5f34cb4a27" integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== dependencies: "@types/hast" "^3.0.0" hast-util-phrasing@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz#fa284c0cd4a82a0dd6020de8300a7b1ebffa1690" integrity sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ== dependencies: "@types/hast" "^3.0.0" @@ -5323,9 +4797,9 @@ hast-util-phrasing@^3.0.0: hast-util-is-element "^3.0.0" hast-util-raw@^9.0.0: - version "9.0.2" - resolved "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.2.tgz" - integrity sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA== + version "9.1.0" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-9.1.0.tgz#79b66b26f6f68fb50dfb4716b2cdca90d92adf2e" + integrity sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw== dependencies: "@types/hast" "^3.0.0" "@types/unist" "^3.0.0" @@ -5342,9 +4816,9 @@ hast-util-raw@^9.0.0: zwitch "^2.0.0" hast-util-to-estree@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz" - integrity sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw== + version "3.1.3" + resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz#e654c1c9374645135695cc0ab9f70b8fcaf733d7" + integrity sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w== dependencies: "@types/estree" "^1.0.0" "@types/estree-jsx" "^1.0.0" @@ -5357,34 +4831,33 @@ hast-util-to-estree@^3.0.0: mdast-util-mdx-expression "^2.0.0" mdast-util-mdx-jsx "^3.0.0" mdast-util-mdxjs-esm "^2.0.0" - property-information "^6.0.0" + property-information "^7.0.0" space-separated-tokens "^2.0.0" - style-to-object "^0.4.0" + style-to-js "^1.0.0" unist-util-position "^5.0.0" zwitch "^2.0.0" hast-util-to-html@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz" - integrity sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw== + version "9.0.5" + resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz#ccc673a55bb8e85775b08ac28380f72d47167005" + integrity sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw== dependencies: "@types/hast" "^3.0.0" "@types/unist" "^3.0.0" ccount "^2.0.0" comma-separated-tokens "^2.0.0" - hast-util-raw "^9.0.0" hast-util-whitespace "^3.0.0" html-void-elements "^3.0.0" mdast-util-to-hast "^13.0.0" - property-information "^6.0.0" + property-information "^7.0.0" space-separated-tokens "^2.0.0" stringify-entities "^4.0.0" zwitch "^2.0.4" hast-util-to-jsx-runtime@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz" - integrity sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ== + version "2.3.6" + resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz#ff31897aae59f62232e21594eac7ef6b63333e98" + integrity sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg== dependencies: "@types/estree" "^1.0.0" "@types/hast" "^3.0.0" @@ -5396,16 +4869,16 @@ hast-util-to-jsx-runtime@^2.0.0: mdast-util-mdx-expression "^2.0.0" mdast-util-mdx-jsx "^3.0.0" mdast-util-mdxjs-esm "^2.0.0" - property-information "^6.0.0" + property-information "^7.0.0" space-separated-tokens "^2.0.0" - style-to-object "^1.0.0" + style-to-js "^1.0.0" unist-util-position "^5.0.0" vfile-message "^4.0.0" hast-util-to-mdast@^10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.0.tgz" - integrity sha512-DsL/SvCK9V7+vfc6SLQ+vKIyBDXTk2KLSbfBYkH4zeF/uR1yBajHRhkzuaUSGOB1WJSTieJBdHwxlC+HLKvZZw== + version "10.1.2" + resolved "https://registry.yarnpkg.com/hast-util-to-mdast/-/hast-util-to-mdast-10.1.2.tgz#bc76f7f5f72f2cde4d6a66ad4cd0aba82bb79909" + integrity sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ== dependencies: "@types/hast" "^3.0.0" "@types/mdast" "^4.0.0" @@ -5424,7 +4897,7 @@ hast-util-to-mdast@^10.1.0: hast-util-to-parse5@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz#477cd42d278d4f036bc2ea58586130f6f39ee6ed" integrity sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw== dependencies: "@types/hast" "^3.0.0" @@ -5436,9 +4909,9 @@ hast-util-to-parse5@^8.0.0: zwitch "^2.0.0" hast-util-to-text@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.0.tgz" - integrity sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w== + version "4.0.2" + resolved "https://registry.yarnpkg.com/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz#57b676931e71bf9cb852453678495b3080bfae3e" + integrity sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A== dependencies: "@types/hast" "^3.0.0" "@types/unist" "^3.0.0" @@ -5447,30 +4920,30 @@ hast-util-to-text@^4.0.0: hast-util-whitespace@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621" integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== dependencies: "@types/hast" "^3.0.0" -hastscript@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz" - integrity sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw== +hastscript@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-9.0.1.tgz#dbc84bef6051d40084342c229c451cd9dc567dff" + integrity sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w== dependencies: "@types/hast" "^3.0.0" comma-separated-tokens "^2.0.0" hast-util-parse-selector "^4.0.0" - property-information "^6.0.0" + property-information "^7.0.0" space-separated-tokens "^2.0.0" he@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== history@^4.9.0: version "4.10.1" - resolved "https://registry.npmjs.org/history/-/history-4.10.1.tgz" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== dependencies: "@babel/runtime" "^7.1.2" @@ -5482,14 +4955,14 @@ history@^4.9.0: hoist-non-react-statics@^3.1.0: version "3.3.2" - resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" hpack.js@^2.1.6: version "2.1.6" - resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== dependencies: inherits "^2.0.1" @@ -5498,18 +4971,18 @@ hpack.js@^2.1.6: wbuf "^1.1.0" html-entities@^2.3.2: - version "2.4.0" - resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz" - integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== + version "2.6.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.6.0.tgz#7c64f1ea3b36818ccae3d3fb48b6974208e984f8" + integrity sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ== html-escaper@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== html-minifier-terser@^6.0.2: version "6.1.0" - resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== dependencies: camel-case "^4.1.2" @@ -5522,7 +4995,7 @@ html-minifier-terser@^6.0.2: html-minifier-terser@^7.2.0: version "7.2.0" - resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz#18752e23a2f0ed4b0f550f217bb41693e975b942" integrity sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA== dependencies: camel-case "^4.1.2" @@ -5535,18 +5008,18 @@ html-minifier-terser@^7.2.0: html-tags@^3.3.1: version "3.3.1" - resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== html-void-elements@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7" integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== -html-webpack-plugin@^5.5.3: - version "5.6.0" - resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz" - integrity sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw== +html-webpack-plugin@^5.6.0: + version "5.6.3" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz#a31145f0fee4184d53a794f9513147df1e653685" + integrity sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg== dependencies: "@types/html-minifier-terser" "^6.0.0" html-minifier-terser "^6.0.2" @@ -5556,7 +5029,7 @@ html-webpack-plugin@^5.5.3: htmlparser2@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: domelementtype "^2.0.1" @@ -5566,7 +5039,7 @@ htmlparser2@^6.1.0: htmlparser2@^8.0.1: version "8.0.2" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== dependencies: domelementtype "^2.3.0" @@ -5575,18 +5048,18 @@ htmlparser2@^8.0.1: entities "^4.4.0" http-cache-semantics@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5" + integrity sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ== http-deceiver@^1.2.7: version "1.2.7" - resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== http-errors@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: depd "2.0.0" @@ -5597,7 +5070,7 @@ http-errors@2.0.0: http-errors@~1.6.2: version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== dependencies: depd "~1.1.2" @@ -5606,14 +5079,14 @@ http-errors@~1.6.2: statuses ">= 1.4.0 < 2" http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + version "0.5.10" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.10.tgz#b3277bd6d7ed5588e20ea73bf724fcbe44609075" + integrity sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA== http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + version "2.0.9" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz#e9e63d68afaa4eee3d147f39149ab84c0c2815ef" + integrity sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q== dependencies: "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" @@ -5623,7 +5096,7 @@ http-proxy-middleware@^2.0.3: http-proxy@^1.18.1: version "1.18.1" - resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== dependencies: eventemitter3 "^4.0.0" @@ -5632,7 +5105,7 @@ http-proxy@^1.18.1: http2-wrapper@^2.1.10: version "2.2.1" - resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a" integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== dependencies: quick-lru "^5.1.1" @@ -5640,69 +5113,69 @@ http2-wrapper@^2.1.10: human-signals@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== iconv-lite@0.4.24: version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== ignore@^5.2.0, ignore@^5.2.4: - version "5.3.1" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== image-size@^1.0.2: - version "1.1.1" - resolved "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz" - integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ== + version "1.2.1" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.2.1.tgz#ee118aedfe666db1a6ee12bed5821cde3740276d" + integrity sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw== dependencies: queue "6.0.2" immer@^9.0.7: version "9.0.21" - resolved "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== -import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== +import-fresh@^3.1.0, import-fresh@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" import-lazy@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -infima@0.2.0-alpha.43: - version "0.2.0-alpha.43" - resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz" - integrity sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ== +infima@0.2.0-alpha.45: + version "0.2.0-alpha.45" + resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.45.tgz#542aab5a249274d81679631b492973dd2c1e7466" + integrity sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -5710,289 +5183,237 @@ inflight@^1.0.4: inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inherits@2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== ini@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -inline-style-parser@0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" - integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== - -inline-style-parser@0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz" - integrity sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ== +inline-style-parser@0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.4.tgz#f4af5fe72e612839fcd453d989a586566d695f22" + integrity sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q== interpret@^1.0.0: version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== invariant@^2.2.4: version "2.2.4" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== dependencies: loose-envify "^1.0.0" ipaddr.js@1.9.1: version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8" + integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== is-alphabetical@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== is-alphanumerical@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== dependencies: is-alphabetical "^2.0.0" is-decimal "^2.0.0" -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" -is-callable@^1.1.3: - version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - is-ci@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== dependencies: ci-info "^3.2.0" -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== +is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: - hasown "^2.0.0" + hasown "^2.0.2" is-decimal@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== is-extendable@^0.1.0: version "0.1.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-hexadecimal@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== is-installed-globally@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== dependencies: global-dirs "^3.0.0" is-path-inside "^3.0.2" -is-nan@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - is-npm@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-6.0.0.tgz#b59e75e8915543ca5d881ecff864077cba095261" integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== is-obj@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== is-path-cwd@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== is-path-inside@^3.0.2: version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-obj@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== is-plain-obj@^4.0.0: version "4.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - -is-reference@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz" - integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== - dependencies: - "@types/estree" "*" - is-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== is-root@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== is-stream@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-typed-array@^1.1.3: - version "1.1.13" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== - dependencies: - which-typed-array "^1.1.14" - is-typedarray@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-wsl@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" is-yarn-global@^0.4.0: version "0.4.1" - resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.4.1.tgz#b312d902b313f81e4eaf98b6361ba2b45cd694bb" integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== isarray@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== isarray@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== jest-util@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== dependencies: "@jest/types" "^29.6.3" @@ -6004,7 +5425,7 @@ jest-util@^29.7.0: jest-worker@^27.4.5: version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" @@ -6013,7 +5434,7 @@ jest-worker@^27.4.5: jest-worker@^29.4.3: version "29.7.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== dependencies: "@types/node" "*" @@ -6022,14 +5443,14 @@ jest-worker@^29.4.3: supports-color "^8.0.0" jiti@^1.20.0: - version "1.21.0" - resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + version "1.21.7" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.7.tgz#9dd81043424a3d28458b193d965f0d18a2300ba9" + integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== joi@^17.9.2: - version "17.12.2" - resolved "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz" - integrity sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw== + version "17.13.3" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.13.3.tgz#0f5cc1169c999b30d344366d384b12d92558bcec" + integrity sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA== dependencies: "@hapi/hoek" "^9.3.0" "@hapi/topo" "^5.1.0" @@ -6039,12 +5460,12 @@ joi@^17.9.2: "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -6052,49 +5473,49 @@ js-yaml@^3.13.1: js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + +jsesc@~3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - json-buffer@3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json5@^2.1.2, json5@^2.2.3: version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonfile@^6.0.1: version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -6102,67 +5523,67 @@ jsonfile@^6.0.1: graceful-fs "^4.1.6" katex@^0.16.0: - version "0.16.9" - resolved "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz" - integrity sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ== + version "0.16.22" + resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.22.tgz#d2b3d66464b1e6d69e6463b28a86ced5a02c5ccd" + integrity sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg== dependencies: commander "^8.3.0" keyv@^4.5.3: version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== kleur@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== latest-version@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-7.0.0.tgz#843201591ea81a4d404932eeb61240fe04e9e5da" integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== dependencies: package-json "^8.1.0" launch-editor@^2.6.0: - version "2.6.1" - resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz" - integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== + version "2.10.0" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.10.0.tgz#5ca3edfcb9667df1e8721310f3a40f1127d4bc42" + integrity sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA== dependencies: picocolors "^1.0.0" shell-quote "^1.8.1" leven@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== lilconfig@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz" - integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== + version "3.1.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" + integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== loader-runner@^4.2.0: version "4.3.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== loader-utils@^2.0.0: version "2.0.4" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== dependencies: big.js "^5.2.2" @@ -6170,13 +5591,13 @@ loader-utils@^2.0.0: json5 "^2.1.2" loader-utils@^3.2.0: - version "3.2.1" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" - integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== + version "3.3.1" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.3.1.tgz#735b9a19fd63648ca7adbd31c2327dfe281304e5" + integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== locate-path@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" @@ -6184,89 +5605,94 @@ locate-path@^3.0.0: locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" locate-path@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== dependencies: p-locate "^6.0.0" lodash.debounce@^4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash.memoize@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== lodash.uniq@^4.5.0: version "4.5.0" - resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== longest-streak@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" lower-case@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== dependencies: tslib "^2.0.3" lowercase-keys@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - markdown-extensions@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4" integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q== +markdown-table@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" + integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== + dependencies: + repeat-string "^1.0.0" + markdown-table@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz" - integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== + version "3.0.4" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.4.tgz#fe44d6d410ff9d6f2ea1797a3f60aa4d2b631c2a" + integrity sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw== + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== mdast-util-definition-list@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-definition-list/-/mdast-util-definition-list-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-definition-list/-/mdast-util-definition-list-2.0.0.tgz#90ee5f77ccf4e019dc1d8d8c7203a50dfbf630da" integrity sha512-aFWuASQs77BJndNSDcNdvB1HRqWZBptcEjwv67mnPbaAZsfwMHxI8MwoQxAz4I2bHx41hft/HDRC57ZkhpayOQ== dependencies: "@types/mdast" "^4.0.1" @@ -6278,12 +5704,13 @@ mdast-util-definition-list@^2.0.0: unist-builder "^4.0.0" mdast-util-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz" - integrity sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q== + version "3.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz#f3656f4aab6ae3767d3c72cfab5e8055572ccba1" + integrity sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q== dependencies: "@types/mdast" "^4.0.0" "@types/unist" "^3.0.0" + ccount "^2.0.0" devlop "^1.0.0" mdast-util-from-markdown "^2.0.0" mdast-util-to-markdown "^2.0.0" @@ -6292,9 +5719,9 @@ mdast-util-directive@^3.0.0: unist-util-visit-parents "^6.0.0" mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz" - integrity sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA== + version "3.0.2" + resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz#70a3174c894e14df722abf43bc250cbae44b11df" + integrity sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg== dependencies: "@types/mdast" "^4.0.0" escape-string-regexp "^5.0.0" @@ -6302,9 +5729,9 @@ mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: unist-util-visit-parents "^6.0.0" mdast-util-from-markdown@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz" - integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== + version "2.0.2" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz#4850390ca7cf17413a9b9a0fbefcd1bc0eb4160a" + integrity sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA== dependencies: "@types/mdast" "^4.0.0" "@types/unist" "^3.0.0" @@ -6321,7 +5748,7 @@ mdast-util-from-markdown@^2.0.0: mdast-util-frontmatter@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz#f5f929eb1eb36c8a7737475c7eb438261f964ee8" integrity sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA== dependencies: "@types/mdast" "^4.0.0" @@ -6332,9 +5759,9 @@ mdast-util-frontmatter@^2.0.0: micromark-extension-frontmatter "^2.0.0" mdast-util-gfm-autolink-literal@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz" - integrity sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg== + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz#abd557630337bd30a6d5a4bd8252e1c2dc0875d5" + integrity sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ== dependencies: "@types/mdast" "^4.0.0" ccount "^2.0.0" @@ -6343,9 +5770,9 @@ mdast-util-gfm-autolink-literal@^2.0.0: micromark-util-character "^2.0.0" mdast-util-gfm-footnote@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz" - integrity sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz#7778e9d9ca3df7238cc2bd3fa2b1bf6a65b19403" + integrity sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ== dependencies: "@types/mdast" "^4.0.0" devlop "^1.1.0" @@ -6355,7 +5782,7 @@ mdast-util-gfm-footnote@^2.0.0: mdast-util-gfm-strikethrough@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz#d44ef9e8ed283ac8c1165ab0d0dfd058c2764c16" integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== dependencies: "@types/mdast" "^4.0.0" @@ -6364,7 +5791,7 @@ mdast-util-gfm-strikethrough@^2.0.0: mdast-util-gfm-table@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz#7a435fb6223a72b0862b33afbd712b6dae878d38" integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== dependencies: "@types/mdast" "^4.0.0" @@ -6375,7 +5802,7 @@ mdast-util-gfm-table@^2.0.0: mdast-util-gfm-task-list-item@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz#e68095d2f8a4303ef24094ab642e1047b991a936" integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== dependencies: "@types/mdast" "^4.0.0" @@ -6384,9 +5811,9 @@ mdast-util-gfm-task-list-item@^2.0.0: mdast-util-to-markdown "^2.0.0" mdast-util-gfm@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz" - integrity sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw== + version "3.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz#2cdf63b92c2a331406b0fb0db4c077c1b0331751" + integrity sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ== dependencies: mdast-util-from-markdown "^2.0.0" mdast-util-gfm-autolink-literal "^2.0.0" @@ -6398,7 +5825,7 @@ mdast-util-gfm@^3.0.0: mdast-util-math@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-math/-/mdast-util-math-3.0.0.tgz#8d79dd3baf8ab8ac781f62b8853768190b9a00b0" integrity sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w== dependencies: "@types/hast" "^3.0.0" @@ -6410,9 +5837,9 @@ mdast-util-math@^3.0.0: unist-util-remove-position "^5.0.0" mdast-util-mdx-expression@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz" - integrity sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz#43f0abac9adc756e2086f63822a38c8d3c3a5096" + integrity sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ== dependencies: "@types/estree-jsx" "^1.0.0" "@types/hast" "^3.0.0" @@ -6422,9 +5849,9 @@ mdast-util-mdx-expression@^2.0.0: mdast-util-to-markdown "^2.0.0" mdast-util-mdx-jsx@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.0.tgz" - integrity sha512-A8AJHlR7/wPQ3+Jre1+1rq040fX9A4Q1jG8JxmSNp/PLPHg80A6475wxTp3KzHpApFH6yWxFotHrJQA3dXP6/w== + version "3.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz#fd04c67a2a7499efb905a8a5c578dddc9fdada0d" + integrity sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q== dependencies: "@types/estree-jsx" "^1.0.0" "@types/hast" "^3.0.0" @@ -6436,13 +5863,12 @@ mdast-util-mdx-jsx@^3.0.0: mdast-util-to-markdown "^2.0.0" parse-entities "^4.0.0" stringify-entities "^4.0.0" - unist-util-remove-position "^5.0.0" unist-util-stringify-position "^4.0.0" vfile-message "^4.0.0" mdast-util-mdx@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz#792f9cf0361b46bee1fdf1ef36beac424a099c41" integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== dependencies: mdast-util-from-markdown "^2.0.0" @@ -6453,7 +5879,7 @@ mdast-util-mdx@^3.0.0: mdast-util-mdxjs-esm@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97" integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== dependencies: "@types/estree-jsx" "^1.0.0" @@ -6463,18 +5889,18 @@ mdast-util-mdxjs-esm@^2.0.0: mdast-util-from-markdown "^2.0.0" mdast-util-to-markdown "^2.0.0" -mdast-util-phrasing@^4.0.0: +mdast-util-phrasing@^4.0.0, mdast-util-phrasing@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz#7cc0a8dec30eaf04b7b1a9661a92adb3382aa6e3" integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== dependencies: "@types/mdast" "^4.0.0" unist-util-is "^6.0.0" mdast-util-to-hast@^13.0.0, mdast-util-to-hast@^13.0.2: - version "13.1.0" - resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz" - integrity sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA== + version "13.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz#5ca58e5b921cc0a3ded1bc02eed79a4fe4fe41f4" + integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA== dependencies: "@types/hast" "^3.0.0" "@types/mdast" "^4.0.0" @@ -6487,77 +5913,73 @@ mdast-util-to-hast@^13.0.0, mdast-util-to-hast@^13.0.2: vfile "^6.0.0" mdast-util-to-markdown@^2.0.0, mdast-util-to-markdown@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz" - integrity sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ== + version "2.1.2" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz#f910ffe60897f04bb4b7e7ee434486f76288361b" + integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA== dependencies: "@types/mdast" "^4.0.0" "@types/unist" "^3.0.0" longest-streak "^3.0.0" mdast-util-phrasing "^4.0.0" mdast-util-to-string "^4.0.0" + micromark-util-classify-character "^2.0.0" micromark-util-decode-string "^2.0.0" unist-util-visit "^5.0.0" zwitch "^2.0.0" mdast-util-to-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== dependencies: "@types/mdast" "^4.0.0" -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - mdn-data@2.0.28: version "2.0.28" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== mdn-data@2.0.30: version "2.0.30" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== media-typer@0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== memfs@^3.1.2, memfs@^3.4.3: version "3.6.0" - resolved "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== dependencies: fs-monkey "^1.0.4" -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== methods@~1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromark-core-commonmark@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz" - integrity sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA== + version "2.0.3" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz#c691630e485021a68cf28dbc2b2ca27ebf678cd4" + integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== dependencies: decode-named-character-reference "^1.0.0" devlop "^1.0.0" @@ -6577,11 +5999,10 @@ micromark-core-commonmark@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-definition-list@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-definition-list/-/micromark-extension-definition-list-2.0.0.tgz" - integrity sha512-92SSfTdG7YIXiYj60sNDPoo3MTJXK94LRLfKsoDHgDqiE61p4w4pzdyCc9SuoQ74/bzb5SXPVK11kjlYnIjzKA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-definition-list/-/micromark-extension-definition-list-2.0.1.tgz#f83534437d8256a9819b93c7119b808368f377de" + integrity sha512-lQSkVTWNR0f9qzUbM4p0chJSecIRYvZBjnI+cWqN0k2zDSvzpduGJifWJj4SpCWF4TlpNV9amCF8Y1VEXdJubQ== dependencies: - assert "^2.0.0" micromark-core-commonmark "^2.0.0" micromark-factory-space "^2.0.0" micromark-util-character "^2.0.1" @@ -6591,9 +6012,9 @@ micromark-extension-definition-list@^2.0.0: ts-dedent "^2.2.0" micromark-extension-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz" - integrity sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg== + version "3.0.2" + resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz#2eb61985d1995a7c1ff7621676a4f32af29409e8" + integrity sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -6605,7 +6026,7 @@ micromark-extension-directive@^3.0.0: micromark-extension-frontmatter@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz#651c52ffa5d7a8eeed687c513cd869885882d67a" integrity sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg== dependencies: fault "^2.0.0" @@ -6614,9 +6035,9 @@ micromark-extension-frontmatter@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-autolink-literal@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz" - integrity sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz#6286aee9686c4462c1e3552a9d505feddceeb935" + integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw== dependencies: micromark-util-character "^2.0.0" micromark-util-sanitize-uri "^2.0.0" @@ -6624,9 +6045,9 @@ micromark-extension-gfm-autolink-literal@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-footnote@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz" - integrity sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz#4dab56d4e398b9853f6fe4efac4fc9361f3e0750" + integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== dependencies: devlop "^1.0.0" micromark-core-commonmark "^2.0.0" @@ -6638,9 +6059,9 @@ micromark-extension-gfm-footnote@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-strikethrough@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz" - integrity sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz#86106df8b3a692b5f6a92280d3879be6be46d923" + integrity sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw== dependencies: devlop "^1.0.0" micromark-util-chunked "^2.0.0" @@ -6650,9 +6071,9 @@ micromark-extension-gfm-strikethrough@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-table@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz" - integrity sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw== + version "2.1.1" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz#fac70bcbf51fe65f5f44033118d39be8a9b5940b" + integrity sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -6662,15 +6083,15 @@ micromark-extension-gfm-table@^2.0.0: micromark-extension-gfm-tagfilter@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz#f26d8a7807b5985fba13cf61465b58ca5ff7dc57" integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== dependencies: micromark-util-types "^2.0.0" micromark-extension-gfm-task-list-item@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz" - integrity sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz#bcc34d805639829990ec175c3eea12bb5b781f2c" + integrity sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -6680,7 +6101,7 @@ micromark-extension-gfm-task-list-item@^2.0.0: micromark-extension-gfm@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz#3e13376ab95dd7a5cfd0e29560dfe999657b3c5b" integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== dependencies: micromark-extension-gfm-autolink-literal "^2.0.0" @@ -6694,7 +6115,7 @@ micromark-extension-gfm@^3.0.0: micromark-extension-math@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz#c42ee3b1dd5a9a03584e83dd8f08e3de510212c1" integrity sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg== dependencies: "@types/katex" "^0.16.0" @@ -6706,9 +6127,9 @@ micromark-extension-math@^3.0.0: micromark-util-types "^2.0.0" micromark-extension-mdx-expression@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz" - integrity sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ== + version "3.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz#43d058d999532fb3041195a3c3c05c46fa84543b" + integrity sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q== dependencies: "@types/estree" "^1.0.0" devlop "^1.0.0" @@ -6720,31 +6141,31 @@ micromark-extension-mdx-expression@^3.0.0: micromark-util-types "^2.0.0" micromark-extension-mdx-jsx@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz" - integrity sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w== + version "3.0.2" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz#ffc98bdb649798902fa9fc5689f67f9c1c902044" + integrity sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ== dependencies: - "@types/acorn" "^4.0.0" "@types/estree" "^1.0.0" devlop "^1.0.0" estree-util-is-identifier-name "^3.0.0" micromark-factory-mdx-expression "^2.0.0" micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" vfile-message "^4.0.0" micromark-extension-mdx-md@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz#1d252881ea35d74698423ab44917e1f5b197b92d" integrity sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ== dependencies: micromark-util-types "^2.0.0" micromark-extension-mdxjs-esm@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz#de21b2b045fd2059bd00d36746081de38390d54a" integrity sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A== dependencies: "@types/estree" "^1.0.0" @@ -6759,7 +6180,7 @@ micromark-extension-mdxjs-esm@^3.0.0: micromark-extension-mdxjs@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz#b5a2e0ed449288f3f6f6c544358159557549de18" integrity sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ== dependencies: acorn "^8.0.0" @@ -6772,18 +6193,18 @@ micromark-extension-mdxjs@^3.0.0: micromark-util-types "^2.0.0" micromark-factory-destination@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz" - integrity sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz#8fef8e0f7081f0474fbdd92deb50c990a0264639" + integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA== dependencies: micromark-util-character "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" micromark-factory-label@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz" - integrity sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz#5267efa97f1e5254efc7f20b459a38cb21058ba1" + integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg== dependencies: devlop "^1.0.0" micromark-util-character "^2.0.0" @@ -6791,12 +6212,13 @@ micromark-factory-label@^2.0.0: micromark-util-types "^2.0.0" micromark-factory-mdx-expression@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz" - integrity sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg== + version "2.0.3" + resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz#bb09988610589c07d1c1e4425285895041b3dfa9" + integrity sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ== dependencies: "@types/estree" "^1.0.0" devlop "^1.0.0" + micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" micromark-util-events-to-acorn "^2.0.0" micromark-util-symbol "^2.0.0" @@ -6806,24 +6228,24 @@ micromark-factory-mdx-expression@^2.0.0: micromark-factory-space@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== dependencies: micromark-util-character "^1.0.0" micromark-util-types "^1.0.0" micromark-factory-space@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz" - integrity sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz#36d0212e962b2b3121f8525fc7a3c7c029f334fc" + integrity sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg== dependencies: micromark-util-character "^2.0.0" micromark-util-types "^2.0.0" micromark-factory-title@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz" - integrity sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz#237e4aa5d58a95863f01032d9ee9b090f1de6e94" + integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw== dependencies: micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" @@ -6831,9 +6253,9 @@ micromark-factory-title@^2.0.0: micromark-util-types "^2.0.0" micromark-factory-whitespace@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz" - integrity sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz#06b26b2983c4d27bfcc657b33e25134d4868b0b1" + integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ== dependencies: micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" @@ -6842,55 +6264,55 @@ micromark-factory-whitespace@^2.0.0: micromark-util-character@^1.0.0, micromark-util-character@^1.1.0: version "1.2.0" - resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== dependencies: micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" micromark-util-character@^2.0.0, micromark-util-character@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz" - integrity sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" + integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== dependencies: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" micromark-util-chunked@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz" - integrity sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz#47fbcd93471a3fccab86cff03847fc3552db1051" + integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA== dependencies: micromark-util-symbol "^2.0.0" micromark-util-classify-character@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz" - integrity sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz#d399faf9c45ca14c8b4be98b1ea481bced87b629" + integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q== dependencies: micromark-util-character "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" micromark-util-combine-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz" - integrity sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz#2a0f490ab08bff5cc2fd5eec6dd0ca04f89b30a9" + integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg== dependencies: micromark-util-chunked "^2.0.0" micromark-util-types "^2.0.0" micromark-util-decode-numeric-character-reference@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz" - integrity sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ== + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz#fcf15b660979388e6f118cdb6bf7d79d73d26fe5" + integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw== dependencies: micromark-util-symbol "^2.0.0" micromark-util-decode-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz" - integrity sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz#6cb99582e5d271e84efca8e61a807994d7161eb2" + integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== dependencies: decode-named-character-reference "^1.0.0" micromark-util-character "^2.0.0" @@ -6898,16 +6320,15 @@ micromark-util-decode-string@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz" - integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8" + integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== micromark-util-events-to-acorn@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz" - integrity sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA== + version "2.0.3" + resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz#e7a8a6b55a47e5a06c720d5a1c4abae8c37c98f3" + integrity sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg== dependencies: - "@types/acorn" "^4.0.0" "@types/estree" "^1.0.0" "@types/unist" "^3.0.0" devlop "^1.0.0" @@ -6917,37 +6338,37 @@ micromark-util-events-to-acorn@^2.0.0: vfile-message "^4.0.0" micromark-util-html-tag-name@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz" - integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz#e40403096481986b41c106627f98f72d4d10b825" + integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== micromark-util-normalize-identifier@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz" - integrity sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz#c30d77b2e832acf6526f8bf1aa47bc9c9438c16d" + integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q== dependencies: micromark-util-symbol "^2.0.0" micromark-util-resolve-all@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz" - integrity sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz#e1a2d62cdd237230a2ae11839027b19381e31e8b" + integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg== dependencies: micromark-util-types "^2.0.0" micromark-util-sanitize-uri@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz" - integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7" + integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== dependencies: micromark-util-character "^2.0.0" micromark-util-encode "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-subtokenize@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz" - integrity sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz#d8ade5ba0f3197a1cf6a2999fbbfe6357a1a19ee" + integrity sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA== dependencies: devlop "^1.0.0" micromark-util-chunked "^2.0.0" @@ -6956,28 +6377,28 @@ micromark-util-subtokenize@^2.0.0: micromark-util-symbol@^1.0.0, micromark-util-symbol@^1.0.1: version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== micromark-util-symbol@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz" - integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8" + integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== micromark-util-types@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== micromark-util-types@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz" - integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e" + integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== micromark@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz" - integrity sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ== + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.2.tgz#91395a3e1884a198e62116e33c9c568e39936fdb" + integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== dependencies: "@types/debug" "^4.0.0" debug "^4.0.0" @@ -6997,138 +6418,143 @@ micromark@^4.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== +micromatch@^4.0.2, micromatch@^4.0.5, micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +mime-db@1.52.0: version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== +"mime-db@>= 1.43.0 < 2": + version "1.54.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== + mime-db@~1.33.0: version "1.33.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== mime-types@2.1.18: version "2.1.18" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== dependencies: mime-db "~1.33.0" mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" mime@1.6.0: version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mimic-response@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== mimic-response@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== -mini-css-extract-plugin@^2.7.6: - version "2.8.0" - resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.0.tgz" - integrity sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg== +mini-css-extract-plugin@^2.9.1: + version "2.9.2" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz#966031b468917a5446f4c24a80854b2947503c5b" + integrity sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w== dependencies: schema-utils "^4.0.0" tapable "^2.2.1" minimalistic-assert@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" minimist@^1.2.0: version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== mrmime@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz" - integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc" + integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== ms@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3: +ms@2.1.3, ms@^2.1.3: version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== multicast-dns@^7.2.5: version "7.2.5" - resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== dependencies: dns-packet "^5.2.2" thunky "^1.0.2" -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== +nanoid@^3.3.8: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== negotiator@0.6.3: version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== +negotiator@~0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + neo-async@^2.6.2: version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== no-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== dependencies: lower-case "^2.0.2" tslib "^2.0.3" node-emoji@^2.1.0: - version "2.1.3" - resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz" - integrity sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-2.2.0.tgz#1d000e3c76e462577895be1b436f4aa2d6760eb0" + integrity sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw== dependencies: "@sindresorhus/is" "^4.6.0" char-regex "^1.0.2" @@ -7137,115 +6563,117 @@ node-emoji@^2.1.0: node-forge@^1: version "1.3.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== -node-releases@^2.0.18: +node-releases@^2.0.19: version "2.0.19" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== normalize-url@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz" - integrity sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== + version "8.0.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.1.tgz#9b7d96af9836577c58f5883e939365fa15623a4a" + integrity sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w== npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" nprogress@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== nth-check@^2.0.1: version "2.1.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== dependencies: boolbase "^1.0.0" +null-loader@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-4.0.1.tgz#8e63bd3a2dd3c64236a4679428632edd0a6dbc6a" + integrity sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.0, object.assign@^4.1.4: - version "4.1.5" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== +object.assign@^4.1.0: + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - has-symbols "^1.0.3" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" object-keys "^1.1.1" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== on-finished@2.4.1: version "2.4.1" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" on-headers@~1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== once@^1.3.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" onetime@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" open@^8.0.9, open@^8.4.0: version "8.4.2" - resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== dependencies: define-lazy-prop "^2.0.0" @@ -7254,66 +6682,66 @@ open@^8.0.9, open@^8.4.0: opener@^1.5.2: version "1.5.2" - resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== p-cancelable@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== p-limit@^2.0.0: version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-limit@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-limit@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== dependencies: yocto-queue "^1.0.0" p-locate@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" p-locate@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== dependencies: p-limit "^4.0.0" p-map@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: aggregate-error "^3.0.0" p-retry@^4.5.0: version "4.6.2" - resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== dependencies: "@types/retry" "0.12.0" @@ -7321,12 +6749,12 @@ p-retry@^4.5.0: p-try@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== package-json@^8.1.0: version "8.1.1" - resolved "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-8.1.1.tgz#3e9948e43df40d1e8e78a85485f1070bf8f03dc8" integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA== dependencies: got "^12.1.0" @@ -7336,7 +6764,7 @@ package-json@^8.1.0: param-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: dot-case "^3.0.4" @@ -7344,18 +6772,17 @@ param-case@^3.0.4: parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-entities@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz" - integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== + version "4.0.2" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.2.tgz#61d46f5ed28e4ee62e9ddc43d6b010188443f159" + integrity sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw== dependencies: "@types/unist" "^2.0.0" - character-entities "^2.0.0" character-entities-legacy "^3.0.0" character-reference-invalid "^2.0.0" decode-named-character-reference "^1.0.0" @@ -7365,7 +6792,7 @@ parse-entities@^4.0.0: parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -7375,32 +6802,32 @@ parse-json@^5.0.0, parse-json@^5.2.0: parse-numeric-range@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== parse5-htmlparser2-tree-adapter@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" - integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== + version "7.1.0" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz#b5a806548ed893a43e24ccb42fbb78069311e81b" + integrity sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g== dependencies: - domhandler "^5.0.2" + domhandler "^5.0.3" parse5 "^7.0.0" parse5@^7.0.0: - version "7.1.2" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + version "7.3.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05" + integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== dependencies: - entities "^4.4.0" + entities "^6.0.0" parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== pascal-case@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== dependencies: no-case "^3.0.4" @@ -7408,110 +6835,137 @@ pascal-case@^3.1.2: path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-exists@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-is-inside@1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== +path-to-regexp@0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== -path-to-regexp@2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" - integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== +path-to-regexp@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-3.3.0.tgz#f7f31d32e8518c2660862b644414b6d5c63a611b" + integrity sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw== path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + version "1.9.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz#5dc0753acbf8521ca2e0f137b4578b917b10cf24" + integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== dependencies: isarray "0.0.1" path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -periscopic@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz" - integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^3.0.0" - is-reference "^3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -picocolors@^1.0.0, picocolors@^1.1.0: +picocolors@^1.0.0, picocolors@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pkg-dir@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== dependencies: find-up "^6.3.0" pkg-up@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== dependencies: find-up "^3.0.0" -possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== +postcss-attribute-case-insensitive@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz#0c4500e3bcb2141848e89382c05b5a31c23033a3" + integrity sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw== + dependencies: + postcss-selector-parser "^7.0.0" postcss-calc@^9.0.1: version "9.0.1" - resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== dependencies: postcss-selector-parser "^6.0.11" postcss-value-parser "^4.2.0" +postcss-clamp@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" + integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-color-functional-notation@^7.0.9: + version "7.0.9" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.9.tgz#2be1abbdd68fc7e8906a7a4ae6e6c8484aae8485" + integrity sha512-WScwD3pSsIz+QP97sPkGCeJm7xUH0J18k6zV5o8O2a4cQJyv15vLUx/WFQajuJVgZhmJL5awDu8zHnqzAzm4lw== + dependencies: + "@csstools/css-color-parser" "^3.0.9" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/utilities" "^2.0.0" + +postcss-color-hex-alpha@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz#5dd3eba1f8facb4ea306cba6e3f7712e876b0c76" + integrity sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w== + dependencies: + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + +postcss-color-rebeccapurple@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz#5ada28406ac47e0796dff4056b0a9d5a6ecead98" + integrity sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ== + dependencies: + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + postcss-colormin@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.1.0.tgz#076e8d3fb291fbff7b10e6b063be9da42ff6488d" integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw== dependencies: browserslist "^4.23.0" @@ -7521,51 +6975,148 @@ postcss-colormin@^6.1.0: postcss-convert-values@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz#3498387f8efedb817cbc63901d45bd1ceaa40f48" integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w== dependencies: browserslist "^4.23.0" postcss-value-parser "^4.2.0" +postcss-custom-media@^11.0.5: + version "11.0.5" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-11.0.5.tgz#2fcd88a9b1d4da41c67dac6f2def903063a3377d" + integrity sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ== + dependencies: + "@csstools/cascade-layer-name-parser" "^2.0.4" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/media-query-list-parser" "^4.0.2" + +postcss-custom-properties@^14.0.4: + version "14.0.4" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-14.0.4.tgz#de9c663285a98833a946d7003a34369d3ce373a9" + integrity sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A== + dependencies: + "@csstools/cascade-layer-name-parser" "^2.0.4" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + +postcss-custom-selectors@^8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-8.0.4.tgz#95ef8268fdbbbd84f34cf84a4517c9d99d419c5a" + integrity sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg== + dependencies: + "@csstools/cascade-layer-name-parser" "^2.0.4" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + postcss-selector-parser "^7.0.0" + +postcss-dir-pseudo-class@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz#80d9e842c9ae9d29f6bf5fd3cf9972891d6cc0ca" + integrity sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA== + dependencies: + postcss-selector-parser "^7.0.0" + postcss-discard-comments@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz#e768dcfdc33e0216380623652b0a4f69f4678b6c" integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw== postcss-discard-duplicates@^6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz#d121e893c38dc58a67277f75bb58ba43fce4c3eb" integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw== postcss-discard-empty@^6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz#ee39c327219bb70473a066f772621f81435a79d9" integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ== postcss-discard-overridden@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz#4e9f9c62ecd2df46e8fdb44dc17e189776572e2d" integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== postcss-discard-unused@^6.0.5: version "6.0.5" - resolved "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz#c1b0e8c032c6054c3fbd22aaddba5b248136f338" integrity sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA== dependencies: postcss-selector-parser "^6.0.16" +postcss-double-position-gradients@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.1.tgz#5fde3de9fb78b467244d8c4fde39f60397beb0ce" + integrity sha512-ZitCwmvOR4JzXmKw6sZblTgwV1dcfLvClcyjADuqZ5hU0Uk4SVNpvSN9w8NcJ7XuxhRYxVA8m8AB3gy+HNBQOA== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + +postcss-focus-visible@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz#1f7904904368a2d1180b220595d77b6f8a957868" + integrity sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA== + dependencies: + postcss-selector-parser "^7.0.0" + +postcss-focus-within@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz#ac01ce80d3f2e8b2b3eac4ff84f8e15cd0057bc7" + integrity sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw== + dependencies: + postcss-selector-parser "^7.0.0" + +postcss-font-variant@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" + integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== + +postcss-gap-properties@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz#d5ff0bdf923c06686499ed2b12e125fe64054fed" + integrity sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw== + +postcss-image-set-function@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz#538e94e16716be47f9df0573b56bbaca86e1da53" + integrity sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA== + dependencies: + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + +postcss-lab-function@^7.0.9: + version "7.0.9" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-7.0.9.tgz#09052f22cc2b8c589e9b29b5c0a10be105b29b69" + integrity sha512-IGbsIXbqMDusymJAKYX+f9oakPo89wL9Pzd/qRBQOVf3EIQWT9hgvqC4Me6Dkzxp3KPuIBf6LPkjrLHe/6ZMIQ== + dependencies: + "@csstools/css-color-parser" "^3.0.9" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/utilities" "^2.0.0" + postcss-loader@^7.3.3: version "7.3.4" - resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.3.4.tgz#aed9b79ce4ed7e9e89e56199d25ad1ec8f606209" integrity sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A== dependencies: cosmiconfig "^8.3.5" jiti "^1.20.0" semver "^7.5.4" +postcss-logical@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-8.1.0.tgz#4092b16b49e3ecda70c4d8945257da403d167228" + integrity sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA== + dependencies: + postcss-value-parser "^4.2.0" + postcss-merge-idents@^6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz#7b9c31c7bc823c94bec50f297f04e3c2b838ea65" integrity sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g== dependencies: cssnano-utils "^4.0.2" @@ -7573,7 +7124,7 @@ postcss-merge-idents@^6.0.3: postcss-merge-longhand@^6.0.5: version "6.0.5" - resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz#ba8a8d473617c34a36abbea8dda2b215750a065a" integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w== dependencies: postcss-value-parser "^4.2.0" @@ -7581,7 +7132,7 @@ postcss-merge-longhand@^6.0.5: postcss-merge-rules@^6.1.1: version "6.1.1" - resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz#7aa539dceddab56019469c0edd7d22b64c3dea9d" integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ== dependencies: browserslist "^4.23.0" @@ -7591,14 +7142,14 @@ postcss-merge-rules@^6.1.1: postcss-minify-font-values@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz#a0e574c02ee3f299be2846369211f3b957ea4c59" integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg== dependencies: postcss-value-parser "^4.2.0" postcss-minify-gradients@^6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz#ca3eb55a7bdb48a1e187a55c6377be918743dbd6" integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q== dependencies: colord "^2.9.3" @@ -7607,7 +7158,7 @@ postcss-minify-gradients@^6.0.3: postcss-minify-params@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz#54551dec77b9a45a29c3cb5953bf7325a399ba08" integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA== dependencies: browserslist "^4.23.0" @@ -7616,82 +7167,91 @@ postcss-minify-params@^6.1.0: postcss-minify-selectors@^6.0.4: version "6.0.4" - resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz#197f7d72e6dd19eed47916d575d69dc38b396aff" integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ== dependencies: postcss-selector-parser "^6.0.16" -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== +postcss-modules-extract-imports@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" + integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== -postcss-modules-local-by-default@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz" - integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== +postcss-modules-local-by-default@^4.0.5: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz#d150f43837831dae25e4085596e84f6f5d6ec368" + integrity sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw== dependencies: icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" + postcss-selector-parser "^7.0.0" postcss-value-parser "^4.1.0" -postcss-modules-scope@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz" - integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== +postcss-modules-scope@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz#1bbccddcb398f1d7a511e0a2d1d047718af4078c" + integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA== dependencies: - postcss-selector-parser "^6.0.4" + postcss-selector-parser "^7.0.0" postcss-modules-values@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: icss-utils "^5.0.0" +postcss-nesting@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-13.0.1.tgz#c405796d7245a3e4c267a9956cacfe9670b5d43e" + integrity sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ== + dependencies: + "@csstools/selector-resolve-nested" "^3.0.0" + "@csstools/selector-specificity" "^5.0.0" + postcss-selector-parser "^7.0.0" + postcss-normalize-charset@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz#1ec25c435057a8001dac942942a95ffe66f721e1" integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ== postcss-normalize-display-values@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz#54f02764fed0b288d5363cbb140d6950dbbdd535" integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-positions@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz#e982d284ec878b9b819796266f640852dbbb723a" integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-repeat-style@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz#f8006942fd0617c73f049dd8b6201c3a3040ecf3" integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-string@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz#e3cc6ad5c95581acd1fc8774b309dd7c06e5e363" integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-timing-functions@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz#40cb8726cef999de984527cbd9d1db1f3e9062c0" integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-unicode@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz#aaf8bbd34c306e230777e80f7f12a4b7d27ce06e" integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg== dependencies: browserslist "^4.23.0" @@ -7699,36 +7259,136 @@ postcss-normalize-unicode@^6.1.0: postcss-normalize-url@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz#292792386be51a8de9a454cb7b5c58ae22db0f79" integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-whitespace@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz#fbb009e6ebd312f8b2efb225c2fcc7cf32b400cd" integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q== dependencies: postcss-value-parser "^4.2.0" +postcss-opacity-percentage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz#0b0db5ed5db5670e067044b8030b89c216e1eb0a" + integrity sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ== + postcss-ordered-values@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz#366bb663919707093451ab70c3f99c05672aaae5" integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q== dependencies: cssnano-utils "^4.0.2" postcss-value-parser "^4.2.0" +postcss-overflow-shorthand@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz#f5252b4a2ee16c68cd8a9029edb5370c4a9808af" + integrity sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-page-break@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" + integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== + +postcss-place@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-10.0.0.tgz#ba36ee4786ca401377ced17a39d9050ed772e5a9" + integrity sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-preset-env@^10.1.0: + version "10.1.6" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-10.1.6.tgz#0f5456ea55a6bcbd0fd3c5f41e194881f42b17e5" + integrity sha512-1jRD7vttKLJ7o0mcmmYWKRLm7W14rI8K1I7Y41OeXUPEVc/CAzfTssNUeJ0zKbR+zMk4boqct/gwS/poIFF5Lg== + dependencies: + "@csstools/postcss-cascade-layers" "^5.0.1" + "@csstools/postcss-color-function" "^4.0.9" + "@csstools/postcss-color-mix-function" "^3.0.9" + "@csstools/postcss-content-alt-text" "^2.0.5" + "@csstools/postcss-exponential-functions" "^2.0.8" + "@csstools/postcss-font-format-keywords" "^4.0.0" + "@csstools/postcss-gamut-mapping" "^2.0.9" + "@csstools/postcss-gradients-interpolation-method" "^5.0.9" + "@csstools/postcss-hwb-function" "^4.0.9" + "@csstools/postcss-ic-unit" "^4.0.1" + "@csstools/postcss-initial" "^2.0.1" + "@csstools/postcss-is-pseudo-class" "^5.0.1" + "@csstools/postcss-light-dark-function" "^2.0.8" + "@csstools/postcss-logical-float-and-clear" "^3.0.0" + "@csstools/postcss-logical-overflow" "^2.0.0" + "@csstools/postcss-logical-overscroll-behavior" "^2.0.0" + "@csstools/postcss-logical-resize" "^3.0.0" + "@csstools/postcss-logical-viewport-units" "^3.0.3" + "@csstools/postcss-media-minmax" "^2.0.8" + "@csstools/postcss-media-queries-aspect-ratio-number-values" "^3.0.4" + "@csstools/postcss-nested-calc" "^4.0.0" + "@csstools/postcss-normalize-display-values" "^4.0.0" + "@csstools/postcss-oklab-function" "^4.0.9" + "@csstools/postcss-progressive-custom-properties" "^4.0.1" + "@csstools/postcss-random-function" "^2.0.0" + "@csstools/postcss-relative-color-syntax" "^3.0.9" + "@csstools/postcss-scope-pseudo-class" "^4.0.1" + "@csstools/postcss-sign-functions" "^1.1.3" + "@csstools/postcss-stepped-value-functions" "^4.0.8" + "@csstools/postcss-text-decoration-shorthand" "^4.0.2" + "@csstools/postcss-trigonometric-functions" "^4.0.8" + "@csstools/postcss-unset-value" "^4.0.0" + autoprefixer "^10.4.21" + browserslist "^4.24.4" + css-blank-pseudo "^7.0.1" + css-has-pseudo "^7.0.2" + css-prefers-color-scheme "^10.0.0" + cssdb "^8.2.5" + postcss-attribute-case-insensitive "^7.0.1" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^7.0.9" + postcss-color-hex-alpha "^10.0.0" + postcss-color-rebeccapurple "^10.0.0" + postcss-custom-media "^11.0.5" + postcss-custom-properties "^14.0.4" + postcss-custom-selectors "^8.0.4" + postcss-dir-pseudo-class "^9.0.1" + postcss-double-position-gradients "^6.0.1" + postcss-focus-visible "^10.0.1" + postcss-focus-within "^9.0.1" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^6.0.0" + postcss-image-set-function "^7.0.0" + postcss-lab-function "^7.0.9" + postcss-logical "^8.1.0" + postcss-nesting "^13.0.1" + postcss-opacity-percentage "^3.0.0" + postcss-overflow-shorthand "^6.0.0" + postcss-page-break "^3.0.4" + postcss-place "^10.0.0" + postcss-pseudo-class-any-link "^10.0.1" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^8.0.1" + +postcss-pseudo-class-any-link@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz#06455431171bf44b84d79ebaeee9fd1c05946544" + integrity sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q== + dependencies: + postcss-selector-parser "^7.0.0" + postcss-reduce-idents@^6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz#b0d9c84316d2a547714ebab523ec7d13704cd486" integrity sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA== dependencies: postcss-value-parser "^4.2.0" postcss-reduce-initial@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz#4401297d8e35cb6e92c8e9586963e267105586ba" integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw== dependencies: browserslist "^4.23.0" @@ -7736,37 +7396,49 @@ postcss-reduce-initial@^6.1.0: postcss-reduce-transforms@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz#6fa2c586bdc091a7373caeee4be75a0f3e12965d" integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA== dependencies: postcss-value-parser "^4.2.0" +postcss-replace-overflow-wrap@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" + integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== + +postcss-selector-not@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz#f2df9c6ac9f95e9fe4416ca41a957eda16130172" + integrity sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA== + dependencies: + postcss-selector-parser "^7.0.0" + postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz" - integrity sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ== + version "6.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.15" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz" - integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== +postcss-selector-parser@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz#4d6af97eba65d73bc4d84bcb343e865d7dd16262" + integrity sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" postcss-sort-media-queries@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz#4556b3f982ef27d3bac526b99b6c0d3359a6cf97" integrity sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA== dependencies: sort-css-media-queries "2.2.0" postcss-svgo@^6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.3.tgz#1d6e180d6df1fa8a3b30b729aaa9161e94f04eaa" integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g== dependencies: postcss-value-parser "^4.2.0" @@ -7774,42 +7446,33 @@ postcss-svgo@^6.0.3: postcss-unique-selectors@^6.0.4: version "6.0.4" - resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz#983ab308896b4bf3f2baaf2336e14e52c11a2088" integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg== dependencies: postcss-selector-parser "^6.0.16" postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss-zindex@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-6.0.2.tgz#e498304b83a8b165755f53db40e2ea65a99b56e1" integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== -postcss@^8.4.21, postcss@^8.4.26, postcss@^8.4.33: - version "8.4.35" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz" - integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.24, postcss@^8.4.38: - version "8.4.38" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== +postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.33, postcss@^8.4.38: + version "8.5.3" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" + integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.2.0" + nanoid "^3.3.8" + picocolors "^1.1.1" + source-map-js "^1.2.1" pretty-error@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== dependencies: lodash "^4.17.20" @@ -7817,30 +7480,30 @@ pretty-error@^4.0.0: pretty-time@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== prism-react-renderer@^2.1.0, prism-react-renderer@^2.3.0: - version "2.3.1" - resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz" - integrity sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw== + version "2.4.1" + resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz#ac63b7f78e56c8f2b5e76e823a976d5ede77e35f" + integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig== dependencies: "@types/prismjs" "^1.26.0" clsx "^2.0.0" prismjs@^1.29.0: - version "1.29.0" - resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" - integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== + version "1.30.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.30.0.tgz#d9709969d9d4e16403f6f348c63553b19f0975a9" + integrity sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw== process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== prompts@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== dependencies: kleur "^3.0.3" @@ -7848,7 +7511,7 @@ prompts@^2.4.2: prop-types@^15.6.2, prop-types@^15.7.2: version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" @@ -7856,85 +7519,85 @@ prop-types@^15.6.2, prop-types@^15.7.2: react-is "^16.13.1" property-information@^6.0.0: - version "6.4.1" - resolved "https://registry.npmjs.org/property-information/-/property-information-6.4.1.tgz" - integrity sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w== + version "6.5.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" + integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== + +property-information@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.1.0.tgz#b622e8646e02b580205415586b40804d3e8bfd5d" + integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ== proto-list@~1.2.1: version "1.2.4" - resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== proxy-addr@~2.0.7: version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: forwarded "0.2.0" ipaddr.js "1.9.1" -punycode@^1.3.2: - version "1.4.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - punycode@^2.1.0, punycode@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== pupa@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-3.1.0.tgz#f15610274376bbcc70c9a3aa8b505ea23f41c579" integrity sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug== dependencies: escape-goat "^4.0.0" -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== dependencies: - side-channel "^1.0.4" + side-channel "^1.0.6" queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== queue@6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== dependencies: inherits "~2.0.3" quick-lru@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" range-parser@1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== dependencies: bytes "3.1.2" http-errors "2.0.0" @@ -7943,7 +7606,7 @@ raw-body@2.5.1: rc@1.2.8: version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" @@ -7953,7 +7616,7 @@ rc@1.2.8: react-dev-utils@^12.0.1: version "12.0.1" - resolved "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== dependencies: "@babel/code-frame" "^7.16.0" @@ -7982,36 +7645,27 @@ react-dev-utils@^12.0.1: text-table "^0.2.0" react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== dependencies: loose-envify "^1.1.0" - scheduler "^0.23.0" + scheduler "^0.23.2" react-error-overlay@^6.0.11: - version "6.0.11" - resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" - integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== + version "6.1.0" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.1.0.tgz#22b86256beb1c5856f08a9a228adb8121dd985f2" + integrity sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ== -react-fast-compare@^3.2.0, react-fast-compare@^3.2.2: +react-fast-compare@^3.2.0: version "3.2.2" - resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== -react-helmet-async@*: - version "2.0.4" - resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz" - integrity sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ== - dependencies: - invariant "^2.2.4" - react-fast-compare "^3.2.2" - shallowequal "^1.1.0" - -react-helmet-async@^1.3.0: +"react-helmet-async@npm:@slorber/react-helmet-async@*", "react-helmet-async@npm:@slorber/react-helmet-async@1.3.0": version "1.3.0" - resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz" - integrity sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg== + resolved "https://registry.yarnpkg.com/@slorber/react-helmet-async/-/react-helmet-async-1.3.0.tgz#11fbc6094605cf60aa04a28c17e0aab894b4ecff" + integrity sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A== dependencies: "@babel/runtime" "^7.12.5" invariant "^2.2.4" @@ -8021,43 +7675,43 @@ react-helmet-async@^1.3.0: react-icons@^4.12.0: version "4.12.0" - resolved "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz" + resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.12.0.tgz#54806159a966961bfd5cdb26e492f4dafd6a8d78" integrity sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw== react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-json-view-lite@^1.2.0: - version "1.2.1" - resolved "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.2.1.tgz" - integrity sha512-Itc0g86fytOmKZoIoJyGgvNqohWSbh3NXIKNgH6W6FT9PC1ck4xas1tT3Rr/b3UlFXyA9Jjaw9QSXdZy2JwGMQ== + version "1.5.0" + resolved "https://registry.yarnpkg.com/react-json-view-lite/-/react-json-view-lite-1.5.0.tgz#377cc302821717ac79a1b6d099e1891df54c8662" + integrity sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw== react-loadable-ssr-addon-v5-slorber@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz#2cdc91e8a744ffdf9e3556caabeb6e4278689883" integrity sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A== dependencies: "@babel/runtime" "^7.10.3" "react-loadable@npm:@docusaurus/react-loadable@6.0.0": version "6.0.0" - resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz#de6c7f73c96542bd70786b8e522d535d69069dc4" integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== dependencies: "@types/react" "*" react-router-config@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/react-router-config/-/react-router-config-5.1.1.tgz#0f4263d1a80c6b2dc7b9c1902c9526478194a988" integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg== dependencies: "@babel/runtime" "^7.1.2" react-router-dom@^5.3.4: version "5.3.4" - resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.4.tgz#2ed62ffd88cae6db134445f4a0c0ae8b91d2e5e6" integrity sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ== dependencies: "@babel/runtime" "^7.12.13" @@ -8070,7 +7724,7 @@ react-router-dom@^5.3.4: react-router@5.3.4, react-router@^5.3.4: version "5.3.4" - resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.4.tgz#8ca252d70fcc37841e31473c7a151cf777887bb5" integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== dependencies: "@babel/runtime" "^7.12.13" @@ -8084,15 +7738,15 @@ react-router@5.3.4, react-router@^5.3.4: tiny-warning "^1.0.0" react@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== dependencies: loose-envify "^1.1.0" readable-stream@^2.0.1: version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" @@ -8105,7 +7759,7 @@ readable-stream@^2.0.1: readable-stream@^3.0.6: version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== dependencies: inherits "^2.0.3" @@ -8114,90 +7768,123 @@ readable-stream@^3.0.6: readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" reading-time@^1.5.0: version "1.5.0" - resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/reading-time/-/reading-time-1.5.0.tgz#d2a7f1b6057cb2e169beaf87113cc3411b5bc5bb" integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== rechoir@^0.6.2: version "0.6.2" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== dependencies: resolve "^1.1.6" +recma-build-jsx@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz#c02f29e047e103d2fab2054954e1761b8ea253c4" + integrity sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew== + dependencies: + "@types/estree" "^1.0.0" + estree-util-build-jsx "^3.0.0" + vfile "^6.0.0" + +recma-jsx@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-jsx/-/recma-jsx-1.0.0.tgz#f7bef02e571a49d6ba3efdfda8e2efab48dbe3aa" + integrity sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q== + dependencies: + acorn-jsx "^5.0.0" + estree-util-to-js "^2.0.0" + recma-parse "^1.0.0" + recma-stringify "^1.0.0" + unified "^11.0.0" + +recma-parse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-parse/-/recma-parse-1.0.0.tgz#c351e161bb0ab47d86b92a98a9d891f9b6814b52" + integrity sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ== + dependencies: + "@types/estree" "^1.0.0" + esast-util-from-js "^2.0.0" + unified "^11.0.0" + vfile "^6.0.0" + +recma-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-stringify/-/recma-stringify-1.0.0.tgz#54632030631e0c7546136ff9ef8fde8e7b44f130" + integrity sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g== + dependencies: + "@types/estree" "^1.0.0" + estree-util-to-js "^2.0.0" + unified "^11.0.0" + vfile "^6.0.0" + recursive-readdir@^2.2.2: version "2.2.3" - resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== dependencies: minimatch "^3.0.5" -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== +regenerate-unicode-properties@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" + integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== dependencies: regenerate "^1.4.2" regenerate@^1.4.2: version "1.4.2" - resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== +regexpu-core@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" + integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== dependencies: - "@babel/regjsgen" "^0.8.0" regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" + regenerate-unicode-properties "^10.2.0" + regjsgen "^0.8.0" + regjsparser "^0.12.0" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" registry-auth-token@^5.0.1: - version "5.0.2" - resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz" - integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.1.0.tgz#3c659047ecd4caebd25bc1570a3aa979ae490eca" + integrity sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw== dependencies: "@pnpm/npm-conf" "^2.1.0" registry-url@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-6.0.1.tgz#056d9343680f2f64400032b1e199faa692286c58" integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== dependencies: rc "1.2.8" -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + +regjsparser@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc" + integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== dependencies: - jsesc "~0.5.0" + jsesc "~3.0.2" rehype-katex@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/rehype-katex/-/rehype-katex-7.0.1.tgz#832e6d7af2744a228981d1b0fe89483a9e7c93a1" integrity sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA== dependencies: "@types/hast" "^3.0.0" @@ -8209,33 +7896,39 @@ rehype-katex@^7.0.1: vfile "^6.0.0" rehype-minify-whitespace@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.0.tgz" - integrity sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA== + version "6.0.2" + resolved "https://registry.yarnpkg.com/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.2.tgz#7dd234ce0775656ce6b6b0aad0a6093de29b2278" + integrity sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw== dependencies: "@types/hast" "^3.0.0" - hast-util-embedded "^3.0.0" - hast-util-is-element "^3.0.0" - hast-util-whitespace "^3.0.0" - unist-util-is "^6.0.0" + hast-util-minify-whitespace "^1.0.0" rehype-raw@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-7.0.0.tgz#59d7348fd5dbef3807bbaa1d443efd2dd85ecee4" integrity sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww== dependencies: "@types/hast" "^3.0.0" hast-util-raw "^9.0.0" vfile "^6.0.0" +rehype-recma@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rehype-recma/-/rehype-recma-1.0.0.tgz#d68ef6344d05916bd96e25400c6261775411aa76" + integrity sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw== + dependencies: + "@types/estree" "^1.0.0" + "@types/hast" "^3.0.0" + hast-util-to-estree "^3.0.0" + relateurl@^0.2.7: version "0.2.7" - resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== remark-definition-list@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/remark-definition-list/-/remark-definition-list-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/remark-definition-list/-/remark-definition-list-2.0.0.tgz#0047c727416ffe64ee92f961d91100fda20db87b" integrity sha512-OOJ0zUrfUGITUNxOBnsipyFUjqq1m4AgYOqQk10jDXyz+RoODJL3qYvRn8qzYQDzRnz1wlCP3dbDEOpl05LlQw== dependencies: hast-util-definition-list "^2.0.0" @@ -8243,9 +7936,9 @@ remark-definition-list@^2.0.0: micromark-extension-definition-list "^2.0.0" remark-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz" - integrity sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA== + version "3.0.1" + resolved "https://registry.yarnpkg.com/remark-directive/-/remark-directive-3.0.1.tgz#689ba332f156cfe1118e849164cc81f157a3ef0a" + integrity sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A== dependencies: "@types/mdast" "^4.0.0" mdast-util-directive "^3.0.0" @@ -8254,7 +7947,7 @@ remark-directive@^3.0.0: remark-emoji@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-4.0.1.tgz#671bfda668047689e26b2078c7356540da299f04" integrity sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg== dependencies: "@types/mdast" "^4.0.2" @@ -8265,7 +7958,7 @@ remark-emoji@^4.0.0: remark-frontmatter@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz#b68d61552a421ec412c76f4f66c344627dc187a2" integrity sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ== dependencies: "@types/mdast" "^4.0.0" @@ -8274,9 +7967,9 @@ remark-frontmatter@^5.0.0: unified "^11.0.0" remark-gfm@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz" - integrity sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA== + version "4.0.1" + resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-4.0.1.tgz#33227b2a74397670d357bf05c098eaf8513f0d6b" + integrity sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg== dependencies: "@types/mdast" "^4.0.0" mdast-util-gfm "^3.0.0" @@ -8287,7 +7980,7 @@ remark-gfm@^4.0.0: remark-math@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/remark-math/-/remark-math-6.0.0.tgz#0acdf74675f1c195fea6efffa78582f7ed7fc0d7" integrity sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA== dependencies: "@types/mdast" "^4.0.0" @@ -8296,16 +7989,16 @@ remark-math@^6.0.0: unified "^11.0.0" remark-mdx@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz" - integrity sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-3.1.0.tgz#f979be729ecb35318fa48e2135c1169607a78343" + integrity sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA== dependencies: mdast-util-mdx "^3.0.0" micromark-extension-mdxjs "^3.0.0" remark-parse@^11.0.0: version "11.0.0" - resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1" integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== dependencies: "@types/mdast" "^4.0.0" @@ -8314,9 +8007,9 @@ remark-parse@^11.0.0: unified "^11.0.0" remark-rehype@^11.0.0: - version "11.1.0" - resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz" - integrity sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g== + version "11.1.2" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.1.2.tgz#2addaadda80ca9bd9aa0da763e74d16327683b37" + integrity sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw== dependencies: "@types/hast" "^3.0.0" "@types/mdast" "^4.0.0" @@ -8326,7 +8019,7 @@ remark-rehype@^11.0.0: remark-stringify@^11.0.0: version "11.0.0" - resolved "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-11.0.0.tgz#4c5b01dd711c269df1aaae11743eb7e2e7636fd3" integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== dependencies: "@types/mdast" "^4.0.0" @@ -8335,7 +8028,7 @@ remark-stringify@^11.0.0: renderkid@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== dependencies: css-select "^4.1.3" @@ -8344,78 +8037,78 @@ renderkid@^3.0.0: lodash "^4.17.21" strip-ansi "^6.0.1" +repeat-string@^1.0.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== "require-like@>= 0.1.1": version "0.1.2" - resolved "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/require-like/-/require-like-0.1.2.tgz#ad6f30c13becd797010c468afa775c0c0a6b47fa" integrity sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A== requires-port@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== resolve-alpn@^1.2.0: version "1.2.1" - resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-pathname@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== resolve@^1.1.6, resolve@^1.14.2: - version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== dependencies: - is-core-module "^2.13.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" responselike@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-3.0.0.tgz#20decb6c298aff0dbee1c355ca95461d42823626" integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== dependencies: lowercase-keys "^3.0.0" retry@^0.13.1: version "0.13.1" - resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" -rtl-detect@^1.0.4: - version "1.1.2" - resolved "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz" - integrity sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ== - rtlcss@^4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-4.1.1.tgz" - integrity sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-4.3.0.tgz#f8efd4d5b64f640ec4af8fa25b65bacd9e07cc97" + integrity sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -8424,60 +8117,60 @@ rtlcss@^4.1.0: run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + "safer-buffer@>= 2.1.2 < 3": version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sax@^1.2.4: - version "1.3.0" - resolved "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== dependencies: loose-envify "^1.1.0" schema-utils@2.7.0: version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== dependencies: "@types/json-schema" "^7.0.4" ajv "^6.12.2" ajv-keywords "^3.4.1" -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: +schema-utils@^3.0.0: version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== dependencies: "@types/json-schema" "^7.0.8" ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^4.0.0, schema-utils@^4.0.1: - version "4.2.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== +schema-utils@^4.0.0, schema-utils@^4.0.1, schema-utils@^4.3.0, schema-utils@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae" + integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ== dependencies: "@types/json-schema" "^7.0.9" ajv "^8.9.0" @@ -8486,7 +8179,7 @@ schema-utils@^4.0.0, schema-utils@^4.0.1: section-matter@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== dependencies: extend-shallow "^2.0.1" @@ -8494,12 +8187,12 @@ section-matter@^1.0.0: select-hose@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== selfsigned@^2.1.1: version "2.4.1" - resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== dependencies: "@types/node-forge" "^1.3.0" @@ -8507,27 +8200,25 @@ selfsigned@^2.1.1: semver-diff@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5" integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== dependencies: semver "^7.3.5" semver@^6.3.1: version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.4: - version "7.6.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" + version "7.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" + integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== +send@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== dependencies: debug "2.6.9" depd "2.0.0" @@ -8543,30 +8234,29 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== dependencies: randombytes "^2.1.0" -serve-handler@^6.1.5: - version "6.1.5" - resolved "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz" - integrity sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg== +serve-handler@^6.1.6: + version "6.1.6" + resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.6.tgz#50803c1d3e947cd4a341d617f8209b22bd76cfa1" + integrity sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ== dependencies: bytes "3.0.0" content-disposition "0.5.2" - fast-url-parser "1.1.3" mime-types "2.1.18" minimatch "3.1.2" path-is-inside "1.0.2" - path-to-regexp "2.2.1" + path-to-regexp "3.3.0" range-parser "1.2.0" serve-index@^1.9.1: version "1.9.1" - resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== dependencies: accepts "~1.3.4" @@ -8577,99 +8267,124 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== +serve-static@1.16.2: + version "1.16.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== dependencies: - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.18.0" + send "0.19.0" -server-only@^0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz" - integrity sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA== - -set-function-length@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz" - integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== +set-function-length@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== dependencies: - define-data-property "^1.1.2" + define-data-property "^1.1.4" es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.3" + get-intrinsic "^1.2.4" gopd "^1.0.1" - has-property-descriptors "^1.0.1" + has-property-descriptors "^1.0.2" setprototypeof@1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== setprototypeof@1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== shallow-clone@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== dependencies: kind-of "^6.0.2" shallowequal@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.7.3, shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + version "1.8.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" + integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== shelljs@^0.8.5: version "0.8.5" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== dependencies: glob "^7.0.0" interpret "^1.0.0" rechoir "^0.6.2" -side-channel@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz" - integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ== +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== dependencies: - call-bind "^1.0.6" es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.6: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== sirv@^2.0.3: version "2.0.4" - resolved "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0" integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== dependencies: "@polka/url" "^1.0.0-next.24" @@ -8678,13 +8393,13 @@ sirv@^2.0.3: sisteransi@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== sitemap@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz" - integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== + version "7.1.2" + resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.2.tgz#6ce1deb43f6f177c68bc59cf93632f54e3ae6b72" + integrity sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw== dependencies: "@types/node" "^17.0.5" "@types/sax" "^1.2.1" @@ -8693,24 +8408,24 @@ sitemap@^7.1.1: skin-tone@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/skin-tone/-/skin-tone-2.0.0.tgz#4e3933ab45c0d4f4f781745d64b9f4c208e41237" integrity sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA== dependencies: unicode-emoji-modifier-base "^1.0.0" slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slash@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== snake-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== dependencies: dot-case "^3.0.4" @@ -8718,7 +8433,7 @@ snake-case@^3.0.4: sockjs@^0.3.24: version "0.3.24" - resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== dependencies: faye-websocket "^0.11.3" @@ -8727,45 +8442,40 @@ sockjs@^0.3.24: sort-css-media-queries@2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz#aa33cf4a08e0225059448b6c40eddbf9f1c8334c" integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA== -source-map-js@^1.0.1, source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +source-map-js@^1.0.1, source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== source-map-support@~0.5.20: version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: +source-map@^0.6.0, source-map@~0.6.0: version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@^0.7.0: version "0.7.4" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== space-separated-tokens@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== spdy-transport@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== dependencies: debug "^4.1.0" @@ -8777,7 +8487,7 @@ spdy-transport@^3.0.0: spdy@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== dependencies: debug "^4.1.0" @@ -8788,37 +8498,32 @@ spdy@^4.0.2: sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== srcset@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/srcset/-/srcset-4.0.0.tgz#336816b665b14cd013ba545b6fe62357f86e65f4" integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - statuses@2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== "statuses@>= 1.4.0 < 2": version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== -std-env@^3.0.1: - version "3.7.0" - resolved "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz" - integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== +std-env@^3.7.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1" + integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw== string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -8827,7 +8532,7 @@ string-width@^4.1.0, string-width@^4.2.0: string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: eastasianwidth "^0.2.0" @@ -8836,86 +8541,86 @@ string-width@^5.0.1, string-width@^5.1.2: string_decoder@^1.1.1: version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" stringify-entities@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz" - integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== + version "4.0.4" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.4.tgz#b3b79ef5f277cc4ac73caeb0236c5ba939b3a4f3" + integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== dependencies: character-entities-html4 "^2.0.0" character-entities-legacy "^3.0.0" stringify-object@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== dependencies: get-own-enumerable-property-symbols "^3.0.0" is-obj "^1.0.1" is-regexp "^1.0.0" -strip-ansi@^6.0.1: +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^7.0.1: version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" strip-bom-string@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== -style-to-object@^0.4.0: - version "0.4.4" - resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz" - integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== +style-to-js@^1.0.0: + version "1.1.16" + resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.16.tgz#e6bd6cd29e250bcf8fa5e6591d07ced7575dbe7a" + integrity sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw== dependencies: - inline-style-parser "0.1.1" + style-to-object "1.0.8" -style-to-object@^1.0.0: - version "1.0.5" - resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz" - integrity sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ== +style-to-object@1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.8.tgz#67a29bca47eaa587db18118d68f9d95955e81292" + integrity sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g== dependencies: - inline-style-parser "0.2.2" + inline-style-parser "0.2.4" stylehacks@^6.1.1: version "6.1.1" - resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.1.1.tgz#543f91c10d17d00a440430362d419f79c25545a6" integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg== dependencies: browserslist "^4.23.0" @@ -8923,44 +8628,31 @@ stylehacks@^6.1.1: supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-color@^8.0.0: version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== svg-parser@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== -svgo@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - svgo@^3.0.2, svgo@^3.2.0: version "3.3.2" - resolved "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.3.2.tgz#ad58002652dffbb5986fc9716afe52d869ecbda8" integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw== dependencies: "@trysound/sax" "0.2.0" @@ -8973,29 +8665,29 @@ svgo@^3.0.2, svgo@^3.2.0: tapable@^1.0.0: version "1.1.3" - resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.9: - version "5.3.10" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== +terser-webpack-plugin@^5.3.11, terser-webpack-plugin@^5.3.9: + version "5.3.14" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06" + integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw== dependencies: - "@jridgewell/trace-mapping" "^0.3.20" + "@jridgewell/trace-mapping" "^0.3.25" jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" + schema-utils "^4.3.0" + serialize-javascript "^6.0.2" + terser "^5.31.1" -terser@^5.10.0, terser@^5.15.1, terser@^5.26.0: - version "5.27.2" - resolved "https://registry.npmjs.org/terser/-/terser-5.27.2.tgz" - integrity sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w== +terser@^5.10.0, terser@^5.15.1, terser@^5.31.1: + version "5.39.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.39.1.tgz#1c80e6bde2b362c6f9f3e79e295c228a3882d983" + integrity sha512-Mm6+uad0ZuDtcV8/4uOZQDQ8RuiC5Pu+iZRedJtF7yA/27sPL7d++In/AJKpWZlU3SYMPPkVfwetn6sgZ66pUA== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -9004,79 +8696,84 @@ terser@^5.10.0, terser@^5.15.1, terser@^5.26.0: text-table@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== thunky@^1.0.2: version "1.1.0" - resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== tiny-invariant@^1.0.2: - version "1.3.1" - resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" - integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== + version "1.3.3" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" + integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== tiny-warning@^1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" toidentifier@1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== totalist@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== trim-lines@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== trim-trailing-lines@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz#9aac7e89b09cb35badf663de7133c6de164f86df" integrity sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg== trough@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== ts-dedent@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5" integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== tslib@^2.0.3, tslib@^2.6.0: - version "2.6.2" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== type-fest@^1.0.1: version "1.4.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== type-fest@^2.13.0, type-fest@^2.5.0: version "2.19.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== type-is@~1.6.18: version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: media-typer "0.3.0" @@ -9084,53 +8781,53 @@ type-is@~1.6.18: typedarray-to-buffer@^3.1.5: version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== dependencies: is-typedarray "^1.0.0" typescript@~5.2.2: version "5.2.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== unicode-emoji-modifier-base@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz#dbbd5b54ba30f287e2a8d5a249da6c0cef369459" integrity sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g== unicode-match-property-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: unicode-canonical-property-names-ecmascript "^2.0.0" unicode-property-aliases-ecmascript "^2.0.0" unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" + integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: - version "11.0.4" - resolved "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz" - integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ== + version "11.0.5" + resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.5.tgz#f66677610a5c0a9ee90cab2b8d4d66037026d9e1" + integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== dependencies: "@types/unist" "^3.0.0" bail "^2.0.0" @@ -9142,21 +8839,21 @@ unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: unique-string@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== dependencies: crypto-random-string "^4.0.0" unist-builder@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/unist-builder/-/unist-builder-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-4.0.0.tgz#817b326c015a6f9f5e92bb55b8e8bc5e578fe243" integrity sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg== dependencies: "@types/unist" "^3.0.0" unist-util-find-after@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz#3fccc1b086b56f34c8b798e1ff90b5c54468e896" integrity sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ== dependencies: "@types/unist" "^3.0.0" @@ -9164,28 +8861,28 @@ unist-util-find-after@^5.0.0: unist-util-is@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== dependencies: "@types/unist" "^3.0.0" unist-util-position-from-estree@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz#d94da4df596529d1faa3de506202f0c9a23f2200" integrity sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ== dependencies: "@types/unist" "^3.0.0" unist-util-position@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== dependencies: "@types/unist" "^3.0.0" unist-util-remove-position@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz#fea68a25658409c9460408bc6b4991b965b52163" integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== dependencies: "@types/unist" "^3.0.0" @@ -9193,14 +8890,14 @@ unist-util-remove-position@^5.0.0: unist-util-stringify-position@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== dependencies: "@types/unist" "^3.0.0" unist-util-visit-parents@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== dependencies: "@types/unist" "^3.0.0" @@ -9208,7 +8905,7 @@ unist-util-visit-parents@^6.0.0: unist-util-visit@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== dependencies: "@types/unist" "^3.0.0" @@ -9217,25 +8914,25 @@ unist-util-visit@^5.0.0: universalify@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz" - integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== +update-browserslist-db@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== dependencies: escalade "^3.2.0" - picocolors "^1.1.0" + picocolors "^1.1.1" update-notifier@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-6.0.2.tgz#a6990253dfe6d5a02bd04fbb6a61543f55026b60" integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og== dependencies: boxen "^7.0.0" @@ -9255,14 +8952,14 @@ update-notifier@^6.0.2: uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" url-loader@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== dependencies: loader-utils "^2.0.0" @@ -9271,99 +8968,87 @@ url-loader@^4.1.1: util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util@^0.12.5: - version "0.12.5" - resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - utila@~0.4: version "0.4.0" - resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== utility-types@^3.10.0: version "3.11.0" - resolved "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz" + resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c" integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== utils-merge@1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== uuid@^8.3.2: version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== value-equal@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== vary@~1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vfile-location@^5.0.0: - version "5.0.2" - resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz" - integrity sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg== + version "5.0.3" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.3.tgz#cb9eacd20f2b6426d19451e0eafa3d0a846225c3" + integrity sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg== dependencies: "@types/unist" "^3.0.0" vfile "^6.0.0" vfile-message@^4.0.0: version "4.0.2" - resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181" integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== dependencies: "@types/unist" "^3.0.0" unist-util-stringify-position "^4.0.0" vfile@^6.0.0, vfile@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz" - integrity sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw== + version "6.0.3" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.3.tgz#3652ab1c496531852bf55a6bac57af981ebc38ab" + integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q== dependencies: "@types/unist" "^3.0.0" - unist-util-stringify-position "^4.0.0" vfile-message "^4.0.0" -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== +watchpack@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da" + integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" - resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== dependencies: minimalistic-assert "^1.0.0" web-namespaces@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== -webpack-bundle-analyzer@^4.9.0: - version "4.10.1" - resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz" - integrity sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ== +webpack-bundle-analyzer@^4.10.2: + version "4.10.2" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz#633af2862c213730be3dbdf40456db171b60d5bd" + integrity sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw== dependencies: "@discoveryjs/json-ext" "0.5.7" acorn "^8.0.4" @@ -9373,16 +9058,15 @@ webpack-bundle-analyzer@^4.9.0: escape-string-regexp "^4.0.0" gzip-size "^6.0.0" html-escaper "^2.0.2" - is-plain-object "^5.0.0" opener "^1.5.2" picocolors "^1.0.0" sirv "^2.0.3" ws "^7.3.1" -webpack-dev-middleware@^5.3.1: - version "5.3.3" - resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" - integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== +webpack-dev-middleware@^5.3.4: + version "5.3.4" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" + integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== dependencies: colorette "^2.0.10" memfs "^3.4.3" @@ -9390,10 +9074,10 @@ webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@^4.15.1: - version "4.15.1" - resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz" - integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== +webpack-dev-server@^4.15.2: + version "4.15.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz#9e0c70a42a012560860adb186986da1248333173" + integrity sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -9423,66 +9107,79 @@ webpack-dev-server@^4.15.1: serve-index "^1.9.1" sockjs "^0.3.24" spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" + webpack-dev-middleware "^5.3.4" ws "^8.13.0" webpack-merge@^5.9.0: version "5.10.0" - resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== dependencies: clone-deep "^4.0.1" flat "^5.0.2" wildcard "^2.0.0" +webpack-merge@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-6.0.1.tgz#50c776868e080574725abc5869bd6e4ef0a16c6a" + integrity sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.1" + webpack-sources@^3.2.3: version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.88.1: - version "5.90.3" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz" - integrity sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" +webpack@^5.88.1, webpack@^5.95.0: + version "5.99.8" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.99.8.tgz#dd31a020b7c092d30c4c6d9a4edb95809e7f5946" + integrity sha512-lQ3CPiSTpfOnrEGeXDwoq5hIGzSjmwD72GdfVzF7CQAI7t47rJG9eDWvcEkEn3CUQymAElVvDg3YNTlCYj+qUQ== + dependencies: + "@types/eslint-scope" "^3.7.7" + "@types/estree" "^1.0.6" + "@types/json-schema" "^7.0.15" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" + acorn "^8.14.0" + browserslist "^4.24.0" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" + enhanced-resolve "^5.17.1" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" + graceful-fs "^4.2.11" json-parse-even-better-errors "^2.3.1" loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.2.0" + schema-utils "^4.3.2" tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.0" + terser-webpack-plugin "^5.3.11" + watchpack "^2.4.1" webpack-sources "^3.2.3" -webpackbar@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz" - integrity sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ== +webpackbar@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-6.0.1.tgz#5ef57d3bf7ced8b19025477bc7496ea9d502076b" + integrity sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q== dependencies: - chalk "^4.1.0" - consola "^2.15.3" + ansi-escapes "^4.3.2" + chalk "^4.1.2" + consola "^3.2.3" + figures "^3.2.0" + markdown-table "^2.0.0" pretty-time "^1.1.0" - std-env "^3.0.1" + std-env "^3.7.0" + wrap-ansi "^7.0.0" websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" - resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== dependencies: http-parser-js ">=0.5.1" @@ -9491,49 +9188,47 @@ websocket-driver@>=0.5.1, websocket-driver@^0.7.4: websocket-extensions@>=0.1.1: version "0.1.4" - resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -which-typed-array@^1.1.14, which-typed-array@^1.1.2: - version "1.1.14" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz" - integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg== - dependencies: - available-typed-arrays "^1.0.6" - call-bind "^1.0.5" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.1" - which@^1.3.1: version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" which@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" widest-line@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2" integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== dependencies: string-width "^5.0.1" -wildcard@^2.0.0: +wildcard@^2.0.0, wildcard@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== dependencies: ansi-styles "^6.1.0" @@ -9542,12 +9237,12 @@ wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== dependencies: imurmurhash "^0.1.4" @@ -9556,53 +9251,48 @@ write-file-atomic@^3.0.3: typedarray-to-buffer "^3.1.5" ws@^7.3.1: - version "7.5.9" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@^8.13.0: - version "8.16.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + version "8.18.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.2.tgz#42738b2be57ced85f46154320aabb51ab003705a" + integrity sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ== xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== xml-js@^1.6.11: version "1.6.11" - resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" + resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== dependencies: sax "^1.2.4" yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0, yaml@^1.7.2: +yaml@^1.7.2: version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + version "1.2.1" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.2.1.tgz#36d7c4739f775b3cbc28e6136e21aa057adec418" + integrity sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg== zwitch@^2.0.0, zwitch@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== From 5f86e485dc994383fe17b5c562c71a37aea6fa15 Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 15:22:30 +0800 Subject: [PATCH 003/303] fix: add and update packageManager --- package.json | 3 +- yarn.lock | 22398 +++++++++++++++++++++++++++++-------------------- 2 files changed, 13104 insertions(+), 9297 deletions(-) diff --git a/package.json b/package.json index 307355a71e..6b294ca36e 100644 --- a/package.json +++ b/package.json @@ -69,5 +69,6 @@ "RetentionPolicy": "Retain" } } - } + }, + "packageManager": "yarn@4.9.1" } diff --git a/yarn.lock b/yarn.lock index a7a79e7b60..825ce44d22 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,9298 +1,13104 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@algolia/autocomplete-core@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz#83374c47dc72482aa45d6b953e89377047f0dcdc" - integrity sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ== - dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.17.9" - "@algolia/autocomplete-shared" "1.17.9" - -"@algolia/autocomplete-plugin-algolia-insights@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz#74c86024d09d09e8bfa3dd90b844b77d9f9947b6" - integrity sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ== - dependencies: - "@algolia/autocomplete-shared" "1.17.9" - -"@algolia/autocomplete-preset-algolia@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz#911f3250544eb8ea4096fcfb268f156b085321b5" - integrity sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ== - dependencies: - "@algolia/autocomplete-shared" "1.17.9" - -"@algolia/autocomplete-shared@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" - integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== - -"@algolia/client-abtesting@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.25.0.tgz#012204f1614e1a71366fb1e117c8f195186ff081" - integrity sha512-1pfQulNUYNf1Tk/svbfjfkLBS36zsuph6m+B6gDkPEivFmso/XnRgwDvjAx80WNtiHnmeNjIXdF7Gos8+OLHqQ== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/client-analytics@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.25.0.tgz#eba015bfafb3dbb82712c9160a00717a5974ff71" - integrity sha512-AFbG6VDJX/o2vDd9hqncj1B6B4Tulk61mY0pzTtzKClyTDlNP0xaUiEKhl6E7KO9I/x0FJF5tDCm0Hn6v5x18A== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/client-common@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.25.0.tgz#2def8947efe849266057d92f67d1b8d83de0c005" - integrity sha512-il1zS/+Rc6la6RaCdSZ2YbJnkQC6W1wiBO8+SH+DE6CPMWBU6iDVzH0sCKSAtMWl9WBxoN6MhNjGBnCv9Yy2bA== - -"@algolia/client-insights@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.25.0.tgz#b87df8614b96c4cc9c9aa7765cce07fa70864fa8" - integrity sha512-blbjrUH1siZNfyCGeq0iLQu00w3a4fBXm0WRIM0V8alcAPo7rWjLbMJMrfBtzL9X5ic6wgxVpDADXduGtdrnkw== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/client-personalization@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.25.0.tgz#74b041f0e7d91e1009c131c8d716c34e4d45c30f" - integrity sha512-aywoEuu1NxChBcHZ1pWaat0Plw7A8jDMwjgRJ00Mcl7wGlwuPt5dJ/LTNcg3McsEUbs2MBNmw0ignXBw9Tbgow== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/client-query-suggestions@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.25.0.tgz#e92d935d9e2994f790d43c64d3518d81070a3888" - integrity sha512-a/W2z6XWKjKjIW1QQQV8PTTj1TXtaKx79uR3NGBdBdGvVdt24KzGAaN7sCr5oP8DW4D3cJt44wp2OY/fZcPAVA== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/client-search@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.25.0.tgz#dc38ca1015f2f4c9f5053a4517f96fb28a2117f8" - integrity sha512-9rUYcMIBOrCtYiLX49djyzxqdK9Dya/6Z/8sebPn94BekT+KLOpaZCuc6s0Fpfq7nx5J6YY5LIVFQrtioK9u0g== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/events@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" - integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== - -"@algolia/ingestion@1.25.0": - version "1.25.0" - resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.25.0.tgz#4d13c56dda0a05c7bacb0e3ef5866292dfd86ed5" - integrity sha512-jJeH/Hk+k17Vkokf02lkfYE4A+EJX+UgnMhTLR/Mb+d1ya5WhE+po8p5a/Nxb6lo9OLCRl6w3Hmk1TX1e9gVbQ== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/monitoring@1.25.0": - version "1.25.0" - resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.25.0.tgz#d59360cfe556338519d05a9d8107147e9dbcb020" - integrity sha512-Ls3i1AehJ0C6xaHe7kK9vPmzImOn5zBg7Kzj8tRYIcmCWVyuuFwCIsbuIIz/qzUf1FPSWmw0TZrGeTumk2fqXg== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/recommend@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.25.0.tgz#b96f12c85aa74a0326982c7801fcd4a610b420f4" - integrity sha512-79sMdHpiRLXVxSjgw7Pt4R1aNUHxFLHiaTDnN2MQjHwJ1+o3wSseb55T9VXU4kqy3m7TUme3pyRhLk5ip/S4Mw== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/requester-browser-xhr@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.25.0.tgz#c194fa5f49206b9343e6646c41bfbca2a3f2ac54" - integrity sha512-JLaF23p1SOPBmfEqozUAgKHQrGl3z/Z5RHbggBu6s07QqXXcazEsub5VLonCxGVqTv6a61AAPr8J1G5HgGGjEw== - dependencies: - "@algolia/client-common" "5.25.0" - -"@algolia/requester-fetch@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.25.0.tgz#231a2d0da2397d141f80b8f28e2cb6e3d219d38d" - integrity sha512-rtzXwqzFi1edkOF6sXxq+HhmRKDy7tz84u0o5t1fXwz0cwx+cjpmxu/6OQKTdOJFS92JUYHsG51Iunie7xbqfQ== - dependencies: - "@algolia/client-common" "5.25.0" - -"@algolia/requester-node-http@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.25.0.tgz#0ce13c550890de21c558b04381535d2d245a3725" - integrity sha512-ZO0UKvDyEFvyeJQX0gmZDQEvhLZ2X10K+ps6hViMo1HgE2V8em00SwNsQ+7E/52a+YiBkVWX61pJJJE44juDMQ== - dependencies: - "@algolia/client-common" "5.25.0" - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.27.1", "@babel/code-frame@^7.8.3": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" - integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== - dependencies: - "@babel/helper-validator-identifier" "^7.27.1" - js-tokens "^4.0.0" - picocolors "^1.1.1" - -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.2.tgz#4183f9e642fd84e74e3eea7ffa93a412e3b102c9" - integrity sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ== - -"@babel/core@^7.21.3", "@babel/core@^7.25.9": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.1.tgz#89de51e86bd12246003e3524704c49541b16c3e6" - integrity sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.27.1" - "@babel/helper-compilation-targets" "^7.27.1" - "@babel/helper-module-transforms" "^7.27.1" - "@babel/helpers" "^7.27.1" - "@babel/parser" "^7.27.1" - "@babel/template" "^7.27.1" - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.25.9", "@babel/generator@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.1.tgz#862d4fad858f7208edd487c28b58144036b76230" - integrity sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w== - dependencies: - "@babel/parser" "^7.27.1" - "@babel/types" "^7.27.1" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - -"@babel/helper-annotate-as-pure@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz#4345d81a9a46a6486e24d069469f13e60445c05d" - integrity sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow== - dependencies: - "@babel/types" "^7.27.1" - -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" - integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== - dependencies: - "@babel/compat-data" "^7.27.2" - "@babel/helper-validator-option" "^7.27.1" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz#5bee4262a6ea5ddc852d0806199eb17ca3de9281" - integrity sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.27.1" - "@babel/helper-member-expression-to-functions" "^7.27.1" - "@babel/helper-optimise-call-expression" "^7.27.1" - "@babel/helper-replace-supers" "^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" - "@babel/traverse" "^7.27.1" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53" - integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.27.1" - regexpu-core "^6.2.0" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.6.3", "@babel/helper-define-polyfill-provider@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz#15e8746368bfa671785f5926ff74b3064c291fab" - integrity sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-member-expression-to-functions@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz#ea1211276be93e798ce19037da6f06fbb994fa44" - integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA== - dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/helper-module-imports@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" - integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== - dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/helper-module-transforms@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz#e1663b8b71d2de948da5c4fb2a20ca4f3ec27a6f" - integrity sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g== - dependencies: - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - "@babel/traverse" "^7.27.1" - -"@babel/helper-optimise-call-expression@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200" - integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw== - dependencies: - "@babel/types" "^7.27.1" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" - integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== - -"@babel/helper-remap-async-to-generator@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6" - integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.27.1" - "@babel/helper-wrap-function" "^7.27.1" - "@babel/traverse" "^7.27.1" - -"@babel/helper-replace-supers@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0" - integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.27.1" - "@babel/helper-optimise-call-expression" "^7.27.1" - "@babel/traverse" "^7.27.1" - -"@babel/helper-skip-transparent-expression-wrappers@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56" - integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg== - dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/helper-string-parser@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" - integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== - -"@babel/helper-validator-identifier@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" - integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== - -"@babel/helper-validator-option@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" - integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== - -"@babel/helper-wrap-function@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz#b88285009c31427af318d4fe37651cd62a142409" - integrity sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ== - dependencies: - "@babel/template" "^7.27.1" - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/helpers@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.1.tgz#ffc27013038607cdba3288e692c3611c06a18aa4" - integrity sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ== - dependencies: - "@babel/template" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/parser@^7.27.1", "@babel/parser@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.2.tgz#577518bedb17a2ce4212afd052e01f7df0941127" - integrity sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw== - dependencies: - "@babel/types" "^7.27.1" - -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz#61dd8a8e61f7eb568268d1b5f129da3eee364bf9" - integrity sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/traverse" "^7.27.1" - -"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz#43f70a6d7efd52370eefbdf55ae03d91b293856d" - integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72" - integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd" - integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" - "@babel/plugin-transform-optional-chaining" "^7.27.1" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz#bb1c25af34d75115ce229a1de7fa44bf8f955670" - integrity sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/traverse" "^7.27.1" - -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-import-assertions@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz#88894aefd2b03b5ee6ad1562a7c8e1587496aecd" - integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-syntax-import-attributes@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" - integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-syntax-jsx@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" - integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-syntax-typescript@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" - integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a" - integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-async-generator-functions@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz#ca433df983d68e1375398e7ca71bf2a4f6fd89d7" - integrity sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-remap-async-to-generator" "^7.27.1" - "@babel/traverse" "^7.27.1" - -"@babel/plugin-transform-async-to-generator@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7" - integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA== - dependencies: - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-remap-async-to-generator" "^7.27.1" - -"@babel/plugin-transform-block-scoped-functions@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9" - integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-block-scoping@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.1.tgz#bc0dbe8ac6de5602981ba58ef68c6df8ef9bfbb3" - integrity sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-class-properties@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925" - integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-class-static-block@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz#7e920d5625b25bbccd3061aefbcc05805ed56ce4" - integrity sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-classes@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz#03bb04bea2c7b2f711f0db7304a8da46a85cced4" - integrity sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.27.1" - "@babel/helper-compilation-targets" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-replace-supers" "^7.27.1" - "@babel/traverse" "^7.27.1" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa" - integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/template" "^7.27.1" - -"@babel/plugin-transform-destructuring@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.1.tgz#d5916ef7089cb254df0418ae524533c1b72ba656" - integrity sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-dotall-regex@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d" - integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-duplicate-keys@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1" - integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz#5043854ca620a94149372e69030ff8cb6a9eb0ec" - integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-dynamic-import@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4" - integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-exponentiation-operator@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz#fc497b12d8277e559747f5a3ed868dd8064f83e1" - integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-export-namespace-from@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23" - integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-for-of@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a" - integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" - -"@babel/plugin-transform-function-name@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7" - integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ== - dependencies: - "@babel/helper-compilation-targets" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/traverse" "^7.27.1" - -"@babel/plugin-transform-json-strings@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz#a2e0ce6ef256376bd527f290da023983527a4f4c" - integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-literals@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24" - integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-logical-assignment-operators@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz#890cb20e0270e0e5bebe3f025b434841c32d5baa" - integrity sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-member-expression-literals@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9" - integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-modules-amd@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f" - integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA== - dependencies: - "@babel/helper-module-transforms" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-modules-commonjs@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832" - integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw== - dependencies: - "@babel/helper-module-transforms" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-modules-systemjs@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz#00e05b61863070d0f3292a00126c16c0e024c4ed" - integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA== - dependencies: - "@babel/helper-module-transforms" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - "@babel/traverse" "^7.27.1" - -"@babel/plugin-transform-modules-umd@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334" - integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w== - dependencies: - "@babel/helper-module-transforms" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1" - integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-new-target@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb" - integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-nullish-coalescing-operator@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz#4f9d3153bf6782d73dd42785a9d22d03197bc91d" - integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-numeric-separator@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz#614e0b15cc800e5997dadd9bd6ea524ed6c819c6" - integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-object-rest-spread@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz#67f9ab822347aa2bcee91e8996763da79bdea973" - integrity sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g== - dependencies: - "@babel/helper-compilation-targets" "^7.27.2" - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/plugin-transform-destructuring" "^7.27.1" - "@babel/plugin-transform-parameters" "^7.27.1" - -"@babel/plugin-transform-object-super@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5" - integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-replace-supers" "^7.27.1" - -"@babel/plugin-transform-optional-catch-binding@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz#84c7341ebde35ccd36b137e9e45866825072a30c" - integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-optional-chaining@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz#874ce3c4f06b7780592e946026eb76a32830454f" - integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" - -"@babel/plugin-transform-parameters@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz#80334b54b9b1ac5244155a0c8304a187a618d5a7" - integrity sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-private-methods@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz#fdacbab1c5ed81ec70dfdbb8b213d65da148b6af" - integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-private-property-in-object@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz#4dbbef283b5b2f01a21e81e299f76e35f900fb11" - integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.27.1" - "@babel/helper-create-class-features-plugin" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-property-literals@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424" - integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-react-constant-elements@^7.21.3": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz#6c6b50424e749a6e48afd14cf7b92f98cb9383f9" - integrity sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-react-display-name@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.27.1.tgz#43af31362d71f7848cfac0cbc212882b1a16e80f" - integrity sha512-p9+Vl3yuHPmkirRrg021XiP+EETmPMQTLr6Ayjj85RLNEbb3Eya/4VI0vAdzQG9SEAl2Lnt7fy5lZyMzjYoZQQ== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-react-jsx-development@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz#47ff95940e20a3a70e68ad3d4fcb657b647f6c98" - integrity sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.27.1" - -"@babel/plugin-transform-react-jsx@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz#1023bc94b78b0a2d68c82b5e96aed573bcfb9db0" - integrity sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.27.1" - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/plugin-syntax-jsx" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/plugin-transform-react-pure-annotations@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz#339f1ce355eae242e0649f232b1c68907c02e879" - integrity sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-regenerator@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.1.tgz#0a471df9213416e44cd66bf67176b66f65768401" - integrity sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-regexp-modifiers@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz#df9ba5577c974e3f1449888b70b76169998a6d09" - integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-reserved-words@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4" - integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-runtime@^7.25.9": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.27.1.tgz#f9fbf71949a209eb26b3e60375b1d956937b8be9" - integrity sha512-TqGF3desVsTcp3WrJGj4HfKokfCXCLcHpt4PJF0D8/iT6LPd9RS82Upw3KPeyr6B22Lfd3DO8MVrmp0oRkUDdw== - dependencies: - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.11.0" - babel-plugin-polyfill-regenerator "^0.6.1" - semver "^6.3.1" - -"@babel/plugin-transform-shorthand-properties@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90" - integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-spread@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08" - integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" - -"@babel/plugin-transform-sticky-regex@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280" - integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-template-literals@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8" - integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-typeof-symbol@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369" - integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-typescript@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.1.tgz#d3bb65598bece03f773111e88cc4e8e5070f1140" - integrity sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.27.1" - "@babel/helper-create-class-features-plugin" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" - "@babel/plugin-syntax-typescript" "^7.27.1" - -"@babel/plugin-transform-unicode-escapes@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806" - integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-unicode-property-regex@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz#bdfe2d3170c78c5691a3c3be934c8c0087525956" - integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-unicode-regex@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97" - integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-unicode-sets-regex@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz#6ab706d10f801b5c72da8bb2548561fa04193cd1" - integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.25.9": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.27.2.tgz#106e6bfad92b591b1f6f76fd4cf13b7725a7bf9a" - integrity sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ== - dependencies: - "@babel/compat-data" "^7.27.2" - "@babel/helper-compilation-targets" "^7.27.2" - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-validator-option" "^7.27.1" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1" - "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.27.1" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions" "^7.27.1" - "@babel/plugin-syntax-import-attributes" "^7.27.1" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.27.1" - "@babel/plugin-transform-async-generator-functions" "^7.27.1" - "@babel/plugin-transform-async-to-generator" "^7.27.1" - "@babel/plugin-transform-block-scoped-functions" "^7.27.1" - "@babel/plugin-transform-block-scoping" "^7.27.1" - "@babel/plugin-transform-class-properties" "^7.27.1" - "@babel/plugin-transform-class-static-block" "^7.27.1" - "@babel/plugin-transform-classes" "^7.27.1" - "@babel/plugin-transform-computed-properties" "^7.27.1" - "@babel/plugin-transform-destructuring" "^7.27.1" - "@babel/plugin-transform-dotall-regex" "^7.27.1" - "@babel/plugin-transform-duplicate-keys" "^7.27.1" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1" - "@babel/plugin-transform-dynamic-import" "^7.27.1" - "@babel/plugin-transform-exponentiation-operator" "^7.27.1" - "@babel/plugin-transform-export-namespace-from" "^7.27.1" - "@babel/plugin-transform-for-of" "^7.27.1" - "@babel/plugin-transform-function-name" "^7.27.1" - "@babel/plugin-transform-json-strings" "^7.27.1" - "@babel/plugin-transform-literals" "^7.27.1" - "@babel/plugin-transform-logical-assignment-operators" "^7.27.1" - "@babel/plugin-transform-member-expression-literals" "^7.27.1" - "@babel/plugin-transform-modules-amd" "^7.27.1" - "@babel/plugin-transform-modules-commonjs" "^7.27.1" - "@babel/plugin-transform-modules-systemjs" "^7.27.1" - "@babel/plugin-transform-modules-umd" "^7.27.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1" - "@babel/plugin-transform-new-target" "^7.27.1" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1" - "@babel/plugin-transform-numeric-separator" "^7.27.1" - "@babel/plugin-transform-object-rest-spread" "^7.27.2" - "@babel/plugin-transform-object-super" "^7.27.1" - "@babel/plugin-transform-optional-catch-binding" "^7.27.1" - "@babel/plugin-transform-optional-chaining" "^7.27.1" - "@babel/plugin-transform-parameters" "^7.27.1" - "@babel/plugin-transform-private-methods" "^7.27.1" - "@babel/plugin-transform-private-property-in-object" "^7.27.1" - "@babel/plugin-transform-property-literals" "^7.27.1" - "@babel/plugin-transform-regenerator" "^7.27.1" - "@babel/plugin-transform-regexp-modifiers" "^7.27.1" - "@babel/plugin-transform-reserved-words" "^7.27.1" - "@babel/plugin-transform-shorthand-properties" "^7.27.1" - "@babel/plugin-transform-spread" "^7.27.1" - "@babel/plugin-transform-sticky-regex" "^7.27.1" - "@babel/plugin-transform-template-literals" "^7.27.1" - "@babel/plugin-transform-typeof-symbol" "^7.27.1" - "@babel/plugin-transform-unicode-escapes" "^7.27.1" - "@babel/plugin-transform-unicode-property-regex" "^7.27.1" - "@babel/plugin-transform-unicode-regex" "^7.27.1" - "@babel/plugin-transform-unicode-sets-regex" "^7.27.1" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.11.0" - babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.40.0" - semver "^6.3.1" - -"@babel/preset-modules@0.1.6-no-external-plugins": - version "0.1.6-no-external-plugins" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" - integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.25.9": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.27.1.tgz#86ea0a5ca3984663f744be2fd26cb6747c3fd0ec" - integrity sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-validator-option" "^7.27.1" - "@babel/plugin-transform-react-display-name" "^7.27.1" - "@babel/plugin-transform-react-jsx" "^7.27.1" - "@babel/plugin-transform-react-jsx-development" "^7.27.1" - "@babel/plugin-transform-react-pure-annotations" "^7.27.1" - -"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.25.9": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz#190742a6428d282306648a55b0529b561484f912" - integrity sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-validator-option" "^7.27.1" - "@babel/plugin-syntax-jsx" "^7.27.1" - "@babel/plugin-transform-modules-commonjs" "^7.27.1" - "@babel/plugin-transform-typescript" "^7.27.1" - -"@babel/runtime-corejs3@^7.25.9": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.27.1.tgz#386c7a737dd893da056f6c7972526e827020b47d" - integrity sha512-909rVuj3phpjW6y0MCXAZ5iNeORePa6ldJvp2baWGcTjwqbBDDz6xoS5JHJ7lS88NlwLYj07ImL/8IUMtDZzTA== - dependencies: - core-js-pure "^3.30.2" - -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.25.9": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.1.tgz#9fce313d12c9a77507f264de74626e87fd0dc541" - integrity sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog== - -"@babel/template@^7.27.1": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" - integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/parser" "^7.27.2" - "@babel/types" "^7.27.1" - -"@babel/traverse@^7.25.9", "@babel/traverse@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.1.tgz#4db772902b133bbddd1c4f7a7ee47761c1b9f291" - integrity sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.27.1" - "@babel/parser" "^7.27.1" - "@babel/template" "^7.27.1" - "@babel/types" "^7.27.1" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.21.3", "@babel/types@^7.27.1", "@babel/types@^7.4.4": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.1.tgz#9defc53c16fc899e46941fc6901a9eea1c9d8560" - integrity sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@csstools/cascade-layer-name-parser@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.4.tgz#64d128529397aa1e1c986f685713363b262b81b1" - integrity sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA== - -"@csstools/color-helpers@^5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-5.0.2.tgz#82592c9a7c2b83c293d9161894e2a6471feb97b8" - integrity sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA== - -"@csstools/css-calc@^2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-2.1.3.tgz#6f68affcb569a86b91965e8622d644be35a08423" - integrity sha512-XBG3talrhid44BY1x3MHzUx/aTG8+x/Zi57M4aTKK9RFB4aLlF3TTSzfzn8nWVHWL3FgAXAxmupmDd6VWww+pw== - -"@csstools/css-color-parser@^3.0.9": - version "3.0.9" - resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-3.0.9.tgz#8d81b77d6f211495b5100ec4cad4c8828de49f6b" - integrity sha512-wILs5Zk7BU86UArYBJTPy/FMPPKVKHMj1ycCEyf3VUptol0JNRLFU/BZsJ4aiIHJEbSLiizzRrw8Pc1uAEDrXw== - dependencies: - "@csstools/color-helpers" "^5.0.2" - "@csstools/css-calc" "^2.1.3" - -"@csstools/css-parser-algorithms@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz#74426e93bd1c4dcab3e441f5cc7ba4fb35d94356" - integrity sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A== - -"@csstools/css-tokenizer@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz#a5502c8539265fecbd873c1e395a890339f119c2" - integrity sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw== - -"@csstools/media-query-list-parser@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz#e80e17eba1693fceafb8d6f2cfc68c0e7a9ab78a" - integrity sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A== - -"@csstools/postcss-cascade-layers@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.1.tgz#9640313e64b5e39133de7e38a5aa7f40dc259597" - integrity sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ== - dependencies: - "@csstools/selector-specificity" "^5.0.0" - postcss-selector-parser "^7.0.0" - -"@csstools/postcss-color-function@^4.0.9": - version "4.0.9" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-4.0.9.tgz#67080c6b4635926d68cc9c8f52261b87ece70bf8" - integrity sha512-2UeQCGMO5+EeQsPQK2DqXp0dad+P6nIz6G2dI06APpBuYBKxZEq7CTH+UiztFQ8cB1f89dnO9+D/Kfr+JfI2hw== - dependencies: - "@csstools/css-color-parser" "^3.0.9" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/utilities" "^2.0.0" - -"@csstools/postcss-color-mix-function@^3.0.9": - version "3.0.9" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.9.tgz#103858388ba4d2c589daeecb02f9f05baecc27d0" - integrity sha512-Enj7ZIIkLD7zkGCN31SZFx4H1gKiCs2Y4taBo/v/cqaHN7p1qGrf5UTMNSjQFZ7MgClGufHx4pddwFTGL+ipug== - dependencies: - "@csstools/css-color-parser" "^3.0.9" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/utilities" "^2.0.0" - -"@csstools/postcss-content-alt-text@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.5.tgz#86b195bef6ce32179a68011b87212a3e4e73b84a" - integrity sha512-9BOS535v6YmyOYk32jAHXeddRV+iyd4vRcbrEekpwxmueAXX5J8WgbceFnE4E4Pmw/ysnB9v+n/vSWoFmcLMcA== - dependencies: - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/utilities" "^2.0.0" - -"@csstools/postcss-exponential-functions@^2.0.8": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.8.tgz#da6b3673fcb48a78294d39d6afc1e4da45dedada" - integrity sha512-vHgDXtGIBPpFQnFNDftMQg4MOuXcWnK91L/7REjBNYzQ/p2Fa/6RcnehTqCRrNtQ46PNIolbRsiDdDuxiHolwQ== - dependencies: - "@csstools/css-calc" "^2.1.3" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - -"@csstools/postcss-font-format-keywords@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz#6730836eb0153ff4f3840416cc2322f129c086e6" - integrity sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw== - dependencies: - "@csstools/utilities" "^2.0.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-gamut-mapping@^2.0.9": - version "2.0.9" - resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.9.tgz#83b08d302865ce6fc3127589ff6658fe32635636" - integrity sha512-quksIsFm3DGsf8Qbr9KiSGBF2w3RwxSfOfma5wbORDB1AFF15r4EVW7sUuWw3s5IAEGMqzel/dE2rQsI7Yb8mA== - dependencies: - "@csstools/css-color-parser" "^3.0.9" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - -"@csstools/postcss-gradients-interpolation-method@^5.0.9": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.9.tgz#e2e1c59b08e7524c269bb4cac91618f95b9c849e" - integrity sha512-duqTeUHF4ambUybAmhX9KonkicLM/WNp2JjMUbegRD4O8A/tb6fdZ7jUNdp/UUiO1FIdDkMwmNw6856bT0XF8Q== - dependencies: - "@csstools/css-color-parser" "^3.0.9" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/utilities" "^2.0.0" - -"@csstools/postcss-hwb-function@^4.0.9": - version "4.0.9" - resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.9.tgz#4abca35a88a382e211fc0abe125a8ce7bb07030b" - integrity sha512-sDpdPsoGAhYl/PMSYfu5Ez82wXb2bVkg1Cb8vsRLhpXhAk4OSlsJN+GodAql6tqc1B2G/WToxsFU6G74vkhPvA== - dependencies: - "@csstools/css-color-parser" "^3.0.9" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/utilities" "^2.0.0" - -"@csstools/postcss-ic-unit@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.1.tgz#7b67b49d85713d8bad70ee5735f409b19fd906f9" - integrity sha512-lECc38i1w3qU9nhrUhP6F8y4BfcQJkR1cb8N6tZNf2llM6zPkxnqt04jRCwsUgNcB3UGKDy+zLenhOYGHqCV+Q== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/utilities" "^2.0.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-initial@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz#c385bd9d8ad31ad159edd7992069e97ceea4d09a" - integrity sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg== - -"@csstools/postcss-is-pseudo-class@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.1.tgz#12041448fedf01090dd4626022c28b7f7623f58e" - integrity sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ== - dependencies: - "@csstools/selector-specificity" "^5.0.0" - postcss-selector-parser "^7.0.0" - -"@csstools/postcss-light-dark-function@^2.0.8": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.8.tgz#bac218338f458f9a3f05edcc94ab009def14a532" - integrity sha512-v8VU5WtrZIyEtk88WB4fkG22TGd8HyAfSFfZZQ1uNN0+arMJdZc++H3KYTfbYDpJRGy8GwADYH8ySXiILn+OyA== - dependencies: - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/utilities" "^2.0.0" - -"@csstools/postcss-logical-float-and-clear@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz#62617564182cf86ab5d4e7485433ad91e4c58571" - integrity sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ== - -"@csstools/postcss-logical-overflow@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz#c6de7c5f04e3d4233731a847f6c62819bcbcfa1d" - integrity sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA== - -"@csstools/postcss-logical-overscroll-behavior@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz#43c03eaecdf34055ef53bfab691db6dc97a53d37" - integrity sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w== - -"@csstools/postcss-logical-resize@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz#4df0eeb1a61d7bd85395e56a5cce350b5dbfdca6" - integrity sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-logical-viewport-units@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.3.tgz#f6cc63520ca2a6eb76b9cd946070c38dda66d733" - integrity sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw== - dependencies: - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/utilities" "^2.0.0" - -"@csstools/postcss-media-minmax@^2.0.8": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.8.tgz#b5397f18531c54ac0c12cbf20b6bf93208bd5d16" - integrity sha512-Skum5wIXw2+NyCQWUyfstN3c1mfSh39DRAo+Uh2zzXOglBG8xB9hnArhYFScuMZkzeM+THVa//mrByKAfumc7w== - dependencies: - "@csstools/css-calc" "^2.1.3" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/media-query-list-parser" "^4.0.2" - -"@csstools/postcss-media-queries-aspect-ratio-number-values@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.4.tgz#d71102172c74baf3f892fac88cf1ea46a961600d" - integrity sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ== - dependencies: - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/media-query-list-parser" "^4.0.2" - -"@csstools/postcss-nested-calc@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz#754e10edc6958d664c11cde917f44ba144141c62" - integrity sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A== - dependencies: - "@csstools/utilities" "^2.0.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-normalize-display-values@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz#ecdde2daf4e192e5da0c6fd933b6d8aff32f2a36" - integrity sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-oklab-function@^4.0.9": - version "4.0.9" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.9.tgz#21d8846b3fe632d663b8cfe5d1fa2ccdd3f0709a" - integrity sha512-UHrnujimwtdDw8BYDcWJtBXuJ13uc/BjAddPdfMc/RsWxhg8gG8UbvTF0tnMtHrZ4i7lwy85fPEzK1AiykMyRA== - dependencies: - "@csstools/css-color-parser" "^3.0.9" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/utilities" "^2.0.0" - -"@csstools/postcss-progressive-custom-properties@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.0.1.tgz#487e619d2577358cb08ed7319dd203d4d5db5bb6" - integrity sha512-Ofz81HaY8mmbP8/Qr3PZlUzjsyV5WuxWmvtYn+jhYGvvjFazTmN9R2io5W5znY1tyk2CA9uM0IPWyY4ygDytCw== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-random-function@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-random-function/-/postcss-random-function-2.0.0.tgz#38da06d102bbe65504023278f670895c4a1ceef9" - integrity sha512-MYZKxSr4AKfjECL8vg49BbfNNzK+t3p2OWX+Xf7rXgMaTP44oy/e8VGWu4MLnJ3NUd9tFVkisLO/sg+5wMTNsg== - dependencies: - "@csstools/css-calc" "^2.1.3" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - -"@csstools/postcss-relative-color-syntax@^3.0.9": - version "3.0.9" - resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.9.tgz#1075eda90bb2a59f30bed94605def0a99cad3040" - integrity sha512-+AGOcLF5PmMnTRPnOdCvY7AwvD5veIOhTWbJV6vC3hB1tt0ii/k6QOwhWfsGGg1ZPQ0JY15u+wqLR4ZTtB0luA== - dependencies: - "@csstools/css-color-parser" "^3.0.9" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/utilities" "^2.0.0" - -"@csstools/postcss-scope-pseudo-class@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz#9fe60e9d6d91d58fb5fc6c768a40f6e47e89a235" - integrity sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q== - dependencies: - postcss-selector-parser "^7.0.0" - -"@csstools/postcss-sign-functions@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.3.tgz#ba64c7a6e25f50221a2f37fac5d7592917245781" - integrity sha512-4F4GRhj8xNkBtLZ+3ycIhReaDfKJByXI+cQGIps3AzCO8/CJOeoDPxpMnL5vqZrWKOceSATHEQJUO/Q/r2y7OQ== - dependencies: - "@csstools/css-calc" "^2.1.3" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - -"@csstools/postcss-stepped-value-functions@^4.0.8": - version "4.0.8" - resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.8.tgz#345f5620cbeb0e9742f242e1dc6c88a051ce6700" - integrity sha512-6Y4yhL4fNhgzbZ/wUMQ4EjFUfoNNMpEXZnDw1JrlcEBHUT15gplchtFsZGk7FNi8PhLHJfCUwVKrEHzhfhKK+g== - dependencies: - "@csstools/css-calc" "^2.1.3" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - -"@csstools/postcss-text-decoration-shorthand@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.2.tgz#a3bcf80492e6dda36477538ab8e8943908c9f80a" - integrity sha512-8XvCRrFNseBSAGxeaVTaNijAu+FzUvjwFXtcrynmazGb/9WUdsPCpBX+mHEHShVRq47Gy4peYAoxYs8ltUnmzA== - dependencies: - "@csstools/color-helpers" "^5.0.2" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-trigonometric-functions@^4.0.8": - version "4.0.8" - resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.8.tgz#ad7940798fafadc77846e9ca47e2b594515d4f60" - integrity sha512-YcDvYTRu7f78/91B6bX+mE1WoAO91Su7/8KSRpuWbIGUB8hmaNSRu9wziaWSLJ1lOB1aQe+bvo9BIaLKqPOo/g== - dependencies: - "@csstools/css-calc" "^2.1.3" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - -"@csstools/postcss-unset-value@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz#7caa981a34196d06a737754864baf77d64de4bba" - integrity sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA== - -"@csstools/selector-resolve-nested@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.0.0.tgz#704a9b637975680e025e069a4c58b3beb3e2752a" - integrity sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ== - -"@csstools/selector-specificity@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz#037817b574262134cabd68fc4ec1a454f168407b" - integrity sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw== - -"@csstools/utilities@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@csstools/utilities/-/utilities-2.0.0.tgz#f7ff0fee38c9ffb5646d47b6906e0bc8868bde60" - integrity sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ== - -"@discoveryjs/json-ext@0.5.7": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" - integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== - -"@docsearch/css@3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.9.0.tgz#3bc29c96bf024350d73b0cfb7c2a7b71bf251cd5" - integrity sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA== - -"@docsearch/react@^3.8.1": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.9.0.tgz#d0842b700c3ee26696786f3c8ae9f10c1a3f0db3" - integrity sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ== - dependencies: - "@algolia/autocomplete-core" "1.17.9" - "@algolia/autocomplete-preset-algolia" "1.17.9" - "@docsearch/css" "3.9.0" - algoliasearch "^5.14.2" - -"@docusaurus/babel@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/babel/-/babel-3.7.0.tgz#770dd5da525a9d6a2fee7d3212ec62040327f776" - integrity sha512-0H5uoJLm14S/oKV3Keihxvh8RV+vrid+6Gv+2qhuzbqHanawga8tYnsdpjEyt36ucJjqlby2/Md2ObWjA02UXQ== - dependencies: - "@babel/core" "^7.25.9" - "@babel/generator" "^7.25.9" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-transform-runtime" "^7.25.9" - "@babel/preset-env" "^7.25.9" - "@babel/preset-react" "^7.25.9" - "@babel/preset-typescript" "^7.25.9" - "@babel/runtime" "^7.25.9" - "@babel/runtime-corejs3" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@docusaurus/logger" "3.7.0" - "@docusaurus/utils" "3.7.0" - babel-plugin-dynamic-import-node "^2.3.3" - fs-extra "^11.1.1" - tslib "^2.6.0" - -"@docusaurus/bundler@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/bundler/-/bundler-3.7.0.tgz#d8e7867b3b2c43a1e320ed429f8dfe873c38506d" - integrity sha512-CUUT9VlSGukrCU5ctZucykvgCISivct+cby28wJwCC/fkQFgAHRp/GKv2tx38ZmXb7nacrKzFTcp++f9txUYGg== - dependencies: - "@babel/core" "^7.25.9" - "@docusaurus/babel" "3.7.0" - "@docusaurus/cssnano-preset" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - babel-loader "^9.2.1" - clean-css "^5.3.2" - copy-webpack-plugin "^11.0.0" - css-loader "^6.8.1" - css-minimizer-webpack-plugin "^5.0.1" - cssnano "^6.1.2" - file-loader "^6.2.0" - html-minifier-terser "^7.2.0" - mini-css-extract-plugin "^2.9.1" - null-loader "^4.0.1" - postcss "^8.4.26" - postcss-loader "^7.3.3" - postcss-preset-env "^10.1.0" - react-dev-utils "^12.0.1" - terser-webpack-plugin "^5.3.9" - tslib "^2.6.0" - url-loader "^4.1.1" - webpack "^5.95.0" - webpackbar "^6.0.1" - -"@docusaurus/core@3.7.0", "@docusaurus/core@^3.4.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.7.0.tgz#e871586d099093723dfe6de81c1ce610aeb20292" - integrity sha512-b0fUmaL+JbzDIQaamzpAFpTviiaU4cX3Qz8cuo14+HGBCwa0evEK0UYCBFY3n4cLzL8Op1BueeroUD2LYAIHbQ== - dependencies: - "@docusaurus/babel" "3.7.0" - "@docusaurus/bundler" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/mdx-loader" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - boxen "^6.2.1" - chalk "^4.1.2" - chokidar "^3.5.3" - cli-table3 "^0.6.3" - combine-promises "^1.1.0" - commander "^5.1.0" - core-js "^3.31.1" - del "^6.1.1" - detect-port "^1.5.1" - escape-html "^1.0.3" - eta "^2.2.0" - eval "^0.1.8" - fs-extra "^11.1.1" - html-tags "^3.3.1" - html-webpack-plugin "^5.6.0" - leven "^3.1.0" - lodash "^4.17.21" - p-map "^4.0.0" - prompts "^2.4.2" - react-dev-utils "^12.0.1" - react-helmet-async "npm:@slorber/react-helmet-async@1.3.0" - react-loadable "npm:@docusaurus/react-loadable@6.0.0" - react-loadable-ssr-addon-v5-slorber "^1.0.1" - react-router "^5.3.4" - react-router-config "^5.1.1" - react-router-dom "^5.3.4" - semver "^7.5.4" - serve-handler "^6.1.6" - shelljs "^0.8.5" - tslib "^2.6.0" - update-notifier "^6.0.2" - webpack "^5.95.0" - webpack-bundle-analyzer "^4.10.2" - webpack-dev-server "^4.15.2" - webpack-merge "^6.0.1" - -"@docusaurus/cssnano-preset@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.7.0.tgz#8fe8f2c3acbd32384b69e14983b9a63c98cae34e" - integrity sha512-X9GYgruZBSOozg4w4dzv9uOz8oK/EpPVQXkp0MM6Tsgp/nRIU9hJzJ0Pxg1aRa3xCeEQTOimZHcocQFlLwYajQ== - dependencies: - cssnano-preset-advanced "^6.1.2" - postcss "^8.4.38" - postcss-sort-media-queries "^5.2.0" - tslib "^2.6.0" - -"@docusaurus/logger@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.7.0.tgz#07ecc2f460c4d2382df4991f9ce4e348e90af04c" - integrity sha512-z7g62X7bYxCYmeNNuO9jmzxLQG95q9QxINCwpboVcNff3SJiHJbGrarxxOVMVmAh1MsrSfxWkVGv4P41ktnFsA== - dependencies: - chalk "^4.1.2" - tslib "^2.6.0" - -"@docusaurus/mdx-loader@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.7.0.tgz#5890c6e7a5b68cb1d066264ac5290cdcd59d4ecc" - integrity sha512-OFBG6oMjZzc78/U3WNPSHs2W9ZJ723ewAcvVJaqS0VgyeUfmzUV8f1sv+iUHA0DtwiR5T5FjOxj6nzEE8LY6VA== - dependencies: - "@docusaurus/logger" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - "@mdx-js/mdx" "^3.0.0" - "@slorber/remark-comment" "^1.0.0" - escape-html "^1.0.3" - estree-util-value-to-estree "^3.0.1" - file-loader "^6.2.0" - fs-extra "^11.1.1" - image-size "^1.0.2" - mdast-util-mdx "^3.0.0" - mdast-util-to-string "^4.0.0" - rehype-raw "^7.0.0" - remark-directive "^3.0.0" - remark-emoji "^4.0.0" - remark-frontmatter "^5.0.0" - remark-gfm "^4.0.0" - stringify-object "^3.3.0" - tslib "^2.6.0" - unified "^11.0.3" - unist-util-visit "^5.0.0" - url-loader "^4.1.1" - vfile "^6.0.1" - webpack "^5.88.1" - -"@docusaurus/module-type-aliases@3.7.0", "@docusaurus/module-type-aliases@^3.3.2": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.7.0.tgz#15c0745b829c6966c5b3b2c2527c72b54830b0e5" - integrity sha512-g7WdPqDNaqA60CmBrr0cORTrsOit77hbsTj7xE2l71YhBn79sxdm7WMK7wfhcaafkbpIh7jv5ef5TOpf1Xv9Lg== - dependencies: - "@docusaurus/types" "3.7.0" - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router-config" "*" - "@types/react-router-dom" "*" - react-helmet-async "npm:@slorber/react-helmet-async@*" - react-loadable "npm:@docusaurus/react-loadable@6.0.0" - -"@docusaurus/plugin-client-redirects@^3.4.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.7.0.tgz#b5cf92529768c457c01ad350bfc50862c6149463" - integrity sha512-6B4XAtE5ZVKOyhPgpgMkb7LwCkN+Hgd4vOnlbwR8nCdTQhLjz8MHbGlwwvZ/cay2SPNRX5KssqKAlcHVZP2m8g== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - eta "^2.2.0" - fs-extra "^11.1.1" - lodash "^4.17.21" - tslib "^2.6.0" - -"@docusaurus/plugin-content-blog@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.7.0.tgz#7bd69de87a1f3adb652e1473ef5b7ccc9468f47e" - integrity sha512-EFLgEz6tGHYWdPU0rK8tSscZwx+AsyuBW/r+tNig2kbccHYGUJmZtYN38GjAa3Fda4NU+6wqUO5kTXQSRBQD3g== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/mdx-loader" "3.7.0" - "@docusaurus/theme-common" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - cheerio "1.0.0-rc.12" - feed "^4.2.2" - fs-extra "^11.1.1" - lodash "^4.17.21" - reading-time "^1.5.0" - srcset "^4.0.0" - tslib "^2.6.0" - unist-util-visit "^5.0.0" - utility-types "^3.10.0" - webpack "^5.88.1" - -"@docusaurus/plugin-content-docs@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.7.0.tgz#297a549e926ee2b1147b5242af6f21532c7b107c" - integrity sha512-GXg5V7kC9FZE4FkUZA8oo/NrlRb06UwuICzI6tcbzj0+TVgjq/mpUXXzSgKzMS82YByi4dY2Q808njcBCyy6tQ== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/mdx-loader" "3.7.0" - "@docusaurus/module-type-aliases" "3.7.0" - "@docusaurus/theme-common" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - "@types/react-router-config" "^5.0.7" - combine-promises "^1.1.0" - fs-extra "^11.1.1" - js-yaml "^4.1.0" - lodash "^4.17.21" - tslib "^2.6.0" - utility-types "^3.10.0" - webpack "^5.88.1" - -"@docusaurus/plugin-content-pages@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.7.0.tgz#c4a8f7237872236aacb77665822c474c0a00e91a" - integrity sha512-YJSU3tjIJf032/Aeao8SZjFOrXJbz/FACMveSMjLyMH4itQyZ2XgUIzt4y+1ISvvk5zrW4DABVT2awTCqBkx0Q== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/mdx-loader" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - fs-extra "^11.1.1" - tslib "^2.6.0" - webpack "^5.88.1" - -"@docusaurus/plugin-debug@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.7.0.tgz#a4fd45132e40cffe96bb51f48e89982a1cb8e194" - integrity sha512-Qgg+IjG/z4svtbCNyTocjIwvNTNEwgRjSXXSJkKVG0oWoH0eX/HAPiu+TS1HBwRPQV+tTYPWLrUypYFepfujZA== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - fs-extra "^11.1.1" - react-json-view-lite "^1.2.0" - tslib "^2.6.0" - -"@docusaurus/plugin-google-analytics@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.7.0.tgz#d20f665e810fb2295d1c1bbfe13398c5ff42eb24" - integrity sha512-otIqiRV/jka6Snjf+AqB360XCeSv7lQC+DKYW+EUZf6XbuE8utz5PeUQ8VuOcD8Bk5zvT1MC4JKcd5zPfDuMWA== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - tslib "^2.6.0" - -"@docusaurus/plugin-google-gtag@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.7.0.tgz#a48638dfd132858060458b875a440b6cbda6bf8f" - integrity sha512-M3vrMct1tY65ModbyeDaMoA+fNJTSPe5qmchhAbtqhDD/iALri0g9LrEpIOwNaoLmm6lO88sfBUADQrSRSGSWA== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - "@types/gtag.js" "^0.0.12" - tslib "^2.6.0" - -"@docusaurus/plugin-google-tag-manager@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.7.0.tgz#0a4390f4b0e760d073bdb1905436bfa7bd71356b" - integrity sha512-X8U78nb8eiMiPNg3jb9zDIVuuo/rE1LjGDGu+5m5CX4UBZzjMy+klOY2fNya6x8ACyE/L3K2erO1ErheP55W/w== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - tslib "^2.6.0" - -"@docusaurus/plugin-sitemap@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.7.0.tgz#2c1bf9de26aeda455df6f77748e5887ace39b2d7" - integrity sha512-bTRT9YLZ/8I/wYWKMQke18+PF9MV8Qub34Sku6aw/vlZ/U+kuEuRpQ8bTcNOjaTSfYsWkK4tTwDMHK2p5S86cA== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - fs-extra "^11.1.1" - sitemap "^7.1.1" - tslib "^2.6.0" - -"@docusaurus/plugin-svgr@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-svgr/-/plugin-svgr-3.7.0.tgz#018e89efd615d5fde77b891a8c2aadf203013f5d" - integrity sha512-HByXIZTbc4GV5VAUkZ2DXtXv1Qdlnpk3IpuImwSnEzCDBkUMYcec5282hPjn6skZqB25M1TYCmWS91UbhBGxQg== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - "@svgr/core" "8.1.0" - "@svgr/webpack" "^8.1.0" - tslib "^2.6.0" - webpack "^5.88.1" - -"@docusaurus/preset-classic@^3.4.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.7.0.tgz#f6656a04ae6a4877523dbd04f7c491632e4003b9" - integrity sha512-nPHj8AxDLAaQXs+O6+BwILFuhiWbjfQWrdw2tifOClQoNfuXDjfjogee6zfx6NGHWqshR23LrcN115DmkHC91Q== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/plugin-content-blog" "3.7.0" - "@docusaurus/plugin-content-docs" "3.7.0" - "@docusaurus/plugin-content-pages" "3.7.0" - "@docusaurus/plugin-debug" "3.7.0" - "@docusaurus/plugin-google-analytics" "3.7.0" - "@docusaurus/plugin-google-gtag" "3.7.0" - "@docusaurus/plugin-google-tag-manager" "3.7.0" - "@docusaurus/plugin-sitemap" "3.7.0" - "@docusaurus/plugin-svgr" "3.7.0" - "@docusaurus/theme-classic" "3.7.0" - "@docusaurus/theme-common" "3.7.0" - "@docusaurus/theme-search-algolia" "3.7.0" - "@docusaurus/types" "3.7.0" - -"@docusaurus/theme-classic@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.7.0.tgz#b483bd8e2923b6994b5f47238884b9f8984222c5" - integrity sha512-MnLxG39WcvLCl4eUzHr0gNcpHQfWoGqzADCly54aqCofQX6UozOS9Th4RK3ARbM9m7zIRv3qbhggI53dQtx/hQ== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/mdx-loader" "3.7.0" - "@docusaurus/module-type-aliases" "3.7.0" - "@docusaurus/plugin-content-blog" "3.7.0" - "@docusaurus/plugin-content-docs" "3.7.0" - "@docusaurus/plugin-content-pages" "3.7.0" - "@docusaurus/theme-common" "3.7.0" - "@docusaurus/theme-translations" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - "@mdx-js/react" "^3.0.0" - clsx "^2.0.0" - copy-text-to-clipboard "^3.2.0" - infima "0.2.0-alpha.45" - lodash "^4.17.21" - nprogress "^0.2.0" - postcss "^8.4.26" - prism-react-renderer "^2.3.0" - prismjs "^1.29.0" - react-router-dom "^5.3.4" - rtlcss "^4.1.0" - tslib "^2.6.0" - utility-types "^3.10.0" - -"@docusaurus/theme-common@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.7.0.tgz#18bf5c6b149a701f4bd865715ee8b595aa40b354" - integrity sha512-8eJ5X0y+gWDsURZnBfH0WabdNm8XMCXHv8ENy/3Z/oQKwaB/EHt5lP9VsTDTf36lKEp0V6DjzjFyFIB+CetL0A== - dependencies: - "@docusaurus/mdx-loader" "3.7.0" - "@docusaurus/module-type-aliases" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router-config" "*" - clsx "^2.0.0" - parse-numeric-range "^1.3.0" - prism-react-renderer "^2.3.0" - tslib "^2.6.0" - utility-types "^3.10.0" - -"@docusaurus/theme-search-algolia@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.7.0.tgz#2108ddf0b300b82de7c2b9ff9fcf62121b66ea37" - integrity sha512-Al/j5OdzwRU1m3falm+sYy9AaB93S1XF1Lgk9Yc6amp80dNxJVplQdQTR4cYdzkGtuQqbzUA8+kaoYYO0RbK6g== - dependencies: - "@docsearch/react" "^3.8.1" - "@docusaurus/core" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/plugin-content-docs" "3.7.0" - "@docusaurus/theme-common" "3.7.0" - "@docusaurus/theme-translations" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" - algoliasearch "^5.17.1" - algoliasearch-helper "^3.22.6" - clsx "^2.0.0" - eta "^2.2.0" - fs-extra "^11.1.1" - lodash "^4.17.21" - tslib "^2.6.0" - utility-types "^3.10.0" - -"@docusaurus/theme-translations@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.7.0.tgz#0891aedc7c7040afcb3a1b34051d3a69096d0d25" - integrity sha512-Ewq3bEraWDmienM6eaNK7fx+/lHMtGDHQyd1O+4+3EsDxxUmrzPkV7Ct3nBWTuE0MsoZr3yNwQVKjllzCMuU3g== - dependencies: - fs-extra "^11.1.1" - tslib "^2.6.0" - -"@docusaurus/tsconfig@^3.3.2": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/tsconfig/-/tsconfig-3.7.0.tgz#654dcc524e25b8809af0f1b0b42485c18c047ab5" - integrity sha512-vRsyj3yUZCjscgfgcFYjIsTcAru/4h4YH2/XAE8Rs7wWdnng98PgWKvP5ovVc4rmRpRg2WChVW0uOy2xHDvDBQ== - -"@docusaurus/types@3.7.0", "@docusaurus/types@^3.3.2": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.7.0.tgz#3f5a68a60f80ecdcb085666da1d68f019afda943" - integrity sha512-kOmZg5RRqJfH31m+6ZpnwVbkqMJrPOG5t0IOl4i/+3ruXyNfWzZ0lVtVrD0u4ONc/0NOsS9sWYaxxWNkH1LdLQ== - dependencies: - "@mdx-js/mdx" "^3.0.0" - "@types/history" "^4.7.11" - "@types/react" "*" - commander "^5.1.0" - joi "^17.9.2" - react-helmet-async "npm:@slorber/react-helmet-async@1.3.0" - utility-types "^3.10.0" - webpack "^5.95.0" - webpack-merge "^5.9.0" - -"@docusaurus/utils-common@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.7.0.tgz#1bef52837d321db5dd2361fc07f3416193b5d029" - integrity sha512-IZeyIfCfXy0Mevj6bWNg7DG7B8G+S6o6JVpddikZtWyxJguiQ7JYr0SIZ0qWd8pGNuMyVwriWmbWqMnK7Y5PwA== - dependencies: - "@docusaurus/types" "3.7.0" - tslib "^2.6.0" - -"@docusaurus/utils-validation@3.7.0", "@docusaurus/utils-validation@^3": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.7.0.tgz#dc0786fb633ae5cef8e93337bf21c2a826c7ecbd" - integrity sha512-w8eiKk8mRdN+bNfeZqC4nyFoxNyI1/VExMKAzD9tqpJfLLbsa46Wfn5wcKH761g9WkKh36RtFV49iL9lh1DYBA== - dependencies: - "@docusaurus/logger" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - fs-extra "^11.2.0" - joi "^17.9.2" - js-yaml "^4.1.0" - lodash "^4.17.21" - tslib "^2.6.0" - -"@docusaurus/utils@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.7.0.tgz#dfdebd63524c52b498f36b2907a3b2261930b9bb" - integrity sha512-e7zcB6TPnVzyUaHMJyLSArKa2AG3h9+4CfvKXKKWNx6hRs+p0a+u7HHTJBgo6KW2m+vqDnuIHK4X+bhmoghAFA== - dependencies: - "@docusaurus/logger" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - escape-string-regexp "^4.0.0" - file-loader "^6.2.0" - fs-extra "^11.1.1" - github-slugger "^1.5.0" - globby "^11.1.0" - gray-matter "^4.0.3" - jiti "^1.20.0" - js-yaml "^4.1.0" - lodash "^4.17.21" - micromatch "^4.0.5" - prompts "^2.4.2" - resolve-pathname "^3.0.0" - shelljs "^0.8.5" - tslib "^2.6.0" - url-loader "^4.1.1" - utility-types "^3.10.0" - webpack "^5.88.1" - -"@gracefullight/docusaurus-plugin-vercel-analytics@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@gracefullight/docusaurus-plugin-vercel-analytics/-/docusaurus-plugin-vercel-analytics-1.0.1.tgz#bb01f09f41c388b6df99652146bdcf867259e117" - integrity sha512-6Xj63GIBadwLhoDVNpRXlEs3ieTetd8ZcNGKIJ8ADT0IjZIvcIW6CZFY5RgGtxuJ4PxFXVU2DDV14M2uXXTvGQ== - dependencies: - "@docusaurus/utils-validation" "^3" - -"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": - version "9.3.0" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" - integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== - -"@hapi/topo@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" - integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" - integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/source-map@^0.3.3": - version "0.3.6" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" - integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@leichtgewicht/ip-codec@^2.0.1": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" - integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== - -"@mdx-js/mdx@^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-3.1.0.tgz#10235cab8ad7d356c262e8c21c68df5850a97dc3" - integrity sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw== - dependencies: - "@types/estree" "^1.0.0" - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/mdx" "^2.0.0" - collapse-white-space "^2.0.0" - devlop "^1.0.0" - estree-util-is-identifier-name "^3.0.0" - estree-util-scope "^1.0.0" - estree-walker "^3.0.0" - hast-util-to-jsx-runtime "^2.0.0" - markdown-extensions "^2.0.0" - recma-build-jsx "^1.0.0" - recma-jsx "^1.0.0" - recma-stringify "^1.0.0" - rehype-recma "^1.0.0" - remark-mdx "^3.0.0" - remark-parse "^11.0.0" - remark-rehype "^11.0.0" - source-map "^0.7.0" - unified "^11.0.0" - unist-util-position-from-estree "^2.0.0" - unist-util-stringify-position "^4.0.0" - unist-util-visit "^5.0.0" - vfile "^6.0.0" - -"@mdx-js/react@^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.1.0.tgz#c4522e335b3897b9a845db1dbdd2f966ae8fb0ed" - integrity sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ== - dependencies: - "@types/mdx" "^2.0.0" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@pnpm/config.env-replace@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" - integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== - -"@pnpm/network.ca-file@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983" - integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== - dependencies: - graceful-fs "4.2.10" - -"@pnpm/npm-conf@^2.1.0": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz#bb375a571a0bd63ab0a23bece33033c683e9b6b0" - integrity sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw== - dependencies: - "@pnpm/config.env-replace" "^1.1.0" - "@pnpm/network.ca-file" "^1.0.1" - config-chain "^1.1.11" - -"@polka/url@^1.0.0-next.24": - version "1.0.0-next.29" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.29.tgz#5a40109a1ab5f84d6fd8fc928b19f367cbe7e7b1" - integrity sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww== - -"@sideway/address@^4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" - integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@sideway/formula@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" - integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== - -"@sideway/pinpoint@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" - integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sindresorhus/is@^4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== - -"@sindresorhus/is@^5.2.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-5.6.0.tgz#41dd6093d34652cddb5d5bdeee04eafc33826668" - integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== - -"@slorber/remark-comment@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@slorber/remark-comment/-/remark-comment-1.0.0.tgz#2a020b3f4579c89dec0361673206c28d67e08f5a" - integrity sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.1.0" - micromark-util-symbol "^1.0.1" - -"@svgr/babel-plugin-add-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" - integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== - -"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" - integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== - -"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" - integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" - integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== - -"@svgr/babel-plugin-svg-dynamic-title@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" - integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== - -"@svgr/babel-plugin-svg-em-dimensions@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" - integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== - -"@svgr/babel-plugin-transform-react-native-svg@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" - integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== - -"@svgr/babel-plugin-transform-svg-component@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" - integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== - -"@svgr/babel-preset@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" - integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" - "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" - "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" - "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" - "@svgr/babel-plugin-transform-svg-component" "8.0.0" - -"@svgr/core@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" - integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - camelcase "^6.2.0" - cosmiconfig "^8.1.3" - snake-case "^3.0.4" - -"@svgr/hast-util-to-babel-ast@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" - integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== - dependencies: - "@babel/types" "^7.21.3" - entities "^4.4.0" - -"@svgr/plugin-jsx@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" - integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - "@svgr/hast-util-to-babel-ast" "8.0.0" - svg-parser "^2.0.4" - -"@svgr/plugin-svgo@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" - integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== - dependencies: - cosmiconfig "^8.1.3" - deepmerge "^4.3.1" - svgo "^3.0.2" - -"@svgr/webpack@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" - integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== - dependencies: - "@babel/core" "^7.21.3" - "@babel/plugin-transform-react-constant-elements" "^7.21.3" - "@babel/preset-env" "^7.20.2" - "@babel/preset-react" "^7.18.6" - "@babel/preset-typescript" "^7.21.0" - "@svgr/core" "8.1.0" - "@svgr/plugin-jsx" "8.1.0" - "@svgr/plugin-svgo" "8.1.0" - -"@szmarczak/http-timer@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" - integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== - dependencies: - defer-to-connect "^2.0.1" - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@types/body-parser@*": - version "1.19.5" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" - integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/bonjour@^3.5.9": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" - integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== - dependencies: - "@types/node" "*" - -"@types/connect-history-api-fallback@^1.3.5": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" - integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== - dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" - -"@types/connect@*": - version "3.4.38" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" - integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== - dependencies: - "@types/node" "*" - -"@types/debug@^4.0.0": - version "4.1.12" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" - integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== - dependencies: - "@types/ms" "*" - -"@types/eslint-scope@^3.7.7": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "9.6.1" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" - integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree-jsx@^1.0.0": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.5.tgz#858a88ea20f34fe65111f005a689fa1ebf70dc18" - integrity sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg== - dependencies: - "@types/estree" "*" - -"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.6": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" - integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== - -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz#41fec4ea20e9c7b22f024ab88a95c6bb288f51b8" - integrity sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/send" "*" - -"@types/express-serve-static-core@^4.17.33": - version "4.19.6" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz#e01324c2a024ff367d92c66f48553ced0ab50267" - integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/send" "*" - -"@types/express@*": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.1.tgz#138d741c6e5db8cc273bec5285cd6e9d0779fc9f" - integrity sha512-UZUw8vjpWFXuDnjFTh7/5c2TWDlQqeXHi6hcN7F2XSVT5P+WmUnnbFS3KA6Jnc6IsEqI2qCVu2bK0R0J4A8ZQQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^5.0.0" - "@types/serve-static" "*" - -"@types/express@^4.17.13": - version "4.17.21" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/gtag.js@^0.0.12": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@types/gtag.js/-/gtag.js-0.0.12.tgz#095122edca896689bdfcdd73b057e23064d23572" - integrity sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg== - -"@types/hast@^3.0.0", "@types/hast@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" - integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== - dependencies: - "@types/unist" "*" - -"@types/history@^4.7.11": - version "4.7.11" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" - integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== - -"@types/html-minifier-terser@^6.0.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" - integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== - -"@types/http-cache-semantics@^4.0.2": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" - integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== - -"@types/http-errors@*": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" - integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== - -"@types/http-proxy@^1.17.8": - version "1.17.16" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.16.tgz#dee360707b35b3cc85afcde89ffeebff7d7f9240" - integrity sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/katex@^0.16.0": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@types/katex/-/katex-0.16.7.tgz#03ab680ab4fa4fbc6cb46ecf987ecad5d8019868" - integrity sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ== - -"@types/mdast@^4.0.0", "@types/mdast@^4.0.1", "@types/mdast@^4.0.2", "@types/mdast@^4.0.3": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" - integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== - dependencies: - "@types/unist" "*" - -"@types/mdx@^2.0.0": - version "2.0.13" - resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.13.tgz#68f6877043d377092890ff5b298152b0a21671bd" - integrity sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw== - -"@types/mime@^1": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" - integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== - -"@types/ms@*": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" - integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== - -"@types/node-forge@^1.3.0": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" - integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== - dependencies: - "@types/node" "*" - -"@types/node@*": - version "22.15.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.18.tgz#2f8240f7e932f571c2d45f555ba0b6c3f7a75963" - integrity sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg== - dependencies: - undici-types "~6.21.0" - -"@types/node@^17.0.5": - version "17.0.45" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" - integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== - -"@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - -"@types/prismjs@^1.26.0": - version "1.26.5" - resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.5.tgz#72499abbb4c4ec9982446509d2f14fb8483869d6" - integrity sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ== - -"@types/qs@*": - version "6.9.18" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.18.tgz#877292caa91f7c1b213032b34626505b746624c2" - integrity sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA== - -"@types/range-parser@*": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" - integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== - -"@types/react-router-config@*", "@types/react-router-config@^5.0.7": - version "5.0.11" - resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.11.tgz#2761a23acc7905a66a94419ee40294a65aaa483a" - integrity sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router" "^5.1.0" - -"@types/react-router-dom@*": - version "5.3.3" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" - integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router" "*" - -"@types/react-router@*", "@types/react-router@^5.1.0": - version "5.1.20" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" - integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - -"@types/react@*": - version "19.1.4" - resolved "https://registry.yarnpkg.com/@types/react/-/react-19.1.4.tgz#4d125f014d6ac26b4759775698db118701e314fe" - integrity sha512-EB1yiiYdvySuIITtD5lhW4yPyJ31RkJkkDw794LaQYrxCSaQV/47y5o1FMC4zF9ZyjUjzJMZwbovEnT5yHTW6g== - dependencies: - csstype "^3.0.2" - -"@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== - -"@types/sax@^1.2.1": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.7.tgz#ba5fe7df9aa9c89b6dff7688a19023dd2963091d" - integrity sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A== - dependencies: - "@types/node" "*" - -"@types/send@*": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" - integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/serve-index@^1.9.1": - version "1.9.4" - resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" - integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== - dependencies: - "@types/express" "*" - -"@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.7" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" - integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== - dependencies: - "@types/http-errors" "*" - "@types/node" "*" - "@types/send" "*" - -"@types/sockjs@^0.3.33": - version "0.3.36" - resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" - integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== - dependencies: - "@types/node" "*" - -"@types/unist@*", "@types/unist@^3.0.0", "@types/unist@^3.0.2": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" - integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== - -"@types/unist@^2.0.0": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4" - integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== - -"@types/ws@^8.5.5": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" - integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.33" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" - integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== - dependencies: - "@types/yargs-parser" "*" - -"@ungap/structured-clone@^1.0.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" - integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== - -"@vercel/analytics@^1.1.2": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@vercel/analytics/-/analytics-1.5.0.tgz#073f93694897414b21a8495e2619bbf64447dcaa" - integrity sha512-MYsBzfPki4gthY5HnYN7jgInhAZ7Ac1cYDoRWFomwGHWEX7odTEzbtg9kf/QSo7XEsEAqlQugA6gJ2WS2DEa3g== - -"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" - integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== - dependencies: - "@webassemblyjs/helper-numbers" "1.13.2" - "@webassemblyjs/helper-wasm-bytecode" "1.13.2" - -"@webassemblyjs/floating-point-hex-parser@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" - integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== - -"@webassemblyjs/helper-api-error@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" - integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== - -"@webassemblyjs/helper-buffer@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" - integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== - -"@webassemblyjs/helper-numbers@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" - integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.13.2" - "@webassemblyjs/helper-api-error" "1.13.2" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" - integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== - -"@webassemblyjs/helper-wasm-section@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" - integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== - dependencies: - "@webassemblyjs/ast" "1.14.1" - "@webassemblyjs/helper-buffer" "1.14.1" - "@webassemblyjs/helper-wasm-bytecode" "1.13.2" - "@webassemblyjs/wasm-gen" "1.14.1" - -"@webassemblyjs/ieee754@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" - integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" - integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" - integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== - -"@webassemblyjs/wasm-edit@^1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" - integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== - dependencies: - "@webassemblyjs/ast" "1.14.1" - "@webassemblyjs/helper-buffer" "1.14.1" - "@webassemblyjs/helper-wasm-bytecode" "1.13.2" - "@webassemblyjs/helper-wasm-section" "1.14.1" - "@webassemblyjs/wasm-gen" "1.14.1" - "@webassemblyjs/wasm-opt" "1.14.1" - "@webassemblyjs/wasm-parser" "1.14.1" - "@webassemblyjs/wast-printer" "1.14.1" - -"@webassemblyjs/wasm-gen@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" - integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== - dependencies: - "@webassemblyjs/ast" "1.14.1" - "@webassemblyjs/helper-wasm-bytecode" "1.13.2" - "@webassemblyjs/ieee754" "1.13.2" - "@webassemblyjs/leb128" "1.13.2" - "@webassemblyjs/utf8" "1.13.2" - -"@webassemblyjs/wasm-opt@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" - integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== - dependencies: - "@webassemblyjs/ast" "1.14.1" - "@webassemblyjs/helper-buffer" "1.14.1" - "@webassemblyjs/wasm-gen" "1.14.1" - "@webassemblyjs/wasm-parser" "1.14.1" - -"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" - integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== - dependencies: - "@webassemblyjs/ast" "1.14.1" - "@webassemblyjs/helper-api-error" "1.13.2" - "@webassemblyjs/helper-wasm-bytecode" "1.13.2" - "@webassemblyjs/ieee754" "1.13.2" - "@webassemblyjs/leb128" "1.13.2" - "@webassemblyjs/utf8" "1.13.2" - -"@webassemblyjs/wast-printer@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" - integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== - dependencies: - "@webassemblyjs/ast" "1.14.1" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -accepts@~1.3.4, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-jsx@^5.0.0: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.0.0: - version "8.3.4" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" - integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== - dependencies: - acorn "^8.11.0" - -acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.8.2: - version "8.14.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" - integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== - -address@^1.0.1, address@^1.1.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.12.2, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.9.0: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" - integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== - dependencies: - fast-deep-equal "^3.1.3" - fast-uri "^3.0.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - -algoliasearch-helper@^3.22.6: - version "3.25.0" - resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.25.0.tgz#15cc79ad7909db66b8bb5a5a9c38b40e3941fa2f" - integrity sha512-vQoK43U6HXA9/euCqLjvyNdM4G2Fiu/VFp4ae0Gau9sZeIKBPvUPnXfLYAe65Bg7PFuw03coeu5K6lTPSXRObw== - dependencies: - "@algolia/events" "^4.0.1" - -algoliasearch@^5.14.2, algoliasearch@^5.17.1: - version "5.25.0" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.25.0.tgz#7337b097deadeca0e6e985c0f8724abea189994f" - integrity sha512-n73BVorL4HIwKlfJKb4SEzAYkR3Buwfwbh+MYxg2mloFph2fFGV58E90QTzdbfzWrLn4HE5Czx/WTjI8fcHaMg== - dependencies: - "@algolia/client-abtesting" "5.25.0" - "@algolia/client-analytics" "5.25.0" - "@algolia/client-common" "5.25.0" - "@algolia/client-insights" "5.25.0" - "@algolia/client-personalization" "5.25.0" - "@algolia/client-query-suggestions" "5.25.0" - "@algolia/client-search" "5.25.0" - "@algolia/ingestion" "1.25.0" - "@algolia/monitoring" "1.25.0" - "@algolia/recommend" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -ansi-align@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - -ansi-escapes@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" - integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -astring@^1.8.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/astring/-/astring-1.9.0.tgz#cc73e6062a7eb03e7d19c22d8b0b3451fd9bfeef" - integrity sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -autoprefixer@^10.4.19, autoprefixer@^10.4.21: - version "10.4.21" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d" - integrity sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ== - dependencies: - browserslist "^4.24.4" - caniuse-lite "^1.0.30001702" - fraction.js "^4.3.7" - normalize-range "^0.1.2" - picocolors "^1.1.1" - postcss-value-parser "^4.2.0" - -babel-loader@^9.2.1: - version "9.2.1" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.2.1.tgz#04c7835db16c246dd19ba0914418f3937797587b" - integrity sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA== - dependencies: - find-cache-dir "^4.0.0" - schema-utils "^4.0.0" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.13" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz#7d445f0e0607ebc8fb6b01d7e8fb02069b91dd8b" - integrity sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.4" - semver "^6.3.1" - -babel-plugin-polyfill-corejs3@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz#4e4e182f1bb37c7ba62e2af81d8dd09df31344f6" - integrity sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.3" - core-js-compat "^3.40.0" - -babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz#428c615d3c177292a22b4f93ed99e358d7906a9b" - integrity sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.4" - -bail@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" - integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -body-parser@1.20.3: - version "1.20.3" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" - integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.13.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -bonjour-service@^1.0.11: - version "1.3.0" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.3.0.tgz#80d867430b5a0da64e82a8047fc1e355bdb71722" - integrity sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA== - dependencies: - fast-deep-equal "^3.1.3" - multicast-dns "^7.2.5" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -boxen@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-6.2.1.tgz#b098a2278b2cd2845deef2dff2efc38d329b434d" - integrity sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw== - dependencies: - ansi-align "^3.0.1" - camelcase "^6.2.0" - chalk "^4.1.2" - cli-boxes "^3.0.0" - string-width "^5.0.1" - type-fest "^2.5.0" - widest-line "^4.0.1" - wrap-ansi "^8.0.1" - -boxen@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-7.1.1.tgz#f9ba525413c2fec9cdb88987d835c4f7cad9c8f4" - integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog== - dependencies: - ansi-align "^3.0.1" - camelcase "^7.0.1" - chalk "^5.2.0" - cli-boxes "^3.0.0" - string-width "^5.1.2" - type-fest "^2.13.0" - widest-line "^4.0.1" - wrap-ansi "^8.1.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.3, braces@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.24.4: - version "4.24.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.5.tgz#aa0f5b8560fe81fde84c6dcb38f759bafba0e11b" - integrity sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw== - dependencies: - caniuse-lite "^1.0.30001716" - electron-to-chromium "^1.5.149" - node-releases "^2.0.19" - update-browserslist-db "^1.1.3" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacheable-lookup@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27" - integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== - -cacheable-request@^10.2.8: - version "10.2.14" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-10.2.14.tgz#eb915b665fda41b79652782df3f553449c406b9d" - integrity sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== - dependencies: - "@types/http-cache-semantics" "^4.0.2" - get-stream "^6.0.1" - http-cache-semantics "^4.1.1" - keyv "^4.5.3" - mimic-response "^4.0.0" - normalize-url "^8.0.0" - responselike "^3.0.0" - -call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" - integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - -call-bind@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" - integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== - dependencies: - call-bind-apply-helpers "^1.0.0" - es-define-property "^1.0.0" - get-intrinsic "^1.2.4" - set-function-length "^1.2.2" - -call-bound@^1.0.2, call-bound@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" - integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== - dependencies: - call-bind-apply-helpers "^1.0.2" - get-intrinsic "^1.3.0" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -camelcase@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" - integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001716: - version "1.0.30001718" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz#dae13a9c80d517c30c6197515a96131c194d8f82" - integrity sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw== - -ccount@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" - integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^5.0.1, chalk@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8" - integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -character-entities-html4@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" - integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== - -character-entities-legacy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" - integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== - -character-entities@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" - integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== - -character-reference-invalid@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" - integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== - -cheerio-select@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" - integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== - dependencies: - boolbase "^1.0.0" - css-select "^5.1.0" - css-what "^6.1.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.0.1" - -cheerio@1.0.0-rc.12: - version "1.0.0-rc.12" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" - integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== - dependencies: - cheerio-select "^2.1.0" - dom-serializer "^2.0.0" - domhandler "^5.0.3" - domutils "^3.0.1" - htmlparser2 "^8.0.1" - parse5 "^7.0.0" - parse5-htmlparser2-tree-adapter "^7.0.0" - -chokidar@^3.4.2, chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chrome-trace-event@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" - integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -clean-css@^5.2.2, clean-css@^5.3.2, clean-css@~5.3.2: - version "5.3.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" - integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== - dependencies: - source-map "~0.6.0" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-boxes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" - integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== - -cli-table3@^0.6.3: - version "0.6.5" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" - integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clsx@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== - -clsx@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" - integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== - -collapse-white-space@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca" - integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colord@^2.9.3: - version "2.9.3" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^2.0.10: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -combine-promises@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/combine-promises/-/combine-promises-1.2.0.tgz#5f2e68451862acf85761ded4d9e2af7769c2ca6a" - integrity sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ== - -comma-separated-tokens@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" - integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== - -commander@^10.0.0: - version "10.0.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" - integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== - -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -common-path-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" - integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== - -compressible@~2.0.18: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.8.0" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.8.0.tgz#09420efc96e11a0f44f3a558de59e321364180f7" - integrity sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA== - dependencies: - bytes "3.1.2" - compressible "~2.0.18" - debug "2.6.9" - negotiator "~0.6.4" - on-headers "~1.0.2" - safe-buffer "5.2.1" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -config-chain@^1.1.11: - version "1.1.13" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" - integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -configstore@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-6.0.0.tgz#49eca2ebc80983f77e09394a1a56e0aca8235566" - integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== - dependencies: - dot-prop "^6.0.1" - graceful-fs "^4.2.6" - unique-string "^3.0.0" - write-file-atomic "^3.0.3" - xdg-basedir "^5.0.1" - -connect-history-api-fallback@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" - integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== - -consola@^3.2.3: - version "3.4.2" - resolved "https://registry.yarnpkg.com/consola/-/consola-3.4.2.tgz#5af110145397bb67afdab77013fdc34cae590ea7" - integrity sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA== - -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" - integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== - -copy-text-to-clipboard@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b" - integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q== - -copy-webpack-plugin@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" - integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== - dependencies: - fast-glob "^3.2.11" - glob-parent "^6.0.1" - globby "^13.1.1" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - -core-js-compat@^3.40.0: - version "3.42.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.42.0.tgz#ce19c29706ee5806e26d3cb3c542d4cfc0ed51bb" - integrity sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ== - dependencies: - browserslist "^4.24.4" - -core-js-pure@^3.30.2: - version "3.42.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.42.0.tgz#e86c45a7f3bdcb608823e872f73d1ad9ddf0531d" - integrity sha512-007bM04u91fF4kMgwom2I5cQxAFIy8jVulgr9eozILl/SZE53QOqnW/+vviC+wQWLv+AunBG+8Q0TLoeSsSxRQ== - -core-js@^3.31.1: - version "3.42.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.42.0.tgz#edbe91f78ac8cfb6df8d997e74d368a68082fe37" - integrity sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: - version "8.3.6" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" - integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== - dependencies: - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - path-type "^4.0.0" - -cross-spawn@^7.0.3: - version "7.0.6" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-random-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2" - integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== - dependencies: - type-fest "^1.0.1" - -css-blank-pseudo@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz#32020bff20a209a53ad71b8675852b49e8d57e46" - integrity sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag== - dependencies: - postcss-selector-parser "^7.0.0" - -css-declaration-sorter@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz#6dec1c9523bc4a643e088aab8f09e67a54961024" - integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== - -css-has-pseudo@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-7.0.2.tgz#fb42e8de7371f2896961e1f6308f13c2c7019b72" - integrity sha512-nzol/h+E0bId46Kn2dQH5VElaknX2Sr0hFuB/1EomdC7j+OISt2ZzK7EHX9DZDY53WbIVAR7FYKSO2XnSf07MQ== - dependencies: - "@csstools/selector-specificity" "^5.0.0" - postcss-selector-parser "^7.0.0" - postcss-value-parser "^4.2.0" - -css-loader@^6.8.1: - version "6.11.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" - integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.33" - postcss-modules-extract-imports "^3.1.0" - postcss-modules-local-by-default "^4.0.5" - postcss-modules-scope "^3.2.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.5.4" - -css-minimizer-webpack-plugin@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz#33effe662edb1a0bf08ad633c32fa75d0f7ec565" - integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - cssnano "^6.0.1" - jest-worker "^29.4.3" - postcss "^8.4.24" - schema-utils "^4.0.1" - serialize-javascript "^6.0.1" - -css-prefers-color-scheme@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz#ba001b99b8105b8896ca26fc38309ddb2278bd3c" - integrity sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ== - -css-select@^4.1.3: - version "4.3.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" - integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== - dependencies: - boolbase "^1.0.0" - css-what "^6.0.1" - domhandler "^4.3.1" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== - dependencies: - boolbase "^1.0.0" - css-what "^6.1.0" - domhandler "^5.0.2" - domutils "^3.0.1" - nth-check "^2.0.1" - -css-tree@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" - integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== - dependencies: - mdn-data "2.0.30" - source-map-js "^1.0.1" - -css-tree@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" - integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== - dependencies: - mdn-data "2.0.28" - source-map-js "^1.0.1" - -css-what@^6.0.1, css-what@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -cssdb@^8.2.5: - version "8.2.5" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-8.2.5.tgz#728313b62c744ea1590f740ef7827ec0ef5f80a1" - integrity sha512-leAt8/hdTCtzql9ZZi86uYAmCLzVKpJMMdjbvOGVnXFXz/BWFpBmM1MHEHU/RqtPyRYmabVmEW1DtX3YGLuuLA== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-advanced@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz#82b090872b8f98c471f681d541c735acf8b94d3f" - integrity sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ== - dependencies: - autoprefixer "^10.4.19" - browserslist "^4.23.0" - cssnano-preset-default "^6.1.2" - postcss-discard-unused "^6.0.5" - postcss-merge-idents "^6.0.3" - postcss-reduce-idents "^6.0.3" - postcss-zindex "^6.0.2" - -cssnano-preset-default@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz#adf4b89b975aa775f2750c89dbaf199bbd9da35e" - integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg== - dependencies: - browserslist "^4.23.0" - css-declaration-sorter "^7.2.0" - cssnano-utils "^4.0.2" - postcss-calc "^9.0.1" - postcss-colormin "^6.1.0" - postcss-convert-values "^6.1.0" - postcss-discard-comments "^6.0.2" - postcss-discard-duplicates "^6.0.3" - postcss-discard-empty "^6.0.3" - postcss-discard-overridden "^6.0.2" - postcss-merge-longhand "^6.0.5" - postcss-merge-rules "^6.1.1" - postcss-minify-font-values "^6.1.0" - postcss-minify-gradients "^6.0.3" - postcss-minify-params "^6.1.0" - postcss-minify-selectors "^6.0.4" - postcss-normalize-charset "^6.0.2" - postcss-normalize-display-values "^6.0.2" - postcss-normalize-positions "^6.0.2" - postcss-normalize-repeat-style "^6.0.2" - postcss-normalize-string "^6.0.2" - postcss-normalize-timing-functions "^6.0.2" - postcss-normalize-unicode "^6.1.0" - postcss-normalize-url "^6.0.2" - postcss-normalize-whitespace "^6.0.2" - postcss-ordered-values "^6.0.2" - postcss-reduce-initial "^6.1.0" - postcss-reduce-transforms "^6.0.2" - postcss-svgo "^6.0.3" - postcss-unique-selectors "^6.0.4" - -cssnano-utils@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.2.tgz#56f61c126cd0f11f2eef1596239d730d9fceff3c" - integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ== - -cssnano@^6.0.1, cssnano@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.1.2.tgz#4bd19e505bd37ee7cf0dc902d3d869f6d79c66b8" - integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA== - dependencies: - cssnano-preset-default "^6.1.2" - lilconfig "^3.1.1" - -csso@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" - integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== - dependencies: - css-tree "~2.2.0" - -csstype@^3.0.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -debounce@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" - integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== - -debug@2.6.9, debug@^2.6.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" - integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== - dependencies: - ms "^2.1.3" - -decode-named-character-reference@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz#5d6ce68792808901210dac42a8e9853511e2b8bf" - integrity sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w== - dependencies: - character-entities "^2.0.0" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deepmerge@^4.2.2, deepmerge@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -default-gateway@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" - -defer-to-connect@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-data-property@^1.0.1, define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -del@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" - integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -dequal@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -detect-port-alt@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -detect-port@^1.5.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.6.1.tgz#45e4073997c5f292b957cb678fb0bb8ed4250a67" - integrity sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q== - dependencies: - address "^1.0.1" - debug "4" - -devlop@^1.0.0, devlop@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" - integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== - dependencies: - dequal "^2.0.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dns-packet@^5.2.2: - version "5.6.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" - integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== - dependencies: - "@leichtgewicht/ip-codec" "^2.0.1" - -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@^1.0.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -dom-serializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" - integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.2" - entities "^4.2.0" - -domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domhandler@^5.0.2, domhandler@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" - -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -domutils@^3.0.1: - version "3.2.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78" - integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== - dependencies: - dom-serializer "^2.0.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dot-prop@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" - integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== - dependencies: - is-obj "^2.0.0" - -dunder-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" - integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== - dependencies: - call-bind-apply-helpers "^1.0.1" - es-errors "^1.3.0" - gopd "^1.2.0" - -duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -electron-to-chromium@^1.5.149: - version "1.5.152" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.152.tgz#bcdd39567e291b930ec26b930031137a05593695" - integrity sha512-xBOfg/EBaIlVsHipHl2VdTPJRSvErNUaqW8ejTq5OlOlIYx1wOllCHsAvAIrr55jD1IYEfdR86miUEt8H5IeJg== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojilib@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/emojilib/-/emojilib-2.4.0.tgz#ac518a8bb0d5f76dda57289ccb2fdf9d39ae721e" - integrity sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -emoticon@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-4.1.0.tgz#d5a156868ee173095627a33de3f1e914c3dde79e" - integrity sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -encodeurl@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" - integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== - -enhanced-resolve@^5.17.1: - version "5.18.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf" - integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -entities@^4.2.0, entities@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -entities@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.0.tgz#09c9e29cb79b0a6459a9b9db9efb418ac5bb8e51" - integrity sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-define-property@^1.0.0, es-define-property@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" - integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-module-lexer@^1.2.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" - integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== - -es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" - integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== - dependencies: - es-errors "^1.3.0" - -esast-util-from-estree@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz#8d1cfb51ad534d2f159dc250e604f3478a79f1ad" - integrity sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ== - dependencies: - "@types/estree-jsx" "^1.0.0" - devlop "^1.0.0" - estree-util-visit "^2.0.0" - unist-util-position-from-estree "^2.0.0" - -esast-util-from-js@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz#5147bec34cc9da44accf52f87f239a40ac3e8225" - integrity sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw== - dependencies: - "@types/estree-jsx" "^1.0.0" - acorn "^8.0.0" - esast-util-from-estree "^2.0.0" - vfile-message "^4.0.0" - -escalade@^3.1.1, escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-goat@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-4.0.0.tgz#9424820331b510b0666b98f7873fe11ac4aa8081" - integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg== - -escape-html@^1.0.3, escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escape-string-regexp@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" - integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-util-attach-comments@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz#344bde6a64c8a31d15231e5ee9e297566a691c2d" - integrity sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw== - dependencies: - "@types/estree" "^1.0.0" - -estree-util-build-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz#b6d0bced1dcc4f06f25cf0ceda2b2dcaf98168f1" - integrity sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ== - dependencies: - "@types/estree-jsx" "^1.0.0" - devlop "^1.0.0" - estree-util-is-identifier-name "^3.0.0" - estree-walker "^3.0.0" - -estree-util-is-identifier-name@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd" - integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== - -estree-util-scope@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/estree-util-scope/-/estree-util-scope-1.0.0.tgz#9cbdfc77f5cb51e3d9ed4ad9c4adbff22d43e585" - integrity sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ== - dependencies: - "@types/estree" "^1.0.0" - devlop "^1.0.0" - -estree-util-to-js@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz#10a6fb924814e6abb62becf0d2bc4dea51d04f17" - integrity sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg== - dependencies: - "@types/estree-jsx" "^1.0.0" - astring "^1.8.0" - source-map "^0.7.0" - -estree-util-value-to-estree@^3.0.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.4.0.tgz#827122e40c3a756d3c4cf5d5d296fa06026a1a4f" - integrity sha512-Zlp+gxis+gCfK12d3Srl2PdX2ybsEA8ZYy6vQGVQTNNYLEGRQQ56XB64bjemN8kxIKXP1nC9ip4Z+ILy9LGzvQ== - dependencies: - "@types/estree" "^1.0.0" - -estree-util-visit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-2.0.0.tgz#13a9a9f40ff50ed0c022f831ddf4b58d05446feb" - integrity sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/unist" "^3.0.0" - -estree-walker@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" - integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== - dependencies: - "@types/estree" "^1.0.0" - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eta@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/eta/-/eta-2.2.0.tgz#eb8b5f8c4e8b6306561a455e62cd7492fe3a9b8a" - integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eval@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.8.tgz#2b903473b8cc1d1989b83a1e7923f883eb357f85" - integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== - dependencies: - "@types/node" "*" - require-like ">= 0.1.1" - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -express@^4.17.3: - version "4.21.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32" - integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.3" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.7.1" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~2.0.0" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.3.1" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.3" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.12" - proxy-addr "~2.0.7" - qs "6.13.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.19.0" - serve-static "1.16.2" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" - integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.8" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-uri@^3.0.1: - version "3.0.6" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" - integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== - -fastq@^1.6.0: - version "1.19.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" - integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== - dependencies: - reusify "^1.0.4" - -fault@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fault/-/fault-2.0.1.tgz#d47ca9f37ca26e4bd38374a7c500b5a384755b6c" - integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== - dependencies: - format "^0.2.0" - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -feed@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" - integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== - dependencies: - xml-js "^1.6.11" - -figures@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -filesize@^8.0.6: - version "8.0.7" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" - integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" - integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== - dependencies: - debug "2.6.9" - encodeurl "~2.0.0" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" - integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== - dependencies: - common-path-prefix "^3.0.0" - pkg-dir "^7.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" - integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== - dependencies: - locate-path "^7.1.0" - path-exists "^5.0.0" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -follow-redirects@^1.0.0: - version "1.15.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" - integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== - -fork-ts-checker-webpack-plugin@^6.5.0: - version "6.5.3" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" - integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== - dependencies: - "@babel/code-frame" "^7.8.3" - "@types/json-schema" "^7.0.5" - chalk "^4.1.0" - chokidar "^3.4.2" - cosmiconfig "^6.0.0" - deepmerge "^4.2.2" - fs-extra "^9.0.0" - glob "^7.1.6" - memfs "^3.1.2" - minimatch "^3.0.4" - schema-utils "2.7.0" - semver "^7.3.2" - tapable "^1.0.0" - -form-data-encoder@^2.1.2: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5" - integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== - -format@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" - integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fraction.js@^4.3.7: - version "4.3.7" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" - integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-extra@^11.1.1, fs-extra@^11.2.0: - version "11.3.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" - integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-monkey@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.6.tgz#8ead082953e88d992cf3ff844faa907b26756da2" - integrity sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" - integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== - dependencies: - call-bind-apply-helpers "^1.0.2" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - function-bind "^1.1.2" - get-proto "^1.0.1" - gopd "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - math-intrinsics "^1.1.0" - -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -get-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" - integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== - dependencies: - dunder-proto "^1.0.1" - es-object-atoms "^1.0.0" - -get-stream@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -github-slugger@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" - integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== - dependencies: - ini "2.0.0" - -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^13.1.1: - version "13.2.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" - integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== - dependencies: - dir-glob "^3.0.1" - fast-glob "^3.3.0" - ignore "^5.2.4" - merge2 "^1.4.1" - slash "^4.0.0" - -gopd@^1.0.1, gopd@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" - integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== - -got@^12.1.0: - version "12.6.1" - resolved "https://registry.yarnpkg.com/got/-/got-12.6.1.tgz#8869560d1383353204b5a9435f782df9c091f549" - integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== - dependencies: - "@sindresorhus/is" "^5.2.0" - "@szmarczak/http-timer" "^5.0.1" - cacheable-lookup "^7.0.0" - cacheable-request "^10.2.8" - decompress-response "^6.0.0" - form-data-encoder "^2.1.2" - get-stream "^6.0.1" - http2-wrapper "^2.1.10" - lowercase-keys "^3.0.0" - p-cancelable "^3.0.0" - responselike "^3.0.0" - -graceful-fs@4.2.10: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -gray-matter@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" - integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== - dependencies: - js-yaml "^3.13.1" - kind-of "^6.0.2" - section-matter "^1.0.0" - strip-bom-string "^1.0.0" - -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" - integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== - -has-yarn@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" - integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== - -hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -hast-util-definition-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hast-util-definition-list/-/hast-util-definition-list-2.1.0.tgz#9bdf16835c91f47d1c8ff53d732c138e128b9506" - integrity sha512-n3U2gleI8TYZ6eVFjE9TZsGTpaOQlMQj10+WZZFn6Ts5uEu/7XzB8HVLNeu5Sgu7Rv96ThFp79/U6bf/4pS0ew== - dependencies: - "@types/hast" "^3.0.4" - "@types/mdast" "^4.0.3" - "@types/unist" "^3.0.2" - hast-util-to-mdast "^10.1.0" - mdast-util-definition-list "^2.0.0" - mdast-util-phrasing "^4.1.0" - -hast-util-embedded@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz#be4477780fbbe079cdba22982e357a0de4ba853e" - integrity sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA== - dependencies: - "@types/hast" "^3.0.0" - hast-util-is-element "^3.0.0" - -hast-util-from-dom@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz#c3c92fbd8d4e1c1625edeb3a773952b9e4ad64a8" - integrity sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q== - dependencies: - "@types/hast" "^3.0.0" - hastscript "^9.0.0" - web-namespaces "^2.0.0" - -hast-util-from-html-isomorphic@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz#b31baee386a899a2472326a3c5692f29f86d1d3c" - integrity sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw== - dependencies: - "@types/hast" "^3.0.0" - hast-util-from-dom "^5.0.0" - hast-util-from-html "^2.0.0" - unist-util-remove-position "^5.0.0" - -hast-util-from-html@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz#485c74785358beb80c4ba6346299311ac4c49c82" - integrity sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw== - dependencies: - "@types/hast" "^3.0.0" - devlop "^1.1.0" - hast-util-from-parse5 "^8.0.0" - parse5 "^7.0.0" - vfile "^6.0.0" - vfile-message "^4.0.0" - -hast-util-from-parse5@^8.0.0: - version "8.0.3" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz#830a35022fff28c3fea3697a98c2f4cc6b835a2e" - integrity sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - devlop "^1.0.0" - hastscript "^9.0.0" - property-information "^7.0.0" - vfile "^6.0.0" - vfile-location "^5.0.0" - web-namespaces "^2.0.0" - -hast-util-has-property@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz#4e595e3cddb8ce530ea92f6fc4111a818d8e7f93" - integrity sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-is-body-ok-link@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz#ef63cb2f14f04ecf775139cd92bda5026380d8b4" - integrity sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-is-element@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz#3b3ed5159a2707c6137b48637fbfe068e175a425" - integrity sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ== - -hast-util-is-element@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz#6e31a6532c217e5b533848c7e52c9d9369ca0932" - integrity sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-minify-whitespace@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz#7588fd1a53f48f1d30406b81959dffc3650daf55" - integrity sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw== - dependencies: - "@types/hast" "^3.0.0" - hast-util-embedded "^3.0.0" - hast-util-is-element "^3.0.0" - hast-util-whitespace "^3.0.0" - unist-util-is "^6.0.0" - -hast-util-parse-selector@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz#352879fa86e25616036037dd8931fb5f34cb4a27" - integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-phrasing@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz#fa284c0cd4a82a0dd6020de8300a7b1ebffa1690" - integrity sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ== - dependencies: - "@types/hast" "^3.0.0" - hast-util-embedded "^3.0.0" - hast-util-has-property "^3.0.0" - hast-util-is-body-ok-link "^3.0.0" - hast-util-is-element "^3.0.0" - -hast-util-raw@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-9.1.0.tgz#79b66b26f6f68fb50dfb4716b2cdca90d92adf2e" - integrity sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - "@ungap/structured-clone" "^1.0.0" - hast-util-from-parse5 "^8.0.0" - hast-util-to-parse5 "^8.0.0" - html-void-elements "^3.0.0" - mdast-util-to-hast "^13.0.0" - parse5 "^7.0.0" - unist-util-position "^5.0.0" - unist-util-visit "^5.0.0" - vfile "^6.0.0" - web-namespaces "^2.0.0" - zwitch "^2.0.0" - -hast-util-to-estree@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz#e654c1c9374645135695cc0ab9f70b8fcaf733d7" - integrity sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w== - dependencies: - "@types/estree" "^1.0.0" - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - comma-separated-tokens "^2.0.0" - devlop "^1.0.0" - estree-util-attach-comments "^3.0.0" - estree-util-is-identifier-name "^3.0.0" - hast-util-whitespace "^3.0.0" - mdast-util-mdx-expression "^2.0.0" - mdast-util-mdx-jsx "^3.0.0" - mdast-util-mdxjs-esm "^2.0.0" - property-information "^7.0.0" - space-separated-tokens "^2.0.0" - style-to-js "^1.0.0" - unist-util-position "^5.0.0" - zwitch "^2.0.0" - -hast-util-to-html@^9.0.0: - version "9.0.5" - resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz#ccc673a55bb8e85775b08ac28380f72d47167005" - integrity sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - ccount "^2.0.0" - comma-separated-tokens "^2.0.0" - hast-util-whitespace "^3.0.0" - html-void-elements "^3.0.0" - mdast-util-to-hast "^13.0.0" - property-information "^7.0.0" - space-separated-tokens "^2.0.0" - stringify-entities "^4.0.0" - zwitch "^2.0.4" - -hast-util-to-jsx-runtime@^2.0.0: - version "2.3.6" - resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz#ff31897aae59f62232e21594eac7ef6b63333e98" - integrity sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg== - dependencies: - "@types/estree" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - comma-separated-tokens "^2.0.0" - devlop "^1.0.0" - estree-util-is-identifier-name "^3.0.0" - hast-util-whitespace "^3.0.0" - mdast-util-mdx-expression "^2.0.0" - mdast-util-mdx-jsx "^3.0.0" - mdast-util-mdxjs-esm "^2.0.0" - property-information "^7.0.0" - space-separated-tokens "^2.0.0" - style-to-js "^1.0.0" - unist-util-position "^5.0.0" - vfile-message "^4.0.0" - -hast-util-to-mdast@^10.1.0: - version "10.1.2" - resolved "https://registry.yarnpkg.com/hast-util-to-mdast/-/hast-util-to-mdast-10.1.2.tgz#bc76f7f5f72f2cde4d6a66ad4cd0aba82bb79909" - integrity sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - "@ungap/structured-clone" "^1.0.0" - hast-util-phrasing "^3.0.0" - hast-util-to-html "^9.0.0" - hast-util-to-text "^4.0.0" - hast-util-whitespace "^3.0.0" - mdast-util-phrasing "^4.0.0" - mdast-util-to-hast "^13.0.0" - mdast-util-to-string "^4.0.0" - rehype-minify-whitespace "^6.0.0" - trim-trailing-lines "^2.0.0" - unist-util-position "^5.0.0" - unist-util-visit "^5.0.0" - -hast-util-to-parse5@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz#477cd42d278d4f036bc2ea58586130f6f39ee6ed" - integrity sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw== - dependencies: - "@types/hast" "^3.0.0" - comma-separated-tokens "^2.0.0" - devlop "^1.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - web-namespaces "^2.0.0" - zwitch "^2.0.0" - -hast-util-to-text@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz#57b676931e71bf9cb852453678495b3080bfae3e" - integrity sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - hast-util-is-element "^3.0.0" - unist-util-find-after "^5.0.0" - -hast-util-whitespace@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621" - integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== - dependencies: - "@types/hast" "^3.0.0" - -hastscript@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-9.0.1.tgz#dbc84bef6051d40084342c229c451cd9dc567dff" - integrity sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w== - dependencies: - "@types/hast" "^3.0.0" - comma-separated-tokens "^2.0.0" - hast-util-parse-selector "^4.0.0" - property-information "^7.0.0" - space-separated-tokens "^2.0.0" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -history@^4.9.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" - integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== - dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^3.0.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^1.0.1" - -hoist-non-react-statics@^3.1.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-entities@^2.3.2: - version "2.6.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.6.0.tgz#7c64f1ea3b36818ccae3d3fb48b6974208e984f8" - integrity sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ== - -html-escaper@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-minifier-terser@^6.0.2: - version "6.1.0" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" - integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== - dependencies: - camel-case "^4.1.2" - clean-css "^5.2.2" - commander "^8.3.0" - he "^1.2.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.10.0" - -html-minifier-terser@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz#18752e23a2f0ed4b0f550f217bb41693e975b942" - integrity sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA== - dependencies: - camel-case "^4.1.2" - clean-css "~5.3.2" - commander "^10.0.0" - entities "^4.4.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.15.1" - -html-tags@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" - integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== - -html-void-elements@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7" - integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== - -html-webpack-plugin@^5.6.0: - version "5.6.3" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz#a31145f0fee4184d53a794f9513147df1e653685" - integrity sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg== - dependencies: - "@types/html-minifier-terser" "^6.0.0" - html-minifier-terser "^6.0.2" - lodash "^4.17.21" - pretty-error "^4.0.0" - tapable "^2.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -htmlparser2@^8.0.1: - version "8.0.2" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" - integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.0.1" - entities "^4.4.0" - -http-cache-semantics@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5" - integrity sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.10" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.10.tgz#b3277bd6d7ed5588e20ea73bf724fcbe44609075" - integrity sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA== - -http-proxy-middleware@^2.0.3: - version "2.0.9" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz#e9e63d68afaa4eee3d147f39149ab84c0c2815ef" - integrity sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q== - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http2-wrapper@^2.1.10: - version "2.2.1" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a" - integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.2.0" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -ignore@^5.2.0, ignore@^5.2.4: - version "5.3.2" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" - integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== - -image-size@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.2.1.tgz#ee118aedfe666db1a6ee12bed5821cde3740276d" - integrity sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw== - dependencies: - queue "6.0.2" - -immer@^9.0.7: - version "9.0.21" - resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" - integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== - -import-fresh@^3.1.0, import-fresh@^3.3.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" - integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-lazy@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" - integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -infima@0.2.0-alpha.45: - version "0.2.0-alpha.45" - resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.45.tgz#542aab5a249274d81679631b492973dd2c1e7466" - integrity sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -inline-style-parser@0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.4.tgz#f4af5fe72e612839fcd453d989a586566d695f22" - integrity sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q== - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -ipaddr.js@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8" - integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== - -is-alphabetical@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" - integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== - -is-alphanumerical@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" - integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== - dependencies: - is-alphabetical "^2.0.0" - is-decimal "^2.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-ci@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - -is-core-module@^2.16.0: - version "2.16.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" - integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== - dependencies: - hasown "^2.0.2" - -is-decimal@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" - integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-hexadecimal@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" - integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== - -is-installed-globally@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-npm@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-6.0.0.tgz#b59e75e8915543ca5d881ecff864077cba095261" - integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-plain-obj@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" - integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== - -is-root@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -is-yarn-global@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.4.1.tgz#b312d902b313f81e4eaf98b6361ba2b45cd694bb" - integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^29.4.3: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jiti@^1.20.0: - version "1.21.7" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.7.tgz#9dd81043424a3d28458b193d965f0d18a2300ba9" - integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== - -joi@^17.9.2: - version "17.13.3" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.13.3.tgz#0f5cc1169c999b30d344366d384b12d92558bcec" - integrity sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA== - dependencies: - "@hapi/hoek" "^9.3.0" - "@hapi/topo" "^5.1.0" - "@sideway/address" "^4.1.5" - "@sideway/formula" "^3.0.1" - "@sideway/pinpoint" "^2.0.0" - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" - integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== - -jsesc@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" - integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json5@^2.1.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -katex@^0.16.0: - version "0.16.22" - resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.22.tgz#d2b3d66464b1e6d69e6463b28a86ced5a02c5ccd" - integrity sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg== - dependencies: - commander "^8.3.0" - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -latest-version@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-7.0.0.tgz#843201591ea81a4d404932eeb61240fe04e9e5da" - integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== - dependencies: - package-json "^8.1.0" - -launch-editor@^2.6.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.10.0.tgz#5ca3edfcb9667df1e8721310f3a40f1127d4bc42" - integrity sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA== - dependencies: - picocolors "^1.0.0" - shell-quote "^1.8.1" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -lilconfig@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" - integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -loader-utils@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.3.1.tgz#735b9a19fd63648ca7adbd31c2327dfe281304e5" - integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -locate-path@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" - integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== - dependencies: - p-locate "^6.0.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash@^4.17.20, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -longest-streak@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" - integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowercase-keys@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" - integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -markdown-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4" - integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q== - -markdown-table@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" - integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== - dependencies: - repeat-string "^1.0.0" - -markdown-table@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.4.tgz#fe44d6d410ff9d6f2ea1797a3f60aa4d2b631c2a" - integrity sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw== - -math-intrinsics@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" - integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== - -mdast-util-definition-list@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-definition-list/-/mdast-util-definition-list-2.0.0.tgz#90ee5f77ccf4e019dc1d8d8c7203a50dfbf630da" - integrity sha512-aFWuASQs77BJndNSDcNdvB1HRqWZBptcEjwv67mnPbaAZsfwMHxI8MwoQxAz4I2bHx41hft/HDRC57ZkhpayOQ== - dependencies: - "@types/mdast" "^4.0.1" - "@types/unist" "^3.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-hast "^13.0.2" - mdast-util-to-markdown "^2.1.0" - micromark-extension-definition-list "^2.0.0" - unist-builder "^4.0.0" - -mdast-util-directive@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz#f3656f4aab6ae3767d3c72cfab5e8055572ccba1" - integrity sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q== - dependencies: - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - ccount "^2.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - parse-entities "^4.0.0" - stringify-entities "^4.0.0" - unist-util-visit-parents "^6.0.0" - -mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz#70a3174c894e14df722abf43bc250cbae44b11df" - integrity sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg== - dependencies: - "@types/mdast" "^4.0.0" - escape-string-regexp "^5.0.0" - unist-util-is "^6.0.0" - unist-util-visit-parents "^6.0.0" - -mdast-util-from-markdown@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz#4850390ca7cf17413a9b9a0fbefcd1bc0eb4160a" - integrity sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA== - dependencies: - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - decode-named-character-reference "^1.0.0" - devlop "^1.0.0" - mdast-util-to-string "^4.0.0" - micromark "^4.0.0" - micromark-util-decode-numeric-character-reference "^2.0.0" - micromark-util-decode-string "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - unist-util-stringify-position "^4.0.0" - -mdast-util-frontmatter@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz#f5f929eb1eb36c8a7737475c7eb438261f964ee8" - integrity sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - escape-string-regexp "^5.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - micromark-extension-frontmatter "^2.0.0" - -mdast-util-gfm-autolink-literal@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz#abd557630337bd30a6d5a4bd8252e1c2dc0875d5" - integrity sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ== - dependencies: - "@types/mdast" "^4.0.0" - ccount "^2.0.0" - devlop "^1.0.0" - mdast-util-find-and-replace "^3.0.0" - micromark-util-character "^2.0.0" - -mdast-util-gfm-footnote@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz#7778e9d9ca3df7238cc2bd3fa2b1bf6a65b19403" - integrity sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.1.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - -mdast-util-gfm-strikethrough@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz#d44ef9e8ed283ac8c1165ab0d0dfd058c2764c16" - integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-gfm-table@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz#7a435fb6223a72b0862b33afbd712b6dae878d38" - integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - markdown-table "^3.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-gfm-task-list-item@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz#e68095d2f8a4303ef24094ab642e1047b991a936" - integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-gfm@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz#2cdf63b92c2a331406b0fb0db4c077c1b0331751" - integrity sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ== - dependencies: - mdast-util-from-markdown "^2.0.0" - mdast-util-gfm-autolink-literal "^2.0.0" - mdast-util-gfm-footnote "^2.0.0" - mdast-util-gfm-strikethrough "^2.0.0" - mdast-util-gfm-table "^2.0.0" - mdast-util-gfm-task-list-item "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-math@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-math/-/mdast-util-math-3.0.0.tgz#8d79dd3baf8ab8ac781f62b8853768190b9a00b0" - integrity sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - longest-streak "^3.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.1.0" - unist-util-remove-position "^5.0.0" - -mdast-util-mdx-expression@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz#43f0abac9adc756e2086f63822a38c8d3c3a5096" - integrity sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-mdx-jsx@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz#fd04c67a2a7499efb905a8a5c578dddc9fdada0d" - integrity sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - ccount "^2.0.0" - devlop "^1.1.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - parse-entities "^4.0.0" - stringify-entities "^4.0.0" - unist-util-stringify-position "^4.0.0" - vfile-message "^4.0.0" - -mdast-util-mdx@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz#792f9cf0361b46bee1fdf1ef36beac424a099c41" - integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== - dependencies: - mdast-util-from-markdown "^2.0.0" - mdast-util-mdx-expression "^2.0.0" - mdast-util-mdx-jsx "^3.0.0" - mdast-util-mdxjs-esm "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-mdxjs-esm@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97" - integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-phrasing@^4.0.0, mdast-util-phrasing@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz#7cc0a8dec30eaf04b7b1a9661a92adb3382aa6e3" - integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== - dependencies: - "@types/mdast" "^4.0.0" - unist-util-is "^6.0.0" - -mdast-util-to-hast@^13.0.0, mdast-util-to-hast@^13.0.2: - version "13.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz#5ca58e5b921cc0a3ded1bc02eed79a4fe4fe41f4" - integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - "@ungap/structured-clone" "^1.0.0" - devlop "^1.0.0" - micromark-util-sanitize-uri "^2.0.0" - trim-lines "^3.0.0" - unist-util-position "^5.0.0" - unist-util-visit "^5.0.0" - vfile "^6.0.0" - -mdast-util-to-markdown@^2.0.0, mdast-util-to-markdown@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz#f910ffe60897f04bb4b7e7ee434486f76288361b" - integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA== - dependencies: - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - longest-streak "^3.0.0" - mdast-util-phrasing "^4.0.0" - mdast-util-to-string "^4.0.0" - micromark-util-classify-character "^2.0.0" - micromark-util-decode-string "^2.0.0" - unist-util-visit "^5.0.0" - zwitch "^2.0.0" - -mdast-util-to-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" - integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== - dependencies: - "@types/mdast" "^4.0.0" - -mdn-data@2.0.28: - version "2.0.28" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" - integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== - -mdn-data@2.0.30: - version "2.0.30" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" - integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memfs@^3.1.2, memfs@^3.4.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" - integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== - dependencies: - fs-monkey "^1.0.4" - -merge-descriptors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" - integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromark-core-commonmark@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz#c691630e485021a68cf28dbc2b2ca27ebf678cd4" - integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== - dependencies: - decode-named-character-reference "^1.0.0" - devlop "^1.0.0" - micromark-factory-destination "^2.0.0" - micromark-factory-label "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-factory-title "^2.0.0" - micromark-factory-whitespace "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-classify-character "^2.0.0" - micromark-util-html-tag-name "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-resolve-all "^2.0.0" - micromark-util-subtokenize "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-definition-list@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-definition-list/-/micromark-extension-definition-list-2.0.1.tgz#f83534437d8256a9819b93c7119b808368f377de" - integrity sha512-lQSkVTWNR0f9qzUbM4p0chJSecIRYvZBjnI+cWqN0k2zDSvzpduGJifWJj4SpCWF4TlpNV9amCF8Y1VEXdJubQ== - dependencies: - micromark-core-commonmark "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.1" - micromark-util-chunked "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - ts-dedent "^2.2.0" - -micromark-extension-directive@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz#2eb61985d1995a7c1ff7621676a4f32af29409e8" - integrity sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA== - dependencies: - devlop "^1.0.0" - micromark-factory-space "^2.0.0" - micromark-factory-whitespace "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - parse-entities "^4.0.0" - -micromark-extension-frontmatter@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz#651c52ffa5d7a8eeed687c513cd869885882d67a" - integrity sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg== - dependencies: - fault "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-autolink-literal@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz#6286aee9686c4462c1e3552a9d505feddceeb935" - integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-footnote@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz#4dab56d4e398b9853f6fe4efac4fc9361f3e0750" - integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== - dependencies: - devlop "^1.0.0" - micromark-core-commonmark "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-strikethrough@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz#86106df8b3a692b5f6a92280d3879be6be46d923" - integrity sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw== - dependencies: - devlop "^1.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-classify-character "^2.0.0" - micromark-util-resolve-all "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-table@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz#fac70bcbf51fe65f5f44033118d39be8a9b5940b" - integrity sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg== - dependencies: - devlop "^1.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-tagfilter@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz#f26d8a7807b5985fba13cf61465b58ca5ff7dc57" - integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== - dependencies: - micromark-util-types "^2.0.0" - -micromark-extension-gfm-task-list-item@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz#bcc34d805639829990ec175c3eea12bb5b781f2c" - integrity sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw== - dependencies: - devlop "^1.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz#3e13376ab95dd7a5cfd0e29560dfe999657b3c5b" - integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== - dependencies: - micromark-extension-gfm-autolink-literal "^2.0.0" - micromark-extension-gfm-footnote "^2.0.0" - micromark-extension-gfm-strikethrough "^2.0.0" - micromark-extension-gfm-table "^2.0.0" - micromark-extension-gfm-tagfilter "^2.0.0" - micromark-extension-gfm-task-list-item "^2.0.0" - micromark-util-combine-extensions "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-math@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz#c42ee3b1dd5a9a03584e83dd8f08e3de510212c1" - integrity sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg== - dependencies: - "@types/katex" "^0.16.0" - devlop "^1.0.0" - katex "^0.16.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-mdx-expression@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz#43d058d999532fb3041195a3c3c05c46fa84543b" - integrity sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q== - dependencies: - "@types/estree" "^1.0.0" - devlop "^1.0.0" - micromark-factory-mdx-expression "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-events-to-acorn "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-mdx-jsx@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz#ffc98bdb649798902fa9fc5689f67f9c1c902044" - integrity sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ== - dependencies: - "@types/estree" "^1.0.0" - devlop "^1.0.0" - estree-util-is-identifier-name "^3.0.0" - micromark-factory-mdx-expression "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-events-to-acorn "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - vfile-message "^4.0.0" - -micromark-extension-mdx-md@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz#1d252881ea35d74698423ab44917e1f5b197b92d" - integrity sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ== - dependencies: - micromark-util-types "^2.0.0" - -micromark-extension-mdxjs-esm@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz#de21b2b045fd2059bd00d36746081de38390d54a" - integrity sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A== - dependencies: - "@types/estree" "^1.0.0" - devlop "^1.0.0" - micromark-core-commonmark "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-events-to-acorn "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - unist-util-position-from-estree "^2.0.0" - vfile-message "^4.0.0" - -micromark-extension-mdxjs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz#b5a2e0ed449288f3f6f6c544358159557549de18" - integrity sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ== - dependencies: - acorn "^8.0.0" - acorn-jsx "^5.0.0" - micromark-extension-mdx-expression "^3.0.0" - micromark-extension-mdx-jsx "^3.0.0" - micromark-extension-mdx-md "^2.0.0" - micromark-extension-mdxjs-esm "^3.0.0" - micromark-util-combine-extensions "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-destination@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz#8fef8e0f7081f0474fbdd92deb50c990a0264639" - integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-label@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz#5267efa97f1e5254efc7f20b459a38cb21058ba1" - integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg== - dependencies: - devlop "^1.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-mdx-expression@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz#bb09988610589c07d1c1e4425285895041b3dfa9" - integrity sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ== - dependencies: - "@types/estree" "^1.0.0" - devlop "^1.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-events-to-acorn "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - unist-util-position-from-estree "^2.0.0" - vfile-message "^4.0.0" - -micromark-factory-space@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" - integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-space@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz#36d0212e962b2b3121f8525fc7a3c7c029f334fc" - integrity sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-title@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz#237e4aa5d58a95863f01032d9ee9b090f1de6e94" - integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw== - dependencies: - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-whitespace@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz#06b26b2983c4d27bfcc657b33e25134d4868b0b1" - integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ== - dependencies: - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-character@^1.0.0, micromark-util-character@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" - integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-character@^2.0.0, micromark-util-character@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" - integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== - dependencies: - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-chunked@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz#47fbcd93471a3fccab86cff03847fc3552db1051" - integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA== - dependencies: - micromark-util-symbol "^2.0.0" - -micromark-util-classify-character@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz#d399faf9c45ca14c8b4be98b1ea481bced87b629" - integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-combine-extensions@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz#2a0f490ab08bff5cc2fd5eec6dd0ca04f89b30a9" - integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg== - dependencies: - micromark-util-chunked "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-decode-numeric-character-reference@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz#fcf15b660979388e6f118cdb6bf7d79d73d26fe5" - integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw== - dependencies: - micromark-util-symbol "^2.0.0" - -micromark-util-decode-string@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz#6cb99582e5d271e84efca8e61a807994d7161eb2" - integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-util-character "^2.0.0" - micromark-util-decode-numeric-character-reference "^2.0.0" - micromark-util-symbol "^2.0.0" - -micromark-util-encode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8" - integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== - -micromark-util-events-to-acorn@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz#e7a8a6b55a47e5a06c720d5a1c4abae8c37c98f3" - integrity sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg== - dependencies: - "@types/estree" "^1.0.0" - "@types/unist" "^3.0.0" - devlop "^1.0.0" - estree-util-visit "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - vfile-message "^4.0.0" - -micromark-util-html-tag-name@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz#e40403096481986b41c106627f98f72d4d10b825" - integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== - -micromark-util-normalize-identifier@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz#c30d77b2e832acf6526f8bf1aa47bc9c9438c16d" - integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q== - dependencies: - micromark-util-symbol "^2.0.0" - -micromark-util-resolve-all@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz#e1a2d62cdd237230a2ae11839027b19381e31e8b" - integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg== - dependencies: - micromark-util-types "^2.0.0" - -micromark-util-sanitize-uri@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7" - integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-encode "^2.0.0" - micromark-util-symbol "^2.0.0" - -micromark-util-subtokenize@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz#d8ade5ba0f3197a1cf6a2999fbbfe6357a1a19ee" - integrity sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA== - dependencies: - devlop "^1.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-symbol@^1.0.0, micromark-util-symbol@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" - integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== - -micromark-util-symbol@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8" - integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== - -micromark-util-types@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" - integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== - -micromark-util-types@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e" - integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== - -micromark@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.2.tgz#91395a3e1884a198e62116e33c9c568e39936fdb" - integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== - dependencies: - "@types/debug" "^4.0.0" - debug "^4.0.0" - decode-named-character-reference "^1.0.0" - devlop "^1.0.0" - micromark-core-commonmark "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-combine-extensions "^2.0.0" - micromark-util-decode-numeric-character-reference "^2.0.0" - micromark-util-encode "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-resolve-all "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" - micromark-util-subtokenize "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromatch@^4.0.2, micromatch@^4.0.5, micromatch@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -"mime-db@>= 1.43.0 < 2": - version "1.54.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" - integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== - -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" - integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== - -mime-types@2.1.18: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" - integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== - dependencies: - mime-db "~1.33.0" - -mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -mimic-response@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" - integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== - -mini-css-extract-plugin@^2.9.1: - version "2.9.2" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz#966031b468917a5446f4c24a80854b2947503c5b" - integrity sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w== - dependencies: - schema-utils "^4.0.0" - tapable "^2.2.1" - -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mrmime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc" - integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.3, ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns@^7.2.5: - version "7.2.5" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" - integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== - dependencies: - dns-packet "^5.2.2" - thunky "^1.0.2" - -nanoid@^3.3.8: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -negotiator@~0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" - integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-emoji@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-2.2.0.tgz#1d000e3c76e462577895be1b436f4aa2d6760eb0" - integrity sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw== - dependencies: - "@sindresorhus/is" "^4.6.0" - char-regex "^1.0.2" - emojilib "^2.4.0" - skin-tone "^2.0.0" - -node-forge@^1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-releases@^2.0.19: - version "2.0.19" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" - integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -normalize-url@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.1.tgz#9b7d96af9836577c58f5883e939365fa15623a4a" - integrity sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nprogress@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" - integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -null-loader@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-4.0.1.tgz#8e63bd3a2dd3c64236a4679428632edd0a6dbc6a" - integrity sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.13.3: - version "1.13.4" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" - integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.0: - version "4.1.7" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" - integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - has-symbols "^1.1.0" - object-keys "^1.1.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^8.0.9, open@^8.4.0: - version "8.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -opener@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -p-cancelable@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" - integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== - -p-limit@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-limit@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" - integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== - dependencies: - yocto-queue "^1.0.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-locate@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" - integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== - dependencies: - p-limit "^4.0.0" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== - dependencies: - "@types/retry" "0.12.0" - retry "^0.13.1" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-json@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-8.1.1.tgz#3e9948e43df40d1e8e78a85485f1070bf8f03dc8" - integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA== - dependencies: - got "^12.1.0" - registry-auth-token "^5.0.1" - registry-url "^6.0.0" - semver "^7.3.7" - -param-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-entities@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.2.tgz#61d46f5ed28e4ee62e9ddc43d6b010188443f159" - integrity sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw== - dependencies: - "@types/unist" "^2.0.0" - character-entities-legacy "^3.0.0" - character-reference-invalid "^2.0.0" - decode-named-character-reference "^1.0.0" - is-alphanumerical "^2.0.0" - is-decimal "^2.0.0" - is-hexadecimal "^2.0.0" - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse-numeric-range@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" - integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== - -parse5-htmlparser2-tree-adapter@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz#b5a806548ed893a43e24ccb42fbb78069311e81b" - integrity sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g== - dependencies: - domhandler "^5.0.3" - parse5 "^7.0.0" - -parse5@^7.0.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05" - integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== - dependencies: - entities "^6.0.0" - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-exists@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" - integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-is-inside@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.12: - version "0.1.12" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" - integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== - -path-to-regexp@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-3.3.0.tgz#f7f31d32e8518c2660862b644414b6d5c63a611b" - integrity sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw== - -path-to-regexp@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz#5dc0753acbf8521ca2e0f137b4578b917b10cf24" - integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== - dependencies: - isarray "0.0.1" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picocolors@^1.0.0, picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pkg-dir@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" - integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== - dependencies: - find-up "^6.3.0" - -pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - -postcss-attribute-case-insensitive@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz#0c4500e3bcb2141848e89382c05b5a31c23033a3" - integrity sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw== - dependencies: - postcss-selector-parser "^7.0.0" - -postcss-calc@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" - integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== - dependencies: - postcss-selector-parser "^6.0.11" - postcss-value-parser "^4.2.0" - -postcss-clamp@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" - integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-functional-notation@^7.0.9: - version "7.0.9" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.9.tgz#2be1abbdd68fc7e8906a7a4ae6e6c8484aae8485" - integrity sha512-WScwD3pSsIz+QP97sPkGCeJm7xUH0J18k6zV5o8O2a4cQJyv15vLUx/WFQajuJVgZhmJL5awDu8zHnqzAzm4lw== - dependencies: - "@csstools/css-color-parser" "^3.0.9" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/utilities" "^2.0.0" - -postcss-color-hex-alpha@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz#5dd3eba1f8facb4ea306cba6e3f7712e876b0c76" - integrity sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w== - dependencies: - "@csstools/utilities" "^2.0.0" - postcss-value-parser "^4.2.0" - -postcss-color-rebeccapurple@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz#5ada28406ac47e0796dff4056b0a9d5a6ecead98" - integrity sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ== - dependencies: - "@csstools/utilities" "^2.0.0" - postcss-value-parser "^4.2.0" - -postcss-colormin@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.1.0.tgz#076e8d3fb291fbff7b10e6b063be9da42ff6488d" - integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw== - dependencies: - browserslist "^4.23.0" - caniuse-api "^3.0.0" - colord "^2.9.3" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz#3498387f8efedb817cbc63901d45bd1ceaa40f48" - integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w== - dependencies: - browserslist "^4.23.0" - postcss-value-parser "^4.2.0" - -postcss-custom-media@^11.0.5: - version "11.0.5" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-11.0.5.tgz#2fcd88a9b1d4da41c67dac6f2def903063a3377d" - integrity sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ== - dependencies: - "@csstools/cascade-layer-name-parser" "^2.0.4" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/media-query-list-parser" "^4.0.2" - -postcss-custom-properties@^14.0.4: - version "14.0.4" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-14.0.4.tgz#de9c663285a98833a946d7003a34369d3ce373a9" - integrity sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A== - dependencies: - "@csstools/cascade-layer-name-parser" "^2.0.4" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/utilities" "^2.0.0" - postcss-value-parser "^4.2.0" - -postcss-custom-selectors@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-8.0.4.tgz#95ef8268fdbbbd84f34cf84a4517c9d99d419c5a" - integrity sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg== - dependencies: - "@csstools/cascade-layer-name-parser" "^2.0.4" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - postcss-selector-parser "^7.0.0" - -postcss-dir-pseudo-class@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz#80d9e842c9ae9d29f6bf5fd3cf9972891d6cc0ca" - integrity sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA== - dependencies: - postcss-selector-parser "^7.0.0" - -postcss-discard-comments@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz#e768dcfdc33e0216380623652b0a4f69f4678b6c" - integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw== - -postcss-discard-duplicates@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz#d121e893c38dc58a67277f75bb58ba43fce4c3eb" - integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw== - -postcss-discard-empty@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz#ee39c327219bb70473a066f772621f81435a79d9" - integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ== - -postcss-discard-overridden@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz#4e9f9c62ecd2df46e8fdb44dc17e189776572e2d" - integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== - -postcss-discard-unused@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz#c1b0e8c032c6054c3fbd22aaddba5b248136f338" - integrity sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA== - dependencies: - postcss-selector-parser "^6.0.16" - -postcss-double-position-gradients@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.1.tgz#5fde3de9fb78b467244d8c4fde39f60397beb0ce" - integrity sha512-ZitCwmvOR4JzXmKw6sZblTgwV1dcfLvClcyjADuqZ5hU0Uk4SVNpvSN9w8NcJ7XuxhRYxVA8m8AB3gy+HNBQOA== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/utilities" "^2.0.0" - postcss-value-parser "^4.2.0" - -postcss-focus-visible@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz#1f7904904368a2d1180b220595d77b6f8a957868" - integrity sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA== - dependencies: - postcss-selector-parser "^7.0.0" - -postcss-focus-within@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz#ac01ce80d3f2e8b2b3eac4ff84f8e15cd0057bc7" - integrity sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw== - dependencies: - postcss-selector-parser "^7.0.0" - -postcss-font-variant@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" - integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== - -postcss-gap-properties@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz#d5ff0bdf923c06686499ed2b12e125fe64054fed" - integrity sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw== - -postcss-image-set-function@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz#538e94e16716be47f9df0573b56bbaca86e1da53" - integrity sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA== - dependencies: - "@csstools/utilities" "^2.0.0" - postcss-value-parser "^4.2.0" - -postcss-lab-function@^7.0.9: - version "7.0.9" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-7.0.9.tgz#09052f22cc2b8c589e9b29b5c0a10be105b29b69" - integrity sha512-IGbsIXbqMDusymJAKYX+f9oakPo89wL9Pzd/qRBQOVf3EIQWT9hgvqC4Me6Dkzxp3KPuIBf6LPkjrLHe/6ZMIQ== - dependencies: - "@csstools/css-color-parser" "^3.0.9" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/utilities" "^2.0.0" - -postcss-loader@^7.3.3: - version "7.3.4" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.3.4.tgz#aed9b79ce4ed7e9e89e56199d25ad1ec8f606209" - integrity sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A== - dependencies: - cosmiconfig "^8.3.5" - jiti "^1.20.0" - semver "^7.5.4" - -postcss-logical@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-8.1.0.tgz#4092b16b49e3ecda70c4d8945257da403d167228" - integrity sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-merge-idents@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz#7b9c31c7bc823c94bec50f297f04e3c2b838ea65" - integrity sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g== - dependencies: - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-merge-longhand@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz#ba8a8d473617c34a36abbea8dda2b215750a065a" - integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^6.1.1" - -postcss-merge-rules@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz#7aa539dceddab56019469c0edd7d22b64c3dea9d" - integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ== - dependencies: - browserslist "^4.23.0" - caniuse-api "^3.0.0" - cssnano-utils "^4.0.2" - postcss-selector-parser "^6.0.16" - -postcss-minify-font-values@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz#a0e574c02ee3f299be2846369211f3b957ea4c59" - integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz#ca3eb55a7bdb48a1e187a55c6377be918743dbd6" - integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q== - dependencies: - colord "^2.9.3" - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz#54551dec77b9a45a29c3cb5953bf7325a399ba08" - integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA== - dependencies: - browserslist "^4.23.0" - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz#197f7d72e6dd19eed47916d575d69dc38b396aff" - integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ== - dependencies: - postcss-selector-parser "^6.0.16" - -postcss-modules-extract-imports@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" - integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== - -postcss-modules-local-by-default@^4.0.5: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz#d150f43837831dae25e4085596e84f6f5d6ec368" - integrity sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^7.0.0" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz#1bbccddcb398f1d7a511e0a2d1d047718af4078c" - integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA== - dependencies: - postcss-selector-parser "^7.0.0" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-nesting@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-13.0.1.tgz#c405796d7245a3e4c267a9956cacfe9670b5d43e" - integrity sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ== - dependencies: - "@csstools/selector-resolve-nested" "^3.0.0" - "@csstools/selector-specificity" "^5.0.0" - postcss-selector-parser "^7.0.0" - -postcss-normalize-charset@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz#1ec25c435057a8001dac942942a95ffe66f721e1" - integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ== - -postcss-normalize-display-values@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz#54f02764fed0b288d5363cbb140d6950dbbdd535" - integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz#e982d284ec878b9b819796266f640852dbbb723a" - integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz#f8006942fd0617c73f049dd8b6201c3a3040ecf3" - integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz#e3cc6ad5c95581acd1fc8774b309dd7c06e5e363" - integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz#40cb8726cef999de984527cbd9d1db1f3e9062c0" - integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz#aaf8bbd34c306e230777e80f7f12a4b7d27ce06e" - integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg== - dependencies: - browserslist "^4.23.0" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz#292792386be51a8de9a454cb7b5c58ae22db0f79" - integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz#fbb009e6ebd312f8b2efb225c2fcc7cf32b400cd" - integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-opacity-percentage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz#0b0db5ed5db5670e067044b8030b89c216e1eb0a" - integrity sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ== - -postcss-ordered-values@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz#366bb663919707093451ab70c3f99c05672aaae5" - integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q== - dependencies: - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-overflow-shorthand@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz#f5252b4a2ee16c68cd8a9029edb5370c4a9808af" - integrity sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-page-break@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" - integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== - -postcss-place@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-10.0.0.tgz#ba36ee4786ca401377ced17a39d9050ed772e5a9" - integrity sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-preset-env@^10.1.0: - version "10.1.6" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-10.1.6.tgz#0f5456ea55a6bcbd0fd3c5f41e194881f42b17e5" - integrity sha512-1jRD7vttKLJ7o0mcmmYWKRLm7W14rI8K1I7Y41OeXUPEVc/CAzfTssNUeJ0zKbR+zMk4boqct/gwS/poIFF5Lg== - dependencies: - "@csstools/postcss-cascade-layers" "^5.0.1" - "@csstools/postcss-color-function" "^4.0.9" - "@csstools/postcss-color-mix-function" "^3.0.9" - "@csstools/postcss-content-alt-text" "^2.0.5" - "@csstools/postcss-exponential-functions" "^2.0.8" - "@csstools/postcss-font-format-keywords" "^4.0.0" - "@csstools/postcss-gamut-mapping" "^2.0.9" - "@csstools/postcss-gradients-interpolation-method" "^5.0.9" - "@csstools/postcss-hwb-function" "^4.0.9" - "@csstools/postcss-ic-unit" "^4.0.1" - "@csstools/postcss-initial" "^2.0.1" - "@csstools/postcss-is-pseudo-class" "^5.0.1" - "@csstools/postcss-light-dark-function" "^2.0.8" - "@csstools/postcss-logical-float-and-clear" "^3.0.0" - "@csstools/postcss-logical-overflow" "^2.0.0" - "@csstools/postcss-logical-overscroll-behavior" "^2.0.0" - "@csstools/postcss-logical-resize" "^3.0.0" - "@csstools/postcss-logical-viewport-units" "^3.0.3" - "@csstools/postcss-media-minmax" "^2.0.8" - "@csstools/postcss-media-queries-aspect-ratio-number-values" "^3.0.4" - "@csstools/postcss-nested-calc" "^4.0.0" - "@csstools/postcss-normalize-display-values" "^4.0.0" - "@csstools/postcss-oklab-function" "^4.0.9" - "@csstools/postcss-progressive-custom-properties" "^4.0.1" - "@csstools/postcss-random-function" "^2.0.0" - "@csstools/postcss-relative-color-syntax" "^3.0.9" - "@csstools/postcss-scope-pseudo-class" "^4.0.1" - "@csstools/postcss-sign-functions" "^1.1.3" - "@csstools/postcss-stepped-value-functions" "^4.0.8" - "@csstools/postcss-text-decoration-shorthand" "^4.0.2" - "@csstools/postcss-trigonometric-functions" "^4.0.8" - "@csstools/postcss-unset-value" "^4.0.0" - autoprefixer "^10.4.21" - browserslist "^4.24.4" - css-blank-pseudo "^7.0.1" - css-has-pseudo "^7.0.2" - css-prefers-color-scheme "^10.0.0" - cssdb "^8.2.5" - postcss-attribute-case-insensitive "^7.0.1" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^7.0.9" - postcss-color-hex-alpha "^10.0.0" - postcss-color-rebeccapurple "^10.0.0" - postcss-custom-media "^11.0.5" - postcss-custom-properties "^14.0.4" - postcss-custom-selectors "^8.0.4" - postcss-dir-pseudo-class "^9.0.1" - postcss-double-position-gradients "^6.0.1" - postcss-focus-visible "^10.0.1" - postcss-focus-within "^9.0.1" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^6.0.0" - postcss-image-set-function "^7.0.0" - postcss-lab-function "^7.0.9" - postcss-logical "^8.1.0" - postcss-nesting "^13.0.1" - postcss-opacity-percentage "^3.0.0" - postcss-overflow-shorthand "^6.0.0" - postcss-page-break "^3.0.4" - postcss-place "^10.0.0" - postcss-pseudo-class-any-link "^10.0.1" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^8.0.1" - -postcss-pseudo-class-any-link@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz#06455431171bf44b84d79ebaeee9fd1c05946544" - integrity sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q== - dependencies: - postcss-selector-parser "^7.0.0" - -postcss-reduce-idents@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz#b0d9c84316d2a547714ebab523ec7d13704cd486" - integrity sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-reduce-initial@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz#4401297d8e35cb6e92c8e9586963e267105586ba" - integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw== - dependencies: - browserslist "^4.23.0" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz#6fa2c586bdc091a7373caeee4be75a0f3e12965d" - integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-replace-overflow-wrap@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" - integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== - -postcss-selector-not@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz#f2df9c6ac9f95e9fe4416ca41a957eda16130172" - integrity sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA== - dependencies: - postcss-selector-parser "^7.0.0" - -postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16: - version "6.1.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" - integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-selector-parser@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz#4d6af97eba65d73bc4d84bcb343e865d7dd16262" - integrity sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-sort-media-queries@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz#4556b3f982ef27d3bac526b99b6c0d3359a6cf97" - integrity sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA== - dependencies: - sort-css-media-queries "2.2.0" - -postcss-svgo@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.3.tgz#1d6e180d6df1fa8a3b30b729aaa9161e94f04eaa" - integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^3.2.0" - -postcss-unique-selectors@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz#983ab308896b4bf3f2baaf2336e14e52c11a2088" - integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg== - dependencies: - postcss-selector-parser "^6.0.16" - -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss-zindex@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-6.0.2.tgz#e498304b83a8b165755f53db40e2ea65a99b56e1" - integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== - -postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.33, postcss@^8.4.38: - version "8.5.3" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" - integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== - dependencies: - nanoid "^3.3.8" - picocolors "^1.1.1" - source-map-js "^1.2.1" - -pretty-error@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" - integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== - dependencies: - lodash "^4.17.20" - renderkid "^3.0.0" - -pretty-time@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" - integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== - -prism-react-renderer@^2.1.0, prism-react-renderer@^2.3.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz#ac63b7f78e56c8f2b5e76e823a976d5ede77e35f" - integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig== - dependencies: - "@types/prismjs" "^1.26.0" - clsx "^2.0.0" - -prismjs@^1.29.0: - version "1.30.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.30.0.tgz#d9709969d9d4e16403f6f348c63553b19f0975a9" - integrity sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -prompts@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.6.2, prop-types@^15.7.2: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -property-information@^6.0.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" - integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== - -property-information@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.1.0.tgz#b622e8646e02b580205415586b40804d3e8bfd5d" - integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ== - -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -punycode@^2.1.0, punycode@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pupa@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-3.1.0.tgz#f15610274376bbcc70c9a3aa8b505ea23f41c579" - integrity sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug== - dependencies: - escape-goat "^4.0.0" - -qs@6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" - integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== - dependencies: - side-channel "^1.0.6" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -queue@6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" - integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== - dependencies: - inherits "~2.0.3" - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc@1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-dev-utils@^12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" - integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== - dependencies: - "@babel/code-frame" "^7.16.0" - address "^1.1.2" - browserslist "^4.18.1" - chalk "^4.1.2" - cross-spawn "^7.0.3" - detect-port-alt "^1.1.6" - escape-string-regexp "^4.0.0" - filesize "^8.0.6" - find-up "^5.0.0" - fork-ts-checker-webpack-plugin "^6.5.0" - global-modules "^2.0.0" - globby "^11.0.4" - gzip-size "^6.0.0" - immer "^9.0.7" - is-root "^2.1.0" - loader-utils "^3.2.0" - open "^8.4.0" - pkg-up "^3.1.0" - prompts "^2.4.2" - react-error-overlay "^6.0.11" - recursive-readdir "^2.2.2" - shell-quote "^1.7.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -react-dom@^18.2.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" - integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.2" - -react-error-overlay@^6.0.11: - version "6.1.0" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.1.0.tgz#22b86256beb1c5856f08a9a228adb8121dd985f2" - integrity sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ== - -react-fast-compare@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" - integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== - -"react-helmet-async@npm:@slorber/react-helmet-async@*", "react-helmet-async@npm:@slorber/react-helmet-async@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@slorber/react-helmet-async/-/react-helmet-async-1.3.0.tgz#11fbc6094605cf60aa04a28c17e0aab894b4ecff" - integrity sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A== - dependencies: - "@babel/runtime" "^7.12.5" - invariant "^2.2.4" - prop-types "^15.7.2" - react-fast-compare "^3.2.0" - shallowequal "^1.1.0" - -react-icons@^4.12.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.12.0.tgz#54806159a966961bfd5cdb26e492f4dafd6a8d78" - integrity sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw== - -react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-json-view-lite@^1.2.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/react-json-view-lite/-/react-json-view-lite-1.5.0.tgz#377cc302821717ac79a1b6d099e1891df54c8662" - integrity sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw== - -react-loadable-ssr-addon-v5-slorber@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz#2cdc91e8a744ffdf9e3556caabeb6e4278689883" - integrity sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A== - dependencies: - "@babel/runtime" "^7.10.3" +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@algolia/autocomplete-core@npm:1.17.9": + version: 1.17.9 + resolution: "@algolia/autocomplete-core@npm:1.17.9" + dependencies: + "@algolia/autocomplete-plugin-algolia-insights": "npm:1.17.9" + "@algolia/autocomplete-shared": "npm:1.17.9" + checksum: 10c0/e1111769a8723b9dd45fc38cd7edc535c86c1f908b84b5fdc5de06ba6b8c7aca14e5f52ebce84fa5f7adf857332e396b93b7e7933b157b2c9aefc0a19d9574ab + languageName: node + linkType: hard + +"@algolia/autocomplete-plugin-algolia-insights@npm:1.17.9": + version: 1.17.9 + resolution: "@algolia/autocomplete-plugin-algolia-insights@npm:1.17.9" + dependencies: + "@algolia/autocomplete-shared": "npm:1.17.9" + peerDependencies: + search-insights: ">= 1 < 3" + checksum: 10c0/05c21502631643abdcd6e9f70b5814a60d34bad59bca501e26e030fd72e689be5cecfb6e8939a0a1bdcb2394591e55e26a42a82c7247528eafeff714db0819a4 + languageName: node + linkType: hard + +"@algolia/autocomplete-preset-algolia@npm:1.17.9": + version: 1.17.9 + resolution: "@algolia/autocomplete-preset-algolia@npm:1.17.9" + dependencies: + "@algolia/autocomplete-shared": "npm:1.17.9" + peerDependencies: + "@algolia/client-search": ">= 4.9.1 < 6" + algoliasearch: ">= 4.9.1 < 6" + checksum: 10c0/99159c7e02a927d0d96717cb4cfd2f8dbc4da73267a8eae4f83af5bf74087089f6e7dbffd316512e713a4cc534e936b6a7ccb5c4a5ff84b4bf73f2d3cc050e79 + languageName: node + linkType: hard + +"@algolia/autocomplete-shared@npm:1.17.9": + version: 1.17.9 + resolution: "@algolia/autocomplete-shared@npm:1.17.9" + peerDependencies: + "@algolia/client-search": ">= 4.9.1 < 6" + algoliasearch: ">= 4.9.1 < 6" + checksum: 10c0/b318281aecdaae09171b47ee4f7bc66b613852cad4506e9d6278fff35ba68a12dd9cce2d90b5f4c3ba0e3d7d780583cbe46b22275260e41bbf09fb01e4a18f49 + languageName: node + linkType: hard + +"@algolia/client-abtesting@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-abtesting@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/614044c066e34cbc41b74a2242c3b0a08e952e96f90e0f2afbcd04711cf29fa88dea211f15bcef162bfd15b3f27555641bff229618cdf45bb83fe7c48100a7bf + languageName: node + linkType: hard + +"@algolia/client-analytics@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-analytics@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/76068a9558df85c469c77a8facd10927800c347363b1b73e43fbecc3e2de9d1404e0c3769c1e2d7e4670f0b435c819f239f5399d81728a9d735b72f9a1a9df53 + languageName: node + linkType: hard + +"@algolia/client-common@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-common@npm:5.25.0" + checksum: 10c0/e75370c9e5353badcd322db3b573a1f1cad1dbe5e576552e940c3db848778cd0849a028894da3f08dc551e3a53d1613239bc8cb06eef6dd4734e93ce5f49a895 + languageName: node + linkType: hard + +"@algolia/client-insights@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-insights@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/8bbabcf7a86a649932b56525843d2b431c89077576e939832152859be398e9bf31a54b6c1565086b9e66deef045216d85adac8edcf538ebc9bcefc80f1a9711d + languageName: node + linkType: hard + +"@algolia/client-personalization@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-personalization@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/0d937519adbf0231e985718e32e7b0e54d15d30a01bd0491c357eb937a4ebb44a6b8024de736cb1da5919ca23e10a6dbb1bdda06ed46848e15d1bb3a9533f0fc + languageName: node + linkType: hard + +"@algolia/client-query-suggestions@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-query-suggestions@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/84f327d0bd98c2da8b37d3c51712baa794d44e78fd7e60f372899b882ac4d02e1836df27ed397dcb3deede820c7a8f20d1c043378166baaf1f855c89551cc5fd + languageName: node + linkType: hard + +"@algolia/client-search@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-search@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/5a09f4e66aa802ec7a292595f8d08dcd7de12683d0ddde1feb640062011dbd8bd8b521627f7c904e27e0f3e80ad8a451e58e0bc790b0f2e4faf4e55dfe2df297 + languageName: node + linkType: hard + +"@algolia/events@npm:^4.0.1": + version: 4.0.1 + resolution: "@algolia/events@npm:4.0.1" + checksum: 10c0/f398d815c6ed21ac08f6caadf1e9155add74ac05d99430191c3b1f1335fd91deaf468c6b304e6225c9885d3d44c06037c53def101e33d9c22daff175b2a65ca9 + languageName: node + linkType: hard + +"@algolia/ingestion@npm:1.25.0": + version: 1.25.0 + resolution: "@algolia/ingestion@npm:1.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/6c2ffddaabfa62a87c45917ddd311d12adca1263de22be4c9023e7d526cc43c2a6fe1a5ea28f46a118762bd8a143bba903aded9ba3c70953e6f6af67e6b9e12f + languageName: node + linkType: hard + +"@algolia/monitoring@npm:1.25.0": + version: 1.25.0 + resolution: "@algolia/monitoring@npm:1.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/d28b0af9ff0e864ad8ada43e735d763052b605410813c26ea595c21b9a3bcc323ebf3b04e810bc23cc8c28840952dbda7d111d583b8884e91e5692a14ad427e8 + languageName: node + linkType: hard + +"@algolia/recommend@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/recommend@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/cfab69aec97096ac4db3fb7a20af3e6263362ad65100e33f1523ddfdb37a3bd1ca8d4002e83f8b52009ca5650cb9486e9e38410fb0f0b49336cd8c2bed58cd0e + languageName: node + linkType: hard + +"@algolia/requester-browser-xhr@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/requester-browser-xhr@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + checksum: 10c0/c190525b68d7d255568d20e6024094bb8b273f3234f698e4da52edb97697cddb5df99038f5dc780a54da9c89837c8e6d81e2e230ab2f819b6ec689ebbabd049a + languageName: node + linkType: hard + +"@algolia/requester-fetch@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/requester-fetch@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + checksum: 10c0/126ed1c1cd6033a979da071018a5a1ada00df87e7ef5196385b6f241ca8f41f77c40827461a1aa04612a75ba651786c50b8e7a9f7636ba58b723c8bf8fd039a1 + languageName: node + linkType: hard + +"@algolia/requester-node-http@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/requester-node-http@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + checksum: 10c0/310ecc88d6769b67d1959dfb11554699759ad358ce88b20edbe82cc007511efda3777451b3194ff26a600dc41bfe49588a74168c3f122302b945fe4e2e8b2063 + languageName: node + linkType: hard + +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.8.3": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.27.1" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/compat-data@npm:7.27.2" + checksum: 10c0/077c9e01af3b90decee384a6a44dcf353898e980cee22ec7941f9074655dbbe97ec317345536cdc7ef7391521e1497930c522a3816af473076dd524be7fccd32 + languageName: node + linkType: hard + +"@babel/core@npm:^7.21.3, @babel/core@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/core@npm:7.27.1" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.1" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helpers": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/0fc31f87f5401ac5d375528cb009f4ea5527fc8c5bb5b64b5b22c033b60fd0ad723388933a5f3f5db14e1edd13c958e9dd7e5c68f9b68c767aeb496199c8a4bb + languageName: node + linkType: hard + +"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/generator@npm:7.27.1" + dependencies: + "@babel/parser": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10c0/c4156434b21818f558ebd93ce45f027c53ee570ce55a84fd2d9ba45a79ad204c17e0bff753c886fb6c07df3385445a9e34dc7ccb070d0ac7e80bb91c8b57f423 + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.1" + dependencies: + "@babel/types": "npm:^7.27.1" + checksum: 10c0/fc4751b59c8f5417e1acb0455d6ffce53fa5e79b3aca690299fbbf73b1b65bfaef3d4a18abceb190024c5836bb6cfbc3711e83888648df93df54e18152a1196c + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/helper-compilation-targets@npm:7.27.2" + dependencies: + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-create-class-features-plugin@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4ee199671d6b9bdd4988aa2eea4bdced9a73abfc831d81b00c7634f49a8fc271b3ceda01c067af58018eb720c6151322015d463abea7072a368ee13f35adbb4c + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + regexpu-core: "npm:^6.2.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/591fe8bd3bb39679cc49588889b83bd628d8c4b99c55bafa81e80b1e605a348b64da955e3fd891c4ba3f36fd015367ba2eadea22af6a7de1610fbb5bcc2d3df0 + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.6.3, @babel/helper-define-polyfill-provider@npm:^0.6.4": + version: 0.6.4 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.4" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/b74f2b46e233a178618d19432bdae16e0137d0a603497ee901155e083c4a61f26fe01d79fb95d5f4c22131ade9d958d8f587088d412cca1302633587f070919d + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-member-expression-to-functions@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/5762ad009b6a3d8b0e6e79ff6011b3b8fdda0fefad56cfa8bfbe6aa02d5a8a8a9680a45748fe3ac47e735a03d2d88c0a676e3f9f59f20ae9fadcc8d51ccd5a53 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-transforms@npm:7.27.1" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/196ab29635fe6eb5ba6ead2972d41b1c0d40f400f99bd8fc109cef21440de24c26c972fabf932585e618694d590379ab8d22def8da65a54459d38ec46112ead7 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" + dependencies: + "@babel/types": "npm:^7.27.1" + checksum: 10c0/6b861e7fcf6031b9c9fc2de3cd6c005e94a459d6caf3621d93346b52774925800ca29d4f64595a5ceacf4d161eb0d27649ae385110ed69491d9776686fa488e6 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.27.1 + resolution: "@babel/helper-plugin-utils@npm:7.27.1" + checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-wrap-function": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/5ba6258f4bb57c7c9fa76b55f416b2d18c867b48c1af4f9f2f7cd7cc933fe6da7514811d08ceb4972f1493be46f4b69c40282b811d1397403febae13c2ec57b5 + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-replace-supers@npm:7.27.1" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4f2eaaf5fcc196580221a7ccd0f8873447b5d52745ad4096418f6101a1d2e712e9f93722c9a32bc9769a1dc197e001f60d6f5438d4dfde4b9c6a9e4df719354c + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-wrap-function@npm:7.27.1" + dependencies: + "@babel/template": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/c472f75c0951bc657ab0a117538c7c116566ae7579ed47ac3f572c42dc78bd6f1e18f52ebe80d38300c991c3fcaa06979e2f8864ee919369dabd59072288de30 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helpers@npm:7.27.1" + dependencies: + "@babel/template": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e078257b9342dae2c041ac050276c5a28701434ad09478e6dc6976abd99f721a5a92e4bebddcbca6b1c3a7e8acace56a946340c701aad5e7507d2c87446459ba + languageName: node + linkType: hard + +"@babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/parser@npm:7.27.2" + dependencies: + "@babel/types": "npm:^7.27.1" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/3c06692768885c2f58207fc8c2cbdb4a44df46b7d93135a083f6eaa49310f7ced490ce76043a2a7606cdcc13f27e3d835e141b692f2f6337a2e7f43c1dbb04b4 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/7dfffa978ae1cd179641a7c4b4ad688c6828c2c58ec96b118c2fb10bc3715223de6b88bff1ebff67056bb5fccc568ae773e3b83c592a1b843423319f80c99ebd + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/2cd7a55a856e5e59bbd9484247c092a41e0d9f966778e7019da324d9e0928892d26afc4fbb2ac3d76a3c5a631cd3cf0d72dd2653b44f634f6c663b9e6f80aacd + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/cf29835498c4a25bd470908528919729a0799b2ec94e89004929a5532c94a5e4b1a49bc5d6673a22e5afe05d08465873e14ee3b28c42eb3db489cdf5ca47c680 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 10c0/eddcd056f76e198868cbff883eb148acfade8f0890973ab545295df0c08e39573a72e65372bcc0b0bfadba1b043fe1aea6b0907d0b4889453ac154c404194ebc + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/b94e6c3fc019e988b1499490829c327a1067b4ddea8ad402f6d0554793c9124148c2125338c723661b6dff040951abc1f092afbf3f2d234319cd580b68e52445 + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": + version: 7.21.0-placeholder-for-preset-env.2 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e605e0070da087f6c35579499e65801179a521b6842c15181a1e305c04fded2393f11c1efd09b087be7f8b083d1b75e8f3efcbc1292b4f60d3369e14812cff63 + languageName: node + linkType: hard + +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/06a954ee672f7a7c44d52b6e55598da43a7064e80df219765c51c37a0692641277e90411028f7cae4f4d1dedeed084f0c453576fa421c35a81f1603c5e3e0146 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e66f7a761b8360419bbb93ab67d87c8a97465ef4637a985ff682ce7ba6918b34b29d81190204cf908d0933058ee7b42737423cd8a999546c21b3aabad4affa9a + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bc5afe6a458d5f0492c02a54ad98c5756a0c13bd6d20609aae65acd560a9e141b0876da5f358dce34ea136f271c1016df58b461184d7ae9c4321e0f98588bc84 + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/11589b4c89c66ef02d57bf56c6246267851ec0c361f58929327dc3e070b0dab644be625bbe7fb4c4df30c3634bfdfe31244e1f517be397d2def1487dbbe3c37d + languageName: node + linkType: hard + +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/19abd7a7d11eef58c9340408a4c2594503f6c4eaea1baa7b0e5fbdda89df097e50663edb3448ad2300170b39efca98a75e5767af05cad3b0facb4944326896a3 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-generator-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/772e449c69ee42a466443acefb07083bd89efb1a1d95679a4dc99ea3be9d8a3c43a2b74d2da95d7c818e9dd9e0b72bfa7c03217a1feaf108f21b7e542f0943c0 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.27.1" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e76b1f6f9c3bbf72e17d7639406d47f09481806de4db99a8de375a0bb40957ea309b20aa705f0c25ab1d7c845e3f365af67eafa368034521151a0e352a03ef2f + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3313130ba3bf0699baad0e60da1c8c3c2f0c2c0a7039cd0063e54e72e739c33f1baadfc9d8c73b3fea8c85dd7250c3964fb09c8e1fa62ba0b24a9fefe0a8dbde + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoping@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d3f357beeb92fbdf3045aea2ba286a60dafc9c2d2a9f89065bb3c4bea9cc48934ee6689df3db0439d9ec518eda5e684f3156cab792b7c38c33ece2f8204ddee8 + languageName: node + linkType: hard + +"@babel/plugin-transform-class-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/cc0662633c0fe6df95819fef223506ddf26c369c8d64ab21a728d9007ec866bf9436a253909819216c24a82186b6ccbc1ec94d7aaf3f82df227c7c02fa6a704b + languageName: node + linkType: hard + +"@babel/plugin-transform-class-static-block@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-static-block@npm:7.27.1" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 10c0/396997dd81fc1cf242b921e337d25089d6b9dc3596e81322ff11a6359326dc44f2f8b82dcc279c2e514cafaf8964dc7ed39e9fab4b8af1308b57387d111f6a20 + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-classes@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1071f4cb1ed5deb5e6f8d0442f2293a540cac5caa5ab3c25ad0571aadcbf961f61e26d367a67894976165a543e02f3a19e40b63b909afbed6e710801a590635c + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-computed-properties@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e09a12f8c8ae0e6a6144c102956947b4ec05f6c844169121d0ec4529c2d30ad1dc59fee67736193b87a402f44552c888a519a680a31853bdb4d34788c28af3b0 + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-destructuring@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/56afda7a0b205f8d1af727daef4c529fc2e756887408affd39033ae4476e54d586d3d9dc1e72cfb15c74a2a5ca0653ab13dbaa8cbf79fbb2a3a746d0f107cb86 + languageName: node + linkType: hard + +"@babel/plugin-transform-dotall-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f9caddfad9a551b4dabe0dcb7c040f458fbaaa7bbb44200c20198b32c8259be8e050e58d2c853fdac901a4cfe490b86aa857036d8d461b192dd010d0e242dedb + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-keys@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/22a822e5342b7066f83eaedc4fd9bb044ac6bc68725484690b33ba04a7104980e43ea3229de439286cb8db8e7db4a865733a3f05123ab58a10f189f03553746f + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/121502a252b3206913e1e990a47fea34397b4cbf7804d4cd872d45961bc45b603423f60ca87f3a3023a62528f5feb475ac1c9ec76096899ec182fcb135eba375 + languageName: node + linkType: hard + +"@babel/plugin-transform-dynamic-import@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8dcd3087aca134b064fc361d2cc34eec1f900f6be039b6368104afcef10bb75dea726bb18cabd046716b89b0edaa771f50189fa16bc5c5914a38cbcf166350f7 + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/953d21e01fed76da8e08fb5094cade7bf8927c1bb79301916bec2db0593b41dbcfbca1024ad5db886b72208a93ada8f57a219525aad048cf15814eeb65cf760d + languageName: node + linkType: hard + +"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d7165cad11f571a54c8d9263d6c6bf2b817aff4874f747cb51e6e49efb32f2c9b37a6850cdb5e3b81e0b638141bb77dc782a6ec1a94128859fbdf7767581e07c + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-for-of@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4635763173a23aae24480681f2b0996b4f54a0cb2368880301a1801638242e263132d1e8adbe112ab272913d1d900ee0d6f7dea79443aef9d3325168cd88b3fb + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-function-name@npm:7.27.1" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5abdc7b5945fbd807269dcc6e76e52b69235056023b0b35d311e8f5dfd6c09d9f225839798998fc3b663f50cf701457ddb76517025a0d7a5474f3fe56e567a4c + languageName: node + linkType: hard + +"@babel/plugin-transform-json-strings@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-json-strings@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2379714aca025516452a7c1afa1ca42a22b9b51a5050a653cc6198a51665ab82bdecf36106d32d731512706a1e373c5637f5ff635737319aa42f3827da2326d6 + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c40dc3eb2f45a92ee476412314a40e471af51a0f51a24e91b85cef5fc59f4fe06758088f541643f07f949d2c67ee7bdce10e11c5ec56791ae09b15c3b451eeca + languageName: node + linkType: hard + +"@babel/plugin-transform-logical-assignment-operators@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5b0abc7c0d09d562bf555c646dce63a30288e5db46fd2ce809a61d064415da6efc3b2b3c59b8e4fe98accd072c89a2f7c3765b400e4bf488651735d314d9feeb + languageName: node + linkType: hard + +"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0874ccebbd1c6a155e5f6b3b29729fade1221b73152567c1af1e1a7c12848004dffecbd7eded6dc463955120040ae57c17cb586b53fb5a7a27fcd88177034c30 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-amd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" + dependencies: + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/76e86cd278b6a3c5b8cca8dfb3428e9cd0c81a5df7096e04c783c506696b916a9561386d610a9d846ef64804640e0bd818ea47455fed0ee89b7f66c555b29537 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" + dependencies: + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4def972dcd23375a266ea1189115a4ff61744b2c9366fc1de648b3fab2c650faf1a94092de93a33ff18858d2e6c4dddeeee5384cb42ba0129baeab01a5cdf1e2 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-systemjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.27.1" + dependencies: + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f16fca62d144d9cbf558e7b5f83e13bb6d0f21fdeff3024b0cecd42ffdec0b4151461da42bd0963512783ece31aafa5ffe03446b4869220ddd095b24d414e2b5 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-umd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" + dependencies: + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e5962a8874889da2ab1aa32eb93ec21d419c7423c766e4befb39b4bb512b9ad44b47837b6cd1c8f1065445cbbcc6dc2be10298ac6e734e5ca1059fc23698daed + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/8eaa8c9aee00a00f3bd8bd8b561d3f569644d98cb2cfe3026d7398aabf9b29afd62f24f142b4112fa1f572d9b0e1928291b099cde59f56d6b59f4d565e58abf2 + languageName: node + linkType: hard + +"@babel/plugin-transform-new-target@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-new-target@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9b0581412fcc5ab1b9a2d86a0c5407bd959391f0a1e77a46953fef9f7a57f3f4020d75f71098c5f9e5dcc680a87f9fd99b3205ab12e25ef8c19eed038c1e4b28 + languageName: node + linkType: hard + +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a435fc03aaa65c6ef8e99b2d61af0994eb5cdd4a28562d78c3b0b0228ca7e501aa255e1dff091a6996d7d3ea808eb5a65fd50ecd28dfb10687a8a1095dcadc7a + languageName: node + linkType: hard + +"@babel/plugin-transform-numeric-separator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b72cbebbfe46fcf319504edc1cf59f3f41c992dd6840db766367f6a1d232cd2c52143c5eaf57e0316710bee251cae94be97c6d646b5022fcd9274ccb131b470c + languageName: node + linkType: hard + +"@babel/plugin-transform-object-rest-spread@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.27.2" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.27.1" + "@babel/plugin-transform-parameters": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5e255b262dd65c8700078d9f6ed87bd45f951a905dda6b3414be28d7b2781b18e6b812e9d71421e61360c9cf51e1e619c1d48348593bb7399496f61f5f221446 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-super@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-object-super@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/efa2d092ef55105deb06d30aff4e460c57779b94861188128489b72378bf1f0ab0f06a4a4d68b9ae2a59a79719fbb2d148b9a3dca19ceff9c73b1f1a95e0527c + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-catch-binding@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/807a4330f1fac08e2682d57bc82e714868fc651c8876f9a8b3a3fd8f53c129e87371f8243e712ac7dae11e090b737a2219a02fe1b6459a29e664fa073c3277bb + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5b18ff5124e503f0a25d6b195be7351a028b3992d6f2a91fb4037e2a2c386400d66bc1df8f6df0a94c708524f318729e81a95c41906e5a7919a06a43e573a525 + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-parameters@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/453a9618735eeff5551d4c7f02c250606586fe1dd210ec9f69a4f15629ace180cd944339ebff2b0f11e1a40567d83a229ba1c567620e70b2ebedea576e12196a + languageName: node + linkType: hard + +"@babel/plugin-transform-private-methods@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-methods@npm:7.27.1" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/232bedfe9d28df215fb03cc7623bdde468b1246bdd6dc24465ff4bf9cc5f5a256ae33daea1fafa6cc59705e4d29da9024bb79baccaa5cd92811ac5db9b9244f2 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-property-in-object@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a8c4536273ca716dcc98e74ea25ca76431528554922f184392be3ddaf1761d4aa0e06f1311577755bd1613f7054fb51d29de2ada1130f743d329170a1aa1fe56 + languageName: node + linkType: hard + +"@babel/plugin-transform-property-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/15713a87edd6db620d6e66eb551b4fbfff5b8232c460c7c76cedf98efdc5cd21080c97040231e19e06594c6d7dfa66e1ab3d0951e29d5814fb25e813f6d6209c + languageName: node + linkType: hard + +"@babel/plugin-transform-react-constant-elements@npm:^7.21.3": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-constant-elements@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/07fa88dd312c97d05de95e344a11a78e24d711e7bde879076d8880869ad7b0dc69c5a5ad056790595043cb9c533fd93af0ba015eed4631315282295f767ccfbe + languageName: node + linkType: hard + +"@babel/plugin-transform-react-display-name@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-display-name@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6cd474b5fb30a2255027d8fc19975aee1c1da54dd8bc8b79802676096182ca4136302ce65a24fbb277f8fe30f266006bbf327ef6be2846d3681eb57509744125 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-development@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.27.1" + dependencies: + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/eb8c4b6a79dc5c49b41e928e2037e1ee0bbfa722e4fd74c0b7c0d11103c82c2c25c434000e1b051d534c7261ab5c92b6d1e85313bf1b26e37db3f051ae217b58 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-syntax-jsx": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1a08637c39fc78c9760dd4a3ed363fdbc762994bf83ed7872ad5bda0232fcd0fc557332f2ce36b522c0226dfd9cc8faac6b88eddda535f24825198a689e571af + languageName: node + linkType: hard + +"@babel/plugin-transform-react-pure-annotations@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/34bc090f4a7e460d82a851971b4d0f32e4bb519bafb927154f4174506283fe02b0f471fc20655c6050a8bf7b748bfa31c7e8f7d688849476d8266623554fbb28 + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-regenerator@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/42395908899310bb107d9ca31ebd4c302e14c582e3ad3ebfe1498fabafc43155c8f10850265c1e686a2afcf50d1f402cc5c5218fba72e167852607a4d8d6492e + languageName: node + linkType: hard + +"@babel/plugin-transform-regexp-modifiers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/31ae596ab56751cf43468a6c0a9d6bc3521d306d2bee9c6957cdb64bea53812ce24bd13a32f766150d62b737bca5b0650b2c62db379382fff0dccbf076055c33 + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e1a87691cce21a644a474d7c9a8107d4486c062957be32042d40f0a3d0cc66e00a3150989655019c255ff020d2640ac16aaf544792717d586f219f3bad295567 + languageName: node + linkType: hard + +"@babel/plugin-transform-runtime@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/plugin-transform-runtime@npm:7.27.1" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + babel-plugin-polyfill-corejs2: "npm:^0.4.10" + babel-plugin-polyfill-corejs3: "npm:^0.11.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7abbae60a6441ba8546dee3fcbc00b38038304250ba2419adaf0c76267bff43420ff75b7049003a24a829e01d9fde2ac8a422352af6d88aebd31996a83f04c2f + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bd5544b89520a22c41a6df5ddac9039821d3334c0ef364d18b0ba9674c5071c223bcc98be5867dc3865cb10796882b7594e2c40dedaff38e1b1273913fe353e1 + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-spread@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b34fc58b33bd35b47d67416655c2cbc8578fbb3948b4592bc15eb6d8b4046986e25c06e3b9929460fa4ab08e9653582415e7ef8b87d265e1239251bdf5a4c162 + languageName: node + linkType: hard + +"@babel/plugin-transform-sticky-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5698df2d924f0b1b7bdb7ef370e83f99ed3f0964eb3b9c27d774d021bee7f6d45f9a73e2be369d90b4aff1603ce29827f8743f091789960e7669daf9c3cda850 + languageName: node + linkType: hard + +"@babel/plugin-transform-template-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c90f403e42ef062b60654d1c122c70f3ec6f00c2f304b0931ebe6d0b432498ef8a5ef9266ddf00debc535f8390842207e44d3900eff1d2bab0cc1a700f03e083 + languageName: node + linkType: hard + +"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a13c68015311fefa06a51830bc69d5badd06c881b13d5cf9ba04bf7c73e3fc6311cc889e18d9645ce2a64a79456dc9c7be88476c0b6802f62a686cb6f662ecd6 + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-typescript@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-syntax-typescript": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/48f1db5de17a0f9fc365ff4fb046010aedc7aad813a7aa42fb73fcdab6442f9e700dde2cc0481086e01b0dae662ae4d3e965a52cde154f0f146d243a8ac68e93 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-escapes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a6809e0ca69d77ee9804e0c1164e8a2dea5e40718f6dcf234aeddf7292e7414f7ee331d87f17eb6f160823a329d1d6751bd49b35b392ac4a6efc032e4d3038d8 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-property-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a332bc3cb3eeea67c47502bc52d13a0f8abae5a7bfcb08b93a8300ddaff8d9e1238f912969494c1b494c1898c6f19687054440706700b6d12cb0b90d88beb4d0 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6abda1bcffb79feba6f5c691859cdbe984cc96481ea65d5af5ba97c2e843154005f0886e25006a37a2d213c0243506a06eaeafd93a040dbe1f79539016a0d17a + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-sets-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/236645f4d0a1fba7c18dc8ffe3975933af93e478f2665650c2d91cf528cfa1587cde5cfe277e0e501fc03b5bf57638369575d6539cef478632fb93bd7d7d7178 + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.20.2, @babel/preset-env@npm:^7.25.9": + version: 7.27.2 + resolution: "@babel/preset-env@npm:7.27.2" + dependencies: + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.27.1" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions": "npm:^7.27.1" + "@babel/plugin-syntax-import-attributes": "npm:^7.27.1" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-generator-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-to-generator": "npm:^7.27.1" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" + "@babel/plugin-transform-block-scoping": "npm:^7.27.1" + "@babel/plugin-transform-class-properties": "npm:^7.27.1" + "@babel/plugin-transform-class-static-block": "npm:^7.27.1" + "@babel/plugin-transform-classes": "npm:^7.27.1" + "@babel/plugin-transform-computed-properties": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.27.1" + "@babel/plugin-transform-dotall-regex": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.27.1" + "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" + "@babel/plugin-transform-for-of": "npm:^7.27.1" + "@babel/plugin-transform-function-name": "npm:^7.27.1" + "@babel/plugin-transform-json-strings": "npm:^7.27.1" + "@babel/plugin-transform-literals": "npm:^7.27.1" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.27.1" + "@babel/plugin-transform-member-expression-literals": "npm:^7.27.1" + "@babel/plugin-transform-modules-amd": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-modules-systemjs": "npm:^7.27.1" + "@babel/plugin-transform-modules-umd": "npm:^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-new-target": "npm:^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.27.1" + "@babel/plugin-transform-numeric-separator": "npm:^7.27.1" + "@babel/plugin-transform-object-rest-spread": "npm:^7.27.2" + "@babel/plugin-transform-object-super": "npm:^7.27.1" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" + "@babel/plugin-transform-parameters": "npm:^7.27.1" + "@babel/plugin-transform-private-methods": "npm:^7.27.1" + "@babel/plugin-transform-private-property-in-object": "npm:^7.27.1" + "@babel/plugin-transform-property-literals": "npm:^7.27.1" + "@babel/plugin-transform-regenerator": "npm:^7.27.1" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.27.1" + "@babel/plugin-transform-reserved-words": "npm:^7.27.1" + "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" + "@babel/plugin-transform-spread": "npm:^7.27.1" + "@babel/plugin-transform-sticky-regex": "npm:^7.27.1" + "@babel/plugin-transform-template-literals": "npm:^7.27.1" + "@babel/plugin-transform-typeof-symbol": "npm:^7.27.1" + "@babel/plugin-transform-unicode-escapes": "npm:^7.27.1" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.27.1" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.10" + babel-plugin-polyfill-corejs3: "npm:^0.11.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.1" + core-js-compat: "npm:^3.40.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/fd7ec310832a9ff26ed8d56bc0832cdbdb3a188e022050b74790796650649fb8373568af05b320b58b3ff922507979bad50ff95a4d504ab0081134480103504e + languageName: node + linkType: hard + +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" + peerDependencies: + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 + languageName: node + linkType: hard + +"@babel/preset-react@npm:^7.18.6, @babel/preset-react@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/preset-react@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-transform-react-display-name": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx-development": "npm:^7.27.1" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a80b02ef08b026cb9830d6512d08c7cd378eef4c0631dacba4aa1106240d9bb76af6373463f0255f4bbdbfcce40375a61e92735375906ba5871629b0c314bc45 + languageName: node + linkType: hard + +"@babel/preset-typescript@npm:^7.21.0, @babel/preset-typescript@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/preset-typescript@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-syntax-jsx": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-typescript": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/cba6ca793d915f8aff9fe2f13b0dfbf5fd3f2e9a17f17478ec9878e9af0d206dcfe93154b9fd353727f16c1dca7c7a3ceb4943f8d28b216235f106bc0fbbcaa3 + languageName: node + linkType: hard + +"@babel/runtime-corejs3@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/runtime-corejs3@npm:7.27.1" + dependencies: + core-js-pure: "npm:^3.30.2" + checksum: 10c0/81b46b6c73b590842abca14024a6b7c8751eaf0b519794f129b7c971043e13967e4d370933dbd7d0fdc78872ae45971b36013e0fa13c6d5c0130bfe971be0ac1 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/runtime@npm:7.27.1" + checksum: 10c0/530a7332f86ac5a7442250456823a930906911d895c0b743bf1852efc88a20a016ed4cd26d442d0ca40ae6d5448111e02a08dd638a4f1064b47d080e2875dc05 + languageName: node + linkType: hard + +"@babel/template@npm:^7.27.1": + version: 7.27.2 + resolution: "@babel/template@npm:7.27.2" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.2" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/traverse@npm:7.27.1" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/d912110037b03b1d70a2436cfd51316d930366a5f54252da2bced1ba38642f644f848240a951e5caf12f1ef6c40d3d96baa92ea6e84800f2e891c15e97b25d50 + languageName: node + linkType: hard + +"@babel/types@npm:^7.21.3, @babel/types@npm:^7.27.1, @babel/types@npm:^7.4.4": + version: 7.27.1 + resolution: "@babel/types@npm:7.27.1" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + checksum: 10c0/ed736f14db2fdf0d36c539c8e06b6bb5e8f9649a12b5c0e1c516fed827f27ef35085abe08bf4d1302a4e20c9a254e762eed453bce659786d4a6e01ba26a91377 + languageName: node + linkType: hard + +"@colors/colors@npm:1.5.0": + version: 1.5.0 + resolution: "@colors/colors@npm:1.5.0" + checksum: 10c0/eb42729851adca56d19a08e48d5a1e95efd2a32c55ae0323de8119052be0510d4b7a1611f2abcbf28c044a6c11e6b7d38f99fccdad7429300c37a8ea5fb95b44 + languageName: node + linkType: hard + +"@csstools/cascade-layer-name-parser@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/cascade-layer-name-parser@npm:2.0.4" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/774f2bcc96a576183853191bdfd31df15e22c51901ee01678ee47f1d1afcb4ab0e6d9a78e08f7383ac089c7e0b390013633f45ff1f1d577c9aefd252589bcced + languageName: node + linkType: hard + +"@csstools/color-helpers@npm:^5.0.2": + version: 5.0.2 + resolution: "@csstools/color-helpers@npm:5.0.2" + checksum: 10c0/bebaddb28b9eb58b0449edd5d0c0318fa88f3cb079602ee27e88c9118070d666dcc4e09a5aa936aba2fde6ba419922ade07b7b506af97dd7051abd08dfb2959b + languageName: node + linkType: hard + +"@csstools/css-calc@npm:^2.1.3": + version: 2.1.3 + resolution: "@csstools/css-calc@npm:2.1.3" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/85f5b4f96d60f395d5f0108056b0ddee037b22d6deba448d74324b50f1c554de284f84715ebfac7b2888b78e09d20d02a7cd213ee7bdaa71011ea9b4eee3a251 + languageName: node + linkType: hard + +"@csstools/css-color-parser@npm:^3.0.9": + version: 3.0.9 + resolution: "@csstools/css-color-parser@npm:3.0.9" + dependencies: + "@csstools/color-helpers": "npm:^5.0.2" + "@csstools/css-calc": "npm:^2.1.3" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/acc026a6bd6d8c4c641fa5f9b4d77cd5dfa54c57c3278ae52329d96b5837723428dcb93c34db4062bbea2f45a98451119df06eaf39fd196aaf6368c59d799f20 + languageName: node + linkType: hard + +"@csstools/css-parser-algorithms@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/css-parser-algorithms@npm:3.0.4" + peerDependencies: + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/d411f07765e14eede17bccc6bd4f90ff303694df09aabfede3fd104b2dfacfd4fe3697cd25ddad14684c850328f3f9420ebfa9f78380892492974db24ae47dbd + languageName: node + linkType: hard + +"@csstools/css-tokenizer@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-tokenizer@npm:3.0.3" + checksum: 10c0/c31bf410e1244b942e71798e37c54639d040cb59e0121b21712b40015fced2b0fb1ffe588434c5f8923c9cd0017cfc1c1c8f3921abc94c96edf471aac2eba5e5 + languageName: node + linkType: hard + +"@csstools/media-query-list-parser@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/media-query-list-parser@npm:4.0.2" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/5d008a70f5d4fd96224066a433f5cdefa76cfd78a74416a20d6d5b2bb1bc8282b140e8373015d807d4dadb91daf3deb73eb13f853ec4e0479d0cb92e80c6f20d + languageName: node + linkType: hard + +"@csstools/postcss-cascade-layers@npm:^5.0.1": + version: 5.0.1 + resolution: "@csstools/postcss-cascade-layers@npm:5.0.1" + dependencies: + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5cc3c6f220d9216f7ab16e716a20d6db845f127c917521e6236342bfa871accd63eb662a04c1e24a28e396412dcb47b1c4abccc490b88e4010cd704d14a702f1 + languageName: node + linkType: hard + +"@csstools/postcss-color-function@npm:^4.0.9": + version: 4.0.9 + resolution: "@csstools/postcss-color-function@npm:4.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/11f7e8a1a4d6ff113706928eb4702454d18ee8d6b07166b98d33b499ba1933cdf034876101a9c3d22fcc009d054ca6fe2df1455daf391d5eb4af86fa6b530e75 + languageName: node + linkType: hard + +"@csstools/postcss-color-mix-function@npm:^3.0.9": + version: 3.0.9 + resolution: "@csstools/postcss-color-mix-function@npm:3.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/e26ecec62ac6085e8c46225e444bfb6082fffad1559005c0746226b22f995727c2e4ede0fb347e37c81e8f4f2ac9cf4de88800184a650638351f4cbfb8baf1d3 + languageName: node + linkType: hard + +"@csstools/postcss-content-alt-text@npm:^2.0.5": + version: 2.0.5 + resolution: "@csstools/postcss-content-alt-text@npm:2.0.5" + dependencies: + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/fd0543e8195b1a1228fa41995d48bafafb635d32b0b80bdae8edfc3af7fcccb75aa472a072e552420ed0bd2f62d38e764483e3b9cca25a41dc2b450098b2436d + languageName: node + linkType: hard + +"@csstools/postcss-exponential-functions@npm:^2.0.8": + version: 2.0.8 + resolution: "@csstools/postcss-exponential-functions@npm:2.0.8" + dependencies: + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8ed7cea3ab7b3fce351dc678c97aad0c12d9e9eae43c9793081fc09e2b3281a89a9d67e57df02d87b6af40839d582b5d08523a9f9bfabbd4e05e319995ae7789 + languageName: node + linkType: hard + +"@csstools/postcss-font-format-keywords@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-font-format-keywords@npm:4.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/eb794fb95fefcac75e606d185255e601636af177866a317b0c6b6c375055e7240be53918229fd8d4bba00df01bedd2256bdac2b0ad4a4c2ec64f9d27cd6ff639 + languageName: node + linkType: hard + +"@csstools/postcss-gamut-mapping@npm:^2.0.9": + version: 2.0.9 + resolution: "@csstools/postcss-gamut-mapping@npm:2.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/a5985c74bfa8c0fc4406cec807818e35949c73d62b6acd2901dbdd54a30afa7d2094f839ba550812bca76f0df95205492f271df4bab03f4b15115cf10b06b1b5 + languageName: node + linkType: hard + +"@csstools/postcss-gradients-interpolation-method@npm:^5.0.9": + version: 5.0.9 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/b284558e38c096e1abfb04306717e23eec841ab23979479adbe165332db84503493b74e6d23d7752abec9327b9bfc343857e9a2393957d5bb9fd2e249570467e + languageName: node + linkType: hard + +"@csstools/postcss-hwb-function@npm:^4.0.9": + version: 4.0.9 + resolution: "@csstools/postcss-hwb-function@npm:4.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/31f9b3540e8af221e1716944ed8719f97ae335e5f866dfc96a3d81f042ef8975ce0d6163925cb32514f4903cb35177bf8d814a571da3f44b63244f88b6b395ad + languageName: node + linkType: hard + +"@csstools/postcss-ic-unit@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/postcss-ic-unit@npm:4.0.1" + dependencies: + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/1097cbdc385bcf32e15df1ed2946477c5927e34ebaf273297f1ae46aeaf2084c7a63858ba1a7a5e1f241be441968a2e1c6deb43ddb101708110c7f608b6fc525 + languageName: node + linkType: hard + +"@csstools/postcss-initial@npm:^2.0.1": + version: 2.0.1 + resolution: "@csstools/postcss-initial@npm:2.0.1" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/dbff7084ef4f1c4647efe2b147001daf172003c15b5e22689f0540d03c8d362f2a332cd9cf136e6c8dcda7564ee30492a4267ea188f72cb9c1000fb9bcfbfef8 + languageName: node + linkType: hard + +"@csstools/postcss-is-pseudo-class@npm:^5.0.1": + version: 5.0.1 + resolution: "@csstools/postcss-is-pseudo-class@npm:5.0.1" + dependencies: + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/3aaab18ebb2dcf5565efa79813eaa987d40de1e086765358524392a09631c68ad1ee952e6aff8f42513b2c18ab84891787e065fe287f696128498fc641520b6c + languageName: node + linkType: hard + +"@csstools/postcss-light-dark-function@npm:^2.0.8": + version: 2.0.8 + resolution: "@csstools/postcss-light-dark-function@npm:2.0.8" + dependencies: + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5494516f52d467dcace80495a4fb0fbd24207ae13634bb82b5c24e5d52e84665aebc28cd31fed8d96a41e91bf822185aba5a3d01680a140278c484741516c383 + languageName: node + linkType: hard + +"@csstools/postcss-logical-float-and-clear@npm:^3.0.0": + version: 3.0.0 + resolution: "@csstools/postcss-logical-float-and-clear@npm:3.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/71a20e8c37877bf68ae615d7bb93fc11b4f8da8be8b1dc1a6e0fc69e27f189712ed71436b8ed51fa69fdb98b8e6718df2b5f42f246c4d39badaf0e43020fcfd4 + languageName: node + linkType: hard + +"@csstools/postcss-logical-overflow@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/postcss-logical-overflow@npm:2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/0e103343d3ff8b34eef01b02355c5e010d272fd12d149a242026bb13ab1577b7f3a11fd4514be9342d96f73d61dac1f093a9bd36ece591753ed09a84eb7fca0a + languageName: node + linkType: hard + +"@csstools/postcss-logical-overscroll-behavior@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/postcss-logical-overscroll-behavior@npm:2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/1649601bb26f04d760fb5ebc42cdf414fa2a380b8ec22fe1c117f664c286665a786bd7bbda01b7e7567eaf3cc018a4f36a5c9805f6751cc497da223e0ffe9524 + languageName: node + linkType: hard + +"@csstools/postcss-logical-resize@npm:^3.0.0": + version: 3.0.0 + resolution: "@csstools/postcss-logical-resize@npm:3.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/4f12efcaf5468ff359bb3f32f0f66034b9acc9b3ac21fcd2f30a1c8998fc653ebac0091f35c8b7e8dbfe6ccf595aee67f9b06a67adf45a8844e49a82d98b4386 + languageName: node + linkType: hard + +"@csstools/postcss-logical-viewport-units@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.3" + dependencies: + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8ec746598d7ce8697c3dafd83cb3a319a90079ad755dd78e3ec92f4ba9ad849c4cdaba33b16e9dcbac1e9489b3d7c48262030110c20ce1d88cdacbe9f5987cec + languageName: node + linkType: hard + +"@csstools/postcss-media-minmax@npm:^2.0.8": + version: 2.0.8 + resolution: "@csstools/postcss-media-minmax@npm:2.0.8" + dependencies: + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/aff72b83b888d3d0dc6441f219f7c2833a4aa0f59493da22db1087fce32763bb765f068c6ddedc0ddc6fe79f1843e6b1375af07fa572494ecac91e59b1dc324f + languageName: node + linkType: hard + +"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.4" + dependencies: + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/27dc9419b0f4315774647588f599348e7cc593984f59b414c51c910066501fd087cbe232deb762907c18bd21dd4184e7b6e0e0b730e5c72341ab9cc696c75739 + languageName: node + linkType: hard + +"@csstools/postcss-nested-calc@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-nested-calc@npm:4.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/fb61512fa4909bdf0ee32a23e771145086c445f2208a737b52093c8adfab7362c56d3aeaf2a6e33ffcec067e99a07219775465d2fbb1a3ac30cdcfb278b218b7 + languageName: node + linkType: hard + +"@csstools/postcss-normalize-display-values@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-normalize-display-values@npm:4.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/d3a3a362b532163bd791f97348ef28b7a43baf01987c7702b06285e751cdc5ea3e3a2553f088260515b4d28263d5c475923d4d4780ecb4078ec66dff50c9e638 + languageName: node + linkType: hard + +"@csstools/postcss-oklab-function@npm:^4.0.9": + version: 4.0.9 + resolution: "@csstools/postcss-oklab-function@npm:4.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/9955aafc1dfc0bb5c886b2af3a82abed2d0a707c7654b2b49886db4c7153e1a016f327f4cc0d94b5b28f3b6227d9b3422c63555f78412433655beec90f37b388 + languageName: node + linkType: hard + +"@csstools/postcss-progressive-custom-properties@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/postcss-progressive-custom-properties@npm:4.0.1" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/a33e2a67ac29e731b112df9718596f703990492900bb118c513fcee7c0dc0a03f58248b2c5467b14de3e757f0ef2c6d97882254af784d8df390c633780bdf1f9 + languageName: node + linkType: hard + +"@csstools/postcss-random-function@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/postcss-random-function@npm:2.0.0" + dependencies: + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/e0744b1472c4037b6491aac232d005659c0c65bc08af785cbdc50b722efaf71330e38607f4c88b54322338294f92ec68817ec1cd6e688953aa127f27cd2a5b00 + languageName: node + linkType: hard + +"@csstools/postcss-relative-color-syntax@npm:^3.0.9": + version: 3.0.9 + resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/486e6c91b1042ca96e6e5c3d94d95e343101c7862e772aee16cd48607633f7c93c42dd23b5adc44cfa8dc8cb32ef3ba0f1f86e3f9a23be5c8744533d23128624 + languageName: node + linkType: hard + +"@csstools/postcss-scope-pseudo-class@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/postcss-scope-pseudo-class@npm:4.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/6a0ca50fae655f4498200d1ce298ca794c85fbe2e3fd5d6419843254f055df5007a973e09b5f1e78e376c02b54278e411516c8d824300c68b265d3e5b311d7ee + languageName: node + linkType: hard + +"@csstools/postcss-sign-functions@npm:^1.1.3": + version: 1.1.3 + resolution: "@csstools/postcss-sign-functions@npm:1.1.3" + dependencies: + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/97998443191ab0ef370bdc413b4952fd86d9274700fade2a83cdf5d59f449a4a7001ceda35dd6cb45fefebafb0959be35c3fcfa0e3333c55b1658f514eb64e96 + languageName: node + linkType: hard + +"@csstools/postcss-stepped-value-functions@npm:^4.0.8": + version: 4.0.8 + resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.8" + dependencies: + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/515630c3d25029a5e3789d665ae7f4a394245e5442c79d99f0fff018c698e356680aea0f937819a00cb78563ce2285a43ede50e32992cee4e062e413d22df44f + languageName: node + linkType: hard + +"@csstools/postcss-text-decoration-shorthand@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/postcss-text-decoration-shorthand@npm:4.0.2" + dependencies: + "@csstools/color-helpers": "npm:^5.0.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/01e2f3717e7a42224dc1a746491c55a381cf208cb7588f0308eeefe730675be4c7bb56c0cc557e75999c981e67da7d0b0bb68610635752c89ef251ee435b9cac + languageName: node + linkType: hard + +"@csstools/postcss-trigonometric-functions@npm:^4.0.8": + version: 4.0.8 + resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.8" + dependencies: + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/609d03b752aae1c57d671eaefe4cdbde0a1d62c4b4d3ffb8bb39a41ebb61fdade7c7892a2c7c365d2997d9f93f4f3bb4034801a5baf1988b274120b3ec0ba6ad + languageName: node + linkType: hard + +"@csstools/postcss-unset-value@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-unset-value@npm:4.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8424ac700ded5bf59d49310335896f10c069e2c3fc6a676b5d13ca5a6fb78689b948f50494df875da284c4c76651deb005eafba70d87e693274628c5a685abfa + languageName: node + linkType: hard + +"@csstools/selector-resolve-nested@npm:^3.0.0": + version: 3.0.0 + resolution: "@csstools/selector-resolve-nested@npm:3.0.0" + peerDependencies: + postcss-selector-parser: ^7.0.0 + checksum: 10c0/2b01c36b3fa81388d5bddd8db962766465d76b021a815c8bb5a48c3a42c530154cc155fc496707ade627dbba6745eb8ecd9fa840c1972133c0f7d8811e0a959d + languageName: node + linkType: hard + +"@csstools/selector-specificity@npm:^5.0.0": + version: 5.0.0 + resolution: "@csstools/selector-specificity@npm:5.0.0" + peerDependencies: + postcss-selector-parser: ^7.0.0 + checksum: 10c0/186b444cabcdcdeb553bfe021f80c58bfe9ef38dcc444f2b1f34a5aab9be063ab4e753022b2d5792049c041c28cfbb78e4b707ec398459300e402030d35c07eb + languageName: node + linkType: hard + +"@csstools/utilities@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/utilities@npm:2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/be5c31437b726928f64cd4bb3e47f5b90bfd2e2a69a8eaabd8e89cc6c0977e4f0f7ee48de50c8ed8b07e04e3956a02293247e0da3236d521fb2e836f88f65822 + languageName: node + linkType: hard + +"@discoveryjs/json-ext@npm:0.5.7": + version: 0.5.7 + resolution: "@discoveryjs/json-ext@npm:0.5.7" + checksum: 10c0/e10f1b02b78e4812646ddf289b7d9f2cb567d336c363b266bd50cd223cf3de7c2c74018d91cd2613041568397ef3a4a2b500aba588c6e5bd78c38374ba68f38c + languageName: node + linkType: hard + +"@docsearch/css@npm:3.9.0": + version: 3.9.0 + resolution: "@docsearch/css@npm:3.9.0" + checksum: 10c0/6300551e1cab7a5487063ec3581ae78ddaee3d93ec799556b451054448559b3ba849751b825fbd8b678367ef944bd82b3f11bc1d9e74e08e3cc48db40487b396 + languageName: node + linkType: hard + +"@docsearch/react@npm:^3.8.1": + version: 3.9.0 + resolution: "@docsearch/react@npm:3.9.0" + dependencies: + "@algolia/autocomplete-core": "npm:1.17.9" + "@algolia/autocomplete-preset-algolia": "npm:1.17.9" + "@docsearch/css": "npm:3.9.0" + algoliasearch: "npm:^5.14.2" + peerDependencies: + "@types/react": ">= 16.8.0 < 20.0.0" + react: ">= 16.8.0 < 20.0.0" + react-dom: ">= 16.8.0 < 20.0.0" + search-insights: ">= 1 < 3" + peerDependenciesMeta: + "@types/react": + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + checksum: 10c0/5e737a5d9ef1daae1cd93e89870214c1ab0c36a3a2193e898db044bcc5d9de59f85228b2360ec0e8f10cdac7fd2fe3c6ec8a05d943ee7e17d6c1cef2e6e9ff2d + languageName: node + linkType: hard + +"@docusaurus/babel@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/babel@npm:3.7.0" + dependencies: + "@babel/core": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/plugin-transform-runtime": "npm:^7.25.9" + "@babel/preset-env": "npm:^7.25.9" + "@babel/preset-react": "npm:^7.25.9" + "@babel/preset-typescript": "npm:^7.25.9" + "@babel/runtime": "npm:^7.25.9" + "@babel/runtime-corejs3": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + babel-plugin-dynamic-import-node: "npm:^2.3.3" + fs-extra: "npm:^11.1.1" + tslib: "npm:^2.6.0" + checksum: 10c0/563ad2a95f690d8d0172acd64f96202d646072dde042edd4d80d39ad01b6fb026a2d5fe124d0e3fc3a7447120ebca15a0b1ef5f5ea431905cae80596584d722f + languageName: node + linkType: hard + +"@docusaurus/bundler@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/bundler@npm:3.7.0" + dependencies: + "@babel/core": "npm:^7.25.9" + "@docusaurus/babel": "npm:3.7.0" + "@docusaurus/cssnano-preset": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + babel-loader: "npm:^9.2.1" + clean-css: "npm:^5.3.2" + copy-webpack-plugin: "npm:^11.0.0" + css-loader: "npm:^6.8.1" + css-minimizer-webpack-plugin: "npm:^5.0.1" + cssnano: "npm:^6.1.2" + file-loader: "npm:^6.2.0" + html-minifier-terser: "npm:^7.2.0" + mini-css-extract-plugin: "npm:^2.9.1" + null-loader: "npm:^4.0.1" + postcss: "npm:^8.4.26" + postcss-loader: "npm:^7.3.3" + postcss-preset-env: "npm:^10.1.0" + react-dev-utils: "npm:^12.0.1" + terser-webpack-plugin: "npm:^5.3.9" + tslib: "npm:^2.6.0" + url-loader: "npm:^4.1.1" + webpack: "npm:^5.95.0" + webpackbar: "npm:^6.0.1" + peerDependencies: + "@docusaurus/faster": "*" + peerDependenciesMeta: + "@docusaurus/faster": + optional: true + checksum: 10c0/79e167e704c8fcae106a9edd7e7b8082d432bb634f51802cc92124e7409ddd227aa9c89ac46776a4fbee7c5729dac61656f5aeade997677e4076f3c0d837a2bb + languageName: node + linkType: hard + +"@docusaurus/core@npm:3.7.0, @docusaurus/core@npm:^3.4.0": + version: 3.7.0 + resolution: "@docusaurus/core@npm:3.7.0" + dependencies: + "@docusaurus/babel": "npm:3.7.0" + "@docusaurus/bundler": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/mdx-loader": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + boxen: "npm:^6.2.1" + chalk: "npm:^4.1.2" + chokidar: "npm:^3.5.3" + cli-table3: "npm:^0.6.3" + combine-promises: "npm:^1.1.0" + commander: "npm:^5.1.0" + core-js: "npm:^3.31.1" + del: "npm:^6.1.1" + detect-port: "npm:^1.5.1" + escape-html: "npm:^1.0.3" + eta: "npm:^2.2.0" + eval: "npm:^0.1.8" + fs-extra: "npm:^11.1.1" + html-tags: "npm:^3.3.1" + html-webpack-plugin: "npm:^5.6.0" + leven: "npm:^3.1.0" + lodash: "npm:^4.17.21" + p-map: "npm:^4.0.0" + prompts: "npm:^2.4.2" + react-dev-utils: "npm:^12.0.1" + react-helmet-async: "npm:@slorber/react-helmet-async@1.3.0" + react-loadable: "npm:@docusaurus/react-loadable@6.0.0" + react-loadable-ssr-addon-v5-slorber: "npm:^1.0.1" + react-router: "npm:^5.3.4" + react-router-config: "npm:^5.1.1" + react-router-dom: "npm:^5.3.4" + semver: "npm:^7.5.4" + serve-handler: "npm:^6.1.6" + shelljs: "npm:^0.8.5" + tslib: "npm:^2.6.0" + update-notifier: "npm:^6.0.2" + webpack: "npm:^5.95.0" + webpack-bundle-analyzer: "npm:^4.10.2" + webpack-dev-server: "npm:^4.15.2" + webpack-merge: "npm:^6.0.1" + peerDependencies: + "@mdx-js/react": ^3.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + bin: + docusaurus: bin/docusaurus.mjs + checksum: 10c0/2b1034d27107da820f71c15d430aac308e9d63c2c144a1b2aff96927b4e703bd6abaae61a8a3434f5bb4eb25ca34ed793b2b5e6ddb9d2b41ce6e98332b281da4 + languageName: node + linkType: hard + +"@docusaurus/cssnano-preset@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/cssnano-preset@npm:3.7.0" + dependencies: + cssnano-preset-advanced: "npm:^6.1.2" + postcss: "npm:^8.4.38" + postcss-sort-media-queries: "npm:^5.2.0" + tslib: "npm:^2.6.0" + checksum: 10c0/e6324c50bb946da60692ec387ff1708d3e0ec91f60add539412ba92d92278b843b85c66b861dcb0f089697d5e42698b5c9786f9264cae8835789126c6451911a + languageName: node + linkType: hard + +"@docusaurus/logger@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/logger@npm:3.7.0" + dependencies: + chalk: "npm:^4.1.2" + tslib: "npm:^2.6.0" + checksum: 10c0/48f1b13d5f17d27515313f593f2d23b6efe29038dddaf914fd2bec9e8b598d2d7f972d8ae7b09827c9874835a7984101208287c0b93dfa3fe8c5357198378214 + languageName: node + linkType: hard + +"@docusaurus/mdx-loader@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/mdx-loader@npm:3.7.0" + dependencies: + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + "@mdx-js/mdx": "npm:^3.0.0" + "@slorber/remark-comment": "npm:^1.0.0" + escape-html: "npm:^1.0.3" + estree-util-value-to-estree: "npm:^3.0.1" + file-loader: "npm:^6.2.0" + fs-extra: "npm:^11.1.1" + image-size: "npm:^1.0.2" + mdast-util-mdx: "npm:^3.0.0" + mdast-util-to-string: "npm:^4.0.0" + rehype-raw: "npm:^7.0.0" + remark-directive: "npm:^3.0.0" + remark-emoji: "npm:^4.0.0" + remark-frontmatter: "npm:^5.0.0" + remark-gfm: "npm:^4.0.0" + stringify-object: "npm:^3.3.0" + tslib: "npm:^2.6.0" + unified: "npm:^11.0.3" + unist-util-visit: "npm:^5.0.0" + url-loader: "npm:^4.1.1" + vfile: "npm:^6.0.1" + webpack: "npm:^5.88.1" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/08b397334b46230486cfd3b67d5d760087902b376201f2a870d33c9228671fe81d53358bb0fa1f441d69a844685ff60315f414ce717c5801dc7d7bb362dcf1c6 + languageName: node + linkType: hard + +"@docusaurus/module-type-aliases@npm:3.7.0, @docusaurus/module-type-aliases@npm:^3.3.2": + version: 3.7.0 + resolution: "@docusaurus/module-type-aliases@npm:3.7.0" + dependencies: + "@docusaurus/types": "npm:3.7.0" + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + "@types/react-router-config": "npm:*" + "@types/react-router-dom": "npm:*" + react-helmet-async: "npm:@slorber/react-helmet-async@*" + react-loadable: "npm:@docusaurus/react-loadable@6.0.0" + peerDependencies: + react: "*" + react-dom: "*" + checksum: 10c0/fca90450afb0aaafbae20b70adc2b35af81fff20a1d0fcf3c652b0200ac9be870add257e577e227854b20b9ca375fa53f99242435d2576dfeb7ee791d3fb25ae + languageName: node + linkType: hard + +"@docusaurus/plugin-client-redirects@npm:^3.4.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-client-redirects@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + eta: "npm:^2.2.0" + fs-extra: "npm:^11.1.1" + lodash: "npm:^4.17.21" + tslib: "npm:^2.6.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/ecdd5061a683541125f14b0f1e5e1afcecefc358bf16e1b71c8e4c66ae8f70f03fd18f00fcbb3525229c8692f8976158eaee1791a68baa7451047d521d619b95 + languageName: node + linkType: hard + +"@docusaurus/plugin-content-blog@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-content-blog@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/mdx-loader": "npm:3.7.0" + "@docusaurus/theme-common": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + cheerio: "npm:1.0.0-rc.12" + feed: "npm:^4.2.2" + fs-extra: "npm:^11.1.1" + lodash: "npm:^4.17.21" + reading-time: "npm:^1.5.0" + srcset: "npm:^4.0.0" + tslib: "npm:^2.6.0" + unist-util-visit: "npm:^5.0.0" + utility-types: "npm:^3.10.0" + webpack: "npm:^5.88.1" + peerDependencies: + "@docusaurus/plugin-content-docs": "*" + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/8eb1e4f673763a3d5e727cbfe867b5334c67c65ca0804bcd81b818ca62e9ff33cf9c0db013958a40c590327bf4b8037cd5d510f39bc699e6ede8f02680f3af1b + languageName: node + linkType: hard + +"@docusaurus/plugin-content-docs@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-content-docs@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/mdx-loader": "npm:3.7.0" + "@docusaurus/module-type-aliases": "npm:3.7.0" + "@docusaurus/theme-common": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + "@types/react-router-config": "npm:^5.0.7" + combine-promises: "npm:^1.1.0" + fs-extra: "npm:^11.1.1" + js-yaml: "npm:^4.1.0" + lodash: "npm:^4.17.21" + tslib: "npm:^2.6.0" + utility-types: "npm:^3.10.0" + webpack: "npm:^5.88.1" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/eab3810b1b34d0b037cd802747892ece163d818013b4c33a9db40f973df05a6c12a3120f746afa2648b9c2c2b1ec711d6c4552a4cc8e2d904522c355cc02de71 + languageName: node + linkType: hard + +"@docusaurus/plugin-content-pages@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-content-pages@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/mdx-loader": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + fs-extra: "npm:^11.1.1" + tslib: "npm:^2.6.0" + webpack: "npm:^5.88.1" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/7f1df2f4eb9c4f74af1bfbd7a3fed9874e1bdc06a9d9772584e3f121d63c9686bc6e1c2d9e3304a95cb24b8f12db342ac28132fe08c0082a2cf925a347dd8115 + languageName: node + linkType: hard + +"@docusaurus/plugin-debug@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-debug@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + fs-extra: "npm:^11.1.1" + react-json-view-lite: "npm:^1.2.0" + tslib: "npm:^2.6.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/968a1c14ebe7fed9775269f1b6b86dbe09efbf48d2f0c9ac9ee5572fda9d22b41c970001b58b947d078419b42af6d70f60e87c1d8f24f92c7ce422f364ec32eb + languageName: node + linkType: hard + +"@docusaurus/plugin-google-analytics@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-google-analytics@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + tslib: "npm:^2.6.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/f3881ac270ee38f582563f679d33e4755bfb24c5bf57f31185d8e7caebf7e9e73a480e57c7db88e4f3b15c0176a6b092919b1e4bed078fad58333076aeb116cf + languageName: node + linkType: hard + +"@docusaurus/plugin-google-gtag@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-google-gtag@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + "@types/gtag.js": "npm:^0.0.12" + tslib: "npm:^2.6.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/899429408e2ff95504f8e9c79ffa23877fb717e12746d94d7e96d448a539f04f848b6111b99a15cd08af47b792d0ae2d985fd4af342263b713116cf835058f43 + languageName: node + linkType: hard + +"@docusaurus/plugin-google-tag-manager@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-google-tag-manager@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + tslib: "npm:^2.6.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/9980d71196835e25f548ebbeac18181914e23c6f07b0441659a12bdfd4fbc15f41b9bfe97b314aae2d8e0e49c0cfd9f38f372452b0a92f3b9a48d2568104f0b9 + languageName: node + linkType: hard + +"@docusaurus/plugin-sitemap@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-sitemap@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + fs-extra: "npm:^11.1.1" + sitemap: "npm:^7.1.1" + tslib: "npm:^2.6.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/06cce94a8bb81adb87903776086c16fc77029c418b7f07d96506d6ed4d569a7ce3a816627d74f15c1c6a1a98f0ce278c9fc12ca05246c8af8742c12d3b145f30 + languageName: node + linkType: hard + +"@docusaurus/plugin-svgr@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-svgr@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + "@svgr/core": "npm:8.1.0" + "@svgr/webpack": "npm:^8.1.0" + tslib: "npm:^2.6.0" + webpack: "npm:^5.88.1" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/c776758b43db2dfeef234197c98345efb4d28a57f29d0158ea0a3f542391de063cd4f535f15f150d0311aee9de000d126b5730cf1e143120baa6c5a8ea1b527f + languageName: node + linkType: hard + +"@docusaurus/preset-classic@npm:^3.4.0": + version: 3.7.0 + resolution: "@docusaurus/preset-classic@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/plugin-content-blog": "npm:3.7.0" + "@docusaurus/plugin-content-docs": "npm:3.7.0" + "@docusaurus/plugin-content-pages": "npm:3.7.0" + "@docusaurus/plugin-debug": "npm:3.7.0" + "@docusaurus/plugin-google-analytics": "npm:3.7.0" + "@docusaurus/plugin-google-gtag": "npm:3.7.0" + "@docusaurus/plugin-google-tag-manager": "npm:3.7.0" + "@docusaurus/plugin-sitemap": "npm:3.7.0" + "@docusaurus/plugin-svgr": "npm:3.7.0" + "@docusaurus/theme-classic": "npm:3.7.0" + "@docusaurus/theme-common": "npm:3.7.0" + "@docusaurus/theme-search-algolia": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/25a77c337168f32ce7d6df9b9222c1b21dc3414506841bd4b72be058e10ccfac3ca4e27a392f14f2b591f36815131ed2240795b77d566630980b92952c41897a + languageName: node + linkType: hard + +"@docusaurus/theme-classic@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/theme-classic@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/mdx-loader": "npm:3.7.0" + "@docusaurus/module-type-aliases": "npm:3.7.0" + "@docusaurus/plugin-content-blog": "npm:3.7.0" + "@docusaurus/plugin-content-docs": "npm:3.7.0" + "@docusaurus/plugin-content-pages": "npm:3.7.0" + "@docusaurus/theme-common": "npm:3.7.0" + "@docusaurus/theme-translations": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + "@mdx-js/react": "npm:^3.0.0" + clsx: "npm:^2.0.0" + copy-text-to-clipboard: "npm:^3.2.0" + infima: "npm:0.2.0-alpha.45" + lodash: "npm:^4.17.21" + nprogress: "npm:^0.2.0" + postcss: "npm:^8.4.26" + prism-react-renderer: "npm:^2.3.0" + prismjs: "npm:^1.29.0" + react-router-dom: "npm:^5.3.4" + rtlcss: "npm:^4.1.0" + tslib: "npm:^2.6.0" + utility-types: "npm:^3.10.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/e2ec1fdaedc71add6ae1e8ee83ae32132c679afe407850185fbbec82f96c66a3befd506df73a0de0d9e03333c04801017f4c668e63851cb6e814f2ddf6973ad0 + languageName: node + linkType: hard + +"@docusaurus/theme-common@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/theme-common@npm:3.7.0" + dependencies: + "@docusaurus/mdx-loader": "npm:3.7.0" + "@docusaurus/module-type-aliases": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + "@types/react-router-config": "npm:*" + clsx: "npm:^2.0.0" + parse-numeric-range: "npm:^1.3.0" + prism-react-renderer: "npm:^2.3.0" + tslib: "npm:^2.6.0" + utility-types: "npm:^3.10.0" + peerDependencies: + "@docusaurus/plugin-content-docs": "*" + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/4b5ba21d2d5807a9582cd1fe5280fa0637a7debb8313253793d35435ce92e119406d47564766ec0bf0f93d7d2f8da412883ea4b16972f79bee5bda20ac6f354e + languageName: node + linkType: hard + +"@docusaurus/theme-search-algolia@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/theme-search-algolia@npm:3.7.0" + dependencies: + "@docsearch/react": "npm:^3.8.1" + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/plugin-content-docs": "npm:3.7.0" + "@docusaurus/theme-common": "npm:3.7.0" + "@docusaurus/theme-translations": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + algoliasearch: "npm:^5.17.1" + algoliasearch-helper: "npm:^3.22.6" + clsx: "npm:^2.0.0" + eta: "npm:^2.2.0" + fs-extra: "npm:^11.1.1" + lodash: "npm:^4.17.21" + tslib: "npm:^2.6.0" + utility-types: "npm:^3.10.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/4766e2571b64cc895e7ab3af750e9158527f3ebe238605f325defe755ddd938af9b01d711b932b3c6639b31b2d69a6f360b2870fa1104599829c276a30457f6e + languageName: node + linkType: hard + +"@docusaurus/theme-translations@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/theme-translations@npm:3.7.0" + dependencies: + fs-extra: "npm:^11.1.1" + tslib: "npm:^2.6.0" + checksum: 10c0/47721f98fdaa34004e2df555e89dd4d751942c9d8efe2df3816bc6b761a068058e31887086a1d1498394fc53c859340b6ce9e15ee65e926e05c7c1e2429497ad + languageName: node + linkType: hard + +"@docusaurus/tsconfig@npm:^3.3.2": + version: 3.7.0 + resolution: "@docusaurus/tsconfig@npm:3.7.0" + checksum: 10c0/22a076fa3cf6da25a76f87fbe5b37c09997f5a8729fdc1a69c0c7955dff9f9850f16dc1de8c6d5096d258a95c428fb8839b252b9dbaa648acb7de8a0e5889dea + languageName: node + linkType: hard + +"@docusaurus/types@npm:3.7.0, @docusaurus/types@npm:^3.3.2": + version: 3.7.0 + resolution: "@docusaurus/types@npm:3.7.0" + dependencies: + "@mdx-js/mdx": "npm:^3.0.0" + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + commander: "npm:^5.1.0" + joi: "npm:^17.9.2" + react-helmet-async: "npm:@slorber/react-helmet-async@1.3.0" + utility-types: "npm:^3.10.0" + webpack: "npm:^5.95.0" + webpack-merge: "npm:^5.9.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/256d3b579e0f663096d915cfd34851564a243dd3b587901f0b8de7988ea021bf4c9f9bcb9d632f52cddb37f53959be8d93728421ddbba7f9c98a36f0dec454cd + languageName: node + linkType: hard + +"@docusaurus/utils-common@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/utils-common@npm:3.7.0" + dependencies: + "@docusaurus/types": "npm:3.7.0" + tslib: "npm:^2.6.0" + checksum: 10c0/a02dc936f256ceb1a95e57556d556bd57576124eb903928fccfa19e3fa098ee5a2e637663b372c8f797c50ab9df7c0e94f59b3b728198a408fa191689f2aa7e7 + languageName: node + linkType: hard + +"@docusaurus/utils-validation@npm:3.7.0, @docusaurus/utils-validation@npm:^3": + version: 3.7.0 + resolution: "@docusaurus/utils-validation@npm:3.7.0" + dependencies: + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + fs-extra: "npm:^11.2.0" + joi: "npm:^17.9.2" + js-yaml: "npm:^4.1.0" + lodash: "npm:^4.17.21" + tslib: "npm:^2.6.0" + checksum: 10c0/f0b67f93879b23c3238f66dde0361999399e40a61bb2531ba044939d136ed112e4d0304a598f718942e897d6abd3fd4e75d03d21e559fc2197a0d6324926668f + languageName: node + linkType: hard + +"@docusaurus/utils@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/utils@npm:3.7.0" + dependencies: + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + escape-string-regexp: "npm:^4.0.0" + file-loader: "npm:^6.2.0" + fs-extra: "npm:^11.1.1" + github-slugger: "npm:^1.5.0" + globby: "npm:^11.1.0" + gray-matter: "npm:^4.0.3" + jiti: "npm:^1.20.0" + js-yaml: "npm:^4.1.0" + lodash: "npm:^4.17.21" + micromatch: "npm:^4.0.5" + prompts: "npm:^2.4.2" + resolve-pathname: "npm:^3.0.0" + shelljs: "npm:^0.8.5" + tslib: "npm:^2.6.0" + url-loader: "npm:^4.1.1" + utility-types: "npm:^3.10.0" + webpack: "npm:^5.88.1" + checksum: 10c0/8d6dbb5c776e0cbf0c8437a81d0d97ff6f51ca259c9d3baa0e1b26849e48a016d02fb2ec80290dc2b8e434ca3dd1388ad4b44de2d101d5edea50de64531ccef1 + languageName: node + linkType: hard + +"@gracefullight/docusaurus-plugin-vercel-analytics@npm:^1.0.0": + version: 1.0.1 + resolution: "@gracefullight/docusaurus-plugin-vercel-analytics@npm:1.0.1" + dependencies: + "@docusaurus/utils-validation": "npm:^3" + checksum: 10c0/b17c05a16bdfff2fca8ce41001f6fe7cff0ce571ce18a9c484f67e6f51732a1f0589620750b8fc3b484d6b5db993d5904245dbcb4aeae010b84456e72c795f62 + languageName: node + linkType: hard + +"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": + version: 9.3.0 + resolution: "@hapi/hoek@npm:9.3.0" + checksum: 10c0/a096063805051fb8bba4c947e293c664b05a32b47e13bc654c0dd43813a1cec993bdd8f29ceb838020299e1d0f89f68dc0d62a603c13c9cc8541963f0beca055 + languageName: node + linkType: hard + +"@hapi/topo@npm:^5.1.0": + version: 5.1.0 + resolution: "@hapi/topo@npm:5.1.0" + dependencies: + "@hapi/hoek": "npm:^9.0.0" + checksum: 10c0/b16b06d9357947149e032bdf10151eb71aea8057c79c4046bf32393cb89d0d0f7ca501c40c0f7534a5ceca078de0700d2257ac855c15e59fe4e00bba2f25c86f + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jest/types@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/types@npm:29.6.3" + dependencies: + "@jest/schemas": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + "@types/istanbul-reports": "npm:^3.0.0" + "@types/node": "npm:*" + "@types/yargs": "npm:^17.0.8" + chalk: "npm:^4.0.0" + checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.8 + resolution: "@jridgewell/gen-mapping@npm:0.3.8" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/c668feaf86c501d7c804904a61c23c67447b2137b813b9ce03eca82cb9d65ac7006d766c218685d76e3d72828279b6ee26c347aa1119dab23fbaf36aed51585a + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 + languageName: node + linkType: hard + +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.6 + resolution: "@jridgewell/source-map@npm:0.3.6" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + checksum: 10c0/6a4ecc713ed246ff8e5bdcc1ef7c49aaa93f7463d948ba5054dda18b02dcc6a055e2828c577bcceee058f302ce1fc95595713d44f5c45e43d459f88d267f2f04 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + languageName: node + linkType: hard + +"@leichtgewicht/ip-codec@npm:^2.0.1": + version: 2.0.5 + resolution: "@leichtgewicht/ip-codec@npm:2.0.5" + checksum: 10c0/14a0112bd59615eef9e3446fea018045720cd3da85a98f801a685a818b0d96ef2a1f7227e8d271def546b2e2a0fe91ef915ba9dc912ab7967d2317b1a051d66b + languageName: node + linkType: hard + +"@mdx-js/mdx@npm:^3.0.0": + version: 3.1.0 + resolution: "@mdx-js/mdx@npm:3.1.0" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdx": "npm:^2.0.0" + collapse-white-space: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + estree-util-scope: "npm:^1.0.0" + estree-walker: "npm:^3.0.0" + hast-util-to-jsx-runtime: "npm:^2.0.0" + markdown-extensions: "npm:^2.0.0" + recma-build-jsx: "npm:^1.0.0" + recma-jsx: "npm:^1.0.0" + recma-stringify: "npm:^1.0.0" + rehype-recma: "npm:^1.0.0" + remark-mdx: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-rehype: "npm:^11.0.0" + source-map: "npm:^0.7.0" + unified: "npm:^11.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + unist-util-stringify-position: "npm:^4.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/e586ab772dcfee2bab334d5aac54c711e6d6d550085271c38a49c629b3e3954b5f41f488060761284a5e00649d0638d6aba6c0a7c66f91db80dee0ccc304ab32 + languageName: node + linkType: hard + +"@mdx-js/react@npm:^3.0.0": + version: 3.1.0 + resolution: "@mdx-js/react@npm:3.1.0" + dependencies: + "@types/mdx": "npm:^2.0.0" + peerDependencies: + "@types/react": ">=16" + react: ">=16" + checksum: 10c0/381ed1211ba2b8491bf0ad9ef0d8d1badcdd114e1931d55d44019d4b827cc2752586708f9c7d2f9c3244150ed81f1f671a6ca95fae0edd5797fb47a22e06ceca + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@pnpm/config.env-replace@npm:^1.1.0": + version: 1.1.0 + resolution: "@pnpm/config.env-replace@npm:1.1.0" + checksum: 10c0/4cfc4a5c49ab3d0c6a1f196cfd4146374768b0243d441c7de8fa7bd28eaab6290f514b98490472cc65dbd080d34369447b3e9302585e1d5c099befd7c8b5e55f + languageName: node + linkType: hard + +"@pnpm/network.ca-file@npm:^1.0.1": + version: 1.0.2 + resolution: "@pnpm/network.ca-file@npm:1.0.2" + dependencies: + graceful-fs: "npm:4.2.10" + checksum: 10c0/95f6e0e38d047aca3283550719155ce7304ac00d98911e4ab026daedaf640a63bd83e3d13e17c623fa41ac72f3801382ba21260bcce431c14fbbc06430ecb776 + languageName: node + linkType: hard + +"@pnpm/npm-conf@npm:^2.1.0": + version: 2.3.1 + resolution: "@pnpm/npm-conf@npm:2.3.1" + dependencies: + "@pnpm/config.env-replace": "npm:^1.1.0" + "@pnpm/network.ca-file": "npm:^1.0.1" + config-chain: "npm:^1.1.11" + checksum: 10c0/778a3a34ff7d6000a2594d2a9821f873f737bc56367865718b2cf0ba5d366e49689efe7975148316d7afd8e6f1dcef7d736fbb6ea7ef55caadd1dc93a36bb302 + languageName: node + linkType: hard + +"@polka/url@npm:^1.0.0-next.24": + version: 1.0.0-next.29 + resolution: "@polka/url@npm:1.0.0-next.29" + checksum: 10c0/0d58e081844095cb029d3c19a659bfefd09d5d51a2f791bc61eba7ea826f13d6ee204a8a448c2f5a855c17df07b37517373ff916dd05801063c0568ae9937684 + languageName: node + linkType: hard + +"@sideway/address@npm:^4.1.5": + version: 4.1.5 + resolution: "@sideway/address@npm:4.1.5" + dependencies: + "@hapi/hoek": "npm:^9.0.0" + checksum: 10c0/638eb6f7e7dba209053dd6c8da74d7cc995e2b791b97644d0303a7dd3119263bcb7225a4f6804d4db2bc4f96e5a9d262975a014f58eae4d1753c27cbc96ef959 + languageName: node + linkType: hard + +"@sideway/formula@npm:^3.0.1": + version: 3.0.1 + resolution: "@sideway/formula@npm:3.0.1" + checksum: 10c0/3fe81fa9662efc076bf41612b060eb9b02e846ea4bea5bd114f1662b7f1541e9dedcf98aff0d24400bcb92f113964a50e0290b86e284edbdf6346fa9b7e2bf2c + languageName: node + linkType: hard + +"@sideway/pinpoint@npm:^2.0.0": + version: 2.0.0 + resolution: "@sideway/pinpoint@npm:2.0.0" + checksum: 10c0/d2ca75dacaf69b8fc0bb8916a204e01def3105ee44d8be16c355e5f58189eb94039e15ce831f3d544f229889ccfa35562a0ce2516179f3a7ee1bbe0b71e55b36 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^4.6.0": + version: 4.6.0 + resolution: "@sindresorhus/is@npm:4.6.0" + checksum: 10c0/33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^5.2.0": + version: 5.6.0 + resolution: "@sindresorhus/is@npm:5.6.0" + checksum: 10c0/66727344d0c92edde5760b5fd1f8092b717f2298a162a5f7f29e4953e001479927402d9d387e245fb9dc7d3b37c72e335e93ed5875edfc5203c53be8ecba1b52 + languageName: node + linkType: hard + +"@slorber/remark-comment@npm:^1.0.0": + version: 1.0.0 + resolution: "@slorber/remark-comment@npm:1.0.0" + dependencies: + micromark-factory-space: "npm:^1.0.0" + micromark-util-character: "npm:^1.1.0" + micromark-util-symbol: "npm:^1.0.1" + checksum: 10c0/b8da9d8f560740959c421d3ce5be43952eace1c95cb65402d9473a15e66463346a37fb5f121a6b22a83af51e8845b0b4ff3c321f14ce31bd58fb126acf6c8ed9 + languageName: node + linkType: hard + +"@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a50bd0baa34faf16bcba712091f94c7f0e230431fe99a9dfc3401fa92823ad3f68495b86ab9bf9044b53839e8c416cfbb37eb3f246ff33f261e0fa9ee1779c5b + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8a98e59bd9971e066815b4129409932f7a4db4866834fe75677ea6d517972fb40b380a69a4413189f20e7947411f9ab1b0f029dd5e8068686a5a0188d3ccd4c7 + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/517dcca75223bd05d3f056a8514dbba3031278bea4eadf0842c576d84f4651e7a4e0e7082d3ee4ef42456de0f9c4531d8a1917c04876ca64b014b859ca8f1bde + languageName: node + linkType: hard + +"@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/004bd1892053b7e9c1b0bb14acc44e77634ec393722b87b1e4fae53e2c35122a2dd0d5c15e9070dbeec274e22e7693a2b8b48506733a8009ee92b12946fcb10a + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/80e0a7fcf902f984c705051ca5c82ea6050ccbb70b651a8fea6d0eb5809e4dac274b49ea6be2d87f1eb9dfc0e2d6cdfffe1669ec2117f44b67a60a07d4c0b8b8 + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/73e92c8277a89279745c0c500f59f083279a8dc30cd552b22981fade2a77628fb2bd2819ee505725fcd2e93f923e3790b52efcff409a159e657b46604a0b9a21 + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/655ed6bc7a208ceaa4ecff0a54ccc36008c3cb31efa90d11e171cab325ebbb21aa78f09c7b65f9b3ddeda3a85f348c0c862902c48be13c14b4de165c847974e3 + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-svg-component@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-transform-svg-component@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4ac00bb99a3db4ef05e4362f116a3c608ee365a2d26cf7318d8d41a4a5b30a02c80455cce0e62c65b60ed815b5d632bedabac2ccd4b56f998fadef5286e3ded4 + languageName: node + linkType: hard + +"@svgr/babel-preset@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-preset@npm:8.1.0" + dependencies: + "@svgr/babel-plugin-add-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression": "npm:8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value": "npm:8.0.0" + "@svgr/babel-plugin-svg-dynamic-title": "npm:8.0.0" + "@svgr/babel-plugin-svg-em-dimensions": "npm:8.0.0" + "@svgr/babel-plugin-transform-react-native-svg": "npm:8.1.0" + "@svgr/babel-plugin-transform-svg-component": "npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/49367d3ad0831f79b1056871b91766246f449d4d1168623af5e283fbaefce4a01d77ab00de6b045b55e956f9aae27895823198493cd232d88d3435ea4517ffc5 + languageName: node + linkType: hard + +"@svgr/core@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/core@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@svgr/babel-preset": "npm:8.1.0" + camelcase: "npm:^6.2.0" + cosmiconfig: "npm:^8.1.3" + snake-case: "npm:^3.0.4" + checksum: 10c0/6a2f6b1bc79bce39f66f088d468985d518005fc5147ebf4f108570a933818b5951c2cb7da230ddff4b7c8028b5a672b2d33aa2acce012b8b9770073aa5a2d041 + languageName: node + linkType: hard + +"@svgr/hast-util-to-babel-ast@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/hast-util-to-babel-ast@npm:8.0.0" + dependencies: + "@babel/types": "npm:^7.21.3" + entities: "npm:^4.4.0" + checksum: 10c0/f4165b583ba9eaf6719e598977a7b3ed182f177983e55f9eb55a6a73982d81277510e9eb7ab41f255151fb9ed4edd11ac4bef95dd872f04ed64966d8c85e0f79 + languageName: node + linkType: hard + +"@svgr/plugin-jsx@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/plugin-jsx@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@svgr/babel-preset": "npm:8.1.0" + "@svgr/hast-util-to-babel-ast": "npm:8.0.0" + svg-parser: "npm:^2.0.4" + peerDependencies: + "@svgr/core": "*" + checksum: 10c0/07b4d9e00de795540bf70556fa2cc258774d01e97a12a26234c6fdf42b309beb7c10f31ee24d1a71137239347b1547b8bb5587d3a6de10669f95dcfe99cddc56 + languageName: node + linkType: hard + +"@svgr/plugin-svgo@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/plugin-svgo@npm:8.1.0" + dependencies: + cosmiconfig: "npm:^8.1.3" + deepmerge: "npm:^4.3.1" + svgo: "npm:^3.0.2" + peerDependencies: + "@svgr/core": "*" + checksum: 10c0/bfd25460f23f1548bfb8f6f3bedd6d6972c1a4f8881bd35a4f8c115218da6e999e8f9ac0ef0ed88c4e0b93fcec37f382b94c0322f4ec2b26752a89e5cc8b9d7a + languageName: node + linkType: hard + +"@svgr/webpack@npm:^8.1.0": + version: 8.1.0 + resolution: "@svgr/webpack@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@babel/plugin-transform-react-constant-elements": "npm:^7.21.3" + "@babel/preset-env": "npm:^7.20.2" + "@babel/preset-react": "npm:^7.18.6" + "@babel/preset-typescript": "npm:^7.21.0" + "@svgr/core": "npm:8.1.0" + "@svgr/plugin-jsx": "npm:8.1.0" + "@svgr/plugin-svgo": "npm:8.1.0" + checksum: 10c0/4c1cac45bd5890de8643e5a7bfb71f3bcd8b85ae5bbacf10b8ad9f939b7a98e8d601c3ada204ffb95223abf4a24beeac5a2a0d6928a52a1ab72a29da3c015c22 + languageName: node + linkType: hard + +"@szmarczak/http-timer@npm:^5.0.1": + version: 5.0.1 + resolution: "@szmarczak/http-timer@npm:5.0.1" + dependencies: + defer-to-connect: "npm:^2.0.1" + checksum: 10c0/4629d2fbb2ea67c2e9dc03af235c0991c79ebdddcbc19aed5d5732fb29ce01c13331e9b1a491584b9069bd6ecde6581dcbf871f11b7eefdebbab34de6cf2197e + languageName: node + linkType: hard + +"@trysound/sax@npm:0.2.0": + version: 0.2.0 + resolution: "@trysound/sax@npm:0.2.0" + checksum: 10c0/44907308549ce775a41c38a815f747009ac45929a45d642b836aa6b0a536e4978d30b8d7d680bbd116e9dd73b7dbe2ef0d1369dcfc2d09e83ba381e485ecbe12 + languageName: node + linkType: hard + +"@types/body-parser@npm:*": + version: 1.19.5 + resolution: "@types/body-parser@npm:1.19.5" + dependencies: + "@types/connect": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/aebeb200f25e8818d8cf39cd0209026750d77c9b85381cdd8deeb50913e4d18a1ebe4b74ca9b0b4d21952511eeaba5e9fbbf739b52731a2061e206ec60d568df + languageName: node + linkType: hard + +"@types/bonjour@npm:^3.5.9": + version: 3.5.13 + resolution: "@types/bonjour@npm:3.5.13" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/eebedbca185ac3c39dd5992ef18d9e2a9f99e7f3c2f52f5561f90e9ed482c5d224c7962db95362712f580ed5713264e777a98d8f0bd8747f4eadf62937baed16 + languageName: node + linkType: hard + +"@types/connect-history-api-fallback@npm:^1.3.5": + version: 1.5.4 + resolution: "@types/connect-history-api-fallback@npm:1.5.4" + dependencies: + "@types/express-serve-static-core": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/1b4035b627dcd714b05a22557f942e24a57ca48e7377dde0d2f86313fe685bc0a6566512a73257a55b5665b96c3041fb29228ac93331d8133011716215de8244 + languageName: node + linkType: hard + +"@types/connect@npm:*": + version: 3.4.38 + resolution: "@types/connect@npm:3.4.38" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c + languageName: node + linkType: hard + +"@types/debug@npm:^4.0.0": + version: 4.1.12 + resolution: "@types/debug@npm:4.1.12" + dependencies: + "@types/ms": "npm:*" + checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f + languageName: node + linkType: hard + +"@types/eslint-scope@npm:^3.7.7": + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" + dependencies: + "@types/eslint": "npm:*" + "@types/estree": "npm:*" + checksum: 10c0/a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc + languageName: node + linkType: hard + +"@types/eslint@npm:*": + version: 9.6.1 + resolution: "@types/eslint@npm:9.6.1" + dependencies: + "@types/estree": "npm:*" + "@types/json-schema": "npm:*" + checksum: 10c0/69ba24fee600d1e4c5abe0df086c1a4d798abf13792d8cfab912d76817fe1a894359a1518557d21237fbaf6eda93c5ab9309143dee4c59ef54336d1b3570420e + languageName: node + linkType: hard + +"@types/estree-jsx@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree-jsx@npm:1.0.5" + dependencies: + "@types/estree": "npm:*" + checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": + version: 1.0.7 + resolution: "@types/estree@npm:1.0.7" + checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c + languageName: node + linkType: hard + +"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^5.0.0": + version: 5.0.6 + resolution: "@types/express-serve-static-core@npm:5.0.6" + dependencies: + "@types/node": "npm:*" + "@types/qs": "npm:*" + "@types/range-parser": "npm:*" + "@types/send": "npm:*" + checksum: 10c0/aced8cc88c1718adbbd1fc488756b0f22d763368d9eff2ae21b350698fab4a77d8d13c3699056dc662a887e43a8b67a3e8f6289ff76102ecc6bad4a7710d31a6 + languageName: node + linkType: hard + +"@types/express-serve-static-core@npm:^4.17.33": + version: 4.19.6 + resolution: "@types/express-serve-static-core@npm:4.19.6" + dependencies: + "@types/node": "npm:*" + "@types/qs": "npm:*" + "@types/range-parser": "npm:*" + "@types/send": "npm:*" + checksum: 10c0/4281f4ead71723f376b3ddf64868ae26244d434d9906c101cf8d436d4b5c779d01bd046e4ea0ed1a394d3e402216fabfa22b1fa4dba501061cd7c81c54045983 + languageName: node + linkType: hard + +"@types/express@npm:*": + version: 5.0.1 + resolution: "@types/express@npm:5.0.1" + dependencies: + "@types/body-parser": "npm:*" + "@types/express-serve-static-core": "npm:^5.0.0" + "@types/serve-static": "npm:*" + checksum: 10c0/e1385028c7251360ce916aab0e304187b613ca18cb9aa3fa90794a337e5b2e0c76330d467f41d3b3e936ce5336c4f3e63e323dc01192cf20f9686905daa6d00a + languageName: node + linkType: hard + +"@types/express@npm:^4.17.13": + version: 4.17.21 + resolution: "@types/express@npm:4.17.21" + dependencies: + "@types/body-parser": "npm:*" + "@types/express-serve-static-core": "npm:^4.17.33" + "@types/qs": "npm:*" + "@types/serve-static": "npm:*" + checksum: 10c0/12e562c4571da50c7d239e117e688dc434db1bac8be55613294762f84fd77fbd0658ccd553c7d3ab02408f385bc93980992369dd30e2ecd2c68c358e6af8fabf + languageName: node + linkType: hard + +"@types/gtag.js@npm:^0.0.12": + version: 0.0.12 + resolution: "@types/gtag.js@npm:0.0.12" + checksum: 10c0/fee8f4c6e627301b89ab616c9e219bd53fa6ea1ffd1d0a8021e21363f0bdb2cf7eb1a5bcda0c6f1502186379bc7784ec29c932e21634f4e07f9e7a8c56887400 + languageName: node + linkType: hard + +"@types/hast@npm:^3.0.0, @types/hast@npm:^3.0.4": + version: 3.0.4 + resolution: "@types/hast@npm:3.0.4" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/3249781a511b38f1d330fd1e3344eed3c4e7ea8eff82e835d35da78e637480d36fad37a78be5a7aed8465d237ad0446abc1150859d0fde395354ea634decf9f7 + languageName: node + linkType: hard + +"@types/history@npm:^4.7.11": + version: 4.7.11 + resolution: "@types/history@npm:4.7.11" + checksum: 10c0/3facf37c2493d1f92b2e93a22cac7ea70b06351c2ab9aaceaa3c56aa6099fb63516f6c4ec1616deb5c56b4093c026a043ea2d3373e6c0644d55710364d02c934 + languageName: node + linkType: hard + +"@types/html-minifier-terser@npm:^6.0.0": + version: 6.1.0 + resolution: "@types/html-minifier-terser@npm:6.1.0" + checksum: 10c0/a62fb8588e2f3818d82a2d7b953ad60a4a52fd767ae04671de1c16f5788bd72f1ed3a6109ed63fd190c06a37d919e3c39d8adbc1793a005def76c15a3f5f5dab + languageName: node + linkType: hard + +"@types/http-cache-semantics@npm:^4.0.2": + version: 4.0.4 + resolution: "@types/http-cache-semantics@npm:4.0.4" + checksum: 10c0/51b72568b4b2863e0fe8d6ce8aad72a784b7510d72dc866215642da51d84945a9459fa89f49ec48f1e9a1752e6a78e85a4cda0ded06b1c73e727610c925f9ce6 + languageName: node + linkType: hard + +"@types/http-errors@npm:*": + version: 2.0.4 + resolution: "@types/http-errors@npm:2.0.4" + checksum: 10c0/494670a57ad4062fee6c575047ad5782506dd35a6b9ed3894cea65830a94367bd84ba302eb3dde331871f6d70ca287bfedb1b2cf658e6132cd2cbd427ab56836 + languageName: node + linkType: hard + +"@types/http-proxy@npm:^1.17.8": + version: 1.17.16 + resolution: "@types/http-proxy@npm:1.17.16" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/b71bbb7233b17604f1158bbbe33ebf8bb870179d2b6e15dc9483aa2a785ce0d19ffb6c2237225b558addf24211d1853c95e337ee496df058eb175b433418a941 + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.3 + resolution: "@types/istanbul-lib-report@npm:3.0.3" + dependencies: + "@types/istanbul-lib-coverage": "npm:*" + checksum: 10c0/247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.4 + resolution: "@types/istanbul-reports@npm:3.0.4" + dependencies: + "@types/istanbul-lib-report": "npm:*" + checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee + languageName: node + linkType: hard + +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/katex@npm:^0.16.0": + version: 0.16.7 + resolution: "@types/katex@npm:0.16.7" + checksum: 10c0/68dcb9f68a90513ec78ca0196a142e15c2a2c270b1520d752bafd47a99207115085a64087b50140359017d7e9c870b3c68e7e4d36668c9e348a9ef0c48919b5a + languageName: node + linkType: hard + +"@types/mdast@npm:^4.0.0, @types/mdast@npm:^4.0.1, @types/mdast@npm:^4.0.2, @types/mdast@npm:^4.0.3": + version: 4.0.4 + resolution: "@types/mdast@npm:4.0.4" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82 + languageName: node + linkType: hard + +"@types/mdx@npm:^2.0.0": + version: 2.0.13 + resolution: "@types/mdx@npm:2.0.13" + checksum: 10c0/5edf1099505ac568da55f9ae8a93e7e314e8cbc13d3445d0be61b75941226b005e1390d9b95caecf5dcb00c9d1bab2f1f60f6ff9876dc091a48b547495007720 + languageName: node + linkType: hard + +"@types/mime@npm:^1": + version: 1.3.5 + resolution: "@types/mime@npm:1.3.5" + checksum: 10c0/c2ee31cd9b993804df33a694d5aa3fa536511a49f2e06eeab0b484fef59b4483777dbb9e42a4198a0809ffbf698081fdbca1e5c2218b82b91603dfab10a10fbc + languageName: node + linkType: hard + +"@types/ms@npm:*": + version: 2.1.0 + resolution: "@types/ms@npm:2.1.0" + checksum: 10c0/5ce692ffe1549e1b827d99ef8ff71187457e0eb44adbae38fdf7b9a74bae8d20642ee963c14516db1d35fa2652e65f47680fdf679dcbde52bbfadd021f497225 + languageName: node + linkType: hard + +"@types/node-forge@npm:^1.3.0": + version: 1.3.11 + resolution: "@types/node-forge@npm:1.3.11" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/3d7d23ca0ba38ac0cf74028393bd70f31169ab9aba43f21deb787840170d307d662644bac07287495effe2812ddd7ac8a14dbd43f16c2936bbb06312e96fc3b9 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 22.15.18 + resolution: "@types/node@npm:22.15.18" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/e23178c568e2dc6b93b6aa3b8dfb45f9556e527918c947fe7406a4c92d2184c7396558912400c3b1b8d0fa952ec63819aca2b8e4d3545455fc6f1e9623e09ca6 + languageName: node + linkType: hard + +"@types/node@npm:^17.0.5": + version: 17.0.45 + resolution: "@types/node@npm:17.0.45" + checksum: 10c0/0db377133d709b33a47892581a21a41cd7958f22723a3cc6c71d55ac018121382de42fbfc7970d5ae3e7819dbe5f40e1c6a5174aedf7e7964e9cb8fa72b580b0 + languageName: node + linkType: hard + +"@types/parse-json@npm:^4.0.0": + version: 4.0.2 + resolution: "@types/parse-json@npm:4.0.2" + checksum: 10c0/b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 + languageName: node + linkType: hard + +"@types/prismjs@npm:^1.26.0": + version: 1.26.5 + resolution: "@types/prismjs@npm:1.26.5" + checksum: 10c0/5619cb449e0d8df098c8759d6f47bf8fdd510abf5dbdfa999e55c6a2545efbd1e209cc85a33d8d9f4ff2898089a1a6d9a70737c9baffaae635c46852c40d384a + languageName: node + linkType: hard + +"@types/qs@npm:*": + version: 6.9.18 + resolution: "@types/qs@npm:6.9.18" + checksum: 10c0/790b9091348e06dde2c8e4118b5771ab386a8c22a952139a2eb0675360a2070d0b155663bf6f75b23f258fd0a1f7ffc0ba0f059d99a719332c03c40d9e9cd63b + languageName: node + linkType: hard + +"@types/range-parser@npm:*": + version: 1.2.7 + resolution: "@types/range-parser@npm:1.2.7" + checksum: 10c0/361bb3e964ec5133fa40644a0b942279ed5df1949f21321d77de79f48b728d39253e5ce0408c9c17e4e0fd95ca7899da36841686393b9f7a1e209916e9381a3c + languageName: node + linkType: hard + +"@types/react-router-config@npm:*, @types/react-router-config@npm:^5.0.7": + version: 5.0.11 + resolution: "@types/react-router-config@npm:5.0.11" + dependencies: + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + "@types/react-router": "npm:^5.1.0" + checksum: 10c0/3fa4daf8c14689a05f34e289fc53c4a892e97f35715455c507a8048d9875b19cd3d3142934ca973effed6a6c38f33539b6e173cd254f67e2021ecd5458d551c8 + languageName: node + linkType: hard + +"@types/react-router-dom@npm:*": + version: 5.3.3 + resolution: "@types/react-router-dom@npm:5.3.3" + dependencies: + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + "@types/react-router": "npm:*" + checksum: 10c0/a9231a16afb9ed5142678147eafec9d48582809295754fb60946e29fcd3757a4c7a3180fa94b45763e4c7f6e3f02379e2fcb8dd986db479dcab40eff5fc62a91 + languageName: node + linkType: hard + +"@types/react-router@npm:*, @types/react-router@npm:^5.1.0": + version: 5.1.20 + resolution: "@types/react-router@npm:5.1.20" + dependencies: + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + checksum: 10c0/1f7eee61981d2f807fa01a34a0ef98ebc0774023832b6611a69c7f28fdff01de5a38cabf399f32e376bf8099dcb7afaf724775bea9d38870224492bea4cb5737 + languageName: node + linkType: hard + +"@types/react@npm:*": + version: 19.1.4 + resolution: "@types/react@npm:19.1.4" + dependencies: + csstype: "npm:^3.0.2" + checksum: 10c0/501350d4f9cef13c5dd1b1496fa70ebaff52f6fa359b623b51c9d817e5bc4333fa3c8b7a6a4cbc88c643385052d66a243c3ceccfd6926062f917a2dd0535f6b3 + languageName: node + linkType: hard + +"@types/retry@npm:0.12.0": + version: 0.12.0 + resolution: "@types/retry@npm:0.12.0" + checksum: 10c0/7c5c9086369826f569b83a4683661557cab1361bac0897a1cefa1a915ff739acd10ca0d62b01071046fe3f5a3f7f2aec80785fe283b75602dc6726781ea3e328 + languageName: node + linkType: hard + +"@types/sax@npm:^1.2.1": + version: 1.2.7 + resolution: "@types/sax@npm:1.2.7" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/d077a761a0753b079bf8279b3993948030ca86ed9125437b9b29c1de40db9b2deb7fddc369f014b58861d450e8b8cc75f163aa29dc8cea81952efbfd859168cf + languageName: node + linkType: hard + +"@types/send@npm:*": + version: 0.17.4 + resolution: "@types/send@npm:0.17.4" + dependencies: + "@types/mime": "npm:^1" + "@types/node": "npm:*" + checksum: 10c0/7f17fa696cb83be0a104b04b424fdedc7eaba1c9a34b06027239aba513b398a0e2b7279778af521f516a397ced417c96960e5f50fcfce40c4bc4509fb1a5883c + languageName: node + linkType: hard + +"@types/serve-index@npm:^1.9.1": + version: 1.9.4 + resolution: "@types/serve-index@npm:1.9.4" + dependencies: + "@types/express": "npm:*" + checksum: 10c0/94c1b9e8f1ea36a229e098e1643d5665d9371f8c2658521718e259130a237c447059b903bac0dcc96ee2c15fd63f49aa647099b7d0d437a67a6946527a837438 + languageName: node + linkType: hard + +"@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10": + version: 1.15.7 + resolution: "@types/serve-static@npm:1.15.7" + dependencies: + "@types/http-errors": "npm:*" + "@types/node": "npm:*" + "@types/send": "npm:*" + checksum: 10c0/26ec864d3a626ea627f8b09c122b623499d2221bbf2f470127f4c9ebfe92bd8a6bb5157001372d4c4bd0dd37a1691620217d9dc4df5aa8f779f3fd996b1c60ae + languageName: node + linkType: hard + +"@types/sockjs@npm:^0.3.33": + version: 0.3.36 + resolution: "@types/sockjs@npm:0.3.36" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/b20b7820ee813f22de4f2ce98bdd12c68c930e016a8912b1ed967595ac0d8a4cbbff44f4d486dd97f77f5927e7b5725bdac7472c9ec5b27f53a5a13179f0612f + languageName: node + linkType: hard + +"@types/unist@npm:*, @types/unist@npm:^3.0.0, @types/unist@npm:^3.0.2": + version: 3.0.3 + resolution: "@types/unist@npm:3.0.3" + checksum: 10c0/2b1e4adcab78388e088fcc3c0ae8700f76619dbcb4741d7d201f87e2cb346bfc29a89003cfea2d76c996e1061452e14fcd737e8b25aacf949c1f2d6b2bc3dd60 + languageName: node + linkType: hard + +"@types/unist@npm:^2.0.0": + version: 2.0.11 + resolution: "@types/unist@npm:2.0.11" + checksum: 10c0/24dcdf25a168f453bb70298145eb043cfdbb82472db0bc0b56d6d51cd2e484b9ed8271d4ac93000a80da568f2402e9339723db262d0869e2bf13bc58e081768d + languageName: node + linkType: hard + +"@types/ws@npm:^8.5.5": + version: 8.18.1 + resolution: "@types/ws@npm:8.18.1" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/61aff1129143fcc4312f083bc9e9e168aa3026b7dd6e70796276dcfb2c8211c4292603f9c4864fae702f2ed86e4abd4d38aa421831c2fd7f856c931a481afbab + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 21.0.3 + resolution: "@types/yargs-parser@npm:21.0.3" + checksum: 10c0/e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 + languageName: node + linkType: hard + +"@types/yargs@npm:^17.0.8": + version: 17.0.33 + resolution: "@types/yargs@npm:17.0.33" + dependencies: + "@types/yargs-parser": "npm:*" + checksum: 10c0/d16937d7ac30dff697801c3d6f235be2166df42e4a88bf730fa6dc09201de3727c0a9500c59a672122313341de5f24e45ee0ff579c08ce91928e519090b7906b + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.0.0": + version: 1.3.0 + resolution: "@ungap/structured-clone@npm:1.3.0" + checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a + languageName: node + linkType: hard + +"@vercel/analytics@npm:^1.1.2": + version: 1.5.0 + resolution: "@vercel/analytics@npm:1.5.0" + peerDependencies: + "@remix-run/react": ^2 + "@sveltejs/kit": ^1 || ^2 + next: ">= 13" + react: ^18 || ^19 || ^19.0.0-rc + svelte: ">= 4" + vue: ^3 + vue-router: ^4 + peerDependenciesMeta: + "@remix-run/react": + optional: true + "@sveltejs/kit": + optional: true + next: + optional: true + react: + optional: true + svelte: + optional: true + vue: + optional: true + vue-router: + optional: true + checksum: 10c0/43d33ea83b32f5203fec21b7f43c399e398f0c37d2dd341d522969e0e6ee23fd652a2766a4203a3ce573f711beee5ee1ab7d36316f767a4901160e3e96ee31e5 + languageName: node + linkType: hard + +"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/ast@npm:1.14.1" + dependencies: + "@webassemblyjs/helper-numbers": "npm:1.13.2" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + checksum: 10c0/67a59be8ed50ddd33fbb2e09daa5193ac215bf7f40a9371be9a0d9797a114d0d1196316d2f3943efdb923a3d809175e1563a3cb80c814fb8edccd1e77494972b + languageName: node + linkType: hard + +"@webassemblyjs/floating-point-hex-parser@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.13.2" + checksum: 10c0/0e88bdb8b50507d9938be64df0867f00396b55eba9df7d3546eb5dc0ca64d62e06f8d881ec4a6153f2127d0f4c11d102b6e7d17aec2f26bb5ff95a5e60652412 + languageName: node + linkType: hard + +"@webassemblyjs/helper-api-error@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-api-error@npm:1.13.2" + checksum: 10c0/31be497f996ed30aae4c08cac3cce50c8dcd5b29660383c0155fce1753804fc55d47fcba74e10141c7dd2899033164e117b3bcfcda23a6b043e4ded4f1003dfb + languageName: node + linkType: hard + +"@webassemblyjs/helper-buffer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.14.1" + checksum: 10c0/0d54105dc373c0fe6287f1091e41e3a02e36cdc05e8cf8533cdc16c59ff05a646355415893449d3768cda588af451c274f13263300a251dc11a575bc4c9bd210 + languageName: node + linkType: hard + +"@webassemblyjs/helper-numbers@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-numbers@npm:1.13.2" + dependencies: + "@webassemblyjs/floating-point-hex-parser": "npm:1.13.2" + "@webassemblyjs/helper-api-error": "npm:1.13.2" + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/9c46852f31b234a8fb5a5a9d3f027bc542392a0d4de32f1a9c0075d5e8684aa073cb5929b56df565500b3f9cc0a2ab983b650314295b9bf208d1a1651bfc825a + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-bytecode@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2" + checksum: 10c0/c4355d14f369b30cf3cbdd3acfafc7d0488e086be6d578e3c9780bd1b512932352246be96e034e2a7fcfba4f540ec813352f312bfcbbfe5bcfbf694f82ccc682 + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-section@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + checksum: 10c0/1f9b33731c3c6dbac3a9c483269562fa00d1b6a4e7133217f40e83e975e636fd0f8736e53abd9a47b06b66082ecc976c7384391ab0a68e12d509ea4e4b948d64 + languageName: node + linkType: hard + +"@webassemblyjs/ieee754@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/ieee754@npm:1.13.2" + dependencies: + "@xtuc/ieee754": "npm:^1.2.0" + checksum: 10c0/2e732ca78c6fbae3c9b112f4915d85caecdab285c0b337954b180460290ccd0fb00d2b1dc4bb69df3504abead5191e0d28d0d17dfd6c9d2f30acac8c4961c8a7 + languageName: node + linkType: hard + +"@webassemblyjs/leb128@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/leb128@npm:1.13.2" + dependencies: + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/dad5ef9e383c8ab523ce432dfd80098384bf01c45f70eb179d594f85ce5db2f80fa8c9cba03adafd85684e6d6310f0d3969a882538975989919329ac4c984659 + languageName: node + linkType: hard + +"@webassemblyjs/utf8@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/utf8@npm:1.13.2" + checksum: 10c0/d3fac9130b0e3e5a1a7f2886124a278e9323827c87a2b971e6d0da22a2ba1278ac9f66a4f2e363ecd9fac8da42e6941b22df061a119e5c0335f81006de9ee799 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-edit@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/helper-wasm-section": "npm:1.14.1" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + "@webassemblyjs/wasm-opt": "npm:1.14.1" + "@webassemblyjs/wasm-parser": "npm:1.14.1" + "@webassemblyjs/wast-printer": "npm:1.14.1" + checksum: 10c0/5ac4781086a2ca4b320bdbfd965a209655fe8a208ca38d89197148f8597e587c9a2c94fb6bd6f1a7dbd4527c49c6844fcdc2af981f8d793a97bf63a016aa86d2 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-gen@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/ieee754": "npm:1.13.2" + "@webassemblyjs/leb128": "npm:1.13.2" + "@webassemblyjs/utf8": "npm:1.13.2" + checksum: 10c0/d678810d7f3f8fecb2e2bdadfb9afad2ec1d2bc79f59e4711ab49c81cec578371e22732d4966f59067abe5fba8e9c54923b57060a729d28d408e608beef67b10 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-opt@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + "@webassemblyjs/wasm-parser": "npm:1.14.1" + checksum: 10c0/515bfb15277ee99ba6b11d2232ddbf22aed32aad6d0956fe8a0a0a004a1b5a3a277a71d9a3a38365d0538ac40d1b7b7243b1a244ad6cd6dece1c1bb2eb5de7ee + languageName: node + linkType: hard + +"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-api-error": "npm:1.13.2" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/ieee754": "npm:1.13.2" + "@webassemblyjs/leb128": "npm:1.13.2" + "@webassemblyjs/utf8": "npm:1.13.2" + checksum: 10c0/95427b9e5addbd0f647939bd28e3e06b8deefdbdadcf892385b5edc70091bf9b92fa5faac3fce8333554437c5d85835afef8c8a7d9d27ab6ba01ffab954db8c6 + languageName: node + linkType: hard + +"@webassemblyjs/wast-printer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wast-printer@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": "npm:1.14.1" + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/8d7768608996a052545251e896eac079c98e0401842af8dd4de78fba8d90bd505efb6c537e909cd6dae96e09db3fa2e765a6f26492553a675da56e2db51f9d24 + languageName: node + linkType: hard + +"@xtuc/ieee754@npm:^1.2.0": + version: 1.2.0 + resolution: "@xtuc/ieee754@npm:1.2.0" + checksum: 10c0/a8565d29d135039bd99ae4b2220d3e167d22cf53f867e491ed479b3f84f895742d0097f935b19aab90265a23d5d46711e4204f14c479ae3637fbf06c4666882f + languageName: node + linkType: hard + +"@xtuc/long@npm:4.2.2": + version: 4.2.2 + resolution: "@xtuc/long@npm:4.2.2" + checksum: 10c0/8582cbc69c79ad2d31568c412129bf23d2b1210a1dfb60c82d5a1df93334da4ee51f3057051658569e2c196d8dc33bc05ae6b974a711d0d16e801e1d0647ccd1 + languageName: node + linkType: hard + +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf + languageName: node + linkType: hard + +"accepts@npm:~1.3.4, accepts@npm:~1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: "npm:~2.1.34" + negotiator: "npm:0.6.3" + checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.0.0": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn-walk@npm:^8.0.0": + version: 8.3.4 + resolution: "acorn-walk@npm:8.3.4" + dependencies: + acorn: "npm:^8.11.0" + checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 + languageName: node + linkType: hard + +"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.8.2": + version: 8.14.1 + resolution: "acorn@npm:8.14.1" + bin: + acorn: bin/acorn + checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 + languageName: node + linkType: hard + +"address@npm:^1.0.1, address@npm:^1.1.2": + version: 1.2.2 + resolution: "address@npm:1.2.2" + checksum: 10c0/1c8056b77fb124456997b78ed682ecc19d2fd7ea8bd5850a2aa8c3e3134c913847c57bcae418622efd32ba858fa1e242a40a251ac31da0515664fc0ac03a047d + languageName: node + linkType: hard + +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ajv-formats@npm:^2.1.1": + version: 2.1.1 + resolution: "ajv-formats@npm:2.1.1" + dependencies: + ajv: "npm:^8.0.0" + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662 + languageName: node + linkType: hard + +"ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2": + version: 3.5.2 + resolution: "ajv-keywords@npm:3.5.2" + peerDependencies: + ajv: ^6.9.1 + checksum: 10c0/0c57a47cbd656e8cdfd99d7c2264de5868918ffa207c8d7a72a7f63379d4333254b2ba03d69e3c035e996a3fd3eb6d5725d7a1597cca10694296e32510546360 + languageName: node + linkType: hard + +"ajv-keywords@npm:^5.1.0": + version: 5.1.0 + resolution: "ajv-keywords@npm:5.1.0" + dependencies: + fast-deep-equal: "npm:^3.1.3" + peerDependencies: + ajv: ^8.8.2 + checksum: 10c0/18bec51f0171b83123ba1d8883c126e60c6f420cef885250898bf77a8d3e65e3bfb9e8564f497e30bdbe762a83e0d144a36931328616a973ee669dc74d4a9590 + languageName: node + linkType: hard + +"ajv@npm:^6.12.2, ajv@npm:^6.12.5": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"ajv@npm:^8.0.0, ajv@npm:^8.9.0": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 + languageName: node + linkType: hard + +"algoliasearch-helper@npm:^3.22.6": + version: 3.25.0 + resolution: "algoliasearch-helper@npm:3.25.0" + dependencies: + "@algolia/events": "npm:^4.0.1" + peerDependencies: + algoliasearch: ">= 3.1 < 6" + checksum: 10c0/932e1397e702f7722450e12a852f6f366aa581dfb1801d078153d591a94d5ccf7da4098cd381f8c684463638aca738f468ba7e968da6e97a7bba14870aa3c5df + languageName: node + linkType: hard + +"algoliasearch@npm:^5.14.2, algoliasearch@npm:^5.17.1": + version: 5.25.0 + resolution: "algoliasearch@npm:5.25.0" + dependencies: + "@algolia/client-abtesting": "npm:5.25.0" + "@algolia/client-analytics": "npm:5.25.0" + "@algolia/client-common": "npm:5.25.0" + "@algolia/client-insights": "npm:5.25.0" + "@algolia/client-personalization": "npm:5.25.0" + "@algolia/client-query-suggestions": "npm:5.25.0" + "@algolia/client-search": "npm:5.25.0" + "@algolia/ingestion": "npm:1.25.0" + "@algolia/monitoring": "npm:1.25.0" + "@algolia/recommend": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/fdf2b03c48415a7f284697bbe316bba41d4d6b0c5c76e886aa9841e69b8bc79305b0679d29dece71a347eef8ef3715980ed6a736febaca8f869b6551e470decf + languageName: node + linkType: hard + +"ansi-align@npm:^3.0.1": + version: 3.0.1 + resolution: "ansi-align@npm:3.0.1" + dependencies: + string-width: "npm:^4.1.0" + checksum: 10c0/ad8b755a253a1bc8234eb341e0cec68a857ab18bf97ba2bda529e86f6e30460416523e0ec58c32e5c21f0ca470d779503244892873a5895dbd0c39c788e82467 + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.3.2": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: "npm:^0.21.3" + checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 + languageName: node + linkType: hard + +"ansi-html-community@npm:^0.0.8": + version: 0.0.8 + resolution: "ansi-html-community@npm:0.0.8" + bin: + ansi-html: bin/ansi-html + checksum: 10c0/45d3a6f0b4f10b04fdd44bef62972e2470bfd917bf00439471fa7473d92d7cbe31369c73db863cc45dda115cb42527f39e232e9256115534b8ee5806b0caeed4 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"arg@npm:^5.0.0": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: 10c0/806966c8abb2f858b08f5324d9d18d7737480610f3bd5d3498aaae6eb5efdc501a884ba019c9b4a8f02ff67002058749d05548fd42fa8643f02c9c7f22198b91 + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"astring@npm:^1.8.0": + version: 1.9.0 + resolution: "astring@npm:1.9.0" + bin: + astring: bin/astring + checksum: 10c0/e7519544d9824494e80ef0e722bb3a0c543a31440d59691c13aeaceb75b14502af536b23f08db50aa6c632dafaade54caa25f0788aa7550b6b2d6e2df89e0830 + languageName: node + linkType: hard + +"at-least-node@npm:^1.0.0": + version: 1.0.0 + resolution: "at-least-node@npm:1.0.0" + checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef + languageName: node + linkType: hard + +"autoprefixer@npm:^10.4.19, autoprefixer@npm:^10.4.21": + version: 10.4.21 + resolution: "autoprefixer@npm:10.4.21" + dependencies: + browserslist: "npm:^4.24.4" + caniuse-lite: "npm:^1.0.30001702" + fraction.js: "npm:^4.3.7" + normalize-range: "npm:^0.1.2" + picocolors: "npm:^1.1.1" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.1.0 + bin: + autoprefixer: bin/autoprefixer + checksum: 10c0/de5b71d26d0baff4bbfb3d59f7cf7114a6030c9eeb66167acf49a32c5b61c68e308f1e0f869d92334436a221035d08b51cd1b2f2c4689b8d955149423c16d4d4 + languageName: node + linkType: hard + +"babel-loader@npm:^9.2.1": + version: 9.2.1 + resolution: "babel-loader@npm:9.2.1" + dependencies: + find-cache-dir: "npm:^4.0.0" + schema-utils: "npm:^4.0.0" + peerDependencies: + "@babel/core": ^7.12.0 + webpack: ">=5" + checksum: 10c0/efb82faff4c7c27e9c15bb28bf11c73200e61cf365118a9514e8d74dd489d0afc2a0d5aaa62cb4254eefc2ab631579224d95a03fd245410f28ea75e24de54ba4 + languageName: node + linkType: hard + +"babel-plugin-dynamic-import-node@npm:^2.3.3": + version: 2.3.3 + resolution: "babel-plugin-dynamic-import-node@npm:2.3.3" + dependencies: + object.assign: "npm:^4.1.0" + checksum: 10c0/1bd80df981e1fc1aff0cd4e390cf27aaa34f95f7620cd14dff07ba3bad56d168c098233a7d2deb2c9b1dc13643e596a6b94fc608a3412ee3c56e74a25cd2167e + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs2@npm:^0.4.10": + version: 0.4.13 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.13" + dependencies: + "@babel/compat-data": "npm:^7.22.6" + "@babel/helper-define-polyfill-provider": "npm:^0.6.4" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/b4a54561606d388e6f9499f39f03171af4be7f9ce2355e737135e40afa7086cf6790fdd706c2e59f488c8fa1f76123d28783708e07ddc84647dca8ed8fb98e06 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.11.0": + version: 0.11.1 + resolution: "babel-plugin-polyfill-corejs3@npm:0.11.1" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.3" + core-js-compat: "npm:^3.40.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/025f754b6296d84b20200aff63a3c1acdd85e8c621781f2bd27fe2512d0060526192d02329326947c6b29c27cf475fbcfaaff8c51eab1d2bfc7b79086bb64229 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.6.1": + version: 0.6.4 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.4" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.4" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/ebaaf9e4e53201c02f496d3f686d815e94177b3e55b35f11223b99c60d197a29f907a2e87bbcccced8b7aff22a807fccc1adaf04722864a8e1862c8845ab830a + languageName: node + linkType: hard + +"bail@npm:^2.0.0": + version: 2.0.2 + resolution: "bail@npm:2.0.2" + checksum: 10c0/25cbea309ef6a1f56214187004e8f34014eb015713ea01fa5b9b7e9e776ca88d0fdffd64143ac42dc91966c915a4b7b683411b56e14929fad16153fc026ffb8b + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"batch@npm:0.6.1": + version: 0.6.1 + resolution: "batch@npm:0.6.1" + checksum: 10c0/925a13897b4db80d4211082fe287bcf96d297af38e26448c857cee3e095c9792e3b8f26b37d268812e7f38a589f694609de8534a018b1937d7dc9f84e6b387c5 + languageName: node + linkType: hard + +"big.js@npm:^5.2.2": + version: 5.2.2 + resolution: "big.js@npm:5.2.2" + checksum: 10c0/230520f1ff920b2d2ce3e372d77a33faa4fa60d802fe01ca4ffbc321ee06023fe9a741ac02793ee778040a16b7e497f7d60c504d1c402b8fdab6f03bb785a25f + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + +"bittensor-docs@workspace:.": + version: 0.0.0-use.local + resolution: "bittensor-docs@workspace:." + dependencies: + "@docusaurus/core": "npm:^3.4.0" + "@docusaurus/module-type-aliases": "npm:^3.3.2" + "@docusaurus/plugin-client-redirects": "npm:^3.4.0" + "@docusaurus/preset-classic": "npm:^3.4.0" + "@docusaurus/tsconfig": "npm:^3.3.2" + "@docusaurus/types": "npm:^3.3.2" + "@gracefullight/docusaurus-plugin-vercel-analytics": "npm:^1.0.0" + "@mdx-js/react": "npm:^3.0.0" + "@vercel/analytics": "npm:^1.1.2" + clsx: "npm:^1.2.1" + hast-util-is-element: "npm:1.1.0" + prism-react-renderer: "npm:^2.1.0" + punycode: "npm:^2.3.1" + react: "npm:^18.2.0" + react-dom: "npm:^18.2.0" + react-icons: "npm:^4.12.0" + rehype-katex: "npm:^7.0.1" + remark-definition-list: "npm:^2.0.0" + remark-math: "npm:^6.0.0" + typescript: "npm:~5.2.2" + zwitch: "npm:^2.0.4" + languageName: unknown + linkType: soft + +"body-parser@npm:1.20.3": + version: 1.20.3 + resolution: "body-parser@npm:1.20.3" + dependencies: + bytes: "npm:3.1.2" + content-type: "npm:~1.0.5" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + on-finished: "npm:2.4.1" + qs: "npm:6.13.0" + raw-body: "npm:2.5.2" + type-is: "npm:~1.6.18" + unpipe: "npm:1.0.0" + checksum: 10c0/0a9a93b7518f222885498dcecaad528cf010dd109b071bf471c93def4bfe30958b83e03496eb9c1ad4896db543d999bb62be1a3087294162a88cfa1b42c16310 + languageName: node + linkType: hard + +"bonjour-service@npm:^1.0.11": + version: 1.3.0 + resolution: "bonjour-service@npm:1.3.0" + dependencies: + fast-deep-equal: "npm:^3.1.3" + multicast-dns: "npm:^7.2.5" + checksum: 10c0/5721fd9f9bb968e9cc16c1e8116d770863dd2329cb1f753231de1515870648c225142b7eefa71f14a5c22bc7b37ddd7fdeb018700f28a8c936d50d4162d433c7 + languageName: node + linkType: hard + +"boolbase@npm:^1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 10c0/e4b53deb4f2b85c52be0e21a273f2045c7b6a6ea002b0e139c744cb6f95e9ec044439a52883b0d74dedd1ff3da55ed140cfdddfed7fb0cccbed373de5dce1bcf + languageName: node + linkType: hard + +"boxen@npm:^6.2.1": + version: 6.2.1 + resolution: "boxen@npm:6.2.1" + dependencies: + ansi-align: "npm:^3.0.1" + camelcase: "npm:^6.2.0" + chalk: "npm:^4.1.2" + cli-boxes: "npm:^3.0.0" + string-width: "npm:^5.0.1" + type-fest: "npm:^2.5.0" + widest-line: "npm:^4.0.1" + wrap-ansi: "npm:^8.0.1" + checksum: 10c0/2a50d059c950a50d9f3c873093702747740814ce8819225c4f8cbe92024c9f5a9219d2b7128f5cfa17c022644d929bbbc88b9591de67249c6ebe07f7486bdcfd + languageName: node + linkType: hard + +"boxen@npm:^7.0.0": + version: 7.1.1 + resolution: "boxen@npm:7.1.1" + dependencies: + ansi-align: "npm:^3.0.1" + camelcase: "npm:^7.0.1" + chalk: "npm:^5.2.0" + cli-boxes: "npm:^3.0.0" + string-width: "npm:^5.1.2" + type-fest: "npm:^2.13.0" + widest-line: "npm:^4.0.1" + wrap-ansi: "npm:^8.1.0" + checksum: 10c0/3a9891dc98ac40d582c9879e8165628258e2c70420c919e70fff0a53ccc7b42825e73cda6298199b2fbc1f41f5d5b93b492490ad2ae27623bed3897ddb4267f8 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"browserslist@npm:^4.0.0, browserslist@npm:^4.18.1, browserslist@npm:^4.23.0, browserslist@npm:^4.24.0, browserslist@npm:^4.24.4": + version: 4.24.5 + resolution: "browserslist@npm:4.24.5" + dependencies: + caniuse-lite: "npm:^1.0.30001716" + electron-to-chromium: "npm:^1.5.149" + node-releases: "npm:^2.0.19" + update-browserslist-db: "npm:^1.1.3" + bin: + browserslist: cli.js + checksum: 10c0/f4c1ce1a7d8fdfab5e5b88bb6e93d09e8a883c393f86801537a252da0362dbdcde4dbd97b318246c5d84c6607b2f6b47af732c1b000d6a8a881ee024bad29204 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"bytes@npm:3.0.0": + version: 3.0.0 + resolution: "bytes@npm:3.0.0" + checksum: 10c0/91d42c38601c76460519ffef88371caacaea483a354c8e4b8808e7b027574436a5713337c003ea3de63ee4991c2a9a637884fdfe7f761760d746929d9e8fec60 + languageName: node + linkType: hard + +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e + languageName: node + linkType: hard + +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c + languageName: node + linkType: hard + +"cacheable-lookup@npm:^7.0.0": + version: 7.0.0 + resolution: "cacheable-lookup@npm:7.0.0" + checksum: 10c0/63a9c144c5b45cb5549251e3ea774c04d63063b29e469f7584171d059d3a88f650f47869a974e2d07de62116463d742c287a81a625e791539d987115cb081635 + languageName: node + linkType: hard + +"cacheable-request@npm:^10.2.8": + version: 10.2.14 + resolution: "cacheable-request@npm:10.2.14" + dependencies: + "@types/http-cache-semantics": "npm:^4.0.2" + get-stream: "npm:^6.0.1" + http-cache-semantics: "npm:^4.1.1" + keyv: "npm:^4.5.3" + mimic-response: "npm:^4.0.0" + normalize-url: "npm:^8.0.0" + responselike: "npm:^3.0.0" + checksum: 10c0/41b6658db369f20c03128227ecd219ca7ac52a9d24fc0f499cc9aa5d40c097b48b73553504cebd137024d957c0ddb5b67cf3ac1439b136667f3586257763f88d + languageName: node + linkType: hard + +"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + +"call-bind@npm:^1.0.8": + version: 1.0.8 + resolution: "call-bind@npm:1.0.8" + dependencies: + call-bind-apply-helpers: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.2" + checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"camel-case@npm:^4.1.2": + version: 4.1.2 + resolution: "camel-case@npm:4.1.2" + dependencies: + pascal-case: "npm:^3.1.2" + tslib: "npm:^2.0.3" + checksum: 10c0/bf9eefaee1f20edbed2e9a442a226793bc72336e2b99e5e48c6b7252b6f70b080fc46d8246ab91939e2af91c36cdd422e0af35161e58dd089590f302f8f64c8a + languageName: node + linkType: hard + +"camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"camelcase@npm:^7.0.1": + version: 7.0.1 + resolution: "camelcase@npm:7.0.1" + checksum: 10c0/3adfc9a0e96d51b3a2f4efe90a84dad3e206aaa81dfc664f1bd568270e1bf3b010aad31f01db16345b4ffe1910e16ab411c7273a19a859addd1b98ef7cf4cfbd + languageName: node + linkType: hard + +"caniuse-api@npm:^3.0.0": + version: 3.0.0 + resolution: "caniuse-api@npm:3.0.0" + dependencies: + browserslist: "npm:^4.0.0" + caniuse-lite: "npm:^1.0.0" + lodash.memoize: "npm:^4.1.2" + lodash.uniq: "npm:^4.5.0" + checksum: 10c0/60f9e85a3331e6d761b1b03eec71ca38ef7d74146bece34694853033292156b815696573ed734b65583acf493e88163618eda915c6c826d46a024c71a9572b4c + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001702, caniuse-lite@npm:^1.0.30001716": + version: 1.0.30001718 + resolution: "caniuse-lite@npm:1.0.30001718" + checksum: 10c0/67f9ad09bc16443e28d14f265d6e468480cd8dc1900d0d8b982222de80c699c4f2306599c3da8a3fa7139f110d4b30d49dbac78f215470f479abb6ffe141d5d3 + languageName: node + linkType: hard + +"ccount@npm:^2.0.0": + version: 2.0.1 + resolution: "ccount@npm:2.0.1" + checksum: 10c0/3939b1664390174484322bc3f45b798462e6c07ee6384cb3d645e0aa2f318502d174845198c1561930e1d431087f74cf1fe291ae9a4722821a9f4ba67e574350 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"chalk@npm:^5.0.1, chalk@npm:^5.2.0": + version: 5.4.1 + resolution: "chalk@npm:5.4.1" + checksum: 10c0/b23e88132c702f4855ca6d25cb5538b1114343e41472d5263ee8a37cccfccd9c4216d111e1097c6a27830407a1dc81fecdf2a56f2c63033d4dbbd88c10b0dcef + languageName: node + linkType: hard + +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: 10c0/57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e + languageName: node + linkType: hard + +"character-entities-html4@npm:^2.0.0": + version: 2.1.0 + resolution: "character-entities-html4@npm:2.1.0" + checksum: 10c0/fe61b553f083400c20c0b0fd65095df30a0b445d960f3bbf271536ae6c3ba676f39cb7af0b4bf2755812f08ab9b88f2feed68f9aebb73bb153f7a115fe5c6e40 + languageName: node + linkType: hard + +"character-entities-legacy@npm:^3.0.0": + version: 3.0.0 + resolution: "character-entities-legacy@npm:3.0.0" + checksum: 10c0/ec4b430af873661aa754a896a2b55af089b4e938d3d010fad5219299a6b6d32ab175142699ee250640678cd64bdecd6db3c9af0b8759ab7b155d970d84c4c7d1 + languageName: node + linkType: hard + +"character-entities@npm:^2.0.0": + version: 2.0.2 + resolution: "character-entities@npm:2.0.2" + checksum: 10c0/b0c645a45bcc90ff24f0e0140f4875a8436b8ef13b6bcd31ec02cfb2ca502b680362aa95386f7815bdc04b6464d48cf191210b3840d7c04241a149ede591a308 + languageName: node + linkType: hard + +"character-reference-invalid@npm:^2.0.0": + version: 2.0.1 + resolution: "character-reference-invalid@npm:2.0.1" + checksum: 10c0/2ae0dec770cd8659d7e8b0ce24392d83b4c2f0eb4a3395c955dce5528edd4cc030a794cfa06600fcdd700b3f2de2f9b8e40e309c0011c4180e3be64a0b42e6a1 + languageName: node + linkType: hard + +"cheerio-select@npm:^2.1.0": + version: 2.1.0 + resolution: "cheerio-select@npm:2.1.0" + dependencies: + boolbase: "npm:^1.0.0" + css-select: "npm:^5.1.0" + css-what: "npm:^6.1.0" + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.0.1" + checksum: 10c0/2242097e593919dba4aacb97d7b8275def8b9ec70b00aa1f43335456870cfc9e284eae2080bdc832ed232dabb9eefcf56c722d152da4a154813fb8814a55d282 + languageName: node + linkType: hard + +"cheerio@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "cheerio@npm:1.0.0-rc.12" + dependencies: + cheerio-select: "npm:^2.1.0" + dom-serializer: "npm:^2.0.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.0.1" + htmlparser2: "npm:^8.0.1" + parse5: "npm:^7.0.0" + parse5-htmlparser2-tree-adapter: "npm:^7.0.0" + checksum: 10c0/c85d2f2461e3f024345b78e0bb16ad8e41492356210470dd1e7d5a91391da9fcf6c0a7cb48a9ba8820330153f0cedb4d0a60c7af15d96ecdb3092299b9d9c0cc + languageName: node + linkType: hard + +"chokidar@npm:^3.4.2, chokidar@npm:^3.5.3": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"chrome-trace-event@npm:^1.0.2": + version: 1.0.4 + resolution: "chrome-trace-event@npm:1.0.4" + checksum: 10c0/3058da7a5f4934b87cf6a90ef5fb68ebc5f7d06f143ed5a4650208e5d7acae47bc03ec844b29fbf5ba7e46e8daa6acecc878f7983a4f4bb7271593da91e61ff5 + languageName: node + linkType: hard + +"ci-info@npm:^3.2.0": + version: 3.9.0 + resolution: "ci-info@npm:3.9.0" + checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a + languageName: node + linkType: hard + +"clean-css@npm:^5.2.2, clean-css@npm:^5.3.2, clean-css@npm:~5.3.2": + version: 5.3.3 + resolution: "clean-css@npm:5.3.3" + dependencies: + source-map: "npm:~0.6.0" + checksum: 10c0/381de7523e23f3762eb180e327dcc0cedafaf8cb1cd8c26b7cc1fc56e0829a92e734729c4f955394d65ed72fb62f82d8baf78af34b33b8a7d41ebad2accdd6fb + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"cli-boxes@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-boxes@npm:3.0.0" + checksum: 10c0/4db3e8fbfaf1aac4fb3a6cbe5a2d3fa048bee741a45371b906439b9ffc821c6e626b0f108bdcd3ddf126a4a319409aedcf39a0730573ff050fdd7b6731e99fb9 + languageName: node + linkType: hard + +"cli-table3@npm:^0.6.3": + version: 0.6.5 + resolution: "cli-table3@npm:0.6.5" + dependencies: + "@colors/colors": "npm:1.5.0" + string-width: "npm:^4.2.0" + dependenciesMeta: + "@colors/colors": + optional: true + checksum: 10c0/d7cc9ed12212ae68241cc7a3133c52b844113b17856e11f4f81308acc3febcea7cc9fd298e70933e294dd642866b29fd5d113c2c098948701d0c35f09455de78 + languageName: node + linkType: hard + +"clone-deep@npm:^4.0.1": + version: 4.0.1 + resolution: "clone-deep@npm:4.0.1" + dependencies: + is-plain-object: "npm:^2.0.4" + kind-of: "npm:^6.0.2" + shallow-clone: "npm:^3.0.0" + checksum: 10c0/637753615aa24adf0f2d505947a1bb75e63964309034a1cf56ba4b1f30af155201edd38d26ffe26911adaae267a3c138b344a4947d39f5fc1b6d6108125aa758 + languageName: node + linkType: hard + +"clsx@npm:^1.2.1": + version: 1.2.1 + resolution: "clsx@npm:1.2.1" + checksum: 10c0/34dead8bee24f5e96f6e7937d711978380647e936a22e76380290e35486afd8634966ce300fc4b74a32f3762c7d4c0303f442c3e259f4ce02374eb0c82834f27 + languageName: node + linkType: hard + +"clsx@npm:^2.0.0": + version: 2.1.1 + resolution: "clsx@npm:2.1.1" + checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 + languageName: node + linkType: hard + +"collapse-white-space@npm:^2.0.0": + version: 2.1.0 + resolution: "collapse-white-space@npm:2.1.0" + checksum: 10c0/b2e2800f4ab261e62eb27a1fbe853378296e3a726d6695117ed033e82d61fb6abeae4ffc1465d5454499e237005de9cfc52c9562dc7ca4ac759b9a222ef14453 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"colord@npm:^2.9.3": + version: 2.9.3 + resolution: "colord@npm:2.9.3" + checksum: 10c0/9699e956894d8996b28c686afe8988720785f476f59335c80ce852ded76ab3ebe252703aec53d9bef54f6219aea6b960fb3d9a8300058a1d0c0d4026460cd110 + languageName: node + linkType: hard + +"colorette@npm:^2.0.10": + version: 2.0.20 + resolution: "colorette@npm:2.0.20" + checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 + languageName: node + linkType: hard + +"combine-promises@npm:^1.1.0": + version: 1.2.0 + resolution: "combine-promises@npm:1.2.0" + checksum: 10c0/906ebf056006eff93c11548df0415053b6756145dae1f5a89579e743cb15fceeb0604555791321db4fba5072aa39bb4de6547e9cdf14589fe949b33d1613422c + languageName: node + linkType: hard + +"comma-separated-tokens@npm:^2.0.0": + version: 2.0.3 + resolution: "comma-separated-tokens@npm:2.0.3" + checksum: 10c0/91f90f1aae320f1755d6957ef0b864fe4f54737f3313bd95e0802686ee2ca38bff1dd381964d00ae5db42912dd1f4ae5c2709644e82706ffc6f6842a813cdd67 + languageName: node + linkType: hard + +"commander@npm:^10.0.0": + version: 10.0.1 + resolution: "commander@npm:10.0.1" + checksum: 10c0/53f33d8927758a911094adadda4b2cbac111a5b377d8706700587650fd8f45b0bbe336de4b5c3fe47fd61f420a3d9bd452b6e0e6e5600a7e74d7bf0174f6efe3 + languageName: node + linkType: hard + +"commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 + languageName: node + linkType: hard + +"commander@npm:^5.1.0": + version: 5.1.0 + resolution: "commander@npm:5.1.0" + checksum: 10c0/da9d71dbe4ce039faf1fe9eac3771dca8c11d66963341f62602f7b66e36d2a3f8883407af4f9a37b1db1a55c59c0c1325f186425764c2e963dc1d67aec2a4b6d + languageName: node + linkType: hard + +"commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a + languageName: node + linkType: hard + +"commander@npm:^8.3.0": + version: 8.3.0 + resolution: "commander@npm:8.3.0" + checksum: 10c0/8b043bb8322ea1c39664a1598a95e0495bfe4ca2fad0d84a92d7d1d8d213e2a155b441d2470c8e08de7c4a28cf2bc6e169211c49e1b21d9f7edc6ae4d9356060 + languageName: node + linkType: hard + +"common-path-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "common-path-prefix@npm:3.0.0" + checksum: 10c0/c4a74294e1b1570f4a8ab435285d185a03976c323caa16359053e749db4fde44e3e6586c29cd051100335e11895767cbbd27ea389108e327d62f38daf4548fdb + languageName: node + linkType: hard + +"compressible@npm:~2.0.18": + version: 2.0.18 + resolution: "compressible@npm:2.0.18" + dependencies: + mime-db: "npm:>= 1.43.0 < 2" + checksum: 10c0/8a03712bc9f5b9fe530cc5a79e164e665550d5171a64575d7dcf3e0395d7b4afa2d79ab176c61b5b596e28228b350dd07c1a2a6ead12fd81d1b6cd632af2fef7 + languageName: node + linkType: hard + +"compression@npm:^1.7.4": + version: 1.8.0 + resolution: "compression@npm:1.8.0" + dependencies: + bytes: "npm:3.1.2" + compressible: "npm:~2.0.18" + debug: "npm:2.6.9" + negotiator: "npm:~0.6.4" + on-headers: "npm:~1.0.2" + safe-buffer: "npm:5.2.1" + vary: "npm:~1.1.2" + checksum: 10c0/804d3c8430939f4fd88e5128333f311b4035f6425a7f2959d74cfb5c98ef3a3e3e18143208f3f9d0fcae4cd3bcf3d2fbe525e0fcb955e6e146e070936f025a24 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"config-chain@npm:^1.1.11": + version: 1.1.13 + resolution: "config-chain@npm:1.1.13" + dependencies: + ini: "npm:^1.3.4" + proto-list: "npm:~1.2.1" + checksum: 10c0/39d1df18739d7088736cc75695e98d7087aea43646351b028dfabd5508d79cf6ef4c5bcd90471f52cd87ae470d1c5490c0a8c1a292fbe6ee9ff688061ea0963e + languageName: node + linkType: hard + +"configstore@npm:^6.0.0": + version: 6.0.0 + resolution: "configstore@npm:6.0.0" + dependencies: + dot-prop: "npm:^6.0.1" + graceful-fs: "npm:^4.2.6" + unique-string: "npm:^3.0.0" + write-file-atomic: "npm:^3.0.3" + xdg-basedir: "npm:^5.0.1" + checksum: 10c0/6681a96038ab3e0397cbdf55e6e1624ac3dfa3afe955e219f683df060188a418bda043c9114a59a337e7aec9562b0a0c838ed7db24289e6d0c266bc8313b9580 + languageName: node + linkType: hard + +"connect-history-api-fallback@npm:^2.0.0": + version: 2.0.0 + resolution: "connect-history-api-fallback@npm:2.0.0" + checksum: 10c0/90fa8b16ab76e9531646cc70b010b1dbd078153730c510d3142f6cf07479ae8a812c5a3c0e40a28528dd1681a62395d0cfdef67da9e914c4772ac85d69a3ed87 + languageName: node + linkType: hard + +"consola@npm:^3.2.3": + version: 3.4.2 + resolution: "consola@npm:3.4.2" + checksum: 10c0/7cebe57ecf646ba74b300bcce23bff43034ed6fbec9f7e39c27cee1dc00df8a21cd336b466ad32e304ea70fba04ec9e890c200270de9a526ce021ba8a7e4c11a + languageName: node + linkType: hard + +"content-disposition@npm:0.5.2": + version: 0.5.2 + resolution: "content-disposition@npm:0.5.2" + checksum: 10c0/49eebaa0da1f9609b192e99d7fec31d1178cb57baa9d01f5b63b29787ac31e9d18b5a1033e854c68c9b6cce790e700a6f7fa60e43f95e2e416404e114a8f2f49 + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: "npm:5.2.1" + checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb + languageName: node + linkType: hard + +"content-type@npm:~1.0.4, content-type@npm:~1.0.5": + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: 10c0/b36fd0d4e3fef8456915fcf7742e58fbfcc12a17a018e0eb9501c9d5ef6893b596466f03b0564b81af29ff2538fd0aa4b9d54fe5ccbfb4c90ea50ad29fe2d221 + languageName: node + linkType: hard + +"cookie@npm:0.7.1": + version: 0.7.1 + resolution: "cookie@npm:0.7.1" + checksum: 10c0/5de60c67a410e7c8dc8a46a4b72eb0fe925871d057c9a5d2c0e8145c4270a4f81076de83410c4d397179744b478e33cd80ccbcc457abf40a9409ad27dcd21dde + languageName: node + linkType: hard + +"copy-text-to-clipboard@npm:^3.2.0": + version: 3.2.0 + resolution: "copy-text-to-clipboard@npm:3.2.0" + checksum: 10c0/d60fdadc59d526e19d56ad23cec2b292d33c771a5091621bd322d138804edd3c10eb2367d46ec71b39f5f7f7116a2910b332281aeb36a5b679199d746a8a5381 + languageName: node + linkType: hard + +"copy-webpack-plugin@npm:^11.0.0": + version: 11.0.0 + resolution: "copy-webpack-plugin@npm:11.0.0" + dependencies: + fast-glob: "npm:^3.2.11" + glob-parent: "npm:^6.0.1" + globby: "npm:^13.1.1" + normalize-path: "npm:^3.0.0" + schema-utils: "npm:^4.0.0" + serialize-javascript: "npm:^6.0.0" + peerDependencies: + webpack: ^5.1.0 + checksum: 10c0/a667dd226b26f148584a35fb705f5af926d872584912cf9fd203c14f2b3a68f473a1f5cf768ec1dd5da23820823b850e5d50458b685c468e4a224b25c12a15b4 + languageName: node + linkType: hard + +"core-js-compat@npm:^3.40.0": + version: 3.42.0 + resolution: "core-js-compat@npm:3.42.0" + dependencies: + browserslist: "npm:^4.24.4" + checksum: 10c0/0138ce005c13ce642fc38e18e54a52a1c78ca8315ee6e4faad748d2a1b0ad2462ea615285ad4e6cf77afe48e47a868d898e64c70606c1eb1c9e6a9f19ee2b186 + languageName: node + linkType: hard + +"core-js-pure@npm:^3.30.2": + version: 3.42.0 + resolution: "core-js-pure@npm:3.42.0" + checksum: 10c0/e61b097bc83ec01839e7b04cad2e1d0dd8822275ea5a08a23dc7c907d13d2522aa2b09061cec68f0625fe40abb8b888be3b65a37c817eb53a695cf02c24217bf + languageName: node + linkType: hard + +"core-js@npm:^3.31.1": + version: 3.42.0 + resolution: "core-js@npm:3.42.0" + checksum: 10c0/2913d3d5452d54ad92f058d66046782d608c05e037bcc523aab79c04454fe640998f94e6011292969d66dfa472f398b085ce843dcb362056532a5799c627184e + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 + languageName: node + linkType: hard + +"cosmiconfig@npm:^6.0.0": + version: 6.0.0 + resolution: "cosmiconfig@npm:6.0.0" + dependencies: + "@types/parse-json": "npm:^4.0.0" + import-fresh: "npm:^3.1.0" + parse-json: "npm:^5.0.0" + path-type: "npm:^4.0.0" + yaml: "npm:^1.7.2" + checksum: 10c0/666ed8732d0bf7d7fe6f8516c8ee6041e0622032e8fa26201577b883d2767ad105d03f38b34b93d1f02f26b22a89e7bab4443b9d2e7f931f48d0e944ffa038b5 + languageName: node + linkType: hard + +"cosmiconfig@npm:^8.1.3, cosmiconfig@npm:^8.3.5": + version: 8.3.6 + resolution: "cosmiconfig@npm:8.3.6" + dependencies: + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" + path-type: "npm:^4.0.0" + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"crypto-random-string@npm:^4.0.0": + version: 4.0.0 + resolution: "crypto-random-string@npm:4.0.0" + dependencies: + type-fest: "npm:^1.0.1" + checksum: 10c0/16e11a3c8140398f5408b7fded35a961b9423c5dac39a60cbbd08bd3f0e07d7de130e87262adea7db03ec1a7a4b7551054e0db07ee5408b012bac5400cfc07a5 + languageName: node + linkType: hard + +"css-blank-pseudo@npm:^7.0.1": + version: 7.0.1 + resolution: "css-blank-pseudo@npm:7.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/46c3d3a611972fdb0c264db7c0b34fe437bc4300961d11945145cf04962f52a545a6ef55bc8ff4afd82b605bd692b4970f2b54582616dea00441105e725d4618 + languageName: node + linkType: hard + +"css-declaration-sorter@npm:^7.2.0": + version: 7.2.0 + resolution: "css-declaration-sorter@npm:7.2.0" + peerDependencies: + postcss: ^8.0.9 + checksum: 10c0/d8516be94f8f2daa233ef021688b965c08161624cbf830a4d7ee1099429437c0ee124d35c91b1c659cfd891a68e8888aa941726dab12279bc114aaed60a94606 + languageName: node + linkType: hard + +"css-has-pseudo@npm:^7.0.2": + version: 7.0.2 + resolution: "css-has-pseudo@npm:7.0.2" + dependencies: + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/456e9ce1eec8a535683c329956acfe53ce5a208345d7f2fcbe662626be8b3c98681e9041d7f4980316714397b0c1c3defde25653d629c396df17803d599c4edf + languageName: node + linkType: hard + +"css-loader@npm:^6.8.1": + version: 6.11.0 + resolution: "css-loader@npm:6.11.0" + dependencies: + icss-utils: "npm:^5.1.0" + postcss: "npm:^8.4.33" + postcss-modules-extract-imports: "npm:^3.1.0" + postcss-modules-local-by-default: "npm:^4.0.5" + postcss-modules-scope: "npm:^3.2.0" + postcss-modules-values: "npm:^4.0.0" + postcss-value-parser: "npm:^4.2.0" + semver: "npm:^7.5.4" + peerDependencies: + "@rspack/core": 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + "@rspack/core": + optional: true + webpack: + optional: true + checksum: 10c0/bb52434138085fed06a33e2ffbdae9ee9014ad23bf60f59d6b7ee67f28f26c6b1764024d3030bd19fd884d6ee6ee2224eaed64ad19eb18fbbb23d148d353a965 + languageName: node + linkType: hard + +"css-minimizer-webpack-plugin@npm:^5.0.1": + version: 5.0.1 + resolution: "css-minimizer-webpack-plugin@npm:5.0.1" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.18" + cssnano: "npm:^6.0.1" + jest-worker: "npm:^29.4.3" + postcss: "npm:^8.4.24" + schema-utils: "npm:^4.0.1" + serialize-javascript: "npm:^6.0.1" + peerDependencies: + webpack: ^5.0.0 + peerDependenciesMeta: + "@parcel/css": + optional: true + "@swc/css": + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + lightningcss: + optional: true + checksum: 10c0/1792259e18f7c5ee25b6bbf60b38b64201747add83d1f751c8c654159b46ebacd0d1103d35f17d97197033e21e02d2ba4a4e9aa14c9c0d067b7c7653c721814e + languageName: node + linkType: hard + +"css-prefers-color-scheme@npm:^10.0.0": + version: 10.0.0 + resolution: "css-prefers-color-scheme@npm:10.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/a66c727bb2455328b18862f720819fc98ff5c1486b69f758bdb5c66f46cc6d484f9fc0bfa4f00f2693c5da6707ad136ca789496982f713ade693f08af624930e + languageName: node + linkType: hard + +"css-select@npm:^4.1.3": + version: 4.3.0 + resolution: "css-select@npm:4.3.0" + dependencies: + boolbase: "npm:^1.0.0" + css-what: "npm:^6.0.1" + domhandler: "npm:^4.3.1" + domutils: "npm:^2.8.0" + nth-check: "npm:^2.0.1" + checksum: 10c0/a489d8e5628e61063d5a8fe0fa1cc7ae2478cb334a388a354e91cf2908154be97eac9fa7ed4dffe87a3e06cf6fcaa6016553115335c4fd3377e13dac7bd5a8e1 + languageName: node + linkType: hard + +"css-select@npm:^5.1.0": + version: 5.1.0 + resolution: "css-select@npm:5.1.0" + dependencies: + boolbase: "npm:^1.0.0" + css-what: "npm:^6.1.0" + domhandler: "npm:^5.0.2" + domutils: "npm:^3.0.1" + nth-check: "npm:^2.0.1" + checksum: 10c0/551c60dba5b54054741032c1793b5734f6ba45e23ae9e82761a3c0ed1acbb8cfedfa443aaba3a3c1a54cac12b456d2012a09d2cd5f0e82e430454c1b9d84d500 + languageName: node + linkType: hard + +"css-tree@npm:^2.3.1": + version: 2.3.1 + resolution: "css-tree@npm:2.3.1" + dependencies: + mdn-data: "npm:2.0.30" + source-map-js: "npm:^1.0.1" + checksum: 10c0/6f8c1a11d5e9b14bf02d10717fc0351b66ba12594166f65abfbd8eb8b5b490dd367f5c7721db241a3c792d935fc6751fbc09f7e1598d421477ad9fadc30f4f24 + languageName: node + linkType: hard + +"css-tree@npm:~2.2.0": + version: 2.2.1 + resolution: "css-tree@npm:2.2.1" + dependencies: + mdn-data: "npm:2.0.28" + source-map-js: "npm:^1.0.1" + checksum: 10c0/47e87b0f02f8ac22f57eceb65c58011dd142d2158128882a0bf963cf2eabb81a4ebbc2e3790c8289be7919fa8b83750c7b69272bd66772c708143b772ba3c186 + languageName: node + linkType: hard + +"css-what@npm:^6.0.1, css-what@npm:^6.1.0": + version: 6.1.0 + resolution: "css-what@npm:6.1.0" + checksum: 10c0/a09f5a6b14ba8dcf57ae9a59474722e80f20406c53a61e9aedb0eedc693b135113ffe2983f4efc4b5065ae639442e9ae88df24941ef159c218b231011d733746 + languageName: node + linkType: hard + +"cssdb@npm:^8.2.5": + version: 8.2.5 + resolution: "cssdb@npm:8.2.5" + checksum: 10c0/3f6f2941c958ea0bdbcc1f807ee728d851ef60c370fbcd54360840e3192f082e0a0b2fa4ea600ca74fa771936c9130883727d7845132cc8bf135a4e0a1e55746 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"cssnano-preset-advanced@npm:^6.1.2": + version: 6.1.2 + resolution: "cssnano-preset-advanced@npm:6.1.2" + dependencies: + autoprefixer: "npm:^10.4.19" + browserslist: "npm:^4.23.0" + cssnano-preset-default: "npm:^6.1.2" + postcss-discard-unused: "npm:^6.0.5" + postcss-merge-idents: "npm:^6.0.3" + postcss-reduce-idents: "npm:^6.0.3" + postcss-zindex: "npm:^6.0.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/22d3ddab258e6b31e7e2e7c48712f023b60fadb2813929752dace0326e28cd250830b5420a33f81b01df52d2460cb5f999fff5907f58508809efe1a8a739a707 + languageName: node + linkType: hard + +"cssnano-preset-default@npm:^6.1.2": + version: 6.1.2 + resolution: "cssnano-preset-default@npm:6.1.2" + dependencies: + browserslist: "npm:^4.23.0" + css-declaration-sorter: "npm:^7.2.0" + cssnano-utils: "npm:^4.0.2" + postcss-calc: "npm:^9.0.1" + postcss-colormin: "npm:^6.1.0" + postcss-convert-values: "npm:^6.1.0" + postcss-discard-comments: "npm:^6.0.2" + postcss-discard-duplicates: "npm:^6.0.3" + postcss-discard-empty: "npm:^6.0.3" + postcss-discard-overridden: "npm:^6.0.2" + postcss-merge-longhand: "npm:^6.0.5" + postcss-merge-rules: "npm:^6.1.1" + postcss-minify-font-values: "npm:^6.1.0" + postcss-minify-gradients: "npm:^6.0.3" + postcss-minify-params: "npm:^6.1.0" + postcss-minify-selectors: "npm:^6.0.4" + postcss-normalize-charset: "npm:^6.0.2" + postcss-normalize-display-values: "npm:^6.0.2" + postcss-normalize-positions: "npm:^6.0.2" + postcss-normalize-repeat-style: "npm:^6.0.2" + postcss-normalize-string: "npm:^6.0.2" + postcss-normalize-timing-functions: "npm:^6.0.2" + postcss-normalize-unicode: "npm:^6.1.0" + postcss-normalize-url: "npm:^6.0.2" + postcss-normalize-whitespace: "npm:^6.0.2" + postcss-ordered-values: "npm:^6.0.2" + postcss-reduce-initial: "npm:^6.1.0" + postcss-reduce-transforms: "npm:^6.0.2" + postcss-svgo: "npm:^6.0.3" + postcss-unique-selectors: "npm:^6.0.4" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/af99021f936763850f5f35dc9e6a9dfb0da30856dea36e0420b011da2a447099471db2a5f3d1f5f52c0489da186caf9a439d8f048a80f82617077efb018333fa + languageName: node + linkType: hard + +"cssnano-utils@npm:^4.0.2": + version: 4.0.2 + resolution: "cssnano-utils@npm:4.0.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/260b8c8ffa48b908aa77ef129f9b8648ecd92aed405b20e7fe6b8370779dd603530344fc9d96683d53533246e48b36ac9d2aa5a476b4f81c547bbad86d187f35 + languageName: node + linkType: hard + +"cssnano@npm:^6.0.1, cssnano@npm:^6.1.2": + version: 6.1.2 + resolution: "cssnano@npm:6.1.2" + dependencies: + cssnano-preset-default: "npm:^6.1.2" + lilconfig: "npm:^3.1.1" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/4df0dc0389b34b38acb09b7cfb07267b0eda95349c6d5e9b7666acc7200bb33359650869a60168e9d878298b05f4ad2c7f070815c90551720a3f4e1037f79691 + languageName: node + linkType: hard + +"csso@npm:^5.0.5": + version: 5.0.5 + resolution: "csso@npm:5.0.5" + dependencies: + css-tree: "npm:~2.2.0" + checksum: 10c0/ab4beb1e97dd7e207c10e9925405b45f15a6cd1b4880a8686ad573aa6d476aed28b4121a666cffd26c37a26179f7b54741f7c257543003bfb244d06a62ad569b + languageName: node + linkType: hard + +"csstype@npm:^3.0.2": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 + languageName: node + linkType: hard + +"debounce@npm:^1.2.1": + version: 1.2.1 + resolution: "debounce@npm:1.2.1" + checksum: 10c0/6c9320aa0973fc42050814621a7a8a78146c1975799b5b3cc1becf1f77ba9a5aa583987884230da0842a03f385def452fad5d60db97c3d1c8b824e38a8edf500 + languageName: node + linkType: hard + +"debug@npm:2.6.9, debug@npm:^2.6.0": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: "npm:2.0.0" + checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4": + version: 4.4.1 + resolution: "debug@npm:4.4.1" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55 + languageName: node + linkType: hard + +"decode-named-character-reference@npm:^1.0.0": + version: 1.1.0 + resolution: "decode-named-character-reference@npm:1.1.0" + dependencies: + character-entities: "npm:^2.0.0" + checksum: 10c0/359c76305b47e67660ec096c5cd3f65972ed75b8a53a40435a7a967cfab3e9516e64b443cbe0c7edcf5ab77f65a6924f12fb1872b1e09e2f044f28f4fd10996a + languageName: node + linkType: hard + +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: "npm:^3.1.0" + checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e + languageName: node + linkType: hard + +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.1": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 + languageName: node + linkType: hard + +"default-gateway@npm:^6.0.3": + version: 6.0.3 + resolution: "default-gateway@npm:6.0.3" + dependencies: + execa: "npm:^5.0.0" + checksum: 10c0/5184f9e6e105d24fb44ade9e8741efa54bb75e84625c1ea78c4ef8b81dff09ca52d6dbdd1185cf0dc655bb6b282a64fffaf7ed2dd561b8d9ad6f322b1f039aba + languageName: node + linkType: hard + +"defer-to-connect@npm:^2.0.1": + version: 2.0.1 + resolution: "defer-to-connect@npm:2.0.1" + checksum: 10c0/625ce28e1b5ad10cf77057b9a6a727bf84780c17660f6644dab61dd34c23de3001f03cedc401f7d30a4ed9965c2e8a7336e220a329146f2cf85d4eddea429782 + languageName: node + linkType: hard + +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + +"define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 + languageName: node + linkType: hard + +"del@npm:^6.1.1": + version: 6.1.1 + resolution: "del@npm:6.1.1" + dependencies: + globby: "npm:^11.0.1" + graceful-fs: "npm:^4.2.4" + is-glob: "npm:^4.0.1" + is-path-cwd: "npm:^2.2.0" + is-path-inside: "npm:^3.0.2" + p-map: "npm:^4.0.0" + rimraf: "npm:^3.0.2" + slash: "npm:^3.0.0" + checksum: 10c0/8a095c5ccade42c867a60252914ae485ec90da243d735d1f63ec1e64c1cfbc2b8810ad69a29ab6326d159d4fddaa2f5bad067808c42072351ec458efff86708f + languageName: node + linkType: hard + +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + languageName: node + linkType: hard + +"depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 10c0/acb24aaf936ef9a227b6be6d495f0d2eb20108a9a6ad40585c5bda1a897031512fef6484e4fdbb80bd249fdaa82841fa1039f416ece03188e677ba11bcfda249 + languageName: node + linkType: hard + +"dequal@npm:^2.0.0": + version: 2.0.3 + resolution: "dequal@npm:2.0.3" + checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 + languageName: node + linkType: hard + +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 + languageName: node + linkType: hard + +"detect-node@npm:^2.0.4": + version: 2.1.0 + resolution: "detect-node@npm:2.1.0" + checksum: 10c0/f039f601790f2e9d4654e499913259a798b1f5246ae24f86ab5e8bd4aaf3bce50484234c494f11fb00aecb0c6e2733aa7b1cf3f530865640b65fbbd65b2c4e09 + languageName: node + linkType: hard + +"detect-port-alt@npm:^1.1.6": + version: 1.1.6 + resolution: "detect-port-alt@npm:1.1.6" + dependencies: + address: "npm:^1.0.1" + debug: "npm:^2.6.0" + bin: + detect: ./bin/detect-port + detect-port: ./bin/detect-port + checksum: 10c0/7269e6aef7b782d98c77505c07a7a0f5e2ee98a9607dc791035fc0192fc58aa03cc833fae605e10eaf239a2a5a55cd938e0bb141dea764ac6180ca082fd62b23 + languageName: node + linkType: hard + +"detect-port@npm:^1.5.1": + version: 1.6.1 + resolution: "detect-port@npm:1.6.1" + dependencies: + address: "npm:^1.0.1" + debug: "npm:4" + bin: + detect: bin/detect-port.js + detect-port: bin/detect-port.js + checksum: 10c0/4ea9eb46a637cb21220dd0a62b6074792894fc77b2cacbc9de533d1908b2eedafa7bfd7547baaa2ac1e9c7ba7c289b34b17db896dca6da142f4fc6e2060eee17 + languageName: node + linkType: hard + +"devlop@npm:^1.0.0, devlop@npm:^1.1.0": + version: 1.1.0 + resolution: "devlop@npm:1.1.0" + dependencies: + dequal: "npm:^2.0.0" + checksum: 10c0/e0928ab8f94c59417a2b8389c45c55ce0a02d9ac7fd74ef62d01ba48060129e1d594501b77de01f3eeafc7cb00773819b0df74d96251cf20b31c5b3071f45c0e + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"dns-packet@npm:^5.2.2": + version: 5.6.1 + resolution: "dns-packet@npm:5.6.1" + dependencies: + "@leichtgewicht/ip-codec": "npm:^2.0.1" + checksum: 10c0/8948d3d03063fb68e04a1e386875f8c3bcc398fc375f535f2b438fad8f41bf1afa6f5e70893ba44f4ae884c089247e0a31045722fa6ff0f01d228da103f1811d + languageName: node + linkType: hard + +"dom-converter@npm:^0.2.0": + version: 0.2.0 + resolution: "dom-converter@npm:0.2.0" + dependencies: + utila: "npm:~0.4" + checksum: 10c0/e96aa63bd8c6ee3cd9ce19c3aecfc2c42e50a460e8087114794d4f5ecf3a4f052b34ea3bf2d73b5d80b4da619073b49905e6d7d788ceb7814ca4c29be5354a11 + languageName: node + linkType: hard + +"dom-serializer@npm:^1.0.1": + version: 1.4.1 + resolution: "dom-serializer@npm:1.4.1" + dependencies: + domelementtype: "npm:^2.0.1" + domhandler: "npm:^4.2.0" + entities: "npm:^2.0.0" + checksum: 10c0/67d775fa1ea3de52035c98168ddcd59418356943b5eccb80e3c8b3da53adb8e37edb2cc2f885802b7b1765bf5022aec21dfc32910d7f9e6de4c3148f095ab5e0 + languageName: node + linkType: hard + +"dom-serializer@npm:^2.0.0": + version: 2.0.0 + resolution: "dom-serializer@npm:2.0.0" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.2" + entities: "npm:^4.2.0" + checksum: 10c0/d5ae2b7110ca3746b3643d3ef60ef823f5f078667baf530cec096433f1627ec4b6fa8c072f09d079d7cda915fd2c7bc1b7b935681e9b09e591e1e15f4040b8e2 + languageName: node + linkType: hard + +"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0, domelementtype@npm:^2.3.0": + version: 2.3.0 + resolution: "domelementtype@npm:2.3.0" + checksum: 10c0/686f5a9ef0fff078c1412c05db73a0dce096190036f33e400a07e2a4518e9f56b1e324f5c576a0a747ef0e75b5d985c040b0d51945ce780c0dd3c625a18cd8c9 + languageName: node + linkType: hard + +"domhandler@npm:^4.0.0, domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": + version: 4.3.1 + resolution: "domhandler@npm:4.3.1" + dependencies: + domelementtype: "npm:^2.2.0" + checksum: 10c0/5c199c7468cb052a8b5ab80b13528f0db3d794c64fc050ba793b574e158e67c93f8336e87fd81e9d5ee43b0e04aea4d8b93ed7be4899cb726a1601b3ba18538b + languageName: node + linkType: hard + +"domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": + version: 5.0.3 + resolution: "domhandler@npm:5.0.3" + dependencies: + domelementtype: "npm:^2.3.0" + checksum: 10c0/bba1e5932b3e196ad6862286d76adc89a0dbf0c773e5ced1eb01f9af930c50093a084eff14b8de5ea60b895c56a04d5de8bbc4930c5543d029091916770b2d2a + languageName: node + linkType: hard + +"domutils@npm:^2.5.2, domutils@npm:^2.8.0": + version: 2.8.0 + resolution: "domutils@npm:2.8.0" + dependencies: + dom-serializer: "npm:^1.0.1" + domelementtype: "npm:^2.2.0" + domhandler: "npm:^4.2.0" + checksum: 10c0/d58e2ae01922f0dd55894e61d18119924d88091837887bf1438f2327f32c65eb76426bd9384f81e7d6dcfb048e0f83c19b222ad7101176ad68cdc9c695b563db + languageName: node + linkType: hard + +"domutils@npm:^3.0.1": + version: 3.2.2 + resolution: "domutils@npm:3.2.2" + dependencies: + dom-serializer: "npm:^2.0.0" + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + checksum: 10c0/47938f473b987ea71cd59e59626eb8666d3aa8feba5266e45527f3b636c7883cca7e582d901531961f742c519d7514636b7973353b648762b2e3bedbf235fada + languageName: node + linkType: hard + +"dot-case@npm:^3.0.4": + version: 3.0.4 + resolution: "dot-case@npm:3.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/5b859ea65097a7ea870e2c91b5768b72ddf7fa947223fd29e167bcdff58fe731d941c48e47a38ec8aa8e43044c8fbd15cd8fa21689a526bc34b6548197cd5b05 + languageName: node + linkType: hard + +"dot-prop@npm:^6.0.1": + version: 6.0.1 + resolution: "dot-prop@npm:6.0.1" + dependencies: + is-obj: "npm:^2.0.0" + checksum: 10c0/30e51ec6408978a6951b21e7bc4938aad01a86f2fdf779efe52330205c6bb8a8ea12f35925c2029d6dc9d1df22f916f32f828ce1e9b259b1371c580541c22b5a + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + +"duplexer@npm:^0.1.2": + version: 0.1.2 + resolution: "duplexer@npm:0.1.2" + checksum: 10c0/c57bcd4bdf7e623abab2df43a7b5b23d18152154529d166c1e0da6bee341d84c432d157d7e97b32fecb1bf3a8b8857dd85ed81a915789f550637ed25b8e64fc2 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.149": + version: 1.5.152 + resolution: "electron-to-chromium@npm:1.5.152" + checksum: 10c0/99c58dc8fc6b22ea64f118599663a0d336aa28693fbd275d06f3e2c1d1a6c954fcb88f5b2390223267bb3487940d3e587b6acac8b1b2ebc4dc65c44cd7739c7c + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"emojilib@npm:^2.4.0": + version: 2.4.0 + resolution: "emojilib@npm:2.4.0" + checksum: 10c0/6e66ba8921175842193f974e18af448bb6adb0cf7aeea75e08b9d4ea8e9baba0e4a5347b46ed901491dcaba277485891c33a8d70b0560ca5cc9672a94c21ab8f + languageName: node + linkType: hard + +"emojis-list@npm:^3.0.0": + version: 3.0.0 + resolution: "emojis-list@npm:3.0.0" + checksum: 10c0/7dc4394b7b910444910ad64b812392159a21e1a7ecc637c775a440227dcb4f80eff7fe61f4453a7d7603fa23d23d30cc93fe9e4b5ed985b88d6441cd4a35117b + languageName: node + linkType: hard + +"emoticon@npm:^4.0.1": + version: 4.1.0 + resolution: "emoticon@npm:4.1.0" + checksum: 10c0/b3bc0a9b370445ac1e980ccba7baea614b4648199cc6fa0a51696a6d2393733e8f985edc4f1af381a1903f625789483dd155de427ec9fa2ea415fac116adc06d + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec + languageName: node + linkType: hard + +"encodeurl@npm:~2.0.0": + version: 2.0.0 + resolution: "encodeurl@npm:2.0.0" + checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"enhanced-resolve@npm:^5.17.1": + version: 5.18.1 + resolution: "enhanced-resolve@npm:5.18.1" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 10c0/4cffd9b125225184e2abed9fdf0ed3dbd2224c873b165d0838fd066cde32e0918626cba2f1f4bf6860762f13a7e2364fd89a82b99566be2873d813573ac71846 + languageName: node + linkType: hard + +"entities@npm:^2.0.0": + version: 2.2.0 + resolution: "entities@npm:2.2.0" + checksum: 10c0/7fba6af1f116300d2ba1c5673fc218af1961b20908638391b4e1e6d5850314ee2ac3ec22d741b3a8060479911c99305164aed19b6254bde75e7e6b1b2c3f3aa3 + languageName: node + linkType: hard + +"entities@npm:^4.2.0, entities@npm:^4.4.0": + version: 4.5.0 + resolution: "entities@npm:4.5.0" + checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 + languageName: node + linkType: hard + +"entities@npm:^6.0.0": + version: 6.0.0 + resolution: "entities@npm:6.0.0" + checksum: 10c0/b82a7bd5de282860f3c36a91e815e41e874fd036c83956a568b82729678492eb088359d6f7e0a4f5c00776427263fcba04959b8340fefa430c39b9bce770427e + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-module-lexer@npm:^1.2.1": + version: 1.7.0 + resolution: "es-module-lexer@npm:1.7.0" + checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b + languageName: node + linkType: hard + +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c + languageName: node + linkType: hard + +"esast-util-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "esast-util-from-estree@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + checksum: 10c0/6c619bc6963314f8f64b32e3b101b321bf121f659e62b11e70f425619c2db6f1d25f4c594a57fd00908da96c67d9bfbf876eb5172abf9e13f47a71796f6630ff + languageName: node + linkType: hard + +"esast-util-from-js@npm:^2.0.0": + version: 2.0.1 + resolution: "esast-util-from-js@npm:2.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + acorn: "npm:^8.0.0" + esast-util-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/3a446fb0b0d7bcd7e0157aa44b3b692802a08c93edbea81cc0f7fe4437bfdfb4b72e4563fe63b4e36d390086b71185dba4ac921f4180cc6349985c263cc74421 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-goat@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-goat@npm:4.0.0" + checksum: 10c0/9d2a8314e2370f2dd9436d177f6b3b1773525df8f895c8f3e1acb716f5fd6b10b336cb1cd9862d4709b36eb207dbe33664838deca9c6d55b8371be4eebb972f6 + languageName: node + linkType: hard + +"escape-html@npm:^1.0.3, escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^5.0.0": + version: 5.0.0 + resolution: "escape-string-regexp@npm:5.0.0" + checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95 + languageName: node + linkType: hard + +"eslint-scope@npm:5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^4.1.1" + checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a + languageName: node + linkType: hard + +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.1": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d + languageName: node + linkType: hard + +"estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-util-attach-comments@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-attach-comments@npm:3.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/ee69bb5c45e2ad074725b90ed181c1c934b29d81bce4b0c7761431e83c4c6ab1b223a6a3d6a4fbeb92128bc5d5ee201d5dd36cf1770aa5e16a40b0cf36e8a1f1 + languageName: node + linkType: hard + +"estree-util-build-jsx@npm:^3.0.0": + version: 3.0.1 + resolution: "estree-util-build-jsx@npm:3.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + estree-walker: "npm:^3.0.0" + checksum: 10c0/274c119817b8e7caa14a9778f1e497fea56cdd2b01df1a1ed037f843178992d3afe85e0d364d485e1e2e239255763553d1b647b15e4a7ba50851bcb43dc6bf80 + languageName: node + linkType: hard + +"estree-util-is-identifier-name@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-is-identifier-name@npm:3.0.0" + checksum: 10c0/d1881c6ed14bd588ebd508fc90bf2a541811dbb9ca04dec2f39d27dcaa635f85b5ed9bbbe7fc6fb1ddfca68744a5f7c70456b4b7108b6c4c52780631cc787c5b + languageName: node + linkType: hard + +"estree-util-scope@npm:^1.0.0": + version: 1.0.0 + resolution: "estree-util-scope@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + checksum: 10c0/ef8a573cc899277c613623a1722f630e2163abbc6e9e2f49e758c59b81b484e248b585df6df09a38c00fbfb6390117997cc80c1347b7a86bc1525d9e462b60d5 + languageName: node + linkType: hard + +"estree-util-to-js@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-to-js@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + astring: "npm:^1.8.0" + source-map: "npm:^0.7.0" + checksum: 10c0/ac88cb831401ef99e365f92f4af903755d56ae1ce0e0f0fb8ff66e678141f3d529194f0fb15f6c78cd7554c16fda36854df851d58f9e05cfab15bddf7a97cea0 + languageName: node + linkType: hard + +"estree-util-value-to-estree@npm:^3.0.1": + version: 3.4.0 + resolution: "estree-util-value-to-estree@npm:3.4.0" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/e90e0c784b29182a3feb471589ab3c031be3ff1ab068b2b473e9ee96467f99442f2c571b2708ee3493906af5bf1a0aa9712d9f90fb113a30d99669100235ba4f + languageName: node + linkType: hard + +"estree-util-visit@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-visit@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/unist": "npm:^3.0.0" + checksum: 10c0/acda8b03cc8f890d79c7c7361f6c95331ba84b7ccc0c32b49f447fc30206b20002b37ffdfc97b6ad16e6fe065c63ecbae1622492e2b6b4775c15966606217f39 + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.0": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"eta@npm:^2.2.0": + version: 2.2.0 + resolution: "eta@npm:2.2.0" + checksum: 10c0/643b54d9539d2761bf6c5f4f48df1a5ea2d46c7f5a5fdc47a7d4802a8aa2b6262d4d61f724452e226c18cf82db02d48e65293fcc548f26a3f9d75a5ba7c3b859 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 + languageName: node + linkType: hard + +"eval@npm:^0.1.8": + version: 0.1.8 + resolution: "eval@npm:0.1.8" + dependencies: + "@types/node": "npm:*" + require-like: "npm:>= 0.1.1" + checksum: 10c0/258e700bff09e3ce3344273d5b6691b8ec5b043538d84f738f14d8b0aded33d64c00c15b380de725b1401b15f428ab35a9e7ca19a7d25f162c4f877c71586be9 + languageName: node + linkType: hard + +"eventemitter3@npm:^4.0.0": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b + languageName: node + linkType: hard + +"events@npm:^3.2.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 + languageName: node + linkType: hard + +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.2 + resolution: "exponential-backoff@npm:3.1.2" + checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 + languageName: node + linkType: hard + +"express@npm:^4.17.3": + version: 4.21.2 + resolution: "express@npm:4.21.2" + dependencies: + accepts: "npm:~1.3.8" + array-flatten: "npm:1.1.1" + body-parser: "npm:1.20.3" + content-disposition: "npm:0.5.4" + content-type: "npm:~1.0.4" + cookie: "npm:0.7.1" + cookie-signature: "npm:1.0.6" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + finalhandler: "npm:1.3.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + merge-descriptors: "npm:1.0.3" + methods: "npm:~1.1.2" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + path-to-regexp: "npm:0.1.12" + proxy-addr: "npm:~2.0.7" + qs: "npm:6.13.0" + range-parser: "npm:~1.2.1" + safe-buffer: "npm:5.2.1" + send: "npm:0.19.0" + serve-static: "npm:1.16.2" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + type-is: "npm:~1.6.18" + utils-merge: "npm:1.0.1" + vary: "npm:~1.1.2" + checksum: 10c0/38168fd0a32756600b56e6214afecf4fc79ec28eca7f7a91c2ab8d50df4f47562ca3f9dee412da7f5cea6b1a1544b33b40f9f8586dbacfbdada0fe90dbb10a1f + languageName: node + linkType: hard + +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: "npm:^0.1.0" + checksum: 10c0/ee1cb0a18c9faddb42d791b2d64867bd6cfd0f3affb711782eb6e894dd193e2934a7f529426aac7c8ddb31ac5d38000a00aa2caf08aa3dfc3e1c8ff6ba340bd9 + languageName: node + linkType: hard + +"extend@npm:^3.0.0": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-uri@npm:^3.0.1": + version: 3.0.6 + resolution: "fast-uri@npm:3.0.6" + checksum: 10c0/74a513c2af0584448aee71ce56005185f81239eab7a2343110e5bad50c39ad4fb19c5a6f99783ead1cac7ccaf3461a6034fda89fffa2b30b6d99b9f21c2f9d29 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.19.1 + resolution: "fastq@npm:1.19.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 + languageName: node + linkType: hard + +"fault@npm:^2.0.0": + version: 2.0.1 + resolution: "fault@npm:2.0.1" + dependencies: + format: "npm:^0.2.0" + checksum: 10c0/b80fbf1019b9ce8b08ee09ce86e02b028563e13a32ac3be34e42bfac00a97b96d8dee6d31e26578ffc16224eb6729e01ff1f97ddfeee00494f4f56c0aeed4bdd + languageName: node + linkType: hard + +"faye-websocket@npm:^0.11.3": + version: 0.11.4 + resolution: "faye-websocket@npm:0.11.4" + dependencies: + websocket-driver: "npm:>=0.5.1" + checksum: 10c0/c6052a0bb322778ce9f89af92890f6f4ce00d5ec92418a35e5f4c6864a4fe736fec0bcebd47eac7c0f0e979b01530746b1c85c83cb04bae789271abf19737420 + languageName: node + linkType: hard + +"fdir@npm:^6.4.4": + version: 6.4.4 + resolution: "fdir@npm:6.4.4" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd + languageName: node + linkType: hard + +"feed@npm:^4.2.2": + version: 4.2.2 + resolution: "feed@npm:4.2.2" + dependencies: + xml-js: "npm:^1.6.11" + checksum: 10c0/c0849bde569da94493224525db00614fd1855a5d7c2e990f6e8637bd0298e85c3d329efe476cba77e711e438c3fb48af60cd5ef0c409da5bcd1f479790b0a372 + languageName: node + linkType: hard + +"figures@npm:^3.2.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: "npm:^1.0.5" + checksum: 10c0/9c421646ede432829a50bc4e55c7a4eb4bcb7cc07b5bab2f471ef1ab9a344595bbebb6c5c21470093fbb730cd81bbca119624c40473a125293f656f49cb47629 + languageName: node + linkType: hard + +"file-loader@npm:^6.2.0": + version: 6.2.0 + resolution: "file-loader@npm:6.2.0" + dependencies: + loader-utils: "npm:^2.0.0" + schema-utils: "npm:^3.0.0" + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 10c0/e176a57c2037ab0f78e5755dbf293a6b7f0f8392350a120bd03cc2ce2525bea017458ba28fea14ca535ff1848055e86d1a3a216bdb2561ef33395b27260a1dd3 + languageName: node + linkType: hard + +"filesize@npm:^8.0.6": + version: 8.0.7 + resolution: "filesize@npm:8.0.7" + checksum: 10c0/82072d94816484df5365d4d5acbb2327a65dc49704c64e403e8c40d8acb7364de1cf1e65cb512c77a15d353870f73e4fed46dad5c6153d0618d9ce7a64d09cfc + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"finalhandler@npm:1.3.1": + version: 1.3.1 + resolution: "finalhandler@npm:1.3.1" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + statuses: "npm:2.0.1" + unpipe: "npm:~1.0.0" + checksum: 10c0/d38035831865a49b5610206a3a9a9aae4e8523cbbcd01175d0480ffbf1278c47f11d89be3ca7f617ae6d94f29cf797546a4619cd84dd109009ef33f12f69019f + languageName: node + linkType: hard + +"find-cache-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "find-cache-dir@npm:4.0.0" + dependencies: + common-path-prefix: "npm:^3.0.0" + pkg-dir: "npm:^7.0.0" + checksum: 10c0/0faa7956974726c8769671de696d24c643ca1e5b8f7a2401283caa9e07a5da093293e0a0f4bd18c920ec981d2ef945c7f5b946cde268dfc9077d833ad0293cff + languageName: node + linkType: hard + +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: "npm:^3.0.0" + checksum: 10c0/2c2e7d0a26db858e2f624f39038c74739e38306dee42b45f404f770db357947be9d0d587f1cac72d20c114deb38aa57316e879eb0a78b17b46da7dab0a3bd6e3 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"find-up@npm:^6.3.0": + version: 6.3.0 + resolution: "find-up@npm:6.3.0" + dependencies: + locate-path: "npm:^7.1.0" + path-exists: "npm:^5.0.0" + checksum: 10c0/07e0314362d316b2b13f7f11ea4692d5191e718ca3f7264110127520f3347996349bf9e16805abae3e196805814bc66ef4bff2b8904dc4a6476085fc9b0eba07 + languageName: node + linkType: hard + +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe + languageName: node + linkType: hard + +"follow-redirects@npm:^1.0.0": + version: 1.15.9 + resolution: "follow-redirects@npm:1.15.9" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.3.1 + resolution: "foreground-child@npm:3.3.1" + dependencies: + cross-spawn: "npm:^7.0.6" + signal-exit: "npm:^4.0.1" + checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 + languageName: node + linkType: hard + +"fork-ts-checker-webpack-plugin@npm:^6.5.0": + version: 6.5.3 + resolution: "fork-ts-checker-webpack-plugin@npm:6.5.3" + dependencies: + "@babel/code-frame": "npm:^7.8.3" + "@types/json-schema": "npm:^7.0.5" + chalk: "npm:^4.1.0" + chokidar: "npm:^3.4.2" + cosmiconfig: "npm:^6.0.0" + deepmerge: "npm:^4.2.2" + fs-extra: "npm:^9.0.0" + glob: "npm:^7.1.6" + memfs: "npm:^3.1.2" + minimatch: "npm:^3.0.4" + schema-utils: "npm:2.7.0" + semver: "npm:^7.3.2" + tapable: "npm:^1.0.0" + peerDependencies: + eslint: ">= 6" + typescript: ">= 2.7" + vue-template-compiler: "*" + webpack: ">= 4" + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + checksum: 10c0/0885ea75474de011d4068ca3e2d3ca6e4cd318f5cfa018e28ff8fef23ef3a1f1c130160ef192d3e5d31ef7b6fe9f8fb1d920eab5e9e449fb30ce5cc96647245c + languageName: node + linkType: hard + +"form-data-encoder@npm:^2.1.2": + version: 2.1.4 + resolution: "form-data-encoder@npm:2.1.4" + checksum: 10c0/4c06ae2b79ad693a59938dc49ebd020ecb58e4584860a90a230f80a68b026483b022ba5e4143cff06ae5ac8fd446a0b500fabc87bbac3d1f62f2757f8dabcaf7 + languageName: node + linkType: hard + +"format@npm:^0.2.0": + version: 0.2.2 + resolution: "format@npm:0.2.2" + checksum: 10c0/6032ba747541a43abf3e37b402b2f72ee08ebcb58bf84d816443dd228959837f1cddf1e8775b29fa27ff133f4bd146d041bfca5f9cf27f048edf3d493cf8fee6 + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 + languageName: node + linkType: hard + +"fraction.js@npm:^4.3.7": + version: 4.3.7 + resolution: "fraction.js@npm:4.3.7" + checksum: 10c0/df291391beea9ab4c263487ffd9d17fed162dbb736982dee1379b2a8cc94e4e24e46ed508c6d278aded9080ba51872f1bc5f3a5fd8d7c74e5f105b508ac28711 + languageName: node + linkType: hard + +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a + languageName: node + linkType: hard + +"fs-extra@npm:^11.1.1, fs-extra@npm:^11.2.0": + version: 11.3.0 + resolution: "fs-extra@npm:11.3.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/5f95e996186ff45463059feb115a22fb048bdaf7e487ecee8a8646c78ed8fdca63630e3077d4c16ce677051f5e60d3355a06f3cd61f3ca43f48cc58822a44d0a + languageName: node + linkType: hard + +"fs-extra@npm:^9.0.0": + version: 9.1.0 + resolution: "fs-extra@npm:9.1.0" + dependencies: + at-least-node: "npm:^1.0.0" + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs-monkey@npm:^1.0.4": + version: 1.0.6 + resolution: "fs-monkey@npm:1.0.6" + checksum: 10c0/6f2508e792a47e37b7eabd5afc79459c1ea72bce2a46007d2b7ed0bfc3a4d64af38975c6eb7e93edb69ac98bbb907c13ff1b1579b2cf52d3d02dbc0303fca79f + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.3.0": + version: 1.3.0 + resolution: "get-intrinsic@npm:1.3.0" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a + languageName: node + linkType: hard + +"get-own-enumerable-property-symbols@npm:^3.0.0": + version: 3.0.2 + resolution: "get-own-enumerable-property-symbols@npm:3.0.2" + checksum: 10c0/103999855f3d1718c631472437161d76962cbddcd95cc642a34c07bfb661ed41b6c09a9c669ccdff89ee965beb7126b80eec7b2101e20e31e9cc6c4725305e10 + languageName: node + linkType: hard + +"get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 + languageName: node + linkType: hard + +"github-slugger@npm:^1.5.0": + version: 1.5.0 + resolution: "github-slugger@npm:1.5.0" + checksum: 10c0/116f99732925f939cbfd6f2e57db1aa7e111a460db0d103e3b3f2fce6909d44311663d4542350706cad806345b9892358cc3b153674f88eeae77f43380b3bfca + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.1": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob-to-regexp@npm:^0.4.1": + version: 0.4.1 + resolution: "glob-to-regexp@npm:0.4.1" + checksum: 10c0/0486925072d7a916f052842772b61c3e86247f0a80cc0deb9b5a3e8a1a9faad5b04fb6f58986a09f34d3e96cd2a22a24b7e9882fb1cf904c31e9a310de96c429 + languageName: node + linkType: hard + +"glob@npm:^10.2.2": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.6": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"global-dirs@npm:^3.0.0": + version: 3.0.1 + resolution: "global-dirs@npm:3.0.1" + dependencies: + ini: "npm:2.0.0" + checksum: 10c0/ef65e2241a47ff978f7006a641302bc7f4c03dfb98783d42bf7224c136e3a06df046e70ee3a010cf30214114755e46c9eb5eb1513838812fbbe0d92b14c25080 + languageName: node + linkType: hard + +"global-modules@npm:^2.0.0": + version: 2.0.0 + resolution: "global-modules@npm:2.0.0" + dependencies: + global-prefix: "npm:^3.0.0" + checksum: 10c0/43b770fe24aa6028f4b9770ea583a47f39750be15cf6e2578f851e4ccc9e4fa674b8541928c0b09c21461ca0763f0d36e4068cec86c914b07fd6e388e66ba5b9 + languageName: node + linkType: hard + +"global-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "global-prefix@npm:3.0.0" + dependencies: + ini: "npm:^1.3.5" + kind-of: "npm:^6.0.2" + which: "npm:^1.3.1" + checksum: 10c0/510f489fb68d1cc7060f276541709a0ee6d41356ef852de48f7906c648ac223082a1cc8fce86725ca6c0e032bcdc1189ae77b4744a624b29c34a9d0ece498269 + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"globby@npm:^11.0.1, globby@npm:^11.0.4, globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + +"globby@npm:^13.1.1": + version: 13.2.2 + resolution: "globby@npm:13.2.2" + dependencies: + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.3.0" + ignore: "npm:^5.2.4" + merge2: "npm:^1.4.1" + slash: "npm:^4.0.0" + checksum: 10c0/a8d7cc7cbe5e1b2d0f81d467bbc5bc2eac35f74eaded3a6c85fc26d7acc8e6de22d396159db8a2fc340b8a342e74cac58de8f4aee74146d3d146921a76062664 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead + languageName: node + linkType: hard + +"got@npm:^12.1.0": + version: 12.6.1 + resolution: "got@npm:12.6.1" + dependencies: + "@sindresorhus/is": "npm:^5.2.0" + "@szmarczak/http-timer": "npm:^5.0.1" + cacheable-lookup: "npm:^7.0.0" + cacheable-request: "npm:^10.2.8" + decompress-response: "npm:^6.0.0" + form-data-encoder: "npm:^2.1.2" + get-stream: "npm:^6.0.1" + http2-wrapper: "npm:^2.1.10" + lowercase-keys: "npm:^3.0.0" + p-cancelable: "npm:^3.0.0" + responselike: "npm:^3.0.0" + checksum: 10c0/2fe97fcbd7a9ffc7c2d0ecf59aca0a0562e73a7749cadada9770eeb18efbdca3086262625fb65590594edc220a1eca58fab0d26b0c93c2f9a008234da71ca66b + languageName: node + linkType: hard + +"graceful-fs@npm:4.2.10": + version: 4.2.10 + resolution: "graceful-fs@npm:4.2.10" + checksum: 10c0/4223a833e38e1d0d2aea630c2433cfb94ddc07dfc11d511dbd6be1d16688c5be848acc31f9a5d0d0ddbfb56d2ee5a6ae0278aceeb0ca6a13f27e06b9956fb952 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"gray-matter@npm:^4.0.3": + version: 4.0.3 + resolution: "gray-matter@npm:4.0.3" + dependencies: + js-yaml: "npm:^3.13.1" + kind-of: "npm:^6.0.2" + section-matter: "npm:^1.0.0" + strip-bom-string: "npm:^1.0.0" + checksum: 10c0/e38489906dad4f162ca01e0dcbdbed96d1a53740cef446b9bf76d80bec66fa799af07776a18077aee642346c5e1365ed95e4c91854a12bf40ba0d4fb43a625a6 + languageName: node + linkType: hard + +"gzip-size@npm:^6.0.0": + version: 6.0.0 + resolution: "gzip-size@npm:6.0.0" + dependencies: + duplexer: "npm:^0.1.2" + checksum: 10c0/4ccb924626c82125897a997d1c84f2377846a6ef57fbee38f7c0e6b41387fba4d00422274440747b58008b5d60114bac2349c2908e9aba55188345281af40a3f + languageName: node + linkType: hard + +"handle-thing@npm:^2.0.0": + version: 2.0.1 + resolution: "handle-thing@npm:2.0.1" + checksum: 10c0/7ae34ba286a3434f1993ebd1cc9c9e6b6d8ea672182db28b1afc0a7119229552fa7031e3e5f3cd32a76430ece4e94b7da6f12af2eb39d6239a7693e4bd63a998 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e + languageName: node + linkType: hard + +"has-yarn@npm:^3.0.0": + version: 3.0.0 + resolution: "has-yarn@npm:3.0.0" + checksum: 10c0/38c76618cb764e4a98ea114a3938e0bed6ceafb6bacab2ffb32e7c7d1e18b5e09cd03387d507ee87072388e1f20b1f80947fee62c41fc450edfbbdc02a665787 + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + +"hast-util-definition-list@npm:^2.0.0": + version: 2.1.0 + resolution: "hast-util-definition-list@npm:2.1.0" + dependencies: + "@types/hast": "npm:^3.0.4" + "@types/mdast": "npm:^4.0.3" + "@types/unist": "npm:^3.0.2" + hast-util-to-mdast: "npm:^10.1.0" + mdast-util-definition-list: "npm:^2.0.0" + mdast-util-phrasing: "npm:^4.1.0" + checksum: 10c0/a81c420d4988c375be744c34c504e61dc0bd107d69a9df4ad81dcb677d3c9963d2e5667156760f74e7ada4cef2af0fd73c8ed92e91f2f664c2f1c67b1025cea3 + languageName: node + linkType: hard + +"hast-util-embedded@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-embedded@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-is-element: "npm:^3.0.0" + checksum: 10c0/054c3d3b96fcd5c1d1c6f8d38ce1f7f33022ba6362129a022673d0b539f876acdcababbb9df29812fb927294f98ef7a2f44519a80d637fe3eea1819c9e69eeac + languageName: node + linkType: hard + +"hast-util-from-dom@npm:^5.0.0": + version: 5.0.1 + resolution: "hast-util-from-dom@npm:5.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + hastscript: "npm:^9.0.0" + web-namespaces: "npm:^2.0.0" + checksum: 10c0/9a90381e048107a093a3da758bb17b67aaf5322e222f02497f841c4990abf94aa177d38d5b9bf61ad07b3601d0409f34f5b556d89578cc189230c6b994d2af77 + languageName: node + linkType: hard + +"hast-util-from-html-isomorphic@npm:^2.0.0": + version: 2.0.0 + resolution: "hast-util-from-html-isomorphic@npm:2.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-from-dom: "npm:^5.0.0" + hast-util-from-html: "npm:^2.0.0" + unist-util-remove-position: "npm:^5.0.0" + checksum: 10c0/fc68d9245e794483a802d5c85a9f6c25959e00db78cc796411efc965134f3206f9cc9fa38134572ea781ad74663e801f1f83202007b208e27a770855566a62b6 + languageName: node + linkType: hard + +"hast-util-from-html@npm:^2.0.0": + version: 2.0.3 + resolution: "hast-util-from-html@npm:2.0.3" + dependencies: + "@types/hast": "npm:^3.0.0" + devlop: "npm:^1.1.0" + hast-util-from-parse5: "npm:^8.0.0" + parse5: "npm:^7.0.0" + vfile: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/993ef707c1a12474c8d4094fc9706a72826c660a7e308ea54c50ad893353d32e139b7cbc67510c2e82feac572b320e3b05aeb13d0f9c6302d61261f337b46764 + languageName: node + linkType: hard + +"hast-util-from-parse5@npm:^8.0.0": + version: 8.0.3 + resolution: "hast-util-from-parse5@npm:8.0.3" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + hastscript: "npm:^9.0.0" + property-information: "npm:^7.0.0" + vfile: "npm:^6.0.0" + vfile-location: "npm:^5.0.0" + web-namespaces: "npm:^2.0.0" + checksum: 10c0/40ace6c0ad43c26f721c7499fe408e639cde917b2350c9299635e6326559855896dae3c3ebf7440df54766b96c4276a7823e8f376a2b6a28b37b591f03412545 + languageName: node + linkType: hard + +"hast-util-has-property@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-has-property@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/6e2c0e22ca893c6ebb60f8390e184c4deb041c36d09796756f02cd121c1789c0f5c862ed06caea8f1a80ea8c0ef6a7854dd57946c2eebb76488727bd4a1c952e + languageName: node + linkType: hard + +"hast-util-is-body-ok-link@npm:^3.0.0": + version: 3.0.1 + resolution: "hast-util-is-body-ok-link@npm:3.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/c320cbd9a9a834b007a6f2f8c271e98b8331c0193adf06e0a7c5ea0acae664e97ce28eb4436e0658bc5cdb8f47390ec1c6cba7c4fe1ded10951fcdd1432f60bf + languageName: node + linkType: hard + +"hast-util-is-element@npm:1.1.0": + version: 1.1.0 + resolution: "hast-util-is-element@npm:1.1.0" + checksum: 10c0/9f95b1e356af3d891a293c1e63560480cb9c2aa33c14e0da3abfaf76aa3f2de8e178643f8459b10e1e2d11a0bc4553c628b57e5afa607791073b61d456f77926 + languageName: node + linkType: hard + +"hast-util-is-element@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-is-element@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/f5361e4c9859c587ca8eb0d8343492f3077ccaa0f58a44cd09f35d5038f94d65152288dcd0c19336ef2c9491ec4d4e45fde2176b05293437021570aa0bc3613b + languageName: node + linkType: hard + +"hast-util-minify-whitespace@npm:^1.0.0": + version: 1.0.1 + resolution: "hast-util-minify-whitespace@npm:1.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-embedded: "npm:^3.0.0" + hast-util-is-element: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/20a7d64947e080463084f444ad09c7f28c40e7648ca2d9c6c036e42a67f8e945d352560ff599304c988257c1e477abcf6a1f508c0900211fa58ec1ba21b36533 + languageName: node + linkType: hard + +"hast-util-parse-selector@npm:^4.0.0": + version: 4.0.0 + resolution: "hast-util-parse-selector@npm:4.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/5e98168cb44470dc274aabf1a28317e4feb09b1eaf7a48bbaa8c1de1b43a89cd195cb1284e535698e658e3ec26ad91bc5e52c9563c36feb75abbc68aaf68fb9f + languageName: node + linkType: hard + +"hast-util-phrasing@npm:^3.0.0": + version: 3.0.1 + resolution: "hast-util-phrasing@npm:3.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-embedded: "npm:^3.0.0" + hast-util-has-property: "npm:^3.0.0" + hast-util-is-body-ok-link: "npm:^3.0.0" + hast-util-is-element: "npm:^3.0.0" + checksum: 10c0/d77e186ea3d7d62f6db9c4a55c3e6d9f1f6affd5f40250e8de9d73f167ae19fcc02fafe1601dfbe36e90f76ed5013ac004f0b6b398aee3a04a7a81de12788600 + languageName: node + linkType: hard + +"hast-util-raw@npm:^9.0.0": + version: 9.1.0 + resolution: "hast-util-raw@npm:9.1.0" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + hast-util-from-parse5: "npm:^8.0.0" + hast-util-to-parse5: "npm:^8.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + parse5: "npm:^7.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + web-namespaces: "npm:^2.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/d0d909d2aedecef6a06f0005cfae410d6475e6e182d768bde30c3af9fcbbe4f9beb0522bdc21d0679cb3c243c0df40385797ed255148d68b3d3f12e82d12aacc + languageName: node + linkType: hard + +"hast-util-to-estree@npm:^3.0.0": + version: 3.1.3 + resolution: "hast-util-to-estree@npm:3.1.3" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-attach-comments: "npm:^3.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + property-information: "npm:^7.0.0" + space-separated-tokens: "npm:^2.0.0" + style-to-js: "npm:^1.0.0" + unist-util-position: "npm:^5.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/8e86c075319082c8a6304c5bcdf24ec02466074571e993f58bfa2cfd70850ef46d33b5c402208597a87fe0f02f1e620bda5958217efb1b7396c81c486373b75f + languageName: node + linkType: hard + +"hast-util-to-html@npm:^9.0.0": + version: 9.0.5 + resolution: "hast-util-to-html@npm:9.0.5" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-whitespace: "npm:^3.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + property-information: "npm:^7.0.0" + space-separated-tokens: "npm:^2.0.0" + stringify-entities: "npm:^4.0.0" + zwitch: "npm:^2.0.4" + checksum: 10c0/b7a08c30bab4371fc9b4a620965c40b270e5ae7a8e94cf885f43b21705179e28c8e43b39c72885d1647965fb3738654e6962eb8b58b0c2a84271655b4d748836 + languageName: node + linkType: hard + +"hast-util-to-jsx-runtime@npm:^2.0.0": + version: 2.3.6 + resolution: "hast-util-to-jsx-runtime@npm:2.3.6" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + property-information: "npm:^7.0.0" + space-separated-tokens: "npm:^2.0.0" + style-to-js: "npm:^1.0.0" + unist-util-position: "npm:^5.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/27297e02848fe37ef219be04a26ce708d17278a175a807689e94a821dcffc88aa506d62c3a85beed1f9a8544f7211bdcbcde0528b7b456a57c2e342c3fd11056 + languageName: node + linkType: hard + +"hast-util-to-mdast@npm:^10.1.0": + version: 10.1.2 + resolution: "hast-util-to-mdast@npm:10.1.2" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + hast-util-phrasing: "npm:^3.0.0" + hast-util-to-html: "npm:^9.0.0" + hast-util-to-text: "npm:^4.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + mdast-util-to-hast: "npm:^13.0.0" + mdast-util-to-string: "npm:^4.0.0" + rehype-minify-whitespace: "npm:^6.0.0" + trim-trailing-lines: "npm:^2.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/2edd4521b147734078d66e03cd43c571a0a3aeefd3fcc34659c783b25e9222ddb5c8c759b12a86ebc70a25b3888505dc59b913ff36ae17cca04d52050592a963 + languageName: node + linkType: hard + +"hast-util-to-parse5@npm:^8.0.0": + version: 8.0.0 + resolution: "hast-util-to-parse5@npm:8.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + devlop: "npm:^1.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + web-namespaces: "npm:^2.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/3c0c7fba026e0c4be4675daf7277f9ff22ae6da801435f1b7104f7740de5422576f1c025023c7b3df1d0a161e13a04c6ab8f98ada96eb50adb287b537849a2bd + languageName: node + linkType: hard + +"hast-util-to-text@npm:^4.0.0": + version: 4.0.2 + resolution: "hast-util-to-text@npm:4.0.2" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + hast-util-is-element: "npm:^3.0.0" + unist-util-find-after: "npm:^5.0.0" + checksum: 10c0/93ecc10e68fe5391c6e634140eb330942e71dea2724c8e0c647c73ed74a8ec930a4b77043b5081284808c96f73f2bee64ee416038ece75a63a467e8d14f09946 + languageName: node + linkType: hard + +"hast-util-whitespace@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-whitespace@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/b898bc9fe27884b272580d15260b6bbdabe239973a147e97fa98c45fa0ffec967a481aaa42291ec34fb56530dc2d484d473d7e2bae79f39c83f3762307edfea8 + languageName: node + linkType: hard + +"hastscript@npm:^9.0.0": + version: 9.0.1 + resolution: "hastscript@npm:9.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-parse-selector: "npm:^4.0.0" + property-information: "npm:^7.0.0" + space-separated-tokens: "npm:^2.0.0" + checksum: 10c0/18dc8064e5c3a7a2ae862978e626b97a254e1c8a67ee9d0c9f06d373bba155ed805fc5b5ce21b990fb7bc174624889e5e1ce1cade264f1b1d58b48f994bc85ce + languageName: node + linkType: hard + +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 + languageName: node + linkType: hard + +"history@npm:^4.9.0": + version: 4.10.1 + resolution: "history@npm:4.10.1" + dependencies: + "@babel/runtime": "npm:^7.1.2" + loose-envify: "npm:^1.2.0" + resolve-pathname: "npm:^3.0.0" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" + value-equal: "npm:^1.0.1" + checksum: 10c0/35377694e4f10f2cf056a9cb1a8ee083e04e4b4717a63baeee4afd565658a62c7e73700bf9e82aa53dbe1ec94e0a25a83c080d63bad8ee6b274a98d2fbc5ed4c + languageName: node + linkType: hard + +"hoist-non-react-statics@npm:^3.1.0": + version: 3.3.2 + resolution: "hoist-non-react-statics@npm:3.3.2" + dependencies: + react-is: "npm:^16.7.0" + checksum: 10c0/fe0889169e845d738b59b64badf5e55fa3cf20454f9203d1eb088df322d49d4318df774828e789898dcb280e8a5521bb59b3203385662ca5e9218a6ca5820e74 + languageName: node + linkType: hard + +"hpack.js@npm:^2.1.6": + version: 2.1.6 + resolution: "hpack.js@npm:2.1.6" + dependencies: + inherits: "npm:^2.0.1" + obuf: "npm:^1.0.0" + readable-stream: "npm:^2.0.1" + wbuf: "npm:^1.1.0" + checksum: 10c0/55b9e824430bab82a19d079cb6e33042d7d0640325678c9917fcc020c61d8a08ca671b6c942c7f0aae9bb6e4b67ffb50734a72f9e21d66407c3138c1983b70f0 + languageName: node + linkType: hard + +"html-entities@npm:^2.3.2": + version: 2.6.0 + resolution: "html-entities@npm:2.6.0" + checksum: 10c0/7c8b15d9ea0cd00dc9279f61bab002ba6ca8a7a0f3c36ed2db3530a67a9621c017830d1d2c1c65beb9b8e3436ea663e9cf8b230472e0e413359399413b27c8b7 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.2": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 + languageName: node + linkType: hard + +"html-minifier-terser@npm:^6.0.2": + version: 6.1.0 + resolution: "html-minifier-terser@npm:6.1.0" + dependencies: + camel-case: "npm:^4.1.2" + clean-css: "npm:^5.2.2" + commander: "npm:^8.3.0" + he: "npm:^1.2.0" + param-case: "npm:^3.0.4" + relateurl: "npm:^0.2.7" + terser: "npm:^5.10.0" + bin: + html-minifier-terser: cli.js + checksum: 10c0/1aa4e4f01cf7149e3ac5ea84fb7a1adab86da40d38d77a6fff42852b5ee3daccb78b615df97264e3a6a5c33e57f0c77f471d607ca1e1debd1dab9b58286f4b5a + languageName: node + linkType: hard + +"html-minifier-terser@npm:^7.2.0": + version: 7.2.0 + resolution: "html-minifier-terser@npm:7.2.0" + dependencies: + camel-case: "npm:^4.1.2" + clean-css: "npm:~5.3.2" + commander: "npm:^10.0.0" + entities: "npm:^4.4.0" + param-case: "npm:^3.0.4" + relateurl: "npm:^0.2.7" + terser: "npm:^5.15.1" + bin: + html-minifier-terser: cli.js + checksum: 10c0/ffc97c17299d9ec30e17269781b816ea2fc411a9206fc9e768be8f2decb1ea1470892809babb23bb4e3ab1f64d606d97e1803bf526ae3af71edc0fd3070b94b9 + languageName: node + linkType: hard + +"html-tags@npm:^3.3.1": + version: 3.3.1 + resolution: "html-tags@npm:3.3.1" + checksum: 10c0/680165e12baa51bad7397452d247dbcc5a5c29dac0e6754b1187eee3bf26f514bc1907a431dd2f7eb56207611ae595ee76a0acc8eaa0d931e72c791dd6463d79 + languageName: node + linkType: hard + +"html-void-elements@npm:^3.0.0": + version: 3.0.0 + resolution: "html-void-elements@npm:3.0.0" + checksum: 10c0/a8b9ec5db23b7c8053876dad73a0336183e6162bf6d2677376d8b38d654fdc59ba74fdd12f8812688f7db6fad451210c91b300e472afc0909224e0a44c8610d2 + languageName: node + linkType: hard + +"html-webpack-plugin@npm:^5.6.0": + version: 5.6.3 + resolution: "html-webpack-plugin@npm:5.6.3" + dependencies: + "@types/html-minifier-terser": "npm:^6.0.0" + html-minifier-terser: "npm:^6.0.2" + lodash: "npm:^4.17.21" + pretty-error: "npm:^4.0.0" + tapable: "npm:^2.0.0" + peerDependencies: + "@rspack/core": 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + "@rspack/core": + optional: true + webpack: + optional: true + checksum: 10c0/25a21f83a8823d3711396dd8050bc0080c0ae55537352d432903eff58a7d9838fc811e3c26462419036190720357e67c7977efd106fb9a252770632824f0cc25 + languageName: node + linkType: hard + +"htmlparser2@npm:^6.1.0": + version: 6.1.0 + resolution: "htmlparser2@npm:6.1.0" + dependencies: + domelementtype: "npm:^2.0.1" + domhandler: "npm:^4.0.0" + domutils: "npm:^2.5.2" + entities: "npm:^2.0.0" + checksum: 10c0/3058499c95634f04dc66be8c2e0927cd86799413b2d6989d8ae542ca4dbf5fa948695d02c27d573acf44843af977aec6d9a7bdd0f6faa6b2d99e2a729b2a31b6 + languageName: node + linkType: hard + +"htmlparser2@npm:^8.0.1": + version: 8.0.2 + resolution: "htmlparser2@npm:8.0.2" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.0.1" + entities: "npm:^4.4.0" + checksum: 10c0/609cca85886d0bf2c9a5db8c6926a89f3764596877492e2caa7a25a789af4065bc6ee2cdc81807fe6b1d03a87bf8a373b5a754528a4cc05146b713c20575aab4 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 + languageName: node + linkType: hard + +"http-deceiver@npm:^1.2.7": + version: 1.2.7 + resolution: "http-deceiver@npm:1.2.7" + checksum: 10c0/8bb9b716f5fc55f54a451da7f49b9c695c3e45498a789634daec26b61e4add7c85613a4a9e53726c39d09de7a163891ecd6eb5809adb64500a840fd86fe81d03 + languageName: node + linkType: hard + +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: "npm:2.0.0" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + toidentifier: "npm:1.0.1" + checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 + languageName: node + linkType: hard + +"http-errors@npm:~1.6.2": + version: 1.6.3 + resolution: "http-errors@npm:1.6.3" + dependencies: + depd: "npm:~1.1.2" + inherits: "npm:2.0.3" + setprototypeof: "npm:1.1.0" + statuses: "npm:>= 1.4.0 < 2" + checksum: 10c0/17ec4046ee974477778bfdd525936c254b872054703ec2caa4d6f099566b8adade636ae6aeeacb39302c5cd6e28fb407ebd937f500f5010d0b6850750414ff78 + languageName: node + linkType: hard + +"http-parser-js@npm:>=0.5.1": + version: 0.5.10 + resolution: "http-parser-js@npm:0.5.10" + checksum: 10c0/8bbcf1832a8d70b2bd515270112116333add88738a2cc05bfb94ba6bde3be4b33efee5611584113818d2bcf654fdc335b652503be5a6b4c0b95e46f214187d93 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"http-proxy-middleware@npm:^2.0.3": + version: 2.0.9 + resolution: "http-proxy-middleware@npm:2.0.9" + dependencies: + "@types/http-proxy": "npm:^1.17.8" + http-proxy: "npm:^1.18.1" + is-glob: "npm:^4.0.1" + is-plain-obj: "npm:^3.0.0" + micromatch: "npm:^4.0.2" + peerDependencies: + "@types/express": ^4.17.13 + peerDependenciesMeta: + "@types/express": + optional: true + checksum: 10c0/8e9032af625f7c9f2f0d318f6cdb14eb725cc16ffe7b4ccccea25cf591fa819bb7c3bb579e0b543e0ae9c73059b505a6d728290c757bff27bae526a6ed11c05e + languageName: node + linkType: hard + +"http-proxy@npm:^1.18.1": + version: 1.18.1 + resolution: "http-proxy@npm:1.18.1" + dependencies: + eventemitter3: "npm:^4.0.0" + follow-redirects: "npm:^1.0.0" + requires-port: "npm:^1.0.0" + checksum: 10c0/148dfa700a03fb421e383aaaf88ac1d94521dfc34072f6c59770528c65250983c2e4ec996f2f03aa9f3fe46cd1270a593126068319311e3e8d9e610a37533e94 + languageName: node + linkType: hard + +"http2-wrapper@npm:^2.1.10": + version: 2.2.1 + resolution: "http2-wrapper@npm:2.2.1" + dependencies: + quick-lru: "npm:^5.1.1" + resolve-alpn: "npm:^1.2.0" + checksum: 10c0/7207201d3c6e53e72e510c9b8912e4f3e468d3ecc0cf3bf52682f2aac9cd99358b896d1da4467380adc151cf97c412bedc59dc13dae90c523f42053a7449eedb + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": + version: 5.1.0 + resolution: "icss-utils@npm:5.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/39c92936fabd23169c8611d2b5cc39e39d10b19b0d223352f20a7579f75b39d5f786114a6b8fc62bee8c5fed59ba9e0d38f7219a4db383e324fb3061664b043d + languageName: node + linkType: hard + +"ignore@npm:^5.2.0, ignore@npm:^5.2.4": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + +"image-size@npm:^1.0.2": + version: 1.2.1 + resolution: "image-size@npm:1.2.1" + dependencies: + queue: "npm:6.0.2" + bin: + image-size: bin/image-size.js + checksum: 10c0/f8b3c19d4476513f1d7e55c3e6db80997b315444743e2040d545cbcaee59be03d2eb40c46be949a8372697b7003fdb0c04925d704390a7f606bc8181e25c0ed4 + languageName: node + linkType: hard + +"immer@npm:^9.0.7": + version: 9.0.21 + resolution: "immer@npm:9.0.21" + checksum: 10c0/03ea3ed5d4d72e8bd428df4a38ad7e483ea8308e9a113d3b42e0ea2cc0cc38340eb0a6aca69592abbbf047c685dbda04e3d34bf2ff438ab57339ed0a34cc0a05 + languageName: node + linkType: hard + +"import-fresh@npm:^3.1.0, import-fresh@npm:^3.3.0": + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/bf8cc494872fef783249709385ae883b447e3eb09db0ebd15dcead7d9afe7224dad7bd7591c6b73b0b19b3c0f9640eb8ee884f01cfaf2887ab995b0b36a0cbec + languageName: node + linkType: hard + +"import-lazy@npm:^4.0.0": + version: 4.0.0 + resolution: "import-lazy@npm:4.0.0" + checksum: 10c0/a3520313e2c31f25c0b06aa66d167f329832b68a4f957d7c9daf6e0fa41822b6e84948191648b9b9d8ca82f94740cdf15eecf2401a5b42cd1c33fd84f2225cca + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"infima@npm:0.2.0-alpha.45": + version: 0.2.0-alpha.45 + resolution: "infima@npm:0.2.0-alpha.45" + checksum: 10c0/b50d103f6864687742067414d09392ccf3be363cf27503925a943ff56bb2392118e2bfdb6b2f89933417015e1770e58f81b2b0caf823f2adfb67f32b1702d469 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 10c0/6e56402373149ea076a434072671f9982f5fad030c7662be0332122fe6c0fa490acb3cc1010d90b6eff8d640b1167d77674add52dfd1bb85d545cf29e80e73e7 + languageName: node + linkType: hard + +"ini@npm:2.0.0": + version: 2.0.0 + resolution: "ini@npm:2.0.0" + checksum: 10c0/2e0c8f386369139029da87819438b20a1ff3fe58372d93fb1a86e9d9344125ace3a806b8ec4eb160a46e64cbc422fe68251869441676af49b7fc441af2389c25 + languageName: node + linkType: hard + +"ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + +"inline-style-parser@npm:0.2.4": + version: 0.2.4 + resolution: "inline-style-parser@npm:0.2.4" + checksum: 10c0/ddc0b210eaa03e0f98d677b9836242c583c7c6051e84ce0e704ae4626e7871c5b78f8e30853480218b446355745775df318d4f82d33087ff7e393245efa9a881 + languageName: node + linkType: hard + +"interpret@npm:^1.0.0": + version: 1.4.0 + resolution: "interpret@npm:1.4.0" + checksum: 10c0/08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 + languageName: node + linkType: hard + +"invariant@npm:^2.2.4": + version: 2.2.4 + resolution: "invariant@npm:2.2.4" + dependencies: + loose-envify: "npm:^1.0.0" + checksum: 10c0/5af133a917c0bcf65e84e7f23e779e7abc1cd49cb7fdc62d00d1de74b0d8c1b5ee74ac7766099fb3be1b05b26dfc67bab76a17030d2fe7ea2eef867434362dfc + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a + languageName: node + linkType: hard + +"ipaddr.js@npm:^2.0.1": + version: 2.2.0 + resolution: "ipaddr.js@npm:2.2.0" + checksum: 10c0/e4ee875dc1bd92ac9d27e06cfd87cdb63ca786ff9fd7718f1d4f7a8ef27db6e5d516128f52d2c560408cbb75796ac2f83ead669e73507c86282d45f84c5abbb6 + languageName: node + linkType: hard + +"is-alphabetical@npm:^2.0.0": + version: 2.0.1 + resolution: "is-alphabetical@npm:2.0.1" + checksum: 10c0/932367456f17237533fd1fc9fe179df77957271020b83ea31da50e5cc472d35ef6b5fb8147453274ffd251134472ce24eb6f8d8398d96dee98237cdb81a6c9a7 + languageName: node + linkType: hard + +"is-alphanumerical@npm:^2.0.0": + version: 2.0.1 + resolution: "is-alphanumerical@npm:2.0.1" + dependencies: + is-alphabetical: "npm:^2.0.0" + is-decimal: "npm:^2.0.0" + checksum: 10c0/4b35c42b18e40d41378293f82a3ecd9de77049b476f748db5697c297f686e1e05b072a6aaae2d16f54d2a57f85b00cbbe755c75f6d583d1c77d6657bd0feb5a2 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-ci@npm:^3.0.1": + version: 3.0.1 + resolution: "is-ci@npm:3.0.1" + dependencies: + ci-info: "npm:^3.2.0" + bin: + is-ci: bin.js + checksum: 10c0/0e81caa62f4520d4088a5bef6d6337d773828a88610346c4b1119fb50c842587ed8bef1e5d9a656835a599e7209405b5761ddf2339668f2d0f4e889a92fe6051 + languageName: node + linkType: hard + +"is-core-module@npm:^2.16.0": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd + languageName: node + linkType: hard + +"is-decimal@npm:^2.0.0": + version: 2.0.1 + resolution: "is-decimal@npm:2.0.1" + checksum: 10c0/8085dd66f7d82f9de818fba48b9e9c0429cb4291824e6c5f2622e96b9680b54a07a624cfc663b24148b8e853c62a1c987cfe8b0b5a13f5156991afaf6736e334 + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + +"is-extendable@npm:^0.1.0": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 10c0/dd5ca3994a28e1740d1e25192e66eed128e0b2ff161a7ea348e87ae4f616554b486854de423877a2a2c171d5f7cd6e8093b91f54533bc88a59ee1c9838c43879 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-hexadecimal@npm:^2.0.0": + version: 2.0.1 + resolution: "is-hexadecimal@npm:2.0.1" + checksum: 10c0/3eb60fe2f1e2bbc760b927dcad4d51eaa0c60138cf7fc671803f66353ad90c301605b502c7ea4c6bb0548e1c7e79dfd37b73b632652e3b76030bba603a7e9626 + languageName: node + linkType: hard + +"is-installed-globally@npm:^0.4.0": + version: 0.4.0 + resolution: "is-installed-globally@npm:0.4.0" + dependencies: + global-dirs: "npm:^3.0.0" + is-path-inside: "npm:^3.0.2" + checksum: 10c0/f3e6220ee5824b845c9ed0d4b42c24272701f1f9926936e30c0e676254ca5b34d1b92c6205cae11b283776f9529212c0cdabb20ec280a6451677d6493ca9c22d + languageName: node + linkType: hard + +"is-npm@npm:^6.0.0": + version: 6.0.0 + resolution: "is-npm@npm:6.0.0" + checksum: 10c0/1f064c66325cba6e494783bee4e635caa2655aad7f853a0e045d086e0bb7d83d2d6cdf1745dc9a7c7c93dacbf816fbee1f8d9179b02d5d01674d4f92541dc0d9 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-obj@npm:^1.0.1": + version: 1.0.1 + resolution: "is-obj@npm:1.0.1" + checksum: 10c0/5003acba0af7aa47dfe0760e545a89bbac89af37c12092c3efadc755372cdaec034f130e7a3653a59eb3c1843cfc72ca71eaf1a6c3bafe5a0bab3611a47f9945 + languageName: node + linkType: hard + +"is-obj@npm:^2.0.0": + version: 2.0.0 + resolution: "is-obj@npm:2.0.0" + checksum: 10c0/85044ed7ba8bd169e2c2af3a178cacb92a97aa75de9569d02efef7f443a824b5e153eba72b9ae3aca6f8ce81955271aa2dc7da67a8b720575d3e38104208cb4e + languageName: node + linkType: hard + +"is-path-cwd@npm:^2.2.0": + version: 2.2.0 + resolution: "is-path-cwd@npm:2.2.0" + checksum: 10c0/afce71533a427a759cd0329301c18950333d7589533c2c90205bd3fdcf7b91eb92d1940493190567a433134d2128ec9325de2fd281e05be1920fbee9edd22e0a + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.2": + version: 3.0.3 + resolution: "is-path-inside@npm:3.0.3" + checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 + languageName: node + linkType: hard + +"is-plain-obj@npm:^3.0.0": + version: 3.0.0 + resolution: "is-plain-obj@npm:3.0.0" + checksum: 10c0/8e6483bfb051d42ec9c704c0ede051a821c6b6f9a6c7a3e3b55aa855e00981b0580c8f3b1f5e2e62649b39179b1abfee35d6f8086d999bfaa32c1908d29b07bc + languageName: node + linkType: hard + +"is-plain-obj@npm:^4.0.0": + version: 4.1.0 + resolution: "is-plain-obj@npm:4.1.0" + checksum: 10c0/32130d651d71d9564dc88ba7e6fda0e91a1010a3694648e9f4f47bb6080438140696d3e3e15c741411d712e47ac9edc1a8a9de1fe76f3487b0d90be06ac9975e + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: "npm:^3.0.1" + checksum: 10c0/f050fdd5203d9c81e8c4df1b3ff461c4bc64e8b5ca383bcdde46131361d0a678e80bcf00b5257646f6c636197629644d53bd8e2375aea633de09a82d57e942f4 + languageName: node + linkType: hard + +"is-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "is-regexp@npm:1.0.0" + checksum: 10c0/34cacda1901e00f6e44879378f1d2fa96320ea956c1bec27713130aaf1d44f6e7bd963eed28945bfe37e600cb27df1cf5207302680dad8bdd27b9baff8ecf611 + languageName: node + linkType: hard + +"is-root@npm:^2.1.0": + version: 2.1.0 + resolution: "is-root@npm:2.1.0" + checksum: 10c0/83d3f5b052c3f28fbdbdf0d564bdd34fa14933f5694c78704f85cd1871255bc017fbe3fe2bc2fff2d227c6be5927ad2149b135c0a7c0060e7ac4e610d81a4f01 + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + +"is-typedarray@npm:^1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 10c0/4c096275ba041a17a13cca33ac21c16bc4fd2d7d7eb94525e7cd2c2f2c1a3ab956e37622290642501ff4310601e413b675cf399ad6db49855527d2163b3eeeec + languageName: node + linkType: hard + +"is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard + +"is-yarn-global@npm:^0.4.0": + version: 0.4.1 + resolution: "is-yarn-global@npm:0.4.1" + checksum: 10c0/8ff66f33454614f8e913ad91cc4de0d88d519a46c1ed41b3f589da79504ed0fcfa304064fe3096dda9360c5f35aa210cb8e978fd36798f3118cb66a4de64d365 + languageName: node + linkType: hard + +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 10c0/ed1e62da617f71fe348907c71743b5ed550448b455f8d269f89a7c7ddb8ae6e962de3dab6a74a237b06f5eb7f6ece7a45ada8ce96d87fe972926530f91ae3311 + languageName: node + linkType: hard + +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: 10c0/03344f5064a82f099a0cd1a8a407f4c0d20b7b8485e8e816c39f249e9416b06c322e8dec5b842b6bb8a06de0af9cb48e7bc1b5352f0fadc2f0abac033db3d4db + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jest-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-util@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + graceful-fs: "npm:^4.2.9" + picomatch: "npm:^2.2.3" + checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 + languageName: node + linkType: hard + +"jest-worker@npm:^27.4.5": + version: 27.5.1 + resolution: "jest-worker@npm:27.5.1" + dependencies: + "@types/node": "npm:*" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^8.0.0" + checksum: 10c0/8c4737ffd03887b3c6768e4cc3ca0269c0336c1e4b1b120943958ddb035ed2a0fc6acab6dc99631720a3720af4e708ff84fb45382ad1e83c27946adf3623969b + languageName: node + linkType: hard + +"jest-worker@npm:^29.4.3": + version: 29.7.0 + resolution: "jest-worker@npm:29.7.0" + dependencies: + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^8.0.0" + checksum: 10c0/5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 + languageName: node + linkType: hard + +"jiti@npm:^1.20.0": + version: 1.21.7 + resolution: "jiti@npm:1.21.7" + bin: + jiti: bin/jiti.js + checksum: 10c0/77b61989c758ff32407cdae8ddc77f85e18e1a13fc4977110dbd2e05fc761842f5f71bce684d9a01316e1c4263971315a111385759951080bbfe17cbb5de8f7a + languageName: node + linkType: hard + +"joi@npm:^17.9.2": + version: 17.13.3 + resolution: "joi@npm:17.13.3" + dependencies: + "@hapi/hoek": "npm:^9.3.0" + "@hapi/topo": "npm:^5.1.0" + "@sideway/address": "npm:^4.1.5" + "@sideway/formula": "npm:^3.0.1" + "@sideway/pinpoint": "npm:^2.0.0" + checksum: 10c0/9262aef1da3f1bec5b03caf50c46368899fe03b8ff26cbe3d53af4584dd1049079fc97230bbf1500b6149db7cc765b9ee45f0deb24bb6fc3fa06229d7148c17f + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 + languageName: node + linkType: hard + +"jsesc@npm:~3.0.2": + version: 3.0.2 + resolution: "jsesc@npm:3.0.2" + bin: + jsesc: bin/jsesc + checksum: 10c0/ef22148f9e793180b14d8a145ee6f9f60f301abf443288117b4b6c53d0ecd58354898dc506ccbb553a5f7827965cd38bc5fb726575aae93c5e8915e2de8290e1 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + +"json5@npm:^2.1.2, json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"katex@npm:^0.16.0": + version: 0.16.22 + resolution: "katex@npm:0.16.22" + dependencies: + commander: "npm:^8.3.0" + bin: + katex: cli.js + checksum: 10c0/07b8b1f07ae53171b5f1ea0cf6f18841d2055825c8b11cd81cfe039afcd3af2cfc84ad033531ee3875088329105195b039c267e0dd4b0c237807e3c3b2009913 + languageName: node + linkType: hard + +"keyv@npm:^4.5.3": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b + languageName: node + linkType: hard + +"latest-version@npm:^7.0.0": + version: 7.0.0 + resolution: "latest-version@npm:7.0.0" + dependencies: + package-json: "npm:^8.1.0" + checksum: 10c0/68045f5e419e005c12e595ae19687dd88317dd0108b83a8773197876622c7e9d164fe43aacca4f434b2cba105c92848b89277f658eabc5d50e81fb743bbcddb1 + languageName: node + linkType: hard + +"launch-editor@npm:^2.6.0": + version: 2.10.0 + resolution: "launch-editor@npm:2.10.0" + dependencies: + picocolors: "npm:^1.0.0" + shell-quote: "npm:^1.8.1" + checksum: 10c0/8b5a26be6b0da1da039ed2254b837dea0651a6406ea4dc4c9a5b28ea72862f1b12880135c495baf9d8a08997473b44034172506781744cf82e155451a40b7d51 + languageName: node + linkType: hard + +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df + languageName: node + linkType: hard + +"lilconfig@npm:^3.1.1": + version: 3.1.3 + resolution: "lilconfig@npm:3.1.3" + checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"loader-runner@npm:^4.2.0": + version: 4.3.0 + resolution: "loader-runner@npm:4.3.0" + checksum: 10c0/a44d78aae0907a72f73966fe8b82d1439c8c485238bd5a864b1b9a2a3257832effa858790241e6b37876b5446a78889adf2fcc8dd897ce54c089ecc0a0ce0bf0 + languageName: node + linkType: hard + +"loader-utils@npm:^2.0.0": + version: 2.0.4 + resolution: "loader-utils@npm:2.0.4" + dependencies: + big.js: "npm:^5.2.2" + emojis-list: "npm:^3.0.0" + json5: "npm:^2.1.2" + checksum: 10c0/d5654a77f9d339ec2a03d88221a5a695f337bf71eb8dea031b3223420bb818964ba8ed0069145c19b095f6c8b8fd386e602a3fc7ca987042bd8bb1dcc90d7100 + languageName: node + linkType: hard + +"loader-utils@npm:^3.2.0": + version: 3.3.1 + resolution: "loader-utils@npm:3.3.1" + checksum: 10c0/f2af4eb185ac5bf7e56e1337b666f90744e9f443861ac521b48f093fb9e8347f191c8960b4388a3365147d218913bc23421234e7788db69f385bacfefa0b4758 + languageName: node + linkType: hard + +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: "npm:^3.0.0" + path-exists: "npm:^3.0.0" + checksum: 10c0/3db394b7829a7fe2f4fbdd25d3c4689b85f003c318c5da4052c7e56eed697da8f1bce5294f685c69ff76e32cba7a33629d94396976f6d05fb7f4c755c5e2ae8b + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"locate-path@npm:^7.1.0": + version: 7.2.0 + resolution: "locate-path@npm:7.2.0" + dependencies: + p-locate: "npm:^6.0.0" + checksum: 10c0/139e8a7fe11cfbd7f20db03923cacfa5db9e14fa14887ea121345597472b4a63c1a42a8a5187defeeff6acf98fd568da7382aa39682d38f0af27433953a97751 + languageName: node + linkType: hard + +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: 10c0/762998a63e095412b6099b8290903e0a8ddcb353ac6e2e0f2d7e7d03abd4275fe3c689d88960eb90b0dde4f177554d51a690f22a343932ecbc50a5d111849987 + languageName: node + linkType: hard + +"lodash.memoize@npm:^4.1.2": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 + languageName: node + linkType: hard + +"lodash.uniq@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.uniq@npm:4.5.0" + checksum: 10c0/262d400bb0952f112162a320cc4a75dea4f66078b9e7e3075ffbc9c6aa30b3e9df3cf20e7da7d566105e1ccf7804e4fbd7d804eee0b53de05d83f16ffbf41c5e + languageName: node + linkType: hard + +"lodash@npm:^4.17.20, lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"longest-streak@npm:^3.0.0": + version: 3.1.0 + resolution: "longest-streak@npm:3.1.0" + checksum: 10c0/7c2f02d0454b52834d1bcedef79c557bd295ee71fdabb02d041ff3aa9da48a90b5df7c0409156dedbc4df9b65da18742652aaea4759d6ece01f08971af6a7eaa + languageName: node + linkType: hard + +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"lower-case@npm:^2.0.2": + version: 2.0.2 + resolution: "lower-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/3d925e090315cf7dc1caa358e0477e186ffa23947740e4314a7429b6e62d72742e0bbe7536a5ae56d19d7618ce998aba05caca53c2902bd5742fdca5fc57fd7b + languageName: node + linkType: hard + +"lowercase-keys@npm:^3.0.0": + version: 3.0.0 + resolution: "lowercase-keys@npm:3.0.0" + checksum: 10c0/ef62b9fa5690ab0a6e4ef40c94efce68e3ed124f583cc3be38b26ff871da0178a28b9a84ce0c209653bb25ca135520ab87fea7cd411a54ac4899cb2f30501430 + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^4.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 + languageName: node + linkType: hard + +"markdown-extensions@npm:^2.0.0": + version: 2.0.0 + resolution: "markdown-extensions@npm:2.0.0" + checksum: 10c0/406139da2aa0d5ebad86195c8e8c02412f873c452b4c087ae7bc767af37956141be449998223bb379eea179b5fd38dfa610602b6f29c22ddab5d51e627a7e41d + languageName: node + linkType: hard + +"markdown-table@npm:^2.0.0": + version: 2.0.0 + resolution: "markdown-table@npm:2.0.0" + dependencies: + repeat-string: "npm:^1.0.0" + checksum: 10c0/f257e0781ea50eb946919df84bdee4ba61f983971b277a369ca7276f89740fd0e2749b9b187163a42df4c48682b71962d4007215ce3523480028f06c11ddc2e6 + languageName: node + linkType: hard + +"markdown-table@npm:^3.0.0": + version: 3.0.4 + resolution: "markdown-table@npm:3.0.4" + checksum: 10c0/1257b31827629a54c24a5030a3dac952256c559174c95ce3ef89bebd6bff0cb1444b1fd667b1a1bb53307f83278111505b3e26f0c4e7b731e0060d435d2d930b + languageName: node + linkType: hard + +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + +"mdast-util-definition-list@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-definition-list@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.1" + "@types/unist": "npm:^3.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-hast: "npm:^13.0.2" + mdast-util-to-markdown: "npm:^2.1.0" + micromark-extension-definition-list: "npm:^2.0.0" + unist-builder: "npm:^4.0.0" + checksum: 10c0/ece475bd485598b8a2c4fd24ef26832abebd8cc081dab099db857a7010fac75eb74543507ec5af7d99207626378d9be8631b3144842a3b8724e45b2bfc20b18e + languageName: node + linkType: hard + +"mdast-util-directive@npm:^3.0.0": + version: 3.1.0 + resolution: "mdast-util-directive@npm:3.1.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + parse-entities: "npm:^4.0.0" + stringify-entities: "npm:^4.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/596b093b940197cf43af4d0de12e82a1d2b1eb5add73dd16077aa80e0d0e1f208ea642c420726e59ccd352c193d6ecd5c106d6fab769f252617c75333f91a314 + languageName: node + linkType: hard + +"mdast-util-find-and-replace@npm:^3.0.0, mdast-util-find-and-replace@npm:^3.0.1": + version: 3.0.2 + resolution: "mdast-util-find-and-replace@npm:3.0.2" + dependencies: + "@types/mdast": "npm:^4.0.0" + escape-string-regexp: "npm:^5.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/c8417a35605d567772ff5c1aa08363ff3010b0d60c8ea68c53cba09bf25492e3dd261560425c1756535f3b7107f62e7ff3857cdd8fb1e62d1b2cc2ea6e074ca2 + languageName: node + linkType: hard + +"mdast-util-from-markdown@npm:^2.0.0": + version: 2.0.2 + resolution: "mdast-util-from-markdown@npm:2.0.2" + dependencies: + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + decode-named-character-reference: "npm:^1.0.0" + devlop: "npm:^1.0.0" + mdast-util-to-string: "npm:^4.0.0" + micromark: "npm:^4.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-decode-string: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-stringify-position: "npm:^4.0.0" + checksum: 10c0/76eb2bd2c6f7a0318087c73376b8af6d7561c1e16654e7667e640f391341096c56142618fd0ff62f6d39e5ab4895898b9789c84cd7cec2874359a437a0e1ff15 + languageName: node + linkType: hard + +"mdast-util-frontmatter@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-frontmatter@npm:2.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + escape-string-regexp: "npm:^5.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-extension-frontmatter: "npm:^2.0.0" + checksum: 10c0/d9b0b70dd9c574cc0220d4e05dd8e9d86ac972a6a5af9e0c49c839b31cb750d4313445cfbbdf9264a7fbe3f8c8d920b45358b8500f4286e6b9dc830095b25b9a + languageName: node + linkType: hard + +"mdast-util-gfm-autolink-literal@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-gfm-autolink-literal@npm:2.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + ccount: "npm:^2.0.0" + devlop: "npm:^1.0.0" + mdast-util-find-and-replace: "npm:^3.0.0" + micromark-util-character: "npm:^2.0.0" + checksum: 10c0/963cd22bd42aebdec7bdd0a527c9494d024d1ad0739c43dc040fee35bdfb5e29c22564330a7418a72b5eab51d47a6eff32bc0255ef3ccb5cebfe8970e91b81b6 + languageName: node + linkType: hard + +"mdast-util-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "mdast-util-gfm-footnote@npm:2.1.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + checksum: 10c0/8ab965ee6be3670d76ec0e95b2ba3101fc7444eec47564943ab483d96ac17d29da2a4e6146a2a288be30c21b48c4f3938a1e54b9a46fbdd321d49a5bc0077ed0 + languageName: node + linkType: hard + +"mdast-util-gfm-strikethrough@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-strikethrough@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/b053e93d62c7545019bd914271ea9e5667ad3b3b57d16dbf68e56fea39a7e19b4a345e781312714eb3d43fdd069ff7ee22a3ca7f6149dfa774554f19ce3ac056 + languageName: node + linkType: hard + +"mdast-util-gfm-table@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-table@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + markdown-table: "npm:^3.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/128af47c503a53bd1c79f20642561e54a510ad5e2db1e418d28fefaf1294ab839e6c838e341aef5d7e404f9170b9ca3d1d89605f234efafde93ee51174a6e31e + languageName: node + linkType: hard + +"mdast-util-gfm-task-list-item@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-task-list-item@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/258d725288482b636c0a376c296431390c14b4f29588675297cb6580a8598ed311fc73ebc312acfca12cc8546f07a3a285a53a3b082712e2cbf5c190d677d834 + languageName: node + linkType: hard + +"mdast-util-gfm@npm:^3.0.0": + version: 3.1.0 + resolution: "mdast-util-gfm@npm:3.1.0" + dependencies: + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-gfm-autolink-literal: "npm:^2.0.0" + mdast-util-gfm-footnote: "npm:^2.0.0" + mdast-util-gfm-strikethrough: "npm:^2.0.0" + mdast-util-gfm-table: "npm:^2.0.0" + mdast-util-gfm-task-list-item: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/4bedcfb6a20e39901c8772f0d2bb2d7a64ae87a54c13cbd92eec062cf470fbb68c2ad754e149af5b30794e2de61c978ab1de1ace03c0c40f443ca9b9b8044f81 + languageName: node + linkType: hard + +"mdast-util-math@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-math@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + longest-streak: "npm:^3.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.1.0" + unist-util-remove-position: "npm:^5.0.0" + checksum: 10c0/d4e839e38719f26872ed78aac18339805a892f1b56585a9cb8668f34e221b4f0660b9dfe49ec96dbbe79fd1b63b648608a64046d8286bcd2f9d576e80b48a0a1 + languageName: node + linkType: hard + +"mdast-util-mdx-expression@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdx-expression@npm:2.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/9a1e57940f66431f10312fa239096efa7627f375e7933b5d3162c0b5c1712a72ac87447aff2b6838d2bbd5c1311b188718cc90b33b67dc67a88550e0a6ef6183 + languageName: node + linkType: hard + +"mdast-util-mdx-jsx@npm:^3.0.0": + version: 3.2.0 + resolution: "mdast-util-mdx-jsx@npm:3.2.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + parse-entities: "npm:^4.0.0" + stringify-entities: "npm:^4.0.0" + unist-util-stringify-position: "npm:^4.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/3acadaf3b962254f7ad2990fed4729961dc0217ca31fde9917986e880843f3ecf3392b1f22d569235cacd180d50894ad266db7af598aedca69d330d33c7ac613 + languageName: node + linkType: hard + +"mdast-util-mdx@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-mdx@npm:3.0.0" + dependencies: + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/4faea13f77d6bc9aa64ee41a5e4779110b73444a17fda363df6ebe880ecfa58b321155b71f8801c3faa6d70d6222a32a00cbd6dbf5fad8db417f4688bc9c74e1 + languageName: node + linkType: hard + +"mdast-util-mdxjs-esm@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdxjs-esm@npm:2.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/5bda92fc154141705af2b804a534d891f28dac6273186edf1a4c5e3f045d5b01dbcac7400d27aaf91b7e76e8dce007c7b2fdf136c11ea78206ad00bdf9db46bc + languageName: node + linkType: hard + +"mdast-util-phrasing@npm:^4.0.0, mdast-util-phrasing@npm:^4.1.0": + version: 4.1.0 + resolution: "mdast-util-phrasing@npm:4.1.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/bf6c31d51349aa3d74603d5e5a312f59f3f65662ed16c58017169a5fb0f84ca98578f626c5ee9e4aa3e0a81c996db8717096705521bddb4a0185f98c12c9b42f + languageName: node + linkType: hard + +"mdast-util-to-hast@npm:^13.0.0, mdast-util-to-hast@npm:^13.0.2": + version: 13.2.0 + resolution: "mdast-util-to-hast@npm:13.2.0" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + trim-lines: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/9ee58def9287df8350cbb6f83ced90f9c088d72d4153780ad37854f87144cadc6f27b20347073b285173b1649b0723ddf0b9c78158608a804dcacb6bda6e1816 + languageName: node + linkType: hard + +"mdast-util-to-markdown@npm:^2.0.0, mdast-util-to-markdown@npm:^2.1.0": + version: 2.1.2 + resolution: "mdast-util-to-markdown@npm:2.1.2" + dependencies: + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + longest-streak: "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + mdast-util-to-string: "npm:^4.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-decode-string: "npm:^2.0.0" + unist-util-visit: "npm:^5.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/4649722a6099f12e797bd8d6469b2b43b44e526b5182862d9c7766a3431caad2c0112929c538a972f214e63c015395e5d3f54bd81d9ac1b16e6d8baaf582f749 + languageName: node + linkType: hard + +"mdast-util-to-string@npm:^4.0.0": + version: 4.0.0 + resolution: "mdast-util-to-string@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + checksum: 10c0/2d3c1af29bf3fe9c20f552ee9685af308002488f3b04b12fa66652c9718f66f41a32f8362aa2d770c3ff464c034860b41715902ada2306bb0a055146cef064d7 + languageName: node + linkType: hard + +"mdn-data@npm:2.0.28": + version: 2.0.28 + resolution: "mdn-data@npm:2.0.28" + checksum: 10c0/20000932bc4cd1cde9cba4e23f08cc4f816398af4c15ec81040ed25421d6bf07b5cf6b17095972577fb498988f40f4cb589e3169b9357bb436a12d8e07e5ea7b + languageName: node + linkType: hard + +"mdn-data@npm:2.0.30": + version: 2.0.30 + resolution: "mdn-data@npm:2.0.30" + checksum: 10c0/a2c472ea16cee3911ae742593715aa4c634eb3d4b9f1e6ada0902aa90df13dcbb7285d19435f3ff213ebaa3b2e0c0265c1eb0e3fb278fda7f8919f046a410cd9 + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 + languageName: node + linkType: hard + +"memfs@npm:^3.1.2, memfs@npm:^3.4.3": + version: 3.6.0 + resolution: "memfs@npm:3.6.0" + dependencies: + fs-monkey: "npm:^1.0.4" + checksum: 10c0/af567f9038bbb5bbacf100b35d5839e90a89f882d191d8a1c7002faeb224c6cfcebd0e97c0150e9af8be95ec7b5b75a52af56fcd109d0bc18807c1f4e004f053 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.3": + version: 1.0.3 + resolution: "merge-descriptors@npm:1.0.3" + checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 + languageName: node + linkType: hard + +"micromark-core-commonmark@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-core-commonmark@npm:2.0.3" + dependencies: + decode-named-character-reference: "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-factory-destination: "npm:^2.0.0" + micromark-factory-label: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-factory-title: "npm:^2.0.0" + micromark-factory-whitespace: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-html-tag-name: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-subtokenize: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bd4a794fdc9e88dbdf59eaf1c507ddf26e5f7ddf4e52566c72239c0f1b66adbcd219ba2cd42350debbe24471434d5f5e50099d2b3f4e5762ca222ba8e5b549ee + languageName: node + linkType: hard + +"micromark-extension-definition-list@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-extension-definition-list@npm:2.0.1" + dependencies: + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.1" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + ts-dedent: "npm:^2.2.0" + checksum: 10c0/0dc542965cf351712855c631ba415bf9c9fbd93fcdaaf5f13e3df88a1c584772bd0a7d8d14ae75680192ed465db96a015114ff43f56e16773e82f65a51a28f98 + languageName: node + linkType: hard + +"micromark-extension-directive@npm:^3.0.0": + version: 3.0.2 + resolution: "micromark-extension-directive@npm:3.0.2" + dependencies: + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-factory-whitespace: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + parse-entities: "npm:^4.0.0" + checksum: 10c0/74137485375f02c1b640c2120dd6b9f6aa1e39ca5cd2463df7974ef1cc80203f5ef90448ce009973355a49ba169ef1441eabe57a36877c7b86373788612773da + languageName: node + linkType: hard + +"micromark-extension-frontmatter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-frontmatter@npm:2.0.0" + dependencies: + fault: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/7d0d876e598917a67146d29f536d6fbbf9d1b2401a77e2f64a3f80f934a63ff26fa94b01759c9185c24b2a91e4e6abf908fa7aa246f00a7778a6b37a17464300 + languageName: node + linkType: hard + +"micromark-extension-gfm-autolink-literal@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-autolink-literal@npm:2.1.0" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/84e6fbb84ea7c161dfa179665dc90d51116de4c28f3e958260c0423e5a745372b7dcbc87d3cde98213b532e6812f847eef5ae561c9397d7f7da1e59872ef3efe + languageName: node + linkType: hard + +"micromark-extension-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-footnote@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/d172e4218968b7371b9321af5cde8c77423f73b233b2b0fcf3ff6fd6f61d2e0d52c49123a9b7910612478bf1f0d5e88c75a3990dd68f70f3933fe812b9f77edc + languageName: node + linkType: hard + +"micromark-extension-gfm-strikethrough@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-strikethrough@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/ef4f248b865bdda71303b494671b7487808a340b25552b11ca6814dff3fcfaab9be8d294643060bbdb50f79313e4a686ab18b99cbe4d3ee8a4170fcd134234fb + languageName: node + linkType: hard + +"micromark-extension-gfm-table@npm:^2.0.0": + version: 2.1.1 + resolution: "micromark-extension-gfm-table@npm:2.1.1" + dependencies: + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/04bc00e19b435fa0add62cd029d8b7eb6137522f77832186b1d5ef34544a9bd030c9cf85e92ddfcc5c31f6f0a58a43d4b96dba4fc21316037c734630ee12c912 + languageName: node + linkType: hard + +"micromark-extension-gfm-tagfilter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/995558843fff137ae4e46aecb878d8a4691cdf23527dcf1e2f0157d66786be9f7bea0109c52a8ef70e68e3f930af811828ba912239438e31a9cfb9981f44d34d + languageName: node + linkType: hard + +"micromark-extension-gfm-task-list-item@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-task-list-item@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/78aa537d929e9309f076ba41e5edc99f78d6decd754b6734519ccbbfca8abd52e1c62df68d41a6ae64d2a3fc1646cea955893c79680b0b4385ced4c52296181f + languageName: node + linkType: hard + +"micromark-extension-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-gfm@npm:3.0.0" + dependencies: + micromark-extension-gfm-autolink-literal: "npm:^2.0.0" + micromark-extension-gfm-footnote: "npm:^2.0.0" + micromark-extension-gfm-strikethrough: "npm:^2.0.0" + micromark-extension-gfm-table: "npm:^2.0.0" + micromark-extension-gfm-tagfilter: "npm:^2.0.0" + micromark-extension-gfm-task-list-item: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/970e28df6ebdd7c7249f52a0dda56e0566fbfa9ae56c8eeeb2445d77b6b89d44096880cd57a1c01e7821b1f4e31009109fbaca4e89731bff7b83b8519690e5d9 + languageName: node + linkType: hard + +"micromark-extension-math@npm:^3.0.0": + version: 3.1.0 + resolution: "micromark-extension-math@npm:3.1.0" + dependencies: + "@types/katex": "npm:^0.16.0" + devlop: "npm:^1.0.0" + katex: "npm:^0.16.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/56e6f2185a4613f9d47e7e98cf8605851c990957d9229c942b005e286c8087b61dc9149448d38b2f8be6d42cc6a64aad7e1f2778ddd86fbbb1a2f48a3ca1872f + languageName: node + linkType: hard + +"micromark-extension-mdx-expression@npm:^3.0.0": + version: 3.0.1 + resolution: "micromark-extension-mdx-expression@npm:3.0.1" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/4d8cc5353b083b06bd51c98389de9c198261a5b2b440b75e85000a18d10511f21ba77538d6dfde0e0589df9de3fba9a1d14c2448d30c92d6b461c26d86e397f4 + languageName: node + linkType: hard + +"micromark-extension-mdx-jsx@npm:^3.0.0": + version: 3.0.2 + resolution: "micromark-extension-mdx-jsx@npm:3.0.2" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/5693b2e51934ac29a6aab521eaa2151f891d1fe092550bbd4ce24e4dd7567c1421a54f5e585a57dfa1769a79570f6df57ddd7a98bf0889dd11d495847a266dd7 + languageName: node + linkType: hard + +"micromark-extension-mdx-md@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-mdx-md@npm:2.0.0" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bae91c61273de0e5ba80a980c03470e6cd9d7924aa936f46fbda15d780704d9386e945b99eda200e087b96254fbb4271a9545d5ce02676cd6ae67886a8bf82df + languageName: node + linkType: hard + +"micromark-extension-mdxjs-esm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs-esm@npm:3.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/13e3f726495a960650cdedcba39198ace5bdc953ccb12c14d71fc9ed9bb88e40cc3ba9231e973f6984da3b3573e7ddb23ce409f7c16f52a8d57b608bf46c748d + languageName: node + linkType: hard + +"micromark-extension-mdxjs@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs@npm:3.0.0" + dependencies: + acorn: "npm:^8.0.0" + acorn-jsx: "npm:^5.0.0" + micromark-extension-mdx-expression: "npm:^3.0.0" + micromark-extension-mdx-jsx: "npm:^3.0.0" + micromark-extension-mdx-md: "npm:^2.0.0" + micromark-extension-mdxjs-esm: "npm:^3.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/fd84f036ddad0aabbc12e7f1b3e9dcfe31573bbc413c5ae903779ef0366d7a4c08193547e7ba75718c9f45654e45f52e575cfc2f23a5f89205a8a70d9a506aea + languageName: node + linkType: hard + +"micromark-factory-destination@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-destination@npm:2.0.1" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bbafcf869cee5bf511161354cb87d61c142592fbecea051000ff116068dc85216e6d48519d147890b9ea5d7e2864a6341c0c09d9948c203bff624a80a476023c + languageName: node + linkType: hard + +"micromark-factory-label@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-label@npm:2.0.1" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/0137716b4ecb428114165505e94a2f18855c8bbea21b07a8b5ce514b32a595ed789d2b967125718fc44c4197ceaa48f6609d58807a68e778138d2e6b91b824e8 + languageName: node + linkType: hard + +"micromark-factory-mdx-expression@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-factory-mdx-expression@npm:2.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/a6004ef6272dd01a5d718f2affd7bfb5e08f0849340f5fd96ac823fbc5e9d3b3343acedda50805873ccda5e3b8af4d5fbb302abc874544044ac90c217345cf97 + languageName: node + linkType: hard + +"micromark-factory-space@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-factory-space@npm:1.1.0" + dependencies: + micromark-util-character: "npm:^1.0.0" + micromark-util-types: "npm:^1.0.0" + checksum: 10c0/3da81187ce003dd4178c7adc4674052fb8befc8f1a700ae4c8227755f38581a4ae963866dc4857488d62d1dc9837606c9f2f435fa1332f62a0f1c49b83c6a822 + languageName: node + linkType: hard + +"micromark-factory-space@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-space@npm:2.0.1" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/f9ed43f1c0652d8d898de0ac2be3f77f776fffe7dd96bdbba1e02d7ce33d3853c6ff5daa52568fc4fa32cdf3a62d86b85ead9b9189f7211e1d69ff2163c450fb + languageName: node + linkType: hard + +"micromark-factory-title@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-title@npm:2.0.1" + dependencies: + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/e72fad8d6e88823514916890099a5af20b6a9178ccf78e7e5e05f4de99bb8797acb756257d7a3a57a53854cb0086bf8aab15b1a9e9db8982500dd2c9ff5948b6 + languageName: node + linkType: hard + +"micromark-factory-whitespace@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-whitespace@npm:2.0.1" + dependencies: + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/20a1ec58698f24b766510a309b23a10175034fcf1551eaa9da3adcbed3e00cd53d1ebe5f030cf873f76a1cec3c34eb8c50cc227be3344caa9ed25d56cf611224 + languageName: node + linkType: hard + +"micromark-util-character@npm:^1.0.0, micromark-util-character@npm:^1.1.0": + version: 1.2.0 + resolution: "micromark-util-character@npm:1.2.0" + dependencies: + micromark-util-symbol: "npm:^1.0.0" + micromark-util-types: "npm:^1.0.0" + checksum: 10c0/3390a675a50731b58a8e5493cd802e190427f10fa782079b455b00f6b54e406e36882df7d4a3bd32b709f7a2c3735b4912597ebc1c0a99566a8d8d0b816e2cd4 + languageName: node + linkType: hard + +"micromark-util-character@npm:^2.0.0, micromark-util-character@npm:^2.0.1": + version: 2.1.1 + resolution: "micromark-util-character@npm:2.1.1" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/d3fe7a5e2c4060fc2a076f9ce699c82a2e87190a3946e1e5eea77f563869b504961f5668d9c9c014724db28ac32fa909070ea8b30c3a39bd0483cc6c04cc76a1 + languageName: node + linkType: hard + +"micromark-util-chunked@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-chunked@npm:2.0.1" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/b68c0c16fe8106949537bdcfe1be9cf36c0ccd3bc54c4007003cb0984c3750b6cdd0fd77d03f269a3382b85b0de58bde4f6eedbe7ecdf7244759112289b1ab56 + languageName: node + linkType: hard + +"micromark-util-classify-character@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-classify-character@npm:2.0.1" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/8a02e59304005c475c332f581697e92e8c585bcd45d5d225a66c1c1b14ab5a8062705188c2ccec33cc998d33502514121478b2091feddbc751887fc9c290ed08 + languageName: node + linkType: hard + +"micromark-util-combine-extensions@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-combine-extensions@npm:2.0.1" + dependencies: + micromark-util-chunked: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/f15e282af24c8372cbb10b9b0b3e2c0aa681fea0ca323a44d6bc537dc1d9382c819c3689f14eaa000118f5a163245358ce6276b2cda9a84439cdb221f5d86ae7 + languageName: node + linkType: hard + +"micromark-util-decode-numeric-character-reference@npm:^2.0.0": + version: 2.0.2 + resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.2" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/9c8a9f2c790e5593ffe513901c3a110e9ec8882a08f466da014112a25e5059b51551ca0aeb7ff494657d86eceb2f02ee556c6558b8d66aadc61eae4a240da0df + languageName: node + linkType: hard + +"micromark-util-decode-string@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-decode-string@npm:2.0.1" + dependencies: + decode-named-character-reference: "npm:^1.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/f24d75b2e5310be6e7b6dee532e0d17d3bf46996841d6295f2a9c87a2046fff4ab603c52ab9d7a7a6430a8b787b1574ae895849c603d262d1b22eef71736b5cb + languageName: node + linkType: hard + +"micromark-util-encode@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-encode@npm:2.0.1" + checksum: 10c0/b2b29f901093845da8a1bf997ea8b7f5e061ffdba85070dfe14b0197c48fda64ffcf82bfe53c90cf9dc185e69eef8c5d41cae3ba918b96bc279326921b59008a + languageName: node + linkType: hard + +"micromark-util-events-to-acorn@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-util-events-to-acorn@npm:2.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/a4e0716e943ffdd16a918edf51d4f8291ec2692f5c4d04693dbef3358716fba891f288197afd102c14f4d98dac09d52351046ab7aad1d50b74677bdd5fa683c0 + languageName: node + linkType: hard + +"micromark-util-html-tag-name@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-html-tag-name@npm:2.0.1" + checksum: 10c0/ae80444db786fde908e9295f19a27a4aa304171852c77414516418650097b8afb401961c9edb09d677b06e97e8370cfa65638dde8438ebd41d60c0a8678b85b9 + languageName: node + linkType: hard + +"micromark-util-normalize-identifier@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-normalize-identifier@npm:2.0.1" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/5299265fa360769fc499a89f40142f10a9d4a5c3dd8e6eac8a8ef3c2e4a6570e4c009cf75ea46dce5ee31c01f25587bde2f4a5cc0a935584ae86dd857f2babbd + languageName: node + linkType: hard + +"micromark-util-resolve-all@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-resolve-all@npm:2.0.1" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bb6ca28764696bb479dc44a2d5b5fe003e7177aeae1d6b0d43f24cc223bab90234092d9c3ce4a4d2b8df095ccfd820537b10eb96bb7044d635f385d65a4c984a + languageName: node + linkType: hard + +"micromark-util-sanitize-uri@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-sanitize-uri@npm:2.0.1" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-encode: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/60e92166e1870fd4f1961468c2651013ff760617342918e0e0c3c4e872433aa2e60c1e5a672bfe5d89dc98f742d6b33897585cf86ae002cda23e905a3c02527c + languageName: node + linkType: hard + +"micromark-util-subtokenize@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-util-subtokenize@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bee69eece4393308e657c293ba80d92ebcb637e5f55e21dcf9c3fa732b91a8eda8ac248d76ff375e675175bfadeae4712e5158ef97eef1111789da1ce7ab5067 + languageName: node + linkType: hard + +"micromark-util-symbol@npm:^1.0.0, micromark-util-symbol@npm:^1.0.1": + version: 1.1.0 + resolution: "micromark-util-symbol@npm:1.1.0" + checksum: 10c0/10ceaed33a90e6bfd3a5d57053dbb53f437d4809cc11430b5a09479c0ba601577059be9286df4a7eae6e350a60a2575dc9fa9d9872b5b8d058c875e075c33803 + languageName: node + linkType: hard + +"micromark-util-symbol@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-symbol@npm:2.0.1" + checksum: 10c0/f2d1b207771e573232436618e78c5e46cd4b5c560dd4a6d63863d58018abbf49cb96ec69f7007471e51434c60de3c9268ef2bf46852f26ff4aacd10f9da16fe9 + languageName: node + linkType: hard + +"micromark-util-types@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-util-types@npm:1.1.0" + checksum: 10c0/a9749cb0a12a252ff536baabcb7012421b6fad4d91a5fdd80d7b33dc7b4c22e2d0c4637dfe5b902d00247fe6c9b01f4a24fce6b572b16ccaa4da90e6ce2a11e4 + languageName: node + linkType: hard + +"micromark-util-types@npm:^2.0.0": + version: 2.0.2 + resolution: "micromark-util-types@npm:2.0.2" + checksum: 10c0/c8c15b96c858db781c4393f55feec10004bf7df95487636c9a9f7209e51002a5cca6a047c5d2a5dc669ff92da20e57aaa881e81a268d9ccadb647f9dce305298 + languageName: node + linkType: hard + +"micromark@npm:^4.0.0": + version: 4.0.2 + resolution: "micromark@npm:4.0.2" + dependencies: + "@types/debug": "npm:^4.0.0" + debug: "npm:^4.0.0" + decode-named-character-reference: "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-encode: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-subtokenize: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/07462287254219d6eda6eac8a3cebaff2994e0575499e7088027b825105e096e4f51e466b14b2a81b71933a3b6c48ee069049d87bc2c2127eee50d9cc69e8af6 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.2, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-db@npm:>= 1.43.0 < 2": + version: 1.54.0 + resolution: "mime-db@npm:1.54.0" + checksum: 10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284 + languageName: node + linkType: hard + +"mime-db@npm:~1.33.0": + version: 1.33.0 + resolution: "mime-db@npm:1.33.0" + checksum: 10c0/79172ce5468c8503b49dddfdddc18d3f5fe2599f9b5fe1bc321a8cbee14c96730fc6db22f907b23701b05b2936f865795f62ec3a78a7f3c8cb2450bb68c6763e + languageName: node + linkType: hard + +"mime-types@npm:2.1.18": + version: 2.1.18 + resolution: "mime-types@npm:2.1.18" + dependencies: + mime-db: "npm:~1.33.0" + checksum: 10c0/a96a8d12f4bb98bc7bfac6a8ccbd045f40368fc1030d9366050c3613825d3715d1c1f393e10a75a885d2cdc1a26cd6d5e11f3a2a0d5c4d361f00242139430a0f + languageName: node + linkType: hard + +"mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 + languageName: node + linkType: hard + +"mimic-response@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-response@npm:4.0.0" + checksum: 10c0/761d788d2668ae9292c489605ffd4fad220f442fbae6832adce5ebad086d691e906a6d5240c290293c7a11e99fbdbbef04abbbed498bf8699a4ee0f31315e3fb + languageName: node + linkType: hard + +"mini-css-extract-plugin@npm:^2.9.1": + version: 2.9.2 + resolution: "mini-css-extract-plugin@npm:2.9.2" + dependencies: + schema-utils: "npm:^4.0.0" + tapable: "npm:^2.2.1" + peerDependencies: + webpack: ^5.0.0 + checksum: 10c0/5d3218dbd7db48b572925ddac05162a7415bf81b321f1a0c07016ec643cb5720c8a836ae68d45f5de826097a3013b601706c9c5aacb7f610dc2041b271de2ce0 + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd + languageName: node + linkType: hard + +"minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minimist@npm:^1.2.0": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 + languageName: node + linkType: hard + +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + languageName: node + linkType: hard + +"mrmime@npm:^2.0.0": + version: 2.0.1 + resolution: "mrmime@npm:2.0.1" + checksum: 10c0/af05afd95af202fdd620422f976ad67dc18e6ee29beb03dd1ce950ea6ef664de378e44197246df4c7cdd73d47f2e7143a6e26e473084b9e4aa2095c0ad1e1761 + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d + languageName: node + linkType: hard + +"ms@npm:2.1.3, ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"multicast-dns@npm:^7.2.5": + version: 7.2.5 + resolution: "multicast-dns@npm:7.2.5" + dependencies: + dns-packet: "npm:^5.2.2" + thunky: "npm:^1.0.2" + bin: + multicast-dns: cli.js + checksum: 10c0/5120171d4bdb1577764c5afa96e413353bff530d1b37081cb29cccc747f989eb1baf40574fe8e27060fc1aef72b59c042f72b9b208413de33bcf411343c69057 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.8": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b + languageName: node + linkType: hard + +"negotiator@npm:0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + +"negotiator@npm:~0.6.4": + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea + languageName: node + linkType: hard + +"neo-async@npm:^2.6.2": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d + languageName: node + linkType: hard + +"no-case@npm:^3.0.4": + version: 3.0.4 + resolution: "no-case@npm:3.0.4" + dependencies: + lower-case: "npm:^2.0.2" + tslib: "npm:^2.0.3" + checksum: 10c0/8ef545f0b3f8677c848f86ecbd42ca0ff3cd9dd71c158527b344c69ba14710d816d8489c746b6ca225e7b615108938a0bda0a54706f8c255933703ac1cf8e703 + languageName: node + linkType: hard + +"node-emoji@npm:^2.1.0": + version: 2.2.0 + resolution: "node-emoji@npm:2.2.0" + dependencies: + "@sindresorhus/is": "npm:^4.6.0" + char-regex: "npm:^1.0.2" + emojilib: "npm:^2.4.0" + skin-tone: "npm:^2.0.0" + checksum: 10c0/9525defbd90a82a2131758c2470203fa2a2faa8edd177147a8654a26307fe03594e52847ecbe2746d06cfc5c50acd12bd500f035350a7609e8217c9894c19aad + languageName: node + linkType: hard + +"node-forge@npm:^1": + version: 1.3.1 + resolution: "node-forge@npm:1.3.1" + checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" + which: "npm:^5.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.19": + version: 2.0.19 + resolution: "node-releases@npm:2.0.19" + checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa + languageName: node + linkType: hard + +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: "npm:^3.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"normalize-range@npm:^0.1.2": + version: 0.1.2 + resolution: "normalize-range@npm:0.1.2" + checksum: 10c0/bf39b73a63e0a42ad1a48c2bd1bda5a07ede64a7e2567307a407674e595bcff0fa0d57e8e5f1e7fa5e91000797c7615e13613227aaaa4d6d6e87f5bd5cc95de6 + languageName: node + linkType: hard + +"normalize-url@npm:^8.0.0": + version: 8.0.1 + resolution: "normalize-url@npm:8.0.1" + checksum: 10c0/eb439231c4b84430f187530e6fdac605c5048ef4ec556447a10c00a91fc69b52d8d8298d9d608e68d3e0f7dc2d812d3455edf425e0f215993667c3183bcab1ef + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: "npm:^3.0.0" + checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac + languageName: node + linkType: hard + +"nprogress@npm:^0.2.0": + version: 0.2.0 + resolution: "nprogress@npm:0.2.0" + checksum: 10c0/eab9a923a1ad1eed71a455ecfbc358442dd9bcd71b9fa3fa1c67eddf5159360b182c218f76fca320c97541a1b45e19ced04e6dcb044a662244c5419f8ae9e821 + languageName: node + linkType: hard + +"nth-check@npm:^2.0.1": + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" + dependencies: + boolbase: "npm:^1.0.0" + checksum: 10c0/5fee7ff309727763689cfad844d979aedd2204a817fbaaf0e1603794a7c20db28548d7b024692f953557df6ce4a0ee4ae46cd8ebd9b36cfb300b9226b567c479 + languageName: node + linkType: hard + +"null-loader@npm:^4.0.1": + version: 4.0.1 + resolution: "null-loader@npm:4.0.1" + dependencies: + loader-utils: "npm:^2.0.0" + schema-utils: "npm:^3.0.0" + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 10c0/fe9a74a928c9ddc1eab7be0e4322516439562d6efd6feeb0f7c61777d4b79a6a8e5a6bc8133deb59408f3f423bdf84c154a88168154a583154e9e33d544b4d42 + languageName: node + linkType: hard + +"object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"object-inspect@npm:^1.13.3": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"object.assign@npm:^4.1.0": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc + languageName: node + linkType: hard + +"obuf@npm:^1.0.0, obuf@npm:^1.1.2": + version: 1.1.2 + resolution: "obuf@npm:1.1.2" + checksum: 10c0/520aaac7ea701618eacf000fc96ae458e20e13b0569845800fc582f81b386731ab22d55354b4915d58171db00e79cfcd09c1638c02f89577ef092b38c65b7d81 + languageName: node + linkType: hard + +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: "npm:1.1.1" + checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 + languageName: node + linkType: hard + +"on-headers@npm:~1.0.2": + version: 1.0.2 + resolution: "on-headers@npm:1.0.2" + checksum: 10c0/f649e65c197bf31505a4c0444875db0258e198292f34b884d73c2f751e91792ef96bb5cf89aa0f4fecc2e4dc662461dda606b1274b0e564f539cae5d2f5fc32f + languageName: node + linkType: hard + +"once@npm:^1.3.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"open@npm:^8.0.9, open@npm:^8.4.0": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + languageName: node + linkType: hard + +"opener@npm:^1.5.2": + version: 1.5.2 + resolution: "opener@npm:1.5.2" + bin: + opener: bin/opener-bin.js + checksum: 10c0/dd56256ab0cf796585617bc28e06e058adf09211781e70b264c76a1dbe16e90f868c974e5bf5309c93469157c7d14b89c35dc53fe7293b0e40b4d2f92073bc79 + languageName: node + linkType: hard + +"p-cancelable@npm:^3.0.0": + version: 3.0.0 + resolution: "p-cancelable@npm:3.0.0" + checksum: 10c0/948fd4f8e87b956d9afc2c6c7392de9113dac817cb1cecf4143f7a3d4c57ab5673614a80be3aba91ceec5e4b69fd8c869852d7e8048bc3d9273c4c36ce14b9aa + languageName: node + linkType: hard + +"p-limit@npm:^2.0.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-limit@npm:^4.0.0": + version: 4.0.0 + resolution: "p-limit@npm:4.0.0" + dependencies: + yocto-queue: "npm:^1.0.0" + checksum: 10c0/a56af34a77f8df2ff61ddfb29431044557fcbcb7642d5a3233143ebba805fc7306ac1d448de724352861cb99de934bc9ab74f0d16fe6a5460bdbdf938de875ad + languageName: node + linkType: hard + +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: "npm:^2.0.0" + checksum: 10c0/7b7f06f718f19e989ce6280ed4396fb3c34dabdee0df948376483032f9d5ec22fdf7077ec942143a75827bb85b11da72016497fc10dac1106c837ed593969ee8 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-locate@npm:^6.0.0": + version: 6.0.0 + resolution: "p-locate@npm:6.0.0" + dependencies: + p-limit: "npm:^4.0.0" + checksum: 10c0/d72fa2f41adce59c198270aa4d3c832536c87a1806e0f69dffb7c1a7ca998fb053915ca833d90f166a8c082d3859eabfed95f01698a3214c20df6bb8de046312 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c + languageName: node + linkType: hard + +"p-retry@npm:^4.5.0": + version: 4.6.2 + resolution: "p-retry@npm:4.6.2" + dependencies: + "@types/retry": "npm:0.12.0" + retry: "npm:^0.13.1" + checksum: 10c0/d58512f120f1590cfedb4c2e0c42cb3fa66f3cea8a4646632fcb834c56055bb7a6f138aa57b20cc236fb207c9d694e362e0b5c2b14d9b062f67e8925580c73b0 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"package-json@npm:^8.1.0": + version: 8.1.1 + resolution: "package-json@npm:8.1.1" + dependencies: + got: "npm:^12.1.0" + registry-auth-token: "npm:^5.0.1" + registry-url: "npm:^6.0.0" + semver: "npm:^7.3.7" + checksum: 10c0/83b057878bca229033aefad4ef51569b484e63a65831ddf164dc31f0486817e17ffcb58c819c7af3ef3396042297096b3ffc04e107fd66f8f48756f6d2071c8f + languageName: node + linkType: hard + +"param-case@npm:^3.0.4": + version: 3.0.4 + resolution: "param-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/ccc053f3019f878eca10e70ec546d92f51a592f762917dafab11c8b532715dcff58356118a6f350976e4ab109e321756f05739643ed0ca94298e82291e6f9e76 + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"parse-entities@npm:^4.0.0": + version: 4.0.2 + resolution: "parse-entities@npm:4.0.2" + dependencies: + "@types/unist": "npm:^2.0.0" + character-entities-legacy: "npm:^3.0.0" + character-reference-invalid: "npm:^2.0.0" + decode-named-character-reference: "npm:^1.0.0" + is-alphanumerical: "npm:^2.0.0" + is-decimal: "npm:^2.0.0" + is-hexadecimal: "npm:^2.0.0" + checksum: 10c0/a13906b1151750b78ed83d386294066daf5fb559e08c5af9591b2d98cc209123103016a01df776f65f8219ad26652d6d6b210d0974d452049cddfc53a8916c34 + languageName: node + linkType: hard + +"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 + languageName: node + linkType: hard + +"parse-numeric-range@npm:^1.3.0": + version: 1.3.0 + resolution: "parse-numeric-range@npm:1.3.0" + checksum: 10c0/53465afaa92111e86697281b684aa4574427360889cc23a1c215488c06b72441febdbf09f47ab0bef9a0c701e059629f3eebd2fe6fb241a254ad7a7a642aebe8 + languageName: node + linkType: hard + +"parse5-htmlparser2-tree-adapter@npm:^7.0.0": + version: 7.1.0 + resolution: "parse5-htmlparser2-tree-adapter@npm:7.1.0" + dependencies: + domhandler: "npm:^5.0.3" + parse5: "npm:^7.0.0" + checksum: 10c0/e5a4e0b834c84c9e244b5749f8d007f4baaeafac7a1da2c54be3421ffd9ef8fdec4f198bf55cda22e88e6ba95e9943f6ed5aa3ae5900b39972ebf5dc8c3f4722 + languageName: node + linkType: hard + +"parse5@npm:^7.0.0": + version: 7.3.0 + resolution: "parse5@npm:7.3.0" + dependencies: + entities: "npm:^6.0.0" + checksum: 10c0/7fd2e4e247e85241d6f2a464d0085eed599a26d7b0a5233790c49f53473232eb85350e8133344d9b3fd58b89339e7ad7270fe1f89d28abe50674ec97b87f80b5 + languageName: node + linkType: hard + +"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 + languageName: node + linkType: hard + +"pascal-case@npm:^3.1.2": + version: 3.1.2 + resolution: "pascal-case@npm:3.1.2" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/05ff7c344809fd272fc5030ae0ee3da8e4e63f36d47a1e0a4855ca59736254192c5a27b5822ed4bae96e54048eec5f6907713cfcfff7cdf7a464eaf7490786d8 + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-exists@npm:^5.0.0": + version: 5.0.0 + resolution: "path-exists@npm:5.0.0" + checksum: 10c0/b170f3060b31604cde93eefdb7392b89d832dfbc1bed717c9718cbe0f230c1669b7e75f87e19901da2250b84d092989a0f9e44d2ef41deb09aa3ad28e691a40a + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-is-inside@npm:1.0.2": + version: 1.0.2 + resolution: "path-is-inside@npm:1.0.2" + checksum: 10c0/7fdd4b41672c70461cce734fc222b33e7b447fa489c7c4377c95e7e6852d83d69741f307d88ec0cc3b385b41cb4accc6efac3c7c511cd18512e95424f5fa980c + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.12": + version: 0.1.12 + resolution: "path-to-regexp@npm:0.1.12" + checksum: 10c0/1c6ff10ca169b773f3bba943bbc6a07182e332464704572962d277b900aeee81ac6aa5d060ff9e01149636c30b1f63af6e69dd7786ba6e0ddb39d4dee1f0645b + languageName: node + linkType: hard + +"path-to-regexp@npm:3.3.0": + version: 3.3.0 + resolution: "path-to-regexp@npm:3.3.0" + checksum: 10c0/ffa0ebe7088d38d435a8d08b0fe6e8c93ceb2a81a65d4dd1d9a538f52e09d5e3474ed5f553cb3b180d894b0caa10698a68737ab599fd1e56b4663d1a64c9f77b + languageName: node + linkType: hard + +"path-to-regexp@npm:^1.7.0": + version: 1.9.0 + resolution: "path-to-regexp@npm:1.9.0" + dependencies: + isarray: "npm:0.0.1" + checksum: 10c0/de9ddb01b84d9c2c8e2bed18630d8d039e2d6f60a6538595750fa08c7a6482512257464c8da50616f266ab2cdd2428387e85f3b089e4c3f25d0c537e898a0751 + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + +"pkg-dir@npm:^7.0.0": + version: 7.0.0 + resolution: "pkg-dir@npm:7.0.0" + dependencies: + find-up: "npm:^6.3.0" + checksum: 10c0/1afb23d2efb1ec9d8b2c4a0c37bf146822ad2774f074cb05b853be5dca1b40815c5960dd126df30ab8908349262a266f31b771e877235870a3b8fd313beebec5 + languageName: node + linkType: hard + +"pkg-up@npm:^3.1.0": + version: 3.1.0 + resolution: "pkg-up@npm:3.1.0" + dependencies: + find-up: "npm:^3.0.0" + checksum: 10c0/ecb60e1f8e1f611c0bdf1a0b6a474d6dfb51185567dc6f29cdef37c8d480ecba5362e006606bb290519bbb6f49526c403fabea93c3090c20368d98bb90c999ab + languageName: node + linkType: hard + +"postcss-attribute-case-insensitive@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-attribute-case-insensitive@npm:7.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/48945abe2024e2d2e4c37d30b8c1aaf37af720f24f6a996f7ea7e7ed33621f5c22cf247ed22028c0c922de040c58c0802729bc39b903cb1693f4b63c0b49da34 + languageName: node + linkType: hard + +"postcss-calc@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-calc@npm:9.0.1" + dependencies: + postcss-selector-parser: "npm:^6.0.11" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.2.2 + checksum: 10c0/e0df07337162dbcaac5d6e030c7fd289e21da8766a9daca5d6b2b3c8094bb524ae5d74c70048ea7fe5fe4960ce048c60ac97922d917c3bbff34f58e9d2b0eb0e + languageName: node + linkType: hard + +"postcss-clamp@npm:^4.1.0": + version: 4.1.0 + resolution: "postcss-clamp@npm:4.1.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.6 + checksum: 10c0/701261026b38a4c27b3c3711635fac96005f36d3270adb76dbdb1eebc950fc841db45283ee66068a7121565592e9d7967d5534e15b6e4dd266afcabf9eafa905 + languageName: node + linkType: hard + +"postcss-color-functional-notation@npm:^7.0.9": + version: 7.0.9 + resolution: "postcss-color-functional-notation@npm:7.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/62ffe51ec200df8e01daca3f45b2e05e7e509b57bfe50c880490878aff9bc63ed36cc92db42f0274a21f21330acd8fb1dff6529f7e3a202d100ea74914cf4cfd + languageName: node + linkType: hard + +"postcss-color-hex-alpha@npm:^10.0.0": + version: 10.0.0 + resolution: "postcss-color-hex-alpha@npm:10.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8a6dcb27403d04b55d6de88bf3074622bcea537fc4436bbcb346e92289c4d17059444e2e6c3554c325e7a777bb4cdc711e764a83123b4000aec211052e957d5b + languageName: node + linkType: hard + +"postcss-color-rebeccapurple@npm:^10.0.0": + version: 10.0.0 + resolution: "postcss-color-rebeccapurple@npm:10.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/308e33f76f2b48c1c2121d4502fc053e869f3415898de7d30314353df680e79b37497e7b628e3447edc1049091da3672f7d891e45604f238598e846e06b893ed + languageName: node + linkType: hard + +"postcss-colormin@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-colormin@npm:6.1.0" + dependencies: + browserslist: "npm:^4.23.0" + caniuse-api: "npm:^3.0.0" + colord: "npm:^2.9.3" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/0802963fa0d8f2fe408b2e088117670f5303c69a58c135f0ecf0e5ceff69e95e87111b22c4e29c9adb2f69aa8d3bc175f4e8e8708eeb99c9ffc36c17064de427 + languageName: node + linkType: hard + +"postcss-convert-values@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-convert-values@npm:6.1.0" + dependencies: + browserslist: "npm:^4.23.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/a80066965cb58fe8fcaf79f306b32c83fc678e1f0678e43f4db3e9fee06eed6db92cf30631ad348a17492769d44757400493c91a33ee865ee8dedea9234a11f5 + languageName: node + linkType: hard + +"postcss-custom-media@npm:^11.0.5": + version: 11.0.5 + resolution: "postcss-custom-media@npm:11.0.5" + dependencies: + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5ba1ca0383818e83d5f6f398a2b0c12cfda066b5d552adfc0e030a2c5f8690c2cc6224f9a1832a9c780dae3fd8d00d78c4a5c88eb36b731da1752f0c3917d488 + languageName: node + linkType: hard + +"postcss-custom-properties@npm:^14.0.4": + version: 14.0.4 + resolution: "postcss-custom-properties@npm:14.0.4" + dependencies: + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5b101ee71289657cc2e5a16f4912009c10441052e2c54bd9e4f3d4d72b652bab56adb662ddaa96881413e375cf9852e2159b3c778d953442ce86efb781c3b2bf + languageName: node + linkType: hard + +"postcss-custom-selectors@npm:^8.0.4": + version: 8.0.4 + resolution: "postcss-custom-selectors@npm:8.0.4" + dependencies: + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/09d494d2580d0a99f57684f79793d03358286c32460b61a84063c33bdde24865771cb1205efe9a8e26a508be24eba4fb93fc7f1e96ba21ca96a5d17fadb24863 + languageName: node + linkType: hard + +"postcss-dir-pseudo-class@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-dir-pseudo-class@npm:9.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/da9d3387648c5c3161a653d354c8f3e70a299108df3977e8aa65cf10793e4dd58a2711b3426cd63716245b13584ca8d95adcd6e10e3c9adbc61d08743e2d8690 + languageName: node + linkType: hard + +"postcss-discard-comments@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-discard-comments@npm:6.0.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/338a1fcba7e2314d956e5e5b9bd1e12e6541991bf85ac72aed6e229a029bf60edb31f11576b677623576169aa7d9c75e1be259ac7b50d0b735b841b5518f9da9 + languageName: node + linkType: hard + +"postcss-discard-duplicates@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-discard-duplicates@npm:6.0.3" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/24d2f00e54668f2837eb38a64b1751d7a4a73b2752f9749e61eb728f1fae837984bc2b339f7f5207aff5f66f72551253489114b59b9ba21782072677a81d7d1b + languageName: node + linkType: hard + +"postcss-discard-empty@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-discard-empty@npm:6.0.3" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/1af08bb29f18eda41edf3602b257d89a4cf0a16f79fc773cfebd4a37251f8dbd9b77ac18efe55d0677d000b43a8adf2ef9328d31961c810e9433a38494a1fa65 + languageName: node + linkType: hard + +"postcss-discard-overridden@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-discard-overridden@npm:6.0.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/fda70ef3cd4cb508369c5bbbae44d7760c40ec9f2e65df1cd1b6e0314317fb1d25ae7f64987ca84e66889c1e9d1862487a6ce391c159dfe04d536597bfc5030d + languageName: node + linkType: hard + +"postcss-discard-unused@npm:^6.0.5": + version: 6.0.5 + resolution: "postcss-discard-unused@npm:6.0.5" + dependencies: + postcss-selector-parser: "npm:^6.0.16" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/fca82f17395a7fcc78eab4e03dfb05958beb240c10cacb3836b832c6ea99f5259980c70890a9b7d8b67adf8071b61f3fcf1b432c7a116397aaf67909366da5cc + languageName: node + linkType: hard + +"postcss-double-position-gradients@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-double-position-gradients@npm:6.0.1" + dependencies: + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/4c6cf3f54b2154cd622cdcaea58a7634c2e19bc0c366c73c46a27a3e31aa280c8721ee2b21cdd5cdca3166052cf5881c16bab2836b8896e71578213957021d52 + languageName: node + linkType: hard + +"postcss-focus-visible@npm:^10.0.1": + version: 10.0.1 + resolution: "postcss-focus-visible@npm:10.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/c5ecc8536a708a49a99d0abd68a88a160664e6c832c808db8edd9f0221e7017a258daa87e49daf2cb098cb037005d46cf492403c8c9c92ad8835d30adaccf665 + languageName: node + linkType: hard + +"postcss-focus-within@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-focus-within@npm:9.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/d6ab49d2a7f33485a9e137dc77ec92c5619a3ec92e1e672734fc604853ff1f3c0c189085c12461614be4fcb03ea0347d91791a45986a18d50b5228d161eda57a + languageName: node + linkType: hard + +"postcss-font-variant@npm:^5.0.0": + version: 5.0.0 + resolution: "postcss-font-variant@npm:5.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/ccc96460cf6a52b5439c26c9a5ea0589882e46161e3c2331d4353de7574448f5feef667d1a68f7f39b9fe3ee75d85957383ae82bbfcf87c3162c7345df4a444e + languageName: node + linkType: hard + +"postcss-gap-properties@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-gap-properties@npm:6.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/4e07e0d3927d0e65d67eaf047ac39e08d39cb1bf74e16e10c7df7f0d01b184a77ea59f63fd5691b5ed6df159970b972db28cb784d883e26e981137696460897d + languageName: node + linkType: hard + +"postcss-image-set-function@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-image-set-function@npm:7.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/913fd9492f00122aa0c2550fb0d72130428cbe1e6465bc65e8fe71e9deb10ac0c01d7caceb68b560da759139e8cbc6c90ed22dfe6cf34949af49bb86bcbf4d3a + languageName: node + linkType: hard + +"postcss-lab-function@npm:^7.0.9": + version: 7.0.9 + resolution: "postcss-lab-function@npm:7.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/4180669e7555d474b660d106de5fa1d4a705d693451254123bf56ab6dc1a82e4e175c387868703c14e4637d795d461b5e7f10e74d7b42df55a31f6b52bfa048e + languageName: node + linkType: hard + +"postcss-loader@npm:^7.3.3": + version: 7.3.4 + resolution: "postcss-loader@npm:7.3.4" + dependencies: + cosmiconfig: "npm:^8.3.5" + jiti: "npm:^1.20.0" + semver: "npm:^7.5.4" + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + checksum: 10c0/1bf7614aeea9ad1f8ee6be3a5451576c059391688ea67f825aedc2674056369597faeae4e4a81fe10843884c9904a71403d9a54197e1f560e8fbb9e61f2a2680 + languageName: node + linkType: hard + +"postcss-logical@npm:^8.1.0": + version: 8.1.0 + resolution: "postcss-logical@npm:8.1.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/0e2e9e901d8a550db7f682d46b1f7e4f363c1ada061dc8e4548e2b563c5e39f3684a2d7c3f11fe061188782bca37874e34967fc6179fa6d98a49ff66a0076d27 + languageName: node + linkType: hard + +"postcss-merge-idents@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-merge-idents@npm:6.0.3" + dependencies: + cssnano-utils: "npm:^4.0.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/fdb51d971df33218bd5fdd9619e5a4d854e23affcea51f96bf4391260cb8d0bec937854582fa9a19bde1fa1b2a43fa5a2f179da23a3adeb8e8d292a4749a8ed7 + languageName: node + linkType: hard + +"postcss-merge-longhand@npm:^6.0.5": + version: 6.0.5 + resolution: "postcss-merge-longhand@npm:6.0.5" + dependencies: + postcss-value-parser: "npm:^4.2.0" + stylehacks: "npm:^6.1.1" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/5a223a7f698c05ab42e9997108a7ff27ea1e0c33a11a353d65a04fc89c3b5b750b9e749550d76b6406329117a055adfc79dde7fee48dca5c8e167a2854ae3fea + languageName: node + linkType: hard + +"postcss-merge-rules@npm:^6.1.1": + version: 6.1.1 + resolution: "postcss-merge-rules@npm:6.1.1" + dependencies: + browserslist: "npm:^4.23.0" + caniuse-api: "npm:^3.0.0" + cssnano-utils: "npm:^4.0.2" + postcss-selector-parser: "npm:^6.0.16" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/6d8952dbb19b1e59bf5affe0871fa1be6515103466857cff5af879d6cf619659f8642ec7a931cabb7cdbd393d8c1e91748bf70bee70fa3edea010d4e25786d04 + languageName: node + linkType: hard + +"postcss-minify-font-values@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-minify-font-values@npm:6.1.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/0d6567170c22a7db42096b5eac298f041614890fbe01759a9fa5ccda432f2bb09efd399d92c11bf6675ae13ccd259db4602fad3c358317dee421df5f7ab0a003 + languageName: node + linkType: hard + +"postcss-minify-gradients@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-minify-gradients@npm:6.0.3" + dependencies: + colord: "npm:^2.9.3" + cssnano-utils: "npm:^4.0.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/7fcbcec94fe5455b89fe1b424a451198e60e0407c894bbacdc062d9fdef2f8571b483b5c3bb17f22d2f1249431251b2de22e1e4e8b0614d10624f8ee6e71afd2 + languageName: node + linkType: hard + +"postcss-minify-params@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-minify-params@npm:6.1.0" + dependencies: + browserslist: "npm:^4.23.0" + cssnano-utils: "npm:^4.0.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/e5c38c3e5fb42e2ca165764f983716e57d854a63a477f7389ccc94cd2ab8123707006613bd7f29acc6eafd296fff513aa6d869c98ac52590f886d641cb21a59e + languageName: node + linkType: hard + +"postcss-minify-selectors@npm:^6.0.4": + version: 6.0.4 + resolution: "postcss-minify-selectors@npm:6.0.4" + dependencies: + postcss-selector-parser: "npm:^6.0.16" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/695ec2e1e3a7812b0cabe1105d0ed491760be3d8e9433914fb5af1fc30a84e6dc24089cd31b7e300de620b8e7adf806526c1acf8dd14077a7d1d2820c60a327c + languageName: node + linkType: hard + +"postcss-modules-extract-imports@npm:^3.1.0": + version: 3.1.0 + resolution: "postcss-modules-extract-imports@npm:3.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/402084bcab376083c4b1b5111b48ec92974ef86066f366f0b2d5b2ac2b647d561066705ade4db89875a13cb175b33dd6af40d16d32b2ea5eaf8bac63bd2bf219 + languageName: node + linkType: hard + +"postcss-modules-local-by-default@npm:^4.0.5": + version: 4.2.0 + resolution: "postcss-modules-local-by-default@npm:4.2.0" + dependencies: + icss-utils: "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + postcss-value-parser: "npm:^4.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/b0b83feb2a4b61f5383979d37f23116c99bc146eba1741ca3cf1acca0e4d0dbf293ac1810a6ab4eccbe1ee76440dd0a9eb2db5b3bba4f99fc1b3ded16baa6358 + languageName: node + linkType: hard + +"postcss-modules-scope@npm:^3.2.0": + version: 3.2.1 + resolution: "postcss-modules-scope@npm:3.2.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/bd2d81f79e3da0ef6365b8e2c78cc91469d05b58046b4601592cdeef6c4050ed8fe1478ae000a1608042fc7e692cb51fecbd2d9bce3f4eace4d32e883ffca10b + languageName: node + linkType: hard + +"postcss-modules-values@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-modules-values@npm:4.0.0" + dependencies: + icss-utils: "npm:^5.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/dd18d7631b5619fb9921b198c86847a2a075f32e0c162e0428d2647685e318c487a2566cc8cc669fc2077ef38115cde7a068e321f46fb38be3ad49646b639dbc + languageName: node + linkType: hard + +"postcss-nesting@npm:^13.0.1": + version: 13.0.1 + resolution: "postcss-nesting@npm:13.0.1" + dependencies: + "@csstools/selector-resolve-nested": "npm:^3.0.0" + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/549307c272cdd4cb5105d8fbcd582f15a1cb74e5bba240b05b27f77fe0422730be966699a49a9ad15fd9d1bc551c1edbaefb21a69686a9b131b585dbc9d90ebf + languageName: node + linkType: hard + +"postcss-normalize-charset@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-charset@npm:6.0.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/af32a3b4cf94163d728b8aa935b2494c9f69fbc96a33b35f67ae15dbdef7fcc8732569df97cbaaf20ca6c0103c39adad0cfce2ba07ffed283796787f6c36f410 + languageName: node + linkType: hard + +"postcss-normalize-display-values@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-display-values@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/782761850c7e697fdb6c3ff53076de716a71b60f9e835efb2f7ef238de347c88b5d55f0d43cf5c608e1ee58de65360e3d9fccd5f20774bba08ded7c87d8a5651 + languageName: node + linkType: hard + +"postcss-normalize-positions@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-positions@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/9fdd42a47226bbda5f68774f3c4c3a90eb4fa708aef5a997c6a52fe6cac06585c9774038fe3bc1aa86a203c29223b8d8db6ebe7580c1aa293154f2b48db0b038 + languageName: node + linkType: hard + +"postcss-normalize-repeat-style@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-repeat-style@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/9133ccbdf1286920c1cd0d01c1c5fa0bd3251b717f2f3e47d691dcc44978ac1dc419d20d9ae5428bd48ee542059e66b823ba699356f5968ccced5606c7c7ca34 + languageName: node + linkType: hard + +"postcss-normalize-string@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-string@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/fecc2d52c4029b24fecf2ca2fb45df5dbdf9f35012194ad4ea80bc7be3252cdcb21a0976400902320595aa6178f2cc625cc804c6b6740aef6efa42105973a205 + languageName: node + linkType: hard + +"postcss-normalize-timing-functions@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-timing-functions@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/a22af0b3374704e59ae70bbbcc66b7029137e284f04e30a2ad548818d1540d6c1ed748dd8f689b9b6df5c1064085a00ad07b6f7e25ffaad49d4e661b616cdeae + languageName: node + linkType: hard + +"postcss-normalize-unicode@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-normalize-unicode@npm:6.1.0" + dependencies: + browserslist: "npm:^4.23.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/ff5746670d94dd97b49a0955c3c71ff516fb4f54bbae257f877d179bacc44a62e50a0fd6e7ddf959f2ca35c335de4266b0c275d880bb57ad7827189339ab1582 + languageName: node + linkType: hard + +"postcss-normalize-url@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-url@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/4718f1c0657788d2c560b340ee8e0a4eb3eb053eba6fbbf489e9a6e739b4c5f9ce1957f54bd03497c50a1f39962bf6ab9ff6ba4976b69dd160f6afd1670d69b7 + languageName: node + linkType: hard + +"postcss-normalize-whitespace@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-whitespace@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/d5275a88e29a894aeb83a2a833e816d2456dbf3f39961628df596ce205dcc4895186a023812ff691945e0804241ccc53e520d16591b5812288474b474bbaf652 + languageName: node + linkType: hard + +"postcss-opacity-percentage@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-opacity-percentage@npm:3.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/15c7d66036fa966d265c8737196646b3f93deb83d4eea0b17ed5033460599afc31d3a989345e4d7c472963b2a2bb75c83d06979d5d30d6a60fcc7f74cb6d8d40 + languageName: node + linkType: hard + +"postcss-ordered-values@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-ordered-values@npm:6.0.2" + dependencies: + cssnano-utils: "npm:^4.0.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/aece23a289228aa804217a85f8da198d22b9123f02ca1310b81834af380d6fbe115e4300683599b4a2ab7f1c6a1dbd6789724c47c38e2b0a3774f2ea4b4f0963 + languageName: node + linkType: hard + +"postcss-overflow-shorthand@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-overflow-shorthand@npm:6.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/6598321b2ed0b68461135395bba9c7f76a4672617770df1e8487f459bc975f4ded6c3d37b6f72a44f4f77f7b6789e0c6f927e66dbbf1bcde1537167dbea39968 + languageName: node + linkType: hard + +"postcss-page-break@npm:^3.0.4": + version: 3.0.4 + resolution: "postcss-page-break@npm:3.0.4" + peerDependencies: + postcss: ^8 + checksum: 10c0/eaaf4d8922b35f2acd637eb059f7e2510b24d65eb8f31424799dd5a98447b6ef010b41880c26e78f818e00f842295638ec75f89d5d489067f53e3dd3db74a00f + languageName: node + linkType: hard + +"postcss-place@npm:^10.0.0": + version: 10.0.0 + resolution: "postcss-place@npm:10.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/ebb13deaac7648ba6042622375a31f78fbcc5209b7d196e478debbdf94525963fe621c932f4737a5b6b3d487af3b5ed6d059ed6193fdcbff6d3d5b150886ccc1 + languageName: node + linkType: hard + +"postcss-preset-env@npm:^10.1.0": + version: 10.1.6 + resolution: "postcss-preset-env@npm:10.1.6" + dependencies: + "@csstools/postcss-cascade-layers": "npm:^5.0.1" + "@csstools/postcss-color-function": "npm:^4.0.9" + "@csstools/postcss-color-mix-function": "npm:^3.0.9" + "@csstools/postcss-content-alt-text": "npm:^2.0.5" + "@csstools/postcss-exponential-functions": "npm:^2.0.8" + "@csstools/postcss-font-format-keywords": "npm:^4.0.0" + "@csstools/postcss-gamut-mapping": "npm:^2.0.9" + "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.9" + "@csstools/postcss-hwb-function": "npm:^4.0.9" + "@csstools/postcss-ic-unit": "npm:^4.0.1" + "@csstools/postcss-initial": "npm:^2.0.1" + "@csstools/postcss-is-pseudo-class": "npm:^5.0.1" + "@csstools/postcss-light-dark-function": "npm:^2.0.8" + "@csstools/postcss-logical-float-and-clear": "npm:^3.0.0" + "@csstools/postcss-logical-overflow": "npm:^2.0.0" + "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" + "@csstools/postcss-logical-resize": "npm:^3.0.0" + "@csstools/postcss-logical-viewport-units": "npm:^3.0.3" + "@csstools/postcss-media-minmax": "npm:^2.0.8" + "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.4" + "@csstools/postcss-nested-calc": "npm:^4.0.0" + "@csstools/postcss-normalize-display-values": "npm:^4.0.0" + "@csstools/postcss-oklab-function": "npm:^4.0.9" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/postcss-random-function": "npm:^2.0.0" + "@csstools/postcss-relative-color-syntax": "npm:^3.0.9" + "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" + "@csstools/postcss-sign-functions": "npm:^1.1.3" + "@csstools/postcss-stepped-value-functions": "npm:^4.0.8" + "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.2" + "@csstools/postcss-trigonometric-functions": "npm:^4.0.8" + "@csstools/postcss-unset-value": "npm:^4.0.0" + autoprefixer: "npm:^10.4.21" + browserslist: "npm:^4.24.4" + css-blank-pseudo: "npm:^7.0.1" + css-has-pseudo: "npm:^7.0.2" + css-prefers-color-scheme: "npm:^10.0.0" + cssdb: "npm:^8.2.5" + postcss-attribute-case-insensitive: "npm:^7.0.1" + postcss-clamp: "npm:^4.1.0" + postcss-color-functional-notation: "npm:^7.0.9" + postcss-color-hex-alpha: "npm:^10.0.0" + postcss-color-rebeccapurple: "npm:^10.0.0" + postcss-custom-media: "npm:^11.0.5" + postcss-custom-properties: "npm:^14.0.4" + postcss-custom-selectors: "npm:^8.0.4" + postcss-dir-pseudo-class: "npm:^9.0.1" + postcss-double-position-gradients: "npm:^6.0.1" + postcss-focus-visible: "npm:^10.0.1" + postcss-focus-within: "npm:^9.0.1" + postcss-font-variant: "npm:^5.0.0" + postcss-gap-properties: "npm:^6.0.0" + postcss-image-set-function: "npm:^7.0.0" + postcss-lab-function: "npm:^7.0.9" + postcss-logical: "npm:^8.1.0" + postcss-nesting: "npm:^13.0.1" + postcss-opacity-percentage: "npm:^3.0.0" + postcss-overflow-shorthand: "npm:^6.0.0" + postcss-page-break: "npm:^3.0.4" + postcss-place: "npm:^10.0.0" + postcss-pseudo-class-any-link: "npm:^10.0.1" + postcss-replace-overflow-wrap: "npm:^4.0.0" + postcss-selector-not: "npm:^8.0.1" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/89af9060f3528e254005e6b81e88c57589e6e7f74125b10d50ca8a05f830c9ac206f8197af1b3c4b7ba82d97993118dd121f1a11cfc9fd026e18d01ca6f7ad2d + languageName: node + linkType: hard + +"postcss-pseudo-class-any-link@npm:^10.0.1": + version: 10.0.1 + resolution: "postcss-pseudo-class-any-link@npm:10.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/95e883996e87baf14fc09d25f9a763a2e9d599eb3b9c6b736e83a8c3d0b55841bcb886bccdf51b5b7fefc128cbd0187ad8841f59878f85bd1613642e592d7673 + languageName: node + linkType: hard + +"postcss-reduce-idents@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-reduce-idents@npm:6.0.3" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/d9f9209e52ebb3d1d7feefc0be24fc74792e064e0fdec99554f050c6b882c61073d5d40986c545061b30e5ead881615e92c965dc765d8d83b2dec10d6a664e1f + languageName: node + linkType: hard + +"postcss-reduce-initial@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-reduce-initial@npm:6.1.0" + dependencies: + browserslist: "npm:^4.23.0" + caniuse-api: "npm:^3.0.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/a8f28cf51ce9a1b9423cce1a01c1d7cbee90125930ec36435a0073e73aef402d90affe2fd3600c964b679cf738869fda447b95a9acce74414e9d67d5c6ba8646 + languageName: node + linkType: hard + +"postcss-reduce-transforms@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-reduce-transforms@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/755ef27b3d083f586ac831f0c611a66e76f504d27e2100dc7674f6b86afad597901b4520cb889fe58ca70e852aa7fd0c0acb69a63d39dfe6a95860b472394e7c + languageName: node + linkType: hard + +"postcss-replace-overflow-wrap@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-replace-overflow-wrap@npm:4.0.0" + peerDependencies: + postcss: ^8.0.3 + checksum: 10c0/451361b714528cd3632951256ef073769cde725a46cda642a6864f666fb144921fa55e614aec1bcf5946f37d6ffdcca3b932b76f3d997c07b076e8db152b128d + languageName: node + linkType: hard + +"postcss-selector-not@npm:^8.0.1": + version: 8.0.1 + resolution: "postcss-selector-not@npm:8.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/491ea3dcc421cd90135be786078521605e2062fb93624ea8813cfd5ba0d35143f931e2e608d5f20effd5ea7d3f4786d2afea2afa42d117779a0288e135f132b6 + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.16": + version: 6.1.2 + resolution: "postcss-selector-parser@npm:6.1.2" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^7.0.0": + version: 7.1.0 + resolution: "postcss-selector-parser@npm:7.1.0" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/0fef257cfd1c0fe93c18a3f8a6e739b4438b527054fd77e9a62730a89b2d0ded1b59314a7e4aaa55bc256204f40830fecd2eb50f20f8cb7ab3a10b52aa06c8aa + languageName: node + linkType: hard + +"postcss-sort-media-queries@npm:^5.2.0": + version: 5.2.0 + resolution: "postcss-sort-media-queries@npm:5.2.0" + dependencies: + sort-css-media-queries: "npm:2.2.0" + peerDependencies: + postcss: ^8.4.23 + checksum: 10c0/5e7f265a21999bdbf6592f7e15b3e889dd93bc9b15fe048958e8f85603ac276e69ef50305e8b41b10f4eea68917c9c25c7956fa9c3ba7f8577c1149416d35c4e + languageName: node + linkType: hard + +"postcss-svgo@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-svgo@npm:6.0.3" + dependencies: + postcss-value-parser: "npm:^4.2.0" + svgo: "npm:^3.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/994b15a88cbb411f32cfa98957faa5623c76f2d75fede51f5f47238f06b367ebe59c204fecbdaf21ccb9e727239a4b290087e04c502392658a0c881ddfbd61f2 + languageName: node + linkType: hard + +"postcss-unique-selectors@npm:^6.0.4": + version: 6.0.4 + resolution: "postcss-unique-selectors@npm:6.0.4" + dependencies: + postcss-selector-parser: "npm:^6.0.16" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/bfb99d8a7c675c93f2e65c9d9d563477bfd46fdce9e2727d42d57982b31ccbaaf944e8034bfbefe48b3119e77fba7eb1b181c19b91cb3a5448058fa66a7c9ae9 + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": + version: 4.2.0 + resolution: "postcss-value-parser@npm:4.2.0" + checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 + languageName: node + linkType: hard + +"postcss-zindex@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-zindex@npm:6.0.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/346291703e1f2dd954144d2bb251713dad6ae10e8aa05c3873dee2fc7a30d72da7866bec060abd932b9b839bc1495f73d813dde5312750a69d7ad33c435ce7ea + languageName: node + linkType: hard + +"postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.26, postcss@npm:^8.4.33, postcss@npm:^8.4.38": + version: 8.5.3 + resolution: "postcss@npm:8.5.3" + dependencies: + nanoid: "npm:^3.3.8" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/b75510d7b28c3ab728c8733dd01538314a18c52af426f199a3c9177e63eb08602a3938bfb66b62dc01350b9aed62087eabbf229af97a1659eb8d3513cec823b3 + languageName: node + linkType: hard + +"pretty-error@npm:^4.0.0": + version: 4.0.0 + resolution: "pretty-error@npm:4.0.0" + dependencies: + lodash: "npm:^4.17.20" + renderkid: "npm:^3.0.0" + checksum: 10c0/dc292c087e2857b2e7592784ab31e37a40f3fa918caa11eba51f9fb2853e1d4d6e820b219917e35f5721d833cfd20fdf4f26ae931a90fd1ad0cae2125c345138 + languageName: node + linkType: hard + +"pretty-time@npm:^1.1.0": + version: 1.1.0 + resolution: "pretty-time@npm:1.1.0" + checksum: 10c0/ba9d7af19cd43838fb2b147654990949575e400dc2cc24bf71ec4a6c4033a38ba8172b1014b597680c6d4d3c075e94648b2c13a7206c5f0c90b711c7388726f3 + languageName: node + linkType: hard + +"prism-react-renderer@npm:^2.1.0, prism-react-renderer@npm:^2.3.0": + version: 2.4.1 + resolution: "prism-react-renderer@npm:2.4.1" + dependencies: + "@types/prismjs": "npm:^1.26.0" + clsx: "npm:^2.0.0" + peerDependencies: + react: ">=16.0.0" + checksum: 10c0/ebbe8feb975224344bbdd046b3a937d121592dbe4b8f22ba0be31f5af37b9a8219f441138ef6cab1c5b96f2aa6b529015200959f7e5e85b60ca69c81d35edcd4 + languageName: node + linkType: hard + +"prismjs@npm:^1.29.0": + version: 1.30.0 + resolution: "prismjs@npm:1.30.0" + checksum: 10c0/f56205bfd58ef71ccfcbcb691fd0eb84adc96c6ff21b0b69fc6fdcf02be42d6ef972ba4aed60466310de3d67733f6a746f89f2fb79c00bf217406d465b3e8f23 + languageName: node + linkType: hard + +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"prompts@npm:^2.4.2": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: "npm:^3.0.3" + sisteransi: "npm:^1.0.5" + checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 + languageName: node + linkType: hard + +"prop-types@npm:^15.6.2, prop-types@npm:^15.7.2": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" + dependencies: + loose-envify: "npm:^1.4.0" + object-assign: "npm:^4.1.1" + react-is: "npm:^16.13.1" + checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 + languageName: node + linkType: hard + +"property-information@npm:^6.0.0": + version: 6.5.0 + resolution: "property-information@npm:6.5.0" + checksum: 10c0/981e0f9cc2e5acdb414a6fd48a99dd0fd3a4079e7a91ab41cf97a8534cf43e0e0bc1ffada6602a1b3d047a33db8b5fc2ef46d863507eda712d5ceedac443f0ef + languageName: node + linkType: hard + +"property-information@npm:^7.0.0": + version: 7.1.0 + resolution: "property-information@npm:7.1.0" + checksum: 10c0/e0fe22cff26103260ad0e82959229106563fa115a54c4d6c183f49d88054e489cc9f23452d3ad584179dc13a8b7b37411a5df873746b5e4086c865874bfa968e + languageName: node + linkType: hard + +"proto-list@npm:~1.2.1": + version: 1.2.4 + resolution: "proto-list@npm:1.2.4" + checksum: 10c0/b9179f99394ec8a68b8afc817690185f3b03933f7b46ce2e22c1930dc84b60d09f5ad222beab4e59e58c6c039c7f7fcf620397235ef441a356f31f9744010e12 + languageName: node + linkType: hard + +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: "npm:0.2.0" + ipaddr.js: "npm:1.9.1" + checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"pupa@npm:^3.1.0": + version: 3.1.0 + resolution: "pupa@npm:3.1.0" + dependencies: + escape-goat: "npm:^4.0.0" + checksum: 10c0/02afa6e4547a733484206aaa8f8eb3fbfb12d3dd17d7ca4fa1ea390a7da2cb8f381e38868bbf68009c4d372f8f6059f553171b6a712d8f2802c7cd43d513f06c + languageName: node + linkType: hard + +"qs@npm:6.13.0": + version: 6.13.0 + resolution: "qs@npm:6.13.0" + dependencies: + side-channel: "npm:^1.0.6" + checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"queue@npm:6.0.2": + version: 6.0.2 + resolution: "queue@npm:6.0.2" + dependencies: + inherits: "npm:~2.0.3" + checksum: 10c0/cf987476cc72e7d3aaabe23ccefaab1cd757a2b5e0c8d80b67c9575a6b5e1198807ffd4f0948a3f118b149d1111d810ee773473530b77a5c606673cac2c9c996 + languageName: node + linkType: hard + +"quick-lru@npm:^5.1.1": + version: 5.1.1 + resolution: "quick-lru@npm:5.1.1" + checksum: 10c0/a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da + languageName: node + linkType: hard + +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + +"range-parser@npm:1.2.0": + version: 1.2.0 + resolution: "range-parser@npm:1.2.0" + checksum: 10c0/c7aef4f6588eb974c475649c157f197d07437d8c6c8ff7e36280a141463fb5ab7a45918417334ebd7b665c6b8321cf31c763f7631dd5f5db9372249261b8b02a + languageName: node + linkType: hard + +"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 + languageName: node + linkType: hard + +"raw-body@npm:2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" + dependencies: + bytes: "npm:3.1.2" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + unpipe: "npm:1.0.0" + checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 + languageName: node + linkType: hard + +"rc@npm:1.2.8": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: "npm:^0.6.0" + ini: "npm:~1.3.0" + minimist: "npm:^1.2.0" + strip-json-comments: "npm:~2.0.1" + bin: + rc: ./cli.js + checksum: 10c0/24a07653150f0d9ac7168e52943cc3cb4b7a22c0e43c7dff3219977c2fdca5a2760a304a029c20811a0e79d351f57d46c9bde216193a0f73978496afc2b85b15 + languageName: node + linkType: hard + +"react-dev-utils@npm:^12.0.1": + version: 12.0.1 + resolution: "react-dev-utils@npm:12.0.1" + dependencies: + "@babel/code-frame": "npm:^7.16.0" + address: "npm:^1.1.2" + browserslist: "npm:^4.18.1" + chalk: "npm:^4.1.2" + cross-spawn: "npm:^7.0.3" + detect-port-alt: "npm:^1.1.6" + escape-string-regexp: "npm:^4.0.0" + filesize: "npm:^8.0.6" + find-up: "npm:^5.0.0" + fork-ts-checker-webpack-plugin: "npm:^6.5.0" + global-modules: "npm:^2.0.0" + globby: "npm:^11.0.4" + gzip-size: "npm:^6.0.0" + immer: "npm:^9.0.7" + is-root: "npm:^2.1.0" + loader-utils: "npm:^3.2.0" + open: "npm:^8.4.0" + pkg-up: "npm:^3.1.0" + prompts: "npm:^2.4.2" + react-error-overlay: "npm:^6.0.11" + recursive-readdir: "npm:^2.2.2" + shell-quote: "npm:^1.7.3" + strip-ansi: "npm:^6.0.1" + text-table: "npm:^0.2.0" + checksum: 10c0/94bc4ee5014290ca47a025e53ab2205c5dc0299670724d46a0b1bacbdd48904827b5ae410842d0a3a92481509097ae032e4a9dc7ca70db437c726eaba6411e82 + languageName: node + linkType: hard + +"react-dom@npm:^18.2.0": + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + scheduler: "npm:^0.23.2" + peerDependencies: + react: ^18.3.1 + checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 + languageName: node + linkType: hard + +"react-error-overlay@npm:^6.0.11": + version: 6.1.0 + resolution: "react-error-overlay@npm:6.1.0" + checksum: 10c0/2b52308b9e489dfaa25df85c7ed5c200371bc214245161a0833b729f9c6b1a2e591e1d1e07c3d3859ffa19b84a386c219d93df9ba13d819be34c20f40e71a555 + languageName: node + linkType: hard + +"react-fast-compare@npm:^3.2.0": + version: 3.2.2 + resolution: "react-fast-compare@npm:3.2.2" + checksum: 10c0/0bbd2f3eb41ab2ff7380daaa55105db698d965c396df73e6874831dbafec8c4b5b08ba36ff09df01526caa3c61595247e3269558c284e37646241cba2b90a367 + languageName: node + linkType: hard + +"react-helmet-async@npm:@slorber/react-helmet-async@*, react-helmet-async@npm:@slorber/react-helmet-async@1.3.0": + version: 1.3.0 + resolution: "@slorber/react-helmet-async@npm:1.3.0" + dependencies: + "@babel/runtime": "npm:^7.12.5" + invariant: "npm:^2.2.4" + prop-types: "npm:^15.7.2" + react-fast-compare: "npm:^3.2.0" + shallowequal: "npm:^1.1.0" + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/7a13470a0d27d6305657c7fa6b066443c94acdb22bd0decca772298bc852ce04fdc65f1207f0d546995bf7d4ca09e21c81f96b4954544937c01eda82e2caa142 + languageName: node + linkType: hard + +"react-icons@npm:^4.12.0": + version: 4.12.0 + resolution: "react-icons@npm:4.12.0" + peerDependencies: + react: "*" + checksum: 10c0/2170f43031ee7365539f72d4075cbe6c7fbf9a66d6cf4494aa9393b194272da0564f5b19d1b24dbfc567c0ac89f5fe5b8974d92dd83f61e252388dde6a226fb8 + languageName: node + linkType: hard + +"react-is@npm:^16.13.1, react-is@npm:^16.6.0, react-is@npm:^16.7.0": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 + languageName: node + linkType: hard + +"react-json-view-lite@npm:^1.2.0": + version: 1.5.0 + resolution: "react-json-view-lite@npm:1.5.0" + peerDependencies: + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + checksum: 10c0/e707717cb6b9d6cca5b138cdfb066e35ee7e493d1c88d4497e3a3a42b7651c8ff924ff53ad2da142a12b23b11379d39f38d8eee278c98c46cd6bc8844864b285 + languageName: node + linkType: hard + +"react-loadable-ssr-addon-v5-slorber@npm:^1.0.1": + version: 1.0.1 + resolution: "react-loadable-ssr-addon-v5-slorber@npm:1.0.1" + dependencies: + "@babel/runtime": "npm:^7.10.3" + peerDependencies: + react-loadable: "*" + webpack: ">=4.41.1 || 5.x" + checksum: 10c0/7b0645f66adec56646f985ba8094c66a1c0a4627d96ad80eea32431d773ef1f79aa47d3247a8f21db3b064a0c6091653c5b5d3483b7046722eb64e55bffe635c + languageName: node + linkType: hard "react-loadable@npm:@docusaurus/react-loadable@6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz#de6c7f73c96542bd70786b8e522d535d69069dc4" - integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== - dependencies: - "@types/react" "*" - -react-router-config@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/react-router-config/-/react-router-config-5.1.1.tgz#0f4263d1a80c6b2dc7b9c1902c9526478194a988" - integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg== - dependencies: - "@babel/runtime" "^7.1.2" - -react-router-dom@^5.3.4: - version "5.3.4" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.4.tgz#2ed62ffd88cae6db134445f4a0c0ae8b91d2e5e6" - integrity sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.3.4" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-router@5.3.4, react-router@^5.3.4: - version "5.3.4" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.4.tgz#8ca252d70fcc37841e31473c7a151cf777887bb5" - integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react@^18.2.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" - integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== - dependencies: - loose-envify "^1.1.0" - -readable-stream@^2.0.1: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -reading-time@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/reading-time/-/reading-time-1.5.0.tgz#d2a7f1b6057cb2e169beaf87113cc3411b5bc5bb" - integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -recma-build-jsx@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz#c02f29e047e103d2fab2054954e1761b8ea253c4" - integrity sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew== - dependencies: - "@types/estree" "^1.0.0" - estree-util-build-jsx "^3.0.0" - vfile "^6.0.0" - -recma-jsx@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/recma-jsx/-/recma-jsx-1.0.0.tgz#f7bef02e571a49d6ba3efdfda8e2efab48dbe3aa" - integrity sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q== - dependencies: - acorn-jsx "^5.0.0" - estree-util-to-js "^2.0.0" - recma-parse "^1.0.0" - recma-stringify "^1.0.0" - unified "^11.0.0" - -recma-parse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/recma-parse/-/recma-parse-1.0.0.tgz#c351e161bb0ab47d86b92a98a9d891f9b6814b52" - integrity sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ== - dependencies: - "@types/estree" "^1.0.0" - esast-util-from-js "^2.0.0" - unified "^11.0.0" - vfile "^6.0.0" - -recma-stringify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/recma-stringify/-/recma-stringify-1.0.0.tgz#54632030631e0c7546136ff9ef8fde8e7b44f130" - integrity sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g== - dependencies: - "@types/estree" "^1.0.0" - estree-util-to-js "^2.0.0" - unified "^11.0.0" - vfile "^6.0.0" - -recursive-readdir@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" - integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== - dependencies: - minimatch "^3.0.5" - -regenerate-unicode-properties@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" - integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regexpu-core@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" - integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.2.0" - regjsgen "^0.8.0" - regjsparser "^0.12.0" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -registry-auth-token@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.1.0.tgz#3c659047ecd4caebd25bc1570a3aa979ae490eca" - integrity sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw== - dependencies: - "@pnpm/npm-conf" "^2.1.0" - -registry-url@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-6.0.1.tgz#056d9343680f2f64400032b1e199faa692286c58" - integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== - dependencies: - rc "1.2.8" - -regjsgen@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" - integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== - -regjsparser@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc" - integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== - dependencies: - jsesc "~3.0.2" - -rehype-katex@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/rehype-katex/-/rehype-katex-7.0.1.tgz#832e6d7af2744a228981d1b0fe89483a9e7c93a1" - integrity sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA== - dependencies: - "@types/hast" "^3.0.0" - "@types/katex" "^0.16.0" - hast-util-from-html-isomorphic "^2.0.0" - hast-util-to-text "^4.0.0" - katex "^0.16.0" - unist-util-visit-parents "^6.0.0" - vfile "^6.0.0" - -rehype-minify-whitespace@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.2.tgz#7dd234ce0775656ce6b6b0aad0a6093de29b2278" - integrity sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw== - dependencies: - "@types/hast" "^3.0.0" - hast-util-minify-whitespace "^1.0.0" - -rehype-raw@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-7.0.0.tgz#59d7348fd5dbef3807bbaa1d443efd2dd85ecee4" - integrity sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww== - dependencies: - "@types/hast" "^3.0.0" - hast-util-raw "^9.0.0" - vfile "^6.0.0" - -rehype-recma@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rehype-recma/-/rehype-recma-1.0.0.tgz#d68ef6344d05916bd96e25400c6261775411aa76" - integrity sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw== - dependencies: - "@types/estree" "^1.0.0" - "@types/hast" "^3.0.0" - hast-util-to-estree "^3.0.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== - -remark-definition-list@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/remark-definition-list/-/remark-definition-list-2.0.0.tgz#0047c727416ffe64ee92f961d91100fda20db87b" - integrity sha512-OOJ0zUrfUGITUNxOBnsipyFUjqq1m4AgYOqQk10jDXyz+RoODJL3qYvRn8qzYQDzRnz1wlCP3dbDEOpl05LlQw== - dependencies: - hast-util-definition-list "^2.0.0" - mdast-util-definition-list "^2.0.0" - micromark-extension-definition-list "^2.0.0" - -remark-directive@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/remark-directive/-/remark-directive-3.0.1.tgz#689ba332f156cfe1118e849164cc81f157a3ef0a" - integrity sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-directive "^3.0.0" - micromark-extension-directive "^3.0.0" - unified "^11.0.0" - -remark-emoji@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-4.0.1.tgz#671bfda668047689e26b2078c7356540da299f04" - integrity sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg== - dependencies: - "@types/mdast" "^4.0.2" - emoticon "^4.0.1" - mdast-util-find-and-replace "^3.0.1" - node-emoji "^2.1.0" - unified "^11.0.4" - -remark-frontmatter@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz#b68d61552a421ec412c76f4f66c344627dc187a2" - integrity sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-frontmatter "^2.0.0" - micromark-extension-frontmatter "^2.0.0" - unified "^11.0.0" - -remark-gfm@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-4.0.1.tgz#33227b2a74397670d357bf05c098eaf8513f0d6b" - integrity sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-gfm "^3.0.0" - micromark-extension-gfm "^3.0.0" - remark-parse "^11.0.0" - remark-stringify "^11.0.0" - unified "^11.0.0" - -remark-math@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/remark-math/-/remark-math-6.0.0.tgz#0acdf74675f1c195fea6efffa78582f7ed7fc0d7" - integrity sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-math "^3.0.0" - micromark-extension-math "^3.0.0" - unified "^11.0.0" - -remark-mdx@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-3.1.0.tgz#f979be729ecb35318fa48e2135c1169607a78343" - integrity sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA== - dependencies: - mdast-util-mdx "^3.0.0" - micromark-extension-mdxjs "^3.0.0" - -remark-parse@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1" - integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-from-markdown "^2.0.0" - micromark-util-types "^2.0.0" - unified "^11.0.0" - -remark-rehype@^11.0.0: - version "11.1.2" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.1.2.tgz#2addaadda80ca9bd9aa0da763e74d16327683b37" - integrity sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - mdast-util-to-hast "^13.0.0" - unified "^11.0.0" - vfile "^6.0.0" - -remark-stringify@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-11.0.0.tgz#4c5b01dd711c269df1aaae11743eb7e2e7636fd3" - integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-to-markdown "^2.0.0" - unified "^11.0.0" - -renderkid@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" - integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^6.0.1" - -repeat-string@^1.0.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -"require-like@>= 0.1.1": - version "0.1.2" - resolved "https://registry.yarnpkg.com/require-like/-/require-like-0.1.2.tgz#ad6f30c13becd797010c468afa775c0c0a6b47fa" - integrity sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resolve-alpn@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-pathname@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" - integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== - -resolve@^1.1.6, resolve@^1.14.2: - version "1.22.10" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" - integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== - dependencies: - is-core-module "^2.16.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -responselike@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-3.0.0.tgz#20decb6c298aff0dbee1c355ca95461d42823626" - integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== - dependencies: - lowercase-keys "^3.0.0" - -retry@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -reusify@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" - integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rtlcss@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-4.3.0.tgz#f8efd4d5b64f640ec4af8fa25b65bacd9e07cc97" - integrity sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - postcss "^8.4.21" - strip-json-comments "^3.1.1" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sax@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" - integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== - -scheduler@^0.23.2: - version "0.23.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" - integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== - dependencies: - loose-envify "^1.1.0" - -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -schema-utils@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0, schema-utils@^4.0.1, schema-utils@^4.3.0, schema-utils@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae" - integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -section-matter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" - integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== - dependencies: - extend-shallow "^2.0.1" - kind-of "^6.0.0" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^2.1.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" - integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== - dependencies: - "@types/node-forge" "^1.3.0" - node-forge "^1" - -semver-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5" - integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== - dependencies: - semver "^7.3.5" - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.4: - version "7.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" - integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== - -send@0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" - integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -serve-handler@^6.1.6: - version "6.1.6" - resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.6.tgz#50803c1d3e947cd4a341d617f8209b22bd76cfa1" - integrity sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ== - dependencies: - bytes "3.0.0" - content-disposition "0.5.2" - mime-types "2.1.18" - minimatch "3.1.2" - path-is-inside "1.0.2" - path-to-regexp "3.3.0" - range-parser "1.2.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.16.2: - version "1.16.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" - integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== - dependencies: - encodeurl "~2.0.0" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.19.0" - -set-function-length@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.7.3, shell-quote@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" - integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== - -shelljs@^0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -side-channel-list@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" - integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== - dependencies: - es-errors "^1.3.0" - object-inspect "^1.13.3" - -side-channel-map@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" - integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - get-intrinsic "^1.2.5" - object-inspect "^1.13.3" - -side-channel-weakmap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" - integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - get-intrinsic "^1.2.5" - object-inspect "^1.13.3" - side-channel-map "^1.0.1" - -side-channel@^1.0.6: - version "1.1.0" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" - integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== - dependencies: - es-errors "^1.3.0" - object-inspect "^1.13.3" - side-channel-list "^1.0.0" - side-channel-map "^1.0.1" - side-channel-weakmap "^1.0.2" - -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sirv@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0" - integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== - dependencies: - "@polka/url" "^1.0.0-next.24" - mrmime "^2.0.0" - totalist "^3.0.0" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -sitemap@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.2.tgz#6ce1deb43f6f177c68bc59cf93632f54e3ae6b72" - integrity sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw== - dependencies: - "@types/node" "^17.0.5" - "@types/sax" "^1.2.1" - arg "^5.0.0" - sax "^1.2.4" - -skin-tone@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/skin-tone/-/skin-tone-2.0.0.tgz#4e3933ab45c0d4f4f781745d64b9f4c208e41237" - integrity sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA== - dependencies: - unicode-emoji-modifier-base "^1.0.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -snake-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" - integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -sockjs@^0.3.24: - version "0.3.24" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -sort-css-media-queries@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz#aa33cf4a08e0225059448b6c40eddbf9f1c8334c" - integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA== - -source-map-js@^1.0.1, source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@~0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.0: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -space-separated-tokens@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" - integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -srcset@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/srcset/-/srcset-4.0.0.tgz#336816b665b14cd013ba545b6fe62357f86e65f4" - integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -std-env@^3.7.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1" - integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw== - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -stringify-entities@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.4.tgz#b3b79ef5f277cc4ac73caeb0236c5ba939b3a4f3" - integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== - dependencies: - character-entities-html4 "^2.0.0" - character-entities-legacy "^3.0.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" - integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - -style-to-js@^1.0.0: - version "1.1.16" - resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.16.tgz#e6bd6cd29e250bcf8fa5e6591d07ced7575dbe7a" - integrity sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw== - dependencies: - style-to-object "1.0.8" - -style-to-object@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.8.tgz#67a29bca47eaa587db18118d68f9d95955e81292" - integrity sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g== - dependencies: - inline-style-parser "0.2.4" - -stylehacks@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.1.1.tgz#543f91c10d17d00a440430362d419f79c25545a6" - integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg== - dependencies: - browserslist "^4.23.0" - postcss-selector-parser "^6.0.16" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-parser@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svgo@^3.0.2, svgo@^3.2.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.3.2.tgz#ad58002652dffbb5986fc9716afe52d869ecbda8" - integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^5.1.0" - css-tree "^2.3.1" - css-what "^6.1.0" - csso "^5.0.5" - picocolors "^1.0.0" - -tapable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -terser-webpack-plugin@^5.3.11, terser-webpack-plugin@^5.3.9: - version "5.3.14" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06" - integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.25" - jest-worker "^27.4.5" - schema-utils "^4.3.0" - serialize-javascript "^6.0.2" - terser "^5.31.1" - -terser@^5.10.0, terser@^5.15.1, terser@^5.31.1: - version "5.39.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.39.1.tgz#1c80e6bde2b362c6f9f3e79e295c228a3882d983" - integrity sha512-Mm6+uad0ZuDtcV8/4uOZQDQ8RuiC5Pu+iZRedJtF7yA/27sPL7d++In/AJKpWZlU3SYMPPkVfwetn6sgZ66pUA== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -tiny-invariant@^1.0.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" - integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== - -tiny-warning@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" - integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -totalist@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" - integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== - -trim-lines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" - integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== - -trim-trailing-lines@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz#9aac7e89b09cb35badf663de7133c6de164f86df" - integrity sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg== - -trough@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" - integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== - -ts-dedent@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5" - integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== - -tslib@^2.0.3, tslib@^2.6.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^1.0.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - -type-fest@^2.13.0, type-fest@^2.5.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" - integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@~5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== - -undici-types@~6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" - integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" - integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== - -unicode-emoji-modifier-base@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz#dbbd5b54ba30f287e2a8d5a249da6c0cef369459" - integrity sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" - integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: - version "11.0.5" - resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.5.tgz#f66677610a5c0a9ee90cab2b8d4d66037026d9e1" - integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== - dependencies: - "@types/unist" "^3.0.0" - bail "^2.0.0" - devlop "^1.0.0" - extend "^3.0.0" - is-plain-obj "^4.0.0" - trough "^2.0.0" - vfile "^6.0.0" - -unique-string@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" - integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== - dependencies: - crypto-random-string "^4.0.0" - -unist-builder@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-4.0.0.tgz#817b326c015a6f9f5e92bb55b8e8bc5e578fe243" - integrity sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-find-after@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz#3fccc1b086b56f34c8b798e1ff90b5c54468e896" - integrity sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - -unist-util-is@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" - integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-position-from-estree@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz#d94da4df596529d1faa3de506202f0c9a23f2200" - integrity sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-position@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" - integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-remove-position@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz#fea68a25658409c9460408bc6b4991b965b52163" - integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== - dependencies: - "@types/unist" "^3.0.0" - unist-util-visit "^5.0.0" - -unist-util-stringify-position@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" - integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-visit-parents@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" - integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - -unist-util-visit@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" - integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - unist-util-visit-parents "^6.0.0" - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -update-browserslist-db@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" - integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.1" - -update-notifier@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-6.0.2.tgz#a6990253dfe6d5a02bd04fbb6a61543f55026b60" - integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og== - dependencies: - boxen "^7.0.0" - chalk "^5.0.1" - configstore "^6.0.0" - has-yarn "^3.0.0" - import-lazy "^4.0.0" - is-ci "^3.0.1" - is-installed-globally "^0.4.0" - is-npm "^6.0.0" - is-yarn-global "^0.4.0" - latest-version "^7.0.0" - pupa "^3.1.0" - semver "^7.3.7" - semver-diff "^4.0.0" - xdg-basedir "^5.1.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-loader@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" - integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== - dependencies: - loader-utils "^2.0.0" - mime-types "^2.1.27" - schema-utils "^3.0.0" - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== - -utility-types@^3.10.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c" - integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -value-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" - integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -vfile-location@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.3.tgz#cb9eacd20f2b6426d19451e0eafa3d0a846225c3" - integrity sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg== - dependencies: - "@types/unist" "^3.0.0" - vfile "^6.0.0" - -vfile-message@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181" - integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== - dependencies: - "@types/unist" "^3.0.0" - unist-util-stringify-position "^4.0.0" - -vfile@^6.0.0, vfile@^6.0.1: - version "6.0.3" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.3.tgz#3652ab1c496531852bf55a6bac57af981ebc38ab" - integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q== - dependencies: - "@types/unist" "^3.0.0" - vfile-message "^4.0.0" - -watchpack@^2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da" - integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -web-namespaces@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" - integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== - -webpack-bundle-analyzer@^4.10.2: - version "4.10.2" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz#633af2862c213730be3dbdf40456db171b60d5bd" - integrity sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw== - dependencies: - "@discoveryjs/json-ext" "0.5.7" - acorn "^8.0.4" - acorn-walk "^8.0.0" - commander "^7.2.0" - debounce "^1.2.1" - escape-string-regexp "^4.0.0" - gzip-size "^6.0.0" - html-escaper "^2.0.2" - opener "^1.5.2" - picocolors "^1.0.0" - sirv "^2.0.3" - ws "^7.3.1" - -webpack-dev-middleware@^5.3.4: - version "5.3.4" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" - integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== - dependencies: - colorette "^2.0.10" - memfs "^3.4.3" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.15.2: - version "4.15.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz#9e0c70a42a012560860adb186986da1248333173" - integrity sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.5" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - launch-editor "^2.6.0" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.4" - ws "^8.13.0" - -webpack-merge@^5.9.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" - integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== - dependencies: - clone-deep "^4.0.1" - flat "^5.0.2" - wildcard "^2.0.0" - -webpack-merge@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-6.0.1.tgz#50c776868e080574725abc5869bd6e4ef0a16c6a" - integrity sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg== - dependencies: - clone-deep "^4.0.1" - flat "^5.0.2" - wildcard "^2.0.1" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.88.1, webpack@^5.95.0: - version "5.99.8" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.99.8.tgz#dd31a020b7c092d30c4c6d9a4edb95809e7f5946" - integrity sha512-lQ3CPiSTpfOnrEGeXDwoq5hIGzSjmwD72GdfVzF7CQAI7t47rJG9eDWvcEkEn3CUQymAElVvDg3YNTlCYj+qUQ== - dependencies: - "@types/eslint-scope" "^3.7.7" - "@types/estree" "^1.0.6" - "@types/json-schema" "^7.0.15" - "@webassemblyjs/ast" "^1.14.1" - "@webassemblyjs/wasm-edit" "^1.14.1" - "@webassemblyjs/wasm-parser" "^1.14.1" - acorn "^8.14.0" - browserslist "^4.24.0" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.1" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.11" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^4.3.2" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.11" - watchpack "^2.4.1" - webpack-sources "^3.2.3" - -webpackbar@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-6.0.1.tgz#5ef57d3bf7ced8b19025477bc7496ea9d502076b" - integrity sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q== - dependencies: - ansi-escapes "^4.3.2" - chalk "^4.1.2" - consola "^3.2.3" - figures "^3.2.0" - markdown-table "^2.0.0" - pretty-time "^1.1.0" - std-env "^3.7.0" - wrap-ansi "^7.0.0" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -widest-line@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2" - integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== - dependencies: - string-width "^5.0.1" - -wildcard@^2.0.0, wildcard@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" - integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.3.1: - version "7.5.10" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" - integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== - -ws@^8.13.0: - version "8.18.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.2.tgz#42738b2be57ced85f46154320aabb51ab003705a" - integrity sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ== - -xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" - integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== - -xml-js@^1.6.11: - version "1.6.11" - resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" - integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== - dependencies: - sax "^1.2.4" - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yocto-queue@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.2.1.tgz#36d7c4739f775b3cbc28e6136e21aa057adec418" - integrity sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg== - -zwitch@^2.0.0, zwitch@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== + version: 6.0.0 + resolution: "@docusaurus/react-loadable@npm:6.0.0" + dependencies: + "@types/react": "npm:*" + peerDependencies: + react: "*" + checksum: 10c0/6b145d1a8d2e7342ceef58dd154aa990322f72a6cb98955ab8ce8e3f0dc7f0c5d00f9c2e4efa8d356c5effed72a130b5588857332b11faba0398f5429b484b04 + languageName: node + linkType: hard + +"react-router-config@npm:^5.1.1": + version: 5.1.1 + resolution: "react-router-config@npm:5.1.1" + dependencies: + "@babel/runtime": "npm:^7.1.2" + peerDependencies: + react: ">=15" + react-router: ">=5" + checksum: 10c0/1f8f4e55ca68b7b012293e663eb0ee4d670a3df929b78928f713ef98cd9d62c7f5c30a098d6668e64bbb11c7d6bb24e9e6b9c985a8b82465a1858dc7ba663f2b + languageName: node + linkType: hard + +"react-router-dom@npm:^5.3.4": + version: 5.3.4 + resolution: "react-router-dom@npm:5.3.4" + dependencies: + "@babel/runtime": "npm:^7.12.13" + history: "npm:^4.9.0" + loose-envify: "npm:^1.3.1" + prop-types: "npm:^15.6.2" + react-router: "npm:5.3.4" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" + peerDependencies: + react: ">=15" + checksum: 10c0/f04f727e2ed2e9d1d3830af02cc61690ff67b1524c0d18690582bfba0f4d14142ccc88fb6da6befad644fddf086f5ae4c2eb7048c67da8a0b0929c19426421b0 + languageName: node + linkType: hard + +"react-router@npm:5.3.4, react-router@npm:^5.3.4": + version: 5.3.4 + resolution: "react-router@npm:5.3.4" + dependencies: + "@babel/runtime": "npm:^7.12.13" + history: "npm:^4.9.0" + hoist-non-react-statics: "npm:^3.1.0" + loose-envify: "npm:^1.3.1" + path-to-regexp: "npm:^1.7.0" + prop-types: "npm:^15.6.2" + react-is: "npm:^16.6.0" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" + peerDependencies: + react: ">=15" + checksum: 10c0/e15c00dfef199249b4c6e6d98e5e76cc352ce66f3270f13df37cc069ddf7c05e43281e8c308fc407e4435d72924373baef1d2890e0f6b0b1eb423cf47315a053 + languageName: node + linkType: hard + +"react@npm:^18.2.0": + version: 18.3.1 + resolution: "react@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.1": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.3" + isarray: "npm:~1.0.0" + process-nextick-args: "npm:~2.0.0" + safe-buffer: "npm:~5.1.1" + string_decoder: "npm:~1.1.1" + util-deprecate: "npm:~1.0.1" + checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa + languageName: node + linkType: hard + +"readable-stream@npm:^3.0.6": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"reading-time@npm:^1.5.0": + version: 1.5.0 + resolution: "reading-time@npm:1.5.0" + checksum: 10c0/0f730852fd4fb99e5f78c5b0cf36ab8c3fa15db96f87d9563843f6fd07a47864273ade539ebb184b785b728cde81a70283aa2d9b80cba5ca03b81868be03cabc + languageName: node + linkType: hard + +"rechoir@npm:^0.6.2": + version: 0.6.2 + resolution: "rechoir@npm:0.6.2" + dependencies: + resolve: "npm:^1.1.6" + checksum: 10c0/22c4bb32f4934a9468468b608417194f7e3ceba9a508512125b16082c64f161915a28467562368eeb15dc16058eb5b7c13a20b9eb29ff9927d1ebb3b5aa83e84 + languageName: node + linkType: hard + +"recma-build-jsx@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-build-jsx@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-util-build-jsx: "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/ca30f5163887b44c74682355da2625f7b49f33267699d22247913e513e043650cbdd6a7497cf13c60f09ad9e7bc2bd35bd20853672773c19188569814b56bb04 + languageName: node + linkType: hard + +"recma-jsx@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-jsx@npm:1.0.0" + dependencies: + acorn-jsx: "npm:^5.0.0" + estree-util-to-js: "npm:^2.0.0" + recma-parse: "npm:^1.0.0" + recma-stringify: "npm:^1.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/26c2af6dd69336c810468b778be1e4cbac5702cf9382454f17c29cf9b03a4fde47d10385bb26a7ccb34f36fe01af34c24cab9fb0deeed066ea53294be0081f07 + languageName: node + linkType: hard + +"recma-parse@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-parse@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + esast-util-from-js: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/37c0990859a562d082e02d475ca5f4c8ef0840d285270f6699fe888cbb06260f97eb098585eda4aae416182c207fd19cf05e4f0b2dcf55cbf81dde4406d95545 + languageName: node + linkType: hard + +"recma-stringify@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-stringify@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-util-to-js: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/c2ed4c0e8cf8a09aedcd47c5d016d47f6e1ff6c2d4b220e2abaf1b77713bf404756af2ea3ea7999aec5862e8825aff035edceb370c7fd8603a7e9da03bd6987e + languageName: node + linkType: hard + +"recursive-readdir@npm:^2.2.2": + version: 2.2.3 + resolution: "recursive-readdir@npm:2.2.3" + dependencies: + minimatch: "npm:^3.0.5" + checksum: 10c0/d0238f137b03af9cd645e1e0b40ae78b6cda13846e3ca57f626fcb58a66c79ae018a10e926b13b3a460f1285acc946a4e512ea8daa2e35df4b76a105709930d1 + languageName: node + linkType: hard + +"regenerate-unicode-properties@npm:^10.2.0": + version: 10.2.0 + resolution: "regenerate-unicode-properties@npm:10.2.0" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10c0/5510785eeaf56bbfdf4e663d6753f125c08d2a372d4107bc1b756b7bf142e2ed80c2733a8b54e68fb309ba37690e66a0362699b0e21d5c1f0255dea1b00e6460 + languageName: node + linkType: hard + +"regenerate@npm:^1.4.2": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: 10c0/f73c9eba5d398c818edc71d1c6979eaa05af7a808682749dd079f8df2a6d91a9b913db216c2c9b03e0a8ba2bba8701244a93f45211afbff691c32c7b275db1b8 + languageName: node + linkType: hard + +"regexpu-core@npm:^6.2.0": + version: 6.2.0 + resolution: "regexpu-core@npm:6.2.0" + dependencies: + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.0" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.12.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 10c0/bbcb83a854bf96ce4005ee4e4618b71c889cda72674ce6092432f0039b47890c2d0dfeb9057d08d440999d9ea03879ebbb7f26ca005ccf94390e55c348859b98 + languageName: node + linkType: hard + +"registry-auth-token@npm:^5.0.1": + version: 5.1.0 + resolution: "registry-auth-token@npm:5.1.0" + dependencies: + "@pnpm/npm-conf": "npm:^2.1.0" + checksum: 10c0/316229bd8a4acc29a362a7a3862ff809e608256f0fd9e0b133412b43d6a9ea18743756a0ec5ee1467a5384e1023602b85461b3d88d1336b11879e42f7cf02c12 + languageName: node + linkType: hard + +"registry-url@npm:^6.0.0": + version: 6.0.1 + resolution: "registry-url@npm:6.0.1" + dependencies: + rc: "npm:1.2.8" + checksum: 10c0/66e2221c8113fc35ee9d23fe58cb516fc8d556a189fb8d6f1011a02efccc846c4c9b5075b4027b99a5d5c9ad1345ac37f297bea3c0ca30d607ec8084bf561b90 + languageName: node + linkType: hard + +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10c0/44f526c4fdbf0b29286101a282189e4dbb303f4013cf3fea058668d96d113b9180d3d03d1e13f6d4cbde38b7728bf951aecd9dc199938c080093a9a6f0d7a6bd + languageName: node + linkType: hard + +"regjsparser@npm:^0.12.0": + version: 0.12.0 + resolution: "regjsparser@npm:0.12.0" + dependencies: + jsesc: "npm:~3.0.2" + bin: + regjsparser: bin/parser + checksum: 10c0/99d3e4e10c8c7732eb7aa843b8da2fd8b647fe144d3711b480e4647dc3bff4b1e96691ccf17f3ace24aa866a50b064236177cb25e6e4fbbb18285d99edaed83b + languageName: node + linkType: hard + +"rehype-katex@npm:^7.0.1": + version: 7.0.1 + resolution: "rehype-katex@npm:7.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/katex": "npm:^0.16.0" + hast-util-from-html-isomorphic: "npm:^2.0.0" + hast-util-to-text: "npm:^4.0.0" + katex: "npm:^0.16.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/73c770319536128b75055d904d06951789d00a0552c11724c0dac2e244dcb21041630552d118a11cc42233fdcd1bfee525e78a0020fde635bd916cceb281dfb1 + languageName: node + linkType: hard + +"rehype-minify-whitespace@npm:^6.0.0": + version: 6.0.2 + resolution: "rehype-minify-whitespace@npm:6.0.2" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-minify-whitespace: "npm:^1.0.0" + checksum: 10c0/e808a452068392070dcba4ea0fdc24c783e21ddc9c70008f90827ddd29afa6fb82f77473bba91e06b48cef8575553f906fa8ab44ae59700f945eb0910927acd9 + languageName: node + linkType: hard + +"rehype-raw@npm:^7.0.0": + version: 7.0.0 + resolution: "rehype-raw@npm:7.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-raw: "npm:^9.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/1435b4b6640a5bc3abe3b2133885c4dbff5ef2190ef9cfe09d6a63f74dd7d7ffd0cede70603278560ccf1acbfb9da9faae4b68065a28bc5aa88ad18e40f32d52 + languageName: node + linkType: hard + +"rehype-recma@npm:^1.0.0": + version: 1.0.0 + resolution: "rehype-recma@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + hast-util-to-estree: "npm:^3.0.0" + checksum: 10c0/be60d7433a7f788a14f41da3e93ba9d9272c908ddef47757026cc4bbcc912f6301d56810349adf876d294a8d048626a0dbf6988aaa574afbfc29eac1ddc1eb74 + languageName: node + linkType: hard + +"relateurl@npm:^0.2.7": + version: 0.2.7 + resolution: "relateurl@npm:0.2.7" + checksum: 10c0/c248b4e3b32474f116a804b537fa6343d731b80056fb506dffd91e737eef4cac6be47a65aae39b522b0db9d0b1011d1a12e288d82a109ecd94a5299d82f6573a + languageName: node + linkType: hard + +"remark-definition-list@npm:^2.0.0": + version: 2.0.0 + resolution: "remark-definition-list@npm:2.0.0" + dependencies: + hast-util-definition-list: "npm:^2.0.0" + mdast-util-definition-list: "npm:^2.0.0" + micromark-extension-definition-list: "npm:^2.0.0" + checksum: 10c0/f352e41b0ee441be23cd70cf8e4e334c68020d638701a558d9d5d734319288089154a7552a56fe04226f933e99de3b3d2e975cef8af64300313a561da0bfe830 + languageName: node + linkType: hard + +"remark-directive@npm:^3.0.0": + version: 3.0.1 + resolution: "remark-directive@npm:3.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-directive: "npm:^3.0.0" + micromark-extension-directive: "npm:^3.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/ac0e60bdfd97063e2b4e18a96842567ae2ffea75f2545fcd7e4fe54806fb31629d60cef55b565333bda172eddee36766fe2535ca0b59208394bde676cd98094c + languageName: node + linkType: hard + +"remark-emoji@npm:^4.0.0": + version: 4.0.1 + resolution: "remark-emoji@npm:4.0.1" + dependencies: + "@types/mdast": "npm:^4.0.2" + emoticon: "npm:^4.0.1" + mdast-util-find-and-replace: "npm:^3.0.1" + node-emoji: "npm:^2.1.0" + unified: "npm:^11.0.4" + checksum: 10c0/27f88892215f3efe8f25c43f226a82d70144a1ae5906d36f6e09390b893b2d5524d5949bd8ca6a02be0e3cb5cba908b35c4221f4e07f34e93d13d6ff9347dbb8 + languageName: node + linkType: hard + +"remark-frontmatter@npm:^5.0.0": + version: 5.0.0 + resolution: "remark-frontmatter@npm:5.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-frontmatter: "npm:^2.0.0" + micromark-extension-frontmatter: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/102325d5edbcf30eaf74de8a0a6e03096cc2370dfef19080fd2dd208f368fbb2323388751ac9931a1aa38a4f2828fa4bad6c52dc5249dcadcd34861693b52bf9 + languageName: node + linkType: hard + +"remark-gfm@npm:^4.0.0": + version: 4.0.1 + resolution: "remark-gfm@npm:4.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-gfm: "npm:^3.0.0" + micromark-extension-gfm: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-stringify: "npm:^11.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/427ecc6af3e76222662061a5f670a3e4e33ec5fffe2cabf04034da6a3f9a1bda1fc023e838a636385ba314e66e2bebbf017ca61ebea357eb0f5200fe0625a4b7 + languageName: node + linkType: hard + +"remark-math@npm:^6.0.0": + version: 6.0.0 + resolution: "remark-math@npm:6.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-math: "npm:^3.0.0" + micromark-extension-math: "npm:^3.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/859613c4db194bb6b3c9c063661dc52b8ceda9c5cf3256b42f73d93eb8f38a6d634eb5f976fe094425f6f1035aaf329eb49ada314feb3b2b1073326b6d3aaa02 + languageName: node + linkType: hard + +"remark-mdx@npm:^3.0.0": + version: 3.1.0 + resolution: "remark-mdx@npm:3.1.0" + dependencies: + mdast-util-mdx: "npm:^3.0.0" + micromark-extension-mdxjs: "npm:^3.0.0" + checksum: 10c0/247800fa8561624bdca5776457c5965d99e5e60080e80262c600fe12ddd573862e029e39349e1e36e4c3bf79c8e571ecf4d3d2d8c13485b758391fb500e24a1a + languageName: node + linkType: hard + +"remark-parse@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-parse@npm:11.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/6eed15ddb8680eca93e04fcb2d1b8db65a743dcc0023f5007265dda558b09db595a087f622062ccad2630953cd5cddc1055ce491d25a81f3317c858348a8dd38 + languageName: node + linkType: hard + +"remark-rehype@npm:^11.0.0": + version: 11.1.2 + resolution: "remark-rehype@npm:11.1.2" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + mdast-util-to-hast: "npm:^13.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/f9eccacfb596d9605581dc05bfad28635d6ded5dd0a18e88af5fd4df0d3fcf9612e1501d4513bc2164d833cfe9636dab20400080b09e53f155c6e1442a1231fb + languageName: node + linkType: hard + +"remark-stringify@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-stringify@npm:11.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/0cdb37ce1217578f6f847c7ec9f50cbab35df5b9e3903d543e74b405404e67c07defcb23cd260a567b41b769400f6de03c2c3d9cd6ae7a6707d5c8d89ead489f + languageName: node + linkType: hard + +"renderkid@npm:^3.0.0": + version: 3.0.0 + resolution: "renderkid@npm:3.0.0" + dependencies: + css-select: "npm:^4.1.3" + dom-converter: "npm:^0.2.0" + htmlparser2: "npm:^6.1.0" + lodash: "npm:^4.17.21" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/24a9fae4cc50e731d059742d1b3eec163dc9e3872b12010d120c3fcbd622765d9cda41f79a1bbb4bf63c1d3442f18a08f6e1642cb5d7ebf092a0ce3f7a3bd143 + languageName: node + linkType: hard + +"repeat-string@npm:^1.0.0": + version: 1.6.1 + resolution: "repeat-string@npm:1.6.1" + checksum: 10c0/87fa21bfdb2fbdedc44b9a5b118b7c1239bdd2c2c1e42742ef9119b7d412a5137a1d23f1a83dc6bb686f4f27429ac6f542e3d923090b44181bafa41e8ac0174d + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"require-like@npm:>= 0.1.1": + version: 0.1.2 + resolution: "require-like@npm:0.1.2" + checksum: 10c0/9035ff6c4000a56ede6fc51dd5c56541fafa5a7dddc9b1c3a5f9148d95ee21c603c9bf5c6e37b19fc7de13d9294260842d8590b2ffd6c7c773e78603d1af8050 + languageName: node + linkType: hard + +"requires-port@npm:^1.0.0": + version: 1.0.0 + resolution: "requires-port@npm:1.0.0" + checksum: 10c0/b2bfdd09db16c082c4326e573a82c0771daaf7b53b9ce8ad60ea46aa6e30aaf475fe9b164800b89f93b748d2c234d8abff945d2551ba47bf5698e04cd7713267 + languageName: node + linkType: hard + +"resolve-alpn@npm:^1.2.0": + version: 1.2.1 + resolution: "resolve-alpn@npm:1.2.1" + checksum: 10c0/b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"resolve-pathname@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-pathname@npm:3.0.0" + checksum: 10c0/c6ec49b670dc35b9a303c47fa83ba9348a71e92d64a4c4bb85e1b659a29b407aa1ac1cb14a9b5b502982132ca77482bd80534bca147439d66880d35a137fe723 + languageName: node + linkType: hard + +"resolve@npm:^1.1.6, resolve@npm:^1.14.2": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin": + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 + languageName: node + linkType: hard + +"responselike@npm:^3.0.0": + version: 3.0.0 + resolution: "responselike@npm:3.0.0" + dependencies: + lowercase-keys: "npm:^3.0.0" + checksum: 10c0/8af27153f7e47aa2c07a5f2d538cb1e5872995f0e9ff77def858ecce5c3fe677d42b824a62cde502e56d275ab832b0a8bd350d5cd6b467ac0425214ac12ae658 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"retry@npm:^0.13.1": + version: 0.13.1 + resolution: "retry@npm:0.13.1" + checksum: 10c0/9ae822ee19db2163497e074ea919780b1efa00431d197c7afdb950e42bf109196774b92a49fc9821f0b8b328a98eea6017410bfc5e8a0fc19c85c6d11adb3772 + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa + languageName: node + linkType: hard + +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: bin.js + checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + languageName: node + linkType: hard + +"rtlcss@npm:^4.1.0": + version: 4.3.0 + resolution: "rtlcss@npm:4.3.0" + dependencies: + escalade: "npm:^3.1.1" + picocolors: "npm:^1.0.0" + postcss: "npm:^8.4.21" + strip-json-comments: "npm:^3.1.1" + bin: + rtlcss: bin/rtlcss.js + checksum: 10c0/ec59db839e1446b4cd6dcef618c8986f00d67e0ac3c2d40bd9041f1909aaacd668072c90849906ca692dea25cd993f46e9188b4c36adfa5bd3eebeb945fb28f2 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"sax@npm:^1.2.4": + version: 1.4.1 + resolution: "sax@npm:1.4.1" + checksum: 10c0/6bf86318a254c5d898ede6bd3ded15daf68ae08a5495a2739564eb265cd13bcc64a07ab466fb204f67ce472bb534eb8612dac587435515169593f4fffa11de7c + languageName: node + linkType: hard + +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 + languageName: node + linkType: hard + +"schema-utils@npm:2.7.0": + version: 2.7.0 + resolution: "schema-utils@npm:2.7.0" + dependencies: + "@types/json-schema": "npm:^7.0.4" + ajv: "npm:^6.12.2" + ajv-keywords: "npm:^3.4.1" + checksum: 10c0/723c3c856a0313a89aa81c5fb2c93d4b11225f5cdd442665fddd55d3c285ae72e079f5286a3a9a1a973affe888f6c33554a2cf47b79b24cd8de2f1f756a6fb1b + languageName: node + linkType: hard + +"schema-utils@npm:^3.0.0": + version: 3.3.0 + resolution: "schema-utils@npm:3.3.0" + dependencies: + "@types/json-schema": "npm:^7.0.8" + ajv: "npm:^6.12.5" + ajv-keywords: "npm:^3.5.2" + checksum: 10c0/fafdbde91ad8aa1316bc543d4b61e65ea86970aebbfb750bfb6d8a6c287a23e415e0e926c2498696b242f63af1aab8e585252637fabe811fd37b604351da6500 + languageName: node + linkType: hard + +"schema-utils@npm:^4.0.0, schema-utils@npm:^4.0.1, schema-utils@npm:^4.3.0, schema-utils@npm:^4.3.2": + version: 4.3.2 + resolution: "schema-utils@npm:4.3.2" + dependencies: + "@types/json-schema": "npm:^7.0.9" + ajv: "npm:^8.9.0" + ajv-formats: "npm:^2.1.1" + ajv-keywords: "npm:^5.1.0" + checksum: 10c0/981632f9bf59f35b15a9bcdac671dd183f4946fe4b055ae71a301e66a9797b95e5dd450de581eb6cca56fb6583ce8f24d67b2d9f8e1b2936612209697f6c277e + languageName: node + linkType: hard + +"section-matter@npm:^1.0.0": + version: 1.0.0 + resolution: "section-matter@npm:1.0.0" + dependencies: + extend-shallow: "npm:^2.0.1" + kind-of: "npm:^6.0.0" + checksum: 10c0/8007f91780adc5aaa781a848eaae50b0f680bbf4043b90cf8a96778195b8fab690c87fe7a989e02394ce69890e330811ec8dab22397d384673ce59f7d750641d + languageName: node + linkType: hard + +"select-hose@npm:^2.0.0": + version: 2.0.0 + resolution: "select-hose@npm:2.0.0" + checksum: 10c0/01cc52edd29feddaf379efb4328aededa633f0ac43c64b11a8abd075ff34f05b0d280882c4fbcbdf1a0658202c9cd2ea8d5985174dcf9a2dac7e3a4996fa9b67 + languageName: node + linkType: hard + +"selfsigned@npm:^2.1.1": + version: 2.4.1 + resolution: "selfsigned@npm:2.4.1" + dependencies: + "@types/node-forge": "npm:^1.3.0" + node-forge: "npm:^1" + checksum: 10c0/521829ec36ea042f7e9963bf1da2ed040a815cf774422544b112ec53b7edc0bc50a0f8cc2ae7aa6cc19afa967c641fd96a15de0fc650c68651e41277d2e1df09 + languageName: node + linkType: hard + +"semver-diff@npm:^4.0.0": + version: 4.0.0 + resolution: "semver-diff@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/3ed1bb22f39b4b6e98785bb066e821eabb9445d3b23e092866c50e7df8b9bd3eda617b242f81db4159586e0e39b0deb908dd160a24f783bd6f52095b22cd68ea + languageName: node + linkType: hard + +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.4": + version: 7.7.2 + resolution: "semver@npm:7.7.2" + bin: + semver: bin/semver.js + checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea + languageName: node + linkType: hard + +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" + dependencies: + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + mime: "npm:1.6.0" + ms: "npm:2.1.3" + on-finished: "npm:2.4.1" + range-parser: "npm:~1.2.1" + statuses: "npm:2.0.1" + checksum: 10c0/ea3f8a67a8f0be3d6bf9080f0baed6d2c51d11d4f7b4470de96a5029c598a7011c497511ccc28968b70ef05508675cebff27da9151dd2ceadd60be4e6cf845e3 + languageName: node + linkType: hard + +"serialize-javascript@npm:^6.0.0, serialize-javascript@npm:^6.0.1, serialize-javascript@npm:^6.0.2": + version: 6.0.2 + resolution: "serialize-javascript@npm:6.0.2" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 + languageName: node + linkType: hard + +"serve-handler@npm:^6.1.6": + version: 6.1.6 + resolution: "serve-handler@npm:6.1.6" + dependencies: + bytes: "npm:3.0.0" + content-disposition: "npm:0.5.2" + mime-types: "npm:2.1.18" + minimatch: "npm:3.1.2" + path-is-inside: "npm:1.0.2" + path-to-regexp: "npm:3.3.0" + range-parser: "npm:1.2.0" + checksum: 10c0/1e1cb6bbc51ee32bc1505f2e0605bdc2e96605c522277c977b67f83be9d66bd1eec8604388714a4d728e036d86b629bc9aec02120ea030d3d2c3899d44696503 + languageName: node + linkType: hard + +"serve-index@npm:^1.9.1": + version: 1.9.1 + resolution: "serve-index@npm:1.9.1" + dependencies: + accepts: "npm:~1.3.4" + batch: "npm:0.6.1" + debug: "npm:2.6.9" + escape-html: "npm:~1.0.3" + http-errors: "npm:~1.6.2" + mime-types: "npm:~2.1.17" + parseurl: "npm:~1.3.2" + checksum: 10c0/a666471a24196f74371edf2c3c7bcdd82adbac52f600804508754b5296c3567588bf694258b19e0cb23a567acfa20d9721bfdaed3286007b81f9741ada8a3a9c + languageName: node + linkType: hard + +"serve-static@npm:1.16.2": + version: 1.16.2 + resolution: "serve-static@npm:1.16.2" + dependencies: + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + parseurl: "npm:~1.3.3" + send: "npm:0.19.0" + checksum: 10c0/528fff6f5e12d0c5a391229ad893910709bc51b5705962b09404a1d813857578149b8815f35d3ee5752f44cd378d0f31669d4b1d7e2d11f41e08283d5134bd1f + languageName: node + linkType: hard + +"set-function-length@npm:^1.2.2": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c + languageName: node + linkType: hard + +"setprototypeof@npm:1.1.0": + version: 1.1.0 + resolution: "setprototypeof@npm:1.1.0" + checksum: 10c0/a77b20876689c6a89c3b42f0c3596a9cae02f90fc902570cbd97198e9e8240382086c9303ad043e88cee10f61eae19f1004e51d885395a1e9bf49f9ebed12872 + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc + languageName: node + linkType: hard + +"shallow-clone@npm:^3.0.0": + version: 3.0.1 + resolution: "shallow-clone@npm:3.0.1" + dependencies: + kind-of: "npm:^6.0.2" + checksum: 10c0/7bab09613a1b9f480c85a9823aebec533015579fa055ba6634aa56ba1f984380670eaf33b8217502931872aa1401c9fcadaa15f9f604d631536df475b05bcf1e + languageName: node + linkType: hard + +"shallowequal@npm:^1.1.0": + version: 1.1.0 + resolution: "shallowequal@npm:1.1.0" + checksum: 10c0/b926efb51cd0f47aa9bc061add788a4a650550bbe50647962113a4579b60af2abe7b62f9b02314acc6f97151d4cf87033a2b15fc20852fae306d1a095215396c + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shell-quote@npm:^1.7.3, shell-quote@npm:^1.8.1": + version: 1.8.2 + resolution: "shell-quote@npm:1.8.2" + checksum: 10c0/85fdd44f2ad76e723d34eb72c753f04d847ab64e9f1f10677e3f518d0e5b0752a176fd805297b30bb8c3a1556ebe6e77d2288dbd7b7b0110c7e941e9e9c20ce1 + languageName: node + linkType: hard + +"shelljs@npm:^0.8.5": + version: 0.8.5 + resolution: "shelljs@npm:0.8.5" + dependencies: + glob: "npm:^7.0.0" + interpret: "npm:^1.0.0" + rechoir: "npm:^0.6.2" + bin: + shjs: bin/shjs + checksum: 10c0/feb25289a12e4bcd04c40ddfab51aff98a3729f5c2602d5b1a1b95f6819ec7804ac8147ebd8d9a85dfab69d501bcf92d7acef03247320f51c1552cec8d8e2382 + languageName: node + linkType: hard + +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 + languageName: node + linkType: hard + +"side-channel@npm:^1.0.6": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"sirv@npm:^2.0.3": + version: 2.0.4 + resolution: "sirv@npm:2.0.4" + dependencies: + "@polka/url": "npm:^1.0.0-next.24" + mrmime: "npm:^2.0.0" + totalist: "npm:^3.0.0" + checksum: 10c0/68f8ee857f6a9415e9c07a1f31c7c561df8d5f1b1ba79bee3de583fa37da8718def5309f6b1c6e2c3ef77de45d74f5e49efc7959214443aa92d42e9c99180a4e + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 + languageName: node + linkType: hard + +"sitemap@npm:^7.1.1": + version: 7.1.2 + resolution: "sitemap@npm:7.1.2" + dependencies: + "@types/node": "npm:^17.0.5" + "@types/sax": "npm:^1.2.1" + arg: "npm:^5.0.0" + sax: "npm:^1.2.4" + bin: + sitemap: dist/cli.js + checksum: 10c0/01dd1268c0d4b89f8ef082bcb9ef18d0182d00d1622e9c54743474918169491e5360538f9a01a769262e0fe23d6e3822a90680eff0f076cf87b68d459014a34c + languageName: node + linkType: hard + +"skin-tone@npm:^2.0.0": + version: 2.0.0 + resolution: "skin-tone@npm:2.0.0" + dependencies: + unicode-emoji-modifier-base: "npm:^1.0.0" + checksum: 10c0/82d4c2527864f9cbd6cb7f3c4abb31e2224752234d5013b881d3e34e9ab543545b05206df5a17d14b515459fcb265ce409f9cfe443903176b0360cd20e4e4ba5 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"slash@npm:^4.0.0": + version: 4.0.0 + resolution: "slash@npm:4.0.0" + checksum: 10c0/b522ca75d80d107fd30d29df0549a7b2537c83c4c4ecd12cd7d4ea6c8aaca2ab17ada002e7a1d78a9d736a0261509f26ea5b489082ee443a3a810586ef8eff18 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"snake-case@npm:^3.0.4": + version: 3.0.4 + resolution: "snake-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/ab19a913969f58f4474fe9f6e8a026c8a2142a01f40b52b79368068343177f818cdfef0b0c6b9558f298782441d5ca8ed5932eb57822439fad791d866e62cecd + languageName: node + linkType: hard + +"sockjs@npm:^0.3.24": + version: 0.3.24 + resolution: "sockjs@npm:0.3.24" + dependencies: + faye-websocket: "npm:^0.11.3" + uuid: "npm:^8.3.2" + websocket-driver: "npm:^0.7.4" + checksum: 10c0/aa102c7d921bf430215754511c81ea7248f2dcdf268fbdb18e4d8183493a86b8793b164c636c52f474a886f747447c962741df2373888823271efdb9d2594f33 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.4 + resolution: "socks@npm:2.8.4" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 + languageName: node + linkType: hard + +"sort-css-media-queries@npm:2.2.0": + version: 2.2.0 + resolution: "sort-css-media-queries@npm:2.2.0" + checksum: 10c0/7478308c7ca93409f959ab993d41de2f0515ed5f51b671908ecb777aae0d63be97b454d59d80e14ee4874884618a2e825d4ae7ccb225779276904dd175f4e766 + languageName: node + linkType: hard + +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"source-map-support@npm:~0.5.20": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:~0.6.0": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"source-map@npm:^0.7.0": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc + languageName: node + linkType: hard + +"space-separated-tokens@npm:^2.0.0": + version: 2.0.2 + resolution: "space-separated-tokens@npm:2.0.2" + checksum: 10c0/6173e1d903dca41dcab6a2deed8b4caf61bd13b6d7af8374713500570aa929ff9414ae09a0519f4f8772df993300305a395d4871f35bc4ca72b6db57e1f30af8 + languageName: node + linkType: hard + +"spdy-transport@npm:^3.0.0": + version: 3.0.0 + resolution: "spdy-transport@npm:3.0.0" + dependencies: + debug: "npm:^4.1.0" + detect-node: "npm:^2.0.4" + hpack.js: "npm:^2.1.6" + obuf: "npm:^1.1.2" + readable-stream: "npm:^3.0.6" + wbuf: "npm:^1.7.3" + checksum: 10c0/eaf7440fa90724fffc813c386d4a8a7427d967d6e46d7c51d8f8a533d1a6911b9823ea9218703debbae755337e85f110185d7a00ae22ec5c847077b908ce71bb + languageName: node + linkType: hard + +"spdy@npm:^4.0.2": + version: 4.0.2 + resolution: "spdy@npm:4.0.2" + dependencies: + debug: "npm:^4.1.0" + handle-thing: "npm:^2.0.0" + http-deceiver: "npm:^1.2.7" + select-hose: "npm:^2.0.0" + spdy-transport: "npm:^3.0.0" + checksum: 10c0/983509c0be9d06fd00bb9dff713c5b5d35d3ffd720db869acdd5ad7aa6fc0e02c2318b58f75328957d8ff772acdf1f7d19382b6047df342044ff3e2d6805ccdf + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"srcset@npm:^4.0.0": + version: 4.0.0 + resolution: "srcset@npm:4.0.0" + checksum: 10c0/0685c3bd2423b33831734fb71560cd8784f024895e70ee2ac2c392e30047c27ffd9481e001950fb0503f4906bc3fe963145935604edad77944d09c9800990660 + languageName: node + linkType: hard + +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d + languageName: node + linkType: hard + +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 + languageName: node + linkType: hard + +"statuses@npm:>= 1.4.0 < 2": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: 10c0/e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940 + languageName: node + linkType: hard + +"std-env@npm:^3.7.0": + version: 3.9.0 + resolution: "std-env@npm:3.9.0" + checksum: 10c0/4a6f9218aef3f41046c3c7ecf1f98df00b30a07f4f35c6d47b28329bc2531eef820828951c7d7b39a1c5eb19ad8a46e3ddfc7deb28f0a2f3ceebee11bab7ba50 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: "npm:~5.1.0" + checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e + languageName: node + linkType: hard + +"stringify-entities@npm:^4.0.0": + version: 4.0.4 + resolution: "stringify-entities@npm:4.0.4" + dependencies: + character-entities-html4: "npm:^2.0.0" + character-entities-legacy: "npm:^3.0.0" + checksum: 10c0/537c7e656354192406bdd08157d759cd615724e9d0873602d2c9b2f6a5c0a8d0b1d73a0a08677848105c5eebac6db037b57c0b3a4ec86331117fa7319ed50448 + languageName: node + linkType: hard + +"stringify-object@npm:^3.3.0": + version: 3.3.0 + resolution: "stringify-object@npm:3.3.0" + dependencies: + get-own-enumerable-property-symbols: "npm:^3.0.0" + is-obj: "npm:^1.0.1" + is-regexp: "npm:^1.0.0" + checksum: 10c0/ba8078f84128979ee24b3de9a083489cbd3c62cb8572a061b47d4d82601a8ae4b4d86fa8c54dd955593da56bb7c16a6de51c27221fdc6b7139bb4f29d815f35b + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-bom-string@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-bom-string@npm:1.0.0" + checksum: 10c0/5c5717e2643225aa6a6d659d34176ab2657037f1fe2423ac6fcdb488f135e14fef1022030e426d8b4d0989e09adbd5c3288d5d3b9c632abeefd2358dfc512bca + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 + languageName: node + linkType: hard + +"style-to-js@npm:^1.0.0": + version: 1.1.16 + resolution: "style-to-js@npm:1.1.16" + dependencies: + style-to-object: "npm:1.0.8" + checksum: 10c0/578a4dff804539ec7e64d3cc8d327540befb9ad30e3cd0b6b0392f93f793f3a028f90084a9aaff088bffb87818fa2c6c153f0df576f61f9ab0b0938b582bcac7 + languageName: node + linkType: hard + +"style-to-object@npm:1.0.8": + version: 1.0.8 + resolution: "style-to-object@npm:1.0.8" + dependencies: + inline-style-parser: "npm:0.2.4" + checksum: 10c0/daa6646b1ff18258c0ca33ed281fbe73485c8391192db1b56ce89d40c93ea64507a41e8701d0dadfe771bc2f540c46c9b295135f71584c8e5cb23d6a19be9430 + languageName: node + linkType: hard + +"stylehacks@npm:^6.1.1": + version: 6.1.1 + resolution: "stylehacks@npm:6.1.1" + dependencies: + browserslist: "npm:^4.23.0" + postcss-selector-parser: "npm:^6.0.16" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/2dd2bccfd8311ff71492e63a7b8b86c3d7b1fff55d4ba5a2357aff97743e633d351cdc2f5ae3c0057637d00dab4ef5fc5b218a1b370e4585a41df22b5a5128be + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-color@npm:^8.0.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"svg-parser@npm:^2.0.4": + version: 2.0.4 + resolution: "svg-parser@npm:2.0.4" + checksum: 10c0/02f6cb155dd7b63ebc2f44f36365bc294543bebb81b614b7628f1af3c54ab64f7e1cec20f06e252bf95bdde78441ae295a412c68ad1678f16a6907d924512b7a + languageName: node + linkType: hard + +"svgo@npm:^3.0.2, svgo@npm:^3.2.0": + version: 3.3.2 + resolution: "svgo@npm:3.3.2" + dependencies: + "@trysound/sax": "npm:0.2.0" + commander: "npm:^7.2.0" + css-select: "npm:^5.1.0" + css-tree: "npm:^2.3.1" + css-what: "npm:^6.1.0" + csso: "npm:^5.0.5" + picocolors: "npm:^1.0.0" + bin: + svgo: ./bin/svgo + checksum: 10c0/a6badbd3d1d6dbb177f872787699ab34320b990d12e20798ecae915f0008796a0f3c69164f1485c9def399e0ce0a5683eb4a8045e51a5e1c364bb13a0d9f79e1 + languageName: node + linkType: hard + +"tapable@npm:^1.0.0": + version: 1.1.3 + resolution: "tapable@npm:1.1.3" + checksum: 10c0/c9f0265e55e45821ec672b9b9ee8a35d95bf3ea6b352199f8606a2799018e89cfe4433c554d424b31fc67c4be26b05d4f36dc3c607def416fdb2514cd63dba50 + languageName: node + linkType: hard + +"tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 10c0/bc40e6efe1e554d075469cedaba69a30eeb373552aaf41caeaaa45bf56ffacc2674261b106245bd566b35d8f3329b52d838e851ee0a852120acae26e622925c9 + languageName: node + linkType: hard + +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d + languageName: node + linkType: hard + +"terser-webpack-plugin@npm:^5.3.11, terser-webpack-plugin@npm:^5.3.9": + version: 5.3.14 + resolution: "terser-webpack-plugin@npm:5.3.14" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.25" + jest-worker: "npm:^27.4.5" + schema-utils: "npm:^4.3.0" + serialize-javascript: "npm:^6.0.2" + terser: "npm:^5.31.1" + peerDependencies: + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + checksum: 10c0/9b060947241af43bd6fd728456f60e646186aef492163672a35ad49be6fbc7f63b54a7356c3f6ff40a8f83f00a977edc26f044b8e106cc611c053c8c0eaf8569 + languageName: node + linkType: hard + +"terser@npm:^5.10.0, terser@npm:^5.15.1, terser@npm:^5.31.1": + version: 5.39.1 + resolution: "terser@npm:5.39.1" + dependencies: + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.8.2" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 10c0/d49e06dd4dd03661dac41f45c9cf187b2aa3fe80775235e838398c29311705169387c007f398ab44cd1bd8f89b14a1eea383feaa95c1cae29e3f5b6b606b6b37 + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c + languageName: node + linkType: hard + +"thunky@npm:^1.0.2": + version: 1.1.0 + resolution: "thunky@npm:1.1.0" + checksum: 10c0/369764f39de1ce1de2ba2fa922db4a3f92e9c7f33bcc9a713241bc1f4a5238b484c17e0d36d1d533c625efb00e9e82c3e45f80b47586945557b45abb890156d2 + languageName: node + linkType: hard + +"tiny-invariant@npm:^1.0.2": + version: 1.3.3 + resolution: "tiny-invariant@npm:1.3.3" + checksum: 10c0/65af4a07324b591a059b35269cd696aba21bef2107f29b9f5894d83cc143159a204b299553435b03874ebb5b94d019afa8b8eff241c8a4cfee95872c2e1c1c4a + languageName: node + linkType: hard + +"tiny-warning@npm:^1.0.0": + version: 1.0.3 + resolution: "tiny-warning@npm:1.0.3" + checksum: 10c0/ef8531f581b30342f29670cb41ca248001c6fd7975ce22122bd59b8d62b4fc84ad4207ee7faa95cde982fa3357cd8f4be650142abc22805538c3b1392d7084fa + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.13 + resolution: "tinyglobby@npm:0.2.13" + dependencies: + fdir: "npm:^6.4.4" + picomatch: "npm:^4.0.2" + checksum: 10c0/ef07dfaa7b26936601d3f6d999f7928a4d1c6234c5eb36896bb88681947c0d459b7ebe797022400e555fe4b894db06e922b95d0ce60cb05fd827a0a66326b18c + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 + languageName: node + linkType: hard + +"totalist@npm:^3.0.0": + version: 3.0.1 + resolution: "totalist@npm:3.0.1" + checksum: 10c0/4bb1fadb69c3edbef91c73ebef9d25b33bbf69afe1e37ce544d5f7d13854cda15e47132f3e0dc4cafe300ddb8578c77c50a65004d8b6e97e77934a69aa924863 + languageName: node + linkType: hard + +"trim-lines@npm:^3.0.0": + version: 3.0.1 + resolution: "trim-lines@npm:3.0.1" + checksum: 10c0/3a1611fa9e52aa56a94c69951a9ea15b8aaad760eaa26c56a65330dc8adf99cb282fc07cc9d94968b7d4d88003beba220a7278bbe2063328eb23fb56f9509e94 + languageName: node + linkType: hard + +"trim-trailing-lines@npm:^2.0.0": + version: 2.1.0 + resolution: "trim-trailing-lines@npm:2.1.0" + checksum: 10c0/9b010d16b191422d08678f5a4988213dffd8ae9445e1b0f7f7b3e5b28ffdb062a8465a7988b66999b90589b386ddc93b56d23545ba75a74ebaf5838b30594cb9 + languageName: node + linkType: hard + +"trough@npm:^2.0.0": + version: 2.2.0 + resolution: "trough@npm:2.2.0" + checksum: 10c0/58b671fc970e7867a48514168894396dd94e6d9d6456aca427cc299c004fe67f35ed7172a36449086b2edde10e78a71a284ec0076809add6834fb8f857ccb9b0 + languageName: node + linkType: hard + +"ts-dedent@npm:^2.2.0": + version: 2.2.0 + resolution: "ts-dedent@npm:2.2.0" + checksum: 10c0/175adea838468cc2ff7d5e97f970dcb798bbcb623f29c6088cb21aa2880d207c5784be81ab1741f56b9ac37840cbaba0c0d79f7f8b67ffe61c02634cafa5c303 + languageName: node + linkType: hard + +"tslib@npm:^2.0.3, tslib@npm:^2.6.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 + languageName: node + linkType: hard + +"type-fest@npm:^1.0.1": + version: 1.4.0 + resolution: "type-fest@npm:1.4.0" + checksum: 10c0/a3c0f4ee28ff6ddf800d769eafafcdeab32efa38763c1a1b8daeae681920f6e345d7920bf277245235561d8117dab765cb5f829c76b713b4c9de0998a5397141 + languageName: node + linkType: hard + +"type-fest@npm:^2.13.0, type-fest@npm:^2.5.0": + version: 2.19.0 + resolution: "type-fest@npm:2.19.0" + checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb + languageName: node + linkType: hard + +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: "npm:0.3.0" + mime-types: "npm:~2.1.24" + checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d + languageName: node + linkType: hard + +"typedarray-to-buffer@npm:^3.1.5": + version: 3.1.5 + resolution: "typedarray-to-buffer@npm:3.1.5" + dependencies: + is-typedarray: "npm:^1.0.0" + checksum: 10c0/4ac5b7a93d604edabf3ac58d3a2f7e07487e9f6e98195a080e81dbffdc4127817f470f219d794a843b87052cedef102b53ac9b539855380b8c2172054b7d5027 + languageName: node + linkType: hard + +"typescript@npm:~5.2.2": + version: 5.2.2 + resolution: "typescript@npm:5.2.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/91ae3e6193d0ddb8656d4c418a033f0f75dec5e077ebbc2bd6d76439b93f35683936ee1bdc0e9cf94ec76863aa49f27159b5788219b50e1cd0cd6d110aa34b07 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A~5.2.2#optional!builtin": + version: 5.2.2 + resolution: "typescript@patch:typescript@npm%3A5.2.2#optional!builtin::version=5.2.2&hash=f3b441" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/062c1cee1990e6b9419ce8a55162b8dc917eb87f807e4de0327dbc1c2fa4e5f61bc0dd4e034d38ff541d1ed0479b53bcee8e4de3a4075c51a1724eb6216cb6f5 + languageName: node + linkType: hard + +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 + languageName: node + linkType: hard + +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 10c0/f83bc492fdbe662860795ef37a85910944df7310cac91bd778f1c19ebc911e8b9cde84e703de631e5a2fcca3905e39896f8fc5fc6a44ddaf7f4aff1cda24f381 + languageName: node + linkType: hard + +"unicode-emoji-modifier-base@npm:^1.0.0": + version: 1.0.0 + resolution: "unicode-emoji-modifier-base@npm:1.0.0" + checksum: 10c0/b37623fcf0162186debd20f116483e035a2d5b905b932a2c472459d9143d446ebcbefb2a494e2fe4fa7434355396e2a95ec3fc1f0c29a3bc8f2c827220e79c66 + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" + dependencies: + unicode-canonical-property-names-ecmascript: "npm:^2.0.0" + unicode-property-aliases-ecmascript: "npm:^2.0.0" + checksum: 10c0/4d05252cecaf5c8e36d78dc5332e03b334c6242faf7cf16b3658525441386c0a03b5f603d42cbec0f09bb63b9fd25c9b3b09667aee75463cac3efadae2cd17ec + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^2.1.0": + version: 2.2.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.0" + checksum: 10c0/1d0a2deefd97974ddff5b7cb84f9884177f4489928dfcebb4b2b091d6124f2739df51fc6ea15958e1b5637ac2a24cff9bf21ea81e45335086ac52c0b4c717d6d + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^2.0.0": + version: 2.1.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" + checksum: 10c0/50ded3f8c963c7785e48c510a3b7c6bc4e08a579551489aa0349680a35b1ceceec122e33b2b6c1b579d0be2250f34bb163ac35f5f8695fe10bbc67fb757f0af8 + languageName: node + linkType: hard + +"unified@npm:^11.0.0, unified@npm:^11.0.3, unified@npm:^11.0.4": + version: 11.0.5 + resolution: "unified@npm:11.0.5" + dependencies: + "@types/unist": "npm:^3.0.0" + bail: "npm:^2.0.0" + devlop: "npm:^1.0.0" + extend: "npm:^3.0.0" + is-plain-obj: "npm:^4.0.0" + trough: "npm:^2.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/53c8e685f56d11d9d458a43e0e74328a4d6386af51c8ac37a3dcabec74ce5026da21250590d4aff6733ccd7dc203116aae2b0769abc18cdf9639a54ae528dfc9 + languageName: node + linkType: hard + +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc + languageName: node + linkType: hard + +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 + languageName: node + linkType: hard + +"unique-string@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-string@npm:3.0.0" + dependencies: + crypto-random-string: "npm:^4.0.0" + checksum: 10c0/b35ea034b161b2a573666ec16c93076b4b6106b8b16c2415808d747ab3a0566b5db0c4be231d4b11cfbc16d7fd915c9d8a45884bff0e2db11b799775b2e1e017 + languageName: node + linkType: hard + +"unist-builder@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-builder@npm:4.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/8296a70703bb1be8dfaa2fb59c05480a84df464f359ce61c7db98db2dc4dfb2219a17020a3feaca65c44841e631133cbf829047b9f92941b30dad003f9052d14 + languageName: node + linkType: hard + +"unist-util-find-after@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-find-after@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/a7cea473c4384df8de867c456b797ff1221b20f822e1af673ff5812ed505358b36f47f3b084ac14c3622cb879ed833b71b288e8aa71025352a2aab4c2925a6eb + languageName: node + linkType: hard + +"unist-util-is@npm:^6.0.0": + version: 6.0.0 + resolution: "unist-util-is@npm:6.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/9419352181eaa1da35eca9490634a6df70d2217815bb5938a04af3a662c12c5607a2f1014197ec9c426fbef18834f6371bfdb6f033040fa8aa3e965300d70e7e + languageName: node + linkType: hard + +"unist-util-position-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "unist-util-position-from-estree@npm:2.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/39127bf5f0594e0a76d9241dec4f7aa26323517120ce1edd5ed91c8c1b9df7d6fb18af556e4b6250f1c7368825720ed892e2b6923be5cdc08a9bb16536dc37b3 + languageName: node + linkType: hard + +"unist-util-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-position@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/dde3b31e314c98f12b4dc6402f9722b2bf35e96a4f2d463233dd90d7cde2d4928074a7a11eff0a5eb1f4e200f27fc1557e0a64a7e8e4da6558542f251b1b7400 + languageName: node + linkType: hard + +"unist-util-remove-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-remove-position@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/e8c76da4399446b3da2d1c84a97c607b37d03d1d92561e14838cbe4fdcb485bfc06c06cfadbb808ccb72105a80643976d0660d1fe222ca372203075be9d71105 + languageName: node + linkType: hard + +"unist-util-stringify-position@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-util-stringify-position@npm:4.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/dfe1dbe79ba31f589108cb35e523f14029b6675d741a79dea7e5f3d098785045d556d5650ec6a8338af11e9e78d2a30df12b1ee86529cded1098da3f17ee999e + languageName: node + linkType: hard + +"unist-util-visit-parents@npm:^6.0.0": + version: 6.0.1 + resolution: "unist-util-visit-parents@npm:6.0.1" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/51b1a5b0aa23c97d3e03e7288f0cdf136974df2217d0999d3de573c05001ef04cccd246f51d2ebdfb9e8b0ed2704451ad90ba85ae3f3177cf9772cef67f56206 + languageName: node + linkType: hard + +"unist-util-visit@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-visit@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/51434a1d80252c1540cce6271a90fd1a106dbe624997c09ed8879279667fb0b2d3a685e02e92bf66598dcbe6cdffa7a5f5fb363af8fdf90dda6c855449ae39a5 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.1.3": + version: 1.1.3 + resolution: "update-browserslist-db@npm:1.1.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/682e8ecbf9de474a626f6462aa85927936cdd256fe584c6df2508b0df9f7362c44c957e9970df55dfe44d3623807d26316ea2c7d26b80bb76a16c56c37233c32 + languageName: node + linkType: hard + +"update-notifier@npm:^6.0.2": + version: 6.0.2 + resolution: "update-notifier@npm:6.0.2" + dependencies: + boxen: "npm:^7.0.0" + chalk: "npm:^5.0.1" + configstore: "npm:^6.0.0" + has-yarn: "npm:^3.0.0" + import-lazy: "npm:^4.0.0" + is-ci: "npm:^3.0.1" + is-installed-globally: "npm:^0.4.0" + is-npm: "npm:^6.0.0" + is-yarn-global: "npm:^0.4.0" + latest-version: "npm:^7.0.0" + pupa: "npm:^3.1.0" + semver: "npm:^7.3.7" + semver-diff: "npm:^4.0.0" + xdg-basedir: "npm:^5.1.0" + checksum: 10c0/ad3980073312df904133a6e6c554a7f9d0832ed6275e55f5a546313fe77a0f20f23a7b1b4aeb409e20a78afb06f4d3b2b28b332d9cfb55745b5d1ea155810bcc + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"url-loader@npm:^4.1.1": + version: 4.1.1 + resolution: "url-loader@npm:4.1.1" + dependencies: + loader-utils: "npm:^2.0.0" + mime-types: "npm:^2.1.27" + schema-utils: "npm:^3.0.0" + peerDependencies: + file-loader: "*" + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + file-loader: + optional: true + checksum: 10c0/71b6300e02ce26c70625eae1a2297c0737635038c62691bb3007ac33e85c0130efc74bfb444baf5c6b3bad5953491159d31d66498967d1417865d0c7e7cd1a64 + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"utila@npm:~0.4": + version: 0.4.0 + resolution: "utila@npm:0.4.0" + checksum: 10c0/2791604e09ca4f77ae314df83e80d1805f867eb5c7e13e7413caee01273c278cf2c9a3670d8d25c889a877f7b149d892fe61b0181a81654b425e9622ab23d42e + languageName: node + linkType: hard + +"utility-types@npm:^3.10.0": + version: 3.11.0 + resolution: "utility-types@npm:3.11.0" + checksum: 10c0/2f1580137b0c3e6cf5405f37aaa8f5249961a76d26f1ca8efc0ff49a2fc0e0b2db56de8e521a174d075758e0c7eb3e590edec0832eb44478b958f09914920f19 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 + languageName: node + linkType: hard + +"uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 + languageName: node + linkType: hard + +"value-equal@npm:^1.0.1": + version: 1.0.1 + resolution: "value-equal@npm:1.0.1" + checksum: 10c0/79068098355483ef29f4d3753999ad880875b87625d7e9055cad9346ea4b7662aad3a66f87976801b0dd7a6f828ba973d28b1669ebcd37eaf88cc5f687c1a691 + languageName: node + linkType: hard + +"vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f + languageName: node + linkType: hard + +"vfile-location@npm:^5.0.0": + version: 5.0.3 + resolution: "vfile-location@npm:5.0.3" + dependencies: + "@types/unist": "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/1711f67802a5bc175ea69750d59863343ed43d1b1bb25c0a9063e4c70595e673e53e2ed5cdbb6dcdc370059b31605144d95e8c061b9361bcc2b036b8f63a4966 + languageName: node + linkType: hard + +"vfile-message@npm:^4.0.0": + version: 4.0.2 + resolution: "vfile-message@npm:4.0.2" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-stringify-position: "npm:^4.0.0" + checksum: 10c0/07671d239a075f888b78f318bc1d54de02799db4e9dce322474e67c35d75ac4a5ac0aaf37b18801d91c9f8152974ea39678aa72d7198758b07f3ba04fb7d7514 + languageName: node + linkType: hard + +"vfile@npm:^6.0.0, vfile@npm:^6.0.1": + version: 6.0.3 + resolution: "vfile@npm:6.0.3" + dependencies: + "@types/unist": "npm:^3.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/e5d9eb4810623f23758cfc2205323e33552fb5972e5c2e6587babe08fe4d24859866277404fb9e2a20afb71013860d96ec806cb257536ae463c87d70022ab9ef + languageName: node + linkType: hard + +"watchpack@npm:^2.4.1": + version: 2.4.2 + resolution: "watchpack@npm:2.4.2" + dependencies: + glob-to-regexp: "npm:^0.4.1" + graceful-fs: "npm:^4.1.2" + checksum: 10c0/ec60a5f0e9efaeca0102fd9126346b3b2d523e01c34030d3fddf5813a7125765121ebdc2552981136dcd2c852deb1af0b39340f2fcc235f292db5399d0283577 + languageName: node + linkType: hard + +"wbuf@npm:^1.1.0, wbuf@npm:^1.7.3": + version: 1.7.3 + resolution: "wbuf@npm:1.7.3" + dependencies: + minimalistic-assert: "npm:^1.0.0" + checksum: 10c0/56edcc5ef2b3d30913ba8f1f5cccc364d180670b24d5f3f8849c1e6fb514e5c7e3a87548ae61227a82859eba6269c11393ae24ce12a2ea1ecb9b465718ddced7 + languageName: node + linkType: hard + +"web-namespaces@npm:^2.0.0": + version: 2.0.1 + resolution: "web-namespaces@npm:2.0.1" + checksum: 10c0/df245f466ad83bd5cd80bfffc1674c7f64b7b84d1de0e4d2c0934fb0782e0a599164e7197a4bce310ee3342fd61817b8047ff04f076a1ce12dd470584142a4bd + languageName: node + linkType: hard + +"webpack-bundle-analyzer@npm:^4.10.2": + version: 4.10.2 + resolution: "webpack-bundle-analyzer@npm:4.10.2" + dependencies: + "@discoveryjs/json-ext": "npm:0.5.7" + acorn: "npm:^8.0.4" + acorn-walk: "npm:^8.0.0" + commander: "npm:^7.2.0" + debounce: "npm:^1.2.1" + escape-string-regexp: "npm:^4.0.0" + gzip-size: "npm:^6.0.0" + html-escaper: "npm:^2.0.2" + opener: "npm:^1.5.2" + picocolors: "npm:^1.0.0" + sirv: "npm:^2.0.3" + ws: "npm:^7.3.1" + bin: + webpack-bundle-analyzer: lib/bin/analyzer.js + checksum: 10c0/00603040e244ead15b2d92981f0559fa14216381349412a30070a7358eb3994cd61a8221d34a3b3fb8202dc3d1c5ee1fbbe94c5c52da536e5b410aa1cf279a48 + languageName: node + linkType: hard + +"webpack-dev-middleware@npm:^5.3.4": + version: 5.3.4 + resolution: "webpack-dev-middleware@npm:5.3.4" + dependencies: + colorette: "npm:^2.0.10" + memfs: "npm:^3.4.3" + mime-types: "npm:^2.1.31" + range-parser: "npm:^1.2.1" + schema-utils: "npm:^4.0.0" + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 10c0/257df7d6bc5494d1d3cb66bba70fbdf5a6e0423e39b6420f7631aeb52435afbfbff8410a62146dcdf3d2f945c62e03193aae2ac1194a2f7d5a2523b9d194e9e1 + languageName: node + linkType: hard + +"webpack-dev-server@npm:^4.15.2": + version: 4.15.2 + resolution: "webpack-dev-server@npm:4.15.2" + dependencies: + "@types/bonjour": "npm:^3.5.9" + "@types/connect-history-api-fallback": "npm:^1.3.5" + "@types/express": "npm:^4.17.13" + "@types/serve-index": "npm:^1.9.1" + "@types/serve-static": "npm:^1.13.10" + "@types/sockjs": "npm:^0.3.33" + "@types/ws": "npm:^8.5.5" + ansi-html-community: "npm:^0.0.8" + bonjour-service: "npm:^1.0.11" + chokidar: "npm:^3.5.3" + colorette: "npm:^2.0.10" + compression: "npm:^1.7.4" + connect-history-api-fallback: "npm:^2.0.0" + default-gateway: "npm:^6.0.3" + express: "npm:^4.17.3" + graceful-fs: "npm:^4.2.6" + html-entities: "npm:^2.3.2" + http-proxy-middleware: "npm:^2.0.3" + ipaddr.js: "npm:^2.0.1" + launch-editor: "npm:^2.6.0" + open: "npm:^8.0.9" + p-retry: "npm:^4.5.0" + rimraf: "npm:^3.0.2" + schema-utils: "npm:^4.0.0" + selfsigned: "npm:^2.1.1" + serve-index: "npm:^1.9.1" + sockjs: "npm:^0.3.24" + spdy: "npm:^4.0.2" + webpack-dev-middleware: "npm:^5.3.4" + ws: "npm:^8.13.0" + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + bin: + webpack-dev-server: bin/webpack-dev-server.js + checksum: 10c0/625bd5b79360afcf98782c8b1fd710b180bb0e96d96b989defff550c546890010ceea82ffbecb2a0a23f7f018bc72f2dee7b3070f7b448fb0110df6657fb2904 + languageName: node + linkType: hard + +"webpack-merge@npm:^5.9.0": + version: 5.10.0 + resolution: "webpack-merge@npm:5.10.0" + dependencies: + clone-deep: "npm:^4.0.1" + flat: "npm:^5.0.2" + wildcard: "npm:^2.0.0" + checksum: 10c0/b607c84cabaf74689f965420051a55a08722d897bdd6c29cb0b2263b451c090f962d41ecf8c9bf56b0ab3de56e65476ace0a8ecda4f4a4663684243d90e0512b + languageName: node + linkType: hard + +"webpack-merge@npm:^6.0.1": + version: 6.0.1 + resolution: "webpack-merge@npm:6.0.1" + dependencies: + clone-deep: "npm:^4.0.1" + flat: "npm:^5.0.2" + wildcard: "npm:^2.0.1" + checksum: 10c0/bf1429567858b353641801b8a2696ca0aac270fc8c55d4de8a7b586fe07d27fdcfc83099a98ab47e6162383db8dd63bb8cc25b1beb2ec82150422eec843b0dc0 + languageName: node + linkType: hard + +"webpack-sources@npm:^3.2.3": + version: 3.2.3 + resolution: "webpack-sources@npm:3.2.3" + checksum: 10c0/2ef63d77c4fad39de4a6db17323d75eb92897b32674e97d76f0a1e87c003882fc038571266ad0ef581ac734cbe20952912aaa26155f1905e96ce251adbb1eb4e + languageName: node + linkType: hard + +"webpack@npm:^5.88.1, webpack@npm:^5.95.0": + version: 5.99.8 + resolution: "webpack@npm:5.99.8" + dependencies: + "@types/eslint-scope": "npm:^3.7.7" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" + "@webassemblyjs/ast": "npm:^1.14.1" + "@webassemblyjs/wasm-edit": "npm:^1.14.1" + "@webassemblyjs/wasm-parser": "npm:^1.14.1" + acorn: "npm:^8.14.0" + browserslist: "npm:^4.24.0" + chrome-trace-event: "npm:^1.0.2" + enhanced-resolve: "npm:^5.17.1" + es-module-lexer: "npm:^1.2.1" + eslint-scope: "npm:5.1.1" + events: "npm:^3.2.0" + glob-to-regexp: "npm:^0.4.1" + graceful-fs: "npm:^4.2.11" + json-parse-even-better-errors: "npm:^2.3.1" + loader-runner: "npm:^4.2.0" + mime-types: "npm:^2.1.27" + neo-async: "npm:^2.6.2" + schema-utils: "npm:^4.3.2" + tapable: "npm:^2.1.1" + terser-webpack-plugin: "npm:^5.3.11" + watchpack: "npm:^2.4.1" + webpack-sources: "npm:^3.2.3" + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack: bin/webpack.js + checksum: 10c0/c4852c3b795ed3fba799d2925802a4e259b2de7c2c597f0aaf0e228acfdc6755389ed8c29f1dad86610a9c6ad968c0b57c702b93891d60f09d302af63b2debe0 + languageName: node + linkType: hard + +"webpackbar@npm:^6.0.1": + version: 6.0.1 + resolution: "webpackbar@npm:6.0.1" + dependencies: + ansi-escapes: "npm:^4.3.2" + chalk: "npm:^4.1.2" + consola: "npm:^3.2.3" + figures: "npm:^3.2.0" + markdown-table: "npm:^2.0.0" + pretty-time: "npm:^1.1.0" + std-env: "npm:^3.7.0" + wrap-ansi: "npm:^7.0.0" + peerDependencies: + webpack: 3 || 4 || 5 + checksum: 10c0/8dfa2c55f8122f729c7efd515a2b50fb752c0d0cb27ec2ecdbc70d90a86d5f69f466c9c5d01004f71b500dafba957ecd4413fca196a98cf99a39b705f98cae97 + languageName: node + linkType: hard + +"websocket-driver@npm:>=0.5.1, websocket-driver@npm:^0.7.4": + version: 0.7.4 + resolution: "websocket-driver@npm:0.7.4" + dependencies: + http-parser-js: "npm:>=0.5.1" + safe-buffer: "npm:>=5.1.0" + websocket-extensions: "npm:>=0.1.1" + checksum: 10c0/5f09547912b27bdc57bac17b7b6527d8993aa4ac8a2d10588bb74aebaf785fdcf64fea034aae0c359b7adff2044dd66f3d03866e4685571f81b13e548f9021f1 + languageName: node + linkType: hard + +"websocket-extensions@npm:>=0.1.1": + version: 0.1.4 + resolution: "websocket-extensions@npm:0.1.4" + checksum: 10c0/bbc8c233388a0eb8a40786ee2e30d35935cacbfe26ab188b3e020987e85d519c2009fe07cfc37b7f718b85afdba7e54654c9153e6697301f72561bfe429177e0 + languageName: node + linkType: hard + +"which@npm:^1.3.1": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: "npm:^2.0.0" + bin: + which: ./bin/which + checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b + languageName: node + linkType: hard + +"widest-line@npm:^4.0.1": + version: 4.0.1 + resolution: "widest-line@npm:4.0.1" + dependencies: + string-width: "npm:^5.0.1" + checksum: 10c0/7da9525ba45eaf3e4ed1a20f3dcb9b85bd9443962450694dae950f4bdd752839747bbc14713522b0b93080007de8e8af677a61a8c2114aa553ad52bde72d0f9c + languageName: node + linkType: hard + +"wildcard@npm:^2.0.0, wildcard@npm:^2.0.1": + version: 2.0.1 + resolution: "wildcard@npm:2.0.1" + checksum: 10c0/08f70cd97dd9a20aea280847a1fe8148e17cae7d231640e41eb26d2388697cbe65b67fd9e68715251c39b080c5ae4f76d71a9a69fa101d897273efdfb1b58bf7 + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.0.1, wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"write-file-atomic@npm:^3.0.3": + version: 3.0.3 + resolution: "write-file-atomic@npm:3.0.3" + dependencies: + imurmurhash: "npm:^0.1.4" + is-typedarray: "npm:^1.0.0" + signal-exit: "npm:^3.0.2" + typedarray-to-buffer: "npm:^3.1.5" + checksum: 10c0/7fb67affd811c7a1221bed0c905c26e28f0041e138fb19ccf02db57a0ef93ea69220959af3906b920f9b0411d1914474cdd90b93a96e5cd9e8368d9777caac0e + languageName: node + linkType: hard + +"ws@npm:^7.3.1": + version: 7.5.10 + resolution: "ws@npm:7.5.10" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d + languageName: node + linkType: hard + +"ws@npm:^8.13.0": + version: 8.18.2 + resolution: "ws@npm:8.18.2" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/4b50f67931b8c6943c893f59c524f0e4905bbd183016cfb0f2b8653aa7f28dad4e456b9d99d285bbb67cca4fedd9ce90dfdfaa82b898a11414ebd66ee99141e4 + languageName: node + linkType: hard + +"xdg-basedir@npm:^5.0.1, xdg-basedir@npm:^5.1.0": + version: 5.1.0 + resolution: "xdg-basedir@npm:5.1.0" + checksum: 10c0/c88efabc71ffd996ba9ad8923a8cc1c7c020a03e2c59f0ffa72e06be9e724ad2a0fccef488757bc6ed3d8849d753dd25082d1035d95cb179e79eae4d034d0b80 + languageName: node + linkType: hard + +"xml-js@npm:^1.6.11": + version: 1.6.11 + resolution: "xml-js@npm:1.6.11" + dependencies: + sax: "npm:^1.2.4" + bin: + xml-js: ./bin/cli.js + checksum: 10c0/c83631057f10bf90ea785cee434a8a1a0030c7314fe737ad9bf568a281083b565b28b14c9e9ba82f11fc9dc582a3a907904956af60beb725be1c9ad4b030bc5a + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yaml@npm:^1.7.2": + version: 1.10.2 + resolution: "yaml@npm:1.10.2" + checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard + +"yocto-queue@npm:^1.0.0": + version: 1.2.1 + resolution: "yocto-queue@npm:1.2.1" + checksum: 10c0/5762caa3d0b421f4bdb7a1926b2ae2189fc6e4a14469258f183600028eb16db3e9e0306f46e8ebf5a52ff4b81a881f22637afefbef5399d6ad440824e9b27f9f + languageName: node + linkType: hard + +"zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": + version: 2.0.4 + resolution: "zwitch@npm:2.0.4" + checksum: 10c0/3c7830cdd3378667e058ffdb4cf2bb78ac5711214e2725900873accb23f3dfe5f9e7e5a06dcdc5f29605da976fc45c26d9a13ca334d6eea2245a15e77b8fc06e + languageName: node + linkType: hard From 0651dd6778e805907fdb279d87f34a723c8b3fd2 Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 15:28:53 +0800 Subject: [PATCH 004/303] fix: add missing dependencies --- package.json | 3 +++ yarn.lock | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 6b294ca36e..53f5b41de1 100644 --- a/package.json +++ b/package.json @@ -14,9 +14,12 @@ "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { + "@docsearch/react": "^3.5.2", "@docusaurus/core": "^3.4.0", "@docusaurus/plugin-client-redirects": "^3.4.0", "@docusaurus/preset-classic": "^3.4.0", + "@docusaurus/theme-common": "^3.4.0", + "@docusaurus/theme-search-algolia": "^3.4.0", "@gracefullight/docusaurus-plugin-vercel-analytics": "^1.0.0", "@mdx-js/react": "^3.0.0", "@vercel/analytics": "^1.1.2", diff --git a/yarn.lock b/yarn.lock index 825ce44d22..dfd92ca98d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1965,7 +1965,7 @@ __metadata: languageName: node linkType: hard -"@docsearch/react@npm:^3.8.1": +"@docsearch/react@npm:^3.5.2, @docsearch/react@npm:^3.8.1": version: 3.9.0 resolution: "@docsearch/react@npm:3.9.0" dependencies: @@ -2444,7 +2444,7 @@ __metadata: languageName: node linkType: hard -"@docusaurus/theme-common@npm:3.7.0": +"@docusaurus/theme-common@npm:3.7.0, @docusaurus/theme-common@npm:^3.4.0": version: 3.7.0 resolution: "@docusaurus/theme-common@npm:3.7.0" dependencies: @@ -2468,7 +2468,7 @@ __metadata: languageName: node linkType: hard -"@docusaurus/theme-search-algolia@npm:3.7.0": +"@docusaurus/theme-search-algolia@npm:3.7.0, @docusaurus/theme-search-algolia@npm:^3.4.0": version: 3.7.0 resolution: "@docusaurus/theme-search-algolia@npm:3.7.0" dependencies: @@ -4112,10 +4112,13 @@ __metadata: version: 0.0.0-use.local resolution: "bittensor-docs@workspace:." dependencies: + "@docsearch/react": "npm:^3.5.2" "@docusaurus/core": "npm:^3.4.0" "@docusaurus/module-type-aliases": "npm:^3.3.2" "@docusaurus/plugin-client-redirects": "npm:^3.4.0" "@docusaurus/preset-classic": "npm:^3.4.0" + "@docusaurus/theme-common": "npm:^3.4.0" + "@docusaurus/theme-search-algolia": "npm:^3.4.0" "@docusaurus/tsconfig": "npm:^3.3.2" "@docusaurus/types": "npm:^3.3.2" "@gracefullight/docusaurus-plugin-vercel-analytics": "npm:^1.0.0" From d158729076646186d36f52c0c2307f7050bb852b Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 15:33:03 +0800 Subject: [PATCH 005/303] fix: add missing dependencies --- package.json | 2 ++ yarn.lock | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 53f5b41de1..0e2e1cbebf 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,9 @@ "@docsearch/react": "^3.5.2", "@docusaurus/core": "^3.4.0", "@docusaurus/plugin-client-redirects": "^3.4.0", + "@docusaurus/plugin-content-docs": "^3.4.0", "@docusaurus/preset-classic": "^3.4.0", + "@docusaurus/theme-classic": "^3.4.0", "@docusaurus/theme-common": "^3.4.0", "@docusaurus/theme-search-algolia": "^3.4.0", "@gracefullight/docusaurus-plugin-vercel-analytics": "^1.0.0", diff --git a/yarn.lock b/yarn.lock index dfd92ca98d..8f9eb93c30 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2233,7 +2233,7 @@ __metadata: languageName: node linkType: hard -"@docusaurus/plugin-content-docs@npm:3.7.0": +"@docusaurus/plugin-content-docs@npm:3.7.0, @docusaurus/plugin-content-docs@npm:^3.4.0": version: 3.7.0 resolution: "@docusaurus/plugin-content-docs@npm:3.7.0" dependencies: @@ -2407,7 +2407,7 @@ __metadata: languageName: node linkType: hard -"@docusaurus/theme-classic@npm:3.7.0": +"@docusaurus/theme-classic@npm:3.7.0, @docusaurus/theme-classic@npm:^3.4.0": version: 3.7.0 resolution: "@docusaurus/theme-classic@npm:3.7.0" dependencies: @@ -4116,7 +4116,9 @@ __metadata: "@docusaurus/core": "npm:^3.4.0" "@docusaurus/module-type-aliases": "npm:^3.3.2" "@docusaurus/plugin-client-redirects": "npm:^3.4.0" + "@docusaurus/plugin-content-docs": "npm:^3.4.0" "@docusaurus/preset-classic": "npm:^3.4.0" + "@docusaurus/theme-classic": "npm:^3.4.0" "@docusaurus/theme-common": "npm:^3.4.0" "@docusaurus/theme-search-algolia": "npm:^3.4.0" "@docusaurus/tsconfig": "npm:^3.3.2" From befb195a702c1968df71a8913bdcc46197e8c6fc Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 15:46:23 +0800 Subject: [PATCH 006/303] fix: update Unlisted import --- src/theme/DocItem/Layout/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/theme/DocItem/Layout/index.js b/src/theme/DocItem/Layout/index.js index e5c43e6761..d6d0359d1d 100644 --- a/src/theme/DocItem/Layout/index.js +++ b/src/theme/DocItem/Layout/index.js @@ -10,7 +10,7 @@ import DocItemTOCMobile from '@theme/DocItem/TOC/Mobile'; import DocItemTOCDesktop from '@theme/DocItem/TOC/Desktop'; import DocItemContent from '@theme/DocItem/Content'; import DocBreadcrumbs from '@theme/DocBreadcrumbs'; -import Unlisted from '@theme/Unlisted'; +import Unlisted from "@theme/ContentVisibility/Unlisted"; import styles from './styles.module.css'; /** * Decide if the toc should be rendered, on mobile or desktop viewports From 272d14226f8d49004a424a9d3f31a4ce953a78ba Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 15:51:54 +0800 Subject: [PATCH 007/303] fix: bump version --- package.json | 14 +++++++------- yarn.lock | 28 ++++++++++++++-------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 0e2e1cbebf..1fcdb5eeaa 100644 --- a/package.json +++ b/package.json @@ -15,13 +15,13 @@ }, "dependencies": { "@docsearch/react": "^3.5.2", - "@docusaurus/core": "^3.4.0", - "@docusaurus/plugin-client-redirects": "^3.4.0", - "@docusaurus/plugin-content-docs": "^3.4.0", - "@docusaurus/preset-classic": "^3.4.0", - "@docusaurus/theme-classic": "^3.4.0", - "@docusaurus/theme-common": "^3.4.0", - "@docusaurus/theme-search-algolia": "^3.4.0", + "@docusaurus/core": "^3.7.0", + "@docusaurus/plugin-client-redirects": "^3.7.0", + "@docusaurus/plugin-content-docs": "^3.7.0", + "@docusaurus/preset-classic": "^3.7.0", + "@docusaurus/theme-classic": "^3.7.0", + "@docusaurus/theme-common": "^3.7.0", + "@docusaurus/theme-search-algolia": "^3.7.0", "@gracefullight/docusaurus-plugin-vercel-analytics": "^1.0.0", "@mdx-js/react": "^3.0.0", "@vercel/analytics": "^1.1.2", diff --git a/yarn.lock b/yarn.lock index 8f9eb93c30..6c163c97de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2052,7 +2052,7 @@ __metadata: languageName: node linkType: hard -"@docusaurus/core@npm:3.7.0, @docusaurus/core@npm:^3.4.0": +"@docusaurus/core@npm:3.7.0, @docusaurus/core@npm:^3.7.0": version: 3.7.0 resolution: "@docusaurus/core@npm:3.7.0" dependencies: @@ -2183,7 +2183,7 @@ __metadata: languageName: node linkType: hard -"@docusaurus/plugin-client-redirects@npm:^3.4.0": +"@docusaurus/plugin-client-redirects@npm:^3.7.0": version: 3.7.0 resolution: "@docusaurus/plugin-client-redirects@npm:3.7.0" dependencies: @@ -2233,7 +2233,7 @@ __metadata: languageName: node linkType: hard -"@docusaurus/plugin-content-docs@npm:3.7.0, @docusaurus/plugin-content-docs@npm:^3.4.0": +"@docusaurus/plugin-content-docs@npm:3.7.0, @docusaurus/plugin-content-docs@npm:^3.7.0": version: 3.7.0 resolution: "@docusaurus/plugin-content-docs@npm:3.7.0" dependencies: @@ -2382,7 +2382,7 @@ __metadata: languageName: node linkType: hard -"@docusaurus/preset-classic@npm:^3.4.0": +"@docusaurus/preset-classic@npm:^3.7.0": version: 3.7.0 resolution: "@docusaurus/preset-classic@npm:3.7.0" dependencies: @@ -2407,7 +2407,7 @@ __metadata: languageName: node linkType: hard -"@docusaurus/theme-classic@npm:3.7.0, @docusaurus/theme-classic@npm:^3.4.0": +"@docusaurus/theme-classic@npm:3.7.0, @docusaurus/theme-classic@npm:^3.7.0": version: 3.7.0 resolution: "@docusaurus/theme-classic@npm:3.7.0" dependencies: @@ -2444,7 +2444,7 @@ __metadata: languageName: node linkType: hard -"@docusaurus/theme-common@npm:3.7.0, @docusaurus/theme-common@npm:^3.4.0": +"@docusaurus/theme-common@npm:3.7.0, @docusaurus/theme-common@npm:^3.7.0": version: 3.7.0 resolution: "@docusaurus/theme-common@npm:3.7.0" dependencies: @@ -2468,7 +2468,7 @@ __metadata: languageName: node linkType: hard -"@docusaurus/theme-search-algolia@npm:3.7.0, @docusaurus/theme-search-algolia@npm:^3.4.0": +"@docusaurus/theme-search-algolia@npm:3.7.0, @docusaurus/theme-search-algolia@npm:^3.7.0": version: 3.7.0 resolution: "@docusaurus/theme-search-algolia@npm:3.7.0" dependencies: @@ -4113,14 +4113,14 @@ __metadata: resolution: "bittensor-docs@workspace:." dependencies: "@docsearch/react": "npm:^3.5.2" - "@docusaurus/core": "npm:^3.4.0" + "@docusaurus/core": "npm:^3.7.0" "@docusaurus/module-type-aliases": "npm:^3.3.2" - "@docusaurus/plugin-client-redirects": "npm:^3.4.0" - "@docusaurus/plugin-content-docs": "npm:^3.4.0" - "@docusaurus/preset-classic": "npm:^3.4.0" - "@docusaurus/theme-classic": "npm:^3.4.0" - "@docusaurus/theme-common": "npm:^3.4.0" - "@docusaurus/theme-search-algolia": "npm:^3.4.0" + "@docusaurus/plugin-client-redirects": "npm:^3.7.0" + "@docusaurus/plugin-content-docs": "npm:^3.7.0" + "@docusaurus/preset-classic": "npm:^3.7.0" + "@docusaurus/theme-classic": "npm:^3.7.0" + "@docusaurus/theme-common": "npm:^3.7.0" + "@docusaurus/theme-search-algolia": "npm:^3.7.0" "@docusaurus/tsconfig": "npm:^3.3.2" "@docusaurus/types": "npm:^3.3.2" "@gracefullight/docusaurus-plugin-vercel-analytics": "npm:^1.0.0" From 50f86e0ed2efd50bf86e0d24a57d12b72a0bdce6 Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 15:55:52 +0800 Subject: [PATCH 008/303] fix: bump version --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 1fcdb5eeaa..59e08f1d79 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,8 @@ "@docusaurus/plugin-client-redirects": "^3.7.0", "@docusaurus/plugin-content-docs": "^3.7.0", "@docusaurus/preset-classic": "^3.7.0", - "@docusaurus/theme-classic": "^3.7.0", "@docusaurus/theme-common": "^3.7.0", + "@docusaurus/theme-classic": "^3.7.0", "@docusaurus/theme-search-algolia": "^3.7.0", "@gracefullight/docusaurus-plugin-vercel-analytics": "^1.0.0", "@mdx-js/react": "^3.0.0", @@ -38,9 +38,9 @@ "zwitch": "^2.0.4" }, "devDependencies": { - "@docusaurus/module-type-aliases": "^3.3.2", - "@docusaurus/tsconfig": "^3.3.2", - "@docusaurus/types": "^3.3.2", + "@docusaurus/module-type-aliases": "^3.7.0", + "@docusaurus/tsconfig": "^3.7.0", + "@docusaurus/types": "^3.7.0", "typescript": "~5.2.2" }, "browserslist": { From 3dda9dc64315248a377ae2e6eed98404601c1b28 Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 15:56:34 +0800 Subject: [PATCH 009/303] fix: bump version --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6c163c97de..98ca7e3be7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2165,7 +2165,7 @@ __metadata: languageName: node linkType: hard -"@docusaurus/module-type-aliases@npm:3.7.0, @docusaurus/module-type-aliases@npm:^3.3.2": +"@docusaurus/module-type-aliases@npm:3.7.0, @docusaurus/module-type-aliases@npm:^3.7.0": version: 3.7.0 resolution: "@docusaurus/module-type-aliases@npm:3.7.0" dependencies: @@ -2505,14 +2505,14 @@ __metadata: languageName: node linkType: hard -"@docusaurus/tsconfig@npm:^3.3.2": +"@docusaurus/tsconfig@npm:^3.7.0": version: 3.7.0 resolution: "@docusaurus/tsconfig@npm:3.7.0" checksum: 10c0/22a076fa3cf6da25a76f87fbe5b37c09997f5a8729fdc1a69c0c7955dff9f9850f16dc1de8c6d5096d258a95c428fb8839b252b9dbaa648acb7de8a0e5889dea languageName: node linkType: hard -"@docusaurus/types@npm:3.7.0, @docusaurus/types@npm:^3.3.2": +"@docusaurus/types@npm:3.7.0, @docusaurus/types@npm:^3.7.0": version: 3.7.0 resolution: "@docusaurus/types@npm:3.7.0" dependencies: @@ -4114,15 +4114,15 @@ __metadata: dependencies: "@docsearch/react": "npm:^3.5.2" "@docusaurus/core": "npm:^3.7.0" - "@docusaurus/module-type-aliases": "npm:^3.3.2" + "@docusaurus/module-type-aliases": "npm:^3.7.0" "@docusaurus/plugin-client-redirects": "npm:^3.7.0" "@docusaurus/plugin-content-docs": "npm:^3.7.0" "@docusaurus/preset-classic": "npm:^3.7.0" "@docusaurus/theme-classic": "npm:^3.7.0" "@docusaurus/theme-common": "npm:^3.7.0" "@docusaurus/theme-search-algolia": "npm:^3.7.0" - "@docusaurus/tsconfig": "npm:^3.3.2" - "@docusaurus/types": "npm:^3.3.2" + "@docusaurus/tsconfig": "npm:^3.7.0" + "@docusaurus/types": "npm:^3.7.0" "@gracefullight/docusaurus-plugin-vercel-analytics": "npm:^1.0.0" "@mdx-js/react": "npm:^3.0.0" "@vercel/analytics": "npm:^1.1.2" From d67547f4c9aa7d78911f29f4ccd82feac2551260 Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 16:05:44 +0800 Subject: [PATCH 010/303] fix: update import --- src/theme/DocSidebarItems/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/theme/DocSidebarItems/index.js b/src/theme/DocSidebarItems/index.js index 9a73944e27..86b65ea291 100644 --- a/src/theme/DocSidebarItems/index.js +++ b/src/theme/DocSidebarItems/index.js @@ -1,9 +1,9 @@ import React, {memo} from 'react'; import { DocSidebarItemsExpandedStateProvider, - useVisibleSidebarItems, -} from '@docusaurus/theme-common/internal'; + useVisibleSidebarItems } from '@docusaurus/plugin-content-docs/client'; import DocSidebarItem from '@theme/DocSidebarItem'; + function DocSidebarItems({items, ...props}) { const visibleItems = useVisibleSidebarItems(items, props.activePath); return ( From 66863879832c2b360a7b9f73444a0045d7b1e4ed Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 16:13:25 +0800 Subject: [PATCH 011/303] fix: update import --- src/theme/DocSidebarItem/Category/index.js | 4 ++-- src/theme/DocSidebarItem/Link/index.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/theme/DocSidebarItem/Category/index.js b/src/theme/DocSidebarItem/Category/index.js index 2f3115eead..3309aee7b0 100644 --- a/src/theme/DocSidebarItem/Category/index.js +++ b/src/theme/DocSidebarItem/Category/index.js @@ -11,12 +11,12 @@ import { isActiveSidebarItem, findFirstSidebarItemLink, useDocSidebarItemsExpandedState, - isSamePath, -} from '@docusaurus/theme-common/internal'; +} from '@docusaurus/plugin-content-docs/client'; import Link from '@docusaurus/Link'; import {translate} from '@docusaurus/Translate'; import useIsBrowser from '@docusaurus/useIsBrowser'; import DocSidebarItems from '@theme/DocSidebarItems'; +import { isSamePath } from '@docusaurus/theme-common/internal'; // If we navigate to a category and it becomes active, it should automatically // expand itself function useAutoExpandActiveCategory({isActive, collapsed, updateCollapsed}) { diff --git a/src/theme/DocSidebarItem/Link/index.js b/src/theme/DocSidebarItem/Link/index.js index 591f55c9be..112cd2e36d 100644 --- a/src/theme/DocSidebarItem/Link/index.js +++ b/src/theme/DocSidebarItem/Link/index.js @@ -1,7 +1,7 @@ import React from 'react'; import clsx from 'clsx'; import { ThemeClassNames } from '@docusaurus/theme-common'; -import { isActiveSidebarItem } from '@docusaurus/theme-common/internal'; +import { isActiveSidebarItem } from '@docusaurus/plugin-content-docs/client'; import Link from '@docusaurus/Link'; import isInternalUrl from '@docusaurus/isInternalUrl'; import IconExternalLink from '@theme/Icon/ExternalLink'; From 53cdafd271b812618c7aae01759588baade02cf6 Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 16:18:35 +0800 Subject: [PATCH 012/303] fix: update useDoc import --- src/theme/DocBreadcrumbs/index.js | 2 +- src/theme/DocItem/Content/index.js | 2 +- src/theme/DocItem/Footer/index.js | 2 +- src/theme/DocItem/Layout/index.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/theme/DocBreadcrumbs/index.js b/src/theme/DocBreadcrumbs/index.js index 747304797e..c875065419 100644 --- a/src/theme/DocBreadcrumbs/index.js +++ b/src/theme/DocBreadcrumbs/index.js @@ -5,7 +5,7 @@ import { useSidebarBreadcrumbs, useHomePageRoute, } from '@docusaurus/theme-common/internal'; -import { useDoc } from "@docusaurus/theme-common/internal"; +import { useDoc } from '@docusaurus/plugin-content-docs/client'; import Link from '@docusaurus/Link'; import {translate} from '@docusaurus/Translate'; import HomeBreadcrumbItem from '@theme/DocBreadcrumbs/Items/Home'; diff --git a/src/theme/DocItem/Content/index.js b/src/theme/DocItem/Content/index.js index e9e78dbbd8..4dfeae7cea 100644 --- a/src/theme/DocItem/Content/index.js +++ b/src/theme/DocItem/Content/index.js @@ -1,7 +1,7 @@ import React from "react"; import clsx from "clsx"; import { ThemeClassNames } from "@docusaurus/theme-common"; -import { useDoc } from "@docusaurus/theme-common/internal"; +import { useDoc } from "@docusaurus/plugin-content-docs/client"; import Heading from "@theme/Heading"; import MDXContent from "@theme/MDXContent"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; diff --git a/src/theme/DocItem/Footer/index.js b/src/theme/DocItem/Footer/index.js index ca6a8df43b..3323e1a1db 100644 --- a/src/theme/DocItem/Footer/index.js +++ b/src/theme/DocItem/Footer/index.js @@ -1,7 +1,7 @@ import React, { useEffect, useState } from "react"; import clsx from "clsx"; import { ThemeClassNames } from "@docusaurus/theme-common"; -import { useDoc } from "@docusaurus/theme-common/internal"; +import { useDoc } from "@docusaurus/plugin-content-docs/client"; import TagsListInline from "@theme/TagsListInline"; import { track } from "@vercel/analytics"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; diff --git a/src/theme/DocItem/Layout/index.js b/src/theme/DocItem/Layout/index.js index d6d0359d1d..beaa6d9acd 100644 --- a/src/theme/DocItem/Layout/index.js +++ b/src/theme/DocItem/Layout/index.js @@ -1,7 +1,7 @@ import React from 'react'; import clsx from 'clsx'; import { useWindowSize } from '@docusaurus/theme-common'; -import { useDoc } from '@docusaurus/theme-common/internal'; +import { useDoc } from '@docusaurus/plugin-content-docs/client'; import DocItemPaginator from '@theme/DocItem/Paginator'; import DocVersionBanner from '@theme/DocVersionBanner'; import DocVersionBadge from '@theme/DocVersionBadge'; From edaad756e527cfc642571f73d06f1bda07a1e072 Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 16:23:16 +0800 Subject: [PATCH 013/303] fix: update useSidebarBreadcrumbs import --- src/theme/DocBreadcrumbs/index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/theme/DocBreadcrumbs/index.js b/src/theme/DocBreadcrumbs/index.js index c875065419..e2c9fb82b8 100644 --- a/src/theme/DocBreadcrumbs/index.js +++ b/src/theme/DocBreadcrumbs/index.js @@ -2,10 +2,12 @@ import React from 'react'; import clsx from 'clsx'; import {ThemeClassNames} from '@docusaurus/theme-common'; import { - useSidebarBreadcrumbs, useHomePageRoute, } from '@docusaurus/theme-common/internal'; -import { useDoc } from '@docusaurus/plugin-content-docs/client'; +import { + useDoc, + useSidebarBreadcrumbs +} from '@docusaurus/plugin-content-docs/client'; import Link from '@docusaurus/Link'; import {translate} from '@docusaurus/Translate'; import HomeBreadcrumbItem from '@theme/DocBreadcrumbs/Items/Home'; From 33297ef4488f3228bccfc13ab4993b8a7f1a23ba Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 16:33:51 +0800 Subject: [PATCH 014/303] fix: add .cfignore --- .cfignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .cfignore diff --git a/.cfignore b/.cfignore new file mode 100644 index 0000000000..dafc758b33 --- /dev/null +++ b/.cfignore @@ -0,0 +1,2 @@ +# Exclude large media files exceeding Cloudflare Pages 25 MiB limit +static/bittensor-media-assets/Bittensor-mediaassets-2024Dec02.zip From 749729f301784a1056df84c4ffe0e1bba9983df3 Mon Sep 17 00:00:00 2001 From: clementblaise Date: Wed, 14 May 2025 16:44:42 +0800 Subject: [PATCH 015/303] fix: remove .cfignore --- .cfignore | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 .cfignore diff --git a/.cfignore b/.cfignore deleted file mode 100644 index dafc758b33..0000000000 --- a/.cfignore +++ /dev/null @@ -1,2 +0,0 @@ -# Exclude large media files exceeding Cloudflare Pages 25 MiB limit -static/bittensor-media-assets/Bittensor-mediaassets-2024Dec02.zip From 317944d00683f24606d84eb5a10189980aafca84 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Wed, 14 May 2025 14:02:04 -0700 Subject: [PATCH 016/303] wip --- docs/evm-tutorials/index.md | 30 +++ docs/evm-tutorials/metagraph-precompile.md | 201 +++++++++++++++++++++ docs/evm-tutorials/neuron-precompile.md | 192 ++++++++++++++++++++ docs/evm-tutorials/subnet-precompile.md | 153 ++++++++++++++++ sidebars.js | 7 +- 5 files changed, 582 insertions(+), 1 deletion(-) create mode 100644 docs/evm-tutorials/metagraph-precompile.md create mode 100644 docs/evm-tutorials/neuron-precompile.md create mode 100644 docs/evm-tutorials/subnet-precompile.md diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index d11c912725..f94256d3ca 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -38,6 +38,36 @@ Before you proceed to use EVM on subtensor, make a note of the following: 1. **EVM smart contract executes on subtensor**: The EVM feature allows the subtensor blockchain to execute Ethereum-compatible smart contracts. Note that all operations performed by this new subtensor EVM feature are executed solely on the subtensor blockchain, not on the Ethereum blockchain. 2. **1 TAO = 1e18 on subtensor EVM**: While working with the subtensor EVM, 1 TAO should be written as 1 followed by 18 zeroes, i.e., 1e18. See this code example: [https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js#L58](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js#L58). +## Available Precompiles + +The following precompiles are available on the Bittensor EVM: + +### Standard Ethereum Precompiles +- `ECRecover` (0x1) - Recover the address associated with the public key from elliptic curve signature +- `Sha256` (0x2) - SHA-256 hash function +- `Ripemd160` (0x3) - RIPEMD-160 hash function +- `Identity` (0x4) - Identity function (returns input data) +- `Modexp` (0x5) - Modular exponentiation +- `Sha3FIPS256` (0x400) - SHA3-256 hash function (FIPS variant) +- `ECRecoverPublicKey` (0x401) - Recover the public key from an elliptic curve signature + +### Bittensor-Specific Precompiles +- `Ed25519Verify` - Verify Ed25519 signatures +- `BalanceTransfer` - Transfer TAO between accounts +- `StakingPrecompileV2` (0x805) - Main staking operations including: + - `addStake` - Add stake to a hotkey + - `removeStake` - Remove stake from a hotkey + - `moveStake` - Move stake between hotkeys + - `transferStake` - Transfer stake between coldkeys + - `getTotalColdkeyStake` - Get total stake for a coldkey + - `getTotalHotkeyStake` - Get total stake for a hotkey + - `getStake` - Get stake between specific hotkey and coldkey + - `addProxy` - Add a proxy delegate + - `removeProxy` - Remove a proxy delegate +- `SubnetPrecompile` - Manage subnet operations +- `MetagraphPrecompile` - Interact with the metagraph +- `NeuronPrecompile` - Manage neuron operations + Run the below tutorials to learn how to use the EVM feature on the Bittensor blockchain. diff --git a/docs/evm-tutorials/metagraph-precompile.md b/docs/evm-tutorials/metagraph-precompile.md new file mode 100644 index 0000000000..cfbc41c933 --- /dev/null +++ b/docs/evm-tutorials/metagraph-precompile.md @@ -0,0 +1,201 @@ +--- +title: "Metagraph Precompile" +--- + +import ThemedImage from '@theme/ThemedImage'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + +# Metagraph Precompile + +The metagraph precompile allows you to query information about neurons, their relationships, and network state in the Bittensor network. This precompile provides read-only access to the metagraph data through smart contracts. + +## Precompile Address + +The metagraph precompile is available at address `0x802` (2050 in decimal). + +## Available Functions + +### Network Statistics + +#### `getUidCount(uint16 netuid) returns (uint16)` +Get the total number of UIDs (neurons) in a subnet. + +```solidity +function getUidCount(uint16 netuid) external view returns (uint16); +``` + +### Neuron Information + +#### `getStake(uint16 netuid, uint16 uid) returns (uint64)` +Get the total stake of a neuron in a subnet. + +```solidity +function getStake(uint16 netuid, uint16 uid) external view returns (uint64); +``` + +#### `getRank(uint16 netuid, uint16 uid) returns (uint16)` +Get the rank of a neuron in a subnet. + +```solidity +function getRank(uint16 netuid, uint16 uid) external view returns (uint16); +``` + +#### `getTrust(uint16 netuid, uint16 uid) returns (uint16)` +Get the trust score of a neuron in a subnet. + +```solidity +function getTrust(uint16 netuid, uint16 uid) external view returns (uint16); +``` + +#### `getConsensus(uint16 netuid, uint16 uid) returns (uint16)` +Get the consensus score of a neuron in a subnet. + +```solidity +function getConsensus(uint16 netuid, uint16 uid) external view returns (uint16); +``` + +#### `getIncentive(uint16 netuid, uint16 uid) returns (uint16)` +Get the incentive score of a neuron in a subnet. + +```solidity +function getIncentive(uint16 netuid, uint16 uid) external view returns (uint16); +``` + +#### `getDividends(uint16 netuid, uint16 uid) returns (uint16)` +Get the dividends of a neuron in a subnet. + +```solidity +function getDividends(uint16 netuid, uint16 uid) external view returns (uint16); +``` + +#### `getEmission(uint16 netuid, uint16 uid) returns (uint64)` +Get the emission of a neuron in a subnet. + +```solidity +function getEmission(uint16 netuid, uint16 uid) external view returns (uint64); +``` + +#### `getVtrust(uint16 netuid, uint16 uid) returns (uint16)` +Get the validator trust score of a neuron in a subnet. + +```solidity +function getVtrust(uint16 netuid, uint16 uid) external view returns (uint16); +``` + +### Neuron Status + +#### `getValidatorStatus(uint16 netuid, uint16 uid) returns (bool)` +Check if a neuron is a validator in a subnet. + +```solidity +function getValidatorStatus(uint16 netuid, uint16 uid) external view returns (bool); +``` + +#### `getLastUpdate(uint16 netuid, uint16 uid) returns (uint64)` +Get the timestamp of the last update for a neuron in a subnet. + +```solidity +function getLastUpdate(uint16 netuid, uint16 uid) external view returns (uint64); +``` + +#### `getIsActive(uint16 netuid, uint16 uid) returns (bool)` +Check if a neuron is active in a subnet. + +```solidity +function getIsActive(uint16 netuid, uint16 uid) external view returns (bool); +``` + +### Neuron Keys + +#### `getHotkey(uint16 netuid, uint16 uid) returns (bytes32)` +Get the hotkey of a neuron in a subnet. + +```solidity +function getHotkey(uint16 netuid, uint16 uid) external view returns (bytes32); +``` + +#### `getColdkey(uint16 netuid, uint16 uid) returns (bytes32)` +Get the coldkey of a neuron in a subnet. + +```solidity +function getColdkey(uint16 netuid, uint16 uid) external view returns (bytes32); +``` + +### Axon Information + +#### `getAxon(uint16 netuid, uint16 uid) returns (AxonInfo)` +Get the axon information of a neuron in a subnet. + +```solidity +struct AxonInfo { + uint64 block; + uint32 version; + uint128 ip; + uint16 port; + uint8 ip_type; + uint8 protocol; +} + +function getAxon(uint16 netuid, uint16 uid) external view returns (AxonInfo); +``` + +## Example Usage + +Here's an example of how to use the metagraph precompile in a smart contract: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface IMetagraphPrecompile { + struct AxonInfo { + uint64 block; + uint32 version; + uint128 ip; + uint16 port; + uint8 ip_type; + uint8 protocol; + } + + function getUidCount(uint16 netuid) external view returns (uint16); + function getStake(uint16 netuid, uint16 uid) external view returns (uint64); + function getRank(uint16 netuid, uint16 uid) external view returns (uint16); + function getHotkey(uint16 netuid, uint16 uid) external view returns (bytes32); + function getAxon(uint16 netuid, uint16 uid) external view returns (AxonInfo); +} + +contract MetagraphQuerier { + address constant METAGRAPH_PRECOMPILE = 0x802; + IMetagraphPrecompile metagraph = IMetagraphPrecompile(METAGRAPH_PRECOMPILE); + + function getNeuronInfo(uint16 netuid, uint16 uid) external view returns ( + uint64 stake, + uint16 rank, + bytes32 hotkey, + IMetagraphPrecompile.AxonInfo memory axon + ) { + stake = metagraph.getStake(netuid, uid); + rank = metagraph.getRank(netuid, uid); + hotkey = metagraph.getHotkey(netuid, uid); + axon = metagraph.getAxon(netuid, uid); + } + + function getNetworkStats(uint16 netuid) external view returns (uint16 totalNeurons) { + totalNeurons = metagraph.getUidCount(netuid); + } +} +``` + +## Important Notes + +1. All functions in the metagraph precompile are view functions and do not modify state. +2. The precompile provides read-only access to the metagraph data. +3. All queries are specific to a subnet identified by its `netuid`. +4. The `uid` parameter must be valid for the specified subnet. +5. Some functions may return default values or revert if the neuron is not found. + +## Next Steps + +- Learn about [staking operations](/evm-tutorials/staking-precompile) +- Understand [subnet management](/evm-tutorials/subnet-precompile) +- Explore [neuron operations](/evm-tutorials/neuron-precompile) \ No newline at end of file diff --git a/docs/evm-tutorials/neuron-precompile.md b/docs/evm-tutorials/neuron-precompile.md new file mode 100644 index 0000000000..2bec674d43 --- /dev/null +++ b/docs/evm-tutorials/neuron-precompile.md @@ -0,0 +1,192 @@ +--- +title: "Neuron Precompile" +--- + +import ThemedImage from '@theme/ThemedImage'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + +# Neuron Precompile + +The neuron precompile allows you to interact with neuron operations on the Bittensor network through smart contracts. This precompile provides functionality for setting weights, registering neurons, and serving axons. + +## Precompile Address + +The neuron precompile is available at address `0x804` (2052 in decimal). + +## Available Functions + +### Weight Management + +#### `setWeights(uint16 netuid, uint16[] dests, uint16[] weights, uint64 version_key)` +Set weights for multiple destination neurons in a subnet. This is a payable function. + +```solidity +function setWeights( + uint16 netuid, + uint16[] dests, + uint16[] weights, + uint64 version_key +) external payable; +``` + +#### `commitWeights(uint16 netuid, bytes32 commit_hash)` +Commit weights for a subnet using a hash. This is a payable function. + +```solidity +function commitWeights(uint16 netuid, bytes32 commit_hash) external payable; +``` + +#### `revealWeights(uint16 netuid, uint16[] uids, uint16[] values, uint16[] salt, uint64 version_key)` +Reveal previously committed weights for a subnet. This is a payable function. + +```solidity +function revealWeights( + uint16 netuid, + uint16[] uids, + uint16[] values, + uint16[] salt, + uint64 version_key +) external payable; +``` + +### Neuron Registration + +#### `burnedRegister(uint16 netuid, bytes32 hotkey)` +Register a new neuron in a subnet by burning TAO. This is a payable function. + +```solidity +function burnedRegister(uint16 netuid, bytes32 hotkey) external payable; +``` + +### Axon Serving + +#### `serveAxon(uint16 netuid, uint32 version, uint128 ip, uint16 port, uint8 ip_type, uint8 protocol, uint8 placeholder1, uint8 placeholder2)` +Serve an axon for a neuron in a subnet. This is a payable function. + +```solidity +function serveAxon( + uint16 netuid, + uint32 version, + uint128 ip, + uint16 port, + uint8 ip_type, + uint8 protocol, + uint8 placeholder1, + uint8 placeholder2 +) external payable; +``` + +#### `serveAxonTls(uint16 netuid, uint32 version, uint128 ip, uint16 port, uint8 ip_type, uint8 protocol, uint8 placeholder1, uint8 placeholder2, bytes certificate)` +Serve a TLS-enabled axon for a neuron in a subnet. This is a payable function. + +```solidity +function serveAxonTls( + uint16 netuid, + uint32 version, + uint128 ip, + uint16 port, + uint8 ip_type, + uint8 protocol, + uint8 placeholder1, + uint8 placeholder2, + bytes certificate +) external payable; +``` + +#### `servePrometheus(uint16 netuid, uint32 version, uint128 ip, uint16 port, uint8 ip_type)` +Serve a Prometheus endpoint for a neuron in a subnet. This is a payable function. + +```solidity +function servePrometheus( + uint16 netuid, + uint32 version, + uint128 ip, + uint16 port, + uint8 ip_type +) external payable; +``` + +## Example Usage + +Here's an example of how to use the neuron precompile in a smart contract: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface INeuronPrecompile { + function setWeights( + uint16 netuid, + uint16[] calldata dests, + uint16[] calldata weights, + uint64 version_key + ) external payable; + + function burnedRegister(uint16 netuid, bytes32 hotkey) external payable; + + function serveAxon( + uint16 netuid, + uint32 version, + uint128 ip, + uint16 port, + uint8 ip_type, + uint8 protocol, + uint8 placeholder1, + uint8 placeholder2 + ) external payable; +} + +contract NeuronManager { + address constant NEURON_PRECOMPILE = 0x804; + INeuronPrecompile neuron = INeuronPrecompile(NEURON_PRECOMPILE); + + function setNeuronWeights( + uint16 netuid, + uint16[] calldata dests, + uint16[] calldata weights, + uint64 version_key + ) external payable { + neuron.setWeights{value: msg.value}(netuid, dests, weights, version_key); + } + + function registerNeuron(uint16 netuid, bytes32 hotkey) external payable { + neuron.burnedRegister{value: msg.value}(netuid, hotkey); + } + + function serveNeuronAxon( + uint16 netuid, + uint32 version, + uint128 ip, + uint16 port, + uint8 ip_type, + uint8 protocol + ) external payable { + neuron.serveAxon{value: msg.value}( + netuid, + version, + ip, + port, + ip_type, + protocol, + 0, // placeholder1 + 0 // placeholder2 + ); + } +} +``` + +## Important Notes + +1. Most functions in the neuron precompile are payable and require TAO to be sent with the transaction. +2. The `setWeights` function requires the `dests` and `weights` arrays to be of equal length. +3. The `revealWeights` function requires the `uids`, `values`, and `salt` arrays to be of equal length. +4. All operations are specific to a subnet identified by its `netuid`. +5. The `version_key` parameter is used to track different versions of weights. +6. The `ip_type` parameter in axon serving functions determines the type of IP address (IPv4 or IPv6). +7. The `protocol` parameter in axon serving functions determines the communication protocol. + +## Next Steps + +- Learn about [staking operations](/evm-tutorials/staking-precompile) +- Understand [subnet management](/evm-tutorials/subnet-precompile) +- Explore [metagraph interactions](/evm-tutorials/metagraph-precompile) \ No newline at end of file diff --git a/docs/evm-tutorials/subnet-precompile.md b/docs/evm-tutorials/subnet-precompile.md new file mode 100644 index 0000000000..ea351a47fb --- /dev/null +++ b/docs/evm-tutorials/subnet-precompile.md @@ -0,0 +1,153 @@ +--- +title: "Subnet Precompile" +--- + +import ThemedImage from '@theme/ThemedImage'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + +# Subnet Precompile + +The subnet precompile allows you to interact with subnet operations on the Bittensor network through smart contracts. This precompile provides functionality for registering networks, managing network parameters, and querying network state. + +## Precompile Address + +The subnet precompile is available at address `0x803` (2051 in decimal). + +## Available Functions + +### Network Registration + +#### `registerNetwork(bytes32 hotkey)` +Register a new network with a hotkey. This is a payable function that requires TAO to be sent with the transaction. + +```solidity +function registerNetwork(bytes32 hotkey) external payable; +``` + +#### `registerNetwork(bytes32 hotkey, string subnet_name, string github_repo, string subnet_contact, string subnet_url, string discord, string description, string additional)` +Register a new network with a hotkey and identity information. This is a payable function that requires TAO to be sent with the transaction. + +```solidity +function registerNetwork( + bytes32 hotkey, + string subnet_name, + string github_repo, + string subnet_contact, + string subnet_url, + string discord, + string description, + string additional +) external payable; +``` + +### Network Parameters + +The subnet precompile provides getter and setter functions for various network parameters: + +#### Rate Limits +- `getServingRateLimit(uint16 netuid) returns (uint64)` +- `setServingRateLimit(uint16 netuid, uint64 serving_rate_limit)` + +#### Difficulty Settings +- `getMinDifficulty(uint16 netuid) returns (uint64)` +- `setMinDifficulty(uint16 netuid, uint64 min_difficulty)` +- `getMaxDifficulty(uint16 netuid) returns (uint64)` +- `setMaxDifficulty(uint16 netuid, uint64 max_difficulty)` +- `getDifficulty(uint16 netuid) returns (uint64)` +- `setDifficulty(uint16 netuid, uint64 difficulty)` + +#### Weights Management +- `getWeightsVersionKey(uint16 netuid) returns (uint64)` +- `setWeightsVersionKey(uint16 netuid, uint64 weights_version_key)` +- `getWeightsSetRateLimit(uint16 netuid) returns (uint64)` +- `setWeightsSetRateLimit(uint16 netuid, uint64 weights_set_rate_limit)` +- `getMaxWeightLimit(uint16 netuid) returns (uint16)` +- `setMaxWeightLimit(uint16 netuid, uint16 max_weight_limit)` +- `getMinAllowedWeights(uint16 netuid) returns (uint16)` +- `setMinAllowedWeights(uint16 netuid, uint16 min_allowed_weights)` + +#### Network Settings +- `getImmunityPeriod(uint16 netuid) returns (uint16)` +- `setImmunityPeriod(uint16 netuid, uint16 immunity_period)` +- `getKappa(uint16 netuid) returns (uint16)` +- `setKappa(uint16 netuid, uint16 kappa)` +- `getRho(uint16 netuid) returns (uint16)` +- `setRho(uint16 netuid, uint16 rho)` +- `getActivityCutoff(uint16 netuid) returns (uint16)` +- `setActivityCutoff(uint16 netuid, uint16 activity_cutoff)` + +#### Registration Settings +- `getNetworkRegistrationAllowed(uint16 netuid) returns (bool)` +- `setNetworkRegistrationAllowed(uint16 netuid, bool registration_allowed)` +- `getNetworkPowRegistrationAllowed(uint16 netuid) returns (bool)` +- `setNetworkPowRegistrationAllowed(uint16 netuid, bool registration_allowed)` + +#### Burn Settings +- `getMinBurn(uint16 netuid) returns (uint64)` +- `setMinBurn(uint16 netuid, uint64 min_burn)` +- `getMaxBurn(uint16 netuid) returns (uint64)` +- `setMaxBurn(uint16 netuid, uint64 max_burn)` + +#### Bonds and Alpha Settings +- `getBondsMovingAverage(uint16 netuid) returns (uint64)` +- `setBondsMovingAverage(uint16 netuid, uint64 bonds_moving_average)` +- `getAlphaValues(uint16 netuid) returns (uint16, uint16)` +- `setAlphaValues(uint16 netuid, uint16 alpha_low, uint16 alpha_high)` + +#### Commit-Reveal Settings +- `getCommitRevealWeightsEnabled(uint16 netuid) returns (bool)` +- `setCommitRevealWeightsEnabled(uint16 netuid, bool enabled)` +- `getCommitRevealWeightsInterval(uint16 netuid) returns (uint64)` +- `setCommitRevealWeightsInterval(uint16 netuid, uint64 interval)` + +#### Liquid Alpha Settings +- `getLiquidAlphaEnabled(uint16 netuid) returns (bool)` +- `setLiquidAlphaEnabled(uint16 netuid, bool enabled)` + +#### Transfer Settings +- `toggleTransfers(uint16 netuid, bool toggle)` + +## Example Usage + +Here's an example of how to use the subnet precompile in a smart contract: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface ISubnetPrecompile { + function registerNetwork(bytes32 hotkey) external payable; + function getDifficulty(uint16 netuid) external view returns (uint64); + function setDifficulty(uint16 netuid, uint64 difficulty) external; +} + +contract SubnetManager { + address constant SUBNET_PRECOMPILE = 0x803; + ISubnetPrecompile subnet = ISubnetPrecompile(SUBNET_PRECOMPILE); + + function registerNewNetwork(bytes32 hotkey) external payable { + subnet.registerNetwork{value: msg.value}(hotkey); + } + + function getNetworkDifficulty(uint16 netuid) external view returns (uint64) { + return subnet.getDifficulty(netuid); + } + + function updateNetworkDifficulty(uint16 netuid, uint64 newDifficulty) external { + subnet.setDifficulty(netuid, newDifficulty); + } +} +``` + +## Important Notes + +1. Most setter functions require admin privileges to execute. +2. The `registerNetwork` functions are payable and require TAO to be sent with the transaction. +3. All network parameters are specific to a subnet identified by its `netuid`. +4. Some functions may be restricted based on network permissions and governance settings. + +## Next Steps + +- Learn about [staking operations](/evm-tutorials/staking-precompile) +- Understand [neuron management](/evm-tutorials/neuron-precompile) +- Explore [metagraph interactions](/evm-tutorials/metagraph-precompile) \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 9a0f61df46..cc7d7287d7 100644 --- a/sidebars.js +++ b/sidebars.js @@ -200,11 +200,16 @@ const sidebars = { "evm-tutorials/evm-testnet-with-metamask-wallet", "evm-tutorials/evm-localnet-with-metamask-wallet", "evm-tutorials/evm-mainnet-with-metamask-wallet", + "evm-tutorials/hardhat-config-for-subtensor-evm", + "evm-tutorials/remix-config-for-subtensor-evm", "evm-tutorials/transfer-from-metamask-to-ss58", "evm-tutorials/transfer-between-two-h160-accounts", - "evm-tutorials/hardhat-config-for-subtensor-evm", "evm-tutorials/staking-precompile", "evm-tutorials/ed25519-verify-precompile", + "evm-tutorials/subnet-precompile", + "evm-tutorials/metagraph-precompile", + "evm-tutorials/neuron-precompile", + "evm-tutorials/troubleshooting" ], }, { From fdcec75767ad5a876a97469cef1af99e64cabeec Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Wed, 14 May 2025 14:49:07 -0700 Subject: [PATCH 017/303] wip --- docs/evm-tutorials/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index f94256d3ca..96aa371420 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -54,6 +54,7 @@ The following precompiles are available on the Bittensor EVM: ### Bittensor-Specific Precompiles - `Ed25519Verify` - Verify Ed25519 signatures - `BalanceTransfer` - Transfer TAO between accounts +- `StakingPrecompile` - `StakingPrecompileV2` (0x805) - Main staking operations including: - `addStake` - Add stake to a hotkey - `removeStake` - Remove stake from a hotkey @@ -67,6 +68,7 @@ The following precompiles are available on the Bittensor EVM: - `SubnetPrecompile` - Manage subnet operations - `MetagraphPrecompile` - Interact with the metagraph - `NeuronPrecompile` - Manage neuron operations +- UidLookupPrecompile Run the below tutorials to learn how to use the EVM feature on the Bittensor blockchain. From b6f45777cfe051e108b11d3cd7ea6b66d0fc0b99 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Wed, 14 May 2025 15:43:13 -0700 Subject: [PATCH 018/303] add precompile --- docs/evm-tutorials/staking-precompile.md | 210 ++++++++++++++--------- 1 file changed, 132 insertions(+), 78 deletions(-) diff --git a/docs/evm-tutorials/staking-precompile.md b/docs/evm-tutorials/staking-precompile.md index 1ea10c2044..0385e2bd7b 100644 --- a/docs/evm-tutorials/staking-precompile.md +++ b/docs/evm-tutorials/staking-precompile.md @@ -7,109 +7,163 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Staking Precompile -Staking precompile allows Ethereum code to interact with the staking feature of subtensor. For example, by using the staking precompile, the subtensor methods [`add_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/add_stake.rs) or [`remove_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/remove_stake.rs) can be called in order to delegate stake to a hotkey or undelegate stake from a hotkey. +The staking precompile allows you to interact with staking operations on the Bittensor network through smart contracts. This precompile provides functionality for adding and removing stakes, moving stakes between hotkeys, and querying stake information. -In this tutorial you will learn how to interact with staking precompile in two ways: +## Precompile Address -1. Call the staking precompile from another smart contract. -2. Use the staking precompile's ABI and your Metamask wallet to call the staking precompile on EVM localnet. You will use [Remix IDE](https://remix.ethereum.org/) for this. +The staking precompile is available at address `0x805` (2053 in decimal). -## Prerequisites +## Available Functions -1. You should also be comfortable using [Remix IDE](https://remix.ethereum.org/). -2. Read [EVM on Subtensor](./evm-on-subtensor.md) for a basic understanding of what an ABI is and how to use it. +### Stake Management -## Setup EVM localnet, subnet and delegate +#### `addStake(bytes32 hotkey, uint256 amount, uint256 netuid)` +Add stake to a hotkey in a specific subnet. This is a payable function that requires TAO to be sent with the transaction. -1. [Launch EVM localnet](./evm-localnet-with-metamask-wallet.md). Also, follow the instructions of running local chain all the way so that you have a Metamask address with some TAO balance. +```solidity +function addStake(bytes32 hotkey, uint256 amount, uint256 netuid) external payable; +``` -2. On this EVM localnet create one subnet and a delegate hotkey. The commands below will create a subnet, register a neuron and nominate your hotkey as a delegate, in that order: +#### `removeStake(bytes32 hotkey, uint256 amount, uint256 netuid)` +Remove stake from a hotkey in a specific subnet. - ```bash - btcli subnet create --subtensor.chain_endpoint ws://127.0.0.1:9944 - btcli subnet register --subtensor.chain_endpoint ws://127.0.0.1:9944 - btcli root nominate --subtensor.chain_endpoint ws://127.0.0.1:9944 - ``` +```solidity +function removeStake(bytes32 hotkey, uint256 amount, uint256 netuid) external; +``` -3. Save the delegate hotkey address. You will use this in the staking pool use case below. +#### `moveStake(bytes32 origin_hotkey, bytes32 destination_hotkey, uint256 origin_netuid, uint256 destination_netuid, uint256 amount)` +Move stake from one hotkey to another, potentially across different subnets. -4. Disable staking rate limits by setting `targetStakesPerInterval` to 1000. Follow these below steps: - - Open the Polkadot JS app using [this link with encoded transaction](https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/extrinsics/decode/0x0c00132fe803000000000000). - - Click on **Submission** tab. - - From the **using the selected account** field, select **ALICE**. - - Click on **Submit Transaction** at the bottom right. This will open the **authorize transaction** window. - - On this **authorize transaction** window, make sure the **sign and submit** toggle is ON and click on the **Sign and Submit** on the bottom right. +```solidity +function moveStake( + bytes32 origin_hotkey, + bytes32 destination_hotkey, + uint256 origin_netuid, + uint256 destination_netuid, + uint256 amount +) external; +``` -## Call the staking precompile from another smart contract (staking pool use case) +#### `transferStake(bytes32 destination_coldkey, bytes32 hotkey, uint256 origin_netuid, uint256 destination_netuid, uint256 amount)` +Transfer stake from one coldkey to another, potentially across different subnets. -In this interaction you will compile [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol), a smart contract Solidity code and execute it on the subtensor EVM. This `stake.sol` will, in turn, call the staking precompile that is already deployed in the subtensor EVM. +```solidity +function transferStake( + bytes32 destination_coldkey, + bytes32 hotkey, + uint256 origin_netuid, + uint256 destination_netuid, + uint256 amount +) external; +``` -Before you proceed, familiarize yourself with the Solidity code of the [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol) smart contract. +### Stake Queries + +#### `getTotalColdkeyStake(bytes32 coldkey) returns (uint256)` +Get the total stake for a coldkey across all subnets. -1. Copy the text of [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol) contract to Remix IDE. +```solidity +function getTotalColdkeyStake(bytes32 coldkey) external view returns (uint256); +``` -2. You will now convert your delegate hotkey ss58 from the above [Setup EVM localnet, subnet and delegate](#setup-evm-localnet-subnet-and-delegate) step into its corresponding public key. Use the [ss58.org](https://ss58.org/) site to obtain the public key for your delegate hotkey ss58. +#### `getTotalHotkeyStake(bytes32 hotkey) returns (uint256)` +Get the total stake for a hotkey across all subnets. -3. In the `stake.sol` text in Remix IDE, replace the `HOTKEY` constant on line 9, where it says `bytes32 constant HOTKEY = 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d;`, with your delegate hotkey's public key. +```solidity +function getTotalHotkeyStake(bytes32 hotkey) external view returns (uint256); +``` -4. Compile it in Remix IDE. +#### `getStake(bytes32 hotkey, bytes32 coldkey, uint256 netuid) returns (uint256)` +Get the stake between a specific hotkey and coldkey in a subnet. -5. Connect Remix IDE to Injected Provider - Metamask and your Metamask address that has TAO balance. You will stake this TAO balance to the delegate hotkey's public key. +```solidity +function getStake(bytes32 hotkey, bytes32 coldkey, uint256 netuid) external view returns (uint256); +``` -6. Execute the Stake contract method `stake_from_this_contract_to_alice` and pass 1e^9 to it (1 TAO). +#### `getTotalAlphaStaked(bytes32 hotkey, uint256 netuid) returns (uint256)` +Get the total amount of TAO staked by a hotkey in a specific subnet. -7. Check the stake balance of your delegate hotkey and confirm that it has increased by 1 TAO. +```solidity +function getTotalAlphaStaked(bytes32 hotkey, uint256 netuid) external view returns (uint256); +``` -## Use the staking precompile's ABI from your user account (staking as an individual use case) +#### `getAlphaStakedValidators(bytes32 hotkey, uint256 netuid) returns (bytes32[])` +Get a list of validator addresses that have staked to a specific hotkey in a subnet. -In this tutorial, you will interact directly with the staking precompile by using its ABI, and use your Metamask wallet as the source of TAO to stake. +```solidity +function getAlphaStakedValidators(bytes32 hotkey, uint256 netuid) external view returns (bytes32[]); +``` -1. Copy this below ABI of staking precompile contract into Remix IDE as a new file: +### Proxy Management - ```json - [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "hotkey", - "type": "bytes32" - } - ], - "name": "addStake", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "hotkey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "removeStake", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } - ] - ``` +#### `addProxy(bytes32 delegate)` +Add a proxy delegate for staking operations. -2. Copy staking precompile address `0x0000000000000000000000000000000000000801` to the **At Address** field in Remix IDE, and click **At Address** button. +```solidity +function addProxy(bytes32 delegate) external; +``` -3. Remix IDE will find the precompile at the precompile address on the subtensor EVM and show it in the list of deployed contracts. Expand the contract, then expand the `addStake` method, and paste the public key of your delegate hotkey into the `hotkey` field. Then click **transact** and wait for the transaction to be completed. +#### `removeProxy(bytes32 delegate)` +Remove a proxy delegate. -4. Follow these steps to see that the stake record is updated in [Polkadot JS app](https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/chainstate): - - 1. Select **subtensorModule** + **stake** in the drop-down list. - 2. Paste the delegate hotkey account ID in the first parameter. - 3. Toggle **include option** OFF for the second parameter. - 4. Click the **+** button and find the new stake record. +```solidity +function removeProxy(bytes32 delegate) external; +``` + +## Example Usage + +Here's an example of how to use the staking precompile in a smart contract: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface IStakingPrecompile { + function addStake(bytes32 hotkey, uint256 amount, uint256 netuid) external payable; + function removeStake(bytes32 hotkey, uint256 amount, uint256 netuid) external; + function getTotalColdkeyStake(bytes32 coldkey) external view returns (uint256); + function getTotalHotkeyStake(bytes32 hotkey) external view returns (uint256); + function getStake(bytes32 hotkey, bytes32 coldkey, uint256 netuid) external view returns (uint256); + function getTotalAlphaStaked(bytes32 hotkey, uint256 netuid) external view returns (uint256); + function getAlphaStakedValidators(bytes32 hotkey, uint256 netuid) external view returns (bytes32[]); +} + +contract StakingManager { + address constant STAKING_PRECOMPILE = 0x805; + IStakingPrecompile staking = IStakingPrecompile(STAKING_PRECOMPILE); + + function addStakeToHotkey(bytes32 hotkey, uint256 amount, uint256 netuid) external payable { + staking.addStake{value: msg.value}(hotkey, amount, netuid); + } + + function getStakeInfo(bytes32 hotkey, bytes32 coldkey, uint256 netuid) external view returns ( + uint256 totalColdkeyStake, + uint256 totalHotkeyStake, + uint256 specificStake, + uint256 totalAlphaStaked, + bytes32[] memory validators + ) { + totalColdkeyStake = staking.getTotalColdkeyStake(coldkey); + totalHotkeyStake = staking.getTotalHotkeyStake(hotkey); + specificStake = staking.getStake(hotkey, coldkey, netuid); + totalAlphaStaked = staking.getTotalAlphaStaked(hotkey, netuid); + validators = staking.getAlphaStakedValidators(hotkey, netuid); + } +} +``` + +## Important Notes + +1. The `addStake` function is payable and requires TAO to be sent with the transaction. +2. All amounts are in RAO (1 TAO = 1e18 RAO). +3. The `netuid` parameter identifies the specific subnet for the operation. +4. Proxy operations require appropriate permissions. +5. Moving and transferring stakes may have additional restrictions based on network parameters. +6. Some functions may require specific permissions or conditions to be met. + +## Next Steps + +- Learn about [subnet management](/evm-tutorials/subnet-precompile) +- Understand [neuron operations](/evm-tutorials/neuron-precompile) +- Explore [metagraph interactions](/evm-tutorials/metagraph-precompile) From 89e9977e17e1ece5d085c74a97a5ab903e569e15 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Thu, 15 May 2025 15:19:08 -0700 Subject: [PATCH 019/303] wip --- docs/evm-tutorials/evm-on-subtensor.md | 22 +++-------------- docs/evm-tutorials/index.md | 34 +++++++++++++++----------- 2 files changed, 24 insertions(+), 32 deletions(-) diff --git a/docs/evm-tutorials/evm-on-subtensor.md b/docs/evm-tutorials/evm-on-subtensor.md index cfa49fff9a..63e652f0d8 100644 --- a/docs/evm-tutorials/evm-on-subtensor.md +++ b/docs/evm-tutorials/evm-on-subtensor.md @@ -1,29 +1,17 @@ --- -title: "EVM on Subtensor" +title: "Bittensor vs Ethereum Smart Contracts" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# EVM on Subtensor +# Bittensor vs Ethereum Smart Contracts -Ethereum compatibility layer is now available on the subtensor. Using this EVM feature you can: -- Deploy and interact with any Ethereum smart contract, without any need to change it, on the subtensor blockchain. -- Access all the standard Ethereum JSON-RPC methods from this EVM compatibility layer on Bittensor. - -When this EVM feature is turned ON, it allows the subtensor blockchain to execute Ethereum-compatible smart contracts. - -:::danger EVM smart contract executes on subtensor -Note that all operations performed by the subtensor EVM feature are executed solely on the subtensor blockchain, not on the Ethereum blockchain. -::: - -This document explains in simple terms what this EVM on subtensor is and how it works. Head on over to the [EVM Tutorials](./index.md) to start learning how to use this feature. - -## Ethereum vs Bittensor smart contracts +This document explains how EVM for Bittensor is different from EVM for Ethereum. On the Ethereum network, nodes such as full nodes, validator nodes and archive nodes run the Ethereum Virtual Environment (EVM) run-time environment. Smart contracts operate under this EVM. See the below high-level diagram. -When we say “smart contracts on Bittensor” we refer to the new EVM compability feature in the Bittensor subtensor blockchain. When this EVM feature is turned ON, it allows the subtensor blockchain to execute Ethereum-compatible smart contracts. **Note that all operations performed by this new subtensor EVM feature are executed solely on the subtensor blockchain, not on the Ethereum blockchain.** See the below diagram showing how smart contracts on subtensor work: +When we say “smart contracts on Bittensor” we refer to the new EVM compability feature in the Bittensor subtensor blockchain. When this EVM feature is turned ON, it allows the subtensor blockchain to execute Ethereum-compatible smart contracts. **Note that all operations performed by this new subtensor EVM feature are executed solely on the subtensor blockchain, not on the Ethereum blockchain.** @@ -47,5 +35,3 @@ style={{width: 400}} /> - -Next, see [EVM Tutorials](./index.md) to start learning how to use this feature. diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index 96aa371420..dd4c4c70c2 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -31,12 +31,23 @@ Full Ethereum virtual machine (EVM) compatibility is now available on subtensor - Interact with deployed smart contracts on the subtensor blockchain - Access standard Ethereum JSON-RPC methods from this EVM compatibility layer on [Subtensor](https://github.com/opentensor/subtensor), Bittensor's substrate blockchain. -## Before you proceed +:::tip notes +| note | description | +|---------|-------------| +| EVM smart contracts execute on **Bittensor, not Ethereum blockchain** | Operations performed by subtensor EVM are executed solely on the subtensor blockchain, *not* on the Ethereum blockchain. | +| 1 TAO = 1e18 on subtensor EVM | While working with the subtensor EVM, 1 TAO should be written as 1 followed by 18 zeroes, i.e., 1e18.

For [example](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js#L58): `const value = BigInt(0.5 * 1e18).toString();`. | +::: +:::note networks +| | MAINNET | TESTNET | LOCALNET | +|:---------------------|:------------------------------------|:-------------------------------------|:-------------------------| +| **RPC URL** | https://lite.chain.opentensor.ai | https://test.chain.opentensor.ai | http://localhost:9944 | +| **Chain ID** | 964 | 945 | _see below_ | +| **Test TAO** | None | Available on request | Use Alice account | + +::: +See section [EVM Localnet with Metamask Wallet](./evm-localnet-with-metamask-wallet.md) for setting up a Local net. -Before you proceed to use EVM on subtensor, make a note of the following: -1. **EVM smart contract executes on subtensor**: The EVM feature allows the subtensor blockchain to execute Ethereum-compatible smart contracts. Note that all operations performed by this new subtensor EVM feature are executed solely on the subtensor blockchain, not on the Ethereum blockchain. -2. **1 TAO = 1e18 on subtensor EVM**: While working with the subtensor EVM, 1 TAO should be written as 1 followed by 18 zeroes, i.e., 1e18. See this code example: [https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js#L58](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js#L58). ## Available Precompiles @@ -73,11 +84,11 @@ The following precompiles are available on the Bittensor EVM: Run the below tutorials to learn how to use the EVM feature on the Bittensor blockchain. - + - From ce197d9cf72e3fcccb127d5ad5250dc2f18be5d3 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Fri, 16 May 2025 11:48:02 -0700 Subject: [PATCH 020/303] wip --- docs/evm-tutorials/evm-on-subtensor.md | 4 ++-- .../evm-testnet-with-metamask-wallet.md | 2 +- docs/evm-tutorials/index.md | 21 +++++++++++-------- docs/local-build/create-subnet.md | 1 - .../managing-stake-btcli.md | 2 +- .../managing-stake-sdk.md | 2 +- sidebars.js | 2 +- 7 files changed, 18 insertions(+), 16 deletions(-) diff --git a/docs/evm-tutorials/evm-on-subtensor.md b/docs/evm-tutorials/evm-on-subtensor.md index 63e652f0d8..632b9f3dcc 100644 --- a/docs/evm-tutorials/evm-on-subtensor.md +++ b/docs/evm-tutorials/evm-on-subtensor.md @@ -1,11 +1,11 @@ --- -title: "Bittensor vs Ethereum Smart Contracts" +title: "Ethereum vs Bittensor EVM Smart Contracts" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# Bittensor vs Ethereum Smart Contracts +# Ethereum vs Bittensor EVM Smart Contracts This document explains how EVM for Bittensor is different from EVM for Ethereum. diff --git a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md index 07a32050c6..49a5a8f11c 100644 --- a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md @@ -43,7 +43,7 @@ With the above steps, you have successfully configured your Metamask wallet with ## Step 3 Obtain TAO -Next, request testnet TAO in the Bittensor community Discord. +Next, request testnet TAO in the Bittensor community [Discord](https://discord.com/channels/799672011265015819/830068283314929684). ## Step 4. Copy Metamask wallet private key into config diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index dd4c4c70c2..c9484227dd 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -1,5 +1,5 @@ --- -title: "EVM smart contracts on Bittensor" +title: "Bittensor EVM Smart Contracts" --- import ThemedImage from '@theme/ThemedImage'; @@ -23,13 +23,9 @@ import { BiSolidNetworkChart } from "react-icons/bi"; import { FaMoneyBillTransfer } from "react-icons/fa6"; import { GrStakeholder } from "react-icons/gr"; -# EVM smart contracts on Bittensor +# Bittensor EVM Smart Contracts -Full Ethereum virtual machine (EVM) compatibility is now available on subtensor (the blockchain in Bittensor). This allows users to: - -- Deploy most EVM smart contracts on subtensor without changing the code -- Interact with deployed smart contracts on the subtensor blockchain -- Access standard Ethereum JSON-RPC methods from this EVM compatibility layer on [Subtensor](https://github.com/opentensor/subtensor), Bittensor's substrate blockchain. +Full Ethereum virtual machine (EVM) compatibility is now available on subtensor (the blockchain in Bittensor). This allows users to deploy most EVM smart contracts on subtensor without changing the code, interact with deployed smart contracts on the subtensor blockchain, and access standard Ethereum JSON-RPC methods. :::tip notes | note | description | @@ -38,13 +34,20 @@ Full Ethereum virtual machine (EVM) compatibility is now available on subtensor | 1 TAO = 1e18 on subtensor EVM | While working with the subtensor EVM, 1 TAO should be written as 1 followed by 18 zeroes, i.e., 1e18.

For [example](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js#L58): `const value = BigInt(0.5 * 1e18).toString();`. | ::: :::note networks + +You can deploy smart contracts on Bittensor main net (aka 'finney'), test network, or on your own locally deployed Bittensor chain. +
+ Network details + + | | MAINNET | TESTNET | LOCALNET | |:---------------------|:------------------------------------|:-------------------------------------|:-------------------------| | **RPC URL** | https://lite.chain.opentensor.ai | https://test.chain.opentensor.ai | http://localhost:9944 | | **Chain ID** | 964 | 945 | _see below_ | -| **Test TAO** | None | Available on request | Use Alice account | - +| **Test TAO** | None | Available on request | Use [Alice account](../local-build/provision-wallets#access-the-alice-account) | +
::: + See section [EVM Localnet with Metamask Wallet](./evm-localnet-with-metamask-wallet.md) for setting up a Local net. diff --git a/docs/local-build/create-subnet.md b/docs/local-build/create-subnet.md index 66bc33b2c9..5b55db0e69 100644 --- a/docs/local-build/create-subnet.md +++ b/docs/local-build/create-subnet.md @@ -15,7 +15,6 @@ Prerequisites: ## Create subnet -To access the handy pre-provisioned development "Alice" account on your local chain, use: ```shell btcli subnet create \ diff --git a/docs/staking-and-delegation/managing-stake-btcli.md b/docs/staking-and-delegation/managing-stake-btcli.md index 4859d6f6f0..5c5567c9ca 100644 --- a/docs/staking-and-delegation/managing-stake-btcli.md +++ b/docs/staking-and-delegation/managing-stake-btcli.md @@ -33,7 +33,7 @@ Test network tokens have no real value. Before managing liquidity on Bittensor m ## View TAO balance -To stake, you'll first need some TAO. Inquire in Discord to obtain TAO on Bittensor test network. +To stake, you'll first need some TAO. Inquire in [Discord](https://discord.com/channels/799672011265015819/830068283314929684) to obtain TAO on Bittensor test network. To ensure you are targeting the test network, run `btcli config set`, select network, and set it to `test`. diff --git a/docs/staking-and-delegation/managing-stake-sdk.md b/docs/staking-and-delegation/managing-stake-sdk.md index 433fe0ed50..fdc84c2869 100644 --- a/docs/staking-and-delegation/managing-stake-sdk.md +++ b/docs/staking-and-delegation/managing-stake-sdk.md @@ -20,7 +20,7 @@ Minimum transaction amount for stake/unstake/move/transfer: 500,000 RAO or 0.000 ## Check your TAO balance -To stake, you'll first need some TAO. Inquire in Discord to obtain TAO on Bittensor test network. +To stake, you'll first need some TAO. Inquire in [Discord](https://discord.com/channels/799672011265015819/830068283314929684) to obtain TAO on Bittensor test network. :::danger The funds in a crypto wallet are only as secure as your private key and/or seed phrase, and the devices that have access to these. diff --git a/sidebars.js b/sidebars.js index cc7d7287d7..82de1167cd 100644 --- a/sidebars.js +++ b/sidebars.js @@ -190,7 +190,7 @@ const sidebars = { { type: "category", - label: "EVM smart contracts on Bittensor", + label: "Bittensor EVM Smart Contracts", link: {type: "doc", id: "evm-tutorials/index",}, collapsible: true, collapsed: true, From 0ff483d0774b7c8b616e63193576da517fbd02d6 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Fri, 16 May 2025 12:49:53 -0700 Subject: [PATCH 021/303] wip --- .../evm-localnet-with-metamask-wallet.md | 4 +- .../evm-mainnet-with-metamask-wallet.md | 4 +- docs/evm-tutorials/evm-on-subtensor.md | 37 --------- .../evm-testnet-with-metamask-wallet.md | 4 +- docs/evm-tutorials/index.md | 82 ++++++++++++------- docs/evm-tutorials/install.md | 3 +- .../transfer-between-two-h160-accounts.md | 6 +- .../transfer-from-metamask-to-ss58.md | 6 +- sidebars.js | 43 +++++++--- 9 files changed, 99 insertions(+), 90 deletions(-) delete mode 100644 docs/evm-tutorials/evm-on-subtensor.md diff --git a/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md index 856493d9e8..06748b8447 100644 --- a/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md @@ -1,11 +1,11 @@ --- -title: "EVM Localnet with Metamask Wallet" +title: "Metamask with Local Chain" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# EVM Localnet with Metamask Wallet +# Metamask with Local Chain This tutorial is for how to set up your Metamask wallet to use with EVM localnet on Bittensor. You must run either this step or [EVM Testnet with Metamask Wallet](./evm-testnet-with-metamask-wallet.md) tutorial before you can run other tutorials in this section. diff --git a/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md index 7a7d2465e2..6c63320bbc 100644 --- a/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md @@ -1,10 +1,10 @@ --- -title: "EVM Mainnet with Metamask Wallet" +title: "Metamask with Mainnet" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# EVM Mainnet with Metamask Wallet +# Metamask with Mainnet This tutorial is for how to set up your Metamask wallet to use with the Mainnet (finney) on Bittensor. You must run this step before you can run other tutorials in this section. diff --git a/docs/evm-tutorials/evm-on-subtensor.md b/docs/evm-tutorials/evm-on-subtensor.md deleted file mode 100644 index 632b9f3dcc..0000000000 --- a/docs/evm-tutorials/evm-on-subtensor.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Ethereum vs Bittensor EVM Smart Contracts" ---- - -import ThemedImage from '@theme/ThemedImage'; -import useBaseUrl from '@docusaurus/useBaseUrl'; - -# Ethereum vs Bittensor EVM Smart Contracts - -This document explains how EVM for Bittensor is different from EVM for Ethereum. - -On the Ethereum network, nodes such as full nodes, validator nodes and archive nodes run the Ethereum Virtual Environment (EVM) run-time environment. Smart contracts operate under this EVM. See the below high-level diagram. - -When we say “smart contracts on Bittensor” we refer to the new EVM compability feature in the Bittensor subtensor blockchain. When this EVM feature is turned ON, it allows the subtensor blockchain to execute Ethereum-compatible smart contracts. **Note that all operations performed by this new subtensor EVM feature are executed solely on the subtensor blockchain, not on the Ethereum blockchain.** - - - - - - - - - diff --git a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md index 49a5a8f11c..1dd245b709 100644 --- a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md @@ -1,10 +1,10 @@ --- -title: "EVM Testnet with Metamask Wallet" +title: "Metamask with Testnet" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# EVM Testnet with Metamask Wallet +# Metamask with Testnet This tutorial is for how to set up your Metamask wallet to use with the testnet on Bittensor. You must run this step before you can run other tutorials in this section. diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index c9484227dd..dfdb3a0ced 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -27,13 +27,9 @@ import { GrStakeholder } from "react-icons/gr"; Full Ethereum virtual machine (EVM) compatibility is now available on subtensor (the blockchain in Bittensor). This allows users to deploy most EVM smart contracts on subtensor without changing the code, interact with deployed smart contracts on the subtensor blockchain, and access standard Ethereum JSON-RPC methods. -:::tip notes -| note | description | -|---------|-------------| -| EVM smart contracts execute on **Bittensor, not Ethereum blockchain** | Operations performed by subtensor EVM are executed solely on the subtensor blockchain, *not* on the Ethereum blockchain. | -| 1 TAO = 1e18 on subtensor EVM | While working with the subtensor EVM, 1 TAO should be written as 1 followed by 18 zeroes, i.e., 1e18.

For [example](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js#L58): `const value = BigInt(0.5 * 1e18).toString();`. | -::: -:::note networks +Bittensor EVM smart contracts are executed solely on the **Bittensor blockchain, *not* on the Ethereum blockchain.** + +## Networks You can deploy smart contracts on Bittensor main net (aka 'finney'), test network, or on your own locally deployed Bittensor chain.
@@ -45,18 +41,20 @@ You can deploy smart contracts on Bittensor main net (aka 'finney'), test networ | **RPC URL** | https://lite.chain.opentensor.ai | https://test.chain.opentensor.ai | http://localhost:9944 | | **Chain ID** | 964 | 945 | _see below_ | | **Test TAO** | None | Available on request | Use [Alice account](../local-build/provision-wallets#access-the-alice-account) | +|Set-up Guide|[EVM Testnet with Metamask Wallet](./evm-testnet-with-metamask-wallet)|[EVM Localnet with Metamask Wallet](./evm-localnet-with-metamask-wallet.md) for setting up a Local net.|
-::: -See section [EVM Localnet with Metamask Wallet](./evm-localnet-with-metamask-wallet.md) for setting up a Local net. + + ## Available Precompiles The following precompiles are available on the Bittensor EVM: +
+ Standard Ethereum Precompiles -### Standard Ethereum Precompiles - `ECRecover` (0x1) - Recover the address associated with the public key from elliptic curve signature - `Sha256` (0x2) - SHA-256 hash function - `Ripemd160` (0x3) - RIPEMD-160 hash function @@ -64,8 +62,10 @@ The following precompiles are available on the Bittensor EVM: - `Modexp` (0x5) - Modular exponentiation - `Sha3FIPS256` (0x400) - SHA3-256 hash function (FIPS variant) - `ECRecoverPublicKey` (0x401) - Recover the public key from an elliptic curve signature +
+
+ Bittensor-Specific Precompiles -### Bittensor-Specific Precompiles - `Ed25519Verify` - Verify Ed25519 signatures - `BalanceTransfer` - Transfer TAO between accounts - `StakingPrecompile` @@ -83,30 +83,44 @@ The following precompiles are available on the Bittensor EVM: - `MetagraphPrecompile` - Interact with the metagraph - `NeuronPrecompile` - Manage neuron operations - UidLookupPrecompile +
-Run the below tutorials to learn how to use the EVM feature on the Bittensor blockchain. +## Ethereum vs Bittensor EVM Smart Contracts - - - - + +On the Ethereum network, nodes such as full nodes, validator nodes and archive nodes run the Ethereum Virtual Environment (EVM) run-time environment. Smart contracts operate under this EVM. See the below high-level diagram. + +When we say “smart contracts on Bittensor” we refer to the new EVM compability feature in the Bittensor subtensor blockchain. When this EVM feature is turned ON, it allows the subtensor blockchain to execute Ethereum-compatible smart contracts. **Note that all operations performed by this new subtensor EVM feature are executed solely on the subtensor blockchain, not on the Ethereum blockchain.** + + + + + + + + + + + + body='Get started by installing dependencies first.' /> + + Date: Mon, 19 May 2025 11:09:07 -0700 Subject: [PATCH 022/303] wip --- .../evm-localnet-with-metamask-wallet.md | 2 +- .../evm-mainnet-with-metamask-wallet.md | 2 +- .../evm-testnet-with-metamask-wallet.md | 2 +- docs/evm-tutorials/examples.md | 39 +++++++++++++ docs/evm-tutorials/index.md | 55 ++++--------------- sidebars.js | 7 ++- 6 files changed, 58 insertions(+), 49 deletions(-) create mode 100644 docs/evm-tutorials/examples.md diff --git a/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md index 06748b8447..1fecbf7c6d 100644 --- a/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md @@ -7,7 +7,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Metamask with Local Chain -This tutorial is for how to set up your Metamask wallet to use with EVM localnet on Bittensor. You must run either this step or [EVM Testnet with Metamask Wallet](./evm-testnet-with-metamask-wallet.md) tutorial before you can run other tutorials in this section. +This page covers how to set up your Metamask wallet to use with EVM localnet on Bittensor. You must run either this step or [EVM Testnet with Metamask Wallet](./evm-testnet-with-metamask-wallet.md) tutorial before you can run other tutorials in this section. :::tip blog post: EVM on Bittensor If you are new to EVM, try this [blog post](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) for a simplified explanation. diff --git a/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md index 6c63320bbc..587ae9a2b9 100644 --- a/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md @@ -6,7 +6,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Metamask with Mainnet -This tutorial is for how to set up your Metamask wallet to use with the Mainnet (finney) on Bittensor. You must run this step before you can run other tutorials in this section. +This page covers how to set up your Metamask wallet to use with the Mainnet (finney) on Bittensor. You must run this step before you can run other tutorials in this section. :::tip blog post: EVM on Bittensor If you are new to EVM, try this [blog post](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) for a simplified explanation. diff --git a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md index 1dd245b709..257830d10f 100644 --- a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md @@ -6,7 +6,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Metamask with Testnet -This tutorial is for how to set up your Metamask wallet to use with the testnet on Bittensor. You must run this step before you can run other tutorials in this section. +This page covers how to set up your Metamask wallet to use with the testnet on Bittensor. You must run this step before you can run other tutorials in this section. :::tip blog post: EVM on Bittensor If you are new to EVM, try this [blog post](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) for a simplified explanation. diff --git a/docs/evm-tutorials/examples.md b/docs/evm-tutorials/examples.md new file mode 100644 index 0000000000..744ad39e49 --- /dev/null +++ b/docs/evm-tutorials/examples.md @@ -0,0 +1,39 @@ +--- +title: "Bittensor EVM: Examples and Precompiles" +--- + +# Bittensor EVM: Examples and Precompiles +## Available Precompiles + +The following precompiles are available on the Bittensor EVM: +
+ Standard Ethereum Precompiles + +- `ECRecover` (0x1) - Recover the address associated with the public key from elliptic curve signature +- `Sha256` (0x2) - SHA-256 hash function +- `Ripemd160` (0x3) - RIPEMD-160 hash function +- `Identity` (0x4) - Identity function (returns input data) +- `Modexp` (0x5) - Modular exponentiation +- `Sha3FIPS256` (0x400) - SHA3-256 hash function (FIPS variant) +- `ECRecoverPublicKey` (0x401) - Recover the public key from an elliptic curve signature +
+
+ Bittensor-Specific Precompiles + +- [`Ed25519Verify`](./ed25519-verify-precompile.md) - Verify Ed25519 signatures +- [`BalanceTransfer`](./transfer-between-two-h160-accounts.md) - Transfer TAO between accounts +- [`StakingPrecompile`](./staking-precompile.md) - Manage staking operations +- [`StakingPrecompileV2`](./staking-precompile.md) (0x805) - Main staking operations including: + - `addStake` - Add stake to a hotkey + - `removeStake` - Remove stake from a hotkey + - `moveStake` - Move stake between hotkeys + - `transferStake` - Transfer stake between coldkeys + - `getTotalColdkeyStake` - Get total stake for a coldkey + - `getTotalHotkeyStake` - Get total stake for a hotkey + - `getStake` - Get stake between specific hotkey and coldkey + - `addProxy` - Add a proxy delegate + - `removeProxy` - Remove a proxy delegate +- [`SubnetPrecompile`](./subnet-precompile.md) - Manage subnet operations +- [`MetagraphPrecompile`](./metagraph-precompile.md) - Interact with the metagraph +- [`NeuronPrecompile`](./neuron-precompile.md) - Manage neuron operations +
diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index dfdb3a0ced..7b8aff65e2 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -29,6 +29,17 @@ Full Ethereum virtual machine (EVM) compatibility is now available on subtensor Bittensor EVM smart contracts are executed solely on the **Bittensor blockchain, *not* on the Ethereum blockchain.** +See: [Examples and Precompiles](./examples.md) + +The following Bittensor-specific precompiles are available: +- [Ed25519Verify](./ed25519-verify-precompile.md) - Verify Ed25519 signatures +- [BalanceTransfer](./transfer-between-two-h160-accounts.md) - Transfer TAO between accounts +- [StakingPrecompile](./staking-precompile.md) - Manage staking operations +- [StakingPrecompileV2](./staking-precompile.md) - Enhanced staking operations +- [SubnetPrecompile](./subnet-precompile.md) - Manage subnet operations +- [MetagraphPrecompile](./metagraph-precompile.md) - Interact with the metagraph +- [NeuronPrecompile](./neuron-precompile.md) - Manage neuron operations + ## Networks You can deploy smart contracts on Bittensor main net (aka 'finney'), test network, or on your own locally deployed Bittensor chain. @@ -44,53 +55,11 @@ You can deploy smart contracts on Bittensor main net (aka 'finney'), test networ |Set-up Guide|[EVM Testnet with Metamask Wallet](./evm-testnet-with-metamask-wallet)|[EVM Localnet with Metamask Wallet](./evm-localnet-with-metamask-wallet.md) for setting up a Local net.| - - - - - -## Available Precompiles - -The following precompiles are available on the Bittensor EVM: -
- Standard Ethereum Precompiles - -- `ECRecover` (0x1) - Recover the address associated with the public key from elliptic curve signature -- `Sha256` (0x2) - SHA-256 hash function -- `Ripemd160` (0x3) - RIPEMD-160 hash function -- `Identity` (0x4) - Identity function (returns input data) -- `Modexp` (0x5) - Modular exponentiation -- `Sha3FIPS256` (0x400) - SHA3-256 hash function (FIPS variant) -- `ECRecoverPublicKey` (0x401) - Recover the public key from an elliptic curve signature -
-
- Bittensor-Specific Precompiles - -- `Ed25519Verify` - Verify Ed25519 signatures -- `BalanceTransfer` - Transfer TAO between accounts -- `StakingPrecompile` -- `StakingPrecompileV2` (0x805) - Main staking operations including: - - `addStake` - Add stake to a hotkey - - `removeStake` - Remove stake from a hotkey - - `moveStake` - Move stake between hotkeys - - `transferStake` - Transfer stake between coldkeys - - `getTotalColdkeyStake` - Get total stake for a coldkey - - `getTotalHotkeyStake` - Get total stake for a hotkey - - `getStake` - Get stake between specific hotkey and coldkey - - `addProxy` - Add a proxy delegate - - `removeProxy` - Remove a proxy delegate -- `SubnetPrecompile` - Manage subnet operations -- `MetagraphPrecompile` - Interact with the metagraph -- `NeuronPrecompile` - Manage neuron operations -- UidLookupPrecompile -
- ## Ethereum vs Bittensor EVM Smart Contracts - On the Ethereum network, nodes such as full nodes, validator nodes and archive nodes run the Ethereum Virtual Environment (EVM) run-time environment. Smart contracts operate under this EVM. See the below high-level diagram. -When we say “smart contracts on Bittensor” we refer to the new EVM compability feature in the Bittensor subtensor blockchain. When this EVM feature is turned ON, it allows the subtensor blockchain to execute Ethereum-compatible smart contracts. **Note that all operations performed by this new subtensor EVM feature are executed solely on the subtensor blockchain, not on the Ethereum blockchain.** +**Note that all operations performed by Bittensor EVM are executed solely on the Bittensor blockchain, not on the Ethereum blockchain.** diff --git a/sidebars.js b/sidebars.js index 2258ef61ee..18a83fd63a 100644 --- a/sidebars.js +++ b/sidebars.js @@ -189,10 +189,10 @@ const sidebars = { }, { type: 'category', - label: 'Bittensor EVM: Tooling and Configuration', + label: 'Bittensor EVM', link: {type: "doc", id: "evm-tutorials/index"}, items:[ - + "evm-tutorials/index", "evm-tutorials/install", "evm-tutorials/evm-testnet-with-metamask-wallet", "evm-tutorials/evm-localnet-with-metamask-wallet", @@ -204,9 +204,10 @@ const sidebars = { }, { type: 'category', - link: {type: "doc", id: "evm-tutorials/transfer-from-metamask-to-ss58"}, + link: {type: "doc", id: "evm-tutorials/examples"}, label: 'Bittensor EVM: Examples and Precompiles', items:[ + "evm-tutorials/examples", "evm-tutorials/transfer-from-metamask-to-ss58", "evm-tutorials/transfer-between-two-h160-accounts", "evm-tutorials/staking-precompile", From 4557dd12d28f4d361b3a17edb6a903e9941c0eee Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 20 May 2025 13:53:37 -0700 Subject: [PATCH 023/303] wip --- docs/evm-tutorials/index.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index 7b8aff65e2..c2113c165f 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -31,14 +31,6 @@ Bittensor EVM smart contracts are executed solely on the **Bittensor blockchain, See: [Examples and Precompiles](./examples.md) -The following Bittensor-specific precompiles are available: -- [Ed25519Verify](./ed25519-verify-precompile.md) - Verify Ed25519 signatures -- [BalanceTransfer](./transfer-between-two-h160-accounts.md) - Transfer TAO between accounts -- [StakingPrecompile](./staking-precompile.md) - Manage staking operations -- [StakingPrecompileV2](./staking-precompile.md) - Enhanced staking operations -- [SubnetPrecompile](./subnet-precompile.md) - Manage subnet operations -- [MetagraphPrecompile](./metagraph-precompile.md) - Interact with the metagraph -- [NeuronPrecompile](./neuron-precompile.md) - Manage neuron operations ## Networks From 2ef542ba8a85be2c5e006979eb3a0bfed82528b5 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 22 May 2025 10:00:58 -0700 Subject: [PATCH 024/303] wip --- .../ed25519-verify-precompile.md | 135 +++++++++++++++++- .../evm-localnet-with-metamask-wallet.md | 8 +- .../evm-mainnet-with-metamask-wallet.md | 4 +- .../evm-testnet-with-metamask-wallet.md | 4 +- docs/evm-tutorials/examples.md | 65 ++++----- .../hardhat-config-for-subtensor-evm.md | 4 +- docs/evm-tutorials/index.md | 4 +- .../remix-config-for-subtensor-evm.md | 4 +- 8 files changed, 180 insertions(+), 48 deletions(-) diff --git a/docs/evm-tutorials/ed25519-verify-precompile.md b/docs/evm-tutorials/ed25519-verify-precompile.md index 1aae5a4488..20a3cc1914 100644 --- a/docs/evm-tutorials/ed25519-verify-precompile.md +++ b/docs/evm-tutorials/ed25519-verify-precompile.md @@ -7,11 +7,12 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Ed25519 Verify Precompile -This precompile is deployed on the subtensor EVM at the address `0x0000000000000000000000000000000000000402`. This precompile allows you to verify an `ed25519` signature. +This smart contract is precompiled at Bittensor EVM address `0x0000000000000000000000000000000000000402`. +It allows you to verify an `ed25519` signature to confirm ownership of a `ss58` public key in EVM (for example, for a Bittensor wallets coldkey public key). -You can use this precompile to verify proof of `ss58` account ownership on the EVM side. For example, you may need to do such verification for an airdrop to TAO owners. While EVM functionality doesn't allow airdropping directly to `ss58` addresses (because EVM is using H160 address schema), one can implement an airdrop via claiming. An owner of `ss58` address eligible for an airdrop can send an EVM transaction which includes the proof of `ss58` address ownership, for example, a signed message, uniquely specific for a given airdrop. +For example, you may want to verify coldkey ownership before transferring to someone. EVM functionality doesn't allow transferring directly to a `ss58` address—like the public key of a bittensor coldkey, because EVM uses the H160 address schema. To bridge the gap, you can use this precompile to prove a claim of ownership. The owner of a coldkey can send an EVM transaction with a signed message, serving as proof of ownership of the coldkey's `ss58` address. -For a complete code example see [`ed25519-verify.js`](https://github.com/opentensor/evm-bittensor/blob/main/examples/ed25519-verify.js). +Below, we'll explore a complete code example. :::danger Stop. Did you install the dependencies? Before you proceed, make sure you finished the [Install](./install.md) step. @@ -44,4 +45,130 @@ This example demonstrates how to: 2. Verify the signature using the precompile contract. 3. Fail the verification of the signature using the corrupted message hash with the precompile contract. -4. Fail the verification of the corrupted signature with the precompile contract. \ No newline at end of file +4. Fail the verification of the corrupted signature with the precompile contract. + + +## Code example + +[On GitHub](https://github.com/opentensor/evm-bittensor/blob/main/examples/ed25519-verify.js). + +```js +// ed25519-verify.js +const { ethers } = require('ethers'); +const { Keyring } = require('@polkadot/keyring'); + +// PROTECT YOUR PRIVATE KEYS WELL, NEVER COMMIT THEM TO GITHUB OR SHARE WITH ANYONE +const { rpcUrl } = require('./config.js'); + +const provider = new ethers.JsonRpcProvider(rpcUrl); + +const IED25519VERIFY_ADDRESS = '0x0000000000000000000000000000000000000402'; +const IEd25519VerifyABI = [ + { + "inputs": [ + { "internalType": "bytes32", "name": "message", "type": "bytes32" }, + { "internalType": "bytes32", "name": "publicKey", "type": "bytes32" }, + { "internalType": "bytes32", "name": "r", "type": "bytes32" }, + { "internalType": "bytes32", "name": "s", "type": "bytes32" } + ], + "name": "verify", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "pure", + "type": "function" + } +]; + +async function main() { + const keyring = new Keyring({ type: 'ed25519' }); + const myAccount = keyring.addFromUri('//Alice'); + + ////////////////////////////////////////////////////////////////////// + // Generate a signature + + // Your message to sign + const message = 'Sign this message'; + const messageU8a = new TextEncoder().encode(message); + const messageHex = ethers.hexlify(messageU8a); // Convert message to hex string + const messageHash = ethers.keccak256(messageHex); // Hash the message to fit into bytes32 + console.log(`messageHash = ${messageHash}`); + const hashedMessageBytes = hexToBytes(messageHash); + + // Sign the message + const signature = myAccount.sign(hashedMessageBytes); + console.log(`Signature: ${bytesToHex(signature)}`); + + // Verify the signature locally + const isValid = myAccount.verify(hashedMessageBytes, signature, myAccount.publicKey); + console.log(`Is the signature valid? ${isValid}`); + + ////////////////////////////////////////////////////////////////////// + // Verify the signature using the precompile contract + + const publicKeyBytes = bytesToHex(myAccount.publicKey); + console.log(`publicKeyBytes = ${publicKeyBytes}`); + + // Split signture into Commitment (R) and response (s) + let r = signature.slice(0, 32); // Commitment, a.k.a. "r" - first 32 bytes + let s = signature.slice(32, 64); // Response, a.k.a. "s" - second 32 bytes + let rBytes = bytesToHex(r); + let sBytes = bytesToHex(s); + const ed25519Contract = new ethers.Contract(IED25519VERIFY_ADDRESS, IEd25519VerifyABI, provider); + const isPrecompileValid = await ed25519Contract.verify(messageHash, publicKeyBytes, rBytes, sBytes); + console.log(`Is the signature valid according to the smart contract? ${isPrecompileValid}`); + + ////////////////////////////////////////////////////////////////////// + // Verify the signature for bad data using the precompile contract + + let brokenHashedMessageBytes = hashedMessageBytes; + brokenHashedMessageBytes[0] = (brokenHashedMessageBytes[0] + 1) % 0xff; + const brokenMessageHash = bytesToHex(brokenHashedMessageBytes); + console.log(`brokenMessageHash = ${brokenMessageHash}`); + const isPrecompileValidBadData = await ed25519Contract.verify(brokenMessageHash, publicKeyBytes, rBytes, sBytes); + console.log(`Is the signature valid according to the smart contract for broken data? ${isPrecompileValidBadData}`); + + ////////////////////////////////////////////////////////////////////// + // Verify the bad signature for good data using the precompile contract + + let brokenR = r; + brokenR[0] = (brokenR[0] + 1) % 0xff; + rBytes = bytesToHex(r); + const isPrecompileValidBadSignature = await ed25519Contract.verify(messageHash, publicKeyBytes, rBytes, sBytes); + console.log(`Is the signature valid according to the smart contract for broken signature? ${isPrecompileValidBadSignature}`); +} + +main().catch(console.error); + +function hexToBytes(hex) { + // Remove the '0x' prefix if it exists + if (hex.startsWith('0x')) { + hex = hex.slice(2); + } + + // Initialize the array + var bytes = new Uint8Array(hex.length / 2); + + // Loop through each pair of characters + for (var i = 0; i < bytes.length; i++) { + // Convert the pair of characters to a byte + bytes[i] = parseInt(hex.substr(i * 2, 2), 16); + } + + return bytes; +} + +function bytesToHex(bytes) { + // Initialize the hex string + var hex = []; + + // Loop through each byte + for (var i = 0; i < bytes.length; i++) { + // Convert each byte to a hex string and add it to the array + // Ensure it is two digits by padding with a zero if necessary + hex.push((bytes[i] >>> 4).toString(16)); + hex.push((bytes[i] & 0xF).toString(16)); + } + + // Join all hex string parts into one string + return '0x' + hex.join(''); +} +``` \ No newline at end of file diff --git a/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md index 1fecbf7c6d..ed08623218 100644 --- a/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md @@ -1,13 +1,15 @@ --- -title: "Metamask with Local Chain" +title: "EVM on Local Chain" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# Metamask with Local Chain +# EVM on Local Chain -This page covers how to set up your Metamask wallet to use with EVM localnet on Bittensor. You must run either this step or [EVM Testnet with Metamask Wallet](./evm-testnet-with-metamask-wallet.md) tutorial before you can run other tutorials in this section. +This page covers getting set up to use EVM on a locally deployed Bittensor blockchain. + +Consider first trying [EVM with Bittensor testnet](./evm-testnet-with-metamask-wallet.md). This allows you to try EVM without having to deploy a blockchain locally, but you will have to obtain testnet TAO by inquiring in discord, or by completing the [BTCLI playground](../btcli/btcli-playground)challenge to obtain testnet TAO. :::tip blog post: EVM on Bittensor If you are new to EVM, try this [blog post](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) for a simplified explanation. diff --git a/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md index 587ae9a2b9..78118255bd 100644 --- a/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md @@ -1,10 +1,10 @@ --- -title: "Metamask with Mainnet" +title: "EVM on Mainnet" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# Metamask with Mainnet +# EVM on Mainnet This page covers how to set up your Metamask wallet to use with the Mainnet (finney) on Bittensor. You must run this step before you can run other tutorials in this section. diff --git a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md index 257830d10f..b3079c2948 100644 --- a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md @@ -1,10 +1,10 @@ --- -title: "Metamask with Testnet" +title: "EVM on Testnet" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# Metamask with Testnet +# EVM on Testnet This page covers how to set up your Metamask wallet to use with the testnet on Bittensor. You must run this step before you can run other tutorials in this section. diff --git a/docs/evm-tutorials/examples.md b/docs/evm-tutorials/examples.md index 744ad39e49..841b99fc8b 100644 --- a/docs/evm-tutorials/examples.md +++ b/docs/evm-tutorials/examples.md @@ -5,35 +5,36 @@ title: "Bittensor EVM: Examples and Precompiles" # Bittensor EVM: Examples and Precompiles ## Available Precompiles -The following precompiles are available on the Bittensor EVM: -
- Standard Ethereum Precompiles - -- `ECRecover` (0x1) - Recover the address associated with the public key from elliptic curve signature -- `Sha256` (0x2) - SHA-256 hash function -- `Ripemd160` (0x3) - RIPEMD-160 hash function -- `Identity` (0x4) - Identity function (returns input data) -- `Modexp` (0x5) - Modular exponentiation -- `Sha3FIPS256` (0x400) - SHA3-256 hash function (FIPS variant) -- `ECRecoverPublicKey` (0x401) - Recover the public key from an elliptic curve signature -
-
- Bittensor-Specific Precompiles - -- [`Ed25519Verify`](./ed25519-verify-precompile.md) - Verify Ed25519 signatures -- [`BalanceTransfer`](./transfer-between-two-h160-accounts.md) - Transfer TAO between accounts -- [`StakingPrecompile`](./staking-precompile.md) - Manage staking operations -- [`StakingPrecompileV2`](./staking-precompile.md) (0x805) - Main staking operations including: - - `addStake` - Add stake to a hotkey - - `removeStake` - Remove stake from a hotkey - - `moveStake` - Move stake between hotkeys - - `transferStake` - Transfer stake between coldkeys - - `getTotalColdkeyStake` - Get total stake for a coldkey - - `getTotalHotkeyStake` - Get total stake for a hotkey - - `getStake` - Get stake between specific hotkey and coldkey - - `addProxy` - Add a proxy delegate - - `removeProxy` - Remove a proxy delegate -- [`SubnetPrecompile`](./subnet-precompile.md) - Manage subnet operations -- [`MetagraphPrecompile`](./metagraph-precompile.md) - Interact with the metagraph -- [`NeuronPrecompile`](./neuron-precompile.md) - Manage neuron operations -
+The following precompiles are available on the Bittensor EVM. + +Code examples used throughout are provided by OTF, and come from [this repository.](https://github.com/opentensor/evm-bittensor/tree/main/examples) + +## Standard Ethereum Precompiles + +- `ECRecover` (0x1): Recover the address associated with the public key from elliptic curve signature +- `Sha256` (0x2): SHA-256 hash function +- `Ripemd160` (0x3): RIPEMD-160 hash function +- `Identity` (0x4): Identity function (returns input data) +- `Modexp` (0x5): Modular exponentiation +- `Sha3FIPS256` (0x400): SHA3-256 hash function (FIPS variant) +- `ECRecoverPublicKey` (0x401): Recover the public key from an elliptic curve signature + +## Bittensor-Specific Precompiles + +- [`Ed25519Verify`](./ed25519-verify-precompile.md): Verify Ed25519 signatures +- [`BalanceTransfer`](./transfer-between-two-h160-accounts.md): Transfer TAO between accounts +- [`StakingPrecompile`](./staking-precompile.md): Manage staking operations +- [`StakingPrecompileV2`](./staking-precompile.md) (0x805): Main staking operations including: + - `addStake`: Add stake to a hotkey + - `removeStake`: Remove stake from a hotkey + - `moveStake`: Move stake between hotkeys + - `transferStake`: Transfer stake between coldkeys + - `getTotalColdkeyStake`: Get total stake for a coldkey + - `getTotalHotkeyStake`: Get total stake for a hotkey + - `getStake`: Get stake between specific hotkey and coldkey + - `addProxy`: Add a proxy delegate + - `removeProxy`: Remove a proxy delegate +- [`SubnetPrecompile`](./subnet-precompile.md): Manage subnet operations +- [`MetagraphPrecompile`](./metagraph-precompile.md): Interact with the metagraph +- [`NeuronPrecompile`](./neuron-precompile.md): Manage neuron operations + diff --git a/docs/evm-tutorials/hardhat-config-for-subtensor-evm.md b/docs/evm-tutorials/hardhat-config-for-subtensor-evm.md index 0cca194579..6443faff71 100644 --- a/docs/evm-tutorials/hardhat-config-for-subtensor-evm.md +++ b/docs/evm-tutorials/hardhat-config-for-subtensor-evm.md @@ -1,11 +1,11 @@ --- -title: "Hardhat Configuration for Subtensor EVM" +title: "Configuring Hardhat" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# Hardhat Configuration for Subtensor EVM +# Configuring Hardhat You can use [Hardhat](https://hardhat.org/) development environment for the EVM feature on subtensor. The Hardhat networks can be configured using the `hardhat.config.ts` file, as shown below. diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index c2113c165f..47d945e5b9 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -29,7 +29,9 @@ Full Ethereum virtual machine (EVM) compatibility is now available on subtensor Bittensor EVM smart contracts are executed solely on the **Bittensor blockchain, *not* on the Ethereum blockchain.** -See: [Examples and Precompiles](./examples.md) +See: +- [Examples and Precompiles](./examples.md) +- Getting started with [Bittensor EVM on Testnet](./evm-testnet-with-metamask-wallet) ## Networks diff --git a/docs/evm-tutorials/remix-config-for-subtensor-evm.md b/docs/evm-tutorials/remix-config-for-subtensor-evm.md index 0bb8cf32d0..af76493868 100644 --- a/docs/evm-tutorials/remix-config-for-subtensor-evm.md +++ b/docs/evm-tutorials/remix-config-for-subtensor-evm.md @@ -1,11 +1,11 @@ --- -title: "Remix IDE Configuration for Subtensor EVM" +title: "Configuring Remix IDE" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# Remix IDE Configuration for Subtensor EVM +# Configuring Remix IDE You can use [Remix IDE](https://remix.ethereum.org/#lang=en&optimize=false&runs=200&evmVersion=cancun&version=soljson-v0.8.24+commit.e11b9ed9.js) for the EVM feature on subtensor. The link above automatically configures Remix to use EVM Version **Cancun** that matches **Solidity 0.8.24**. From b4f22d731abadfbefccdab827c4cd549a2a0d59d Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 22 May 2025 11:11:16 -0700 Subject: [PATCH 025/303] wip --- .../ed25519-verify-precompile.md | 54 +++++++++++-------- .../evm-testnet-with-metamask-wallet.md | 24 ++++++--- 2 files changed, 48 insertions(+), 30 deletions(-) diff --git a/docs/evm-tutorials/ed25519-verify-precompile.md b/docs/evm-tutorials/ed25519-verify-precompile.md index 20a3cc1914..bef9f88a3c 100644 --- a/docs/evm-tutorials/ed25519-verify-precompile.md +++ b/docs/evm-tutorials/ed25519-verify-precompile.md @@ -7,18 +7,19 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Ed25519 Verify Precompile -This smart contract is precompiled at Bittensor EVM address `0x0000000000000000000000000000000000000402`. -It allows you to verify an `ed25519` signature to confirm ownership of a `ss58` public key in EVM (for example, for a Bittensor wallets coldkey public key). +The Ed25519 Verify Precompile allows EVM smart contracts to verify Ed25519 signatures, which are commonly used in Substrate-based chains like Bittensor. This is essential for bridging identity and ownership between Substrate and EVM ecosystems. For example, you may want to verify coldkey ownership before transferring to someone. EVM functionality doesn't allow transferring directly to a `ss58` address—like the public key of a Bittensor coldkey—because EVM uses the H160 address schema. To bridge the gap, you can use this precompile to prove a claim of ownership. The owner of a coldkey can send an EVM transaction with a signed message, serving as proof of ownership of the coldkey's `ss58` address. -For example, you may want to verify coldkey ownership before transferring to someone. EVM functionality doesn't allow transferring directly to a `ss58` address—like the public key of a bittensor coldkey, because EVM uses the H160 address schema. To bridge the gap, you can use this precompile to prove a claim of ownership. The owner of a coldkey can send an EVM transaction with a signed message, serving as proof of ownership of the coldkey's `ss58` address. +## Prerequisites -Below, we'll explore a complete code example. +- **Node.js** (v16 or later recommended) +- **npm** or **yarn** +- [Clone the Bittensor EVM examples repo](./install.md) +- [Get set up for using EVM wallet on testnet](./evm-testnet-with-metamask-wallet) +- [Install](./install) the EVM-Bittensor repo, containing scripts and examples. -:::danger Stop. Did you install the dependencies? -Before you proceed, make sure you finished the [Install](./install.md) step. -::: +A healthy node will return a JSON response with the latest block number. If you get a connection error or no response, the node is down or the URL is incorrect. -## Run +## Example Navigate to the `examples` directory of the EVM-Bittensor repo: @@ -34,26 +35,16 @@ To run this precompile, execute: This example demonstrates how to: 1. Sign an arbitrary message with `ed25519` key. - - Any substrate keyring can be initialized as `ed25519` with the same seed phrase or private key as used for signing subtensor transactions, even if they are usually used to create `sr25519` signatures. - - The precompile only allows verification of 32-byte messages. However, the arbitrary message can be converted into 32-byte message by calculating the message hash (like it is done in this below example): - - ```javascript - const messageHash = ethers.keccak256(messageHex); // Hash the message to fit into bytes32 - ``` - 2. Verify the signature using the precompile contract. -3. Fail the verification of the signature using the corrupted message hash with the precompile contract. -4. Fail the verification of the corrupted signature with the precompile contract. - +3. Fail the verification of the signature using a corrupted message hash with the precompile contract. +4. Fail the verification of a corrupted signature with the precompile contract. -## Code example [On GitHub](https://github.com/opentensor/evm-bittensor/blob/main/examples/ed25519-verify.js). +
+ Full code ```js -// ed25519-verify.js const { ethers } = require('ethers'); const { Keyring } = require('@polkadot/keyring'); @@ -171,4 +162,23 @@ function bytesToHex(bytes) { // Join all hex string parts into one string return '0x' + hex.join(''); } +``` +
+## Example Output + +``` +node ed25519-verify.js +@polkadot/util has multiple versions, ensure that there is only one installed. +Either remove and explicitly install matching versions or dedupe using your package manager. +The following conflicting packages were found: + cjs 12.2.1 node_modules/@polkadot/keyring/node_modules/@polkadot/util/cjs + cjs 13.5.1 node_modules/@polkadot/util/cjs +messageHash = 0xd6ce89c7d4f347455c7dddf19b42e0357edd7587b73b81b384810253c3c3c8ff +Signature: 0x35c3c28c3470ea348343cea4881bd353843236df73a04300261cb86411fe88a05a196842849eb1ef4335b1f171a70e74d2d4c8d3b71ad6a41b6fa48afec85b01 +Is the signature valid? true +publicKeyBytes = 0x88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee +Is the signature valid according to the smart contract? true +brokenMessageHash = 0xd7ce89c7d4f347455c7dddf19b42e0357edd7587b73b81b384810253c3c3c8ff +Is the signature valid according to the smart contract for broken data? false +Is the signature valid according to the smart contract for broken signature? false ``` \ No newline at end of file diff --git a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md index b3079c2948..8e787ab011 100644 --- a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md @@ -17,13 +17,25 @@ Key values: - **EVM Subtensor Chain ID:** `945` (UTF-8 encoded alpha character) - **Opentensor EVM-Bittensor GitHub repo:** `https://github.com/opentensor/evm-bittensor/tree/main` +## Connect to EVM Testnet -## Step 1. Create a Metamask wallet +Confirm the EVM node is online and accessible. You can check the node status independently using `curl` or similar tools: + +```bash +curl -X POST \ + -H "Content-Type: application/json" \ + --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \ + https://test.chain.opentensor.ai +``` +```console +{"jsonrpc":"2.0","id":1,"result":"0x460943"} +``` +## Create a Metamask wallet 1. If you don't already have it, [install Metamask wallet](https://metamask.io/download/) browser extension. 2. Create a new account. -### Step 2. Add testnet to Metamask +### Add testnet to Metamask Add the testnet to Metamask from within the Metamask wallet. Follow the below steps: @@ -41,15 +53,11 @@ Add the testnet to Metamask from within the Metamask wallet. Follow the below st With the above steps, you have successfully configured your Metamask wallet with the testnet. -## Step 3 Obtain TAO +## Obtain TAO Next, request testnet TAO in the Bittensor community [Discord](https://discord.com/channels/799672011265015819/830068283314929684). -## Step 4. Copy Metamask wallet private key into config - -:::danger Stop. Did you install the dependencies? -Before you proceed, make sure you finished the [Install](./install.md) step. -::: +## Copy Metamask wallet private key into config In this step you will copy the private key from your Metamask wallet account and paste it into the configuration file in the repo. This step will ensure that you are not prompted with password each and every step as you run these tutorials. From 215dfa9d9caf903c2a13aa5655db075f5cbbffdb Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 28 May 2025 13:26:01 -0700 Subject: [PATCH 026/303] wip --- docs/bittensor-networks.md | 2 +- docs/evm-tutorials/address-conversion.md | 120 ++++++++++ docs/evm-tutorials/config.js | 18 ++ .../ed25519-verify-precompile.md | 6 +- .../evm-localnet-with-metamask-wallet.md | 4 - .../evm-mainnet-with-metamask-wallet.md | 3 - .../evm-testnet-with-metamask-wallet.md | 4 - docs/evm-tutorials/examples.md | 4 + docs/evm-tutorials/index.md | 6 +- docs/evm-tutorials/staking-precompile.md | 206 +++++++----------- .../transfer-from-metamask-to-ss58.md | 165 +++++++------- .../transfer-from-metamask-to-ss58EDGE.md | 128 +++++++++++ docs/local-build/create-subnet.md | 12 +- docs/local-build/deploy.md | 2 +- docs/local-build/mine-validate.md | 10 +- docs/local-build/provision-wallets.md | 2 +- docs/reference/_bittensor-api-ref.md | 2 +- docs/subnets/create-a-subnet.md | 4 +- sidebars.js | 14 +- 19 files changed, 460 insertions(+), 252 deletions(-) create mode 100644 docs/evm-tutorials/address-conversion.md create mode 100644 docs/evm-tutorials/config.js create mode 100644 docs/evm-tutorials/transfer-from-metamask-to-ss58EDGE.md diff --git a/docs/bittensor-networks.md b/docs/bittensor-networks.md index fefbd67db6..1d24d1d692 100644 --- a/docs/bittensor-networks.md +++ b/docs/bittensor-networks.md @@ -9,7 +9,7 @@ The below table presents Bittensor networks and a few details: | DESCRIPTION | MAINNET | TESTNET | DEVNET | |:---------------------|:------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------| | **Chain URL** | wss://entrypoint-finney.opentensor.ai:443 | wss://test.finney.opentensor.ai:443 | wss://dev.chain.opentensor.ai:443 | -| **Example Usage** | Default | `btcli wallet swap_hotkey --subtensor.chain_endpoint wss://dev.chain.opentensor.ai:443` **or** `btcli wallet swap_hotkey --subtensor.network test` | `btcli wallet swap_hotkey --subtensor.chain_endpoint wss://dev.chain.opentensor.ai:443` | +| **Example Usage** | Default | `btcli wallet swap_hotkey --network wss://dev.chain.opentensor.ai:443` | `btcli wallet swap_hotkey --network wss://dev.chain.opentensor.ai:443` | | **Block processing** | One block every 12 seconds | One block every 12 seconds | One block every 12 seconds | | **Mainnet Archive** | wss://archive.chain.opentensor.ai:443 | None | None | | **Mainnet Lite** | wss://lite.chain.opentensor.ai:443 | None | None | diff --git a/docs/evm-tutorials/address-conversion.md b/docs/evm-tutorials/address-conversion.md new file mode 100644 index 0000000000..efb86cdb73 --- /dev/null +++ b/docs/evm-tutorials/address-conversion.md @@ -0,0 +1,120 @@ +--- +title: "Converting Ethereum and Substrate Addresses" +--- + +# Converting Ethereum and Substrate Addresses + +This tutorial demonstrates how to convert between Ethereum (H160) and Substrate (SS58) addresses in the Bittensor EVM environment. + +When working with Bittensor's EVM implementation, you may need to convert between Ethereum-style addresses (H160) and Substrate-style addresses (SS58). This is particularly useful when interacting with both EVM and native Substrate functionality. + +This conversion is particularly useful when: +- Interacting with both EVM and native Substrate contracts +- Managing accounts that need to work across both environments +- Verifying addresses across different address formats +- Integrating EVM-based applications with native Bittensor functionality + +## Procedure + +### 1. Create Wallet with MetaMask + +1. Install MetaMask browser extension if you haven't already +2. Create a new account or import an existing one +3. Add the Bittensor EVM network to MetaMask: + - Network Name: Bittensor EVM + - RPC URL: `https://evm.bittensor.com` + - Chain ID: 3636 + - Currency Symbol: TAO + - Block Explorer URL: `https://evm.bittensor.com` + +### 2. Convert Address for Bittensor + +1. Clone the EVM examples repository: + ```bash + git clone https://github.com/opentensor/evm-bittensor.git + cd evm-bittensor/examples + ``` + +2. Install dependencies: + ```bash + npm install + ``` + +3. Run the conversion script with your MetaMask address: + ```bash + node convert-address.js + ``` + +4. Note down the SS58 address output by the script - this is your Bittensor address + +### 3. Transfer TAO to EVM Wallet + +1. Use `btcli` to transfer TAO to your SS58 address: + ```bash + btcli root transfer --amount 1.0 --dest + ``` + +2. Wait for the transfer to complete (usually takes a few blocks) + +### 4. Verify Balance in MetaMask + +1. Open MetaMask +2. Ensure you're connected to the Bittensor EVM network +3. Your TAO balance should now be visible in MetaMask +4. You can now use this wallet for EVM transactions on Bittensor + +## Conversion Script + +Below is the code used above for the conversion. + +**Source code**: +- [EVM examples repo](https://github.com/opentensor/evm-bittensor) +- [Address mapping](https://github.com/opentensor/evm-bittensor/blob/main/examples/address-mapping.js) +- [Convert address](https://github.com/opentensor/evm-bittensor/blob/main/examples/convert-address.js) + +```javascript +//convert-address.js + +const { convertH160ToSS58 } = require('./address-mapping.js'); + +async function main() { + const ethereumAddress = "0xbdA293c21DfCaDDAeB9aa8b98455d42325599d23"; + + const ss58Address = convertH160ToSS58(ethereumAddress); + console.log(`ss58 mirror: ${ss58Address}`); +} + +main().catch(console.error); +``` + +```javascript +// address-mapping.js +function convertH160ToSS58(ethAddress) { + const prefix = 'evm:'; + const prefixBytes = new TextEncoder().encode(prefix); + const addressBytes = hexToU8a(ethAddress.startsWith('0x') ? ethAddress : `0x${ethAddress}`); + const combined = new Uint8Array(prefixBytes.length + addressBytes.length); + + // Concatenate prefix and Ethereum address + combined.set(prefixBytes); + combined.set(addressBytes, prefixBytes.length); + + // Hash the combined data (the public key) + const hash = blake2AsU8a(combined); + + // Convert the hash to SS58 format + const ss58Address = encodeAddress(hash, 42); // Network ID 42 for Bittensor + return ss58Address; +} +``` + +### Step-by-Step Explanation + +1. **Prefix Addition**: The function adds an 'evm:' prefix to distinguish EVM addresses +2. **Byte Conversion**: + - Converts the prefix to bytes using TextEncoder + - Converts the Ethereum address to bytes using hexToU8a +3. **Combination**: Creates a new Uint8Array containing both the prefix and address bytes +4. **Hashing**: Uses Blake2b (via blake2AsU8a) to create a deterministic hash of the combined bytes +5. **SS58 Encoding**: Finally encodes the hash as an SS58 address using network ID 42 (Bittensor's network ID) + diff --git a/docs/evm-tutorials/config.js b/docs/evm-tutorials/config.js new file mode 100644 index 0000000000..36f30299fd --- /dev/null +++ b/docs/evm-tutorials/config.js @@ -0,0 +1,18 @@ +// PROTECT YOUR PRIVATE KEYS WELL, NEVER COMMIT THEM TO GITHUB OR SHARE WITH ANYONE +const ethPrivateKey = "0xC3467d8BA8F76018F39a98996bf5677E16b33755"; +const subSeed = "//Alice"; +const rpcUrlLocal = 'http://127.0.0.1:9946'; +const rpcUrlTestnet = 'https://test.chain.opentensor.ai'; +const wsUrlLocal = 'ws://127.0.0.1:9946'; +const wsUrlTestnet = 'wss://evm-testnet.dev.opentensor.ai'; + +module.exports = { + ethPrivateKey, + subSeed, + rpcUrl: rpcUrlTestnet, + wsUrl: wsUrlTestnet, +} + +module.exports = { + rpcUrl: 'https://test.chain.opentensor.ai', + }; \ No newline at end of file diff --git a/docs/evm-tutorials/ed25519-verify-precompile.md b/docs/evm-tutorials/ed25519-verify-precompile.md index bef9f88a3c..272e32896d 100644 --- a/docs/evm-tutorials/ed25519-verify-precompile.md +++ b/docs/evm-tutorials/ed25519-verify-precompile.md @@ -1,11 +1,11 @@ --- -title: "Ed25519 Verify Precompile" +title: "Verify Address Precompile" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# Ed25519 Verify Precompile +# Verify Address Precompile The Ed25519 Verify Precompile allows EVM smart contracts to verify Ed25519 signatures, which are commonly used in Substrate-based chains like Bittensor. This is essential for bridging identity and ownership between Substrate and EVM ecosystems. For example, you may want to verify coldkey ownership before transferring to someone. EVM functionality doesn't allow transferring directly to a `ss58` address—like the public key of a Bittensor coldkey—because EVM uses the H160 address schema. To bridge the gap, you can use this precompile to prove a claim of ownership. The owner of a coldkey can send an EVM transaction with a signed message, serving as proof of ownership of the coldkey's `ss58` address. @@ -17,8 +17,6 @@ The Ed25519 Verify Precompile allows EVM smart contracts to verify Ed25519 signa - [Get set up for using EVM wallet on testnet](./evm-testnet-with-metamask-wallet) - [Install](./install) the EVM-Bittensor repo, containing scripts and examples. -A healthy node will return a JSON response with the latest block number. If you get a connection error or no response, the node is down or the URL is incorrect. - ## Example Navigate to the `examples` directory of the EVM-Bittensor repo: diff --git a/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md index ed08623218..0b5857d7cb 100644 --- a/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md @@ -11,10 +11,6 @@ This page covers getting set up to use EVM on a locally deployed Bittensor block Consider first trying [EVM with Bittensor testnet](./evm-testnet-with-metamask-wallet.md). This allows you to try EVM without having to deploy a blockchain locally, but you will have to obtain testnet TAO by inquiring in discord, or by completing the [BTCLI playground](../btcli/btcli-playground)challenge to obtain testnet TAO. -:::tip blog post: EVM on Bittensor -If you are new to EVM, try this [blog post](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) for a simplified explanation. -::: - Key values: - **EVM Subtensor Mainnet Chain ID:**: `964` (UTF-8 encoded TAO symbol) - **EVM Subtensor Testnet Chain ID:**: `945` (UTF-8 encoded alpha character) diff --git a/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md index 78118255bd..244ac83ed0 100644 --- a/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md @@ -8,9 +8,6 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; This page covers how to set up your Metamask wallet to use with the Mainnet (finney) on Bittensor. You must run this step before you can run other tutorials in this section. -:::tip blog post: EVM on Bittensor -If you are new to EVM, try this [blog post](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) for a simplified explanation. -::: Key values: - The **Bittensor Mainnet URL:** `https://lite.chain.opentensor.ai` diff --git a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md index 8e787ab011..25b69909b5 100644 --- a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md @@ -8,10 +8,6 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; This page covers how to set up your Metamask wallet to use with the testnet on Bittensor. You must run this step before you can run other tutorials in this section. -:::tip blog post: EVM on Bittensor -If you are new to EVM, try this [blog post](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) for a simplified explanation. -::: - Key values: - The **Bittensor Testnet URL:** `https://test.chain.opentensor.ai` - **EVM Subtensor Chain ID:** `945` (UTF-8 encoded alpha character) diff --git a/docs/evm-tutorials/examples.md b/docs/evm-tutorials/examples.md index 841b99fc8b..120db8c65b 100644 --- a/docs/evm-tutorials/examples.md +++ b/docs/evm-tutorials/examples.md @@ -9,6 +9,10 @@ The following precompiles are available on the Bittensor EVM. Code examples used throughout are provided by OTF, and come from [this repository.](https://github.com/opentensor/evm-bittensor/tree/main/examples) +## Tutorials and Examples + +- [Converting Between Ethereum and Substrate Addresses](./address-conversion.md): Learn how to convert between H160 and SS58 address formats + ## Standard Ethereum Precompiles - `ECRecover` (0x1): Recover the address associated with the public key from elliptic curve signature diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index 47d945e5b9..d3ed8a2ba4 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -31,8 +31,10 @@ Bittensor EVM smart contracts are executed solely on the **Bittensor blockchain, See: - [Examples and Precompiles](./examples.md) -- Getting started with [Bittensor EVM on Testnet](./evm-testnet-with-metamask-wallet) - +- [EVM on Testnet](./evm-testnet-with-metamask-wallet) +- [EVM on Local Chain](./evm-localnet-with-metamask-wallet) +- [EVM on Mainnet](./evm-mainnet-with-metamask-wallet) +- [OTF Blogpost: EVM on Bittensor](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) ## Networks diff --git a/docs/evm-tutorials/staking-precompile.md b/docs/evm-tutorials/staking-precompile.md index 0385e2bd7b..8a0367fc7f 100644 --- a/docs/evm-tutorials/staking-precompile.md +++ b/docs/evm-tutorials/staking-precompile.md @@ -7,163 +7,107 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Staking Precompile -The staking precompile allows you to interact with staking operations on the Bittensor network through smart contracts. This precompile provides functionality for adding and removing stakes, moving stakes between hotkeys, and querying stake information. +Staking precompile allows Ethereum code to interact with the staking feature of subtensor. For example, by using the staking precompile, the subtensor methods [`add_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/add_stake.rs) or [`remove_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/remove_stake.rs) can be called in order to delegate stake to a hotkey or undelegate stake from a hotkey. -## Precompile Address +In this tutorial you will learn how to interact with staking precompile in two ways: -The staking precompile is available at address `0x805` (2053 in decimal). +1. Call the staking precompile from another smart contract. +2. Use the staking precompile's ABI and your Metamask wallet to call the staking precompile on EVM localnet. You will use [Remix IDE](https://remix.ethereum.org/) for this. -## Available Functions +## Prerequisites -### Stake Management +1. Read [EVM on Subtensor](./) for a basic introduction to Bittensor EVM +1. You should also be comfortable using [Remix IDE](https://remix.ethereum.org/). -#### `addStake(bytes32 hotkey, uint256 amount, uint256 netuid)` -Add stake to a hotkey in a specific subnet. This is a payable function that requires TAO to be sent with the transaction. +## Setup EVM localnet, subnet and delegate -```solidity -function addStake(bytes32 hotkey, uint256 amount, uint256 netuid) external payable; -``` +1. [Launch EVM localnet](./evm-localnet-with-metamask-wallet.md). Also, follow the instructions of running local chain all the way so that you have a Metamask address with some TAO balance. -#### `removeStake(bytes32 hotkey, uint256 amount, uint256 netuid)` -Remove stake from a hotkey in a specific subnet. +2. On this EVM localnet create one subnet and a delegate hotkey. The commands below will create a subnet, register a neuron and nominate your hotkey as a delegate, in that order: -```solidity -function removeStake(bytes32 hotkey, uint256 amount, uint256 netuid) external; +```sh +btcli subnet create --network ws://127.0.0.1:9944 +btcli subnet register --network ws://127.0.0.1:9944 ``` -#### `moveStake(bytes32 origin_hotkey, bytes32 destination_hotkey, uint256 origin_netuid, uint256 destination_netuid, uint256 amount)` -Move stake from one hotkey to another, potentially across different subnets. - -```solidity -function moveStake( - bytes32 origin_hotkey, - bytes32 destination_hotkey, - uint256 origin_netuid, - uint256 destination_netuid, - uint256 amount -) external; -``` +3. Save the delegate hotkey address. You will use this in the staking pool use case below. -#### `transferStake(bytes32 destination_coldkey, bytes32 hotkey, uint256 origin_netuid, uint256 destination_netuid, uint256 amount)` -Transfer stake from one coldkey to another, potentially across different subnets. - -```solidity -function transferStake( - bytes32 destination_coldkey, - bytes32 hotkey, - uint256 origin_netuid, - uint256 destination_netuid, - uint256 amount -) external; -``` +4. Disable staking rate limits by setting `targetStakesPerInterval` to 1000. Follow these below steps: + - Open the Polkadot JS app using [this link with encoded transaction](https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/extrinsics/decode/0x0c00132fe803000000000000). + - Click on **Submission** tab. + - From the **using the selected account** field, select **ALICE**. + - Click on **Submit Transaction** at the bottom right. This will open the **authorize transaction** window. + - On this **authorize transaction** window, make sure the **sign and submit** toggle is ON and click on the **Sign and Submit** on the bottom right. -### Stake Queries +## Call the staking precompile from another smart contract (staking pool use case) -#### `getTotalColdkeyStake(bytes32 coldkey) returns (uint256)` -Get the total stake for a coldkey across all subnets. +In this interaction you will compile [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol), a smart contract Solidity code and execute it on the subtensor EVM. This `stake.sol` will, in turn, call the staking precompile that is already deployed in the subtensor EVM. -```solidity -function getTotalColdkeyStake(bytes32 coldkey) external view returns (uint256); -``` +Before you proceed, familiarize yourself with the Solidity code of the [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol) smart contract. -#### `getTotalHotkeyStake(bytes32 hotkey) returns (uint256)` -Get the total stake for a hotkey across all subnets. +1. Copy the text of [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol) contract to Remix IDE. -```solidity -function getTotalHotkeyStake(bytes32 hotkey) external view returns (uint256); -``` +2. You will now convert your delegate hotkey ss58 from the above [Setup EVM localnet, subnet and delegate](#setup-evm-localnet-subnet-and-delegate) step into its corresponding public key. Use the [ss58.org](https://ss58.org/) site to obtain the public key for your delegate hotkey ss58. -#### `getStake(bytes32 hotkey, bytes32 coldkey, uint256 netuid) returns (uint256)` -Get the stake between a specific hotkey and coldkey in a subnet. +3. In the `stake.sol` text in Remix IDE, replace the `HOTKEY` constant on line 9, where it says `bytes32 constant HOTKEY = 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d;`, with your delegate hotkey's public key. -```solidity -function getStake(bytes32 hotkey, bytes32 coldkey, uint256 netuid) external view returns (uint256); -``` +4. Compile it in Remix IDE. -#### `getTotalAlphaStaked(bytes32 hotkey, uint256 netuid) returns (uint256)` -Get the total amount of TAO staked by a hotkey in a specific subnet. +5. Connect Remix IDE to Injected Provider - Metamask and your Metamask address that has TAO balance. You will stake this TAO balance to the delegate hotkey's public key. -```solidity -function getTotalAlphaStaked(bytes32 hotkey, uint256 netuid) external view returns (uint256); -``` +6. Execute the Stake contract method `stake_from_this_contract_to_alice` and pass 1e^9 to it (1 TAO). -#### `getAlphaStakedValidators(bytes32 hotkey, uint256 netuid) returns (bytes32[])` -Get a list of validator addresses that have staked to a specific hotkey in a subnet. +7. Check the stake balance of your delegate hotkey and confirm that it has increased by 1 TAO. -```solidity -function getAlphaStakedValidators(bytes32 hotkey, uint256 netuid) external view returns (bytes32[]); -``` +## Use the staking precompile's ABI from your user account (staking as an individual use case) -### Proxy Management +In this tutorial, you will interact directly with the staking precompile by using its ABI, and use your Metamask wallet as the source of TAO to stake. -#### `addProxy(bytes32 delegate)` -Add a proxy delegate for staking operations. - -```solidity -function addProxy(bytes32 delegate) external; -``` - -#### `removeProxy(bytes32 delegate)` -Remove a proxy delegate. - -```solidity -function removeProxy(bytes32 delegate) external; -``` - -## Example Usage - -Here's an example of how to use the staking precompile in a smart contract: - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -interface IStakingPrecompile { - function addStake(bytes32 hotkey, uint256 amount, uint256 netuid) external payable; - function removeStake(bytes32 hotkey, uint256 amount, uint256 netuid) external; - function getTotalColdkeyStake(bytes32 coldkey) external view returns (uint256); - function getTotalHotkeyStake(bytes32 hotkey) external view returns (uint256); - function getStake(bytes32 hotkey, bytes32 coldkey, uint256 netuid) external view returns (uint256); - function getTotalAlphaStaked(bytes32 hotkey, uint256 netuid) external view returns (uint256); - function getAlphaStakedValidators(bytes32 hotkey, uint256 netuid) external view returns (bytes32[]); -} - -contract StakingManager { - address constant STAKING_PRECOMPILE = 0x805; - IStakingPrecompile staking = IStakingPrecompile(STAKING_PRECOMPILE); - - function addStakeToHotkey(bytes32 hotkey, uint256 amount, uint256 netuid) external payable { - staking.addStake{value: msg.value}(hotkey, amount, netuid); - } - - function getStakeInfo(bytes32 hotkey, bytes32 coldkey, uint256 netuid) external view returns ( - uint256 totalColdkeyStake, - uint256 totalHotkeyStake, - uint256 specificStake, - uint256 totalAlphaStaked, - bytes32[] memory validators - ) { - totalColdkeyStake = staking.getTotalColdkeyStake(coldkey); - totalHotkeyStake = staking.getTotalHotkeyStake(hotkey); - specificStake = staking.getStake(hotkey, coldkey, netuid); - totalAlphaStaked = staking.getTotalAlphaStaked(hotkey, netuid); - validators = staking.getAlphaStakedValidators(hotkey, netuid); - } -} -``` +1. Copy this below ABI of staking precompile contract into Remix IDE as a new file: -## Important Notes + ```json + [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hotkey", + "type": "bytes32" + } + ], + "name": "addStake", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hotkey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "removeStake", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + ``` -1. The `addStake` function is payable and requires TAO to be sent with the transaction. -2. All amounts are in RAO (1 TAO = 1e18 RAO). -3. The `netuid` parameter identifies the specific subnet for the operation. -4. Proxy operations require appropriate permissions. -5. Moving and transferring stakes may have additional restrictions based on network parameters. -6. Some functions may require specific permissions or conditions to be met. +2. Copy staking precompile address `0x0000000000000000000000000000000000000801` to the **At Address** field in Remix IDE, and click **At Address** button. -## Next Steps +3. Remix IDE will find the precompile at the precompile address on the subtensor EVM and show it in the list of deployed contracts. Expand the contract, then expand the `addStake` method, and paste the public key of your delegate hotkey into the `hotkey` field. Then click **transact** and wait for the transaction to be completed. -- Learn about [subnet management](/evm-tutorials/subnet-precompile) -- Understand [neuron operations](/evm-tutorials/neuron-precompile) -- Explore [metagraph interactions](/evm-tutorials/metagraph-precompile) +4. Follow these steps to see that the stake record is updated in [Polkadot JS app](https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/chainstate): + 1. Select **subtensorModule** + **stake** in the drop-down list. + 2. Paste the delegate hotkey account ID in the first parameter. + 3. Toggle **include option** OFF for the second parameter. + 4. Click the **+** button and find the new stake record. diff --git a/docs/evm-tutorials/transfer-from-metamask-to-ss58.md b/docs/evm-tutorials/transfer-from-metamask-to-ss58.md index 955901522d..f7dafb7850 100644 --- a/docs/evm-tutorials/transfer-from-metamask-to-ss58.md +++ b/docs/evm-tutorials/transfer-from-metamask-to-ss58.md @@ -1,137 +1,142 @@ --- -title: "Transfer from Metamask to SS58 address" +title: "Transfer TAO from Metamask to SS58 Address" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# Transfer from Metamask to SS58 address +# Transfer TAO from Metamask to SS58 Address -In this tutorial you will learn how to transfer TAO from your Metamask wallet to your Bittensor SS58 address for a coldkey (wallet) or a hotkey. You will learn how to do this via two different methods: +In this tutorial you will learn how to transfer TAO from your Metamask wallet to your Bittensor SS58 address for a coldkey (wallet) or a hotkey. There are two different options: -- **Method 1:** Transfer using a precompiled contract. -- **Method 2:** Transfer using the `withdraw` extrinsic in the `evm` pallet in subtensor blockchain. +- [**Option 1:** Transfer using a precompiled contract](#option-1-transfer-using-a-precompiled-contract). +- [**Option 2:** Transfer using the `withdraw` extrinsic in the `evm` pallet in subtensor blockchain](#option-2-transfer-using-the-withdraw-extrinsic-in-the-subtensor-evm-pallet). -## Prerequisite +## Prerequisites -:::danger stop, did you set up your Metamask wallet for EVM? -You must run [EVM Testnet with Metamask Wallet](./evm-testnet-with-metamask-wallet.md) tutorial before you can run this tutorial. -::: +- **Node.js** (v16 or later recommended) +- **npm** or **yarn** +- [Clone the Bittensor EVM examples repo](./install.md) +- [Get set up for using EVM wallet on testnet](./evm-testnet-with-metamask-wallet) +- [Install](./install) the EVM-Bittensor repo, containing scripts and examples. + + +## Option 1: Transfer using a Precompiled Contract + +**Best for:** Most users. You do NOT need the private key or seed for your SS58 address. -## Method 1: Transfer using a precompiled contract +This option uses a precompiled contract to transfer TAO from your Metamask wallet to any SS58 address (coldkey or hotkey). -The private key or the seed for your SS58 is **not required** for this method. +### Configure the destination address -This step will transfer 0.5 TAO to your `ss58` destination address specified in the [`withdraw.js`](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js) file. Look for the following lines in this file: +Open [`withdraw.js`](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js) in the EVM-Bittensor repo. Find the following line: -```javascript +```js // Destination address can be replaced with any ss58 address here: const destinationAddress = account.address; ``` -and provide your `ss58` destination address as shown below: +Replace it with your own SS58 address: -```javascript +```js const destinationAddress = "5HgU7B3xfSfisR1A7wDMt7FHX5Uizj6xtWWHwhwJMZSrdN7y"; ``` -:::danger Stop. Did you install the dependencies? -Before you proceed, make sure you finished the [Install](./install.md) step. -::: - -Next, navigate to the `examples` directory of the EVM-Bittensor repo: - ```bash - cd examples - ``` -Run: +### Run the transfer script ```bash node transfer.js ``` -:::tip -In Bittensor EVM, 1 TAO should be written as $1e18$ - -For [example](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js#L58): `const value = BigInt(0.5 * 1e18).toString();` +:::tip 1 TAO = 1e18 +In Bittensor EVM, 1 TAO is written as `1e18` (just like on Ethereum). For example, to send 0.5 TAO: +```js +const value = BigInt(0.5 * 1e18).toString(); +``` ::: -Then, run: +### Run the withdraw script ```bash node withdraw.js ``` -You will see the output similar to below, indicating a successful transfer of TAO from your Metamask account to your `ss58` destination address: +You should see output similar to: ```bash showLineNumbers node withdraw.js 2024-10-07 15:34:58 REGISTRY: Unknown signed extensions SubtensorSignedExtension, CommitmentsSignedExtension found, treating them as no-effect -2024-10-07 15:34:58 API/INIT: RPC methods not decorated: chainHead_v1_body, chainHead_v1_call, chainHead_v1_continue, chainHead_v1_follow, chainHead_v1_header, chainHead_v1_stopOperation, chainHead_v1_storage, chainHead_v1_unfollow, chainHead_v1_unpin, chainSpec_v1_chainName, chainSpec_v1_genesisHash, chainSpec_v1_properties, debug_getBadBlocks, debug_getRawBlock, debug_getRawHeader, debug_getRawReceipts, debug_getRawTransaction, delegateInfo_getDelegate, delegateInfo_getDelegated, delegateInfo_getDelegates, eth_getBlockReceipts, neuronInfo_getNeuron, neuronInfo_getNeuronLite, neuronInfo_getNeurons, neuronInfo_getNeuronsLite, subnetInfo_getLockCost, subnetInfo_getSubnetHyperparams, subnetInfo_getSubnetInfo, subnetInfo_getSubnetInfo_v2, subnetInfo_getSubnetsInf_v2, subnetInfo_getSubnetsInfo, transactionWatch_v1_submitAndWatch, transactionWatch_v1_unwatch, transaction_v1_broadcast, transaction_v1_stop -2024-10-07 15:34:58 API/INIT: node-subtensor/302: Not decorating unknown runtime apis: 0x42e62be4a39e5b60/1, 0x806df4ccaa9ed485/1, 0x8375104b299b74c5/1, 0x5d1fbfbe852f2807/1, 0xc6886e2f8e598b0a/1 +... Sending balance to ss58 address: 5HgU7B3xfSfisR1A7wDMt7FHX5Uizj6xtWWHwhwJMZSrdN7y pubk = f873b72b75b9029397edceaa04cf08cc97909c8b6304f2ccc3593641bf92e97c -Transaction response: ContractTransactionResponse { - provider: JsonRpcProvider {}, - blockNumber: null, - blockHash: null, - index: undefined, - hash: '0x4f3bde9e678d7307f2c07dd3212d6920db8e2af8ade052a823b3ad1f28ddc221', - type: 2, - to: '0x0000000000000000000000000000000000000800', - from: '0x709615c655B24919F48B365D292521EFcC74467B', - nonce: 0, - gasLimit: 21576n, - gasPrice: undefined, - maxPriorityFeePerGas: 0n, - maxFeePerGas: 20000000000n, - maxFeePerBlobGas: null, - data: '0xcd6f4eb1f873b72b75b9029397edceaa04cf08cc97909c8b6304f2ccc3593641bf92e97c', - value: 500000000000000000n, - chainId: 945n, - signature: Signature { r: "0xc8cf1d54513eb26ee13ca8e001201e918d50593ce6efd4ceee6645ec1879f183", s: "0x6594fe686ecac6131b536b9ff5277f40da1d12ab6c2a269693029c58cef8417d", yParity: 0, networkV: null }, - accessList: [], - blobVersionedHashes: null -} +Transaction response: ContractTransactionResponse { ... } Transaction confirmed. ``` -In the above example, a coldkey `ss58` address `5HgU7B3xfSfisR1A7wDMt7FHX5Uizj6xtWWHwhwJMZSrdN7y` (line 5 in the above log) is used as a destination address. The Metamask wallet address used is: `0x709615c655B24919F48B365D292521EFcC74467B` (line 15 in the above log). +:::info +The `ss58` address is your destination (coldkey or hotkey). The `from` address is your Metamask wallet. +::: + +### Check your SS58 balance -Finally, use the below `btcli` command to check the balance of your `ss58` address (the below `--ss58` option is supported in BTCLI 8.2.0 or later versions): +Use the Bittensor CLI to check your new balance: ```bash btcli wallet balance --ss58 5HgU7B3xfSfisR1A7wDMt7FHX5Uizj6xtWWHwhwJMZSrdN7y ``` -## Method 2: Transfer using `withdraw` extrinsic in subtensor `evm` pallet +## Option 2: Transfer using the `withdraw` Extrinsic in the Subtensor EVM Pallet -You will need the private key for your SS58 for this method. +**Best for:** Advanced users. You WILL need the private key for your SS58 address. -1. Copy your `ss58` address (for example: `5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty`). You need the private key for this address setup in Polkadot JS extension. -2. Paste it into `ss58Address` in main function in [`withdraw-address.js`](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw-address.js) script. +This option uses the `withdraw` extrinsic in the EVM pallet, allowing you to transfer from an EVM address to an SS58 address using Polkadot.js Apps. -3. Next, navigate to the `examples` directory of the EVM-Bittensor repo: +### Copy your SS58 address - ```bash - cd examples - ``` +For example: `5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty`. You will need the private key for this address set up in the Polkadot.js extension. -4. Run: +### Edit the destination in the script - ```bash - node withdraw-address.js - ``` +Open [`withdraw-address.js`](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw-address.js) and set your SS58 address: + +```js +const ss58Address = ""; +``` -5. Copy the "Ethereum mirror:" output address. -6. Transfer the amount to this address that you wish to transfer using Metamask. Make sure to clear activity tab data if you restarted the network previously: **Settings** > **Advanced** > **Clear activity tab data**. -7. Make sure your destination address is funded to run a transaction. -8. Open the **Extrisics** section in Polkadot JS app: [https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftest.chain.opentensor.ai%3A443#/extrinsics](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftest.chain.opentensor.ai%3A443#/extrinsics). -9. Select `evm` pallet and `withdraw` extrinsic. -10. Paste the "Ethereum mirror" output address into address field. -11. Put the amount you are transferring into amount field. Note that Metamask balances are by 10^9 lower than Polkadot Apps UI balances because Metamask will not respect 10^9 decimals for native currency before we have a corresponding PR to https://github.com/ethereum-lists merged. -12. Submit the transaction. -13. Finally, use the below `btcli` command to check the balance of your `ss58` address (the below `--ss58` option is supported in BTCLI 8.2.0 or later versions): +### Run the withdraw-address script + +```bash +node withdraw-address.js +``` - ```bash - btcli wallet balance --ss58 - ``` +### Copy the "Ethereum mirror" output address + +The script will output an "Ethereum mirror" address. Copy this address. + +### Transfer TAO to the mirror address using Metamask + +- Open Metamask and send the desired amount of TAO to the mirror address. +- If you restarted the network, clear Metamask's activity tab data: **Settings > Advanced > Clear activity tab data**. + +### Ensure your destination address is funded + +Make sure the destination address has enough TAO to pay for transaction fees. + +### Open the Extrinsics page in Polkadot.js Apps + +[Polkadot.js Apps Extrinsics](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftest.chain.opentensor.ai%3A443#/extrinsics) + +### Submit the withdraw extrinsic + +- Select the `evm` pallet and `withdraw` extrinsic. +- Paste the "Ethereum mirror" address into the address field. +- Enter the amount you are transferring. +- Note: Metamask balances are by 10^9 lower than Polkadot Apps UI balances (Metamask does not respect 10^9 decimals for native currency). + +### Submit the transaction + +### Check your SS58 balance + +```bash +btcli wallet balance --ss58 +``` diff --git a/docs/evm-tutorials/transfer-from-metamask-to-ss58EDGE.md b/docs/evm-tutorials/transfer-from-metamask-to-ss58EDGE.md new file mode 100644 index 0000000000..1774226b93 --- /dev/null +++ b/docs/evm-tutorials/transfer-from-metamask-to-ss58EDGE.md @@ -0,0 +1,128 @@ +--- +title: "Transfer from Metamask to SS58 address" +--- +import ThemedImage from '@theme/ThemedImage'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + +# Transfer from Metamask to SS58 address + +In this tutorial you will learn how to transfer TAO from your Metamask wallet to your Bittensor SS58 address for a coldkey (wallet) or a hotkey. You will learn how to do this via two different methods: + +- **Method 1:** Transfer using a precompiled contract. +- **Method 2:** Transfer using the `withdraw` extrinsic in the `evm` pallet in subtensor blockchain. + +## Prerequisite + +:::danger stop, did you set up your Metamask wallet for EVM? +You must run [EVM Testnet with Metamask Wallet](./evm-testnet-with-metamask-wallet.md) tutorial before you can run this tutorial. +::: + +## Method 1: Transfer using a precompiled contract + +The private key or the seed for your SS58 is **not required** for this method. + +This step will transfer 0.5 TAO to your `ss58` destination address specified in the [`withdraw.js`](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js) file. Look for the following lines in this file: + +```javascript +// Destination address can be replaced with any ss58 address here: +const destinationAddress = account.address; +``` + +and provide your `ss58` destination address as shown below: + +```javascript +const destinationAddress = "5HgU7B3xfSfisR1A7wDMt7FHX5Uizj6xtWWHwhwJMZSrdN7y"; +``` + +Run: + +```bash +node transfer.js +``` + +:::tip +In Bittensor EVM, 1 TAO should be written as $1e18$ + +For [example](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js#L58): `const value = BigInt(0.5 * 1e18).toString();` +::: + +Then, run: + +```bash +node withdraw.js +``` + +You will see the output similar to below, indicating a successful transfer of TAO from your Metamask account to your `ss58` destination address: + +```bash showLineNumbers +node withdraw.js +2024-10-07 15:34:58 REGISTRY: Unknown signed extensions SubtensorSignedExtension, CommitmentsSignedExtension found, treating them as no-effect +2024-10-07 15:34:58 API/INIT: RPC methods not decorated: chainHead_v1_body, chainHead_v1_call, chainHead_v1_continue, chainHead_v1_follow, chainHead_v1_header, chainHead_v1_stopOperation, chainHead_v1_storage, chainHead_v1_unfollow, chainHead_v1_unpin, chainSpec_v1_chainName, chainSpec_v1_genesisHash, chainSpec_v1_properties, debug_getBadBlocks, debug_getRawBlock, debug_getRawHeader, debug_getRawReceipts, debug_getRawTransaction, delegateInfo_getDelegate, delegateInfo_getDelegated, delegateInfo_getDelegates, eth_getBlockReceipts, neuronInfo_getNeuron, neuronInfo_getNeuronLite, neuronInfo_getNeurons, neuronInfo_getNeuronsLite, subnetInfo_getLockCost, subnetInfo_getSubnetHyperparams, subnetInfo_getSubnetInfo, subnetInfo_getSubnetInfo_v2, subnetInfo_getSubnetsInf_v2, subnetInfo_getSubnetsInfo, transactionWatch_v1_submitAndWatch, transactionWatch_v1_unwatch, transaction_v1_broadcast, transaction_v1_stop +2024-10-07 15:34:58 API/INIT: node-subtensor/302: Not decorating unknown runtime apis: 0x42e62be4a39e5b60/1, 0x806df4ccaa9ed485/1, 0x8375104b299b74c5/1, 0x5d1fbfbe852f2807/1, 0xc6886e2f8e598b0a/1 +Sending balance to ss58 address: 5HgU7B3xfSfisR1A7wDMt7FHX5Uizj6xtWWHwhwJMZSrdN7y +pubk = f873b72b75b9029397edceaa04cf08cc97909c8b6304f2ccc3593641bf92e97c +Transaction response: ContractTransactionResponse { + provider: JsonRpcProvider {}, + blockNumber: null, + blockHash: null, + index: undefined, + hash: '0x4f3bde9e678d7307f2c07dd3212d6920db8e2af8ade052a823b3ad1f28ddc221', + type: 2, + to: '0x0000000000000000000000000000000000000800', + from: '0x709615c655B24919F48B365D292521EFcC74467B', + nonce: 0, + gasLimit: 21576n, + gasPrice: undefined, + maxPriorityFeePerGas: 0n, + maxFeePerGas: 20000000000n, + maxFeePerBlobGas: null, + data: '0xcd6f4eb1f873b72b75b9029397edceaa04cf08cc97909c8b6304f2ccc3593641bf92e97c', + value: 500000000000000000n, + chainId: 945n, + signature: Signature { r: "0xc8cf1d54513eb26ee13ca8e001201e918d50593ce6efd4ceee6645ec1879f183", s: "0x6594fe686ecac6131b536b9ff5277f40da1d12ab6c2a269693029c58cef8417d", yParity: 0, networkV: null }, + accessList: [], + blobVersionedHashes: null +} +Transaction confirmed. +``` + +In the above example, a coldkey `ss58` address `5HgU7B3xfSfisR1A7wDMt7FHX5Uizj6xtWWHwhwJMZSrdN7y` (line 5 in the above log) is used as a destination address. The Metamask wallet address used is: `0x709615c655B24919F48B365D292521EFcC74467B` (line 15 in the above log). + +Finally, use the below `btcli` command to check the balance of your `ss58` address (the below `--ss58` option is supported in BTCLI 8.2.0 or later versions): + +```bash +btcli wallet balance --ss58 5HgU7B3xfSfisR1A7wDMt7FHX5Uizj6xtWWHwhwJMZSrdN7y +``` + +## Method 2: Transfer using `withdraw` extrinsic in subtensor `evm` pallet + +You will need the private key for your SS58 for this method. + +1. Copy your `ss58` address (for example: `5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty`). You need the private key for this address setup in Polkadot JS extension. +2. Paste it into `ss58Address` in main function in [`withdraw-address.js`](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw-address.js) script. + +3. Next, navigate to the `examples` directory of the EVM-Bittensor repo: + + ```bash + cd examples + ``` + +4. Run: + + ```bash + node withdraw-address.js + ``` + +5. Copy the "Ethereum mirror:" output address. +6. Transfer the amount to this address that you wish to transfer using Metamask. Make sure to clear activity tab data if you restarted the network previously: **Settings** > **Advanced** > **Clear activity tab data**. +7. Make sure your destination address is funded to run a transaction. +8. Open the **Extrisics** section in Polkadot JS app: [https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftest.chain.opentensor.ai%3A443#/extrinsics](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftest.chain.opentensor.ai%3A443#/extrinsics). +9. Select `evm` pallet and `withdraw` extrinsic. +10. Paste the "Ethereum mirror" output address into address field. +11. Put the amount you are transferring into amount field. Note that Metamask balances are by 10^9 lower than Polkadot Apps UI balances because Metamask will not respect 10^9 decimals for native currency before we have a corresponding PR to https://github.com/ethereum-lists merged. +12. Submit the transaction. +13. Finally, use the below `btcli` command to check the balance of your `ss58` address (the below `--ss58` option is supported in BTCLI 8.2.0 or later versions): + + ```bash + btcli wallet balance --ss58 + ``` diff --git a/docs/local-build/create-subnet.md b/docs/local-build/create-subnet.md index 5b55db0e69..2801d31609 100644 --- a/docs/local-build/create-subnet.md +++ b/docs/local-build/create-subnet.md @@ -20,7 +20,7 @@ Prerequisites: btcli subnet create \ --subnet-name awesome-first-subnet \ --wallet.name sn-creator \ ---subtensor.chain_endpoint ws://127.0.0.1:9945 +--network ws://127.0.0.1:9945 ``` ### Trouble shoot #### Insufficient funds @@ -41,7 +41,7 @@ btcli wallet transfer \ --amount 1001 \ --wallet.name alice \ --destination "5C9xw4..." \ ---subtensor.chain_endpoint ws://127.0.0.1:9945 +--network ws://127.0.0.1:9945 ``` @@ -98,7 +98,7 @@ To remedy your liquidity shortfall, transfer $\tau$ from the Alice account and t --amount 1001 \ --wallet.name alice \ --destination "5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR" \ - --subtensor.chain_endpoint ws://127.0.0.1:9945 + --network ws://127.0.0.1:9945 ``` ```shell @@ -118,7 +118,7 @@ For example: btcli subnet create \ --subnet-name awesome-first-subnet \ --wallet.name sn-creator \ ---subtensor.chain_endpoint ws://127.0.0.1:9945 +--network ws://127.0.0.1:9945 ``` ```console Subnet burn cost: τ 1,000.0000 @@ -134,7 +134,7 @@ Decrypting... btcli subnet create \ --subnet-name awesome-second-subnet \ --wallet.name sn-creator \ ---subtensor.chain_endpoint ws://127.0.0.1:9945 +--network ws://127.0.0.1:9945 ``` ```console @@ -152,7 +152,7 @@ Decrypting... ```shell btcli subnet list \ ---subtensor.chain_endpoint ws://127.0.0.1:9945 +--network ws://127.0.0.1:9945 ``` ```console Subnets diff --git a/docs/local-build/deploy.md b/docs/local-build/deploy.md index 690a95bf09..0791ac1dfc 100644 --- a/docs/local-build/deploy.md +++ b/docs/local-build/deploy.md @@ -91,7 +91,7 @@ Ensure your local chain is working by checking the list of subnets. Note the use of the `--chain_endpoint` flag to target the local chain, rather than, say, test network ```shell - btcli subnet list --subtensor.chain_endpoint ws://127.0.0.1:9945 + btcli subnet list --network ws://127.0.0.1:9945 btcli subnet list --network test ``` diff --git a/docs/local-build/mine-validate.md b/docs/local-build/mine-validate.md index 9c0efd4435..1f85dfab83 100644 --- a/docs/local-build/mine-validate.md +++ b/docs/local-build/mine-validate.md @@ -21,14 +21,14 @@ Register the subnet miner and validator with the following commands: btcli subnet register \ --wallet.name validator \ --wallet.hotkey default \ ---subtensor.chain_endpoint ws://127.0.0.1:9945 +--network ws://127.0.0.1:9945 ``` ```bash btcli subnet register \ --netuid 2 \ --wallet.name miner \ --wallet.hotkey default \ ---subtensor.chain_endpoint ws://127.0.0.1:9945 +--network ws://127.0.0.1:9945 ``` @@ -47,7 +47,7 @@ btcli wallet transfer \ --amount 11 \ --wallet.name alice \ --destination "5EEy34..." \ ---subtensor.chain_endpoint ws://127.0.0.1:9945 +--network ws://127.0.0.1:9945 ``` @@ -82,9 +82,9 @@ Balance: Confirm your registration on the subnet with the following command: ```shell -btcli wallet overview --wallet.name validator --subtensor.chain_endpoint ws://127.0.0.1:9945 +btcli wallet overview --wallet.name validator --network ws://127.0.0.1:9945 -btcli wallet overview --wallet.name miner --subtensor.chain_endpoint ws://127.0.0.1:9945 +btcli wallet overview --wallet.name miner --network ws://127.0.0.1:9945 ``` diff --git a/docs/local-build/provision-wallets.md b/docs/local-build/provision-wallets.md index 89611deee8..3ba4cb2387 100644 --- a/docs/local-build/provision-wallets.md +++ b/docs/local-build/provision-wallets.md @@ -18,7 +18,7 @@ btcli wallet create --uri alice Confirm Alice's massive $\tau$ bag. ```shell - btcli w balance --wallet.name alice --subtensor.chain_endpoint ws://127.0.0.1:9945 + btcli w balance --wallet.name alice --network ws://127.0.0.1:9945 ``` ```console diff --git a/docs/reference/_bittensor-api-ref.md b/docs/reference/_bittensor-api-ref.md index b24194346c..15900f68a8 100644 --- a/docs/reference/_bittensor-api-ref.md +++ b/docs/reference/_bittensor-api-ref.md @@ -14,7 +14,7 @@ The `Subtensor` is utilized for managing interactions with the subtensor chain. # Creating a default chain connection to remote finney instance. sub = bt.subtensor() -# Parsing --subtensor.network and --subtensor.chain_endpoint from the command line +# Parsing --subtensor.network and --network from the command line sub = bt.subtensor( config = bt.subtensor.config() ) # Connecting subtensor's default local entrypoint "ws://127.0.0.1:9944" diff --git a/docs/subnets/create-a-subnet.md b/docs/subnets/create-a-subnet.md index caa4ffbfa1..398c867e7b 100644 --- a/docs/subnets/create-a-subnet.md +++ b/docs/subnets/create-a-subnet.md @@ -56,7 +56,7 @@ If you have not already done so, create Bittensor wallet(s) using the steps desc You will need tokens to register the subnet (which you will create below) on your local blockchain. Run the following command to mint faucet tokens (fake TAO). ```bash -btcli wallet faucet --wallet.name --subtensor.chain_endpoint ws://127.0.0.1:9946 +btcli wallet faucet --wallet.name --network ws://127.0.0.1:9946 ``` Output: ```bash @@ -68,7 +68,7 @@ Output: Run the below command to create a new subnet on your local chain. The cost will be exactly τ100.000000000 for the first subnet you create. ```bash -btcli subnet create --wallet.name owner --subtensor.chain_endpoint ws://127.0.0.1:9946 +btcli subnet create --wallet.name owner --network ws://127.0.0.1:9946 ``` Output: ```bash diff --git a/sidebars.js b/sidebars.js index 71b98fef04..f33ebf78ba 100644 --- a/sidebars.js +++ b/sidebars.js @@ -207,13 +207,13 @@ const sidebars = { label: 'Bittensor EVM: Examples and Precompiles', items:[ "evm-tutorials/examples", - "evm-tutorials/transfer-from-metamask-to-ss58", - "evm-tutorials/transfer-between-two-h160-accounts", - "evm-tutorials/staking-precompile", - "evm-tutorials/ed25519-verify-precompile", - "evm-tutorials/subnet-precompile", - "evm-tutorials/metagraph-precompile", - "evm-tutorials/neuron-precompile", + "evm-tutorials/ed25519-verify-precompile", + "evm-tutorials/transfer-from-metamask-to-ss58", + "evm-tutorials/transfer-between-two-h160-accounts", + "evm-tutorials/staking-precompile", + "evm-tutorials/subnet-precompile", + "evm-tutorials/metagraph-precompile", + "evm-tutorials/neuron-precompile", ] }, // { From 7676dc710aa21d6f6f253174922ef5d65f097499 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 28 May 2025 14:39:30 -0700 Subject: [PATCH 027/303] wip --- docs/evm-tutorials/address-conversion.md | 2 +- sidebars.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/evm-tutorials/address-conversion.md b/docs/evm-tutorials/address-conversion.md index efb86cdb73..a08505a44f 100644 --- a/docs/evm-tutorials/address-conversion.md +++ b/docs/evm-tutorials/address-conversion.md @@ -1,5 +1,5 @@ --- -title: "Converting Ethereum and Substrate Addresses" +title: "Ethereum (H160) to Substrate (SS58) Address Converstion" --- # Converting Ethereum and Substrate Addresses diff --git a/sidebars.js b/sidebars.js index f33ebf78ba..e2e328a307 100644 --- a/sidebars.js +++ b/sidebars.js @@ -207,6 +207,7 @@ const sidebars = { label: 'Bittensor EVM: Examples and Precompiles', items:[ "evm-tutorials/examples", + "evm-tutorials/address-conversion", "evm-tutorials/ed25519-verify-precompile", "evm-tutorials/transfer-from-metamask-to-ss58", "evm-tutorials/transfer-between-two-h160-accounts", @@ -214,6 +215,7 @@ const sidebars = { "evm-tutorials/subnet-precompile", "evm-tutorials/metagraph-precompile", "evm-tutorials/neuron-precompile", + ] }, // { From 60548e037c5a5355f6c9ba8e1afb0ecbe8d8e587 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 28 May 2025 14:53:14 -0700 Subject: [PATCH 028/303] wip --- docs/evm-tutorials/address-conversion.md | 4 +-- docs/evm-tutorials/examples.md | 32 +++++++++++++++++++++++- docs/evm-tutorials/index.md | 15 ----------- docs/evm-tutorials/subtensor-networks.md | 4 +-- sidebars.js | 3 ++- 5 files changed, 37 insertions(+), 21 deletions(-) diff --git a/docs/evm-tutorials/address-conversion.md b/docs/evm-tutorials/address-conversion.md index a08505a44f..c0ed3ba01e 100644 --- a/docs/evm-tutorials/address-conversion.md +++ b/docs/evm-tutorials/address-conversion.md @@ -22,8 +22,8 @@ This conversion is particularly useful when: 2. Create a new account or import an existing one 3. Add the Bittensor EVM network to MetaMask: - Network Name: Bittensor EVM - - RPC URL: `https://evm.bittensor.com` - - Chain ID: 3636 + - RPC URL: `https://test.chain.opentensor.ai` + - Chain ID: 945 - Currency Symbol: TAO - Block Explorer URL: `https://evm.bittensor.com` diff --git a/docs/evm-tutorials/examples.md b/docs/evm-tutorials/examples.md index 120db8c65b..1988daab0c 100644 --- a/docs/evm-tutorials/examples.md +++ b/docs/evm-tutorials/examples.md @@ -3,13 +3,43 @@ title: "Bittensor EVM: Examples and Precompiles" --- # Bittensor EVM: Examples and Precompiles + ## Available Precompiles The following precompiles are available on the Bittensor EVM. Code examples used throughout are provided by OTF, and come from [this repository.](https://github.com/opentensor/evm-bittensor/tree/main/examples) -## Tutorials and Examples +
+ Install Examples Repo + +Before you can run any EVM tutorials, you must install the dependencies. Follow the below steps: + +1. Clone the Opentensor EVM-Bittensor GitHub repo: + + ```bash + git clone https://github.com/opentensor/evm-bittensor.git + ``` + +2. Navigate to `evm-bittensor` directory: + + ```bash + cd evm-bittensor + ``` + +3. Install the dependencies: + + ```bash + npm install + ``` +
+ + + + + + +## Examples - [Converting Between Ethereum and Substrate Addresses](./address-conversion.md): Learn how to convert between H160 and SS58 address formats diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index d3ed8a2ba4..ec17272171 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -36,21 +36,6 @@ See: - [EVM on Mainnet](./evm-mainnet-with-metamask-wallet) - [OTF Blogpost: EVM on Bittensor](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) -## Networks - -You can deploy smart contracts on Bittensor main net (aka 'finney'), test network, or on your own locally deployed Bittensor chain. -
- Network details - - -| | MAINNET | TESTNET | LOCALNET | -|:---------------------|:------------------------------------|:-------------------------------------|:-------------------------| -| **RPC URL** | https://lite.chain.opentensor.ai | https://test.chain.opentensor.ai | http://localhost:9944 | -| **Chain ID** | 964 | 945 | _see below_ | -| **Test TAO** | None | Available on request | Use [Alice account](../local-build/provision-wallets#access-the-alice-account) | -|Set-up Guide|[EVM Testnet with Metamask Wallet](./evm-testnet-with-metamask-wallet)|[EVM Localnet with Metamask Wallet](./evm-localnet-with-metamask-wallet.md) for setting up a Local net.| -
- ## Ethereum vs Bittensor EVM Smart Contracts On the Ethereum network, nodes such as full nodes, validator nodes and archive nodes run the Ethereum Virtual Environment (EVM) run-time environment. Smart contracts operate under this EVM. See the below high-level diagram. diff --git a/docs/evm-tutorials/subtensor-networks.md b/docs/evm-tutorials/subtensor-networks.md index b9947cb97c..6178ef3d8a 100644 --- a/docs/evm-tutorials/subtensor-networks.md +++ b/docs/evm-tutorials/subtensor-networks.md @@ -1,11 +1,11 @@ --- -title: "Subtensor Networks" +title: "EVM Network Details" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# Subtensor Networks +# EVM Network Details | DESCRIPTION | MAINNET | TESTNET | LOCALNET | |:---------------------|:------------------------------------|:-------------------------------------|:-------------------------| diff --git a/sidebars.js b/sidebars.js index e2e328a307..daf21ec1fb 100644 --- a/sidebars.js +++ b/sidebars.js @@ -192,7 +192,8 @@ const sidebars = { link: {type: "doc", id: "evm-tutorials/index"}, items:[ "evm-tutorials/index", - "evm-tutorials/install", + "evm-tutorials/subtensor-networks", + "evm-tutorials/evm-testnet-with-metamask-wallet", "evm-tutorials/evm-localnet-with-metamask-wallet", "evm-tutorials/evm-mainnet-with-metamask-wallet", From 8545fe62450d7fee655b2dd6ead1fc32958e7ca6 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 28 May 2025 17:26:31 -0700 Subject: [PATCH 029/303] wip --- docs/evm-tutorials/config.js | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 docs/evm-tutorials/config.js diff --git a/docs/evm-tutorials/config.js b/docs/evm-tutorials/config.js deleted file mode 100644 index 36f30299fd..0000000000 --- a/docs/evm-tutorials/config.js +++ /dev/null @@ -1,18 +0,0 @@ -// PROTECT YOUR PRIVATE KEYS WELL, NEVER COMMIT THEM TO GITHUB OR SHARE WITH ANYONE -const ethPrivateKey = "0xC3467d8BA8F76018F39a98996bf5677E16b33755"; -const subSeed = "//Alice"; -const rpcUrlLocal = 'http://127.0.0.1:9946'; -const rpcUrlTestnet = 'https://test.chain.opentensor.ai'; -const wsUrlLocal = 'ws://127.0.0.1:9946'; -const wsUrlTestnet = 'wss://evm-testnet.dev.opentensor.ai'; - -module.exports = { - ethPrivateKey, - subSeed, - rpcUrl: rpcUrlTestnet, - wsUrl: wsUrlTestnet, -} - -module.exports = { - rpcUrl: 'https://test.chain.opentensor.ai', - }; \ No newline at end of file From ceb65b521a9d029ab206e3cc06b9ad55bec49730 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 29 May 2025 10:45:38 -0700 Subject: [PATCH 030/303] wip --- ...-conversion.md => convert-h160-to-ss58.md} | 4 +- docs/evm-tutorials/convert-ss58-to-h160.md | 18 ++++ docs/evm-tutorials/examples.md | 3 +- docs/evm-tutorials/withdraw-from-alice.md | 97 +++++++++++++++++++ sidebars.js | 3 +- 5 files changed, 121 insertions(+), 4 deletions(-) rename docs/evm-tutorials/{address-conversion.md => convert-h160-to-ss58.md} (97%) create mode 100644 docs/evm-tutorials/convert-ss58-to-h160.md create mode 100644 docs/evm-tutorials/withdraw-from-alice.md diff --git a/docs/evm-tutorials/address-conversion.md b/docs/evm-tutorials/convert-h160-to-ss58.md similarity index 97% rename from docs/evm-tutorials/address-conversion.md rename to docs/evm-tutorials/convert-h160-to-ss58.md index c0ed3ba01e..e22a76f8fc 100644 --- a/docs/evm-tutorials/address-conversion.md +++ b/docs/evm-tutorials/convert-h160-to-ss58.md @@ -1,8 +1,8 @@ --- -title: "Ethereum (H160) to Substrate (SS58) Address Converstion" +title: "Convert Ethereum (H160) Address to Substrate (SS58)" --- -# Converting Ethereum and Substrate Addresses +# Convert Ethereum (H160) Address to Substrate (SS58) This tutorial demonstrates how to convert between Ethereum (H160) and Substrate (SS58) addresses in the Bittensor EVM environment. diff --git a/docs/evm-tutorials/convert-ss58-to-h160.md b/docs/evm-tutorials/convert-ss58-to-h160.md new file mode 100644 index 0000000000..c1cb72b167 --- /dev/null +++ b/docs/evm-tutorials/convert-ss58-to-h160.md @@ -0,0 +1,18 @@ +--- +title: "Convert Substrate (SS58) Address to Ethereum (H160)" +--- + +# Convert Substrate (SS58) Address to Ethereum (H160) + + +## Procedure + +## Conversion Script + +Below is the code used above for the conversion. + +**Source code**: +- [EVM examples repo](https://github.com/opentensor/evm-bittensor) +- [Address mapping](https://github.com/opentensor/evm-bittensor/blob/main/examples/address-mapping.js) +- [Convert address](https://github.com/opentensor/evm-bittensor/blob/main/examples/convert-address.js) + diff --git a/docs/evm-tutorials/examples.md b/docs/evm-tutorials/examples.md index 1988daab0c..9488fc97b4 100644 --- a/docs/evm-tutorials/examples.md +++ b/docs/evm-tutorials/examples.md @@ -41,7 +41,8 @@ Before you can run any EVM tutorials, you must install the dependencies. Follow ## Examples -- [Converting Between Ethereum and Substrate Addresses](./address-conversion.md): Learn how to convert between H160 and SS58 address formats +- [Convert Ethereum (H160) Address to Substrate (SS58)](./convert-h160-to-ss58): Learn how to convert between H160 and SS58 address formats +- [Converting Between Ethereum and Substrate Addresses](./convert-h160-to-ss58): Learn how to convert between H160 and SS58 address formats ## Standard Ethereum Precompiles diff --git a/docs/evm-tutorials/withdraw-from-alice.md b/docs/evm-tutorials/withdraw-from-alice.md new file mode 100644 index 0000000000..6cb311e79f --- /dev/null +++ b/docs/evm-tutorials/withdraw-from-alice.md @@ -0,0 +1,97 @@ +--- +title: "Withdraw TAO from Alice Account (Local Development)" +--- + +# Withdraw TAO from Alice Account (Local Development) + +The 'Alice' account is provisioned with a large bag of TAO to newly create Subtensor chains. +This page shows how to withdraw TAO to your wallet using a transaction that requires root permissions, and therefore is only available in local development. + +## Procedure + +## Script + +**Source code**: + +- [EVM examples repo](https://github.com/opentensor/evm-bittensor) + +```javascript +const { ethers } = require('ethers'); +const { ApiPromise, WsProvider, Keyring } = require('@polkadot/api'); +const { convertH160ToSS58 } = require('./address-mapping.js'); + +// PROTECT YOUR PRIVATE KEYS WELL, NEVER COMMIT THEM TO GITHUB OR SHARE WITH ANYONE +const { ethPrivateKey, subSeed, rpcUrl, wsUrl } = require('./config.js'); + +function sendTransaction(api, call, signer) { + return new Promise((resolve, reject) => { + let unsubscribed = false; + + const unsubscribe = call.signAndSend(signer, ({ status, events, dispatchError }) => { + const safelyUnsubscribe = () => { + if (!unsubscribed) { + unsubscribed = true; + unsubscribe.then(() => {}) + .catch(error => console.error('Failed to unsubscribe:', error)); + } + }; + + // Check for transaction errors + if (dispatchError) { + let errout = dispatchError.toString(); + if (dispatchError.isModule) { + // for module errors, we have the section indexed, lookup + const decoded = api.registry.findMetaError(dispatchError.asModule); + const { docs, name, section } = decoded; + errout = `${name}: ${docs}`; + } + safelyUnsubscribe(); + reject(Error(errout)); + } + // Log and resolve when the transaction is included in a block + if (status.isInBlock) { + safelyUnsubscribe(); + resolve(status.asInBlock); + } + }).catch((error) => { + reject(error); + }); + }); +} + +async function main() { + const wsProvider = new WsProvider(wsUrl); + const api = await ApiPromise.create({ provider: wsProvider }); + const keyring = new Keyring({ type: 'sr25519' }); + + const sender = keyring.addFromUri(subSeed); // Your sender's private key/seed + + // Get ethereum address that matches the private key from the secrets file + const provider = new ethers.JsonRpcProvider(rpcUrl); + const signer = new ethers.Wallet(ethPrivateKey, provider); + const recipientEthereumAddress = signer.address; + + const ss58Address = convertH160ToSS58(recipientEthereumAddress); + console.log(`Mirror: ${ss58Address}`); + // Amount to send: 1 TAO on Substrate side = 1*10^9 + const amount = "1000000000"; + + // Alice funds herself with 1M TAO + const txSudoSetBalance = api.tx.sudo.sudo( + api.tx.balances.forceSetBalance(sender.address, "1000000000000000") + ); + await sendTransaction(api, txSudoSetBalance, sender); + console.log('Balace force-set'); + + // Create a transfer transaction + const transfer = api.tx.balances.transferKeepAlive(ss58Address, amount); + + // Sign and send the transaction + await sendTransaction(api, transfer, sender); + console.log(`Transfer sent to ${recipientEthereumAddress} (its ss58 mirror address is: ${ss58Address})`); + await api.disconnect(); +} + +main().catch(console.error); + +``` diff --git a/sidebars.js b/sidebars.js index daf21ec1fb..b3de115967 100644 --- a/sidebars.js +++ b/sidebars.js @@ -208,7 +208,8 @@ const sidebars = { label: 'Bittensor EVM: Examples and Precompiles', items:[ "evm-tutorials/examples", - "evm-tutorials/address-conversion", + "evm-tutorials/convert-h160-to-ss58", + "evm-tutorials/convert-ss58-to-h160", "evm-tutorials/ed25519-verify-precompile", "evm-tutorials/transfer-from-metamask-to-ss58", "evm-tutorials/transfer-between-two-h160-accounts", From 7fecaf69880d439c7e3b31a762dcfd7a22c1b1ec Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 29 May 2025 15:12:21 -0700 Subject: [PATCH 031/303] wip --- docs/evm-tutorials/_create-mm-wallet.mdx | 21 + docs/evm-tutorials/_install.mdx | 38 ++ docs/evm-tutorials/convert-h160-to-ss58.md | 37 +- docs/evm-tutorials/convert-ss58-to-h160.md | 2 - docs/evm-tutorials/examples.md | 29 +- docs/evm-tutorials/subnet-precompile.md | 490 +++++++++++++++------ docs/evm-tutorials/withdraw-from-alice.md | 47 +- sidebars.js | 1 + 8 files changed, 486 insertions(+), 179 deletions(-) create mode 100644 docs/evm-tutorials/_create-mm-wallet.mdx create mode 100644 docs/evm-tutorials/_install.mdx diff --git a/docs/evm-tutorials/_create-mm-wallet.mdx b/docs/evm-tutorials/_create-mm-wallet.mdx new file mode 100644 index 0000000000..155859bb5b --- /dev/null +++ b/docs/evm-tutorials/_create-mm-wallet.mdx @@ -0,0 +1,21 @@ +import React from 'react'; + +export const CreatePartial = () => ( + <> +

Create Wallet with MetaMask

+ +
    +
  1. Install MetaMask browser extension if you haven't already.
  2. +
  3. Create a new account or import an existing one.
  4. +
  5. Add the Bittensor EVM network to MetaMask: +
      +
    • Network Name: Bittensor EVM
    • +
    • RPC URL: https://test.chain.opentensor.ai
    • +
    • Chain ID: 945
    • +
    • Currency Symbol: TAO
    • +
    • Block Explorer URL: https://evm.bittensor.com
    • +
    +
  6. +
+ +); \ No newline at end of file diff --git a/docs/evm-tutorials/_install.mdx b/docs/evm-tutorials/_install.mdx new file mode 100644 index 0000000000..2a39b30927 --- /dev/null +++ b/docs/evm-tutorials/_install.mdx @@ -0,0 +1,38 @@ +export const InstallPartial = () => ( + <> +

Install the EVM Examples repo

+

+ Before you can run any EVM tutorials, you must install the dependencies. Follow the below steps: +

+ +
    +
  1. + Clone the Opentensor EVM-Bittensor GitHub repo: +

    + + git clone https://github.com/opentensor/evm-bittensor.git + +

    +
  2. + +
  3. + Navigate to evm-bittensor directory: +

    + + cd evm-bittensor + +

    +
  4. + +
  5. + Install the dependencies: + + + npm install + + +
  6. +
+ + +); \ No newline at end of file diff --git a/docs/evm-tutorials/convert-h160-to-ss58.md b/docs/evm-tutorials/convert-h160-to-ss58.md index e22a76f8fc..e7cf51d02f 100644 --- a/docs/evm-tutorials/convert-h160-to-ss58.md +++ b/docs/evm-tutorials/convert-h160-to-ss58.md @@ -1,6 +1,9 @@ --- title: "Convert Ethereum (H160) Address to Substrate (SS58)" --- +import { InstallPartial } from "./_install.mdx"; +import { CreatePartial } from "./_create-mm-wallet.mdx"; + # Convert Ethereum (H160) Address to Substrate (SS58) @@ -16,36 +19,22 @@ This conversion is particularly useful when: ## Procedure -### 1. Create Wallet with MetaMask + -1. Install MetaMask browser extension if you haven't already -2. Create a new account or import an existing one -3. Add the Bittensor EVM network to MetaMask: - - Network Name: Bittensor EVM - - RPC URL: `https://test.chain.opentensor.ai` - - Chain ID: 945 - - Currency Symbol: TAO - - Block Explorer URL: `https://evm.bittensor.com` + -### 2. Convert Address for Bittensor -1. Clone the EVM examples repository: - ```bash - git clone https://github.com/opentensor/evm-bittensor.git - cd evm-bittensor/examples - ``` +## Set your config -2. Install dependencies: - ```bash - npm install - ``` -3. Run the conversion script with your MetaMask address: - ```bash - node convert-address.js - ``` +### Convert Address for Bittensor + +Run the conversion script with your MetaMask address: +```bash +node convert-address.js +``` -4. Note down the SS58 address output by the script - this is your Bittensor address +Note down the SS58 address output by the script - this is your Bittensor address ### 3. Transfer TAO to EVM Wallet diff --git a/docs/evm-tutorials/convert-ss58-to-h160.md b/docs/evm-tutorials/convert-ss58-to-h160.md index c1cb72b167..ccc63a51c9 100644 --- a/docs/evm-tutorials/convert-ss58-to-h160.md +++ b/docs/evm-tutorials/convert-ss58-to-h160.md @@ -13,6 +13,4 @@ Below is the code used above for the conversion. **Source code**: - [EVM examples repo](https://github.com/opentensor/evm-bittensor) -- [Address mapping](https://github.com/opentensor/evm-bittensor/blob/main/examples/address-mapping.js) -- [Convert address](https://github.com/opentensor/evm-bittensor/blob/main/examples/convert-address.js) diff --git a/docs/evm-tutorials/examples.md b/docs/evm-tutorials/examples.md index 9488fc97b4..a6b5fb9d6f 100644 --- a/docs/evm-tutorials/examples.md +++ b/docs/evm-tutorials/examples.md @@ -2,6 +2,8 @@ title: "Bittensor EVM: Examples and Precompiles" --- +import { InstallPartial } from "./_install.mdx"; + # Bittensor EVM: Examples and Precompiles ## Available Precompiles @@ -10,33 +12,8 @@ The following precompiles are available on the Bittensor EVM. Code examples used throughout are provided by OTF, and come from [this repository.](https://github.com/opentensor/evm-bittensor/tree/main/examples) -
- Install Examples Repo - -Before you can run any EVM tutorials, you must install the dependencies. Follow the below steps: - -1. Clone the Opentensor EVM-Bittensor GitHub repo: - - ```bash - git clone https://github.com/opentensor/evm-bittensor.git - ``` - -2. Navigate to `evm-bittensor` directory: - - ```bash - cd evm-bittensor - ``` - -3. Install the dependencies: - - ```bash - npm install - ``` -
- - - + ## Examples diff --git a/docs/evm-tutorials/subnet-precompile.md b/docs/evm-tutorials/subnet-precompile.md index ea351a47fb..13aecf5890 100644 --- a/docs/evm-tutorials/subnet-precompile.md +++ b/docs/evm-tutorials/subnet-precompile.md @@ -13,141 +13,383 @@ The subnet precompile allows you to interact with subnet operations on the Bitte The subnet precompile is available at address `0x803` (2051 in decimal). -## Available Functions -### Network Registration - -#### `registerNetwork(bytes32 hotkey)` -Register a new network with a hotkey. This is a payable function that requires TAO to be sent with the transaction. +## Example Scripts + +### Javascript +```js +const { ethers, assert } = require("ethers"); +const { ApiPromise, WsProvider, Keyring } = require("@polkadot/api"); +const { convertH160ToSS58 } = require("./address-mapping.js"); +const { decodeAddress } = require("@polkadot/util-crypto"); + +// PROTECT YOUR PRIVATE KEYS WELL, NEVER COMMIT THEM TO GITHUB OR SHARE WITH ANYONE +const { ethPrivateKey, subSeed, rpcUrl, wsUrl } = require("./config.js"); +const amount1TAO = BigInt("1000000000"); +// Connect to the Subtensor node +const provider = new ethers.JsonRpcProvider(rpcUrl); + +function sendTransaction(api, call, signer) { + return new Promise((resolve, reject) => { + let unsubscribed = false; + + const unsubscribe = call + .signAndSend(signer, ({ status, events, dispatchError }) => { + const safelyUnsubscribe = () => { + if (!unsubscribed) { + unsubscribed = true; + unsubscribe + .then(() => {}) + .catch((error) => console.error("Failed to unsubscribe:", error)); + } + }; + + // Check for transaction errors + if (dispatchError) { + let errout = dispatchError.toString(); + if (dispatchError.isModule) { + // for module errors, we have the section indexed, lookup + const decoded = api.registry.findMetaError(dispatchError.asModule); + const { docs, name, section } = decoded; + errout = `${name}: ${docs}`; + } + safelyUnsubscribe(); + reject(Error(errout)); + } + // Log and resolve when the transaction is included in a block + if (status.isInBlock) { + safelyUnsubscribe(); + resolve(status.asInBlock); + } + }) + .catch((error) => { + reject(error); + }); + }); +} -```solidity -function registerNetwork(bytes32 hotkey) external payable; -``` +// for set +const subnet_contract_abi = [ + { + inputs: [ + { + internalType: "address", + name: "initialOwner", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "OwnershipTransferred", + type: "event", + }, + { + inputs: [ + { + internalType: "uint16", + name: "netuid", + type: "uint16", + }, + ], + name: "getHyperParameter", + outputs: [ + { + internalType: "uint64", + name: "", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "subnetName", + type: "bytes", + }, + { + internalType: "bytes", + name: "githubRepo", + type: "bytes", + }, + { + internalType: "bytes", + name: "subnetContact", + type: "bytes", + }, + ], + name: "registerNetwork", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint16", + name: "netuid", + type: "uint16", + }, + { + internalType: "uint64", + name: "value", + type: "uint64", + }, + ], + name: "setHyperParameter", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +// compile with evm version 0.8.3 +const subnet_contract_bytecode = + "0x608060405234801561001057600080fd5b50604051610e6d380380610e6d8339818101604052810190610032919061015c565b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561006d57600080fd5b61007c8161008360201b60201c565b50506101ce565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050610156816101b7565b92915050565b60006020828403121561016e57600080fd5b600061017c84828501610147565b91505092915050565b600061019082610197565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6101c081610185565b81146101cb57600080fd5b50565b610c90806101dd6000396000f3fe6080604052600436106100555760003560e01c8063290212c11461005a578063715018a614610076578063786fede51461008d57806378b63cb6146100ca5780638da5cb5b146100e6578063f2fde38b14610111575b600080fd5b610074600480360381019061006f919061077b565b61013a565b005b34801561008257600080fd5b5061008b610279565b005b34801561009957600080fd5b506100b460048036038101906100af9190610812565b61028d565b6040516100c19190610a3c565b60405180910390f35b6100e460048036038101906100df919061083b565b6103df565b005b3480156100f257600080fd5b506100fb61051a565b6040516101089190610971565b60405180910390f35b34801561011d57600080fd5b5061013860048036038101906101339190610752565b610543565b005b610142610591565b60006108039050600061080373ffffffffffffffffffffffffffffffffffffffff163463290212c160e01b8787876040516024016101829392919061098c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516101ec919061095a565b60006040518083038185875af1925050503d8060008114610229576040519150601f19603f3d011682016040523d82523d6000602084013e61022e565b606091505b5050905080610272576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610269906109d8565b60405180910390fd5b5050505050565b610281610591565b61028b60006105d2565b565b600080610803905060008061080373ffffffffffffffffffffffffffffffffffffffff16637444dadc60e01b866040516024016102ca91906109f8565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610334919061095a565b6000604051808303816000865af19150503d8060008114610371576040519150601f19603f3d011682016040523d82523d6000602084013e610376565b606091505b5091509150816103bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b2906109d8565b60405180910390fd5b6000818060200190518101906103d19190610877565b905080945050505050919050565b6103e7610591565b60006108039050600061080373ffffffffffffffffffffffffffffffffffffffff1663b38e0bbe60e01b8585604051602401610424929190610a13565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161048e919061095a565b6000604051808303816000865af19150503d80600081146104cb576040519150601f19603f3d011682016040523d82523d6000602084013e6104d0565b606091505b5050905080610514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050b906109d8565b60405180910390fd5b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61054b610591565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561058557600080fd5b61058e816105d2565b50565b3373ffffffffffffffffffffffffffffffffffffffff166105b061051a565b73ffffffffffffffffffffffffffffffffffffffff16146105d057600080fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006106a96106a484610a7c565b610a57565b9050828152602081018484840111156106c157600080fd5b6106cc848285610b39565b509392505050565b6000813590506106e381610c15565b92915050565b600082601f8301126106fa57600080fd5b813561070a848260208601610696565b91505092915050565b60008135905061072281610c2c565b92915050565b60008135905061073781610c43565b92915050565b60008151905061074c81610c43565b92915050565b60006020828403121561076457600080fd5b6000610772848285016106d4565b91505092915050565b60008060006060848603121561079057600080fd5b600084013567ffffffffffffffff8111156107aa57600080fd5b6107b6868287016106e9565b935050602084013567ffffffffffffffff8111156107d357600080fd5b6107df868287016106e9565b925050604084013567ffffffffffffffff8111156107fc57600080fd5b610808868287016106e9565b9150509250925092565b60006020828403121561082457600080fd5b600061083284828501610713565b91505092915050565b6000806040838503121561084e57600080fd5b600061085c85828601610713565b925050602061086d85828601610728565b9150509250929050565b60006020828403121561088957600080fd5b60006108978482850161073d565b91505092915050565b6108a981610ae5565b82525050565b60006108ba82610aad565b6108c48185610ab8565b93506108d4818560208601610b48565b6108dd81610bdb565b840191505092915050565b60006108f382610aad565b6108fd8185610ac9565b935061090d818560208601610b48565b80840191505092915050565b6000610926601283610ad4565b915061093182610bec565b602082019050919050565b61094581610af7565b82525050565b61095481610b25565b82525050565b600061096682846108e8565b915081905092915050565b600060208201905061098660008301846108a0565b92915050565b600060608201905081810360008301526109a681866108af565b905081810360208301526109ba81856108af565b905081810360408301526109ce81846108af565b9050949350505050565b600060208201905081810360008301526109f181610919565b9050919050565b6000602082019050610a0d600083018461093c565b92915050565b6000604082019050610a28600083018561093c565b610a35602083018461094b565b9392505050565b6000602082019050610a51600083018461094b565b92915050565b6000610a61610a72565b9050610a6d8282610b7b565b919050565b6000604051905090565b600067ffffffffffffffff821115610a9757610a96610bac565b5b610aa082610bdb565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610af082610b05565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b83811015610b66578082015181840152602081019050610b4b565b83811115610b75576000848401525b50505050565b610b8482610bdb565b810181811067ffffffffffffffff82111715610ba357610ba2610bac565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f5375626e65742063616c6c206661696c65640000000000000000000000000000600082015250565b610c1e81610ae5565b8114610c2957600080fd5b50565b610c3581610af7565b8114610c4057600080fd5b50565b610c4c81610b25565b8114610c5757600080fd5b5056fea26469706673582212200e657685be0d4a155c28ec7471273753d1c625c562f268b2efdf0a8b2c7e4dbe64736f6c63430008030033"; + +// Create a signer +const privateKey = ethPrivateKey; // DO NOT HARDCODE YOUR PRIVATE KEY IN PRODUCTION +const signer = new ethers.Wallet(privateKey, provider); + +async function createSubnetGetSetParameter() { + try { + // Substrate ss58 address that will receive the transfer + const wsProvider = new WsProvider(wsUrl); + const api = await ApiPromise.create({ provider: wsProvider }); + const keyring = new Keyring({ type: "sr25519" }); + const account = keyring.addFromUri(subSeed); // Your Substrate address private key/seed + + // Destination address can be replaced with any ss58 address here: + const destinationAddress = account.address; + + // Get the substrate address public key + const pubk = decodeAddress(destinationAddress); + const hex = Array.from(pubk, (byte) => + byte.toString(16).padStart(2, "0") + ).join(""); + + const signer = new ethers.Wallet(ethPrivateKey, provider); + + const ss58mirror = convertH160ToSS58(signer.address); + let txSudoSetBalance = api.tx.sudo.sudo( + api.tx.balances.forceSetBalance(ss58mirror, BigInt(1e18).toString()) + ); + await sendTransaction(api, txSudoSetBalance, account); + + const txSudoSetWhitelist = api.tx.sudo.sudo( + api.tx.evm.setWhitelist([signer.address]) + ); + + await sendTransaction(api, txSudoSetWhitelist, account); + + const contractFactory = new ethers.ContractFactory( + subnet_contract_abi, + subnet_contract_bytecode, + signer + ); + + const subnet_contract = await contractFactory.deploy(signer.address); + await subnet_contract.waitForDeployment(); + + console.log("deployed contract address: ", subnet_contract.target); + + txSudoSetBalance = api.tx.sudo.sudo( + api.tx.balances.forceSetBalance( + convertH160ToSS58(subnet_contract.target), + BigInt(1e16).toString() + ) + ); + await sendTransaction(api, txSudoSetBalance, account); + + let totalNetwork = Number(await api.query.subtensorModule.totalNetworks()); + console.log("total networks is ", totalNetwork); + + // there are predefined network 0 and 3. + let netuid; + if (totalNetwork > 3) { + netuid = totalNetwork; + } else { + netuid = totalNetwork - 1; + } -#### `registerNetwork(bytes32 hotkey, string subnet_name, string github_repo, string subnet_contact, string subnet_url, string discord, string description, string additional)` -Register a new network with a hotkey and identity information. This is a payable function that requires TAO to be sent with the transaction. - -```solidity -function registerNetwork( - bytes32 hotkey, - string subnet_name, - string github_repo, - string subnet_contact, - string subnet_url, - string discord, - string description, - string additional -) external payable; -``` + const encoder = new TextEncoder(); + + let tx = await subnet_contract.registerNetwork( + encoder.encode("name"), + encoder.encode("repo"), + encoder.encode("contact") + ); + await tx.wait(); + + // the network owner is the deployed contract, not the signer + const networkOwner = ( + await api.query.subtensorModule.subnetOwner(netuid) + ).toHuman(); + console.log("networkOwner is ", networkOwner); + + tx = await subnet_contract.setHyperParameter(netuid, 255); + await tx.wait(); + + // get parameter from chain + let parameter = Number( + await api.query.subtensorModule.servingRateLimit(netuid) + ); + + assert(parameter == 255); + + // get paramter from contract + parameter = await subnet_contract.getHyperParameter(netuid); + + // check total networks after registration + console.log( + "total networks is ", + (await api.query.subtensorModule.totalNetworks()).toHuman() + ); + + process.exit(0); + } catch (error) { + console.error("Error:", error); + process.exit(0); + } +} -### Network Parameters - -The subnet precompile provides getter and setter functions for various network parameters: - -#### Rate Limits -- `getServingRateLimit(uint16 netuid) returns (uint64)` -- `setServingRateLimit(uint16 netuid, uint64 serving_rate_limit)` - -#### Difficulty Settings -- `getMinDifficulty(uint16 netuid) returns (uint64)` -- `setMinDifficulty(uint16 netuid, uint64 min_difficulty)` -- `getMaxDifficulty(uint16 netuid) returns (uint64)` -- `setMaxDifficulty(uint16 netuid, uint64 max_difficulty)` -- `getDifficulty(uint16 netuid) returns (uint64)` -- `setDifficulty(uint16 netuid, uint64 difficulty)` - -#### Weights Management -- `getWeightsVersionKey(uint16 netuid) returns (uint64)` -- `setWeightsVersionKey(uint16 netuid, uint64 weights_version_key)` -- `getWeightsSetRateLimit(uint16 netuid) returns (uint64)` -- `setWeightsSetRateLimit(uint16 netuid, uint64 weights_set_rate_limit)` -- `getMaxWeightLimit(uint16 netuid) returns (uint16)` -- `setMaxWeightLimit(uint16 netuid, uint16 max_weight_limit)` -- `getMinAllowedWeights(uint16 netuid) returns (uint16)` -- `setMinAllowedWeights(uint16 netuid, uint16 min_allowed_weights)` - -#### Network Settings -- `getImmunityPeriod(uint16 netuid) returns (uint16)` -- `setImmunityPeriod(uint16 netuid, uint16 immunity_period)` -- `getKappa(uint16 netuid) returns (uint16)` -- `setKappa(uint16 netuid, uint16 kappa)` -- `getRho(uint16 netuid) returns (uint16)` -- `setRho(uint16 netuid, uint16 rho)` -- `getActivityCutoff(uint16 netuid) returns (uint16)` -- `setActivityCutoff(uint16 netuid, uint16 activity_cutoff)` - -#### Registration Settings -- `getNetworkRegistrationAllowed(uint16 netuid) returns (bool)` -- `setNetworkRegistrationAllowed(uint16 netuid, bool registration_allowed)` -- `getNetworkPowRegistrationAllowed(uint16 netuid) returns (bool)` -- `setNetworkPowRegistrationAllowed(uint16 netuid, bool registration_allowed)` - -#### Burn Settings -- `getMinBurn(uint16 netuid) returns (uint64)` -- `setMinBurn(uint16 netuid, uint64 min_burn)` -- `getMaxBurn(uint16 netuid) returns (uint64)` -- `setMaxBurn(uint16 netuid, uint64 max_burn)` - -#### Bonds and Alpha Settings -- `getBondsMovingAverage(uint16 netuid) returns (uint64)` -- `setBondsMovingAverage(uint16 netuid, uint64 bonds_moving_average)` -- `getAlphaValues(uint16 netuid) returns (uint16, uint16)` -- `setAlphaValues(uint16 netuid, uint16 alpha_low, uint16 alpha_high)` - -#### Commit-Reveal Settings -- `getCommitRevealWeightsEnabled(uint16 netuid) returns (bool)` -- `setCommitRevealWeightsEnabled(uint16 netuid, bool enabled)` -- `getCommitRevealWeightsInterval(uint16 netuid) returns (uint64)` -- `setCommitRevealWeightsInterval(uint16 netuid, uint64 interval)` - -#### Liquid Alpha Settings -- `getLiquidAlphaEnabled(uint16 netuid) returns (bool)` -- `setLiquidAlphaEnabled(uint16 netuid, bool enabled)` - -#### Transfer Settings -- `toggleTransfers(uint16 netuid, bool toggle)` - -## Example Usage - -Here's an example of how to use the subnet precompile in a smart contract: - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -interface ISubnetPrecompile { - function registerNetwork(bytes32 hotkey) external payable; - function getDifficulty(uint16 netuid) external view returns (uint64); - function setDifficulty(uint16 netuid, uint64 difficulty) external; +async function main() { + await createSubnetCheckEmission(); } -contract SubnetManager { - address constant SUBNET_PRECOMPILE = 0x803; - ISubnetPrecompile subnet = ISubnetPrecompile(SUBNET_PRECOMPILE); +main().catch(console.error); + +``` +### Solidity +```sol +// SPDX-License-Identifier: GPL-3.0 +// +// This example demonstrates calling of ISubnet precompile +// from another smart contract + +pragma solidity ^0.8.3; +import "@openzeppelin/contracts/access/Ownable.sol"; + +address constant ISUBTENSOR_SUBNET_ADDRESS = 0x0000000000000000000000000000000000000803; + +interface ISubnet { + /// Registers a new network without specifying details. + // function registerNetwork() external payable; + /// Registers a new network with specified subnet name, GitHub repository, and contact information. + function registerNetwork( + bytes memory subnetName, + bytes memory githubRepo, + bytes memory subnetContact + ) external payable; + + function getServingRateLimit(uint16 netuid) external view returns (uint64); + + function setServingRateLimit( + uint16 netuid, + uint64 servingRateLimit + ) external payable; +} - function registerNewNetwork(bytes32 hotkey) external payable { - subnet.registerNetwork{value: msg.value}(hotkey); +contract Subnet is Ownable { + constructor(address initialOwner) Ownable(initialOwner) {} + + function registerNetwork( + bytes memory subnetName, + bytes memory githubRepo, + bytes memory subnetContact + ) external payable onlyOwner { + ISubnet subnetPrecompile = ISubnet(ISUBTENSOR_SUBNET_ADDRESS); + (bool success, ) = ISUBTENSOR_SUBNET_ADDRESS.call{value: msg.value}( + abi.encodeWithSelector( + subnetPrecompile.registerNetwork.selector, + subnetName, + githubRepo, + subnetContact + ) + ); + require(success, "Subnet call failed"); } - function getNetworkDifficulty(uint16 netuid) external view returns (uint64) { - return subnet.getDifficulty(netuid); + function setHyperParameter( + uint16 netuid, + uint64 value + ) external payable onlyOwner { + ISubnet subnetPrecompile = ISubnet(ISUBTENSOR_SUBNET_ADDRESS); + (bool success, ) = ISUBTENSOR_SUBNET_ADDRESS.call( + abi.encodeWithSelector( + subnetPrecompile.setServingRateLimit.selector, + netuid, + value + ) + ); + require(success, "Subnet call failed"); } - function updateNetworkDifficulty(uint16 netuid, uint64 newDifficulty) external { - subnet.setDifficulty(netuid, newDifficulty); + function getHyperParameter(uint16 netuid) public returns (uint64) { + ISubnet subnetPrecompile = ISubnet(ISUBTENSOR_SUBNET_ADDRESS); + (bool success, bytes memory data) = ISUBTENSOR_SUBNET_ADDRESS.call( + abi.encodeWithSelector( + subnetPrecompile.getServingRateLimit.selector, + netuid + ) + ); + require(success, "Subnet call failed"); + + uint64 value = abi.decode(data, (uint64)); + return value; } } -``` - -## Important Notes -1. Most setter functions require admin privileges to execute. -2. The `registerNetwork` functions are payable and require TAO to be sent with the transaction. -3. All network parameters are specific to a subnet identified by its `netuid`. -4. Some functions may be restricted based on network permissions and governance settings. - -## Next Steps - -- Learn about [staking operations](/evm-tutorials/staking-precompile) -- Understand [neuron management](/evm-tutorials/neuron-precompile) -- Explore [metagraph interactions](/evm-tutorials/metagraph-precompile) \ No newline at end of file +``` diff --git a/docs/evm-tutorials/withdraw-from-alice.md b/docs/evm-tutorials/withdraw-from-alice.md index 6cb311e79f..d2cd15ce9a 100644 --- a/docs/evm-tutorials/withdraw-from-alice.md +++ b/docs/evm-tutorials/withdraw-from-alice.md @@ -2,14 +2,55 @@ title: "Withdraw TAO from Alice Account (Local Development)" --- +import { InstallPartial } from "./_install.mdx"; +import { CreatePartial } from "./_create-mm-wallet.mdx"; + # Withdraw TAO from Alice Account (Local Development) -The 'Alice' account is provisioned with a large bag of TAO to newly create Subtensor chains. -This page shows how to withdraw TAO to your wallet using a transaction that requires root permissions, and therefore is only available in local development. +Every locally deployed dev-mode blockchain comes provisioned with an 'Alice' account holding a large bag of TAO. + +This page shows how to withdraw TAO to your wallet, using a transaction that requires root permissions, and therefore is only available in local development. + +## Prerequesites + +[Deploy a Subtensor Blockchain locally](../local-build/deploy) + ## Procedure -## Script +1. + +1. + +### Configure your request + +The withdraw.js script expects your configuration to be available in config.js. +Select the local configuration options for `rpcURL` and `wsUrl`. + +:::danger +Handle your private keys with care. Do not commit them to Github. +::: +``` +// PROTECT YOUR PRIVATE KEYS WELL, NEVER COMMIT THEM TO GITHUB OR SHARE WITH ANYONE +const ethPrivateKey = ; +const subSeed = "//Alice"; +const rpcUrlLocal = 'http://127.0.0.1:9946'; +const rpcUrlTestnet = 'https://test.chain.opentensor.ai'; +const wsUrlLocal = 'ws://127.0.0.1:9946'; +const wsUrlTestnet = 'wss://test.chain.opentensor.ai'; + +module.exports = { + ethPrivateKey, + subSeed, + rpcUrl: rpcUrlLocal, + wsUrl: wsUrlLocal, +} +``` +### Run the script + +```bash +node withdraw.js +``` **Source code**: diff --git a/sidebars.js b/sidebars.js index b3de115967..dc4c24ac0d 100644 --- a/sidebars.js +++ b/sidebars.js @@ -217,6 +217,7 @@ const sidebars = { "evm-tutorials/subnet-precompile", "evm-tutorials/metagraph-precompile", "evm-tutorials/neuron-precompile", + "evm-tutorials/withdraw-from-alice", ] }, From 0b21841156043b504c9863b431c4dfa62eeaa732 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 29 May 2025 15:41:15 -0700 Subject: [PATCH 032/303] wip --- docs/evm-tutorials/metagraph-precompile.md | 188 --------------------- docs/evm-tutorials/neuron-precompile.md | 182 -------------------- docs/evm-tutorials/subnet-precompile.md | 1 - 3 files changed, 371 deletions(-) diff --git a/docs/evm-tutorials/metagraph-precompile.md b/docs/evm-tutorials/metagraph-precompile.md index cfbc41c933..606a0987ac 100644 --- a/docs/evm-tutorials/metagraph-precompile.md +++ b/docs/evm-tutorials/metagraph-precompile.md @@ -9,193 +9,5 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; The metagraph precompile allows you to query information about neurons, their relationships, and network state in the Bittensor network. This precompile provides read-only access to the metagraph data through smart contracts. -## Precompile Address -The metagraph precompile is available at address `0x802` (2050 in decimal). -## Available Functions - -### Network Statistics - -#### `getUidCount(uint16 netuid) returns (uint16)` -Get the total number of UIDs (neurons) in a subnet. - -```solidity -function getUidCount(uint16 netuid) external view returns (uint16); -``` - -### Neuron Information - -#### `getStake(uint16 netuid, uint16 uid) returns (uint64)` -Get the total stake of a neuron in a subnet. - -```solidity -function getStake(uint16 netuid, uint16 uid) external view returns (uint64); -``` - -#### `getRank(uint16 netuid, uint16 uid) returns (uint16)` -Get the rank of a neuron in a subnet. - -```solidity -function getRank(uint16 netuid, uint16 uid) external view returns (uint16); -``` - -#### `getTrust(uint16 netuid, uint16 uid) returns (uint16)` -Get the trust score of a neuron in a subnet. - -```solidity -function getTrust(uint16 netuid, uint16 uid) external view returns (uint16); -``` - -#### `getConsensus(uint16 netuid, uint16 uid) returns (uint16)` -Get the consensus score of a neuron in a subnet. - -```solidity -function getConsensus(uint16 netuid, uint16 uid) external view returns (uint16); -``` - -#### `getIncentive(uint16 netuid, uint16 uid) returns (uint16)` -Get the incentive score of a neuron in a subnet. - -```solidity -function getIncentive(uint16 netuid, uint16 uid) external view returns (uint16); -``` - -#### `getDividends(uint16 netuid, uint16 uid) returns (uint16)` -Get the dividends of a neuron in a subnet. - -```solidity -function getDividends(uint16 netuid, uint16 uid) external view returns (uint16); -``` - -#### `getEmission(uint16 netuid, uint16 uid) returns (uint64)` -Get the emission of a neuron in a subnet. - -```solidity -function getEmission(uint16 netuid, uint16 uid) external view returns (uint64); -``` - -#### `getVtrust(uint16 netuid, uint16 uid) returns (uint16)` -Get the validator trust score of a neuron in a subnet. - -```solidity -function getVtrust(uint16 netuid, uint16 uid) external view returns (uint16); -``` - -### Neuron Status - -#### `getValidatorStatus(uint16 netuid, uint16 uid) returns (bool)` -Check if a neuron is a validator in a subnet. - -```solidity -function getValidatorStatus(uint16 netuid, uint16 uid) external view returns (bool); -``` - -#### `getLastUpdate(uint16 netuid, uint16 uid) returns (uint64)` -Get the timestamp of the last update for a neuron in a subnet. - -```solidity -function getLastUpdate(uint16 netuid, uint16 uid) external view returns (uint64); -``` - -#### `getIsActive(uint16 netuid, uint16 uid) returns (bool)` -Check if a neuron is active in a subnet. - -```solidity -function getIsActive(uint16 netuid, uint16 uid) external view returns (bool); -``` - -### Neuron Keys - -#### `getHotkey(uint16 netuid, uint16 uid) returns (bytes32)` -Get the hotkey of a neuron in a subnet. - -```solidity -function getHotkey(uint16 netuid, uint16 uid) external view returns (bytes32); -``` - -#### `getColdkey(uint16 netuid, uint16 uid) returns (bytes32)` -Get the coldkey of a neuron in a subnet. - -```solidity -function getColdkey(uint16 netuid, uint16 uid) external view returns (bytes32); -``` - -### Axon Information - -#### `getAxon(uint16 netuid, uint16 uid) returns (AxonInfo)` -Get the axon information of a neuron in a subnet. - -```solidity -struct AxonInfo { - uint64 block; - uint32 version; - uint128 ip; - uint16 port; - uint8 ip_type; - uint8 protocol; -} - -function getAxon(uint16 netuid, uint16 uid) external view returns (AxonInfo); -``` - -## Example Usage - -Here's an example of how to use the metagraph precompile in a smart contract: - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -interface IMetagraphPrecompile { - struct AxonInfo { - uint64 block; - uint32 version; - uint128 ip; - uint16 port; - uint8 ip_type; - uint8 protocol; - } - - function getUidCount(uint16 netuid) external view returns (uint16); - function getStake(uint16 netuid, uint16 uid) external view returns (uint64); - function getRank(uint16 netuid, uint16 uid) external view returns (uint16); - function getHotkey(uint16 netuid, uint16 uid) external view returns (bytes32); - function getAxon(uint16 netuid, uint16 uid) external view returns (AxonInfo); -} - -contract MetagraphQuerier { - address constant METAGRAPH_PRECOMPILE = 0x802; - IMetagraphPrecompile metagraph = IMetagraphPrecompile(METAGRAPH_PRECOMPILE); - - function getNeuronInfo(uint16 netuid, uint16 uid) external view returns ( - uint64 stake, - uint16 rank, - bytes32 hotkey, - IMetagraphPrecompile.AxonInfo memory axon - ) { - stake = metagraph.getStake(netuid, uid); - rank = metagraph.getRank(netuid, uid); - hotkey = metagraph.getHotkey(netuid, uid); - axon = metagraph.getAxon(netuid, uid); - } - - function getNetworkStats(uint16 netuid) external view returns (uint16 totalNeurons) { - totalNeurons = metagraph.getUidCount(netuid); - } -} -``` - -## Important Notes - -1. All functions in the metagraph precompile are view functions and do not modify state. -2. The precompile provides read-only access to the metagraph data. -3. All queries are specific to a subnet identified by its `netuid`. -4. The `uid` parameter must be valid for the specified subnet. -5. Some functions may return default values or revert if the neuron is not found. - -## Next Steps - -- Learn about [staking operations](/evm-tutorials/staking-precompile) -- Understand [subnet management](/evm-tutorials/subnet-precompile) -- Explore [neuron operations](/evm-tutorials/neuron-precompile) \ No newline at end of file diff --git a/docs/evm-tutorials/neuron-precompile.md b/docs/evm-tutorials/neuron-precompile.md index 2bec674d43..45f32eb730 100644 --- a/docs/evm-tutorials/neuron-precompile.md +++ b/docs/evm-tutorials/neuron-precompile.md @@ -8,185 +8,3 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Neuron Precompile The neuron precompile allows you to interact with neuron operations on the Bittensor network through smart contracts. This precompile provides functionality for setting weights, registering neurons, and serving axons. - -## Precompile Address - -The neuron precompile is available at address `0x804` (2052 in decimal). - -## Available Functions - -### Weight Management - -#### `setWeights(uint16 netuid, uint16[] dests, uint16[] weights, uint64 version_key)` -Set weights for multiple destination neurons in a subnet. This is a payable function. - -```solidity -function setWeights( - uint16 netuid, - uint16[] dests, - uint16[] weights, - uint64 version_key -) external payable; -``` - -#### `commitWeights(uint16 netuid, bytes32 commit_hash)` -Commit weights for a subnet using a hash. This is a payable function. - -```solidity -function commitWeights(uint16 netuid, bytes32 commit_hash) external payable; -``` - -#### `revealWeights(uint16 netuid, uint16[] uids, uint16[] values, uint16[] salt, uint64 version_key)` -Reveal previously committed weights for a subnet. This is a payable function. - -```solidity -function revealWeights( - uint16 netuid, - uint16[] uids, - uint16[] values, - uint16[] salt, - uint64 version_key -) external payable; -``` - -### Neuron Registration - -#### `burnedRegister(uint16 netuid, bytes32 hotkey)` -Register a new neuron in a subnet by burning TAO. This is a payable function. - -```solidity -function burnedRegister(uint16 netuid, bytes32 hotkey) external payable; -``` - -### Axon Serving - -#### `serveAxon(uint16 netuid, uint32 version, uint128 ip, uint16 port, uint8 ip_type, uint8 protocol, uint8 placeholder1, uint8 placeholder2)` -Serve an axon for a neuron in a subnet. This is a payable function. - -```solidity -function serveAxon( - uint16 netuid, - uint32 version, - uint128 ip, - uint16 port, - uint8 ip_type, - uint8 protocol, - uint8 placeholder1, - uint8 placeholder2 -) external payable; -``` - -#### `serveAxonTls(uint16 netuid, uint32 version, uint128 ip, uint16 port, uint8 ip_type, uint8 protocol, uint8 placeholder1, uint8 placeholder2, bytes certificate)` -Serve a TLS-enabled axon for a neuron in a subnet. This is a payable function. - -```solidity -function serveAxonTls( - uint16 netuid, - uint32 version, - uint128 ip, - uint16 port, - uint8 ip_type, - uint8 protocol, - uint8 placeholder1, - uint8 placeholder2, - bytes certificate -) external payable; -``` - -#### `servePrometheus(uint16 netuid, uint32 version, uint128 ip, uint16 port, uint8 ip_type)` -Serve a Prometheus endpoint for a neuron in a subnet. This is a payable function. - -```solidity -function servePrometheus( - uint16 netuid, - uint32 version, - uint128 ip, - uint16 port, - uint8 ip_type -) external payable; -``` - -## Example Usage - -Here's an example of how to use the neuron precompile in a smart contract: - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -interface INeuronPrecompile { - function setWeights( - uint16 netuid, - uint16[] calldata dests, - uint16[] calldata weights, - uint64 version_key - ) external payable; - - function burnedRegister(uint16 netuid, bytes32 hotkey) external payable; - - function serveAxon( - uint16 netuid, - uint32 version, - uint128 ip, - uint16 port, - uint8 ip_type, - uint8 protocol, - uint8 placeholder1, - uint8 placeholder2 - ) external payable; -} - -contract NeuronManager { - address constant NEURON_PRECOMPILE = 0x804; - INeuronPrecompile neuron = INeuronPrecompile(NEURON_PRECOMPILE); - - function setNeuronWeights( - uint16 netuid, - uint16[] calldata dests, - uint16[] calldata weights, - uint64 version_key - ) external payable { - neuron.setWeights{value: msg.value}(netuid, dests, weights, version_key); - } - - function registerNeuron(uint16 netuid, bytes32 hotkey) external payable { - neuron.burnedRegister{value: msg.value}(netuid, hotkey); - } - - function serveNeuronAxon( - uint16 netuid, - uint32 version, - uint128 ip, - uint16 port, - uint8 ip_type, - uint8 protocol - ) external payable { - neuron.serveAxon{value: msg.value}( - netuid, - version, - ip, - port, - ip_type, - protocol, - 0, // placeholder1 - 0 // placeholder2 - ); - } -} -``` - -## Important Notes - -1. Most functions in the neuron precompile are payable and require TAO to be sent with the transaction. -2. The `setWeights` function requires the `dests` and `weights` arrays to be of equal length. -3. The `revealWeights` function requires the `uids`, `values`, and `salt` arrays to be of equal length. -4. All operations are specific to a subnet identified by its `netuid`. -5. The `version_key` parameter is used to track different versions of weights. -6. The `ip_type` parameter in axon serving functions determines the type of IP address (IPv4 or IPv6). -7. The `protocol` parameter in axon serving functions determines the communication protocol. - -## Next Steps - -- Learn about [staking operations](/evm-tutorials/staking-precompile) -- Understand [subnet management](/evm-tutorials/subnet-precompile) -- Explore [metagraph interactions](/evm-tutorials/metagraph-precompile) \ No newline at end of file diff --git a/docs/evm-tutorials/subnet-precompile.md b/docs/evm-tutorials/subnet-precompile.md index 13aecf5890..53682ff99f 100644 --- a/docs/evm-tutorials/subnet-precompile.md +++ b/docs/evm-tutorials/subnet-precompile.md @@ -13,7 +13,6 @@ The subnet precompile allows you to interact with subnet operations on the Bitte The subnet precompile is available at address `0x803` (2051 in decimal). - ## Example Scripts ### Javascript From fd388f1768ea47a44924ff77762dcec6caec1efb Mon Sep 17 00:00:00 2001 From: michael trestman Date: Fri, 30 May 2025 07:20:23 -0700 Subject: [PATCH 033/303] wip --- docs/evm-tutorials/examples.md | 4 +- docs/evm-tutorials/metagraph-precompile.md | 467 ++++++++++++++- docs/evm-tutorials/neuron-precompile.md | 292 +++++++++- docs/evm-tutorials/subnet-precompile.md | 540 +++++++++++++++++- docs/learn/anatomy-of-incentive-mechanism.md | 4 +- ...ittensor-building-blocks.md => neurons.md} | 0 docs/subnets/walkthrough-prompting.md | 2 +- docs/tutorials/ocr-subnet-tutorial.md | 4 +- sidebars.js | 2 +- 9 files changed, 1303 insertions(+), 12 deletions(-) rename docs/learn/{bittensor-building-blocks.md => neurons.md} (100%) diff --git a/docs/evm-tutorials/examples.md b/docs/evm-tutorials/examples.md index a6b5fb9d6f..ec58b7c87e 100644 --- a/docs/evm-tutorials/examples.md +++ b/docs/evm-tutorials/examples.md @@ -8,11 +8,11 @@ import { InstallPartial } from "./_install.mdx"; ## Available Precompiles -The following precompiles are available on the Bittensor EVM. +The following precompiled smart contracts are available on the Bittensor EVM. +The source code can be found [on GitHub](https://github.com/opentensor/subtensor/blob/main/precompiles). Code examples used throughout are provided by OTF, and come from [this repository.](https://github.com/opentensor/evm-bittensor/tree/main/examples) - diff --git a/docs/evm-tutorials/metagraph-precompile.md b/docs/evm-tutorials/metagraph-precompile.md index 606a0987ac..e77dd5f648 100644 --- a/docs/evm-tutorials/metagraph-precompile.md +++ b/docs/evm-tutorials/metagraph-precompile.md @@ -7,7 +7,472 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Metagraph Precompile -The metagraph precompile allows you to query information about neurons, their relationships, and network state in the Bittensor network. This precompile provides read-only access to the metagraph data through smart contracts. +The metagraph precompile allows you to query information about neurons, their relationships, and network state in the Bittensor network. This precompile provides read-only access to the metagraph data through smart contracts at precompile address `2050`. + +## Overview + +The metagraph precompile is a powerful tool that enables smart contracts to interact with the Bittensor network's metagraph data. It provides access to various metrics and information about neurons including stakes, ranks, trust scores, consensus values, and more. + +All functions in this precompile are view-only operations that don't modify state and consume minimal gas. + +## Function Reference + +### Network Information + +#### `getUidCount(uint16 netuid) → uint16` + +Returns the total number of UIDs (neurons) in a specific subnetwork. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID to query + +**Returns:** +- `uint16`: Total count of neurons in the subnetwork + +**Example:** +```solidity +// Get the number of neurons in subnetwork 1 +uint16 neuronCount = IMetagraph(METAGRAPH_PRECOMPILE).getUidCount(1); +``` + +### Token and Consensus Metrics + +#### `getStake(uint16 netuid, uint16 uid) → uint64` + +Retrieves the total stake amount for a specific neuron. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `uint64`: Total stake amount for the neuron's hotkey + +**Errors:** +- Reverts with `InvalidRange` if the UID doesn't exist in the network + +**Example:** +```solidity +// Get stake for neuron with UID 5 in subnetwork 1 +uint64 stake = IMetagraph(METAGRAPH_PRECOMPILE).getStake(1, 5); +``` + +#### `getEmission(uint16 netuid, uint16 uid) → uint64` + +Gets the emission value for a specific neuron, representing its reward allocation. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `uint64`: Emission value for the neuron + +**Example:** +```solidity +// Get emission for neuron with UID 10 in subnetwork 1 +uint64 emission = IMetagraph(METAGRAPH_PRECOMPILE).getEmission(1, 10); +``` + +#### `getRank(uint16 netuid, uint16 uid) → uint16` + +Returns the rank score of a neuron, indicating its performance relative to others. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `uint16`: Rank score of the neuron + +**Example:** +```solidity +// Get rank for neuron with UID 3 in subnetwork 1 +uint16 rank = IMetagraph(METAGRAPH_PRECOMPILE).getRank(1, 3); +``` + +#### `getTrust(uint16 netuid, uint16 uid) → uint16` + +Retrieves the trust score of a neuron, representing how much other neurons trust its outputs. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `uint16`: Trust score of the neuron + +**Example:** +```solidity +// Get trust score for neuron with UID 7 in subnetwork 1 +uint16 trust = IMetagraph(METAGRAPH_PRECOMPILE).getTrust(1, 7); +``` + +#### `getConsensus(uint16 netuid, uint16 uid) → uint16` + +Gets the consensus score of a neuron, indicating agreement with network consensus. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `uint16`: Consensus score of the neuron + +**Example:** +```solidity +// Get consensus score for neuron with UID 12 in subnetwork 1 +uint16 consensus = IMetagraph(METAGRAPH_PRECOMPILE).getConsensus(1, 12); +``` + +#### `getIncentive(uint16 netuid, uint16 uid) → uint16` + +Returns the incentive score of a neuron, representing its contribution to the network. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `uint16`: Incentive score of the neuron + +**Example:** +```solidity +// Get incentive score for neuron with UID 8 in subnetwork 1 +uint16 incentive = IMetagraph(METAGRAPH_PRECOMPILE).getIncentive(1, 8); +``` + +#### `getDividends(uint16 netuid, uint16 uid) → uint16` + +Retrieves the dividends score of a neuron, indicating its reward distribution. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `uint16`: Dividends score of the neuron + +**Example:** +```solidity +// Get dividends score for neuron with UID 15 in subnetwork 1 +uint16 dividends = IMetagraph(METAGRAPH_PRECOMPILE).getDividends(1, 15); +``` + +### Validator-Specific Functions + +#### `getVtrust(uint16 netuid, uint16 uid) → uint16` + +Gets the validator trust score for a neuron, specific to validator operations. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `uint16`: Validator trust score + +**Example:** +```solidity +// Get validator trust for neuron with UID 2 in subnetwork 1 +uint16 vtrust = IMetagraph(METAGRAPH_PRECOMPILE).getVtrust(1, 2); +``` + +#### `getValidatorStatus(uint16 netuid, uint16 uid) → bool` + +Checks if a neuron has validator permit status. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `bool`: True if the neuron has validator permissions, false otherwise + +**Example:** +```solidity +// Check if neuron with UID 1 is a validator in subnetwork 1 +bool isValidator = IMetagraph(METAGRAPH_PRECOMPILE).getValidatorStatus(1, 1); +``` + +### Neuron State Information + +#### `getLastUpdate(uint16 netuid, uint16 uid) → uint64` + +Returns the block number of the last update for a neuron. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `uint64`: Block number of the last update + +**Example:** +```solidity +// Get last update block for neuron with UID 6 in subnetwork 1 +uint64 lastUpdate = IMetagraph(METAGRAPH_PRECOMPILE).getLastUpdate(1, 6); +``` + +#### `getIsActive(uint16 netuid, uint16 uid) → bool` + +Checks if a neuron is currently active in the network. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `bool`: True if the neuron is active, false otherwise + +**Example:** +```solidity +// Check if neuron with UID 9 is active in subnetwork 1 +bool isActive = IMetagraph(METAGRAPH_PRECOMPILE).getIsActive(1, 9); +``` + +### Network Connection Information + +#### `getAxon(uint16 netuid, uint16 uid) → AxonInfo` + +Retrieves the axon information for a neuron, including network connection details. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `AxonInfo`: Struct containing axon connection information + +**AxonInfo Structure:** +```solidity +struct AxonInfo { + uint64 block; // Block number when axon was registered + uint32 version; // Protocol version + uint128 ip; // IP address (IPv4 or IPv6) + uint16 port; // Port number + uint8 ip_type; // IP type (4 for IPv4, 6 for IPv6) + uint8 protocol; // Protocol type +} +``` + +**Errors:** +- Reverts with "hotkey not found" if the neuron doesn't exist + +**Example:** +```solidity +// Get axon info for neuron with UID 4 in subnetwork 1 +IMetagraph.AxonInfo memory axon = IMetagraph(METAGRAPH_PRECOMPILE).getAxon(1, 4); +uint128 ip = axon.ip; +uint16 port = axon.port; +``` + +### Key Management + +#### `getHotkey(uint16 netuid, uint16 uid) → bytes32` + +Returns the hotkey (public key) associated with a neuron. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `bytes32`: The hotkey as a 32-byte hash + +**Errors:** +- Reverts with `InvalidRange` if the UID doesn't exist + +**Example:** +```solidity +// Get hotkey for neuron with UID 11 in subnetwork 1 +bytes32 hotkey = IMetagraph(METAGRAPH_PRECOMPILE).getHotkey(1, 11); +``` + +#### `getColdkey(uint16 netuid, uint16 uid) → bytes32` + +Returns the coldkey (owner key) associated with a neuron's hotkey. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `uid` (uint16): The unique identifier of the neuron + +**Returns:** +- `bytes32`: The coldkey as a 32-byte hash + +**Errors:** +- Reverts with `InvalidRange` if the UID doesn't exist + +**Example:** +```solidity +// Get coldkey for neuron with UID 13 in subnetwork 1 +bytes32 coldkey = IMetagraph(METAGRAPH_PRECOMPILE).getColdkey(1, 13); +``` + +## Interface Definition + +Here's the complete Solidity interface for the Metagraph Precompile: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface IMetagraph { + struct AxonInfo { + uint64 block; + uint32 version; + uint128 ip; + uint16 port; + uint8 ip_type; + uint8 protocol; + } + + // Network information + function getUidCount(uint16 netuid) external view returns (uint16); + + // Financial metrics + function getStake(uint16 netuid, uint16 uid) external view returns (uint64); + function getEmission(uint16 netuid, uint16 uid) external view returns (uint64); + + // Performance metrics + function getRank(uint16 netuid, uint16 uid) external view returns (uint16); + function getTrust(uint16 netuid, uint16 uid) external view returns (uint16); + function getConsensus(uint16 netuid, uint16 uid) external view returns (uint16); + function getIncentive(uint16 netuid, uint16 uid) external view returns (uint16); + function getDividends(uint16 netuid, uint16 uid) external view returns (uint16); + + // Validator functions + function getVtrust(uint16 netuid, uint16 uid) external view returns (uint16); + function getValidatorStatus(uint16 netuid, uint16 uid) external view returns (bool); + + // State information + function getLastUpdate(uint16 netuid, uint16 uid) external view returns (uint64); + function getIsActive(uint16 netuid, uint16 uid) external view returns (bool); + + // Network connection + function getAxon(uint16 netuid, uint16 uid) external view returns (AxonInfo memory); + + // Key management + function getHotkey(uint16 netuid, uint16 uid) external view returns (bytes32); + function getColdkey(uint16 netuid, uint16 uid) external view returns (bytes32); +} +``` + +## Usage Examples + +### Basic Neuron Information Query + +```solidity +contract NeuronAnalyzer { + IMetagraph constant METAGRAPH = IMetagraph(0x0000000000000000000000000000000000000802); + + function analyzeNeuron(uint16 netuid, uint16 uid) external view returns ( + uint64 stake, + uint16 rank, + uint16 trust, + bool isActive, + bool isValidator + ) { + stake = METAGRAPH.getStake(netuid, uid); + rank = METAGRAPH.getRank(netuid, uid); + trust = METAGRAPH.getTrust(netuid, uid); + isActive = METAGRAPH.getIsActive(netuid, uid); + isValidator = METAGRAPH.getValidatorStatus(netuid, uid); + } +} +``` + +### Network Statistics + +```solidity +contract NetworkStats { + IMetagraph constant METAGRAPH = IMetagraph(0x0000000000000000000000000000000000000802); + + function getNetworkOverview(uint16 netuid) external view returns ( + uint16 totalNeurons, + uint64 totalStake, + uint16 activeNeurons + ) { + totalNeurons = METAGRAPH.getUidCount(netuid); + + for (uint16 i = 0; i < totalNeurons; i++) { + totalStake += METAGRAPH.getStake(netuid, i); + if (METAGRAPH.getIsActive(netuid, i)) { + activeNeurons++; + } + } + } +} +``` + +### Validator Tracking + +```solidity +contract ValidatorTracker { + IMetagraph constant METAGRAPH = IMetagraph(0x0000000000000000000000000000000000000802); + + function getValidators(uint16 netuid) external view returns (uint16[] memory) { + uint16 totalNeurons = METAGRAPH.getUidCount(netuid); + uint16[] memory validators = new uint16[](totalNeurons); + uint16 validatorCount = 0; + + for (uint16 i = 0; i < totalNeurons; i++) { + if (METAGRAPH.getValidatorStatus(netuid, i)) { + validators[validatorCount] = i; + validatorCount++; + } + } + + // Resize array to actual validator count + assembly { + mstore(validators, validatorCount) + } + + return validators; + } +} +``` + +## Error Handling + +The metagraph precompile can throw the following errors: + +- **InvalidRange**: Thrown when querying a UID that doesn't exist in the specified network +- **"hotkey not found"**: Thrown when trying to get axon information for a non-existent neuron + +Always handle these errors appropriately in your smart contracts: + +```solidity +contract SafeMetagraphQuery { + IMetagraph constant METAGRAPH = IMetagraph(0x0000000000000000000000000000000000000802); + + function safeGetStake(uint16 netuid, uint16 uid) external view returns (uint64, bool) { + try METAGRAPH.getStake(netuid, uid) returns (uint64 stake) { + return (stake, true); + } catch { + return (0, false); + } + } +} +``` + +## Gas Considerations + +All metagraph precompile functions are view functions that don't modify state. They have very low gas costs, typically: + +- Simple queries (rank, trust, etc.): ~2,100 gas +- Complex queries (axon info): ~3,000 gas +- Key lookups: ~2,500 gas + +This makes them suitable for frequent queries and batch operations within smart contracts. + +## Best Practices + +1. **Batch Queries**: When querying multiple neurons, consider batching operations to reduce transaction costs +2. **Cache Results**: If querying the same data multiple times, consider caching results within your contract +3. **Error Handling**: Always implement proper error handling for edge cases +4. **Network Validation**: Validate that the netuid exists before querying UIDs +5. **UID Bounds Checking**: Ensure UIDs are within the valid range (0 to getUidCount - 1) diff --git a/docs/evm-tutorials/neuron-precompile.md b/docs/evm-tutorials/neuron-precompile.md index 45f32eb730..5118f00ab0 100644 --- a/docs/evm-tutorials/neuron-precompile.md +++ b/docs/evm-tutorials/neuron-precompile.md @@ -7,4 +7,294 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Neuron Precompile -The neuron precompile allows you to interact with neuron operations on the Bittensor network through smart contracts. This precompile provides functionality for setting weights, registering neurons, and serving axons. + +This precompile enables full management of neurons (miner and validator nodes) through smart contracts, from registration to weight setting to service configuration. + +See [Understanding Neurons](../learn/neurons.md). + + +:::info +Payable functions require tokens for execution +::: + + +## Precompile Address + +The neuron precompile is available at address `0x804` (2052 in decimal). + +## Available Functions + +The neuron precompile provides the following core functions for neuron management: + +### Weight Management + +#### `setWeights` +Set weights (rankings) for miners on the subnet. See [Requirements for validation](../validators/#requirements-for-validation) + +**Function Signature:** +```solidity +function setWeights( + uint16 netuid, + uint16[] memory dests, + uint16[] memory weights, + uint64 versionKey +) external payable +``` + +**Parameters:** +- `netuid` (uint16): The subnet ID where the neuron is registered +- `dests` (uint16[]): Array of destination neuron UIDs to assign weights to +- `weights` (uint16[]): Array of weight values corresponding to each destination UID +- `versionKey` (uint64): Version key for weight compatibility and validation + +**Description:** +This function allows a neuron to set weights on other neurons in the same subnet. The weights represent how much value or trust this neuron assigns to others, which is crucial for the Bittensor consensus mechanism. + +#### `commitWeights` +Commits weights using a hash commitment scheme for privacy and security. + +**Function Signature:** +```solidity +function commitWeights( + uint16 netuid, + bytes32 commitHash +) external payable +``` + +**Parameters:** +- `netuid` (uint16): The subnet ID where the neuron is registered +- `commitHash` (bytes32): Hash commitment of the weights to be revealed later + +**Description:** +This function implements a commit-reveal scheme for setting weights. The neuron first commits a hash of their weights, then later reveals the actual weights. This prevents front-running and manipulation of the weight-setting process. + +#### `revealWeights` +Reveals previously committed weights by providing the original data that produces the committed hash. + +**Function Signature:** +```solidity +function revealWeights( + uint16 netuid, + uint16[] memory uids, + uint16[] memory values, + uint16[] memory salt, + uint64 versionKey +) external payable +``` + +**Parameters:** +- `netuid` (uint16): The subnet ID where the neuron is registered +- `uids` (uint16[]): Array of neuron UIDs that weights are being set for +- `values` (uint16[]): Array of weight values for each corresponding UID +- `salt` (uint16[]): Salt values used in the original hash commitment +- `versionKey` (uint64): Version key for weight compatibility + +**Description:** +This function completes the commit-reveal process by revealing the actual weights that were previously committed. The provided data must hash to the previously committed hash for the transaction to succeed. + +### Neuron Registration + +Neuron registration is the process of joining a subnet and becoming part of the neural network structure described in [Understanding Neurons](../learn/neurons.md). + +#### `burnedRegister` +Registers a neuron in a subnet by burning TAO tokens. + +**Function Signature:** +```solidity +function burnedRegister( + uint16 netuid, + bytes32 hotkey +) external payable +``` + +**Parameters:** +- `netuid` (uint16): The subnet ID to register the neuron in +- `hotkey` (bytes32): The hotkey public key (32 bytes) of the neuron to register + +**Description:** +This function registers a new neuron in the specified subnet by burning a certain amount of TAO tokens. The amount burned depends on the current network conditions and subnet parameters. The hotkey represents the neuron's identity on the network. + +### Axon Services + +#### `serveAxon` +Configures and serves an axon endpoint for the neuron. + +**Function Signature:** +```solidity +function serveAxon( + uint16 netuid, + uint32 version, + uint128 ip, + uint16 port, + uint8 ipType, + uint8 protocol, + uint8 placeholder1, + uint8 placeholder2 +) external payable +``` + +**Parameters:** +- `netuid` (uint16): The subnet ID where the neuron is serving +- `version` (uint32): Version of the axon service +- `ip` (uint128): IP address of the axon service (supports both IPv4 and IPv6) +- `port` (uint16): Port number where the axon is listening +- `ipType` (uint8): Type of IP address (4 for IPv4, 6 for IPv6) +- `protocol` (uint8): Network protocol identifier +- `placeholder1` (uint8): Reserved for future use +- `placeholder2` (uint8): Reserved for future use + +**Description:** +This function allows a neuron to announce its axon service endpoint to the network. An axon is the service interface that other neurons can connect to for communication and inference requests using the dendrite-axon protocol. + +#### `serveAxonTls` +Configures and serves an axon endpoint with TLS/SSL security. + +**Function Signature:** +```solidity +function serveAxonTls( + uint16 netuid, + uint32 version, + uint128 ip, + uint16 port, + uint8 ipType, + uint8 protocol, + uint8 placeholder1, + uint8 placeholder2, + bytes memory certificate +) external payable +``` + +**Parameters:** +- `netuid` (uint16): The subnet ID where the neuron is serving +- `version` (uint32): Version of the axon service +- `ip` (uint128): IP address of the axon service +- `port` (uint16): Port number where the axon is listening +- `ipType` (uint8): Type of IP address (4 for IPv4, 6 for IPv6) +- `protocol` (uint8): Network protocol identifier +- `placeholder1` (uint8): Reserved for future use +- `placeholder2` (uint8): Reserved for future use +- `certificate` (bytes): TLS/SSL certificate data for secure connections + +**Description:** +Similar to `serveAxon`, but includes TLS certificate information for secure encrypted communication. This is recommended for production environments where data privacy and security are important. + +#### `servePrometheus` +Configures a Prometheus metrics endpoint for the neuron. + +**Function Signature:** +```solidity +function servePrometheus( + uint16 netuid, + uint32 version, + uint128 ip, + uint16 port, + uint8 ipType +) external payable +``` + +**Parameters:** +- `netuid` (uint16): The subnet ID where the neuron is serving +- `version` (uint32): Version of the Prometheus service +- `ip` (uint128): IP address where Prometheus metrics are served +- `port` (uint16): Port number for the Prometheus endpoint +- `ipType` (uint8): Type of IP address (4 for IPv4, 6 for IPv6) + +**Description:** +This function allows a neuron to expose a Prometheus metrics endpoint for monitoring and observability. Prometheus metrics can include performance data, request counts, and other operational metrics. + +## Usage Examples + +### Setting Weights Example + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface INeuron { + function setWeights( + uint16 netuid, + uint16[] memory dests, + uint16[] memory weights, + uint64 versionKey + ) external payable; +} + +contract WeightSetter { + address constant NEURON_PRECOMPILE = 0x0000000000000000000000000000000000000804; + + function setMyWeights() external { + uint16 netuid = 1; // Subnet ID + uint16[] memory dests = new uint16[](3); + dests[0] = 0; // UID 0 + dests[1] = 1; // UID 1 + dests[2] = 2; // UID 2 + + uint16[] memory weights = new uint16[](3); + weights[0] = 100; // Weight for UID 0 + weights[1] = 200; // Weight for UID 1 + weights[2] = 150; // Weight for UID 2 + + uint64 versionKey = 1; + + INeuron(NEURON_PRECOMPILE).setWeights(netuid, dests, weights, versionKey); + } +} +``` + +### Registering a Neuron Example + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface INeuron { + function burnedRegister(uint16 netuid, bytes32 hotkey) external payable; +} + +contract NeuronRegistrar { + address constant NEURON_PRECOMPILE = 0x0000000000000000000000000000000000000804; + + function registerNeuron(uint16 subnetId, bytes32 hotkeyPubkey) external payable { + INeuron(NEURON_PRECOMPILE).burnedRegister{value: msg.value}(subnetId, hotkeyPubkey); + } +} +``` + +### Serving an Axon Example + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface INeuron { + function serveAxon( + uint16 netuid, + uint32 version, + uint128 ip, + uint16 port, + uint8 ipType, + uint8 protocol, + uint8 placeholder1, + uint8 placeholder2 + ) external payable; +} + +contract AxonService { + address constant NEURON_PRECOMPILE = 0x0000000000000000000000000000000000000804; + + function startAxonService() external { + uint16 netuid = 1; + uint32 version = 1; + uint128 ip = uint128(0x7f000001); // 127.0.0.1 in hex + uint16 port = 8080; + uint8 ipType = 4; // IPv4 + uint8 protocol = 1; + uint8 placeholder1 = 0; + uint8 placeholder2 = 0; + + INeuron(NEURON_PRECOMPILE).serveAxon( + netuid, version, ip, port, ipType, protocol, placeholder1, placeholder2 + ); + } +} +``` diff --git a/docs/evm-tutorials/subnet-precompile.md b/docs/evm-tutorials/subnet-precompile.md index 53682ff99f..14ca336d32 100644 --- a/docs/evm-tutorials/subnet-precompile.md +++ b/docs/evm-tutorials/subnet-precompile.md @@ -13,6 +13,540 @@ The subnet precompile allows you to interact with subnet operations on the Bitte The subnet precompile is available at address `0x803` (2051 in decimal). +## Available Functions + +The subnet precompile provides comprehensive functionality for subnet management and configuration. All functions are categorized below: + +### Network Registration + +#### `registerNetwork` +Registers a new subnet without additional identity information. + +**Parameters:** +- `hotkey` (bytes32): The hotkey (32 bytes) that will own the network + +**Returns:** +- None (payable function) + +**Description:** +Registers a new subnet on the Bittensor network. The caller becomes the subnet owner and can manage subnet parameters. + +#### `registerNetworkWithIdentity` +Registers a new subnet with detailed identity information. + +**Parameters:** +- `hotkey` (bytes32): The hotkey that will own the network +- `subnetName` (string): Name of the subnet (max 256 chars) +- `githubRepo` (string): GitHub repository URL (max 1024 chars) +- `subnetContact` (string): Contact information (max 1024 chars) +- `subnetUrl` (string): Subnet website URL (max 1024 chars) +- `discord` (string): Discord server invite (max 256 chars) +- `description` (string): Subnet description (max 1024 chars) +- `additional` (string): Additional information (max 1024 chars) + +**Returns:** +- None (payable function) + +**Description:** +Registers a new subnet with comprehensive identity metadata that helps users understand the subnet's purpose and how to interact with it. + +### Rate Limiting + +#### `getServingRateLimit` +Gets the serving rate limit for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint64`: The serving rate limit value + +#### `setServingRateLimit` +Sets the serving rate limit for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `servingRateLimit` (uint64): The new serving rate limit value + +**Returns:** +- None (payable function) + +### Difficulty Management + +#### `getMinDifficulty` +Gets the minimum difficulty for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint64`: The minimum difficulty value + +#### `setMinDifficulty` +Sets the minimum difficulty for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `minDifficulty` (uint64): The new minimum difficulty value + +**Returns:** +- None (payable function) + +#### `getMaxDifficulty` +Gets the maximum difficulty for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint64`: The maximum difficulty value + +#### `setMaxDifficulty` +Sets the maximum difficulty for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `maxDifficulty` (uint64): The new maximum difficulty value + +**Returns:** +- None (payable function) + +#### `getDifficulty` +Gets the current difficulty for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint64`: The current difficulty value + +#### `setDifficulty` +Sets the current difficulty for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `difficulty` (uint64): The new difficulty value + +**Returns:** +- None (payable function) + +### Weight Management + +#### `getWeightsVersionKey` +Gets the weights version key for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint64`: The weights version key value + +#### `setWeightsVersionKey` +Sets the weights version key for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `weightsVersionKey` (uint64): The new weights version key value + +**Returns:** +- None (payable function) + +#### `getWeightsSetRateLimit` +Gets the weights set rate limit for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint64`: The weights set rate limit value + +#### `setWeightsSetRateLimit` ⚠️ **DEPRECATED** +Sets the weights set rate limit for a subnet. **This function is deprecated. Subnet owners cannot set weight setting rate limits.** + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `weightsSetRateLimit` (uint64): The weights set rate limit value (ignored) + +**Returns:** +- None (payable function) + +**Description:** +This function still exists for backward compatibility but performs no operation and returns successfully. + +#### `getMaxWeightLimit` +Gets the maximum weight limit for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint16`: The maximum weight limit value + +#### `setMaxWeightLimit` +Sets the maximum weight limit for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `maxWeightLimit` (uint16): The new maximum weight limit value + +**Returns:** +- None (payable function) + +#### `getMinAllowedWeights` +Gets the minimum allowed weights for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint16`: The minimum allowed weights value + +#### `setMinAllowedWeights` +Sets the minimum allowed weights for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `minAllowedWeights` (uint16): The new minimum allowed weights value + +**Returns:** +- None (payable function) + +### Consensus Parameters + +#### `getAdjustmentAlpha` +Gets the adjustment alpha parameter for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint64`: The adjustment alpha value + +#### `setAdjustmentAlpha` +Sets the adjustment alpha parameter for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `adjustmentAlpha` (uint64): The new adjustment alpha value + +**Returns:** +- None (payable function) + +#### `getKappa` +Gets the kappa parameter for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint16`: The kappa value + +#### `setKappa` +Sets the kappa parameter for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `kappa` (uint16): The new kappa value + +**Returns:** +- None (payable function) + +#### `getRho` +Gets the rho parameter for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint16`: The rho value + +#### `setRho` +Sets the rho parameter for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `rho` (uint16): The new rho value + +**Returns:** +- None (payable function) + +#### `getAlphaSigmoidSteepness` +Gets the alpha sigmoid steepness parameter for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint16`: The alpha sigmoid steepness value + +#### `setAlphaSigmoidSteepness` +Sets the alpha sigmoid steepness parameter for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `steepness` (uint16): The new alpha sigmoid steepness value + +**Returns:** +- None (payable function) + +#### `getAlphaValues` +Gets the alpha low and high values for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint16`: The alpha low value +- `uint16`: The alpha high value + +#### `setAlphaValues` +Sets the alpha low and high values for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `alphaLow` (uint16): The new alpha low value +- `alphaHigh` (uint16): The new alpha high value + +**Returns:** +- None (payable function) + +### Network Activity + +#### `getImmunityPeriod` +Gets the immunity period for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint16`: The immunity period value + +#### `setImmunityPeriod` +Sets the immunity period for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `immunityPeriod` (uint16): The new immunity period value + +**Returns:** +- None (payable function) + +#### `getActivityCutoff` +Gets the activity cutoff for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint16`: The activity cutoff value + +#### `setActivityCutoff` +Sets the activity cutoff for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `activityCutoff` (uint16): The new activity cutoff value + +**Returns:** +- None (payable function) + +### Registration Control + +#### `getNetworkRegistrationAllowed` +Gets whether network registration is allowed for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `bool`: Whether network registration is allowed + +#### `setNetworkRegistrationAllowed` +Sets whether network registration is allowed for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `registrationAllowed` (bool): Whether to allow network registration + +**Returns:** +- None (payable function) + +#### `getNetworkPowRegistrationAllowed` +Gets whether PoW registration is allowed for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `bool`: Whether PoW registration is allowed + +#### `setNetworkPowRegistrationAllowed` +Sets whether PoW registration is allowed for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `registrationAllowed` (bool): Whether to allow PoW registration + +**Returns:** +- None (payable function) + +### Burn Management + +#### `getMinBurn` +Gets the minimum burn amount for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint64`: The minimum burn amount + +#### `setMinBurn` ⚠️ **DEPRECATED** +Sets the minimum burn amount for a subnet. **This function is deprecated. Subnet owners cannot set the minimum burn anymore.** + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `minBurn` (uint64): The minimum burn amount (ignored) + +**Returns:** +- None (payable function) + +**Description:** +This function still exists for backward compatibility but performs no operation and returns successfully. + +#### `getMaxBurn` +Gets the maximum burn amount for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint64`: The maximum burn amount + +#### `setMaxBurn` ⚠️ **DEPRECATED** +Sets the maximum burn amount for a subnet. **This function is deprecated. Subnet owners cannot set the maximum burn anymore.** + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `maxBurn` (uint64): The maximum burn amount (ignored) + +**Returns:** +- None (payable function) + +**Description:** +This function still exists for backward compatibility but performs no operation and returns successfully. + +### Bonds and Moving Averages + +#### `getBondsMovingAverage` +Gets the bonds moving average for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint64`: The bonds moving average value + +#### `setBondsMovingAverage` +Sets the bonds moving average for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `bondsMovingAverage` (uint64): The new bonds moving average value + +**Returns:** +- None (payable function) + +### Feature Toggles + +#### `getCommitRevealWeightsEnabled` +Gets whether commit-reveal weights are enabled for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `bool`: Whether commit-reveal weights are enabled + +#### `setCommitRevealWeightsEnabled` +Sets whether commit-reveal weights are enabled for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `enabled` (bool): Whether to enable commit-reveal weights + +**Returns:** +- None (payable function) + +#### `getCommitRevealWeightsInterval` +Gets the commit-reveal weights interval for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `uint64`: The commit-reveal weights interval value + +#### `setCommitRevealWeightsInterval` +Sets the commit-reveal weights interval for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `interval` (uint64): The new commit-reveal weights interval value + +**Returns:** +- None (payable function) + +#### `getLiquidAlphaEnabled` +Gets whether liquid alpha is enabled for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `bool`: Whether liquid alpha is enabled + +#### `setLiquidAlphaEnabled` +Sets whether liquid alpha is enabled for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `enabled` (bool): Whether to enable liquid alpha + +**Returns:** +- None (payable function) + +#### `getYuma3Enabled` +Gets whether Yuma3 consensus is enabled for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID + +**Returns:** +- `bool`: Whether Yuma3 consensus is enabled + +#### `setYuma3Enabled` +Sets whether Yuma3 consensus is enabled for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `enabled` (bool): Whether to enable Yuma3 consensus + +**Returns:** +- None (payable function) + +### Transfer Control + +#### `toggleTransfers` +Toggles transfers on/off for a subnet. + +**Parameters:** +- `netuid` (uint16): The subnetwork ID +- `toggle` (bool): Whether to enable or disable transfers + +**Returns:** +- None (payable function) + ## Example Scripts ### Javascript @@ -196,7 +730,7 @@ const subnet_contract_abi = [ // compile with evm version 0.8.3 const subnet_contract_bytecode = - "0x608060405234801561001057600080fd5b50604051610e6d380380610e6d8339818101604052810190610032919061015c565b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561006d57600080fd5b61007c8161008360201b60201c565b50506101ce565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050610156816101b7565b92915050565b60006020828403121561016e57600080fd5b600061017c84828501610147565b91505092915050565b600061019082610197565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6101c081610185565b81146101cb57600080fd5b50565b610c90806101dd6000396000f3fe6080604052600436106100555760003560e01c8063290212c11461005a578063715018a614610076578063786fede51461008d57806378b63cb6146100ca5780638da5cb5b146100e6578063f2fde38b14610111575b600080fd5b610074600480360381019061006f919061077b565b61013a565b005b34801561008257600080fd5b5061008b610279565b005b34801561009957600080fd5b506100b460048036038101906100af9190610812565b61028d565b6040516100c19190610a3c565b60405180910390f35b6100e460048036038101906100df919061083b565b6103df565b005b3480156100f257600080fd5b506100fb61051a565b6040516101089190610971565b60405180910390f35b34801561011d57600080fd5b5061013860048036038101906101339190610752565b610543565b005b610142610591565b60006108039050600061080373ffffffffffffffffffffffffffffffffffffffff163463290212c160e01b8787876040516024016101829392919061098c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516101ec919061095a565b60006040518083038185875af1925050503d8060008114610229576040519150601f19603f3d011682016040523d82523d6000602084013e61022e565b606091505b5050905080610272576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610269906109d8565b60405180910390fd5b5050505050565b610281610591565b61028b60006105d2565b565b600080610803905060008061080373ffffffffffffffffffffffffffffffffffffffff16637444dadc60e01b866040516024016102ca91906109f8565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610334919061095a565b6000604051808303816000865af19150503d8060008114610371576040519150601f19603f3d011682016040523d82523d6000602084013e610376565b606091505b5091509150816103bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b2906109d8565b60405180910390fd5b6000818060200190518101906103d19190610877565b905080945050505050919050565b6103e7610591565b60006108039050600061080373ffffffffffffffffffffffffffffffffffffffff1663b38e0bbe60e01b8585604051602401610424929190610a13565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161048e919061095a565b6000604051808303816000865af19150503d80600081146104cb576040519150601f19603f3d011682016040523d82523d6000602084013e6104d0565b606091505b5050905080610514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050b906109d8565b60405180910390fd5b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61054b610591565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561058557600080fd5b61058e816105d2565b50565b3373ffffffffffffffffffffffffffffffffffffffff166105b061051a565b73ffffffffffffffffffffffffffffffffffffffff16146105d057600080fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006106a96106a484610a7c565b610a57565b9050828152602081018484840111156106c157600080fd5b6106cc848285610b39565b509392505050565b6000813590506106e381610c15565b92915050565b600082601f8301126106fa57600080fd5b813561070a848260208601610696565b91505092915050565b60008135905061072281610c2c565b92915050565b60008135905061073781610c43565b92915050565b60008151905061074c81610c43565b92915050565b60006020828403121561076457600080fd5b6000610772848285016106d4565b91505092915050565b60008060006060848603121561079057600080fd5b600084013567ffffffffffffffff8111156107aa57600080fd5b6107b6868287016106e9565b935050602084013567ffffffffffffffff8111156107d357600080fd5b6107df868287016106e9565b925050604084013567ffffffffffffffff8111156107fc57600080fd5b610808868287016106e9565b9150509250925092565b60006020828403121561082457600080fd5b600061083284828501610713565b91505092915050565b6000806040838503121561084e57600080fd5b600061085c85828601610713565b925050602061086d85828601610728565b9150509250929050565b60006020828403121561088957600080fd5b60006108978482850161073d565b91505092915050565b6108a981610ae5565b82525050565b60006108ba82610aad565b6108c48185610ab8565b93506108d4818560208601610b48565b6108dd81610bdb565b840191505092915050565b60006108f382610aad565b6108fd8185610ac9565b935061090d818560208601610b48565b80840191505092915050565b6000610926601283610ad4565b915061093182610bec565b602082019050919050565b61094581610af7565b82525050565b61095481610b25565b82525050565b600061096682846108e8565b915081905092915050565b600060208201905061098660008301846108a0565b92915050565b600060608201905081810360008301526109a681866108af565b905081810360208301526109ba81856108af565b905081810360408301526109ce81846108af565b9050949350505050565b600060208201905081810360008301526109f181610919565b9050919050565b6000602082019050610a0d600083018461093c565b92915050565b6000604082019050610a28600083018561093c565b610a35602083018461094b565b9392505050565b6000602082019050610a51600083018461094b565b92915050565b6000610a61610a72565b9050610a6d8282610b7b565b919050565b6000604051905090565b600067ffffffffffffffff821115610a9757610a96610bac565b5b610aa082610bdb565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610af082610b05565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b83811015610b66578082015181840152602081019050610b4b565b83811115610b75576000848401525b50505050565b610b8482610bdb565b810181811067ffffffffffffffff82111715610ba357610ba2610bac565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f5375626e65742063616c6c206661696c65640000000000000000000000000000600082015250565b610c1e81610ae5565b8114610c2957600080fd5b50565b610c3581610af7565b8114610c4057600080fd5b50565b610c4c81610b25565b8114610c5757600080fd5b5056fea26469706673582212200e657685be0d4a155c28ec7471273753d1c625c562f268b2efdf0a8b2c7e4dbe64736f6c63430008030033"; + "0x608060405234801561001057600080fd5b50604051610e6d380380610e6d8339818101604052810190610032919061015c565b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561006d57600080fd5b61007c8161008360201b60201c565b50506101ce565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050610156816101b7565b92915050565b60006020828403121561016e57600080fd5b600061017c84828501610147565b91505092915050565b600061019082610197565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6101c081610185565b81146101cb57600080fd5b50565b610c90806101dd6000396000f3fe6080604052600436106100555760003560e01c8063290212c11461005a578063715018a614610076578063786fede51461008d57806378b63cb6146100ca5780638da5cb5b146100e6578063f2fde38b14610111575b600080fd5b610074600480360381019061006f919061077b565b61013a565b005b34801561008257600080fd5b5061008b610279565b005b34801561009957600080fd5b506100b460048036038101906100af9190610812565b61028d565b6040516100c19190610a3c565b60405180910390f35b6100e460048036038101906100df919061083b565b6103df565b005b3480156100f257600080fd5b506100fb61051a565b6040516101089190610971565b60405180910390f35b34801561011d57600080fd5b5061013860048036038101906101339190610752565b610543565b005b610142610591565b60006108039050600061080373ffffffffffffffffffffffffffffffffffffffff163463290212c160e01b8787876040516024016101829392919061098c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516101ec919061095a565b60006040518083038185875af1925050503d8060008114610229576040519150601f19603f3d011682016040523d82523d6000602084013e61022e565b606091505b5050905080610272576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610269906109d8565b60405180910390fd5b5050505050565b610281610591565b61028b60006105d2565b565b600080610803905060008061080373ffffffffffffffffffffffffffffffffffffffff16637444dadc60e01b866040516024016102ca91906109f8565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610334919061095a565b6000604051808303816000865af19150503d8060008114610371576040519150601f19603f3d011682016040523d82523d6000602084013e610376565b606091505b5091509150816103bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b2906109d8565b60405180910390fd5b6000818060200190518101906103d19190610877565b9050809450505050919050565b6103e7610591565b60006108039050600061080373ffffffffffffffffffffffffffffffffffffffff1663b38e0bbe60e01b8585604051602401610424929190610a13565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161048e919061095a565b6000604051808303816000865af19150503d80600081146104cb576040519150601f19603f3d011682016040523d82523d6000602084013e6104d0565b606091505b5050905080610514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050b906109d8565b60405180910390fd5b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61054b610591565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561058557600080fd5b61058e816105d2565b50565b3373ffffffffffffffffffffffffffffffffffffffff166105b061051a56b73ffffffffffffffffffffffffffffffffffffffff16146105d057600080fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006106a96106a484610a7c565b610a57565b9050828152602081018484840111156106c157600080fd5b6106cc848285610b39565b509392505050565b6000813590506106e381610c15565b92915050565b600082601f8301126106fa57600080fd5b813561070a848260208601610696565b91505092915050565b60008135905061072281610c2c565b92915050565b60008135905061073781610c43565b92915050565b60008151905061074c81610c43565b92915050565b60006020828403121561076457600080fd5b6000610772848285016106d4565b91505092915050565b60008060006060848603121561079057600080fd5b600084013567ffffffffffffffff8111156107aa57600080fd5b6107b6868287016106e9565b935050602084013567ffffffffffffffff8111156107d357600080fd5b6107df868287016106e9565b925050604084013567ffffffffffffffff8111156107fc57600080fd5b610808868287016106e9565b9150509250925092565b60006020828403121561082457600080fd5b600061083284828501610713565b91505092915050565b6000806040838503121561084e57600080fd5b600061085c85828601610713565b925050602061086d85828601610728565b9150509250929050565b60006020828403121561088957600080fd5b60006108978482850161073d565b91505092915050565b6108a981610ae5565b82525050565b60006108ba82610aad565b6108c48185610ab8565b93506108d4818560208601610b48565b6108dd81610bdb565b840191505092915050565b60006108f382610aad565b6108fd8185610ac9565b935061090d818560208601610b48565b80840191505092915050565b6000610926601283610ad4565b915061093182610bec565b602082019050919050565b61094581610af7565b82525050565b61095481610b25565b82525050565b600061096682846108e8565b915081905092915050565b600060208201905061098660008301846108a0565b92915050565b600060608201905081810360008301526109a681866108af565b905081810360208301526109ba81856108af565b905081810360408301526109ce81846108af565b9050949350505050565b60006020820190506109f181610919565b9050919050565b6000602082019050610a0d600083018461093c565b92915050565b6000604082019050610a28600083018561093c565b610a35602083018461094b565b9392505050565b6000602082019050610a51600083018461094b565b92915050565b6000610a61610a72565b9050610a6d8282610b7b565b919050565b6000604051905090565b600067ffffffffffffffff821115610a9757610a96610bac565b5b610aa082610bdb565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610af082610b05565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b83811015610b66578082015181840152602081019050610b4b565b83811115610b75576000848401525b50505050565b610b8482610bdb565b810181811067ffffffffffffffff82111715610ba357610ba2610bac565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f5375626e65742063616c6c206661696c65640000000000000000000000000000600082015250565b610c1e81610ae5565b8114610c2957600080fd5b50565b610c3581610af7565b8114610c4057600080fd5b50565b610c4c81610b25565b8114610c5757600080fd5b5056fea26469706673582212200e657685be0d4a155c28ec7471273753d1c625c562f268b2efdf0a8b2c7e4dbe64736f6c63430008030033"; // Create a signer const privateKey = ethPrivateKey; // DO NOT HARDCODE YOUR PRIVATE KEY IN PRODUCTION @@ -278,6 +812,8 @@ async function createSubnetGetSetParameter() { ).toHuman(); console.log("networkOwner is ", networkOwner); + // Note: This example uses setHyperParameter which calls setServingRateLimit + // Some other functions like setMinBurn, setMaxBurn, setWeightsSetRateLimit are deprecated tx = await subnet_contract.setHyperParameter(netuid, 255); await tx.wait(); @@ -305,7 +841,7 @@ async function createSubnetGetSetParameter() { } async function main() { - await createSubnetCheckEmission(); + await createSubnetGetSetParameter(); } main().catch(console.error); diff --git a/docs/learn/anatomy-of-incentive-mechanism.md b/docs/learn/anatomy-of-incentive-mechanism.md index 039d3a83eb..70e3e3ff10 100644 --- a/docs/learn/anatomy-of-incentive-mechanism.md +++ b/docs/learn/anatomy-of-incentive-mechanism.md @@ -6,7 +6,7 @@ title: "Understanding Incentive Mechanisms" This page explores the concept and usage of incentive mechanisms in Bittensor. -See [Components of the Bittensor platform](../learn/bittensor-building-blocks) for an explanation of the basics, such as subnets, miners, validators, and the role of the blockchain. +See [Components of the Bittensor platform](../learn/neurons) for an explanation of the basics, such as subnets, miners, validators, and the role of the blockchain. Each subnet has its own *incentive mechanism*, a scoring model that drives the behavior of its participants, and the production of the subnet's digital commodity, by defining **how validators are to evaluate miners’ work**. Miners are incentivized to optimize for this model so validators will score (or 'weight') their work highly, resulting in higher emissions. Validators are incentivized to accurately score miners' work according to the model because the algorithm penalizes departure from consensus in miner scores with lower emissions. @@ -63,7 +63,7 @@ A subnet incentive mechanism must provide the following: A subnet creator must define a protocol for how validators are to query miners, and how miners should respond. Protocols are built using the Axon-Dendrite client-server model and Synapse data objects. -See [Neuron to neuron communication](./bittensor-building-blocks.md#neuron-to-neuron-communication). +See [Neuron to neuron communication](./neurons.md#neuron-to-neuron-communication). ### Subnet task diff --git a/docs/learn/bittensor-building-blocks.md b/docs/learn/neurons.md similarity index 100% rename from docs/learn/bittensor-building-blocks.md rename to docs/learn/neurons.md diff --git a/docs/subnets/walkthrough-prompting.md b/docs/subnets/walkthrough-prompting.md index c0e7ff8b2a..da6d2cd26d 100644 --- a/docs/subnets/walkthrough-prompting.md +++ b/docs/subnets/walkthrough-prompting.md @@ -25,7 +25,7 @@ You can see the prompting subnet in action on the [TAO.app explorer (select Subn If you are new to Bittensor subnets and building blocks, read the following sections before you proceed further: -- [Bittensor Building Blocks](../learn/bittensor-building-blocks). +- [Bittensor Building Blocks](../learn/neurons). - [Anatomy of Incentive Mechanism](../learn/anatomy-of-incentive-mechanism). The below diagram shows a typical subnet with many subnet miners and subnet validators together executing the subnet incentive mechanism code. On the [TAO.app explorer (select Subnet 01: Text Prompting from the top menu)](https://tao.app) the **Metagraph** view for this Subnet 1: Prompting shows the performance details for each subnet miner and validator. diff --git a/docs/tutorials/ocr-subnet-tutorial.md b/docs/tutorials/ocr-subnet-tutorial.md index 5402367b9c..f946955eb6 100644 --- a/docs/tutorials/ocr-subnet-tutorial.md +++ b/docs/tutorials/ocr-subnet-tutorial.md @@ -53,7 +53,7 @@ For the rest of this tutorial we will proceed by demonstrating which blocks of P If you are new to Bittensor, read the following sections before you proceed: 1. [Introduction](../learn/introduction.md) that describes how subnets form the heartbeat of the Bittensor network. -2. [Bittensor Building Blocks](../learn/bittensor-building-blocks.md) that presents the basic building blocks you use to develop your subnet incentive mechanism. +2. [Bittensor Building Blocks](../learn/neurons.md) that presents the basic building blocks you use to develop your subnet incentive mechanism. 3. [Anatomy of Incentive Mechanism](../learn/anatomy-of-incentive-mechanism.md) that introduces the general concept of a subnet incentive mechanism. ## OCR subnet summary @@ -218,7 +218,7 @@ See the `OCRSynapse` class definition in [**ocr_subnet/protocol.py**](https://gi ``` :::tip Study tip -See [Neuron-to-neuron communication](../learn/bittensor-building-blocks.md#neuron-to-neuron-communication). +See [Neuron-to-neuron communication](../learn/neurons.md#neuron-to-neuron-communication). ::: #### Send OCRSynapse to miners diff --git a/sidebars.js b/sidebars.js index dc4c24ac0d..c85c411612 100644 --- a/sidebars.js +++ b/sidebars.js @@ -37,7 +37,7 @@ const sidebars = { "learn/introduction", "questions-and-answers", "subnets/understanding-subnets", - "learn/bittensor-building-blocks", + "learn/neurons", "learn/anatomy-of-incentive-mechanism", "emissions", "yuma-consensus", From 625fc89c7175090197813e899cc48d552ebde26f Mon Sep 17 00:00:00 2001 From: michael trestman Date: Fri, 30 May 2025 08:00:19 -0700 Subject: [PATCH 034/303] wip --- docs/evm-tutorials/_create-mm-wallet.mdx | 2 +- docs/evm-tutorials/_install.mdx | 6 +---- docs/evm-tutorials/convert-h160-to-ss58.md | 26 +++++++--------------- 3 files changed, 10 insertions(+), 24 deletions(-) diff --git a/docs/evm-tutorials/_create-mm-wallet.mdx b/docs/evm-tutorials/_create-mm-wallet.mdx index 155859bb5b..ff9d13a921 100644 --- a/docs/evm-tutorials/_create-mm-wallet.mdx +++ b/docs/evm-tutorials/_create-mm-wallet.mdx @@ -2,7 +2,7 @@ import React from 'react'; export const CreatePartial = () => ( <> -

Create Wallet with MetaMask

+

Create Wallet with MetaMask

  1. Install MetaMask browser extension if you haven't already.
  2. diff --git a/docs/evm-tutorials/_install.mdx b/docs/evm-tutorials/_install.mdx index 2a39b30927..e8dbe0d8d8 100644 --- a/docs/evm-tutorials/_install.mdx +++ b/docs/evm-tutorials/_install.mdx @@ -1,10 +1,6 @@ export const InstallPartial = () => ( <> -

    Install the EVM Examples repo

    -

    - Before you can run any EVM tutorials, you must install the dependencies. Follow the below steps: -

    - +

    Install the EVM Examples repo

    1. Clone the Opentensor EVM-Bittensor GitHub repo: diff --git a/docs/evm-tutorials/convert-h160-to-ss58.md b/docs/evm-tutorials/convert-h160-to-ss58.md index e7cf51d02f..2e3f151e97 100644 --- a/docs/evm-tutorials/convert-h160-to-ss58.md +++ b/docs/evm-tutorials/convert-h160-to-ss58.md @@ -4,48 +4,38 @@ title: "Convert Ethereum (H160) Address to Substrate (SS58)" import { InstallPartial } from "./_install.mdx"; import { CreatePartial } from "./_create-mm-wallet.mdx"; - # Convert Ethereum (H160) Address to Substrate (SS58) This tutorial demonstrates how to convert between Ethereum (H160) and Substrate (SS58) addresses in the Bittensor EVM environment. When working with Bittensor's EVM implementation, you may need to convert between Ethereum-style addresses (H160) and Substrate-style addresses (SS58). This is particularly useful when interacting with both EVM and native Substrate functionality. -This conversion is particularly useful when: -- Interacting with both EVM and native Substrate contracts -- Managing accounts that need to work across both environments -- Verifying addresses across different address formats -- Integrating EVM-based applications with native Bittensor functionality - ## Procedure - ## Set your config - ### Convert Address for Bittensor + +Run the conversion script, replacing `ethereumAddress` with your address: -Run the conversion script with your MetaMask address: ```bash node convert-address.js ``` -Note down the SS58 address output by the script - this is your Bittensor address +Note down the SS58 address output by the script - this is your wallet's coldkey public key, your address on any Bittensor network. -### 3. Transfer TAO to EVM Wallet +### Transfer TAO to EVM Wallet + +Use `btcli` to transfer TAO to your SS58 address. Here we will use test network. -1. Use `btcli` to transfer TAO to your SS58 address: ```bash - btcli root transfer --amount 1.0 --dest + btcli wallet transfer --destination --network test ``` - -2. Wait for the transfer to complete (usually takes a few blocks) - -### 4. Verify Balance in MetaMask +### Verify Balance in MetaMask 1. Open MetaMask 2. Ensure you're connected to the Bittensor EVM network From e8b7722992f70f3f5d90512799f74053b5f71cf7 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Fri, 30 May 2025 08:05:48 -0700 Subject: [PATCH 035/303] wip --- docs/evm-tutorials/subnet-precompile.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/evm-tutorials/subnet-precompile.md b/docs/evm-tutorials/subnet-precompile.md index 14ca336d32..90df123f4a 100644 --- a/docs/evm-tutorials/subnet-precompile.md +++ b/docs/evm-tutorials/subnet-precompile.md @@ -7,7 +7,11 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Subnet Precompile -The subnet precompile allows you to interact with subnet operations on the Bittensor network through smart contracts. This precompile provides functionality for registering networks, managing network parameters, and querying network state. +The subnet precompile allows you to interact with subnet operations on the Bittensor network through smart contracts, including functionality for registering networks, managing network parameters, and querying network state. + +This page: +- described the precompile's [available functions](#available-functions) on the precompile +- demonstrates the precompile's usage with [example scripts](#example-script). ## Precompile Address From 85513d0fdc7685f4ad44e4f36aa84c4468238934 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Fri, 30 May 2025 12:08:04 -0700 Subject: [PATCH 036/303] wip --- docs/evm-tutorials/subnet-precompile.md | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/docs/evm-tutorials/subnet-precompile.md b/docs/evm-tutorials/subnet-precompile.md index 90df123f4a..d98f064304 100644 --- a/docs/evm-tutorials/subnet-precompile.md +++ b/docs/evm-tutorials/subnet-precompile.md @@ -7,16 +7,33 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Subnet Precompile -The subnet precompile allows you to interact with subnet operations on the Bittensor network through smart contracts, including functionality for registering networks, managing network parameters, and querying network state. +This precompile allows you to interact with Bittensor subnets through EVM smart contracts, affording functionality for registering networks, viewing and setting network parameters, and querying network state. This page: - described the precompile's [available functions](#available-functions) on the precompile - demonstrates the precompile's usage with [example scripts](#example-script). -## Precompile Address + The subnet precompile is available at address `0x803` (2051 in decimal). +View the [source on GitHub](https://github.com/opentensor/subtensor/blob/main/precompiles/src/subnet.rs) + + + + +:::info permissions +Subnet operations have distinct requirements! + +- Creating a subnet, i.e. [`registerNetwork`,](#registernetwork) requires a coldkey with sufficient TAO to cover the current burn cost. + + See [burn cost for subnet creation](./docs/local-build/create-subnet#burn-cost). + +- Setting subnet hyperparameters requires the private key for the coldkey that owns the subnet (the one that created it, unless this has been transferred). + +::: + + ## Available Functions The subnet precompile provides comprehensive functionality for subnet management and configuration. All functions are categorized below: @@ -24,7 +41,8 @@ The subnet precompile provides comprehensive functionality for subnet management ### Network Registration #### `registerNetwork` -Registers a new subnet without additional identity information. + +Create/register a new subnet, without setting identity information. **Parameters:** - `hotkey` (bytes32): The hotkey (32 bytes) that will own the network From 53fcd0fd1b34b3cbfc541ce90cc7ebed0f2a76e5 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Fri, 30 May 2025 12:21:36 -0700 Subject: [PATCH 037/303] wip --- docs/evm-tutorials/metagraph-precompile.md | 89 ---------------------- 1 file changed, 89 deletions(-) diff --git a/docs/evm-tutorials/metagraph-precompile.md b/docs/evm-tutorials/metagraph-precompile.md index e77dd5f648..a405df5f0b 100644 --- a/docs/evm-tutorials/metagraph-precompile.md +++ b/docs/evm-tutorials/metagraph-precompile.md @@ -29,11 +29,6 @@ Returns the total number of UIDs (neurons) in a specific subnetwork. **Returns:** - `uint16`: Total count of neurons in the subnetwork -**Example:** -```solidity -// Get the number of neurons in subnetwork 1 -uint16 neuronCount = IMetagraph(METAGRAPH_PRECOMPILE).getUidCount(1); -``` ### Token and Consensus Metrics @@ -309,54 +304,7 @@ Returns the coldkey (owner key) associated with a neuron's hotkey. bytes32 coldkey = IMetagraph(METAGRAPH_PRECOMPILE).getColdkey(1, 13); ``` -## Interface Definition -Here's the complete Solidity interface for the Metagraph Precompile: - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -interface IMetagraph { - struct AxonInfo { - uint64 block; - uint32 version; - uint128 ip; - uint16 port; - uint8 ip_type; - uint8 protocol; - } - - // Network information - function getUidCount(uint16 netuid) external view returns (uint16); - - // Financial metrics - function getStake(uint16 netuid, uint16 uid) external view returns (uint64); - function getEmission(uint16 netuid, uint16 uid) external view returns (uint64); - - // Performance metrics - function getRank(uint16 netuid, uint16 uid) external view returns (uint16); - function getTrust(uint16 netuid, uint16 uid) external view returns (uint16); - function getConsensus(uint16 netuid, uint16 uid) external view returns (uint16); - function getIncentive(uint16 netuid, uint16 uid) external view returns (uint16); - function getDividends(uint16 netuid, uint16 uid) external view returns (uint16); - - // Validator functions - function getVtrust(uint16 netuid, uint16 uid) external view returns (uint16); - function getValidatorStatus(uint16 netuid, uint16 uid) external view returns (bool); - - // State information - function getLastUpdate(uint16 netuid, uint16 uid) external view returns (uint64); - function getIsActive(uint16 netuid, uint16 uid) external view returns (bool); - - // Network connection - function getAxon(uint16 netuid, uint16 uid) external view returns (AxonInfo memory); - - // Key management - function getHotkey(uint16 netuid, uint16 uid) external view returns (bytes32); - function getColdkey(uint16 netuid, uint16 uid) external view returns (bytes32); -} -``` ## Usage Examples @@ -439,40 +387,3 @@ The metagraph precompile can throw the following errors: - **InvalidRange**: Thrown when querying a UID that doesn't exist in the specified network - **"hotkey not found"**: Thrown when trying to get axon information for a non-existent neuron - -Always handle these errors appropriately in your smart contracts: - -```solidity -contract SafeMetagraphQuery { - IMetagraph constant METAGRAPH = IMetagraph(0x0000000000000000000000000000000000000802); - - function safeGetStake(uint16 netuid, uint16 uid) external view returns (uint64, bool) { - try METAGRAPH.getStake(netuid, uid) returns (uint64 stake) { - return (stake, true); - } catch { - return (0, false); - } - } -} -``` - -## Gas Considerations - -All metagraph precompile functions are view functions that don't modify state. They have very low gas costs, typically: - -- Simple queries (rank, trust, etc.): ~2,100 gas -- Complex queries (axon info): ~3,000 gas -- Key lookups: ~2,500 gas - -This makes them suitable for frequent queries and batch operations within smart contracts. - -## Best Practices - -1. **Batch Queries**: When querying multiple neurons, consider batching operations to reduce transaction costs -2. **Cache Results**: If querying the same data multiple times, consider caching results within your contract -3. **Error Handling**: Always implement proper error handling for edge cases -4. **Network Validation**: Validate that the netuid exists before querying UIDs -5. **UID Bounds Checking**: Ensure UIDs are within the valid range (0 to getUidCount - 1) - - - From 72ebb216615f293d0d58f1c26fce6fa645839445 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Fri, 30 May 2025 13:49:27 -0700 Subject: [PATCH 038/303] wip --- docs/evm-tutorials/subnet-precompile.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/evm-tutorials/subnet-precompile.md b/docs/evm-tutorials/subnet-precompile.md index d98f064304..d28802dc1c 100644 --- a/docs/evm-tutorials/subnet-precompile.md +++ b/docs/evm-tutorials/subnet-precompile.md @@ -27,7 +27,7 @@ Subnet operations have distinct requirements! - Creating a subnet, i.e. [`registerNetwork`,](#registernetwork) requires a coldkey with sufficient TAO to cover the current burn cost. - See [burn cost for subnet creation](./docs/local-build/create-subnet#burn-cost). + See [burn cost for subnet creation](../local-build/create-subnet#burn-cost). - Setting subnet hyperparameters requires the private key for the coldkey that owns the subnet (the one that created it, unless this has been transferred). From 9b765ac4b34ba02c2792f11c48d1c85d36bb8ded Mon Sep 17 00:00:00 2001 From: michael trestman Date: Sun, 1 Jun 2025 19:36:45 -0700 Subject: [PATCH 039/303] wip --- docs/evm-tutorials/_create-mm-wallet.mdx | 8 +++++--- docs/evm-tutorials/convert-h160-to-ss58.md | 17 +++-------------- docs/evm-tutorials/index.md | 22 ++++++++++++++++++++-- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/docs/evm-tutorials/_create-mm-wallet.mdx b/docs/evm-tutorials/_create-mm-wallet.mdx index ff9d13a921..e563f245d7 100644 --- a/docs/evm-tutorials/_create-mm-wallet.mdx +++ b/docs/evm-tutorials/_create-mm-wallet.mdx @@ -5,7 +5,7 @@ export const CreatePartial = () => (

      Create Wallet with MetaMask

        -
      1. Install MetaMask browser extension if you haven't already.
      2. +
      3. Install [Metamask wallet](https://metamask.io/download/) browser extension, if you haven't already.
      4. Create a new account or import an existing one.
      5. Add the Bittensor EVM network to MetaMask:
          @@ -13,9 +13,11 @@ export const CreatePartial = () => (
        • RPC URL: https://test.chain.opentensor.ai
        • Chain ID: 945
        • Currency Symbol: TAO
        • -
        • Block Explorer URL: https://evm.bittensor.com
        • -
        +
      6. Block Explorer URL: test.chain.opentensor.ai
      7. + +
      8. Click Save.
      9. +
      10. Click Switch network.
      ); \ No newline at end of file diff --git a/docs/evm-tutorials/convert-h160-to-ss58.md b/docs/evm-tutorials/convert-h160-to-ss58.md index 2e3f151e97..ebb80014e9 100644 --- a/docs/evm-tutorials/convert-h160-to-ss58.md +++ b/docs/evm-tutorials/convert-h160-to-ss58.md @@ -6,9 +6,9 @@ import { CreatePartial } from "./_create-mm-wallet.mdx"; # Convert Ethereum (H160) Address to Substrate (SS58) -This tutorial demonstrates how to convert between Ethereum (H160) and Substrate (SS58) addresses in the Bittensor EVM environment. +This tutorial demonstrates how to convert between Ethereum (H160) and Substrate (SS58) addresses. This is useful for moving across the boundary between a) EVM smart contracts and b) core Subtensor functionality based on Polkadot. -When working with Bittensor's EVM implementation, you may need to convert between Ethereum-style addresses (H160) and Substrate-style addresses (SS58). This is particularly useful when interacting with both EVM and native Substrate functionality. +In what follows, we'll create a wallet in Metamask and convert it's public key to ss58 format in order to target it with a balance transfer using BTCLI. ## Procedure @@ -85,15 +85,4 @@ function convertH160ToSS58(ethAddress) { const ss58Address = encodeAddress(hash, 42); // Network ID 42 for Bittensor return ss58Address; } -``` - -### Step-by-Step Explanation - -1. **Prefix Addition**: The function adds an 'evm:' prefix to distinguish EVM addresses -2. **Byte Conversion**: - - Converts the prefix to bytes using TextEncoder - - Converts the Ethereum address to bytes using hexToU8a -3. **Combination**: Creates a new Uint8Array containing both the prefix and address bytes -4. **Hashing**: Uses Blake2b (via blake2AsU8a) to create a deterministic hash of the combined bytes -5. **SS58 Encoding**: Finally encodes the hash as an SS58 address using network ID 42 (Bittensor's network ID) - +``` \ No newline at end of file diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index ec17272171..f51f215c59 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -25,7 +25,10 @@ import { GrStakeholder } from "react-icons/gr"; # Bittensor EVM Smart Contracts -Full Ethereum virtual machine (EVM) compatibility is now available on subtensor (the blockchain in Bittensor). This allows users to deploy most EVM smart contracts on subtensor without changing the code, interact with deployed smart contracts on the subtensor blockchain, and access standard Ethereum JSON-RPC methods. +A full ethereum virtual machine (EVM) runtime operates as an application layer on top of the Bittensor blockchain (Subtensor). This allows users to: +- deploy most EVM smart contracts on subtensor without changing the code, +- interact with deployed smart contracts on the subtensor blockchain, and +- access standard Ethereum JSON-RPC methods. Bittensor EVM smart contracts are executed solely on the **Bittensor blockchain, *not* on the Ethereum blockchain.** @@ -36,7 +39,22 @@ See: - [EVM on Mainnet](./evm-mainnet-with-metamask-wallet) - [OTF Blogpost: EVM on Bittensor](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) -## Ethereum vs Bittensor EVM Smart Contracts +## Ethereum-style and Bittensor-style wallets on the Bittensor blockchian + +Bittensor wallets are based on Polkadot-style ss58 addresses, whereas Ethereum uses h160 addresses. + +The holder of a private key for an ss58 address based on the corresponding public key can sign transactions on any Bittensor chain for thataddress. Anyone who creates key-pairs using `btcli wallet`, for example, holds the private key and the corresponding seed phrase, and hence can sign Bittensor transactions for that wallet. + +Similarly, creating an Ethereum wallet gives you control of the h160 private key for the corresponding public key. + +It is a simple matter to convert an h160 address to an ss58 address, or vice versa, but this does *not* yield the corresponding private key. This means that if you create a wallet in Bittensor, you will not be able to sign Ethereum contracts with it, nor versa. + +Hence, in the context of Bittensor EVM we can distinguish between: +- 'Bittensor wallets': created using the Bittensor tool chain and therefore able to sign transactions using Bittensor transaction clients (BTCLI and the Bittensor SDK), but not EVM smart contracts, on the Bittensor blockchain. +- 'EVM wallets': created using an EVM client such as MetaMask and therefore able to sign EVM smart contracts, but not Subtensor extrinsics, on the Bittensor blockchain. + + +## Ethereum vs Bittensor EVM smart contract runtime On the Ethereum network, nodes such as full nodes, validator nodes and archive nodes run the Ethereum Virtual Environment (EVM) run-time environment. Smart contracts operate under this EVM. See the below high-level diagram. From 7068f2e2b60c1ded65ba5bd4e437271dd481ab17 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Sun, 1 Jun 2025 19:42:06 -0700 Subject: [PATCH 040/303] wip --- docs/evm-tutorials/convert-h160-to-ss58.md | 2 +- docs/evm-tutorials/convert-ss58-to-h160.md | 7 ++++++- docs/evm-tutorials/index.md | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/evm-tutorials/convert-h160-to-ss58.md b/docs/evm-tutorials/convert-h160-to-ss58.md index ebb80014e9..65b20defac 100644 --- a/docs/evm-tutorials/convert-h160-to-ss58.md +++ b/docs/evm-tutorials/convert-h160-to-ss58.md @@ -6,7 +6,7 @@ import { CreatePartial } from "./_create-mm-wallet.mdx"; # Convert Ethereum (H160) Address to Substrate (SS58) -This tutorial demonstrates how to convert between Ethereum (H160) and Substrate (SS58) addresses. This is useful for moving across the boundary between a) EVM smart contracts and b) core Subtensor functionality based on Polkadot. +This tutorial demonstrates how to convert between Ethereum (H160) and Substrate (SS58) addresses. This is useful for moving across the boundary between [EVM wallets and Subtensor Wallets on the Bittensor blockchain](./#evm-wallets-and-subtensor-wallets-on-the-bittensor-blockchain). In what follows, we'll create a wallet in Metamask and convert it's public key to ss58 format in order to target it with a balance transfer using BTCLI. diff --git a/docs/evm-tutorials/convert-ss58-to-h160.md b/docs/evm-tutorials/convert-ss58-to-h160.md index ccc63a51c9..72ce044e83 100644 --- a/docs/evm-tutorials/convert-ss58-to-h160.md +++ b/docs/evm-tutorials/convert-ss58-to-h160.md @@ -4,9 +4,14 @@ title: "Convert Substrate (SS58) Address to Ethereum (H160)" # Convert Substrate (SS58) Address to Ethereum (H160) - ## Procedure +### Create a wallet with BTCLI + +### Convert the address + +### Transfer TAO to it with an EVM smart contract + ## Conversion Script Below is the code used above for the conversion. diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index f51f215c59..2ec78378b5 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -39,7 +39,7 @@ See: - [EVM on Mainnet](./evm-mainnet-with-metamask-wallet) - [OTF Blogpost: EVM on Bittensor](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) -## Ethereum-style and Bittensor-style wallets on the Bittensor blockchian +## EVM and Subtensor wallets on the Bittensor blockchian Bittensor wallets are based on Polkadot-style ss58 addresses, whereas Ethereum uses h160 addresses. @@ -47,7 +47,7 @@ The holder of a private key for an ss58 address based on the corresponding publi Similarly, creating an Ethereum wallet gives you control of the h160 private key for the corresponding public key. -It is a simple matter to convert an h160 address to an ss58 address, or vice versa, but this does *not* yield the corresponding private key. This means that if you create a wallet in Bittensor, you will not be able to sign Ethereum contracts with it, nor versa. +It is a simple matter to [convert an h160 address to an ss58 address](./convert-h160-to-ss58), or vice versa, but this does *not* yield the corresponding private key. This means that if you create a wallet in Bittensor, you will not be able to sign Ethereum contracts with it, nor versa. Hence, in the context of Bittensor EVM we can distinguish between: - 'Bittensor wallets': created using the Bittensor tool chain and therefore able to sign transactions using Bittensor transaction clients (BTCLI and the Bittensor SDK), but not EVM smart contracts, on the Bittensor blockchain. From 8b74eb8bc12e2fcfcd1d4d24f682c2c6e0da503b Mon Sep 17 00:00:00 2001 From: michael trestman Date: Sun, 1 Jun 2025 19:49:24 -0700 Subject: [PATCH 041/303] wip --- docs/evm-tutorials/convert-ss58-to-h160.md | 72 +++++++++++++++++++++- 1 file changed, 69 insertions(+), 3 deletions(-) diff --git a/docs/evm-tutorials/convert-ss58-to-h160.md b/docs/evm-tutorials/convert-ss58-to-h160.md index 72ce044e83..aeba2d9da8 100644 --- a/docs/evm-tutorials/convert-ss58-to-h160.md +++ b/docs/evm-tutorials/convert-ss58-to-h160.md @@ -2,15 +2,51 @@ title: "Convert Substrate (SS58) Address to Ethereum (H160)" --- +import { InstallPartial } from "./_install.mdx"; +import { CreateBtcliPartial } from "./_create-btcli-wallet.mdx"; + # Convert Substrate (SS58) Address to Ethereum (H160) +This tutorial demonstrates how to convert between Substrate (SS58) and Ethereum (H160) addresses. This is useful for moving across the boundary between a) core Subtensor functionality based on Polkadot and b) EVM smart contracts. + +In what follows, we'll create a wallet in BTCLI and convert its SS58 address to H160 format in order to use it with EVM smart contracts and MetaMask. + ## Procedure -### Create a wallet with BTCLI + + + + +## Set your config + +### Convert Address for EVM + +Run the conversion script, replacing `ss58Address` with your address: + +```bash +node convert-ss58-address.js +``` + +Note down the H160 address output by the script - this is your wallet's mirror address in EVM format that can be used with MetaMask and EVM smart contracts. + +### Transfer TAO from BTCLI to EVM Mirror + +Use `btcli` to transfer TAO to the H160 mirror address. Here we will use test network. + +```bash +btcli wallet transfer --destination --network test +``` -### Convert the address +:::info +When transferring to an H160 address from BTCLI, the funds will be available on the EVM side and can be accessed through MetaMask or EVM smart contracts. +::: -### Transfer TAO to it with an EVM smart contract +### Verify Balance in MetaMask + +1. [Set up MetaMask for Bittensor EVM](./evm-testnet-with-metamask-wallet) +2. Import your H160 address into MetaMask using the private key (if available) or add it as a watch-only address +3. Your TAO balance should now be visible in MetaMask +4. You can now use this address for EVM transactions on Bittensor ## Conversion Script @@ -18,4 +54,34 @@ Below is the code used above for the conversion. **Source code**: - [EVM examples repo](https://github.com/opentensor/evm-bittensor) +- [Address mapping](https://github.com/opentensor/evm-bittensor/blob/main/examples/address-mapping.js) +- [Convert SS58 address](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw-address.js) + +```javascript +//convert-ss58-address.js + +function ss58ToH160(ss58Address) { + // Decode the SS58 address to a Uint8Array public key + const publicKey = decodeAddress(ss58Address); + + // Take the first 20 bytes of the hashed public key for the Ethereum address + const ethereumAddressBytes = publicKey.slice(0, 20); + + // Convert the 20 bytes into an Ethereum H160 address format (Hex string) + const ethereumAddress = '0x' + Buffer.from(ethereumAddressBytes).toString('hex'); + + return ethereumAddress; +} + +async function main() { + const ss58Address = "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty"; + + const h160Address = ss58ToH160(ss58Address); + console.log(`H160 mirror: ${h160Address}`); +} + +main().catch(console.error); +``` + + From 9eb4f6455b6dd67ac9bea573c2dfb05aabbbdfa2 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Sun, 1 Jun 2025 20:10:47 -0700 Subject: [PATCH 042/303] wip --- docs/evm-tutorials/_create-btcli-wallet.mdx | 32 +++++++ docs/evm-tutorials/_create-mm-wallet.mdx | 2 +- docs/evm-tutorials/convert-h160-to-ss58.md | 2 +- docs/evm-tutorials/convert-ss58-to-h160.md | 87 ------------------- .../evm-testnet-with-metamask-wallet.md | 10 +-- sidebars.js | 1 - 6 files changed, 38 insertions(+), 96 deletions(-) create mode 100644 docs/evm-tutorials/_create-btcli-wallet.mdx delete mode 100644 docs/evm-tutorials/convert-ss58-to-h160.md diff --git a/docs/evm-tutorials/_create-btcli-wallet.mdx b/docs/evm-tutorials/_create-btcli-wallet.mdx new file mode 100644 index 0000000000..22300a5e47 --- /dev/null +++ b/docs/evm-tutorials/_create-btcli-wallet.mdx @@ -0,0 +1,32 @@ +import React from 'react'; + +export const CreateBtcliPartial = () => ( + <> +

      Create Wallet with BTCLI

      + +
        +
      1. Install BTCLI if you haven't already: +

        + + pip install bittensor + +

        +
      2. +
      3. Create a new wallet: +

        + + btcli wallet new_coldkey --wallet.name my_wallet + +

        +
      4. +
      5. Note down your wallet's SS58 address, which you can get with: +

        + + btcli wallet overview --wallet.name my_wallet + +

        +
      6. +
      7. Your coldkey address will start with "5" and is in SS58 format (for example: 5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty).
      8. +
      + +); \ No newline at end of file diff --git a/docs/evm-tutorials/_create-mm-wallet.mdx b/docs/evm-tutorials/_create-mm-wallet.mdx index e563f245d7..60c061a79e 100644 --- a/docs/evm-tutorials/_create-mm-wallet.mdx +++ b/docs/evm-tutorials/_create-mm-wallet.mdx @@ -5,7 +5,7 @@ export const CreatePartial = () => (

      Create Wallet with MetaMask

        -
      1. Install [Metamask wallet](https://metamask.io/download/) browser extension, if you haven't already.
      2. +
      3. Install Metamask wallet browser extension, if you haven't already.
      4. Create a new account or import an existing one.
      5. Add the Bittensor EVM network to MetaMask:
          diff --git a/docs/evm-tutorials/convert-h160-to-ss58.md b/docs/evm-tutorials/convert-h160-to-ss58.md index 65b20defac..dda6e81ec7 100644 --- a/docs/evm-tutorials/convert-h160-to-ss58.md +++ b/docs/evm-tutorials/convert-h160-to-ss58.md @@ -26,7 +26,7 @@ Run the conversion script, replacing `ethereumAddress` with your address: node convert-address.js ``` -Note down the SS58 address output by the script - this is your wallet's coldkey public key, your address on any Bittensor network. +Note down the SS58 address output by the script - this is your wallet's Subtensor address on the Bittensor network. ### Transfer TAO to EVM Wallet diff --git a/docs/evm-tutorials/convert-ss58-to-h160.md b/docs/evm-tutorials/convert-ss58-to-h160.md deleted file mode 100644 index aeba2d9da8..0000000000 --- a/docs/evm-tutorials/convert-ss58-to-h160.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: "Convert Substrate (SS58) Address to Ethereum (H160)" ---- - -import { InstallPartial } from "./_install.mdx"; -import { CreateBtcliPartial } from "./_create-btcli-wallet.mdx"; - -# Convert Substrate (SS58) Address to Ethereum (H160) - -This tutorial demonstrates how to convert between Substrate (SS58) and Ethereum (H160) addresses. This is useful for moving across the boundary between a) core Subtensor functionality based on Polkadot and b) EVM smart contracts. - -In what follows, we'll create a wallet in BTCLI and convert its SS58 address to H160 format in order to use it with EVM smart contracts and MetaMask. - -## Procedure - - - - - -## Set your config - -### Convert Address for EVM - -Run the conversion script, replacing `ss58Address` with your address: - -```bash -node convert-ss58-address.js -``` - -Note down the H160 address output by the script - this is your wallet's mirror address in EVM format that can be used with MetaMask and EVM smart contracts. - -### Transfer TAO from BTCLI to EVM Mirror - -Use `btcli` to transfer TAO to the H160 mirror address. Here we will use test network. - -```bash -btcli wallet transfer --destination --network test -``` - -:::info -When transferring to an H160 address from BTCLI, the funds will be available on the EVM side and can be accessed through MetaMask or EVM smart contracts. -::: - -### Verify Balance in MetaMask - -1. [Set up MetaMask for Bittensor EVM](./evm-testnet-with-metamask-wallet) -2. Import your H160 address into MetaMask using the private key (if available) or add it as a watch-only address -3. Your TAO balance should now be visible in MetaMask -4. You can now use this address for EVM transactions on Bittensor - -## Conversion Script - -Below is the code used above for the conversion. - -**Source code**: -- [EVM examples repo](https://github.com/opentensor/evm-bittensor) -- [Address mapping](https://github.com/opentensor/evm-bittensor/blob/main/examples/address-mapping.js) -- [Convert SS58 address](https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw-address.js) - -```javascript -//convert-ss58-address.js - -function ss58ToH160(ss58Address) { - // Decode the SS58 address to a Uint8Array public key - const publicKey = decodeAddress(ss58Address); - - // Take the first 20 bytes of the hashed public key for the Ethereum address - const ethereumAddressBytes = publicKey.slice(0, 20); - - // Convert the 20 bytes into an Ethereum H160 address format (Hex string) - const ethereumAddress = '0x' + Buffer.from(ethereumAddressBytes).toString('hex'); - - return ethereumAddress; -} - -async function main() { - const ss58Address = "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty"; - - const h160Address = ss58ToH160(ss58Address); - console.log(`H160 mirror: ${h160Address}`); -} - -main().catch(console.error); -``` - - - diff --git a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md index 25b69909b5..69ef27f08c 100644 --- a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md @@ -3,6 +3,7 @@ title: "EVM on Testnet" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; +import { CreatePartial } from "./_create-mm-wallet.mdx"; # EVM on Testnet @@ -12,7 +13,9 @@ Key values: - The **Bittensor Testnet URL:** `https://test.chain.opentensor.ai` - **EVM Subtensor Chain ID:** `945` (UTF-8 encoded alpha character) - **Opentensor EVM-Bittensor GitHub repo:** `https://github.com/opentensor/evm-bittensor/tree/main` - + + + ## Connect to EVM Testnet Confirm the EVM node is online and accessible. You can check the node status independently using `curl` or similar tools: @@ -26,11 +29,6 @@ curl -X POST \ ```console {"jsonrpc":"2.0","id":1,"result":"0x460943"} ``` -## Create a Metamask wallet - -1. If you don't already have it, [install Metamask wallet](https://metamask.io/download/) browser extension. -2. Create a new account. - ### Add testnet to Metamask Add the testnet to Metamask from within the Metamask wallet. Follow the below steps: diff --git a/sidebars.js b/sidebars.js index c85c411612..fa458500ef 100644 --- a/sidebars.js +++ b/sidebars.js @@ -209,7 +209,6 @@ const sidebars = { items:[ "evm-tutorials/examples", "evm-tutorials/convert-h160-to-ss58", - "evm-tutorials/convert-ss58-to-h160", "evm-tutorials/ed25519-verify-precompile", "evm-tutorials/transfer-from-metamask-to-ss58", "evm-tutorials/transfer-between-two-h160-accounts", From 97e420ec6f8c4afa0ecc0a3fa00ba26dba2f6175 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 5 Jun 2025 10:16:11 -0700 Subject: [PATCH 043/303] wip --- docs/yc3-blog.md | 163 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 docs/yc3-blog.md diff --git a/docs/yc3-blog.md b/docs/yc3-blog.md new file mode 100644 index 0000000000..e5745e4287 --- /dev/null +++ b/docs/yc3-blog.md @@ -0,0 +1,163 @@ +Blog Article: How Yuma Consensus 3 realizes the promise of fairness in Bittensor + +It's like America Got Talent or ice skate dancing in the winder olympics, where for every day of the competition in the morning the organizer allows up to 64 judges to register, but they sort them by the number of twitter followers. + +If a judge is canceled (due to a vote copying scandal?) during the day, they can still cast votes until the end of the day as long as they have more than 1000 twitter followers (or alphas). + +If on the next day they won't get a judge permit in the morning because they were not in 64, but later in the day they defend themselves with a heartfelt apology and regain their followers, they still won't be able to cast votes until they get the judge permit in the morning. +now hear this, because we are getting to the fun part +the judges can also perform on the stage, but they cannot vote on themselves. There can be a situation where every single person in the room (which typically fits 256 people) is a performer and they can all receive incentive, but the bigger the following a judge has, the more effective voting power he'll lose due to self-voting being prohibited +also some judges are lazy and they don't watch and honestly judge the participants, but they print out the votes of the other judges (weighted by twitter following) from yesterday and they submit that as their votes +Rhef — 6/2/25, 1:06 PM +it doesn't matter if a judge has one twitter account with 200k followers or two accounts with 100k followers - the weighted voting power will be exactly the same (ok that's a bit of a lie when the stake gets smaller and smaller - Yuma 1 and 2 had a bad habit of destroying bonds of small validators for no good reason, something only @Fish | Datura, Celium cared about, but nobody paid attention and eventually Yuma 3 fixed this) +Kat | Biττensor CM・won't DM 1st — 6/2/25, 1:07 PM +By "account", you mean "hotkey", yes? (You're describing one person running more than one validator) +Rhef — 6/2/25, 1:08 PM +I mean a neuron, so a hotkey registered in the subnet +Kat | Biττensor CM・won't DM 1st — 6/2/25, 1:08 PM +Right, thanks. : ) +Rhef — 6/2/25, 1:10 PM +there is also an anti-fraud mechanism which makes it really hard for a group of malicious judges (called a cabal) to steal any incentive unless they have more than kappa (almost always 50%) of all followers of all the (active) judges +depending on the configuration of a subnet a judge may survive for a few days after they lost their permit while they still have bonds +Kat | Biττensor CM・won't DM 1st — 6/2/25, 1:13 PM +Okay. So then the next question would be: what is the difference between stake and bonds, with respect to a validator? +(When you are done with your current thought) +Rhef — 6/2/25, 1:13 PM +in Yuma 1 and 2 they can sometimes appear to be an extremely profitable judge if they collect some bonds and they lose stake. Then their bonds / stake, also called "APY", can be high when stake drops suddenly +stake is the number of twitter followers. Can change from 0 to 100k in one block and then back to 0 in the next block. +as for bonds 🤔 let me think for a sec, it's starting to escape the abstraction +Kat | Biττensor CM・won't DM 1st — 6/2/25, 1:18 PM +And if stake drops to 0 (i.e., 0 twitter followers), wouldn't that result in a divide-by-zero error when trying to calculate APY? +Kat | Biττensor CM・won't DM 1st — 6/2/25, 1:55 PM +"Infinite APY! What could POSSIBLY go wrong!" +Rhef — 6/2/25, 1:58 PM +at the end of the day the organizer performs an antifraud thing to prevent the malicious judges from stealing and then pays out the daily rewards to the participants. Those that got more votes from judges with larger following will get more and those that barely got any votes will barely get any incentive. Participant compensation is rather easy (unless you want to get into details of the anti-fraud system, which we'll skip today), but compensation for judges is a bit more complicated and depends on Yuma version chosen by the organizer and on hyperparameters. We'll assume default values of hyperparameters today. +lets say every participant performs on a concert once again in the evening +in Yuma 1 the organizer distributes 65535 tickets to each concert among the judges. Assuming no judge was found to be fraudulent, the tickets are distributed to judges proportionally to their twitter following. If there was some suspected fraud, then the judges found to be fraudulent can get less tickets for the participants they have voted less than the consensus of the judges. The total amounf of tickets they'll get can be called vtrust. If it's 100%, then they get tickets proportional to their following, if it's zero then they can get nothing. +Kat | Biττensor CM・won't DM 1st — 6/2/25, 2:06 PM +Okay. So if I have 100K followers, but only .5 vtrust, I get 50K tickets. +Rhef — 6/2/25, 2:06 PM +in Yuma 1 yes +but you don't want tickets, you want money. The way you get it is you sell the tickets in an online store. The tickets for good performers are worth a lot, but the tickets of the bad performers are worthless. +you can sell the tickets for a concert of a given participant for a price that is proportional to the reward the participant received on that day from the organizer +now someone can observe that this can be a bit unfair when the total number of twitter followers is already reaching 1.8 million - a judge with a thousand followers should get 1/1800 of the tickets, but 65536 doesn't divide very well by 1800, so there might be some rounding down there, causing judges with a small following to suffer unjustly! + +Fortunately the organizer has thought of that and they sort of calculate it in their head and pay it out properly +Rhef — 6/2/25, 2:16 PM +---- +in Yuma 2 the organizer distributes 65535 little ticket printers to the judges for every participant and the judges keep the printers overnight. Each printer prints one ticket every evening and the tickets can again be sold (with the magic fair rounding done in the organizers head). + +The interesting part happens on the second day though - the organizer, you see, will calculate the printer allocation for the second day, but he will only change the ownership of no more than 10% of the printers per day (assuming the following doesn't change). From 10% lost, through keeping the previous amount of printers to a 10% gain - that's as much as can happen in one day. +now someone can observe, hey, a judge in a perfectly honest subnet with a thousand followers indeed got a perfect 1/1800 of the value of the tickets for every performer, but overnight the amount of printers was still 65535, so he should get 36.4 printers but only got 36 because you can't have a fraction of a printer +Then on the second day he starts with 36 and can go up to 10% up, but that means up to 3.6 printers up, but in such case he'd have to end up with 39.6 printers, but that's going to get rounded down to 39. + +Yuma 2 can be unfair to judges with small following. +Rhef — 6/2/25, 2:40 PM +Yuma 2 and 3 help with cooperative judging. You see, in many subnets it is not possible for every judge to watch every participant every day, so what they tend to do, is every judge pseudorandomly selects a few new participants to watch, but also they look at the printouts of votes from the previous day and they look at the participants that other judges voted on yesterday. This way if a participant is good and someone starts voting on them, within a few days the other judges will hear about it and they will see the performance of the new talent that everyone is talking about... but by that time the first judge(s) that discovered the new talent should have accumulated a lot of ticket printers, which once the talent has been universally recognized, they can profit from heavily as they have a lot of printers and every ticket for this participant is worth a lot. Over time their APY will decline as the organizer moves 10% of the tickets from them to the other judges every day, but early recognition was meant to be profitable... unfortunately, there was a bug in the antifraud system which made it so that the printers were not distributed or redistributed unless judges with a sum of at least 50% of twitter followers have cast at least one vote for the given participant. This meant that when most or all judges stopped voting for a given participant, the ticket printer distribution would remain the same, sometimes FOR MONTHS and then suddenly when the participant got a new act they started showing off, when the value of the tickets to their concert increased, the payouts to the judges mostly reflected the pre-existing ticket printer allocation and would only adjust by 10% per day and only until the tickets become worthless again when the printer allocation will freeze again. +Kat | Biττensor CM・won't DM 1st — 6/2/25, 2:41 PM +Did someone read "Honeybee Democracy" by Dr. Thomas Seeley? + +Anyway, can you relate tickets to stake/bond? And what are ticket printers analogous to? (The actual ticket is representing either stake or earnings in the subnet's alpha token, right?) +Rhef — 6/2/25, 2:42 PM +this meant that a couple of judges with a high following were more likely to cross 50% and get the minimum recognition required for the participant to receive any incentive. If they were the only two casting votes on him, then ALL the printers for tickets of that participant would be distributed proportionally to their following and the others would need to patiently wait to get the 10%/day change +bonds are tickets in Yuma 1 +bonds are ticket printers in Yuma 2 +bonds held by a validator for a given miner, produce dividends with a simple multiplication. For every miner a judge receives dividends = bonds * incentive +Kat | Biττensor CM・won't DM 1st — 6/2/25, 2:46 PM +Oh. So bonds are the incentive that a validator earns for ranking a miner, relative to the incentive that's earned by that miner? +(So if I'm ranking a miner that's popular with the other validators, and we're in consensus, we all earn a reward specifically tied to that miner's success?) + +Rhef — 6/2/25, 2:49 PM +bonds allow the validator to earn dividends for ranking a miner, equal to the incentive that's earned by that miner and the number of bonds of that miner that the given validator holds +Kat | Biττensor CM・won't DM 1st — 6/2/25, 2:52 PM +Okay. And how does a validator acquire bonds for a miner? +Rhef — 6/2/25, 2:54 PM +In Yuma 2 they need to vote on that miner while at least 50% of the validators are voting for that miner... so if a small validator discovers a new talent and starts voting on it, everybody will see it and will soon check that new talent out, but that small validator won't get any bonds until the big judges start voting on it, though when they do, the small validator will only get a small portion of the bonds +so unfair! 😭 +Kat | Biττensor CM・won't DM 1st — 6/2/25, 2:57 PM +This is startlingly similar to the way honeybee colonies that are about to swarm choose a new location. +Rhef — 6/2/25, 3:07 PM +---- +in Yuma 3 every judge receives allowance for exclusive material about the participant. The allowance can change by 10% per day, but the allowance can increase or decrease every day, regardless of what other judges think. The judges then monetize the material by posting it on their twitter and they get ad revenue equal to amount of twitter followers * popularity of the participant. The allowance for every (judge, participant) pair is saved overnight on a 0-65535 scale, but in such a way that, if they vote long enough and high enough, every judge can end up having a 65535 for the same miner. + +The judge can recognize new talent and start accumulating the allowance a few tempos before the talent gets widely recognized. In such case that judge who found the talent early will already accumulate some bonds and will receive higher APY than others (for about a day). +Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:09 PM +OT question: is there a way to find out through Polkadot.js.org/apps whether there is a maximum number of subnets that can be registered? +Fish | Datura, Celium — 6/2/25, 3:11 PM +yes +subnet limit storage value +Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:12 PM +I found this get_max_allowed_uids in the GitHub. I will look for these things in Polka, thanks Fish. : ) +So it returns 4096 for me. Am I correct in understanding that the max number of subnets currently is then 4096? (I'm not tripping, or reading the wrong thing?) +https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-finney.opentensor.ai%3A443#/chainstate/constants +subtensorModule > initialMaxAllowedUids +Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:16 PM +How is popularity calculated? Is this the number of judges that are rating a participant, so that the judge can max out if they're the only voter? (Their allowance == their exclusive material?). How is such exclusivity determined? +Fish | Datura, Celium — 6/2/25, 3:20 PM +that is uids not subnets +uids for one subnet +Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:20 PM +Ah, okay. Hm. +Fish | Datura, Celium — 6/2/25, 3:29 PM +just checked and the parameter was removed with dtao. But will get added back when the subnet limit gets added back +https://github.com/opentensor/subtensor/issues/1651 +so it doesn't exist right now +Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:30 PM +Got it, thanks! +Rhef — 6/2/25, 3:30 PM +the limit is currently a subject of a heated discussion +unfortunately disabling the subnets when they go inactive is not an option because it exposes us to some nasty attacks. We got to delete them. +Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:32 PM +I presume most of the debate is in CoR, right? +🙏 +Rhef — 6/2/25, 3:33 PM +the exclusive material is like seconds of backstage video material or something. Good stuff people value. + +Here by popularity I really meant incentive +Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:34 PM +Okay, it's going to take me a hot minute to go through and try to map all of this out in my head. It's complicated stuff. +I appreciate all the hard work you're doing to try to explain this, though, a thousand-fold! +Rhef — 6/2/25, 3:35 PM +---- +in liquid alpha 2, the organizer recognizes courageous judges and gives bonus allowance for exclusive material to those judges who vote for talent which doesn't yet get votes from other judges. This means that the vote copying judges who are always one day behind will never get this bonus and will always stay behind +I'm gonna send it to my marketing guys in hope they can make a video explainer out of it +Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:40 PM +Where/how are judges acquiring this exclusive backstage material? +Rhef — 6/2/25, 3:43 PM +the organizer distributes the exclusive backstage material in the afternoon, after figuring out what the new allowance is for the judges +Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:44 PM +And the organizer is...? +Rhef — 6/2/25, 3:44 PM +subtensor +Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:48 PM +Okay. So, just so that I can try to sort these things out: + +o Liquid Alpha is a hyperparameter that subnet owners can enable to fight weight copiers. + +o Yuma 3 is a new and still optional hyperparameter (that I can't see yet, so probably needs to be enabled in a different way I haven't caught up with yet) that helps to even out rewards for validators who recognize new miners before other validators do, but whose stake is not very large with respect to other validators and whose bonds for the new miners would be correspondingly lower than what other validators are receiving. The goal is to reward swifter recognition of new quality miners, without penalizing validators with relatively small stake. + +o Subnets that want to use Yuma 3 also need to have Liquid Alpha enabled. + +Is this going in the right direction? +Rhef — 6/2/25, 3:51 PM +liquid alpha 2 is optional and works only with Yuma 3 +Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:52 PM +Okay, so it's the other way around. You can have Yuma 3 (by itself), or Yuma 3 + Liquid Alpha, but you can't have Liquid Alpha without Yuma 3? +Rhef — 6/2/25, 3:52 PM +correct +Kat | Biττensor CM・won't DM 1st — 6/2/25, 4:00 PM +How do you set "on-chain toggle(s)"? I can see the liquid alpha hyperparameter, but not one for Yuma3 +NM, found it! +(For anyone who's looking: Polkadot.js.org/apps -- Developer > Extrinsic > adminUtils > SudoSetYuma3Enabled) +Rhef — 6/3/25, 4:51 AM +I think @bdhimes is yet to add a nice btcli command for this one +TAO4Fun [ τ, τ ] — 6/3/25, 9:06 AM +has trading on new subnets been blocked? +trexman — 6/3/25, 10:51 AM +@Kat | Biττensor CM・won't DM 1st @Rhef @TAO4Fun [ τ, τ ] +Another quick question on dereg stuff, sorry if someone answered this above and I missed it... +I was thinking that the lowest emission neuron was eligible to be bumped each block (the docs said that before and still say it), but as far as I can see in the code, it looks that only happens if the UIDs are capped. +So unless there are 4096 uids, nobody gets deregistered? +Kat | Biττensor CM・won't DM 1st — 6/3/25, 10:52 AM +Well, you're probably asking the wrong person, but if there are open slots in the subnet, then as I understand it, no one gets deregged until the slots are full and the next registration comes in. But it's 256 slots per subnet. +(Except for subnet 1, which is a weird subnet, being the original, granddaddy subnet) \ No newline at end of file From 3a475266003958dc8281bf234cd9cd5618705fc2 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 5 Jun 2025 17:20:03 -0700 Subject: [PATCH 044/303] create-yc3-blog --- docs/yc3-blog.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/docs/yc3-blog.md b/docs/yc3-blog.md index e5745e4287..0cb99d84a8 100644 --- a/docs/yc3-blog.md +++ b/docs/yc3-blog.md @@ -1,5 +1,39 @@ Blog Article: How Yuma Consensus 3 realizes the promise of fairness in Bittensor +How Yuma Consensus 3 Realizes the Promise of Fairness in Bittensor +In the world of Bittensor, validators play a crucial role in evaluating and ranking miners' performance. The Yuma Consensus mechanism, which determines how rewards are distributed, has evolved through several iterations to address fairness and efficiency concerns. The latest version, Yuma Consensus 3 (YC3), introduces significant improvements that better align incentives and create a more equitable system for all participants. +The Evolution of Yuma Consensus +To understand YC3's improvements, let's look at how the system has evolved: +Yuma 1: Initial Implementation +The first iteration of Yuma Consensus distributed validator rewards based on their stake and the consensus weight of miners they evaluated. While functional, it had limitations in handling small validators and could lead to unfair rounding issues when distributing rewards. +Yuma 2: Improved Bonding +Yuma 2 introduced a more sophisticated bonding mechanism with a 10% daily adjustment limit. However, it still had issues: +Small validators could get unfairly penalized due to rounding +A bug in the anti-fraud system could cause bond distribution to freeze for months +Early recognition of good miners wasn't properly rewarded +Yuma 3: Revolutionary Improvements +YC3 introduces significant improvements that better reward early recognition and create a more level playing field. Here's how it works: +Independent Bond Adjustment: Each validator's bonds can change by up to 10% per day, but crucially, they can increase or decrease independently of other validators' opinions. +Fair Scaling: The bond values are stored on a 0-65535 scale, but in a way that allows every validator to potentially reach the maximum value for the same miner if they maintain high-quality evaluations. +Early Recognition Rewards: Validators who identify promising miners early can start accumulating bonds before the miner becomes widely recognized. This creates a proper incentive for proactive evaluation rather than just following the crowd. +Liquid Alpha Integration: YC3 works seamlessly with the Liquid Alpha feature, which provides additional rewards for validators who vote for miners that aren't yet receiving votes from other validators. This further encourages independent evaluation and early recognition. +Key Improvements in YC3 +Fairness for Small Validators: Unlike previous versions, YC3 doesn't unfairly penalize validators with smaller stake. The system ensures that all validators, regardless of their size, can earn appropriate rewards for their evaluations. +Better Early Recognition: The system properly rewards validators who identify promising miners early, creating stronger incentives for independent evaluation rather than just copying others' weights. +Smoother Transitions: The 10% daily adjustment limit helps prevent sudden changes in reward distribution while still allowing for meaningful updates to validator evaluations. +Anti-Fraud Protection: The system maintains strong protection against malicious behavior while fixing the issues that could cause bond distribution to freeze in Yuma 2. +The Impact +YC3 represents a significant step forward in creating a more fair and efficient consensus mechanism. By better rewarding early recognition and independent evaluation, it encourages validators to: +Actively seek out and evaluate new miners +Make independent judgments rather than following the crowd +Maintain consistent, high-quality evaluations +Participate in the network regardless of their stake size +This creates a healthier ecosystem where innovation and early recognition are properly rewarded, while maintaining the security and reliability of the consensus mechanism. +Looking Forward +As Bittensor continues to grow, YC3 provides a solid foundation for fair and efficient consensus. The system's ability to reward early recognition while maintaining security makes it well-suited for the network's future development. +For subnet owners looking to implement YC3, it's available as an optional feature that can be enabled through the network's governance mechanisms. When combined with Liquid Alpha, it provides a powerful tool for creating fair and efficient subnet ecosystems. + +Discord dialogue for reference It's like America Got Talent or ice skate dancing in the winder olympics, where for every day of the competition in the morning the organizer allows up to 64 judges to register, but they sort them by the number of twitter followers. If a judge is canceled (due to a vote copying scandal?) during the day, they can still cast votes until the end of the day as long as they have more than 1000 twitter followers (or alphas). From 02f2f741f3f207383a15bd0d501960250bfb8127 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Fri, 6 Jun 2025 13:16:29 -0700 Subject: [PATCH 045/303] wip --- docs/miners/index.md | 2 +- docs/validators/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/miners/index.md b/docs/miners/index.md index 4840719d38..a2d0d9c2ed 100644 --- a/docs/miners/index.md +++ b/docs/miners/index.md @@ -64,7 +64,7 @@ Typically, subnets have 256 UID slots, with a maximum of 64 slots capable of ser Deregistration only occurs on subnets where all 256 UID slots are occupied. If a new registration occurs in a subnet with available UID slots, the registered neuron occupies one of the available UID slots. ::: -Each tempo, the '[neuron](../learn/bittensor-building-blocks)' (miner _or_ validator node) with the lowest 'pruning score' (based solely on emissions), and that is no longer within its [immunity period](../subnets/subnet-hyperparameters.md#immunityperiod), risks being replaced by a newly registered neuron, who takes over that UID. +Each tempo, the '[neuron](../learn/neurons)' (miner _or_ validator node) with the lowest 'pruning score' (based solely on emissions), and that is no longer within its [immunity period](../subnets/subnet-hyperparameters.md#immunityperiod), risks being replaced by a newly registered neuron, who takes over that UID. :::info Deregistration is based on emissions The subnet does not distinguish between miners and validators for the purpose of deregistration. The chain only looks at emissions (represented as 'pruning score'). Whenever a new registration occurs in the subnet, the neuron with the lowest emissions will get deregistered. diff --git a/docs/validators/index.md b/docs/validators/index.md index 2c39063479..6126bbaeb4 100644 --- a/docs/validators/index.md +++ b/docs/validators/index.md @@ -81,7 +81,7 @@ When a validator falls below the top 64 nodes by emissions, or has less than the Deregistration only occurs on subnets where all 256 UID slots are occupied. If a new registration occurs in a subnet with available UID slots, the registered neuron occupies one of the available UID slots. ::: -Each tempo, the '[neuron](../learn/bittensor-building-blocks)' (miner _or_ validator node) with the lowest 'pruning score' (based solely on emissions), and that is no longer within its [immunity period](../subnets/subnet-hyperparameters.md#immunityperiod), risks being replaced by a newly registered neuron, who takes over that UID. +Each tempo, the '[neuron](../learn/neurons)' (miner _or_ validator node) with the lowest 'pruning score' (based solely on emissions), and that is no longer within its [immunity period](../subnets/subnet-hyperparameters.md#immunityperiod), risks being replaced by a newly registered neuron, who takes over that UID. :::info Deregistration is based on emissions The subnet does not distinguish between miners and validators for the purpose of deregistration. The chain only looks at emissions (represented as 'pruning score'). Whenever a new registration occurs in the subnet, the neuron with the lowest emissions will get deregistered. From 1c57b12a2c924a13d5b657615d87fc088b230b4f Mon Sep 17 00:00:00 2001 From: michael trestman Date: Sun, 8 Jun 2025 07:25:27 -0700 Subject: [PATCH 046/303] wip --- docs/evm-tutorials/examples.md | 5 +-- docs/evm-tutorials/neuron-precompile.md | 57 +------------------------ 2 files changed, 3 insertions(+), 59 deletions(-) diff --git a/docs/evm-tutorials/examples.md b/docs/evm-tutorials/examples.md index ec58b7c87e..21deed764a 100644 --- a/docs/evm-tutorials/examples.md +++ b/docs/evm-tutorials/examples.md @@ -11,10 +11,7 @@ import { InstallPartial } from "./_install.mdx"; The following precompiled smart contracts are available on the Bittensor EVM. The source code can be found [on GitHub](https://github.com/opentensor/subtensor/blob/main/precompiles). -Code examples used throughout are provided by OTF, and come from [this repository.](https://github.com/opentensor/evm-bittensor/tree/main/examples) - - - +Code examples used throughout are provided by OTF, and come from [this repository.](https://github.com/opentensor/evm-bittensor/tree/main/examples). ## Examples diff --git a/docs/evm-tutorials/neuron-precompile.md b/docs/evm-tutorials/neuron-precompile.md index 5118f00ab0..6151c2ab57 100644 --- a/docs/evm-tutorials/neuron-precompile.md +++ b/docs/evm-tutorials/neuron-precompile.md @@ -12,12 +12,10 @@ This precompile enables full management of neurons (miner and validator nodes) t See [Understanding Neurons](../learn/neurons.md). - :::info Payable functions require tokens for execution ::: - ## Precompile Address The neuron precompile is available at address `0x804` (2052 in decimal). @@ -31,16 +29,6 @@ The neuron precompile provides the following core functions for neuron managemen #### `setWeights` Set weights (rankings) for miners on the subnet. See [Requirements for validation](../validators/#requirements-for-validation) -**Function Signature:** -```solidity -function setWeights( - uint16 netuid, - uint16[] memory dests, - uint16[] memory weights, - uint64 versionKey -) external payable -``` - **Parameters:** - `netuid` (uint16): The subnet ID where the neuron is registered - `dests` (uint16[]): Array of destination neuron UIDs to assign weights to @@ -53,35 +41,16 @@ This function allows a neuron to set weights on other neurons in the same subnet #### `commitWeights` Commits weights using a hash commitment scheme for privacy and security. -**Function Signature:** -```solidity -function commitWeights( - uint16 netuid, - bytes32 commitHash -) external payable -``` - **Parameters:** - `netuid` (uint16): The subnet ID where the neuron is registered - `commitHash` (bytes32): Hash commitment of the weights to be revealed later **Description:** -This function implements a commit-reveal scheme for setting weights. The neuron first commits a hash of their weights, then later reveals the actual weights. This prevents front-running and manipulation of the weight-setting process. +This function implements a commit-reveal scheme for setting weights. The neuron first commits a hash of their weights, then later reveals the actual weights. This prevents weight-copying. #### `revealWeights` Reveals previously committed weights by providing the original data that produces the committed hash. -**Function Signature:** -```solidity -function revealWeights( - uint16 netuid, - uint16[] memory uids, - uint16[] memory values, - uint16[] memory salt, - uint64 versionKey -) external payable -``` - **Parameters:** - `netuid` (uint16): The subnet ID where the neuron is registered - `uids` (uint16[]): Array of neuron UIDs that weights are being set for @@ -94,19 +63,11 @@ This function completes the commit-reveal process by revealing the actual weight ### Neuron Registration -Neuron registration is the process of joining a subnet and becoming part of the neural network structure described in [Understanding Neurons](../learn/neurons.md). +Neuron registration is required for joining a subnet as a miner or validator #### `burnedRegister` Registers a neuron in a subnet by burning TAO tokens. -**Function Signature:** -```solidity -function burnedRegister( - uint16 netuid, - bytes32 hotkey -) external payable -``` - **Parameters:** - `netuid` (uint16): The subnet ID to register the neuron in - `hotkey` (bytes32): The hotkey public key (32 bytes) of the neuron to register @@ -119,20 +80,6 @@ This function registers a new neuron in the specified subnet by burning a certai #### `serveAxon` Configures and serves an axon endpoint for the neuron. -**Function Signature:** -```solidity -function serveAxon( - uint16 netuid, - uint32 version, - uint128 ip, - uint16 port, - uint8 ipType, - uint8 protocol, - uint8 placeholder1, - uint8 placeholder2 -) external payable -``` - **Parameters:** - `netuid` (uint16): The subnet ID where the neuron is serving - `version` (uint32): Version of the axon service From e761248222113804199dae9641c1a966d6e9aaa3 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 9 Jun 2025 11:37:54 -0700 Subject: [PATCH 047/303] wip --- docs/yc3-blog.md | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/docs/yc3-blog.md b/docs/yc3-blog.md index 0cb99d84a8..0c9b6c7b8a 100644 --- a/docs/yc3-blog.md +++ b/docs/yc3-blog.md @@ -1,29 +1,61 @@ Blog Article: How Yuma Consensus 3 realizes the promise of fairness in Bittensor +https://github.com/opentensor/subtensor/pull/1593 + +## Yuma Consensus v3 (available for all subnets) +* Per-bond EMA scaling: individual & sparse-mode bonds now adapt via exponential moving + averages for smoother rewards +* Refactored α-parameters (including new sigmoid-steepness tuning) for fine-grained consensus + control +* Monte Carlo scenario tests & map_consensus.py integration tests validate retention guarantees + under adversarial conditions +* On-chain toggle event & ABI support to enable/disable Yuma3 per subnet for easy rollbacks +* https://github.com/opentensor/subtensor/pull/1593 + +### Notes for Subnet Owners +* Yuma 3 should be beneficial and safe to use in model verification subnets (specifically subnets which guarantee that a change in miner performance happens with a knowledge commitment), provided the bond reset flag is used correctly. +* It will distribute dividends to the validators more fairly than Yuma 2 did and Liquid Alpha 2.0 allows the subnet owners to disincentivize weight copying. + + + + + How Yuma Consensus 3 Realizes the Promise of Fairness in Bittensor In the world of Bittensor, validators play a crucial role in evaluating and ranking miners' performance. The Yuma Consensus mechanism, which determines how rewards are distributed, has evolved through several iterations to address fairness and efficiency concerns. The latest version, Yuma Consensus 3 (YC3), introduces significant improvements that better align incentives and create a more equitable system for all participants. The Evolution of Yuma Consensus + To understand YC3's improvements, let's look at how the system has evolved: -Yuma 1: Initial Implementation + The first iteration of Yuma Consensus distributed validator rewards based on their stake and the consensus weight of miners they evaluated. While functional, it had limitations in handling small validators and could lead to unfair rounding issues when distributing rewards. -Yuma 2: Improved Bonding + Yuma 2 introduced a more sophisticated bonding mechanism with a 10% daily adjustment limit. However, it still had issues: -Small validators could get unfairly penalized due to rounding -A bug in the anti-fraud system could cause bond distribution to freeze for months -Early recognition of good miners wasn't properly rewarded -Yuma 3: Revolutionary Improvements -YC3 introduces significant improvements that better reward early recognition and create a more level playing field. Here's how it works: + +- Small validators could get unfairly penalized due to rounding +- A bug in the anti-fraud system could cause bond distribution to freeze for months +- Early recognition of good miners wasn't properly rewarded + + +YC3 introduces significant improvements that better reward early recognition and create a more level playing field: + Independent Bond Adjustment: Each validator's bonds can change by up to 10% per day, but crucially, they can increase or decrease independently of other validators' opinions. + Fair Scaling: The bond values are stored on a 0-65535 scale, but in a way that allows every validator to potentially reach the maximum value for the same miner if they maintain high-quality evaluations. + Early Recognition Rewards: Validators who identify promising miners early can start accumulating bonds before the miner becomes widely recognized. This creates a proper incentive for proactive evaluation rather than just following the crowd. + Liquid Alpha Integration: YC3 works seamlessly with the Liquid Alpha feature, which provides additional rewards for validators who vote for miners that aren't yet receiving votes from other validators. This further encourages independent evaluation and early recognition. -Key Improvements in YC3 + Fairness for Small Validators: Unlike previous versions, YC3 doesn't unfairly penalize validators with smaller stake. The system ensures that all validators, regardless of their size, can earn appropriate rewards for their evaluations. + Better Early Recognition: The system properly rewards validators who identify promising miners early, creating stronger incentives for independent evaluation rather than just copying others' weights. + Smoother Transitions: The 10% daily adjustment limit helps prevent sudden changes in reward distribution while still allowing for meaningful updates to validator evaluations. + Anti-Fraud Protection: The system maintains strong protection against malicious behavior while fixing the issues that could cause bond distribution to freeze in Yuma 2. The Impact + YC3 represents a significant step forward in creating a more fair and efficient consensus mechanism. By better rewarding early recognition and independent evaluation, it encourages validators to: + Actively seek out and evaluate new miners Make independent judgments rather than following the crowd Maintain consistent, high-quality evaluations From c9074a46d711b37cf1f57360e1afae75f748337d Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 9 Jun 2025 13:41:56 -0700 Subject: [PATCH 048/303] wip --- docs/yc3-blog.md | 323 +++++++++++++++++------------------------------ 1 file changed, 119 insertions(+), 204 deletions(-) diff --git a/docs/yc3-blog.md b/docs/yc3-blog.md index 0c9b6c7b8a..0d3b92010d 100644 --- a/docs/yc3-blog.md +++ b/docs/yc3-blog.md @@ -1,229 +1,144 @@ -Blog Article: How Yuma Consensus 3 realizes the promise of fairness in Bittensor +# How Yuma Consensus 3 Makes Bittensor More Fair -https://github.com/opentensor/subtensor/pull/1593 +YC3 is the next evolution of Bittensor's consensus mechanism, designed to reward miner innovation and early recognition by validators. -## Yuma Consensus v3 (available for all subnets) -* Per-bond EMA scaling: individual & sparse-mode bonds now adapt via exponential moving - averages for smoother rewards -* Refactored α-parameters (including new sigmoid-steepness tuning) for fine-grained consensus - control -* Monte Carlo scenario tests & map_consensus.py integration tests validate retention guarantees - under adversarial conditions -* On-chain toggle event & ABI support to enable/disable Yuma3 per subnet for easy rollbacks -* https://github.com/opentensor/subtensor/pull/1593 +## Introduction: Understanding Yuma Consensus -### Notes for Subnet Owners -* Yuma 3 should be beneficial and safe to use in model verification subnets (specifically subnets which guarantee that a change in miner performance happens with a knowledge commitment), provided the bond reset flag is used correctly. -* It will distribute dividends to the validators more fairly than Yuma 2 did and Liquid Alpha 2.0 allows the subnet owners to disincentivize weight copying. +At the heart of every Bittensor subnet lies a fundamental challenge: how do you fairly distribute rewards for work, when that work can include a wide range of different digitial commodities or services? Bittensor approaches this as a distributed judgment problem: **Validators** serve as judges for the whole community, with trust in them being measured by the total stake they have been delegated. Their ratings of the performance of **miners** (who produce the commodities and services for each subnet) determine emissions to those miners. +But how can we keep validators honest and hard-working to make sure that they do their best effort to accurately judge the miners? +Yuma Consensus is Bittensor's solution. Validators continuously rank the quality of work done by miners in their subnet, with the rankings of validators being trusted in proportion to how much stake they have received from the community. Lazy or dishonest validators lose emissions for submitting inaccurate rankings, which is likely to cause the community to move their stake to more relabile validators. Hence the community's trust in a given validator, embodied as stake, is linked over time to the emissions earned by the miners that validator rates. Hence validators are kept honest and miners are kept working hard to produce the best commodities possible. +But how does this work in detail? Each validator submits their rankings of miners they've evaluated. The algorithm then looks at all these rankings and tries to figure out which validators are giving the most reliable, honest evaluations. Validators who consistently make good predictions about which miners *other* validators will *eventually* recognize as the best, get *more* influence in the system. Meanwhile, validators give stale or otherwise inaccurate evaluations lose out. +The system builds "bonds" between validators and miners over time. When a validator consistently recognizes a miner's good work, their bond with that miner strengthens, leading to better rewards for both parties. This creates a powerful incentive for validators to be diligent, honest, and forward-thinking in their evaluations. -How Yuma Consensus 3 Realizes the Promise of Fairness in Bittensor -In the world of Bittensor, validators play a crucial role in evaluating and ranking miners' performance. The Yuma Consensus mechanism, which determines how rewards are distributed, has evolved through several iterations to address fairness and efficiency concerns. The latest version, Yuma Consensus 3 (YC3), introduces significant improvements that better align incentives and create a more equitable system for all participants. -The Evolution of Yuma Consensus +But the earlier versions of this system had some significant flaws—particularly when it came to rewarding validators who were ahead of the curve in recognizing promising miners, and ensuring fairness for validators with smaller stakes. Yuma Consensus 3 solves these problems. -To understand YC3's improvements, let's look at how the system has evolved: +## The Evolution of Consensus -The first iteration of Yuma Consensus distributed validator rewards based on their stake and the consensus weight of miners they evaluated. While functional, it had limitations in handling small validators and could lead to unfair rounding issues when distributing rewards. +In the world of Bittensor, validators play a crucial role in evaluating and ranking miners' performance. The Yuma Consensus mechanism, which determines how rewards are distributed, has evolved through several iterations to address fairness and efficiency concerns. -Yuma 2 introduced a more sophisticated bonding mechanism with a 10% daily adjustment limit. However, it still had issues: +### The Limitations of Earlier Versions -- Small validators could get unfairly penalized due to rounding -- A bug in the anti-fraud system could cause bond distribution to freeze for months -- Early recognition of good miners wasn't properly rewarded +#### Yuma Consensus V1 +The first version of the algorithm distributed validator rewards based on stake and consensus weight, but had significant limitations: +- Small validators faced unfair rounding issues +- Limited mechanisms for recognizing early adopters of promising miners -YC3 introduces significant improvements that better reward early recognition and create a more level playing field: +#### Yuma Consensus V2 -Independent Bond Adjustment: Each validator's bonds can change by up to 10% per day, but crucially, they can increase or decrease independently of other validators' opinions. +The second version introduced a more sophisticated bonding mechanism with exponential moving averages, but still struggled with: +- Unfair penalties for small validators due to rounding errors +- Bond distribution issues when validator participation changed dramatically +- Insufficient rewards for validators who recognized good miners early +- Uniform alpha parameters that didn't account for individual validator-miner relationships -Fair Scaling: The bond values are stored on a 0-65535 scale, but in a way that allows every validator to potentially reach the maximum value for the same miner if they maintain high-quality evaluations. +#### The Bug -Early Recognition Rewards: Validators who identify promising miners early can start accumulating bonds before the miner becomes widely recognized. This creates a proper incentive for proactive evaluation rather than just following the crowd. +The bond distribution system had a fatal flaw in its anti-fraud mechanism. Bonds would only be redistributed when validators holding at least 50% of total stake cast votes for a given miner. This created a situation where: -Liquid Alpha Integration: YC3 works seamlessly with the Liquid Alpha feature, which provides additional rewards for validators who vote for miners that aren't yet receiving votes from other validators. This further encourages independent evaluation and early recognition. +1. **Bonds would freeze** when validators stopped actively voting for a miner +2. **Historical allocations persisted** for months, even when those validators were no longer evaluating the miner +3. **New evaluators were locked out** until enough high-stake validators resumed voting +4. **Unfair reward distribution** occurred when miners became relevant again - old bond holders received rewards despite not currently evaluating, while active evaluators received minimal bonds -Fairness for Small Validators: Unlike previous versions, YC3 doesn't unfairly penalize validators with smaller stake. The system ensures that all validators, regardless of their size, can earn appropriate rewards for their evaluations. +## Yuma Consensus V3 -Better Early Recognition: The system properly rewards validators who identify promising miners early, creating stronger incentives for independent evaluation rather than just copying others' weights. +Yuma Consensus 3 addresses these fundamental issues with several breakthrough improvements: -Smoother Transitions: The 10% daily adjustment limit helps prevent sudden changes in reward distribution while still allowing for meaningful updates to validator evaluations. +### Per-Bond EMA Scaling -Anti-Fraud Protection: The system maintains strong protection against malicious behavior while fixing the issues that could cause bond distribution to freeze in Yuma 2. -The Impact +The most significant innovation in YC3 is that each validator-miner bond pair now gets its own adjustment rate (alpha value) rather than using a single rate for all bonds. This allows individual relationships to evolve at different speeds based on performance and consensus differences. -YC3 represents a significant step forward in creating a more fair and efficient consensus mechanism. By better rewarding early recognition and independent evaluation, it encourages validators to: +When [Liquid Alpha is enabled](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L633-L640), the system calculates [individual alpha values](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1166-L1206) for each validator-miner pair using a [sigmoid function](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1274-L1302). When Liquid Alpha is disabled, it falls back to a [uniform alpha calculation](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1304-L1312) based on the bonds moving average parameter. + +### Fair Scaling for All Validators + +Bond values are computed using fixed-point arithmetic and then [converted to u16 for storage efficiency](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L859-L861), allowing precise fractional relationships while maintaining a 0-65535 storage scale. This levels the playing field between large and small validators. + +### Early Recognition Rewards + +Validators who identify promising miners before they become widely recognized can now start accumulating bonds early. This creates proper incentives for proactive evaluation rather than just following the crowd. + +The [alpha sigmoid function](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1274-L1302) calculates adjustment rates based on the difference between a validator's current weights and the network consensus. When a validator's weight for a miner differs significantly from consensus, the sigmoid determines whether to increase or decrease the bond adjustment rate, rewarding early recognition while preventing manipulation. + +## Understanding Bonds: The Key to Validator Rewards + +**Bonds** are the mechanism by which validators earn rewards for their evaluation work. Think of them as shares or stakes that validators accumulate with specific miners over time. + +Bonds held by a validator for a given miner, produce emissions in proportion to the strength of the bond and the emissions to the miner. See [source code.](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L712) + +**The Technical Implementation:** +1. **Storage**: Bonds are stored as [sparse matrices](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L948-L964) on a 0-65535 scale for efficiency +2. **Computation**: Each epoch, bonds are updated via [Exponential Moving Average (EMA)](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L651-L658) based on validator weights and previous bond values +3. **Rewards**: Validator dividends are computed by multiplying bonds with miner incentives + +**Mathematical Foundation:** Under the hood, bonds following the EMA equation. Here, $\Delta B_{ij}$ is the "instant bond" based on a validator's stake-weighted evaluation of a miner. + +$$ +B_{ij}^{(t)} = \alpha \,\Delta B_{ij} + (1-\alpha)\,B_{ij}^{(t-1)} +$$ + + +However, YC3's innovation is that α can now be different for each validator-miner pair rather than uniform across all bonds. The system also applies a bonds penalty factor β when validator weights exceed consensus, helping maintain anti-fraud protection. For the complete mathematical treatment, see the [formal Yuma Consensus documentation](./yuma-consensus.md#bonding-mechanics). + +### How Validators Acquire Bonds + +**In Yuma v2** (the problematic version): A validator needed to vote on a miner while at least 50% of validators were also voting for that miner. This meant early discoverers got locked out until big validators joined. + +**In Yuma v3**: Validators can [build bonds independently](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1108-L1127) through the EMA process. When Liquid Alpha is enabled, each validator-miner pair gets its own alpha value, allowing bonds to accumulate even when others haven't recognized the miner yet. + +### Liquid Alpha Integration + +YC3 works seamlessly with Liquid Alpha, providing additional rewards for validators who vote for +miners that aren't yet receiving votes from others. This further encourages independent evaluation +and early recognition. +YC3 integrates with Liquid Alpha when [specific conditions are met](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L633-L640): +1. Liquid Alpha must be enabled for the subnet +2. Consensus values must exist and contain non-zero values +3. The network must have sufficient activity + +When these conditions are satisfied, validators receive additional rewards for voting for miners that aren't yet receiving votes from others. If conditions aren't met, the system [falls back to traditional EMA bonding](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1108-L1115). + +### Enhanced EMA Smoothing + +The system maintains strong anti-fraud protection while providing smoother bond transitions. The adjustment rate is controlled by the [bonds moving average parameter](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1055-L1062), which can be configured up to 97.5% (meaning bonds change by 2.5% per epoch toward their target values). + +**Technical note:** The [EMA calculation](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1028) uses `alpha = 1 - (bonds_moving_average / 1_000_000)`, where bonds_moving_average is typically set to 975,000, resulting in approximately 2.5% adjustment per epoch. + +### Sparse Matrix Optimization + +While not YC3-specific, the implementation includes both [dense](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L208-L246) and [sparse matrix operations](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L621-L657) for memory and computational efficiency. The main epoch function uses sparse matrices by default to handle larger networks efficiently. + +## The Real-World Impact + +YC3 creates a healthier ecosystem by encouraging validators to: + +- **Make independent evaluations** rather than copying popular validators +- **Recognize promising miners early** through differentiated bond adjustment rates +- **Maintain consistent evaluations** while being rewarded for good prediction accuracy +- **Participate meaningfully regardless of stake size** through fair scaling mechanisms + +This transformation means innovation and early recognition are properly rewarded, while maintaining the security and reliability that makes Bittensor networks trustworthy. + +## For Subnet Owners + +Yuma 3 works best in subnets where validators can independently evaluate miners and benefit from early recognition of promising innovations. The system distributes dividends more fairly than previous versions, and when combined with Liquid Alpha, provides powerful tools to encourage independent evaluation. + +YC3 can be [toggled per subnet](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L628) through governance mechanisms. The [alpha parameter controls](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1316-L1356) allow fine-tuning of the sigmoid steepness and adjustment ranges for your specific subnet needs. + +**Important considerations:** +- Liquid Alpha must be enabled to get full YC3 benefits +- The system requires active consensus formation to function optimally +- Bond reset functionality is available for subnets that need it + +## Looking Forward -Actively seek out and evaluate new miners -Make independent judgments rather than following the crowd -Maintain consistent, high-quality evaluations -Participate in the network regardless of their stake size -This creates a healthier ecosystem where innovation and early recognition are properly rewarded, while maintaining the security and reliability of the consensus mechanism. -Looking Forward As Bittensor continues to grow, YC3 provides a solid foundation for fair and efficient consensus. The system's ability to reward early recognition while maintaining security makes it well-suited for the network's future development. -For subnet owners looking to implement YC3, it's available as an optional feature that can be enabled through the network's governance mechanisms. When combined with Liquid Alpha, it provides a powerful tool for creating fair and efficient subnet ecosystems. - -Discord dialogue for reference -It's like America Got Talent or ice skate dancing in the winder olympics, where for every day of the competition in the morning the organizer allows up to 64 judges to register, but they sort them by the number of twitter followers. - -If a judge is canceled (due to a vote copying scandal?) during the day, they can still cast votes until the end of the day as long as they have more than 1000 twitter followers (or alphas). - -If on the next day they won't get a judge permit in the morning because they were not in 64, but later in the day they defend themselves with a heartfelt apology and regain their followers, they still won't be able to cast votes until they get the judge permit in the morning. -now hear this, because we are getting to the fun part -the judges can also perform on the stage, but they cannot vote on themselves. There can be a situation where every single person in the room (which typically fits 256 people) is a performer and they can all receive incentive, but the bigger the following a judge has, the more effective voting power he'll lose due to self-voting being prohibited -also some judges are lazy and they don't watch and honestly judge the participants, but they print out the votes of the other judges (weighted by twitter following) from yesterday and they submit that as their votes -Rhef — 6/2/25, 1:06 PM -it doesn't matter if a judge has one twitter account with 200k followers or two accounts with 100k followers - the weighted voting power will be exactly the same (ok that's a bit of a lie when the stake gets smaller and smaller - Yuma 1 and 2 had a bad habit of destroying bonds of small validators for no good reason, something only @Fish | Datura, Celium cared about, but nobody paid attention and eventually Yuma 3 fixed this) -Kat | Biττensor CM・won't DM 1st — 6/2/25, 1:07 PM -By "account", you mean "hotkey", yes? (You're describing one person running more than one validator) -Rhef — 6/2/25, 1:08 PM -I mean a neuron, so a hotkey registered in the subnet -Kat | Biττensor CM・won't DM 1st — 6/2/25, 1:08 PM -Right, thanks. : ) -Rhef — 6/2/25, 1:10 PM -there is also an anti-fraud mechanism which makes it really hard for a group of malicious judges (called a cabal) to steal any incentive unless they have more than kappa (almost always 50%) of all followers of all the (active) judges -depending on the configuration of a subnet a judge may survive for a few days after they lost their permit while they still have bonds -Kat | Biττensor CM・won't DM 1st — 6/2/25, 1:13 PM -Okay. So then the next question would be: what is the difference between stake and bonds, with respect to a validator? -(When you are done with your current thought) -Rhef — 6/2/25, 1:13 PM -in Yuma 1 and 2 they can sometimes appear to be an extremely profitable judge if they collect some bonds and they lose stake. Then their bonds / stake, also called "APY", can be high when stake drops suddenly -stake is the number of twitter followers. Can change from 0 to 100k in one block and then back to 0 in the next block. -as for bonds 🤔 let me think for a sec, it's starting to escape the abstraction -Kat | Biττensor CM・won't DM 1st — 6/2/25, 1:18 PM -And if stake drops to 0 (i.e., 0 twitter followers), wouldn't that result in a divide-by-zero error when trying to calculate APY? -Kat | Biττensor CM・won't DM 1st — 6/2/25, 1:55 PM -"Infinite APY! What could POSSIBLY go wrong!" -Rhef — 6/2/25, 1:58 PM -at the end of the day the organizer performs an antifraud thing to prevent the malicious judges from stealing and then pays out the daily rewards to the participants. Those that got more votes from judges with larger following will get more and those that barely got any votes will barely get any incentive. Participant compensation is rather easy (unless you want to get into details of the anti-fraud system, which we'll skip today), but compensation for judges is a bit more complicated and depends on Yuma version chosen by the organizer and on hyperparameters. We'll assume default values of hyperparameters today. -lets say every participant performs on a concert once again in the evening -in Yuma 1 the organizer distributes 65535 tickets to each concert among the judges. Assuming no judge was found to be fraudulent, the tickets are distributed to judges proportionally to their twitter following. If there was some suspected fraud, then the judges found to be fraudulent can get less tickets for the participants they have voted less than the consensus of the judges. The total amounf of tickets they'll get can be called vtrust. If it's 100%, then they get tickets proportional to their following, if it's zero then they can get nothing. -Kat | Biττensor CM・won't DM 1st — 6/2/25, 2:06 PM -Okay. So if I have 100K followers, but only .5 vtrust, I get 50K tickets. -Rhef — 6/2/25, 2:06 PM -in Yuma 1 yes -but you don't want tickets, you want money. The way you get it is you sell the tickets in an online store. The tickets for good performers are worth a lot, but the tickets of the bad performers are worthless. -you can sell the tickets for a concert of a given participant for a price that is proportional to the reward the participant received on that day from the organizer -now someone can observe that this can be a bit unfair when the total number of twitter followers is already reaching 1.8 million - a judge with a thousand followers should get 1/1800 of the tickets, but 65536 doesn't divide very well by 1800, so there might be some rounding down there, causing judges with a small following to suffer unjustly! - -Fortunately the organizer has thought of that and they sort of calculate it in their head and pay it out properly -Rhef — 6/2/25, 2:16 PM ----- -in Yuma 2 the organizer distributes 65535 little ticket printers to the judges for every participant and the judges keep the printers overnight. Each printer prints one ticket every evening and the tickets can again be sold (with the magic fair rounding done in the organizers head). - -The interesting part happens on the second day though - the organizer, you see, will calculate the printer allocation for the second day, but he will only change the ownership of no more than 10% of the printers per day (assuming the following doesn't change). From 10% lost, through keeping the previous amount of printers to a 10% gain - that's as much as can happen in one day. -now someone can observe, hey, a judge in a perfectly honest subnet with a thousand followers indeed got a perfect 1/1800 of the value of the tickets for every performer, but overnight the amount of printers was still 65535, so he should get 36.4 printers but only got 36 because you can't have a fraction of a printer -Then on the second day he starts with 36 and can go up to 10% up, but that means up to 3.6 printers up, but in such case he'd have to end up with 39.6 printers, but that's going to get rounded down to 39. - -Yuma 2 can be unfair to judges with small following. -Rhef — 6/2/25, 2:40 PM -Yuma 2 and 3 help with cooperative judging. You see, in many subnets it is not possible for every judge to watch every participant every day, so what they tend to do, is every judge pseudorandomly selects a few new participants to watch, but also they look at the printouts of votes from the previous day and they look at the participants that other judges voted on yesterday. This way if a participant is good and someone starts voting on them, within a few days the other judges will hear about it and they will see the performance of the new talent that everyone is talking about... but by that time the first judge(s) that discovered the new talent should have accumulated a lot of ticket printers, which once the talent has been universally recognized, they can profit from heavily as they have a lot of printers and every ticket for this participant is worth a lot. Over time their APY will decline as the organizer moves 10% of the tickets from them to the other judges every day, but early recognition was meant to be profitable... unfortunately, there was a bug in the antifraud system which made it so that the printers were not distributed or redistributed unless judges with a sum of at least 50% of twitter followers have cast at least one vote for the given participant. This meant that when most or all judges stopped voting for a given participant, the ticket printer distribution would remain the same, sometimes FOR MONTHS and then suddenly when the participant got a new act they started showing off, when the value of the tickets to their concert increased, the payouts to the judges mostly reflected the pre-existing ticket printer allocation and would only adjust by 10% per day and only until the tickets become worthless again when the printer allocation will freeze again. -Kat | Biττensor CM・won't DM 1st — 6/2/25, 2:41 PM -Did someone read "Honeybee Democracy" by Dr. Thomas Seeley? - -Anyway, can you relate tickets to stake/bond? And what are ticket printers analogous to? (The actual ticket is representing either stake or earnings in the subnet's alpha token, right?) -Rhef — 6/2/25, 2:42 PM -this meant that a couple of judges with a high following were more likely to cross 50% and get the minimum recognition required for the participant to receive any incentive. If they were the only two casting votes on him, then ALL the printers for tickets of that participant would be distributed proportionally to their following and the others would need to patiently wait to get the 10%/day change -bonds are tickets in Yuma 1 -bonds are ticket printers in Yuma 2 -bonds held by a validator for a given miner, produce dividends with a simple multiplication. For every miner a judge receives dividends = bonds * incentive -Kat | Biττensor CM・won't DM 1st — 6/2/25, 2:46 PM -Oh. So bonds are the incentive that a validator earns for ranking a miner, relative to the incentive that's earned by that miner? -(So if I'm ranking a miner that's popular with the other validators, and we're in consensus, we all earn a reward specifically tied to that miner's success?) - -Rhef — 6/2/25, 2:49 PM -bonds allow the validator to earn dividends for ranking a miner, equal to the incentive that's earned by that miner and the number of bonds of that miner that the given validator holds -Kat | Biττensor CM・won't DM 1st — 6/2/25, 2:52 PM -Okay. And how does a validator acquire bonds for a miner? -Rhef — 6/2/25, 2:54 PM -In Yuma 2 they need to vote on that miner while at least 50% of the validators are voting for that miner... so if a small validator discovers a new talent and starts voting on it, everybody will see it and will soon check that new talent out, but that small validator won't get any bonds until the big judges start voting on it, though when they do, the small validator will only get a small portion of the bonds -so unfair! 😭 -Kat | Biττensor CM・won't DM 1st — 6/2/25, 2:57 PM -This is startlingly similar to the way honeybee colonies that are about to swarm choose a new location. -Rhef — 6/2/25, 3:07 PM ----- -in Yuma 3 every judge receives allowance for exclusive material about the participant. The allowance can change by 10% per day, but the allowance can increase or decrease every day, regardless of what other judges think. The judges then monetize the material by posting it on their twitter and they get ad revenue equal to amount of twitter followers * popularity of the participant. The allowance for every (judge, participant) pair is saved overnight on a 0-65535 scale, but in such a way that, if they vote long enough and high enough, every judge can end up having a 65535 for the same miner. - -The judge can recognize new talent and start accumulating the allowance a few tempos before the talent gets widely recognized. In such case that judge who found the talent early will already accumulate some bonds and will receive higher APY than others (for about a day). -Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:09 PM -OT question: is there a way to find out through Polkadot.js.org/apps whether there is a maximum number of subnets that can be registered? -Fish | Datura, Celium — 6/2/25, 3:11 PM -yes -subnet limit storage value -Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:12 PM -I found this get_max_allowed_uids in the GitHub. I will look for these things in Polka, thanks Fish. : ) -So it returns 4096 for me. Am I correct in understanding that the max number of subnets currently is then 4096? (I'm not tripping, or reading the wrong thing?) -https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-finney.opentensor.ai%3A443#/chainstate/constants -subtensorModule > initialMaxAllowedUids -Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:16 PM -How is popularity calculated? Is this the number of judges that are rating a participant, so that the judge can max out if they're the only voter? (Their allowance == their exclusive material?). How is such exclusivity determined? -Fish | Datura, Celium — 6/2/25, 3:20 PM -that is uids not subnets -uids for one subnet -Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:20 PM -Ah, okay. Hm. -Fish | Datura, Celium — 6/2/25, 3:29 PM -just checked and the parameter was removed with dtao. But will get added back when the subnet limit gets added back -https://github.com/opentensor/subtensor/issues/1651 -so it doesn't exist right now -Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:30 PM -Got it, thanks! -Rhef — 6/2/25, 3:30 PM -the limit is currently a subject of a heated discussion -unfortunately disabling the subnets when they go inactive is not an option because it exposes us to some nasty attacks. We got to delete them. -Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:32 PM -I presume most of the debate is in CoR, right? -🙏 -Rhef — 6/2/25, 3:33 PM -the exclusive material is like seconds of backstage video material or something. Good stuff people value. - -Here by popularity I really meant incentive -Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:34 PM -Okay, it's going to take me a hot minute to go through and try to map all of this out in my head. It's complicated stuff. -I appreciate all the hard work you're doing to try to explain this, though, a thousand-fold! -Rhef — 6/2/25, 3:35 PM ----- -in liquid alpha 2, the organizer recognizes courageous judges and gives bonus allowance for exclusive material to those judges who vote for talent which doesn't yet get votes from other judges. This means that the vote copying judges who are always one day behind will never get this bonus and will always stay behind -I'm gonna send it to my marketing guys in hope they can make a video explainer out of it -Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:40 PM -Where/how are judges acquiring this exclusive backstage material? -Rhef — 6/2/25, 3:43 PM -the organizer distributes the exclusive backstage material in the afternoon, after figuring out what the new allowance is for the judges -Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:44 PM -And the organizer is...? -Rhef — 6/2/25, 3:44 PM -subtensor -Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:48 PM -Okay. So, just so that I can try to sort these things out: - -o Liquid Alpha is a hyperparameter that subnet owners can enable to fight weight copiers. - -o Yuma 3 is a new and still optional hyperparameter (that I can't see yet, so probably needs to be enabled in a different way I haven't caught up with yet) that helps to even out rewards for validators who recognize new miners before other validators do, but whose stake is not very large with respect to other validators and whose bonds for the new miners would be correspondingly lower than what other validators are receiving. The goal is to reward swifter recognition of new quality miners, without penalizing validators with relatively small stake. - -o Subnets that want to use Yuma 3 also need to have Liquid Alpha enabled. - -Is this going in the right direction? -Rhef — 6/2/25, 3:51 PM -liquid alpha 2 is optional and works only with Yuma 3 -Kat | Biττensor CM・won't DM 1st — 6/2/25, 3:52 PM -Okay, so it's the other way around. You can have Yuma 3 (by itself), or Yuma 3 + Liquid Alpha, but you can't have Liquid Alpha without Yuma 3? -Rhef — 6/2/25, 3:52 PM -correct -Kat | Biττensor CM・won't DM 1st — 6/2/25, 4:00 PM -How do you set "on-chain toggle(s)"? I can see the liquid alpha hyperparameter, but not one for Yuma3 -NM, found it! -(For anyone who's looking: Polkadot.js.org/apps -- Developer > Extrinsic > adminUtils > SudoSetYuma3Enabled) -Rhef — 6/3/25, 4:51 AM -I think @bdhimes is yet to add a nice btcli command for this one -TAO4Fun [ τ, τ ] — 6/3/25, 9:06 AM -has trading on new subnets been blocked? -trexman — 6/3/25, 10:51 AM -@Kat | Biττensor CM・won't DM 1st @Rhef @TAO4Fun [ τ, τ ] -Another quick question on dereg stuff, sorry if someone answered this above and I missed it... -I was thinking that the lowest emission neuron was eligible to be bumped each block (the docs said that before and still say it), but as far as I can see in the code, it looks that only happens if the UIDs are capped. -So unless there are 4096 uids, nobody gets deregistered? -Kat | Biττensor CM・won't DM 1st — 6/3/25, 10:52 AM -Well, you're probably asking the wrong person, but if there are open slots in the subnet, then as I understand it, no one gets deregged until the slots are full and the next registration comes in. But it's 256 slots per subnet. -(Except for subnet 1, which is a weird subnet, being the original, granddaddy subnet) \ No newline at end of file + +For subnet owners ready to embrace more sophisticated consensus mechanisms, YC3 combined with Liquid Alpha provides a powerful toolkit for creating equitable and efficient subnet ecosystems. + +YC3 was introduced to the Subtensor Code base in [PR 1593](https://github.com/opentensor/subtensor/pull/1593). From 808ab4719aa5ce035a739da3f255eba857d54145 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 9 Jun 2025 13:49:05 -0700 Subject: [PATCH 049/303] wip --- docs/yc3-blog.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/docs/yc3-blog.md b/docs/yc3-blog.md index 0d3b92010d..94e2132797 100644 --- a/docs/yc3-blog.md +++ b/docs/yc3-blog.md @@ -57,7 +57,7 @@ When [Liquid Alpha is enabled](https://github.com/opentensor/subtensor/blob/main ### Fair Scaling for All Validators -Bond values are computed using fixed-point arithmetic and then [converted to u16 for storage efficiency](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L859-L861), allowing precise fractional relationships while maintaining a 0-65535 storage scale. This levels the playing field between large and small validators. +Bond values are computed using fixed-point arithmetic and then [converted to u16 for storage efficiency](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L859-L861), allowing precise fractional relationships while maintaining a 0-65535 storage scale. This fixes the disadvantages that plagued small-stake validators in previous versions. ### Early Recognition Rewards @@ -109,10 +109,6 @@ The system maintains strong anti-fraud protection while providing smoother bond **Technical note:** The [EMA calculation](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1028) uses `alpha = 1 - (bonds_moving_average / 1_000_000)`, where bonds_moving_average is typically set to 975,000, resulting in approximately 2.5% adjustment per epoch. -### Sparse Matrix Optimization - -While not YC3-specific, the implementation includes both [dense](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L208-L246) and [sparse matrix operations](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L621-L657) for memory and computational efficiency. The main epoch function uses sparse matrices by default to handle larger networks efficiently. - ## The Real-World Impact YC3 creates a healthier ecosystem by encouraging validators to: From 7a9a1484862704551d1219921ae062298c3e3796 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 9 Jun 2025 13:53:13 -0700 Subject: [PATCH 050/303] wip --- docs/yuma-consensus.md | 7 +++++++ sidebars.js | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/yuma-consensus.md b/docs/yuma-consensus.md index c5e57c42e8..9e24d29000 100644 --- a/docs/yuma-consensus.md +++ b/docs/yuma-consensus.md @@ -13,6 +13,7 @@ Each of a subnet's validators periodically submit a vector of weights ranking th The algorithm is designed to more heavily weight the inputs of more trusted validators, in order to ignore the portion of the validation signal that is less reliable. By disregarding unreliable weight-settings, YC incentivizes validators to be worthy of trust by working hard to give consistent, fast, honest evaluations of miners that predict the eventual convergence of other validators' evaluations. YC incentivizes miners to work hard for the highest combined evaluation by the community of validators. See: +- [How Yuma Consensus 3 Makes Bittensor More Fair](./yc3-blog) - [Emissions](./emissions) - [Subtensor Docs: Yuma Consensus](https://github.com/opentensor/subtensor/blob/main/docs/consensus.md) @@ -95,6 +96,12 @@ Validators who stay near consensus build stronger EMA bonds and thus extract mor The $\alpha$ variable here is unrelated to the concept of subnet specific currencies, referred to as alpha $\alpha$ tokens. Here $\alpha$ refers to a factor used in this EMA smoothing function—see [consensus-based weights, a.k.a. liquid alpha](./subnets/consensus-based-weights.md). ::: +:::info +Yuma Consensus 3 introduces **per-bond alpha scaling** where each validator-miner pair gets its own α value rather than using a uniform rate. When Liquid Alpha is enabled, the system calculates individual alpha values using a sigmoid function based on the difference between a validator's current weights and network consensus. This allows validators to start accumulating bonds independently, rewarding early recognition of promising miners while maintaining anti-fraud protection. + +See [How Yuma Consensus 3 Makes Bittensor More Fair](./yc3-blog) +::: + ## Validator emissions Each validator $i$’s share $V_i$ of validator emissions (41% of each subnet's total emissions) is the sum of all of its bonds to miners, weighted by the miner's total emissions: diff --git a/sidebars.js b/sidebars.js index 50671bc630..7ccb2e9d67 100644 --- a/sidebars.js +++ b/sidebars.js @@ -40,7 +40,8 @@ const sidebars = { "learn/bittensor-building-blocks", "learn/anatomy-of-incentive-mechanism", "emissions", - "yuma-consensus", + "yuma-consensus", + "yc3-blog" ], }, { From 48c17c8a49ee65d03d06e972431eec4747eac55b Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 9 Jun 2025 13:59:56 -0700 Subject: [PATCH 051/303] wip --- docs/yc3-blog.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/docs/yc3-blog.md b/docs/yc3-blog.md index 94e2132797..ee19a0708e 100644 --- a/docs/yc3-blog.md +++ b/docs/yc3-blog.md @@ -32,17 +32,15 @@ The first version of the algorithm distributed validator rewards based on stake The second version introduced a more sophisticated bonding mechanism with exponential moving averages, but still struggled with: - Unfair penalties for small validators due to rounding errors -- Bond distribution issues when validator participation changed dramatically - Insufficient rewards for validators who recognized good miners early - Uniform alpha parameters that didn't account for individual validator-miner relationships +- A serious bug in bond distribution, when validator participation changed dramatically. -#### The Bug +The last and most serious of these issues was that bonds were only redistributed when validators holding at least 50% of total stake cast votes for a given miner. This created a situation where: -The bond distribution system had a fatal flaw in its anti-fraud mechanism. Bonds would only be redistributed when validators holding at least 50% of total stake cast votes for a given miner. This created a situation where: - -1. **Bonds would freeze** when validators stopped actively voting for a miner -2. **Historical allocations persisted** for months, even when those validators were no longer evaluating the miner -3. **New evaluators were locked out** until enough high-stake validators resumed voting +1. **Bonds would freeze** when validators stopped actively voting for a miner. +2. **Historical allocations persisted** for months, even when those validators were no longer evaluating the miner. +3. **New evaluators were locked out** until enough high-stake validators resumed voting. 4. **Unfair reward distribution** occurred when miners became relevant again - old bond holders received rewards despite not currently evaluating, while active evaluators received minimal bonds ## Yuma Consensus V3 From a0b7b165de34154546db0fd49c37c721d4228c9c Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 9 Jun 2025 14:05:00 -0700 Subject: [PATCH 052/303] wip --- docs/yc3-blog.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/yc3-blog.md b/docs/yc3-blog.md index ee19a0708e..b93ef8c790 100644 --- a/docs/yc3-blog.md +++ b/docs/yc3-blog.md @@ -1,3 +1,7 @@ +--- +title: "How Yuma Consensus 3 Makes Bittensor More Fair" +--- + # How Yuma Consensus 3 Makes Bittensor More Fair YC3 is the next evolution of Bittensor's consensus mechanism, designed to reward miner innovation and early recognition by validators. @@ -81,7 +85,7 @@ B_{ij}^{(t)} = \alpha \,\Delta B_{ij} + (1-\alpha)\,B_{ij}^{(t-1)} $$ -However, YC3's innovation is that α can now be different for each validator-miner pair rather than uniform across all bonds. The system also applies a bonds penalty factor β when validator weights exceed consensus, helping maintain anti-fraud protection. For the complete mathematical treatment, see the [formal Yuma Consensus documentation](./yuma-consensus.md#bonding-mechanics). +However, YC3's innovation is that α can now be different for each validator-miner pair rather than uniform across all bonds. The system also applies a bonds penalty factor β when validator weights exceed consensus, helping maintain anti-fraud protection. For the complete mathematical treatment, see the main article on [Yuma Consensus](./yuma-consensus.md#bonding-mechanics). ### How Validators Acquire Bonds From 1a1c6c496b0ec7435ac7d5695be7ca16f17124a6 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 9 Jun 2025 14:05:51 -0700 Subject: [PATCH 053/303] wip --- docs/yc3-blog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/yc3-blog.md b/docs/yc3-blog.md index b93ef8c790..6c0e6a4229 100644 --- a/docs/yc3-blog.md +++ b/docs/yc3-blog.md @@ -22,7 +22,7 @@ But the earlier versions of this system had some significant flaws—particularl ## The Evolution of Consensus -In the world of Bittensor, validators play a crucial role in evaluating and ranking miners' performance. The Yuma Consensus mechanism, which determines how rewards are distributed, has evolved through several iterations to address fairness and efficiency concerns. +The Yuma Consensus mechanism, which determines how emissions are distributed, has evolved through several iterations to address fairness concerns. ### The Limitations of Earlier Versions From 00307147451cf6362c2a66eca33fb4fc6f48fa46 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 9 Jun 2025 14:37:44 -0700 Subject: [PATCH 054/303] wip --- yarn.lock | 2585 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 1456 insertions(+), 1129 deletions(-) diff --git a/yarn.lock b/yarn.lock index fd0ad1e251..98ca7e3be7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -107,14 +107,17 @@ __metadata: version: 5.25.0 resolution: "@algolia/client-query-suggestions@npm:5.25.0" dependencies: - "@algolia/client-common" "4.22.1" - "@algolia/requester-common" "4.22.1" - "@algolia/transporter" "4.22.1" + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/84f327d0bd98c2da8b37d3c51712baa794d44e78fd7e60f372899b882ac4d02e1836df27ed397dcb3deede820c7a8f20d1c043378166baaf1f855c89551cc5fd + languageName: node + linkType: hard -"@algolia/client-search@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.22.1.tgz" - integrity sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA== +"@algolia/client-search@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-search@npm:5.25.0" dependencies: "@algolia/client-common": "npm:5.25.0" "@algolia/requester-browser-xhr": "npm:5.25.0" @@ -189,19 +192,14 @@ __metadata: version: 5.25.0 resolution: "@algolia/requester-node-http@npm:5.25.0" dependencies: - "@babel/helper-validator-identifier" "^7.25.9" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4", "@babel/compat-data@^7.25.9": - version "7.26.3" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz" - integrity sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g== + "@algolia/client-common": "npm:5.25.0" + checksum: 10c0/310ecc88d6769b67d1959dfb11554699759ad358ce88b20edbe82cc007511efda3777451b3194ff26a600dc41bfe49588a74168c3f122302b945fe4e2e8b2063 + languageName: node + linkType: hard -"@babel/core@^7.19.6", "@babel/core@^7.21.3", "@babel/core@^7.23.3": - version "7.26.0" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz" - integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" dependencies: "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.24" @@ -2548,15 +2546,21 @@ __metadata: version: 3.7.0 resolution: "@docusaurus/utils-validation@npm:3.7.0" dependencies: - "@algolia/autocomplete-core" "1.9.3" - "@algolia/autocomplete-preset-algolia" "1.9.3" - "@docsearch/css" "3.5.2" - algoliasearch "^4.19.1" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + fs-extra: "npm:^11.2.0" + joi: "npm:^17.9.2" + js-yaml: "npm:^4.1.0" + lodash: "npm:^4.17.21" + tslib: "npm:^2.6.0" + checksum: 10c0/f0b67f93879b23c3238f66dde0361999399e40a61bb2531ba044939d136ed112e4d0304a598f718942e897d6abd3fd4e75d03d21e559fc2197a0d6324926668f + languageName: node + linkType: hard -"@docusaurus/core@3.4.0", "@docusaurus/core@^3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz" - integrity sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w== +"@docusaurus/utils@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/utils@npm:3.7.0" dependencies: "@docusaurus/logger": "npm:3.7.0" "@docusaurus/types": "npm:3.7.0" @@ -2611,61 +2615,37 @@ __metadata: version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - "@mdx-js/mdx" "^3.0.0" - "@slorber/remark-comment" "^1.0.0" - escape-html "^1.0.3" - estree-util-value-to-estree "^3.0.1" - file-loader "^6.2.0" - fs-extra "^11.1.1" - image-size "^1.0.2" - mdast-util-mdx "^3.0.0" - mdast-util-to-string "^4.0.0" - rehype-raw "^7.0.0" - remark-directive "^3.0.0" - remark-emoji "^4.0.0" - remark-frontmatter "^5.0.0" - remark-gfm "^4.0.0" - stringify-object "^3.3.0" - tslib "^2.6.0" - unified "^11.0.3" - unist-util-visit "^5.0.0" - url-loader "^4.1.1" - vfile "^6.0.1" - webpack "^5.88.1" - -"@docusaurus/module-type-aliases@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz" - integrity sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw== - dependencies: - "@docusaurus/types" "3.4.0" - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router-config" "*" - "@types/react-router-dom" "*" - react-helmet-async "*" - react-loadable "npm:@docusaurus/react-loadable@6.0.0" - -"@docusaurus/module-type-aliases@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.3.2.tgz" - integrity sha512-b/XB0TBJah5yKb4LYuJT4buFvL0MGAb0+vJDrJtlYMguRtsEBkf2nWl5xP7h4Dlw6ol0hsHrCYzJ50kNIOEclw== - dependencies: - "@docusaurus/types" "3.3.2" - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router-config" "*" - "@types/react-router-dom" "*" - react-helmet-async "*" - react-loadable "npm:@docusaurus/react-loadable@6.0.0" - -"@docusaurus/plugin-client-redirects@^3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz" - integrity sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ== + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jest/types@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/types@npm:29.6.3" dependencies: "@jest/schemas": "npm:^29.6.3" "@types/istanbul-lib-coverage": "npm:^2.0.0" @@ -2811,103 +2791,68 @@ __metadata: version: 3.0.0 resolution: "@npmcli/agent@npm:3.0.0" dependencies: - fs-extra "^11.1.1" - tslib "^2.6.0" - -"@docusaurus/tsconfig@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.3.2.tgz" - integrity sha512-2MQXkLoWqgOSiqFojNEq8iPtFBHGQqd1b/SQMoe+v3GgHmk/L6YTTO/hMcHhWb1hTFmbkei++IajSfD3RlZKvw== - -"@docusaurus/types@3.3.2", "@docusaurus/types@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-3.3.2.tgz" - integrity sha512-5p201S7AZhliRxTU7uMKtSsoC8mgPA9bs9b5NQg1IRdRxJfflursXNVsgc3PcMqiUTul/v1s3k3rXXFlRE890w== - dependencies: - "@mdx-js/mdx" "^3.0.0" - "@types/history" "^4.7.11" - "@types/react" "*" - commander "^5.1.0" - joi "^17.9.2" - react-helmet-async "^1.3.0" - utility-types "^3.10.0" - webpack "^5.88.1" - webpack-merge "^5.9.0" - -"@docusaurus/types@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz" - integrity sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A== - dependencies: - "@mdx-js/mdx" "^3.0.0" - "@types/history" "^4.7.11" - "@types/react" "*" - commander "^5.1.0" - joi "^17.9.2" - react-helmet-async "^1.3.0" - utility-types "^3.10.0" - webpack "^5.88.1" - webpack-merge "^5.9.0" - -"@docusaurus/utils-common@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz" - integrity sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ== - dependencies: - tslib "^2.6.0" - -"@docusaurus/utils-validation@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz" - integrity sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g== - dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - fs-extra "^11.2.0" - joi "^17.9.2" - js-yaml "^4.1.0" - lodash "^4.17.21" - tslib "^2.6.0" - -"@docusaurus/utils-validation@^3": - version "3.1.1" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.1.1.tgz" - integrity sha512-KlY4P9YVDnwL+nExvlIpu79abfEv6ZCHuOX4ZQ+gtip+Wxj0daccdReIWWtqxM/Fb5Cz1nQvUCc7VEtT8IBUAA== - dependencies: - "@docusaurus/logger" "3.1.1" - "@docusaurus/utils" "3.1.1" - joi "^17.9.2" - js-yaml "^4.1.0" - tslib "^2.6.0" - -"@docusaurus/utils@3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.1.1.tgz" - integrity sha512-ZJfJa5cJQtRYtqijsPEnAZoduW6sjAQ7ZCWSZavLcV10Fw0Z3gSaPKA/B4micvj2afRZ4gZxT7KfYqe5H8Cetg== - dependencies: - "@docusaurus/logger" "3.1.1" - "@svgr/webpack" "^6.5.1" - escape-string-regexp "^4.0.0" - file-loader "^6.2.0" - fs-extra "^11.1.1" - github-slugger "^1.5.0" - globby "^11.1.0" - gray-matter "^4.0.3" - jiti "^1.20.0" - js-yaml "^4.1.0" - lodash "^4.17.21" - micromatch "^4.0.5" - resolve-pathname "^3.0.0" - shelljs "^0.8.5" - tslib "^2.6.0" - url-loader "^4.1.1" - webpack "^5.88.1" - -"@docusaurus/utils@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz" - integrity sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g== + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@pnpm/config.env-replace@npm:^1.1.0": + version: 1.1.0 + resolution: "@pnpm/config.env-replace@npm:1.1.0" + checksum: 10c0/4cfc4a5c49ab3d0c6a1f196cfd4146374768b0243d441c7de8fa7bd28eaab6290f514b98490472cc65dbd080d34369447b3e9302585e1d5c099befd7c8b5e55f + languageName: node + linkType: hard + +"@pnpm/network.ca-file@npm:^1.0.1": + version: 1.0.2 + resolution: "@pnpm/network.ca-file@npm:1.0.2" + dependencies: + graceful-fs: "npm:4.2.10" + checksum: 10c0/95f6e0e38d047aca3283550719155ce7304ac00d98911e4ab026daedaf640a63bd83e3d13e17c623fa41ac72f3801382ba21260bcce431c14fbbc06430ecb776 + languageName: node + linkType: hard + +"@pnpm/npm-conf@npm:^2.1.0": + version: 2.3.1 + resolution: "@pnpm/npm-conf@npm:2.3.1" + dependencies: + "@pnpm/config.env-replace": "npm:^1.1.0" + "@pnpm/network.ca-file": "npm:^1.0.1" + config-chain: "npm:^1.1.11" + checksum: 10c0/778a3a34ff7d6000a2594d2a9821f873f737bc56367865718b2cf0ba5d366e49689efe7975148316d7afd8e6f1dcef7d736fbb6ea7ef55caadd1dc93a36bb302 + languageName: node + linkType: hard + +"@polka/url@npm:^1.0.0-next.24": + version: 1.0.0-next.29 + resolution: "@polka/url@npm:1.0.0-next.29" + checksum: 10c0/0d58e081844095cb029d3c19a659bfefd09d5d51a2f791bc61eba7ea826f13d6ee204a8a448c2f5a855c17df07b37517373ff916dd05801063c0568ae9937684 + languageName: node + linkType: hard + +"@sideway/address@npm:^4.1.5": + version: 4.1.5 + resolution: "@sideway/address@npm:4.1.5" dependencies: "@hapi/hoek": "npm:^9.0.0" checksum: 10c0/638eb6f7e7dba209053dd6c8da74d7cc995e2b791b97644d0303a7dd3119263bcb7225a4f6804d4db2bc4f96e5a9d262975a014f58eae4d1753c27cbc96ef959 @@ -3036,18 +2981,23 @@ __metadata: version: 8.1.0 resolution: "@svgr/babel-preset@npm:8.1.0" dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + "@svgr/babel-plugin-add-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression": "npm:8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value": "npm:8.0.0" + "@svgr/babel-plugin-svg-dynamic-title": "npm:8.0.0" + "@svgr/babel-plugin-svg-em-dimensions": "npm:8.0.0" + "@svgr/babel-plugin-transform-react-native-svg": "npm:8.1.0" + "@svgr/babel-plugin-transform-svg-component": "npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/49367d3ad0831f79b1056871b91766246f449d4d1168623af5e283fbaefce4a01d77ab00de6b045b55e956f9aae27895823198493cd232d88d3435ea4517ffc5 + languageName: node + linkType: hard -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== +"@svgr/core@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/core@npm:8.1.0" dependencies: "@babel/core": "npm:^7.21.3" "@svgr/babel-preset": "npm:8.1.0" @@ -3099,112 +3049,37 @@ __metadata: version: 8.1.0 resolution: "@svgr/webpack@npm:8.1.0" dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.1.0" - micromark-util-symbol "^1.0.1" - -"@svgr/babel-plugin-add-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz" - integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== - -"@svgr/babel-plugin-add-jsx-attribute@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz" - integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== - -"@svgr/babel-plugin-remove-jsx-attribute@*", "@svgr/babel-plugin-remove-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz" - integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== - -"@svgr/babel-plugin-remove-jsx-empty-expression@*", "@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz" - integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz" - integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz" - integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== - -"@svgr/babel-plugin-svg-dynamic-title@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz" - integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== - -"@svgr/babel-plugin-svg-dynamic-title@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz" - integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== - -"@svgr/babel-plugin-svg-em-dimensions@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz" - integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== - -"@svgr/babel-plugin-svg-em-dimensions@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz" - integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== - -"@svgr/babel-plugin-transform-react-native-svg@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz" - integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== - -"@svgr/babel-plugin-transform-react-native-svg@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz" - integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== - -"@svgr/babel-plugin-transform-svg-component@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz" - integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== - -"@svgr/babel-plugin-transform-svg-component@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz" - integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== - -"@svgr/babel-preset@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz" - integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" - "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" - "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" - "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" - "@svgr/babel-plugin-transform-svg-component" "8.0.0" - -"@svgr/babel-preset@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz" - integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" - "@svgr/babel-plugin-remove-jsx-attribute" "*" - "@svgr/babel-plugin-remove-jsx-empty-expression" "*" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1" - "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1" - "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1" - "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" - "@svgr/babel-plugin-transform-svg-component" "^6.5.1" - -"@svgr/core@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz" - integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== + "@babel/core": "npm:^7.21.3" + "@babel/plugin-transform-react-constant-elements": "npm:^7.21.3" + "@babel/preset-env": "npm:^7.20.2" + "@babel/preset-react": "npm:^7.18.6" + "@babel/preset-typescript": "npm:^7.21.0" + "@svgr/core": "npm:8.1.0" + "@svgr/plugin-jsx": "npm:8.1.0" + "@svgr/plugin-svgo": "npm:8.1.0" + checksum: 10c0/4c1cac45bd5890de8643e5a7bfb71f3bcd8b85ae5bbacf10b8ad9f939b7a98e8d601c3ada204ffb95223abf4a24beeac5a2a0d6928a52a1ab72a29da3c015c22 + languageName: node + linkType: hard + +"@szmarczak/http-timer@npm:^5.0.1": + version: 5.0.1 + resolution: "@szmarczak/http-timer@npm:5.0.1" + dependencies: + defer-to-connect: "npm:^2.0.1" + checksum: 10c0/4629d2fbb2ea67c2e9dc03af235c0991c79ebdddcbc19aed5d5732fb29ce01c13331e9b1a491584b9069bd6ecde6581dcbf871f11b7eefdebbab34de6cf2197e + languageName: node + linkType: hard + +"@trysound/sax@npm:0.2.0": + version: 0.2.0 + resolution: "@trysound/sax@npm:0.2.0" + checksum: 10c0/44907308549ce775a41c38a815f747009ac45929a45d642b836aa6b0a536e4978d30b8d7d680bbd116e9dd73b7dbe2ef0d1369dcfc2d09e83ba381e485ecbe12 + languageName: node + linkType: hard + +"@types/body-parser@npm:*": + version: 1.19.5 + resolution: "@types/body-parser@npm:1.19.5" dependencies: "@types/connect": "npm:*" "@types/node": "npm:*" @@ -3212,89 +3087,82 @@ __metadata: languageName: node linkType: hard -"@svgr/core@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" - integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== - dependencies: - "@babel/core" "^7.19.6" - "@svgr/babel-preset" "^6.5.1" - "@svgr/plugin-jsx" "^6.5.1" - camelcase "^6.2.0" - cosmiconfig "^7.0.1" - -"@svgr/hast-util-to-babel-ast@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz" - integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== - dependencies: - "@babel/types" "^7.21.3" - entities "^4.4.0" - -"@svgr/hast-util-to-babel-ast@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz" - integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== - dependencies: - "@babel/types" "^7.20.0" - entities "^4.4.0" - -"@svgr/plugin-jsx@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz" - integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - "@svgr/hast-util-to-babel-ast" "8.0.0" - svg-parser "^2.0.4" - -"@svgr/plugin-jsx@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz" - integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== - dependencies: - "@babel/core" "^7.19.6" - "@svgr/babel-preset" "^6.5.1" - "@svgr/hast-util-to-babel-ast" "^6.5.1" - svg-parser "^2.0.4" - -"@svgr/plugin-svgo@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz" - integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== - dependencies: - cosmiconfig "^8.1.3" - deepmerge "^4.3.1" - svgo "^3.0.2" - -"@svgr/plugin-svgo@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz" - integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== - dependencies: - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - svgo "^2.8.0" - -"@svgr/webpack@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz" - integrity sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA== - dependencies: - "@babel/core" "^7.19.6" - "@babel/plugin-transform-react-constant-elements" "^7.18.12" - "@babel/preset-env" "^7.19.4" - "@babel/preset-react" "^7.18.6" - "@babel/preset-typescript" "^7.18.6" - "@svgr/core" "^6.5.1" - "@svgr/plugin-jsx" "^6.5.1" - "@svgr/plugin-svgo" "^6.5.1" - -"@svgr/webpack@^8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz" - integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== +"@types/bonjour@npm:^3.5.9": + version: 3.5.13 + resolution: "@types/bonjour@npm:3.5.13" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/eebedbca185ac3c39dd5992ef18d9e2a9f99e7f3c2f52f5561f90e9ed482c5d224c7962db95362712f580ed5713264e777a98d8f0bd8747f4eadf62937baed16 + languageName: node + linkType: hard + +"@types/connect-history-api-fallback@npm:^1.3.5": + version: 1.5.4 + resolution: "@types/connect-history-api-fallback@npm:1.5.4" + dependencies: + "@types/express-serve-static-core": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/1b4035b627dcd714b05a22557f942e24a57ca48e7377dde0d2f86313fe685bc0a6566512a73257a55b5665b96c3041fb29228ac93331d8133011716215de8244 + languageName: node + linkType: hard + +"@types/connect@npm:*": + version: 3.4.38 + resolution: "@types/connect@npm:3.4.38" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c + languageName: node + linkType: hard + +"@types/debug@npm:^4.0.0": + version: 4.1.12 + resolution: "@types/debug@npm:4.1.12" + dependencies: + "@types/ms": "npm:*" + checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f + languageName: node + linkType: hard + +"@types/eslint-scope@npm:^3.7.7": + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" + dependencies: + "@types/eslint": "npm:*" + "@types/estree": "npm:*" + checksum: 10c0/a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc + languageName: node + linkType: hard + +"@types/eslint@npm:*": + version: 9.6.1 + resolution: "@types/eslint@npm:9.6.1" + dependencies: + "@types/estree": "npm:*" + "@types/json-schema": "npm:*" + checksum: 10c0/69ba24fee600d1e4c5abe0df086c1a4d798abf13792d8cfab912d76817fe1a894359a1518557d21237fbaf6eda93c5ab9309143dee4c59ef54336d1b3570420e + languageName: node + linkType: hard + +"@types/estree-jsx@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree-jsx@npm:1.0.5" + dependencies: + "@types/estree": "npm:*" + checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": + version: 1.0.7 + resolution: "@types/estree@npm:1.0.7" + checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c + languageName: node + linkType: hard + +"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^5.0.0": + version: 5.0.6 + resolution: "@types/express-serve-static-core@npm:5.0.6" dependencies: "@types/node": "npm:*" "@types/qs": "npm:*" @@ -3546,10 +3414,9 @@ __metadata: languageName: node linkType: hard -"@types/react@*": - version "18.2.57" - resolved "https://registry.npmjs.org/@types/react/-/react-18.2.57.tgz" - integrity sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw== +"@types/react@npm:*": + version: 19.1.4 + resolution: "@types/react@npm:19.1.4" dependencies: csstype: "npm:^3.0.2" checksum: 10c0/501350d4f9cef13c5dd1b1496fa70ebaff52f6fa359b623b51c9d817e5bc4333fa3c8b7a6a4cbc88c643385052d66a243c3ceccfd6926062f917a2dd0535f6b3 @@ -3650,22 +3517,46 @@ __metadata: languageName: node linkType: hard -"@ungap/structured-clone@^1.0.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== +"@ungap/structured-clone@npm:^1.0.0": + version: 1.3.0 + resolution: "@ungap/structured-clone@npm:1.3.0" + checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a + languageName: node + linkType: hard -"@vercel/analytics@^1.1.2": - version "1.2.2" - resolved "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.2.2.tgz" - integrity sha512-X0rctVWkQV1e5Y300ehVNqpOfSOufo7ieA5PIdna8yX/U7Vjz0GFsGf4qvAhxV02uQ2CVt7GYcrFfddXXK2Y4A== - dependencies: - server-only "^0.0.1" +"@vercel/analytics@npm:^1.1.2": + version: 1.5.0 + resolution: "@vercel/analytics@npm:1.5.0" + peerDependencies: + "@remix-run/react": ^2 + "@sveltejs/kit": ^1 || ^2 + next: ">= 13" + react: ^18 || ^19 || ^19.0.0-rc + svelte: ">= 4" + vue: ^3 + vue-router: ^4 + peerDependenciesMeta: + "@remix-run/react": + optional: true + "@sveltejs/kit": + optional: true + next: + optional: true + react: + optional: true + svelte: + optional: true + vue: + optional: true + vue-router: + optional: true + checksum: 10c0/43d33ea83b32f5203fec21b7f43c399e398f0c37d2dd341d522969e0e6ee23fd652a2766a4203a3ce573f711beee5ee1ab7d36316f767a4901160e3e96ee31e5 + languageName: node + linkType: hard -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== +"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/ast@npm:1.14.1" dependencies: "@webassemblyjs/helper-numbers": "npm:1.13.2" "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" @@ -3790,10 +3681,9 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== +"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" dependencies: "@webassemblyjs/ast": "npm:1.14.1" "@webassemblyjs/helper-api-error": "npm:1.13.2" @@ -3840,38 +3730,56 @@ __metadata: version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" + mime-types: "npm:~2.1.34" + negotiator: "npm:0.6.3" + checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 + languageName: node + linkType: hard -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== +"acorn-jsx@npm:^5.0.0": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard -acorn-jsx@^5.0.0: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== +"acorn-walk@npm:^8.0.0": + version: 8.3.4 + resolution: "acorn-walk@npm:8.3.4" + dependencies: + acorn: "npm:^8.11.0" + checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 + languageName: node + linkType: hard -acorn-walk@^8.0.0: - version "8.3.2" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== +"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.8.2": + version: 8.14.1 + resolution: "acorn@npm:8.14.1" + bin: + acorn: bin/acorn + checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 + languageName: node + linkType: hard -acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: - version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== +"address@npm:^1.0.1, address@npm:^1.1.2": + version: 1.2.2 + resolution: "address@npm:1.2.2" + checksum: 10c0/1c8056b77fb124456997b78ed682ecc19d2fd7ea8bd5850a2aa8c3e3134c913847c57bcae418622efd32ba858fa1e242a40a251ac31da0515664fc0ac03a047d + languageName: node + linkType: hard -address@^1.0.1, address@^1.1.2: - version "1.2.2" - resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 + languageName: node + linkType: hard -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" dependencies: clean-stack: "npm:^2.0.0" indent-string: "npm:^4.0.0" @@ -3906,22 +3814,28 @@ aggregate-error@^3.0.0: version: 5.1.0 resolution: "ajv-keywords@npm:5.1.0" dependencies: - fast-deep-equal "^3.1.3" + fast-deep-equal: "npm:^3.1.3" + peerDependencies: + ajv: ^8.8.2 + checksum: 10c0/18bec51f0171b83123ba1d8883c126e60c6f420cef885250898bf77a8d3e65e3bfb9e8564f497e30bdbe762a83e0d144a36931328616a973ee669dc74d4a9590 + languageName: node + linkType: hard -ajv@^6.12.2, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== +"ajv@npm:^6.12.2, ajv@npm:^6.12.5": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard -ajv@^8.0.0, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== +"ajv@npm:^8.0.0, ajv@npm:^8.9.0": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" dependencies: fast-deep-equal: "npm:^3.1.3" fast-uri: "npm:^3.0.1" @@ -3935,12 +3849,16 @@ ajv@^8.0.0, ajv@^8.9.0: version: 3.25.0 resolution: "algoliasearch-helper@npm:3.25.0" dependencies: - "@algolia/events" "^4.0.1" + "@algolia/events": "npm:^4.0.1" + peerDependencies: + algoliasearch: ">= 3.1 < 6" + checksum: 10c0/932e1397e702f7722450e12a852f6f366aa581dfb1801d078153d591a94d5ccf7da4098cd381f8c684463638aca738f468ba7e968da6e97a7bba14870aa3c5df + languageName: node + linkType: hard -algoliasearch@^4.18.0, algoliasearch@^4.19.1: - version "4.22.1" - resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.1.tgz" - integrity sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg== +"algoliasearch@npm:^5.14.2, algoliasearch@npm:^5.17.1": + version: 5.25.0 + resolution: "algoliasearch@npm:5.25.0" dependencies: "@algolia/client-abtesting": "npm:5.25.0" "@algolia/client-analytics": "npm:5.25.0" @@ -4306,12 +4224,14 @@ algoliasearch@^4.18.0, algoliasearch@^4.19.1: version: 2.0.1 resolution: "brace-expansion@npm:2.0.1" dependencies: - fill-range "^7.0.1" + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.22.3, browserslist@^4.23.0, browserslist@^4.24.0: - version "4.24.2" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz" - integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" dependencies: fill-range: "npm:^7.1.1" checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 @@ -5220,43 +5140,49 @@ browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^ version: 5.0.5 resolution: "csso@npm:5.0.5" dependencies: - css-tree "^1.1.2" - -csso@^5.0.5: - version "5.0.5" - resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz" - integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== - dependencies: - css-tree "~2.2.0" + css-tree: "npm:~2.2.0" + checksum: 10c0/ab4beb1e97dd7e207c10e9925405b45f15a6cd1b4880a8686ad573aa6d476aed28b4121a666cffd26c37a26179f7b54741f7c257543003bfb244d06a62ad569b + languageName: node + linkType: hard -csstype@^3.0.2: - version "3.1.3" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== +"csstype@npm:^3.0.2": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 + languageName: node + linkType: hard -debounce@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" - integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== +"debounce@npm:^1.2.1": + version: 1.2.1 + resolution: "debounce@npm:1.2.1" + checksum: 10c0/6c9320aa0973fc42050814621a7a8a78146c1975799b5b3cc1becf1f77ba9a5aa583987884230da0842a03f385def452fad5d60db97c3d1c8b824e38a8edf500 + languageName: node + linkType: hard -debug@2.6.9, debug@^2.6.0: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== +"debug@npm:2.6.9, debug@npm:^2.6.0": + version: 2.6.9 + resolution: "debug@npm:2.6.9" dependencies: - ms "2.0.0" + ms: "npm:2.0.0" + checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 + languageName: node + linkType: hard -debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4": + version: 4.4.1 + resolution: "debug@npm:4.4.1" dependencies: - ms "2.1.2" + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55 + languageName: node + linkType: hard -decode-named-character-reference@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" - integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== +"decode-named-character-reference@npm:^1.0.0": + version: 1.1.0 + resolution: "decode-named-character-reference@npm:1.1.0" dependencies: character-entities: "npm:^2.0.0" checksum: 10c0/359c76305b47e67660ec096c5cd3f65972ed75b8a53a40435a7a967cfab3e9516e64b443cbe0c7edcf5ab77f65a6924f12fb1872b1e09e2f044f28f4fd10996a @@ -5335,44 +5261,56 @@ decode-named-character-reference@^1.0.0: version: 6.1.1 resolution: "del@npm:6.1.1" dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -dequal@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -detect-port-alt@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== + globby: "npm:^11.0.1" + graceful-fs: "npm:^4.2.4" + is-glob: "npm:^4.0.1" + is-path-cwd: "npm:^2.2.0" + is-path-inside: "npm:^3.0.2" + p-map: "npm:^4.0.0" + rimraf: "npm:^3.0.2" + slash: "npm:^3.0.0" + checksum: 10c0/8a095c5ccade42c867a60252914ae485ec90da243d735d1f63ec1e64c1cfbc2b8810ad69a29ab6326d159d4fddaa2f5bad067808c42072351ec458efff86708f + languageName: node + linkType: hard + +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + languageName: node + linkType: hard + +"depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 10c0/acb24aaf936ef9a227b6be6d495f0d2eb20108a9a6ad40585c5bda1a897031512fef6484e4fdbb80bd249fdaa82841fa1039f416ece03188e677ba11bcfda249 + languageName: node + linkType: hard + +"dequal@npm:^2.0.0": + version: 2.0.3 + resolution: "dequal@npm:2.0.3" + checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 + languageName: node + linkType: hard + +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 + languageName: node + linkType: hard + +"detect-node@npm:^2.0.4": + version: 2.1.0 + resolution: "detect-node@npm:2.1.0" + checksum: 10c0/f039f601790f2e9d4654e499913259a798b1f5246ae24f86ab5e8bd4aaf3bce50484234c494f11fb00aecb0c6e2733aa7b1cf3f530865640b65fbbd65b2c4e09 + languageName: node + linkType: hard + +"detect-port-alt@npm:^1.1.6": + version: 1.1.6 + resolution: "detect-port-alt@npm:1.1.6" dependencies: address: "npm:^1.0.1" debug: "npm:^2.6.0" @@ -5474,12 +5412,14 @@ detect-port-alt@^1.1.6: version: 5.0.3 resolution: "domhandler@npm:5.0.3" dependencies: - domelementtype "^2.3.0" + domelementtype: "npm:^2.3.0" + checksum: 10c0/bba1e5932b3e196ad6862286d76adc89a0dbf0c773e5ced1eb01f9af930c50093a084eff14b8de5ea60b895c56a04d5de8bbc4930c5543d029091916770b2d2a + languageName: node + linkType: hard -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== +"domutils@npm:^2.5.2, domutils@npm:^2.8.0": + version: 2.8.0 + resolution: "domutils@npm:2.8.0" dependencies: dom-serializer: "npm:^1.0.1" domelementtype: "npm:^2.2.0" @@ -6095,12 +6035,14 @@ domutils@^2.5.2, domutils@^2.8.0: version: 3.2.0 resolution: "figures@npm:3.2.0" dependencies: - xml-js "^1.6.11" + escape-string-regexp: "npm:^1.0.5" + checksum: 10c0/9c421646ede432829a50bc4e55c7a4eb4bcb7cc07b5bab2f471ef1ab9a344595bbebb6c5c21470093fbb730cd81bbca119624c40473a125293f656f49cb47629 + languageName: node + linkType: hard -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== +"file-loader@npm:^6.2.0": + version: 6.2.0 + resolution: "file-loader@npm:6.2.0" dependencies: loader-utils: "npm:^2.0.0" schema-utils: "npm:^3.0.0" @@ -6532,32 +6474,38 @@ file-loader@^6.2.0: version: 12.6.1 resolution: "got@npm:12.6.1" dependencies: - "@sindresorhus/is" "^5.2.0" - "@szmarczak/http-timer" "^5.0.1" - cacheable-lookup "^7.0.0" - cacheable-request "^10.2.8" - decompress-response "^6.0.0" - form-data-encoder "^2.1.2" - get-stream "^6.0.1" - http2-wrapper "^2.1.10" - lowercase-keys "^3.0.0" - p-cancelable "^3.0.0" - responselike "^3.0.0" - -graceful-fs@4.2.10: - version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -gray-matter@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" - integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== + "@sindresorhus/is": "npm:^5.2.0" + "@szmarczak/http-timer": "npm:^5.0.1" + cacheable-lookup: "npm:^7.0.0" + cacheable-request: "npm:^10.2.8" + decompress-response: "npm:^6.0.0" + form-data-encoder: "npm:^2.1.2" + get-stream: "npm:^6.0.1" + http2-wrapper: "npm:^2.1.10" + lowercase-keys: "npm:^3.0.0" + p-cancelable: "npm:^3.0.0" + responselike: "npm:^3.0.0" + checksum: 10c0/2fe97fcbd7a9ffc7c2d0ecf59aca0a0562e73a7749cadada9770eeb18efbdca3086262625fb65590594edc220a1eca58fab0d26b0c93c2f9a008234da71ca66b + languageName: node + linkType: hard + +"graceful-fs@npm:4.2.10": + version: 4.2.10 + resolution: "graceful-fs@npm:4.2.10" + checksum: 10c0/4223a833e38e1d0d2aea630c2433cfb94ddc07dfc11d511dbd6be1d16688c5be848acc31f9a5d0d0ddbfb56d2ee5a6ae0278aceeb0ca6a13f27e06b9956fb952 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"gray-matter@npm:^4.0.3": + version: 4.0.3 + resolution: "gray-matter@npm:4.0.3" dependencies: js-yaml: "npm:^3.13.1" kind-of: "npm:^6.0.2" @@ -6728,24 +6676,27 @@ gray-matter@^4.0.3: version: 3.0.0 resolution: "hast-util-is-element@npm:3.0.0" dependencies: - "@types/hast" "^3.0.0" - -hast-util-is-element@1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz" - integrity sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ== + "@types/hast": "npm:^3.0.0" + checksum: 10c0/f5361e4c9859c587ca8eb0d8343492f3077ccaa0f58a44cd09f35d5038f94d65152288dcd0c19336ef2c9491ec4d4e45fde2176b05293437021570aa0bc3613b + languageName: node + linkType: hard -hast-util-is-element@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz" - integrity sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g== +"hast-util-minify-whitespace@npm:^1.0.0": + version: 1.0.1 + resolution: "hast-util-minify-whitespace@npm:1.0.1" dependencies: - "@types/hast" "^3.0.0" + "@types/hast": "npm:^3.0.0" + hast-util-embedded: "npm:^3.0.0" + hast-util-is-element: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/20a7d64947e080463084f444ad09c7f28c40e7648ca2d9c6c036e42a67f8e945d352560ff599304c988257c1e477abcf6a1f508c0900211fa58ec1ba21b36533 + languageName: node + linkType: hard -hast-util-parse-selector@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz" - integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== +"hast-util-parse-selector@npm:^4.0.0": + version: 4.0.0 + resolution: "hast-util-parse-selector@npm:4.0.0" dependencies: "@types/hast": "npm:^3.0.0" checksum: 10c0/5e98168cb44470dc274aabf1a28317e4feb09b1eaf7a48bbaa8c1de1b43a89cd195cb1284e535698e658e3ec26ad91bc5e52c9563c36feb75abbc68aaf68fb9f @@ -7066,55 +7017,67 @@ hast-util-parse-selector@^4.0.0: version: 8.0.2 resolution: "htmlparser2@npm:8.0.2" dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.0.1" - entities "^4.4.0" - -http-cache-semantics@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.0.1" + entities: "npm:^4.4.0" + checksum: 10c0/609cca85886d0bf2c9a5db8c6926a89f3764596877492e2caa7a25a789af4065bc6ee2cdc81807fe6b1d03a87bf8a373b5a754528a4cc05146b713c20575aab4 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 + languageName: node + linkType: hard + +"http-deceiver@npm:^1.2.7": + version: 1.2.7 + resolution: "http-deceiver@npm:1.2.7" + checksum: 10c0/8bb9b716f5fc55f54a451da7f49b9c695c3e45498a789634daec26b61e4add7c85613a4a9e53726c39d09de7a163891ecd6eb5809adb64500a840fd86fe81d03 + languageName: node + linkType: hard + +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: "npm:2.0.0" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + toidentifier: "npm:1.0.1" + checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 + languageName: node + linkType: hard + +"http-errors@npm:~1.6.2": + version: 1.6.3 + resolution: "http-errors@npm:1.6.3" + dependencies: + depd: "npm:~1.1.2" + inherits: "npm:2.0.3" + setprototypeof: "npm:1.1.0" + statuses: "npm:>= 1.4.0 < 2" + checksum: 10c0/17ec4046ee974477778bfdd525936c254b872054703ec2caa4d6f099566b8adade636ae6aeeacb39302c5cd6e28fb407ebd937f500f5010d0b6850750414ff78 + languageName: node + linkType: hard + +"http-parser-js@npm:>=0.5.1": + version: 0.5.10 + resolution: "http-parser-js@npm:0.5.10" + checksum: 10c0/8bbcf1832a8d70b2bd515270112116333add88738a2cc05bfb94ba6bde3be4b33efee5611584113818d2bcf654fdc335b652503be5a6b4c0b95e46f214187d93 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 languageName: node linkType: hard @@ -7230,70 +7193,95 @@ http-proxy-middleware@^2.0.3: version: 3.3.1 resolution: "import-fresh@npm:3.3.1" dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -inline-style-parser@0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" - integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== - -inline-style-parser@0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz" - integrity sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ== - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== - -is-alphabetical@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" - integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== - -is-alphanumerical@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz" - integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/bf8cc494872fef783249709385ae883b447e3eb09db0ebd15dcead7d9afe7224dad7bd7591c6b73b0b19b3c0f9640eb8ee884f01cfaf2887ab995b0b36a0cbec + languageName: node + linkType: hard + +"import-lazy@npm:^4.0.0": + version: 4.0.0 + resolution: "import-lazy@npm:4.0.0" + checksum: 10c0/a3520313e2c31f25c0b06aa66d167f329832b68a4f957d7c9daf6e0fa41822b6e84948191648b9b9d8ca82f94740cdf15eecf2401a5b42cd1c33fd84f2225cca + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"infima@npm:0.2.0-alpha.45": + version: 0.2.0-alpha.45 + resolution: "infima@npm:0.2.0-alpha.45" + checksum: 10c0/b50d103f6864687742067414d09392ccf3be363cf27503925a943ff56bb2392118e2bfdb6b2f89933417015e1770e58f81b2b0caf823f2adfb67f32b1702d469 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 10c0/6e56402373149ea076a434072671f9982f5fad030c7662be0332122fe6c0fa490acb3cc1010d90b6eff8d640b1167d77674add52dfd1bb85d545cf29e80e73e7 + languageName: node + linkType: hard + +"ini@npm:2.0.0": + version: 2.0.0 + resolution: "ini@npm:2.0.0" + checksum: 10c0/2e0c8f386369139029da87819438b20a1ff3fe58372d93fb1a86e9d9344125ace3a806b8ec4eb160a46e64cbc422fe68251869441676af49b7fc441af2389c25 + languageName: node + linkType: hard + +"ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + +"inline-style-parser@npm:0.2.4": + version: 0.2.4 + resolution: "inline-style-parser@npm:0.2.4" + checksum: 10c0/ddc0b210eaa03e0f98d677b9836242c583c7c6051e84ce0e704ae4626e7871c5b78f8e30853480218b446355745775df318d4f82d33087ff7e393245efa9a881 + languageName: node + linkType: hard + +"interpret@npm:^1.0.0": + version: 1.4.0 + resolution: "interpret@npm:1.4.0" + checksum: 10c0/08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 + languageName: node + linkType: hard + +"invariant@npm:^2.2.4": + version: 2.2.4 + resolution: "invariant@npm:2.2.4" dependencies: loose-envify: "npm:^1.0.0" checksum: 10c0/5af133a917c0bcf65e84e7f23e779e7abc1cd49cb7fdc62d00d1de74b0d8c1b5ee74ac7766099fb3be1b05b26dfc67bab76a17030d2fe7ea2eef867434362dfc @@ -7537,49 +7525,69 @@ is-alphanumerical@^2.0.0: version: 2.2.0 resolution: "is-wsl@npm:2.2.0" dependencies: - which-typed-array "^1.1.14" + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== +"is-yarn-global@npm:^0.4.0": + version: 0.4.1 + resolution: "is-yarn-global@npm:0.4.1" + checksum: 10c0/8ff66f33454614f8e913ad91cc4de0d88d519a46c1ed41b3f589da79504ed0fcfa304064fe3096dda9360c5f35aa210cb8e978fd36798f3118cb66a4de64d365 + languageName: node + linkType: hard -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 10c0/ed1e62da617f71fe348907c71743b5ed550448b455f8d269f89a7c7ddb8ae6e962de3dab6a74a237b06f5eb7f6ece7a45ada8ce96d87fe972926530f91ae3311 + languageName: node + linkType: hard -is-yarn-global@^0.4.0: - version "0.4.1" - resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz" - integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + languageName: node + linkType: hard -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +"isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: 10c0/03344f5064a82f099a0cd1a8a407f4c0d20b7b8485e8e816c39f249e9416b06c322e8dec5b842b6bb8a06de0af9cb48e7bc1b5352f0fadc2f0abac033db3d4db + languageName: node + linkType: hard -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard -jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== +"jest-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-util@npm:29.7.0" dependencies: "@jest/types": "npm:^29.6.3" "@types/node": "npm:*" @@ -8869,70 +8877,103 @@ jest-util@^29.7.0: version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: - braces "^3.0.2" - picomatch "^2.3.1" + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-db@npm:>= 1.43.0 < 2": + version: 1.54.0 + resolution: "mime-db@npm:1.54.0" + checksum: 10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284 + languageName: node + linkType: hard -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" - integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== +"mime-db@npm:~1.33.0": + version: 1.33.0 + resolution: "mime-db@npm:1.33.0" + checksum: 10c0/79172ce5468c8503b49dddfdddc18d3f5fe2599f9b5fe1bc321a8cbee14c96730fc6db22f907b23701b05b2936f865795f62ec3a78a7f3c8cb2450bb68c6763e + languageName: node + linkType: hard -mime-types@2.1.18: - version "2.1.18" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" - integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== +"mime-types@npm:2.1.18": + version: 2.1.18 + resolution: "mime-types@npm:2.1.18" dependencies: - mime-db "~1.33.0" + mime-db: "npm:~1.33.0" + checksum: 10c0/a96a8d12f4bb98bc7bfac6a8ccbd045f40368fc1030d9366050c3613825d3715d1c1f393e10a75a885d2cdc1a26cd6d5e11f3a2a0d5c4d361f00242139430a0f + languageName: node + linkType: hard -mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== +"mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" dependencies: - mime-db "1.52.0" + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 + languageName: node + linkType: hard -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 + languageName: node + linkType: hard -mimic-response@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz" - integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== +"mimic-response@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-response@npm:4.0.0" + checksum: 10c0/761d788d2668ae9292c489605ffd4fad220f442fbae6832adce5ebad086d691e906a6d5240c290293c7a11e99fbdbbef04abbbed498bf8699a4ee0f31315e3fb + languageName: node + linkType: hard -mini-css-extract-plugin@^2.7.6: - version "2.8.0" - resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.0.tgz" - integrity sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg== +"mini-css-extract-plugin@npm:^2.9.1": + version: 2.9.2 + resolution: "mini-css-extract-plugin@npm:2.9.2" dependencies: - schema-utils "^4.0.0" - tapable "^2.2.1" + schema-utils: "npm:^4.0.0" + tapable: "npm:^2.2.1" + peerDependencies: + webpack: ^5.0.0 + checksum: 10c0/5d3218dbd7db48b572925ddac05162a7415bf81b321f1a0c07016ec643cb5720c8a836ae68d45f5de826097a3013b601706c9c5aacb7f610dc2041b271de2ce0 + languageName: node + linkType: hard -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== +"minimalistic-assert@npm:^1.0.0": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd + languageName: node + linkType: hard -minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== +"minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" dependencies: brace-expansion: "npm:^1.1.7" checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 @@ -9527,70 +9568,125 @@ minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: version: 3.1.2 resolution: "pascal-case@npm:3.1.2" dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-exists@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz" - integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-is-inside@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" - integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-to-regexp@2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" - integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== - -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -periscopic@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz" - integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/05ff7c344809fd272fc5030ae0ee3da8e4e63f36d47a1e0a4855ca59736254192c5a27b5822ed4bae96e54048eec5f6907713cfcfff7cdf7a464eaf7490786d8 + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-exists@npm:^5.0.0": + version: 5.0.0 + resolution: "path-exists@npm:5.0.0" + checksum: 10c0/b170f3060b31604cde93eefdb7392b89d832dfbc1bed717c9718cbe0f230c1669b7e75f87e19901da2250b84d092989a0f9e44d2ef41deb09aa3ad28e691a40a + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-is-inside@npm:1.0.2": + version: 1.0.2 + resolution: "path-is-inside@npm:1.0.2" + checksum: 10c0/7fdd4b41672c70461cce734fc222b33e7b447fa489c7c4377c95e7e6852d83d69741f307d88ec0cc3b385b41cb4accc6efac3c7c511cd18512e95424f5fa980c + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.12": + version: 0.1.12 + resolution: "path-to-regexp@npm:0.1.12" + checksum: 10c0/1c6ff10ca169b773f3bba943bbc6a07182e332464704572962d277b900aeee81ac6aa5d060ff9e01149636c30b1f63af6e69dd7786ba6e0ddb39d4dee1f0645b + languageName: node + linkType: hard + +"path-to-regexp@npm:3.3.0": + version: 3.3.0 + resolution: "path-to-regexp@npm:3.3.0" + checksum: 10c0/ffa0ebe7088d38d435a8d08b0fe6e8c93ceb2a81a65d4dd1d9a538f52e09d5e3474ed5f553cb3b180d894b0caa10698a68737ab599fd1e56b4663d1a64c9f77b + languageName: node + linkType: hard + +"path-to-regexp@npm:^1.7.0": + version: 1.9.0 + resolution: "path-to-regexp@npm:1.9.0" + dependencies: + isarray: "npm:0.0.1" + checksum: 10c0/de9ddb01b84d9c2c8e2bed18630d8d039e2d6f60a6538595750fa08c7a6482512257464c8da50616f266ab2cdd2428387e85f3b089e4c3f25d0c537e898a0751 + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + +"pkg-dir@npm:^7.0.0": + version: 7.0.0 + resolution: "pkg-dir@npm:7.0.0" dependencies: find-up: "npm:^6.3.0" checksum: 10c0/1afb23d2efb1ec9d8b2c4a0c37bf146822ad2774f074cb05b853be5dca1b40815c5960dd126df30ab8908349262a266f31b771e877235870a3b8fd313beebec5 @@ -10134,13 +10230,16 @@ periscopic@^3.0.0: version: 6.0.2 resolution: "postcss-normalize-url@npm:6.0.2" dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/4718f1c0657788d2c560b340ee8e0a4eb3eb053eba6fbbf489e9a6e739b4c5f9ce1957f54bd03497c50a1f39962bf6ab9ff6ba4976b69dd160f6afd1670d69b7 + languageName: node + linkType: hard -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.15" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz" - integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== +"postcss-normalize-whitespace@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-whitespace@npm:6.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: @@ -10194,31 +10293,111 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version: 10.0.0 resolution: "postcss-place@npm:10.0.0" dependencies: - postcss-selector-parser "^6.0.16" - -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/ebb13deaac7648ba6042622375a31f78fbcc5209b7d196e478debbdf94525963fe621c932f4737a5b6b3d487af3b5ed6d059ed6193fdcbff6d3d5b150886ccc1 + languageName: node + linkType: hard + +"postcss-preset-env@npm:^10.1.0": + version: 10.1.6 + resolution: "postcss-preset-env@npm:10.1.6" + dependencies: + "@csstools/postcss-cascade-layers": "npm:^5.0.1" + "@csstools/postcss-color-function": "npm:^4.0.9" + "@csstools/postcss-color-mix-function": "npm:^3.0.9" + "@csstools/postcss-content-alt-text": "npm:^2.0.5" + "@csstools/postcss-exponential-functions": "npm:^2.0.8" + "@csstools/postcss-font-format-keywords": "npm:^4.0.0" + "@csstools/postcss-gamut-mapping": "npm:^2.0.9" + "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.9" + "@csstools/postcss-hwb-function": "npm:^4.0.9" + "@csstools/postcss-ic-unit": "npm:^4.0.1" + "@csstools/postcss-initial": "npm:^2.0.1" + "@csstools/postcss-is-pseudo-class": "npm:^5.0.1" + "@csstools/postcss-light-dark-function": "npm:^2.0.8" + "@csstools/postcss-logical-float-and-clear": "npm:^3.0.0" + "@csstools/postcss-logical-overflow": "npm:^2.0.0" + "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" + "@csstools/postcss-logical-resize": "npm:^3.0.0" + "@csstools/postcss-logical-viewport-units": "npm:^3.0.3" + "@csstools/postcss-media-minmax": "npm:^2.0.8" + "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.4" + "@csstools/postcss-nested-calc": "npm:^4.0.0" + "@csstools/postcss-normalize-display-values": "npm:^4.0.0" + "@csstools/postcss-oklab-function": "npm:^4.0.9" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/postcss-random-function": "npm:^2.0.0" + "@csstools/postcss-relative-color-syntax": "npm:^3.0.9" + "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" + "@csstools/postcss-sign-functions": "npm:^1.1.3" + "@csstools/postcss-stepped-value-functions": "npm:^4.0.8" + "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.2" + "@csstools/postcss-trigonometric-functions": "npm:^4.0.8" + "@csstools/postcss-unset-value": "npm:^4.0.0" + autoprefixer: "npm:^10.4.21" + browserslist: "npm:^4.24.4" + css-blank-pseudo: "npm:^7.0.1" + css-has-pseudo: "npm:^7.0.2" + css-prefers-color-scheme: "npm:^10.0.0" + cssdb: "npm:^8.2.5" + postcss-attribute-case-insensitive: "npm:^7.0.1" + postcss-clamp: "npm:^4.1.0" + postcss-color-functional-notation: "npm:^7.0.9" + postcss-color-hex-alpha: "npm:^10.0.0" + postcss-color-rebeccapurple: "npm:^10.0.0" + postcss-custom-media: "npm:^11.0.5" + postcss-custom-properties: "npm:^14.0.4" + postcss-custom-selectors: "npm:^8.0.4" + postcss-dir-pseudo-class: "npm:^9.0.1" + postcss-double-position-gradients: "npm:^6.0.1" + postcss-focus-visible: "npm:^10.0.1" + postcss-focus-within: "npm:^9.0.1" + postcss-font-variant: "npm:^5.0.0" + postcss-gap-properties: "npm:^6.0.0" + postcss-image-set-function: "npm:^7.0.0" + postcss-lab-function: "npm:^7.0.9" + postcss-logical: "npm:^8.1.0" + postcss-nesting: "npm:^13.0.1" + postcss-opacity-percentage: "npm:^3.0.0" + postcss-overflow-shorthand: "npm:^6.0.0" + postcss-page-break: "npm:^3.0.4" + postcss-place: "npm:^10.0.0" + postcss-pseudo-class-any-link: "npm:^10.0.1" + postcss-replace-overflow-wrap: "npm:^4.0.0" + postcss-selector-not: "npm:^8.0.1" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/89af9060f3528e254005e6b81e88c57589e6e7f74125b10d50ca8a05f830c9ac206f8197af1b3c4b7ba82d97993118dd121f1a11cfc9fd026e18d01ca6f7ad2d + languageName: node + linkType: hard -postcss-zindex@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz" - integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== +"postcss-pseudo-class-any-link@npm:^10.0.1": + version: 10.0.1 + resolution: "postcss-pseudo-class-any-link@npm:10.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/95e883996e87baf14fc09d25f9a763a2e9d599eb3b9c6b736e83a8c3d0b55841bcb886bccdf51b5b7fefc128cbd0187ad8841f59878f85bd1613642e592d7673 + languageName: node + linkType: hard -postcss@^8.4.21, postcss@^8.4.26, postcss@^8.4.33: - version "8.4.35" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz" - integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== +"postcss-reduce-idents@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-reduce-idents@npm:6.0.3" dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/d9f9209e52ebb3d1d7feefc0be24fc74792e064e0fdec99554f050c6b882c61073d5d40986c545061b30e5ead881615e92c965dc765d8d83b2dec10d6a664e1f + languageName: node + linkType: hard -postcss@^8.4.24, postcss@^8.4.38: - version "8.4.38" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== +"postcss-reduce-initial@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-reduce-initial@npm:6.1.0" dependencies: browserslist: "npm:^4.23.0" caniuse-api: "npm:^3.0.0" @@ -10446,22 +10625,31 @@ postcss@^8.4.24, postcss@^8.4.38: version: 2.0.7 resolution: "proxy-addr@npm:2.0.7" dependencies: - safe-buffer "^5.1.0" + forwarded: "npm:0.2.0" + ipaddr.js: "npm:1.9.1" + checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 + languageName: node + linkType: hard -range-parser@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" - integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== +"punycode@npm:^2.1.0, punycode@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== +"pupa@npm:^3.1.0": + version: 3.1.0 + resolution: "pupa@npm:3.1.0" + dependencies: + escape-goat: "npm:^4.0.0" + checksum: 10c0/02afa6e4547a733484206aaa8f8eb3fbfb12d3dd17d7ca4fa1ea390a7da2cb8f381e38868bbf68009c4d372f8f6059f553171b6a712d8f2802c7cd43d513f06c + languageName: node + linkType: hard -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== +"qs@npm:6.13.0": + version: 6.13.0 + resolution: "qs@npm:6.13.0" dependencies: side-channel: "npm:^1.0.6" checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 @@ -10495,35 +10683,28 @@ raw-body@2.5.1: version: 2.1.0 resolution: "randombytes@npm:2.1.0" dependencies: - "@babel/code-frame" "^7.16.0" - address "^1.1.2" - browserslist "^4.18.1" - chalk "^4.1.2" - cross-spawn "^7.0.3" - detect-port-alt "^1.1.6" - escape-string-regexp "^4.0.0" - filesize "^8.0.6" - find-up "^5.0.0" - fork-ts-checker-webpack-plugin "^6.5.0" - global-modules "^2.0.0" - globby "^11.0.4" - gzip-size "^6.0.0" - immer "^9.0.7" - is-root "^2.1.0" - loader-utils "^3.2.0" - open "^8.4.0" - pkg-up "^3.1.0" - prompts "^2.4.2" - react-error-overlay "^6.0.11" - recursive-readdir "^2.2.2" - shell-quote "^1.7.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + +"range-parser@npm:1.2.0": + version: 1.2.0 + resolution: "range-parser@npm:1.2.0" + checksum: 10c0/c7aef4f6588eb974c475649c157f197d07437d8c6c8ff7e36280a141463fb5ab7a45918417334ebd7b665c6b8321cf31c763f7631dd5f5db9372249261b8b02a + languageName: node + linkType: hard + +"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 + languageName: node + linkType: hard + +"raw-body@npm:2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" dependencies: bytes: "npm:3.1.2" http-errors: "npm:2.0.0" @@ -10659,9 +10840,8 @@ react-dom@^18.2.0: linkType: hard "react-loadable@npm:@docusaurus/react-loadable@6.0.0": - version "6.0.0" - resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz" - integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== + version: 6.0.0 + resolution: "@docusaurus/react-loadable@npm:6.0.0" dependencies: "@types/react": "npm:*" peerDependencies: @@ -10686,33 +10866,41 @@ react-dom@^18.2.0: version: 5.3.4 resolution: "react-router-dom@npm:5.3.4" dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.3.4" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-router@5.3.4, react-router@^5.3.4: - version "5.3.4" - resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" - integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + "@babel/runtime": "npm:^7.12.13" + history: "npm:^4.9.0" + loose-envify: "npm:^1.3.1" + prop-types: "npm:^15.6.2" + react-router: "npm:5.3.4" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" + peerDependencies: + react: ">=15" + checksum: 10c0/f04f727e2ed2e9d1d3830af02cc61690ff67b1524c0d18690582bfba0f4d14142ccc88fb6da6befad644fddf086f5ae4c2eb7048c67da8a0b0929c19426421b0 + languageName: node + linkType: hard + +"react-router@npm:5.3.4, react-router@npm:^5.3.4": + version: 5.3.4 + resolution: "react-router@npm:5.3.4" + dependencies: + "@babel/runtime": "npm:^7.12.13" + history: "npm:^4.9.0" + hoist-non-react-statics: "npm:^3.1.0" + loose-envify: "npm:^1.3.1" + path-to-regexp: "npm:^1.7.0" + prop-types: "npm:^15.6.2" + react-is: "npm:^16.6.0" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" + peerDependencies: + react: ">=15" + checksum: 10c0/e15c00dfef199249b4c6e6d98e5e76cc352ce66f3270f13df37cc069ddf7c05e43281e8c308fc407e4435d72924373baef1d2890e0f6b0b1eb423cf47315a053 + languageName: node + linkType: hard + +"react@npm:^18.2.0": + version: 18.3.1 + resolution: "react@npm:18.3.1" dependencies: loose-envify: "npm:^1.1.0" checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 @@ -11200,48 +11388,76 @@ react@^18.2.0: version: 4.3.0 resolution: "rtlcss@npm:4.3.0" dependencies: - queue-microtask "^1.2.2" + escalade: "npm:^3.1.1" + picocolors: "npm:^1.0.0" + postcss: "npm:^8.4.21" + strip-json-comments: "npm:^3.1.1" + bin: + rtlcss: bin/rtlcss.js + checksum: 10c0/ec59db839e1446b4cd6dcef618c8986f00d67e0ac3c2d40bd9041f1909aaacd668072c90849906ca692dea25cd993f46e9188b4c36adfa5bd3eebeb945fb28f2 + languageName: node + linkType: hard -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 + languageName: node + linkType: hard -sax@^1.2.4: - version "1.3.0" - resolved "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== +"sax@npm:^1.2.4": + version: 1.4.1 + resolution: "sax@npm:1.4.1" + checksum: 10c0/6bf86318a254c5d898ede6bd3ded15daf68ae08a5495a2739564eb265cd13bcc64a07ab466fb204f67ce472bb534eb8612dac587435515169593f4fffa11de7c + languageName: node + linkType: hard + +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" dependencies: - loose-envify "^1.1.0" + loose-envify: "npm:^1.1.0" + checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 + languageName: node + linkType: hard -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== +"schema-utils@npm:2.7.0": + version: 2.7.0 + resolution: "schema-utils@npm:2.7.0" dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" + "@types/json-schema": "npm:^7.0.4" + ajv: "npm:^6.12.2" + ajv-keywords: "npm:^3.4.1" + checksum: 10c0/723c3c856a0313a89aa81c5fb2c93d4b11225f5cdd442665fddd55d3c285ae72e079f5286a3a9a1a973affe888f6c33554a2cf47b79b24cd8de2f1f756a6fb1b + languageName: node + linkType: hard -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== +"schema-utils@npm:^3.0.0": + version: 3.3.0 + resolution: "schema-utils@npm:3.3.0" dependencies: "@types/json-schema": "npm:^7.0.8" ajv: "npm:^6.12.5" @@ -11254,15 +11470,17 @@ schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: version: 4.3.2 resolution: "schema-utils@npm:4.3.2" dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" + "@types/json-schema": "npm:^7.0.9" + ajv: "npm:^8.9.0" + ajv-formats: "npm:^2.1.1" + ajv-keywords: "npm:^5.1.0" + checksum: 10c0/981632f9bf59f35b15a9bcdac671dd183f4946fe4b055ae71a301e66a9797b95e5dd450de581eb6cca56fb6583ce8f24d67b2d9f8e1b2936612209697f6c277e + languageName: node + linkType: hard -section-matter@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" - integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== +"section-matter@npm:^1.0.0": + version: 1.0.0 + resolution: "section-matter@npm:1.0.0" dependencies: extend-shallow: "npm:^2.0.1" kind-of: "npm:^6.0.0" @@ -11291,17 +11509,32 @@ section-matter@^1.0.0: version: 4.0.0 resolution: "semver-diff@npm:4.0.0" dependencies: - semver "^7.3.5" + semver: "npm:^7.3.5" + checksum: 10c0/3ed1bb22f39b4b6e98785bb066e821eabb9445d3b23e092866c50e7df8b9bd3eda617b242f81db4159586e0e39b0deb908dd160a24f783bd6f52095b22cd68ea + languageName: node + linkType: hard -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.4: - version "7.6.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== +"semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.4": + version: 7.7.2 + resolution: "semver@npm:7.7.2" + bin: + semver: bin/semver.js + checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea + languageName: node + linkType: hard + +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" dependencies: debug: "npm:2.6.9" depd: "npm:2.0.0" @@ -11680,46 +11913,69 @@ semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.4: version: 4.0.2 resolution: "spdy@npm:4.0.2" dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -srcset@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz" - integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -std-env@^3.0.1: - version "3.7.0" - resolved "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz" - integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + debug: "npm:^4.1.0" + handle-thing: "npm:^2.0.0" + http-deceiver: "npm:^1.2.7" + select-hose: "npm:^2.0.0" + spdy-transport: "npm:^3.0.0" + checksum: 10c0/983509c0be9d06fd00bb9dff713c5b5d35d3ffd720db869acdd5ad7aa6fc0e02c2318b58f75328957d8ff772acdf1f7d19382b6047df342044ff3e2d6805ccdf + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"srcset@npm:^4.0.0": + version: 4.0.0 + resolution: "srcset@npm:4.0.0" + checksum: 10c0/0685c3bd2423b33831734fb71560cd8784f024895e70ee2ac2c392e30047c27ffd9481e001950fb0503f4906bc3fe963145935604edad77944d09c9800990660 + languageName: node + linkType: hard + +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d + languageName: node + linkType: hard + +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 + languageName: node + linkType: hard + +"statuses@npm:>= 1.4.0 < 2": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: 10c0/e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940 + languageName: node + linkType: hard + +"std-env@npm:^3.7.0": + version: 3.9.0 + resolution: "std-env@npm:3.9.0" + checksum: 10c0/4a6f9218aef3f41046c3c7ecf1f98df00b30a07f4f35c6d47b28329bc2531eef820828951c7d7b39a1c5eb19ad8a46e3ddfc7deb28f0a2f3ceebee11bab7ba50 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" dependencies: emoji-regex: "npm:^8.0.0" is-fullwidth-code-point: "npm:^3.0.0" @@ -11732,28 +11988,34 @@ string-width@^4.1.0, string-width@^4.2.0: version: 5.1.2 resolution: "string-width@npm:5.1.2" dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" dependencies: - safe-buffer "~5.2.0" + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" dependencies: - safe-buffer "~5.1.0" + safe-buffer: "npm:~5.1.0" + checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e + languageName: node + linkType: hard -stringify-entities@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz" - integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== +"stringify-entities@npm:^4.0.0": + version: 4.0.4 + resolution: "stringify-entities@npm:4.0.4" dependencies: character-entities-html4: "npm:^2.0.0" character-entities-legacy: "npm:^3.0.0" @@ -12092,32 +12354,55 @@ stringify-entities@^4.0.0: version: 3.1.5 resolution: "typedarray-to-buffer@npm:3.1.5" dependencies: - is-typedarray "^1.0.0" + is-typedarray: "npm:^1.0.0" + checksum: 10c0/4ac5b7a93d604edabf3ac58d3a2f7e07487e9f6e98195a080e81dbffdc4127817f470f219d794a843b87052cedef102b53ac9b539855380b8c2172054b7d5027 + languageName: node + linkType: hard -typescript@~5.2.2: - version "5.2.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== +"typescript@npm:~5.2.2": + version: 5.2.2 + resolution: "typescript@npm:5.2.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/91ae3e6193d0ddb8656d4c418a033f0f75dec5e077ebbc2bd6d76439b93f35683936ee1bdc0e9cf94ec76863aa49f27159b5788219b50e1cd0cd6d110aa34b07 + languageName: node + linkType: hard -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +"typescript@patch:typescript@npm%3A~5.2.2#optional!builtin": + version: 5.2.2 + resolution: "typescript@patch:typescript@npm%3A5.2.2#optional!builtin::version=5.2.2&hash=f3b441" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/062c1cee1990e6b9419ce8a55162b8dc917eb87f807e4de0327dbc1c2fa4e5f61bc0dd4e034d38ff541d1ed0479b53bcee8e4de3a4075c51a1724eb6216cb6f5 + languageName: node + linkType: hard -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 + languageName: node + linkType: hard -unicode-emoji-modifier-base@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz" - integrity sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g== +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 10c0/f83bc492fdbe662860795ef37a85910944df7310cac91bd778f1c19ebc911e8b9cde84e703de631e5a2fcca3905e39896f8fc5fc6a44ddaf7f4aff1cda24f381 + languageName: node + linkType: hard -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== +"unicode-emoji-modifier-base@npm:^1.0.0": + version: 1.0.0 + resolution: "unicode-emoji-modifier-base@npm:1.0.0" + checksum: 10c0/b37623fcf0162186debd20f116483e035a2d5b905b932a2c472459d9143d446ebcbefb2a494e2fe4fa7434355396e2a95ec3fc1f0c29a3bc8f2c827220e79c66 + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" dependencies: unicode-canonical-property-names-ecmascript: "npm:^2.0.0" unicode-property-aliases-ecmascript: "npm:^2.0.0" @@ -12241,24 +12526,24 @@ unicode-match-property-ecmascript@^2.0.0: version: 4.0.0 resolution: "unist-util-stringify-position@npm:4.0.0" dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - unist-util-visit-parents "^6.0.0" - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + "@types/unist": "npm:^3.0.0" + checksum: 10c0/dfe1dbe79ba31f589108cb35e523f14029b6675d741a79dea7e5f3d098785045d556d5650ec6a8338af11e9e78d2a30df12b1ee86529cded1098da3f17ee999e + languageName: node + linkType: hard -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== +"unist-util-visit-parents@npm:^6.0.0": + version: 6.0.1 + resolution: "unist-util-visit-parents@npm:6.0.1" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/51b1a5b0aa23c97d3e03e7288f0cdf136974df2217d0999d3de573c05001ef04cccd246f51d2ebdfb9e8b0ed2704451ad90ba85ae3f3177cf9772cef67f56206 + languageName: node + linkType: hard -update-browserslist-db@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz" - integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== +"unist-util-visit@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-visit@npm:5.0.0" dependencies: "@types/unist": "npm:^3.0.0" unist-util-is: "npm:^6.0.0" @@ -12538,19 +12823,34 @@ update-browserslist-db@^1.1.1: version: 5.10.0 resolution: "webpack-merge@npm:5.10.0" dependencies: - clone-deep "^4.0.1" - flat "^5.0.2" - wildcard "^2.0.0" + clone-deep: "npm:^4.0.1" + flat: "npm:^5.0.2" + wildcard: "npm:^2.0.0" + checksum: 10c0/b607c84cabaf74689f965420051a55a08722d897bdd6c29cb0b2263b451c090f962d41ecf8c9bf56b0ab3de56e65476ace0a8ecda4f4a4663684243d90e0512b + languageName: node + linkType: hard -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== +"webpack-merge@npm:^6.0.1": + version: 6.0.1 + resolution: "webpack-merge@npm:6.0.1" + dependencies: + clone-deep: "npm:^4.0.1" + flat: "npm:^5.0.2" + wildcard: "npm:^2.0.1" + checksum: 10c0/bf1429567858b353641801b8a2696ca0aac270fc8c55d4de8a7b586fe07d27fdcfc83099a98ab47e6162383db8dd63bb8cc25b1beb2ec82150422eec843b0dc0 + languageName: node + linkType: hard -webpack@^5.88.1: - version "5.90.3" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz" - integrity sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA== +"webpack-sources@npm:^3.2.3": + version: 3.2.3 + resolution: "webpack-sources@npm:3.2.3" + checksum: 10c0/2ef63d77c4fad39de4a6db17323d75eb92897b32674e97d76f0a1e87c003882fc038571266ad0ef581ac734cbe20952912aaa26155f1905e96ce251adbb1eb4e + languageName: node + linkType: hard + +"webpack@npm:^5.88.1, webpack@npm:^5.95.0": + version: 5.99.8 + resolution: "webpack@npm:5.99.8" dependencies: "@types/eslint-scope": "npm:^3.7.7" "@types/estree": "npm:^1.0.6" @@ -12589,15 +12889,23 @@ webpack@^5.88.1: version: 6.0.1 resolution: "webpackbar@npm:6.0.1" dependencies: - chalk "^4.1.0" - consola "^2.15.3" - pretty-time "^1.1.0" - std-env "^3.0.1" + ansi-escapes: "npm:^4.3.2" + chalk: "npm:^4.1.2" + consola: "npm:^3.2.3" + figures: "npm:^3.2.0" + markdown-table: "npm:^2.0.0" + pretty-time: "npm:^1.1.0" + std-env: "npm:^3.7.0" + wrap-ansi: "npm:^7.0.0" + peerDependencies: + webpack: 3 || 4 || 5 + checksum: 10c0/8dfa2c55f8122f729c7efd515a2b50fb752c0d0cb27ec2ecdbc70d90a86d5f69f466c9c5d01004f71b500dafba957ecd4413fca196a98cf99a39b705f98cae97 + languageName: node + linkType: hard -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== +"websocket-driver@npm:>=0.5.1, websocket-driver@npm:^0.7.4": + version: 0.7.4 + resolution: "websocket-driver@npm:0.7.4" dependencies: http-parser-js: "npm:>=0.5.1" safe-buffer: "npm:>=5.1.0" @@ -12744,39 +13052,58 @@ websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version: 1.6.11 resolution: "xml-js@npm:1.6.11" dependencies: - sax "^1.2.4" - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== - -zwitch@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== - -zwitch@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== + sax: "npm:^1.2.4" + bin: + xml-js: ./bin/cli.js + checksum: 10c0/c83631057f10bf90ea785cee434a8a1a0030c7314fe737ad9bf568a281083b565b28b14c9e9ba82f11fc9dc582a3a907904956af60beb725be1c9ad4b030bc5a + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yaml@npm:^1.7.2": + version: 1.10.2 + resolution: "yaml@npm:1.10.2" + checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard + +"yocto-queue@npm:^1.0.0": + version: 1.2.1 + resolution: "yocto-queue@npm:1.2.1" + checksum: 10c0/5762caa3d0b421f4bdb7a1926b2ae2189fc6e4a14469258f183600028eb16db3e9e0306f46e8ebf5a52ff4b81a881f22637afefbef5399d6ad440824e9b27f9f + languageName: node + linkType: hard + +"zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": + version: 2.0.4 + resolution: "zwitch@npm:2.0.4" + checksum: 10c0/3c7830cdd3378667e058ffdb4cf2bb78ac5711214e2725900873accb23f3dfe5f9e7e5a06dcdc5f29605da976fc45c26d9a13ca334d6eea2245a15e77b8fc06e + languageName: node + linkType: hard From cf30a1c4356f734fd8911e307d2d567f6ed7c826 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 10 Jun 2025 11:21:53 -0700 Subject: [PATCH 055/303] wip --- docs/subnets/yuma3-migration-guide.md | 222 ++++++++++++++++++++++++++ docs/yc3-blog.md | 2 +- 2 files changed, 223 insertions(+), 1 deletion(-) create mode 100644 docs/subnets/yuma3-migration-guide.md diff --git a/docs/subnets/yuma3-migration-guide.md b/docs/subnets/yuma3-migration-guide.md new file mode 100644 index 0000000000..9ad0549859 --- /dev/null +++ b/docs/subnets/yuma3-migration-guide.md @@ -0,0 +1,222 @@ +--- +title: "Yuma Consensus 3 (YC3) Migration Guide" +--- + +# Yuma Consensus 3 (YC3) Migration Guide + +Yuma Consensus 3 (YC3) is the latest version of the Yuma Consensus mechanism with significant improvements to validator fairness, bond mechanics, and precision handling. This guide will help subnet owners understand what's changed and how to migrate. + +See also: +- [How Yuma Consensus 3 Makes Bittensor More Fair](../yc3-blog.md) - Technical deep dive and mathematical foundations +- [Subnet Hyperparameters](./subnet-hyperparameters.md) - Complete parameter reference +- [Yuma Consensus](../yuma-consensus.md) - Understanding the consensus mechanism +- [Subnet Creation](./create-a-subnet.md) - Creating new subnets with YC3 + +## What is YC3? + +YC3 is a drop-in replacement for the existing Yuma Consensus mechanism that addresses several critical issues while maintaining backward compatibility. **Most subnet owners won't need to make any changes** - the upgrade is designed to be seamless. + +The most significant innovation in YC3 is **per-bond EMA scaling**: each validator-miner bond pair now gets its own adjustment rate (alpha value) rather than using a single rate for all bonds. This allows individual relationships to evolve at different speeds based on performance and consensus differences. + +## Key Improvements in YC3 + +### 1. **Fair Validator Treatment** +- **Problem Fixed**: Small validators were previously penalized simply for being small due to rounding issues +- **YC3 Solution**: Bond values are now computed using fixed-point arithmetic and converted to u16 for storage efficiency, allowing precise fractional relationships while maintaining a 0-65535 storage scale + +### 2. **Bond Precision Issues** +- **Problem Fixed**: 16-bit integer precision was insufficient for bond accumulation, causing some validators to receive no bonds despite giving weight to miners +- **YC3 Solution**: Enhanced precision handling with fixed-point arithmetic ensures all validators receive appropriate bond allocations + +### 3. **Bond Upscaling and Decay** +- **Problem Fixed**: Bond upscaling from the pump and bond decay when consensus is zero were causing unfair distributions +- **YC3 Solution**: Fixed bond mechanics with enhanced EMA smoothing ensure more predictable and fair reward distribution + +### 4. **Early Recognition Rewards** +- **New Feature**: Validators who identify promising miners before they become widely recognized can now start accumulating bonds early through individual alpha values +- **Technical Implementation**: The alpha sigmoid function calculates adjustment rates based on the difference between a validator's current weights and network consensus + +### 5. **Enhanced Tunability** +- **New Feature**: Additional parameters allow subnet owners to fine-tune their consensus mechanisms +- **Backward Compatible**: Existing subnets continue to work with default settings + +## Migration Process + +### Automatic Migration +YC3 is designed as a **drop-in replacement**. For most subnet owners: + +1. **No action required** - Your subnet will continue to function normally +2. **Validators and miners** don't need to update their code +3. **Existing configurations** remain valid + +### Enabling YC3 (Optional) +If you want to explicitly enable YC3 features on your subnet: + +```bash +# View current YC3 status +btcli subnet hyperparameters --netuid YOUR_NETUID + +# Enable YC3 (if not already enabled) +btcli sudo set --param YC3_enabled --value true --netuid YOUR_NETUID +``` + +### Liquid Alpha Integration +YC3 works seamlessly with Liquid Alpha when specific conditions are met: +1. Liquid Alpha must be enabled for the subnet +2. Consensus values must exist and contain non-zero values +3. The network must have sufficient activity + +When these conditions are satisfied, validators receive additional rewards for voting for miners that aren't yet receiving votes from others. + +```bash +# Enable Liquid Alpha (enhances YC3 benefits) +btcli sudo set --param liquid_alpha_enabled --value true --netuid YOUR_NETUID +``` + +## New Tunable Parameters + +YC3 introduces additional hyperparameters for advanced subnet customization: + +### Alpha Sigmoid Steepness +Controls the steepness of the alpha sigmoid function, affecting reward distribution curves and how quickly bonds adjust to weight changes. + +```bash +# Set alpha sigmoid steepness +btcli sudo set --param alpha_sigmoid_steepness --value YOUR_VALUE --netuid YOUR_NETUID +``` + +### Bonds Moving Average +The adjustment rate is controlled by the bonds moving average parameter, which can be configured up to 97.5% (meaning bonds change by 2.5% per epoch toward their target values). + +```bash +# Adjust bond smoothing (typical value: 975000 for 2.5% per epoch) +btcli sudo set --param bonds_moving_avg --value 975000 --netuid YOUR_NETUID +``` + +### Alpha High/Low Parameters +Fine-tune the range of alpha values used in the sigmoid function: + +```bash +# Set alpha range parameters +btcli sudo set --param alpha_high --value YOUR_VALUE --netuid YOUR_NETUID +btcli sudo set --param alpha_low --value YOUR_VALUE --netuid YOUR_NETUID +``` + +## Real-World Example: Subnet 2 + +Subnet 2 successfully migrated to YC3 with the following experience: +- **Migration**: Seamless activation +- **Stabilization**: Required a couple of tempo periods to stabilize +- **Current Status**: Fully operational with improved fairness +- **Key Benefit**: Small validators now receive fair rewards proportional to their contributions + +## Expected Timeline + +- **Current**: YC3 is live and being adopted by subnets +- **Recommendation**: Monitor your subnet's performance after the network upgrade +- **Timeline**: No forced migration deadline - subnets can adopt when ready + +## Monitoring Your Migration + +After YC3 is active on your subnet, monitor these metrics: + +### Validator Performance +- Check that small validators are receiving appropriate rewards +- Verify bond accumulation is working correctly for all validator sizes +- Monitor individual alpha values being applied to validator-miner pairs + +### Bond Distribution +- Monitor bond allocation patterns +- Ensure no validators are experiencing zero-bond issues +- Check that early recognition is being rewarded appropriately + +### Consensus Behavior +- Watch for improved stability in consensus calculations +- Check that bond decay behavior is more predictable +- Monitor the effectiveness of Liquid Alpha if enabled + +## Troubleshooting + +### Common Issues + +#### Stabilization Period +- **Symptom**: Temporary fluctuations in rewards after migration +- **Solution**: Allow 2-3 tempo periods for the system to stabilize +- **Expected**: This is normal behavior during the transition as bonds adjust to new alpha values + +#### Zero Bond Issues (Pre-YC3) +- **Symptom**: Validators giving weight but receiving no bonds +- **Solution**: YC3 fixes this automatically through improved precision and individual alpha scaling + +#### Liquid Alpha Not Working +- **Symptom**: Expected early recognition rewards not materializing +- **Check**: Ensure Liquid Alpha is enabled and consensus values exist +- **Solution**: Verify network activity meets minimum thresholds for Liquid Alpha operation + +### Getting Help + +If you experience issues during migration: + +1. **Check the logs** for any error messages +2. **Monitor for 2-3 tempo periods** to allow stabilization +3. **Compare metrics** before and after migration +4. **Verify parameter settings** using `btcli subnet hyperparameters` +5. **Reach out** to the Bittensor community for support + +## Advanced Configuration + +### Custom Parameter Tuning + +For subnet owners who want to leverage YC3's enhanced tunability: + +```bash +# Example: Fine-tune consensus behavior +btcli sudo set --param bonds_moving_avg --value YOUR_VALUE --netuid YOUR_NETUID + +# Example: Adjust alpha parameters for different reward curves +btcli sudo set --param alpha_sigmoid_steepness --value YOUR_VALUE --netuid YOUR_NETUID +btcli sudo set --param alpha_high --value YOUR_VALUE --netuid YOUR_NETUID +btcli sudo set --param alpha_low --value YOUR_VALUE --netuid YOUR_NETUID +``` + +:::tip Parameter Values +Most users will benefit from using values of 0 or 1 for boolean parameters rather than intermediate values, though intermediate values are supported. For numeric parameters, start with default values and adjust gradually. +::: + +### Testing Configuration + +Before applying changes to your mainnet subnet: + +1. Test parameter changes on testnet first +2. Monitor impact over multiple tempo periods +3. Document baseline performance before changes +4. Have a rollback plan for parameter reversion + +## Benefits After Migration + +### For Validators +- **Fairer rewards** regardless of validator size through fixed-point arithmetic +- **More predictable** bond accumulation with individual alpha values +- **Improved precision** in reward calculations eliminating rounding issues +- **Early recognition rewards** for identifying promising miners first + +### For Subnet Owners +- **More tunable parameters** for customization including alpha sigmoid controls +- **Better consensus stability** through enhanced EMA smoothing +- **Enhanced control** over reward distribution curves +- **Compatibility with Liquid Alpha** for additional validator incentives + +### For the Network +- **More equitable** participation incentives encouraging smaller validators +- **Reduced barriers** for smaller validators through precision improvements +- **Improved overall** consensus quality through better bond mechanics +- **Innovation incentives** through early recognition rewards + +## Next Steps + +1. **Monitor** your subnet's current performance metrics +2. **Consider enabling Liquid Alpha** to enhance YC3 benefits +3. **Plan** for optional parameter tuning if desired +4. **Stay updated** on additional YC3 features as they're released +5. **Consider** the new parameters for optimizing your subnet's specific use case +6. **Test advanced configurations** on testnet before mainnet deployment diff --git a/docs/yc3-blog.md b/docs/yc3-blog.md index 6c0e6a4229..d63b8d08b4 100644 --- a/docs/yc3-blog.md +++ b/docs/yc3-blog.md @@ -4,7 +4,7 @@ title: "How Yuma Consensus 3 Makes Bittensor More Fair" # How Yuma Consensus 3 Makes Bittensor More Fair -YC3 is the next evolution of Bittensor's consensus mechanism, designed to reward miner innovation and early recognition by validators. +YC3 is the next evolution of Bittensor's consensus mechanism. It optimizes emissions to reward validators for recognizing innovation quickly. ## Introduction: Understanding Yuma Consensus From e8bfc498cc37c6eb2b5df06bc9e315a5511619bb Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 10 Jun 2025 15:20:37 -0700 Subject: [PATCH 056/303] wip --- src/theme/DocBreadcrumbs/index.js | 6 +- src/theme/DocItem/Content/index.js | 2 +- src/theme/DocItem/Footer/index.js | 2 +- src/theme/DocItem/Layout/index.js | 4 +- src/theme/DocSidebarItem/Category/index.js | 4 +- src/theme/DocSidebarItem/Link/index.js | 2 +- src/theme/DocSidebarItems/index.js | 4 +- yarn.lock | 22808 ++++++++----------- 8 files changed, 9710 insertions(+), 13122 deletions(-) diff --git a/src/theme/DocBreadcrumbs/index.js b/src/theme/DocBreadcrumbs/index.js index e2c9fb82b8..747304797e 100644 --- a/src/theme/DocBreadcrumbs/index.js +++ b/src/theme/DocBreadcrumbs/index.js @@ -2,12 +2,10 @@ import React from 'react'; import clsx from 'clsx'; import {ThemeClassNames} from '@docusaurus/theme-common'; import { + useSidebarBreadcrumbs, useHomePageRoute, } from '@docusaurus/theme-common/internal'; -import { - useDoc, - useSidebarBreadcrumbs -} from '@docusaurus/plugin-content-docs/client'; +import { useDoc } from "@docusaurus/theme-common/internal"; import Link from '@docusaurus/Link'; import {translate} from '@docusaurus/Translate'; import HomeBreadcrumbItem from '@theme/DocBreadcrumbs/Items/Home'; diff --git a/src/theme/DocItem/Content/index.js b/src/theme/DocItem/Content/index.js index 4dfeae7cea..e9e78dbbd8 100644 --- a/src/theme/DocItem/Content/index.js +++ b/src/theme/DocItem/Content/index.js @@ -1,7 +1,7 @@ import React from "react"; import clsx from "clsx"; import { ThemeClassNames } from "@docusaurus/theme-common"; -import { useDoc } from "@docusaurus/plugin-content-docs/client"; +import { useDoc } from "@docusaurus/theme-common/internal"; import Heading from "@theme/Heading"; import MDXContent from "@theme/MDXContent"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; diff --git a/src/theme/DocItem/Footer/index.js b/src/theme/DocItem/Footer/index.js index 3323e1a1db..ca6a8df43b 100644 --- a/src/theme/DocItem/Footer/index.js +++ b/src/theme/DocItem/Footer/index.js @@ -1,7 +1,7 @@ import React, { useEffect, useState } from "react"; import clsx from "clsx"; import { ThemeClassNames } from "@docusaurus/theme-common"; -import { useDoc } from "@docusaurus/plugin-content-docs/client"; +import { useDoc } from "@docusaurus/theme-common/internal"; import TagsListInline from "@theme/TagsListInline"; import { track } from "@vercel/analytics"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; diff --git a/src/theme/DocItem/Layout/index.js b/src/theme/DocItem/Layout/index.js index beaa6d9acd..e5c43e6761 100644 --- a/src/theme/DocItem/Layout/index.js +++ b/src/theme/DocItem/Layout/index.js @@ -1,7 +1,7 @@ import React from 'react'; import clsx from 'clsx'; import { useWindowSize } from '@docusaurus/theme-common'; -import { useDoc } from '@docusaurus/plugin-content-docs/client'; +import { useDoc } from '@docusaurus/theme-common/internal'; import DocItemPaginator from '@theme/DocItem/Paginator'; import DocVersionBanner from '@theme/DocVersionBanner'; import DocVersionBadge from '@theme/DocVersionBadge'; @@ -10,7 +10,7 @@ import DocItemTOCMobile from '@theme/DocItem/TOC/Mobile'; import DocItemTOCDesktop from '@theme/DocItem/TOC/Desktop'; import DocItemContent from '@theme/DocItem/Content'; import DocBreadcrumbs from '@theme/DocBreadcrumbs'; -import Unlisted from "@theme/ContentVisibility/Unlisted"; +import Unlisted from '@theme/Unlisted'; import styles from './styles.module.css'; /** * Decide if the toc should be rendered, on mobile or desktop viewports diff --git a/src/theme/DocSidebarItem/Category/index.js b/src/theme/DocSidebarItem/Category/index.js index 3309aee7b0..2f3115eead 100644 --- a/src/theme/DocSidebarItem/Category/index.js +++ b/src/theme/DocSidebarItem/Category/index.js @@ -11,12 +11,12 @@ import { isActiveSidebarItem, findFirstSidebarItemLink, useDocSidebarItemsExpandedState, -} from '@docusaurus/plugin-content-docs/client'; + isSamePath, +} from '@docusaurus/theme-common/internal'; import Link from '@docusaurus/Link'; import {translate} from '@docusaurus/Translate'; import useIsBrowser from '@docusaurus/useIsBrowser'; import DocSidebarItems from '@theme/DocSidebarItems'; -import { isSamePath } from '@docusaurus/theme-common/internal'; // If we navigate to a category and it becomes active, it should automatically // expand itself function useAutoExpandActiveCategory({isActive, collapsed, updateCollapsed}) { diff --git a/src/theme/DocSidebarItem/Link/index.js b/src/theme/DocSidebarItem/Link/index.js index 112cd2e36d..591f55c9be 100644 --- a/src/theme/DocSidebarItem/Link/index.js +++ b/src/theme/DocSidebarItem/Link/index.js @@ -1,7 +1,7 @@ import React from 'react'; import clsx from 'clsx'; import { ThemeClassNames } from '@docusaurus/theme-common'; -import { isActiveSidebarItem } from '@docusaurus/plugin-content-docs/client'; +import { isActiveSidebarItem } from '@docusaurus/theme-common/internal'; import Link from '@docusaurus/Link'; import isInternalUrl from '@docusaurus/isInternalUrl'; import IconExternalLink from '@theme/Icon/ExternalLink'; diff --git a/src/theme/DocSidebarItems/index.js b/src/theme/DocSidebarItems/index.js index 86b65ea291..9a73944e27 100644 --- a/src/theme/DocSidebarItems/index.js +++ b/src/theme/DocSidebarItems/index.js @@ -1,9 +1,9 @@ import React, {memo} from 'react'; import { DocSidebarItemsExpandedStateProvider, - useVisibleSidebarItems } from '@docusaurus/plugin-content-docs/client'; + useVisibleSidebarItems, +} from '@docusaurus/theme-common/internal'; import DocSidebarItem from '@theme/DocSidebarItem'; - function DocSidebarItems({items, ...props}) { const visibleItems = useVisibleSidebarItems(items, props.activePath); return ( diff --git a/yarn.lock b/yarn.lock index 98ca7e3be7..69c0e1a758 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,13109 +1,9699 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! - -__metadata: - version: 8 - cacheKey: 10c0 - -"@algolia/autocomplete-core@npm:1.17.9": - version: 1.17.9 - resolution: "@algolia/autocomplete-core@npm:1.17.9" - dependencies: - "@algolia/autocomplete-plugin-algolia-insights": "npm:1.17.9" - "@algolia/autocomplete-shared": "npm:1.17.9" - checksum: 10c0/e1111769a8723b9dd45fc38cd7edc535c86c1f908b84b5fdc5de06ba6b8c7aca14e5f52ebce84fa5f7adf857332e396b93b7e7933b157b2c9aefc0a19d9574ab - languageName: node - linkType: hard - -"@algolia/autocomplete-plugin-algolia-insights@npm:1.17.9": - version: 1.17.9 - resolution: "@algolia/autocomplete-plugin-algolia-insights@npm:1.17.9" - dependencies: - "@algolia/autocomplete-shared": "npm:1.17.9" - peerDependencies: - search-insights: ">= 1 < 3" - checksum: 10c0/05c21502631643abdcd6e9f70b5814a60d34bad59bca501e26e030fd72e689be5cecfb6e8939a0a1bdcb2394591e55e26a42a82c7247528eafeff714db0819a4 - languageName: node - linkType: hard - -"@algolia/autocomplete-preset-algolia@npm:1.17.9": - version: 1.17.9 - resolution: "@algolia/autocomplete-preset-algolia@npm:1.17.9" - dependencies: - "@algolia/autocomplete-shared": "npm:1.17.9" - peerDependencies: - "@algolia/client-search": ">= 4.9.1 < 6" - algoliasearch: ">= 4.9.1 < 6" - checksum: 10c0/99159c7e02a927d0d96717cb4cfd2f8dbc4da73267a8eae4f83af5bf74087089f6e7dbffd316512e713a4cc534e936b6a7ccb5c4a5ff84b4bf73f2d3cc050e79 - languageName: node - linkType: hard - -"@algolia/autocomplete-shared@npm:1.17.9": - version: 1.17.9 - resolution: "@algolia/autocomplete-shared@npm:1.17.9" - peerDependencies: - "@algolia/client-search": ">= 4.9.1 < 6" - algoliasearch: ">= 4.9.1 < 6" - checksum: 10c0/b318281aecdaae09171b47ee4f7bc66b613852cad4506e9d6278fff35ba68a12dd9cce2d90b5f4c3ba0e3d7d780583cbe46b22275260e41bbf09fb01e4a18f49 - languageName: node - linkType: hard - -"@algolia/client-abtesting@npm:5.25.0": - version: 5.25.0 - resolution: "@algolia/client-abtesting@npm:5.25.0" - dependencies: - "@algolia/client-common": "npm:5.25.0" - "@algolia/requester-browser-xhr": "npm:5.25.0" - "@algolia/requester-fetch": "npm:5.25.0" - "@algolia/requester-node-http": "npm:5.25.0" - checksum: 10c0/614044c066e34cbc41b74a2242c3b0a08e952e96f90e0f2afbcd04711cf29fa88dea211f15bcef162bfd15b3f27555641bff229618cdf45bb83fe7c48100a7bf - languageName: node - linkType: hard - -"@algolia/client-analytics@npm:5.25.0": - version: 5.25.0 - resolution: "@algolia/client-analytics@npm:5.25.0" - dependencies: - "@algolia/client-common": "npm:5.25.0" - "@algolia/requester-browser-xhr": "npm:5.25.0" - "@algolia/requester-fetch": "npm:5.25.0" - "@algolia/requester-node-http": "npm:5.25.0" - checksum: 10c0/76068a9558df85c469c77a8facd10927800c347363b1b73e43fbecc3e2de9d1404e0c3769c1e2d7e4670f0b435c819f239f5399d81728a9d735b72f9a1a9df53 - languageName: node - linkType: hard - -"@algolia/client-common@npm:5.25.0": - version: 5.25.0 - resolution: "@algolia/client-common@npm:5.25.0" - checksum: 10c0/e75370c9e5353badcd322db3b573a1f1cad1dbe5e576552e940c3db848778cd0849a028894da3f08dc551e3a53d1613239bc8cb06eef6dd4734e93ce5f49a895 - languageName: node - linkType: hard - -"@algolia/client-insights@npm:5.25.0": - version: 5.25.0 - resolution: "@algolia/client-insights@npm:5.25.0" - dependencies: - "@algolia/client-common": "npm:5.25.0" - "@algolia/requester-browser-xhr": "npm:5.25.0" - "@algolia/requester-fetch": "npm:5.25.0" - "@algolia/requester-node-http": "npm:5.25.0" - checksum: 10c0/8bbabcf7a86a649932b56525843d2b431c89077576e939832152859be398e9bf31a54b6c1565086b9e66deef045216d85adac8edcf538ebc9bcefc80f1a9711d - languageName: node - linkType: hard - -"@algolia/client-personalization@npm:5.25.0": - version: 5.25.0 - resolution: "@algolia/client-personalization@npm:5.25.0" - dependencies: - "@algolia/client-common": "npm:5.25.0" - "@algolia/requester-browser-xhr": "npm:5.25.0" - "@algolia/requester-fetch": "npm:5.25.0" - "@algolia/requester-node-http": "npm:5.25.0" - checksum: 10c0/0d937519adbf0231e985718e32e7b0e54d15d30a01bd0491c357eb937a4ebb44a6b8024de736cb1da5919ca23e10a6dbb1bdda06ed46848e15d1bb3a9533f0fc - languageName: node - linkType: hard - -"@algolia/client-query-suggestions@npm:5.25.0": - version: 5.25.0 - resolution: "@algolia/client-query-suggestions@npm:5.25.0" - dependencies: - "@algolia/client-common": "npm:5.25.0" - "@algolia/requester-browser-xhr": "npm:5.25.0" - "@algolia/requester-fetch": "npm:5.25.0" - "@algolia/requester-node-http": "npm:5.25.0" - checksum: 10c0/84f327d0bd98c2da8b37d3c51712baa794d44e78fd7e60f372899b882ac4d02e1836df27ed397dcb3deede820c7a8f20d1c043378166baaf1f855c89551cc5fd - languageName: node - linkType: hard - -"@algolia/client-search@npm:5.25.0": - version: 5.25.0 - resolution: "@algolia/client-search@npm:5.25.0" - dependencies: - "@algolia/client-common": "npm:5.25.0" - "@algolia/requester-browser-xhr": "npm:5.25.0" - "@algolia/requester-fetch": "npm:5.25.0" - "@algolia/requester-node-http": "npm:5.25.0" - checksum: 10c0/5a09f4e66aa802ec7a292595f8d08dcd7de12683d0ddde1feb640062011dbd8bd8b521627f7c904e27e0f3e80ad8a451e58e0bc790b0f2e4faf4e55dfe2df297 - languageName: node - linkType: hard - -"@algolia/events@npm:^4.0.1": - version: 4.0.1 - resolution: "@algolia/events@npm:4.0.1" - checksum: 10c0/f398d815c6ed21ac08f6caadf1e9155add74ac05d99430191c3b1f1335fd91deaf468c6b304e6225c9885d3d44c06037c53def101e33d9c22daff175b2a65ca9 - languageName: node - linkType: hard - -"@algolia/ingestion@npm:1.25.0": - version: 1.25.0 - resolution: "@algolia/ingestion@npm:1.25.0" - dependencies: - "@algolia/client-common": "npm:5.25.0" - "@algolia/requester-browser-xhr": "npm:5.25.0" - "@algolia/requester-fetch": "npm:5.25.0" - "@algolia/requester-node-http": "npm:5.25.0" - checksum: 10c0/6c2ffddaabfa62a87c45917ddd311d12adca1263de22be4c9023e7d526cc43c2a6fe1a5ea28f46a118762bd8a143bba903aded9ba3c70953e6f6af67e6b9e12f - languageName: node - linkType: hard - -"@algolia/monitoring@npm:1.25.0": - version: 1.25.0 - resolution: "@algolia/monitoring@npm:1.25.0" - dependencies: - "@algolia/client-common": "npm:5.25.0" - "@algolia/requester-browser-xhr": "npm:5.25.0" - "@algolia/requester-fetch": "npm:5.25.0" - "@algolia/requester-node-http": "npm:5.25.0" - checksum: 10c0/d28b0af9ff0e864ad8ada43e735d763052b605410813c26ea595c21b9a3bcc323ebf3b04e810bc23cc8c28840952dbda7d111d583b8884e91e5692a14ad427e8 - languageName: node - linkType: hard - -"@algolia/recommend@npm:5.25.0": - version: 5.25.0 - resolution: "@algolia/recommend@npm:5.25.0" - dependencies: - "@algolia/client-common": "npm:5.25.0" - "@algolia/requester-browser-xhr": "npm:5.25.0" - "@algolia/requester-fetch": "npm:5.25.0" - "@algolia/requester-node-http": "npm:5.25.0" - checksum: 10c0/cfab69aec97096ac4db3fb7a20af3e6263362ad65100e33f1523ddfdb37a3bd1ca8d4002e83f8b52009ca5650cb9486e9e38410fb0f0b49336cd8c2bed58cd0e - languageName: node - linkType: hard - -"@algolia/requester-browser-xhr@npm:5.25.0": - version: 5.25.0 - resolution: "@algolia/requester-browser-xhr@npm:5.25.0" - dependencies: - "@algolia/client-common": "npm:5.25.0" - checksum: 10c0/c190525b68d7d255568d20e6024094bb8b273f3234f698e4da52edb97697cddb5df99038f5dc780a54da9c89837c8e6d81e2e230ab2f819b6ec689ebbabd049a - languageName: node - linkType: hard - -"@algolia/requester-fetch@npm:5.25.0": - version: 5.25.0 - resolution: "@algolia/requester-fetch@npm:5.25.0" - dependencies: - "@algolia/client-common": "npm:5.25.0" - checksum: 10c0/126ed1c1cd6033a979da071018a5a1ada00df87e7ef5196385b6f241ca8f41f77c40827461a1aa04612a75ba651786c50b8e7a9f7636ba58b723c8bf8fd039a1 - languageName: node - linkType: hard - -"@algolia/requester-node-http@npm:5.25.0": - version: 5.25.0 - resolution: "@algolia/requester-node-http@npm:5.25.0" - dependencies: - "@algolia/client-common": "npm:5.25.0" - checksum: 10c0/310ecc88d6769b67d1959dfb11554699759ad358ce88b20edbe82cc007511efda3777451b3194ff26a600dc41bfe49588a74168c3f122302b945fe4e2e8b2063 - languageName: node - linkType: hard - -"@ampproject/remapping@npm:^2.2.0": - version: 2.3.0 - resolution: "@ampproject/remapping@npm:2.3.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.8.3": - version: 7.27.1 - resolution: "@babel/code-frame@npm:7.27.1" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.27.1" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.1.1" - checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.27.2": - version: 7.27.2 - resolution: "@babel/compat-data@npm:7.27.2" - checksum: 10c0/077c9e01af3b90decee384a6a44dcf353898e980cee22ec7941f9074655dbbe97ec317345536cdc7ef7391521e1497930c522a3816af473076dd524be7fccd32 - languageName: node - linkType: hard - -"@babel/core@npm:^7.21.3, @babel/core@npm:^7.25.9": - version: 7.27.1 - resolution: "@babel/core@npm:7.27.1" - dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.27.1" - "@babel/generator": "npm:^7.27.1" - "@babel/helper-compilation-targets": "npm:^7.27.1" - "@babel/helper-module-transforms": "npm:^7.27.1" - "@babel/helpers": "npm:^7.27.1" - "@babel/parser": "npm:^7.27.1" - "@babel/template": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" - convert-source-map: "npm:^2.0.0" - debug: "npm:^4.1.0" - gensync: "npm:^1.0.0-beta.2" - json5: "npm:^2.2.3" - semver: "npm:^6.3.1" - checksum: 10c0/0fc31f87f5401ac5d375528cb009f4ea5527fc8c5bb5b64b5b22c033b60fd0ad723388933a5f3f5db14e1edd13c958e9dd7e5c68f9b68c767aeb496199c8a4bb - languageName: node - linkType: hard - -"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/generator@npm:7.27.1" - dependencies: - "@babel/parser": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" - jsesc: "npm:^3.0.2" - checksum: 10c0/c4156434b21818f558ebd93ce45f027c53ee570ce55a84fd2d9ba45a79ad204c17e0bff753c886fb6c07df3385445a9e34dc7ccb070d0ac7e80bb91c8b57f423 - languageName: node - linkType: hard - -"@babel/helper-annotate-as-pure@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-annotate-as-pure@npm:7.27.1" - dependencies: - "@babel/types": "npm:^7.27.1" - checksum: 10c0/fc4751b59c8f5417e1acb0455d6ffce53fa5e79b3aca690299fbbf73b1b65bfaef3d4a18abceb190024c5836bb6cfbc3711e83888648df93df54e18152a1196c - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2": - version: 7.27.2 - resolution: "@babel/helper-compilation-targets@npm:7.27.2" - dependencies: - "@babel/compat-data": "npm:^7.27.2" - "@babel/helper-validator-option": "npm:^7.27.1" - browserslist: "npm:^4.24.0" - lru-cache: "npm:^5.1.1" - semver: "npm:^6.3.1" - checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 - languageName: node - linkType: hard - -"@babel/helper-create-class-features-plugin@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-create-class-features-plugin@npm:7.27.1" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - "@babel/helper-member-expression-to-functions": "npm:^7.27.1" - "@babel/helper-optimise-call-expression": "npm:^7.27.1" - "@babel/helper-replace-supers": "npm:^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/4ee199671d6b9bdd4988aa2eea4bdced9a73abfc831d81b00c7634f49a8fc271b3ceda01c067af58018eb720c6151322015d463abea7072a368ee13f35adbb4c - languageName: node - linkType: hard - -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.27.1" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - regexpu-core: "npm:^6.2.0" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/591fe8bd3bb39679cc49588889b83bd628d8c4b99c55bafa81e80b1e605a348b64da955e3fd891c4ba3f36fd015367ba2eadea22af6a7de1610fbb5bcc2d3df0 - languageName: node - linkType: hard - -"@babel/helper-define-polyfill-provider@npm:^0.6.3, @babel/helper-define-polyfill-provider@npm:^0.6.4": - version: 0.6.4 - resolution: "@babel/helper-define-polyfill-provider@npm:0.6.4" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.22.6" - "@babel/helper-plugin-utils": "npm:^7.22.5" - debug: "npm:^4.1.1" - lodash.debounce: "npm:^4.0.8" - resolve: "npm:^1.14.2" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/b74f2b46e233a178618d19432bdae16e0137d0a603497ee901155e083c4a61f26fe01d79fb95d5f4c22131ade9d958d8f587088d412cca1302633587f070919d - languageName: node - linkType: hard - -"@babel/helper-member-expression-to-functions@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-member-expression-to-functions@npm:7.27.1" - dependencies: - "@babel/traverse": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" - checksum: 10c0/5762ad009b6a3d8b0e6e79ff6011b3b8fdda0fefad56cfa8bfbe6aa02d5a8a8a9680a45748fe3ac47e735a03d2d88c0a676e3f9f59f20ae9fadcc8d51ccd5a53 - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-module-imports@npm:7.27.1" - dependencies: - "@babel/traverse": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" - checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 - languageName: node - linkType: hard - -"@babel/helper-module-transforms@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-module-transforms@npm:7.27.1" - dependencies: - "@babel/helper-module-imports": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/196ab29635fe6eb5ba6ead2972d41b1c0d40f400f99bd8fc109cef21440de24c26c972fabf932585e618694d590379ab8d22def8da65a54459d38ec46112ead7 - languageName: node - linkType: hard - -"@babel/helper-optimise-call-expression@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" - dependencies: - "@babel/types": "npm:^7.27.1" - checksum: 10c0/6b861e7fcf6031b9c9fc2de3cd6c005e94a459d6caf3621d93346b52774925800ca29d4f64595a5ceacf4d161eb0d27649ae385110ed69491d9776686fa488e6 - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.27.1 - resolution: "@babel/helper-plugin-utils@npm:7.27.1" - checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b - languageName: node - linkType: hard - -"@babel/helper-remap-async-to-generator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - "@babel/helper-wrap-function": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/5ba6258f4bb57c7c9fa76b55f416b2d18c867b48c1af4f9f2f7cd7cc933fe6da7514811d08ceb4972f1493be46f4b69c40282b811d1397403febae13c2ec57b5 - languageName: node - linkType: hard - -"@babel/helper-replace-supers@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-replace-supers@npm:7.27.1" - dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.27.1" - "@babel/helper-optimise-call-expression": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/4f2eaaf5fcc196580221a7ccd0f8873447b5d52745ad4096418f6101a1d2e712e9f93722c9a32bc9769a1dc197e001f60d6f5438d4dfde4b9c6a9e4df719354c - languageName: node - linkType: hard - -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" - dependencies: - "@babel/traverse": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" - checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-string-parser@npm:7.27.1" - checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-validator-identifier@npm:7.27.1" - checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-validator-option@npm:7.27.1" - checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 - languageName: node - linkType: hard - -"@babel/helper-wrap-function@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-wrap-function@npm:7.27.1" - dependencies: - "@babel/template": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" - checksum: 10c0/c472f75c0951bc657ab0a117538c7c116566ae7579ed47ac3f572c42dc78bd6f1e18f52ebe80d38300c991c3fcaa06979e2f8864ee919369dabd59072288de30 - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helpers@npm:7.27.1" - dependencies: - "@babel/template": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" - checksum: 10c0/e078257b9342dae2c041ac050276c5a28701434ad09478e6dc6976abd99f721a5a92e4bebddcbca6b1c3a7e8acace56a946340c701aad5e7507d2c87446459ba - languageName: node - linkType: hard - -"@babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2": - version: 7.27.2 - resolution: "@babel/parser@npm:7.27.2" - dependencies: - "@babel/types": "npm:^7.27.1" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/3c06692768885c2f58207fc8c2cbdb4a44df46b7d93135a083f6eaa49310f7ced490ce76043a2a7606cdcc13f27e3d835e141b692f2f6337a2e7f43c1dbb04b4 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/7dfffa978ae1cd179641a7c4b4ad688c6828c2c58ec96b118c2fb10bc3715223de6b88bff1ebff67056bb5fccc568ae773e3b83c592a1b843423319f80c99ebd - languageName: node - linkType: hard - -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/2cd7a55a856e5e59bbd9484247c092a41e0d9f966778e7019da324d9e0928892d26afc4fbb2ac3d76a3c5a631cd3cf0d72dd2653b44f634f6c663b9e6f80aacd - languageName: node - linkType: hard - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/cf29835498c4a25bd470908528919729a0799b2ec94e89004929a5532c94a5e4b1a49bc5d6673a22e5afe05d08465873e14ee3b28c42eb3db489cdf5ca47c680 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" - "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.13.0 - checksum: 10c0/eddcd056f76e198868cbff883eb148acfade8f0890973ab545295df0c08e39573a72e65372bcc0b0bfadba1b043fe1aea6b0907d0b4889453ac154c404194ebc - languageName: node - linkType: hard - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/b94e6c3fc019e988b1499490829c327a1067b4ddea8ad402f6d0554793c9124148c2125338c723661b6dff040951abc1f092afbf3f2d234319cd580b68e52445 - languageName: node - linkType: hard - -"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": - version: 7.21.0-placeholder-for-preset-env.2 - resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e605e0070da087f6c35579499e65801179a521b6842c15181a1e305c04fded2393f11c1efd09b087be7f8b083d1b75e8f3efcbc1292b4f60d3369e14812cff63 - languageName: node - linkType: hard - -"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-assertions@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/06a954ee672f7a7c44d52b6e55598da43a7064e80df219765c51c37a0692641277e90411028f7cae4f4d1dedeed084f0c453576fa421c35a81f1603c5e3e0146 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-attributes@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e66f7a761b8360419bbb93ab67d87c8a97465ef4637a985ff682ce7ba6918b34b29d81190204cf908d0933058ee7b42737423cd8a999546c21b3aabad4affa9a - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/bc5afe6a458d5f0492c02a54ad98c5756a0c13bd6d20609aae65acd560a9e141b0876da5f358dce34ea136f271c1016df58b461184d7ae9c4321e0f98588bc84 - languageName: node - linkType: hard - -"@babel/plugin-syntax-typescript@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/11589b4c89c66ef02d57bf56c6246267851ec0c361f58929327dc3e070b0dab644be625bbe7fb4c4df30c3634bfdfe31244e1f517be397d2def1487dbbe3c37d - languageName: node - linkType: hard - -"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" - "@babel/helper-plugin-utils": "npm:^7.18.6" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 - languageName: node - linkType: hard - -"@babel/plugin-transform-arrow-functions@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/19abd7a7d11eef58c9340408a4c2594503f6c4eaea1baa7b0e5fbdda89df097e50663edb3448ad2300170b39efca98a75e5767af05cad3b0facb4944326896a3 - languageName: node - linkType: hard - -"@babel/plugin-transform-async-generator-functions@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-remap-async-to-generator": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/772e449c69ee42a466443acefb07083bd89efb1a1d95679a4dc99ea3be9d8a3c43a2b74d2da95d7c818e9dd9e0b72bfa7c03217a1feaf108f21b7e542f0943c0 - languageName: node - linkType: hard - -"@babel/plugin-transform-async-to-generator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.27.1" - dependencies: - "@babel/helper-module-imports": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-remap-async-to-generator": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e76b1f6f9c3bbf72e17d7639406d47f09481806de4db99a8de375a0bb40957ea309b20aa705f0c25ab1d7c845e3f365af67eafa368034521151a0e352a03ef2f - languageName: node - linkType: hard - -"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/3313130ba3bf0699baad0e60da1c8c3c2f0c2c0a7039cd0063e54e72e739c33f1baadfc9d8c73b3fea8c85dd7250c3964fb09c8e1fa62ba0b24a9fefe0a8dbde - languageName: node - linkType: hard - -"@babel/plugin-transform-block-scoping@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-block-scoping@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d3f357beeb92fbdf3045aea2ba286a60dafc9c2d2a9f89065bb3c4bea9cc48934ee6689df3db0439d9ec518eda5e684f3156cab792b7c38c33ece2f8204ddee8 - languageName: node - linkType: hard - -"@babel/plugin-transform-class-properties@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/cc0662633c0fe6df95819fef223506ddf26c369c8d64ab21a728d9007ec866bf9436a253909819216c24a82186b6ccbc1ec94d7aaf3f82df227c7c02fa6a704b - languageName: node - linkType: hard - -"@babel/plugin-transform-class-static-block@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-class-static-block@npm:7.27.1" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.12.0 - checksum: 10c0/396997dd81fc1cf242b921e337d25089d6b9dc3596e81322ff11a6359326dc44f2f8b82dcc279c2e514cafaf8964dc7ed39e9fab4b8af1308b57387d111f6a20 - languageName: node - linkType: hard - -"@babel/plugin-transform-classes@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-classes@npm:7.27.1" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - "@babel/helper-compilation-targets": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-replace-supers": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - globals: "npm:^11.1.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/1071f4cb1ed5deb5e6f8d0442f2293a540cac5caa5ab3c25ad0571aadcbf961f61e26d367a67894976165a543e02f3a19e40b63b909afbed6e710801a590635c - languageName: node - linkType: hard - -"@babel/plugin-transform-computed-properties@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-computed-properties@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/template": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e09a12f8c8ae0e6a6144c102956947b4ec05f6c844169121d0ec4529c2d30ad1dc59fee67736193b87a402f44552c888a519a680a31853bdb4d34788c28af3b0 - languageName: node - linkType: hard - -"@babel/plugin-transform-destructuring@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-destructuring@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/56afda7a0b205f8d1af727daef4c529fc2e756887408affd39033ae4476e54d586d3d9dc1e72cfb15c74a2a5ca0653ab13dbaa8cbf79fbb2a3a746d0f107cb86 - languageName: node - linkType: hard - -"@babel/plugin-transform-dotall-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.27.1" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f9caddfad9a551b4dabe0dcb7c040f458fbaaa7bbb44200c20198b32c8259be8e050e58d2c853fdac901a4cfe490b86aa857036d8d461b192dd010d0e242dedb - languageName: node - linkType: hard - -"@babel/plugin-transform-duplicate-keys@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/22a822e5342b7066f83eaedc4fd9bb044ac6bc68725484690b33ba04a7104980e43ea3229de439286cb8db8e7db4a865733a3f05123ab58a10f189f03553746f - languageName: node - linkType: hard - -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.27.1" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/121502a252b3206913e1e990a47fea34397b4cbf7804d4cd872d45961bc45b603423f60ca87f3a3023a62528f5feb475ac1c9ec76096899ec182fcb135eba375 - languageName: node - linkType: hard - -"@babel/plugin-transform-dynamic-import@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/8dcd3087aca134b064fc361d2cc34eec1f900f6be039b6368104afcef10bb75dea726bb18cabd046716b89b0edaa771f50189fa16bc5c5914a38cbcf166350f7 - languageName: node - linkType: hard - -"@babel/plugin-transform-exponentiation-operator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/953d21e01fed76da8e08fb5094cade7bf8927c1bb79301916bec2db0593b41dbcfbca1024ad5db886b72208a93ada8f57a219525aad048cf15814eeb65cf760d - languageName: node - linkType: hard - -"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d7165cad11f571a54c8d9263d6c6bf2b817aff4874f747cb51e6e49efb32f2c9b37a6850cdb5e3b81e0b638141bb77dc782a6ec1a94128859fbdf7767581e07c - languageName: node - linkType: hard - -"@babel/plugin-transform-for-of@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-for-of@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4635763173a23aae24480681f2b0996b4f54a0cb2368880301a1801638242e263132d1e8adbe112ab272913d1d900ee0d6f7dea79443aef9d3325168cd88b3fb - languageName: node - linkType: hard - -"@babel/plugin-transform-function-name@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-function-name@npm:7.27.1" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5abdc7b5945fbd807269dcc6e76e52b69235056023b0b35d311e8f5dfd6c09d9f225839798998fc3b663f50cf701457ddb76517025a0d7a5474f3fe56e567a4c - languageName: node - linkType: hard - -"@babel/plugin-transform-json-strings@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-json-strings@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2379714aca025516452a7c1afa1ca42a22b9b51a5050a653cc6198a51665ab82bdecf36106d32d731512706a1e373c5637f5ff635737319aa42f3827da2326d6 - languageName: node - linkType: hard - -"@babel/plugin-transform-literals@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-literals@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c40dc3eb2f45a92ee476412314a40e471af51a0f51a24e91b85cef5fc59f4fe06758088f541643f07f949d2c67ee7bdce10e11c5ec56791ae09b15c3b451eeca - languageName: node - linkType: hard - -"@babel/plugin-transform-logical-assignment-operators@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5b0abc7c0d09d562bf555c646dce63a30288e5db46fd2ce809a61d064415da6efc3b2b3c59b8e4fe98accd072c89a2f7c3765b400e4bf488651735d314d9feeb - languageName: node - linkType: hard - -"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/0874ccebbd1c6a155e5f6b3b29729fade1221b73152567c1af1e1a7c12848004dffecbd7eded6dc463955120040ae57c17cb586b53fb5a7a27fcd88177034c30 - languageName: node - linkType: hard - -"@babel/plugin-transform-modules-amd@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" - dependencies: - "@babel/helper-module-transforms": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/76e86cd278b6a3c5b8cca8dfb3428e9cd0c81a5df7096e04c783c506696b916a9561386d610a9d846ef64804640e0bd818ea47455fed0ee89b7f66c555b29537 - languageName: node - linkType: hard - -"@babel/plugin-transform-modules-commonjs@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" - dependencies: - "@babel/helper-module-transforms": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4def972dcd23375a266ea1189115a4ff61744b2c9366fc1de648b3fab2c650faf1a94092de93a33ff18858d2e6c4dddeeee5384cb42ba0129baeab01a5cdf1e2 - languageName: node - linkType: hard - -"@babel/plugin-transform-modules-systemjs@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.27.1" - dependencies: - "@babel/helper-module-transforms": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f16fca62d144d9cbf558e7b5f83e13bb6d0f21fdeff3024b0cecd42ffdec0b4151461da42bd0963512783ece31aafa5ffe03446b4869220ddd095b24d414e2b5 - languageName: node - linkType: hard - -"@babel/plugin-transform-modules-umd@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" - dependencies: - "@babel/helper-module-transforms": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e5962a8874889da2ab1aa32eb93ec21d419c7423c766e4befb39b4bb512b9ad44b47837b6cd1c8f1065445cbbcc6dc2be10298ac6e734e5ca1059fc23698daed - languageName: node - linkType: hard - -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.27.1" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/8eaa8c9aee00a00f3bd8bd8b561d3f569644d98cb2cfe3026d7398aabf9b29afd62f24f142b4112fa1f572d9b0e1928291b099cde59f56d6b59f4d565e58abf2 - languageName: node - linkType: hard - -"@babel/plugin-transform-new-target@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-new-target@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/9b0581412fcc5ab1b9a2d86a0c5407bd959391f0a1e77a46953fef9f7a57f3f4020d75f71098c5f9e5dcc680a87f9fd99b3205ab12e25ef8c19eed038c1e4b28 - languageName: node - linkType: hard - -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a435fc03aaa65c6ef8e99b2d61af0994eb5cdd4a28562d78c3b0b0228ca7e501aa255e1dff091a6996d7d3ea808eb5a65fd50ecd28dfb10687a8a1095dcadc7a - languageName: node - linkType: hard - -"@babel/plugin-transform-numeric-separator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/b72cbebbfe46fcf319504edc1cf59f3f41c992dd6840db766367f6a1d232cd2c52143c5eaf57e0316710bee251cae94be97c6d646b5022fcd9274ccb131b470c - languageName: node - linkType: hard - -"@babel/plugin-transform-object-rest-spread@npm:^7.27.2": - version: 7.27.2 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.27.2" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.27.2" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/plugin-transform-destructuring": "npm:^7.27.1" - "@babel/plugin-transform-parameters": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5e255b262dd65c8700078d9f6ed87bd45f951a905dda6b3414be28d7b2781b18e6b812e9d71421e61360c9cf51e1e619c1d48348593bb7399496f61f5f221446 - languageName: node - linkType: hard - -"@babel/plugin-transform-object-super@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-object-super@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-replace-supers": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/efa2d092ef55105deb06d30aff4e460c57779b94861188128489b72378bf1f0ab0f06a4a4d68b9ae2a59a79719fbb2d148b9a3dca19ceff9c73b1f1a95e0527c - languageName: node - linkType: hard - -"@babel/plugin-transform-optional-catch-binding@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/807a4330f1fac08e2682d57bc82e714868fc651c8876f9a8b3a3fd8f53c129e87371f8243e712ac7dae11e090b737a2219a02fe1b6459a29e664fa073c3277bb - languageName: node - linkType: hard - -"@babel/plugin-transform-optional-chaining@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5b18ff5124e503f0a25d6b195be7351a028b3992d6f2a91fb4037e2a2c386400d66bc1df8f6df0a94c708524f318729e81a95c41906e5a7919a06a43e573a525 - languageName: node - linkType: hard - -"@babel/plugin-transform-parameters@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-parameters@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/453a9618735eeff5551d4c7f02c250606586fe1dd210ec9f69a4f15629ace180cd944339ebff2b0f11e1a40567d83a229ba1c567620e70b2ebedea576e12196a - languageName: node - linkType: hard - -"@babel/plugin-transform-private-methods@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-private-methods@npm:7.27.1" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/232bedfe9d28df215fb03cc7623bdde468b1246bdd6dc24465ff4bf9cc5f5a256ae33daea1fafa6cc59705e4d29da9024bb79baccaa5cd92811ac5db9b9244f2 - languageName: node - linkType: hard - -"@babel/plugin-transform-private-property-in-object@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.27.1" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - "@babel/helper-create-class-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a8c4536273ca716dcc98e74ea25ca76431528554922f184392be3ddaf1761d4aa0e06f1311577755bd1613f7054fb51d29de2ada1130f743d329170a1aa1fe56 - languageName: node - linkType: hard - -"@babel/plugin-transform-property-literals@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/15713a87edd6db620d6e66eb551b4fbfff5b8232c460c7c76cedf98efdc5cd21080c97040231e19e06594c6d7dfa66e1ab3d0951e29d5814fb25e813f6d6209c - languageName: node - linkType: hard - -"@babel/plugin-transform-react-constant-elements@npm:^7.21.3": - version: 7.27.1 - resolution: "@babel/plugin-transform-react-constant-elements@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/07fa88dd312c97d05de95e344a11a78e24d711e7bde879076d8880869ad7b0dc69c5a5ad056790595043cb9c533fd93af0ba015eed4631315282295f767ccfbe - languageName: node - linkType: hard - -"@babel/plugin-transform-react-display-name@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-react-display-name@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/6cd474b5fb30a2255027d8fc19975aee1c1da54dd8bc8b79802676096182ca4136302ce65a24fbb277f8fe30f266006bbf327ef6be2846d3681eb57509744125 - languageName: node - linkType: hard - -"@babel/plugin-transform-react-jsx-development@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.27.1" - dependencies: - "@babel/plugin-transform-react-jsx": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/eb8c4b6a79dc5c49b41e928e2037e1ee0bbfa722e4fd74c0b7c0d11103c82c2c25c434000e1b051d534c7261ab5c92b6d1e85313bf1b26e37db3f051ae217b58 - languageName: node - linkType: hard - -"@babel/plugin-transform-react-jsx@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-react-jsx@npm:7.27.1" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - "@babel/helper-module-imports": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/plugin-syntax-jsx": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/1a08637c39fc78c9760dd4a3ed363fdbc762994bf83ed7872ad5bda0232fcd0fc557332f2ce36b522c0226dfd9cc8faac6b88eddda535f24825198a689e571af - languageName: node - linkType: hard - -"@babel/plugin-transform-react-pure-annotations@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.27.1" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/34bc090f4a7e460d82a851971b4d0f32e4bb519bafb927154f4174506283fe02b0f471fc20655c6050a8bf7b748bfa31c7e8f7d688849476d8266623554fbb28 - languageName: node - linkType: hard - -"@babel/plugin-transform-regenerator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-regenerator@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/42395908899310bb107d9ca31ebd4c302e14c582e3ad3ebfe1498fabafc43155c8f10850265c1e686a2afcf50d1f402cc5c5218fba72e167852607a4d8d6492e - languageName: node - linkType: hard - -"@babel/plugin-transform-regexp-modifiers@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.27.1" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/31ae596ab56751cf43468a6c0a9d6bc3521d306d2bee9c6957cdb64bea53812ce24bd13a32f766150d62b737bca5b0650b2c62db379382fff0dccbf076055c33 - languageName: node - linkType: hard - -"@babel/plugin-transform-reserved-words@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e1a87691cce21a644a474d7c9a8107d4486c062957be32042d40f0a3d0cc66e00a3150989655019c255ff020d2640ac16aaf544792717d586f219f3bad295567 - languageName: node - linkType: hard - -"@babel/plugin-transform-runtime@npm:^7.25.9": - version: 7.27.1 - resolution: "@babel/plugin-transform-runtime@npm:7.27.1" - dependencies: - "@babel/helper-module-imports": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.11.0" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/7abbae60a6441ba8546dee3fcbc00b38038304250ba2419adaf0c76267bff43420ff75b7049003a24a829e01d9fde2ac8a422352af6d88aebd31996a83f04c2f - languageName: node - linkType: hard - -"@babel/plugin-transform-shorthand-properties@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/bd5544b89520a22c41a6df5ddac9039821d3334c0ef364d18b0ba9674c5071c223bcc98be5867dc3865cb10796882b7594e2c40dedaff38e1b1273913fe353e1 - languageName: node - linkType: hard - -"@babel/plugin-transform-spread@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-spread@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/b34fc58b33bd35b47d67416655c2cbc8578fbb3948b4592bc15eb6d8b4046986e25c06e3b9929460fa4ab08e9653582415e7ef8b87d265e1239251bdf5a4c162 - languageName: node - linkType: hard - -"@babel/plugin-transform-sticky-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5698df2d924f0b1b7bdb7ef370e83f99ed3f0964eb3b9c27d774d021bee7f6d45f9a73e2be369d90b4aff1603ce29827f8743f091789960e7669daf9c3cda850 - languageName: node - linkType: hard - -"@babel/plugin-transform-template-literals@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c90f403e42ef062b60654d1c122c70f3ec6f00c2f304b0931ebe6d0b432498ef8a5ef9266ddf00debc535f8390842207e44d3900eff1d2bab0cc1a700f03e083 - languageName: node - linkType: hard - -"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a13c68015311fefa06a51830bc69d5badd06c881b13d5cf9ba04bf7c73e3fc6311cc889e18d9645ce2a64a79456dc9c7be88476c0b6802f62a686cb6f662ecd6 - languageName: node - linkType: hard - -"@babel/plugin-transform-typescript@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-typescript@npm:7.27.1" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - "@babel/helper-create-class-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" - "@babel/plugin-syntax-typescript": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/48f1db5de17a0f9fc365ff4fb046010aedc7aad813a7aa42fb73fcdab6442f9e700dde2cc0481086e01b0dae662ae4d3e965a52cde154f0f146d243a8ac68e93 - languageName: node - linkType: hard - -"@babel/plugin-transform-unicode-escapes@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a6809e0ca69d77ee9804e0c1164e8a2dea5e40718f6dcf234aeddf7292e7414f7ee331d87f17eb6f160823a329d1d6751bd49b35b392ac4a6efc032e4d3038d8 - languageName: node - linkType: hard - -"@babel/plugin-transform-unicode-property-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.27.1" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a332bc3cb3eeea67c47502bc52d13a0f8abae5a7bfcb08b93a8300ddaff8d9e1238f912969494c1b494c1898c6f19687054440706700b6d12cb0b90d88beb4d0 - languageName: node - linkType: hard - -"@babel/plugin-transform-unicode-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/6abda1bcffb79feba6f5c691859cdbe984cc96481ea65d5af5ba97c2e843154005f0886e25006a37a2d213c0243506a06eaeafd93a040dbe1f79539016a0d17a - languageName: node - linkType: hard - -"@babel/plugin-transform-unicode-sets-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.27.1" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/236645f4d0a1fba7c18dc8ffe3975933af93e478f2665650c2d91cf528cfa1587cde5cfe277e0e501fc03b5bf57638369575d6539cef478632fb93bd7d7d7178 - languageName: node - linkType: hard - -"@babel/preset-env@npm:^7.20.2, @babel/preset-env@npm:^7.25.9": - version: 7.27.2 - resolution: "@babel/preset-env@npm:7.27.2" - dependencies: - "@babel/compat-data": "npm:^7.27.2" - "@babel/helper-compilation-targets": "npm:^7.27.2" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-validator-option": "npm:^7.27.1" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.27.1" - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.27.1" - "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions": "npm:^7.27.1" - "@babel/plugin-syntax-import-attributes": "npm:^7.27.1" - "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" - "@babel/plugin-transform-async-generator-functions": "npm:^7.27.1" - "@babel/plugin-transform-async-to-generator": "npm:^7.27.1" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" - "@babel/plugin-transform-block-scoping": "npm:^7.27.1" - "@babel/plugin-transform-class-properties": "npm:^7.27.1" - "@babel/plugin-transform-class-static-block": "npm:^7.27.1" - "@babel/plugin-transform-classes": "npm:^7.27.1" - "@babel/plugin-transform-computed-properties": "npm:^7.27.1" - "@babel/plugin-transform-destructuring": "npm:^7.27.1" - "@babel/plugin-transform-dotall-regex": "npm:^7.27.1" - "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.27.1" - "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.27.1" - "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" - "@babel/plugin-transform-for-of": "npm:^7.27.1" - "@babel/plugin-transform-function-name": "npm:^7.27.1" - "@babel/plugin-transform-json-strings": "npm:^7.27.1" - "@babel/plugin-transform-literals": "npm:^7.27.1" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.27.1" - "@babel/plugin-transform-member-expression-literals": "npm:^7.27.1" - "@babel/plugin-transform-modules-amd": "npm:^7.27.1" - "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" - "@babel/plugin-transform-modules-systemjs": "npm:^7.27.1" - "@babel/plugin-transform-modules-umd": "npm:^7.27.1" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.27.1" - "@babel/plugin-transform-new-target": "npm:^7.27.1" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.27.1" - "@babel/plugin-transform-numeric-separator": "npm:^7.27.1" - "@babel/plugin-transform-object-rest-spread": "npm:^7.27.2" - "@babel/plugin-transform-object-super": "npm:^7.27.1" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.27.1" - "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" - "@babel/plugin-transform-parameters": "npm:^7.27.1" - "@babel/plugin-transform-private-methods": "npm:^7.27.1" - "@babel/plugin-transform-private-property-in-object": "npm:^7.27.1" - "@babel/plugin-transform-property-literals": "npm:^7.27.1" - "@babel/plugin-transform-regenerator": "npm:^7.27.1" - "@babel/plugin-transform-regexp-modifiers": "npm:^7.27.1" - "@babel/plugin-transform-reserved-words": "npm:^7.27.1" - "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" - "@babel/plugin-transform-spread": "npm:^7.27.1" - "@babel/plugin-transform-sticky-regex": "npm:^7.27.1" - "@babel/plugin-transform-template-literals": "npm:^7.27.1" - "@babel/plugin-transform-typeof-symbol": "npm:^7.27.1" - "@babel/plugin-transform-unicode-escapes": "npm:^7.27.1" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.27.1" - "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.27.1" - "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.11.0" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" - core-js-compat: "npm:^3.40.0" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/fd7ec310832a9ff26ed8d56bc0832cdbdb3a188e022050b74790796650649fb8373568af05b320b58b3ff922507979bad50ff95a4d504ab0081134480103504e - languageName: node - linkType: hard - -"@babel/preset-modules@npm:0.1.6-no-external-plugins": - version: 0.1.6-no-external-plugins - resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.0.0" - "@babel/types": "npm:^7.4.4" - esutils: "npm:^2.0.2" - peerDependencies: - "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 - languageName: node - linkType: hard - -"@babel/preset-react@npm:^7.18.6, @babel/preset-react@npm:^7.25.9": - version: 7.27.1 - resolution: "@babel/preset-react@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-validator-option": "npm:^7.27.1" - "@babel/plugin-transform-react-display-name": "npm:^7.27.1" - "@babel/plugin-transform-react-jsx": "npm:^7.27.1" - "@babel/plugin-transform-react-jsx-development": "npm:^7.27.1" - "@babel/plugin-transform-react-pure-annotations": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a80b02ef08b026cb9830d6512d08c7cd378eef4c0631dacba4aa1106240d9bb76af6373463f0255f4bbdbfcce40375a61e92735375906ba5871629b0c314bc45 - languageName: node - linkType: hard - -"@babel/preset-typescript@npm:^7.21.0, @babel/preset-typescript@npm:^7.25.9": - version: 7.27.1 - resolution: "@babel/preset-typescript@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-validator-option": "npm:^7.27.1" - "@babel/plugin-syntax-jsx": "npm:^7.27.1" - "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" - "@babel/plugin-transform-typescript": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/cba6ca793d915f8aff9fe2f13b0dfbf5fd3f2e9a17f17478ec9878e9af0d206dcfe93154b9fd353727f16c1dca7c7a3ceb4943f8d28b216235f106bc0fbbcaa3 - languageName: node - linkType: hard - -"@babel/runtime-corejs3@npm:^7.25.9": - version: 7.27.1 - resolution: "@babel/runtime-corejs3@npm:7.27.1" - dependencies: - core-js-pure: "npm:^3.30.2" - checksum: 10c0/81b46b6c73b590842abca14024a6b7c8751eaf0b519794f129b7c971043e13967e4d370933dbd7d0fdc78872ae45971b36013e0fa13c6d5c0130bfe971be0ac1 - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.25.9": - version: 7.27.1 - resolution: "@babel/runtime@npm:7.27.1" - checksum: 10c0/530a7332f86ac5a7442250456823a930906911d895c0b743bf1852efc88a20a016ed4cd26d442d0ca40ae6d5448111e02a08dd638a4f1064b47d080e2875dc05 - languageName: node - linkType: hard - -"@babel/template@npm:^7.27.1": - version: 7.27.2 - resolution: "@babel/template@npm:7.27.2" - dependencies: - "@babel/code-frame": "npm:^7.27.1" - "@babel/parser": "npm:^7.27.2" - "@babel/types": "npm:^7.27.1" - checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/traverse@npm:7.27.1" - dependencies: - "@babel/code-frame": "npm:^7.27.1" - "@babel/generator": "npm:^7.27.1" - "@babel/parser": "npm:^7.27.1" - "@babel/template": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" - debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: 10c0/d912110037b03b1d70a2436cfd51316d930366a5f54252da2bced1ba38642f644f848240a951e5caf12f1ef6c40d3d96baa92ea6e84800f2e891c15e97b25d50 - languageName: node - linkType: hard - -"@babel/types@npm:^7.21.3, @babel/types@npm:^7.27.1, @babel/types@npm:^7.4.4": - version: 7.27.1 - resolution: "@babel/types@npm:7.27.1" - dependencies: - "@babel/helper-string-parser": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.27.1" - checksum: 10c0/ed736f14db2fdf0d36c539c8e06b6bb5e8f9649a12b5c0e1c516fed827f27ef35085abe08bf4d1302a4e20c9a254e762eed453bce659786d4a6e01ba26a91377 - languageName: node - linkType: hard - -"@colors/colors@npm:1.5.0": - version: 1.5.0 - resolution: "@colors/colors@npm:1.5.0" - checksum: 10c0/eb42729851adca56d19a08e48d5a1e95efd2a32c55ae0323de8119052be0510d4b7a1611f2abcbf28c044a6c11e6b7d38f99fccdad7429300c37a8ea5fb95b44 - languageName: node - linkType: hard - -"@csstools/cascade-layer-name-parser@npm:^2.0.4": - version: 2.0.4 - resolution: "@csstools/cascade-layer-name-parser@npm:2.0.4" - peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.4 - "@csstools/css-tokenizer": ^3.0.3 - checksum: 10c0/774f2bcc96a576183853191bdfd31df15e22c51901ee01678ee47f1d1afcb4ab0e6d9a78e08f7383ac089c7e0b390013633f45ff1f1d577c9aefd252589bcced - languageName: node - linkType: hard - -"@csstools/color-helpers@npm:^5.0.2": - version: 5.0.2 - resolution: "@csstools/color-helpers@npm:5.0.2" - checksum: 10c0/bebaddb28b9eb58b0449edd5d0c0318fa88f3cb079602ee27e88c9118070d666dcc4e09a5aa936aba2fde6ba419922ade07b7b506af97dd7051abd08dfb2959b - languageName: node - linkType: hard - -"@csstools/css-calc@npm:^2.1.3": - version: 2.1.3 - resolution: "@csstools/css-calc@npm:2.1.3" - peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.4 - "@csstools/css-tokenizer": ^3.0.3 - checksum: 10c0/85f5b4f96d60f395d5f0108056b0ddee037b22d6deba448d74324b50f1c554de284f84715ebfac7b2888b78e09d20d02a7cd213ee7bdaa71011ea9b4eee3a251 - languageName: node - linkType: hard - -"@csstools/css-color-parser@npm:^3.0.9": - version: 3.0.9 - resolution: "@csstools/css-color-parser@npm:3.0.9" - dependencies: - "@csstools/color-helpers": "npm:^5.0.2" - "@csstools/css-calc": "npm:^2.1.3" - peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.4 - "@csstools/css-tokenizer": ^3.0.3 - checksum: 10c0/acc026a6bd6d8c4c641fa5f9b4d77cd5dfa54c57c3278ae52329d96b5837723428dcb93c34db4062bbea2f45a98451119df06eaf39fd196aaf6368c59d799f20 - languageName: node - linkType: hard - -"@csstools/css-parser-algorithms@npm:^3.0.4": - version: 3.0.4 - resolution: "@csstools/css-parser-algorithms@npm:3.0.4" - peerDependencies: - "@csstools/css-tokenizer": ^3.0.3 - checksum: 10c0/d411f07765e14eede17bccc6bd4f90ff303694df09aabfede3fd104b2dfacfd4fe3697cd25ddad14684c850328f3f9420ebfa9f78380892492974db24ae47dbd - languageName: node - linkType: hard - -"@csstools/css-tokenizer@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/css-tokenizer@npm:3.0.3" - checksum: 10c0/c31bf410e1244b942e71798e37c54639d040cb59e0121b21712b40015fced2b0fb1ffe588434c5f8923c9cd0017cfc1c1c8f3921abc94c96edf471aac2eba5e5 - languageName: node - linkType: hard - -"@csstools/media-query-list-parser@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/media-query-list-parser@npm:4.0.2" - peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.4 - "@csstools/css-tokenizer": ^3.0.3 - checksum: 10c0/5d008a70f5d4fd96224066a433f5cdefa76cfd78a74416a20d6d5b2bb1bc8282b140e8373015d807d4dadb91daf3deb73eb13f853ec4e0479d0cb92e80c6f20d - languageName: node - linkType: hard - -"@csstools/postcss-cascade-layers@npm:^5.0.1": - version: 5.0.1 - resolution: "@csstools/postcss-cascade-layers@npm:5.0.1" - dependencies: - "@csstools/selector-specificity": "npm:^5.0.0" - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/5cc3c6f220d9216f7ab16e716a20d6db845f127c917521e6236342bfa871accd63eb662a04c1e24a28e396412dcb47b1c4abccc490b88e4010cd704d14a702f1 - languageName: node - linkType: hard - -"@csstools/postcss-color-function@npm:^4.0.9": - version: 4.0.9 - resolution: "@csstools/postcss-color-function@npm:4.0.9" - dependencies: - "@csstools/css-color-parser": "npm:^3.0.9" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/utilities": "npm:^2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/11f7e8a1a4d6ff113706928eb4702454d18ee8d6b07166b98d33b499ba1933cdf034876101a9c3d22fcc009d054ca6fe2df1455daf391d5eb4af86fa6b530e75 - languageName: node - linkType: hard - -"@csstools/postcss-color-mix-function@npm:^3.0.9": - version: 3.0.9 - resolution: "@csstools/postcss-color-mix-function@npm:3.0.9" - dependencies: - "@csstools/css-color-parser": "npm:^3.0.9" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/utilities": "npm:^2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/e26ecec62ac6085e8c46225e444bfb6082fffad1559005c0746226b22f995727c2e4ede0fb347e37c81e8f4f2ac9cf4de88800184a650638351f4cbfb8baf1d3 - languageName: node - linkType: hard - -"@csstools/postcss-content-alt-text@npm:^2.0.5": - version: 2.0.5 - resolution: "@csstools/postcss-content-alt-text@npm:2.0.5" - dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/utilities": "npm:^2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/fd0543e8195b1a1228fa41995d48bafafb635d32b0b80bdae8edfc3af7fcccb75aa472a072e552420ed0bd2f62d38e764483e3b9cca25a41dc2b450098b2436d - languageName: node - linkType: hard - -"@csstools/postcss-exponential-functions@npm:^2.0.8": - version: 2.0.8 - resolution: "@csstools/postcss-exponential-functions@npm:2.0.8" - dependencies: - "@csstools/css-calc": "npm:^2.1.3" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/8ed7cea3ab7b3fce351dc678c97aad0c12d9e9eae43c9793081fc09e2b3281a89a9d67e57df02d87b6af40839d582b5d08523a9f9bfabbd4e05e319995ae7789 - languageName: node - linkType: hard - -"@csstools/postcss-font-format-keywords@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/postcss-font-format-keywords@npm:4.0.0" - dependencies: - "@csstools/utilities": "npm:^2.0.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/eb794fb95fefcac75e606d185255e601636af177866a317b0c6b6c375055e7240be53918229fd8d4bba00df01bedd2256bdac2b0ad4a4c2ec64f9d27cd6ff639 - languageName: node - linkType: hard - -"@csstools/postcss-gamut-mapping@npm:^2.0.9": - version: 2.0.9 - resolution: "@csstools/postcss-gamut-mapping@npm:2.0.9" - dependencies: - "@csstools/css-color-parser": "npm:^3.0.9" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/a5985c74bfa8c0fc4406cec807818e35949c73d62b6acd2901dbdd54a30afa7d2094f839ba550812bca76f0df95205492f271df4bab03f4b15115cf10b06b1b5 - languageName: node - linkType: hard - -"@csstools/postcss-gradients-interpolation-method@npm:^5.0.9": - version: 5.0.9 - resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.9" - dependencies: - "@csstools/css-color-parser": "npm:^3.0.9" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/utilities": "npm:^2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/b284558e38c096e1abfb04306717e23eec841ab23979479adbe165332db84503493b74e6d23d7752abec9327b9bfc343857e9a2393957d5bb9fd2e249570467e - languageName: node - linkType: hard - -"@csstools/postcss-hwb-function@npm:^4.0.9": - version: 4.0.9 - resolution: "@csstools/postcss-hwb-function@npm:4.0.9" - dependencies: - "@csstools/css-color-parser": "npm:^3.0.9" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/utilities": "npm:^2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/31f9b3540e8af221e1716944ed8719f97ae335e5f866dfc96a3d81f042ef8975ce0d6163925cb32514f4903cb35177bf8d814a571da3f44b63244f88b6b395ad - languageName: node - linkType: hard - -"@csstools/postcss-ic-unit@npm:^4.0.1": - version: 4.0.1 - resolution: "@csstools/postcss-ic-unit@npm:4.0.1" - dependencies: - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/utilities": "npm:^2.0.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/1097cbdc385bcf32e15df1ed2946477c5927e34ebaf273297f1ae46aeaf2084c7a63858ba1a7a5e1f241be441968a2e1c6deb43ddb101708110c7f608b6fc525 - languageName: node - linkType: hard - -"@csstools/postcss-initial@npm:^2.0.1": - version: 2.0.1 - resolution: "@csstools/postcss-initial@npm:2.0.1" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/dbff7084ef4f1c4647efe2b147001daf172003c15b5e22689f0540d03c8d362f2a332cd9cf136e6c8dcda7564ee30492a4267ea188f72cb9c1000fb9bcfbfef8 - languageName: node - linkType: hard - -"@csstools/postcss-is-pseudo-class@npm:^5.0.1": - version: 5.0.1 - resolution: "@csstools/postcss-is-pseudo-class@npm:5.0.1" - dependencies: - "@csstools/selector-specificity": "npm:^5.0.0" - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/3aaab18ebb2dcf5565efa79813eaa987d40de1e086765358524392a09631c68ad1ee952e6aff8f42513b2c18ab84891787e065fe287f696128498fc641520b6c - languageName: node - linkType: hard - -"@csstools/postcss-light-dark-function@npm:^2.0.8": - version: 2.0.8 - resolution: "@csstools/postcss-light-dark-function@npm:2.0.8" - dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/utilities": "npm:^2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/5494516f52d467dcace80495a4fb0fbd24207ae13634bb82b5c24e5d52e84665aebc28cd31fed8d96a41e91bf822185aba5a3d01680a140278c484741516c383 - languageName: node - linkType: hard - -"@csstools/postcss-logical-float-and-clear@npm:^3.0.0": - version: 3.0.0 - resolution: "@csstools/postcss-logical-float-and-clear@npm:3.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/71a20e8c37877bf68ae615d7bb93fc11b4f8da8be8b1dc1a6e0fc69e27f189712ed71436b8ed51fa69fdb98b8e6718df2b5f42f246c4d39badaf0e43020fcfd4 - languageName: node - linkType: hard - -"@csstools/postcss-logical-overflow@npm:^2.0.0": - version: 2.0.0 - resolution: "@csstools/postcss-logical-overflow@npm:2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/0e103343d3ff8b34eef01b02355c5e010d272fd12d149a242026bb13ab1577b7f3a11fd4514be9342d96f73d61dac1f093a9bd36ece591753ed09a84eb7fca0a - languageName: node - linkType: hard - -"@csstools/postcss-logical-overscroll-behavior@npm:^2.0.0": - version: 2.0.0 - resolution: "@csstools/postcss-logical-overscroll-behavior@npm:2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/1649601bb26f04d760fb5ebc42cdf414fa2a380b8ec22fe1c117f664c286665a786bd7bbda01b7e7567eaf3cc018a4f36a5c9805f6751cc497da223e0ffe9524 - languageName: node - linkType: hard - -"@csstools/postcss-logical-resize@npm:^3.0.0": - version: 3.0.0 - resolution: "@csstools/postcss-logical-resize@npm:3.0.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/4f12efcaf5468ff359bb3f32f0f66034b9acc9b3ac21fcd2f30a1c8998fc653ebac0091f35c8b7e8dbfe6ccf595aee67f9b06a67adf45a8844e49a82d98b4386 - languageName: node - linkType: hard - -"@csstools/postcss-logical-viewport-units@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.3" - dependencies: - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/utilities": "npm:^2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/8ec746598d7ce8697c3dafd83cb3a319a90079ad755dd78e3ec92f4ba9ad849c4cdaba33b16e9dcbac1e9489b3d7c48262030110c20ce1d88cdacbe9f5987cec - languageName: node - linkType: hard - -"@csstools/postcss-media-minmax@npm:^2.0.8": - version: 2.0.8 - resolution: "@csstools/postcss-media-minmax@npm:2.0.8" - dependencies: - "@csstools/css-calc": "npm:^2.1.3" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/media-query-list-parser": "npm:^4.0.2" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/aff72b83b888d3d0dc6441f219f7c2833a4aa0f59493da22db1087fce32763bb765f068c6ddedc0ddc6fe79f1843e6b1375af07fa572494ecac91e59b1dc324f - languageName: node - linkType: hard - -"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.4": - version: 3.0.4 - resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.4" - dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/media-query-list-parser": "npm:^4.0.2" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/27dc9419b0f4315774647588f599348e7cc593984f59b414c51c910066501fd087cbe232deb762907c18bd21dd4184e7b6e0e0b730e5c72341ab9cc696c75739 - languageName: node - linkType: hard - -"@csstools/postcss-nested-calc@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/postcss-nested-calc@npm:4.0.0" - dependencies: - "@csstools/utilities": "npm:^2.0.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/fb61512fa4909bdf0ee32a23e771145086c445f2208a737b52093c8adfab7362c56d3aeaf2a6e33ffcec067e99a07219775465d2fbb1a3ac30cdcfb278b218b7 - languageName: node - linkType: hard - -"@csstools/postcss-normalize-display-values@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/postcss-normalize-display-values@npm:4.0.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/d3a3a362b532163bd791f97348ef28b7a43baf01987c7702b06285e751cdc5ea3e3a2553f088260515b4d28263d5c475923d4d4780ecb4078ec66dff50c9e638 - languageName: node - linkType: hard - -"@csstools/postcss-oklab-function@npm:^4.0.9": - version: 4.0.9 - resolution: "@csstools/postcss-oklab-function@npm:4.0.9" - dependencies: - "@csstools/css-color-parser": "npm:^3.0.9" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/utilities": "npm:^2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/9955aafc1dfc0bb5c886b2af3a82abed2d0a707c7654b2b49886db4c7153e1a016f327f4cc0d94b5b28f3b6227d9b3422c63555f78412433655beec90f37b388 - languageName: node - linkType: hard - -"@csstools/postcss-progressive-custom-properties@npm:^4.0.1": - version: 4.0.1 - resolution: "@csstools/postcss-progressive-custom-properties@npm:4.0.1" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/a33e2a67ac29e731b112df9718596f703990492900bb118c513fcee7c0dc0a03f58248b2c5467b14de3e757f0ef2c6d97882254af784d8df390c633780bdf1f9 - languageName: node - linkType: hard - -"@csstools/postcss-random-function@npm:^2.0.0": - version: 2.0.0 - resolution: "@csstools/postcss-random-function@npm:2.0.0" - dependencies: - "@csstools/css-calc": "npm:^2.1.3" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/e0744b1472c4037b6491aac232d005659c0c65bc08af785cbdc50b722efaf71330e38607f4c88b54322338294f92ec68817ec1cd6e688953aa127f27cd2a5b00 - languageName: node - linkType: hard - -"@csstools/postcss-relative-color-syntax@npm:^3.0.9": - version: 3.0.9 - resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.9" - dependencies: - "@csstools/css-color-parser": "npm:^3.0.9" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/utilities": "npm:^2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/486e6c91b1042ca96e6e5c3d94d95e343101c7862e772aee16cd48607633f7c93c42dd23b5adc44cfa8dc8cb32ef3ba0f1f86e3f9a23be5c8744533d23128624 - languageName: node - linkType: hard - -"@csstools/postcss-scope-pseudo-class@npm:^4.0.1": - version: 4.0.1 - resolution: "@csstools/postcss-scope-pseudo-class@npm:4.0.1" - dependencies: - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/6a0ca50fae655f4498200d1ce298ca794c85fbe2e3fd5d6419843254f055df5007a973e09b5f1e78e376c02b54278e411516c8d824300c68b265d3e5b311d7ee - languageName: node - linkType: hard - -"@csstools/postcss-sign-functions@npm:^1.1.3": - version: 1.1.3 - resolution: "@csstools/postcss-sign-functions@npm:1.1.3" - dependencies: - "@csstools/css-calc": "npm:^2.1.3" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/97998443191ab0ef370bdc413b4952fd86d9274700fade2a83cdf5d59f449a4a7001ceda35dd6cb45fefebafb0959be35c3fcfa0e3333c55b1658f514eb64e96 - languageName: node - linkType: hard - -"@csstools/postcss-stepped-value-functions@npm:^4.0.8": - version: 4.0.8 - resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.8" - dependencies: - "@csstools/css-calc": "npm:^2.1.3" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/515630c3d25029a5e3789d665ae7f4a394245e5442c79d99f0fff018c698e356680aea0f937819a00cb78563ce2285a43ede50e32992cee4e062e413d22df44f - languageName: node - linkType: hard - -"@csstools/postcss-text-decoration-shorthand@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/postcss-text-decoration-shorthand@npm:4.0.2" - dependencies: - "@csstools/color-helpers": "npm:^5.0.2" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/01e2f3717e7a42224dc1a746491c55a381cf208cb7588f0308eeefe730675be4c7bb56c0cc557e75999c981e67da7d0b0bb68610635752c89ef251ee435b9cac - languageName: node - linkType: hard - -"@csstools/postcss-trigonometric-functions@npm:^4.0.8": - version: 4.0.8 - resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.8" - dependencies: - "@csstools/css-calc": "npm:^2.1.3" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/609d03b752aae1c57d671eaefe4cdbde0a1d62c4b4d3ffb8bb39a41ebb61fdade7c7892a2c7c365d2997d9f93f4f3bb4034801a5baf1988b274120b3ec0ba6ad - languageName: node - linkType: hard - -"@csstools/postcss-unset-value@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/postcss-unset-value@npm:4.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/8424ac700ded5bf59d49310335896f10c069e2c3fc6a676b5d13ca5a6fb78689b948f50494df875da284c4c76651deb005eafba70d87e693274628c5a685abfa - languageName: node - linkType: hard - -"@csstools/selector-resolve-nested@npm:^3.0.0": - version: 3.0.0 - resolution: "@csstools/selector-resolve-nested@npm:3.0.0" - peerDependencies: - postcss-selector-parser: ^7.0.0 - checksum: 10c0/2b01c36b3fa81388d5bddd8db962766465d76b021a815c8bb5a48c3a42c530154cc155fc496707ade627dbba6745eb8ecd9fa840c1972133c0f7d8811e0a959d - languageName: node - linkType: hard - -"@csstools/selector-specificity@npm:^5.0.0": - version: 5.0.0 - resolution: "@csstools/selector-specificity@npm:5.0.0" - peerDependencies: - postcss-selector-parser: ^7.0.0 - checksum: 10c0/186b444cabcdcdeb553bfe021f80c58bfe9ef38dcc444f2b1f34a5aab9be063ab4e753022b2d5792049c041c28cfbb78e4b707ec398459300e402030d35c07eb - languageName: node - linkType: hard - -"@csstools/utilities@npm:^2.0.0": - version: 2.0.0 - resolution: "@csstools/utilities@npm:2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/be5c31437b726928f64cd4bb3e47f5b90bfd2e2a69a8eaabd8e89cc6c0977e4f0f7ee48de50c8ed8b07e04e3956a02293247e0da3236d521fb2e836f88f65822 - languageName: node - linkType: hard - -"@discoveryjs/json-ext@npm:0.5.7": - version: 0.5.7 - resolution: "@discoveryjs/json-ext@npm:0.5.7" - checksum: 10c0/e10f1b02b78e4812646ddf289b7d9f2cb567d336c363b266bd50cd223cf3de7c2c74018d91cd2613041568397ef3a4a2b500aba588c6e5bd78c38374ba68f38c - languageName: node - linkType: hard - -"@docsearch/css@npm:3.9.0": - version: 3.9.0 - resolution: "@docsearch/css@npm:3.9.0" - checksum: 10c0/6300551e1cab7a5487063ec3581ae78ddaee3d93ec799556b451054448559b3ba849751b825fbd8b678367ef944bd82b3f11bc1d9e74e08e3cc48db40487b396 - languageName: node - linkType: hard - -"@docsearch/react@npm:^3.5.2, @docsearch/react@npm:^3.8.1": - version: 3.9.0 - resolution: "@docsearch/react@npm:3.9.0" - dependencies: - "@algolia/autocomplete-core": "npm:1.17.9" - "@algolia/autocomplete-preset-algolia": "npm:1.17.9" - "@docsearch/css": "npm:3.9.0" - algoliasearch: "npm:^5.14.2" - peerDependencies: - "@types/react": ">= 16.8.0 < 20.0.0" - react: ">= 16.8.0 < 20.0.0" - react-dom: ">= 16.8.0 < 20.0.0" - search-insights: ">= 1 < 3" - peerDependenciesMeta: - "@types/react": - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true - checksum: 10c0/5e737a5d9ef1daae1cd93e89870214c1ab0c36a3a2193e898db044bcc5d9de59f85228b2360ec0e8f10cdac7fd2fe3c6ec8a05d943ee7e17d6c1cef2e6e9ff2d - languageName: node - linkType: hard - -"@docusaurus/babel@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/babel@npm:3.7.0" - dependencies: - "@babel/core": "npm:^7.25.9" - "@babel/generator": "npm:^7.25.9" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-transform-runtime": "npm:^7.25.9" - "@babel/preset-env": "npm:^7.25.9" - "@babel/preset-react": "npm:^7.25.9" - "@babel/preset-typescript": "npm:^7.25.9" - "@babel/runtime": "npm:^7.25.9" - "@babel/runtime-corejs3": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - "@docusaurus/logger": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - babel-plugin-dynamic-import-node: "npm:^2.3.3" - fs-extra: "npm:^11.1.1" - tslib: "npm:^2.6.0" - checksum: 10c0/563ad2a95f690d8d0172acd64f96202d646072dde042edd4d80d39ad01b6fb026a2d5fe124d0e3fc3a7447120ebca15a0b1ef5f5ea431905cae80596584d722f - languageName: node - linkType: hard - -"@docusaurus/bundler@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/bundler@npm:3.7.0" - dependencies: - "@babel/core": "npm:^7.25.9" - "@docusaurus/babel": "npm:3.7.0" - "@docusaurus/cssnano-preset": "npm:3.7.0" - "@docusaurus/logger": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - babel-loader: "npm:^9.2.1" - clean-css: "npm:^5.3.2" - copy-webpack-plugin: "npm:^11.0.0" - css-loader: "npm:^6.8.1" - css-minimizer-webpack-plugin: "npm:^5.0.1" - cssnano: "npm:^6.1.2" - file-loader: "npm:^6.2.0" - html-minifier-terser: "npm:^7.2.0" - mini-css-extract-plugin: "npm:^2.9.1" - null-loader: "npm:^4.0.1" - postcss: "npm:^8.4.26" - postcss-loader: "npm:^7.3.3" - postcss-preset-env: "npm:^10.1.0" - react-dev-utils: "npm:^12.0.1" - terser-webpack-plugin: "npm:^5.3.9" - tslib: "npm:^2.6.0" - url-loader: "npm:^4.1.1" - webpack: "npm:^5.95.0" - webpackbar: "npm:^6.0.1" - peerDependencies: - "@docusaurus/faster": "*" - peerDependenciesMeta: - "@docusaurus/faster": - optional: true - checksum: 10c0/79e167e704c8fcae106a9edd7e7b8082d432bb634f51802cc92124e7409ddd227aa9c89ac46776a4fbee7c5729dac61656f5aeade997677e4076f3c0d837a2bb - languageName: node - linkType: hard - -"@docusaurus/core@npm:3.7.0, @docusaurus/core@npm:^3.7.0": - version: 3.7.0 - resolution: "@docusaurus/core@npm:3.7.0" - dependencies: - "@docusaurus/babel": "npm:3.7.0" - "@docusaurus/bundler": "npm:3.7.0" - "@docusaurus/logger": "npm:3.7.0" - "@docusaurus/mdx-loader": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - "@docusaurus/utils-common": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - boxen: "npm:^6.2.1" - chalk: "npm:^4.1.2" - chokidar: "npm:^3.5.3" - cli-table3: "npm:^0.6.3" - combine-promises: "npm:^1.1.0" - commander: "npm:^5.1.0" - core-js: "npm:^3.31.1" - del: "npm:^6.1.1" - detect-port: "npm:^1.5.1" - escape-html: "npm:^1.0.3" - eta: "npm:^2.2.0" - eval: "npm:^0.1.8" - fs-extra: "npm:^11.1.1" - html-tags: "npm:^3.3.1" - html-webpack-plugin: "npm:^5.6.0" - leven: "npm:^3.1.0" - lodash: "npm:^4.17.21" - p-map: "npm:^4.0.0" - prompts: "npm:^2.4.2" - react-dev-utils: "npm:^12.0.1" - react-helmet-async: "npm:@slorber/react-helmet-async@1.3.0" - react-loadable: "npm:@docusaurus/react-loadable@6.0.0" - react-loadable-ssr-addon-v5-slorber: "npm:^1.0.1" - react-router: "npm:^5.3.4" - react-router-config: "npm:^5.1.1" - react-router-dom: "npm:^5.3.4" - semver: "npm:^7.5.4" - serve-handler: "npm:^6.1.6" - shelljs: "npm:^0.8.5" - tslib: "npm:^2.6.0" - update-notifier: "npm:^6.0.2" - webpack: "npm:^5.95.0" - webpack-bundle-analyzer: "npm:^4.10.2" - webpack-dev-server: "npm:^4.15.2" - webpack-merge: "npm:^6.0.1" - peerDependencies: - "@mdx-js/react": ^3.0.0 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - bin: - docusaurus: bin/docusaurus.mjs - checksum: 10c0/2b1034d27107da820f71c15d430aac308e9d63c2c144a1b2aff96927b4e703bd6abaae61a8a3434f5bb4eb25ca34ed793b2b5e6ddb9d2b41ce6e98332b281da4 - languageName: node - linkType: hard - -"@docusaurus/cssnano-preset@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/cssnano-preset@npm:3.7.0" - dependencies: - cssnano-preset-advanced: "npm:^6.1.2" - postcss: "npm:^8.4.38" - postcss-sort-media-queries: "npm:^5.2.0" - tslib: "npm:^2.6.0" - checksum: 10c0/e6324c50bb946da60692ec387ff1708d3e0ec91f60add539412ba92d92278b843b85c66b861dcb0f089697d5e42698b5c9786f9264cae8835789126c6451911a - languageName: node - linkType: hard - -"@docusaurus/logger@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/logger@npm:3.7.0" - dependencies: - chalk: "npm:^4.1.2" - tslib: "npm:^2.6.0" - checksum: 10c0/48f1b13d5f17d27515313f593f2d23b6efe29038dddaf914fd2bec9e8b598d2d7f972d8ae7b09827c9874835a7984101208287c0b93dfa3fe8c5357198378214 - languageName: node - linkType: hard - -"@docusaurus/mdx-loader@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/mdx-loader@npm:3.7.0" - dependencies: - "@docusaurus/logger": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - "@mdx-js/mdx": "npm:^3.0.0" - "@slorber/remark-comment": "npm:^1.0.0" - escape-html: "npm:^1.0.3" - estree-util-value-to-estree: "npm:^3.0.1" - file-loader: "npm:^6.2.0" - fs-extra: "npm:^11.1.1" - image-size: "npm:^1.0.2" - mdast-util-mdx: "npm:^3.0.0" - mdast-util-to-string: "npm:^4.0.0" - rehype-raw: "npm:^7.0.0" - remark-directive: "npm:^3.0.0" - remark-emoji: "npm:^4.0.0" - remark-frontmatter: "npm:^5.0.0" - remark-gfm: "npm:^4.0.0" - stringify-object: "npm:^3.3.0" - tslib: "npm:^2.6.0" - unified: "npm:^11.0.3" - unist-util-visit: "npm:^5.0.0" - url-loader: "npm:^4.1.1" - vfile: "npm:^6.0.1" - webpack: "npm:^5.88.1" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/08b397334b46230486cfd3b67d5d760087902b376201f2a870d33c9228671fe81d53358bb0fa1f441d69a844685ff60315f414ce717c5801dc7d7bb362dcf1c6 - languageName: node - linkType: hard - -"@docusaurus/module-type-aliases@npm:3.7.0, @docusaurus/module-type-aliases@npm:^3.7.0": - version: 3.7.0 - resolution: "@docusaurus/module-type-aliases@npm:3.7.0" - dependencies: - "@docusaurus/types": "npm:3.7.0" - "@types/history": "npm:^4.7.11" - "@types/react": "npm:*" - "@types/react-router-config": "npm:*" - "@types/react-router-dom": "npm:*" - react-helmet-async: "npm:@slorber/react-helmet-async@*" - react-loadable: "npm:@docusaurus/react-loadable@6.0.0" - peerDependencies: - react: "*" - react-dom: "*" - checksum: 10c0/fca90450afb0aaafbae20b70adc2b35af81fff20a1d0fcf3c652b0200ac9be870add257e577e227854b20b9ca375fa53f99242435d2576dfeb7ee791d3fb25ae - languageName: node - linkType: hard - -"@docusaurus/plugin-client-redirects@npm:^3.7.0": - version: 3.7.0 - resolution: "@docusaurus/plugin-client-redirects@npm:3.7.0" - dependencies: - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/logger": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - "@docusaurus/utils-common": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - eta: "npm:^2.2.0" - fs-extra: "npm:^11.1.1" - lodash: "npm:^4.17.21" - tslib: "npm:^2.6.0" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/ecdd5061a683541125f14b0f1e5e1afcecefc358bf16e1b71c8e4c66ae8f70f03fd18f00fcbb3525229c8692f8976158eaee1791a68baa7451047d521d619b95 - languageName: node - linkType: hard - -"@docusaurus/plugin-content-blog@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/plugin-content-blog@npm:3.7.0" - dependencies: - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/logger": "npm:3.7.0" - "@docusaurus/mdx-loader": "npm:3.7.0" - "@docusaurus/theme-common": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - "@docusaurus/utils-common": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - cheerio: "npm:1.0.0-rc.12" - feed: "npm:^4.2.2" - fs-extra: "npm:^11.1.1" - lodash: "npm:^4.17.21" - reading-time: "npm:^1.5.0" - srcset: "npm:^4.0.0" - tslib: "npm:^2.6.0" - unist-util-visit: "npm:^5.0.0" - utility-types: "npm:^3.10.0" - webpack: "npm:^5.88.1" - peerDependencies: - "@docusaurus/plugin-content-docs": "*" - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/8eb1e4f673763a3d5e727cbfe867b5334c67c65ca0804bcd81b818ca62e9ff33cf9c0db013958a40c590327bf4b8037cd5d510f39bc699e6ede8f02680f3af1b - languageName: node - linkType: hard - -"@docusaurus/plugin-content-docs@npm:3.7.0, @docusaurus/plugin-content-docs@npm:^3.7.0": - version: 3.7.0 - resolution: "@docusaurus/plugin-content-docs@npm:3.7.0" - dependencies: - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/logger": "npm:3.7.0" - "@docusaurus/mdx-loader": "npm:3.7.0" - "@docusaurus/module-type-aliases": "npm:3.7.0" - "@docusaurus/theme-common": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - "@docusaurus/utils-common": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - "@types/react-router-config": "npm:^5.0.7" - combine-promises: "npm:^1.1.0" - fs-extra: "npm:^11.1.1" - js-yaml: "npm:^4.1.0" - lodash: "npm:^4.17.21" - tslib: "npm:^2.6.0" - utility-types: "npm:^3.10.0" - webpack: "npm:^5.88.1" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/eab3810b1b34d0b037cd802747892ece163d818013b4c33a9db40f973df05a6c12a3120f746afa2648b9c2c2b1ec711d6c4552a4cc8e2d904522c355cc02de71 - languageName: node - linkType: hard - -"@docusaurus/plugin-content-pages@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/plugin-content-pages@npm:3.7.0" - dependencies: - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/mdx-loader": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - fs-extra: "npm:^11.1.1" - tslib: "npm:^2.6.0" - webpack: "npm:^5.88.1" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/7f1df2f4eb9c4f74af1bfbd7a3fed9874e1bdc06a9d9772584e3f121d63c9686bc6e1c2d9e3304a95cb24b8f12db342ac28132fe08c0082a2cf925a347dd8115 - languageName: node - linkType: hard - -"@docusaurus/plugin-debug@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/plugin-debug@npm:3.7.0" - dependencies: - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - fs-extra: "npm:^11.1.1" - react-json-view-lite: "npm:^1.2.0" - tslib: "npm:^2.6.0" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/968a1c14ebe7fed9775269f1b6b86dbe09efbf48d2f0c9ac9ee5572fda9d22b41c970001b58b947d078419b42af6d70f60e87c1d8f24f92c7ce422f364ec32eb - languageName: node - linkType: hard - -"@docusaurus/plugin-google-analytics@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/plugin-google-analytics@npm:3.7.0" - dependencies: - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - tslib: "npm:^2.6.0" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/f3881ac270ee38f582563f679d33e4755bfb24c5bf57f31185d8e7caebf7e9e73a480e57c7db88e4f3b15c0176a6b092919b1e4bed078fad58333076aeb116cf - languageName: node - linkType: hard - -"@docusaurus/plugin-google-gtag@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/plugin-google-gtag@npm:3.7.0" - dependencies: - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - "@types/gtag.js": "npm:^0.0.12" - tslib: "npm:^2.6.0" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/899429408e2ff95504f8e9c79ffa23877fb717e12746d94d7e96d448a539f04f848b6111b99a15cd08af47b792d0ae2d985fd4af342263b713116cf835058f43 - languageName: node - linkType: hard - -"@docusaurus/plugin-google-tag-manager@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/plugin-google-tag-manager@npm:3.7.0" - dependencies: - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - tslib: "npm:^2.6.0" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/9980d71196835e25f548ebbeac18181914e23c6f07b0441659a12bdfd4fbc15f41b9bfe97b314aae2d8e0e49c0cfd9f38f372452b0a92f3b9a48d2568104f0b9 - languageName: node - linkType: hard - -"@docusaurus/plugin-sitemap@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/plugin-sitemap@npm:3.7.0" - dependencies: - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/logger": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - "@docusaurus/utils-common": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - fs-extra: "npm:^11.1.1" - sitemap: "npm:^7.1.1" - tslib: "npm:^2.6.0" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/06cce94a8bb81adb87903776086c16fc77029c418b7f07d96506d6ed4d569a7ce3a816627d74f15c1c6a1a98f0ce278c9fc12ca05246c8af8742c12d3b145f30 - languageName: node - linkType: hard - -"@docusaurus/plugin-svgr@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/plugin-svgr@npm:3.7.0" - dependencies: - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - "@svgr/core": "npm:8.1.0" - "@svgr/webpack": "npm:^8.1.0" - tslib: "npm:^2.6.0" - webpack: "npm:^5.88.1" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/c776758b43db2dfeef234197c98345efb4d28a57f29d0158ea0a3f542391de063cd4f535f15f150d0311aee9de000d126b5730cf1e143120baa6c5a8ea1b527f - languageName: node - linkType: hard - -"@docusaurus/preset-classic@npm:^3.7.0": - version: 3.7.0 - resolution: "@docusaurus/preset-classic@npm:3.7.0" - dependencies: - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/plugin-content-blog": "npm:3.7.0" - "@docusaurus/plugin-content-docs": "npm:3.7.0" - "@docusaurus/plugin-content-pages": "npm:3.7.0" - "@docusaurus/plugin-debug": "npm:3.7.0" - "@docusaurus/plugin-google-analytics": "npm:3.7.0" - "@docusaurus/plugin-google-gtag": "npm:3.7.0" - "@docusaurus/plugin-google-tag-manager": "npm:3.7.0" - "@docusaurus/plugin-sitemap": "npm:3.7.0" - "@docusaurus/plugin-svgr": "npm:3.7.0" - "@docusaurus/theme-classic": "npm:3.7.0" - "@docusaurus/theme-common": "npm:3.7.0" - "@docusaurus/theme-search-algolia": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/25a77c337168f32ce7d6df9b9222c1b21dc3414506841bd4b72be058e10ccfac3ca4e27a392f14f2b591f36815131ed2240795b77d566630980b92952c41897a - languageName: node - linkType: hard - -"@docusaurus/theme-classic@npm:3.7.0, @docusaurus/theme-classic@npm:^3.7.0": - version: 3.7.0 - resolution: "@docusaurus/theme-classic@npm:3.7.0" - dependencies: - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/logger": "npm:3.7.0" - "@docusaurus/mdx-loader": "npm:3.7.0" - "@docusaurus/module-type-aliases": "npm:3.7.0" - "@docusaurus/plugin-content-blog": "npm:3.7.0" - "@docusaurus/plugin-content-docs": "npm:3.7.0" - "@docusaurus/plugin-content-pages": "npm:3.7.0" - "@docusaurus/theme-common": "npm:3.7.0" - "@docusaurus/theme-translations": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - "@docusaurus/utils-common": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - "@mdx-js/react": "npm:^3.0.0" - clsx: "npm:^2.0.0" - copy-text-to-clipboard: "npm:^3.2.0" - infima: "npm:0.2.0-alpha.45" - lodash: "npm:^4.17.21" - nprogress: "npm:^0.2.0" - postcss: "npm:^8.4.26" - prism-react-renderer: "npm:^2.3.0" - prismjs: "npm:^1.29.0" - react-router-dom: "npm:^5.3.4" - rtlcss: "npm:^4.1.0" - tslib: "npm:^2.6.0" - utility-types: "npm:^3.10.0" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/e2ec1fdaedc71add6ae1e8ee83ae32132c679afe407850185fbbec82f96c66a3befd506df73a0de0d9e03333c04801017f4c668e63851cb6e814f2ddf6973ad0 - languageName: node - linkType: hard - -"@docusaurus/theme-common@npm:3.7.0, @docusaurus/theme-common@npm:^3.7.0": - version: 3.7.0 - resolution: "@docusaurus/theme-common@npm:3.7.0" - dependencies: - "@docusaurus/mdx-loader": "npm:3.7.0" - "@docusaurus/module-type-aliases": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - "@docusaurus/utils-common": "npm:3.7.0" - "@types/history": "npm:^4.7.11" - "@types/react": "npm:*" - "@types/react-router-config": "npm:*" - clsx: "npm:^2.0.0" - parse-numeric-range: "npm:^1.3.0" - prism-react-renderer: "npm:^2.3.0" - tslib: "npm:^2.6.0" - utility-types: "npm:^3.10.0" - peerDependencies: - "@docusaurus/plugin-content-docs": "*" - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/4b5ba21d2d5807a9582cd1fe5280fa0637a7debb8313253793d35435ce92e119406d47564766ec0bf0f93d7d2f8da412883ea4b16972f79bee5bda20ac6f354e - languageName: node - linkType: hard - -"@docusaurus/theme-search-algolia@npm:3.7.0, @docusaurus/theme-search-algolia@npm:^3.7.0": - version: 3.7.0 - resolution: "@docusaurus/theme-search-algolia@npm:3.7.0" - dependencies: - "@docsearch/react": "npm:^3.8.1" - "@docusaurus/core": "npm:3.7.0" - "@docusaurus/logger": "npm:3.7.0" - "@docusaurus/plugin-content-docs": "npm:3.7.0" - "@docusaurus/theme-common": "npm:3.7.0" - "@docusaurus/theme-translations": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - "@docusaurus/utils-validation": "npm:3.7.0" - algoliasearch: "npm:^5.17.1" - algoliasearch-helper: "npm:^3.22.6" - clsx: "npm:^2.0.0" - eta: "npm:^2.2.0" - fs-extra: "npm:^11.1.1" - lodash: "npm:^4.17.21" - tslib: "npm:^2.6.0" - utility-types: "npm:^3.10.0" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/4766e2571b64cc895e7ab3af750e9158527f3ebe238605f325defe755ddd938af9b01d711b932b3c6639b31b2d69a6f360b2870fa1104599829c276a30457f6e - languageName: node - linkType: hard - -"@docusaurus/theme-translations@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/theme-translations@npm:3.7.0" - dependencies: - fs-extra: "npm:^11.1.1" - tslib: "npm:^2.6.0" - checksum: 10c0/47721f98fdaa34004e2df555e89dd4d751942c9d8efe2df3816bc6b761a068058e31887086a1d1498394fc53c859340b6ce9e15ee65e926e05c7c1e2429497ad - languageName: node - linkType: hard - -"@docusaurus/tsconfig@npm:^3.7.0": - version: 3.7.0 - resolution: "@docusaurus/tsconfig@npm:3.7.0" - checksum: 10c0/22a076fa3cf6da25a76f87fbe5b37c09997f5a8729fdc1a69c0c7955dff9f9850f16dc1de8c6d5096d258a95c428fb8839b252b9dbaa648acb7de8a0e5889dea - languageName: node - linkType: hard - -"@docusaurus/types@npm:3.7.0, @docusaurus/types@npm:^3.7.0": - version: 3.7.0 - resolution: "@docusaurus/types@npm:3.7.0" - dependencies: - "@mdx-js/mdx": "npm:^3.0.0" - "@types/history": "npm:^4.7.11" - "@types/react": "npm:*" - commander: "npm:^5.1.0" - joi: "npm:^17.9.2" - react-helmet-async: "npm:@slorber/react-helmet-async@1.3.0" - utility-types: "npm:^3.10.0" - webpack: "npm:^5.95.0" - webpack-merge: "npm:^5.9.0" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/256d3b579e0f663096d915cfd34851564a243dd3b587901f0b8de7988ea021bf4c9f9bcb9d632f52cddb37f53959be8d93728421ddbba7f9c98a36f0dec454cd - languageName: node - linkType: hard - -"@docusaurus/utils-common@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/utils-common@npm:3.7.0" - dependencies: - "@docusaurus/types": "npm:3.7.0" - tslib: "npm:^2.6.0" - checksum: 10c0/a02dc936f256ceb1a95e57556d556bd57576124eb903928fccfa19e3fa098ee5a2e637663b372c8f797c50ab9df7c0e94f59b3b728198a408fa191689f2aa7e7 - languageName: node - linkType: hard - -"@docusaurus/utils-validation@npm:3.7.0, @docusaurus/utils-validation@npm:^3": - version: 3.7.0 - resolution: "@docusaurus/utils-validation@npm:3.7.0" - dependencies: - "@docusaurus/logger": "npm:3.7.0" - "@docusaurus/utils": "npm:3.7.0" - "@docusaurus/utils-common": "npm:3.7.0" - fs-extra: "npm:^11.2.0" - joi: "npm:^17.9.2" - js-yaml: "npm:^4.1.0" - lodash: "npm:^4.17.21" - tslib: "npm:^2.6.0" - checksum: 10c0/f0b67f93879b23c3238f66dde0361999399e40a61bb2531ba044939d136ed112e4d0304a598f718942e897d6abd3fd4e75d03d21e559fc2197a0d6324926668f - languageName: node - linkType: hard - -"@docusaurus/utils@npm:3.7.0": - version: 3.7.0 - resolution: "@docusaurus/utils@npm:3.7.0" - dependencies: - "@docusaurus/logger": "npm:3.7.0" - "@docusaurus/types": "npm:3.7.0" - "@docusaurus/utils-common": "npm:3.7.0" - escape-string-regexp: "npm:^4.0.0" - file-loader: "npm:^6.2.0" - fs-extra: "npm:^11.1.1" - github-slugger: "npm:^1.5.0" - globby: "npm:^11.1.0" - gray-matter: "npm:^4.0.3" - jiti: "npm:^1.20.0" - js-yaml: "npm:^4.1.0" - lodash: "npm:^4.17.21" - micromatch: "npm:^4.0.5" - prompts: "npm:^2.4.2" - resolve-pathname: "npm:^3.0.0" - shelljs: "npm:^0.8.5" - tslib: "npm:^2.6.0" - url-loader: "npm:^4.1.1" - utility-types: "npm:^3.10.0" - webpack: "npm:^5.88.1" - checksum: 10c0/8d6dbb5c776e0cbf0c8437a81d0d97ff6f51ca259c9d3baa0e1b26849e48a016d02fb2ec80290dc2b8e434ca3dd1388ad4b44de2d101d5edea50de64531ccef1 - languageName: node - linkType: hard - -"@gracefullight/docusaurus-plugin-vercel-analytics@npm:^1.0.0": - version: 1.0.1 - resolution: "@gracefullight/docusaurus-plugin-vercel-analytics@npm:1.0.1" - dependencies: - "@docusaurus/utils-validation": "npm:^3" - checksum: 10c0/b17c05a16bdfff2fca8ce41001f6fe7cff0ce571ce18a9c484f67e6f51732a1f0589620750b8fc3b484d6b5db993d5904245dbcb4aeae010b84456e72c795f62 - languageName: node - linkType: hard - -"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": - version: 9.3.0 - resolution: "@hapi/hoek@npm:9.3.0" - checksum: 10c0/a096063805051fb8bba4c947e293c664b05a32b47e13bc654c0dd43813a1cec993bdd8f29ceb838020299e1d0f89f68dc0d62a603c13c9cc8541963f0beca055 - languageName: node - linkType: hard - -"@hapi/topo@npm:^5.1.0": - version: 5.1.0 - resolution: "@hapi/topo@npm:5.1.0" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/b16b06d9357947149e032bdf10151eb71aea8057c79c4046bf32393cb89d0d0f7ca501c40c0f7534a5ceca078de0700d2257ac855c15e59fe4e00bba2f25c86f - languageName: node - linkType: hard - -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e - languageName: node - linkType: hard - -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.1 - resolution: "@isaacs/fs-minipass@npm:4.0.1" - dependencies: - minipass: "npm:^7.0.4" - checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 - languageName: node - linkType: hard - -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" - dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be - languageName: node - linkType: hard - -"@jest/types@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/types@npm:29.6.3" - dependencies: - "@jest/schemas": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - "@types/istanbul-reports": "npm:^3.0.0" - "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.8" - chalk: "npm:^4.0.0" - checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 - languageName: node - linkType: hard - -"@jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.8 - resolution: "@jridgewell/gen-mapping@npm:0.3.8" - dependencies: - "@jridgewell/set-array": "npm:^1.2.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/c668feaf86c501d7c804904a61c23c67447b2137b813b9ce03eca82cb9d65ac7006d766c218685d76e3d72828279b6ee26c347aa1119dab23fbaf36aed51585a - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e - languageName: node - linkType: hard - -"@jridgewell/set-array@npm:^1.2.1": - version: 1.2.1 - resolution: "@jridgewell/set-array@npm:1.2.1" - checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 - languageName: node - linkType: hard - -"@jridgewell/source-map@npm:^0.3.3": - version: 0.3.6 - resolution: "@jridgewell/source-map@npm:0.3.6" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" - checksum: 10c0/6a4ecc713ed246ff8e5bdcc1ef7c49aaa93f7463d948ba5054dda18b02dcc6a055e2828c577bcceee058f302ce1fc95595713d44f5c45e43d459f88d267f2f04 - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": - version: 1.5.0 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" - checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": - version: 0.3.25 - resolution: "@jridgewell/trace-mapping@npm:0.3.25" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 - languageName: node - linkType: hard - -"@leichtgewicht/ip-codec@npm:^2.0.1": - version: 2.0.5 - resolution: "@leichtgewicht/ip-codec@npm:2.0.5" - checksum: 10c0/14a0112bd59615eef9e3446fea018045720cd3da85a98f801a685a818b0d96ef2a1f7227e8d271def546b2e2a0fe91ef915ba9dc912ab7967d2317b1a051d66b - languageName: node - linkType: hard - -"@mdx-js/mdx@npm:^3.0.0": - version: 3.1.0 - resolution: "@mdx-js/mdx@npm:3.1.0" - dependencies: - "@types/estree": "npm:^1.0.0" - "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^3.0.0" - "@types/mdx": "npm:^2.0.0" - collapse-white-space: "npm:^2.0.0" - devlop: "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^3.0.0" - estree-util-scope: "npm:^1.0.0" - estree-walker: "npm:^3.0.0" - hast-util-to-jsx-runtime: "npm:^2.0.0" - markdown-extensions: "npm:^2.0.0" - recma-build-jsx: "npm:^1.0.0" - recma-jsx: "npm:^1.0.0" - recma-stringify: "npm:^1.0.0" - rehype-recma: "npm:^1.0.0" - remark-mdx: "npm:^3.0.0" - remark-parse: "npm:^11.0.0" - remark-rehype: "npm:^11.0.0" - source-map: "npm:^0.7.0" - unified: "npm:^11.0.0" - unist-util-position-from-estree: "npm:^2.0.0" - unist-util-stringify-position: "npm:^4.0.0" - unist-util-visit: "npm:^5.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/e586ab772dcfee2bab334d5aac54c711e6d6d550085271c38a49c629b3e3954b5f41f488060761284a5e00649d0638d6aba6c0a7c66f91db80dee0ccc304ab32 - languageName: node - linkType: hard - -"@mdx-js/react@npm:^3.0.0": - version: 3.1.0 - resolution: "@mdx-js/react@npm:3.1.0" - dependencies: - "@types/mdx": "npm:^2.0.0" - peerDependencies: - "@types/react": ">=16" - react: ">=16" - checksum: 10c0/381ed1211ba2b8491bf0ad9ef0d8d1badcdd114e1931d55d44019d4b827cc2752586708f9c7d2f9c3244150ed81f1f671a6ca95fae0edd5797fb47a22e06ceca - languageName: node - linkType: hard - -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - -"@npmcli/agent@npm:^3.0.0": - version: 3.0.0 - resolution: "@npmcli/agent@npm:3.0.0" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^4.0.0": - version: 4.0.0 - resolution: "@npmcli/fs@npm:4.0.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 - languageName: node - linkType: hard - -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd - languageName: node - linkType: hard - -"@pnpm/config.env-replace@npm:^1.1.0": - version: 1.1.0 - resolution: "@pnpm/config.env-replace@npm:1.1.0" - checksum: 10c0/4cfc4a5c49ab3d0c6a1f196cfd4146374768b0243d441c7de8fa7bd28eaab6290f514b98490472cc65dbd080d34369447b3e9302585e1d5c099befd7c8b5e55f - languageName: node - linkType: hard - -"@pnpm/network.ca-file@npm:^1.0.1": - version: 1.0.2 - resolution: "@pnpm/network.ca-file@npm:1.0.2" - dependencies: - graceful-fs: "npm:4.2.10" - checksum: 10c0/95f6e0e38d047aca3283550719155ce7304ac00d98911e4ab026daedaf640a63bd83e3d13e17c623fa41ac72f3801382ba21260bcce431c14fbbc06430ecb776 - languageName: node - linkType: hard - -"@pnpm/npm-conf@npm:^2.1.0": - version: 2.3.1 - resolution: "@pnpm/npm-conf@npm:2.3.1" - dependencies: - "@pnpm/config.env-replace": "npm:^1.1.0" - "@pnpm/network.ca-file": "npm:^1.0.1" - config-chain: "npm:^1.1.11" - checksum: 10c0/778a3a34ff7d6000a2594d2a9821f873f737bc56367865718b2cf0ba5d366e49689efe7975148316d7afd8e6f1dcef7d736fbb6ea7ef55caadd1dc93a36bb302 - languageName: node - linkType: hard - -"@polka/url@npm:^1.0.0-next.24": - version: 1.0.0-next.29 - resolution: "@polka/url@npm:1.0.0-next.29" - checksum: 10c0/0d58e081844095cb029d3c19a659bfefd09d5d51a2f791bc61eba7ea826f13d6ee204a8a448c2f5a855c17df07b37517373ff916dd05801063c0568ae9937684 - languageName: node - linkType: hard - -"@sideway/address@npm:^4.1.5": - version: 4.1.5 - resolution: "@sideway/address@npm:4.1.5" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/638eb6f7e7dba209053dd6c8da74d7cc995e2b791b97644d0303a7dd3119263bcb7225a4f6804d4db2bc4f96e5a9d262975a014f58eae4d1753c27cbc96ef959 - languageName: node - linkType: hard - -"@sideway/formula@npm:^3.0.1": - version: 3.0.1 - resolution: "@sideway/formula@npm:3.0.1" - checksum: 10c0/3fe81fa9662efc076bf41612b060eb9b02e846ea4bea5bd114f1662b7f1541e9dedcf98aff0d24400bcb92f113964a50e0290b86e284edbdf6346fa9b7e2bf2c - languageName: node - linkType: hard - -"@sideway/pinpoint@npm:^2.0.0": - version: 2.0.0 - resolution: "@sideway/pinpoint@npm:2.0.0" - checksum: 10c0/d2ca75dacaf69b8fc0bb8916a204e01def3105ee44d8be16c355e5f58189eb94039e15ce831f3d544f229889ccfa35562a0ce2516179f3a7ee1bbe0b71e55b36 - languageName: node - linkType: hard - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e - languageName: node - linkType: hard - -"@sindresorhus/is@npm:^4.6.0": - version: 4.6.0 - resolution: "@sindresorhus/is@npm:4.6.0" - checksum: 10c0/33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e - languageName: node - linkType: hard - -"@sindresorhus/is@npm:^5.2.0": - version: 5.6.0 - resolution: "@sindresorhus/is@npm:5.6.0" - checksum: 10c0/66727344d0c92edde5760b5fd1f8092b717f2298a162a5f7f29e4953e001479927402d9d387e245fb9dc7d3b37c72e335e93ed5875edfc5203c53be8ecba1b52 - languageName: node - linkType: hard - -"@slorber/remark-comment@npm:^1.0.0": - version: 1.0.0 - resolution: "@slorber/remark-comment@npm:1.0.0" - dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.1.0" - micromark-util-symbol: "npm:^1.0.1" - checksum: 10c0/b8da9d8f560740959c421d3ce5be43952eace1c95cb65402d9473a15e66463346a37fb5f121a6b22a83af51e8845b0b4ff3c321f14ce31bd58fb126acf6c8ed9 - languageName: node - linkType: hard - -"@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0": - version: 8.0.0 - resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a50bd0baa34faf16bcba712091f94c7f0e230431fe99a9dfc3401fa92823ad3f68495b86ab9bf9044b53839e8c416cfbb37eb3f246ff33f261e0fa9ee1779c5b - languageName: node - linkType: hard - -"@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0": - version: 8.0.0 - resolution: "@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/8a98e59bd9971e066815b4129409932f7a4db4866834fe75677ea6d517972fb40b380a69a4413189f20e7947411f9ab1b0f029dd5e8068686a5a0188d3ccd4c7 - languageName: node - linkType: hard - -"@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0": - version: 8.0.0 - resolution: "@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/517dcca75223bd05d3f056a8514dbba3031278bea4eadf0842c576d84f4651e7a4e0e7082d3ee4ef42456de0f9c4531d8a1917c04876ca64b014b859ca8f1bde - languageName: node - linkType: hard - -"@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0": - version: 8.0.0 - resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/004bd1892053b7e9c1b0bb14acc44e77634ec393722b87b1e4fae53e2c35122a2dd0d5c15e9070dbeec274e22e7693a2b8b48506733a8009ee92b12946fcb10a - languageName: node - linkType: hard - -"@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0": - version: 8.0.0 - resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/80e0a7fcf902f984c705051ca5c82ea6050ccbb70b651a8fea6d0eb5809e4dac274b49ea6be2d87f1eb9dfc0e2d6cdfffe1669ec2117f44b67a60a07d4c0b8b8 - languageName: node - linkType: hard - -"@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0": - version: 8.0.0 - resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/73e92c8277a89279745c0c500f59f083279a8dc30cd552b22981fade2a77628fb2bd2819ee505725fcd2e93f923e3790b52efcff409a159e657b46604a0b9a21 - languageName: node - linkType: hard - -"@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0": - version: 8.1.0 - resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/655ed6bc7a208ceaa4ecff0a54ccc36008c3cb31efa90d11e171cab325ebbb21aa78f09c7b65f9b3ddeda3a85f348c0c862902c48be13c14b4de165c847974e3 - languageName: node - linkType: hard - -"@svgr/babel-plugin-transform-svg-component@npm:8.0.0": - version: 8.0.0 - resolution: "@svgr/babel-plugin-transform-svg-component@npm:8.0.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4ac00bb99a3db4ef05e4362f116a3c608ee365a2d26cf7318d8d41a4a5b30a02c80455cce0e62c65b60ed815b5d632bedabac2ccd4b56f998fadef5286e3ded4 - languageName: node - linkType: hard - -"@svgr/babel-preset@npm:8.1.0": - version: 8.1.0 - resolution: "@svgr/babel-preset@npm:8.1.0" - dependencies: - "@svgr/babel-plugin-add-jsx-attribute": "npm:8.0.0" - "@svgr/babel-plugin-remove-jsx-attribute": "npm:8.0.0" - "@svgr/babel-plugin-remove-jsx-empty-expression": "npm:8.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value": "npm:8.0.0" - "@svgr/babel-plugin-svg-dynamic-title": "npm:8.0.0" - "@svgr/babel-plugin-svg-em-dimensions": "npm:8.0.0" - "@svgr/babel-plugin-transform-react-native-svg": "npm:8.1.0" - "@svgr/babel-plugin-transform-svg-component": "npm:8.0.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/49367d3ad0831f79b1056871b91766246f449d4d1168623af5e283fbaefce4a01d77ab00de6b045b55e956f9aae27895823198493cd232d88d3435ea4517ffc5 - languageName: node - linkType: hard - -"@svgr/core@npm:8.1.0": - version: 8.1.0 - resolution: "@svgr/core@npm:8.1.0" - dependencies: - "@babel/core": "npm:^7.21.3" - "@svgr/babel-preset": "npm:8.1.0" - camelcase: "npm:^6.2.0" - cosmiconfig: "npm:^8.1.3" - snake-case: "npm:^3.0.4" - checksum: 10c0/6a2f6b1bc79bce39f66f088d468985d518005fc5147ebf4f108570a933818b5951c2cb7da230ddff4b7c8028b5a672b2d33aa2acce012b8b9770073aa5a2d041 - languageName: node - linkType: hard - -"@svgr/hast-util-to-babel-ast@npm:8.0.0": - version: 8.0.0 - resolution: "@svgr/hast-util-to-babel-ast@npm:8.0.0" - dependencies: - "@babel/types": "npm:^7.21.3" - entities: "npm:^4.4.0" - checksum: 10c0/f4165b583ba9eaf6719e598977a7b3ed182f177983e55f9eb55a6a73982d81277510e9eb7ab41f255151fb9ed4edd11ac4bef95dd872f04ed64966d8c85e0f79 - languageName: node - linkType: hard - -"@svgr/plugin-jsx@npm:8.1.0": - version: 8.1.0 - resolution: "@svgr/plugin-jsx@npm:8.1.0" - dependencies: - "@babel/core": "npm:^7.21.3" - "@svgr/babel-preset": "npm:8.1.0" - "@svgr/hast-util-to-babel-ast": "npm:8.0.0" - svg-parser: "npm:^2.0.4" - peerDependencies: - "@svgr/core": "*" - checksum: 10c0/07b4d9e00de795540bf70556fa2cc258774d01e97a12a26234c6fdf42b309beb7c10f31ee24d1a71137239347b1547b8bb5587d3a6de10669f95dcfe99cddc56 - languageName: node - linkType: hard - -"@svgr/plugin-svgo@npm:8.1.0": - version: 8.1.0 - resolution: "@svgr/plugin-svgo@npm:8.1.0" - dependencies: - cosmiconfig: "npm:^8.1.3" - deepmerge: "npm:^4.3.1" - svgo: "npm:^3.0.2" - peerDependencies: - "@svgr/core": "*" - checksum: 10c0/bfd25460f23f1548bfb8f6f3bedd6d6972c1a4f8881bd35a4f8c115218da6e999e8f9ac0ef0ed88c4e0b93fcec37f382b94c0322f4ec2b26752a89e5cc8b9d7a - languageName: node - linkType: hard - -"@svgr/webpack@npm:^8.1.0": - version: 8.1.0 - resolution: "@svgr/webpack@npm:8.1.0" - dependencies: - "@babel/core": "npm:^7.21.3" - "@babel/plugin-transform-react-constant-elements": "npm:^7.21.3" - "@babel/preset-env": "npm:^7.20.2" - "@babel/preset-react": "npm:^7.18.6" - "@babel/preset-typescript": "npm:^7.21.0" - "@svgr/core": "npm:8.1.0" - "@svgr/plugin-jsx": "npm:8.1.0" - "@svgr/plugin-svgo": "npm:8.1.0" - checksum: 10c0/4c1cac45bd5890de8643e5a7bfb71f3bcd8b85ae5bbacf10b8ad9f939b7a98e8d601c3ada204ffb95223abf4a24beeac5a2a0d6928a52a1ab72a29da3c015c22 - languageName: node - linkType: hard - -"@szmarczak/http-timer@npm:^5.0.1": - version: 5.0.1 - resolution: "@szmarczak/http-timer@npm:5.0.1" - dependencies: - defer-to-connect: "npm:^2.0.1" - checksum: 10c0/4629d2fbb2ea67c2e9dc03af235c0991c79ebdddcbc19aed5d5732fb29ce01c13331e9b1a491584b9069bd6ecde6581dcbf871f11b7eefdebbab34de6cf2197e - languageName: node - linkType: hard - -"@trysound/sax@npm:0.2.0": - version: 0.2.0 - resolution: "@trysound/sax@npm:0.2.0" - checksum: 10c0/44907308549ce775a41c38a815f747009ac45929a45d642b836aa6b0a536e4978d30b8d7d680bbd116e9dd73b7dbe2ef0d1369dcfc2d09e83ba381e485ecbe12 - languageName: node - linkType: hard - -"@types/body-parser@npm:*": - version: 1.19.5 - resolution: "@types/body-parser@npm:1.19.5" - dependencies: - "@types/connect": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/aebeb200f25e8818d8cf39cd0209026750d77c9b85381cdd8deeb50913e4d18a1ebe4b74ca9b0b4d21952511eeaba5e9fbbf739b52731a2061e206ec60d568df - languageName: node - linkType: hard - -"@types/bonjour@npm:^3.5.9": - version: 3.5.13 - resolution: "@types/bonjour@npm:3.5.13" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/eebedbca185ac3c39dd5992ef18d9e2a9f99e7f3c2f52f5561f90e9ed482c5d224c7962db95362712f580ed5713264e777a98d8f0bd8747f4eadf62937baed16 - languageName: node - linkType: hard - -"@types/connect-history-api-fallback@npm:^1.3.5": - version: 1.5.4 - resolution: "@types/connect-history-api-fallback@npm:1.5.4" - dependencies: - "@types/express-serve-static-core": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/1b4035b627dcd714b05a22557f942e24a57ca48e7377dde0d2f86313fe685bc0a6566512a73257a55b5665b96c3041fb29228ac93331d8133011716215de8244 - languageName: node - linkType: hard - -"@types/connect@npm:*": - version: 3.4.38 - resolution: "@types/connect@npm:3.4.38" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c - languageName: node - linkType: hard - -"@types/debug@npm:^4.0.0": - version: 4.1.12 - resolution: "@types/debug@npm:4.1.12" - dependencies: - "@types/ms": "npm:*" - checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f - languageName: node - linkType: hard - -"@types/eslint-scope@npm:^3.7.7": - version: 3.7.7 - resolution: "@types/eslint-scope@npm:3.7.7" - dependencies: - "@types/eslint": "npm:*" - "@types/estree": "npm:*" - checksum: 10c0/a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc - languageName: node - linkType: hard - -"@types/eslint@npm:*": - version: 9.6.1 - resolution: "@types/eslint@npm:9.6.1" - dependencies: - "@types/estree": "npm:*" - "@types/json-schema": "npm:*" - checksum: 10c0/69ba24fee600d1e4c5abe0df086c1a4d798abf13792d8cfab912d76817fe1a894359a1518557d21237fbaf6eda93c5ab9309143dee4c59ef54336d1b3570420e - languageName: node - linkType: hard - -"@types/estree-jsx@npm:^1.0.0": - version: 1.0.5 - resolution: "@types/estree-jsx@npm:1.0.5" - dependencies: - "@types/estree": "npm:*" - checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d - languageName: node - linkType: hard - -"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": - version: 1.0.7 - resolution: "@types/estree@npm:1.0.7" - checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c - languageName: node - linkType: hard - -"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^5.0.0": - version: 5.0.6 - resolution: "@types/express-serve-static-core@npm:5.0.6" - dependencies: - "@types/node": "npm:*" - "@types/qs": "npm:*" - "@types/range-parser": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/aced8cc88c1718adbbd1fc488756b0f22d763368d9eff2ae21b350698fab4a77d8d13c3699056dc662a887e43a8b67a3e8f6289ff76102ecc6bad4a7710d31a6 - languageName: node - linkType: hard - -"@types/express-serve-static-core@npm:^4.17.33": - version: 4.19.6 - resolution: "@types/express-serve-static-core@npm:4.19.6" - dependencies: - "@types/node": "npm:*" - "@types/qs": "npm:*" - "@types/range-parser": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/4281f4ead71723f376b3ddf64868ae26244d434d9906c101cf8d436d4b5c779d01bd046e4ea0ed1a394d3e402216fabfa22b1fa4dba501061cd7c81c54045983 - languageName: node - linkType: hard - -"@types/express@npm:*": - version: 5.0.1 - resolution: "@types/express@npm:5.0.1" - dependencies: - "@types/body-parser": "npm:*" - "@types/express-serve-static-core": "npm:^5.0.0" - "@types/serve-static": "npm:*" - checksum: 10c0/e1385028c7251360ce916aab0e304187b613ca18cb9aa3fa90794a337e5b2e0c76330d467f41d3b3e936ce5336c4f3e63e323dc01192cf20f9686905daa6d00a - languageName: node - linkType: hard - -"@types/express@npm:^4.17.13": - version: 4.17.21 - resolution: "@types/express@npm:4.17.21" - dependencies: - "@types/body-parser": "npm:*" - "@types/express-serve-static-core": "npm:^4.17.33" - "@types/qs": "npm:*" - "@types/serve-static": "npm:*" - checksum: 10c0/12e562c4571da50c7d239e117e688dc434db1bac8be55613294762f84fd77fbd0658ccd553c7d3ab02408f385bc93980992369dd30e2ecd2c68c358e6af8fabf - languageName: node - linkType: hard - -"@types/gtag.js@npm:^0.0.12": - version: 0.0.12 - resolution: "@types/gtag.js@npm:0.0.12" - checksum: 10c0/fee8f4c6e627301b89ab616c9e219bd53fa6ea1ffd1d0a8021e21363f0bdb2cf7eb1a5bcda0c6f1502186379bc7784ec29c932e21634f4e07f9e7a8c56887400 - languageName: node - linkType: hard - -"@types/hast@npm:^3.0.0, @types/hast@npm:^3.0.4": - version: 3.0.4 - resolution: "@types/hast@npm:3.0.4" - dependencies: - "@types/unist": "npm:*" - checksum: 10c0/3249781a511b38f1d330fd1e3344eed3c4e7ea8eff82e835d35da78e637480d36fad37a78be5a7aed8465d237ad0446abc1150859d0fde395354ea634decf9f7 - languageName: node - linkType: hard - -"@types/history@npm:^4.7.11": - version: 4.7.11 - resolution: "@types/history@npm:4.7.11" - checksum: 10c0/3facf37c2493d1f92b2e93a22cac7ea70b06351c2ab9aaceaa3c56aa6099fb63516f6c4ec1616deb5c56b4093c026a043ea2d3373e6c0644d55710364d02c934 - languageName: node - linkType: hard - -"@types/html-minifier-terser@npm:^6.0.0": - version: 6.1.0 - resolution: "@types/html-minifier-terser@npm:6.1.0" - checksum: 10c0/a62fb8588e2f3818d82a2d7b953ad60a4a52fd767ae04671de1c16f5788bd72f1ed3a6109ed63fd190c06a37d919e3c39d8adbc1793a005def76c15a3f5f5dab - languageName: node - linkType: hard - -"@types/http-cache-semantics@npm:^4.0.2": - version: 4.0.4 - resolution: "@types/http-cache-semantics@npm:4.0.4" - checksum: 10c0/51b72568b4b2863e0fe8d6ce8aad72a784b7510d72dc866215642da51d84945a9459fa89f49ec48f1e9a1752e6a78e85a4cda0ded06b1c73e727610c925f9ce6 - languageName: node - linkType: hard - -"@types/http-errors@npm:*": - version: 2.0.4 - resolution: "@types/http-errors@npm:2.0.4" - checksum: 10c0/494670a57ad4062fee6c575047ad5782506dd35a6b9ed3894cea65830a94367bd84ba302eb3dde331871f6d70ca287bfedb1b2cf658e6132cd2cbd427ab56836 - languageName: node - linkType: hard - -"@types/http-proxy@npm:^1.17.8": - version: 1.17.16 - resolution: "@types/http-proxy@npm:1.17.16" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/b71bbb7233b17604f1158bbbe33ebf8bb870179d2b6e15dc9483aa2a785ce0d19ffb6c2237225b558addf24211d1853c95e337ee496df058eb175b433418a941 - languageName: node - linkType: hard - -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": - version: 2.0.6 - resolution: "@types/istanbul-lib-coverage@npm:2.0.6" - checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 - languageName: node - linkType: hard - -"@types/istanbul-lib-report@npm:*": - version: 3.0.3 - resolution: "@types/istanbul-lib-report@npm:3.0.3" - dependencies: - "@types/istanbul-lib-coverage": "npm:*" - checksum: 10c0/247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c - languageName: node - linkType: hard - -"@types/istanbul-reports@npm:^3.0.0": - version: 3.0.4 - resolution: "@types/istanbul-reports@npm:3.0.4" - dependencies: - "@types/istanbul-lib-report": "npm:*" - checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee - languageName: node - linkType: hard - -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": - version: 7.0.15 - resolution: "@types/json-schema@npm:7.0.15" - checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db - languageName: node - linkType: hard - -"@types/katex@npm:^0.16.0": - version: 0.16.7 - resolution: "@types/katex@npm:0.16.7" - checksum: 10c0/68dcb9f68a90513ec78ca0196a142e15c2a2c270b1520d752bafd47a99207115085a64087b50140359017d7e9c870b3c68e7e4d36668c9e348a9ef0c48919b5a - languageName: node - linkType: hard - -"@types/mdast@npm:^4.0.0, @types/mdast@npm:^4.0.1, @types/mdast@npm:^4.0.2, @types/mdast@npm:^4.0.3": - version: 4.0.4 - resolution: "@types/mdast@npm:4.0.4" - dependencies: - "@types/unist": "npm:*" - checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82 - languageName: node - linkType: hard - -"@types/mdx@npm:^2.0.0": - version: 2.0.13 - resolution: "@types/mdx@npm:2.0.13" - checksum: 10c0/5edf1099505ac568da55f9ae8a93e7e314e8cbc13d3445d0be61b75941226b005e1390d9b95caecf5dcb00c9d1bab2f1f60f6ff9876dc091a48b547495007720 - languageName: node - linkType: hard - -"@types/mime@npm:^1": - version: 1.3.5 - resolution: "@types/mime@npm:1.3.5" - checksum: 10c0/c2ee31cd9b993804df33a694d5aa3fa536511a49f2e06eeab0b484fef59b4483777dbb9e42a4198a0809ffbf698081fdbca1e5c2218b82b91603dfab10a10fbc - languageName: node - linkType: hard - -"@types/ms@npm:*": - version: 2.1.0 - resolution: "@types/ms@npm:2.1.0" - checksum: 10c0/5ce692ffe1549e1b827d99ef8ff71187457e0eb44adbae38fdf7b9a74bae8d20642ee963c14516db1d35fa2652e65f47680fdf679dcbde52bbfadd021f497225 - languageName: node - linkType: hard - -"@types/node-forge@npm:^1.3.0": - version: 1.3.11 - resolution: "@types/node-forge@npm:1.3.11" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/3d7d23ca0ba38ac0cf74028393bd70f31169ab9aba43f21deb787840170d307d662644bac07287495effe2812ddd7ac8a14dbd43f16c2936bbb06312e96fc3b9 - languageName: node - linkType: hard - -"@types/node@npm:*": - version: 22.15.18 - resolution: "@types/node@npm:22.15.18" - dependencies: - undici-types: "npm:~6.21.0" - checksum: 10c0/e23178c568e2dc6b93b6aa3b8dfb45f9556e527918c947fe7406a4c92d2184c7396558912400c3b1b8d0fa952ec63819aca2b8e4d3545455fc6f1e9623e09ca6 - languageName: node - linkType: hard - -"@types/node@npm:^17.0.5": - version: 17.0.45 - resolution: "@types/node@npm:17.0.45" - checksum: 10c0/0db377133d709b33a47892581a21a41cd7958f22723a3cc6c71d55ac018121382de42fbfc7970d5ae3e7819dbe5f40e1c6a5174aedf7e7964e9cb8fa72b580b0 - languageName: node - linkType: hard - -"@types/parse-json@npm:^4.0.0": - version: 4.0.2 - resolution: "@types/parse-json@npm:4.0.2" - checksum: 10c0/b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 - languageName: node - linkType: hard - -"@types/prismjs@npm:^1.26.0": - version: 1.26.5 - resolution: "@types/prismjs@npm:1.26.5" - checksum: 10c0/5619cb449e0d8df098c8759d6f47bf8fdd510abf5dbdfa999e55c6a2545efbd1e209cc85a33d8d9f4ff2898089a1a6d9a70737c9baffaae635c46852c40d384a - languageName: node - linkType: hard - -"@types/qs@npm:*": - version: 6.9.18 - resolution: "@types/qs@npm:6.9.18" - checksum: 10c0/790b9091348e06dde2c8e4118b5771ab386a8c22a952139a2eb0675360a2070d0b155663bf6f75b23f258fd0a1f7ffc0ba0f059d99a719332c03c40d9e9cd63b - languageName: node - linkType: hard - -"@types/range-parser@npm:*": - version: 1.2.7 - resolution: "@types/range-parser@npm:1.2.7" - checksum: 10c0/361bb3e964ec5133fa40644a0b942279ed5df1949f21321d77de79f48b728d39253e5ce0408c9c17e4e0fd95ca7899da36841686393b9f7a1e209916e9381a3c - languageName: node - linkType: hard - -"@types/react-router-config@npm:*, @types/react-router-config@npm:^5.0.7": - version: 5.0.11 - resolution: "@types/react-router-config@npm:5.0.11" - dependencies: - "@types/history": "npm:^4.7.11" - "@types/react": "npm:*" - "@types/react-router": "npm:^5.1.0" - checksum: 10c0/3fa4daf8c14689a05f34e289fc53c4a892e97f35715455c507a8048d9875b19cd3d3142934ca973effed6a6c38f33539b6e173cd254f67e2021ecd5458d551c8 - languageName: node - linkType: hard - -"@types/react-router-dom@npm:*": - version: 5.3.3 - resolution: "@types/react-router-dom@npm:5.3.3" - dependencies: - "@types/history": "npm:^4.7.11" - "@types/react": "npm:*" - "@types/react-router": "npm:*" - checksum: 10c0/a9231a16afb9ed5142678147eafec9d48582809295754fb60946e29fcd3757a4c7a3180fa94b45763e4c7f6e3f02379e2fcb8dd986db479dcab40eff5fc62a91 - languageName: node - linkType: hard - -"@types/react-router@npm:*, @types/react-router@npm:^5.1.0": - version: 5.1.20 - resolution: "@types/react-router@npm:5.1.20" - dependencies: - "@types/history": "npm:^4.7.11" - "@types/react": "npm:*" - checksum: 10c0/1f7eee61981d2f807fa01a34a0ef98ebc0774023832b6611a69c7f28fdff01de5a38cabf399f32e376bf8099dcb7afaf724775bea9d38870224492bea4cb5737 - languageName: node - linkType: hard - -"@types/react@npm:*": - version: 19.1.4 - resolution: "@types/react@npm:19.1.4" - dependencies: - csstype: "npm:^3.0.2" - checksum: 10c0/501350d4f9cef13c5dd1b1496fa70ebaff52f6fa359b623b51c9d817e5bc4333fa3c8b7a6a4cbc88c643385052d66a243c3ceccfd6926062f917a2dd0535f6b3 - languageName: node - linkType: hard - -"@types/retry@npm:0.12.0": - version: 0.12.0 - resolution: "@types/retry@npm:0.12.0" - checksum: 10c0/7c5c9086369826f569b83a4683661557cab1361bac0897a1cefa1a915ff739acd10ca0d62b01071046fe3f5a3f7f2aec80785fe283b75602dc6726781ea3e328 - languageName: node - linkType: hard - -"@types/sax@npm:^1.2.1": - version: 1.2.7 - resolution: "@types/sax@npm:1.2.7" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/d077a761a0753b079bf8279b3993948030ca86ed9125437b9b29c1de40db9b2deb7fddc369f014b58861d450e8b8cc75f163aa29dc8cea81952efbfd859168cf - languageName: node - linkType: hard - -"@types/send@npm:*": - version: 0.17.4 - resolution: "@types/send@npm:0.17.4" - dependencies: - "@types/mime": "npm:^1" - "@types/node": "npm:*" - checksum: 10c0/7f17fa696cb83be0a104b04b424fdedc7eaba1c9a34b06027239aba513b398a0e2b7279778af521f516a397ced417c96960e5f50fcfce40c4bc4509fb1a5883c - languageName: node - linkType: hard - -"@types/serve-index@npm:^1.9.1": - version: 1.9.4 - resolution: "@types/serve-index@npm:1.9.4" - dependencies: - "@types/express": "npm:*" - checksum: 10c0/94c1b9e8f1ea36a229e098e1643d5665d9371f8c2658521718e259130a237c447059b903bac0dcc96ee2c15fd63f49aa647099b7d0d437a67a6946527a837438 - languageName: node - linkType: hard - -"@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10": - version: 1.15.7 - resolution: "@types/serve-static@npm:1.15.7" - dependencies: - "@types/http-errors": "npm:*" - "@types/node": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/26ec864d3a626ea627f8b09c122b623499d2221bbf2f470127f4c9ebfe92bd8a6bb5157001372d4c4bd0dd37a1691620217d9dc4df5aa8f779f3fd996b1c60ae - languageName: node - linkType: hard - -"@types/sockjs@npm:^0.3.33": - version: 0.3.36 - resolution: "@types/sockjs@npm:0.3.36" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/b20b7820ee813f22de4f2ce98bdd12c68c930e016a8912b1ed967595ac0d8a4cbbff44f4d486dd97f77f5927e7b5725bdac7472c9ec5b27f53a5a13179f0612f - languageName: node - linkType: hard - -"@types/unist@npm:*, @types/unist@npm:^3.0.0, @types/unist@npm:^3.0.2": - version: 3.0.3 - resolution: "@types/unist@npm:3.0.3" - checksum: 10c0/2b1e4adcab78388e088fcc3c0ae8700f76619dbcb4741d7d201f87e2cb346bfc29a89003cfea2d76c996e1061452e14fcd737e8b25aacf949c1f2d6b2bc3dd60 - languageName: node - linkType: hard - -"@types/unist@npm:^2.0.0": - version: 2.0.11 - resolution: "@types/unist@npm:2.0.11" - checksum: 10c0/24dcdf25a168f453bb70298145eb043cfdbb82472db0bc0b56d6d51cd2e484b9ed8271d4ac93000a80da568f2402e9339723db262d0869e2bf13bc58e081768d - languageName: node - linkType: hard - -"@types/ws@npm:^8.5.5": - version: 8.18.1 - resolution: "@types/ws@npm:8.18.1" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/61aff1129143fcc4312f083bc9e9e168aa3026b7dd6e70796276dcfb2c8211c4292603f9c4864fae702f2ed86e4abd4d38aa421831c2fd7f856c931a481afbab - languageName: node - linkType: hard - -"@types/yargs-parser@npm:*": - version: 21.0.3 - resolution: "@types/yargs-parser@npm:21.0.3" - checksum: 10c0/e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 - languageName: node - linkType: hard - -"@types/yargs@npm:^17.0.8": - version: 17.0.33 - resolution: "@types/yargs@npm:17.0.33" - dependencies: - "@types/yargs-parser": "npm:*" - checksum: 10c0/d16937d7ac30dff697801c3d6f235be2166df42e4a88bf730fa6dc09201de3727c0a9500c59a672122313341de5f24e45ee0ff579c08ce91928e519090b7906b - languageName: node - linkType: hard - -"@ungap/structured-clone@npm:^1.0.0": - version: 1.3.0 - resolution: "@ungap/structured-clone@npm:1.3.0" - checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a - languageName: node - linkType: hard - -"@vercel/analytics@npm:^1.1.2": - version: 1.5.0 - resolution: "@vercel/analytics@npm:1.5.0" - peerDependencies: - "@remix-run/react": ^2 - "@sveltejs/kit": ^1 || ^2 - next: ">= 13" - react: ^18 || ^19 || ^19.0.0-rc - svelte: ">= 4" - vue: ^3 - vue-router: ^4 - peerDependenciesMeta: - "@remix-run/react": - optional: true - "@sveltejs/kit": - optional: true - next: - optional: true - react: - optional: true - svelte: - optional: true - vue: - optional: true - vue-router: - optional: true - checksum: 10c0/43d33ea83b32f5203fec21b7f43c399e398f0c37d2dd341d522969e0e6ee23fd652a2766a4203a3ce573f711beee5ee1ab7d36316f767a4901160e3e96ee31e5 - languageName: node - linkType: hard - -"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/ast@npm:1.14.1" - dependencies: - "@webassemblyjs/helper-numbers": "npm:1.13.2" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" - checksum: 10c0/67a59be8ed50ddd33fbb2e09daa5193ac215bf7f40a9371be9a0d9797a114d0d1196316d2f3943efdb923a3d809175e1563a3cb80c814fb8edccd1e77494972b - languageName: node - linkType: hard - -"@webassemblyjs/floating-point-hex-parser@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.13.2" - checksum: 10c0/0e88bdb8b50507d9938be64df0867f00396b55eba9df7d3546eb5dc0ca64d62e06f8d881ec4a6153f2127d0f4c11d102b6e7d17aec2f26bb5ff95a5e60652412 - languageName: node - linkType: hard - -"@webassemblyjs/helper-api-error@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/helper-api-error@npm:1.13.2" - checksum: 10c0/31be497f996ed30aae4c08cac3cce50c8dcd5b29660383c0155fce1753804fc55d47fcba74e10141c7dd2899033164e117b3bcfcda23a6b043e4ded4f1003dfb - languageName: node - linkType: hard - -"@webassemblyjs/helper-buffer@npm:1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/helper-buffer@npm:1.14.1" - checksum: 10c0/0d54105dc373c0fe6287f1091e41e3a02e36cdc05e8cf8533cdc16c59ff05a646355415893449d3768cda588af451c274f13263300a251dc11a575bc4c9bd210 - languageName: node - linkType: hard - -"@webassemblyjs/helper-numbers@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/helper-numbers@npm:1.13.2" - dependencies: - "@webassemblyjs/floating-point-hex-parser": "npm:1.13.2" - "@webassemblyjs/helper-api-error": "npm:1.13.2" - "@xtuc/long": "npm:4.2.2" - checksum: 10c0/9c46852f31b234a8fb5a5a9d3f027bc542392a0d4de32f1a9c0075d5e8684aa073cb5929b56df565500b3f9cc0a2ab983b650314295b9bf208d1a1651bfc825a - languageName: node - linkType: hard - -"@webassemblyjs/helper-wasm-bytecode@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2" - checksum: 10c0/c4355d14f369b30cf3cbdd3acfafc7d0488e086be6d578e3c9780bd1b512932352246be96e034e2a7fcfba4f540ec813352f312bfcbbfe5bcfbf694f82ccc682 - languageName: node - linkType: hard - -"@webassemblyjs/helper-wasm-section@npm:1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.14.1" - dependencies: - "@webassemblyjs/ast": "npm:1.14.1" - "@webassemblyjs/helper-buffer": "npm:1.14.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" - "@webassemblyjs/wasm-gen": "npm:1.14.1" - checksum: 10c0/1f9b33731c3c6dbac3a9c483269562fa00d1b6a4e7133217f40e83e975e636fd0f8736e53abd9a47b06b66082ecc976c7384391ab0a68e12d509ea4e4b948d64 - languageName: node - linkType: hard - -"@webassemblyjs/ieee754@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/ieee754@npm:1.13.2" - dependencies: - "@xtuc/ieee754": "npm:^1.2.0" - checksum: 10c0/2e732ca78c6fbae3c9b112f4915d85caecdab285c0b337954b180460290ccd0fb00d2b1dc4bb69df3504abead5191e0d28d0d17dfd6c9d2f30acac8c4961c8a7 - languageName: node - linkType: hard - -"@webassemblyjs/leb128@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/leb128@npm:1.13.2" - dependencies: - "@xtuc/long": "npm:4.2.2" - checksum: 10c0/dad5ef9e383c8ab523ce432dfd80098384bf01c45f70eb179d594f85ce5db2f80fa8c9cba03adafd85684e6d6310f0d3969a882538975989919329ac4c984659 - languageName: node - linkType: hard - -"@webassemblyjs/utf8@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/utf8@npm:1.13.2" - checksum: 10c0/d3fac9130b0e3e5a1a7f2886124a278e9323827c87a2b971e6d0da22a2ba1278ac9f66a4f2e363ecd9fac8da42e6941b22df061a119e5c0335f81006de9ee799 - languageName: node - linkType: hard - -"@webassemblyjs/wasm-edit@npm:^1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" - dependencies: - "@webassemblyjs/ast": "npm:1.14.1" - "@webassemblyjs/helper-buffer": "npm:1.14.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" - "@webassemblyjs/helper-wasm-section": "npm:1.14.1" - "@webassemblyjs/wasm-gen": "npm:1.14.1" - "@webassemblyjs/wasm-opt": "npm:1.14.1" - "@webassemblyjs/wasm-parser": "npm:1.14.1" - "@webassemblyjs/wast-printer": "npm:1.14.1" - checksum: 10c0/5ac4781086a2ca4b320bdbfd965a209655fe8a208ca38d89197148f8597e587c9a2c94fb6bd6f1a7dbd4527c49c6844fcdc2af981f8d793a97bf63a016aa86d2 - languageName: node - linkType: hard - -"@webassemblyjs/wasm-gen@npm:1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/wasm-gen@npm:1.14.1" - dependencies: - "@webassemblyjs/ast": "npm:1.14.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" - "@webassemblyjs/ieee754": "npm:1.13.2" - "@webassemblyjs/leb128": "npm:1.13.2" - "@webassemblyjs/utf8": "npm:1.13.2" - checksum: 10c0/d678810d7f3f8fecb2e2bdadfb9afad2ec1d2bc79f59e4711ab49c81cec578371e22732d4966f59067abe5fba8e9c54923b57060a729d28d408e608beef67b10 - languageName: node - linkType: hard - -"@webassemblyjs/wasm-opt@npm:1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/wasm-opt@npm:1.14.1" - dependencies: - "@webassemblyjs/ast": "npm:1.14.1" - "@webassemblyjs/helper-buffer": "npm:1.14.1" - "@webassemblyjs/wasm-gen": "npm:1.14.1" - "@webassemblyjs/wasm-parser": "npm:1.14.1" - checksum: 10c0/515bfb15277ee99ba6b11d2232ddbf22aed32aad6d0956fe8a0a0a004a1b5a3a277a71d9a3a38365d0538ac40d1b7b7243b1a244ad6cd6dece1c1bb2eb5de7ee - languageName: node - linkType: hard - -"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" - dependencies: - "@webassemblyjs/ast": "npm:1.14.1" - "@webassemblyjs/helper-api-error": "npm:1.13.2" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" - "@webassemblyjs/ieee754": "npm:1.13.2" - "@webassemblyjs/leb128": "npm:1.13.2" - "@webassemblyjs/utf8": "npm:1.13.2" - checksum: 10c0/95427b9e5addbd0f647939bd28e3e06b8deefdbdadcf892385b5edc70091bf9b92fa5faac3fce8333554437c5d85835afef8c8a7d9d27ab6ba01ffab954db8c6 - languageName: node - linkType: hard - -"@webassemblyjs/wast-printer@npm:1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/wast-printer@npm:1.14.1" - dependencies: - "@webassemblyjs/ast": "npm:1.14.1" - "@xtuc/long": "npm:4.2.2" - checksum: 10c0/8d7768608996a052545251e896eac079c98e0401842af8dd4de78fba8d90bd505efb6c537e909cd6dae96e09db3fa2e765a6f26492553a675da56e2db51f9d24 - languageName: node - linkType: hard - -"@xtuc/ieee754@npm:^1.2.0": - version: 1.2.0 - resolution: "@xtuc/ieee754@npm:1.2.0" - checksum: 10c0/a8565d29d135039bd99ae4b2220d3e167d22cf53f867e491ed479b3f84f895742d0097f935b19aab90265a23d5d46711e4204f14c479ae3637fbf06c4666882f - languageName: node - linkType: hard - -"@xtuc/long@npm:4.2.2": - version: 4.2.2 - resolution: "@xtuc/long@npm:4.2.2" - checksum: 10c0/8582cbc69c79ad2d31568c412129bf23d2b1210a1dfb60c82d5a1df93334da4ee51f3057051658569e2c196d8dc33bc05ae6b974a711d0d16e801e1d0647ccd1 - languageName: node - linkType: hard - -"abbrev@npm:^3.0.0": - version: 3.0.1 - resolution: "abbrev@npm:3.0.1" - checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf - languageName: node - linkType: hard - -"accepts@npm:~1.3.4, accepts@npm:~1.3.8": - version: 1.3.8 - resolution: "accepts@npm:1.3.8" - dependencies: - mime-types: "npm:~2.1.34" - negotiator: "npm:0.6.3" - checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 - languageName: node - linkType: hard - -"acorn-jsx@npm:^5.0.0": - version: 5.3.2 - resolution: "acorn-jsx@npm:5.3.2" - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 - languageName: node - linkType: hard - -"acorn-walk@npm:^8.0.0": - version: 8.3.4 - resolution: "acorn-walk@npm:8.3.4" - dependencies: - acorn: "npm:^8.11.0" - checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 - languageName: node - linkType: hard - -"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.8.2": - version: 8.14.1 - resolution: "acorn@npm:8.14.1" - bin: - acorn: bin/acorn - checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 - languageName: node - linkType: hard - -"address@npm:^1.0.1, address@npm:^1.1.2": - version: 1.2.2 - resolution: "address@npm:1.2.2" - checksum: 10c0/1c8056b77fb124456997b78ed682ecc19d2fd7ea8bd5850a2aa8c3e3134c913847c57bcae418622efd32ba858fa1e242a40a251ac31da0515664fc0ac03a047d - languageName: node - linkType: hard - -"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.3 - resolution: "agent-base@npm:7.1.3" - checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 - languageName: node - linkType: hard - -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 - languageName: node - linkType: hard - -"ajv-formats@npm:^2.1.1": - version: 2.1.1 - resolution: "ajv-formats@npm:2.1.1" - dependencies: - ajv: "npm:^8.0.0" - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662 - languageName: node - linkType: hard - -"ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2": - version: 3.5.2 - resolution: "ajv-keywords@npm:3.5.2" - peerDependencies: - ajv: ^6.9.1 - checksum: 10c0/0c57a47cbd656e8cdfd99d7c2264de5868918ffa207c8d7a72a7f63379d4333254b2ba03d69e3c035e996a3fd3eb6d5725d7a1597cca10694296e32510546360 - languageName: node - linkType: hard - -"ajv-keywords@npm:^5.1.0": - version: 5.1.0 - resolution: "ajv-keywords@npm:5.1.0" - dependencies: - fast-deep-equal: "npm:^3.1.3" - peerDependencies: - ajv: ^8.8.2 - checksum: 10c0/18bec51f0171b83123ba1d8883c126e60c6f420cef885250898bf77a8d3e65e3bfb9e8564f497e30bdbe762a83e0d144a36931328616a973ee669dc74d4a9590 - languageName: node - linkType: hard - -"ajv@npm:^6.12.2, ajv@npm:^6.12.5": - version: 6.12.6 - resolution: "ajv@npm:6.12.6" - dependencies: - fast-deep-equal: "npm:^3.1.1" - fast-json-stable-stringify: "npm:^2.0.0" - json-schema-traverse: "npm:^0.4.1" - uri-js: "npm:^4.2.2" - checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 - languageName: node - linkType: hard - -"ajv@npm:^8.0.0, ajv@npm:^8.9.0": - version: 8.17.1 - resolution: "ajv@npm:8.17.1" - dependencies: - fast-deep-equal: "npm:^3.1.3" - fast-uri: "npm:^3.0.1" - json-schema-traverse: "npm:^1.0.0" - require-from-string: "npm:^2.0.2" - checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 - languageName: node - linkType: hard - -"algoliasearch-helper@npm:^3.22.6": - version: 3.25.0 - resolution: "algoliasearch-helper@npm:3.25.0" - dependencies: - "@algolia/events": "npm:^4.0.1" - peerDependencies: - algoliasearch: ">= 3.1 < 6" - checksum: 10c0/932e1397e702f7722450e12a852f6f366aa581dfb1801d078153d591a94d5ccf7da4098cd381f8c684463638aca738f468ba7e968da6e97a7bba14870aa3c5df - languageName: node - linkType: hard - -"algoliasearch@npm:^5.14.2, algoliasearch@npm:^5.17.1": - version: 5.25.0 - resolution: "algoliasearch@npm:5.25.0" - dependencies: - "@algolia/client-abtesting": "npm:5.25.0" - "@algolia/client-analytics": "npm:5.25.0" - "@algolia/client-common": "npm:5.25.0" - "@algolia/client-insights": "npm:5.25.0" - "@algolia/client-personalization": "npm:5.25.0" - "@algolia/client-query-suggestions": "npm:5.25.0" - "@algolia/client-search": "npm:5.25.0" - "@algolia/ingestion": "npm:1.25.0" - "@algolia/monitoring": "npm:1.25.0" - "@algolia/recommend": "npm:5.25.0" - "@algolia/requester-browser-xhr": "npm:5.25.0" - "@algolia/requester-fetch": "npm:5.25.0" - "@algolia/requester-node-http": "npm:5.25.0" - checksum: 10c0/fdf2b03c48415a7f284697bbe316bba41d4d6b0c5c76e886aa9841e69b8bc79305b0679d29dece71a347eef8ef3715980ed6a736febaca8f869b6551e470decf - languageName: node - linkType: hard - -"ansi-align@npm:^3.0.1": - version: 3.0.1 - resolution: "ansi-align@npm:3.0.1" - dependencies: - string-width: "npm:^4.1.0" - checksum: 10c0/ad8b755a253a1bc8234eb341e0cec68a857ab18bf97ba2bda529e86f6e30460416523e0ec58c32e5c21f0ca470d779503244892873a5895dbd0c39c788e82467 - languageName: node - linkType: hard - -"ansi-escapes@npm:^4.3.2": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" - dependencies: - type-fest: "npm:^0.21.3" - checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 - languageName: node - linkType: hard - -"ansi-html-community@npm:^0.0.8": - version: 0.0.8 - resolution: "ansi-html-community@npm:0.0.8" - bin: - ansi-html: bin/ansi-html - checksum: 10c0/45d3a6f0b4f10b04fdd44bef62972e2470bfd917bf00439471fa7473d92d7cbe31369c73db863cc45dda115cb42527f39e232e9256115534b8ee5806b0caeed4 - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.1.0 - resolution: "ansi-regex@npm:6.1.0" - checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - languageName: node - linkType: hard - -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - -"anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"arg@npm:^5.0.0": - version: 5.0.2 - resolution: "arg@npm:5.0.2" - checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e - languageName: node - linkType: hard - -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e - languageName: node - linkType: hard - -"array-flatten@npm:1.1.1": - version: 1.1.1 - resolution: "array-flatten@npm:1.1.1" - checksum: 10c0/806966c8abb2f858b08f5324d9d18d7737480610f3bd5d3498aaae6eb5efdc501a884ba019c9b4a8f02ff67002058749d05548fd42fa8643f02c9c7f22198b91 - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 - languageName: node - linkType: hard - -"astring@npm:^1.8.0": - version: 1.9.0 - resolution: "astring@npm:1.9.0" - bin: - astring: bin/astring - checksum: 10c0/e7519544d9824494e80ef0e722bb3a0c543a31440d59691c13aeaceb75b14502af536b23f08db50aa6c632dafaade54caa25f0788aa7550b6b2d6e2df89e0830 - languageName: node - linkType: hard - -"at-least-node@npm:^1.0.0": - version: 1.0.0 - resolution: "at-least-node@npm:1.0.0" - checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef - languageName: node - linkType: hard - -"autoprefixer@npm:^10.4.19, autoprefixer@npm:^10.4.21": - version: 10.4.21 - resolution: "autoprefixer@npm:10.4.21" - dependencies: - browserslist: "npm:^4.24.4" - caniuse-lite: "npm:^1.0.30001702" - fraction.js: "npm:^4.3.7" - normalize-range: "npm:^0.1.2" - picocolors: "npm:^1.1.1" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.1.0 - bin: - autoprefixer: bin/autoprefixer - checksum: 10c0/de5b71d26d0baff4bbfb3d59f7cf7114a6030c9eeb66167acf49a32c5b61c68e308f1e0f869d92334436a221035d08b51cd1b2f2c4689b8d955149423c16d4d4 - languageName: node - linkType: hard - -"babel-loader@npm:^9.2.1": - version: 9.2.1 - resolution: "babel-loader@npm:9.2.1" - dependencies: - find-cache-dir: "npm:^4.0.0" - schema-utils: "npm:^4.0.0" - peerDependencies: - "@babel/core": ^7.12.0 - webpack: ">=5" - checksum: 10c0/efb82faff4c7c27e9c15bb28bf11c73200e61cf365118a9514e8d74dd489d0afc2a0d5aaa62cb4254eefc2ab631579224d95a03fd245410f28ea75e24de54ba4 - languageName: node - linkType: hard - -"babel-plugin-dynamic-import-node@npm:^2.3.3": - version: 2.3.3 - resolution: "babel-plugin-dynamic-import-node@npm:2.3.3" - dependencies: - object.assign: "npm:^4.1.0" - checksum: 10c0/1bd80df981e1fc1aff0cd4e390cf27aaa34f95f7620cd14dff07ba3bad56d168c098233a7d2deb2c9b1dc13643e596a6b94fc608a3412ee3c56e74a25cd2167e - languageName: node - linkType: hard - -"babel-plugin-polyfill-corejs2@npm:^0.4.10": - version: 0.4.13 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.13" - dependencies: - "@babel/compat-data": "npm:^7.22.6" - "@babel/helper-define-polyfill-provider": "npm:^0.6.4" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/b4a54561606d388e6f9499f39f03171af4be7f9ce2355e737135e40afa7086cf6790fdd706c2e59f488c8fa1f76123d28783708e07ddc84647dca8ed8fb98e06 - languageName: node - linkType: hard - -"babel-plugin-polyfill-corejs3@npm:^0.11.0": - version: 0.11.1 - resolution: "babel-plugin-polyfill-corejs3@npm:0.11.1" - dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.3" - core-js-compat: "npm:^3.40.0" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/025f754b6296d84b20200aff63a3c1acdd85e8c621781f2bd27fe2512d0060526192d02329326947c6b29c27cf475fbcfaaff8c51eab1d2bfc7b79086bb64229 - languageName: node - linkType: hard - -"babel-plugin-polyfill-regenerator@npm:^0.6.1": - version: 0.6.4 - resolution: "babel-plugin-polyfill-regenerator@npm:0.6.4" - dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.4" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/ebaaf9e4e53201c02f496d3f686d815e94177b3e55b35f11223b99c60d197a29f907a2e87bbcccced8b7aff22a807fccc1adaf04722864a8e1862c8845ab830a - languageName: node - linkType: hard - -"bail@npm:^2.0.0": - version: 2.0.2 - resolution: "bail@npm:2.0.2" - checksum: 10c0/25cbea309ef6a1f56214187004e8f34014eb015713ea01fa5b9b7e9e776ca88d0fdffd64143ac42dc91966c915a4b7b683411b56e14929fad16153fc026ffb8b - languageName: node - linkType: hard - -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"batch@npm:0.6.1": - version: 0.6.1 - resolution: "batch@npm:0.6.1" - checksum: 10c0/925a13897b4db80d4211082fe287bcf96d297af38e26448c857cee3e095c9792e3b8f26b37d268812e7f38a589f694609de8534a018b1937d7dc9f84e6b387c5 - languageName: node - linkType: hard - -"big.js@npm:^5.2.2": - version: 5.2.2 - resolution: "big.js@npm:5.2.2" - checksum: 10c0/230520f1ff920b2d2ce3e372d77a33faa4fa60d802fe01ca4ffbc321ee06023fe9a741ac02793ee778040a16b7e497f7d60c504d1c402b8fdab6f03bb785a25f - languageName: node - linkType: hard - -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 - languageName: node - linkType: hard - -"bittensor-docs@workspace:.": - version: 0.0.0-use.local - resolution: "bittensor-docs@workspace:." - dependencies: - "@docsearch/react": "npm:^3.5.2" - "@docusaurus/core": "npm:^3.7.0" - "@docusaurus/module-type-aliases": "npm:^3.7.0" - "@docusaurus/plugin-client-redirects": "npm:^3.7.0" - "@docusaurus/plugin-content-docs": "npm:^3.7.0" - "@docusaurus/preset-classic": "npm:^3.7.0" - "@docusaurus/theme-classic": "npm:^3.7.0" - "@docusaurus/theme-common": "npm:^3.7.0" - "@docusaurus/theme-search-algolia": "npm:^3.7.0" - "@docusaurus/tsconfig": "npm:^3.7.0" - "@docusaurus/types": "npm:^3.7.0" - "@gracefullight/docusaurus-plugin-vercel-analytics": "npm:^1.0.0" - "@mdx-js/react": "npm:^3.0.0" - "@vercel/analytics": "npm:^1.1.2" - clsx: "npm:^1.2.1" - hast-util-is-element: "npm:1.1.0" - prism-react-renderer: "npm:^2.1.0" - punycode: "npm:^2.3.1" - react: "npm:^18.2.0" - react-dom: "npm:^18.2.0" - react-icons: "npm:^4.12.0" - rehype-katex: "npm:^7.0.1" - remark-definition-list: "npm:^2.0.0" - remark-math: "npm:^6.0.0" - typescript: "npm:~5.2.2" - zwitch: "npm:^2.0.4" - languageName: unknown - linkType: soft - -"body-parser@npm:1.20.3": - version: 1.20.3 - resolution: "body-parser@npm:1.20.3" - dependencies: - bytes: "npm:3.1.2" - content-type: "npm:~1.0.5" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - on-finished: "npm:2.4.1" - qs: "npm:6.13.0" - raw-body: "npm:2.5.2" - type-is: "npm:~1.6.18" - unpipe: "npm:1.0.0" - checksum: 10c0/0a9a93b7518f222885498dcecaad528cf010dd109b071bf471c93def4bfe30958b83e03496eb9c1ad4896db543d999bb62be1a3087294162a88cfa1b42c16310 - languageName: node - linkType: hard - -"bonjour-service@npm:^1.0.11": - version: 1.3.0 - resolution: "bonjour-service@npm:1.3.0" - dependencies: - fast-deep-equal: "npm:^3.1.3" - multicast-dns: "npm:^7.2.5" - checksum: 10c0/5721fd9f9bb968e9cc16c1e8116d770863dd2329cb1f753231de1515870648c225142b7eefa71f14a5c22bc7b37ddd7fdeb018700f28a8c936d50d4162d433c7 - languageName: node - linkType: hard - -"boolbase@npm:^1.0.0": - version: 1.0.0 - resolution: "boolbase@npm:1.0.0" - checksum: 10c0/e4b53deb4f2b85c52be0e21a273f2045c7b6a6ea002b0e139c744cb6f95e9ec044439a52883b0d74dedd1ff3da55ed140cfdddfed7fb0cccbed373de5dce1bcf - languageName: node - linkType: hard - -"boxen@npm:^6.2.1": - version: 6.2.1 - resolution: "boxen@npm:6.2.1" - dependencies: - ansi-align: "npm:^3.0.1" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.1.2" - cli-boxes: "npm:^3.0.0" - string-width: "npm:^5.0.1" - type-fest: "npm:^2.5.0" - widest-line: "npm:^4.0.1" - wrap-ansi: "npm:^8.0.1" - checksum: 10c0/2a50d059c950a50d9f3c873093702747740814ce8819225c4f8cbe92024c9f5a9219d2b7128f5cfa17c022644d929bbbc88b9591de67249c6ebe07f7486bdcfd - languageName: node - linkType: hard - -"boxen@npm:^7.0.0": - version: 7.1.1 - resolution: "boxen@npm:7.1.1" - dependencies: - ansi-align: "npm:^3.0.1" - camelcase: "npm:^7.0.1" - chalk: "npm:^5.2.0" - cli-boxes: "npm:^3.0.0" - string-width: "npm:^5.1.2" - type-fest: "npm:^2.13.0" - widest-line: "npm:^4.0.1" - wrap-ansi: "npm:^8.1.0" - checksum: 10c0/3a9891dc98ac40d582c9879e8165628258e2c70420c919e70fff0a53ccc7b42825e73cda6298199b2fbc1f41f5d5b93b492490ad2ae27623bed3897ddb4267f8 - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f - languageName: node - linkType: hard - -"braces@npm:^3.0.3, braces@npm:~3.0.2": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 - languageName: node - linkType: hard - -"browserslist@npm:^4.0.0, browserslist@npm:^4.18.1, browserslist@npm:^4.23.0, browserslist@npm:^4.24.0, browserslist@npm:^4.24.4": - version: 4.24.5 - resolution: "browserslist@npm:4.24.5" - dependencies: - caniuse-lite: "npm:^1.0.30001716" - electron-to-chromium: "npm:^1.5.149" - node-releases: "npm:^2.0.19" - update-browserslist-db: "npm:^1.1.3" - bin: - browserslist: cli.js - checksum: 10c0/f4c1ce1a7d8fdfab5e5b88bb6e93d09e8a883c393f86801537a252da0362dbdcde4dbd97b318246c5d84c6607b2f6b47af732c1b000d6a8a881ee024bad29204 - languageName: node - linkType: hard - -"buffer-from@npm:^1.0.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 - languageName: node - linkType: hard - -"bytes@npm:3.0.0": - version: 3.0.0 - resolution: "bytes@npm:3.0.0" - checksum: 10c0/91d42c38601c76460519ffef88371caacaea483a354c8e4b8808e7b027574436a5713337c003ea3de63ee4991c2a9a637884fdfe7f761760d746929d9e8fec60 - languageName: node - linkType: hard - -"bytes@npm:3.1.2": - version: 3.1.2 - resolution: "bytes@npm:3.1.2" - checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e - languageName: node - linkType: hard - -"cacache@npm:^19.0.1": - version: 19.0.1 - resolution: "cacache@npm:19.0.1" - dependencies: - "@npmcli/fs": "npm:^4.0.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^7.0.2" - ssri: "npm:^12.0.0" - tar: "npm:^7.4.3" - unique-filename: "npm:^4.0.0" - checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c - languageName: node - linkType: hard - -"cacheable-lookup@npm:^7.0.0": - version: 7.0.0 - resolution: "cacheable-lookup@npm:7.0.0" - checksum: 10c0/63a9c144c5b45cb5549251e3ea774c04d63063b29e469f7584171d059d3a88f650f47869a974e2d07de62116463d742c287a81a625e791539d987115cb081635 - languageName: node - linkType: hard - -"cacheable-request@npm:^10.2.8": - version: 10.2.14 - resolution: "cacheable-request@npm:10.2.14" - dependencies: - "@types/http-cache-semantics": "npm:^4.0.2" - get-stream: "npm:^6.0.1" - http-cache-semantics: "npm:^4.1.1" - keyv: "npm:^4.5.3" - mimic-response: "npm:^4.0.0" - normalize-url: "npm:^8.0.0" - responselike: "npm:^3.0.0" - checksum: 10c0/41b6658db369f20c03128227ecd219ca7ac52a9d24fc0f499cc9aa5d40c097b48b73553504cebd137024d957c0ddb5b67cf3ac1439b136667f3586257763f88d - languageName: node - linkType: hard - -"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind-apply-helpers@npm:1.0.2" - dependencies: - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 - languageName: node - linkType: hard - -"call-bind@npm:^1.0.8": - version: 1.0.8 - resolution: "call-bind@npm:1.0.8" - dependencies: - call-bind-apply-helpers: "npm:^1.0.0" - es-define-property: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.2" - checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 - languageName: node - linkType: hard - -"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3": - version: 1.0.4 - resolution: "call-bound@npm:1.0.4" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - get-intrinsic: "npm:^1.3.0" - checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 - languageName: node - linkType: hard - -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 - languageName: node - linkType: hard - -"camel-case@npm:^4.1.2": - version: 4.1.2 - resolution: "camel-case@npm:4.1.2" - dependencies: - pascal-case: "npm:^3.1.2" - tslib: "npm:^2.0.3" - checksum: 10c0/bf9eefaee1f20edbed2e9a442a226793bc72336e2b99e5e48c6b7252b6f70b080fc46d8246ab91939e2af91c36cdd422e0af35161e58dd089590f302f8f64c8a - languageName: node - linkType: hard - -"camelcase@npm:^6.2.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 - languageName: node - linkType: hard - -"camelcase@npm:^7.0.1": - version: 7.0.1 - resolution: "camelcase@npm:7.0.1" - checksum: 10c0/3adfc9a0e96d51b3a2f4efe90a84dad3e206aaa81dfc664f1bd568270e1bf3b010aad31f01db16345b4ffe1910e16ab411c7273a19a859addd1b98ef7cf4cfbd - languageName: node - linkType: hard - -"caniuse-api@npm:^3.0.0": - version: 3.0.0 - resolution: "caniuse-api@npm:3.0.0" - dependencies: - browserslist: "npm:^4.0.0" - caniuse-lite: "npm:^1.0.0" - lodash.memoize: "npm:^4.1.2" - lodash.uniq: "npm:^4.5.0" - checksum: 10c0/60f9e85a3331e6d761b1b03eec71ca38ef7d74146bece34694853033292156b815696573ed734b65583acf493e88163618eda915c6c826d46a024c71a9572b4c - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001702, caniuse-lite@npm:^1.0.30001716": - version: 1.0.30001718 - resolution: "caniuse-lite@npm:1.0.30001718" - checksum: 10c0/67f9ad09bc16443e28d14f265d6e468480cd8dc1900d0d8b982222de80c699c4f2306599c3da8a3fa7139f110d4b30d49dbac78f215470f479abb6ffe141d5d3 - languageName: node - linkType: hard - -"ccount@npm:^2.0.0": - version: 2.0.1 - resolution: "ccount@npm:2.0.1" - checksum: 10c0/3939b1664390174484322bc3f45b798462e6c07ee6384cb3d645e0aa2f318502d174845198c1561930e1d431087f74cf1fe291ae9a4722821a9f4ba67e574350 - languageName: node - linkType: hard - -"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"chalk@npm:^5.0.1, chalk@npm:^5.2.0": - version: 5.4.1 - resolution: "chalk@npm:5.4.1" - checksum: 10c0/b23e88132c702f4855ca6d25cb5538b1114343e41472d5263ee8a37cccfccd9c4216d111e1097c6a27830407a1dc81fecdf2a56f2c63033d4dbbd88c10b0dcef - languageName: node - linkType: hard - -"char-regex@npm:^1.0.2": - version: 1.0.2 - resolution: "char-regex@npm:1.0.2" - checksum: 10c0/57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e - languageName: node - linkType: hard - -"character-entities-html4@npm:^2.0.0": - version: 2.1.0 - resolution: "character-entities-html4@npm:2.1.0" - checksum: 10c0/fe61b553f083400c20c0b0fd65095df30a0b445d960f3bbf271536ae6c3ba676f39cb7af0b4bf2755812f08ab9b88f2feed68f9aebb73bb153f7a115fe5c6e40 - languageName: node - linkType: hard - -"character-entities-legacy@npm:^3.0.0": - version: 3.0.0 - resolution: "character-entities-legacy@npm:3.0.0" - checksum: 10c0/ec4b430af873661aa754a896a2b55af089b4e938d3d010fad5219299a6b6d32ab175142699ee250640678cd64bdecd6db3c9af0b8759ab7b155d970d84c4c7d1 - languageName: node - linkType: hard - -"character-entities@npm:^2.0.0": - version: 2.0.2 - resolution: "character-entities@npm:2.0.2" - checksum: 10c0/b0c645a45bcc90ff24f0e0140f4875a8436b8ef13b6bcd31ec02cfb2ca502b680362aa95386f7815bdc04b6464d48cf191210b3840d7c04241a149ede591a308 - languageName: node - linkType: hard - -"character-reference-invalid@npm:^2.0.0": - version: 2.0.1 - resolution: "character-reference-invalid@npm:2.0.1" - checksum: 10c0/2ae0dec770cd8659d7e8b0ce24392d83b4c2f0eb4a3395c955dce5528edd4cc030a794cfa06600fcdd700b3f2de2f9b8e40e309c0011c4180e3be64a0b42e6a1 - languageName: node - linkType: hard - -"cheerio-select@npm:^2.1.0": - version: 2.1.0 - resolution: "cheerio-select@npm:2.1.0" - dependencies: - boolbase: "npm:^1.0.0" - css-select: "npm:^5.1.0" - css-what: "npm:^6.1.0" - domelementtype: "npm:^2.3.0" - domhandler: "npm:^5.0.3" - domutils: "npm:^3.0.1" - checksum: 10c0/2242097e593919dba4aacb97d7b8275def8b9ec70b00aa1f43335456870cfc9e284eae2080bdc832ed232dabb9eefcf56c722d152da4a154813fb8814a55d282 - languageName: node - linkType: hard - -"cheerio@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "cheerio@npm:1.0.0-rc.12" - dependencies: - cheerio-select: "npm:^2.1.0" - dom-serializer: "npm:^2.0.0" - domhandler: "npm:^5.0.3" - domutils: "npm:^3.0.1" - htmlparser2: "npm:^8.0.1" - parse5: "npm:^7.0.0" - parse5-htmlparser2-tree-adapter: "npm:^7.0.0" - checksum: 10c0/c85d2f2461e3f024345b78e0bb16ad8e41492356210470dd1e7d5a91391da9fcf6c0a7cb48a9ba8820330153f0cedb4d0a60c7af15d96ecdb3092299b9d9c0cc - languageName: node - linkType: hard - -"chokidar@npm:^3.4.2, chokidar@npm:^3.5.3": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 - languageName: node - linkType: hard - -"chownr@npm:^3.0.0": - version: 3.0.0 - resolution: "chownr@npm:3.0.0" - checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 - languageName: node - linkType: hard - -"chrome-trace-event@npm:^1.0.2": - version: 1.0.4 - resolution: "chrome-trace-event@npm:1.0.4" - checksum: 10c0/3058da7a5f4934b87cf6a90ef5fb68ebc5f7d06f143ed5a4650208e5d7acae47bc03ec844b29fbf5ba7e46e8daa6acecc878f7983a4f4bb7271593da91e61ff5 - languageName: node - linkType: hard - -"ci-info@npm:^3.2.0": - version: 3.9.0 - resolution: "ci-info@npm:3.9.0" - checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a - languageName: node - linkType: hard - -"clean-css@npm:^5.2.2, clean-css@npm:^5.3.2, clean-css@npm:~5.3.2": - version: 5.3.3 - resolution: "clean-css@npm:5.3.3" - dependencies: - source-map: "npm:~0.6.0" - checksum: 10c0/381de7523e23f3762eb180e327dcc0cedafaf8cb1cd8c26b7cc1fc56e0829a92e734729c4f955394d65ed72fb62f82d8baf78af34b33b8a7d41ebad2accdd6fb - languageName: node - linkType: hard - -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 - languageName: node - linkType: hard - -"cli-boxes@npm:^3.0.0": - version: 3.0.0 - resolution: "cli-boxes@npm:3.0.0" - checksum: 10c0/4db3e8fbfaf1aac4fb3a6cbe5a2d3fa048bee741a45371b906439b9ffc821c6e626b0f108bdcd3ddf126a4a319409aedcf39a0730573ff050fdd7b6731e99fb9 - languageName: node - linkType: hard - -"cli-table3@npm:^0.6.3": - version: 0.6.5 - resolution: "cli-table3@npm:0.6.5" - dependencies: - "@colors/colors": "npm:1.5.0" - string-width: "npm:^4.2.0" - dependenciesMeta: - "@colors/colors": - optional: true - checksum: 10c0/d7cc9ed12212ae68241cc7a3133c52b844113b17856e11f4f81308acc3febcea7cc9fd298e70933e294dd642866b29fd5d113c2c098948701d0c35f09455de78 - languageName: node - linkType: hard - -"clone-deep@npm:^4.0.1": - version: 4.0.1 - resolution: "clone-deep@npm:4.0.1" - dependencies: - is-plain-object: "npm:^2.0.4" - kind-of: "npm:^6.0.2" - shallow-clone: "npm:^3.0.0" - checksum: 10c0/637753615aa24adf0f2d505947a1bb75e63964309034a1cf56ba4b1f30af155201edd38d26ffe26911adaae267a3c138b344a4947d39f5fc1b6d6108125aa758 - languageName: node - linkType: hard - -"clsx@npm:^1.2.1": - version: 1.2.1 - resolution: "clsx@npm:1.2.1" - checksum: 10c0/34dead8bee24f5e96f6e7937d711978380647e936a22e76380290e35486afd8634966ce300fc4b74a32f3762c7d4c0303f442c3e259f4ce02374eb0c82834f27 - languageName: node - linkType: hard - -"clsx@npm:^2.0.0": - version: 2.1.1 - resolution: "clsx@npm:2.1.1" - checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 - languageName: node - linkType: hard - -"collapse-white-space@npm:^2.0.0": - version: 2.1.0 - resolution: "collapse-white-space@npm:2.1.0" - checksum: 10c0/b2e2800f4ab261e62eb27a1fbe853378296e3a726d6695117ed033e82d61fb6abeae4ffc1465d5454499e237005de9cfc52c9562dc7ca4ac759b9a222ef14453 - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"colord@npm:^2.9.3": - version: 2.9.3 - resolution: "colord@npm:2.9.3" - checksum: 10c0/9699e956894d8996b28c686afe8988720785f476f59335c80ce852ded76ab3ebe252703aec53d9bef54f6219aea6b960fb3d9a8300058a1d0c0d4026460cd110 - languageName: node - linkType: hard - -"colorette@npm:^2.0.10": - version: 2.0.20 - resolution: "colorette@npm:2.0.20" - checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 - languageName: node - linkType: hard - -"combine-promises@npm:^1.1.0": - version: 1.2.0 - resolution: "combine-promises@npm:1.2.0" - checksum: 10c0/906ebf056006eff93c11548df0415053b6756145dae1f5a89579e743cb15fceeb0604555791321db4fba5072aa39bb4de6547e9cdf14589fe949b33d1613422c - languageName: node - linkType: hard - -"comma-separated-tokens@npm:^2.0.0": - version: 2.0.3 - resolution: "comma-separated-tokens@npm:2.0.3" - checksum: 10c0/91f90f1aae320f1755d6957ef0b864fe4f54737f3313bd95e0802686ee2ca38bff1dd381964d00ae5db42912dd1f4ae5c2709644e82706ffc6f6842a813cdd67 - languageName: node - linkType: hard - -"commander@npm:^10.0.0": - version: 10.0.1 - resolution: "commander@npm:10.0.1" - checksum: 10c0/53f33d8927758a911094adadda4b2cbac111a5b377d8706700587650fd8f45b0bbe336de4b5c3fe47fd61f420a3d9bd452b6e0e6e5600a7e74d7bf0174f6efe3 - languageName: node - linkType: hard - -"commander@npm:^2.20.0": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 - languageName: node - linkType: hard - -"commander@npm:^5.1.0": - version: 5.1.0 - resolution: "commander@npm:5.1.0" - checksum: 10c0/da9d71dbe4ce039faf1fe9eac3771dca8c11d66963341f62602f7b66e36d2a3f8883407af4f9a37b1db1a55c59c0c1325f186425764c2e963dc1d67aec2a4b6d - languageName: node - linkType: hard - -"commander@npm:^7.2.0": - version: 7.2.0 - resolution: "commander@npm:7.2.0" - checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a - languageName: node - linkType: hard - -"commander@npm:^8.3.0": - version: 8.3.0 - resolution: "commander@npm:8.3.0" - checksum: 10c0/8b043bb8322ea1c39664a1598a95e0495bfe4ca2fad0d84a92d7d1d8d213e2a155b441d2470c8e08de7c4a28cf2bc6e169211c49e1b21d9f7edc6ae4d9356060 - languageName: node - linkType: hard - -"common-path-prefix@npm:^3.0.0": - version: 3.0.0 - resolution: "common-path-prefix@npm:3.0.0" - checksum: 10c0/c4a74294e1b1570f4a8ab435285d185a03976c323caa16359053e749db4fde44e3e6586c29cd051100335e11895767cbbd27ea389108e327d62f38daf4548fdb - languageName: node - linkType: hard - -"compressible@npm:~2.0.18": - version: 2.0.18 - resolution: "compressible@npm:2.0.18" - dependencies: - mime-db: "npm:>= 1.43.0 < 2" - checksum: 10c0/8a03712bc9f5b9fe530cc5a79e164e665550d5171a64575d7dcf3e0395d7b4afa2d79ab176c61b5b596e28228b350dd07c1a2a6ead12fd81d1b6cd632af2fef7 - languageName: node - linkType: hard - -"compression@npm:^1.7.4": - version: 1.8.0 - resolution: "compression@npm:1.8.0" - dependencies: - bytes: "npm:3.1.2" - compressible: "npm:~2.0.18" - debug: "npm:2.6.9" - negotiator: "npm:~0.6.4" - on-headers: "npm:~1.0.2" - safe-buffer: "npm:5.2.1" - vary: "npm:~1.1.2" - checksum: 10c0/804d3c8430939f4fd88e5128333f311b4035f6425a7f2959d74cfb5c98ef3a3e3e18143208f3f9d0fcae4cd3bcf3d2fbe525e0fcb955e6e146e070936f025a24 - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"config-chain@npm:^1.1.11": - version: 1.1.13 - resolution: "config-chain@npm:1.1.13" - dependencies: - ini: "npm:^1.3.4" - proto-list: "npm:~1.2.1" - checksum: 10c0/39d1df18739d7088736cc75695e98d7087aea43646351b028dfabd5508d79cf6ef4c5bcd90471f52cd87ae470d1c5490c0a8c1a292fbe6ee9ff688061ea0963e - languageName: node - linkType: hard - -"configstore@npm:^6.0.0": - version: 6.0.0 - resolution: "configstore@npm:6.0.0" - dependencies: - dot-prop: "npm:^6.0.1" - graceful-fs: "npm:^4.2.6" - unique-string: "npm:^3.0.0" - write-file-atomic: "npm:^3.0.3" - xdg-basedir: "npm:^5.0.1" - checksum: 10c0/6681a96038ab3e0397cbdf55e6e1624ac3dfa3afe955e219f683df060188a418bda043c9114a59a337e7aec9562b0a0c838ed7db24289e6d0c266bc8313b9580 - languageName: node - linkType: hard - -"connect-history-api-fallback@npm:^2.0.0": - version: 2.0.0 - resolution: "connect-history-api-fallback@npm:2.0.0" - checksum: 10c0/90fa8b16ab76e9531646cc70b010b1dbd078153730c510d3142f6cf07479ae8a812c5a3c0e40a28528dd1681a62395d0cfdef67da9e914c4772ac85d69a3ed87 - languageName: node - linkType: hard - -"consola@npm:^3.2.3": - version: 3.4.2 - resolution: "consola@npm:3.4.2" - checksum: 10c0/7cebe57ecf646ba74b300bcce23bff43034ed6fbec9f7e39c27cee1dc00df8a21cd336b466ad32e304ea70fba04ec9e890c200270de9a526ce021ba8a7e4c11a - languageName: node - linkType: hard - -"content-disposition@npm:0.5.2": - version: 0.5.2 - resolution: "content-disposition@npm:0.5.2" - checksum: 10c0/49eebaa0da1f9609b192e99d7fec31d1178cb57baa9d01f5b63b29787ac31e9d18b5a1033e854c68c9b6cce790e700a6f7fa60e43f95e2e416404e114a8f2f49 - languageName: node - linkType: hard - -"content-disposition@npm:0.5.4": - version: 0.5.4 - resolution: "content-disposition@npm:0.5.4" - dependencies: - safe-buffer: "npm:5.2.1" - checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb - languageName: node - linkType: hard - -"content-type@npm:~1.0.4, content-type@npm:~1.0.5": - version: 1.0.5 - resolution: "content-type@npm:1.0.5" - checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af - languageName: node - linkType: hard - -"convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b - languageName: node - linkType: hard - -"cookie-signature@npm:1.0.6": - version: 1.0.6 - resolution: "cookie-signature@npm:1.0.6" - checksum: 10c0/b36fd0d4e3fef8456915fcf7742e58fbfcc12a17a018e0eb9501c9d5ef6893b596466f03b0564b81af29ff2538fd0aa4b9d54fe5ccbfb4c90ea50ad29fe2d221 - languageName: node - linkType: hard - -"cookie@npm:0.7.1": - version: 0.7.1 - resolution: "cookie@npm:0.7.1" - checksum: 10c0/5de60c67a410e7c8dc8a46a4b72eb0fe925871d057c9a5d2c0e8145c4270a4f81076de83410c4d397179744b478e33cd80ccbcc457abf40a9409ad27dcd21dde - languageName: node - linkType: hard - -"copy-text-to-clipboard@npm:^3.2.0": - version: 3.2.0 - resolution: "copy-text-to-clipboard@npm:3.2.0" - checksum: 10c0/d60fdadc59d526e19d56ad23cec2b292d33c771a5091621bd322d138804edd3c10eb2367d46ec71b39f5f7f7116a2910b332281aeb36a5b679199d746a8a5381 - languageName: node - linkType: hard - -"copy-webpack-plugin@npm:^11.0.0": - version: 11.0.0 - resolution: "copy-webpack-plugin@npm:11.0.0" - dependencies: - fast-glob: "npm:^3.2.11" - glob-parent: "npm:^6.0.1" - globby: "npm:^13.1.1" - normalize-path: "npm:^3.0.0" - schema-utils: "npm:^4.0.0" - serialize-javascript: "npm:^6.0.0" - peerDependencies: - webpack: ^5.1.0 - checksum: 10c0/a667dd226b26f148584a35fb705f5af926d872584912cf9fd203c14f2b3a68f473a1f5cf768ec1dd5da23820823b850e5d50458b685c468e4a224b25c12a15b4 - languageName: node - linkType: hard - -"core-js-compat@npm:^3.40.0": - version: 3.42.0 - resolution: "core-js-compat@npm:3.42.0" - dependencies: - browserslist: "npm:^4.24.4" - checksum: 10c0/0138ce005c13ce642fc38e18e54a52a1c78ca8315ee6e4faad748d2a1b0ad2462ea615285ad4e6cf77afe48e47a868d898e64c70606c1eb1c9e6a9f19ee2b186 - languageName: node - linkType: hard - -"core-js-pure@npm:^3.30.2": - version: 3.42.0 - resolution: "core-js-pure@npm:3.42.0" - checksum: 10c0/e61b097bc83ec01839e7b04cad2e1d0dd8822275ea5a08a23dc7c907d13d2522aa2b09061cec68f0625fe40abb8b888be3b65a37c817eb53a695cf02c24217bf - languageName: node - linkType: hard - -"core-js@npm:^3.31.1": - version: 3.42.0 - resolution: "core-js@npm:3.42.0" - checksum: 10c0/2913d3d5452d54ad92f058d66046782d608c05e037bcc523aab79c04454fe640998f94e6011292969d66dfa472f398b085ce843dcb362056532a5799c627184e - languageName: node - linkType: hard - -"core-util-is@npm:~1.0.0": - version: 1.0.3 - resolution: "core-util-is@npm:1.0.3" - checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 - languageName: node - linkType: hard - -"cosmiconfig@npm:^6.0.0": - version: 6.0.0 - resolution: "cosmiconfig@npm:6.0.0" - dependencies: - "@types/parse-json": "npm:^4.0.0" - import-fresh: "npm:^3.1.0" - parse-json: "npm:^5.0.0" - path-type: "npm:^4.0.0" - yaml: "npm:^1.7.2" - checksum: 10c0/666ed8732d0bf7d7fe6f8516c8ee6041e0622032e8fa26201577b883d2767ad105d03f38b34b93d1f02f26b22a89e7bab4443b9d2e7f931f48d0e944ffa038b5 - languageName: node - linkType: hard - -"cosmiconfig@npm:^8.1.3, cosmiconfig@npm:^8.3.5": - version: 8.3.6 - resolution: "cosmiconfig@npm:8.3.6" - dependencies: - import-fresh: "npm:^3.3.0" - js-yaml: "npm:^4.1.0" - parse-json: "npm:^5.2.0" - path-type: "npm:^4.0.0" - peerDependencies: - typescript: ">=4.9.5" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": - version: 7.0.6 - resolution: "cross-spawn@npm:7.0.6" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 - languageName: node - linkType: hard - -"crypto-random-string@npm:^4.0.0": - version: 4.0.0 - resolution: "crypto-random-string@npm:4.0.0" - dependencies: - type-fest: "npm:^1.0.1" - checksum: 10c0/16e11a3c8140398f5408b7fded35a961b9423c5dac39a60cbbd08bd3f0e07d7de130e87262adea7db03ec1a7a4b7551054e0db07ee5408b012bac5400cfc07a5 - languageName: node - linkType: hard - -"css-blank-pseudo@npm:^7.0.1": - version: 7.0.1 - resolution: "css-blank-pseudo@npm:7.0.1" - dependencies: - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/46c3d3a611972fdb0c264db7c0b34fe437bc4300961d11945145cf04962f52a545a6ef55bc8ff4afd82b605bd692b4970f2b54582616dea00441105e725d4618 - languageName: node - linkType: hard - -"css-declaration-sorter@npm:^7.2.0": - version: 7.2.0 - resolution: "css-declaration-sorter@npm:7.2.0" - peerDependencies: - postcss: ^8.0.9 - checksum: 10c0/d8516be94f8f2daa233ef021688b965c08161624cbf830a4d7ee1099429437c0ee124d35c91b1c659cfd891a68e8888aa941726dab12279bc114aaed60a94606 - languageName: node - linkType: hard - -"css-has-pseudo@npm:^7.0.2": - version: 7.0.2 - resolution: "css-has-pseudo@npm:7.0.2" - dependencies: - "@csstools/selector-specificity": "npm:^5.0.0" - postcss-selector-parser: "npm:^7.0.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/456e9ce1eec8a535683c329956acfe53ce5a208345d7f2fcbe662626be8b3c98681e9041d7f4980316714397b0c1c3defde25653d629c396df17803d599c4edf - languageName: node - linkType: hard - -"css-loader@npm:^6.8.1": - version: 6.11.0 - resolution: "css-loader@npm:6.11.0" - dependencies: - icss-utils: "npm:^5.1.0" - postcss: "npm:^8.4.33" - postcss-modules-extract-imports: "npm:^3.1.0" - postcss-modules-local-by-default: "npm:^4.0.5" - postcss-modules-scope: "npm:^3.2.0" - postcss-modules-values: "npm:^4.0.0" - postcss-value-parser: "npm:^4.2.0" - semver: "npm:^7.5.4" - peerDependencies: - "@rspack/core": 0.x || 1.x - webpack: ^5.0.0 - peerDependenciesMeta: - "@rspack/core": - optional: true - webpack: - optional: true - checksum: 10c0/bb52434138085fed06a33e2ffbdae9ee9014ad23bf60f59d6b7ee67f28f26c6b1764024d3030bd19fd884d6ee6ee2224eaed64ad19eb18fbbb23d148d353a965 - languageName: node - linkType: hard - -"css-minimizer-webpack-plugin@npm:^5.0.1": - version: 5.0.1 - resolution: "css-minimizer-webpack-plugin@npm:5.0.1" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.18" - cssnano: "npm:^6.0.1" - jest-worker: "npm:^29.4.3" - postcss: "npm:^8.4.24" - schema-utils: "npm:^4.0.1" - serialize-javascript: "npm:^6.0.1" - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - "@parcel/css": - optional: true - "@swc/css": - optional: true - clean-css: - optional: true - csso: - optional: true - esbuild: - optional: true - lightningcss: - optional: true - checksum: 10c0/1792259e18f7c5ee25b6bbf60b38b64201747add83d1f751c8c654159b46ebacd0d1103d35f17d97197033e21e02d2ba4a4e9aa14c9c0d067b7c7653c721814e - languageName: node - linkType: hard - -"css-prefers-color-scheme@npm:^10.0.0": - version: 10.0.0 - resolution: "css-prefers-color-scheme@npm:10.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/a66c727bb2455328b18862f720819fc98ff5c1486b69f758bdb5c66f46cc6d484f9fc0bfa4f00f2693c5da6707ad136ca789496982f713ade693f08af624930e - languageName: node - linkType: hard - -"css-select@npm:^4.1.3": - version: 4.3.0 - resolution: "css-select@npm:4.3.0" - dependencies: - boolbase: "npm:^1.0.0" - css-what: "npm:^6.0.1" - domhandler: "npm:^4.3.1" - domutils: "npm:^2.8.0" - nth-check: "npm:^2.0.1" - checksum: 10c0/a489d8e5628e61063d5a8fe0fa1cc7ae2478cb334a388a354e91cf2908154be97eac9fa7ed4dffe87a3e06cf6fcaa6016553115335c4fd3377e13dac7bd5a8e1 - languageName: node - linkType: hard - -"css-select@npm:^5.1.0": - version: 5.1.0 - resolution: "css-select@npm:5.1.0" - dependencies: - boolbase: "npm:^1.0.0" - css-what: "npm:^6.1.0" - domhandler: "npm:^5.0.2" - domutils: "npm:^3.0.1" - nth-check: "npm:^2.0.1" - checksum: 10c0/551c60dba5b54054741032c1793b5734f6ba45e23ae9e82761a3c0ed1acbb8cfedfa443aaba3a3c1a54cac12b456d2012a09d2cd5f0e82e430454c1b9d84d500 - languageName: node - linkType: hard - -"css-tree@npm:^2.3.1": - version: 2.3.1 - resolution: "css-tree@npm:2.3.1" - dependencies: - mdn-data: "npm:2.0.30" - source-map-js: "npm:^1.0.1" - checksum: 10c0/6f8c1a11d5e9b14bf02d10717fc0351b66ba12594166f65abfbd8eb8b5b490dd367f5c7721db241a3c792d935fc6751fbc09f7e1598d421477ad9fadc30f4f24 - languageName: node - linkType: hard - -"css-tree@npm:~2.2.0": - version: 2.2.1 - resolution: "css-tree@npm:2.2.1" - dependencies: - mdn-data: "npm:2.0.28" - source-map-js: "npm:^1.0.1" - checksum: 10c0/47e87b0f02f8ac22f57eceb65c58011dd142d2158128882a0bf963cf2eabb81a4ebbc2e3790c8289be7919fa8b83750c7b69272bd66772c708143b772ba3c186 - languageName: node - linkType: hard - -"css-what@npm:^6.0.1, css-what@npm:^6.1.0": - version: 6.1.0 - resolution: "css-what@npm:6.1.0" - checksum: 10c0/a09f5a6b14ba8dcf57ae9a59474722e80f20406c53a61e9aedb0eedc693b135113ffe2983f4efc4b5065ae639442e9ae88df24941ef159c218b231011d733746 - languageName: node - linkType: hard - -"cssdb@npm:^8.2.5": - version: 8.2.5 - resolution: "cssdb@npm:8.2.5" - checksum: 10c0/3f6f2941c958ea0bdbcc1f807ee728d851ef60c370fbcd54360840e3192f082e0a0b2fa4ea600ca74fa771936c9130883727d7845132cc8bf135a4e0a1e55746 - languageName: node - linkType: hard - -"cssesc@npm:^3.0.0": - version: 3.0.0 - resolution: "cssesc@npm:3.0.0" - bin: - cssesc: bin/cssesc - checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 - languageName: node - linkType: hard - -"cssnano-preset-advanced@npm:^6.1.2": - version: 6.1.2 - resolution: "cssnano-preset-advanced@npm:6.1.2" - dependencies: - autoprefixer: "npm:^10.4.19" - browserslist: "npm:^4.23.0" - cssnano-preset-default: "npm:^6.1.2" - postcss-discard-unused: "npm:^6.0.5" - postcss-merge-idents: "npm:^6.0.3" - postcss-reduce-idents: "npm:^6.0.3" - postcss-zindex: "npm:^6.0.2" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/22d3ddab258e6b31e7e2e7c48712f023b60fadb2813929752dace0326e28cd250830b5420a33f81b01df52d2460cb5f999fff5907f58508809efe1a8a739a707 - languageName: node - linkType: hard - -"cssnano-preset-default@npm:^6.1.2": - version: 6.1.2 - resolution: "cssnano-preset-default@npm:6.1.2" - dependencies: - browserslist: "npm:^4.23.0" - css-declaration-sorter: "npm:^7.2.0" - cssnano-utils: "npm:^4.0.2" - postcss-calc: "npm:^9.0.1" - postcss-colormin: "npm:^6.1.0" - postcss-convert-values: "npm:^6.1.0" - postcss-discard-comments: "npm:^6.0.2" - postcss-discard-duplicates: "npm:^6.0.3" - postcss-discard-empty: "npm:^6.0.3" - postcss-discard-overridden: "npm:^6.0.2" - postcss-merge-longhand: "npm:^6.0.5" - postcss-merge-rules: "npm:^6.1.1" - postcss-minify-font-values: "npm:^6.1.0" - postcss-minify-gradients: "npm:^6.0.3" - postcss-minify-params: "npm:^6.1.0" - postcss-minify-selectors: "npm:^6.0.4" - postcss-normalize-charset: "npm:^6.0.2" - postcss-normalize-display-values: "npm:^6.0.2" - postcss-normalize-positions: "npm:^6.0.2" - postcss-normalize-repeat-style: "npm:^6.0.2" - postcss-normalize-string: "npm:^6.0.2" - postcss-normalize-timing-functions: "npm:^6.0.2" - postcss-normalize-unicode: "npm:^6.1.0" - postcss-normalize-url: "npm:^6.0.2" - postcss-normalize-whitespace: "npm:^6.0.2" - postcss-ordered-values: "npm:^6.0.2" - postcss-reduce-initial: "npm:^6.1.0" - postcss-reduce-transforms: "npm:^6.0.2" - postcss-svgo: "npm:^6.0.3" - postcss-unique-selectors: "npm:^6.0.4" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/af99021f936763850f5f35dc9e6a9dfb0da30856dea36e0420b011da2a447099471db2a5f3d1f5f52c0489da186caf9a439d8f048a80f82617077efb018333fa - languageName: node - linkType: hard - -"cssnano-utils@npm:^4.0.2": - version: 4.0.2 - resolution: "cssnano-utils@npm:4.0.2" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/260b8c8ffa48b908aa77ef129f9b8648ecd92aed405b20e7fe6b8370779dd603530344fc9d96683d53533246e48b36ac9d2aa5a476b4f81c547bbad86d187f35 - languageName: node - linkType: hard - -"cssnano@npm:^6.0.1, cssnano@npm:^6.1.2": - version: 6.1.2 - resolution: "cssnano@npm:6.1.2" - dependencies: - cssnano-preset-default: "npm:^6.1.2" - lilconfig: "npm:^3.1.1" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/4df0dc0389b34b38acb09b7cfb07267b0eda95349c6d5e9b7666acc7200bb33359650869a60168e9d878298b05f4ad2c7f070815c90551720a3f4e1037f79691 - languageName: node - linkType: hard - -"csso@npm:^5.0.5": - version: 5.0.5 - resolution: "csso@npm:5.0.5" - dependencies: - css-tree: "npm:~2.2.0" - checksum: 10c0/ab4beb1e97dd7e207c10e9925405b45f15a6cd1b4880a8686ad573aa6d476aed28b4121a666cffd26c37a26179f7b54741f7c257543003bfb244d06a62ad569b - languageName: node - linkType: hard - -"csstype@npm:^3.0.2": - version: 3.1.3 - resolution: "csstype@npm:3.1.3" - checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 - languageName: node - linkType: hard - -"debounce@npm:^1.2.1": - version: 1.2.1 - resolution: "debounce@npm:1.2.1" - checksum: 10c0/6c9320aa0973fc42050814621a7a8a78146c1975799b5b3cc1becf1f77ba9a5aa583987884230da0842a03f385def452fad5d60db97c3d1c8b824e38a8edf500 - languageName: node - linkType: hard - -"debug@npm:2.6.9, debug@npm:^2.6.0": - version: 2.6.9 - resolution: "debug@npm:2.6.9" - dependencies: - ms: "npm:2.0.0" - checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4": - version: 4.4.1 - resolution: "debug@npm:4.4.1" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55 - languageName: node - linkType: hard - -"decode-named-character-reference@npm:^1.0.0": - version: 1.1.0 - resolution: "decode-named-character-reference@npm:1.1.0" - dependencies: - character-entities: "npm:^2.0.0" - checksum: 10c0/359c76305b47e67660ec096c5cd3f65972ed75b8a53a40435a7a967cfab3e9516e64b443cbe0c7edcf5ab77f65a6924f12fb1872b1e09e2f044f28f4fd10996a - languageName: node - linkType: hard - -"decompress-response@npm:^6.0.0": - version: 6.0.0 - resolution: "decompress-response@npm:6.0.0" - dependencies: - mimic-response: "npm:^3.1.0" - checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e - languageName: node - linkType: hard - -"deep-extend@npm:^0.6.0": - version: 0.6.0 - resolution: "deep-extend@npm:0.6.0" - checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 - languageName: node - linkType: hard - -"deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.1": - version: 4.3.1 - resolution: "deepmerge@npm:4.3.1" - checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 - languageName: node - linkType: hard - -"default-gateway@npm:^6.0.3": - version: 6.0.3 - resolution: "default-gateway@npm:6.0.3" - dependencies: - execa: "npm:^5.0.0" - checksum: 10c0/5184f9e6e105d24fb44ade9e8741efa54bb75e84625c1ea78c4ef8b81dff09ca52d6dbdd1185cf0dc655bb6b282a64fffaf7ed2dd561b8d9ad6f322b1f039aba - languageName: node - linkType: hard - -"defer-to-connect@npm:^2.0.1": - version: 2.0.1 - resolution: "defer-to-connect@npm:2.0.1" - checksum: 10c0/625ce28e1b5ad10cf77057b9a6a727bf84780c17660f6644dab61dd34c23de3001f03cedc401f7d30a4ed9965c2e8a7336e220a329146f2cf85d4eddea429782 - languageName: node - linkType: hard - -"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": - version: 1.1.4 - resolution: "define-data-property@npm:1.1.4" - dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.0.1" - checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 - languageName: node - linkType: hard - -"define-lazy-prop@npm:^2.0.0": - version: 2.0.0 - resolution: "define-lazy-prop@npm:2.0.0" - checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 - languageName: node - linkType: hard - -"define-properties@npm:^1.2.1": - version: 1.2.1 - resolution: "define-properties@npm:1.2.1" - dependencies: - define-data-property: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.0" - object-keys: "npm:^1.1.1" - checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 - languageName: node - linkType: hard - -"del@npm:^6.1.1": - version: 6.1.1 - resolution: "del@npm:6.1.1" - dependencies: - globby: "npm:^11.0.1" - graceful-fs: "npm:^4.2.4" - is-glob: "npm:^4.0.1" - is-path-cwd: "npm:^2.2.0" - is-path-inside: "npm:^3.0.2" - p-map: "npm:^4.0.0" - rimraf: "npm:^3.0.2" - slash: "npm:^3.0.0" - checksum: 10c0/8a095c5ccade42c867a60252914ae485ec90da243d735d1f63ec1e64c1cfbc2b8810ad69a29ab6326d159d4fddaa2f5bad067808c42072351ec458efff86708f - languageName: node - linkType: hard - -"depd@npm:2.0.0": - version: 2.0.0 - resolution: "depd@npm:2.0.0" - checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c - languageName: node - linkType: hard - -"depd@npm:~1.1.2": - version: 1.1.2 - resolution: "depd@npm:1.1.2" - checksum: 10c0/acb24aaf936ef9a227b6be6d495f0d2eb20108a9a6ad40585c5bda1a897031512fef6484e4fdbb80bd249fdaa82841fa1039f416ece03188e677ba11bcfda249 - languageName: node - linkType: hard - -"dequal@npm:^2.0.0": - version: 2.0.3 - resolution: "dequal@npm:2.0.3" - checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 - languageName: node - linkType: hard - -"destroy@npm:1.2.0": - version: 1.2.0 - resolution: "destroy@npm:1.2.0" - checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 - languageName: node - linkType: hard - -"detect-node@npm:^2.0.4": - version: 2.1.0 - resolution: "detect-node@npm:2.1.0" - checksum: 10c0/f039f601790f2e9d4654e499913259a798b1f5246ae24f86ab5e8bd4aaf3bce50484234c494f11fb00aecb0c6e2733aa7b1cf3f530865640b65fbbd65b2c4e09 - languageName: node - linkType: hard - -"detect-port-alt@npm:^1.1.6": - version: 1.1.6 - resolution: "detect-port-alt@npm:1.1.6" - dependencies: - address: "npm:^1.0.1" - debug: "npm:^2.6.0" - bin: - detect: ./bin/detect-port - detect-port: ./bin/detect-port - checksum: 10c0/7269e6aef7b782d98c77505c07a7a0f5e2ee98a9607dc791035fc0192fc58aa03cc833fae605e10eaf239a2a5a55cd938e0bb141dea764ac6180ca082fd62b23 - languageName: node - linkType: hard - -"detect-port@npm:^1.5.1": - version: 1.6.1 - resolution: "detect-port@npm:1.6.1" - dependencies: - address: "npm:^1.0.1" - debug: "npm:4" - bin: - detect: bin/detect-port.js - detect-port: bin/detect-port.js - checksum: 10c0/4ea9eb46a637cb21220dd0a62b6074792894fc77b2cacbc9de533d1908b2eedafa7bfd7547baaa2ac1e9c7ba7c289b34b17db896dca6da142f4fc6e2060eee17 - languageName: node - linkType: hard - -"devlop@npm:^1.0.0, devlop@npm:^1.1.0": - version: 1.1.0 - resolution: "devlop@npm:1.1.0" - dependencies: - dequal: "npm:^2.0.0" - checksum: 10c0/e0928ab8f94c59417a2b8389c45c55ce0a02d9ac7fd74ef62d01ba48060129e1d594501b77de01f3eeafc7cb00773819b0df74d96251cf20b31c5b3071f45c0e - languageName: node - linkType: hard - -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - -"dns-packet@npm:^5.2.2": - version: 5.6.1 - resolution: "dns-packet@npm:5.6.1" - dependencies: - "@leichtgewicht/ip-codec": "npm:^2.0.1" - checksum: 10c0/8948d3d03063fb68e04a1e386875f8c3bcc398fc375f535f2b438fad8f41bf1afa6f5e70893ba44f4ae884c089247e0a31045722fa6ff0f01d228da103f1811d - languageName: node - linkType: hard - -"dom-converter@npm:^0.2.0": - version: 0.2.0 - resolution: "dom-converter@npm:0.2.0" - dependencies: - utila: "npm:~0.4" - checksum: 10c0/e96aa63bd8c6ee3cd9ce19c3aecfc2c42e50a460e8087114794d4f5ecf3a4f052b34ea3bf2d73b5d80b4da619073b49905e6d7d788ceb7814ca4c29be5354a11 - languageName: node - linkType: hard - -"dom-serializer@npm:^1.0.1": - version: 1.4.1 - resolution: "dom-serializer@npm:1.4.1" - dependencies: - domelementtype: "npm:^2.0.1" - domhandler: "npm:^4.2.0" - entities: "npm:^2.0.0" - checksum: 10c0/67d775fa1ea3de52035c98168ddcd59418356943b5eccb80e3c8b3da53adb8e37edb2cc2f885802b7b1765bf5022aec21dfc32910d7f9e6de4c3148f095ab5e0 - languageName: node - linkType: hard - -"dom-serializer@npm:^2.0.0": - version: 2.0.0 - resolution: "dom-serializer@npm:2.0.0" - dependencies: - domelementtype: "npm:^2.3.0" - domhandler: "npm:^5.0.2" - entities: "npm:^4.2.0" - checksum: 10c0/d5ae2b7110ca3746b3643d3ef60ef823f5f078667baf530cec096433f1627ec4b6fa8c072f09d079d7cda915fd2c7bc1b7b935681e9b09e591e1e15f4040b8e2 - languageName: node - linkType: hard - -"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0, domelementtype@npm:^2.3.0": - version: 2.3.0 - resolution: "domelementtype@npm:2.3.0" - checksum: 10c0/686f5a9ef0fff078c1412c05db73a0dce096190036f33e400a07e2a4518e9f56b1e324f5c576a0a747ef0e75b5d985c040b0d51945ce780c0dd3c625a18cd8c9 - languageName: node - linkType: hard - -"domhandler@npm:^4.0.0, domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": - version: 4.3.1 - resolution: "domhandler@npm:4.3.1" - dependencies: - domelementtype: "npm:^2.2.0" - checksum: 10c0/5c199c7468cb052a8b5ab80b13528f0db3d794c64fc050ba793b574e158e67c93f8336e87fd81e9d5ee43b0e04aea4d8b93ed7be4899cb726a1601b3ba18538b - languageName: node - linkType: hard - -"domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": - version: 5.0.3 - resolution: "domhandler@npm:5.0.3" - dependencies: - domelementtype: "npm:^2.3.0" - checksum: 10c0/bba1e5932b3e196ad6862286d76adc89a0dbf0c773e5ced1eb01f9af930c50093a084eff14b8de5ea60b895c56a04d5de8bbc4930c5543d029091916770b2d2a - languageName: node - linkType: hard - -"domutils@npm:^2.5.2, domutils@npm:^2.8.0": - version: 2.8.0 - resolution: "domutils@npm:2.8.0" - dependencies: - dom-serializer: "npm:^1.0.1" - domelementtype: "npm:^2.2.0" - domhandler: "npm:^4.2.0" - checksum: 10c0/d58e2ae01922f0dd55894e61d18119924d88091837887bf1438f2327f32c65eb76426bd9384f81e7d6dcfb048e0f83c19b222ad7101176ad68cdc9c695b563db - languageName: node - linkType: hard - -"domutils@npm:^3.0.1": - version: 3.2.2 - resolution: "domutils@npm:3.2.2" - dependencies: - dom-serializer: "npm:^2.0.0" - domelementtype: "npm:^2.3.0" - domhandler: "npm:^5.0.3" - checksum: 10c0/47938f473b987ea71cd59e59626eb8666d3aa8feba5266e45527f3b636c7883cca7e582d901531961f742c519d7514636b7973353b648762b2e3bedbf235fada - languageName: node - linkType: hard - -"dot-case@npm:^3.0.4": - version: 3.0.4 - resolution: "dot-case@npm:3.0.4" - dependencies: - no-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/5b859ea65097a7ea870e2c91b5768b72ddf7fa947223fd29e167bcdff58fe731d941c48e47a38ec8aa8e43044c8fbd15cd8fa21689a526bc34b6548197cd5b05 - languageName: node - linkType: hard - -"dot-prop@npm:^6.0.1": - version: 6.0.1 - resolution: "dot-prop@npm:6.0.1" - dependencies: - is-obj: "npm:^2.0.0" - checksum: 10c0/30e51ec6408978a6951b21e7bc4938aad01a86f2fdf779efe52330205c6bb8a8ea12f35925c2029d6dc9d1df22f916f32f828ce1e9b259b1371c580541c22b5a - languageName: node - linkType: hard - -"dunder-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "dunder-proto@npm:1.0.1" - dependencies: - call-bind-apply-helpers: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.2.0" - checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 - languageName: node - linkType: hard - -"duplexer@npm:^0.1.2": - version: 0.1.2 - resolution: "duplexer@npm:0.1.2" - checksum: 10c0/c57bcd4bdf7e623abab2df43a7b5b23d18152154529d166c1e0da6bee341d84c432d157d7e97b32fecb1bf3a8b8857dd85ed81a915789f550637ed25b8e64fc2 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - -"ee-first@npm:1.1.1": - version: 1.1.1 - resolution: "ee-first@npm:1.1.1" - checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.5.149": - version: 1.5.152 - resolution: "electron-to-chromium@npm:1.5.152" - checksum: 10c0/99c58dc8fc6b22ea64f118599663a0d336aa28693fbd275d06f3e2c1d1a6c954fcb88f5b2390223267bb3487940d3e587b6acac8b1b2ebc4dc65c44cd7739c7c - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - -"emojilib@npm:^2.4.0": - version: 2.4.0 - resolution: "emojilib@npm:2.4.0" - checksum: 10c0/6e66ba8921175842193f974e18af448bb6adb0cf7aeea75e08b9d4ea8e9baba0e4a5347b46ed901491dcaba277485891c33a8d70b0560ca5cc9672a94c21ab8f - languageName: node - linkType: hard - -"emojis-list@npm:^3.0.0": - version: 3.0.0 - resolution: "emojis-list@npm:3.0.0" - checksum: 10c0/7dc4394b7b910444910ad64b812392159a21e1a7ecc637c775a440227dcb4f80eff7fe61f4453a7d7603fa23d23d30cc93fe9e4b5ed985b88d6441cd4a35117b - languageName: node - linkType: hard - -"emoticon@npm:^4.0.1": - version: 4.1.0 - resolution: "emoticon@npm:4.1.0" - checksum: 10c0/b3bc0a9b370445ac1e980ccba7baea614b4648199cc6fa0a51696a6d2393733e8f985edc4f1af381a1903f625789483dd155de427ec9fa2ea415fac116adc06d - languageName: node - linkType: hard - -"encodeurl@npm:~1.0.2": - version: 1.0.2 - resolution: "encodeurl@npm:1.0.2" - checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec - languageName: node - linkType: hard - -"encodeurl@npm:~2.0.0": - version: 2.0.0 - resolution: "encodeurl@npm:2.0.0" - checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb - languageName: node - linkType: hard - -"encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 - languageName: node - linkType: hard - -"enhanced-resolve@npm:^5.17.1": - version: 5.18.1 - resolution: "enhanced-resolve@npm:5.18.1" - dependencies: - graceful-fs: "npm:^4.2.4" - tapable: "npm:^2.2.0" - checksum: 10c0/4cffd9b125225184e2abed9fdf0ed3dbd2224c873b165d0838fd066cde32e0918626cba2f1f4bf6860762f13a7e2364fd89a82b99566be2873d813573ac71846 - languageName: node - linkType: hard - -"entities@npm:^2.0.0": - version: 2.2.0 - resolution: "entities@npm:2.2.0" - checksum: 10c0/7fba6af1f116300d2ba1c5673fc218af1961b20908638391b4e1e6d5850314ee2ac3ec22d741b3a8060479911c99305164aed19b6254bde75e7e6b1b2c3f3aa3 - languageName: node - linkType: hard - -"entities@npm:^4.2.0, entities@npm:^4.4.0": - version: 4.5.0 - resolution: "entities@npm:4.5.0" - checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 - languageName: node - linkType: hard - -"entities@npm:^6.0.0": - version: 6.0.0 - resolution: "entities@npm:6.0.0" - checksum: 10c0/b82a7bd5de282860f3c36a91e815e41e874fd036c83956a568b82729678492eb088359d6f7e0a4f5c00776427263fcba04959b8340fefa430c39b9bce770427e - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 - languageName: node - linkType: hard - -"error-ex@npm:^1.3.1": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" - dependencies: - is-arrayish: "npm:^0.2.1" - checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce - languageName: node - linkType: hard - -"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": - version: 1.0.1 - resolution: "es-define-property@npm:1.0.1" - checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c - languageName: node - linkType: hard - -"es-errors@npm:^1.3.0": - version: 1.3.0 - resolution: "es-errors@npm:1.3.0" - checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 - languageName: node - linkType: hard - -"es-module-lexer@npm:^1.2.1": - version: 1.7.0 - resolution: "es-module-lexer@npm:1.7.0" - checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b - languageName: node - linkType: hard - -"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": - version: 1.1.1 - resolution: "es-object-atoms@npm:1.1.1" - dependencies: - es-errors: "npm:^1.3.0" - checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c - languageName: node - linkType: hard - -"esast-util-from-estree@npm:^2.0.0": - version: 2.0.0 - resolution: "esast-util-from-estree@npm:2.0.0" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - devlop: "npm:^1.0.0" - estree-util-visit: "npm:^2.0.0" - unist-util-position-from-estree: "npm:^2.0.0" - checksum: 10c0/6c619bc6963314f8f64b32e3b101b321bf121f659e62b11e70f425619c2db6f1d25f4c594a57fd00908da96c67d9bfbf876eb5172abf9e13f47a71796f6630ff - languageName: node - linkType: hard - -"esast-util-from-js@npm:^2.0.0": - version: 2.0.1 - resolution: "esast-util-from-js@npm:2.0.1" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - acorn: "npm:^8.0.0" - esast-util-from-estree: "npm:^2.0.0" - vfile-message: "npm:^4.0.0" - checksum: 10c0/3a446fb0b0d7bcd7e0157aa44b3b692802a08c93edbea81cc0f7fe4437bfdfb4b72e4563fe63b4e36d390086b71185dba4ac921f4180cc6349985c263cc74421 - languageName: node - linkType: hard - -"escalade@npm:^3.1.1, escalade@npm:^3.2.0": - version: 3.2.0 - resolution: "escalade@npm:3.2.0" - checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 - languageName: node - linkType: hard - -"escape-goat@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-goat@npm:4.0.0" - checksum: 10c0/9d2a8314e2370f2dd9436d177f6b3b1773525df8f895c8f3e1acb716f5fd6b10b336cb1cd9862d4709b36eb207dbe33664838deca9c6d55b8371be4eebb972f6 - languageName: node - linkType: hard - -"escape-html@npm:^1.0.3, escape-html@npm:~1.0.3": - version: 1.0.3 - resolution: "escape-html@npm:1.0.3" - checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^5.0.0": - version: 5.0.0 - resolution: "escape-string-regexp@npm:5.0.0" - checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95 - languageName: node - linkType: hard - -"eslint-scope@npm:5.1.1": - version: 5.1.1 - resolution: "eslint-scope@npm:5.1.1" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^4.1.1" - checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a - languageName: node - linkType: hard - -"esprima@npm:^4.0.0": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 - languageName: node - linkType: hard - -"esrecurse@npm:^4.3.0": - version: 4.3.0 - resolution: "esrecurse@npm:4.3.0" - dependencies: - estraverse: "npm:^5.2.0" - checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 - languageName: node - linkType: hard - -"estraverse@npm:^4.1.1": - version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d - languageName: node - linkType: hard - -"estraverse@npm:^5.2.0": - version: 5.3.0 - resolution: "estraverse@npm:5.3.0" - checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 - languageName: node - linkType: hard - -"estree-util-attach-comments@npm:^3.0.0": - version: 3.0.0 - resolution: "estree-util-attach-comments@npm:3.0.0" - dependencies: - "@types/estree": "npm:^1.0.0" - checksum: 10c0/ee69bb5c45e2ad074725b90ed181c1c934b29d81bce4b0c7761431e83c4c6ab1b223a6a3d6a4fbeb92128bc5d5ee201d5dd36cf1770aa5e16a40b0cf36e8a1f1 - languageName: node - linkType: hard - -"estree-util-build-jsx@npm:^3.0.0": - version: 3.0.1 - resolution: "estree-util-build-jsx@npm:3.0.1" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - devlop: "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^3.0.0" - estree-walker: "npm:^3.0.0" - checksum: 10c0/274c119817b8e7caa14a9778f1e497fea56cdd2b01df1a1ed037f843178992d3afe85e0d364d485e1e2e239255763553d1b647b15e4a7ba50851bcb43dc6bf80 - languageName: node - linkType: hard - -"estree-util-is-identifier-name@npm:^3.0.0": - version: 3.0.0 - resolution: "estree-util-is-identifier-name@npm:3.0.0" - checksum: 10c0/d1881c6ed14bd588ebd508fc90bf2a541811dbb9ca04dec2f39d27dcaa635f85b5ed9bbbe7fc6fb1ddfca68744a5f7c70456b4b7108b6c4c52780631cc787c5b - languageName: node - linkType: hard - -"estree-util-scope@npm:^1.0.0": - version: 1.0.0 - resolution: "estree-util-scope@npm:1.0.0" - dependencies: - "@types/estree": "npm:^1.0.0" - devlop: "npm:^1.0.0" - checksum: 10c0/ef8a573cc899277c613623a1722f630e2163abbc6e9e2f49e758c59b81b484e248b585df6df09a38c00fbfb6390117997cc80c1347b7a86bc1525d9e462b60d5 - languageName: node - linkType: hard - -"estree-util-to-js@npm:^2.0.0": - version: 2.0.0 - resolution: "estree-util-to-js@npm:2.0.0" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - astring: "npm:^1.8.0" - source-map: "npm:^0.7.0" - checksum: 10c0/ac88cb831401ef99e365f92f4af903755d56ae1ce0e0f0fb8ff66e678141f3d529194f0fb15f6c78cd7554c16fda36854df851d58f9e05cfab15bddf7a97cea0 - languageName: node - linkType: hard - -"estree-util-value-to-estree@npm:^3.0.1": - version: 3.4.0 - resolution: "estree-util-value-to-estree@npm:3.4.0" - dependencies: - "@types/estree": "npm:^1.0.0" - checksum: 10c0/e90e0c784b29182a3feb471589ab3c031be3ff1ab068b2b473e9ee96467f99442f2c571b2708ee3493906af5bf1a0aa9712d9f90fb113a30d99669100235ba4f - languageName: node - linkType: hard - -"estree-util-visit@npm:^2.0.0": - version: 2.0.0 - resolution: "estree-util-visit@npm:2.0.0" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/unist": "npm:^3.0.0" - checksum: 10c0/acda8b03cc8f890d79c7c7361f6c95331ba84b7ccc0c32b49f447fc30206b20002b37ffdfc97b6ad16e6fe065c63ecbae1622492e2b6b4775c15966606217f39 - languageName: node - linkType: hard - -"estree-walker@npm:^3.0.0": - version: 3.0.3 - resolution: "estree-walker@npm:3.0.3" - dependencies: - "@types/estree": "npm:^1.0.0" - checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - -"eta@npm:^2.2.0": - version: 2.2.0 - resolution: "eta@npm:2.2.0" - checksum: 10c0/643b54d9539d2761bf6c5f4f48df1a5ea2d46c7f5a5fdc47a7d4802a8aa2b6262d4d61f724452e226c18cf82db02d48e65293fcc548f26a3f9d75a5ba7c3b859 - languageName: node - linkType: hard - -"etag@npm:~1.8.1": - version: 1.8.1 - resolution: "etag@npm:1.8.1" - checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 - languageName: node - linkType: hard - -"eval@npm:^0.1.8": - version: 0.1.8 - resolution: "eval@npm:0.1.8" - dependencies: - "@types/node": "npm:*" - require-like: "npm:>= 0.1.1" - checksum: 10c0/258e700bff09e3ce3344273d5b6691b8ec5b043538d84f738f14d8b0aded33d64c00c15b380de725b1401b15f428ab35a9e7ca19a7d25f162c4f877c71586be9 - languageName: node - linkType: hard - -"eventemitter3@npm:^4.0.0": - version: 4.0.7 - resolution: "eventemitter3@npm:4.0.7" - checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b - languageName: node - linkType: hard - -"events@npm:^3.2.0": - version: 3.3.0 - resolution: "events@npm:3.3.0" - checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 - languageName: node - linkType: hard - -"execa@npm:^5.0.0": - version: 5.1.1 - resolution: "execa@npm:5.1.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.0" - human-signals: "npm:^2.1.0" - is-stream: "npm:^2.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^4.0.1" - onetime: "npm:^5.1.2" - signal-exit: "npm:^3.0.3" - strip-final-newline: "npm:^2.0.0" - checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.2 - resolution: "exponential-backoff@npm:3.1.2" - checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 - languageName: node - linkType: hard - -"express@npm:^4.17.3": - version: 4.21.2 - resolution: "express@npm:4.21.2" - dependencies: - accepts: "npm:~1.3.8" - array-flatten: "npm:1.1.1" - body-parser: "npm:1.20.3" - content-disposition: "npm:0.5.4" - content-type: "npm:~1.0.4" - cookie: "npm:0.7.1" - cookie-signature: "npm:1.0.6" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - finalhandler: "npm:1.3.1" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" - merge-descriptors: "npm:1.0.3" - methods: "npm:~1.1.2" - on-finished: "npm:2.4.1" - parseurl: "npm:~1.3.3" - path-to-regexp: "npm:0.1.12" - proxy-addr: "npm:~2.0.7" - qs: "npm:6.13.0" - range-parser: "npm:~1.2.1" - safe-buffer: "npm:5.2.1" - send: "npm:0.19.0" - serve-static: "npm:1.16.2" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - type-is: "npm:~1.6.18" - utils-merge: "npm:1.0.1" - vary: "npm:~1.1.2" - checksum: 10c0/38168fd0a32756600b56e6214afecf4fc79ec28eca7f7a91c2ab8d50df4f47562ca3f9dee412da7f5cea6b1a1544b33b40f9f8586dbacfbdada0fe90dbb10a1f - languageName: node - linkType: hard - -"extend-shallow@npm:^2.0.1": - version: 2.0.1 - resolution: "extend-shallow@npm:2.0.1" - dependencies: - is-extendable: "npm:^0.1.0" - checksum: 10c0/ee1cb0a18c9faddb42d791b2d64867bd6cfd0f3affb711782eb6e894dd193e2934a7f529426aac7c8ddb31ac5d38000a00aa2caf08aa3dfc3e1c8ff6ba340bd9 - languageName: node - linkType: hard - -"extend@npm:^3.0.0": - version: 3.0.2 - resolution: "extend@npm:3.0.2" - checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 - languageName: node - linkType: hard - -"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": - version: 3.1.3 - resolution: "fast-deep-equal@npm:3.1.3" - checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 - languageName: node - linkType: hard - -"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": - version: 3.3.3 - resolution: "fast-glob@npm:3.3.3" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.8" - checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe - languageName: node - linkType: hard - -"fast-json-stable-stringify@npm:^2.0.0": - version: 2.1.0 - resolution: "fast-json-stable-stringify@npm:2.1.0" - checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b - languageName: node - linkType: hard - -"fast-uri@npm:^3.0.1": - version: 3.0.6 - resolution: "fast-uri@npm:3.0.6" - checksum: 10c0/74a513c2af0584448aee71ce56005185f81239eab7a2343110e5bad50c39ad4fb19c5a6f99783ead1cac7ccaf3461a6034fda89fffa2b30b6d99b9f21c2f9d29 - languageName: node - linkType: hard - -"fastq@npm:^1.6.0": - version: 1.19.1 - resolution: "fastq@npm:1.19.1" - dependencies: - reusify: "npm:^1.0.4" - checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 - languageName: node - linkType: hard - -"fault@npm:^2.0.0": - version: 2.0.1 - resolution: "fault@npm:2.0.1" - dependencies: - format: "npm:^0.2.0" - checksum: 10c0/b80fbf1019b9ce8b08ee09ce86e02b028563e13a32ac3be34e42bfac00a97b96d8dee6d31e26578ffc16224eb6729e01ff1f97ddfeee00494f4f56c0aeed4bdd - languageName: node - linkType: hard - -"faye-websocket@npm:^0.11.3": - version: 0.11.4 - resolution: "faye-websocket@npm:0.11.4" - dependencies: - websocket-driver: "npm:>=0.5.1" - checksum: 10c0/c6052a0bb322778ce9f89af92890f6f4ce00d5ec92418a35e5f4c6864a4fe736fec0bcebd47eac7c0f0e979b01530746b1c85c83cb04bae789271abf19737420 - languageName: node - linkType: hard - -"fdir@npm:^6.4.4": - version: 6.4.4 - resolution: "fdir@npm:6.4.4" - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd - languageName: node - linkType: hard - -"feed@npm:^4.2.2": - version: 4.2.2 - resolution: "feed@npm:4.2.2" - dependencies: - xml-js: "npm:^1.6.11" - checksum: 10c0/c0849bde569da94493224525db00614fd1855a5d7c2e990f6e8637bd0298e85c3d329efe476cba77e711e438c3fb48af60cd5ef0c409da5bcd1f479790b0a372 - languageName: node - linkType: hard - -"figures@npm:^3.2.0": - version: 3.2.0 - resolution: "figures@npm:3.2.0" - dependencies: - escape-string-regexp: "npm:^1.0.5" - checksum: 10c0/9c421646ede432829a50bc4e55c7a4eb4bcb7cc07b5bab2f471ef1ab9a344595bbebb6c5c21470093fbb730cd81bbca119624c40473a125293f656f49cb47629 - languageName: node - linkType: hard - -"file-loader@npm:^6.2.0": - version: 6.2.0 - resolution: "file-loader@npm:6.2.0" - dependencies: - loader-utils: "npm:^2.0.0" - schema-utils: "npm:^3.0.0" - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: 10c0/e176a57c2037ab0f78e5755dbf293a6b7f0f8392350a120bd03cc2ce2525bea017458ba28fea14ca535ff1848055e86d1a3a216bdb2561ef33395b27260a1dd3 - languageName: node - linkType: hard - -"filesize@npm:^8.0.6": - version: 8.0.7 - resolution: "filesize@npm:8.0.7" - checksum: 10c0/82072d94816484df5365d4d5acbb2327a65dc49704c64e403e8c40d8acb7364de1cf1e65cb512c77a15d353870f73e4fed46dad5c6153d0618d9ce7a64d09cfc - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 - languageName: node - linkType: hard - -"finalhandler@npm:1.3.1": - version: 1.3.1 - resolution: "finalhandler@npm:1.3.1" - dependencies: - debug: "npm:2.6.9" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - on-finished: "npm:2.4.1" - parseurl: "npm:~1.3.3" - statuses: "npm:2.0.1" - unpipe: "npm:~1.0.0" - checksum: 10c0/d38035831865a49b5610206a3a9a9aae4e8523cbbcd01175d0480ffbf1278c47f11d89be3ca7f617ae6d94f29cf797546a4619cd84dd109009ef33f12f69019f - languageName: node - linkType: hard - -"find-cache-dir@npm:^4.0.0": - version: 4.0.0 - resolution: "find-cache-dir@npm:4.0.0" - dependencies: - common-path-prefix: "npm:^3.0.0" - pkg-dir: "npm:^7.0.0" - checksum: 10c0/0faa7956974726c8769671de696d24c643ca1e5b8f7a2401283caa9e07a5da093293e0a0f4bd18c920ec981d2ef945c7f5b946cde268dfc9077d833ad0293cff - languageName: node - linkType: hard - -"find-up@npm:^3.0.0": - version: 3.0.0 - resolution: "find-up@npm:3.0.0" - dependencies: - locate-path: "npm:^3.0.0" - checksum: 10c0/2c2e7d0a26db858e2f624f39038c74739e38306dee42b45f404f770db357947be9d0d587f1cac72d20c114deb38aa57316e879eb0a78b17b46da7dab0a3bd6e3 - languageName: node - linkType: hard - -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - -"find-up@npm:^6.3.0": - version: 6.3.0 - resolution: "find-up@npm:6.3.0" - dependencies: - locate-path: "npm:^7.1.0" - path-exists: "npm:^5.0.0" - checksum: 10c0/07e0314362d316b2b13f7f11ea4692d5191e718ca3f7264110127520f3347996349bf9e16805abae3e196805814bc66ef4bff2b8904dc4a6476085fc9b0eba07 - languageName: node - linkType: hard - -"flat@npm:^5.0.2": - version: 5.0.2 - resolution: "flat@npm:5.0.2" - bin: - flat: cli.js - checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe - languageName: node - linkType: hard - -"follow-redirects@npm:^1.0.0": - version: 1.15.9 - resolution: "follow-redirects@npm:1.15.9" - peerDependenciesMeta: - debug: - optional: true - checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f - languageName: node - linkType: hard - -"foreground-child@npm:^3.1.0": - version: 3.3.1 - resolution: "foreground-child@npm:3.3.1" - dependencies: - cross-spawn: "npm:^7.0.6" - signal-exit: "npm:^4.0.1" - checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 - languageName: node - linkType: hard - -"fork-ts-checker-webpack-plugin@npm:^6.5.0": - version: 6.5.3 - resolution: "fork-ts-checker-webpack-plugin@npm:6.5.3" - dependencies: - "@babel/code-frame": "npm:^7.8.3" - "@types/json-schema": "npm:^7.0.5" - chalk: "npm:^4.1.0" - chokidar: "npm:^3.4.2" - cosmiconfig: "npm:^6.0.0" - deepmerge: "npm:^4.2.2" - fs-extra: "npm:^9.0.0" - glob: "npm:^7.1.6" - memfs: "npm:^3.1.2" - minimatch: "npm:^3.0.4" - schema-utils: "npm:2.7.0" - semver: "npm:^7.3.2" - tapable: "npm:^1.0.0" - peerDependencies: - eslint: ">= 6" - typescript: ">= 2.7" - vue-template-compiler: "*" - webpack: ">= 4" - peerDependenciesMeta: - eslint: - optional: true - vue-template-compiler: - optional: true - checksum: 10c0/0885ea75474de011d4068ca3e2d3ca6e4cd318f5cfa018e28ff8fef23ef3a1f1c130160ef192d3e5d31ef7b6fe9f8fb1d920eab5e9e449fb30ce5cc96647245c - languageName: node - linkType: hard - -"form-data-encoder@npm:^2.1.2": - version: 2.1.4 - resolution: "form-data-encoder@npm:2.1.4" - checksum: 10c0/4c06ae2b79ad693a59938dc49ebd020ecb58e4584860a90a230f80a68b026483b022ba5e4143cff06ae5ac8fd446a0b500fabc87bbac3d1f62f2757f8dabcaf7 - languageName: node - linkType: hard - -"format@npm:^0.2.0": - version: 0.2.2 - resolution: "format@npm:0.2.2" - checksum: 10c0/6032ba747541a43abf3e37b402b2f72ee08ebcb58bf84d816443dd228959837f1cddf1e8775b29fa27ff133f4bd146d041bfca5f9cf27f048edf3d493cf8fee6 - languageName: node - linkType: hard - -"forwarded@npm:0.2.0": - version: 0.2.0 - resolution: "forwarded@npm:0.2.0" - checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 - languageName: node - linkType: hard - -"fraction.js@npm:^4.3.7": - version: 4.3.7 - resolution: "fraction.js@npm:4.3.7" - checksum: 10c0/df291391beea9ab4c263487ffd9d17fed162dbb736982dee1379b2a8cc94e4e24e46ed508c6d278aded9080ba51872f1bc5f3a5fd8d7c74e5f105b508ac28711 - languageName: node - linkType: hard - -"fresh@npm:0.5.2": - version: 0.5.2 - resolution: "fresh@npm:0.5.2" - checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a - languageName: node - linkType: hard - -"fs-extra@npm:^11.1.1, fs-extra@npm:^11.2.0": - version: 11.3.0 - resolution: "fs-extra@npm:11.3.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/5f95e996186ff45463059feb115a22fb048bdaf7e487ecee8a8646c78ed8fdca63630e3077d4c16ce677051f5e60d3355a06f3cd61f3ca43f48cc58822a44d0a - languageName: node - linkType: hard - -"fs-extra@npm:^9.0.0": - version: 9.1.0 - resolution: "fs-extra@npm:9.1.0" - dependencies: - at-least-node: "npm:^1.0.0" - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - -"fs-monkey@npm:^1.0.4": - version: 1.0.6 - resolution: "fs-monkey@npm:1.0.6" - checksum: 10c0/6f2508e792a47e37b7eabd5afc79459c1ea72bce2a46007d2b7ed0bfc3a4d64af38975c6eb7e93edb69ac98bbb907c13ff1b1579b2cf52d3d02dbc0303fca79f - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fsevents@npm:~2.3.2": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin - languageName: node - linkType: hard - -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 - languageName: node - linkType: hard - -"gensync@npm:^1.0.0-beta.2": - version: 1.0.0-beta.2 - resolution: "gensync@npm:1.0.0-beta.2" - checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.3.0": - version: 1.3.0 - resolution: "get-intrinsic@npm:1.3.0" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - es-define-property: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.1.1" - function-bind: "npm:^1.1.2" - get-proto: "npm:^1.0.1" - gopd: "npm:^1.2.0" - has-symbols: "npm:^1.1.0" - hasown: "npm:^2.0.2" - math-intrinsics: "npm:^1.1.0" - checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a - languageName: node - linkType: hard - -"get-own-enumerable-property-symbols@npm:^3.0.0": - version: 3.0.2 - resolution: "get-own-enumerable-property-symbols@npm:3.0.2" - checksum: 10c0/103999855f3d1718c631472437161d76962cbddcd95cc642a34c07bfb661ed41b6c09a9c669ccdff89ee965beb7126b80eec7b2101e20e31e9cc6c4725305e10 - languageName: node - linkType: hard - -"get-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "get-proto@npm:1.0.1" - dependencies: - dunder-proto: "npm:^1.0.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c - languageName: node - linkType: hard - -"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 - languageName: node - linkType: hard - -"github-slugger@npm:^1.5.0": - version: 1.5.0 - resolution: "github-slugger@npm:1.5.0" - checksum: 10c0/116f99732925f939cbfd6f2e57db1aa7e111a460db0d103e3b3f2fce6909d44311663d4542350706cad806345b9892358cc3b153674f88eeae77f43380b3bfca - languageName: node - linkType: hard - -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob-parent@npm:^6.0.1": - version: 6.0.2 - resolution: "glob-parent@npm:6.0.2" - dependencies: - is-glob: "npm:^4.0.3" - checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 - languageName: node - linkType: hard - -"glob-to-regexp@npm:^0.4.1": - version: 0.4.1 - resolution: "glob-to-regexp@npm:0.4.1" - checksum: 10c0/0486925072d7a916f052842772b61c3e86247f0a80cc0deb9b5a3e8a1a9faad5b04fb6f58986a09f34d3e96cd2a22a24b7e9882fb1cf904c31e9a310de96c429 - languageName: node - linkType: hard - -"glob@npm:^10.2.2": - version: 10.4.5 - resolution: "glob@npm:10.4.5" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.4" - minipass: "npm:^7.1.2" - package-json-from-dist: "npm:^1.0.0" - path-scurry: "npm:^1.11.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e - languageName: node - linkType: hard - -"glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.6": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - -"global-dirs@npm:^3.0.0": - version: 3.0.1 - resolution: "global-dirs@npm:3.0.1" - dependencies: - ini: "npm:2.0.0" - checksum: 10c0/ef65e2241a47ff978f7006a641302bc7f4c03dfb98783d42bf7224c136e3a06df046e70ee3a010cf30214114755e46c9eb5eb1513838812fbbe0d92b14c25080 - languageName: node - linkType: hard - -"global-modules@npm:^2.0.0": - version: 2.0.0 - resolution: "global-modules@npm:2.0.0" - dependencies: - global-prefix: "npm:^3.0.0" - checksum: 10c0/43b770fe24aa6028f4b9770ea583a47f39750be15cf6e2578f851e4ccc9e4fa674b8541928c0b09c21461ca0763f0d36e4068cec86c914b07fd6e388e66ba5b9 - languageName: node - linkType: hard - -"global-prefix@npm:^3.0.0": - version: 3.0.0 - resolution: "global-prefix@npm:3.0.0" - dependencies: - ini: "npm:^1.3.5" - kind-of: "npm:^6.0.2" - which: "npm:^1.3.1" - checksum: 10c0/510f489fb68d1cc7060f276541709a0ee6d41356ef852de48f7906c648ac223082a1cc8fce86725ca6c0e032bcdc1189ae77b4744a624b29c34a9d0ece498269 - languageName: node - linkType: hard - -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 - languageName: node - linkType: hard - -"globby@npm:^11.0.1, globby@npm:^11.0.4, globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - -"globby@npm:^13.1.1": - version: 13.2.2 - resolution: "globby@npm:13.2.2" - dependencies: - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.3.0" - ignore: "npm:^5.2.4" - merge2: "npm:^1.4.1" - slash: "npm:^4.0.0" - checksum: 10c0/a8d7cc7cbe5e1b2d0f81d467bbc5bc2eac35f74eaded3a6c85fc26d7acc8e6de22d396159db8a2fc340b8a342e74cac58de8f4aee74146d3d146921a76062664 - languageName: node - linkType: hard - -"gopd@npm:^1.0.1, gopd@npm:^1.2.0": - version: 1.2.0 - resolution: "gopd@npm:1.2.0" - checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead - languageName: node - linkType: hard - -"got@npm:^12.1.0": - version: 12.6.1 - resolution: "got@npm:12.6.1" - dependencies: - "@sindresorhus/is": "npm:^5.2.0" - "@szmarczak/http-timer": "npm:^5.0.1" - cacheable-lookup: "npm:^7.0.0" - cacheable-request: "npm:^10.2.8" - decompress-response: "npm:^6.0.0" - form-data-encoder: "npm:^2.1.2" - get-stream: "npm:^6.0.1" - http2-wrapper: "npm:^2.1.10" - lowercase-keys: "npm:^3.0.0" - p-cancelable: "npm:^3.0.0" - responselike: "npm:^3.0.0" - checksum: 10c0/2fe97fcbd7a9ffc7c2d0ecf59aca0a0562e73a7749cadada9770eeb18efbdca3086262625fb65590594edc220a1eca58fab0d26b0c93c2f9a008234da71ca66b - languageName: node - linkType: hard - -"graceful-fs@npm:4.2.10": - version: 4.2.10 - resolution: "graceful-fs@npm:4.2.10" - checksum: 10c0/4223a833e38e1d0d2aea630c2433cfb94ddc07dfc11d511dbd6be1d16688c5be848acc31f9a5d0d0ddbfb56d2ee5a6ae0278aceeb0ca6a13f27e06b9956fb952 - languageName: node - linkType: hard - -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"gray-matter@npm:^4.0.3": - version: 4.0.3 - resolution: "gray-matter@npm:4.0.3" - dependencies: - js-yaml: "npm:^3.13.1" - kind-of: "npm:^6.0.2" - section-matter: "npm:^1.0.0" - strip-bom-string: "npm:^1.0.0" - checksum: 10c0/e38489906dad4f162ca01e0dcbdbed96d1a53740cef446b9bf76d80bec66fa799af07776a18077aee642346c5e1365ed95e4c91854a12bf40ba0d4fb43a625a6 - languageName: node - linkType: hard - -"gzip-size@npm:^6.0.0": - version: 6.0.0 - resolution: "gzip-size@npm:6.0.0" - dependencies: - duplexer: "npm:^0.1.2" - checksum: 10c0/4ccb924626c82125897a997d1c84f2377846a6ef57fbee38f7c0e6b41387fba4d00422274440747b58008b5d60114bac2349c2908e9aba55188345281af40a3f - languageName: node - linkType: hard - -"handle-thing@npm:^2.0.0": - version: 2.0.1 - resolution: "handle-thing@npm:2.0.1" - checksum: 10c0/7ae34ba286a3434f1993ebd1cc9c9e6b6d8ea672182db28b1afc0a7119229552fa7031e3e5f3cd32a76430ece4e94b7da6f12af2eb39d6239a7693e4bd63a998 - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": - version: 1.0.2 - resolution: "has-property-descriptors@npm:1.0.2" - dependencies: - es-define-property: "npm:^1.0.0" - checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 - languageName: node - linkType: hard - -"has-symbols@npm:^1.1.0": - version: 1.1.0 - resolution: "has-symbols@npm:1.1.0" - checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e - languageName: node - linkType: hard - -"has-yarn@npm:^3.0.0": - version: 3.0.0 - resolution: "has-yarn@npm:3.0.0" - checksum: 10c0/38c76618cb764e4a98ea114a3938e0bed6ceafb6bacab2ffb32e7c7d1e18b5e09cd03387d507ee87072388e1f20b1f80947fee62c41fc450edfbbdc02a665787 - languageName: node - linkType: hard - -"hasown@npm:^2.0.2": - version: 2.0.2 - resolution: "hasown@npm:2.0.2" - dependencies: - function-bind: "npm:^1.1.2" - checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 - languageName: node - linkType: hard - -"hast-util-definition-list@npm:^2.0.0": - version: 2.1.0 - resolution: "hast-util-definition-list@npm:2.1.0" - dependencies: - "@types/hast": "npm:^3.0.4" - "@types/mdast": "npm:^4.0.3" - "@types/unist": "npm:^3.0.2" - hast-util-to-mdast: "npm:^10.1.0" - mdast-util-definition-list: "npm:^2.0.0" - mdast-util-phrasing: "npm:^4.1.0" - checksum: 10c0/a81c420d4988c375be744c34c504e61dc0bd107d69a9df4ad81dcb677d3c9963d2e5667156760f74e7ada4cef2af0fd73c8ed92e91f2f664c2f1c67b1025cea3 - languageName: node - linkType: hard - -"hast-util-embedded@npm:^3.0.0": - version: 3.0.0 - resolution: "hast-util-embedded@npm:3.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - hast-util-is-element: "npm:^3.0.0" - checksum: 10c0/054c3d3b96fcd5c1d1c6f8d38ce1f7f33022ba6362129a022673d0b539f876acdcababbb9df29812fb927294f98ef7a2f44519a80d637fe3eea1819c9e69eeac - languageName: node - linkType: hard - -"hast-util-from-dom@npm:^5.0.0": - version: 5.0.1 - resolution: "hast-util-from-dom@npm:5.0.1" - dependencies: - "@types/hast": "npm:^3.0.0" - hastscript: "npm:^9.0.0" - web-namespaces: "npm:^2.0.0" - checksum: 10c0/9a90381e048107a093a3da758bb17b67aaf5322e222f02497f841c4990abf94aa177d38d5b9bf61ad07b3601d0409f34f5b556d89578cc189230c6b994d2af77 - languageName: node - linkType: hard - -"hast-util-from-html-isomorphic@npm:^2.0.0": - version: 2.0.0 - resolution: "hast-util-from-html-isomorphic@npm:2.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - hast-util-from-dom: "npm:^5.0.0" - hast-util-from-html: "npm:^2.0.0" - unist-util-remove-position: "npm:^5.0.0" - checksum: 10c0/fc68d9245e794483a802d5c85a9f6c25959e00db78cc796411efc965134f3206f9cc9fa38134572ea781ad74663e801f1f83202007b208e27a770855566a62b6 - languageName: node - linkType: hard - -"hast-util-from-html@npm:^2.0.0": - version: 2.0.3 - resolution: "hast-util-from-html@npm:2.0.3" - dependencies: - "@types/hast": "npm:^3.0.0" - devlop: "npm:^1.1.0" - hast-util-from-parse5: "npm:^8.0.0" - parse5: "npm:^7.0.0" - vfile: "npm:^6.0.0" - vfile-message: "npm:^4.0.0" - checksum: 10c0/993ef707c1a12474c8d4094fc9706a72826c660a7e308ea54c50ad893353d32e139b7cbc67510c2e82feac572b320e3b05aeb13d0f9c6302d61261f337b46764 - languageName: node - linkType: hard - -"hast-util-from-parse5@npm:^8.0.0": - version: 8.0.3 - resolution: "hast-util-from-parse5@npm:8.0.3" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/unist": "npm:^3.0.0" - devlop: "npm:^1.0.0" - hastscript: "npm:^9.0.0" - property-information: "npm:^7.0.0" - vfile: "npm:^6.0.0" - vfile-location: "npm:^5.0.0" - web-namespaces: "npm:^2.0.0" - checksum: 10c0/40ace6c0ad43c26f721c7499fe408e639cde917b2350c9299635e6326559855896dae3c3ebf7440df54766b96c4276a7823e8f376a2b6a28b37b591f03412545 - languageName: node - linkType: hard - -"hast-util-has-property@npm:^3.0.0": - version: 3.0.0 - resolution: "hast-util-has-property@npm:3.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - checksum: 10c0/6e2c0e22ca893c6ebb60f8390e184c4deb041c36d09796756f02cd121c1789c0f5c862ed06caea8f1a80ea8c0ef6a7854dd57946c2eebb76488727bd4a1c952e - languageName: node - linkType: hard - -"hast-util-is-body-ok-link@npm:^3.0.0": - version: 3.0.1 - resolution: "hast-util-is-body-ok-link@npm:3.0.1" - dependencies: - "@types/hast": "npm:^3.0.0" - checksum: 10c0/c320cbd9a9a834b007a6f2f8c271e98b8331c0193adf06e0a7c5ea0acae664e97ce28eb4436e0658bc5cdb8f47390ec1c6cba7c4fe1ded10951fcdd1432f60bf - languageName: node - linkType: hard - -"hast-util-is-element@npm:1.1.0": - version: 1.1.0 - resolution: "hast-util-is-element@npm:1.1.0" - checksum: 10c0/9f95b1e356af3d891a293c1e63560480cb9c2aa33c14e0da3abfaf76aa3f2de8e178643f8459b10e1e2d11a0bc4553c628b57e5afa607791073b61d456f77926 - languageName: node - linkType: hard - -"hast-util-is-element@npm:^3.0.0": - version: 3.0.0 - resolution: "hast-util-is-element@npm:3.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - checksum: 10c0/f5361e4c9859c587ca8eb0d8343492f3077ccaa0f58a44cd09f35d5038f94d65152288dcd0c19336ef2c9491ec4d4e45fde2176b05293437021570aa0bc3613b - languageName: node - linkType: hard - -"hast-util-minify-whitespace@npm:^1.0.0": - version: 1.0.1 - resolution: "hast-util-minify-whitespace@npm:1.0.1" - dependencies: - "@types/hast": "npm:^3.0.0" - hast-util-embedded: "npm:^3.0.0" - hast-util-is-element: "npm:^3.0.0" - hast-util-whitespace: "npm:^3.0.0" - unist-util-is: "npm:^6.0.0" - checksum: 10c0/20a7d64947e080463084f444ad09c7f28c40e7648ca2d9c6c036e42a67f8e945d352560ff599304c988257c1e477abcf6a1f508c0900211fa58ec1ba21b36533 - languageName: node - linkType: hard - -"hast-util-parse-selector@npm:^4.0.0": - version: 4.0.0 - resolution: "hast-util-parse-selector@npm:4.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - checksum: 10c0/5e98168cb44470dc274aabf1a28317e4feb09b1eaf7a48bbaa8c1de1b43a89cd195cb1284e535698e658e3ec26ad91bc5e52c9563c36feb75abbc68aaf68fb9f - languageName: node - linkType: hard - -"hast-util-phrasing@npm:^3.0.0": - version: 3.0.1 - resolution: "hast-util-phrasing@npm:3.0.1" - dependencies: - "@types/hast": "npm:^3.0.0" - hast-util-embedded: "npm:^3.0.0" - hast-util-has-property: "npm:^3.0.0" - hast-util-is-body-ok-link: "npm:^3.0.0" - hast-util-is-element: "npm:^3.0.0" - checksum: 10c0/d77e186ea3d7d62f6db9c4a55c3e6d9f1f6affd5f40250e8de9d73f167ae19fcc02fafe1601dfbe36e90f76ed5013ac004f0b6b398aee3a04a7a81de12788600 - languageName: node - linkType: hard - -"hast-util-raw@npm:^9.0.0": - version: 9.1.0 - resolution: "hast-util-raw@npm:9.1.0" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/unist": "npm:^3.0.0" - "@ungap/structured-clone": "npm:^1.0.0" - hast-util-from-parse5: "npm:^8.0.0" - hast-util-to-parse5: "npm:^8.0.0" - html-void-elements: "npm:^3.0.0" - mdast-util-to-hast: "npm:^13.0.0" - parse5: "npm:^7.0.0" - unist-util-position: "npm:^5.0.0" - unist-util-visit: "npm:^5.0.0" - vfile: "npm:^6.0.0" - web-namespaces: "npm:^2.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/d0d909d2aedecef6a06f0005cfae410d6475e6e182d768bde30c3af9fcbbe4f9beb0522bdc21d0679cb3c243c0df40385797ed255148d68b3d3f12e82d12aacc - languageName: node - linkType: hard - -"hast-util-to-estree@npm:^3.0.0": - version: 3.1.3 - resolution: "hast-util-to-estree@npm:3.1.3" - dependencies: - "@types/estree": "npm:^1.0.0" - "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^3.0.0" - comma-separated-tokens: "npm:^2.0.0" - devlop: "npm:^1.0.0" - estree-util-attach-comments: "npm:^3.0.0" - estree-util-is-identifier-name: "npm:^3.0.0" - hast-util-whitespace: "npm:^3.0.0" - mdast-util-mdx-expression: "npm:^2.0.0" - mdast-util-mdx-jsx: "npm:^3.0.0" - mdast-util-mdxjs-esm: "npm:^2.0.0" - property-information: "npm:^7.0.0" - space-separated-tokens: "npm:^2.0.0" - style-to-js: "npm:^1.0.0" - unist-util-position: "npm:^5.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/8e86c075319082c8a6304c5bcdf24ec02466074571e993f58bfa2cfd70850ef46d33b5c402208597a87fe0f02f1e620bda5958217efb1b7396c81c486373b75f - languageName: node - linkType: hard - -"hast-util-to-html@npm:^9.0.0": - version: 9.0.5 - resolution: "hast-util-to-html@npm:9.0.5" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/unist": "npm:^3.0.0" - ccount: "npm:^2.0.0" - comma-separated-tokens: "npm:^2.0.0" - hast-util-whitespace: "npm:^3.0.0" - html-void-elements: "npm:^3.0.0" - mdast-util-to-hast: "npm:^13.0.0" - property-information: "npm:^7.0.0" - space-separated-tokens: "npm:^2.0.0" - stringify-entities: "npm:^4.0.0" - zwitch: "npm:^2.0.4" - checksum: 10c0/b7a08c30bab4371fc9b4a620965c40b270e5ae7a8e94cf885f43b21705179e28c8e43b39c72885d1647965fb3738654e6962eb8b58b0c2a84271655b4d748836 - languageName: node - linkType: hard - -"hast-util-to-jsx-runtime@npm:^2.0.0": - version: 2.3.6 - resolution: "hast-util-to-jsx-runtime@npm:2.3.6" - dependencies: - "@types/estree": "npm:^1.0.0" - "@types/hast": "npm:^3.0.0" - "@types/unist": "npm:^3.0.0" - comma-separated-tokens: "npm:^2.0.0" - devlop: "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^3.0.0" - hast-util-whitespace: "npm:^3.0.0" - mdast-util-mdx-expression: "npm:^2.0.0" - mdast-util-mdx-jsx: "npm:^3.0.0" - mdast-util-mdxjs-esm: "npm:^2.0.0" - property-information: "npm:^7.0.0" - space-separated-tokens: "npm:^2.0.0" - style-to-js: "npm:^1.0.0" - unist-util-position: "npm:^5.0.0" - vfile-message: "npm:^4.0.0" - checksum: 10c0/27297e02848fe37ef219be04a26ce708d17278a175a807689e94a821dcffc88aa506d62c3a85beed1f9a8544f7211bdcbcde0528b7b456a57c2e342c3fd11056 - languageName: node - linkType: hard - -"hast-util-to-mdast@npm:^10.1.0": - version: 10.1.2 - resolution: "hast-util-to-mdast@npm:10.1.2" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - "@ungap/structured-clone": "npm:^1.0.0" - hast-util-phrasing: "npm:^3.0.0" - hast-util-to-html: "npm:^9.0.0" - hast-util-to-text: "npm:^4.0.0" - hast-util-whitespace: "npm:^3.0.0" - mdast-util-phrasing: "npm:^4.0.0" - mdast-util-to-hast: "npm:^13.0.0" - mdast-util-to-string: "npm:^4.0.0" - rehype-minify-whitespace: "npm:^6.0.0" - trim-trailing-lines: "npm:^2.0.0" - unist-util-position: "npm:^5.0.0" - unist-util-visit: "npm:^5.0.0" - checksum: 10c0/2edd4521b147734078d66e03cd43c571a0a3aeefd3fcc34659c783b25e9222ddb5c8c759b12a86ebc70a25b3888505dc59b913ff36ae17cca04d52050592a963 - languageName: node - linkType: hard - -"hast-util-to-parse5@npm:^8.0.0": - version: 8.0.0 - resolution: "hast-util-to-parse5@npm:8.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - comma-separated-tokens: "npm:^2.0.0" - devlop: "npm:^1.0.0" - property-information: "npm:^6.0.0" - space-separated-tokens: "npm:^2.0.0" - web-namespaces: "npm:^2.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/3c0c7fba026e0c4be4675daf7277f9ff22ae6da801435f1b7104f7740de5422576f1c025023c7b3df1d0a161e13a04c6ab8f98ada96eb50adb287b537849a2bd - languageName: node - linkType: hard - -"hast-util-to-text@npm:^4.0.0": - version: 4.0.2 - resolution: "hast-util-to-text@npm:4.0.2" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/unist": "npm:^3.0.0" - hast-util-is-element: "npm:^3.0.0" - unist-util-find-after: "npm:^5.0.0" - checksum: 10c0/93ecc10e68fe5391c6e634140eb330942e71dea2724c8e0c647c73ed74a8ec930a4b77043b5081284808c96f73f2bee64ee416038ece75a63a467e8d14f09946 - languageName: node - linkType: hard - -"hast-util-whitespace@npm:^3.0.0": - version: 3.0.0 - resolution: "hast-util-whitespace@npm:3.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - checksum: 10c0/b898bc9fe27884b272580d15260b6bbdabe239973a147e97fa98c45fa0ffec967a481aaa42291ec34fb56530dc2d484d473d7e2bae79f39c83f3762307edfea8 - languageName: node - linkType: hard - -"hastscript@npm:^9.0.0": - version: 9.0.1 - resolution: "hastscript@npm:9.0.1" - dependencies: - "@types/hast": "npm:^3.0.0" - comma-separated-tokens: "npm:^2.0.0" - hast-util-parse-selector: "npm:^4.0.0" - property-information: "npm:^7.0.0" - space-separated-tokens: "npm:^2.0.0" - checksum: 10c0/18dc8064e5c3a7a2ae862978e626b97a254e1c8a67ee9d0c9f06d373bba155ed805fc5b5ce21b990fb7bc174624889e5e1ce1cade264f1b1d58b48f994bc85ce - languageName: node - linkType: hard - -"he@npm:^1.2.0": - version: 1.2.0 - resolution: "he@npm:1.2.0" - bin: - he: bin/he - checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 - languageName: node - linkType: hard - -"history@npm:^4.9.0": - version: 4.10.1 - resolution: "history@npm:4.10.1" - dependencies: - "@babel/runtime": "npm:^7.1.2" - loose-envify: "npm:^1.2.0" - resolve-pathname: "npm:^3.0.0" - tiny-invariant: "npm:^1.0.2" - tiny-warning: "npm:^1.0.0" - value-equal: "npm:^1.0.1" - checksum: 10c0/35377694e4f10f2cf056a9cb1a8ee083e04e4b4717a63baeee4afd565658a62c7e73700bf9e82aa53dbe1ec94e0a25a83c080d63bad8ee6b274a98d2fbc5ed4c - languageName: node - linkType: hard - -"hoist-non-react-statics@npm:^3.1.0": - version: 3.3.2 - resolution: "hoist-non-react-statics@npm:3.3.2" - dependencies: - react-is: "npm:^16.7.0" - checksum: 10c0/fe0889169e845d738b59b64badf5e55fa3cf20454f9203d1eb088df322d49d4318df774828e789898dcb280e8a5521bb59b3203385662ca5e9218a6ca5820e74 - languageName: node - linkType: hard - -"hpack.js@npm:^2.1.6": - version: 2.1.6 - resolution: "hpack.js@npm:2.1.6" - dependencies: - inherits: "npm:^2.0.1" - obuf: "npm:^1.0.0" - readable-stream: "npm:^2.0.1" - wbuf: "npm:^1.1.0" - checksum: 10c0/55b9e824430bab82a19d079cb6e33042d7d0640325678c9917fcc020c61d8a08ca671b6c942c7f0aae9bb6e4b67ffb50734a72f9e21d66407c3138c1983b70f0 - languageName: node - linkType: hard - -"html-entities@npm:^2.3.2": - version: 2.6.0 - resolution: "html-entities@npm:2.6.0" - checksum: 10c0/7c8b15d9ea0cd00dc9279f61bab002ba6ca8a7a0f3c36ed2db3530a67a9621c017830d1d2c1c65beb9b8e3436ea663e9cf8b230472e0e413359399413b27c8b7 - languageName: node - linkType: hard - -"html-escaper@npm:^2.0.2": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 - languageName: node - linkType: hard - -"html-minifier-terser@npm:^6.0.2": - version: 6.1.0 - resolution: "html-minifier-terser@npm:6.1.0" - dependencies: - camel-case: "npm:^4.1.2" - clean-css: "npm:^5.2.2" - commander: "npm:^8.3.0" - he: "npm:^1.2.0" - param-case: "npm:^3.0.4" - relateurl: "npm:^0.2.7" - terser: "npm:^5.10.0" - bin: - html-minifier-terser: cli.js - checksum: 10c0/1aa4e4f01cf7149e3ac5ea84fb7a1adab86da40d38d77a6fff42852b5ee3daccb78b615df97264e3a6a5c33e57f0c77f471d607ca1e1debd1dab9b58286f4b5a - languageName: node - linkType: hard - -"html-minifier-terser@npm:^7.2.0": - version: 7.2.0 - resolution: "html-minifier-terser@npm:7.2.0" - dependencies: - camel-case: "npm:^4.1.2" - clean-css: "npm:~5.3.2" - commander: "npm:^10.0.0" - entities: "npm:^4.4.0" - param-case: "npm:^3.0.4" - relateurl: "npm:^0.2.7" - terser: "npm:^5.15.1" - bin: - html-minifier-terser: cli.js - checksum: 10c0/ffc97c17299d9ec30e17269781b816ea2fc411a9206fc9e768be8f2decb1ea1470892809babb23bb4e3ab1f64d606d97e1803bf526ae3af71edc0fd3070b94b9 - languageName: node - linkType: hard - -"html-tags@npm:^3.3.1": - version: 3.3.1 - resolution: "html-tags@npm:3.3.1" - checksum: 10c0/680165e12baa51bad7397452d247dbcc5a5c29dac0e6754b1187eee3bf26f514bc1907a431dd2f7eb56207611ae595ee76a0acc8eaa0d931e72c791dd6463d79 - languageName: node - linkType: hard - -"html-void-elements@npm:^3.0.0": - version: 3.0.0 - resolution: "html-void-elements@npm:3.0.0" - checksum: 10c0/a8b9ec5db23b7c8053876dad73a0336183e6162bf6d2677376d8b38d654fdc59ba74fdd12f8812688f7db6fad451210c91b300e472afc0909224e0a44c8610d2 - languageName: node - linkType: hard - -"html-webpack-plugin@npm:^5.6.0": - version: 5.6.3 - resolution: "html-webpack-plugin@npm:5.6.3" - dependencies: - "@types/html-minifier-terser": "npm:^6.0.0" - html-minifier-terser: "npm:^6.0.2" - lodash: "npm:^4.17.21" - pretty-error: "npm:^4.0.0" - tapable: "npm:^2.0.0" - peerDependencies: - "@rspack/core": 0.x || 1.x - webpack: ^5.20.0 - peerDependenciesMeta: - "@rspack/core": - optional: true - webpack: - optional: true - checksum: 10c0/25a21f83a8823d3711396dd8050bc0080c0ae55537352d432903eff58a7d9838fc811e3c26462419036190720357e67c7977efd106fb9a252770632824f0cc25 - languageName: node - linkType: hard - -"htmlparser2@npm:^6.1.0": - version: 6.1.0 - resolution: "htmlparser2@npm:6.1.0" - dependencies: - domelementtype: "npm:^2.0.1" - domhandler: "npm:^4.0.0" - domutils: "npm:^2.5.2" - entities: "npm:^2.0.0" - checksum: 10c0/3058499c95634f04dc66be8c2e0927cd86799413b2d6989d8ae542ca4dbf5fa948695d02c27d573acf44843af977aec6d9a7bdd0f6faa6b2d99e2a729b2a31b6 - languageName: node - linkType: hard - -"htmlparser2@npm:^8.0.1": - version: 8.0.2 - resolution: "htmlparser2@npm:8.0.2" - dependencies: - domelementtype: "npm:^2.3.0" - domhandler: "npm:^5.0.3" - domutils: "npm:^3.0.1" - entities: "npm:^4.4.0" - checksum: 10c0/609cca85886d0bf2c9a5db8c6926a89f3764596877492e2caa7a25a789af4065bc6ee2cdc81807fe6b1d03a87bf8a373b5a754528a4cc05146b713c20575aab4 - languageName: node - linkType: hard - -"http-cache-semantics@npm:^4.1.1": - version: 4.2.0 - resolution: "http-cache-semantics@npm:4.2.0" - checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 - languageName: node - linkType: hard - -"http-deceiver@npm:^1.2.7": - version: 1.2.7 - resolution: "http-deceiver@npm:1.2.7" - checksum: 10c0/8bb9b716f5fc55f54a451da7f49b9c695c3e45498a789634daec26b61e4add7c85613a4a9e53726c39d09de7a163891ecd6eb5809adb64500a840fd86fe81d03 - languageName: node - linkType: hard - -"http-errors@npm:2.0.0": - version: 2.0.0 - resolution: "http-errors@npm:2.0.0" - dependencies: - depd: "npm:2.0.0" - inherits: "npm:2.0.4" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - toidentifier: "npm:1.0.1" - checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 - languageName: node - linkType: hard - -"http-errors@npm:~1.6.2": - version: 1.6.3 - resolution: "http-errors@npm:1.6.3" - dependencies: - depd: "npm:~1.1.2" - inherits: "npm:2.0.3" - setprototypeof: "npm:1.1.0" - statuses: "npm:>= 1.4.0 < 2" - checksum: 10c0/17ec4046ee974477778bfdd525936c254b872054703ec2caa4d6f099566b8adade636ae6aeeacb39302c5cd6e28fb407ebd937f500f5010d0b6850750414ff78 - languageName: node - linkType: hard - -"http-parser-js@npm:>=0.5.1": - version: 0.5.10 - resolution: "http-parser-js@npm:0.5.10" - checksum: 10c0/8bbcf1832a8d70b2bd515270112116333add88738a2cc05bfb94ba6bde3be4b33efee5611584113818d2bcf654fdc335b652503be5a6b4c0b95e46f214187d93 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": - version: 7.0.2 - resolution: "http-proxy-agent@npm:7.0.2" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 - languageName: node - linkType: hard - -"http-proxy-middleware@npm:^2.0.3": - version: 2.0.9 - resolution: "http-proxy-middleware@npm:2.0.9" - dependencies: - "@types/http-proxy": "npm:^1.17.8" - http-proxy: "npm:^1.18.1" - is-glob: "npm:^4.0.1" - is-plain-obj: "npm:^3.0.0" - micromatch: "npm:^4.0.2" - peerDependencies: - "@types/express": ^4.17.13 - peerDependenciesMeta: - "@types/express": - optional: true - checksum: 10c0/8e9032af625f7c9f2f0d318f6cdb14eb725cc16ffe7b4ccccea25cf591fa819bb7c3bb579e0b543e0ae9c73059b505a6d728290c757bff27bae526a6ed11c05e - languageName: node - linkType: hard - -"http-proxy@npm:^1.18.1": - version: 1.18.1 - resolution: "http-proxy@npm:1.18.1" - dependencies: - eventemitter3: "npm:^4.0.0" - follow-redirects: "npm:^1.0.0" - requires-port: "npm:^1.0.0" - checksum: 10c0/148dfa700a03fb421e383aaaf88ac1d94521dfc34072f6c59770528c65250983c2e4ec996f2f03aa9f3fe46cd1270a593126068319311e3e8d9e610a37533e94 - languageName: node - linkType: hard - -"http2-wrapper@npm:^2.1.10": - version: 2.2.1 - resolution: "http2-wrapper@npm:2.2.1" - dependencies: - quick-lru: "npm:^5.1.1" - resolve-alpn: "npm:^1.2.0" - checksum: 10c0/7207201d3c6e53e72e510c9b8912e4f3e468d3ecc0cf3bf52682f2aac9cd99358b896d1da4467380adc151cf97c412bedc59dc13dae90c523f42053a7449eedb - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": - version: 7.0.6 - resolution: "https-proxy-agent@npm:7.0.6" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:4" - checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac - languageName: node - linkType: hard - -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a - languageName: node - linkType: hard - -"iconv-lite@npm:0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 - languageName: node - linkType: hard - -"iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 - languageName: node - linkType: hard - -"icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": - version: 5.1.0 - resolution: "icss-utils@npm:5.1.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 10c0/39c92936fabd23169c8611d2b5cc39e39d10b19b0d223352f20a7579f75b39d5f786114a6b8fc62bee8c5fed59ba9e0d38f7219a4db383e324fb3061664b043d - languageName: node - linkType: hard - -"ignore@npm:^5.2.0, ignore@npm:^5.2.4": - version: 5.3.2 - resolution: "ignore@npm:5.3.2" - checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 - languageName: node - linkType: hard - -"image-size@npm:^1.0.2": - version: 1.2.1 - resolution: "image-size@npm:1.2.1" - dependencies: - queue: "npm:6.0.2" - bin: - image-size: bin/image-size.js - checksum: 10c0/f8b3c19d4476513f1d7e55c3e6db80997b315444743e2040d545cbcaee59be03d2eb40c46be949a8372697b7003fdb0c04925d704390a7f606bc8181e25c0ed4 - languageName: node - linkType: hard - -"immer@npm:^9.0.7": - version: 9.0.21 - resolution: "immer@npm:9.0.21" - checksum: 10c0/03ea3ed5d4d72e8bd428df4a38ad7e483ea8308e9a113d3b42e0ea2cc0cc38340eb0a6aca69592abbbf047c685dbda04e3d34bf2ff438ab57339ed0a34cc0a05 - languageName: node - linkType: hard - -"import-fresh@npm:^3.1.0, import-fresh@npm:^3.3.0": - version: 3.3.1 - resolution: "import-fresh@npm:3.3.1" - dependencies: - parent-module: "npm:^1.0.0" - resolve-from: "npm:^4.0.0" - checksum: 10c0/bf8cc494872fef783249709385ae883b447e3eb09db0ebd15dcead7d9afe7224dad7bd7591c6b73b0b19b3c0f9640eb8ee884f01cfaf2887ab995b0b36a0cbec - languageName: node - linkType: hard - -"import-lazy@npm:^4.0.0": - version: 4.0.0 - resolution: "import-lazy@npm:4.0.0" - checksum: 10c0/a3520313e2c31f25c0b06aa66d167f329832b68a4f957d7c9daf6e0fa41822b6e84948191648b9b9d8ca82f94740cdf15eecf2401a5b42cd1c33fd84f2225cca - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"indent-string@npm:^4.0.0": - version: 4.0.0 - resolution: "indent-string@npm:4.0.0" - checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f - languageName: node - linkType: hard - -"infima@npm:0.2.0-alpha.45": - version: 0.2.0-alpha.45 - resolution: "infima@npm:0.2.0-alpha.45" - checksum: 10c0/b50d103f6864687742067414d09392ccf3be363cf27503925a943ff56bb2392118e2bfdb6b2f89933417015e1770e58f81b2b0caf823f2adfb67f32b1702d469 - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:~2.0.3": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - -"inherits@npm:2.0.3": - version: 2.0.3 - resolution: "inherits@npm:2.0.3" - checksum: 10c0/6e56402373149ea076a434072671f9982f5fad030c7662be0332122fe6c0fa490acb3cc1010d90b6eff8d640b1167d77674add52dfd1bb85d545cf29e80e73e7 - languageName: node - linkType: hard - -"ini@npm:2.0.0": - version: 2.0.0 - resolution: "ini@npm:2.0.0" - checksum: 10c0/2e0c8f386369139029da87819438b20a1ff3fe58372d93fb1a86e9d9344125ace3a806b8ec4eb160a46e64cbc422fe68251869441676af49b7fc441af2389c25 - languageName: node - linkType: hard - -"ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": - version: 1.3.8 - resolution: "ini@npm:1.3.8" - checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a - languageName: node - linkType: hard - -"inline-style-parser@npm:0.2.4": - version: 0.2.4 - resolution: "inline-style-parser@npm:0.2.4" - checksum: 10c0/ddc0b210eaa03e0f98d677b9836242c583c7c6051e84ce0e704ae4626e7871c5b78f8e30853480218b446355745775df318d4f82d33087ff7e393245efa9a881 - languageName: node - linkType: hard - -"interpret@npm:^1.0.0": - version: 1.4.0 - resolution: "interpret@npm:1.4.0" - checksum: 10c0/08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 - languageName: node - linkType: hard - -"invariant@npm:^2.2.4": - version: 2.2.4 - resolution: "invariant@npm:2.2.4" - dependencies: - loose-envify: "npm:^1.0.0" - checksum: 10c0/5af133a917c0bcf65e84e7f23e779e7abc1cd49cb7fdc62d00d1de74b0d8c1b5ee74ac7766099fb3be1b05b26dfc67bab76a17030d2fe7ea2eef867434362dfc - languageName: node - linkType: hard - -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc - languageName: node - linkType: hard - -"ipaddr.js@npm:1.9.1": - version: 1.9.1 - resolution: "ipaddr.js@npm:1.9.1" - checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a - languageName: node - linkType: hard - -"ipaddr.js@npm:^2.0.1": - version: 2.2.0 - resolution: "ipaddr.js@npm:2.2.0" - checksum: 10c0/e4ee875dc1bd92ac9d27e06cfd87cdb63ca786ff9fd7718f1d4f7a8ef27db6e5d516128f52d2c560408cbb75796ac2f83ead669e73507c86282d45f84c5abbb6 - languageName: node - linkType: hard - -"is-alphabetical@npm:^2.0.0": - version: 2.0.1 - resolution: "is-alphabetical@npm:2.0.1" - checksum: 10c0/932367456f17237533fd1fc9fe179df77957271020b83ea31da50e5cc472d35ef6b5fb8147453274ffd251134472ce24eb6f8d8398d96dee98237cdb81a6c9a7 - languageName: node - linkType: hard - -"is-alphanumerical@npm:^2.0.0": - version: 2.0.1 - resolution: "is-alphanumerical@npm:2.0.1" - dependencies: - is-alphabetical: "npm:^2.0.0" - is-decimal: "npm:^2.0.0" - checksum: 10c0/4b35c42b18e40d41378293f82a3ecd9de77049b476f748db5697c297f686e1e05b072a6aaae2d16f54d2a57f85b00cbbe755c75f6d583d1c77d6657bd0feb5a2 - languageName: node - linkType: hard - -"is-arrayish@npm:^0.2.1": - version: 0.2.1 - resolution: "is-arrayish@npm:0.2.1" - checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 - languageName: node - linkType: hard - -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - -"is-ci@npm:^3.0.1": - version: 3.0.1 - resolution: "is-ci@npm:3.0.1" - dependencies: - ci-info: "npm:^3.2.0" - bin: - is-ci: bin.js - checksum: 10c0/0e81caa62f4520d4088a5bef6d6337d773828a88610346c4b1119fb50c842587ed8bef1e5d9a656835a599e7209405b5761ddf2339668f2d0f4e889a92fe6051 - languageName: node - linkType: hard - -"is-core-module@npm:^2.16.0": - version: 2.16.1 - resolution: "is-core-module@npm:2.16.1" - dependencies: - hasown: "npm:^2.0.2" - checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd - languageName: node - linkType: hard - -"is-decimal@npm:^2.0.0": - version: 2.0.1 - resolution: "is-decimal@npm:2.0.1" - checksum: 10c0/8085dd66f7d82f9de818fba48b9e9c0429cb4291824e6c5f2622e96b9680b54a07a624cfc663b24148b8e853c62a1c987cfe8b0b5a13f5156991afaf6736e334 - languageName: node - linkType: hard - -"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": - version: 2.2.1 - resolution: "is-docker@npm:2.2.1" - bin: - is-docker: cli.js - checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc - languageName: node - linkType: hard - -"is-extendable@npm:^0.1.0": - version: 0.1.1 - resolution: "is-extendable@npm:0.1.1" - checksum: 10c0/dd5ca3994a28e1740d1e25192e66eed128e0b2ff161a7ea348e87ae4f616554b486854de423877a2a2c171d5f7cd6e8093b91f54533bc88a59ee1c9838c43879 - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - -"is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-hexadecimal@npm:^2.0.0": - version: 2.0.1 - resolution: "is-hexadecimal@npm:2.0.1" - checksum: 10c0/3eb60fe2f1e2bbc760b927dcad4d51eaa0c60138cf7fc671803f66353ad90c301605b502c7ea4c6bb0548e1c7e79dfd37b73b632652e3b76030bba603a7e9626 - languageName: node - linkType: hard - -"is-installed-globally@npm:^0.4.0": - version: 0.4.0 - resolution: "is-installed-globally@npm:0.4.0" - dependencies: - global-dirs: "npm:^3.0.0" - is-path-inside: "npm:^3.0.2" - checksum: 10c0/f3e6220ee5824b845c9ed0d4b42c24272701f1f9926936e30c0e676254ca5b34d1b92c6205cae11b283776f9529212c0cdabb20ec280a6451677d6493ca9c22d - languageName: node - linkType: hard - -"is-npm@npm:^6.0.0": - version: 6.0.0 - resolution: "is-npm@npm:6.0.0" - checksum: 10c0/1f064c66325cba6e494783bee4e635caa2655aad7f853a0e045d086e0bb7d83d2d6cdf1745dc9a7c7c93dacbf816fbee1f8d9179b02d5d01674d4f92541dc0d9 - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-obj@npm:^1.0.1": - version: 1.0.1 - resolution: "is-obj@npm:1.0.1" - checksum: 10c0/5003acba0af7aa47dfe0760e545a89bbac89af37c12092c3efadc755372cdaec034f130e7a3653a59eb3c1843cfc72ca71eaf1a6c3bafe5a0bab3611a47f9945 - languageName: node - linkType: hard - -"is-obj@npm:^2.0.0": - version: 2.0.0 - resolution: "is-obj@npm:2.0.0" - checksum: 10c0/85044ed7ba8bd169e2c2af3a178cacb92a97aa75de9569d02efef7f443a824b5e153eba72b9ae3aca6f8ce81955271aa2dc7da67a8b720575d3e38104208cb4e - languageName: node - linkType: hard - -"is-path-cwd@npm:^2.2.0": - version: 2.2.0 - resolution: "is-path-cwd@npm:2.2.0" - checksum: 10c0/afce71533a427a759cd0329301c18950333d7589533c2c90205bd3fdcf7b91eb92d1940493190567a433134d2128ec9325de2fd281e05be1920fbee9edd22e0a - languageName: node - linkType: hard - -"is-path-inside@npm:^3.0.2": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 - languageName: node - linkType: hard - -"is-plain-obj@npm:^3.0.0": - version: 3.0.0 - resolution: "is-plain-obj@npm:3.0.0" - checksum: 10c0/8e6483bfb051d42ec9c704c0ede051a821c6b6f9a6c7a3e3b55aa855e00981b0580c8f3b1f5e2e62649b39179b1abfee35d6f8086d999bfaa32c1908d29b07bc - languageName: node - linkType: hard - -"is-plain-obj@npm:^4.0.0": - version: 4.1.0 - resolution: "is-plain-obj@npm:4.1.0" - checksum: 10c0/32130d651d71d9564dc88ba7e6fda0e91a1010a3694648e9f4f47bb6080438140696d3e3e15c741411d712e47ac9edc1a8a9de1fe76f3487b0d90be06ac9975e - languageName: node - linkType: hard - -"is-plain-object@npm:^2.0.4": - version: 2.0.4 - resolution: "is-plain-object@npm:2.0.4" - dependencies: - isobject: "npm:^3.0.1" - checksum: 10c0/f050fdd5203d9c81e8c4df1b3ff461c4bc64e8b5ca383bcdde46131361d0a678e80bcf00b5257646f6c636197629644d53bd8e2375aea633de09a82d57e942f4 - languageName: node - linkType: hard - -"is-regexp@npm:^1.0.0": - version: 1.0.0 - resolution: "is-regexp@npm:1.0.0" - checksum: 10c0/34cacda1901e00f6e44879378f1d2fa96320ea956c1bec27713130aaf1d44f6e7bd963eed28945bfe37e600cb27df1cf5207302680dad8bdd27b9baff8ecf611 - languageName: node - linkType: hard - -"is-root@npm:^2.1.0": - version: 2.1.0 - resolution: "is-root@npm:2.1.0" - checksum: 10c0/83d3f5b052c3f28fbdbdf0d564bdd34fa14933f5694c78704f85cd1871255bc017fbe3fe2bc2fff2d227c6be5927ad2149b135c0a7c0060e7ac4e610d81a4f01 - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 - languageName: node - linkType: hard - -"is-typedarray@npm:^1.0.0": - version: 1.0.0 - resolution: "is-typedarray@npm:1.0.0" - checksum: 10c0/4c096275ba041a17a13cca33ac21c16bc4fd2d7d7eb94525e7cd2c2f2c1a3ab956e37622290642501ff4310601e413b675cf399ad6db49855527d2163b3eeeec - languageName: node - linkType: hard - -"is-wsl@npm:^2.2.0": - version: 2.2.0 - resolution: "is-wsl@npm:2.2.0" - dependencies: - is-docker: "npm:^2.0.0" - checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e - languageName: node - linkType: hard - -"is-yarn-global@npm:^0.4.0": - version: 0.4.1 - resolution: "is-yarn-global@npm:0.4.1" - checksum: 10c0/8ff66f33454614f8e913ad91cc4de0d88d519a46c1ed41b3f589da79504ed0fcfa304064fe3096dda9360c5f35aa210cb8e978fd36798f3118cb66a4de64d365 - languageName: node - linkType: hard - -"isarray@npm:0.0.1": - version: 0.0.1 - resolution: "isarray@npm:0.0.1" - checksum: 10c0/ed1e62da617f71fe348907c71743b5ed550448b455f8d269f89a7c7ddb8ae6e962de3dab6a74a237b06f5eb7f6ece7a45ada8ce96d87fe972926530f91ae3311 - languageName: node - linkType: hard - -"isarray@npm:~1.0.0": - version: 1.0.0 - resolution: "isarray@npm:1.0.0" - checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"isobject@npm:^3.0.1": - version: 3.0.1 - resolution: "isobject@npm:3.0.1" - checksum: 10c0/03344f5064a82f099a0cd1a8a407f4c0d20b7b8485e8e816c39f249e9416b06c322e8dec5b842b6bb8a06de0af9cb48e7bc1b5352f0fadc2f0abac033db3d4db - languageName: node - linkType: hard - -"jackspeak@npm:^3.1.2": - version: 3.4.3 - resolution: "jackspeak@npm:3.4.3" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 - languageName: node - linkType: hard - -"jest-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-util@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - graceful-fs: "npm:^4.2.9" - picomatch: "npm:^2.2.3" - checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 - languageName: node - linkType: hard - -"jest-worker@npm:^27.4.5": - version: 27.5.1 - resolution: "jest-worker@npm:27.5.1" - dependencies: - "@types/node": "npm:*" - merge-stream: "npm:^2.0.0" - supports-color: "npm:^8.0.0" - checksum: 10c0/8c4737ffd03887b3c6768e4cc3ca0269c0336c1e4b1b120943958ddb035ed2a0fc6acab6dc99631720a3720af4e708ff84fb45382ad1e83c27946adf3623969b - languageName: node - linkType: hard - -"jest-worker@npm:^29.4.3": - version: 29.7.0 - resolution: "jest-worker@npm:29.7.0" - dependencies: - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - merge-stream: "npm:^2.0.0" - supports-color: "npm:^8.0.0" - checksum: 10c0/5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 - languageName: node - linkType: hard - -"jiti@npm:^1.20.0": - version: 1.21.7 - resolution: "jiti@npm:1.21.7" - bin: - jiti: bin/jiti.js - checksum: 10c0/77b61989c758ff32407cdae8ddc77f85e18e1a13fc4977110dbd2e05fc761842f5f71bce684d9a01316e1c4263971315a111385759951080bbfe17cbb5de8f7a - languageName: node - linkType: hard - -"joi@npm:^17.9.2": - version: 17.13.3 - resolution: "joi@npm:17.13.3" - dependencies: - "@hapi/hoek": "npm:^9.3.0" - "@hapi/topo": "npm:^5.1.0" - "@sideway/address": "npm:^4.1.5" - "@sideway/formula": "npm:^3.0.1" - "@sideway/pinpoint": "npm:^2.0.0" - checksum: 10c0/9262aef1da3f1bec5b03caf50c46368899fe03b8ff26cbe3d53af4584dd1049079fc97230bbf1500b6149db7cc765b9ee45f0deb24bb6fc3fa06229d7148c17f - languageName: node - linkType: hard - -"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": - version: 4.0.0 - resolution: "js-tokens@npm:4.0.0" - checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed - languageName: node - linkType: hard - -"js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b - languageName: node - linkType: hard - -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 - languageName: node - linkType: hard - -"jsesc@npm:^3.0.2": - version: 3.1.0 - resolution: "jsesc@npm:3.1.0" - bin: - jsesc: bin/jsesc - checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 - languageName: node - linkType: hard - -"jsesc@npm:~3.0.2": - version: 3.0.2 - resolution: "jsesc@npm:3.0.2" - bin: - jsesc: bin/jsesc - checksum: 10c0/ef22148f9e793180b14d8a145ee6f9f60f301abf443288117b4b6c53d0ecd58354898dc506ccbb553a5f7827965cd38bc5fb726575aae93c5e8915e2de8290e1 - languageName: node - linkType: hard - -"json-buffer@npm:3.0.1": - version: 3.0.1 - resolution: "json-buffer@npm:3.0.1" - checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 - languageName: node - linkType: hard - -"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": - version: 2.3.1 - resolution: "json-parse-even-better-errors@npm:2.3.1" - checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 - languageName: node - linkType: hard - -"json-schema-traverse@npm:^0.4.1": - version: 0.4.1 - resolution: "json-schema-traverse@npm:0.4.1" - checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce - languageName: node - linkType: hard - -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 - languageName: node - linkType: hard - -"json5@npm:^2.1.2, json5@npm:^2.2.3": - version: 2.2.3 - resolution: "json5@npm:2.2.3" - bin: - json5: lib/cli.js - checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c - languageName: node - linkType: hard - -"jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" - dependencies: - graceful-fs: "npm:^4.1.6" - universalify: "npm:^2.0.0" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 - languageName: node - linkType: hard - -"katex@npm:^0.16.0": - version: 0.16.22 - resolution: "katex@npm:0.16.22" - dependencies: - commander: "npm:^8.3.0" - bin: - katex: cli.js - checksum: 10c0/07b8b1f07ae53171b5f1ea0cf6f18841d2055825c8b11cd81cfe039afcd3af2cfc84ad033531ee3875088329105195b039c267e0dd4b0c237807e3c3b2009913 - languageName: node - linkType: hard - -"keyv@npm:^4.5.3": - version: 4.5.4 - resolution: "keyv@npm:4.5.4" - dependencies: - json-buffer: "npm:3.0.1" - checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e - languageName: node - linkType: hard - -"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": - version: 6.0.3 - resolution: "kind-of@npm:6.0.3" - checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 - languageName: node - linkType: hard - -"kleur@npm:^3.0.3": - version: 3.0.3 - resolution: "kleur@npm:3.0.3" - checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b - languageName: node - linkType: hard - -"latest-version@npm:^7.0.0": - version: 7.0.0 - resolution: "latest-version@npm:7.0.0" - dependencies: - package-json: "npm:^8.1.0" - checksum: 10c0/68045f5e419e005c12e595ae19687dd88317dd0108b83a8773197876622c7e9d164fe43aacca4f434b2cba105c92848b89277f658eabc5d50e81fb743bbcddb1 - languageName: node - linkType: hard - -"launch-editor@npm:^2.6.0": - version: 2.10.0 - resolution: "launch-editor@npm:2.10.0" - dependencies: - picocolors: "npm:^1.0.0" - shell-quote: "npm:^1.8.1" - checksum: 10c0/8b5a26be6b0da1da039ed2254b837dea0651a6406ea4dc4c9a5b28ea72862f1b12880135c495baf9d8a08997473b44034172506781744cf82e155451a40b7d51 - languageName: node - linkType: hard - -"leven@npm:^3.1.0": - version: 3.1.0 - resolution: "leven@npm:3.1.0" - checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df - languageName: node - linkType: hard - -"lilconfig@npm:^3.1.1": - version: 3.1.3 - resolution: "lilconfig@npm:3.1.3" - checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc - languageName: node - linkType: hard - -"lines-and-columns@npm:^1.1.6": - version: 1.2.4 - resolution: "lines-and-columns@npm:1.2.4" - checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d - languageName: node - linkType: hard - -"loader-runner@npm:^4.2.0": - version: 4.3.0 - resolution: "loader-runner@npm:4.3.0" - checksum: 10c0/a44d78aae0907a72f73966fe8b82d1439c8c485238bd5a864b1b9a2a3257832effa858790241e6b37876b5446a78889adf2fcc8dd897ce54c089ecc0a0ce0bf0 - languageName: node - linkType: hard - -"loader-utils@npm:^2.0.0": - version: 2.0.4 - resolution: "loader-utils@npm:2.0.4" - dependencies: - big.js: "npm:^5.2.2" - emojis-list: "npm:^3.0.0" - json5: "npm:^2.1.2" - checksum: 10c0/d5654a77f9d339ec2a03d88221a5a695f337bf71eb8dea031b3223420bb818964ba8ed0069145c19b095f6c8b8fd386e602a3fc7ca987042bd8bb1dcc90d7100 - languageName: node - linkType: hard - -"loader-utils@npm:^3.2.0": - version: 3.3.1 - resolution: "loader-utils@npm:3.3.1" - checksum: 10c0/f2af4eb185ac5bf7e56e1337b666f90744e9f443861ac521b48f093fb9e8347f191c8960b4388a3365147d218913bc23421234e7788db69f385bacfefa0b4758 - languageName: node - linkType: hard - -"locate-path@npm:^3.0.0": - version: 3.0.0 - resolution: "locate-path@npm:3.0.0" - dependencies: - p-locate: "npm:^3.0.0" - path-exists: "npm:^3.0.0" - checksum: 10c0/3db394b7829a7fe2f4fbdd25d3c4689b85f003c318c5da4052c7e56eed697da8f1bce5294f685c69ff76e32cba7a33629d94396976f6d05fb7f4c755c5e2ae8b - languageName: node - linkType: hard - -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - -"locate-path@npm:^7.1.0": - version: 7.2.0 - resolution: "locate-path@npm:7.2.0" - dependencies: - p-locate: "npm:^6.0.0" - checksum: 10c0/139e8a7fe11cfbd7f20db03923cacfa5db9e14fa14887ea121345597472b4a63c1a42a8a5187defeeff6acf98fd568da7382aa39682d38f0af27433953a97751 - languageName: node - linkType: hard - -"lodash.debounce@npm:^4.0.8": - version: 4.0.8 - resolution: "lodash.debounce@npm:4.0.8" - checksum: 10c0/762998a63e095412b6099b8290903e0a8ddcb353ac6e2e0f2d7e7d03abd4275fe3c689d88960eb90b0dde4f177554d51a690f22a343932ecbc50a5d111849987 - languageName: node - linkType: hard - -"lodash.memoize@npm:^4.1.2": - version: 4.1.2 - resolution: "lodash.memoize@npm:4.1.2" - checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 - languageName: node - linkType: hard - -"lodash.uniq@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.uniq@npm:4.5.0" - checksum: 10c0/262d400bb0952f112162a320cc4a75dea4f66078b9e7e3075ffbc9c6aa30b3e9df3cf20e7da7d566105e1ccf7804e4fbd7d804eee0b53de05d83f16ffbf41c5e - languageName: node - linkType: hard - -"lodash@npm:^4.17.20, lodash@npm:^4.17.21": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c - languageName: node - linkType: hard - -"longest-streak@npm:^3.0.0": - version: 3.1.0 - resolution: "longest-streak@npm:3.1.0" - checksum: 10c0/7c2f02d0454b52834d1bcedef79c557bd295ee71fdabb02d041ff3aa9da48a90b5df7c0409156dedbc4df9b65da18742652aaea4759d6ece01f08971af6a7eaa - languageName: node - linkType: hard - -"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0": - version: 1.4.0 - resolution: "loose-envify@npm:1.4.0" - dependencies: - js-tokens: "npm:^3.0.0 || ^4.0.0" - bin: - loose-envify: cli.js - checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e - languageName: node - linkType: hard - -"lower-case@npm:^2.0.2": - version: 2.0.2 - resolution: "lower-case@npm:2.0.2" - dependencies: - tslib: "npm:^2.0.3" - checksum: 10c0/3d925e090315cf7dc1caa358e0477e186ffa23947740e4314a7429b6e62d72742e0bbe7536a5ae56d19d7618ce998aba05caca53c2902bd5742fdca5fc57fd7b - languageName: node - linkType: hard - -"lowercase-keys@npm:^3.0.0": - version: 3.0.0 - resolution: "lowercase-keys@npm:3.0.0" - checksum: 10c0/ef62b9fa5690ab0a6e4ef40c94efce68e3ed124f583cc3be38b26ff871da0178a28b9a84ce0c209653bb25ca135520ab87fea7cd411a54ac4899cb2f30501430 - languageName: node - linkType: hard - -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.4.3 - resolution: "lru-cache@npm:10.4.3" - checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb - languageName: node - linkType: hard - -"lru-cache@npm:^5.1.1": - version: 5.1.1 - resolution: "lru-cache@npm:5.1.1" - dependencies: - yallist: "npm:^3.0.2" - checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 - languageName: node - linkType: hard - -"make-fetch-happen@npm:^14.0.3": - version: 14.0.3 - resolution: "make-fetch-happen@npm:14.0.3" - dependencies: - "@npmcli/agent": "npm:^3.0.0" - cacache: "npm:^19.0.1" - http-cache-semantics: "npm:^4.1.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^4.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^1.0.0" - proc-log: "npm:^5.0.0" - promise-retry: "npm:^2.0.1" - ssri: "npm:^12.0.0" - checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 - languageName: node - linkType: hard - -"markdown-extensions@npm:^2.0.0": - version: 2.0.0 - resolution: "markdown-extensions@npm:2.0.0" - checksum: 10c0/406139da2aa0d5ebad86195c8e8c02412f873c452b4c087ae7bc767af37956141be449998223bb379eea179b5fd38dfa610602b6f29c22ddab5d51e627a7e41d - languageName: node - linkType: hard - -"markdown-table@npm:^2.0.0": - version: 2.0.0 - resolution: "markdown-table@npm:2.0.0" - dependencies: - repeat-string: "npm:^1.0.0" - checksum: 10c0/f257e0781ea50eb946919df84bdee4ba61f983971b277a369ca7276f89740fd0e2749b9b187163a42df4c48682b71962d4007215ce3523480028f06c11ddc2e6 - languageName: node - linkType: hard - -"markdown-table@npm:^3.0.0": - version: 3.0.4 - resolution: "markdown-table@npm:3.0.4" - checksum: 10c0/1257b31827629a54c24a5030a3dac952256c559174c95ce3ef89bebd6bff0cb1444b1fd667b1a1bb53307f83278111505b3e26f0c4e7b731e0060d435d2d930b - languageName: node - linkType: hard - -"math-intrinsics@npm:^1.1.0": - version: 1.1.0 - resolution: "math-intrinsics@npm:1.1.0" - checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f - languageName: node - linkType: hard - -"mdast-util-definition-list@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-definition-list@npm:2.0.0" - dependencies: - "@types/mdast": "npm:^4.0.1" - "@types/unist": "npm:^3.0.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-hast: "npm:^13.0.2" - mdast-util-to-markdown: "npm:^2.1.0" - micromark-extension-definition-list: "npm:^2.0.0" - unist-builder: "npm:^4.0.0" - checksum: 10c0/ece475bd485598b8a2c4fd24ef26832abebd8cc081dab099db857a7010fac75eb74543507ec5af7d99207626378d9be8631b3144842a3b8724e45b2bfc20b18e - languageName: node - linkType: hard - -"mdast-util-directive@npm:^3.0.0": - version: 3.1.0 - resolution: "mdast-util-directive@npm:3.1.0" - dependencies: - "@types/mdast": "npm:^4.0.0" - "@types/unist": "npm:^3.0.0" - ccount: "npm:^2.0.0" - devlop: "npm:^1.0.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - parse-entities: "npm:^4.0.0" - stringify-entities: "npm:^4.0.0" - unist-util-visit-parents: "npm:^6.0.0" - checksum: 10c0/596b093b940197cf43af4d0de12e82a1d2b1eb5add73dd16077aa80e0d0e1f208ea642c420726e59ccd352c193d6ecd5c106d6fab769f252617c75333f91a314 - languageName: node - linkType: hard - -"mdast-util-find-and-replace@npm:^3.0.0, mdast-util-find-and-replace@npm:^3.0.1": - version: 3.0.2 - resolution: "mdast-util-find-and-replace@npm:3.0.2" - dependencies: - "@types/mdast": "npm:^4.0.0" - escape-string-regexp: "npm:^5.0.0" - unist-util-is: "npm:^6.0.0" - unist-util-visit-parents: "npm:^6.0.0" - checksum: 10c0/c8417a35605d567772ff5c1aa08363ff3010b0d60c8ea68c53cba09bf25492e3dd261560425c1756535f3b7107f62e7ff3857cdd8fb1e62d1b2cc2ea6e074ca2 - languageName: node - linkType: hard - -"mdast-util-from-markdown@npm:^2.0.0": - version: 2.0.2 - resolution: "mdast-util-from-markdown@npm:2.0.2" - dependencies: - "@types/mdast": "npm:^4.0.0" - "@types/unist": "npm:^3.0.0" - decode-named-character-reference: "npm:^1.0.0" - devlop: "npm:^1.0.0" - mdast-util-to-string: "npm:^4.0.0" - micromark: "npm:^4.0.0" - micromark-util-decode-numeric-character-reference: "npm:^2.0.0" - micromark-util-decode-string: "npm:^2.0.0" - micromark-util-normalize-identifier: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - unist-util-stringify-position: "npm:^4.0.0" - checksum: 10c0/76eb2bd2c6f7a0318087c73376b8af6d7561c1e16654e7667e640f391341096c56142618fd0ff62f6d39e5ab4895898b9789c84cd7cec2874359a437a0e1ff15 - languageName: node - linkType: hard - -"mdast-util-frontmatter@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-frontmatter@npm:2.0.1" - dependencies: - "@types/mdast": "npm:^4.0.0" - devlop: "npm:^1.0.0" - escape-string-regexp: "npm:^5.0.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - micromark-extension-frontmatter: "npm:^2.0.0" - checksum: 10c0/d9b0b70dd9c574cc0220d4e05dd8e9d86ac972a6a5af9e0c49c839b31cb750d4313445cfbbdf9264a7fbe3f8c8d920b45358b8500f4286e6b9dc830095b25b9a - languageName: node - linkType: hard - -"mdast-util-gfm-autolink-literal@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-gfm-autolink-literal@npm:2.0.1" - dependencies: - "@types/mdast": "npm:^4.0.0" - ccount: "npm:^2.0.0" - devlop: "npm:^1.0.0" - mdast-util-find-and-replace: "npm:^3.0.0" - micromark-util-character: "npm:^2.0.0" - checksum: 10c0/963cd22bd42aebdec7bdd0a527c9494d024d1ad0739c43dc040fee35bdfb5e29c22564330a7418a72b5eab51d47a6eff32bc0255ef3ccb5cebfe8970e91b81b6 - languageName: node - linkType: hard - -"mdast-util-gfm-footnote@npm:^2.0.0": - version: 2.1.0 - resolution: "mdast-util-gfm-footnote@npm:2.1.0" - dependencies: - "@types/mdast": "npm:^4.0.0" - devlop: "npm:^1.1.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - micromark-util-normalize-identifier: "npm:^2.0.0" - checksum: 10c0/8ab965ee6be3670d76ec0e95b2ba3101fc7444eec47564943ab483d96ac17d29da2a4e6146a2a288be30c21b48c4f3938a1e54b9a46fbdd321d49a5bc0077ed0 - languageName: node - linkType: hard - -"mdast-util-gfm-strikethrough@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-gfm-strikethrough@npm:2.0.0" - dependencies: - "@types/mdast": "npm:^4.0.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - checksum: 10c0/b053e93d62c7545019bd914271ea9e5667ad3b3b57d16dbf68e56fea39a7e19b4a345e781312714eb3d43fdd069ff7ee22a3ca7f6149dfa774554f19ce3ac056 - languageName: node - linkType: hard - -"mdast-util-gfm-table@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-gfm-table@npm:2.0.0" - dependencies: - "@types/mdast": "npm:^4.0.0" - devlop: "npm:^1.0.0" - markdown-table: "npm:^3.0.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - checksum: 10c0/128af47c503a53bd1c79f20642561e54a510ad5e2db1e418d28fefaf1294ab839e6c838e341aef5d7e404f9170b9ca3d1d89605f234efafde93ee51174a6e31e - languageName: node - linkType: hard - -"mdast-util-gfm-task-list-item@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-gfm-task-list-item@npm:2.0.0" - dependencies: - "@types/mdast": "npm:^4.0.0" - devlop: "npm:^1.0.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - checksum: 10c0/258d725288482b636c0a376c296431390c14b4f29588675297cb6580a8598ed311fc73ebc312acfca12cc8546f07a3a285a53a3b082712e2cbf5c190d677d834 - languageName: node - linkType: hard - -"mdast-util-gfm@npm:^3.0.0": - version: 3.1.0 - resolution: "mdast-util-gfm@npm:3.1.0" - dependencies: - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-gfm-autolink-literal: "npm:^2.0.0" - mdast-util-gfm-footnote: "npm:^2.0.0" - mdast-util-gfm-strikethrough: "npm:^2.0.0" - mdast-util-gfm-table: "npm:^2.0.0" - mdast-util-gfm-task-list-item: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - checksum: 10c0/4bedcfb6a20e39901c8772f0d2bb2d7a64ae87a54c13cbd92eec062cf470fbb68c2ad754e149af5b30794e2de61c978ab1de1ace03c0c40f443ca9b9b8044f81 - languageName: node - linkType: hard - -"mdast-util-math@npm:^3.0.0": - version: 3.0.0 - resolution: "mdast-util-math@npm:3.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - devlop: "npm:^1.0.0" - longest-streak: "npm:^3.0.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.1.0" - unist-util-remove-position: "npm:^5.0.0" - checksum: 10c0/d4e839e38719f26872ed78aac18339805a892f1b56585a9cb8668f34e221b4f0660b9dfe49ec96dbbe79fd1b63b648608a64046d8286bcd2f9d576e80b48a0a1 - languageName: node - linkType: hard - -"mdast-util-mdx-expression@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-mdx-expression@npm:2.0.1" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - devlop: "npm:^1.0.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - checksum: 10c0/9a1e57940f66431f10312fa239096efa7627f375e7933b5d3162c0b5c1712a72ac87447aff2b6838d2bbd5c1311b188718cc90b33b67dc67a88550e0a6ef6183 - languageName: node - linkType: hard - -"mdast-util-mdx-jsx@npm:^3.0.0": - version: 3.2.0 - resolution: "mdast-util-mdx-jsx@npm:3.2.0" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - "@types/unist": "npm:^3.0.0" - ccount: "npm:^2.0.0" - devlop: "npm:^1.1.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - parse-entities: "npm:^4.0.0" - stringify-entities: "npm:^4.0.0" - unist-util-stringify-position: "npm:^4.0.0" - vfile-message: "npm:^4.0.0" - checksum: 10c0/3acadaf3b962254f7ad2990fed4729961dc0217ca31fde9917986e880843f3ecf3392b1f22d569235cacd180d50894ad266db7af598aedca69d330d33c7ac613 - languageName: node - linkType: hard - -"mdast-util-mdx@npm:^3.0.0": - version: 3.0.0 - resolution: "mdast-util-mdx@npm:3.0.0" - dependencies: - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-mdx-expression: "npm:^2.0.0" - mdast-util-mdx-jsx: "npm:^3.0.0" - mdast-util-mdxjs-esm: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - checksum: 10c0/4faea13f77d6bc9aa64ee41a5e4779110b73444a17fda363df6ebe880ecfa58b321155b71f8801c3faa6d70d6222a32a00cbd6dbf5fad8db417f4688bc9c74e1 - languageName: node - linkType: hard - -"mdast-util-mdxjs-esm@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-mdxjs-esm@npm:2.0.1" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - devlop: "npm:^1.0.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - checksum: 10c0/5bda92fc154141705af2b804a534d891f28dac6273186edf1a4c5e3f045d5b01dbcac7400d27aaf91b7e76e8dce007c7b2fdf136c11ea78206ad00bdf9db46bc - languageName: node - linkType: hard - -"mdast-util-phrasing@npm:^4.0.0, mdast-util-phrasing@npm:^4.1.0": - version: 4.1.0 - resolution: "mdast-util-phrasing@npm:4.1.0" - dependencies: - "@types/mdast": "npm:^4.0.0" - unist-util-is: "npm:^6.0.0" - checksum: 10c0/bf6c31d51349aa3d74603d5e5a312f59f3f65662ed16c58017169a5fb0f84ca98578f626c5ee9e4aa3e0a81c996db8717096705521bddb4a0185f98c12c9b42f - languageName: node - linkType: hard - -"mdast-util-to-hast@npm:^13.0.0, mdast-util-to-hast@npm:^13.0.2": - version: 13.2.0 - resolution: "mdast-util-to-hast@npm:13.2.0" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - "@ungap/structured-clone": "npm:^1.0.0" - devlop: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^2.0.0" - trim-lines: "npm:^3.0.0" - unist-util-position: "npm:^5.0.0" - unist-util-visit: "npm:^5.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/9ee58def9287df8350cbb6f83ced90f9c088d72d4153780ad37854f87144cadc6f27b20347073b285173b1649b0723ddf0b9c78158608a804dcacb6bda6e1816 - languageName: node - linkType: hard - -"mdast-util-to-markdown@npm:^2.0.0, mdast-util-to-markdown@npm:^2.1.0": - version: 2.1.2 - resolution: "mdast-util-to-markdown@npm:2.1.2" - dependencies: - "@types/mdast": "npm:^4.0.0" - "@types/unist": "npm:^3.0.0" - longest-streak: "npm:^3.0.0" - mdast-util-phrasing: "npm:^4.0.0" - mdast-util-to-string: "npm:^4.0.0" - micromark-util-classify-character: "npm:^2.0.0" - micromark-util-decode-string: "npm:^2.0.0" - unist-util-visit: "npm:^5.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/4649722a6099f12e797bd8d6469b2b43b44e526b5182862d9c7766a3431caad2c0112929c538a972f214e63c015395e5d3f54bd81d9ac1b16e6d8baaf582f749 - languageName: node - linkType: hard - -"mdast-util-to-string@npm:^4.0.0": - version: 4.0.0 - resolution: "mdast-util-to-string@npm:4.0.0" - dependencies: - "@types/mdast": "npm:^4.0.0" - checksum: 10c0/2d3c1af29bf3fe9c20f552ee9685af308002488f3b04b12fa66652c9718f66f41a32f8362aa2d770c3ff464c034860b41715902ada2306bb0a055146cef064d7 - languageName: node - linkType: hard - -"mdn-data@npm:2.0.28": - version: 2.0.28 - resolution: "mdn-data@npm:2.0.28" - checksum: 10c0/20000932bc4cd1cde9cba4e23f08cc4f816398af4c15ec81040ed25421d6bf07b5cf6b17095972577fb498988f40f4cb589e3169b9357bb436a12d8e07e5ea7b - languageName: node - linkType: hard - -"mdn-data@npm:2.0.30": - version: 2.0.30 - resolution: "mdn-data@npm:2.0.30" - checksum: 10c0/a2c472ea16cee3911ae742593715aa4c634eb3d4b9f1e6ada0902aa90df13dcbb7285d19435f3ff213ebaa3b2e0c0265c1eb0e3fb278fda7f8919f046a410cd9 - languageName: node - linkType: hard - -"media-typer@npm:0.3.0": - version: 0.3.0 - resolution: "media-typer@npm:0.3.0" - checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 - languageName: node - linkType: hard - -"memfs@npm:^3.1.2, memfs@npm:^3.4.3": - version: 3.6.0 - resolution: "memfs@npm:3.6.0" - dependencies: - fs-monkey: "npm:^1.0.4" - checksum: 10c0/af567f9038bbb5bbacf100b35d5839e90a89f882d191d8a1c7002faeb224c6cfcebd0e97c0150e9af8be95ec7b5b75a52af56fcd109d0bc18807c1f4e004f053 - languageName: node - linkType: hard - -"merge-descriptors@npm:1.0.3": - version: 1.0.3 - resolution: "merge-descriptors@npm:1.0.3" - checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 - languageName: node - linkType: hard - -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"methods@npm:~1.1.2": - version: 1.1.2 - resolution: "methods@npm:1.1.2" - checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 - languageName: node - linkType: hard - -"micromark-core-commonmark@npm:^2.0.0": - version: 2.0.3 - resolution: "micromark-core-commonmark@npm:2.0.3" - dependencies: - decode-named-character-reference: "npm:^1.0.0" - devlop: "npm:^1.0.0" - micromark-factory-destination: "npm:^2.0.0" - micromark-factory-label: "npm:^2.0.0" - micromark-factory-space: "npm:^2.0.0" - micromark-factory-title: "npm:^2.0.0" - micromark-factory-whitespace: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-chunked: "npm:^2.0.0" - micromark-util-classify-character: "npm:^2.0.0" - micromark-util-html-tag-name: "npm:^2.0.0" - micromark-util-normalize-identifier: "npm:^2.0.0" - micromark-util-resolve-all: "npm:^2.0.0" - micromark-util-subtokenize: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/bd4a794fdc9e88dbdf59eaf1c507ddf26e5f7ddf4e52566c72239c0f1b66adbcd219ba2cd42350debbe24471434d5f5e50099d2b3f4e5762ca222ba8e5b549ee - languageName: node - linkType: hard - -"micromark-extension-definition-list@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-extension-definition-list@npm:2.0.1" - dependencies: - micromark-core-commonmark: "npm:^2.0.0" - micromark-factory-space: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.1" - micromark-util-chunked: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - ts-dedent: "npm:^2.2.0" - checksum: 10c0/0dc542965cf351712855c631ba415bf9c9fbd93fcdaaf5f13e3df88a1c584772bd0a7d8d14ae75680192ed465db96a015114ff43f56e16773e82f65a51a28f98 - languageName: node - linkType: hard - -"micromark-extension-directive@npm:^3.0.0": - version: 3.0.2 - resolution: "micromark-extension-directive@npm:3.0.2" - dependencies: - devlop: "npm:^1.0.0" - micromark-factory-space: "npm:^2.0.0" - micromark-factory-whitespace: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - parse-entities: "npm:^4.0.0" - checksum: 10c0/74137485375f02c1b640c2120dd6b9f6aa1e39ca5cd2463df7974ef1cc80203f5ef90448ce009973355a49ba169ef1441eabe57a36877c7b86373788612773da - languageName: node - linkType: hard - -"micromark-extension-frontmatter@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-extension-frontmatter@npm:2.0.0" - dependencies: - fault: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/7d0d876e598917a67146d29f536d6fbbf9d1b2401a77e2f64a3f80f934a63ff26fa94b01759c9185c24b2a91e4e6abf908fa7aa246f00a7778a6b37a17464300 - languageName: node - linkType: hard - -"micromark-extension-gfm-autolink-literal@npm:^2.0.0": - version: 2.1.0 - resolution: "micromark-extension-gfm-autolink-literal@npm:2.1.0" - dependencies: - micromark-util-character: "npm:^2.0.0" - micromark-util-sanitize-uri: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/84e6fbb84ea7c161dfa179665dc90d51116de4c28f3e958260c0423e5a745372b7dcbc87d3cde98213b532e6812f847eef5ae561c9397d7f7da1e59872ef3efe - languageName: node - linkType: hard - -"micromark-extension-gfm-footnote@npm:^2.0.0": - version: 2.1.0 - resolution: "micromark-extension-gfm-footnote@npm:2.1.0" - dependencies: - devlop: "npm:^1.0.0" - micromark-core-commonmark: "npm:^2.0.0" - micromark-factory-space: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-normalize-identifier: "npm:^2.0.0" - micromark-util-sanitize-uri: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/d172e4218968b7371b9321af5cde8c77423f73b233b2b0fcf3ff6fd6f61d2e0d52c49123a9b7910612478bf1f0d5e88c75a3990dd68f70f3933fe812b9f77edc - languageName: node - linkType: hard - -"micromark-extension-gfm-strikethrough@npm:^2.0.0": - version: 2.1.0 - resolution: "micromark-extension-gfm-strikethrough@npm:2.1.0" - dependencies: - devlop: "npm:^1.0.0" - micromark-util-chunked: "npm:^2.0.0" - micromark-util-classify-character: "npm:^2.0.0" - micromark-util-resolve-all: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/ef4f248b865bdda71303b494671b7487808a340b25552b11ca6814dff3fcfaab9be8d294643060bbdb50f79313e4a686ab18b99cbe4d3ee8a4170fcd134234fb - languageName: node - linkType: hard - -"micromark-extension-gfm-table@npm:^2.0.0": - version: 2.1.1 - resolution: "micromark-extension-gfm-table@npm:2.1.1" - dependencies: - devlop: "npm:^1.0.0" - micromark-factory-space: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/04bc00e19b435fa0add62cd029d8b7eb6137522f77832186b1d5ef34544a9bd030c9cf85e92ddfcc5c31f6f0a58a43d4b96dba4fc21316037c734630ee12c912 - languageName: node - linkType: hard - -"micromark-extension-gfm-tagfilter@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0" - dependencies: - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/995558843fff137ae4e46aecb878d8a4691cdf23527dcf1e2f0157d66786be9f7bea0109c52a8ef70e68e3f930af811828ba912239438e31a9cfb9981f44d34d - languageName: node - linkType: hard - -"micromark-extension-gfm-task-list-item@npm:^2.0.0": - version: 2.1.0 - resolution: "micromark-extension-gfm-task-list-item@npm:2.1.0" - dependencies: - devlop: "npm:^1.0.0" - micromark-factory-space: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/78aa537d929e9309f076ba41e5edc99f78d6decd754b6734519ccbbfca8abd52e1c62df68d41a6ae64d2a3fc1646cea955893c79680b0b4385ced4c52296181f - languageName: node - linkType: hard - -"micromark-extension-gfm@npm:^3.0.0": - version: 3.0.0 - resolution: "micromark-extension-gfm@npm:3.0.0" - dependencies: - micromark-extension-gfm-autolink-literal: "npm:^2.0.0" - micromark-extension-gfm-footnote: "npm:^2.0.0" - micromark-extension-gfm-strikethrough: "npm:^2.0.0" - micromark-extension-gfm-table: "npm:^2.0.0" - micromark-extension-gfm-tagfilter: "npm:^2.0.0" - micromark-extension-gfm-task-list-item: "npm:^2.0.0" - micromark-util-combine-extensions: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/970e28df6ebdd7c7249f52a0dda56e0566fbfa9ae56c8eeeb2445d77b6b89d44096880cd57a1c01e7821b1f4e31009109fbaca4e89731bff7b83b8519690e5d9 - languageName: node - linkType: hard - -"micromark-extension-math@npm:^3.0.0": - version: 3.1.0 - resolution: "micromark-extension-math@npm:3.1.0" - dependencies: - "@types/katex": "npm:^0.16.0" - devlop: "npm:^1.0.0" - katex: "npm:^0.16.0" - micromark-factory-space: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/56e6f2185a4613f9d47e7e98cf8605851c990957d9229c942b005e286c8087b61dc9149448d38b2f8be6d42cc6a64aad7e1f2778ddd86fbbb1a2f48a3ca1872f - languageName: node - linkType: hard - -"micromark-extension-mdx-expression@npm:^3.0.0": - version: 3.0.1 - resolution: "micromark-extension-mdx-expression@npm:3.0.1" - dependencies: - "@types/estree": "npm:^1.0.0" - devlop: "npm:^1.0.0" - micromark-factory-mdx-expression: "npm:^2.0.0" - micromark-factory-space: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-events-to-acorn: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/4d8cc5353b083b06bd51c98389de9c198261a5b2b440b75e85000a18d10511f21ba77538d6dfde0e0589df9de3fba9a1d14c2448d30c92d6b461c26d86e397f4 - languageName: node - linkType: hard - -"micromark-extension-mdx-jsx@npm:^3.0.0": - version: 3.0.2 - resolution: "micromark-extension-mdx-jsx@npm:3.0.2" - dependencies: - "@types/estree": "npm:^1.0.0" - devlop: "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^3.0.0" - micromark-factory-mdx-expression: "npm:^2.0.0" - micromark-factory-space: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-events-to-acorn: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - vfile-message: "npm:^4.0.0" - checksum: 10c0/5693b2e51934ac29a6aab521eaa2151f891d1fe092550bbd4ce24e4dd7567c1421a54f5e585a57dfa1769a79570f6df57ddd7a98bf0889dd11d495847a266dd7 - languageName: node - linkType: hard - -"micromark-extension-mdx-md@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-extension-mdx-md@npm:2.0.0" - dependencies: - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/bae91c61273de0e5ba80a980c03470e6cd9d7924aa936f46fbda15d780704d9386e945b99eda200e087b96254fbb4271a9545d5ce02676cd6ae67886a8bf82df - languageName: node - linkType: hard - -"micromark-extension-mdxjs-esm@npm:^3.0.0": - version: 3.0.0 - resolution: "micromark-extension-mdxjs-esm@npm:3.0.0" - dependencies: - "@types/estree": "npm:^1.0.0" - devlop: "npm:^1.0.0" - micromark-core-commonmark: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-events-to-acorn: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - unist-util-position-from-estree: "npm:^2.0.0" - vfile-message: "npm:^4.0.0" - checksum: 10c0/13e3f726495a960650cdedcba39198ace5bdc953ccb12c14d71fc9ed9bb88e40cc3ba9231e973f6984da3b3573e7ddb23ce409f7c16f52a8d57b608bf46c748d - languageName: node - linkType: hard - -"micromark-extension-mdxjs@npm:^3.0.0": - version: 3.0.0 - resolution: "micromark-extension-mdxjs@npm:3.0.0" - dependencies: - acorn: "npm:^8.0.0" - acorn-jsx: "npm:^5.0.0" - micromark-extension-mdx-expression: "npm:^3.0.0" - micromark-extension-mdx-jsx: "npm:^3.0.0" - micromark-extension-mdx-md: "npm:^2.0.0" - micromark-extension-mdxjs-esm: "npm:^3.0.0" - micromark-util-combine-extensions: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/fd84f036ddad0aabbc12e7f1b3e9dcfe31573bbc413c5ae903779ef0366d7a4c08193547e7ba75718c9f45654e45f52e575cfc2f23a5f89205a8a70d9a506aea - languageName: node - linkType: hard - -"micromark-factory-destination@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-factory-destination@npm:2.0.1" - dependencies: - micromark-util-character: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/bbafcf869cee5bf511161354cb87d61c142592fbecea051000ff116068dc85216e6d48519d147890b9ea5d7e2864a6341c0c09d9948c203bff624a80a476023c - languageName: node - linkType: hard - -"micromark-factory-label@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-factory-label@npm:2.0.1" - dependencies: - devlop: "npm:^1.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/0137716b4ecb428114165505e94a2f18855c8bbea21b07a8b5ce514b32a595ed789d2b967125718fc44c4197ceaa48f6609d58807a68e778138d2e6b91b824e8 - languageName: node - linkType: hard - -"micromark-factory-mdx-expression@npm:^2.0.0": - version: 2.0.3 - resolution: "micromark-factory-mdx-expression@npm:2.0.3" - dependencies: - "@types/estree": "npm:^1.0.0" - devlop: "npm:^1.0.0" - micromark-factory-space: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-events-to-acorn: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - unist-util-position-from-estree: "npm:^2.0.0" - vfile-message: "npm:^4.0.0" - checksum: 10c0/a6004ef6272dd01a5d718f2affd7bfb5e08f0849340f5fd96ac823fbc5e9d3b3343acedda50805873ccda5e3b8af4d5fbb302abc874544044ac90c217345cf97 - languageName: node - linkType: hard - -"micromark-factory-space@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-space@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3da81187ce003dd4178c7adc4674052fb8befc8f1a700ae4c8227755f38581a4ae963866dc4857488d62d1dc9837606c9f2f435fa1332f62a0f1c49b83c6a822 - languageName: node - linkType: hard - -"micromark-factory-space@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-factory-space@npm:2.0.1" - dependencies: - micromark-util-character: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/f9ed43f1c0652d8d898de0ac2be3f77f776fffe7dd96bdbba1e02d7ce33d3853c6ff5daa52568fc4fa32cdf3a62d86b85ead9b9189f7211e1d69ff2163c450fb - languageName: node - linkType: hard - -"micromark-factory-title@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-factory-title@npm:2.0.1" - dependencies: - micromark-factory-space: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/e72fad8d6e88823514916890099a5af20b6a9178ccf78e7e5e05f4de99bb8797acb756257d7a3a57a53854cb0086bf8aab15b1a9e9db8982500dd2c9ff5948b6 - languageName: node - linkType: hard - -"micromark-factory-whitespace@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-factory-whitespace@npm:2.0.1" - dependencies: - micromark-factory-space: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/20a1ec58698f24b766510a309b23a10175034fcf1551eaa9da3adcbed3e00cd53d1ebe5f030cf873f76a1cec3c34eb8c50cc227be3344caa9ed25d56cf611224 - languageName: node - linkType: hard - -"micromark-util-character@npm:^1.0.0, micromark-util-character@npm:^1.1.0": - version: 1.2.0 - resolution: "micromark-util-character@npm:1.2.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3390a675a50731b58a8e5493cd802e190427f10fa782079b455b00f6b54e406e36882df7d4a3bd32b709f7a2c3735b4912597ebc1c0a99566a8d8d0b816e2cd4 - languageName: node - linkType: hard - -"micromark-util-character@npm:^2.0.0, micromark-util-character@npm:^2.0.1": - version: 2.1.1 - resolution: "micromark-util-character@npm:2.1.1" - dependencies: - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/d3fe7a5e2c4060fc2a076f9ce699c82a2e87190a3946e1e5eea77f563869b504961f5668d9c9c014724db28ac32fa909070ea8b30c3a39bd0483cc6c04cc76a1 - languageName: node - linkType: hard - -"micromark-util-chunked@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-chunked@npm:2.0.1" - dependencies: - micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/b68c0c16fe8106949537bdcfe1be9cf36c0ccd3bc54c4007003cb0984c3750b6cdd0fd77d03f269a3382b85b0de58bde4f6eedbe7ecdf7244759112289b1ab56 - languageName: node - linkType: hard - -"micromark-util-classify-character@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-classify-character@npm:2.0.1" - dependencies: - micromark-util-character: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/8a02e59304005c475c332f581697e92e8c585bcd45d5d225a66c1c1b14ab5a8062705188c2ccec33cc998d33502514121478b2091feddbc751887fc9c290ed08 - languageName: node - linkType: hard - -"micromark-util-combine-extensions@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-combine-extensions@npm:2.0.1" - dependencies: - micromark-util-chunked: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/f15e282af24c8372cbb10b9b0b3e2c0aa681fea0ca323a44d6bc537dc1d9382c819c3689f14eaa000118f5a163245358ce6276b2cda9a84439cdb221f5d86ae7 - languageName: node - linkType: hard - -"micromark-util-decode-numeric-character-reference@npm:^2.0.0": - version: 2.0.2 - resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.2" - dependencies: - micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/9c8a9f2c790e5593ffe513901c3a110e9ec8882a08f466da014112a25e5059b51551ca0aeb7ff494657d86eceb2f02ee556c6558b8d66aadc61eae4a240da0df - languageName: node - linkType: hard - -"micromark-util-decode-string@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-decode-string@npm:2.0.1" - dependencies: - decode-named-character-reference: "npm:^1.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-decode-numeric-character-reference: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/f24d75b2e5310be6e7b6dee532e0d17d3bf46996841d6295f2a9c87a2046fff4ab603c52ab9d7a7a6430a8b787b1574ae895849c603d262d1b22eef71736b5cb - languageName: node - linkType: hard - -"micromark-util-encode@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-encode@npm:2.0.1" - checksum: 10c0/b2b29f901093845da8a1bf997ea8b7f5e061ffdba85070dfe14b0197c48fda64ffcf82bfe53c90cf9dc185e69eef8c5d41cae3ba918b96bc279326921b59008a - languageName: node - linkType: hard - -"micromark-util-events-to-acorn@npm:^2.0.0": - version: 2.0.3 - resolution: "micromark-util-events-to-acorn@npm:2.0.3" - dependencies: - "@types/estree": "npm:^1.0.0" - "@types/unist": "npm:^3.0.0" - devlop: "npm:^1.0.0" - estree-util-visit: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - vfile-message: "npm:^4.0.0" - checksum: 10c0/a4e0716e943ffdd16a918edf51d4f8291ec2692f5c4d04693dbef3358716fba891f288197afd102c14f4d98dac09d52351046ab7aad1d50b74677bdd5fa683c0 - languageName: node - linkType: hard - -"micromark-util-html-tag-name@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-html-tag-name@npm:2.0.1" - checksum: 10c0/ae80444db786fde908e9295f19a27a4aa304171852c77414516418650097b8afb401961c9edb09d677b06e97e8370cfa65638dde8438ebd41d60c0a8678b85b9 - languageName: node - linkType: hard - -"micromark-util-normalize-identifier@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-normalize-identifier@npm:2.0.1" - dependencies: - micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/5299265fa360769fc499a89f40142f10a9d4a5c3dd8e6eac8a8ef3c2e4a6570e4c009cf75ea46dce5ee31c01f25587bde2f4a5cc0a935584ae86dd857f2babbd - languageName: node - linkType: hard - -"micromark-util-resolve-all@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-resolve-all@npm:2.0.1" - dependencies: - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/bb6ca28764696bb479dc44a2d5b5fe003e7177aeae1d6b0d43f24cc223bab90234092d9c3ce4a4d2b8df095ccfd820537b10eb96bb7044d635f385d65a4c984a - languageName: node - linkType: hard - -"micromark-util-sanitize-uri@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-sanitize-uri@npm:2.0.1" - dependencies: - micromark-util-character: "npm:^2.0.0" - micromark-util-encode: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/60e92166e1870fd4f1961468c2651013ff760617342918e0e0c3c4e872433aa2e60c1e5a672bfe5d89dc98f742d6b33897585cf86ae002cda23e905a3c02527c - languageName: node - linkType: hard - -"micromark-util-subtokenize@npm:^2.0.0": - version: 2.1.0 - resolution: "micromark-util-subtokenize@npm:2.1.0" - dependencies: - devlop: "npm:^1.0.0" - micromark-util-chunked: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/bee69eece4393308e657c293ba80d92ebcb637e5f55e21dcf9c3fa732b91a8eda8ac248d76ff375e675175bfadeae4712e5158ef97eef1111789da1ce7ab5067 - languageName: node - linkType: hard - -"micromark-util-symbol@npm:^1.0.0, micromark-util-symbol@npm:^1.0.1": - version: 1.1.0 - resolution: "micromark-util-symbol@npm:1.1.0" - checksum: 10c0/10ceaed33a90e6bfd3a5d57053dbb53f437d4809cc11430b5a09479c0ba601577059be9286df4a7eae6e350a60a2575dc9fa9d9872b5b8d058c875e075c33803 - languageName: node - linkType: hard - -"micromark-util-symbol@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-symbol@npm:2.0.1" - checksum: 10c0/f2d1b207771e573232436618e78c5e46cd4b5c560dd4a6d63863d58018abbf49cb96ec69f7007471e51434c60de3c9268ef2bf46852f26ff4aacd10f9da16fe9 - languageName: node - linkType: hard - -"micromark-util-types@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-types@npm:1.1.0" - checksum: 10c0/a9749cb0a12a252ff536baabcb7012421b6fad4d91a5fdd80d7b33dc7b4c22e2d0c4637dfe5b902d00247fe6c9b01f4a24fce6b572b16ccaa4da90e6ce2a11e4 - languageName: node - linkType: hard - -"micromark-util-types@npm:^2.0.0": - version: 2.0.2 - resolution: "micromark-util-types@npm:2.0.2" - checksum: 10c0/c8c15b96c858db781c4393f55feec10004bf7df95487636c9a9f7209e51002a5cca6a047c5d2a5dc669ff92da20e57aaa881e81a268d9ccadb647f9dce305298 - languageName: node - linkType: hard - -"micromark@npm:^4.0.0": - version: 4.0.2 - resolution: "micromark@npm:4.0.2" - dependencies: - "@types/debug": "npm:^4.0.0" - debug: "npm:^4.0.0" - decode-named-character-reference: "npm:^1.0.0" - devlop: "npm:^1.0.0" - micromark-core-commonmark: "npm:^2.0.0" - micromark-factory-space: "npm:^2.0.0" - micromark-util-character: "npm:^2.0.0" - micromark-util-chunked: "npm:^2.0.0" - micromark-util-combine-extensions: "npm:^2.0.0" - micromark-util-decode-numeric-character-reference: "npm:^2.0.0" - micromark-util-encode: "npm:^2.0.0" - micromark-util-normalize-identifier: "npm:^2.0.0" - micromark-util-resolve-all: "npm:^2.0.0" - micromark-util-sanitize-uri: "npm:^2.0.0" - micromark-util-subtokenize: "npm:^2.0.0" - micromark-util-symbol: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - checksum: 10c0/07462287254219d6eda6eac8a3cebaff2994e0575499e7088027b825105e096e4f51e466b14b2a81b71933a3b6c48ee069049d87bc2c2127eee50d9cc69e8af6 - languageName: node - linkType: hard - -"micromatch@npm:^4.0.2, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": - version: 4.0.8 - resolution: "micromatch@npm:4.0.8" - dependencies: - braces: "npm:^3.0.3" - picomatch: "npm:^2.3.1" - checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 - languageName: node - linkType: hard - -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa - languageName: node - linkType: hard - -"mime-db@npm:>= 1.43.0 < 2": - version: 1.54.0 - resolution: "mime-db@npm:1.54.0" - checksum: 10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284 - languageName: node - linkType: hard - -"mime-db@npm:~1.33.0": - version: 1.33.0 - resolution: "mime-db@npm:1.33.0" - checksum: 10c0/79172ce5468c8503b49dddfdddc18d3f5fe2599f9b5fe1bc321a8cbee14c96730fc6db22f907b23701b05b2936f865795f62ec3a78a7f3c8cb2450bb68c6763e - languageName: node - linkType: hard - -"mime-types@npm:2.1.18": - version: 2.1.18 - resolution: "mime-types@npm:2.1.18" - dependencies: - mime-db: "npm:~1.33.0" - checksum: 10c0/a96a8d12f4bb98bc7bfac6a8ccbd045f40368fc1030d9366050c3613825d3715d1c1f393e10a75a885d2cdc1a26cd6d5e11f3a2a0d5c4d361f00242139430a0f - languageName: node - linkType: hard - -"mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 - languageName: node - linkType: hard - -"mime@npm:1.6.0": - version: 1.6.0 - resolution: "mime@npm:1.6.0" - bin: - mime: cli.js - checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 - languageName: node - linkType: hard - -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 - languageName: node - linkType: hard - -"mimic-response@npm:^3.1.0": - version: 3.1.0 - resolution: "mimic-response@npm:3.1.0" - checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 - languageName: node - linkType: hard - -"mimic-response@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-response@npm:4.0.0" - checksum: 10c0/761d788d2668ae9292c489605ffd4fad220f442fbae6832adce5ebad086d691e906a6d5240c290293c7a11e99fbdbbef04abbbed498bf8699a4ee0f31315e3fb - languageName: node - linkType: hard - -"mini-css-extract-plugin@npm:^2.9.1": - version: 2.9.2 - resolution: "mini-css-extract-plugin@npm:2.9.2" - dependencies: - schema-utils: "npm:^4.0.0" - tapable: "npm:^2.2.1" - peerDependencies: - webpack: ^5.0.0 - checksum: 10c0/5d3218dbd7db48b572925ddac05162a7415bf81b321f1a0c07016ec643cb5720c8a836ae68d45f5de826097a3013b601706c9c5aacb7f610dc2041b271de2ce0 - languageName: node - linkType: hard - -"minimalistic-assert@npm:^1.0.0": - version: 1.0.1 - resolution: "minimalistic-assert@npm:1.0.1" - checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd - languageName: node - linkType: hard - -"minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimatch@npm:^9.0.4": - version: 9.0.5 - resolution: "minimatch@npm:9.0.5" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed - languageName: node - linkType: hard - -"minimist@npm:^1.2.0": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^4.0.0": - version: 4.0.1 - resolution: "minipass-fetch@npm:4.0.1" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^3.0.1" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": - version: 7.1.2 - resolution: "minipass@npm:7.1.2" - checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 - languageName: node - linkType: hard - -"minizlib@npm:^3.0.1": - version: 3.0.2 - resolution: "minizlib@npm:3.0.2" - dependencies: - minipass: "npm:^7.1.2" - checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 - languageName: node - linkType: hard - -"mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d - languageName: node - linkType: hard - -"mrmime@npm:^2.0.0": - version: 2.0.1 - resolution: "mrmime@npm:2.0.1" - checksum: 10c0/af05afd95af202fdd620422f976ad67dc18e6ee29beb03dd1ce950ea6ef664de378e44197246df4c7cdd73d47f2e7143a6e26e473084b9e4aa2095c0ad1e1761 - languageName: node - linkType: hard - -"ms@npm:2.0.0": - version: 2.0.0 - resolution: "ms@npm:2.0.0" - checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d - languageName: node - linkType: hard - -"ms@npm:2.1.3, ms@npm:^2.1.3": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - -"multicast-dns@npm:^7.2.5": - version: 7.2.5 - resolution: "multicast-dns@npm:7.2.5" - dependencies: - dns-packet: "npm:^5.2.2" - thunky: "npm:^1.0.2" - bin: - multicast-dns: cli.js - checksum: 10c0/5120171d4bdb1577764c5afa96e413353bff530d1b37081cb29cccc747f989eb1baf40574fe8e27060fc1aef72b59c042f72b9b208413de33bcf411343c69057 - languageName: node - linkType: hard - -"nanoid@npm:^3.3.8": - version: 3.3.11 - resolution: "nanoid@npm:3.3.11" - bin: - nanoid: bin/nanoid.cjs - checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b - languageName: node - linkType: hard - -"negotiator@npm:0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 - languageName: node - linkType: hard - -"negotiator@npm:^1.0.0": - version: 1.0.0 - resolution: "negotiator@npm:1.0.0" - checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b - languageName: node - linkType: hard - -"negotiator@npm:~0.6.4": - version: 0.6.4 - resolution: "negotiator@npm:0.6.4" - checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea - languageName: node - linkType: hard - -"neo-async@npm:^2.6.2": - version: 2.6.2 - resolution: "neo-async@npm:2.6.2" - checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d - languageName: node - linkType: hard - -"no-case@npm:^3.0.4": - version: 3.0.4 - resolution: "no-case@npm:3.0.4" - dependencies: - lower-case: "npm:^2.0.2" - tslib: "npm:^2.0.3" - checksum: 10c0/8ef545f0b3f8677c848f86ecbd42ca0ff3cd9dd71c158527b344c69ba14710d816d8489c746b6ca225e7b615108938a0bda0a54706f8c255933703ac1cf8e703 - languageName: node - linkType: hard - -"node-emoji@npm:^2.1.0": - version: 2.2.0 - resolution: "node-emoji@npm:2.2.0" - dependencies: - "@sindresorhus/is": "npm:^4.6.0" - char-regex: "npm:^1.0.2" - emojilib: "npm:^2.4.0" - skin-tone: "npm:^2.0.0" - checksum: 10c0/9525defbd90a82a2131758c2470203fa2a2faa8edd177147a8654a26307fe03594e52847ecbe2746d06cfc5c50acd12bd500f035350a7609e8217c9894c19aad - languageName: node - linkType: hard - -"node-forge@npm:^1": - version: 1.3.1 - resolution: "node-forge@npm:1.3.1" - checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 11.2.0 - resolution: "node-gyp@npm:11.2.0" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^14.0.3" - nopt: "npm:^8.0.0" - proc-log: "npm:^5.0.0" - semver: "npm:^7.3.5" - tar: "npm:^7.4.3" - tinyglobby: "npm:^0.2.12" - which: "npm:^5.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 - languageName: node - linkType: hard - -"node-releases@npm:^2.0.19": - version: 2.0.19 - resolution: "node-releases@npm:2.0.19" - checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa - languageName: node - linkType: hard - -"nopt@npm:^8.0.0": - version: 8.1.0 - resolution: "nopt@npm:8.1.0" - dependencies: - abbrev: "npm:^3.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"normalize-range@npm:^0.1.2": - version: 0.1.2 - resolution: "normalize-range@npm:0.1.2" - checksum: 10c0/bf39b73a63e0a42ad1a48c2bd1bda5a07ede64a7e2567307a407674e595bcff0fa0d57e8e5f1e7fa5e91000797c7615e13613227aaaa4d6d6e87f5bd5cc95de6 - languageName: node - linkType: hard - -"normalize-url@npm:^8.0.0": - version: 8.0.1 - resolution: "normalize-url@npm:8.0.1" - checksum: 10c0/eb439231c4b84430f187530e6fdac605c5048ef4ec556447a10c00a91fc69b52d8d8298d9d608e68d3e0f7dc2d812d3455edf425e0f215993667c3183bcab1ef - languageName: node - linkType: hard - -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" - dependencies: - path-key: "npm:^3.0.0" - checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac - languageName: node - linkType: hard - -"nprogress@npm:^0.2.0": - version: 0.2.0 - resolution: "nprogress@npm:0.2.0" - checksum: 10c0/eab9a923a1ad1eed71a455ecfbc358442dd9bcd71b9fa3fa1c67eddf5159360b182c218f76fca320c97541a1b45e19ced04e6dcb044a662244c5419f8ae9e821 - languageName: node - linkType: hard - -"nth-check@npm:^2.0.1": - version: 2.1.1 - resolution: "nth-check@npm:2.1.1" - dependencies: - boolbase: "npm:^1.0.0" - checksum: 10c0/5fee7ff309727763689cfad844d979aedd2204a817fbaaf0e1603794a7c20db28548d7b024692f953557df6ce4a0ee4ae46cd8ebd9b36cfb300b9226b567c479 - languageName: node - linkType: hard - -"null-loader@npm:^4.0.1": - version: 4.0.1 - resolution: "null-loader@npm:4.0.1" - dependencies: - loader-utils: "npm:^2.0.0" - schema-utils: "npm:^3.0.0" - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: 10c0/fe9a74a928c9ddc1eab7be0e4322516439562d6efd6feeb0f7c61777d4b79a6a8e5a6bc8133deb59408f3f423bdf84c154a88168154a583154e9e33d544b4d42 - languageName: node - linkType: hard - -"object-assign@npm:^4.1.1": - version: 4.1.1 - resolution: "object-assign@npm:4.1.1" - checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 - languageName: node - linkType: hard - -"object-inspect@npm:^1.13.3": - version: 1.13.4 - resolution: "object-inspect@npm:1.13.4" - checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 - languageName: node - linkType: hard - -"object-keys@npm:^1.1.1": - version: 1.1.1 - resolution: "object-keys@npm:1.1.1" - checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d - languageName: node - linkType: hard - -"object.assign@npm:^4.1.0": - version: 4.1.7 - resolution: "object.assign@npm:4.1.7" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - has-symbols: "npm:^1.1.0" - object-keys: "npm:^1.1.1" - checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc - languageName: node - linkType: hard - -"obuf@npm:^1.0.0, obuf@npm:^1.1.2": - version: 1.1.2 - resolution: "obuf@npm:1.1.2" - checksum: 10c0/520aaac7ea701618eacf000fc96ae458e20e13b0569845800fc582f81b386731ab22d55354b4915d58171db00e79cfcd09c1638c02f89577ef092b38c65b7d81 - languageName: node - linkType: hard - -"on-finished@npm:2.4.1": - version: 2.4.1 - resolution: "on-finished@npm:2.4.1" - dependencies: - ee-first: "npm:1.1.1" - checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 - languageName: node - linkType: hard - -"on-headers@npm:~1.0.2": - version: 1.0.2 - resolution: "on-headers@npm:1.0.2" - checksum: 10c0/f649e65c197bf31505a4c0444875db0258e198292f34b884d73c2f751e91792ef96bb5cf89aa0f4fecc2e4dc662461dda606b1274b0e564f539cae5d2f5fc32f - languageName: node - linkType: hard - -"once@npm:^1.3.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"onetime@npm:^5.1.2": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" - dependencies: - mimic-fn: "npm:^2.1.0" - checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f - languageName: node - linkType: hard - -"open@npm:^8.0.9, open@npm:^8.4.0": - version: 8.4.2 - resolution: "open@npm:8.4.2" - dependencies: - define-lazy-prop: "npm:^2.0.0" - is-docker: "npm:^2.1.1" - is-wsl: "npm:^2.2.0" - checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 - languageName: node - linkType: hard - -"opener@npm:^1.5.2": - version: 1.5.2 - resolution: "opener@npm:1.5.2" - bin: - opener: bin/opener-bin.js - checksum: 10c0/dd56256ab0cf796585617bc28e06e058adf09211781e70b264c76a1dbe16e90f868c974e5bf5309c93469157c7d14b89c35dc53fe7293b0e40b4d2f92073bc79 - languageName: node - linkType: hard - -"p-cancelable@npm:^3.0.0": - version: 3.0.0 - resolution: "p-cancelable@npm:3.0.0" - checksum: 10c0/948fd4f8e87b956d9afc2c6c7392de9113dac817cb1cecf4143f7a3d4c57ab5673614a80be3aba91ceec5e4b69fd8c869852d7e8048bc3d9273c4c36ce14b9aa - languageName: node - linkType: hard - -"p-limit@npm:^2.0.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" - dependencies: - p-try: "npm:^2.0.0" - checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 - languageName: node - linkType: hard - -"p-limit@npm:^3.0.2": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - -"p-limit@npm:^4.0.0": - version: 4.0.0 - resolution: "p-limit@npm:4.0.0" - dependencies: - yocto-queue: "npm:^1.0.0" - checksum: 10c0/a56af34a77f8df2ff61ddfb29431044557fcbcb7642d5a3233143ebba805fc7306ac1d448de724352861cb99de934bc9ab74f0d16fe6a5460bdbdf938de875ad - languageName: node - linkType: hard - -"p-locate@npm:^3.0.0": - version: 3.0.0 - resolution: "p-locate@npm:3.0.0" - dependencies: - p-limit: "npm:^2.0.0" - checksum: 10c0/7b7f06f718f19e989ce6280ed4396fb3c34dabdee0df948376483032f9d5ec22fdf7077ec942143a75827bb85b11da72016497fc10dac1106c837ed593969ee8 - languageName: node - linkType: hard - -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - -"p-locate@npm:^6.0.0": - version: 6.0.0 - resolution: "p-locate@npm:6.0.0" - dependencies: - p-limit: "npm:^4.0.0" - checksum: 10c0/d72fa2f41adce59c198270aa4d3c832536c87a1806e0f69dffb7c1a7ca998fb053915ca833d90f166a8c082d3859eabfed95f01698a3214c20df6bb8de046312 - languageName: node - linkType: hard - -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 - languageName: node - linkType: hard - -"p-map@npm:^7.0.2": - version: 7.0.3 - resolution: "p-map@npm:7.0.3" - checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c - languageName: node - linkType: hard - -"p-retry@npm:^4.5.0": - version: 4.6.2 - resolution: "p-retry@npm:4.6.2" - dependencies: - "@types/retry": "npm:0.12.0" - retry: "npm:^0.13.1" - checksum: 10c0/d58512f120f1590cfedb4c2e0c42cb3fa66f3cea8a4646632fcb834c56055bb7a6f138aa57b20cc236fb207c9d694e362e0b5c2b14d9b062f67e8925580c73b0 - languageName: node - linkType: hard - -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f - languageName: node - linkType: hard - -"package-json-from-dist@npm:^1.0.0": - version: 1.0.1 - resolution: "package-json-from-dist@npm:1.0.1" - checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b - languageName: node - linkType: hard - -"package-json@npm:^8.1.0": - version: 8.1.1 - resolution: "package-json@npm:8.1.1" - dependencies: - got: "npm:^12.1.0" - registry-auth-token: "npm:^5.0.1" - registry-url: "npm:^6.0.0" - semver: "npm:^7.3.7" - checksum: 10c0/83b057878bca229033aefad4ef51569b484e63a65831ddf164dc31f0486817e17ffcb58c819c7af3ef3396042297096b3ffc04e107fd66f8f48756f6d2071c8f - languageName: node - linkType: hard - -"param-case@npm:^3.0.4": - version: 3.0.4 - resolution: "param-case@npm:3.0.4" - dependencies: - dot-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/ccc053f3019f878eca10e70ec546d92f51a592f762917dafab11c8b532715dcff58356118a6f350976e4ab109e321756f05739643ed0ca94298e82291e6f9e76 - languageName: node - linkType: hard - -"parent-module@npm:^1.0.0": - version: 1.0.1 - resolution: "parent-module@npm:1.0.1" - dependencies: - callsites: "npm:^3.0.0" - checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 - languageName: node - linkType: hard - -"parse-entities@npm:^4.0.0": - version: 4.0.2 - resolution: "parse-entities@npm:4.0.2" - dependencies: - "@types/unist": "npm:^2.0.0" - character-entities-legacy: "npm:^3.0.0" - character-reference-invalid: "npm:^2.0.0" - decode-named-character-reference: "npm:^1.0.0" - is-alphanumerical: "npm:^2.0.0" - is-decimal: "npm:^2.0.0" - is-hexadecimal: "npm:^2.0.0" - checksum: 10c0/a13906b1151750b78ed83d386294066daf5fb559e08c5af9591b2d98cc209123103016a01df776f65f8219ad26652d6d6b210d0974d452049cddfc53a8916c34 - languageName: node - linkType: hard - -"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": - version: 5.2.0 - resolution: "parse-json@npm:5.2.0" - dependencies: - "@babel/code-frame": "npm:^7.0.0" - error-ex: "npm:^1.3.1" - json-parse-even-better-errors: "npm:^2.3.0" - lines-and-columns: "npm:^1.1.6" - checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 - languageName: node - linkType: hard - -"parse-numeric-range@npm:^1.3.0": - version: 1.3.0 - resolution: "parse-numeric-range@npm:1.3.0" - checksum: 10c0/53465afaa92111e86697281b684aa4574427360889cc23a1c215488c06b72441febdbf09f47ab0bef9a0c701e059629f3eebd2fe6fb241a254ad7a7a642aebe8 - languageName: node - linkType: hard - -"parse5-htmlparser2-tree-adapter@npm:^7.0.0": - version: 7.1.0 - resolution: "parse5-htmlparser2-tree-adapter@npm:7.1.0" - dependencies: - domhandler: "npm:^5.0.3" - parse5: "npm:^7.0.0" - checksum: 10c0/e5a4e0b834c84c9e244b5749f8d007f4baaeafac7a1da2c54be3421ffd9ef8fdec4f198bf55cda22e88e6ba95e9943f6ed5aa3ae5900b39972ebf5dc8c3f4722 - languageName: node - linkType: hard - -"parse5@npm:^7.0.0": - version: 7.3.0 - resolution: "parse5@npm:7.3.0" - dependencies: - entities: "npm:^6.0.0" - checksum: 10c0/7fd2e4e247e85241d6f2a464d0085eed599a26d7b0a5233790c49f53473232eb85350e8133344d9b3fd58b89339e7ad7270fe1f89d28abe50674ec97b87f80b5 - languageName: node - linkType: hard - -"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": - version: 1.3.3 - resolution: "parseurl@npm:1.3.3" - checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 - languageName: node - linkType: hard - -"pascal-case@npm:^3.1.2": - version: 3.1.2 - resolution: "pascal-case@npm:3.1.2" - dependencies: - no-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/05ff7c344809fd272fc5030ae0ee3da8e4e63f36d47a1e0a4855ca59736254192c5a27b5822ed4bae96e54048eec5f6907713cfcfff7cdf7a464eaf7490786d8 - languageName: node - linkType: hard - -"path-exists@npm:^3.0.0": - version: 3.0.0 - resolution: "path-exists@npm:3.0.0" - checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b - languageName: node - linkType: hard - -"path-exists@npm:^5.0.0": - version: 5.0.0 - resolution: "path-exists@npm:5.0.0" - checksum: 10c0/b170f3060b31604cde93eefdb7392b89d832dfbc1bed717c9718cbe0f230c1669b7e75f87e19901da2250b84d092989a0f9e44d2ef41deb09aa3ad28e691a40a - languageName: node - linkType: hard - -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - -"path-is-inside@npm:1.0.2": - version: 1.0.2 - resolution: "path-is-inside@npm:1.0.2" - checksum: 10c0/7fdd4b41672c70461cce734fc222b33e7b447fa489c7c4377c95e7e6852d83d69741f307d88ec0cc3b385b41cb4accc6efac3c7c511cd18512e95424f5fa980c - languageName: node - linkType: hard - -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"path-parse@npm:^1.0.7": - version: 1.0.7 - resolution: "path-parse@npm:1.0.7" - checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 - languageName: node - linkType: hard - -"path-scurry@npm:^1.11.1": - version: 1.11.1 - resolution: "path-scurry@npm:1.11.1" - dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d - languageName: node - linkType: hard - -"path-to-regexp@npm:0.1.12": - version: 0.1.12 - resolution: "path-to-regexp@npm:0.1.12" - checksum: 10c0/1c6ff10ca169b773f3bba943bbc6a07182e332464704572962d277b900aeee81ac6aa5d060ff9e01149636c30b1f63af6e69dd7786ba6e0ddb39d4dee1f0645b - languageName: node - linkType: hard - -"path-to-regexp@npm:3.3.0": - version: 3.3.0 - resolution: "path-to-regexp@npm:3.3.0" - checksum: 10c0/ffa0ebe7088d38d435a8d08b0fe6e8c93ceb2a81a65d4dd1d9a538f52e09d5e3474ed5f553cb3b180d894b0caa10698a68737ab599fd1e56b4663d1a64c9f77b - languageName: node - linkType: hard - -"path-to-regexp@npm:^1.7.0": - version: 1.9.0 - resolution: "path-to-regexp@npm:1.9.0" - dependencies: - isarray: "npm:0.0.1" - checksum: 10c0/de9ddb01b84d9c2c8e2bed18630d8d039e2d6f60a6538595750fa08c7a6482512257464c8da50616f266ab2cdd2428387e85f3b089e4c3f25d0c537e898a0751 - languageName: node - linkType: hard - -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c - languageName: node - linkType: hard - -"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": - version: 1.1.1 - resolution: "picocolors@npm:1.1.1" - checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 - languageName: node - linkType: hard - -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"picomatch@npm:^4.0.2": - version: 4.0.2 - resolution: "picomatch@npm:4.0.2" - checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc - languageName: node - linkType: hard - -"pkg-dir@npm:^7.0.0": - version: 7.0.0 - resolution: "pkg-dir@npm:7.0.0" - dependencies: - find-up: "npm:^6.3.0" - checksum: 10c0/1afb23d2efb1ec9d8b2c4a0c37bf146822ad2774f074cb05b853be5dca1b40815c5960dd126df30ab8908349262a266f31b771e877235870a3b8fd313beebec5 - languageName: node - linkType: hard - -"pkg-up@npm:^3.1.0": - version: 3.1.0 - resolution: "pkg-up@npm:3.1.0" - dependencies: - find-up: "npm:^3.0.0" - checksum: 10c0/ecb60e1f8e1f611c0bdf1a0b6a474d6dfb51185567dc6f29cdef37c8d480ecba5362e006606bb290519bbb6f49526c403fabea93c3090c20368d98bb90c999ab - languageName: node - linkType: hard - -"postcss-attribute-case-insensitive@npm:^7.0.1": - version: 7.0.1 - resolution: "postcss-attribute-case-insensitive@npm:7.0.1" - dependencies: - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/48945abe2024e2d2e4c37d30b8c1aaf37af720f24f6a996f7ea7e7ed33621f5c22cf247ed22028c0c922de040c58c0802729bc39b903cb1693f4b63c0b49da34 - languageName: node - linkType: hard - -"postcss-calc@npm:^9.0.1": - version: 9.0.1 - resolution: "postcss-calc@npm:9.0.1" - dependencies: - postcss-selector-parser: "npm:^6.0.11" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.2 - checksum: 10c0/e0df07337162dbcaac5d6e030c7fd289e21da8766a9daca5d6b2b3c8094bb524ae5d74c70048ea7fe5fe4960ce048c60ac97922d917c3bbff34f58e9d2b0eb0e - languageName: node - linkType: hard - -"postcss-clamp@npm:^4.1.0": - version: 4.1.0 - resolution: "postcss-clamp@npm:4.1.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.6 - checksum: 10c0/701261026b38a4c27b3c3711635fac96005f36d3270adb76dbdb1eebc950fc841db45283ee66068a7121565592e9d7967d5534e15b6e4dd266afcabf9eafa905 - languageName: node - linkType: hard - -"postcss-color-functional-notation@npm:^7.0.9": - version: 7.0.9 - resolution: "postcss-color-functional-notation@npm:7.0.9" - dependencies: - "@csstools/css-color-parser": "npm:^3.0.9" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/utilities": "npm:^2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/62ffe51ec200df8e01daca3f45b2e05e7e509b57bfe50c880490878aff9bc63ed36cc92db42f0274a21f21330acd8fb1dff6529f7e3a202d100ea74914cf4cfd - languageName: node - linkType: hard - -"postcss-color-hex-alpha@npm:^10.0.0": - version: 10.0.0 - resolution: "postcss-color-hex-alpha@npm:10.0.0" - dependencies: - "@csstools/utilities": "npm:^2.0.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/8a6dcb27403d04b55d6de88bf3074622bcea537fc4436bbcb346e92289c4d17059444e2e6c3554c325e7a777bb4cdc711e764a83123b4000aec211052e957d5b - languageName: node - linkType: hard - -"postcss-color-rebeccapurple@npm:^10.0.0": - version: 10.0.0 - resolution: "postcss-color-rebeccapurple@npm:10.0.0" - dependencies: - "@csstools/utilities": "npm:^2.0.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/308e33f76f2b48c1c2121d4502fc053e869f3415898de7d30314353df680e79b37497e7b628e3447edc1049091da3672f7d891e45604f238598e846e06b893ed - languageName: node - linkType: hard - -"postcss-colormin@npm:^6.1.0": - version: 6.1.0 - resolution: "postcss-colormin@npm:6.1.0" - dependencies: - browserslist: "npm:^4.23.0" - caniuse-api: "npm:^3.0.0" - colord: "npm:^2.9.3" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/0802963fa0d8f2fe408b2e088117670f5303c69a58c135f0ecf0e5ceff69e95e87111b22c4e29c9adb2f69aa8d3bc175f4e8e8708eeb99c9ffc36c17064de427 - languageName: node - linkType: hard - -"postcss-convert-values@npm:^6.1.0": - version: 6.1.0 - resolution: "postcss-convert-values@npm:6.1.0" - dependencies: - browserslist: "npm:^4.23.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/a80066965cb58fe8fcaf79f306b32c83fc678e1f0678e43f4db3e9fee06eed6db92cf30631ad348a17492769d44757400493c91a33ee865ee8dedea9234a11f5 - languageName: node - linkType: hard - -"postcss-custom-media@npm:^11.0.5": - version: 11.0.5 - resolution: "postcss-custom-media@npm:11.0.5" - dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/media-query-list-parser": "npm:^4.0.2" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/5ba1ca0383818e83d5f6f398a2b0c12cfda066b5d552adfc0e030a2c5f8690c2cc6224f9a1832a9c780dae3fd8d00d78c4a5c88eb36b731da1752f0c3917d488 - languageName: node - linkType: hard - -"postcss-custom-properties@npm:^14.0.4": - version: 14.0.4 - resolution: "postcss-custom-properties@npm:14.0.4" - dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/utilities": "npm:^2.0.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/5b101ee71289657cc2e5a16f4912009c10441052e2c54bd9e4f3d4d72b652bab56adb662ddaa96881413e375cf9852e2159b3c778d953442ce86efb781c3b2bf - languageName: node - linkType: hard - -"postcss-custom-selectors@npm:^8.0.4": - version: 8.0.4 - resolution: "postcss-custom-selectors@npm:8.0.4" - dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/09d494d2580d0a99f57684f79793d03358286c32460b61a84063c33bdde24865771cb1205efe9a8e26a508be24eba4fb93fc7f1e96ba21ca96a5d17fadb24863 - languageName: node - linkType: hard - -"postcss-dir-pseudo-class@npm:^9.0.1": - version: 9.0.1 - resolution: "postcss-dir-pseudo-class@npm:9.0.1" - dependencies: - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/da9d3387648c5c3161a653d354c8f3e70a299108df3977e8aa65cf10793e4dd58a2711b3426cd63716245b13584ca8d95adcd6e10e3c9adbc61d08743e2d8690 - languageName: node - linkType: hard - -"postcss-discard-comments@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-discard-comments@npm:6.0.2" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/338a1fcba7e2314d956e5e5b9bd1e12e6541991bf85ac72aed6e229a029bf60edb31f11576b677623576169aa7d9c75e1be259ac7b50d0b735b841b5518f9da9 - languageName: node - linkType: hard - -"postcss-discard-duplicates@npm:^6.0.3": - version: 6.0.3 - resolution: "postcss-discard-duplicates@npm:6.0.3" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/24d2f00e54668f2837eb38a64b1751d7a4a73b2752f9749e61eb728f1fae837984bc2b339f7f5207aff5f66f72551253489114b59b9ba21782072677a81d7d1b - languageName: node - linkType: hard - -"postcss-discard-empty@npm:^6.0.3": - version: 6.0.3 - resolution: "postcss-discard-empty@npm:6.0.3" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/1af08bb29f18eda41edf3602b257d89a4cf0a16f79fc773cfebd4a37251f8dbd9b77ac18efe55d0677d000b43a8adf2ef9328d31961c810e9433a38494a1fa65 - languageName: node - linkType: hard - -"postcss-discard-overridden@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-discard-overridden@npm:6.0.2" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/fda70ef3cd4cb508369c5bbbae44d7760c40ec9f2e65df1cd1b6e0314317fb1d25ae7f64987ca84e66889c1e9d1862487a6ce391c159dfe04d536597bfc5030d - languageName: node - linkType: hard - -"postcss-discard-unused@npm:^6.0.5": - version: 6.0.5 - resolution: "postcss-discard-unused@npm:6.0.5" - dependencies: - postcss-selector-parser: "npm:^6.0.16" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/fca82f17395a7fcc78eab4e03dfb05958beb240c10cacb3836b832c6ea99f5259980c70890a9b7d8b67adf8071b61f3fcf1b432c7a116397aaf67909366da5cc - languageName: node - linkType: hard - -"postcss-double-position-gradients@npm:^6.0.1": - version: 6.0.1 - resolution: "postcss-double-position-gradients@npm:6.0.1" - dependencies: - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/utilities": "npm:^2.0.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/4c6cf3f54b2154cd622cdcaea58a7634c2e19bc0c366c73c46a27a3e31aa280c8721ee2b21cdd5cdca3166052cf5881c16bab2836b8896e71578213957021d52 - languageName: node - linkType: hard - -"postcss-focus-visible@npm:^10.0.1": - version: 10.0.1 - resolution: "postcss-focus-visible@npm:10.0.1" - dependencies: - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/c5ecc8536a708a49a99d0abd68a88a160664e6c832c808db8edd9f0221e7017a258daa87e49daf2cb098cb037005d46cf492403c8c9c92ad8835d30adaccf665 - languageName: node - linkType: hard - -"postcss-focus-within@npm:^9.0.1": - version: 9.0.1 - resolution: "postcss-focus-within@npm:9.0.1" - dependencies: - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/d6ab49d2a7f33485a9e137dc77ec92c5619a3ec92e1e672734fc604853ff1f3c0c189085c12461614be4fcb03ea0347d91791a45986a18d50b5228d161eda57a - languageName: node - linkType: hard - -"postcss-font-variant@npm:^5.0.0": - version: 5.0.0 - resolution: "postcss-font-variant@npm:5.0.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 10c0/ccc96460cf6a52b5439c26c9a5ea0589882e46161e3c2331d4353de7574448f5feef667d1a68f7f39b9fe3ee75d85957383ae82bbfcf87c3162c7345df4a444e - languageName: node - linkType: hard - -"postcss-gap-properties@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-gap-properties@npm:6.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/4e07e0d3927d0e65d67eaf047ac39e08d39cb1bf74e16e10c7df7f0d01b184a77ea59f63fd5691b5ed6df159970b972db28cb784d883e26e981137696460897d - languageName: node - linkType: hard - -"postcss-image-set-function@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-image-set-function@npm:7.0.0" - dependencies: - "@csstools/utilities": "npm:^2.0.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/913fd9492f00122aa0c2550fb0d72130428cbe1e6465bc65e8fe71e9deb10ac0c01d7caceb68b560da759139e8cbc6c90ed22dfe6cf34949af49bb86bcbf4d3a - languageName: node - linkType: hard - -"postcss-lab-function@npm:^7.0.9": - version: 7.0.9 - resolution: "postcss-lab-function@npm:7.0.9" - dependencies: - "@csstools/css-color-parser": "npm:^3.0.9" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/utilities": "npm:^2.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/4180669e7555d474b660d106de5fa1d4a705d693451254123bf56ab6dc1a82e4e175c387868703c14e4637d795d461b5e7f10e74d7b42df55a31f6b52bfa048e - languageName: node - linkType: hard - -"postcss-loader@npm:^7.3.3": - version: 7.3.4 - resolution: "postcss-loader@npm:7.3.4" - dependencies: - cosmiconfig: "npm:^8.3.5" - jiti: "npm:^1.20.0" - semver: "npm:^7.5.4" - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - checksum: 10c0/1bf7614aeea9ad1f8ee6be3a5451576c059391688ea67f825aedc2674056369597faeae4e4a81fe10843884c9904a71403d9a54197e1f560e8fbb9e61f2a2680 - languageName: node - linkType: hard - -"postcss-logical@npm:^8.1.0": - version: 8.1.0 - resolution: "postcss-logical@npm:8.1.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/0e2e9e901d8a550db7f682d46b1f7e4f363c1ada061dc8e4548e2b563c5e39f3684a2d7c3f11fe061188782bca37874e34967fc6179fa6d98a49ff66a0076d27 - languageName: node - linkType: hard - -"postcss-merge-idents@npm:^6.0.3": - version: 6.0.3 - resolution: "postcss-merge-idents@npm:6.0.3" - dependencies: - cssnano-utils: "npm:^4.0.2" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/fdb51d971df33218bd5fdd9619e5a4d854e23affcea51f96bf4391260cb8d0bec937854582fa9a19bde1fa1b2a43fa5a2f179da23a3adeb8e8d292a4749a8ed7 - languageName: node - linkType: hard - -"postcss-merge-longhand@npm:^6.0.5": - version: 6.0.5 - resolution: "postcss-merge-longhand@npm:6.0.5" - dependencies: - postcss-value-parser: "npm:^4.2.0" - stylehacks: "npm:^6.1.1" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/5a223a7f698c05ab42e9997108a7ff27ea1e0c33a11a353d65a04fc89c3b5b750b9e749550d76b6406329117a055adfc79dde7fee48dca5c8e167a2854ae3fea - languageName: node - linkType: hard - -"postcss-merge-rules@npm:^6.1.1": - version: 6.1.1 - resolution: "postcss-merge-rules@npm:6.1.1" - dependencies: - browserslist: "npm:^4.23.0" - caniuse-api: "npm:^3.0.0" - cssnano-utils: "npm:^4.0.2" - postcss-selector-parser: "npm:^6.0.16" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/6d8952dbb19b1e59bf5affe0871fa1be6515103466857cff5af879d6cf619659f8642ec7a931cabb7cdbd393d8c1e91748bf70bee70fa3edea010d4e25786d04 - languageName: node - linkType: hard - -"postcss-minify-font-values@npm:^6.1.0": - version: 6.1.0 - resolution: "postcss-minify-font-values@npm:6.1.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/0d6567170c22a7db42096b5eac298f041614890fbe01759a9fa5ccda432f2bb09efd399d92c11bf6675ae13ccd259db4602fad3c358317dee421df5f7ab0a003 - languageName: node - linkType: hard - -"postcss-minify-gradients@npm:^6.0.3": - version: 6.0.3 - resolution: "postcss-minify-gradients@npm:6.0.3" - dependencies: - colord: "npm:^2.9.3" - cssnano-utils: "npm:^4.0.2" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/7fcbcec94fe5455b89fe1b424a451198e60e0407c894bbacdc062d9fdef2f8571b483b5c3bb17f22d2f1249431251b2de22e1e4e8b0614d10624f8ee6e71afd2 - languageName: node - linkType: hard - -"postcss-minify-params@npm:^6.1.0": - version: 6.1.0 - resolution: "postcss-minify-params@npm:6.1.0" - dependencies: - browserslist: "npm:^4.23.0" - cssnano-utils: "npm:^4.0.2" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/e5c38c3e5fb42e2ca165764f983716e57d854a63a477f7389ccc94cd2ab8123707006613bd7f29acc6eafd296fff513aa6d869c98ac52590f886d641cb21a59e - languageName: node - linkType: hard - -"postcss-minify-selectors@npm:^6.0.4": - version: 6.0.4 - resolution: "postcss-minify-selectors@npm:6.0.4" - dependencies: - postcss-selector-parser: "npm:^6.0.16" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/695ec2e1e3a7812b0cabe1105d0ed491760be3d8e9433914fb5af1fc30a84e6dc24089cd31b7e300de620b8e7adf806526c1acf8dd14077a7d1d2820c60a327c - languageName: node - linkType: hard - -"postcss-modules-extract-imports@npm:^3.1.0": - version: 3.1.0 - resolution: "postcss-modules-extract-imports@npm:3.1.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 10c0/402084bcab376083c4b1b5111b48ec92974ef86066f366f0b2d5b2ac2b647d561066705ade4db89875a13cb175b33dd6af40d16d32b2ea5eaf8bac63bd2bf219 - languageName: node - linkType: hard - -"postcss-modules-local-by-default@npm:^4.0.5": - version: 4.2.0 - resolution: "postcss-modules-local-by-default@npm:4.2.0" - dependencies: - icss-utils: "npm:^5.0.0" - postcss-selector-parser: "npm:^7.0.0" - postcss-value-parser: "npm:^4.1.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 10c0/b0b83feb2a4b61f5383979d37f23116c99bc146eba1741ca3cf1acca0e4d0dbf293ac1810a6ab4eccbe1ee76440dd0a9eb2db5b3bba4f99fc1b3ded16baa6358 - languageName: node - linkType: hard - -"postcss-modules-scope@npm:^3.2.0": - version: 3.2.1 - resolution: "postcss-modules-scope@npm:3.2.1" - dependencies: - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 10c0/bd2d81f79e3da0ef6365b8e2c78cc91469d05b58046b4601592cdeef6c4050ed8fe1478ae000a1608042fc7e692cb51fecbd2d9bce3f4eace4d32e883ffca10b - languageName: node - linkType: hard - -"postcss-modules-values@npm:^4.0.0": - version: 4.0.0 - resolution: "postcss-modules-values@npm:4.0.0" - dependencies: - icss-utils: "npm:^5.0.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 10c0/dd18d7631b5619fb9921b198c86847a2a075f32e0c162e0428d2647685e318c487a2566cc8cc669fc2077ef38115cde7a068e321f46fb38be3ad49646b639dbc - languageName: node - linkType: hard - -"postcss-nesting@npm:^13.0.1": - version: 13.0.1 - resolution: "postcss-nesting@npm:13.0.1" - dependencies: - "@csstools/selector-resolve-nested": "npm:^3.0.0" - "@csstools/selector-specificity": "npm:^5.0.0" - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/549307c272cdd4cb5105d8fbcd582f15a1cb74e5bba240b05b27f77fe0422730be966699a49a9ad15fd9d1bc551c1edbaefb21a69686a9b131b585dbc9d90ebf - languageName: node - linkType: hard - -"postcss-normalize-charset@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-normalize-charset@npm:6.0.2" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/af32a3b4cf94163d728b8aa935b2494c9f69fbc96a33b35f67ae15dbdef7fcc8732569df97cbaaf20ca6c0103c39adad0cfce2ba07ffed283796787f6c36f410 - languageName: node - linkType: hard - -"postcss-normalize-display-values@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-normalize-display-values@npm:6.0.2" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/782761850c7e697fdb6c3ff53076de716a71b60f9e835efb2f7ef238de347c88b5d55f0d43cf5c608e1ee58de65360e3d9fccd5f20774bba08ded7c87d8a5651 - languageName: node - linkType: hard - -"postcss-normalize-positions@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-normalize-positions@npm:6.0.2" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/9fdd42a47226bbda5f68774f3c4c3a90eb4fa708aef5a997c6a52fe6cac06585c9774038fe3bc1aa86a203c29223b8d8db6ebe7580c1aa293154f2b48db0b038 - languageName: node - linkType: hard - -"postcss-normalize-repeat-style@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-normalize-repeat-style@npm:6.0.2" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/9133ccbdf1286920c1cd0d01c1c5fa0bd3251b717f2f3e47d691dcc44978ac1dc419d20d9ae5428bd48ee542059e66b823ba699356f5968ccced5606c7c7ca34 - languageName: node - linkType: hard - -"postcss-normalize-string@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-normalize-string@npm:6.0.2" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/fecc2d52c4029b24fecf2ca2fb45df5dbdf9f35012194ad4ea80bc7be3252cdcb21a0976400902320595aa6178f2cc625cc804c6b6740aef6efa42105973a205 - languageName: node - linkType: hard - -"postcss-normalize-timing-functions@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-normalize-timing-functions@npm:6.0.2" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/a22af0b3374704e59ae70bbbcc66b7029137e284f04e30a2ad548818d1540d6c1ed748dd8f689b9b6df5c1064085a00ad07b6f7e25ffaad49d4e661b616cdeae - languageName: node - linkType: hard - -"postcss-normalize-unicode@npm:^6.1.0": - version: 6.1.0 - resolution: "postcss-normalize-unicode@npm:6.1.0" - dependencies: - browserslist: "npm:^4.23.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/ff5746670d94dd97b49a0955c3c71ff516fb4f54bbae257f877d179bacc44a62e50a0fd6e7ddf959f2ca35c335de4266b0c275d880bb57ad7827189339ab1582 - languageName: node - linkType: hard - -"postcss-normalize-url@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-normalize-url@npm:6.0.2" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/4718f1c0657788d2c560b340ee8e0a4eb3eb053eba6fbbf489e9a6e739b4c5f9ce1957f54bd03497c50a1f39962bf6ab9ff6ba4976b69dd160f6afd1670d69b7 - languageName: node - linkType: hard - -"postcss-normalize-whitespace@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-normalize-whitespace@npm:6.0.2" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/d5275a88e29a894aeb83a2a833e816d2456dbf3f39961628df596ce205dcc4895186a023812ff691945e0804241ccc53e520d16591b5812288474b474bbaf652 - languageName: node - linkType: hard - -"postcss-opacity-percentage@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-opacity-percentage@npm:3.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/15c7d66036fa966d265c8737196646b3f93deb83d4eea0b17ed5033460599afc31d3a989345e4d7c472963b2a2bb75c83d06979d5d30d6a60fcc7f74cb6d8d40 - languageName: node - linkType: hard - -"postcss-ordered-values@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-ordered-values@npm:6.0.2" - dependencies: - cssnano-utils: "npm:^4.0.2" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/aece23a289228aa804217a85f8da198d22b9123f02ca1310b81834af380d6fbe115e4300683599b4a2ab7f1c6a1dbd6789724c47c38e2b0a3774f2ea4b4f0963 - languageName: node - linkType: hard - -"postcss-overflow-shorthand@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-overflow-shorthand@npm:6.0.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/6598321b2ed0b68461135395bba9c7f76a4672617770df1e8487f459bc975f4ded6c3d37b6f72a44f4f77f7b6789e0c6f927e66dbbf1bcde1537167dbea39968 - languageName: node - linkType: hard - -"postcss-page-break@npm:^3.0.4": - version: 3.0.4 - resolution: "postcss-page-break@npm:3.0.4" - peerDependencies: - postcss: ^8 - checksum: 10c0/eaaf4d8922b35f2acd637eb059f7e2510b24d65eb8f31424799dd5a98447b6ef010b41880c26e78f818e00f842295638ec75f89d5d489067f53e3dd3db74a00f - languageName: node - linkType: hard - -"postcss-place@npm:^10.0.0": - version: 10.0.0 - resolution: "postcss-place@npm:10.0.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/ebb13deaac7648ba6042622375a31f78fbcc5209b7d196e478debbdf94525963fe621c932f4737a5b6b3d487af3b5ed6d059ed6193fdcbff6d3d5b150886ccc1 - languageName: node - linkType: hard - -"postcss-preset-env@npm:^10.1.0": - version: 10.1.6 - resolution: "postcss-preset-env@npm:10.1.6" - dependencies: - "@csstools/postcss-cascade-layers": "npm:^5.0.1" - "@csstools/postcss-color-function": "npm:^4.0.9" - "@csstools/postcss-color-mix-function": "npm:^3.0.9" - "@csstools/postcss-content-alt-text": "npm:^2.0.5" - "@csstools/postcss-exponential-functions": "npm:^2.0.8" - "@csstools/postcss-font-format-keywords": "npm:^4.0.0" - "@csstools/postcss-gamut-mapping": "npm:^2.0.9" - "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.9" - "@csstools/postcss-hwb-function": "npm:^4.0.9" - "@csstools/postcss-ic-unit": "npm:^4.0.1" - "@csstools/postcss-initial": "npm:^2.0.1" - "@csstools/postcss-is-pseudo-class": "npm:^5.0.1" - "@csstools/postcss-light-dark-function": "npm:^2.0.8" - "@csstools/postcss-logical-float-and-clear": "npm:^3.0.0" - "@csstools/postcss-logical-overflow": "npm:^2.0.0" - "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" - "@csstools/postcss-logical-resize": "npm:^3.0.0" - "@csstools/postcss-logical-viewport-units": "npm:^3.0.3" - "@csstools/postcss-media-minmax": "npm:^2.0.8" - "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.4" - "@csstools/postcss-nested-calc": "npm:^4.0.0" - "@csstools/postcss-normalize-display-values": "npm:^4.0.0" - "@csstools/postcss-oklab-function": "npm:^4.0.9" - "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" - "@csstools/postcss-random-function": "npm:^2.0.0" - "@csstools/postcss-relative-color-syntax": "npm:^3.0.9" - "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" - "@csstools/postcss-sign-functions": "npm:^1.1.3" - "@csstools/postcss-stepped-value-functions": "npm:^4.0.8" - "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.2" - "@csstools/postcss-trigonometric-functions": "npm:^4.0.8" - "@csstools/postcss-unset-value": "npm:^4.0.0" - autoprefixer: "npm:^10.4.21" - browserslist: "npm:^4.24.4" - css-blank-pseudo: "npm:^7.0.1" - css-has-pseudo: "npm:^7.0.2" - css-prefers-color-scheme: "npm:^10.0.0" - cssdb: "npm:^8.2.5" - postcss-attribute-case-insensitive: "npm:^7.0.1" - postcss-clamp: "npm:^4.1.0" - postcss-color-functional-notation: "npm:^7.0.9" - postcss-color-hex-alpha: "npm:^10.0.0" - postcss-color-rebeccapurple: "npm:^10.0.0" - postcss-custom-media: "npm:^11.0.5" - postcss-custom-properties: "npm:^14.0.4" - postcss-custom-selectors: "npm:^8.0.4" - postcss-dir-pseudo-class: "npm:^9.0.1" - postcss-double-position-gradients: "npm:^6.0.1" - postcss-focus-visible: "npm:^10.0.1" - postcss-focus-within: "npm:^9.0.1" - postcss-font-variant: "npm:^5.0.0" - postcss-gap-properties: "npm:^6.0.0" - postcss-image-set-function: "npm:^7.0.0" - postcss-lab-function: "npm:^7.0.9" - postcss-logical: "npm:^8.1.0" - postcss-nesting: "npm:^13.0.1" - postcss-opacity-percentage: "npm:^3.0.0" - postcss-overflow-shorthand: "npm:^6.0.0" - postcss-page-break: "npm:^3.0.4" - postcss-place: "npm:^10.0.0" - postcss-pseudo-class-any-link: "npm:^10.0.1" - postcss-replace-overflow-wrap: "npm:^4.0.0" - postcss-selector-not: "npm:^8.0.1" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/89af9060f3528e254005e6b81e88c57589e6e7f74125b10d50ca8a05f830c9ac206f8197af1b3c4b7ba82d97993118dd121f1a11cfc9fd026e18d01ca6f7ad2d - languageName: node - linkType: hard - -"postcss-pseudo-class-any-link@npm:^10.0.1": - version: 10.0.1 - resolution: "postcss-pseudo-class-any-link@npm:10.0.1" - dependencies: - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/95e883996e87baf14fc09d25f9a763a2e9d599eb3b9c6b736e83a8c3d0b55841bcb886bccdf51b5b7fefc128cbd0187ad8841f59878f85bd1613642e592d7673 - languageName: node - linkType: hard - -"postcss-reduce-idents@npm:^6.0.3": - version: 6.0.3 - resolution: "postcss-reduce-idents@npm:6.0.3" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/d9f9209e52ebb3d1d7feefc0be24fc74792e064e0fdec99554f050c6b882c61073d5d40986c545061b30e5ead881615e92c965dc765d8d83b2dec10d6a664e1f - languageName: node - linkType: hard - -"postcss-reduce-initial@npm:^6.1.0": - version: 6.1.0 - resolution: "postcss-reduce-initial@npm:6.1.0" - dependencies: - browserslist: "npm:^4.23.0" - caniuse-api: "npm:^3.0.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/a8f28cf51ce9a1b9423cce1a01c1d7cbee90125930ec36435a0073e73aef402d90affe2fd3600c964b679cf738869fda447b95a9acce74414e9d67d5c6ba8646 - languageName: node - linkType: hard - -"postcss-reduce-transforms@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-reduce-transforms@npm:6.0.2" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/755ef27b3d083f586ac831f0c611a66e76f504d27e2100dc7674f6b86afad597901b4520cb889fe58ca70e852aa7fd0c0acb69a63d39dfe6a95860b472394e7c - languageName: node - linkType: hard - -"postcss-replace-overflow-wrap@npm:^4.0.0": - version: 4.0.0 - resolution: "postcss-replace-overflow-wrap@npm:4.0.0" - peerDependencies: - postcss: ^8.0.3 - checksum: 10c0/451361b714528cd3632951256ef073769cde725a46cda642a6864f666fb144921fa55e614aec1bcf5946f37d6ffdcca3b932b76f3d997c07b076e8db152b128d - languageName: node - linkType: hard - -"postcss-selector-not@npm:^8.0.1": - version: 8.0.1 - resolution: "postcss-selector-not@npm:8.0.1" - dependencies: - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.4 - checksum: 10c0/491ea3dcc421cd90135be786078521605e2062fb93624ea8813cfd5ba0d35143f931e2e608d5f20effd5ea7d3f4786d2afea2afa42d117779a0288e135f132b6 - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.16": - version: 6.1.2 - resolution: "postcss-selector-parser@npm:6.1.2" - dependencies: - cssesc: "npm:^3.0.0" - util-deprecate: "npm:^1.0.2" - checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^7.0.0": - version: 7.1.0 - resolution: "postcss-selector-parser@npm:7.1.0" - dependencies: - cssesc: "npm:^3.0.0" - util-deprecate: "npm:^1.0.2" - checksum: 10c0/0fef257cfd1c0fe93c18a3f8a6e739b4438b527054fd77e9a62730a89b2d0ded1b59314a7e4aaa55bc256204f40830fecd2eb50f20f8cb7ab3a10b52aa06c8aa - languageName: node - linkType: hard - -"postcss-sort-media-queries@npm:^5.2.0": - version: 5.2.0 - resolution: "postcss-sort-media-queries@npm:5.2.0" - dependencies: - sort-css-media-queries: "npm:2.2.0" - peerDependencies: - postcss: ^8.4.23 - checksum: 10c0/5e7f265a21999bdbf6592f7e15b3e889dd93bc9b15fe048958e8f85603ac276e69ef50305e8b41b10f4eea68917c9c25c7956fa9c3ba7f8577c1149416d35c4e - languageName: node - linkType: hard - -"postcss-svgo@npm:^6.0.3": - version: 6.0.3 - resolution: "postcss-svgo@npm:6.0.3" - dependencies: - postcss-value-parser: "npm:^4.2.0" - svgo: "npm:^3.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/994b15a88cbb411f32cfa98957faa5623c76f2d75fede51f5f47238f06b367ebe59c204fecbdaf21ccb9e727239a4b290087e04c502392658a0c881ddfbd61f2 - languageName: node - linkType: hard - -"postcss-unique-selectors@npm:^6.0.4": - version: 6.0.4 - resolution: "postcss-unique-selectors@npm:6.0.4" - dependencies: - postcss-selector-parser: "npm:^6.0.16" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/bfb99d8a7c675c93f2e65c9d9d563477bfd46fdce9e2727d42d57982b31ccbaaf944e8034bfbefe48b3119e77fba7eb1b181c19b91cb3a5448058fa66a7c9ae9 - languageName: node - linkType: hard - -"postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": - version: 4.2.0 - resolution: "postcss-value-parser@npm:4.2.0" - checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 - languageName: node - linkType: hard - -"postcss-zindex@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-zindex@npm:6.0.2" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/346291703e1f2dd954144d2bb251713dad6ae10e8aa05c3873dee2fc7a30d72da7866bec060abd932b9b839bc1495f73d813dde5312750a69d7ad33c435ce7ea - languageName: node - linkType: hard - -"postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.26, postcss@npm:^8.4.33, postcss@npm:^8.4.38": - version: 8.5.3 - resolution: "postcss@npm:8.5.3" - dependencies: - nanoid: "npm:^3.3.8" - picocolors: "npm:^1.1.1" - source-map-js: "npm:^1.2.1" - checksum: 10c0/b75510d7b28c3ab728c8733dd01538314a18c52af426f199a3c9177e63eb08602a3938bfb66b62dc01350b9aed62087eabbf229af97a1659eb8d3513cec823b3 - languageName: node - linkType: hard - -"pretty-error@npm:^4.0.0": - version: 4.0.0 - resolution: "pretty-error@npm:4.0.0" - dependencies: - lodash: "npm:^4.17.20" - renderkid: "npm:^3.0.0" - checksum: 10c0/dc292c087e2857b2e7592784ab31e37a40f3fa918caa11eba51f9fb2853e1d4d6e820b219917e35f5721d833cfd20fdf4f26ae931a90fd1ad0cae2125c345138 - languageName: node - linkType: hard - -"pretty-time@npm:^1.1.0": - version: 1.1.0 - resolution: "pretty-time@npm:1.1.0" - checksum: 10c0/ba9d7af19cd43838fb2b147654990949575e400dc2cc24bf71ec4a6c4033a38ba8172b1014b597680c6d4d3c075e94648b2c13a7206c5f0c90b711c7388726f3 - languageName: node - linkType: hard - -"prism-react-renderer@npm:^2.1.0, prism-react-renderer@npm:^2.3.0": - version: 2.4.1 - resolution: "prism-react-renderer@npm:2.4.1" - dependencies: - "@types/prismjs": "npm:^1.26.0" - clsx: "npm:^2.0.0" - peerDependencies: - react: ">=16.0.0" - checksum: 10c0/ebbe8feb975224344bbdd046b3a937d121592dbe4b8f22ba0be31f5af37b9a8219f441138ef6cab1c5b96f2aa6b529015200959f7e5e85b60ca69c81d35edcd4 - languageName: node - linkType: hard - -"prismjs@npm:^1.29.0": - version: 1.30.0 - resolution: "prismjs@npm:1.30.0" - checksum: 10c0/f56205bfd58ef71ccfcbcb691fd0eb84adc96c6ff21b0b69fc6fdcf02be42d6ef972ba4aed60466310de3d67733f6a746f89f2fb79c00bf217406d465b3e8f23 - languageName: node - linkType: hard - -"proc-log@npm:^5.0.0": - version: 5.0.0 - resolution: "proc-log@npm:5.0.0" - checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 - languageName: node - linkType: hard - -"process-nextick-args@npm:~2.0.0": - version: 2.0.1 - resolution: "process-nextick-args@npm:2.0.1" - checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - -"prompts@npm:^2.4.2": - version: 2.4.2 - resolution: "prompts@npm:2.4.2" - dependencies: - kleur: "npm:^3.0.3" - sisteransi: "npm:^1.0.5" - checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 - languageName: node - linkType: hard - -"prop-types@npm:^15.6.2, prop-types@npm:^15.7.2": - version: 15.8.1 - resolution: "prop-types@npm:15.8.1" - dependencies: - loose-envify: "npm:^1.4.0" - object-assign: "npm:^4.1.1" - react-is: "npm:^16.13.1" - checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 - languageName: node - linkType: hard - -"property-information@npm:^6.0.0": - version: 6.5.0 - resolution: "property-information@npm:6.5.0" - checksum: 10c0/981e0f9cc2e5acdb414a6fd48a99dd0fd3a4079e7a91ab41cf97a8534cf43e0e0bc1ffada6602a1b3d047a33db8b5fc2ef46d863507eda712d5ceedac443f0ef - languageName: node - linkType: hard - -"property-information@npm:^7.0.0": - version: 7.1.0 - resolution: "property-information@npm:7.1.0" - checksum: 10c0/e0fe22cff26103260ad0e82959229106563fa115a54c4d6c183f49d88054e489cc9f23452d3ad584179dc13a8b7b37411a5df873746b5e4086c865874bfa968e - languageName: node - linkType: hard - -"proto-list@npm:~1.2.1": - version: 1.2.4 - resolution: "proto-list@npm:1.2.4" - checksum: 10c0/b9179f99394ec8a68b8afc817690185f3b03933f7b46ce2e22c1930dc84b60d09f5ad222beab4e59e58c6c039c7f7fcf620397235ef441a356f31f9744010e12 - languageName: node - linkType: hard - -"proxy-addr@npm:~2.0.7": - version: 2.0.7 - resolution: "proxy-addr@npm:2.0.7" - dependencies: - forwarded: "npm:0.2.0" - ipaddr.js: "npm:1.9.1" - checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 - languageName: node - linkType: hard - -"punycode@npm:^2.1.0, punycode@npm:^2.3.1": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 - languageName: node - linkType: hard - -"pupa@npm:^3.1.0": - version: 3.1.0 - resolution: "pupa@npm:3.1.0" - dependencies: - escape-goat: "npm:^4.0.0" - checksum: 10c0/02afa6e4547a733484206aaa8f8eb3fbfb12d3dd17d7ca4fa1ea390a7da2cb8f381e38868bbf68009c4d372f8f6059f553171b6a712d8f2802c7cd43d513f06c - languageName: node - linkType: hard - -"qs@npm:6.13.0": - version: 6.13.0 - resolution: "qs@npm:6.13.0" - dependencies: - side-channel: "npm:^1.0.6" - checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - -"queue@npm:6.0.2": - version: 6.0.2 - resolution: "queue@npm:6.0.2" - dependencies: - inherits: "npm:~2.0.3" - checksum: 10c0/cf987476cc72e7d3aaabe23ccefaab1cd757a2b5e0c8d80b67c9575a6b5e1198807ffd4f0948a3f118b149d1111d810ee773473530b77a5c606673cac2c9c996 - languageName: node - linkType: hard - -"quick-lru@npm:^5.1.1": - version: 5.1.1 - resolution: "quick-lru@npm:5.1.1" - checksum: 10c0/a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da - languageName: node - linkType: hard - -"randombytes@npm:^2.1.0": - version: 2.1.0 - resolution: "randombytes@npm:2.1.0" - dependencies: - safe-buffer: "npm:^5.1.0" - checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 - languageName: node - linkType: hard - -"range-parser@npm:1.2.0": - version: 1.2.0 - resolution: "range-parser@npm:1.2.0" - checksum: 10c0/c7aef4f6588eb974c475649c157f197d07437d8c6c8ff7e36280a141463fb5ab7a45918417334ebd7b665c6b8321cf31c763f7631dd5f5db9372249261b8b02a - languageName: node - linkType: hard - -"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": - version: 1.2.1 - resolution: "range-parser@npm:1.2.1" - checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 - languageName: node - linkType: hard - -"raw-body@npm:2.5.2": - version: 2.5.2 - resolution: "raw-body@npm:2.5.2" - dependencies: - bytes: "npm:3.1.2" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - unpipe: "npm:1.0.0" - checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 - languageName: node - linkType: hard - -"rc@npm:1.2.8": - version: 1.2.8 - resolution: "rc@npm:1.2.8" - dependencies: - deep-extend: "npm:^0.6.0" - ini: "npm:~1.3.0" - minimist: "npm:^1.2.0" - strip-json-comments: "npm:~2.0.1" - bin: - rc: ./cli.js - checksum: 10c0/24a07653150f0d9ac7168e52943cc3cb4b7a22c0e43c7dff3219977c2fdca5a2760a304a029c20811a0e79d351f57d46c9bde216193a0f73978496afc2b85b15 - languageName: node - linkType: hard - -"react-dev-utils@npm:^12.0.1": - version: 12.0.1 - resolution: "react-dev-utils@npm:12.0.1" - dependencies: - "@babel/code-frame": "npm:^7.16.0" - address: "npm:^1.1.2" - browserslist: "npm:^4.18.1" - chalk: "npm:^4.1.2" - cross-spawn: "npm:^7.0.3" - detect-port-alt: "npm:^1.1.6" - escape-string-regexp: "npm:^4.0.0" - filesize: "npm:^8.0.6" - find-up: "npm:^5.0.0" - fork-ts-checker-webpack-plugin: "npm:^6.5.0" - global-modules: "npm:^2.0.0" - globby: "npm:^11.0.4" - gzip-size: "npm:^6.0.0" - immer: "npm:^9.0.7" - is-root: "npm:^2.1.0" - loader-utils: "npm:^3.2.0" - open: "npm:^8.4.0" - pkg-up: "npm:^3.1.0" - prompts: "npm:^2.4.2" - react-error-overlay: "npm:^6.0.11" - recursive-readdir: "npm:^2.2.2" - shell-quote: "npm:^1.7.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" - checksum: 10c0/94bc4ee5014290ca47a025e53ab2205c5dc0299670724d46a0b1bacbdd48904827b5ae410842d0a3a92481509097ae032e4a9dc7ca70db437c726eaba6411e82 - languageName: node - linkType: hard - -"react-dom@npm:^18.2.0": - version: 18.3.1 - resolution: "react-dom@npm:18.3.1" - dependencies: - loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.2" - peerDependencies: - react: ^18.3.1 - checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 - languageName: node - linkType: hard - -"react-error-overlay@npm:^6.0.11": - version: 6.1.0 - resolution: "react-error-overlay@npm:6.1.0" - checksum: 10c0/2b52308b9e489dfaa25df85c7ed5c200371bc214245161a0833b729f9c6b1a2e591e1d1e07c3d3859ffa19b84a386c219d93df9ba13d819be34c20f40e71a555 - languageName: node - linkType: hard - -"react-fast-compare@npm:^3.2.0": - version: 3.2.2 - resolution: "react-fast-compare@npm:3.2.2" - checksum: 10c0/0bbd2f3eb41ab2ff7380daaa55105db698d965c396df73e6874831dbafec8c4b5b08ba36ff09df01526caa3c61595247e3269558c284e37646241cba2b90a367 - languageName: node - linkType: hard - -"react-helmet-async@npm:@slorber/react-helmet-async@*, react-helmet-async@npm:@slorber/react-helmet-async@1.3.0": - version: 1.3.0 - resolution: "@slorber/react-helmet-async@npm:1.3.0" - dependencies: - "@babel/runtime": "npm:^7.12.5" - invariant: "npm:^2.2.4" - prop-types: "npm:^15.7.2" - react-fast-compare: "npm:^3.2.0" - shallowequal: "npm:^1.1.0" - peerDependencies: - react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - checksum: 10c0/7a13470a0d27d6305657c7fa6b066443c94acdb22bd0decca772298bc852ce04fdc65f1207f0d546995bf7d4ca09e21c81f96b4954544937c01eda82e2caa142 - languageName: node - linkType: hard - -"react-icons@npm:^4.12.0": - version: 4.12.0 - resolution: "react-icons@npm:4.12.0" - peerDependencies: - react: "*" - checksum: 10c0/2170f43031ee7365539f72d4075cbe6c7fbf9a66d6cf4494aa9393b194272da0564f5b19d1b24dbfc567c0ac89f5fe5b8974d92dd83f61e252388dde6a226fb8 - languageName: node - linkType: hard - -"react-is@npm:^16.13.1, react-is@npm:^16.6.0, react-is@npm:^16.7.0": - version: 16.13.1 - resolution: "react-is@npm:16.13.1" - checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 - languageName: node - linkType: hard - -"react-json-view-lite@npm:^1.2.0": - version: 1.5.0 - resolution: "react-json-view-lite@npm:1.5.0" - peerDependencies: - react: ^16.13.1 || ^17.0.0 || ^18.0.0 - checksum: 10c0/e707717cb6b9d6cca5b138cdfb066e35ee7e493d1c88d4497e3a3a42b7651c8ff924ff53ad2da142a12b23b11379d39f38d8eee278c98c46cd6bc8844864b285 - languageName: node - linkType: hard - -"react-loadable-ssr-addon-v5-slorber@npm:^1.0.1": - version: 1.0.1 - resolution: "react-loadable-ssr-addon-v5-slorber@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.10.3" - peerDependencies: - react-loadable: "*" - webpack: ">=4.41.1 || 5.x" - checksum: 10c0/7b0645f66adec56646f985ba8094c66a1c0a4627d96ad80eea32431d773ef1f79aa47d3247a8f21db3b064a0c6091653c5b5d3483b7046722eb64e55bffe635c - languageName: node - linkType: hard - -"react-loadable@npm:@docusaurus/react-loadable@6.0.0": - version: 6.0.0 - resolution: "@docusaurus/react-loadable@npm:6.0.0" - dependencies: - "@types/react": "npm:*" - peerDependencies: - react: "*" - checksum: 10c0/6b145d1a8d2e7342ceef58dd154aa990322f72a6cb98955ab8ce8e3f0dc7f0c5d00f9c2e4efa8d356c5effed72a130b5588857332b11faba0398f5429b484b04 - languageName: node - linkType: hard - -"react-router-config@npm:^5.1.1": - version: 5.1.1 - resolution: "react-router-config@npm:5.1.1" - dependencies: - "@babel/runtime": "npm:^7.1.2" - peerDependencies: - react: ">=15" - react-router: ">=5" - checksum: 10c0/1f8f4e55ca68b7b012293e663eb0ee4d670a3df929b78928f713ef98cd9d62c7f5c30a098d6668e64bbb11c7d6bb24e9e6b9c985a8b82465a1858dc7ba663f2b - languageName: node - linkType: hard - -"react-router-dom@npm:^5.3.4": - version: 5.3.4 - resolution: "react-router-dom@npm:5.3.4" - dependencies: - "@babel/runtime": "npm:^7.12.13" - history: "npm:^4.9.0" - loose-envify: "npm:^1.3.1" - prop-types: "npm:^15.6.2" - react-router: "npm:5.3.4" - tiny-invariant: "npm:^1.0.2" - tiny-warning: "npm:^1.0.0" - peerDependencies: - react: ">=15" - checksum: 10c0/f04f727e2ed2e9d1d3830af02cc61690ff67b1524c0d18690582bfba0f4d14142ccc88fb6da6befad644fddf086f5ae4c2eb7048c67da8a0b0929c19426421b0 - languageName: node - linkType: hard - -"react-router@npm:5.3.4, react-router@npm:^5.3.4": - version: 5.3.4 - resolution: "react-router@npm:5.3.4" - dependencies: - "@babel/runtime": "npm:^7.12.13" - history: "npm:^4.9.0" - hoist-non-react-statics: "npm:^3.1.0" - loose-envify: "npm:^1.3.1" - path-to-regexp: "npm:^1.7.0" - prop-types: "npm:^15.6.2" - react-is: "npm:^16.6.0" - tiny-invariant: "npm:^1.0.2" - tiny-warning: "npm:^1.0.0" - peerDependencies: - react: ">=15" - checksum: 10c0/e15c00dfef199249b4c6e6d98e5e76cc352ce66f3270f13df37cc069ddf7c05e43281e8c308fc407e4435d72924373baef1d2890e0f6b0b1eb423cf47315a053 - languageName: node - linkType: hard - -"react@npm:^18.2.0": - version: 18.3.1 - resolution: "react@npm:18.3.1" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 - languageName: node - linkType: hard - -"readable-stream@npm:^2.0.1": - version: 2.3.8 - resolution: "readable-stream@npm:2.3.8" - dependencies: - core-util-is: "npm:~1.0.0" - inherits: "npm:~2.0.3" - isarray: "npm:~1.0.0" - process-nextick-args: "npm:~2.0.0" - safe-buffer: "npm:~5.1.1" - string_decoder: "npm:~1.1.1" - util-deprecate: "npm:~1.0.1" - checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa - languageName: node - linkType: hard - -"readable-stream@npm:^3.0.6": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 - languageName: node - linkType: hard - -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b - languageName: node - linkType: hard - -"reading-time@npm:^1.5.0": - version: 1.5.0 - resolution: "reading-time@npm:1.5.0" - checksum: 10c0/0f730852fd4fb99e5f78c5b0cf36ab8c3fa15db96f87d9563843f6fd07a47864273ade539ebb184b785b728cde81a70283aa2d9b80cba5ca03b81868be03cabc - languageName: node - linkType: hard - -"rechoir@npm:^0.6.2": - version: 0.6.2 - resolution: "rechoir@npm:0.6.2" - dependencies: - resolve: "npm:^1.1.6" - checksum: 10c0/22c4bb32f4934a9468468b608417194f7e3ceba9a508512125b16082c64f161915a28467562368eeb15dc16058eb5b7c13a20b9eb29ff9927d1ebb3b5aa83e84 - languageName: node - linkType: hard - -"recma-build-jsx@npm:^1.0.0": - version: 1.0.0 - resolution: "recma-build-jsx@npm:1.0.0" - dependencies: - "@types/estree": "npm:^1.0.0" - estree-util-build-jsx: "npm:^3.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/ca30f5163887b44c74682355da2625f7b49f33267699d22247913e513e043650cbdd6a7497cf13c60f09ad9e7bc2bd35bd20853672773c19188569814b56bb04 - languageName: node - linkType: hard - -"recma-jsx@npm:^1.0.0": - version: 1.0.0 - resolution: "recma-jsx@npm:1.0.0" - dependencies: - acorn-jsx: "npm:^5.0.0" - estree-util-to-js: "npm:^2.0.0" - recma-parse: "npm:^1.0.0" - recma-stringify: "npm:^1.0.0" - unified: "npm:^11.0.0" - checksum: 10c0/26c2af6dd69336c810468b778be1e4cbac5702cf9382454f17c29cf9b03a4fde47d10385bb26a7ccb34f36fe01af34c24cab9fb0deeed066ea53294be0081f07 - languageName: node - linkType: hard - -"recma-parse@npm:^1.0.0": - version: 1.0.0 - resolution: "recma-parse@npm:1.0.0" - dependencies: - "@types/estree": "npm:^1.0.0" - esast-util-from-js: "npm:^2.0.0" - unified: "npm:^11.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/37c0990859a562d082e02d475ca5f4c8ef0840d285270f6699fe888cbb06260f97eb098585eda4aae416182c207fd19cf05e4f0b2dcf55cbf81dde4406d95545 - languageName: node - linkType: hard - -"recma-stringify@npm:^1.0.0": - version: 1.0.0 - resolution: "recma-stringify@npm:1.0.0" - dependencies: - "@types/estree": "npm:^1.0.0" - estree-util-to-js: "npm:^2.0.0" - unified: "npm:^11.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/c2ed4c0e8cf8a09aedcd47c5d016d47f6e1ff6c2d4b220e2abaf1b77713bf404756af2ea3ea7999aec5862e8825aff035edceb370c7fd8603a7e9da03bd6987e - languageName: node - linkType: hard - -"recursive-readdir@npm:^2.2.2": - version: 2.2.3 - resolution: "recursive-readdir@npm:2.2.3" - dependencies: - minimatch: "npm:^3.0.5" - checksum: 10c0/d0238f137b03af9cd645e1e0b40ae78b6cda13846e3ca57f626fcb58a66c79ae018a10e926b13b3a460f1285acc946a4e512ea8daa2e35df4b76a105709930d1 - languageName: node - linkType: hard - -"regenerate-unicode-properties@npm:^10.2.0": - version: 10.2.0 - resolution: "regenerate-unicode-properties@npm:10.2.0" - dependencies: - regenerate: "npm:^1.4.2" - checksum: 10c0/5510785eeaf56bbfdf4e663d6753f125c08d2a372d4107bc1b756b7bf142e2ed80c2733a8b54e68fb309ba37690e66a0362699b0e21d5c1f0255dea1b00e6460 - languageName: node - linkType: hard - -"regenerate@npm:^1.4.2": - version: 1.4.2 - resolution: "regenerate@npm:1.4.2" - checksum: 10c0/f73c9eba5d398c818edc71d1c6979eaa05af7a808682749dd079f8df2a6d91a9b913db216c2c9b03e0a8ba2bba8701244a93f45211afbff691c32c7b275db1b8 - languageName: node - linkType: hard - -"regexpu-core@npm:^6.2.0": - version: 6.2.0 - resolution: "regexpu-core@npm:6.2.0" - dependencies: - regenerate: "npm:^1.4.2" - regenerate-unicode-properties: "npm:^10.2.0" - regjsgen: "npm:^0.8.0" - regjsparser: "npm:^0.12.0" - unicode-match-property-ecmascript: "npm:^2.0.0" - unicode-match-property-value-ecmascript: "npm:^2.1.0" - checksum: 10c0/bbcb83a854bf96ce4005ee4e4618b71c889cda72674ce6092432f0039b47890c2d0dfeb9057d08d440999d9ea03879ebbb7f26ca005ccf94390e55c348859b98 - languageName: node - linkType: hard - -"registry-auth-token@npm:^5.0.1": - version: 5.1.0 - resolution: "registry-auth-token@npm:5.1.0" - dependencies: - "@pnpm/npm-conf": "npm:^2.1.0" - checksum: 10c0/316229bd8a4acc29a362a7a3862ff809e608256f0fd9e0b133412b43d6a9ea18743756a0ec5ee1467a5384e1023602b85461b3d88d1336b11879e42f7cf02c12 - languageName: node - linkType: hard - -"registry-url@npm:^6.0.0": - version: 6.0.1 - resolution: "registry-url@npm:6.0.1" - dependencies: - rc: "npm:1.2.8" - checksum: 10c0/66e2221c8113fc35ee9d23fe58cb516fc8d556a189fb8d6f1011a02efccc846c4c9b5075b4027b99a5d5c9ad1345ac37f297bea3c0ca30d607ec8084bf561b90 - languageName: node - linkType: hard - -"regjsgen@npm:^0.8.0": - version: 0.8.0 - resolution: "regjsgen@npm:0.8.0" - checksum: 10c0/44f526c4fdbf0b29286101a282189e4dbb303f4013cf3fea058668d96d113b9180d3d03d1e13f6d4cbde38b7728bf951aecd9dc199938c080093a9a6f0d7a6bd - languageName: node - linkType: hard - -"regjsparser@npm:^0.12.0": - version: 0.12.0 - resolution: "regjsparser@npm:0.12.0" - dependencies: - jsesc: "npm:~3.0.2" - bin: - regjsparser: bin/parser - checksum: 10c0/99d3e4e10c8c7732eb7aa843b8da2fd8b647fe144d3711b480e4647dc3bff4b1e96691ccf17f3ace24aa866a50b064236177cb25e6e4fbbb18285d99edaed83b - languageName: node - linkType: hard - -"rehype-katex@npm:^7.0.1": - version: 7.0.1 - resolution: "rehype-katex@npm:7.0.1" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/katex": "npm:^0.16.0" - hast-util-from-html-isomorphic: "npm:^2.0.0" - hast-util-to-text: "npm:^4.0.0" - katex: "npm:^0.16.0" - unist-util-visit-parents: "npm:^6.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/73c770319536128b75055d904d06951789d00a0552c11724c0dac2e244dcb21041630552d118a11cc42233fdcd1bfee525e78a0020fde635bd916cceb281dfb1 - languageName: node - linkType: hard - -"rehype-minify-whitespace@npm:^6.0.0": - version: 6.0.2 - resolution: "rehype-minify-whitespace@npm:6.0.2" - dependencies: - "@types/hast": "npm:^3.0.0" - hast-util-minify-whitespace: "npm:^1.0.0" - checksum: 10c0/e808a452068392070dcba4ea0fdc24c783e21ddc9c70008f90827ddd29afa6fb82f77473bba91e06b48cef8575553f906fa8ab44ae59700f945eb0910927acd9 - languageName: node - linkType: hard - -"rehype-raw@npm:^7.0.0": - version: 7.0.0 - resolution: "rehype-raw@npm:7.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - hast-util-raw: "npm:^9.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/1435b4b6640a5bc3abe3b2133885c4dbff5ef2190ef9cfe09d6a63f74dd7d7ffd0cede70603278560ccf1acbfb9da9faae4b68065a28bc5aa88ad18e40f32d52 - languageName: node - linkType: hard - -"rehype-recma@npm:^1.0.0": - version: 1.0.0 - resolution: "rehype-recma@npm:1.0.0" - dependencies: - "@types/estree": "npm:^1.0.0" - "@types/hast": "npm:^3.0.0" - hast-util-to-estree: "npm:^3.0.0" - checksum: 10c0/be60d7433a7f788a14f41da3e93ba9d9272c908ddef47757026cc4bbcc912f6301d56810349adf876d294a8d048626a0dbf6988aaa574afbfc29eac1ddc1eb74 - languageName: node - linkType: hard - -"relateurl@npm:^0.2.7": - version: 0.2.7 - resolution: "relateurl@npm:0.2.7" - checksum: 10c0/c248b4e3b32474f116a804b537fa6343d731b80056fb506dffd91e737eef4cac6be47a65aae39b522b0db9d0b1011d1a12e288d82a109ecd94a5299d82f6573a - languageName: node - linkType: hard - -"remark-definition-list@npm:^2.0.0": - version: 2.0.0 - resolution: "remark-definition-list@npm:2.0.0" - dependencies: - hast-util-definition-list: "npm:^2.0.0" - mdast-util-definition-list: "npm:^2.0.0" - micromark-extension-definition-list: "npm:^2.0.0" - checksum: 10c0/f352e41b0ee441be23cd70cf8e4e334c68020d638701a558d9d5d734319288089154a7552a56fe04226f933e99de3b3d2e975cef8af64300313a561da0bfe830 - languageName: node - linkType: hard - -"remark-directive@npm:^3.0.0": - version: 3.0.1 - resolution: "remark-directive@npm:3.0.1" - dependencies: - "@types/mdast": "npm:^4.0.0" - mdast-util-directive: "npm:^3.0.0" - micromark-extension-directive: "npm:^3.0.0" - unified: "npm:^11.0.0" - checksum: 10c0/ac0e60bdfd97063e2b4e18a96842567ae2ffea75f2545fcd7e4fe54806fb31629d60cef55b565333bda172eddee36766fe2535ca0b59208394bde676cd98094c - languageName: node - linkType: hard - -"remark-emoji@npm:^4.0.0": - version: 4.0.1 - resolution: "remark-emoji@npm:4.0.1" - dependencies: - "@types/mdast": "npm:^4.0.2" - emoticon: "npm:^4.0.1" - mdast-util-find-and-replace: "npm:^3.0.1" - node-emoji: "npm:^2.1.0" - unified: "npm:^11.0.4" - checksum: 10c0/27f88892215f3efe8f25c43f226a82d70144a1ae5906d36f6e09390b893b2d5524d5949bd8ca6a02be0e3cb5cba908b35c4221f4e07f34e93d13d6ff9347dbb8 - languageName: node - linkType: hard - -"remark-frontmatter@npm:^5.0.0": - version: 5.0.0 - resolution: "remark-frontmatter@npm:5.0.0" - dependencies: - "@types/mdast": "npm:^4.0.0" - mdast-util-frontmatter: "npm:^2.0.0" - micromark-extension-frontmatter: "npm:^2.0.0" - unified: "npm:^11.0.0" - checksum: 10c0/102325d5edbcf30eaf74de8a0a6e03096cc2370dfef19080fd2dd208f368fbb2323388751ac9931a1aa38a4f2828fa4bad6c52dc5249dcadcd34861693b52bf9 - languageName: node - linkType: hard - -"remark-gfm@npm:^4.0.0": - version: 4.0.1 - resolution: "remark-gfm@npm:4.0.1" - dependencies: - "@types/mdast": "npm:^4.0.0" - mdast-util-gfm: "npm:^3.0.0" - micromark-extension-gfm: "npm:^3.0.0" - remark-parse: "npm:^11.0.0" - remark-stringify: "npm:^11.0.0" - unified: "npm:^11.0.0" - checksum: 10c0/427ecc6af3e76222662061a5f670a3e4e33ec5fffe2cabf04034da6a3f9a1bda1fc023e838a636385ba314e66e2bebbf017ca61ebea357eb0f5200fe0625a4b7 - languageName: node - linkType: hard - -"remark-math@npm:^6.0.0": - version: 6.0.0 - resolution: "remark-math@npm:6.0.0" - dependencies: - "@types/mdast": "npm:^4.0.0" - mdast-util-math: "npm:^3.0.0" - micromark-extension-math: "npm:^3.0.0" - unified: "npm:^11.0.0" - checksum: 10c0/859613c4db194bb6b3c9c063661dc52b8ceda9c5cf3256b42f73d93eb8f38a6d634eb5f976fe094425f6f1035aaf329eb49ada314feb3b2b1073326b6d3aaa02 - languageName: node - linkType: hard - -"remark-mdx@npm:^3.0.0": - version: 3.1.0 - resolution: "remark-mdx@npm:3.1.0" - dependencies: - mdast-util-mdx: "npm:^3.0.0" - micromark-extension-mdxjs: "npm:^3.0.0" - checksum: 10c0/247800fa8561624bdca5776457c5965d99e5e60080e80262c600fe12ddd573862e029e39349e1e36e4c3bf79c8e571ecf4d3d2d8c13485b758391fb500e24a1a - languageName: node - linkType: hard - -"remark-parse@npm:^11.0.0": - version: 11.0.0 - resolution: "remark-parse@npm:11.0.0" - dependencies: - "@types/mdast": "npm:^4.0.0" - mdast-util-from-markdown: "npm:^2.0.0" - micromark-util-types: "npm:^2.0.0" - unified: "npm:^11.0.0" - checksum: 10c0/6eed15ddb8680eca93e04fcb2d1b8db65a743dcc0023f5007265dda558b09db595a087f622062ccad2630953cd5cddc1055ce491d25a81f3317c858348a8dd38 - languageName: node - linkType: hard - -"remark-rehype@npm:^11.0.0": - version: 11.1.2 - resolution: "remark-rehype@npm:11.1.2" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - mdast-util-to-hast: "npm:^13.0.0" - unified: "npm:^11.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/f9eccacfb596d9605581dc05bfad28635d6ded5dd0a18e88af5fd4df0d3fcf9612e1501d4513bc2164d833cfe9636dab20400080b09e53f155c6e1442a1231fb - languageName: node - linkType: hard - -"remark-stringify@npm:^11.0.0": - version: 11.0.0 - resolution: "remark-stringify@npm:11.0.0" - dependencies: - "@types/mdast": "npm:^4.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - unified: "npm:^11.0.0" - checksum: 10c0/0cdb37ce1217578f6f847c7ec9f50cbab35df5b9e3903d543e74b405404e67c07defcb23cd260a567b41b769400f6de03c2c3d9cd6ae7a6707d5c8d89ead489f - languageName: node - linkType: hard - -"renderkid@npm:^3.0.0": - version: 3.0.0 - resolution: "renderkid@npm:3.0.0" - dependencies: - css-select: "npm:^4.1.3" - dom-converter: "npm:^0.2.0" - htmlparser2: "npm:^6.1.0" - lodash: "npm:^4.17.21" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/24a9fae4cc50e731d059742d1b3eec163dc9e3872b12010d120c3fcbd622765d9cda41f79a1bbb4bf63c1d3442f18a08f6e1642cb5d7ebf092a0ce3f7a3bd143 - languageName: node - linkType: hard - -"repeat-string@npm:^1.0.0": - version: 1.6.1 - resolution: "repeat-string@npm:1.6.1" - checksum: 10c0/87fa21bfdb2fbdedc44b9a5b118b7c1239bdd2c2c1e42742ef9119b7d412a5137a1d23f1a83dc6bb686f4f27429ac6f542e3d923090b44181bafa41e8ac0174d - languageName: node - linkType: hard - -"require-from-string@npm:^2.0.2": - version: 2.0.2 - resolution: "require-from-string@npm:2.0.2" - checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 - languageName: node - linkType: hard - -"require-like@npm:>= 0.1.1": - version: 0.1.2 - resolution: "require-like@npm:0.1.2" - checksum: 10c0/9035ff6c4000a56ede6fc51dd5c56541fafa5a7dddc9b1c3a5f9148d95ee21c603c9bf5c6e37b19fc7de13d9294260842d8590b2ffd6c7c773e78603d1af8050 - languageName: node - linkType: hard - -"requires-port@npm:^1.0.0": - version: 1.0.0 - resolution: "requires-port@npm:1.0.0" - checksum: 10c0/b2bfdd09db16c082c4326e573a82c0771daaf7b53b9ce8ad60ea46aa6e30aaf475fe9b164800b89f93b748d2c234d8abff945d2551ba47bf5698e04cd7713267 - languageName: node - linkType: hard - -"resolve-alpn@npm:^1.2.0": - version: 1.2.1 - resolution: "resolve-alpn@npm:1.2.1" - checksum: 10c0/b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4 - languageName: node - linkType: hard - -"resolve-from@npm:^4.0.0": - version: 4.0.0 - resolution: "resolve-from@npm:4.0.0" - checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 - languageName: node - linkType: hard - -"resolve-pathname@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-pathname@npm:3.0.0" - checksum: 10c0/c6ec49b670dc35b9a303c47fa83ba9348a71e92d64a4c4bb85e1b659a29b407aa1ac1cb14a9b5b502982132ca77482bd80534bca147439d66880d35a137fe723 - languageName: node - linkType: hard - -"resolve@npm:^1.1.6, resolve@npm:^1.14.2": - version: 1.22.10 - resolution: "resolve@npm:1.22.10" - dependencies: - is-core-module: "npm:^2.16.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin": - version: 1.22.10 - resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.16.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 - languageName: node - linkType: hard - -"responselike@npm:^3.0.0": - version: 3.0.0 - resolution: "responselike@npm:3.0.0" - dependencies: - lowercase-keys: "npm:^3.0.0" - checksum: 10c0/8af27153f7e47aa2c07a5f2d538cb1e5872995f0e9ff77def858ecce5c3fe677d42b824a62cde502e56d275ab832b0a8bd350d5cd6b467ac0425214ac12ae658 - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe - languageName: node - linkType: hard - -"retry@npm:^0.13.1": - version: 0.13.1 - resolution: "retry@npm:0.13.1" - checksum: 10c0/9ae822ee19db2163497e074ea919780b1efa00431d197c7afdb950e42bf109196774b92a49fc9821f0b8b328a98eea6017410bfc5e8a0fc19c85c6d11adb3772 - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.1.0 - resolution: "reusify@npm:1.1.0" - checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa - languageName: node - linkType: hard - -"rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" - dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: bin.js - checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 - languageName: node - linkType: hard - -"rtlcss@npm:^4.1.0": - version: 4.3.0 - resolution: "rtlcss@npm:4.3.0" - dependencies: - escalade: "npm:^3.1.1" - picocolors: "npm:^1.0.0" - postcss: "npm:^8.4.21" - strip-json-comments: "npm:^3.1.1" - bin: - rtlcss: bin/rtlcss.js - checksum: 10c0/ec59db839e1446b4cd6dcef618c8986f00d67e0ac3c2d40bd9041f1909aaacd668072c90849906ca692dea25cd993f46e9188b4c36adfa5bd3eebeb945fb28f2 - languageName: node - linkType: hard - -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 - languageName: node - linkType: hard - -"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 - languageName: node - linkType: hard - -"sax@npm:^1.2.4": - version: 1.4.1 - resolution: "sax@npm:1.4.1" - checksum: 10c0/6bf86318a254c5d898ede6bd3ded15daf68ae08a5495a2739564eb265cd13bcc64a07ab466fb204f67ce472bb534eb8612dac587435515169593f4fffa11de7c - languageName: node - linkType: hard - -"scheduler@npm:^0.23.2": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 - languageName: node - linkType: hard - -"schema-utils@npm:2.7.0": - version: 2.7.0 - resolution: "schema-utils@npm:2.7.0" - dependencies: - "@types/json-schema": "npm:^7.0.4" - ajv: "npm:^6.12.2" - ajv-keywords: "npm:^3.4.1" - checksum: 10c0/723c3c856a0313a89aa81c5fb2c93d4b11225f5cdd442665fddd55d3c285ae72e079f5286a3a9a1a973affe888f6c33554a2cf47b79b24cd8de2f1f756a6fb1b - languageName: node - linkType: hard - -"schema-utils@npm:^3.0.0": - version: 3.3.0 - resolution: "schema-utils@npm:3.3.0" - dependencies: - "@types/json-schema": "npm:^7.0.8" - ajv: "npm:^6.12.5" - ajv-keywords: "npm:^3.5.2" - checksum: 10c0/fafdbde91ad8aa1316bc543d4b61e65ea86970aebbfb750bfb6d8a6c287a23e415e0e926c2498696b242f63af1aab8e585252637fabe811fd37b604351da6500 - languageName: node - linkType: hard - -"schema-utils@npm:^4.0.0, schema-utils@npm:^4.0.1, schema-utils@npm:^4.3.0, schema-utils@npm:^4.3.2": - version: 4.3.2 - resolution: "schema-utils@npm:4.3.2" - dependencies: - "@types/json-schema": "npm:^7.0.9" - ajv: "npm:^8.9.0" - ajv-formats: "npm:^2.1.1" - ajv-keywords: "npm:^5.1.0" - checksum: 10c0/981632f9bf59f35b15a9bcdac671dd183f4946fe4b055ae71a301e66a9797b95e5dd450de581eb6cca56fb6583ce8f24d67b2d9f8e1b2936612209697f6c277e - languageName: node - linkType: hard - -"section-matter@npm:^1.0.0": - version: 1.0.0 - resolution: "section-matter@npm:1.0.0" - dependencies: - extend-shallow: "npm:^2.0.1" - kind-of: "npm:^6.0.0" - checksum: 10c0/8007f91780adc5aaa781a848eaae50b0f680bbf4043b90cf8a96778195b8fab690c87fe7a989e02394ce69890e330811ec8dab22397d384673ce59f7d750641d - languageName: node - linkType: hard - -"select-hose@npm:^2.0.0": - version: 2.0.0 - resolution: "select-hose@npm:2.0.0" - checksum: 10c0/01cc52edd29feddaf379efb4328aededa633f0ac43c64b11a8abd075ff34f05b0d280882c4fbcbdf1a0658202c9cd2ea8d5985174dcf9a2dac7e3a4996fa9b67 - languageName: node - linkType: hard - -"selfsigned@npm:^2.1.1": - version: 2.4.1 - resolution: "selfsigned@npm:2.4.1" - dependencies: - "@types/node-forge": "npm:^1.3.0" - node-forge: "npm:^1" - checksum: 10c0/521829ec36ea042f7e9963bf1da2ed040a815cf774422544b112ec53b7edc0bc50a0f8cc2ae7aa6cc19afa967c641fd96a15de0fc650c68651e41277d2e1df09 - languageName: node - linkType: hard - -"semver-diff@npm:^4.0.0": - version: 4.0.0 - resolution: "semver-diff@npm:4.0.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/3ed1bb22f39b4b6e98785bb066e821eabb9445d3b23e092866c50e7df8b9bd3eda617b242f81db4159586e0e39b0deb908dd160a24f783bd6f52095b22cd68ea - languageName: node - linkType: hard - -"semver@npm:^6.3.1": - version: 6.3.1 - resolution: "semver@npm:6.3.1" - bin: - semver: bin/semver.js - checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d - languageName: node - linkType: hard - -"semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.4": - version: 7.7.2 - resolution: "semver@npm:7.7.2" - bin: - semver: bin/semver.js - checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea - languageName: node - linkType: hard - -"send@npm:0.19.0": - version: 0.19.0 - resolution: "send@npm:0.19.0" - dependencies: - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - encodeurl: "npm:~1.0.2" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" - mime: "npm:1.6.0" - ms: "npm:2.1.3" - on-finished: "npm:2.4.1" - range-parser: "npm:~1.2.1" - statuses: "npm:2.0.1" - checksum: 10c0/ea3f8a67a8f0be3d6bf9080f0baed6d2c51d11d4f7b4470de96a5029c598a7011c497511ccc28968b70ef05508675cebff27da9151dd2ceadd60be4e6cf845e3 - languageName: node - linkType: hard - -"serialize-javascript@npm:^6.0.0, serialize-javascript@npm:^6.0.1, serialize-javascript@npm:^6.0.2": - version: 6.0.2 - resolution: "serialize-javascript@npm:6.0.2" - dependencies: - randombytes: "npm:^2.1.0" - checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 - languageName: node - linkType: hard - -"serve-handler@npm:^6.1.6": - version: 6.1.6 - resolution: "serve-handler@npm:6.1.6" - dependencies: - bytes: "npm:3.0.0" - content-disposition: "npm:0.5.2" - mime-types: "npm:2.1.18" - minimatch: "npm:3.1.2" - path-is-inside: "npm:1.0.2" - path-to-regexp: "npm:3.3.0" - range-parser: "npm:1.2.0" - checksum: 10c0/1e1cb6bbc51ee32bc1505f2e0605bdc2e96605c522277c977b67f83be9d66bd1eec8604388714a4d728e036d86b629bc9aec02120ea030d3d2c3899d44696503 - languageName: node - linkType: hard - -"serve-index@npm:^1.9.1": - version: 1.9.1 - resolution: "serve-index@npm:1.9.1" - dependencies: - accepts: "npm:~1.3.4" - batch: "npm:0.6.1" - debug: "npm:2.6.9" - escape-html: "npm:~1.0.3" - http-errors: "npm:~1.6.2" - mime-types: "npm:~2.1.17" - parseurl: "npm:~1.3.2" - checksum: 10c0/a666471a24196f74371edf2c3c7bcdd82adbac52f600804508754b5296c3567588bf694258b19e0cb23a567acfa20d9721bfdaed3286007b81f9741ada8a3a9c - languageName: node - linkType: hard - -"serve-static@npm:1.16.2": - version: 1.16.2 - resolution: "serve-static@npm:1.16.2" - dependencies: - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - parseurl: "npm:~1.3.3" - send: "npm:0.19.0" - checksum: 10c0/528fff6f5e12d0c5a391229ad893910709bc51b5705962b09404a1d813857578149b8815f35d3ee5752f44cd378d0f31669d4b1d7e2d11f41e08283d5134bd1f - languageName: node - linkType: hard - -"set-function-length@npm:^1.2.2": - version: 1.2.2 - resolution: "set-function-length@npm:1.2.2" - dependencies: - define-data-property: "npm:^1.1.4" - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.2" - checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c - languageName: node - linkType: hard - -"setprototypeof@npm:1.1.0": - version: 1.1.0 - resolution: "setprototypeof@npm:1.1.0" - checksum: 10c0/a77b20876689c6a89c3b42f0c3596a9cae02f90fc902570cbd97198e9e8240382086c9303ad043e88cee10f61eae19f1004e51d885395a1e9bf49f9ebed12872 - languageName: node - linkType: hard - -"setprototypeof@npm:1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc - languageName: node - linkType: hard - -"shallow-clone@npm:^3.0.0": - version: 3.0.1 - resolution: "shallow-clone@npm:3.0.1" - dependencies: - kind-of: "npm:^6.0.2" - checksum: 10c0/7bab09613a1b9f480c85a9823aebec533015579fa055ba6634aa56ba1f984380670eaf33b8217502931872aa1401c9fcadaa15f9f604d631536df475b05bcf1e - languageName: node - linkType: hard - -"shallowequal@npm:^1.1.0": - version: 1.1.0 - resolution: "shallowequal@npm:1.1.0" - checksum: 10c0/b926efb51cd0f47aa9bc061add788a4a650550bbe50647962113a4579b60af2abe7b62f9b02314acc6f97151d4cf87033a2b15fc20852fae306d1a095215396c - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"shell-quote@npm:^1.7.3, shell-quote@npm:^1.8.1": - version: 1.8.2 - resolution: "shell-quote@npm:1.8.2" - checksum: 10c0/85fdd44f2ad76e723d34eb72c753f04d847ab64e9f1f10677e3f518d0e5b0752a176fd805297b30bb8c3a1556ebe6e77d2288dbd7b7b0110c7e941e9e9c20ce1 - languageName: node - linkType: hard - -"shelljs@npm:^0.8.5": - version: 0.8.5 - resolution: "shelljs@npm:0.8.5" - dependencies: - glob: "npm:^7.0.0" - interpret: "npm:^1.0.0" - rechoir: "npm:^0.6.2" - bin: - shjs: bin/shjs - checksum: 10c0/feb25289a12e4bcd04c40ddfab51aff98a3729f5c2602d5b1a1b95f6819ec7804ac8147ebd8d9a85dfab69d501bcf92d7acef03247320f51c1552cec8d8e2382 - languageName: node - linkType: hard - -"side-channel-list@npm:^1.0.0": - version: 1.0.0 - resolution: "side-channel-list@npm:1.0.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d - languageName: node - linkType: hard - -"side-channel-map@npm:^1.0.1": - version: 1.0.1 - resolution: "side-channel-map@npm:1.0.1" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 - languageName: node - linkType: hard - -"side-channel-weakmap@npm:^1.0.2": - version: 1.0.2 - resolution: "side-channel-weakmap@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - side-channel-map: "npm:^1.0.1" - checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 - languageName: node - linkType: hard - -"side-channel@npm:^1.0.6": - version: 1.1.0 - resolution: "side-channel@npm:1.1.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - side-channel-list: "npm:^1.0.0" - side-channel-map: "npm:^1.0.1" - side-channel-weakmap: "npm:^1.0.2" - checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 - languageName: node - linkType: hard - -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"sirv@npm:^2.0.3": - version: 2.0.4 - resolution: "sirv@npm:2.0.4" - dependencies: - "@polka/url": "npm:^1.0.0-next.24" - mrmime: "npm:^2.0.0" - totalist: "npm:^3.0.0" - checksum: 10c0/68f8ee857f6a9415e9c07a1f31c7c561df8d5f1b1ba79bee3de583fa37da8718def5309f6b1c6e2c3ef77de45d74f5e49efc7959214443aa92d42e9c99180a4e - languageName: node - linkType: hard - -"sisteransi@npm:^1.0.5": - version: 1.0.5 - resolution: "sisteransi@npm:1.0.5" - checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 - languageName: node - linkType: hard - -"sitemap@npm:^7.1.1": - version: 7.1.2 - resolution: "sitemap@npm:7.1.2" - dependencies: - "@types/node": "npm:^17.0.5" - "@types/sax": "npm:^1.2.1" - arg: "npm:^5.0.0" - sax: "npm:^1.2.4" - bin: - sitemap: dist/cli.js - checksum: 10c0/01dd1268c0d4b89f8ef082bcb9ef18d0182d00d1622e9c54743474918169491e5360538f9a01a769262e0fe23d6e3822a90680eff0f076cf87b68d459014a34c - languageName: node - linkType: hard - -"skin-tone@npm:^2.0.0": - version: 2.0.0 - resolution: "skin-tone@npm:2.0.0" - dependencies: - unicode-emoji-modifier-base: "npm:^1.0.0" - checksum: 10c0/82d4c2527864f9cbd6cb7f3c4abb31e2224752234d5013b881d3e34e9ab543545b05206df5a17d14b515459fcb265ce409f9cfe443903176b0360cd20e4e4ba5 - languageName: node - linkType: hard - -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - -"slash@npm:^4.0.0": - version: 4.0.0 - resolution: "slash@npm:4.0.0" - checksum: 10c0/b522ca75d80d107fd30d29df0549a7b2537c83c4c4ecd12cd7d4ea6c8aaca2ab17ada002e7a1d78a9d736a0261509f26ea5b489082ee443a3a810586ef8eff18 - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 - languageName: node - linkType: hard - -"snake-case@npm:^3.0.4": - version: 3.0.4 - resolution: "snake-case@npm:3.0.4" - dependencies: - dot-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/ab19a913969f58f4474fe9f6e8a026c8a2142a01f40b52b79368068343177f818cdfef0b0c6b9558f298782441d5ca8ed5932eb57822439fad791d866e62cecd - languageName: node - linkType: hard - -"sockjs@npm:^0.3.24": - version: 0.3.24 - resolution: "sockjs@npm:0.3.24" - dependencies: - faye-websocket: "npm:^0.11.3" - uuid: "npm:^8.3.2" - websocket-driver: "npm:^0.7.4" - checksum: 10c0/aa102c7d921bf430215754511c81ea7248f2dcdf268fbdb18e4d8183493a86b8793b164c636c52f474a886f747447c962741df2373888823271efdb9d2594f33 - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.3": - version: 8.0.5 - resolution: "socks-proxy-agent@npm:8.0.5" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:^4.3.4" - socks: "npm:^2.8.3" - checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 - languageName: node - linkType: hard - -"socks@npm:^2.8.3": - version: 2.8.4 - resolution: "socks@npm:2.8.4" - dependencies: - ip-address: "npm:^9.0.5" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 - languageName: node - linkType: hard - -"sort-css-media-queries@npm:2.2.0": - version: 2.2.0 - resolution: "sort-css-media-queries@npm:2.2.0" - checksum: 10c0/7478308c7ca93409f959ab993d41de2f0515ed5f51b671908ecb777aae0d63be97b454d59d80e14ee4874884618a2e825d4ae7ccb225779276904dd175f4e766 - languageName: node - linkType: hard - -"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": - version: 1.2.1 - resolution: "source-map-js@npm:1.2.1" - checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf - languageName: node - linkType: hard - -"source-map-support@npm:~0.5.20": - version: 0.5.21 - resolution: "source-map-support@npm:0.5.21" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d - languageName: node - linkType: hard - -"source-map@npm:^0.6.0, source-map@npm:~0.6.0": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"source-map@npm:^0.7.0": - version: 0.7.4 - resolution: "source-map@npm:0.7.4" - checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc - languageName: node - linkType: hard - -"space-separated-tokens@npm:^2.0.0": - version: 2.0.2 - resolution: "space-separated-tokens@npm:2.0.2" - checksum: 10c0/6173e1d903dca41dcab6a2deed8b4caf61bd13b6d7af8374713500570aa929ff9414ae09a0519f4f8772df993300305a395d4871f35bc4ca72b6db57e1f30af8 - languageName: node - linkType: hard - -"spdy-transport@npm:^3.0.0": - version: 3.0.0 - resolution: "spdy-transport@npm:3.0.0" - dependencies: - debug: "npm:^4.1.0" - detect-node: "npm:^2.0.4" - hpack.js: "npm:^2.1.6" - obuf: "npm:^1.1.2" - readable-stream: "npm:^3.0.6" - wbuf: "npm:^1.7.3" - checksum: 10c0/eaf7440fa90724fffc813c386d4a8a7427d967d6e46d7c51d8f8a533d1a6911b9823ea9218703debbae755337e85f110185d7a00ae22ec5c847077b908ce71bb - languageName: node - linkType: hard - -"spdy@npm:^4.0.2": - version: 4.0.2 - resolution: "spdy@npm:4.0.2" - dependencies: - debug: "npm:^4.1.0" - handle-thing: "npm:^2.0.0" - http-deceiver: "npm:^1.2.7" - select-hose: "npm:^2.0.0" - spdy-transport: "npm:^3.0.0" - checksum: 10c0/983509c0be9d06fd00bb9dff713c5b5d35d3ffd720db869acdd5ad7aa6fc0e02c2318b58f75328957d8ff772acdf1f7d19382b6047df342044ff3e2d6805ccdf - languageName: node - linkType: hard - -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - -"srcset@npm:^4.0.0": - version: 4.0.0 - resolution: "srcset@npm:4.0.0" - checksum: 10c0/0685c3bd2423b33831734fb71560cd8784f024895e70ee2ac2c392e30047c27ffd9481e001950fb0503f4906bc3fe963145935604edad77944d09c9800990660 - languageName: node - linkType: hard - -"ssri@npm:^12.0.0": - version: 12.0.0 - resolution: "ssri@npm:12.0.0" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d - languageName: node - linkType: hard - -"statuses@npm:2.0.1": - version: 2.0.1 - resolution: "statuses@npm:2.0.1" - checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 - languageName: node - linkType: hard - -"statuses@npm:>= 1.4.0 < 2": - version: 1.5.0 - resolution: "statuses@npm:1.5.0" - checksum: 10c0/e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940 - languageName: node - linkType: hard - -"std-env@npm:^3.7.0": - version: 3.9.0 - resolution: "std-env@npm:3.9.0" - checksum: 10c0/4a6f9218aef3f41046c3c7ecf1f98df00b30a07f4f35c6d47b28329bc2531eef820828951c7d7b39a1c5eb19ad8a46e3ddfc7deb28f0a2f3ceebee11bab7ba50 - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"string_decoder@npm:^1.1.1": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d - languageName: node - linkType: hard - -"string_decoder@npm:~1.1.1": - version: 1.1.1 - resolution: "string_decoder@npm:1.1.1" - dependencies: - safe-buffer: "npm:~5.1.0" - checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e - languageName: node - linkType: hard - -"stringify-entities@npm:^4.0.0": - version: 4.0.4 - resolution: "stringify-entities@npm:4.0.4" - dependencies: - character-entities-html4: "npm:^2.0.0" - character-entities-legacy: "npm:^3.0.0" - checksum: 10c0/537c7e656354192406bdd08157d759cd615724e9d0873602d2c9b2f6a5c0a8d0b1d73a0a08677848105c5eebac6db037b57c0b3a4ec86331117fa7319ed50448 - languageName: node - linkType: hard - -"stringify-object@npm:^3.3.0": - version: 3.3.0 - resolution: "stringify-object@npm:3.3.0" - dependencies: - get-own-enumerable-property-symbols: "npm:^3.0.0" - is-obj: "npm:^1.0.1" - is-regexp: "npm:^1.0.0" - checksum: 10c0/ba8078f84128979ee24b3de9a083489cbd3c62cb8572a061b47d4d82601a8ae4b4d86fa8c54dd955593da56bb7c16a6de51c27221fdc6b7139bb4f29d815f35b - languageName: node - linkType: hard - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - -"strip-bom-string@npm:^1.0.0": - version: 1.0.0 - resolution: "strip-bom-string@npm:1.0.0" - checksum: 10c0/5c5717e2643225aa6a6d659d34176ab2657037f1fe2423ac6fcdb488f135e14fef1022030e426d8b4d0989e09adbd5c3288d5d3b9c632abeefd2358dfc512bca - languageName: node - linkType: hard - -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f - languageName: node - linkType: hard - -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - -"strip-json-comments@npm:~2.0.1": - version: 2.0.1 - resolution: "strip-json-comments@npm:2.0.1" - checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 - languageName: node - linkType: hard - -"style-to-js@npm:^1.0.0": - version: 1.1.16 - resolution: "style-to-js@npm:1.1.16" - dependencies: - style-to-object: "npm:1.0.8" - checksum: 10c0/578a4dff804539ec7e64d3cc8d327540befb9ad30e3cd0b6b0392f93f793f3a028f90084a9aaff088bffb87818fa2c6c153f0df576f61f9ab0b0938b582bcac7 - languageName: node - linkType: hard - -"style-to-object@npm:1.0.8": - version: 1.0.8 - resolution: "style-to-object@npm:1.0.8" - dependencies: - inline-style-parser: "npm:0.2.4" - checksum: 10c0/daa6646b1ff18258c0ca33ed281fbe73485c8391192db1b56ce89d40c93ea64507a41e8701d0dadfe771bc2f540c46c9b295135f71584c8e5cb23d6a19be9430 - languageName: node - linkType: hard - -"stylehacks@npm:^6.1.1": - version: 6.1.1 - resolution: "stylehacks@npm:6.1.1" - dependencies: - browserslist: "npm:^4.23.0" - postcss-selector-parser: "npm:^6.0.16" - peerDependencies: - postcss: ^8.4.31 - checksum: 10c0/2dd2bccfd8311ff71492e63a7b8b86c3d7b1fff55d4ba5a2357aff97743e633d351cdc2f5ae3c0057637d00dab4ef5fc5b218a1b370e4585a41df22b5a5128be - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - -"supports-color@npm:^8.0.0": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 - languageName: node - linkType: hard - -"supports-preserve-symlinks-flag@npm:^1.0.0": - version: 1.0.0 - resolution: "supports-preserve-symlinks-flag@npm:1.0.0" - checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 - languageName: node - linkType: hard - -"svg-parser@npm:^2.0.4": - version: 2.0.4 - resolution: "svg-parser@npm:2.0.4" - checksum: 10c0/02f6cb155dd7b63ebc2f44f36365bc294543bebb81b614b7628f1af3c54ab64f7e1cec20f06e252bf95bdde78441ae295a412c68ad1678f16a6907d924512b7a - languageName: node - linkType: hard - -"svgo@npm:^3.0.2, svgo@npm:^3.2.0": - version: 3.3.2 - resolution: "svgo@npm:3.3.2" - dependencies: - "@trysound/sax": "npm:0.2.0" - commander: "npm:^7.2.0" - css-select: "npm:^5.1.0" - css-tree: "npm:^2.3.1" - css-what: "npm:^6.1.0" - csso: "npm:^5.0.5" - picocolors: "npm:^1.0.0" - bin: - svgo: ./bin/svgo - checksum: 10c0/a6badbd3d1d6dbb177f872787699ab34320b990d12e20798ecae915f0008796a0f3c69164f1485c9def399e0ce0a5683eb4a8045e51a5e1c364bb13a0d9f79e1 - languageName: node - linkType: hard - -"tapable@npm:^1.0.0": - version: 1.1.3 - resolution: "tapable@npm:1.1.3" - checksum: 10c0/c9f0265e55e45821ec672b9b9ee8a35d95bf3ea6b352199f8606a2799018e89cfe4433c554d424b31fc67c4be26b05d4f36dc3c607def416fdb2514cd63dba50 - languageName: node - linkType: hard - -"tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": - version: 2.2.1 - resolution: "tapable@npm:2.2.1" - checksum: 10c0/bc40e6efe1e554d075469cedaba69a30eeb373552aaf41caeaaa45bf56ffacc2674261b106245bd566b35d8f3329b52d838e851ee0a852120acae26e622925c9 - languageName: node - linkType: hard - -"tar@npm:^7.4.3": - version: 7.4.3 - resolution: "tar@npm:7.4.3" - dependencies: - "@isaacs/fs-minipass": "npm:^4.0.0" - chownr: "npm:^3.0.0" - minipass: "npm:^7.1.2" - minizlib: "npm:^3.0.1" - mkdirp: "npm:^3.0.1" - yallist: "npm:^5.0.0" - checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d - languageName: node - linkType: hard - -"terser-webpack-plugin@npm:^5.3.11, terser-webpack-plugin@npm:^5.3.9": - version: 5.3.14 - resolution: "terser-webpack-plugin@npm:5.3.14" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.25" - jest-worker: "npm:^27.4.5" - schema-utils: "npm:^4.3.0" - serialize-javascript: "npm:^6.0.2" - terser: "npm:^5.31.1" - peerDependencies: - webpack: ^5.1.0 - peerDependenciesMeta: - "@swc/core": - optional: true - esbuild: - optional: true - uglify-js: - optional: true - checksum: 10c0/9b060947241af43bd6fd728456f60e646186aef492163672a35ad49be6fbc7f63b54a7356c3f6ff40a8f83f00a977edc26f044b8e106cc611c053c8c0eaf8569 - languageName: node - linkType: hard - -"terser@npm:^5.10.0, terser@npm:^5.15.1, terser@npm:^5.31.1": - version: 5.39.1 - resolution: "terser@npm:5.39.1" - dependencies: - "@jridgewell/source-map": "npm:^0.3.3" - acorn: "npm:^8.8.2" - commander: "npm:^2.20.0" - source-map-support: "npm:~0.5.20" - bin: - terser: bin/terser - checksum: 10c0/d49e06dd4dd03661dac41f45c9cf187b2aa3fe80775235e838398c29311705169387c007f398ab44cd1bd8f89b14a1eea383feaa95c1cae29e3f5b6b606b6b37 - languageName: node - linkType: hard - -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c - languageName: node - linkType: hard - -"thunky@npm:^1.0.2": - version: 1.1.0 - resolution: "thunky@npm:1.1.0" - checksum: 10c0/369764f39de1ce1de2ba2fa922db4a3f92e9c7f33bcc9a713241bc1f4a5238b484c17e0d36d1d533c625efb00e9e82c3e45f80b47586945557b45abb890156d2 - languageName: node - linkType: hard - -"tiny-invariant@npm:^1.0.2": - version: 1.3.3 - resolution: "tiny-invariant@npm:1.3.3" - checksum: 10c0/65af4a07324b591a059b35269cd696aba21bef2107f29b9f5894d83cc143159a204b299553435b03874ebb5b94d019afa8b8eff241c8a4cfee95872c2e1c1c4a - languageName: node - linkType: hard - -"tiny-warning@npm:^1.0.0": - version: 1.0.3 - resolution: "tiny-warning@npm:1.0.3" - checksum: 10c0/ef8531f581b30342f29670cb41ca248001c6fd7975ce22122bd59b8d62b4fc84ad4207ee7faa95cde982fa3357cd8f4be650142abc22805538c3b1392d7084fa - languageName: node - linkType: hard - -"tinyglobby@npm:^0.2.12": - version: 0.2.13 - resolution: "tinyglobby@npm:0.2.13" - dependencies: - fdir: "npm:^6.4.4" - picomatch: "npm:^4.0.2" - checksum: 10c0/ef07dfaa7b26936601d3f6d999f7928a4d1c6234c5eb36896bb88681947c0d459b7ebe797022400e555fe4b894db06e922b95d0ce60cb05fd827a0a66326b18c - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"toidentifier@npm:1.0.1": - version: 1.0.1 - resolution: "toidentifier@npm:1.0.1" - checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 - languageName: node - linkType: hard - -"totalist@npm:^3.0.0": - version: 3.0.1 - resolution: "totalist@npm:3.0.1" - checksum: 10c0/4bb1fadb69c3edbef91c73ebef9d25b33bbf69afe1e37ce544d5f7d13854cda15e47132f3e0dc4cafe300ddb8578c77c50a65004d8b6e97e77934a69aa924863 - languageName: node - linkType: hard - -"trim-lines@npm:^3.0.0": - version: 3.0.1 - resolution: "trim-lines@npm:3.0.1" - checksum: 10c0/3a1611fa9e52aa56a94c69951a9ea15b8aaad760eaa26c56a65330dc8adf99cb282fc07cc9d94968b7d4d88003beba220a7278bbe2063328eb23fb56f9509e94 - languageName: node - linkType: hard - -"trim-trailing-lines@npm:^2.0.0": - version: 2.1.0 - resolution: "trim-trailing-lines@npm:2.1.0" - checksum: 10c0/9b010d16b191422d08678f5a4988213dffd8ae9445e1b0f7f7b3e5b28ffdb062a8465a7988b66999b90589b386ddc93b56d23545ba75a74ebaf5838b30594cb9 - languageName: node - linkType: hard - -"trough@npm:^2.0.0": - version: 2.2.0 - resolution: "trough@npm:2.2.0" - checksum: 10c0/58b671fc970e7867a48514168894396dd94e6d9d6456aca427cc299c004fe67f35ed7172a36449086b2edde10e78a71a284ec0076809add6834fb8f857ccb9b0 - languageName: node - linkType: hard - -"ts-dedent@npm:^2.2.0": - version: 2.2.0 - resolution: "ts-dedent@npm:2.2.0" - checksum: 10c0/175adea838468cc2ff7d5e97f970dcb798bbcb623f29c6088cb21aa2880d207c5784be81ab1741f56b9ac37840cbaba0c0d79f7f8b67ffe61c02634cafa5c303 - languageName: node - linkType: hard - -"tslib@npm:^2.0.3, tslib@npm:^2.6.0": - version: 2.8.1 - resolution: "tslib@npm:2.8.1" - checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 - languageName: node - linkType: hard - -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 - languageName: node - linkType: hard - -"type-fest@npm:^1.0.1": - version: 1.4.0 - resolution: "type-fest@npm:1.4.0" - checksum: 10c0/a3c0f4ee28ff6ddf800d769eafafcdeab32efa38763c1a1b8daeae681920f6e345d7920bf277245235561d8117dab765cb5f829c76b713b4c9de0998a5397141 - languageName: node - linkType: hard - -"type-fest@npm:^2.13.0, type-fest@npm:^2.5.0": - version: 2.19.0 - resolution: "type-fest@npm:2.19.0" - checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb - languageName: node - linkType: hard - -"type-is@npm:~1.6.18": - version: 1.6.18 - resolution: "type-is@npm:1.6.18" - dependencies: - media-typer: "npm:0.3.0" - mime-types: "npm:~2.1.24" - checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d - languageName: node - linkType: hard - -"typedarray-to-buffer@npm:^3.1.5": - version: 3.1.5 - resolution: "typedarray-to-buffer@npm:3.1.5" - dependencies: - is-typedarray: "npm:^1.0.0" - checksum: 10c0/4ac5b7a93d604edabf3ac58d3a2f7e07487e9f6e98195a080e81dbffdc4127817f470f219d794a843b87052cedef102b53ac9b539855380b8c2172054b7d5027 - languageName: node - linkType: hard - -"typescript@npm:~5.2.2": - version: 5.2.2 - resolution: "typescript@npm:5.2.2" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/91ae3e6193d0ddb8656d4c418a033f0f75dec5e077ebbc2bd6d76439b93f35683936ee1bdc0e9cf94ec76863aa49f27159b5788219b50e1cd0cd6d110aa34b07 - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A~5.2.2#optional!builtin": - version: 5.2.2 - resolution: "typescript@patch:typescript@npm%3A5.2.2#optional!builtin::version=5.2.2&hash=f3b441" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/062c1cee1990e6b9419ce8a55162b8dc917eb87f807e4de0327dbc1c2fa4e5f61bc0dd4e034d38ff541d1ed0479b53bcee8e4de3a4075c51a1724eb6216cb6f5 - languageName: node - linkType: hard - -"undici-types@npm:~6.21.0": - version: 6.21.0 - resolution: "undici-types@npm:6.21.0" - checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 - languageName: node - linkType: hard - -"unicode-canonical-property-names-ecmascript@npm:^2.0.0": - version: 2.0.1 - resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" - checksum: 10c0/f83bc492fdbe662860795ef37a85910944df7310cac91bd778f1c19ebc911e8b9cde84e703de631e5a2fcca3905e39896f8fc5fc6a44ddaf7f4aff1cda24f381 - languageName: node - linkType: hard - -"unicode-emoji-modifier-base@npm:^1.0.0": - version: 1.0.0 - resolution: "unicode-emoji-modifier-base@npm:1.0.0" - checksum: 10c0/b37623fcf0162186debd20f116483e035a2d5b905b932a2c472459d9143d446ebcbefb2a494e2fe4fa7434355396e2a95ec3fc1f0c29a3bc8f2c827220e79c66 - languageName: node - linkType: hard - -"unicode-match-property-ecmascript@npm:^2.0.0": - version: 2.0.0 - resolution: "unicode-match-property-ecmascript@npm:2.0.0" - dependencies: - unicode-canonical-property-names-ecmascript: "npm:^2.0.0" - unicode-property-aliases-ecmascript: "npm:^2.0.0" - checksum: 10c0/4d05252cecaf5c8e36d78dc5332e03b334c6242faf7cf16b3658525441386c0a03b5f603d42cbec0f09bb63b9fd25c9b3b09667aee75463cac3efadae2cd17ec - languageName: node - linkType: hard - -"unicode-match-property-value-ecmascript@npm:^2.1.0": - version: 2.2.0 - resolution: "unicode-match-property-value-ecmascript@npm:2.2.0" - checksum: 10c0/1d0a2deefd97974ddff5b7cb84f9884177f4489928dfcebb4b2b091d6124f2739df51fc6ea15958e1b5637ac2a24cff9bf21ea81e45335086ac52c0b4c717d6d - languageName: node - linkType: hard - -"unicode-property-aliases-ecmascript@npm:^2.0.0": - version: 2.1.0 - resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" - checksum: 10c0/50ded3f8c963c7785e48c510a3b7c6bc4e08a579551489aa0349680a35b1ceceec122e33b2b6c1b579d0be2250f34bb163ac35f5f8695fe10bbc67fb757f0af8 - languageName: node - linkType: hard - -"unified@npm:^11.0.0, unified@npm:^11.0.3, unified@npm:^11.0.4": - version: 11.0.5 - resolution: "unified@npm:11.0.5" - dependencies: - "@types/unist": "npm:^3.0.0" - bail: "npm:^2.0.0" - devlop: "npm:^1.0.0" - extend: "npm:^3.0.0" - is-plain-obj: "npm:^4.0.0" - trough: "npm:^2.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/53c8e685f56d11d9d458a43e0e74328a4d6386af51c8ac37a3dcabec74ce5026da21250590d4aff6733ccd7dc203116aae2b0769abc18cdf9639a54ae528dfc9 - languageName: node - linkType: hard - -"unique-filename@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-filename@npm:4.0.0" - dependencies: - unique-slug: "npm:^5.0.0" - checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc - languageName: node - linkType: hard - -"unique-slug@npm:^5.0.0": - version: 5.0.0 - resolution: "unique-slug@npm:5.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 - languageName: node - linkType: hard - -"unique-string@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-string@npm:3.0.0" - dependencies: - crypto-random-string: "npm:^4.0.0" - checksum: 10c0/b35ea034b161b2a573666ec16c93076b4b6106b8b16c2415808d747ab3a0566b5db0c4be231d4b11cfbc16d7fd915c9d8a45884bff0e2db11b799775b2e1e017 - languageName: node - linkType: hard - -"unist-builder@npm:^4.0.0": - version: 4.0.0 - resolution: "unist-builder@npm:4.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - checksum: 10c0/8296a70703bb1be8dfaa2fb59c05480a84df464f359ce61c7db98db2dc4dfb2219a17020a3feaca65c44841e631133cbf829047b9f92941b30dad003f9052d14 - languageName: node - linkType: hard - -"unist-util-find-after@npm:^5.0.0": - version: 5.0.0 - resolution: "unist-util-find-after@npm:5.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - unist-util-is: "npm:^6.0.0" - checksum: 10c0/a7cea473c4384df8de867c456b797ff1221b20f822e1af673ff5812ed505358b36f47f3b084ac14c3622cb879ed833b71b288e8aa71025352a2aab4c2925a6eb - languageName: node - linkType: hard - -"unist-util-is@npm:^6.0.0": - version: 6.0.0 - resolution: "unist-util-is@npm:6.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - checksum: 10c0/9419352181eaa1da35eca9490634a6df70d2217815bb5938a04af3a662c12c5607a2f1014197ec9c426fbef18834f6371bfdb6f033040fa8aa3e965300d70e7e - languageName: node - linkType: hard - -"unist-util-position-from-estree@npm:^2.0.0": - version: 2.0.0 - resolution: "unist-util-position-from-estree@npm:2.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - checksum: 10c0/39127bf5f0594e0a76d9241dec4f7aa26323517120ce1edd5ed91c8c1b9df7d6fb18af556e4b6250f1c7368825720ed892e2b6923be5cdc08a9bb16536dc37b3 - languageName: node - linkType: hard - -"unist-util-position@npm:^5.0.0": - version: 5.0.0 - resolution: "unist-util-position@npm:5.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - checksum: 10c0/dde3b31e314c98f12b4dc6402f9722b2bf35e96a4f2d463233dd90d7cde2d4928074a7a11eff0a5eb1f4e200f27fc1557e0a64a7e8e4da6558542f251b1b7400 - languageName: node - linkType: hard - -"unist-util-remove-position@npm:^5.0.0": - version: 5.0.0 - resolution: "unist-util-remove-position@npm:5.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - unist-util-visit: "npm:^5.0.0" - checksum: 10c0/e8c76da4399446b3da2d1c84a97c607b37d03d1d92561e14838cbe4fdcb485bfc06c06cfadbb808ccb72105a80643976d0660d1fe222ca372203075be9d71105 - languageName: node - linkType: hard - -"unist-util-stringify-position@npm:^4.0.0": - version: 4.0.0 - resolution: "unist-util-stringify-position@npm:4.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - checksum: 10c0/dfe1dbe79ba31f589108cb35e523f14029b6675d741a79dea7e5f3d098785045d556d5650ec6a8338af11e9e78d2a30df12b1ee86529cded1098da3f17ee999e - languageName: node - linkType: hard - -"unist-util-visit-parents@npm:^6.0.0": - version: 6.0.1 - resolution: "unist-util-visit-parents@npm:6.0.1" - dependencies: - "@types/unist": "npm:^3.0.0" - unist-util-is: "npm:^6.0.0" - checksum: 10c0/51b1a5b0aa23c97d3e03e7288f0cdf136974df2217d0999d3de573c05001ef04cccd246f51d2ebdfb9e8b0ed2704451ad90ba85ae3f3177cf9772cef67f56206 - languageName: node - linkType: hard - -"unist-util-visit@npm:^5.0.0": - version: 5.0.0 - resolution: "unist-util-visit@npm:5.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - unist-util-is: "npm:^6.0.0" - unist-util-visit-parents: "npm:^6.0.0" - checksum: 10c0/51434a1d80252c1540cce6271a90fd1a106dbe624997c09ed8879279667fb0b2d3a685e02e92bf66598dcbe6cdffa7a5f5fb363af8fdf90dda6c855449ae39a5 - languageName: node - linkType: hard - -"universalify@npm:^2.0.0": - version: 2.0.1 - resolution: "universalify@npm:2.0.1" - checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a - languageName: node - linkType: hard - -"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": - version: 1.0.0 - resolution: "unpipe@npm:1.0.0" - checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c - languageName: node - linkType: hard - -"update-browserslist-db@npm:^1.1.3": - version: 1.1.3 - resolution: "update-browserslist-db@npm:1.1.3" - dependencies: - escalade: "npm:^3.2.0" - picocolors: "npm:^1.1.1" - peerDependencies: - browserslist: ">= 4.21.0" - bin: - update-browserslist-db: cli.js - checksum: 10c0/682e8ecbf9de474a626f6462aa85927936cdd256fe584c6df2508b0df9f7362c44c957e9970df55dfe44d3623807d26316ea2c7d26b80bb76a16c56c37233c32 - languageName: node - linkType: hard - -"update-notifier@npm:^6.0.2": - version: 6.0.2 - resolution: "update-notifier@npm:6.0.2" - dependencies: - boxen: "npm:^7.0.0" - chalk: "npm:^5.0.1" - configstore: "npm:^6.0.0" - has-yarn: "npm:^3.0.0" - import-lazy: "npm:^4.0.0" - is-ci: "npm:^3.0.1" - is-installed-globally: "npm:^0.4.0" - is-npm: "npm:^6.0.0" - is-yarn-global: "npm:^0.4.0" - latest-version: "npm:^7.0.0" - pupa: "npm:^3.1.0" - semver: "npm:^7.3.7" - semver-diff: "npm:^4.0.0" - xdg-basedir: "npm:^5.1.0" - checksum: 10c0/ad3980073312df904133a6e6c554a7f9d0832ed6275e55f5a546313fe77a0f20f23a7b1b4aeb409e20a78afb06f4d3b2b28b332d9cfb55745b5d1ea155810bcc - languageName: node - linkType: hard - -"uri-js@npm:^4.2.2": - version: 4.4.1 - resolution: "uri-js@npm:4.4.1" - dependencies: - punycode: "npm:^2.1.0" - checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c - languageName: node - linkType: hard - -"url-loader@npm:^4.1.1": - version: 4.1.1 - resolution: "url-loader@npm:4.1.1" - dependencies: - loader-utils: "npm:^2.0.0" - mime-types: "npm:^2.1.27" - schema-utils: "npm:^3.0.0" - peerDependencies: - file-loader: "*" - webpack: ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - file-loader: - optional: true - checksum: 10c0/71b6300e02ce26c70625eae1a2297c0737635038c62691bb3007ac33e85c0130efc74bfb444baf5c6b3bad5953491159d31d66498967d1417865d0c7e7cd1a64 - languageName: node - linkType: hard - -"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": - version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 - languageName: node - linkType: hard - -"utila@npm:~0.4": - version: 0.4.0 - resolution: "utila@npm:0.4.0" - checksum: 10c0/2791604e09ca4f77ae314df83e80d1805f867eb5c7e13e7413caee01273c278cf2c9a3670d8d25c889a877f7b149d892fe61b0181a81654b425e9622ab23d42e - languageName: node - linkType: hard - -"utility-types@npm:^3.10.0": - version: 3.11.0 - resolution: "utility-types@npm:3.11.0" - checksum: 10c0/2f1580137b0c3e6cf5405f37aaa8f5249961a76d26f1ca8efc0ff49a2fc0e0b2db56de8e521a174d075758e0c7eb3e590edec0832eb44478b958f09914920f19 - languageName: node - linkType: hard - -"utils-merge@npm:1.0.1": - version: 1.0.1 - resolution: "utils-merge@npm:1.0.1" - checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 - languageName: node - linkType: hard - -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 - languageName: node - linkType: hard - -"value-equal@npm:^1.0.1": - version: 1.0.1 - resolution: "value-equal@npm:1.0.1" - checksum: 10c0/79068098355483ef29f4d3753999ad880875b87625d7e9055cad9346ea4b7662aad3a66f87976801b0dd7a6f828ba973d28b1669ebcd37eaf88cc5f687c1a691 - languageName: node - linkType: hard - -"vary@npm:~1.1.2": - version: 1.1.2 - resolution: "vary@npm:1.1.2" - checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f - languageName: node - linkType: hard - -"vfile-location@npm:^5.0.0": - version: 5.0.3 - resolution: "vfile-location@npm:5.0.3" - dependencies: - "@types/unist": "npm:^3.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/1711f67802a5bc175ea69750d59863343ed43d1b1bb25c0a9063e4c70595e673e53e2ed5cdbb6dcdc370059b31605144d95e8c061b9361bcc2b036b8f63a4966 - languageName: node - linkType: hard - -"vfile-message@npm:^4.0.0": - version: 4.0.2 - resolution: "vfile-message@npm:4.0.2" - dependencies: - "@types/unist": "npm:^3.0.0" - unist-util-stringify-position: "npm:^4.0.0" - checksum: 10c0/07671d239a075f888b78f318bc1d54de02799db4e9dce322474e67c35d75ac4a5ac0aaf37b18801d91c9f8152974ea39678aa72d7198758b07f3ba04fb7d7514 - languageName: node - linkType: hard - -"vfile@npm:^6.0.0, vfile@npm:^6.0.1": - version: 6.0.3 - resolution: "vfile@npm:6.0.3" - dependencies: - "@types/unist": "npm:^3.0.0" - vfile-message: "npm:^4.0.0" - checksum: 10c0/e5d9eb4810623f23758cfc2205323e33552fb5972e5c2e6587babe08fe4d24859866277404fb9e2a20afb71013860d96ec806cb257536ae463c87d70022ab9ef - languageName: node - linkType: hard - -"watchpack@npm:^2.4.1": - version: 2.4.2 - resolution: "watchpack@npm:2.4.2" - dependencies: - glob-to-regexp: "npm:^0.4.1" - graceful-fs: "npm:^4.1.2" - checksum: 10c0/ec60a5f0e9efaeca0102fd9126346b3b2d523e01c34030d3fddf5813a7125765121ebdc2552981136dcd2c852deb1af0b39340f2fcc235f292db5399d0283577 - languageName: node - linkType: hard - -"wbuf@npm:^1.1.0, wbuf@npm:^1.7.3": - version: 1.7.3 - resolution: "wbuf@npm:1.7.3" - dependencies: - minimalistic-assert: "npm:^1.0.0" - checksum: 10c0/56edcc5ef2b3d30913ba8f1f5cccc364d180670b24d5f3f8849c1e6fb514e5c7e3a87548ae61227a82859eba6269c11393ae24ce12a2ea1ecb9b465718ddced7 - languageName: node - linkType: hard - -"web-namespaces@npm:^2.0.0": - version: 2.0.1 - resolution: "web-namespaces@npm:2.0.1" - checksum: 10c0/df245f466ad83bd5cd80bfffc1674c7f64b7b84d1de0e4d2c0934fb0782e0a599164e7197a4bce310ee3342fd61817b8047ff04f076a1ce12dd470584142a4bd - languageName: node - linkType: hard - -"webpack-bundle-analyzer@npm:^4.10.2": - version: 4.10.2 - resolution: "webpack-bundle-analyzer@npm:4.10.2" - dependencies: - "@discoveryjs/json-ext": "npm:0.5.7" - acorn: "npm:^8.0.4" - acorn-walk: "npm:^8.0.0" - commander: "npm:^7.2.0" - debounce: "npm:^1.2.1" - escape-string-regexp: "npm:^4.0.0" - gzip-size: "npm:^6.0.0" - html-escaper: "npm:^2.0.2" - opener: "npm:^1.5.2" - picocolors: "npm:^1.0.0" - sirv: "npm:^2.0.3" - ws: "npm:^7.3.1" - bin: - webpack-bundle-analyzer: lib/bin/analyzer.js - checksum: 10c0/00603040e244ead15b2d92981f0559fa14216381349412a30070a7358eb3994cd61a8221d34a3b3fb8202dc3d1c5ee1fbbe94c5c52da536e5b410aa1cf279a48 - languageName: node - linkType: hard - -"webpack-dev-middleware@npm:^5.3.4": - version: 5.3.4 - resolution: "webpack-dev-middleware@npm:5.3.4" - dependencies: - colorette: "npm:^2.0.10" - memfs: "npm:^3.4.3" - mime-types: "npm:^2.1.31" - range-parser: "npm:^1.2.1" - schema-utils: "npm:^4.0.0" - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: 10c0/257df7d6bc5494d1d3cb66bba70fbdf5a6e0423e39b6420f7631aeb52435afbfbff8410a62146dcdf3d2f945c62e03193aae2ac1194a2f7d5a2523b9d194e9e1 - languageName: node - linkType: hard - -"webpack-dev-server@npm:^4.15.2": - version: 4.15.2 - resolution: "webpack-dev-server@npm:4.15.2" - dependencies: - "@types/bonjour": "npm:^3.5.9" - "@types/connect-history-api-fallback": "npm:^1.3.5" - "@types/express": "npm:^4.17.13" - "@types/serve-index": "npm:^1.9.1" - "@types/serve-static": "npm:^1.13.10" - "@types/sockjs": "npm:^0.3.33" - "@types/ws": "npm:^8.5.5" - ansi-html-community: "npm:^0.0.8" - bonjour-service: "npm:^1.0.11" - chokidar: "npm:^3.5.3" - colorette: "npm:^2.0.10" - compression: "npm:^1.7.4" - connect-history-api-fallback: "npm:^2.0.0" - default-gateway: "npm:^6.0.3" - express: "npm:^4.17.3" - graceful-fs: "npm:^4.2.6" - html-entities: "npm:^2.3.2" - http-proxy-middleware: "npm:^2.0.3" - ipaddr.js: "npm:^2.0.1" - launch-editor: "npm:^2.6.0" - open: "npm:^8.0.9" - p-retry: "npm:^4.5.0" - rimraf: "npm:^3.0.2" - schema-utils: "npm:^4.0.0" - selfsigned: "npm:^2.1.1" - serve-index: "npm:^1.9.1" - sockjs: "npm:^0.3.24" - spdy: "npm:^4.0.2" - webpack-dev-middleware: "npm:^5.3.4" - ws: "npm:^8.13.0" - peerDependencies: - webpack: ^4.37.0 || ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true - bin: - webpack-dev-server: bin/webpack-dev-server.js - checksum: 10c0/625bd5b79360afcf98782c8b1fd710b180bb0e96d96b989defff550c546890010ceea82ffbecb2a0a23f7f018bc72f2dee7b3070f7b448fb0110df6657fb2904 - languageName: node - linkType: hard - -"webpack-merge@npm:^5.9.0": - version: 5.10.0 - resolution: "webpack-merge@npm:5.10.0" - dependencies: - clone-deep: "npm:^4.0.1" - flat: "npm:^5.0.2" - wildcard: "npm:^2.0.0" - checksum: 10c0/b607c84cabaf74689f965420051a55a08722d897bdd6c29cb0b2263b451c090f962d41ecf8c9bf56b0ab3de56e65476ace0a8ecda4f4a4663684243d90e0512b - languageName: node - linkType: hard - -"webpack-merge@npm:^6.0.1": - version: 6.0.1 - resolution: "webpack-merge@npm:6.0.1" - dependencies: - clone-deep: "npm:^4.0.1" - flat: "npm:^5.0.2" - wildcard: "npm:^2.0.1" - checksum: 10c0/bf1429567858b353641801b8a2696ca0aac270fc8c55d4de8a7b586fe07d27fdcfc83099a98ab47e6162383db8dd63bb8cc25b1beb2ec82150422eec843b0dc0 - languageName: node - linkType: hard - -"webpack-sources@npm:^3.2.3": - version: 3.2.3 - resolution: "webpack-sources@npm:3.2.3" - checksum: 10c0/2ef63d77c4fad39de4a6db17323d75eb92897b32674e97d76f0a1e87c003882fc038571266ad0ef581ac734cbe20952912aaa26155f1905e96ce251adbb1eb4e - languageName: node - linkType: hard - -"webpack@npm:^5.88.1, webpack@npm:^5.95.0": - version: 5.99.8 - resolution: "webpack@npm:5.99.8" - dependencies: - "@types/eslint-scope": "npm:^3.7.7" - "@types/estree": "npm:^1.0.6" - "@types/json-schema": "npm:^7.0.15" - "@webassemblyjs/ast": "npm:^1.14.1" - "@webassemblyjs/wasm-edit": "npm:^1.14.1" - "@webassemblyjs/wasm-parser": "npm:^1.14.1" - acorn: "npm:^8.14.0" - browserslist: "npm:^4.24.0" - chrome-trace-event: "npm:^1.0.2" - enhanced-resolve: "npm:^5.17.1" - es-module-lexer: "npm:^1.2.1" - eslint-scope: "npm:5.1.1" - events: "npm:^3.2.0" - glob-to-regexp: "npm:^0.4.1" - graceful-fs: "npm:^4.2.11" - json-parse-even-better-errors: "npm:^2.3.1" - loader-runner: "npm:^4.2.0" - mime-types: "npm:^2.1.27" - neo-async: "npm:^2.6.2" - schema-utils: "npm:^4.3.2" - tapable: "npm:^2.1.1" - terser-webpack-plugin: "npm:^5.3.11" - watchpack: "npm:^2.4.1" - webpack-sources: "npm:^3.2.3" - peerDependenciesMeta: - webpack-cli: - optional: true - bin: - webpack: bin/webpack.js - checksum: 10c0/c4852c3b795ed3fba799d2925802a4e259b2de7c2c597f0aaf0e228acfdc6755389ed8c29f1dad86610a9c6ad968c0b57c702b93891d60f09d302af63b2debe0 - languageName: node - linkType: hard - -"webpackbar@npm:^6.0.1": - version: 6.0.1 - resolution: "webpackbar@npm:6.0.1" - dependencies: - ansi-escapes: "npm:^4.3.2" - chalk: "npm:^4.1.2" - consola: "npm:^3.2.3" - figures: "npm:^3.2.0" - markdown-table: "npm:^2.0.0" - pretty-time: "npm:^1.1.0" - std-env: "npm:^3.7.0" - wrap-ansi: "npm:^7.0.0" - peerDependencies: - webpack: 3 || 4 || 5 - checksum: 10c0/8dfa2c55f8122f729c7efd515a2b50fb752c0d0cb27ec2ecdbc70d90a86d5f69f466c9c5d01004f71b500dafba957ecd4413fca196a98cf99a39b705f98cae97 - languageName: node - linkType: hard - -"websocket-driver@npm:>=0.5.1, websocket-driver@npm:^0.7.4": - version: 0.7.4 - resolution: "websocket-driver@npm:0.7.4" - dependencies: - http-parser-js: "npm:>=0.5.1" - safe-buffer: "npm:>=5.1.0" - websocket-extensions: "npm:>=0.1.1" - checksum: 10c0/5f09547912b27bdc57bac17b7b6527d8993aa4ac8a2d10588bb74aebaf785fdcf64fea034aae0c359b7adff2044dd66f3d03866e4685571f81b13e548f9021f1 - languageName: node - linkType: hard - -"websocket-extensions@npm:>=0.1.1": - version: 0.1.4 - resolution: "websocket-extensions@npm:0.1.4" - checksum: 10c0/bbc8c233388a0eb8a40786ee2e30d35935cacbfe26ab188b3e020987e85d519c2009fe07cfc37b7f718b85afdba7e54654c9153e6697301f72561bfe429177e0 - languageName: node - linkType: hard - -"which@npm:^1.3.1": - version: 1.3.1 - resolution: "which@npm:1.3.1" - dependencies: - isexe: "npm:^2.0.0" - bin: - which: ./bin/which - checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 - languageName: node - linkType: hard - -"which@npm:^2.0.1": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard - -"which@npm:^5.0.0": - version: 5.0.0 - resolution: "which@npm:5.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b - languageName: node - linkType: hard - -"widest-line@npm:^4.0.1": - version: 4.0.1 - resolution: "widest-line@npm:4.0.1" - dependencies: - string-width: "npm:^5.0.1" - checksum: 10c0/7da9525ba45eaf3e4ed1a20f3dcb9b85bd9443962450694dae950f4bdd752839747bbc14713522b0b93080007de8e8af677a61a8c2114aa553ad52bde72d0f9c - languageName: node - linkType: hard - -"wildcard@npm:^2.0.0, wildcard@npm:^2.0.1": - version: 2.0.1 - resolution: "wildcard@npm:2.0.1" - checksum: 10c0/08f70cd97dd9a20aea280847a1fe8148e17cae7d231640e41eb26d2388697cbe65b67fd9e68715251c39b080c5ae4f76d71a9a69fa101d897273efdfb1b58bf7 - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.0.1, wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"write-file-atomic@npm:^3.0.3": - version: 3.0.3 - resolution: "write-file-atomic@npm:3.0.3" - dependencies: - imurmurhash: "npm:^0.1.4" - is-typedarray: "npm:^1.0.0" - signal-exit: "npm:^3.0.2" - typedarray-to-buffer: "npm:^3.1.5" - checksum: 10c0/7fb67affd811c7a1221bed0c905c26e28f0041e138fb19ccf02db57a0ef93ea69220959af3906b920f9b0411d1914474cdd90b93a96e5cd9e8368d9777caac0e - languageName: node - linkType: hard - -"ws@npm:^7.3.1": - version: 7.5.10 - resolution: "ws@npm:7.5.10" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d - languageName: node - linkType: hard - -"ws@npm:^8.13.0": - version: 8.18.2 - resolution: "ws@npm:8.18.2" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/4b50f67931b8c6943c893f59c524f0e4905bbd183016cfb0f2b8653aa7f28dad4e456b9d99d285bbb67cca4fedd9ce90dfdfaa82b898a11414ebd66ee99141e4 - languageName: node - linkType: hard - -"xdg-basedir@npm:^5.0.1, xdg-basedir@npm:^5.1.0": - version: 5.1.0 - resolution: "xdg-basedir@npm:5.1.0" - checksum: 10c0/c88efabc71ffd996ba9ad8923a8cc1c7c020a03e2c59f0ffa72e06be9e724ad2a0fccef488757bc6ed3d8849d753dd25082d1035d95cb179e79eae4d034d0b80 - languageName: node - linkType: hard - -"xml-js@npm:^1.6.11": - version: 1.6.11 - resolution: "xml-js@npm:1.6.11" - dependencies: - sax: "npm:^1.2.4" - bin: - xml-js: ./bin/cli.js - checksum: 10c0/c83631057f10bf90ea785cee434a8a1a0030c7314fe737ad9bf568a281083b565b28b14c9e9ba82f11fc9dc582a3a907904956af60beb725be1c9ad4b030bc5a - languageName: node - linkType: hard - -"yallist@npm:^3.0.2": - version: 3.1.1 - resolution: "yallist@npm:3.1.1" - checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 - languageName: node - linkType: hard - -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yallist@npm:^5.0.0": - version: 5.0.0 - resolution: "yallist@npm:5.0.0" - checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 - languageName: node - linkType: hard - -"yaml@npm:^1.7.2": - version: 1.10.2 - resolution: "yaml@npm:1.10.2" - checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard - -"yocto-queue@npm:^1.0.0": - version: 1.2.1 - resolution: "yocto-queue@npm:1.2.1" - checksum: 10c0/5762caa3d0b421f4bdb7a1926b2ae2189fc6e4a14469258f183600028eb16db3e9e0306f46e8ebf5a52ff4b81a881f22637afefbef5399d6ad440824e9b27f9f - languageName: node - linkType: hard - -"zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": - version: 2.0.4 - resolution: "zwitch@npm:2.0.4" - checksum: 10c0/3c7830cdd3378667e058ffdb4cf2bb78ac5711214e2725900873accb23f3dfe5f9e7e5a06dcdc5f29605da976fc45c26d9a13ca334d6eea2245a15e77b8fc06e - languageName: node - linkType: hard +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@algolia/autocomplete-core@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz" + integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw== + dependencies: + "@algolia/autocomplete-plugin-algolia-insights" "1.9.3" + "@algolia/autocomplete-shared" "1.9.3" + +"@algolia/autocomplete-plugin-algolia-insights@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz" + integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg== + dependencies: + "@algolia/autocomplete-shared" "1.9.3" + +"@algolia/autocomplete-preset-algolia@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz" + integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== + dependencies: + "@algolia/autocomplete-shared" "1.9.3" + +"@algolia/autocomplete-shared@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz" + integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== + +"@algolia/cache-browser-local-storage@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz" + integrity sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g== + dependencies: + "@algolia/cache-common" "4.22.1" + +"@algolia/cache-common@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.22.1.tgz" + integrity sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA== + +"@algolia/cache-in-memory@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz" + integrity sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw== + dependencies: + "@algolia/cache-common" "4.22.1" + +"@algolia/client-account@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.22.1.tgz" + integrity sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw== + dependencies: + "@algolia/client-common" "4.22.1" + "@algolia/client-search" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/client-analytics@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.22.1.tgz" + integrity sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg== + dependencies: + "@algolia/client-common" "4.22.1" + "@algolia/client-search" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/client-common@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.22.1.tgz" + integrity sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ== + dependencies: + "@algolia/requester-common" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/client-personalization@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.22.1.tgz" + integrity sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ== + dependencies: + "@algolia/client-common" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/client-search@>= 4.9.1 < 6", "@algolia/client-search@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.22.1.tgz" + integrity sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA== + dependencies: + "@algolia/client-common" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/events@^4.0.1": + version "4.0.1" + resolved "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz" + integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== + +"@algolia/logger-common@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.22.1.tgz" + integrity sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg== + +"@algolia/logger-console@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.22.1.tgz" + integrity sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA== + dependencies: + "@algolia/logger-common" "4.22.1" + +"@algolia/requester-browser-xhr@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz" + integrity sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw== + dependencies: + "@algolia/requester-common" "4.22.1" + +"@algolia/requester-common@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.22.1.tgz" + integrity sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg== + +"@algolia/requester-node-http@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz" + integrity sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA== + dependencies: + "@algolia/requester-common" "4.22.1" + +"@algolia/transporter@4.22.1": + version "4.22.1" + resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.22.1.tgz" + integrity sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ== + dependencies: + "@algolia/cache-common" "4.22.1" + "@algolia/logger-common" "4.22.1" + "@algolia/requester-common" "4.22.1" + +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2", "@babel/code-frame@^7.8.3": + version "7.26.2" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4", "@babel/compat-data@^7.25.9": + version "7.26.3" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz" + integrity sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g== + +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.19.6", "@babel/core@^7.21.3", "@babel/core@^7.23.3", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": + version "7.26.0" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz" + integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.26.0" + "@babel/generator" "^7.26.0" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helpers" "^7.26.0" + "@babel/parser" "^7.26.0" + "@babel/template" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.26.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.23.3", "@babel/generator@^7.26.0", "@babel/generator@^7.26.3": + version "7.26.3" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz" + integrity sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ== + dependencies: + "@babel/parser" "^7.26.3" + "@babel/types" "^7.26.3" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6", "@babel/helper-compilation-targets@^7.25.9": + version "7.25.9" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz" + integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== + dependencies: + "@babel/compat-data" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6": + version "7.23.10" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz" + integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4", "@babel/helper-create-class-features-plugin@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz" + integrity sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.24.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.5.0": + version "0.5.0" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz" + integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": + version "0.6.2" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz" + integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + +"@babel/helper-member-expression-to-functions@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz" + integrity sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA== + dependencies: + "@babel/types" "^7.24.5" + +"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.25.9": + version "7.25.9" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz" + integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-module-transforms@^7.23.3", "@babel/helper-module-transforms@^7.26.0": + version "7.26.0" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz" + integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz" + integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== + +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-replace-supers@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz" + integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz" + integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== + dependencies: + "@babel/types" "^7.24.5" + +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== + +"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + +"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5", "@babel/helper-validator-option@^7.25.9": + version "7.25.9" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz" + integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.26.0": + version "7.26.0" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz" + integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== + dependencies: + "@babel/template" "^7.25.9" + "@babel/types" "^7.26.0" + +"@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.3": + version "7.26.3" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz" + integrity sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA== + dependencies: + "@babel/types" "^7.26.3" + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz" + integrity sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz" + integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.23.3" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz" + integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.24.1" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": + version "7.23.7" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz" + integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz" + integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-assertions@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz" + integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-import-attributes@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz" + integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-attributes@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz" + integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-jsx@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz" + integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-typescript@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz" + integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-arrow-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz" + integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-async-generator-functions@^7.23.9": + version "7.23.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz" + integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-generator-functions@^7.24.3": + version "7.24.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz" + integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-async-to-generator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz" + integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== + dependencies: + "@babel/helper-module-imports" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoped-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz" + integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-block-scoping@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz" + integrity sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-class-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz" + integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz" + integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-class-static-block@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz" + integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-class-static-block@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz" + integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.4" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.23.8": + version "7.23.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz" + integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + +"@babel/plugin-transform-classes@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz" + integrity sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-split-export-declaration" "^7.24.5" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.15" + +"@babel/plugin-transform-computed-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz" + integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/template" "^7.24.0" + +"@babel/plugin-transform-destructuring@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-destructuring@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz" + integrity sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-dotall-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dotall-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz" + integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-duplicate-keys@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-duplicate-keys@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz" + integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-dynamic-import@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz" + integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-dynamic-import@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz" + integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-exponentiation-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz" + integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-export-namespace-from@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz" + integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-export-namespace-from@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz" + integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.23.6": + version "7.23.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz" + integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-for-of@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz" + integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== + dependencies: + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz" + integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== + dependencies: + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-json-strings@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz" + integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-json-strings@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz" + integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz" + integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-logical-assignment-operators@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz" + integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-logical-assignment-operators@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz" + integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-member-expression-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz" + integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-amd@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-amd@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz" + integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-commonjs@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz" + integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.23.9": + version "7.23.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz" + integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-systemjs@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz" + integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-umd@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-umd@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz" + integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz" + integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz" + integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz" + integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz" + integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-numeric-separator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz" + integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz" + integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== + dependencies: + "@babel/compat-data" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.23.3" + +"@babel/plugin-transform-object-rest-spread@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz" + integrity sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA== + dependencies: + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.24.5" + +"@babel/plugin-transform-object-super@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + +"@babel/plugin-transform-object-super@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz" + integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-replace-supers" "^7.24.1" + +"@babel/plugin-transform-optional-catch-binding@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz" + integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-catch-binding@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz" + integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.24.1", "@babel/plugin-transform-optional-chaining@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz" + integrity sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-parameters@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz" + integrity sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-private-methods@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz" + integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-methods@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz" + integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-private-property-in-object@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz" + integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-private-property-in-object@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz" + integrity sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-property-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz" + integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-react-constant-elements@^7.18.12": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz" + integrity sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-constant-elements@^7.21.3": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz" + integrity sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-react-display-name@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz" + integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx-development@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz" + integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.22.5" + +"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz" + integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/types" "^7.23.4" + +"@babel/plugin-transform-react-pure-annotations@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz" + integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-regenerator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz" + integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-reserved-words@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz" + integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-runtime@^7.22.9": + version "7.23.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz" + integrity sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + babel-plugin-polyfill-corejs2 "^0.4.8" + babel-plugin-polyfill-corejs3 "^0.9.0" + babel-plugin-polyfill-regenerator "^0.5.5" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-shorthand-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz" + integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-spread@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-spread@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz" + integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz" + integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-template-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz" + integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-typeof-symbol@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.24.5": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz" + integrity sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-typescript@^7.23.3": + version "7.23.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz" + integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.23.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.23.3" + +"@babel/plugin-transform-typescript@^7.24.1": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz" + integrity sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-syntax-typescript" "^7.24.1" + +"@babel/plugin-transform-unicode-escapes@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-escapes@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz" + integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-property-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz" + integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz" + integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz" + integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-sets-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz" + integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz" + integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/preset-env@^7.19.4", "@babel/preset-env@^7.22.9": + version "7.23.9" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz" + integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.23.3" + "@babel/plugin-syntax-import-attributes" "^7.23.3" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.23.3" + "@babel/plugin-transform-async-generator-functions" "^7.23.9" + "@babel/plugin-transform-async-to-generator" "^7.23.3" + "@babel/plugin-transform-block-scoped-functions" "^7.23.3" + "@babel/plugin-transform-block-scoping" "^7.23.4" + "@babel/plugin-transform-class-properties" "^7.23.3" + "@babel/plugin-transform-class-static-block" "^7.23.4" + "@babel/plugin-transform-classes" "^7.23.8" + "@babel/plugin-transform-computed-properties" "^7.23.3" + "@babel/plugin-transform-destructuring" "^7.23.3" + "@babel/plugin-transform-dotall-regex" "^7.23.3" + "@babel/plugin-transform-duplicate-keys" "^7.23.3" + "@babel/plugin-transform-dynamic-import" "^7.23.4" + "@babel/plugin-transform-exponentiation-operator" "^7.23.3" + "@babel/plugin-transform-export-namespace-from" "^7.23.4" + "@babel/plugin-transform-for-of" "^7.23.6" + "@babel/plugin-transform-function-name" "^7.23.3" + "@babel/plugin-transform-json-strings" "^7.23.4" + "@babel/plugin-transform-literals" "^7.23.3" + "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" + "@babel/plugin-transform-member-expression-literals" "^7.23.3" + "@babel/plugin-transform-modules-amd" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-modules-systemjs" "^7.23.9" + "@babel/plugin-transform-modules-umd" "^7.23.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" + "@babel/plugin-transform-numeric-separator" "^7.23.4" + "@babel/plugin-transform-object-rest-spread" "^7.23.4" + "@babel/plugin-transform-object-super" "^7.23.3" + "@babel/plugin-transform-optional-catch-binding" "^7.23.4" + "@babel/plugin-transform-optional-chaining" "^7.23.4" + "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-private-methods" "^7.23.3" + "@babel/plugin-transform-private-property-in-object" "^7.23.4" + "@babel/plugin-transform-property-literals" "^7.23.3" + "@babel/plugin-transform-regenerator" "^7.23.3" + "@babel/plugin-transform-reserved-words" "^7.23.3" + "@babel/plugin-transform-shorthand-properties" "^7.23.3" + "@babel/plugin-transform-spread" "^7.23.3" + "@babel/plugin-transform-sticky-regex" "^7.23.3" + "@babel/plugin-transform-template-literals" "^7.23.3" + "@babel/plugin-transform-typeof-symbol" "^7.23.3" + "@babel/plugin-transform-unicode-escapes" "^7.23.3" + "@babel/plugin-transform-unicode-property-regex" "^7.23.3" + "@babel/plugin-transform-unicode-regex" "^7.23.3" + "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.8" + babel-plugin-polyfill-corejs3 "^0.9.0" + babel-plugin-polyfill-regenerator "^0.5.5" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-env@^7.20.2": + version "7.24.5" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz" + integrity sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ== + dependencies: + "@babel/compat-data" "^7.24.4" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.24.1" + "@babel/plugin-syntax-import-attributes" "^7.24.1" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.24.1" + "@babel/plugin-transform-async-generator-functions" "^7.24.3" + "@babel/plugin-transform-async-to-generator" "^7.24.1" + "@babel/plugin-transform-block-scoped-functions" "^7.24.1" + "@babel/plugin-transform-block-scoping" "^7.24.5" + "@babel/plugin-transform-class-properties" "^7.24.1" + "@babel/plugin-transform-class-static-block" "^7.24.4" + "@babel/plugin-transform-classes" "^7.24.5" + "@babel/plugin-transform-computed-properties" "^7.24.1" + "@babel/plugin-transform-destructuring" "^7.24.5" + "@babel/plugin-transform-dotall-regex" "^7.24.1" + "@babel/plugin-transform-duplicate-keys" "^7.24.1" + "@babel/plugin-transform-dynamic-import" "^7.24.1" + "@babel/plugin-transform-exponentiation-operator" "^7.24.1" + "@babel/plugin-transform-export-namespace-from" "^7.24.1" + "@babel/plugin-transform-for-of" "^7.24.1" + "@babel/plugin-transform-function-name" "^7.24.1" + "@babel/plugin-transform-json-strings" "^7.24.1" + "@babel/plugin-transform-literals" "^7.24.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.1" + "@babel/plugin-transform-member-expression-literals" "^7.24.1" + "@babel/plugin-transform-modules-amd" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-modules-systemjs" "^7.24.1" + "@babel/plugin-transform-modules-umd" "^7.24.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.24.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" + "@babel/plugin-transform-numeric-separator" "^7.24.1" + "@babel/plugin-transform-object-rest-spread" "^7.24.5" + "@babel/plugin-transform-object-super" "^7.24.1" + "@babel/plugin-transform-optional-catch-binding" "^7.24.1" + "@babel/plugin-transform-optional-chaining" "^7.24.5" + "@babel/plugin-transform-parameters" "^7.24.5" + "@babel/plugin-transform-private-methods" "^7.24.1" + "@babel/plugin-transform-private-property-in-object" "^7.24.5" + "@babel/plugin-transform-property-literals" "^7.24.1" + "@babel/plugin-transform-regenerator" "^7.24.1" + "@babel/plugin-transform-reserved-words" "^7.24.1" + "@babel/plugin-transform-shorthand-properties" "^7.24.1" + "@babel/plugin-transform-spread" "^7.24.1" + "@babel/plugin-transform-sticky-regex" "^7.24.1" + "@babel/plugin-transform-template-literals" "^7.24.1" + "@babel/plugin-transform-typeof-symbol" "^7.24.5" + "@babel/plugin-transform-unicode-escapes" "^7.24.1" + "@babel/plugin-transform-unicode-property-regex" "^7.24.1" + "@babel/plugin-transform-unicode-regex" "^7.24.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.24.1" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.4" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.22.5": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz" + integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-transform-react-display-name" "^7.23.3" + "@babel/plugin-transform-react-jsx" "^7.22.15" + "@babel/plugin-transform-react-jsx-development" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.23.3" + +"@babel/preset-typescript@^7.18.6", "@babel/preset-typescript@^7.22.5": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz" + integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-typescript" "^7.23.3" + +"@babel/preset-typescript@^7.21.0": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz" + integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-syntax-jsx" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-typescript" "^7.24.1" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime-corejs3@^7.22.6": + version "7.23.9" + resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.9.tgz" + integrity sha512-oeOFTrYWdWXCvXGB5orvMTJ6gCZ9I6FBjR+M38iKNXCsPxr4xT0RTdg5uz1H7QP8pp74IzPtwritEr+JscqHXQ== + dependencies: + core-js-pure "^3.30.2" + regenerator-runtime "^0.14.0" + +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.8.4": + version "7.23.9" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz" + integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.25.9": + version "7.25.9" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz" + integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/traverse@^7.22.8", "@babel/traverse@^7.25.9": + version "7.26.4" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz" + integrity sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w== + dependencies: + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.3" + "@babel/parser" "^7.26.3" + "@babel/template" "^7.25.9" + "@babel/types" "^7.26.3" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.20.0", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.5", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.3", "@babel/types@^7.4.4": + version "7.26.3" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz" + integrity sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA== + dependencies: + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@discoveryjs/json-ext@0.5.7": + version "0.5.7" + resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@docsearch/css@3.5.2": + version "3.5.2" + resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz" + integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA== + +"@docsearch/react@^3.5.2": + version "3.5.2" + resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz" + integrity sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng== + dependencies: + "@algolia/autocomplete-core" "1.9.3" + "@algolia/autocomplete-preset-algolia" "1.9.3" + "@docsearch/css" "3.5.2" + algoliasearch "^4.19.1" + +"@docusaurus/core@^3.4.0", "@docusaurus/core@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz" + integrity sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w== + dependencies: + "@babel/core" "^7.23.3" + "@babel/generator" "^7.23.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.22.9" + "@babel/preset-env" "^7.22.9" + "@babel/preset-react" "^7.22.5" + "@babel/preset-typescript" "^7.22.5" + "@babel/runtime" "^7.22.6" + "@babel/runtime-corejs3" "^7.22.6" + "@babel/traverse" "^7.22.8" + "@docusaurus/cssnano-preset" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" + autoprefixer "^10.4.14" + babel-loader "^9.1.3" + babel-plugin-dynamic-import-node "^2.3.3" + boxen "^6.2.1" + chalk "^4.1.2" + chokidar "^3.5.3" + clean-css "^5.3.2" + cli-table3 "^0.6.3" + combine-promises "^1.1.0" + commander "^5.1.0" + copy-webpack-plugin "^11.0.0" + core-js "^3.31.1" + css-loader "^6.8.1" + css-minimizer-webpack-plugin "^5.0.1" + cssnano "^6.1.2" + del "^6.1.1" + detect-port "^1.5.1" + escape-html "^1.0.3" + eta "^2.2.0" + eval "^0.1.8" + file-loader "^6.2.0" + fs-extra "^11.1.1" + html-minifier-terser "^7.2.0" + html-tags "^3.3.1" + html-webpack-plugin "^5.5.3" + leven "^3.1.0" + lodash "^4.17.21" + mini-css-extract-plugin "^2.7.6" + p-map "^4.0.0" + postcss "^8.4.26" + postcss-loader "^7.3.3" + prompts "^2.4.2" + react-dev-utils "^12.0.1" + react-helmet-async "^1.3.0" + react-loadable "npm:@docusaurus/react-loadable@6.0.0" + react-loadable-ssr-addon-v5-slorber "^1.0.1" + react-router "^5.3.4" + react-router-config "^5.1.1" + react-router-dom "^5.3.4" + rtl-detect "^1.0.4" + semver "^7.5.4" + serve-handler "^6.1.5" + shelljs "^0.8.5" + terser-webpack-plugin "^5.3.9" + tslib "^2.6.0" + update-notifier "^6.0.2" + url-loader "^4.1.1" + webpack "^5.88.1" + webpack-bundle-analyzer "^4.9.0" + webpack-dev-server "^4.15.1" + webpack-merge "^5.9.0" + webpackbar "^5.0.2" + +"@docusaurus/cssnano-preset@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz" + integrity sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ== + dependencies: + cssnano-preset-advanced "^6.1.2" + postcss "^8.4.38" + postcss-sort-media-queries "^5.2.0" + tslib "^2.6.0" + +"@docusaurus/logger@3.1.1": + version "3.1.1" + resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.1.1.tgz" + integrity sha512-BjkNDpQzewcTnST8trx4idSoAla6zZ3w22NqM/UMcFtvYJgmoE4layuTzlfql3VFPNuivvj7BOExa/+21y4X2Q== + dependencies: + chalk "^4.1.2" + tslib "^2.6.0" + +"@docusaurus/logger@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.4.0.tgz" + integrity sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q== + dependencies: + chalk "^4.1.2" + tslib "^2.6.0" + +"@docusaurus/mdx-loader@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz" + integrity sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw== + dependencies: + "@docusaurus/logger" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" + "@mdx-js/mdx" "^3.0.0" + "@slorber/remark-comment" "^1.0.0" + escape-html "^1.0.3" + estree-util-value-to-estree "^3.0.1" + file-loader "^6.2.0" + fs-extra "^11.1.1" + image-size "^1.0.2" + mdast-util-mdx "^3.0.0" + mdast-util-to-string "^4.0.0" + rehype-raw "^7.0.0" + remark-directive "^3.0.0" + remark-emoji "^4.0.0" + remark-frontmatter "^5.0.0" + remark-gfm "^4.0.0" + stringify-object "^3.3.0" + tslib "^2.6.0" + unified "^11.0.3" + unist-util-visit "^5.0.0" + url-loader "^4.1.1" + vfile "^6.0.1" + webpack "^5.88.1" + +"@docusaurus/module-type-aliases@^3.3.2": + version "3.3.2" + resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.3.2.tgz" + integrity sha512-b/XB0TBJah5yKb4LYuJT4buFvL0MGAb0+vJDrJtlYMguRtsEBkf2nWl5xP7h4Dlw6ol0hsHrCYzJ50kNIOEclw== + dependencies: + "@docusaurus/types" "3.3.2" + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router-config" "*" + "@types/react-router-dom" "*" + react-helmet-async "*" + react-loadable "npm:@docusaurus/react-loadable@6.0.0" + +"@docusaurus/module-type-aliases@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz" + integrity sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw== + dependencies: + "@docusaurus/types" "3.4.0" + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router-config" "*" + "@types/react-router-dom" "*" + react-helmet-async "*" + react-loadable "npm:@docusaurus/react-loadable@6.0.0" + +"@docusaurus/plugin-client-redirects@^3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz" + integrity sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" + eta "^2.2.0" + fs-extra "^11.1.1" + lodash "^4.17.21" + tslib "^2.6.0" + +"@docusaurus/plugin-content-blog@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz" + integrity sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" + cheerio "^1.0.0-rc.12" + feed "^4.2.2" + fs-extra "^11.1.1" + lodash "^4.17.21" + reading-time "^1.5.0" + srcset "^4.0.0" + tslib "^2.6.0" + unist-util-visit "^5.0.0" + utility-types "^3.10.0" + webpack "^5.88.1" + +"@docusaurus/plugin-content-docs@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz" + integrity sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/module-type-aliases" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" + "@types/react-router-config" "^5.0.7" + combine-promises "^1.1.0" + fs-extra "^11.1.1" + js-yaml "^4.1.0" + lodash "^4.17.21" + tslib "^2.6.0" + utility-types "^3.10.0" + webpack "^5.88.1" + +"@docusaurus/plugin-content-pages@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz" + integrity sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" + fs-extra "^11.1.1" + tslib "^2.6.0" + webpack "^5.88.1" + +"@docusaurus/plugin-debug@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz" + integrity sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + fs-extra "^11.1.1" + react-json-view-lite "^1.2.0" + tslib "^2.6.0" + +"@docusaurus/plugin-google-analytics@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz" + integrity sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" + tslib "^2.6.0" + +"@docusaurus/plugin-google-gtag@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz" + integrity sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" + "@types/gtag.js" "^0.0.12" + tslib "^2.6.0" + +"@docusaurus/plugin-google-tag-manager@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz" + integrity sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" + tslib "^2.6.0" + +"@docusaurus/plugin-sitemap@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz" + integrity sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" + fs-extra "^11.1.1" + sitemap "^7.1.1" + tslib "^2.6.0" + +"@docusaurus/preset-classic@^3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz" + integrity sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/plugin-content-blog" "3.4.0" + "@docusaurus/plugin-content-docs" "3.4.0" + "@docusaurus/plugin-content-pages" "3.4.0" + "@docusaurus/plugin-debug" "3.4.0" + "@docusaurus/plugin-google-analytics" "3.4.0" + "@docusaurus/plugin-google-gtag" "3.4.0" + "@docusaurus/plugin-google-tag-manager" "3.4.0" + "@docusaurus/plugin-sitemap" "3.4.0" + "@docusaurus/theme-classic" "3.4.0" + "@docusaurus/theme-common" "3.4.0" + "@docusaurus/theme-search-algolia" "3.4.0" + "@docusaurus/types" "3.4.0" + +"@docusaurus/theme-classic@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz" + integrity sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/module-type-aliases" "3.4.0" + "@docusaurus/plugin-content-blog" "3.4.0" + "@docusaurus/plugin-content-docs" "3.4.0" + "@docusaurus/plugin-content-pages" "3.4.0" + "@docusaurus/theme-common" "3.4.0" + "@docusaurus/theme-translations" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" + "@mdx-js/react" "^3.0.0" + clsx "^2.0.0" + copy-text-to-clipboard "^3.2.0" + infima "0.2.0-alpha.43" + lodash "^4.17.21" + nprogress "^0.2.0" + postcss "^8.4.26" + prism-react-renderer "^2.3.0" + prismjs "^1.29.0" + react-router-dom "^5.3.4" + rtlcss "^4.1.0" + tslib "^2.6.0" + utility-types "^3.10.0" + +"@docusaurus/theme-common@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz" + integrity sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA== + dependencies: + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/module-type-aliases" "3.4.0" + "@docusaurus/plugin-content-blog" "3.4.0" + "@docusaurus/plugin-content-docs" "3.4.0" + "@docusaurus/plugin-content-pages" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router-config" "*" + clsx "^2.0.0" + parse-numeric-range "^1.3.0" + prism-react-renderer "^2.3.0" + tslib "^2.6.0" + utility-types "^3.10.0" + +"@docusaurus/theme-search-algolia@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz" + integrity sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q== + dependencies: + "@docsearch/react" "^3.5.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/plugin-content-docs" "3.4.0" + "@docusaurus/theme-common" "3.4.0" + "@docusaurus/theme-translations" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" + algoliasearch "^4.18.0" + algoliasearch-helper "^3.13.3" + clsx "^2.0.0" + eta "^2.2.0" + fs-extra "^11.1.1" + lodash "^4.17.21" + tslib "^2.6.0" + utility-types "^3.10.0" + +"@docusaurus/theme-translations@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz" + integrity sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg== + dependencies: + fs-extra "^11.1.1" + tslib "^2.6.0" + +"@docusaurus/tsconfig@^3.3.2": + version "3.3.2" + resolved "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.3.2.tgz" + integrity sha512-2MQXkLoWqgOSiqFojNEq8iPtFBHGQqd1b/SQMoe+v3GgHmk/L6YTTO/hMcHhWb1hTFmbkei++IajSfD3RlZKvw== + +"@docusaurus/types@*", "@docusaurus/types@^3.3.2", "@docusaurus/types@3.3.2": + version "3.3.2" + resolved "https://registry.npmjs.org/@docusaurus/types/-/types-3.3.2.tgz" + integrity sha512-5p201S7AZhliRxTU7uMKtSsoC8mgPA9bs9b5NQg1IRdRxJfflursXNVsgc3PcMqiUTul/v1s3k3rXXFlRE890w== + dependencies: + "@mdx-js/mdx" "^3.0.0" + "@types/history" "^4.7.11" + "@types/react" "*" + commander "^5.1.0" + joi "^17.9.2" + react-helmet-async "^1.3.0" + utility-types "^3.10.0" + webpack "^5.88.1" + webpack-merge "^5.9.0" + +"@docusaurus/types@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz" + integrity sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A== + dependencies: + "@mdx-js/mdx" "^3.0.0" + "@types/history" "^4.7.11" + "@types/react" "*" + commander "^5.1.0" + joi "^17.9.2" + react-helmet-async "^1.3.0" + utility-types "^3.10.0" + webpack "^5.88.1" + webpack-merge "^5.9.0" + +"@docusaurus/utils-common@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz" + integrity sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ== + dependencies: + tslib "^2.6.0" + +"@docusaurus/utils-validation@^3": + version "3.1.1" + resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.1.1.tgz" + integrity sha512-KlY4P9YVDnwL+nExvlIpu79abfEv6ZCHuOX4ZQ+gtip+Wxj0daccdReIWWtqxM/Fb5Cz1nQvUCc7VEtT8IBUAA== + dependencies: + "@docusaurus/logger" "3.1.1" + "@docusaurus/utils" "3.1.1" + joi "^17.9.2" + js-yaml "^4.1.0" + tslib "^2.6.0" + +"@docusaurus/utils-validation@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz" + integrity sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g== + dependencies: + "@docusaurus/logger" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + fs-extra "^11.2.0" + joi "^17.9.2" + js-yaml "^4.1.0" + lodash "^4.17.21" + tslib "^2.6.0" + +"@docusaurus/utils@3.1.1": + version "3.1.1" + resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.1.1.tgz" + integrity sha512-ZJfJa5cJQtRYtqijsPEnAZoduW6sjAQ7ZCWSZavLcV10Fw0Z3gSaPKA/B4micvj2afRZ4gZxT7KfYqe5H8Cetg== + dependencies: + "@docusaurus/logger" "3.1.1" + "@svgr/webpack" "^6.5.1" + escape-string-regexp "^4.0.0" + file-loader "^6.2.0" + fs-extra "^11.1.1" + github-slugger "^1.5.0" + globby "^11.1.0" + gray-matter "^4.0.3" + jiti "^1.20.0" + js-yaml "^4.1.0" + lodash "^4.17.21" + micromatch "^4.0.5" + resolve-pathname "^3.0.0" + shelljs "^0.8.5" + tslib "^2.6.0" + url-loader "^4.1.1" + webpack "^5.88.1" + +"@docusaurus/utils@3.4.0": + version "3.4.0" + resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz" + integrity sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g== + dependencies: + "@docusaurus/logger" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@svgr/webpack" "^8.1.0" + escape-string-regexp "^4.0.0" + file-loader "^6.2.0" + fs-extra "^11.1.1" + github-slugger "^1.5.0" + globby "^11.1.0" + gray-matter "^4.0.3" + jiti "^1.20.0" + js-yaml "^4.1.0" + lodash "^4.17.21" + micromatch "^4.0.5" + prompts "^2.4.2" + resolve-pathname "^3.0.0" + shelljs "^0.8.5" + tslib "^2.6.0" + url-loader "^4.1.1" + utility-types "^3.10.0" + webpack "^5.88.1" + +"@gracefullight/docusaurus-plugin-vercel-analytics@^1.0.0": + version "1.0.1" + resolved "https://registry.npmjs.org/@gracefullight/docusaurus-plugin-vercel-analytics/-/docusaurus-plugin-vercel-analytics-1.0.1.tgz" + integrity sha512-6Xj63GIBadwLhoDVNpRXlEs3ieTetd8ZcNGKIJ8ADT0IjZIvcIW6CZFY5RgGtxuJ4PxFXVU2DDV14M2uXXTvGQ== + dependencies: + "@docusaurus/utils-validation" "^3" + +"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": + version "9.3.0" + resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.1.0": + version "5.1.0" + resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + +"@mdx-js/mdx@^3.0.0": + version "3.0.1" + resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz" + integrity sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA== + dependencies: + "@types/estree" "^1.0.0" + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdx" "^2.0.0" + collapse-white-space "^2.0.0" + devlop "^1.0.0" + estree-util-build-jsx "^3.0.0" + estree-util-is-identifier-name "^3.0.0" + estree-util-to-js "^2.0.0" + estree-walker "^3.0.0" + hast-util-to-estree "^3.0.0" + hast-util-to-jsx-runtime "^2.0.0" + markdown-extensions "^2.0.0" + periscopic "^3.0.0" + remark-mdx "^3.0.0" + remark-parse "^11.0.0" + remark-rehype "^11.0.0" + source-map "^0.7.0" + unified "^11.0.0" + unist-util-position-from-estree "^2.0.0" + unist-util-stringify-position "^4.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + +"@mdx-js/react@^3.0.0": + version "3.0.1" + resolved "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz" + integrity sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A== + dependencies: + "@types/mdx" "^2.0.0" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@pnpm/config.env-replace@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz" + integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== + +"@pnpm/network.ca-file@^1.0.1": + version "1.0.2" + resolved "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz" + integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== + dependencies: + graceful-fs "4.2.10" + +"@pnpm/npm-conf@^2.1.0": + version "2.2.2" + resolved "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz" + integrity sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA== + dependencies: + "@pnpm/config.env-replace" "^1.1.0" + "@pnpm/network.ca-file" "^1.0.1" + config-chain "^1.1.11" + +"@polka/url@^1.0.0-next.24": + version "1.0.0-next.24" + resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz" + integrity sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ== + +"@sideway/address@^4.1.5": + version "4.1.5" + resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz" + integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sindresorhus/is@^4.6.0": + version "4.6.0" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@sindresorhus/is@^5.2.0": + version "5.6.0" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz" + integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== + +"@slorber/remark-comment@^1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz" + integrity sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA== + dependencies: + micromark-factory-space "^1.0.0" + micromark-util-character "^1.1.0" + micromark-util-symbol "^1.0.1" + +"@svgr/babel-plugin-add-jsx-attribute@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz" + integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== + +"@svgr/babel-plugin-add-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz" + integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== + +"@svgr/babel-plugin-remove-jsx-attribute@*", "@svgr/babel-plugin-remove-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz" + integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== + +"@svgr/babel-plugin-remove-jsx-empty-expression@*", "@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz" + integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz" + integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== + +"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz" + integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== + +"@svgr/babel-plugin-svg-dynamic-title@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz" + integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== + +"@svgr/babel-plugin-svg-dynamic-title@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz" + integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== + +"@svgr/babel-plugin-svg-em-dimensions@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz" + integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== + +"@svgr/babel-plugin-svg-em-dimensions@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz" + integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== + +"@svgr/babel-plugin-transform-react-native-svg@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz" + integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== + +"@svgr/babel-plugin-transform-react-native-svg@8.1.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz" + integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== + +"@svgr/babel-plugin-transform-svg-component@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz" + integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== + +"@svgr/babel-plugin-transform-svg-component@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz" + integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== + +"@svgr/babel-preset@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz" + integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" + "@svgr/babel-plugin-remove-jsx-attribute" "*" + "@svgr/babel-plugin-remove-jsx-empty-expression" "*" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1" + "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1" + "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1" + "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" + "@svgr/babel-plugin-transform-svg-component" "^6.5.1" + +"@svgr/babel-preset@8.1.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz" + integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" + "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" + "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" + "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" + "@svgr/babel-plugin-transform-svg-component" "8.0.0" + +"@svgr/core@*", "@svgr/core@^6.0.0", "@svgr/core@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" + integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== + dependencies: + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/plugin-jsx" "^6.5.1" + camelcase "^6.2.0" + cosmiconfig "^7.0.1" + +"@svgr/core@8.1.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz" + integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + camelcase "^6.2.0" + cosmiconfig "^8.1.3" + snake-case "^3.0.4" + +"@svgr/hast-util-to-babel-ast@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz" + integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== + dependencies: + "@babel/types" "^7.20.0" + entities "^4.4.0" + +"@svgr/hast-util-to-babel-ast@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz" + integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== + dependencies: + "@babel/types" "^7.21.3" + entities "^4.4.0" + +"@svgr/plugin-jsx@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz" + integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== + dependencies: + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/hast-util-to-babel-ast" "^6.5.1" + svg-parser "^2.0.4" + +"@svgr/plugin-jsx@8.1.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz" + integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + "@svgr/hast-util-to-babel-ast" "8.0.0" + svg-parser "^2.0.4" + +"@svgr/plugin-svgo@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz" + integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== + dependencies: + cosmiconfig "^7.0.1" + deepmerge "^4.2.2" + svgo "^2.8.0" + +"@svgr/plugin-svgo@8.1.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz" + integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== + dependencies: + cosmiconfig "^8.1.3" + deepmerge "^4.3.1" + svgo "^3.0.2" + +"@svgr/webpack@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz" + integrity sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA== + dependencies: + "@babel/core" "^7.19.6" + "@babel/plugin-transform-react-constant-elements" "^7.18.12" + "@babel/preset-env" "^7.19.4" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.18.6" + "@svgr/core" "^6.5.1" + "@svgr/plugin-jsx" "^6.5.1" + "@svgr/plugin-svgo" "^6.5.1" + +"@svgr/webpack@^8.1.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz" + integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== + dependencies: + "@babel/core" "^7.21.3" + "@babel/plugin-transform-react-constant-elements" "^7.21.3" + "@babel/preset-env" "^7.20.2" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.21.0" + "@svgr/core" "8.1.0" + "@svgr/plugin-jsx" "8.1.0" + "@svgr/plugin-svgo" "8.1.0" + +"@szmarczak/http-timer@^5.0.1": + version "5.0.1" + resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz" + integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== + dependencies: + defer-to-connect "^2.0.1" + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@types/acorn@^4.0.0": + version "4.0.6" + resolved "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz" + integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== + dependencies: + "@types/estree" "*" + +"@types/body-parser@*": + version "1.19.5" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.13" + resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz" + integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== + dependencies: + "@types/node" "*" + +"@types/connect-history-api-fallback@^1.3.5": + version "1.5.4" + resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/debug@^4.0.0": + version "4.1.12" + resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.7" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.56.2" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz" + integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree-jsx@^1.0.0": + version "1.0.4" + resolved "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.4.tgz" + integrity sha512-5idy3hvI9lAMqsyilBM+N+boaCf1MgoefbDxN6KEO5aK17TOHwFAYT9sjxzeKAiIWRUBgLxmZ9mPcnzZXtTcRQ== + dependencies: + "@types/estree" "*" + +"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": + version "4.17.43" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz" + integrity sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*", "@types/express@^4.17.13": + version "4.17.21" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/gtag.js@^0.0.12": + version "0.0.12" + resolved "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz" + integrity sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg== + +"@types/hast@^3.0.0", "@types/hast@^3.0.1": + version "3.0.4" + resolved "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz" + integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== + dependencies: + "@types/unist" "*" + +"@types/history@^4.7.11": + version "4.7.11" + resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" + integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== + +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== + +"@types/http-cache-semantics@^4.0.2": + version "4.0.4" + resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + +"@types/http-proxy@^1.17.8": + version "1.17.14" + resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz" + integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.6" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/katex@^0.16.0": + version "0.16.7" + resolved "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz" + integrity sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ== + +"@types/mdast@^4.0.0", "@types/mdast@^4.0.1", "@types/mdast@^4.0.2": + version "4.0.3" + resolved "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz" + integrity sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg== + dependencies: + "@types/unist" "*" + +"@types/mdx@^2.0.0": + version "2.0.11" + resolved "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz" + integrity sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw== + +"@types/mime@*": + version "3.0.4" + resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz" + integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/ms@*": + version "0.7.34" + resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz" + integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + +"@types/node-forge@^1.3.0": + version "1.3.11" + resolved "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "20.11.20" + resolved "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz" + integrity sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg== + dependencies: + undici-types "~5.26.4" + +"@types/node@^17.0.5": + version "17.0.45" + resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" + integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/prismjs@^1.26.0": + version "1.26.3" + resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.3.tgz" + integrity sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw== + +"@types/prop-types@*": + version "15.7.11" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz" + integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + +"@types/qs@*": + version "6.9.11" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz" + integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ== + +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== + +"@types/react-router-config@*", "@types/react-router-config@^5.0.7": + version "5.0.11" + resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz" + integrity sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router" "^5.1.0" + +"@types/react-router-dom@*": + version "5.3.3" + resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" + integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router" "*" + +"@types/react-router@*", "@types/react-router@^5.1.0": + version "5.1.20" + resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz" + integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + +"@types/react@*", "@types/react@>= 16.8.0 < 19.0.0", "@types/react@>=16": + version "18.2.57" + resolved "https://registry.npmjs.org/@types/react/-/react-18.2.57.tgz" + integrity sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/sax@^1.2.1": + version "1.2.7" + resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz" + integrity sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A== + dependencies: + "@types/node" "*" + +"@types/scheduler@*": + version "0.16.8" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz" + integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== + +"@types/send@*": + version "0.17.4" + resolved "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-index@^1.9.1": + version "1.9.4" + resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz" + integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.5" + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz" + integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== + dependencies: + "@types/http-errors" "*" + "@types/mime" "*" + "@types/node" "*" + +"@types/sockjs@^0.3.33": + version "0.3.36" + resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz" + integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== + dependencies: + "@types/node" "*" + +"@types/unist@*", "@types/unist@^3.0.0": + version "3.0.2" + resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz" + integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== + +"@types/unist@^2.0.0": + version "2.0.10" + resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz" + integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== + +"@types/ws@^8.5.5": + version "8.5.10" + resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz" + integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + dependencies: + "@types/yargs-parser" "*" + +"@ungap/structured-clone@^1.0.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +"@vercel/analytics@^1.1.2": + version "1.2.2" + resolved "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.2.2.tgz" + integrity sha512-X0rctVWkQV1e5Y300ehVNqpOfSOufo7ieA5PIdna8yX/U7Vjz0GFsGf4qvAhxV02uQ2CVt7GYcrFfddXXK2Y4A== + dependencies: + server-only "^0.0.1" + +"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.0.0: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.0.0: + version "8.3.2" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: + version "8.11.3" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +address@^1.0.1, address@^1.1.2: + version "1.2.2" + resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.2, ajv@^6.12.5, ajv@^6.9.1: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +algoliasearch-helper@^3.13.3: + version "3.16.2" + resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.16.2.tgz" + integrity sha512-Yl/Gu5Cq4Z5s/AJ0jR37OPI1H3+z7PHz657ibyaXgMOaWvPlZ3OACN13N+7HCLPUlB0BN+8BtmrG/CqTilowBA== + dependencies: + "@algolia/events" "^4.0.1" + +algoliasearch@^4.18.0, algoliasearch@^4.19.1, "algoliasearch@>= 3.1 < 6", "algoliasearch@>= 4.9.1 < 6": + version "4.22.1" + resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.1.tgz" + integrity sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg== + dependencies: + "@algolia/cache-browser-local-storage" "4.22.1" + "@algolia/cache-common" "4.22.1" + "@algolia/cache-in-memory" "4.22.1" + "@algolia/client-account" "4.22.1" + "@algolia/client-analytics" "4.22.1" + "@algolia/client-common" "4.22.1" + "@algolia/client-personalization" "4.22.1" + "@algolia/client-search" "4.22.1" + "@algolia/logger-common" "4.22.1" + "@algolia/logger-console" "4.22.1" + "@algolia/requester-browser-xhr" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@algolia/requester-node-http" "4.22.1" + "@algolia/transporter" "4.22.1" + +ansi-align@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.0: + version "5.0.2" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +assert@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz" + integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== + dependencies: + call-bind "^1.0.2" + is-nan "^1.3.2" + object-is "^1.1.5" + object.assign "^4.1.4" + util "^0.12.5" + +astring@^1.8.0: + version "1.8.6" + resolved "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz" + integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +autoprefixer@^10.4.14: + version "10.4.17" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz" + integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg== + dependencies: + browserslist "^4.22.2" + caniuse-lite "^1.0.30001578" + fraction.js "^4.3.7" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +autoprefixer@^10.4.19: + version "10.4.19" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz" + integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== + dependencies: + browserslist "^4.23.0" + caniuse-lite "^1.0.30001599" + fraction.js "^4.3.7" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +available-typed-arrays@^1.0.6: + version "1.0.7" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +babel-loader@^9.1.3: + version "9.1.3" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz" + integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== + dependencies: + find-cache-dir "^4.0.0" + schema-utils "^4.0.0" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.11" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz" + integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.6.2" + semver "^6.3.1" + +babel-plugin-polyfill-corejs2@^0.4.8: + version "0.4.8" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz" + integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.5.0" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.10.4: + version "0.10.4" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz" + integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.1" + core-js-compat "^3.36.1" + +babel-plugin-polyfill-corejs3@^0.9.0: + version "0.9.0" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz" + integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.5.0" + core-js-compat "^3.34.0" + +babel-plugin-polyfill-regenerator@^0.5.5: + version "0.5.5" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz" + integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.5.0" + +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.2" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz" + integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.2" + +bail@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" + integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour-service@^1.0.11: + version "1.2.1" + resolved "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz" + integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== + dependencies: + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +boxen@^6.2.1: + version "6.2.1" + resolved "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz" + integrity sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw== + dependencies: + ansi-align "^3.0.1" + camelcase "^6.2.0" + chalk "^4.1.2" + cli-boxes "^3.0.0" + string-width "^5.0.1" + type-fest "^2.5.0" + widest-line "^4.0.1" + wrap-ansi "^8.0.1" + +boxen@^7.0.0: + version "7.1.1" + resolved "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz" + integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog== + dependencies: + ansi-align "^3.0.1" + camelcase "^7.0.1" + chalk "^5.2.0" + cli-boxes "^3.0.0" + string-width "^5.1.2" + type-fest "^2.13.0" + widest-line "^4.0.1" + wrap-ansi "^8.1.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.22.3, browserslist@^4.23.0, browserslist@^4.24.0, "browserslist@>= 4.21.0": + version "4.24.2" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz" + integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== + dependencies: + caniuse-lite "^1.0.30001669" + electron-to-chromium "^1.5.41" + node-releases "^2.0.18" + update-browserslist-db "^1.1.1" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacheable-lookup@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz" + integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== + +cacheable-request@^10.2.8: + version "10.2.14" + resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz" + integrity sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== + dependencies: + "@types/http-cache-semantics" "^4.0.2" + get-stream "^6.0.1" + http-cache-semantics "^4.1.1" + keyv "^4.5.3" + mimic-response "^4.0.0" + normalize-url "^8.0.0" + responselike "^3.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6: + version "1.0.7" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +camelcase@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz" + integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001669: + version "1.0.30001687" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz" + integrity sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ== + +ccount@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" + integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^5.0.1, chalk@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +character-entities-html4@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz" + integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== + +character-entities-legacy@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" + integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== + +character-entities@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" + integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== + +character-reference-invalid@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz" + integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== + +cheerio-select@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" + integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== + dependencies: + boolbase "^1.0.0" + css-select "^5.1.0" + css-what "^6.1.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + +cheerio@^1.0.0-rc.12: + version "1.0.0-rc.12" + resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== + dependencies: + cheerio-select "^2.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + domutils "^3.0.1" + htmlparser2 "^8.0.1" + parse5 "^7.0.0" + parse5-htmlparser2-tree-adapter "^7.0.0" + +chokidar@^3.4.2, chokidar@^3.5.3: + 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" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +clean-css@^5.2.2, clean-css@^5.3.2, clean-css@~5.3.2: + version "5.3.3" + resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz" + integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-boxes@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz" + integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== + +cli-table3@^0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +clsx@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz" + integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== + +collapse-white-space@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz" + integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colord@^2.9.3: + version "2.9.3" + resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colorette@^2.0.10: + version "2.0.20" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +combine-promises@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz" + integrity sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ== + +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== + +commander@^10.0.0: + version "10.0.1" + resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +config-chain@^1.1.11: + version "1.1.13" + resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +configstore@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz" + integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== + dependencies: + dot-prop "^6.0.1" + graceful-fs "^4.2.6" + unique-string "^3.0.0" + write-file-atomic "^3.0.3" + xdg-basedir "^5.0.1" + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +consola@^2.15.3: + version "2.15.3" + resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" + integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" + integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA== + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +copy-text-to-clipboard@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz" + integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q== + +copy-webpack-plugin@^11.0.0: + version "11.0.0" + resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz" + integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== + dependencies: + fast-glob "^3.2.11" + glob-parent "^6.0.1" + globby "^13.1.1" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + +core-js-compat@^3.31.0, core-js-compat@^3.34.0: + version "3.36.0" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz" + integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw== + dependencies: + browserslist "^4.22.3" + +core-js-compat@^3.36.1: + version "3.37.1" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz" + integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== + dependencies: + browserslist "^4.23.0" + +core-js-pure@^3.30.2: + version "3.36.0" + resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.0.tgz" + integrity sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ== + +core-js@^3.31.1: + version "3.36.0" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz" + integrity sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cosmiconfig@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: + version "8.3.6" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-random-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz" + integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== + dependencies: + type-fest "^1.0.1" + +css-declaration-sorter@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz" + integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== + +css-loader@^6.8.1: + version "6.10.0" + resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz" + integrity sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.33" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.4" + postcss-modules-scope "^3.1.1" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.5.4" + +css-minimizer-webpack-plugin@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz" + integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + cssnano "^6.0.1" + jest-worker "^29.4.3" + postcss "^8.4.24" + schema-utils "^4.0.1" + serialize-javascript "^6.0.1" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-tree@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" + +css-what@^6.0.1, css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-advanced@^6.1.2: + version "6.1.2" + resolved "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz" + integrity sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ== + dependencies: + autoprefixer "^10.4.19" + browserslist "^4.23.0" + cssnano-preset-default "^6.1.2" + postcss-discard-unused "^6.0.5" + postcss-merge-idents "^6.0.3" + postcss-reduce-idents "^6.0.3" + postcss-zindex "^6.0.2" + +cssnano-preset-default@^6.1.2: + version "6.1.2" + resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz" + integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg== + dependencies: + browserslist "^4.23.0" + css-declaration-sorter "^7.2.0" + cssnano-utils "^4.0.2" + postcss-calc "^9.0.1" + postcss-colormin "^6.1.0" + postcss-convert-values "^6.1.0" + postcss-discard-comments "^6.0.2" + postcss-discard-duplicates "^6.0.3" + postcss-discard-empty "^6.0.3" + postcss-discard-overridden "^6.0.2" + postcss-merge-longhand "^6.0.5" + postcss-merge-rules "^6.1.1" + postcss-minify-font-values "^6.1.0" + postcss-minify-gradients "^6.0.3" + postcss-minify-params "^6.1.0" + postcss-minify-selectors "^6.0.4" + postcss-normalize-charset "^6.0.2" + postcss-normalize-display-values "^6.0.2" + postcss-normalize-positions "^6.0.2" + postcss-normalize-repeat-style "^6.0.2" + postcss-normalize-string "^6.0.2" + postcss-normalize-timing-functions "^6.0.2" + postcss-normalize-unicode "^6.1.0" + postcss-normalize-url "^6.0.2" + postcss-normalize-whitespace "^6.0.2" + postcss-ordered-values "^6.0.2" + postcss-reduce-initial "^6.1.0" + postcss-reduce-transforms "^6.0.2" + postcss-svgo "^6.0.3" + postcss-unique-selectors "^6.0.4" + +cssnano-utils@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz" + integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ== + +cssnano@^6.0.1, cssnano@^6.1.2: + version "6.1.2" + resolved "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz" + integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA== + dependencies: + cssnano-preset-default "^6.1.2" + lilconfig "^3.1.1" + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +csso@^5.0.5: + version "5.0.5" + resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== + dependencies: + css-tree "~2.2.0" + +csstype@^3.0.2: + version "3.1.3" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +debounce@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" + integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== + +debug@^2.6.0: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@4: + 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" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +decode-named-character-reference@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" + integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== + dependencies: + character-entities "^2.0.0" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deepmerge@^4.2.2, deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +defer-to-connect@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-data-property@^1.0.1, define-data-property@^1.1.2: + version "1.1.4" + resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +del@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz" + integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== + dependencies: + globby "^11.0.1" + graceful-fs "^4.2.4" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.2" + p-map "^4.0.0" + rimraf "^3.0.2" + slash "^3.0.0" + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +dequal@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +detect-port-alt@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" + integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== + dependencies: + address "^1.0.1" + debug "^2.6.0" + +detect-port@^1.5.1: + version "1.5.1" + resolved "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz" + integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== + dependencies: + address "^1.0.1" + debug "4" + +devlop@^1.0.0, devlop@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz" + integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== + dependencies: + dequal "^2.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-packet@^5.2.2: + version "5.6.1" + resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^2.5.2: + version "2.8.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz" + integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== + dependencies: + is-obj "^2.0.0" + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.5.41: + version "1.5.72" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.72.tgz" + integrity sha512-ZpSAUOZ2Izby7qnZluSrAlGgGQzucmFbN0n64dYzocYxnxV5ufurpj3VgEe4cUp7ir9LmeLxNYo8bVnlM8bQHw== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojilib@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz" + integrity sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +emoticon@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz" + integrity sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-module-lexer@^1.2.1: + version "1.4.1" + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-goat@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz" + integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg== + +escape-html@^1.0.3, escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-util-attach-comments@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz" + integrity sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw== + dependencies: + "@types/estree" "^1.0.0" + +estree-util-build-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz" + integrity sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ== + dependencies: + "@types/estree-jsx" "^1.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + estree-walker "^3.0.0" + +estree-util-is-identifier-name@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz" + integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== + +estree-util-to-js@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz" + integrity sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg== + dependencies: + "@types/estree-jsx" "^1.0.0" + astring "^1.8.0" + source-map "^0.7.0" + +estree-util-value-to-estree@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz" + integrity sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA== + dependencies: + "@types/estree" "^1.0.0" + is-plain-obj "^4.0.0" + +estree-util-visit@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz" + integrity sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/unist" "^3.0.0" + +estree-walker@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eta@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz" + integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eval@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz" + integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== + dependencies: + "@types/node" "*" + require-like ">= 0.1.1" + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +express@^4.17.3: + version "4.18.2" + resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: + version "3.3.2" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-url-parser@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" + integrity sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ== + dependencies: + punycode "^1.3.2" + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +fault@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz" + integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== + dependencies: + format "^0.2.0" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +feed@^4.2.2: + version "4.2.2" + resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" + integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== + dependencies: + xml-js "^1.6.11" + +file-loader@*, file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +filesize@^8.0.6: + version "8.0.7" + resolved "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" + integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== + dependencies: + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +follow-redirects@^1.0.0: + version "1.15.5" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +fork-ts-checker-webpack-plugin@^6.5.0: + version "6.5.3" + resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz" + integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== + dependencies: + "@babel/code-frame" "^7.8.3" + "@types/json-schema" "^7.0.5" + chalk "^4.1.0" + chokidar "^3.4.2" + cosmiconfig "^6.0.0" + deepmerge "^4.2.2" + fs-extra "^9.0.0" + glob "^7.1.6" + memfs "^3.1.2" + minimatch "^3.0.4" + schema-utils "2.7.0" + semver "^7.3.2" + tapable "^1.0.0" + +form-data-encoder@^2.1.2: + version "2.1.4" + resolved "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz" + integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== + +format@^0.2.0: + version "0.2.2" + resolved "https://registry.npmjs.org/format/-/format-0.2.2.tgz" + integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.3.7: + version "4.3.7" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^11.1.1, fs-extra@^11.2.0: + version "11.2.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.0.0: + version "9.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +get-stream@^6.0.0, get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +github-slugger@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz" + integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^13.1.1: + version "13.2.2" + resolved "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz" + integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.3.0" + ignore "^5.2.4" + merge2 "^1.4.1" + slash "^4.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^12.1.0: + version "12.6.1" + resolved "https://registry.npmjs.org/got/-/got-12.6.1.tgz" + integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== + dependencies: + "@sindresorhus/is" "^5.2.0" + "@szmarczak/http-timer" "^5.0.1" + cacheable-lookup "^7.0.0" + cacheable-request "^10.2.8" + decompress-response "^6.0.0" + form-data-encoder "^2.1.2" + get-stream "^6.0.1" + http2-wrapper "^2.1.10" + lowercase-keys "^3.0.0" + p-cancelable "^3.0.0" + responselike "^3.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graceful-fs@4.2.10: + version "4.2.10" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +gray-matter@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" + integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== + dependencies: + js-yaml "^3.13.1" + kind-of "^6.0.2" + section-matter "^1.0.0" + strip-bom-string "^1.0.0" + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0, has-tostringtag@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +has-yarn@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz" + integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== + +hasown@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz" + integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== + dependencies: + function-bind "^1.1.2" + +hast-util-definition-list@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/hast-util-definition-list/-/hast-util-definition-list-2.0.0.tgz" + integrity sha512-EnkqD6a7R1fwyC9F5R6fu0ucpcwfkxjiga7/G8J7KU+uuUHVENzmgo/Da68fZBy9SZAkQOAC/8gK3m2BnuutUg== + dependencies: + "@types/hast" "^3.0.1" + "@types/mdast" "^4.0.1" + "@types/unist" "^3.0.0" + hast-util-to-mdast "^10.1.0" + mdast-util-definition-list "^2.0.0" + mdast-util-phrasing "^4.0.0" + +hast-util-embedded@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz" + integrity sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA== + dependencies: + "@types/hast" "^3.0.0" + hast-util-is-element "^3.0.0" + +hast-util-from-dom@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.0.tgz" + integrity sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg== + dependencies: + "@types/hast" "^3.0.0" + hastscript "^8.0.0" + web-namespaces "^2.0.0" + +hast-util-from-html-isomorphic@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz" + integrity sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw== + dependencies: + "@types/hast" "^3.0.0" + hast-util-from-dom "^5.0.0" + hast-util-from-html "^2.0.0" + unist-util-remove-position "^5.0.0" + +hast-util-from-html@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz" + integrity sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g== + dependencies: + "@types/hast" "^3.0.0" + devlop "^1.1.0" + hast-util-from-parse5 "^8.0.0" + parse5 "^7.0.0" + vfile "^6.0.0" + vfile-message "^4.0.0" + +hast-util-from-parse5@^8.0.0: + version "8.0.1" + resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz" + integrity sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + hastscript "^8.0.0" + property-information "^6.0.0" + vfile "^6.0.0" + vfile-location "^5.0.0" + web-namespaces "^2.0.0" + +hast-util-has-property@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz" + integrity sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-is-body-ok-link@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.0.tgz" + integrity sha512-VFHY5bo2nY8HiV6nir2ynmEB1XkxzuUffhEGeVx7orbu/B1KaGyeGgMZldvMVx5xWrDlLLG/kQ6YkJAMkBEx0w== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-is-element@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz" + integrity sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-is-element@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz" + integrity sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ== + +hast-util-parse-selector@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz" + integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-phrasing@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz" + integrity sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ== + dependencies: + "@types/hast" "^3.0.0" + hast-util-embedded "^3.0.0" + hast-util-has-property "^3.0.0" + hast-util-is-body-ok-link "^3.0.0" + hast-util-is-element "^3.0.0" + +hast-util-raw@^9.0.0: + version "9.0.2" + resolved "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.2.tgz" + integrity sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + "@ungap/structured-clone" "^1.0.0" + hast-util-from-parse5 "^8.0.0" + hast-util-to-parse5 "^8.0.0" + html-void-elements "^3.0.0" + mdast-util-to-hast "^13.0.0" + parse5 "^7.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-to-estree@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz" + integrity sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw== + dependencies: + "@types/estree" "^1.0.0" + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + devlop "^1.0.0" + estree-util-attach-comments "^3.0.0" + estree-util-is-identifier-name "^3.0.0" + hast-util-whitespace "^3.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + style-to-object "^0.4.0" + unist-util-position "^5.0.0" + zwitch "^2.0.0" + +hast-util-to-html@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz" + integrity sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + ccount "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-raw "^9.0.0" + hast-util-whitespace "^3.0.0" + html-void-elements "^3.0.0" + mdast-util-to-hast "^13.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + stringify-entities "^4.0.0" + zwitch "^2.0.4" + +hast-util-to-jsx-runtime@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz" + integrity sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ== + dependencies: + "@types/estree" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + comma-separated-tokens "^2.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + hast-util-whitespace "^3.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + style-to-object "^1.0.0" + unist-util-position "^5.0.0" + vfile-message "^4.0.0" + +hast-util-to-mdast@^10.1.0: + version "10.1.0" + resolved "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.0.tgz" + integrity sha512-DsL/SvCK9V7+vfc6SLQ+vKIyBDXTk2KLSbfBYkH4zeF/uR1yBajHRhkzuaUSGOB1WJSTieJBdHwxlC+HLKvZZw== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@ungap/structured-clone" "^1.0.0" + hast-util-phrasing "^3.0.0" + hast-util-to-html "^9.0.0" + hast-util-to-text "^4.0.0" + hast-util-whitespace "^3.0.0" + mdast-util-phrasing "^4.0.0" + mdast-util-to-hast "^13.0.0" + mdast-util-to-string "^4.0.0" + rehype-minify-whitespace "^6.0.0" + trim-trailing-lines "^2.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + +hast-util-to-parse5@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz" + integrity sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw== + dependencies: + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + devlop "^1.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-to-text@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.0.tgz" + integrity sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + hast-util-is-element "^3.0.0" + unist-util-find-after "^5.0.0" + +hast-util-whitespace@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" + integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== + dependencies: + "@types/hast" "^3.0.0" + +hastscript@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz" + integrity sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw== + dependencies: + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + hast-util-parse-selector "^4.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +history@^4.9.0: + version "4.10.1" + resolved "https://registry.npmjs.org/history/-/history-4.10.1.tgz" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + +hoist-non-react-statics@^3.1.0: + version "3.3.2" + resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-entities@^2.3.2: + version "2.4.0" + resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz" + integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== + +html-escaper@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== + dependencies: + camel-case "^4.1.2" + clean-css "^5.2.2" + commander "^8.3.0" + he "^1.2.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.10.0" + +html-minifier-terser@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz" + integrity sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA== + dependencies: + camel-case "^4.1.2" + clean-css "~5.3.2" + commander "^10.0.0" + entities "^4.4.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.15.1" + +html-tags@^3.3.1: + version "3.3.1" + resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" + integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== + +html-void-elements@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz" + integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== + +html-webpack-plugin@^5.5.3: + version "5.6.0" + resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz" + integrity sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw== + dependencies: + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" + tapable "^2.0.0" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +htmlparser2@^8.0.1: + version "8.0.2" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz" + integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + entities "^4.4.0" + +http-cache-semantics@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http2-wrapper@^2.1.10: + version "2.2.1" + resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz" + integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.2.0" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ignore@^5.2.0, ignore@^5.2.4: + version "5.3.1" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + +image-size@^1.0.2: + version "1.1.1" + resolved "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz" + integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ== + dependencies: + queue "6.0.2" + +immer@^9.0.7: + version "9.0.21" + resolved "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz" + integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== + +import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-lazy@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infima@0.2.0-alpha.43: + version "0.2.0-alpha.43" + resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz" + integrity sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@2, inherits@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +inline-style-parser@0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" + integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== + +inline-style-parser@0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz" + integrity sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ== + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-alphabetical@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" + integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== + +is-alphanumerical@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz" + integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== + dependencies: + is-alphabetical "^2.0.0" + is-decimal "^2.0.0" + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-callable@^1.1.3: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-ci@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-decimal@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz" + integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hexadecimal@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz" + integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== + +is-installed-globally@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-nan@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz" + integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + +is-npm@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz" + integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-reference@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz" + integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== + dependencies: + "@types/estree" "*" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== + +is-root@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-typed-array@^1.1.3: + version "1.1.13" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +is-yarn-global@^0.4.0: + version "0.4.1" + resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz" + integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^29.4.3: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jiti@^1.20.0: + version "1.21.0" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + +joi@^17.9.2: + version "17.12.2" + resolved "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz" + integrity sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw== + dependencies: + "@hapi/hoek" "^9.3.0" + "@hapi/topo" "^5.1.0" + "@sideway/address" "^4.1.5" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json5@^2.1.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +katex@^0.16.0: + version "0.16.9" + resolved "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz" + integrity sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ== + dependencies: + commander "^8.3.0" + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +latest-version@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz" + integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== + dependencies: + package-json "^8.1.0" + +launch-editor@^2.6.0: + version "2.6.1" + resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz" + integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +lilconfig@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz" + integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +loader-utils@^3.2.0: + version "3.2.1" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" + integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@^4.17.20, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +longest-streak@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" + integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lowercase-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz" + integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +markdown-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz" + integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q== + +markdown-table@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz" + integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== + +mdast-util-definition-list@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-definition-list/-/mdast-util-definition-list-2.0.0.tgz" + integrity sha512-aFWuASQs77BJndNSDcNdvB1HRqWZBptcEjwv67mnPbaAZsfwMHxI8MwoQxAz4I2bHx41hft/HDRC57ZkhpayOQ== + dependencies: + "@types/mdast" "^4.0.1" + "@types/unist" "^3.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-hast "^13.0.2" + mdast-util-to-markdown "^2.1.0" + micromark-extension-definition-list "^2.0.0" + unist-builder "^4.0.0" + +mdast-util-directive@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz" + integrity sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + parse-entities "^4.0.0" + stringify-entities "^4.0.0" + unist-util-visit-parents "^6.0.0" + +mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz" + integrity sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA== + dependencies: + "@types/mdast" "^4.0.0" + escape-string-regexp "^5.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" + +mdast-util-from-markdown@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz" + integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + mdast-util-to-string "^4.0.0" + micromark "^4.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-decode-string "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-stringify-position "^4.0.0" + +mdast-util-frontmatter@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz" + integrity sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + escape-string-regexp "^5.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + micromark-extension-frontmatter "^2.0.0" + +mdast-util-gfm-autolink-literal@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz" + integrity sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg== + dependencies: + "@types/mdast" "^4.0.0" + ccount "^2.0.0" + devlop "^1.0.0" + mdast-util-find-and-replace "^3.0.0" + micromark-util-character "^2.0.0" + +mdast-util-gfm-footnote@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz" + integrity sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.1.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + +mdast-util-gfm-strikethrough@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz" + integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm-table@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz" + integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + markdown-table "^3.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm-task-list-item@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz" + integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz" + integrity sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw== + dependencies: + mdast-util-from-markdown "^2.0.0" + mdast-util-gfm-autolink-literal "^2.0.0" + mdast-util-gfm-footnote "^2.0.0" + mdast-util-gfm-strikethrough "^2.0.0" + mdast-util-gfm-table "^2.0.0" + mdast-util-gfm-task-list-item "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-math@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz" + integrity sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + longest-streak "^3.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.1.0" + unist-util-remove-position "^5.0.0" + +mdast-util-mdx-expression@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz" + integrity sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-mdx-jsx@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.0.tgz" + integrity sha512-A8AJHlR7/wPQ3+Jre1+1rq040fX9A4Q1jG8JxmSNp/PLPHg80A6475wxTp3KzHpApFH6yWxFotHrJQA3dXP6/w== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + ccount "^2.0.0" + devlop "^1.1.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + parse-entities "^4.0.0" + stringify-entities "^4.0.0" + unist-util-remove-position "^5.0.0" + unist-util-stringify-position "^4.0.0" + vfile-message "^4.0.0" + +mdast-util-mdx@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz" + integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== + dependencies: + mdast-util-from-markdown "^2.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-mdxjs-esm@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz" + integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-phrasing@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz" + integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== + dependencies: + "@types/mdast" "^4.0.0" + unist-util-is "^6.0.0" + +mdast-util-to-hast@^13.0.0, mdast-util-to-hast@^13.0.2: + version "13.1.0" + resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz" + integrity sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@ungap/structured-clone" "^1.0.0" + devlop "^1.0.0" + micromark-util-sanitize-uri "^2.0.0" + trim-lines "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + +mdast-util-to-markdown@^2.0.0, mdast-util-to-markdown@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz" + integrity sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + longest-streak "^3.0.0" + mdast-util-phrasing "^4.0.0" + mdast-util-to-string "^4.0.0" + micromark-util-decode-string "^2.0.0" + unist-util-visit "^5.0.0" + zwitch "^2.0.0" + +mdast-util-to-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" + integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== + dependencies: + "@types/mdast" "^4.0.0" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.1.2, memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromark-core-commonmark@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz" + integrity sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA== + dependencies: + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-factory-destination "^2.0.0" + micromark-factory-label "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-title "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-html-tag-name "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-definition-list@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-extension-definition-list/-/micromark-extension-definition-list-2.0.0.tgz" + integrity sha512-92SSfTdG7YIXiYj60sNDPoo3MTJXK94LRLfKsoDHgDqiE61p4w4pzdyCc9SuoQ74/bzb5SXPVK11kjlYnIjzKA== + dependencies: + assert "^2.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.1" + micromark-util-chunked "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + ts-dedent "^2.2.0" + +micromark-extension-directive@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz" + integrity sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + parse-entities "^4.0.0" + +micromark-extension-frontmatter@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz" + integrity sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg== + dependencies: + fault "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-autolink-literal@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz" + integrity sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-footnote@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz" + integrity sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg== + dependencies: + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-strikethrough@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz" + integrity sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw== + dependencies: + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-table@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz" + integrity sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-tagfilter@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz" + integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== + dependencies: + micromark-util-types "^2.0.0" + +micromark-extension-gfm-task-list-item@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz" + integrity sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz" + integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== + dependencies: + micromark-extension-gfm-autolink-literal "^2.0.0" + micromark-extension-gfm-footnote "^2.0.0" + micromark-extension-gfm-strikethrough "^2.0.0" + micromark-extension-gfm-table "^2.0.0" + micromark-extension-gfm-tagfilter "^2.0.0" + micromark-extension-gfm-task-list-item "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-math@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz" + integrity sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg== + dependencies: + "@types/katex" "^0.16.0" + devlop "^1.0.0" + katex "^0.16.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-mdx-expression@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz" + integrity sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + micromark-factory-mdx-expression "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-mdx-jsx@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz" + integrity sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w== + dependencies: + "@types/acorn" "^4.0.0" + "@types/estree" "^1.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + micromark-factory-mdx-expression "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + vfile-message "^4.0.0" + +micromark-extension-mdx-md@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz" + integrity sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ== + dependencies: + micromark-util-types "^2.0.0" + +micromark-extension-mdxjs-esm@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz" + integrity sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-position-from-estree "^2.0.0" + vfile-message "^4.0.0" + +micromark-extension-mdxjs@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz" + integrity sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ== + dependencies: + acorn "^8.0.0" + acorn-jsx "^5.0.0" + micromark-extension-mdx-expression "^3.0.0" + micromark-extension-mdx-jsx "^3.0.0" + micromark-extension-mdx-md "^2.0.0" + micromark-extension-mdxjs-esm "^3.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-destination@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz" + integrity sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-label@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz" + integrity sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw== + dependencies: + devlop "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-mdx-expression@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz" + integrity sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-position-from-estree "^2.0.0" + vfile-message "^4.0.0" + +micromark-factory-space@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz" + integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-space@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz" + integrity sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-title@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz" + integrity sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-whitespace@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz" + integrity sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-character@^1.0.0, micromark-util-character@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz" + integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-character@^2.0.0, micromark-util-character@^2.0.1: + version "2.1.0" + resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz" + integrity sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ== + dependencies: + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-chunked@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz" + integrity sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-classify-character@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz" + integrity sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-combine-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz" + integrity sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ== + dependencies: + micromark-util-chunked "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-decode-numeric-character-reference@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz" + integrity sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-decode-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz" + integrity sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz" + integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== + +micromark-util-events-to-acorn@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz" + integrity sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA== + dependencies: + "@types/acorn" "^4.0.0" + "@types/estree" "^1.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + estree-util-visit "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + vfile-message "^4.0.0" + +micromark-util-html-tag-name@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz" + integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== + +micromark-util-normalize-identifier@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz" + integrity sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-resolve-all@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz" + integrity sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA== + dependencies: + micromark-util-types "^2.0.0" + +micromark-util-sanitize-uri@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz" + integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-subtokenize@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz" + integrity sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg== + dependencies: + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-symbol@^1.0.0, micromark-util-symbol@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz" + integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== + +micromark-util-symbol@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz" + integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== + +micromark-util-types@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz" + integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== + +micromark-util-types@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz" + integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== + +micromark@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz" + integrity sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ== + dependencies: + "@types/debug" "^4.0.0" + debug "^4.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" + integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== + +mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime-types@2.1.18: + version "2.1.18" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" + integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== + dependencies: + mime-db "~1.33.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +mimic-response@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz" + integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== + +mini-css-extract-plugin@^2.7.6: + version "2.8.0" + resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.0.tgz" + integrity sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg== + dependencies: + schema-utils "^4.0.0" + tapable "^2.2.1" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mrmime@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz" + integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-emoji@^2.1.0: + version "2.1.3" + resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz" + integrity sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA== + dependencies: + "@sindresorhus/is" "^4.6.0" + char-regex "^1.0.2" + emojilib "^2.4.0" + skin-tone "^2.0.0" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-releases@^2.0.18: + version "2.0.19" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz" + integrity sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1: + version "1.13.1" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.0, object.assign@^4.1.4: + version "4.1.5" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.0.9, open@^8.4.0: + version "8.4.2" + resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +p-cancelable@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz" + integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== + +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-json@^8.1.0: + version "8.1.1" + resolved "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz" + integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA== + dependencies: + got "^12.1.0" + registry-auth-token "^5.0.1" + registry-url "^6.0.0" + semver "^7.3.7" + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-entities@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz" + integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== + dependencies: + "@types/unist" "^2.0.0" + character-entities "^2.0.0" + character-entities-legacy "^3.0.0" + character-reference-invalid "^2.0.0" + decode-named-character-reference "^1.0.0" + is-alphanumerical "^2.0.0" + is-decimal "^2.0.0" + is-hexadecimal "^2.0.0" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-numeric-range@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" + integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== + +parse5-htmlparser2-tree-adapter@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" + integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== + dependencies: + domhandler "^5.0.2" + parse5 "^7.0.0" + +parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-is-inside@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-to-regexp@2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" + integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +periscopic@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz" + integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^3.0.0" + is-reference "^3.0.0" + +picocolors@^1.0.0, picocolors@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== + dependencies: + find-up "^6.3.0" + +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + +postcss-calc@^9.0.1: + version "9.0.1" + resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz" + integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== + dependencies: + postcss-selector-parser "^6.0.11" + postcss-value-parser "^4.2.0" + +postcss-colormin@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz" + integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + colord "^2.9.3" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz" + integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w== + dependencies: + browserslist "^4.23.0" + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz" + integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw== + +postcss-discard-duplicates@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz" + integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw== + +postcss-discard-empty@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz" + integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ== + +postcss-discard-overridden@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz" + integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== + +postcss-discard-unused@^6.0.5: + version "6.0.5" + resolved "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz" + integrity sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-loader@^7.3.3: + version "7.3.4" + resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz" + integrity sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A== + dependencies: + cosmiconfig "^8.3.5" + jiti "^1.20.0" + semver "^7.5.4" + +postcss-merge-idents@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz" + integrity sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g== + dependencies: + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-merge-longhand@^6.0.5: + version "6.0.5" + resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz" + integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^6.1.1" + +postcss-merge-rules@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz" + integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + cssnano-utils "^4.0.2" + postcss-selector-parser "^6.0.16" + +postcss-minify-font-values@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz" + integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz" + integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q== + dependencies: + colord "^2.9.3" + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz" + integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA== + dependencies: + browserslist "^4.23.0" + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^6.0.4: + version "6.0.4" + resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz" + integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.4: + version "4.0.4" + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz" + integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz" + integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-normalize-charset@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz" + integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ== + +postcss-normalize-display-values@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz" + integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz" + integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz" + integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-string@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz" + integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-timing-functions@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz" + integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-unicode@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz" + integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg== + dependencies: + browserslist "^4.23.0" + postcss-value-parser "^4.2.0" + +postcss-normalize-url@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz" + integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-whitespace@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz" + integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-ordered-values@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz" + integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q== + dependencies: + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-reduce-idents@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz" + integrity sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-reduce-initial@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz" + integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz" + integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz" + integrity sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-selector-parser@^6.0.2: + version "6.0.15" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz" + integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-selector-parser@^6.0.4: + version "6.0.15" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz" + integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-sort-media-queries@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz" + integrity sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA== + dependencies: + sort-css-media-queries "2.2.0" + +postcss-svgo@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz" + integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^3.2.0" + +postcss-unique-selectors@^6.0.4: + version "6.0.4" + resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz" + integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss-zindex@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz" + integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== + +"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.2, postcss@^8.4.21, postcss@^8.4.26, postcss@^8.4.31, postcss@^8.4.33: + version "8.4.35" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz" + integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@^8.4.23, postcss@^8.4.38: + version "8.4.38" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + +postcss@^8.4.24: + version "8.4.38" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== + dependencies: + lodash "^4.17.20" + renderkid "^3.0.0" + +pretty-time@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" + integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== + +prism-react-renderer@^2.1.0, prism-react-renderer@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz" + integrity sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw== + dependencies: + "@types/prismjs" "^1.26.0" + clsx "^2.0.0" + +prismjs@^1.29.0: + version "1.29.0" + resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" + integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.6.2, prop-types@^15.7.2: + version "15.8.1" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +property-information@^6.0.0: + version "6.4.1" + resolved "https://registry.npmjs.org/property-information/-/property-information-6.4.1.tgz" + integrity sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w== + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" + integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +punycode@^1.3.2: + version "1.4.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0, punycode@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pupa@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz" + integrity sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug== + dependencies: + escape-goat "^4.0.0" + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +queue@6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz" + integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== + dependencies: + inherits "~2.0.3" + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +range-parser@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc@1.2.8: + version "1.2.8" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-dev-utils@^12.0.1: + version "12.0.1" + resolved "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" + integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== + dependencies: + "@babel/code-frame" "^7.16.0" + address "^1.1.2" + browserslist "^4.18.1" + chalk "^4.1.2" + cross-spawn "^7.0.3" + detect-port-alt "^1.1.6" + escape-string-regexp "^4.0.0" + filesize "^8.0.6" + find-up "^5.0.0" + fork-ts-checker-webpack-plugin "^6.5.0" + global-modules "^2.0.0" + globby "^11.0.4" + gzip-size "^6.0.0" + immer "^9.0.7" + is-root "^2.1.0" + loader-utils "^3.2.0" + open "^8.4.0" + pkg-up "^3.1.0" + prompts "^2.4.2" + react-error-overlay "^6.0.11" + recursive-readdir "^2.2.2" + shell-quote "^1.7.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +react-dom@*, "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0", react-dom@^18.0.0, react-dom@^18.2.0, "react-dom@>= 16.8.0 < 19.0.0": + version "18.2.0" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-error-overlay@^6.0.11: + version "6.0.11" + resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" + integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== + +react-fast-compare@^3.2.0, react-fast-compare@^3.2.2: + version "3.2.2" + resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + +react-helmet-async@*: + version "2.0.4" + resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz" + integrity sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ== + dependencies: + invariant "^2.2.4" + react-fast-compare "^3.2.2" + shallowequal "^1.1.0" + +react-helmet-async@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz" + integrity sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg== + dependencies: + "@babel/runtime" "^7.12.5" + invariant "^2.2.4" + prop-types "^15.7.2" + react-fast-compare "^3.2.0" + shallowequal "^1.1.0" + +react-icons@^4.12.0: + version "4.12.0" + resolved "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz" + integrity sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw== + +react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-json-view-lite@^1.2.0: + version "1.2.1" + resolved "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.2.1.tgz" + integrity sha512-Itc0g86fytOmKZoIoJyGgvNqohWSbh3NXIKNgH6W6FT9PC1ck4xas1tT3Rr/b3UlFXyA9Jjaw9QSXdZy2JwGMQ== + +react-loadable-ssr-addon-v5-slorber@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz" + integrity sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A== + dependencies: + "@babel/runtime" "^7.10.3" + +react-loadable@*, "react-loadable@npm:@docusaurus/react-loadable@6.0.0": + version "6.0.0" + resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz" + integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== + dependencies: + "@types/react" "*" + +react-router-config@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz" + integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg== + dependencies: + "@babel/runtime" "^7.1.2" + +react-router-dom@^5.3.4: + version "5.3.4" + resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz" + integrity sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.3.4" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@^5.3.4, react-router@>=5, react-router@5.3.4: + version "5.3.4" + resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" + integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react@*, "react@^16.13.1 || ^17.0.0 || ^18.0.0", "react@^16.6.0 || ^17.0.0 || ^18.0.0", "react@^18 || ^19", react@^18.0.0, react@^18.2.0, "react@>= 16.8.0 < 19.0.0", react@>=15, react@>=16, react@>=16.0.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +reading-time@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" + integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +recursive-readdir@^2.2.2: + version "2.2.3" + resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" + integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== + dependencies: + minimatch "^3.0.5" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +registry-auth-token@^5.0.1: + version "5.0.2" + resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz" + integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== + dependencies: + "@pnpm/npm-conf" "^2.1.0" + +registry-url@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz" + integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== + dependencies: + rc "1.2.8" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +rehype-katex@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz" + integrity sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA== + dependencies: + "@types/hast" "^3.0.0" + "@types/katex" "^0.16.0" + hast-util-from-html-isomorphic "^2.0.0" + hast-util-to-text "^4.0.0" + katex "^0.16.0" + unist-util-visit-parents "^6.0.0" + vfile "^6.0.0" + +rehype-minify-whitespace@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.0.tgz" + integrity sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA== + dependencies: + "@types/hast" "^3.0.0" + hast-util-embedded "^3.0.0" + hast-util-is-element "^3.0.0" + hast-util-whitespace "^3.0.0" + unist-util-is "^6.0.0" + +rehype-raw@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz" + integrity sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww== + dependencies: + "@types/hast" "^3.0.0" + hast-util-raw "^9.0.0" + vfile "^6.0.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== + +remark-definition-list@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/remark-definition-list/-/remark-definition-list-2.0.0.tgz" + integrity sha512-OOJ0zUrfUGITUNxOBnsipyFUjqq1m4AgYOqQk10jDXyz+RoODJL3qYvRn8qzYQDzRnz1wlCP3dbDEOpl05LlQw== + dependencies: + hast-util-definition-list "^2.0.0" + mdast-util-definition-list "^2.0.0" + micromark-extension-definition-list "^2.0.0" + +remark-directive@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz" + integrity sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-directive "^3.0.0" + micromark-extension-directive "^3.0.0" + unified "^11.0.0" + +remark-emoji@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz" + integrity sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg== + dependencies: + "@types/mdast" "^4.0.2" + emoticon "^4.0.1" + mdast-util-find-and-replace "^3.0.1" + node-emoji "^2.1.0" + unified "^11.0.4" + +remark-frontmatter@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz" + integrity sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-frontmatter "^2.0.0" + micromark-extension-frontmatter "^2.0.0" + unified "^11.0.0" + +remark-gfm@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz" + integrity sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-gfm "^3.0.0" + micromark-extension-gfm "^3.0.0" + remark-parse "^11.0.0" + remark-stringify "^11.0.0" + unified "^11.0.0" + +remark-math@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz" + integrity sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-math "^3.0.0" + micromark-extension-math "^3.0.0" + unified "^11.0.0" + +remark-mdx@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz" + integrity sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA== + dependencies: + mdast-util-mdx "^3.0.0" + micromark-extension-mdxjs "^3.0.0" + +remark-parse@^11.0.0: + version "11.0.0" + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz" + integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + micromark-util-types "^2.0.0" + unified "^11.0.0" + +remark-rehype@^11.0.0: + version "11.1.0" + resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz" + integrity sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + mdast-util-to-hast "^13.0.0" + unified "^11.0.0" + vfile "^6.0.0" + +remark-stringify@^11.0.0: + version "11.0.0" + resolved "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz" + integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-to-markdown "^2.0.0" + unified "^11.0.0" + +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.1" + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +"require-like@>= 0.1.1": + version "0.1.2" + resolved "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz" + integrity sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-alpn@^1.2.0: + version "1.2.1" + resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + +resolve@^1.1.6, resolve@^1.14.2: + version "1.22.8" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz" + integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== + dependencies: + lowercase-keys "^3.0.0" + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rtl-detect@^1.0.4: + version "1.1.2" + resolved "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz" + integrity sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ== + +rtlcss@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-4.1.1.tgz" + integrity sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + postcss "^8.4.21" + strip-json-comments "^3.1.1" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@^1.2.4: + version "1.3.0" + resolved "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +schema-utils@^3.0.0: + version "3.3.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^3.1.1: + version "3.3.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0, schema-utils@^4.0.1: + version "4.2.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +"search-insights@>= 1 < 3": + version "2.17.3" + resolved "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz" + integrity sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ== + +section-matter@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" + integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== + dependencies: + extend-shallow "^2.0.1" + kind-of "^6.0.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.1.1: + version "2.4.1" + resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== + dependencies: + "@types/node-forge" "^1.3.0" + node-forge "^1" + +semver-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz" + integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== + dependencies: + semver "^7.3.5" + +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.2: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.5: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.7: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^7.5.4: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +serve-handler@^6.1.5: + version "6.1.5" + resolved "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz" + integrity sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg== + dependencies: + bytes "3.0.0" + content-disposition "0.5.2" + fast-url-parser "1.1.3" + mime-types "2.1.18" + minimatch "3.1.2" + path-is-inside "1.0.2" + path-to-regexp "2.2.1" + range-parser "1.2.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +server-only@^0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz" + integrity sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA== + +set-function-length@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz" + integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== + dependencies: + define-data-property "^1.1.2" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.7.3, shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +shelljs@^0.8.5: + version "0.8.5" + resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +side-channel@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz" + integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sirv@^2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz" + integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== + dependencies: + "@polka/url" "^1.0.0-next.24" + mrmime "^2.0.0" + totalist "^3.0.0" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +sitemap@^7.1.1: + version "7.1.1" + resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz" + integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== + dependencies: + "@types/node" "^17.0.5" + "@types/sax" "^1.2.1" + arg "^5.0.0" + sax "^1.2.4" + +skin-tone@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz" + integrity sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA== + dependencies: + unicode-emoji-modifier-base "^1.0.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +sort-css-media-queries@2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz" + integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA== + +source-map-js@^1.0.1, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.0: + version "0.7.4" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +srcset@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz" + integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +std-env@^3.0.1: + version "3.7.0" + resolved "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz" + integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +string-width@^4.1.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +stringify-entities@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz" + integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== + dependencies: + character-entities-html4 "^2.0.0" + character-entities-legacy "^3.0.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +style-to-object@^0.4.0: + version "0.4.4" + resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz" + integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== + dependencies: + inline-style-parser "0.1.1" + +style-to-object@^1.0.0: + version "1.0.5" + resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz" + integrity sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ== + dependencies: + inline-style-parser "0.2.2" + +stylehacks@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz" + integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg== + dependencies: + browserslist "^4.23.0" + postcss-selector-parser "^6.0.16" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-parser@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svgo@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +svgo@^3.0.2, svgo@^3.2.0: + version "3.3.2" + resolved "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz" + integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^5.1.0" + css-tree "^2.3.1" + css-what "^6.1.0" + csso "^5.0.5" + picocolors "^1.0.0" + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.9: + version "5.3.10" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.10.0, terser@^5.15.1, terser@^5.26.0: + version "5.27.2" + resolved "https://registry.npmjs.org/terser/-/terser-5.27.2.tgz" + integrity sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tiny-invariant@^1.0.2: + version "1.3.1" + resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" + integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== + +tiny-warning@^1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +totalist@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz" + integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== + +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== + +trim-trailing-lines@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz" + integrity sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg== + +trough@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz" + integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== + +ts-dedent@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz" + integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== + +tslib@^2.0.3, tslib@^2.6.0: + version "2.6.2" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +type-fest@^1.0.1: + version "1.4.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +type-fest@^2.13.0, type-fest@^2.5.0: + version "2.19.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +"typescript@>= 2.7", typescript@>=4.9.5, typescript@~5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-emoji-modifier-base@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz" + integrity sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: + version "11.0.4" + resolved "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz" + integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ== + dependencies: + "@types/unist" "^3.0.0" + bail "^2.0.0" + devlop "^1.0.0" + extend "^3.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^6.0.0" + +unique-string@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz" + integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== + dependencies: + crypto-random-string "^4.0.0" + +unist-builder@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/unist-builder/-/unist-builder-4.0.0.tgz" + integrity sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-find-after@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz" + integrity sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + +unist-util-is@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz" + integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-position-from-estree@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz" + integrity sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-position@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz" + integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-remove-position@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz" + integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== + dependencies: + "@types/unist" "^3.0.0" + unist-util-visit "^5.0.0" + +unist-util-stringify-position@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" + integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-visit-parents@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz" + integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + +unist-util-visit@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz" + integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@~1.0.0, unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.0" + +update-notifier@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz" + integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og== + dependencies: + boxen "^7.0.0" + chalk "^5.0.1" + configstore "^6.0.0" + has-yarn "^3.0.0" + import-lazy "^4.0.0" + is-ci "^3.0.1" + is-installed-globally "^0.4.0" + is-npm "^6.0.0" + is-yarn-global "^0.4.0" + latest-version "^7.0.0" + pupa "^3.1.0" + semver "^7.3.7" + semver-diff "^4.0.0" + xdg-basedir "^5.1.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-loader@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" + integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.12.5: + version "0.12.5" + resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utility-types@^3.10.0: + version "3.11.0" + resolved "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz" + integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vfile-location@^5.0.0: + version "5.0.2" + resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz" + integrity sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg== + dependencies: + "@types/unist" "^3.0.0" + vfile "^6.0.0" + +vfile-message@^4.0.0: + version "4.0.2" + resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz" + integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" + +vfile@^6.0.0, vfile@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz" + integrity sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" + vfile-message "^4.0.0" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +web-namespaces@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz" + integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== + +webpack-bundle-analyzer@^4.9.0: + version "4.10.1" + resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz" + integrity sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ== + dependencies: + "@discoveryjs/json-ext" "0.5.7" + acorn "^8.0.4" + acorn-walk "^8.0.0" + commander "^7.2.0" + debounce "^1.2.1" + escape-string-regexp "^4.0.0" + gzip-size "^6.0.0" + html-escaper "^2.0.2" + is-plain-object "^5.0.0" + opener "^1.5.2" + picocolors "^1.0.0" + sirv "^2.0.3" + ws "^7.3.1" + +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.15.1: + version "4.15.1" + resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz" + integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.5" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + launch-editor "^2.6.0" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.13.0" + +webpack-merge@^5.9.0: + version "5.10.0" + resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.88.1, "webpack@>= 4", "webpack@>=4.41.1 || 5.x", webpack@>=5, "webpack@3 || 4 || 5": + version "5.90.3" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz" + integrity sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +webpackbar@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz" + integrity sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ== + dependencies: + chalk "^4.1.0" + consola "^2.15.3" + pretty-time "^1.1.0" + std-env "^3.0.1" + +websocket-driver@^0.7.4, websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +which-typed-array@^1.1.14, which-typed-array@^1.1.2: + version "1.1.14" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz" + integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg== + dependencies: + available-typed-arrays "^1.0.6" + call-bind "^1.0.5" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.1" + +which@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +widest-line@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz" + integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== + dependencies: + string-width "^5.0.1" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.3.1: + version "7.5.9" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +ws@^8.13.0: + version "8.16.0" + resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + +xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz" + integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== + +xml-js@^1.6.11: + version "1.6.11" + resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" + integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== + dependencies: + sax "^1.2.4" + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +zwitch@^2.0.0, zwitch@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" + integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== From 772d52126eac62cc4406ddab26cd9b69853fd103 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 10 Jun 2025 15:36:16 -0700 Subject: [PATCH 057/303] wip --- src/theme/DocBreadcrumbs/index.js | 6 +- src/theme/DocItem/Content/index.js | 2 +- src/theme/DocItem/Footer/index.js | 2 +- src/theme/DocItem/Layout/index.js | 4 +- src/theme/DocSidebarItem/Category/index.js | 4 +- src/theme/DocSidebarItem/Link/index.js | 2 +- src/theme/DocSidebarItems/index.js | 4 +- yarn.lock | 22808 +++++++++++-------- 8 files changed, 13122 insertions(+), 9710 deletions(-) diff --git a/src/theme/DocBreadcrumbs/index.js b/src/theme/DocBreadcrumbs/index.js index 747304797e..e2c9fb82b8 100644 --- a/src/theme/DocBreadcrumbs/index.js +++ b/src/theme/DocBreadcrumbs/index.js @@ -2,10 +2,12 @@ import React from 'react'; import clsx from 'clsx'; import {ThemeClassNames} from '@docusaurus/theme-common'; import { - useSidebarBreadcrumbs, useHomePageRoute, } from '@docusaurus/theme-common/internal'; -import { useDoc } from "@docusaurus/theme-common/internal"; +import { + useDoc, + useSidebarBreadcrumbs +} from '@docusaurus/plugin-content-docs/client'; import Link from '@docusaurus/Link'; import {translate} from '@docusaurus/Translate'; import HomeBreadcrumbItem from '@theme/DocBreadcrumbs/Items/Home'; diff --git a/src/theme/DocItem/Content/index.js b/src/theme/DocItem/Content/index.js index e9e78dbbd8..4dfeae7cea 100644 --- a/src/theme/DocItem/Content/index.js +++ b/src/theme/DocItem/Content/index.js @@ -1,7 +1,7 @@ import React from "react"; import clsx from "clsx"; import { ThemeClassNames } from "@docusaurus/theme-common"; -import { useDoc } from "@docusaurus/theme-common/internal"; +import { useDoc } from "@docusaurus/plugin-content-docs/client"; import Heading from "@theme/Heading"; import MDXContent from "@theme/MDXContent"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; diff --git a/src/theme/DocItem/Footer/index.js b/src/theme/DocItem/Footer/index.js index ca6a8df43b..3323e1a1db 100644 --- a/src/theme/DocItem/Footer/index.js +++ b/src/theme/DocItem/Footer/index.js @@ -1,7 +1,7 @@ import React, { useEffect, useState } from "react"; import clsx from "clsx"; import { ThemeClassNames } from "@docusaurus/theme-common"; -import { useDoc } from "@docusaurus/theme-common/internal"; +import { useDoc } from "@docusaurus/plugin-content-docs/client"; import TagsListInline from "@theme/TagsListInline"; import { track } from "@vercel/analytics"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; diff --git a/src/theme/DocItem/Layout/index.js b/src/theme/DocItem/Layout/index.js index e5c43e6761..beaa6d9acd 100644 --- a/src/theme/DocItem/Layout/index.js +++ b/src/theme/DocItem/Layout/index.js @@ -1,7 +1,7 @@ import React from 'react'; import clsx from 'clsx'; import { useWindowSize } from '@docusaurus/theme-common'; -import { useDoc } from '@docusaurus/theme-common/internal'; +import { useDoc } from '@docusaurus/plugin-content-docs/client'; import DocItemPaginator from '@theme/DocItem/Paginator'; import DocVersionBanner from '@theme/DocVersionBanner'; import DocVersionBadge from '@theme/DocVersionBadge'; @@ -10,7 +10,7 @@ import DocItemTOCMobile from '@theme/DocItem/TOC/Mobile'; import DocItemTOCDesktop from '@theme/DocItem/TOC/Desktop'; import DocItemContent from '@theme/DocItem/Content'; import DocBreadcrumbs from '@theme/DocBreadcrumbs'; -import Unlisted from '@theme/Unlisted'; +import Unlisted from "@theme/ContentVisibility/Unlisted"; import styles from './styles.module.css'; /** * Decide if the toc should be rendered, on mobile or desktop viewports diff --git a/src/theme/DocSidebarItem/Category/index.js b/src/theme/DocSidebarItem/Category/index.js index 2f3115eead..3309aee7b0 100644 --- a/src/theme/DocSidebarItem/Category/index.js +++ b/src/theme/DocSidebarItem/Category/index.js @@ -11,12 +11,12 @@ import { isActiveSidebarItem, findFirstSidebarItemLink, useDocSidebarItemsExpandedState, - isSamePath, -} from '@docusaurus/theme-common/internal'; +} from '@docusaurus/plugin-content-docs/client'; import Link from '@docusaurus/Link'; import {translate} from '@docusaurus/Translate'; import useIsBrowser from '@docusaurus/useIsBrowser'; import DocSidebarItems from '@theme/DocSidebarItems'; +import { isSamePath } from '@docusaurus/theme-common/internal'; // If we navigate to a category and it becomes active, it should automatically // expand itself function useAutoExpandActiveCategory({isActive, collapsed, updateCollapsed}) { diff --git a/src/theme/DocSidebarItem/Link/index.js b/src/theme/DocSidebarItem/Link/index.js index 591f55c9be..112cd2e36d 100644 --- a/src/theme/DocSidebarItem/Link/index.js +++ b/src/theme/DocSidebarItem/Link/index.js @@ -1,7 +1,7 @@ import React from 'react'; import clsx from 'clsx'; import { ThemeClassNames } from '@docusaurus/theme-common'; -import { isActiveSidebarItem } from '@docusaurus/theme-common/internal'; +import { isActiveSidebarItem } from '@docusaurus/plugin-content-docs/client'; import Link from '@docusaurus/Link'; import isInternalUrl from '@docusaurus/isInternalUrl'; import IconExternalLink from '@theme/Icon/ExternalLink'; diff --git a/src/theme/DocSidebarItems/index.js b/src/theme/DocSidebarItems/index.js index 9a73944e27..86b65ea291 100644 --- a/src/theme/DocSidebarItems/index.js +++ b/src/theme/DocSidebarItems/index.js @@ -1,9 +1,9 @@ import React, {memo} from 'react'; import { DocSidebarItemsExpandedStateProvider, - useVisibleSidebarItems, -} from '@docusaurus/theme-common/internal'; + useVisibleSidebarItems } from '@docusaurus/plugin-content-docs/client'; import DocSidebarItem from '@theme/DocSidebarItem'; + function DocSidebarItems({items, ...props}) { const visibleItems = useVisibleSidebarItems(items, props.activePath); return ( diff --git a/yarn.lock b/yarn.lock index 69c0e1a758..98ca7e3be7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,9699 +1,13109 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@algolia/autocomplete-core@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz" - integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw== - dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.9.3" - "@algolia/autocomplete-shared" "1.9.3" - -"@algolia/autocomplete-plugin-algolia-insights@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz" - integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg== - dependencies: - "@algolia/autocomplete-shared" "1.9.3" - -"@algolia/autocomplete-preset-algolia@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz" - integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== - dependencies: - "@algolia/autocomplete-shared" "1.9.3" - -"@algolia/autocomplete-shared@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz" - integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== - -"@algolia/cache-browser-local-storage@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz" - integrity sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g== - dependencies: - "@algolia/cache-common" "4.22.1" - -"@algolia/cache-common@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.22.1.tgz" - integrity sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA== - -"@algolia/cache-in-memory@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz" - integrity sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw== - dependencies: - "@algolia/cache-common" "4.22.1" - -"@algolia/client-account@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.22.1.tgz" - integrity sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw== - dependencies: - "@algolia/client-common" "4.22.1" - "@algolia/client-search" "4.22.1" - "@algolia/transporter" "4.22.1" - -"@algolia/client-analytics@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.22.1.tgz" - integrity sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg== - dependencies: - "@algolia/client-common" "4.22.1" - "@algolia/client-search" "4.22.1" - "@algolia/requester-common" "4.22.1" - "@algolia/transporter" "4.22.1" - -"@algolia/client-common@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.22.1.tgz" - integrity sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ== - dependencies: - "@algolia/requester-common" "4.22.1" - "@algolia/transporter" "4.22.1" - -"@algolia/client-personalization@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.22.1.tgz" - integrity sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ== - dependencies: - "@algolia/client-common" "4.22.1" - "@algolia/requester-common" "4.22.1" - "@algolia/transporter" "4.22.1" - -"@algolia/client-search@>= 4.9.1 < 6", "@algolia/client-search@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.22.1.tgz" - integrity sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA== - dependencies: - "@algolia/client-common" "4.22.1" - "@algolia/requester-common" "4.22.1" - "@algolia/transporter" "4.22.1" - -"@algolia/events@^4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz" - integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== - -"@algolia/logger-common@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.22.1.tgz" - integrity sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg== - -"@algolia/logger-console@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.22.1.tgz" - integrity sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA== - dependencies: - "@algolia/logger-common" "4.22.1" - -"@algolia/requester-browser-xhr@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz" - integrity sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw== - dependencies: - "@algolia/requester-common" "4.22.1" - -"@algolia/requester-common@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.22.1.tgz" - integrity sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg== - -"@algolia/requester-node-http@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz" - integrity sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA== - dependencies: - "@algolia/requester-common" "4.22.1" - -"@algolia/transporter@4.22.1": - version "4.22.1" - resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.22.1.tgz" - integrity sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ== - dependencies: - "@algolia/cache-common" "4.22.1" - "@algolia/logger-common" "4.22.1" - "@algolia/requester-common" "4.22.1" - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2", "@babel/code-frame@^7.8.3": - version "7.26.2" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz" - integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== - dependencies: - "@babel/helper-validator-identifier" "^7.25.9" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4", "@babel/compat-data@^7.25.9": - version "7.26.3" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz" - integrity sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g== - -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.19.6", "@babel/core@^7.21.3", "@babel/core@^7.23.3", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": - version "7.26.0" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz" - integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.26.0" - "@babel/generator" "^7.26.0" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helpers" "^7.26.0" - "@babel/parser" "^7.26.0" - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.26.0" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.23.3", "@babel/generator@^7.26.0", "@babel/generator@^7.26.3": - version "7.26.3" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz" - integrity sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ== - dependencies: - "@babel/parser" "^7.26.3" - "@babel/types" "^7.26.3" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6", "@babel/helper-compilation-targets@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz" - integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== - dependencies: - "@babel/compat-data" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6": - version "7.23.10" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz" - integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4", "@babel/helper-create-class-features-plugin@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz" - integrity sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.24.5" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.24.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.24.5" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.5.0": - version "0.5.0" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz" - integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": - version "0.6.2" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz" - integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== - dependencies: - "@babel/types" "^7.23.0" - -"@babel/helper-member-expression-to-functions@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz" - integrity sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz" - integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-module-transforms@^7.23.3", "@babel/helper-module-transforms@^7.26.0": - version "7.26.0" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz" - integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz" - integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== - -"@babel/helper-remap-async-to-generator@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" - -"@babel/helper-replace-supers@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz" - integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-replace-supers@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz" - integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz" - integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-string-parser@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz" - integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== - -"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - -"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5", "@babel/helper-validator-option@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz" - integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== - -"@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== - dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" - -"@babel/helpers@^7.26.0": - version "7.26.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz" - integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== - dependencies: - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.0" - -"@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.3": - version "7.26.3" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz" - integrity sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA== - dependencies: - "@babel/types" "^7.26.3" - -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz" - integrity sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.5" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz" - integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz" - integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz" - integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.23.3" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz" - integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.24.1" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": - version "7.23.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz" - integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz" - integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz" - integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-assertions@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz" - integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-import-attributes@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz" - integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-attributes@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz" - integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-jsx@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz" - integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz" - integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-typescript@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz" - integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz" - integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-arrow-functions@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz" - integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-async-generator-functions@^7.23.9": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz" - integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-transform-async-generator-functions@^7.24.3": - version "7.24.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz" - integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-remap-async-to-generator" "^7.22.20" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-transform-async-to-generator@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz" - integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== - dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - -"@babel/plugin-transform-async-to-generator@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz" - integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== - dependencies: - "@babel/helper-module-imports" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-remap-async-to-generator" "^7.22.20" - -"@babel/plugin-transform-block-scoped-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz" - integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-block-scoped-functions@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz" - integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-block-scoping@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz" - integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-block-scoping@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz" - integrity sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - -"@babel/plugin-transform-class-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz" - integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz" - integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-class-static-block@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz" - integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-class-static-block@^7.24.4": - version "7.24.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz" - integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.4" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-classes@^7.23.8": - version "7.23.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz" - integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-split-export-declaration" "^7.22.6" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz" - integrity sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/helper-replace-supers" "^7.24.1" - "@babel/helper-split-export-declaration" "^7.24.5" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz" - integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.15" - -"@babel/plugin-transform-computed-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz" - integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/template" "^7.24.0" - -"@babel/plugin-transform-destructuring@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz" - integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-destructuring@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz" - integrity sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - -"@babel/plugin-transform-dotall-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz" - integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dotall-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz" - integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-duplicate-keys@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz" - integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-duplicate-keys@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz" - integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-dynamic-import@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz" - integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-transform-dynamic-import@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz" - integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-transform-exponentiation-operator@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz" - integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-exponentiation-operator@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz" - integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-export-namespace-from@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz" - integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-transform-export-namespace-from@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz" - integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-transform-for-of@^7.23.6": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz" - integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-for-of@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz" - integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-function-name@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz" - integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== - dependencies: - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-function-name@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz" - integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== - dependencies: - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-json-strings@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz" - integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-transform-json-strings@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz" - integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-transform-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz" - integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz" - integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-logical-assignment-operators@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz" - integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-transform-logical-assignment-operators@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz" - integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz" - integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-member-expression-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz" - integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-modules-amd@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz" - integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-amd@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz" - integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-modules-commonjs@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz" - integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - -"@babel/plugin-transform-modules-commonjs@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz" - integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-simple-access" "^7.22.5" - -"@babel/plugin-transform-modules-systemjs@^7.23.9": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz" - integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== - dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/plugin-transform-modules-systemjs@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz" - integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== - dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/plugin-transform-modules-umd@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz" - integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-umd@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz" - integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-new-target@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz" - integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-new-target@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz" - integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz" - integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz" - integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-transform-numeric-separator@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz" - integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-transform-numeric-separator@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz" - integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-transform-object-rest-spread@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz" - integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== - dependencies: - "@babel/compat-data" "^7.23.3" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.23.3" - -"@babel/plugin-transform-object-rest-spread@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz" - integrity sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA== - dependencies: - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.24.5" - -"@babel/plugin-transform-object-super@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz" - integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - -"@babel/plugin-transform-object-super@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz" - integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-replace-supers" "^7.24.1" - -"@babel/plugin-transform-optional-catch-binding@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz" - integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-transform-optional-catch-binding@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz" - integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz" - integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-transform-optional-chaining@^7.24.1", "@babel/plugin-transform-optional-chaining@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz" - integrity sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-transform-parameters@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz" - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-parameters@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz" - integrity sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - -"@babel/plugin-transform-private-methods@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz" - integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-private-methods@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz" - integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-private-property-in-object@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz" - integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-transform-private-property-in-object@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz" - integrity sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.24.5" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-transform-property-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz" - integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-property-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz" - integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-react-constant-elements@^7.18.12": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz" - integrity sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-constant-elements@^7.21.3": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz" - integrity sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-react-display-name@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz" - integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-jsx-development@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz" - integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.22.5" - -"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz" - integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/types" "^7.23.4" - -"@babel/plugin-transform-react-pure-annotations@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz" - integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-regenerator@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz" - integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.2" - -"@babel/plugin-transform-regenerator@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz" - integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - regenerator-transform "^0.15.2" - -"@babel/plugin-transform-reserved-words@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz" - integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-reserved-words@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz" - integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-runtime@^7.22.9": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz" - integrity sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ== - dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.8" - babel-plugin-polyfill-corejs3 "^0.9.0" - babel-plugin-polyfill-regenerator "^0.5.5" - semver "^6.3.1" - -"@babel/plugin-transform-shorthand-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz" - integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-shorthand-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz" - integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-spread@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz" - integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-spread@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz" - integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-sticky-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz" - integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-sticky-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz" - integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-template-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz" - integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-template-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz" - integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-typeof-symbol@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz" - integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typeof-symbol@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz" - integrity sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - -"@babel/plugin-transform-typescript@^7.23.3": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz" - integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-typescript" "^7.23.3" - -"@babel/plugin-transform-typescript@^7.24.1": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz" - integrity sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.24.5" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/plugin-syntax-typescript" "^7.24.1" - -"@babel/plugin-transform-unicode-escapes@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz" - integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-escapes@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz" - integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-unicode-property-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz" - integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-property-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz" - integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-unicode-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz" - integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz" - integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-unicode-sets-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz" - integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-sets-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz" - integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/preset-env@^7.19.4", "@babel/preset-env@^7.22.9": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz" - integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.23.3" - "@babel/plugin-syntax-import-attributes" "^7.23.3" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.23.3" - "@babel/plugin-transform-async-generator-functions" "^7.23.9" - "@babel/plugin-transform-async-to-generator" "^7.23.3" - "@babel/plugin-transform-block-scoped-functions" "^7.23.3" - "@babel/plugin-transform-block-scoping" "^7.23.4" - "@babel/plugin-transform-class-properties" "^7.23.3" - "@babel/plugin-transform-class-static-block" "^7.23.4" - "@babel/plugin-transform-classes" "^7.23.8" - "@babel/plugin-transform-computed-properties" "^7.23.3" - "@babel/plugin-transform-destructuring" "^7.23.3" - "@babel/plugin-transform-dotall-regex" "^7.23.3" - "@babel/plugin-transform-duplicate-keys" "^7.23.3" - "@babel/plugin-transform-dynamic-import" "^7.23.4" - "@babel/plugin-transform-exponentiation-operator" "^7.23.3" - "@babel/plugin-transform-export-namespace-from" "^7.23.4" - "@babel/plugin-transform-for-of" "^7.23.6" - "@babel/plugin-transform-function-name" "^7.23.3" - "@babel/plugin-transform-json-strings" "^7.23.4" - "@babel/plugin-transform-literals" "^7.23.3" - "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" - "@babel/plugin-transform-member-expression-literals" "^7.23.3" - "@babel/plugin-transform-modules-amd" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-modules-systemjs" "^7.23.9" - "@babel/plugin-transform-modules-umd" "^7.23.3" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.23.3" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" - "@babel/plugin-transform-numeric-separator" "^7.23.4" - "@babel/plugin-transform-object-rest-spread" "^7.23.4" - "@babel/plugin-transform-object-super" "^7.23.3" - "@babel/plugin-transform-optional-catch-binding" "^7.23.4" - "@babel/plugin-transform-optional-chaining" "^7.23.4" - "@babel/plugin-transform-parameters" "^7.23.3" - "@babel/plugin-transform-private-methods" "^7.23.3" - "@babel/plugin-transform-private-property-in-object" "^7.23.4" - "@babel/plugin-transform-property-literals" "^7.23.3" - "@babel/plugin-transform-regenerator" "^7.23.3" - "@babel/plugin-transform-reserved-words" "^7.23.3" - "@babel/plugin-transform-shorthand-properties" "^7.23.3" - "@babel/plugin-transform-spread" "^7.23.3" - "@babel/plugin-transform-sticky-regex" "^7.23.3" - "@babel/plugin-transform-template-literals" "^7.23.3" - "@babel/plugin-transform-typeof-symbol" "^7.23.3" - "@babel/plugin-transform-unicode-escapes" "^7.23.3" - "@babel/plugin-transform-unicode-property-regex" "^7.23.3" - "@babel/plugin-transform-unicode-regex" "^7.23.3" - "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.8" - babel-plugin-polyfill-corejs3 "^0.9.0" - babel-plugin-polyfill-regenerator "^0.5.5" - core-js-compat "^3.31.0" - semver "^6.3.1" - -"@babel/preset-env@^7.20.2": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz" - integrity sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ== - dependencies: - "@babel/compat-data" "^7.24.4" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.24.1" - "@babel/plugin-syntax-import-attributes" "^7.24.1" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.24.1" - "@babel/plugin-transform-async-generator-functions" "^7.24.3" - "@babel/plugin-transform-async-to-generator" "^7.24.1" - "@babel/plugin-transform-block-scoped-functions" "^7.24.1" - "@babel/plugin-transform-block-scoping" "^7.24.5" - "@babel/plugin-transform-class-properties" "^7.24.1" - "@babel/plugin-transform-class-static-block" "^7.24.4" - "@babel/plugin-transform-classes" "^7.24.5" - "@babel/plugin-transform-computed-properties" "^7.24.1" - "@babel/plugin-transform-destructuring" "^7.24.5" - "@babel/plugin-transform-dotall-regex" "^7.24.1" - "@babel/plugin-transform-duplicate-keys" "^7.24.1" - "@babel/plugin-transform-dynamic-import" "^7.24.1" - "@babel/plugin-transform-exponentiation-operator" "^7.24.1" - "@babel/plugin-transform-export-namespace-from" "^7.24.1" - "@babel/plugin-transform-for-of" "^7.24.1" - "@babel/plugin-transform-function-name" "^7.24.1" - "@babel/plugin-transform-json-strings" "^7.24.1" - "@babel/plugin-transform-literals" "^7.24.1" - "@babel/plugin-transform-logical-assignment-operators" "^7.24.1" - "@babel/plugin-transform-member-expression-literals" "^7.24.1" - "@babel/plugin-transform-modules-amd" "^7.24.1" - "@babel/plugin-transform-modules-commonjs" "^7.24.1" - "@babel/plugin-transform-modules-systemjs" "^7.24.1" - "@babel/plugin-transform-modules-umd" "^7.24.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.24.1" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" - "@babel/plugin-transform-numeric-separator" "^7.24.1" - "@babel/plugin-transform-object-rest-spread" "^7.24.5" - "@babel/plugin-transform-object-super" "^7.24.1" - "@babel/plugin-transform-optional-catch-binding" "^7.24.1" - "@babel/plugin-transform-optional-chaining" "^7.24.5" - "@babel/plugin-transform-parameters" "^7.24.5" - "@babel/plugin-transform-private-methods" "^7.24.1" - "@babel/plugin-transform-private-property-in-object" "^7.24.5" - "@babel/plugin-transform-property-literals" "^7.24.1" - "@babel/plugin-transform-regenerator" "^7.24.1" - "@babel/plugin-transform-reserved-words" "^7.24.1" - "@babel/plugin-transform-shorthand-properties" "^7.24.1" - "@babel/plugin-transform-spread" "^7.24.1" - "@babel/plugin-transform-sticky-regex" "^7.24.1" - "@babel/plugin-transform-template-literals" "^7.24.1" - "@babel/plugin-transform-typeof-symbol" "^7.24.5" - "@babel/plugin-transform-unicode-escapes" "^7.24.1" - "@babel/plugin-transform-unicode-property-regex" "^7.24.1" - "@babel/plugin-transform-unicode-regex" "^7.24.1" - "@babel/plugin-transform-unicode-sets-regex" "^7.24.1" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.4" - babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.31.0" - semver "^6.3.1" - -"@babel/preset-modules@0.1.6-no-external-plugins": - version "0.1.6-no-external-plugins" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" - integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.22.5": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz" - integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-react-display-name" "^7.23.3" - "@babel/plugin-transform-react-jsx" "^7.22.15" - "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.23.3" - -"@babel/preset-typescript@^7.18.6", "@babel/preset-typescript@^7.22.5": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz" - integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-typescript" "^7.23.3" - -"@babel/preset-typescript@^7.21.0": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz" - integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-syntax-jsx" "^7.24.1" - "@babel/plugin-transform-modules-commonjs" "^7.24.1" - "@babel/plugin-transform-typescript" "^7.24.1" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime-corejs3@^7.22.6": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.9.tgz" - integrity sha512-oeOFTrYWdWXCvXGB5orvMTJ6gCZ9I6FBjR+M38iKNXCsPxr4xT0RTdg5uz1H7QP8pp74IzPtwritEr+JscqHXQ== - dependencies: - core-js-pure "^3.30.2" - regenerator-runtime "^0.14.0" - -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.8.4": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz" - integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz" - integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/traverse@^7.22.8", "@babel/traverse@^7.25.9": - version "7.26.4" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz" - integrity sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.3" - "@babel/parser" "^7.26.3" - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.3" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.20.0", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.5", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.3", "@babel/types@^7.4.4": - version "7.26.3" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz" - integrity sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@discoveryjs/json-ext@0.5.7": - version "0.5.7" - resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" - integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== - -"@docsearch/css@3.5.2": - version "3.5.2" - resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz" - integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA== - -"@docsearch/react@^3.5.2": - version "3.5.2" - resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz" - integrity sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng== - dependencies: - "@algolia/autocomplete-core" "1.9.3" - "@algolia/autocomplete-preset-algolia" "1.9.3" - "@docsearch/css" "3.5.2" - algoliasearch "^4.19.1" - -"@docusaurus/core@^3.4.0", "@docusaurus/core@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz" - integrity sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w== - dependencies: - "@babel/core" "^7.23.3" - "@babel/generator" "^7.23.3" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-transform-runtime" "^7.22.9" - "@babel/preset-env" "^7.22.9" - "@babel/preset-react" "^7.22.5" - "@babel/preset-typescript" "^7.22.5" - "@babel/runtime" "^7.22.6" - "@babel/runtime-corejs3" "^7.22.6" - "@babel/traverse" "^7.22.8" - "@docusaurus/cssnano-preset" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - autoprefixer "^10.4.14" - babel-loader "^9.1.3" - babel-plugin-dynamic-import-node "^2.3.3" - boxen "^6.2.1" - chalk "^4.1.2" - chokidar "^3.5.3" - clean-css "^5.3.2" - cli-table3 "^0.6.3" - combine-promises "^1.1.0" - commander "^5.1.0" - copy-webpack-plugin "^11.0.0" - core-js "^3.31.1" - css-loader "^6.8.1" - css-minimizer-webpack-plugin "^5.0.1" - cssnano "^6.1.2" - del "^6.1.1" - detect-port "^1.5.1" - escape-html "^1.0.3" - eta "^2.2.0" - eval "^0.1.8" - file-loader "^6.2.0" - fs-extra "^11.1.1" - html-minifier-terser "^7.2.0" - html-tags "^3.3.1" - html-webpack-plugin "^5.5.3" - leven "^3.1.0" - lodash "^4.17.21" - mini-css-extract-plugin "^2.7.6" - p-map "^4.0.0" - postcss "^8.4.26" - postcss-loader "^7.3.3" - prompts "^2.4.2" - react-dev-utils "^12.0.1" - react-helmet-async "^1.3.0" - react-loadable "npm:@docusaurus/react-loadable@6.0.0" - react-loadable-ssr-addon-v5-slorber "^1.0.1" - react-router "^5.3.4" - react-router-config "^5.1.1" - react-router-dom "^5.3.4" - rtl-detect "^1.0.4" - semver "^7.5.4" - serve-handler "^6.1.5" - shelljs "^0.8.5" - terser-webpack-plugin "^5.3.9" - tslib "^2.6.0" - update-notifier "^6.0.2" - url-loader "^4.1.1" - webpack "^5.88.1" - webpack-bundle-analyzer "^4.9.0" - webpack-dev-server "^4.15.1" - webpack-merge "^5.9.0" - webpackbar "^5.0.2" - -"@docusaurus/cssnano-preset@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz" - integrity sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ== - dependencies: - cssnano-preset-advanced "^6.1.2" - postcss "^8.4.38" - postcss-sort-media-queries "^5.2.0" - tslib "^2.6.0" - -"@docusaurus/logger@3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.1.1.tgz" - integrity sha512-BjkNDpQzewcTnST8trx4idSoAla6zZ3w22NqM/UMcFtvYJgmoE4layuTzlfql3VFPNuivvj7BOExa/+21y4X2Q== - dependencies: - chalk "^4.1.2" - tslib "^2.6.0" - -"@docusaurus/logger@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.4.0.tgz" - integrity sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q== - dependencies: - chalk "^4.1.2" - tslib "^2.6.0" - -"@docusaurus/mdx-loader@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz" - integrity sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw== - dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - "@mdx-js/mdx" "^3.0.0" - "@slorber/remark-comment" "^1.0.0" - escape-html "^1.0.3" - estree-util-value-to-estree "^3.0.1" - file-loader "^6.2.0" - fs-extra "^11.1.1" - image-size "^1.0.2" - mdast-util-mdx "^3.0.0" - mdast-util-to-string "^4.0.0" - rehype-raw "^7.0.0" - remark-directive "^3.0.0" - remark-emoji "^4.0.0" - remark-frontmatter "^5.0.0" - remark-gfm "^4.0.0" - stringify-object "^3.3.0" - tslib "^2.6.0" - unified "^11.0.3" - unist-util-visit "^5.0.0" - url-loader "^4.1.1" - vfile "^6.0.1" - webpack "^5.88.1" - -"@docusaurus/module-type-aliases@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.3.2.tgz" - integrity sha512-b/XB0TBJah5yKb4LYuJT4buFvL0MGAb0+vJDrJtlYMguRtsEBkf2nWl5xP7h4Dlw6ol0hsHrCYzJ50kNIOEclw== - dependencies: - "@docusaurus/types" "3.3.2" - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router-config" "*" - "@types/react-router-dom" "*" - react-helmet-async "*" - react-loadable "npm:@docusaurus/react-loadable@6.0.0" - -"@docusaurus/module-type-aliases@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz" - integrity sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw== - dependencies: - "@docusaurus/types" "3.4.0" - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router-config" "*" - "@types/react-router-dom" "*" - react-helmet-async "*" - react-loadable "npm:@docusaurus/react-loadable@6.0.0" - -"@docusaurus/plugin-client-redirects@^3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz" - integrity sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - eta "^2.2.0" - fs-extra "^11.1.1" - lodash "^4.17.21" - tslib "^2.6.0" - -"@docusaurus/plugin-content-blog@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz" - integrity sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - cheerio "^1.0.0-rc.12" - feed "^4.2.2" - fs-extra "^11.1.1" - lodash "^4.17.21" - reading-time "^1.5.0" - srcset "^4.0.0" - tslib "^2.6.0" - unist-util-visit "^5.0.0" - utility-types "^3.10.0" - webpack "^5.88.1" - -"@docusaurus/plugin-content-docs@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz" - integrity sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - "@types/react-router-config" "^5.0.7" - combine-promises "^1.1.0" - fs-extra "^11.1.1" - js-yaml "^4.1.0" - lodash "^4.17.21" - tslib "^2.6.0" - utility-types "^3.10.0" - webpack "^5.88.1" - -"@docusaurus/plugin-content-pages@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz" - integrity sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - fs-extra "^11.1.1" - tslib "^2.6.0" - webpack "^5.88.1" - -"@docusaurus/plugin-debug@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz" - integrity sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - fs-extra "^11.1.1" - react-json-view-lite "^1.2.0" - tslib "^2.6.0" - -"@docusaurus/plugin-google-analytics@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz" - integrity sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - tslib "^2.6.0" - -"@docusaurus/plugin-google-gtag@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz" - integrity sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - "@types/gtag.js" "^0.0.12" - tslib "^2.6.0" - -"@docusaurus/plugin-google-tag-manager@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz" - integrity sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - tslib "^2.6.0" - -"@docusaurus/plugin-sitemap@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz" - integrity sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - fs-extra "^11.1.1" - sitemap "^7.1.1" - tslib "^2.6.0" - -"@docusaurus/preset-classic@^3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz" - integrity sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/plugin-content-blog" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/plugin-content-pages" "3.4.0" - "@docusaurus/plugin-debug" "3.4.0" - "@docusaurus/plugin-google-analytics" "3.4.0" - "@docusaurus/plugin-google-gtag" "3.4.0" - "@docusaurus/plugin-google-tag-manager" "3.4.0" - "@docusaurus/plugin-sitemap" "3.4.0" - "@docusaurus/theme-classic" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-search-algolia" "3.4.0" - "@docusaurus/types" "3.4.0" - -"@docusaurus/theme-classic@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz" - integrity sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/plugin-content-blog" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/plugin-content-pages" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-translations" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - "@mdx-js/react" "^3.0.0" - clsx "^2.0.0" - copy-text-to-clipboard "^3.2.0" - infima "0.2.0-alpha.43" - lodash "^4.17.21" - nprogress "^0.2.0" - postcss "^8.4.26" - prism-react-renderer "^2.3.0" - prismjs "^1.29.0" - react-router-dom "^5.3.4" - rtlcss "^4.1.0" - tslib "^2.6.0" - utility-types "^3.10.0" - -"@docusaurus/theme-common@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz" - integrity sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA== - dependencies: - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/plugin-content-blog" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/plugin-content-pages" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router-config" "*" - clsx "^2.0.0" - parse-numeric-range "^1.3.0" - prism-react-renderer "^2.3.0" - tslib "^2.6.0" - utility-types "^3.10.0" - -"@docusaurus/theme-search-algolia@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz" - integrity sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q== - dependencies: - "@docsearch/react" "^3.5.2" - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-translations" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - algoliasearch "^4.18.0" - algoliasearch-helper "^3.13.3" - clsx "^2.0.0" - eta "^2.2.0" - fs-extra "^11.1.1" - lodash "^4.17.21" - tslib "^2.6.0" - utility-types "^3.10.0" - -"@docusaurus/theme-translations@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz" - integrity sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg== - dependencies: - fs-extra "^11.1.1" - tslib "^2.6.0" - -"@docusaurus/tsconfig@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.3.2.tgz" - integrity sha512-2MQXkLoWqgOSiqFojNEq8iPtFBHGQqd1b/SQMoe+v3GgHmk/L6YTTO/hMcHhWb1hTFmbkei++IajSfD3RlZKvw== - -"@docusaurus/types@*", "@docusaurus/types@^3.3.2", "@docusaurus/types@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-3.3.2.tgz" - integrity sha512-5p201S7AZhliRxTU7uMKtSsoC8mgPA9bs9b5NQg1IRdRxJfflursXNVsgc3PcMqiUTul/v1s3k3rXXFlRE890w== - dependencies: - "@mdx-js/mdx" "^3.0.0" - "@types/history" "^4.7.11" - "@types/react" "*" - commander "^5.1.0" - joi "^17.9.2" - react-helmet-async "^1.3.0" - utility-types "^3.10.0" - webpack "^5.88.1" - webpack-merge "^5.9.0" - -"@docusaurus/types@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz" - integrity sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A== - dependencies: - "@mdx-js/mdx" "^3.0.0" - "@types/history" "^4.7.11" - "@types/react" "*" - commander "^5.1.0" - joi "^17.9.2" - react-helmet-async "^1.3.0" - utility-types "^3.10.0" - webpack "^5.88.1" - webpack-merge "^5.9.0" - -"@docusaurus/utils-common@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz" - integrity sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ== - dependencies: - tslib "^2.6.0" - -"@docusaurus/utils-validation@^3": - version "3.1.1" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.1.1.tgz" - integrity sha512-KlY4P9YVDnwL+nExvlIpu79abfEv6ZCHuOX4ZQ+gtip+Wxj0daccdReIWWtqxM/Fb5Cz1nQvUCc7VEtT8IBUAA== - dependencies: - "@docusaurus/logger" "3.1.1" - "@docusaurus/utils" "3.1.1" - joi "^17.9.2" - js-yaml "^4.1.0" - tslib "^2.6.0" - -"@docusaurus/utils-validation@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz" - integrity sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g== - dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - fs-extra "^11.2.0" - joi "^17.9.2" - js-yaml "^4.1.0" - lodash "^4.17.21" - tslib "^2.6.0" - -"@docusaurus/utils@3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.1.1.tgz" - integrity sha512-ZJfJa5cJQtRYtqijsPEnAZoduW6sjAQ7ZCWSZavLcV10Fw0Z3gSaPKA/B4micvj2afRZ4gZxT7KfYqe5H8Cetg== - dependencies: - "@docusaurus/logger" "3.1.1" - "@svgr/webpack" "^6.5.1" - escape-string-regexp "^4.0.0" - file-loader "^6.2.0" - fs-extra "^11.1.1" - github-slugger "^1.5.0" - globby "^11.1.0" - gray-matter "^4.0.3" - jiti "^1.20.0" - js-yaml "^4.1.0" - lodash "^4.17.21" - micromatch "^4.0.5" - resolve-pathname "^3.0.0" - shelljs "^0.8.5" - tslib "^2.6.0" - url-loader "^4.1.1" - webpack "^5.88.1" - -"@docusaurus/utils@3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz" - integrity sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g== - dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@svgr/webpack" "^8.1.0" - escape-string-regexp "^4.0.0" - file-loader "^6.2.0" - fs-extra "^11.1.1" - github-slugger "^1.5.0" - globby "^11.1.0" - gray-matter "^4.0.3" - jiti "^1.20.0" - js-yaml "^4.1.0" - lodash "^4.17.21" - micromatch "^4.0.5" - prompts "^2.4.2" - resolve-pathname "^3.0.0" - shelljs "^0.8.5" - tslib "^2.6.0" - url-loader "^4.1.1" - utility-types "^3.10.0" - webpack "^5.88.1" - -"@gracefullight/docusaurus-plugin-vercel-analytics@^1.0.0": - version "1.0.1" - resolved "https://registry.npmjs.org/@gracefullight/docusaurus-plugin-vercel-analytics/-/docusaurus-plugin-vercel-analytics-1.0.1.tgz" - integrity sha512-6Xj63GIBadwLhoDVNpRXlEs3ieTetd8ZcNGKIJ8ADT0IjZIvcIW6CZFY5RgGtxuJ4PxFXVU2DDV14M2uXXTvGQ== - dependencies: - "@docusaurus/utils-validation" "^3" - -"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": - version "9.3.0" - resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" - integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== - -"@hapi/topo@^5.1.0": - version "5.1.0" - resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" - integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@leichtgewicht/ip-codec@^2.0.1": - version "2.0.4" - resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" - integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== - -"@mdx-js/mdx@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz" - integrity sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA== - dependencies: - "@types/estree" "^1.0.0" - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/mdx" "^2.0.0" - collapse-white-space "^2.0.0" - devlop "^1.0.0" - estree-util-build-jsx "^3.0.0" - estree-util-is-identifier-name "^3.0.0" - estree-util-to-js "^2.0.0" - estree-walker "^3.0.0" - hast-util-to-estree "^3.0.0" - hast-util-to-jsx-runtime "^2.0.0" - markdown-extensions "^2.0.0" - periscopic "^3.0.0" - remark-mdx "^3.0.0" - remark-parse "^11.0.0" - remark-rehype "^11.0.0" - source-map "^0.7.0" - unified "^11.0.0" - unist-util-position-from-estree "^2.0.0" - unist-util-stringify-position "^4.0.0" - unist-util-visit "^5.0.0" - vfile "^6.0.0" - -"@mdx-js/react@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz" - integrity sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A== - dependencies: - "@types/mdx" "^2.0.0" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@pnpm/config.env-replace@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz" - integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== - -"@pnpm/network.ca-file@^1.0.1": - version "1.0.2" - resolved "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz" - integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== - dependencies: - graceful-fs "4.2.10" - -"@pnpm/npm-conf@^2.1.0": - version "2.2.2" - resolved "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz" - integrity sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA== - dependencies: - "@pnpm/config.env-replace" "^1.1.0" - "@pnpm/network.ca-file" "^1.0.1" - config-chain "^1.1.11" - -"@polka/url@^1.0.0-next.24": - version "1.0.0-next.24" - resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz" - integrity sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ== - -"@sideway/address@^4.1.5": - version "4.1.5" - resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz" - integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@sideway/formula@^3.0.1": - version "3.0.1" - resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" - integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== - -"@sideway/pinpoint@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" - integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sindresorhus/is@^4.6.0": - version "4.6.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== - -"@sindresorhus/is@^5.2.0": - version "5.6.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz" - integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== - -"@slorber/remark-comment@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz" - integrity sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.1.0" - micromark-util-symbol "^1.0.1" - -"@svgr/babel-plugin-add-jsx-attribute@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz" - integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== - -"@svgr/babel-plugin-add-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz" - integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== - -"@svgr/babel-plugin-remove-jsx-attribute@*", "@svgr/babel-plugin-remove-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz" - integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== - -"@svgr/babel-plugin-remove-jsx-empty-expression@*", "@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz" - integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz" - integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== - -"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz" - integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== - -"@svgr/babel-plugin-svg-dynamic-title@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz" - integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== - -"@svgr/babel-plugin-svg-dynamic-title@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz" - integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== - -"@svgr/babel-plugin-svg-em-dimensions@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz" - integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== - -"@svgr/babel-plugin-svg-em-dimensions@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz" - integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== - -"@svgr/babel-plugin-transform-react-native-svg@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz" - integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== - -"@svgr/babel-plugin-transform-react-native-svg@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz" - integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== - -"@svgr/babel-plugin-transform-svg-component@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz" - integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== - -"@svgr/babel-plugin-transform-svg-component@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz" - integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== - -"@svgr/babel-preset@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz" - integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" - "@svgr/babel-plugin-remove-jsx-attribute" "*" - "@svgr/babel-plugin-remove-jsx-empty-expression" "*" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1" - "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1" - "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1" - "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" - "@svgr/babel-plugin-transform-svg-component" "^6.5.1" - -"@svgr/babel-preset@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz" - integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" - "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" - "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" - "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" - "@svgr/babel-plugin-transform-svg-component" "8.0.0" - -"@svgr/core@*", "@svgr/core@^6.0.0", "@svgr/core@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" - integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== - dependencies: - "@babel/core" "^7.19.6" - "@svgr/babel-preset" "^6.5.1" - "@svgr/plugin-jsx" "^6.5.1" - camelcase "^6.2.0" - cosmiconfig "^7.0.1" - -"@svgr/core@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz" - integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - camelcase "^6.2.0" - cosmiconfig "^8.1.3" - snake-case "^3.0.4" - -"@svgr/hast-util-to-babel-ast@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz" - integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== - dependencies: - "@babel/types" "^7.20.0" - entities "^4.4.0" - -"@svgr/hast-util-to-babel-ast@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz" - integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== - dependencies: - "@babel/types" "^7.21.3" - entities "^4.4.0" - -"@svgr/plugin-jsx@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz" - integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== - dependencies: - "@babel/core" "^7.19.6" - "@svgr/babel-preset" "^6.5.1" - "@svgr/hast-util-to-babel-ast" "^6.5.1" - svg-parser "^2.0.4" - -"@svgr/plugin-jsx@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz" - integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - "@svgr/hast-util-to-babel-ast" "8.0.0" - svg-parser "^2.0.4" - -"@svgr/plugin-svgo@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz" - integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== - dependencies: - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - svgo "^2.8.0" - -"@svgr/plugin-svgo@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz" - integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== - dependencies: - cosmiconfig "^8.1.3" - deepmerge "^4.3.1" - svgo "^3.0.2" - -"@svgr/webpack@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz" - integrity sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA== - dependencies: - "@babel/core" "^7.19.6" - "@babel/plugin-transform-react-constant-elements" "^7.18.12" - "@babel/preset-env" "^7.19.4" - "@babel/preset-react" "^7.18.6" - "@babel/preset-typescript" "^7.18.6" - "@svgr/core" "^6.5.1" - "@svgr/plugin-jsx" "^6.5.1" - "@svgr/plugin-svgo" "^6.5.1" - -"@svgr/webpack@^8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz" - integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== - dependencies: - "@babel/core" "^7.21.3" - "@babel/plugin-transform-react-constant-elements" "^7.21.3" - "@babel/preset-env" "^7.20.2" - "@babel/preset-react" "^7.18.6" - "@babel/preset-typescript" "^7.21.0" - "@svgr/core" "8.1.0" - "@svgr/plugin-jsx" "8.1.0" - "@svgr/plugin-svgo" "8.1.0" - -"@szmarczak/http-timer@^5.0.1": - version "5.0.1" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz" - integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== - dependencies: - defer-to-connect "^2.0.1" - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@types/acorn@^4.0.0": - version "4.0.6" - resolved "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz" - integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== - dependencies: - "@types/estree" "*" - -"@types/body-parser@*": - version "1.19.5" - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz" - integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/bonjour@^3.5.9": - version "3.5.13" - resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz" - integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== - dependencies: - "@types/node" "*" - -"@types/connect-history-api-fallback@^1.3.5": - version "1.5.4" - resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz" - integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== - dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" - -"@types/connect@*": - version "3.4.38" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz" - integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== - dependencies: - "@types/node" "*" - -"@types/debug@^4.0.0": - version "4.1.12" - resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz" - integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== - dependencies: - "@types/ms" "*" - -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.56.2" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz" - integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree-jsx@^1.0.0": - version "1.0.4" - resolved "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.4.tgz" - integrity sha512-5idy3hvI9lAMqsyilBM+N+boaCf1MgoefbDxN6KEO5aK17TOHwFAYT9sjxzeKAiIWRUBgLxmZ9mPcnzZXtTcRQ== - dependencies: - "@types/estree" "*" - -"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - version "4.17.43" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz" - integrity sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/send" "*" - -"@types/express@*", "@types/express@^4.17.13": - version "4.17.21" - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/gtag.js@^0.0.12": - version "0.0.12" - resolved "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz" - integrity sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg== - -"@types/hast@^3.0.0", "@types/hast@^3.0.1": - version "3.0.4" - resolved "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz" - integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== - dependencies: - "@types/unist" "*" - -"@types/history@^4.7.11": - version "4.7.11" - resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" - integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== - -"@types/html-minifier-terser@^6.0.0": - version "6.1.0" - resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" - integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== - -"@types/http-cache-semantics@^4.0.2": - version "4.0.4" - resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz" - integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== - -"@types/http-errors@*": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz" - integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== - -"@types/http-proxy@^1.17.8": - version "1.17.14" - resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz" - integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.6" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/katex@^0.16.0": - version "0.16.7" - resolved "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz" - integrity sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ== - -"@types/mdast@^4.0.0", "@types/mdast@^4.0.1", "@types/mdast@^4.0.2": - version "4.0.3" - resolved "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz" - integrity sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg== - dependencies: - "@types/unist" "*" - -"@types/mdx@^2.0.0": - version "2.0.11" - resolved "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz" - integrity sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw== - -"@types/mime@*": - version "3.0.4" - resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz" - integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== - -"@types/mime@^1": - version "1.3.5" - resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz" - integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== - -"@types/ms@*": - version "0.7.34" - resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz" - integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== - -"@types/node-forge@^1.3.0": - version "1.3.11" - resolved "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz" - integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== - dependencies: - "@types/node" "*" - -"@types/node@*": - version "20.11.20" - resolved "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz" - integrity sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg== - dependencies: - undici-types "~5.26.4" - -"@types/node@^17.0.5": - version "17.0.45" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" - integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== - -"@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - -"@types/prismjs@^1.26.0": - version "1.26.3" - resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.3.tgz" - integrity sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw== - -"@types/prop-types@*": - version "15.7.11" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== - -"@types/qs@*": - version "6.9.11" - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz" - integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ== - -"@types/range-parser@*": - version "1.2.7" - resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz" - integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== - -"@types/react-router-config@*", "@types/react-router-config@^5.0.7": - version "5.0.11" - resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz" - integrity sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router" "^5.1.0" - -"@types/react-router-dom@*": - version "5.3.3" - resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" - integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router" "*" - -"@types/react-router@*", "@types/react-router@^5.1.0": - version "5.1.20" - resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz" - integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - -"@types/react@*", "@types/react@>= 16.8.0 < 19.0.0", "@types/react@>=16": - version "18.2.57" - resolved "https://registry.npmjs.org/@types/react/-/react-18.2.57.tgz" - integrity sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== - -"@types/sax@^1.2.1": - version "1.2.7" - resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz" - integrity sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A== - dependencies: - "@types/node" "*" - -"@types/scheduler@*": - version "0.16.8" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== - -"@types/send@*": - version "0.17.4" - resolved "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz" - integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/serve-index@^1.9.1": - version "1.9.4" - resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz" - integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== - dependencies: - "@types/express" "*" - -"@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.5" - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz" - integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== - dependencies: - "@types/http-errors" "*" - "@types/mime" "*" - "@types/node" "*" - -"@types/sockjs@^0.3.33": - version "0.3.36" - resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz" - integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== - dependencies: - "@types/node" "*" - -"@types/unist@*", "@types/unist@^3.0.0": - version "3.0.2" - resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz" - integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== - -"@types/unist@^2.0.0": - version "2.0.10" - resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz" - integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== - -"@types/ws@^8.5.5": - version "8.5.10" - resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz" - integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== - dependencies: - "@types/yargs-parser" "*" - -"@ungap/structured-clone@^1.0.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@vercel/analytics@^1.1.2": - version "1.2.2" - resolved "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.2.2.tgz" - integrity sha512-X0rctVWkQV1e5Y300ehVNqpOfSOufo7ieA5PIdna8yX/U7Vjz0GFsGf4qvAhxV02uQ2CVt7GYcrFfddXXK2Y4A== - dependencies: - server-only "^0.0.1" - -"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - -"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn-jsx@^5.0.0: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.0.0: - version "8.3.2" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: - version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -address@^1.0.1, address@^1.1.2: - version "1.2.2" - resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.12.2, ajv@^6.12.5, ajv@^6.9.1: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -algoliasearch-helper@^3.13.3: - version "3.16.2" - resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.16.2.tgz" - integrity sha512-Yl/Gu5Cq4Z5s/AJ0jR37OPI1H3+z7PHz657ibyaXgMOaWvPlZ3OACN13N+7HCLPUlB0BN+8BtmrG/CqTilowBA== - dependencies: - "@algolia/events" "^4.0.1" - -algoliasearch@^4.18.0, algoliasearch@^4.19.1, "algoliasearch@>= 3.1 < 6", "algoliasearch@>= 4.9.1 < 6": - version "4.22.1" - resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.1.tgz" - integrity sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg== - dependencies: - "@algolia/cache-browser-local-storage" "4.22.1" - "@algolia/cache-common" "4.22.1" - "@algolia/cache-in-memory" "4.22.1" - "@algolia/client-account" "4.22.1" - "@algolia/client-analytics" "4.22.1" - "@algolia/client-common" "4.22.1" - "@algolia/client-personalization" "4.22.1" - "@algolia/client-search" "4.22.1" - "@algolia/logger-common" "4.22.1" - "@algolia/logger-console" "4.22.1" - "@algolia/requester-browser-xhr" "4.22.1" - "@algolia/requester-common" "4.22.1" - "@algolia/requester-node-http" "4.22.1" - "@algolia/transporter" "4.22.1" - -ansi-align@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^5.0.0: - version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -assert@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz" - integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== - dependencies: - call-bind "^1.0.2" - is-nan "^1.3.2" - object-is "^1.1.5" - object.assign "^4.1.4" - util "^0.12.5" - -astring@^1.8.0: - version "1.8.6" - resolved "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz" - integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -autoprefixer@^10.4.14: - version "10.4.17" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz" - integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg== - dependencies: - browserslist "^4.22.2" - caniuse-lite "^1.0.30001578" - fraction.js "^4.3.7" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -autoprefixer@^10.4.19: - version "10.4.19" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz" - integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== - dependencies: - browserslist "^4.23.0" - caniuse-lite "^1.0.30001599" - fraction.js "^4.3.7" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -available-typed-arrays@^1.0.6: - version "1.0.7" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -babel-loader@^9.1.3: - version "9.1.3" - resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz" - integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== - dependencies: - find-cache-dir "^4.0.0" - schema-utils "^4.0.0" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.11" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz" - integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.2" - semver "^6.3.1" - -babel-plugin-polyfill-corejs2@^0.4.8: - version "0.4.8" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz" - integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.5.0" - semver "^6.3.1" - -babel-plugin-polyfill-corejs3@^0.10.4: - version "0.10.4" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz" - integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.1" - core-js-compat "^3.36.1" - -babel-plugin-polyfill-corejs3@^0.9.0: - version "0.9.0" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz" - integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" - core-js-compat "^3.34.0" - -babel-plugin-polyfill-regenerator@^0.5.5: - version "0.5.5" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz" - integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" - -babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.2" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz" - integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" - -bail@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" - integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - -bonjour-service@^1.0.11: - version "1.2.1" - resolved "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz" - integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== - dependencies: - fast-deep-equal "^3.1.3" - multicast-dns "^7.2.5" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -boxen@^6.2.1: - version "6.2.1" - resolved "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz" - integrity sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw== - dependencies: - ansi-align "^3.0.1" - camelcase "^6.2.0" - chalk "^4.1.2" - cli-boxes "^3.0.0" - string-width "^5.0.1" - type-fest "^2.5.0" - widest-line "^4.0.1" - wrap-ansi "^8.0.1" - -boxen@^7.0.0: - version "7.1.1" - resolved "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz" - integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog== - dependencies: - ansi-align "^3.0.1" - camelcase "^7.0.1" - chalk "^5.2.0" - cli-boxes "^3.0.0" - string-width "^5.1.2" - type-fest "^2.13.0" - widest-line "^4.0.1" - wrap-ansi "^8.1.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.22.3, browserslist@^4.23.0, browserslist@^4.24.0, "browserslist@>= 4.21.0": - version "4.24.2" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz" - integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== - dependencies: - caniuse-lite "^1.0.30001669" - electron-to-chromium "^1.5.41" - node-releases "^2.0.18" - update-browserslist-db "^1.1.1" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacheable-lookup@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz" - integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== - -cacheable-request@^10.2.8: - version "10.2.14" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz" - integrity sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== - dependencies: - "@types/http-cache-semantics" "^4.0.2" - get-stream "^6.0.1" - http-cache-semantics "^4.1.1" - keyv "^4.5.3" - mimic-response "^4.0.0" - normalize-url "^8.0.0" - responselike "^3.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6: - version "1.0.7" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -camelcase@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz" - integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001669: - version "1.0.30001687" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz" - integrity sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ== - -ccount@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" - integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^5.0.1, chalk@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -character-entities-html4@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz" - integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== - -character-entities-legacy@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" - integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== - -character-entities@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" - integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== - -character-reference-invalid@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz" - integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== - -cheerio-select@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" - integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== - dependencies: - boolbase "^1.0.0" - css-select "^5.1.0" - css-what "^6.1.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.0.1" - -cheerio@^1.0.0-rc.12: - version "1.0.0-rc.12" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" - integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== - dependencies: - cheerio-select "^2.1.0" - dom-serializer "^2.0.0" - domhandler "^5.0.3" - domutils "^3.0.1" - htmlparser2 "^8.0.1" - parse5 "^7.0.0" - parse5-htmlparser2-tree-adapter "^7.0.0" - -chokidar@^3.4.2, chokidar@^3.5.3: - 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" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -clean-css@^5.2.2, clean-css@^5.3.2, clean-css@~5.3.2: - version "5.3.3" - resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz" - integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== - dependencies: - source-map "~0.6.0" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-boxes@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz" - integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== - -cli-table3@^0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clsx@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== - -clsx@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz" - integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== - -collapse-white-space@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz" - integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colord@^2.9.3: - version "2.9.3" - resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^2.0.10: - version "2.0.20" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -combine-promises@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz" - integrity sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ== - -comma-separated-tokens@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" - integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== - -commander@^10.0.0: - version "10.0.1" - resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" - integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== - -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -common-path-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" - integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -config-chain@^1.1.11: - version "1.1.13" - resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" - integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -configstore@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz" - integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== - dependencies: - dot-prop "^6.0.1" - graceful-fs "^4.2.6" - unique-string "^3.0.0" - write-file-atomic "^3.0.3" - xdg-basedir "^5.0.1" - -connect-history-api-fallback@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" - integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== - -consola@^2.15.3: - version "2.15.3" - resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" - integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== - -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" - integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - -copy-text-to-clipboard@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz" - integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q== - -copy-webpack-plugin@^11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz" - integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== - dependencies: - fast-glob "^3.2.11" - glob-parent "^6.0.1" - globby "^13.1.1" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - -core-js-compat@^3.31.0, core-js-compat@^3.34.0: - version "3.36.0" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz" - integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw== - dependencies: - browserslist "^4.22.3" - -core-js-compat@^3.36.1: - version "3.37.1" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz" - integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== - dependencies: - browserslist "^4.23.0" - -core-js-pure@^3.30.2: - version "3.36.0" - resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.0.tgz" - integrity sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ== - -core-js@^3.31.1: - version "3.36.0" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz" - integrity sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -cosmiconfig@^7.0.1: - version "7.1.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: - version "8.3.6" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" - integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== - dependencies: - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - path-type "^4.0.0" - -cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-random-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz" - integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== - dependencies: - type-fest "^1.0.1" - -css-declaration-sorter@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz" - integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== - -css-loader@^6.8.1: - version "6.10.0" - resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz" - integrity sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.33" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.4" - postcss-modules-scope "^3.1.1" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.5.4" - -css-minimizer-webpack-plugin@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz" - integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - cssnano "^6.0.1" - jest-worker "^29.4.3" - postcss "^8.4.24" - schema-utils "^4.0.1" - serialize-javascript "^6.0.1" - -css-select@^4.1.3: - version "4.3.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" - integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== - dependencies: - boolbase "^1.0.0" - css-what "^6.0.1" - domhandler "^4.3.1" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== - dependencies: - boolbase "^1.0.0" - css-what "^6.1.0" - domhandler "^5.0.2" - domutils "^3.0.1" - nth-check "^2.0.1" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-tree@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz" - integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== - dependencies: - mdn-data "2.0.30" - source-map-js "^1.0.1" - -css-tree@~2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz" - integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== - dependencies: - mdn-data "2.0.28" - source-map-js "^1.0.1" - -css-what@^6.0.1, css-what@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-advanced@^6.1.2: - version "6.1.2" - resolved "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz" - integrity sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ== - dependencies: - autoprefixer "^10.4.19" - browserslist "^4.23.0" - cssnano-preset-default "^6.1.2" - postcss-discard-unused "^6.0.5" - postcss-merge-idents "^6.0.3" - postcss-reduce-idents "^6.0.3" - postcss-zindex "^6.0.2" - -cssnano-preset-default@^6.1.2: - version "6.1.2" - resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz" - integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg== - dependencies: - browserslist "^4.23.0" - css-declaration-sorter "^7.2.0" - cssnano-utils "^4.0.2" - postcss-calc "^9.0.1" - postcss-colormin "^6.1.0" - postcss-convert-values "^6.1.0" - postcss-discard-comments "^6.0.2" - postcss-discard-duplicates "^6.0.3" - postcss-discard-empty "^6.0.3" - postcss-discard-overridden "^6.0.2" - postcss-merge-longhand "^6.0.5" - postcss-merge-rules "^6.1.1" - postcss-minify-font-values "^6.1.0" - postcss-minify-gradients "^6.0.3" - postcss-minify-params "^6.1.0" - postcss-minify-selectors "^6.0.4" - postcss-normalize-charset "^6.0.2" - postcss-normalize-display-values "^6.0.2" - postcss-normalize-positions "^6.0.2" - postcss-normalize-repeat-style "^6.0.2" - postcss-normalize-string "^6.0.2" - postcss-normalize-timing-functions "^6.0.2" - postcss-normalize-unicode "^6.1.0" - postcss-normalize-url "^6.0.2" - postcss-normalize-whitespace "^6.0.2" - postcss-ordered-values "^6.0.2" - postcss-reduce-initial "^6.1.0" - postcss-reduce-transforms "^6.0.2" - postcss-svgo "^6.0.3" - postcss-unique-selectors "^6.0.4" - -cssnano-utils@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz" - integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ== - -cssnano@^6.0.1, cssnano@^6.1.2: - version "6.1.2" - resolved "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz" - integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA== - dependencies: - cssnano-preset-default "^6.1.2" - lilconfig "^3.1.1" - -csso@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -csso@^5.0.5: - version "5.0.5" - resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz" - integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== - dependencies: - css-tree "~2.2.0" - -csstype@^3.0.2: - version "3.1.3" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -debounce@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" - integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== - -debug@^2.6.0: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@4: - 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" - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -decode-named-character-reference@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" - integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== - dependencies: - character-entities "^2.0.0" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deepmerge@^4.2.2, deepmerge@^4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -default-gateway@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" - -defer-to-connect@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-data-property@^1.0.1, define-data-property@^1.1.2: - version "1.1.4" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.3, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -del@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz" - integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -dequal@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -detect-port-alt@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -detect-port@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz" - integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== - dependencies: - address "^1.0.1" - debug "4" - -devlop@^1.0.0, devlop@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz" - integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== - dependencies: - dequal "^2.0.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dns-packet@^5.2.2: - version "5.6.1" - resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz" - integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== - dependencies: - "@leichtgewicht/ip-codec" "^2.0.1" - -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@^1.0.1: - version "1.4.1" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -dom-serializer@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" - integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.2" - entities "^4.2.0" - -domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domhandler@^5.0.2, domhandler@^5.0.3: - version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" - -domutils@^2.5.2: - version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== - dependencies: - dom-serializer "^2.0.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dot-prop@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz" - integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== - dependencies: - is-obj "^2.0.0" - -duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -electron-to-chromium@^1.5.41: - version "1.5.72" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.72.tgz" - integrity sha512-ZpSAUOZ2Izby7qnZluSrAlGgGQzucmFbN0n64dYzocYxnxV5ufurpj3VgEe4cUp7ir9LmeLxNYo8bVnlM8bQHw== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojilib@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz" - integrity sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -emoticon@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz" - integrity sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -enhanced-resolve@^5.15.0: - version "5.15.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -entities@^4.2.0, entities@^4.4.0: - version "4.5.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-module-lexer@^1.2.1: - version "1.4.1" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz" - integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== - -escalade@^3.1.1, escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-goat@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz" - integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg== - -escape-html@^1.0.3, escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escape-string-regexp@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" - integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-util-attach-comments@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz" - integrity sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw== - dependencies: - "@types/estree" "^1.0.0" - -estree-util-build-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz" - integrity sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ== - dependencies: - "@types/estree-jsx" "^1.0.0" - devlop "^1.0.0" - estree-util-is-identifier-name "^3.0.0" - estree-walker "^3.0.0" - -estree-util-is-identifier-name@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz" - integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== - -estree-util-to-js@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz" - integrity sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg== - dependencies: - "@types/estree-jsx" "^1.0.0" - astring "^1.8.0" - source-map "^0.7.0" - -estree-util-value-to-estree@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz" - integrity sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA== - dependencies: - "@types/estree" "^1.0.0" - is-plain-obj "^4.0.0" - -estree-util-visit@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz" - integrity sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/unist" "^3.0.0" - -estree-walker@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" - integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== - dependencies: - "@types/estree" "^1.0.0" - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eta@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz" - integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eval@^0.1.8: - version "0.1.8" - resolved "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz" - integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== - dependencies: - "@types/node" "*" - require-like ">= 0.1.1" - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -express@^4.17.3: - version "4.18.2" - resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.1" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: - version "3.3.2" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-url-parser@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" - integrity sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ== - dependencies: - punycode "^1.3.2" - -fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -fault@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz" - integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== - dependencies: - format "^0.2.0" - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -feed@^4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" - integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== - dependencies: - xml-js "^1.6.11" - -file-loader@*, file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -filesize@^8.0.6: - version "8.0.7" - resolved "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" - integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz" - integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== - dependencies: - common-path-prefix "^3.0.0" - pkg-dir "^7.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz" - integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== - dependencies: - locate-path "^7.1.0" - path-exists "^5.0.0" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -follow-redirects@^1.0.0: - version "1.15.5" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz" - integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -fork-ts-checker-webpack-plugin@^6.5.0: - version "6.5.3" - resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz" - integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== - dependencies: - "@babel/code-frame" "^7.8.3" - "@types/json-schema" "^7.0.5" - chalk "^4.1.0" - chokidar "^3.4.2" - cosmiconfig "^6.0.0" - deepmerge "^4.2.2" - fs-extra "^9.0.0" - glob "^7.1.6" - memfs "^3.1.2" - minimatch "^3.0.4" - schema-utils "2.7.0" - semver "^7.3.2" - tapable "^1.0.0" - -form-data-encoder@^2.1.2: - version "2.1.4" - resolved "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz" - integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== - -format@^0.2.0: - version "0.2.2" - resolved "https://registry.npmjs.org/format/-/format-0.2.2.tgz" - integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fraction.js@^4.3.7: - version "4.3.7" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" - integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-extra@^11.1.1, fs-extra@^11.2.0: - version "11.2.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -get-stream@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -github-slugger@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz" - integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== - dependencies: - ini "2.0.0" - -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^13.1.1: - version "13.2.2" - resolved "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz" - integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== - dependencies: - dir-glob "^3.0.1" - fast-glob "^3.3.0" - ignore "^5.2.4" - merge2 "^1.4.1" - slash "^4.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -got@^12.1.0: - version "12.6.1" - resolved "https://registry.npmjs.org/got/-/got-12.6.1.tgz" - integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== - dependencies: - "@sindresorhus/is" "^5.2.0" - "@szmarczak/http-timer" "^5.0.1" - cacheable-lookup "^7.0.0" - cacheable-request "^10.2.8" - decompress-response "^6.0.0" - form-data-encoder "^2.1.2" - get-stream "^6.0.1" - http2-wrapper "^2.1.10" - lowercase-keys "^3.0.0" - p-cancelable "^3.0.0" - responselike "^3.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graceful-fs@4.2.10: - version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -gray-matter@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" - integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== - dependencies: - js-yaml "^3.13.1" - kind-of "^6.0.2" - section-matter "^1.0.0" - strip-bom-string "^1.0.0" - -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0, has-tostringtag@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -has-yarn@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz" - integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== - -hasown@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz" - integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== - dependencies: - function-bind "^1.1.2" - -hast-util-definition-list@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/hast-util-definition-list/-/hast-util-definition-list-2.0.0.tgz" - integrity sha512-EnkqD6a7R1fwyC9F5R6fu0ucpcwfkxjiga7/G8J7KU+uuUHVENzmgo/Da68fZBy9SZAkQOAC/8gK3m2BnuutUg== - dependencies: - "@types/hast" "^3.0.1" - "@types/mdast" "^4.0.1" - "@types/unist" "^3.0.0" - hast-util-to-mdast "^10.1.0" - mdast-util-definition-list "^2.0.0" - mdast-util-phrasing "^4.0.0" - -hast-util-embedded@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz" - integrity sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA== - dependencies: - "@types/hast" "^3.0.0" - hast-util-is-element "^3.0.0" - -hast-util-from-dom@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.0.tgz" - integrity sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg== - dependencies: - "@types/hast" "^3.0.0" - hastscript "^8.0.0" - web-namespaces "^2.0.0" - -hast-util-from-html-isomorphic@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz" - integrity sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw== - dependencies: - "@types/hast" "^3.0.0" - hast-util-from-dom "^5.0.0" - hast-util-from-html "^2.0.0" - unist-util-remove-position "^5.0.0" - -hast-util-from-html@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz" - integrity sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g== - dependencies: - "@types/hast" "^3.0.0" - devlop "^1.1.0" - hast-util-from-parse5 "^8.0.0" - parse5 "^7.0.0" - vfile "^6.0.0" - vfile-message "^4.0.0" - -hast-util-from-parse5@^8.0.0: - version "8.0.1" - resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz" - integrity sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - devlop "^1.0.0" - hastscript "^8.0.0" - property-information "^6.0.0" - vfile "^6.0.0" - vfile-location "^5.0.0" - web-namespaces "^2.0.0" - -hast-util-has-property@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz" - integrity sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-is-body-ok-link@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.0.tgz" - integrity sha512-VFHY5bo2nY8HiV6nir2ynmEB1XkxzuUffhEGeVx7orbu/B1KaGyeGgMZldvMVx5xWrDlLLG/kQ6YkJAMkBEx0w== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-is-element@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz" - integrity sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-is-element@1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz" - integrity sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ== - -hast-util-parse-selector@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz" - integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-phrasing@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz" - integrity sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ== - dependencies: - "@types/hast" "^3.0.0" - hast-util-embedded "^3.0.0" - hast-util-has-property "^3.0.0" - hast-util-is-body-ok-link "^3.0.0" - hast-util-is-element "^3.0.0" - -hast-util-raw@^9.0.0: - version "9.0.2" - resolved "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.2.tgz" - integrity sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - "@ungap/structured-clone" "^1.0.0" - hast-util-from-parse5 "^8.0.0" - hast-util-to-parse5 "^8.0.0" - html-void-elements "^3.0.0" - mdast-util-to-hast "^13.0.0" - parse5 "^7.0.0" - unist-util-position "^5.0.0" - unist-util-visit "^5.0.0" - vfile "^6.0.0" - web-namespaces "^2.0.0" - zwitch "^2.0.0" - -hast-util-to-estree@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz" - integrity sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw== - dependencies: - "@types/estree" "^1.0.0" - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - comma-separated-tokens "^2.0.0" - devlop "^1.0.0" - estree-util-attach-comments "^3.0.0" - estree-util-is-identifier-name "^3.0.0" - hast-util-whitespace "^3.0.0" - mdast-util-mdx-expression "^2.0.0" - mdast-util-mdx-jsx "^3.0.0" - mdast-util-mdxjs-esm "^2.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - style-to-object "^0.4.0" - unist-util-position "^5.0.0" - zwitch "^2.0.0" - -hast-util-to-html@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz" - integrity sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - ccount "^2.0.0" - comma-separated-tokens "^2.0.0" - hast-util-raw "^9.0.0" - hast-util-whitespace "^3.0.0" - html-void-elements "^3.0.0" - mdast-util-to-hast "^13.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - stringify-entities "^4.0.0" - zwitch "^2.0.4" - -hast-util-to-jsx-runtime@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz" - integrity sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ== - dependencies: - "@types/estree" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - comma-separated-tokens "^2.0.0" - devlop "^1.0.0" - estree-util-is-identifier-name "^3.0.0" - hast-util-whitespace "^3.0.0" - mdast-util-mdx-expression "^2.0.0" - mdast-util-mdx-jsx "^3.0.0" - mdast-util-mdxjs-esm "^2.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - style-to-object "^1.0.0" - unist-util-position "^5.0.0" - vfile-message "^4.0.0" - -hast-util-to-mdast@^10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.0.tgz" - integrity sha512-DsL/SvCK9V7+vfc6SLQ+vKIyBDXTk2KLSbfBYkH4zeF/uR1yBajHRhkzuaUSGOB1WJSTieJBdHwxlC+HLKvZZw== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - "@ungap/structured-clone" "^1.0.0" - hast-util-phrasing "^3.0.0" - hast-util-to-html "^9.0.0" - hast-util-to-text "^4.0.0" - hast-util-whitespace "^3.0.0" - mdast-util-phrasing "^4.0.0" - mdast-util-to-hast "^13.0.0" - mdast-util-to-string "^4.0.0" - rehype-minify-whitespace "^6.0.0" - trim-trailing-lines "^2.0.0" - unist-util-position "^5.0.0" - unist-util-visit "^5.0.0" - -hast-util-to-parse5@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz" - integrity sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw== - dependencies: - "@types/hast" "^3.0.0" - comma-separated-tokens "^2.0.0" - devlop "^1.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - web-namespaces "^2.0.0" - zwitch "^2.0.0" - -hast-util-to-text@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.0.tgz" - integrity sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - hast-util-is-element "^3.0.0" - unist-util-find-after "^5.0.0" - -hast-util-whitespace@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" - integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== - dependencies: - "@types/hast" "^3.0.0" - -hastscript@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz" - integrity sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw== - dependencies: - "@types/hast" "^3.0.0" - comma-separated-tokens "^2.0.0" - hast-util-parse-selector "^4.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -history@^4.9.0: - version "4.10.1" - resolved "https://registry.npmjs.org/history/-/history-4.10.1.tgz" - integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== - dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^3.0.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^1.0.1" - -hoist-non-react-statics@^3.1.0: - version "3.3.2" - resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-entities@^2.3.2: - version "2.4.0" - resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz" - integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== - -html-escaper@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-minifier-terser@^6.0.2: - version "6.1.0" - resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" - integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== - dependencies: - camel-case "^4.1.2" - clean-css "^5.2.2" - commander "^8.3.0" - he "^1.2.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.10.0" - -html-minifier-terser@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz" - integrity sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA== - dependencies: - camel-case "^4.1.2" - clean-css "~5.3.2" - commander "^10.0.0" - entities "^4.4.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.15.1" - -html-tags@^3.3.1: - version "3.3.1" - resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" - integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== - -html-void-elements@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz" - integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== - -html-webpack-plugin@^5.5.3: - version "5.6.0" - resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz" - integrity sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw== - dependencies: - "@types/html-minifier-terser" "^6.0.0" - html-minifier-terser "^6.0.2" - lodash "^4.17.21" - pretty-error "^4.0.0" - tapable "^2.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -htmlparser2@^8.0.1: - version "8.0.2" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz" - integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.0.1" - entities "^4.4.0" - -http-cache-semantics@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http2-wrapper@^2.1.10: - version "2.2.1" - resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz" - integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.2.0" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -ignore@^5.2.0, ignore@^5.2.4: - version "5.3.1" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -image-size@^1.0.2: - version "1.1.1" - resolved "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz" - integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ== - dependencies: - queue "6.0.2" - -immer@^9.0.7: - version "9.0.21" - resolved "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz" - integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== - -import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-lazy@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz" - integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -infima@0.2.0-alpha.43: - version "0.2.0-alpha.43" - resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz" - integrity sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@2, inherits@2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -inline-style-parser@0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" - integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== - -inline-style-parser@0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz" - integrity sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ== - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-alphabetical@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" - integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== - -is-alphanumerical@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz" - integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== - dependencies: - is-alphabetical "^2.0.0" - is-decimal "^2.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-callable@^1.1.3: - version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-ci@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-decimal@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz" - integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-hexadecimal@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz" - integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== - -is-installed-globally@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-nan@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -is-npm@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz" - integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-plain-obj@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" - integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - -is-reference@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz" - integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== - dependencies: - "@types/estree" "*" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" - integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== - -is-root@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-typed-array@^1.1.3: - version "1.1.13" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== - dependencies: - which-typed-array "^1.1.14" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -is-yarn-global@^0.4.0: - version "0.4.1" - resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz" - integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^29.4.3: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jiti@^1.20.0: - version "1.21.0" - resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== - -joi@^17.9.2: - version "17.12.2" - resolved "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz" - integrity sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw== - dependencies: - "@hapi/hoek" "^9.3.0" - "@hapi/topo" "^5.1.0" - "@sideway/address" "^4.1.5" - "@sideway/formula" "^3.0.1" - "@sideway/pinpoint" "^2.0.0" - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz" - integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json5@^2.1.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -katex@^0.16.0: - version "0.16.9" - resolved "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz" - integrity sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ== - dependencies: - commander "^8.3.0" - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -latest-version@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz" - integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== - dependencies: - package-json "^8.1.0" - -launch-editor@^2.6.0: - version "2.6.1" - resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz" - integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== - dependencies: - picocolors "^1.0.0" - shell-quote "^1.8.1" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -lilconfig@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz" - integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -loader-utils@^3.2.0: - version "3.2.1" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" - integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -locate-path@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz" - integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== - dependencies: - p-locate "^6.0.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash@^4.17.20, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -longest-streak@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" - integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowercase-keys@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz" - integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -markdown-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz" - integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q== - -markdown-table@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz" - integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== - -mdast-util-definition-list@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-definition-list/-/mdast-util-definition-list-2.0.0.tgz" - integrity sha512-aFWuASQs77BJndNSDcNdvB1HRqWZBptcEjwv67mnPbaAZsfwMHxI8MwoQxAz4I2bHx41hft/HDRC57ZkhpayOQ== - dependencies: - "@types/mdast" "^4.0.1" - "@types/unist" "^3.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-hast "^13.0.2" - mdast-util-to-markdown "^2.1.0" - micromark-extension-definition-list "^2.0.0" - unist-builder "^4.0.0" - -mdast-util-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz" - integrity sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q== - dependencies: - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - parse-entities "^4.0.0" - stringify-entities "^4.0.0" - unist-util-visit-parents "^6.0.0" - -mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz" - integrity sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA== - dependencies: - "@types/mdast" "^4.0.0" - escape-string-regexp "^5.0.0" - unist-util-is "^6.0.0" - unist-util-visit-parents "^6.0.0" - -mdast-util-from-markdown@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz" - integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== - dependencies: - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - decode-named-character-reference "^1.0.0" - devlop "^1.0.0" - mdast-util-to-string "^4.0.0" - micromark "^4.0.0" - micromark-util-decode-numeric-character-reference "^2.0.0" - micromark-util-decode-string "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - unist-util-stringify-position "^4.0.0" - -mdast-util-frontmatter@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz" - integrity sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - escape-string-regexp "^5.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - micromark-extension-frontmatter "^2.0.0" - -mdast-util-gfm-autolink-literal@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz" - integrity sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg== - dependencies: - "@types/mdast" "^4.0.0" - ccount "^2.0.0" - devlop "^1.0.0" - mdast-util-find-and-replace "^3.0.0" - micromark-util-character "^2.0.0" - -mdast-util-gfm-footnote@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz" - integrity sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.1.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - -mdast-util-gfm-strikethrough@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz" - integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-gfm-table@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz" - integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - markdown-table "^3.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-gfm-task-list-item@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz" - integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-gfm@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz" - integrity sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw== - dependencies: - mdast-util-from-markdown "^2.0.0" - mdast-util-gfm-autolink-literal "^2.0.0" - mdast-util-gfm-footnote "^2.0.0" - mdast-util-gfm-strikethrough "^2.0.0" - mdast-util-gfm-table "^2.0.0" - mdast-util-gfm-task-list-item "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-math@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz" - integrity sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - longest-streak "^3.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.1.0" - unist-util-remove-position "^5.0.0" - -mdast-util-mdx-expression@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz" - integrity sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-mdx-jsx@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.0.tgz" - integrity sha512-A8AJHlR7/wPQ3+Jre1+1rq040fX9A4Q1jG8JxmSNp/PLPHg80A6475wxTp3KzHpApFH6yWxFotHrJQA3dXP6/w== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - ccount "^2.0.0" - devlop "^1.1.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - parse-entities "^4.0.0" - stringify-entities "^4.0.0" - unist-util-remove-position "^5.0.0" - unist-util-stringify-position "^4.0.0" - vfile-message "^4.0.0" - -mdast-util-mdx@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz" - integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== - dependencies: - mdast-util-from-markdown "^2.0.0" - mdast-util-mdx-expression "^2.0.0" - mdast-util-mdx-jsx "^3.0.0" - mdast-util-mdxjs-esm "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-mdxjs-esm@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz" - integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-phrasing@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz" - integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== - dependencies: - "@types/mdast" "^4.0.0" - unist-util-is "^6.0.0" - -mdast-util-to-hast@^13.0.0, mdast-util-to-hast@^13.0.2: - version "13.1.0" - resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz" - integrity sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - "@ungap/structured-clone" "^1.0.0" - devlop "^1.0.0" - micromark-util-sanitize-uri "^2.0.0" - trim-lines "^3.0.0" - unist-util-position "^5.0.0" - unist-util-visit "^5.0.0" - vfile "^6.0.0" - -mdast-util-to-markdown@^2.0.0, mdast-util-to-markdown@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz" - integrity sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ== - dependencies: - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - longest-streak "^3.0.0" - mdast-util-phrasing "^4.0.0" - mdast-util-to-string "^4.0.0" - micromark-util-decode-string "^2.0.0" - unist-util-visit "^5.0.0" - zwitch "^2.0.0" - -mdast-util-to-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" - integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== - dependencies: - "@types/mdast" "^4.0.0" - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -mdn-data@2.0.28: - version "2.0.28" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" - integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== - -mdn-data@2.0.30: - version "2.0.30" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz" - integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memfs@^3.1.2, memfs@^3.4.3: - version "3.6.0" - resolved "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz" - integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== - dependencies: - fs-monkey "^1.0.4" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromark-core-commonmark@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz" - integrity sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA== - dependencies: - decode-named-character-reference "^1.0.0" - devlop "^1.0.0" - micromark-factory-destination "^2.0.0" - micromark-factory-label "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-factory-title "^2.0.0" - micromark-factory-whitespace "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-classify-character "^2.0.0" - micromark-util-html-tag-name "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-resolve-all "^2.0.0" - micromark-util-subtokenize "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-definition-list@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-definition-list/-/micromark-extension-definition-list-2.0.0.tgz" - integrity sha512-92SSfTdG7YIXiYj60sNDPoo3MTJXK94LRLfKsoDHgDqiE61p4w4pzdyCc9SuoQ74/bzb5SXPVK11kjlYnIjzKA== - dependencies: - assert "^2.0.0" - micromark-core-commonmark "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.1" - micromark-util-chunked "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - ts-dedent "^2.2.0" - -micromark-extension-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz" - integrity sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg== - dependencies: - devlop "^1.0.0" - micromark-factory-space "^2.0.0" - micromark-factory-whitespace "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - parse-entities "^4.0.0" - -micromark-extension-frontmatter@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz" - integrity sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg== - dependencies: - fault "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-autolink-literal@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz" - integrity sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-footnote@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz" - integrity sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg== - dependencies: - devlop "^1.0.0" - micromark-core-commonmark "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-strikethrough@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz" - integrity sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw== - dependencies: - devlop "^1.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-classify-character "^2.0.0" - micromark-util-resolve-all "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-table@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz" - integrity sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw== - dependencies: - devlop "^1.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-tagfilter@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz" - integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== - dependencies: - micromark-util-types "^2.0.0" - -micromark-extension-gfm-task-list-item@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz" - integrity sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw== - dependencies: - devlop "^1.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz" - integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== - dependencies: - micromark-extension-gfm-autolink-literal "^2.0.0" - micromark-extension-gfm-footnote "^2.0.0" - micromark-extension-gfm-strikethrough "^2.0.0" - micromark-extension-gfm-table "^2.0.0" - micromark-extension-gfm-tagfilter "^2.0.0" - micromark-extension-gfm-task-list-item "^2.0.0" - micromark-util-combine-extensions "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-math@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz" - integrity sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg== - dependencies: - "@types/katex" "^0.16.0" - devlop "^1.0.0" - katex "^0.16.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-mdx-expression@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz" - integrity sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ== - dependencies: - "@types/estree" "^1.0.0" - devlop "^1.0.0" - micromark-factory-mdx-expression "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-events-to-acorn "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-mdx-jsx@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz" - integrity sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w== - dependencies: - "@types/acorn" "^4.0.0" - "@types/estree" "^1.0.0" - devlop "^1.0.0" - estree-util-is-identifier-name "^3.0.0" - micromark-factory-mdx-expression "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - vfile-message "^4.0.0" - -micromark-extension-mdx-md@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz" - integrity sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ== - dependencies: - micromark-util-types "^2.0.0" - -micromark-extension-mdxjs-esm@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz" - integrity sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A== - dependencies: - "@types/estree" "^1.0.0" - devlop "^1.0.0" - micromark-core-commonmark "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-events-to-acorn "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - unist-util-position-from-estree "^2.0.0" - vfile-message "^4.0.0" - -micromark-extension-mdxjs@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz" - integrity sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ== - dependencies: - acorn "^8.0.0" - acorn-jsx "^5.0.0" - micromark-extension-mdx-expression "^3.0.0" - micromark-extension-mdx-jsx "^3.0.0" - micromark-extension-mdx-md "^2.0.0" - micromark-extension-mdxjs-esm "^3.0.0" - micromark-util-combine-extensions "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-destination@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz" - integrity sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-label@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz" - integrity sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw== - dependencies: - devlop "^1.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-mdx-expression@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz" - integrity sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg== - dependencies: - "@types/estree" "^1.0.0" - devlop "^1.0.0" - micromark-util-character "^2.0.0" - micromark-util-events-to-acorn "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - unist-util-position-from-estree "^2.0.0" - vfile-message "^4.0.0" - -micromark-factory-space@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz" - integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-space@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz" - integrity sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-title@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz" - integrity sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A== - dependencies: - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-whitespace@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz" - integrity sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA== - dependencies: - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-character@^1.0.0, micromark-util-character@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz" - integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-character@^2.0.0, micromark-util-character@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz" - integrity sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ== - dependencies: - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-chunked@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz" - integrity sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg== - dependencies: - micromark-util-symbol "^2.0.0" - -micromark-util-classify-character@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz" - integrity sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-combine-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz" - integrity sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ== - dependencies: - micromark-util-chunked "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-decode-numeric-character-reference@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz" - integrity sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ== - dependencies: - micromark-util-symbol "^2.0.0" - -micromark-util-decode-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz" - integrity sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-util-character "^2.0.0" - micromark-util-decode-numeric-character-reference "^2.0.0" - micromark-util-symbol "^2.0.0" - -micromark-util-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz" - integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== - -micromark-util-events-to-acorn@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz" - integrity sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA== - dependencies: - "@types/acorn" "^4.0.0" - "@types/estree" "^1.0.0" - "@types/unist" "^3.0.0" - devlop "^1.0.0" - estree-util-visit "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - vfile-message "^4.0.0" - -micromark-util-html-tag-name@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz" - integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== - -micromark-util-normalize-identifier@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz" - integrity sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w== - dependencies: - micromark-util-symbol "^2.0.0" - -micromark-util-resolve-all@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz" - integrity sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA== - dependencies: - micromark-util-types "^2.0.0" - -micromark-util-sanitize-uri@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz" - integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-encode "^2.0.0" - micromark-util-symbol "^2.0.0" - -micromark-util-subtokenize@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz" - integrity sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg== - dependencies: - devlop "^1.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-symbol@^1.0.0, micromark-util-symbol@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz" - integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== - -micromark-util-symbol@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz" - integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== - -micromark-util-types@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz" - integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== - -micromark-util-types@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz" - integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== - -micromark@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz" - integrity sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ== - dependencies: - "@types/debug" "^4.0.0" - debug "^4.0.0" - decode-named-character-reference "^1.0.0" - devlop "^1.0.0" - micromark-core-commonmark "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-combine-extensions "^2.0.0" - micromark-util-decode-numeric-character-reference "^2.0.0" - micromark-util-encode "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-resolve-all "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" - micromark-util-subtokenize "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" - integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== - -mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime-types@2.1.18: - version "2.1.18" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" - integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== - dependencies: - mime-db "~1.33.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -mimic-response@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz" - integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== - -mini-css-extract-plugin@^2.7.6: - version "2.8.0" - resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.0.tgz" - integrity sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg== - dependencies: - schema-utils "^4.0.0" - tapable "^2.2.1" - -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0: - version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mrmime@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz" - integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns@^7.2.5: - version "7.2.5" - resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" - integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== - dependencies: - dns-packet "^5.2.2" - thunky "^1.0.2" - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-emoji@^2.1.0: - version "2.1.3" - resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz" - integrity sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA== - dependencies: - "@sindresorhus/is" "^4.6.0" - char-regex "^1.0.2" - emojilib "^2.4.0" - skin-tone "^2.0.0" - -node-forge@^1: - version "1.3.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-releases@^2.0.18: - version "2.0.19" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz" - integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -normalize-url@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz" - integrity sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nprogress@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" - integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.0, object.assign@^4.1.4: - version "4.1.5" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^8.0.9, open@^8.4.0: - version "8.4.2" - resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -opener@^1.5.2: - version "1.5.2" - resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -p-cancelable@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz" - integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== - -p-limit@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-limit@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz" - integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== - dependencies: - yocto-queue "^1.0.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-locate@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz" - integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== - dependencies: - p-limit "^4.0.0" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== - dependencies: - "@types/retry" "0.12.0" - retry "^0.13.1" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-json@^8.1.0: - version "8.1.1" - resolved "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz" - integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA== - dependencies: - got "^12.1.0" - registry-auth-token "^5.0.1" - registry-url "^6.0.0" - semver "^7.3.7" - -param-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-entities@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz" - integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== - dependencies: - "@types/unist" "^2.0.0" - character-entities "^2.0.0" - character-entities-legacy "^3.0.0" - character-reference-invalid "^2.0.0" - decode-named-character-reference "^1.0.0" - is-alphanumerical "^2.0.0" - is-decimal "^2.0.0" - is-hexadecimal "^2.0.0" - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse-numeric-range@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" - integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== - -parse5-htmlparser2-tree-adapter@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" - integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== - dependencies: - domhandler "^5.0.2" - parse5 "^7.0.0" - -parse5@^7.0.0: - version "7.1.2" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== - dependencies: - entities "^4.4.0" - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-exists@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz" - integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-is-inside@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" - integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-to-regexp@2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" - integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -periscopic@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz" - integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^3.0.0" - is-reference "^3.0.0" - -picocolors@^1.0.0, picocolors@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pkg-dir@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz" - integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== - dependencies: - find-up "^6.3.0" - -pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - -possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== - -postcss-calc@^9.0.1: - version "9.0.1" - resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz" - integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== - dependencies: - postcss-selector-parser "^6.0.11" - postcss-value-parser "^4.2.0" - -postcss-colormin@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz" - integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw== - dependencies: - browserslist "^4.23.0" - caniuse-api "^3.0.0" - colord "^2.9.3" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz" - integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w== - dependencies: - browserslist "^4.23.0" - postcss-value-parser "^4.2.0" - -postcss-discard-comments@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz" - integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw== - -postcss-discard-duplicates@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz" - integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw== - -postcss-discard-empty@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz" - integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ== - -postcss-discard-overridden@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz" - integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== - -postcss-discard-unused@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz" - integrity sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA== - dependencies: - postcss-selector-parser "^6.0.16" - -postcss-loader@^7.3.3: - version "7.3.4" - resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz" - integrity sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A== - dependencies: - cosmiconfig "^8.3.5" - jiti "^1.20.0" - semver "^7.5.4" - -postcss-merge-idents@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz" - integrity sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g== - dependencies: - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-merge-longhand@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz" - integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^6.1.1" - -postcss-merge-rules@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz" - integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ== - dependencies: - browserslist "^4.23.0" - caniuse-api "^3.0.0" - cssnano-utils "^4.0.2" - postcss-selector-parser "^6.0.16" - -postcss-minify-font-values@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz" - integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz" - integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q== - dependencies: - colord "^2.9.3" - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz" - integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA== - dependencies: - browserslist "^4.23.0" - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^6.0.4: - version "6.0.4" - resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz" - integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ== - dependencies: - postcss-selector-parser "^6.0.16" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz" - integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz" - integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-normalize-charset@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz" - integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ== - -postcss-normalize-display-values@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz" - integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz" - integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz" - integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz" - integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz" - integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz" - integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg== - dependencies: - browserslist "^4.23.0" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz" - integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz" - integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-ordered-values@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz" - integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q== - dependencies: - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-reduce-idents@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz" - integrity sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-reduce-initial@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz" - integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw== - dependencies: - browserslist "^4.23.0" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz" - integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz" - integrity sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-selector-parser@^6.0.2: - version "6.0.15" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz" - integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-selector-parser@^6.0.4: - version "6.0.15" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz" - integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-sort-media-queries@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz" - integrity sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA== - dependencies: - sort-css-media-queries "2.2.0" - -postcss-svgo@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz" - integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^3.2.0" - -postcss-unique-selectors@^6.0.4: - version "6.0.4" - resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz" - integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg== - dependencies: - postcss-selector-parser "^6.0.16" - -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss-zindex@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz" - integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== - -"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.2, postcss@^8.4.21, postcss@^8.4.26, postcss@^8.4.31, postcss@^8.4.33: - version "8.4.35" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz" - integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.23, postcss@^8.4.38: - version "8.4.38" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.2.0" - -postcss@^8.4.24: - version "8.4.38" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.2.0" - -pretty-error@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" - integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== - dependencies: - lodash "^4.17.20" - renderkid "^3.0.0" - -pretty-time@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" - integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== - -prism-react-renderer@^2.1.0, prism-react-renderer@^2.3.0: - version "2.3.1" - resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz" - integrity sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw== - dependencies: - "@types/prismjs" "^1.26.0" - clsx "^2.0.0" - -prismjs@^1.29.0: - version "1.29.0" - resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" - integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -prompts@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.6.2, prop-types@^15.7.2: - version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -property-information@^6.0.0: - version "6.4.1" - resolved "https://registry.npmjs.org/property-information/-/property-information-6.4.1.tgz" - integrity sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w== - -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" - integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -punycode@^1.3.2: - version "1.4.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0, punycode@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pupa@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz" - integrity sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug== - dependencies: - escape-goat "^4.0.0" - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -queue@6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz" - integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== - dependencies: - inherits "~2.0.3" - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -range-parser@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" - integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== - -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc@1.2.8: - version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-dev-utils@^12.0.1: - version "12.0.1" - resolved "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" - integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== - dependencies: - "@babel/code-frame" "^7.16.0" - address "^1.1.2" - browserslist "^4.18.1" - chalk "^4.1.2" - cross-spawn "^7.0.3" - detect-port-alt "^1.1.6" - escape-string-regexp "^4.0.0" - filesize "^8.0.6" - find-up "^5.0.0" - fork-ts-checker-webpack-plugin "^6.5.0" - global-modules "^2.0.0" - globby "^11.0.4" - gzip-size "^6.0.0" - immer "^9.0.7" - is-root "^2.1.0" - loader-utils "^3.2.0" - open "^8.4.0" - pkg-up "^3.1.0" - prompts "^2.4.2" - react-error-overlay "^6.0.11" - recursive-readdir "^2.2.2" - shell-quote "^1.7.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -react-dom@*, "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0", react-dom@^18.0.0, react-dom@^18.2.0, "react-dom@>= 16.8.0 < 19.0.0": - version "18.2.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-error-overlay@^6.0.11: - version "6.0.11" - resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" - integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== - -react-fast-compare@^3.2.0, react-fast-compare@^3.2.2: - version "3.2.2" - resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz" - integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== - -react-helmet-async@*: - version "2.0.4" - resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz" - integrity sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ== - dependencies: - invariant "^2.2.4" - react-fast-compare "^3.2.2" - shallowequal "^1.1.0" - -react-helmet-async@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz" - integrity sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg== - dependencies: - "@babel/runtime" "^7.12.5" - invariant "^2.2.4" - prop-types "^15.7.2" - react-fast-compare "^3.2.0" - shallowequal "^1.1.0" - -react-icons@^4.12.0: - version "4.12.0" - resolved "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz" - integrity sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw== - -react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-json-view-lite@^1.2.0: - version "1.2.1" - resolved "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.2.1.tgz" - integrity sha512-Itc0g86fytOmKZoIoJyGgvNqohWSbh3NXIKNgH6W6FT9PC1ck4xas1tT3Rr/b3UlFXyA9Jjaw9QSXdZy2JwGMQ== - -react-loadable-ssr-addon-v5-slorber@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz" - integrity sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A== - dependencies: - "@babel/runtime" "^7.10.3" - -react-loadable@*, "react-loadable@npm:@docusaurus/react-loadable@6.0.0": - version "6.0.0" - resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz" - integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== - dependencies: - "@types/react" "*" - -react-router-config@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz" - integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg== - dependencies: - "@babel/runtime" "^7.1.2" - -react-router-dom@^5.3.4: - version "5.3.4" - resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz" - integrity sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.3.4" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-router@^5.3.4, react-router@>=5, react-router@5.3.4: - version "5.3.4" - resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" - integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react@*, "react@^16.13.1 || ^17.0.0 || ^18.0.0", "react@^16.6.0 || ^17.0.0 || ^18.0.0", "react@^18 || ^19", react@^18.0.0, react@^18.2.0, "react@>= 16.8.0 < 19.0.0", react@>=15, react@>=16, react@>=16.0.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -readable-stream@^2.0.1: - version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -reading-time@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" - integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -recursive-readdir@^2.2.2: - version "2.2.3" - resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" - integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== - dependencies: - minimatch "^3.0.5" - -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -registry-auth-token@^5.0.1: - version "5.0.2" - resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz" - integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== - dependencies: - "@pnpm/npm-conf" "^2.1.0" - -registry-url@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz" - integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== - dependencies: - rc "1.2.8" - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -rehype-katex@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz" - integrity sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA== - dependencies: - "@types/hast" "^3.0.0" - "@types/katex" "^0.16.0" - hast-util-from-html-isomorphic "^2.0.0" - hast-util-to-text "^4.0.0" - katex "^0.16.0" - unist-util-visit-parents "^6.0.0" - vfile "^6.0.0" - -rehype-minify-whitespace@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.0.tgz" - integrity sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA== - dependencies: - "@types/hast" "^3.0.0" - hast-util-embedded "^3.0.0" - hast-util-is-element "^3.0.0" - hast-util-whitespace "^3.0.0" - unist-util-is "^6.0.0" - -rehype-raw@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz" - integrity sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww== - dependencies: - "@types/hast" "^3.0.0" - hast-util-raw "^9.0.0" - vfile "^6.0.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" - integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== - -remark-definition-list@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/remark-definition-list/-/remark-definition-list-2.0.0.tgz" - integrity sha512-OOJ0zUrfUGITUNxOBnsipyFUjqq1m4AgYOqQk10jDXyz+RoODJL3qYvRn8qzYQDzRnz1wlCP3dbDEOpl05LlQw== - dependencies: - hast-util-definition-list "^2.0.0" - mdast-util-definition-list "^2.0.0" - micromark-extension-definition-list "^2.0.0" - -remark-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz" - integrity sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-directive "^3.0.0" - micromark-extension-directive "^3.0.0" - unified "^11.0.0" - -remark-emoji@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz" - integrity sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg== - dependencies: - "@types/mdast" "^4.0.2" - emoticon "^4.0.1" - mdast-util-find-and-replace "^3.0.1" - node-emoji "^2.1.0" - unified "^11.0.4" - -remark-frontmatter@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz" - integrity sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-frontmatter "^2.0.0" - micromark-extension-frontmatter "^2.0.0" - unified "^11.0.0" - -remark-gfm@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz" - integrity sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-gfm "^3.0.0" - micromark-extension-gfm "^3.0.0" - remark-parse "^11.0.0" - remark-stringify "^11.0.0" - unified "^11.0.0" - -remark-math@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz" - integrity sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-math "^3.0.0" - micromark-extension-math "^3.0.0" - unified "^11.0.0" - -remark-mdx@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz" - integrity sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA== - dependencies: - mdast-util-mdx "^3.0.0" - micromark-extension-mdxjs "^3.0.0" - -remark-parse@^11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz" - integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-from-markdown "^2.0.0" - micromark-util-types "^2.0.0" - unified "^11.0.0" - -remark-rehype@^11.0.0: - version "11.1.0" - resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz" - integrity sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - mdast-util-to-hast "^13.0.0" - unified "^11.0.0" - vfile "^6.0.0" - -remark-stringify@^11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz" - integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-to-markdown "^2.0.0" - unified "^11.0.0" - -renderkid@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" - integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^6.0.1" - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -"require-like@>= 0.1.1": - version "0.1.2" - resolved "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz" - integrity sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resolve-alpn@^1.2.0: - version "1.2.1" - resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-pathname@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" - integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== - -resolve@^1.1.6, resolve@^1.14.2: - version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -responselike@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz" - integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== - dependencies: - lowercase-keys "^3.0.0" - -retry@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rtl-detect@^1.0.4: - version "1.1.2" - resolved "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz" - integrity sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ== - -rtlcss@^4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-4.1.1.tgz" - integrity sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - postcss "^8.4.21" - strip-json-comments "^3.1.1" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sax@^1.2.4: - version "1.3.0" - resolved "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -schema-utils@^3.0.0: - version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^3.1.1: - version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0, schema-utils@^4.0.1: - version "4.2.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -"search-insights@>= 1 < 3": - version "2.17.3" - resolved "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz" - integrity sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ== - -section-matter@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" - integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== - dependencies: - extend-shallow "^2.0.1" - kind-of "^6.0.0" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^2.1.1: - version "2.4.1" - resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz" - integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== - dependencies: - "@types/node-forge" "^1.3.0" - node-forge "^1" - -semver-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz" - integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== - dependencies: - semver "^7.3.5" - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.2: - version "7.6.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.5: - version "7.6.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.7: - version "7.6.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -semver@^7.5.4: - version "7.6.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: - version "6.0.2" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -serve-handler@^6.1.5: - version "6.1.5" - resolved "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz" - integrity sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg== - dependencies: - bytes "3.0.0" - content-disposition "0.5.2" - fast-url-parser "1.1.3" - mime-types "2.1.18" - minimatch "3.1.2" - path-is-inside "1.0.2" - path-to-regexp "2.2.1" - range-parser "1.2.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -server-only@^0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz" - integrity sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA== - -set-function-length@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz" - integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== - dependencies: - define-data-property "^1.1.2" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.1" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.7.3, shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -shelljs@^0.8.5: - version "0.8.5" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -side-channel@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz" - integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sirv@^2.0.3: - version "2.0.4" - resolved "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz" - integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== - dependencies: - "@polka/url" "^1.0.0-next.24" - mrmime "^2.0.0" - totalist "^3.0.0" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -sitemap@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz" - integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== - dependencies: - "@types/node" "^17.0.5" - "@types/sax" "^1.2.1" - arg "^5.0.0" - sax "^1.2.4" - -skin-tone@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz" - integrity sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA== - dependencies: - unicode-emoji-modifier-base "^1.0.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -snake-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz" - integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -sockjs@^0.3.24: - version "0.3.24" - resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -sort-css-media-queries@2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz" - integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA== - -source-map-js@^1.0.1, source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.0: - version "0.7.4" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -space-separated-tokens@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" - integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -srcset@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz" - integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -std-env@^3.0.1: - version "3.7.0" - resolved "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz" - integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -string-width@^4.1.0: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -stringify-entities@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz" - integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== - dependencies: - character-entities-html4 "^2.0.0" - character-entities-legacy "^3.0.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom-string@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" - integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - -style-to-object@^0.4.0: - version "0.4.4" - resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz" - integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== - dependencies: - inline-style-parser "0.1.1" - -style-to-object@^1.0.0: - version "1.0.5" - resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz" - integrity sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ== - dependencies: - inline-style-parser "0.2.2" - -stylehacks@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz" - integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg== - dependencies: - browserslist "^4.23.0" - postcss-selector-parser "^6.0.16" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-parser@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svgo@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - -svgo@^3.0.2, svgo@^3.2.0: - version "3.3.2" - resolved "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz" - integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^5.1.0" - css-tree "^2.3.1" - css-what "^6.1.0" - csso "^5.0.5" - picocolors "^1.0.0" - -tapable@^1.0.0: - version "1.1.3" - resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.9: - version "5.3.10" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" - -terser@^5.10.0, terser@^5.15.1, terser@^5.26.0: - version "5.27.2" - resolved "https://registry.npmjs.org/terser/-/terser-5.27.2.tgz" - integrity sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -tiny-invariant@^1.0.2: - version "1.3.1" - resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" - integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== - -tiny-warning@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" - integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -totalist@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz" - integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== - -trim-lines@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" - integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== - -trim-trailing-lines@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz" - integrity sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg== - -trough@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz" - integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== - -ts-dedent@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz" - integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== - -tslib@^2.0.3, tslib@^2.6.0: - version "2.6.2" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -type-fest@^1.0.1: - version "1.4.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - -type-fest@^2.13.0, type-fest@^2.5.0: - version "2.19.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" - integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -"typescript@>= 2.7", typescript@>=4.9.5, typescript@~5.2.2: - version "5.2.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-emoji-modifier-base@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz" - integrity sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: - version "11.0.4" - resolved "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz" - integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ== - dependencies: - "@types/unist" "^3.0.0" - bail "^2.0.0" - devlop "^1.0.0" - extend "^3.0.0" - is-plain-obj "^4.0.0" - trough "^2.0.0" - vfile "^6.0.0" - -unique-string@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz" - integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== - dependencies: - crypto-random-string "^4.0.0" - -unist-builder@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/unist-builder/-/unist-builder-4.0.0.tgz" - integrity sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-find-after@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz" - integrity sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - -unist-util-is@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz" - integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-position-from-estree@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz" - integrity sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-position@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz" - integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-remove-position@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz" - integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== - dependencies: - "@types/unist" "^3.0.0" - unist-util-visit "^5.0.0" - -unist-util-stringify-position@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" - integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-visit-parents@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz" - integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - -unist-util-visit@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz" - integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - unist-util-visit-parents "^6.0.0" - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -unpipe@~1.0.0, unpipe@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -update-browserslist-db@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz" - integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.0" - -update-notifier@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz" - integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og== - dependencies: - boxen "^7.0.0" - chalk "^5.0.1" - configstore "^6.0.0" - has-yarn "^3.0.0" - import-lazy "^4.0.0" - is-ci "^3.0.1" - is-installed-globally "^0.4.0" - is-npm "^6.0.0" - is-yarn-global "^0.4.0" - latest-version "^7.0.0" - pupa "^3.1.0" - semver "^7.3.7" - semver-diff "^4.0.0" - xdg-basedir "^5.1.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-loader@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" - integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== - dependencies: - loader-utils "^2.0.0" - mime-types "^2.1.27" - schema-utils "^3.0.0" - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.12.5: - version "0.12.5" - resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" - integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== - -utility-types@^3.10.0: - version "3.11.0" - resolved "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz" - integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -value-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz" - integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -vfile-location@^5.0.0: - version "5.0.2" - resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz" - integrity sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg== - dependencies: - "@types/unist" "^3.0.0" - vfile "^6.0.0" - -vfile-message@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz" - integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== - dependencies: - "@types/unist" "^3.0.0" - unist-util-stringify-position "^4.0.0" - -vfile@^6.0.0, vfile@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz" - integrity sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw== - dependencies: - "@types/unist" "^3.0.0" - unist-util-stringify-position "^4.0.0" - vfile-message "^4.0.0" - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -web-namespaces@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz" - integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== - -webpack-bundle-analyzer@^4.9.0: - version "4.10.1" - resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz" - integrity sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ== - dependencies: - "@discoveryjs/json-ext" "0.5.7" - acorn "^8.0.4" - acorn-walk "^8.0.0" - commander "^7.2.0" - debounce "^1.2.1" - escape-string-regexp "^4.0.0" - gzip-size "^6.0.0" - html-escaper "^2.0.2" - is-plain-object "^5.0.0" - opener "^1.5.2" - picocolors "^1.0.0" - sirv "^2.0.3" - ws "^7.3.1" - -webpack-dev-middleware@^5.3.1: - version "5.3.3" - resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" - integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== - dependencies: - colorette "^2.0.10" - memfs "^3.4.3" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.15.1: - version "4.15.1" - resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz" - integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.5" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - launch-editor "^2.6.0" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.13.0" - -webpack-merge@^5.9.0: - version "5.10.0" - resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz" - integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== - dependencies: - clone-deep "^4.0.1" - flat "^5.0.2" - wildcard "^2.0.0" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.88.1, "webpack@>= 4", "webpack@>=4.41.1 || 5.x", webpack@>=5, "webpack@3 || 4 || 5": - version "5.90.3" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz" - integrity sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -webpackbar@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz" - integrity sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ== - dependencies: - chalk "^4.1.0" - consola "^2.15.3" - pretty-time "^1.1.0" - std-env "^3.0.1" - -websocket-driver@^0.7.4, websocket-driver@>=0.5.1: - version "0.7.4" - resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -which-typed-array@^1.1.14, which-typed-array@^1.1.2: - version "1.1.14" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz" - integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg== - dependencies: - available-typed-arrays "^1.0.6" - call-bind "^1.0.5" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.1" - -which@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -widest-line@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz" - integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== - dependencies: - string-width "^5.0.1" - -wildcard@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" - integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== - -wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.3.1: - version "7.5.9" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.13.0: - version "8.16.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== - -xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz" - integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== - -xml-js@^1.6.11: - version "1.6.11" - resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" - integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== - dependencies: - sax "^1.2.4" - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== - -zwitch@^2.0.0, zwitch@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@algolia/autocomplete-core@npm:1.17.9": + version: 1.17.9 + resolution: "@algolia/autocomplete-core@npm:1.17.9" + dependencies: + "@algolia/autocomplete-plugin-algolia-insights": "npm:1.17.9" + "@algolia/autocomplete-shared": "npm:1.17.9" + checksum: 10c0/e1111769a8723b9dd45fc38cd7edc535c86c1f908b84b5fdc5de06ba6b8c7aca14e5f52ebce84fa5f7adf857332e396b93b7e7933b157b2c9aefc0a19d9574ab + languageName: node + linkType: hard + +"@algolia/autocomplete-plugin-algolia-insights@npm:1.17.9": + version: 1.17.9 + resolution: "@algolia/autocomplete-plugin-algolia-insights@npm:1.17.9" + dependencies: + "@algolia/autocomplete-shared": "npm:1.17.9" + peerDependencies: + search-insights: ">= 1 < 3" + checksum: 10c0/05c21502631643abdcd6e9f70b5814a60d34bad59bca501e26e030fd72e689be5cecfb6e8939a0a1bdcb2394591e55e26a42a82c7247528eafeff714db0819a4 + languageName: node + linkType: hard + +"@algolia/autocomplete-preset-algolia@npm:1.17.9": + version: 1.17.9 + resolution: "@algolia/autocomplete-preset-algolia@npm:1.17.9" + dependencies: + "@algolia/autocomplete-shared": "npm:1.17.9" + peerDependencies: + "@algolia/client-search": ">= 4.9.1 < 6" + algoliasearch: ">= 4.9.1 < 6" + checksum: 10c0/99159c7e02a927d0d96717cb4cfd2f8dbc4da73267a8eae4f83af5bf74087089f6e7dbffd316512e713a4cc534e936b6a7ccb5c4a5ff84b4bf73f2d3cc050e79 + languageName: node + linkType: hard + +"@algolia/autocomplete-shared@npm:1.17.9": + version: 1.17.9 + resolution: "@algolia/autocomplete-shared@npm:1.17.9" + peerDependencies: + "@algolia/client-search": ">= 4.9.1 < 6" + algoliasearch: ">= 4.9.1 < 6" + checksum: 10c0/b318281aecdaae09171b47ee4f7bc66b613852cad4506e9d6278fff35ba68a12dd9cce2d90b5f4c3ba0e3d7d780583cbe46b22275260e41bbf09fb01e4a18f49 + languageName: node + linkType: hard + +"@algolia/client-abtesting@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-abtesting@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/614044c066e34cbc41b74a2242c3b0a08e952e96f90e0f2afbcd04711cf29fa88dea211f15bcef162bfd15b3f27555641bff229618cdf45bb83fe7c48100a7bf + languageName: node + linkType: hard + +"@algolia/client-analytics@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-analytics@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/76068a9558df85c469c77a8facd10927800c347363b1b73e43fbecc3e2de9d1404e0c3769c1e2d7e4670f0b435c819f239f5399d81728a9d735b72f9a1a9df53 + languageName: node + linkType: hard + +"@algolia/client-common@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-common@npm:5.25.0" + checksum: 10c0/e75370c9e5353badcd322db3b573a1f1cad1dbe5e576552e940c3db848778cd0849a028894da3f08dc551e3a53d1613239bc8cb06eef6dd4734e93ce5f49a895 + languageName: node + linkType: hard + +"@algolia/client-insights@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-insights@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/8bbabcf7a86a649932b56525843d2b431c89077576e939832152859be398e9bf31a54b6c1565086b9e66deef045216d85adac8edcf538ebc9bcefc80f1a9711d + languageName: node + linkType: hard + +"@algolia/client-personalization@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-personalization@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/0d937519adbf0231e985718e32e7b0e54d15d30a01bd0491c357eb937a4ebb44a6b8024de736cb1da5919ca23e10a6dbb1bdda06ed46848e15d1bb3a9533f0fc + languageName: node + linkType: hard + +"@algolia/client-query-suggestions@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-query-suggestions@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/84f327d0bd98c2da8b37d3c51712baa794d44e78fd7e60f372899b882ac4d02e1836df27ed397dcb3deede820c7a8f20d1c043378166baaf1f855c89551cc5fd + languageName: node + linkType: hard + +"@algolia/client-search@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/client-search@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/5a09f4e66aa802ec7a292595f8d08dcd7de12683d0ddde1feb640062011dbd8bd8b521627f7c904e27e0f3e80ad8a451e58e0bc790b0f2e4faf4e55dfe2df297 + languageName: node + linkType: hard + +"@algolia/events@npm:^4.0.1": + version: 4.0.1 + resolution: "@algolia/events@npm:4.0.1" + checksum: 10c0/f398d815c6ed21ac08f6caadf1e9155add74ac05d99430191c3b1f1335fd91deaf468c6b304e6225c9885d3d44c06037c53def101e33d9c22daff175b2a65ca9 + languageName: node + linkType: hard + +"@algolia/ingestion@npm:1.25.0": + version: 1.25.0 + resolution: "@algolia/ingestion@npm:1.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/6c2ffddaabfa62a87c45917ddd311d12adca1263de22be4c9023e7d526cc43c2a6fe1a5ea28f46a118762bd8a143bba903aded9ba3c70953e6f6af67e6b9e12f + languageName: node + linkType: hard + +"@algolia/monitoring@npm:1.25.0": + version: 1.25.0 + resolution: "@algolia/monitoring@npm:1.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/d28b0af9ff0e864ad8ada43e735d763052b605410813c26ea595c21b9a3bcc323ebf3b04e810bc23cc8c28840952dbda7d111d583b8884e91e5692a14ad427e8 + languageName: node + linkType: hard + +"@algolia/recommend@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/recommend@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/cfab69aec97096ac4db3fb7a20af3e6263362ad65100e33f1523ddfdb37a3bd1ca8d4002e83f8b52009ca5650cb9486e9e38410fb0f0b49336cd8c2bed58cd0e + languageName: node + linkType: hard + +"@algolia/requester-browser-xhr@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/requester-browser-xhr@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + checksum: 10c0/c190525b68d7d255568d20e6024094bb8b273f3234f698e4da52edb97697cddb5df99038f5dc780a54da9c89837c8e6d81e2e230ab2f819b6ec689ebbabd049a + languageName: node + linkType: hard + +"@algolia/requester-fetch@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/requester-fetch@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + checksum: 10c0/126ed1c1cd6033a979da071018a5a1ada00df87e7ef5196385b6f241ca8f41f77c40827461a1aa04612a75ba651786c50b8e7a9f7636ba58b723c8bf8fd039a1 + languageName: node + linkType: hard + +"@algolia/requester-node-http@npm:5.25.0": + version: 5.25.0 + resolution: "@algolia/requester-node-http@npm:5.25.0" + dependencies: + "@algolia/client-common": "npm:5.25.0" + checksum: 10c0/310ecc88d6769b67d1959dfb11554699759ad358ce88b20edbe82cc007511efda3777451b3194ff26a600dc41bfe49588a74168c3f122302b945fe4e2e8b2063 + languageName: node + linkType: hard + +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.8.3": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.27.1" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/compat-data@npm:7.27.2" + checksum: 10c0/077c9e01af3b90decee384a6a44dcf353898e980cee22ec7941f9074655dbbe97ec317345536cdc7ef7391521e1497930c522a3816af473076dd524be7fccd32 + languageName: node + linkType: hard + +"@babel/core@npm:^7.21.3, @babel/core@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/core@npm:7.27.1" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.1" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helpers": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/0fc31f87f5401ac5d375528cb009f4ea5527fc8c5bb5b64b5b22c033b60fd0ad723388933a5f3f5db14e1edd13c958e9dd7e5c68f9b68c767aeb496199c8a4bb + languageName: node + linkType: hard + +"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/generator@npm:7.27.1" + dependencies: + "@babel/parser": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10c0/c4156434b21818f558ebd93ce45f027c53ee570ce55a84fd2d9ba45a79ad204c17e0bff753c886fb6c07df3385445a9e34dc7ccb070d0ac7e80bb91c8b57f423 + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.1" + dependencies: + "@babel/types": "npm:^7.27.1" + checksum: 10c0/fc4751b59c8f5417e1acb0455d6ffce53fa5e79b3aca690299fbbf73b1b65bfaef3d4a18abceb190024c5836bb6cfbc3711e83888648df93df54e18152a1196c + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/helper-compilation-targets@npm:7.27.2" + dependencies: + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-create-class-features-plugin@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4ee199671d6b9bdd4988aa2eea4bdced9a73abfc831d81b00c7634f49a8fc271b3ceda01c067af58018eb720c6151322015d463abea7072a368ee13f35adbb4c + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + regexpu-core: "npm:^6.2.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/591fe8bd3bb39679cc49588889b83bd628d8c4b99c55bafa81e80b1e605a348b64da955e3fd891c4ba3f36fd015367ba2eadea22af6a7de1610fbb5bcc2d3df0 + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.6.3, @babel/helper-define-polyfill-provider@npm:^0.6.4": + version: 0.6.4 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.4" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/b74f2b46e233a178618d19432bdae16e0137d0a603497ee901155e083c4a61f26fe01d79fb95d5f4c22131ade9d958d8f587088d412cca1302633587f070919d + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-member-expression-to-functions@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/5762ad009b6a3d8b0e6e79ff6011b3b8fdda0fefad56cfa8bfbe6aa02d5a8a8a9680a45748fe3ac47e735a03d2d88c0a676e3f9f59f20ae9fadcc8d51ccd5a53 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-transforms@npm:7.27.1" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/196ab29635fe6eb5ba6ead2972d41b1c0d40f400f99bd8fc109cef21440de24c26c972fabf932585e618694d590379ab8d22def8da65a54459d38ec46112ead7 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" + dependencies: + "@babel/types": "npm:^7.27.1" + checksum: 10c0/6b861e7fcf6031b9c9fc2de3cd6c005e94a459d6caf3621d93346b52774925800ca29d4f64595a5ceacf4d161eb0d27649ae385110ed69491d9776686fa488e6 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.27.1 + resolution: "@babel/helper-plugin-utils@npm:7.27.1" + checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-wrap-function": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/5ba6258f4bb57c7c9fa76b55f416b2d18c867b48c1af4f9f2f7cd7cc933fe6da7514811d08ceb4972f1493be46f4b69c40282b811d1397403febae13c2ec57b5 + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-replace-supers@npm:7.27.1" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4f2eaaf5fcc196580221a7ccd0f8873447b5d52745ad4096418f6101a1d2e712e9f93722c9a32bc9769a1dc197e001f60d6f5438d4dfde4b9c6a9e4df719354c + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-wrap-function@npm:7.27.1" + dependencies: + "@babel/template": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/c472f75c0951bc657ab0a117538c7c116566ae7579ed47ac3f572c42dc78bd6f1e18f52ebe80d38300c991c3fcaa06979e2f8864ee919369dabd59072288de30 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helpers@npm:7.27.1" + dependencies: + "@babel/template": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e078257b9342dae2c041ac050276c5a28701434ad09478e6dc6976abd99f721a5a92e4bebddcbca6b1c3a7e8acace56a946340c701aad5e7507d2c87446459ba + languageName: node + linkType: hard + +"@babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/parser@npm:7.27.2" + dependencies: + "@babel/types": "npm:^7.27.1" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/3c06692768885c2f58207fc8c2cbdb4a44df46b7d93135a083f6eaa49310f7ced490ce76043a2a7606cdcc13f27e3d835e141b692f2f6337a2e7f43c1dbb04b4 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/7dfffa978ae1cd179641a7c4b4ad688c6828c2c58ec96b118c2fb10bc3715223de6b88bff1ebff67056bb5fccc568ae773e3b83c592a1b843423319f80c99ebd + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/2cd7a55a856e5e59bbd9484247c092a41e0d9f966778e7019da324d9e0928892d26afc4fbb2ac3d76a3c5a631cd3cf0d72dd2653b44f634f6c663b9e6f80aacd + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/cf29835498c4a25bd470908528919729a0799b2ec94e89004929a5532c94a5e4b1a49bc5d6673a22e5afe05d08465873e14ee3b28c42eb3db489cdf5ca47c680 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 10c0/eddcd056f76e198868cbff883eb148acfade8f0890973ab545295df0c08e39573a72e65372bcc0b0bfadba1b043fe1aea6b0907d0b4889453ac154c404194ebc + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/b94e6c3fc019e988b1499490829c327a1067b4ddea8ad402f6d0554793c9124148c2125338c723661b6dff040951abc1f092afbf3f2d234319cd580b68e52445 + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": + version: 7.21.0-placeholder-for-preset-env.2 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e605e0070da087f6c35579499e65801179a521b6842c15181a1e305c04fded2393f11c1efd09b087be7f8b083d1b75e8f3efcbc1292b4f60d3369e14812cff63 + languageName: node + linkType: hard + +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/06a954ee672f7a7c44d52b6e55598da43a7064e80df219765c51c37a0692641277e90411028f7cae4f4d1dedeed084f0c453576fa421c35a81f1603c5e3e0146 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e66f7a761b8360419bbb93ab67d87c8a97465ef4637a985ff682ce7ba6918b34b29d81190204cf908d0933058ee7b42737423cd8a999546c21b3aabad4affa9a + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bc5afe6a458d5f0492c02a54ad98c5756a0c13bd6d20609aae65acd560a9e141b0876da5f358dce34ea136f271c1016df58b461184d7ae9c4321e0f98588bc84 + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/11589b4c89c66ef02d57bf56c6246267851ec0c361f58929327dc3e070b0dab644be625bbe7fb4c4df30c3634bfdfe31244e1f517be397d2def1487dbbe3c37d + languageName: node + linkType: hard + +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/19abd7a7d11eef58c9340408a4c2594503f6c4eaea1baa7b0e5fbdda89df097e50663edb3448ad2300170b39efca98a75e5767af05cad3b0facb4944326896a3 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-generator-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/772e449c69ee42a466443acefb07083bd89efb1a1d95679a4dc99ea3be9d8a3c43a2b74d2da95d7c818e9dd9e0b72bfa7c03217a1feaf108f21b7e542f0943c0 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.27.1" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e76b1f6f9c3bbf72e17d7639406d47f09481806de4db99a8de375a0bb40957ea309b20aa705f0c25ab1d7c845e3f365af67eafa368034521151a0e352a03ef2f + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3313130ba3bf0699baad0e60da1c8c3c2f0c2c0a7039cd0063e54e72e739c33f1baadfc9d8c73b3fea8c85dd7250c3964fb09c8e1fa62ba0b24a9fefe0a8dbde + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoping@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d3f357beeb92fbdf3045aea2ba286a60dafc9c2d2a9f89065bb3c4bea9cc48934ee6689df3db0439d9ec518eda5e684f3156cab792b7c38c33ece2f8204ddee8 + languageName: node + linkType: hard + +"@babel/plugin-transform-class-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/cc0662633c0fe6df95819fef223506ddf26c369c8d64ab21a728d9007ec866bf9436a253909819216c24a82186b6ccbc1ec94d7aaf3f82df227c7c02fa6a704b + languageName: node + linkType: hard + +"@babel/plugin-transform-class-static-block@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-static-block@npm:7.27.1" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 10c0/396997dd81fc1cf242b921e337d25089d6b9dc3596e81322ff11a6359326dc44f2f8b82dcc279c2e514cafaf8964dc7ed39e9fab4b8af1308b57387d111f6a20 + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-classes@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1071f4cb1ed5deb5e6f8d0442f2293a540cac5caa5ab3c25ad0571aadcbf961f61e26d367a67894976165a543e02f3a19e40b63b909afbed6e710801a590635c + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-computed-properties@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e09a12f8c8ae0e6a6144c102956947b4ec05f6c844169121d0ec4529c2d30ad1dc59fee67736193b87a402f44552c888a519a680a31853bdb4d34788c28af3b0 + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-destructuring@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/56afda7a0b205f8d1af727daef4c529fc2e756887408affd39033ae4476e54d586d3d9dc1e72cfb15c74a2a5ca0653ab13dbaa8cbf79fbb2a3a746d0f107cb86 + languageName: node + linkType: hard + +"@babel/plugin-transform-dotall-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f9caddfad9a551b4dabe0dcb7c040f458fbaaa7bbb44200c20198b32c8259be8e050e58d2c853fdac901a4cfe490b86aa857036d8d461b192dd010d0e242dedb + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-keys@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/22a822e5342b7066f83eaedc4fd9bb044ac6bc68725484690b33ba04a7104980e43ea3229de439286cb8db8e7db4a865733a3f05123ab58a10f189f03553746f + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/121502a252b3206913e1e990a47fea34397b4cbf7804d4cd872d45961bc45b603423f60ca87f3a3023a62528f5feb475ac1c9ec76096899ec182fcb135eba375 + languageName: node + linkType: hard + +"@babel/plugin-transform-dynamic-import@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8dcd3087aca134b064fc361d2cc34eec1f900f6be039b6368104afcef10bb75dea726bb18cabd046716b89b0edaa771f50189fa16bc5c5914a38cbcf166350f7 + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/953d21e01fed76da8e08fb5094cade7bf8927c1bb79301916bec2db0593b41dbcfbca1024ad5db886b72208a93ada8f57a219525aad048cf15814eeb65cf760d + languageName: node + linkType: hard + +"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d7165cad11f571a54c8d9263d6c6bf2b817aff4874f747cb51e6e49efb32f2c9b37a6850cdb5e3b81e0b638141bb77dc782a6ec1a94128859fbdf7767581e07c + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-for-of@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4635763173a23aae24480681f2b0996b4f54a0cb2368880301a1801638242e263132d1e8adbe112ab272913d1d900ee0d6f7dea79443aef9d3325168cd88b3fb + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-function-name@npm:7.27.1" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5abdc7b5945fbd807269dcc6e76e52b69235056023b0b35d311e8f5dfd6c09d9f225839798998fc3b663f50cf701457ddb76517025a0d7a5474f3fe56e567a4c + languageName: node + linkType: hard + +"@babel/plugin-transform-json-strings@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-json-strings@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2379714aca025516452a7c1afa1ca42a22b9b51a5050a653cc6198a51665ab82bdecf36106d32d731512706a1e373c5637f5ff635737319aa42f3827da2326d6 + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c40dc3eb2f45a92ee476412314a40e471af51a0f51a24e91b85cef5fc59f4fe06758088f541643f07f949d2c67ee7bdce10e11c5ec56791ae09b15c3b451eeca + languageName: node + linkType: hard + +"@babel/plugin-transform-logical-assignment-operators@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5b0abc7c0d09d562bf555c646dce63a30288e5db46fd2ce809a61d064415da6efc3b2b3c59b8e4fe98accd072c89a2f7c3765b400e4bf488651735d314d9feeb + languageName: node + linkType: hard + +"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0874ccebbd1c6a155e5f6b3b29729fade1221b73152567c1af1e1a7c12848004dffecbd7eded6dc463955120040ae57c17cb586b53fb5a7a27fcd88177034c30 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-amd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" + dependencies: + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/76e86cd278b6a3c5b8cca8dfb3428e9cd0c81a5df7096e04c783c506696b916a9561386d610a9d846ef64804640e0bd818ea47455fed0ee89b7f66c555b29537 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" + dependencies: + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4def972dcd23375a266ea1189115a4ff61744b2c9366fc1de648b3fab2c650faf1a94092de93a33ff18858d2e6c4dddeeee5384cb42ba0129baeab01a5cdf1e2 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-systemjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.27.1" + dependencies: + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f16fca62d144d9cbf558e7b5f83e13bb6d0f21fdeff3024b0cecd42ffdec0b4151461da42bd0963512783ece31aafa5ffe03446b4869220ddd095b24d414e2b5 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-umd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" + dependencies: + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e5962a8874889da2ab1aa32eb93ec21d419c7423c766e4befb39b4bb512b9ad44b47837b6cd1c8f1065445cbbcc6dc2be10298ac6e734e5ca1059fc23698daed + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/8eaa8c9aee00a00f3bd8bd8b561d3f569644d98cb2cfe3026d7398aabf9b29afd62f24f142b4112fa1f572d9b0e1928291b099cde59f56d6b59f4d565e58abf2 + languageName: node + linkType: hard + +"@babel/plugin-transform-new-target@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-new-target@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9b0581412fcc5ab1b9a2d86a0c5407bd959391f0a1e77a46953fef9f7a57f3f4020d75f71098c5f9e5dcc680a87f9fd99b3205ab12e25ef8c19eed038c1e4b28 + languageName: node + linkType: hard + +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a435fc03aaa65c6ef8e99b2d61af0994eb5cdd4a28562d78c3b0b0228ca7e501aa255e1dff091a6996d7d3ea808eb5a65fd50ecd28dfb10687a8a1095dcadc7a + languageName: node + linkType: hard + +"@babel/plugin-transform-numeric-separator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b72cbebbfe46fcf319504edc1cf59f3f41c992dd6840db766367f6a1d232cd2c52143c5eaf57e0316710bee251cae94be97c6d646b5022fcd9274ccb131b470c + languageName: node + linkType: hard + +"@babel/plugin-transform-object-rest-spread@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.27.2" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.27.1" + "@babel/plugin-transform-parameters": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5e255b262dd65c8700078d9f6ed87bd45f951a905dda6b3414be28d7b2781b18e6b812e9d71421e61360c9cf51e1e619c1d48348593bb7399496f61f5f221446 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-super@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-object-super@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/efa2d092ef55105deb06d30aff4e460c57779b94861188128489b72378bf1f0ab0f06a4a4d68b9ae2a59a79719fbb2d148b9a3dca19ceff9c73b1f1a95e0527c + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-catch-binding@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/807a4330f1fac08e2682d57bc82e714868fc651c8876f9a8b3a3fd8f53c129e87371f8243e712ac7dae11e090b737a2219a02fe1b6459a29e664fa073c3277bb + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5b18ff5124e503f0a25d6b195be7351a028b3992d6f2a91fb4037e2a2c386400d66bc1df8f6df0a94c708524f318729e81a95c41906e5a7919a06a43e573a525 + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-parameters@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/453a9618735eeff5551d4c7f02c250606586fe1dd210ec9f69a4f15629ace180cd944339ebff2b0f11e1a40567d83a229ba1c567620e70b2ebedea576e12196a + languageName: node + linkType: hard + +"@babel/plugin-transform-private-methods@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-methods@npm:7.27.1" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/232bedfe9d28df215fb03cc7623bdde468b1246bdd6dc24465ff4bf9cc5f5a256ae33daea1fafa6cc59705e4d29da9024bb79baccaa5cd92811ac5db9b9244f2 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-property-in-object@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a8c4536273ca716dcc98e74ea25ca76431528554922f184392be3ddaf1761d4aa0e06f1311577755bd1613f7054fb51d29de2ada1130f743d329170a1aa1fe56 + languageName: node + linkType: hard + +"@babel/plugin-transform-property-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/15713a87edd6db620d6e66eb551b4fbfff5b8232c460c7c76cedf98efdc5cd21080c97040231e19e06594c6d7dfa66e1ab3d0951e29d5814fb25e813f6d6209c + languageName: node + linkType: hard + +"@babel/plugin-transform-react-constant-elements@npm:^7.21.3": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-constant-elements@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/07fa88dd312c97d05de95e344a11a78e24d711e7bde879076d8880869ad7b0dc69c5a5ad056790595043cb9c533fd93af0ba015eed4631315282295f767ccfbe + languageName: node + linkType: hard + +"@babel/plugin-transform-react-display-name@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-display-name@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6cd474b5fb30a2255027d8fc19975aee1c1da54dd8bc8b79802676096182ca4136302ce65a24fbb277f8fe30f266006bbf327ef6be2846d3681eb57509744125 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-development@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.27.1" + dependencies: + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/eb8c4b6a79dc5c49b41e928e2037e1ee0bbfa722e4fd74c0b7c0d11103c82c2c25c434000e1b051d534c7261ab5c92b6d1e85313bf1b26e37db3f051ae217b58 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-syntax-jsx": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1a08637c39fc78c9760dd4a3ed363fdbc762994bf83ed7872ad5bda0232fcd0fc557332f2ce36b522c0226dfd9cc8faac6b88eddda535f24825198a689e571af + languageName: node + linkType: hard + +"@babel/plugin-transform-react-pure-annotations@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/34bc090f4a7e460d82a851971b4d0f32e4bb519bafb927154f4174506283fe02b0f471fc20655c6050a8bf7b748bfa31c7e8f7d688849476d8266623554fbb28 + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-regenerator@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/42395908899310bb107d9ca31ebd4c302e14c582e3ad3ebfe1498fabafc43155c8f10850265c1e686a2afcf50d1f402cc5c5218fba72e167852607a4d8d6492e + languageName: node + linkType: hard + +"@babel/plugin-transform-regexp-modifiers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/31ae596ab56751cf43468a6c0a9d6bc3521d306d2bee9c6957cdb64bea53812ce24bd13a32f766150d62b737bca5b0650b2c62db379382fff0dccbf076055c33 + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e1a87691cce21a644a474d7c9a8107d4486c062957be32042d40f0a3d0cc66e00a3150989655019c255ff020d2640ac16aaf544792717d586f219f3bad295567 + languageName: node + linkType: hard + +"@babel/plugin-transform-runtime@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/plugin-transform-runtime@npm:7.27.1" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + babel-plugin-polyfill-corejs2: "npm:^0.4.10" + babel-plugin-polyfill-corejs3: "npm:^0.11.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7abbae60a6441ba8546dee3fcbc00b38038304250ba2419adaf0c76267bff43420ff75b7049003a24a829e01d9fde2ac8a422352af6d88aebd31996a83f04c2f + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bd5544b89520a22c41a6df5ddac9039821d3334c0ef364d18b0ba9674c5071c223bcc98be5867dc3865cb10796882b7594e2c40dedaff38e1b1273913fe353e1 + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-spread@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b34fc58b33bd35b47d67416655c2cbc8578fbb3948b4592bc15eb6d8b4046986e25c06e3b9929460fa4ab08e9653582415e7ef8b87d265e1239251bdf5a4c162 + languageName: node + linkType: hard + +"@babel/plugin-transform-sticky-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5698df2d924f0b1b7bdb7ef370e83f99ed3f0964eb3b9c27d774d021bee7f6d45f9a73e2be369d90b4aff1603ce29827f8743f091789960e7669daf9c3cda850 + languageName: node + linkType: hard + +"@babel/plugin-transform-template-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c90f403e42ef062b60654d1c122c70f3ec6f00c2f304b0931ebe6d0b432498ef8a5ef9266ddf00debc535f8390842207e44d3900eff1d2bab0cc1a700f03e083 + languageName: node + linkType: hard + +"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a13c68015311fefa06a51830bc69d5badd06c881b13d5cf9ba04bf7c73e3fc6311cc889e18d9645ce2a64a79456dc9c7be88476c0b6802f62a686cb6f662ecd6 + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-typescript@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-syntax-typescript": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/48f1db5de17a0f9fc365ff4fb046010aedc7aad813a7aa42fb73fcdab6442f9e700dde2cc0481086e01b0dae662ae4d3e965a52cde154f0f146d243a8ac68e93 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-escapes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a6809e0ca69d77ee9804e0c1164e8a2dea5e40718f6dcf234aeddf7292e7414f7ee331d87f17eb6f160823a329d1d6751bd49b35b392ac4a6efc032e4d3038d8 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-property-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a332bc3cb3eeea67c47502bc52d13a0f8abae5a7bfcb08b93a8300ddaff8d9e1238f912969494c1b494c1898c6f19687054440706700b6d12cb0b90d88beb4d0 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6abda1bcffb79feba6f5c691859cdbe984cc96481ea65d5af5ba97c2e843154005f0886e25006a37a2d213c0243506a06eaeafd93a040dbe1f79539016a0d17a + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-sets-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/236645f4d0a1fba7c18dc8ffe3975933af93e478f2665650c2d91cf528cfa1587cde5cfe277e0e501fc03b5bf57638369575d6539cef478632fb93bd7d7d7178 + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.20.2, @babel/preset-env@npm:^7.25.9": + version: 7.27.2 + resolution: "@babel/preset-env@npm:7.27.2" + dependencies: + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.27.1" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions": "npm:^7.27.1" + "@babel/plugin-syntax-import-attributes": "npm:^7.27.1" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-generator-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-to-generator": "npm:^7.27.1" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" + "@babel/plugin-transform-block-scoping": "npm:^7.27.1" + "@babel/plugin-transform-class-properties": "npm:^7.27.1" + "@babel/plugin-transform-class-static-block": "npm:^7.27.1" + "@babel/plugin-transform-classes": "npm:^7.27.1" + "@babel/plugin-transform-computed-properties": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.27.1" + "@babel/plugin-transform-dotall-regex": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.27.1" + "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" + "@babel/plugin-transform-for-of": "npm:^7.27.1" + "@babel/plugin-transform-function-name": "npm:^7.27.1" + "@babel/plugin-transform-json-strings": "npm:^7.27.1" + "@babel/plugin-transform-literals": "npm:^7.27.1" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.27.1" + "@babel/plugin-transform-member-expression-literals": "npm:^7.27.1" + "@babel/plugin-transform-modules-amd": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-modules-systemjs": "npm:^7.27.1" + "@babel/plugin-transform-modules-umd": "npm:^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-new-target": "npm:^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.27.1" + "@babel/plugin-transform-numeric-separator": "npm:^7.27.1" + "@babel/plugin-transform-object-rest-spread": "npm:^7.27.2" + "@babel/plugin-transform-object-super": "npm:^7.27.1" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" + "@babel/plugin-transform-parameters": "npm:^7.27.1" + "@babel/plugin-transform-private-methods": "npm:^7.27.1" + "@babel/plugin-transform-private-property-in-object": "npm:^7.27.1" + "@babel/plugin-transform-property-literals": "npm:^7.27.1" + "@babel/plugin-transform-regenerator": "npm:^7.27.1" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.27.1" + "@babel/plugin-transform-reserved-words": "npm:^7.27.1" + "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" + "@babel/plugin-transform-spread": "npm:^7.27.1" + "@babel/plugin-transform-sticky-regex": "npm:^7.27.1" + "@babel/plugin-transform-template-literals": "npm:^7.27.1" + "@babel/plugin-transform-typeof-symbol": "npm:^7.27.1" + "@babel/plugin-transform-unicode-escapes": "npm:^7.27.1" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.27.1" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.10" + babel-plugin-polyfill-corejs3: "npm:^0.11.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.1" + core-js-compat: "npm:^3.40.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/fd7ec310832a9ff26ed8d56bc0832cdbdb3a188e022050b74790796650649fb8373568af05b320b58b3ff922507979bad50ff95a4d504ab0081134480103504e + languageName: node + linkType: hard + +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" + peerDependencies: + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 + languageName: node + linkType: hard + +"@babel/preset-react@npm:^7.18.6, @babel/preset-react@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/preset-react@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-transform-react-display-name": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx-development": "npm:^7.27.1" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a80b02ef08b026cb9830d6512d08c7cd378eef4c0631dacba4aa1106240d9bb76af6373463f0255f4bbdbfcce40375a61e92735375906ba5871629b0c314bc45 + languageName: node + linkType: hard + +"@babel/preset-typescript@npm:^7.21.0, @babel/preset-typescript@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/preset-typescript@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-syntax-jsx": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-typescript": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/cba6ca793d915f8aff9fe2f13b0dfbf5fd3f2e9a17f17478ec9878e9af0d206dcfe93154b9fd353727f16c1dca7c7a3ceb4943f8d28b216235f106bc0fbbcaa3 + languageName: node + linkType: hard + +"@babel/runtime-corejs3@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/runtime-corejs3@npm:7.27.1" + dependencies: + core-js-pure: "npm:^3.30.2" + checksum: 10c0/81b46b6c73b590842abca14024a6b7c8751eaf0b519794f129b7c971043e13967e4d370933dbd7d0fdc78872ae45971b36013e0fa13c6d5c0130bfe971be0ac1 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/runtime@npm:7.27.1" + checksum: 10c0/530a7332f86ac5a7442250456823a930906911d895c0b743bf1852efc88a20a016ed4cd26d442d0ca40ae6d5448111e02a08dd638a4f1064b47d080e2875dc05 + languageName: node + linkType: hard + +"@babel/template@npm:^7.27.1": + version: 7.27.2 + resolution: "@babel/template@npm:7.27.2" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.2" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/traverse@npm:7.27.1" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/d912110037b03b1d70a2436cfd51316d930366a5f54252da2bced1ba38642f644f848240a951e5caf12f1ef6c40d3d96baa92ea6e84800f2e891c15e97b25d50 + languageName: node + linkType: hard + +"@babel/types@npm:^7.21.3, @babel/types@npm:^7.27.1, @babel/types@npm:^7.4.4": + version: 7.27.1 + resolution: "@babel/types@npm:7.27.1" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + checksum: 10c0/ed736f14db2fdf0d36c539c8e06b6bb5e8f9649a12b5c0e1c516fed827f27ef35085abe08bf4d1302a4e20c9a254e762eed453bce659786d4a6e01ba26a91377 + languageName: node + linkType: hard + +"@colors/colors@npm:1.5.0": + version: 1.5.0 + resolution: "@colors/colors@npm:1.5.0" + checksum: 10c0/eb42729851adca56d19a08e48d5a1e95efd2a32c55ae0323de8119052be0510d4b7a1611f2abcbf28c044a6c11e6b7d38f99fccdad7429300c37a8ea5fb95b44 + languageName: node + linkType: hard + +"@csstools/cascade-layer-name-parser@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/cascade-layer-name-parser@npm:2.0.4" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/774f2bcc96a576183853191bdfd31df15e22c51901ee01678ee47f1d1afcb4ab0e6d9a78e08f7383ac089c7e0b390013633f45ff1f1d577c9aefd252589bcced + languageName: node + linkType: hard + +"@csstools/color-helpers@npm:^5.0.2": + version: 5.0.2 + resolution: "@csstools/color-helpers@npm:5.0.2" + checksum: 10c0/bebaddb28b9eb58b0449edd5d0c0318fa88f3cb079602ee27e88c9118070d666dcc4e09a5aa936aba2fde6ba419922ade07b7b506af97dd7051abd08dfb2959b + languageName: node + linkType: hard + +"@csstools/css-calc@npm:^2.1.3": + version: 2.1.3 + resolution: "@csstools/css-calc@npm:2.1.3" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/85f5b4f96d60f395d5f0108056b0ddee037b22d6deba448d74324b50f1c554de284f84715ebfac7b2888b78e09d20d02a7cd213ee7bdaa71011ea9b4eee3a251 + languageName: node + linkType: hard + +"@csstools/css-color-parser@npm:^3.0.9": + version: 3.0.9 + resolution: "@csstools/css-color-parser@npm:3.0.9" + dependencies: + "@csstools/color-helpers": "npm:^5.0.2" + "@csstools/css-calc": "npm:^2.1.3" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/acc026a6bd6d8c4c641fa5f9b4d77cd5dfa54c57c3278ae52329d96b5837723428dcb93c34db4062bbea2f45a98451119df06eaf39fd196aaf6368c59d799f20 + languageName: node + linkType: hard + +"@csstools/css-parser-algorithms@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/css-parser-algorithms@npm:3.0.4" + peerDependencies: + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/d411f07765e14eede17bccc6bd4f90ff303694df09aabfede3fd104b2dfacfd4fe3697cd25ddad14684c850328f3f9420ebfa9f78380892492974db24ae47dbd + languageName: node + linkType: hard + +"@csstools/css-tokenizer@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-tokenizer@npm:3.0.3" + checksum: 10c0/c31bf410e1244b942e71798e37c54639d040cb59e0121b21712b40015fced2b0fb1ffe588434c5f8923c9cd0017cfc1c1c8f3921abc94c96edf471aac2eba5e5 + languageName: node + linkType: hard + +"@csstools/media-query-list-parser@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/media-query-list-parser@npm:4.0.2" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/5d008a70f5d4fd96224066a433f5cdefa76cfd78a74416a20d6d5b2bb1bc8282b140e8373015d807d4dadb91daf3deb73eb13f853ec4e0479d0cb92e80c6f20d + languageName: node + linkType: hard + +"@csstools/postcss-cascade-layers@npm:^5.0.1": + version: 5.0.1 + resolution: "@csstools/postcss-cascade-layers@npm:5.0.1" + dependencies: + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5cc3c6f220d9216f7ab16e716a20d6db845f127c917521e6236342bfa871accd63eb662a04c1e24a28e396412dcb47b1c4abccc490b88e4010cd704d14a702f1 + languageName: node + linkType: hard + +"@csstools/postcss-color-function@npm:^4.0.9": + version: 4.0.9 + resolution: "@csstools/postcss-color-function@npm:4.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/11f7e8a1a4d6ff113706928eb4702454d18ee8d6b07166b98d33b499ba1933cdf034876101a9c3d22fcc009d054ca6fe2df1455daf391d5eb4af86fa6b530e75 + languageName: node + linkType: hard + +"@csstools/postcss-color-mix-function@npm:^3.0.9": + version: 3.0.9 + resolution: "@csstools/postcss-color-mix-function@npm:3.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/e26ecec62ac6085e8c46225e444bfb6082fffad1559005c0746226b22f995727c2e4ede0fb347e37c81e8f4f2ac9cf4de88800184a650638351f4cbfb8baf1d3 + languageName: node + linkType: hard + +"@csstools/postcss-content-alt-text@npm:^2.0.5": + version: 2.0.5 + resolution: "@csstools/postcss-content-alt-text@npm:2.0.5" + dependencies: + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/fd0543e8195b1a1228fa41995d48bafafb635d32b0b80bdae8edfc3af7fcccb75aa472a072e552420ed0bd2f62d38e764483e3b9cca25a41dc2b450098b2436d + languageName: node + linkType: hard + +"@csstools/postcss-exponential-functions@npm:^2.0.8": + version: 2.0.8 + resolution: "@csstools/postcss-exponential-functions@npm:2.0.8" + dependencies: + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8ed7cea3ab7b3fce351dc678c97aad0c12d9e9eae43c9793081fc09e2b3281a89a9d67e57df02d87b6af40839d582b5d08523a9f9bfabbd4e05e319995ae7789 + languageName: node + linkType: hard + +"@csstools/postcss-font-format-keywords@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-font-format-keywords@npm:4.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/eb794fb95fefcac75e606d185255e601636af177866a317b0c6b6c375055e7240be53918229fd8d4bba00df01bedd2256bdac2b0ad4a4c2ec64f9d27cd6ff639 + languageName: node + linkType: hard + +"@csstools/postcss-gamut-mapping@npm:^2.0.9": + version: 2.0.9 + resolution: "@csstools/postcss-gamut-mapping@npm:2.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/a5985c74bfa8c0fc4406cec807818e35949c73d62b6acd2901dbdd54a30afa7d2094f839ba550812bca76f0df95205492f271df4bab03f4b15115cf10b06b1b5 + languageName: node + linkType: hard + +"@csstools/postcss-gradients-interpolation-method@npm:^5.0.9": + version: 5.0.9 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/b284558e38c096e1abfb04306717e23eec841ab23979479adbe165332db84503493b74e6d23d7752abec9327b9bfc343857e9a2393957d5bb9fd2e249570467e + languageName: node + linkType: hard + +"@csstools/postcss-hwb-function@npm:^4.0.9": + version: 4.0.9 + resolution: "@csstools/postcss-hwb-function@npm:4.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/31f9b3540e8af221e1716944ed8719f97ae335e5f866dfc96a3d81f042ef8975ce0d6163925cb32514f4903cb35177bf8d814a571da3f44b63244f88b6b395ad + languageName: node + linkType: hard + +"@csstools/postcss-ic-unit@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/postcss-ic-unit@npm:4.0.1" + dependencies: + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/1097cbdc385bcf32e15df1ed2946477c5927e34ebaf273297f1ae46aeaf2084c7a63858ba1a7a5e1f241be441968a2e1c6deb43ddb101708110c7f608b6fc525 + languageName: node + linkType: hard + +"@csstools/postcss-initial@npm:^2.0.1": + version: 2.0.1 + resolution: "@csstools/postcss-initial@npm:2.0.1" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/dbff7084ef4f1c4647efe2b147001daf172003c15b5e22689f0540d03c8d362f2a332cd9cf136e6c8dcda7564ee30492a4267ea188f72cb9c1000fb9bcfbfef8 + languageName: node + linkType: hard + +"@csstools/postcss-is-pseudo-class@npm:^5.0.1": + version: 5.0.1 + resolution: "@csstools/postcss-is-pseudo-class@npm:5.0.1" + dependencies: + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/3aaab18ebb2dcf5565efa79813eaa987d40de1e086765358524392a09631c68ad1ee952e6aff8f42513b2c18ab84891787e065fe287f696128498fc641520b6c + languageName: node + linkType: hard + +"@csstools/postcss-light-dark-function@npm:^2.0.8": + version: 2.0.8 + resolution: "@csstools/postcss-light-dark-function@npm:2.0.8" + dependencies: + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5494516f52d467dcace80495a4fb0fbd24207ae13634bb82b5c24e5d52e84665aebc28cd31fed8d96a41e91bf822185aba5a3d01680a140278c484741516c383 + languageName: node + linkType: hard + +"@csstools/postcss-logical-float-and-clear@npm:^3.0.0": + version: 3.0.0 + resolution: "@csstools/postcss-logical-float-and-clear@npm:3.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/71a20e8c37877bf68ae615d7bb93fc11b4f8da8be8b1dc1a6e0fc69e27f189712ed71436b8ed51fa69fdb98b8e6718df2b5f42f246c4d39badaf0e43020fcfd4 + languageName: node + linkType: hard + +"@csstools/postcss-logical-overflow@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/postcss-logical-overflow@npm:2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/0e103343d3ff8b34eef01b02355c5e010d272fd12d149a242026bb13ab1577b7f3a11fd4514be9342d96f73d61dac1f093a9bd36ece591753ed09a84eb7fca0a + languageName: node + linkType: hard + +"@csstools/postcss-logical-overscroll-behavior@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/postcss-logical-overscroll-behavior@npm:2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/1649601bb26f04d760fb5ebc42cdf414fa2a380b8ec22fe1c117f664c286665a786bd7bbda01b7e7567eaf3cc018a4f36a5c9805f6751cc497da223e0ffe9524 + languageName: node + linkType: hard + +"@csstools/postcss-logical-resize@npm:^3.0.0": + version: 3.0.0 + resolution: "@csstools/postcss-logical-resize@npm:3.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/4f12efcaf5468ff359bb3f32f0f66034b9acc9b3ac21fcd2f30a1c8998fc653ebac0091f35c8b7e8dbfe6ccf595aee67f9b06a67adf45a8844e49a82d98b4386 + languageName: node + linkType: hard + +"@csstools/postcss-logical-viewport-units@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.3" + dependencies: + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8ec746598d7ce8697c3dafd83cb3a319a90079ad755dd78e3ec92f4ba9ad849c4cdaba33b16e9dcbac1e9489b3d7c48262030110c20ce1d88cdacbe9f5987cec + languageName: node + linkType: hard + +"@csstools/postcss-media-minmax@npm:^2.0.8": + version: 2.0.8 + resolution: "@csstools/postcss-media-minmax@npm:2.0.8" + dependencies: + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/aff72b83b888d3d0dc6441f219f7c2833a4aa0f59493da22db1087fce32763bb765f068c6ddedc0ddc6fe79f1843e6b1375af07fa572494ecac91e59b1dc324f + languageName: node + linkType: hard + +"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.4" + dependencies: + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/27dc9419b0f4315774647588f599348e7cc593984f59b414c51c910066501fd087cbe232deb762907c18bd21dd4184e7b6e0e0b730e5c72341ab9cc696c75739 + languageName: node + linkType: hard + +"@csstools/postcss-nested-calc@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-nested-calc@npm:4.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/fb61512fa4909bdf0ee32a23e771145086c445f2208a737b52093c8adfab7362c56d3aeaf2a6e33ffcec067e99a07219775465d2fbb1a3ac30cdcfb278b218b7 + languageName: node + linkType: hard + +"@csstools/postcss-normalize-display-values@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-normalize-display-values@npm:4.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/d3a3a362b532163bd791f97348ef28b7a43baf01987c7702b06285e751cdc5ea3e3a2553f088260515b4d28263d5c475923d4d4780ecb4078ec66dff50c9e638 + languageName: node + linkType: hard + +"@csstools/postcss-oklab-function@npm:^4.0.9": + version: 4.0.9 + resolution: "@csstools/postcss-oklab-function@npm:4.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/9955aafc1dfc0bb5c886b2af3a82abed2d0a707c7654b2b49886db4c7153e1a016f327f4cc0d94b5b28f3b6227d9b3422c63555f78412433655beec90f37b388 + languageName: node + linkType: hard + +"@csstools/postcss-progressive-custom-properties@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/postcss-progressive-custom-properties@npm:4.0.1" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/a33e2a67ac29e731b112df9718596f703990492900bb118c513fcee7c0dc0a03f58248b2c5467b14de3e757f0ef2c6d97882254af784d8df390c633780bdf1f9 + languageName: node + linkType: hard + +"@csstools/postcss-random-function@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/postcss-random-function@npm:2.0.0" + dependencies: + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/e0744b1472c4037b6491aac232d005659c0c65bc08af785cbdc50b722efaf71330e38607f4c88b54322338294f92ec68817ec1cd6e688953aa127f27cd2a5b00 + languageName: node + linkType: hard + +"@csstools/postcss-relative-color-syntax@npm:^3.0.9": + version: 3.0.9 + resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/486e6c91b1042ca96e6e5c3d94d95e343101c7862e772aee16cd48607633f7c93c42dd23b5adc44cfa8dc8cb32ef3ba0f1f86e3f9a23be5c8744533d23128624 + languageName: node + linkType: hard + +"@csstools/postcss-scope-pseudo-class@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/postcss-scope-pseudo-class@npm:4.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/6a0ca50fae655f4498200d1ce298ca794c85fbe2e3fd5d6419843254f055df5007a973e09b5f1e78e376c02b54278e411516c8d824300c68b265d3e5b311d7ee + languageName: node + linkType: hard + +"@csstools/postcss-sign-functions@npm:^1.1.3": + version: 1.1.3 + resolution: "@csstools/postcss-sign-functions@npm:1.1.3" + dependencies: + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/97998443191ab0ef370bdc413b4952fd86d9274700fade2a83cdf5d59f449a4a7001ceda35dd6cb45fefebafb0959be35c3fcfa0e3333c55b1658f514eb64e96 + languageName: node + linkType: hard + +"@csstools/postcss-stepped-value-functions@npm:^4.0.8": + version: 4.0.8 + resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.8" + dependencies: + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/515630c3d25029a5e3789d665ae7f4a394245e5442c79d99f0fff018c698e356680aea0f937819a00cb78563ce2285a43ede50e32992cee4e062e413d22df44f + languageName: node + linkType: hard + +"@csstools/postcss-text-decoration-shorthand@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/postcss-text-decoration-shorthand@npm:4.0.2" + dependencies: + "@csstools/color-helpers": "npm:^5.0.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/01e2f3717e7a42224dc1a746491c55a381cf208cb7588f0308eeefe730675be4c7bb56c0cc557e75999c981e67da7d0b0bb68610635752c89ef251ee435b9cac + languageName: node + linkType: hard + +"@csstools/postcss-trigonometric-functions@npm:^4.0.8": + version: 4.0.8 + resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.8" + dependencies: + "@csstools/css-calc": "npm:^2.1.3" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/609d03b752aae1c57d671eaefe4cdbde0a1d62c4b4d3ffb8bb39a41ebb61fdade7c7892a2c7c365d2997d9f93f4f3bb4034801a5baf1988b274120b3ec0ba6ad + languageName: node + linkType: hard + +"@csstools/postcss-unset-value@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-unset-value@npm:4.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8424ac700ded5bf59d49310335896f10c069e2c3fc6a676b5d13ca5a6fb78689b948f50494df875da284c4c76651deb005eafba70d87e693274628c5a685abfa + languageName: node + linkType: hard + +"@csstools/selector-resolve-nested@npm:^3.0.0": + version: 3.0.0 + resolution: "@csstools/selector-resolve-nested@npm:3.0.0" + peerDependencies: + postcss-selector-parser: ^7.0.0 + checksum: 10c0/2b01c36b3fa81388d5bddd8db962766465d76b021a815c8bb5a48c3a42c530154cc155fc496707ade627dbba6745eb8ecd9fa840c1972133c0f7d8811e0a959d + languageName: node + linkType: hard + +"@csstools/selector-specificity@npm:^5.0.0": + version: 5.0.0 + resolution: "@csstools/selector-specificity@npm:5.0.0" + peerDependencies: + postcss-selector-parser: ^7.0.0 + checksum: 10c0/186b444cabcdcdeb553bfe021f80c58bfe9ef38dcc444f2b1f34a5aab9be063ab4e753022b2d5792049c041c28cfbb78e4b707ec398459300e402030d35c07eb + languageName: node + linkType: hard + +"@csstools/utilities@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/utilities@npm:2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/be5c31437b726928f64cd4bb3e47f5b90bfd2e2a69a8eaabd8e89cc6c0977e4f0f7ee48de50c8ed8b07e04e3956a02293247e0da3236d521fb2e836f88f65822 + languageName: node + linkType: hard + +"@discoveryjs/json-ext@npm:0.5.7": + version: 0.5.7 + resolution: "@discoveryjs/json-ext@npm:0.5.7" + checksum: 10c0/e10f1b02b78e4812646ddf289b7d9f2cb567d336c363b266bd50cd223cf3de7c2c74018d91cd2613041568397ef3a4a2b500aba588c6e5bd78c38374ba68f38c + languageName: node + linkType: hard + +"@docsearch/css@npm:3.9.0": + version: 3.9.0 + resolution: "@docsearch/css@npm:3.9.0" + checksum: 10c0/6300551e1cab7a5487063ec3581ae78ddaee3d93ec799556b451054448559b3ba849751b825fbd8b678367ef944bd82b3f11bc1d9e74e08e3cc48db40487b396 + languageName: node + linkType: hard + +"@docsearch/react@npm:^3.5.2, @docsearch/react@npm:^3.8.1": + version: 3.9.0 + resolution: "@docsearch/react@npm:3.9.0" + dependencies: + "@algolia/autocomplete-core": "npm:1.17.9" + "@algolia/autocomplete-preset-algolia": "npm:1.17.9" + "@docsearch/css": "npm:3.9.0" + algoliasearch: "npm:^5.14.2" + peerDependencies: + "@types/react": ">= 16.8.0 < 20.0.0" + react: ">= 16.8.0 < 20.0.0" + react-dom: ">= 16.8.0 < 20.0.0" + search-insights: ">= 1 < 3" + peerDependenciesMeta: + "@types/react": + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + checksum: 10c0/5e737a5d9ef1daae1cd93e89870214c1ab0c36a3a2193e898db044bcc5d9de59f85228b2360ec0e8f10cdac7fd2fe3c6ec8a05d943ee7e17d6c1cef2e6e9ff2d + languageName: node + linkType: hard + +"@docusaurus/babel@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/babel@npm:3.7.0" + dependencies: + "@babel/core": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/plugin-transform-runtime": "npm:^7.25.9" + "@babel/preset-env": "npm:^7.25.9" + "@babel/preset-react": "npm:^7.25.9" + "@babel/preset-typescript": "npm:^7.25.9" + "@babel/runtime": "npm:^7.25.9" + "@babel/runtime-corejs3": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + babel-plugin-dynamic-import-node: "npm:^2.3.3" + fs-extra: "npm:^11.1.1" + tslib: "npm:^2.6.0" + checksum: 10c0/563ad2a95f690d8d0172acd64f96202d646072dde042edd4d80d39ad01b6fb026a2d5fe124d0e3fc3a7447120ebca15a0b1ef5f5ea431905cae80596584d722f + languageName: node + linkType: hard + +"@docusaurus/bundler@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/bundler@npm:3.7.0" + dependencies: + "@babel/core": "npm:^7.25.9" + "@docusaurus/babel": "npm:3.7.0" + "@docusaurus/cssnano-preset": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + babel-loader: "npm:^9.2.1" + clean-css: "npm:^5.3.2" + copy-webpack-plugin: "npm:^11.0.0" + css-loader: "npm:^6.8.1" + css-minimizer-webpack-plugin: "npm:^5.0.1" + cssnano: "npm:^6.1.2" + file-loader: "npm:^6.2.0" + html-minifier-terser: "npm:^7.2.0" + mini-css-extract-plugin: "npm:^2.9.1" + null-loader: "npm:^4.0.1" + postcss: "npm:^8.4.26" + postcss-loader: "npm:^7.3.3" + postcss-preset-env: "npm:^10.1.0" + react-dev-utils: "npm:^12.0.1" + terser-webpack-plugin: "npm:^5.3.9" + tslib: "npm:^2.6.0" + url-loader: "npm:^4.1.1" + webpack: "npm:^5.95.0" + webpackbar: "npm:^6.0.1" + peerDependencies: + "@docusaurus/faster": "*" + peerDependenciesMeta: + "@docusaurus/faster": + optional: true + checksum: 10c0/79e167e704c8fcae106a9edd7e7b8082d432bb634f51802cc92124e7409ddd227aa9c89ac46776a4fbee7c5729dac61656f5aeade997677e4076f3c0d837a2bb + languageName: node + linkType: hard + +"@docusaurus/core@npm:3.7.0, @docusaurus/core@npm:^3.7.0": + version: 3.7.0 + resolution: "@docusaurus/core@npm:3.7.0" + dependencies: + "@docusaurus/babel": "npm:3.7.0" + "@docusaurus/bundler": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/mdx-loader": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + boxen: "npm:^6.2.1" + chalk: "npm:^4.1.2" + chokidar: "npm:^3.5.3" + cli-table3: "npm:^0.6.3" + combine-promises: "npm:^1.1.0" + commander: "npm:^5.1.0" + core-js: "npm:^3.31.1" + del: "npm:^6.1.1" + detect-port: "npm:^1.5.1" + escape-html: "npm:^1.0.3" + eta: "npm:^2.2.0" + eval: "npm:^0.1.8" + fs-extra: "npm:^11.1.1" + html-tags: "npm:^3.3.1" + html-webpack-plugin: "npm:^5.6.0" + leven: "npm:^3.1.0" + lodash: "npm:^4.17.21" + p-map: "npm:^4.0.0" + prompts: "npm:^2.4.2" + react-dev-utils: "npm:^12.0.1" + react-helmet-async: "npm:@slorber/react-helmet-async@1.3.0" + react-loadable: "npm:@docusaurus/react-loadable@6.0.0" + react-loadable-ssr-addon-v5-slorber: "npm:^1.0.1" + react-router: "npm:^5.3.4" + react-router-config: "npm:^5.1.1" + react-router-dom: "npm:^5.3.4" + semver: "npm:^7.5.4" + serve-handler: "npm:^6.1.6" + shelljs: "npm:^0.8.5" + tslib: "npm:^2.6.0" + update-notifier: "npm:^6.0.2" + webpack: "npm:^5.95.0" + webpack-bundle-analyzer: "npm:^4.10.2" + webpack-dev-server: "npm:^4.15.2" + webpack-merge: "npm:^6.0.1" + peerDependencies: + "@mdx-js/react": ^3.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + bin: + docusaurus: bin/docusaurus.mjs + checksum: 10c0/2b1034d27107da820f71c15d430aac308e9d63c2c144a1b2aff96927b4e703bd6abaae61a8a3434f5bb4eb25ca34ed793b2b5e6ddb9d2b41ce6e98332b281da4 + languageName: node + linkType: hard + +"@docusaurus/cssnano-preset@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/cssnano-preset@npm:3.7.0" + dependencies: + cssnano-preset-advanced: "npm:^6.1.2" + postcss: "npm:^8.4.38" + postcss-sort-media-queries: "npm:^5.2.0" + tslib: "npm:^2.6.0" + checksum: 10c0/e6324c50bb946da60692ec387ff1708d3e0ec91f60add539412ba92d92278b843b85c66b861dcb0f089697d5e42698b5c9786f9264cae8835789126c6451911a + languageName: node + linkType: hard + +"@docusaurus/logger@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/logger@npm:3.7.0" + dependencies: + chalk: "npm:^4.1.2" + tslib: "npm:^2.6.0" + checksum: 10c0/48f1b13d5f17d27515313f593f2d23b6efe29038dddaf914fd2bec9e8b598d2d7f972d8ae7b09827c9874835a7984101208287c0b93dfa3fe8c5357198378214 + languageName: node + linkType: hard + +"@docusaurus/mdx-loader@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/mdx-loader@npm:3.7.0" + dependencies: + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + "@mdx-js/mdx": "npm:^3.0.0" + "@slorber/remark-comment": "npm:^1.0.0" + escape-html: "npm:^1.0.3" + estree-util-value-to-estree: "npm:^3.0.1" + file-loader: "npm:^6.2.0" + fs-extra: "npm:^11.1.1" + image-size: "npm:^1.0.2" + mdast-util-mdx: "npm:^3.0.0" + mdast-util-to-string: "npm:^4.0.0" + rehype-raw: "npm:^7.0.0" + remark-directive: "npm:^3.0.0" + remark-emoji: "npm:^4.0.0" + remark-frontmatter: "npm:^5.0.0" + remark-gfm: "npm:^4.0.0" + stringify-object: "npm:^3.3.0" + tslib: "npm:^2.6.0" + unified: "npm:^11.0.3" + unist-util-visit: "npm:^5.0.0" + url-loader: "npm:^4.1.1" + vfile: "npm:^6.0.1" + webpack: "npm:^5.88.1" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/08b397334b46230486cfd3b67d5d760087902b376201f2a870d33c9228671fe81d53358bb0fa1f441d69a844685ff60315f414ce717c5801dc7d7bb362dcf1c6 + languageName: node + linkType: hard + +"@docusaurus/module-type-aliases@npm:3.7.0, @docusaurus/module-type-aliases@npm:^3.7.0": + version: 3.7.0 + resolution: "@docusaurus/module-type-aliases@npm:3.7.0" + dependencies: + "@docusaurus/types": "npm:3.7.0" + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + "@types/react-router-config": "npm:*" + "@types/react-router-dom": "npm:*" + react-helmet-async: "npm:@slorber/react-helmet-async@*" + react-loadable: "npm:@docusaurus/react-loadable@6.0.0" + peerDependencies: + react: "*" + react-dom: "*" + checksum: 10c0/fca90450afb0aaafbae20b70adc2b35af81fff20a1d0fcf3c652b0200ac9be870add257e577e227854b20b9ca375fa53f99242435d2576dfeb7ee791d3fb25ae + languageName: node + linkType: hard + +"@docusaurus/plugin-client-redirects@npm:^3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-client-redirects@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + eta: "npm:^2.2.0" + fs-extra: "npm:^11.1.1" + lodash: "npm:^4.17.21" + tslib: "npm:^2.6.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/ecdd5061a683541125f14b0f1e5e1afcecefc358bf16e1b71c8e4c66ae8f70f03fd18f00fcbb3525229c8692f8976158eaee1791a68baa7451047d521d619b95 + languageName: node + linkType: hard + +"@docusaurus/plugin-content-blog@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-content-blog@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/mdx-loader": "npm:3.7.0" + "@docusaurus/theme-common": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + cheerio: "npm:1.0.0-rc.12" + feed: "npm:^4.2.2" + fs-extra: "npm:^11.1.1" + lodash: "npm:^4.17.21" + reading-time: "npm:^1.5.0" + srcset: "npm:^4.0.0" + tslib: "npm:^2.6.0" + unist-util-visit: "npm:^5.0.0" + utility-types: "npm:^3.10.0" + webpack: "npm:^5.88.1" + peerDependencies: + "@docusaurus/plugin-content-docs": "*" + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/8eb1e4f673763a3d5e727cbfe867b5334c67c65ca0804bcd81b818ca62e9ff33cf9c0db013958a40c590327bf4b8037cd5d510f39bc699e6ede8f02680f3af1b + languageName: node + linkType: hard + +"@docusaurus/plugin-content-docs@npm:3.7.0, @docusaurus/plugin-content-docs@npm:^3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-content-docs@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/mdx-loader": "npm:3.7.0" + "@docusaurus/module-type-aliases": "npm:3.7.0" + "@docusaurus/theme-common": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + "@types/react-router-config": "npm:^5.0.7" + combine-promises: "npm:^1.1.0" + fs-extra: "npm:^11.1.1" + js-yaml: "npm:^4.1.0" + lodash: "npm:^4.17.21" + tslib: "npm:^2.6.0" + utility-types: "npm:^3.10.0" + webpack: "npm:^5.88.1" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/eab3810b1b34d0b037cd802747892ece163d818013b4c33a9db40f973df05a6c12a3120f746afa2648b9c2c2b1ec711d6c4552a4cc8e2d904522c355cc02de71 + languageName: node + linkType: hard + +"@docusaurus/plugin-content-pages@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-content-pages@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/mdx-loader": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + fs-extra: "npm:^11.1.1" + tslib: "npm:^2.6.0" + webpack: "npm:^5.88.1" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/7f1df2f4eb9c4f74af1bfbd7a3fed9874e1bdc06a9d9772584e3f121d63c9686bc6e1c2d9e3304a95cb24b8f12db342ac28132fe08c0082a2cf925a347dd8115 + languageName: node + linkType: hard + +"@docusaurus/plugin-debug@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-debug@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + fs-extra: "npm:^11.1.1" + react-json-view-lite: "npm:^1.2.0" + tslib: "npm:^2.6.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/968a1c14ebe7fed9775269f1b6b86dbe09efbf48d2f0c9ac9ee5572fda9d22b41c970001b58b947d078419b42af6d70f60e87c1d8f24f92c7ce422f364ec32eb + languageName: node + linkType: hard + +"@docusaurus/plugin-google-analytics@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-google-analytics@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + tslib: "npm:^2.6.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/f3881ac270ee38f582563f679d33e4755bfb24c5bf57f31185d8e7caebf7e9e73a480e57c7db88e4f3b15c0176a6b092919b1e4bed078fad58333076aeb116cf + languageName: node + linkType: hard + +"@docusaurus/plugin-google-gtag@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-google-gtag@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + "@types/gtag.js": "npm:^0.0.12" + tslib: "npm:^2.6.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/899429408e2ff95504f8e9c79ffa23877fb717e12746d94d7e96d448a539f04f848b6111b99a15cd08af47b792d0ae2d985fd4af342263b713116cf835058f43 + languageName: node + linkType: hard + +"@docusaurus/plugin-google-tag-manager@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-google-tag-manager@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + tslib: "npm:^2.6.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/9980d71196835e25f548ebbeac18181914e23c6f07b0441659a12bdfd4fbc15f41b9bfe97b314aae2d8e0e49c0cfd9f38f372452b0a92f3b9a48d2568104f0b9 + languageName: node + linkType: hard + +"@docusaurus/plugin-sitemap@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-sitemap@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + fs-extra: "npm:^11.1.1" + sitemap: "npm:^7.1.1" + tslib: "npm:^2.6.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/06cce94a8bb81adb87903776086c16fc77029c418b7f07d96506d6ed4d569a7ce3a816627d74f15c1c6a1a98f0ce278c9fc12ca05246c8af8742c12d3b145f30 + languageName: node + linkType: hard + +"@docusaurus/plugin-svgr@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/plugin-svgr@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + "@svgr/core": "npm:8.1.0" + "@svgr/webpack": "npm:^8.1.0" + tslib: "npm:^2.6.0" + webpack: "npm:^5.88.1" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/c776758b43db2dfeef234197c98345efb4d28a57f29d0158ea0a3f542391de063cd4f535f15f150d0311aee9de000d126b5730cf1e143120baa6c5a8ea1b527f + languageName: node + linkType: hard + +"@docusaurus/preset-classic@npm:^3.7.0": + version: 3.7.0 + resolution: "@docusaurus/preset-classic@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/plugin-content-blog": "npm:3.7.0" + "@docusaurus/plugin-content-docs": "npm:3.7.0" + "@docusaurus/plugin-content-pages": "npm:3.7.0" + "@docusaurus/plugin-debug": "npm:3.7.0" + "@docusaurus/plugin-google-analytics": "npm:3.7.0" + "@docusaurus/plugin-google-gtag": "npm:3.7.0" + "@docusaurus/plugin-google-tag-manager": "npm:3.7.0" + "@docusaurus/plugin-sitemap": "npm:3.7.0" + "@docusaurus/plugin-svgr": "npm:3.7.0" + "@docusaurus/theme-classic": "npm:3.7.0" + "@docusaurus/theme-common": "npm:3.7.0" + "@docusaurus/theme-search-algolia": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/25a77c337168f32ce7d6df9b9222c1b21dc3414506841bd4b72be058e10ccfac3ca4e27a392f14f2b591f36815131ed2240795b77d566630980b92952c41897a + languageName: node + linkType: hard + +"@docusaurus/theme-classic@npm:3.7.0, @docusaurus/theme-classic@npm:^3.7.0": + version: 3.7.0 + resolution: "@docusaurus/theme-classic@npm:3.7.0" + dependencies: + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/mdx-loader": "npm:3.7.0" + "@docusaurus/module-type-aliases": "npm:3.7.0" + "@docusaurus/plugin-content-blog": "npm:3.7.0" + "@docusaurus/plugin-content-docs": "npm:3.7.0" + "@docusaurus/plugin-content-pages": "npm:3.7.0" + "@docusaurus/theme-common": "npm:3.7.0" + "@docusaurus/theme-translations": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + "@mdx-js/react": "npm:^3.0.0" + clsx: "npm:^2.0.0" + copy-text-to-clipboard: "npm:^3.2.0" + infima: "npm:0.2.0-alpha.45" + lodash: "npm:^4.17.21" + nprogress: "npm:^0.2.0" + postcss: "npm:^8.4.26" + prism-react-renderer: "npm:^2.3.0" + prismjs: "npm:^1.29.0" + react-router-dom: "npm:^5.3.4" + rtlcss: "npm:^4.1.0" + tslib: "npm:^2.6.0" + utility-types: "npm:^3.10.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/e2ec1fdaedc71add6ae1e8ee83ae32132c679afe407850185fbbec82f96c66a3befd506df73a0de0d9e03333c04801017f4c668e63851cb6e814f2ddf6973ad0 + languageName: node + linkType: hard + +"@docusaurus/theme-common@npm:3.7.0, @docusaurus/theme-common@npm:^3.7.0": + version: 3.7.0 + resolution: "@docusaurus/theme-common@npm:3.7.0" + dependencies: + "@docusaurus/mdx-loader": "npm:3.7.0" + "@docusaurus/module-type-aliases": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + "@types/react-router-config": "npm:*" + clsx: "npm:^2.0.0" + parse-numeric-range: "npm:^1.3.0" + prism-react-renderer: "npm:^2.3.0" + tslib: "npm:^2.6.0" + utility-types: "npm:^3.10.0" + peerDependencies: + "@docusaurus/plugin-content-docs": "*" + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/4b5ba21d2d5807a9582cd1fe5280fa0637a7debb8313253793d35435ce92e119406d47564766ec0bf0f93d7d2f8da412883ea4b16972f79bee5bda20ac6f354e + languageName: node + linkType: hard + +"@docusaurus/theme-search-algolia@npm:3.7.0, @docusaurus/theme-search-algolia@npm:^3.7.0": + version: 3.7.0 + resolution: "@docusaurus/theme-search-algolia@npm:3.7.0" + dependencies: + "@docsearch/react": "npm:^3.8.1" + "@docusaurus/core": "npm:3.7.0" + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/plugin-content-docs": "npm:3.7.0" + "@docusaurus/theme-common": "npm:3.7.0" + "@docusaurus/theme-translations": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-validation": "npm:3.7.0" + algoliasearch: "npm:^5.17.1" + algoliasearch-helper: "npm:^3.22.6" + clsx: "npm:^2.0.0" + eta: "npm:^2.2.0" + fs-extra: "npm:^11.1.1" + lodash: "npm:^4.17.21" + tslib: "npm:^2.6.0" + utility-types: "npm:^3.10.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/4766e2571b64cc895e7ab3af750e9158527f3ebe238605f325defe755ddd938af9b01d711b932b3c6639b31b2d69a6f360b2870fa1104599829c276a30457f6e + languageName: node + linkType: hard + +"@docusaurus/theme-translations@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/theme-translations@npm:3.7.0" + dependencies: + fs-extra: "npm:^11.1.1" + tslib: "npm:^2.6.0" + checksum: 10c0/47721f98fdaa34004e2df555e89dd4d751942c9d8efe2df3816bc6b761a068058e31887086a1d1498394fc53c859340b6ce9e15ee65e926e05c7c1e2429497ad + languageName: node + linkType: hard + +"@docusaurus/tsconfig@npm:^3.7.0": + version: 3.7.0 + resolution: "@docusaurus/tsconfig@npm:3.7.0" + checksum: 10c0/22a076fa3cf6da25a76f87fbe5b37c09997f5a8729fdc1a69c0c7955dff9f9850f16dc1de8c6d5096d258a95c428fb8839b252b9dbaa648acb7de8a0e5889dea + languageName: node + linkType: hard + +"@docusaurus/types@npm:3.7.0, @docusaurus/types@npm:^3.7.0": + version: 3.7.0 + resolution: "@docusaurus/types@npm:3.7.0" + dependencies: + "@mdx-js/mdx": "npm:^3.0.0" + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + commander: "npm:^5.1.0" + joi: "npm:^17.9.2" + react-helmet-async: "npm:@slorber/react-helmet-async@1.3.0" + utility-types: "npm:^3.10.0" + webpack: "npm:^5.95.0" + webpack-merge: "npm:^5.9.0" + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/256d3b579e0f663096d915cfd34851564a243dd3b587901f0b8de7988ea021bf4c9f9bcb9d632f52cddb37f53959be8d93728421ddbba7f9c98a36f0dec454cd + languageName: node + linkType: hard + +"@docusaurus/utils-common@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/utils-common@npm:3.7.0" + dependencies: + "@docusaurus/types": "npm:3.7.0" + tslib: "npm:^2.6.0" + checksum: 10c0/a02dc936f256ceb1a95e57556d556bd57576124eb903928fccfa19e3fa098ee5a2e637663b372c8f797c50ab9df7c0e94f59b3b728198a408fa191689f2aa7e7 + languageName: node + linkType: hard + +"@docusaurus/utils-validation@npm:3.7.0, @docusaurus/utils-validation@npm:^3": + version: 3.7.0 + resolution: "@docusaurus/utils-validation@npm:3.7.0" + dependencies: + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/utils": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + fs-extra: "npm:^11.2.0" + joi: "npm:^17.9.2" + js-yaml: "npm:^4.1.0" + lodash: "npm:^4.17.21" + tslib: "npm:^2.6.0" + checksum: 10c0/f0b67f93879b23c3238f66dde0361999399e40a61bb2531ba044939d136ed112e4d0304a598f718942e897d6abd3fd4e75d03d21e559fc2197a0d6324926668f + languageName: node + linkType: hard + +"@docusaurus/utils@npm:3.7.0": + version: 3.7.0 + resolution: "@docusaurus/utils@npm:3.7.0" + dependencies: + "@docusaurus/logger": "npm:3.7.0" + "@docusaurus/types": "npm:3.7.0" + "@docusaurus/utils-common": "npm:3.7.0" + escape-string-regexp: "npm:^4.0.0" + file-loader: "npm:^6.2.0" + fs-extra: "npm:^11.1.1" + github-slugger: "npm:^1.5.0" + globby: "npm:^11.1.0" + gray-matter: "npm:^4.0.3" + jiti: "npm:^1.20.0" + js-yaml: "npm:^4.1.0" + lodash: "npm:^4.17.21" + micromatch: "npm:^4.0.5" + prompts: "npm:^2.4.2" + resolve-pathname: "npm:^3.0.0" + shelljs: "npm:^0.8.5" + tslib: "npm:^2.6.0" + url-loader: "npm:^4.1.1" + utility-types: "npm:^3.10.0" + webpack: "npm:^5.88.1" + checksum: 10c0/8d6dbb5c776e0cbf0c8437a81d0d97ff6f51ca259c9d3baa0e1b26849e48a016d02fb2ec80290dc2b8e434ca3dd1388ad4b44de2d101d5edea50de64531ccef1 + languageName: node + linkType: hard + +"@gracefullight/docusaurus-plugin-vercel-analytics@npm:^1.0.0": + version: 1.0.1 + resolution: "@gracefullight/docusaurus-plugin-vercel-analytics@npm:1.0.1" + dependencies: + "@docusaurus/utils-validation": "npm:^3" + checksum: 10c0/b17c05a16bdfff2fca8ce41001f6fe7cff0ce571ce18a9c484f67e6f51732a1f0589620750b8fc3b484d6b5db993d5904245dbcb4aeae010b84456e72c795f62 + languageName: node + linkType: hard + +"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": + version: 9.3.0 + resolution: "@hapi/hoek@npm:9.3.0" + checksum: 10c0/a096063805051fb8bba4c947e293c664b05a32b47e13bc654c0dd43813a1cec993bdd8f29ceb838020299e1d0f89f68dc0d62a603c13c9cc8541963f0beca055 + languageName: node + linkType: hard + +"@hapi/topo@npm:^5.1.0": + version: 5.1.0 + resolution: "@hapi/topo@npm:5.1.0" + dependencies: + "@hapi/hoek": "npm:^9.0.0" + checksum: 10c0/b16b06d9357947149e032bdf10151eb71aea8057c79c4046bf32393cb89d0d0f7ca501c40c0f7534a5ceca078de0700d2257ac855c15e59fe4e00bba2f25c86f + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jest/types@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/types@npm:29.6.3" + dependencies: + "@jest/schemas": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + "@types/istanbul-reports": "npm:^3.0.0" + "@types/node": "npm:*" + "@types/yargs": "npm:^17.0.8" + chalk: "npm:^4.0.0" + checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.8 + resolution: "@jridgewell/gen-mapping@npm:0.3.8" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/c668feaf86c501d7c804904a61c23c67447b2137b813b9ce03eca82cb9d65ac7006d766c218685d76e3d72828279b6ee26c347aa1119dab23fbaf36aed51585a + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 + languageName: node + linkType: hard + +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.6 + resolution: "@jridgewell/source-map@npm:0.3.6" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + checksum: 10c0/6a4ecc713ed246ff8e5bdcc1ef7c49aaa93f7463d948ba5054dda18b02dcc6a055e2828c577bcceee058f302ce1fc95595713d44f5c45e43d459f88d267f2f04 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + languageName: node + linkType: hard + +"@leichtgewicht/ip-codec@npm:^2.0.1": + version: 2.0.5 + resolution: "@leichtgewicht/ip-codec@npm:2.0.5" + checksum: 10c0/14a0112bd59615eef9e3446fea018045720cd3da85a98f801a685a818b0d96ef2a1f7227e8d271def546b2e2a0fe91ef915ba9dc912ab7967d2317b1a051d66b + languageName: node + linkType: hard + +"@mdx-js/mdx@npm:^3.0.0": + version: 3.1.0 + resolution: "@mdx-js/mdx@npm:3.1.0" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdx": "npm:^2.0.0" + collapse-white-space: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + estree-util-scope: "npm:^1.0.0" + estree-walker: "npm:^3.0.0" + hast-util-to-jsx-runtime: "npm:^2.0.0" + markdown-extensions: "npm:^2.0.0" + recma-build-jsx: "npm:^1.0.0" + recma-jsx: "npm:^1.0.0" + recma-stringify: "npm:^1.0.0" + rehype-recma: "npm:^1.0.0" + remark-mdx: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-rehype: "npm:^11.0.0" + source-map: "npm:^0.7.0" + unified: "npm:^11.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + unist-util-stringify-position: "npm:^4.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/e586ab772dcfee2bab334d5aac54c711e6d6d550085271c38a49c629b3e3954b5f41f488060761284a5e00649d0638d6aba6c0a7c66f91db80dee0ccc304ab32 + languageName: node + linkType: hard + +"@mdx-js/react@npm:^3.0.0": + version: 3.1.0 + resolution: "@mdx-js/react@npm:3.1.0" + dependencies: + "@types/mdx": "npm:^2.0.0" + peerDependencies: + "@types/react": ">=16" + react: ">=16" + checksum: 10c0/381ed1211ba2b8491bf0ad9ef0d8d1badcdd114e1931d55d44019d4b827cc2752586708f9c7d2f9c3244150ed81f1f671a6ca95fae0edd5797fb47a22e06ceca + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@pnpm/config.env-replace@npm:^1.1.0": + version: 1.1.0 + resolution: "@pnpm/config.env-replace@npm:1.1.0" + checksum: 10c0/4cfc4a5c49ab3d0c6a1f196cfd4146374768b0243d441c7de8fa7bd28eaab6290f514b98490472cc65dbd080d34369447b3e9302585e1d5c099befd7c8b5e55f + languageName: node + linkType: hard + +"@pnpm/network.ca-file@npm:^1.0.1": + version: 1.0.2 + resolution: "@pnpm/network.ca-file@npm:1.0.2" + dependencies: + graceful-fs: "npm:4.2.10" + checksum: 10c0/95f6e0e38d047aca3283550719155ce7304ac00d98911e4ab026daedaf640a63bd83e3d13e17c623fa41ac72f3801382ba21260bcce431c14fbbc06430ecb776 + languageName: node + linkType: hard + +"@pnpm/npm-conf@npm:^2.1.0": + version: 2.3.1 + resolution: "@pnpm/npm-conf@npm:2.3.1" + dependencies: + "@pnpm/config.env-replace": "npm:^1.1.0" + "@pnpm/network.ca-file": "npm:^1.0.1" + config-chain: "npm:^1.1.11" + checksum: 10c0/778a3a34ff7d6000a2594d2a9821f873f737bc56367865718b2cf0ba5d366e49689efe7975148316d7afd8e6f1dcef7d736fbb6ea7ef55caadd1dc93a36bb302 + languageName: node + linkType: hard + +"@polka/url@npm:^1.0.0-next.24": + version: 1.0.0-next.29 + resolution: "@polka/url@npm:1.0.0-next.29" + checksum: 10c0/0d58e081844095cb029d3c19a659bfefd09d5d51a2f791bc61eba7ea826f13d6ee204a8a448c2f5a855c17df07b37517373ff916dd05801063c0568ae9937684 + languageName: node + linkType: hard + +"@sideway/address@npm:^4.1.5": + version: 4.1.5 + resolution: "@sideway/address@npm:4.1.5" + dependencies: + "@hapi/hoek": "npm:^9.0.0" + checksum: 10c0/638eb6f7e7dba209053dd6c8da74d7cc995e2b791b97644d0303a7dd3119263bcb7225a4f6804d4db2bc4f96e5a9d262975a014f58eae4d1753c27cbc96ef959 + languageName: node + linkType: hard + +"@sideway/formula@npm:^3.0.1": + version: 3.0.1 + resolution: "@sideway/formula@npm:3.0.1" + checksum: 10c0/3fe81fa9662efc076bf41612b060eb9b02e846ea4bea5bd114f1662b7f1541e9dedcf98aff0d24400bcb92f113964a50e0290b86e284edbdf6346fa9b7e2bf2c + languageName: node + linkType: hard + +"@sideway/pinpoint@npm:^2.0.0": + version: 2.0.0 + resolution: "@sideway/pinpoint@npm:2.0.0" + checksum: 10c0/d2ca75dacaf69b8fc0bb8916a204e01def3105ee44d8be16c355e5f58189eb94039e15ce831f3d544f229889ccfa35562a0ce2516179f3a7ee1bbe0b71e55b36 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^4.6.0": + version: 4.6.0 + resolution: "@sindresorhus/is@npm:4.6.0" + checksum: 10c0/33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^5.2.0": + version: 5.6.0 + resolution: "@sindresorhus/is@npm:5.6.0" + checksum: 10c0/66727344d0c92edde5760b5fd1f8092b717f2298a162a5f7f29e4953e001479927402d9d387e245fb9dc7d3b37c72e335e93ed5875edfc5203c53be8ecba1b52 + languageName: node + linkType: hard + +"@slorber/remark-comment@npm:^1.0.0": + version: 1.0.0 + resolution: "@slorber/remark-comment@npm:1.0.0" + dependencies: + micromark-factory-space: "npm:^1.0.0" + micromark-util-character: "npm:^1.1.0" + micromark-util-symbol: "npm:^1.0.1" + checksum: 10c0/b8da9d8f560740959c421d3ce5be43952eace1c95cb65402d9473a15e66463346a37fb5f121a6b22a83af51e8845b0b4ff3c321f14ce31bd58fb126acf6c8ed9 + languageName: node + linkType: hard + +"@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a50bd0baa34faf16bcba712091f94c7f0e230431fe99a9dfc3401fa92823ad3f68495b86ab9bf9044b53839e8c416cfbb37eb3f246ff33f261e0fa9ee1779c5b + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8a98e59bd9971e066815b4129409932f7a4db4866834fe75677ea6d517972fb40b380a69a4413189f20e7947411f9ab1b0f029dd5e8068686a5a0188d3ccd4c7 + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/517dcca75223bd05d3f056a8514dbba3031278bea4eadf0842c576d84f4651e7a4e0e7082d3ee4ef42456de0f9c4531d8a1917c04876ca64b014b859ca8f1bde + languageName: node + linkType: hard + +"@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/004bd1892053b7e9c1b0bb14acc44e77634ec393722b87b1e4fae53e2c35122a2dd0d5c15e9070dbeec274e22e7693a2b8b48506733a8009ee92b12946fcb10a + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/80e0a7fcf902f984c705051ca5c82ea6050ccbb70b651a8fea6d0eb5809e4dac274b49ea6be2d87f1eb9dfc0e2d6cdfffe1669ec2117f44b67a60a07d4c0b8b8 + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/73e92c8277a89279745c0c500f59f083279a8dc30cd552b22981fade2a77628fb2bd2819ee505725fcd2e93f923e3790b52efcff409a159e657b46604a0b9a21 + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/655ed6bc7a208ceaa4ecff0a54ccc36008c3cb31efa90d11e171cab325ebbb21aa78f09c7b65f9b3ddeda3a85f348c0c862902c48be13c14b4de165c847974e3 + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-svg-component@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-transform-svg-component@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4ac00bb99a3db4ef05e4362f116a3c608ee365a2d26cf7318d8d41a4a5b30a02c80455cce0e62c65b60ed815b5d632bedabac2ccd4b56f998fadef5286e3ded4 + languageName: node + linkType: hard + +"@svgr/babel-preset@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-preset@npm:8.1.0" + dependencies: + "@svgr/babel-plugin-add-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression": "npm:8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value": "npm:8.0.0" + "@svgr/babel-plugin-svg-dynamic-title": "npm:8.0.0" + "@svgr/babel-plugin-svg-em-dimensions": "npm:8.0.0" + "@svgr/babel-plugin-transform-react-native-svg": "npm:8.1.0" + "@svgr/babel-plugin-transform-svg-component": "npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/49367d3ad0831f79b1056871b91766246f449d4d1168623af5e283fbaefce4a01d77ab00de6b045b55e956f9aae27895823198493cd232d88d3435ea4517ffc5 + languageName: node + linkType: hard + +"@svgr/core@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/core@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@svgr/babel-preset": "npm:8.1.0" + camelcase: "npm:^6.2.0" + cosmiconfig: "npm:^8.1.3" + snake-case: "npm:^3.0.4" + checksum: 10c0/6a2f6b1bc79bce39f66f088d468985d518005fc5147ebf4f108570a933818b5951c2cb7da230ddff4b7c8028b5a672b2d33aa2acce012b8b9770073aa5a2d041 + languageName: node + linkType: hard + +"@svgr/hast-util-to-babel-ast@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/hast-util-to-babel-ast@npm:8.0.0" + dependencies: + "@babel/types": "npm:^7.21.3" + entities: "npm:^4.4.0" + checksum: 10c0/f4165b583ba9eaf6719e598977a7b3ed182f177983e55f9eb55a6a73982d81277510e9eb7ab41f255151fb9ed4edd11ac4bef95dd872f04ed64966d8c85e0f79 + languageName: node + linkType: hard + +"@svgr/plugin-jsx@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/plugin-jsx@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@svgr/babel-preset": "npm:8.1.0" + "@svgr/hast-util-to-babel-ast": "npm:8.0.0" + svg-parser: "npm:^2.0.4" + peerDependencies: + "@svgr/core": "*" + checksum: 10c0/07b4d9e00de795540bf70556fa2cc258774d01e97a12a26234c6fdf42b309beb7c10f31ee24d1a71137239347b1547b8bb5587d3a6de10669f95dcfe99cddc56 + languageName: node + linkType: hard + +"@svgr/plugin-svgo@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/plugin-svgo@npm:8.1.0" + dependencies: + cosmiconfig: "npm:^8.1.3" + deepmerge: "npm:^4.3.1" + svgo: "npm:^3.0.2" + peerDependencies: + "@svgr/core": "*" + checksum: 10c0/bfd25460f23f1548bfb8f6f3bedd6d6972c1a4f8881bd35a4f8c115218da6e999e8f9ac0ef0ed88c4e0b93fcec37f382b94c0322f4ec2b26752a89e5cc8b9d7a + languageName: node + linkType: hard + +"@svgr/webpack@npm:^8.1.0": + version: 8.1.0 + resolution: "@svgr/webpack@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@babel/plugin-transform-react-constant-elements": "npm:^7.21.3" + "@babel/preset-env": "npm:^7.20.2" + "@babel/preset-react": "npm:^7.18.6" + "@babel/preset-typescript": "npm:^7.21.0" + "@svgr/core": "npm:8.1.0" + "@svgr/plugin-jsx": "npm:8.1.0" + "@svgr/plugin-svgo": "npm:8.1.0" + checksum: 10c0/4c1cac45bd5890de8643e5a7bfb71f3bcd8b85ae5bbacf10b8ad9f939b7a98e8d601c3ada204ffb95223abf4a24beeac5a2a0d6928a52a1ab72a29da3c015c22 + languageName: node + linkType: hard + +"@szmarczak/http-timer@npm:^5.0.1": + version: 5.0.1 + resolution: "@szmarczak/http-timer@npm:5.0.1" + dependencies: + defer-to-connect: "npm:^2.0.1" + checksum: 10c0/4629d2fbb2ea67c2e9dc03af235c0991c79ebdddcbc19aed5d5732fb29ce01c13331e9b1a491584b9069bd6ecde6581dcbf871f11b7eefdebbab34de6cf2197e + languageName: node + linkType: hard + +"@trysound/sax@npm:0.2.0": + version: 0.2.0 + resolution: "@trysound/sax@npm:0.2.0" + checksum: 10c0/44907308549ce775a41c38a815f747009ac45929a45d642b836aa6b0a536e4978d30b8d7d680bbd116e9dd73b7dbe2ef0d1369dcfc2d09e83ba381e485ecbe12 + languageName: node + linkType: hard + +"@types/body-parser@npm:*": + version: 1.19.5 + resolution: "@types/body-parser@npm:1.19.5" + dependencies: + "@types/connect": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/aebeb200f25e8818d8cf39cd0209026750d77c9b85381cdd8deeb50913e4d18a1ebe4b74ca9b0b4d21952511eeaba5e9fbbf739b52731a2061e206ec60d568df + languageName: node + linkType: hard + +"@types/bonjour@npm:^3.5.9": + version: 3.5.13 + resolution: "@types/bonjour@npm:3.5.13" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/eebedbca185ac3c39dd5992ef18d9e2a9f99e7f3c2f52f5561f90e9ed482c5d224c7962db95362712f580ed5713264e777a98d8f0bd8747f4eadf62937baed16 + languageName: node + linkType: hard + +"@types/connect-history-api-fallback@npm:^1.3.5": + version: 1.5.4 + resolution: "@types/connect-history-api-fallback@npm:1.5.4" + dependencies: + "@types/express-serve-static-core": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/1b4035b627dcd714b05a22557f942e24a57ca48e7377dde0d2f86313fe685bc0a6566512a73257a55b5665b96c3041fb29228ac93331d8133011716215de8244 + languageName: node + linkType: hard + +"@types/connect@npm:*": + version: 3.4.38 + resolution: "@types/connect@npm:3.4.38" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c + languageName: node + linkType: hard + +"@types/debug@npm:^4.0.0": + version: 4.1.12 + resolution: "@types/debug@npm:4.1.12" + dependencies: + "@types/ms": "npm:*" + checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f + languageName: node + linkType: hard + +"@types/eslint-scope@npm:^3.7.7": + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" + dependencies: + "@types/eslint": "npm:*" + "@types/estree": "npm:*" + checksum: 10c0/a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc + languageName: node + linkType: hard + +"@types/eslint@npm:*": + version: 9.6.1 + resolution: "@types/eslint@npm:9.6.1" + dependencies: + "@types/estree": "npm:*" + "@types/json-schema": "npm:*" + checksum: 10c0/69ba24fee600d1e4c5abe0df086c1a4d798abf13792d8cfab912d76817fe1a894359a1518557d21237fbaf6eda93c5ab9309143dee4c59ef54336d1b3570420e + languageName: node + linkType: hard + +"@types/estree-jsx@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree-jsx@npm:1.0.5" + dependencies: + "@types/estree": "npm:*" + checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": + version: 1.0.7 + resolution: "@types/estree@npm:1.0.7" + checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c + languageName: node + linkType: hard + +"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^5.0.0": + version: 5.0.6 + resolution: "@types/express-serve-static-core@npm:5.0.6" + dependencies: + "@types/node": "npm:*" + "@types/qs": "npm:*" + "@types/range-parser": "npm:*" + "@types/send": "npm:*" + checksum: 10c0/aced8cc88c1718adbbd1fc488756b0f22d763368d9eff2ae21b350698fab4a77d8d13c3699056dc662a887e43a8b67a3e8f6289ff76102ecc6bad4a7710d31a6 + languageName: node + linkType: hard + +"@types/express-serve-static-core@npm:^4.17.33": + version: 4.19.6 + resolution: "@types/express-serve-static-core@npm:4.19.6" + dependencies: + "@types/node": "npm:*" + "@types/qs": "npm:*" + "@types/range-parser": "npm:*" + "@types/send": "npm:*" + checksum: 10c0/4281f4ead71723f376b3ddf64868ae26244d434d9906c101cf8d436d4b5c779d01bd046e4ea0ed1a394d3e402216fabfa22b1fa4dba501061cd7c81c54045983 + languageName: node + linkType: hard + +"@types/express@npm:*": + version: 5.0.1 + resolution: "@types/express@npm:5.0.1" + dependencies: + "@types/body-parser": "npm:*" + "@types/express-serve-static-core": "npm:^5.0.0" + "@types/serve-static": "npm:*" + checksum: 10c0/e1385028c7251360ce916aab0e304187b613ca18cb9aa3fa90794a337e5b2e0c76330d467f41d3b3e936ce5336c4f3e63e323dc01192cf20f9686905daa6d00a + languageName: node + linkType: hard + +"@types/express@npm:^4.17.13": + version: 4.17.21 + resolution: "@types/express@npm:4.17.21" + dependencies: + "@types/body-parser": "npm:*" + "@types/express-serve-static-core": "npm:^4.17.33" + "@types/qs": "npm:*" + "@types/serve-static": "npm:*" + checksum: 10c0/12e562c4571da50c7d239e117e688dc434db1bac8be55613294762f84fd77fbd0658ccd553c7d3ab02408f385bc93980992369dd30e2ecd2c68c358e6af8fabf + languageName: node + linkType: hard + +"@types/gtag.js@npm:^0.0.12": + version: 0.0.12 + resolution: "@types/gtag.js@npm:0.0.12" + checksum: 10c0/fee8f4c6e627301b89ab616c9e219bd53fa6ea1ffd1d0a8021e21363f0bdb2cf7eb1a5bcda0c6f1502186379bc7784ec29c932e21634f4e07f9e7a8c56887400 + languageName: node + linkType: hard + +"@types/hast@npm:^3.0.0, @types/hast@npm:^3.0.4": + version: 3.0.4 + resolution: "@types/hast@npm:3.0.4" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/3249781a511b38f1d330fd1e3344eed3c4e7ea8eff82e835d35da78e637480d36fad37a78be5a7aed8465d237ad0446abc1150859d0fde395354ea634decf9f7 + languageName: node + linkType: hard + +"@types/history@npm:^4.7.11": + version: 4.7.11 + resolution: "@types/history@npm:4.7.11" + checksum: 10c0/3facf37c2493d1f92b2e93a22cac7ea70b06351c2ab9aaceaa3c56aa6099fb63516f6c4ec1616deb5c56b4093c026a043ea2d3373e6c0644d55710364d02c934 + languageName: node + linkType: hard + +"@types/html-minifier-terser@npm:^6.0.0": + version: 6.1.0 + resolution: "@types/html-minifier-terser@npm:6.1.0" + checksum: 10c0/a62fb8588e2f3818d82a2d7b953ad60a4a52fd767ae04671de1c16f5788bd72f1ed3a6109ed63fd190c06a37d919e3c39d8adbc1793a005def76c15a3f5f5dab + languageName: node + linkType: hard + +"@types/http-cache-semantics@npm:^4.0.2": + version: 4.0.4 + resolution: "@types/http-cache-semantics@npm:4.0.4" + checksum: 10c0/51b72568b4b2863e0fe8d6ce8aad72a784b7510d72dc866215642da51d84945a9459fa89f49ec48f1e9a1752e6a78e85a4cda0ded06b1c73e727610c925f9ce6 + languageName: node + linkType: hard + +"@types/http-errors@npm:*": + version: 2.0.4 + resolution: "@types/http-errors@npm:2.0.4" + checksum: 10c0/494670a57ad4062fee6c575047ad5782506dd35a6b9ed3894cea65830a94367bd84ba302eb3dde331871f6d70ca287bfedb1b2cf658e6132cd2cbd427ab56836 + languageName: node + linkType: hard + +"@types/http-proxy@npm:^1.17.8": + version: 1.17.16 + resolution: "@types/http-proxy@npm:1.17.16" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/b71bbb7233b17604f1158bbbe33ebf8bb870179d2b6e15dc9483aa2a785ce0d19ffb6c2237225b558addf24211d1853c95e337ee496df058eb175b433418a941 + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.3 + resolution: "@types/istanbul-lib-report@npm:3.0.3" + dependencies: + "@types/istanbul-lib-coverage": "npm:*" + checksum: 10c0/247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.4 + resolution: "@types/istanbul-reports@npm:3.0.4" + dependencies: + "@types/istanbul-lib-report": "npm:*" + checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee + languageName: node + linkType: hard + +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/katex@npm:^0.16.0": + version: 0.16.7 + resolution: "@types/katex@npm:0.16.7" + checksum: 10c0/68dcb9f68a90513ec78ca0196a142e15c2a2c270b1520d752bafd47a99207115085a64087b50140359017d7e9c870b3c68e7e4d36668c9e348a9ef0c48919b5a + languageName: node + linkType: hard + +"@types/mdast@npm:^4.0.0, @types/mdast@npm:^4.0.1, @types/mdast@npm:^4.0.2, @types/mdast@npm:^4.0.3": + version: 4.0.4 + resolution: "@types/mdast@npm:4.0.4" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82 + languageName: node + linkType: hard + +"@types/mdx@npm:^2.0.0": + version: 2.0.13 + resolution: "@types/mdx@npm:2.0.13" + checksum: 10c0/5edf1099505ac568da55f9ae8a93e7e314e8cbc13d3445d0be61b75941226b005e1390d9b95caecf5dcb00c9d1bab2f1f60f6ff9876dc091a48b547495007720 + languageName: node + linkType: hard + +"@types/mime@npm:^1": + version: 1.3.5 + resolution: "@types/mime@npm:1.3.5" + checksum: 10c0/c2ee31cd9b993804df33a694d5aa3fa536511a49f2e06eeab0b484fef59b4483777dbb9e42a4198a0809ffbf698081fdbca1e5c2218b82b91603dfab10a10fbc + languageName: node + linkType: hard + +"@types/ms@npm:*": + version: 2.1.0 + resolution: "@types/ms@npm:2.1.0" + checksum: 10c0/5ce692ffe1549e1b827d99ef8ff71187457e0eb44adbae38fdf7b9a74bae8d20642ee963c14516db1d35fa2652e65f47680fdf679dcbde52bbfadd021f497225 + languageName: node + linkType: hard + +"@types/node-forge@npm:^1.3.0": + version: 1.3.11 + resolution: "@types/node-forge@npm:1.3.11" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/3d7d23ca0ba38ac0cf74028393bd70f31169ab9aba43f21deb787840170d307d662644bac07287495effe2812ddd7ac8a14dbd43f16c2936bbb06312e96fc3b9 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 22.15.18 + resolution: "@types/node@npm:22.15.18" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/e23178c568e2dc6b93b6aa3b8dfb45f9556e527918c947fe7406a4c92d2184c7396558912400c3b1b8d0fa952ec63819aca2b8e4d3545455fc6f1e9623e09ca6 + languageName: node + linkType: hard + +"@types/node@npm:^17.0.5": + version: 17.0.45 + resolution: "@types/node@npm:17.0.45" + checksum: 10c0/0db377133d709b33a47892581a21a41cd7958f22723a3cc6c71d55ac018121382de42fbfc7970d5ae3e7819dbe5f40e1c6a5174aedf7e7964e9cb8fa72b580b0 + languageName: node + linkType: hard + +"@types/parse-json@npm:^4.0.0": + version: 4.0.2 + resolution: "@types/parse-json@npm:4.0.2" + checksum: 10c0/b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 + languageName: node + linkType: hard + +"@types/prismjs@npm:^1.26.0": + version: 1.26.5 + resolution: "@types/prismjs@npm:1.26.5" + checksum: 10c0/5619cb449e0d8df098c8759d6f47bf8fdd510abf5dbdfa999e55c6a2545efbd1e209cc85a33d8d9f4ff2898089a1a6d9a70737c9baffaae635c46852c40d384a + languageName: node + linkType: hard + +"@types/qs@npm:*": + version: 6.9.18 + resolution: "@types/qs@npm:6.9.18" + checksum: 10c0/790b9091348e06dde2c8e4118b5771ab386a8c22a952139a2eb0675360a2070d0b155663bf6f75b23f258fd0a1f7ffc0ba0f059d99a719332c03c40d9e9cd63b + languageName: node + linkType: hard + +"@types/range-parser@npm:*": + version: 1.2.7 + resolution: "@types/range-parser@npm:1.2.7" + checksum: 10c0/361bb3e964ec5133fa40644a0b942279ed5df1949f21321d77de79f48b728d39253e5ce0408c9c17e4e0fd95ca7899da36841686393b9f7a1e209916e9381a3c + languageName: node + linkType: hard + +"@types/react-router-config@npm:*, @types/react-router-config@npm:^5.0.7": + version: 5.0.11 + resolution: "@types/react-router-config@npm:5.0.11" + dependencies: + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + "@types/react-router": "npm:^5.1.0" + checksum: 10c0/3fa4daf8c14689a05f34e289fc53c4a892e97f35715455c507a8048d9875b19cd3d3142934ca973effed6a6c38f33539b6e173cd254f67e2021ecd5458d551c8 + languageName: node + linkType: hard + +"@types/react-router-dom@npm:*": + version: 5.3.3 + resolution: "@types/react-router-dom@npm:5.3.3" + dependencies: + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + "@types/react-router": "npm:*" + checksum: 10c0/a9231a16afb9ed5142678147eafec9d48582809295754fb60946e29fcd3757a4c7a3180fa94b45763e4c7f6e3f02379e2fcb8dd986db479dcab40eff5fc62a91 + languageName: node + linkType: hard + +"@types/react-router@npm:*, @types/react-router@npm:^5.1.0": + version: 5.1.20 + resolution: "@types/react-router@npm:5.1.20" + dependencies: + "@types/history": "npm:^4.7.11" + "@types/react": "npm:*" + checksum: 10c0/1f7eee61981d2f807fa01a34a0ef98ebc0774023832b6611a69c7f28fdff01de5a38cabf399f32e376bf8099dcb7afaf724775bea9d38870224492bea4cb5737 + languageName: node + linkType: hard + +"@types/react@npm:*": + version: 19.1.4 + resolution: "@types/react@npm:19.1.4" + dependencies: + csstype: "npm:^3.0.2" + checksum: 10c0/501350d4f9cef13c5dd1b1496fa70ebaff52f6fa359b623b51c9d817e5bc4333fa3c8b7a6a4cbc88c643385052d66a243c3ceccfd6926062f917a2dd0535f6b3 + languageName: node + linkType: hard + +"@types/retry@npm:0.12.0": + version: 0.12.0 + resolution: "@types/retry@npm:0.12.0" + checksum: 10c0/7c5c9086369826f569b83a4683661557cab1361bac0897a1cefa1a915ff739acd10ca0d62b01071046fe3f5a3f7f2aec80785fe283b75602dc6726781ea3e328 + languageName: node + linkType: hard + +"@types/sax@npm:^1.2.1": + version: 1.2.7 + resolution: "@types/sax@npm:1.2.7" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/d077a761a0753b079bf8279b3993948030ca86ed9125437b9b29c1de40db9b2deb7fddc369f014b58861d450e8b8cc75f163aa29dc8cea81952efbfd859168cf + languageName: node + linkType: hard + +"@types/send@npm:*": + version: 0.17.4 + resolution: "@types/send@npm:0.17.4" + dependencies: + "@types/mime": "npm:^1" + "@types/node": "npm:*" + checksum: 10c0/7f17fa696cb83be0a104b04b424fdedc7eaba1c9a34b06027239aba513b398a0e2b7279778af521f516a397ced417c96960e5f50fcfce40c4bc4509fb1a5883c + languageName: node + linkType: hard + +"@types/serve-index@npm:^1.9.1": + version: 1.9.4 + resolution: "@types/serve-index@npm:1.9.4" + dependencies: + "@types/express": "npm:*" + checksum: 10c0/94c1b9e8f1ea36a229e098e1643d5665d9371f8c2658521718e259130a237c447059b903bac0dcc96ee2c15fd63f49aa647099b7d0d437a67a6946527a837438 + languageName: node + linkType: hard + +"@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10": + version: 1.15.7 + resolution: "@types/serve-static@npm:1.15.7" + dependencies: + "@types/http-errors": "npm:*" + "@types/node": "npm:*" + "@types/send": "npm:*" + checksum: 10c0/26ec864d3a626ea627f8b09c122b623499d2221bbf2f470127f4c9ebfe92bd8a6bb5157001372d4c4bd0dd37a1691620217d9dc4df5aa8f779f3fd996b1c60ae + languageName: node + linkType: hard + +"@types/sockjs@npm:^0.3.33": + version: 0.3.36 + resolution: "@types/sockjs@npm:0.3.36" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/b20b7820ee813f22de4f2ce98bdd12c68c930e016a8912b1ed967595ac0d8a4cbbff44f4d486dd97f77f5927e7b5725bdac7472c9ec5b27f53a5a13179f0612f + languageName: node + linkType: hard + +"@types/unist@npm:*, @types/unist@npm:^3.0.0, @types/unist@npm:^3.0.2": + version: 3.0.3 + resolution: "@types/unist@npm:3.0.3" + checksum: 10c0/2b1e4adcab78388e088fcc3c0ae8700f76619dbcb4741d7d201f87e2cb346bfc29a89003cfea2d76c996e1061452e14fcd737e8b25aacf949c1f2d6b2bc3dd60 + languageName: node + linkType: hard + +"@types/unist@npm:^2.0.0": + version: 2.0.11 + resolution: "@types/unist@npm:2.0.11" + checksum: 10c0/24dcdf25a168f453bb70298145eb043cfdbb82472db0bc0b56d6d51cd2e484b9ed8271d4ac93000a80da568f2402e9339723db262d0869e2bf13bc58e081768d + languageName: node + linkType: hard + +"@types/ws@npm:^8.5.5": + version: 8.18.1 + resolution: "@types/ws@npm:8.18.1" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/61aff1129143fcc4312f083bc9e9e168aa3026b7dd6e70796276dcfb2c8211c4292603f9c4864fae702f2ed86e4abd4d38aa421831c2fd7f856c931a481afbab + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 21.0.3 + resolution: "@types/yargs-parser@npm:21.0.3" + checksum: 10c0/e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 + languageName: node + linkType: hard + +"@types/yargs@npm:^17.0.8": + version: 17.0.33 + resolution: "@types/yargs@npm:17.0.33" + dependencies: + "@types/yargs-parser": "npm:*" + checksum: 10c0/d16937d7ac30dff697801c3d6f235be2166df42e4a88bf730fa6dc09201de3727c0a9500c59a672122313341de5f24e45ee0ff579c08ce91928e519090b7906b + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.0.0": + version: 1.3.0 + resolution: "@ungap/structured-clone@npm:1.3.0" + checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a + languageName: node + linkType: hard + +"@vercel/analytics@npm:^1.1.2": + version: 1.5.0 + resolution: "@vercel/analytics@npm:1.5.0" + peerDependencies: + "@remix-run/react": ^2 + "@sveltejs/kit": ^1 || ^2 + next: ">= 13" + react: ^18 || ^19 || ^19.0.0-rc + svelte: ">= 4" + vue: ^3 + vue-router: ^4 + peerDependenciesMeta: + "@remix-run/react": + optional: true + "@sveltejs/kit": + optional: true + next: + optional: true + react: + optional: true + svelte: + optional: true + vue: + optional: true + vue-router: + optional: true + checksum: 10c0/43d33ea83b32f5203fec21b7f43c399e398f0c37d2dd341d522969e0e6ee23fd652a2766a4203a3ce573f711beee5ee1ab7d36316f767a4901160e3e96ee31e5 + languageName: node + linkType: hard + +"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/ast@npm:1.14.1" + dependencies: + "@webassemblyjs/helper-numbers": "npm:1.13.2" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + checksum: 10c0/67a59be8ed50ddd33fbb2e09daa5193ac215bf7f40a9371be9a0d9797a114d0d1196316d2f3943efdb923a3d809175e1563a3cb80c814fb8edccd1e77494972b + languageName: node + linkType: hard + +"@webassemblyjs/floating-point-hex-parser@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.13.2" + checksum: 10c0/0e88bdb8b50507d9938be64df0867f00396b55eba9df7d3546eb5dc0ca64d62e06f8d881ec4a6153f2127d0f4c11d102b6e7d17aec2f26bb5ff95a5e60652412 + languageName: node + linkType: hard + +"@webassemblyjs/helper-api-error@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-api-error@npm:1.13.2" + checksum: 10c0/31be497f996ed30aae4c08cac3cce50c8dcd5b29660383c0155fce1753804fc55d47fcba74e10141c7dd2899033164e117b3bcfcda23a6b043e4ded4f1003dfb + languageName: node + linkType: hard + +"@webassemblyjs/helper-buffer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.14.1" + checksum: 10c0/0d54105dc373c0fe6287f1091e41e3a02e36cdc05e8cf8533cdc16c59ff05a646355415893449d3768cda588af451c274f13263300a251dc11a575bc4c9bd210 + languageName: node + linkType: hard + +"@webassemblyjs/helper-numbers@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-numbers@npm:1.13.2" + dependencies: + "@webassemblyjs/floating-point-hex-parser": "npm:1.13.2" + "@webassemblyjs/helper-api-error": "npm:1.13.2" + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/9c46852f31b234a8fb5a5a9d3f027bc542392a0d4de32f1a9c0075d5e8684aa073cb5929b56df565500b3f9cc0a2ab983b650314295b9bf208d1a1651bfc825a + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-bytecode@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2" + checksum: 10c0/c4355d14f369b30cf3cbdd3acfafc7d0488e086be6d578e3c9780bd1b512932352246be96e034e2a7fcfba4f540ec813352f312bfcbbfe5bcfbf694f82ccc682 + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-section@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + checksum: 10c0/1f9b33731c3c6dbac3a9c483269562fa00d1b6a4e7133217f40e83e975e636fd0f8736e53abd9a47b06b66082ecc976c7384391ab0a68e12d509ea4e4b948d64 + languageName: node + linkType: hard + +"@webassemblyjs/ieee754@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/ieee754@npm:1.13.2" + dependencies: + "@xtuc/ieee754": "npm:^1.2.0" + checksum: 10c0/2e732ca78c6fbae3c9b112f4915d85caecdab285c0b337954b180460290ccd0fb00d2b1dc4bb69df3504abead5191e0d28d0d17dfd6c9d2f30acac8c4961c8a7 + languageName: node + linkType: hard + +"@webassemblyjs/leb128@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/leb128@npm:1.13.2" + dependencies: + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/dad5ef9e383c8ab523ce432dfd80098384bf01c45f70eb179d594f85ce5db2f80fa8c9cba03adafd85684e6d6310f0d3969a882538975989919329ac4c984659 + languageName: node + linkType: hard + +"@webassemblyjs/utf8@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/utf8@npm:1.13.2" + checksum: 10c0/d3fac9130b0e3e5a1a7f2886124a278e9323827c87a2b971e6d0da22a2ba1278ac9f66a4f2e363ecd9fac8da42e6941b22df061a119e5c0335f81006de9ee799 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-edit@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/helper-wasm-section": "npm:1.14.1" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + "@webassemblyjs/wasm-opt": "npm:1.14.1" + "@webassemblyjs/wasm-parser": "npm:1.14.1" + "@webassemblyjs/wast-printer": "npm:1.14.1" + checksum: 10c0/5ac4781086a2ca4b320bdbfd965a209655fe8a208ca38d89197148f8597e587c9a2c94fb6bd6f1a7dbd4527c49c6844fcdc2af981f8d793a97bf63a016aa86d2 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-gen@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/ieee754": "npm:1.13.2" + "@webassemblyjs/leb128": "npm:1.13.2" + "@webassemblyjs/utf8": "npm:1.13.2" + checksum: 10c0/d678810d7f3f8fecb2e2bdadfb9afad2ec1d2bc79f59e4711ab49c81cec578371e22732d4966f59067abe5fba8e9c54923b57060a729d28d408e608beef67b10 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-opt@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + "@webassemblyjs/wasm-parser": "npm:1.14.1" + checksum: 10c0/515bfb15277ee99ba6b11d2232ddbf22aed32aad6d0956fe8a0a0a004a1b5a3a277a71d9a3a38365d0538ac40d1b7b7243b1a244ad6cd6dece1c1bb2eb5de7ee + languageName: node + linkType: hard + +"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-api-error": "npm:1.13.2" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/ieee754": "npm:1.13.2" + "@webassemblyjs/leb128": "npm:1.13.2" + "@webassemblyjs/utf8": "npm:1.13.2" + checksum: 10c0/95427b9e5addbd0f647939bd28e3e06b8deefdbdadcf892385b5edc70091bf9b92fa5faac3fce8333554437c5d85835afef8c8a7d9d27ab6ba01ffab954db8c6 + languageName: node + linkType: hard + +"@webassemblyjs/wast-printer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wast-printer@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": "npm:1.14.1" + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/8d7768608996a052545251e896eac079c98e0401842af8dd4de78fba8d90bd505efb6c537e909cd6dae96e09db3fa2e765a6f26492553a675da56e2db51f9d24 + languageName: node + linkType: hard + +"@xtuc/ieee754@npm:^1.2.0": + version: 1.2.0 + resolution: "@xtuc/ieee754@npm:1.2.0" + checksum: 10c0/a8565d29d135039bd99ae4b2220d3e167d22cf53f867e491ed479b3f84f895742d0097f935b19aab90265a23d5d46711e4204f14c479ae3637fbf06c4666882f + languageName: node + linkType: hard + +"@xtuc/long@npm:4.2.2": + version: 4.2.2 + resolution: "@xtuc/long@npm:4.2.2" + checksum: 10c0/8582cbc69c79ad2d31568c412129bf23d2b1210a1dfb60c82d5a1df93334da4ee51f3057051658569e2c196d8dc33bc05ae6b974a711d0d16e801e1d0647ccd1 + languageName: node + linkType: hard + +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf + languageName: node + linkType: hard + +"accepts@npm:~1.3.4, accepts@npm:~1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: "npm:~2.1.34" + negotiator: "npm:0.6.3" + checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.0.0": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn-walk@npm:^8.0.0": + version: 8.3.4 + resolution: "acorn-walk@npm:8.3.4" + dependencies: + acorn: "npm:^8.11.0" + checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 + languageName: node + linkType: hard + +"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.8.2": + version: 8.14.1 + resolution: "acorn@npm:8.14.1" + bin: + acorn: bin/acorn + checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 + languageName: node + linkType: hard + +"address@npm:^1.0.1, address@npm:^1.1.2": + version: 1.2.2 + resolution: "address@npm:1.2.2" + checksum: 10c0/1c8056b77fb124456997b78ed682ecc19d2fd7ea8bd5850a2aa8c3e3134c913847c57bcae418622efd32ba858fa1e242a40a251ac31da0515664fc0ac03a047d + languageName: node + linkType: hard + +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ajv-formats@npm:^2.1.1": + version: 2.1.1 + resolution: "ajv-formats@npm:2.1.1" + dependencies: + ajv: "npm:^8.0.0" + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662 + languageName: node + linkType: hard + +"ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2": + version: 3.5.2 + resolution: "ajv-keywords@npm:3.5.2" + peerDependencies: + ajv: ^6.9.1 + checksum: 10c0/0c57a47cbd656e8cdfd99d7c2264de5868918ffa207c8d7a72a7f63379d4333254b2ba03d69e3c035e996a3fd3eb6d5725d7a1597cca10694296e32510546360 + languageName: node + linkType: hard + +"ajv-keywords@npm:^5.1.0": + version: 5.1.0 + resolution: "ajv-keywords@npm:5.1.0" + dependencies: + fast-deep-equal: "npm:^3.1.3" + peerDependencies: + ajv: ^8.8.2 + checksum: 10c0/18bec51f0171b83123ba1d8883c126e60c6f420cef885250898bf77a8d3e65e3bfb9e8564f497e30bdbe762a83e0d144a36931328616a973ee669dc74d4a9590 + languageName: node + linkType: hard + +"ajv@npm:^6.12.2, ajv@npm:^6.12.5": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"ajv@npm:^8.0.0, ajv@npm:^8.9.0": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 + languageName: node + linkType: hard + +"algoliasearch-helper@npm:^3.22.6": + version: 3.25.0 + resolution: "algoliasearch-helper@npm:3.25.0" + dependencies: + "@algolia/events": "npm:^4.0.1" + peerDependencies: + algoliasearch: ">= 3.1 < 6" + checksum: 10c0/932e1397e702f7722450e12a852f6f366aa581dfb1801d078153d591a94d5ccf7da4098cd381f8c684463638aca738f468ba7e968da6e97a7bba14870aa3c5df + languageName: node + linkType: hard + +"algoliasearch@npm:^5.14.2, algoliasearch@npm:^5.17.1": + version: 5.25.0 + resolution: "algoliasearch@npm:5.25.0" + dependencies: + "@algolia/client-abtesting": "npm:5.25.0" + "@algolia/client-analytics": "npm:5.25.0" + "@algolia/client-common": "npm:5.25.0" + "@algolia/client-insights": "npm:5.25.0" + "@algolia/client-personalization": "npm:5.25.0" + "@algolia/client-query-suggestions": "npm:5.25.0" + "@algolia/client-search": "npm:5.25.0" + "@algolia/ingestion": "npm:1.25.0" + "@algolia/monitoring": "npm:1.25.0" + "@algolia/recommend": "npm:5.25.0" + "@algolia/requester-browser-xhr": "npm:5.25.0" + "@algolia/requester-fetch": "npm:5.25.0" + "@algolia/requester-node-http": "npm:5.25.0" + checksum: 10c0/fdf2b03c48415a7f284697bbe316bba41d4d6b0c5c76e886aa9841e69b8bc79305b0679d29dece71a347eef8ef3715980ed6a736febaca8f869b6551e470decf + languageName: node + linkType: hard + +"ansi-align@npm:^3.0.1": + version: 3.0.1 + resolution: "ansi-align@npm:3.0.1" + dependencies: + string-width: "npm:^4.1.0" + checksum: 10c0/ad8b755a253a1bc8234eb341e0cec68a857ab18bf97ba2bda529e86f6e30460416523e0ec58c32e5c21f0ca470d779503244892873a5895dbd0c39c788e82467 + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.3.2": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: "npm:^0.21.3" + checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 + languageName: node + linkType: hard + +"ansi-html-community@npm:^0.0.8": + version: 0.0.8 + resolution: "ansi-html-community@npm:0.0.8" + bin: + ansi-html: bin/ansi-html + checksum: 10c0/45d3a6f0b4f10b04fdd44bef62972e2470bfd917bf00439471fa7473d92d7cbe31369c73db863cc45dda115cb42527f39e232e9256115534b8ee5806b0caeed4 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"arg@npm:^5.0.0": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: 10c0/806966c8abb2f858b08f5324d9d18d7737480610f3bd5d3498aaae6eb5efdc501a884ba019c9b4a8f02ff67002058749d05548fd42fa8643f02c9c7f22198b91 + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"astring@npm:^1.8.0": + version: 1.9.0 + resolution: "astring@npm:1.9.0" + bin: + astring: bin/astring + checksum: 10c0/e7519544d9824494e80ef0e722bb3a0c543a31440d59691c13aeaceb75b14502af536b23f08db50aa6c632dafaade54caa25f0788aa7550b6b2d6e2df89e0830 + languageName: node + linkType: hard + +"at-least-node@npm:^1.0.0": + version: 1.0.0 + resolution: "at-least-node@npm:1.0.0" + checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef + languageName: node + linkType: hard + +"autoprefixer@npm:^10.4.19, autoprefixer@npm:^10.4.21": + version: 10.4.21 + resolution: "autoprefixer@npm:10.4.21" + dependencies: + browserslist: "npm:^4.24.4" + caniuse-lite: "npm:^1.0.30001702" + fraction.js: "npm:^4.3.7" + normalize-range: "npm:^0.1.2" + picocolors: "npm:^1.1.1" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.1.0 + bin: + autoprefixer: bin/autoprefixer + checksum: 10c0/de5b71d26d0baff4bbfb3d59f7cf7114a6030c9eeb66167acf49a32c5b61c68e308f1e0f869d92334436a221035d08b51cd1b2f2c4689b8d955149423c16d4d4 + languageName: node + linkType: hard + +"babel-loader@npm:^9.2.1": + version: 9.2.1 + resolution: "babel-loader@npm:9.2.1" + dependencies: + find-cache-dir: "npm:^4.0.0" + schema-utils: "npm:^4.0.0" + peerDependencies: + "@babel/core": ^7.12.0 + webpack: ">=5" + checksum: 10c0/efb82faff4c7c27e9c15bb28bf11c73200e61cf365118a9514e8d74dd489d0afc2a0d5aaa62cb4254eefc2ab631579224d95a03fd245410f28ea75e24de54ba4 + languageName: node + linkType: hard + +"babel-plugin-dynamic-import-node@npm:^2.3.3": + version: 2.3.3 + resolution: "babel-plugin-dynamic-import-node@npm:2.3.3" + dependencies: + object.assign: "npm:^4.1.0" + checksum: 10c0/1bd80df981e1fc1aff0cd4e390cf27aaa34f95f7620cd14dff07ba3bad56d168c098233a7d2deb2c9b1dc13643e596a6b94fc608a3412ee3c56e74a25cd2167e + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs2@npm:^0.4.10": + version: 0.4.13 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.13" + dependencies: + "@babel/compat-data": "npm:^7.22.6" + "@babel/helper-define-polyfill-provider": "npm:^0.6.4" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/b4a54561606d388e6f9499f39f03171af4be7f9ce2355e737135e40afa7086cf6790fdd706c2e59f488c8fa1f76123d28783708e07ddc84647dca8ed8fb98e06 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.11.0": + version: 0.11.1 + resolution: "babel-plugin-polyfill-corejs3@npm:0.11.1" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.3" + core-js-compat: "npm:^3.40.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/025f754b6296d84b20200aff63a3c1acdd85e8c621781f2bd27fe2512d0060526192d02329326947c6b29c27cf475fbcfaaff8c51eab1d2bfc7b79086bb64229 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.6.1": + version: 0.6.4 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.4" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.4" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/ebaaf9e4e53201c02f496d3f686d815e94177b3e55b35f11223b99c60d197a29f907a2e87bbcccced8b7aff22a807fccc1adaf04722864a8e1862c8845ab830a + languageName: node + linkType: hard + +"bail@npm:^2.0.0": + version: 2.0.2 + resolution: "bail@npm:2.0.2" + checksum: 10c0/25cbea309ef6a1f56214187004e8f34014eb015713ea01fa5b9b7e9e776ca88d0fdffd64143ac42dc91966c915a4b7b683411b56e14929fad16153fc026ffb8b + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"batch@npm:0.6.1": + version: 0.6.1 + resolution: "batch@npm:0.6.1" + checksum: 10c0/925a13897b4db80d4211082fe287bcf96d297af38e26448c857cee3e095c9792e3b8f26b37d268812e7f38a589f694609de8534a018b1937d7dc9f84e6b387c5 + languageName: node + linkType: hard + +"big.js@npm:^5.2.2": + version: 5.2.2 + resolution: "big.js@npm:5.2.2" + checksum: 10c0/230520f1ff920b2d2ce3e372d77a33faa4fa60d802fe01ca4ffbc321ee06023fe9a741ac02793ee778040a16b7e497f7d60c504d1c402b8fdab6f03bb785a25f + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + +"bittensor-docs@workspace:.": + version: 0.0.0-use.local + resolution: "bittensor-docs@workspace:." + dependencies: + "@docsearch/react": "npm:^3.5.2" + "@docusaurus/core": "npm:^3.7.0" + "@docusaurus/module-type-aliases": "npm:^3.7.0" + "@docusaurus/plugin-client-redirects": "npm:^3.7.0" + "@docusaurus/plugin-content-docs": "npm:^3.7.0" + "@docusaurus/preset-classic": "npm:^3.7.0" + "@docusaurus/theme-classic": "npm:^3.7.0" + "@docusaurus/theme-common": "npm:^3.7.0" + "@docusaurus/theme-search-algolia": "npm:^3.7.0" + "@docusaurus/tsconfig": "npm:^3.7.0" + "@docusaurus/types": "npm:^3.7.0" + "@gracefullight/docusaurus-plugin-vercel-analytics": "npm:^1.0.0" + "@mdx-js/react": "npm:^3.0.0" + "@vercel/analytics": "npm:^1.1.2" + clsx: "npm:^1.2.1" + hast-util-is-element: "npm:1.1.0" + prism-react-renderer: "npm:^2.1.0" + punycode: "npm:^2.3.1" + react: "npm:^18.2.0" + react-dom: "npm:^18.2.0" + react-icons: "npm:^4.12.0" + rehype-katex: "npm:^7.0.1" + remark-definition-list: "npm:^2.0.0" + remark-math: "npm:^6.0.0" + typescript: "npm:~5.2.2" + zwitch: "npm:^2.0.4" + languageName: unknown + linkType: soft + +"body-parser@npm:1.20.3": + version: 1.20.3 + resolution: "body-parser@npm:1.20.3" + dependencies: + bytes: "npm:3.1.2" + content-type: "npm:~1.0.5" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + on-finished: "npm:2.4.1" + qs: "npm:6.13.0" + raw-body: "npm:2.5.2" + type-is: "npm:~1.6.18" + unpipe: "npm:1.0.0" + checksum: 10c0/0a9a93b7518f222885498dcecaad528cf010dd109b071bf471c93def4bfe30958b83e03496eb9c1ad4896db543d999bb62be1a3087294162a88cfa1b42c16310 + languageName: node + linkType: hard + +"bonjour-service@npm:^1.0.11": + version: 1.3.0 + resolution: "bonjour-service@npm:1.3.0" + dependencies: + fast-deep-equal: "npm:^3.1.3" + multicast-dns: "npm:^7.2.5" + checksum: 10c0/5721fd9f9bb968e9cc16c1e8116d770863dd2329cb1f753231de1515870648c225142b7eefa71f14a5c22bc7b37ddd7fdeb018700f28a8c936d50d4162d433c7 + languageName: node + linkType: hard + +"boolbase@npm:^1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 10c0/e4b53deb4f2b85c52be0e21a273f2045c7b6a6ea002b0e139c744cb6f95e9ec044439a52883b0d74dedd1ff3da55ed140cfdddfed7fb0cccbed373de5dce1bcf + languageName: node + linkType: hard + +"boxen@npm:^6.2.1": + version: 6.2.1 + resolution: "boxen@npm:6.2.1" + dependencies: + ansi-align: "npm:^3.0.1" + camelcase: "npm:^6.2.0" + chalk: "npm:^4.1.2" + cli-boxes: "npm:^3.0.0" + string-width: "npm:^5.0.1" + type-fest: "npm:^2.5.0" + widest-line: "npm:^4.0.1" + wrap-ansi: "npm:^8.0.1" + checksum: 10c0/2a50d059c950a50d9f3c873093702747740814ce8819225c4f8cbe92024c9f5a9219d2b7128f5cfa17c022644d929bbbc88b9591de67249c6ebe07f7486bdcfd + languageName: node + linkType: hard + +"boxen@npm:^7.0.0": + version: 7.1.1 + resolution: "boxen@npm:7.1.1" + dependencies: + ansi-align: "npm:^3.0.1" + camelcase: "npm:^7.0.1" + chalk: "npm:^5.2.0" + cli-boxes: "npm:^3.0.0" + string-width: "npm:^5.1.2" + type-fest: "npm:^2.13.0" + widest-line: "npm:^4.0.1" + wrap-ansi: "npm:^8.1.0" + checksum: 10c0/3a9891dc98ac40d582c9879e8165628258e2c70420c919e70fff0a53ccc7b42825e73cda6298199b2fbc1f41f5d5b93b492490ad2ae27623bed3897ddb4267f8 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"browserslist@npm:^4.0.0, browserslist@npm:^4.18.1, browserslist@npm:^4.23.0, browserslist@npm:^4.24.0, browserslist@npm:^4.24.4": + version: 4.24.5 + resolution: "browserslist@npm:4.24.5" + dependencies: + caniuse-lite: "npm:^1.0.30001716" + electron-to-chromium: "npm:^1.5.149" + node-releases: "npm:^2.0.19" + update-browserslist-db: "npm:^1.1.3" + bin: + browserslist: cli.js + checksum: 10c0/f4c1ce1a7d8fdfab5e5b88bb6e93d09e8a883c393f86801537a252da0362dbdcde4dbd97b318246c5d84c6607b2f6b47af732c1b000d6a8a881ee024bad29204 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"bytes@npm:3.0.0": + version: 3.0.0 + resolution: "bytes@npm:3.0.0" + checksum: 10c0/91d42c38601c76460519ffef88371caacaea483a354c8e4b8808e7b027574436a5713337c003ea3de63ee4991c2a9a637884fdfe7f761760d746929d9e8fec60 + languageName: node + linkType: hard + +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e + languageName: node + linkType: hard + +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c + languageName: node + linkType: hard + +"cacheable-lookup@npm:^7.0.0": + version: 7.0.0 + resolution: "cacheable-lookup@npm:7.0.0" + checksum: 10c0/63a9c144c5b45cb5549251e3ea774c04d63063b29e469f7584171d059d3a88f650f47869a974e2d07de62116463d742c287a81a625e791539d987115cb081635 + languageName: node + linkType: hard + +"cacheable-request@npm:^10.2.8": + version: 10.2.14 + resolution: "cacheable-request@npm:10.2.14" + dependencies: + "@types/http-cache-semantics": "npm:^4.0.2" + get-stream: "npm:^6.0.1" + http-cache-semantics: "npm:^4.1.1" + keyv: "npm:^4.5.3" + mimic-response: "npm:^4.0.0" + normalize-url: "npm:^8.0.0" + responselike: "npm:^3.0.0" + checksum: 10c0/41b6658db369f20c03128227ecd219ca7ac52a9d24fc0f499cc9aa5d40c097b48b73553504cebd137024d957c0ddb5b67cf3ac1439b136667f3586257763f88d + languageName: node + linkType: hard + +"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + +"call-bind@npm:^1.0.8": + version: 1.0.8 + resolution: "call-bind@npm:1.0.8" + dependencies: + call-bind-apply-helpers: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.2" + checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"camel-case@npm:^4.1.2": + version: 4.1.2 + resolution: "camel-case@npm:4.1.2" + dependencies: + pascal-case: "npm:^3.1.2" + tslib: "npm:^2.0.3" + checksum: 10c0/bf9eefaee1f20edbed2e9a442a226793bc72336e2b99e5e48c6b7252b6f70b080fc46d8246ab91939e2af91c36cdd422e0af35161e58dd089590f302f8f64c8a + languageName: node + linkType: hard + +"camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"camelcase@npm:^7.0.1": + version: 7.0.1 + resolution: "camelcase@npm:7.0.1" + checksum: 10c0/3adfc9a0e96d51b3a2f4efe90a84dad3e206aaa81dfc664f1bd568270e1bf3b010aad31f01db16345b4ffe1910e16ab411c7273a19a859addd1b98ef7cf4cfbd + languageName: node + linkType: hard + +"caniuse-api@npm:^3.0.0": + version: 3.0.0 + resolution: "caniuse-api@npm:3.0.0" + dependencies: + browserslist: "npm:^4.0.0" + caniuse-lite: "npm:^1.0.0" + lodash.memoize: "npm:^4.1.2" + lodash.uniq: "npm:^4.5.0" + checksum: 10c0/60f9e85a3331e6d761b1b03eec71ca38ef7d74146bece34694853033292156b815696573ed734b65583acf493e88163618eda915c6c826d46a024c71a9572b4c + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001702, caniuse-lite@npm:^1.0.30001716": + version: 1.0.30001718 + resolution: "caniuse-lite@npm:1.0.30001718" + checksum: 10c0/67f9ad09bc16443e28d14f265d6e468480cd8dc1900d0d8b982222de80c699c4f2306599c3da8a3fa7139f110d4b30d49dbac78f215470f479abb6ffe141d5d3 + languageName: node + linkType: hard + +"ccount@npm:^2.0.0": + version: 2.0.1 + resolution: "ccount@npm:2.0.1" + checksum: 10c0/3939b1664390174484322bc3f45b798462e6c07ee6384cb3d645e0aa2f318502d174845198c1561930e1d431087f74cf1fe291ae9a4722821a9f4ba67e574350 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"chalk@npm:^5.0.1, chalk@npm:^5.2.0": + version: 5.4.1 + resolution: "chalk@npm:5.4.1" + checksum: 10c0/b23e88132c702f4855ca6d25cb5538b1114343e41472d5263ee8a37cccfccd9c4216d111e1097c6a27830407a1dc81fecdf2a56f2c63033d4dbbd88c10b0dcef + languageName: node + linkType: hard + +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: 10c0/57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e + languageName: node + linkType: hard + +"character-entities-html4@npm:^2.0.0": + version: 2.1.0 + resolution: "character-entities-html4@npm:2.1.0" + checksum: 10c0/fe61b553f083400c20c0b0fd65095df30a0b445d960f3bbf271536ae6c3ba676f39cb7af0b4bf2755812f08ab9b88f2feed68f9aebb73bb153f7a115fe5c6e40 + languageName: node + linkType: hard + +"character-entities-legacy@npm:^3.0.0": + version: 3.0.0 + resolution: "character-entities-legacy@npm:3.0.0" + checksum: 10c0/ec4b430af873661aa754a896a2b55af089b4e938d3d010fad5219299a6b6d32ab175142699ee250640678cd64bdecd6db3c9af0b8759ab7b155d970d84c4c7d1 + languageName: node + linkType: hard + +"character-entities@npm:^2.0.0": + version: 2.0.2 + resolution: "character-entities@npm:2.0.2" + checksum: 10c0/b0c645a45bcc90ff24f0e0140f4875a8436b8ef13b6bcd31ec02cfb2ca502b680362aa95386f7815bdc04b6464d48cf191210b3840d7c04241a149ede591a308 + languageName: node + linkType: hard + +"character-reference-invalid@npm:^2.0.0": + version: 2.0.1 + resolution: "character-reference-invalid@npm:2.0.1" + checksum: 10c0/2ae0dec770cd8659d7e8b0ce24392d83b4c2f0eb4a3395c955dce5528edd4cc030a794cfa06600fcdd700b3f2de2f9b8e40e309c0011c4180e3be64a0b42e6a1 + languageName: node + linkType: hard + +"cheerio-select@npm:^2.1.0": + version: 2.1.0 + resolution: "cheerio-select@npm:2.1.0" + dependencies: + boolbase: "npm:^1.0.0" + css-select: "npm:^5.1.0" + css-what: "npm:^6.1.0" + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.0.1" + checksum: 10c0/2242097e593919dba4aacb97d7b8275def8b9ec70b00aa1f43335456870cfc9e284eae2080bdc832ed232dabb9eefcf56c722d152da4a154813fb8814a55d282 + languageName: node + linkType: hard + +"cheerio@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "cheerio@npm:1.0.0-rc.12" + dependencies: + cheerio-select: "npm:^2.1.0" + dom-serializer: "npm:^2.0.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.0.1" + htmlparser2: "npm:^8.0.1" + parse5: "npm:^7.0.0" + parse5-htmlparser2-tree-adapter: "npm:^7.0.0" + checksum: 10c0/c85d2f2461e3f024345b78e0bb16ad8e41492356210470dd1e7d5a91391da9fcf6c0a7cb48a9ba8820330153f0cedb4d0a60c7af15d96ecdb3092299b9d9c0cc + languageName: node + linkType: hard + +"chokidar@npm:^3.4.2, chokidar@npm:^3.5.3": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"chrome-trace-event@npm:^1.0.2": + version: 1.0.4 + resolution: "chrome-trace-event@npm:1.0.4" + checksum: 10c0/3058da7a5f4934b87cf6a90ef5fb68ebc5f7d06f143ed5a4650208e5d7acae47bc03ec844b29fbf5ba7e46e8daa6acecc878f7983a4f4bb7271593da91e61ff5 + languageName: node + linkType: hard + +"ci-info@npm:^3.2.0": + version: 3.9.0 + resolution: "ci-info@npm:3.9.0" + checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a + languageName: node + linkType: hard + +"clean-css@npm:^5.2.2, clean-css@npm:^5.3.2, clean-css@npm:~5.3.2": + version: 5.3.3 + resolution: "clean-css@npm:5.3.3" + dependencies: + source-map: "npm:~0.6.0" + checksum: 10c0/381de7523e23f3762eb180e327dcc0cedafaf8cb1cd8c26b7cc1fc56e0829a92e734729c4f955394d65ed72fb62f82d8baf78af34b33b8a7d41ebad2accdd6fb + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"cli-boxes@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-boxes@npm:3.0.0" + checksum: 10c0/4db3e8fbfaf1aac4fb3a6cbe5a2d3fa048bee741a45371b906439b9ffc821c6e626b0f108bdcd3ddf126a4a319409aedcf39a0730573ff050fdd7b6731e99fb9 + languageName: node + linkType: hard + +"cli-table3@npm:^0.6.3": + version: 0.6.5 + resolution: "cli-table3@npm:0.6.5" + dependencies: + "@colors/colors": "npm:1.5.0" + string-width: "npm:^4.2.0" + dependenciesMeta: + "@colors/colors": + optional: true + checksum: 10c0/d7cc9ed12212ae68241cc7a3133c52b844113b17856e11f4f81308acc3febcea7cc9fd298e70933e294dd642866b29fd5d113c2c098948701d0c35f09455de78 + languageName: node + linkType: hard + +"clone-deep@npm:^4.0.1": + version: 4.0.1 + resolution: "clone-deep@npm:4.0.1" + dependencies: + is-plain-object: "npm:^2.0.4" + kind-of: "npm:^6.0.2" + shallow-clone: "npm:^3.0.0" + checksum: 10c0/637753615aa24adf0f2d505947a1bb75e63964309034a1cf56ba4b1f30af155201edd38d26ffe26911adaae267a3c138b344a4947d39f5fc1b6d6108125aa758 + languageName: node + linkType: hard + +"clsx@npm:^1.2.1": + version: 1.2.1 + resolution: "clsx@npm:1.2.1" + checksum: 10c0/34dead8bee24f5e96f6e7937d711978380647e936a22e76380290e35486afd8634966ce300fc4b74a32f3762c7d4c0303f442c3e259f4ce02374eb0c82834f27 + languageName: node + linkType: hard + +"clsx@npm:^2.0.0": + version: 2.1.1 + resolution: "clsx@npm:2.1.1" + checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 + languageName: node + linkType: hard + +"collapse-white-space@npm:^2.0.0": + version: 2.1.0 + resolution: "collapse-white-space@npm:2.1.0" + checksum: 10c0/b2e2800f4ab261e62eb27a1fbe853378296e3a726d6695117ed033e82d61fb6abeae4ffc1465d5454499e237005de9cfc52c9562dc7ca4ac759b9a222ef14453 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"colord@npm:^2.9.3": + version: 2.9.3 + resolution: "colord@npm:2.9.3" + checksum: 10c0/9699e956894d8996b28c686afe8988720785f476f59335c80ce852ded76ab3ebe252703aec53d9bef54f6219aea6b960fb3d9a8300058a1d0c0d4026460cd110 + languageName: node + linkType: hard + +"colorette@npm:^2.0.10": + version: 2.0.20 + resolution: "colorette@npm:2.0.20" + checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 + languageName: node + linkType: hard + +"combine-promises@npm:^1.1.0": + version: 1.2.0 + resolution: "combine-promises@npm:1.2.0" + checksum: 10c0/906ebf056006eff93c11548df0415053b6756145dae1f5a89579e743cb15fceeb0604555791321db4fba5072aa39bb4de6547e9cdf14589fe949b33d1613422c + languageName: node + linkType: hard + +"comma-separated-tokens@npm:^2.0.0": + version: 2.0.3 + resolution: "comma-separated-tokens@npm:2.0.3" + checksum: 10c0/91f90f1aae320f1755d6957ef0b864fe4f54737f3313bd95e0802686ee2ca38bff1dd381964d00ae5db42912dd1f4ae5c2709644e82706ffc6f6842a813cdd67 + languageName: node + linkType: hard + +"commander@npm:^10.0.0": + version: 10.0.1 + resolution: "commander@npm:10.0.1" + checksum: 10c0/53f33d8927758a911094adadda4b2cbac111a5b377d8706700587650fd8f45b0bbe336de4b5c3fe47fd61f420a3d9bd452b6e0e6e5600a7e74d7bf0174f6efe3 + languageName: node + linkType: hard + +"commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 + languageName: node + linkType: hard + +"commander@npm:^5.1.0": + version: 5.1.0 + resolution: "commander@npm:5.1.0" + checksum: 10c0/da9d71dbe4ce039faf1fe9eac3771dca8c11d66963341f62602f7b66e36d2a3f8883407af4f9a37b1db1a55c59c0c1325f186425764c2e963dc1d67aec2a4b6d + languageName: node + linkType: hard + +"commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a + languageName: node + linkType: hard + +"commander@npm:^8.3.0": + version: 8.3.0 + resolution: "commander@npm:8.3.0" + checksum: 10c0/8b043bb8322ea1c39664a1598a95e0495bfe4ca2fad0d84a92d7d1d8d213e2a155b441d2470c8e08de7c4a28cf2bc6e169211c49e1b21d9f7edc6ae4d9356060 + languageName: node + linkType: hard + +"common-path-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "common-path-prefix@npm:3.0.0" + checksum: 10c0/c4a74294e1b1570f4a8ab435285d185a03976c323caa16359053e749db4fde44e3e6586c29cd051100335e11895767cbbd27ea389108e327d62f38daf4548fdb + languageName: node + linkType: hard + +"compressible@npm:~2.0.18": + version: 2.0.18 + resolution: "compressible@npm:2.0.18" + dependencies: + mime-db: "npm:>= 1.43.0 < 2" + checksum: 10c0/8a03712bc9f5b9fe530cc5a79e164e665550d5171a64575d7dcf3e0395d7b4afa2d79ab176c61b5b596e28228b350dd07c1a2a6ead12fd81d1b6cd632af2fef7 + languageName: node + linkType: hard + +"compression@npm:^1.7.4": + version: 1.8.0 + resolution: "compression@npm:1.8.0" + dependencies: + bytes: "npm:3.1.2" + compressible: "npm:~2.0.18" + debug: "npm:2.6.9" + negotiator: "npm:~0.6.4" + on-headers: "npm:~1.0.2" + safe-buffer: "npm:5.2.1" + vary: "npm:~1.1.2" + checksum: 10c0/804d3c8430939f4fd88e5128333f311b4035f6425a7f2959d74cfb5c98ef3a3e3e18143208f3f9d0fcae4cd3bcf3d2fbe525e0fcb955e6e146e070936f025a24 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"config-chain@npm:^1.1.11": + version: 1.1.13 + resolution: "config-chain@npm:1.1.13" + dependencies: + ini: "npm:^1.3.4" + proto-list: "npm:~1.2.1" + checksum: 10c0/39d1df18739d7088736cc75695e98d7087aea43646351b028dfabd5508d79cf6ef4c5bcd90471f52cd87ae470d1c5490c0a8c1a292fbe6ee9ff688061ea0963e + languageName: node + linkType: hard + +"configstore@npm:^6.0.0": + version: 6.0.0 + resolution: "configstore@npm:6.0.0" + dependencies: + dot-prop: "npm:^6.0.1" + graceful-fs: "npm:^4.2.6" + unique-string: "npm:^3.0.0" + write-file-atomic: "npm:^3.0.3" + xdg-basedir: "npm:^5.0.1" + checksum: 10c0/6681a96038ab3e0397cbdf55e6e1624ac3dfa3afe955e219f683df060188a418bda043c9114a59a337e7aec9562b0a0c838ed7db24289e6d0c266bc8313b9580 + languageName: node + linkType: hard + +"connect-history-api-fallback@npm:^2.0.0": + version: 2.0.0 + resolution: "connect-history-api-fallback@npm:2.0.0" + checksum: 10c0/90fa8b16ab76e9531646cc70b010b1dbd078153730c510d3142f6cf07479ae8a812c5a3c0e40a28528dd1681a62395d0cfdef67da9e914c4772ac85d69a3ed87 + languageName: node + linkType: hard + +"consola@npm:^3.2.3": + version: 3.4.2 + resolution: "consola@npm:3.4.2" + checksum: 10c0/7cebe57ecf646ba74b300bcce23bff43034ed6fbec9f7e39c27cee1dc00df8a21cd336b466ad32e304ea70fba04ec9e890c200270de9a526ce021ba8a7e4c11a + languageName: node + linkType: hard + +"content-disposition@npm:0.5.2": + version: 0.5.2 + resolution: "content-disposition@npm:0.5.2" + checksum: 10c0/49eebaa0da1f9609b192e99d7fec31d1178cb57baa9d01f5b63b29787ac31e9d18b5a1033e854c68c9b6cce790e700a6f7fa60e43f95e2e416404e114a8f2f49 + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: "npm:5.2.1" + checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb + languageName: node + linkType: hard + +"content-type@npm:~1.0.4, content-type@npm:~1.0.5": + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: 10c0/b36fd0d4e3fef8456915fcf7742e58fbfcc12a17a018e0eb9501c9d5ef6893b596466f03b0564b81af29ff2538fd0aa4b9d54fe5ccbfb4c90ea50ad29fe2d221 + languageName: node + linkType: hard + +"cookie@npm:0.7.1": + version: 0.7.1 + resolution: "cookie@npm:0.7.1" + checksum: 10c0/5de60c67a410e7c8dc8a46a4b72eb0fe925871d057c9a5d2c0e8145c4270a4f81076de83410c4d397179744b478e33cd80ccbcc457abf40a9409ad27dcd21dde + languageName: node + linkType: hard + +"copy-text-to-clipboard@npm:^3.2.0": + version: 3.2.0 + resolution: "copy-text-to-clipboard@npm:3.2.0" + checksum: 10c0/d60fdadc59d526e19d56ad23cec2b292d33c771a5091621bd322d138804edd3c10eb2367d46ec71b39f5f7f7116a2910b332281aeb36a5b679199d746a8a5381 + languageName: node + linkType: hard + +"copy-webpack-plugin@npm:^11.0.0": + version: 11.0.0 + resolution: "copy-webpack-plugin@npm:11.0.0" + dependencies: + fast-glob: "npm:^3.2.11" + glob-parent: "npm:^6.0.1" + globby: "npm:^13.1.1" + normalize-path: "npm:^3.0.0" + schema-utils: "npm:^4.0.0" + serialize-javascript: "npm:^6.0.0" + peerDependencies: + webpack: ^5.1.0 + checksum: 10c0/a667dd226b26f148584a35fb705f5af926d872584912cf9fd203c14f2b3a68f473a1f5cf768ec1dd5da23820823b850e5d50458b685c468e4a224b25c12a15b4 + languageName: node + linkType: hard + +"core-js-compat@npm:^3.40.0": + version: 3.42.0 + resolution: "core-js-compat@npm:3.42.0" + dependencies: + browserslist: "npm:^4.24.4" + checksum: 10c0/0138ce005c13ce642fc38e18e54a52a1c78ca8315ee6e4faad748d2a1b0ad2462ea615285ad4e6cf77afe48e47a868d898e64c70606c1eb1c9e6a9f19ee2b186 + languageName: node + linkType: hard + +"core-js-pure@npm:^3.30.2": + version: 3.42.0 + resolution: "core-js-pure@npm:3.42.0" + checksum: 10c0/e61b097bc83ec01839e7b04cad2e1d0dd8822275ea5a08a23dc7c907d13d2522aa2b09061cec68f0625fe40abb8b888be3b65a37c817eb53a695cf02c24217bf + languageName: node + linkType: hard + +"core-js@npm:^3.31.1": + version: 3.42.0 + resolution: "core-js@npm:3.42.0" + checksum: 10c0/2913d3d5452d54ad92f058d66046782d608c05e037bcc523aab79c04454fe640998f94e6011292969d66dfa472f398b085ce843dcb362056532a5799c627184e + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 + languageName: node + linkType: hard + +"cosmiconfig@npm:^6.0.0": + version: 6.0.0 + resolution: "cosmiconfig@npm:6.0.0" + dependencies: + "@types/parse-json": "npm:^4.0.0" + import-fresh: "npm:^3.1.0" + parse-json: "npm:^5.0.0" + path-type: "npm:^4.0.0" + yaml: "npm:^1.7.2" + checksum: 10c0/666ed8732d0bf7d7fe6f8516c8ee6041e0622032e8fa26201577b883d2767ad105d03f38b34b93d1f02f26b22a89e7bab4443b9d2e7f931f48d0e944ffa038b5 + languageName: node + linkType: hard + +"cosmiconfig@npm:^8.1.3, cosmiconfig@npm:^8.3.5": + version: 8.3.6 + resolution: "cosmiconfig@npm:8.3.6" + dependencies: + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" + path-type: "npm:^4.0.0" + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"crypto-random-string@npm:^4.0.0": + version: 4.0.0 + resolution: "crypto-random-string@npm:4.0.0" + dependencies: + type-fest: "npm:^1.0.1" + checksum: 10c0/16e11a3c8140398f5408b7fded35a961b9423c5dac39a60cbbd08bd3f0e07d7de130e87262adea7db03ec1a7a4b7551054e0db07ee5408b012bac5400cfc07a5 + languageName: node + linkType: hard + +"css-blank-pseudo@npm:^7.0.1": + version: 7.0.1 + resolution: "css-blank-pseudo@npm:7.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/46c3d3a611972fdb0c264db7c0b34fe437bc4300961d11945145cf04962f52a545a6ef55bc8ff4afd82b605bd692b4970f2b54582616dea00441105e725d4618 + languageName: node + linkType: hard + +"css-declaration-sorter@npm:^7.2.0": + version: 7.2.0 + resolution: "css-declaration-sorter@npm:7.2.0" + peerDependencies: + postcss: ^8.0.9 + checksum: 10c0/d8516be94f8f2daa233ef021688b965c08161624cbf830a4d7ee1099429437c0ee124d35c91b1c659cfd891a68e8888aa941726dab12279bc114aaed60a94606 + languageName: node + linkType: hard + +"css-has-pseudo@npm:^7.0.2": + version: 7.0.2 + resolution: "css-has-pseudo@npm:7.0.2" + dependencies: + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/456e9ce1eec8a535683c329956acfe53ce5a208345d7f2fcbe662626be8b3c98681e9041d7f4980316714397b0c1c3defde25653d629c396df17803d599c4edf + languageName: node + linkType: hard + +"css-loader@npm:^6.8.1": + version: 6.11.0 + resolution: "css-loader@npm:6.11.0" + dependencies: + icss-utils: "npm:^5.1.0" + postcss: "npm:^8.4.33" + postcss-modules-extract-imports: "npm:^3.1.0" + postcss-modules-local-by-default: "npm:^4.0.5" + postcss-modules-scope: "npm:^3.2.0" + postcss-modules-values: "npm:^4.0.0" + postcss-value-parser: "npm:^4.2.0" + semver: "npm:^7.5.4" + peerDependencies: + "@rspack/core": 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + "@rspack/core": + optional: true + webpack: + optional: true + checksum: 10c0/bb52434138085fed06a33e2ffbdae9ee9014ad23bf60f59d6b7ee67f28f26c6b1764024d3030bd19fd884d6ee6ee2224eaed64ad19eb18fbbb23d148d353a965 + languageName: node + linkType: hard + +"css-minimizer-webpack-plugin@npm:^5.0.1": + version: 5.0.1 + resolution: "css-minimizer-webpack-plugin@npm:5.0.1" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.18" + cssnano: "npm:^6.0.1" + jest-worker: "npm:^29.4.3" + postcss: "npm:^8.4.24" + schema-utils: "npm:^4.0.1" + serialize-javascript: "npm:^6.0.1" + peerDependencies: + webpack: ^5.0.0 + peerDependenciesMeta: + "@parcel/css": + optional: true + "@swc/css": + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + lightningcss: + optional: true + checksum: 10c0/1792259e18f7c5ee25b6bbf60b38b64201747add83d1f751c8c654159b46ebacd0d1103d35f17d97197033e21e02d2ba4a4e9aa14c9c0d067b7c7653c721814e + languageName: node + linkType: hard + +"css-prefers-color-scheme@npm:^10.0.0": + version: 10.0.0 + resolution: "css-prefers-color-scheme@npm:10.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/a66c727bb2455328b18862f720819fc98ff5c1486b69f758bdb5c66f46cc6d484f9fc0bfa4f00f2693c5da6707ad136ca789496982f713ade693f08af624930e + languageName: node + linkType: hard + +"css-select@npm:^4.1.3": + version: 4.3.0 + resolution: "css-select@npm:4.3.0" + dependencies: + boolbase: "npm:^1.0.0" + css-what: "npm:^6.0.1" + domhandler: "npm:^4.3.1" + domutils: "npm:^2.8.0" + nth-check: "npm:^2.0.1" + checksum: 10c0/a489d8e5628e61063d5a8fe0fa1cc7ae2478cb334a388a354e91cf2908154be97eac9fa7ed4dffe87a3e06cf6fcaa6016553115335c4fd3377e13dac7bd5a8e1 + languageName: node + linkType: hard + +"css-select@npm:^5.1.0": + version: 5.1.0 + resolution: "css-select@npm:5.1.0" + dependencies: + boolbase: "npm:^1.0.0" + css-what: "npm:^6.1.0" + domhandler: "npm:^5.0.2" + domutils: "npm:^3.0.1" + nth-check: "npm:^2.0.1" + checksum: 10c0/551c60dba5b54054741032c1793b5734f6ba45e23ae9e82761a3c0ed1acbb8cfedfa443aaba3a3c1a54cac12b456d2012a09d2cd5f0e82e430454c1b9d84d500 + languageName: node + linkType: hard + +"css-tree@npm:^2.3.1": + version: 2.3.1 + resolution: "css-tree@npm:2.3.1" + dependencies: + mdn-data: "npm:2.0.30" + source-map-js: "npm:^1.0.1" + checksum: 10c0/6f8c1a11d5e9b14bf02d10717fc0351b66ba12594166f65abfbd8eb8b5b490dd367f5c7721db241a3c792d935fc6751fbc09f7e1598d421477ad9fadc30f4f24 + languageName: node + linkType: hard + +"css-tree@npm:~2.2.0": + version: 2.2.1 + resolution: "css-tree@npm:2.2.1" + dependencies: + mdn-data: "npm:2.0.28" + source-map-js: "npm:^1.0.1" + checksum: 10c0/47e87b0f02f8ac22f57eceb65c58011dd142d2158128882a0bf963cf2eabb81a4ebbc2e3790c8289be7919fa8b83750c7b69272bd66772c708143b772ba3c186 + languageName: node + linkType: hard + +"css-what@npm:^6.0.1, css-what@npm:^6.1.0": + version: 6.1.0 + resolution: "css-what@npm:6.1.0" + checksum: 10c0/a09f5a6b14ba8dcf57ae9a59474722e80f20406c53a61e9aedb0eedc693b135113ffe2983f4efc4b5065ae639442e9ae88df24941ef159c218b231011d733746 + languageName: node + linkType: hard + +"cssdb@npm:^8.2.5": + version: 8.2.5 + resolution: "cssdb@npm:8.2.5" + checksum: 10c0/3f6f2941c958ea0bdbcc1f807ee728d851ef60c370fbcd54360840e3192f082e0a0b2fa4ea600ca74fa771936c9130883727d7845132cc8bf135a4e0a1e55746 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"cssnano-preset-advanced@npm:^6.1.2": + version: 6.1.2 + resolution: "cssnano-preset-advanced@npm:6.1.2" + dependencies: + autoprefixer: "npm:^10.4.19" + browserslist: "npm:^4.23.0" + cssnano-preset-default: "npm:^6.1.2" + postcss-discard-unused: "npm:^6.0.5" + postcss-merge-idents: "npm:^6.0.3" + postcss-reduce-idents: "npm:^6.0.3" + postcss-zindex: "npm:^6.0.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/22d3ddab258e6b31e7e2e7c48712f023b60fadb2813929752dace0326e28cd250830b5420a33f81b01df52d2460cb5f999fff5907f58508809efe1a8a739a707 + languageName: node + linkType: hard + +"cssnano-preset-default@npm:^6.1.2": + version: 6.1.2 + resolution: "cssnano-preset-default@npm:6.1.2" + dependencies: + browserslist: "npm:^4.23.0" + css-declaration-sorter: "npm:^7.2.0" + cssnano-utils: "npm:^4.0.2" + postcss-calc: "npm:^9.0.1" + postcss-colormin: "npm:^6.1.0" + postcss-convert-values: "npm:^6.1.0" + postcss-discard-comments: "npm:^6.0.2" + postcss-discard-duplicates: "npm:^6.0.3" + postcss-discard-empty: "npm:^6.0.3" + postcss-discard-overridden: "npm:^6.0.2" + postcss-merge-longhand: "npm:^6.0.5" + postcss-merge-rules: "npm:^6.1.1" + postcss-minify-font-values: "npm:^6.1.0" + postcss-minify-gradients: "npm:^6.0.3" + postcss-minify-params: "npm:^6.1.0" + postcss-minify-selectors: "npm:^6.0.4" + postcss-normalize-charset: "npm:^6.0.2" + postcss-normalize-display-values: "npm:^6.0.2" + postcss-normalize-positions: "npm:^6.0.2" + postcss-normalize-repeat-style: "npm:^6.0.2" + postcss-normalize-string: "npm:^6.0.2" + postcss-normalize-timing-functions: "npm:^6.0.2" + postcss-normalize-unicode: "npm:^6.1.0" + postcss-normalize-url: "npm:^6.0.2" + postcss-normalize-whitespace: "npm:^6.0.2" + postcss-ordered-values: "npm:^6.0.2" + postcss-reduce-initial: "npm:^6.1.0" + postcss-reduce-transforms: "npm:^6.0.2" + postcss-svgo: "npm:^6.0.3" + postcss-unique-selectors: "npm:^6.0.4" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/af99021f936763850f5f35dc9e6a9dfb0da30856dea36e0420b011da2a447099471db2a5f3d1f5f52c0489da186caf9a439d8f048a80f82617077efb018333fa + languageName: node + linkType: hard + +"cssnano-utils@npm:^4.0.2": + version: 4.0.2 + resolution: "cssnano-utils@npm:4.0.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/260b8c8ffa48b908aa77ef129f9b8648ecd92aed405b20e7fe6b8370779dd603530344fc9d96683d53533246e48b36ac9d2aa5a476b4f81c547bbad86d187f35 + languageName: node + linkType: hard + +"cssnano@npm:^6.0.1, cssnano@npm:^6.1.2": + version: 6.1.2 + resolution: "cssnano@npm:6.1.2" + dependencies: + cssnano-preset-default: "npm:^6.1.2" + lilconfig: "npm:^3.1.1" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/4df0dc0389b34b38acb09b7cfb07267b0eda95349c6d5e9b7666acc7200bb33359650869a60168e9d878298b05f4ad2c7f070815c90551720a3f4e1037f79691 + languageName: node + linkType: hard + +"csso@npm:^5.0.5": + version: 5.0.5 + resolution: "csso@npm:5.0.5" + dependencies: + css-tree: "npm:~2.2.0" + checksum: 10c0/ab4beb1e97dd7e207c10e9925405b45f15a6cd1b4880a8686ad573aa6d476aed28b4121a666cffd26c37a26179f7b54741f7c257543003bfb244d06a62ad569b + languageName: node + linkType: hard + +"csstype@npm:^3.0.2": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 + languageName: node + linkType: hard + +"debounce@npm:^1.2.1": + version: 1.2.1 + resolution: "debounce@npm:1.2.1" + checksum: 10c0/6c9320aa0973fc42050814621a7a8a78146c1975799b5b3cc1becf1f77ba9a5aa583987884230da0842a03f385def452fad5d60db97c3d1c8b824e38a8edf500 + languageName: node + linkType: hard + +"debug@npm:2.6.9, debug@npm:^2.6.0": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: "npm:2.0.0" + checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4": + version: 4.4.1 + resolution: "debug@npm:4.4.1" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55 + languageName: node + linkType: hard + +"decode-named-character-reference@npm:^1.0.0": + version: 1.1.0 + resolution: "decode-named-character-reference@npm:1.1.0" + dependencies: + character-entities: "npm:^2.0.0" + checksum: 10c0/359c76305b47e67660ec096c5cd3f65972ed75b8a53a40435a7a967cfab3e9516e64b443cbe0c7edcf5ab77f65a6924f12fb1872b1e09e2f044f28f4fd10996a + languageName: node + linkType: hard + +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: "npm:^3.1.0" + checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e + languageName: node + linkType: hard + +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.1": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 + languageName: node + linkType: hard + +"default-gateway@npm:^6.0.3": + version: 6.0.3 + resolution: "default-gateway@npm:6.0.3" + dependencies: + execa: "npm:^5.0.0" + checksum: 10c0/5184f9e6e105d24fb44ade9e8741efa54bb75e84625c1ea78c4ef8b81dff09ca52d6dbdd1185cf0dc655bb6b282a64fffaf7ed2dd561b8d9ad6f322b1f039aba + languageName: node + linkType: hard + +"defer-to-connect@npm:^2.0.1": + version: 2.0.1 + resolution: "defer-to-connect@npm:2.0.1" + checksum: 10c0/625ce28e1b5ad10cf77057b9a6a727bf84780c17660f6644dab61dd34c23de3001f03cedc401f7d30a4ed9965c2e8a7336e220a329146f2cf85d4eddea429782 + languageName: node + linkType: hard + +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + +"define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 + languageName: node + linkType: hard + +"del@npm:^6.1.1": + version: 6.1.1 + resolution: "del@npm:6.1.1" + dependencies: + globby: "npm:^11.0.1" + graceful-fs: "npm:^4.2.4" + is-glob: "npm:^4.0.1" + is-path-cwd: "npm:^2.2.0" + is-path-inside: "npm:^3.0.2" + p-map: "npm:^4.0.0" + rimraf: "npm:^3.0.2" + slash: "npm:^3.0.0" + checksum: 10c0/8a095c5ccade42c867a60252914ae485ec90da243d735d1f63ec1e64c1cfbc2b8810ad69a29ab6326d159d4fddaa2f5bad067808c42072351ec458efff86708f + languageName: node + linkType: hard + +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + languageName: node + linkType: hard + +"depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 10c0/acb24aaf936ef9a227b6be6d495f0d2eb20108a9a6ad40585c5bda1a897031512fef6484e4fdbb80bd249fdaa82841fa1039f416ece03188e677ba11bcfda249 + languageName: node + linkType: hard + +"dequal@npm:^2.0.0": + version: 2.0.3 + resolution: "dequal@npm:2.0.3" + checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 + languageName: node + linkType: hard + +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 + languageName: node + linkType: hard + +"detect-node@npm:^2.0.4": + version: 2.1.0 + resolution: "detect-node@npm:2.1.0" + checksum: 10c0/f039f601790f2e9d4654e499913259a798b1f5246ae24f86ab5e8bd4aaf3bce50484234c494f11fb00aecb0c6e2733aa7b1cf3f530865640b65fbbd65b2c4e09 + languageName: node + linkType: hard + +"detect-port-alt@npm:^1.1.6": + version: 1.1.6 + resolution: "detect-port-alt@npm:1.1.6" + dependencies: + address: "npm:^1.0.1" + debug: "npm:^2.6.0" + bin: + detect: ./bin/detect-port + detect-port: ./bin/detect-port + checksum: 10c0/7269e6aef7b782d98c77505c07a7a0f5e2ee98a9607dc791035fc0192fc58aa03cc833fae605e10eaf239a2a5a55cd938e0bb141dea764ac6180ca082fd62b23 + languageName: node + linkType: hard + +"detect-port@npm:^1.5.1": + version: 1.6.1 + resolution: "detect-port@npm:1.6.1" + dependencies: + address: "npm:^1.0.1" + debug: "npm:4" + bin: + detect: bin/detect-port.js + detect-port: bin/detect-port.js + checksum: 10c0/4ea9eb46a637cb21220dd0a62b6074792894fc77b2cacbc9de533d1908b2eedafa7bfd7547baaa2ac1e9c7ba7c289b34b17db896dca6da142f4fc6e2060eee17 + languageName: node + linkType: hard + +"devlop@npm:^1.0.0, devlop@npm:^1.1.0": + version: 1.1.0 + resolution: "devlop@npm:1.1.0" + dependencies: + dequal: "npm:^2.0.0" + checksum: 10c0/e0928ab8f94c59417a2b8389c45c55ce0a02d9ac7fd74ef62d01ba48060129e1d594501b77de01f3eeafc7cb00773819b0df74d96251cf20b31c5b3071f45c0e + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"dns-packet@npm:^5.2.2": + version: 5.6.1 + resolution: "dns-packet@npm:5.6.1" + dependencies: + "@leichtgewicht/ip-codec": "npm:^2.0.1" + checksum: 10c0/8948d3d03063fb68e04a1e386875f8c3bcc398fc375f535f2b438fad8f41bf1afa6f5e70893ba44f4ae884c089247e0a31045722fa6ff0f01d228da103f1811d + languageName: node + linkType: hard + +"dom-converter@npm:^0.2.0": + version: 0.2.0 + resolution: "dom-converter@npm:0.2.0" + dependencies: + utila: "npm:~0.4" + checksum: 10c0/e96aa63bd8c6ee3cd9ce19c3aecfc2c42e50a460e8087114794d4f5ecf3a4f052b34ea3bf2d73b5d80b4da619073b49905e6d7d788ceb7814ca4c29be5354a11 + languageName: node + linkType: hard + +"dom-serializer@npm:^1.0.1": + version: 1.4.1 + resolution: "dom-serializer@npm:1.4.1" + dependencies: + domelementtype: "npm:^2.0.1" + domhandler: "npm:^4.2.0" + entities: "npm:^2.0.0" + checksum: 10c0/67d775fa1ea3de52035c98168ddcd59418356943b5eccb80e3c8b3da53adb8e37edb2cc2f885802b7b1765bf5022aec21dfc32910d7f9e6de4c3148f095ab5e0 + languageName: node + linkType: hard + +"dom-serializer@npm:^2.0.0": + version: 2.0.0 + resolution: "dom-serializer@npm:2.0.0" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.2" + entities: "npm:^4.2.0" + checksum: 10c0/d5ae2b7110ca3746b3643d3ef60ef823f5f078667baf530cec096433f1627ec4b6fa8c072f09d079d7cda915fd2c7bc1b7b935681e9b09e591e1e15f4040b8e2 + languageName: node + linkType: hard + +"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0, domelementtype@npm:^2.3.0": + version: 2.3.0 + resolution: "domelementtype@npm:2.3.0" + checksum: 10c0/686f5a9ef0fff078c1412c05db73a0dce096190036f33e400a07e2a4518e9f56b1e324f5c576a0a747ef0e75b5d985c040b0d51945ce780c0dd3c625a18cd8c9 + languageName: node + linkType: hard + +"domhandler@npm:^4.0.0, domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": + version: 4.3.1 + resolution: "domhandler@npm:4.3.1" + dependencies: + domelementtype: "npm:^2.2.0" + checksum: 10c0/5c199c7468cb052a8b5ab80b13528f0db3d794c64fc050ba793b574e158e67c93f8336e87fd81e9d5ee43b0e04aea4d8b93ed7be4899cb726a1601b3ba18538b + languageName: node + linkType: hard + +"domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": + version: 5.0.3 + resolution: "domhandler@npm:5.0.3" + dependencies: + domelementtype: "npm:^2.3.0" + checksum: 10c0/bba1e5932b3e196ad6862286d76adc89a0dbf0c773e5ced1eb01f9af930c50093a084eff14b8de5ea60b895c56a04d5de8bbc4930c5543d029091916770b2d2a + languageName: node + linkType: hard + +"domutils@npm:^2.5.2, domutils@npm:^2.8.0": + version: 2.8.0 + resolution: "domutils@npm:2.8.0" + dependencies: + dom-serializer: "npm:^1.0.1" + domelementtype: "npm:^2.2.0" + domhandler: "npm:^4.2.0" + checksum: 10c0/d58e2ae01922f0dd55894e61d18119924d88091837887bf1438f2327f32c65eb76426bd9384f81e7d6dcfb048e0f83c19b222ad7101176ad68cdc9c695b563db + languageName: node + linkType: hard + +"domutils@npm:^3.0.1": + version: 3.2.2 + resolution: "domutils@npm:3.2.2" + dependencies: + dom-serializer: "npm:^2.0.0" + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + checksum: 10c0/47938f473b987ea71cd59e59626eb8666d3aa8feba5266e45527f3b636c7883cca7e582d901531961f742c519d7514636b7973353b648762b2e3bedbf235fada + languageName: node + linkType: hard + +"dot-case@npm:^3.0.4": + version: 3.0.4 + resolution: "dot-case@npm:3.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/5b859ea65097a7ea870e2c91b5768b72ddf7fa947223fd29e167bcdff58fe731d941c48e47a38ec8aa8e43044c8fbd15cd8fa21689a526bc34b6548197cd5b05 + languageName: node + linkType: hard + +"dot-prop@npm:^6.0.1": + version: 6.0.1 + resolution: "dot-prop@npm:6.0.1" + dependencies: + is-obj: "npm:^2.0.0" + checksum: 10c0/30e51ec6408978a6951b21e7bc4938aad01a86f2fdf779efe52330205c6bb8a8ea12f35925c2029d6dc9d1df22f916f32f828ce1e9b259b1371c580541c22b5a + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + +"duplexer@npm:^0.1.2": + version: 0.1.2 + resolution: "duplexer@npm:0.1.2" + checksum: 10c0/c57bcd4bdf7e623abab2df43a7b5b23d18152154529d166c1e0da6bee341d84c432d157d7e97b32fecb1bf3a8b8857dd85ed81a915789f550637ed25b8e64fc2 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.149": + version: 1.5.152 + resolution: "electron-to-chromium@npm:1.5.152" + checksum: 10c0/99c58dc8fc6b22ea64f118599663a0d336aa28693fbd275d06f3e2c1d1a6c954fcb88f5b2390223267bb3487940d3e587b6acac8b1b2ebc4dc65c44cd7739c7c + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"emojilib@npm:^2.4.0": + version: 2.4.0 + resolution: "emojilib@npm:2.4.0" + checksum: 10c0/6e66ba8921175842193f974e18af448bb6adb0cf7aeea75e08b9d4ea8e9baba0e4a5347b46ed901491dcaba277485891c33a8d70b0560ca5cc9672a94c21ab8f + languageName: node + linkType: hard + +"emojis-list@npm:^3.0.0": + version: 3.0.0 + resolution: "emojis-list@npm:3.0.0" + checksum: 10c0/7dc4394b7b910444910ad64b812392159a21e1a7ecc637c775a440227dcb4f80eff7fe61f4453a7d7603fa23d23d30cc93fe9e4b5ed985b88d6441cd4a35117b + languageName: node + linkType: hard + +"emoticon@npm:^4.0.1": + version: 4.1.0 + resolution: "emoticon@npm:4.1.0" + checksum: 10c0/b3bc0a9b370445ac1e980ccba7baea614b4648199cc6fa0a51696a6d2393733e8f985edc4f1af381a1903f625789483dd155de427ec9fa2ea415fac116adc06d + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec + languageName: node + linkType: hard + +"encodeurl@npm:~2.0.0": + version: 2.0.0 + resolution: "encodeurl@npm:2.0.0" + checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"enhanced-resolve@npm:^5.17.1": + version: 5.18.1 + resolution: "enhanced-resolve@npm:5.18.1" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 10c0/4cffd9b125225184e2abed9fdf0ed3dbd2224c873b165d0838fd066cde32e0918626cba2f1f4bf6860762f13a7e2364fd89a82b99566be2873d813573ac71846 + languageName: node + linkType: hard + +"entities@npm:^2.0.0": + version: 2.2.0 + resolution: "entities@npm:2.2.0" + checksum: 10c0/7fba6af1f116300d2ba1c5673fc218af1961b20908638391b4e1e6d5850314ee2ac3ec22d741b3a8060479911c99305164aed19b6254bde75e7e6b1b2c3f3aa3 + languageName: node + linkType: hard + +"entities@npm:^4.2.0, entities@npm:^4.4.0": + version: 4.5.0 + resolution: "entities@npm:4.5.0" + checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 + languageName: node + linkType: hard + +"entities@npm:^6.0.0": + version: 6.0.0 + resolution: "entities@npm:6.0.0" + checksum: 10c0/b82a7bd5de282860f3c36a91e815e41e874fd036c83956a568b82729678492eb088359d6f7e0a4f5c00776427263fcba04959b8340fefa430c39b9bce770427e + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-module-lexer@npm:^1.2.1": + version: 1.7.0 + resolution: "es-module-lexer@npm:1.7.0" + checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b + languageName: node + linkType: hard + +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c + languageName: node + linkType: hard + +"esast-util-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "esast-util-from-estree@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + checksum: 10c0/6c619bc6963314f8f64b32e3b101b321bf121f659e62b11e70f425619c2db6f1d25f4c594a57fd00908da96c67d9bfbf876eb5172abf9e13f47a71796f6630ff + languageName: node + linkType: hard + +"esast-util-from-js@npm:^2.0.0": + version: 2.0.1 + resolution: "esast-util-from-js@npm:2.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + acorn: "npm:^8.0.0" + esast-util-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/3a446fb0b0d7bcd7e0157aa44b3b692802a08c93edbea81cc0f7fe4437bfdfb4b72e4563fe63b4e36d390086b71185dba4ac921f4180cc6349985c263cc74421 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-goat@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-goat@npm:4.0.0" + checksum: 10c0/9d2a8314e2370f2dd9436d177f6b3b1773525df8f895c8f3e1acb716f5fd6b10b336cb1cd9862d4709b36eb207dbe33664838deca9c6d55b8371be4eebb972f6 + languageName: node + linkType: hard + +"escape-html@npm:^1.0.3, escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^5.0.0": + version: 5.0.0 + resolution: "escape-string-regexp@npm:5.0.0" + checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95 + languageName: node + linkType: hard + +"eslint-scope@npm:5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^4.1.1" + checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a + languageName: node + linkType: hard + +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.1": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d + languageName: node + linkType: hard + +"estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-util-attach-comments@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-attach-comments@npm:3.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/ee69bb5c45e2ad074725b90ed181c1c934b29d81bce4b0c7761431e83c4c6ab1b223a6a3d6a4fbeb92128bc5d5ee201d5dd36cf1770aa5e16a40b0cf36e8a1f1 + languageName: node + linkType: hard + +"estree-util-build-jsx@npm:^3.0.0": + version: 3.0.1 + resolution: "estree-util-build-jsx@npm:3.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + estree-walker: "npm:^3.0.0" + checksum: 10c0/274c119817b8e7caa14a9778f1e497fea56cdd2b01df1a1ed037f843178992d3afe85e0d364d485e1e2e239255763553d1b647b15e4a7ba50851bcb43dc6bf80 + languageName: node + linkType: hard + +"estree-util-is-identifier-name@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-is-identifier-name@npm:3.0.0" + checksum: 10c0/d1881c6ed14bd588ebd508fc90bf2a541811dbb9ca04dec2f39d27dcaa635f85b5ed9bbbe7fc6fb1ddfca68744a5f7c70456b4b7108b6c4c52780631cc787c5b + languageName: node + linkType: hard + +"estree-util-scope@npm:^1.0.0": + version: 1.0.0 + resolution: "estree-util-scope@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + checksum: 10c0/ef8a573cc899277c613623a1722f630e2163abbc6e9e2f49e758c59b81b484e248b585df6df09a38c00fbfb6390117997cc80c1347b7a86bc1525d9e462b60d5 + languageName: node + linkType: hard + +"estree-util-to-js@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-to-js@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + astring: "npm:^1.8.0" + source-map: "npm:^0.7.0" + checksum: 10c0/ac88cb831401ef99e365f92f4af903755d56ae1ce0e0f0fb8ff66e678141f3d529194f0fb15f6c78cd7554c16fda36854df851d58f9e05cfab15bddf7a97cea0 + languageName: node + linkType: hard + +"estree-util-value-to-estree@npm:^3.0.1": + version: 3.4.0 + resolution: "estree-util-value-to-estree@npm:3.4.0" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/e90e0c784b29182a3feb471589ab3c031be3ff1ab068b2b473e9ee96467f99442f2c571b2708ee3493906af5bf1a0aa9712d9f90fb113a30d99669100235ba4f + languageName: node + linkType: hard + +"estree-util-visit@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-visit@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/unist": "npm:^3.0.0" + checksum: 10c0/acda8b03cc8f890d79c7c7361f6c95331ba84b7ccc0c32b49f447fc30206b20002b37ffdfc97b6ad16e6fe065c63ecbae1622492e2b6b4775c15966606217f39 + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.0": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"eta@npm:^2.2.0": + version: 2.2.0 + resolution: "eta@npm:2.2.0" + checksum: 10c0/643b54d9539d2761bf6c5f4f48df1a5ea2d46c7f5a5fdc47a7d4802a8aa2b6262d4d61f724452e226c18cf82db02d48e65293fcc548f26a3f9d75a5ba7c3b859 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 + languageName: node + linkType: hard + +"eval@npm:^0.1.8": + version: 0.1.8 + resolution: "eval@npm:0.1.8" + dependencies: + "@types/node": "npm:*" + require-like: "npm:>= 0.1.1" + checksum: 10c0/258e700bff09e3ce3344273d5b6691b8ec5b043538d84f738f14d8b0aded33d64c00c15b380de725b1401b15f428ab35a9e7ca19a7d25f162c4f877c71586be9 + languageName: node + linkType: hard + +"eventemitter3@npm:^4.0.0": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b + languageName: node + linkType: hard + +"events@npm:^3.2.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 + languageName: node + linkType: hard + +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.2 + resolution: "exponential-backoff@npm:3.1.2" + checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 + languageName: node + linkType: hard + +"express@npm:^4.17.3": + version: 4.21.2 + resolution: "express@npm:4.21.2" + dependencies: + accepts: "npm:~1.3.8" + array-flatten: "npm:1.1.1" + body-parser: "npm:1.20.3" + content-disposition: "npm:0.5.4" + content-type: "npm:~1.0.4" + cookie: "npm:0.7.1" + cookie-signature: "npm:1.0.6" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + finalhandler: "npm:1.3.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + merge-descriptors: "npm:1.0.3" + methods: "npm:~1.1.2" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + path-to-regexp: "npm:0.1.12" + proxy-addr: "npm:~2.0.7" + qs: "npm:6.13.0" + range-parser: "npm:~1.2.1" + safe-buffer: "npm:5.2.1" + send: "npm:0.19.0" + serve-static: "npm:1.16.2" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + type-is: "npm:~1.6.18" + utils-merge: "npm:1.0.1" + vary: "npm:~1.1.2" + checksum: 10c0/38168fd0a32756600b56e6214afecf4fc79ec28eca7f7a91c2ab8d50df4f47562ca3f9dee412da7f5cea6b1a1544b33b40f9f8586dbacfbdada0fe90dbb10a1f + languageName: node + linkType: hard + +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: "npm:^0.1.0" + checksum: 10c0/ee1cb0a18c9faddb42d791b2d64867bd6cfd0f3affb711782eb6e894dd193e2934a7f529426aac7c8ddb31ac5d38000a00aa2caf08aa3dfc3e1c8ff6ba340bd9 + languageName: node + linkType: hard + +"extend@npm:^3.0.0": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-uri@npm:^3.0.1": + version: 3.0.6 + resolution: "fast-uri@npm:3.0.6" + checksum: 10c0/74a513c2af0584448aee71ce56005185f81239eab7a2343110e5bad50c39ad4fb19c5a6f99783ead1cac7ccaf3461a6034fda89fffa2b30b6d99b9f21c2f9d29 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.19.1 + resolution: "fastq@npm:1.19.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 + languageName: node + linkType: hard + +"fault@npm:^2.0.0": + version: 2.0.1 + resolution: "fault@npm:2.0.1" + dependencies: + format: "npm:^0.2.0" + checksum: 10c0/b80fbf1019b9ce8b08ee09ce86e02b028563e13a32ac3be34e42bfac00a97b96d8dee6d31e26578ffc16224eb6729e01ff1f97ddfeee00494f4f56c0aeed4bdd + languageName: node + linkType: hard + +"faye-websocket@npm:^0.11.3": + version: 0.11.4 + resolution: "faye-websocket@npm:0.11.4" + dependencies: + websocket-driver: "npm:>=0.5.1" + checksum: 10c0/c6052a0bb322778ce9f89af92890f6f4ce00d5ec92418a35e5f4c6864a4fe736fec0bcebd47eac7c0f0e979b01530746b1c85c83cb04bae789271abf19737420 + languageName: node + linkType: hard + +"fdir@npm:^6.4.4": + version: 6.4.4 + resolution: "fdir@npm:6.4.4" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd + languageName: node + linkType: hard + +"feed@npm:^4.2.2": + version: 4.2.2 + resolution: "feed@npm:4.2.2" + dependencies: + xml-js: "npm:^1.6.11" + checksum: 10c0/c0849bde569da94493224525db00614fd1855a5d7c2e990f6e8637bd0298e85c3d329efe476cba77e711e438c3fb48af60cd5ef0c409da5bcd1f479790b0a372 + languageName: node + linkType: hard + +"figures@npm:^3.2.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: "npm:^1.0.5" + checksum: 10c0/9c421646ede432829a50bc4e55c7a4eb4bcb7cc07b5bab2f471ef1ab9a344595bbebb6c5c21470093fbb730cd81bbca119624c40473a125293f656f49cb47629 + languageName: node + linkType: hard + +"file-loader@npm:^6.2.0": + version: 6.2.0 + resolution: "file-loader@npm:6.2.0" + dependencies: + loader-utils: "npm:^2.0.0" + schema-utils: "npm:^3.0.0" + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 10c0/e176a57c2037ab0f78e5755dbf293a6b7f0f8392350a120bd03cc2ce2525bea017458ba28fea14ca535ff1848055e86d1a3a216bdb2561ef33395b27260a1dd3 + languageName: node + linkType: hard + +"filesize@npm:^8.0.6": + version: 8.0.7 + resolution: "filesize@npm:8.0.7" + checksum: 10c0/82072d94816484df5365d4d5acbb2327a65dc49704c64e403e8c40d8acb7364de1cf1e65cb512c77a15d353870f73e4fed46dad5c6153d0618d9ce7a64d09cfc + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"finalhandler@npm:1.3.1": + version: 1.3.1 + resolution: "finalhandler@npm:1.3.1" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + statuses: "npm:2.0.1" + unpipe: "npm:~1.0.0" + checksum: 10c0/d38035831865a49b5610206a3a9a9aae4e8523cbbcd01175d0480ffbf1278c47f11d89be3ca7f617ae6d94f29cf797546a4619cd84dd109009ef33f12f69019f + languageName: node + linkType: hard + +"find-cache-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "find-cache-dir@npm:4.0.0" + dependencies: + common-path-prefix: "npm:^3.0.0" + pkg-dir: "npm:^7.0.0" + checksum: 10c0/0faa7956974726c8769671de696d24c643ca1e5b8f7a2401283caa9e07a5da093293e0a0f4bd18c920ec981d2ef945c7f5b946cde268dfc9077d833ad0293cff + languageName: node + linkType: hard + +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: "npm:^3.0.0" + checksum: 10c0/2c2e7d0a26db858e2f624f39038c74739e38306dee42b45f404f770db357947be9d0d587f1cac72d20c114deb38aa57316e879eb0a78b17b46da7dab0a3bd6e3 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"find-up@npm:^6.3.0": + version: 6.3.0 + resolution: "find-up@npm:6.3.0" + dependencies: + locate-path: "npm:^7.1.0" + path-exists: "npm:^5.0.0" + checksum: 10c0/07e0314362d316b2b13f7f11ea4692d5191e718ca3f7264110127520f3347996349bf9e16805abae3e196805814bc66ef4bff2b8904dc4a6476085fc9b0eba07 + languageName: node + linkType: hard + +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe + languageName: node + linkType: hard + +"follow-redirects@npm:^1.0.0": + version: 1.15.9 + resolution: "follow-redirects@npm:1.15.9" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.3.1 + resolution: "foreground-child@npm:3.3.1" + dependencies: + cross-spawn: "npm:^7.0.6" + signal-exit: "npm:^4.0.1" + checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 + languageName: node + linkType: hard + +"fork-ts-checker-webpack-plugin@npm:^6.5.0": + version: 6.5.3 + resolution: "fork-ts-checker-webpack-plugin@npm:6.5.3" + dependencies: + "@babel/code-frame": "npm:^7.8.3" + "@types/json-schema": "npm:^7.0.5" + chalk: "npm:^4.1.0" + chokidar: "npm:^3.4.2" + cosmiconfig: "npm:^6.0.0" + deepmerge: "npm:^4.2.2" + fs-extra: "npm:^9.0.0" + glob: "npm:^7.1.6" + memfs: "npm:^3.1.2" + minimatch: "npm:^3.0.4" + schema-utils: "npm:2.7.0" + semver: "npm:^7.3.2" + tapable: "npm:^1.0.0" + peerDependencies: + eslint: ">= 6" + typescript: ">= 2.7" + vue-template-compiler: "*" + webpack: ">= 4" + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + checksum: 10c0/0885ea75474de011d4068ca3e2d3ca6e4cd318f5cfa018e28ff8fef23ef3a1f1c130160ef192d3e5d31ef7b6fe9f8fb1d920eab5e9e449fb30ce5cc96647245c + languageName: node + linkType: hard + +"form-data-encoder@npm:^2.1.2": + version: 2.1.4 + resolution: "form-data-encoder@npm:2.1.4" + checksum: 10c0/4c06ae2b79ad693a59938dc49ebd020ecb58e4584860a90a230f80a68b026483b022ba5e4143cff06ae5ac8fd446a0b500fabc87bbac3d1f62f2757f8dabcaf7 + languageName: node + linkType: hard + +"format@npm:^0.2.0": + version: 0.2.2 + resolution: "format@npm:0.2.2" + checksum: 10c0/6032ba747541a43abf3e37b402b2f72ee08ebcb58bf84d816443dd228959837f1cddf1e8775b29fa27ff133f4bd146d041bfca5f9cf27f048edf3d493cf8fee6 + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 + languageName: node + linkType: hard + +"fraction.js@npm:^4.3.7": + version: 4.3.7 + resolution: "fraction.js@npm:4.3.7" + checksum: 10c0/df291391beea9ab4c263487ffd9d17fed162dbb736982dee1379b2a8cc94e4e24e46ed508c6d278aded9080ba51872f1bc5f3a5fd8d7c74e5f105b508ac28711 + languageName: node + linkType: hard + +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a + languageName: node + linkType: hard + +"fs-extra@npm:^11.1.1, fs-extra@npm:^11.2.0": + version: 11.3.0 + resolution: "fs-extra@npm:11.3.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/5f95e996186ff45463059feb115a22fb048bdaf7e487ecee8a8646c78ed8fdca63630e3077d4c16ce677051f5e60d3355a06f3cd61f3ca43f48cc58822a44d0a + languageName: node + linkType: hard + +"fs-extra@npm:^9.0.0": + version: 9.1.0 + resolution: "fs-extra@npm:9.1.0" + dependencies: + at-least-node: "npm:^1.0.0" + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs-monkey@npm:^1.0.4": + version: 1.0.6 + resolution: "fs-monkey@npm:1.0.6" + checksum: 10c0/6f2508e792a47e37b7eabd5afc79459c1ea72bce2a46007d2b7ed0bfc3a4d64af38975c6eb7e93edb69ac98bbb907c13ff1b1579b2cf52d3d02dbc0303fca79f + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.3.0": + version: 1.3.0 + resolution: "get-intrinsic@npm:1.3.0" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a + languageName: node + linkType: hard + +"get-own-enumerable-property-symbols@npm:^3.0.0": + version: 3.0.2 + resolution: "get-own-enumerable-property-symbols@npm:3.0.2" + checksum: 10c0/103999855f3d1718c631472437161d76962cbddcd95cc642a34c07bfb661ed41b6c09a9c669ccdff89ee965beb7126b80eec7b2101e20e31e9cc6c4725305e10 + languageName: node + linkType: hard + +"get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 + languageName: node + linkType: hard + +"github-slugger@npm:^1.5.0": + version: 1.5.0 + resolution: "github-slugger@npm:1.5.0" + checksum: 10c0/116f99732925f939cbfd6f2e57db1aa7e111a460db0d103e3b3f2fce6909d44311663d4542350706cad806345b9892358cc3b153674f88eeae77f43380b3bfca + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.1": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob-to-regexp@npm:^0.4.1": + version: 0.4.1 + resolution: "glob-to-regexp@npm:0.4.1" + checksum: 10c0/0486925072d7a916f052842772b61c3e86247f0a80cc0deb9b5a3e8a1a9faad5b04fb6f58986a09f34d3e96cd2a22a24b7e9882fb1cf904c31e9a310de96c429 + languageName: node + linkType: hard + +"glob@npm:^10.2.2": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.6": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"global-dirs@npm:^3.0.0": + version: 3.0.1 + resolution: "global-dirs@npm:3.0.1" + dependencies: + ini: "npm:2.0.0" + checksum: 10c0/ef65e2241a47ff978f7006a641302bc7f4c03dfb98783d42bf7224c136e3a06df046e70ee3a010cf30214114755e46c9eb5eb1513838812fbbe0d92b14c25080 + languageName: node + linkType: hard + +"global-modules@npm:^2.0.0": + version: 2.0.0 + resolution: "global-modules@npm:2.0.0" + dependencies: + global-prefix: "npm:^3.0.0" + checksum: 10c0/43b770fe24aa6028f4b9770ea583a47f39750be15cf6e2578f851e4ccc9e4fa674b8541928c0b09c21461ca0763f0d36e4068cec86c914b07fd6e388e66ba5b9 + languageName: node + linkType: hard + +"global-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "global-prefix@npm:3.0.0" + dependencies: + ini: "npm:^1.3.5" + kind-of: "npm:^6.0.2" + which: "npm:^1.3.1" + checksum: 10c0/510f489fb68d1cc7060f276541709a0ee6d41356ef852de48f7906c648ac223082a1cc8fce86725ca6c0e032bcdc1189ae77b4744a624b29c34a9d0ece498269 + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"globby@npm:^11.0.1, globby@npm:^11.0.4, globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + +"globby@npm:^13.1.1": + version: 13.2.2 + resolution: "globby@npm:13.2.2" + dependencies: + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.3.0" + ignore: "npm:^5.2.4" + merge2: "npm:^1.4.1" + slash: "npm:^4.0.0" + checksum: 10c0/a8d7cc7cbe5e1b2d0f81d467bbc5bc2eac35f74eaded3a6c85fc26d7acc8e6de22d396159db8a2fc340b8a342e74cac58de8f4aee74146d3d146921a76062664 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead + languageName: node + linkType: hard + +"got@npm:^12.1.0": + version: 12.6.1 + resolution: "got@npm:12.6.1" + dependencies: + "@sindresorhus/is": "npm:^5.2.0" + "@szmarczak/http-timer": "npm:^5.0.1" + cacheable-lookup: "npm:^7.0.0" + cacheable-request: "npm:^10.2.8" + decompress-response: "npm:^6.0.0" + form-data-encoder: "npm:^2.1.2" + get-stream: "npm:^6.0.1" + http2-wrapper: "npm:^2.1.10" + lowercase-keys: "npm:^3.0.0" + p-cancelable: "npm:^3.0.0" + responselike: "npm:^3.0.0" + checksum: 10c0/2fe97fcbd7a9ffc7c2d0ecf59aca0a0562e73a7749cadada9770eeb18efbdca3086262625fb65590594edc220a1eca58fab0d26b0c93c2f9a008234da71ca66b + languageName: node + linkType: hard + +"graceful-fs@npm:4.2.10": + version: 4.2.10 + resolution: "graceful-fs@npm:4.2.10" + checksum: 10c0/4223a833e38e1d0d2aea630c2433cfb94ddc07dfc11d511dbd6be1d16688c5be848acc31f9a5d0d0ddbfb56d2ee5a6ae0278aceeb0ca6a13f27e06b9956fb952 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"gray-matter@npm:^4.0.3": + version: 4.0.3 + resolution: "gray-matter@npm:4.0.3" + dependencies: + js-yaml: "npm:^3.13.1" + kind-of: "npm:^6.0.2" + section-matter: "npm:^1.0.0" + strip-bom-string: "npm:^1.0.0" + checksum: 10c0/e38489906dad4f162ca01e0dcbdbed96d1a53740cef446b9bf76d80bec66fa799af07776a18077aee642346c5e1365ed95e4c91854a12bf40ba0d4fb43a625a6 + languageName: node + linkType: hard + +"gzip-size@npm:^6.0.0": + version: 6.0.0 + resolution: "gzip-size@npm:6.0.0" + dependencies: + duplexer: "npm:^0.1.2" + checksum: 10c0/4ccb924626c82125897a997d1c84f2377846a6ef57fbee38f7c0e6b41387fba4d00422274440747b58008b5d60114bac2349c2908e9aba55188345281af40a3f + languageName: node + linkType: hard + +"handle-thing@npm:^2.0.0": + version: 2.0.1 + resolution: "handle-thing@npm:2.0.1" + checksum: 10c0/7ae34ba286a3434f1993ebd1cc9c9e6b6d8ea672182db28b1afc0a7119229552fa7031e3e5f3cd32a76430ece4e94b7da6f12af2eb39d6239a7693e4bd63a998 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e + languageName: node + linkType: hard + +"has-yarn@npm:^3.0.0": + version: 3.0.0 + resolution: "has-yarn@npm:3.0.0" + checksum: 10c0/38c76618cb764e4a98ea114a3938e0bed6ceafb6bacab2ffb32e7c7d1e18b5e09cd03387d507ee87072388e1f20b1f80947fee62c41fc450edfbbdc02a665787 + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + +"hast-util-definition-list@npm:^2.0.0": + version: 2.1.0 + resolution: "hast-util-definition-list@npm:2.1.0" + dependencies: + "@types/hast": "npm:^3.0.4" + "@types/mdast": "npm:^4.0.3" + "@types/unist": "npm:^3.0.2" + hast-util-to-mdast: "npm:^10.1.0" + mdast-util-definition-list: "npm:^2.0.0" + mdast-util-phrasing: "npm:^4.1.0" + checksum: 10c0/a81c420d4988c375be744c34c504e61dc0bd107d69a9df4ad81dcb677d3c9963d2e5667156760f74e7ada4cef2af0fd73c8ed92e91f2f664c2f1c67b1025cea3 + languageName: node + linkType: hard + +"hast-util-embedded@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-embedded@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-is-element: "npm:^3.0.0" + checksum: 10c0/054c3d3b96fcd5c1d1c6f8d38ce1f7f33022ba6362129a022673d0b539f876acdcababbb9df29812fb927294f98ef7a2f44519a80d637fe3eea1819c9e69eeac + languageName: node + linkType: hard + +"hast-util-from-dom@npm:^5.0.0": + version: 5.0.1 + resolution: "hast-util-from-dom@npm:5.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + hastscript: "npm:^9.0.0" + web-namespaces: "npm:^2.0.0" + checksum: 10c0/9a90381e048107a093a3da758bb17b67aaf5322e222f02497f841c4990abf94aa177d38d5b9bf61ad07b3601d0409f34f5b556d89578cc189230c6b994d2af77 + languageName: node + linkType: hard + +"hast-util-from-html-isomorphic@npm:^2.0.0": + version: 2.0.0 + resolution: "hast-util-from-html-isomorphic@npm:2.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-from-dom: "npm:^5.0.0" + hast-util-from-html: "npm:^2.0.0" + unist-util-remove-position: "npm:^5.0.0" + checksum: 10c0/fc68d9245e794483a802d5c85a9f6c25959e00db78cc796411efc965134f3206f9cc9fa38134572ea781ad74663e801f1f83202007b208e27a770855566a62b6 + languageName: node + linkType: hard + +"hast-util-from-html@npm:^2.0.0": + version: 2.0.3 + resolution: "hast-util-from-html@npm:2.0.3" + dependencies: + "@types/hast": "npm:^3.0.0" + devlop: "npm:^1.1.0" + hast-util-from-parse5: "npm:^8.0.0" + parse5: "npm:^7.0.0" + vfile: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/993ef707c1a12474c8d4094fc9706a72826c660a7e308ea54c50ad893353d32e139b7cbc67510c2e82feac572b320e3b05aeb13d0f9c6302d61261f337b46764 + languageName: node + linkType: hard + +"hast-util-from-parse5@npm:^8.0.0": + version: 8.0.3 + resolution: "hast-util-from-parse5@npm:8.0.3" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + hastscript: "npm:^9.0.0" + property-information: "npm:^7.0.0" + vfile: "npm:^6.0.0" + vfile-location: "npm:^5.0.0" + web-namespaces: "npm:^2.0.0" + checksum: 10c0/40ace6c0ad43c26f721c7499fe408e639cde917b2350c9299635e6326559855896dae3c3ebf7440df54766b96c4276a7823e8f376a2b6a28b37b591f03412545 + languageName: node + linkType: hard + +"hast-util-has-property@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-has-property@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/6e2c0e22ca893c6ebb60f8390e184c4deb041c36d09796756f02cd121c1789c0f5c862ed06caea8f1a80ea8c0ef6a7854dd57946c2eebb76488727bd4a1c952e + languageName: node + linkType: hard + +"hast-util-is-body-ok-link@npm:^3.0.0": + version: 3.0.1 + resolution: "hast-util-is-body-ok-link@npm:3.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/c320cbd9a9a834b007a6f2f8c271e98b8331c0193adf06e0a7c5ea0acae664e97ce28eb4436e0658bc5cdb8f47390ec1c6cba7c4fe1ded10951fcdd1432f60bf + languageName: node + linkType: hard + +"hast-util-is-element@npm:1.1.0": + version: 1.1.0 + resolution: "hast-util-is-element@npm:1.1.0" + checksum: 10c0/9f95b1e356af3d891a293c1e63560480cb9c2aa33c14e0da3abfaf76aa3f2de8e178643f8459b10e1e2d11a0bc4553c628b57e5afa607791073b61d456f77926 + languageName: node + linkType: hard + +"hast-util-is-element@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-is-element@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/f5361e4c9859c587ca8eb0d8343492f3077ccaa0f58a44cd09f35d5038f94d65152288dcd0c19336ef2c9491ec4d4e45fde2176b05293437021570aa0bc3613b + languageName: node + linkType: hard + +"hast-util-minify-whitespace@npm:^1.0.0": + version: 1.0.1 + resolution: "hast-util-minify-whitespace@npm:1.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-embedded: "npm:^3.0.0" + hast-util-is-element: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/20a7d64947e080463084f444ad09c7f28c40e7648ca2d9c6c036e42a67f8e945d352560ff599304c988257c1e477abcf6a1f508c0900211fa58ec1ba21b36533 + languageName: node + linkType: hard + +"hast-util-parse-selector@npm:^4.0.0": + version: 4.0.0 + resolution: "hast-util-parse-selector@npm:4.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/5e98168cb44470dc274aabf1a28317e4feb09b1eaf7a48bbaa8c1de1b43a89cd195cb1284e535698e658e3ec26ad91bc5e52c9563c36feb75abbc68aaf68fb9f + languageName: node + linkType: hard + +"hast-util-phrasing@npm:^3.0.0": + version: 3.0.1 + resolution: "hast-util-phrasing@npm:3.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-embedded: "npm:^3.0.0" + hast-util-has-property: "npm:^3.0.0" + hast-util-is-body-ok-link: "npm:^3.0.0" + hast-util-is-element: "npm:^3.0.0" + checksum: 10c0/d77e186ea3d7d62f6db9c4a55c3e6d9f1f6affd5f40250e8de9d73f167ae19fcc02fafe1601dfbe36e90f76ed5013ac004f0b6b398aee3a04a7a81de12788600 + languageName: node + linkType: hard + +"hast-util-raw@npm:^9.0.0": + version: 9.1.0 + resolution: "hast-util-raw@npm:9.1.0" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + hast-util-from-parse5: "npm:^8.0.0" + hast-util-to-parse5: "npm:^8.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + parse5: "npm:^7.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + web-namespaces: "npm:^2.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/d0d909d2aedecef6a06f0005cfae410d6475e6e182d768bde30c3af9fcbbe4f9beb0522bdc21d0679cb3c243c0df40385797ed255148d68b3d3f12e82d12aacc + languageName: node + linkType: hard + +"hast-util-to-estree@npm:^3.0.0": + version: 3.1.3 + resolution: "hast-util-to-estree@npm:3.1.3" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-attach-comments: "npm:^3.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + property-information: "npm:^7.0.0" + space-separated-tokens: "npm:^2.0.0" + style-to-js: "npm:^1.0.0" + unist-util-position: "npm:^5.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/8e86c075319082c8a6304c5bcdf24ec02466074571e993f58bfa2cfd70850ef46d33b5c402208597a87fe0f02f1e620bda5958217efb1b7396c81c486373b75f + languageName: node + linkType: hard + +"hast-util-to-html@npm:^9.0.0": + version: 9.0.5 + resolution: "hast-util-to-html@npm:9.0.5" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-whitespace: "npm:^3.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + property-information: "npm:^7.0.0" + space-separated-tokens: "npm:^2.0.0" + stringify-entities: "npm:^4.0.0" + zwitch: "npm:^2.0.4" + checksum: 10c0/b7a08c30bab4371fc9b4a620965c40b270e5ae7a8e94cf885f43b21705179e28c8e43b39c72885d1647965fb3738654e6962eb8b58b0c2a84271655b4d748836 + languageName: node + linkType: hard + +"hast-util-to-jsx-runtime@npm:^2.0.0": + version: 2.3.6 + resolution: "hast-util-to-jsx-runtime@npm:2.3.6" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + property-information: "npm:^7.0.0" + space-separated-tokens: "npm:^2.0.0" + style-to-js: "npm:^1.0.0" + unist-util-position: "npm:^5.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/27297e02848fe37ef219be04a26ce708d17278a175a807689e94a821dcffc88aa506d62c3a85beed1f9a8544f7211bdcbcde0528b7b456a57c2e342c3fd11056 + languageName: node + linkType: hard + +"hast-util-to-mdast@npm:^10.1.0": + version: 10.1.2 + resolution: "hast-util-to-mdast@npm:10.1.2" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + hast-util-phrasing: "npm:^3.0.0" + hast-util-to-html: "npm:^9.0.0" + hast-util-to-text: "npm:^4.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + mdast-util-to-hast: "npm:^13.0.0" + mdast-util-to-string: "npm:^4.0.0" + rehype-minify-whitespace: "npm:^6.0.0" + trim-trailing-lines: "npm:^2.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/2edd4521b147734078d66e03cd43c571a0a3aeefd3fcc34659c783b25e9222ddb5c8c759b12a86ebc70a25b3888505dc59b913ff36ae17cca04d52050592a963 + languageName: node + linkType: hard + +"hast-util-to-parse5@npm:^8.0.0": + version: 8.0.0 + resolution: "hast-util-to-parse5@npm:8.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + devlop: "npm:^1.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + web-namespaces: "npm:^2.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/3c0c7fba026e0c4be4675daf7277f9ff22ae6da801435f1b7104f7740de5422576f1c025023c7b3df1d0a161e13a04c6ab8f98ada96eb50adb287b537849a2bd + languageName: node + linkType: hard + +"hast-util-to-text@npm:^4.0.0": + version: 4.0.2 + resolution: "hast-util-to-text@npm:4.0.2" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + hast-util-is-element: "npm:^3.0.0" + unist-util-find-after: "npm:^5.0.0" + checksum: 10c0/93ecc10e68fe5391c6e634140eb330942e71dea2724c8e0c647c73ed74a8ec930a4b77043b5081284808c96f73f2bee64ee416038ece75a63a467e8d14f09946 + languageName: node + linkType: hard + +"hast-util-whitespace@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-whitespace@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/b898bc9fe27884b272580d15260b6bbdabe239973a147e97fa98c45fa0ffec967a481aaa42291ec34fb56530dc2d484d473d7e2bae79f39c83f3762307edfea8 + languageName: node + linkType: hard + +"hastscript@npm:^9.0.0": + version: 9.0.1 + resolution: "hastscript@npm:9.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-parse-selector: "npm:^4.0.0" + property-information: "npm:^7.0.0" + space-separated-tokens: "npm:^2.0.0" + checksum: 10c0/18dc8064e5c3a7a2ae862978e626b97a254e1c8a67ee9d0c9f06d373bba155ed805fc5b5ce21b990fb7bc174624889e5e1ce1cade264f1b1d58b48f994bc85ce + languageName: node + linkType: hard + +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 + languageName: node + linkType: hard + +"history@npm:^4.9.0": + version: 4.10.1 + resolution: "history@npm:4.10.1" + dependencies: + "@babel/runtime": "npm:^7.1.2" + loose-envify: "npm:^1.2.0" + resolve-pathname: "npm:^3.0.0" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" + value-equal: "npm:^1.0.1" + checksum: 10c0/35377694e4f10f2cf056a9cb1a8ee083e04e4b4717a63baeee4afd565658a62c7e73700bf9e82aa53dbe1ec94e0a25a83c080d63bad8ee6b274a98d2fbc5ed4c + languageName: node + linkType: hard + +"hoist-non-react-statics@npm:^3.1.0": + version: 3.3.2 + resolution: "hoist-non-react-statics@npm:3.3.2" + dependencies: + react-is: "npm:^16.7.0" + checksum: 10c0/fe0889169e845d738b59b64badf5e55fa3cf20454f9203d1eb088df322d49d4318df774828e789898dcb280e8a5521bb59b3203385662ca5e9218a6ca5820e74 + languageName: node + linkType: hard + +"hpack.js@npm:^2.1.6": + version: 2.1.6 + resolution: "hpack.js@npm:2.1.6" + dependencies: + inherits: "npm:^2.0.1" + obuf: "npm:^1.0.0" + readable-stream: "npm:^2.0.1" + wbuf: "npm:^1.1.0" + checksum: 10c0/55b9e824430bab82a19d079cb6e33042d7d0640325678c9917fcc020c61d8a08ca671b6c942c7f0aae9bb6e4b67ffb50734a72f9e21d66407c3138c1983b70f0 + languageName: node + linkType: hard + +"html-entities@npm:^2.3.2": + version: 2.6.0 + resolution: "html-entities@npm:2.6.0" + checksum: 10c0/7c8b15d9ea0cd00dc9279f61bab002ba6ca8a7a0f3c36ed2db3530a67a9621c017830d1d2c1c65beb9b8e3436ea663e9cf8b230472e0e413359399413b27c8b7 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.2": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 + languageName: node + linkType: hard + +"html-minifier-terser@npm:^6.0.2": + version: 6.1.0 + resolution: "html-minifier-terser@npm:6.1.0" + dependencies: + camel-case: "npm:^4.1.2" + clean-css: "npm:^5.2.2" + commander: "npm:^8.3.0" + he: "npm:^1.2.0" + param-case: "npm:^3.0.4" + relateurl: "npm:^0.2.7" + terser: "npm:^5.10.0" + bin: + html-minifier-terser: cli.js + checksum: 10c0/1aa4e4f01cf7149e3ac5ea84fb7a1adab86da40d38d77a6fff42852b5ee3daccb78b615df97264e3a6a5c33e57f0c77f471d607ca1e1debd1dab9b58286f4b5a + languageName: node + linkType: hard + +"html-minifier-terser@npm:^7.2.0": + version: 7.2.0 + resolution: "html-minifier-terser@npm:7.2.0" + dependencies: + camel-case: "npm:^4.1.2" + clean-css: "npm:~5.3.2" + commander: "npm:^10.0.0" + entities: "npm:^4.4.0" + param-case: "npm:^3.0.4" + relateurl: "npm:^0.2.7" + terser: "npm:^5.15.1" + bin: + html-minifier-terser: cli.js + checksum: 10c0/ffc97c17299d9ec30e17269781b816ea2fc411a9206fc9e768be8f2decb1ea1470892809babb23bb4e3ab1f64d606d97e1803bf526ae3af71edc0fd3070b94b9 + languageName: node + linkType: hard + +"html-tags@npm:^3.3.1": + version: 3.3.1 + resolution: "html-tags@npm:3.3.1" + checksum: 10c0/680165e12baa51bad7397452d247dbcc5a5c29dac0e6754b1187eee3bf26f514bc1907a431dd2f7eb56207611ae595ee76a0acc8eaa0d931e72c791dd6463d79 + languageName: node + linkType: hard + +"html-void-elements@npm:^3.0.0": + version: 3.0.0 + resolution: "html-void-elements@npm:3.0.0" + checksum: 10c0/a8b9ec5db23b7c8053876dad73a0336183e6162bf6d2677376d8b38d654fdc59ba74fdd12f8812688f7db6fad451210c91b300e472afc0909224e0a44c8610d2 + languageName: node + linkType: hard + +"html-webpack-plugin@npm:^5.6.0": + version: 5.6.3 + resolution: "html-webpack-plugin@npm:5.6.3" + dependencies: + "@types/html-minifier-terser": "npm:^6.0.0" + html-minifier-terser: "npm:^6.0.2" + lodash: "npm:^4.17.21" + pretty-error: "npm:^4.0.0" + tapable: "npm:^2.0.0" + peerDependencies: + "@rspack/core": 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + "@rspack/core": + optional: true + webpack: + optional: true + checksum: 10c0/25a21f83a8823d3711396dd8050bc0080c0ae55537352d432903eff58a7d9838fc811e3c26462419036190720357e67c7977efd106fb9a252770632824f0cc25 + languageName: node + linkType: hard + +"htmlparser2@npm:^6.1.0": + version: 6.1.0 + resolution: "htmlparser2@npm:6.1.0" + dependencies: + domelementtype: "npm:^2.0.1" + domhandler: "npm:^4.0.0" + domutils: "npm:^2.5.2" + entities: "npm:^2.0.0" + checksum: 10c0/3058499c95634f04dc66be8c2e0927cd86799413b2d6989d8ae542ca4dbf5fa948695d02c27d573acf44843af977aec6d9a7bdd0f6faa6b2d99e2a729b2a31b6 + languageName: node + linkType: hard + +"htmlparser2@npm:^8.0.1": + version: 8.0.2 + resolution: "htmlparser2@npm:8.0.2" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.0.1" + entities: "npm:^4.4.0" + checksum: 10c0/609cca85886d0bf2c9a5db8c6926a89f3764596877492e2caa7a25a789af4065bc6ee2cdc81807fe6b1d03a87bf8a373b5a754528a4cc05146b713c20575aab4 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 + languageName: node + linkType: hard + +"http-deceiver@npm:^1.2.7": + version: 1.2.7 + resolution: "http-deceiver@npm:1.2.7" + checksum: 10c0/8bb9b716f5fc55f54a451da7f49b9c695c3e45498a789634daec26b61e4add7c85613a4a9e53726c39d09de7a163891ecd6eb5809adb64500a840fd86fe81d03 + languageName: node + linkType: hard + +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: "npm:2.0.0" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + toidentifier: "npm:1.0.1" + checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 + languageName: node + linkType: hard + +"http-errors@npm:~1.6.2": + version: 1.6.3 + resolution: "http-errors@npm:1.6.3" + dependencies: + depd: "npm:~1.1.2" + inherits: "npm:2.0.3" + setprototypeof: "npm:1.1.0" + statuses: "npm:>= 1.4.0 < 2" + checksum: 10c0/17ec4046ee974477778bfdd525936c254b872054703ec2caa4d6f099566b8adade636ae6aeeacb39302c5cd6e28fb407ebd937f500f5010d0b6850750414ff78 + languageName: node + linkType: hard + +"http-parser-js@npm:>=0.5.1": + version: 0.5.10 + resolution: "http-parser-js@npm:0.5.10" + checksum: 10c0/8bbcf1832a8d70b2bd515270112116333add88738a2cc05bfb94ba6bde3be4b33efee5611584113818d2bcf654fdc335b652503be5a6b4c0b95e46f214187d93 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"http-proxy-middleware@npm:^2.0.3": + version: 2.0.9 + resolution: "http-proxy-middleware@npm:2.0.9" + dependencies: + "@types/http-proxy": "npm:^1.17.8" + http-proxy: "npm:^1.18.1" + is-glob: "npm:^4.0.1" + is-plain-obj: "npm:^3.0.0" + micromatch: "npm:^4.0.2" + peerDependencies: + "@types/express": ^4.17.13 + peerDependenciesMeta: + "@types/express": + optional: true + checksum: 10c0/8e9032af625f7c9f2f0d318f6cdb14eb725cc16ffe7b4ccccea25cf591fa819bb7c3bb579e0b543e0ae9c73059b505a6d728290c757bff27bae526a6ed11c05e + languageName: node + linkType: hard + +"http-proxy@npm:^1.18.1": + version: 1.18.1 + resolution: "http-proxy@npm:1.18.1" + dependencies: + eventemitter3: "npm:^4.0.0" + follow-redirects: "npm:^1.0.0" + requires-port: "npm:^1.0.0" + checksum: 10c0/148dfa700a03fb421e383aaaf88ac1d94521dfc34072f6c59770528c65250983c2e4ec996f2f03aa9f3fe46cd1270a593126068319311e3e8d9e610a37533e94 + languageName: node + linkType: hard + +"http2-wrapper@npm:^2.1.10": + version: 2.2.1 + resolution: "http2-wrapper@npm:2.2.1" + dependencies: + quick-lru: "npm:^5.1.1" + resolve-alpn: "npm:^1.2.0" + checksum: 10c0/7207201d3c6e53e72e510c9b8912e4f3e468d3ecc0cf3bf52682f2aac9cd99358b896d1da4467380adc151cf97c412bedc59dc13dae90c523f42053a7449eedb + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": + version: 5.1.0 + resolution: "icss-utils@npm:5.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/39c92936fabd23169c8611d2b5cc39e39d10b19b0d223352f20a7579f75b39d5f786114a6b8fc62bee8c5fed59ba9e0d38f7219a4db383e324fb3061664b043d + languageName: node + linkType: hard + +"ignore@npm:^5.2.0, ignore@npm:^5.2.4": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + +"image-size@npm:^1.0.2": + version: 1.2.1 + resolution: "image-size@npm:1.2.1" + dependencies: + queue: "npm:6.0.2" + bin: + image-size: bin/image-size.js + checksum: 10c0/f8b3c19d4476513f1d7e55c3e6db80997b315444743e2040d545cbcaee59be03d2eb40c46be949a8372697b7003fdb0c04925d704390a7f606bc8181e25c0ed4 + languageName: node + linkType: hard + +"immer@npm:^9.0.7": + version: 9.0.21 + resolution: "immer@npm:9.0.21" + checksum: 10c0/03ea3ed5d4d72e8bd428df4a38ad7e483ea8308e9a113d3b42e0ea2cc0cc38340eb0a6aca69592abbbf047c685dbda04e3d34bf2ff438ab57339ed0a34cc0a05 + languageName: node + linkType: hard + +"import-fresh@npm:^3.1.0, import-fresh@npm:^3.3.0": + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/bf8cc494872fef783249709385ae883b447e3eb09db0ebd15dcead7d9afe7224dad7bd7591c6b73b0b19b3c0f9640eb8ee884f01cfaf2887ab995b0b36a0cbec + languageName: node + linkType: hard + +"import-lazy@npm:^4.0.0": + version: 4.0.0 + resolution: "import-lazy@npm:4.0.0" + checksum: 10c0/a3520313e2c31f25c0b06aa66d167f329832b68a4f957d7c9daf6e0fa41822b6e84948191648b9b9d8ca82f94740cdf15eecf2401a5b42cd1c33fd84f2225cca + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"infima@npm:0.2.0-alpha.45": + version: 0.2.0-alpha.45 + resolution: "infima@npm:0.2.0-alpha.45" + checksum: 10c0/b50d103f6864687742067414d09392ccf3be363cf27503925a943ff56bb2392118e2bfdb6b2f89933417015e1770e58f81b2b0caf823f2adfb67f32b1702d469 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 10c0/6e56402373149ea076a434072671f9982f5fad030c7662be0332122fe6c0fa490acb3cc1010d90b6eff8d640b1167d77674add52dfd1bb85d545cf29e80e73e7 + languageName: node + linkType: hard + +"ini@npm:2.0.0": + version: 2.0.0 + resolution: "ini@npm:2.0.0" + checksum: 10c0/2e0c8f386369139029da87819438b20a1ff3fe58372d93fb1a86e9d9344125ace3a806b8ec4eb160a46e64cbc422fe68251869441676af49b7fc441af2389c25 + languageName: node + linkType: hard + +"ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + +"inline-style-parser@npm:0.2.4": + version: 0.2.4 + resolution: "inline-style-parser@npm:0.2.4" + checksum: 10c0/ddc0b210eaa03e0f98d677b9836242c583c7c6051e84ce0e704ae4626e7871c5b78f8e30853480218b446355745775df318d4f82d33087ff7e393245efa9a881 + languageName: node + linkType: hard + +"interpret@npm:^1.0.0": + version: 1.4.0 + resolution: "interpret@npm:1.4.0" + checksum: 10c0/08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 + languageName: node + linkType: hard + +"invariant@npm:^2.2.4": + version: 2.2.4 + resolution: "invariant@npm:2.2.4" + dependencies: + loose-envify: "npm:^1.0.0" + checksum: 10c0/5af133a917c0bcf65e84e7f23e779e7abc1cd49cb7fdc62d00d1de74b0d8c1b5ee74ac7766099fb3be1b05b26dfc67bab76a17030d2fe7ea2eef867434362dfc + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a + languageName: node + linkType: hard + +"ipaddr.js@npm:^2.0.1": + version: 2.2.0 + resolution: "ipaddr.js@npm:2.2.0" + checksum: 10c0/e4ee875dc1bd92ac9d27e06cfd87cdb63ca786ff9fd7718f1d4f7a8ef27db6e5d516128f52d2c560408cbb75796ac2f83ead669e73507c86282d45f84c5abbb6 + languageName: node + linkType: hard + +"is-alphabetical@npm:^2.0.0": + version: 2.0.1 + resolution: "is-alphabetical@npm:2.0.1" + checksum: 10c0/932367456f17237533fd1fc9fe179df77957271020b83ea31da50e5cc472d35ef6b5fb8147453274ffd251134472ce24eb6f8d8398d96dee98237cdb81a6c9a7 + languageName: node + linkType: hard + +"is-alphanumerical@npm:^2.0.0": + version: 2.0.1 + resolution: "is-alphanumerical@npm:2.0.1" + dependencies: + is-alphabetical: "npm:^2.0.0" + is-decimal: "npm:^2.0.0" + checksum: 10c0/4b35c42b18e40d41378293f82a3ecd9de77049b476f748db5697c297f686e1e05b072a6aaae2d16f54d2a57f85b00cbbe755c75f6d583d1c77d6657bd0feb5a2 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-ci@npm:^3.0.1": + version: 3.0.1 + resolution: "is-ci@npm:3.0.1" + dependencies: + ci-info: "npm:^3.2.0" + bin: + is-ci: bin.js + checksum: 10c0/0e81caa62f4520d4088a5bef6d6337d773828a88610346c4b1119fb50c842587ed8bef1e5d9a656835a599e7209405b5761ddf2339668f2d0f4e889a92fe6051 + languageName: node + linkType: hard + +"is-core-module@npm:^2.16.0": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd + languageName: node + linkType: hard + +"is-decimal@npm:^2.0.0": + version: 2.0.1 + resolution: "is-decimal@npm:2.0.1" + checksum: 10c0/8085dd66f7d82f9de818fba48b9e9c0429cb4291824e6c5f2622e96b9680b54a07a624cfc663b24148b8e853c62a1c987cfe8b0b5a13f5156991afaf6736e334 + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + +"is-extendable@npm:^0.1.0": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 10c0/dd5ca3994a28e1740d1e25192e66eed128e0b2ff161a7ea348e87ae4f616554b486854de423877a2a2c171d5f7cd6e8093b91f54533bc88a59ee1c9838c43879 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-hexadecimal@npm:^2.0.0": + version: 2.0.1 + resolution: "is-hexadecimal@npm:2.0.1" + checksum: 10c0/3eb60fe2f1e2bbc760b927dcad4d51eaa0c60138cf7fc671803f66353ad90c301605b502c7ea4c6bb0548e1c7e79dfd37b73b632652e3b76030bba603a7e9626 + languageName: node + linkType: hard + +"is-installed-globally@npm:^0.4.0": + version: 0.4.0 + resolution: "is-installed-globally@npm:0.4.0" + dependencies: + global-dirs: "npm:^3.0.0" + is-path-inside: "npm:^3.0.2" + checksum: 10c0/f3e6220ee5824b845c9ed0d4b42c24272701f1f9926936e30c0e676254ca5b34d1b92c6205cae11b283776f9529212c0cdabb20ec280a6451677d6493ca9c22d + languageName: node + linkType: hard + +"is-npm@npm:^6.0.0": + version: 6.0.0 + resolution: "is-npm@npm:6.0.0" + checksum: 10c0/1f064c66325cba6e494783bee4e635caa2655aad7f853a0e045d086e0bb7d83d2d6cdf1745dc9a7c7c93dacbf816fbee1f8d9179b02d5d01674d4f92541dc0d9 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-obj@npm:^1.0.1": + version: 1.0.1 + resolution: "is-obj@npm:1.0.1" + checksum: 10c0/5003acba0af7aa47dfe0760e545a89bbac89af37c12092c3efadc755372cdaec034f130e7a3653a59eb3c1843cfc72ca71eaf1a6c3bafe5a0bab3611a47f9945 + languageName: node + linkType: hard + +"is-obj@npm:^2.0.0": + version: 2.0.0 + resolution: "is-obj@npm:2.0.0" + checksum: 10c0/85044ed7ba8bd169e2c2af3a178cacb92a97aa75de9569d02efef7f443a824b5e153eba72b9ae3aca6f8ce81955271aa2dc7da67a8b720575d3e38104208cb4e + languageName: node + linkType: hard + +"is-path-cwd@npm:^2.2.0": + version: 2.2.0 + resolution: "is-path-cwd@npm:2.2.0" + checksum: 10c0/afce71533a427a759cd0329301c18950333d7589533c2c90205bd3fdcf7b91eb92d1940493190567a433134d2128ec9325de2fd281e05be1920fbee9edd22e0a + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.2": + version: 3.0.3 + resolution: "is-path-inside@npm:3.0.3" + checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 + languageName: node + linkType: hard + +"is-plain-obj@npm:^3.0.0": + version: 3.0.0 + resolution: "is-plain-obj@npm:3.0.0" + checksum: 10c0/8e6483bfb051d42ec9c704c0ede051a821c6b6f9a6c7a3e3b55aa855e00981b0580c8f3b1f5e2e62649b39179b1abfee35d6f8086d999bfaa32c1908d29b07bc + languageName: node + linkType: hard + +"is-plain-obj@npm:^4.0.0": + version: 4.1.0 + resolution: "is-plain-obj@npm:4.1.0" + checksum: 10c0/32130d651d71d9564dc88ba7e6fda0e91a1010a3694648e9f4f47bb6080438140696d3e3e15c741411d712e47ac9edc1a8a9de1fe76f3487b0d90be06ac9975e + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: "npm:^3.0.1" + checksum: 10c0/f050fdd5203d9c81e8c4df1b3ff461c4bc64e8b5ca383bcdde46131361d0a678e80bcf00b5257646f6c636197629644d53bd8e2375aea633de09a82d57e942f4 + languageName: node + linkType: hard + +"is-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "is-regexp@npm:1.0.0" + checksum: 10c0/34cacda1901e00f6e44879378f1d2fa96320ea956c1bec27713130aaf1d44f6e7bd963eed28945bfe37e600cb27df1cf5207302680dad8bdd27b9baff8ecf611 + languageName: node + linkType: hard + +"is-root@npm:^2.1.0": + version: 2.1.0 + resolution: "is-root@npm:2.1.0" + checksum: 10c0/83d3f5b052c3f28fbdbdf0d564bdd34fa14933f5694c78704f85cd1871255bc017fbe3fe2bc2fff2d227c6be5927ad2149b135c0a7c0060e7ac4e610d81a4f01 + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + +"is-typedarray@npm:^1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 10c0/4c096275ba041a17a13cca33ac21c16bc4fd2d7d7eb94525e7cd2c2f2c1a3ab956e37622290642501ff4310601e413b675cf399ad6db49855527d2163b3eeeec + languageName: node + linkType: hard + +"is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard + +"is-yarn-global@npm:^0.4.0": + version: 0.4.1 + resolution: "is-yarn-global@npm:0.4.1" + checksum: 10c0/8ff66f33454614f8e913ad91cc4de0d88d519a46c1ed41b3f589da79504ed0fcfa304064fe3096dda9360c5f35aa210cb8e978fd36798f3118cb66a4de64d365 + languageName: node + linkType: hard + +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 10c0/ed1e62da617f71fe348907c71743b5ed550448b455f8d269f89a7c7ddb8ae6e962de3dab6a74a237b06f5eb7f6ece7a45ada8ce96d87fe972926530f91ae3311 + languageName: node + linkType: hard + +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: 10c0/03344f5064a82f099a0cd1a8a407f4c0d20b7b8485e8e816c39f249e9416b06c322e8dec5b842b6bb8a06de0af9cb48e7bc1b5352f0fadc2f0abac033db3d4db + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jest-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-util@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + graceful-fs: "npm:^4.2.9" + picomatch: "npm:^2.2.3" + checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 + languageName: node + linkType: hard + +"jest-worker@npm:^27.4.5": + version: 27.5.1 + resolution: "jest-worker@npm:27.5.1" + dependencies: + "@types/node": "npm:*" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^8.0.0" + checksum: 10c0/8c4737ffd03887b3c6768e4cc3ca0269c0336c1e4b1b120943958ddb035ed2a0fc6acab6dc99631720a3720af4e708ff84fb45382ad1e83c27946adf3623969b + languageName: node + linkType: hard + +"jest-worker@npm:^29.4.3": + version: 29.7.0 + resolution: "jest-worker@npm:29.7.0" + dependencies: + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^8.0.0" + checksum: 10c0/5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 + languageName: node + linkType: hard + +"jiti@npm:^1.20.0": + version: 1.21.7 + resolution: "jiti@npm:1.21.7" + bin: + jiti: bin/jiti.js + checksum: 10c0/77b61989c758ff32407cdae8ddc77f85e18e1a13fc4977110dbd2e05fc761842f5f71bce684d9a01316e1c4263971315a111385759951080bbfe17cbb5de8f7a + languageName: node + linkType: hard + +"joi@npm:^17.9.2": + version: 17.13.3 + resolution: "joi@npm:17.13.3" + dependencies: + "@hapi/hoek": "npm:^9.3.0" + "@hapi/topo": "npm:^5.1.0" + "@sideway/address": "npm:^4.1.5" + "@sideway/formula": "npm:^3.0.1" + "@sideway/pinpoint": "npm:^2.0.0" + checksum: 10c0/9262aef1da3f1bec5b03caf50c46368899fe03b8ff26cbe3d53af4584dd1049079fc97230bbf1500b6149db7cc765b9ee45f0deb24bb6fc3fa06229d7148c17f + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 + languageName: node + linkType: hard + +"jsesc@npm:~3.0.2": + version: 3.0.2 + resolution: "jsesc@npm:3.0.2" + bin: + jsesc: bin/jsesc + checksum: 10c0/ef22148f9e793180b14d8a145ee6f9f60f301abf443288117b4b6c53d0ecd58354898dc506ccbb553a5f7827965cd38bc5fb726575aae93c5e8915e2de8290e1 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + +"json5@npm:^2.1.2, json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"katex@npm:^0.16.0": + version: 0.16.22 + resolution: "katex@npm:0.16.22" + dependencies: + commander: "npm:^8.3.0" + bin: + katex: cli.js + checksum: 10c0/07b8b1f07ae53171b5f1ea0cf6f18841d2055825c8b11cd81cfe039afcd3af2cfc84ad033531ee3875088329105195b039c267e0dd4b0c237807e3c3b2009913 + languageName: node + linkType: hard + +"keyv@npm:^4.5.3": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b + languageName: node + linkType: hard + +"latest-version@npm:^7.0.0": + version: 7.0.0 + resolution: "latest-version@npm:7.0.0" + dependencies: + package-json: "npm:^8.1.0" + checksum: 10c0/68045f5e419e005c12e595ae19687dd88317dd0108b83a8773197876622c7e9d164fe43aacca4f434b2cba105c92848b89277f658eabc5d50e81fb743bbcddb1 + languageName: node + linkType: hard + +"launch-editor@npm:^2.6.0": + version: 2.10.0 + resolution: "launch-editor@npm:2.10.0" + dependencies: + picocolors: "npm:^1.0.0" + shell-quote: "npm:^1.8.1" + checksum: 10c0/8b5a26be6b0da1da039ed2254b837dea0651a6406ea4dc4c9a5b28ea72862f1b12880135c495baf9d8a08997473b44034172506781744cf82e155451a40b7d51 + languageName: node + linkType: hard + +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df + languageName: node + linkType: hard + +"lilconfig@npm:^3.1.1": + version: 3.1.3 + resolution: "lilconfig@npm:3.1.3" + checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"loader-runner@npm:^4.2.0": + version: 4.3.0 + resolution: "loader-runner@npm:4.3.0" + checksum: 10c0/a44d78aae0907a72f73966fe8b82d1439c8c485238bd5a864b1b9a2a3257832effa858790241e6b37876b5446a78889adf2fcc8dd897ce54c089ecc0a0ce0bf0 + languageName: node + linkType: hard + +"loader-utils@npm:^2.0.0": + version: 2.0.4 + resolution: "loader-utils@npm:2.0.4" + dependencies: + big.js: "npm:^5.2.2" + emojis-list: "npm:^3.0.0" + json5: "npm:^2.1.2" + checksum: 10c0/d5654a77f9d339ec2a03d88221a5a695f337bf71eb8dea031b3223420bb818964ba8ed0069145c19b095f6c8b8fd386e602a3fc7ca987042bd8bb1dcc90d7100 + languageName: node + linkType: hard + +"loader-utils@npm:^3.2.0": + version: 3.3.1 + resolution: "loader-utils@npm:3.3.1" + checksum: 10c0/f2af4eb185ac5bf7e56e1337b666f90744e9f443861ac521b48f093fb9e8347f191c8960b4388a3365147d218913bc23421234e7788db69f385bacfefa0b4758 + languageName: node + linkType: hard + +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: "npm:^3.0.0" + path-exists: "npm:^3.0.0" + checksum: 10c0/3db394b7829a7fe2f4fbdd25d3c4689b85f003c318c5da4052c7e56eed697da8f1bce5294f685c69ff76e32cba7a33629d94396976f6d05fb7f4c755c5e2ae8b + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"locate-path@npm:^7.1.0": + version: 7.2.0 + resolution: "locate-path@npm:7.2.0" + dependencies: + p-locate: "npm:^6.0.0" + checksum: 10c0/139e8a7fe11cfbd7f20db03923cacfa5db9e14fa14887ea121345597472b4a63c1a42a8a5187defeeff6acf98fd568da7382aa39682d38f0af27433953a97751 + languageName: node + linkType: hard + +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: 10c0/762998a63e095412b6099b8290903e0a8ddcb353ac6e2e0f2d7e7d03abd4275fe3c689d88960eb90b0dde4f177554d51a690f22a343932ecbc50a5d111849987 + languageName: node + linkType: hard + +"lodash.memoize@npm:^4.1.2": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 + languageName: node + linkType: hard + +"lodash.uniq@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.uniq@npm:4.5.0" + checksum: 10c0/262d400bb0952f112162a320cc4a75dea4f66078b9e7e3075ffbc9c6aa30b3e9df3cf20e7da7d566105e1ccf7804e4fbd7d804eee0b53de05d83f16ffbf41c5e + languageName: node + linkType: hard + +"lodash@npm:^4.17.20, lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"longest-streak@npm:^3.0.0": + version: 3.1.0 + resolution: "longest-streak@npm:3.1.0" + checksum: 10c0/7c2f02d0454b52834d1bcedef79c557bd295ee71fdabb02d041ff3aa9da48a90b5df7c0409156dedbc4df9b65da18742652aaea4759d6ece01f08971af6a7eaa + languageName: node + linkType: hard + +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"lower-case@npm:^2.0.2": + version: 2.0.2 + resolution: "lower-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/3d925e090315cf7dc1caa358e0477e186ffa23947740e4314a7429b6e62d72742e0bbe7536a5ae56d19d7618ce998aba05caca53c2902bd5742fdca5fc57fd7b + languageName: node + linkType: hard + +"lowercase-keys@npm:^3.0.0": + version: 3.0.0 + resolution: "lowercase-keys@npm:3.0.0" + checksum: 10c0/ef62b9fa5690ab0a6e4ef40c94efce68e3ed124f583cc3be38b26ff871da0178a28b9a84ce0c209653bb25ca135520ab87fea7cd411a54ac4899cb2f30501430 + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^4.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 + languageName: node + linkType: hard + +"markdown-extensions@npm:^2.0.0": + version: 2.0.0 + resolution: "markdown-extensions@npm:2.0.0" + checksum: 10c0/406139da2aa0d5ebad86195c8e8c02412f873c452b4c087ae7bc767af37956141be449998223bb379eea179b5fd38dfa610602b6f29c22ddab5d51e627a7e41d + languageName: node + linkType: hard + +"markdown-table@npm:^2.0.0": + version: 2.0.0 + resolution: "markdown-table@npm:2.0.0" + dependencies: + repeat-string: "npm:^1.0.0" + checksum: 10c0/f257e0781ea50eb946919df84bdee4ba61f983971b277a369ca7276f89740fd0e2749b9b187163a42df4c48682b71962d4007215ce3523480028f06c11ddc2e6 + languageName: node + linkType: hard + +"markdown-table@npm:^3.0.0": + version: 3.0.4 + resolution: "markdown-table@npm:3.0.4" + checksum: 10c0/1257b31827629a54c24a5030a3dac952256c559174c95ce3ef89bebd6bff0cb1444b1fd667b1a1bb53307f83278111505b3e26f0c4e7b731e0060d435d2d930b + languageName: node + linkType: hard + +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + +"mdast-util-definition-list@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-definition-list@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.1" + "@types/unist": "npm:^3.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-hast: "npm:^13.0.2" + mdast-util-to-markdown: "npm:^2.1.0" + micromark-extension-definition-list: "npm:^2.0.0" + unist-builder: "npm:^4.0.0" + checksum: 10c0/ece475bd485598b8a2c4fd24ef26832abebd8cc081dab099db857a7010fac75eb74543507ec5af7d99207626378d9be8631b3144842a3b8724e45b2bfc20b18e + languageName: node + linkType: hard + +"mdast-util-directive@npm:^3.0.0": + version: 3.1.0 + resolution: "mdast-util-directive@npm:3.1.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + parse-entities: "npm:^4.0.0" + stringify-entities: "npm:^4.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/596b093b940197cf43af4d0de12e82a1d2b1eb5add73dd16077aa80e0d0e1f208ea642c420726e59ccd352c193d6ecd5c106d6fab769f252617c75333f91a314 + languageName: node + linkType: hard + +"mdast-util-find-and-replace@npm:^3.0.0, mdast-util-find-and-replace@npm:^3.0.1": + version: 3.0.2 + resolution: "mdast-util-find-and-replace@npm:3.0.2" + dependencies: + "@types/mdast": "npm:^4.0.0" + escape-string-regexp: "npm:^5.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/c8417a35605d567772ff5c1aa08363ff3010b0d60c8ea68c53cba09bf25492e3dd261560425c1756535f3b7107f62e7ff3857cdd8fb1e62d1b2cc2ea6e074ca2 + languageName: node + linkType: hard + +"mdast-util-from-markdown@npm:^2.0.0": + version: 2.0.2 + resolution: "mdast-util-from-markdown@npm:2.0.2" + dependencies: + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + decode-named-character-reference: "npm:^1.0.0" + devlop: "npm:^1.0.0" + mdast-util-to-string: "npm:^4.0.0" + micromark: "npm:^4.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-decode-string: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-stringify-position: "npm:^4.0.0" + checksum: 10c0/76eb2bd2c6f7a0318087c73376b8af6d7561c1e16654e7667e640f391341096c56142618fd0ff62f6d39e5ab4895898b9789c84cd7cec2874359a437a0e1ff15 + languageName: node + linkType: hard + +"mdast-util-frontmatter@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-frontmatter@npm:2.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + escape-string-regexp: "npm:^5.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-extension-frontmatter: "npm:^2.0.0" + checksum: 10c0/d9b0b70dd9c574cc0220d4e05dd8e9d86ac972a6a5af9e0c49c839b31cb750d4313445cfbbdf9264a7fbe3f8c8d920b45358b8500f4286e6b9dc830095b25b9a + languageName: node + linkType: hard + +"mdast-util-gfm-autolink-literal@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-gfm-autolink-literal@npm:2.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + ccount: "npm:^2.0.0" + devlop: "npm:^1.0.0" + mdast-util-find-and-replace: "npm:^3.0.0" + micromark-util-character: "npm:^2.0.0" + checksum: 10c0/963cd22bd42aebdec7bdd0a527c9494d024d1ad0739c43dc040fee35bdfb5e29c22564330a7418a72b5eab51d47a6eff32bc0255ef3ccb5cebfe8970e91b81b6 + languageName: node + linkType: hard + +"mdast-util-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "mdast-util-gfm-footnote@npm:2.1.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + checksum: 10c0/8ab965ee6be3670d76ec0e95b2ba3101fc7444eec47564943ab483d96ac17d29da2a4e6146a2a288be30c21b48c4f3938a1e54b9a46fbdd321d49a5bc0077ed0 + languageName: node + linkType: hard + +"mdast-util-gfm-strikethrough@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-strikethrough@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/b053e93d62c7545019bd914271ea9e5667ad3b3b57d16dbf68e56fea39a7e19b4a345e781312714eb3d43fdd069ff7ee22a3ca7f6149dfa774554f19ce3ac056 + languageName: node + linkType: hard + +"mdast-util-gfm-table@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-table@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + markdown-table: "npm:^3.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/128af47c503a53bd1c79f20642561e54a510ad5e2db1e418d28fefaf1294ab839e6c838e341aef5d7e404f9170b9ca3d1d89605f234efafde93ee51174a6e31e + languageName: node + linkType: hard + +"mdast-util-gfm-task-list-item@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-task-list-item@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/258d725288482b636c0a376c296431390c14b4f29588675297cb6580a8598ed311fc73ebc312acfca12cc8546f07a3a285a53a3b082712e2cbf5c190d677d834 + languageName: node + linkType: hard + +"mdast-util-gfm@npm:^3.0.0": + version: 3.1.0 + resolution: "mdast-util-gfm@npm:3.1.0" + dependencies: + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-gfm-autolink-literal: "npm:^2.0.0" + mdast-util-gfm-footnote: "npm:^2.0.0" + mdast-util-gfm-strikethrough: "npm:^2.0.0" + mdast-util-gfm-table: "npm:^2.0.0" + mdast-util-gfm-task-list-item: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/4bedcfb6a20e39901c8772f0d2bb2d7a64ae87a54c13cbd92eec062cf470fbb68c2ad754e149af5b30794e2de61c978ab1de1ace03c0c40f443ca9b9b8044f81 + languageName: node + linkType: hard + +"mdast-util-math@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-math@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + longest-streak: "npm:^3.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.1.0" + unist-util-remove-position: "npm:^5.0.0" + checksum: 10c0/d4e839e38719f26872ed78aac18339805a892f1b56585a9cb8668f34e221b4f0660b9dfe49ec96dbbe79fd1b63b648608a64046d8286bcd2f9d576e80b48a0a1 + languageName: node + linkType: hard + +"mdast-util-mdx-expression@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdx-expression@npm:2.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/9a1e57940f66431f10312fa239096efa7627f375e7933b5d3162c0b5c1712a72ac87447aff2b6838d2bbd5c1311b188718cc90b33b67dc67a88550e0a6ef6183 + languageName: node + linkType: hard + +"mdast-util-mdx-jsx@npm:^3.0.0": + version: 3.2.0 + resolution: "mdast-util-mdx-jsx@npm:3.2.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + parse-entities: "npm:^4.0.0" + stringify-entities: "npm:^4.0.0" + unist-util-stringify-position: "npm:^4.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/3acadaf3b962254f7ad2990fed4729961dc0217ca31fde9917986e880843f3ecf3392b1f22d569235cacd180d50894ad266db7af598aedca69d330d33c7ac613 + languageName: node + linkType: hard + +"mdast-util-mdx@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-mdx@npm:3.0.0" + dependencies: + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/4faea13f77d6bc9aa64ee41a5e4779110b73444a17fda363df6ebe880ecfa58b321155b71f8801c3faa6d70d6222a32a00cbd6dbf5fad8db417f4688bc9c74e1 + languageName: node + linkType: hard + +"mdast-util-mdxjs-esm@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdxjs-esm@npm:2.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/5bda92fc154141705af2b804a534d891f28dac6273186edf1a4c5e3f045d5b01dbcac7400d27aaf91b7e76e8dce007c7b2fdf136c11ea78206ad00bdf9db46bc + languageName: node + linkType: hard + +"mdast-util-phrasing@npm:^4.0.0, mdast-util-phrasing@npm:^4.1.0": + version: 4.1.0 + resolution: "mdast-util-phrasing@npm:4.1.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/bf6c31d51349aa3d74603d5e5a312f59f3f65662ed16c58017169a5fb0f84ca98578f626c5ee9e4aa3e0a81c996db8717096705521bddb4a0185f98c12c9b42f + languageName: node + linkType: hard + +"mdast-util-to-hast@npm:^13.0.0, mdast-util-to-hast@npm:^13.0.2": + version: 13.2.0 + resolution: "mdast-util-to-hast@npm:13.2.0" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + trim-lines: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/9ee58def9287df8350cbb6f83ced90f9c088d72d4153780ad37854f87144cadc6f27b20347073b285173b1649b0723ddf0b9c78158608a804dcacb6bda6e1816 + languageName: node + linkType: hard + +"mdast-util-to-markdown@npm:^2.0.0, mdast-util-to-markdown@npm:^2.1.0": + version: 2.1.2 + resolution: "mdast-util-to-markdown@npm:2.1.2" + dependencies: + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + longest-streak: "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + mdast-util-to-string: "npm:^4.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-decode-string: "npm:^2.0.0" + unist-util-visit: "npm:^5.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/4649722a6099f12e797bd8d6469b2b43b44e526b5182862d9c7766a3431caad2c0112929c538a972f214e63c015395e5d3f54bd81d9ac1b16e6d8baaf582f749 + languageName: node + linkType: hard + +"mdast-util-to-string@npm:^4.0.0": + version: 4.0.0 + resolution: "mdast-util-to-string@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + checksum: 10c0/2d3c1af29bf3fe9c20f552ee9685af308002488f3b04b12fa66652c9718f66f41a32f8362aa2d770c3ff464c034860b41715902ada2306bb0a055146cef064d7 + languageName: node + linkType: hard + +"mdn-data@npm:2.0.28": + version: 2.0.28 + resolution: "mdn-data@npm:2.0.28" + checksum: 10c0/20000932bc4cd1cde9cba4e23f08cc4f816398af4c15ec81040ed25421d6bf07b5cf6b17095972577fb498988f40f4cb589e3169b9357bb436a12d8e07e5ea7b + languageName: node + linkType: hard + +"mdn-data@npm:2.0.30": + version: 2.0.30 + resolution: "mdn-data@npm:2.0.30" + checksum: 10c0/a2c472ea16cee3911ae742593715aa4c634eb3d4b9f1e6ada0902aa90df13dcbb7285d19435f3ff213ebaa3b2e0c0265c1eb0e3fb278fda7f8919f046a410cd9 + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 + languageName: node + linkType: hard + +"memfs@npm:^3.1.2, memfs@npm:^3.4.3": + version: 3.6.0 + resolution: "memfs@npm:3.6.0" + dependencies: + fs-monkey: "npm:^1.0.4" + checksum: 10c0/af567f9038bbb5bbacf100b35d5839e90a89f882d191d8a1c7002faeb224c6cfcebd0e97c0150e9af8be95ec7b5b75a52af56fcd109d0bc18807c1f4e004f053 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.3": + version: 1.0.3 + resolution: "merge-descriptors@npm:1.0.3" + checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 + languageName: node + linkType: hard + +"micromark-core-commonmark@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-core-commonmark@npm:2.0.3" + dependencies: + decode-named-character-reference: "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-factory-destination: "npm:^2.0.0" + micromark-factory-label: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-factory-title: "npm:^2.0.0" + micromark-factory-whitespace: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-html-tag-name: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-subtokenize: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bd4a794fdc9e88dbdf59eaf1c507ddf26e5f7ddf4e52566c72239c0f1b66adbcd219ba2cd42350debbe24471434d5f5e50099d2b3f4e5762ca222ba8e5b549ee + languageName: node + linkType: hard + +"micromark-extension-definition-list@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-extension-definition-list@npm:2.0.1" + dependencies: + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.1" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + ts-dedent: "npm:^2.2.0" + checksum: 10c0/0dc542965cf351712855c631ba415bf9c9fbd93fcdaaf5f13e3df88a1c584772bd0a7d8d14ae75680192ed465db96a015114ff43f56e16773e82f65a51a28f98 + languageName: node + linkType: hard + +"micromark-extension-directive@npm:^3.0.0": + version: 3.0.2 + resolution: "micromark-extension-directive@npm:3.0.2" + dependencies: + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-factory-whitespace: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + parse-entities: "npm:^4.0.0" + checksum: 10c0/74137485375f02c1b640c2120dd6b9f6aa1e39ca5cd2463df7974ef1cc80203f5ef90448ce009973355a49ba169ef1441eabe57a36877c7b86373788612773da + languageName: node + linkType: hard + +"micromark-extension-frontmatter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-frontmatter@npm:2.0.0" + dependencies: + fault: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/7d0d876e598917a67146d29f536d6fbbf9d1b2401a77e2f64a3f80f934a63ff26fa94b01759c9185c24b2a91e4e6abf908fa7aa246f00a7778a6b37a17464300 + languageName: node + linkType: hard + +"micromark-extension-gfm-autolink-literal@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-autolink-literal@npm:2.1.0" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/84e6fbb84ea7c161dfa179665dc90d51116de4c28f3e958260c0423e5a745372b7dcbc87d3cde98213b532e6812f847eef5ae561c9397d7f7da1e59872ef3efe + languageName: node + linkType: hard + +"micromark-extension-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-footnote@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/d172e4218968b7371b9321af5cde8c77423f73b233b2b0fcf3ff6fd6f61d2e0d52c49123a9b7910612478bf1f0d5e88c75a3990dd68f70f3933fe812b9f77edc + languageName: node + linkType: hard + +"micromark-extension-gfm-strikethrough@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-strikethrough@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/ef4f248b865bdda71303b494671b7487808a340b25552b11ca6814dff3fcfaab9be8d294643060bbdb50f79313e4a686ab18b99cbe4d3ee8a4170fcd134234fb + languageName: node + linkType: hard + +"micromark-extension-gfm-table@npm:^2.0.0": + version: 2.1.1 + resolution: "micromark-extension-gfm-table@npm:2.1.1" + dependencies: + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/04bc00e19b435fa0add62cd029d8b7eb6137522f77832186b1d5ef34544a9bd030c9cf85e92ddfcc5c31f6f0a58a43d4b96dba4fc21316037c734630ee12c912 + languageName: node + linkType: hard + +"micromark-extension-gfm-tagfilter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/995558843fff137ae4e46aecb878d8a4691cdf23527dcf1e2f0157d66786be9f7bea0109c52a8ef70e68e3f930af811828ba912239438e31a9cfb9981f44d34d + languageName: node + linkType: hard + +"micromark-extension-gfm-task-list-item@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-task-list-item@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/78aa537d929e9309f076ba41e5edc99f78d6decd754b6734519ccbbfca8abd52e1c62df68d41a6ae64d2a3fc1646cea955893c79680b0b4385ced4c52296181f + languageName: node + linkType: hard + +"micromark-extension-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-gfm@npm:3.0.0" + dependencies: + micromark-extension-gfm-autolink-literal: "npm:^2.0.0" + micromark-extension-gfm-footnote: "npm:^2.0.0" + micromark-extension-gfm-strikethrough: "npm:^2.0.0" + micromark-extension-gfm-table: "npm:^2.0.0" + micromark-extension-gfm-tagfilter: "npm:^2.0.0" + micromark-extension-gfm-task-list-item: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/970e28df6ebdd7c7249f52a0dda56e0566fbfa9ae56c8eeeb2445d77b6b89d44096880cd57a1c01e7821b1f4e31009109fbaca4e89731bff7b83b8519690e5d9 + languageName: node + linkType: hard + +"micromark-extension-math@npm:^3.0.0": + version: 3.1.0 + resolution: "micromark-extension-math@npm:3.1.0" + dependencies: + "@types/katex": "npm:^0.16.0" + devlop: "npm:^1.0.0" + katex: "npm:^0.16.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/56e6f2185a4613f9d47e7e98cf8605851c990957d9229c942b005e286c8087b61dc9149448d38b2f8be6d42cc6a64aad7e1f2778ddd86fbbb1a2f48a3ca1872f + languageName: node + linkType: hard + +"micromark-extension-mdx-expression@npm:^3.0.0": + version: 3.0.1 + resolution: "micromark-extension-mdx-expression@npm:3.0.1" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/4d8cc5353b083b06bd51c98389de9c198261a5b2b440b75e85000a18d10511f21ba77538d6dfde0e0589df9de3fba9a1d14c2448d30c92d6b461c26d86e397f4 + languageName: node + linkType: hard + +"micromark-extension-mdx-jsx@npm:^3.0.0": + version: 3.0.2 + resolution: "micromark-extension-mdx-jsx@npm:3.0.2" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/5693b2e51934ac29a6aab521eaa2151f891d1fe092550bbd4ce24e4dd7567c1421a54f5e585a57dfa1769a79570f6df57ddd7a98bf0889dd11d495847a266dd7 + languageName: node + linkType: hard + +"micromark-extension-mdx-md@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-mdx-md@npm:2.0.0" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bae91c61273de0e5ba80a980c03470e6cd9d7924aa936f46fbda15d780704d9386e945b99eda200e087b96254fbb4271a9545d5ce02676cd6ae67886a8bf82df + languageName: node + linkType: hard + +"micromark-extension-mdxjs-esm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs-esm@npm:3.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/13e3f726495a960650cdedcba39198ace5bdc953ccb12c14d71fc9ed9bb88e40cc3ba9231e973f6984da3b3573e7ddb23ce409f7c16f52a8d57b608bf46c748d + languageName: node + linkType: hard + +"micromark-extension-mdxjs@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs@npm:3.0.0" + dependencies: + acorn: "npm:^8.0.0" + acorn-jsx: "npm:^5.0.0" + micromark-extension-mdx-expression: "npm:^3.0.0" + micromark-extension-mdx-jsx: "npm:^3.0.0" + micromark-extension-mdx-md: "npm:^2.0.0" + micromark-extension-mdxjs-esm: "npm:^3.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/fd84f036ddad0aabbc12e7f1b3e9dcfe31573bbc413c5ae903779ef0366d7a4c08193547e7ba75718c9f45654e45f52e575cfc2f23a5f89205a8a70d9a506aea + languageName: node + linkType: hard + +"micromark-factory-destination@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-destination@npm:2.0.1" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bbafcf869cee5bf511161354cb87d61c142592fbecea051000ff116068dc85216e6d48519d147890b9ea5d7e2864a6341c0c09d9948c203bff624a80a476023c + languageName: node + linkType: hard + +"micromark-factory-label@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-label@npm:2.0.1" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/0137716b4ecb428114165505e94a2f18855c8bbea21b07a8b5ce514b32a595ed789d2b967125718fc44c4197ceaa48f6609d58807a68e778138d2e6b91b824e8 + languageName: node + linkType: hard + +"micromark-factory-mdx-expression@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-factory-mdx-expression@npm:2.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/a6004ef6272dd01a5d718f2affd7bfb5e08f0849340f5fd96ac823fbc5e9d3b3343acedda50805873ccda5e3b8af4d5fbb302abc874544044ac90c217345cf97 + languageName: node + linkType: hard + +"micromark-factory-space@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-factory-space@npm:1.1.0" + dependencies: + micromark-util-character: "npm:^1.0.0" + micromark-util-types: "npm:^1.0.0" + checksum: 10c0/3da81187ce003dd4178c7adc4674052fb8befc8f1a700ae4c8227755f38581a4ae963866dc4857488d62d1dc9837606c9f2f435fa1332f62a0f1c49b83c6a822 + languageName: node + linkType: hard + +"micromark-factory-space@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-space@npm:2.0.1" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/f9ed43f1c0652d8d898de0ac2be3f77f776fffe7dd96bdbba1e02d7ce33d3853c6ff5daa52568fc4fa32cdf3a62d86b85ead9b9189f7211e1d69ff2163c450fb + languageName: node + linkType: hard + +"micromark-factory-title@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-title@npm:2.0.1" + dependencies: + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/e72fad8d6e88823514916890099a5af20b6a9178ccf78e7e5e05f4de99bb8797acb756257d7a3a57a53854cb0086bf8aab15b1a9e9db8982500dd2c9ff5948b6 + languageName: node + linkType: hard + +"micromark-factory-whitespace@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-whitespace@npm:2.0.1" + dependencies: + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/20a1ec58698f24b766510a309b23a10175034fcf1551eaa9da3adcbed3e00cd53d1ebe5f030cf873f76a1cec3c34eb8c50cc227be3344caa9ed25d56cf611224 + languageName: node + linkType: hard + +"micromark-util-character@npm:^1.0.0, micromark-util-character@npm:^1.1.0": + version: 1.2.0 + resolution: "micromark-util-character@npm:1.2.0" + dependencies: + micromark-util-symbol: "npm:^1.0.0" + micromark-util-types: "npm:^1.0.0" + checksum: 10c0/3390a675a50731b58a8e5493cd802e190427f10fa782079b455b00f6b54e406e36882df7d4a3bd32b709f7a2c3735b4912597ebc1c0a99566a8d8d0b816e2cd4 + languageName: node + linkType: hard + +"micromark-util-character@npm:^2.0.0, micromark-util-character@npm:^2.0.1": + version: 2.1.1 + resolution: "micromark-util-character@npm:2.1.1" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/d3fe7a5e2c4060fc2a076f9ce699c82a2e87190a3946e1e5eea77f563869b504961f5668d9c9c014724db28ac32fa909070ea8b30c3a39bd0483cc6c04cc76a1 + languageName: node + linkType: hard + +"micromark-util-chunked@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-chunked@npm:2.0.1" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/b68c0c16fe8106949537bdcfe1be9cf36c0ccd3bc54c4007003cb0984c3750b6cdd0fd77d03f269a3382b85b0de58bde4f6eedbe7ecdf7244759112289b1ab56 + languageName: node + linkType: hard + +"micromark-util-classify-character@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-classify-character@npm:2.0.1" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/8a02e59304005c475c332f581697e92e8c585bcd45d5d225a66c1c1b14ab5a8062705188c2ccec33cc998d33502514121478b2091feddbc751887fc9c290ed08 + languageName: node + linkType: hard + +"micromark-util-combine-extensions@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-combine-extensions@npm:2.0.1" + dependencies: + micromark-util-chunked: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/f15e282af24c8372cbb10b9b0b3e2c0aa681fea0ca323a44d6bc537dc1d9382c819c3689f14eaa000118f5a163245358ce6276b2cda9a84439cdb221f5d86ae7 + languageName: node + linkType: hard + +"micromark-util-decode-numeric-character-reference@npm:^2.0.0": + version: 2.0.2 + resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.2" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/9c8a9f2c790e5593ffe513901c3a110e9ec8882a08f466da014112a25e5059b51551ca0aeb7ff494657d86eceb2f02ee556c6558b8d66aadc61eae4a240da0df + languageName: node + linkType: hard + +"micromark-util-decode-string@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-decode-string@npm:2.0.1" + dependencies: + decode-named-character-reference: "npm:^1.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/f24d75b2e5310be6e7b6dee532e0d17d3bf46996841d6295f2a9c87a2046fff4ab603c52ab9d7a7a6430a8b787b1574ae895849c603d262d1b22eef71736b5cb + languageName: node + linkType: hard + +"micromark-util-encode@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-encode@npm:2.0.1" + checksum: 10c0/b2b29f901093845da8a1bf997ea8b7f5e061ffdba85070dfe14b0197c48fda64ffcf82bfe53c90cf9dc185e69eef8c5d41cae3ba918b96bc279326921b59008a + languageName: node + linkType: hard + +"micromark-util-events-to-acorn@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-util-events-to-acorn@npm:2.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/a4e0716e943ffdd16a918edf51d4f8291ec2692f5c4d04693dbef3358716fba891f288197afd102c14f4d98dac09d52351046ab7aad1d50b74677bdd5fa683c0 + languageName: node + linkType: hard + +"micromark-util-html-tag-name@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-html-tag-name@npm:2.0.1" + checksum: 10c0/ae80444db786fde908e9295f19a27a4aa304171852c77414516418650097b8afb401961c9edb09d677b06e97e8370cfa65638dde8438ebd41d60c0a8678b85b9 + languageName: node + linkType: hard + +"micromark-util-normalize-identifier@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-normalize-identifier@npm:2.0.1" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/5299265fa360769fc499a89f40142f10a9d4a5c3dd8e6eac8a8ef3c2e4a6570e4c009cf75ea46dce5ee31c01f25587bde2f4a5cc0a935584ae86dd857f2babbd + languageName: node + linkType: hard + +"micromark-util-resolve-all@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-resolve-all@npm:2.0.1" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bb6ca28764696bb479dc44a2d5b5fe003e7177aeae1d6b0d43f24cc223bab90234092d9c3ce4a4d2b8df095ccfd820537b10eb96bb7044d635f385d65a4c984a + languageName: node + linkType: hard + +"micromark-util-sanitize-uri@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-sanitize-uri@npm:2.0.1" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-encode: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/60e92166e1870fd4f1961468c2651013ff760617342918e0e0c3c4e872433aa2e60c1e5a672bfe5d89dc98f742d6b33897585cf86ae002cda23e905a3c02527c + languageName: node + linkType: hard + +"micromark-util-subtokenize@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-util-subtokenize@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bee69eece4393308e657c293ba80d92ebcb637e5f55e21dcf9c3fa732b91a8eda8ac248d76ff375e675175bfadeae4712e5158ef97eef1111789da1ce7ab5067 + languageName: node + linkType: hard + +"micromark-util-symbol@npm:^1.0.0, micromark-util-symbol@npm:^1.0.1": + version: 1.1.0 + resolution: "micromark-util-symbol@npm:1.1.0" + checksum: 10c0/10ceaed33a90e6bfd3a5d57053dbb53f437d4809cc11430b5a09479c0ba601577059be9286df4a7eae6e350a60a2575dc9fa9d9872b5b8d058c875e075c33803 + languageName: node + linkType: hard + +"micromark-util-symbol@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-symbol@npm:2.0.1" + checksum: 10c0/f2d1b207771e573232436618e78c5e46cd4b5c560dd4a6d63863d58018abbf49cb96ec69f7007471e51434c60de3c9268ef2bf46852f26ff4aacd10f9da16fe9 + languageName: node + linkType: hard + +"micromark-util-types@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-util-types@npm:1.1.0" + checksum: 10c0/a9749cb0a12a252ff536baabcb7012421b6fad4d91a5fdd80d7b33dc7b4c22e2d0c4637dfe5b902d00247fe6c9b01f4a24fce6b572b16ccaa4da90e6ce2a11e4 + languageName: node + linkType: hard + +"micromark-util-types@npm:^2.0.0": + version: 2.0.2 + resolution: "micromark-util-types@npm:2.0.2" + checksum: 10c0/c8c15b96c858db781c4393f55feec10004bf7df95487636c9a9f7209e51002a5cca6a047c5d2a5dc669ff92da20e57aaa881e81a268d9ccadb647f9dce305298 + languageName: node + linkType: hard + +"micromark@npm:^4.0.0": + version: 4.0.2 + resolution: "micromark@npm:4.0.2" + dependencies: + "@types/debug": "npm:^4.0.0" + debug: "npm:^4.0.0" + decode-named-character-reference: "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-encode: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-subtokenize: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/07462287254219d6eda6eac8a3cebaff2994e0575499e7088027b825105e096e4f51e466b14b2a81b71933a3b6c48ee069049d87bc2c2127eee50d9cc69e8af6 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.2, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-db@npm:>= 1.43.0 < 2": + version: 1.54.0 + resolution: "mime-db@npm:1.54.0" + checksum: 10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284 + languageName: node + linkType: hard + +"mime-db@npm:~1.33.0": + version: 1.33.0 + resolution: "mime-db@npm:1.33.0" + checksum: 10c0/79172ce5468c8503b49dddfdddc18d3f5fe2599f9b5fe1bc321a8cbee14c96730fc6db22f907b23701b05b2936f865795f62ec3a78a7f3c8cb2450bb68c6763e + languageName: node + linkType: hard + +"mime-types@npm:2.1.18": + version: 2.1.18 + resolution: "mime-types@npm:2.1.18" + dependencies: + mime-db: "npm:~1.33.0" + checksum: 10c0/a96a8d12f4bb98bc7bfac6a8ccbd045f40368fc1030d9366050c3613825d3715d1c1f393e10a75a885d2cdc1a26cd6d5e11f3a2a0d5c4d361f00242139430a0f + languageName: node + linkType: hard + +"mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 + languageName: node + linkType: hard + +"mimic-response@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-response@npm:4.0.0" + checksum: 10c0/761d788d2668ae9292c489605ffd4fad220f442fbae6832adce5ebad086d691e906a6d5240c290293c7a11e99fbdbbef04abbbed498bf8699a4ee0f31315e3fb + languageName: node + linkType: hard + +"mini-css-extract-plugin@npm:^2.9.1": + version: 2.9.2 + resolution: "mini-css-extract-plugin@npm:2.9.2" + dependencies: + schema-utils: "npm:^4.0.0" + tapable: "npm:^2.2.1" + peerDependencies: + webpack: ^5.0.0 + checksum: 10c0/5d3218dbd7db48b572925ddac05162a7415bf81b321f1a0c07016ec643cb5720c8a836ae68d45f5de826097a3013b601706c9c5aacb7f610dc2041b271de2ce0 + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd + languageName: node + linkType: hard + +"minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minimist@npm:^1.2.0": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 + languageName: node + linkType: hard + +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + languageName: node + linkType: hard + +"mrmime@npm:^2.0.0": + version: 2.0.1 + resolution: "mrmime@npm:2.0.1" + checksum: 10c0/af05afd95af202fdd620422f976ad67dc18e6ee29beb03dd1ce950ea6ef664de378e44197246df4c7cdd73d47f2e7143a6e26e473084b9e4aa2095c0ad1e1761 + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d + languageName: node + linkType: hard + +"ms@npm:2.1.3, ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"multicast-dns@npm:^7.2.5": + version: 7.2.5 + resolution: "multicast-dns@npm:7.2.5" + dependencies: + dns-packet: "npm:^5.2.2" + thunky: "npm:^1.0.2" + bin: + multicast-dns: cli.js + checksum: 10c0/5120171d4bdb1577764c5afa96e413353bff530d1b37081cb29cccc747f989eb1baf40574fe8e27060fc1aef72b59c042f72b9b208413de33bcf411343c69057 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.8": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b + languageName: node + linkType: hard + +"negotiator@npm:0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + +"negotiator@npm:~0.6.4": + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea + languageName: node + linkType: hard + +"neo-async@npm:^2.6.2": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d + languageName: node + linkType: hard + +"no-case@npm:^3.0.4": + version: 3.0.4 + resolution: "no-case@npm:3.0.4" + dependencies: + lower-case: "npm:^2.0.2" + tslib: "npm:^2.0.3" + checksum: 10c0/8ef545f0b3f8677c848f86ecbd42ca0ff3cd9dd71c158527b344c69ba14710d816d8489c746b6ca225e7b615108938a0bda0a54706f8c255933703ac1cf8e703 + languageName: node + linkType: hard + +"node-emoji@npm:^2.1.0": + version: 2.2.0 + resolution: "node-emoji@npm:2.2.0" + dependencies: + "@sindresorhus/is": "npm:^4.6.0" + char-regex: "npm:^1.0.2" + emojilib: "npm:^2.4.0" + skin-tone: "npm:^2.0.0" + checksum: 10c0/9525defbd90a82a2131758c2470203fa2a2faa8edd177147a8654a26307fe03594e52847ecbe2746d06cfc5c50acd12bd500f035350a7609e8217c9894c19aad + languageName: node + linkType: hard + +"node-forge@npm:^1": + version: 1.3.1 + resolution: "node-forge@npm:1.3.1" + checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" + which: "npm:^5.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.19": + version: 2.0.19 + resolution: "node-releases@npm:2.0.19" + checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa + languageName: node + linkType: hard + +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: "npm:^3.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"normalize-range@npm:^0.1.2": + version: 0.1.2 + resolution: "normalize-range@npm:0.1.2" + checksum: 10c0/bf39b73a63e0a42ad1a48c2bd1bda5a07ede64a7e2567307a407674e595bcff0fa0d57e8e5f1e7fa5e91000797c7615e13613227aaaa4d6d6e87f5bd5cc95de6 + languageName: node + linkType: hard + +"normalize-url@npm:^8.0.0": + version: 8.0.1 + resolution: "normalize-url@npm:8.0.1" + checksum: 10c0/eb439231c4b84430f187530e6fdac605c5048ef4ec556447a10c00a91fc69b52d8d8298d9d608e68d3e0f7dc2d812d3455edf425e0f215993667c3183bcab1ef + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: "npm:^3.0.0" + checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac + languageName: node + linkType: hard + +"nprogress@npm:^0.2.0": + version: 0.2.0 + resolution: "nprogress@npm:0.2.0" + checksum: 10c0/eab9a923a1ad1eed71a455ecfbc358442dd9bcd71b9fa3fa1c67eddf5159360b182c218f76fca320c97541a1b45e19ced04e6dcb044a662244c5419f8ae9e821 + languageName: node + linkType: hard + +"nth-check@npm:^2.0.1": + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" + dependencies: + boolbase: "npm:^1.0.0" + checksum: 10c0/5fee7ff309727763689cfad844d979aedd2204a817fbaaf0e1603794a7c20db28548d7b024692f953557df6ce4a0ee4ae46cd8ebd9b36cfb300b9226b567c479 + languageName: node + linkType: hard + +"null-loader@npm:^4.0.1": + version: 4.0.1 + resolution: "null-loader@npm:4.0.1" + dependencies: + loader-utils: "npm:^2.0.0" + schema-utils: "npm:^3.0.0" + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 10c0/fe9a74a928c9ddc1eab7be0e4322516439562d6efd6feeb0f7c61777d4b79a6a8e5a6bc8133deb59408f3f423bdf84c154a88168154a583154e9e33d544b4d42 + languageName: node + linkType: hard + +"object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"object-inspect@npm:^1.13.3": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"object.assign@npm:^4.1.0": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc + languageName: node + linkType: hard + +"obuf@npm:^1.0.0, obuf@npm:^1.1.2": + version: 1.1.2 + resolution: "obuf@npm:1.1.2" + checksum: 10c0/520aaac7ea701618eacf000fc96ae458e20e13b0569845800fc582f81b386731ab22d55354b4915d58171db00e79cfcd09c1638c02f89577ef092b38c65b7d81 + languageName: node + linkType: hard + +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: "npm:1.1.1" + checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 + languageName: node + linkType: hard + +"on-headers@npm:~1.0.2": + version: 1.0.2 + resolution: "on-headers@npm:1.0.2" + checksum: 10c0/f649e65c197bf31505a4c0444875db0258e198292f34b884d73c2f751e91792ef96bb5cf89aa0f4fecc2e4dc662461dda606b1274b0e564f539cae5d2f5fc32f + languageName: node + linkType: hard + +"once@npm:^1.3.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"open@npm:^8.0.9, open@npm:^8.4.0": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + languageName: node + linkType: hard + +"opener@npm:^1.5.2": + version: 1.5.2 + resolution: "opener@npm:1.5.2" + bin: + opener: bin/opener-bin.js + checksum: 10c0/dd56256ab0cf796585617bc28e06e058adf09211781e70b264c76a1dbe16e90f868c974e5bf5309c93469157c7d14b89c35dc53fe7293b0e40b4d2f92073bc79 + languageName: node + linkType: hard + +"p-cancelable@npm:^3.0.0": + version: 3.0.0 + resolution: "p-cancelable@npm:3.0.0" + checksum: 10c0/948fd4f8e87b956d9afc2c6c7392de9113dac817cb1cecf4143f7a3d4c57ab5673614a80be3aba91ceec5e4b69fd8c869852d7e8048bc3d9273c4c36ce14b9aa + languageName: node + linkType: hard + +"p-limit@npm:^2.0.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-limit@npm:^4.0.0": + version: 4.0.0 + resolution: "p-limit@npm:4.0.0" + dependencies: + yocto-queue: "npm:^1.0.0" + checksum: 10c0/a56af34a77f8df2ff61ddfb29431044557fcbcb7642d5a3233143ebba805fc7306ac1d448de724352861cb99de934bc9ab74f0d16fe6a5460bdbdf938de875ad + languageName: node + linkType: hard + +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: "npm:^2.0.0" + checksum: 10c0/7b7f06f718f19e989ce6280ed4396fb3c34dabdee0df948376483032f9d5ec22fdf7077ec942143a75827bb85b11da72016497fc10dac1106c837ed593969ee8 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-locate@npm:^6.0.0": + version: 6.0.0 + resolution: "p-locate@npm:6.0.0" + dependencies: + p-limit: "npm:^4.0.0" + checksum: 10c0/d72fa2f41adce59c198270aa4d3c832536c87a1806e0f69dffb7c1a7ca998fb053915ca833d90f166a8c082d3859eabfed95f01698a3214c20df6bb8de046312 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c + languageName: node + linkType: hard + +"p-retry@npm:^4.5.0": + version: 4.6.2 + resolution: "p-retry@npm:4.6.2" + dependencies: + "@types/retry": "npm:0.12.0" + retry: "npm:^0.13.1" + checksum: 10c0/d58512f120f1590cfedb4c2e0c42cb3fa66f3cea8a4646632fcb834c56055bb7a6f138aa57b20cc236fb207c9d694e362e0b5c2b14d9b062f67e8925580c73b0 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"package-json@npm:^8.1.0": + version: 8.1.1 + resolution: "package-json@npm:8.1.1" + dependencies: + got: "npm:^12.1.0" + registry-auth-token: "npm:^5.0.1" + registry-url: "npm:^6.0.0" + semver: "npm:^7.3.7" + checksum: 10c0/83b057878bca229033aefad4ef51569b484e63a65831ddf164dc31f0486817e17ffcb58c819c7af3ef3396042297096b3ffc04e107fd66f8f48756f6d2071c8f + languageName: node + linkType: hard + +"param-case@npm:^3.0.4": + version: 3.0.4 + resolution: "param-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/ccc053f3019f878eca10e70ec546d92f51a592f762917dafab11c8b532715dcff58356118a6f350976e4ab109e321756f05739643ed0ca94298e82291e6f9e76 + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"parse-entities@npm:^4.0.0": + version: 4.0.2 + resolution: "parse-entities@npm:4.0.2" + dependencies: + "@types/unist": "npm:^2.0.0" + character-entities-legacy: "npm:^3.0.0" + character-reference-invalid: "npm:^2.0.0" + decode-named-character-reference: "npm:^1.0.0" + is-alphanumerical: "npm:^2.0.0" + is-decimal: "npm:^2.0.0" + is-hexadecimal: "npm:^2.0.0" + checksum: 10c0/a13906b1151750b78ed83d386294066daf5fb559e08c5af9591b2d98cc209123103016a01df776f65f8219ad26652d6d6b210d0974d452049cddfc53a8916c34 + languageName: node + linkType: hard + +"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 + languageName: node + linkType: hard + +"parse-numeric-range@npm:^1.3.0": + version: 1.3.0 + resolution: "parse-numeric-range@npm:1.3.0" + checksum: 10c0/53465afaa92111e86697281b684aa4574427360889cc23a1c215488c06b72441febdbf09f47ab0bef9a0c701e059629f3eebd2fe6fb241a254ad7a7a642aebe8 + languageName: node + linkType: hard + +"parse5-htmlparser2-tree-adapter@npm:^7.0.0": + version: 7.1.0 + resolution: "parse5-htmlparser2-tree-adapter@npm:7.1.0" + dependencies: + domhandler: "npm:^5.0.3" + parse5: "npm:^7.0.0" + checksum: 10c0/e5a4e0b834c84c9e244b5749f8d007f4baaeafac7a1da2c54be3421ffd9ef8fdec4f198bf55cda22e88e6ba95e9943f6ed5aa3ae5900b39972ebf5dc8c3f4722 + languageName: node + linkType: hard + +"parse5@npm:^7.0.0": + version: 7.3.0 + resolution: "parse5@npm:7.3.0" + dependencies: + entities: "npm:^6.0.0" + checksum: 10c0/7fd2e4e247e85241d6f2a464d0085eed599a26d7b0a5233790c49f53473232eb85350e8133344d9b3fd58b89339e7ad7270fe1f89d28abe50674ec97b87f80b5 + languageName: node + linkType: hard + +"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 + languageName: node + linkType: hard + +"pascal-case@npm:^3.1.2": + version: 3.1.2 + resolution: "pascal-case@npm:3.1.2" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/05ff7c344809fd272fc5030ae0ee3da8e4e63f36d47a1e0a4855ca59736254192c5a27b5822ed4bae96e54048eec5f6907713cfcfff7cdf7a464eaf7490786d8 + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-exists@npm:^5.0.0": + version: 5.0.0 + resolution: "path-exists@npm:5.0.0" + checksum: 10c0/b170f3060b31604cde93eefdb7392b89d832dfbc1bed717c9718cbe0f230c1669b7e75f87e19901da2250b84d092989a0f9e44d2ef41deb09aa3ad28e691a40a + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-is-inside@npm:1.0.2": + version: 1.0.2 + resolution: "path-is-inside@npm:1.0.2" + checksum: 10c0/7fdd4b41672c70461cce734fc222b33e7b447fa489c7c4377c95e7e6852d83d69741f307d88ec0cc3b385b41cb4accc6efac3c7c511cd18512e95424f5fa980c + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.12": + version: 0.1.12 + resolution: "path-to-regexp@npm:0.1.12" + checksum: 10c0/1c6ff10ca169b773f3bba943bbc6a07182e332464704572962d277b900aeee81ac6aa5d060ff9e01149636c30b1f63af6e69dd7786ba6e0ddb39d4dee1f0645b + languageName: node + linkType: hard + +"path-to-regexp@npm:3.3.0": + version: 3.3.0 + resolution: "path-to-regexp@npm:3.3.0" + checksum: 10c0/ffa0ebe7088d38d435a8d08b0fe6e8c93ceb2a81a65d4dd1d9a538f52e09d5e3474ed5f553cb3b180d894b0caa10698a68737ab599fd1e56b4663d1a64c9f77b + languageName: node + linkType: hard + +"path-to-regexp@npm:^1.7.0": + version: 1.9.0 + resolution: "path-to-regexp@npm:1.9.0" + dependencies: + isarray: "npm:0.0.1" + checksum: 10c0/de9ddb01b84d9c2c8e2bed18630d8d039e2d6f60a6538595750fa08c7a6482512257464c8da50616f266ab2cdd2428387e85f3b089e4c3f25d0c537e898a0751 + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + +"pkg-dir@npm:^7.0.0": + version: 7.0.0 + resolution: "pkg-dir@npm:7.0.0" + dependencies: + find-up: "npm:^6.3.0" + checksum: 10c0/1afb23d2efb1ec9d8b2c4a0c37bf146822ad2774f074cb05b853be5dca1b40815c5960dd126df30ab8908349262a266f31b771e877235870a3b8fd313beebec5 + languageName: node + linkType: hard + +"pkg-up@npm:^3.1.0": + version: 3.1.0 + resolution: "pkg-up@npm:3.1.0" + dependencies: + find-up: "npm:^3.0.0" + checksum: 10c0/ecb60e1f8e1f611c0bdf1a0b6a474d6dfb51185567dc6f29cdef37c8d480ecba5362e006606bb290519bbb6f49526c403fabea93c3090c20368d98bb90c999ab + languageName: node + linkType: hard + +"postcss-attribute-case-insensitive@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-attribute-case-insensitive@npm:7.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/48945abe2024e2d2e4c37d30b8c1aaf37af720f24f6a996f7ea7e7ed33621f5c22cf247ed22028c0c922de040c58c0802729bc39b903cb1693f4b63c0b49da34 + languageName: node + linkType: hard + +"postcss-calc@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-calc@npm:9.0.1" + dependencies: + postcss-selector-parser: "npm:^6.0.11" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.2.2 + checksum: 10c0/e0df07337162dbcaac5d6e030c7fd289e21da8766a9daca5d6b2b3c8094bb524ae5d74c70048ea7fe5fe4960ce048c60ac97922d917c3bbff34f58e9d2b0eb0e + languageName: node + linkType: hard + +"postcss-clamp@npm:^4.1.0": + version: 4.1.0 + resolution: "postcss-clamp@npm:4.1.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.6 + checksum: 10c0/701261026b38a4c27b3c3711635fac96005f36d3270adb76dbdb1eebc950fc841db45283ee66068a7121565592e9d7967d5534e15b6e4dd266afcabf9eafa905 + languageName: node + linkType: hard + +"postcss-color-functional-notation@npm:^7.0.9": + version: 7.0.9 + resolution: "postcss-color-functional-notation@npm:7.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/62ffe51ec200df8e01daca3f45b2e05e7e509b57bfe50c880490878aff9bc63ed36cc92db42f0274a21f21330acd8fb1dff6529f7e3a202d100ea74914cf4cfd + languageName: node + linkType: hard + +"postcss-color-hex-alpha@npm:^10.0.0": + version: 10.0.0 + resolution: "postcss-color-hex-alpha@npm:10.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8a6dcb27403d04b55d6de88bf3074622bcea537fc4436bbcb346e92289c4d17059444e2e6c3554c325e7a777bb4cdc711e764a83123b4000aec211052e957d5b + languageName: node + linkType: hard + +"postcss-color-rebeccapurple@npm:^10.0.0": + version: 10.0.0 + resolution: "postcss-color-rebeccapurple@npm:10.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/308e33f76f2b48c1c2121d4502fc053e869f3415898de7d30314353df680e79b37497e7b628e3447edc1049091da3672f7d891e45604f238598e846e06b893ed + languageName: node + linkType: hard + +"postcss-colormin@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-colormin@npm:6.1.0" + dependencies: + browserslist: "npm:^4.23.0" + caniuse-api: "npm:^3.0.0" + colord: "npm:^2.9.3" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/0802963fa0d8f2fe408b2e088117670f5303c69a58c135f0ecf0e5ceff69e95e87111b22c4e29c9adb2f69aa8d3bc175f4e8e8708eeb99c9ffc36c17064de427 + languageName: node + linkType: hard + +"postcss-convert-values@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-convert-values@npm:6.1.0" + dependencies: + browserslist: "npm:^4.23.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/a80066965cb58fe8fcaf79f306b32c83fc678e1f0678e43f4db3e9fee06eed6db92cf30631ad348a17492769d44757400493c91a33ee865ee8dedea9234a11f5 + languageName: node + linkType: hard + +"postcss-custom-media@npm:^11.0.5": + version: 11.0.5 + resolution: "postcss-custom-media@npm:11.0.5" + dependencies: + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5ba1ca0383818e83d5f6f398a2b0c12cfda066b5d552adfc0e030a2c5f8690c2cc6224f9a1832a9c780dae3fd8d00d78c4a5c88eb36b731da1752f0c3917d488 + languageName: node + linkType: hard + +"postcss-custom-properties@npm:^14.0.4": + version: 14.0.4 + resolution: "postcss-custom-properties@npm:14.0.4" + dependencies: + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5b101ee71289657cc2e5a16f4912009c10441052e2c54bd9e4f3d4d72b652bab56adb662ddaa96881413e375cf9852e2159b3c778d953442ce86efb781c3b2bf + languageName: node + linkType: hard + +"postcss-custom-selectors@npm:^8.0.4": + version: 8.0.4 + resolution: "postcss-custom-selectors@npm:8.0.4" + dependencies: + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/09d494d2580d0a99f57684f79793d03358286c32460b61a84063c33bdde24865771cb1205efe9a8e26a508be24eba4fb93fc7f1e96ba21ca96a5d17fadb24863 + languageName: node + linkType: hard + +"postcss-dir-pseudo-class@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-dir-pseudo-class@npm:9.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/da9d3387648c5c3161a653d354c8f3e70a299108df3977e8aa65cf10793e4dd58a2711b3426cd63716245b13584ca8d95adcd6e10e3c9adbc61d08743e2d8690 + languageName: node + linkType: hard + +"postcss-discard-comments@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-discard-comments@npm:6.0.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/338a1fcba7e2314d956e5e5b9bd1e12e6541991bf85ac72aed6e229a029bf60edb31f11576b677623576169aa7d9c75e1be259ac7b50d0b735b841b5518f9da9 + languageName: node + linkType: hard + +"postcss-discard-duplicates@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-discard-duplicates@npm:6.0.3" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/24d2f00e54668f2837eb38a64b1751d7a4a73b2752f9749e61eb728f1fae837984bc2b339f7f5207aff5f66f72551253489114b59b9ba21782072677a81d7d1b + languageName: node + linkType: hard + +"postcss-discard-empty@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-discard-empty@npm:6.0.3" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/1af08bb29f18eda41edf3602b257d89a4cf0a16f79fc773cfebd4a37251f8dbd9b77ac18efe55d0677d000b43a8adf2ef9328d31961c810e9433a38494a1fa65 + languageName: node + linkType: hard + +"postcss-discard-overridden@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-discard-overridden@npm:6.0.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/fda70ef3cd4cb508369c5bbbae44d7760c40ec9f2e65df1cd1b6e0314317fb1d25ae7f64987ca84e66889c1e9d1862487a6ce391c159dfe04d536597bfc5030d + languageName: node + linkType: hard + +"postcss-discard-unused@npm:^6.0.5": + version: 6.0.5 + resolution: "postcss-discard-unused@npm:6.0.5" + dependencies: + postcss-selector-parser: "npm:^6.0.16" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/fca82f17395a7fcc78eab4e03dfb05958beb240c10cacb3836b832c6ea99f5259980c70890a9b7d8b67adf8071b61f3fcf1b432c7a116397aaf67909366da5cc + languageName: node + linkType: hard + +"postcss-double-position-gradients@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-double-position-gradients@npm:6.0.1" + dependencies: + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/4c6cf3f54b2154cd622cdcaea58a7634c2e19bc0c366c73c46a27a3e31aa280c8721ee2b21cdd5cdca3166052cf5881c16bab2836b8896e71578213957021d52 + languageName: node + linkType: hard + +"postcss-focus-visible@npm:^10.0.1": + version: 10.0.1 + resolution: "postcss-focus-visible@npm:10.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/c5ecc8536a708a49a99d0abd68a88a160664e6c832c808db8edd9f0221e7017a258daa87e49daf2cb098cb037005d46cf492403c8c9c92ad8835d30adaccf665 + languageName: node + linkType: hard + +"postcss-focus-within@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-focus-within@npm:9.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/d6ab49d2a7f33485a9e137dc77ec92c5619a3ec92e1e672734fc604853ff1f3c0c189085c12461614be4fcb03ea0347d91791a45986a18d50b5228d161eda57a + languageName: node + linkType: hard + +"postcss-font-variant@npm:^5.0.0": + version: 5.0.0 + resolution: "postcss-font-variant@npm:5.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/ccc96460cf6a52b5439c26c9a5ea0589882e46161e3c2331d4353de7574448f5feef667d1a68f7f39b9fe3ee75d85957383ae82bbfcf87c3162c7345df4a444e + languageName: node + linkType: hard + +"postcss-gap-properties@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-gap-properties@npm:6.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/4e07e0d3927d0e65d67eaf047ac39e08d39cb1bf74e16e10c7df7f0d01b184a77ea59f63fd5691b5ed6df159970b972db28cb784d883e26e981137696460897d + languageName: node + linkType: hard + +"postcss-image-set-function@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-image-set-function@npm:7.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/913fd9492f00122aa0c2550fb0d72130428cbe1e6465bc65e8fe71e9deb10ac0c01d7caceb68b560da759139e8cbc6c90ed22dfe6cf34949af49bb86bcbf4d3a + languageName: node + linkType: hard + +"postcss-lab-function@npm:^7.0.9": + version: 7.0.9 + resolution: "postcss-lab-function@npm:7.0.9" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.9" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/4180669e7555d474b660d106de5fa1d4a705d693451254123bf56ab6dc1a82e4e175c387868703c14e4637d795d461b5e7f10e74d7b42df55a31f6b52bfa048e + languageName: node + linkType: hard + +"postcss-loader@npm:^7.3.3": + version: 7.3.4 + resolution: "postcss-loader@npm:7.3.4" + dependencies: + cosmiconfig: "npm:^8.3.5" + jiti: "npm:^1.20.0" + semver: "npm:^7.5.4" + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + checksum: 10c0/1bf7614aeea9ad1f8ee6be3a5451576c059391688ea67f825aedc2674056369597faeae4e4a81fe10843884c9904a71403d9a54197e1f560e8fbb9e61f2a2680 + languageName: node + linkType: hard + +"postcss-logical@npm:^8.1.0": + version: 8.1.0 + resolution: "postcss-logical@npm:8.1.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/0e2e9e901d8a550db7f682d46b1f7e4f363c1ada061dc8e4548e2b563c5e39f3684a2d7c3f11fe061188782bca37874e34967fc6179fa6d98a49ff66a0076d27 + languageName: node + linkType: hard + +"postcss-merge-idents@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-merge-idents@npm:6.0.3" + dependencies: + cssnano-utils: "npm:^4.0.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/fdb51d971df33218bd5fdd9619e5a4d854e23affcea51f96bf4391260cb8d0bec937854582fa9a19bde1fa1b2a43fa5a2f179da23a3adeb8e8d292a4749a8ed7 + languageName: node + linkType: hard + +"postcss-merge-longhand@npm:^6.0.5": + version: 6.0.5 + resolution: "postcss-merge-longhand@npm:6.0.5" + dependencies: + postcss-value-parser: "npm:^4.2.0" + stylehacks: "npm:^6.1.1" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/5a223a7f698c05ab42e9997108a7ff27ea1e0c33a11a353d65a04fc89c3b5b750b9e749550d76b6406329117a055adfc79dde7fee48dca5c8e167a2854ae3fea + languageName: node + linkType: hard + +"postcss-merge-rules@npm:^6.1.1": + version: 6.1.1 + resolution: "postcss-merge-rules@npm:6.1.1" + dependencies: + browserslist: "npm:^4.23.0" + caniuse-api: "npm:^3.0.0" + cssnano-utils: "npm:^4.0.2" + postcss-selector-parser: "npm:^6.0.16" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/6d8952dbb19b1e59bf5affe0871fa1be6515103466857cff5af879d6cf619659f8642ec7a931cabb7cdbd393d8c1e91748bf70bee70fa3edea010d4e25786d04 + languageName: node + linkType: hard + +"postcss-minify-font-values@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-minify-font-values@npm:6.1.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/0d6567170c22a7db42096b5eac298f041614890fbe01759a9fa5ccda432f2bb09efd399d92c11bf6675ae13ccd259db4602fad3c358317dee421df5f7ab0a003 + languageName: node + linkType: hard + +"postcss-minify-gradients@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-minify-gradients@npm:6.0.3" + dependencies: + colord: "npm:^2.9.3" + cssnano-utils: "npm:^4.0.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/7fcbcec94fe5455b89fe1b424a451198e60e0407c894bbacdc062d9fdef2f8571b483b5c3bb17f22d2f1249431251b2de22e1e4e8b0614d10624f8ee6e71afd2 + languageName: node + linkType: hard + +"postcss-minify-params@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-minify-params@npm:6.1.0" + dependencies: + browserslist: "npm:^4.23.0" + cssnano-utils: "npm:^4.0.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/e5c38c3e5fb42e2ca165764f983716e57d854a63a477f7389ccc94cd2ab8123707006613bd7f29acc6eafd296fff513aa6d869c98ac52590f886d641cb21a59e + languageName: node + linkType: hard + +"postcss-minify-selectors@npm:^6.0.4": + version: 6.0.4 + resolution: "postcss-minify-selectors@npm:6.0.4" + dependencies: + postcss-selector-parser: "npm:^6.0.16" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/695ec2e1e3a7812b0cabe1105d0ed491760be3d8e9433914fb5af1fc30a84e6dc24089cd31b7e300de620b8e7adf806526c1acf8dd14077a7d1d2820c60a327c + languageName: node + linkType: hard + +"postcss-modules-extract-imports@npm:^3.1.0": + version: 3.1.0 + resolution: "postcss-modules-extract-imports@npm:3.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/402084bcab376083c4b1b5111b48ec92974ef86066f366f0b2d5b2ac2b647d561066705ade4db89875a13cb175b33dd6af40d16d32b2ea5eaf8bac63bd2bf219 + languageName: node + linkType: hard + +"postcss-modules-local-by-default@npm:^4.0.5": + version: 4.2.0 + resolution: "postcss-modules-local-by-default@npm:4.2.0" + dependencies: + icss-utils: "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + postcss-value-parser: "npm:^4.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/b0b83feb2a4b61f5383979d37f23116c99bc146eba1741ca3cf1acca0e4d0dbf293ac1810a6ab4eccbe1ee76440dd0a9eb2db5b3bba4f99fc1b3ded16baa6358 + languageName: node + linkType: hard + +"postcss-modules-scope@npm:^3.2.0": + version: 3.2.1 + resolution: "postcss-modules-scope@npm:3.2.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/bd2d81f79e3da0ef6365b8e2c78cc91469d05b58046b4601592cdeef6c4050ed8fe1478ae000a1608042fc7e692cb51fecbd2d9bce3f4eace4d32e883ffca10b + languageName: node + linkType: hard + +"postcss-modules-values@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-modules-values@npm:4.0.0" + dependencies: + icss-utils: "npm:^5.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/dd18d7631b5619fb9921b198c86847a2a075f32e0c162e0428d2647685e318c487a2566cc8cc669fc2077ef38115cde7a068e321f46fb38be3ad49646b639dbc + languageName: node + linkType: hard + +"postcss-nesting@npm:^13.0.1": + version: 13.0.1 + resolution: "postcss-nesting@npm:13.0.1" + dependencies: + "@csstools/selector-resolve-nested": "npm:^3.0.0" + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/549307c272cdd4cb5105d8fbcd582f15a1cb74e5bba240b05b27f77fe0422730be966699a49a9ad15fd9d1bc551c1edbaefb21a69686a9b131b585dbc9d90ebf + languageName: node + linkType: hard + +"postcss-normalize-charset@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-charset@npm:6.0.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/af32a3b4cf94163d728b8aa935b2494c9f69fbc96a33b35f67ae15dbdef7fcc8732569df97cbaaf20ca6c0103c39adad0cfce2ba07ffed283796787f6c36f410 + languageName: node + linkType: hard + +"postcss-normalize-display-values@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-display-values@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/782761850c7e697fdb6c3ff53076de716a71b60f9e835efb2f7ef238de347c88b5d55f0d43cf5c608e1ee58de65360e3d9fccd5f20774bba08ded7c87d8a5651 + languageName: node + linkType: hard + +"postcss-normalize-positions@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-positions@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/9fdd42a47226bbda5f68774f3c4c3a90eb4fa708aef5a997c6a52fe6cac06585c9774038fe3bc1aa86a203c29223b8d8db6ebe7580c1aa293154f2b48db0b038 + languageName: node + linkType: hard + +"postcss-normalize-repeat-style@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-repeat-style@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/9133ccbdf1286920c1cd0d01c1c5fa0bd3251b717f2f3e47d691dcc44978ac1dc419d20d9ae5428bd48ee542059e66b823ba699356f5968ccced5606c7c7ca34 + languageName: node + linkType: hard + +"postcss-normalize-string@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-string@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/fecc2d52c4029b24fecf2ca2fb45df5dbdf9f35012194ad4ea80bc7be3252cdcb21a0976400902320595aa6178f2cc625cc804c6b6740aef6efa42105973a205 + languageName: node + linkType: hard + +"postcss-normalize-timing-functions@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-timing-functions@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/a22af0b3374704e59ae70bbbcc66b7029137e284f04e30a2ad548818d1540d6c1ed748dd8f689b9b6df5c1064085a00ad07b6f7e25ffaad49d4e661b616cdeae + languageName: node + linkType: hard + +"postcss-normalize-unicode@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-normalize-unicode@npm:6.1.0" + dependencies: + browserslist: "npm:^4.23.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/ff5746670d94dd97b49a0955c3c71ff516fb4f54bbae257f877d179bacc44a62e50a0fd6e7ddf959f2ca35c335de4266b0c275d880bb57ad7827189339ab1582 + languageName: node + linkType: hard + +"postcss-normalize-url@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-url@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/4718f1c0657788d2c560b340ee8e0a4eb3eb053eba6fbbf489e9a6e739b4c5f9ce1957f54bd03497c50a1f39962bf6ab9ff6ba4976b69dd160f6afd1670d69b7 + languageName: node + linkType: hard + +"postcss-normalize-whitespace@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-whitespace@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/d5275a88e29a894aeb83a2a833e816d2456dbf3f39961628df596ce205dcc4895186a023812ff691945e0804241ccc53e520d16591b5812288474b474bbaf652 + languageName: node + linkType: hard + +"postcss-opacity-percentage@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-opacity-percentage@npm:3.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/15c7d66036fa966d265c8737196646b3f93deb83d4eea0b17ed5033460599afc31d3a989345e4d7c472963b2a2bb75c83d06979d5d30d6a60fcc7f74cb6d8d40 + languageName: node + linkType: hard + +"postcss-ordered-values@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-ordered-values@npm:6.0.2" + dependencies: + cssnano-utils: "npm:^4.0.2" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/aece23a289228aa804217a85f8da198d22b9123f02ca1310b81834af380d6fbe115e4300683599b4a2ab7f1c6a1dbd6789724c47c38e2b0a3774f2ea4b4f0963 + languageName: node + linkType: hard + +"postcss-overflow-shorthand@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-overflow-shorthand@npm:6.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/6598321b2ed0b68461135395bba9c7f76a4672617770df1e8487f459bc975f4ded6c3d37b6f72a44f4f77f7b6789e0c6f927e66dbbf1bcde1537167dbea39968 + languageName: node + linkType: hard + +"postcss-page-break@npm:^3.0.4": + version: 3.0.4 + resolution: "postcss-page-break@npm:3.0.4" + peerDependencies: + postcss: ^8 + checksum: 10c0/eaaf4d8922b35f2acd637eb059f7e2510b24d65eb8f31424799dd5a98447b6ef010b41880c26e78f818e00f842295638ec75f89d5d489067f53e3dd3db74a00f + languageName: node + linkType: hard + +"postcss-place@npm:^10.0.0": + version: 10.0.0 + resolution: "postcss-place@npm:10.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/ebb13deaac7648ba6042622375a31f78fbcc5209b7d196e478debbdf94525963fe621c932f4737a5b6b3d487af3b5ed6d059ed6193fdcbff6d3d5b150886ccc1 + languageName: node + linkType: hard + +"postcss-preset-env@npm:^10.1.0": + version: 10.1.6 + resolution: "postcss-preset-env@npm:10.1.6" + dependencies: + "@csstools/postcss-cascade-layers": "npm:^5.0.1" + "@csstools/postcss-color-function": "npm:^4.0.9" + "@csstools/postcss-color-mix-function": "npm:^3.0.9" + "@csstools/postcss-content-alt-text": "npm:^2.0.5" + "@csstools/postcss-exponential-functions": "npm:^2.0.8" + "@csstools/postcss-font-format-keywords": "npm:^4.0.0" + "@csstools/postcss-gamut-mapping": "npm:^2.0.9" + "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.9" + "@csstools/postcss-hwb-function": "npm:^4.0.9" + "@csstools/postcss-ic-unit": "npm:^4.0.1" + "@csstools/postcss-initial": "npm:^2.0.1" + "@csstools/postcss-is-pseudo-class": "npm:^5.0.1" + "@csstools/postcss-light-dark-function": "npm:^2.0.8" + "@csstools/postcss-logical-float-and-clear": "npm:^3.0.0" + "@csstools/postcss-logical-overflow": "npm:^2.0.0" + "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" + "@csstools/postcss-logical-resize": "npm:^3.0.0" + "@csstools/postcss-logical-viewport-units": "npm:^3.0.3" + "@csstools/postcss-media-minmax": "npm:^2.0.8" + "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.4" + "@csstools/postcss-nested-calc": "npm:^4.0.0" + "@csstools/postcss-normalize-display-values": "npm:^4.0.0" + "@csstools/postcss-oklab-function": "npm:^4.0.9" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1" + "@csstools/postcss-random-function": "npm:^2.0.0" + "@csstools/postcss-relative-color-syntax": "npm:^3.0.9" + "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" + "@csstools/postcss-sign-functions": "npm:^1.1.3" + "@csstools/postcss-stepped-value-functions": "npm:^4.0.8" + "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.2" + "@csstools/postcss-trigonometric-functions": "npm:^4.0.8" + "@csstools/postcss-unset-value": "npm:^4.0.0" + autoprefixer: "npm:^10.4.21" + browserslist: "npm:^4.24.4" + css-blank-pseudo: "npm:^7.0.1" + css-has-pseudo: "npm:^7.0.2" + css-prefers-color-scheme: "npm:^10.0.0" + cssdb: "npm:^8.2.5" + postcss-attribute-case-insensitive: "npm:^7.0.1" + postcss-clamp: "npm:^4.1.0" + postcss-color-functional-notation: "npm:^7.0.9" + postcss-color-hex-alpha: "npm:^10.0.0" + postcss-color-rebeccapurple: "npm:^10.0.0" + postcss-custom-media: "npm:^11.0.5" + postcss-custom-properties: "npm:^14.0.4" + postcss-custom-selectors: "npm:^8.0.4" + postcss-dir-pseudo-class: "npm:^9.0.1" + postcss-double-position-gradients: "npm:^6.0.1" + postcss-focus-visible: "npm:^10.0.1" + postcss-focus-within: "npm:^9.0.1" + postcss-font-variant: "npm:^5.0.0" + postcss-gap-properties: "npm:^6.0.0" + postcss-image-set-function: "npm:^7.0.0" + postcss-lab-function: "npm:^7.0.9" + postcss-logical: "npm:^8.1.0" + postcss-nesting: "npm:^13.0.1" + postcss-opacity-percentage: "npm:^3.0.0" + postcss-overflow-shorthand: "npm:^6.0.0" + postcss-page-break: "npm:^3.0.4" + postcss-place: "npm:^10.0.0" + postcss-pseudo-class-any-link: "npm:^10.0.1" + postcss-replace-overflow-wrap: "npm:^4.0.0" + postcss-selector-not: "npm:^8.0.1" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/89af9060f3528e254005e6b81e88c57589e6e7f74125b10d50ca8a05f830c9ac206f8197af1b3c4b7ba82d97993118dd121f1a11cfc9fd026e18d01ca6f7ad2d + languageName: node + linkType: hard + +"postcss-pseudo-class-any-link@npm:^10.0.1": + version: 10.0.1 + resolution: "postcss-pseudo-class-any-link@npm:10.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/95e883996e87baf14fc09d25f9a763a2e9d599eb3b9c6b736e83a8c3d0b55841bcb886bccdf51b5b7fefc128cbd0187ad8841f59878f85bd1613642e592d7673 + languageName: node + linkType: hard + +"postcss-reduce-idents@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-reduce-idents@npm:6.0.3" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/d9f9209e52ebb3d1d7feefc0be24fc74792e064e0fdec99554f050c6b882c61073d5d40986c545061b30e5ead881615e92c965dc765d8d83b2dec10d6a664e1f + languageName: node + linkType: hard + +"postcss-reduce-initial@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-reduce-initial@npm:6.1.0" + dependencies: + browserslist: "npm:^4.23.0" + caniuse-api: "npm:^3.0.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/a8f28cf51ce9a1b9423cce1a01c1d7cbee90125930ec36435a0073e73aef402d90affe2fd3600c964b679cf738869fda447b95a9acce74414e9d67d5c6ba8646 + languageName: node + linkType: hard + +"postcss-reduce-transforms@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-reduce-transforms@npm:6.0.2" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/755ef27b3d083f586ac831f0c611a66e76f504d27e2100dc7674f6b86afad597901b4520cb889fe58ca70e852aa7fd0c0acb69a63d39dfe6a95860b472394e7c + languageName: node + linkType: hard + +"postcss-replace-overflow-wrap@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-replace-overflow-wrap@npm:4.0.0" + peerDependencies: + postcss: ^8.0.3 + checksum: 10c0/451361b714528cd3632951256ef073769cde725a46cda642a6864f666fb144921fa55e614aec1bcf5946f37d6ffdcca3b932b76f3d997c07b076e8db152b128d + languageName: node + linkType: hard + +"postcss-selector-not@npm:^8.0.1": + version: 8.0.1 + resolution: "postcss-selector-not@npm:8.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/491ea3dcc421cd90135be786078521605e2062fb93624ea8813cfd5ba0d35143f931e2e608d5f20effd5ea7d3f4786d2afea2afa42d117779a0288e135f132b6 + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.16": + version: 6.1.2 + resolution: "postcss-selector-parser@npm:6.1.2" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^7.0.0": + version: 7.1.0 + resolution: "postcss-selector-parser@npm:7.1.0" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/0fef257cfd1c0fe93c18a3f8a6e739b4438b527054fd77e9a62730a89b2d0ded1b59314a7e4aaa55bc256204f40830fecd2eb50f20f8cb7ab3a10b52aa06c8aa + languageName: node + linkType: hard + +"postcss-sort-media-queries@npm:^5.2.0": + version: 5.2.0 + resolution: "postcss-sort-media-queries@npm:5.2.0" + dependencies: + sort-css-media-queries: "npm:2.2.0" + peerDependencies: + postcss: ^8.4.23 + checksum: 10c0/5e7f265a21999bdbf6592f7e15b3e889dd93bc9b15fe048958e8f85603ac276e69ef50305e8b41b10f4eea68917c9c25c7956fa9c3ba7f8577c1149416d35c4e + languageName: node + linkType: hard + +"postcss-svgo@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-svgo@npm:6.0.3" + dependencies: + postcss-value-parser: "npm:^4.2.0" + svgo: "npm:^3.2.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/994b15a88cbb411f32cfa98957faa5623c76f2d75fede51f5f47238f06b367ebe59c204fecbdaf21ccb9e727239a4b290087e04c502392658a0c881ddfbd61f2 + languageName: node + linkType: hard + +"postcss-unique-selectors@npm:^6.0.4": + version: 6.0.4 + resolution: "postcss-unique-selectors@npm:6.0.4" + dependencies: + postcss-selector-parser: "npm:^6.0.16" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/bfb99d8a7c675c93f2e65c9d9d563477bfd46fdce9e2727d42d57982b31ccbaaf944e8034bfbefe48b3119e77fba7eb1b181c19b91cb3a5448058fa66a7c9ae9 + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": + version: 4.2.0 + resolution: "postcss-value-parser@npm:4.2.0" + checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 + languageName: node + linkType: hard + +"postcss-zindex@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-zindex@npm:6.0.2" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/346291703e1f2dd954144d2bb251713dad6ae10e8aa05c3873dee2fc7a30d72da7866bec060abd932b9b839bc1495f73d813dde5312750a69d7ad33c435ce7ea + languageName: node + linkType: hard + +"postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.26, postcss@npm:^8.4.33, postcss@npm:^8.4.38": + version: 8.5.3 + resolution: "postcss@npm:8.5.3" + dependencies: + nanoid: "npm:^3.3.8" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/b75510d7b28c3ab728c8733dd01538314a18c52af426f199a3c9177e63eb08602a3938bfb66b62dc01350b9aed62087eabbf229af97a1659eb8d3513cec823b3 + languageName: node + linkType: hard + +"pretty-error@npm:^4.0.0": + version: 4.0.0 + resolution: "pretty-error@npm:4.0.0" + dependencies: + lodash: "npm:^4.17.20" + renderkid: "npm:^3.0.0" + checksum: 10c0/dc292c087e2857b2e7592784ab31e37a40f3fa918caa11eba51f9fb2853e1d4d6e820b219917e35f5721d833cfd20fdf4f26ae931a90fd1ad0cae2125c345138 + languageName: node + linkType: hard + +"pretty-time@npm:^1.1.0": + version: 1.1.0 + resolution: "pretty-time@npm:1.1.0" + checksum: 10c0/ba9d7af19cd43838fb2b147654990949575e400dc2cc24bf71ec4a6c4033a38ba8172b1014b597680c6d4d3c075e94648b2c13a7206c5f0c90b711c7388726f3 + languageName: node + linkType: hard + +"prism-react-renderer@npm:^2.1.0, prism-react-renderer@npm:^2.3.0": + version: 2.4.1 + resolution: "prism-react-renderer@npm:2.4.1" + dependencies: + "@types/prismjs": "npm:^1.26.0" + clsx: "npm:^2.0.0" + peerDependencies: + react: ">=16.0.0" + checksum: 10c0/ebbe8feb975224344bbdd046b3a937d121592dbe4b8f22ba0be31f5af37b9a8219f441138ef6cab1c5b96f2aa6b529015200959f7e5e85b60ca69c81d35edcd4 + languageName: node + linkType: hard + +"prismjs@npm:^1.29.0": + version: 1.30.0 + resolution: "prismjs@npm:1.30.0" + checksum: 10c0/f56205bfd58ef71ccfcbcb691fd0eb84adc96c6ff21b0b69fc6fdcf02be42d6ef972ba4aed60466310de3d67733f6a746f89f2fb79c00bf217406d465b3e8f23 + languageName: node + linkType: hard + +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"prompts@npm:^2.4.2": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: "npm:^3.0.3" + sisteransi: "npm:^1.0.5" + checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 + languageName: node + linkType: hard + +"prop-types@npm:^15.6.2, prop-types@npm:^15.7.2": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" + dependencies: + loose-envify: "npm:^1.4.0" + object-assign: "npm:^4.1.1" + react-is: "npm:^16.13.1" + checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 + languageName: node + linkType: hard + +"property-information@npm:^6.0.0": + version: 6.5.0 + resolution: "property-information@npm:6.5.0" + checksum: 10c0/981e0f9cc2e5acdb414a6fd48a99dd0fd3a4079e7a91ab41cf97a8534cf43e0e0bc1ffada6602a1b3d047a33db8b5fc2ef46d863507eda712d5ceedac443f0ef + languageName: node + linkType: hard + +"property-information@npm:^7.0.0": + version: 7.1.0 + resolution: "property-information@npm:7.1.0" + checksum: 10c0/e0fe22cff26103260ad0e82959229106563fa115a54c4d6c183f49d88054e489cc9f23452d3ad584179dc13a8b7b37411a5df873746b5e4086c865874bfa968e + languageName: node + linkType: hard + +"proto-list@npm:~1.2.1": + version: 1.2.4 + resolution: "proto-list@npm:1.2.4" + checksum: 10c0/b9179f99394ec8a68b8afc817690185f3b03933f7b46ce2e22c1930dc84b60d09f5ad222beab4e59e58c6c039c7f7fcf620397235ef441a356f31f9744010e12 + languageName: node + linkType: hard + +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: "npm:0.2.0" + ipaddr.js: "npm:1.9.1" + checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"pupa@npm:^3.1.0": + version: 3.1.0 + resolution: "pupa@npm:3.1.0" + dependencies: + escape-goat: "npm:^4.0.0" + checksum: 10c0/02afa6e4547a733484206aaa8f8eb3fbfb12d3dd17d7ca4fa1ea390a7da2cb8f381e38868bbf68009c4d372f8f6059f553171b6a712d8f2802c7cd43d513f06c + languageName: node + linkType: hard + +"qs@npm:6.13.0": + version: 6.13.0 + resolution: "qs@npm:6.13.0" + dependencies: + side-channel: "npm:^1.0.6" + checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"queue@npm:6.0.2": + version: 6.0.2 + resolution: "queue@npm:6.0.2" + dependencies: + inherits: "npm:~2.0.3" + checksum: 10c0/cf987476cc72e7d3aaabe23ccefaab1cd757a2b5e0c8d80b67c9575a6b5e1198807ffd4f0948a3f118b149d1111d810ee773473530b77a5c606673cac2c9c996 + languageName: node + linkType: hard + +"quick-lru@npm:^5.1.1": + version: 5.1.1 + resolution: "quick-lru@npm:5.1.1" + checksum: 10c0/a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da + languageName: node + linkType: hard + +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + +"range-parser@npm:1.2.0": + version: 1.2.0 + resolution: "range-parser@npm:1.2.0" + checksum: 10c0/c7aef4f6588eb974c475649c157f197d07437d8c6c8ff7e36280a141463fb5ab7a45918417334ebd7b665c6b8321cf31c763f7631dd5f5db9372249261b8b02a + languageName: node + linkType: hard + +"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 + languageName: node + linkType: hard + +"raw-body@npm:2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" + dependencies: + bytes: "npm:3.1.2" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + unpipe: "npm:1.0.0" + checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 + languageName: node + linkType: hard + +"rc@npm:1.2.8": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: "npm:^0.6.0" + ini: "npm:~1.3.0" + minimist: "npm:^1.2.0" + strip-json-comments: "npm:~2.0.1" + bin: + rc: ./cli.js + checksum: 10c0/24a07653150f0d9ac7168e52943cc3cb4b7a22c0e43c7dff3219977c2fdca5a2760a304a029c20811a0e79d351f57d46c9bde216193a0f73978496afc2b85b15 + languageName: node + linkType: hard + +"react-dev-utils@npm:^12.0.1": + version: 12.0.1 + resolution: "react-dev-utils@npm:12.0.1" + dependencies: + "@babel/code-frame": "npm:^7.16.0" + address: "npm:^1.1.2" + browserslist: "npm:^4.18.1" + chalk: "npm:^4.1.2" + cross-spawn: "npm:^7.0.3" + detect-port-alt: "npm:^1.1.6" + escape-string-regexp: "npm:^4.0.0" + filesize: "npm:^8.0.6" + find-up: "npm:^5.0.0" + fork-ts-checker-webpack-plugin: "npm:^6.5.0" + global-modules: "npm:^2.0.0" + globby: "npm:^11.0.4" + gzip-size: "npm:^6.0.0" + immer: "npm:^9.0.7" + is-root: "npm:^2.1.0" + loader-utils: "npm:^3.2.0" + open: "npm:^8.4.0" + pkg-up: "npm:^3.1.0" + prompts: "npm:^2.4.2" + react-error-overlay: "npm:^6.0.11" + recursive-readdir: "npm:^2.2.2" + shell-quote: "npm:^1.7.3" + strip-ansi: "npm:^6.0.1" + text-table: "npm:^0.2.0" + checksum: 10c0/94bc4ee5014290ca47a025e53ab2205c5dc0299670724d46a0b1bacbdd48904827b5ae410842d0a3a92481509097ae032e4a9dc7ca70db437c726eaba6411e82 + languageName: node + linkType: hard + +"react-dom@npm:^18.2.0": + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + scheduler: "npm:^0.23.2" + peerDependencies: + react: ^18.3.1 + checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 + languageName: node + linkType: hard + +"react-error-overlay@npm:^6.0.11": + version: 6.1.0 + resolution: "react-error-overlay@npm:6.1.0" + checksum: 10c0/2b52308b9e489dfaa25df85c7ed5c200371bc214245161a0833b729f9c6b1a2e591e1d1e07c3d3859ffa19b84a386c219d93df9ba13d819be34c20f40e71a555 + languageName: node + linkType: hard + +"react-fast-compare@npm:^3.2.0": + version: 3.2.2 + resolution: "react-fast-compare@npm:3.2.2" + checksum: 10c0/0bbd2f3eb41ab2ff7380daaa55105db698d965c396df73e6874831dbafec8c4b5b08ba36ff09df01526caa3c61595247e3269558c284e37646241cba2b90a367 + languageName: node + linkType: hard + +"react-helmet-async@npm:@slorber/react-helmet-async@*, react-helmet-async@npm:@slorber/react-helmet-async@1.3.0": + version: 1.3.0 + resolution: "@slorber/react-helmet-async@npm:1.3.0" + dependencies: + "@babel/runtime": "npm:^7.12.5" + invariant: "npm:^2.2.4" + prop-types: "npm:^15.7.2" + react-fast-compare: "npm:^3.2.0" + shallowequal: "npm:^1.1.0" + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/7a13470a0d27d6305657c7fa6b066443c94acdb22bd0decca772298bc852ce04fdc65f1207f0d546995bf7d4ca09e21c81f96b4954544937c01eda82e2caa142 + languageName: node + linkType: hard + +"react-icons@npm:^4.12.0": + version: 4.12.0 + resolution: "react-icons@npm:4.12.0" + peerDependencies: + react: "*" + checksum: 10c0/2170f43031ee7365539f72d4075cbe6c7fbf9a66d6cf4494aa9393b194272da0564f5b19d1b24dbfc567c0ac89f5fe5b8974d92dd83f61e252388dde6a226fb8 + languageName: node + linkType: hard + +"react-is@npm:^16.13.1, react-is@npm:^16.6.0, react-is@npm:^16.7.0": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 + languageName: node + linkType: hard + +"react-json-view-lite@npm:^1.2.0": + version: 1.5.0 + resolution: "react-json-view-lite@npm:1.5.0" + peerDependencies: + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + checksum: 10c0/e707717cb6b9d6cca5b138cdfb066e35ee7e493d1c88d4497e3a3a42b7651c8ff924ff53ad2da142a12b23b11379d39f38d8eee278c98c46cd6bc8844864b285 + languageName: node + linkType: hard + +"react-loadable-ssr-addon-v5-slorber@npm:^1.0.1": + version: 1.0.1 + resolution: "react-loadable-ssr-addon-v5-slorber@npm:1.0.1" + dependencies: + "@babel/runtime": "npm:^7.10.3" + peerDependencies: + react-loadable: "*" + webpack: ">=4.41.1 || 5.x" + checksum: 10c0/7b0645f66adec56646f985ba8094c66a1c0a4627d96ad80eea32431d773ef1f79aa47d3247a8f21db3b064a0c6091653c5b5d3483b7046722eb64e55bffe635c + languageName: node + linkType: hard + +"react-loadable@npm:@docusaurus/react-loadable@6.0.0": + version: 6.0.0 + resolution: "@docusaurus/react-loadable@npm:6.0.0" + dependencies: + "@types/react": "npm:*" + peerDependencies: + react: "*" + checksum: 10c0/6b145d1a8d2e7342ceef58dd154aa990322f72a6cb98955ab8ce8e3f0dc7f0c5d00f9c2e4efa8d356c5effed72a130b5588857332b11faba0398f5429b484b04 + languageName: node + linkType: hard + +"react-router-config@npm:^5.1.1": + version: 5.1.1 + resolution: "react-router-config@npm:5.1.1" + dependencies: + "@babel/runtime": "npm:^7.1.2" + peerDependencies: + react: ">=15" + react-router: ">=5" + checksum: 10c0/1f8f4e55ca68b7b012293e663eb0ee4d670a3df929b78928f713ef98cd9d62c7f5c30a098d6668e64bbb11c7d6bb24e9e6b9c985a8b82465a1858dc7ba663f2b + languageName: node + linkType: hard + +"react-router-dom@npm:^5.3.4": + version: 5.3.4 + resolution: "react-router-dom@npm:5.3.4" + dependencies: + "@babel/runtime": "npm:^7.12.13" + history: "npm:^4.9.0" + loose-envify: "npm:^1.3.1" + prop-types: "npm:^15.6.2" + react-router: "npm:5.3.4" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" + peerDependencies: + react: ">=15" + checksum: 10c0/f04f727e2ed2e9d1d3830af02cc61690ff67b1524c0d18690582bfba0f4d14142ccc88fb6da6befad644fddf086f5ae4c2eb7048c67da8a0b0929c19426421b0 + languageName: node + linkType: hard + +"react-router@npm:5.3.4, react-router@npm:^5.3.4": + version: 5.3.4 + resolution: "react-router@npm:5.3.4" + dependencies: + "@babel/runtime": "npm:^7.12.13" + history: "npm:^4.9.0" + hoist-non-react-statics: "npm:^3.1.0" + loose-envify: "npm:^1.3.1" + path-to-regexp: "npm:^1.7.0" + prop-types: "npm:^15.6.2" + react-is: "npm:^16.6.0" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" + peerDependencies: + react: ">=15" + checksum: 10c0/e15c00dfef199249b4c6e6d98e5e76cc352ce66f3270f13df37cc069ddf7c05e43281e8c308fc407e4435d72924373baef1d2890e0f6b0b1eb423cf47315a053 + languageName: node + linkType: hard + +"react@npm:^18.2.0": + version: 18.3.1 + resolution: "react@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.1": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.3" + isarray: "npm:~1.0.0" + process-nextick-args: "npm:~2.0.0" + safe-buffer: "npm:~5.1.1" + string_decoder: "npm:~1.1.1" + util-deprecate: "npm:~1.0.1" + checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa + languageName: node + linkType: hard + +"readable-stream@npm:^3.0.6": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"reading-time@npm:^1.5.0": + version: 1.5.0 + resolution: "reading-time@npm:1.5.0" + checksum: 10c0/0f730852fd4fb99e5f78c5b0cf36ab8c3fa15db96f87d9563843f6fd07a47864273ade539ebb184b785b728cde81a70283aa2d9b80cba5ca03b81868be03cabc + languageName: node + linkType: hard + +"rechoir@npm:^0.6.2": + version: 0.6.2 + resolution: "rechoir@npm:0.6.2" + dependencies: + resolve: "npm:^1.1.6" + checksum: 10c0/22c4bb32f4934a9468468b608417194f7e3ceba9a508512125b16082c64f161915a28467562368eeb15dc16058eb5b7c13a20b9eb29ff9927d1ebb3b5aa83e84 + languageName: node + linkType: hard + +"recma-build-jsx@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-build-jsx@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-util-build-jsx: "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/ca30f5163887b44c74682355da2625f7b49f33267699d22247913e513e043650cbdd6a7497cf13c60f09ad9e7bc2bd35bd20853672773c19188569814b56bb04 + languageName: node + linkType: hard + +"recma-jsx@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-jsx@npm:1.0.0" + dependencies: + acorn-jsx: "npm:^5.0.0" + estree-util-to-js: "npm:^2.0.0" + recma-parse: "npm:^1.0.0" + recma-stringify: "npm:^1.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/26c2af6dd69336c810468b778be1e4cbac5702cf9382454f17c29cf9b03a4fde47d10385bb26a7ccb34f36fe01af34c24cab9fb0deeed066ea53294be0081f07 + languageName: node + linkType: hard + +"recma-parse@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-parse@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + esast-util-from-js: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/37c0990859a562d082e02d475ca5f4c8ef0840d285270f6699fe888cbb06260f97eb098585eda4aae416182c207fd19cf05e4f0b2dcf55cbf81dde4406d95545 + languageName: node + linkType: hard + +"recma-stringify@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-stringify@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-util-to-js: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/c2ed4c0e8cf8a09aedcd47c5d016d47f6e1ff6c2d4b220e2abaf1b77713bf404756af2ea3ea7999aec5862e8825aff035edceb370c7fd8603a7e9da03bd6987e + languageName: node + linkType: hard + +"recursive-readdir@npm:^2.2.2": + version: 2.2.3 + resolution: "recursive-readdir@npm:2.2.3" + dependencies: + minimatch: "npm:^3.0.5" + checksum: 10c0/d0238f137b03af9cd645e1e0b40ae78b6cda13846e3ca57f626fcb58a66c79ae018a10e926b13b3a460f1285acc946a4e512ea8daa2e35df4b76a105709930d1 + languageName: node + linkType: hard + +"regenerate-unicode-properties@npm:^10.2.0": + version: 10.2.0 + resolution: "regenerate-unicode-properties@npm:10.2.0" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10c0/5510785eeaf56bbfdf4e663d6753f125c08d2a372d4107bc1b756b7bf142e2ed80c2733a8b54e68fb309ba37690e66a0362699b0e21d5c1f0255dea1b00e6460 + languageName: node + linkType: hard + +"regenerate@npm:^1.4.2": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: 10c0/f73c9eba5d398c818edc71d1c6979eaa05af7a808682749dd079f8df2a6d91a9b913db216c2c9b03e0a8ba2bba8701244a93f45211afbff691c32c7b275db1b8 + languageName: node + linkType: hard + +"regexpu-core@npm:^6.2.0": + version: 6.2.0 + resolution: "regexpu-core@npm:6.2.0" + dependencies: + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.0" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.12.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 10c0/bbcb83a854bf96ce4005ee4e4618b71c889cda72674ce6092432f0039b47890c2d0dfeb9057d08d440999d9ea03879ebbb7f26ca005ccf94390e55c348859b98 + languageName: node + linkType: hard + +"registry-auth-token@npm:^5.0.1": + version: 5.1.0 + resolution: "registry-auth-token@npm:5.1.0" + dependencies: + "@pnpm/npm-conf": "npm:^2.1.0" + checksum: 10c0/316229bd8a4acc29a362a7a3862ff809e608256f0fd9e0b133412b43d6a9ea18743756a0ec5ee1467a5384e1023602b85461b3d88d1336b11879e42f7cf02c12 + languageName: node + linkType: hard + +"registry-url@npm:^6.0.0": + version: 6.0.1 + resolution: "registry-url@npm:6.0.1" + dependencies: + rc: "npm:1.2.8" + checksum: 10c0/66e2221c8113fc35ee9d23fe58cb516fc8d556a189fb8d6f1011a02efccc846c4c9b5075b4027b99a5d5c9ad1345ac37f297bea3c0ca30d607ec8084bf561b90 + languageName: node + linkType: hard + +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10c0/44f526c4fdbf0b29286101a282189e4dbb303f4013cf3fea058668d96d113b9180d3d03d1e13f6d4cbde38b7728bf951aecd9dc199938c080093a9a6f0d7a6bd + languageName: node + linkType: hard + +"regjsparser@npm:^0.12.0": + version: 0.12.0 + resolution: "regjsparser@npm:0.12.0" + dependencies: + jsesc: "npm:~3.0.2" + bin: + regjsparser: bin/parser + checksum: 10c0/99d3e4e10c8c7732eb7aa843b8da2fd8b647fe144d3711b480e4647dc3bff4b1e96691ccf17f3ace24aa866a50b064236177cb25e6e4fbbb18285d99edaed83b + languageName: node + linkType: hard + +"rehype-katex@npm:^7.0.1": + version: 7.0.1 + resolution: "rehype-katex@npm:7.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/katex": "npm:^0.16.0" + hast-util-from-html-isomorphic: "npm:^2.0.0" + hast-util-to-text: "npm:^4.0.0" + katex: "npm:^0.16.0" + unist-util-visit-parents: "npm:^6.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/73c770319536128b75055d904d06951789d00a0552c11724c0dac2e244dcb21041630552d118a11cc42233fdcd1bfee525e78a0020fde635bd916cceb281dfb1 + languageName: node + linkType: hard + +"rehype-minify-whitespace@npm:^6.0.0": + version: 6.0.2 + resolution: "rehype-minify-whitespace@npm:6.0.2" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-minify-whitespace: "npm:^1.0.0" + checksum: 10c0/e808a452068392070dcba4ea0fdc24c783e21ddc9c70008f90827ddd29afa6fb82f77473bba91e06b48cef8575553f906fa8ab44ae59700f945eb0910927acd9 + languageName: node + linkType: hard + +"rehype-raw@npm:^7.0.0": + version: 7.0.0 + resolution: "rehype-raw@npm:7.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-raw: "npm:^9.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/1435b4b6640a5bc3abe3b2133885c4dbff5ef2190ef9cfe09d6a63f74dd7d7ffd0cede70603278560ccf1acbfb9da9faae4b68065a28bc5aa88ad18e40f32d52 + languageName: node + linkType: hard + +"rehype-recma@npm:^1.0.0": + version: 1.0.0 + resolution: "rehype-recma@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + hast-util-to-estree: "npm:^3.0.0" + checksum: 10c0/be60d7433a7f788a14f41da3e93ba9d9272c908ddef47757026cc4bbcc912f6301d56810349adf876d294a8d048626a0dbf6988aaa574afbfc29eac1ddc1eb74 + languageName: node + linkType: hard + +"relateurl@npm:^0.2.7": + version: 0.2.7 + resolution: "relateurl@npm:0.2.7" + checksum: 10c0/c248b4e3b32474f116a804b537fa6343d731b80056fb506dffd91e737eef4cac6be47a65aae39b522b0db9d0b1011d1a12e288d82a109ecd94a5299d82f6573a + languageName: node + linkType: hard + +"remark-definition-list@npm:^2.0.0": + version: 2.0.0 + resolution: "remark-definition-list@npm:2.0.0" + dependencies: + hast-util-definition-list: "npm:^2.0.0" + mdast-util-definition-list: "npm:^2.0.0" + micromark-extension-definition-list: "npm:^2.0.0" + checksum: 10c0/f352e41b0ee441be23cd70cf8e4e334c68020d638701a558d9d5d734319288089154a7552a56fe04226f933e99de3b3d2e975cef8af64300313a561da0bfe830 + languageName: node + linkType: hard + +"remark-directive@npm:^3.0.0": + version: 3.0.1 + resolution: "remark-directive@npm:3.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-directive: "npm:^3.0.0" + micromark-extension-directive: "npm:^3.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/ac0e60bdfd97063e2b4e18a96842567ae2ffea75f2545fcd7e4fe54806fb31629d60cef55b565333bda172eddee36766fe2535ca0b59208394bde676cd98094c + languageName: node + linkType: hard + +"remark-emoji@npm:^4.0.0": + version: 4.0.1 + resolution: "remark-emoji@npm:4.0.1" + dependencies: + "@types/mdast": "npm:^4.0.2" + emoticon: "npm:^4.0.1" + mdast-util-find-and-replace: "npm:^3.0.1" + node-emoji: "npm:^2.1.0" + unified: "npm:^11.0.4" + checksum: 10c0/27f88892215f3efe8f25c43f226a82d70144a1ae5906d36f6e09390b893b2d5524d5949bd8ca6a02be0e3cb5cba908b35c4221f4e07f34e93d13d6ff9347dbb8 + languageName: node + linkType: hard + +"remark-frontmatter@npm:^5.0.0": + version: 5.0.0 + resolution: "remark-frontmatter@npm:5.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-frontmatter: "npm:^2.0.0" + micromark-extension-frontmatter: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/102325d5edbcf30eaf74de8a0a6e03096cc2370dfef19080fd2dd208f368fbb2323388751ac9931a1aa38a4f2828fa4bad6c52dc5249dcadcd34861693b52bf9 + languageName: node + linkType: hard + +"remark-gfm@npm:^4.0.0": + version: 4.0.1 + resolution: "remark-gfm@npm:4.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-gfm: "npm:^3.0.0" + micromark-extension-gfm: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-stringify: "npm:^11.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/427ecc6af3e76222662061a5f670a3e4e33ec5fffe2cabf04034da6a3f9a1bda1fc023e838a636385ba314e66e2bebbf017ca61ebea357eb0f5200fe0625a4b7 + languageName: node + linkType: hard + +"remark-math@npm:^6.0.0": + version: 6.0.0 + resolution: "remark-math@npm:6.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-math: "npm:^3.0.0" + micromark-extension-math: "npm:^3.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/859613c4db194bb6b3c9c063661dc52b8ceda9c5cf3256b42f73d93eb8f38a6d634eb5f976fe094425f6f1035aaf329eb49ada314feb3b2b1073326b6d3aaa02 + languageName: node + linkType: hard + +"remark-mdx@npm:^3.0.0": + version: 3.1.0 + resolution: "remark-mdx@npm:3.1.0" + dependencies: + mdast-util-mdx: "npm:^3.0.0" + micromark-extension-mdxjs: "npm:^3.0.0" + checksum: 10c0/247800fa8561624bdca5776457c5965d99e5e60080e80262c600fe12ddd573862e029e39349e1e36e4c3bf79c8e571ecf4d3d2d8c13485b758391fb500e24a1a + languageName: node + linkType: hard + +"remark-parse@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-parse@npm:11.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/6eed15ddb8680eca93e04fcb2d1b8db65a743dcc0023f5007265dda558b09db595a087f622062ccad2630953cd5cddc1055ce491d25a81f3317c858348a8dd38 + languageName: node + linkType: hard + +"remark-rehype@npm:^11.0.0": + version: 11.1.2 + resolution: "remark-rehype@npm:11.1.2" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + mdast-util-to-hast: "npm:^13.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/f9eccacfb596d9605581dc05bfad28635d6ded5dd0a18e88af5fd4df0d3fcf9612e1501d4513bc2164d833cfe9636dab20400080b09e53f155c6e1442a1231fb + languageName: node + linkType: hard + +"remark-stringify@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-stringify@npm:11.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/0cdb37ce1217578f6f847c7ec9f50cbab35df5b9e3903d543e74b405404e67c07defcb23cd260a567b41b769400f6de03c2c3d9cd6ae7a6707d5c8d89ead489f + languageName: node + linkType: hard + +"renderkid@npm:^3.0.0": + version: 3.0.0 + resolution: "renderkid@npm:3.0.0" + dependencies: + css-select: "npm:^4.1.3" + dom-converter: "npm:^0.2.0" + htmlparser2: "npm:^6.1.0" + lodash: "npm:^4.17.21" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/24a9fae4cc50e731d059742d1b3eec163dc9e3872b12010d120c3fcbd622765d9cda41f79a1bbb4bf63c1d3442f18a08f6e1642cb5d7ebf092a0ce3f7a3bd143 + languageName: node + linkType: hard + +"repeat-string@npm:^1.0.0": + version: 1.6.1 + resolution: "repeat-string@npm:1.6.1" + checksum: 10c0/87fa21bfdb2fbdedc44b9a5b118b7c1239bdd2c2c1e42742ef9119b7d412a5137a1d23f1a83dc6bb686f4f27429ac6f542e3d923090b44181bafa41e8ac0174d + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"require-like@npm:>= 0.1.1": + version: 0.1.2 + resolution: "require-like@npm:0.1.2" + checksum: 10c0/9035ff6c4000a56ede6fc51dd5c56541fafa5a7dddc9b1c3a5f9148d95ee21c603c9bf5c6e37b19fc7de13d9294260842d8590b2ffd6c7c773e78603d1af8050 + languageName: node + linkType: hard + +"requires-port@npm:^1.0.0": + version: 1.0.0 + resolution: "requires-port@npm:1.0.0" + checksum: 10c0/b2bfdd09db16c082c4326e573a82c0771daaf7b53b9ce8ad60ea46aa6e30aaf475fe9b164800b89f93b748d2c234d8abff945d2551ba47bf5698e04cd7713267 + languageName: node + linkType: hard + +"resolve-alpn@npm:^1.2.0": + version: 1.2.1 + resolution: "resolve-alpn@npm:1.2.1" + checksum: 10c0/b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"resolve-pathname@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-pathname@npm:3.0.0" + checksum: 10c0/c6ec49b670dc35b9a303c47fa83ba9348a71e92d64a4c4bb85e1b659a29b407aa1ac1cb14a9b5b502982132ca77482bd80534bca147439d66880d35a137fe723 + languageName: node + linkType: hard + +"resolve@npm:^1.1.6, resolve@npm:^1.14.2": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin": + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 + languageName: node + linkType: hard + +"responselike@npm:^3.0.0": + version: 3.0.0 + resolution: "responselike@npm:3.0.0" + dependencies: + lowercase-keys: "npm:^3.0.0" + checksum: 10c0/8af27153f7e47aa2c07a5f2d538cb1e5872995f0e9ff77def858ecce5c3fe677d42b824a62cde502e56d275ab832b0a8bd350d5cd6b467ac0425214ac12ae658 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"retry@npm:^0.13.1": + version: 0.13.1 + resolution: "retry@npm:0.13.1" + checksum: 10c0/9ae822ee19db2163497e074ea919780b1efa00431d197c7afdb950e42bf109196774b92a49fc9821f0b8b328a98eea6017410bfc5e8a0fc19c85c6d11adb3772 + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa + languageName: node + linkType: hard + +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: bin.js + checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + languageName: node + linkType: hard + +"rtlcss@npm:^4.1.0": + version: 4.3.0 + resolution: "rtlcss@npm:4.3.0" + dependencies: + escalade: "npm:^3.1.1" + picocolors: "npm:^1.0.0" + postcss: "npm:^8.4.21" + strip-json-comments: "npm:^3.1.1" + bin: + rtlcss: bin/rtlcss.js + checksum: 10c0/ec59db839e1446b4cd6dcef618c8986f00d67e0ac3c2d40bd9041f1909aaacd668072c90849906ca692dea25cd993f46e9188b4c36adfa5bd3eebeb945fb28f2 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"sax@npm:^1.2.4": + version: 1.4.1 + resolution: "sax@npm:1.4.1" + checksum: 10c0/6bf86318a254c5d898ede6bd3ded15daf68ae08a5495a2739564eb265cd13bcc64a07ab466fb204f67ce472bb534eb8612dac587435515169593f4fffa11de7c + languageName: node + linkType: hard + +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 + languageName: node + linkType: hard + +"schema-utils@npm:2.7.0": + version: 2.7.0 + resolution: "schema-utils@npm:2.7.0" + dependencies: + "@types/json-schema": "npm:^7.0.4" + ajv: "npm:^6.12.2" + ajv-keywords: "npm:^3.4.1" + checksum: 10c0/723c3c856a0313a89aa81c5fb2c93d4b11225f5cdd442665fddd55d3c285ae72e079f5286a3a9a1a973affe888f6c33554a2cf47b79b24cd8de2f1f756a6fb1b + languageName: node + linkType: hard + +"schema-utils@npm:^3.0.0": + version: 3.3.0 + resolution: "schema-utils@npm:3.3.0" + dependencies: + "@types/json-schema": "npm:^7.0.8" + ajv: "npm:^6.12.5" + ajv-keywords: "npm:^3.5.2" + checksum: 10c0/fafdbde91ad8aa1316bc543d4b61e65ea86970aebbfb750bfb6d8a6c287a23e415e0e926c2498696b242f63af1aab8e585252637fabe811fd37b604351da6500 + languageName: node + linkType: hard + +"schema-utils@npm:^4.0.0, schema-utils@npm:^4.0.1, schema-utils@npm:^4.3.0, schema-utils@npm:^4.3.2": + version: 4.3.2 + resolution: "schema-utils@npm:4.3.2" + dependencies: + "@types/json-schema": "npm:^7.0.9" + ajv: "npm:^8.9.0" + ajv-formats: "npm:^2.1.1" + ajv-keywords: "npm:^5.1.0" + checksum: 10c0/981632f9bf59f35b15a9bcdac671dd183f4946fe4b055ae71a301e66a9797b95e5dd450de581eb6cca56fb6583ce8f24d67b2d9f8e1b2936612209697f6c277e + languageName: node + linkType: hard + +"section-matter@npm:^1.0.0": + version: 1.0.0 + resolution: "section-matter@npm:1.0.0" + dependencies: + extend-shallow: "npm:^2.0.1" + kind-of: "npm:^6.0.0" + checksum: 10c0/8007f91780adc5aaa781a848eaae50b0f680bbf4043b90cf8a96778195b8fab690c87fe7a989e02394ce69890e330811ec8dab22397d384673ce59f7d750641d + languageName: node + linkType: hard + +"select-hose@npm:^2.0.0": + version: 2.0.0 + resolution: "select-hose@npm:2.0.0" + checksum: 10c0/01cc52edd29feddaf379efb4328aededa633f0ac43c64b11a8abd075ff34f05b0d280882c4fbcbdf1a0658202c9cd2ea8d5985174dcf9a2dac7e3a4996fa9b67 + languageName: node + linkType: hard + +"selfsigned@npm:^2.1.1": + version: 2.4.1 + resolution: "selfsigned@npm:2.4.1" + dependencies: + "@types/node-forge": "npm:^1.3.0" + node-forge: "npm:^1" + checksum: 10c0/521829ec36ea042f7e9963bf1da2ed040a815cf774422544b112ec53b7edc0bc50a0f8cc2ae7aa6cc19afa967c641fd96a15de0fc650c68651e41277d2e1df09 + languageName: node + linkType: hard + +"semver-diff@npm:^4.0.0": + version: 4.0.0 + resolution: "semver-diff@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/3ed1bb22f39b4b6e98785bb066e821eabb9445d3b23e092866c50e7df8b9bd3eda617b242f81db4159586e0e39b0deb908dd160a24f783bd6f52095b22cd68ea + languageName: node + linkType: hard + +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.4": + version: 7.7.2 + resolution: "semver@npm:7.7.2" + bin: + semver: bin/semver.js + checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea + languageName: node + linkType: hard + +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" + dependencies: + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + mime: "npm:1.6.0" + ms: "npm:2.1.3" + on-finished: "npm:2.4.1" + range-parser: "npm:~1.2.1" + statuses: "npm:2.0.1" + checksum: 10c0/ea3f8a67a8f0be3d6bf9080f0baed6d2c51d11d4f7b4470de96a5029c598a7011c497511ccc28968b70ef05508675cebff27da9151dd2ceadd60be4e6cf845e3 + languageName: node + linkType: hard + +"serialize-javascript@npm:^6.0.0, serialize-javascript@npm:^6.0.1, serialize-javascript@npm:^6.0.2": + version: 6.0.2 + resolution: "serialize-javascript@npm:6.0.2" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 + languageName: node + linkType: hard + +"serve-handler@npm:^6.1.6": + version: 6.1.6 + resolution: "serve-handler@npm:6.1.6" + dependencies: + bytes: "npm:3.0.0" + content-disposition: "npm:0.5.2" + mime-types: "npm:2.1.18" + minimatch: "npm:3.1.2" + path-is-inside: "npm:1.0.2" + path-to-regexp: "npm:3.3.0" + range-parser: "npm:1.2.0" + checksum: 10c0/1e1cb6bbc51ee32bc1505f2e0605bdc2e96605c522277c977b67f83be9d66bd1eec8604388714a4d728e036d86b629bc9aec02120ea030d3d2c3899d44696503 + languageName: node + linkType: hard + +"serve-index@npm:^1.9.1": + version: 1.9.1 + resolution: "serve-index@npm:1.9.1" + dependencies: + accepts: "npm:~1.3.4" + batch: "npm:0.6.1" + debug: "npm:2.6.9" + escape-html: "npm:~1.0.3" + http-errors: "npm:~1.6.2" + mime-types: "npm:~2.1.17" + parseurl: "npm:~1.3.2" + checksum: 10c0/a666471a24196f74371edf2c3c7bcdd82adbac52f600804508754b5296c3567588bf694258b19e0cb23a567acfa20d9721bfdaed3286007b81f9741ada8a3a9c + languageName: node + linkType: hard + +"serve-static@npm:1.16.2": + version: 1.16.2 + resolution: "serve-static@npm:1.16.2" + dependencies: + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + parseurl: "npm:~1.3.3" + send: "npm:0.19.0" + checksum: 10c0/528fff6f5e12d0c5a391229ad893910709bc51b5705962b09404a1d813857578149b8815f35d3ee5752f44cd378d0f31669d4b1d7e2d11f41e08283d5134bd1f + languageName: node + linkType: hard + +"set-function-length@npm:^1.2.2": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c + languageName: node + linkType: hard + +"setprototypeof@npm:1.1.0": + version: 1.1.0 + resolution: "setprototypeof@npm:1.1.0" + checksum: 10c0/a77b20876689c6a89c3b42f0c3596a9cae02f90fc902570cbd97198e9e8240382086c9303ad043e88cee10f61eae19f1004e51d885395a1e9bf49f9ebed12872 + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc + languageName: node + linkType: hard + +"shallow-clone@npm:^3.0.0": + version: 3.0.1 + resolution: "shallow-clone@npm:3.0.1" + dependencies: + kind-of: "npm:^6.0.2" + checksum: 10c0/7bab09613a1b9f480c85a9823aebec533015579fa055ba6634aa56ba1f984380670eaf33b8217502931872aa1401c9fcadaa15f9f604d631536df475b05bcf1e + languageName: node + linkType: hard + +"shallowequal@npm:^1.1.0": + version: 1.1.0 + resolution: "shallowequal@npm:1.1.0" + checksum: 10c0/b926efb51cd0f47aa9bc061add788a4a650550bbe50647962113a4579b60af2abe7b62f9b02314acc6f97151d4cf87033a2b15fc20852fae306d1a095215396c + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shell-quote@npm:^1.7.3, shell-quote@npm:^1.8.1": + version: 1.8.2 + resolution: "shell-quote@npm:1.8.2" + checksum: 10c0/85fdd44f2ad76e723d34eb72c753f04d847ab64e9f1f10677e3f518d0e5b0752a176fd805297b30bb8c3a1556ebe6e77d2288dbd7b7b0110c7e941e9e9c20ce1 + languageName: node + linkType: hard + +"shelljs@npm:^0.8.5": + version: 0.8.5 + resolution: "shelljs@npm:0.8.5" + dependencies: + glob: "npm:^7.0.0" + interpret: "npm:^1.0.0" + rechoir: "npm:^0.6.2" + bin: + shjs: bin/shjs + checksum: 10c0/feb25289a12e4bcd04c40ddfab51aff98a3729f5c2602d5b1a1b95f6819ec7804ac8147ebd8d9a85dfab69d501bcf92d7acef03247320f51c1552cec8d8e2382 + languageName: node + linkType: hard + +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 + languageName: node + linkType: hard + +"side-channel@npm:^1.0.6": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"sirv@npm:^2.0.3": + version: 2.0.4 + resolution: "sirv@npm:2.0.4" + dependencies: + "@polka/url": "npm:^1.0.0-next.24" + mrmime: "npm:^2.0.0" + totalist: "npm:^3.0.0" + checksum: 10c0/68f8ee857f6a9415e9c07a1f31c7c561df8d5f1b1ba79bee3de583fa37da8718def5309f6b1c6e2c3ef77de45d74f5e49efc7959214443aa92d42e9c99180a4e + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 + languageName: node + linkType: hard + +"sitemap@npm:^7.1.1": + version: 7.1.2 + resolution: "sitemap@npm:7.1.2" + dependencies: + "@types/node": "npm:^17.0.5" + "@types/sax": "npm:^1.2.1" + arg: "npm:^5.0.0" + sax: "npm:^1.2.4" + bin: + sitemap: dist/cli.js + checksum: 10c0/01dd1268c0d4b89f8ef082bcb9ef18d0182d00d1622e9c54743474918169491e5360538f9a01a769262e0fe23d6e3822a90680eff0f076cf87b68d459014a34c + languageName: node + linkType: hard + +"skin-tone@npm:^2.0.0": + version: 2.0.0 + resolution: "skin-tone@npm:2.0.0" + dependencies: + unicode-emoji-modifier-base: "npm:^1.0.0" + checksum: 10c0/82d4c2527864f9cbd6cb7f3c4abb31e2224752234d5013b881d3e34e9ab543545b05206df5a17d14b515459fcb265ce409f9cfe443903176b0360cd20e4e4ba5 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"slash@npm:^4.0.0": + version: 4.0.0 + resolution: "slash@npm:4.0.0" + checksum: 10c0/b522ca75d80d107fd30d29df0549a7b2537c83c4c4ecd12cd7d4ea6c8aaca2ab17ada002e7a1d78a9d736a0261509f26ea5b489082ee443a3a810586ef8eff18 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"snake-case@npm:^3.0.4": + version: 3.0.4 + resolution: "snake-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/ab19a913969f58f4474fe9f6e8a026c8a2142a01f40b52b79368068343177f818cdfef0b0c6b9558f298782441d5ca8ed5932eb57822439fad791d866e62cecd + languageName: node + linkType: hard + +"sockjs@npm:^0.3.24": + version: 0.3.24 + resolution: "sockjs@npm:0.3.24" + dependencies: + faye-websocket: "npm:^0.11.3" + uuid: "npm:^8.3.2" + websocket-driver: "npm:^0.7.4" + checksum: 10c0/aa102c7d921bf430215754511c81ea7248f2dcdf268fbdb18e4d8183493a86b8793b164c636c52f474a886f747447c962741df2373888823271efdb9d2594f33 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.4 + resolution: "socks@npm:2.8.4" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 + languageName: node + linkType: hard + +"sort-css-media-queries@npm:2.2.0": + version: 2.2.0 + resolution: "sort-css-media-queries@npm:2.2.0" + checksum: 10c0/7478308c7ca93409f959ab993d41de2f0515ed5f51b671908ecb777aae0d63be97b454d59d80e14ee4874884618a2e825d4ae7ccb225779276904dd175f4e766 + languageName: node + linkType: hard + +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"source-map-support@npm:~0.5.20": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:~0.6.0": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"source-map@npm:^0.7.0": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc + languageName: node + linkType: hard + +"space-separated-tokens@npm:^2.0.0": + version: 2.0.2 + resolution: "space-separated-tokens@npm:2.0.2" + checksum: 10c0/6173e1d903dca41dcab6a2deed8b4caf61bd13b6d7af8374713500570aa929ff9414ae09a0519f4f8772df993300305a395d4871f35bc4ca72b6db57e1f30af8 + languageName: node + linkType: hard + +"spdy-transport@npm:^3.0.0": + version: 3.0.0 + resolution: "spdy-transport@npm:3.0.0" + dependencies: + debug: "npm:^4.1.0" + detect-node: "npm:^2.0.4" + hpack.js: "npm:^2.1.6" + obuf: "npm:^1.1.2" + readable-stream: "npm:^3.0.6" + wbuf: "npm:^1.7.3" + checksum: 10c0/eaf7440fa90724fffc813c386d4a8a7427d967d6e46d7c51d8f8a533d1a6911b9823ea9218703debbae755337e85f110185d7a00ae22ec5c847077b908ce71bb + languageName: node + linkType: hard + +"spdy@npm:^4.0.2": + version: 4.0.2 + resolution: "spdy@npm:4.0.2" + dependencies: + debug: "npm:^4.1.0" + handle-thing: "npm:^2.0.0" + http-deceiver: "npm:^1.2.7" + select-hose: "npm:^2.0.0" + spdy-transport: "npm:^3.0.0" + checksum: 10c0/983509c0be9d06fd00bb9dff713c5b5d35d3ffd720db869acdd5ad7aa6fc0e02c2318b58f75328957d8ff772acdf1f7d19382b6047df342044ff3e2d6805ccdf + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"srcset@npm:^4.0.0": + version: 4.0.0 + resolution: "srcset@npm:4.0.0" + checksum: 10c0/0685c3bd2423b33831734fb71560cd8784f024895e70ee2ac2c392e30047c27ffd9481e001950fb0503f4906bc3fe963145935604edad77944d09c9800990660 + languageName: node + linkType: hard + +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d + languageName: node + linkType: hard + +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 + languageName: node + linkType: hard + +"statuses@npm:>= 1.4.0 < 2": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: 10c0/e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940 + languageName: node + linkType: hard + +"std-env@npm:^3.7.0": + version: 3.9.0 + resolution: "std-env@npm:3.9.0" + checksum: 10c0/4a6f9218aef3f41046c3c7ecf1f98df00b30a07f4f35c6d47b28329bc2531eef820828951c7d7b39a1c5eb19ad8a46e3ddfc7deb28f0a2f3ceebee11bab7ba50 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: "npm:~5.1.0" + checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e + languageName: node + linkType: hard + +"stringify-entities@npm:^4.0.0": + version: 4.0.4 + resolution: "stringify-entities@npm:4.0.4" + dependencies: + character-entities-html4: "npm:^2.0.0" + character-entities-legacy: "npm:^3.0.0" + checksum: 10c0/537c7e656354192406bdd08157d759cd615724e9d0873602d2c9b2f6a5c0a8d0b1d73a0a08677848105c5eebac6db037b57c0b3a4ec86331117fa7319ed50448 + languageName: node + linkType: hard + +"stringify-object@npm:^3.3.0": + version: 3.3.0 + resolution: "stringify-object@npm:3.3.0" + dependencies: + get-own-enumerable-property-symbols: "npm:^3.0.0" + is-obj: "npm:^1.0.1" + is-regexp: "npm:^1.0.0" + checksum: 10c0/ba8078f84128979ee24b3de9a083489cbd3c62cb8572a061b47d4d82601a8ae4b4d86fa8c54dd955593da56bb7c16a6de51c27221fdc6b7139bb4f29d815f35b + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-bom-string@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-bom-string@npm:1.0.0" + checksum: 10c0/5c5717e2643225aa6a6d659d34176ab2657037f1fe2423ac6fcdb488f135e14fef1022030e426d8b4d0989e09adbd5c3288d5d3b9c632abeefd2358dfc512bca + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 + languageName: node + linkType: hard + +"style-to-js@npm:^1.0.0": + version: 1.1.16 + resolution: "style-to-js@npm:1.1.16" + dependencies: + style-to-object: "npm:1.0.8" + checksum: 10c0/578a4dff804539ec7e64d3cc8d327540befb9ad30e3cd0b6b0392f93f793f3a028f90084a9aaff088bffb87818fa2c6c153f0df576f61f9ab0b0938b582bcac7 + languageName: node + linkType: hard + +"style-to-object@npm:1.0.8": + version: 1.0.8 + resolution: "style-to-object@npm:1.0.8" + dependencies: + inline-style-parser: "npm:0.2.4" + checksum: 10c0/daa6646b1ff18258c0ca33ed281fbe73485c8391192db1b56ce89d40c93ea64507a41e8701d0dadfe771bc2f540c46c9b295135f71584c8e5cb23d6a19be9430 + languageName: node + linkType: hard + +"stylehacks@npm:^6.1.1": + version: 6.1.1 + resolution: "stylehacks@npm:6.1.1" + dependencies: + browserslist: "npm:^4.23.0" + postcss-selector-parser: "npm:^6.0.16" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/2dd2bccfd8311ff71492e63a7b8b86c3d7b1fff55d4ba5a2357aff97743e633d351cdc2f5ae3c0057637d00dab4ef5fc5b218a1b370e4585a41df22b5a5128be + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-color@npm:^8.0.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"svg-parser@npm:^2.0.4": + version: 2.0.4 + resolution: "svg-parser@npm:2.0.4" + checksum: 10c0/02f6cb155dd7b63ebc2f44f36365bc294543bebb81b614b7628f1af3c54ab64f7e1cec20f06e252bf95bdde78441ae295a412c68ad1678f16a6907d924512b7a + languageName: node + linkType: hard + +"svgo@npm:^3.0.2, svgo@npm:^3.2.0": + version: 3.3.2 + resolution: "svgo@npm:3.3.2" + dependencies: + "@trysound/sax": "npm:0.2.0" + commander: "npm:^7.2.0" + css-select: "npm:^5.1.0" + css-tree: "npm:^2.3.1" + css-what: "npm:^6.1.0" + csso: "npm:^5.0.5" + picocolors: "npm:^1.0.0" + bin: + svgo: ./bin/svgo + checksum: 10c0/a6badbd3d1d6dbb177f872787699ab34320b990d12e20798ecae915f0008796a0f3c69164f1485c9def399e0ce0a5683eb4a8045e51a5e1c364bb13a0d9f79e1 + languageName: node + linkType: hard + +"tapable@npm:^1.0.0": + version: 1.1.3 + resolution: "tapable@npm:1.1.3" + checksum: 10c0/c9f0265e55e45821ec672b9b9ee8a35d95bf3ea6b352199f8606a2799018e89cfe4433c554d424b31fc67c4be26b05d4f36dc3c607def416fdb2514cd63dba50 + languageName: node + linkType: hard + +"tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 10c0/bc40e6efe1e554d075469cedaba69a30eeb373552aaf41caeaaa45bf56ffacc2674261b106245bd566b35d8f3329b52d838e851ee0a852120acae26e622925c9 + languageName: node + linkType: hard + +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d + languageName: node + linkType: hard + +"terser-webpack-plugin@npm:^5.3.11, terser-webpack-plugin@npm:^5.3.9": + version: 5.3.14 + resolution: "terser-webpack-plugin@npm:5.3.14" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.25" + jest-worker: "npm:^27.4.5" + schema-utils: "npm:^4.3.0" + serialize-javascript: "npm:^6.0.2" + terser: "npm:^5.31.1" + peerDependencies: + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + checksum: 10c0/9b060947241af43bd6fd728456f60e646186aef492163672a35ad49be6fbc7f63b54a7356c3f6ff40a8f83f00a977edc26f044b8e106cc611c053c8c0eaf8569 + languageName: node + linkType: hard + +"terser@npm:^5.10.0, terser@npm:^5.15.1, terser@npm:^5.31.1": + version: 5.39.1 + resolution: "terser@npm:5.39.1" + dependencies: + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.8.2" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 10c0/d49e06dd4dd03661dac41f45c9cf187b2aa3fe80775235e838398c29311705169387c007f398ab44cd1bd8f89b14a1eea383feaa95c1cae29e3f5b6b606b6b37 + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c + languageName: node + linkType: hard + +"thunky@npm:^1.0.2": + version: 1.1.0 + resolution: "thunky@npm:1.1.0" + checksum: 10c0/369764f39de1ce1de2ba2fa922db4a3f92e9c7f33bcc9a713241bc1f4a5238b484c17e0d36d1d533c625efb00e9e82c3e45f80b47586945557b45abb890156d2 + languageName: node + linkType: hard + +"tiny-invariant@npm:^1.0.2": + version: 1.3.3 + resolution: "tiny-invariant@npm:1.3.3" + checksum: 10c0/65af4a07324b591a059b35269cd696aba21bef2107f29b9f5894d83cc143159a204b299553435b03874ebb5b94d019afa8b8eff241c8a4cfee95872c2e1c1c4a + languageName: node + linkType: hard + +"tiny-warning@npm:^1.0.0": + version: 1.0.3 + resolution: "tiny-warning@npm:1.0.3" + checksum: 10c0/ef8531f581b30342f29670cb41ca248001c6fd7975ce22122bd59b8d62b4fc84ad4207ee7faa95cde982fa3357cd8f4be650142abc22805538c3b1392d7084fa + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.13 + resolution: "tinyglobby@npm:0.2.13" + dependencies: + fdir: "npm:^6.4.4" + picomatch: "npm:^4.0.2" + checksum: 10c0/ef07dfaa7b26936601d3f6d999f7928a4d1c6234c5eb36896bb88681947c0d459b7ebe797022400e555fe4b894db06e922b95d0ce60cb05fd827a0a66326b18c + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 + languageName: node + linkType: hard + +"totalist@npm:^3.0.0": + version: 3.0.1 + resolution: "totalist@npm:3.0.1" + checksum: 10c0/4bb1fadb69c3edbef91c73ebef9d25b33bbf69afe1e37ce544d5f7d13854cda15e47132f3e0dc4cafe300ddb8578c77c50a65004d8b6e97e77934a69aa924863 + languageName: node + linkType: hard + +"trim-lines@npm:^3.0.0": + version: 3.0.1 + resolution: "trim-lines@npm:3.0.1" + checksum: 10c0/3a1611fa9e52aa56a94c69951a9ea15b8aaad760eaa26c56a65330dc8adf99cb282fc07cc9d94968b7d4d88003beba220a7278bbe2063328eb23fb56f9509e94 + languageName: node + linkType: hard + +"trim-trailing-lines@npm:^2.0.0": + version: 2.1.0 + resolution: "trim-trailing-lines@npm:2.1.0" + checksum: 10c0/9b010d16b191422d08678f5a4988213dffd8ae9445e1b0f7f7b3e5b28ffdb062a8465a7988b66999b90589b386ddc93b56d23545ba75a74ebaf5838b30594cb9 + languageName: node + linkType: hard + +"trough@npm:^2.0.0": + version: 2.2.0 + resolution: "trough@npm:2.2.0" + checksum: 10c0/58b671fc970e7867a48514168894396dd94e6d9d6456aca427cc299c004fe67f35ed7172a36449086b2edde10e78a71a284ec0076809add6834fb8f857ccb9b0 + languageName: node + linkType: hard + +"ts-dedent@npm:^2.2.0": + version: 2.2.0 + resolution: "ts-dedent@npm:2.2.0" + checksum: 10c0/175adea838468cc2ff7d5e97f970dcb798bbcb623f29c6088cb21aa2880d207c5784be81ab1741f56b9ac37840cbaba0c0d79f7f8b67ffe61c02634cafa5c303 + languageName: node + linkType: hard + +"tslib@npm:^2.0.3, tslib@npm:^2.6.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 + languageName: node + linkType: hard + +"type-fest@npm:^1.0.1": + version: 1.4.0 + resolution: "type-fest@npm:1.4.0" + checksum: 10c0/a3c0f4ee28ff6ddf800d769eafafcdeab32efa38763c1a1b8daeae681920f6e345d7920bf277245235561d8117dab765cb5f829c76b713b4c9de0998a5397141 + languageName: node + linkType: hard + +"type-fest@npm:^2.13.0, type-fest@npm:^2.5.0": + version: 2.19.0 + resolution: "type-fest@npm:2.19.0" + checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb + languageName: node + linkType: hard + +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: "npm:0.3.0" + mime-types: "npm:~2.1.24" + checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d + languageName: node + linkType: hard + +"typedarray-to-buffer@npm:^3.1.5": + version: 3.1.5 + resolution: "typedarray-to-buffer@npm:3.1.5" + dependencies: + is-typedarray: "npm:^1.0.0" + checksum: 10c0/4ac5b7a93d604edabf3ac58d3a2f7e07487e9f6e98195a080e81dbffdc4127817f470f219d794a843b87052cedef102b53ac9b539855380b8c2172054b7d5027 + languageName: node + linkType: hard + +"typescript@npm:~5.2.2": + version: 5.2.2 + resolution: "typescript@npm:5.2.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/91ae3e6193d0ddb8656d4c418a033f0f75dec5e077ebbc2bd6d76439b93f35683936ee1bdc0e9cf94ec76863aa49f27159b5788219b50e1cd0cd6d110aa34b07 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A~5.2.2#optional!builtin": + version: 5.2.2 + resolution: "typescript@patch:typescript@npm%3A5.2.2#optional!builtin::version=5.2.2&hash=f3b441" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/062c1cee1990e6b9419ce8a55162b8dc917eb87f807e4de0327dbc1c2fa4e5f61bc0dd4e034d38ff541d1ed0479b53bcee8e4de3a4075c51a1724eb6216cb6f5 + languageName: node + linkType: hard + +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 + languageName: node + linkType: hard + +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 10c0/f83bc492fdbe662860795ef37a85910944df7310cac91bd778f1c19ebc911e8b9cde84e703de631e5a2fcca3905e39896f8fc5fc6a44ddaf7f4aff1cda24f381 + languageName: node + linkType: hard + +"unicode-emoji-modifier-base@npm:^1.0.0": + version: 1.0.0 + resolution: "unicode-emoji-modifier-base@npm:1.0.0" + checksum: 10c0/b37623fcf0162186debd20f116483e035a2d5b905b932a2c472459d9143d446ebcbefb2a494e2fe4fa7434355396e2a95ec3fc1f0c29a3bc8f2c827220e79c66 + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" + dependencies: + unicode-canonical-property-names-ecmascript: "npm:^2.0.0" + unicode-property-aliases-ecmascript: "npm:^2.0.0" + checksum: 10c0/4d05252cecaf5c8e36d78dc5332e03b334c6242faf7cf16b3658525441386c0a03b5f603d42cbec0f09bb63b9fd25c9b3b09667aee75463cac3efadae2cd17ec + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^2.1.0": + version: 2.2.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.0" + checksum: 10c0/1d0a2deefd97974ddff5b7cb84f9884177f4489928dfcebb4b2b091d6124f2739df51fc6ea15958e1b5637ac2a24cff9bf21ea81e45335086ac52c0b4c717d6d + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^2.0.0": + version: 2.1.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" + checksum: 10c0/50ded3f8c963c7785e48c510a3b7c6bc4e08a579551489aa0349680a35b1ceceec122e33b2b6c1b579d0be2250f34bb163ac35f5f8695fe10bbc67fb757f0af8 + languageName: node + linkType: hard + +"unified@npm:^11.0.0, unified@npm:^11.0.3, unified@npm:^11.0.4": + version: 11.0.5 + resolution: "unified@npm:11.0.5" + dependencies: + "@types/unist": "npm:^3.0.0" + bail: "npm:^2.0.0" + devlop: "npm:^1.0.0" + extend: "npm:^3.0.0" + is-plain-obj: "npm:^4.0.0" + trough: "npm:^2.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/53c8e685f56d11d9d458a43e0e74328a4d6386af51c8ac37a3dcabec74ce5026da21250590d4aff6733ccd7dc203116aae2b0769abc18cdf9639a54ae528dfc9 + languageName: node + linkType: hard + +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc + languageName: node + linkType: hard + +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 + languageName: node + linkType: hard + +"unique-string@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-string@npm:3.0.0" + dependencies: + crypto-random-string: "npm:^4.0.0" + checksum: 10c0/b35ea034b161b2a573666ec16c93076b4b6106b8b16c2415808d747ab3a0566b5db0c4be231d4b11cfbc16d7fd915c9d8a45884bff0e2db11b799775b2e1e017 + languageName: node + linkType: hard + +"unist-builder@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-builder@npm:4.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/8296a70703bb1be8dfaa2fb59c05480a84df464f359ce61c7db98db2dc4dfb2219a17020a3feaca65c44841e631133cbf829047b9f92941b30dad003f9052d14 + languageName: node + linkType: hard + +"unist-util-find-after@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-find-after@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/a7cea473c4384df8de867c456b797ff1221b20f822e1af673ff5812ed505358b36f47f3b084ac14c3622cb879ed833b71b288e8aa71025352a2aab4c2925a6eb + languageName: node + linkType: hard + +"unist-util-is@npm:^6.0.0": + version: 6.0.0 + resolution: "unist-util-is@npm:6.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/9419352181eaa1da35eca9490634a6df70d2217815bb5938a04af3a662c12c5607a2f1014197ec9c426fbef18834f6371bfdb6f033040fa8aa3e965300d70e7e + languageName: node + linkType: hard + +"unist-util-position-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "unist-util-position-from-estree@npm:2.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/39127bf5f0594e0a76d9241dec4f7aa26323517120ce1edd5ed91c8c1b9df7d6fb18af556e4b6250f1c7368825720ed892e2b6923be5cdc08a9bb16536dc37b3 + languageName: node + linkType: hard + +"unist-util-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-position@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/dde3b31e314c98f12b4dc6402f9722b2bf35e96a4f2d463233dd90d7cde2d4928074a7a11eff0a5eb1f4e200f27fc1557e0a64a7e8e4da6558542f251b1b7400 + languageName: node + linkType: hard + +"unist-util-remove-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-remove-position@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/e8c76da4399446b3da2d1c84a97c607b37d03d1d92561e14838cbe4fdcb485bfc06c06cfadbb808ccb72105a80643976d0660d1fe222ca372203075be9d71105 + languageName: node + linkType: hard + +"unist-util-stringify-position@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-util-stringify-position@npm:4.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/dfe1dbe79ba31f589108cb35e523f14029b6675d741a79dea7e5f3d098785045d556d5650ec6a8338af11e9e78d2a30df12b1ee86529cded1098da3f17ee999e + languageName: node + linkType: hard + +"unist-util-visit-parents@npm:^6.0.0": + version: 6.0.1 + resolution: "unist-util-visit-parents@npm:6.0.1" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/51b1a5b0aa23c97d3e03e7288f0cdf136974df2217d0999d3de573c05001ef04cccd246f51d2ebdfb9e8b0ed2704451ad90ba85ae3f3177cf9772cef67f56206 + languageName: node + linkType: hard + +"unist-util-visit@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-visit@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/51434a1d80252c1540cce6271a90fd1a106dbe624997c09ed8879279667fb0b2d3a685e02e92bf66598dcbe6cdffa7a5f5fb363af8fdf90dda6c855449ae39a5 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.1.3": + version: 1.1.3 + resolution: "update-browserslist-db@npm:1.1.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/682e8ecbf9de474a626f6462aa85927936cdd256fe584c6df2508b0df9f7362c44c957e9970df55dfe44d3623807d26316ea2c7d26b80bb76a16c56c37233c32 + languageName: node + linkType: hard + +"update-notifier@npm:^6.0.2": + version: 6.0.2 + resolution: "update-notifier@npm:6.0.2" + dependencies: + boxen: "npm:^7.0.0" + chalk: "npm:^5.0.1" + configstore: "npm:^6.0.0" + has-yarn: "npm:^3.0.0" + import-lazy: "npm:^4.0.0" + is-ci: "npm:^3.0.1" + is-installed-globally: "npm:^0.4.0" + is-npm: "npm:^6.0.0" + is-yarn-global: "npm:^0.4.0" + latest-version: "npm:^7.0.0" + pupa: "npm:^3.1.0" + semver: "npm:^7.3.7" + semver-diff: "npm:^4.0.0" + xdg-basedir: "npm:^5.1.0" + checksum: 10c0/ad3980073312df904133a6e6c554a7f9d0832ed6275e55f5a546313fe77a0f20f23a7b1b4aeb409e20a78afb06f4d3b2b28b332d9cfb55745b5d1ea155810bcc + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"url-loader@npm:^4.1.1": + version: 4.1.1 + resolution: "url-loader@npm:4.1.1" + dependencies: + loader-utils: "npm:^2.0.0" + mime-types: "npm:^2.1.27" + schema-utils: "npm:^3.0.0" + peerDependencies: + file-loader: "*" + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + file-loader: + optional: true + checksum: 10c0/71b6300e02ce26c70625eae1a2297c0737635038c62691bb3007ac33e85c0130efc74bfb444baf5c6b3bad5953491159d31d66498967d1417865d0c7e7cd1a64 + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"utila@npm:~0.4": + version: 0.4.0 + resolution: "utila@npm:0.4.0" + checksum: 10c0/2791604e09ca4f77ae314df83e80d1805f867eb5c7e13e7413caee01273c278cf2c9a3670d8d25c889a877f7b149d892fe61b0181a81654b425e9622ab23d42e + languageName: node + linkType: hard + +"utility-types@npm:^3.10.0": + version: 3.11.0 + resolution: "utility-types@npm:3.11.0" + checksum: 10c0/2f1580137b0c3e6cf5405f37aaa8f5249961a76d26f1ca8efc0ff49a2fc0e0b2db56de8e521a174d075758e0c7eb3e590edec0832eb44478b958f09914920f19 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 + languageName: node + linkType: hard + +"uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 + languageName: node + linkType: hard + +"value-equal@npm:^1.0.1": + version: 1.0.1 + resolution: "value-equal@npm:1.0.1" + checksum: 10c0/79068098355483ef29f4d3753999ad880875b87625d7e9055cad9346ea4b7662aad3a66f87976801b0dd7a6f828ba973d28b1669ebcd37eaf88cc5f687c1a691 + languageName: node + linkType: hard + +"vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f + languageName: node + linkType: hard + +"vfile-location@npm:^5.0.0": + version: 5.0.3 + resolution: "vfile-location@npm:5.0.3" + dependencies: + "@types/unist": "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/1711f67802a5bc175ea69750d59863343ed43d1b1bb25c0a9063e4c70595e673e53e2ed5cdbb6dcdc370059b31605144d95e8c061b9361bcc2b036b8f63a4966 + languageName: node + linkType: hard + +"vfile-message@npm:^4.0.0": + version: 4.0.2 + resolution: "vfile-message@npm:4.0.2" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-stringify-position: "npm:^4.0.0" + checksum: 10c0/07671d239a075f888b78f318bc1d54de02799db4e9dce322474e67c35d75ac4a5ac0aaf37b18801d91c9f8152974ea39678aa72d7198758b07f3ba04fb7d7514 + languageName: node + linkType: hard + +"vfile@npm:^6.0.0, vfile@npm:^6.0.1": + version: 6.0.3 + resolution: "vfile@npm:6.0.3" + dependencies: + "@types/unist": "npm:^3.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/e5d9eb4810623f23758cfc2205323e33552fb5972e5c2e6587babe08fe4d24859866277404fb9e2a20afb71013860d96ec806cb257536ae463c87d70022ab9ef + languageName: node + linkType: hard + +"watchpack@npm:^2.4.1": + version: 2.4.2 + resolution: "watchpack@npm:2.4.2" + dependencies: + glob-to-regexp: "npm:^0.4.1" + graceful-fs: "npm:^4.1.2" + checksum: 10c0/ec60a5f0e9efaeca0102fd9126346b3b2d523e01c34030d3fddf5813a7125765121ebdc2552981136dcd2c852deb1af0b39340f2fcc235f292db5399d0283577 + languageName: node + linkType: hard + +"wbuf@npm:^1.1.0, wbuf@npm:^1.7.3": + version: 1.7.3 + resolution: "wbuf@npm:1.7.3" + dependencies: + minimalistic-assert: "npm:^1.0.0" + checksum: 10c0/56edcc5ef2b3d30913ba8f1f5cccc364d180670b24d5f3f8849c1e6fb514e5c7e3a87548ae61227a82859eba6269c11393ae24ce12a2ea1ecb9b465718ddced7 + languageName: node + linkType: hard + +"web-namespaces@npm:^2.0.0": + version: 2.0.1 + resolution: "web-namespaces@npm:2.0.1" + checksum: 10c0/df245f466ad83bd5cd80bfffc1674c7f64b7b84d1de0e4d2c0934fb0782e0a599164e7197a4bce310ee3342fd61817b8047ff04f076a1ce12dd470584142a4bd + languageName: node + linkType: hard + +"webpack-bundle-analyzer@npm:^4.10.2": + version: 4.10.2 + resolution: "webpack-bundle-analyzer@npm:4.10.2" + dependencies: + "@discoveryjs/json-ext": "npm:0.5.7" + acorn: "npm:^8.0.4" + acorn-walk: "npm:^8.0.0" + commander: "npm:^7.2.0" + debounce: "npm:^1.2.1" + escape-string-regexp: "npm:^4.0.0" + gzip-size: "npm:^6.0.0" + html-escaper: "npm:^2.0.2" + opener: "npm:^1.5.2" + picocolors: "npm:^1.0.0" + sirv: "npm:^2.0.3" + ws: "npm:^7.3.1" + bin: + webpack-bundle-analyzer: lib/bin/analyzer.js + checksum: 10c0/00603040e244ead15b2d92981f0559fa14216381349412a30070a7358eb3994cd61a8221d34a3b3fb8202dc3d1c5ee1fbbe94c5c52da536e5b410aa1cf279a48 + languageName: node + linkType: hard + +"webpack-dev-middleware@npm:^5.3.4": + version: 5.3.4 + resolution: "webpack-dev-middleware@npm:5.3.4" + dependencies: + colorette: "npm:^2.0.10" + memfs: "npm:^3.4.3" + mime-types: "npm:^2.1.31" + range-parser: "npm:^1.2.1" + schema-utils: "npm:^4.0.0" + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 10c0/257df7d6bc5494d1d3cb66bba70fbdf5a6e0423e39b6420f7631aeb52435afbfbff8410a62146dcdf3d2f945c62e03193aae2ac1194a2f7d5a2523b9d194e9e1 + languageName: node + linkType: hard + +"webpack-dev-server@npm:^4.15.2": + version: 4.15.2 + resolution: "webpack-dev-server@npm:4.15.2" + dependencies: + "@types/bonjour": "npm:^3.5.9" + "@types/connect-history-api-fallback": "npm:^1.3.5" + "@types/express": "npm:^4.17.13" + "@types/serve-index": "npm:^1.9.1" + "@types/serve-static": "npm:^1.13.10" + "@types/sockjs": "npm:^0.3.33" + "@types/ws": "npm:^8.5.5" + ansi-html-community: "npm:^0.0.8" + bonjour-service: "npm:^1.0.11" + chokidar: "npm:^3.5.3" + colorette: "npm:^2.0.10" + compression: "npm:^1.7.4" + connect-history-api-fallback: "npm:^2.0.0" + default-gateway: "npm:^6.0.3" + express: "npm:^4.17.3" + graceful-fs: "npm:^4.2.6" + html-entities: "npm:^2.3.2" + http-proxy-middleware: "npm:^2.0.3" + ipaddr.js: "npm:^2.0.1" + launch-editor: "npm:^2.6.0" + open: "npm:^8.0.9" + p-retry: "npm:^4.5.0" + rimraf: "npm:^3.0.2" + schema-utils: "npm:^4.0.0" + selfsigned: "npm:^2.1.1" + serve-index: "npm:^1.9.1" + sockjs: "npm:^0.3.24" + spdy: "npm:^4.0.2" + webpack-dev-middleware: "npm:^5.3.4" + ws: "npm:^8.13.0" + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + bin: + webpack-dev-server: bin/webpack-dev-server.js + checksum: 10c0/625bd5b79360afcf98782c8b1fd710b180bb0e96d96b989defff550c546890010ceea82ffbecb2a0a23f7f018bc72f2dee7b3070f7b448fb0110df6657fb2904 + languageName: node + linkType: hard + +"webpack-merge@npm:^5.9.0": + version: 5.10.0 + resolution: "webpack-merge@npm:5.10.0" + dependencies: + clone-deep: "npm:^4.0.1" + flat: "npm:^5.0.2" + wildcard: "npm:^2.0.0" + checksum: 10c0/b607c84cabaf74689f965420051a55a08722d897bdd6c29cb0b2263b451c090f962d41ecf8c9bf56b0ab3de56e65476ace0a8ecda4f4a4663684243d90e0512b + languageName: node + linkType: hard + +"webpack-merge@npm:^6.0.1": + version: 6.0.1 + resolution: "webpack-merge@npm:6.0.1" + dependencies: + clone-deep: "npm:^4.0.1" + flat: "npm:^5.0.2" + wildcard: "npm:^2.0.1" + checksum: 10c0/bf1429567858b353641801b8a2696ca0aac270fc8c55d4de8a7b586fe07d27fdcfc83099a98ab47e6162383db8dd63bb8cc25b1beb2ec82150422eec843b0dc0 + languageName: node + linkType: hard + +"webpack-sources@npm:^3.2.3": + version: 3.2.3 + resolution: "webpack-sources@npm:3.2.3" + checksum: 10c0/2ef63d77c4fad39de4a6db17323d75eb92897b32674e97d76f0a1e87c003882fc038571266ad0ef581ac734cbe20952912aaa26155f1905e96ce251adbb1eb4e + languageName: node + linkType: hard + +"webpack@npm:^5.88.1, webpack@npm:^5.95.0": + version: 5.99.8 + resolution: "webpack@npm:5.99.8" + dependencies: + "@types/eslint-scope": "npm:^3.7.7" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" + "@webassemblyjs/ast": "npm:^1.14.1" + "@webassemblyjs/wasm-edit": "npm:^1.14.1" + "@webassemblyjs/wasm-parser": "npm:^1.14.1" + acorn: "npm:^8.14.0" + browserslist: "npm:^4.24.0" + chrome-trace-event: "npm:^1.0.2" + enhanced-resolve: "npm:^5.17.1" + es-module-lexer: "npm:^1.2.1" + eslint-scope: "npm:5.1.1" + events: "npm:^3.2.0" + glob-to-regexp: "npm:^0.4.1" + graceful-fs: "npm:^4.2.11" + json-parse-even-better-errors: "npm:^2.3.1" + loader-runner: "npm:^4.2.0" + mime-types: "npm:^2.1.27" + neo-async: "npm:^2.6.2" + schema-utils: "npm:^4.3.2" + tapable: "npm:^2.1.1" + terser-webpack-plugin: "npm:^5.3.11" + watchpack: "npm:^2.4.1" + webpack-sources: "npm:^3.2.3" + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack: bin/webpack.js + checksum: 10c0/c4852c3b795ed3fba799d2925802a4e259b2de7c2c597f0aaf0e228acfdc6755389ed8c29f1dad86610a9c6ad968c0b57c702b93891d60f09d302af63b2debe0 + languageName: node + linkType: hard + +"webpackbar@npm:^6.0.1": + version: 6.0.1 + resolution: "webpackbar@npm:6.0.1" + dependencies: + ansi-escapes: "npm:^4.3.2" + chalk: "npm:^4.1.2" + consola: "npm:^3.2.3" + figures: "npm:^3.2.0" + markdown-table: "npm:^2.0.0" + pretty-time: "npm:^1.1.0" + std-env: "npm:^3.7.0" + wrap-ansi: "npm:^7.0.0" + peerDependencies: + webpack: 3 || 4 || 5 + checksum: 10c0/8dfa2c55f8122f729c7efd515a2b50fb752c0d0cb27ec2ecdbc70d90a86d5f69f466c9c5d01004f71b500dafba957ecd4413fca196a98cf99a39b705f98cae97 + languageName: node + linkType: hard + +"websocket-driver@npm:>=0.5.1, websocket-driver@npm:^0.7.4": + version: 0.7.4 + resolution: "websocket-driver@npm:0.7.4" + dependencies: + http-parser-js: "npm:>=0.5.1" + safe-buffer: "npm:>=5.1.0" + websocket-extensions: "npm:>=0.1.1" + checksum: 10c0/5f09547912b27bdc57bac17b7b6527d8993aa4ac8a2d10588bb74aebaf785fdcf64fea034aae0c359b7adff2044dd66f3d03866e4685571f81b13e548f9021f1 + languageName: node + linkType: hard + +"websocket-extensions@npm:>=0.1.1": + version: 0.1.4 + resolution: "websocket-extensions@npm:0.1.4" + checksum: 10c0/bbc8c233388a0eb8a40786ee2e30d35935cacbfe26ab188b3e020987e85d519c2009fe07cfc37b7f718b85afdba7e54654c9153e6697301f72561bfe429177e0 + languageName: node + linkType: hard + +"which@npm:^1.3.1": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: "npm:^2.0.0" + bin: + which: ./bin/which + checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b + languageName: node + linkType: hard + +"widest-line@npm:^4.0.1": + version: 4.0.1 + resolution: "widest-line@npm:4.0.1" + dependencies: + string-width: "npm:^5.0.1" + checksum: 10c0/7da9525ba45eaf3e4ed1a20f3dcb9b85bd9443962450694dae950f4bdd752839747bbc14713522b0b93080007de8e8af677a61a8c2114aa553ad52bde72d0f9c + languageName: node + linkType: hard + +"wildcard@npm:^2.0.0, wildcard@npm:^2.0.1": + version: 2.0.1 + resolution: "wildcard@npm:2.0.1" + checksum: 10c0/08f70cd97dd9a20aea280847a1fe8148e17cae7d231640e41eb26d2388697cbe65b67fd9e68715251c39b080c5ae4f76d71a9a69fa101d897273efdfb1b58bf7 + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.0.1, wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"write-file-atomic@npm:^3.0.3": + version: 3.0.3 + resolution: "write-file-atomic@npm:3.0.3" + dependencies: + imurmurhash: "npm:^0.1.4" + is-typedarray: "npm:^1.0.0" + signal-exit: "npm:^3.0.2" + typedarray-to-buffer: "npm:^3.1.5" + checksum: 10c0/7fb67affd811c7a1221bed0c905c26e28f0041e138fb19ccf02db57a0ef93ea69220959af3906b920f9b0411d1914474cdd90b93a96e5cd9e8368d9777caac0e + languageName: node + linkType: hard + +"ws@npm:^7.3.1": + version: 7.5.10 + resolution: "ws@npm:7.5.10" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d + languageName: node + linkType: hard + +"ws@npm:^8.13.0": + version: 8.18.2 + resolution: "ws@npm:8.18.2" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/4b50f67931b8c6943c893f59c524f0e4905bbd183016cfb0f2b8653aa7f28dad4e456b9d99d285bbb67cca4fedd9ce90dfdfaa82b898a11414ebd66ee99141e4 + languageName: node + linkType: hard + +"xdg-basedir@npm:^5.0.1, xdg-basedir@npm:^5.1.0": + version: 5.1.0 + resolution: "xdg-basedir@npm:5.1.0" + checksum: 10c0/c88efabc71ffd996ba9ad8923a8cc1c7c020a03e2c59f0ffa72e06be9e724ad2a0fccef488757bc6ed3d8849d753dd25082d1035d95cb179e79eae4d034d0b80 + languageName: node + linkType: hard + +"xml-js@npm:^1.6.11": + version: 1.6.11 + resolution: "xml-js@npm:1.6.11" + dependencies: + sax: "npm:^1.2.4" + bin: + xml-js: ./bin/cli.js + checksum: 10c0/c83631057f10bf90ea785cee434a8a1a0030c7314fe737ad9bf568a281083b565b28b14c9e9ba82f11fc9dc582a3a907904956af60beb725be1c9ad4b030bc5a + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yaml@npm:^1.7.2": + version: 1.10.2 + resolution: "yaml@npm:1.10.2" + checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard + +"yocto-queue@npm:^1.0.0": + version: 1.2.1 + resolution: "yocto-queue@npm:1.2.1" + checksum: 10c0/5762caa3d0b421f4bdb7a1926b2ae2189fc6e4a14469258f183600028eb16db3e9e0306f46e8ebf5a52ff4b81a881f22637afefbef5399d6ad440824e9b27f9f + languageName: node + linkType: hard + +"zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": + version: 2.0.4 + resolution: "zwitch@npm:2.0.4" + checksum: 10c0/3c7830cdd3378667e058ffdb4cf2bb78ac5711214e2725900873accb23f3dfe5f9e7e5a06dcdc5f29605da976fc45c26d9a13ca334d6eea2245a15e77b8fc06e + languageName: node + linkType: hard From a27c77aef1e75774fc63974afa4673275d29f877 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 10 Jun 2025 15:53:15 -0700 Subject: [PATCH 058/303] wip --- docs/glossary.md | 2 + docs/local-build/create-subnet.md | 2 - docs/miners/index.md | 96 ++++++++++------- docs/subnets/create-a-subnet.md | 166 ++++++++---------------------- docs/validators/index.md | 111 +++++++++++++------- docs/yc3-blog.md | 2 +- docs/yuma-consensus.md | 7 -- 7 files changed, 181 insertions(+), 205 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index e7936f0907..8ba3655f8f 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -162,6 +162,8 @@ A data structure that contains comprehensive information about the current state The process of removing a poor-performing subnet miner from a UID slot, making room for a newly registered miner. +See [Mining in Bittensor: Miner Deregistration](./miners/#miner-deregistration) + ### Mnemonic A sequence of words used to regenerate keys, in case of loss, and restore coldkeys and hotkeys in the Bittensor wallet. diff --git a/docs/local-build/create-subnet.md b/docs/local-build/create-subnet.md index 66bc33b2c9..f6ed712a54 100644 --- a/docs/local-build/create-subnet.md +++ b/docs/local-build/create-subnet.md @@ -46,8 +46,6 @@ btcli wallet transfer \ ``` - - #### Network Rate Limit Error If you see a network rate limit error, you may need to adjust the `SubtensorInitialNetworkRateLimit` chain state parameter. diff --git a/docs/miners/index.md b/docs/miners/index.md index 3ef30ea21e..4840719d38 100644 --- a/docs/miners/index.md +++ b/docs/miners/index.md @@ -9,9 +9,9 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; ## Choosing a subnet -All mining in Bittensor occurs within a subnet. Each subnet independently produces the digital commodities that are its purpose, each subnet creator defining a different *incentive mechanism* for validators to use in judging miners' work. It is validators scores of miners' performance, according to this incentive mechanism, that determines the proportion of the subnet's emissions allocated to each miner. See [Emissions](../emissions.md). +All mining in Bittensor occurs within a subnet. Each subnet independently produces the digital commodities that are its purpose, each subnet creator defining a different _incentive mechanism_ for validators to use in judging miners' work. It is validators scores of miners' performance, according to this incentive mechanism, that determines the proportion of the subnet's emissions allocated to each miner. See [Emissions](../emissions.md). -Mining in Bittensor is not like mining Bitcoin or many other blockchains, it is active, creative, and competitive. Preparing to be a subnet miner involves researching the right subnet(s) for *you* to mine, given your own expertise and access to hardware. +Mining in Bittensor is not like mining Bitcoin or many other blockchains, it is active, creative, and competitive. Preparing to be a subnet miner involves researching the right subnet(s) for _you_ to mine, given your own expertise and access to hardware. Browse the subnets and explore links to their code repositories on [TAO.app' subnets listings](https://tao.app). @@ -23,7 +23,7 @@ Mining is not supported on Windows. ## Miner registration -To participate as a miner, you must first register your keys with the subnet in order to receive a UID on that subnet. +To participate as a miner, you must first register a hotkey with the subnet in order to receive a UID on that subnet. :::tip No need to create a subnet to mine You **do not** have to create a subnet to mine on the Bittensor network. Most miners work on established subnets. @@ -36,7 +36,7 @@ A subnet can have a maximum of 64 subnet validator UIDs and 192 subnet miner UID Upon registration, your hotkey, which is part of your wallet, becomes the holder of the UID slot. :::tip Ownership belongs to a hotkey -When you delegate your TAO to a subnet validator, you attach your delegated TAO to that validator’s hotkey. See [Delegation](../staking-and-delegation/delegation.md). +When you delegate your TAO to a subnet validator, you attach your delegated TAO to that validator’s hotkey. See [Delegation](../staking-and-delegation/delegation.md). A hotkey can hold multiple UIDs across **separate** subnets. However, within one subnet, each UID must have a unique hotkey. ::: @@ -49,25 +49,48 @@ btcli subnet register --netuid --wallet.name + + -## Prerequisites - -To create a subnet, whether locally, on testchain, or on mainchain, make sure that: - -- You [installed Bittensor](../getting-started/installation.md). -- You have already [created a wallet or know how to create one](../getting-started/wallets.md#creating-a-local-wallet). +```shell +btcli subnet burn-cost --network finney +``` + + -:::tip Registering vs creating vs purchasing a slot -In Bittensor, when we say "registering your keys in a subnet", it means purchasing a UID slot in the subnet, and you will then either validate or mine on this UID. This step is also referred to as **purchasing a slot**. On the other hand, "creating a subnet" will create a subnet and give you its `netuid`. +```shell +btcli subnet burn-cost --network test +``` + + ::: -## Creating a local subnet +### A new subnet is not automatically active -You must also run a local Bittensor blockchain to create and run a local subnet. Running a local blockchain is sometimes synonymously referred to as **running on staging**. Running a local blockchain spins up two authority nodes locally, not connected to any other Bittensor blockchain nodes either on testchain or mainchain. +To allow subnet owners to fully set up their subnets and to prevent extraction of emissions to subnet participants before the subnet is contributing to the network, new subnets are inactive and cannot be started for 7 * 7200 blocks (roughly one week) after they are registered. During this time, you can register and activate validators and invite miners into the subnet. -:::tip Do not run a public subtensor node for a local subnet -Running a local blockchain is **different** from running a public subtensor node. While a local blockchain node is not connected to any other Bittensor nodes, a public subtensor node will connect to the Bittensor network, testchain, or mainchain as per how you run the subtensor node and sync with the network, giving you your own access point to the Bittensor network. **To create a local subnet, do not run a public subtensor; instead, only run a local blockchain.** +:::info +The subnet and its participants will receive **no emissions** during the time that the subnet is inactive. ::: -### Step 1. Install and run a local blockchain node - -Follow the [Bittensor Subnet Template document](https://github.com/opentensor/bittensor-subnet-template/blob/main/docs/running_on_staging.md) and run the below specified steps: -- From and including [Step 1 Installing substrate dependencies](https://github.com/opentensor/bittensor-subnet-template/blob/main/docs/running_on_staging.md#1-install-substrate-dependencies). -- To and including [Step 5 Initialize](https://github.com/opentensor/bittensor-subnet-template/blob/main/docs/running_on_staging.md#5-initialize). - -The above steps will install and run a local blockchain node. Furthermore, when built with the `--features pow-faucet` flag, as instructed in the above **Step 5. Initialize**, the local blockchain node will provide the faucet feature, which you can use to mint test tokens. - -### Step 2. Create wallet +### Validating in your own subnet -If you have not already done so, create Bittensor wallet(s) using the steps described in the [Create Wallet](../getting-started/wallets.md) guide. +You must meet the same [requirements for validation](../validators#requirements-for-validation) as other validators in order to set weights in your own subnet. -### Step 3. Mint tokens from the faucet - -You will need tokens to register the subnet (which you will create below) on your local blockchain. Run the following command to mint faucet tokens (fake TAO). -```bash -btcli wallet faucet --wallet.name --subtensor.chain_endpoint ws://127.0.0.1:9946 -``` -Output: -```bash ->> Balance: τ0.000000000 ➡ τ100.000000000 -``` +One option for subnet owners is to ask one of the root network (subnet 0) validators to parent your validator hotkey as a childkey of theirs. This will lend their stake to your validator, and can help you ensure that your validator maintains a sufficient stake to effectively participate in consensus as well as resist deregistration. See the [Child Hotkeys](./child-hotkeys) documentation for more detail. -### Step 4. Create the subnet +### Subnet creation rate limits -Run the below command to create a new subnet on your local chain. The cost will be exactly τ100.000000000 for the first subnet you create. +Subnet creations are limited to **one subnet creation per 7200 blocks** (approximately one per day). The cost to register a new subnet is also dynamic. For these reason, picking the right time to create your subnet requires planning. -```bash -btcli subnet create --wallet.name owner --subtensor.chain_endpoint ws://127.0.0.1:9946 -``` -Output: -```bash ->> Your balance is: τ200.000000000 ->> Do you want to register a subnet for τ100.000000000? [y/n]: ->> Enter password to unlock key: [YOUR_PASSWORD] ->> ✅ Registered subnetwork with netuid: 1 -``` +## Prerequisites -The local chain will now have registered a default `netuid` of 1. A second registration will create `netuid` 2, and so on, until you reach the subnet limit of 8. If you create the 9th subnet, the subnet with the least staked TAO will be replaced with the newly created subnet, thereby maintaining the total subnet count to 8. +- [Install the most recent version of BTCLI](../getting-started/install-btcli). +- [Created a wallet](../getting-started/wallets.md#creating-a-local-wallet). +- To create a subnet on test chain, your wallet must have sufficient test net TAO. Inquire in [Discord](https://discord.com/channels/799672011265015819/1107738550373454028/threads/1331693251589312553) to obtain TAO on Bittensor test network. +- To create a subnet on main network (finney) requires a substantial investment of TAO, depending on current registration cost for new subnets. ## Creating a subnet on testchain -You do not need to run a local blockchain node to create a testchain subnet. Instead, your subnet will connect to the Bittensor testchain. - -Creating a subnet on the testchain is competitive. Though you will only use the faucet TAO tokens for the testchain, the cost to create a subnet is determined by the rate at which new subnets are registered onto the testchain. - -By default, you must have at least 100 test TAO in your owner wallet to create a subnet. However, the exact amount will fluctuate based on demand. Follow the below steps. - -### Step 1. Create wallet - -If you have not already done so, create Bittensor wallet(s) using the steps described in the [Create Wallet](../getting-started/wallets.md) guide. - -### Step 2. Get the current price - -```bash -btcli subnet burn-cost --subtensor.network test -``` -Output: -```bash ->> Subnet lock cost: τ100.000000000 -``` - -### Step 3. Get faucet tokens - -The faucet is disabled on the testchain. Hence, if you don't have sufficient faucet tokens, ask the [Bittensor Discord community](https://discord.com/channels/799672011265015819/830068283314929684) for faucet tokens. - -### Step 4. Create the subnet - Create your new subnet on the testchain using the test TAO you received from the previous step. This will create a new subnet on the testchain and give you its owner permissions. -:::tip Your test TAO is returned when the subnet is deregistered -Subnet creation (subnet registration) on the testchain costs test TAO. You will get this test TAO back when the subnet is deregistered. -::: - Run the create subnet command on the testchain. ```bash -btcli subnet create --subtensor.network test +btcli subnet create --network test ``` Output: ```bash @@ -144,33 +89,11 @@ Output: ## Creating a subnet on mainchain -You do not need to run a local blockchain node to create a subnet on the mainchain. Instead, your subnet will connect to the Bittensor mainchain. Follow the below steps. - :::caution Alert: Minimum required TAO -Creating a subnet on the mainnet is competitive, and the cost is determined by the rate at which new networks are registered onto the chain. By default, you must have at least 100 TAO in your owner wallet to create a subnet on the mainchain. However, the exact amount will fluctuate based on demand. +Creating a subnet on the mainnet is competitive, and the cost is determined by the rate at which new networks are registered onto the chain. ::: -### Step 1. Create wallet - -If you have not already done so, create Bittensor wallet(s) using the steps described in the [Create Wallet](../getting-started/wallets.md) guide. - -### Step 2. Get the current price - -The code below shows how to get the current price of creating a subnet on the mainchain (when the `--subtensor.network` option is not used, then the `btcli` will default to the `mainchain`). - -```bash -btcli subnet burn-cost -``` -Output: -```bash ->> Subnet lock cost: τ100.000000000 -``` - -### Step 3. Create the subnet - -:::tip Your TAO is returned when the subnet is deregistered -Subnet creation (subnet registration) on the mainchain costs real TAO. You will get this TAO back when the subnet is deregistered. -::: +### Create the subnet Use the below command to create a new subnet on the mainchain. @@ -186,8 +109,7 @@ Output: ✅ Registered subnetwork with netuid: 1 # Your subnet netuid will show here, save this for later. ``` - -### Step 4. Check to see if you can start the subnet +### Check to see if you can start the subnet Use the below command to check whether the subnet can be started. @@ -199,7 +121,7 @@ Where "x" is the subnet ID. The output will provide you with the block registered and the block at which the subnet can be started, with "blocks remaining" and an estimated time. When this time has passed, the `check-start` command will return `Emission schedule can be started.` -### Step 5. Start the subnet +### Start the subnet Use the below command to start the subnet once `check-start` returns `Emission schedule can be started.` diff --git a/docs/validators/index.md b/docs/validators/index.md index 159f1f4e42..2c39063479 100644 --- a/docs/validators/index.md +++ b/docs/validators/index.md @@ -7,8 +7,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Validating in Bittensor - -All mining and validating in Bittensor occurs within a subnet. Each subnet independently produces the digital commodities that are its purpose, each subnet creator defining a different *incentive mechanism* for validators to use in judging miners' work. The validator's work is to apply this incentive mechanism to miners, using it to score their performance, and then to submit these weights to the Bittensor blockchain. It is validators scores of miners' performance that determines the proportion of the subnet's emissions allocated to each miner, according to the Yuma Consensus algorithm. See [Emissions](../emissions.md). +All mining and validating in Bittensor occur within a subnet. Each subnet independently produces the digital commodities that are its purpose, each subnet creator defining a different _incentive mechanism_ for validators to use in judging miners' work. The validator's work is to apply this incentive mechanism to miners, using it to score their performance, and then to submit these weights to the Bittensor blockchain. It is validators scores of miners' performance that determines the proportion of the subnet's emissions allocated to each miner, according to the Yuma Consensus algorithm. See [Emissions](../emissions.md). Browse the subnets and explore links to their code repositories on [TAO.app' subnets listings](https://tao.app). @@ -18,20 +17,30 @@ Each subnet may have distinct hardware requirements, but this [minimum requireme Validating is not supported on Windows. ::: +## How it works + +Each subnet on the Bittensor blockchain supports a maximum of 256 active nodes, with each node assigned a unique UID slot. Out of these, only the top 64 nodes by emissions are eligible to serve as validators by default. A subnet with 64 validators means that all 64 top-ranked nodes meet the necessary criteria and choose to participate as validators. + +To qualify as a validator, a node must have a validator permit. This permit is only granted to nodes within the top 64 and allows them to submit miner evaluations using `btcli weights commit` or the SDK's [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html#module-bittensor.core.extrinsics.set_weights) function. + +:::tip Dynamic Validator Threshold +The number of validators isn't hardcoded. The subnet governor has the authority to increase or decrease the maximum number of validators. Any change to this limit directly affects the number of nodes that can be issued a validator permit and, thus, act as validators. +::: + ## Requirements for validation -To have a **validator permit** in a given subnet, allowing you to submit miner evaluations using `btcli weights commit` or the SDK's [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html#module-bittensor.core.extrinsics.set_weights) function, you must meet the following requirements: +To have a **validator permit** in a given subnet, you must meet the following requirements: - Your hotkey must be registered, granting you a UID on the subnet - You must have a stake-weight on the subnet of least 1000, including stake delegated to your hotkey from other wallets' coldkeys. A validator's stake weight in a subnet equals their alpha stake plus their TAO stake times the `tao_weight` parameter (current value: 0.18): - $$ + $$ - \text{Validator stake weight} = \alpha + 0.18 \times \tau + \text{Validator stake weight} = \alpha + 0.18 \times \tau - $$ + $$ -- You must be one of the top 64 validators in the subnet, ranked by stake weight. +- You must be one of the top 64 nodes in the subnet, ranked by emissions. ## Hotkey Association & Staking (subnet 0, the root subnet, only) @@ -42,7 +51,8 @@ Skip this step if you are not registering a validator on the root subnet (subnet ```bash btcli wallet associate-hotkey --wallet.name --hotkey ``` -Add stake to your validator before registering: + +Add stake to your validator before registering: ```bash # Stake funds to your hotkey account within the subnet. @@ -51,17 +61,47 @@ btcli stake add --wallet.name --wallet.hotkey --wallet.name --hotkey ``` +## Validator deregistration + +Validators, like miners, can be deregistered if their emissions are low. However, validator deregistration involves additional steps compared to miner deregistration. This is because an active validator must be among the top 64 nodes in the subnet and, therefore, cannot be instantly "pruned" by a newly registered node. + +When a validator falls below the top 64 nodes by emissions, or has less than the required 1000 total stake weight, it loses its validation permit, but is not therefore automatically deregistered. If a validator loses its validation permit and has no means to gain emissions, it will eventually become the node with the lowest emission, making it eligible for deregistration. + +:::info +Deregistration only occurs on subnets where all 256 UID slots are occupied. If a new registration occurs in a subnet with available UID slots, the registered neuron occupies one of the available UID slots. +::: + +Each tempo, the '[neuron](../learn/bittensor-building-blocks)' (miner _or_ validator node) with the lowest 'pruning score' (based solely on emissions), and that is no longer within its [immunity period](../subnets/subnet-hyperparameters.md#immunityperiod), risks being replaced by a newly registered neuron, who takes over that UID. + +:::info Deregistration is based on emissions +The subnet does not distinguish between miners and validators for the purpose of deregistration. The chain only looks at emissions (represented as 'pruning score'). Whenever a new registration occurs in the subnet, the neuron with the lowest emissions will get deregistered. +::: + +### Immunity period + +Every subnet has an `immunity_period` hyperparameter expressed in a number of blocks. A neuron's `immunity_period` starts when the miner or validator registers into the subnet. For more information, see [`immunity_period`](../subnets/subnet-hyperparameters.md#immunityperiod). + +A subnet neuron (miner or validator) at a UID (in that subnet) has `immunity_period` blocks to improve its performance. When `immunity_period` expires, that miner or validator can be deregistered if it has the lowest performance in the subnet and a new registration arrives. + +:::tip Special cases + +- In the unlikely event that all neurons are still immune, the one with the lowest "pruning score" will be deregistered by the next incoming registration. + +- In cases where two or more nodes have the lowest "pruning score", the older node gets deregistered first. + +- The subnet owner's hotkey has permanent immunity from deregistration. + ::: + ## Acquiring stake A validator's consensus weight and emissions depend on their hotkey's stake weight. You can stake your own TAO to your validator hotkey, or advertise your hotkey to others and seek stake. Any wallet's coldkey can stake to any hotkey, subsequently receiving emissions from that stake. @@ -72,13 +112,12 @@ See [StakingDelegation](../staking-and-delegation/delegation.md) ### Add stake - ```bash # Stake funds to your hotkey account within the subnet. btcli stake add --wallet.name --wallet.hotkey ``` -### Calculate TAO required +### Calculate TAO required The amount of TAO needed to acquire a validator permit depends on how the other largest 64 wallets distribute TAO across themselves. You can calculate the minimum using [bt.metagraph](pathname:///python-api/html/autoapi/bittensor/core/metagraph/index.html): @@ -89,7 +128,7 @@ top_64_stake = sorted(subnet.S)[-64:] print (f'Current requirement for validator permits based on the top 64 stake stands at {min(top_64_stake)} tao') ``` -### Check the permit status +### Check the permit status Replace the string values for the `name` (``) and `hotkey` (``) with your own. This information can be obtained from the metagraph using your UID. @@ -112,24 +151,24 @@ btcli wallet overview --netuid After providing your wallet name at the prompt, you will see output like: -| Parameter | Value | Description | -| :---------- | :------------------- | :-------------------------------------------------------------------------- | -| COLDKEY | my_coldkey | The name of the coldkey associated with your slot. | -| HOTKEY | my_first_hotkey | The name of the hotkey associated with your slot. | -| UID | 5 | The index of the uid out of available uids. | -| ACTIVE | True | Whether or not the uid is considered active. | -| STAKE(τ) | 71.296 | The amount of stake in this wallet. | -| RANK | 0.0629 | This miner's absolute ranking according to validators on the network. | -| TRUST | 0.2629 | This miner's trust as a proportion of validators on the network. | -| CONSENSUS | 0.89 | This validator's aggregate consensus score. | -| INCENTIVE | 0.029 | This miner's incentive, TAO emission, is attained via mining. | -| DIVIDENDS | 0.001 | This validator's dividends, TAO emission, are attained via validating. | -| EMISSION | 29_340_153 | This miner's total emission in RAO (10^(-9) TAO) per block. | -| VTRUST | 0.96936 | This validator's trust score as a validator. | -| VPERMIT | * | Whether this miner is considered active for validating on this subnetwork. | -| UPDATED | 43 | Blocks since this miner set weights on the chain. | -| AXON | 131.186.56.85:8091 | The entrypoint advertised by this miner on the bittensor blockchain. | -| HOTKEY_SS58 | 5F4tQyWr... | The ss58-encoded address of the miner's hotkey. | +| Parameter | Value | Description | +| :---------- | :----------------- | :------------------------------------------------------------------------- | +| COLDKEY | my_coldkey | The name of the coldkey associated with your slot. | +| HOTKEY | my_first_hotkey | The name of the hotkey associated with your slot. | +| UID | 5 | The index of the uid out of available uids. | +| ACTIVE | True | Whether or not the uid is considered active. | +| STAKE(τ) | 71.296 | The amount of stake in this wallet. | +| RANK | 0.0629 | This miner's absolute ranking according to validators on the network. | +| TRUST | 0.2629 | This miner's trust as a proportion of validators on the network. | +| CONSENSUS | 0.89 | This validator's aggregate consensus score. | +| INCENTIVE | 0.029 | This miner's incentive, TAO emission, is attained via mining. | +| DIVIDENDS | 0.001 | This validator's dividends, TAO emission, are attained via validating. | +| EMISSION | 29_340_153 | This miner's total emission in RAO (10^(-9) TAO) per block. | +| VTRUST | 0.96936 | This validator's trust score as a validator. | +| VPERMIT | \* | Whether this miner is considered active for validating on this subnetwork. | +| UPDATED | 43 | Blocks since this miner set weights on the chain. | +| AXON | 131.186.56.85:8091 | The entrypoint advertised by this miner on the bittensor blockchain. | +| HOTKEY_SS58 | 5F4tQyWr... | The ss58-encoded address of the miner's hotkey. | ### Meaning of ACTIVE @@ -146,7 +185,7 @@ Use any of the Python code fragments below: ```python import bittensor as bt -# Replace below with your SS58 hotkey +# Replace below with your SS58 hotkey hotkey = "5HEo565WAy4Dbq3Sv271SAi7syBSofyfhhwRNjFNSM2gP9M2" network = "finney" sub = bt.subtensor(network) @@ -157,7 +196,7 @@ print(f"Registration status for hotkey {hotkey} is: {sub.is_hotkey_registered(ho ```python import bittensor as bt -# Replace below with your SS58 hotkey +# Replace below with your SS58 hotkey hotkey = "5HEo565WAy4Dbq3Sv271SAi7syBSofyfhhwRNjFNSM2gP9M2" network = "finney" netuid = 1 # subnet uid @@ -173,7 +212,7 @@ else: ```python import bittensor as bt -# Replace below with your SS58 hotkey +# Replace below with your SS58 hotkey hotkey = "5HEo565WAy4Dbq3Sv271SAi7syBSofyfhhwRNjFNSM2gP9M2" network = "finney" netuid = 1 # subnet uid diff --git a/docs/yc3-blog.md b/docs/yc3-blog.md index 6c0e6a4229..d63b8d08b4 100644 --- a/docs/yc3-blog.md +++ b/docs/yc3-blog.md @@ -4,7 +4,7 @@ title: "How Yuma Consensus 3 Makes Bittensor More Fair" # How Yuma Consensus 3 Makes Bittensor More Fair -YC3 is the next evolution of Bittensor's consensus mechanism, designed to reward miner innovation and early recognition by validators. +YC3 is the next evolution of Bittensor's consensus mechanism. It optimizes emissions to reward validators for recognizing innovation quickly. ## Introduction: Understanding Yuma Consensus diff --git a/docs/yuma-consensus.md b/docs/yuma-consensus.md index 9e24d29000..c5e57c42e8 100644 --- a/docs/yuma-consensus.md +++ b/docs/yuma-consensus.md @@ -13,7 +13,6 @@ Each of a subnet's validators periodically submit a vector of weights ranking th The algorithm is designed to more heavily weight the inputs of more trusted validators, in order to ignore the portion of the validation signal that is less reliable. By disregarding unreliable weight-settings, YC incentivizes validators to be worthy of trust by working hard to give consistent, fast, honest evaluations of miners that predict the eventual convergence of other validators' evaluations. YC incentivizes miners to work hard for the highest combined evaluation by the community of validators. See: -- [How Yuma Consensus 3 Makes Bittensor More Fair](./yc3-blog) - [Emissions](./emissions) - [Subtensor Docs: Yuma Consensus](https://github.com/opentensor/subtensor/blob/main/docs/consensus.md) @@ -96,12 +95,6 @@ Validators who stay near consensus build stronger EMA bonds and thus extract mor The $\alpha$ variable here is unrelated to the concept of subnet specific currencies, referred to as alpha $\alpha$ tokens. Here $\alpha$ refers to a factor used in this EMA smoothing function—see [consensus-based weights, a.k.a. liquid alpha](./subnets/consensus-based-weights.md). ::: -:::info -Yuma Consensus 3 introduces **per-bond alpha scaling** where each validator-miner pair gets its own α value rather than using a uniform rate. When Liquid Alpha is enabled, the system calculates individual alpha values using a sigmoid function based on the difference between a validator's current weights and network consensus. This allows validators to start accumulating bonds independently, rewarding early recognition of promising miners while maintaining anti-fraud protection. - -See [How Yuma Consensus 3 Makes Bittensor More Fair](./yc3-blog) -::: - ## Validator emissions Each validator $i$’s share $V_i$ of validator emissions (41% of each subnet's total emissions) is the sum of all of its bonds to miners, weighted by the miner's total emissions: From 45ad9bc8cdada6e6ad48ac286f533427e54fd5b0 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 10 Jun 2025 16:16:30 -0700 Subject: [PATCH 059/303] wip --- docs/yc3-migration.md | 222 +++++++++++++++++++++++++++++++++++++++++ docs/yuma-consensus.md | 1 + sidebars.js | 4 +- 3 files changed, 226 insertions(+), 1 deletion(-) create mode 100644 docs/yc3-migration.md diff --git a/docs/yc3-migration.md b/docs/yc3-migration.md new file mode 100644 index 0000000000..8bf23f893b --- /dev/null +++ b/docs/yc3-migration.md @@ -0,0 +1,222 @@ +--- +title: "Yuma Consensus 3 (YC3) Migration Guide" +--- + +# Yuma Consensus 3 (YC3) Migration Guide + +Yuma Consensus 3 (YC3) is the latest version of the Yuma Consensus mechanism with significant improvements to validator fairness, bond mechanics, and precision handling. This guide will help subnet owners understand what's changed and how to migrate. + +See also: +- [How Yuma Consensus 3 Makes Bittensor More Fair](../yc3-blog.md) - Technical deep dive and mathematical foundations +- [Subnet Hyperparameters](./subnet-hyperparameters.md) - Complete parameter reference +- [Yuma Consensus](../yuma-consensus.md) - Understanding the consensus mechanism +- [Subnet Creation](./create-a-subnet.md) - Creating new subnets with YC3 + +## What is YC3? + +YC3 is a drop-in replacement for the existing Yuma Consensus mechanism that addresses several critical issues while maintaining backward compatibility. Most subnet owners won't need to make any changes - the upgrade is designed to be seamless. + +The most significant innovation in YC3 is per-bond EMA scaling: each validator-miner bond pair now gets its own adjustment rate (alpha value) rather than using a single rate for all bonds. This allows individual relationships to evolve at different speeds based on performance and consensus differences. + +## Key Improvements in YC3 + +### 1. Fair Validator Treatment +- Problem Fixed: Small validators were previously penalized simply for being small due to rounding issues +- YC3 Solution: Bond values are now computed using fixed-point arithmetic and converted to u16 for storage efficiency, allowing precise fractional relationships while maintaining a 0-65535 storage scale + +### 2. Bond Precision Issues +- Problem Fixed: 16-bit integer precision was insufficient for bond accumulation, causing some validators to receive no bonds despite giving weight to miners +- YC3 Solution: Enhanced precision handling with fixed-point arithmetic ensures all validators receive appropriate bond allocations + +### 3. Bond Upscaling and Decay +- Problem Fixed: Bond upscaling from the pump and bond decay when consensus is zero were causing unfair distributions +- YC3 Solution: Fixed bond mechanics with enhanced EMA smoothing ensure more predictable and fair reward distribution + +### 4. Early Recognition Rewards +- New Feature: Validators who identify promising miners before they become widely recognized can now start accumulating bonds early through individual alpha values +- Technical Implementation: The alpha sigmoid function calculates adjustment rates based on the difference between a validator's current weights and network consensus + +### 5. Enhanced Tunability +- New Feature: Additional parameters allow subnet owners to fine-tune their consensus mechanisms +- Backward Compatible: Existing subnets continue to work with default settings + +## Migration Process + +### Automatic Migration +YC3 is designed as a drop-in replacement. For most subnet owners: + +1. No action required - Your subnet will continue to function normally +2. Validators and miners don't need to update their code +3. Existing configurations remain valid + +### Enabling YC3 (Optional) +If you want to explicitly enable YC3 features on your subnet: + +```bash +# View current YC3 status +btcli subnet hyperparameters --netuid YOUR_NETUID + +# Enable YC3 (if not already enabled) +btcli sudo set --param YC3_enabled --value true --netuid YOUR_NETUID +``` + +### Liquid Alpha Integration +YC3 works seamlessly with Liquid Alpha when specific conditions are met: +1. Liquid Alpha must be enabled for the subnet +2. Consensus values must exist and contain non-zero values +3. The network must have sufficient activity + +When these conditions are satisfied, validators receive additional rewards for voting for miners that aren't yet receiving votes from others. + +```bash +# Enable Liquid Alpha (enhances YC3 benefits) +btcli sudo set --param liquid_alpha_enabled --value true --netuid YOUR_NETUID +``` + +## New Tunable Parameters + +YC3 introduces additional hyperparameters for advanced subnet customization: + +### Alpha Sigmoid Steepness +Controls the steepness of the alpha sigmoid function, affecting reward distribution curves and how quickly bonds adjust to weight changes. + +```bash +# Set alpha sigmoid steepness +btcli sudo set --param alpha_sigmoid_steepness --value YOUR_VALUE --netuid YOUR_NETUID +``` + +### Bonds Moving Average +The adjustment rate is controlled by the bonds moving average parameter, which can be configured up to 97.5% (meaning bonds change by 2.5% per epoch toward their target values). + +```bash +# Adjust bond smoothing (typical value: 975000 for 2.5% per epoch) +btcli sudo set --param bonds_moving_avg --value 975000 --netuid YOUR_NETUID +``` + +### Alpha High/Low Parameters +Fine-tune the range of alpha values used in the sigmoid function: + +```bash +# Set alpha range parameters +btcli sudo set --param alpha_high --value YOUR_VALUE --netuid YOUR_NETUID +btcli sudo set --param alpha_low --value YOUR_VALUE --netuid YOUR_NETUID +``` + +## Real-World Example: Subnet 2 + +Subnet 2 successfully migrated to YC3 with the following experience: +- Migration: Seamless activation +- Stabilization: Required a couple of tempo periods to stabilize +- Current Status: Fully operational with improved fairness +- Key Benefit: Small validators now receive fair rewards proportional to their contributions + +## Expected Timeline + +- Current: YC3 is live and being adopted by subnets +- Recommendation: Monitor your subnet's performance after the network upgrade +- Timeline: No forced migration deadline - subnets can adopt when ready + +## Monitoring Your Migration + +After YC3 is active on your subnet, monitor these metrics: + +### Validator Performance +- Check that small validators are receiving appropriate rewards +- Verify bond accumulation is working correctly for all validator sizes +- Monitor individual alpha values being applied to validator-miner pairs + +### Bond Distribution +- Monitor bond allocation patterns +- Ensure no validators are experiencing zero-bond issues +- Check that early recognition is being rewarded appropriately + +### Consensus Behavior +- Watch for improved stability in consensus calculations +- Check that bond decay behavior is more predictable +- Monitor the effectiveness of Liquid Alpha if enabled + +## Troubleshooting + +### Common Issues + +#### Stabilization Period +- Symptom: Temporary fluctuations in rewards after migration +- Solution: Allow 2-3 tempo periods for the system to stabilize +- Expected: This is normal behavior during the transition as bonds adjust to new alpha values + +#### Zero Bond Issues (Pre-YC3) +- Symptom: Validators giving weight but receiving no bonds +- Solution: YC3 fixes this automatically through improved precision and individual alpha scaling + +#### Liquid Alpha Not Working +- Symptom: Expected early recognition rewards not materializing +- Check: Ensure Liquid Alpha is enabled and consensus values exist +- Solution: Verify network activity meets minimum thresholds for Liquid Alpha operation + +### Getting Help + +If you experience issues during migration: + +1. Check the logs for any error messages +2. Monitor for 2-3 tempo periods to allow stabilization +3. Compare metrics before and after migration +4. Verify parameter settings using `btcli subnet hyperparameters` +5. Reach out to the Bittensor community for support + +## Advanced Configuration + +### Custom Parameter Tuning + +For subnet owners who want to leverage YC3's enhanced tunability: + +```bash +# Example: Fine-tune consensus behavior +btcli sudo set --param bonds_moving_avg --value YOUR_VALUE --netuid YOUR_NETUID + +# Example: Adjust alpha parameters for different reward curves +btcli sudo set --param alpha_sigmoid_steepness --value YOUR_VALUE --netuid YOUR_NETUID +btcli sudo set --param alpha_high --value YOUR_VALUE --netuid YOUR_NETUID +btcli sudo set --param alpha_low --value YOUR_VALUE --netuid YOUR_NETUID +``` + +:::tip Parameter Values +Most users will benefit from using values of 0 or 1 for boolean parameters rather than intermediate values, though intermediate values are supported. For numeric parameters, start with default values and adjust gradually. +::: + +### Testing Configuration + +Before applying changes to your mainnet subnet: + +1. Test parameter changes on testnet first +2. Monitor impact over multiple tempo periods +3. Document baseline performance before changes +4. Have a rollback plan for parameter reversion + +## Benefits After Migration + +### For Validators +- Fairer rewards regardless of validator size through fixed-point arithmetic +- More predictable bond accumulation with individual alpha values +- Improved precision in reward calculations eliminating rounding issues +- Early recognition rewards for identifying promising miners first + +### For Subnet Owners +- More tunable parameters for customization including alpha sigmoid controls +- Better consensus stability through enhanced EMA smoothing +- Enhanced control over reward distribution curves +- Compatibility with Liquid Alpha for additional validator incentives + +### For the Network +- More equitable participation incentives encouraging smaller validators +- Reduced barriers for smaller validators through precision improvements +- Improved overall consensus quality through better bond mechanics +- Innovation incentives through early recognition rewards + +## Next Steps + +1. Monitor your subnet's current performance metrics +2. Consider enabling Liquid Alpha to enhance YC3 benefits +3. Plan for optional parameter tuning if desired +4. Stay updated on additional YC3 features as they're released +5. Consider the new parameters for optimizing your subnet's specific use case +6. Test advanced configurations on testnet before mainnet deployment \ No newline at end of file diff --git a/docs/yuma-consensus.md b/docs/yuma-consensus.md index 9e24d29000..2ecc39ef74 100644 --- a/docs/yuma-consensus.md +++ b/docs/yuma-consensus.md @@ -14,6 +14,7 @@ The algorithm is designed to more heavily weight the inputs of more trusted vali See: - [How Yuma Consensus 3 Makes Bittensor More Fair](./yc3-blog) +- [Yuma Consensus 3 Migration Guide](./yc3-migration) - [Emissions](./emissions) - [Subtensor Docs: Yuma Consensus](https://github.com/opentensor/subtensor/blob/main/docs/consensus.md) diff --git a/sidebars.js b/sidebars.js index 7ccb2e9d67..a187115c9b 100644 --- a/sidebars.js +++ b/sidebars.js @@ -41,7 +41,9 @@ const sidebars = { "learn/anatomy-of-incentive-mechanism", "emissions", "yuma-consensus", - "yc3-blog" + "yc3-blog", + "yc3-migration" + ], }, { From 213f13d129d2973d1dd6c64b962afdd3f8ce59b8 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 10 Jun 2025 16:24:57 -0700 Subject: [PATCH 060/303] wip --- docs/{ => subnets}/yc3-blog.md | 0 docs/subnets/yuma3-migration-guide.md | 118 +++++++------- docs/yc3-migration.md | 222 -------------------------- 3 files changed, 59 insertions(+), 281 deletions(-) rename docs/{ => subnets}/yc3-blog.md (100%) delete mode 100644 docs/yc3-migration.md diff --git a/docs/yc3-blog.md b/docs/subnets/yc3-blog.md similarity index 100% rename from docs/yc3-blog.md rename to docs/subnets/yc3-blog.md diff --git a/docs/subnets/yuma3-migration-guide.md b/docs/subnets/yuma3-migration-guide.md index 9ad0549859..8bf23f893b 100644 --- a/docs/subnets/yuma3-migration-guide.md +++ b/docs/subnets/yuma3-migration-guide.md @@ -14,40 +14,40 @@ See also: ## What is YC3? -YC3 is a drop-in replacement for the existing Yuma Consensus mechanism that addresses several critical issues while maintaining backward compatibility. **Most subnet owners won't need to make any changes** - the upgrade is designed to be seamless. +YC3 is a drop-in replacement for the existing Yuma Consensus mechanism that addresses several critical issues while maintaining backward compatibility. Most subnet owners won't need to make any changes - the upgrade is designed to be seamless. -The most significant innovation in YC3 is **per-bond EMA scaling**: each validator-miner bond pair now gets its own adjustment rate (alpha value) rather than using a single rate for all bonds. This allows individual relationships to evolve at different speeds based on performance and consensus differences. +The most significant innovation in YC3 is per-bond EMA scaling: each validator-miner bond pair now gets its own adjustment rate (alpha value) rather than using a single rate for all bonds. This allows individual relationships to evolve at different speeds based on performance and consensus differences. ## Key Improvements in YC3 -### 1. **Fair Validator Treatment** -- **Problem Fixed**: Small validators were previously penalized simply for being small due to rounding issues -- **YC3 Solution**: Bond values are now computed using fixed-point arithmetic and converted to u16 for storage efficiency, allowing precise fractional relationships while maintaining a 0-65535 storage scale +### 1. Fair Validator Treatment +- Problem Fixed: Small validators were previously penalized simply for being small due to rounding issues +- YC3 Solution: Bond values are now computed using fixed-point arithmetic and converted to u16 for storage efficiency, allowing precise fractional relationships while maintaining a 0-65535 storage scale -### 2. **Bond Precision Issues** -- **Problem Fixed**: 16-bit integer precision was insufficient for bond accumulation, causing some validators to receive no bonds despite giving weight to miners -- **YC3 Solution**: Enhanced precision handling with fixed-point arithmetic ensures all validators receive appropriate bond allocations +### 2. Bond Precision Issues +- Problem Fixed: 16-bit integer precision was insufficient for bond accumulation, causing some validators to receive no bonds despite giving weight to miners +- YC3 Solution: Enhanced precision handling with fixed-point arithmetic ensures all validators receive appropriate bond allocations -### 3. **Bond Upscaling and Decay** -- **Problem Fixed**: Bond upscaling from the pump and bond decay when consensus is zero were causing unfair distributions -- **YC3 Solution**: Fixed bond mechanics with enhanced EMA smoothing ensure more predictable and fair reward distribution +### 3. Bond Upscaling and Decay +- Problem Fixed: Bond upscaling from the pump and bond decay when consensus is zero were causing unfair distributions +- YC3 Solution: Fixed bond mechanics with enhanced EMA smoothing ensure more predictable and fair reward distribution -### 4. **Early Recognition Rewards** -- **New Feature**: Validators who identify promising miners before they become widely recognized can now start accumulating bonds early through individual alpha values -- **Technical Implementation**: The alpha sigmoid function calculates adjustment rates based on the difference between a validator's current weights and network consensus +### 4. Early Recognition Rewards +- New Feature: Validators who identify promising miners before they become widely recognized can now start accumulating bonds early through individual alpha values +- Technical Implementation: The alpha sigmoid function calculates adjustment rates based on the difference between a validator's current weights and network consensus -### 5. **Enhanced Tunability** -- **New Feature**: Additional parameters allow subnet owners to fine-tune their consensus mechanisms -- **Backward Compatible**: Existing subnets continue to work with default settings +### 5. Enhanced Tunability +- New Feature: Additional parameters allow subnet owners to fine-tune their consensus mechanisms +- Backward Compatible: Existing subnets continue to work with default settings ## Migration Process ### Automatic Migration -YC3 is designed as a **drop-in replacement**. For most subnet owners: +YC3 is designed as a drop-in replacement. For most subnet owners: -1. **No action required** - Your subnet will continue to function normally -2. **Validators and miners** don't need to update their code -3. **Existing configurations** remain valid +1. No action required - Your subnet will continue to function normally +2. Validators and miners don't need to update their code +3. Existing configurations remain valid ### Enabling YC3 (Optional) If you want to explicitly enable YC3 features on your subnet: @@ -105,16 +105,16 @@ btcli sudo set --param alpha_low --value YOUR_VALUE --netuid YOUR_NETUID ## Real-World Example: Subnet 2 Subnet 2 successfully migrated to YC3 with the following experience: -- **Migration**: Seamless activation -- **Stabilization**: Required a couple of tempo periods to stabilize -- **Current Status**: Fully operational with improved fairness -- **Key Benefit**: Small validators now receive fair rewards proportional to their contributions +- Migration: Seamless activation +- Stabilization: Required a couple of tempo periods to stabilize +- Current Status: Fully operational with improved fairness +- Key Benefit: Small validators now receive fair rewards proportional to their contributions ## Expected Timeline -- **Current**: YC3 is live and being adopted by subnets -- **Recommendation**: Monitor your subnet's performance after the network upgrade -- **Timeline**: No forced migration deadline - subnets can adopt when ready +- Current: YC3 is live and being adopted by subnets +- Recommendation: Monitor your subnet's performance after the network upgrade +- Timeline: No forced migration deadline - subnets can adopt when ready ## Monitoring Your Migration @@ -140,28 +140,28 @@ After YC3 is active on your subnet, monitor these metrics: ### Common Issues #### Stabilization Period -- **Symptom**: Temporary fluctuations in rewards after migration -- **Solution**: Allow 2-3 tempo periods for the system to stabilize -- **Expected**: This is normal behavior during the transition as bonds adjust to new alpha values +- Symptom: Temporary fluctuations in rewards after migration +- Solution: Allow 2-3 tempo periods for the system to stabilize +- Expected: This is normal behavior during the transition as bonds adjust to new alpha values #### Zero Bond Issues (Pre-YC3) -- **Symptom**: Validators giving weight but receiving no bonds -- **Solution**: YC3 fixes this automatically through improved precision and individual alpha scaling +- Symptom: Validators giving weight but receiving no bonds +- Solution: YC3 fixes this automatically through improved precision and individual alpha scaling #### Liquid Alpha Not Working -- **Symptom**: Expected early recognition rewards not materializing -- **Check**: Ensure Liquid Alpha is enabled and consensus values exist -- **Solution**: Verify network activity meets minimum thresholds for Liquid Alpha operation +- Symptom: Expected early recognition rewards not materializing +- Check: Ensure Liquid Alpha is enabled and consensus values exist +- Solution: Verify network activity meets minimum thresholds for Liquid Alpha operation ### Getting Help If you experience issues during migration: -1. **Check the logs** for any error messages -2. **Monitor for 2-3 tempo periods** to allow stabilization -3. **Compare metrics** before and after migration -4. **Verify parameter settings** using `btcli subnet hyperparameters` -5. **Reach out** to the Bittensor community for support +1. Check the logs for any error messages +2. Monitor for 2-3 tempo periods to allow stabilization +3. Compare metrics before and after migration +4. Verify parameter settings using `btcli subnet hyperparameters` +5. Reach out to the Bittensor community for support ## Advanced Configuration @@ -195,28 +195,28 @@ Before applying changes to your mainnet subnet: ## Benefits After Migration ### For Validators -- **Fairer rewards** regardless of validator size through fixed-point arithmetic -- **More predictable** bond accumulation with individual alpha values -- **Improved precision** in reward calculations eliminating rounding issues -- **Early recognition rewards** for identifying promising miners first +- Fairer rewards regardless of validator size through fixed-point arithmetic +- More predictable bond accumulation with individual alpha values +- Improved precision in reward calculations eliminating rounding issues +- Early recognition rewards for identifying promising miners first ### For Subnet Owners -- **More tunable parameters** for customization including alpha sigmoid controls -- **Better consensus stability** through enhanced EMA smoothing -- **Enhanced control** over reward distribution curves -- **Compatibility with Liquid Alpha** for additional validator incentives +- More tunable parameters for customization including alpha sigmoid controls +- Better consensus stability through enhanced EMA smoothing +- Enhanced control over reward distribution curves +- Compatibility with Liquid Alpha for additional validator incentives ### For the Network -- **More equitable** participation incentives encouraging smaller validators -- **Reduced barriers** for smaller validators through precision improvements -- **Improved overall** consensus quality through better bond mechanics -- **Innovation incentives** through early recognition rewards +- More equitable participation incentives encouraging smaller validators +- Reduced barriers for smaller validators through precision improvements +- Improved overall consensus quality through better bond mechanics +- Innovation incentives through early recognition rewards ## Next Steps -1. **Monitor** your subnet's current performance metrics -2. **Consider enabling Liquid Alpha** to enhance YC3 benefits -3. **Plan** for optional parameter tuning if desired -4. **Stay updated** on additional YC3 features as they're released -5. **Consider** the new parameters for optimizing your subnet's specific use case -6. **Test advanced configurations** on testnet before mainnet deployment +1. Monitor your subnet's current performance metrics +2. Consider enabling Liquid Alpha to enhance YC3 benefits +3. Plan for optional parameter tuning if desired +4. Stay updated on additional YC3 features as they're released +5. Consider the new parameters for optimizing your subnet's specific use case +6. Test advanced configurations on testnet before mainnet deployment \ No newline at end of file diff --git a/docs/yc3-migration.md b/docs/yc3-migration.md deleted file mode 100644 index 8bf23f893b..0000000000 --- a/docs/yc3-migration.md +++ /dev/null @@ -1,222 +0,0 @@ ---- -title: "Yuma Consensus 3 (YC3) Migration Guide" ---- - -# Yuma Consensus 3 (YC3) Migration Guide - -Yuma Consensus 3 (YC3) is the latest version of the Yuma Consensus mechanism with significant improvements to validator fairness, bond mechanics, and precision handling. This guide will help subnet owners understand what's changed and how to migrate. - -See also: -- [How Yuma Consensus 3 Makes Bittensor More Fair](../yc3-blog.md) - Technical deep dive and mathematical foundations -- [Subnet Hyperparameters](./subnet-hyperparameters.md) - Complete parameter reference -- [Yuma Consensus](../yuma-consensus.md) - Understanding the consensus mechanism -- [Subnet Creation](./create-a-subnet.md) - Creating new subnets with YC3 - -## What is YC3? - -YC3 is a drop-in replacement for the existing Yuma Consensus mechanism that addresses several critical issues while maintaining backward compatibility. Most subnet owners won't need to make any changes - the upgrade is designed to be seamless. - -The most significant innovation in YC3 is per-bond EMA scaling: each validator-miner bond pair now gets its own adjustment rate (alpha value) rather than using a single rate for all bonds. This allows individual relationships to evolve at different speeds based on performance and consensus differences. - -## Key Improvements in YC3 - -### 1. Fair Validator Treatment -- Problem Fixed: Small validators were previously penalized simply for being small due to rounding issues -- YC3 Solution: Bond values are now computed using fixed-point arithmetic and converted to u16 for storage efficiency, allowing precise fractional relationships while maintaining a 0-65535 storage scale - -### 2. Bond Precision Issues -- Problem Fixed: 16-bit integer precision was insufficient for bond accumulation, causing some validators to receive no bonds despite giving weight to miners -- YC3 Solution: Enhanced precision handling with fixed-point arithmetic ensures all validators receive appropriate bond allocations - -### 3. Bond Upscaling and Decay -- Problem Fixed: Bond upscaling from the pump and bond decay when consensus is zero were causing unfair distributions -- YC3 Solution: Fixed bond mechanics with enhanced EMA smoothing ensure more predictable and fair reward distribution - -### 4. Early Recognition Rewards -- New Feature: Validators who identify promising miners before they become widely recognized can now start accumulating bonds early through individual alpha values -- Technical Implementation: The alpha sigmoid function calculates adjustment rates based on the difference between a validator's current weights and network consensus - -### 5. Enhanced Tunability -- New Feature: Additional parameters allow subnet owners to fine-tune their consensus mechanisms -- Backward Compatible: Existing subnets continue to work with default settings - -## Migration Process - -### Automatic Migration -YC3 is designed as a drop-in replacement. For most subnet owners: - -1. No action required - Your subnet will continue to function normally -2. Validators and miners don't need to update their code -3. Existing configurations remain valid - -### Enabling YC3 (Optional) -If you want to explicitly enable YC3 features on your subnet: - -```bash -# View current YC3 status -btcli subnet hyperparameters --netuid YOUR_NETUID - -# Enable YC3 (if not already enabled) -btcli sudo set --param YC3_enabled --value true --netuid YOUR_NETUID -``` - -### Liquid Alpha Integration -YC3 works seamlessly with Liquid Alpha when specific conditions are met: -1. Liquid Alpha must be enabled for the subnet -2. Consensus values must exist and contain non-zero values -3. The network must have sufficient activity - -When these conditions are satisfied, validators receive additional rewards for voting for miners that aren't yet receiving votes from others. - -```bash -# Enable Liquid Alpha (enhances YC3 benefits) -btcli sudo set --param liquid_alpha_enabled --value true --netuid YOUR_NETUID -``` - -## New Tunable Parameters - -YC3 introduces additional hyperparameters for advanced subnet customization: - -### Alpha Sigmoid Steepness -Controls the steepness of the alpha sigmoid function, affecting reward distribution curves and how quickly bonds adjust to weight changes. - -```bash -# Set alpha sigmoid steepness -btcli sudo set --param alpha_sigmoid_steepness --value YOUR_VALUE --netuid YOUR_NETUID -``` - -### Bonds Moving Average -The adjustment rate is controlled by the bonds moving average parameter, which can be configured up to 97.5% (meaning bonds change by 2.5% per epoch toward their target values). - -```bash -# Adjust bond smoothing (typical value: 975000 for 2.5% per epoch) -btcli sudo set --param bonds_moving_avg --value 975000 --netuid YOUR_NETUID -``` - -### Alpha High/Low Parameters -Fine-tune the range of alpha values used in the sigmoid function: - -```bash -# Set alpha range parameters -btcli sudo set --param alpha_high --value YOUR_VALUE --netuid YOUR_NETUID -btcli sudo set --param alpha_low --value YOUR_VALUE --netuid YOUR_NETUID -``` - -## Real-World Example: Subnet 2 - -Subnet 2 successfully migrated to YC3 with the following experience: -- Migration: Seamless activation -- Stabilization: Required a couple of tempo periods to stabilize -- Current Status: Fully operational with improved fairness -- Key Benefit: Small validators now receive fair rewards proportional to their contributions - -## Expected Timeline - -- Current: YC3 is live and being adopted by subnets -- Recommendation: Monitor your subnet's performance after the network upgrade -- Timeline: No forced migration deadline - subnets can adopt when ready - -## Monitoring Your Migration - -After YC3 is active on your subnet, monitor these metrics: - -### Validator Performance -- Check that small validators are receiving appropriate rewards -- Verify bond accumulation is working correctly for all validator sizes -- Monitor individual alpha values being applied to validator-miner pairs - -### Bond Distribution -- Monitor bond allocation patterns -- Ensure no validators are experiencing zero-bond issues -- Check that early recognition is being rewarded appropriately - -### Consensus Behavior -- Watch for improved stability in consensus calculations -- Check that bond decay behavior is more predictable -- Monitor the effectiveness of Liquid Alpha if enabled - -## Troubleshooting - -### Common Issues - -#### Stabilization Period -- Symptom: Temporary fluctuations in rewards after migration -- Solution: Allow 2-3 tempo periods for the system to stabilize -- Expected: This is normal behavior during the transition as bonds adjust to new alpha values - -#### Zero Bond Issues (Pre-YC3) -- Symptom: Validators giving weight but receiving no bonds -- Solution: YC3 fixes this automatically through improved precision and individual alpha scaling - -#### Liquid Alpha Not Working -- Symptom: Expected early recognition rewards not materializing -- Check: Ensure Liquid Alpha is enabled and consensus values exist -- Solution: Verify network activity meets minimum thresholds for Liquid Alpha operation - -### Getting Help - -If you experience issues during migration: - -1. Check the logs for any error messages -2. Monitor for 2-3 tempo periods to allow stabilization -3. Compare metrics before and after migration -4. Verify parameter settings using `btcli subnet hyperparameters` -5. Reach out to the Bittensor community for support - -## Advanced Configuration - -### Custom Parameter Tuning - -For subnet owners who want to leverage YC3's enhanced tunability: - -```bash -# Example: Fine-tune consensus behavior -btcli sudo set --param bonds_moving_avg --value YOUR_VALUE --netuid YOUR_NETUID - -# Example: Adjust alpha parameters for different reward curves -btcli sudo set --param alpha_sigmoid_steepness --value YOUR_VALUE --netuid YOUR_NETUID -btcli sudo set --param alpha_high --value YOUR_VALUE --netuid YOUR_NETUID -btcli sudo set --param alpha_low --value YOUR_VALUE --netuid YOUR_NETUID -``` - -:::tip Parameter Values -Most users will benefit from using values of 0 or 1 for boolean parameters rather than intermediate values, though intermediate values are supported. For numeric parameters, start with default values and adjust gradually. -::: - -### Testing Configuration - -Before applying changes to your mainnet subnet: - -1. Test parameter changes on testnet first -2. Monitor impact over multiple tempo periods -3. Document baseline performance before changes -4. Have a rollback plan for parameter reversion - -## Benefits After Migration - -### For Validators -- Fairer rewards regardless of validator size through fixed-point arithmetic -- More predictable bond accumulation with individual alpha values -- Improved precision in reward calculations eliminating rounding issues -- Early recognition rewards for identifying promising miners first - -### For Subnet Owners -- More tunable parameters for customization including alpha sigmoid controls -- Better consensus stability through enhanced EMA smoothing -- Enhanced control over reward distribution curves -- Compatibility with Liquid Alpha for additional validator incentives - -### For the Network -- More equitable participation incentives encouraging smaller validators -- Reduced barriers for smaller validators through precision improvements -- Improved overall consensus quality through better bond mechanics -- Innovation incentives through early recognition rewards - -## Next Steps - -1. Monitor your subnet's current performance metrics -2. Consider enabling Liquid Alpha to enhance YC3 benefits -3. Plan for optional parameter tuning if desired -4. Stay updated on additional YC3 features as they're released -5. Consider the new parameters for optimizing your subnet's specific use case -6. Test advanced configurations on testnet before mainnet deployment \ No newline at end of file From d286cf9cacc24458ac6c157e90729d9336b1d724 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 11 Jun 2025 13:39:06 +0100 Subject: [PATCH 061/303] docs: wip --- .gitignore | 3 + docs/emissions.md | 87 +- docs/miners/index.md | 26 +- docs/subnets/create-a-subnet.md | 29 +- docs/subnets/understanding-subnets.md | 58 +- docs/validators/index.md | 16 +- docs/yuma-consensus.md | 43 +- package-lock.json | 17442 ------------------------ package.json | 2 +- 9 files changed, 166 insertions(+), 17540 deletions(-) delete mode 100644 package-lock.json diff --git a/.gitignore b/.gitignore index c6794c8186..cdeec9ebac 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,9 @@ docs/.obsidian .docusaurus .cache-loader .yarnclean +.yarn +.pnp.cjs +.pnp.loader.mjs # Misc .DS_Store diff --git a/docs/emissions.md b/docs/emissions.md index 508e00c93d..dd37f5b2eb 100644 --- a/docs/emissions.md +++ b/docs/emissions.md @@ -18,32 +18,40 @@ See the [Dynamic TAO White Paper](https://drive.google.com/file/d/1vkuxOFPJyUyoY ### Injection -The first stage of emissions is *injection of liquidity* into the subnet pools. Liquidity is injected to each subnet in proportion to the price of its token compared to the price of other subnet tokens. This is designed to incentivize development on the most valuable subnets. +The first stage of emissions is _injection of liquidity_ into the subnet pools. Liquidity is injected to each subnet in proportion to the price of its token compared to the price of other subnet tokens. This is designed to incentivize development on the most valuable subnets. Each block: - TAO is injected into the subnet's **TAO reserve**. - Alpha is injected into the subnet's **alpha reserve**. -- Alpha is allocated to *alpha outstanding*, to be extracted by participants. +- Alpha is allocated to _alpha outstanding_, to be extracted by participants. #### TAO reserve injection A subnet's TAO reserve injection is computed in proportion to the price of its alpha token over the sum of prices for all the subnets in Bittensor. -Given set $\mathbb{S}$ of all subnets, and a total per block TAO emission $\Delta\bar{\tau}$, which begins at 1 TAO and follows a halving schedule, TAO emission $\Delta\tau_i$ to subnet $i$ with price $p_i$ is: +
          + See how it's calculated! -$$ -\Delta\tau_i = \Delta\bar{\tau} \times -\frac - {p_i} - {\sum_{j \in \mathbb{S}} -\bigl(p_j)} -$$ + Given set $\mathbb{S}$ of all subnets, and a total per block TAO emission $\Delta\bar{\tau}$, which begins at 1 TAO and follows a halving schedule, TAO emission $\Delta\tau_i$ to subnet $i$ with price $p_i$ is: + + $$ + \Delta\tau_i = \Delta\bar{\tau} \times + \frac + {p_i} + {\sum_{j \in \mathbb{S}} + \bigl(p_j)} + $$ + +
          #### Alpha reserve injection Alpha is then injected in proportion to the price of the token, so that growth of a subnet's liquidity pools does not not change the price of the alpha token. +
          + See how it's calculated! + Recall that token price for a subnet is its TAO in reserve divided by its alpha reserve: $$ @@ -63,15 +71,14 @@ $$ When we fill in this equation with the previous formula for $\Delta\tau_i$, the price $p_i$ is cancelled out of the equation, yielding: $$ -\Delta\alpha_i = +\Delta\alpha_i = \frac {\Delta\bar{\tau}} {\sum_{j \in \mathbb{S}} \bigl(p_j)} $$ - -However, alpha injection is also capped at 1 by the algorithm, to prevent runaway inflation. Therefore, with cap or *alpha emission rate* $\Delta\bar{\alpha_i}$, emission $\Delta\alpha_i$ to subnet $i$ is: +However, alpha injection is also capped at 1 by the algorithm, to prevent runaway inflation. Therefore, with cap or _alpha emission rate_ $\Delta\bar{\alpha_i}$, emission $\Delta\alpha_i$ to subnet $i$ is: $$ \Delta\alpha_i = \min\left\{ @@ -80,44 +87,50 @@ $$ {\sum_{j \in \mathbb{S}} \bigl(p_j)}, \Delta\bar{\alpha_i} \right\} - $$ -The cap or *alpha emission rate* $\Delta\bar{\alpha_i}$ for subnet $i$, starts at 1 and follows a halving schedule identical to that of TAO, beginning when subnet $i$ is created. +The cap or _alpha emission rate_ $\Delta\bar{\alpha_i}$ for subnet $i$, starts at 1 and follows a halving schedule identical to that of TAO, beginning when subnet $i$ is created. + +
          #### Alpha outstanding injection -Each block, liquidity is also set aside to be emitted to participants (validators, miners, stakers, and subnet creator). The quantity per block is equal to the *alpha emission rate* $\Delta\bar{\alpha_i}$ for subnet $i$. +Each block, liquidity is also set aside to be emitted to participants (validators, miners, stakers, and subnet creator). The quantity per block is equal to the _alpha emission rate_ $\Delta\bar{\alpha_i}$ for subnet $i$. ### Extraction At the end of each tempo (360 blocks), the quantity of alpha accumulated over each block of the tempo is extracted by network participants in the following proportions: -1. 18% by subnet owner -1. 41% of emissions go to miners. The allocation to particular miners is determined by [Yuma Consensus: Miner emissions#miner-emissions](./yuma-consensus). -1. 41% by validators and their stakers. - 1. First, the allocation to validators miners is determined by [Yuma Consensus: Validator Emissions](./yuma-consensus#validator-emissions). - 1. Then, validators extract their take from that allocation. - 1. Then, TAO and alpha are emitted to stakers in proportion to the validators' holdings in each token. TAO emissions are sourced by swapping a portion of alpha emissions to TAO through the subnet's liquidity pool. +1. 18% by subnet owner +1. 41% of emissions go to miners. The allocation to particular miners is determined by [Yuma Consensus: Miner emissions#miner-emissions](./yuma-consensus). +1. 41% by validators and their stakers. + + 1. First, the allocation to validators miners is determined by [Yuma Consensus: Validator Emissions](./yuma-consensus#validator-emissions). + 1. Then, validators extract their take from that allocation. + 1. Then, TAO and alpha are emitted to stakers in proportion to the validators' holdings in each token. TAO emissions are sourced by swapping a portion of alpha emissions to TAO through the subnet's liquidity pool. + +
          + See how it's calculated! For validator x's TAO stake $\tau_x$, and alpha stake $\alpha_x$, and the global TAO weight $w_{\tau}$: - - TAO is emitted to stakers on the root subnet (i.e. stakers in TAO) in proportion to the validator's stake weight's proportion of TAO. + - TAO is emitted to stakers on the root subnet (i.e. stakers in TAO) in proportion to the validator's stake weight's proportion of TAO. - $$ - \text{proportional emissions (\%) to root stakers} - = \frac{\tau_{x}{} \, w_{\tau}} - {\alpha_{x} + \tau_{x} \, w_{\tau}} - $$ + $$ + \text{proportional emissions (\%) to root stakers} + = \frac{\tau_{x}{} \, w_{\tau}} + {\alpha_{x} + \tau_{x} \, w_{\tau}} + $$ - - Alpha is emitted to stakers on the mining subnet (i.e. stakers in alpha) in proportion to the validator's stake weight's proportion of alpha: - $$ - \text{proportional emissions (\%) to alpha stakers} - = \frac{\alpha_{x}} - {\alpha_{x} + \tau_{x} \, w_{\tau}} - $$ + - Alpha is emitted to stakers on the mining subnet (i.e. stakers in alpha) in proportion to the validator's stake weight's proportion of alpha: + $$ + \text{proportional emissions (\%) to alpha stakers} + = \frac{\alpha_{x}} + {\alpha_{x} + \tau_{x} \, w_{\tau}} + $$ - Validators who hold both root TAO and subnet alphas will extract both types of token. + Validators who hold both root TAO and subnet alphas will extract both types of token. +
          See [Core Dynamic TAO Concepts: Validator stake weight](../subnets/understanding-subnets#validator-stake-weight) @@ -127,7 +140,7 @@ When Dynamic TAO is initiated, there will be no alpha in circulation, so validat But far more alpha than TAO is emitted into circulation every block. As a result, over time there will be more alpha relative to TAO in overall circulation, and the relative weight of a validator in a given subnet will depend more on their alpha stake share relative to their share of the TAO stake on Subnet Zero. -In order to hasten the process of alpha gaining the majority of stake power in the network, the contribution of TAO stake to validator stake weight is reduced by a global parameter called *TAO weight*. Currently, this is planned to be **18%**, in order to achieve a weight parity between TAO and total alpha in approximately 100 days. +In order to hasten the process of alpha gaining the majority of stake power in the network, the contribution of TAO stake to a validator's stake weight is reduced by a global parameter called _TAO weight_. Currently, this is planned to be **18%**, in order to achieve a weight parity between TAO and total alpha in approximately 100 days.
          -
          \ No newline at end of file +
          diff --git a/docs/miners/index.md b/docs/miners/index.md index 4840719d38..475aec87bc 100644 --- a/docs/miners/index.md +++ b/docs/miners/index.md @@ -9,14 +9,14 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; ## Choosing a subnet -All mining in Bittensor occurs within a subnet. Each subnet independently produces the digital commodities that are its purpose, each subnet creator defining a different _incentive mechanism_ for validators to use in judging miners' work. It is validators scores of miners' performance, according to this incentive mechanism, that determines the proportion of the subnet's emissions allocated to each miner. See [Emissions](../emissions.md). +All mining in Bittensor occurs within a subnet. Each subnet independently produces the digital commodities that are its purpose. Each subnet creator defines a different _incentive mechanism_ for validators to use in judging miners' work. Its validators score miners' performances according to the subnet's incentive mechanism. These scores determine the proportion of the subnet's emissions allocated to each miner. See [Emissions](../emissions.md). -Mining in Bittensor is not like mining Bitcoin or many other blockchains, it is active, creative, and competitive. Preparing to be a subnet miner involves researching the right subnet(s) for _you_ to mine, given your own expertise and access to hardware. +Mining in Bittensor differs significantly from mining Bitcoin or other blockchains. It is active, creative, and competitive. Preparing to be a subnet miner involves researching the right subnet(s) for _you_ to mine, given your own expertise and access to hardware. Browse the subnets and explore links to their code repositories on [TAO.app' subnets listings](https://tao.app). :::tip Typical compute requirements -Each subnet may have distinct hardware requirements, but this [minimum requirements template for subnet creators](https://github.com/opentensor/bittensor-subnet-template/blob/main/min_compute.yml) may give an idea of minimum memory, bandwidth and storage requirements for a typical subnet node. +Each subnet may have distinct hardware requirements, but this [subnet minimum requirements template](https://github.com/opentensor/bittensor-subnet-template/blob/main/min_compute.yml#L14) may give an idea of the minimum memory, bandwidth and storage requirements for miners in a typical subnet node. Mining is not supported on Windows. ::: @@ -26,10 +26,10 @@ Mining is not supported on Windows. To participate as a miner, you must first register a hotkey with the subnet in order to receive a UID on that subnet. :::tip No need to create a subnet to mine -You **do not** have to create a subnet to mine on the Bittensor network. Most miners work on established subnets. +You **do not** have to create a subnet to mine on the Bittensor network. Most miners work on already established subnets. ::: -Registration has a cost in TAO, which fluctuates dynamically based on time since last registration. When you secure a UID slot in a subnet on the main chain, this TAO is sunk cost. +Registration has a cost in TAO, which fluctuates dynamically based on the time since the last registration. When you secure a UID slot in a subnet on the main chain, this TAO is sunk cost and cannot be recovered. A subnet can have a maximum of 64 subnet validator UIDs and 192 subnet miner UIDs (256 total) in subnets other than Subnet 1. @@ -41,14 +41,14 @@ When you delegate your TAO to a subnet validator, you attach your delegated TAO A hotkey can hold multiple UIDs across **separate** subnets. However, within one subnet, each UID must have a unique hotkey. ::: -Run the following command on your terminal, replacing ``, ``, ``. +To register your keys with a subnet, run the following command on your terminal, replacing ``, ``, ``. `` is the `netuid` of your preferred subnet. ```bash btcli subnet register --netuid --wallet.name --wallet.hotkey ``` -For example, for subnet 1 (netuid of 1): +For example, to register your keys with subnet 1—netuid of 1: ```bash btcli subnet register --netuid 1 --wallet.name test-coldkey --wallet.hotkey test-hotkey @@ -56,7 +56,15 @@ btcli subnet register --netuid 1 --wallet.name test-coldkey --wallet.hotkey test ## Miner deregistration -Miners as well as validators can be deregistered if their emissions are low. +A miner can be deregistered if it earns low emissions due to receiving low weights (ratings) from validators. Typical subnets have 256 UID slots per subnet, of which a maximum of 64 subnet can be occupied by validators. Each tempo, the lowest ranked slot is deregistered from the hotkey that holds it and assigned to a new registrant. + +- Every subnet has an `immunity_period` hyperparameter expressed in a number of blocks. + :::tip See + See [`immunity_period`](../subnets/subnet-hyperparameters.md#immunityperiod). + ::: +- A subnet miner or validator at a UID (in that subnet) has a defined number of blocks to improve its performance. This is known as `immunity_period`. When the `immunity_period` expires, that miner or validator can be deregistered if it has the lowest performance in the subnet and a new registration arrives. +- A neuron's `immunity_period` starts when the miner or validator is registered into the subnet. + Validators as well as miners can be deregistered if their emissions are low; either role requires a UID. Typically, subnets have 256 UID slots, with a maximum of 64 slots capable of serving as validators by default. This leaves 192 UIDs for miners, though if there are fewer than 64 eligible validators on a subnet, miners can occupy available slots. @@ -132,7 +140,7 @@ btcli wallet overview --netuid After providing your wallet name when prompted, you will see output such as: -| Parameter | Value | Description | +| Parameter | Example value | Description | | :---------- | :----------------- | :-------------------------------------------------------------------------- | | COLDKEY | my_coldkey | The name of the coldkey associated with your slot. | | HOTKEY | my_first_hotkey | The name of the hotkey associated with your slot. | diff --git a/docs/subnets/create-a-subnet.md b/docs/subnets/create-a-subnet.md index 983ea28092..66dffee284 100644 --- a/docs/subnets/create-a-subnet.md +++ b/docs/subnets/create-a-subnet.md @@ -8,9 +8,10 @@ This page describes the procedures for creating a new Bittensor subnet on test c You should first try [Creating a Subnet on a locally deployed chain](../local-build/create-subnet). -Creating a subnet is a major undertaking. You should read up on [Understanding Subnets](understanding-subnets) and research existing subnets before planning to create one. +Creating a subnet is a major undertaking. You should read up on [Understanding Subnets](understanding-subnets) and research existing subnets before planning to create one. ## Considerations + ### Research existing subnets Prospective subnet creators should familiarize themselves with the space of existing subnets. @@ -33,19 +34,21 @@ Check the burn cost to create a subnet on Bittensor main network and test networ ```shell btcli subnet burn-cost --network finney ``` + ```shell btcli subnet burn-cost --network test ``` + ::: ### A new subnet is not automatically active -To allow subnet owners to fully set up their subnets and to prevent extraction of emissions to subnet participants before the subnet is contributing to the network, new subnets are inactive and cannot be started for 7 * 7200 blocks (roughly one week) after they are registered. During this time, you can register and activate validators and invite miners into the subnet. +To allow subnet owners to fully set up their subnets and to prevent extraction of emissions to subnet participants before the subnet is contributing to the network, new subnets are inactive and cannot be started for 7 \* 7200 blocks (roughly one week) after they are registered. During this time, you can register and activate validators and invite miners into the subnet. :::info The subnet and its participants will receive **no emissions** during the time that the subnet is inactive. @@ -55,7 +58,7 @@ The subnet and its participants will receive **no emissions** during the time th You must meet the same [requirements for validation](../validators#requirements-for-validation) as other validators in order to set weights in your own subnet. -One option for subnet owners is to ask one of the root network (subnet 0) validators to parent your validator hotkey as a childkey of theirs. This will lend their stake to your validator, and can help you ensure that your validator maintains a sufficient stake to effectively participate in consensus as well as resist deregistration. See the [Child Hotkeys](./child-hotkeys) documentation for more detail. +One option for subnet owners is to ask one of the root network (subnet 0) validators to parent your validator hotkey as a childkey of theirs. This will lend their stake to your validator, and can help you ensure that your validator maintains a sufficient stake to effectively participate in consensus as well as resist deregistration. See the [Child Hotkeys](./child-hotkeys) documentation for more detail. ### Subnet creation rate limits @@ -64,7 +67,7 @@ Subnet creations are limited to **one subnet creation per 7200 blocks** (approxi ## Prerequisites - [Install the most recent version of BTCLI](../getting-started/install-btcli). -- [Created a wallet](../getting-started/wallets.md#creating-a-local-wallet). +- [Created a wallet](../getting-started/wallets.md#creating-a-local-wallet). - To create a subnet on test chain, your wallet must have sufficient test net TAO. Inquire in [Discord](https://discord.com/channels/799672011265015819/1107738550373454028/threads/1331693251589312553) to obtain TAO on Bittensor test network. - To create a subnet on main network (finney) requires a substantial investment of TAO, depending on current registration cost for new subnets. @@ -75,9 +78,11 @@ Create your new subnet on the testchain using the test TAO you received from the Run the create subnet command on the testchain. ```bash -btcli subnet create --network test +btcli subnet create --network test ``` + Output: + ```bash # Enter the owner wallet name, which gives the coldkey permissions to define running hyperparameters later. >> Enter wallet name (default): owner # Enter your owner wallet name @@ -89,18 +94,20 @@ Output: ## Creating a subnet on mainchain -:::caution Alert: Minimum required TAO +:::caution Alert: Minimum required TAO Creating a subnet on the mainnet is competitive, and the cost is determined by the rate at which new networks are registered onto the chain. ::: -### Create the subnet +### Create the subnet -Use the below command to create a new subnet on the mainchain. +Use the below command to create a new subnet on the mainchain. ```bash btcli subnet create ``` + Output: + ```bash >> Enter wallet name (default): owner # Enter your owner wallet name >> Enter password to unlock key: # Enter your wallet password. @@ -111,7 +118,7 @@ Output: ### Check to see if you can start the subnet -Use the below command to check whether the subnet can be started. +Use the below command to check whether the subnet can be started. ```bash btcli subnet check-start --netuid x @@ -119,11 +126,11 @@ btcli subnet check-start --netuid x Where "x" is the subnet ID. -The output will provide you with the block registered and the block at which the subnet can be started, with "blocks remaining" and an estimated time. When this time has passed, the `check-start` command will return `Emission schedule can be started.` +The output will provide you with the block registered and the block at which the subnet can be started, with "blocks remaining" and an estimated time. When this time has passed, the `check-start` command will return `Emission schedule can be started.` ### Start the subnet -Use the below command to start the subnet once `check-start` returns `Emission schedule can be started.` +Use the below command to start the subnet once `check-start` returns `Emission schedule can be started.` ```bash btcli subnet start --netuid x diff --git a/docs/subnets/understanding-subnets.md b/docs/subnets/understanding-subnets.md index a7930a1e85..28c901d3f5 100644 --- a/docs/subnets/understanding-subnets.md +++ b/docs/subnets/understanding-subnets.md @@ -7,17 +7,18 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Understanding Subnets -In Bittensor, a subnet is an incentive-based competition marketplace that produces a specific kind of digital commodity related to artificial intelligence. It consists of a community of miners that produce the commodity, and a community of validators that measures the miners' work to ensure its quality. Often, parties that serve as validators do so in order to run applications that make use of the services provided by the miners. +In Bittensor, a subnet is an incentive-based competition marketplace that produces a specific kind of digital commodity related to artificial intelligence. It consists of a community of miners that produce the commodity, and a community of validators that measure the miners' work to ensure its quality. Often, parties that serve as validators do so in order to run applications that make use of the services provided by the miners. Emissions of TAO (τ) from Bittensor—are distributed among miners and validators based on their performance within subnets, and based on the relative performance of subnets within Bittensor. ## Anatomy of a subnet The illustration below shows the main components of a subnet: + 1. A subnet's [incentive mechanism](../learn/anatomy-of-incentive-mechanism) defines the work that miners must perform, and the work that validators must perform to evaluate the miners' work. The incentive mechanism is unique to the subnet, and maintained off-chain by the subnet creator in the form of a code-repository that defines the interface for miners and validators to participate. For example, see [Subnet 1](https://github.com/macrocosm-os/prompting). 2. **Miners** perform some useful work as defined in the subnet's incentive mechanism. For example, in Subnet 1, miners serve chat prompt completion. 3. **Validators** independently evaluate the task performed by the subnet miners, according to standards defined by the subnet's incentive mechanism. -4. Validators each score the performance of of each miner over the most recent time period. The matrix of these scores, by each validator for each miner, serves as input to **Yuma Consensus**. +4. Validators each score the performance of each miner over the most recent time period. The matrix of these scores, by each validator for each miner, serves as input to **Yuma Consensus**. 5. The Yuma Consensus algorithm operates on-chain, and determines emissions to miners, validators, and subnet creators across the platform, based on performance.
          @@ -33,21 +34,22 @@ style={{width: 600}} ## Subnet liquidity reserves -The key mechanism introduced with Dynamic TAO is that each subnet functions as its own automated market marker (AMM), with two liquidity reserves, one containing TAO($$\tau$$)—the currency of the Bittensor network, and one containing a subnet specific "dynamic" currency, referred to as that subnet's alpha ($$\alpha$$) token. The alpha token is purchased by staking TAO into the subnet's reserve, which is initialized with a negligible amount of liquidity (1e-9). +The key mechanism introduced with Dynamic TAO is that each subnet functions as its own _Automated Market Marker_ (_AMM_), with two liquidity reserves, one containing TAO($$\tau$$)—the currency of the Bittensor network, and one containing a subnet specific "dynamic" currency, referred to as that subnet's alpha ($$\alpha$$) token. The alpha token is purchased by staking TAO into the subnet's reserve, which is initialized with a negligible amount of liquidity (1e-9). A subnet's economy therefore consists of three pools of currency: + - **Tao reserves**: the amount of tao ($$\tau$$) that has been staked into the subnet - **Alpha reserves**: the amount of alpha ($$\alpha$$) available for purchase -- **Alpha outstanding**: the amount of alpha ($$\alpha$$) held in the hotkeys of a subnet's participants, also referred to as the total *stake* in the subnet +- **Alpha outstanding**: the amount of alpha ($$\alpha$$) held in the hotkeys of a subnet's participants, also referred to as the total _stake_ in the subnet :::tip Terminology: alpha tokens Each subnet has its own currency with its own name, but in the abstract a given subnet's token is referred to as its $\alpha$ token. With a set of subnets in mind, we refer to $\alpha$ as the token for subnet $\alpha$, $$\beta$$ as the token for subnet $$\beta$$, $$\gamma$$ as the token for subnet $$\gamma$$, and so on. These subnet tokens contrast with TAO ($$\tau$$), the token of the Bittensor network as a whole. A subnet pool's reserve ratio (tao/alpha) determines the price of its alpha token. ::: -The *price* of a subnet's alpha token is determined by the ratio of TAO in that subnet's reserve to its alpha in reserve. Alpha currency that is not held in reserve but is which is held in the hotkeys of subnet participants is referred to as *alpha outstanding*. +The _price_ of a subnet's alpha token is determined by the ratio of TAO in that subnet's reserve to its alpha in reserve. Alpha currency that is not held in reserve but is which is held in the hotkeys of subnet participants is referred to as _alpha outstanding_. -Run `btcli subnet list` with the Dynamic TAO-enabled `btcli` to view information about the subnets and their currency reserves on Bittensor testnet. +Run the `btcli subnet list` command with the Dynamic TAO-enabled `btcli` to view information about the subnets and their currency reserves on Bittensor testnet. ```txt ┃ ┃ Price ┃ Market Cap ┃ ┃ ┃ ┃ ┃ @@ -61,52 +63,61 @@ Run `btcli subnet list` with the Dynamic TAO-enabled `btcli` to view information 4 │ δ targon │ 0.02 τ/δ │ τ 54.45 │ τ 0.0192 │ τ 30.65, 1.47k δ │ 1.14k δ │ 2.61k δ /21M │ 68/99 ... ``` + See: [Using Dynamic TAO](./index.md#using-dynamic-tao) ## Price/rate of alpha tokens ### Ideal price -For each subnet, you'll see that *Price* (listed in the third column) is a function of TAO in reserve `τ_in` over alpha in reserve `α_in` + +For each subnet, you'll see that _Price_ (listed in the third column) is a function of TAO in reserve `τ_in` over alpha in reserve `α_in` $$ Price = \frac{\tau_{in}}{\alpha_{in}} $$ -For example, if for subnet $\varepsilon$, its subnet pool contains TAO reserves of 1000 TAO units and its alpha reserves of 16000 $\varepsilon$ units, then the relative price of the $\varepsilon$ token is: +
          + See how it's calculated! -$$ -R = \frac{\tau_{in}}{\alpha_{in}} = \frac{1000}{16000} = 0.0625 -$$ + For example, if for subnet $\varepsilon$, its subnet pool contains TAO reserves of 1000 TAO units and its alpha reserves of 16000 $\varepsilon$ units, then the relative price of the $\varepsilon$ token is: -Hence, -$$ -\text{1 } \varepsilon = 0.0625 \text{ TAO} -$$ + $$ + R = \frac{\tau_{in}}{\alpha_{in}} = \frac{1000}{16000} = 0.0625 + $$ + + Hence, + + $$ + \text{1 } \varepsilon = 0.0625 \text{ TAO} + $$ This exchange rate can change every block when staking or unstaking or emissions occur on this subnet. -## Emission in Dynamic TAO +
          + +## Emissions in Dynamic TAO Liquidity is steadily emitted into the Bittensor token economy according to an algorithm intended to foster growth while stabilizing prices and protecting them from manipulation. Each block: + - the chain emits TAO and injects it into the TAO reserves of the subnets. -- the chain emits alpha tokens at twice the base alpha emission rate (which starts at 1 α/block and follows the same halving schedule as TAO). These emitted alpha tokens are allocoated between: +- the chain emits alpha tokens at twice the base alpha emission rate (which starts at 1 α/block and follows the same halving schedule as TAO). These emitted alpha tokens are allocated between: - the subnet's alpha reserve (increasing available liquidity) - alpha outstanding (incentives for miners, validators, and subnet creators) -See the main article: [Emission in Dynamic TAO](../emissions.md) +See the main article: [Emissions in Dynamic TAO](../emissions.md) ## Decentralized evaluation of subnets -The relative value or *weight* of subnets within Bittensor is critically important as it determines emissions to different subnets and their participant miners and validators. Prior to Dynamic TAO, relative weight among subnets within the Bittensor network were determined by Yuma Consensus over the evaluations of the Root Network validators. This gives a fundamentally centralizing role to the holders of Root Network validator keys. +The relative value or _weight_ of subnets within Bittensor is critically important as it determines emissions to different subnets and their participant miners and validators. Prior to Dynamic TAO, relative weight among subnets within the Bittensor network were determined by Yuma Consensus over the evaluations of the Root Network validators. This gives a fundamentally centralizing role to the holders of Root Network validator keys. In Dynamic TAO, the relative weight is determined organically according to the emergent market value of the subnet, as represented by its stabilized token price. TAO-holders can stake TAO into subnets in exchange for the subnet-specific dynamic currency, referred to as the subnet's alpha ($$\alpha$$) token. In this way, stakers 'vote with their TAO' for the value of the subnet, determining the emissions to the validators and miners working in it. In return, stakers extract a share of the subnet's emissions. ## Subnet Zero -In Dynamic TAO, Subnet Zero—or *Root Subnet*—is a special subnet. It is the only subnet that does not have its own $\alpha$ currency. No miners can register on subnet zero, and no validation work is performed. However validators can register, and $\tau$-holders can stake to those validators, as with any other subnet. This offers a mechanism for $\tau$-holders to stake $\tau$ into validators in a subnet-agnostic way. This works because the weight of a validator in a subnet includes both their share of that subnet's $\alpha$ and their share of TAO staked into the root subnet. in Subnet Zero. +In Dynamic TAO, Subnet Zero—or _Root Subnet_—is a special subnet. It is the only subnet that does not have its own $\alpha$ currency. No miners can register on subnet zero, and no validation work is performed. However validators can register, and $\tau$-holders can stake to those validators, as with any other subnet. This offers a mechanism for $\tau$-holders to stake $\tau$ into validators in a subnet-agnostic way. This works because the weight of a validator in a subnet includes both their share of that subnet's $\alpha$ and their share of TAO staked into the root subnet. Over time, the emissions generated by TAO staked into Subnet Zero will decrease, relative to stake held in the alpha currency of active subnets. See [Note on evolution of Bittensor token economy](../emissions.md#note-on-evolution-of-bittensor-token-economy). @@ -116,9 +127,11 @@ A validator's stake weight in a subnet equals their alpha stake plus their TAO s $$ -\text{Validator stake weight} = \text{Alpha stake} (\alpha) + \text{TAO stake} (\tau) \times \text{TAO weight} +\text{Validator stake weight} = \text{Alpha stake} (\alpha) + \text{TAO stake} (\tau) \times \text{TAO weight} + $$ + :::tip A validator's stake weight in Subnet Zero is simply their staked TAO. ::: @@ -127,9 +140,10 @@ A validator's relative stake weight (their stake weight over the total stake wei $$ -\text{Validator x's relative stake weight} +\text{Validator x's relative stake weight} = \frac{\alpha_x + \tau_x \times w_{\tau}} {\displaystyle \sum_{v \in \text{validators}} \bigl(\alpha_v + \tau_v \times w_{\tau}\bigr)} + $$ diff --git a/docs/validators/index.md b/docs/validators/index.md index 2c39063479..b4946d2433 100644 --- a/docs/validators/index.md +++ b/docs/validators/index.md @@ -7,12 +7,12 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Validating in Bittensor -All mining and validating in Bittensor occur within a subnet. Each subnet independently produces the digital commodities that are its purpose, each subnet creator defining a different _incentive mechanism_ for validators to use in judging miners' work. The validator's work is to apply this incentive mechanism to miners, using it to score their performance, and then to submit these weights to the Bittensor blockchain. It is validators scores of miners' performance that determines the proportion of the subnet's emissions allocated to each miner, according to the Yuma Consensus algorithm. See [Emissions](../emissions.md). +All validating in Bittensor occurs within a subnet. Each subnet independently produces the digital commodities that are its purpose, with each subnet creator defining a different _incentive mechanism_ for validators to use in judging miners' work. The validator's work is to apply this incentive mechanism to miners, using it to score their performance, and then to submit these weights to the Bittensor blockchain.  The validator scores of miners' performance determine the proportion of the subnet's emissions allocated to each miner, according to the Yuma Consensus algorithm. See [Emissions](../emissions.md). Browse the subnets and explore links to their code repositories on [TAO.app' subnets listings](https://tao.app). :::tip Typical compute requirements -Each subnet may have distinct hardware requirements, but this [minimum requirements template for subnet creators](https://github.com/opentensor/bittensor-subnet-template/blob/main/min_compute.yml) may give an idea of minimum memory, bandwidth and storage requirements for a typical subnet node. +Each subnet may have distinct hardware requirements, but this [subnet minimum requirements template](https://github.com/opentensor/bittensor-subnet-template/blob/main/min_compute.yml#L49) may give an idea of the minimum memory, bandwidth and storage requirements for validators in a typical subnet node. Validating is not supported on Windows. ::: @@ -32,7 +32,7 @@ The number of validators isn't hardcoded. The subnet governor has the authority To have a **validator permit** in a given subnet, you must meet the following requirements: - Your hotkey must be registered, granting you a UID on the subnet -- You must have a stake-weight on the subnet of least 1000, including stake delegated to your hotkey from other wallets' coldkeys. A validator's stake weight in a subnet equals their alpha stake plus their TAO stake times the `tao_weight` parameter (current value: 0.18): +- You must have a stake-weight on the subnet of least 1000, including stake delegated to your hotkey from other wallets' coldkeys. A validator's stake weight in a subnet equals their alpha stake plus their TAO stake multiplied by the `tao_weight` parameter (current value: 0.18): $$ @@ -42,12 +42,14 @@ To have a **validator permit** in a given subnet, you must meet the following re - You must be one of the top 64 nodes in the subnet, ranked by emissions. -## Hotkey Association & Staking (subnet 0, the root subnet, only) +## Hotkey Association & Staking :::tip Root Subnet (Subnet 0) only -Skip this step if you are not registering a validator on the root subnet (subnet 0) +This step is only required if you are registering on the root subnet (Subnet O). Skip this step if you are not registering a validator on the root subnet. ::: +To become a validator on the root subnet, you must first associate your hotkey and then stake funds to your hotkey account within the subnet. To associate your hotkey: + ```bash btcli wallet associate-hotkey --wallet.name --hotkey ``` @@ -107,7 +109,7 @@ A subnet neuron (miner or validator) at a UID (in that subnet) has `immunity_per A validator's consensus weight and emissions depend on their hotkey's stake weight. You can stake your own TAO to your validator hotkey, or advertise your hotkey to others and seek stake. Any wallet's coldkey can stake to any hotkey, subsequently receiving emissions from that stake. :::tip Delegation -See [StakingDelegation](../staking-and-delegation/delegation.md) +See [Staking and Delegation](../staking-and-delegation/delegation.md) ::: ### Add stake @@ -151,7 +153,7 @@ btcli wallet overview --netuid After providing your wallet name at the prompt, you will see output like: -| Parameter | Value | Description | +| Parameter | Example value | Description | | :---------- | :----------------- | :------------------------------------------------------------------------- | | COLDKEY | my_coldkey | The name of the coldkey associated with your slot. | | HOTKEY | my_first_hotkey | The name of the hotkey associated with your slot. | diff --git a/docs/yuma-consensus.md b/docs/yuma-consensus.md index c5e57c42e8..eb95059f1a 100644 --- a/docs/yuma-consensus.md +++ b/docs/yuma-consensus.md @@ -6,13 +6,14 @@ title: "Yuma Consensus" ## Introduction -Yuma Consensus (YC) is a critical algorithmic process within Bittensor, which runs on-chain within Subtensor. Its responsibility is to compute validator and miner emissions from validators' rankings of miners. +Yuma Consensus (YC) is a critical algorithmic process within Bittensor, which runs on-chain within Subtensor. Its responsibility is to compute validator and miner emissions from validators' rankings of miners' performances. -Each of a subnet's validators periodically submit a vector of weights ranking the value of the work of each miner they've evaluated. The YC algorithm resolves this matrix of rankings into two **emissions vectors** that allocate emissions over participants based on their performance: one each for **miners** and **validators**. +Each of a subnet's validators periodically submits a vector of weights ranking the value of the work of each miner they've evaluated. The YC algorithm resolves this matrix of rankings into two **emissions vectors**—one each for **miners** and **validators**. These emissions vectors allocate emissions over participants based on their performances. The algorithm is designed to more heavily weight the inputs of more trusted validators, in order to ignore the portion of the validation signal that is less reliable. By disregarding unreliable weight-settings, YC incentivizes validators to be worthy of trust by working hard to give consistent, fast, honest evaluations of miners that predict the eventual convergence of other validators' evaluations. YC incentivizes miners to work hard for the highest combined evaluation by the community of validators. See: + - [Emissions](./emissions) - [Subtensor Docs: Yuma Consensus](https://github.com/opentensor/subtensor/blob/main/docs/consensus.md) @@ -20,14 +21,17 @@ See: Clipping is designed to punish innacurate miner evaluation, especially in patterns that could constitute collusion to manipulate the accuracy of consensus to favor certain miners. -To achieve this, the judgment of the most trusted validators (as measured by stake) serves as a benchmark. Weights that exceed this benchmark are *clipped*, meaning neither the miner nor the validator receives emissions for them. +To achieve this, the judgment of the most trusted validators (as measured by stake) serves as a benchmark. Weights that exceed this benchmark are _clipped_, meaning neither the miner nor the validator receives emissions for them. This clipping protects against erroneous or collusive over-evaluation of miners by validators. +
          + See how it's calculated + To compute the benchmark $\overline{W_j}$ for miner $j$ and set $\mathbb{V}$ of the subnet's validators, we gather all validator weights $W_{ij}$ for any validator $i \in \mathbb{V}$, sort them by validator’s **stake** $S_i$, and then find the maximum weight level $w$ supported by at least a fraction $\kappa$ of total stake. $$ -\overline{W_j} = \arg \max_{w} +\overline{W_j} = \arg \max_{w} \Bigl(\, \sum_{i \in \mathbb{V}} S_i \,\cdot\, \bigl\{\,W_{ij}\,\ge w \bigr\} \ge \kappa \Bigr). @@ -42,14 +46,18 @@ $$ :::tip note Kappa is a configurable hyperparameter with default: $\kappa = 0.5$. -This means that if *least* generous half (0.5) of the validators (with each validator measured by stake, not 1 per validator) set weights for a given miner to no more than x, then the weights of the other, more generous, half of the validators for that miner are going to be clipped down to x. 'Generous' here refers to giving a high weight to the miner in question. +This means that if _least_ generous half (0.5) of the validators (with each validator measured by stake, not 1 per validator) set weights for a given miner to no more than x, then the weights of the other, more generous, half of the validators for that miner are going to be clipped down to x. 'Generous' here refers to giving a high weight to the miner in question. ::: +
          + ## Miner emissions Miner emissions are based on an aggregate ranking which is the summed rankings of validators, weighted by validators' stake, where $\overline{W_{ij}}$ is the post-clip weight. -$$ +
          + See how it's calculated + $$ R_j = \sum_{i \in \mathbb{V}} S_i \,\cdot\, \overline{W_{ij}} $$ @@ -59,25 +67,35 @@ $$ M_j = \frac{\,R_j\,}{\sum_{k \in \mathbb{M}} R_k} $$ +
          + ## Penalizing out-of-consensus bonds If a validator's evaluation of a miner is too high, it is penalized. If a submitted weight $W_{ij}$ by validator $i$ for miner $j$ exceeds the $j$'s consensus evaluation, $\overline{W_j}$, its bond value is penalized by factor $\beta$. +
          + See how it's calculated + Bond-weight $\widetilde{W_{ij}}$ is: $$ -\widetilde{W_{ij}} +\widetilde{W_{ij}} = (1-\beta)\,W_{ij} +\beta\,\overline{W_{ij}} $$ :::tip note -Penalty factor $\beta$ is a configurable hyperparameter. +Penalty factor $\beta$ is a configurable hyperparameter. ::: +
          + ## Bonding mechanics The **instant bond** $\Delta B_{ij}$ of validator $i$ to miner $j$ is equal to $i$’s stake, $\,S_i$ times $i$'s bond-weight for $j$ normalized by $j$'s total bond-weight for all $\mathbb{V}$ of the subnet's validators: +
          + See how it's calculated + $$ \Delta B_{ij} = \frac{\,S_i \,\cdot\, \widetilde{W_{ij}}\,}{ \sum_{k \in \mathbb{V}} S_k \,\cdot\, \widetilde{W_{kj}}} @@ -89,15 +107,18 @@ $$ B_{ij}^{(t)} = \alpha \,\Delta B_{ij} + (1-\alpha)\,B_{ij}^{(t-1)} $$ -Validators who stay near consensus build stronger EMA bonds and thus extract more emissions, while any attempt to overstate a particular miner’s performance is penalized. The EMA smooths out abrupt swings in validator behavior and incentivizes consistent alignment with the consensus. - :::tip note The $\alpha$ variable here is unrelated to the concept of subnet specific currencies, referred to as alpha $\alpha$ tokens. Here $\alpha$ refers to a factor used in this EMA smoothing function—see [consensus-based weights, a.k.a. liquid alpha](./subnets/consensus-based-weights.md). ::: +
          + +Validators who stay near consensus build stronger EMA bonds and thus extract more emissions, while any attempt to overstate a particular miner’s performance is penalized. The EMA smooths out abrupt swings in validator behavior and incentivizes consistent alignment with the consensus. + ## Validator emissions Each validator $i$’s share $V_i$ of validator emissions (41% of each subnet's total emissions) is the sum of all of its bonds to miners, weighted by the miner's total emissions: + $$ V_i = \sum_{j \in \mathbb{M}} \Bigl(\,B_{ij} \,\times\, M_j\Bigr) -$$ \ No newline at end of file +$$ diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 599ad73957..0000000000 --- a/package-lock.json +++ /dev/null @@ -1,17442 +0,0 @@ -{ - "name": "bittensor-docs", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "bittensor-docs", - "version": "0.0.0", - "dependencies": { - "@docusaurus/core": "^3.4.0", - "@docusaurus/plugin-client-redirects": "^3.4.0", - "@docusaurus/preset-classic": "^3.4.0", - "@gracefullight/docusaurus-plugin-vercel-analytics": "^1.0.0", - "@mdx-js/react": "^3.0.0", - "@vercel/analytics": "^1.1.2", - "clsx": "^1.2.1", - "hast-util-is-element": "1.1.0", - "prism-react-renderer": "^2.1.0", - "punycode": "^2.3.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-icons": "^4.12.0", - "rehype-katex": "^7.0.1", - "remark-definition-list": "^2.0.0", - "remark-math": "^6.0.0", - "zwitch": "^2.0.4" - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "^3.3.2", - "@docusaurus/tsconfig": "^3.3.2", - "@docusaurus/types": "^3.3.2", - "typescript": "~5.2.2" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@algolia/autocomplete-core": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", - "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", - "@algolia/autocomplete-shared": "1.9.3" - } - }, - "node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", - "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-shared": "1.9.3" - }, - "peerDependencies": { - "search-insights": ">= 1 < 3" - } - }, - "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", - "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-shared": "1.9.3" - }, - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/autocomplete-shared": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", - "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", - "license": "MIT", - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz", - "integrity": "sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==", - "license": "MIT", - "dependencies": { - "@algolia/cache-common": "4.22.1" - } - }, - "node_modules/@algolia/cache-common": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.22.1.tgz", - "integrity": "sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==", - "license": "MIT" - }, - "node_modules/@algolia/cache-in-memory": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz", - "integrity": "sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==", - "license": "MIT", - "dependencies": { - "@algolia/cache-common": "4.22.1" - } - }, - "node_modules/@algolia/client-account": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.22.1.tgz", - "integrity": "sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.22.1", - "@algolia/client-search": "4.22.1", - "@algolia/transporter": "4.22.1" - } - }, - "node_modules/@algolia/client-analytics": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.22.1.tgz", - "integrity": "sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.22.1", - "@algolia/client-search": "4.22.1", - "@algolia/requester-common": "4.22.1", - "@algolia/transporter": "4.22.1" - } - }, - "node_modules/@algolia/client-common": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.22.1.tgz", - "integrity": "sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.22.1", - "@algolia/transporter": "4.22.1" - } - }, - "node_modules/@algolia/client-personalization": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.22.1.tgz", - "integrity": "sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.22.1", - "@algolia/requester-common": "4.22.1", - "@algolia/transporter": "4.22.1" - } - }, - "node_modules/@algolia/client-search": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.22.1.tgz", - "integrity": "sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.22.1", - "@algolia/requester-common": "4.22.1", - "@algolia/transporter": "4.22.1" - } - }, - "node_modules/@algolia/events": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", - "license": "MIT" - }, - "node_modules/@algolia/logger-common": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.22.1.tgz", - "integrity": "sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==", - "license": "MIT" - }, - "node_modules/@algolia/logger-console": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.22.1.tgz", - "integrity": "sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==", - "license": "MIT", - "dependencies": { - "@algolia/logger-common": "4.22.1" - } - }, - "node_modules/@algolia/requester-browser-xhr": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz", - "integrity": "sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.22.1" - } - }, - "node_modules/@algolia/requester-common": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.22.1.tgz", - "integrity": "sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==", - "license": "MIT" - }, - "node_modules/@algolia/requester-node-http": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz", - "integrity": "sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.22.1" - } - }, - "node_modules/@algolia/transporter": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.22.1.tgz", - "integrity": "sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==", - "license": "MIT", - "dependencies": { - "@algolia/cache-common": "4.22.1", - "@algolia/logger-common": "4.22.1", - "@algolia/requester-common": "4.22.1" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz", - "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", - "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.0", - "@babel/generator": "^7.26.0", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.0", - "@babel/parser": "^7.26.0", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.26.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", - "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.26.3", - "@babel/types": "^7.26.3", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", - "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.23.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz", - "integrity": "sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", - "license": "MIT", - "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", - "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", - "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.26.3" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", - "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", - "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", - "license": "MIT", - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", - "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz", - "integrity": "sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", - "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "license": "MIT", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", - "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz", - "integrity": "sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", - "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz", - "integrity": "sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.9", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.9", - "@babel/plugin-transform-modules-umd": "^7.23.3", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.23.4", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", - "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-react-display-name": "^7.23.3", - "@babel/plugin-transform-react-jsx": "^7.22.15", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", - "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-typescript": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "license": "MIT" - }, - "node_modules/@babel/runtime": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", - "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.9.tgz", - "integrity": "sha512-oeOFTrYWdWXCvXGB5orvMTJ6gCZ9I6FBjR+M38iKNXCsPxr4xT0RTdg5uz1H7QP8pp74IzPtwritEr+JscqHXQ==", - "license": "MIT", - "dependencies": { - "core-js-pure": "^3.30.2", - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.26.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", - "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.3", - "@babel/parser": "^7.26.3", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.3", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@docsearch/css": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", - "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==", - "license": "MIT" - }, - "node_modules/@docsearch/react": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", - "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-core": "1.9.3", - "@algolia/autocomplete-preset-algolia": "1.9.3", - "@docsearch/css": "3.5.2", - "algoliasearch": "^4.19.1" - }, - "peerDependencies": { - "@types/react": ">= 16.8.0 < 19.0.0", - "react": ">= 16.8.0 < 19.0.0", - "react-dom": ">= 16.8.0 < 19.0.0", - "search-insights": ">= 1 < 3" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "search-insights": { - "optional": true - } - } - }, - "node_modules/@docusaurus/core": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz", - "integrity": "sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.23.3", - "@babel/generator": "^7.23.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.22.9", - "@babel/preset-env": "^7.22.9", - "@babel/preset-react": "^7.22.5", - "@babel/preset-typescript": "^7.22.5", - "@babel/runtime": "^7.22.6", - "@babel/runtime-corejs3": "^7.22.6", - "@babel/traverse": "^7.22.8", - "@docusaurus/cssnano-preset": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "autoprefixer": "^10.4.14", - "babel-loader": "^9.1.3", - "babel-plugin-dynamic-import-node": "^2.3.3", - "boxen": "^6.2.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "clean-css": "^5.3.2", - "cli-table3": "^0.6.3", - "combine-promises": "^1.1.0", - "commander": "^5.1.0", - "copy-webpack-plugin": "^11.0.0", - "core-js": "^3.31.1", - "css-loader": "^6.8.1", - "css-minimizer-webpack-plugin": "^5.0.1", - "cssnano": "^6.1.2", - "del": "^6.1.1", - "detect-port": "^1.5.1", - "escape-html": "^1.0.3", - "eta": "^2.2.0", - "eval": "^0.1.8", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "html-minifier-terser": "^7.2.0", - "html-tags": "^3.3.1", - "html-webpack-plugin": "^5.5.3", - "leven": "^3.1.0", - "lodash": "^4.17.21", - "mini-css-extract-plugin": "^2.7.6", - "p-map": "^4.0.0", - "postcss": "^8.4.26", - "postcss-loader": "^7.3.3", - "prompts": "^2.4.2", - "react-dev-utils": "^12.0.1", - "react-helmet-async": "^1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", - "react-loadable-ssr-addon-v5-slorber": "^1.0.1", - "react-router": "^5.3.4", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.3.4", - "rtl-detect": "^1.0.4", - "semver": "^7.5.4", - "serve-handler": "^6.1.5", - "shelljs": "^0.8.5", - "terser-webpack-plugin": "^5.3.9", - "tslib": "^2.6.0", - "update-notifier": "^6.0.2", - "url-loader": "^4.1.1", - "webpack": "^5.88.1", - "webpack-bundle-analyzer": "^4.9.0", - "webpack-dev-server": "^4.15.1", - "webpack-merge": "^5.9.0", - "webpackbar": "^5.0.2" - }, - "bin": { - "docusaurus": "bin/docusaurus.mjs" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/core/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@docusaurus/core/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@docusaurus/core/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/@docusaurus/cssnano-preset": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz", - "integrity": "sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==", - "license": "MIT", - "dependencies": { - "cssnano-preset-advanced": "^6.1.2", - "postcss": "^8.4.38", - "postcss-sort-media-queries": "^5.2.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/cssnano-preset-advanced": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", - "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", - "license": "MIT", - "dependencies": { - "autoprefixer": "^10.4.19", - "browserslist": "^4.23.0", - "cssnano-preset-default": "^6.1.2", - "postcss-discard-unused": "^6.0.5", - "postcss-merge-idents": "^6.0.3", - "postcss-reduce-idents": "^6.0.3", - "postcss-zindex": "^6.0.2" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/postcss-discard-unused": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", - "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/postcss-merge-idents": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", - "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", - "license": "MIT", - "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/postcss-reduce-idents": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", - "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/postcss-sort-media-queries": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", - "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", - "license": "MIT", - "dependencies": { - "sort-css-media-queries": "2.2.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.4.23" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/postcss-zindex": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", - "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@docusaurus/logger": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.4.0.tgz", - "integrity": "sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@docusaurus/mdx-loader": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz", - "integrity": "sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "@mdx-js/mdx": "^3.0.0", - "@slorber/remark-comment": "^1.0.0", - "escape-html": "^1.0.3", - "estree-util-value-to-estree": "^3.0.1", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "image-size": "^1.0.2", - "mdast-util-mdx": "^3.0.0", - "mdast-util-to-string": "^4.0.0", - "rehype-raw": "^7.0.0", - "remark-directive": "^3.0.0", - "remark-emoji": "^4.0.0", - "remark-frontmatter": "^5.0.0", - "remark-gfm": "^4.0.0", - "stringify-object": "^3.3.0", - "tslib": "^2.6.0", - "unified": "^11.0.3", - "unist-util-visit": "^5.0.0", - "url-loader": "^4.1.1", - "vfile": "^6.0.1", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/module-type-aliases": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.3.2.tgz", - "integrity": "sha512-b/XB0TBJah5yKb4LYuJT4buFvL0MGAb0+vJDrJtlYMguRtsEBkf2nWl5xP7h4Dlw6ol0hsHrCYzJ50kNIOEclw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.3.2", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/module-type-aliases/node_modules/react-helmet-async": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz", - "integrity": "sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "invariant": "^2.2.4", - "react-fast-compare": "^3.2.2", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-client-redirects": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz", - "integrity": "sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "eta": "^2.2.0", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz", - "integrity": "sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "cheerio": "^1.0.0-rc.12", - "feed": "^4.2.2", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "reading-time": "^1.5.0", - "srcset": "^4.0.0", - "tslib": "^2.6.0", - "unist-util-visit": "^5.0.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz", - "integrity": "sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "@types/react-router-config": "^5.0.7", - "combine-promises": "^1.1.0", - "fs-extra": "^11.1.1", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/module-type-aliases": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", - "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.4.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/types/node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/react-helmet-async": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz", - "integrity": "sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==", - "license": "Apache-2.0", - "dependencies": { - "invariant": "^2.2.4", - "react-fast-compare": "^3.2.2", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz", - "integrity": "sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "fs-extra": "^11.1.1", - "tslib": "^2.6.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-debug": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz", - "integrity": "sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "fs-extra": "^11.1.1", - "react-json-view-lite": "^1.2.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz", - "integrity": "sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz", - "integrity": "sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "@types/gtag.js": "^0.0.12", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz", - "integrity": "sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz", - "integrity": "sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "fs-extra": "^11.1.1", - "sitemap": "^7.1.1", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/preset-classic": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz", - "integrity": "sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/plugin-debug": "3.4.0", - "@docusaurus/plugin-google-analytics": "3.4.0", - "@docusaurus/plugin-google-gtag": "3.4.0", - "@docusaurus/plugin-google-tag-manager": "3.4.0", - "@docusaurus/plugin-sitemap": "3.4.0", - "@docusaurus/theme-classic": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-search-algolia": "3.4.0", - "@docusaurus/types": "3.4.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-classic": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz", - "integrity": "sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-translations": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "@mdx-js/react": "^3.0.0", - "clsx": "^2.0.0", - "copy-text-to-clipboard": "^3.2.0", - "infima": "0.2.0-alpha.43", - "lodash": "^4.17.21", - "nprogress": "^0.2.0", - "postcss": "^8.4.26", - "prism-react-renderer": "^2.3.0", - "prismjs": "^1.29.0", - "react-router-dom": "^5.3.4", - "rtlcss": "^4.1.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/module-type-aliases": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", - "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.4.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/types/node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/theme-classic/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@docusaurus/theme-classic/node_modules/react-helmet-async": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz", - "integrity": "sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==", - "license": "Apache-2.0", - "dependencies": { - "invariant": "^2.2.4", - "react-fast-compare": "^3.2.2", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/theme-common": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz", - "integrity": "sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==", - "license": "MIT", - "dependencies": { - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^2.0.0", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^2.3.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/module-type-aliases": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", - "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.4.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/types/node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/react-helmet-async": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz", - "integrity": "sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==", - "license": "Apache-2.0", - "dependencies": { - "invariant": "^2.2.4", - "react-fast-compare": "^3.2.2", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz", - "integrity": "sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==", - "license": "MIT", - "dependencies": { - "@docsearch/react": "^3.5.2", - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-translations": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "algoliasearch": "^4.18.0", - "algoliasearch-helper": "^3.13.3", - "clsx": "^2.0.0", - "eta": "^2.2.0", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-search-algolia/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@docusaurus/theme-translations": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz", - "integrity": "sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==", - "license": "MIT", - "dependencies": { - "fs-extra": "^11.1.1", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@docusaurus/tsconfig": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.3.2.tgz", - "integrity": "sha512-2MQXkLoWqgOSiqFojNEq8iPtFBHGQqd1b/SQMoe+v3GgHmk/L6YTTO/hMcHhWb1hTFmbkei++IajSfD3RlZKvw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@docusaurus/types": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.3.2.tgz", - "integrity": "sha512-5p201S7AZhliRxTU7uMKtSsoC8mgPA9bs9b5NQg1IRdRxJfflursXNVsgc3PcMqiUTul/v1s3k3rXXFlRE890w==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/utils": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz", - "integrity": "sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@svgr/webpack": "^8.1.0", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "github-slugger": "^1.5.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "jiti": "^1.20.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "prompts": "^2.4.2", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@docusaurus/utils-common": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz", - "integrity": "sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==", - "license": "MIT", - "dependencies": { - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@docusaurus/utils-validation": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz", - "integrity": "sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "fs-extra": "^11.2.0", - "joi": "^17.9.2", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@gracefullight/docusaurus-plugin-vercel-analytics/-/docusaurus-plugin-vercel-analytics-1.0.1.tgz", - "integrity": "sha512-6Xj63GIBadwLhoDVNpRXlEs3ieTetd8ZcNGKIJ8ADT0IjZIvcIW6CZFY5RgGtxuJ4PxFXVU2DDV14M2uXXTvGQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/utils-validation": "^3" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/@docusaurus/logger": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.1.1.tgz", - "integrity": "sha512-BjkNDpQzewcTnST8trx4idSoAla6zZ3w22NqM/UMcFtvYJgmoE4layuTzlfql3VFPNuivvj7BOExa/+21y4X2Q==", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/@docusaurus/utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.1.1.tgz", - "integrity": "sha512-ZJfJa5cJQtRYtqijsPEnAZoduW6sjAQ7ZCWSZavLcV10Fw0Z3gSaPKA/B4micvj2afRZ4gZxT7KfYqe5H8Cetg==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.1.1", - "@svgr/webpack": "^6.5.1", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "github-slugger": "^1.5.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "jiti": "^1.20.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/@docusaurus/utils-validation": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.1.1.tgz", - "integrity": "sha512-KlY4P9YVDnwL+nExvlIpu79abfEv6ZCHuOX4ZQ+gtip+Wxj0daccdReIWWtqxM/Fb5Cz1nQvUCc7VEtT8IBUAA==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.1.1", - "@docusaurus/utils": "3.1.1", - "joi": "^17.9.2", - "js-yaml": "^4.1.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/@svgr/plugin-svgo": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", - "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/@svgr/webpack": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", - "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.19.6", - "@babel/plugin-transform-react-constant-elements": "^7.18.12", - "@babel/preset-env": "^7.19.4", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@svgr/core": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "@svgr/plugin-svgo": "^6.5.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "license": "MIT", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "license": "MIT", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "license": "MIT" - }, - "node_modules/@mdx-js/mdx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", - "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdx": "^2.0.0", - "collapse-white-space": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-build-jsx": "^3.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-util-to-js": "^2.0.0", - "estree-walker": "^3.0.0", - "hast-util-to-estree": "^3.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "markdown-extensions": "^2.0.0", - "periscopic": "^3.0.0", - "remark-mdx": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "source-map": "^0.7.0", - "unified": "^11.0.0", - "unist-util-position-from-estree": "^2.0.0", - "unist-util-stringify-position": "^4.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@mdx-js/mdx/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@mdx-js/react": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz", - "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==", - "license": "MIT", - "dependencies": { - "@types/mdx": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=16", - "react": ">=16" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", - "license": "MIT", - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", - "license": "MIT", - "dependencies": { - "graceful-fs": "4.2.10" - }, - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "license": "ISC" - }, - "node_modules/@pnpm/npm-conf": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", - "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", - "license": "MIT", - "dependencies": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.24", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", - "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", - "license": "MIT" - }, - "node_modules/@sideway/address": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", - "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "license": "BSD-3-Clause" - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "license": "MIT" - }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@slorber/remark-comment": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", - "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.1.0", - "micromark-util-symbol": "^1.0.1" - } - }, - "node_modules/@slorber/remark-comment/node_modules/micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/@slorber/remark-comment/node_modules/micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/@slorber/remark-comment/node_modules/micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/@slorber/remark-comment/node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", - "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", - "license": "MIT", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/core/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.0", - "entities": "^4.4.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "^6.0.0" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", - "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^8.1.3", - "deepmerge": "^4.3.1", - "svgo": "^3.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@svgr/webpack": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", - "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@babel/plugin-transform-react-constant-elements": "^7.21.3", - "@babel/preset-env": "^7.20.2", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.0", - "@svgr/core": "8.1.0", - "@svgr/plugin-jsx": "8.1.0", - "@svgr/plugin-svgo": "8.1.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz", - "integrity": "sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.24.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz", - "integrity": "sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-define-polyfill-provider/node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-plugin-utils": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", - "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-replace-supers": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", - "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", - "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz", - "integrity": "sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", - "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", - "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", - "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", - "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", - "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", - "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", - "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", - "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", - "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", - "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", - "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz", - "integrity": "sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", - "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", - "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.4", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-classes": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz", - "integrity": "sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.24.5", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", - "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/template": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz", - "integrity": "sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", - "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", - "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", - "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", - "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", - "license": "MIT", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", - "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", - "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-function-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", - "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", - "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", - "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", - "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", - "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", - "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", - "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", - "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", - "license": "MIT", - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", - "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", - "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", - "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", - "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz", - "integrity": "sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", - "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", - "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz", - "integrity": "sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz", - "integrity": "sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", - "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz", - "integrity": "sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.5", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", - "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz", - "integrity": "sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", - "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", - "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", - "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", - "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", - "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", - "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz", - "integrity": "sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-typescript": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz", - "integrity": "sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.5", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-typescript": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", - "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", - "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", - "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", - "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/preset-env": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz", - "integrity": "sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.1", - "@babel/plugin-syntax-import-attributes": "^7.24.1", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.1", - "@babel/plugin-transform-async-generator-functions": "^7.24.3", - "@babel/plugin-transform-async-to-generator": "^7.24.1", - "@babel/plugin-transform-block-scoped-functions": "^7.24.1", - "@babel/plugin-transform-block-scoping": "^7.24.5", - "@babel/plugin-transform-class-properties": "^7.24.1", - "@babel/plugin-transform-class-static-block": "^7.24.4", - "@babel/plugin-transform-classes": "^7.24.5", - "@babel/plugin-transform-computed-properties": "^7.24.1", - "@babel/plugin-transform-destructuring": "^7.24.5", - "@babel/plugin-transform-dotall-regex": "^7.24.1", - "@babel/plugin-transform-duplicate-keys": "^7.24.1", - "@babel/plugin-transform-dynamic-import": "^7.24.1", - "@babel/plugin-transform-exponentiation-operator": "^7.24.1", - "@babel/plugin-transform-export-namespace-from": "^7.24.1", - "@babel/plugin-transform-for-of": "^7.24.1", - "@babel/plugin-transform-function-name": "^7.24.1", - "@babel/plugin-transform-json-strings": "^7.24.1", - "@babel/plugin-transform-literals": "^7.24.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", - "@babel/plugin-transform-member-expression-literals": "^7.24.1", - "@babel/plugin-transform-modules-amd": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-modules-systemjs": "^7.24.1", - "@babel/plugin-transform-modules-umd": "^7.24.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.24.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", - "@babel/plugin-transform-numeric-separator": "^7.24.1", - "@babel/plugin-transform-object-rest-spread": "^7.24.5", - "@babel/plugin-transform-object-super": "^7.24.1", - "@babel/plugin-transform-optional-catch-binding": "^7.24.1", - "@babel/plugin-transform-optional-chaining": "^7.24.5", - "@babel/plugin-transform-parameters": "^7.24.5", - "@babel/plugin-transform-private-methods": "^7.24.1", - "@babel/plugin-transform-private-property-in-object": "^7.24.5", - "@babel/plugin-transform-property-literals": "^7.24.1", - "@babel/plugin-transform-regenerator": "^7.24.1", - "@babel/plugin-transform-reserved-words": "^7.24.1", - "@babel/plugin-transform-shorthand-properties": "^7.24.1", - "@babel/plugin-transform-spread": "^7.24.1", - "@babel/plugin-transform-sticky-regex": "^7.24.1", - "@babel/plugin-transform-template-literals": "^7.24.1", - "@babel/plugin-transform-typeof-symbol": "^7.24.5", - "@babel/plugin-transform-unicode-escapes": "^7.24.1", - "@babel/plugin-transform-unicode-property-regex": "^7.24.1", - "@babel/plugin-transform-unicode-regex": "^7.24.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/preset-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", - "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-syntax-jsx": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-typescript": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", - "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", - "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", - "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", - "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", - "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-preset": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", - "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", - "license": "MIT", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", - "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", - "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", - "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", - "@svgr/babel-plugin-transform-svg-component": "8.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/core": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", - "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^8.1.3", - "snake-case": "^3.0.4" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/hast-util-to-babel-ast": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", - "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.3", - "entities": "^4.4.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/plugin-jsx": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "@svgr/hast-util-to-babel-ast": "8.0.0", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@svgr/webpack/node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/babel-plugin-polyfill-corejs3/node_modules/core-js-compat": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", - "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/@svgr/webpack/node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "license": "MIT", - "dependencies": { - "defer-to-connect": "^2.0.1" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/acorn": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", - "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "license": "MIT", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.56.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", - "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "license": "MIT" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.4.tgz", - "integrity": "sha512-5idy3hvI9lAMqsyilBM+N+boaCf1MgoefbDxN6KEO5aK17TOHwFAYT9sjxzeKAiIWRUBgLxmZ9mPcnzZXtTcRQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.43", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", - "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/gtag.js": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", - "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==", - "license": "MIT" - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", - "license": "MIT" - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "license": "MIT" - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", - "license": "MIT" - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "license": "MIT" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "license": "MIT" - }, - "node_modules/@types/katex": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz", - "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==", - "license": "MIT" - }, - "node_modules/@types/mdast": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", - "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mdx": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz", - "integrity": "sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw==", - "license": "MIT" - }, - "node_modules/@types/mime": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz", - "integrity": "sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==", - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.11.20", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz", - "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==", - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "license": "MIT" - }, - "node_modules/@types/prismjs": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.3.tgz", - "integrity": "sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==", - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "license": "MIT" - }, - "node_modules/@types/qs": { - "version": "6.9.11", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", - "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==", - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.2.57", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.57.tgz", - "integrity": "sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw==", - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-router": { - "version": "5.1.20", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", - "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" - } - }, - "node_modules/@types/react-router-config": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", - "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "^5.1.0" - } - }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "license": "MIT" - }, - "node_modules/@types/sax": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", - "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "license": "MIT" - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/send/node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "license": "MIT" - }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", - "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", - "license": "MIT" - }, - "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "license": "ISC" - }, - "node_modules/@vercel/analytics": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.2.2.tgz", - "integrity": "sha512-X0rctVWkQV1e5Y300ehVNqpOfSOufo7ieA5PIdna8yX/U7Vjz0GFsGf4qvAhxV02uQ2CVt7GYcrFfddXXK2Y4A==", - "license": "MPL-2.0", - "dependencies": { - "server-only": "^0.0.1" - }, - "peerDependencies": { - "next": ">= 13", - "react": "^18 || ^19" - }, - "peerDependenciesMeta": { - "next": { - "optional": true - }, - "react": { - "optional": true - } - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "license": "Apache-2.0" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "license": "MIT", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/algoliasearch": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.1.tgz", - "integrity": "sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==", - "license": "MIT", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.22.1", - "@algolia/cache-common": "4.22.1", - "@algolia/cache-in-memory": "4.22.1", - "@algolia/client-account": "4.22.1", - "@algolia/client-analytics": "4.22.1", - "@algolia/client-common": "4.22.1", - "@algolia/client-personalization": "4.22.1", - "@algolia/client-search": "4.22.1", - "@algolia/logger-common": "4.22.1", - "@algolia/logger-console": "4.22.1", - "@algolia/requester-browser-xhr": "4.22.1", - "@algolia/requester-common": "4.22.1", - "@algolia/requester-node-http": "4.22.1", - "@algolia/transporter": "4.22.1" - } - }, - "node_modules/algoliasearch-helper": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.16.2.tgz", - "integrity": "sha512-Yl/Gu5Cq4Z5s/AJ0jR37OPI1H3+z7PHz657ibyaXgMOaWvPlZ3OACN13N+7HCLPUlB0BN+8BtmrG/CqTilowBA==", - "license": "MIT", - "dependencies": { - "@algolia/events": "^4.0.1" - }, - "peerDependencies": { - "algoliasearch": ">= 3.1 < 6" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "license": "ISC", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "engines": [ - "node >= 0.8.0" - ], - "license": "Apache-2.0", - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "license": "MIT" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/assert": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", - "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "is-nan": "^1.3.2", - "object-is": "^1.1.5", - "object.assign": "^4.1.4", - "util": "^0.12.5" - } - }, - "node_modules/astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", - "license": "MIT", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.17", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", - "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.22.2", - "caniuse-lite": "^1.0.30001578", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", - "license": "MIT", - "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "license": "MIT", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", - "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.5.0", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", - "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0", - "core-js-compat": "^3.34.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", - "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "license": "MIT" - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/bonjour-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", - "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "license": "ISC" - }, - "node_modules/boxen": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", - "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^6.2.0", - "chalk": "^4.1.2", - "cli-boxes": "^3.0.0", - "string-width": "^5.0.1", - "type-fest": "^2.5.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT" - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", - "license": "MIT", - "engines": { - "node": ">=14.16" - } - }, - "node_modules/cacheable-request": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", - "license": "MIT", - "dependencies": { - "@types/http-cache-semantics": "^4.0.2", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/cacheable-request/node_modules/mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001687", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz", - "integrity": "sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", - "license": "MIT", - "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" - }, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" - } - }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cheerio-select/node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "license": "MIT", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/clean-css": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", - "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", - "license": "MIT", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "license": "MIT", - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/cli-table3/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/cli-table3/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/collapse-white-space": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", - "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "license": "MIT" - }, - "node_modules/combine-promises": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", - "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "license": "ISC" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" - }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "license": "MIT", - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/configstore": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", - "license": "BSD-2-Clause", - "dependencies": { - "dot-prop": "^6.0.1", - "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", - "write-file-atomic": "^3.0.3", - "xdg-basedir": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/yeoman/configstore?sponsor=1" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "license": "MIT" - }, - "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "license": "MIT" - }, - "node_modules/copy-text-to-clipboard": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", - "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "license": "MIT", - "dependencies": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "license": "MIT", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", - "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.22.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.0.tgz", - "integrity": "sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ==", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "license": "MIT", - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", - "license": "MIT", - "dependencies": { - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/crypto-random-string/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/css-declaration-sorter": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", - "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", - "license": "ISC", - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-loader": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", - "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", - "license": "MIT", - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.4", - "postcss-modules-scope": "^3.1.1", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/css-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", - "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "cssnano": "^6.0.1", - "jest-worker": "^29.4.3", - "postcss": "^8.4.24", - "schema-utils": "^4.0.1", - "serialize-javascript": "^6.0.1" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "lightningcss": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-select/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/css-select/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/css-select/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/css-select/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", - "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", - "license": "MIT", - "dependencies": { - "cssnano-preset-default": "^6.1.2", - "lilconfig": "^3.1.1" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-preset-default": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", - "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^4.0.2", - "postcss-calc": "^9.0.1", - "postcss-colormin": "^6.1.0", - "postcss-convert-values": "^6.1.0", - "postcss-discard-comments": "^6.0.2", - "postcss-discard-duplicates": "^6.0.3", - "postcss-discard-empty": "^6.0.3", - "postcss-discard-overridden": "^6.0.2", - "postcss-merge-longhand": "^6.0.5", - "postcss-merge-rules": "^6.1.1", - "postcss-minify-font-values": "^6.1.0", - "postcss-minify-gradients": "^6.0.3", - "postcss-minify-params": "^6.1.0", - "postcss-minify-selectors": "^6.0.4", - "postcss-normalize-charset": "^6.0.2", - "postcss-normalize-display-values": "^6.0.2", - "postcss-normalize-positions": "^6.0.2", - "postcss-normalize-repeat-style": "^6.0.2", - "postcss-normalize-string": "^6.0.2", - "postcss-normalize-timing-functions": "^6.0.2", - "postcss-normalize-unicode": "^6.1.0", - "postcss-normalize-url": "^6.0.2", - "postcss-normalize-whitespace": "^6.0.2", - "postcss-ordered-values": "^6.0.2", - "postcss-reduce-initial": "^6.1.0", - "postcss-reduce-transforms": "^6.0.2", - "postcss-svgo": "^6.0.3", - "postcss-unique-selectors": "^6.0.4" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-utils": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", - "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "license": "MIT", - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "license": "CC0-1.0" - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "license": "MIT", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "license": "BSD-2-Clause", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "license": "MIT", - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "license": "MIT" - }, - "node_modules/detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", - "license": "MIT", - "dependencies": { - "address": "^1.0.1", - "debug": "4" - }, - "bin": { - "detect": "bin/detect-port.js", - "detect-port": "bin/detect-port.js" - } - }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "license": "MIT", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "license": "MIT", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "license": "MIT", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", - "license": "MIT", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dot-prop/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "license": "MIT" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.72", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.72.tgz", - "integrity": "sha512-ZpSAUOZ2Izby7qnZluSrAlGgGQzucmFbN0n64dYzocYxnxV5ufurpj3VgEe4cUp7ir9LmeLxNYo8bVnlM8bQHw==", - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/emojilib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", - "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", - "license": "MIT" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/emoticon": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz", - "integrity": "sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", - "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", - "license": "MIT" - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-goat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-util-attach-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", - "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-build-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", - "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-walker": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-to-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", - "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-to-js/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/estree-util-value-to-estree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz", - "integrity": "sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "is-plain-obj": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/remcohaszing" - } - }, - "node_modules/estree-util-visit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", - "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eta": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", - "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "url": "https://github.com/eta-dev/eta?sponsor=1" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eval": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", - "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", - "dependencies": { - "@types/node": "*", - "require-like": ">= 0.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "license": "MIT" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "license": "MIT" - }, - "node_modules/fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "license": "MIT", - "dependencies": { - "punycode": "^1.3.2" - } - }, - "node_modules/fast-url-parser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fault": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", - "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", - "license": "MIT", - "dependencies": { - "format": "^0.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/feed": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", - "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", - "license": "MIT", - "dependencies": { - "xml-js": "^1.6.11" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", - "license": "MIT", - "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, - "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==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/form-data-encoder": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", - "license": "MIT", - "engines": { - "node": ">= 14.17" - } - }, - "node_modules/format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "license": "Unlicense" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "license": "ISC" - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/github-slugger": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", - "license": "ISC" - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "license": "BSD-2-Clause" - }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "license": "MIT", - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/global-dirs/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "license": "MIT", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "license": "MIT", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/got/node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "license": "MIT", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "license": "MIT" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-yarn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", - "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hast-util-definition-list": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-definition-list/-/hast-util-definition-list-2.0.0.tgz", - "integrity": "sha512-EnkqD6a7R1fwyC9F5R6fu0ucpcwfkxjiga7/G8J7KU+uuUHVENzmgo/Da68fZBy9SZAkQOAC/8gK3m2BnuutUg==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.1", - "@types/mdast": "^4.0.1", - "@types/unist": "^3.0.0", - "hast-util-to-mdast": "^10.1.0", - "mdast-util-definition-list": "^2.0.0", - "mdast-util-phrasing": "^4.0.0" - } - }, - "node_modules/hast-util-embedded": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", - "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-is-element": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-embedded/node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-dom": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.0.tgz", - "integrity": "sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg==", - "license": "ISC", - "dependencies": { - "@types/hast": "^3.0.0", - "hastscript": "^8.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-html": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz", - "integrity": "sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.1.0", - "hast-util-from-parse5": "^8.0.0", - "parse5": "^7.0.0", - "vfile": "^6.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-html-isomorphic": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", - "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-from-dom": "^5.0.0", - "hast-util-from-html": "^2.0.0", - "unist-util-remove-position": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", - "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^8.0.0", - "property-information": "^6.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-has-property": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", - "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-body-ok-link": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.0.tgz", - "integrity": "sha512-VFHY5bo2nY8HiV6nir2ynmEB1XkxzuUffhEGeVx7orbu/B1KaGyeGgMZldvMVx5xWrDlLLG/kQ6YkJAMkBEx0w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-element": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz", - "integrity": "sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-phrasing": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", - "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-embedded": "^3.0.0", - "hast-util-has-property": "^3.0.0", - "hast-util-is-body-ok-link": "^3.0.0", - "hast-util-is-element": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-phrasing/node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.2.tgz", - "integrity": "sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-from-parse5": "^8.0.0", - "hast-util-to-parse5": "^8.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "parse5": "^7.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-estree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", - "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-attach-comments": "^3.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.0", - "unist-util-position": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-html": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz", - "integrity": "sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-raw": "^9.0.0", - "hast-util-whitespace": "^3.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.0", - "zwitch": "^2.0.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", - "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz", - "integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==", - "license": "MIT" - }, - "node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz", - "integrity": "sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.2.2" - } - }, - "node_modules/hast-util-to-mdast": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.0.tgz", - "integrity": "sha512-DsL/SvCK9V7+vfc6SLQ+vKIyBDXTk2KLSbfBYkH4zeF/uR1yBajHRhkzuaUSGOB1WJSTieJBdHwxlC+HLKvZZw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-phrasing": "^3.0.0", - "hast-util-to-html": "^9.0.0", - "hast-util-to-text": "^4.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "mdast-util-to-string": "^4.0.0", - "rehype-minify-whitespace": "^6.0.0", - "trim-trailing-lines": "^2.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", - "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-text": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.0.tgz", - "integrity": "sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "unist-util-find-after": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-text/node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", - "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "license": "BSD-3-Clause", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ], - "license": "MIT" - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "license": "MIT" - }, - "node_modules/html-minifier-terser": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", - "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", - "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "~5.3.2", - "commander": "^10.0.0", - "entities": "^4.4.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.15.1" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" - } - }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/html-webpack-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", - "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", - "license": "MIT", - "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.20.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/html-webpack-plugin/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "license": "BSD-2-Clause" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "license": "MIT" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "license": "MIT", - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", - "license": "MIT", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", - "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", - "license": "MIT", - "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=16.x" - } - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/infima": { - "version": "0.2.0-alpha.43", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz", - "integrity": "sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" - }, - "node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", - "license": "MIT" - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "license": "MIT", - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "license": "MIT", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-nan": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", - "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-npm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", - "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-reference": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", - "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "license": "MIT" - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-yarn-global": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", - "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/joi": { - "version": "17.12.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", - "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/katex": { - "version": "0.16.9", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz", - "integrity": "sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==", - "funding": [ - "https://opencollective.com/katex", - "https://github.com/sponsors/katex" - ], - "license": "MIT", - "dependencies": { - "commander": "^8.3.0" - }, - "bin": { - "katex": "cli.js" - } - }, - "node_modules/katex/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/latest-version": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", - "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", - "license": "MIT", - "dependencies": { - "package-json": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", - "license": "MIT", - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "license": "MIT", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "license": "MIT" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "license": "MIT" - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/markdown-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", - "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/markdown-table": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", - "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-definition-list": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definition-list/-/mdast-util-definition-list-2.0.0.tgz", - "integrity": "sha512-aFWuASQs77BJndNSDcNdvB1HRqWZBptcEjwv67mnPbaAZsfwMHxI8MwoQxAz4I2bHx41hft/HDRC57ZkhpayOQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.1", - "@types/unist": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-hast": "^13.0.2", - "mdast-util-to-markdown": "^2.1.0", - "micromark-extension-definition-list": "^2.0.0", - "unist-builder": "^4.0.0" - } - }, - "node_modules/mdast-util-directive": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", - "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", - "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", - "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "escape-string-regexp": "^5.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-extension-frontmatter": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", - "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-math": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", - "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "longest-streak": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.1.0", - "unist-util-remove-position": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", - "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", - "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.0.tgz", - "integrity": "sha512-A8AJHlR7/wPQ3+Jre1+1rq040fX9A4Q1jG8JxmSNp/PLPHg80A6475wxTp3KzHpApFH6yWxFotHrJQA3dXP6/w==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^5.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz", - "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", - "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "license": "CC0-1.0" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz", - "integrity": "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==", - "license": "Unlicense", - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "license": "MIT" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromark": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", - "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", - "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-definition-list": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-definition-list/-/micromark-extension-definition-list-2.0.0.tgz", - "integrity": "sha512-92SSfTdG7YIXiYj60sNDPoo3MTJXK94LRLfKsoDHgDqiE61p4w4pzdyCc9SuoQ74/bzb5SXPVK11kjlYnIjzKA==", - "license": "MIT", - "dependencies": { - "assert": "^2.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.1", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "ts-dedent": "^2.2.0" - } - }, - "node_modules/micromark-extension-directive": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz", - "integrity": "sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "parse-entities": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-frontmatter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", - "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", - "license": "MIT", - "dependencies": { - "fault": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "license": "MIT", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", - "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", - "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-math": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", - "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", - "license": "MIT", - "dependencies": { - "@types/katex": "^0.16.0", - "devlop": "^1.0.0", - "katex": "^0.16.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-expression": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", - "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-jsx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", - "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", - "license": "MIT", - "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-md": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", - "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", - "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", - "license": "MIT", - "dependencies": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^3.0.0", - "micromark-extension-mdx-jsx": "^3.0.0", - "micromark-extension-mdx-md": "^2.0.0", - "micromark-extension-mdxjs-esm": "^3.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs-esm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", - "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", - "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", - "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", - "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", - "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", - "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", - "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", - "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", - "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", - "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", - "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", - "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", - "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-events-to-acorn": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", - "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - } - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", - "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", - "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", - "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", - "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", - "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", - "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.0.tgz", - "integrity": "sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg==", - "license": "MIT", - "dependencies": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "license": "ISC" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "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==", - "license": "MIT" - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "license": "MIT", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "license": "MIT" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-emoji": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", - "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^4.6.0", - "char-regex": "^1.0.2", - "emojilib": "^2.4.0", - "skin-tone": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", - "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", - "license": "MIT" - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "license": "MIT" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "license": "MIT", - "engines": { - "node": ">=12.20" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "license": "MIT", - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", - "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", - "license": "MIT", - "dependencies": { - "got": "^12.1.0", - "registry-auth-token": "^5.0.1", - "registry-url": "^6.0.0", - "semver": "^7.3.7" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-json/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/package-json/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/package-json/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", - "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", - "license": "MIT" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-numeric-range": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", - "license": "ISC" - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "license": "MIT", - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "license": "MIT", - "dependencies": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "license": "(WTFPL OR MIT)" - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", - "license": "MIT" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/periscopic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", - "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^3.0.0", - "is-reference": "^3.0.0" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "license": "MIT", - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "license": "MIT", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "license": "MIT", - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "license": "MIT", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/pkg-dir/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-colormin": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", - "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "colord": "^2.9.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-convert-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", - "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-comments": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", - "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", - "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-empty": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", - "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", - "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-loader": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", - "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^8.3.5", - "jiti": "^1.20.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-loader/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/postcss-merge-longhand": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", - "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.1.1" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-merge-rules": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", - "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.2", - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", - "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", - "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", - "license": "MIT", - "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-params": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", - "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", - "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", - "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", - "license": "MIT", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", - "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", - "license": "ISC", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", - "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", - "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", - "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", - "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-string": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", - "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", - "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", - "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", - "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", - "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-ordered-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", - "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", - "license": "MIT", - "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", - "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", - "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", - "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", - "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.2.0" - }, - "engines": { - "node": "^14 || ^16 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", - "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "license": "MIT" - }, - "node_modules/postcss/node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "license": "MIT", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/prism-react-renderer": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz", - "integrity": "sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==", - "license": "MIT", - "dependencies": { - "@types/prismjs": "^1.26.0", - "clsx": "^2.0.0" - }, - "peerDependencies": { - "react": ">=16.0.0" - } - }, - "node_modules/prism-react-renderer/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/property-information": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.1.tgz", - "integrity": "sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "license": "ISC" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pupa": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", - "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", - "license": "MIT", - "dependencies": { - "escape-goat": "^4.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "license": "MIT", - "dependencies": { - "inherits": "~2.0.3" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "license": "MIT", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", - "license": "MIT" - }, - "node_modules/react-fast-compare": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", - "license": "MIT" - }, - "node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-icons": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz", - "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==", - "license": "MIT", - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/react-json-view-lite": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.2.1.tgz", - "integrity": "sha512-Itc0g86fytOmKZoIoJyGgvNqohWSbh3NXIKNgH6W6FT9PC1ck4xas1tT3Rr/b3UlFXyA9Jjaw9QSXdZy2JwGMQ==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-loadable": { - "name": "@docusaurus/react-loadable", - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", - "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", - "license": "MIT", - "dependencies": { - "@types/react": "*" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-loadable-ssr-addon-v5-slorber": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", - "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.3" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "react-loadable": "*", - "webpack": ">=4.41.1 || 5.x" - } - }, - "node_modules/react-router": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", - "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router-config": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", - "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.1.2" - }, - "peerDependencies": { - "react": ">=15", - "react-router": ">=5" - } - }, - "node_modules/react-router-dom": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", - "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.3.4", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router/node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reading-time": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==", - "license": "MIT" - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "license": "MIT", - "dependencies": { - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "license": "MIT", - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/registry-auth-token": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", - "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", - "license": "MIT", - "dependencies": { - "@pnpm/npm-conf": "^2.1.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/registry-url": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", - "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", - "license": "MIT", - "dependencies": { - "rc": "1.2.8" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/rehype-katex": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz", - "integrity": "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/katex": "^0.16.0", - "hast-util-from-html-isomorphic": "^2.0.0", - "hast-util-to-text": "^4.0.0", - "katex": "^0.16.0", - "unist-util-visit-parents": "^6.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-minify-whitespace": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.0.tgz", - "integrity": "sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-embedded": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-minify-whitespace/node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-raw": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", - "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-raw": "^9.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remark-definition-list": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-definition-list/-/remark-definition-list-2.0.0.tgz", - "integrity": "sha512-OOJ0zUrfUGITUNxOBnsipyFUjqq1m4AgYOqQk10jDXyz+RoODJL3qYvRn8qzYQDzRnz1wlCP3dbDEOpl05LlQw==", - "license": "MIT", - "dependencies": { - "hast-util-definition-list": "^2.0.0", - "mdast-util-definition-list": "^2.0.0", - "micromark-extension-definition-list": "^2.0.0" - } - }, - "node_modules/remark-directive": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", - "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-directive": "^3.0.0", - "micromark-extension-directive": "^3.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-emoji": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", - "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.2", - "emoticon": "^4.0.1", - "mdast-util-find-and-replace": "^3.0.1", - "node-emoji": "^2.1.0", - "unified": "^11.0.4" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/remark-frontmatter": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", - "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-frontmatter": "^2.0.0", - "micromark-extension-frontmatter": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", - "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-math": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", - "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-math": "^3.0.0", - "micromark-extension-math": "^3.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", - "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", - "license": "MIT", - "dependencies": { - "mdast-util-mdx": "^3.0.0", - "micromark-extension-mdxjs": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", - "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "license": "MIT", - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "node_modules/renderkid/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", - "engines": { - "node": "*" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "license": "MIT" - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", - "license": "MIT" - }, - "node_modules/responselike": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", - "license": "MIT", - "dependencies": { - "lowercase-keys": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rtl-detect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", - "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==", - "license": "BSD-3-Clause" - }, - "node_modules/rtlcss": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.1.1.tgz", - "integrity": "sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==", - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0", - "postcss": "^8.4.21", - "strip-json-comments": "^3.1.1" - }, - "bin": { - "rtlcss": "bin/rtlcss.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", - "license": "ISC" - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" - }, - "node_modules/search-insights": { - "version": "2.17.3", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", - "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", - "license": "MIT", - "peer": true - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "license": "MIT" - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "license": "MIT", - "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", - "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", - "license": "MIT", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semver-diff/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-diff/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-diff/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-handler": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", - "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", - "license": "MIT", - "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.1.2", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - } - }, - "node_modules/serve-handler/node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "license": "MIT", - "dependencies": { - "mime-db": "~1.33.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "license": "ISC" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "license": "ISC" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "license": "MIT", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/server-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz", - "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==", - "license": "MIT" - }, - "node_modules/set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.2", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "license": "BSD-3-Clause", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/side-channel": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", - "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, - "node_modules/sirv": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "license": "MIT" - }, - "node_modules/sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", - "license": "MIT", - "dependencies": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "bin": { - "sitemap": "dist/cli.js" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=5.6.0" - } - }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "license": "MIT" - }, - "node_modules/skin-tone": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", - "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", - "license": "MIT", - "dependencies": { - "unicode-emoji-modifier-base": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/snake-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", - "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "license": "MIT", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sort-css-media-queries": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", - "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", - "license": "MIT", - "engines": { - "node": ">= 6.3.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, - "node_modules/srcset": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", - "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "license": "MIT" - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", - "license": "MIT" - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/stringify-entities": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", - "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", - "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "license": "BSD-2-Clause", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-to-object": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", - "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.1.1" - } - }, - "node_modules/stylehacks": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", - "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "license": "MIT" - }, - "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", - "license": "MIT", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/svgo/node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/svgo/node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/svgo/node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "license": "CC0-1.0" - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.27.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.2.tgz", - "integrity": "sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w==", - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "license": "MIT" - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "license": "MIT" - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "license": "MIT" - }, - "node_modules/tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==", - "license": "MIT" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "license": "MIT" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trim-trailing-lines": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz", - "integrity": "sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-dedent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", - "license": "MIT", - "engines": { - "node": ">=6.10" - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "license": "0BSD" - }, - "node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "license": "MIT" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-emoji-modifier-base": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", - "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unique-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", - "license": "MIT", - "dependencies": { - "crypto-random-string": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/unist-builder": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-4.0.0.tgz", - "integrity": "sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-find-after": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", - "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", - "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", - "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-notifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", - "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", - "license": "BSD-2-Clause", - "dependencies": { - "boxen": "^7.0.0", - "chalk": "^5.0.1", - "configstore": "^6.0.0", - "has-yarn": "^3.0.0", - "import-lazy": "^4.0.0", - "is-ci": "^3.0.1", - "is-installed-globally": "^0.4.0", - "is-npm": "^6.0.0", - "is-yarn-global": "^0.4.0", - "latest-version": "^7.0.0", - "pupa": "^3.1.0", - "semver": "^7.3.7", - "semver-diff": "^4.0.0", - "xdg-basedir": "^5.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/update-notifier/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/update-notifier/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", - "license": "MIT" - }, - "node_modules/utility-types": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", - "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", - "license": "MIT" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", - "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/webpack": { - "version": "5.90.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", - "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", - "license": "MIT", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", - "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", - "license": "MIT", - "dependencies": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "commander": "^7.2.0", - "debounce": "^1.2.1", - "escape-string-regexp": "^4.0.0", - "gzip-size": "^6.0.0", - "html-escaper": "^2.0.2", - "is-plain-object": "^5.0.0", - "opener": "^1.5.2", - "picocolors": "^1.0.0", - "sirv": "^2.0.3", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "license": "MIT", - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", - "license": "MIT", - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpackbar": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", - "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "consola": "^2.15.3", - "pretty-time": "^1.1.0", - "std-env": "^3.0.1" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "webpack": "3 || 4 || 5" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "license": "Apache-2.0", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "license": "Apache-2.0", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", - "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "license": "MIT", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "license": "MIT" - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xdg-basedir": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", - "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "license": "MIT", - "dependencies": { - "sax": "^1.2.4" - }, - "bin": { - "xml-js": "bin/cli.js" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "license": "ISC" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - } -} diff --git a/package.json b/package.json index 59e08f1d79..b244a9c9c1 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,8 @@ "@docusaurus/plugin-client-redirects": "^3.7.0", "@docusaurus/plugin-content-docs": "^3.7.0", "@docusaurus/preset-classic": "^3.7.0", - "@docusaurus/theme-common": "^3.7.0", "@docusaurus/theme-classic": "^3.7.0", + "@docusaurus/theme-common": "^3.7.0", "@docusaurus/theme-search-algolia": "^3.7.0", "@gracefullight/docusaurus-plugin-vercel-analytics": "^1.0.0", "@mdx-js/react": "^3.0.0", From f7beed0dc0cccff355c7a95ae81851a0f386536e Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 11 Jun 2025 08:03:03 -0700 Subject: [PATCH 062/303] wip --- docs/subnets/yc3-blog.md | 2 +- docs/subnets/yuma3-migration-guide.md | 2 +- docs/yuma-consensus.md | 4 ++-- sidebars.js | 5 ++--- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/subnets/yc3-blog.md b/docs/subnets/yc3-blog.md index d63b8d08b4..3d93ec3817 100644 --- a/docs/subnets/yc3-blog.md +++ b/docs/subnets/yc3-blog.md @@ -85,7 +85,7 @@ B_{ij}^{(t)} = \alpha \,\Delta B_{ij} + (1-\alpha)\,B_{ij}^{(t-1)} $$ -However, YC3's innovation is that α can now be different for each validator-miner pair rather than uniform across all bonds. The system also applies a bonds penalty factor β when validator weights exceed consensus, helping maintain anti-fraud protection. For the complete mathematical treatment, see the main article on [Yuma Consensus](./yuma-consensus.md#bonding-mechanics). +However, YC3's innovation is that α can now be different for each validator-miner pair rather than uniform across all bonds. The system also applies a bonds penalty factor β when validator weights exceed consensus, helping maintain anti-fraud protection. For the complete mathematical treatment, see the main article on [Yuma Consensus](../yuma-consensus.md#bonding-mechanics). ### How Validators Acquire Bonds diff --git a/docs/subnets/yuma3-migration-guide.md b/docs/subnets/yuma3-migration-guide.md index 8bf23f893b..40dc347766 100644 --- a/docs/subnets/yuma3-migration-guide.md +++ b/docs/subnets/yuma3-migration-guide.md @@ -7,7 +7,7 @@ title: "Yuma Consensus 3 (YC3) Migration Guide" Yuma Consensus 3 (YC3) is the latest version of the Yuma Consensus mechanism with significant improvements to validator fairness, bond mechanics, and precision handling. This guide will help subnet owners understand what's changed and how to migrate. See also: -- [How Yuma Consensus 3 Makes Bittensor More Fair](../yc3-blog.md) - Technical deep dive and mathematical foundations +- [How Yuma Consensus 3 Makes Bittensor More Fair](./yc3-blog.md) - Technical deep dive and mathematical foundations - [Subnet Hyperparameters](./subnet-hyperparameters.md) - Complete parameter reference - [Yuma Consensus](../yuma-consensus.md) - Understanding the consensus mechanism - [Subnet Creation](./create-a-subnet.md) - Creating new subnets with YC3 diff --git a/docs/yuma-consensus.md b/docs/yuma-consensus.md index 54521c2e4e..6e695c1c0d 100644 --- a/docs/yuma-consensus.md +++ b/docs/yuma-consensus.md @@ -13,8 +13,8 @@ Each of a subnet's validators periodically submit a vector of weights ranking th The algorithm is designed to more heavily weight the inputs of more trusted validators, in order to ignore the portion of the validation signal that is less reliable. By disregarding unreliable weight-settings, YC incentivizes validators to be worthy of trust by working hard to give consistent, fast, honest evaluations of miners that predict the eventual convergence of other validators' evaluations. YC incentivizes miners to work hard for the highest combined evaluation by the community of validators. See: -- [How Yuma Consensus 3 Makes Bittensor More Fair](./yc3-blog) -- [Yuma Consensus 3 Migration Guide](./yc3-migration) +- [How Yuma Consensus 3 Makes Bittensor More Fair](./subnets/yc3-blog) +- [Yuma Consensus 3 Migration Guide](./subnets/yuma3-migration-guide) - [Emissions](./emissions) - [Subtensor Docs: Yuma Consensus](https://github.com/opentensor/subtensor/blob/main/docs/consensus.md) diff --git a/sidebars.js b/sidebars.js index a187115c9b..6134e9edd6 100644 --- a/sidebars.js +++ b/sidebars.js @@ -41,9 +41,8 @@ const sidebars = { "learn/anatomy-of-incentive-mechanism", "emissions", "yuma-consensus", - "yc3-blog", - "yc3-migration" - + "subnets/yc3-blog", + "subnets/yuma3-migration-guide" ], }, { From c7b0f2b334334497b7fc961bd26b8bfb80850323 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 11 Jun 2025 08:04:41 -0700 Subject: [PATCH 063/303] wip --- sidebars.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sidebars.js b/sidebars.js index 6134e9edd6..91e7959bb6 100644 --- a/sidebars.js +++ b/sidebars.js @@ -42,7 +42,6 @@ const sidebars = { "emissions", "yuma-consensus", "subnets/yc3-blog", - "subnets/yuma3-migration-guide" ], }, { @@ -97,6 +96,7 @@ const sidebars = { "subnets/walkthrough-prompting", "tutorials/basic-subnet-tutorials", "tutorials/ocr-subnet-tutorial", + "subnets/yuma3-migration-guide" ], }, { From 5207f36d3ba4cd31a1999235bed86ae3ea476384 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 11 Jun 2025 18:45:17 +0100 Subject: [PATCH 064/303] docs: final copy --- .../coldkey-hotkey-security.md | 68 +++++++--------- docs/getting-started/install-btcli.md | 65 ++++++++------- docs/getting-started/wallets.md | 52 ++++++------ docs/keys/handle-seed-phrase.md | 33 ++++---- docs/learn/anatomy-of-incentive-mechanism.md | 20 ++--- docs/learn/bittensor-building-blocks.md | 34 ++++---- docs/staking-and-delegation/delegation.md | 81 ++++++++++--------- docs/working-with-keys.md | 44 ++++++---- docs/yuma-consensus.md | 4 + 9 files changed, 213 insertions(+), 188 deletions(-) diff --git a/docs/getting-started/coldkey-hotkey-security.md b/docs/getting-started/coldkey-hotkey-security.md index 9144697eae..1a14e3549e 100644 --- a/docs/getting-started/coldkey-hotkey-security.md +++ b/docs/getting-started/coldkey-hotkey-security.md @@ -22,25 +22,26 @@ The workstations you use to do this work can be referred to as a permissionless ## Permissionless workstation -You can check public information about Bittensor wallets (including your TAO and alpha stake balances), subnets, validators, and more *without* using a (coldkey or hotkey) private key. This is because transaction information is public on the Bittensor blockchain, with parties being identified by their wallet's coldkey public key. +You can check public information about Bittensor wallets (including your TAO and alpha stake balances), subnets, validators, and more _without_ using a (coldkey or hotkey) private key. This is because transaction information is public on the Bittensor blockchain, with parties being identified by their wallet's coldkey public key. -When you use a website and apps with *only your public key*, this is considered "permissionless" work. Whenever possible, you should do permissionless work on a **permissionless workstation**, meaning a device (laptop or desktop computer, mobile phone, tablet, etc.) that does *not* have your coldkey private key loaded into it. +When you use a website and apps with _only your public key_, this is considered "permissionless" work. Whenever possible, you should do permissionless work on a **permissionless workstation**, meaning a device (laptop or desktop computer, mobile phone, tablet, etc.) that does _not_ have your coldkey private key loaded into it. -In other words, don't use your coldkey private key when you don't have to, and avoiding loading it into devices unnecessarily. Every device that *does* have your coldkey private key loaded into it is a **coldkey workstation**, and should be used with security precautions. +In other words, don't use your coldkey private key when you don't have to, and avoiding loading it into devices unnecessarily. Every device that _does_ have your coldkey private key loaded into it is a **coldkey workstation**, and should be used with security precautions. -When you just want to read/check the state of the blockchain (balances, emissions, token prices, etc.) and you don't need to use your coldkey to *change* anything (for exmaple, to transfer TAO or move stake), it is preferable to use a permissionless workstation. +When you just want to read/check the state of the blockchain (balances, emissions, token prices, etc.) and you don't need to use your coldkey to _change_ anything (for exmaple, to transfer TAO or move stake), it is preferable to use a permissionless workstation. To use the Bittensor CLI `btcli` as a permissionless workstation: -1. Importing your coldkey ***public key*** (not private key) with: - ```shell - btcli w regen-coldkeypub --ss58 - ``` +1. Importing your coldkey **_public key_** (not private key) with: -1. View your balances and stakes, as well as information about the Bittensor blockchain, subnets, miners, validators, etc., simply by running: - ```shell - btcli view dashboard - ``` + ```shell + btcli w regen-coldkeypub --ss58 + ``` + +1. View your balances and stakes, as well as information about the Bittensor blockchain, subnets, miners, validators, etc., simply by running: + ```shell + btcli view dashboard + ``` Websites that offer permissionless browsing of Bittensor data include: @@ -49,22 +50,21 @@ Websites that offer permissionless browsing of Bittensor data include: ## Coldkey workstation -Your coldkey private key, accessible with your recovery [seed phrase](./wallets#the-seed-phrase-aka-mnemonic), is the complete representation of your identity to Bittensor. In otherwords, holding the coldkey or seed phrase is the ultimate authority over your Bittensor wallet. If your coldkey key is leaked or stolen allows an attacker holder to transfer (steal) your TAO, redelegate your stakes, or take other actions that can’t be reversed. Conversely, without your coldkey private key or the seed phrase, there is no possible way to recover access to your wallet. +Your coldkey private key, accessible with your recovery [seed phrase](./wallets#the-seed-phrase-aka-mnemonic), is the complete representation of your identity to Bittensor. In otherwords, holding the coldkey or seed phrase is the ultimate authority over your Bittensor wallet. If your coldkey key is leaked or stolen, it allows an attacker holder to transfer (steal) your TAO, redelegate your stakes, or take other actions that can’t be reversed. Conversely, without your coldkey private key or the seed phrase, there is no possible way to recover access to your wallet. Because of these high stakes, best practices should be diligently followed. Always prioritize confidentiality and integrity over convenience when handling coldkeys. - ### Isolation of coldkey operations The first principle is to isolate coldkey operations from day-to-day or internet-exposed systems. This means using a dedicated machine that is minimally connected to the internet, protected with full disk encryption, and has only highly trusted software installed to minimize the risk of malware or keyloggers intercepting your coldkey. In short, you should approach all operations involving your coldkey management as high-value, mission-critical, and laden with inherent risk. -Ensure a clear boundary between coldkey operations and the working environment you use to carry them out, and everything else. +Ensure a clear boundary between coldkey operations and the working environment you use to carry them out, and everything else. -:::tip Coldkeys do not mine +:::warning Do not mine with coldkeys -Miners will need coldkeys to manage their TAO and alpha currency, as well as hotkeys to serve requests. Ensure there is a clear boundary: The coldkey should **never** be on an environment with untrusted ML code from containers, frameworks, or libraries that might exfiltrate secrets. +Miners will need coldkeys to manage their TAO and alpha currency, as well as hotkeys to serve requests. Miners must ensure that there is a clear boundary—the coldkey should **never** be on an environment with untrusted ML code from containers, frameworks, or libraries that might exfiltrate secrets. ::: ### Coldkey mobile device @@ -82,15 +82,14 @@ This is required for using `btcli` or the Bittensor Python SDK for advanced use ### Operational Hygiene Even on a minimal or air-gapped machine, follow standard security hygiene: + - Always [Handle your Seed Phrase/Mnemonic Securely](../keys/handle-seed-phrase). -- Use strong passwords for your encryption passphrases. -- Do not reuse credentials across different environments. +- Use strong passwords for your encryption passphrases. +- Do not reuse credentials across different environments. - Keep your workstation’s operating system and critical software updated with the latest security patches. - Disable all network services (SSH, RDP, or anything else) that are not strictly needed. - Maintain logs of important oprations. - - ### Rotating your coldkey If you suspect your coldkey may have been leaked, you can request to swap it out of your wallet, using an extrinsic blockchain transaction. This operation has a 5 day waiting period, during which your coldkey will be locked. The cost of this coldkey swap transaction is 0.1 TAO. @@ -107,7 +106,6 @@ Effectively, this transfers all of your TAO and alpha stake balances, as well as - For each hotkey owned by the old coldkey, ownership transfers to the new coldkey. The list of owned hotkeys for both old and new coldkeys updates. - Any remaining balances transfer from the old coldkey to the new coldkey. - ### Hardware Wallets and Hardware Security Modules (HSMs) Ledger can be integrated with the Bittensor Chrome Extension. This may be a good option for managing stake and TAO balances, but does not allow for advanced functions such as hotkey management, subnet configuration, and governance. @@ -120,7 +118,7 @@ What about Hashicorp Vault? Can you use that with HSM? AWS CloudHSM or Azure Key See: -- [AWS CloudHSM documentation](https://aws.amazon.com/cloudhsm/) +- [AWS CloudHSM documentation](https://aws.amazon.com/cloudhsm/) - Oblique reference to [HashiCorp Vault with HSM integration](https://developer.hashicorp.com/vault/docs/configuration/seal) --> @@ -133,16 +131,10 @@ If you work within a team or DAO environment that collectively manages a coldkey ### Periodic Security Assessments Maintain a secure software environment: -- Keep an eye on newly discovered OS or hardware vulnerabilities. -- Run vulnerability scans on any machine that touches your coldkey. -- Conduct red team exercises and penetration testing to identify weaknesses in your setup. - - - - - - +- Keep an eye on newly discovered OS or hardware vulnerabilities. +- Run vulnerability scans on any machine that touches your coldkey. +- Conduct red team exercises and penetration testing to identify weaknesses in your setup. ## Hotkey workstation @@ -155,8 +147,8 @@ Overall, a hotkey workstation can be considered an “operational” environment Bittensor miners must handle hotkeys in MLOps workflows. Hotkeys must be created in coldkey workstation environments and then provisioned to the mining/hotkey workstation environment, i.e. a server that will handle requests from validators, for example by querying an AI model to generate a response (a generated image or text response) to a text prompt from a user. - Secure secrets management solution (like [HashiCorp Vault](https://www.vaultproject.io/), [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/), or [GCP Secret Manager](https://cloud.google.com/secret-manager)) to provision the hotkey private key or seedphrase to the mining server. -- Use ephemeral secret injection (CI/CD pipelines like GitLab or GitHub Actions allow storing secrets and injecting them at runtime). -- Never put keys in code repositories +- Use ephemeral secret injection (CI/CD pipelines like GitLab or GitHub Actions allow storing secrets and injecting them at runtime). +- Never put keys in code repositories ### Hotkey rotation @@ -164,10 +156,10 @@ If you suspect that a hotkey (but not a coldkey) has been leaked, rotate it as s Note that this operation incurs a $1 \tau$ recycling fee. - ### Minimize dependency risk Bittensor nodes often run complex software stacks with many dependencies. Take steps to reduce risk: -- Keep your Python environment or Docker images updated with the latest patches. -- Avoid installing unnecessary packages that might contain vulnerabilities. -- Consider sandboxing the ML library if possible, using solutions like [PyPy sandboxing](https://doc.pypy.org/en/latest/sandbox.html) or custom Docker seccomp profiles. + +- Keep your Python environment or Docker images updated with the latest patches. +- Avoid installing unnecessary packages that might contain vulnerabilities. +- Consider sandboxing the ML library if possible, using solutions like [PyPy sandboxing](https://doc.pypy.org/en/latest/sandbox.html) or custom Docker seccomp profiles. diff --git a/docs/getting-started/install-btcli.md b/docs/getting-started/install-btcli.md index 4bd09abfcb..7522143e1d 100644 --- a/docs/getting-started/install-btcli.md +++ b/docs/getting-started/install-btcli.md @@ -8,9 +8,7 @@ This page contains installation details for `btcli`, the Bittensor CLI. ## Prerequisite -To install `btcli`, you must have Python version 3.9-3.12 - -See: https://github.com/opentensor/btcli/blob/main/setup.py#L91-L94 +To install `btcli`, you must have Python version 3.9-3.12. See config file on [GitHub](https://github.com/opentensor/btcli/blob/main/pyproject.toml#L57-L60). ## Developer reference @@ -18,7 +16,7 @@ For a full developer reference, see the [Bittensor CLI reference document](../bt ## Install on macOS and Linux -### Install from Python Package Indexer +### Install from Python Package Indexer Check for the latest release at the Python Package Index: [https://pypi.org/project/bittensor-cli/](https://pypi.org/project/bittensor-cli/). @@ -29,58 +27,60 @@ pip install bittensor-cli # Use latest or desired version ``` Verify your installation and its version by running: + ```shell btcli --version ``` + Example output: + ```console BTCLI version: 9.2.0 ``` + :::warning Update frequently! Check frequently to make sure you are using the latest version of `btcli`. ::: ### Install from source - 1. Create and activate a virtual environment. - :::tip Create and activate a virtual environment + :::tip Create and activate a virtual environment - - Create Python virtual environment. Follow [this guide on python.org](https://docs.python.org/3/library/venv.html#creating-virtual-environments). + - Create Python virtual environment. Follow [this guide on python.org](https://docs.python.org/3/library/venv.html#creating-virtual-environments). - - Activate the new environment. Follow [this guide on python.org](https://docs.python.org/3/library/venv.html#how-venvs-work) - ::: - :::warning For Ubuntu-Linux users - If you are using Ubuntu-Linux, the script will prompt for `sudo` access to install all required apt-get packages. - ::: + - Activate the new environment. Follow [this guide on python.org](https://docs.python.org/3/library/venv.html#how-venvs-work) + ::: + :::warning For Ubuntu-Linux users + If you are using Ubuntu-Linux, the script will prompt for `sudo` access to install all required apt-get packages. + ::: - ```bash - python3 -m venv btcli_venv - source btcli_venv/bin/activate - ``` + ```bash + python3 -m venv btcli_venv + source btcli_venv/bin/activate + ``` 2. Clone the Bittensor CLI repo. - ```bash - git clone https://github.com/opentensor/btcli.git - ``` + ```bash + git clone https://github.com/opentensor/btcli.git + ``` 3. `cd` into `btcli` directory. - ```bash - cd btcli - ``` - -4. Install + ```bash + cd btcli + ``` +4. Install - ```bash - pip3 install . - ``` + ```bash + pip3 install . + ``` ## Install on Windows -To install and run Bittensor SDK on Windows you must install [**WSL 2** (Windows Subsystem for Linux)](https://learn.microsoft.com/en-us/windows/wsl/about) on Windows and select [Ubuntu Linux distribution](https://github.com/ubuntu/WSL/blob/main/docs/guides/install-ubuntu-wsl2.md). +To install and run Bittensor SDK on Windows you must install [**WSL 2** (Windows Subsystem for Linux)](https://learn.microsoft.com/en-us/windows/wsl/about) on Windows and select [Ubuntu Linux distribution](https://github.com/ubuntu/WSL/blob/main/docs/guides/install-ubuntu-wsl2.md). After you installed the above, follow the same installation steps described above in [Install on macOS and Linux](#install-on-macos-and-linux). @@ -88,18 +88,19 @@ After you installed the above, follow the same installation steps described abov While wallet transactions like delegating, transfer, registering, staking can be performed on a Windows machine using WSL 2, the mining and validating operations are not recommended and are not supported on Windows machines. ::: - ## Verify the installation ```bash btcli --version ``` + which will give you the below output: ```bash BTCLI version: ``` -You will see the version number you installed in place of ``. + +You will see the version number you installed in place of ``. ## Configuration @@ -123,10 +124,12 @@ metagraph_cols: CONSENSUS: true DIVIDENDS: true EMISSION: true + GLOBAL_STAKE: true HOTKEY: true INCENTIVE: true + LOCAL_STAKE: true RANK: true - STAKE: true + STAKE_WEIGHT: true TRUST: true UID: true UPDATED: true diff --git a/docs/getting-started/wallets.md b/docs/getting-started/wallets.md index 87264299b8..3a1c20afb0 100644 --- a/docs/getting-started/wallets.md +++ b/docs/getting-started/wallets.md @@ -1,12 +1,13 @@ --- title: "Wallets, Coldkeys and Hotkeys in Bittensor" --- + import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; # Wallets, Coldkeys and Hotkeys in Bittensor -In Bittensor (like other cryptocurrency applications), a *wallet* is a tool for proving your identity, signing transactions, accessing your TAO, and managing your stake in subnets. +In Bittensor (like other cryptocurrency applications), a _wallet_ is a tool for proving your identity, signing transactions, accessing your TAO, and managing your stake in subnets. This page introduces the core concepts involved. For detailed procedures for handling wallets and keys, see: [Working with keys](../working-with-keys.md) @@ -15,17 +16,17 @@ For detailed security considerations, see: [Coldkey and Hotkey Workstation Secur ## What are wallets and keys? -There are many different *wallet applications*, but the core of your wallet is one or more cryptographic key-pairs, referred to as **coldkey** and **hotkey**. +There are many different _wallet applications_, but the core of your wallet is one or more cryptographic key-pairs, referred to as **coldkey** and **hotkey**. Each is actually a cryptographic [key-pair](https://en.wikipedia.org/wiki/Public-key_cryptography), a private and a public key. The public key is mathematically derived from the private key. The private key is a closely held secret: it allows the owner to sign transactions and decrypt secrets, essentially serving as a cryptographic authentication or identity. -This is a general feature of decentralized, trustless systems like distributed ledgers/blockchains: your private key *is* your identity, in that theft or loss of your key results in *unrecoverable* loss of access. +This is a general feature of decentralized, trustless systems like distributed ledgers/blockchains: your private key _is_ your identity, in that theft or loss of your key results in _unrecoverable_ loss of access. In Bittensor, the coldkey and hotkey are used for different operations. In short, the hotkey is for mining and validation, and the coldkey for everything else; if you neither mine nor validate, you have no need for a hotkey, but you will identify validators and miners by their hotkey public keys. The coldkey private key is needed to authorize highly sensitive operations involved in transferring TAO balances and managing stake, operations related to subnet management and governance, and management of hotkeys. The hotkey private key is needed to authorize miners to serve requests in subnets, and by validators to send requests to miners and to submit weights to the blockchain. -The coldkey public key identifies a wallet to the internet, serving as an address. To transfer ownership of TAO or alpha stake from one wallet to another, the sender needs only the public key of the recipient, and their own private key. +The coldkey public key uniquely identifies a wallet on the network and serves as its address for transactions. To transfer ownership of TAO or alpha stake from one wallet to another, the sender needs only the public key of the recipient, and their own private key. ## Wallets and wallet applications @@ -36,16 +37,16 @@ We must be careful to distinguish two senses of the term 'wallet' that can other - The **wallet application** is software that runs on your device and allows you to interact with the blockchain by entering your keys. There are several officially supported Bittensor wallet applications: - The Bittensor wallet app for mobile: [bittensor.com/wallet](https://bittensor.com/wallet) - - [The Polkadot browser extension](https://polkadot.js.org/extension/) which can be used with Polkadot Vault... - + - [The Polkadot browser extension](https://polkadot.js.org/extension/) which can be used with Polkadot Vault. + - [The Bitensor wallet browser extension](https://chromewebstore.google.com/detail/bittensor-wallet/bdgmdoedahdcjmpmifafdhnffjinddgc), which is also compatible with use of a Ledger hardware wallet. See [Using Ledger Hardware Wallet](../staking-and-delegation/using-ledger-hw-wallet.md) Using the Bittensor wallet browser extension, you can [use TAO.app to manage stake](https://tao.app). - The Bittensor Python SDK, which includes the secure [Bittensor Wallet module](https://docs.bittensor.com/btwallet-api/html/autoapi/btwallet/wallet/index.html). - - The Bittensor CLI, `btcli`, which uses the Bittensor Wallet module under the hood. + - The Bittensor CLI, `btcli`, which uses the Bittensor Wallet module under the hood. -Every Bittensor user has one or more cryptographic wallets, i.e. one or more coldkey. Any cryptographic wallet can be loaded into any number of wallet applications. If every wallet application that has been initialized with your cryptographic wallet (i.e. signed into with your coldkey private key) is closed, logged out, etc., and the device incinerated, your cryptographic wallet exists on the blockchain, and can be recovered with your *seed phrase*. +Every Bittensor user has one or more cryptographic wallets, i.e. one or more coldkey. Any cryptographic wallet can be loaded into any number of wallet applications. If every wallet application that has been initialized with your cryptographic wallet (i.e. signed into with your coldkey private key) is closed, logged out, etc., and the device incinerated, your cryptographic wallet exists on the blockchain, and can be recovered with your _seed phrase_. Different wallet applications have different levels of functionality: @@ -65,7 +66,7 @@ See [Coldkey and Hotkey Workstation Security: Permissionless workstation](../get ## The seed phrase a.k.a. mnemonic -The ***seed phrase*** (a.k.a. 'menemonic' or 'recovery phrase') is a series of (at least 12) words that is generated together with your wallet's cryptographic key pair, and which can be used to recover the coldkey private key. This seed phrase is therefore a human-usable way to save access to the cryptographic wallet offline, and to import the cryptographic wallet into a wallet application. +The **_seed phrase_** (a.k.a. 'menemonic' or 'recovery phrase') is a series of (at least 12) words that is generated together with your wallet's cryptographic key pair, and which can be used to recover the coldkey private key. This seed phrase is therefore a human-usable way to save access to the cryptographic wallet offline, and to import the cryptographic wallet into a wallet application. Arguably the most important operational goal when handling Bittensor wallets is to avoid losing or leaking your seed phrase. Make sure you [Handle your Seed Phrase/Mnemonic Securely](../keys/handle-seed-phrase). @@ -87,6 +88,7 @@ However, still consider that using your coldkey on a device offers other ways fo See [Coldkey workstation security](./coldkey-hotkey-security#coldkey-workstation). Secure wallet apps supported by Opentensor Foundation include: + - The Bittensor wallet app for mobile: [bittensor.com/wallet](https://bittensor.com/wallet) - [The Chrome extension](https://chromewebstore.google.com/detail/bittensor-wallet/bdgmdoedahdcjmpmifafdhnffjinddgc), which is also compatible with use of a Ledger hardware wallet. See [Using Ledger Hardware Wallet](../staking-and-delegation/using-ledger-hw-wallet.md) @@ -101,19 +103,18 @@ The Bittensor Command Line Interface (BTCLI) and Bittensor Python SDK offer more ## Coldkey details -In `btcli`, the coldkey is equivalent to the wallet name. For example, the `--wallet.name` option in a `btcli` command always accepts only `` as its value and the `--wallet.hotkey` option only accepts `` as its value. +In `btcli`, the coldkey is equivalent to the wallet name. For example, the `--wallet.name` option in a `btcli` command always accepts only `` as its value and the `--wallet.hotkey` option only accepts `` as its value. This is because the coldkey holds the permissions and ownership over multiple hotkeys on-chain; hence, the wallet name is assigned to the coldkey. -**Relationship to hotkey**: A coldkey can exist without a hotkey or have multiple hotkeys. For example, to create a subnet, delegate stake, or simply hold balance you only need a coldkey. However, if you want to validate or mine in a subnet, you need a hotkey paired with this coldkey. +**Relationship to hotkey**: A coldkey can exist without a hotkey; it can also have multiple hotkeys. For example, to create a subnet, delegate stake, or simply hold balance you only need a coldkey. However, if you want to validate or mine in a subnet, you need a hotkey paired with this coldkey. **Purpose**: A coldkey is required for all operations that affect balances, such as transfer of TAO, staking and unstaking. It is also required for creating and registering hotkeys, and for subnet management and governance functions. -**Encryption**: A coldkey is only stored on your disk in encrypted form, and requires an encryption password. +**Encryption**: A coldkey is only stored on your disk in an encrypted form, and requires an encryption password. See [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security) for concrete security details about working with coldkeys. -
          @@ -393,12 +450,17 @@ To set weights with `commit`, a validator must meet several requirements. See [R #### `btcli weights commit` #### `btcli wt reveal` + #### `btcli wt commit` + #### `btcli weight reveal` + #### `btcli weight commit` +
          ### `utils` #### `btcli utils convert` -`btcli utils convert` is a convenience command for performing conversions between minimal units (RAO) and TAO, or other chain-specific conversions. It is permissionless (no key required) because it performs no on-chain operation, just a local calculation. + +`btcli utils convert` is a convenience command for performing conversions between minimal units (RAO) and TAO, or other chain-specific conversions. It is permissionless (no key required) because it performs no on-chain operation, just a local calculation. diff --git a/docs/btcli.md b/docs/btcli.md index 771bd50b8c..cbd1bdb0cd 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -9,7 +9,7 @@ Command line interface (CLI) for Bittensor. Uses the values in the configuration See [Getting Started](./getting-started/install-btcli.md) to install `btcli`. Command line interface (CLI) for Bittensor. Uses the values in the configuration file. These values can be - overriden by passing them explicitly in the command line. +overriden by passing them explicitly in the command line. **Usage**: @@ -19,31 +19,31 @@ btcli [OPTIONS] COMMAND [ARGS]... **Options**: -* `--version`: Show BTCLI version -* `--commands`: Show BTCLI commands -* `--install-completion`: Install completion for the current shell. -* `--show-completion`: Show completion for the current shell, to copy it or customize the installation. -* `--help`: Show this message and exit. +- `--version`: Show BTCLI version +- `--commands`: Show BTCLI commands +- `--install-completion`: Install completion for the current shell. +- `--show-completion`: Show completion for the current shell, to copy it or customize the installation. +- `--help`: Show this message and exit. **Commands**: -* `config`: Config commands, aliases: `c`, `conf` -* `conf` -* `c` -* `wallet`: Wallet commands, aliases: `wallets`, `w` -* `w` -* `wallets` -* `stake`: Stake commands, alias: `st` -* `st` -* `sudo`: Sudo commands, alias: `su` -* `su` -* `subnets`: Subnets commands, alias: `s`, `subnet` -* `s` -* `subnet` -* `weights`: Weights commands, aliases: `wt`, `weight` -* `wt` -* `weight` -* `utils` +- `config`: Config commands, aliases: `c`, `conf` +- `conf` +- `c` +- `wallet`: Wallet commands, aliases: `wallets`, `w` +- `w` +- `wallets` +- `stake`: Stake commands, alias: `st` +- `st` +- `sudo`: Sudo commands, alias: `su` +- `su` +- `subnets`: Subnets commands, alias: `s`, `subnet` +- `s` +- `subnet` +- `weights`: Weights commands, aliases: `wt`, `weight` +- `wt` +- `weight` +- `utils` ## `btcli config` @@ -55,14 +55,14 @@ btcli config [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `set`: Sets or updates configuration values in... -* `get`: Prints the current config file in a table. -* `clear`: Clears the fields in the config file and... -* `metagraph`: Command option to configure the display of... +- `set`: Sets or updates configuration values in... +- `get`: Prints the current config file in a table. +- `clear`: Clears the fields in the config file and... +- `metagraph`: Command option to configure the display of... ### `btcli config set` @@ -73,19 +73,14 @@ This command allows you to set default values that will be used across all BTCLI **Usage:** Interactive mode: - ``` - btcli config set - ``` +`btcli config set` Set specific values: - ``` - btcli config set --wallet-name default --network finney - ``` - ``` - btcli config set --safe-staking --rate-tolerance 0.1 - ``` +`btcli config set --wallet-name default --network finney` +`btcli config set --safe-staking --rate-tolerance 0.1` Note: + - Network values can be network names (e.g., 'finney', 'test') or websocket URLs - Rate tolerance is specified as a decimal (e.g., 0.05 for 0.05%) - Changes are saved to ~/.bittensor/btcli.yaml @@ -99,15 +94,15 @@ btcli config set [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--cache, --cache / --no-cache, --no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. -* `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%). -* `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode. -* `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow` -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--cache, --cache / --no-cache, --no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. +- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%). +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode. +- `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow` +- `--help`: Show this message and exit. ### `btcli config get` @@ -121,13 +116,12 @@ btcli config get [OPTIONS] **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. ### `btcli config clear` Clears the fields in the config file and sets them to 'None'. - - To clear the 'chain' and 'network' fields: ``` @@ -148,16 +142,16 @@ btcli config clear [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name` -* `-p, --wallet-path, --wallet_path, --wallet.path` -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey` -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint` -* `--cache` -* `--slippage, --slippage-tolerance, --tolerance` -* `--safe-staking, --safe / --no-safe-staking, --unsafe`: [default: no-safe-staking] -* `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow`: [default: no-allow-partial-stake] -* `--all` -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name` +- `-p, --wallet-path, --wallet_path, --wallet.path` +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey` +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint` +- `--cache` +- `--slippage, --slippage-tolerance, --tolerance` +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: [default: no-safe-staking] +- `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow`: [default: no-allow-partial-stake] +- `--all` +- `--help`: Show this message and exit. ### `btcli config metagraph` @@ -171,8 +165,8 @@ btcli config metagraph [OPTIONS] **Options**: -* `--reset`: Restore the display of metagraph columns to show all columns. -* `--help`: Show this message and exit. +- `--reset`: Restore the display of metagraph columns to show all columns. +- `--help`: Show this message and exit. ## `btcli conf` @@ -184,14 +178,14 @@ btcli conf [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `set`: Sets or updates configuration values in... -* `get`: Prints the current config file in a table. -* `clear`: Clears the fields in the config file and... -* `metagraph`: Command option to configure the display of... +- `set`: Sets or updates configuration values in... +- `get`: Prints the current config file in a table. +- `clear`: Clears the fields in the config file and... +- `metagraph`: Command option to configure the display of... ### `btcli conf set` @@ -202,19 +196,14 @@ This command allows you to set default values that will be used across all BTCLI **Usage:** Interactive mode: - ``` - btcli config set - ``` +`btcli config set` Set specific values: - ``` - btcli config set --wallet-name default --network finney - ``` - ``` - btcli config set --safe-staking --rate-tolerance 0.1 - ``` +`btcli config set --wallet-name default --network finney` +`btcli config set --safe-staking --rate-tolerance 0.1` Note: + - Network values can be network names (e.g., 'finney', 'test') or websocket URLs - Rate tolerance is specified as a decimal (e.g., 0.05 for 0.05%) - Changes are saved to ~/.bittensor/btcli.yaml @@ -228,15 +217,15 @@ btcli conf set [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--cache, --cache / --no-cache, --no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. -* `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%). -* `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode. -* `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow` -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--cache, --cache / --no-cache, --no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. +- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%). +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode. +- `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow` +- `--help`: Show this message and exit. ### `btcli conf get` @@ -250,13 +239,12 @@ btcli conf get [OPTIONS] **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. ### `btcli conf clear` Clears the fields in the config file and sets them to 'None'. - - To clear the 'chain' and 'network' fields: ``` @@ -277,16 +265,16 @@ btcli conf clear [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name` -* `-p, --wallet-path, --wallet_path, --wallet.path` -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey` -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint` -* `--cache` -* `--slippage, --slippage-tolerance, --tolerance` -* `--safe-staking, --safe / --no-safe-staking, --unsafe`: [default: no-safe-staking] -* `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow`: [default: no-allow-partial-stake] -* `--all` -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name` +- `-p, --wallet-path, --wallet_path, --wallet.path` +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey` +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint` +- `--cache` +- `--slippage, --slippage-tolerance, --tolerance` +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: [default: no-safe-staking] +- `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow`: [default: no-allow-partial-stake] +- `--all` +- `--help`: Show this message and exit. ### `btcli conf metagraph` @@ -300,8 +288,8 @@ btcli conf metagraph [OPTIONS] **Options**: -* `--reset`: Restore the display of metagraph columns to show all columns. -* `--help`: Show this message and exit. +- `--reset`: Restore the display of metagraph columns to show all columns. +- `--help`: Show this message and exit. ## `btcli c` @@ -313,14 +301,14 @@ btcli c [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `set`: Sets or updates configuration values in... -* `get`: Prints the current config file in a table. -* `clear`: Clears the fields in the config file and... -* `metagraph`: Command option to configure the display of... +- `set`: Sets or updates configuration values in... +- `get`: Prints the current config file in a table. +- `clear`: Clears the fields in the config file and... +- `metagraph`: Command option to configure the display of... ### `btcli c set` @@ -330,19 +318,14 @@ This command allows you to set default values that will be used across all BTCLI **Usage:** Interactive mode: - ``` - btcli config set - ``` +`btcli config set` Set specific values: - ``` - btcli config set --wallet-name default --network finney - ``` - ``` - btcli config set --safe-staking --rate-tolerance 0.1 - ``` +`btcli config set --wallet-name default --network finney` +`btcli config set --safe-staking --rate-tolerance 0.1` Note: + - Network values can be network names (e.g., 'finney', 'test') or websocket URLs - Rate tolerance is specified as a decimal (e.g., 0.05 for 0.05%) - Changes are saved to ~/.bittensor/btcli.yaml @@ -356,15 +339,15 @@ btcli c set [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--cache, --cache / --no-cache, --no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. -* `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%). -* `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode. -* `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow` -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--cache, --cache / --no-cache, --no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. +- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%). +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode. +- `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow` +- `--help`: Show this message and exit. ### `btcli c get` @@ -378,13 +361,12 @@ btcli c get [OPTIONS] **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. ### `btcli c clear` Clears the fields in the config file and sets them to 'None'. - - To clear the 'chain' and 'network' fields: ``` @@ -405,16 +387,16 @@ btcli c clear [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name` -* `-p, --wallet-path, --wallet_path, --wallet.path` -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey` -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint` -* `--cache` -* `--slippage, --slippage-tolerance, --tolerance` -* `--safe-staking, --safe / --no-safe-staking, --unsafe`: [default: no-safe-staking] -* `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow`: [default: no-allow-partial-stake] -* `--all` -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name` +- `-p, --wallet-path, --wallet_path, --wallet.path` +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey` +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint` +- `--cache` +- `--slippage, --slippage-tolerance, --tolerance` +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: [default: no-safe-staking] +- `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow`: [default: no-allow-partial-stake] +- `--all` +- `--help`: Show this message and exit. ### `btcli c metagraph` @@ -428,8 +410,8 @@ btcli c metagraph [OPTIONS] **Options**: -* `--reset`: Restore the display of metagraph columns to show all columns. -* `--help`: Show this message and exit. +- `--reset`: Restore the display of metagraph columns to show all columns. +- `--help`: Show this message and exit. ## `btcli view dashboard` @@ -451,35 +433,34 @@ btcli wallet [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `list`: Displays all the wallets and their... -* `swap-hotkey`: Swap hotkeys of a given wallet on the... -* `regen-coldkey`: Regenerate a coldkey for a wallet on the... -* `regen-coldkeypub`: Regenerates the public part of a coldkey... -* `regen-hotkey`: Regenerates a hotkey for a wallet. -* `new-hotkey`: Create a new hotkey for a wallet. -* `new-coldkey`: Create a new coldkey. -* `create`: Create a complete wallet by setting up... -* `balance`: Check the balance of the wallet. -* `history`: Show the history of the transfers carried... -* `overview`: Displays a detailed overview of the user's... -* `transfer`: Send TAO tokens from one wallet to another... -* `inspect`: Displays the details of the user's wallet... -* `faucet`: Obtain test TAO tokens by performing Proof... -* `set-identity`: Create or update the on-chain identity of... -* `get-identity`: Shows the identity details of a user's... -* `sign`: Allows users to sign a message with the... -* `swap_hotkey`: Swap hotkeys of a given wallet on the... -* `regen_coldkey`: Regenerate a coldkey for a wallet on the... -* `regen_coldkeypub`: Regenerates the public part of a coldkey... -* `regen_hotkey`: Regenerates a hotkey for a wallet. -* `new_hotkey`: Create a new hotkey for a wallet. -* `new_coldkey`: Create a new coldkey. -* `set_identity`: Create or update the on-chain identity of... -* `get_identity`: Shows the identity details of a user's... +- `list`: Displays all the wallets and their... +- `swap-hotkey`: Swap hotkeys of a given wallet on the... +- `regen-coldkey`: Regenerate a coldkey for a wallet on the... +- `regen-coldkeypub`: Regenerates the public part of a coldkey... +- `regen-hotkey`: Regenerates a hotkey for a wallet. +- `new-hotkey`: Create a new hotkey for a wallet. +- `new-coldkey`: Create a new coldkey. +- `create`: Create a complete wallet by setting up... +- `balance`: Check the balance of the wallet. +- `history`: Show the history of the transfers carried... +- `overview`: Displays a detailed overview of the user's... +- `transfer`: Send TAO tokens from one wallet to another... +- `inspect`: Displays the details of the user's wallet... +- `set-identity`: Create or update the on-chain identity of... +- `get-identity`: Shows the identity details of a user's... +- `sign`: Allows users to sign a message with the... +- `swap_hotkey`: Swap hotkeys of a given wallet on the... +- `regen_coldkey`: Regenerate a coldkey for a wallet on the... +- `regen_coldkeypub`: Regenerates the public part of a coldkey... +- `regen_hotkey`: Regenerates a hotkey for a wallet. +- `new_hotkey`: Create a new hotkey for a wallet. +- `new_coldkey`: Create a new coldkey. +- `set_identity`: Create or update the on-chain identity of... +- `get_identity`: Shows the identity details of a user's... ### `btcli wallet list` @@ -490,7 +471,6 @@ The output display shows each wallet and its associated `ss58` addresses for the Upon invocation, the command scans the wallet directory and prints a list of all the wallets, indicating whether the public keys are available (`?` denotes unavailable or encrypted keys). - ``` btcli wallet list --path ~/.bittensor ``` @@ -505,10 +485,10 @@ btcli wallet list [OPTIONS] **Options**: -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet swap-hotkey` @@ -538,18 +518,18 @@ btcli wallet swap-hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] **Arguments**: -* `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. +- `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli wallet regen-coldkey` @@ -567,7 +547,6 @@ Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" ``` - Note: This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. **Usage**: @@ -578,17 +557,17 @@ btcli wallet regen-coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet regen-coldkeypub` @@ -598,7 +577,7 @@ Use this command when you need to move machine for subnet mining. Use the public **Usage:** -The command requires either a public key in hexadecimal format or an ``SS58`` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. +The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. **Example:** @@ -616,14 +595,14 @@ btcli wallet regen-coldkeypub [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--public-key-hex TEXT`: The public key in hex format. -* `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--public-key-hex TEXT`: The public key in hex format. +- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet regen-hotkey` @@ -635,7 +614,6 @@ Similar to regenerating a coldkey, this command creates a new hotkey from a mnem Users can provide a mnemonic, seed string, or a JSON file to regenerate the hotkey. The command supports optional password protection and can overwrite an existing hotkey. - ``` btcli wallet regen_hotkey --seed 0x1234... ``` @@ -651,17 +629,17 @@ btcli wallet regen-hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet new-hotkey` @@ -688,15 +666,15 @@ btcli wallet new-hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet new-coldkey` @@ -722,15 +700,15 @@ btcli wallet new-coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet create` @@ -756,15 +734,15 @@ btcli wallet create [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words INTEGER` -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words INTEGER` +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet balance` @@ -776,27 +754,27 @@ You can also pass multiple ss58 addresses of coldkeys to check their balance (us - To display the balance of a single wallet, use the command with the `--wallet-name` argument and provide the wallet name: - ``` - btcli w balance --wallet-name WALLET - ``` + ``` + btcli w balance --wallet-name WALLET + ``` - To use the default config values, use: - ``` - btcli w balance - ``` + ``` + btcli w balance + ``` - To display the balances of all your wallets, use the `--all` argument: - ``` - btcli w balance --all - ``` + ``` + btcli w balance --all + ``` - To display the balances of ss58 addresses, use the `--ss58` argument: - ``` - btcli w balance --ss58 <ss58_address> --ss58 <ss58_address> - ``` + ``` + btcli w balance --ss58 <ss58_address> --ss58 <ss58_address> + ``` **Usage**: @@ -806,15 +784,15 @@ btcli wallet balance [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -* `-a, --all`: Whether to display the balances for all the wallets. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. +- `-a, --all`: Whether to display the balances for all the wallets. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet history` @@ -838,12 +816,12 @@ btcli wallet history [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet overview` @@ -873,19 +851,19 @@ btcli wallet overview [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-a, --all`: See an overview for all the wallets -* `--sort-by, --sort_by TEXT`: Sort the hotkeys by the specified column title. For example: name, uid, axon. -* `--sort-order, --sort_order TEXT`: Sort the hotkeys in the specified order (ascending/asc or descending/desc/reverse). -* `-in, --include-hotkeys TEXT`: Hotkeys to include. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--exclude-hotkeys', will be included. -* `-ex, --exclude-hotkeys TEXT`: Hotkeys to exclude. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--include-hotkeys', will be excluded. -* `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-a, --all`: See an overview for all the wallets +- `--sort-by, --sort_by TEXT`: Sort the hotkeys by the specified column title. For example: name, uid, axon. +- `--sort-order, --sort_order TEXT`: Sort the hotkeys in the specified order (ascending/asc or descending/desc/reverse). +- `-in, --include-hotkeys TEXT`: Hotkeys to include. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--exclude-hotkeys', will be included. +- `-ex, --exclude-hotkeys TEXT`: Hotkeys to exclude. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--include-hotkeys', will be excluded. +- `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet transfer` @@ -916,16 +894,16 @@ btcli wallet transfer [OPTIONS] **Options**: -* `-d, --destination, --dest TEXT`: Destination address (ss58) of the wallet (coldkey). -* `-a, --amount FLOAT`: Amount (in TAO) to transfer. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-d, --destination, --dest TEXT`: Destination address (ss58) of the wallet (coldkey). +- `-a, --amount FLOAT`: Amount (in TAO) to transfer. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet inspect` @@ -971,58 +949,15 @@ btcli wallet inspect [OPTIONS] **Options**: -* `-a, --all, --all-wallets`: Inspect all the wallets at the specified wallet path. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. - -### `btcli wallet faucet` - -Obtain test TAO tokens by performing Proof of Work (PoW). - -This command is useful for users who need test tokens for operations on a local blockchain. - -**Important:**: THIS COMMAND IS DISABLED ON FINNEY AND TESTNET. - -**Usage:** - -The command uses the proof-of-work (POW) mechanism to validate the user's effort and rewards them with test TAO tokens. It is -typically used in local blockchain environments where transactions do not use real TAO tokens. - -**Example:** - -``` -btcli wallet faucet --faucet.num_processes 4 --faucet.cuda.use_cuda -``` - -Note: This command is meant for used in local environments where users can experiment with the blockchain without using real TAO tokens. Users must have the necessary hardware setup, especially when opting for CUDA-based GPU calculations. It is currently disabled on testnet and mainnet (finney). You can only use this command on a local blockchain. - -**Usage**: - -```console -btcli wallet faucet [OPTIONS] -``` - -**Options**: - -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--processors INTEGER`: Number of processors to use for proof of work (POW) registration. -* `-u, --update-interval INTEGER`: The number of nonces to process before checking for next block during registration [default: 50000] -* `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -* `-v, --verbose`: Whether to output the registration statistics verbosely. -* `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set flag to use CUDA for proof of work (POW) registration. [default: no-use-cuda] -* `-d, --dev-id INTEGER`: Set the CUDA device id(s) in the order of speed, where 0 is the fastest. [default: 0] -* `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -* `--max-successes INTEGER`: Set the maximum number of times to successfully run the faucet for this command. [default: 3] -* `--help`: Show this message and exit. +- `-a, --all, --all-wallets`: Inspect all the wallets at the specified wallet path. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet set-identity` @@ -1032,7 +967,7 @@ The on-chain identity includes attributes such as display name, legal name, web The command prompts the user for the identity attributes and validates the input size for each attribute. It provides an option to update an existing validator hotkey identity. If the user consents to the transaction cost, the identity is updated on the blockchain. -Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey ``ss58`` address for the identity to be updated. +Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey `ss58` address for the identity to be updated. If the user does not have a hotkey, the coldkey address is used by default. If setting a validator identity, the hotkey will be used by default. If the user is setting an identity for a subnet, the coldkey will be used by default. @@ -1052,21 +987,21 @@ btcli wallet set-identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--name TEXT`: The display name for the identity. -* `--web-url, --web TEXT`: The web URL for the identity. -* `--image-url, --image TEXT`: The image URL for the identity. -* `--discord TEXT`: The Discord handle for the identity. -* `--description TEXT`: The description for the identity. -* `--additional TEXT`: Additional details for the identity. -* `--github TEXT`: The GitHub repository for the identity. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--name TEXT`: The display name for the identity. +- `--web-url, --web TEXT`: The web URL for the identity. +- `--image-url, --image TEXT`: The image URL for the identity. +- `--discord TEXT`: The Discord handle for the identity. +- `--description TEXT`: The description for the identity. +- `--additional TEXT`: Additional details for the identity. +- `--github TEXT`: The GitHub repository for the identity. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli wallet get-identity` @@ -1074,7 +1009,7 @@ Shows the identity details of a user's coldkey or hotkey. The command displays the information in a table format showing: -- Address: The ``ss58`` address of the queried key. +- Address: The `ss58` address of the queried key. - Item: Various attributes of the identity such as stake, rank, and trust. @@ -1096,14 +1031,14 @@ btcli wallet get-identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet sign` @@ -1131,14 +1066,14 @@ btcli wallet sign [OPTIONS] **Options**: -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--use-hotkey / --no-use-hotkey`: If specified, the message will be signed by the hotkey. If not specified, the user will be prompted. -* `--message TEXT`: The message to encode and sign -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--use-hotkey / --no-use-hotkey`: If specified, the message will be signed by the hotkey. If not specified, the user will be prompted. +- `--message TEXT`: The message to encode and sign +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet swap_hotkey` @@ -1168,18 +1103,18 @@ btcli wallet swap_hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] **Arguments**: -* `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. +- `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli wallet regen_coldkey` @@ -1197,7 +1132,6 @@ Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" ``` - Note: This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. **Usage**: @@ -1208,17 +1142,17 @@ btcli wallet regen_coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet regen_coldkeypub` @@ -1228,7 +1162,7 @@ Use this command when you need to move machine for subnet mining. Use the public **Usage:** -The command requires either a public key in hexadecimal format or an ``SS58`` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. +The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. **Example:** @@ -1246,14 +1180,14 @@ btcli wallet regen_coldkeypub [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--public-key-hex TEXT`: The public key in hex format. -* `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--public-key-hex TEXT`: The public key in hex format. +- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet regen_hotkey` @@ -1265,7 +1199,6 @@ Similar to regenerating a coldkey, this command creates a new hotkey from a mnem Users can provide a mnemonic, seed string, or a JSON file to regenerate the hotkey. The command supports optional password protection and can overwrite an existing hotkey. - ``` btcli wallet regen_hotkey --seed 0x1234... ``` @@ -1281,17 +1214,17 @@ btcli wallet regen_hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet new_hotkey` @@ -1318,15 +1251,15 @@ btcli wallet new_hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet new_coldkey` @@ -1352,15 +1285,15 @@ btcli wallet new_coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallet set_identity` @@ -1370,7 +1303,7 @@ The on-chain identity includes attributes such as display name, legal name, web The command prompts the user for the identity attributes and validates the input size for each attribute. It provides an option to update an existing validator hotkey identity. If the user consents to the transaction cost, the identity is updated on the blockchain. -Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey ``ss58`` address for the identity to be updated. +Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey `ss58` address for the identity to be updated. If the user does not have a hotkey, the coldkey address is used by default. If setting a validator identity, the hotkey will be used by default. If the user is setting an identity for a subnet, the coldkey will be used by default. @@ -1390,21 +1323,21 @@ btcli wallet set_identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--name TEXT`: The display name for the identity. -* `--web-url, --web TEXT`: The web URL for the identity. -* `--image-url, --image TEXT`: The image URL for the identity. -* `--discord TEXT`: The Discord handle for the identity. -* `--description TEXT`: The description for the identity. -* `--additional TEXT`: Additional details for the identity. -* `--github TEXT`: The GitHub repository for the identity. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--name TEXT`: The display name for the identity. +- `--web-url, --web TEXT`: The web URL for the identity. +- `--image-url, --image TEXT`: The image URL for the identity. +- `--discord TEXT`: The Discord handle for the identity. +- `--description TEXT`: The description for the identity. +- `--additional TEXT`: Additional details for the identity. +- `--github TEXT`: The GitHub repository for the identity. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli wallet get_identity` @@ -1412,7 +1345,7 @@ Shows the identity details of a user's coldkey or hotkey. The command displays the information in a table format showing: -- Address: The ``ss58`` address of the queried key. +- Address: The `ss58` address of the queried key. - Item: Various attributes of the identity such as stake, rank, and trust. @@ -1434,14 +1367,14 @@ btcli wallet get_identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ## `btcli w` @@ -1453,35 +1386,34 @@ btcli w [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `list`: Displays all the wallets and their... -* `swap-hotkey`: Swap hotkeys of a given wallet on the... -* `regen-coldkey`: Regenerate a coldkey for a wallet on the... -* `regen-coldkeypub`: Regenerates the public part of a coldkey... -* `regen-hotkey`: Regenerates a hotkey for a wallet. -* `new-hotkey`: Create a new hotkey for a wallet. -* `new-coldkey`: Create a new coldkey. -* `create`: Create a complete wallet by setting up... -* `balance`: Check the balance of the wallet. -* `history`: Show the history of the transfers carried... -* `overview`: Displays a detailed overview of the user's... -* `transfer`: Send TAO tokens from one wallet to another... -* `inspect`: Displays the details of the user's wallet... -* `faucet`: Obtain test TAO tokens by performing Proof... -* `set-identity`: Create or update the on-chain identity of... -* `get-identity`: Shows the identity details of a user's... -* `sign`: Allows users to sign a message with the... -* `swap_hotkey`: Swap hotkeys of a given wallet on the... -* `regen_coldkey`: Regenerate a coldkey for a wallet on the... -* `regen_coldkeypub`: Regenerates the public part of a coldkey... -* `regen_hotkey`: Regenerates a hotkey for a wallet. -* `new_hotkey`: Create a new hotkey for a wallet. -* `new_coldkey`: Create a new coldkey. -* `set_identity`: Create or update the on-chain identity of... -* `get_identity`: Shows the identity details of a user's... +- `list`: Displays all the wallets and their... +- `swap-hotkey`: Swap hotkeys of a given wallet on the... +- `regen-coldkey`: Regenerate a coldkey for a wallet on the... +- `regen-coldkeypub`: Regenerates the public part of a coldkey... +- `regen-hotkey`: Regenerates a hotkey for a wallet. +- `new-hotkey`: Create a new hotkey for a wallet. +- `new-coldkey`: Create a new coldkey. +- `create`: Create a complete wallet by setting up... +- `balance`: Check the balance of the wallet. +- `history`: Show the history of the transfers carried... +- `overview`: Displays a detailed overview of the user's... +- `transfer`: Send TAO tokens from one wallet to another... +- `inspect`: Displays the details of the user's wallet... +- `set-identity`: Create or update the on-chain identity of... +- `get-identity`: Shows the identity details of a user's... +- `sign`: Allows users to sign a message with the... +- `swap_hotkey`: Swap hotkeys of a given wallet on the... +- `regen_coldkey`: Regenerate a coldkey for a wallet on the... +- `regen_coldkeypub`: Regenerates the public part of a coldkey... +- `regen_hotkey`: Regenerates a hotkey for a wallet. +- `new_hotkey`: Create a new hotkey for a wallet. +- `new_coldkey`: Create a new coldkey. +- `set_identity`: Create or update the on-chain identity of... +- `get_identity`: Shows the identity details of a user's... ### `btcli w list` @@ -1492,7 +1424,6 @@ The output display shows each wallet and its associated `ss58` addresses for the Upon invocation, the command scans the wallet directory and prints a list of all the wallets, indicating whether the public keys are available (`?` denotes unavailable or encrypted keys). - ``` btcli wallet list --path ~/.bittensor ``` @@ -1507,10 +1438,10 @@ btcli w list [OPTIONS] **Options**: -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w swap-hotkey` @@ -1540,18 +1471,18 @@ btcli w swap-hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] **Arguments**: -* `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. +- `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli w regen-coldkey` @@ -1569,7 +1500,6 @@ Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" ``` - Note: This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. **Usage**: @@ -1580,17 +1510,17 @@ btcli w regen-coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w regen-coldkeypub` @@ -1600,7 +1530,7 @@ Use this command when you need to move machine for subnet mining. Use the public **Usage:** -The command requires either a public key in hexadecimal format or an ``SS58`` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. +The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. **Example:** @@ -1618,14 +1548,14 @@ btcli w regen-coldkeypub [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--public-key-hex TEXT`: The public key in hex format. -* `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--public-key-hex TEXT`: The public key in hex format. +- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w regen-hotkey` @@ -1637,7 +1567,6 @@ Similar to regenerating a coldkey, this command creates a new hotkey from a mnem Users can provide a mnemonic, seed string, or a JSON file to regenerate the hotkey. The command supports optional password protection and can overwrite an existing hotkey. - ``` btcli wallet regen_hotkey --seed 0x1234... ``` @@ -1653,17 +1582,17 @@ btcli w regen-hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w new-hotkey` @@ -1690,15 +1619,15 @@ btcli w new-hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w new-coldkey` @@ -1724,15 +1653,15 @@ btcli w new-coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w create` @@ -1758,15 +1687,15 @@ btcli w create [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words INTEGER` -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words INTEGER` +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w balance` @@ -1778,27 +1707,27 @@ You can also pass multiple ss58 addresses of coldkeys to check their balance (us - To display the balance of a single wallet, use the command with the `--wallet-name` argument and provide the wallet name: - ``` - btcli w balance --wallet-name WALLET - ``` + ``` + btcli w balance --wallet-name WALLET + ``` - To use the default config values, use: - ``` - btcli w balance - ``` + ``` + btcli w balance + ``` - To display the balances of all your wallets, use the `--all` argument: - ``` - btcli w balance --all - ``` + ``` + btcli w balance --all + ``` - To display the balances of ss58 addresses, use the `--ss58` argument: - ``` - btcli w balance --ss58 <ss58_address> --ss58 <ss58_address> - ``` + ``` + btcli w balance --ss58 <ss58_address> --ss58 <ss58_address> + ``` **Usage**: @@ -1808,15 +1737,15 @@ btcli w balance [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -* `-a, --all`: Whether to display the balances for all the wallets. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. +- `-a, --all`: Whether to display the balances for all the wallets. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w history` @@ -1840,12 +1769,12 @@ btcli w history [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w overview` @@ -1875,19 +1804,19 @@ btcli w overview [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-a, --all`: See an overview for all the wallets -* `--sort-by, --sort_by TEXT`: Sort the hotkeys by the specified column title. For example: name, uid, axon. -* `--sort-order, --sort_order TEXT`: Sort the hotkeys in the specified order (ascending/asc or descending/desc/reverse). -* `-in, --include-hotkeys TEXT`: Hotkeys to include. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--exclude-hotkeys', will be included. -* `-ex, --exclude-hotkeys TEXT`: Hotkeys to exclude. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--include-hotkeys', will be excluded. -* `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-a, --all`: See an overview for all the wallets +- `--sort-by, --sort_by TEXT`: Sort the hotkeys by the specified column title. For example: name, uid, axon. +- `--sort-order, --sort_order TEXT`: Sort the hotkeys in the specified order (ascending/asc or descending/desc/reverse). +- `-in, --include-hotkeys TEXT`: Hotkeys to include. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--exclude-hotkeys', will be included. +- `-ex, --exclude-hotkeys TEXT`: Hotkeys to exclude. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--include-hotkeys', will be excluded. +- `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w transfer` @@ -1918,16 +1847,16 @@ btcli w transfer [OPTIONS] **Options**: -* `-d, --destination, --dest TEXT`: Destination address (ss58) of the wallet (coldkey). -* `-a, --amount FLOAT`: Amount (in TAO) to transfer. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-d, --destination, --dest TEXT`: Destination address (ss58) of the wallet (coldkey). +- `-a, --amount FLOAT`: Amount (in TAO) to transfer. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w inspect` @@ -1973,58 +1902,15 @@ btcli w inspect [OPTIONS] **Options**: -* `-a, --all, --all-wallets`: Inspect all the wallets at the specified wallet path. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. - -### `btcli w faucet` - -Obtain test TAO tokens by performing Proof of Work (PoW). - -This command is useful for users who need test tokens for operations on a local blockchain. - -**Important:**: THIS COMMAND IS DISABLED ON FINNEY AND TESTNET. - -**Usage:** - -The command uses the proof-of-work (POW) mechanism to validate the user's effort and rewards them with test TAO tokens. It is -typically used in local blockchain environments where transactions do not use real TAO tokens. - -**Example:** - -``` -btcli wallet faucet --faucet.num_processes 4 --faucet.cuda.use_cuda -``` - -Note: This command is meant for used in local environments where users can experiment with the blockchain without using real TAO tokens. Users must have the necessary hardware setup, especially when opting for CUDA-based GPU calculations. It is currently disabled on testnet and mainnet (finney). You can only use this command on a local blockchain. - -**Usage**: - -```console -btcli w faucet [OPTIONS] -``` - -**Options**: - -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--processors INTEGER`: Number of processors to use for proof of work (POW) registration. -* `-u, --update-interval INTEGER`: The number of nonces to process before checking for next block during registration [default: 50000] -* `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -* `-v, --verbose`: Whether to output the registration statistics verbosely. -* `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set flag to use CUDA for proof of work (POW) registration. [default: no-use-cuda] -* `-d, --dev-id INTEGER`: Set the CUDA device id(s) in the order of speed, where 0 is the fastest. [default: 0] -* `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -* `--max-successes INTEGER`: Set the maximum number of times to successfully run the faucet for this command. [default: 3] -* `--help`: Show this message and exit. +- `-a, --all, --all-wallets`: Inspect all the wallets at the specified wallet path. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w set-identity` @@ -2034,7 +1920,7 @@ The on-chain identity includes attributes such as display name, legal name, web The command prompts the user for the identity attributes and validates the input size for each attribute. It provides an option to update an existing validator hotkey identity. If the user consents to the transaction cost, the identity is updated on the blockchain. -Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey ``ss58`` address for the identity to be updated. +Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey `ss58` address for the identity to be updated. If the user does not have a hotkey, the coldkey address is used by default. If setting a validator identity, the hotkey will be used by default. If the user is setting an identity for a subnet, the coldkey will be used by default. @@ -2054,21 +1940,21 @@ btcli w set-identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--name TEXT`: The display name for the identity. -* `--web-url, --web TEXT`: The web URL for the identity. -* `--image-url, --image TEXT`: The image URL for the identity. -* `--discord TEXT`: The Discord handle for the identity. -* `--description TEXT`: The description for the identity. -* `--additional TEXT`: Additional details for the identity. -* `--github TEXT`: The GitHub repository for the identity. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--name TEXT`: The display name for the identity. +- `--web-url, --web TEXT`: The web URL for the identity. +- `--image-url, --image TEXT`: The image URL for the identity. +- `--discord TEXT`: The Discord handle for the identity. +- `--description TEXT`: The description for the identity. +- `--additional TEXT`: Additional details for the identity. +- `--github TEXT`: The GitHub repository for the identity. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli w get-identity` @@ -2076,7 +1962,7 @@ Shows the identity details of a user's coldkey or hotkey. The command displays the information in a table format showing: -- Address: The ``ss58`` address of the queried key. +- Address: The `ss58` address of the queried key. - Item: Various attributes of the identity such as stake, rank, and trust. @@ -2098,14 +1984,14 @@ btcli w get-identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w sign` @@ -2133,14 +2019,14 @@ btcli w sign [OPTIONS] **Options**: -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--use-hotkey / --no-use-hotkey`: If specified, the message will be signed by the hotkey. If not specified, the user will be prompted. -* `--message TEXT`: The message to encode and sign -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--use-hotkey / --no-use-hotkey`: If specified, the message will be signed by the hotkey. If not specified, the user will be prompted. +- `--message TEXT`: The message to encode and sign +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w swap_hotkey` @@ -2170,18 +2056,18 @@ btcli w swap_hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] **Arguments**: -* `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. +- `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli w regen_coldkey` @@ -2199,7 +2085,6 @@ Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" ``` - Note: This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. **Usage**: @@ -2210,17 +2095,17 @@ btcli w regen_coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w regen_coldkeypub` @@ -2230,7 +2115,7 @@ Use this command when you need to move machine for subnet mining. Use the public **Usage:** -The command requires either a public key in hexadecimal format or an ``SS58`` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. +The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. **Example:** @@ -2248,14 +2133,14 @@ btcli w regen_coldkeypub [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--public-key-hex TEXT`: The public key in hex format. -* `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--public-key-hex TEXT`: The public key in hex format. +- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w regen_hotkey` @@ -2267,7 +2152,6 @@ Similar to regenerating a coldkey, this command creates a new hotkey from a mnem Users can provide a mnemonic, seed string, or a JSON file to regenerate the hotkey. The command supports optional password protection and can overwrite an existing hotkey. - ``` btcli wallet regen_hotkey --seed 0x1234... ``` @@ -2283,17 +2167,17 @@ btcli w regen_hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w new_hotkey` @@ -2320,15 +2204,15 @@ btcli w new_hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w new_coldkey` @@ -2354,15 +2238,15 @@ btcli w new_coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli w set_identity` @@ -2372,7 +2256,7 @@ The on-chain identity includes attributes such as display name, legal name, web The command prompts the user for the identity attributes and validates the input size for each attribute. It provides an option to update an existing validator hotkey identity. If the user consents to the transaction cost, the identity is updated on the blockchain. -Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey ``ss58`` address for the identity to be updated. +Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey `ss58` address for the identity to be updated. If the user does not have a hotkey, the coldkey address is used by default. If setting a validator identity, the hotkey will be used by default. If the user is setting an identity for a subnet, the coldkey will be used by default. @@ -2392,21 +2276,21 @@ btcli w set_identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--name TEXT`: The display name for the identity. -* `--web-url, --web TEXT`: The web URL for the identity. -* `--image-url, --image TEXT`: The image URL for the identity. -* `--discord TEXT`: The Discord handle for the identity. -* `--description TEXT`: The description for the identity. -* `--additional TEXT`: Additional details for the identity. -* `--github TEXT`: The GitHub repository for the identity. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--name TEXT`: The display name for the identity. +- `--web-url, --web TEXT`: The web URL for the identity. +- `--image-url, --image TEXT`: The image URL for the identity. +- `--discord TEXT`: The Discord handle for the identity. +- `--description TEXT`: The description for the identity. +- `--additional TEXT`: Additional details for the identity. +- `--github TEXT`: The GitHub repository for the identity. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli w get_identity` @@ -2414,7 +2298,7 @@ Shows the identity details of a user's coldkey or hotkey. The command displays the information in a table format showing: -- Address: The ``ss58`` address of the queried key. +- Address: The `ss58` address of the queried key. - Item: Various attributes of the identity such as stake, rank, and trust. @@ -2436,14 +2320,14 @@ btcli w get_identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ## `btcli wallets` @@ -2455,35 +2339,34 @@ btcli wallets [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `list`: Displays all the wallets and their... -* `swap-hotkey`: Swap hotkeys of a given wallet on the... -* `regen-coldkey`: Regenerate a coldkey for a wallet on the... -* `regen-coldkeypub`: Regenerates the public part of a coldkey... -* `regen-hotkey`: Regenerates a hotkey for a wallet. -* `new-hotkey`: Create a new hotkey for a wallet. -* `new-coldkey`: Create a new coldkey. -* `create`: Create a complete wallet by setting up... -* `balance`: Check the balance of the wallet. -* `history`: Show the history of the transfers carried... -* `overview`: Displays a detailed overview of the user's... -* `transfer`: Send TAO tokens from one wallet to another... -* `inspect`: Displays the details of the user's wallet... -* `faucet`: Obtain test TAO tokens by performing Proof... -* `set-identity`: Create or update the on-chain identity of... -* `get-identity`: Shows the identity details of a user's... -* `sign`: Allows users to sign a message with the... -* `swap_hotkey`: Swap hotkeys of a given wallet on the... -* `regen_coldkey`: Regenerate a coldkey for a wallet on the... -* `regen_coldkeypub`: Regenerates the public part of a coldkey... -* `regen_hotkey`: Regenerates a hotkey for a wallet. -* `new_hotkey`: Create a new hotkey for a wallet. -* `new_coldkey`: Create a new coldkey. -* `set_identity`: Create or update the on-chain identity of... -* `get_identity`: Shows the identity details of a user's... +- `list`: Displays all the wallets and their... +- `swap-hotkey`: Swap hotkeys of a given wallet on the... +- `regen-coldkey`: Regenerate a coldkey for a wallet on the... +- `regen-coldkeypub`: Regenerates the public part of a coldkey... +- `regen-hotkey`: Regenerates a hotkey for a wallet. +- `new-hotkey`: Create a new hotkey for a wallet. +- `new-coldkey`: Create a new coldkey. +- `create`: Create a complete wallet by setting up... +- `balance`: Check the balance of the wallet. +- `history`: Show the history of the transfers carried... +- `overview`: Displays a detailed overview of the user's... +- `transfer`: Send TAO tokens from one wallet to another... +- `inspect`: Displays the details of the user's wallet... +- `set-identity`: Create or update the on-chain identity of... +- `get-identity`: Shows the identity details of a user's... +- `sign`: Allows users to sign a message with the... +- `swap_hotkey`: Swap hotkeys of a given wallet on the... +- `regen_coldkey`: Regenerate a coldkey for a wallet on the... +- `regen_coldkeypub`: Regenerates the public part of a coldkey... +- `regen_hotkey`: Regenerates a hotkey for a wallet. +- `new_hotkey`: Create a new hotkey for a wallet. +- `new_coldkey`: Create a new coldkey. +- `set_identity`: Create or update the on-chain identity of... +- `get_identity`: Shows the identity details of a user's... ### `btcli wallets list` @@ -2494,7 +2377,6 @@ The output display shows each wallet and its associated `ss58` addresses for the Upon invocation, the command scans the wallet directory and prints a list of all the wallets, indicating whether the public keys are available (`?` denotes unavailable or encrypted keys). - ``` btcli wallet list --path ~/.bittensor ``` @@ -2509,10 +2391,10 @@ btcli wallets list [OPTIONS] **Options**: -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets swap-hotkey` @@ -2542,18 +2424,18 @@ btcli wallets swap-hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] **Arguments**: -* `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. +- `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli wallets regen-coldkey` @@ -2571,7 +2453,6 @@ Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" ``` - Note: This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. **Usage**: @@ -2582,17 +2463,17 @@ btcli wallets regen-coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets regen-coldkeypub` @@ -2602,7 +2483,7 @@ Use this command when you need to move machine for subnet mining. Use the public **Usage:** -The command requires either a public key in hexadecimal format or an ``SS58`` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. +The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. **Example:** @@ -2620,14 +2501,14 @@ btcli wallets regen-coldkeypub [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--public-key-hex TEXT`: The public key in hex format. -* `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--public-key-hex TEXT`: The public key in hex format. +- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets regen-hotkey` @@ -2639,7 +2520,6 @@ Similar to regenerating a coldkey, this command creates a new hotkey from a mnem Users can provide a mnemonic, seed string, or a JSON file to regenerate the hotkey. The command supports optional password protection and can overwrite an existing hotkey. - ``` btcli wallet regen_hotkey --seed 0x1234... ``` @@ -2655,17 +2535,17 @@ btcli wallets regen-hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets new-hotkey` @@ -2692,15 +2572,15 @@ btcli wallets new-hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets new-coldkey` @@ -2726,15 +2606,15 @@ btcli wallets new-coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets create` @@ -2760,15 +2640,15 @@ btcli wallets create [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words INTEGER` -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words INTEGER` +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets balance` @@ -2780,27 +2660,27 @@ You can also pass multiple ss58 addresses of coldkeys to check their balance (us - To display the balance of a single wallet, use the command with the `--wallet-name` argument and provide the wallet name: - ``` - btcli w balance --wallet-name WALLET - ``` + ``` + btcli w balance --wallet-name WALLET + ``` - To use the default config values, use: - ``` - btcli w balance - ``` + ``` + btcli w balance + ``` - To display the balances of all your wallets, use the `--all` argument: - ``` - btcli w balance --all - ``` + ``` + btcli w balance --all + ``` - To display the balances of ss58 addresses, use the `--ss58` argument: - ``` - btcli w balance --ss58 <ss58_address> --ss58 <ss58_address> - ``` + ``` + btcli w balance --ss58 <ss58_address> --ss58 <ss58_address> + ``` **Usage**: @@ -2810,15 +2690,15 @@ btcli wallets balance [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -* `-a, --all`: Whether to display the balances for all the wallets. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. +- `-a, --all`: Whether to display the balances for all the wallets. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets history` @@ -2842,12 +2722,12 @@ btcli wallets history [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets overview` @@ -2877,19 +2757,19 @@ btcli wallets overview [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-a, --all`: See an overview for all the wallets -* `--sort-by, --sort_by TEXT`: Sort the hotkeys by the specified column title. For example: name, uid, axon. -* `--sort-order, --sort_order TEXT`: Sort the hotkeys in the specified order (ascending/asc or descending/desc/reverse). -* `-in, --include-hotkeys TEXT`: Hotkeys to include. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--exclude-hotkeys', will be included. -* `-ex, --exclude-hotkeys TEXT`: Hotkeys to exclude. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--include-hotkeys', will be excluded. -* `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-a, --all`: See an overview for all the wallets +- `--sort-by, --sort_by TEXT`: Sort the hotkeys by the specified column title. For example: name, uid, axon. +- `--sort-order, --sort_order TEXT`: Sort the hotkeys in the specified order (ascending/asc or descending/desc/reverse). +- `-in, --include-hotkeys TEXT`: Hotkeys to include. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--exclude-hotkeys', will be included. +- `-ex, --exclude-hotkeys TEXT`: Hotkeys to exclude. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--include-hotkeys', will be excluded. +- `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets transfer` @@ -2920,16 +2800,16 @@ btcli wallets transfer [OPTIONS] **Options**: -* `-d, --destination, --dest TEXT`: Destination address (ss58) of the wallet (coldkey). -* `-a, --amount FLOAT`: Amount (in TAO) to transfer. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-d, --destination, --dest TEXT`: Destination address (ss58) of the wallet (coldkey). +- `-a, --amount FLOAT`: Amount (in TAO) to transfer. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets inspect` @@ -2975,58 +2855,15 @@ btcli wallets inspect [OPTIONS] **Options**: -* `-a, --all, --all-wallets`: Inspect all the wallets at the specified wallet path. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. - -### `btcli wallets faucet` - -Obtain test TAO tokens by performing Proof of Work (PoW). - -This command is useful for users who need test tokens for operations on a local blockchain. - -**Important:**: THIS COMMAND IS DISABLED ON FINNEY AND TESTNET. - -**Usage:** - -The command uses the proof-of-work (POW) mechanism to validate the user's effort and rewards them with test TAO tokens. It is -typically used in local blockchain environments where transactions do not use real TAO tokens. - -**Example:** - -``` -btcli wallet faucet --faucet.num_processes 4 --faucet.cuda.use_cuda -``` - -Note: This command is meant for used in local environments where users can experiment with the blockchain without using real TAO tokens. Users must have the necessary hardware setup, especially when opting for CUDA-based GPU calculations. It is currently disabled on testnet and mainnet (finney). You can only use this command on a local blockchain. - -**Usage**: - -```console -btcli wallets faucet [OPTIONS] -``` - -**Options**: - -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--processors INTEGER`: Number of processors to use for proof of work (POW) registration. -* `-u, --update-interval INTEGER`: The number of nonces to process before checking for next block during registration [default: 50000] -* `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -* `-v, --verbose`: Whether to output the registration statistics verbosely. -* `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set flag to use CUDA for proof of work (POW) registration. [default: no-use-cuda] -* `-d, --dev-id INTEGER`: Set the CUDA device id(s) in the order of speed, where 0 is the fastest. [default: 0] -* `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -* `--max-successes INTEGER`: Set the maximum number of times to successfully run the faucet for this command. [default: 3] -* `--help`: Show this message and exit. +- `-a, --all, --all-wallets`: Inspect all the wallets at the specified wallet path. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets set-identity` @@ -3036,7 +2873,7 @@ The on-chain identity includes attributes such as display name, legal name, web The command prompts the user for the identity attributes and validates the input size for each attribute. It provides an option to update an existing validator hotkey identity. If the user consents to the transaction cost, the identity is updated on the blockchain. -Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey ``ss58`` address for the identity to be updated. +Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey `ss58` address for the identity to be updated. If the user does not have a hotkey, the coldkey address is used by default. If setting a validator identity, the hotkey will be used by default. If the user is setting an identity for a subnet, the coldkey will be used by default. @@ -3056,21 +2893,21 @@ btcli wallets set-identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--name TEXT`: The display name for the identity. -* `--web-url, --web TEXT`: The web URL for the identity. -* `--image-url, --image TEXT`: The image URL for the identity. -* `--discord TEXT`: The Discord handle for the identity. -* `--description TEXT`: The description for the identity. -* `--additional TEXT`: Additional details for the identity. -* `--github TEXT`: The GitHub repository for the identity. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--name TEXT`: The display name for the identity. +- `--web-url, --web TEXT`: The web URL for the identity. +- `--image-url, --image TEXT`: The image URL for the identity. +- `--discord TEXT`: The Discord handle for the identity. +- `--description TEXT`: The description for the identity. +- `--additional TEXT`: Additional details for the identity. +- `--github TEXT`: The GitHub repository for the identity. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli wallets get-identity` @@ -3078,7 +2915,7 @@ Shows the identity details of a user's coldkey or hotkey. The command displays the information in a table format showing: -- Address: The ``ss58`` address of the queried key. +- Address: The `ss58` address of the queried key. - Item: Various attributes of the identity such as stake, rank, and trust. @@ -3100,14 +2937,14 @@ btcli wallets get-identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets sign` @@ -3127,7 +2964,6 @@ btcli wallet sign --wallet-name default --message '{"something": "here", "timest btcli wallet sign --wallet-name default --wallet-hotkey hotkey --message '{"something": "here", "timestamp": 1719908486}' ``` - **Usage**: ```console @@ -3136,14 +2972,14 @@ btcli wallets sign [OPTIONS] **Options**: -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--use-hotkey / --no-use-hotkey`: If specified, the message will be signed by the hotkey. If not specified, the user will be prompted. -* `--message TEXT`: The message to encode and sign -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--use-hotkey / --no-use-hotkey`: If specified, the message will be signed by the hotkey. If not specified, the user will be prompted. +- `--message TEXT`: The message to encode and sign +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets swap_hotkey` @@ -3173,18 +3009,18 @@ btcli wallets swap_hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] **Arguments**: -* `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. +- `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli wallets regen_coldkey` @@ -3202,7 +3038,6 @@ Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" ``` - Note: This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. **Usage**: @@ -3213,17 +3048,17 @@ btcli wallets regen_coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets regen_coldkeypub` @@ -3233,7 +3068,7 @@ Use this command when you need to move machine for subnet mining. Use the public **Usage:** -The command requires either a public key in hexadecimal format or an ``SS58`` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. +The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. **Example:** @@ -3251,14 +3086,14 @@ btcli wallets regen_coldkeypub [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--public-key-hex TEXT`: The public key in hex format. -* `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--public-key-hex TEXT`: The public key in hex format. +- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets regen_hotkey` @@ -3270,7 +3105,6 @@ Similar to regenerating a coldkey, this command creates a new hotkey from a mnem Users can provide a mnemonic, seed string, or a JSON file to regenerate the hotkey. The command supports optional password protection and can overwrite an existing hotkey. - ``` btcli wallet regen_hotkey --seed 0x1234... ``` @@ -3286,17 +3120,17 @@ btcli wallets regen_hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets new_hotkey` @@ -3323,15 +3157,15 @@ btcli wallets new_hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets new_coldkey` @@ -3357,15 +3191,15 @@ btcli wallets new_coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wallets set_identity` @@ -3375,7 +3209,7 @@ The on-chain identity includes attributes such as display name, legal name, web The command prompts the user for the identity attributes and validates the input size for each attribute. It provides an option to update an existing validator hotkey identity. If the user consents to the transaction cost, the identity is updated on the blockchain. -Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey ``ss58`` address for the identity to be updated. +Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey `ss58` address for the identity to be updated. If the user does not have a hotkey, the coldkey address is used by default. If setting a validator identity, the hotkey will be used by default. If the user is setting an identity for a subnet, the coldkey will be used by default. @@ -3395,21 +3229,21 @@ btcli wallets set_identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--name TEXT`: The display name for the identity. -* `--web-url, --web TEXT`: The web URL for the identity. -* `--image-url, --image TEXT`: The image URL for the identity. -* `--discord TEXT`: The Discord handle for the identity. -* `--description TEXT`: The description for the identity. -* `--additional TEXT`: Additional details for the identity. -* `--github TEXT`: The GitHub repository for the identity. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--name TEXT`: The display name for the identity. +- `--web-url, --web TEXT`: The web URL for the identity. +- `--image-url, --image TEXT`: The image URL for the identity. +- `--discord TEXT`: The Discord handle for the identity. +- `--description TEXT`: The description for the identity. +- `--additional TEXT`: Additional details for the identity. +- `--github TEXT`: The GitHub repository for the identity. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli wallets get_identity` @@ -3417,7 +3251,7 @@ Shows the identity details of a user's coldkey or hotkey. The command displays the information in a table format showing: -- Address: The ``ss58`` address of the queried key. +- Address: The `ss58` address of the queried key. - Item: Various attributes of the identity such as stake, rank, and trust. @@ -3439,14 +3273,14 @@ btcli wallets get_identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ## `btcli stake` @@ -3458,18 +3292,18 @@ btcli stake [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `add`: Stake TAO to one or more hotkeys on... -* `remove`: Unstake TAO from one or more hotkeys and... -* `list`: Display detailed stake information for a... -* `move`: Move staked TAO between hotkeys while... -* `transfer`: Transfer stake between coldkeys while... -* `swap`: Swap stake between different subnets while... -* `child`: Child Hotkey commands, alias: `children` -* `children` +- `add`: Stake TAO to one or more hotkeys on... +- `remove`: Unstake TAO from one or more hotkeys and... +- `list`: Display detailed stake information for a... +- `move`: Move staked TAO between hotkeys while... +- `transfer`: Transfer stake between coldkeys while... +- `swap`: Swap stake between different subnets while... +- `child`: Child Hotkey commands, alias: `children` +- `children` ### `btcli stake add` @@ -3478,39 +3312,45 @@ Stake TAO to one or more hotkeys on specific netuids with your coldkey. Stake is always added through your coldkey's free balance. For stake movement, see the `btcli stake move` command. Common Examples: + 1. Interactive staking (guided prompts): - ``` - btcli stake add - ``` + + ``` + btcli stake add + ``` 2. Safe staking with rate tolerance of 10% with partial transaction disabled: - ``` - btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.1 --no-partial - ``` + + ``` + btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.1 --no-partial + ``` 3. Allow partial stake if rates change with tolerance of 10%: - ``` - btcli stake add --amount 300 --safe --partial --tolerance 0.1 - ``` + + ``` + btcli stake add --amount 300 --safe --partial --tolerance 0.1 + ``` 4. Unsafe staking with no rate protection: - ``` - btcli stake add --amount 300 --netuid 1 --unsafe - ``` + + ``` + btcli stake add --amount 300 --netuid 1 --unsafe + ``` 5. Stake to multiple hotkeys: - ``` - btcli stake add --amount 200 --include-hotkeys hk_ss58_1,hk_ss58_2,hk_ss58_3 - ``` + + ``` + btcli stake add --amount 200 --include-hotkeys hk_ss58_1,hk_ss58_2,hk_ss58_3 + ``` 6. Stake all balance to a subnet: - ``` - btcli stake add --all --netuid 3 - ``` + ``` + btcli stake add --all --netuid 3 + ``` Safe Staking Parameters:--safe: Enables rate tolerance checks - --tolerance: Maximum % rate change allowed (0.05 = 5%) - --partial: Complete partial stake if rates exceed tolerance +--tolerance: Maximum % rate change allowed (0.05 = 5%) +--partial: Complete partial stake if rates exceed tolerance **Usage**: @@ -3520,24 +3360,24 @@ btcli stake add [OPTIONS] **Options**: -* `-a, --all-tokens, --all`: When set, the command stakes all the available TAO from the coldkey. -* `--amount FLOAT`: The amount of TAO to stake [default: 0.0] -* `-in, --include-hotkeys, --hotkey-ss58-address TEXT`: Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` -* `-ex, --exclude-hotkeys TEXT`: Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -* `--all-hotkeys / --no-all-hotkeys`: When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). -* `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). -* `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-a, --all-tokens, --all`: When set, the command stakes all the available TAO from the coldkey. +- `--amount FLOAT`: The amount of TAO to stake [default: 0.0] +- `-in, --include-hotkeys, --hotkey-ss58-address TEXT`: Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` +- `-ex, --exclude-hotkeys TEXT`: Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` +- `--all-hotkeys / --no-all-hotkeys`: When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). +- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli stake remove` @@ -3546,40 +3386,46 @@ Unstake TAO from one or more hotkeys and transfer them back to the user's coldke This command is used to withdraw TAO or Alpha stake from different hotkeys. Common Examples: + 1. Interactive unstaking (guided prompts): - ``` - btcli stake remove - ``` + + ``` + btcli stake remove + ``` 2. Safe unstaking with 10% rate tolerance: - ``` - btcli stake remove --amount 100 --netuid 1 --safe --tolerance 0.1 - ``` + + ``` + btcli stake remove --amount 100 --netuid 1 --safe --tolerance 0.1 + ``` 3. Allow partial unstake if rates change: - ``` - btcli stake remove --amount 300 --safe --partial - ``` + + ``` + btcli stake remove --amount 300 --safe --partial + ``` 4. Unstake from multiple hotkeys: - ``` - btcli stake remove --amount 200 --include-hotkeys hk1,hk2,hk3 - ``` + + ``` + btcli stake remove --amount 200 --include-hotkeys hk1,hk2,hk3 + ``` 5. Unstake all from a hotkey: - ``` - btcli stake remove --all - ``` + + ``` + btcli stake remove --all + ``` 6. Unstake all Alpha from a hotkey and stake to Root: - ``` - btcli stake remove --all-alpha - ``` + ``` + btcli stake remove --all-alpha + ``` Safe Staking Parameters: - --safe: Enables rate tolerance checks during unstaking - --tolerance: Max allowed rate change (0.05 = 5%) - --partial: Complete partial unstake if rates exceed tolerance +--safe: Enables rate tolerance checks during unstaking +--tolerance: Max allowed rate change (0.05 = 5%) +--partial: Complete partial unstake if rates exceed tolerance **Usage**: @@ -3589,25 +3435,25 @@ btcli stake remove [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -* `-a, --amount FLOAT`: The amount of TAO to unstake. [default: 0.0] -* `--hotkey-ss58-address TEXT`: The ss58 address of the hotkey to unstake from. -* `-in, --include-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` -* `-ex, --exclude-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address not to unstake from (only use with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -* `--all-hotkeys / --no-all-hotkeys`: When set, this command unstakes from all the hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] -* `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). -* `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). -* `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `-i, --interactive`: Enter interactive mode for unstaking. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `-a, --amount FLOAT`: The amount of TAO to unstake. [default: 0.0] +- `--hotkey-ss58-address TEXT`: The ss58 address of the hotkey to unstake from. +- `-in, --include-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` +- `-ex, --exclude-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address not to unstake from (only use with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` +- `--all-hotkeys / --no-all-hotkeys`: When set, this command unstakes from all the hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] +- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). +- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `-i, --interactive`: Enter interactive mode for unstaking. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli stake list` @@ -3616,22 +3462,27 @@ Display detailed stake information for a wallet across all subnets. Shows stake allocations, exchange rates, and emissions for each hotkey. Common Examples: + 1. Basic stake overview: + ``` btcli stake list --wallet.name my_wallet ``` 2. Live updating view with refresh: + ``` btcli stake list --wallet.name my_wallet --live ``` 3. View specific coldkey by address: + ``` btcli stake list --ss58 5Dk...X3q ``` 4. Verbose output with full values: + ``` btcli stake list --wallet.name my_wallet --verbose ``` @@ -3644,27 +3495,29 @@ btcli stake list [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58 TEXT`: Coldkey address of the wallet -* `--live`: Display live view of the table -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58 TEXT`: Coldkey address of the wallet +- `--live`: Display live view of the table +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli stake move` Move staked TAO between hotkeys while keeping the same coldkey ownership. This command allows you to: + - Move stake from one hotkey to another hotkey - Move stake between different subnets - Keep the same coldkey ownership You can specify: + - The origin subnet (--origin-netuid) - The destination subnet (--dest-netuid) - The destination hotkey (--dest-hotkey) @@ -3686,28 +3539,30 @@ btcli stake move [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--origin-netuid INTEGER`: Origin netuid -* `--dest-netuid INTEGER`: Destination netuid -* `--dest-ss58, --dest TEXT`: Destination hotkey -* `--amount FLOAT`: The amount of TAO to stake -* `--stake-all, --all`: Stake all -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--origin-netuid INTEGER`: Origin netuid +- `--dest-netuid INTEGER`: Destination netuid +- `--dest-ss58, --dest TEXT`: Destination hotkey +- `--amount FLOAT`: The amount of TAO to stake +- `--stake-all, --all`: Stake all +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli stake transfer` Transfer stake between coldkeys while keeping the same hotkey ownership. This command allows you to: + - Transfer stake from one coldkey to another coldkey - Keep the same hotkey ownership - Transfer stake between different subnets You can specify: + - The origin subnet (--origin-netuid) - The destination subnet (--dest-netuid) - The destination wallet/address (--dest) @@ -3718,11 +3573,13 @@ If no arguments are provided, an interactive selection menu will be shown. **Example:** Transfer 100 TAO from subnet 1 to subnet 2: + ``` btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest wallet2 --amount 100 ``` Using SS58 address: + ``` btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest 5FrLxJsyJ5x9n2rmxFwosFraxFCKcXZDngEP9H7qjkKgHLcK --amount 100 ``` @@ -3735,29 +3592,31 @@ btcli stake transfer [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--origin-netuid INTEGER`: The netuid to transfer stake from -* `--dest-netuid INTEGER`: The netuid to transfer stake to -* `--dest-ss58, --dest, --dest-coldkey TEXT`: The destination wallet name or SS58 address to transfer stake to -* `-a, --amount FLOAT`: Amount of stake to transfer -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--origin-netuid INTEGER`: The netuid to transfer stake from +- `--dest-netuid INTEGER`: The netuid to transfer stake to +- `--dest-ss58, --dest, --dest-coldkey TEXT`: The destination wallet name or SS58 address to transfer stake to +- `-a, --amount FLOAT`: Amount of stake to transfer +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli stake swap` Swap stake between different subnets while keeping the same coldkey-hotkey pair ownership. This command allows you to: + - Move stake from one subnet to another subnet - Keep the same coldkey ownership - Keep the same hotkey ownership You can specify: + - The origin subnet (--origin-netuid) - The destination subnet (--dest-netuid) - The amount to swap (--amount) @@ -3767,6 +3626,7 @@ If no arguments are provided, an interactive selection menu will be shown. **Example:** Swap 100 TAO from subnet 1 to subnet 2: + ``` btcli stake swap --wallet-name default --wallet-hotkey default --origin-netuid 1 --dest-netuid 2 --amount 100 ``` @@ -3779,20 +3639,20 @@ btcli stake swap [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-o, --origin-netuid, --origin INTEGER`: The netuid to swap stake from -* `-d, --dest-netuid, --dest INTEGER`: The netuid to swap stake to -* `-a, --amount FLOAT`: Amount of stake to swap -* `--swap-all, --all`: Swap all available stake -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-o, --origin-netuid, --origin INTEGER`: The netuid to swap stake from +- `-d, --dest-netuid, --dest INTEGER`: The netuid to swap stake to +- `-a, --amount FLOAT`: Amount of stake to swap +- `--swap-all, --all`: Swap all available stake +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli stake child` @@ -3804,14 +3664,14 @@ btcli stake child [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `get`: Get all the child hotkeys on a specified... -* `set`: Set child hotkeys on specified subnets. -* `revoke`: Remove all children hotkeys on a specified... -* `take`: Get and set your child hotkey take on a... +- `get`: Get all the child hotkeys on a specified... +- `set`: Set child hotkeys on specified subnets. +- `revoke`: Remove all children hotkeys on a specified... +- `take`: Get and set your child hotkey take on a... #### `btcli stake child get` @@ -3824,6 +3684,7 @@ Users can specify the subnet and see the child hotkeys and the proportion that i ``` btcli stake child get --netuid 1 ``` + ``` btcli stake child get --all-netuids ``` @@ -3836,15 +3697,15 @@ btcli stake child get [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet (e.g. 2) -* `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) +- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### `btcli stake child set` @@ -3868,19 +3729,19 @@ btcli stake child set [OPTIONS] **Options**: -* `-c, --children TEXT`: Enter child hotkeys (ss58) -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -* `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-c, --children TEXT`: Enter child hotkeys (ss58) +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### `btcli stake child revoke` @@ -3902,17 +3763,17 @@ btcli stake child revoke [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) -* `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### `btcli stake child take` @@ -3942,20 +3803,20 @@ btcli stake child take [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--hotkey TEXT` -* `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) -* `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -* `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--hotkey TEXT` +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli stake children` @@ -3967,14 +3828,14 @@ btcli stake children [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `get`: Get all the child hotkeys on a specified... -* `set`: Set child hotkeys on specified subnets. -* `revoke`: Remove all children hotkeys on a specified... -* `take`: Get and set your child hotkey take on a... +- `get`: Get all the child hotkeys on a specified... +- `set`: Set child hotkeys on specified subnets. +- `revoke`: Remove all children hotkeys on a specified... +- `take`: Get and set your child hotkey take on a... #### `btcli stake children get` @@ -3987,6 +3848,7 @@ Users can specify the subnet and see the child hotkeys and the proportion that i ``` btcli stake child get --netuid 1 ``` + ``` btcli stake child get --all-netuids ``` @@ -3999,15 +3861,15 @@ btcli stake children get [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet (e.g. 2) -* `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) +- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### `btcli stake children set` @@ -4031,19 +3893,19 @@ btcli stake children set [OPTIONS] **Options**: -* `-c, --children TEXT`: Enter child hotkeys (ss58) -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -* `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-c, --children TEXT`: Enter child hotkeys (ss58) +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### `btcli stake children revoke` @@ -4065,17 +3927,17 @@ btcli stake children revoke [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) -* `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### `btcli stake children take` @@ -4105,20 +3967,20 @@ btcli stake children take [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--hotkey TEXT` -* `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) -* `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -* `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--hotkey TEXT` +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ## `btcli st` @@ -4130,61 +3992,66 @@ btcli st [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `add`: Stake TAO to one or more hotkeys on... -* `remove`: Unstake TAO from one or more hotkeys and... -* `list`: Display detailed stake information for a... -* `move`: Move staked TAO between hotkeys while... -* `transfer`: Transfer stake between coldkeys while... -* `swap`: Swap stake between different subnets while... -* `child`: Child Hotkey commands, alias: `children` -* `children` +- `add`: Stake TAO to one or more hotkeys on... +- `remove`: Unstake TAO from one or more hotkeys and... +- `list`: Display detailed stake information for a... +- `move`: Move staked TAO between hotkeys while... +- `transfer`: Transfer stake between coldkeys while... +- `swap`: Swap stake between different subnets while... +- `child`: Child Hotkey commands, alias: `children` +- `children` ### `btcli st add` Stake TAO to one or more hotkeys on specific netuids with your coldkey. -Stake is always added through your coldkey's free balance. For stake movement, see +Stake is always added through your coldkey's free balance. For stake movement, see the `btcli stake move` command. - Common Examples: + 1. Interactive staking (guided prompts): - ``` - btcli stake add - ``` + + ``` + btcli stake add + ``` 2. Safe staking with rate tolerance of 10% with partial transaction disabled: - ``` - btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.1 --no-partial - ``` + + ``` + btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.1 --no-partial + ``` 3. Allow partial stake if rates change with tolerance of 10%: - ``` - btcli stake add --amount 300 --safe --partial --tolerance 0.1 - ``` + + ``` + btcli stake add --amount 300 --safe --partial --tolerance 0.1 + ``` 4. Unsafe staking with no rate protection: - ``` - btcli stake add --amount 300 --netuid 1 --unsafe - ``` + + ``` + btcli stake add --amount 300 --netuid 1 --unsafe + ``` 5. Stake to multiple hotkeys: - ``` - btcli stake add --amount 200 --include-hotkeys hk_ss58_1,hk_ss58_2,hk_ss58_3 - ``` + + ``` + btcli stake add --amount 200 --include-hotkeys hk_ss58_1,hk_ss58_2,hk_ss58_3 + ``` 6. Stake all balance to a subnet: - ``` - btcli stake add --all --netuid 3 - ``` + ``` + btcli stake add --all --netuid 3 + ``` Safe Staking Parameters: --safe: Enables rate tolerance checks - --tolerance: Maximum % rate change allowed (0.05 = 5%) - --partial: Complete partial stake if rates exceed tolerance +--tolerance: Maximum % rate change allowed (0.05 = 5%) +--partial: Complete partial stake if rates exceed tolerance **Usage**: @@ -4194,24 +4061,24 @@ btcli st add [OPTIONS] **Options**: -* `-a, --all-tokens, --all`: When set, the command stakes all the available TAO from the coldkey. -* `--amount FLOAT`: The amount of TAO to stake [default: 0.0] -* `-in, --include-hotkeys, --hotkey-ss58-address TEXT`: Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` -* `-ex, --exclude-hotkeys TEXT`: Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -* `--all-hotkeys / --no-all-hotkeys`: When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). -* `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). -* `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-a, --all-tokens, --all`: When set, the command stakes all the available TAO from the coldkey. +- `--amount FLOAT`: The amount of TAO to stake [default: 0.0] +- `-in, --include-hotkeys, --hotkey-ss58-address TEXT`: Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` +- `-ex, --exclude-hotkeys TEXT`: Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` +- `--all-hotkeys / --no-all-hotkeys`: When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). +- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli st remove` @@ -4220,39 +4087,45 @@ Unstake TAO from one or more hotkeys and transfer them back to the user's coldke This command is used to withdraw TAO or Alpha stake from different hotkeys. Common Examples: + 1. Interactive unstaking (guided prompts): - ``` - btcli stake remove - ``` + + ``` + btcli stake remove + ``` 2. Safe unstaking with 10% rate tolerance: - ``` - btcli stake remove --amount 100 --netuid 1 --safe --tolerance 0.1 - ``` + + ``` + btcli stake remove --amount 100 --netuid 1 --safe --tolerance 0.1 + ``` 3. Allow partial unstake if rates change: - ``` - btcli stake remove --amount 300 --safe --partial - ``` + + ``` + btcli stake remove --amount 300 --safe --partial + ``` 4. Unstake from multiple hotkeys: - ``` - btcli stake remove --amount 200 --include-hotkeys hk1,hk2,hk3 - ``` + + ``` + btcli stake remove --amount 200 --include-hotkeys hk1,hk2,hk3 + ``` 5. Unstake all from a hotkey: - ``` - btcli stake remove --all - ``` + + ``` + btcli stake remove --all + ``` 6. Unstake all Alpha from a hotkey and stake to Root: - ``` - btcli stake remove --all-alpha - ``` + ``` + btcli stake remove --all-alpha + ``` Safe Staking Parameters: --safe: Enables rate tolerance checks during unstaking - --tolerance: Max allowed rate change (0.05 = 5%) - --partial: Complete partial unstake if rates exceed tolerance +--tolerance: Max allowed rate change (0.05 = 5%) +--partial: Complete partial unstake if rates exceed tolerance **Usage**: @@ -4262,25 +4135,25 @@ btcli st remove [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -* `-a, --amount FLOAT`: The amount of TAO to unstake. [default: 0.0] -* `--hotkey-ss58-address TEXT`: The ss58 address of the hotkey to unstake from. -* `-in, --include-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` -* `-ex, --exclude-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address not to unstake from (only use with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -* `--all-hotkeys / --no-all-hotkeys`: When set, this command unstakes from all the hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] -* `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). -* `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). -* `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `-i, --interactive`: Enter interactive mode for unstaking. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `-a, --amount FLOAT`: The amount of TAO to unstake. [default: 0.0] +- `--hotkey-ss58-address TEXT`: The ss58 address of the hotkey to unstake from. +- `-in, --include-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` +- `-ex, --exclude-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address not to unstake from (only use with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` +- `--all-hotkeys / --no-all-hotkeys`: When set, this command unstakes from all the hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] +- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). +- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `-i, --interactive`: Enter interactive mode for unstaking. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli st list` @@ -4289,22 +4162,27 @@ Display detailed stake information for a wallet across all subnets. Shows stake allocations, exchange rates, and emissions for each hotkey. Common Examples: + 1. Basic stake overview: + ``` btcli stake list --wallet.name my_wallet ``` 2. Live updating view with refresh: + ``` btcli stake list --wallet.name my_wallet --live ``` 3. View specific coldkey by address: + ``` btcli stake list --ss58 5Dk...X3q ``` 4. Verbose output with full values: + ``` btcli stake list --wallet.name my_wallet --verbose ``` @@ -4317,27 +4195,29 @@ btcli st list [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58 TEXT`: Coldkey address of the wallet -* `--live`: Display live view of the table -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58 TEXT`: Coldkey address of the wallet +- `--live`: Display live view of the table +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli st move` Move staked TAO between hotkeys while keeping the same coldkey ownership. This command allows you to: + - Move stake from one hotkey to another hotkey - Move stake between different subnets - Keep the same coldkey ownership You can specify: + - The origin subnet (--origin-netuid) - The destination subnet (--dest-netuid) - The destination hotkey (--dest-hotkey) @@ -4359,28 +4239,30 @@ btcli st move [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--origin-netuid INTEGER`: Origin netuid -* `--dest-netuid INTEGER`: Destination netuid -* `--dest-ss58, --dest TEXT`: Destination hotkey -* `--amount FLOAT`: The amount of TAO to stake -* `--stake-all, --all`: Stake all -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--origin-netuid INTEGER`: Origin netuid +- `--dest-netuid INTEGER`: Destination netuid +- `--dest-ss58, --dest TEXT`: Destination hotkey +- `--amount FLOAT`: The amount of TAO to stake +- `--stake-all, --all`: Stake all +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli st transfer` Transfer stake between coldkeys while keeping the same hotkey ownership. This command allows you to: + - Transfer stake from one coldkey to another coldkey - Keep the same hotkey ownership - Transfer stake between different subnets You can specify: + - The origin subnet (--origin-netuid) - The destination subnet (--dest-netuid) - The destination wallet/address (--dest) @@ -4391,11 +4273,13 @@ If no arguments are provided, an interactive selection menu will be shown. **Example:** Transfer 100 TAO from subnet 1 to subnet 2: + ``` btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest wallet2 --amount 100 ``` Using SS58 address: + ``` btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest 5FrLxJsyJ5x9n2rmxFwosFraxFCKcXZDngEP9H7qjkKgHLcK --amount 100 ``` @@ -4408,29 +4292,31 @@ btcli st transfer [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--origin-netuid INTEGER`: The netuid to transfer stake from -* `--dest-netuid INTEGER`: The netuid to transfer stake to -* `--dest-ss58, --dest, --dest-coldkey TEXT`: The destination wallet name or SS58 address to transfer stake to -* `-a, --amount FLOAT`: Amount of stake to transfer -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--origin-netuid INTEGER`: The netuid to transfer stake from +- `--dest-netuid INTEGER`: The netuid to transfer stake to +- `--dest-ss58, --dest, --dest-coldkey TEXT`: The destination wallet name or SS58 address to transfer stake to +- `-a, --amount FLOAT`: Amount of stake to transfer +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli st swap` Swap stake between different subnets while keeping the same coldkey-hotkey pair ownership. This command allows you to: + - Move stake from one subnet to another subnet - Keep the same coldkey ownership - Keep the same hotkey ownership You can specify: + - The origin subnet (--origin-netuid) - The destination subnet (--dest-netuid) - The amount to swap (--amount) @@ -4440,6 +4326,7 @@ If no arguments are provided, an interactive selection menu will be shown. **Example:** Swap 100 TAO from subnet 1 to subnet 2: + ``` btcli stake swap --wallet-name default --wallet-hotkey default --origin-netuid 1 --dest-netuid 2 --amount 100 ``` @@ -4452,20 +4339,20 @@ btcli st swap [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-o, --origin-netuid, --origin INTEGER`: The netuid to swap stake from -* `-d, --dest-netuid, --dest INTEGER`: The netuid to swap stake to -* `-a, --amount FLOAT`: Amount of stake to swap -* `--swap-all, --all`: Swap all available stake -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-o, --origin-netuid, --origin INTEGER`: The netuid to swap stake from +- `-d, --dest-netuid, --dest INTEGER`: The netuid to swap stake to +- `-a, --amount FLOAT`: Amount of stake to swap +- `--swap-all, --all`: Swap all available stake +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli st child` @@ -4477,14 +4364,14 @@ btcli st child [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `get`: Get all the child hotkeys on a specified... -* `set`: Set child hotkeys on specified subnets. -* `revoke`: Remove all children hotkeys on a specified... -* `take`: Get and set your child hotkey take on a... +- `get`: Get all the child hotkeys on a specified... +- `set`: Set child hotkeys on specified subnets. +- `revoke`: Remove all children hotkeys on a specified... +- `take`: Get and set your child hotkey take on a... #### `btcli st child get` @@ -4497,6 +4384,7 @@ Users can specify the subnet and see the child hotkeys and the proportion that i ``` btcli stake child get --netuid 1 ``` + ``` btcli stake child get --all-netuids ``` @@ -4509,15 +4397,15 @@ btcli st child get [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet (e.g. 2) -* `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) +- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### `btcli st child set` @@ -4541,19 +4429,19 @@ btcli st child set [OPTIONS] **Options**: -* `-c, --children TEXT`: Enter child hotkeys (ss58) -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -* `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-c, --children TEXT`: Enter child hotkeys (ss58) +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### `btcli st child revoke` @@ -4575,17 +4463,17 @@ btcli st child revoke [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) -* `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### `btcli st child take` @@ -4615,20 +4503,20 @@ btcli st child take [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--hotkey TEXT` -* `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) -* `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -* `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--hotkey TEXT` +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli st children` @@ -4640,14 +4528,14 @@ btcli st children [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `get`: Get all the child hotkeys on a specified... -* `set`: Set child hotkeys on specified subnets. -* `revoke`: Remove all children hotkeys on a specified... -* `take`: Get and set your child hotkey take on a... +- `get`: Get all the child hotkeys on a specified... +- `set`: Set child hotkeys on specified subnets. +- `revoke`: Remove all children hotkeys on a specified... +- `take`: Get and set your child hotkey take on a... #### `btcli st children get` @@ -4660,6 +4548,7 @@ Users can specify the subnet and see the child hotkeys and the proportion that i ``` btcli stake child get --netuid 1 ``` + ``` btcli stake child get --all-netuids ``` @@ -4672,15 +4561,15 @@ btcli st children get [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet (e.g. 2) -* `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) +- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### `btcli st children set` @@ -4704,19 +4593,19 @@ btcli st children set [OPTIONS] **Options**: -* `-c, --children TEXT`: Enter child hotkeys (ss58) -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -* `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-c, --children TEXT`: Enter child hotkeys (ss58) +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### `btcli st children revoke` @@ -4738,17 +4627,17 @@ btcli st children revoke [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) -* `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### `btcli st children take` @@ -4778,20 +4667,20 @@ btcli st children take [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--hotkey TEXT` -* `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) -* `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -* `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--hotkey TEXT` +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ## `btcli sudo` @@ -4803,20 +4692,20 @@ btcli sudo [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `set`: Used to set hyperparameters for a specific... -* `get`: Shows a list of the hyperparameters for... -* `senate`: Shows the Senate members of the... -* `proposals`: View active proposals for the senate in... -* `senate-vote`: Cast a vote on an active proposal in... -* `set-take`: Allows users to change their delegate take... -* `get-take`: Allows users to check their delegate take... -* `senate_vote`: Cast a vote on an active proposal in... -* `get_take`: Allows users to check their delegate take... -* `set_take`: Allows users to change their delegate take... +- `set`: Used to set hyperparameters for a specific... +- `get`: Shows a list of the hyperparameters for... +- `senate`: Shows the Senate members of the... +- `proposals`: View active proposals for the senate in... +- `senate-vote`: Cast a vote on an active proposal in... +- `set-take`: Allows users to change their delegate take... +- `get-take`: Allows users to check their delegate take... +- `senate_vote`: Cast a vote on an active proposal in... +- `get_take`: Allows users to check their delegate take... +- `set_take`: Allows users to change their delegate take... ### `btcli sudo set` @@ -4838,16 +4727,16 @@ btcli sudo set [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--param, --parameter TEXT`: The subnet hyperparameter to set -* `--value TEXT`: Value to set the hyperparameter to. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--param, --parameter TEXT`: The subnet hyperparameter to set +- `--value TEXT`: Value to set the hyperparameter to. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli sudo get` @@ -4867,11 +4756,11 @@ btcli sudo get [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli sudo senate` @@ -4880,6 +4769,7 @@ Shows the Senate members of the Bittensor's governance protocol. This command lists the delegates involved in the decision-making process of the Bittensor network, showing their names and wallet addresses. This information is crucial for understanding who holds governance roles within the network. **Example:** + ``` btcli sudo senate ``` @@ -4892,10 +4782,10 @@ btcli sudo senate [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli sudo proposals` @@ -4904,6 +4794,7 @@ View active proposals for the senate in the Bittensor's governance protocol. This command displays the details of ongoing proposals, including proposal hashes, votes, thresholds, and proposal data. **Example:** + ``` btcli sudo proposals ``` @@ -4916,10 +4807,10 @@ btcli sudo proposals [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli sudo senate-vote` @@ -4931,6 +4822,7 @@ This command is used by Senate members to vote on various proposals that shape t The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the governance and evolution of the Bittensor network. **Example:** + ``` btcli sudo senate_vote --proposal <proposal_hash> ``` @@ -4943,16 +4835,16 @@ btcli sudo senate-vote [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--vote-aye / --vote-nay`: The vote casted on the proposal -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--vote-aye / --vote-nay`: The vote casted on the proposal +- `--help`: Show this message and exit. ### `btcli sudo set-take` @@ -4962,6 +4854,7 @@ This command can be used to update the delegate takes. To run the command, the u The command makes sure the new take value is within 0-18% range. **Example:** + ``` btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` @@ -4974,14 +4867,14 @@ btcli sudo set-take [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--take FLOAT`: The new take value. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--take FLOAT`: The new take value. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli sudo get-take` @@ -4990,6 +4883,7 @@ Allows users to check their delegate take percentage. This command can be used to fetch the delegate take of your hotkey. **Example:** + ``` btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` @@ -5002,13 +4896,13 @@ btcli sudo get-take [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli sudo senate_vote` @@ -5020,6 +4914,7 @@ This command is used by Senate members to vote on various proposals that shape t The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the governance and evolution of the Bittensor network. **Example:** + ``` btcli sudo senate_vote --proposal <proposal_hash> ``` @@ -5032,16 +4927,16 @@ btcli sudo senate_vote [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--vote-aye / --vote-nay`: The vote casted on the proposal -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--vote-aye / --vote-nay`: The vote casted on the proposal +- `--help`: Show this message and exit. ### `btcli sudo get_take` @@ -5050,6 +4945,7 @@ Allows users to check their delegate take percentage. This command can be used to fetch the delegate take of your hotkey. **Example:** + ``` btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` @@ -5062,13 +4958,13 @@ btcli sudo get_take [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli sudo set_take` @@ -5078,6 +4974,7 @@ This command can be used to update the delegate takes. To run the command, the u The command makes sure the new take value is within 0-18% range. **Example:** + ``` btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` @@ -5090,14 +4987,14 @@ btcli sudo set_take [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--take FLOAT`: The new take value. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--take FLOAT`: The new take value. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ## `btcli su` @@ -5109,20 +5006,20 @@ btcli su [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `set`: Used to set hyperparameters for a specific... -* `get`: Shows a list of the hyperparameters for... -* `senate`: Shows the Senate members of the... -* `proposals`: View active proposals for the senate in... -* `senate-vote`: Cast a vote on an active proposal in... -* `set-take`: Allows users to change their delegate take... -* `get-take`: Allows users to check their delegate take... -* `senate_vote`: Cast a vote on an active proposal in... -* `get_take`: Allows users to check their delegate take... -* `set_take`: Allows users to change their delegate take... +- `set`: Used to set hyperparameters for a specific... +- `get`: Shows a list of the hyperparameters for... +- `senate`: Shows the Senate members of the... +- `proposals`: View active proposals for the senate in... +- `senate-vote`: Cast a vote on an active proposal in... +- `set-take`: Allows users to change their delegate take... +- `get-take`: Allows users to check their delegate take... +- `senate_vote`: Cast a vote on an active proposal in... +- `get_take`: Allows users to check their delegate take... +- `set_take`: Allows users to change their delegate take... ### `btcli su set` @@ -5144,16 +5041,16 @@ btcli su set [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--param, --parameter TEXT`: The subnet hyperparameter to set -* `--value TEXT`: Value to set the hyperparameter to. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--param, --parameter TEXT`: The subnet hyperparameter to set +- `--value TEXT`: Value to set the hyperparameter to. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli su get` @@ -5173,11 +5070,11 @@ btcli su get [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli su senate` @@ -5186,6 +5083,7 @@ Shows the Senate members of the Bittensor's governance protocol. This command lists the delegates involved in the decision-making process of the Bittensor network, showing their names and wallet addresses. This information is crucial for understanding who holds governance roles within the network. **Example:** + ``` btcli sudo senate ``` @@ -5198,10 +5096,10 @@ btcli su senate [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli su proposals` @@ -5210,6 +5108,7 @@ View active proposals for the senate in the Bittensor's governance protocol. This command displays the details of ongoing proposals, including proposal hashes, votes, thresholds, and proposal data. **Example:** + ``` btcli sudo proposals ``` @@ -5222,10 +5121,10 @@ btcli su proposals [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli su senate-vote` @@ -5237,6 +5136,7 @@ This command is used by Senate members to vote on various proposals that shape t The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the governance and evolution of the Bittensor network. **Example:** + ``` btcli sudo senate_vote --proposal <proposal_hash> ``` @@ -5249,16 +5149,16 @@ btcli su senate-vote [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--vote-aye / --vote-nay`: The vote casted on the proposal -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--vote-aye / --vote-nay`: The vote casted on the proposal +- `--help`: Show this message and exit. ### `btcli su set-take` @@ -5268,6 +5168,7 @@ This command can be used to update the delegate takes. To run the command, the u The command makes sure the new take value is within 0-18% range. **Example:** + ``` btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` @@ -5280,14 +5181,14 @@ btcli su set-take [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--take FLOAT`: The new take value. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--take FLOAT`: The new take value. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli su get-take` @@ -5296,6 +5197,7 @@ Allows users to check their delegate take percentage. This command can be used to fetch the delegate take of your hotkey. **Example:** + ``` btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` @@ -5308,13 +5210,13 @@ btcli su get-take [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli su senate_vote` @@ -5326,6 +5228,7 @@ This command is used by Senate members to vote on various proposals that shape t The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the governance and evolution of the Bittensor network. **Example:** + ``` btcli sudo senate_vote --proposal <proposal_hash> ``` @@ -5338,16 +5241,16 @@ btcli su senate_vote [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--vote-aye / --vote-nay`: The vote casted on the proposal -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--vote-aye / --vote-nay`: The vote casted on the proposal +- `--help`: Show this message and exit. ### `btcli su get_take` @@ -5356,6 +5259,7 @@ Allows users to check their delegate take percentage. This command can be used to fetch the delegate take of your hotkey. **Example:** + ``` btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` @@ -5368,13 +5272,13 @@ btcli su get_take [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli su set_take` @@ -5384,6 +5288,7 @@ This command can be used to update the delegate takes. To run the command, the u The command makes sure the new take value is within 0-18% range. **Example:** + ``` btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` @@ -5396,14 +5301,14 @@ btcli su set_take [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--take FLOAT`: The new take value. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--take FLOAT`: The new take value. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ## `btcli subnets` @@ -5415,21 +5320,21 @@ btcli subnets [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `hyperparameters`: Shows a list of the hyperparameters for... -* `list`: List all subnets and their detailed... -* `burn-cost`: Shows the required amount of TAO to be... -* `create`: Registers a new subnet on the network. -* `pow-register`: Register a neuron (a subnet validator or a... -* `register`: Register a neuron (a subnet validator or a... -* `metagraph`: Displays detailed information about a... -* `show`: Displays detailed information about a... -* `price`: Shows the historical price of a subnet for... -* `burn_cost`: Shows the required amount of TAO to be... -* `pow_register`: Register a neuron (a subnet validator or a... +- `hyperparameters`: Shows a list of the hyperparameters for... +- `list`: List all subnets and their detailed... +- `burn-cost`: Shows the required amount of TAO to be... +- `create`: Registers a new subnet on the network. +- `pow-register`: Register a neuron (a subnet validator or a... +- `register`: Register a neuron (a subnet validator or a... +- `metagraph`: Displays detailed information about a... +- `show`: Displays detailed information about a... +- `price`: Shows the historical price of a subnet for... +- `burn_cost`: Shows the required amount of TAO to be... +- `pow_register`: Register a neuron (a subnet validator or a... ### `btcli subnets hyperparameters` @@ -5449,42 +5354,45 @@ btcli subnets hyperparameters [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli subnets list` List all subnets and their detailed information. - Common Examples: - 1. List all subnets: - ``` - btcli subnets list - ``` +Common Examples: - 2. List all subnets in live mode: - ``` - btcli subnets list --live - ``` +1. List all subnets: + +``` +btcli subnets list +``` + +2. List all subnets in live mode: + +``` +btcli subnets list --live +``` Output Columns: Netuid - Subnet identifier number - Name - Subnet name with currency symbol (τ/α/β etc) - Price (τ_in/α_in) - Exchange rate (TAO per alpha token) - Market Cap (α * Price) - Total value in TAO (alpha tokens × price) - Emission (τ) - TAO rewards emitted per block to subnet - P (τ_in, α_in) - Pool reserves (Tao reserves, alpha reserves) in liquidity pool - Stake (α_out) - Total staked alpha tokens across all hotkeys (alpha outstanding) - Supply (α) - Circulating alpha token supply - Tempo (k/n) - Block interval for subnet updates +Name - Subnet name with currency symbol (τ/α/β etc) +Price (τ_in/α_in) - Exchange rate (TAO per alpha token) +Market Cap (α \* Price) - Total value in TAO (alpha tokens × price) +Emission (τ) - TAO rewards emitted per block to subnet +P (τ_in, α_in) - Pool reserves (Tao reserves, alpha reserves) in liquidity pool +Stake (α_out) - Total staked alpha tokens across all hotkeys (alpha outstanding) +Supply (α) - Circulating alpha token supply +Tempo (k/n) - Block interval for subnet updates - **Example:** +**Example:** - ``` - btcli subnets list - ``` +``` +btcli subnets list +``` **Usage**: @@ -5494,11 +5402,11 @@ btcli subnets list [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--live`: Display live view of the table -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--live`: Display live view of the table +- `--help`: Show this message and exit. ### `btcli subnets burn-cost` @@ -5520,10 +5428,10 @@ btcli subnets burn-cost [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli subnets create` @@ -5533,7 +5441,9 @@ This command allows you to create a new subnet and set the subnet's identity. You also have the option to set your own identity after the registration is complete. Common Examples: + 1. Interactive subnet creation: + ``` btcli subnets create ``` @@ -5543,6 +5453,7 @@ btcli subnets create ``` btcli subnets create --subnet-name MySubnet --github-repo https://github.com/myorg/mysubnet --subnet-contact team@mysubnet.net ``` + **Usage**: ```console @@ -5551,21 +5462,21 @@ btcli subnets create [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--subnet-name, --name TEXT`: Name of the subnet -* `--github-repo, --repo TEXT`: GitHub repository URL -* `--subnet-contact, --contact, --email TEXT`: Contact email for subnet -* `--subnet-url, --url TEXT`: Subnet URL -* `--discord-handle, --discord TEXT`: Discord handle -* `--description TEXT`: Description -* `--additional-info TEXT`: Additional information -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--subnet-name, --name TEXT`: Name of the subnet +- `--github-repo, --repo TEXT`: GitHub repository URL +- `--subnet-contact, --contact, --email TEXT`: Contact email for subnet +- `--subnet-url, --url TEXT`: Subnet URL +- `--discord-handle, --discord TEXT`: Discord handle +- `--description TEXT`: Description +- `--additional-info TEXT`: Additional information +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli subnets pow-register` @@ -5596,19 +5507,19 @@ btcli subnets pow-register [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--processors INTEGER`: Number of processors to use for POW registration. -* `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -* `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -* `-v, --verbose`: Whether to output the registration statistics verbosely. -* `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -* `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -* `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--processors INTEGER`: Number of processors to use for POW registration. +- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] +- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] +- `-v, --verbose`: Whether to output the registration statistics verbosely. +- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] +- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] +- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] +- `--help`: Show this message and exit. ### `btcli subnets register` @@ -5632,15 +5543,15 @@ btcli subnets register [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli subnets metagraph` @@ -5660,12 +5571,12 @@ btcli subnets metagraph [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli subnets show` @@ -5685,12 +5596,12 @@ btcli subnets show [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli subnets price` @@ -5707,12 +5618,15 @@ If no html flag is used, the command will display the price in the cli. ``` btcli subnets price --netuid 1 ``` + ``` btcli subnets price --netuid 1 --html --log ``` + ``` btcli subnets price --all --html ``` + ``` btcli subnets price --netuids 1,2,3,4 --html ``` @@ -5725,13 +5639,13 @@ btcli subnets price [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `-n, --netuids, --netuid TEXT`: Netuid(s) to show the price for. -* `--interval-hours, --interval INTEGER`: The number of hours to show the historical price for. [default: 24] -* `--all-netuids, --all`: Show the price for all subnets. -* `--log-scale, --log`: Show the price in log scale. -* `--html`: Display the table as HTML in the browser. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `-n, --netuids, --netuid TEXT`: Netuid(s) to show the price for. +- `--interval-hours, --interval INTEGER`: The number of hours to show the historical price for. [default: 24] +- `--all-netuids, --all`: Show the price for all subnets. +- `--log-scale, --log`: Show the price in log scale. +- `--html`: Display the table as HTML in the browser. +- `--help`: Show this message and exit. ### `btcli subnets burn_cost` @@ -5753,10 +5667,10 @@ btcli subnets burn_cost [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli subnets pow_register` @@ -5787,19 +5701,19 @@ btcli subnets pow_register [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--processors INTEGER`: Number of processors to use for POW registration. -* `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -* `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -* `-v, --verbose`: Whether to output the registration statistics verbosely. -* `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -* `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -* `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--processors INTEGER`: Number of processors to use for POW registration. +- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] +- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] +- `-v, --verbose`: Whether to output the registration statistics verbosely. +- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] +- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] +- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] +- `--help`: Show this message and exit. ## `btcli s` @@ -5811,21 +5725,21 @@ btcli s [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `hyperparameters`: Shows a list of the hyperparameters for... -* `list`: List all subnets and their detailed... -* `burn-cost`: Shows the required amount of TAO to be... -* `create`: Registers a new subnet on the network. -* `pow-register`: Register a neuron (a subnet validator or a... -* `register`: Register a neuron (a subnet validator or a... -* `metagraph`: Displays detailed information about a... -* `show`: Displays detailed information about a... -* `price`: Shows the historical price of a subnet for... -* `burn_cost`: Shows the required amount of TAO to be... -* `pow_register`: Register a neuron (a subnet validator or a... +- `hyperparameters`: Shows a list of the hyperparameters for... +- `list`: List all subnets and their detailed... +- `burn-cost`: Shows the required amount of TAO to be... +- `create`: Registers a new subnet on the network. +- `pow-register`: Register a neuron (a subnet validator or a... +- `register`: Register a neuron (a subnet validator or a... +- `metagraph`: Displays detailed information about a... +- `show`: Displays detailed information about a... +- `price`: Shows the historical price of a subnet for... +- `burn_cost`: Shows the required amount of TAO to be... +- `pow_register`: Register a neuron (a subnet validator or a... ### `btcli s hyperparameters` @@ -5845,42 +5759,45 @@ btcli s hyperparameters [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli s list` List all subnets and their detailed information. - Common Examples: - 1. List all subnets: - ``` - btcli subnets list - ``` +Common Examples: - 2. List all subnets in live mode: - ``` - btcli subnets list --live - ``` +1. List all subnets: -Output Columns: Netuid - Subnet identifier number - Name - Subnet name with currency symbol (τ/α/β etc) - Price (τ_in/α_in) - Exchange rate (TAO per alpha token) - Market Cap (α * Price) - Total value in TAO (alpha tokens × price) - Emission (τ) - TAO rewards emitted per block to subnet - P (τ_in, α_in) - Pool reserves (Tao reserves, alpha reserves) in liquidity pool - Stake (α_out) - Total staked alpha tokens across all hotkeys (alpha outstanding) - Supply (α) - Circulating alpha token supply - Tempo (k/n) - Block interval for subnet updates +``` +btcli subnets list +``` + +2. List all subnets in live mode: + +``` +btcli subnets list --live +``` - **Example:** +Output Columns: Netuid - Subnet identifier number +Name - Subnet name with currency symbol (τ/α/β etc) +Price (τ_in/α_in) - Exchange rate (TAO per alpha token) +Market Cap (α \* Price) - Total value in TAO (alpha tokens × price) +Emission (τ) - TAO rewards emitted per block to subnet +P (τ_in, α_in) - Pool reserves (Tao reserves, alpha reserves) in liquidity pool +Stake (α_out) - Total staked alpha tokens across all hotkeys (alpha outstanding) +Supply (α) - Circulating alpha token supply +Tempo (k/n) - Block interval for subnet updates - ``` - btcli subnets list - ``` +**Example:** + +``` +btcli subnets list +``` **Usage**: @@ -5890,11 +5807,11 @@ btcli s list [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--live`: Display live view of the table -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--live`: Display live view of the table +- `--help`: Show this message and exit. ### `btcli s burn-cost` @@ -5916,10 +5833,10 @@ btcli s burn-cost [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli s create` @@ -5929,7 +5846,9 @@ This command allows you to create a new subnet and set the subnet's identity. You also have the option to set your own identity after the registration is complete. Common Examples: + 1. Interactive subnet creation: + ``` btcli subnets create ``` @@ -5948,21 +5867,21 @@ btcli s create [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--subnet-name, --name TEXT`: Name of the subnet -* `--github-repo, --repo TEXT`: GitHub repository URL -* `--subnet-contact, --contact, --email TEXT`: Contact email for subnet -* `--subnet-url, --url TEXT`: Subnet URL -* `--discord-handle, --discord TEXT`: Discord handle -* `--description TEXT`: Description -* `--additional-info TEXT`: Additional information -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--subnet-name, --name TEXT`: Name of the subnet +- `--github-repo, --repo TEXT`: GitHub repository URL +- `--subnet-contact, --contact, --email TEXT`: Contact email for subnet +- `--subnet-url, --url TEXT`: Subnet URL +- `--discord-handle, --discord TEXT`: Discord handle +- `--description TEXT`: Description +- `--additional-info TEXT`: Additional information +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli s pow-register` @@ -5993,19 +5912,19 @@ btcli s pow-register [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--processors INTEGER`: Number of processors to use for POW registration. -* `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -* `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -* `-v, --verbose`: Whether to output the registration statistics verbosely. -* `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -* `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -* `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--processors INTEGER`: Number of processors to use for POW registration. +- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] +- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] +- `-v, --verbose`: Whether to output the registration statistics verbosely. +- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] +- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] +- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] +- `--help`: Show this message and exit. ### `btcli s register` @@ -6029,15 +5948,15 @@ btcli s register [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli s metagraph` @@ -6057,12 +5976,12 @@ btcli s metagraph [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli s show` @@ -6082,12 +6001,12 @@ btcli s show [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli s price` @@ -6104,12 +6023,15 @@ If no html flag is used, the command will display the price in the cli. ``` btcli subnets price --netuid 1 ``` + ``` btcli subnets price --netuid 1 --html --log ``` + ``` btcli subnets price --all --html ``` + ``` btcli subnets price --netuids 1,2,3,4 --html ``` @@ -6122,13 +6044,13 @@ btcli s price [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `-n, --netuids, --netuid TEXT`: Netuid(s) to show the price for. -* `--interval-hours, --interval INTEGER`: The number of hours to show the historical price for. [default: 24] -* `--all-netuids, --all`: Show the price for all subnets. -* `--log-scale, --log`: Show the price in log scale. -* `--html`: Display the table as HTML in the browser. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `-n, --netuids, --netuid TEXT`: Netuid(s) to show the price for. +- `--interval-hours, --interval INTEGER`: The number of hours to show the historical price for. [default: 24] +- `--all-netuids, --all`: Show the price for all subnets. +- `--log-scale, --log`: Show the price in log scale. +- `--html`: Display the table as HTML in the browser. +- `--help`: Show this message and exit. ### `btcli s burn_cost` @@ -6150,10 +6072,10 @@ btcli s burn_cost [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli s pow_register` @@ -6184,19 +6106,19 @@ btcli s pow_register [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--processors INTEGER`: Number of processors to use for POW registration. -* `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -* `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -* `-v, --verbose`: Whether to output the registration statistics verbosely. -* `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -* `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -* `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--processors INTEGER`: Number of processors to use for POW registration. +- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] +- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] +- `-v, --verbose`: Whether to output the registration statistics verbosely. +- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] +- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] +- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] +- `--help`: Show this message and exit. ## `btcli subnet` @@ -6208,21 +6130,21 @@ btcli subnet [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `hyperparameters`: Shows a list of the hyperparameters for... -* `list`: List all subnets and their detailed... -* `burn-cost`: Shows the required amount of TAO to be... -* `create`: Registers a new subnet on the network. -* `pow-register`: Register a neuron (a subnet validator or a... -* `register`: Register a neuron (a subnet validator or a... -* `metagraph`: Displays detailed information about a... -* `show`: Displays detailed information about a... -* `price`: Shows the historical price of a subnet for... -* `burn_cost`: Shows the required amount of TAO to be... -* `pow_register`: Register a neuron (a subnet validator or a... +- `hyperparameters`: Shows a list of the hyperparameters for... +- `list`: List all subnets and their detailed... +- `burn-cost`: Shows the required amount of TAO to be... +- `create`: Registers a new subnet on the network. +- `pow-register`: Register a neuron (a subnet validator or a... +- `register`: Register a neuron (a subnet validator or a... +- `metagraph`: Displays detailed information about a... +- `show`: Displays detailed information about a... +- `price`: Shows the historical price of a subnet for... +- `burn_cost`: Shows the required amount of TAO to be... +- `pow_register`: Register a neuron (a subnet validator or a... ### `btcli subnet hyperparameters` @@ -6242,42 +6164,45 @@ btcli subnet hyperparameters [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli subnet list` List all subnets and their detailed information. - Common Examples: - 1. List all subnets: - ``` - btcli subnets list - ``` +Common Examples: + +1. List all subnets: + +``` +btcli subnets list +``` - 2. List all subnets in live mode: - ``` - btcli subnets list --live - ``` +2. List all subnets in live mode: -Output Columns: Netuid - Subnet identifier number - Name - Subnet name with currency symbol (τ/α/β etc) - Price (τ_in/α_in) - Exchange rate (TAO per alpha token) - Market Cap (α * Price) - Total value in TAO (alpha tokens × price) - Emission (τ) - TAO rewards emitted per block to subnet - P (τ_in, α_in) - Pool reserves (Tao reserves, alpha reserves) in liquidity pool - Stake (α_out) - Total staked alpha tokens across all hotkeys (alpha outstanding) - Supply (α) - Circulating alpha token supply - Tempo (k/n) - Block interval for subnet updates +``` +btcli subnets list --live +``` - **Example:** +Output Columns: Netuid - Subnet identifier number +Name - Subnet name with currency symbol (τ/α/β etc) +Price (τ_in/α_in) - Exchange rate (TAO per alpha token) +Market Cap (α \* Price) - Total value in TAO (alpha tokens × price) +Emission (τ) - TAO rewards emitted per block to subnet +P (τ_in, α_in) - Pool reserves (Tao reserves, alpha reserves) in liquidity pool +Stake (α_out) - Total staked alpha tokens across all hotkeys (alpha outstanding) +Supply (α) - Circulating alpha token supply +Tempo (k/n) - Block interval for subnet updates - ``` - btcli subnets list - ``` +**Example:** + +``` +btcli subnets list +``` **Usage**: @@ -6287,11 +6212,11 @@ btcli subnet list [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--live`: Display live view of the table -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--live`: Display live view of the table +- `--help`: Show this message and exit. ### `btcli subnet burn-cost` @@ -6313,10 +6238,10 @@ btcli subnet burn-cost [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli subnet create` @@ -6326,7 +6251,9 @@ This command allows you to create a new subnet and set the subnet's identity. You also have the option to set your own identity after the registration is complete. Common Examples: + 1. Interactive subnet creation: + ``` btcli subnets create ``` @@ -6345,21 +6272,21 @@ btcli subnet create [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--subnet-name, --name TEXT`: Name of the subnet -* `--github-repo, --repo TEXT`: GitHub repository URL -* `--subnet-contact, --contact, --email TEXT`: Contact email for subnet -* `--subnet-url, --url TEXT`: Subnet URL -* `--discord-handle, --discord TEXT`: Discord handle -* `--description TEXT`: Description -* `--additional-info TEXT`: Additional information -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--subnet-name, --name TEXT`: Name of the subnet +- `--github-repo, --repo TEXT`: GitHub repository URL +- `--subnet-contact, --contact, --email TEXT`: Contact email for subnet +- `--subnet-url, --url TEXT`: Subnet URL +- `--discord-handle, --discord TEXT`: Discord handle +- `--description TEXT`: Description +- `--additional-info TEXT`: Additional information +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli subnet pow-register` @@ -6390,19 +6317,19 @@ btcli subnet pow-register [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--processors INTEGER`: Number of processors to use for POW registration. -* `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -* `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -* `-v, --verbose`: Whether to output the registration statistics verbosely. -* `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -* `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -* `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--processors INTEGER`: Number of processors to use for POW registration. +- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] +- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] +- `-v, --verbose`: Whether to output the registration statistics verbosely. +- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] +- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] +- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] +- `--help`: Show this message and exit. ### `btcli subnet register` @@ -6426,15 +6353,15 @@ btcli subnet register [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli subnet metagraph` @@ -6454,12 +6381,12 @@ btcli subnet metagraph [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli subnet show` @@ -6479,12 +6406,12 @@ btcli subnet show [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### `btcli subnet price` @@ -6501,12 +6428,15 @@ If no html flag is used, the command will display the price in the cli. ``` btcli subnets price --netuid 1 ``` + ``` btcli subnets price --netuid 1 --html --log ``` + ``` btcli subnets price --all --html ``` + ``` btcli subnets price --netuids 1,2,3,4 --html ``` @@ -6519,13 +6449,13 @@ btcli subnet price [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `-n, --netuids, --netuid TEXT`: Netuid(s) to show the price for. -* `--interval-hours, --interval INTEGER`: The number of hours to show the historical price for. [default: 24] -* `--all-netuids, --all`: Show the price for all subnets. -* `--log-scale, --log`: Show the price in log scale. -* `--html`: Display the table as HTML in the browser. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `-n, --netuids, --netuid TEXT`: Netuid(s) to show the price for. +- `--interval-hours, --interval INTEGER`: The number of hours to show the historical price for. [default: 24] +- `--all-netuids, --all`: Show the price for all subnets. +- `--log-scale, --log`: Show the price in log scale. +- `--html`: Display the table as HTML in the browser. +- `--help`: Show this message and exit. ### `btcli subnet burn_cost` @@ -6547,10 +6477,10 @@ btcli subnet burn_cost [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli subnet pow_register` @@ -6581,19 +6511,19 @@ btcli subnet pow_register [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `--processors INTEGER`: Number of processors to use for POW registration. -* `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -* `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -* `-v, --verbose`: Whether to output the registration statistics verbosely. -* `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -* `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -* `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--processors INTEGER`: Number of processors to use for POW registration. +- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] +- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] +- `-v, --verbose`: Whether to output the registration statistics verbosely. +- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] +- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] +- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] +- `--help`: Show this message and exit. ## `btcli weights` @@ -6605,12 +6535,12 @@ btcli weights [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `reveal`: Reveal weights for a specific subnet. -* `commit`: Commit weights for specific subnet. +- `reveal`: Reveal weights for a specific subnet. +- `commit`: Commit weights for specific subnet. ### `btcli weights reveal` @@ -6632,17 +6562,17 @@ btcli weights reveal [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `-u, --uids TEXT`: Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 ... -* `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -* `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163,241,217 ... -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `-u, --uids TEXT`: Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 ... +- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. +- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163,241,217 ... +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli weights commit` @@ -6667,17 +6597,17 @@ btcli weights commit [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `-u, --uids TEXT`: UIDs of interest for the specified netuid, e.g. -u 1,2,3 ... -* `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -* `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163 -s 241 -s 217 ... -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `-u, --uids TEXT`: UIDs of interest for the specified netuid, e.g. -u 1,2,3 ... +- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. +- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163 -s 241 -s 217 ... +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ## `btcli wt` @@ -6689,12 +6619,12 @@ btcli wt [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `reveal`: Reveal weights for a specific subnet. -* `commit`: Commit weights for specific subnet. +- `reveal`: Reveal weights for a specific subnet. +- `commit`: Commit weights for specific subnet. ### `btcli wt reveal` @@ -6716,17 +6646,17 @@ btcli wt reveal [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `-u, --uids TEXT`: Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 ... -* `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -* `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163,241,217 ... -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `-u, --uids TEXT`: Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 ... +- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. +- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163,241,217 ... +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli wt commit` @@ -6751,17 +6681,17 @@ btcli wt commit [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `-u, --uids TEXT`: UIDs of interest for the specified netuid, e.g. -u 1,2,3 ... -* `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -* `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163 -s 241 -s 217 ... -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `-u, --uids TEXT`: UIDs of interest for the specified netuid, e.g. -u 1,2,3 ... +- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. +- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163 -s 241 -s 217 ... +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ## `btcli weight` @@ -6773,12 +6703,12 @@ btcli weight [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `reveal`: Reveal weights for a specific subnet. -* `commit`: Commit weights for specific subnet. +- `reveal`: Reveal weights for a specific subnet. +- `commit`: Commit weights for specific subnet. ### `btcli weight reveal` @@ -6800,17 +6730,17 @@ btcli weight reveal [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `-u, --uids TEXT`: Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 ... -* `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -* `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163,241,217 ... -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `-u, --uids TEXT`: Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 ... +- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. +- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163,241,217 ... +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### `btcli weight commit` @@ -6835,17 +6765,17 @@ btcli weight commit [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -* `-u, --uids TEXT`: UIDs of interest for the specified netuid, e.g. -u 1,2,3 ... -* `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -* `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163 -s 241 -s 217 ... -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `-u, --uids TEXT`: UIDs of interest for the specified netuid, e.g. -u 1,2,3 ... +- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. +- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163 -s 241 -s 217 ... +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ## `btcli utils` @@ -6857,11 +6787,11 @@ btcli utils [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. **Commands**: -* `convert`: Allows for converting between tao and rao... +- `convert`: Allows for converting between tao and rao... ### `btcli utils convert` @@ -6875,8 +6805,10 @@ btcli utils convert [OPTIONS] **Options**: -* `--rao TEXT`: Convert amount from Rao -* `--tao FLOAT`: Convert amount from Tao -* `--help`: Show this message and exit. ---- -Made with :heart: by The Openτensor Foundaτion \ No newline at end of file +- `--rao TEXT`: Convert amount from Rao +- `--tao FLOAT`: Convert amount from Tao +- `--help`: Show this message and exit. + +--- + +Made with :heart: by The Openτensor Foundaτion diff --git a/docs/dynamic-tao/_dtao-btcli.md b/docs/dynamic-tao/_dtao-btcli.md index 08b0cae694..17a42c0b42 100644 --- a/docs/dynamic-tao/_dtao-btcli.md +++ b/docs/dynamic-tao/_dtao-btcli.md @@ -9,7 +9,7 @@ This page documents the command line interface (CLI) for Bittensor with dynamic Access the Dynamic TAO-enabled Bittensor test network at: `wss://rao.chain.opentensor.ai:443/` :::tip Looking for legacy BTCLI doc? -For current/legacy `btcli` doc that supports the `btcli root` commands, see [Bittensor CLI](../btcli.md). +For current/legacy `btcli` doc that supports the `btcli root` commands, see [Bittensor CLI](../btcli.md). ::: **Usage**: @@ -20,20 +20,20 @@ btcli [OPTIONS] COMMAND [ARGS]... **Options**: -* `--version` -* `--install-completion`: Install completion for the current shell. -* `--show-completion`: Show completion for the current shell, to copy it or customize the installation. -* `--help`: Show this message and exit. +- `--version` +- `--install-completion`: Install completion for the current shell. +- `--show-completion`: Show completion for the current shell, to copy it or customize the installation. +- `--help`: Show this message and exit. **Commands**: -* `config`: Config commands, aliases: `c`, `conf` -* `wallet`: Wallet commands, aliases: `wallets`, `w` -* `stake`: Stake commands, alias: `s`, `st` -* `sudo`: Sudo commands, alias: `su` -* `subnet`: Subnet commands, alias: `s`, `subnets` -* `utils`: Utility commands. ??? This seems to work but is not in the `--help` output ??? -* `weights`: Weights commands, aliases: `wt`, `weight` +- `config`: Config commands, aliases: `c`, `conf` +- `wallet`: Wallet commands, aliases: `wallets`, `w` +- `stake`: Stake commands, alias: `s`, `st` +- `sudo`: Sudo commands, alias: `su` +- `subnet`: Subnet commands, alias: `s`, `subnets` +- `utils`: Utility commands. ??? This seems to work but is not in the `--help` output ??? +- `weights`: Weights commands, aliases: `wt`, `weight` ## btcli config @@ -45,7 +45,7 @@ btcli config [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. ### btcli config clear @@ -73,13 +73,13 @@ btcli config clear [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name` -* `-p, --wallet-path, --wallet_path, --wallet.path` -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey` -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint` -* `--cache` -* `--all` -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name` +- `-p, --wallet-path, --wallet_path, --wallet.path` +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey` +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint` +- `--cache` +- `--all` +- `--help`: Show this message and exit. ### btcli config get @@ -93,7 +93,7 @@ btcli config get [OPTIONS] **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. ### btcli config metagraph @@ -107,8 +107,8 @@ btcli config metagraph [OPTIONS] **Options**: -* `--reset`: Restore the display of metagraph columns to show all columns. -* `--help`: Show this message and exit. +- `--reset`: Restore the display of metagraph columns to show all columns. +- `--help`: Show this message and exit. ### btcli config set @@ -122,12 +122,12 @@ btcli config set [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--cache, --cache / --no-cache, --no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--cache, --cache / --no-cache, --no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. +- `--help`: Show this message and exit. ## btcli stake @@ -139,7 +139,7 @@ btcli stake [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. ### btcli stake add @@ -163,22 +163,22 @@ btcli stake add [OPTIONS] **Options**: -* `-a, --all-tokens, --all`: When set, the command stakes all the available TAO from the coldkey. -* `--amount FLOAT`: The amount of TAO to stake [default: 0.0] -* `-m, --max-stake FLOAT`: Stake is sent to a hotkey only until the hotkey's total stake is less than or equal to this maximum staked TAO. If a hotkey already has stake greater than this amount, then stake is not added to this hotkey. [default: 0.0] -* `-in, --include-hotkeys, --hotkey-ss58-address TEXT`: Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` -* `-ex, --exclude-hotkeys TEXT`: Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -* `--all-hotkeys / --`no-all-hotkeys``: When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: `no-all-hotkeys`] -* `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). -* `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-a, --all-tokens, --all`: When set, the command stakes all the available TAO from the coldkey. +- `--amount FLOAT`: The amount of TAO to stake [default: 0.0] +- `-m, --max-stake FLOAT`: Stake is sent to a hotkey only until the hotkey's total stake is less than or equal to this maximum staked TAO. If a hotkey already has stake greater than this amount, then stake is not added to this hotkey. [default: 0.0] +- `-in, --include-hotkeys, --hotkey-ss58-address TEXT`: Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` +- `-ex, --exclude-hotkeys TEXT`: Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` +- `--all-hotkeys / --`no-all-hotkeys``: When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: `no-all-hotkeys`] +- `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli stake child @@ -190,7 +190,7 @@ btcli stake child [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. #### btcli stake child get @@ -212,15 +212,15 @@ btcli stake child get [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet (e.g. 2) -* `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) +- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### btcli stake child revoke @@ -242,17 +242,17 @@ btcli stake child revoke [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) -* `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### btcli stake child set @@ -276,19 +276,19 @@ btcli stake child set [OPTIONS] **Options**: -* `-c, --children TEXT`: Enter child hotkeys (ss58) -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). -* `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -* `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-c, --children TEXT`: Enter child hotkeys (ss58) +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### btcli stake child take @@ -318,20 +318,20 @@ btcli stake child take [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--hotkey TEXT` -* `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) -* `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -* `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--hotkey TEXT` +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli stake children @@ -343,7 +343,7 @@ btcli stake children [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. #### btcli stake children get @@ -365,15 +365,15 @@ btcli stake children get [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet (e.g. 2) -* `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) +- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### btcli stake children revoke @@ -395,17 +395,17 @@ btcli stake children revoke [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) -* `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### btcli stake children set @@ -429,19 +429,19 @@ btcli stake children set [OPTIONS] **Options**: -* `-c, --children TEXT`: Enter child hotkeys (ss58) -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). -* `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -* `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-c, --children TEXT`: Enter child hotkeys (ss58) +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. #### btcli stake children take @@ -471,20 +471,20 @@ btcli stake children take [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--hotkey TEXT` -* `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) -* `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -* `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. -* `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -* `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--hotkey TEXT` +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli stake list @@ -498,13 +498,13 @@ btcli stake list [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli stake move @@ -526,17 +526,17 @@ btcli stake move [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--origin-netuid INTEGER`: Origin netuid [required] -* `--destination-netuid INTEGER`: Destination netuid [required] -* `--destination-hotkey TEXT`: Destination hotkey -* `--amount FLOAT`: The amount of TAO to stake [default: 0.0] -* `--stake-all, --all`: Stake all -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--origin-netuid INTEGER`: Origin netuid [required] +- `--destination-netuid INTEGER`: Destination netuid [required] +- `--destination-hotkey TEXT`: Destination hotkey +- `--amount FLOAT`: The amount of TAO to stake [default: 0.0] +- `--stake-all, --all`: Stake all +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### btcli stake remove @@ -554,7 +554,6 @@ btcli stake remove --amount 100 -in hk1,hk2 This command is for users who wish to reallocate their stake or withdraw them from the network. It allows for flexible management of TAO stake across different neurons (hotkeys) on the network. ::: - **Usage**: ```bash @@ -563,23 +562,23 @@ btcli stake remove [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). -* `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -* `--unstake-all, --all`: When set, this command unstakes all staked TAO from the specified hotkeys. -* `-a, --amount FLOAT`: The amount of TAO to unstake. [default: 0.0] -* `--hotkey-ss58-address TEXT`: The ss58 address of the hotkey to unstake from. -* `--keep-stake, --keep FLOAT`: Sets the maximum amount of TAO to remain staked in each hotkey. [default: 0.0] -* `-in, --include-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` -* `-ex, --exclude-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address not to unstake from (only use with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -* `--all-hotkeys / --`no-all-hotkeys``: When set, this command unstakes from all the hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: `no-all-hotkeys`] -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `--unstake-all, --all`: When set, this command unstakes all staked TAO from the specified hotkeys. +- `-a, --amount FLOAT`: The amount of TAO to unstake. [default: 0.0] +- `--hotkey-ss58-address TEXT`: The ss58 address of the hotkey to unstake from. +- `--keep-stake, --keep FLOAT`: Sets the maximum amount of TAO to remain staked in each hotkey. [default: 0.0] +- `-in, --include-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` +- `-ex, --exclude-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address not to unstake from (only use with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` +- `--all-hotkeys / --`no-all-hotkeys``: When set, this command unstakes from all the hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: `no-all-hotkeys`] +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ## btcli subnet @@ -591,8 +590,7 @@ btcli subnet [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. - +- `--help`: Show this message and exit. ### btcli subnet create @@ -612,14 +610,14 @@ btcli subnet create [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli subnet hyperparameters @@ -641,11 +639,11 @@ btcli subnet hyperparameters [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli subnet list @@ -676,10 +674,10 @@ btcli subnet list [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli subnet lock-cost @@ -701,10 +699,10 @@ btcli subnet lock-cost [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli subnet metagraph @@ -805,7 +803,6 @@ btcli pow_register --netuid 1 --num_processes 4 --cuda This command is suitable for users with adequate computational resources to participate in POW registration. It requires a sound understanding of the network's operations and POW mechanics. Users should ensure their systems meet the necessary hardware and software requirements, particularly when opting for CUDA-based GPU acceleration. ::: - This command may be disabled by the subnet owner. For example, on netuid 1 this is permanently disabled. **Usage**: @@ -816,19 +813,19 @@ btcli subnet pow-register [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). -* `--processors INTEGER`: Number of processors to use for POW registration. -* `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -* `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -* `-v, --verbose`: Whether to output the registration statistics verbosely. -* `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -* `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -* `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). +- `--processors INTEGER`: Number of processors to use for POW registration. +- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] +- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] +- `-v, --verbose`: Whether to output the registration statistics verbosely. +- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] +- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] +- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] +- `--help`: Show this message and exit. ### btcli subnet register @@ -852,15 +849,15 @@ btcli subnet register [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli subnet show @@ -880,12 +877,12 @@ btcli subnet show [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ## btcli sudo @@ -897,8 +894,7 @@ btcli sudo [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. - +- `--help`: Show this message and exit. ### btcli sudo get @@ -920,11 +916,11 @@ btcli sudo get [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli sudo get-take @@ -933,6 +929,7 @@ Allows users to check their delegate take percentage. This command can be used to fetch the delegate take of your hotkey. #### EXAMPLE + ```bash btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` @@ -945,13 +942,13 @@ btcli sudo get-take [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli sudo proposals @@ -960,6 +957,7 @@ View active proposals for the senate in the Bittensor's governance protocol. This command displays the details of ongoing proposals, including proposal hashes, votes, thresholds, and proposal data. #### EXAMPLE + ```bash btcli sudo proposals ``` @@ -972,10 +970,10 @@ btcli sudo proposals [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli sudo senate @@ -984,6 +982,7 @@ Shows the Senate members of the Bittensor's governance protocol. This command lists the delegates involved in the decision-making process of the Bittensor network, showing their names and wallet addresses. This information is crucial for understanding who holds governance roles within the network. #### EXAMPLE + ```bash btcli sudo senate ``` @@ -996,10 +995,10 @@ btcli sudo senate [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli sudo senate-vote @@ -1011,6 +1010,7 @@ USAGE The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the governance and evolution of the Bittensor network. #### EXAMPLE + ```bash btcli sudo senate_vote --proposal ``` @@ -1023,16 +1023,16 @@ btcli sudo senate-vote [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--vote-aye / --vote-nay`: The vote casted on the proposal -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--vote-aye / --vote-nay`: The vote casted on the proposal +- `--help`: Show this message and exit. ### btcli sudo set @@ -1054,16 +1054,16 @@ btcli sudo set [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). -* `--param, --parameter TEXT`: The subnet hyperparameter to set -* `--value TEXT`: Value to set the hyperparameter to. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). +- `--param, --parameter TEXT`: The subnet hyperparameter to set +- `--value TEXT`: Value to set the hyperparameter to. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli sudo set-take @@ -1073,6 +1073,7 @@ This command can be used to update the delegate takes. To run the command, the u The command makes sure the new take value is within 0-18% range. #### EXAMPLE + ```bash btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` @@ -1085,14 +1086,14 @@ btcli sudo set-take [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--take FLOAT`: The new take value. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--take FLOAT`: The new take value. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ## btcli utils @@ -1104,7 +1105,7 @@ btcli utils [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. +- `--help`: Show this message and exit. ### btcli utils convert @@ -1118,9 +1119,9 @@ btcli utils convert [OPTIONS] **Options**: -* `--rao TEXT`: Convert amount from Rao -* `--tao FLOAT`: Convert amount from Tao -* `--help`: Show this message and exit. +- `--rao TEXT`: Convert amount from Rao +- `--tao FLOAT`: Convert amount from Tao +- `--help`: Show this message and exit. ## btcli wallet @@ -1132,8 +1133,7 @@ btcli wallet [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. - +- `--help`: Show this message and exit. ### btcli wallet balance @@ -1175,15 +1175,15 @@ btcli wallet balance [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -* `-a, --all`: Whether to display the balances for all the wallets. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. +- `-a, --all`: Whether to display the balances for all the wallets. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli wallet create @@ -1203,7 +1203,6 @@ btcli wallet create --n_words 21 This command is for new users setting up their wallet for the first time, or for those who wish to completely renew their wallet keys. It ensures a fresh start with new keys for secure and effective participation in the Bittensor network. ::: - **Usage**: ```bash @@ -1212,60 +1211,14 @@ btcli wallet create [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words INTEGER` -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. - -### btcli wallet faucet - -Obtain test TAO tokens by performing Proof of Work (PoW). - -This command is useful for users who need test tokens for operations on a local blockchain. - -**IMPORTANT**: THIS COMMAND IS DISABLED ON FINNEY AND TESTNET. - -USAGE - -The command uses the proof-of-work (POW) mechanism to validate the user's effort and rewards them with test TAO tokens. It is -typically used in local blockchain environments where transactions do not use real TAO tokens. - -#### EXAMPLE - -```bash -btcli wallet faucet --faucet.num_processes 4 --faucet.cuda.use_cuda -``` - -:::tip -This command is meant for used in local environments where users can experiment with the blockchain without using real TAO tokens. Users must have the necessary hardware setup, especially when opting for CUDA-based GPU calculations. It is currently disabled on testnet and mainnet (finney). You can only use this command on a local blockchain. -::: - - -**Usage**: - -```bash -btcli wallet faucet [OPTIONS] -``` - -**Options**: - -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--processors INTEGER`: Number of processors to use for proof of work (POW) registration. -* `-u, --update-interval INTEGER`: The number of nonces to process before checking for next block during registration [default: 50000] -* `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -* `-v, --verbose`: Whether to output the registration statistics verbosely. -* `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set flag to use CUDA for proof of work (POW) registration. [default: no-use-cuda] -* `-d, --dev-id INTEGER`: Set the CUDA device id(s) in the order of speed, where 0 is the fastest. [default: 0] -* `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -* `--max-successes INTEGER`: Set the maximum number of times to successfully run the faucet for this command. [default: 3] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words INTEGER` +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli wallet get-identity @@ -1273,7 +1226,7 @@ Shows the identity details of a user's coldkey or hotkey. The command displays the information in a table format showing: -- **Address**: The ``ss58`` address of the queried key. +- **Address**: The `ss58` address of the queried key. - **Item**: Various attributes of the identity such as stake, rank, and trust. @@ -1289,7 +1242,6 @@ btcli wallet get_identity --key This command is primarily used for informational purposes and has no side effects on the blockchain network state. ::: - **Usage**: ```bash @@ -1298,11 +1250,11 @@ btcli wallet get-identity [OPTIONS] **Options**: -* `-k, --key, --ss58 TEXT`: The coldkey or hotkey ss58 address to query. -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-k, --key, --ss58 TEXT`: The coldkey or hotkey ss58 address to query. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli wallet history @@ -1326,12 +1278,12 @@ btcli wallet history [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli wallet inspect @@ -1417,10 +1369,10 @@ btcli wallet list [OPTIONS] **Options**: -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli wallet new-coldkey @@ -1440,7 +1392,6 @@ btcli wallet new_coldkey --n_words 15 This command is crucial for users who need to create a new coldkey for enhanced security or as part of setting up a new wallet. It is a foundational step in establishing a secure presence on the Bittensor network. ::: - **Usage**: ```bash @@ -1449,14 +1400,14 @@ btcli wallet new-coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli wallet new-hotkey @@ -1477,7 +1428,6 @@ btcli wallet new-hotkey --n_words 24 This command is useful to create additional hotkeys for different purposes, such as running multiple subnet miners or subnet validators or separating operational roles within the Bittensor network. ::: - **Usage**: ```bash @@ -1486,14 +1436,14 @@ btcli wallet new-hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli wallet overview @@ -1598,12 +1548,10 @@ Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" ``` - :::tip This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. ::: - **Usage**: ```bash @@ -1612,17 +1560,17 @@ btcli wallet regen-coldkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli wallet regen-coldkeypub @@ -1632,7 +1580,7 @@ Use this command when you need to move machine for subnet mining. Use the public USAGE -The command requires either a public key in hexadecimal format or an ``SS58`` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. +The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. #### EXAMPLE @@ -1644,7 +1592,6 @@ btcli wallet regen_coldkeypub --ss58_address 5DkQ4... This command is particularly useful for users who need to regenerate their coldkeypub, perhaps due to file corruption or loss. You will need either ss58 address or public hex key from your old coldkeypub.txt for the wallet. It is a recovery-focused utility that ensures continued access to your wallet functionalities. ::: - **Usage**: ```bash @@ -1653,14 +1600,14 @@ btcli wallet regen-coldkeypub [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--public-key-hex TEXT`: The public key in hex format. -* `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--public-key-hex TEXT`: The public key in hex format. +- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli wallet regen-hotkey @@ -1682,7 +1629,6 @@ btcli wallet regen_hotkey --seed 0x1234... This command is essential for users who need to regenerate their hotkey, possibly for security upgrades or key recovery. It should be used with caution to avoid accidental overwriting of existing keys. ::: - **Usage**: ```bash @@ -1691,17 +1637,17 @@ btcli wallet regen-hotkey [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -* `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -* `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -* `--json-password TEXT`: Password to decrypt the JSON file. -* `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... +- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... +- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. +- `--json-password TEXT`: Password to decrypt the JSON file. +- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli wallet set-identity @@ -1711,7 +1657,7 @@ The on-chain identity includes attributes such as display name, legal name, web The command prompts the user for the identity attributes and validates the input size for each attribute. It provides an option to update an existing validator hotkey identity. If the user consents to the transaction cost, the identity is updated on the blockchain. -Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey ``ss58`` address for the identity to be updated. +Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey `ss58` address for the identity to be updated. If the user does not have a hotkey, the coldkey address is used by default. If setting a validator identity, the hotkey will be used by default. If the user is setting an identity for a subnet, the coldkey will be used by default. @@ -1725,7 +1671,6 @@ btcli wallet set_identity This command should only be used if the user is willing to incur the a recycle fee associated with setting an identity on the blockchain. It is a high-level command that makes changes to the blockchain state and should not be used programmatically as part of other scripts or applications. ::: - **Usage**: ```bash @@ -1734,25 +1679,25 @@ btcli wallet set-identity [OPTIONS] **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--display-name, --display TEXT`: The display name for the identity. -* `--legal-name, --legal TEXT`: The legal name for the identity. -* `--web-url, --web TEXT`: The web URL for the identity. -* `--riot-handle, --riot TEXT`: The Riot handle for the identity. -* `--email TEXT`: The email address for the identity. -* `--pgp-fingerprint, --pgp TEXT`: The PGP fingerprint for the identity. -* `--image-url, --image TEXT`: The image URL for the identity. -* `-i, --info TEXT`: The info for the identity. -* `-x, -𝕏, --twitter-url, --twitter TEXT`: The 𝕏 (Twitter) URL for the identity. -* `--validator / --not-validator`: Are you updating a validator hotkey identity? -* `--netuid INTEGER`: Netuid if you are updating identity of a subnet owner -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--display-name, --display TEXT`: The display name for the identity. +- `--legal-name, --legal TEXT`: The legal name for the identity. +- `--web-url, --web TEXT`: The web URL for the identity. +- `--riot-handle, --riot TEXT`: The Riot handle for the identity. +- `--email TEXT`: The email address for the identity. +- `--pgp-fingerprint, --pgp TEXT`: The PGP fingerprint for the identity. +- `--image-url, --image TEXT`: The image URL for the identity. +- `-i, --info TEXT`: The info for the identity. +- `-x, -𝕏, --twitter-url, --twitter TEXT`: The 𝕏 (Twitter) URL for the identity. +- `--validator / --not-validator`: Are you updating a validator hotkey identity? +- `--netuid INTEGER`: Netuid if you are updating identity of a subnet owner +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### btcli wallet sign @@ -1780,14 +1725,14 @@ btcli wallet sign [OPTIONS] **Options**: -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--use-hotkey / --no-use-hotkey`: If specified, the message will be signed by the hotkey. If not specified, the user will be prompted. -* `--message TEXT`: The message to encode and sign -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--use-hotkey / --no-use-hotkey`: If specified, the message will be signed by the hotkey. If not specified, the user will be prompted. +- `--message TEXT`: The message to encode and sign +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli wallet swap-hotkey @@ -1817,18 +1762,18 @@ btcli wallet swap-hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] **Arguments**: -* `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. +- `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. **Options**: -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -* `--help`: Show this message and exit. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--help`: Show this message and exit. ### btcli wallet transfer @@ -1882,8 +1827,7 @@ btcli weights [OPTIONS] COMMAND [ARGS]... **Options**: -* `--help`: Show this message and exit. - +- `--help`: Show this message and exit. ### btcli weights commit @@ -1901,7 +1845,6 @@ btcli wt commit --netuid 1 --uids 1,2,3,4 --w 0.1,0.2,0.3 This command is used to commit weights for a specific subnet and requires the user to have the necessary permissions. ::: - **Usage**: ```bash @@ -1910,17 +1853,17 @@ btcli weights commit [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). -* `-u, --uids TEXT`: UIDs of interest for the specified netuid, e.g. -u 1,2,3 ... -* `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -* `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163 -s 241 -s 217 ... -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). +- `-u, --uids TEXT`: UIDs of interest for the specified netuid, e.g. -u 1,2,3 ... +- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. +- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163 -s 241 -s 217 ... +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. ### btcli weights reveal @@ -1942,14 +1885,14 @@ btcli weights reveal [OPTIONS] **Options**: -* `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -* `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -* `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -* `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -* `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). -* `-u, --uids TEXT`: Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 ... -* `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -* `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163,241,217 ... -* `--quiet`: Display only critical information on the console. -* `--verbose`: Enable verbose output. -* `--help`: Show this message and exit. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the root network, (e.g. 1). +- `-u, --uids TEXT`: Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 ... +- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. +- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163,241,217 ... +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. diff --git a/docs/evm-tutorials/staking-precompile.md b/docs/evm-tutorials/staking-precompile.md index 1ea10c2044..b5d4f79588 100644 --- a/docs/evm-tutorials/staking-precompile.md +++ b/docs/evm-tutorials/staking-precompile.md @@ -7,7 +7,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Staking Precompile -Staking precompile allows Ethereum code to interact with the staking feature of subtensor. For example, by using the staking precompile, the subtensor methods [`add_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/add_stake.rs) or [`remove_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/remove_stake.rs) can be called in order to delegate stake to a hotkey or undelegate stake from a hotkey. +Staking precompile allows Ethereum code to interact with the staking feature of subtensor. For example, by using the staking precompile, the subtensor methods [`add_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/add_stake.rs) or [`remove_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/remove_stake.rs) can be called in order to delegate stake to a hotkey or undelegate stake from a hotkey. In this tutorial you will learn how to interact with staking precompile in two ways: @@ -17,7 +17,7 @@ In this tutorial you will learn how to interact with staking precompile in two w ## Prerequisites 1. You should also be comfortable using [Remix IDE](https://remix.ethereum.org/). -2. Read [EVM on Subtensor](./evm-on-subtensor.md) for a basic understanding of what an ABI is and how to use it. +2. Read [EVM on Subtensor](./evm-on-subtensor.md) for a basic understanding of what an ABI is and how to use it. ## Setup EVM localnet, subnet and delegate @@ -25,26 +25,25 @@ In this tutorial you will learn how to interact with staking precompile in two w 2. On this EVM localnet create one subnet and a delegate hotkey. The commands below will create a subnet, register a neuron and nominate your hotkey as a delegate, in that order: - ```bash - btcli subnet create --subtensor.chain_endpoint ws://127.0.0.1:9944 - btcli subnet register --subtensor.chain_endpoint ws://127.0.0.1:9944 - btcli root nominate --subtensor.chain_endpoint ws://127.0.0.1:9944 - ``` + ```bash + btcli subnet create --subtensor.chain_endpoint ws://127.0.0.1:9944 + btcli subnet register --subtensor.chain_endpoint ws://127.0.0.1:9944 + ``` 3. Save the delegate hotkey address. You will use this in the staking pool use case below. 4. Disable staking rate limits by setting `targetStakesPerInterval` to 1000. Follow these below steps: - - Open the Polkadot JS app using [this link with encoded transaction](https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/extrinsics/decode/0x0c00132fe803000000000000). - - Click on **Submission** tab. - - From the **using the selected account** field, select **ALICE**. - - Click on **Submit Transaction** at the bottom right. This will open the **authorize transaction** window. - - On this **authorize transaction** window, make sure the **sign and submit** toggle is ON and click on the **Sign and Submit** on the bottom right. + - Open the Polkadot JS app using [this link with encoded transaction](https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/extrinsics/decode/0x0c00132fe803000000000000). + - Click on **Submission** tab. + - From the **using the selected account** field, select **ALICE**. + - Click on **Submit Transaction** at the bottom right. This will open the **authorize transaction** window. + - On this **authorize transaction** window, make sure the **sign and submit** toggle is ON and click on the **Sign and Submit** on the bottom right. ## Call the staking precompile from another smart contract (staking pool use case) In this interaction you will compile [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol), a smart contract Solidity code and execute it on the subtensor EVM. This `stake.sol` will, in turn, call the staking precompile that is already deployed in the subtensor EVM. -Before you proceed, familiarize yourself with the Solidity code of the [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol) smart contract. +Before you proceed, familiarize yourself with the Solidity code of the [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol) smart contract. 1. Copy the text of [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol) contract to Remix IDE. @@ -66,50 +65,49 @@ In this tutorial, you will interact directly with the staking precompile by usin 1. Copy this below ABI of staking precompile contract into Remix IDE as a new file: - ```json - [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "hotkey", - "type": "bytes32" - } - ], - "name": "addStake", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "hotkey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "removeStake", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } - ] - ``` + ```json + [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hotkey", + "type": "bytes32" + } + ], + "name": "addStake", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hotkey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "removeStake", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + ``` 2. Copy staking precompile address `0x0000000000000000000000000000000000000801` to the **At Address** field in Remix IDE, and click **At Address** button. 3. Remix IDE will find the precompile at the precompile address on the subtensor EVM and show it in the list of deployed contracts. Expand the contract, then expand the `addStake` method, and paste the public key of your delegate hotkey into the `hotkey` field. Then click **transact** and wait for the transaction to be completed. -4. Follow these steps to see that the stake record is updated in [Polkadot JS app](https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/chainstate): - - 1. Select **subtensorModule** + **stake** in the drop-down list. - 2. Paste the delegate hotkey account ID in the first parameter. - 3. Toggle **include option** OFF for the second parameter. - 4. Click the **+** button and find the new stake record. +4. Follow these steps to see that the stake record is updated in [Polkadot JS app](https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/chainstate): + 1. Select **subtensorModule** + **stake** in the drop-down list. + 2. Paste the delegate hotkey account ID in the first parameter. + 3. Toggle **include option** OFF for the second parameter. + 4. Click the **+** button and find the new stake record. diff --git a/docs/local-build/create-subnet.md b/docs/local-build/create-subnet.md index f6ed712a54..8f46a32309 100644 --- a/docs/local-build/create-subnet.md +++ b/docs/local-build/create-subnet.md @@ -9,10 +9,10 @@ This page covers creating a subnet on a locally deployed Subtensor blockchain, w For creating a subnet on Bittensor test and main network, see [Create a Subnet](../subnets/create-a-subnet). Prerequisites: + - [Deploy a Subtensor chain locally](./deploy) - [Provision wallets for the sn-creator, miner, and validator users for this tutorial.](./provision-wallets) - ## Create subnet To access the handy pre-provisioned development "Alice" account on your local chain, use: @@ -23,7 +23,9 @@ btcli subnet create \ --wallet.name sn-creator \ --subtensor.chain_endpoint ws://127.0.0.1:9945 ``` + ### Trouble shoot + #### Insufficient funds If you are following this tutorial for the first time, the `subnet create` command will faill with an insufficient balance error. @@ -45,10 +47,9 @@ btcli wallet transfer \ --subtensor.chain_endpoint ws://127.0.0.1:9945 ``` - #### Network Rate Limit Error -If you see a network rate limit error, you may need to adjust the `SubtensorInitialNetworkRateLimit` chain state parameter. +If you see a network rate limit error, you may need to adjust the `SubtensorInitialNetworkRateLimit` chain state parameter. See [Clone and tweak the Subtensor source](./deploy#clone-and-tweak-the-subtensor-source) @@ -67,12 +68,14 @@ Check the burn cost to create a subnet on Bittensor main network and test networ ```shell btcli subnet burn-cost --network finney ``` + ```shell btcli subnet burn-cost --network test ``` + ::: @@ -82,33 +85,35 @@ btcli subnet burn-cost --network test To remedy your liquidity shortfall, transfer $\tau$ from the Alice account and try again. 1. First, get the ss58 address for the destination wallet for the transfer: - ```shell - btcli w list - ``` - ```shell - ... - ── Coldkey sn-creator ss58_address 5C9xw4gDyu11ocdpWrmhT1sbi4xEHCpzEMsyMA4jGfAZQofQ - └── Hotkey default ss58_address 5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR - ``` -1. Execute the transfer from alice to the sn-creator wallet - - ```console - btcli wallet transfer \ - --amount 1001 \ - --wallet.name alice \ - --destination "5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR" \ - --subtensor.chain_endpoint ws://127.0.0.1:9945 - ``` - - ```shell - Do you want to transfer: - amount: τ 1,001.0000 - from: alice : 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY - to: 5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR - for fee: τ 0.0001 [y/n]: y - 🌏 📡 Transferring... - ``` + ```shell + btcli w list + ``` + ```shell + ... + ── Coldkey sn-creator ss58_address 5C9xw4gDyu11ocdpWrmhT1sbi4xEHCpzEMsyMA4jGfAZQofQ + └── Hotkey default ss58_address 5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR + ``` +1. Execute the transfer from `alice` to the sn-creator wallet + + ```console + btcli wallet transfer \ + --amount 1001 \ + --wallet.name alice \ + --destination "5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR" \ + --subtensor.chain_endpoint ws://127.0.0.1:9945 + ``` + + ```shell + Do you want to transfer: + amount: τ 1,001.0000 + from: alice : 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY + to: 5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR + for fee: τ 0.0001 [y/n]: y + 🌏 📡 Transferring... + ``` + ## Success + Create some subnets. For example: @@ -119,6 +124,7 @@ btcli subnet create \ --wallet.name sn-creator \ --subtensor.chain_endpoint ws://127.0.0.1:9945 ``` + ```console Subnet burn cost: τ 1,000.0000 Your balance is: τ 1,001.0000 @@ -128,7 +134,6 @@ Decrypting... 🌏 📡 Registering subnet.. ``` - ```shell btcli subnet create \ --subnet-name awesome-second-subnet \ @@ -153,6 +158,7 @@ Decrypting... btcli subnet list \ --subtensor.chain_endpoint ws://127.0.0.1:9945 ``` + ```console Subnets Network: custom @@ -170,4 +176,4 @@ btcli subnet list \ 4 │ │ τ 3.0 │ │ τ 0.0 │ τ │ │ │ │ │ │ │ │ 2.01k/29.00 │ │ │ │ │ │ │ │ (6931.03%) │ │ │ -``` \ No newline at end of file +``` diff --git a/docs/local-build/deploy.md b/docs/local-build/deploy.md index 3594d8b882..e9831f1e56 100644 --- a/docs/local-build/deploy.md +++ b/docs/local-build/deploy.md @@ -15,16 +15,18 @@ In the following tutorial, we will also provision several wallets to serve as su - Update your mac or linux workstation using your package manager - Install [Bittensor SDK](../getting-started/installation) and [BTCLI](../getting-started/install-btcli) - ## Build your local Subtensor + ### Install Rust/Cargo To run locally, Substrate requires an up-to-date install of Cargo and Rust Install from Rust's website: + ```shell curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` + Update your shell's source to include Cargo's path: ```shell @@ -37,19 +39,16 @@ We well clone the source and make a small modification to the state configuratio Normally, the creation of new subnets is limited to one per day. This is inconvenient for local subnet development, so we will limit this restriction. - - 1. Fetch the subtensor codebase to your local machine. - ```bash - git clone https://github.com/opentensor/subtensor.git - ``` +```bash +git clone https://github.com/opentensor/subtensor.git +``` 1. Open the source file `subtensor/runtime/src/lib.rs` in the your editor of choice, and find where the variable `SubtensorInitialNetworkRateLimit` is set. It is normally configured to 7200, which is the number of blocks per day written to the chain, i.e. the seconds in a day divided by 12, since a Subtensor block is written every twelve seconds. In otherwords, this setting limits the number of new subnets that can be created to one per day. Let's change the value to 1 (block), so we can create a new subnet every 12 seconds if we want to. - ### Setup Rust This step ensures that you have the nightly toolchain and the WebAssembly (wasm) compilation target. Note that this step will run the Subtensor chain on your terminal directly, hence we advise that you run this as a background process using PM2 or other software. @@ -64,7 +63,7 @@ Update to the nightly version of Rust: These steps initialize your local subtensor chain in development mode. These commands will set up and run a local subtensor. -Build the binary with the faucet feature enabled: +Build the binary: ```bash cd subtensor @@ -76,14 +75,13 @@ cargo build -p node-subtensor --profile release Next, run the localnet script and turn off the attempt to build the binary (as we have already done this above): ```bash -BUILD_BINARY=0 ./scripts/localnet.sh +BUILD_BINARY=0 ./scripts/localnet.sh ``` :::info troubleshooting If you see errors to the effect that the release cannot be found in `targets/fast-blocks`, you may need to move the build artifacts from `targets/release` to `targets/fast-blocks/release`. ::: - ## Validate Ensure your local chain is working by checking the list of subnets. @@ -110,8 +108,8 @@ Note the use of the `--chain_endpoint` flag to target the local chain, rather th ``` - ```shell + ``` ```console diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 599ad73957..0000000000 --- a/package-lock.json +++ /dev/null @@ -1,17442 +0,0 @@ -{ - "name": "bittensor-docs", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "bittensor-docs", - "version": "0.0.0", - "dependencies": { - "@docusaurus/core": "^3.4.0", - "@docusaurus/plugin-client-redirects": "^3.4.0", - "@docusaurus/preset-classic": "^3.4.0", - "@gracefullight/docusaurus-plugin-vercel-analytics": "^1.0.0", - "@mdx-js/react": "^3.0.0", - "@vercel/analytics": "^1.1.2", - "clsx": "^1.2.1", - "hast-util-is-element": "1.1.0", - "prism-react-renderer": "^2.1.0", - "punycode": "^2.3.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-icons": "^4.12.0", - "rehype-katex": "^7.0.1", - "remark-definition-list": "^2.0.0", - "remark-math": "^6.0.0", - "zwitch": "^2.0.4" - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "^3.3.2", - "@docusaurus/tsconfig": "^3.3.2", - "@docusaurus/types": "^3.3.2", - "typescript": "~5.2.2" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@algolia/autocomplete-core": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", - "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", - "@algolia/autocomplete-shared": "1.9.3" - } - }, - "node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", - "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-shared": "1.9.3" - }, - "peerDependencies": { - "search-insights": ">= 1 < 3" - } - }, - "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", - "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-shared": "1.9.3" - }, - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/autocomplete-shared": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", - "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", - "license": "MIT", - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz", - "integrity": "sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==", - "license": "MIT", - "dependencies": { - "@algolia/cache-common": "4.22.1" - } - }, - "node_modules/@algolia/cache-common": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.22.1.tgz", - "integrity": "sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==", - "license": "MIT" - }, - "node_modules/@algolia/cache-in-memory": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz", - "integrity": "sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==", - "license": "MIT", - "dependencies": { - "@algolia/cache-common": "4.22.1" - } - }, - "node_modules/@algolia/client-account": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.22.1.tgz", - "integrity": "sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.22.1", - "@algolia/client-search": "4.22.1", - "@algolia/transporter": "4.22.1" - } - }, - "node_modules/@algolia/client-analytics": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.22.1.tgz", - "integrity": "sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.22.1", - "@algolia/client-search": "4.22.1", - "@algolia/requester-common": "4.22.1", - "@algolia/transporter": "4.22.1" - } - }, - "node_modules/@algolia/client-common": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.22.1.tgz", - "integrity": "sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.22.1", - "@algolia/transporter": "4.22.1" - } - }, - "node_modules/@algolia/client-personalization": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.22.1.tgz", - "integrity": "sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.22.1", - "@algolia/requester-common": "4.22.1", - "@algolia/transporter": "4.22.1" - } - }, - "node_modules/@algolia/client-search": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.22.1.tgz", - "integrity": "sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.22.1", - "@algolia/requester-common": "4.22.1", - "@algolia/transporter": "4.22.1" - } - }, - "node_modules/@algolia/events": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", - "license": "MIT" - }, - "node_modules/@algolia/logger-common": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.22.1.tgz", - "integrity": "sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==", - "license": "MIT" - }, - "node_modules/@algolia/logger-console": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.22.1.tgz", - "integrity": "sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==", - "license": "MIT", - "dependencies": { - "@algolia/logger-common": "4.22.1" - } - }, - "node_modules/@algolia/requester-browser-xhr": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz", - "integrity": "sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.22.1" - } - }, - "node_modules/@algolia/requester-common": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.22.1.tgz", - "integrity": "sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==", - "license": "MIT" - }, - "node_modules/@algolia/requester-node-http": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz", - "integrity": "sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.22.1" - } - }, - "node_modules/@algolia/transporter": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.22.1.tgz", - "integrity": "sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==", - "license": "MIT", - "dependencies": { - "@algolia/cache-common": "4.22.1", - "@algolia/logger-common": "4.22.1", - "@algolia/requester-common": "4.22.1" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz", - "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", - "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.0", - "@babel/generator": "^7.26.0", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.0", - "@babel/parser": "^7.26.0", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.26.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", - "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.26.3", - "@babel/types": "^7.26.3", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", - "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.23.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz", - "integrity": "sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", - "license": "MIT", - "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", - "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", - "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.26.3" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", - "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", - "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", - "license": "MIT", - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", - "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz", - "integrity": "sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", - "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "license": "MIT", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", - "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz", - "integrity": "sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", - "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz", - "integrity": "sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.9", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.9", - "@babel/plugin-transform-modules-umd": "^7.23.3", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.23.4", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", - "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-react-display-name": "^7.23.3", - "@babel/plugin-transform-react-jsx": "^7.22.15", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", - "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-typescript": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "license": "MIT" - }, - "node_modules/@babel/runtime": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", - "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.9.tgz", - "integrity": "sha512-oeOFTrYWdWXCvXGB5orvMTJ6gCZ9I6FBjR+M38iKNXCsPxr4xT0RTdg5uz1H7QP8pp74IzPtwritEr+JscqHXQ==", - "license": "MIT", - "dependencies": { - "core-js-pure": "^3.30.2", - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.26.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", - "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.3", - "@babel/parser": "^7.26.3", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.3", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@docsearch/css": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", - "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==", - "license": "MIT" - }, - "node_modules/@docsearch/react": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", - "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-core": "1.9.3", - "@algolia/autocomplete-preset-algolia": "1.9.3", - "@docsearch/css": "3.5.2", - "algoliasearch": "^4.19.1" - }, - "peerDependencies": { - "@types/react": ">= 16.8.0 < 19.0.0", - "react": ">= 16.8.0 < 19.0.0", - "react-dom": ">= 16.8.0 < 19.0.0", - "search-insights": ">= 1 < 3" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "search-insights": { - "optional": true - } - } - }, - "node_modules/@docusaurus/core": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz", - "integrity": "sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.23.3", - "@babel/generator": "^7.23.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.22.9", - "@babel/preset-env": "^7.22.9", - "@babel/preset-react": "^7.22.5", - "@babel/preset-typescript": "^7.22.5", - "@babel/runtime": "^7.22.6", - "@babel/runtime-corejs3": "^7.22.6", - "@babel/traverse": "^7.22.8", - "@docusaurus/cssnano-preset": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "autoprefixer": "^10.4.14", - "babel-loader": "^9.1.3", - "babel-plugin-dynamic-import-node": "^2.3.3", - "boxen": "^6.2.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "clean-css": "^5.3.2", - "cli-table3": "^0.6.3", - "combine-promises": "^1.1.0", - "commander": "^5.1.0", - "copy-webpack-plugin": "^11.0.0", - "core-js": "^3.31.1", - "css-loader": "^6.8.1", - "css-minimizer-webpack-plugin": "^5.0.1", - "cssnano": "^6.1.2", - "del": "^6.1.1", - "detect-port": "^1.5.1", - "escape-html": "^1.0.3", - "eta": "^2.2.0", - "eval": "^0.1.8", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "html-minifier-terser": "^7.2.0", - "html-tags": "^3.3.1", - "html-webpack-plugin": "^5.5.3", - "leven": "^3.1.0", - "lodash": "^4.17.21", - "mini-css-extract-plugin": "^2.7.6", - "p-map": "^4.0.0", - "postcss": "^8.4.26", - "postcss-loader": "^7.3.3", - "prompts": "^2.4.2", - "react-dev-utils": "^12.0.1", - "react-helmet-async": "^1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", - "react-loadable-ssr-addon-v5-slorber": "^1.0.1", - "react-router": "^5.3.4", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.3.4", - "rtl-detect": "^1.0.4", - "semver": "^7.5.4", - "serve-handler": "^6.1.5", - "shelljs": "^0.8.5", - "terser-webpack-plugin": "^5.3.9", - "tslib": "^2.6.0", - "update-notifier": "^6.0.2", - "url-loader": "^4.1.1", - "webpack": "^5.88.1", - "webpack-bundle-analyzer": "^4.9.0", - "webpack-dev-server": "^4.15.1", - "webpack-merge": "^5.9.0", - "webpackbar": "^5.0.2" - }, - "bin": { - "docusaurus": "bin/docusaurus.mjs" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/core/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@docusaurus/core/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@docusaurus/core/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/@docusaurus/cssnano-preset": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz", - "integrity": "sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==", - "license": "MIT", - "dependencies": { - "cssnano-preset-advanced": "^6.1.2", - "postcss": "^8.4.38", - "postcss-sort-media-queries": "^5.2.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/cssnano-preset-advanced": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", - "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", - "license": "MIT", - "dependencies": { - "autoprefixer": "^10.4.19", - "browserslist": "^4.23.0", - "cssnano-preset-default": "^6.1.2", - "postcss-discard-unused": "^6.0.5", - "postcss-merge-idents": "^6.0.3", - "postcss-reduce-idents": "^6.0.3", - "postcss-zindex": "^6.0.2" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/postcss-discard-unused": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", - "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/postcss-merge-idents": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", - "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", - "license": "MIT", - "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/postcss-reduce-idents": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", - "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/postcss-sort-media-queries": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", - "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", - "license": "MIT", - "dependencies": { - "sort-css-media-queries": "2.2.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.4.23" - } - }, - "node_modules/@docusaurus/cssnano-preset/node_modules/postcss-zindex": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", - "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/@docusaurus/logger": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.4.0.tgz", - "integrity": "sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@docusaurus/mdx-loader": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz", - "integrity": "sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "@mdx-js/mdx": "^3.0.0", - "@slorber/remark-comment": "^1.0.0", - "escape-html": "^1.0.3", - "estree-util-value-to-estree": "^3.0.1", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "image-size": "^1.0.2", - "mdast-util-mdx": "^3.0.0", - "mdast-util-to-string": "^4.0.0", - "rehype-raw": "^7.0.0", - "remark-directive": "^3.0.0", - "remark-emoji": "^4.0.0", - "remark-frontmatter": "^5.0.0", - "remark-gfm": "^4.0.0", - "stringify-object": "^3.3.0", - "tslib": "^2.6.0", - "unified": "^11.0.3", - "unist-util-visit": "^5.0.0", - "url-loader": "^4.1.1", - "vfile": "^6.0.1", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/module-type-aliases": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.3.2.tgz", - "integrity": "sha512-b/XB0TBJah5yKb4LYuJT4buFvL0MGAb0+vJDrJtlYMguRtsEBkf2nWl5xP7h4Dlw6ol0hsHrCYzJ50kNIOEclw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.3.2", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/module-type-aliases/node_modules/react-helmet-async": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz", - "integrity": "sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "invariant": "^2.2.4", - "react-fast-compare": "^3.2.2", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-client-redirects": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz", - "integrity": "sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "eta": "^2.2.0", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz", - "integrity": "sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "cheerio": "^1.0.0-rc.12", - "feed": "^4.2.2", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "reading-time": "^1.5.0", - "srcset": "^4.0.0", - "tslib": "^2.6.0", - "unist-util-visit": "^5.0.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz", - "integrity": "sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "@types/react-router-config": "^5.0.7", - "combine-promises": "^1.1.0", - "fs-extra": "^11.1.1", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/module-type-aliases": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", - "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.4.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/types/node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/react-helmet-async": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz", - "integrity": "sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==", - "license": "Apache-2.0", - "dependencies": { - "invariant": "^2.2.4", - "react-fast-compare": "^3.2.2", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz", - "integrity": "sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "fs-extra": "^11.1.1", - "tslib": "^2.6.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-debug": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz", - "integrity": "sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "fs-extra": "^11.1.1", - "react-json-view-lite": "^1.2.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz", - "integrity": "sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz", - "integrity": "sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "@types/gtag.js": "^0.0.12", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz", - "integrity": "sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz", - "integrity": "sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "fs-extra": "^11.1.1", - "sitemap": "^7.1.1", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/preset-classic": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz", - "integrity": "sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/plugin-debug": "3.4.0", - "@docusaurus/plugin-google-analytics": "3.4.0", - "@docusaurus/plugin-google-gtag": "3.4.0", - "@docusaurus/plugin-google-tag-manager": "3.4.0", - "@docusaurus/plugin-sitemap": "3.4.0", - "@docusaurus/theme-classic": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-search-algolia": "3.4.0", - "@docusaurus/types": "3.4.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-classic": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz", - "integrity": "sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-translations": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "@mdx-js/react": "^3.0.0", - "clsx": "^2.0.0", - "copy-text-to-clipboard": "^3.2.0", - "infima": "0.2.0-alpha.43", - "lodash": "^4.17.21", - "nprogress": "^0.2.0", - "postcss": "^8.4.26", - "prism-react-renderer": "^2.3.0", - "prismjs": "^1.29.0", - "react-router-dom": "^5.3.4", - "rtlcss": "^4.1.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/module-type-aliases": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", - "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.4.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/types/node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/theme-classic/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@docusaurus/theme-classic/node_modules/react-helmet-async": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz", - "integrity": "sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==", - "license": "Apache-2.0", - "dependencies": { - "invariant": "^2.2.4", - "react-fast-compare": "^3.2.2", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/theme-common": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz", - "integrity": "sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==", - "license": "MIT", - "dependencies": { - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^2.0.0", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^2.3.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/module-type-aliases": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", - "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.4.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/types/node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@docusaurus/theme-common/node_modules/react-helmet-async": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz", - "integrity": "sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==", - "license": "Apache-2.0", - "dependencies": { - "invariant": "^2.2.4", - "react-fast-compare": "^3.2.2", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz", - "integrity": "sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==", - "license": "MIT", - "dependencies": { - "@docsearch/react": "^3.5.2", - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-translations": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "algoliasearch": "^4.18.0", - "algoliasearch-helper": "^3.13.3", - "clsx": "^2.0.0", - "eta": "^2.2.0", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/theme-search-algolia/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@docusaurus/theme-translations": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz", - "integrity": "sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==", - "license": "MIT", - "dependencies": { - "fs-extra": "^11.1.1", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@docusaurus/tsconfig": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.3.2.tgz", - "integrity": "sha512-2MQXkLoWqgOSiqFojNEq8iPtFBHGQqd1b/SQMoe+v3GgHmk/L6YTTO/hMcHhWb1hTFmbkei++IajSfD3RlZKvw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@docusaurus/types": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.3.2.tgz", - "integrity": "sha512-5p201S7AZhliRxTU7uMKtSsoC8mgPA9bs9b5NQg1IRdRxJfflursXNVsgc3PcMqiUTul/v1s3k3rXXFlRE890w==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/utils": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz", - "integrity": "sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@svgr/webpack": "^8.1.0", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "github-slugger": "^1.5.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "jiti": "^1.20.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "prompts": "^2.4.2", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@docusaurus/utils-common": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz", - "integrity": "sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==", - "license": "MIT", - "dependencies": { - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@docusaurus/utils-validation": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz", - "integrity": "sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "fs-extra": "^11.2.0", - "joi": "^17.9.2", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@gracefullight/docusaurus-plugin-vercel-analytics/-/docusaurus-plugin-vercel-analytics-1.0.1.tgz", - "integrity": "sha512-6Xj63GIBadwLhoDVNpRXlEs3ieTetd8ZcNGKIJ8ADT0IjZIvcIW6CZFY5RgGtxuJ4PxFXVU2DDV14M2uXXTvGQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/utils-validation": "^3" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/@docusaurus/logger": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.1.1.tgz", - "integrity": "sha512-BjkNDpQzewcTnST8trx4idSoAla6zZ3w22NqM/UMcFtvYJgmoE4layuTzlfql3VFPNuivvj7BOExa/+21y4X2Q==", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/@docusaurus/utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.1.1.tgz", - "integrity": "sha512-ZJfJa5cJQtRYtqijsPEnAZoduW6sjAQ7ZCWSZavLcV10Fw0Z3gSaPKA/B4micvj2afRZ4gZxT7KfYqe5H8Cetg==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.1.1", - "@svgr/webpack": "^6.5.1", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "github-slugger": "^1.5.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "jiti": "^1.20.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/@docusaurus/utils-validation": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.1.1.tgz", - "integrity": "sha512-KlY4P9YVDnwL+nExvlIpu79abfEv6ZCHuOX4ZQ+gtip+Wxj0daccdReIWWtqxM/Fb5Cz1nQvUCc7VEtT8IBUAA==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.1.1", - "@docusaurus/utils": "3.1.1", - "joi": "^17.9.2", - "js-yaml": "^4.1.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/@svgr/plugin-svgo": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", - "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/@svgr/webpack": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", - "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.19.6", - "@babel/plugin-transform-react-constant-elements": "^7.18.12", - "@babel/preset-env": "^7.19.4", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@svgr/core": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "@svgr/plugin-svgo": "^6.5.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "license": "MIT", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@gracefullight/docusaurus-plugin-vercel-analytics/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "license": "MIT", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "license": "MIT" - }, - "node_modules/@mdx-js/mdx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", - "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdx": "^2.0.0", - "collapse-white-space": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-build-jsx": "^3.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-util-to-js": "^2.0.0", - "estree-walker": "^3.0.0", - "hast-util-to-estree": "^3.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "markdown-extensions": "^2.0.0", - "periscopic": "^3.0.0", - "remark-mdx": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "source-map": "^0.7.0", - "unified": "^11.0.0", - "unist-util-position-from-estree": "^2.0.0", - "unist-util-stringify-position": "^4.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@mdx-js/mdx/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@mdx-js/react": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz", - "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==", - "license": "MIT", - "dependencies": { - "@types/mdx": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=16", - "react": ">=16" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", - "license": "MIT", - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", - "license": "MIT", - "dependencies": { - "graceful-fs": "4.2.10" - }, - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "license": "ISC" - }, - "node_modules/@pnpm/npm-conf": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", - "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", - "license": "MIT", - "dependencies": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.24", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", - "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", - "license": "MIT" - }, - "node_modules/@sideway/address": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", - "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "license": "BSD-3-Clause" - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "license": "MIT" - }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@slorber/remark-comment": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", - "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.1.0", - "micromark-util-symbol": "^1.0.1" - } - }, - "node_modules/@slorber/remark-comment/node_modules/micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/@slorber/remark-comment/node_modules/micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/@slorber/remark-comment/node_modules/micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/@slorber/remark-comment/node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", - "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", - "license": "MIT", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/core/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.0", - "entities": "^4.4.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "^6.0.0" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", - "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^8.1.3", - "deepmerge": "^4.3.1", - "svgo": "^3.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@svgr/webpack": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", - "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@babel/plugin-transform-react-constant-elements": "^7.21.3", - "@babel/preset-env": "^7.20.2", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.0", - "@svgr/core": "8.1.0", - "@svgr/plugin-jsx": "8.1.0", - "@svgr/plugin-svgo": "8.1.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz", - "integrity": "sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.24.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz", - "integrity": "sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-define-polyfill-provider/node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-plugin-utils": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", - "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-replace-supers": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", - "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", - "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz", - "integrity": "sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", - "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", - "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", - "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", - "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", - "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", - "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", - "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", - "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", - "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", - "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", - "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz", - "integrity": "sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", - "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", - "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.4", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-classes": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz", - "integrity": "sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.24.5", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", - "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/template": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz", - "integrity": "sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", - "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", - "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", - "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", - "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", - "license": "MIT", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", - "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", - "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-function-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", - "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", - "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", - "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", - "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", - "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", - "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", - "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", - "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", - "license": "MIT", - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", - "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", - "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", - "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", - "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz", - "integrity": "sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", - "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", - "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz", - "integrity": "sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz", - "integrity": "sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", - "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz", - "integrity": "sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.5", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", - "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz", - "integrity": "sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", - "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", - "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", - "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", - "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", - "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", - "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz", - "integrity": "sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-typescript": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz", - "integrity": "sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.5", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-typescript": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", - "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", - "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", - "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", - "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/preset-env": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz", - "integrity": "sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.1", - "@babel/plugin-syntax-import-attributes": "^7.24.1", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.1", - "@babel/plugin-transform-async-generator-functions": "^7.24.3", - "@babel/plugin-transform-async-to-generator": "^7.24.1", - "@babel/plugin-transform-block-scoped-functions": "^7.24.1", - "@babel/plugin-transform-block-scoping": "^7.24.5", - "@babel/plugin-transform-class-properties": "^7.24.1", - "@babel/plugin-transform-class-static-block": "^7.24.4", - "@babel/plugin-transform-classes": "^7.24.5", - "@babel/plugin-transform-computed-properties": "^7.24.1", - "@babel/plugin-transform-destructuring": "^7.24.5", - "@babel/plugin-transform-dotall-regex": "^7.24.1", - "@babel/plugin-transform-duplicate-keys": "^7.24.1", - "@babel/plugin-transform-dynamic-import": "^7.24.1", - "@babel/plugin-transform-exponentiation-operator": "^7.24.1", - "@babel/plugin-transform-export-namespace-from": "^7.24.1", - "@babel/plugin-transform-for-of": "^7.24.1", - "@babel/plugin-transform-function-name": "^7.24.1", - "@babel/plugin-transform-json-strings": "^7.24.1", - "@babel/plugin-transform-literals": "^7.24.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", - "@babel/plugin-transform-member-expression-literals": "^7.24.1", - "@babel/plugin-transform-modules-amd": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-modules-systemjs": "^7.24.1", - "@babel/plugin-transform-modules-umd": "^7.24.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.24.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", - "@babel/plugin-transform-numeric-separator": "^7.24.1", - "@babel/plugin-transform-object-rest-spread": "^7.24.5", - "@babel/plugin-transform-object-super": "^7.24.1", - "@babel/plugin-transform-optional-catch-binding": "^7.24.1", - "@babel/plugin-transform-optional-chaining": "^7.24.5", - "@babel/plugin-transform-parameters": "^7.24.5", - "@babel/plugin-transform-private-methods": "^7.24.1", - "@babel/plugin-transform-private-property-in-object": "^7.24.5", - "@babel/plugin-transform-property-literals": "^7.24.1", - "@babel/plugin-transform-regenerator": "^7.24.1", - "@babel/plugin-transform-reserved-words": "^7.24.1", - "@babel/plugin-transform-shorthand-properties": "^7.24.1", - "@babel/plugin-transform-spread": "^7.24.1", - "@babel/plugin-transform-sticky-regex": "^7.24.1", - "@babel/plugin-transform-template-literals": "^7.24.1", - "@babel/plugin-transform-typeof-symbol": "^7.24.5", - "@babel/plugin-transform-unicode-escapes": "^7.24.1", - "@babel/plugin-transform-unicode-property-regex": "^7.24.1", - "@babel/plugin-transform-unicode-regex": "^7.24.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@babel/preset-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", - "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-syntax-jsx": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-typescript": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", - "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", - "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", - "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", - "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", - "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/babel-preset": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", - "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", - "license": "MIT", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", - "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", - "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", - "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", - "@svgr/babel-plugin-transform-svg-component": "8.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/core": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", - "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^8.1.3", - "snake-case": "^3.0.4" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/hast-util-to-babel-ast": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", - "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.3", - "entities": "^4.4.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/plugin-jsx": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "@svgr/hast-util-to-babel-ast": "8.0.0", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@svgr/webpack/node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@svgr/webpack/node_modules/babel-plugin-polyfill-corejs3/node_modules/core-js-compat": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", - "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/@svgr/webpack/node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "license": "MIT", - "dependencies": { - "defer-to-connect": "^2.0.1" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/acorn": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", - "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "license": "MIT", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.56.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", - "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "license": "MIT" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.4.tgz", - "integrity": "sha512-5idy3hvI9lAMqsyilBM+N+boaCf1MgoefbDxN6KEO5aK17TOHwFAYT9sjxzeKAiIWRUBgLxmZ9mPcnzZXtTcRQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.43", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", - "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/gtag.js": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", - "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==", - "license": "MIT" - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", - "license": "MIT" - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "license": "MIT" - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", - "license": "MIT" - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "license": "MIT" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "license": "MIT" - }, - "node_modules/@types/katex": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz", - "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==", - "license": "MIT" - }, - "node_modules/@types/mdast": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", - "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mdx": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz", - "integrity": "sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw==", - "license": "MIT" - }, - "node_modules/@types/mime": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz", - "integrity": "sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==", - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.11.20", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz", - "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==", - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "license": "MIT" - }, - "node_modules/@types/prismjs": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.3.tgz", - "integrity": "sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==", - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "license": "MIT" - }, - "node_modules/@types/qs": { - "version": "6.9.11", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", - "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==", - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.2.57", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.57.tgz", - "integrity": "sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw==", - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-router": { - "version": "5.1.20", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", - "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" - } - }, - "node_modules/@types/react-router-config": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", - "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "^5.1.0" - } - }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "license": "MIT" - }, - "node_modules/@types/sax": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", - "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "license": "MIT" - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/send/node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "license": "MIT" - }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", - "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", - "license": "MIT" - }, - "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "license": "ISC" - }, - "node_modules/@vercel/analytics": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.2.2.tgz", - "integrity": "sha512-X0rctVWkQV1e5Y300ehVNqpOfSOufo7ieA5PIdna8yX/U7Vjz0GFsGf4qvAhxV02uQ2CVt7GYcrFfddXXK2Y4A==", - "license": "MPL-2.0", - "dependencies": { - "server-only": "^0.0.1" - }, - "peerDependencies": { - "next": ">= 13", - "react": "^18 || ^19" - }, - "peerDependenciesMeta": { - "next": { - "optional": true - }, - "react": { - "optional": true - } - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "license": "Apache-2.0" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "license": "MIT", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/algoliasearch": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.1.tgz", - "integrity": "sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==", - "license": "MIT", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.22.1", - "@algolia/cache-common": "4.22.1", - "@algolia/cache-in-memory": "4.22.1", - "@algolia/client-account": "4.22.1", - "@algolia/client-analytics": "4.22.1", - "@algolia/client-common": "4.22.1", - "@algolia/client-personalization": "4.22.1", - "@algolia/client-search": "4.22.1", - "@algolia/logger-common": "4.22.1", - "@algolia/logger-console": "4.22.1", - "@algolia/requester-browser-xhr": "4.22.1", - "@algolia/requester-common": "4.22.1", - "@algolia/requester-node-http": "4.22.1", - "@algolia/transporter": "4.22.1" - } - }, - "node_modules/algoliasearch-helper": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.16.2.tgz", - "integrity": "sha512-Yl/Gu5Cq4Z5s/AJ0jR37OPI1H3+z7PHz657ibyaXgMOaWvPlZ3OACN13N+7HCLPUlB0BN+8BtmrG/CqTilowBA==", - "license": "MIT", - "dependencies": { - "@algolia/events": "^4.0.1" - }, - "peerDependencies": { - "algoliasearch": ">= 3.1 < 6" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "license": "ISC", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "engines": [ - "node >= 0.8.0" - ], - "license": "Apache-2.0", - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "license": "MIT" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/assert": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", - "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "is-nan": "^1.3.2", - "object-is": "^1.1.5", - "object.assign": "^4.1.4", - "util": "^0.12.5" - } - }, - "node_modules/astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", - "license": "MIT", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.17", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", - "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.22.2", - "caniuse-lite": "^1.0.30001578", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", - "license": "MIT", - "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "license": "MIT", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", - "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.5.0", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", - "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0", - "core-js-compat": "^3.34.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", - "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "license": "MIT" - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/bonjour-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", - "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "license": "ISC" - }, - "node_modules/boxen": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", - "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^6.2.0", - "chalk": "^4.1.2", - "cli-boxes": "^3.0.0", - "string-width": "^5.0.1", - "type-fest": "^2.5.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT" - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", - "license": "MIT", - "engines": { - "node": ">=14.16" - } - }, - "node_modules/cacheable-request": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", - "license": "MIT", - "dependencies": { - "@types/http-cache-semantics": "^4.0.2", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/cacheable-request/node_modules/mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001687", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz", - "integrity": "sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", - "license": "MIT", - "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" - }, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" - } - }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cheerio-select/node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "license": "MIT", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/clean-css": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", - "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", - "license": "MIT", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "license": "MIT", - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/cli-table3/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/cli-table3/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/collapse-white-space": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", - "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "license": "MIT" - }, - "node_modules/combine-promises": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", - "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "license": "ISC" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" - }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "license": "MIT", - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/configstore": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", - "license": "BSD-2-Clause", - "dependencies": { - "dot-prop": "^6.0.1", - "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", - "write-file-atomic": "^3.0.3", - "xdg-basedir": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/yeoman/configstore?sponsor=1" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "license": "MIT" - }, - "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "license": "MIT" - }, - "node_modules/copy-text-to-clipboard": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", - "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "license": "MIT", - "dependencies": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "license": "MIT", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", - "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.22.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.0.tgz", - "integrity": "sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ==", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "license": "MIT", - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", - "license": "MIT", - "dependencies": { - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/crypto-random-string/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/css-declaration-sorter": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", - "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", - "license": "ISC", - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-loader": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", - "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", - "license": "MIT", - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.4", - "postcss-modules-scope": "^3.1.1", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/css-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", - "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "cssnano": "^6.0.1", - "jest-worker": "^29.4.3", - "postcss": "^8.4.24", - "schema-utils": "^4.0.1", - "serialize-javascript": "^6.0.1" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "lightningcss": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-select/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/css-select/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/css-select/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/css-select/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", - "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", - "license": "MIT", - "dependencies": { - "cssnano-preset-default": "^6.1.2", - "lilconfig": "^3.1.1" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-preset-default": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", - "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^4.0.2", - "postcss-calc": "^9.0.1", - "postcss-colormin": "^6.1.0", - "postcss-convert-values": "^6.1.0", - "postcss-discard-comments": "^6.0.2", - "postcss-discard-duplicates": "^6.0.3", - "postcss-discard-empty": "^6.0.3", - "postcss-discard-overridden": "^6.0.2", - "postcss-merge-longhand": "^6.0.5", - "postcss-merge-rules": "^6.1.1", - "postcss-minify-font-values": "^6.1.0", - "postcss-minify-gradients": "^6.0.3", - "postcss-minify-params": "^6.1.0", - "postcss-minify-selectors": "^6.0.4", - "postcss-normalize-charset": "^6.0.2", - "postcss-normalize-display-values": "^6.0.2", - "postcss-normalize-positions": "^6.0.2", - "postcss-normalize-repeat-style": "^6.0.2", - "postcss-normalize-string": "^6.0.2", - "postcss-normalize-timing-functions": "^6.0.2", - "postcss-normalize-unicode": "^6.1.0", - "postcss-normalize-url": "^6.0.2", - "postcss-normalize-whitespace": "^6.0.2", - "postcss-ordered-values": "^6.0.2", - "postcss-reduce-initial": "^6.1.0", - "postcss-reduce-transforms": "^6.0.2", - "postcss-svgo": "^6.0.3", - "postcss-unique-selectors": "^6.0.4" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-utils": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", - "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "license": "MIT", - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "license": "CC0-1.0" - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "license": "MIT", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "license": "BSD-2-Clause", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "license": "MIT", - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "license": "MIT" - }, - "node_modules/detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", - "license": "MIT", - "dependencies": { - "address": "^1.0.1", - "debug": "4" - }, - "bin": { - "detect": "bin/detect-port.js", - "detect-port": "bin/detect-port.js" - } - }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "license": "MIT", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "license": "MIT", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "license": "MIT", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", - "license": "MIT", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dot-prop/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "license": "MIT" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.72", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.72.tgz", - "integrity": "sha512-ZpSAUOZ2Izby7qnZluSrAlGgGQzucmFbN0n64dYzocYxnxV5ufurpj3VgEe4cUp7ir9LmeLxNYo8bVnlM8bQHw==", - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/emojilib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", - "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", - "license": "MIT" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/emoticon": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz", - "integrity": "sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", - "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", - "license": "MIT" - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-goat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-util-attach-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", - "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-build-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", - "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-walker": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-to-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", - "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-to-js/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/estree-util-value-to-estree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz", - "integrity": "sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "is-plain-obj": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/remcohaszing" - } - }, - "node_modules/estree-util-visit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", - "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eta": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", - "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "url": "https://github.com/eta-dev/eta?sponsor=1" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eval": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", - "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", - "dependencies": { - "@types/node": "*", - "require-like": ">= 0.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "license": "MIT" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "license": "MIT" - }, - "node_modules/fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "license": "MIT", - "dependencies": { - "punycode": "^1.3.2" - } - }, - "node_modules/fast-url-parser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fault": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", - "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", - "license": "MIT", - "dependencies": { - "format": "^0.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/feed": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", - "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", - "license": "MIT", - "dependencies": { - "xml-js": "^1.6.11" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", - "license": "MIT", - "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, - "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==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/form-data-encoder": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", - "license": "MIT", - "engines": { - "node": ">= 14.17" - } - }, - "node_modules/format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "license": "Unlicense" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "license": "ISC" - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/github-slugger": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", - "license": "ISC" - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "license": "BSD-2-Clause" - }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "license": "MIT", - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/global-dirs/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "license": "MIT", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "license": "MIT", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/got/node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "license": "MIT", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "license": "MIT" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-yarn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", - "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hast-util-definition-list": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-definition-list/-/hast-util-definition-list-2.0.0.tgz", - "integrity": "sha512-EnkqD6a7R1fwyC9F5R6fu0ucpcwfkxjiga7/G8J7KU+uuUHVENzmgo/Da68fZBy9SZAkQOAC/8gK3m2BnuutUg==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.1", - "@types/mdast": "^4.0.1", - "@types/unist": "^3.0.0", - "hast-util-to-mdast": "^10.1.0", - "mdast-util-definition-list": "^2.0.0", - "mdast-util-phrasing": "^4.0.0" - } - }, - "node_modules/hast-util-embedded": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", - "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-is-element": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-embedded/node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-dom": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.0.tgz", - "integrity": "sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg==", - "license": "ISC", - "dependencies": { - "@types/hast": "^3.0.0", - "hastscript": "^8.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-html": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz", - "integrity": "sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.1.0", - "hast-util-from-parse5": "^8.0.0", - "parse5": "^7.0.0", - "vfile": "^6.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-html-isomorphic": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", - "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-from-dom": "^5.0.0", - "hast-util-from-html": "^2.0.0", - "unist-util-remove-position": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", - "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^8.0.0", - "property-information": "^6.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-has-property": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", - "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-body-ok-link": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.0.tgz", - "integrity": "sha512-VFHY5bo2nY8HiV6nir2ynmEB1XkxzuUffhEGeVx7orbu/B1KaGyeGgMZldvMVx5xWrDlLLG/kQ6YkJAMkBEx0w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-element": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz", - "integrity": "sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-phrasing": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", - "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-embedded": "^3.0.0", - "hast-util-has-property": "^3.0.0", - "hast-util-is-body-ok-link": "^3.0.0", - "hast-util-is-element": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-phrasing/node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.2.tgz", - "integrity": "sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-from-parse5": "^8.0.0", - "hast-util-to-parse5": "^8.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "parse5": "^7.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-estree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", - "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-attach-comments": "^3.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.0", - "unist-util-position": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-html": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz", - "integrity": "sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-raw": "^9.0.0", - "hast-util-whitespace": "^3.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.0", - "zwitch": "^2.0.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", - "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz", - "integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==", - "license": "MIT" - }, - "node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz", - "integrity": "sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.2.2" - } - }, - "node_modules/hast-util-to-mdast": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.0.tgz", - "integrity": "sha512-DsL/SvCK9V7+vfc6SLQ+vKIyBDXTk2KLSbfBYkH4zeF/uR1yBajHRhkzuaUSGOB1WJSTieJBdHwxlC+HLKvZZw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-phrasing": "^3.0.0", - "hast-util-to-html": "^9.0.0", - "hast-util-to-text": "^4.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "mdast-util-to-string": "^4.0.0", - "rehype-minify-whitespace": "^6.0.0", - "trim-trailing-lines": "^2.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", - "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-text": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.0.tgz", - "integrity": "sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "unist-util-find-after": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-text/node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", - "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "license": "BSD-3-Clause", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ], - "license": "MIT" - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "license": "MIT" - }, - "node_modules/html-minifier-terser": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", - "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", - "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "~5.3.2", - "commander": "^10.0.0", - "entities": "^4.4.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.15.1" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" - } - }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/html-webpack-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", - "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", - "license": "MIT", - "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.20.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/html-webpack-plugin/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "license": "BSD-2-Clause" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "license": "MIT" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "license": "MIT", - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", - "license": "MIT", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", - "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", - "license": "MIT", - "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=16.x" - } - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/infima": { - "version": "0.2.0-alpha.43", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz", - "integrity": "sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" - }, - "node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", - "license": "MIT" - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "license": "MIT", - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "license": "MIT", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-nan": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", - "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-npm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", - "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-reference": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", - "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "license": "MIT" - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-yarn-global": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", - "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/joi": { - "version": "17.12.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", - "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/katex": { - "version": "0.16.9", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz", - "integrity": "sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==", - "funding": [ - "https://opencollective.com/katex", - "https://github.com/sponsors/katex" - ], - "license": "MIT", - "dependencies": { - "commander": "^8.3.0" - }, - "bin": { - "katex": "cli.js" - } - }, - "node_modules/katex/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/latest-version": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", - "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", - "license": "MIT", - "dependencies": { - "package-json": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", - "license": "MIT", - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "license": "MIT", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "license": "MIT" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "license": "MIT" - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/markdown-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", - "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/markdown-table": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", - "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-definition-list": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definition-list/-/mdast-util-definition-list-2.0.0.tgz", - "integrity": "sha512-aFWuASQs77BJndNSDcNdvB1HRqWZBptcEjwv67mnPbaAZsfwMHxI8MwoQxAz4I2bHx41hft/HDRC57ZkhpayOQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.1", - "@types/unist": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-hast": "^13.0.2", - "mdast-util-to-markdown": "^2.1.0", - "micromark-extension-definition-list": "^2.0.0", - "unist-builder": "^4.0.0" - } - }, - "node_modules/mdast-util-directive": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", - "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", - "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", - "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "escape-string-regexp": "^5.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-extension-frontmatter": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", - "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-math": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", - "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "longest-streak": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.1.0", - "unist-util-remove-position": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", - "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", - "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.0.tgz", - "integrity": "sha512-A8AJHlR7/wPQ3+Jre1+1rq040fX9A4Q1jG8JxmSNp/PLPHg80A6475wxTp3KzHpApFH6yWxFotHrJQA3dXP6/w==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^5.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz", - "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", - "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "license": "CC0-1.0" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz", - "integrity": "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==", - "license": "Unlicense", - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "license": "MIT" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromark": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", - "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", - "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-definition-list": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-definition-list/-/micromark-extension-definition-list-2.0.0.tgz", - "integrity": "sha512-92SSfTdG7YIXiYj60sNDPoo3MTJXK94LRLfKsoDHgDqiE61p4w4pzdyCc9SuoQ74/bzb5SXPVK11kjlYnIjzKA==", - "license": "MIT", - "dependencies": { - "assert": "^2.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.1", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "ts-dedent": "^2.2.0" - } - }, - "node_modules/micromark-extension-directive": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz", - "integrity": "sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "parse-entities": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-frontmatter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", - "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", - "license": "MIT", - "dependencies": { - "fault": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "license": "MIT", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", - "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", - "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-math": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", - "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", - "license": "MIT", - "dependencies": { - "@types/katex": "^0.16.0", - "devlop": "^1.0.0", - "katex": "^0.16.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-expression": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", - "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-jsx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", - "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", - "license": "MIT", - "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-md": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", - "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", - "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", - "license": "MIT", - "dependencies": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^3.0.0", - "micromark-extension-mdx-jsx": "^3.0.0", - "micromark-extension-mdx-md": "^2.0.0", - "micromark-extension-mdxjs-esm": "^3.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs-esm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", - "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", - "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", - "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", - "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", - "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", - "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", - "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", - "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", - "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", - "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", - "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", - "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", - "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-events-to-acorn": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", - "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - } - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", - "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", - "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", - "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", - "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", - "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", - "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.0.tgz", - "integrity": "sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg==", - "license": "MIT", - "dependencies": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "license": "ISC" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "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==", - "license": "MIT" - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "license": "MIT", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "license": "MIT" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-emoji": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", - "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^4.6.0", - "char-regex": "^1.0.2", - "emojilib": "^2.4.0", - "skin-tone": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", - "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", - "license": "MIT" - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "license": "MIT" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "license": "MIT", - "engines": { - "node": ">=12.20" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "license": "MIT", - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", - "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", - "license": "MIT", - "dependencies": { - "got": "^12.1.0", - "registry-auth-token": "^5.0.1", - "registry-url": "^6.0.0", - "semver": "^7.3.7" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-json/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/package-json/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/package-json/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", - "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", - "license": "MIT" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-numeric-range": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", - "license": "ISC" - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "license": "MIT", - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "license": "MIT", - "dependencies": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "license": "(WTFPL OR MIT)" - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", - "license": "MIT" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/periscopic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", - "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^3.0.0", - "is-reference": "^3.0.0" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "license": "MIT", - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "license": "MIT", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "license": "MIT", - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "license": "MIT", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/pkg-dir/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-colormin": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", - "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "colord": "^2.9.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-convert-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", - "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-comments": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", - "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", - "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-empty": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", - "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", - "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-loader": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", - "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^8.3.5", - "jiti": "^1.20.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-loader/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/postcss-merge-longhand": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", - "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.1.1" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-merge-rules": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", - "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.2", - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", - "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", - "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", - "license": "MIT", - "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-params": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", - "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", - "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", - "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", - "license": "MIT", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", - "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", - "license": "ISC", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", - "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", - "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", - "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", - "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-string": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", - "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", - "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", - "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", - "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", - "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-ordered-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", - "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", - "license": "MIT", - "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", - "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", - "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", - "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", - "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.2.0" - }, - "engines": { - "node": "^14 || ^16 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", - "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "license": "MIT" - }, - "node_modules/postcss/node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "license": "MIT", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/prism-react-renderer": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz", - "integrity": "sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==", - "license": "MIT", - "dependencies": { - "@types/prismjs": "^1.26.0", - "clsx": "^2.0.0" - }, - "peerDependencies": { - "react": ">=16.0.0" - } - }, - "node_modules/prism-react-renderer/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/property-information": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.1.tgz", - "integrity": "sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "license": "ISC" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pupa": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", - "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", - "license": "MIT", - "dependencies": { - "escape-goat": "^4.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "license": "MIT", - "dependencies": { - "inherits": "~2.0.3" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "license": "MIT", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", - "license": "MIT" - }, - "node_modules/react-fast-compare": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", - "license": "MIT" - }, - "node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-icons": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz", - "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==", - "license": "MIT", - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/react-json-view-lite": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.2.1.tgz", - "integrity": "sha512-Itc0g86fytOmKZoIoJyGgvNqohWSbh3NXIKNgH6W6FT9PC1ck4xas1tT3Rr/b3UlFXyA9Jjaw9QSXdZy2JwGMQ==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-loadable": { - "name": "@docusaurus/react-loadable", - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", - "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", - "license": "MIT", - "dependencies": { - "@types/react": "*" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-loadable-ssr-addon-v5-slorber": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", - "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.3" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "react-loadable": "*", - "webpack": ">=4.41.1 || 5.x" - } - }, - "node_modules/react-router": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", - "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router-config": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", - "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.1.2" - }, - "peerDependencies": { - "react": ">=15", - "react-router": ">=5" - } - }, - "node_modules/react-router-dom": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", - "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.3.4", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router/node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reading-time": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==", - "license": "MIT" - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "license": "MIT", - "dependencies": { - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "license": "MIT", - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/registry-auth-token": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", - "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", - "license": "MIT", - "dependencies": { - "@pnpm/npm-conf": "^2.1.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/registry-url": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", - "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", - "license": "MIT", - "dependencies": { - "rc": "1.2.8" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/rehype-katex": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz", - "integrity": "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/katex": "^0.16.0", - "hast-util-from-html-isomorphic": "^2.0.0", - "hast-util-to-text": "^4.0.0", - "katex": "^0.16.0", - "unist-util-visit-parents": "^6.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-minify-whitespace": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.0.tgz", - "integrity": "sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-embedded": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-minify-whitespace/node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-raw": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", - "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-raw": "^9.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remark-definition-list": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-definition-list/-/remark-definition-list-2.0.0.tgz", - "integrity": "sha512-OOJ0zUrfUGITUNxOBnsipyFUjqq1m4AgYOqQk10jDXyz+RoODJL3qYvRn8qzYQDzRnz1wlCP3dbDEOpl05LlQw==", - "license": "MIT", - "dependencies": { - "hast-util-definition-list": "^2.0.0", - "mdast-util-definition-list": "^2.0.0", - "micromark-extension-definition-list": "^2.0.0" - } - }, - "node_modules/remark-directive": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", - "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-directive": "^3.0.0", - "micromark-extension-directive": "^3.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-emoji": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", - "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.2", - "emoticon": "^4.0.1", - "mdast-util-find-and-replace": "^3.0.1", - "node-emoji": "^2.1.0", - "unified": "^11.0.4" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/remark-frontmatter": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", - "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-frontmatter": "^2.0.0", - "micromark-extension-frontmatter": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", - "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-math": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", - "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-math": "^3.0.0", - "micromark-extension-math": "^3.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", - "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", - "license": "MIT", - "dependencies": { - "mdast-util-mdx": "^3.0.0", - "micromark-extension-mdxjs": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", - "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "license": "MIT", - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "node_modules/renderkid/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", - "engines": { - "node": "*" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "license": "MIT" - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", - "license": "MIT" - }, - "node_modules/responselike": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", - "license": "MIT", - "dependencies": { - "lowercase-keys": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rtl-detect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", - "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==", - "license": "BSD-3-Clause" - }, - "node_modules/rtlcss": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.1.1.tgz", - "integrity": "sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==", - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0", - "postcss": "^8.4.21", - "strip-json-comments": "^3.1.1" - }, - "bin": { - "rtlcss": "bin/rtlcss.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", - "license": "ISC" - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" - }, - "node_modules/search-insights": { - "version": "2.17.3", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", - "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", - "license": "MIT", - "peer": true - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "license": "MIT" - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "license": "MIT", - "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", - "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", - "license": "MIT", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semver-diff/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-diff/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-diff/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-handler": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", - "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", - "license": "MIT", - "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.1.2", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - } - }, - "node_modules/serve-handler/node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "license": "MIT", - "dependencies": { - "mime-db": "~1.33.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "license": "ISC" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "license": "ISC" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "license": "MIT", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/server-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz", - "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==", - "license": "MIT" - }, - "node_modules/set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.2", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "license": "BSD-3-Clause", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/side-channel": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", - "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, - "node_modules/sirv": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "license": "MIT" - }, - "node_modules/sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", - "license": "MIT", - "dependencies": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "bin": { - "sitemap": "dist/cli.js" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=5.6.0" - } - }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "license": "MIT" - }, - "node_modules/skin-tone": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", - "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", - "license": "MIT", - "dependencies": { - "unicode-emoji-modifier-base": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/snake-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", - "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "license": "MIT", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sort-css-media-queries": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", - "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", - "license": "MIT", - "engines": { - "node": ">= 6.3.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, - "node_modules/srcset": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", - "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "license": "MIT" - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", - "license": "MIT" - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/stringify-entities": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", - "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", - "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "license": "BSD-2-Clause", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-to-object": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", - "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.1.1" - } - }, - "node_modules/stylehacks": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", - "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "license": "MIT" - }, - "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", - "license": "MIT", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/svgo/node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/svgo/node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/svgo/node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "license": "CC0-1.0" - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.27.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.2.tgz", - "integrity": "sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w==", - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "license": "MIT" - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "license": "MIT" - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "license": "MIT" - }, - "node_modules/tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==", - "license": "MIT" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "license": "MIT" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trim-trailing-lines": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz", - "integrity": "sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-dedent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", - "license": "MIT", - "engines": { - "node": ">=6.10" - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "license": "0BSD" - }, - "node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "license": "MIT" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-emoji-modifier-base": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", - "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unique-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", - "license": "MIT", - "dependencies": { - "crypto-random-string": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/unist-builder": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-4.0.0.tgz", - "integrity": "sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-find-after": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", - "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", - "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", - "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-notifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", - "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", - "license": "BSD-2-Clause", - "dependencies": { - "boxen": "^7.0.0", - "chalk": "^5.0.1", - "configstore": "^6.0.0", - "has-yarn": "^3.0.0", - "import-lazy": "^4.0.0", - "is-ci": "^3.0.1", - "is-installed-globally": "^0.4.0", - "is-npm": "^6.0.0", - "is-yarn-global": "^0.4.0", - "latest-version": "^7.0.0", - "pupa": "^3.1.0", - "semver": "^7.3.7", - "semver-diff": "^4.0.0", - "xdg-basedir": "^5.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/update-notifier/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/update-notifier/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", - "license": "MIT" - }, - "node_modules/utility-types": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", - "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", - "license": "MIT" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", - "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/webpack": { - "version": "5.90.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", - "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", - "license": "MIT", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", - "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", - "license": "MIT", - "dependencies": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "commander": "^7.2.0", - "debounce": "^1.2.1", - "escape-string-regexp": "^4.0.0", - "gzip-size": "^6.0.0", - "html-escaper": "^2.0.2", - "is-plain-object": "^5.0.0", - "opener": "^1.5.2", - "picocolors": "^1.0.0", - "sirv": "^2.0.3", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "license": "MIT", - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", - "license": "MIT", - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpackbar": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", - "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "consola": "^2.15.3", - "pretty-time": "^1.1.0", - "std-env": "^3.0.1" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "webpack": "3 || 4 || 5" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "license": "Apache-2.0", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "license": "Apache-2.0", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", - "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "license": "MIT", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "license": "MIT" - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xdg-basedir": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", - "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "license": "MIT", - "dependencies": { - "sax": "^1.2.4" - }, - "bin": { - "xml-js": "bin/cli.js" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "license": "ISC" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - } -} diff --git a/package.json b/package.json index 59e08f1d79..b244a9c9c1 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,8 @@ "@docusaurus/plugin-client-redirects": "^3.7.0", "@docusaurus/plugin-content-docs": "^3.7.0", "@docusaurus/preset-classic": "^3.7.0", - "@docusaurus/theme-common": "^3.7.0", "@docusaurus/theme-classic": "^3.7.0", + "@docusaurus/theme-common": "^3.7.0", "@docusaurus/theme-search-algolia": "^3.7.0", "@gracefullight/docusaurus-plugin-vercel-analytics": "^1.0.0", "@mdx-js/react": "^3.0.0", From 2318d8ee30a3f8d56969a3e3ebbae0579165f437 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 16 Jun 2025 11:36:56 -0700 Subject: [PATCH 075/303] couple of typos --- docs/bittensor-networks.md | 3 +-- docs/btcli-permissions.md | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/bittensor-networks.md b/docs/bittensor-networks.md index f4bcd6544c..ba1bee7574 100644 --- a/docs/bittensor-networks.md +++ b/docs/bittensor-networks.md @@ -9,10 +9,9 @@ The below table presents Bittensor networks and a few details: | DESCRIPTION | MAINNET | TESTNET | DEVNET | | :---------------------------- | :---------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------- | | **Chain URL** | wss://entrypoint-finney.opentensor.ai:443 | wss://test.finney.opentensor.ai:443 | wss://dev.chain.opentensor.ai:443 | -| **Example Usage** | Default | `btcli wallet swap_hotkey --subtensor.chain_endpoint wss://dev.chain.opentensor.ai:443` **or** `btcli wallet swap_hotkey --subtensor.network test` | `btcli wallet swap_hotkey --subtensor.chain_endpoint wss://dev.chain.opentensor.ai:443` | | **Block processing** | One block every 12 seconds | One block every 12 seconds | One block every 12 seconds | | **Mainnet Archive** | wss://archive.chain.opentensor.ai:443 | None | None | | **Mainnet Lite** | wss://lite.chain.opentensor.ai:443 | None | None | | **Experimental Mainnet Lite** | wss://lite.finney.test.opentensor.ai:443 | None | None | -| **Network Purpose** | For all | For all | **For OTF-internal development only** | +| **Network Purpose** | Transactions with financial value | Test transactions with no value, constrained by tokenomics | Development and testing in fully user-controlled environment | | **Test TAO** | None | Available on request (not compatible with devnet test TAO) | Available internally on request (not compatible with testnet test TAO) | diff --git a/docs/btcli-permissions.md b/docs/btcli-permissions.md index b5aa9f7e33..cf3f3068b1 100644 --- a/docs/btcli-permissions.md +++ b/docs/btcli-permissions.md @@ -34,7 +34,7 @@ The workstations you use to do this work can be referred to as a permissionless 1. A **coldkey workstation** contains one or more coldkey private key in the `wallet_path`. For any coldkey associated with mainnet TAO, the coldkey workstation should be held to the highest possible security standards. :::tip coldkey workstation security - See [Coldkey workstation](./ getting-started/coldkey-hotkey-security#coldkey-workstation) + See [Coldkey workstation](./getting-started/coldkey-hotkey-security#coldkey-workstation) ::: 1. **A hotkey workstation**—which is generally a server used for mining or validation—contains a hotkey private key in the `wallet_path` located in the `btcli config`, as well as a coldkey public key for the corresponding coldkey. Compromised hotkeys can damage your reputation if they are used to maliciously to submit inaccurate weights as a validator, or bad work as a miner. However, ownership of TAO or alpha stake can only be transferred with a coldkey, and a leaked hotkey can be swapped using the coldkey; therefore hotkey leaks are far less dangerous than coldkey leaks. From 0c6becb4b18bc467144f81471c48b1fd0e12b55c Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 16 Jun 2025 13:57:35 -0700 Subject: [PATCH 076/303] add skip_pull env var --- docs/sdk/env-vars.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/sdk/env-vars.md b/docs/sdk/env-vars.md index cf187630b7..9727aa3c04 100644 --- a/docs/sdk/env-vars.md +++ b/docs/sdk/env-vars.md @@ -133,6 +133,14 @@ The SDK uses `False` if the variable is not set. ### `LOCALNET_SH_PATH` -Full path to the `scripts/localnet.sh` file in the cloned `Subtensor` repository used to launch the local chain (including for e2e tests if the Docker image is not used).
          +Full path to the `scripts/localnet.sh` file in the cloned `Subtensor` repository used to launch the local chain (including for e2e tests if the Docker image is not used). + SDK skips running e2e tests if the variable is not set (used only together with the `USE_DOCKER` variable). +### `SKIP_PULL` + +Controls whether the Docker image used for end-to-end tests should be pulled from a remote container registry (e.g. GitHub Container Registry) before the test run. +This is useful in CI pipelines where a custom image is built and should not be overwritten by a remote version. + +- When `SKIP_PULL=0` (default), the test framework runs docker pull to ensure the latest version of the image is used. +- When `SKIP_PULL=1`, the pull step is skipped. The tests will only run if the required Docker image is already available locally. \ No newline at end of file From 36bdc9ee49fa1c522497e278061563ff8977bdb5 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 17 Jun 2025 14:54:53 +0100 Subject: [PATCH 077/303] docs: review wip --- .gitignore | 3 + docs/bittensor-networks.md | 23 +- docs/evm-tutorials/_create-mm-wallet.mdx | 12 +- docs/evm-tutorials/_install.mdx | 15 +- docs/evm-tutorials/convert-h160-to-ss58.md | 69 +++--- .../ed25519-verify-precompile.md | 211 ++++++++-------- .../evm-localnet-with-metamask-wallet.md | 79 +++--- .../evm-mainnet-with-metamask-wallet.md | 51 ++-- .../evm-testnet-with-metamask-wallet.md | 10 +- docs/evm-tutorials/examples.md | 8 +- docs/evm-tutorials/index.md | 22 +- .../remix-config-for-subtensor-evm.md | 10 +- package.json | 2 +- sidebars.js | 226 +++++++++--------- 14 files changed, 383 insertions(+), 358 deletions(-) diff --git a/.gitignore b/.gitignore index c6794c8186..cdeec9ebac 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,9 @@ docs/.obsidian .docusaurus .cache-loader .yarnclean +.yarn +.pnp.cjs +.pnp.loader.mjs # Misc .DS_Store diff --git a/docs/bittensor-networks.md b/docs/bittensor-networks.md index 1d24d1d692..2ad781bdd9 100644 --- a/docs/bittensor-networks.md +++ b/docs/bittensor-networks.md @@ -6,15 +6,14 @@ title: "Bittensor Networks" The below table presents Bittensor networks and a few details: -| DESCRIPTION | MAINNET | TESTNET | DEVNET | -|:---------------------|:------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------| -| **Chain URL** | wss://entrypoint-finney.opentensor.ai:443 | wss://test.finney.opentensor.ai:443 | wss://dev.chain.opentensor.ai:443 | -| **Example Usage** | Default | `btcli wallet swap_hotkey --network wss://dev.chain.opentensor.ai:443` | `btcli wallet swap_hotkey --network wss://dev.chain.opentensor.ai:443` | -| **Block processing** | One block every 12 seconds | One block every 12 seconds | One block every 12 seconds | -| **Mainnet Archive** | wss://archive.chain.opentensor.ai:443 | None | None | -| **Mainnet Lite** | wss://lite.chain.opentensor.ai:443 | None | None | -| **Experimental Mainnet Lite** | wss://lite.finney.test.opentensor.ai:443 | None | None | -| **Network Purpose** | For all | For all | **For OTF-internal development only** | -| **Faucet** | None | None | Available on internal project-basis | -| **Test TAO** | None | Available on request (not compatible with devnet test TAO) | Available internally on request (not compatible with testnet test TAO) | - +| DESCRIPTION | MAINNET | TESTNET | DEVNET | +| :---------------------------- | :---------------------------------------- | :----------------------------------------------------------------------- | :--------------------------------------------------------------------- | +| **Chain URL** | wss://entrypoint-finney.opentensor.ai:443 | wss://test.finney.opentensor.ai:443 | wss://dev.chain.opentensor.ai:443 | +| **Example Usage** | Default | `btcli wallet swap_hotkey --network wss://test.finney.opentensor.ai:443` | `btcli wallet swap_hotkey --network wss://dev.chain.opentensor.ai:443` | +| **Block processing** | One block every 12 seconds | One block every 12 seconds | One block every 12 seconds | +| **Mainnet Archive** | wss://archive.chain.opentensor.ai:443 | None | None | +| **Mainnet Lite** | wss://lite.chain.opentensor.ai:443 | None | None | +| **Experimental Mainnet Lite** | wss://lite.finney.test.opentensor.ai:443 | None | None | +| **Network Purpose** | For all | For all | **For OTF-internal development only** | +| **Faucet** | None | None | Available on internal project-basis | +| **Test TAO** | None | Available on request (not compatible with devnet test TAO) | Available internally on request (not compatible with testnet test TAO) | diff --git a/docs/evm-tutorials/_create-mm-wallet.mdx b/docs/evm-tutorials/_create-mm-wallet.mdx index 60c061a79e..33dc429034 100644 --- a/docs/evm-tutorials/_create-mm-wallet.mdx +++ b/docs/evm-tutorials/_create-mm-wallet.mdx @@ -1,8 +1,11 @@ -import React from 'react'; +import React from "react"; + +/_ +Create Wallet with MetaMask +_/ export const CreatePartial = () => ( <> -

          Create Wallet with MetaMask

          1. Install Metamask wallet browser extension, if you haven't already.
          2. @@ -14,10 +17,11 @@ export const CreatePartial = () => (
          3. Chain ID: 945
          4. Currency Symbol: TAO
          5. Block Explorer URL: test.chain.opentensor.ai
          6. -
        +
      6. Click Save.
      7. Click Switch network.
      + -); \ No newline at end of file +); diff --git a/docs/evm-tutorials/_install.mdx b/docs/evm-tutorials/_install.mdx index e8dbe0d8d8..70a08abe44 100644 --- a/docs/evm-tutorials/_install.mdx +++ b/docs/evm-tutorials/_install.mdx @@ -1,6 +1,9 @@ +/_ +Install the EVM Examples repo +_/ + export const InstallPartial = () => ( <> -

      Install the EVM Examples repo

      1. Clone the Opentensor EVM-Bittensor GitHub repo: @@ -22,13 +25,13 @@ export const InstallPartial = () => (
      2. Install the dependencies: - + - npm install + yarn install - +
      - -); \ No newline at end of file + +); diff --git a/docs/evm-tutorials/convert-h160-to-ss58.md b/docs/evm-tutorials/convert-h160-to-ss58.md index dda6e81ec7..4edbe1297e 100644 --- a/docs/evm-tutorials/convert-h160-to-ss58.md +++ b/docs/evm-tutorials/convert-h160-to-ss58.md @@ -1,8 +1,9 @@ --- title: "Convert Ethereum (H160) Address to Substrate (SS58)" --- -import { InstallPartial } from "./_install.mdx"; -import { CreatePartial } from "./_create-mm-wallet.mdx"; + +import { InstallPartial } from "./\_install.mdx"; +import { CreatePartial } from "./\_create-mm-wallet.mdx"; # Convert Ethereum (H160) Address to Substrate (SS58) @@ -12,29 +13,38 @@ In what follows, we'll create a wallet in Metamask and convert it's public key t ## Procedure +### Create Wallet with MetaMask + +### Install the EVM Examples repo + ## Set your config ### Convert Address for Bittensor - -Run the conversion script, replacing `ethereumAddress` with your address: + +Run the address conversion script by navigating to the `examples` folder and running the following command: ```bash node convert-address.js ``` -Note down the SS58 address output by the script - this is your wallet's Subtensor address on the Bittensor network. +:::warning Replace the placeholder address +Within the `examples/convert-address` file, replace the placeholder `ethereumAddress` argument with your own Ethereum wallet address. +::: + +Note down the SS58 address output by the script—this is your wallet's Subtensor address on the Bittensor network. ### Transfer TAO to EVM Wallet Use `btcli` to transfer TAO to your SS58 address. Here we will use test network. - ```bash - btcli wallet transfer --destination --network test - ``` +```bash +btcli wallet transfer --destination --network test +``` + ### Verify Balance in MetaMask 1. Open MetaMask @@ -47,6 +57,7 @@ Use `btcli` to transfer TAO to your SS58 address. Here we will use test network. Below is the code used above for the conversion. **Source code**: + - [EVM examples repo](https://github.com/opentensor/evm-bittensor) - [Address mapping](https://github.com/opentensor/evm-bittensor/blob/main/examples/address-mapping.js) - [Convert address](https://github.com/opentensor/evm-bittensor/blob/main/examples/convert-address.js) @@ -54,13 +65,13 @@ Below is the code used above for the conversion. ```javascript //convert-address.js -const { convertH160ToSS58 } = require('./address-mapping.js'); +const { convertH160ToSS58 } = require("./address-mapping.js"); async function main() { - const ethereumAddress = "0xbdA293c21DfCaDDAeB9aa8b98455d42325599d23"; + const ethereumAddress = "0xbdA293c21DfCaDDAeB9aa8b98455d42325599d23"; - const ss58Address = convertH160ToSS58(ethereumAddress); - console.log(`ss58 mirror: ${ss58Address}`); + const ss58Address = convertH160ToSS58(ethereumAddress); + console.log(`ss58 mirror: ${ss58Address}`); } main().catch(console.error); @@ -69,20 +80,22 @@ main().catch(console.error); ```javascript // address-mapping.js function convertH160ToSS58(ethAddress) { - const prefix = 'evm:'; - const prefixBytes = new TextEncoder().encode(prefix); - const addressBytes = hexToU8a(ethAddress.startsWith('0x') ? ethAddress : `0x${ethAddress}`); - const combined = new Uint8Array(prefixBytes.length + addressBytes.length); - - // Concatenate prefix and Ethereum address - combined.set(prefixBytes); - combined.set(addressBytes, prefixBytes.length); - - // Hash the combined data (the public key) - const hash = blake2AsU8a(combined); - - // Convert the hash to SS58 format - const ss58Address = encodeAddress(hash, 42); // Network ID 42 for Bittensor - return ss58Address; + const prefix = "evm:"; + const prefixBytes = new TextEncoder().encode(prefix); + const addressBytes = hexToU8a( + ethAddress.startsWith("0x") ? ethAddress : `0x${ethAddress}` + ); + const combined = new Uint8Array(prefixBytes.length + addressBytes.length); + + // Concatenate prefix and Ethereum address + combined.set(prefixBytes); + combined.set(addressBytes, prefixBytes.length); + + // Hash the combined data (the public key) + const hash = blake2AsU8a(combined); + + // Convert the hash to SS58 format + const ss58Address = encodeAddress(hash, 42); // Network ID 42 for Bittensor + return ss58Address; } -``` \ No newline at end of file +``` diff --git a/docs/evm-tutorials/ed25519-verify-precompile.md b/docs/evm-tutorials/ed25519-verify-precompile.md index 272e32896d..b7799f80c1 100644 --- a/docs/evm-tutorials/ed25519-verify-precompile.md +++ b/docs/evm-tutorials/ed25519-verify-precompile.md @@ -21,23 +21,23 @@ The Ed25519 Verify Precompile allows EVM smart contracts to verify Ed25519 signa Navigate to the `examples` directory of the EVM-Bittensor repo: - ```bash - cd examples - ``` +```bash +cd examples +``` + To run this precompile, execute: - ```bash - node ed25519-verify.js - ``` +```bash +node ed25519-verify.js +``` This example demonstrates how to: -1. Sign an arbitrary message with `ed25519` key. +1. Sign an arbitrary message with `ed25519` key. 2. Verify the signature using the precompile contract. 3. Fail the verification of the signature using a corrupted message hash with the precompile contract. 4. Fail the verification of a corrupted signature with the precompile contract. - [On GitHub](https://github.com/opentensor/evm-bittensor/blob/main/examples/ed25519-verify.js).
      @@ -53,124 +53,126 @@ const provider = new ethers.JsonRpcProvider(rpcUrl); const IED25519VERIFY_ADDRESS = '0x0000000000000000000000000000000000000402'; const IEd25519VerifyABI = [ - { - "inputs": [ - { "internalType": "bytes32", "name": "message", "type": "bytes32" }, - { "internalType": "bytes32", "name": "publicKey", "type": "bytes32" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" } - ], - "name": "verify", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "pure", - "type": "function" - } +{ +"inputs": [ +{ "internalType": "bytes32", "name": "message", "type": "bytes32" }, +{ "internalType": "bytes32", "name": "publicKey", "type": "bytes32" }, +{ "internalType": "bytes32", "name": "r", "type": "bytes32" }, +{ "internalType": "bytes32", "name": "s", "type": "bytes32" } +], +"name": "verify", +"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], +"stateMutability": "pure", +"type": "function" +} ]; async function main() { - const keyring = new Keyring({ type: 'ed25519' }); - const myAccount = keyring.addFromUri('//Alice'); - - ////////////////////////////////////////////////////////////////////// - // Generate a signature - - // Your message to sign - const message = 'Sign this message'; - const messageU8a = new TextEncoder().encode(message); - const messageHex = ethers.hexlify(messageU8a); // Convert message to hex string - const messageHash = ethers.keccak256(messageHex); // Hash the message to fit into bytes32 - console.log(`messageHash = ${messageHash}`); - const hashedMessageBytes = hexToBytes(messageHash); - - // Sign the message - const signature = myAccount.sign(hashedMessageBytes); - console.log(`Signature: ${bytesToHex(signature)}`); - - // Verify the signature locally - const isValid = myAccount.verify(hashedMessageBytes, signature, myAccount.publicKey); - console.log(`Is the signature valid? ${isValid}`); - - ////////////////////////////////////////////////////////////////////// - // Verify the signature using the precompile contract - - const publicKeyBytes = bytesToHex(myAccount.publicKey); - console.log(`publicKeyBytes = ${publicKeyBytes}`); - - // Split signture into Commitment (R) and response (s) - let r = signature.slice(0, 32); // Commitment, a.k.a. "r" - first 32 bytes - let s = signature.slice(32, 64); // Response, a.k.a. "s" - second 32 bytes - let rBytes = bytesToHex(r); - let sBytes = bytesToHex(s); - const ed25519Contract = new ethers.Contract(IED25519VERIFY_ADDRESS, IEd25519VerifyABI, provider); - const isPrecompileValid = await ed25519Contract.verify(messageHash, publicKeyBytes, rBytes, sBytes); - console.log(`Is the signature valid according to the smart contract? ${isPrecompileValid}`); - - ////////////////////////////////////////////////////////////////////// - // Verify the signature for bad data using the precompile contract - - let brokenHashedMessageBytes = hashedMessageBytes; - brokenHashedMessageBytes[0] = (brokenHashedMessageBytes[0] + 1) % 0xff; - const brokenMessageHash = bytesToHex(brokenHashedMessageBytes); - console.log(`brokenMessageHash = ${brokenMessageHash}`); - const isPrecompileValidBadData = await ed25519Contract.verify(brokenMessageHash, publicKeyBytes, rBytes, sBytes); - console.log(`Is the signature valid according to the smart contract for broken data? ${isPrecompileValidBadData}`); - - ////////////////////////////////////////////////////////////////////// - // Verify the bad signature for good data using the precompile contract - - let brokenR = r; - brokenR[0] = (brokenR[0] + 1) % 0xff; - rBytes = bytesToHex(r); - const isPrecompileValidBadSignature = await ed25519Contract.verify(messageHash, publicKeyBytes, rBytes, sBytes); - console.log(`Is the signature valid according to the smart contract for broken signature? ${isPrecompileValidBadSignature}`); +const keyring = new Keyring({ type: 'ed25519' }); +const myAccount = keyring.addFromUri('//Alice'); + +////////////////////////////////////////////////////////////////////// +// Generate a signature + +// Your message to sign +const message = 'Sign this message'; +const messageU8a = new TextEncoder().encode(message); +const messageHex = ethers.hexlify(messageU8a); // Convert message to hex string +const messageHash = ethers.keccak256(messageHex); // Hash the message to fit into bytes32 +console.log(`messageHash = ${messageHash}`); +const hashedMessageBytes = hexToBytes(messageHash); + +// Sign the message +const signature = myAccount.sign(hashedMessageBytes); +console.log(`Signature: ${bytesToHex(signature)}`); + +// Verify the signature locally +const isValid = myAccount.verify(hashedMessageBytes, signature, myAccount.publicKey); +console.log(`Is the signature valid? ${isValid}`); + +////////////////////////////////////////////////////////////////////// +// Verify the signature using the precompile contract + +const publicKeyBytes = bytesToHex(myAccount.publicKey); +console.log(`publicKeyBytes = ${publicKeyBytes}`); + +// Split signture into Commitment (R) and response (s) +let r = signature.slice(0, 32); // Commitment, a.k.a. "r" - first 32 bytes +let s = signature.slice(32, 64); // Response, a.k.a. "s" - second 32 bytes +let rBytes = bytesToHex(r); +let sBytes = bytesToHex(s); +const ed25519Contract = new ethers.Contract(IED25519VERIFY_ADDRESS, IEd25519VerifyABI, provider); +const isPrecompileValid = await ed25519Contract.verify(messageHash, publicKeyBytes, rBytes, sBytes); +console.log(`Is the signature valid according to the smart contract? ${isPrecompileValid}`); + +////////////////////////////////////////////////////////////////////// +// Verify the signature for bad data using the precompile contract + +let brokenHashedMessageBytes = hashedMessageBytes; +brokenHashedMessageBytes[0] = (brokenHashedMessageBytes[0] + 1) % 0xff; +const brokenMessageHash = bytesToHex(brokenHashedMessageBytes); +console.log(`brokenMessageHash = ${brokenMessageHash}`); +const isPrecompileValidBadData = await ed25519Contract.verify(brokenMessageHash, publicKeyBytes, rBytes, sBytes); +console.log(`Is the signature valid according to the smart contract for broken data? ${isPrecompileValidBadData}`); + +////////////////////////////////////////////////////////////////////// +// Verify the bad signature for good data using the precompile contract + +let brokenR = r; +brokenR[0] = (brokenR[0] + 1) % 0xff; +rBytes = bytesToHex(r); +const isPrecompileValidBadSignature = await ed25519Contract.verify(messageHash, publicKeyBytes, rBytes, sBytes); +console.log(`Is the signature valid according to the smart contract for broken signature? ${isPrecompileValidBadSignature}`); } main().catch(console.error); function hexToBytes(hex) { - // Remove the '0x' prefix if it exists - if (hex.startsWith('0x')) { - hex = hex.slice(2); - } +// Remove the '0x' prefix if it exists +if (hex.startsWith('0x')) { +hex = hex.slice(2); +} - // Initialize the array - var bytes = new Uint8Array(hex.length / 2); +// Initialize the array +var bytes = new Uint8Array(hex.length / 2); - // Loop through each pair of characters - for (var i = 0; i < bytes.length; i++) { - // Convert the pair of characters to a byte - bytes[i] = parseInt(hex.substr(i * 2, 2), 16); - } +// Loop through each pair of characters +for (var i = 0; i < bytes.length; i++) { +// Convert the pair of characters to a byte +bytes[i] = parseInt(hex.substr(i \* 2, 2), 16); +} - return bytes; +return bytes; } function bytesToHex(bytes) { - // Initialize the hex string - var hex = []; - - // Loop through each byte - for (var i = 0; i < bytes.length; i++) { - // Convert each byte to a hex string and add it to the array - // Ensure it is two digits by padding with a zero if necessary - hex.push((bytes[i] >>> 4).toString(16)); - hex.push((bytes[i] & 0xF).toString(16)); - } - - // Join all hex string parts into one string - return '0x' + hex.join(''); +// Initialize the hex string +var hex = []; + +// Loop through each byte +for (var i = 0; i < bytes.length; i++) { +// Convert each byte to a hex string and add it to the array +// Ensure it is two digits by padding with a zero if necessary +hex.push((bytes[i] >>> 4).toString(16)); +hex.push((bytes[i] & 0xF).toString(16)); } + +// Join all hex string parts into one string +return '0x' + hex.join(''); +} + ```
      ## Example Output ``` + node ed25519-verify.js @polkadot/util has multiple versions, ensure that there is only one installed. Either remove and explicitly install matching versions or dedupe using your package manager. The following conflicting packages were found: - cjs 12.2.1 node_modules/@polkadot/keyring/node_modules/@polkadot/util/cjs - cjs 13.5.1 node_modules/@polkadot/util/cjs +cjs 12.2.1 node_modules/@polkadot/keyring/node_modules/@polkadot/util/cjs +cjs 13.5.1 node_modules/@polkadot/util/cjs messageHash = 0xd6ce89c7d4f347455c7dddf19b42e0357edd7587b73b81b384810253c3c3c8ff Signature: 0x35c3c28c3470ea348343cea4881bd353843236df73a04300261cb86411fe88a05a196842849eb1ef4335b1f171a70e74d2d4c8d3b71ad6a41b6fa48afec85b01 Is the signature valid? true @@ -179,4 +181,7 @@ Is the signature valid according to the smart contract? true brokenMessageHash = 0xd7ce89c7d4f347455c7dddf19b42e0357edd7587b73b81b384810253c3c3c8ff Is the signature valid according to the smart contract for broken data? false Is the signature valid according to the smart contract for broken signature? false -``` \ No newline at end of file + +``` + +``` diff --git a/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md index 0b5857d7cb..a4d9dab7e1 100644 --- a/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-localnet-with-metamask-wallet.md @@ -12,7 +12,8 @@ This page covers getting set up to use EVM on a locally deployed Bittensor block Consider first trying [EVM with Bittensor testnet](./evm-testnet-with-metamask-wallet.md). This allows you to try EVM without having to deploy a blockchain locally, but you will have to obtain testnet TAO by inquiring in discord, or by completing the [BTCLI playground](../btcli/btcli-playground)challenge to obtain testnet TAO. Key values: -- **EVM Subtensor Mainnet Chain ID:**: `964` (UTF-8 encoded TAO symbol) + +- **EVM Subtensor Mainnet Chain ID:**: `964` (UTF-8 encoded TAO symbol) - **EVM Subtensor Testnet Chain ID:**: `945` (UTF-8 encoded alpha character) - **Opentensor EVM-Bittensor GitHub repo with code examples:** https://github.com/opentensor/evm-bittensor/tree/main @@ -31,7 +32,7 @@ The bare local network doesn't have the Chain ID setup and it needs to be config adminUtils >> sudoSetEvmChainId ``` -## Step 3. Create a Metamask wallet +## Step 3. Create a Metamask wallet 1. If you don't already have it, [install Metamask wallet](https://metamask.io/download/) browser extension. 2. Create a new account. @@ -40,17 +41,17 @@ adminUtils >> sudoSetEvmChainId Follow the below steps: -1. Open Metamask Wallet extension on your browser. Click on the drop-down **Select a network** menu at the top left. -2. Click on **+ Add a Custom Network** button. +1. Open Metamask Wallet extension on your browser. Click on the drop-down **Select a network** menu at the top left. +2. Click on **+ Add a Custom Network** button. 3. Enter the following details: - - **Network name:** "Subtensor Local" - - **Default RPC URL:** http://localhost:9944/ - - **Chain ID:** `964` or `945`, depending on your setting in Step 2 - - **Currency symbol:** TAO -6. Click **Save**. -7. Click on **Select a network** again and switch to the Subtensor Local network. + - **Network name:** "Subtensor Local" + - **Default RPC URL:** http://localhost:9944/ + - **Chain ID:** `964` or `945`, depending on your setting in Step 2 + - **Currency symbol:** TAO +4. Click **Save**. +5. Click on **Select a network** again and switch to the Subtensor Local network. -With the above steps, you have successfully configured your Metamask wallet with the EVM localnet. +With the above steps, you have successfully configured your Metamask wallet with the EVM localnet. ## Step 5. Configure private key and RPC endpoint @@ -58,42 +59,42 @@ With the above steps, you have successfully configured your Metamask wallet with Before you proceed, make sure you finished the [Install](./install.md) step. ::: -In this step you will copy the private key from your Metamask wallet account and paste it into the configuration file in the repo. This step will ensure that you are not prompted with password each and every step as you run these tutorials. - +In this step you will copy the private key from your Metamask wallet account and paste it into the configuration file in the repo. This step will ensure that you are not prompted with password each and every step as you run these tutorials. 1. Navigate to the `examples` directory of the EVM-Bittensor repo: - ```bash - cd examples - ``` + ```bash + cd examples + ``` 2. Create `config.js` file by copying the `config-example.js` file: - ```bash - cp config-example.js config.js - ``` + ```bash + cp config-example.js config.js + ``` -3. On Metamask wallet extension, your wallet account will have a H160 account address, starting with the `0x` prefix (for example: `0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf`), and also your wallet account name. -4. Click on your wallet account name, which will open the drop-down menu. -5. Click on the ⋮ (three vertical dots, i.e., vertical ellipsis) next to the wallet account and select **Account details**. It will open a view with a QR code, your wallet account H160 address and a **Show private key** button. +3. On Metamask wallet extension, your wallet account will have a H160 account address, starting with the `0x` prefix (for example: `0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf`), and also your wallet account name. +4. Click on your wallet account name, which will open the drop-down menu. +5. Click on the **⋮** (three vertical dots, i.e., vertical ellipsis) next to the wallet account and select **Account details**. It will open a view with a QR code, your wallet account H160 address and a **Show private key** button. 6. Click on the **Show private key** button, enter the password. You will then see the private key for your wallet account. Copy this private key. -7. Paste this private key into `ethPrivateKey` string in your `config.js` file as shown below (mangled for security): - - ```javascript - const ethPrivateKey = "02c1c4112233snipsnipsnipgh933aca491e090e0b7xxyy1b124b86d9382b01a8"; - ``` - -8. Finally, edit the `module.exports` section of the `config.js` file to use the localnet URLs, as shown below: - ```javascript - module.exports = { - ethPrivateKey, - subSeed, - rpcUrl: rpcUrlLocal, - wsUrl: wsUrlLocal, - } - ``` - -Save the `config.js` file. Now your setup is ready to run the tutorials with EVM localnet. +7. Paste this private key into `ethPrivateKey` string in your `config.js` file as shown below (mangled for security): + + ```javascript + const ethPrivateKey = + "02c1c4112233snipsnipsnipgh933aca491e090e0b7xxyy1b124b86d9382b01a8"; + ``` + +8. Finally, edit the `module.exports` section of the `config.js` file to use the localnet URLs, as shown below: + ```javascript + module.exports = { + ethPrivateKey, + subSeed, + rpcUrl: rpcUrlLocal, + wsUrl: wsUrlLocal, + }; + ``` + +Save the `config.js` file. Now your setup is ready to run the tutorials with EVM localnet. ## Step 6 (Optional). Disable white list for contract deployment diff --git a/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md index 244ac83ed0..6aa1c37da7 100644 --- a/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-mainnet-with-metamask-wallet.md @@ -1,21 +1,21 @@ --- title: "EVM on Mainnet" --- + import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; # EVM on Mainnet -This page covers how to set up your Metamask wallet to use with the Mainnet (finney) on Bittensor. You must run this step before you can run other tutorials in this section. - +This page covers how to set up your Metamask wallet to use with the Mainnet (finney) on Bittensor. You must run this step before you can run other tutorials in this section. Key values: + - The **Bittensor Mainnet URL:** `https://lite.chain.opentensor.ai` - **EVM Subtensor Chain ID:** `964` (UTF-8 encoded TAO symbol) - **Opentensor EVM-Bittensor GitHub repo:** `https://github.com/opentensor/evm-bittensor/tree/main` - -## Step 1. Create a Metamask wallet +## Step 1. Create a Metamask wallet 1. If you don't already have it, [install Metamask wallet](https://metamask.io/download/) browser extension. 2. Create a new account. @@ -30,23 +30,23 @@ Open [Subtensor page on ChainList.org](https://chainlist.org/chain/964) and clic Add the Mainnet to Metamask from within the Metamask wallet. Follow the below steps: -1. Open Metamask Wallet extension on your browser. Click on the ⋮ (three vertical dots, i.e., vertical ellipsis) at the top right. -2. Select **Settings** from the drop-down menu. +1. Open Metamask Wallet extension on your browser. Click on the ⋮ (three vertical dots, i.e., vertical ellipsis) at the top right. +2. Select **Settings** from the drop-down menu. 3. Select **Networks** > **Add network**. 4. Click on **Add a network manually** at the bottom of the networks list. 5. Enter the following details: - - **Network name:** "Subtensor" - - **EVM RPC URL:** `https://lite.chain.opentensor.ai` - - **Chain ID:** `964` - - **Currency symbol:** TAO + - **Network name:** "Subtensor" + - **EVM RPC URL:** `https://lite.chain.opentensor.ai` + - **Chain ID:** `964` + - **Currency symbol:** TAO 6. Click **Save**. 7. Then click on **Switch network**. -With the above steps, you have successfully configured your Metamask wallet with the Mainnet. +With the above steps, you have successfully configured your Metamask wallet with the Mainnet. ## Step 3 Obtain TAO -We cannot provide you with specific advice for where/how to obtain TAO; however, if you need to transfer tokens to the account you created in MetaMask, use a site like https://snow-address-converter.netlify.app/ to convert your H160-format address (the one that starts with "0x") to substrate's SS58 version (starting with "5"). When sending TAO to your account from an account managed via substrate wallet applications and/or exchange accounts, use the SS58 version of the address as the destination. +We cannot provide you with specific advice for where/how to obtain TAO; however, if you need to transfer tokens to the account you created in MetaMask, use a site like https://snow-address-converter.netlify.app/ to convert your H160-format address (the one that starts with "0x") to substrate's SS58 version (starting with "5"). When sending TAO to your account from an account managed via substrate wallet applications and/or exchange accounts, use the SS58 version of the address as the destination. ## Step 4. Copy Metamask wallet private key into config @@ -54,28 +54,29 @@ We cannot provide you with specific advice for where/how to obtain TAO; however, Before you proceed, make sure you finished the [Install](./install.md) step. ::: -In this step you will copy the private key from your Metamask wallet account and paste it into the configuration file in the repo. This step will ensure that you are not prompted with password each and every step as you run these tutorials. - +In this step you will copy the private key from your Metamask wallet account and paste it into the configuration file in the repo. This step will ensure that you are not prompted with password each and every step as you run these tutorials. 1. Navigate to the `examples` directory of the EVM-Bittensor repo: - ```bash - cd examples - ``` + ```bash + cd examples + ``` 2. Create `config.js` file by copying the `config-example.js` file: - ```bash - cp config-example.js config.js - ``` + ```bash + cp config-example.js config.js + ``` -3. On Metamask wallet extension, your wallet account will have a H160 account address, starting with the `0x` prefix (for example: `0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf`), and also your wallet account name. -4. Click on your wallet account name, which will open the drop-down menu. -5. Click on the ⋮ (three vertical dots, i.e., vertical ellipsis) next to the wallet account and select **Account details**. It will open a view with a QR code, your wallet account H160 address and a **Show private key** button. +3. On Metamask wallet extension, your wallet account will have a H160 account address, starting with the `0x` prefix (for example: `0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf`), and also your wallet account name. +4. Click on your wallet account name, which will open the drop-down menu. +5. Click on the **⋮** (three vertical dots, i.e., vertical ellipsis) next to the wallet account and select **Account details**. It will open a view with a QR code, your wallet account H160 address and a **Show private key** button. 6. Click on the **Show private key** button, enter the password. You will then see the private key for your wallet account. Copy this private key. 7. Paste this private key into `ethPrivateKey` string in your `config.js` file as shown below (mangled for security): ```javascript -const ethPrivateKey = "02c1c4112233snipsnipsnipgh933aca491e090e0b7xxyy1b124b86d9382b01a8"; +const ethPrivateKey = + "02c1c4112233snipsnipsnipgh933aca491e090e0b7xxyy1b124b86d9382b01a8"; ``` -Save the `config.js` file. Now your setup is ready to run the tutorials with EVM Mainnet. + +Save the `config.js` file. Now your setup is ready to run the tutorials with EVM Mainnet. diff --git a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md index 0fac5f4edd..4144ed906e 100644 --- a/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md +++ b/docs/evm-tutorials/evm-testnet-with-metamask-wallet.md @@ -4,13 +4,11 @@ title: "EVM on Testnet" import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -import { CreatePartial } from "./_create-mm-wallet.mdx"; +import { CreatePartial } from "./\_create-mm-wallet.mdx"; # EVM on Testnet - -This page covers how to set up your Metamask wallet to use with the testnet on Bittensor. You must run this step before you can run other tutorials in this section. - +This page covers how to set up your Metamask wallet to use with the testnet on Bittensor. You must run this step before you can run other tutorials in this section. Key values: @@ -18,6 +16,8 @@ Key values: - **EVM Subtensor Chain ID:** `945` (UTF-8 encoded alpha character) - **Opentensor EVM-Bittensor GitHub repo:** `https://github.com/opentensor/evm-bittensor/tree/main` +## Create Wallet with MetaMask + ## Connect to EVM Testnet @@ -30,9 +30,11 @@ curl -X POST \ --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \ https://test.chain.opentensor.ai ``` + ```console {"jsonrpc":"2.0","id":1,"result":"0x460943"} ``` + ### Add testnet to Metamask Add the testnet to Metamask from within the Metamask wallet. Follow the below steps: diff --git a/docs/evm-tutorials/examples.md b/docs/evm-tutorials/examples.md index 21deed764a..1a1eaa7082 100644 --- a/docs/evm-tutorials/examples.md +++ b/docs/evm-tutorials/examples.md @@ -2,7 +2,7 @@ title: "Bittensor EVM: Examples and Precompiles" --- -import { InstallPartial } from "./_install.mdx"; +import { InstallPartial } from "./\_install.mdx"; # Bittensor EVM: Examples and Precompiles @@ -11,12 +11,11 @@ import { InstallPartial } from "./_install.mdx"; The following precompiled smart contracts are available on the Bittensor EVM. The source code can be found [on GitHub](https://github.com/opentensor/subtensor/blob/main/precompiles). -Code examples used throughout are provided by OTF, and come from [this repository.](https://github.com/opentensor/evm-bittensor/tree/main/examples). +Code examples used throughout this section are provided by the _Opentensor Foundation_ (_OTF_), and come from [this repository](https://github.com/opentensor/evm-bittensor/tree/main/examples). ## Examples - [Convert Ethereum (H160) Address to Substrate (SS58)](./convert-h160-to-ss58): Learn how to convert between H160 and SS58 address formats -- [Converting Between Ethereum and Substrate Addresses](./convert-h160-to-ss58): Learn how to convert between H160 and SS58 address formats ## Standard Ethereum Precompiles @@ -30,6 +29,8 @@ Code examples used throughout are provided by OTF, and come from [this repositor ## Bittensor-Specific Precompiles +The following list consists of Bittensor-specific precompiles with links to their respective documentation: + - [`Ed25519Verify`](./ed25519-verify-precompile.md): Verify Ed25519 signatures - [`BalanceTransfer`](./transfer-between-two-h160-accounts.md): Transfer TAO between accounts - [`StakingPrecompile`](./staking-precompile.md): Manage staking operations @@ -46,4 +47,3 @@ Code examples used throughout are provided by OTF, and come from [this repositor - [`SubnetPrecompile`](./subnet-precompile.md): Manage subnet operations - [`MetagraphPrecompile`](./metagraph-precompile.md): Interact with the metagraph - [`NeuronPrecompile`](./neuron-precompile.md): Manage neuron operations - diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index 2ec78378b5..75684fdac1 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -26,40 +26,47 @@ import { GrStakeholder } from "react-icons/gr"; # Bittensor EVM Smart Contracts A full ethereum virtual machine (EVM) runtime operates as an application layer on top of the Bittensor blockchain (Subtensor). This allows users to: + - deploy most EVM smart contracts on subtensor without changing the code, - interact with deployed smart contracts on the subtensor blockchain, and - access standard Ethereum JSON-RPC methods. -Bittensor EVM smart contracts are executed solely on the **Bittensor blockchain, *not* on the Ethereum blockchain.** +:::info +Bittensor EVM smart contracts are executed solely on the **Bittensor blockchain, _not_ on the Ethereum blockchain.** +::: See: + - [Examples and Precompiles](./examples.md) - [EVM on Testnet](./evm-testnet-with-metamask-wallet) - [EVM on Local Chain](./evm-localnet-with-metamask-wallet) - [EVM on Mainnet](./evm-mainnet-with-metamask-wallet) -- [OTF Blogpost: EVM on Bittensor](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) +- [Opentensor Foundation Blogpost: EVM on Bittensor](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) ## EVM and Subtensor wallets on the Bittensor blockchian Bittensor wallets are based on Polkadot-style ss58 addresses, whereas Ethereum uses h160 addresses. -The holder of a private key for an ss58 address based on the corresponding public key can sign transactions on any Bittensor chain for thataddress. Anyone who creates key-pairs using `btcli wallet`, for example, holds the private key and the corresponding seed phrase, and hence can sign Bittensor transactions for that wallet. +The holder of a private key for an ss58 address based on the corresponding public key can sign transactions on any Bittensor chain for that address. Anyone who creates key-pairs using `btcli wallet`, for example, holds the private key and the corresponding seed phrase, and hence can sign Bittensor transactions for that wallet. Similarly, creating an Ethereum wallet gives you control of the h160 private key for the corresponding public key. -It is a simple matter to [convert an h160 address to an ss58 address](./convert-h160-to-ss58), or vice versa, but this does *not* yield the corresponding private key. This means that if you create a wallet in Bittensor, you will not be able to sign Ethereum contracts with it, nor versa. +:::info +You can easily [convert an h160 address to an ss58 address](./convert-h160-to-ss58), or vice versa, but this does _not_ yield the corresponding private key. This means that if you create a wallet in Bittensor, you will not be able to sign Ethereum contracts with it, nor versa. +::: Hence, in the context of Bittensor EVM we can distinguish between: + - 'Bittensor wallets': created using the Bittensor tool chain and therefore able to sign transactions using Bittensor transaction clients (BTCLI and the Bittensor SDK), but not EVM smart contracts, on the Bittensor blockchain. - 'EVM wallets': created using an EVM client such as MetaMask and therefore able to sign EVM smart contracts, but not Subtensor extrinsics, on the Bittensor blockchain. - ## Ethereum vs Bittensor EVM smart contract runtime On the Ethereum network, nodes such as full nodes, validator nodes and archive nodes run the Ethereum Virtual Environment (EVM) run-time environment. Smart contracts operate under this EVM. See the below high-level diagram. -**Note that all operations performed by Bittensor EVM are executed solely on the Bittensor blockchain, not on the Ethereum blockchain.** - +:::info +Note that all operations performed by Bittensor EVM are executed solely on the Bittensor blockchain, not on the Ethereum blockchain. +::: - Date: Tue, 17 Jun 2025 21:22:34 +0100 Subject: [PATCH 078/303] docs: evm review done --- docs/evm-tutorials/convert-h160-to-ss58.md | 2 +- docs/evm-tutorials/install.md | 14 +-- .../transfer-from-metamask-to-ss58.md | 22 +++- docs/evm-tutorials/withdraw-from-alice.md | 111 ++++++++++-------- 4 files changed, 85 insertions(+), 64 deletions(-) diff --git a/docs/evm-tutorials/convert-h160-to-ss58.md b/docs/evm-tutorials/convert-h160-to-ss58.md index 4edbe1297e..9d83e00a13 100644 --- a/docs/evm-tutorials/convert-h160-to-ss58.md +++ b/docs/evm-tutorials/convert-h160-to-ss58.md @@ -25,7 +25,7 @@ In what follows, we'll create a wallet in Metamask and convert it's public key t ### Convert Address for Bittensor -Run the address conversion script by navigating to the `examples` folder and running the following command: +Run the `convert-address.js` script by navigating to the `examples` folder and running the following command: ```bash node convert-address.js diff --git a/docs/evm-tutorials/install.md b/docs/evm-tutorials/install.md index 100284c732..3b0f6a2594 100644 --- a/docs/evm-tutorials/install.md +++ b/docs/evm-tutorials/install.md @@ -4,7 +4,7 @@ title: "Install" # Install -Before you can run any EVM tutorials, you must install the dependencies. Follow the below steps: +Before you can run any EVM tutorials, you must install the dependencies. Follow the below steps: 1. Clone the Opentensor EVM-Bittensor GitHub repo: @@ -14,12 +14,12 @@ Before you can run any EVM tutorials, you must install the dependencies. Follow 2. Navigate to `evm-bittensor` directory: - ```bash - cd evm-bittensor - ``` + ```bash + cd evm-bittensor + ``` 3. Install the dependencies: - + ```bash - npm install - ``` \ No newline at end of file + yarn install + ``` diff --git a/docs/evm-tutorials/transfer-from-metamask-to-ss58.md b/docs/evm-tutorials/transfer-from-metamask-to-ss58.md index f7dafb7850..47fd6942a5 100644 --- a/docs/evm-tutorials/transfer-from-metamask-to-ss58.md +++ b/docs/evm-tutorials/transfer-from-metamask-to-ss58.md @@ -1,6 +1,7 @@ --- title: "Transfer TAO from Metamask to SS58 Address" --- + import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; @@ -15,14 +16,14 @@ In this tutorial you will learn how to transfer TAO from your Metamask wallet to - **Node.js** (v16 or later recommended) - **npm** or **yarn** -- [Clone the Bittensor EVM examples repo](./install.md) +- [Clone and install the Bittensor EVM examples repo](./install.md) - [Get set up for using EVM wallet on testnet](./evm-testnet-with-metamask-wallet) -- [Install](./install) the EVM-Bittensor repo, containing scripts and examples. - ## Option 1: Transfer using a Precompiled Contract -**Best for:** Most users. You do NOT need the private key or seed for your SS58 address. +:::tip +This is the best option for most users. You do NOT need the private key or seed for your SS58 address. +::: This option uses a precompiled contract to transfer TAO from your Metamask wallet to any SS58 address (coldkey or hotkey). @@ -41,22 +42,27 @@ Replace it with your own SS58 address: const destinationAddress = "5HgU7B3xfSfisR1A7wDMt7FHX5Uizj6xtWWHwhwJMZSrdN7y"; ``` - ### Run the transfer script +Run the `transfer.js` script by navigating to the `examples` folder and running the following command: + ```bash node transfer.js ``` :::tip 1 TAO = 1e18 In Bittensor EVM, 1 TAO is written as `1e18` (just like on Ethereum). For example, to send 0.5 TAO: + ```js const value = BigInt(0.5 * 1e18).toString(); ``` + ::: ### Run the withdraw script +Run the `withdraw.js` script by navigating to the `examples` folder and running the following command: + ```bash node withdraw.js ``` @@ -87,7 +93,9 @@ btcli wallet balance --ss58 5HgU7B3xfSfisR1A7wDMt7FHX5Uizj6xtWWHwhwJMZSrdN7y ## Option 2: Transfer using the `withdraw` Extrinsic in the Subtensor EVM Pallet -**Best for:** Advanced users. You WILL need the private key for your SS58 address. +:::tip +This option is best for advanced users. You WILL need the private key for your SS58 address. +::: This option uses the `withdraw` extrinsic in the EVM pallet, allowing you to transfer from an EVM address to an SS58 address using Polkadot.js Apps. @@ -105,6 +113,8 @@ const ss58Address = ""; ### Run the withdraw-address script +Run the `withdraw-address.js` script by navigating to the `examples` folder and running the following command: + ```bash node withdraw-address.js ``` diff --git a/docs/evm-tutorials/withdraw-from-alice.md b/docs/evm-tutorials/withdraw-from-alice.md index d2cd15ce9a..7fd9ecf975 100644 --- a/docs/evm-tutorials/withdraw-from-alice.md +++ b/docs/evm-tutorials/withdraw-from-alice.md @@ -2,8 +2,8 @@ title: "Withdraw TAO from Alice Account (Local Development)" --- -import { InstallPartial } from "./_install.mdx"; -import { CreatePartial } from "./_create-mm-wallet.mdx"; +import { InstallPartial } from "./\_install.mdx"; +import { CreatePartial } from "./\_create-mm-wallet.mdx"; # Withdraw TAO from Alice Account (Local Development) @@ -15,21 +15,25 @@ This page shows how to withdraw TAO to your wallet, using a transaction that req [Deploy a Subtensor Blockchain locally](../local-build/deploy) - ## Procedure -1. +### Create Wallet with MetaMask + + + +### Install the EVM Examples repo -1. + ### Configure your request -The withdraw.js script expects your configuration to be available in config.js. +The `withdraw.js` script in the `examples` folder expects your configuration to be available in config.js. Select the local configuration options for `rpcURL` and `wsUrl`. :::danger Handle your private keys with care. Do not commit them to Github. ::: + ``` // PROTECT YOUR PRIVATE KEYS WELL, NEVER COMMIT THEM TO GITHUB OR SHARE WITH ANYONE const ethPrivateKey = ; @@ -46,8 +50,11 @@ module.exports = { wsUrl: wsUrlLocal, } ``` + ### Run the script +Run the `withdraw.js` script by navigating to the `examples` folder and running the following command: + ```bash node withdraw.js ``` @@ -57,26 +64,28 @@ node withdraw.js - [EVM examples repo](https://github.com/opentensor/evm-bittensor) ```javascript -const { ethers } = require('ethers'); -const { ApiPromise, WsProvider, Keyring } = require('@polkadot/api'); -const { convertH160ToSS58 } = require('./address-mapping.js'); +const { ethers } = require("ethers"); +const { ApiPromise, WsProvider, Keyring } = require("@polkadot/api"); +const { convertH160ToSS58 } = require("./address-mapping.js"); // PROTECT YOUR PRIVATE KEYS WELL, NEVER COMMIT THEM TO GITHUB OR SHARE WITH ANYONE -const { ethPrivateKey, subSeed, rpcUrl, wsUrl } = require('./config.js'); +const { ethPrivateKey, subSeed, rpcUrl, wsUrl } = require("./config.js"); function sendTransaction(api, call, signer) { - return new Promise((resolve, reject) => { - let unsubscribed = false; - - const unsubscribe = call.signAndSend(signer, ({ status, events, dispatchError }) => { + return new Promise((resolve, reject) => { + let unsubscribed = false; + + const unsubscribe = call + .signAndSend(signer, ({ status, events, dispatchError }) => { const safelyUnsubscribe = () => { if (!unsubscribed) { unsubscribed = true; - unsubscribe.then(() => {}) - .catch(error => console.error('Failed to unsubscribe:', error)); + unsubscribe + .then(() => {}) + .catch((error) => console.error("Failed to unsubscribe:", error)); } }; - + // Check for transaction errors if (dispatchError) { let errout = dispatchError.toString(); @@ -94,45 +103,47 @@ function sendTransaction(api, call, signer) { safelyUnsubscribe(); resolve(status.asInBlock); } - }).catch((error) => { + }) + .catch((error) => { reject(error); }); - }); + }); } async function main() { - const wsProvider = new WsProvider(wsUrl); - const api = await ApiPromise.create({ provider: wsProvider }); - const keyring = new Keyring({ type: 'sr25519' }); - - const sender = keyring.addFromUri(subSeed); // Your sender's private key/seed - - // Get ethereum address that matches the private key from the secrets file - const provider = new ethers.JsonRpcProvider(rpcUrl); - const signer = new ethers.Wallet(ethPrivateKey, provider); - const recipientEthereumAddress = signer.address; - - const ss58Address = convertH160ToSS58(recipientEthereumAddress); - console.log(`Mirror: ${ss58Address}`); - // Amount to send: 1 TAO on Substrate side = 1*10^9 - const amount = "1000000000"; - - // Alice funds herself with 1M TAO - const txSudoSetBalance = api.tx.sudo.sudo( - api.tx.balances.forceSetBalance(sender.address, "1000000000000000") - ); - await sendTransaction(api, txSudoSetBalance, sender); - console.log('Balace force-set'); - - // Create a transfer transaction - const transfer = api.tx.balances.transferKeepAlive(ss58Address, amount); - - // Sign and send the transaction - await sendTransaction(api, transfer, sender); - console.log(`Transfer sent to ${recipientEthereumAddress} (its ss58 mirror address is: ${ss58Address})`); - await api.disconnect(); + const wsProvider = new WsProvider(wsUrl); + const api = await ApiPromise.create({ provider: wsProvider }); + const keyring = new Keyring({ type: "sr25519" }); + + const sender = keyring.addFromUri(subSeed); // Your sender's private key/seed + + // Get ethereum address that matches the private key from the secrets file + const provider = new ethers.JsonRpcProvider(rpcUrl); + const signer = new ethers.Wallet(ethPrivateKey, provider); + const recipientEthereumAddress = signer.address; + + const ss58Address = convertH160ToSS58(recipientEthereumAddress); + console.log(`Mirror: ${ss58Address}`); + // Amount to send: 1 TAO on Substrate side = 1*10^9 + const amount = "1000000000"; + + // Alice funds herself with 1M TAO + const txSudoSetBalance = api.tx.sudo.sudo( + api.tx.balances.forceSetBalance(sender.address, "1000000000000000") + ); + await sendTransaction(api, txSudoSetBalance, sender); + console.log("Balace force-set"); + + // Create a transfer transaction + const transfer = api.tx.balances.transferKeepAlive(ss58Address, amount); + + // Sign and send the transaction + await sendTransaction(api, transfer, sender); + console.log( + `Transfer sent to ${recipientEthereumAddress} (its ss58 mirror address is: ${ss58Address})` + ); + await api.disconnect(); } main().catch(console.error); - ``` From c3680267a65f7fc2d870fbb361971c2508c273b6 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 17 Jun 2025 21:37:17 +0100 Subject: [PATCH 079/303] doc: updated partial --- docs/evm-tutorials/_create-btcli-wallet.mdx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/evm-tutorials/_create-btcli-wallet.mdx b/docs/evm-tutorials/_create-btcli-wallet.mdx index 22300a5e47..d9b30b62fa 100644 --- a/docs/evm-tutorials/_create-btcli-wallet.mdx +++ b/docs/evm-tutorials/_create-btcli-wallet.mdx @@ -1,8 +1,11 @@ -import React from 'react'; +import React from "react"; + +/_ +Create Wallet with BTCLI +_/ export const CreateBtcliPartial = () => ( <> -

      Create Wallet with BTCLI

      1. Install BTCLI if you haven't already: @@ -28,5 +31,6 @@ export const CreateBtcliPartial = () => (
      2. Your coldkey address will start with "5" and is in SS58 format (for example: 5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty).
      + -); \ No newline at end of file +); From 42fc4218cf1491ca795e72f25d81dbbe539d60b1 Mon Sep 17 00:00:00 2001 From: Dera Okeke <63825182+chideraao@users.noreply.github.com> Date: Wed, 18 Jun 2025 12:38:14 +0100 Subject: [PATCH 080/303] Update docs/staking-and-delegation/delegation.md Co-authored-by: Michael Trestman --- docs/staking-and-delegation/delegation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/staking-and-delegation/delegation.md b/docs/staking-and-delegation/delegation.md index 4ef90dc2dc..6acd62b96d 100644 --- a/docs/staking-and-delegation/delegation.md +++ b/docs/staking-and-delegation/delegation.md @@ -22,7 +22,7 @@ Minimum required stake for nominators is 0.1 TAO. Staking is always local to a subnet. -Each subnet operates its own Automated Market Maker (AMM), meaning it mantains its own reserves of the two tokens being traded so that it can facilitate a trade of any desired quantity of liquidity (as long as its available), at a price that it automated calculates. +Each subnet operates its own automated market maker (AMM), meaning it mantains its own reserves of the two tokens being traded so that it can facilitate a trade of any desired quantity of liquidity (as long as its available), at a price that it automated calculates. Each subnet has a reserve of TAO and a reserve of its currency, referred to in general as its alpha ($\alpha$) currency. Stake is held in $\alpha$ token denominations. From 01ea188db8e89485665c46a94af6252cd560c54d Mon Sep 17 00:00:00 2001 From: Dera Okeke <63825182+chideraao@users.noreply.github.com> Date: Wed, 18 Jun 2025 12:38:26 +0100 Subject: [PATCH 081/303] Update docs/staking-and-delegation/delegation.md Co-authored-by: Michael Trestman --- docs/staking-and-delegation/delegation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/staking-and-delegation/delegation.md b/docs/staking-and-delegation/delegation.md index 6acd62b96d..9a6955f247 100644 --- a/docs/staking-and-delegation/delegation.md +++ b/docs/staking-and-delegation/delegation.md @@ -30,7 +30,7 @@ As a TAO holder, you will stake to a validator’s hotkey on a specific subnet. **When you stake:** -1. First, your TAO stake goes into the subnet's TAO reserve of its AMM (Automated Market Maker) pool. +1. First, your TAO stake goes into the subnet's TAO reserve of its AMM pool. 1. Then, the subnet's AMM pool algorithm uses the latest exchange rate and calculates the equivalent units of $\alpha$, for the TAO that was just added to the TAO reserve side. This amount of $\alpha$ is taken out of the alpha reserve of the pool and is sent to the validator’s hotkey. 1. The validator’s hotkey holds the $\alpha$. The sum of stake among all hotkeys is referred as **$\alpha$ outstanding** for that subnet. From 53fd81e3c97fe890be02e50483ff53d8a2fd8c4f Mon Sep 17 00:00:00 2001 From: Dera Okeke <63825182+chideraao@users.noreply.github.com> Date: Wed, 18 Jun 2025 12:38:46 +0100 Subject: [PATCH 082/303] Update docs/subnets/understanding-subnets.md Co-authored-by: Michael Trestman --- docs/subnets/understanding-subnets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/subnets/understanding-subnets.md b/docs/subnets/understanding-subnets.md index 28c901d3f5..1c99248f4b 100644 --- a/docs/subnets/understanding-subnets.md +++ b/docs/subnets/understanding-subnets.md @@ -34,7 +34,7 @@ style={{width: 600}} ## Subnet liquidity reserves -The key mechanism introduced with Dynamic TAO is that each subnet functions as its own _Automated Market Marker_ (_AMM_), with two liquidity reserves, one containing TAO($$\tau$$)—the currency of the Bittensor network, and one containing a subnet specific "dynamic" currency, referred to as that subnet's alpha ($$\alpha$$) token. The alpha token is purchased by staking TAO into the subnet's reserve, which is initialized with a negligible amount of liquidity (1e-9). +The key mechanism introduced with Dynamic TAO is that each subnet functions as its own _automated market maker_ (_AMM_), with two liquidity reserves, one containing TAO($$\tau$$)—the currency of the Bittensor network, and one containing a subnet specific "dynamic" currency, referred to as that subnet's alpha ($$\alpha$$) token. The alpha token is purchased by staking TAO into the subnet's reserve, which is initialized with a negligible amount of liquidity (1e-9). A subnet's economy therefore consists of three pools of currency: From 45f2101d2aee32dde22668dfab98ac72a11d99f3 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 18 Jun 2025 12:33:50 -0700 Subject: [PATCH 083/303] wip --- docs/yc3-blog.md | 142 ----------------------------------------------- sidebars.js | 1 - 2 files changed, 143 deletions(-) delete mode 100644 docs/yc3-blog.md diff --git a/docs/yc3-blog.md b/docs/yc3-blog.md deleted file mode 100644 index d63b8d08b4..0000000000 --- a/docs/yc3-blog.md +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: "How Yuma Consensus 3 Makes Bittensor More Fair" ---- - -# How Yuma Consensus 3 Makes Bittensor More Fair - -YC3 is the next evolution of Bittensor's consensus mechanism. It optimizes emissions to reward validators for recognizing innovation quickly. - -## Introduction: Understanding Yuma Consensus - -At the heart of every Bittensor subnet lies a fundamental challenge: how do you fairly distribute rewards for work, when that work can include a wide range of different digitial commodities or services? Bittensor approaches this as a distributed judgment problem: **Validators** serve as judges for the whole community, with trust in them being measured by the total stake they have been delegated. Their ratings of the performance of **miners** (who produce the commodities and services for each subnet) determine emissions to those miners. - -But how can we keep validators honest and hard-working to make sure that they do their best effort to accurately judge the miners? - -Yuma Consensus is Bittensor's solution. Validators continuously rank the quality of work done by miners in their subnet, with the rankings of validators being trusted in proportion to how much stake they have received from the community. Lazy or dishonest validators lose emissions for submitting inaccurate rankings, which is likely to cause the community to move their stake to more relabile validators. Hence the community's trust in a given validator, embodied as stake, is linked over time to the emissions earned by the miners that validator rates. Hence validators are kept honest and miners are kept working hard to produce the best commodities possible. - -But how does this work in detail? Each validator submits their rankings of miners they've evaluated. The algorithm then looks at all these rankings and tries to figure out which validators are giving the most reliable, honest evaluations. Validators who consistently make good predictions about which miners *other* validators will *eventually* recognize as the best, get *more* influence in the system. Meanwhile, validators give stale or otherwise inaccurate evaluations lose out. - -The system builds "bonds" between validators and miners over time. When a validator consistently recognizes a miner's good work, their bond with that miner strengthens, leading to better rewards for both parties. This creates a powerful incentive for validators to be diligent, honest, and forward-thinking in their evaluations. - -But the earlier versions of this system had some significant flaws—particularly when it came to rewarding validators who were ahead of the curve in recognizing promising miners, and ensuring fairness for validators with smaller stakes. Yuma Consensus 3 solves these problems. - -## The Evolution of Consensus - -The Yuma Consensus mechanism, which determines how emissions are distributed, has evolved through several iterations to address fairness concerns. - -### The Limitations of Earlier Versions - -#### Yuma Consensus V1 - -The first version of the algorithm distributed validator rewards based on stake and consensus weight, but had significant limitations: -- Small validators faced unfair rounding issues -- Limited mechanisms for recognizing early adopters of promising miners - -#### Yuma Consensus V2 - -The second version introduced a more sophisticated bonding mechanism with exponential moving averages, but still struggled with: -- Unfair penalties for small validators due to rounding errors -- Insufficient rewards for validators who recognized good miners early -- Uniform alpha parameters that didn't account for individual validator-miner relationships -- A serious bug in bond distribution, when validator participation changed dramatically. - -The last and most serious of these issues was that bonds were only redistributed when validators holding at least 50% of total stake cast votes for a given miner. This created a situation where: - -1. **Bonds would freeze** when validators stopped actively voting for a miner. -2. **Historical allocations persisted** for months, even when those validators were no longer evaluating the miner. -3. **New evaluators were locked out** until enough high-stake validators resumed voting. -4. **Unfair reward distribution** occurred when miners became relevant again - old bond holders received rewards despite not currently evaluating, while active evaluators received minimal bonds - -## Yuma Consensus V3 - -Yuma Consensus 3 addresses these fundamental issues with several breakthrough improvements: - -### Per-Bond EMA Scaling - -The most significant innovation in YC3 is that each validator-miner bond pair now gets its own adjustment rate (alpha value) rather than using a single rate for all bonds. This allows individual relationships to evolve at different speeds based on performance and consensus differences. - -When [Liquid Alpha is enabled](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L633-L640), the system calculates [individual alpha values](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1166-L1206) for each validator-miner pair using a [sigmoid function](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1274-L1302). When Liquid Alpha is disabled, it falls back to a [uniform alpha calculation](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1304-L1312) based on the bonds moving average parameter. - -### Fair Scaling for All Validators - -Bond values are computed using fixed-point arithmetic and then [converted to u16 for storage efficiency](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L859-L861), allowing precise fractional relationships while maintaining a 0-65535 storage scale. This fixes the disadvantages that plagued small-stake validators in previous versions. - -### Early Recognition Rewards - -Validators who identify promising miners before they become widely recognized can now start accumulating bonds early. This creates proper incentives for proactive evaluation rather than just following the crowd. - -The [alpha sigmoid function](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1274-L1302) calculates adjustment rates based on the difference between a validator's current weights and the network consensus. When a validator's weight for a miner differs significantly from consensus, the sigmoid determines whether to increase or decrease the bond adjustment rate, rewarding early recognition while preventing manipulation. - -## Understanding Bonds: The Key to Validator Rewards - -**Bonds** are the mechanism by which validators earn rewards for their evaluation work. Think of them as shares or stakes that validators accumulate with specific miners over time. - -Bonds held by a validator for a given miner, produce emissions in proportion to the strength of the bond and the emissions to the miner. See [source code.](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L712) - -**The Technical Implementation:** -1. **Storage**: Bonds are stored as [sparse matrices](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L948-L964) on a 0-65535 scale for efficiency -2. **Computation**: Each epoch, bonds are updated via [Exponential Moving Average (EMA)](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L651-L658) based on validator weights and previous bond values -3. **Rewards**: Validator dividends are computed by multiplying bonds with miner incentives - -**Mathematical Foundation:** Under the hood, bonds following the EMA equation. Here, $\Delta B_{ij}$ is the "instant bond" based on a validator's stake-weighted evaluation of a miner. - -$$ -B_{ij}^{(t)} = \alpha \,\Delta B_{ij} + (1-\alpha)\,B_{ij}^{(t-1)} -$$ - - -However, YC3's innovation is that α can now be different for each validator-miner pair rather than uniform across all bonds. The system also applies a bonds penalty factor β when validator weights exceed consensus, helping maintain anti-fraud protection. For the complete mathematical treatment, see the main article on [Yuma Consensus](./yuma-consensus.md#bonding-mechanics). - -### How Validators Acquire Bonds - -**In Yuma v2** (the problematic version): A validator needed to vote on a miner while at least 50% of validators were also voting for that miner. This meant early discoverers got locked out until big validators joined. - -**In Yuma v3**: Validators can [build bonds independently](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1108-L1127) through the EMA process. When Liquid Alpha is enabled, each validator-miner pair gets its own alpha value, allowing bonds to accumulate even when others haven't recognized the miner yet. - -### Liquid Alpha Integration - -YC3 works seamlessly with Liquid Alpha, providing additional rewards for validators who vote for -miners that aren't yet receiving votes from others. This further encourages independent evaluation -and early recognition. -YC3 integrates with Liquid Alpha when [specific conditions are met](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L633-L640): -1. Liquid Alpha must be enabled for the subnet -2. Consensus values must exist and contain non-zero values -3. The network must have sufficient activity - -When these conditions are satisfied, validators receive additional rewards for voting for miners that aren't yet receiving votes from others. If conditions aren't met, the system [falls back to traditional EMA bonding](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1108-L1115). - -### Enhanced EMA Smoothing - -The system maintains strong anti-fraud protection while providing smoother bond transitions. The adjustment rate is controlled by the [bonds moving average parameter](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1055-L1062), which can be configured up to 97.5% (meaning bonds change by 2.5% per epoch toward their target values). - -**Technical note:** The [EMA calculation](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1028) uses `alpha = 1 - (bonds_moving_average / 1_000_000)`, where bonds_moving_average is typically set to 975,000, resulting in approximately 2.5% adjustment per epoch. - -## The Real-World Impact - -YC3 creates a healthier ecosystem by encouraging validators to: - -- **Make independent evaluations** rather than copying popular validators -- **Recognize promising miners early** through differentiated bond adjustment rates -- **Maintain consistent evaluations** while being rewarded for good prediction accuracy -- **Participate meaningfully regardless of stake size** through fair scaling mechanisms - -This transformation means innovation and early recognition are properly rewarded, while maintaining the security and reliability that makes Bittensor networks trustworthy. - -## For Subnet Owners - -Yuma 3 works best in subnets where validators can independently evaluate miners and benefit from early recognition of promising innovations. The system distributes dividends more fairly than previous versions, and when combined with Liquid Alpha, provides powerful tools to encourage independent evaluation. - -YC3 can be [toggled per subnet](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L628) through governance mechanisms. The [alpha parameter controls](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1316-L1356) allow fine-tuning of the sigmoid steepness and adjustment ranges for your specific subnet needs. - -**Important considerations:** -- Liquid Alpha must be enabled to get full YC3 benefits -- The system requires active consensus formation to function optimally -- Bond reset functionality is available for subnets that need it - -## Looking Forward - -As Bittensor continues to grow, YC3 provides a solid foundation for fair and efficient consensus. The system's ability to reward early recognition while maintaining security makes it well-suited for the network's future development. - -For subnet owners ready to embrace more sophisticated consensus mechanisms, YC3 combined with Liquid Alpha provides a powerful toolkit for creating equitable and efficient subnet ecosystems. - -YC3 was introduced to the Subtensor Code base in [PR 1593](https://github.com/opentensor/subtensor/pull/1593). diff --git a/sidebars.js b/sidebars.js index 2fb8e6dbc0..52ef47294a 100644 --- a/sidebars.js +++ b/sidebars.js @@ -41,7 +41,6 @@ const sidebars = { "learn/anatomy-of-incentive-mechanism", "emissions", "yuma-consensus", - "yc3-blog" ], }, { From 49c36c8c1ad0a6c001f82ff1ba4c207fb0e12280 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 18 Jun 2025 21:41:56 +0100 Subject: [PATCH 084/303] updated error codes --- docs/errors/custom.md | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/docs/errors/custom.md b/docs/errors/custom.md index 0c655c24bd..725ad61b3c 100644 --- a/docs/errors/custom.md +++ b/docs/errors/custom.md @@ -10,75 +10,97 @@ These errors are returned in the format: ```json { - "code": 1010, - "message": "Invalid Transaction", - "data": "Custom error: [Error Code]" + "code": 1010, + "message": "Invalid Transaction", + "data": "Custom error: [Error Code]" } ``` -Related: -- [Source code in GitHub](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs#L1686) + +Related: + +- [Source code in GitHub](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs#L1840-L1855) - [Subtensor Standard Errors](./subtensor.md) - Bittensor's custom error codes -- [Substrate Errors](https://polkadot.js.org/docs/substrate/errors/) - Errors from the underlying Substrate framework +- [Substrate Errors](https://polkadot.js.org/docs/substrate/errors/) - Errors from the underlying Substrate framework ## Error Codes ### Error Code 0 + **Error**: `ColdKeyInSwapSchedule` **Description**: Your coldkey is set to be swapped. No transfer operations are possible. ### Error Code 1 + **Error**: `StakeAmountTooLow` **Description**: The amount you are staking/unstaking/moving is below the minimum TAO equivalent. **Minimum**: 500,000 RAO (0.0005 TAO) ### Error Code 2 + **Error**: `BalanceTooLow` **Description**: The amount of stake you have is less than you have requested. ### Error Code 3 + **Error**: `SubnetDoesntExist` **Description**: This subnet does not exist. ### Error Code 4 + **Error**: `HotkeyAccountDoesntExist` **Description**: Hotkey is not registered on Bittensor network. ### Error Code 5 + **Error**: `NotEnoughStakeToWithdraw` **Description**: You do not have enough TAO equivalent stake to remove/move/transfer, including the unstake fee. ### Error Code 6 + **Error**: `RateLimitExceeded` **Description**: Too many transactions submitted (other than Axon serve/publish extrinsic). ### Error Code 7 + **Error**: `InsufficientLiquidity` **Description**: The subnet's pool does not have sufficient liquidity for this transaction. ### Error Code 8 + **Error**: `SlippageTooHigh` **Description**: The slippage exceeds your limit. Try reducing the transaction amount. ### Error Code 9 + **Error**: `TransferDisallowed` **Description**: This subnet does not allow stake transfer. ### Error Code 10 + **Error**: `HotKeyNotRegisteredInNetwork` **Description**: The hotkey is not registered in the selected subnet. ### Error Code 11 + **Error**: `InvalidIpAddress` **Description**: Axon connection info cannot be parsed into a valid IP address. ### Error Code 12 + **Error**: `ServingRateLimitExceeded` **Description**: Rate limit exceeded for axon serve/publish extrinsic. ### Error Code 13 + **Error**: `InvalidPort` **Description**: Axon connection info cannot be parsed into a valid port. +### Error Code 14 + +**Error**: `ZeroMaxAmount` +**Description**: The executable amount must be greater than zero. + ### Error Code 255 + **Error**: `BadRequest` **Description**: Unclassified error. From ff99772ced3c40e0ead5ff6c3a81070f7bfa2227 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 18 Jun 2025 22:46:08 +0100 Subject: [PATCH 085/303] dtao updates --- docs/dynamic-tao/dtao-faq.md | 56 ++------- docs/dynamic-tao/dtao-guide.md | 114 ----------------- docs/subnets/understanding-subnets.md | 14 --- sidebars.js | 172 ++++++++++++-------------- 4 files changed, 91 insertions(+), 265 deletions(-) delete mode 100644 docs/dynamic-tao/dtao-guide.md diff --git a/docs/dynamic-tao/dtao-faq.md b/docs/dynamic-tao/dtao-faq.md index 0d5bb9f96e..67f5fa2b11 100644 --- a/docs/dynamic-tao/dtao-faq.md +++ b/docs/dynamic-tao/dtao-faq.md @@ -1,45 +1,15 @@ --- title: "Dynamic TAO FAQ" ---- +--- + import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -## Timing / Rollout - -### What is the rollout timeline for Dyanmic TAO? What determines the timing? - -Dynamic TAO was introduced by proposal, approved by senate vote, and deployed as an upgrade to Bittensor main network on February 13, 2025 after a year of research, development, and testing. - -Any subsequent modifications require a new proposal to be introduced to a new upgrade following the same process. - -### How will Dynamic TAO take effect? - -The state of the network as far as ledger balances and consensus power will not change immediately upon upgrade; it will occur gradually as subnet specific alpha tokens are emitted and staked into circulation. - -In Dynamic TAO, validator *weight*—a critical score that determines consensus power as well as the allocation of emissions—is determined by a combination of TAO and alpha token holdings. When Dynamic TAO is initiated, there will be no alpha in circulation, so validator's stake weights will be entirely determined by their share of TAO stake. - -But far more alpha than TAO is emitted into circulation every block. As a result, over time there will be more alpha relative to TAO in overall circulation, and the relative weight of a validator in a given subnet will depend more on their alpha stake share relative to their share of the TAO stake on Subnet Zero. - -In order to hasten the process of alpha gaining the majority of stake power in the network, the contribution of TAO stake to validator stake weight is reduced by a global parameter called *TAO weight*. Currently, this is planned to be **18%**, in order to achieve a weight parity between TAO and total alpha in approximately 100 days. - -See [Emissions](../emissions.md) - -
      - -
      - -
      +## General ### Will there be a cap on alpha currency? -Yes. There is a hard cap of 21 million for any subnet's alpha token, the same as for TAO itself. Alpha tokens follow a halving schedule as well. +Yes. There is a hard cap of 21 million for any subnet's alpha token, the same as for TAO itself. Alpha tokens follow a halving schedule as well. At the time of writing, 2 alpha tokens per subnet will be emitted each block, while only 1 TAO is emitted and shared across the whole network. @@ -49,23 +19,23 @@ At the time of writing, 2 alpha tokens per subnet will be emitted each block, wh Instead of staking TAO to a validator, in Dynamic TAO, you stake to a validator on a specific subnet. This can be either a mining subnet (most subnets) or the unique root subnet, a.k.a. Subnet Zero. -- When you stake on a mining subnet, you exchange TAO for a dynamic token, the *alpha* of the subnet on which the validator is working, and stake that into the validator's hotkey. +- When you stake on a mining subnet, you exchange TAO for a dynamic token, the _alpha_ of the subnet on which the validator is working, and stake that into the validator's hotkey. - When you stake on the root subnet, you stake TAO for TAO. Your emissions are TAO. ### What is the risk/reward profile of staking into a subnet? -Each new subnet has its own token, referred to as its alpha. When you stake into a validator within a given subnet, you exchange TAO for that subnet's alpha. When you unstake from the validator in that subnet, you exchange the alpha for TAO. Staking and unstaking is therefore sensitive to the price of the alpha. This price of a subnet's alpha is the ratio of TAO in its reserve to alpha in reserve. +Each new subnet has its own token, referred to as its alpha. When you stake into a validator within a given subnet, you exchange TAO for that subnet's alpha. When you unstake from the validator in that subnet, you exchange the alpha for TAO. Staking and unstaking is therefore sensitive to the price of the alpha. This price of a subnet's alpha is the ratio of TAO in its reserve to alpha in reserve. Staking TAO into a subnet essentially exchanges TAO for that subnet’s alpha token. To exit value, alpha must be exchanged back for TAO at the going rate. Held stake (alpha tokens) may increase or decrease in TAO value as the price of the alpha changes. ### How do emissions to root subnet/Subnet 0 stakers work? - -**Network-wide Impact**: Your stake contributes weight across all subnets where your validator operates. This means your stake extracts emissions from multiple subnets simultaneously. See [Validator stake weight](dtao-guide#validator-stake-weight) for more details. -**Proportional emission and TAO weight**: TAO and alpha are emitted to a validator's stakers in proportion to the validators' holdings in each token. See [Emission in Dynamic TAO: Extraction](../emissions.md#extraction) +**Network-wide Impact**: Your stake contributes weight across all subnets where your validator operates. This means your stake extracts emissions from multiple subnets simultaneously. See [Validator stake weight](../subnets/understanding-subnets.md#validator-stake-weight) for more details. + +**Proportional emission and TAO weight**: TAO and alpha are emitted to a validator's stakers in proportion to the validators' holdings in each token. See [Emission: Extraction](../emissions.md#extraction) ### Can users transfer alpha tokens (subnet tokens)? @@ -89,7 +59,6 @@ Subnet Zero is sometimes called the root subnet, since it sort of replaces the r The process of registering a subnet in Dynamic TAO will be very similar to the process of registering a submit previously, except that the cost to register the subnet is now burned, rather than being a lock cost returned to the subnet creator on de-registration. This is because subnets are not deregistered in Dynamic TAO. - ### What is the cost of creating a subnet? Subnet registration cost is dynamic. It doubles when a subnet is registered, and decreases at a slow rate such that the price halves after 38,880 blocks—roughly five and a half days. This implies that, if the demand for new subnets is steady, one should be created roughly every five and a half days. @@ -98,7 +67,7 @@ Subnet registration cost is dynamic. It doubles when a subnet is registered, and Each validator’s weight in the subnet is a function of the alpha staked to them on the subnet, plus the TAO staked to them in Subnet Zero, with the value of the TAO being multiplied by the TAO weight, which is between 0 and 1. -See [validator stake weight](./dtao-guide.md#walidator-stake-weight). +See [validator stake weight](../subnets/understanding-subnets.md#validator-stake-weight). ### What happens when a subnet is abandoned? @@ -112,7 +81,7 @@ Currently, the protocol does not automatically deregister subnets. Abandoned sub **No**. Emissions are calculated by protocol logic (e.g., in `run_coinbase.rs`) and are based on network-wide parameters. Subnet founders cannot arbitrarily print tokens—emission follows the same consistent rules across all subnets. -See [Emissions in Dynamic TAO](../emissions.md) +See [Emissions](../emissions.md) ### What happens to previously locked registration costs from pre-Dynamic-TAO subnets? @@ -130,6 +99,5 @@ Miners/validators may need to watch markets (token prices, volumes) to optimize ## Where can I find more technical details right now? -- Codebase: Refer to the Bittensor codebase, especially `run_coinbase.rs`, which calculates emissions logic for subnets and the root network. +- Codebase: Refer to the Bittensor codebase, especially `run_coinbase.rs`, which calculates emissions logic for subnets and the root network. - The [Dynamic TAO White Paper](https://drive.google.com/file/d/1vkuxOFPJyUyoY6dQzfIWwZm2_XL3AEOx/view) - diff --git a/docs/dynamic-tao/dtao-guide.md b/docs/dynamic-tao/dtao-guide.md deleted file mode 100644 index 6d5a1921e5..0000000000 --- a/docs/dynamic-tao/dtao-guide.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: "Core Dynamic TAO Concepts" ---- - -import ThemedImage from '@theme/ThemedImage'; -import useBaseUrl from '@docusaurus/useBaseUrl'; - -# Core Dynamic TAO Concepts - -Dynamic TAO is a recent evolution of the integrated tokenomic and governance model that underlies the Bittensor network. It represents a significant step in Bittensor's trajectory toward more thorough decentralization, by eliminating the centralized role of the root network in judging the value of subnetworks. Instead, in the Dynamic TAO model, the relative value of subnets is determined in a wholly distributed fashion: by the amount of TAO that users have staked into their currency reserves. - -## Subnet liquidity reserves - -The key mechanism introduced with Dynamic TAO is that each subnet functions as its own automated market marker (AMM), with two liquidity reserves, one containing TAO($$\tau$$)—the currency of the Bittensor network, and one containing a subnet specific "dynamic" currency, referred to as that subnet's alpha ($$\alpha$$) token. The alpha token is purchased by staking TAO into the subnet's reserve, which is initialized with a negligible amount of liquidity (1e-9). - -A subnet's economy therefore consists of three pools of currency: -- **Tao reserves**: the amount of tao ($$\tau$$) that has been staked into the subnet -- **Alpha reserves**: the amount of alpha ($$\alpha$$) available for purchase -- **Alpha outstanding**: the amount of alpha ($$\alpha$$) held in the hotkeys of a subnet's participants, also referred to as the total *stake* in the subnet - -:::tip Terminology: alpha tokens -Each subnet has its own currency with its own name, but in the abstract a given subnet's token is referred to as its $\alpha$ token. With a set of subnets in mind, we refer to $\alpha$ as the token for subnet $\alpha$, $$\beta$$ as the token for subnet $$\beta$$, $$\gamma$$ as the token for subnet $$\gamma$$, and so on. - -These subnet tokens contrast with TAO ($$\tau$$), the token of the Bittensor network as a whole. A subnet pool's reserve ratio (tao/alpha) determines the price of its alpha token. -::: -The *price* of a subnet's alpha token is determined by the ratio of TAO in that subnet's reserve to its alpha in reserve. Alpha currency that is not held in reserve but is which is held in the hotkeys of subnet participants is referred to as *alpha outstanding*. - -Run `btcli subnet list` with the Dynamic TAO-enabled `btcli` to view information about the subnets and their currency reserves on Bittensor testnet. - -```txt - ┃ ┃ Price ┃ Market Cap ┃ ┃ ┃ ┃ ┃ - Netuid ┃ Name ┃ (τ_in/α_in) ┃ (α * Price) ┃ Emission (τ) ┃ P (τ_in, α_in) ┃ Stake (α_out) ┃ Supply (α) ┃ Tempo (k/n) -━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━ - 0 │ τ root │ 1.00 τ/Τ │ τ 5.93m │ τ 0.0000 │ -, - │ Τ 5.93m │ 5.93m Τ /21M │ -/- - 3 │ γ templar │ 0.02 τ/γ │ τ 57.32 │ τ 0.0197 │ τ 31.44, 1.43k γ │ 1.18k γ │ 2.61k γ /21M │ 67/99 - 9 │ ι pretrain │ 0.02 τ/ι │ τ 55.38 │ τ 0.0194 │ τ 30.91, 1.46k ι │ 1.16k ι │ 2.61k ι /21M │ 73/99 - 1 │ α apex │ 0.02 τ/α │ τ 54.45 │ τ 0.0192 │ τ 30.65, 1.47k α │ 1.14k α │ 2.61k α /21M │ 65/99 - 2 │ β omron │ 0.02 τ/β │ τ 54.45 │ τ 0.0192 │ τ 30.65, 1.47k β │ 1.14k β │ 2.61k β /21M │ 66/99 - 4 │ δ targon │ 0.02 τ/δ │ τ 54.45 │ τ 0.0192 │ τ 30.65, 1.47k δ │ 1.14k δ │ 2.61k δ /21M │ 68/99 - ... -``` -See: [Using Dynamic TAO](./index.md#using-dynamic-tao) - -## Price/rate of alpha tokens - -### Ideal price -For each subnet, you'll see that *Price* (listed in the third column) is a function of TAO in reserve `τ_in` over alpha in reserve `α_in` - -$$ -Price = \frac{\tau_{in}}{\alpha_{in}} -$$ - -For example, if for subnet $\varepsilon$, its subnet pool contains TAO reserves of 1000 TAO units and its alpha reserves of 16000 $\varepsilon$ units, then the relative price of the $\varepsilon$ token is: - -$$ -R = \frac{\tau_{in}}{\alpha_{in}} = \frac{1000}{16000} = 0.0625 -$$ - -Hence, -$$ -\text{1 } \varepsilon = 0.0625 \text{ TAO} -$$ - -This exchange rate can change every block when staking or unstaking or emissions occur on this subnet. - -## Emission in Dynamic TAO - -Liquidity is steadily emitted into the Bittensor token economy according to an algorithm intended to foster growth while stabilizing prices and protecting them from manipulation. - -Each block: -- the chain emits TAO and injects it into the TAO reserves of the subnets. - -- the chain emits alpha tokens at twice the base alpha emission rate (which starts at 1 α/block and follows the same halving schedule as TAO). These emitted alpha tokens are allocoated between: - - the subnet's alpha reserve (increasing available liquidity) - - alpha outstanding (incentives for miners, validators, and subnet creators) - -See the main article: [Emissions](../emissions) - -## Decentralized evaluation of subnets - -The relative value or *weight* of subnets within Bittensor is critically important as it determines emissions to different subnets and their participant miners and validators. Prior to Dynamic TAO, relative weight among subnets within the Bittensor network is determined by Yuma Consensus over the evaluations of the Root Network validators. This gives a fundamentally centralizing role to the holders of Root Network validator keys. - -In Dynamic TAO, the relative weight is determined organically according to the emergent market value of the subnet, as represented by its stabilized token price. TAO-holders can stake TAO into subnets in exchange for the subnet-specific dynamic currency, referred to as the subnet's alpha ($$\alpha$$) token. In this way, stakers 'vote with their TAO' for the value of the subnet, determining the emissions to the validators and miners working in it. In return, stakers extract a share of the subnet's emissions. - -## Subnet Zero - -In Dynamic TAO, Subnet Zero—or *Root Subnet*—is a special subnet. It is the only subnet that does not have its own $\alpha$ currency. No miners can register on subnet zero, and no validation work is performed. However validators can register, and $\tau$-holders can stake to those validators, as with any other subnet. This offers a mechanism for $\tau$-holders to stake $\tau$ into validators in a subnet-agnostic way. This works because the weight of a validator in a subnet includes both their share of that subnet's $\alpha$ and their share of TAO staked into the root subnet. in Subnet Zero. - -Over time, the emissions generated by TAO staked into Subnet Zero will decrease, relative to stake held in the alpha currency of active subnets. See [Note on evolution of Bittensor token economy](../emissions#note-on-evolution-of-bittensor-token-economy). - -## Validator stake weight - -A validator's stake weight in a subnet equals their alpha stake plus their TAO stake times the `tao_weight` parameter: - -$$ - -\text{Validator stake weight} = \text{Alpha stake} (\alpha) + \text{TAO stake} (\tau) \times \text{TAO weight} - -$$ -:::tip -A validator's stake weight in Subnet Zero is simply their staked TAO. -::: - -A validator's relative stake weight (their stake weight over the total stake weight) in a subnet determines their voting power when evaluating miners, and determines their share of emissions. - -$$ - -\text{Validator x's relative stake weight} -= \frac{\alpha_x + \tau_x \times w_{\tau}} - {\displaystyle \sum_{v \in \text{validators}} - \bigl(\alpha_v + \tau_v \times w_{\tau}\bigr)} - -$$ - diff --git a/docs/subnets/understanding-subnets.md b/docs/subnets/understanding-subnets.md index 1c99248f4b..ea91f5d06e 100644 --- a/docs/subnets/understanding-subnets.md +++ b/docs/subnets/understanding-subnets.md @@ -95,20 +95,6 @@ This exchange rate can change every block when staking or unstaking or emissions -## Emissions in Dynamic TAO - -Liquidity is steadily emitted into the Bittensor token economy according to an algorithm intended to foster growth while stabilizing prices and protecting them from manipulation. - -Each block: - -- the chain emits TAO and injects it into the TAO reserves of the subnets. - -- the chain emits alpha tokens at twice the base alpha emission rate (which starts at 1 α/block and follows the same halving schedule as TAO). These emitted alpha tokens are allocated between: - - the subnet's alpha reserve (increasing available liquidity) - - alpha outstanding (incentives for miners, validators, and subnet creators) - -See the main article: [Emissions in Dynamic TAO](../emissions.md) - ## Decentralized evaluation of subnets The relative value or _weight_ of subnets within Bittensor is critically important as it determines emissions to different subnets and their participant miners and validators. Prior to Dynamic TAO, relative weight among subnets within the Bittensor network were determined by Yuma Consensus over the evaluations of the Root Network validators. This gives a fundamentally centralizing role to the holders of Root Network validator keys. diff --git a/sidebars.js b/sidebars.js index 2fb8e6dbc0..ef57b6f802 100644 --- a/sidebars.js +++ b/sidebars.js @@ -22,26 +22,26 @@ const sidebars = { // }, "index", { - type: 'doc', - id: 'bittensor-rel-notes', - label: 'Releases', + type: "doc", + id: "bittensor-rel-notes", + label: "Releases", }, "btcli/btcli-playground", { type: "category", label: "Understand Bittensor", - link: {type: "doc", id: "learn/introduction"}, + link: { type: "doc", id: "learn/introduction" }, collapsible: true, collapsed: true, items: [ "learn/introduction", "questions-and-answers", - "subnets/understanding-subnets", + "subnets/understanding-subnets", "learn/bittensor-building-blocks", "learn/anatomy-of-incentive-mechanism", "emissions", "yuma-consensus", - "yc3-blog" + "yc3-blog", ], }, { @@ -49,26 +49,24 @@ const sidebars = { label: "Staking/Delegation", collapsible: true, collapsed: true, - link: {type: "doc", id: "staking-and-delegation/delegation",}, + link: { type: "doc", id: "staking-and-delegation/delegation" }, items: [ - "staking-and-delegation/delegation", - "staking-and-delegation/stakers-btcli-guide", - "dynamic-tao/staking-unstaking-dtao", - "staking-and-delegation/managing-stake-btcli", - "staking-and-delegation/managing-stake-sdk", - "staking-and-delegation/staking-polkadot-js", - "staking-and-delegation/using-ledger-hw-wallet"], + "staking-and-delegation/delegation", + "staking-and-delegation/stakers-btcli-guide", + "dynamic-tao/staking-unstaking-dtao", + "staking-and-delegation/managing-stake-btcli", + "staking-and-delegation/managing-stake-sdk", + "staking-and-delegation/staking-polkadot-js", + "staking-and-delegation/using-ledger-hw-wallet", + ], }, { type: "category", label: "Mining", collapsible: true, collapsed: true, - link: {type: "doc", id: "miners/index",}, - items: [ - "miners/index", - "miners/miners-btcli-guide" - ], + link: { type: "doc", id: "miners/index" }, + items: ["miners/index", "miners/miners-btcli-guide"], }, { @@ -76,11 +74,11 @@ const sidebars = { label: "Validating", collapsible: true, collapsed: true, - link: {type: "doc", id: "validators/index",}, + link: { type: "doc", id: "validators/index" }, items: [ - "validators/index", - "subnets/child-hotkeys", - "validators/validators-btcli-guide" + "validators/index", + "subnets/child-hotkeys", + "validators/validators-btcli-guide", ], }, { @@ -98,63 +96,62 @@ const sidebars = { "tutorials/ocr-subnet-tutorial", ], }, - { - type: "category", - label: "BTCLI: The Bittensor CLI", - collapsible: true, - collapsed: true, - link: {type: "doc", id: "btcli/overview",}, - items: [ - "getting-started/install-btcli", - "btcli/btcli-playground", - "btcli-permissions", - "btcli", - "staking-and-delegation/managing-stake-btcli", - ] - }, - { - type: "category", - label: "Bittensor Python SDK", - collapsible: true, - collapsed: true, - items: [ - "getting-started/installation", - "sdk/env-vars", - "bt-api-ref", - "sdk/subtensor-api", - "getting-started/install-wallet-sdk", - "migration_guide", - "subnets/asyncio", - "sdk/managing-subtensor-connections", + { + type: "category", + label: "BTCLI: The Bittensor CLI", + collapsible: true, + collapsed: true, + link: { type: "doc", id: "btcli/overview" }, + items: [ + "getting-started/install-btcli", + "btcli/btcli-playground", + "btcli-permissions", + "btcli", + "staking-and-delegation/managing-stake-btcli", + ], + }, + { + type: "category", + label: "Bittensor Python SDK", + collapsible: true, + collapsed: true, + items: [ + "getting-started/installation", + "sdk/env-vars", + "bt-api-ref", + "sdk/subtensor-api", + "getting-started/install-wallet-sdk", + "migration_guide", + "subnets/asyncio", + "sdk/managing-subtensor-connections", + ], + }, - ] - }, - - { - type: "category", - label: "Wallets and Keys", - collapsible: true, - collapsed: true, - items: [ - "getting-started/wallets", - "keys/handle-seed-phrase", - "getting-started/coldkey-hotkey-security", - "working-with-keys", - "keys/multisig", - "subnets/schedule-coldkey-swap", - ] - }, + { + type: "category", + label: "Wallets and Keys", + collapsible: true, + collapsed: true, + items: [ + "getting-started/wallets", + "keys/handle-seed-phrase", + "getting-started/coldkey-hotkey-security", + "working-with-keys", + "keys/multisig", + "subnets/schedule-coldkey-swap", + ], + }, { type: "category", label: "Tools and Special Features", - link: {type: "doc", id: "tools",}, + link: { type: "doc", id: "tools" }, collapsible: true, collapsed: true, items: [ "bittensor-networks", "subnets/commit-reveal", - "subnets/consensus-based-weights", - "subnets/bt-logging-levels", + "subnets/consensus-based-weights", + "subnets/bt-logging-levels", "utilities", ], }, @@ -162,7 +159,7 @@ const sidebars = { { type: "category", label: "Local Development", - link: {type: "doc", id: "local-build/deploy",}, + link: { type: "doc", id: "local-build/deploy" }, collapsible: true, collapsed: true, items: [ @@ -173,11 +170,10 @@ const sidebars = { ], }, - -{ + { type: "category", label: "Subtensor Nodes", - link: {type: "doc", id: "subtensor-nodes/index",}, + link: { type: "doc", id: "subtensor-nodes/index" }, collapsible: true, collapsed: true, items: [ @@ -188,11 +184,11 @@ const sidebars = { "subtensor-nodes/subtensor-storage-query-examples", ], }, - + { type: "category", label: "EVM smart contracts on Bittensor", - link: {type: "doc", id: "evm-tutorials/index",}, + link: { type: "doc", id: "evm-tutorials/index" }, collapsible: true, collapsed: true, items: [ @@ -213,23 +209,15 @@ const sidebars = { label: "Governance", collapsible: true, collapsed: true, - items: [ - "governance", - "senate", - "governance/senators-btcli-guide" - ], - }, { + items: ["governance", "senate", "governance/senators-btcli-guide"], + }, + { type: "category", label: "Dynamic TAO", - link: {type: "doc", id: "dynamic-tao/index",}, + link: { type: "doc", id: "dynamic-tao/index" }, collapsible: true, collapsed: true, - items: [ - "dynamic-tao/dtao-guide", - "dynamic-tao/dtao-faq", - "dynamic-tao/sdk-cheat-sheet", - - ], + items: ["dynamic-tao/dtao-faq", "dynamic-tao/sdk-cheat-sheet"], }, { @@ -237,7 +225,7 @@ const sidebars = { label: "Errors and Troubleshooting", collapsible: true, collapsed: true, - link: {type: "doc", id: "errors/index",}, + link: { type: "doc", id: "errors/index" }, items: [ "errors/index", "errors/custom", @@ -247,9 +235,7 @@ const sidebars = { }, "media-assets", "glossary", - ], - }; module.exports = sidebars; From c126046cf9686cdcc98d947c0416693438a1eb14 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Mon, 23 Jun 2025 12:32:12 +0100 Subject: [PATCH 086/303] btcli-yuma-updates --- docs/btcli.md | 30 ++- docs/getting-started/install-btcli.md | 31 ++- .../managing-stake-btcli.md | 16 +- docs/subnets/subnet-hyperparameters.md | 194 +++++++++--------- 4 files changed, 159 insertions(+), 112 deletions(-) diff --git a/docs/btcli.md b/docs/btcli.md index cbd1bdb0cd..e26082f701 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -3307,44 +3307,50 @@ btcli stake [OPTIONS] COMMAND [ARGS]... ### `btcli stake add` -Stake TAO to one or more hotkeys on specific netuids with your coldkey. +Stake TAO to one or more hotkeys on specific or multiple netuids with your coldkey. -Stake is always added through your coldkey's free balance. For stake movement, see the `btcli stake move` command. +Stakes are always added through your coldkey's free balance. For stake movement, see the [`btcli stake move`](#btcli-stake-move) command. Common Examples: 1. Interactive staking (guided prompts): - ``` + ```sh btcli stake add ``` 2. Safe staking with rate tolerance of 10% with partial transaction disabled: - ``` + ```sh btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.1 --no-partial ``` 3. Allow partial stake if rates change with tolerance of 10%: - ``` + ```sh btcli stake add --amount 300 --safe --partial --tolerance 0.1 ``` 4. Unsafe staking with no rate protection: - ``` + ```sh btcli stake add --amount 300 --netuid 1 --unsafe ``` 5. Stake to multiple hotkeys: - ``` + ```sh btcli stake add --amount 200 --include-hotkeys hk_ss58_1,hk_ss58_2,hk_ss58_3 ``` -6. Stake all balance to a subnet: +6. Stake the same amount of TAO into multiple subnets: + + ```sh + btcli stake add -n 4,14,64 --amount 100 ``` + +7. Stake all balance to a subnet: + ```sh btcli stake add --all --netuid 3 ``` @@ -4044,7 +4050,13 @@ Common Examples: btcli stake add --amount 200 --include-hotkeys hk_ss58_1,hk_ss58_2,hk_ss58_3 ``` -6. Stake all balance to a subnet: +6. Stake the same amount of TAO into multiple subnets + + ```sh + btcli stake add -n 4,14,64 --amount 100 + ``` + +7. Stake all balance to a subnet: ``` btcli stake add --all --netuid 3 ``` diff --git a/docs/getting-started/install-btcli.md b/docs/getting-started/install-btcli.md index 7522143e1d..4d6921c24c 100644 --- a/docs/getting-started/install-btcli.md +++ b/docs/getting-started/install-btcli.md @@ -2,6 +2,9 @@ title: "Install BTCLI" --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + # Install BTCLI This page contains installation details for `btcli`, the Bittensor CLI. @@ -16,7 +19,10 @@ For a full developer reference, see the [Bittensor CLI reference document](../bt ## Install on macOS and Linux -### Install from Python Package Indexer +You can install the Bittensor CLI on macOS and Linux using any of the following methods: + + + Check for the latest release at the Python Package Index: [https://pypi.org/project/bittensor-cli/](https://pypi.org/project/bittensor-cli/). @@ -41,8 +47,26 @@ BTCLI version: 9.2.0 :::warning Update frequently! Check frequently to make sure you are using the latest version of `btcli`. ::: + + +To install the Bittensor CLI using Homebrew, run the following command in your terminal: + +```shell +brew install btcli +``` -### Install from source +Next, verify your installation and its version by running: + +```shell +btcli --version +``` + +:::warning Update frequently! +Check frequently to make sure you are using the latest version of `btcli`. +::: + + + 1. Create and activate a virtual environment. :::tip Create and activate a virtual environment @@ -78,6 +102,9 @@ Check frequently to make sure you are using the latest version of `btcli`. pip3 install . ``` + + + ## Install on Windows To install and run Bittensor SDK on Windows you must install [**WSL 2** (Windows Subsystem for Linux)](https://learn.microsoft.com/en-us/windows/wsl/about) on Windows and select [Ubuntu Linux distribution](https://github.com/ubuntu/WSL/blob/main/docs/guides/install-ubuntu-wsl2.md). diff --git a/docs/staking-and-delegation/managing-stake-btcli.md b/docs/staking-and-delegation/managing-stake-btcli.md index 8f093a7a14..5ff854856b 100644 --- a/docs/staking-and-delegation/managing-stake-btcli.md +++ b/docs/staking-and-delegation/managing-stake-btcli.md @@ -190,7 +190,21 @@ The columns are as follows: Would you like to continue? [y/n]: ``` -If you confirm, the staking operation will execute. After completion +If you confirm, the staking operation will execute. + +### Staking into multiple nodes + +You can also stake into multiple nodes by running the following command in your terminal: + +```shell +btcli stake add -n 4,14,70 +``` + +The command accepts a comma-separated list of the subnets you wish to stake into. If you want to stake the same amount of TAO into all subnets, you can include the `--amount` flag as shown: + +```shell +btcli stake add -n 4,14,70 --amount 100 +``` ## View your current stakes diff --git a/docs/subnets/subnet-hyperparameters.md b/docs/subnets/subnet-hyperparameters.md index ef1b8bbc99..a59cfdfafa 100644 --- a/docs/subnets/subnet-hyperparameters.md +++ b/docs/subnets/subnet-hyperparameters.md @@ -61,8 +61,10 @@ Using the specified network test from config alpha_high 58982 0.9000076295 alpha_low 45875 0.7000076295 liquid_alpha_enabled False False + yuma3_enabled False False + alpha_sigmoid_steepness 1000 0.0152590219 ──────────────────────────────────────────────────────────────────────── - ``` +``` :::tip @@ -118,7 +120,6 @@ The number of blocks for the stake to become inactive for the purpose of epoch i **Description**: `AdjustmentAlpha` is the rate at which difficulty and burn are adjusted up or down. - ### AdjustmentInterval **Type**: u16 @@ -135,12 +136,26 @@ The number of blocks for the stake to become inactive for the purpose of epoch i `AdjustmentInterval` is number of blocks that pass between difficulty and burn adjustments. So, I was wrong about "next block" when I said that if root sets difficulty outside of range, it will get back in range. Difficulty will get back in range at most after `AdjustmentInterval` blocks pass. +### AlphaSigmoidSteepness + +**Type**: u16 + +**Default**: 1000 + +**`btcli` setter**: `btcli sudo set --param alpha_sigmoid_steepness` + +**Setter extrinsic**: `sudo_set_alpha_sigmoid_steepness` + +**Permissions required to set**: Subnet Creator + +**Description**: +`AlphaSigmoidSteepness` determines how the consensus mechanism assigns an alpha value for a given miner-validator pair based on voting alignment. Lower steepness values result in moderate alpha values, while higher steepness values push alpha values closer to the defined `alpha_low` or `alpha_high` values. ### BondsMovingAverage -**Type**: +**Type**: -**Default**: +**Default**: **`btcli` setter**: bonds_moving_avg @@ -154,7 +169,6 @@ The moving average of bonds. The higher bonds yield to higher dividends for vali See [Yuma Consensus: bonding mechanics](../yuma-consensus#bonding-mechanics). - ### BondsPenalty **Type**: u16 @@ -166,6 +180,7 @@ See [Yuma Consensus: bonding mechanics](../yuma-consensus#bonding-mechanics). **Setter extrinsic**: `sudo_set_bonds_penalty` **Permissions required to set**: root + **Description**: @@ -173,11 +188,12 @@ The magnitude of the penalty subtracted from weights for exceeding consensus, fo See [Yuma Consensus: Penalizing out-of-consensus bonds](../yuma-consensus#penalizing-out-of-consensus-bonds). - ### CommitRevealPeriod -**Type**: u16 +**Type**: u16 + + **Default**: 1 **`btcli` setter**: `btcli sudo set --param commit_reveal_period` @@ -206,8 +222,7 @@ See [Commit Reveal](./commit-reveal) **Description**: - Enables [Commit Reveal](./commit-reveal) - +Enables [Commit Reveal](./commit-reveal) ### Difficulty @@ -217,7 +232,7 @@ See [Commit Reveal](./commit-reveal) **`btcli` setter**: none -**Setter extrinsic**: `sudo_set_difficulty` +**Setter extrinsic**: `sudo_set_difficulty` **Permissions required to set**: Root @@ -227,17 +242,15 @@ Current dynamically computed value for the proof-of-work (POW) requirement for P - ### ImmunityPeriod - **Type**: u16 **Default**: 5000 **`btcli` setter**: yes -**Setter extrinsic**: `sudo_set_immunity_period` +**Setter extrinsic**: `sudo_set_immunity_period` **Permissions required to set**: Subnet creator @@ -245,13 +258,11 @@ Current dynamically computed value for the proof-of-work (POW) requirement for P The number of blocks after registration when a miner is protected from deregistration - ### Kappa - **Type**: u16 -**Default**: 32767 ( or approximately 0.5 normalized ) +**Default**: 32767 ( or approximately 0.5 normalized ) **`btcli` setter**: yes @@ -263,8 +274,6 @@ The number of blocks after registration when a miner is protected from deregistr The consensus majority ratio: The weights set by validators who have lower normalized stake than Kappa are not used in calculating consensus, which affects ranks, which affect incentives. - - the consensus threshold for bond-clipping during [Yuma Consensus](../yuma-consensus) ### LiquidAlphaEnabled @@ -283,12 +292,8 @@ the consensus threshold for bond-clipping during [Yuma Consensus](../yuma-consen Enables the [liquid alpha ](./consensus-based-weights) feature. - - - ### MaxAllowedValidators - **Type**: u16 **Default**: 64 @@ -303,7 +308,6 @@ Enables the [liquid alpha ](./consensus-based-weights) feature. Maximum validators on a subnet. - ### MaxBurn **Type**: u64 @@ -319,7 +323,6 @@ Maximum validators on a subnet. **Description**: The maximum of the dynamic range for TAO cost of burn registration on the subnet. - ### MaxDifficulty @@ -329,7 +332,7 @@ The maximum of the dynamic range for TAO cost of burn registration on the subnet **`btcli` setter**: `btcli sudo set --param min_difficulty` -**Setter extrinsic**: +**Setter extrinsic**: **Permissions required to set**: Subnet creator @@ -353,10 +356,8 @@ The maximum of the dynamic range for difficulty of proof-of-work registration on Maximum neuron registrations per block. Note: Actual limit may be lower, as there is also per interval limit `TargetRegistrationsPerInterval`. - ### MaxWeightsLimit - **Type**: u16 **Default**: 65535 @@ -386,7 +387,6 @@ Minimum number of weights for a validator to set when setting weights. ### MinBurn - **Type**: u64 **Default**: 500000 normalized to 0.0005(τ) @@ -396,7 +396,7 @@ Minimum number of weights for a validator to set when setting weights. **Setter extrinsic**: `sudo_set_min_burn` **Permissions required to set**: Subnet creator - + **Description**: The minimum of the range of the dynamic burn cost for registering on the subnet. @@ -435,17 +435,15 @@ The minimum of the range of the proof-of-work for registering on the subnet `NetworkPowRegistrationAllowed` is a flag that toggles PoW registrations on a subnet - ### NetworkRateLimit - **Type**: u64 **Default**: 7200 **`btcli` setter**: none -**Setter extrinsic**: +**Setter extrinsic**: **Permissions required to set**: root @@ -453,7 +451,6 @@ The minimum of the range of the proof-of-work for registering on the subnet Rate limit for network registrations expressed in blocks - ### NetworkRegistrationAllowed **Type**: Boolean @@ -462,7 +459,7 @@ Rate limit for network registrations expressed in blocks **`btcli` setter**: `btcli sudo set --param registration_allowed` -**Setter extrinsic**: `sudo_set_network_registration_allowed` +**Setter extrinsic**: `sudo_set_network_registration_allowed` **Permissions required to set**: Subnet creator @@ -470,18 +467,15 @@ Rate limit for network registrations expressed in blocks `NetworkRegistrationAllowed` determines if burned registrations are allowed. If both burned and pow registrations are disabled, the subnet will not get emissions. - - ### Rho - **Type**: u16 **Default**: 10 **`btcli` setter**: yes -**Setter extrinsic**: `sudo_set_rho` +**Setter extrinsic**: `sudo_set_rho` **Permissions required to set**: Subnet creator @@ -493,14 +487,13 @@ Deprecated. ### ServingRateLimit - **Type**: u16 **Default**: 50 -**`btcli` setter**: +**`btcli` setter**: -**Setter extrinsic**: `sudo_set_serving_rate_limit` +**Setter extrinsic**: `sudo_set_serving_rate_limit` **Permissions required to set**: Subnet creator @@ -508,10 +501,8 @@ Deprecated. Rate limit for calling `serve_axon` and `serve_prometheus` extrinsics used by miners. - ### TargetRegistrationsPerInterval - **Type**: u16 **Default**: 1 @@ -526,7 +517,6 @@ Rate limit for calling `serve_axon` and `serve_prometheus` extrinsics used by mi Maximum number of neuron registrations allowed per interval. Interval is `AdjustmentInterval` - ### Tempo **Type**: u16 @@ -546,14 +536,13 @@ See [Emission](../emissions.md) ### ToggleTransfer - **Type**: Boolean **Default**: True **`btcli` setter**: none -**Setter extrinsic**: `sudo_set_toggle_transfer` +**Setter extrinsic**: `sudo_set_toggle_transfer` **Permissions required to set**: Subnet creator @@ -587,7 +576,7 @@ If the version key specified in `set_weights` extrinsic is lower than this syste **`btcli` setter**: `btcli sudo set --param weights_rate_limit` -**Setter extrinsic**: +**Setter extrinsic**: **Permissions required to set**: Root @@ -595,6 +584,22 @@ If the version key specified in `set_weights` extrinsic is lower than this syste How long, in blocks, a validator must wait between weight commits on a subnet. +### Yuma3On + +**Type**: Bool + +**Default**: False + +**`btcli` setter**: `btcli sudo set --param yuma3_enabled` + +**Setter extrinsic**: `sudo_set_yuma3_enabled` + +**Permissions required to set**: Subnet Creator + +**Description**: + +Determines if the Yuma Consensus 3 mechanism is applied to the subnet. + ## Global/Root State Variables The following variables are global and/or can only be configured with `root` permissions, which are held by a triumvirate of Opentensor Foundation employees. They are listed here for reference. @@ -603,7 +608,7 @@ The following variables are global and/or can only be configured with `root` per **Type**: u12 -**Default**: +**Default**: **`btcli` setter**: no @@ -617,75 +622,72 @@ The duration in blocks of the waiting period before a coldkey swap. See [Rotate/Swap your Coldkey](./schedule-coldkey-swap) + -### Issuance +### DissolveNetworkScheduleDuration -**Type**: u64 +Deprecated -**Description**: -Refers to total issuance, the amount of TAO in circulation. +### EmissionValue +**Description**: -### LockReductionInterval +Deprecated. replaced with SubnetAlphaInEmission, SubnetAlphaOutEmission, and SubnetTaoInEmission. +### EvmChainId -**Type**: u64 +**Permissions required to set**: root -**Default**: 14 * 7200 +**Description**: -**`btcli` setter**: +The Chain ID. `945` for Bittensor mainnet, a.k.a. Finney. -**Setter extrinsic**: +### Issuance -**Permissions required to set**: root +**Type**: u64 **Description**: +Refers to total issuance, the amount of TAO in circulation. -The number of blocks that need to pass in order for the network lock cost to half. - -`sudo_set_lock_reduction_interval`| root - +### LockReductionInterval +**Type**: u64 -### NetworkMinLockCost +**Default**: 14 \* 7200 -**`btcli` setter**: none +**`btcli` setter**: -**Setter extrinsic**: `sudo_set_network_min_lock_cost` +**Setter extrinsic**: **Permissions required to set**: root **Description**: -`NetworkMinLockCost` is the minimum TAO to pay for subnet registration - -### StakeThreshold - +The number of blocks that need to pass in order for the network lock cost to half. -**Type**: u12 +`sudo_set_lock_reduction_interval`| root -**Default**: 1000 +### NetworkMinLockCost **`btcli` setter**: none -**Setter extrinsic**: `sudo_set_stake_threshold` +**Setter extrinsic**: `sudo_set_network_min_lock_cost` **Permissions required to set**: root **Description**: -The minimum stake required for validating. Currently 1000 +`NetworkMinLockCost` is the minimum TAO to pay for subnet registration ### TxDelegateTakeRateLimit - **Type**: u64 **Default**: 216000 -**`btcli` setter**: +**`btcli` setter**: -**Setter extrinsic**: +**Setter extrinsic**: **Permissions required to set**: root @@ -693,30 +695,8 @@ The minimum stake required for validating. Currently 1000 Rate limit of how frequently can a delegate take be increased - - -### DissolveNetworkScheduleDuration - -Deprecated - -### EmissionValue - -**Description**: - -Deprecated. replaced with SubnetAlphaInEmission, SubnetAlphaOutEmission, and SubnetTaoInEmission. - -### EvmChainId - -**Permissions required to set**: root - -**Description**: - -The Chain ID. `945` for Bittensor mainnet, a.k.a. Finney. - - ### TxRateLimit - **Type**: u64 **Default**: 1000 @@ -731,16 +711,30 @@ The Chain ID. `945` for Bittensor mainnet, a.k.a. Finney. Rate limit for `swap_hotkey` extrinsic. - ### SubnetOwnerCut **`btcli` setter**: none **Setter extrinsic**: `sudo_set_subnet_owner_cut` -**Permissions required to set**: root +**Permissions required to set**: root **Description**: The ratio of all subnet alpha emissions that is given to subnet owner as stake. (Global, fixed at 18%.) +### StakeThreshold + +**Type**: u12 + +**Default**: 1000 + +**`btcli` setter**: none + +**Setter extrinsic**: `sudo_set_stake_threshold` + +**Permissions required to set**: root + +**Description**: + +The minimum stake required for validating. Currently 1000 From 23daacfbcea4fedb20b87931300d3783f2a0cf3f Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Mon, 23 Jun 2025 20:05:36 +0100 Subject: [PATCH 087/303] docs: fixed broken links --- docs/dynamic-tao/index.md | 11 +++++------ docs/root-network.md | 15 +++++++-------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/docs/dynamic-tao/index.md b/docs/dynamic-tao/index.md index ecc2c39d9d..523a6c37ef 100644 --- a/docs/dynamic-tao/index.md +++ b/docs/dynamic-tao/index.md @@ -13,8 +13,6 @@ It was introduced by proposal, approved by senate vote, and introduced as an upg See the [Dynamic TAO White Paper](https://drive.google.com/file/d/1vkuxOFPJyUyoY6dQzfIWwZm2_XL3AEOx/view) for a full explanation. -See: [Conceptual guide to Dynamic TAO](./dtao-guide.md) - ## What to expect with Dynamic TAO Most operations will remain unchanged, including the main workflows for miners (e.g., registering on subnets) and validators (e.g., setting weights on miners). @@ -31,18 +29,19 @@ The changes to `btcli` and the Bittensor SDK are not backwards compatible. To use Dynamic TAO, make sure you upgrade to the most recent stable versions of the Bittensor SDK and `btcli`. See: + - [Bittensor SDK release page](https://pypi.org/project/bittensor/) - [Bittensor CLI release page](https://pypi.org/project/bittensor-cli/) - [Upgrade the Bittensor SDK](../getting-started/installation.md#upgrade) - ### Subnet tokens/liquidity pools The most visible difference introduced with Dynamic TAO is the addition of one new token per subnet in the Bittensor network. Run `btcli subnet list` to view information about the subnets and their currency reserves: -For example: +For example: + ```txt Subnets Network: rao @@ -60,6 +59,6 @@ For example: ... ``` -### Gradual impact on consensus dynamics +### Gradual impact on consensus dynamics -The rollout of Dynamic TAO is calculated to have a gradual impact. When Dynamic TAO is first released, the weight of all validators (in terms of stake) will remain unchanged, because a biasing variable known as *TAO weight*, which controls the relative weight of TAO and alpha currencies, will heavily favor TAO—which currently has 100% weight since alpha currencies don't exist. Over time (an estimated 100 days), this *TAO Weight* will shift to favor alpha currencies over TAO. +The rollout of Dynamic TAO is calculated to have a gradual impact. When Dynamic TAO is first released, the weight of all validators (in terms of stake) will remain unchanged, because a biasing variable known as _TAO weight_, which controls the relative weight of TAO and alpha currencies, will heavily favor TAO—which currently has 100% weight since alpha currencies don't exist. Over time (an estimated 100 days), this _TAO Weight_ will shift to favor alpha currencies over TAO. diff --git a/docs/root-network.md b/docs/root-network.md index aed1e399a5..1c2a2a4a3c 100644 --- a/docs/root-network.md +++ b/docs/root-network.md @@ -6,16 +6,15 @@ title: "Root Network" :::tip -The Root Network no longer is in operation, so this doc is a kind of historical artifact. The Root Network was decommisioned with the [Dynamic TAO](./dynamic-tao/dtao-guide.md) upgrade in February 2025 +The Root Network no longer is in operation, so this doc is a kind of historical artifact. The Root Network was decommisioned with the [Dynamic TAO](./dynamic-tao) upgrade in February 2025 ::: - The root network was a special kind of subnet. The root network has the `netuid` of 0. -**Root network validators**: The largest 64 subnet validators, in terms of their stake, from amongst all the subnet validators in all the active subnets in the Bittensor network, were, by default, the validators in the root network. +**Root network validators**: The largest 64 subnet validators, in terms of their stake, from amongst all the subnet validators in all the active subnets in the Bittensor network, were, by default, the validators in the root network. + +**Root network miners**: There were no network miners in the root network. Instead, the subnets take their place. The 64 root network validators set the weights for all these subnets. -**Root network miners**: There were no network miners in the root network. Instead, the subnets take their place. The 64 root network validators set the weights for all these subnets. - -:::tip Root network weights determined emissions -Prior to Dynamic TAO, these root network weights for the subnets determined emissions for the subnets. -::: \ No newline at end of file +:::tip Root network weights determined emissions +Prior to Dynamic TAO, these root network weights for the subnets determined emissions for the subnets. +::: From 1ced8dd23d154c29bfde0c7bbc71729d4493ade0 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 23 Jun 2025 12:31:00 -0700 Subject: [PATCH 088/303] wip --- docs/evm-tutorials/staking-precompile.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/evm-tutorials/staking-precompile.md b/docs/evm-tutorials/staking-precompile.md index 6d9c3af8a9..0fabbf9644 100644 --- a/docs/evm-tutorials/staking-precompile.md +++ b/docs/evm-tutorials/staking-precompile.md @@ -16,10 +16,8 @@ In this tutorial you will learn how to interact with staking precompile in two w ## Prerequisites -1. Read [EVM on Subtensor](./) for a basic introduction to Bittensor EVM +1. Read [Bittensor EVM Smart Contracts](./) for a basic introduction to Bittensor EVM 1. You should also be comfortable using [Remix IDE](https://remix.ethereum.org/). -1. Read [EVM on Subtensor](./evm-on-subtensor.md) for a basic understanding of what an ABI is and how to use it. - ## Setup EVM localnet, subnet and delegate From 5c88ce4e2466026786664110710ade151053adc4 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 23 Jun 2025 12:32:49 -0700 Subject: [PATCH 089/303] wip --- docs/subnets/subnet-hyperparameters.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/subnets/subnet-hyperparameters.md b/docs/subnets/subnet-hyperparameters.md index ef1b8bbc99..2f2113c09e 100644 --- a/docs/subnets/subnet-hyperparameters.md +++ b/docs/subnets/subnet-hyperparameters.md @@ -133,8 +133,7 @@ The number of blocks for the stake to become inactive for the purpose of epoch i **Description**: -`AdjustmentInterval` is number of blocks that pass between difficulty and burn adjustments. So, I was wrong about "next block" when I said that if root sets difficulty outside of range, it will get back in range. Difficulty will get back in range at most after `AdjustmentInterval` blocks pass. - +`AdjustmentInterval` is number of blocks that pass for difficulty and burn adjustments. ### BondsMovingAverage From 3f779ec48a47462a2ff907721eb721b0efd731ab Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 24 Jun 2025 12:34:20 +0100 Subject: [PATCH 090/303] docs: minor fixes --- docs/subnets/understanding-subnets.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/subnets/understanding-subnets.md b/docs/subnets/understanding-subnets.md index ea91f5d06e..ecf7f7c051 100644 --- a/docs/subnets/understanding-subnets.md +++ b/docs/subnets/understanding-subnets.md @@ -95,6 +95,20 @@ This exchange rate can change every block when staking or unstaking or emissions +## Subnet Emissions + +Liquidity is steadily emitted into the Bittensor token economy according to an algorithm intended to foster growth while stabilizing prices and protecting them from manipulation. + +Each block: + +- the chain emits TAO and injects it into the TAO reserves of the subnets. + +- the chain emits alpha tokens at twice the base alpha emission rate (which starts at 1 α/block and follows the same halving schedule as TAO). These emitted alpha tokens are allocated between: + - the subnet's alpha reserve (increasing available liquidity) + - alpha outstanding (incentives for miners, validators, and subnet creators) + +See [Emissions](../emissions.md). + ## Decentralized evaluation of subnets The relative value or _weight_ of subnets within Bittensor is critically important as it determines emissions to different subnets and their participant miners and validators. Prior to Dynamic TAO, relative weight among subnets within the Bittensor network were determined by Yuma Consensus over the evaluations of the Root Network validators. This gives a fundamentally centralizing role to the holders of Root Network validator keys. From e0ecd70c09a407f0eb22672a6a055cfa07114206 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 24 Jun 2025 12:37:31 +0100 Subject: [PATCH 091/303] docs: minor fixes --- docs/subnets/understanding-subnets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/subnets/understanding-subnets.md b/docs/subnets/understanding-subnets.md index ecf7f7c051..1601efc2fb 100644 --- a/docs/subnets/understanding-subnets.md +++ b/docs/subnets/understanding-subnets.md @@ -95,7 +95,7 @@ This exchange rate can change every block when staking or unstaking or emissions -## Subnet Emissions +## Emissions in Bittensor Liquidity is steadily emitted into the Bittensor token economy according to an algorithm intended to foster growth while stabilizing prices and protecting them from manipulation. From 078350a0b45ca781eaf98e45f503a754ac1f60e7 Mon Sep 17 00:00:00 2001 From: HudsonGraeme Date: Tue, 24 Jun 2025 15:35:46 +0000 Subject: [PATCH 092/303] Update consensus based weights CLI args --- docs/subnets/consensus-based-weights.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/subnets/consensus-based-weights.md b/docs/subnets/consensus-based-weights.md index 4deb41c0fd..ce0577921a 100644 --- a/docs/subnets/consensus-based-weights.md +++ b/docs/subnets/consensus-based-weights.md @@ -185,7 +185,7 @@ For example, if you want to set a new value to `alpha_low` but do not want to ch **Syntax** ```bash -btcli sudo set hyperparameters --netuid --param liquid_alpha_enabled --value or +btcli sudo set --netuid --param liquid_alpha_enabled --value or ``` **Example** @@ -193,7 +193,7 @@ btcli sudo set hyperparameters --netuid --param liquid_a For subnet 1 (`netuid` of `1`): ```bash -btcli sudo set hyperparameters --netuid 1 --param liquid_alpha_enabled --value True +btcli sudo set --netuid 1 --param liquid_alpha_enabled --value True ``` or you can also use, @@ -221,7 +221,7 @@ When you use `btcli sudo set` you can use `1` or `0` to enable or disable the `l **Syntax** ```bash -btcli sudo set hyperparameters --netuid --param alpha_values --value +btcli sudo set --netuid --param alpha_values --value ``` **Example** @@ -229,7 +229,7 @@ btcli sudo set hyperparameters --netuid --param alpha_va Setting the value of `alpha_low` to the decimal `0.1` (integer `6554`) and `alpha_high` to the decimal `0.8` (integer `52428`) for subnet 1 (`netuid` of `1`): ```bash -btcli sudo set hyperparameters --netuid 1 --param alpha_values --value 6554,52429 +btcli sudo set --netuid 1 --param alpha_values --value 6554,52429 ``` Output: @@ -251,5 +251,5 @@ When you use `btcli sudo set,` the display will not show the `alpha_values` para Use the current value of `alpha_low` from the above display and the new desired value of `alpha_high` and set both like below: ```bash -btcli sudo set hyperparameters --netuid 1 --param alpha_values --value 6554,55706 +btcli sudo set --netuid 1 --param alpha_values --value 6554,55706 ``` From 42466776770a8f50e4b00ba09a5174ff2d01b14b Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 24 Jun 2025 20:09:42 +0100 Subject: [PATCH 093/303] doc: minor fixes --- docs/subnets/yc3-blog.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/docs/subnets/yc3-blog.md b/docs/subnets/yc3-blog.md index 3d93ec3817..306c43a4e2 100644 --- a/docs/subnets/yc3-blog.md +++ b/docs/subnets/yc3-blog.md @@ -10,11 +10,11 @@ YC3 is the next evolution of Bittensor's consensus mechanism. It optimizes emiss At the heart of every Bittensor subnet lies a fundamental challenge: how do you fairly distribute rewards for work, when that work can include a wide range of different digitial commodities or services? Bittensor approaches this as a distributed judgment problem: **Validators** serve as judges for the whole community, with trust in them being measured by the total stake they have been delegated. Their ratings of the performance of **miners** (who produce the commodities and services for each subnet) determine emissions to those miners. -But how can we keep validators honest and hard-working to make sure that they do their best effort to accurately judge the miners? +But how can we keep validators honest and hard-working to make sure that they do their best effort to accurately judge the miners? Yuma Consensus is Bittensor's solution. Validators continuously rank the quality of work done by miners in their subnet, with the rankings of validators being trusted in proportion to how much stake they have received from the community. Lazy or dishonest validators lose emissions for submitting inaccurate rankings, which is likely to cause the community to move their stake to more relabile validators. Hence the community's trust in a given validator, embodied as stake, is linked over time to the emissions earned by the miners that validator rates. Hence validators are kept honest and miners are kept working hard to produce the best commodities possible. -But how does this work in detail? Each validator submits their rankings of miners they've evaluated. The algorithm then looks at all these rankings and tries to figure out which validators are giving the most reliable, honest evaluations. Validators who consistently make good predictions about which miners *other* validators will *eventually* recognize as the best, get *more* influence in the system. Meanwhile, validators give stale or otherwise inaccurate evaluations lose out. +But how does this work in detail? Each validator submits their rankings of miners they've evaluated. The algorithm then looks at all these rankings and tries to figure out which validators are giving the most reliable, honest evaluations. Validators who consistently make good predictions about which miners _other_ validators will _eventually_ recognize as the best, get _more_ influence in the system. Meanwhile, validators that give stale or otherwise inaccurate evaluations lose out. The system builds "bonds" between validators and miners over time. When a validator consistently recognizes a miner's good work, their bond with that miner strengthens, leading to better rewards for both parties. This creates a powerful incentive for validators to be diligent, honest, and forward-thinking in their evaluations. @@ -29,12 +29,14 @@ The Yuma Consensus mechanism, which determines how emissions are distributed, ha #### Yuma Consensus V1 The first version of the algorithm distributed validator rewards based on stake and consensus weight, but had significant limitations: + - Small validators faced unfair rounding issues - Limited mechanisms for recognizing early adopters of promising miners #### Yuma Consensus V2 The second version introduced a more sophisticated bonding mechanism with exponential moving averages, but still struggled with: + - Unfair penalties for small validators due to rounding errors - Insufficient rewards for validators who recognized good miners early - Uniform alpha parameters that didn't account for individual validator-miner relationships @@ -74,17 +76,17 @@ The [alpha sigmoid function](https://github.com/opentensor/subtensor/blob/main/p Bonds held by a validator for a given miner, produce emissions in proportion to the strength of the bond and the emissions to the miner. See [source code.](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L712) **The Technical Implementation:** + 1. **Storage**: Bonds are stored as [sparse matrices](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L948-L964) on a 0-65535 scale for efficiency 2. **Computation**: Each epoch, bonds are updated via [Exponential Moving Average (EMA)](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L651-L658) based on validator weights and previous bond values 3. **Rewards**: Validator dividends are computed by multiplying bonds with miner incentives -**Mathematical Foundation:** Under the hood, bonds following the EMA equation. Here, $\Delta B_{ij}$ is the "instant bond" based on a validator's stake-weighted evaluation of a miner. +**Mathematical Foundation:** Under the hood, bonds follow the EMA equation. Here, $\Delta B_{ij}$ is the "instant bond" based on a validator's stake-weighted evaluation of a miner. $$ B_{ij}^{(t)} = \alpha \,\Delta B_{ij} + (1-\alpha)\,B_{ij}^{(t-1)} $$ - However, YC3's innovation is that α can now be different for each validator-miner pair rather than uniform across all bonds. The system also applies a bonds penalty factor β when validator weights exceed consensus, helping maintain anti-fraud protection. For the complete mathematical treatment, see the main article on [Yuma Consensus](../yuma-consensus.md#bonding-mechanics). ### How Validators Acquire Bonds @@ -95,10 +97,11 @@ However, YC3's innovation is that α can now be different for each validator-min ### Liquid Alpha Integration -YC3 works seamlessly with Liquid Alpha, providing additional rewards for validators who vote for -miners that aren't yet receiving votes from others. This further encourages independent evaluation +YC3 works seamlessly with Liquid Alpha, providing additional rewards for validators who vote for +miners that aren't yet receiving votes from others. This further encourages independent evaluation and early recognition. YC3 integrates with Liquid Alpha when [specific conditions are met](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L633-L640): + 1. Liquid Alpha must be enabled for the subnet 2. Consensus values must exist and contain non-zero values 3. The network must have sufficient activity @@ -116,7 +119,7 @@ The system maintains strong anti-fraud protection while providing smoother bond YC3 creates a healthier ecosystem by encouraging validators to: - **Make independent evaluations** rather than copying popular validators -- **Recognize promising miners early** through differentiated bond adjustment rates +- **Recognize promising miners early** through differentiated bond adjustment rates - **Maintain consistent evaluations** while being rewarded for good prediction accuracy - **Participate meaningfully regardless of stake size** through fair scaling mechanisms @@ -129,8 +132,9 @@ Yuma 3 works best in subnets where validators can independently evaluate miners YC3 can be [toggled per subnet](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L628) through governance mechanisms. The [alpha parameter controls](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L1316-L1356) allow fine-tuning of the sigmoid steepness and adjustment ranges for your specific subnet needs. **Important considerations:** + - Liquid Alpha must be enabled to get full YC3 benefits -- The system requires active consensus formation to function optimally +- The system requires active consensus formation to function optimally - Bond reset functionality is available for subnets that need it ## Looking Forward From 9eb99c53b2069040e837c0274e1fde524968916a Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 24 Jun 2025 13:28:16 -0700 Subject: [PATCH 094/303] wip --- docs/subnets/yuma3-migration-guide.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/subnets/yuma3-migration-guide.md b/docs/subnets/yuma3-migration-guide.md index b01f9b1711..56a7ead9c8 100644 --- a/docs/subnets/yuma3-migration-guide.md +++ b/docs/subnets/yuma3-migration-guide.md @@ -47,18 +47,18 @@ The most significant innovation in YC3 is per-bond EMA scaling: each validator-m ## Migration Process -### Automatic Migration -YC3 is designed as a drop-in replacement. For most subnet owners: +:::tip no-op +Validators and miners do not need to update their code. +::: -1. No action required - Your subnet will continue to function normally -2. Validators and miners don't need to update their code -3. Existing configurations remain valid +### Subnet Creators +Your subnet will continue to function as before until YC3 is enabled. - +``` +btcli sudo set --param yuma3_enabled +``` ### Liquid Alpha Integration YC3 works with Liquid Alpha when specific conditions are met: From 9d93a33412d313bbfcd64a733bc936782772112a Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 24 Jun 2025 19:48:36 -0700 Subject: [PATCH 095/303] wip --- docs/subnets/yc3-blog.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/subnets/yc3-blog.md b/docs/subnets/yc3-blog.md index 306c43a4e2..23a0e43395 100644 --- a/docs/subnets/yc3-blog.md +++ b/docs/subnets/yc3-blog.md @@ -6,6 +6,11 @@ title: "How Yuma Consensus 3 Makes Bittensor More Fair" YC3 is the next evolution of Bittensor's consensus mechanism. It optimizes emissions to reward validators for recognizing innovation quickly. +See also: +[Yuma Consensus](../yuma-consensus) +[Yuma Consensus 3 (YC3) Migration Guide](./yuma3-migration-guide) + + ## Introduction: Understanding Yuma Consensus At the heart of every Bittensor subnet lies a fundamental challenge: how do you fairly distribute rewards for work, when that work can include a wide range of different digitial commodities or services? Bittensor approaches this as a distributed judgment problem: **Validators** serve as judges for the whole community, with trust in them being measured by the total stake they have been delegated. Their ratings of the performance of **miners** (who produce the commodities and services for each subnet) determine emissions to those miners. From 653c206bce26b3d69d43059e69cda8ffba2a9df5 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 24 Jun 2025 19:50:26 -0700 Subject: [PATCH 096/303] wip --- docs/subnets/metagraph.md | 506 ++++++++++++++++++++++++++++++++++++++ sidebars.js | 1 + 2 files changed, 507 insertions(+) create mode 100644 docs/subnets/metagraph.md diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md new file mode 100644 index 0000000000..db14f634f9 --- /dev/null +++ b/docs/subnets/metagraph.md @@ -0,0 +1,506 @@ +--- +title: "The Subnet Metagraph" +--- + +import ThemedImage from '@theme/ThemedImage'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + +# Subnet Metagraph + +The **metagraph** is a core on-chain data structure in the Bittensor blockchain that represents the complete state of a subnet at any given block. It contains comprehensive information about all neurons (miners and validators) participating in a subnet, their relationships, and network metrics. + +## Overview + +The metagraph serves as a dynamic snapshot of a subnet's neural network, capturing: + +- **Neuron Information**: UIDs, hotkeys, coldkeys, network addresses +- **Network Metrics**: Stakes, ranks, trust scores, consensus values +- **Economic Data**: Incentives, emissions, dividends, bonds +- **Network State**: Active status, validator permits, last updates +- **Inter-neuronal Relationships**: Weights and bonds between neurons + +The metagraph is continuously updated as the blockchain progresses, reflecting the real-time state of the subnet's collective intelligence. + +## Accessing the Metagraph + +You can access metagraph data through multiple interfaces: + +### 1. Bittensor CLI (btcli) + +The `btcli` command-line interface provides easy access to metagraph information: + +```bash +# View metagraph for a specific subnet +btcli subnets metagraph --netuid 1 + +# View root network metagraph (netuid 0) +btcli subnets metagraph --netuid 0 + +# View metagraph on testnet +btcli subnets metagraph --netuid 1 --network test + +# Configure metagraph display columns +btcli config metagraph --reset +``` + +**Available btcli metagraph commands:** +- `btcli subnets metagraph` - Display subnet metagraph +- `btcli subnet metagraph` - Alternative syntax +- `btcli s metagraph` - Short alias +- `btcli config metagraph` - Configure display columns + +### 2. Python SDK + +The Bittensor Python SDK provides programmatic access to metagraph data: + +```python +import bittensor as bt + +# Create and sync metagraph +metagraph = bt.metagraph(netuid=1) +metagraph.sync() + +# Access metagraph properties +total_stake = metagraph.S +neuron_ranks = metagraph.R +neuron_incentives = metagraph.I +neuron_emissions = metagraph.E +neuron_consensus = metagraph.C +neuron_trust = metagraph.T +neuron_validator_trust = metagraph.Tv +neuron_dividends = metagraph.D +neuron_bonds = metagraph.B +neuron_weights = metagraph.W + +# Access neuron information +hotkeys = metagraph.hotkeys +coldkeys = metagraph.coldkeys +addresses = metagraph.addresses +axons = metagraph.axons +neurons = metagraph.neurons +``` + +### 3. Polkadot Extrinsics + +For advanced users, you can query metagraph data directly through Polkadot extrinsics using the Substrate API. + +## Metagraph Properties + +### Core Network Properties + +| Property | Type | Description | +|----------|------|-------------| +| `netuid` | int | Unique subnet identifier | +| `network` | str | Network name (finney, test, local) | +| `version` | Tensor | Bittensor version number | +| `n` | Tensor | Total number of neurons | +| `block` | Tensor | Current blockchain block number | + +### Neuron Metrics + +| Property | Accessor | Type | Description | +|----------|----------|------|-------------| +| **Stake** | `S` | Tensor | Total stake of each neuron | +| **Alpha Stake** | `AS` | Tensor | Alpha token stake | +| **Tao Stake** | `TS` | Tensor | TAO token stake | +| **Ranks** | `R` | Tensor | Performance ranking scores | +| **Trust** | `T` | Tensor | Trust scores from other neurons | +| **Validator Trust** | `Tv` | Tensor | Validator-specific trust scores | +| **Consensus** | `C` | Tensor | Network consensus alignment | +| **Incentive** | `I` | Tensor | Reward incentive scores | +| **Emission** | `E` | Tensor | Token emission rates | +| **Dividends** | `D` | Tensor | Dividend distributions | +| **Bonds** | `B` | Tensor | Inter-neuronal bonds | +| **Weights** | `W` | Tensor | Weight matrix between neurons | + +### Neuron Information + +| Property | Type | Description | +|----------|------|-------------| +| `uids` | Tensor | Unique neuron identifiers | +| `hotkeys` | list[str] | Neuron hotkey addresses | +| `coldkeys` | list[str] | Neuron coldkey addresses | +| `addresses` | list[str] | Network IP addresses | +| `axons` | list[AxonInfo] | Network connection details | +| `neurons` | list[NeuronInfo] | Complete neuron objects | + +### Network State + +| Property | Type | Description | +|----------|------|-------------| +| `active` | Tensor | Neuron activity status | +| `last_update` | Tensor | Last update block numbers | +| `validator_permit` | Tensor | Validator permission flags | + +## Metagraph Information + +The metagraph also contains subnet-level information: + +### Subnet Identity +- `name`: Subnet name +- `symbol`: Subnet token symbol +- `network_registered_at`: Registration block +- `num_uids`: Current number of neurons +- `max_uids`: Maximum allowed neurons +- `identities`: List of chain identities +- `identity`: Subnet identity information +- `pruning_score`: List of pruning scores +- `block_at_registration`: List of registration blocks +- `tao_dividends_per_hotkey`: TAO dividends by hotkey +- `alpha_dividends_per_hotkey`: Alpha dividends by hotkey +- `last_step`: Last step block number +- `tempo`: Block interval for updates +- `blocks_since_last_step`: Blocks since last step +- `owner_coldkey`: Subnet owner coldkey +- `owner_hotkey`: Subnet owner hotkey + +### Economic Parameters +- `hparams`: Subnet hyperparameters (MetagraphInfoParams) +- `pool`: Liquidity pool information (MetagraphInfoPool) +- `emissions`: Emission configuration (MetagraphInfoEmissions) + +## Working with the Metagraph + +### Basic Usage + +```python +import bittensor as bt + +# Initialize metagraph +metagraph = bt.metagraph(netuid=1, network='finney') + +# Sync with latest block +metagraph.sync() + +# Access basic information +print(f"Subnet has {metagraph.n.item()} neurons") +print(f"Current block: {metagraph.block.item()}") + +# Get neuron stakes +stakes = metagraph.S +print(f"Total stake: {stakes.sum().item()}") + +# Find top-ranked neurons +ranks = metagraph.R +top_neurons = ranks.argsort(descending=True)[:5] +print(f"Top 5 neurons: {top_neurons.tolist()}") +``` + +### Historical Analysis + +```python +# Sync to specific block for historical analysis +metagraph.sync(block=100000) + +# Save metagraph state +metagraph.save() + +# Load saved metagraph +metagraph.load() + +# Load from specific directory +metagraph.load_from_path("/path/to/metagraphs/") +``` + +### Advanced Usage + +```python +# Use lite mode for faster syncing (excludes weights/bonds) +metagraph = bt.metagraph(netuid=1, lite=True) + +# Full sync with weights and bonds +metagraph.sync(lite=False) + +# Access weight matrix +weights = metagraph.W +print(f"Weight matrix shape: {weights.shape}") + +# Get neuron connections +for i, neuron_weights in enumerate(weights): + connections = (neuron_weights > 0).sum() + print(f"Neuron {i} has {connections} connections") + +# Access axon information +for axon in metagraph.axons: + print(f"Neuron at {axon.ip_str()}:{axon.port}") +``` + +### Async Usage + +```python +import asyncio +import bittensor as bt + +async def analyze_metagraph(): + # Create async metagraph + metagraph = bt.AsyncMetagraph(netuid=1) + + async with metagraph as mg: + # Metagraph is automatically synced + print(f"Synced metagraph with {mg.n.item()} neurons") + + # Perform analysis + total_stake = mg.S.sum().item() + print(f"Total subnet stake: {total_stake}") + +# Run async analysis +asyncio.run(analyze_metagraph()) + +# Alternative: Use factory function +async def use_factory(): + metagraph = await bt.async_metagraph(netuid=1, sync=True) + print(f"Factory metagraph has {metagraph.n.item()} neurons") +``` + +## Metagraph Data Structure + +### Neuron Object + +Each neuron in the metagraph contains: + +```python +class NeuronInfo: + uid: int # Unique identifier + hotkey: str # Hotkey address + coldkey: str # Coldkey address + stake: float # Total stake + rank: float # Performance rank + trust: float # Trust score + consensus: float # Consensus score + incentive: float # Incentive score + emission: float # Emission rate + dividends: float # Dividend amount + validator_trust: float # Validator trust + active: bool # Activity status + last_update: int # Last update block + validator_permit: bool # Validator permission + weights: list # Weight assignments + bonds: list # Bond investments + axon_info: AxonInfo # Network connection +``` + +### Axon Information + +```python +class AxonInfo: + hotkey: str # Neuron hotkey + coldkey: str # Neuron coldkey + ip: int # IP address + port: int # Port number + ip_type: int # IP type + version: int # Protocol version + placeholder1: int # Reserved field + placeholder2: int # Reserved field +``` + +### MetagraphInfoParams + +```python +class MetagraphInfoParams: + activity_cutoff: int # Activity cutoff threshold + adjustment_alpha: float # Adjustment alpha parameter + adjustment_interval: int # Adjustment interval + alpha_high: float # Alpha high threshold + alpha_low: float # Alpha low threshold + bonds_moving_avg: int # Bonds moving average + burn: float # Burn amount + commit_reveal_period: int # Commit reveal period + difficulty: int # Network difficulty + immunity_period: int # Immunity period + kappa: float # Kappa parameter + max_burn: float # Maximum burn + max_difficulty: int # Maximum difficulty + max_regs_per_block: int # Max registrations per block + max_validators: int # Maximum validators + max_weights_limit: int # Maximum weights limit + min_allowed_weights: int # Minimum allowed weights + min_burn: float # Minimum burn + min_difficulty: int # Minimum difficulty + pow_registration_allowed: bool # POW registration allowed + registration_allowed: bool # Registration allowed + rho: float # Rho parameter + serving_rate_limit: int # Serving rate limit + target_regs_per_interval: int # Target registrations per interval + tempo: int # Tempo + weights_rate_limit: int # Weights rate limit + weights_version: int # Weights version +``` + +### MetagraphInfoPool + +```python +class MetagraphInfoPool: + alpha_out: float # Alpha out amount + alpha_in: float # Alpha in amount + tao_in: float # TAO in amount + subnet_volume: float # Subnet volume + moving_price: float # Moving price +``` + +### MetagraphInfoEmissions + +```python +class MetagraphInfoEmissions: + alpha_out_emission: float # Alpha out emission + alpha_in_emission: float # Alpha in emission + subnet_emission: float # Subnet emission + tao_in_emission: float # TAO in emission + pending_alpha_emission: float # Pending alpha emission + pending_root_emission: float # Pending root emission +``` + +## Performance Considerations + +### Lite vs Full Sync + +- **Lite Mode** (`lite=True`): Faster sync, excludes weights and bonds +- **Full Mode** (`lite=False`): Complete data including weight matrices + +### Caching + +The metagraph supports local caching: + +```python +# Save metagraph for later use +metagraph.save() + +# Load cached metagraph +metagraph.load() + +# Custom save directory +metagraph.save(root_dir=['/custom', 'path']) +``` + +### Archive Network + +For historical data beyond 300 blocks: + +```python +# Use archive network for historical analysis +subtensor = bt.subtensor(network='archive') +metagraph = bt.metagraph(netuid=1, subtensor=subtensor) +metagraph.sync(block=historical_block) +``` + +## Common Use Cases + +### 1. Subnet Analysis + +```python +# Analyze subnet health +def analyze_subnet(netuid): + metagraph = bt.metagraph(netuid=netuid) + metagraph.sync() + + total_neurons = metagraph.n.item() + active_neurons = metagraph.active.sum().item() + total_stake = metagraph.S.sum().item() + + print(f"Subnet {netuid} Analysis:") + print(f" Total neurons: {total_neurons}") + print(f" Active neurons: {active_neurons}") + print(f" Total stake: {total_stake}") + print(f" Activity rate: {active_neurons/total_neurons:.2%}") +``` + +### 2. Validator Selection + +```python +# Find top validators +def get_top_validators(netuid, top_k=10): + metagraph = bt.metagraph(netuid=netuid) + metagraph.sync() + + # Get validator permits + validator_mask = metagraph.validator_permit + + # Get ranks for validators only + validator_ranks = metagraph.R[validator_mask] + validator_uids = metagraph.uids[validator_mask] + + # Sort by rank + sorted_indices = validator_ranks.argsort(descending=True) + top_validators = validator_uids[sorted_indices][:top_k] + + return top_validators.tolist() +``` + +### 3. Network Monitoring + +```python +# Monitor network changes +def monitor_network(netuid, interval=60): + import time + + while True: + metagraph = bt.metagraph(netuid=netuid) + metagraph.sync() + + print(f"Block {metagraph.block.item()}: {metagraph.n.item()} neurons") + time.sleep(interval) +``` + +### 4. Weight Analysis + +```python +# Analyze weight distribution +def analyze_weights(netuid): + metagraph = bt.metagraph(netuid=netuid, lite=False) + metagraph.sync() + + weights = metagraph.W + print(f"Weight matrix shape: {weights.shape}") + + # Find neurons with most incoming weights + incoming_weights = weights.sum(dim=0) + top_receivers = incoming_weights.argsort(descending=True)[:10] + print(f"Top 10 weight receivers: {top_receivers.tolist()}") + + # Find neurons with most outgoing weights + outgoing_weights = weights.sum(dim=1) + top_senders = outgoing_weights.argsort(descending=True)[:10] + print(f"Top 10 weight senders: {top_senders.tolist()}") +``` + +## Troubleshooting + +### Common Issues + +1. **Sync Failures**: Ensure you're connected to the correct network +2. **Historical Data**: Use archive network for data beyond 300 blocks +3. **Memory Usage**: Use lite mode for large subnets +4. **Network Timeouts**: Increase timeout values for slow connections + +### Error Handling + +```python +try: + metagraph = bt.metagraph(netuid=1) + metagraph.sync() +except Exception as e: + print(f"Failed to sync metagraph: {e}") + # Handle error appropriately +``` + +### Debugging + +```python +# Get metagraph metadata +metadata = metagraph.metadata() +print(f"Metagraph metadata: {metadata}") + +# Get state dictionary +state = metagraph.state_dict() +print(f"State keys: {list(state.keys())}") + +# String representation +print(str(metagraph)) # e.g., "metagraph(netuid:1, n:100, block:500, network:finney)" +``` + +## Related Documentation + +- [Understanding Neurons](./learn/neurons.md) - Neuron architecture overview +- [Subnet Hyperparameters](./subnet-hyperparameters.md) - Subnet configuration +- [Bittensor CLI Reference](./btcli.md) - Complete btcli documentation +- [Python SDK Reference](./reference/_bittensor-api-ref.md) - SDK documentation +- [Metagraph Precompile](./evm-tutorials/metagraph-precompile.md) - Smart contract access \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 45426903bf..aabfc42606 100644 --- a/sidebars.js +++ b/sidebars.js @@ -87,6 +87,7 @@ const sidebars = { collapsible: true, collapsed: true, items: [ + "subnets/metagraph", "subnets/create-a-subnet", "subnets/subnet-creators-btcli-guide", "subnets/subnet-hyperparameters", From e44babc03f98cfaba3c936663d83f52fd9d5c73e Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 24 Jun 2025 19:54:55 -0700 Subject: [PATCH 097/303] wip --- docs/subnets/metagraph.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index db14f634f9..f163566eb2 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -499,8 +499,7 @@ print(str(metagraph)) # e.g., "metagraph(netuid:1, n:100, block:500, network:fi ## Related Documentation -- [Understanding Neurons](./learn/neurons.md) - Neuron architecture overview +- [Understanding Neurons](../learn/neurons.md) - Neuron architecture overview - [Subnet Hyperparameters](./subnet-hyperparameters.md) - Subnet configuration -- [Bittensor CLI Reference](./btcli.md) - Complete btcli documentation -- [Python SDK Reference](./reference/_bittensor-api-ref.md) - SDK documentation -- [Metagraph Precompile](./evm-tutorials/metagraph-precompile.md) - Smart contract access \ No newline at end of file +- [Bittensor CLI Reference](../btcli.md) - Complete btcli documentation +- [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) - Smart contract access \ No newline at end of file From 1e05b93f3458b416a461c374816940f1c85a3b54 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 24 Jun 2025 21:22:08 -0700 Subject: [PATCH 098/303] wip --- docs/subnets/metagraph.md | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index f163566eb2..44b41e42b8 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -80,7 +80,32 @@ axons = metagraph.axons neurons = metagraph.neurons ``` -### 3. Polkadot Extrinsics +### 3. Smart Contract Access (Metagraph Precompile) + +For smart contract integration, you can access metagraph data through the **Metagraph Precompile** at address `0x0000000000000000000000000000000000000802`. This provides read-only access to individual neuron metrics and network information. + +**Key functions available:** +- `getUidCount(netuid)` - Get total number of neurons in a subnet +- `getStake(netuid, uid)` - Get neuron's total stake +- `getRank(netuid, uid)` - Get neuron's rank score +- `getTrust(netuid, uid)` - Get neuron's trust score +- `getConsensus(netuid, uid)` - Get neuron's consensus score +- `getIncentive(netuid, uid)` - Get neuron's incentive score +- `getEmission(netuid, uid)` - Get neuron's emission value +- `getDividends(netuid, uid)` - Get neuron's dividends +- `getVtrust(netuid, uid)` - Get neuron's validator trust score +- `getValidatorStatus(netuid, uid)` - Check if neuron is a validator +- `getIsActive(netuid, uid)` - Check if neuron is active +- `getLastUpdate(netuid, uid)` - Get last update block +- `getAxon(netuid, uid)` - Get neuron's network connection info +- `getHotkey(netuid, uid)` - Get neuron's hotkey +- `getColdkey(netuid, uid)` - Get neuron's coldkey + +:::tip Smart Contract Integration +For detailed smart contract examples and complete ABI, see the [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) documentation. +::: + +### 4. Polkadot Extrinsics For advanced users, you can query metagraph data directly through Polkadot extrinsics using the Substrate API. @@ -293,6 +318,10 @@ class AxonInfo: placeholder2: int # Reserved field ``` +:::note AxonInfo vs Smart Contract AxonInfo +The Python SDK `AxonInfo` structure differs from the smart contract version. The smart contract `AxonInfo` includes `block`, `version`, `ip`, `port`, `ip_type`, and `protocol` fields, while the Python SDK version includes additional fields for hotkey, coldkey, and placeholders. +::: + ### MetagraphInfoParams ```python @@ -502,4 +531,4 @@ print(str(metagraph)) # e.g., "metagraph(netuid:1, n:100, block:500, network:fi - [Understanding Neurons](../learn/neurons.md) - Neuron architecture overview - [Subnet Hyperparameters](./subnet-hyperparameters.md) - Subnet configuration - [Bittensor CLI Reference](../btcli.md) - Complete btcli documentation -- [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) - Smart contract access \ No newline at end of file +- [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) - Smart contract access and examples \ No newline at end of file From 0b4457040bfa7c02c0d6b42612c510f7144c9d2a Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 25 Jun 2025 10:20:02 -0700 Subject: [PATCH 099/303] wip --- .../code-examples/01_basic_metagraph_info.py | 33 +++ .../02_neuron_metrics_analysis.py | 43 +++ .../03_performance_ranking_analysis.py | 53 ++++ .../code-examples/04_economic_analysis.py | 44 +++ .../05_network_connectivity_analysis.py | 52 ++++ .../06_weight_matrix_analysis.py | 57 ++++ .../subnets/code-examples/07_bond_analysis.py | 39 +++ .../08_neuron_activity_analysis.py | 58 ++++ .../09_subnet_economic_parameters.py | 53 ++++ .../10_advanced_analysis_examples.py | 73 +++++ docs/subnets/code-examples/11_async_usage.py | 38 +++ .../12_complete_neuron_information.py | 40 +++ .../code-examples/13_common_use_cases.py | 87 ++++++ docs/subnets/code-examples/README.md | 42 +++ docs/subnets/metagraph.md | 276 ++---------------- 15 files changed, 738 insertions(+), 250 deletions(-) create mode 100644 docs/subnets/code-examples/01_basic_metagraph_info.py create mode 100644 docs/subnets/code-examples/02_neuron_metrics_analysis.py create mode 100644 docs/subnets/code-examples/03_performance_ranking_analysis.py create mode 100644 docs/subnets/code-examples/04_economic_analysis.py create mode 100644 docs/subnets/code-examples/05_network_connectivity_analysis.py create mode 100644 docs/subnets/code-examples/06_weight_matrix_analysis.py create mode 100644 docs/subnets/code-examples/07_bond_analysis.py create mode 100644 docs/subnets/code-examples/08_neuron_activity_analysis.py create mode 100644 docs/subnets/code-examples/09_subnet_economic_parameters.py create mode 100644 docs/subnets/code-examples/10_advanced_analysis_examples.py create mode 100644 docs/subnets/code-examples/11_async_usage.py create mode 100644 docs/subnets/code-examples/12_complete_neuron_information.py create mode 100644 docs/subnets/code-examples/13_common_use_cases.py create mode 100644 docs/subnets/code-examples/README.md diff --git a/docs/subnets/code-examples/01_basic_metagraph_info.py b/docs/subnets/code-examples/01_basic_metagraph_info.py new file mode 100644 index 0000000000..8639221123 --- /dev/null +++ b/docs/subnets/code-examples/01_basic_metagraph_info.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +""" +Basic Metagraph Information Example + +This example demonstrates how to get basic metagraph metadata and subnet information. +""" + +from bittensor.core.metagraph import Metagraph +from bittensor.core.subtensor import Subtensor + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get basic metagraph metadata + print("\n=== Basic Metagraph Metadata ===") + print(f"Network: {metagraph.network}") + print(f"Subnet UID: {metagraph.netuid}") + print(f"Total neurons: {metagraph.n.item()}") + print(f"Current block: {metagraph.block.item()}") + print(f"Version: {metagraph.version.item()}") + + # Get subnet information + print("\n=== Subnet Information ===") + print(f"Subnet name: {metagraph.name}") + print(f"Subnet symbol: {metagraph.symbol}") + print(f"Registered at block: {metagraph.network_registered_at}") + print(f"Max UIDs: {metagraph.max_uids}") + print(f"Owner: {metagraph.owner_coldkey}") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/02_neuron_metrics_analysis.py b/docs/subnets/code-examples/02_neuron_metrics_analysis.py new file mode 100644 index 0000000000..d3eea25d28 --- /dev/null +++ b/docs/subnets/code-examples/02_neuron_metrics_analysis.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 +""" +Neuron Metrics Analysis Example + +This example demonstrates how to analyze stake distribution and neuron metrics. +""" + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get all neuron UIDs + uids = metagraph.uids + print(f"\nNeuron UIDs: {uids.tolist()}") + + # Analyze stake distribution + stakes = metagraph.S # Total stake + alpha_stakes = metagraph.AS # Alpha token stake + tao_stakes = metagraph.TS # TAO token stake + + print(f"\n=== Stake Analysis ===") + print(f"Total stake across all neurons: {stakes.sum().item():.2f}") + print(f"Average stake per neuron: {stakes.mean().item():.2f}") + print(f"Highest stake: {stakes.max().item():.2f}") + print(f"Lowest stake: {stakes.min().item():.2f}") + + # Find top staked neurons + top_staked_indices = stakes.argsort()[::-1][:10] + print("\nTop 10 staked neurons:") + for i, idx in enumerate(top_staked_indices): + uid = uids[idx].item() + stake = stakes[idx].item() + print(f" {i+1}. UID {uid}: {stake:.2f} τ") + + # Analyze alpha vs tao stake distribution + alpha_ratio = alpha_stakes / (alpha_stakes + tao_stakes) + print(f"\nAverage alpha stake ratio: {alpha_ratio.mean().item():.2%}") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/03_performance_ranking_analysis.py b/docs/subnets/code-examples/03_performance_ranking_analysis.py new file mode 100644 index 0000000000..8aa727c044 --- /dev/null +++ b/docs/subnets/code-examples/03_performance_ranking_analysis.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +""" +Performance and Ranking Analysis Example + +This example demonstrates how to analyze neuron performance, ranks, and trust scores. +""" + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get performance metrics + ranks = metagraph.R # Performance ranks + trust = metagraph.T # Trust scores + consensus = metagraph.C # Consensus scores + validator_trust = metagraph.Tv # Validator trust + uids = metagraph.uids + + # Find top performing neurons + top_ranked_indices = ranks.argsort()[::-1][:10] + print("\n=== Top 10 Ranked Neurons ===") + for i, idx in enumerate(top_ranked_indices): + uid = uids[idx].item() + rank = ranks[idx].item() + trust_score = trust[idx].item() + consensus_score = consensus[idx].item() + print(f" {i+1}. UID {uid}: Rank={rank:.4f}, Trust={trust_score:.4f}, Consensus={consensus_score:.4f}") + + # Analyze trust distribution + print(f"\n=== Trust Analysis ===") + print(f"Average trust score: {trust.mean().item():.4f}") + print(f"Trust score std dev: {trust.std().item():.4f}") + print(f"Highest trust: {trust.max().item():.4f}") + print(f"Lowest trust: {trust.min().item():.4f}") + + # Find most trusted validators + validator_indices = metagraph.validator_permit.nonzero()[0] + if len(validator_indices) > 0: + validator_trust_scores = validator_trust[validator_indices] + top_validators = validator_indices[validator_trust_scores.argsort()[::-1][:5]] + print("\n=== Top 5 Trusted Validators ===") + for i, idx in enumerate(top_validators): + uid = uids[idx].item() + vtrust = validator_trust[idx].item() + print(f" {i+1}. UID {uid}: Validator Trust={vtrust:.4f}") + else: + print("\nNo validators found in this subnet.") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/04_economic_analysis.py b/docs/subnets/code-examples/04_economic_analysis.py new file mode 100644 index 0000000000..164cb4f40d --- /dev/null +++ b/docs/subnets/code-examples/04_economic_analysis.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 +""" +Economic Analysis Example + +This example demonstrates how to analyze economic metrics like incentives, emissions, and dividends. +""" + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get economic metrics + incentives = metagraph.I # Incentive scores + emissions = metagraph.E # Emission rates + dividends = metagraph.D # Dividend distributions + uids = metagraph.uids + + # Analyze incentive distribution + print(f"\n=== Incentive Analysis ===") + print(f"Total incentives: {incentives.sum().item():.4f}") + print(f"Average incentive: {incentives.mean().item():.4f}") + print(f"Highest incentive: {incentives.max().item():.4f}") + + # Find highest incentivized neurons + top_incentive_indices = incentives.argsort()[::-1][:10] + print("\n=== Top 10 Incentivized Neurons ===") + for i, idx in enumerate(top_incentive_indices): + uid = uids[idx].item() + incentive = incentives[idx].item() + emission = emissions[idx].item() + dividend = dividends[idx].item() + print(f" {i+1}. UID {uid}: Incentive={incentive:.4f}, Emission={emission:.4f}, Dividend={dividend:.4f}") + + # Analyze dividend distribution + print(f"\n=== Dividend Analysis ===") + print(f"Total dividends: {dividends.sum().item():.4f}") + print(f"Average dividend: {dividends.mean().item():.4f}") + print(f"Dividend std dev: {dividends.std().item():.4f}") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/05_network_connectivity_analysis.py b/docs/subnets/code-examples/05_network_connectivity_analysis.py new file mode 100644 index 0000000000..c81c3cc0a2 --- /dev/null +++ b/docs/subnets/code-examples/05_network_connectivity_analysis.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python3 +""" +Network Connectivity Analysis Example + +This example demonstrates how to analyze network addresses and axon information. +""" + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get network connection information + hotkeys = metagraph.hotkeys + coldkeys = metagraph.coldkeys + addresses = metagraph.addresses + axons = metagraph.axons + uids = metagraph.uids + + # Analyze network addresses + print(f"\n=== Network Address Analysis ===") + print(f"Total unique addresses: {len(set(addresses))}") + print(f"Total unique hotkeys: {len(set(hotkeys))}") + print(f"Total unique coldkeys: {len(set(coldkeys))}") + + # Find neurons by address + address_to_uids = {} + for i, addr in enumerate(addresses): + if addr not in address_to_uids: + address_to_uids[addr] = [] + address_to_uids[addr].append(uids[i].item()) + + print("\n=== Neurons Sharing Addresses ===") + shared_addresses = False + for addr, uid_list in address_to_uids.items(): + if len(uid_list) > 1: + shared_addresses = True + print(f" Address {addr}: UIDs {uid_list}") + + if not shared_addresses: + print(" No neurons sharing addresses found.") + + # Analyze axon information + print(f"\n=== Axon Details (First 5 Neurons) ===") + for i in range(min(5, len(axons))): + axon = axons[i] + print(f" UID {uids[i].item()}: IP={axon.ip_str()}, Port={axon.port}, Hotkey={axon.hotkey[:8]}...") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/06_weight_matrix_analysis.py b/docs/subnets/code-examples/06_weight_matrix_analysis.py new file mode 100644 index 0000000000..adcd412f8a --- /dev/null +++ b/docs/subnets/code-examples/06_weight_matrix_analysis.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 +""" +Weight Matrix Analysis Example + +This example demonstrates how to analyze the weight matrix between neurons. +Note: This requires lite=False to access weights. +""" + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 with full sync (not lite) + print("Initializing metagraph for subnet 1 (full sync)...") + metagraph = Metagraph(netuid=1, network="finney", lite=False, sync=True) + + uids = metagraph.uids + + # Get weight matrix (requires lite=False) + if not metagraph.lite and hasattr(metagraph, 'weights') and metagraph.weights.size > 0: + weights = metagraph.W # Weight matrix + + print(f"\n=== Weight Matrix Analysis ===") + print(f"Weight matrix shape: {weights.shape}") + print(f"Total weights: {weights.sum().item():.4f}") + print(f"Average weight: {weights.mean().item():.4f}") + print(f"Max weight: {weights.max().item():.4f}") + + # Find neurons receiving most weights + weight_received = weights.sum(axis=0) # Sum of incoming weights + top_receivers = weight_received.argsort()[::-1][:10] + print("\n=== Top 10 Weight Receivers ===") + for i, idx in enumerate(top_receivers): + uid = uids[idx].item() + total_weight = weight_received[idx].item() + print(f" {i+1}. UID {uid}: {total_weight:.4f}") + + # Find neurons sending most weights + weight_sent = weights.sum(axis=1) # Sum of outgoing weights + top_senders = weight_sent.argsort()[::-1][:10] + print("\n=== Top 10 Weight Senders ===") + for i, idx in enumerate(top_senders): + uid = uids[idx].item() + total_weight = weight_sent[idx].item() + print(f" {i+1}. UID {uid}: {total_weight:.4f}") + + # Find strongest connections + max_weight_idx = weights.argmax() + sender_idx = max_weight_idx // weights.shape[1] + receiver_idx = max_weight_idx % weights.shape[1] + max_weight = weights.max().item() + print(f"\n=== Strongest Connection ===") + print(f"UID {uids[sender_idx].item()} -> UID {uids[receiver_idx].item()}: {max_weight:.4f}") + else: + print("Weights not available. Make sure to use lite=False when initializing the metagraph.") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/07_bond_analysis.py b/docs/subnets/code-examples/07_bond_analysis.py new file mode 100644 index 0000000000..3b295c9245 --- /dev/null +++ b/docs/subnets/code-examples/07_bond_analysis.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 +""" +Bond Analysis Example + +This example demonstrates how to analyze the bond matrix between neurons. +Note: This requires lite=False to access bonds. +""" + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 with full sync (not lite) + print("Initializing metagraph for subnet 1 (full sync)...") + metagraph = Metagraph(netuid=1, network="finney", lite=False, sync=True) + + uids = metagraph.uids + + # Get bond matrix (requires lite=False) + if not metagraph.lite and hasattr(metagraph, 'bonds') and metagraph.bonds.size > 0: + bonds = metagraph.B # Bond matrix + + print(f"\n=== Bond Matrix Analysis ===") + print(f"Bond matrix shape: {bonds.shape}") + print(f"Total bonds: {bonds.sum().item():.4f}") + print(f"Average bond: {bonds.mean().item():.4f}") + + # Find neurons with most bonds + bonds_received = bonds.sum(axis=0) # Sum of incoming bonds + top_bonded = bonds_received.argsort()[::-1][:10] + print("\n=== Top 10 Bonded Neurons ===") + for i, idx in enumerate(top_bonded): + uid = uids[idx].item() + total_bonds = bonds_received[idx].item() + print(f" {i+1}. UID {uid}: {total_bonds:.4f}") + else: + print("Bonds not available. Make sure to use lite=False when initializing the metagraph.") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/08_neuron_activity_analysis.py b/docs/subnets/code-examples/08_neuron_activity_analysis.py new file mode 100644 index 0000000000..d336985ed0 --- /dev/null +++ b/docs/subnets/code-examples/08_neuron_activity_analysis.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 +""" +Neuron Activity Analysis Example + +This example demonstrates how to analyze neuron activity and validator status. +""" + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get activity information + active = metagraph.active # Activity status + last_update = metagraph.last_update # Last update blocks + validator_permit = metagraph.validator_permit # Validator permissions + uids = metagraph.uids + stakes = metagraph.S + ranks = metagraph.R + + # Analyze activity + active_count = active.sum().item() + total_count = len(active) + print(f"\n=== Activity Analysis ===") + print(f"Active neurons: {active_count}/{total_count} ({active_count/total_count:.1%})") + + # Find inactive neurons + inactive_indices = (active == 0).nonzero()[0] + if len(inactive_indices) > 0: + print("\n=== Inactive Neurons (First 10) ===") + for idx in inactive_indices[:10]: # Show first 10 + uid = uids[idx].item() + last_block = last_update[idx].item() + print(f" UID {uid}: Last update at block {last_block}") + else: + print("\nAll neurons are active.") + + # Analyze validator distribution + validator_count = validator_permit.sum().item() + print(f"\n=== Validator Analysis ===") + print(f"Validators: {validator_count}/{total_count} ({validator_count/total_count:.1%})") + + # Find validators + validator_indices = validator_permit.nonzero()[0] + if len(validator_indices) > 0: + print("\n=== Validators ===") + for idx in validator_indices: + uid = uids[idx].item() + stake = stakes[idx].item() + rank = ranks[idx].item() + print(f" UID {uid}: Stake={stake:.2f}, Rank={rank:.4f}") + else: + print("\nNo validators found in this subnet.") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/09_subnet_economic_parameters.py b/docs/subnets/code-examples/09_subnet_economic_parameters.py new file mode 100644 index 0000000000..8be56e541e --- /dev/null +++ b/docs/subnets/code-examples/09_subnet_economic_parameters.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +""" +Subnet Economic Parameters Example + +This example demonstrates how to access subnet hyperparameters, pool information, and emissions. +""" + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get subnet hyperparameters + hparams = metagraph.hparams + print("\n=== Subnet Hyperparameters ===") + print(f" Activity cutoff: {hparams.activity_cutoff}") + print(f" Adjustment alpha: {hparams.adjustment_alpha}") + print(f" Adjustment interval: {hparams.adjustment_interval}") + print(f" Alpha high: {hparams.alpha_high}") + print(f" Alpha low: {hparams.alpha_low}") + print(f" Burn rate: {hparams.burn}") + print(f" Max burn: {hparams.max_burn}") + print(f" Min burn: {hparams.min_burn}") + print(f" Difficulty: {hparams.difficulty}") + print(f" Max difficulty: {hparams.max_difficulty}") + print(f" Min difficulty: {hparams.min_difficulty}") + print(f" Max validators: {hparams.max_validators}") + print(f" Tempo: {hparams.tempo}") + print(f" Weights version: {hparams.weights_version}") + + # Get pool information + pool = metagraph.pool + print("\n=== Subnet Pool ===") + print(f" Alpha out: {pool.alpha_out}") + print(f" Alpha in: {pool.alpha_in}") + print(f" TAO in: {pool.tao_in}") + print(f" Subnet volume: {pool.subnet_volume}") + print(f" Moving price: {pool.moving_price}") + + # Get emission information + emissions_info = metagraph.emissions + print("\n=== Subnet Emissions ===") + print(f" Alpha out emission: {emissions_info.alpha_out_emission}") + print(f" Alpha in emission: {emissions_info.alpha_in_emission}") + print(f" Subnet emission: {emissions_info.subnet_emission}") + print(f" TAO in emission: {emissions_info.tao_in_emission}") + print(f" Pending alpha emission: {emissions_info.pending_alpha_emission}") + print(f" Pending root emission: {emissions_info.pending_root_emission}") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/10_advanced_analysis_examples.py b/docs/subnets/code-examples/10_advanced_analysis_examples.py new file mode 100644 index 0000000000..95176a37c2 --- /dev/null +++ b/docs/subnets/code-examples/10_advanced_analysis_examples.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 +""" +Advanced Analysis Examples + +This example demonstrates advanced analysis techniques including correlations, network efficiency, and stake concentration. +""" + +import numpy as np +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get basic metrics + stakes = metagraph.S + ranks = metagraph.R + trust = metagraph.T + uids = metagraph.uids + + # Correlation analysis between metrics + print("\n=== Metric Correlations ===") + try: + # Calculate correlations + stake_rank_corr = np.corrcoef(stakes, ranks)[0, 1] + stake_trust_corr = np.corrcoef(stakes, trust)[0, 1] + rank_trust_corr = np.corrcoef(ranks, trust)[0, 1] + + print("Metric Correlations:") + print(f" Stake vs Rank: {stake_rank_corr:.4f}") + print(f" Stake vs Trust: {stake_trust_corr:.4f}") + print(f" Rank vs Trust: {rank_trust_corr:.4f}") + except Exception as e: + print(f"Could not calculate correlations: {e}") + + # Network efficiency analysis (if weights are available) + if not metagraph.lite and hasattr(metagraph, 'weights') and metagraph.weights.numel() > 0: + weights = metagraph.W + + print("\n=== Network Efficiency Analysis ===") + # Calculate network efficiency (average path length) + non_zero_weights = weights[weights > 0] + if len(non_zero_weights) > 0: + avg_weight = non_zero_weights.mean().item() + weight_std = non_zero_weights.std().item() + print(f"Network efficiency:") + print(f" Average non-zero weight: {avg_weight:.4f}") + print(f" Weight standard deviation: {weight_std:.4f}") + print(f" Weight distribution CV: {weight_std/avg_weight:.4f}") + else: + print("\nWeights not available for network efficiency analysis.") + + # Stake concentration analysis + print("\n=== Stake Concentration Analysis ===") + total_stake = stakes.sum().item() + try: + stake_percentiles = np.percentile(stakes, [25, 50, 75, 90, 95, 99]) + print("Stake distribution percentiles:") + for p, val in zip([25, 50, 75, 90, 95, 99], stake_percentiles): + print(f" {p}th percentile: {val:.2f} τ") + + # Gini coefficient for stake inequality + sorted_stakes = np.sort(stakes) + n = len(sorted_stakes) + cumulative_stakes = np.cumsum(sorted_stakes) + gini = (n + 1 - 2 * np.sum(cumulative_stakes) / cumulative_stakes[-1]) / n + print(f"Stake Gini coefficient: {gini:.4f}") + except Exception as e: + print(f"Could not calculate stake concentration metrics: {e}") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/11_async_usage.py b/docs/subnets/code-examples/11_async_usage.py new file mode 100644 index 0000000000..d8ffd01abe --- /dev/null +++ b/docs/subnets/code-examples/11_async_usage.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +""" +Async Usage Example + +This example demonstrates how to use the async metagraph functionality. +""" + +import asyncio +from bittensor.core.metagraph import async_metagraph + +async def analyze_metagraph(): + # Create async metagraph + print("Creating async metagraph...") + metagraph = await async_metagraph(netuid=1, network="finney", lite=False) + + # Perform analysis + stakes = metagraph.S + print(f"Total stake: {stakes.sum().item():.2f}") + + # Sync to latest block + print("Syncing to latest block...") + await metagraph.sync() + print(f"Synced to block: {metagraph.block.item()}") + +async def use_factory(): + print("Using factory function...") + metagraph = await async_metagraph(netuid=1, sync=True) + print(f"Factory metagraph has {metagraph.n.item()} neurons") + +async def main(): + print("=== Async Metagraph Analysis ===") + await analyze_metagraph() + print("\n=== Factory Function Example ===") + await use_factory() + +if __name__ == "__main__": + # Run async analysis + asyncio.run(main()) \ No newline at end of file diff --git a/docs/subnets/code-examples/12_complete_neuron_information.py b/docs/subnets/code-examples/12_complete_neuron_information.py new file mode 100644 index 0000000000..e84fac41ee --- /dev/null +++ b/docs/subnets/code-examples/12_complete_neuron_information.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +""" +Complete Neuron Information Example + +This example demonstrates how to access complete neuron objects and their properties. +""" + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get complete neuron objects + neurons = metagraph.neurons + + print("=== Complete Neuron Information (First 5 Neurons) ===") + for i, neuron in enumerate(neurons[:5]): # Show first 5 neurons + print(f"\nNeuron {i}:") + print(f" UID: {neuron.uid}") + print(f" Hotkey: {neuron.hotkey}") + print(f" Coldkey: {neuron.coldkey}") + print(f" Stake: {neuron.stake}") + print(f" Rank: {neuron.rank}") + print(f" Trust: {neuron.trust}") + print(f" Consensus: {neuron.consensus}") + print(f" Incentive: {neuron.incentive}") + print(f" Emission: {neuron.emission}") + print(f" Dividends: {neuron.dividends}") + print(f" Active: {neuron.active}") + print(f" Last update: {neuron.last_update}") + print(f" Validator permit: {neuron.validator_permit}") + print(f" Validator trust: {neuron.validator_trust}") + print(f" Axon IP: {neuron.axon_info.ip_str()}") + print(f" Axon port: {neuron.axon_info.port}") + print(" ---") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/13_common_use_cases.py b/docs/subnets/code-examples/13_common_use_cases.py new file mode 100644 index 0000000000..6c7ae64ab3 --- /dev/null +++ b/docs/subnets/code-examples/13_common_use_cases.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +""" +Common Use Cases Examples + +This example demonstrates common use cases for metagraph analysis. +""" + +import bittensor as bt + +def analyze_subnet(netuid): + """Analyze subnet health""" + print(f"Analyzing subnet {netuid}...") + metagraph = bt.metagraph(netuid=netuid) + metagraph.sync() + + total_neurons = metagraph.n.item() + active_neurons = metagraph.active.sum().item() + total_stake = metagraph.S.sum().item() + + print(f"Subnet {netuid} Analysis:") + print(f" Total neurons: {total_neurons}") + print(f" Active neurons: {active_neurons}") + print(f" Total stake: {total_stake}") + print(f" Activity rate: {active_neurons/total_neurons:.2%}") + +def get_top_validators(netuid, top_k=10): + """Find top validators""" + print(f"Finding top {top_k} validators for subnet {netuid}...") + metagraph = bt.metagraph(netuid=netuid) + metagraph.sync() + + # Get validator permits + validator_mask = metagraph.validator_permit + + # Get ranks for validators only + validator_ranks = metagraph.R[validator_mask] + validator_uids = metagraph.uids[validator_mask] + + # Sort by rank + sorted_indices = validator_ranks.argsort()[::-1] + top_validators = validator_uids[sorted_indices][:top_k] + + print(f"Top {top_k} validators:") + for i, uid in enumerate(top_validators): + print(f" {i+1}. UID {uid.item()}") + + return top_validators.tolist() + +def analyze_weights(netuid): + """Analyze weight distribution""" + print(f"Analyzing weights for subnet {netuid}...") + metagraph = bt.metagraph(netuid=netuid, lite=False) + metagraph.sync() + + weights = metagraph.W + print(f"Weight matrix shape: {weights.shape}") + + # Find neurons with most incoming weights + incoming_weights = weights.sum(axis=0) + top_receivers = incoming_weights.argsort()[::-1][:10] + print(f"Top 10 weight receivers: {top_receivers.tolist()}") + + # Find neurons with most outgoing weights + outgoing_weights = weights.sum(axis=1) + top_senders = outgoing_weights.argsort()[::-1][:10] + print(f"Top 10 weight senders: {top_senders.tolist()}") + +def main(): + print("=== Common Use Cases Examples ===") + + # Example 1: Subnet Analysis + print("\n1. Subnet Analysis") + analyze_subnet(1) + + # Example 2: Validator Selection + print("\n2. Validator Selection") + get_top_validators(1, top_k=5) + + # Example 3: Weight Analysis + print("\n3. Weight Analysis") + try: + analyze_weights(1) + except Exception as e: + print(f"Weight analysis failed: {e}") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/README.md b/docs/subnets/code-examples/README.md new file mode 100644 index 0000000000..843460dd6c --- /dev/null +++ b/docs/subnets/code-examples/README.md @@ -0,0 +1,42 @@ +# Metagraph Code Examples + +This directory contains Python code examples demonstrating various aspects of working with the Bittensor metagraph. + +## Examples Overview + +### Basic Examples +- **01_basic_metagraph_info.py** - Basic metagraph metadata and subnet information +- **02_neuron_metrics_analysis.py** - Stake distribution and neuron metrics analysis +- **03_performance_ranking_analysis.py** - Performance, ranks, and trust scores analysis +- **04_economic_analysis.py** - Economic metrics like incentives, emissions, and dividends +- **05_network_connectivity_analysis.py** - Network addresses and axon information analysis + +### Advanced Examples +- **06_weight_matrix_analysis.py** - Weight matrix analysis (requires lite=False) +- **07_bond_analysis.py** - Bond matrix analysis (requires lite=False) +- **08_neuron_activity_analysis.py** - Neuron activity and validator status analysis +- **09_subnet_economic_parameters.py** - Subnet hyperparameters, pool, and emissions +- **10_advanced_analysis_examples.py** - Advanced analysis including correlations and Gini coefficient + +### Usage Examples +- **11_async_usage.py** - Async metagraph usage examples +- **12_complete_neuron_information.py** - Complete neuron object information +- **13_common_use_cases.py** - Common use cases like subnet analysis and validator selection + +## Running the Examples + +### Prerequisites +- Bittensor Python SDK installed +- Network connection to access Bittensor blockchain + +### Basic Usage +```bash +# Run a specific example +python 01_basic_metagraph_info.py + +# Run all examples (basic ones first) +python 01_basic_metagraph_info.py +python 02_neuron_metrics_analysis.py +python 03_performance_ranking_analysis.py +# ... etc +``` diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index 44b41e42b8..e89d4ca12f 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -25,62 +25,40 @@ The metagraph is continuously updated as the blockchain progresses, reflecting t You can access metagraph data through multiple interfaces: -### 1. Bittensor CLI (btcli) +### Bittensor CLI (btcli) The `btcli` command-line interface provides easy access to metagraph information: ```bash # View metagraph for a specific subnet -btcli subnets metagraph --netuid 1 - -# View root network metagraph (netuid 0) -btcli subnets metagraph --netuid 0 - -# View metagraph on testnet -btcli subnets metagraph --netuid 1 --network test - -# Configure metagraph display columns -btcli config metagraph --reset +btcli subnets metagraph --netuid 14 --network finney ``` +```console + Subnet 14: TAOHash + Network: finney -**Available btcli metagraph commands:** -- `btcli subnets metagraph` - Display subnet metagraph -- `btcli subnet metagraph` - Alternative syntax -- `btcli s metagraph` - Short alias -- `btcli config metagraph` - Configure display columns + UID ┃ Stake (ξ) ┃ Alpha (ξ) ┃ Tao (τ) ┃ Dividends ┃ Incentive ┃ Emissions (ξ) ┃ Hotk… ┃ Coldkey ┃ Identity +━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━ + 29 │ 271.67k ξ │ 254.83k ξ │ τ 16.84k │ 0.129183 │ 0.000000 │ 19.122456 ξ │ 5Cf4… │ 5CKhH8 │ Owner14 (*Owner) + 3 │ 387.08k ξ │ 61.46k ξ │ τ 325.62k │ 0.184314 │ 0.000000 │ 27.280861 ξ │ 5C59… │ 5GZSAg │ -### 2. Python SDK +... + ``` -The Bittensor Python SDK provides programmatic access to metagraph data: +### Python SDK + +The Bittensor Python SDK [Metagraph module](pathname:///python-api/html/autoapi/bittensor/core/metagraph/index.html) provides programmatic access to metagraph data: ```python -import bittensor as bt - -# Create and sync metagraph -metagraph = bt.metagraph(netuid=1) -metagraph.sync() - -# Access metagraph properties -total_stake = metagraph.S -neuron_ranks = metagraph.R -neuron_incentives = metagraph.I -neuron_emissions = metagraph.E -neuron_consensus = metagraph.C -neuron_trust = metagraph.T -neuron_validator_trust = metagraph.Tv -neuron_dividends = metagraph.D -neuron_bonds = metagraph.B -neuron_weights = metagraph.W - -# Access neuron information -hotkeys = metagraph.hotkeys -coldkeys = metagraph.coldkeys -addresses = metagraph.addresses -axons = metagraph.axons -neurons = metagraph.neurons +from bittensor.core.metagraph import Metagraph +from bittensor.core.subtensor import Subtensor + +# Initialize metagraph for subnet 1 +metagraph = Metagraph(netuid=1, network="finney", sync=True) ``` -### 3. Smart Contract Access (Metagraph Precompile) + +### Smart Contract Access (Metagraph Precompile) For smart contract integration, you can access metagraph data through the **Metagraph Precompile** at address `0x0000000000000000000000000000000000000802`. This provides read-only access to individual neuron metrics and network information. @@ -105,7 +83,7 @@ For smart contract integration, you can access metagraph data through the **Meta For detailed smart contract examples and complete ABI, see the [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) documentation. ::: -### 4. Polkadot Extrinsics +### Polkadot Extrinsics For advanced users, you can query metagraph data directly through Polkadot extrinsics using the Substrate API. @@ -186,96 +164,7 @@ The metagraph also contains subnet-level information: ## Working with the Metagraph -### Basic Usage - -```python -import bittensor as bt - -# Initialize metagraph -metagraph = bt.metagraph(netuid=1, network='finney') - -# Sync with latest block -metagraph.sync() - -# Access basic information -print(f"Subnet has {metagraph.n.item()} neurons") -print(f"Current block: {metagraph.block.item()}") - -# Get neuron stakes -stakes = metagraph.S -print(f"Total stake: {stakes.sum().item()}") - -# Find top-ranked neurons -ranks = metagraph.R -top_neurons = ranks.argsort(descending=True)[:5] -print(f"Top 5 neurons: {top_neurons.tolist()}") -``` - -### Historical Analysis - -```python -# Sync to specific block for historical analysis -metagraph.sync(block=100000) - -# Save metagraph state -metagraph.save() - -# Load saved metagraph -metagraph.load() - -# Load from specific directory -metagraph.load_from_path("/path/to/metagraphs/") -``` - -### Advanced Usage - -```python -# Use lite mode for faster syncing (excludes weights/bonds) -metagraph = bt.metagraph(netuid=1, lite=True) -# Full sync with weights and bonds -metagraph.sync(lite=False) - -# Access weight matrix -weights = metagraph.W -print(f"Weight matrix shape: {weights.shape}") - -# Get neuron connections -for i, neuron_weights in enumerate(weights): - connections = (neuron_weights > 0).sum() - print(f"Neuron {i} has {connections} connections") - -# Access axon information -for axon in metagraph.axons: - print(f"Neuron at {axon.ip_str()}:{axon.port}") -``` - -### Async Usage - -```python -import asyncio -import bittensor as bt - -async def analyze_metagraph(): - # Create async metagraph - metagraph = bt.AsyncMetagraph(netuid=1) - - async with metagraph as mg: - # Metagraph is automatically synced - print(f"Synced metagraph with {mg.n.item()} neurons") - - # Perform analysis - total_stake = mg.S.sum().item() - print(f"Total subnet stake: {total_stake}") - -# Run async analysis -asyncio.run(analyze_metagraph()) - -# Alternative: Use factory function -async def use_factory(): - metagraph = await bt.async_metagraph(netuid=1, sync=True) - print(f"Factory metagraph has {metagraph.n.item()} neurons") -``` ## Metagraph Data Structure @@ -400,97 +289,6 @@ metagraph.load() metagraph.save(root_dir=['/custom', 'path']) ``` -### Archive Network - -For historical data beyond 300 blocks: - -```python -# Use archive network for historical analysis -subtensor = bt.subtensor(network='archive') -metagraph = bt.metagraph(netuid=1, subtensor=subtensor) -metagraph.sync(block=historical_block) -``` - -## Common Use Cases - -### 1. Subnet Analysis - -```python -# Analyze subnet health -def analyze_subnet(netuid): - metagraph = bt.metagraph(netuid=netuid) - metagraph.sync() - - total_neurons = metagraph.n.item() - active_neurons = metagraph.active.sum().item() - total_stake = metagraph.S.sum().item() - - print(f"Subnet {netuid} Analysis:") - print(f" Total neurons: {total_neurons}") - print(f" Active neurons: {active_neurons}") - print(f" Total stake: {total_stake}") - print(f" Activity rate: {active_neurons/total_neurons:.2%}") -``` - -### 2. Validator Selection - -```python -# Find top validators -def get_top_validators(netuid, top_k=10): - metagraph = bt.metagraph(netuid=netuid) - metagraph.sync() - - # Get validator permits - validator_mask = metagraph.validator_permit - - # Get ranks for validators only - validator_ranks = metagraph.R[validator_mask] - validator_uids = metagraph.uids[validator_mask] - - # Sort by rank - sorted_indices = validator_ranks.argsort(descending=True) - top_validators = validator_uids[sorted_indices][:top_k] - - return top_validators.tolist() -``` - -### 3. Network Monitoring - -```python -# Monitor network changes -def monitor_network(netuid, interval=60): - import time - - while True: - metagraph = bt.metagraph(netuid=netuid) - metagraph.sync() - - print(f"Block {metagraph.block.item()}: {metagraph.n.item()} neurons") - time.sleep(interval) -``` - -### 4. Weight Analysis - -```python -# Analyze weight distribution -def analyze_weights(netuid): - metagraph = bt.metagraph(netuid=netuid, lite=False) - metagraph.sync() - - weights = metagraph.W - print(f"Weight matrix shape: {weights.shape}") - - # Find neurons with most incoming weights - incoming_weights = weights.sum(dim=0) - top_receivers = incoming_weights.argsort(descending=True)[:10] - print(f"Top 10 weight receivers: {top_receivers.tolist()}") - - # Find neurons with most outgoing weights - outgoing_weights = weights.sum(dim=1) - top_senders = outgoing_weights.argsort(descending=True)[:10] - print(f"Top 10 weight senders: {top_senders.tolist()}") -``` - ## Troubleshooting ### Common Issues @@ -500,35 +298,13 @@ def analyze_weights(netuid): 3. **Memory Usage**: Use lite mode for large subnets 4. **Network Timeouts**: Increase timeout values for slow connections -### Error Handling - -```python -try: - metagraph = bt.metagraph(netuid=1) - metagraph.sync() -except Exception as e: - print(f"Failed to sync metagraph: {e}") - # Handle error appropriately -``` - -### Debugging - -```python -# Get metagraph metadata -metadata = metagraph.metadata() -print(f"Metagraph metadata: {metadata}") - -# Get state dictionary -state = metagraph.state_dict() -print(f"State keys: {list(state.keys())}") - -# String representation -print(str(metagraph)) # e.g., "metagraph(netuid:1, n:100, block:500, network:finney)" -``` ## Related Documentation - [Understanding Neurons](../learn/neurons.md) - Neuron architecture overview - [Subnet Hyperparameters](./subnet-hyperparameters.md) - Subnet configuration - [Bittensor CLI Reference](../btcli.md) - Complete btcli documentation -- [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) - Smart contract access and examples \ No newline at end of file +- [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) - Smart contract access and examples + + +## Python code examples \ No newline at end of file From 95f45131ca2de697192a6aa088a4394a8c00277b Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 25 Jun 2025 12:37:44 -0700 Subject: [PATCH 100/303] wip --- .../05_network_connectivity_analysis.py | 52 -- docs/subnets/code-examples/README.md | 42 - docs/subnets/metagraph.md | 844 +++++++++++++++++- .../code-examples/01_basic_metagraph_info.py | 5 - .../02_neuron_metrics_analysis.py | 5 - .../03_performance_ranking_analysis.py | 5 - .../code-examples/04_economic_analysis.py | 5 - .../05_network_connectivity_analysis.py | 46 + .../06_weight_matrix_analysis.py | 6 - .../code-examples/07_bond_analysis.py | 6 - .../08_neuron_activity_analysis.py | 5 - .../09_subnet_economic_parameters.py | 31 +- .../10_advanced_analysis_examples.py | 7 +- .../code-examples/11_async_usage.py | 5 - .../12_complete_neuron_information.py | 21 +- .../code-examples/13_common_use_cases.py | 5 - 16 files changed, 911 insertions(+), 179 deletions(-) delete mode 100644 docs/subnets/code-examples/05_network_connectivity_analysis.py delete mode 100644 docs/subnets/code-examples/README.md rename {docs/subnets => static}/code-examples/01_basic_metagraph_info.py (88%) rename {docs/subnets => static}/code-examples/02_neuron_metrics_analysis.py (91%) rename {docs/subnets => static}/code-examples/03_performance_ranking_analysis.py (93%) rename {docs/subnets => static}/code-examples/04_economic_analysis.py (91%) create mode 100644 static/code-examples/05_network_connectivity_analysis.py rename {docs/subnets => static}/code-examples/06_weight_matrix_analysis.py (93%) rename {docs/subnets => static}/code-examples/07_bond_analysis.py (89%) rename {docs/subnets => static}/code-examples/08_neuron_activity_analysis.py (94%) rename {docs/subnets => static}/code-examples/09_subnet_economic_parameters.py (60%) rename {docs/subnets => static}/code-examples/10_advanced_analysis_examples.py (93%) rename {docs/subnets => static}/code-examples/11_async_usage.py (90%) rename {docs/subnets => static}/code-examples/12_complete_neuron_information.py (69%) rename {docs/subnets => static}/code-examples/13_common_use_cases.py (96%) diff --git a/docs/subnets/code-examples/05_network_connectivity_analysis.py b/docs/subnets/code-examples/05_network_connectivity_analysis.py deleted file mode 100644 index c81c3cc0a2..0000000000 --- a/docs/subnets/code-examples/05_network_connectivity_analysis.py +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python3 -""" -Network Connectivity Analysis Example - -This example demonstrates how to analyze network addresses and axon information. -""" - -from bittensor.core.metagraph import Metagraph - -def main(): - # Initialize metagraph for subnet 1 - print("Initializing metagraph for subnet 1...") - metagraph = Metagraph(netuid=1, network="finney", sync=True) - - # Get network connection information - hotkeys = metagraph.hotkeys - coldkeys = metagraph.coldkeys - addresses = metagraph.addresses - axons = metagraph.axons - uids = metagraph.uids - - # Analyze network addresses - print(f"\n=== Network Address Analysis ===") - print(f"Total unique addresses: {len(set(addresses))}") - print(f"Total unique hotkeys: {len(set(hotkeys))}") - print(f"Total unique coldkeys: {len(set(coldkeys))}") - - # Find neurons by address - address_to_uids = {} - for i, addr in enumerate(addresses): - if addr not in address_to_uids: - address_to_uids[addr] = [] - address_to_uids[addr].append(uids[i].item()) - - print("\n=== Neurons Sharing Addresses ===") - shared_addresses = False - for addr, uid_list in address_to_uids.items(): - if len(uid_list) > 1: - shared_addresses = True - print(f" Address {addr}: UIDs {uid_list}") - - if not shared_addresses: - print(" No neurons sharing addresses found.") - - # Analyze axon information - print(f"\n=== Axon Details (First 5 Neurons) ===") - for i in range(min(5, len(axons))): - axon = axons[i] - print(f" UID {uids[i].item()}: IP={axon.ip_str()}, Port={axon.port}, Hotkey={axon.hotkey[:8]}...") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/docs/subnets/code-examples/README.md b/docs/subnets/code-examples/README.md deleted file mode 100644 index 843460dd6c..0000000000 --- a/docs/subnets/code-examples/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# Metagraph Code Examples - -This directory contains Python code examples demonstrating various aspects of working with the Bittensor metagraph. - -## Examples Overview - -### Basic Examples -- **01_basic_metagraph_info.py** - Basic metagraph metadata and subnet information -- **02_neuron_metrics_analysis.py** - Stake distribution and neuron metrics analysis -- **03_performance_ranking_analysis.py** - Performance, ranks, and trust scores analysis -- **04_economic_analysis.py** - Economic metrics like incentives, emissions, and dividends -- **05_network_connectivity_analysis.py** - Network addresses and axon information analysis - -### Advanced Examples -- **06_weight_matrix_analysis.py** - Weight matrix analysis (requires lite=False) -- **07_bond_analysis.py** - Bond matrix analysis (requires lite=False) -- **08_neuron_activity_analysis.py** - Neuron activity and validator status analysis -- **09_subnet_economic_parameters.py** - Subnet hyperparameters, pool, and emissions -- **10_advanced_analysis_examples.py** - Advanced analysis including correlations and Gini coefficient - -### Usage Examples -- **11_async_usage.py** - Async metagraph usage examples -- **12_complete_neuron_information.py** - Complete neuron object information -- **13_common_use_cases.py** - Common use cases like subnet analysis and validator selection - -## Running the Examples - -### Prerequisites -- Bittensor Python SDK installed -- Network connection to access Bittensor blockchain - -### Basic Usage -```bash -# Run a specific example -python 01_basic_metagraph_info.py - -# Run all examples (basic ones first) -python 01_basic_metagraph_info.py -python 02_neuron_metrics_analysis.py -python 03_performance_ranking_analysis.py -# ... etc -``` diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index e89d4ca12f..900fd8ffe0 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -307,4 +307,846 @@ metagraph.save(root_dir=['/custom', 'path']) - [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) - Smart contract access and examples -## Python code examples \ No newline at end of file +## Python Code Examples + +This section provides practical examples of working with the Bittensor metagraph using the Python SDK. Each example demonstrates different aspects of metagraph analysis and data extraction. + +### Basic Examples + +#### 1. Basic Metagraph Information + +This example shows how to access basic metagraph metadata and subnet information: + +```python title="01_basic_metagraph_info.py" +#!/usr/bin/env python3 + +from bittensor.core.metagraph import Metagraph +from bittensor.core.subtensor import Subtensor + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get basic metagraph metadata + print("\n=== Basic Metagraph Metadata ===") + print(f"Network: {metagraph.network}") + print(f"Subnet UID: {metagraph.netuid}") + print(f"Total neurons: {metagraph.n.item()}") + print(f"Current block: {metagraph.block.item()}") + print(f"Version: {metagraph.version.item()}") + + # Get subnet information + print("\n=== Subnet Information ===") + print(f"Subnet name: {metagraph.name}") + print(f"Subnet symbol: {metagraph.symbol}") + print(f"Registered at block: {metagraph.network_registered_at}") + print(f"Max UIDs: {metagraph.max_uids}") + print(f"Owner: {metagraph.owner_coldkey}") + +if __name__ == "__main__": + main() +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/01_basic_metagraph_info.py) + +**Key Features:** +- Initialize metagraph for a specific subnet +- Access basic metadata (network, subnet UID, total neurons, current block) +- Retrieve subnet identity information (name, symbol, registration details) + +#### 2. Neuron Metrics Analysis + +This example demonstrates stake distribution and neuron metrics analysis: + +```python title="02_neuron_metrics_analysis.py" +#!/usr/bin/env python3 + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get all neuron UIDs + uids = metagraph.uids + print(f"\nNeuron UIDs: {uids.tolist()}") + + # Analyze stake distribution + stakes = metagraph.S # Total stake + alpha_stakes = metagraph.AS # Alpha token stake + tao_stakes = metagraph.TS # TAO token stake + + print(f"\n=== Stake Analysis ===") + print(f"Total stake across all neurons: {stakes.sum().item():.2f}") + print(f"Average stake per neuron: {stakes.mean().item():.2f}") + print(f"Highest stake: {stakes.max().item():.2f}") + print(f"Lowest stake: {stakes.min().item():.2f}") + + # Find top staked neurons + top_staked_indices = stakes.argsort()[::-1][:10] + print("\nTop 10 staked neurons:") + for i, idx in enumerate(top_staked_indices): + uid = uids[idx].item() + stake = stakes[idx].item() + print(f" {i+1}. UID {uid}: {stake:.2f} τ") + + # Analyze alpha vs tao stake distribution + alpha_ratio = alpha_stakes / (alpha_stakes + tao_stakes) + print(f"\nAverage alpha stake ratio: {alpha_ratio.mean().item():.2%}") + +if __name__ == "__main__": + main() +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/02_neuron_metrics_analysis.py) + +**Key Features:** +- Analyze total, average, highest, and lowest stake across neurons +- Find top 10 staked neurons +- Calculate alpha vs TAO stake distribution ratios +- Handle both alpha and TAO token stakes + +#### 3. Performance and Ranking Analysis + +This example shows how to analyze neuron performance, ranks, and trust scores: + +```python title="03_performance_ranking_analysis.py" +#!/usr/bin/env python3 + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get performance metrics + ranks = metagraph.R # Performance ranks + trust = metagraph.T # Trust scores + consensus = metagraph.C # Consensus scores + validator_trust = metagraph.Tv # Validator trust + uids = metagraph.uids + + # Find top performing neurons + top_ranked_indices = ranks.argsort()[::-1][:10] + print("\n=== Top 10 Ranked Neurons ===") + for i, idx in enumerate(top_ranked_indices): + uid = uids[idx].item() + rank = ranks[idx].item() + trust_score = trust[idx].item() + consensus_score = consensus[idx].item() + print(f" {i+1}. UID {uid}: Rank={rank:.4f}, Trust={trust_score:.4f}, Consensus={consensus_score:.4f}") + + # Analyze trust distribution + print(f"\n=== Trust Analysis ===") + print(f"Average trust score: {trust.mean().item():.4f}") + print(f"Trust score std dev: {trust.std().item():.4f}") + print(f"Highest trust: {trust.max().item():.4f}") + print(f"Lowest trust: {trust.min().item():.4f}") + + # Find most trusted validators + validator_indices = metagraph.validator_permit.nonzero()[0] + if len(validator_indices) > 0: + validator_trust_scores = validator_trust[validator_indices] + top_validators = validator_indices[validator_trust_scores.argsort()[::-1][:5]] + print("\n=== Top 5 Trusted Validators ===") + for i, idx in enumerate(top_validators): + uid = uids[idx].item() + vtrust = validator_trust[idx].item() + print(f" {i+1}. UID {uid}: Validator Trust={vtrust:.4f}") + else: + print("\nNo validators found in this subnet.") + +if __name__ == "__main__": + main() +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/03_performance_ranking_analysis.py) + +**Key Features:** +- Find top performing neurons by rank +- Analyze trust score distribution (mean, std dev, min/max) +- Identify most trusted validators +- Access consensus scores and validator trust metrics + +#### 4. Economic Analysis + +This example demonstrates analysis of economic metrics like incentives, emissions, and dividends: + +```python title="04_economic_analysis.py" +#!/usr/bin/env python3 + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get economic metrics + incentives = metagraph.I # Incentive scores + emissions = metagraph.E # Emission rates + dividends = metagraph.D # Dividend distributions + uids = metagraph.uids + + # Analyze incentive distribution + print(f"\n=== Incentive Analysis ===") + print(f"Total incentives: {incentives.sum().item():.4f}") + print(f"Average incentive: {incentives.mean().item():.4f}") + print(f"Highest incentive: {incentives.max().item():.4f}") + + # Find highest incentivized neurons + top_incentive_indices = incentives.argsort()[::-1][:10] + print("\n=== Top 10 Incentivized Neurons ===") + for i, idx in enumerate(top_incentive_indices): + uid = uids[idx].item() + incentive = incentives[idx].item() + emission = emissions[idx].item() + dividend = dividends[idx].item() + print(f" {i+1}. UID {uid}: Incentive={incentive:.4f}, Emission={emission:.4f}, Dividend={dividend:.4f}") + + # Analyze dividend distribution + print(f"\n=== Dividend Analysis ===") + print(f"Total dividends: {dividends.sum().item():.4f}") + print(f"Average dividend: {dividends.mean().item():.4f}") + print(f"Dividend std dev: {dividends.std().item():.4f}") + +if __name__ == "__main__": + main() +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/04_economic_analysis.py) + +**Key Features:** +- Calculate total and average incentives across the network +- Find highest incentivized neurons +- Analyze dividend distribution statistics +- Correlate incentives with emissions and dividends + +#### 5. Network Connectivity Analysis + +This example shows how to analyze network addresses and axon information: + +```python title="05_network_connectivity_analysis.py" +#!/usr/bin/env python3 + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get network information + axons = metagraph.axons + uids = metagraph.uids + + # Analyze network addresses + addresses = [axon.ip for axon in axons] + unique_addresses = set(addresses) + unique_hotkeys = set(metagraph.hotkeys) + unique_coldkeys = set(metagraph.coldkeys) + + print(f"\n=== Network Address Analysis ===") + print(f"Total unique addresses: {len(unique_addresses)}") + print(f"Total unique hotkeys: {len(unique_hotkeys)}") + print(f"Total unique coldkeys: {len(unique_coldkeys)}") + + # Find neurons sharing addresses + address_to_uids = {} + for i, address in enumerate(addresses): + if address not in address_to_uids: + address_to_uids[address] = [] + address_to_uids[address].append(uids[i].item()) + + print(f"\n=== Neurons Sharing Addresses ===") + for address, uids_list in address_to_uids.items(): + if len(uids_list) > 1: + print(f" Address {address}: UIDs {uids_list}") + + # Show axon details for first few neurons + print(f"\n=== Axon Details (First 5 Neurons) ===") + for i in range(min(5, len(axons))): + axon = axons[i] + uid = uids[i].item() + hotkey = metagraph.hotkeys[i][:10] + "..." + print(f" UID {uid}: IP={axon.ip}, Port={axon.port}, Hotkey={hotkey}") + +if __name__ == "__main__": + main() +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/05_network_connectivity_analysis.py) + +**Key Features:** +- Count unique network addresses, hotkeys, and coldkeys +- Identify neurons sharing the same network addresses +- Display detailed axon information for neurons +- Analyze network topology and connectivity patterns + +### Advanced Examples + +#### 6. Weight Matrix Analysis + +This example demonstrates weight matrix analysis (requires `lite=False`): + +```python title="06_weight_matrix_analysis.py" +#!/usr/bin/env python3 + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 with full sync (not lite) + print("Initializing metagraph for subnet 1 (full sync)...") + metagraph = Metagraph(netuid=1, network="finney", lite=False, sync=True) + + uids = metagraph.uids + + # Get weight matrix (requires lite=False) + if not metagraph.lite and hasattr(metagraph, 'weights') and metagraph.weights.size > 0: + weights = metagraph.W # Weight matrix + + print(f"\n=== Weight Matrix Analysis ===") + print(f"Weight matrix shape: {weights.shape}") + print(f"Total weights: {weights.sum().item():.4f}") + print(f"Average weight: {weights.mean().item():.4f}") + print(f"Max weight: {weights.max().item():.4f}") + + # Find neurons receiving most weights + weight_received = weights.sum(axis=0) # Sum of incoming weights + top_receivers = weight_received.argsort()[::-1][:10] + print("\n=== Top 10 Weight Receivers ===") + for i, idx in enumerate(top_receivers): + uid = uids[idx].item() + total_weight = weight_received[idx].item() + print(f" {i+1}. UID {uid}: {total_weight:.4f}") + + # Find neurons sending most weights + weight_sent = weights.sum(axis=1) # Sum of outgoing weights + top_senders = weight_sent.argsort()[::-1][:10] + print("\n=== Top 10 Weight Senders ===") + for i, idx in enumerate(top_senders): + uid = uids[idx].item() + total_weight = weight_sent[idx].item() + print(f" {i+1}. UID {uid}: {total_weight:.4f}") + + # Find strongest connections + max_weight_idx = weights.argmax() + sender_idx = max_weight_idx // weights.shape[1] + receiver_idx = max_weight_idx % weights.shape[1] + max_weight = weights.max().item() + print(f"\n=== Strongest Connection ===") + print(f"UID {uids[sender_idx].item()} -> UID {uids[receiver_idx].item()}: {max_weight:.4f}") + else: + print("Weights not available. Make sure to use lite=False when initializing the metagraph.") + +if __name__ == "__main__": + main() +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/06_weight_matrix_analysis.py) + +**Key Features:** +- Analyze weight matrix shape and statistics +- Find neurons receiving the most weights (incoming connections) +- Find neurons sending the most weights (outgoing connections) +- Identify the strongest connection between neurons +- Requires full sync mode for weight data access + +#### 7. Bond Analysis + +This example shows bond matrix analysis (requires `lite=False`): + +```python title="07_bond_analysis.py" +#!/usr/bin/env python3 + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 with full sync (not lite) + print("Initializing metagraph for subnet 1 (full sync)...") + metagraph = Metagraph(netuid=1, network="finney", lite=False, sync=True) + + uids = metagraph.uids + + # Get bond matrix (requires lite=False) + if not metagraph.lite and hasattr(metagraph, 'bonds') and metagraph.bonds.size > 0: + bonds = metagraph.B # Bond matrix + + print(f"\n=== Bond Matrix Analysis ===") + print(f"Bond matrix shape: {bonds.shape}") + print(f"Total bonds: {bonds.sum().item():.4f}") + print(f"Average bond: {bonds.mean().item():.4f}") + + # Find neurons with most bonds + bonds_received = bonds.sum(axis=0) # Sum of incoming bonds + top_bonded = bonds_received.argsort()[::-1][:10] + print("\n=== Top 10 Bonded Neurons ===") + for i, idx in enumerate(top_bonded): + uid = uids[idx].item() + total_bonds = bonds_received[idx].item() + print(f" {i+1}. UID {uid}: {total_bonds:.4f}") + else: + print("Bonds not available. Make sure to use lite=False when initializing the metagraph.") + +if __name__ == "__main__": + main() +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/07_bond_analysis.py) + +**Key Features:** +- Analyze bond matrix shape and total bonds +- Find neurons with the most bonds +- Calculate average bond values +- Requires full sync mode for bond data access + +#### 8. Neuron Activity Analysis + +This example demonstrates neuron activity and validator status analysis: + +```python title="08_neuron_activity_analysis.py" +#!/usr/bin/env python3 + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get activity information + active = metagraph.active # Activity status + last_update = metagraph.last_update # Last update blocks + validator_permit = metagraph.validator_permit # Validator permissions + uids = metagraph.uids + stakes = metagraph.S + ranks = metagraph.R + + # Analyze activity + active_count = active.sum().item() + total_count = len(active) + print(f"\n=== Activity Analysis ===") + print(f"Active neurons: {active_count}/{total_count} ({active_count/total_count:.1%})") + + # Find inactive neurons + inactive_indices = (active == 0).nonzero()[0] + if len(inactive_indices) > 0: + print("\n=== Inactive Neurons (First 10) ===") + for idx in inactive_indices[:10]: # Show first 10 + uid = uids[idx].item() + last_block = last_update[idx].item() + print(f" UID {uid}: Last update at block {last_block}") + else: + print("\nAll neurons are active.") + + # Analyze validator distribution + validator_count = validator_permit.sum().item() + print(f"\n=== Validator Analysis ===") + print(f"Validators: {validator_count}/{total_count} ({validator_count/total_count:.1%})") + + # Find validators + validator_indices = validator_permit.nonzero()[0] + if len(validator_indices) > 0: + print("\n=== Validators ===") + for idx in validator_indices: + uid = uids[idx].item() + stake = stakes[idx].item() + rank = ranks[idx].item() + print(f" UID {uid}: Stake={stake:.2f}, Rank={rank:.4f}") + else: + print("\nNo validators found in this subnet.") + +if __name__ == "__main__": + main() +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/08_neuron_activity_analysis.py) + +**Key Features:** +- Calculate active vs inactive neuron ratios +- Find inactive neurons and their last update blocks +- Analyze validator distribution and permissions +- Display validator details with stake and rank information + +#### 9. Subnet Economic Parameters + +This example shows how to access subnet hyperparameters, pool, and emissions: + +```python title="09_subnet_economic_parameters.py" +#!/usr/bin/env python3 + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get subnet hyperparameters + hparams = metagraph.hparams + print(f"\n=== Subnet Hyperparameters ===") + print(f" Activity cutoff: {hparams.activity_cutoff}") + print(f" Adjustment alpha: {hparams.adjustment_alpha}") + print(f" Adjustment interval: {hparams.adjustment_interval}") + print(f" Alpha high: {hparams.alpha_high}") + print(f" Alpha low: {hparams.alpha_low}") + print(f" Burn rate: {hparams.burn_rate}") + print(f" Max burn: {hparams.max_burn}") + print(f" Min burn: {hparams.min_burn}") + print(f" Difficulty: {hparams.difficulty}") + print(f" Max difficulty: {hparams.max_difficulty}") + print(f" Min difficulty: {hparams.min_difficulty}") + print(f" Max validators: {hparams.max_validators}") + print(f" Tempo: {hparams.tempo}") + print(f" Weights version: {hparams.weights_version}") + + # Get subnet pool information + pool = metagraph.pool + print(f"\n=== Subnet Pool ===") + print(f" Alpha out: {pool.alpha_out}") + print(f" Alpha in: {pool.alpha_in}") + print(f" TAO in: {pool.tao_in}") + print(f" Subnet volume: {pool.subnet_volume}") + print(f" Moving price: {pool.moving_price}") + + # Get subnet emissions + emissions = metagraph.emissions + print(f"\n=== Subnet Emissions ===") + print(f" Alpha out emission: {emissions.alpha_out_emission}") + print(f" Alpha in emission: {emissions.alpha_in_emission}") + print(f" Subnet emission: {emissions.subnet_emission}") + print(f" TAO in emission: {emissions.tao_in_emission}") + print(f" Pending alpha emission: {emissions.pending_alpha_emission}") + print(f" Pending root emission: {emissions.pending_root_emission}") + +if __name__ == "__main__": + main() +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/09_subnet_economic_parameters.py) + +**Key Features:** +- Access subnet hyperparameters (activity cutoff, adjustment alpha, etc.) +- View liquidity pool information (alpha/TAO amounts, volume, price) +- Analyze emission configuration and pending emissions +- Access economic parameters that control subnet behavior + +#### 10. Advanced Analysis Examples + +This example demonstrates advanced analysis techniques including correlations and Gini coefficient: + +```python title="10_advanced_analysis_examples.py" +#!/usr/bin/env python3 + +import numpy as np +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get basic metrics + stakes = metagraph.S + ranks = metagraph.R + trust = metagraph.T + uids = metagraph.uids + + # Correlation analysis between metrics + print("\n=== Metric Correlations ===") + try: + # Calculate correlations + stake_rank_corr = np.corrcoef(stakes, ranks)[0, 1] + stake_trust_corr = np.corrcoef(stakes, trust)[0, 1] + rank_trust_corr = np.corrcoef(ranks, trust)[0, 1] + + print("Metric Correlations:") + print(f" Stake vs Rank: {stake_rank_corr:.4f}") + print(f" Stake vs Trust: {stake_trust_corr:.4f}") + print(f" Rank vs Trust: {rank_trust_corr:.4f}") + except Exception as e: + print(f"Could not calculate correlations: {e}") + + # Network efficiency analysis (if weights are available) + if not metagraph.lite and hasattr(metagraph, 'weights') and metagraph.weights.size > 0: + weights = metagraph.W + + print("\n=== Network Efficiency Analysis ===") + # Calculate network efficiency (average path length) + non_zero_weights = weights[weights > 0] + if len(non_zero_weights) > 0: + avg_weight = non_zero_weights.mean().item() + weight_std = non_zero_weights.std().item() + print(f"Network efficiency:") + print(f" Average non-zero weight: {avg_weight:.4f}") + print(f" Weight standard deviation: {weight_std:.4f}") + print(f" Weight distribution CV: {weight_std/avg_weight:.4f}") + else: + print("\nWeights not available for network efficiency analysis.") + + # Stake concentration analysis + print("\n=== Stake Concentration Analysis ===") + total_stake = stakes.sum().item() + try: + stake_percentiles = np.percentile(stakes, [25, 50, 75, 90, 95, 99]) + print("Stake distribution percentiles:") + for p, val in zip([25, 50, 75, 90, 95, 99], stake_percentiles): + print(f" {p}th percentile: {val:.2f} τ") + + # Gini coefficient for stake inequality + sorted_stakes = np.sort(stakes) + n = len(sorted_stakes) + cumulative_stakes = np.cumsum(sorted_stakes) + gini = (n + 1 - 2 * np.sum(cumulative_stakes) / cumulative_stakes[-1]) / n + print(f"Stake Gini coefficient: {gini:.4f}") + except Exception as e: + print(f"Could not calculate stake concentration metrics: {e}") + +if __name__ == "__main__": + main() +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/10_advanced_analysis_examples.py) + +**Key Features:** +- Calculate correlations between stake, rank, and trust metrics +- Analyze network efficiency through weight distribution +- Calculate stake concentration using percentiles +- Compute Gini coefficient for stake inequality measurement +- Handle missing weight data gracefully + +### Usage Examples + +#### 11. Async Usage + +This example demonstrates async metagraph usage: + +```python title="11_async_usage.py" +#!/usr/bin/env python3 + +import asyncio +from bittensor.core.metagraph import async_metagraph + +async def analyze_metagraph(): + # Create async metagraph + print("Creating async metagraph...") + metagraph = await async_metagraph(netuid=1, network="finney", lite=False) + + # Perform analysis + stakes = metagraph.S + print(f"Total stake: {stakes.sum().item():.2f}") + + # Sync to latest block + print("Syncing to latest block...") + await metagraph.sync() + print(f"Synced to block: {metagraph.block.item()}") + +async def use_factory(): + print("Using factory function...") + metagraph = await async_metagraph(netuid=1, sync=True) + print(f"Factory metagraph has {metagraph.n.item()} neurons") + +async def main(): + print("=== Async Metagraph Analysis ===") + await analyze_metagraph() + print("\n=== Factory Function Example ===") + await use_factory() + +if __name__ == "__main__": + # Run async analysis + asyncio.run(main()) +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/11_async_usage.py) + +**Key Features:** +- Use async metagraph for non-blocking operations +- Sync to latest block asynchronously +- Demonstrate factory function usage +- Handle async operations with proper await syntax + +#### 12. Complete Neuron Information + +This example shows how to access complete neuron object information: + +```python title="12_complete_neuron_information.py" +#!/usr/bin/env python3 + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get complete neuron information for first 5 neurons + print("=== Complete Neuron Information (First 5 Neurons) ===") + + for i in range(min(5, metagraph.n.item())): + neuron = metagraph.neurons[i] + print(f"\nNeuron {i}:") + print(f" UID: {neuron.uid}") + print(f" Hotkey: {neuron.hotkey}") + print(f" Coldkey: {neuron.coldkey}") + print(f" Stake: τ{neuron.stake:.9f}") + print(f" Rank: {neuron.rank}") + print(f" Trust: {neuron.trust}") + print(f" Consensus: {neuron.consensus}") + print(f" Incentive: {neuron.incentive}") + print(f" Emission: {neuron.emission}") + print(f" Dividends: {neuron.dividends}") + print(f" Active: {neuron.active}") + print(f" Last update: {neuron.last_update}") + print(f" Validator permit: {neuron.validator_permit}") + print(f" Validator trust: {neuron.validator_trust}") + print(f" Axon IP: {neuron.axon.ip}") + print(f" Axon port: {neuron.axon.port}") + print(f" ---") + +if __name__ == "__main__": + main() +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/12_complete_neuron_information.py) + +**Key Features:** +- Display comprehensive neuron information for multiple neurons +- Show all available neuron properties in a structured format +- Access complete neuron objects with all metadata +- Format output for easy reading and analysis + +#### 13. Common Use Cases + +This example demonstrates common use cases like subnet analysis and validator selection: + +```python title="13_common_use_cases.py" +#!/usr/bin/env python3 + +import bittensor as bt + +def analyze_subnet(netuid): + """Analyze subnet health""" + print(f"Analyzing subnet {netuid}...") + metagraph = bt.metagraph(netuid=netuid) + metagraph.sync() + + total_neurons = metagraph.n.item() + active_neurons = metagraph.active.sum().item() + total_stake = metagraph.S.sum().item() + + print(f"Subnet {netuid} Analysis:") + print(f" Total neurons: {total_neurons}") + print(f" Active neurons: {active_neurons}") + print(f" Total stake: {total_stake}") + print(f" Activity rate: {active_neurons/total_neurons:.2%}") + +def get_top_validators(netuid, top_k=10): + """Find top validators""" + print(f"Finding top {top_k} validators for subnet {netuid}...") + metagraph = bt.metagraph(netuid=netuid) + metagraph.sync() + + # Get validator permits + validator_mask = metagraph.validator_permit + + # Get ranks for validators only + validator_ranks = metagraph.R[validator_mask] + validator_uids = metagraph.uids[validator_mask] + + # Sort by rank + sorted_indices = validator_ranks.argsort()[::-1] + top_validators = validator_uids[sorted_indices][:top_k] + + print(f"Top {top_k} validators:") + for i, uid in enumerate(top_validators): + print(f" {i+1}. UID {uid.item()}") + + return top_validators.tolist() + +def analyze_weights(netuid): + """Analyze weight distribution""" + print(f"Analyzing weights for subnet {netuid}...") + metagraph = bt.metagraph(netuid=netuid, lite=False) + metagraph.sync() + + weights = metagraph.W + print(f"Weight matrix shape: {weights.shape}") + + # Find neurons with most incoming weights + incoming_weights = weights.sum(axis=0) + top_receivers = incoming_weights.argsort()[::-1][:10] + print(f"Top 10 weight receivers: {top_receivers.tolist()}") + + # Find neurons with most outgoing weights + outgoing_weights = weights.sum(axis=1) + top_senders = outgoing_weights.argsort()[::-1][:10] + print(f"Top 10 weight senders: {top_senders.tolist()}") + +def main(): + print("=== Common Use Cases Examples ===") + + # Example 1: Subnet Analysis + print("\n1. Subnet Analysis") + analyze_subnet(1) + + # Example 2: Validator Selection + print("\n2. Validator Selection") + get_top_validators(1, top_k=5) + + # Example 3: Weight Analysis + print("\n3. Weight Analysis") + try: + analyze_weights(1) + except Exception as e: + print(f"Weight analysis failed: {e}") + +if __name__ == "__main__": + main() +``` + +[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/13_common_use_cases.py) + +**Key Features:** +- Analyze subnet health and activity rates +- Find top validators by rank +- Analyze weight distribution for network topology +- Provide reusable functions for common analysis tasks +- Handle errors gracefully for missing data + +### Running the Examples + +All examples can be run directly from the command line: + +```bash +# Navigate to the code examples directory +cd docs/subnets/code-examples + +# Run individual examples +python3 01_basic_metagraph_info.py +python3 02_neuron_metrics_analysis.py +# ... etc + +# Or run all examples in sequence +for script in *.py; do + echo "Running $script..." + python3 "$script" + echo "---" +done +``` + +### Prerequisites + +- Bittensor Python SDK installed (`pip install bittensor`) +- Network connection to access Bittensor blockchain +- Python 3.7+ environment + +### Notes + +- **Lite vs Full Mode**: Examples 6 and 7 require `lite=False` for weight and bond data +- **Network Access**: All examples connect to the Finney network by default +- **Error Handling**: Examples include proper error handling for missing data +- **Performance**: Use lite mode for large subnets to reduce memory usage +- **Block Sync**: Examples sync to the latest block unless specified otherwise \ No newline at end of file diff --git a/docs/subnets/code-examples/01_basic_metagraph_info.py b/static/code-examples/01_basic_metagraph_info.py similarity index 88% rename from docs/subnets/code-examples/01_basic_metagraph_info.py rename to static/code-examples/01_basic_metagraph_info.py index 8639221123..70240f5ec1 100644 --- a/docs/subnets/code-examples/01_basic_metagraph_info.py +++ b/static/code-examples/01_basic_metagraph_info.py @@ -1,9 +1,4 @@ #!/usr/bin/env python3 -""" -Basic Metagraph Information Example - -This example demonstrates how to get basic metagraph metadata and subnet information. -""" from bittensor.core.metagraph import Metagraph from bittensor.core.subtensor import Subtensor diff --git a/docs/subnets/code-examples/02_neuron_metrics_analysis.py b/static/code-examples/02_neuron_metrics_analysis.py similarity index 91% rename from docs/subnets/code-examples/02_neuron_metrics_analysis.py rename to static/code-examples/02_neuron_metrics_analysis.py index d3eea25d28..76fccbe982 100644 --- a/docs/subnets/code-examples/02_neuron_metrics_analysis.py +++ b/static/code-examples/02_neuron_metrics_analysis.py @@ -1,9 +1,4 @@ #!/usr/bin/env python3 -""" -Neuron Metrics Analysis Example - -This example demonstrates how to analyze stake distribution and neuron metrics. -""" from bittensor.core.metagraph import Metagraph diff --git a/docs/subnets/code-examples/03_performance_ranking_analysis.py b/static/code-examples/03_performance_ranking_analysis.py similarity index 93% rename from docs/subnets/code-examples/03_performance_ranking_analysis.py rename to static/code-examples/03_performance_ranking_analysis.py index 8aa727c044..b4e8df5cc8 100644 --- a/docs/subnets/code-examples/03_performance_ranking_analysis.py +++ b/static/code-examples/03_performance_ranking_analysis.py @@ -1,9 +1,4 @@ #!/usr/bin/env python3 -""" -Performance and Ranking Analysis Example - -This example demonstrates how to analyze neuron performance, ranks, and trust scores. -""" from bittensor.core.metagraph import Metagraph diff --git a/docs/subnets/code-examples/04_economic_analysis.py b/static/code-examples/04_economic_analysis.py similarity index 91% rename from docs/subnets/code-examples/04_economic_analysis.py rename to static/code-examples/04_economic_analysis.py index 164cb4f40d..b3c27b7d07 100644 --- a/docs/subnets/code-examples/04_economic_analysis.py +++ b/static/code-examples/04_economic_analysis.py @@ -1,9 +1,4 @@ #!/usr/bin/env python3 -""" -Economic Analysis Example - -This example demonstrates how to analyze economic metrics like incentives, emissions, and dividends. -""" from bittensor.core.metagraph import Metagraph diff --git a/static/code-examples/05_network_connectivity_analysis.py b/static/code-examples/05_network_connectivity_analysis.py new file mode 100644 index 0000000000..112694464e --- /dev/null +++ b/static/code-examples/05_network_connectivity_analysis.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 + +from bittensor.core.metagraph import Metagraph + +def main(): + # Initialize metagraph for subnet 1 + print("Initializing metagraph for subnet 1...") + metagraph = Metagraph(netuid=1, network="finney", sync=True) + + # Get network information + axons = metagraph.axons + uids = metagraph.uids + + # Analyze network addresses + addresses = [axon.ip for axon in axons] + unique_addresses = set(addresses) + unique_hotkeys = set(metagraph.hotkeys) + unique_coldkeys = set(metagraph.coldkeys) + + print(f"\n=== Network Address Analysis ===") + print(f"Total unique addresses: {len(unique_addresses)}") + print(f"Total unique hotkeys: {len(unique_hotkeys)}") + print(f"Total unique coldkeys: {len(unique_coldkeys)}") + + # Find neurons sharing addresses + address_to_uids = {} + for i, address in enumerate(addresses): + if address not in address_to_uids: + address_to_uids[address] = [] + address_to_uids[address].append(uids[i].item()) + + print(f"\n=== Neurons Sharing Addresses ===") + for address, uids_list in address_to_uids.items(): + if len(uids_list) > 1: + print(f" Address {address}: UIDs {uids_list}") + + # Show axon details for first few neurons + print(f"\n=== Axon Details (First 5 Neurons) ===") + for i in range(min(5, len(axons))): + axon = axons[i] + uid = uids[i].item() + hotkey = metagraph.hotkeys[i][:10] + "..." + print(f" UID {uid}: IP={axon.ip}, Port={axon.port}, Hotkey={hotkey}") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/subnets/code-examples/06_weight_matrix_analysis.py b/static/code-examples/06_weight_matrix_analysis.py similarity index 93% rename from docs/subnets/code-examples/06_weight_matrix_analysis.py rename to static/code-examples/06_weight_matrix_analysis.py index adcd412f8a..605fe328d7 100644 --- a/docs/subnets/code-examples/06_weight_matrix_analysis.py +++ b/static/code-examples/06_weight_matrix_analysis.py @@ -1,10 +1,4 @@ #!/usr/bin/env python3 -""" -Weight Matrix Analysis Example - -This example demonstrates how to analyze the weight matrix between neurons. -Note: This requires lite=False to access weights. -""" from bittensor.core.metagraph import Metagraph diff --git a/docs/subnets/code-examples/07_bond_analysis.py b/static/code-examples/07_bond_analysis.py similarity index 89% rename from docs/subnets/code-examples/07_bond_analysis.py rename to static/code-examples/07_bond_analysis.py index 3b295c9245..47a25379c8 100644 --- a/docs/subnets/code-examples/07_bond_analysis.py +++ b/static/code-examples/07_bond_analysis.py @@ -1,10 +1,4 @@ #!/usr/bin/env python3 -""" -Bond Analysis Example - -This example demonstrates how to analyze the bond matrix between neurons. -Note: This requires lite=False to access bonds. -""" from bittensor.core.metagraph import Metagraph diff --git a/docs/subnets/code-examples/08_neuron_activity_analysis.py b/static/code-examples/08_neuron_activity_analysis.py similarity index 94% rename from docs/subnets/code-examples/08_neuron_activity_analysis.py rename to static/code-examples/08_neuron_activity_analysis.py index d336985ed0..414fcabd46 100644 --- a/docs/subnets/code-examples/08_neuron_activity_analysis.py +++ b/static/code-examples/08_neuron_activity_analysis.py @@ -1,9 +1,4 @@ #!/usr/bin/env python3 -""" -Neuron Activity Analysis Example - -This example demonstrates how to analyze neuron activity and validator status. -""" from bittensor.core.metagraph import Metagraph diff --git a/docs/subnets/code-examples/09_subnet_economic_parameters.py b/static/code-examples/09_subnet_economic_parameters.py similarity index 60% rename from docs/subnets/code-examples/09_subnet_economic_parameters.py rename to static/code-examples/09_subnet_economic_parameters.py index 8be56e541e..505039787d 100644 --- a/docs/subnets/code-examples/09_subnet_economic_parameters.py +++ b/static/code-examples/09_subnet_economic_parameters.py @@ -1,9 +1,4 @@ #!/usr/bin/env python3 -""" -Subnet Economic Parameters Example - -This example demonstrates how to access subnet hyperparameters, pool information, and emissions. -""" from bittensor.core.metagraph import Metagraph @@ -14,13 +9,13 @@ def main(): # Get subnet hyperparameters hparams = metagraph.hparams - print("\n=== Subnet Hyperparameters ===") + print(f"\n=== Subnet Hyperparameters ===") print(f" Activity cutoff: {hparams.activity_cutoff}") print(f" Adjustment alpha: {hparams.adjustment_alpha}") print(f" Adjustment interval: {hparams.adjustment_interval}") print(f" Alpha high: {hparams.alpha_high}") print(f" Alpha low: {hparams.alpha_low}") - print(f" Burn rate: {hparams.burn}") + print(f" Burn rate: {hparams.burn_rate}") print(f" Max burn: {hparams.max_burn}") print(f" Min burn: {hparams.min_burn}") print(f" Difficulty: {hparams.difficulty}") @@ -30,24 +25,24 @@ def main(): print(f" Tempo: {hparams.tempo}") print(f" Weights version: {hparams.weights_version}") - # Get pool information + # Get subnet pool information pool = metagraph.pool - print("\n=== Subnet Pool ===") + print(f"\n=== Subnet Pool ===") print(f" Alpha out: {pool.alpha_out}") print(f" Alpha in: {pool.alpha_in}") print(f" TAO in: {pool.tao_in}") print(f" Subnet volume: {pool.subnet_volume}") print(f" Moving price: {pool.moving_price}") - # Get emission information - emissions_info = metagraph.emissions - print("\n=== Subnet Emissions ===") - print(f" Alpha out emission: {emissions_info.alpha_out_emission}") - print(f" Alpha in emission: {emissions_info.alpha_in_emission}") - print(f" Subnet emission: {emissions_info.subnet_emission}") - print(f" TAO in emission: {emissions_info.tao_in_emission}") - print(f" Pending alpha emission: {emissions_info.pending_alpha_emission}") - print(f" Pending root emission: {emissions_info.pending_root_emission}") + # Get subnet emissions + emissions = metagraph.emissions + print(f"\n=== Subnet Emissions ===") + print(f" Alpha out emission: {emissions.alpha_out_emission}") + print(f" Alpha in emission: {emissions.alpha_in_emission}") + print(f" Subnet emission: {emissions.subnet_emission}") + print(f" TAO in emission: {emissions.tao_in_emission}") + print(f" Pending alpha emission: {emissions.pending_alpha_emission}") + print(f" Pending root emission: {emissions.pending_root_emission}") if __name__ == "__main__": main() \ No newline at end of file diff --git a/docs/subnets/code-examples/10_advanced_analysis_examples.py b/static/code-examples/10_advanced_analysis_examples.py similarity index 93% rename from docs/subnets/code-examples/10_advanced_analysis_examples.py rename to static/code-examples/10_advanced_analysis_examples.py index 95176a37c2..3290821c23 100644 --- a/docs/subnets/code-examples/10_advanced_analysis_examples.py +++ b/static/code-examples/10_advanced_analysis_examples.py @@ -1,9 +1,4 @@ #!/usr/bin/env python3 -""" -Advanced Analysis Examples - -This example demonstrates advanced analysis techniques including correlations, network efficiency, and stake concentration. -""" import numpy as np from bittensor.core.metagraph import Metagraph @@ -35,7 +30,7 @@ def main(): print(f"Could not calculate correlations: {e}") # Network efficiency analysis (if weights are available) - if not metagraph.lite and hasattr(metagraph, 'weights') and metagraph.weights.numel() > 0: + if not metagraph.lite and hasattr(metagraph, 'weights') and metagraph.weights.size > 0: weights = metagraph.W print("\n=== Network Efficiency Analysis ===") diff --git a/docs/subnets/code-examples/11_async_usage.py b/static/code-examples/11_async_usage.py similarity index 90% rename from docs/subnets/code-examples/11_async_usage.py rename to static/code-examples/11_async_usage.py index d8ffd01abe..cdfd599c06 100644 --- a/docs/subnets/code-examples/11_async_usage.py +++ b/static/code-examples/11_async_usage.py @@ -1,9 +1,4 @@ #!/usr/bin/env python3 -""" -Async Usage Example - -This example demonstrates how to use the async metagraph functionality. -""" import asyncio from bittensor.core.metagraph import async_metagraph diff --git a/docs/subnets/code-examples/12_complete_neuron_information.py b/static/code-examples/12_complete_neuron_information.py similarity index 69% rename from docs/subnets/code-examples/12_complete_neuron_information.py rename to static/code-examples/12_complete_neuron_information.py index e84fac41ee..c7f7d98536 100644 --- a/docs/subnets/code-examples/12_complete_neuron_information.py +++ b/static/code-examples/12_complete_neuron_information.py @@ -1,9 +1,4 @@ #!/usr/bin/env python3 -""" -Complete Neuron Information Example - -This example demonstrates how to access complete neuron objects and their properties. -""" from bittensor.core.metagraph import Metagraph @@ -12,16 +7,16 @@ def main(): print("Initializing metagraph for subnet 1...") metagraph = Metagraph(netuid=1, network="finney", sync=True) - # Get complete neuron objects - neurons = metagraph.neurons - + # Get complete neuron information for first 5 neurons print("=== Complete Neuron Information (First 5 Neurons) ===") - for i, neuron in enumerate(neurons[:5]): # Show first 5 neurons + + for i in range(min(5, metagraph.n.item())): + neuron = metagraph.neurons[i] print(f"\nNeuron {i}:") print(f" UID: {neuron.uid}") print(f" Hotkey: {neuron.hotkey}") print(f" Coldkey: {neuron.coldkey}") - print(f" Stake: {neuron.stake}") + print(f" Stake: τ{neuron.stake:.9f}") print(f" Rank: {neuron.rank}") print(f" Trust: {neuron.trust}") print(f" Consensus: {neuron.consensus}") @@ -32,9 +27,9 @@ def main(): print(f" Last update: {neuron.last_update}") print(f" Validator permit: {neuron.validator_permit}") print(f" Validator trust: {neuron.validator_trust}") - print(f" Axon IP: {neuron.axon_info.ip_str()}") - print(f" Axon port: {neuron.axon_info.port}") - print(" ---") + print(f" Axon IP: {neuron.axon.ip}") + print(f" Axon port: {neuron.axon.port}") + print(f" ---") if __name__ == "__main__": main() \ No newline at end of file diff --git a/docs/subnets/code-examples/13_common_use_cases.py b/static/code-examples/13_common_use_cases.py similarity index 96% rename from docs/subnets/code-examples/13_common_use_cases.py rename to static/code-examples/13_common_use_cases.py index 6c7ae64ab3..894b6f42ed 100644 --- a/docs/subnets/code-examples/13_common_use_cases.py +++ b/static/code-examples/13_common_use_cases.py @@ -1,9 +1,4 @@ #!/usr/bin/env python3 -""" -Common Use Cases Examples - -This example demonstrates common use cases for metagraph analysis. -""" import bittensor as bt From a9f2103432d94f9e7c5e93b926ff48a421773620 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 25 Jun 2025 14:46:00 -0700 Subject: [PATCH 101/303] wip --- docs/subnets/metagraph.md | 72 +++++++++++++++++++++++---------------- 1 file changed, 42 insertions(+), 30 deletions(-) diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index 900fd8ffe0..4c63853bb5 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -7,9 +7,22 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Subnet Metagraph -The **metagraph** is a core on-chain data structure in the Bittensor blockchain that represents the complete state of a subnet at any given block. It contains comprehensive information about all neurons (miners and validators) participating in a subnet, their relationships, and network metrics. +This page documents the Bittensor subnet metagraph. + +Page Contents: +- [Intro](#intro) +- [Accessing the Metagraph](#accessing-the-metagraph) +- [Metagraph Properties](#metagraph-properties) +- [Metagraph Information](#metagraph-information) +- [Metagraph Data Structure](#metagraph-data-structure) +- [Performance Considerations](#performance-considerations) +- [Troubleshooting](#troubleshooting) +- [Python Code Examples](#python-code-examples) +- [Related Documentation](#related-documentation) -## Overview +## Intro + +The **metagraph** is a core on-chain data structure in the Bittensor blockchain that represents the complete state of a subnet at any given block. It contains comprehensive information about all neurons (miners and validators) participating in a subnet, their relationships, and network metrics. The metagraph serves as a dynamic snapshot of a subnet's neural network, capturing: @@ -21,6 +34,18 @@ The metagraph serves as a dynamic snapshot of a subnet's neural network, capturi The metagraph is continuously updated as the blockchain progresses, reflecting the real-time state of the subnet's collective intelligence. + + +Related reading: + +- [Understanding Neurons](../learn/neurons.md) - Neuron architecture overview +- [Subnet Hyperparameters](./subnet-hyperparameters.md) - Subnet configuration +- [Bittensor CLI Reference](../btcli.md) - Complete btcli documentation +- [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) - Smart contract access and examples + + + + ## Accessing the Metagraph You can access metagraph data through multiple interfaces: @@ -162,9 +187,6 @@ The metagraph also contains subnet-level information: - `pool`: Liquidity pool information (MetagraphInfoPool) - `emissions`: Emission configuration (MetagraphInfoEmissions) -## Working with the Metagraph - - ## Metagraph Data Structure @@ -299,21 +321,11 @@ metagraph.save(root_dir=['/custom', 'path']) 4. **Network Timeouts**: Increase timeout values for slow connections -## Related Documentation - -- [Understanding Neurons](../learn/neurons.md) - Neuron architecture overview -- [Subnet Hyperparameters](./subnet-hyperparameters.md) - Subnet configuration -- [Bittensor CLI Reference](../btcli.md) - Complete btcli documentation -- [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) - Smart contract access and examples - - ## Python Code Examples This section provides practical examples of working with the Bittensor metagraph using the Python SDK. Each example demonstrates different aspects of metagraph analysis and data extraction. -### Basic Examples - -#### 1. Basic Metagraph Information +### 1. Basic Metagraph Information This example shows how to access basic metagraph metadata and subnet information: @@ -355,7 +367,7 @@ if __name__ == "__main__": - Access basic metadata (network, subnet UID, total neurons, current block) - Retrieve subnet identity information (name, symbol, registration details) -#### 2. Neuron Metrics Analysis +### 2. Neuron Metrics Analysis This example demonstrates stake distribution and neuron metrics analysis: @@ -408,7 +420,7 @@ if __name__ == "__main__": - Calculate alpha vs TAO stake distribution ratios - Handle both alpha and TAO token stakes -#### 3. Performance and Ranking Analysis +### 3. Performance and Ranking Analysis This example shows how to analyze neuron performance, ranks, and trust scores: @@ -471,7 +483,7 @@ if __name__ == "__main__": - Identify most trusted validators - Access consensus scores and validator trust metrics -#### 4. Economic Analysis +### 4. Economic Analysis This example demonstrates analysis of economic metrics like incentives, emissions, and dividends: @@ -525,7 +537,7 @@ if __name__ == "__main__": - Analyze dividend distribution statistics - Correlate incentives with emissions and dividends -#### 5. Network Connectivity Analysis +### 5. Network Connectivity Analysis This example shows how to analyze network addresses and axon information: @@ -586,9 +598,9 @@ if __name__ == "__main__": - Display detailed axon information for neurons - Analyze network topology and connectivity patterns -### Advanced Examples -#### 6. Weight Matrix Analysis + +### 6. Weight Matrix Analysis This example demonstrates weight matrix analysis (requires `lite=False`): @@ -655,7 +667,7 @@ if __name__ == "__main__": - Identify the strongest connection between neurons - Requires full sync mode for weight data access -#### 7. Bond Analysis +### 7. Bond Analysis This example shows bond matrix analysis (requires `lite=False`): @@ -703,7 +715,7 @@ if __name__ == "__main__": - Calculate average bond values - Requires full sync mode for bond data access -#### 8. Neuron Activity Analysis +### 8. Neuron Activity Analysis This example demonstrates neuron activity and validator status analysis: @@ -771,7 +783,7 @@ if __name__ == "__main__": - Analyze validator distribution and permissions - Display validator details with stake and rank information -#### 9. Subnet Economic Parameters +### 9. Subnet Economic Parameters This example shows how to access subnet hyperparameters, pool, and emissions: @@ -834,7 +846,7 @@ if __name__ == "__main__": - Analyze emission configuration and pending emissions - Access economic parameters that control subnet behavior -#### 10. Advanced Analysis Examples +### 10. Advanced Analysis Examples This example demonstrates advanced analysis techniques including correlations and Gini coefficient: @@ -918,9 +930,9 @@ if __name__ == "__main__": - Compute Gini coefficient for stake inequality measurement - Handle missing weight data gracefully -### Usage Examples -#### 11. Async Usage + +### 11. Async Usage This example demonstrates async metagraph usage: @@ -968,7 +980,7 @@ if __name__ == "__main__": - Demonstrate factory function usage - Handle async operations with proper await syntax -#### 12. Complete Neuron Information +### 12. Complete Neuron Information This example shows how to access complete neuron object information: @@ -1018,7 +1030,7 @@ if __name__ == "__main__": - Access complete neuron objects with all metadata - Format output for easy reading and analysis -#### 13. Common Use Cases +### 13. Common Use Cases This example demonstrates common use cases like subnet analysis and validator selection: From 74cc8b6e83628d321dad7b4ea393702423902e9e Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 25 Jun 2025 15:01:40 -0700 Subject: [PATCH 102/303] wip --- docs/subnets/metagraph.md | 145 ++++++++++++++++++++------------------ 1 file changed, 76 insertions(+), 69 deletions(-) diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index 4c63853bb5..0d1a5167ac 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -18,11 +18,16 @@ Page Contents: - [Performance Considerations](#performance-considerations) - [Troubleshooting](#troubleshooting) - [Python Code Examples](#python-code-examples) -- [Related Documentation](#related-documentation) + +Related reading: +- [Understanding Neurons](../learn/neurons.md) +- [Subnet Hyperparameters](./subnet-hyperparameters.md) +- [Bittensor CLI Reference](../btcli.md) +- [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) ## Intro -The **metagraph** is a core on-chain data structure in the Bittensor blockchain that represents the complete state of a subnet at any given block. It contains comprehensive information about all neurons (miners and validators) participating in a subnet, their relationships, and network metrics. +The **metagraph** is a core data structure in the Bittensor blockchain that represents the complete state of a subnet at any given block. It contains comprehensive information about all neurons (miners and validators) participating in a subnet, their emissions, bonds, and trust, as well as subnet metrics. The metagraph serves as a dynamic snapshot of a subnet's neural network, capturing: @@ -110,82 +115,89 @@ For detailed smart contract examples and complete ABI, see the [Metagraph Precom ### Polkadot Extrinsics -For advanced users, you can query metagraph data directly through Polkadot extrinsics using the Substrate API. +Advanced users can query the metagraph directly through Polkadot extrinsics using the PolkadotJS browser application, or with the PolkadotJS JavaScript SDK. ## Metagraph Properties ### Core Network Properties -| Property | Type | Description | -|----------|------|-------------| -| `netuid` | int | Unique subnet identifier | -| `network` | str | Network name (finney, test, local) | -| `version` | Tensor | Bittensor version number | -| `n` | Tensor | Total number of neurons | -| `block` | Tensor | Current blockchain block number | +| Name | Description | +|------|-------------| +| `netuid` | Unique subnet identifier | +| `network` | Network name (finney, test, local) | +| `version` | Bittensor version number | +| `n` | Total number of neurons | +| `block` | Current blockchain block number | +| `total_stake` | Total stake across all neurons | ### Neuron Metrics -| Property | Accessor | Type | Description | -|----------|----------|------|-------------| -| **Stake** | `S` | Tensor | Total stake of each neuron | -| **Alpha Stake** | `AS` | Tensor | Alpha token stake | -| **Tao Stake** | `TS` | Tensor | TAO token stake | -| **Ranks** | `R` | Tensor | Performance ranking scores | -| **Trust** | `T` | Tensor | Trust scores from other neurons | -| **Validator Trust** | `Tv` | Tensor | Validator-specific trust scores | -| **Consensus** | `C` | Tensor | Network consensus alignment | -| **Incentive** | `I` | Tensor | Reward incentive scores | -| **Emission** | `E` | Tensor | Token emission rates | -| **Dividends** | `D` | Tensor | Dividend distributions | -| **Bonds** | `B` | Tensor | Inter-neuronal bonds | -| **Weights** | `W` | Tensor | Weight matrix between neurons | +| Name | Accessor | Description | +|------|----------|-------------| +| **Stake** | `S` | Total stake of each neuron | +| **Alpha Stake** | `AS` | Alpha token stake | +| **Tao Stake** | `TS` | TAO token stake | +| **Ranks** | `R` | Performance ranking scores | +| **Trust** | `T` | Trust scores from other neurons | +| **Validator Trust** | `Tv` | Validator-specific trust scores | +| **Consensus** | `C` | Network consensus alignment | +| **Incentive** | `I` | Reward incentive scores | +| **Emission** | `E` | Token emission rates | +| **Dividends** | `D` | Dividend distributions | +| **Bonds** | `B` | Inter-neuronal bonds | +| **Weights** | `W` | Weight matrix between neurons | ### Neuron Information -| Property | Type | Description | -|----------|------|-------------| -| `uids` | Tensor | Unique neuron identifiers | -| `hotkeys` | list[str] | Neuron hotkey addresses | -| `coldkeys` | list[str] | Neuron coldkey addresses | -| `addresses` | list[str] | Network IP addresses | -| `axons` | list[AxonInfo] | Network connection details | -| `neurons` | list[NeuronInfo] | Complete neuron objects | +| Name | Description | +|------|-------------| +| `uids` | Unique neuron identifiers | +| `hotkeys` | Neuron hotkey addresses | +| `coldkeys` | Neuron coldkey addresses | +| `addresses` | Network IP addresses | +| `axons` | Network connection details | +| `neurons` | Complete neuron objects | ### Network State -| Property | Type | Description | -|----------|------|-------------| -| `active` | Tensor | Neuron activity status | -| `last_update` | Tensor | Last update block numbers | -| `validator_permit` | Tensor | Validator permission flags | +| Name | Description | +|------|-------------| +| `active` | Neuron activity status | +| `last_update` | Last update block numbers | +| `validator_permit` | Neuron can set weights, i.e. act as validator | ## Metagraph Information The metagraph also contains subnet-level information: ### Subnet Identity -- `name`: Subnet name -- `symbol`: Subnet token symbol -- `network_registered_at`: Registration block -- `num_uids`: Current number of neurons -- `max_uids`: Maximum allowed neurons -- `identities`: List of chain identities -- `identity`: Subnet identity information -- `pruning_score`: List of pruning scores -- `block_at_registration`: List of registration blocks -- `tao_dividends_per_hotkey`: TAO dividends by hotkey -- `alpha_dividends_per_hotkey`: Alpha dividends by hotkey -- `last_step`: Last step block number -- `tempo`: Block interval for updates -- `blocks_since_last_step`: Blocks since last step -- `owner_coldkey`: Subnet owner coldkey -- `owner_hotkey`: Subnet owner hotkey + +| Name | Description | +|------|-------------| +| `name` | Subnet name | +| `symbol` | Subnet token symbol | +| `network_registered_at` | Registration block | +| `num_uids` | Current number of neurons | +| `max_uids` | Maximum allowed neurons | +| `identities` | List of chain identities | +| `identity` | Subnet identity information | +| `pruning_score` | List of pruning scores | +| `block_at_registration` | List of registration blocks | +| `tao_dividends_per_hotkey` | TAO dividends by hotkey | +| `alpha_dividends_per_hotkey` | Alpha dividends by hotkey | +| `last_step` | Last step block number | +| `tempo` | Block interval for updates | +| `blocks_since_last_step` | Blocks since last step | +| `owner_coldkey` | Subnet owner coldkey | +| `owner_hotkey` | Subnet owner hotkey | ### Economic Parameters -- `hparams`: Subnet hyperparameters (MetagraphInfoParams) -- `pool`: Liquidity pool information (MetagraphInfoPool) -- `emissions`: Emission configuration (MetagraphInfoEmissions) + +| Name | Description | +|------|-------------| +| `hparams` | Subnet hyperparameters (MetagraphInfoParams) | +| `pool` | Liquidity pool information (MetagraphInfoPool) | +| `emissions` | Emission configuration (MetagraphInfoEmissions) | ## Metagraph Data Structure @@ -245,9 +257,11 @@ class MetagraphInfoParams: bonds_moving_avg: int # Bonds moving average burn: float # Burn amount commit_reveal_period: int # Commit reveal period + commit_reveal_weights_enabled: bool # Commit reveal weights enabled difficulty: int # Network difficulty immunity_period: int # Immunity period kappa: float # Kappa parameter + liquid_alpha_enabled: bool # Liquid alpha enabled max_burn: float # Maximum burn max_difficulty: int # Maximum difficulty max_regs_per_block: int # Max registrations per block @@ -325,6 +339,12 @@ metagraph.save(root_dir=['/custom', 'path']) This section provides practical examples of working with the Bittensor metagraph using the Python SDK. Each example demonstrates different aspects of metagraph analysis and data extraction. +**Prerequisites**: +- Bittensor Python SDK installed (`pip install bittensor`) +- Network connection to access Bittensor blockchain +- Python 3.7+ environment + + ### 1. Basic Metagraph Information This example shows how to access basic metagraph metadata and subnet information: @@ -1149,16 +1169,3 @@ for script in *.py; do done ``` -### Prerequisites - -- Bittensor Python SDK installed (`pip install bittensor`) -- Network connection to access Bittensor blockchain -- Python 3.7+ environment - -### Notes - -- **Lite vs Full Mode**: Examples 6 and 7 require `lite=False` for weight and bond data -- **Network Access**: All examples connect to the Finney network by default -- **Error Handling**: Examples include proper error handling for missing data -- **Performance**: Use lite mode for large subnets to reduce memory usage -- **Block Sync**: Examples sync to the latest block unless specified otherwise \ No newline at end of file From 31596ad50c2fdb7003ffc0e3be0a38ce054aa2ff Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 25 Jun 2025 16:20:13 -0700 Subject: [PATCH 103/303] wip --- docs/subnets/metagraph.md | 149 +++++++++++++------------------------- 1 file changed, 50 insertions(+), 99 deletions(-) diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index 0d1a5167ac..f63b228f25 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -13,8 +13,7 @@ Page Contents: - [Intro](#intro) - [Accessing the Metagraph](#accessing-the-metagraph) - [Metagraph Properties](#metagraph-properties) -- [Metagraph Information](#metagraph-information) -- [Metagraph Data Structure](#metagraph-data-structure) +- [Data Structures](data-structures) - [Performance Considerations](#performance-considerations) - [Troubleshooting](#troubleshooting) - [Python Code Examples](#python-code-examples) @@ -92,23 +91,6 @@ metagraph = Metagraph(netuid=1, network="finney", sync=True) For smart contract integration, you can access metagraph data through the **Metagraph Precompile** at address `0x0000000000000000000000000000000000000802`. This provides read-only access to individual neuron metrics and network information. -**Key functions available:** -- `getUidCount(netuid)` - Get total number of neurons in a subnet -- `getStake(netuid, uid)` - Get neuron's total stake -- `getRank(netuid, uid)` - Get neuron's rank score -- `getTrust(netuid, uid)` - Get neuron's trust score -- `getConsensus(netuid, uid)` - Get neuron's consensus score -- `getIncentive(netuid, uid)` - Get neuron's incentive score -- `getEmission(netuid, uid)` - Get neuron's emission value -- `getDividends(netuid, uid)` - Get neuron's dividends -- `getVtrust(netuid, uid)` - Get neuron's validator trust score -- `getValidatorStatus(netuid, uid)` - Check if neuron is a validator -- `getIsActive(netuid, uid)` - Check if neuron is active -- `getLastUpdate(netuid, uid)` - Get last update block -- `getAxon(netuid, uid)` - Get neuron's network connection info -- `getHotkey(netuid, uid)` - Get neuron's hotkey -- `getColdkey(netuid, uid)` - Get neuron's coldkey - :::tip Smart Contract Integration For detailed smart contract examples and complete ABI, see the [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) documentation. ::: @@ -119,88 +101,57 @@ Advanced users can query the metagraph directly through Polkadot extrinsics usin ## Metagraph Properties -### Core Network Properties - -| Name | Description | -|------|-------------| -| `netuid` | Unique subnet identifier | -| `network` | Network name (finney, test, local) | -| `version` | Bittensor version number | -| `n` | Total number of neurons | -| `block` | Current blockchain block number | -| `total_stake` | Total stake across all neurons | - -### Neuron Metrics - -| Name | Accessor | Description | -|------|----------|-------------| -| **Stake** | `S` | Total stake of each neuron | -| **Alpha Stake** | `AS` | Alpha token stake | -| **Tao Stake** | `TS` | TAO token stake | -| **Ranks** | `R` | Performance ranking scores | -| **Trust** | `T` | Trust scores from other neurons | -| **Validator Trust** | `Tv` | Validator-specific trust scores | -| **Consensus** | `C` | Network consensus alignment | -| **Incentive** | `I` | Reward incentive scores | -| **Emission** | `E` | Token emission rates | -| **Dividends** | `D` | Dividend distributions | -| **Bonds** | `B` | Inter-neuronal bonds | -| **Weights** | `W` | Weight matrix between neurons | - -### Neuron Information - -| Name | Description | -|------|-------------| -| `uids` | Unique neuron identifiers | -| `hotkeys` | Neuron hotkey addresses | -| `coldkeys` | Neuron coldkey addresses | -| `addresses` | Network IP addresses | -| `axons` | Network connection details | -| `neurons` | Complete neuron objects | - -### Network State | Name | Description | -|------|-------------| -| `active` | Neuron activity status | -| `last_update` | Last update block numbers | -| `validator_permit` | Neuron can set weights, i.e. act as validator | - -## Metagraph Information - -The metagraph also contains subnet-level information: - -### Subnet Identity - -| Name | Description | -|------|-------------| -| `name` | Subnet name | -| `symbol` | Subnet token symbol | -| `network_registered_at` | Registration block | -| `num_uids` | Current number of neurons | -| `max_uids` | Maximum allowed neurons | -| `identities` | List of chain identities | -| `identity` | Subnet identity information | -| `pruning_score` | List of pruning scores | -| `block_at_registration` | List of registration blocks | -| `tao_dividends_per_hotkey` | TAO dividends by hotkey | -| `alpha_dividends_per_hotkey` | Alpha dividends by hotkey | -| `last_step` | Last step block number | -| `tempo` | Block interval for updates | -| `blocks_since_last_step` | Blocks since last step | -| `owner_coldkey` | Subnet owner coldkey | -| `owner_hotkey` | Subnet owner hotkey | - -### Economic Parameters - -| Name | Description | -|------|-------------| -| `hparams` | Subnet hyperparameters (MetagraphInfoParams) | -| `pool` | Liquidity pool information (MetagraphInfoPool) | -| `emissions` | Emission configuration (MetagraphInfoEmissions) | - - -## Metagraph Data Structure +|------|--| +| `netuid` | Unique subnet identifier | +| `network` | Network name (finney, test, local) | +| `version` | Bittensor version number | +| `n` | Total number of neurons | +| `block` | Current blockchain block number | +| `total_stake` | Total stake across all neurons | +| **Stake** / `S` | Total stake of each neuron | +| **Alpha Stake** / `AS` | Alpha token stake | +| **Tao Stake** / `TS` | TAO token stake | +| **Ranks** / `R` | Performance ranking scores | +| **Trust** / `T` | Trust scores from other neurons | +| **Validator Trust** / `Tv` | Validator-specific trust scores | +| **Consensus** / `C` | Network consensus alignment | +| **Incentive** / `I` | Reward incentive scores | +| **Emission** / `E` | Token emission rates | +| **Dividends** / `D` | Dividend distributions | +| **Bonds** / `B` | Inter-neuronal bonds | +| **Weights** / `W` | Weight matrix between neurons | +| `uids` | Unique neuron identifiers | +| `hotkeys` | Neuron hotkey addresses | +| `coldkeys` | Neuron coldkey addresses | +| `addresses` | Network IP addresses | +| `axons` | Network connection details | +| `neurons` | Complete neuron objects | +| `active` | Neuron activity status | +| `last_update` | Last update block numbers | +| `validator_permit` | Bool array indicating whether each neuron can set weights (act as validator) | +| `name` | Subnet name | +| `symbol` | Subnet token symbol | +| `network_registered_at` | Registration block | +| `num_uids` | Current number of neurons | +| `max_uids` | Maximum allowed neurons | +| `identities` | List of chain identities | +| `identity` | Subnet identity information | +| `pruning_score` | List of pruning scores | +| `block_at_registration` | List of registration blocks | +| `tao_dividends_per_hotkey` | TAO dividends by hotkey | +| `alpha_dividends_per_hotkey` | Alpha dividends by hotkey | +| `last_step` | Last step block number | +| `tempo` | Block interval for updates | +| `blocks_since_last_step` | Blocks since last step | +| `owner_coldkey` | Subnet owner coldkey | +| `owner_hotkey` | Subnet owner hotkey | +| `hparams` | Subnet hyperparameters (MetagraphInfoParams) | +| `pool` | Liquidity pool information (MetagraphInfoPool) | +| `emissions` | Emission configuration (MetagraphInfoEmissions) | + +## Data Structures ### Neuron Object From 661ba5c5da3fa6e9b58b63344323fa3787fb0378 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 25 Jun 2025 16:49:44 -0700 Subject: [PATCH 104/303] wip --- docs/subnets/metagraph.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index f63b228f25..512cf14b32 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -13,7 +13,7 @@ Page Contents: - [Intro](#intro) - [Accessing the Metagraph](#accessing-the-metagraph) - [Metagraph Properties](#metagraph-properties) -- [Data Structures](data-structures) +- [Data Structures](#data-structures) - [Performance Considerations](#performance-considerations) - [Troubleshooting](#troubleshooting) - [Python Code Examples](#python-code-examples) From 877c54bd54fc104a09d3e5743470841586fdbfd0 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 25 Jun 2025 22:09:15 -0700 Subject: [PATCH 105/303] wip --- docs/subnets/yuma3-migration-guide.md | 47 --------------------------- 1 file changed, 47 deletions(-) diff --git a/docs/subnets/yuma3-migration-guide.md b/docs/subnets/yuma3-migration-guide.md index 56a7ead9c8..5353e358e6 100644 --- a/docs/subnets/yuma3-migration-guide.md +++ b/docs/subnets/yuma3-migration-guide.md @@ -101,50 +101,3 @@ Fine-tune the range of alpha values used in the sigmoid function: btcli sudo set --param alpha_high --value YOUR_VALUE --netuid YOUR_NETUID btcli sudo set --param alpha_low --value YOUR_VALUE --netuid YOUR_NETUID ``` - - -## Monitoring Your Migration - -After YC3 is active on your subnet, monitor these metrics: - -### Validator Performance -- Check that small validators are receiving appropriate rewards -- Verify bond accumulation is working correctly for all validator sizes -- Monitor individual alpha values being applied to validator-miner pairs - -### Bond Distribution -- Monitor bond allocation patterns -- Ensure no validators are experiencing zero-bond issues -- Check that early recognition is being rewarded appropriately - -### Consensus Behavior -- Watch for improved stability in consensus calculations -- Check that bond decay behavior is more predictable -- Monitor the effectiveness of Liquid Alpha if enabled - -## Troubleshooting - -### Common Issues - -#### Stabilization Period -- Symptom: Temporary fluctuations in rewards after migration -- Solution: Allow 2-3 tempo periods for the system to stabilize -- Expected: This is normal behavior during the transition as bonds adjust to new alpha values - -#### Zero Bond Issues (Pre-YC3) -- Symptom: Validators giving weight but receiving no bonds -- Solution: YC3 fixes this automatically through improved precision and individual alpha scaling - -#### Liquid Alpha Not Working -- Symptom: Expected early recognition rewards not materializing -- Check: Ensure Liquid Alpha is enabled and consensus values exist -- Solution: Verify network activity meets minimum thresholds for Liquid Alpha operation - -## Next Steps - -1. Monitor your subnet's current performance metrics -2. Consider enabling Liquid Alpha to enhance YC3 benefits -3. Plan for optional parameter tuning if desired -4. Stay updated on additional YC3 features as they're released -5. Consider the new parameters for optimizing your subnet's specific use case -6. Test advanced configurations on testnet before mainnet deployment \ No newline at end of file From 9cbc97f9ba75d3fe478d126624f51665e7b5b19e Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 26 Jun 2025 07:43:38 -0700 Subject: [PATCH 106/303] wip --- docs/subnets/metagraph.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index 512cf14b32..7a1835ebb9 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -59,7 +59,11 @@ You can access metagraph data through multiple interfaces: The `btcli` command-line interface provides easy access to metagraph information: ```bash -# View metagraph for a specific subnet +# Dump full metagraph to file +btcli subnets metagraph --netuid 14 --network finney \ + --json-output > sn14_full_metagraph.json + +# View abridged metagraph btcli subnets metagraph --netuid 14 --network finney ``` ```console @@ -80,13 +84,11 @@ The Bittensor Python SDK [Metagraph module](pathname:///python-api/html/autoapi/ ```python from bittensor.core.metagraph import Metagraph -from bittensor.core.subtensor import Subtensor -# Initialize metagraph for subnet 1 -metagraph = Metagraph(netuid=1, network="finney", sync=True) +# Initialize metagraph for subnet 14 +m = Metagraph(netuid=14, network="finney", sync=True) ``` - ### Smart Contract Access (Metagraph Precompile) For smart contract integration, you can access metagraph data through the **Metagraph Precompile** at address `0x0000000000000000000000000000000000000802`. This provides read-only access to individual neuron metrics and network information. @@ -101,6 +103,8 @@ Advanced users can query the metagraph directly through Polkadot extrinsics usin ## Metagraph Properties +In the Bittensor Python SDK, the Metagraph object allows query access to the following properties. + | Name | Description | |------|--| @@ -290,6 +294,8 @@ metagraph.save(root_dir=['/custom', 'path']) This section provides practical examples of working with the Bittensor metagraph using the Python SDK. Each example demonstrates different aspects of metagraph analysis and data extraction. +Code examples can be found [here](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/) + **Prerequisites**: - Bittensor Python SDK installed (`pip install bittensor`) - Network connection to access Bittensor blockchain @@ -304,7 +310,6 @@ This example shows how to access basic metagraph metadata and subnet information #!/usr/bin/env python3 from bittensor.core.metagraph import Metagraph -from bittensor.core.subtensor import Subtensor def main(): # Initialize metagraph for subnet 1 @@ -375,10 +380,6 @@ def main(): stake = stakes[idx].item() print(f" {i+1}. UID {uid}: {stake:.2f} τ") - # Analyze alpha vs tao stake distribution - alpha_ratio = alpha_stakes / (alpha_stakes + tao_stakes) - print(f"\nAverage alpha stake ratio: {alpha_ratio.mean().item():.2%}") - if __name__ == "__main__": main() ``` From 02b9c986cbc91af12d53a3cba5be0e1463eab4b9 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 26 Jun 2025 13:25:20 -0700 Subject: [PATCH 107/303] wip --- docs/subnets/metagraph.md | 197 ++++-------------- .../code-examples/01_basic_metagraph_info.py | 28 --- .../02_neuron_metrics_analysis.py | 38 ---- .../03_performance_ranking_analysis.py | 48 ----- static/code-examples/04_economic_analysis.py | 39 ---- .../05_network_connectivity_analysis.py | 46 ---- .../06_weight_matrix_analysis.py | 51 ----- static/code-examples/07_bond_analysis.py | 33 --- .../08_neuron_activity_analysis.py | 53 ----- .../09_subnet_economic_parameters.py | 48 ----- .../10_advanced_analysis_examples.py | 68 ------ static/code-examples/11_async_usage.py | 33 --- .../12_complete_neuron_information.py | 35 ---- static/code-examples/13_common_use_cases.py | 82 -------- 14 files changed, 36 insertions(+), 763 deletions(-) delete mode 100644 static/code-examples/01_basic_metagraph_info.py delete mode 100644 static/code-examples/02_neuron_metrics_analysis.py delete mode 100644 static/code-examples/03_performance_ranking_analysis.py delete mode 100644 static/code-examples/04_economic_analysis.py delete mode 100644 static/code-examples/05_network_connectivity_analysis.py delete mode 100644 static/code-examples/06_weight_matrix_analysis.py delete mode 100644 static/code-examples/07_bond_analysis.py delete mode 100644 static/code-examples/08_neuron_activity_analysis.py delete mode 100644 static/code-examples/09_subnet_economic_parameters.py delete mode 100644 static/code-examples/10_advanced_analysis_examples.py delete mode 100644 static/code-examples/11_async_usage.py delete mode 100644 static/code-examples/12_complete_neuron_information.py delete mode 100644 static/code-examples/13_common_use_cases.py diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index 7a1835ebb9..43818a607e 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -132,7 +132,7 @@ In the Bittensor Python SDK, the Metagraph object allows query access to the fol | `addresses` | Network IP addresses | | `axons` | Network connection details | | `neurons` | Complete neuron objects | -| `active` | Neuron activity status | +| `active` | Neuron is active as a validator, i.e. has set weights on the last tempo. | | `last_update` | Last update block numbers | | `validator_permit` | Bool array indicating whether each neuron can set weights (act as validator) | | `name` | Subnet name | @@ -302,11 +302,11 @@ Code examples can be found [here](https://github.com/latent-to/developer-docs/tr - Python 3.7+ environment -### 1. Basic Metagraph Information +### Basic Metagraph Information This example shows how to access basic metagraph metadata and subnet information: -```python title="01_basic_metagraph_info.py" +```python #!/usr/bin/env python3 from bittensor.core.metagraph import Metagraph @@ -336,18 +336,12 @@ if __name__ == "__main__": main() ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/01_basic_metagraph_info.py) - -**Key Features:** -- Initialize metagraph for a specific subnet -- Access basic metadata (network, subnet UID, total neurons, current block) -- Retrieve subnet identity information (name, symbol, registration details) -### 2. Neuron Metrics Analysis +### Neuron Metrics Analysis This example demonstrates stake distribution and neuron metrics analysis: -```python title="02_neuron_metrics_analysis.py" +```python #!/usr/bin/env python3 from bittensor.core.metagraph import Metagraph @@ -384,19 +378,12 @@ if __name__ == "__main__": main() ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/02_neuron_metrics_analysis.py) -**Key Features:** -- Analyze total, average, highest, and lowest stake across neurons -- Find top 10 staked neurons -- Calculate alpha vs TAO stake distribution ratios -- Handle both alpha and TAO token stakes - -### 3. Performance and Ranking Analysis +### Performance and Ranking Analysis This example shows how to analyze neuron performance, ranks, and trust scores: -```python title="03_performance_ranking_analysis.py" +```python #!/usr/bin/env python3 from bittensor.core.metagraph import Metagraph @@ -447,19 +434,12 @@ if __name__ == "__main__": main() ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/03_performance_ranking_analysis.py) -**Key Features:** -- Find top performing neurons by rank -- Analyze trust score distribution (mean, std dev, min/max) -- Identify most trusted validators -- Access consensus scores and validator trust metrics - -### 4. Economic Analysis +### Economic Analysis This example demonstrates analysis of economic metrics like incentives, emissions, and dividends: -```python title="04_economic_analysis.py" +```python #!/usr/bin/env python3 from bittensor.core.metagraph import Metagraph @@ -501,19 +481,12 @@ if __name__ == "__main__": main() ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/04_economic_analysis.py) -**Key Features:** -- Calculate total and average incentives across the network -- Find highest incentivized neurons -- Analyze dividend distribution statistics -- Correlate incentives with emissions and dividends - -### 5. Network Connectivity Analysis +### Network Connectivity Analysis This example shows how to analyze network addresses and axon information: -```python title="05_network_connectivity_analysis.py" +```python #!/usr/bin/env python3 from bittensor.core.metagraph import Metagraph @@ -562,21 +535,13 @@ if __name__ == "__main__": main() ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/05_network_connectivity_analysis.py) -**Key Features:** -- Count unique network addresses, hotkeys, and coldkeys -- Identify neurons sharing the same network addresses -- Display detailed axon information for neurons -- Analyze network topology and connectivity patterns - - -### 6. Weight Matrix Analysis +### Weight Matrix Analysis This example demonstrates weight matrix analysis (requires `lite=False`): -```python title="06_weight_matrix_analysis.py" +```python #!/usr/bin/env python3 from bittensor.core.metagraph import Metagraph @@ -598,7 +563,7 @@ def main(): print(f"Average weight: {weights.mean().item():.4f}") print(f"Max weight: {weights.max().item():.4f}") - # Find neurons receiving most weights + # Find miners receiving most weights weight_received = weights.sum(axis=0) # Sum of incoming weights top_receivers = weight_received.argsort()[::-1][:10] print("\n=== Top 10 Weight Receivers ===") @@ -607,16 +572,16 @@ def main(): total_weight = weight_received[idx].item() print(f" {i+1}. UID {uid}: {total_weight:.4f}") - # Find neurons sending most weights + # Find validators sending most weights weight_sent = weights.sum(axis=1) # Sum of outgoing weights top_senders = weight_sent.argsort()[::-1][:10] - print("\n=== Top 10 Weight Senders ===") + print("\n=== Top 10 Weight Setters ===") for i, idx in enumerate(top_senders): uid = uids[idx].item() total_weight = weight_sent[idx].item() print(f" {i+1}. UID {uid}: {total_weight:.4f}") - # Find strongest connections + # Find highest set weight max_weight_idx = weights.argmax() sender_idx = max_weight_idx // weights.shape[1] receiver_idx = max_weight_idx % weights.shape[1] @@ -630,20 +595,11 @@ if __name__ == "__main__": main() ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/06_weight_matrix_analysis.py) - -**Key Features:** -- Analyze weight matrix shape and statistics -- Find neurons receiving the most weights (incoming connections) -- Find neurons sending the most weights (outgoing connections) -- Identify the strongest connection between neurons -- Requires full sync mode for weight data access - -### 7. Bond Analysis +### Bond Analysis This example shows bond matrix analysis (requires `lite=False`): -```python title="07_bond_analysis.py" +```python #!/usr/bin/env python3 from bittensor.core.metagraph import Metagraph @@ -664,7 +620,7 @@ def main(): print(f"Total bonds: {bonds.sum().item():.4f}") print(f"Average bond: {bonds.mean().item():.4f}") - # Find neurons with most bonds + # Find miners with most bonds bonds_received = bonds.sum(axis=0) # Sum of incoming bonds top_bonded = bonds_received.argsort()[::-1][:10] print("\n=== Top 10 Bonded Neurons ===") @@ -679,19 +635,12 @@ if __name__ == "__main__": main() ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/07_bond_analysis.py) - -**Key Features:** -- Analyze bond matrix shape and total bonds -- Find neurons with the most bonds -- Calculate average bond values -- Requires full sync mode for bond data access -### 8. Neuron Activity Analysis +### Neuron Activity Analysis -This example demonstrates neuron activity and validator status analysis: +This example demonstrates analyzing validator activity: -```python title="08_neuron_activity_analysis.py" +```python #!/usr/bin/env python3 from bittensor.core.metagraph import Metagraph @@ -713,9 +662,9 @@ def main(): active_count = active.sum().item() total_count = len(active) print(f"\n=== Activity Analysis ===") - print(f"Active neurons: {active_count}/{total_count} ({active_count/total_count:.1%})") + print(f"Active validators: {active_count}/{total_count} ({active_count/total_count:.1%})") - # Find inactive neurons + # Find all nuerons not actively setting weights inactive_indices = (active == 0).nonzero()[0] if len(inactive_indices) > 0: print("\n=== Inactive Neurons (First 10) ===") @@ -747,19 +696,13 @@ if __name__ == "__main__": main() ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/08_neuron_activity_analysis.py) -**Key Features:** -- Calculate active vs inactive neuron ratios -- Find inactive neurons and their last update blocks -- Analyze validator distribution and permissions -- Display validator details with stake and rank information -### 9. Subnet Economic Parameters +### Subnet Economic Parameters This example shows how to access subnet hyperparameters, pool, and emissions: -```python title="09_subnet_economic_parameters.py" +```python #!/usr/bin/env python3 from bittensor.core.metagraph import Metagraph @@ -810,19 +753,13 @@ if __name__ == "__main__": main() ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/09_subnet_economic_parameters.py) -**Key Features:** -- Access subnet hyperparameters (activity cutoff, adjustment alpha, etc.) -- View liquidity pool information (alpha/TAO amounts, volume, price) -- Analyze emission configuration and pending emissions -- Access economic parameters that control subnet behavior -### 10. Advanced Analysis Examples +### Advanced Analysis Examples -This example demonstrates advanced analysis techniques including correlations and Gini coefficient: +This example demonstrates advanced analysis techniques including correlations and [Gini coefficient](https://en.wikipedia.org/wiki/Gini_coefficient) of stake distribution. -```python title="10_advanced_analysis_examples.py" +```python #!/usr/bin/env python3 import numpy as np @@ -893,22 +830,12 @@ if __name__ == "__main__": main() ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/10_advanced_analysis_examples.py) - -**Key Features:** -- Calculate correlations between stake, rank, and trust metrics -- Analyze network efficiency through weight distribution -- Calculate stake concentration using percentiles -- Compute Gini coefficient for stake inequality measurement -- Handle missing weight data gracefully - - -### 11. Async Usage +### Async Usage This example demonstrates async metagraph usage: -```python title="11_async_usage.py" +```python #!/usr/bin/env python3 import asyncio @@ -928,35 +855,20 @@ async def analyze_metagraph(): await metagraph.sync() print(f"Synced to block: {metagraph.block.item()}") -async def use_factory(): - print("Using factory function...") - metagraph = await async_metagraph(netuid=1, sync=True) - print(f"Factory metagraph has {metagraph.n.item()} neurons") - async def main(): print("=== Async Metagraph Analysis ===") await analyze_metagraph() - print("\n=== Factory Function Example ===") - await use_factory() if __name__ == "__main__": # Run async analysis asyncio.run(main()) ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/11_async_usage.py) - -**Key Features:** -- Use async metagraph for non-blocking operations -- Sync to latest block asynchronously -- Demonstrate factory function usage -- Handle async operations with proper await syntax - -### 12. Complete Neuron Information +### Complete Neuron Information This example shows how to access complete neuron object information: -```python title="12_complete_neuron_information.py" +```python #!/usr/bin/env python3 from bittensor.core.metagraph import Metagraph @@ -994,19 +906,12 @@ if __name__ == "__main__": main() ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/12_complete_neuron_information.py) -**Key Features:** -- Display comprehensive neuron information for multiple neurons -- Show all available neuron properties in a structured format -- Access complete neuron objects with all metadata -- Format output for easy reading and analysis - -### 13. Common Use Cases +### Common Use Cases This example demonstrates common use cases like subnet analysis and validator selection: -```python title="13_common_use_cases.py" +```python #!/usr/bin/env python3 import bittensor as bt @@ -1091,33 +996,3 @@ if __name__ == "__main__": main() ``` -[View source file](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/13_common_use_cases.py) - -**Key Features:** -- Analyze subnet health and activity rates -- Find top validators by rank -- Analyze weight distribution for network topology -- Provide reusable functions for common analysis tasks -- Handle errors gracefully for missing data - -### Running the Examples - -All examples can be run directly from the command line: - -```bash -# Navigate to the code examples directory -cd docs/subnets/code-examples - -# Run individual examples -python3 01_basic_metagraph_info.py -python3 02_neuron_metrics_analysis.py -# ... etc - -# Or run all examples in sequence -for script in *.py; do - echo "Running $script..." - python3 "$script" - echo "---" -done -``` - diff --git a/static/code-examples/01_basic_metagraph_info.py b/static/code-examples/01_basic_metagraph_info.py deleted file mode 100644 index 70240f5ec1..0000000000 --- a/static/code-examples/01_basic_metagraph_info.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python3 - -from bittensor.core.metagraph import Metagraph -from bittensor.core.subtensor import Subtensor - -def main(): - # Initialize metagraph for subnet 1 - print("Initializing metagraph for subnet 1...") - metagraph = Metagraph(netuid=1, network="finney", sync=True) - - # Get basic metagraph metadata - print("\n=== Basic Metagraph Metadata ===") - print(f"Network: {metagraph.network}") - print(f"Subnet UID: {metagraph.netuid}") - print(f"Total neurons: {metagraph.n.item()}") - print(f"Current block: {metagraph.block.item()}") - print(f"Version: {metagraph.version.item()}") - - # Get subnet information - print("\n=== Subnet Information ===") - print(f"Subnet name: {metagraph.name}") - print(f"Subnet symbol: {metagraph.symbol}") - print(f"Registered at block: {metagraph.network_registered_at}") - print(f"Max UIDs: {metagraph.max_uids}") - print(f"Owner: {metagraph.owner_coldkey}") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/static/code-examples/02_neuron_metrics_analysis.py b/static/code-examples/02_neuron_metrics_analysis.py deleted file mode 100644 index 76fccbe982..0000000000 --- a/static/code-examples/02_neuron_metrics_analysis.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python3 - -from bittensor.core.metagraph import Metagraph - -def main(): - # Initialize metagraph for subnet 1 - print("Initializing metagraph for subnet 1...") - metagraph = Metagraph(netuid=1, network="finney", sync=True) - - # Get all neuron UIDs - uids = metagraph.uids - print(f"\nNeuron UIDs: {uids.tolist()}") - - # Analyze stake distribution - stakes = metagraph.S # Total stake - alpha_stakes = metagraph.AS # Alpha token stake - tao_stakes = metagraph.TS # TAO token stake - - print(f"\n=== Stake Analysis ===") - print(f"Total stake across all neurons: {stakes.sum().item():.2f}") - print(f"Average stake per neuron: {stakes.mean().item():.2f}") - print(f"Highest stake: {stakes.max().item():.2f}") - print(f"Lowest stake: {stakes.min().item():.2f}") - - # Find top staked neurons - top_staked_indices = stakes.argsort()[::-1][:10] - print("\nTop 10 staked neurons:") - for i, idx in enumerate(top_staked_indices): - uid = uids[idx].item() - stake = stakes[idx].item() - print(f" {i+1}. UID {uid}: {stake:.2f} τ") - - # Analyze alpha vs tao stake distribution - alpha_ratio = alpha_stakes / (alpha_stakes + tao_stakes) - print(f"\nAverage alpha stake ratio: {alpha_ratio.mean().item():.2%}") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/static/code-examples/03_performance_ranking_analysis.py b/static/code-examples/03_performance_ranking_analysis.py deleted file mode 100644 index b4e8df5cc8..0000000000 --- a/static/code-examples/03_performance_ranking_analysis.py +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env python3 - -from bittensor.core.metagraph import Metagraph - -def main(): - # Initialize metagraph for subnet 1 - print("Initializing metagraph for subnet 1...") - metagraph = Metagraph(netuid=1, network="finney", sync=True) - - # Get performance metrics - ranks = metagraph.R # Performance ranks - trust = metagraph.T # Trust scores - consensus = metagraph.C # Consensus scores - validator_trust = metagraph.Tv # Validator trust - uids = metagraph.uids - - # Find top performing neurons - top_ranked_indices = ranks.argsort()[::-1][:10] - print("\n=== Top 10 Ranked Neurons ===") - for i, idx in enumerate(top_ranked_indices): - uid = uids[idx].item() - rank = ranks[idx].item() - trust_score = trust[idx].item() - consensus_score = consensus[idx].item() - print(f" {i+1}. UID {uid}: Rank={rank:.4f}, Trust={trust_score:.4f}, Consensus={consensus_score:.4f}") - - # Analyze trust distribution - print(f"\n=== Trust Analysis ===") - print(f"Average trust score: {trust.mean().item():.4f}") - print(f"Trust score std dev: {trust.std().item():.4f}") - print(f"Highest trust: {trust.max().item():.4f}") - print(f"Lowest trust: {trust.min().item():.4f}") - - # Find most trusted validators - validator_indices = metagraph.validator_permit.nonzero()[0] - if len(validator_indices) > 0: - validator_trust_scores = validator_trust[validator_indices] - top_validators = validator_indices[validator_trust_scores.argsort()[::-1][:5]] - print("\n=== Top 5 Trusted Validators ===") - for i, idx in enumerate(top_validators): - uid = uids[idx].item() - vtrust = validator_trust[idx].item() - print(f" {i+1}. UID {uid}: Validator Trust={vtrust:.4f}") - else: - print("\nNo validators found in this subnet.") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/static/code-examples/04_economic_analysis.py b/static/code-examples/04_economic_analysis.py deleted file mode 100644 index b3c27b7d07..0000000000 --- a/static/code-examples/04_economic_analysis.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env python3 - -from bittensor.core.metagraph import Metagraph - -def main(): - # Initialize metagraph for subnet 1 - print("Initializing metagraph for subnet 1...") - metagraph = Metagraph(netuid=1, network="finney", sync=True) - - # Get economic metrics - incentives = metagraph.I # Incentive scores - emissions = metagraph.E # Emission rates - dividends = metagraph.D # Dividend distributions - uids = metagraph.uids - - # Analyze incentive distribution - print(f"\n=== Incentive Analysis ===") - print(f"Total incentives: {incentives.sum().item():.4f}") - print(f"Average incentive: {incentives.mean().item():.4f}") - print(f"Highest incentive: {incentives.max().item():.4f}") - - # Find highest incentivized neurons - top_incentive_indices = incentives.argsort()[::-1][:10] - print("\n=== Top 10 Incentivized Neurons ===") - for i, idx in enumerate(top_incentive_indices): - uid = uids[idx].item() - incentive = incentives[idx].item() - emission = emissions[idx].item() - dividend = dividends[idx].item() - print(f" {i+1}. UID {uid}: Incentive={incentive:.4f}, Emission={emission:.4f}, Dividend={dividend:.4f}") - - # Analyze dividend distribution - print(f"\n=== Dividend Analysis ===") - print(f"Total dividends: {dividends.sum().item():.4f}") - print(f"Average dividend: {dividends.mean().item():.4f}") - print(f"Dividend std dev: {dividends.std().item():.4f}") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/static/code-examples/05_network_connectivity_analysis.py b/static/code-examples/05_network_connectivity_analysis.py deleted file mode 100644 index 112694464e..0000000000 --- a/static/code-examples/05_network_connectivity_analysis.py +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env python3 - -from bittensor.core.metagraph import Metagraph - -def main(): - # Initialize metagraph for subnet 1 - print("Initializing metagraph for subnet 1...") - metagraph = Metagraph(netuid=1, network="finney", sync=True) - - # Get network information - axons = metagraph.axons - uids = metagraph.uids - - # Analyze network addresses - addresses = [axon.ip for axon in axons] - unique_addresses = set(addresses) - unique_hotkeys = set(metagraph.hotkeys) - unique_coldkeys = set(metagraph.coldkeys) - - print(f"\n=== Network Address Analysis ===") - print(f"Total unique addresses: {len(unique_addresses)}") - print(f"Total unique hotkeys: {len(unique_hotkeys)}") - print(f"Total unique coldkeys: {len(unique_coldkeys)}") - - # Find neurons sharing addresses - address_to_uids = {} - for i, address in enumerate(addresses): - if address not in address_to_uids: - address_to_uids[address] = [] - address_to_uids[address].append(uids[i].item()) - - print(f"\n=== Neurons Sharing Addresses ===") - for address, uids_list in address_to_uids.items(): - if len(uids_list) > 1: - print(f" Address {address}: UIDs {uids_list}") - - # Show axon details for first few neurons - print(f"\n=== Axon Details (First 5 Neurons) ===") - for i in range(min(5, len(axons))): - axon = axons[i] - uid = uids[i].item() - hotkey = metagraph.hotkeys[i][:10] + "..." - print(f" UID {uid}: IP={axon.ip}, Port={axon.port}, Hotkey={hotkey}") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/static/code-examples/06_weight_matrix_analysis.py b/static/code-examples/06_weight_matrix_analysis.py deleted file mode 100644 index 605fe328d7..0000000000 --- a/static/code-examples/06_weight_matrix_analysis.py +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env python3 - -from bittensor.core.metagraph import Metagraph - -def main(): - # Initialize metagraph for subnet 1 with full sync (not lite) - print("Initializing metagraph for subnet 1 (full sync)...") - metagraph = Metagraph(netuid=1, network="finney", lite=False, sync=True) - - uids = metagraph.uids - - # Get weight matrix (requires lite=False) - if not metagraph.lite and hasattr(metagraph, 'weights') and metagraph.weights.size > 0: - weights = metagraph.W # Weight matrix - - print(f"\n=== Weight Matrix Analysis ===") - print(f"Weight matrix shape: {weights.shape}") - print(f"Total weights: {weights.sum().item():.4f}") - print(f"Average weight: {weights.mean().item():.4f}") - print(f"Max weight: {weights.max().item():.4f}") - - # Find neurons receiving most weights - weight_received = weights.sum(axis=0) # Sum of incoming weights - top_receivers = weight_received.argsort()[::-1][:10] - print("\n=== Top 10 Weight Receivers ===") - for i, idx in enumerate(top_receivers): - uid = uids[idx].item() - total_weight = weight_received[idx].item() - print(f" {i+1}. UID {uid}: {total_weight:.4f}") - - # Find neurons sending most weights - weight_sent = weights.sum(axis=1) # Sum of outgoing weights - top_senders = weight_sent.argsort()[::-1][:10] - print("\n=== Top 10 Weight Senders ===") - for i, idx in enumerate(top_senders): - uid = uids[idx].item() - total_weight = weight_sent[idx].item() - print(f" {i+1}. UID {uid}: {total_weight:.4f}") - - # Find strongest connections - max_weight_idx = weights.argmax() - sender_idx = max_weight_idx // weights.shape[1] - receiver_idx = max_weight_idx % weights.shape[1] - max_weight = weights.max().item() - print(f"\n=== Strongest Connection ===") - print(f"UID {uids[sender_idx].item()} -> UID {uids[receiver_idx].item()}: {max_weight:.4f}") - else: - print("Weights not available. Make sure to use lite=False when initializing the metagraph.") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/static/code-examples/07_bond_analysis.py b/static/code-examples/07_bond_analysis.py deleted file mode 100644 index 47a25379c8..0000000000 --- a/static/code-examples/07_bond_analysis.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python3 - -from bittensor.core.metagraph import Metagraph - -def main(): - # Initialize metagraph for subnet 1 with full sync (not lite) - print("Initializing metagraph for subnet 1 (full sync)...") - metagraph = Metagraph(netuid=1, network="finney", lite=False, sync=True) - - uids = metagraph.uids - - # Get bond matrix (requires lite=False) - if not metagraph.lite and hasattr(metagraph, 'bonds') and metagraph.bonds.size > 0: - bonds = metagraph.B # Bond matrix - - print(f"\n=== Bond Matrix Analysis ===") - print(f"Bond matrix shape: {bonds.shape}") - print(f"Total bonds: {bonds.sum().item():.4f}") - print(f"Average bond: {bonds.mean().item():.4f}") - - # Find neurons with most bonds - bonds_received = bonds.sum(axis=0) # Sum of incoming bonds - top_bonded = bonds_received.argsort()[::-1][:10] - print("\n=== Top 10 Bonded Neurons ===") - for i, idx in enumerate(top_bonded): - uid = uids[idx].item() - total_bonds = bonds_received[idx].item() - print(f" {i+1}. UID {uid}: {total_bonds:.4f}") - else: - print("Bonds not available. Make sure to use lite=False when initializing the metagraph.") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/static/code-examples/08_neuron_activity_analysis.py b/static/code-examples/08_neuron_activity_analysis.py deleted file mode 100644 index 414fcabd46..0000000000 --- a/static/code-examples/08_neuron_activity_analysis.py +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env python3 - -from bittensor.core.metagraph import Metagraph - -def main(): - # Initialize metagraph for subnet 1 - print("Initializing metagraph for subnet 1...") - metagraph = Metagraph(netuid=1, network="finney", sync=True) - - # Get activity information - active = metagraph.active # Activity status - last_update = metagraph.last_update # Last update blocks - validator_permit = metagraph.validator_permit # Validator permissions - uids = metagraph.uids - stakes = metagraph.S - ranks = metagraph.R - - # Analyze activity - active_count = active.sum().item() - total_count = len(active) - print(f"\n=== Activity Analysis ===") - print(f"Active neurons: {active_count}/{total_count} ({active_count/total_count:.1%})") - - # Find inactive neurons - inactive_indices = (active == 0).nonzero()[0] - if len(inactive_indices) > 0: - print("\n=== Inactive Neurons (First 10) ===") - for idx in inactive_indices[:10]: # Show first 10 - uid = uids[idx].item() - last_block = last_update[idx].item() - print(f" UID {uid}: Last update at block {last_block}") - else: - print("\nAll neurons are active.") - - # Analyze validator distribution - validator_count = validator_permit.sum().item() - print(f"\n=== Validator Analysis ===") - print(f"Validators: {validator_count}/{total_count} ({validator_count/total_count:.1%})") - - # Find validators - validator_indices = validator_permit.nonzero()[0] - if len(validator_indices) > 0: - print("\n=== Validators ===") - for idx in validator_indices: - uid = uids[idx].item() - stake = stakes[idx].item() - rank = ranks[idx].item() - print(f" UID {uid}: Stake={stake:.2f}, Rank={rank:.4f}") - else: - print("\nNo validators found in this subnet.") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/static/code-examples/09_subnet_economic_parameters.py b/static/code-examples/09_subnet_economic_parameters.py deleted file mode 100644 index 505039787d..0000000000 --- a/static/code-examples/09_subnet_economic_parameters.py +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env python3 - -from bittensor.core.metagraph import Metagraph - -def main(): - # Initialize metagraph for subnet 1 - print("Initializing metagraph for subnet 1...") - metagraph = Metagraph(netuid=1, network="finney", sync=True) - - # Get subnet hyperparameters - hparams = metagraph.hparams - print(f"\n=== Subnet Hyperparameters ===") - print(f" Activity cutoff: {hparams.activity_cutoff}") - print(f" Adjustment alpha: {hparams.adjustment_alpha}") - print(f" Adjustment interval: {hparams.adjustment_interval}") - print(f" Alpha high: {hparams.alpha_high}") - print(f" Alpha low: {hparams.alpha_low}") - print(f" Burn rate: {hparams.burn_rate}") - print(f" Max burn: {hparams.max_burn}") - print(f" Min burn: {hparams.min_burn}") - print(f" Difficulty: {hparams.difficulty}") - print(f" Max difficulty: {hparams.max_difficulty}") - print(f" Min difficulty: {hparams.min_difficulty}") - print(f" Max validators: {hparams.max_validators}") - print(f" Tempo: {hparams.tempo}") - print(f" Weights version: {hparams.weights_version}") - - # Get subnet pool information - pool = metagraph.pool - print(f"\n=== Subnet Pool ===") - print(f" Alpha out: {pool.alpha_out}") - print(f" Alpha in: {pool.alpha_in}") - print(f" TAO in: {pool.tao_in}") - print(f" Subnet volume: {pool.subnet_volume}") - print(f" Moving price: {pool.moving_price}") - - # Get subnet emissions - emissions = metagraph.emissions - print(f"\n=== Subnet Emissions ===") - print(f" Alpha out emission: {emissions.alpha_out_emission}") - print(f" Alpha in emission: {emissions.alpha_in_emission}") - print(f" Subnet emission: {emissions.subnet_emission}") - print(f" TAO in emission: {emissions.tao_in_emission}") - print(f" Pending alpha emission: {emissions.pending_alpha_emission}") - print(f" Pending root emission: {emissions.pending_root_emission}") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/static/code-examples/10_advanced_analysis_examples.py b/static/code-examples/10_advanced_analysis_examples.py deleted file mode 100644 index 3290821c23..0000000000 --- a/static/code-examples/10_advanced_analysis_examples.py +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env python3 - -import numpy as np -from bittensor.core.metagraph import Metagraph - -def main(): - # Initialize metagraph for subnet 1 - print("Initializing metagraph for subnet 1...") - metagraph = Metagraph(netuid=1, network="finney", sync=True) - - # Get basic metrics - stakes = metagraph.S - ranks = metagraph.R - trust = metagraph.T - uids = metagraph.uids - - # Correlation analysis between metrics - print("\n=== Metric Correlations ===") - try: - # Calculate correlations - stake_rank_corr = np.corrcoef(stakes, ranks)[0, 1] - stake_trust_corr = np.corrcoef(stakes, trust)[0, 1] - rank_trust_corr = np.corrcoef(ranks, trust)[0, 1] - - print("Metric Correlations:") - print(f" Stake vs Rank: {stake_rank_corr:.4f}") - print(f" Stake vs Trust: {stake_trust_corr:.4f}") - print(f" Rank vs Trust: {rank_trust_corr:.4f}") - except Exception as e: - print(f"Could not calculate correlations: {e}") - - # Network efficiency analysis (if weights are available) - if not metagraph.lite and hasattr(metagraph, 'weights') and metagraph.weights.size > 0: - weights = metagraph.W - - print("\n=== Network Efficiency Analysis ===") - # Calculate network efficiency (average path length) - non_zero_weights = weights[weights > 0] - if len(non_zero_weights) > 0: - avg_weight = non_zero_weights.mean().item() - weight_std = non_zero_weights.std().item() - print(f"Network efficiency:") - print(f" Average non-zero weight: {avg_weight:.4f}") - print(f" Weight standard deviation: {weight_std:.4f}") - print(f" Weight distribution CV: {weight_std/avg_weight:.4f}") - else: - print("\nWeights not available for network efficiency analysis.") - - # Stake concentration analysis - print("\n=== Stake Concentration Analysis ===") - total_stake = stakes.sum().item() - try: - stake_percentiles = np.percentile(stakes, [25, 50, 75, 90, 95, 99]) - print("Stake distribution percentiles:") - for p, val in zip([25, 50, 75, 90, 95, 99], stake_percentiles): - print(f" {p}th percentile: {val:.2f} τ") - - # Gini coefficient for stake inequality - sorted_stakes = np.sort(stakes) - n = len(sorted_stakes) - cumulative_stakes = np.cumsum(sorted_stakes) - gini = (n + 1 - 2 * np.sum(cumulative_stakes) / cumulative_stakes[-1]) / n - print(f"Stake Gini coefficient: {gini:.4f}") - except Exception as e: - print(f"Could not calculate stake concentration metrics: {e}") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/static/code-examples/11_async_usage.py b/static/code-examples/11_async_usage.py deleted file mode 100644 index cdfd599c06..0000000000 --- a/static/code-examples/11_async_usage.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python3 - -import asyncio -from bittensor.core.metagraph import async_metagraph - -async def analyze_metagraph(): - # Create async metagraph - print("Creating async metagraph...") - metagraph = await async_metagraph(netuid=1, network="finney", lite=False) - - # Perform analysis - stakes = metagraph.S - print(f"Total stake: {stakes.sum().item():.2f}") - - # Sync to latest block - print("Syncing to latest block...") - await metagraph.sync() - print(f"Synced to block: {metagraph.block.item()}") - -async def use_factory(): - print("Using factory function...") - metagraph = await async_metagraph(netuid=1, sync=True) - print(f"Factory metagraph has {metagraph.n.item()} neurons") - -async def main(): - print("=== Async Metagraph Analysis ===") - await analyze_metagraph() - print("\n=== Factory Function Example ===") - await use_factory() - -if __name__ == "__main__": - # Run async analysis - asyncio.run(main()) \ No newline at end of file diff --git a/static/code-examples/12_complete_neuron_information.py b/static/code-examples/12_complete_neuron_information.py deleted file mode 100644 index c7f7d98536..0000000000 --- a/static/code-examples/12_complete_neuron_information.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python3 - -from bittensor.core.metagraph import Metagraph - -def main(): - # Initialize metagraph for subnet 1 - print("Initializing metagraph for subnet 1...") - metagraph = Metagraph(netuid=1, network="finney", sync=True) - - # Get complete neuron information for first 5 neurons - print("=== Complete Neuron Information (First 5 Neurons) ===") - - for i in range(min(5, metagraph.n.item())): - neuron = metagraph.neurons[i] - print(f"\nNeuron {i}:") - print(f" UID: {neuron.uid}") - print(f" Hotkey: {neuron.hotkey}") - print(f" Coldkey: {neuron.coldkey}") - print(f" Stake: τ{neuron.stake:.9f}") - print(f" Rank: {neuron.rank}") - print(f" Trust: {neuron.trust}") - print(f" Consensus: {neuron.consensus}") - print(f" Incentive: {neuron.incentive}") - print(f" Emission: {neuron.emission}") - print(f" Dividends: {neuron.dividends}") - print(f" Active: {neuron.active}") - print(f" Last update: {neuron.last_update}") - print(f" Validator permit: {neuron.validator_permit}") - print(f" Validator trust: {neuron.validator_trust}") - print(f" Axon IP: {neuron.axon.ip}") - print(f" Axon port: {neuron.axon.port}") - print(f" ---") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/static/code-examples/13_common_use_cases.py b/static/code-examples/13_common_use_cases.py deleted file mode 100644 index 894b6f42ed..0000000000 --- a/static/code-examples/13_common_use_cases.py +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/env python3 - -import bittensor as bt - -def analyze_subnet(netuid): - """Analyze subnet health""" - print(f"Analyzing subnet {netuid}...") - metagraph = bt.metagraph(netuid=netuid) - metagraph.sync() - - total_neurons = metagraph.n.item() - active_neurons = metagraph.active.sum().item() - total_stake = metagraph.S.sum().item() - - print(f"Subnet {netuid} Analysis:") - print(f" Total neurons: {total_neurons}") - print(f" Active neurons: {active_neurons}") - print(f" Total stake: {total_stake}") - print(f" Activity rate: {active_neurons/total_neurons:.2%}") - -def get_top_validators(netuid, top_k=10): - """Find top validators""" - print(f"Finding top {top_k} validators for subnet {netuid}...") - metagraph = bt.metagraph(netuid=netuid) - metagraph.sync() - - # Get validator permits - validator_mask = metagraph.validator_permit - - # Get ranks for validators only - validator_ranks = metagraph.R[validator_mask] - validator_uids = metagraph.uids[validator_mask] - - # Sort by rank - sorted_indices = validator_ranks.argsort()[::-1] - top_validators = validator_uids[sorted_indices][:top_k] - - print(f"Top {top_k} validators:") - for i, uid in enumerate(top_validators): - print(f" {i+1}. UID {uid.item()}") - - return top_validators.tolist() - -def analyze_weights(netuid): - """Analyze weight distribution""" - print(f"Analyzing weights for subnet {netuid}...") - metagraph = bt.metagraph(netuid=netuid, lite=False) - metagraph.sync() - - weights = metagraph.W - print(f"Weight matrix shape: {weights.shape}") - - # Find neurons with most incoming weights - incoming_weights = weights.sum(axis=0) - top_receivers = incoming_weights.argsort()[::-1][:10] - print(f"Top 10 weight receivers: {top_receivers.tolist()}") - - # Find neurons with most outgoing weights - outgoing_weights = weights.sum(axis=1) - top_senders = outgoing_weights.argsort()[::-1][:10] - print(f"Top 10 weight senders: {top_senders.tolist()}") - -def main(): - print("=== Common Use Cases Examples ===") - - # Example 1: Subnet Analysis - print("\n1. Subnet Analysis") - analyze_subnet(1) - - # Example 2: Validator Selection - print("\n2. Validator Selection") - get_top_validators(1, top_k=5) - - # Example 3: Weight Analysis - print("\n3. Weight Analysis") - try: - analyze_weights(1) - except Exception as e: - print(f"Weight analysis failed: {e}") - -if __name__ == "__main__": - main() \ No newline at end of file From 2a2a2b9d7f890d6850f6699300b15013b6364c2f Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 26 Jun 2025 15:57:47 -0700 Subject: [PATCH 108/303] wip --- docs/learn/neurons.md | 6 ++ docs/subnets/metagraph.md | 204 +++++++++++++------------------------- 2 files changed, 76 insertions(+), 134 deletions(-) diff --git a/docs/learn/neurons.md b/docs/learn/neurons.md index f68fc8a09f..80adf8ed77 100644 --- a/docs/learn/neurons.md +++ b/docs/learn/neurons.md @@ -7,6 +7,12 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Understanding Neurons + + + The design of Bittensor subnets is inspired by the structure of a simple neural network, with each **neuron** being either a miner or validator. :::tip Neuron requirements diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index 43818a607e..66a34d99b9 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -101,162 +101,98 @@ For detailed smart contract examples and complete ABI, see the [Metagraph Precom Advanced users can query the metagraph directly through Polkadot extrinsics using the PolkadotJS browser application, or with the PolkadotJS JavaScript SDK. -## Metagraph Properties -In the Bittensor Python SDK, the Metagraph object allows query access to the following properties. +## Data Structures -| Name | Description | -|------|--| -| `netuid` | Unique subnet identifier | -| `network` | Network name (finney, test, local) | -| `version` | Bittensor version number | -| `n` | Total number of neurons | -| `block` | Current blockchain block number | -| `total_stake` | Total stake across all neurons | -| **Stake** / `S` | Total stake of each neuron | -| **Alpha Stake** / `AS` | Alpha token stake | -| **Tao Stake** / `TS` | TAO token stake | -| **Ranks** / `R` | Performance ranking scores | -| **Trust** / `T` | Trust scores from other neurons | -| **Validator Trust** / `Tv` | Validator-specific trust scores | -| **Consensus** / `C` | Network consensus alignment | -| **Incentive** / `I` | Reward incentive scores | -| **Emission** / `E` | Token emission rates | -| **Dividends** / `D` | Dividend distributions | -| **Bonds** / `B` | Inter-neuronal bonds | -| **Weights** / `W` | Weight matrix between neurons | -| `uids` | Unique neuron identifiers | -| `hotkeys` | Neuron hotkey addresses | -| `coldkeys` | Neuron coldkey addresses | -| `addresses` | Network IP addresses | -| `axons` | Network connection details | -| `neurons` | Complete neuron objects | -| `active` | Neuron is active as a validator, i.e. has set weights on the last tempo. | -| `last_update` | Last update block numbers | -| `validator_permit` | Bool array indicating whether each neuron can set weights (act as validator) | -| `name` | Subnet name | -| `symbol` | Subnet token symbol | -| `network_registered_at` | Registration block | -| `num_uids` | Current number of neurons | -| `max_uids` | Maximum allowed neurons | -| `identities` | List of chain identities | -| `identity` | Subnet identity information | -| `pruning_score` | List of pruning scores | -| `block_at_registration` | List of registration blocks | -| `tao_dividends_per_hotkey` | TAO dividends by hotkey | -| `alpha_dividends_per_hotkey` | Alpha dividends by hotkey | -| `last_step` | Last step block number | -| `tempo` | Block interval for updates | -| `blocks_since_last_step` | Blocks since last step | -| `owner_coldkey` | Subnet owner coldkey | -| `owner_hotkey` | Subnet owner hotkey | -| `hparams` | Subnet hyperparameters (MetagraphInfoParams) | -| `pool` | Liquidity pool information (MetagraphInfoPool) | -| `emissions` | Emission configuration (MetagraphInfoEmissions) | +### Metagraph Object -## Data Structures +In the Bittensor Python SDK, the Metagraph object allows query access to the following properties. + +[Metagraph class specification](pathname:///python-api/html/autoapi/bittensor/core/metagraph/index.html) ### Neuron Object -Each neuron in the metagraph contains: +A neuron object represents any registered participant on the subnet, whether a miner or a validator. -```python -class NeuronInfo: - uid: int # Unique identifier - hotkey: str # Hotkey address - coldkey: str # Coldkey address - stake: float # Total stake - rank: float # Performance rank - trust: float # Trust score - consensus: float # Consensus score - incentive: float # Incentive score - emission: float # Emission rate - dividends: float # Dividend amount - validator_trust: float # Validator trust - active: bool # Activity status - last_update: int # Last update block - validator_permit: bool # Validator permission - weights: list # Weight assignments - bonds: list # Bond investments - axon_info: AxonInfo # Network connection -``` +See [Understanding Neurons](../learn/neurons.md) ### Axon Information -```python -class AxonInfo: - hotkey: str # Neuron hotkey - coldkey: str # Neuron coldkey - ip: int # IP address - port: int # Port number - ip_type: int # IP type - version: int # Protocol version - placeholder1: int # Reserved field - placeholder2: int # Reserved field -``` +An axon represents a server run by a registered miner, capable of answering requests by validators. + +| Name | Description | +--|-- +`hotkey` | Neuron hotkey +`coldkey` | Neuron coldkey +`ip` | IP address +`port` | Port number +`ip_type` | IP type +`version` | Protocol version +`placeholder1` | Reserved field +`placeholder2` | Reserved field -:::note AxonInfo vs Smart Contract AxonInfo -The Python SDK `AxonInfo` structure differs from the smart contract version. The smart contract `AxonInfo` includes `block`, `version`, `ip`, `port`, `ip_type`, and `protocol` fields, while the Python SDK version includes additional fields for hotkey, coldkey, and placeholders. -::: ### MetagraphInfoParams -```python +Represents the hyperparameters of a subnet. + + class MetagraphInfoParams: - activity_cutoff: int # Activity cutoff threshold - adjustment_alpha: float # Adjustment alpha parameter - adjustment_interval: int # Adjustment interval - alpha_high: float # Alpha high threshold - alpha_low: float # Alpha low threshold - bonds_moving_avg: int # Bonds moving average - burn: float # Burn amount - commit_reveal_period: int # Commit reveal period - commit_reveal_weights_enabled: bool # Commit reveal weights enabled - difficulty: int # Network difficulty - immunity_period: int # Immunity period - kappa: float # Kappa parameter - liquid_alpha_enabled: bool # Liquid alpha enabled - max_burn: float # Maximum burn - max_difficulty: int # Maximum difficulty - max_regs_per_block: int # Max registrations per block - max_validators: int # Maximum validators - max_weights_limit: int # Maximum weights limit - min_allowed_weights: int # Minimum allowed weights - min_burn: float # Minimum burn - min_difficulty: int # Minimum difficulty - pow_registration_allowed: bool # POW registration allowed - registration_allowed: bool # Registration allowed - rho: float # Rho parameter - serving_rate_limit: int # Serving rate limit - target_regs_per_interval: int # Target registrations per interval - tempo: int # Tempo - weights_rate_limit: int # Weights rate limit - weights_version: int # Weights version -``` + +| Name | Description | +---|---- +`activity_cutoff` | Activity cutoff threshold +`adjustment_alpha` | Adjustment alpha parameter +`adjustment_interval` | Adjustment interval +`alpha_high` | Alpha high threshold +`alpha_low` | Alpha low threshold +`bonds_moving_avg` | Bonds moving average +`burn` | Burn amount +`commit_reveal_period` | Commit reveal period +`commit_reveal_weights_enabled` | Commit reveal weights enabled +`difficulty` | Network difficulty +`immunity_period` | Immunity period +`kappa` | Kappa parameter +`liquid_alpha_enabled` | Liquid alpha enabled +`max_burn` | Maximum burn +`max_difficulty` | Maximum difficulty +`max_regs_per_block` | Max registrations per block +`max_validators` | Maximum validators +`max_weights_limit` | Maximum weights limit +`min_allowed_weights` | Minimum allowed weights +`min_burn` | Minimum burn +`min_difficulty` | Minimum difficulty +`pow_registration_allowed` | POW registration allowed +`registration_allowed` | Registration allowed +`rho` | Rho parameter +`serving_rate_limit` | Serving rate limit +`target_regs_per_interval` | Target registrations per interval +`tempo` | Tempo +`weights_rate_limit` | Weights rate limit +`weights_version` | Weights version + ### MetagraphInfoPool -```python -class MetagraphInfoPool: - alpha_out: float # Alpha out amount - alpha_in: float # Alpha in amount - tao_in: float # TAO in amount - subnet_volume: float # Subnet volume - moving_price: float # Moving price -``` +| Name | Description | +--|-- +`alpha_out` | Alpha out amount +`alpha_in` | Alpha in amount +`tao_in` | TAO in amount +`subnet_volume` | Subnet volume +`moving_price` | Moving price ### MetagraphInfoEmissions -```python -class MetagraphInfoEmissions: - alpha_out_emission: float # Alpha out emission - alpha_in_emission: float # Alpha in emission - subnet_emission: float # Subnet emission - tao_in_emission: float # TAO in emission - pending_alpha_emission: float # Pending alpha emission - pending_root_emission: float # Pending root emission -``` +| Name | Description | +--|-- +`alpha_out_emission` | Alpha out emission +`alpha_in_emission` | Alpha in emission +`subnet_emission` | Subnet emission +`tao_in_emission` | TAO in emission +`pending_alpha_emission` | Pending alpha emission +`pending_root_emission` | Pending root emission ## Performance Considerations From c55308f0b08b668d2b2f4c3ce1f36e8bd0262204 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Fri, 27 Jun 2025 09:31:27 -0700 Subject: [PATCH 109/303] wip --- docs/subnets/metagraph.md | 308 +++++++++++++------------- docs/subnets/understanding-subnets.md | 4 +- 2 files changed, 159 insertions(+), 153 deletions(-) diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index 66a34d99b9..8de5543849 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -12,7 +12,6 @@ This page documents the Bittensor subnet metagraph. Page Contents: - [Intro](#intro) - [Accessing the Metagraph](#accessing-the-metagraph) -- [Metagraph Properties](#metagraph-properties) - [Data Structures](#data-structures) - [Performance Considerations](#performance-considerations) - [Troubleshooting](#troubleshooting) @@ -48,8 +47,6 @@ Related reading: - [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) - Smart contract access and examples - - ## Accessing the Metagraph You can access metagraph data through multiple interfaces: @@ -101,25 +98,142 @@ For detailed smart contract examples and complete ABI, see the [Metagraph Precom Advanced users can query the metagraph directly through Polkadot extrinsics using the PolkadotJS browser application, or with the PolkadotJS JavaScript SDK. +## Performance Considerations + +### Lite vs Full Sync + +- **Lite Mode** (`lite=True`): Faster sync, excludes weights and bonds +- **Full Mode** (`lite=False`): Complete data including weight matrices + +### Caching + +The metagraph supports local caching: + +```python +# Save metagraph for later use +metagraph.save() + +# Load cached metagraph +metagraph.load() + +# Custom save directory +metagraph.save(root_dir=['/custom', 'path']) +``` + +## Troubleshooting + +### Common Issues + +1. **Sync Failures**: Ensure you're connected to the correct network +2. **Historical Data**: Use archive network for data beyond 300 blocks +3. **Memory Usage**: Use lite mode for large subnets +4. **Network Timeouts**: Increase timeout values for slow connections ## Data Structures ### Metagraph Object -In the Bittensor Python SDK, the Metagraph object allows query access to the following properties. +In the Bittensor Python SDK, the `Metagraph` class encapsulates the following information -[Metagraph class specification](pathname:///python-api/html/autoapi/bittensor/core/metagraph/index.html) +[Metagraph class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/metagraph/index.html) -### Neuron Object +
      + Metagraph Properties +| Name | Description | +|------|--| +| `netuid` | Unique subnet identifier | +| `network` | Network name (finney, test, local) | +| `version` | Bittensor version number | +| `n` | Total number of neurons | +| `block` | Current blockchain block number | +| `total_stake` | Total stake across all neurons | +| **Stake** / `S` | Total stake of each neuron | +| **Alpha Stake** / `AS` | Alpha token stake | +| **Tao Stake** / `TS` | TAO token stake | +| **Ranks** / `R` | Performance ranking scores | +| **Trust** / `T` | Trust scores from other neurons | +| **Validator Trust** / `Tv` | Validator-specific trust scores | +| **Consensus** / `C` | Network consensus alignment | +| **Incentive** / `I` | Reward incentive scores | +| **Emission** / `E` | Token emission rates | +| **Dividends** / `D` | Dividend distributions | +| **Bonds** / `B` | Inter-neuronal bonds | +| **Weights** / `W` | Weight matrix between neurons | +| `uids` | Unique neuron identifiers | +| `hotkeys` | Neuron hotkey addresses | +| `coldkeys` | Neuron coldkey addresses | +| `addresses` | Network IP addresses | +| `axons` | Network connection details | +| `neurons` | Complete neuron objects | +| `active` | Neuron activity status | +| `last_update` | Last update block numbers | +| `validator_permit` | Bool array indicating whether each neuron can set weights (act as validator) | +| `name` | Subnet name | +| `symbol` | Subnet token symbol | +| `network_registered_at` | Registration block | +| `num_uids` | Current number of neurons | +| `max_uids` | Maximum allowed neurons | +| `identities` | List of chain identities | +| `identity` | Subnet identity information | +| `pruning_score` | List of pruning scores | +| `block_at_registration` | List of registration blocks | +| `tao_dividends_per_hotkey` | TAO dividends by hotkey | +| `alpha_dividends_per_hotkey` | Alpha dividends by hotkey | +| `last_step` | Last step block number | +| `tempo` | Block interval for updates | +| `blocks_since_last_step` | Blocks since last step | +| `owner_coldkey` | Subnet owner coldkey | +| `owner_hotkey` | Subnet owner hotkey | +| `hparams` | Subnet hyperparameters (`MetagraphInfoParams`) | +| `pool` | Liquidity pool information (`MetagraphInfoPool`) | +| `emissions` | Emission configuration (`MetagraphInfoEmissions`) | +
      + + +### Neuron Info + +A neuron represents any registered participant on the subnet, whether a miner or a validator. + +See also: +- [Understanding Neurons](../learn/neurons.md) +- [NeuronInfo class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/chain_data/neuron_info/index.html#bittensor.core.chain_data.neuron_info.NeuronInfo) -A neuron object represents any registered participant on the subnet, whether a miner or a validator. +
      + Neuron Info Properties +| Name | Description | +--|-- +`uid` | Unique identifier +`hotkey` | Hotkey address +`coldkey` | Coldkey address +`stake` | Total stake +`rank` | Performance rank +`trust` | Trust score +`consensus` | Consensus score +`incentive` | Incentive score +`emission` | Emission rate +`dividends` | Dividend amount +`validator_trust` | Validator trust +`active` | Activity status +`last_update` | Last update block +`validator_permit` | Validator permission +`weights` | Weight assignments +`bonds` | Bond investments +`axon_info` | Network connection +
      + + +### Axons -See [Understanding Neurons](../learn/neurons.md) +An axon represents a server run by a registered miner, capable of answering requests by validators. -### Axon Information +See also: +- [Understanding Neurons](../learn/neurons.md) +- [Axon class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/axon/index.html#module-bittensor.core.axon) +- [Axon class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/axon/index.html#module-bittensor.core.axon) -An axon represents a server run by a registered miner, capable of answering requests by validators. +
      + Axon Properties | Name | Description | --|-- @@ -131,14 +245,19 @@ An axon represents a server run by a registered miner, capable of answering requ `version` | Protocol version `placeholder1` | Reserved field `placeholder2` | Reserved field - +
      ### MetagraphInfoParams Represents the hyperparameters of a subnet. +See also: +- [Subnet Hyperparameters](./subnet-hyperparameters) +- [MetagraphInfoParams class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/chain_data/metagraph_info/index.html#bittensor.core.chain_data.metagraph_info.MetagraphInfoParams) -class MetagraphInfoParams: + +
      + MetagraphInfoParams (Hyperparams) Properties | Name | Description | ---|---- @@ -171,10 +290,19 @@ class MetagraphInfoParams: `tempo` | Tempo `weights_rate_limit` | Weights rate limit `weights_version` | Weights version - +
      ### MetagraphInfoPool +Contains information about the subnet's liquidity pool + +See also: +- [Understanding Subnets: Liquidity pools](./understanding-subnets#liquidity-pools). +- [MetagraphInfoPool class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/chain_data/metagraph_info/index.html#bittensor.core.chain_data.metagraph_info.MetagraphInfoPool) + + +
      + MetagraphInfoPool properties | Name | Description | --|-- `alpha_out` | Alpha out amount @@ -182,9 +310,19 @@ class MetagraphInfoParams: `tao_in` | TAO in amount `subnet_volume` | Subnet volume `moving_price` | Moving price +
      ### MetagraphInfoEmissions +Contains detailed information about the subnet's emissions. + +See also: +- [Emissions](../emissions). +- [MetagraphInfoEmissions class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/chain_data/metagraph_info/index.html#bittensor.core.chain_data.metagraph_info.MetagraphInfoPool) + + +
      + MetagraphInfoEmissions properties | Name | Description | --|-- `alpha_out_emission` | Alpha out emission @@ -193,37 +331,8 @@ class MetagraphInfoParams: `tao_in_emission` | TAO in emission `pending_alpha_emission` | Pending alpha emission `pending_root_emission` | Pending root emission +
      -## Performance Considerations - -### Lite vs Full Sync - -- **Lite Mode** (`lite=True`): Faster sync, excludes weights and bonds -- **Full Mode** (`lite=False`): Complete data including weight matrices - -### Caching - -The metagraph supports local caching: - -```python -# Save metagraph for later use -metagraph.save() - -# Load cached metagraph -metagraph.load() - -# Custom save directory -metagraph.save(root_dir=['/custom', 'path']) -``` - -## Troubleshooting - -### Common Issues - -1. **Sync Failures**: Ensure you're connected to the correct network -2. **Historical Data**: Use archive network for data beyond 300 blocks -3. **Memory Usage**: Use lite mode for large subnets -4. **Network Timeouts**: Increase timeout values for slow connections ## Python Code Examples @@ -502,7 +611,7 @@ def main(): # Find miners receiving most weights weight_received = weights.sum(axis=0) # Sum of incoming weights top_receivers = weight_received.argsort()[::-1][:10] - print("\n=== Top 10 Weight Receivers ===") + print("\n=== Miners Receiving Most Frequent Weights ===") for i, idx in enumerate(top_receivers): uid = uids[idx].item() total_weight = weight_received[idx].item() @@ -511,7 +620,7 @@ def main(): # Find validators sending most weights weight_sent = weights.sum(axis=1) # Sum of outgoing weights top_senders = weight_sent.argsort()[::-1][:10] - print("\n=== Top 10 Weight Setters ===") + print("\n=== Validators Setting Weights Most Frequently ===") for i, idx in enumerate(top_senders): uid = uids[idx].item() total_weight = weight_sent[idx].item() @@ -522,7 +631,7 @@ def main(): sender_idx = max_weight_idx // weights.shape[1] receiver_idx = max_weight_idx % weights.shape[1] max_weight = weights.max().item() - print(f"\n=== Strongest Connection ===") + print(f"\n=== Highest Single Set Weight ===") print(f"UID {uids[sender_idx].item()} -> UID {uids[receiver_idx].item()}: {max_weight:.4f}") else: print("Weights not available. Make sure to use lite=False when initializing the metagraph.") @@ -559,7 +668,7 @@ def main(): # Find miners with most bonds bonds_received = bonds.sum(axis=0) # Sum of incoming bonds top_bonded = bonds_received.argsort()[::-1][:10] - print("\n=== Top 10 Bonded Neurons ===") + print("\n=== Top 10 Most Bonded Miners ===") for i, idx in enumerate(top_bonded): uid = uids[idx].item() total_bonds = bonds_received[idx].item() @@ -600,16 +709,6 @@ def main(): print(f"\n=== Activity Analysis ===") print(f"Active validators: {active_count}/{total_count} ({active_count/total_count:.1%})") - # Find all nuerons not actively setting weights - inactive_indices = (active == 0).nonzero()[0] - if len(inactive_indices) > 0: - print("\n=== Inactive Neurons (First 10) ===") - for idx in inactive_indices[:10]: # Show first 10 - uid = uids[idx].item() - last_block = last_update[idx].item() - print(f" UID {uid}: Last update at block {last_block}") - else: - print("\nAll neurons are active.") # Analyze validator distribution validator_count = validator_permit.sum().item() @@ -632,9 +731,7 @@ if __name__ == "__main__": main() ``` - - -### Subnet Economic Parameters +### Subnet Economics This example shows how to access subnet hyperparameters, pool, and emissions: @@ -841,94 +938,3 @@ def main(): if __name__ == "__main__": main() ``` - - -### Common Use Cases - -This example demonstrates common use cases like subnet analysis and validator selection: - -```python -#!/usr/bin/env python3 - -import bittensor as bt - -def analyze_subnet(netuid): - """Analyze subnet health""" - print(f"Analyzing subnet {netuid}...") - metagraph = bt.metagraph(netuid=netuid) - metagraph.sync() - - total_neurons = metagraph.n.item() - active_neurons = metagraph.active.sum().item() - total_stake = metagraph.S.sum().item() - - print(f"Subnet {netuid} Analysis:") - print(f" Total neurons: {total_neurons}") - print(f" Active neurons: {active_neurons}") - print(f" Total stake: {total_stake}") - print(f" Activity rate: {active_neurons/total_neurons:.2%}") - -def get_top_validators(netuid, top_k=10): - """Find top validators""" - print(f"Finding top {top_k} validators for subnet {netuid}...") - metagraph = bt.metagraph(netuid=netuid) - metagraph.sync() - - # Get validator permits - validator_mask = metagraph.validator_permit - - # Get ranks for validators only - validator_ranks = metagraph.R[validator_mask] - validator_uids = metagraph.uids[validator_mask] - - # Sort by rank - sorted_indices = validator_ranks.argsort()[::-1] - top_validators = validator_uids[sorted_indices][:top_k] - - print(f"Top {top_k} validators:") - for i, uid in enumerate(top_validators): - print(f" {i+1}. UID {uid.item()}") - - return top_validators.tolist() - -def analyze_weights(netuid): - """Analyze weight distribution""" - print(f"Analyzing weights for subnet {netuid}...") - metagraph = bt.metagraph(netuid=netuid, lite=False) - metagraph.sync() - - weights = metagraph.W - print(f"Weight matrix shape: {weights.shape}") - - # Find neurons with most incoming weights - incoming_weights = weights.sum(axis=0) - top_receivers = incoming_weights.argsort()[::-1][:10] - print(f"Top 10 weight receivers: {top_receivers.tolist()}") - - # Find neurons with most outgoing weights - outgoing_weights = weights.sum(axis=1) - top_senders = outgoing_weights.argsort()[::-1][:10] - print(f"Top 10 weight senders: {top_senders.tolist()}") - -def main(): - print("=== Common Use Cases Examples ===") - - # Example 1: Subnet Analysis - print("\n1. Subnet Analysis") - analyze_subnet(1) - - # Example 2: Validator Selection - print("\n2. Validator Selection") - get_top_validators(1, top_k=5) - - # Example 3: Weight Analysis - print("\n3. Weight Analysis") - try: - analyze_weights(1) - except Exception as e: - print(f"Weight analysis failed: {e}") - -if __name__ == "__main__": - main() -``` - diff --git a/docs/subnets/understanding-subnets.md b/docs/subnets/understanding-subnets.md index 1601efc2fb..c643eda022 100644 --- a/docs/subnets/understanding-subnets.md +++ b/docs/subnets/understanding-subnets.md @@ -32,9 +32,9 @@ style={{width: 600}} /> -## Subnet liquidity reserves +## Liquidity pools -The key mechanism introduced with Dynamic TAO is that each subnet functions as its own _automated market maker_ (_AMM_), with two liquidity reserves, one containing TAO($$\tau$$)—the currency of the Bittensor network, and one containing a subnet specific "dynamic" currency, referred to as that subnet's alpha ($$\alpha$$) token. The alpha token is purchased by staking TAO into the subnet's reserve, which is initialized with a negligible amount of liquidity (1e-9). +Each subnet functions as its own _automated market maker_ (_AMM_), with two liquidity reserves, one containing TAO($$\tau$$)—the currency of the Bittensor network, and one containing a subnet specific "dynamic" currency, referred to as that subnet's alpha ($$\alpha$$) token. The alpha token is purchased by staking TAO into the subnet's reserve, which is initialized with a negligible amount of liquidity (1e-9). A subnet's economy therefore consists of three pools of currency: From 426f663a672cf745da837d00f63c696c4bcadcd6 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Fri, 27 Jun 2025 11:21:50 -0700 Subject: [PATCH 110/303] wip --- docs/subnets/metagraph.md | 58 ++++++++++----------------------------- 1 file changed, 14 insertions(+), 44 deletions(-) diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index 8de5543849..58e7d51ad1 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -9,13 +9,11 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; This page documents the Bittensor subnet metagraph. -Page Contents: -- [Intro](#intro) -- [Accessing the Metagraph](#accessing-the-metagraph) -- [Data Structures](#data-structures) -- [Performance Considerations](#performance-considerations) -- [Troubleshooting](#troubleshooting) -- [Python Code Examples](#python-code-examples) +The **metagraph** is a core data structure in Bittensor that represents the complete state of a subnet at any given block. It contains comprehensive information about all neurons (miners and validators) participating in a subnet, their emissions, bonds, and trust, as well as subnet metrics. + +:::info source code +The metagraph is implemented in the Bittensor blockchain (Subtensor) as a Rust data structure. The source code is located in the [Subtensor repository](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/rpc_info/metagraph.rs). +::: Related reading: - [Understanding Neurons](../learn/neurons.md) @@ -23,30 +21,6 @@ Related reading: - [Bittensor CLI Reference](../btcli.md) - [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) -## Intro - -The **metagraph** is a core data structure in the Bittensor blockchain that represents the complete state of a subnet at any given block. It contains comprehensive information about all neurons (miners and validators) participating in a subnet, their emissions, bonds, and trust, as well as subnet metrics. - -The metagraph serves as a dynamic snapshot of a subnet's neural network, capturing: - -- **Neuron Information**: UIDs, hotkeys, coldkeys, network addresses -- **Network Metrics**: Stakes, ranks, trust scores, consensus values -- **Economic Data**: Incentives, emissions, dividends, bonds -- **Network State**: Active status, validator permits, last updates -- **Inter-neuronal Relationships**: Weights and bonds between neurons - -The metagraph is continuously updated as the blockchain progresses, reflecting the real-time state of the subnet's collective intelligence. - - - -Related reading: - -- [Understanding Neurons](../learn/neurons.md) - Neuron architecture overview -- [Subnet Hyperparameters](./subnet-hyperparameters.md) - Subnet configuration -- [Bittensor CLI Reference](../btcli.md) - Complete btcli documentation -- [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) - Smart contract access and examples - - ## Accessing the Metagraph You can access metagraph data through multiple interfaces: @@ -94,9 +68,16 @@ For smart contract integration, you can access metagraph data through the **Meta For detailed smart contract examples and complete ABI, see the [Metagraph Precompile](../evm-tutorials/metagraph-precompile.md) documentation. ::: -### Polkadot Extrinsics -Advanced users can query the metagraph directly through Polkadot extrinsics using the PolkadotJS browser application, or with the PolkadotJS JavaScript SDK. +### RPC Functions + +The blockchain provides several RPC functions for accessing metagraph data: + +- `get_metagraph(netuid)` - Returns complete metagraph for a subnet +- `get_all_metagraphs()` - Returns metagraphs for all subnets +- `get_selective_metagraph(netuid, indexes)` - Returns partial metagraph data + +See [Subtensor:Metagraph RPC source code](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/rpc_info/metagraph.rs) ## Performance Considerations @@ -120,16 +101,6 @@ metagraph.load() metagraph.save(root_dir=['/custom', 'path']) ``` -## Troubleshooting - -### Common Issues - -1. **Sync Failures**: Ensure you're connected to the correct network -2. **Historical Data**: Use archive network for data beyond 300 blocks -3. **Memory Usage**: Use lite mode for large subnets -4. **Network Timeouts**: Increase timeout values for slow connections - - ## Data Structures ### Metagraph Object @@ -255,7 +226,6 @@ See also: - [Subnet Hyperparameters](./subnet-hyperparameters) - [MetagraphInfoParams class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/chain_data/metagraph_info/index.html#bittensor.core.chain_data.metagraph_info.MetagraphInfoParams) -
      MetagraphInfoParams (Hyperparams) Properties From ebb70bf8530bd75560645c786c94011a2b1049c1 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Mon, 30 Jun 2025 23:10:15 +0100 Subject: [PATCH 111/303] docs: BTsdk instalation and docker setup --- docs/getting-started/installation.md | 192 ++++++++++++++++----------- docs/glossary.md | 60 +++++---- docs/local-build/deploy.md | 115 +++++++++++++--- 3 files changed, 246 insertions(+), 121 deletions(-) diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 0731497987..0ce230a901 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -2,17 +2,20 @@ title: "Install Bittensor SDK" --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + # Install Bittensor SDK Before you can start developing, you must install Bittensor SDK and then create Bittensor wallet. ## Supported Python versions -- bittensor (SDK): Python 3.9-3.11 (reference: https://github.com/opentensor/bittensor/blob/master/setup.py#L86-L88) -- bittensor-cli: Python 3.9-3.12 (reference: https://github.com/opentensor/btcli/blob/main/setup.py#L91-L94 ) -- bittensor-wallet: Python 3.9-3.12 (reference: https://github.com/opentensor/btwallet/blob/main/pyproject.toml#L34-L37) +- bittensor (SDK): Python 3.9-3.12 (reference: https://github.com/opentensor/bittensor/blob/master/pyproject.toml#L14) +- bittensor-cli: Python 3.9-3.12 (reference: https://github.com/opentensor/btcli/blob/main/pyproject.toml#L15 ) +- bittensor-wallet: Python 3.9-3.12 (reference: https://github.com/opentensor/btwallet/blob/main/pyproject.toml#L11) -## Upgrade +## Upgrade the Bittensor SDK If you already installed Bittensor SDK, make sure you upgrade to the latest version. Run the below command: @@ -20,154 +23,181 @@ If you already installed Bittensor SDK, make sure you upgrade to the latest vers python3 -m pip install --upgrade bittensor ``` -## Developer reference +## Install on macOS and Linux -For a full developer reference, see the [Bittensor SDK section](../bt-api-ref.md). +You can install Bittensor on your macOS or Linux machine using any one of the available options. **Make sure you verify your installation after you install**. -## Install on macOS and Linux +:::warning Rust Required on Linux +To install the Bittensor SDK on Linux, you must have Rust installed. For information on Rust installation and setup, see the [official Rust documentation](https://www.rust-lang.org/tools/install). +::: -You can install Bittensor on your local machine in either of the following ways. **Make sure you verify your installation after you install**. -- [Install using a Bash command](#install-using-a-bash-command). -- [Install from source](#install-from-source) +:::tip Create and activate a virtual environment +To avoid dependency issues while installing the Bittensor SDK, we recommend [creating](https://docs.python.org/3/library/venv.html#creating-virtual-environments) and [activating](https://docs.python.org/3/library/venv.html#how-venvs-work) a Python Virtual environment on your machine before installing the SDK. To do this, ensure you have Python3 installed on your local machine using the following command: -### Install using a Bash command +```bash +python3 --version +``` -This is the most straightforward method. It is recommended for a beginner as it will pre-install requirements like Python, if they are not already present on your machine. Copy and paste the following `bash` command into your terminal: +Then run the following command in your terminal: ```bash -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/opentensor/bittensor/master/scripts/install.sh)" +python3 -m venv btsdk_venv +source btsdk_venv/bin/activate ``` -:::warning For Ubuntu-Linux users -If you are using Ubuntu-Linux, the script will prompt for `sudo` access to install all required apt-get packages. ::: -:::tip Create and activate a virtual environment - - Create Python virtual environment. Follow [this guide on python.org](https://docs.python.org/3/library/venv.html#creating-virtual-environments). + + + You can install Bittensor via the Python Package Index using any of the below options: - - Activate the new environment. Follow [this guide on python.org](https://docs.python.org/3/library/venv.html#how-venvs-work) -::: + - **Install SDK**: Run the below command to install Bittensor SDK in the above virtual environment. This will install `btcli` also. -### Install Python virtual environment + ```python + pip install bittensor + ``` -```bash -python3 -m venv btsdk_venv -source btsdk_venv/bin/activate -``` + - **Install SDK with `torch`**: Install Bittensor SDK with [`torch`](https://pytorch.org/docs/stable/torch.html). -### Install from source + ```python + pip install bittensor[torch] + ``` -1. Clone the Bittensor repo + If the command fails in your environment, try enclosing the argument in quotes as shown: -```bash -git clone https://github.com/opentensor/bittensor.git -``` -2. Change to the Bittensor directory: + ```python + pip install "bittensor[torch]" + ``` -```bash -cd bittensor -``` -3. Install + -- **Install SDK**: Run the below command to install Bittensor SDK in the above virtual environment. This will also install `btcli`. -```python -pip install . -``` + - **Install SDK with `cubit`**: Install Bittensor SDK with [`cubit`](https://github.com/opentensor/cubit). -- **Install SDK with `torch`**: Install Bittensor SDK with [`torch`](https://pytorch.org/docs/stable/torch.html). + 1. Install `cubit` first. See the [Install](https://github.com/opentensor/cubit?tab=readme-ov-file#install) section. **Only Python 3.9 and 3.10 versions are supported**. + 2. Then install SDK with `pip install bittensor`. - ```python - pip install bittensor[torch] - ``` - In some environments the above command may fail, in which case run the command with added quotes as shown below: + + + + This is the most straightforward method. It is recommended for a beginner as it will pre-install requirements for the Bittensor SDK like Python, if they are not already present on your machine. Copy and paste the following `bash` command into your terminal: - ```python - pip install "bittensor[torch]" + ```bash + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/opentensor/bittensor/master/scripts/install.sh)" ``` -### Install from PyPi + :::warning For Ubuntu-Linux users + If you are using Ubuntu-Linux, the script will prompt for `sudo` access to install all required apt-get packages. + ::: -You can install Bittensor using any of the below options: + -- **Install SDK**: Run the below command to install Bittensor SDK in the above virtual environment. This will install `btcli` also. -```python -pip install bittensor -``` + -- **Install SDK with `torch`**: Install Bittensor SDK with [`torch`](https://pytorch.org/docs/stable/torch.html). + 1. Clone the Bittensor repo - ```python - pip install bittensor[torch] - ``` - In some environments the above command may fail, in which case run the command with added quotes as shown below: + ```bash + git clone https://github.com/opentensor/bittensor.git + ``` - ```python - pip install "bittensor[torch]" - ``` + 2. Change to the Bittensor directory: + + ```bash + cd bittensor + ``` + + 3. Install the SDK using any one of the following options: + + - **Install SDK**: Run the below command to install Bittensor SDK in the above virtual environment. This will also install `btcli`. + + ```python + pip install . + ``` + + - **Install SDK with `torch`**: Install Bittensor SDK with [`torch`](https://pytorch.org/docs/stable/torch.html). -- **Install SDK with `cubit`**: Install Bittensor SDK with [`cubit`](https://github.com/opentensor/cubit). + ```python + pip install bittensor[torch] + ``` - 1. Install `cubit` first. See the [Install](https://github.com/opentensor/cubit?tab=readme-ov-file#install) section. **Only Python 3.9 and 3.10 versions are supported**. - 2. Then install SDK with `pip install bittensor`. + If the command fails in your environment, try enclosing the argument in quotes as shown: + ```python + pip install "bittensor[torch]" + ``` + + + + ## Install on Windows -To install and run Bittensor SDK on Windows you must install [**WSL 2** (Windows Subsystem for Linux)](https://learn.microsoft.com/en-us/windows/wsl/about) on Windows and select [Ubuntu Linux distribution](https://github.com/ubuntu/WSL/blob/main/docs/guides/install-ubuntu-wsl2.md). +To install and run Bittensor SDK on Windows you must install [**WSL 2** (Windows Subsystem for Linux)](https://learn.microsoft.com/en-us/windows/wsl/about) on Windows and select [Ubuntu Linux distribution](https://github.com/ubuntu/WSL/blob/main/docs/guides/install-ubuntu-wsl2.md). After you installed the above, follow the same installation steps described above in [Install on macOS and Linux](#install-on-macos-and-linux). :::danger Limited support on Windows While wallet transactions like delegating, transfer, registering, staking can be performed on a Windows machine using WSL 2, the mining and validating operations are not recommended and are not supported on Windows machines. - ::: - +::: ## Verify the installation -You can verify your installation in either of the two ways as shown below: - -### Verify using `btsdk` version +You can verify your installation in either of the following ways shown: + + +Run the following command in your terminal: ```python python3 -m bittensor ``` +The response will show you the `` of the `btsdk` you just installed as shown: ```bash Bittensor SDK version: ``` -The above command will show you the `` of the `btsdk` you just installed. - - -### Verify using Python interpreter + + -1. Launch the Python interpreter on your terminal. +1. Launch the Python interpreter on your terminal. ```bash python3 ``` -2. Enter the following two lines in the Python interpreter. - + +2. Enter the following two lines in the Python interpreter: + ```python import bittensor as bt print( bt.__version__ ) ``` + The Python interpreter output will look like below: ```python >>> print( bt.__version__ ) ``` -You will see the version number you installed in place of ``. -### Verify by listing axon information -You can also verify the Bittensor installation by listing the axon information for the neurons. Enter the following lines in the Python interpreter. +You will see the version number you installed in place of ``. + + + +You can also verify the Bittensor installation by listing the axon information for the neurons. + +First, launch the Python interpreter in your terminal: + +```bash +python3 +``` + +Next, enter the following lines in the Python interpreter: ```python import bittensor as bt metagraph = bt.metagraph(1) metagraph.axons[:10] ``` + The Python interpreter output will look like below. ```bash @@ -175,3 +205,9 @@ The Python interpreter output will look like below. >>> ``` + + + +## Developer reference + +For a full developer reference of the Bittensor SDK, see the [Bittensor SDK section](../bt-api-ref.md). diff --git a/docs/glossary.md b/docs/glossary.md index 8ba3655f8f..5097875098 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -4,7 +4,7 @@ title: "Glossary" # Glossary -## A +## A ### Active UID @@ -30,7 +30,7 @@ A digital wallet that holds the core ownership in the Bittensor network and serv ### Block -A unit of data in the Bittensor blockchain, containing a collection of transactions and a unique identifier (block hash). A single block is processed every 12 seconds in the Bittensor blockchain. +A unit of data in the Bittensor blockchain, containing a collection of transactions and a unique identifier (block hash). A single block is processed every 12 seconds in the Bittensor blockchain. ## C @@ -72,7 +72,7 @@ See [Emissions](./emissions). Also known as staking, delegating TAO to a validator (who is thereby the delegate), increases the validator's stake and secure a validator permit. -### Dendrite +### Dendrite A client instance used by subnet validators and subnet miners to transmit information to axons on subnet miners and subnet validators. Dendrites communicate with axons using the server-client (Axon-dendrite) protocol. @@ -80,7 +80,7 @@ A client instance used by subnet validators and subnet miners to transmit inform The process of removing a subnet miner or a subnet validator from the subnet due to poor performance. -## E +## E ### EdDSA Cryptographic Keypairs @@ -106,7 +106,13 @@ An optional security measure for the hotkey. A Bittensor wallet created through the Bittensor website or using a tool like [subkey](https://docs.substrate.io/reference/command-line-tools/subkey/), allowing users to use TAO without installing Bittensor. -## H +## F + +### Fast blocks + +A development-only configuration that accelerates block production to 250ms intervals, enabling rapid local testing and immediate execution of on-chain operations. + +## H ### Hotkey @@ -116,7 +122,7 @@ A component of a Bittensor wallet responsible for less secure operations such as Authentication mechanism for delegates and nominators and for delegates participating in the Senate. -## I +## I ### Immunity Period @@ -130,7 +136,7 @@ A portion of the TAO emission received by the subnet miners when they provide va A system that drives the behavior of subnet miners and governs consensus among subnet validators in a Bittensor subnet. Each subnet has its own incentive mechanism, which should be designed carefully to promote desired behaviors and penalize undesired ones. -## L +## L ### Lite Node @@ -148,7 +154,7 @@ A Bittensor wallet created on the user's machine, requiring the installation of In the context of machine learning, a mathematical function that measures the difference between the predicted output and the ground truth. In Bittensor, incentive mechanisms act as loss functions that steer subnet miners towards desirable outcomes. -## M +## M ### Mainchain @@ -168,7 +174,7 @@ See [Mining in Bittensor: Miner Deregistration](./miners/#miner-deregistration) A sequence of words used to regenerate keys, in case of loss, and restore coldkeys and hotkeys in the Bittensor wallet. -## N +## N ### NaCl Format @@ -194,13 +200,17 @@ Another term for a delegator. A subnet validator who nominates their own hotkey A TAO holder who delegates their stake. -## O +### Non-fast blocks + +A development-only configuration that adheres to Subtensor’s default 12-second block interval, simulating production timing for features like delayed subnet activation. + +## O ### Objective Function In the context of machine learning and subnet operations, this refers to the goal that the subnet is continuously optimizing for, through its incentive mechanism. -## P +## P ### Private Key @@ -222,7 +232,7 @@ A cryptographic key that is publicly available and used for verifying signatures A publicly accessible node in the Bittensor network that can be run as a lite node or an archive node and synchronized with either the mainchain or testchain. -## R +## R ### RAO @@ -238,7 +248,7 @@ A measure of a subnet miner's performance relative to other subnet miners in the This happens in two cases: -- When you register either as a subnet validator or a subnet miner and get a `UID` in return, the registration cost TAO you pay is recycled. +- When you register either as a subnet validator or a subnet miner and get a `UID` in return, the registration cost TAO you pay is recycled. - Emissions are recycled for those subnets that have registration turned off or paused. When TAO is burned it is permanently removed from circulation, reducing total supply. @@ -253,8 +263,7 @@ The process of recreating a lost or deleted coldkey or hotkey using the associat The process of registering keys with a subnet and purchasing a UID slot. - -## S +## S ### SS58 Encoded @@ -266,7 +275,7 @@ A group of elected delegates formed from the top K delegate hotkeys, responsible ### Stake -The amount of currency tokens delegated to a validator UID in a subnet. Includes both self-stake (from the validator's own cold-key) and stake delegated from others. +The amount of currency tokens delegated to a validator UID in a subnet. Includes both self-stake (from the validator's own cold-key) and stake delegated from others. Stake determines a validator's weight in consensus as well as their emissions. @@ -284,7 +293,7 @@ The framework that governs the behavior of subnet miners and ensures consensus a ### Subnet Miner -The task-performing entity within a Bittensor subnet. A subnet miner is a type of node in a Bittensor subnet that is connected only to subnet validators. Subnet miners are isolated from the external world and communicate bidirectionally with subnet validators. A subnet miner is responsible for performing tasks given to them by the subnet validators in that subnet. +The task-performing entity within a Bittensor subnet. A subnet miner is a type of node in a Bittensor subnet that is connected only to subnet validators. Subnet miners are isolated from the external world and communicate bidirectionally with subnet validators. A subnet miner is responsible for performing tasks given to them by the subnet validators in that subnet. ### Subnet Creator @@ -304,7 +313,7 @@ A key component of any incentive mechanism that defines the work the subnet mine ### Subnet Validator -A type of node in a subnet that creates tasks, evaluates the performance of subnet miners and sets weights based on their output. A subnet validator is connected only to subnet miners and to the external world. Subnet validators receive inputs from the external world and communicate bidirectionally with subnet miners. +A type of node in a subnet that creates tasks, evaluates the performance of subnet miners and sets weights based on their output. A subnet validator is connected only to subnet miners and to the external world. Subnet validators receive inputs from the external world and communicate bidirectionally with subnet miners. ### Subnet Weights @@ -324,7 +333,7 @@ A privileged key for administrative actions, replaced by governance protocol for A data object used by subnet validators and subnet miners as the main vehicle to exchange information. Synapse objects are based on the BaseModel of the Pydantic data validation library. -## T +## T ### TAO (τ) @@ -332,7 +341,7 @@ The cryptocurrency of the Bittensor network, used to incentivize participation i ### Tempo -A 360-block period during which the Yuma Consensus calculates emissions to subnet participants based on the latest available ranking weight matrix. A single block is processed every 12 seconds, hence a 360-block tempo occurs every 4320 seconds or 72 minutes. +A 360-block period during which the Yuma Consensus calculates emissions to subnet participants based on the latest available ranking weight matrix. A single block is processed every 12 seconds, hence a 360-block tempo occurs every 4320 seconds or 72 minutes. ### Transfer @@ -350,13 +359,13 @@ A measure of a subnet miner's reputation and reliability, calculated based on th A measure of the confidence in a subnet based on the stakes that set non-zero weights. -## U +## U ### UID Slot A position occupied by a subnet miner or subnet validator within a subnet, identified by a unique UID. The UID is assigned to a hotkey when it is registered in a subnet, allowing the hotkey to participate as a subnet validator or subnet miner. -## V +## V ### VPermit @@ -366,8 +375,7 @@ Validator permits held by the delegate for specific subnets. The software component that subnet validators run to perform their subnet validation operations within a subnet. - -## W +## W ### Wallet Address @@ -387,10 +395,10 @@ A vector maintained by each subnet validator, with each element representing the The ranking weight vectors for each subnet are transmitted to the blockchain, where they combine to form the [weight matrix](#weight-matrix) that is input for Yuma Consensus. -## Y +## Y ### Yuma Consensus -The consensus mechanism in the Bittensor blockchain that computes emissions to participants. +The consensus mechanism in the Bittensor blockchain that computes emissions to participants. See [Yuma Consensus](./yuma-consensus.md) diff --git a/docs/local-build/deploy.md b/docs/local-build/deploy.md index 68421422e6..105d7420bd 100644 --- a/docs/local-build/deploy.md +++ b/docs/local-build/deploy.md @@ -1,7 +1,12 @@ --- title: "Build and Deploy the Blockchain" +toc_max_heading_level: 2 --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import Heading from '@theme/Heading'; + # Deploy a Local Bittensor Blockchain Instance This tutorial will guide the user through deploying a local instance of Subtensor, Bittensor's L1 blockchain. This is useful in general Bittensor development, as it gives you more freedom over chain state than when working against mainnet or even testnet. For example, it is much easier to create subnets without having to wait for registration availability. @@ -10,14 +15,85 @@ Each local chain is provisioned with an `alice` account with one million $\tau$. In the following tutorial, we will also provision several wallets to serve as subnet creator, miner, and validator. -## Prerequisites + + +Docker is the easiest way to set up a local Bittensor blockchain instance. It only takes a few minutes to get up and running with Docker. + +The steps in this guide assume that you are running the command from the machine you intend to host from. + +### Prerequisites + +Before you begin, make sure you have installed the following on your machine: + +- [Docker](https://docs.docker.com/desktop/use-desktop/) +- [Bittensor SDK](../getting-started/installation.md) +- [Bittensor CLI](../getting-started/install-btcli.md) + +The Bittensor SDK and Bittensor CLI are required to interact with the local blockchain instance. + +### 1. Pull the Docker image + +You can pull the official subtensor Docker image used to create the local blockchain instance from the [GitHub Container Repository](ghcr.io/opentensor/subtensor-localnet). To do this, run the following command in your terminal: + +```bash +docker pull ghcr.io/opentensor/subtensor-localnet:devnet-ready +``` + +This command downloads the `subtensor-localnet` Docker image, making it available on your device. + +### 2. Run the container + +There are many ways to run the `subtensor-localnet` Docker image, depending on your development and testing needs. The two most common approaches involve running the chain with either _fast blocks_ or _non-fast blocks_. Each approach offers different trade-offs in speed, realism, and network behavior. +Below are examples of how to run the container using each mode: + +- Fast blocks: Fast block mode reduces block processing time to _250ms per block_, enabling rapid chain progression. It allows faster feedback cycles for operations such as staking, subnet creation, and registration, making them ideal for local testing scenarios. To run the container in fast block mode, run the following command in your terminal: + + ```bash + docker run --rm --name test_local_chain_ -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready + ``` + +- Non-fast blocks: Non-fast block mode uses the default _12-second block time_, aligning with subtensor block intervals. While this mode utilizes the default block processing time, it also incorporates some enhancements—for example, subnets become eligible to start one minute after creation. To run the container in non-fast block mode, run the following command in your terminal: + + ```bash + docker run --rm --name test_local_chain_ -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready False + ``` + +### 3. Verify your setup + +You can verify your local blockchain instance by checking the list of subnets available on your local blockchain. To do this, run the following command in the terminal: + +```bash +btcli subnet list --network ws://127.0.0.1:9944 +``` -- Update your mac or linux workstation using your package manager +If the local blockchain is running correctly, you should see the following output: + +```console + Subnets + Network: custom + + + ┃ ┃ Price ┃ Market Cap ┃ ┃ ┃ ┃ ┃ + Netuid ┃ Name ┃ (τ_in/α_in) ┃ (α * Price) ┃ Emission (τ) ┃ P (τ_in, α_in) ┃ Stake (α_out) ┃ Supply (α) ┃ Tempo (k/n) +━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━ + 0 │ τ root │ 1.0000 τ/Τ │ τ 0.00 │ τ 0.0000 │ -, - │ Τ 0.00 │ 0.00 Τ /21M │ -/- + 1 │ α apex │ 1.0000 τ/α │ τ 11.00 │ τ 0.0000 │ τ 10.00, 10.00 α │ 1.00 α │ 11.00 α /21M │ 77/100 +────────┼────────┼─────────────┼─────────────┼──────────────┼────────────────────────┼───────────────┼──────────────┼───────────── + 2 │ │ τ 1.0 │ │ τ 0.0 │ τ 10.00/175.00 (5.71%) │ │ │ + +``` + + + + +### Prerequisites + +- Update your Mac or Linux workstation using your package manager - Install [Bittensor SDK](../getting-started/installation) and [BTCLI](../getting-started/install-btcli) -## Build your local Subtensor +### Build your local Subtensor -### Install Rust/Cargo +#### Install Rust/Cargo To run locally, Substrate requires an up-to-date install of Cargo and Rust @@ -27,29 +103,31 @@ Install from Rust's website: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` -Update your shell's source to include Cargo's path: +Update your shell's source to include Cargo's path by running the following command: ```shell -source "$HOME/.cargo/env" +. "$HOME/.cargo/env" ``` -### Clone and tweak the Subtensor source +#### Clone and tweak the Subtensor source -We well clone the source and make a small modification to the state configuration with which the chain is deployed. +We will clone the source and make a small modification to the state configuration with which the chain is deployed. Normally, the creation of new subnets is limited to one per day. This is inconvenient for local subnet development, so we will limit this restriction. 1. Fetch the subtensor codebase to your local machine. -```bash -git clone https://github.com/opentensor/subtensor.git -``` + ```bash + git clone https://github.com/opentensor/subtensor.git + ``` -1. Open the source file `subtensor/runtime/src/lib.rs` in the your editor of choice, and find where the variable `SubtensorInitialNetworkRateLimit` is set. It is normally configured to 7200, which is the number of blocks per day written to the chain, i.e. the seconds in a day divided by 12, since a Subtensor block is written every twelve seconds. +2. Open the source file `subtensor/runtime/src/lib.rs` in the your editor of choice, and find where the variable `SubtensorInitialNetworkRateLimit` is set. It is normally configured to `7200`, which is the number of blocks per day written to the chain, i.e. the seconds in a day divided by 12, since a Subtensor block is written every twelve seconds. -In otherwords, this setting limits the number of new subnets that can be created to one per day. Let's change the value to 1 (block), so we can create a new subnet every 12 seconds if we want to. + In otherwords, this setting limits the number of new subnets that can be created to one per day. -### Setup Rust +3. Change the value of this variable to `1`, so we can create a new subnet every 12 seconds if we want to. + +#### Setup Rust This step ensures that you have the nightly toolchain and the WebAssembly (wasm) compilation target. Note that this step will run the Subtensor chain on your terminal directly, hence we advise that you run this as a background process using PM2 or other software. @@ -59,7 +137,7 @@ Update to the nightly version of Rust: ./subtensor/scripts/init.sh ``` -### Build +#### Build These steps initialize your local subtensor chain in development mode. These commands will set up and run a local subtensor. @@ -70,7 +148,7 @@ cd subtensor cargo build -p node-subtensor --profile release ``` -### Run +#### Run Next, run the localnet script and turn off the attempt to build the binary (as we have already done this above): @@ -82,7 +160,7 @@ BUILD_BINARY=0 ./scripts/localnet.sh If you see errors to the effect that the release cannot be found in `targets/fast-blocks`, you may need to move the build artifacts from `targets/release` to `targets/fast-blocks/release`. ::: -## Validate +### Validate Ensure your local chain is working by checking the list of subnets. @@ -131,3 +209,6 @@ Note the use of the `--chain_endpoint` flag to target the local chain, rather th ... ``` + + + From a39e2e2d3aa3aa4d7d3c1269e706f1575a98e8ba Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 1 Jul 2025 13:46:47 +0100 Subject: [PATCH 112/303] running local build --- docs/local-build/deploy.md | 93 +++++++++++++++----------------------- 1 file changed, 37 insertions(+), 56 deletions(-) diff --git a/docs/local-build/deploy.md b/docs/local-build/deploy.md index 105d7420bd..6a8049e990 100644 --- a/docs/local-build/deploy.md +++ b/docs/local-build/deploy.md @@ -26,8 +26,7 @@ The steps in this guide assume that you are running the command from the machine Before you begin, make sure you have installed the following on your machine: - [Docker](https://docs.docker.com/desktop/use-desktop/) -- [Bittensor SDK](../getting-started/installation.md) -- [Bittensor CLI](../getting-started/install-btcli.md) +- Install [Bittensor SDK](../getting-started/installation.md) and [Bittensor CLI](../getting-started/install-btcli.md) The Bittensor SDK and Bittensor CLI are required to interact with the local blockchain instance. @@ -89,11 +88,13 @@ If the local blockchain is running correctly, you should see the following outpu ### Prerequisites - Update your Mac or Linux workstation using your package manager -- Install [Bittensor SDK](../getting-started/installation) and [BTCLI](../getting-started/install-btcli) +- Install [Bittensor SDK](../getting-started/installation) and [Bittensor CLI](../getting-started/install-btcli) + +The Bittensor SDK and Bittensor CLI are required to interact with the local blockchain instance. ### Build your local Subtensor -#### Install Rust/Cargo +#### 1. Install Rust/Cargo To run locally, Substrate requires an up-to-date install of Cargo and Rust @@ -109,27 +110,22 @@ Update your shell's source to include Cargo's path by running the following comm . "$HOME/.cargo/env" ``` -#### Clone and tweak the Subtensor source - -We will clone the source and make a small modification to the state configuration with which the chain is deployed. +#### 2. Clone the subtensor repo -Normally, the creation of new subnets is limited to one per day. This is inconvenient for local subnet development, so we will limit this restriction. +Next, you must fetch the subtensor codebase to your local machine. Run the following commands to clone the Github repo and navigate into the `subtensor` directory: -1. Fetch the subtensor codebase to your local machine. - - ```bash - git clone https://github.com/opentensor/subtensor.git - ``` - -2. Open the source file `subtensor/runtime/src/lib.rs` in the your editor of choice, and find where the variable `SubtensorInitialNetworkRateLimit` is set. It is normally configured to `7200`, which is the number of blocks per day written to the chain, i.e. the seconds in a day divided by 12, since a Subtensor block is written every twelve seconds. +```bash +git clone https://github.com/opentensor/subtensor.git +cd subtensor +``` - In otherwords, this setting limits the number of new subnets that can be created to one per day. +Cloning the Subtensor repository provides all the necessary components to build and run the Bittensor blockchain locally. -3. Change the value of this variable to `1`, so we can create a new subnet every 12 seconds if we want to. + -#### Setup Rust +#### 3. Setup Rust -This step ensures that you have the nightly toolchain and the WebAssembly (wasm) compilation target. Note that this step will run the Subtensor chain on your terminal directly, hence we advise that you run this as a background process using PM2 or other software. +This step ensures that you have the nightly toolchain and the WebAssembly (wasm) compilation target. Note that this step will run the Subtensor chain directly on your terminal; therefore, we advise running it as a background process using PM2 or other software. Update to the nightly version of Rust: @@ -137,40 +133,42 @@ Update to the nightly version of Rust: ./subtensor/scripts/init.sh ``` -#### Build - -These steps initialize your local subtensor chain in development mode. These commands will set up and run a local subtensor. +#### 4. Run the blockchain locally -Build the binary: +Use the `localnet.sh` script to build and launch a local instance of the subtensor blockchain. To run the blockchain: ```bash -cd subtensor -cargo build -p node-subtensor --profile release +./scripts/localnet.sh ``` -#### Run +This script handles compilation and starts the node in a development-ready state. + +:::info Additional configurations -Next, run the localnet script and turn off the attempt to build the binary (as we have already done this above): +By default, running the `localnet.sh` script builds the Subtensor binary, purges any existing chain state, and launches the local blockchain in [fast block mode](../glossary.md#fast-blocks). To run the local blockchain in [non-fast block mode](../glossary.md#non-fast-blocks), run the following command in your terminal: ```bash -BUILD_BINARY=0 ./scripts/localnet.sh +./scripts/localnet.sh False ``` -:::info troubleshooting -If you see errors to the effect that the release cannot be found in `targets/fast-blocks`, you may need to move the build artifacts from `targets/release` to `targets/fast-blocks/release`. +The script also supports additional flags to customize its behavior: + +- `--no-purge`: Skips deletion of the existing chain state, allowing you to resume from a previous session. +- `--build-only`: Compiles the binary and generates the chainspec without starting the node. + +These flags make it easy to adapt your localnet setup for different development workflows. ::: -### Validate +#### 5. Verify your setup Ensure your local chain is working by checking the list of subnets. -Note the use of the `--chain_endpoint` flag to target the local chain, rather than, say, test network - ```shell - btcli subnet list --network ws://127.0.0.1:9945 - btcli subnet list --network test +btcli subnet list --network ws://127.0.0.1:9945 ``` +If the local blockchain is running correctly, you should see the following output: + ```console Subnets Network: custom @@ -186,29 +184,12 @@ Note the use of the `--chain_endpoint` flag to target the local chain, rather th ``` -```shell - -``` - -```console - - Subnets - Network: test - +### Troubleshooting local chain issues - ┃ ┃ Price ┃ Market Cap ┃ ┃ ┃ ┃ ┃ - Netuid ┃ Name ┃ (τ_in/α_in) ┃ (α * Price) ┃ Emission (τ) ┃ P (τ_in, α_in) ┃ Stake (α_out) ┃ Supply (α) ┃ Tempo (k/n) -━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━ - 0 │ τ root │ 1.0000 τ/Τ │ τ 5.01m │ τ 0.0000 │ -, - │ Τ 3.10m │ 5.01m Τ /21M │ -/- - 277 │ इ muv │ 0.4008 τ/इ │ τ 536.06k │ τ 0.4154 │ τ 199.85k, 498.63k इ │ 838.83k इ │ 1.34m इ /21M │ 39/99 - 3 │ γ templar │ 0.1534 τ/γ │ τ 219.03k │ τ 0.1690 │ τ 110.74k, 722.13k γ │ 706.14k γ │ 1.43m γ /21M │ 65/99 - 119 │ Ⲃ vida │ 0.0748 τ/Ⲃ │ τ 94.83k │ τ 0.1321 │ τ 44.77k, 598.65k Ⲃ │ 669.45k Ⲃ │ 1.27m Ⲃ /21M │ 81/99 - 1 │ α apex │ 0.0587 τ/α │ τ 70.03k │ τ 0.0405 │ τ 30.27k, 515.71k α │ 677.20k α │ 1.19m α /21M │ 63/99 - 13 │ ν dataverse │ 0.0467 τ/ν │ τ 63.12k │ τ 0.0645 │ τ 26.93k, 576.17k ν │ 774.11k ν │ 1.35m ν /21M │ 75/99 - 255 │ ዉ ethiopic_wu │ 0.0181 τ/ዉ │ τ 21.94k │ τ 0.0133 │ τ 10.72k, 592.40k ዉ │ 619.73k ዉ │ 1.21m ዉ /21M │ 17/99 +If you encounter errors when running the local chain, consider the following: -... -``` +- Fast and non-fast block modes are compiled into separate directories. Ensure you're using the correct build for your selected mode and that it has been compiled before starting the chain. +- Any time you pull updates or make changes to the _subtensor_ repository, you must rebuild the chain for those changes to take effect. From bfd378ef83775bdf8bd46e197d5dfd9f375a0767 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 1 Jul 2025 20:34:34 +0100 Subject: [PATCH 113/303] docs: local chain setup --- docs/local-build/deploy.md | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/docs/local-build/deploy.md b/docs/local-build/deploy.md index 6a8049e990..ac94543e84 100644 --- a/docs/local-build/deploy.md +++ b/docs/local-build/deploy.md @@ -7,13 +7,18 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import Heading from '@theme/Heading'; -# Deploy a Local Bittensor Blockchain Instance +# Create a Local Bittensor Blockchain Instance -This tutorial will guide the user through deploying a local instance of Subtensor, Bittensor's L1 blockchain. This is useful in general Bittensor development, as it gives you more freedom over chain state than when working against mainnet or even testnet. For example, it is much easier to create subnets without having to wait for registration availability. +This tutorial will guide the user through deploying a local instance of Subtensor, Bittensor's L1 blockchain. Running a local instance of the Subtensor blockchain is a great way to test changes and explore the network in a safe and isolated environment. -Each local chain is provisioned with an `alice` account with one million $\tau$. +## Running a local subtensor instance -In the following tutorial, we will also provision several wallets to serve as subnet creator, miner, and validator. +This section outlines steps for running a local instance of the Subtensor blockchain. There are two supported methods: + +- Using a prebuilt Docker image +- Running a local build from source + +Both approaches enable isolated testing, development, and debugging without requiring a connection to the mainnet. Choose the method that best fits your workflow. @@ -87,6 +92,8 @@ If the local blockchain is running correctly, you should see the following outpu ### Prerequisites +Before you begin, make sure you have installed the following on your machine: + - Update your Mac or Linux workstation using your package manager - Install [Bittensor SDK](../getting-started/installation) and [Bittensor CLI](../getting-started/install-btcli) @@ -94,19 +101,20 @@ The Bittensor SDK and Bittensor CLI are required to interact with the local bloc ### Build your local Subtensor -#### 1. Install Rust/Cargo +The following steps outline how to build a local subtensor instance: -To run locally, Substrate requires an up-to-date install of Cargo and Rust +#### 1. Install Rust/Cargo -Install from Rust's website: +To run locally, Substrate requires an up-to-date install of Cargo and Rust on your local machine. If Rust is already installed, update it using the following command: -```shell -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +```bash +rustup update ``` -Update your shell's source to include Cargo's path by running the following command: +If Rust is not installed, install Rust and then update your shell's source to include Cargo's path by running the following commands: ```shell +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh . "$HOME/.cargo/env" ``` @@ -193,3 +201,7 @@ If you encounter errors when running the local chain, consider the following: + +## Next steps + +Once your local chain is running, the next step is to provision wallets for local deployment. This includes creating hotkeys and coldkeys, funding wallets, and preparing accounts for testing or development tasks. For more information, see [Provision Wallets for Local Development](./provision-wallets). From b5beaf24f6285ccf83eda12d2d611b6876b5f809 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 1 Jul 2025 20:54:25 +0100 Subject: [PATCH 114/303] docs: fixed broken link --- docs/local-build/deploy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/local-build/deploy.md b/docs/local-build/deploy.md index ac94543e84..4cd7d90f21 100644 --- a/docs/local-build/deploy.md +++ b/docs/local-build/deploy.md @@ -37,7 +37,7 @@ The Bittensor SDK and Bittensor CLI are required to interact with the local bloc ### 1. Pull the Docker image -You can pull the official subtensor Docker image used to create the local blockchain instance from the [GitHub Container Repository](ghcr.io/opentensor/subtensor-localnet). To do this, run the following command in your terminal: +You can pull the official subtensor Docker image used to create the local blockchain instance from the [GitHub Container Repository](https://github.com/opentensor/subtensor/pkgs/container/subtensor-localnet). To do this, run the following command in your terminal: ```bash docker pull ghcr.io/opentensor/subtensor-localnet:devnet-ready From 680c5eac2d72015423de8369920e4177b8d08027 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 1 Jul 2025 13:25:33 -0700 Subject: [PATCH 115/303] wip --- docs/glossary.md | 1838 ++++++++++++++++++++++++++++++++++++- docs/subnets/metagraph.md | 120 ++- 2 files changed, 1919 insertions(+), 39 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index 8ba3655f8f..12b4bec343 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -10,47 +10,445 @@ title: "Glossary" A UID slot that is considered active within a specific subnet, allowing the associated hotkey to participate as a subnet validator or subnet miner. +**See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/) + ### Archive Node A type of public subtensor node that stores the entire blockchain history, allowing for full data access and querying capabilities. +**See also:** [Subtensor Nodes](./subtensor-nodes/), [Managing Subtensor Connections](./sdk/managing-subtensor-connections.md) + ### Axon A module in the Bittensor API that uses the FastAPI library to create and run API servers. Axons receive incoming Synapse objects. Typically, an Axon is the entry point advertised by a subnet miner on the Bittensor blockchain, allowing subnet validators to communicate with the miner. +**See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/) + ## B ### Bicameral Legislature A two-tier legislative system comprising the Triumvirate and the Senate for proposal approval. +**See also:** [Governance](./governance.md), [Senate](./senate.md) + ### Bittensor Wallet A digital wallet that holds the core ownership in the Bittensor network and serves as the user's identity technology underlying all operations. +**See also:** [Wallets](./getting-started/wallets.md), [Working with Keys](./working-with-keys.md) + ### Block A unit of data in the Bittensor blockchain, containing a collection of transactions and a unique identifier (block hash). A single block is processed every 12 seconds in the Bittensor blockchain. +**See also:** [Subtensor API](./sdk/subtensor-api.md) + ## C ### Coldkey A component of a Bittensor wallet responsible for securely storing funds and performing high-risk operations such as transfers and staking. It is encrypted on the user's device. This is analogous to a private key. +**See also:** [Coldkey-Hotkey Security](./getting-started/coldkey-hotkey-security.md), [Working with Keys](./working-with-keys.md) + ### Coldkey-hotkey pair A combination of two keys, a coldkey for secure storage and high-risk operations, and a hotkey for less secure operations and network interactions. +**See also:** [Coldkey-Hotkey Security](./getting-started/coldkey-hotkey-security.md), [Working with Keys](./working-with-keys.md) + ### Commit Reveal The commit reveal feature is designed to solve the weight-copying problem by giving would-be weight-copiers access only to stale weights. Copying stale weights should result in validators departing from consensus. -See [Commit Reveal](./subnets/commit-reveal.md) for details. +**See also:** [Commit Reveal](./subnets/commit-reveal.md) + +Code References and Implementation Details + +**Commit Reveal as Anti-Weight-Copying Mechanism:** +- Commit reveal prevents weight copying by introducing a time delay between weight commitment and revelation + - `subtensor/pallets/subtensor/src/subnets/weights.rs:41` - `do_commit_weights()` implementation +- Validators commit to weights without revealing them immediately, creating a temporal offset + - `subtensor/pallets/subtensor/src/subnets/weights.rs:74` - Weight commit storage in `WeightCommits` +- The mechanism ensures that copied weights are stale by the time they can be used + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1075` - `get_reveal_blocks()` timing calculation + +**Core Storage and Configuration:** + +**Commit Reveal Enablement:** +- Commit reveal is controlled per subnet via `CommitRevealWeightsEnabled` storage + - `subtensor/pallets/subtensor/src/lib.rs:1430` - `pub type CommitRevealWeightsEnabled = StorageMap<_, Identity, u16, bool, ValueQuery, DefaultCommitRevealWeightsEnabled>;` +- Enablement can be toggled by subnet owners or root + - `subtensor/pallets/subtensor/src/utils/misc.rs:472-477` - `get_commit_reveal_weights_enabled()` and `set_commit_reveal_weights_enabled()` + +**Weight Commit Storage:** +- **WeightCommits**: Stores commit hashes and timing information for each validator + - `subtensor/pallets/subtensor/src/lib.rs:1662-1669` - `pub type WeightCommits = StorageDoubleMap<_, Twox64Concat, u16, Twox64Concat, T::AccountId, VecDeque<(H256, u64, u64, u64)>, OptionQuery>;` +- **CRV3WeightCommits**: Stores v3 encrypted commits with epoch-based organization + - `subtensor/pallets/subtensor/src/lib.rs:1671-1680` - `pub type CRV3WeightCommits = StorageDoubleMap<_, Twox64Concat, u16, Twox64Concat, u64, VecDeque<(T::AccountId, BoundedVec>, RoundNumber)>, ValueQuery>;` +- **RevealPeriodEpochs**: Configurable reveal period per subnet + - `subtensor/pallets/subtensor/src/lib.rs:1682-1684` - `pub type RevealPeriodEpochs = StorageMap<_, Twox64Concat, u16, u64, ValueQuery, DefaultRevealPeriodEpochs>;` + +**Commit Phase Implementation:** + +**Commit Hash Generation:** +- Commit hash is generated from validator data using BlakeTwo256 + - `subtensor/pallets/subtensor/src/tests/weights.rs:1520` - `let commit_hash: H256 = BlakeTwo256::hash_of(&(hotkey, netuid, uids.clone(), weight_values.clone(), salt.clone(), version_key));` +- Hash includes: hotkey, netuid, uids, weight_values, salt, and version_key + - `subtensor/pallets/subtensor/src/subnets/weights.rs:74` - Commit storage with hash and timing information + +**Commit Validation:** +- **Enablement Check**: Ensures commit-reveal is enabled for the subnet + - `subtensor/pallets/subtensor/src/subnets/weights.rs:52` - `ensure!(Self::get_commit_reveal_weights_enabled(netuid), Error::::CommitRevealDisabled);` +- **Registration Check**: Validates hotkey is registered on the network + - `subtensor/pallets/subtensor/src/subnets/weights.rs:56-59` - `ensure!(Self::is_hotkey_registered_on_network(netuid, &who), Error::::HotKeyNotRegisteredInSubNet);` +- **Rate Limiting**: Prevents excessive commit frequency + - `subtensor/pallets/subtensor/src/subnets/weights.rs:61-66` - Rate limit check via `check_rate_limit()` + +**Reveal Timing Calculation:** + +**Epoch-Based Timing:** +- **Epoch Calculation**: Epochs are calculated based on tempo and netuid offset + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1040-1047` - `get_epoch_index()` implementation +- **Reveal Period**: Configurable number of epochs between commit and reveal + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1095-1097` - `get_reveal_period()` and `set_reveal_period()` + +**Reveal Block Range:** +- **First Reveal Block**: Calculated from commit epoch + reveal period + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1075-1085` - `get_reveal_blocks()` implementation +- **Last Reveal Block**: First reveal block + tempo (one epoch duration) + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1086-1087` - `let last_reveal_block = first_reveal_block.saturating_add(tempo);` + +**Reveal Phase Implementation:** + +**Reveal Validation:** +- **Enablement Check**: Ensures commit-reveal is still enabled + - `subtensor/pallets/subtensor/src/subnets/weights.rs:353` - `ensure!(Self::get_commit_reveal_weights_enabled(netuid), Error::::CommitRevealDisabled);` +- **Hash Verification**: Validates revealed data matches committed hash + - `subtensor/pallets/subtensor/src/subnets/weights.rs:396-396` - Hash matching in reveal validation +- **Timing Validation**: Ensures reveal occurs within valid time window + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - `is_reveal_block_range()` implementation + +**Reveal Timing Checks:** +- **Too Early**: Reveal attempted before valid reveal period + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - `is_reveal_block_range()` check +- **Expired**: Commit has expired beyond reveal period + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - `is_commit_expired()` implementation +- **Valid Window**: Reveal must occur exactly at `commit_epoch + reveal_period` + +**Commit Expiration and Cleanup:** + +**Expiration Logic:** +- **Expiration Check**: Commits expire after reveal period + 1 epoch + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - `is_commit_expired()` function +- **Automatic Cleanup**: Expired commits are removed during reveal operations + - `subtensor/pallets/subtensor/src/subnets/weights.rs:512-520` - Expired commit removal in batch reveal + +**Queue Management:** +- **FIFO Processing**: Commits are processed in first-in-first-out order + - `subtensor/pallets/subtensor/src/subnets/weights.rs:74` - `VecDeque<(H256, u64, u64, u64)>` storage +- **Commit Removal**: Revealed commits are removed from the queue + - `subtensor/pallets/subtensor/src/subnets/weights.rs:410-415` - Commit removal after successful reveal + +**Security Properties:** + +**Anti-Weight-Copying:** +- **Temporal Offset**: Time delay prevents immediate weight copying + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1075` - Reveal timing calculation +- **Stale Data**: Copied weights become irrelevant due to network changes + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - Commit expiration mechanism +- **Hash Verification**: Cryptographic commitment prevents manipulation + - `subtensor/pallets/subtensor/src/subnets/weights.rs:396` - Hash verification in reveal + +**Rate Limiting:** +- **Commit Rate Limit**: Prevents excessive commit frequency + - `subtensor/pallets/subtensor/src/subnets/weights.rs:61-66` - Rate limit validation +- **Reveal Timing**: Strict timing windows prevent timing attacks + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - Reveal timing validation + +**Testing and Validation:** + +**Comprehensive Test Coverage:** +- **Basic Functionality**: Tests verify commit and reveal workflow + - `subtensor/pallets/subtensor/src/tests/weights.rs:1502-1559` - `test_reveal_weights_when_commit_reveal_disabled()` +- **Timing Validation**: Tests verify reveal timing constraints + - `subtensor/pallets/subtensor/src/tests/weights.rs:1663-1750` - Timing validation tests +- **Hash Verification**: Tests verify cryptographic commitment integrity + - `subtensor/pallets/subtensor/src/tests/weights.rs:1750-1831` - `test_commit_reveal_hash()` + +**Error Handling:** +- **CommitRevealDisabled**: Attempting operations when disabled + - `subtensor/pallets/subtensor/src/subnets/weights.rs:52` - Enablement check +- **RevealTooEarly**: Reveal attempted before valid window + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - Timing validation +- **ExpiredWeightCommit**: Reveal attempted after expiration + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - Expiration check +- **InvalidRevealCommitHashNotMatch**: Hash verification failure + - `subtensor/pallets/subtensor/src/subnets/weights.rs:396` - Hash matching + +**Network Configuration:** + +**Subnet-Level Settings:** +- **Enablement**: Per-subnet commit reveal toggle + - `subtensor/pallets/subtensor/src/utils/misc.rs:472-477` - Enablement functions +- **Reveal Period**: Configurable epochs between commit and reveal + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1095-1097` - Reveal period configuration +- **Rate Limits**: Commit frequency restrictions + - `subtensor/pallets/subtensor/src/subnets/weights.rs:61-66` - Rate limiting + +**Default Values:** +- **DefaultCommitRevealWeightsEnabled**: Defaults to false (disabled) + - `subtensor/pallets/subtensor/src/lib.rs:799` - `pub fn DefaultCommitRevealWeightsEnabled() -> bool { false }` +- **DefaultRevealPeriodEpochs**: Default reveal period configuration + - `subtensor/pallets/subtensor/src/lib.rs:735` - `pub fn DefaultRevealPeriodEpochs() -> u64 { 1 }` + +**Key Mathematical Insights:** +1. **Commit Hash = BlakeTwo256(hotkey, netuid, uids, weights, salt, version_key)**: Cryptographic commitment +2. **Reveal Epoch = Commit Epoch + Reveal Period**: Timing calculation +3. **Reveal Block Range = [first_reveal_block, last_reveal_block]**: Valid reveal window +4. **Expiration = Current Epoch > Commit Epoch + Reveal Period + 1**: Automatic cleanup +5. **Temporal Offset = Reveal Period × Tempo**: Anti-copying delay + +**Network Security Implications:** +- **Weight Copying Prevention**: Temporal offset makes copied weights stale +- **Consensus Stability**: Prevents rapid weight manipulation +- **Validator Commitment**: Requires validators to commit to their assessments +- **Network Decentralization**: Reduces influence of weight-copying validators +- **Dynamic Adaptation**: Network changes make stale weights irrelevant + +**Complete Commit Reveal Flow:** +1. **Configuration** → Subnet enables commit reveal and sets reveal period +2. **Commit Phase** → Validator commits hash of weights without revealing them +3. **Temporal Offset** → Network progresses for reveal_period epochs +4. **Reveal Window** → Validator reveals weights within valid time window +5. **Hash Verification** → System verifies revealed data matches commit hash +6. **Weight Application** → Verified weights are applied to consensus +7. **Cleanup** → Expired commits are automatically removed + +**Commit Reveal vs Traditional Weight Setting:** +- **Traditional**: Immediate weight setting and consensus participation +- **Commit Reveal**: Delayed weight revelation with temporal offset +- **Security**: Commit reveal prevents weight copying and manipulation +- **Complexity**: Additional timing and hash verification requirements +- **Flexibility**: Configurable per subnet based on security needs ### Consensus -A measure of a subnet validator's agreement with other validators on the network, calculated based on their trust scores. This is a κ-centered sigmoid of trust, influencing the emission calculation. +A measure of a subnet validator's agreement with other validators on the network, calculated based on their trust scores. This is a $\kappa$-centered sigmoid of trust, influencing the emission calculation. + +**See also:** [Yuma Consensus](./yuma-consensus.md), [Consensus-Based Weights](./subnets/consensus-based-weights.md) + +### Consensus Score + +A core metric in the Yuma Consensus algorithm that represents the stake-weighted median of weights assigned to each neuron by validators. The consensus score serves as a threshold for weight clipping, determining which weights are considered "in consensus" and which are outliers. + +**Core Concept:** +The consensus score is calculated as the stake-weighted median of all weights assigned to a specific neuron by validators. This creates a consensus threshold that filters out outlier weights, ensuring that only weights near the median consensus are used in final rank calculations. + +**Mathematical Definition:** +For each neuron $j$, the consensus score $C_j$ is calculated as: +$$C_j = \text{weighted\_median}(\{w_{ij} \mid i \in \text{validators}\}, \{s_i \mid i \in \text{validators}\}, \kappa)$$ + +Where: +- $w_{ij}$ is the weight assigned by validator $i$ to neuron $j$ +- $s_i$ is the stake of validator $i$ +- $\kappa$ is the consensus majority ratio (typically 51%) +- $\text{weighted\_median}$ is the stake-weighted median function + +**Consensus Score in Yuma Consensus:** + +**1. Pre-ranks Calculation:** +- **Formula**: `preranks = matmul(weights, active_stake)` +- **Purpose**: Calculate initial ranks before consensus filtering +- **Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:591`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L591) + +**2. Consensus Score Calculation:** +- **Formula**: `consensus = weighted_median_col(active_stake, weights, kappa)` +- **Purpose**: Calculate consensus threshold for each neuron +- **Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:595`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L595) + +**3. Weight Clipping:** +- **Formula**: `clipped_weights = col_clip(weights, consensus)` +- **Purpose**: Remove weights below consensus threshold +- **Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:598`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L598) + +**4. Final Ranks:** +- **Formula**: `ranks = matmul(clipped_weights, active_stake)` +- **Purpose**: Calculate final ranks using consensus-filtered weights +- **Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:605`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L605) + +**5. Trust Calculation:** +- **Formula**: `trust = ranks / preranks` +- **Purpose**: Measure consensus alignment impact +- **Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:608`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L608) + +**Weighted Median Implementation:** + +**Core Algorithm:** +The weighted median is calculated using a binary search approach with stake-weighted partitioning: + +**Source**: [`subtensor/pallets/subtensor/src/epoch/math.rs:1000-1143`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/math.rs#L1000-L1143) + +```rust +pub fn weighted_median_col( + stake: &[I32F32], + score: &[Vec], + majority: I32F32, +) -> Vec { + // For each column (neuron), calculate stake-weighted median + for c in 0..columns { + median[c] = weighted_median(&use_stake, &use_score, minority, zero, stake_sum); + } +} +``` + +**Column-wise Processing:** +- **Input**: Weight matrix where rows are validators and columns are neurons +- **Output**: Consensus score vector where each element is the consensus threshold for that neuron +- **Stake Weighting**: Each validator's weight is weighted by their stake in the median calculation + +**Consensus Score Properties:** + +**Range and Interpretation:** +- **Range**: [0, 1] normalized values +- **High Consensus**: Values close to 1 indicate strong validator agreement +- **Low Consensus**: Values close to 0 indicate weak validator agreement +- **Outlier Detection**: Weights below consensus score are clipped to 0 + +**Network Security Properties:** +- **Anti-Manipulation**: Consensus filtering prevents weight manipulation by outliers +- **Stake-Weighted**: Higher stake validators have more influence in consensus +- **Dynamic Threshold**: Consensus adapts to changing network conditions +- **Majority Rule**: $\kappa$ parameter controls consensus strictness (typically 51%) + +**Consensus Score in Metagraph:** + +**Data Structure:** +- **Storage**: Consensus scores stored as u16 vectors in blockchain state +- **Retrieval**: Accessed via `metagraph.C` property in Python SDK +- **Normalization**: Converted from u16 to float using `u16_normalized_float()` + +**Source**: [`bittensor/bittensor/core/metagraph.py:360-372`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L360-L372) + +```python +@property +def C(self) -> Tensor: + """ + Represents the consensus values of neurons in the Bittensor network. + Consensus is a measure of how much a neuron's contributions are trusted + and agreed upon by the majority of the network. + """ + return self.consensus +``` + +**Consensus Score vs Other Metrics:** + +**Consensus vs Trust:** +- **Consensus**: Stake-weighted median of weights (consensus threshold) +- **Trust**: Ratio of final rank to pre-rank (consensus alignment impact) +- **Relationship**: Consensus determines weight clipping, Trust measures the impact + +**Consensus vs Ranks:** +- **Consensus**: Threshold for weight filtering +- **Ranks**: Final performance scores after consensus filtering +- **Relationship**: Consensus influences rank calculation through weight clipping + +**Consensus vs Validator Trust:** +- **Consensus**: Per-neuron consensus thresholds +- **Validator Trust**: Sum of clipped weights set by each validator +- **Relationship**: Validator trust measures validator influence in consensus + +**Testing and Validation:** + +**Consensus Calculation Testing:** +- **Weighted Median Tests**: Verify correct stake-weighted median calculation +- **Source**: [`subtensor/pallets/subtensor/src/tests/math.rs:1518-1854`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/tests/math.rs#L1518-L1854) +- **Consensus Threshold Tests**: Verify consensus filtering behavior +- **Source**: [`subtensor/pallets/subtensor/src/tests/consensus.rs:333-382`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/tests/consensus.rs#L333-L382) + +**Network Configuration:** + +**Kappa Parameter:** +- **Default Value**: 0.51 (51% majority) +- **Purpose**: Controls consensus strictness +- **Effect**: Higher kappa = stricter consensus, more weight clipping +- **Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:594`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L594) + +**Key Mathematical Insights:** +1. **Consensus = Stake-Weighted Median**: Consensus score is the median of weights weighted by validator stake +2. **Threshold Function**: Consensus score serves as clipping threshold for outlier weights +3. **Dynamic Nature**: Consensus adapts to changing network conditions and stake distribution +4. **Security Mechanism**: Consensus filtering prevents weight manipulation by outlier validators +5. **Majority Rule**: $\kappa$ parameter ensures majority consensus (typically 51%) + +**Network Security Implications:** +- **Outlier Protection**: Consensus filtering removes manipulative outlier weights +- **Stake-Based Influence**: Higher stake validators have more influence in consensus +- **Dynamic Adaptation**: Consensus thresholds adapt to changing network conditions +- **Anti-Collusion**: Consensus prevents collusive weight manipulation +- **Network Stability**: Consensus creates stable, predictable weight filtering + +**Complete Consensus Score Flow:** +1. **Weight Submission** → Validators submit weights for all neurons +2. **Stake Weighting** → Each validator's weight is weighted by their stake +3. **Median Calculation** → Stake-weighted median calculated for each neuron +4. **Threshold Setting** → Consensus score becomes clipping threshold +5. **Weight Filtering** → Weights below consensus are clipped to 0 +6. **Rank Calculation** → Final ranks calculated using filtered weights +7. **Trust Measurement** → Trust measures impact of consensus filtering + +**Consensus Score in Emission Calculation:** +- **Direct Impact**: Consensus influences rank calculation through weight clipping +- **Indirect Impact**: Ranks determine incentive distribution to miners +- **Validator Impact**: Consensus affects validator trust and dividend calculation +- **Network Effect**: Consensus creates feedback loop for network stability + +**Python SDK Usage:** + +**Accessing Consensus Scores:** +```python +import bittensor as bt + +# Initialize metagraph +metagraph = bt.metagraph(netuid=1, network="finney", sync=True) + +# Get consensus scores for all neurons +consensus_scores = metagraph.C +print(f"Consensus scores: {consensus_scores}") + +# Get consensus score for specific neuron +neuron_consensus = consensus_scores[0] # First neuron +print(f"Neuron 0 consensus: {neuron_consensus}") +``` + +**Consensus Analysis:** +```python +# Analyze consensus distribution +avg_consensus = consensus_scores.mean() +max_consensus = consensus_scores.max() +min_consensus = consensus_scores.min() + +print(f"Average consensus: {avg_consensus:.4f}") +print(f"Max consensus: {max_consensus:.4f}") +print(f"Min consensus: {min_consensus:.4f}") + +# Find neurons with highest consensus +top_consensus_indices = consensus_scores.argsort()[::-1][:10] +print("Top 10 consensus neurons:") +for i, idx in enumerate(top_consensus_indices): + print(f" {i+1}. UID {idx}: {consensus_scores[idx]:.4f}") +``` + +**Error Handling:** +- **Network Issues**: Consensus scores may be unavailable during network issues +- **Sync Requirements**: Metagraph must be synced to get current consensus scores +- **Lite Mode**: Consensus scores available in both lite and full metagraph modes + +**Testing Examples:** +- **E2E Tests**: `bittensor/tests/e2e_tests/test_incentive.py` - Consensus score validation +- **Unit Tests**: `bittensor/tests/unit_tests/test_metagraph.py` - Metagraph consensus testing +- **Integration Tests**: `bittensor/tests/integration_tests/` - End-to-end consensus testing ## D @@ -58,130 +456,864 @@ A measure of a subnet validator's agreement with other validators on the network A subnet validator that receives staked TAO tokens from delegators and performs validation tasks in one or more subnets. +**See also:** [Delegation](./staking-and-delegation/delegation.md), [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md) + ### Delegate Stake The amount of TAO staked by the delegate themselves. +**See also:** [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md), [Managing Stake with SDK](./staking-and-delegation/managing-stake-sdk.md) + ### Validator Take % The percentage of emissions a validator takes, of the portion that depends on delegated stake (not including their emissions in proportion to their own self-stake), before the remainder is extracted back to the stakers. -See [Emissions](./emissions). +**See also:** [Emissions](./emissions.md) + +Code References and Implementation Details + +**Validator Take as Delegation Fee:** +- Validator take represents the fee percentage that validators charge delegators for validation services + - `subtensor/pallets/subtensor/src/lib.rs:992-994` - `pub type Delegates = StorageMap<_, Blake2_128Concat, T::AccountId, u16, ValueQuery, DefaultDelegateTake>;` +- Take is stored as a u16 value representing percentage of u16::MAX (65,535) + - `subtensor/pallets/subtensor/src/tests/mock.rs:168` - `pub const InitialDefaultDelegateTake: u16 = 11_796; // 18%` +- Default take is 18% (11,796/65,535), with configurable min/max bounds + - `subtensor/pallets/subtensor/src/lib.rs:382` - `T::InitialDefaultDelegateTake::get()` + +**Storage and Configuration:** + +**Core Storage Implementation:** +- **Delegates Storage**: Maps hotkey to take value in blockchain state + - `subtensor/pallets/subtensor/src/lib.rs:992-994` - `pub type Delegates = StorageMap<_, Blake2_128Concat, T::AccountId, u16, ValueQuery, DefaultDelegateTake>;` +- **Default Values**: Network-wide configuration for take limits + - `subtensor/pallets/subtensor/src/lib.rs:382` - `DefaultDelegateTake()` - Default 18% + - `subtensor/pallets/subtensor/src/lib.rs:393` - `DefaultMinDelegateTake()` - Minimum 9% + - `subtensor/pallets/subtensor/src/lib.rs:977` - `MaxDelegateTake` - Maximum 18% + +**Take Management Functions:** + +**Increase Take Implementation:** +- **Rate Limiting**: Prevents rapid take increases to maintain network stability + - `subtensor/pallets/subtensor/src/staking/increase_take.rs:55-62` - Rate limit validation +- **Strict Increase**: Take can only be increased, never decreased via this function + - `subtensor/pallets/subtensor/src/staking/increase_take.rs:50-52` - `ensure!(take > current_take, Error::::DelegateTakeTooLow);` +- **Max Bound Check**: Take cannot exceed network maximum (18%) + - `subtensor/pallets/subtensor/src/staking/increase_take.rs:55-56` - `ensure!(take <= max_take, Error::::DelegateTakeTooHigh);` + +**Decrease Take Implementation:** +- **Rate Limiting**: Prevents rapid take decreases + - `subtensor/pallets/subtensor/src/staking/decrease_take.rs:45-50` - Rate limit validation +- **Strict Decrease**: Take can only be decreased, never increased via this function + - `subtensor/pallets/subtensor/src/staking/decrease_take.rs:48-50` - `ensure!(take < current_take, Error::::DelegateTakeTooLow);` +- **Min Bound Check**: Take cannot fall below network minimum (9%) + - `subtensor/pallets/subtensor/src/staking/decrease_take.rs:52-53` - `ensure!(take >= min_take, Error::::DelegateTakeTooLow);` + +**Emission Calculation Formula:** + +**Return Per 1000 TAO Calculation:** +- **Mathematical Formula**: `return_per_1000 = (emissions_per_day * (1 - take_percentage)) / (total_stake / 1000)` + - `subtensor/pallets/subtensor/src/rpc_info/delegate_info.rs:23-40` - `return_per_1000_tao()` implementation +- **Take Percentage Conversion**: `take_percentage = take_value / u16::MAX` + - `subtensor/pallets/subtensor/src/rpc_info/delegate_info.rs:28-29` - Take to percentage conversion +- **Delegator Return**: Delegators receive `(1 - take_percentage)` of validator emissions + - `subtensor/pallets/subtensor/src/rpc_info/delegate_info.rs:30-35` - Delegator return calculation + +**Emission Distribution Logic:** + +**Validator vs Delegator Emissions:** +- **Validator Self-Stake**: Validator keeps 100% of emissions from their own stake + - `developer-docs/docs/staking-and-delegation/delegation.md:73-121` - Emission distribution examples +- **Delegated Stake**: Validator takes percentage from delegated stake emissions + - `subtensor/pallets/subtensor/src/rpc_info/delegate_info.rs:113` - Take application to delegated emissions +- **Delegator Proportional**: Delegators receive proportional shares of remaining emissions + - `developer-docs/docs/staking-and-delegation/delegation.md:73-85` - Proportional distribution formula + +**Example Calculation:** +- **Validator with 18% take**: Takes 18% of delegated stake emissions +- **Delegators receive**: 82% of delegated stake emissions +- **Total validator emissions**: 100% of self-stake + 18% of delegated stake +- **Mathematical representation**: `validator_total = self_stake_emissions + (delegated_stake_emissions * 0.18)` + +**Rate Limiting and Security:** + +**Transaction Rate Limits:** +- **Take Change Rate Limit**: Prevents rapid take manipulation + - `subtensor/pallets/subtensor/src/staking/increase_take.rs:55-62` - Rate limit enforcement +- **Rate Limit Storage**: Tracks last take change timestamp per hotkey + - `subtensor/pallets/subtensor/src/lib.rs:1656` - `LastTxBlockDelegateTake` +- **Rate Limit Configuration**: Network-wide rate limit parameter + - `subtensor/pallets/subtensor/src/lib.rs:1473` - `TxDelegateTakeRateLimit` + +**Ownership Validation:** +- **Coldkey Verification**: Only hotkey owner can modify take + - `subtensor/pallets/subtensor/src/staking/increase_take.rs:42` - `Self::do_take_checks(&coldkey, &hotkey)?;` +- **Registration Check**: Hotkey must be registered to set take + - `subtensor/pallets/subtensor/src/staking/helpers.rs:15-20` - Registration validation + +**Testing and Validation:** + +**Return Calculation Testing:** +- **18% Take Test**: Verifies correct return calculation for 18% take + - `subtensor/pallets/subtensor/src/tests/delegate_info.rs:9-37` - `test_return_per_1000_tao()` +- **Mathematical Verification**: Tests verify `return_per_1000 = 82` for 18% take with 10,000 TAO stake + - `subtensor/pallets/subtensor/src/tests/delegate_info.rs:19-25` - Expected return calculation + +**Take Management Testing:** +- **Increase Take Tests**: Verify take can be increased up to maximum + - `subtensor/pallets/subtensor/src/tests/staking.rs:2761-2830` - Take increase validation +- **Decrease Take Tests**: Verify take can be decreased down to minimum + - `subtensor/pallets/subtensor/src/tests/staking.rs:2830-2900` - Take decrease validation +- **Boundary Testing**: Tests verify min/max take enforcement + - `subtensor/pallets/subtensor/src/tests/staking.rs:2786-2829` - Boundary condition tests + +**Network Configuration:** + +**Default Network Parameters:** +- **InitialDefaultDelegateTake**: 18% (11,796/65,535) + - `subtensor/pallets/subtensor/src/tests/mock.rs:168` - Default take value +- **MinDelegateTake**: 9% (5,898/65,535) - Minimum allowed take + - `subtensor/pallets/subtensor/src/lib.rs:393` - Minimum take configuration +- **MaxDelegateTake**: 18% (11,796/65,535) - Maximum allowed take + - `subtensor/pallets/subtensor/src/lib.rs:977` - Maximum take configuration + +**Rate Limit Configuration:** +- **TxDelegateTakeRateLimit**: Controls frequency of take changes + - `subtensor/pallets/subtensor/src/lib.rs:1473` - Rate limit parameter +- **LastTxBlockDelegateTake**: Per-hotkey rate limit tracking + - `subtensor/pallets/subtensor/src/lib.rs:1656` - Rate limit storage + +**Key Mathematical Insights:** +1. **Take Percentage = take_value / u16::MAX**: Conversion from u16 to percentage +2. **Delegator Return = emissions * (1 - take_percentage)**: Delegator share calculation +3. **Validator Total = self_emissions + (delegated_emissions * take_percentage)**: Total validator earnings +4. **Return Per 1000 = (daily_emissions * (1 - take)) / (total_stake / 1000)**: Delegator return rate + +**Network Security Properties:** +- **Economic Incentives**: Take creates market-driven validation fees +- **Rate Limiting**: Prevents take manipulation and network instability +- **Bounded Range**: Min/max limits prevent extreme take values +- **Ownership Control**: Only hotkey owners can modify their take +- **Transparent Calculation**: Clear mathematical formula for delegator returns + +**Complete Validator Take Flow:** +1. **Registration** → Validator registers and sets initial take (18% default) +2. **Delegation** → Delegators stake to validator +3. **Emission Calculation** → Yuma Consensus calculates validator emissions +4. **Take Application** → Validator extracts take percentage from delegated emissions +5. **Distribution** → Remaining emissions distributed to delegators proportionally +6. **Take Management** → Validator can increase/decrease take within bounds +7. **Rate Limiting** → Changes rate-limited to prevent manipulation + +**Validator Take vs Other Network Fees:** +- **Validator Take**: Fee for validation services (9-18%) +- **Staking Fee**: One-time fee for delegation (network parameter) +- **Registration Fee**: One-time fee for subnet registration +- **Childkey Take**: Fee for childkey delegation (separate parameter) +- **Network Owner Cut**: Subnet owner's share of emissions + +**Economic Implications:** +- **Market Competition**: Validators compete on take rates and performance +- **Delegator Choice**: Delegators choose validators based on take and returns +- **Network Efficiency**: Take incentivizes quality validation services +- **Economic Security**: Take creates skin-in-the-game for validators +- **Dynamic Adjustment**: Take can be adjusted based on market conditions + +**Python SDK Usage:** + +**Setting Validator Take:** +- **Main Method**: `subtensor.set_delegate_take()` - Automatically chooses increase/decrease based on current value + - `bittensor/bittensor/core/subtensor.py:3283-3366` - `set_delegate_take()` implementation +- **Direct Methods**: `increase_take_extrinsic()` and `decrease_take_extrinsic()` for specific operations + - `bittensor/bittensor/core/extrinsics/take.py:1-110` - Direct extrinsic implementations +- **Async Support**: `async_subtensor.set_delegate_take()` for asynchronous operations + - `bittensor/bittensor/core/async_subtensor.py:4537-4619` - Async implementation + +**Basic Usage Example:** +```python +import bittensor as bt + +# Initialize subtensor connection +subtensor = bt.subtensor() + +# Create wallet (must own the hotkey) +wallet = bt.wallet() + +# Set validator take to 15% (0.15) +success, message = subtensor.set_delegate_take( + wallet=wallet, + hotkey_ss58=wallet.hotkey.ss58_address, + take=0.15, # 15% take + wait_for_inclusion=True, + wait_for_finalization=True +) + +if success: + print(f"✅ Take updated successfully: {message}") +else: + print(f"❌ Failed to update take: {message}") +``` + +**Getting Current Take:** +```python +# Get current take for a hotkey +current_take = subtensor.get_delegate_take(hotkey_ss58="5F...") +print(f"Current take: {current_take:.2%}") # e.g., "Current take: 18.00%" +``` + +**Error Handling:** +- **DelegateTakeTooHigh**: Take exceeds maximum (18%) + - `bittensor/bittensor/core/errors.py:63-67` - Error definition +- **DelegateTakeTooLow**: Take below minimum (9%) or invalid decrease + - `bittensor/bittensor/core/errors.py:70-75` - Error definition +- **DelegateTxRateLimitExceeded**: Too frequent take changes + - `bittensor/bittensor/core/errors.py:165-171` - Rate limit error +- **NonAssociatedColdKey**: Wallet doesn't own the hotkey +- **HotKeyAccountNotExists**: Hotkey not registered + +**Advanced Usage:** +```python +# Async usage +async def update_validator_take(): + async with bt.subtensor() as subtensor: + success, message = await subtensor.set_delegate_take( + wallet=wallet, + hotkey_ss58=wallet.hotkey.ss58_address, + take=0.12, # 12% take + raise_error=True # Raise exceptions instead of returning False + ) + return success, message + +# Direct extrinsic calls (for specific increase/decrease) +from bittensor.core.extrinsics.take import increase_take_extrinsic, decrease_take_extrinsic + +# Force increase take +success, message = increase_take_extrinsic( + subtensor=subtensor, + wallet=wallet, + hotkey_ss58=wallet.hotkey.ss58_address, + take=13107, # u16 value for ~20% (13107/65535) + wait_for_inclusion=True +) +``` + +**Take Value Conversion:** +- **Float to u16**: `take_u16 = int(take_float * 0xFFFF)` + - `bittensor/bittensor/core/subtensor.py:3330` - Conversion implementation +- **u16 to Float**: `take_float = take_u16 / 0xFFFF` + - `bittensor/bittensor/core/subtensor.py:1117` - `u16_normalized_float()` usage +- **Example**: 18% = 0.18 * 65535 = 11,796 u16 value + +**Testing Examples:** +- **E2E Tests**: `bittensor/tests/e2e_tests/test_delegate.py:84-170` - Comprehensive testing +- **Unit Tests**: `bittensor/tests/unit_tests/test_subtensor_extended.py:956-1002` - SDK method testing +- **Async Tests**: `bittensor/tests/unit_tests/test_async_subtensor.py:2692-2750` - Async method testing ### Delegation Also known as staking, delegating TAO to a validator (who is thereby the delegate), increases the validator's stake and secure a validator permit. +**See also:** [Delegation](./staking-and-delegation/delegation.md), [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md) + ### Dendrite A client instance used by subnet validators and subnet miners to transmit information to axons on subnet miners and subnet validators. Dendrites communicate with axons using the server-client (Axon-dendrite) protocol. +**See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/) + ### Deregistration The process of removing a subnet miner or a subnet validator from the subnet due to poor performance. +**See also:** [Miner Deregistration](./miners/#miner-deregistration), [Subnet Miners](./miners/) + ## E ### EdDSA Cryptographic Keypairs A cryptographic algorithm used to generate public and private key pairs for coldkeys and hotkeys in the Bittensor wallet. +**See also:** [Working with Keys](./working-with-keys.md), [Coldkey-Hotkey Security](./getting-started/coldkey-hotkey-security.md) + ### Effective stake The total staked TAO amount of a delegate, including their own TAO tokens and those delegated by nominators. +**See also:** [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md), [Managing Stake with SDK](./staking-and-delegation/managing-stake-sdk.md) + ### Emission Every block, currency is injected into each subnet in Bittensor, and every tempo (or 360 blocks), it is extracted by participants (miners, validators, stakers, and subnet creators). Emission is this process of generating and allocating currency to participants. The amount allocated to a given participant over some duration of time is also often referred to as 'their emissions' for the period. -See [emissions](./emissions). +**See also:** [Emissions](./emissions.md) ### Encrypting the Hotkey An optional security measure for the hotkey. +**See also:** [Coldkey-Hotkey Security](./getting-started/coldkey-hotkey-security.md), [Working with Keys](./working-with-keys.md) + ### External Wallet A Bittensor wallet created through the Bittensor website or using a tool like [subkey](https://docs.substrate.io/reference/command-line-tools/subkey/), allowing users to use TAO without installing Bittensor. +**See also:** [Wallets](./getting-started/wallets.md), [Installation](./getting-started/installation.md) + ## H ### Hotkey A component of a Bittensor wallet responsible for less secure operations such as signing messages into the network, secure a UID slot in a subnet, running subnet miners and subnet validators in a subnet. It can be encrypted or unencrypted, but is unencrypted by default. The terms "account" and "hotkey" are used synonymously. +**See also:** [Coldkey-Hotkey Security](./getting-started/coldkey-hotkey-security.md), [Working with Keys](./working-with-keys.md) + ### Hotkey-Coldkey Pair Authentication mechanism for delegates and nominators and for delegates participating in the Senate. +**See also:** [Coldkey-Hotkey Security](./getting-started/coldkey-hotkey-security.md), [Working with Keys](./working-with-keys.md) + ## I ### Immunity Period A grace period granted to a newly registered subnet miner or subnet validator, during which they will not be deregistered due to performance. Allows a miner or validator new to the subnet to adapt and improve their performance, in order to avoid deregistration once the immunity period expires. +**See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/) + +Code References and Implementation Details + +**Immunity Period as Protection Mechanism:** +- Immunity period provides a grace period for new neurons to establish themselves without immediate deregistration risk + - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `get_neuron_is_immune()` implementation +- Immunity status is calculated dynamically based on registration block and current block + - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `current_block.saturating_sub(registered_at) < u64::from(immunity_period)` +- Immunity period is configurable per subnet and can be adjusted by subnet owners + - `subtensor/pallets/subtensor/src/lib.rs:1369-1371` - `pub type ImmunityPeriod = StorageMap<_, Identity, u16, u16, ValueQuery, DefaultImmunityPeriod>;` + +**Storage and Configuration:** + +**Core Storage Implementation:** +- **ImmunityPeriod Storage**: Maps netuid to immunity period value in blockchain state + - `subtensor/pallets/subtensor/src/lib.rs:1369-1371` - `pub type ImmunityPeriod = StorageMap<_, Identity, u16, u16, ValueQuery, DefaultImmunityPeriod>;` +- **Default Values**: Network-wide configuration for immunity period + - `subtensor/pallets/subtensor/src/lib.rs:660-662` - `DefaultImmunityPeriod()` - Default 4096 blocks + - `subtensor/runtime/src/lib.rs:1077` - `pub const SubtensorInitialImmunityPeriod: u16 = 4096;` +- **BlockAtRegistration Storage**: Tracks registration block for each neuron + - `subtensor/pallets/subtensor/src/lib.rs:1580-1588` - `pub type BlockAtRegistration = StorageDoubleMap<_, Identity, u16, Identity, u16, u64, ValueQuery, DefaultBlockAtRegistration>;` + +**Immunity Status Calculation:** + +**Dynamic Immunity Check:** +- **Registration Block Retrieval**: Gets the block number when neuron was registered + - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `let registered_at = Self::get_neuron_block_at_registration(netuid, uid);` +- **Current Block Retrieval**: Gets the current blockchain block number + - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `let current_block = Self::get_current_block_as_u64();` +- **Immunity Period Retrieval**: Gets the configured immunity period for the subnet + - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `let immunity_period = Self::get_immunity_period(netuid);` +- **Immunity Formula**: `is_immune = (current_block - registered_at) < immunity_period` + - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `current_block.saturating_sub(registered_at) < u64::from(immunity_period)` + +**Pruning Algorithm Integration:** + +**Pruning Score Calculation:** +- **Score-Based Selection**: Neuron with lowest pruning score is selected for replacement + - `subtensor/pallets/subtensor/src/subnets/registration.rs:409-485` - `get_neuron_to_prune()` implementation +- **Immunity Priority**: Non-immune neurons are prioritized over immune neurons for pruning + - `subtensor/pallets/subtensor/src/subnets/registration.rs:439-485` - Immunity status check in pruning algorithm +- **Tie-Breaking**: When scores are equal, earliest registered neuron is pruned + - `subtensor/pallets/subtensor/src/subnets/registration.rs:440-485` - Registration time tie-breaking + +**Pruning Algorithm Logic:** + +**Two-Tier Selection Process:** +- **Non-Immune Neurons**: First priority for pruning when available + - `subtensor/pallets/subtensor/src/subnets/registration.rs:454-465` - Non-immune neuron selection logic +- **Immune Neurons**: Second priority, only pruned when all neurons are immune + - `subtensor/pallets/subtensor/src/subnets/registration.rs:440-453` - Immune neuron selection logic +- **Owner Protection**: Subnet owner hotkey is protected from pruning regardless of immunity status + - `subtensor/pallets/subtensor/src/subnets/registration.rs:425-433` - Owner protection check + +**Score Comparison Logic:** +- **Lower Score Priority**: Neurons with lower pruning scores are selected first + - `subtensor/pallets/subtensor/src/subnets/registration.rs:440-485` - Score comparison in pruning algorithm +- **Registration Time Tie-Breaking**: When scores are equal, earlier registration wins + - `subtensor/pallets/subtensor/src/subnets/registration.rs:440-485` - Registration time comparison +- **UID Tie-Breaking**: When registration times are equal, lower UID wins + - `subtensor/pallets/subtensor/src/subnets/registration.rs:440-485` - UID-based tie-breaking + +**Registration Process Integration:** + +**Registration Block Recording:** +- **Block Storage**: Registration block is recorded when neuron is registered + - `subtensor/pallets/subtensor/src/subnets/registration.rs:214-339` - Registration block storage in `do_registration()` +- **Timestamp Tracking**: Each neuron's registration time is tracked for immunity calculation + - `subtensor/pallets/subtensor/src/lib.rs:1580-1588` - `BlockAtRegistration` storage definition +- **Dynamic Updates**: Immunity status updates automatically as blocks progress + +**Registration Methods:** +- **Proof-of-Work Registration**: Traditional registration with block recording + - `subtensor/pallets/subtensor/src/subnets/registration.rs:214-339` - `do_registration()` implementation +- **Burned Registration**: Registration by burning TAO with block recording + - `subtensor/pallets/subtensor/src/subnets/registration.rs:54-206` - `do_burned_registration()` implementation + +**Python SDK Integration:** + +**Immunity Period Retrieval:** +- **Synchronous Method**: `subtensor.immunity_period()` retrieves immunity period for subnet + - `bittensor/bittensor/core/subtensor.py:1998-2025` - `immunity_period()` implementation +- **Asynchronous Method**: `async_subtensor.immunity_period()` for async operations + - `bittensor/bittensor/core/async_subtensor.py:2931-2970` - Async `immunity_period()` implementation +- **Block-Specific Queries**: Immunity period can be queried at specific block numbers + - `bittensor/bittensor/core/subtensor.py:1998-2025` - Block parameter support + +**Testing and Validation:** + +**Comprehensive Test Coverage:** +- **Immunity Status Testing**: Tests verify correct immunity calculation + - `subtensor/pallets/subtensor/src/tests/registration.rs:621-675` - Immunity status validation tests +- **Pruning Algorithm Testing**: Tests verify immunity-aware pruning + - `subtensor/pallets/subtensor/src/tests/registration.rs:583-701` - Pruning algorithm tests +- **Edge Case Testing**: Tests verify behavior when all neurons are immune + - `subtensor/pallets/subtensor/src/tests/registration.rs:1261-1311` - All-immune scenarios + +**Test Scenarios:** +- **Mixed Immunity**: Tests with both immune and non-immune neurons + - `subtensor/pallets/subtensor/src/tests/registration.rs:583-701` - Mixed immunity test scenarios +- **All Immune**: Tests when all neurons are in immunity period + - `subtensor/pallets/subtensor/src/tests/registration.rs:1261-1311` - All-immune test scenarios +- **Tie-Breaking**: Tests for score and registration time tie-breaking + - `subtensor/pallets/subtensor/src/tests/registration.rs:583-701` - Tie-breaking validation + +**Network Configuration:** + +**Default Network Parameters:** +- **SubtensorInitialImmunityPeriod**: 4096 blocks (default for mainnet) + - `subtensor/runtime/src/lib.rs:1077` - Default immunity period value +- **Test Immunity Period**: 2 blocks (for testing environments) + - `subtensor/pallets/subtensor/src/tests/mock.rs:161` - Test immunity period value +- **Subnet-Specific**: Each subnet can have different immunity periods + - `subtensor/pallets/subtensor/src/lib.rs:1369-1371` - Per-subnet immunity period storage + +**Configuration Management:** +- **Subnet Owner Control**: Subnet owners can adjust immunity period + - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - Immunity period management functions +- **Dynamic Adjustment**: Immunity period can be changed during subnet operation + - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `set_immunity_period()` function +- **Event Emission**: Immunity period changes emit blockchain events + - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - Event emission for immunity changes + +**Key Mathematical Insights:** +1. **Immunity Formula**: `is_immune = (current_block - registered_at) < immunity_period` +2. **Block Duration**: Each block is 12 seconds, so 4096 blocks = ~13.7 hours +3. **Dynamic Status**: Immunity status updates every block automatically +4. **Pruning Priority**: Non-immune neurons are pruned before immune neurons +5. **Owner Protection**: Subnet owners are protected regardless of immunity status + +**Network Security Properties:** +- **Grace Period**: New neurons have time to establish performance +- **Performance Pressure**: Immunity eventually expires, creating performance incentives +- **Owner Stability**: Subnet owners are protected from immediate pruning +- **Dynamic Adjustment**: Immunity periods can be tuned per subnet needs +- **Fair Competition**: Immunity prevents immediate replacement of new participants + +**Complete Immunity Period Flow:** +1. **Registration** → Neuron registers and registration block is recorded +2. **Immunity Calculation** → System calculates immunity status every block +3. **Performance Building** → Neuron has immunity_period blocks to improve performance +4. **Immunity Expiration** → Neuron becomes eligible for pruning after immunity expires +5. **Pruning Evaluation** → Non-immune neurons are prioritized for pruning +6. **Owner Protection** → Subnet owners are protected regardless of immunity status +7. **Dynamic Updates** → Immunity status updates automatically with each block + +**Immunity Period vs Other Protection Mechanisms:** +- **Immunity Period**: Temporary protection for new neurons (4096 blocks) +- **Owner Protection**: Permanent protection for subnet owners +- **Validator Permits**: Performance-based validation rights +- **Stake Requirements**: Economic barriers to participation +- **Rate Limiting**: Transaction frequency restrictions + +**Economic Implications:** +- **Performance Incentives**: Immunity creates pressure to improve performance +- **Network Stability**: Prevents rapid turnover of new participants +- **Owner Commitment**: Protects subnet owners from immediate replacement +- **Competition Balance**: Balances protection with performance requirements +- **Dynamic Governance**: Allows subnet-specific immunity tuning + +**Python SDK Usage:** + +**Getting Immunity Period:** +```python +import bittensor as bt + +# Initialize subtensor connection +subtensor = bt.subtensor() + +# Get immunity period for a subnet +immunity_period = subtensor.immunity_period(netuid=1) +print(f"Immunity period: {immunity_period} blocks") # e.g., "Immunity period: 4096 blocks" + +# Get immunity period at specific block +immunity_period_at_block = subtensor.immunity_period(netuid=1, block=1000000) +print(f"Immunity period at block 1000000: {immunity_period_at_block}") +``` + +**Async Usage:** +```python +async def get_immunity_period(): + async with bt.subtensor() as subtensor: + immunity_period = await subtensor.immunity_period(netuid=1) + return immunity_period + +# Usage +immunity_period = await get_immunity_period() +print(f"Immunity period: {immunity_period} blocks") +``` + +**Error Handling:** +- **Subnet Not Found**: Returns `None` if subnet doesn't exist + - `bittensor/bittensor/core/subtensor.py:1998-2025` - Error handling in immunity_period() +- **Block Not Found**: Returns `None` if specified block doesn't exist + - `bittensor/bittensor/core/subtensor.py:1998-2025` - Block validation +- **Network Issues**: Handles connection and RPC errors gracefully + - `bittensor/bittensor/core/subtensor.py:1998-2025` - Network error handling + +**Testing Examples:** +- **E2E Tests**: `bittensor/tests/e2e_tests/test_root_set_weights.py:63-115` - Immunity period testing +- **Unit Tests**: `bittensor/tests/unit_tests/test_subtensor_extended.py` - SDK method testing +- **Async Tests**: `bittensor/tests/unit_tests/test_async_subtensor.py` - Async method testing + +**Immunity Period Calculation Examples:** +- **Block 1000 Registration**: Immunity until block 5096 (1000 + 4096) +- **Block 5000 Registration**: Immunity until block 9096 (5000 + 4096) +- **Current Block 8000**: Neuron registered at block 3000 is no longer immune +- **Current Block 6000**: Neuron registered at block 2000 is no longer immune + +**Network Configuration Examples:** +- **Subnet 1**: 7200 blocks immunity period (24 hours) +- **Default Subnets**: 4096 blocks immunity period (~13.7 hours) +- **Test Networks**: 2 blocks immunity period (24 seconds) +- **Custom Subnets**: Configurable immunity periods based on subnet needs + ### Incentives A portion of the TAO emission received by the subnet miners when they provide valuable services and compete for UID slots in a subnet. +**See also:** [Emissions](./emissions.md), [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md) + ### Incentive Mechanism A system that drives the behavior of subnet miners and governs consensus among subnet validators in a Bittensor subnet. Each subnet has its own incentive mechanism, which should be designed carefully to promote desired behaviors and penalize undesired ones. +**See also:** [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](./subnets/understanding-subnets.md) + ## L ### Lite Node A type of public subtensor node that stores limited blockchain data and relies on archive nodes for full historical data. +**See also:** [Subtensor Nodes](./subtensor-nodes/), [Managing Subtensor Connections](./sdk/managing-subtensor-connections.md) + ### Local Blockchain A private blockchain used for developing and testing subnet incentive mechanisms. A local blockchain is not public and is isolated from any Bittensor network. +**See also:** [Local Build](./local-build/deploy), [Create a Subnet](./local-build/create-subnet.md) + ### Local Wallet A Bittensor wallet created on the user's machine, requiring the installation of Bittensor. +**See also:** [Wallets](./getting-started/wallets.md), [Installation](./getting-started/installation.md) + ### Loss Function In the context of machine learning, a mathematical function that measures the difference between the predicted output and the ground truth. In Bittensor, incentive mechanisms act as loss functions that steer subnet miners towards desirable outcomes. +**See also:** [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](./subnets/understanding-subnets.md) + ## M ### Mainchain The primary Bittensor blockchain network, used for production purposes and connected to lite or archive nodes. +**See also:** [Bittensor Networks](./bittensor-networks.md), [Subtensor Nodes](./subtensor-nodes/) + ### Metagraph A data structure that contains comprehensive information about the current state of a subnet, including detailed information on all the nodes (neurons) such as subnet validator stakes and subnet weights in the subnet. Metagraph aids in calculating emissions. +**See also:** [Subtensor API](./sdk/subtensor-api.md), [Understanding Subnets](./subnets/understanding-subnets.md) + ### Miner Deregistration The process of removing a poor-performing subnet miner from a UID slot, making room for a newly registered miner. -See [Mining in Bittensor: Miner Deregistration](./miners/#miner-deregistration) +**See also:** [Miner Deregistration](./miners/#miner-deregistration) ### Mnemonic A sequence of words used to regenerate keys, in case of loss, and restore coldkeys and hotkeys in the Bittensor wallet. +**See also:** [Handle Seed Phrase](./keys/handle-seed-phrase.md), [Working with Keys](./working-with-keys.md) + ## N ### NaCl Format A secure encryption format, using the [NaCl](https://nacl.cr.yp.to/) library, used for updating legacy Bittensor wallets to improve security. +**See also:** [Working with Keys](./working-with-keys.md), [Coldkey-Hotkey Security](./getting-started/coldkey-hotkey-security.md) + ### Netuid A unique identifier assigned to a subnet within the Bittensor network. +**See also:** [Understanding Subnets](./subnets/understanding-subnets.md), [Working with Subnets](./subnets/working-with-subnets.md) + ### Neuron The basic computing node in a Bittensor subnet, representing a node in a neural network. Neurons can be either subnet validators or subnet miners. +Code References and Implementation Details + +**Neuron as Core Network Entity:** +- Neurons are the fundamental participants in Bittensor subnets, representing both miners and validators + - `bittensor/core/chain_data/neuron_info.py:18` - `Represents the metadata of a neuron including keys, UID, stake, rankings, and other attributes.` +- Each neuron has a unique UID (User ID) within its subnet, assigned during registration + - `bittensor/core/chain_data/neuron_info.py:25` - `uid (int): The unique identifier for the neuron.` +- Neurons are identified by their hotkey-coldkey pair, with the hotkey serving as the operational key + - `bittensor/core/chain_data/neuron_info.py:23-24` - `hotkey (str): The hotkey associated with the neuron.`, `coldkey (str): The coldkey associated with the neuron.` + +**Neuron Data Structures:** + +**NeuronInfo - Complete Neuron Data:** +- `NeuronInfo` contains comprehensive neuron metadata including weights and bonds + - `bittensor/core/chain_data/neuron_info.py:44-60` - Complete field definitions +- Key performance metrics stored as normalized float values (0-1 range): + - `bittensor/core/chain_data/neuron_info.py:30-35` - `rank (float)`, `emission (float)`, `incentive (float)`, `consensus (float)`, `trust (float)`, `validator_trust (float)` +- Stake information includes both total stake and per-coldkey breakdown + - `bittensor/core/chain_data/neuron_info.py:27-29` - `stake (Balance)`, `stake_dict (dict[str, Balance])`, `total_stake (Balance)` +- Network participation data: + - `bittensor/core/chain_data/neuron_info.py:26` - `netuid (int): The network unique identifier for the neuron.` + - `bittensor/core/chain_data/neuron_info.py:36` - `validator_permit (bool): Validator permit status.` + - `bittensor/core/chain_data/neuron_info.py:37-38` - `weights (list[tuple[int, int]])`, `bonds (list[list[int]])` + +**NeuronInfoLite - Lightweight Neuron Data:** +- `NeuronInfoLite` provides essential neuron data without weights and bonds for efficiency + - `bittensor/core/chain_data/neuron_info_lite.py:18` - `NeuronInfoLite is a dataclass representing neuron metadata without weights and bonds.` +- Used when full weight/bond data is not required, reducing data transfer overhead + - `bittensor/core/chain_data/neuron_info_lite.py:44-60` - Field definitions excluding weights and bonds + +**Blockchain Storage Implementation:** + +**Core Storage Maps:** +- **Keys**: Maps (netuid, uid) to hotkey for UID-to-hotkey lookup + - `subtensor/pallets/subtensor/src/lib.rs:1537-1541` - `pub type Keys = StorageDoubleMap<_, Identity, u16, Identity, u16, T::AccountId, OptionQuery>;` +- **Uids**: Maps (netuid, hotkey) to uid for hotkey-to-UID lookup + - `subtensor/pallets/subtensor/src/lib.rs:1533-1536` - `pub type Uids = StorageDoubleMap<_, Identity, u16, Blake2_128Concat, T::AccountId, u16, OptionQuery>;` +- **Owner**: Maps hotkey to coldkey for ownership verification + - `subtensor/pallets/subtensor/src/lib.rs:1542` - `pub type Owner = StorageMap<_, Blake2_128Concat, T::AccountId, T::AccountId, OptionQuery>;` + +**Performance Metrics Storage:** +- **Rank, Trust, Consensus, Incentive**: Stored as u16 vectors per subnet + - `subtensor/pallets/subtensor/src/lib.rs:1525-1532` - Various metric storage maps +- **Emission**: Stored as u64 values representing emission rates + - `subtensor/pallets/subtensor/src/lib.rs:1524` - `pub type Emission = StorageMap<_, Identity, u16, Vec, ValueQuery, EmptyU64Vec>;` +- **ValidatorPermit**: Boolean vector indicating validator permissions + - `subtensor/pallets/subtensor/src/lib.rs:1549-1552` - `pub type ValidatorPermit = StorageMap<_, Identity, u16, Vec, ValueQuery, EmptyBoolVec>;` + +**Neuron Registration Process:** + +**Registration Methods:** +- **Proof-of-Work Registration**: Traditional registration requiring computational work + - `subtensor/pallets/subtensor/src/subnets/registration.rs:214-339` - `do_registration()` implementation +- **Burned Registration**: Registration by burning TAO tokens + - `subtensor/pallets/subtensor/src/subnets/registration.rs:54-206` - `do_burned_registration()` implementation +- **Root Registration**: Special registration for root network (netuid 0) + - `subtensor/pallets/subtensor/src/macros/dispatches.rs:914` - `root_register()` extrinsic + +**Registration Algorithm:** +- **Append vs Replace Logic**: New neurons either append to subnet or replace existing ones + - `subtensor/pallets/subtensor/src/subnets/registration.rs:8-35` - `register_neuron()` implementation +- **Pruning Selection**: When subnet is full, neuron with lowest pruning score is replaced + - `subtensor/pallets/subtensor/src/subnets/registration.rs:405-485` - `get_neuron_to_prune()` algorithm +- **Immunity Period**: New neurons are protected from pruning for a configurable period + - `subtensor/pallets/subtensor/src/utils/misc.rs:448` - `get_neuron_is_immune()` function + +**Neuron Lifecycle Management:** + +**Append Neuron Process:** +- **UID Assignment**: New neurons get the next available UID (equal to current subnet size) + - `subtensor/pallets/subtensor/src/subnets/uids.rs:75-95` - `append_neuron()` implementation +- **Storage Expansion**: All metric vectors are expanded to accommodate new neuron + - `subtensor/pallets/subtensor/src/subnets/uids.rs:85-95` - Vector expansion for new neuron +- **Default Values**: New neurons start with zero values for all metrics + - `subtensor/pallets/subtensor/src/subnets/uids.rs:85-95` - Default value initialization + +**Replace Neuron Process:** +- **Old Neuron Cleanup**: Previous neuron's data is cleared and associations removed + - `subtensor/pallets/subtensor/src/subnets/uids.rs:35-75` - `replace_neuron()` implementation +- **New Neuron Setup**: New neuron inherits the UID with fresh default values + - `subtensor/pallets/subtensor/src/subnets/uids.rs:65-75` - New neuron initialization +- **Bond Clearing**: All bonds are cleared when neurons are replaced + - `subtensor/pallets/subtensor/src/subnets/uids.rs:25-30` - `clear_neuron()` function + +**Pruning Algorithm:** +- **Score-Based Selection**: Neuron with lowest pruning score is selected for replacement + - `subtensor/pallets/subtensor/src/subnets/registration.rs:405-485` - Pruning score evaluation +- **Immunity Protection**: Neurons within immunity period are protected from pruning + - `subtensor/pallets/subtensor/src/subnets/registration.rs:430-485` - Immunity period logic +- **Tie-Breaking**: When scores are equal, earliest registered neuron is pruned + - `subtensor/pallets/subtensor/src/subnets/registration.rs:440-485` - Registration time tie-breaking + +**Neuron API and Retrieval:** + +**Python SDK Methods:** +- **Individual Neuron Retrieval**: Get neuron by UID or hotkey + - `bittensor/core/subtensor.py:1369-1411` - `get_neuron_for_pubkey_and_subnet()` implementation + - `bittensor/core/async_subtensor.py:2183-2229` - Async version of neuron retrieval +- **Batch Neuron Retrieval**: Get all neurons in a subnet + - `bittensor/core/subtensor_api/neurons.py:1-16` - `Neurons` class for batch operations +- **UID Lookup**: Find UID for a given hotkey on a subnet + - `bittensor/core/subtensor.py:1922-1947` - `get_uid_for_hotkey_on_subnet()` implementation + +**Blockchain RPC Methods:** +- **Runtime API**: Neurons are retrieved via `NeuronInfoRuntimeApi` + - `subtensor/pallets/subtensor/src/rpc_info/neuron_info.rs:155` - `get_neuron()` RPC method +- **Storage Queries**: Direct storage access for UID and hotkey lookups + - `subtensor/pallets/subtensor/src/subnets/uids.rs:130-150` - UID lookup functions +- **Batch Retrieval**: Efficient retrieval of all neurons in a subnet + - `subtensor/pallets/subtensor/src/rpc_info/neuron_info.rs:210-238` - `get_neurons_lite()` implementation + +**Neuron State Management:** + +**Active Status:** +- **Active Flag**: Boolean indicating if neuron is currently active + - `bittensor/core/chain_data/neuron_info.py:26` - `active (int): The active status of the neuron.` +- **Last Update**: Block number of last activity for staleness detection + - `bittensor/core/chain_data/neuron_info.py:37` - `last_update (int): The timestamp of the last update.` +- **Staleness Filtering**: Neurons with outdated last_update are filtered from consensus + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:570-575` - Staleness filtering in epoch + +**Validator Permits:** +- **Permit Assignment**: Top K neurons by stake receive validator permits + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:520-523` - Validator permit assignment +- **Access Control**: Only permitted neurons can set weights and participate in consensus + - `subtensor/pallets/subtensor/src/subnets/weights.rs:745-748` - Weight setting permission check +- **Dynamic Updates**: Permits are recalculated every epoch based on current stake + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:847` - Permit storage update + +**Neuron Performance Metrics:** + +**Core Metrics Calculation:** +- **Rank**: Performance rank based on trust and incentive scores + - `bittensor/core/chain_data/neuron_info.py:30` - `rank (float): The rank score of the neuron.` +- **Trust**: Consensus-based trust score from inter-peer weights + - `bittensor/core/chain_data/neuron_info.py:33` - `trust (float): The trust score.` +- **Consensus**: Agreement level with other validators + - `bittensor/core/chain_data/neuron_info.py:32` - `consensus (float): The consensus score.` +- **Incentive**: Reward allocation based on performance + - `bittensor/core/chain_data/neuron_info.py:31` - `incentive (float): The incentive value.` + +**Emission and Dividends:** +- **Emission**: TAO emission rate to the neuron + - `bittensor/core/chain_data/neuron_info.py:30` - `emission (float): The emission rate.` +- **Dividends**: Additional rewards from bond investments + - `bittensor/core/chain_data/neuron_info.py:35` - `dividends (float): The dividends value.` +- **Validator Trust**: Specialized trust score for validator neurons + - `bittensor/core/chain_data/neuron_info.py:34` - `validator_trust (float): The validation trust score.` + +**Neuron Network Operations:** + +**Weight Setting:** +- **Weight Matrix**: Neurons set weights to other neurons, forming the consensus matrix + - `subtensor/pallets/subtensor/src/lib.rs:1543-1549` - `Weights` storage definition +- **Permission Control**: Only validator-permitted neurons can set non-self weights + - `subtensor/pallets/subtensor/src/subnets/weights.rs:745-748` - Weight setting restrictions +- **Self-Weight Exception**: All neurons can set self-weights regardless of permit status + - `subtensor/pallets/subtensor/src/subnets/weights.rs:961-963` - Self-weight permission logic + +**Bond Formation:** +- **Bond Investment**: Validators form bonds to miners based on performance assessment + - `subtensor/pallets/subtensor/src/lib.rs:1560-1566` - `Bonds` storage definition +- **EMA Bonds**: Bonds are smoothed using exponential moving average + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:687` - EMA bond computation +- **Bond Retention**: Bonds are retained only by neurons with validator permits + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:849-862` - Bond retention logic + +**Neuron Testing and Validation:** + +**Registration Testing:** +- **Successful Registration**: Tests verify proper neuron registration and UID assignment + - `subtensor/pallets/subtensor/src/tests/registration.rs:102-192` - Registration success tests +- **Pruning Scenarios**: Tests verify correct neuron replacement when subnet is full + - `subtensor/pallets/subtensor/src/tests/registration.rs:583-701` - Pruning algorithm tests +- **Immunity Period**: Tests verify immunity protection during registration + - `subtensor/pallets/subtensor/src/tests/registration.rs:1261-1300` - Immunity period tests + +**Neuron Lifecycle Testing:** +- **Replace Neuron**: Tests verify proper neuron replacement and data clearing + - `subtensor/pallets/subtensor/src/tests/uids.rs:15-201` - Neuron replacement tests +- **Owner Protection**: Tests verify subnet owners are protected from pruning + - `subtensor/pallets/subtensor/src/tests/uids.rs:424-542` - Owner protection tests +- **Bond Management**: Tests verify bond clearing during neuron replacement + - `subtensor/pallets/subtensor/src/tests/uids.rs:201-266` - Bond clearing tests + +**Mock Implementation:** +- **Mock Subtensor**: Provides in-memory neuron management for testing + - `bittensor/utils/mock/subtensor_mock.py:725-786` - Mock neuron retrieval methods +- **Force Registration**: Allows test-specific neuron registration + - `bittensor/utils/mock/subtensor_mock.py:470-499` - `force_register_neuron()` method +- **State Management**: Mock maintains neuron state across test scenarios + - `bittensor/utils/mock/subtensor_mock.py:823-873` - `_neuron_subnet_exists()` implementation + +**Key Mathematical Insights:** +1. **Neuron = UID + Hotkey + Coldkey**: Each neuron is uniquely identified by its UID and key pair +2. **Registration = Append or Replace**: New neurons either expand the subnet or replace existing ones +3. **Pruning = Lowest Score**: Neurons with lowest pruning scores are replaced when subnet is full +4. **Immunity = Protection Period**: New neurons are protected from pruning for a configurable period +5. **Performance = Multi-Metric**: Neuron performance is measured by rank, trust, consensus, and incentive + +**Network Security Properties:** +- **Economic Barriers**: Registration costs prevent Sybil attacks +- **Performance-Based Pruning**: Low-performing neurons are automatically replaced +- **Stake-Based Permits**: Validator permits require economic stake for consensus participation +- **Dynamic Adjustment**: Neuron state adapts to changing network conditions +- **Owner Protection**: Subnet owners are protected from pruning to ensure network stability + +**Complete Neuron Lifecycle:** +1. **Registration** → Neuron registers via PoW or burned registration +2. **UID Assignment** → Neuron receives unique UID within subnet +3. **Immunity Period** → Neuron is protected from pruning for configurable blocks +4. **Performance Building** → Neuron accumulates rank, trust, consensus, and incentive +5. **Validator Permit** → Top K neurons by stake receive validator permits +6. **Weight Setting** → Permitted neurons can set weights and participate in consensus +7. **Bond Formation** → Validators form bonds to miners based on performance +8. **Emission Distribution** → Neurons receive TAO emissions based on performance +9. **Performance Monitoring** → Neuron performance is continuously evaluated +10. **Pruning Risk** → Low-performing neurons risk replacement by new registrations + +**Neuron vs Subnet Relationship:** +- **Subnet Container**: Neurons exist within specific subnets identified by netuid +- **Subnet Limits**: Each subnet has maximum allowed UIDs (typically 256) +- **Subnet-Specific**: Neuron metrics and state are subnet-specific +- **Cross-Subnet**: Neurons can participate in multiple subnets with different UIDs +- **Subnet Governance**: Subnet owners have special privileges and protection + +**Neuron vs Validator/Miner Roles:** +- **Neuron = Container**: Neuron is the container entity that can be either validator or miner +- **Validator = Role**: Neurons with validator permits can set weights and participate in consensus +- **Miner = Role**: Neurons without validator permits perform subnet-specific tasks +- **Role Flexibility**: Neurons can change roles based on permit status and stake +- **Performance Metrics**: Both roles contribute to neuron's overall performance score + + +## N + ### Nominate The process of a delegate registering themselves as a candidate for others to stake their $TAO to. @@ -200,38 +1332,54 @@ A TAO holder who delegates their stake. In the context of machine learning and subnet operations, this refers to the goal that the subnet is continuously optimizing for, through its incentive mechanism. +**See also:** [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](./subnets/understanding-subnets.md) + ## P ### Private Key A private component of the cryptographic key pair, crucial for securing and authorizing transactions and operations within the Bittensor network. +**See also:** [Working with Keys](./working-with-keys.md), [Coldkey-Hotkey Security](./getting-started/coldkey-hotkey-security.md) + ### Proposal A suggestion or plan put forward by the Triumvirate for the Senate to vote on. +**See also:** [Governance](./governance.md), [Senate](./senate.md) + ### Proposal hash A unique identifier for a proposal used in the voting process. +**See also:** [Governance](./governance.md), [Senate](./senate.md) + ### Public Key A cryptographic key that is publicly available and used for verifying signatures, encrypting messages, and identifying accounts in the Bittensor network. This is the publicly shareable part of the cryptographic key pair associated with both the coldkey and hotkey, allowing others to securely interact with the wallet. +**See also:** [Working with Keys](./working-with-keys.md), [Coldkey-Hotkey Security](./getting-started/coldkey-hotkey-security.md) + ### Public Subtensor A publicly accessible node in the Bittensor network that can be run as a lite node or an archive node and synchronized with either the mainchain or testchain. +**See also:** [Subtensor Nodes](./subtensor-nodes/), [Managing Subtensor Connections](./sdk/managing-subtensor-connections.md) + ## R ### RAO A denomination of TAO, representing one billionth (10-9) of a TAO. +**See also:** [Emissions](./emissions.md) + ### Rank A measure of a subnet miner's performance relative to other subnet miners in the same subnet, calculated based on the subnet miner's trust and incentive scores. This is the sum of weighted stake, contributing to the emission process. +**See also:** [Emissions](./emissions.md), [Yuma Consensus](./yuma-consensus.md) + ### Recycling, burning, and locking "Recycling TAO" means that this TAO is put back into the Bittensor emissions system. Instead of minting new TAO this recycled TAO that is in the recycle bin will be used again in the new emissions. @@ -245,14 +1393,19 @@ When TAO is burned it is permanently removed from circulation, reducing total su Locked TAO is neither recycled nor burned, but held unspent, without the ability to move it until it is unlocked. The cost for subnet registration is locked and returned if the subnet is deregistered. +**See also:** [Emissions](./emissions.md), [Subnet Miners](./miners/), [Subnet Validators](./validators/) + ### Regenerating a Key The process of recreating a lost or deleted coldkey or hotkey using the associated mnemonic. +**See also:** [Handle Seed Phrase](./keys/handle-seed-phrase.md), [Working with Keys](./working-with-keys.md) + ### Register The process of registering keys with a subnet and purchasing a UID slot. +**See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/), [Working with Subnets](./subnets/working-with-subnets.md) ## S @@ -260,95 +1413,331 @@ The process of registering keys with a subnet and purchasing a UID slot. A compact representation of public keys corresponding to the wallet's coldkey and hotkey, used as wallet addresses for secure TAO transfers. +**See also:** [Working with Keys](./working-with-keys.md), [Wallets](./getting-started/wallets.md) + ### Senate A group of elected delegates formed from the top K delegate hotkeys, responsible for approving or disapproving proposals made by the Triumvirate. +**See also:** [Senate](./senate.md), [Governance](./governance.md) + ### Stake The amount of currency tokens delegated to a validator UID in a subnet. Includes both self-stake (from the validator's own cold-key) and stake delegated from others. Stake determines a validator's weight in consensus as well as their emissions. +**See also:** [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md), [Managing Stake with SDK](./staking-and-delegation/managing-stake-sdk.md), [Delegation](./staking-and-delegation/delegation.md) + ### Staking The process of attaching TAO to a hotkey, i.e., locking TAO to a hotkey, to participate as a subnet validator, and to secure a validator permit. +**See also:** [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md), [Managing Stake with SDK](./staking-and-delegation/managing-stake-sdk.md), [Delegation](./staking-and-delegation/delegation.md) + ### Subnet A Bittensor subnet is an incentive-based competition market that produces a specific kind of digital commodity. It consists of a community of miners that produce the commodity, and a community of validators that measures the miners' work to ensure its quality. +**See also:** [Understanding Subnets](./subnets/understanding-subnets.md), [Working with Subnets](./subnets/working-with-subnets.md), [Create a Subnet](./subnets/create-a-subnet.md) + ### Subnet Incentive Mechanism The framework that governs the behavior of subnet miners and ensures consensus among subnet validators by promoting desirable actions and penalizing undesired ones. +**See also:** [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](./subnets/understanding-subnets.md) + ### Subnet Miner The task-performing entity within a Bittensor subnet. A subnet miner is a type of node in a Bittensor subnet that is connected only to subnet validators. Subnet miners are isolated from the external world and communicate bidirectionally with subnet validators. A subnet miner is responsible for performing tasks given to them by the subnet validators in that subnet. +**See also:** [Subnet Miners](./miners/), [Subnet Miner Documentation](./miners/subnet_miner_docs.md) + ### Subnet Creator The individual or entity responsible for defining the specific digital task to be performed by subnet miners, implementing an incentive mechanism, and providing sufficient documentation for participation in the subnet. +**See also:** [Create a Subnet](./subnets/create-a-subnet.md), [Subnet Creators btcli Guide](./subnets/subnet-creators-btcli-guide.md) + ### Subnet Protocol A unique set of rules defining interactions between subnet validators and miners, including how tasks are queried and responses are provided. +**See also:** [Understanding Subnets](./subnets/understanding-subnets.md), [Working with Subnets](./subnets/working-with-subnets.md) + ### Subnet scoring model A component of the incentive mechanism that defines how subnet miners' responses are evaluated, aiming to align subnet miner behavior with the subnet's goals and user preferences. It is a mathematical object that converts miner responses into numerical scores, enabling continuous improvement and competition among miners. +**See also:** [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](./subnets/understanding-subnets.md) + ### Subnet Task A key component of any incentive mechanism that defines the work the subnet miners will perform. The task should be chosen to maximize subnet miner effectiveness at the intended use case for the subnet. -### Subnet Validator - -A type of node in a subnet that creates tasks, evaluates the performance of subnet miners and sets weights based on their output. A subnet validator is connected only to subnet miners and to the external world. Subnet validators receive inputs from the external world and communicate bidirectionally with subnet miners. +**See also:** [Understanding Subnets](./subnets/understanding-subnets.md), [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md) ### Subnet Weights The importance assigned to each subnet determined by relative price among subnets and used to determine the percentage emissions to subnets. +**See also:** [Emissions](./emissions.md), [Consensus-Based Weights](./subnets/consensus-based-weights.md) + ### Subtensor [Subtensor](https://github.com/opentensor/subtensor) is Bittensor's layer 1 blockchain based on substrate (now PolkadotSDK). This serves Bittensor as a system of record for transactions and rankings, operates Yuma Consensus, and emits liquidity to participants to incentivize their participation in network activities. The Bittensor SDK offers the [`bittensor.core.subtensor`](pathname:///python-api/html/autoapi/bittensor/core/subtensor/index.html) and [`bittensor.core.async_subtensor`](pathname:///python-api/html/autoapi/bittensor/core/async_subtensor/index.html) modules to handle Subtensor blockchain interactions. +**See also:** [Subtensor API](./sdk/subtensor-api.md), [Subtensor Nodes](./subtensor-nodes/), [Managing Subtensor Connections](./sdk/managing-subtensor-connections.md) + ### Sudo A privileged key for administrative actions, replaced by governance protocol for enhanced security. +**See also:** [Governance](./governance.md), [btcli Permissions](./btcli-permissions.md) + ### Synapse A data object used by subnet validators and subnet miners as the main vehicle to exchange information. Synapse objects are based on the BaseModel of the Pydantic data validation library. +**See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/) + ## T -### TAO (τ) +### TAO ($\tau$) The cryptocurrency of the Bittensor network, used to incentivize participation in network activities (mining, validation, subnet creation and management). A single TAO is newly created (i.e., minted) every 12 seconds on the Bittensor blockchain. +**See also:** [Emissions](./emissions.md), [Wallets](./getting-started/wallets.md) + ### Tempo A 360-block period during which the Yuma Consensus calculates emissions to subnet participants based on the latest available ranking weight matrix. A single block is processed every 12 seconds, hence a 360-block tempo occurs every 4320 seconds or 72 minutes. +**See also:** [Yuma Consensus](./yuma-consensus.md), [Emissions](./emissions.md) + ### Transfer The process of sending TAO tokens from one wallet address to another in the Bittensor network. +**See also:** [Wallets](./getting-started/wallets.md), [Working with Keys](./working-with-keys.md) + ### Triumvirate A group of three Opentensor Foundation employees responsible for creating proposals. +**See also:** [Governance](./governance.md), [Senate](./senate.md) + ### Trust A measure of a subnet miner's reputation and reliability, calculated based on the consensus of subnet validators. -### Trust (T) - -A measure of the confidence in a subnet based on the stakes that set non-zero weights. +Code References and Implementation Details + +**Trust as a Core Network Metric:** +- Trust is stored as a `float` value in both `NeuronInfo` and `NeuronInfoLite` data structures + - `bittensor/core/chain_data/neuron_info.py:32` - `trust (float): The trust score.` + - `bittensor/core/chain_data/neuron_info_lite.py:29` - `trust (float): Trust value of the neuron.` +- Trust values are normalized using `u16_normalized_float()` function, converting from 16-bit unsigned integers to float values between 0 and 1 + - `bittensor/core/chain_data/neuron_info.py:158` - `trust=u16_normalized_float(decoded["trust"]),` + - `bittensor/core/chain_data/neuron_info_lite.py:126` - `trust=u16_normalized_float(decoded["trust"]),` +- In the metagraph, trust is represented as a tensor (numpy array or torch tensor) accessible via `metagraph.T` property + - `bittensor/core/metagraph.py:392` - `return self.trust` + +**Trust Calculation and Sources:** +- Trust values are directly read from the blockchain state via `neuron.trust` field + - `bittensor/core/metagraph.py:759-762` - `self.trust = self._create_tensor([neuron.trust for neuron in self.neurons], dtype=self._dtype_registry["float32"],)` +- The trust matrix is "inferred from the network's inter-peer weights" according to metagraph documentation + - `bittensor/core/metagraph.py:385-386` - `The trust matrix is inferred from the network's inter-peer weights, indicating the level of trust each neuron has in others.` +- Trust represents the collective assessment of a neuron's reliability by other neurons in the network +- Higher trust values indicate stronger trust relationships between neurons + +**Trust vs Validator Trust:** +- **Trust (T)**: General trust score for all neurons, primarily miners + - `bittensor/core/metagraph.py:380-393` - Property T() documentation +- **Validator Trust (Tv)**: Specialized trust score specifically for validator neurons + - `bittensor/core/metagraph.py:397-409` - Property Tv() documentation +- Both are stored separately in the blockchain state and metagraph + - `bittensor/core/chain_data/neuron_info.py:33` - `validator_trust (float): The validation trust score.` + - `bittensor/core/chain_data/neuron_info_lite.py:30` - `validator_trust (float): Validator trust value of the neuron.` +- Validator trust is crucial for network security and validation processes + +**Trust in Consensus and Emission Calculation:** + +**The Staked Weighted Trust System:** +The consensus mechanism in Bittensor operates on a "staked weighted trust system" where trust values are combined with stake weights to determine consensus scores. This system leverages the collective judgment of all participating peers to create a robust consensus mechanism. + +**Natural Language Analysis:** +In simple terms, the consensus system works like a weighted voting mechanism where: +1. Each neuron's opinion (weight) about other neurons is weighted by their stake +2. Trust values determine how much influence each neuron has in the consensus +3. Higher trust means more influence in the consensus calculation +4. The $\kappa$-centered sigmoid function transforms trust values into consensus scores + +**Code Implementation Details:** + +**Consensus Property in Metagraph:** +- Consensus values are stored as tensors in the metagraph and accessed via `metagraph.C` + - `bittensor/core/metagraph.py:360-372` - Property C() documentation and implementation +- The consensus property returns `self.consensus` which contains consensus scores for all neurons + - `bittensor/core/metagraph.py:372` - `return self.consensus` + +**Consensus Data Flow:** +- Consensus values are read from blockchain state and stored in neuron data structures + - `bittensor/core/chain_data/neuron_info.py:147` - `consensus=u16_normalized_float(decoded["consensus"]),` + - `bittensor/core/chain_data/neuron_info_lite.py:113` - `consensus=u16_normalized_float(decoded["consensus"]),` +- Consensus values are normalized using `u16_normalized_float()` function, converting from 16-bit integers to float values between 0 and 1 +- In the metagraph, consensus is represented as a tensor accessible via `metagraph.C` property + - `bittensor/core/metagraph.py:759-762` - `self.consensus = self._create_tensor([neuron.consensus for neuron in self.neurons], dtype=self._dtype_registry["float32"],)` + +**Trust → Consensus → Rank → Incentive → Emission Pipeline:** + +**Step 1: Trust Calculation from Weights** +- Trust values are "inferred from the network's inter-peer weights" + - `bittensor/core/metagraph.py:385-386` - `The trust matrix is inferred from the network's inter-peer weights, indicating the level of trust each neuron has in others.` +- Each neuron i sets weights w_ij towards other neurons j, reflecting trust assessments + - `bittensor/core/metagraph.py:442-443` - `These weights are reflective of the neuron's assessment or judgment of other neurons in the network.` +- Higher weights from neuron i to neuron j imply greater trust or value placed on neuron j's contributions + - `bittensor/core/metagraph.py:449` - `can imply greater trust or value placed on that neuron's contributions.` + +**Step 2: Consensus Calculation via $\kappa$-Centered Sigmoid** +- Trust influences consensus through the $\kappa$-centered sigmoid function +- `bittensor/core/glossary.md:52` - `This is a $\kappa$-centered sigmoid of trust, influencing the emission calculation.` +- The $\kappa$-centered sigmoid transforms trust values into consensus scores, creating a non-linear relationship that amplifies high trust values and dampens low trust values + +**Step 3: Rank Calculation from Trust and Incentive** +- Rank is calculated based on the subnet miner's trust and incentive scores + - `bittensor/core/glossary.md:232` - `calculated based on the subnet miner's trust and incentive scores.` +- Rank values are stored in neuron data structures and normalized + - `bittensor/core/chain_data/neuron_info.py:154` - `rank=u16_normalized_float(decoded["rank"]),` + - `bittensor/core/chain_data/neuron_info_lite.py:120` - `rank=u16_normalized_float(decoded["rank"]),` +- Rank determines a neuron's position in the network hierarchy and influences emission distribution + +**Step 4: Incentive Calculation** +- Incentive values represent rewards neurons receive for their contributions + - `bittensor/core/metagraph.py:332-342` - Property I() documentation +- Incentive is based on informational value, stake, and consensus with other peers + - `bittensor/core/metagraph.py:334-336` - `The Bittensor network employs an incentive mechanism that rewards neurons based on their informational value, stake, and consensus with other peers.` +- Trust values are used in the Yuma Consensus algorithm for computing emissions +- Incentive values are normalized and stored in neuron structures + - `bittensor/core/chain_data/neuron_info.py:145` - `incentive=u16_normalized_float(decoded["incentive"]),` + - `bittensor/core/chain_data/neuron_info_lite.py:111` - `incentive=u16_normalized_float(decoded["incentive"]),` + +**Step 5: Emission Distribution** +- Emission values denote the distribution of rewards to neurons + - `bittensor/core/metagraph.py:344-354` - Property E() documentation +- Emissions are based on stake and performance, with trust influencing the distribution + - `bittensor/core/metagraph.py:348-350` - `Emissions refer to the distribution or release of rewards (often in the form of cryptocurrency) to neurons, typically based on their stake and performance.` +- The emission mechanism ensures active and contributing neurons are appropriately rewarded + +**Testing Evidence of the Pipeline:** + +**Initial State (New Neurons):** +- Trust starts at 0 for new neurons + - `tests/e2e_tests/test_incentive.py:69` - `assert bob_neuron.trust == 0` +- Consensus, incentive, and rank all start at 0 + - `tests/e2e_tests/test_incentive.py:71-73` - `assert bob_neuron.incentive == 0`, `assert bob_neuron.consensus == 0`, `assert bob_neuron.rank == 0` + +**After Successful Operation:** +- Miner trust reaches 1.0 (full trust) + - `tests/e2e_tests/test_incentive.py:129` - `assert bob_neuron.trust == 1` +- Consensus, incentive, and rank all increase above 0.5 + - `tests/e2e_tests/test_incentive.py:125-127` - `assert bob_neuron.incentive > 0.5`, `assert bob_neuron.consensus > 0.5`, `assert bob_neuron.rank > 0.5` +- Validator trust approaches 1.0 (\>0.99) for properly functioning validators + - `tests/e2e_tests/test_incentive.py:119` - `assert alice_neuron.validator_trust > 0.99` + +**Validator vs Miner Dynamics:** +- Validators receive dividends (1.0) and have high validator_trust (\>0.99) + - `tests/e2e_tests/test_incentive.py:116-117` - `assert alice_neuron.dividends == 1.0`, `assert alice_neuron.validator_trust > 0.99` +- Validators have lower incentive, consensus, and rank (\<0.5) compared to miners + - `tests/e2e_tests/test_incentive.py:118,120-121` - `assert alice_neuron.incentive < 0.5`, `assert alice_neuron.consensus < 0.5`, `assert alice_neuron.rank < 0.5` +- Miners have higher incentive, consensus, and rank (\>0.5) and full trust (1.0) + - `tests/e2e_tests/test_incentive.py:125-127,129` - Various assertions showing miner values + +**Mathematical Relationship:** +The relationship between trust, consensus, rank, incentive, and emission can be conceptualized as: +1. **Trust (T)** = f(weights_matrix) - Collective assessment from inter-peer weights +2. **Consensus (C)** = $\kappa$-sigmoid(T, stake_weights) - $\kappa$-centered sigmoid of trust weighted by stake +3. **Rank (R)** = g(T, I) - Function of trust and incentive scores +4. **Incentive (I)** = h(consensus, stake, informational_value) - Based on consensus and other factors +5. **Emission (E)** = i(rank, stake, performance) - Final reward distribution + +**Network Security Implications:** +- Trust mechanisms prevent malicious actors from gaining undue influence +- The $\kappa$-centered sigmoid creates a non-linear trust amplification that rewards high-trust neurons +- The staked weighted system ensures that high-stake validators have more influence in consensus +- Trust creates a reputation system that guides network decision-making and emission distribution +- The entire pipeline ensures that reliable contributors are identified and rewarded appropriately + +**Complete Trust Flow Implementation:** + +**1. Weight Setting and Storage:** +- Validators set weights via `set_weights()` extrinsic + - `pallets/subtensor/src/subnets/weights.rs:676` - `pub fn do_set_weights()` +- Weights are stored in blockchain storage as `Weights` double map + - `pallets/subtensor/src/lib.rs:1543-1549` - `pub type Weights = StorageDoubleMap` +- Weights are max-upscaled and normalized before storage + - `pallets/subtensor/src/subnets/weights.rs:750` - `let max_upscaled_weights: Vec = vec_u16_max_upscale_to_u16(&values);` + +**2. Weight Retrieval in Epoch:** +- Weights are retrieved during epoch execution via `get_weights_sparse()` + - `pallets/subtensor/src/epoch/run_epoch.rs:905` - `pub fn get_weights_sparse(netuid: u16) -> Vec>` +- Weights are converted from u16 to I32F32 fixed-point format + - `pallets/subtensor/src/epoch/run_epoch.rs:920` - `I32F32::saturating_from_num(*weight_ij)` + +**3. Trust Calculation in Yuma Consensus:** +- **Pre-ranks calculation**: `preranks = matmul_sparse(&weights, &active_stake, n)` + - `pallets/subtensor/src/epoch/run_epoch.rs:591` - `let preranks: Vec = matmul_sparse(&weights, &active_stake, n);` +- **Consensus calculation**: `consensus = weighted_median_col_sparse(&active_stake, &weights, n, kappa)` + - `pallets/subtensor/src/epoch/run_epoch.rs:595` - `let consensus: Vec = weighted_median_col_sparse(&active_stake, &weights, n, kappa);` +- **Weight clipping**: `clipped_weights = col_clip_sparse(&weights, &consensus)` + - `pallets/subtensor/src/epoch/run_epoch.rs:598` - `let clipped_weights: Vec> = col_clip_sparse(&weights, &consensus);` +- **Post-clip ranks**: `ranks = matmul_sparse(&clipped_weights, &active_stake, n)` + - `pallets/subtensor/src/epoch/run_epoch.rs:605` - `let mut ranks: Vec = matmul_sparse(&clipped_weights, &active_stake, n);` + +**4. Trust Formula Implementation:** +- **Trust calculation**: `trust = vecdiv(&ranks, &preranks)` + - `pallets/subtensor/src/epoch/run_epoch.rs:608` - `let trust: Vec = vecdiv(&ranks, &preranks);` +- **vecdiv function**: Element-wise division with zero protection + - `pallets/subtensor/src/epoch/math.rs:322` - `pub fn vecdiv(x: &[I32F32], y: &[I32F32]) -> Vec` +- **Mathematical meaning**: Trust = (rank_after_clipping) / (rank_before_clipping) + - Range: [0, 1] where 1.0 means no clipping occurred (full consensus) + +**5. Storage and Metagraph Reporting:** +- Trust values are converted to u16 for storage + - `pallets/subtensor/src/epoch/run_epoch.rs:850` - `let cloned_trust: Vec = trust.iter().map(|xi| fixed_proportion_to_u16(*xi)).collect();` +- Trust is stored in blockchain state + - `pallets/subtensor/src/epoch/run_epoch.rs:857` - `Trust::::insert(netuid, cloned_trust);` +- Metagraph retrieves trust from blockchain state + - `pallets/subtensor/src/rpc_info/metagraph.rs:754` - `trust: Trust::::get(netuid).into_iter().map(Compact::from).collect()` + +**6. Validator Trust Calculation:** +- **Validator trust**: Sum of clipped weights set by each validator + - `pallets/subtensor/src/epoch/run_epoch.rs:600` - `let validator_trust: Vec = row_sum_sparse(&clipped_weights);` +- **row_sum_sparse function**: Sums across each row of the sparse matrix + - `pallets/subtensor/src/epoch/math.rs:374` - `pub fn row_sum_sparse(sparse_matrix: &[Vec<(u16, I32F32)>]) -> Vec` +- **Mathematical meaning**: Validator trust = sum of all clipped weights set by that validator + +**7. Trust in Emission Calculation:** +- Trust influences incentive calculation through consensus mechanism + - `pallets/subtensor/src/epoch/run_epoch.rs:610` - `let incentive: Vec = ranks.clone();` +- Trust affects bond formation and validator dividends + - `pallets/subtensor/src/epoch/run_epoch.rs:631` - `let weights_for_bonds: Vec> = interpolate_sparse(&weights, &clipped_weights, n, bonds_penalty);` +- Trust creates feedback loop: high trust → better consensus → higher rewards → stronger bonds + +**Notes:** +1. **Trust = 1.0**: Neuron's weights were not clipped, indicating full consensus agreement +2. **Trust < 1.0**: Neuron's weights were clipped, indicating disagreement with consensus +3. **Trust = 0.0**: Neuron received no consensus weight, indicating complete disagreement +4. **Validator Trust**: Measures how much consensus weight each validator contributes +5. **Dynamic Nature**: Trust updates every epoch based on current weight submissions + +**Security Properties:** +- **Anti-manipulation**: $\kappa$-centered clipping prevents weight manipulation +- **Stake-weighted**: Higher stake validators have more influence in consensus +- **Consensus-driven**: Trust rewards alignment with majority opinion +- **Bond formation**: Trust influences long-term validator-miner relationships ## U @@ -356,15 +1745,426 @@ A measure of the confidence in a subnet based on the stakes that set non-zero we A position occupied by a subnet miner or subnet validator within a subnet, identified by a unique UID. The UID is assigned to a hotkey when it is registered in a subnet, allowing the hotkey to participate as a subnet validator or subnet miner. +**See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/), [Working with Subnets](./subnets/working-with-subnets.md) + ## V ### VPermit Validator permits held by the delegate for specific subnets. -### Validator Module +Code References and Implementation Details + +**VPermit as Delegator Authorization:** +- VPermit represents the list of subnets that a delegate is authorized to validate on + - `bittensor/core/chain_data/delegate_info.py:17` - `validator_permits (list[int]): List of subnets that the delegate is allowed to validate on.` + - `bittensor/core/chain_data/delegate_info_lite.py:19` - `validator_permits (list[int]): List of subnets that the delegate is allowed to validate on.` +- VPermit is stored as a list of subnet IDs (netuids) in delegate information structures + - `bittensor/core/chain_data/delegate_info.py:26` - `validator_permits: list[int]` + - `bittensor/core/chain_data/delegate_info_lite.py:29` - `validator_permits: list[int]` + +**VPermit vs Validator Permit:** +- **VPermit**: List of subnets a delegate can validate on (delegate-level authorization) + - `bittensor/core/chain_data/delegate_info.py:76` - `validator_permits=list(decoded.get("validator_permits", [])),` + - `bittensor/core/chain_data/delegate_info_lite.py:43` - `validator_permits=decoded["validator_permits"],` +- **Validator Permit**: Boolean flag indicating if a specific neuron has validation rights (neuron-level authorization) + - `bittensor/core/chain_data/neuron_info.py:36` - `validator_permit (bool): Validator permit status.` + - `bittensor/core/chain_data/neuron_info_lite.py:33` - `validator_permit (bool): Indicates if the neuron has a validator permit.` + +**VPermit in Delegate Information:** +- VPermit is included in both full and lite delegate information structures + - `bittensor/core/chain_data/delegate_info.py:76` - `validator_permits=list(decoded.get("validator_permits", [])),` + - `bittensor/core/chain_data/delegate_info_lite.py:43` - `validator_permits=decoded["validator_permits"],` +- VPermit is also included in delegated information for specific subnet contexts + - `bittensor/core/chain_data/delegate_info.py:108` - `validator_permits=list(delegate_info.get("validator_permits", [])),` + +**VPermit in Testing and Validation:** +- Test scenarios verify VPermit functionality for delegates + - `tests/e2e_tests/test_delegate.py:210` - `validator_permits=[],` + - `tests/e2e_tests/test_delegate.py:224` - `validator_permits=[],` + - `tests/e2e_tests/test_delegate.py:282` - `validator_permits=[alice_subnet_netuid],` +- Tests verify that delegates can gain VPermits for specific subnets + - `tests/e2e_tests/test_delegate.py:273` - `# let chain update validator_permits` + +**VPermit in Network Operations:** +- VPermit determines which subnets a delegate can participate in as a validator +- VPermit is used to control delegate access to subnet validation activities +- VPermit is part of the delegate nomination and authorization system +- VPermit enables subnet-specific validation permissions for delegates + +**VPermit vs Validator Permit in Metagraph:** +- The metagraph tracks validator_permit (boolean) for individual neurons + - `bittensor/core/metagraph.py:203` - `validator_permit: Indicates if a neuron is authorized to act as a validator.` + - `bittensor/core/metagraph.py:791-792` - `self.validator_permit = self._create_tensor([neuron.validator_permit for neuron in self.neurons], dtype=bool)` +- VPermit (delegate-level) and validator_permit (neuron-level) work together to control validation access +- Both are essential for the network's validation security and access control mechanisms + +**Complete Validator Permit Flow Implementation:** + +**1. Validator Permit Calculation in Epoch:** +- **Stake filtering**: Only neurons with sufficient stake are considered for validator permits + - `pallets/subtensor/src/epoch/run_epoch.rs:489-500` - Stake filtering based on minimum stake threshold +- **Top-K selection**: Validator permits are awarded to the top K neurons by stake + - `pallets/subtensor/src/epoch/run_epoch.rs:520-523` - `let new_validator_permits: Vec = is_topk_nonzero(&stake, max_allowed_validators as usize);` +- **is_topk_nonzero function**: Selects top K non-zero stake neurons + - `pallets/subtensor/src/epoch/math.rs:250-260` - `pub fn is_topk_nonzero(vector: &[I32F32], k: usize) -> Vec` + +**2. Validator Permit Algorithm Details:** +- **Step 1**: Filter neurons with non-zero stake + - `pallets/subtensor/src/epoch/math.rs:253` - `let mut result: Vec = vector.iter().map(|&elem| elem != I32F32::from(0)).collect();` +- **Step 2**: Sort neurons by stake in ascending order + - `pallets/subtensor/src/epoch/math.rs:257` - `idxs.sort_by_key(|&idx| &vector[idx]); // ascending stable sort` +- **Step 3**: Select top K neurons (highest stake) + - `pallets/subtensor/src/epoch/math.rs:258-260` - `for &idx in idxs.iter().take(n.saturating_sub(k)) { result[idx] = false; }` +- **Mathematical meaning**: Validator permits = top K neurons by stake, where K = max_allowed_validators + +**3. Validator Permit Storage and Retrieval:** +- **Storage**: Validator permits stored as boolean vector in blockchain state + - `pallets/subtensor/src/lib.rs:1550-1552` - `pub type ValidatorPermit = StorageMap<_, Identity, u16, Vec, ValueQuery, EmptyBoolVec>;` +- **Retrieval**: Validator permits retrieved during epoch execution + - `pallets/subtensor/src/epoch/run_epoch.rs:515` - `let validator_permits: Vec = Self::get_validator_permit(netuid);` +- **Update**: New validator permits calculated and stored every epoch + - `pallets/subtensor/src/epoch/run_epoch.rs:847` - `ValidatorPermit::::insert(netuid, new_validator_permits.clone());` + +**4. Validator Permit Access Control:** +- **Weight setting restriction**: Only neurons with validator permits can set non-self weights + - `pallets/subtensor/src/subnets/weights.rs:745-748` - `ensure!(Self::check_validator_permit(netuid, neuron_uid, &uids, &values), Error::::NeuronNoValidatorPermit);` +- **check_validator_permit function**: Validates permit status for weight setting + - `pallets/subtensor/src/subnets/weights.rs:960-967` - `pub fn check_validator_permit(netuid: u16, uid: u16, uids: &[u16], weights: &[u16]) -> bool` +- **Self-weight exception**: All neurons can set self-weights regardless of permit status + - `pallets/subtensor/src/subnets/weights.rs:961-963` - `if Self::is_self_weight(uid, uids, weights) { return true; }` + +**5. Validator Permit in Consensus Calculation:** +- **Active stake filtering**: Only validator-permitted neurons contribute to active stake + - `pallets/subtensor/src/epoch/run_epoch.rs:530-532` - `inplace_mask_vector(&validator_forbids, &mut active_stake);` +- **Weight matrix filtering**: Only validator-permitted neurons' weights are used in consensus + - `pallets/subtensor/src/epoch/run_epoch.rs:545-546` - `weights = mask_rows_sparse(&validator_forbids, &weights);` +- **Consensus participation**: Validator permits determine which neurons participate in Yuma Consensus + +**6. Validator Permit in Bond Management:** +- **Bond retention**: Neurons retain bonds only if they keep validator permits + - `pallets/subtensor/src/epoch/run_epoch.rs:849-862` - Bond management based on permit status +- **Bond clearing**: Bonds are cleared when neurons lose validator permits + - `pallets/subtensor/src/epoch/run_epoch.rs:856-860` - `if *new_permit { /* retain bonds */ } else if validator_permit { /* clear bonds */ }` + +**7. Validator Permit in Delegate Information:** +- **VPermit calculation**: Delegate VPermits calculated from individual neuron permits + - `pallets/subtensor/src/rpc_info/delegate_info.rs:88-96` - VPermit calculation for delegates +- **Subnet-specific permits**: Each delegate's VPermit list contains netuids where they have validator permits + - `pallets/subtensor/src/rpc_info/delegate_info.rs:92-95` - `if validator_permit { validator_permits.push((*netuid).into()); }` + +**8. Validator Permit Testing and Validation:** +- **Stake-based permit testing**: Tests verify that validator permits are awarded based on stake + - `pallets/subtensor/src/tests/epoch.rs:2175-2213` - Comprehensive validator permit testing +- **Weight setting access testing**: Tests verify that only permitted neurons can set weights + - `pallets/subtensor/src/tests/weights.rs:474-520` - Weight setting access control testing +- **Permit revocation testing**: Tests verify that permits are revoked when stake decreases + - `pallets/subtensor/src/tests/epoch.rs:2195-2213` - Permit revocation scenarios + +**9. Validator Permit in Metagraph Reporting:** +- **Metagraph inclusion**: Validator permits included in metagraph data structures + - `pallets/subtensor/src/rpc_info/metagraph.rs:754` - `validator_permit: ValidatorPermit::::get(netuid)` +- **Neuron info inclusion**: Validator permits included in individual neuron information + - `pallets/subtensor/src/rpc_info/neuron_info.rs:36` - `validator_permit: bool` field in NeuronInfo + +**10. Validator Permit Security Properties:** +- **Stake-based selection**: Validator permits awarded based on economic stake, ensuring skin-in-the-game +- **Dynamic adjustment**: Permits recalculated every epoch based on current stake distribution +- **Access control**: Permits control critical network functions like weight setting and consensus participation +- **Bond alignment**: Permits align with bond retention, creating economic incentives for validators +- **Network security**: Permits ensure only high-stake, trusted neurons participate in consensus + +**Key Mathematical Insights:** +1. **Validator Permit = Top K by Stake**: Permits awarded to K neurons with highest stake +2. **K = max_allowed_validators**: Network parameter controlling validator count +3. **Stake Threshold**: Minimum stake required to be considered for permits +4. **Dynamic Nature**: Permits recalculated every epoch based on current stake +5. **Economic Security**: High stake requirement ensures validator commitment + +**Network Security Implications:** +- **Economic barrier**: High stake requirement prevents Sybil attacks +- **Consensus control**: Only permitted validators participate in consensus +- **Weight manipulation prevention**: Permits prevent unauthorized weight setting +- **Bond alignment**: Permits align with bond retention for economic security +- **Dynamic adjustment**: Permits adapt to changing network conditions and stake distribution + +**Complete Validator Permit Flow:** +1. **Stake Calculation** → Total stake calculated for each neuron +2. **Threshold Filtering** → Neurons below minimum stake excluded +3. **Top-K Selection** → Top K neurons by stake awarded permits +4. **Storage Update** → New permits stored in blockchain state +5. **Access Control** → Permits control weight setting and consensus participation +6. **Bond Management** → Permits determine bond retention/clearing +7. **Metagraph Reporting** → Permits included in network state reporting +8. **Delegate VPermits** → Individual permits aggregated into delegate VPermits + +**Validator Permit vs VPermit Relationship:** +- **Validator Permit**: Neuron-level boolean flag (has permit or not) +- **VPermit**: Delegate-level list of subnet IDs where delegate has permits +- **Aggregation**: VPermit = list of netuids where delegate's neurons have validator_permit = true +- **Hierarchy**: VPermit aggregates multiple validator permits across subnets for a single delegate +- **Purpose**: Validator permit controls individual neuron access, VPermit controls delegate-level permissions + + +### Validator -The software component that subnet validators run to perform their subnet validation operations within a subnet. +A type of node in a subnet that creates tasks, evaluates the performance of subnet miners and sets weights based on their output. A subnet validator is connected only to subnet miners and to the external world. Subnet validators receive inputs from the external world and communicate bidirectionally with subnet miners. + +**See also:** [Subnet Validators](./validators/), [Validators btcli Guide](./validators/validators-btcli-guide.md) + +### Validator-Miner Bonds + +A mechanism in the Bittensor network that represents the investment relationship between validators and miners, used to calculate validator emissions and incentivize consistent, honest evaluation of miner performance. + +**Core Concept:** +Bonds represent the "investment" a validator has made in evaluating a specific miner. This bonding mechanism is integral to the network's market-based approach to measuring and rewarding machine intelligence through the Yuma Consensus algorithm. + +**Bond Formation Process:** + +**1. Instant Bond Calculation:** +The instant bond $\Delta B_{ij}$ of validator $i$ to miner $j$ is calculated as: +$$\Delta B_{ij} = \frac{S_i \cdot \widetilde{W_{ij}}}{\sum_{k \in \mathbb{V}} S_k \cdot \widetilde{W_{kj}}}$$ + +Where: +- $S_i$ is validator $i$'s stake +- $\widetilde{W_{ij}}$ is the bond-weight (penalty-adjusted weight) +- The denominator normalizes by the total bond-weight for miner $j$ across all validators + +**2. Bond-Weight Calculation:** +Bond-weights are penalized when validators overstate miner performance: +$$\widetilde{W_{ij}} = (1-\beta)W_{ij} + \beta\overline{W_{ij}}$$ + +Where: +- $W_{ij}$ is the original weight set by validator $i$ for miner $j$ +- $\overline{W_{ij}}$ is the consensus-clipped weight +- $\beta$ is the bonds penalty factor (configurable hyperparameter) + +**3. Exponential Moving Average (EMA) Bonds:** +Instant bonds are smoothed over time using EMA to prevent abrupt changes: +$$B_{ij}^{(t)} = \alpha \Delta B_{ij} + (1-\alpha)B_{ij}^{(t-1)}$$ + +Where $\alpha$ is the EMA smoothing factor (typically around 10%). + +**Bond Mechanics and Incentives:** + +**Consensus Alignment:** +- Validators who stay near consensus build stronger EMA bonds +- Bonds are penalized when validators overstate miner performance +- The EMA smooths out abrupt swings in validator behavior +- Bonds incentivize consistent alignment with consensus + +**Validator Emissions:** +Each validator's share of validator emissions (41% of subnet emissions) is calculated as: +$$V_i = \sum_{j \in \mathbb{M}} (B_{ij} \times M_j)$$ + +Where $M_j$ is miner $j$'s share of miner emissions. + +**Bond Management:** + +**Bond Retention:** +- Neurons retain bonds only if they keep validator permits +- Bonds are cleared when neurons lose validator permits +- Bonds are stored as sparse matrices in blockchain state + +**Bond Decay:** +- Bonds decay over time based on the `bonds_moving_avg` parameter +- Higher decay rates make bonds more responsive to recent performance +- Lower decay rates allow bonds to persist longer + +**Network Security Properties:** + +**Anti-Manipulation:** +- Bonds prevent weight manipulation through economic penalties +- Validators must "put skin in the game" to influence consensus +- Bond penalties discourage collusive over-evaluation of miners + +**Economic Alignment:** +- Bonds create long-term relationships between validators and miners +- Validators are incentivized to discover and support promising miners early +- Bond strength reflects validator confidence in miner performance + +**Dynamic Adjustment:** +- Bonds adapt to changing network conditions and consensus +- EMA smoothing prevents exploitation of rapid bond changes +- Bonds provide stability while allowing for network evolution + +**Technical Implementation:** + +**Storage:** +- Bonds are stored as sparse matrices in blockchain state +- Each validator's bonds to miners are stored as vectors of (miner_uid, bond_value) pairs +- Bonds are updated every epoch during Yuma Consensus execution + +**Retrieval:** +- Bonds can be queried via the `bonds()` method in the Subtensor API +- Metagraph includes bonds matrix accessible via `metagraph.B` property +- Bonds are included in neuron information structures + +**Hyperparameters:** +- `bonds_penalty`: Controls penalty for out-of-consensus weights (0-65535) +- `bonds_moving_avg`: Controls bond decay rate (typically 900,000) +- `liquid_alpha_enabled`: Enables dynamic alpha adjustment for bonds + +**Relationship to Other Network Components:** + +**Trust and Consensus:** +- Bonds influence trust calculation through consensus mechanisms +- High bond values indicate strong validator-miner relationships +- Trust creates feedback loop: high trust → better consensus → higher bonds + +**Validator Permits:** +- Bonds are retained only by neurons with validator permits +- Loss of validator permit clears all bonds for that neuron +- Bonds align with permit retention for economic security + +**Emission Distribution:** +- Bonds directly determine validator emission shares +- Strong bonds lead to higher validator rewards +- Bonds create market-based incentive alignment + +**Code References:** +- `pallets/subtensor/src/epoch/run_epoch.rs:631` - Bond calculation in epoch execution +- `pallets/subtensor/src/epoch/math.rs:1475` - EMA bond computation +- `bittensor/core/async_subtensor.py:931` - Bonds API method +- `pallets/subtensor/src/lib.rs:1560` - Bonds storage definition + +**See also:** [Yuma Consensus](./yuma-consensus), [Emissions](./emissions), [Trust](#trust), [Validator Permits](#vpermit) + +Code References and Implementation Details + +**Bonds as Core Network Data Structure:** +- Bonds are stored as sparse matrices in blockchain state via `Bonds` storage map + - `subtensor/pallets/subtensor/src/lib.rs:1560-1566` - `pub type Bonds = StorageDoubleMap<_, Identity, u16, Identity, u16, Vec<(u16, u16)>, ValueQuery, DefaultBonds>;` +- Bonds are represented as vectors of (miner_uid, bond_value) pairs for each validator + - `bittensor/core/chain_data/neuron_info.py:47` - `bonds (list[list[int]]): List of bonds associated with the neuron.` +- Bonds are included in both full and lite neuron information structures + - `bittensor/core/chain_data/neuron_info.py:158` - `bonds=[[e[0], e[1]] for e in decoded["bonds"]],` + - Note: `NeuronInfoLite` does not include bonds to reduce data size + +**Bonds in Metagraph Representation:** +- Bonds are accessible via `metagraph.B` property in the metagraph + - `bittensor/core/metagraph.py:427-436` - Property B() documentation and implementation +- Bonds are processed using `_process_weights_or_bonds()` method + - `bittensor/core/metagraph.py:673-690` - `_process_weights_or_bonds()` method for processing bonds data +- Bonds are converted to tensors using `convert_bond_uids_and_vals_to_tensor()` + - `bittensor/utils/weight_utils.py:143-162` - `convert_bond_uids_and_vals_to_tensor()` function + +**Bonds API and Retrieval:** +- Bonds can be queried via the `bonds()` method in AsyncSubtensor + - `bittensor/core/async_subtensor.py:931-976` - `bonds()` method implementation +- Bonds are retrieved from blockchain storage via `SubtensorModule::Bonds` storage map + - `bittensor/core/async_subtensor.py:963-965` - `storage_function="Bonds"` query +- Bonds are returned as list of tuples mapping neuron UID to bond tuples + - `bittensor/core/async_subtensor.py:976` - `return b_map` + +**Bond Calculation in Yuma Consensus:** + +**1. Bond-Weight Calculation:** +- **Bonds penalty retrieval**: `bonds_penalty = Self::get_float_bonds_penalty(netuid)` + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:207-208` - Bonds penalty retrieval +- **Weight interpolation**: `weights_for_bonds = interpolate_sparse(&weights, &clipped_weights, n, bonds_penalty)` + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:625-627` - Weight interpolation for bonds +- **Mathematical meaning**: $\widetilde{W_{ij}} = (1-\beta)W_{ij} + \beta\overline{W_{ij}}$ where $\beta$ is bonds penalty + +**2. Instant Bond Calculation:** +- **Bonds delta**: `bonds_delta = row_hadamard_sparse(&weights_for_bonds, &active_stake)` + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:680-682` - Instant bond calculation +- **Normalization**: `inplace_col_normalize_sparse(&mut bonds_delta, n)` + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:684` - Bond normalization +- **Mathematical meaning**: $\Delta B_{ij} = \frac{S_i \cdot \widetilde{W_{ij}}}{\sum_{k \in \mathbb{V}} S_k \cdot \widetilde{W_{kj}}}$ + +**3. EMA Bond Computation:** +- **Alpha calculation**: `alpha = 1 - bonds_moving_avg / 1_000_000` + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:1020-1025` - Alpha calculation +- **EMA computation**: `ema_bonds = mat_ema_sparse(&bonds_delta, &bonds, alpha)` + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:687` - EMA bond computation + +**4. Bond Storage and Management:** +- **Permit-based retention**: Bonds stored only if neuron retains validator permit + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:849-862` - Bond retention logic +- **Storage format**: Bonds stored as `Vec<(u16, u16)>` pairs + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:852-854` - Bond storage format + +**5. Dividend Calculation:** +- **Dividend computation**: `dividends = matmul_transpose_sparse(&ema_bonds, &incentive)` + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:713` - Dividend calculation +- **Normalization**: `inplace_normalize(&mut dividends)` + - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:714` - Dividend normalization +- **Mathematical meaning**: $D_i = \sum_{j \in \mathbb{M}} B_{ij} \times I_j$ where: + - $B_{ij}$ is the EMA bond from validator $i$ to miner $j$ + - $I_j$ is miner $j$'s incentive share + +**Key Mathematical Insights:** +1. **Bonds = Economic Investment**: Bonds represent validator "investment" in miner performance +2. **Penalty Mechanism**: Bonds penalty ($\beta$) reduces bond value for out-of-consensus weights +3. **EMA Smoothing**: Bonds change gradually over time, preventing manipulation +4. **Consensus Alignment**: Bonds incentivize validators to align with network consensus +5. **Economic Security**: Bonds create skin-in-the-game for validators + +**Network Security Properties:** +- **Anti-manipulation**: Bond penalties make weight manipulation economically costly +- **Consensus stability**: Bonds create economic incentives for consensus alignment +- **Validator commitment**: Bonds require validators to commit to their evaluations +- **Market-based incentives**: Bonds create a market for validator-miner relationships +- **Dynamic adjustment**: Bonds adapt to changing network conditions and consensus + +**Complete Bond Flow Implementation:** + +**1. Weight Setting and Storage:** +- Validators set weights via `set_weights()` extrinsic + - `pallets/subtensor/src/subnets/weights.rs:676` - `pub fn do_set_weights()` +- Weights are stored in blockchain storage as `Weights` double map + - `pallets/subtensor/src/lib.rs:1543-1549` - `pub type Weights = StorageDoubleMap` + +**2. Consensus Calculation:** +- **Consensus computation**: `consensus = weighted_median_col_sparse(&active_stake, &weights, n, kappa)` + - `pallets/subtensor/src/epoch/run_epoch.rs:595` - Consensus calculation +- **Weight clipping**: `clipped_weights = col_clip_sparse(&weights, &consensus)` + - `pallets/subtensor/src/epoch/run_epoch.rs:598` - Weight clipping at consensus + +**3. Bond-Weight Calculation:** +- **Bonds penalty retrieval**: `bonds_penalty = Self::get_float_bonds_penalty(netuid)` + - `pallets/subtensor/src/epoch/run_epoch.rs:625` - Bonds penalty retrieval +- **Weight interpolation**: `weights_for_bonds = interpolate_sparse(&weights, &clipped_weights, n, bonds_penalty)` + - `pallets/subtensor/src/epoch/run_epoch.rs:625-627` - Bond-weight calculation + +**4. Instant Bond Formation:** +- **Bonds delta**: `bonds_delta = row_hadamard_sparse(&weights_for_bonds, &active_stake)` + - `pallets/subtensor/src/epoch/run_epoch.rs:680-682` - Instant bond calculation +- **Normalization**: `inplace_col_normalize_sparse(&mut bonds_delta, n)` + - `pallets/subtensor/src/epoch/run_epoch.rs:684` - Bond normalization + +**5. EMA Bond Computation:** +- **Alpha calculation**: `alpha = 1 - bonds_moving_avg / 1_000_000` + - `pallets/subtensor/src/epoch/run_epoch.rs:1020-1025` - Alpha calculation +- **EMA computation**: `ema_bonds = mat_ema_sparse(&bonds_delta, &bonds, alpha)` + - `pallets/subtensor/src/epoch/run_epoch.rs:687` - EMA bond computation + +**6. Bond Storage and Management:** +- **Permit-based retention**: Bonds stored only if neuron retains validator permit + - `pallets/subtensor/src/epoch/run_epoch.rs:849-862` - Bond retention logic +- **Storage format**: Bonds stored as `Vec<(u16, u16)>` pairs + - `pallets/subtensor/src/epoch/run_epoch.rs:852-854` - Bond storage format + +**7. Dividend Calculation:** +- **Dividend computation**: `dividends = matmul_transpose_sparse(&ema_bonds, &incentive)` + - `pallets/subtensor/src/epoch/run_epoch.rs:713` - Dividend calculation +- **Normalization**: `inplace_normalize(&mut dividends)` + - `pallets/subtensor/src/epoch/run_epoch.rs:714` - Dividend normalization + +**Key Mathematical Insights:** +1. **Bonds = Economic Investment**: Bonds represent validator "investment" in miner performance +2. **Penalty Mechanism**: Bonds penalty ($\beta$) reduces bond value for out-of-consensus weights +3. **EMA Smoothing**: Bonds change gradually over time, preventing manipulation +4. **Consensus Alignment**: Bonds incentivize validators to align with network consensus +5. **Economic Security**: Bonds create skin-in-the-game for validators + +**Network Security Properties:** +- **Anti-manipulation**: Bond penalties make weight manipulation economically costly +- **Consensus stability**: Bonds create economic incentives for consensus alignment +- **Validator commitment**: Bonds require validators to commit to their evaluations +- **Market-based incentives**: Bonds create a market for validator-miner relationships +- **Dynamic adjustment**: Bonds adapt to changing network conditions and consensus ## W @@ -373,24 +2173,32 @@ The software component that subnet validators run to perform their subnet valida A unique identifier derived from the public key, used as a destination for sending and receiving TAO tokens in the Bittensor network. +**See also:** [Wallets](./getting-started/wallets.md), [Working with Keys](./working-with-keys.md) + ### Wallet Location The directory path where the generated Bittensor wallets are stored locally on the user's machine. +**See also:** [Wallets](./getting-started/wallets.md), [Installation](./getting-started/installation.md) + ### Weight Matrix A matrix formed from the ranking weight vectors of all subnet validators in a subnet, used as input for the Yuma Consensus module to calculate emissions to that subnet. +**See also:** [Yuma Consensus](./yuma-consensus.md), [Consensus-Based Weights](./subnets/consensus-based-weights.md) + ### Weight Vector A vector maintained by each subnet validator, with each element representing the weight assigned to a subnet miner based on its performance. The ranking weight vectors for each subnet are transmitted to the blockchain, where they combine to form the [weight matrix](#weight-matrix) that is input for Yuma Consensus. +**See also:** [Consensus-Based Weights](./subnets/consensus-based-weights.md), [Yuma Consensus](./yuma-consensus.md) + ## Y ### Yuma Consensus The consensus mechanism in the Bittensor blockchain that computes emissions to participants. -See [Yuma Consensus](./yuma-consensus.md) +**See also:** [Yuma Consensus](./yuma-consensus.md) \ No newline at end of file diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index 58e7d51ad1..35d2728447 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -27,16 +27,17 @@ You can access metagraph data through multiple interfaces: ### Bittensor CLI (btcli) -The `btcli` command-line interface provides easy access to metagraph information: +The `btcli` command-line interface provides access to a subset of metagraph information (corresponding to "lite" mode in the SDK). For full metagraph data including weights and bonds, use the Python SDK with `lite=False`. ```bash -# Dump full metagraph to file +# Dump metagraph subset to file (lite mode) btcli subnets metagraph --netuid 14 --network finney \ - --json-output > sn14_full_metagraph.json + --json-output > sn14_metagraph.json # View abridged metagraph btcli subnets metagraph --netuid 14 --network finney ``` + ```console Subnet 14: TAOHash Network: finney @@ -47,7 +48,11 @@ btcli subnets metagraph --netuid 14 --network finney 3 │ 387.08k ξ │ 61.46k ξ │ τ 325.62k │ 0.184314 │ 0.000000 │ 27.280861 ξ │ 5C59… │ 5GZSAg │ ... - ``` +``` + +:::note btcli Limitations +The btcli output shows a subset of metagraph data (lite mode). For complete data including ranks, trust scores, weights, and bonds, use the Python SDK with `lite=False`. +::: ### Python SDK @@ -56,10 +61,15 @@ The Bittensor Python SDK [Metagraph module](pathname:///python-api/html/autoapi/ ```python from bittensor.core.metagraph import Metagraph -# Initialize metagraph for subnet 14 +# Initialize metagraph for subnet 14 (lite mode - excludes weights/bonds) m = Metagraph(netuid=14, network="finney", sync=True) + +# Initialize metagraph with full data including weights and bonds +m = Metagraph(netuid=14, network="finney", lite=False, sync=True) ``` + + ### Smart Contract Access (Metagraph Precompile) For smart contract integration, you can access metagraph data through the **Metagraph Precompile** at address `0x0000000000000000000000000000000000000802`. This provides read-only access to individual neuron metrics and network information. @@ -83,12 +93,12 @@ See [Subtensor:Metagraph RPC source code](https://github.com/opentensor/subtenso ### Lite vs Full Sync -- **Lite Mode** (`lite=True`): Faster sync, excludes weights and bonds -- **Full Mode** (`lite=False`): Complete data including weight matrices +- **Lite Mode** (`lite=True`): Faster sync, excludes weights and bonds (corresponds to btcli output) +- **Full Mode** (`lite=False`): Complete data including weight matrices and bond matrices ### Caching -The metagraph supports local caching: +The metagraph supports local caching to persistent files: ```python # Save metagraph for later use @@ -101,36 +111,42 @@ metagraph.load() metagraph.save(root_dir=['/custom', 'path']) ``` +:::info Cache Location +Metagraph files are saved to `~/.bittensor/metagraphs/network-{network}/netuid-{netuid}/block-{block_number}.pt` by default. The files are persistent and not temporary. + +**Source**: [`bittensor/bittensor/core/metagraph.py:96-115`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L96-L115) +::: + ## Data Structures ### Metagraph Object -In the Bittensor Python SDK, the `Metagraph` class encapsulates the following information +In the Bittensor Python SDK, the `Metagraph` class encapsulates the following information about a particular subnet. [Metagraph class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/metagraph/index.html) - +
      Metagraph Properties | Name | Description | |------|--| -| `netuid` | Unique subnet identifier | -| `network` | Network name (finney, test, local) | +| `netuid` | The subnet's unique identifier | +| `network` | Name of the Bittensor network, i.e. mainnet ('finney'), test, or a locally deployed chain | | `version` | Bittensor version number | -| `n` | Total number of neurons | -| `block` | Current blockchain block number | -| `total_stake` | Total stake across all neurons | -| **Stake** / `S` | Total stake of each neuron | +| `n` | Total number of neurons registered on the subnet | +| `block` | Block number when the metagraph record was retrieved | +| `total_stake` | Total stake (alpha + TAO × 0.18) across all neurons | +| **Stake** / `S` | Total stake (alpha + TAO × 0.18) of each neuron | | **Alpha Stake** / `AS` | Alpha token stake | | **Tao Stake** / `TS` | TAO token stake | -| **Ranks** / `R` | Performance ranking scores | -| **Trust** / `T` | Trust scores from other neurons | +| **Ranks** / `R` | Consensus ranking scores after weight clipping | +| **Trust** / `T` | Consensus alignment ratio (final rank / pre-rank) | | **Validator Trust** / `Tv` | Validator-specific trust scores | -| **Consensus** / `C` | Network consensus alignment | -| **Incentive** / `I` | Reward incentive scores | -| **Emission** / `E` | Token emission rates | -| **Dividends** / `D` | Dividend distributions | -| **Bonds** / `B` | Inter-neuronal bonds | -| **Weights** / `W` | Weight matrix between neurons | +| **Consensus** / `C` | Stake-weighted median of weights (consensus threshold) | +| **Incentive** / `I` | Normalized ranks (reward allocation for miners) | +| **Emission** / `E` | Token emission amounts in RAO | +| **Dividends** / `D` | Bond-based rewards for validators | +| **Bonds** / `B` | Inter-neuronal bond matrix (speculative investments) | +| **Weights** / `W` | Weight matrix (validator → miner assignments) | | `uids` | Unique neuron identifiers | | `hotkeys` | Neuron hotkey addresses | | `coldkeys` | Neuron coldkey addresses | @@ -161,6 +177,48 @@ In the Bittensor Python SDK, the `Metagraph` class encapsulates the following in | `emissions` | Emission configuration (`MetagraphInfoEmissions`) |
      +### Stake Calculation + +The total stake combines alpha and TAO stakes with a weighting factor: + +**Formula**: `Total Stake = Alpha Stake + (TAO Stake × 0.18)` + +**Source**: [`bittensor/bittensor/core/chain_data/metagraph_info.py:340`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/chain_data/metagraph_info.py#L340) + +```python +tao_stake = [ + _tbwu(ts) * settings.ROOT_TAO_STAKE_WEIGHT # ROOT_TAO_STAKE_WEIGHT = 0.18 + for ts in decoded["tao_stake"] +] +``` + +### Consensus Metrics (Ranks, Trust, Consensus) + +The Yuma Consensus algorithm calculates these metrics through a multi-step process: + +**Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:175-200`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L175-L200) + +1. **Pre-ranks**: `preranks = matmul(weights, active_stake)` - stake-weighted sum of incoming weights +2. **Consensus**: `consensus = weighted_median_col(active_stake, weights, kappa)` - stake-weighted median of weights per neuron (consensus threshold) +3. **Weight clipping**: Weights clipped at consensus threshold to remove outliers +4. **Final ranks**: `ranks = matmul(clipped_weights, active_stake)` - stake-weighted sum of clipped weights +5. **Trust**: `trust = ranks / preranks` - ratio of final rank to pre-rank (consensus alignment) + +**Metric Details**: +- **Consensus**: Stake-weighted median of weights assigned to each neuron by validators. Higher values indicate stronger validator agreement. +- **Ranks**: Final consensus-based ranking after weight clipping. Used for incentive distribution. +- **Trust**: Measures how much a neuron's rank was affected by consensus clipping (0-1 range). +- **Validator Trust**: Sum of clipped weights set by each validator (measures validator influence). + +**Trust interpretation**: +- `Trust = 1.0`: Neuron's rank unchanged by consensus (high consensus alignment) +- `Trust < 1.0`: Neuron's rank reduced by consensus clipping (lower consensus alignment) +- `Trust = 0.0`: Neuron's rank eliminated by consensus (no consensus) + +**Incentive vs Dividends**: +- **Incentive**: Normalized ranks distributed to miners based on consensus performance +- **Dividends**: Bond-based rewards distributed to validators based on their bond investments + ### Neuron Info @@ -908,3 +966,17 @@ def main(): if __name__ == "__main__": main() ``` + +## Source Code References + +### Core Implementation +- **Metagraph Class**: [`bittensor/bittensor/core/metagraph.py`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py) +- **Chain Data**: [`bittensor/bittensor/core/chain_data/metagraph_info.py`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/chain_data/metagraph_info.py) +- **Subtensor RPC**: [`subtensor/pallets/subtensor/src/rpc_info/metagraph.rs`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/rpc_info/metagraph.rs) + +### Consensus Algorithm +- **Yuma Consensus**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs) +- **Mathematical Operations**: [`subtensor/pallets/subtensor/src/epoch/math.rs`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/math.rs) + +### Key Constants +- **TAO Stake Weight**: [`bittensor/bittensor/core/settings.py:7`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/settings.py#L7) - `ROOT_TAO_STAKE_WEIGHT = 0.18` From 0e9becb54818a00ae709170489619ccea024bb6d Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 2 Jul 2025 16:23:50 +0100 Subject: [PATCH 116/303] docs: removed duplicated commands --- docs/btcli.md | 5159 +++++-------------------------------------------- 1 file changed, 516 insertions(+), 4643 deletions(-) diff --git a/docs/btcli.md b/docs/btcli.md index e26082f701..1aa7c0cfc2 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -13,7 +13,7 @@ overriden by passing them explicitly in the command line. **Usage**: -```console +```bash btcli [OPTIONS] COMMAND [ARGS]... ``` @@ -28,29 +28,22 @@ btcli [OPTIONS] COMMAND [ARGS]... **Commands**: - `config`: Config commands, aliases: `c`, `conf` -- `conf` -- `c` - `wallet`: Wallet commands, aliases: `wallets`, `w` -- `w` -- `wallets` - `stake`: Stake commands, alias: `st` -- `st` - `sudo`: Sudo commands, alias: `su` -- `su` - `subnets`: Subnets commands, alias: `s`, `subnet` -- `s` -- `subnet` - `weights`: Weights commands, aliases: `wt`, `weight` -- `wt` -- `weight` - `utils` +- `view` ## `btcli config` **Usage**: -```console +```bash btcli config [OPTIONS] COMMAND [ARGS]... + +aliases: conf, c ``` **Options**: @@ -94,14 +87,15 @@ btcli config set [OPTIONS] **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--cache, --cache / --no-cache, --no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. -- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%). -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode. -- `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow` +- `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name`: Name of the wallet. +- `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` : Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`: Hotkey of the wallet +- `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint`: The subtensor network to connect to. Default: finney. +- `--cache`, `--cache / --no-cache`, `--no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. +- `--slippage, --slippage-tolerance, --tolerance`: Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%). +- `--safe-staking`, `--safe / --no-safe-staking`, `--unsafe`: Enable or disable safe staking mode. +- `--allow-partial-stake`, `--partial`, `--allow / --no-allow-partial-stake`, `--no-partial`, `--not-allow` +- `--dashboard-path`, `--dashboard_path`, `--dash_path`, `--dash.path`: Path to save the dashboard HTML file. For example: `~/.bittensor/dashboard`. - `--help`: Show this message and exit. ### `btcli config get` @@ -168,135 +162,14 @@ btcli config metagraph [OPTIONS] - `--reset`: Restore the display of metagraph columns to show all columns. - `--help`: Show this message and exit. -## `btcli conf` - -**Usage**: - -```console -btcli conf [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `set`: Sets or updates configuration values in... -- `get`: Prints the current config file in a table. -- `clear`: Clears the fields in the config file and... -- `metagraph`: Command option to configure the display of... - -### `btcli conf set` - -Sets or updates configuration values in the BTCLI config file. - -This command allows you to set default values that will be used across all BTCLI commands. - -**Usage:** - -Interactive mode: -`btcli config set` - -Set specific values: -`btcli config set --wallet-name default --network finney` -`btcli config set --safe-staking --rate-tolerance 0.1` - -Note: - -- Network values can be network names (e.g., 'finney', 'test') or websocket URLs -- Rate tolerance is specified as a decimal (e.g., 0.05 for 0.05%) -- Changes are saved to ~/.bittensor/btcli.yaml -- Use `btcli config get` to view current settings - -**Usage**: - -```console -btcli conf set [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--cache, --cache / --no-cache, --no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. -- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%). -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode. -- `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow` -- `--help`: Show this message and exit. - -### `btcli conf get` - -Prints the current config file in a table. - -**Usage**: - -```console -btcli conf get [OPTIONS] -``` - -**Options**: - -- `--help`: Show this message and exit. - -### `btcli conf clear` - -Clears the fields in the config file and sets them to 'None'. - - - To clear the 'chain' and 'network' fields: - - ``` - btcli config clear --chain --network - ``` - - - To clear your config entirely: - - ``` - btcli config clear --all - ``` - -**Usage**: - -```console -btcli conf clear [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name` -- `-p, --wallet-path, --wallet_path, --wallet.path` -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey` -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint` -- `--cache` -- `--slippage, --slippage-tolerance, --tolerance` -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: [default: no-safe-staking] -- `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow`: [default: no-allow-partial-stake] -- `--all` -- `--help`: Show this message and exit. - -### `btcli conf metagraph` - -Command option to configure the display of the metagraph columns. - -**Usage**: - -```console -btcli conf metagraph [OPTIONS] -``` - -**Options**: - -- `--reset`: Restore the display of metagraph columns to show all columns. -- `--help`: Show this message and exit. +## `btcli view` -## `btcli c` +Display html dashboard with subnets list, stake, and neuron information. **Usage**: ```console -btcli c [OPTIONS] COMMAND [ARGS]... +btcli view [OPTIONS] COMMAND [ARGS]... ``` **Options**: @@ -305,121 +178,15 @@ btcli c [OPTIONS] COMMAND [ARGS]... **Commands**: -- `set`: Sets or updates configuration values in... -- `get`: Prints the current config file in a table. -- `clear`: Clears the fields in the config file and... -- `metagraph`: Command option to configure the display of... - -### `btcli c set` - -Sets or updates configuration values in the BTCLI config file. - -This command allows you to set default values that will be used across all BTCLI commands. - -**Usage:** -Interactive mode: -`btcli config set` - -Set specific values: -`btcli config set --wallet-name default --network finney` -`btcli config set --safe-staking --rate-tolerance 0.1` - -Note: - -- Network values can be network names (e.g., 'finney', 'test') or websocket URLs -- Rate tolerance is specified as a decimal (e.g., 0.05 for 0.05%) -- Changes are saved to ~/.bittensor/btcli.yaml -- Use `btcli config get` to view current settings - -**Usage**: - -```console -btcli c set [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--cache, --cache / --no-cache, --no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. -- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%). -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode. -- `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow` -- `--help`: Show this message and exit. - -### `btcli c get` - -Prints the current config file in a table. - -**Usage**: - -```console -btcli c get [OPTIONS] -``` - -**Options**: - -- `--help`: Show this message and exit. - -### `btcli c clear` - -Clears the fields in the config file and sets them to 'None'. - - - To clear the 'chain' and 'network' fields: - - ``` - btcli config clear --chain --network - ``` - - - To clear your config entirely: - - ``` - btcli config clear --all - ``` - -**Usage**: - -```console -btcli c clear [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name` -- `-p, --wallet-path, --wallet_path, --wallet.path` -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey` -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint` -- `--cache` -- `--slippage, --slippage-tolerance, --tolerance` -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: [default: no-safe-staking] -- `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow`: [default: no-allow-partial-stake] -- `--all` -- `--help`: Show this message and exit. - -### `btcli c metagraph` - -Command option to configure the display of the metagraph columns. - -**Usage**: - -```console -btcli c metagraph [OPTIONS] -``` - -**Options**: - -- `--reset`: Restore the display of metagraph columns to show all columns. -- `--help`: Show this message and exit. +- `dashboard`: Display html dashboard with subnets list, stake, and neuron information. -## `btcli view dashboard` +### `btcli view dashboard` Display html dashboard with subnets list, stake, and neuron information. **Usage**: -```console +```bash btcli view dashboard ``` @@ -429,6 +196,8 @@ btcli view dashboard ```console btcli wallet [OPTIONS] COMMAND [ARGS]... + +aliases: w, wallets ``` **Options**: @@ -1376,12 +1145,14 @@ btcli wallet get_identity [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -## `btcli w` +## `btcli stake` **Usage**: ```console -btcli w [OPTIONS] COMMAND [ARGS]... +btcli stake [OPTIONS] COMMAND [ARGS]... + +aliases: st ``` **Options**: @@ -1390,3834 +1161,147 @@ btcli w [OPTIONS] COMMAND [ARGS]... **Commands**: -- `list`: Displays all the wallets and their... -- `swap-hotkey`: Swap hotkeys of a given wallet on the... -- `regen-coldkey`: Regenerate a coldkey for a wallet on the... -- `regen-coldkeypub`: Regenerates the public part of a coldkey... -- `regen-hotkey`: Regenerates a hotkey for a wallet. -- `new-hotkey`: Create a new hotkey for a wallet. -- `new-coldkey`: Create a new coldkey. -- `create`: Create a complete wallet by setting up... -- `balance`: Check the balance of the wallet. -- `history`: Show the history of the transfers carried... -- `overview`: Displays a detailed overview of the user's... -- `transfer`: Send TAO tokens from one wallet to another... -- `inspect`: Displays the details of the user's wallet... -- `set-identity`: Create or update the on-chain identity of... -- `get-identity`: Shows the identity details of a user's... -- `sign`: Allows users to sign a message with the... -- `swap_hotkey`: Swap hotkeys of a given wallet on the... -- `regen_coldkey`: Regenerate a coldkey for a wallet on the... -- `regen_coldkeypub`: Regenerates the public part of a coldkey... -- `regen_hotkey`: Regenerates a hotkey for a wallet. -- `new_hotkey`: Create a new hotkey for a wallet. -- `new_coldkey`: Create a new coldkey. -- `set_identity`: Create or update the on-chain identity of... -- `get_identity`: Shows the identity details of a user's... +- `add`: Stake TAO to one or more hotkeys on... +- `remove`: Unstake TAO from one or more hotkeys and... +- `list`: Display detailed stake information for a... +- `move`: Move staked TAO between hotkeys while... +- `transfer`: Transfer stake between coldkeys while... +- `swap`: Swap stake between different subnets while... +- `child`: Child Hotkey commands, alias: `children` +- `children` -### `btcli w list` +### `btcli stake add` -Displays all the wallets and their corresponding hotkeys that are located in the wallet path specified in the config. +Stake TAO to one or more hotkeys on specific or multiple netuids with your coldkey. -The output display shows each wallet and its associated `ss58` addresses for the coldkey public key and any hotkeys. The output is presented in a hierarchical tree format, with each wallet as a root node and any associated hotkeys as child nodes. The `ss58` address is displayed for each coldkey and hotkey that is not encrypted and exists on the device. +Stakes are always added through your coldkey's free balance. For stake movement, see the [`btcli stake move`](#btcli-stake-move) command. -Upon invocation, the command scans the wallet directory and prints a list of all the wallets, indicating whether the -public keys are available (`?` denotes unavailable or encrypted keys). +Common Examples: -``` -btcli wallet list --path ~/.bittensor -``` - -Note: This command is read-only and does not modify the filesystem or the blockchain state. It is intended for use with the Bittensor CLI to provide a quick overview of the user's wallets. - -**Usage**: - -```console -btcli w list [OPTIONS] -``` - -**Options**: - -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w swap-hotkey` - -Swap hotkeys of a given wallet on the blockchain. For a registered key pair, for example, a (coldkeyA, hotkeyA) pair, this command swaps the hotkeyA with a new, unregistered, hotkeyB to move the original registration to the (coldkeyA, hotkeyB) pair. - -**Usage:** - -The command is used to swap the hotkey of a wallet for another hotkey on that same wallet. - -**Important:** - -- Make sure that your original key pair (coldkeyA, hotkeyA) is already registered. -- Make sure that you use a newly created hotkeyB in this command. A hotkeyB that is already registered cannot be used in this command. -- Finally, note that this command requires a fee of 1 TAO for recycling and this fee is taken from your wallet (coldkeyA). - -**Example:** - -``` -btcli wallet swap_hotkey destination_hotkey_name --wallet-name your_wallet_name --wallet-hotkey original_hotkey -``` - -**Usage**: - -```console -btcli w swap-hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] -``` - -**Arguments**: - -- `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli w regen-coldkey` - -Regenerate a coldkey for a wallet on the Bittensor blockchain network. - -This command is used to create a new coldkey from an existing mnemonic, seed, or JSON file. - -**Usage:** - -Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a coldkey. The command supports optional password protection for the generated key. - -**Example:** - -``` -btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" -``` - -Note: This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. - -**Usage**: - -```console -btcli w regen-coldkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -- `--json-password TEXT`: Password to decrypt the JSON file. -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w regen-coldkeypub` - -Regenerates the public part of a coldkey (coldkeypub.txt) for a wallet. - -Use this command when you need to move machine for subnet mining. Use the public key or SS58 address from your coldkeypub.txt that you have on another machine to regenerate the coldkeypub.txt on this new machine. - -**Usage:** - -The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. - -**Example:** - -``` -btcli wallet regen_coldkeypub --ss58_address 5DkQ4... -``` - -Note: This command is particularly useful for users who need to regenerate their coldkeypub, perhaps due to file corruption or loss. You will need either ss58 address or public hex key from your old coldkeypub.txt for the wallet. It is a recovery-focused utility that ensures continued access to your wallet functionalities. - -**Usage**: - -```console -btcli w regen-coldkeypub [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--public-key-hex TEXT`: The public key in hex format. -- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w regen-hotkey` - -Regenerates a hotkey for a wallet. - -Similar to regenerating a coldkey, this command creates a new hotkey from a mnemonic, seed, or JSON file. - -**Usage:** - -Users can provide a mnemonic, seed string, or a JSON file to regenerate the hotkey. The command supports optional password protection and can overwrite an existing hotkey. - -``` -btcli wallet regen_hotkey --seed 0x1234... -``` - -Note: This command is essential for users who need to regenerate their hotkey, possibly for security upgrades or key recovery. -It should be used with caution to avoid accidental overwriting of existing keys. - -**Usage**: - -```console -btcli w regen-hotkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -- `--json-password TEXT`: Password to decrypt the JSON file. -- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w new-hotkey` - -Create a new hotkey for a wallet. - -**Usage:** - -This command is used to generate a new hotkey for managing a neuron or participating in a subnet. It provides options for the mnemonic word count, and supports password protection. It also allows overwriting the -existing hotkey. - -**Example:** - -``` -btcli wallet new-hotkey --n_words 24 -``` - -Note: This command is useful to create additional hotkeys for different purposes, such as running multiple subnet miners or subnet validators or separating operational roles within the Bittensor network. - -**Usage**: - -```console -btcli w new-hotkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w new-coldkey` - -Create a new coldkey. A coldkey is required for holding TAO balances and performing high-value transactions. - -**Usage:** - -The command creates a new coldkey. It provides options for the mnemonic word count, and supports password protection. It also allows overwriting an existing coldkey. - -**Example:** - -``` -btcli wallet new_coldkey --n_words 15 -``` - -Note: This command is crucial for users who need to create a new coldkey for enhanced security or as part of setting up a new wallet. It is a foundational step in establishing a secure presence on the Bittensor network. - -**Usage**: - -```console -btcli w new-coldkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w create` - -Create a complete wallet by setting up both coldkey and hotkeys. - -**Usage:** - -The command creates a new coldkey and hotkey. It provides an option for mnemonic word count. It supports password protection for the coldkey and allows overwriting of existing keys. - -**Example:** - -``` -btcli wallet create --n_words 21 -``` - -Note: This command is for new users setting up their wallet for the first time, or for those who wish to completely renew their wallet keys. It ensures a fresh start with new keys for secure and effective participation in the Bittensor network. - -**Usage**: - -```console -btcli w create [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words INTEGER` -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w balance` - -Check the balance of the wallet. This command shows a detailed view of the wallet's coldkey balances, including free and staked balances. - -You can also pass multiple ss58 addresses of coldkeys to check their balance (using --ss58). - -**Example:** - -- To display the balance of a single wallet, use the command with the `--wallet-name` argument and provide the wallet name: - - ``` - btcli w balance --wallet-name WALLET - ``` - -- To use the default config values, use: - - ``` - btcli w balance - ``` - -- To display the balances of all your wallets, use the `--all` argument: - - ``` - btcli w balance --all - ``` - -- To display the balances of ss58 addresses, use the `--ss58` argument: - - ``` - btcli w balance --ss58 <ss58_address> --ss58 <ss58_address> - ``` - -**Usage**: - -```console -btcli w balance [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -- `-a, --all`: Whether to display the balances for all the wallets. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w history` - -Show the history of the transfers carried out with the provided wallet on the Bittensor network. - -**Usage:** - -The output shows the latest transfers of the provided wallet, showing the columns 'From', 'To', 'Amount', 'Extrinsic ID' and 'Block Number'. - -**Example:** - -``` -btcli wallet history -``` - -**Usage**: - -```console -btcli w history [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w overview` - -Displays a detailed overview of the user's registered accounts on the Bittensor network. - -This command compiles and displays comprehensive information about each neuron associated with the user's wallets, including both hotkeys and coldkeys. It is especially useful for users managing multiple accounts or looking for a summary of their network activities and stake distributions. - -**Usage:** - -``` -btcli wallet overview -``` - -``` -btcli wallet overview --all -``` - -Note: This command is read-only and does not modify the blockchain state or account configuration. -It provides a quick and comprehensive view of the user's network presence, making it useful for monitoring account status, -stake distribution, and overall contribution to the Bittensor network. - -**Usage**: - -```console -btcli w overview [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-a, --all`: See an overview for all the wallets -- `--sort-by, --sort_by TEXT`: Sort the hotkeys by the specified column title. For example: name, uid, axon. -- `--sort-order, --sort_order TEXT`: Sort the hotkeys in the specified order (ascending/asc or descending/desc/reverse). -- `-in, --include-hotkeys TEXT`: Hotkeys to include. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--exclude-hotkeys', will be included. -- `-ex, --exclude-hotkeys TEXT`: Hotkeys to exclude. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--include-hotkeys', will be excluded. -- `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w transfer` - -Send TAO tokens from one wallet to another wallet on the Bittensor network. - -This command is used for transactions between different wallet accounts, enabling users to send tokens to other -participants on the network. The command displays the user's current balance before prompting for the amount -to transfer (send), ensuring transparency and accuracy in the transaction. - -**Usage:** - -The command requires that you specify the destination address (public key) and the amount of TAO you want transferred. -It checks if sufficient balance exists in your wallet and prompts for confirmation before proceeding with the transaction. - -**Example:** - -``` -btcli wallet transfer --dest 5Dp8... --amount 100 -``` - -Note: This command is used for executing token transfers within the Bittensor network. Users should verify the destination address and the TAO amount before confirming the transaction to avoid errors or loss of funds. - -**Usage**: - -```console -btcli w transfer [OPTIONS] -``` - -**Options**: - -- `-d, --destination, --dest TEXT`: Destination address (ss58) of the wallet (coldkey). -- `-a, --amount FLOAT`: Amount (in TAO) to transfer. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w inspect` - -Displays the details of the user's wallet pairs (coldkey, hotkey) on the Bittensor network. - -The output is presented as a table with the below columns: - -- Coldkey: The coldkey associated with the user's wallet. - -- Balance: The balance of the coldkey. - -- Delegate: The name of the delegate to which the coldkey has staked TAO. - -- Stake: The amount of stake held by both the coldkey and hotkey. - -- Emission: The emission or rewards earned from staking. - -- Netuid: The network unique identifier of the subnet where the hotkey is active (i.e., validating). - -- Hotkey: The hotkey associated with the neuron on the network. - -**Usage:** - -This command can be used to inspect a single wallet or all the wallets located at a specified path. It is useful for a comprehensive overview of a user's participation and performance in the Bittensor network. - -**Example:** - -``` -btcli wallet inspect -``` - -``` -btcli wallet inspect --all -n 1 -n 2 -n 3 -``` - -Note: The `inspect` command is for displaying information only and does not perform any transactions or state changes on the blockchain. It is intended to be used with Bittensor CLI and not as a standalone function in user code. - -**Usage**: - -```console -btcli w inspect [OPTIONS] -``` - -**Options**: - -- `-a, --all, --all-wallets`: Inspect all the wallets at the specified wallet path. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w set-identity` - -Create or update the on-chain identity of a coldkey or a hotkey on the Bittensor network. Incurs a 1 TAO transaction fee. - -The on-chain identity includes attributes such as display name, legal name, web URL, PGP fingerprint, and contact information, among others. - -The command prompts the user for the identity attributes and validates the input size for each attribute. It provides an option to update an existing validator hotkey identity. If the user consents to the transaction cost, the identity is updated on the blockchain. - -Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey `ss58` address for the identity to be updated. - -If the user does not have a hotkey, the coldkey address is used by default. If setting a validator identity, the hotkey will be used by default. If the user is setting an identity for a subnet, the coldkey will be used by default. - -**Example:** - -``` -btcli wallet set_identity -``` - -Note: This command should only be used if the user is willing to incur the a recycle fee associated with setting an identity on the blockchain. It is a high-level command that makes changes to the blockchain state and should not be used programmatically as part of other scripts or applications. - -**Usage**: - -```console -btcli w set-identity [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--name TEXT`: The display name for the identity. -- `--web-url, --web TEXT`: The web URL for the identity. -- `--image-url, --image TEXT`: The image URL for the identity. -- `--discord TEXT`: The Discord handle for the identity. -- `--description TEXT`: The description for the identity. -- `--additional TEXT`: Additional details for the identity. -- `--github TEXT`: The GitHub repository for the identity. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli w get-identity` - -Shows the identity details of a user's coldkey or hotkey. - -The command displays the information in a table format showing: - -- Address: The `ss58` address of the queried key. - -- Item: Various attributes of the identity such as stake, rank, and trust. - -- Value: The corresponding values of the attributes. - -**Example:** - -``` -btcli wallet get_identity --key <s58_address> -``` - -Note: This command is primarily used for informational purposes and has no side effects on the blockchain network state. - -**Usage**: - -```console -btcli w get-identity [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w sign` - -Allows users to sign a message with the provided wallet or wallet hotkey. Use this command to easily prove your ownership of a coldkey or a hotkey. - -**Usage:** - -Using the provided wallet (coldkey), the command generates a signature for a given message. - -**Example:** - -``` -btcli wallet sign --wallet-name default --message '{"something": "here", "timestamp": 1719908486}' -``` - -``` -btcli wallet sign --wallet-name default --wallet-hotkey hotkey --message '{"something": "here", "timestamp": 1719908486}' -``` - -**Usage**: - -```console -btcli w sign [OPTIONS] -``` - -**Options**: - -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--use-hotkey / --no-use-hotkey`: If specified, the message will be signed by the hotkey. If not specified, the user will be prompted. -- `--message TEXT`: The message to encode and sign -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w swap_hotkey` - -Swap hotkeys of a given wallet on the blockchain. For a registered key pair, for example, a (coldkeyA, hotkeyA) pair, this command swaps the hotkeyA with a new, unregistered, hotkeyB to move the original registration to the (coldkeyA, hotkeyB) pair. - -**Usage:** - -The command is used to swap the hotkey of a wallet for another hotkey on that same wallet. - -**Important:** - -- Make sure that your original key pair (coldkeyA, hotkeyA) is already registered. -- Make sure that you use a newly created hotkeyB in this command. A hotkeyB that is already registered cannot be used in this command. -- Finally, note that this command requires a fee of 1 TAO for recycling and this fee is taken from your wallet (coldkeyA). - -**Example:** - -``` -btcli wallet swap_hotkey destination_hotkey_name --wallet-name your_wallet_name --wallet-hotkey original_hotkey -``` - -**Usage**: - -```console -btcli w swap_hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] -``` - -**Arguments**: - -- `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli w regen_coldkey` - -Regenerate a coldkey for a wallet on the Bittensor blockchain network. - -This command is used to create a new coldkey from an existing mnemonic, seed, or JSON file. - -**Usage:** - -Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a coldkey. The command supports optional password protection for the generated key. - -**Example:** - -``` -btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" -``` - -Note: This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. - -**Usage**: - -```console -btcli w regen_coldkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -- `--json-password TEXT`: Password to decrypt the JSON file. -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w regen_coldkeypub` - -Regenerates the public part of a coldkey (coldkeypub.txt) for a wallet. - -Use this command when you need to move machine for subnet mining. Use the public key or SS58 address from your coldkeypub.txt that you have on another machine to regenerate the coldkeypub.txt on this new machine. - -**Usage:** - -The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. - -**Example:** - -``` -btcli wallet regen_coldkeypub --ss58_address 5DkQ4... -``` - -Note: This command is particularly useful for users who need to regenerate their coldkeypub, perhaps due to file corruption or loss. You will need either ss58 address or public hex key from your old coldkeypub.txt for the wallet. It is a recovery-focused utility that ensures continued access to your wallet functionalities. - -**Usage**: - -```console -btcli w regen_coldkeypub [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--public-key-hex TEXT`: The public key in hex format. -- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w regen_hotkey` - -Regenerates a hotkey for a wallet. - -Similar to regenerating a coldkey, this command creates a new hotkey from a mnemonic, seed, or JSON file. - -**Usage:** - -Users can provide a mnemonic, seed string, or a JSON file to regenerate the hotkey. The command supports optional password protection and can overwrite an existing hotkey. - -``` -btcli wallet regen_hotkey --seed 0x1234... -``` - -Note: This command is essential for users who need to regenerate their hotkey, possibly for security upgrades or key recovery. -It should be used with caution to avoid accidental overwriting of existing keys. - -**Usage**: - -```console -btcli w regen_hotkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -- `--json-password TEXT`: Password to decrypt the JSON file. -- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w new_hotkey` - -Create a new hotkey for a wallet. - -**Usage:** - -This command is used to generate a new hotkey for managing a neuron or participating in a subnet. It provides options for the mnemonic word count, and supports password protection. It also allows overwriting the -existing hotkey. - -**Example:** - -``` -btcli wallet new-hotkey --n_words 24 -``` - -Note: This command is useful to create additional hotkeys for different purposes, such as running multiple subnet miners or subnet validators or separating operational roles within the Bittensor network. - -**Usage**: - -```console -btcli w new_hotkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w new_coldkey` - -Create a new coldkey. A coldkey is required for holding TAO balances and performing high-value transactions. - -**Usage:** - -The command creates a new coldkey. It provides options for the mnemonic word count, and supports password protection. It also allows overwriting an existing coldkey. - -**Example:** - -``` -btcli wallet new_coldkey --n_words 15 -``` - -Note: This command is crucial for users who need to create a new coldkey for enhanced security or as part of setting up a new wallet. It is a foundational step in establishing a secure presence on the Bittensor network. - -**Usage**: - -```console -btcli w new_coldkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli w set_identity` - -Create or update the on-chain identity of a coldkey or a hotkey on the Bittensor network. Incurs a 1 TAO transaction fee. - -The on-chain identity includes attributes such as display name, legal name, web URL, PGP fingerprint, and contact information, among others. - -The command prompts the user for the identity attributes and validates the input size for each attribute. It provides an option to update an existing validator hotkey identity. If the user consents to the transaction cost, the identity is updated on the blockchain. - -Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey `ss58` address for the identity to be updated. - -If the user does not have a hotkey, the coldkey address is used by default. If setting a validator identity, the hotkey will be used by default. If the user is setting an identity for a subnet, the coldkey will be used by default. - -**Example:** - -``` -btcli wallet set_identity -``` - -Note: This command should only be used if the user is willing to incur the a recycle fee associated with setting an identity on the blockchain. It is a high-level command that makes changes to the blockchain state and should not be used programmatically as part of other scripts or applications. - -**Usage**: - -```console -btcli w set_identity [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--name TEXT`: The display name for the identity. -- `--web-url, --web TEXT`: The web URL for the identity. -- `--image-url, --image TEXT`: The image URL for the identity. -- `--discord TEXT`: The Discord handle for the identity. -- `--description TEXT`: The description for the identity. -- `--additional TEXT`: Additional details for the identity. -- `--github TEXT`: The GitHub repository for the identity. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli w get_identity` - -Shows the identity details of a user's coldkey or hotkey. - -The command displays the information in a table format showing: - -- Address: The `ss58` address of the queried key. - -- Item: Various attributes of the identity such as stake, rank, and trust. - -- Value: The corresponding values of the attributes. - -**Example:** - -``` -btcli wallet get_identity --key <s58_address> -``` - -Note: This command is primarily used for informational purposes and has no side effects on the blockchain network state. - -**Usage**: - -```console -btcli w get_identity [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -## `btcli wallets` - -**Usage**: - -```console -btcli wallets [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `list`: Displays all the wallets and their... -- `swap-hotkey`: Swap hotkeys of a given wallet on the... -- `regen-coldkey`: Regenerate a coldkey for a wallet on the... -- `regen-coldkeypub`: Regenerates the public part of a coldkey... -- `regen-hotkey`: Regenerates a hotkey for a wallet. -- `new-hotkey`: Create a new hotkey for a wallet. -- `new-coldkey`: Create a new coldkey. -- `create`: Create a complete wallet by setting up... -- `balance`: Check the balance of the wallet. -- `history`: Show the history of the transfers carried... -- `overview`: Displays a detailed overview of the user's... -- `transfer`: Send TAO tokens from one wallet to another... -- `inspect`: Displays the details of the user's wallet... -- `set-identity`: Create or update the on-chain identity of... -- `get-identity`: Shows the identity details of a user's... -- `sign`: Allows users to sign a message with the... -- `swap_hotkey`: Swap hotkeys of a given wallet on the... -- `regen_coldkey`: Regenerate a coldkey for a wallet on the... -- `regen_coldkeypub`: Regenerates the public part of a coldkey... -- `regen_hotkey`: Regenerates a hotkey for a wallet. -- `new_hotkey`: Create a new hotkey for a wallet. -- `new_coldkey`: Create a new coldkey. -- `set_identity`: Create or update the on-chain identity of... -- `get_identity`: Shows the identity details of a user's... - -### `btcli wallets list` - -Displays all the wallets and their corresponding hotkeys that are located in the wallet path specified in the config. - -The output display shows each wallet and its associated `ss58` addresses for the coldkey public key and any hotkeys. The output is presented in a hierarchical tree format, with each wallet as a root node and any associated hotkeys as child nodes. The `ss58` address is displayed for each coldkey and hotkey that is not encrypted and exists on the device. - -Upon invocation, the command scans the wallet directory and prints a list of all the wallets, indicating whether the -public keys are available (`?` denotes unavailable or encrypted keys). - -``` -btcli wallet list --path ~/.bittensor -``` - -Note: This command is read-only and does not modify the filesystem or the blockchain state. It is intended for use with the Bittensor CLI to provide a quick overview of the user's wallets. - -**Usage**: - -```console -btcli wallets list [OPTIONS] -``` - -**Options**: - -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets swap-hotkey` - -Swap hotkeys of a given wallet on the blockchain. For a registered key pair, for example, a (coldkeyA, hotkeyA) pair, this command swaps the hotkeyA with a new, unregistered, hotkeyB to move the original registration to the (coldkeyA, hotkeyB) pair. - -**Usage:** - -The command is used to swap the hotkey of a wallet for another hotkey on that same wallet. - -**Important:** - -- Make sure that your original key pair (coldkeyA, hotkeyA) is already registered. -- Make sure that you use a newly created hotkeyB in this command. A hotkeyB that is already registered cannot be used in this command. -- Finally, note that this command requires a fee of 1 TAO for recycling and this fee is taken from your wallet (coldkeyA). - -**Example:** - -``` -btcli wallet swap_hotkey destination_hotkey_name --wallet-name your_wallet_name --wallet-hotkey original_hotkey -``` - -**Usage**: - -```console -btcli wallets swap-hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] -``` - -**Arguments**: - -- `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli wallets regen-coldkey` - -Regenerate a coldkey for a wallet on the Bittensor blockchain network. - -This command is used to create a new coldkey from an existing mnemonic, seed, or JSON file. - -**Usage:** - -Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a coldkey. The command supports optional password protection for the generated key. - -**Example:** - -``` -btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" -``` - -Note: This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. - -**Usage**: - -```console -btcli wallets regen-coldkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -- `--json-password TEXT`: Password to decrypt the JSON file. -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets regen-coldkeypub` - -Regenerates the public part of a coldkey (coldkeypub.txt) for a wallet. - -Use this command when you need to move machine for subnet mining. Use the public key or SS58 address from your coldkeypub.txt that you have on another machine to regenerate the coldkeypub.txt on this new machine. - -**Usage:** - -The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. - -**Example:** - -``` -btcli wallet regen_coldkeypub --ss58_address 5DkQ4... -``` - -Note: This command is particularly useful for users who need to regenerate their coldkeypub, perhaps due to file corruption or loss. You will need either ss58 address or public hex key from your old coldkeypub.txt for the wallet. It is a recovery-focused utility that ensures continued access to your wallet functionalities. - -**Usage**: - -```console -btcli wallets regen-coldkeypub [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--public-key-hex TEXT`: The public key in hex format. -- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets regen-hotkey` - -Regenerates a hotkey for a wallet. - -Similar to regenerating a coldkey, this command creates a new hotkey from a mnemonic, seed, or JSON file. - -**Usage:** - -Users can provide a mnemonic, seed string, or a JSON file to regenerate the hotkey. The command supports optional password protection and can overwrite an existing hotkey. - -``` -btcli wallet regen_hotkey --seed 0x1234... -``` - -Note: This command is essential for users who need to regenerate their hotkey, possibly for security upgrades or key recovery. -It should be used with caution to avoid accidental overwriting of existing keys. - -**Usage**: - -```console -btcli wallets regen-hotkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -- `--json-password TEXT`: Password to decrypt the JSON file. -- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets new-hotkey` - -Create a new hotkey for a wallet. - -**Usage:** - -This command is used to generate a new hotkey for managing a neuron or participating in a subnet. It provides options for the mnemonic word count, and supports password protection. It also allows overwriting the -existing hotkey. - -**Example:** - -``` -btcli wallet new-hotkey --n_words 24 -``` - -Note: This command is useful to create additional hotkeys for different purposes, such as running multiple subnet miners or subnet validators or separating operational roles within the Bittensor network. - -**Usage**: - -```console -btcli wallets new-hotkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets new-coldkey` - -Create a new coldkey. A coldkey is required for holding TAO balances and performing high-value transactions. - -**Usage:** - -The command creates a new coldkey. It provides options for the mnemonic word count, and supports password protection. It also allows overwriting an existing coldkey. - -**Example:** - -``` -btcli wallet new_coldkey --n_words 15 -``` - -Note: This command is crucial for users who need to create a new coldkey for enhanced security or as part of setting up a new wallet. It is a foundational step in establishing a secure presence on the Bittensor network. - -**Usage**: - -```console -btcli wallets new-coldkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets create` - -Create a complete wallet by setting up both coldkey and hotkeys. - -**Usage:** - -The command creates a new coldkey and hotkey. It provides an option for mnemonic word count. It supports password protection for the coldkey and allows overwriting of existing keys. - -**Example:** - -``` -btcli wallet create --n_words 21 -``` - -Note: This command is for new users setting up their wallet for the first time, or for those who wish to completely renew their wallet keys. It ensures a fresh start with new keys for secure and effective participation in the Bittensor network. - -**Usage**: - -```console -btcli wallets create [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words INTEGER` -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets balance` - -Check the balance of the wallet. This command shows a detailed view of the wallet's coldkey balances, including free and staked balances. - -You can also pass multiple ss58 addresses of coldkeys to check their balance (using --ss58). - -**Example:** - -- To display the balance of a single wallet, use the command with the `--wallet-name` argument and provide the wallet name: - - ``` - btcli w balance --wallet-name WALLET - ``` - -- To use the default config values, use: - - ``` - btcli w balance - ``` - -- To display the balances of all your wallets, use the `--all` argument: - - ``` - btcli w balance --all - ``` - -- To display the balances of ss58 addresses, use the `--ss58` argument: - - ``` - btcli w balance --ss58 <ss58_address> --ss58 <ss58_address> - ``` - -**Usage**: - -```console -btcli wallets balance [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -- `-a, --all`: Whether to display the balances for all the wallets. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets history` - -Show the history of the transfers carried out with the provided wallet on the Bittensor network. - -**Usage:** - -The output shows the latest transfers of the provided wallet, showing the columns 'From', 'To', 'Amount', 'Extrinsic ID' and 'Block Number'. - -**Example:** - -``` -btcli wallet history -``` - -**Usage**: - -```console -btcli wallets history [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets overview` - -Displays a detailed overview of the user's registered accounts on the Bittensor network. - -This command compiles and displays comprehensive information about each neuron associated with the user's wallets, including both hotkeys and coldkeys. It is especially useful for users managing multiple accounts or looking for a summary of their network activities and stake distributions. - -**Usage:** - -``` -btcli wallet overview -``` - -``` -btcli wallet overview --all -``` - -Note: This command is read-only and does not modify the blockchain state or account configuration. -It provides a quick and comprehensive view of the user's network presence, making it useful for monitoring account status, -stake distribution, and overall contribution to the Bittensor network. - -**Usage**: - -```console -btcli wallets overview [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-a, --all`: See an overview for all the wallets -- `--sort-by, --sort_by TEXT`: Sort the hotkeys by the specified column title. For example: name, uid, axon. -- `--sort-order, --sort_order TEXT`: Sort the hotkeys in the specified order (ascending/asc or descending/desc/reverse). -- `-in, --include-hotkeys TEXT`: Hotkeys to include. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--exclude-hotkeys', will be included. -- `-ex, --exclude-hotkeys TEXT`: Hotkeys to exclude. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--include-hotkeys', will be excluded. -- `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets transfer` - -Send TAO tokens from one wallet to another wallet on the Bittensor network. - -This command is used for transactions between different wallet accounts, enabling users to send tokens to other -participants on the network. The command displays the user's current balance before prompting for the amount -to transfer (send), ensuring transparency and accuracy in the transaction. - -**Usage:** - -The command requires that you specify the destination address (public key) and the amount of TAO you want transferred. -It checks if sufficient balance exists in your wallet and prompts for confirmation before proceeding with the transaction. - -**Example:** - -``` -btcli wallet transfer --dest 5Dp8... --amount 100 -``` - -Note: This command is used for executing token transfers within the Bittensor network. Users should verify the destination address and the TAO amount before confirming the transaction to avoid errors or loss of funds. - -**Usage**: - -```console -btcli wallets transfer [OPTIONS] -``` - -**Options**: - -- `-d, --destination, --dest TEXT`: Destination address (ss58) of the wallet (coldkey). -- `-a, --amount FLOAT`: Amount (in TAO) to transfer. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets inspect` - -Displays the details of the user's wallet pairs (coldkey, hotkey) on the Bittensor network. - -The output is presented as a table with the below columns: - -- Coldkey: The coldkey associated with the user's wallet. - -- Balance: The balance of the coldkey. - -- Delegate: The name of the delegate to which the coldkey has staked TAO. - -- Stake: The amount of stake held by both the coldkey and hotkey. - -- Emission: The emission or rewards earned from staking. - -- Netuid: The network unique identifier of the subnet where the hotkey is active (i.e., validating). - -- Hotkey: The hotkey associated with the neuron on the network. - -**Usage:** - -This command can be used to inspect a single wallet or all the wallets located at a specified path. It is useful for a comprehensive overview of a user's participation and performance in the Bittensor network. - -**Example:** - -``` -btcli wallet inspect -``` - -``` -btcli wallet inspect --all -n 1 -n 2 -n 3 -``` - -Note: The `inspect` command is for displaying information only and does not perform any transactions or state changes on the blockchain. It is intended to be used with Bittensor CLI and not as a standalone function in user code. - -**Usage**: - -```console -btcli wallets inspect [OPTIONS] -``` - -**Options**: - -- `-a, --all, --all-wallets`: Inspect all the wallets at the specified wallet path. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets set-identity` - -Create or update the on-chain identity of a coldkey or a hotkey on the Bittensor network. Incurs a 1 TAO transaction fee. - -The on-chain identity includes attributes such as display name, legal name, web URL, PGP fingerprint, and contact information, among others. - -The command prompts the user for the identity attributes and validates the input size for each attribute. It provides an option to update an existing validator hotkey identity. If the user consents to the transaction cost, the identity is updated on the blockchain. - -Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey `ss58` address for the identity to be updated. - -If the user does not have a hotkey, the coldkey address is used by default. If setting a validator identity, the hotkey will be used by default. If the user is setting an identity for a subnet, the coldkey will be used by default. - -**Example:** - -``` -btcli wallet set_identity -``` - -Note: This command should only be used if the user is willing to incur the a recycle fee associated with setting an identity on the blockchain. It is a high-level command that makes changes to the blockchain state and should not be used programmatically as part of other scripts or applications. - -**Usage**: - -```console -btcli wallets set-identity [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--name TEXT`: The display name for the identity. -- `--web-url, --web TEXT`: The web URL for the identity. -- `--image-url, --image TEXT`: The image URL for the identity. -- `--discord TEXT`: The Discord handle for the identity. -- `--description TEXT`: The description for the identity. -- `--additional TEXT`: Additional details for the identity. -- `--github TEXT`: The GitHub repository for the identity. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli wallets get-identity` - -Shows the identity details of a user's coldkey or hotkey. - -The command displays the information in a table format showing: - -- Address: The `ss58` address of the queried key. - -- Item: Various attributes of the identity such as stake, rank, and trust. - -- Value: The corresponding values of the attributes. - -**Example:** - -``` -btcli wallet get_identity --key <s58_address> -``` - -Note: This command is primarily used for informational purposes and has no side effects on the blockchain network state. - -**Usage**: - -```console -btcli wallets get-identity [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets sign` - -Allows users to sign a message with the provided wallet or wallet hotkey. Use this command to easily prove your ownership of a coldkey or a hotkey. - -**Usage:** - -Using the provided wallet (coldkey), the command generates a signature for a given message. - -**Example:** - -``` -btcli wallet sign --wallet-name default --message '{"something": "here", "timestamp": 1719908486}' -``` - -``` -btcli wallet sign --wallet-name default --wallet-hotkey hotkey --message '{"something": "here", "timestamp": 1719908486}' -``` - -**Usage**: - -```console -btcli wallets sign [OPTIONS] -``` - -**Options**: - -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--use-hotkey / --no-use-hotkey`: If specified, the message will be signed by the hotkey. If not specified, the user will be prompted. -- `--message TEXT`: The message to encode and sign -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets swap_hotkey` - -Swap hotkeys of a given wallet on the blockchain. For a registered key pair, for example, a (coldkeyA, hotkeyA) pair, this command swaps the hotkeyA with a new, unregistered, hotkeyB to move the original registration to the (coldkeyA, hotkeyB) pair. - -**Usage:** - -The command is used to swap the hotkey of a wallet for another hotkey on that same wallet. - -**Important:** - -- Make sure that your original key pair (coldkeyA, hotkeyA) is already registered. -- Make sure that you use a newly created hotkeyB in this command. A hotkeyB that is already registered cannot be used in this command. -- Finally, note that this command requires a fee of 1 TAO for recycling and this fee is taken from your wallet (coldkeyA). - -**Example:** - -``` -btcli wallet swap_hotkey destination_hotkey_name --wallet-name your_wallet_name --wallet-hotkey original_hotkey -``` - -**Usage**: - -```console -btcli wallets swap_hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] -``` - -**Arguments**: - -- `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli wallets regen_coldkey` - -Regenerate a coldkey for a wallet on the Bittensor blockchain network. - -This command is used to create a new coldkey from an existing mnemonic, seed, or JSON file. - -**Usage:** - -Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a coldkey. The command supports optional password protection for the generated key. - -**Example:** - -``` -btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" -``` - -Note: This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. - -**Usage**: - -```console -btcli wallets regen_coldkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -- `--json-password TEXT`: Password to decrypt the JSON file. -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets regen_coldkeypub` - -Regenerates the public part of a coldkey (coldkeypub.txt) for a wallet. - -Use this command when you need to move machine for subnet mining. Use the public key or SS58 address from your coldkeypub.txt that you have on another machine to regenerate the coldkeypub.txt on this new machine. - -**Usage:** - -The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. - -**Example:** - -``` -btcli wallet regen_coldkeypub --ss58_address 5DkQ4... -``` - -Note: This command is particularly useful for users who need to regenerate their coldkeypub, perhaps due to file corruption or loss. You will need either ss58 address or public hex key from your old coldkeypub.txt for the wallet. It is a recovery-focused utility that ensures continued access to your wallet functionalities. - -**Usage**: - -```console -btcli wallets regen_coldkeypub [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--public-key-hex TEXT`: The public key in hex format. -- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets regen_hotkey` - -Regenerates a hotkey for a wallet. - -Similar to regenerating a coldkey, this command creates a new hotkey from a mnemonic, seed, or JSON file. - -**Usage:** - -Users can provide a mnemonic, seed string, or a JSON file to regenerate the hotkey. The command supports optional password protection and can overwrite an existing hotkey. - -``` -btcli wallet regen_hotkey --seed 0x1234... -``` - -Note: This command is essential for users who need to regenerate their hotkey, possibly for security upgrades or key recovery. -It should be used with caution to avoid accidental overwriting of existing keys. - -**Usage**: - -```console -btcli wallets regen_hotkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -- `--json-password TEXT`: Password to decrypt the JSON file. -- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets new_hotkey` - -Create a new hotkey for a wallet. - -**Usage:** - -This command is used to generate a new hotkey for managing a neuron or participating in a subnet. It provides options for the mnemonic word count, and supports password protection. It also allows overwriting the -existing hotkey. - -**Example:** - -``` -btcli wallet new-hotkey --n_words 24 -``` - -Note: This command is useful to create additional hotkeys for different purposes, such as running multiple subnet miners or subnet validators or separating operational roles within the Bittensor network. - -**Usage**: - -```console -btcli wallets new_hotkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets new_coldkey` - -Create a new coldkey. A coldkey is required for holding TAO balances and performing high-value transactions. - -**Usage:** - -The command creates a new coldkey. It provides options for the mnemonic word count, and supports password protection. It also allows overwriting an existing coldkey. - -**Example:** - -``` -btcli wallet new_coldkey --n_words 15 -``` - -Note: This command is crucial for users who need to create a new coldkey for enhanced security or as part of setting up a new wallet. It is a foundational step in establishing a secure presence on the Bittensor network. - -**Usage**: - -```console -btcli wallets new_coldkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallets set_identity` - -Create or update the on-chain identity of a coldkey or a hotkey on the Bittensor network. Incurs a 1 TAO transaction fee. - -The on-chain identity includes attributes such as display name, legal name, web URL, PGP fingerprint, and contact information, among others. - -The command prompts the user for the identity attributes and validates the input size for each attribute. It provides an option to update an existing validator hotkey identity. If the user consents to the transaction cost, the identity is updated on the blockchain. - -Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey `ss58` address for the identity to be updated. - -If the user does not have a hotkey, the coldkey address is used by default. If setting a validator identity, the hotkey will be used by default. If the user is setting an identity for a subnet, the coldkey will be used by default. - -**Example:** - -``` -btcli wallet set_identity -``` - -Note: This command should only be used if the user is willing to incur the a recycle fee associated with setting an identity on the blockchain. It is a high-level command that makes changes to the blockchain state and should not be used programmatically as part of other scripts or applications. - -**Usage**: - -```console -btcli wallets set_identity [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--name TEXT`: The display name for the identity. -- `--web-url, --web TEXT`: The web URL for the identity. -- `--image-url, --image TEXT`: The image URL for the identity. -- `--discord TEXT`: The Discord handle for the identity. -- `--description TEXT`: The description for the identity. -- `--additional TEXT`: Additional details for the identity. -- `--github TEXT`: The GitHub repository for the identity. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli wallets get_identity` - -Shows the identity details of a user's coldkey or hotkey. - -The command displays the information in a table format showing: - -- Address: The `ss58` address of the queried key. - -- Item: Various attributes of the identity such as stake, rank, and trust. - -- Value: The corresponding values of the attributes. - -**Example:** - -``` -btcli wallet get_identity --key <s58_address> -``` - -Note: This command is primarily used for informational purposes and has no side effects on the blockchain network state. - -**Usage**: - -```console -btcli wallets get_identity [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -## `btcli stake` - -**Usage**: - -```console -btcli stake [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `add`: Stake TAO to one or more hotkeys on... -- `remove`: Unstake TAO from one or more hotkeys and... -- `list`: Display detailed stake information for a... -- `move`: Move staked TAO between hotkeys while... -- `transfer`: Transfer stake between coldkeys while... -- `swap`: Swap stake between different subnets while... -- `child`: Child Hotkey commands, alias: `children` -- `children` - -### `btcli stake add` - -Stake TAO to one or more hotkeys on specific or multiple netuids with your coldkey. - -Stakes are always added through your coldkey's free balance. For stake movement, see the [`btcli stake move`](#btcli-stake-move) command. - -Common Examples: - -1. Interactive staking (guided prompts): - - ```sh - btcli stake add - ``` - -2. Safe staking with rate tolerance of 10% with partial transaction disabled: - - ```sh - btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.1 --no-partial - ``` - -3. Allow partial stake if rates change with tolerance of 10%: - - ```sh - btcli stake add --amount 300 --safe --partial --tolerance 0.1 - ``` - -4. Unsafe staking with no rate protection: - - ```sh - btcli stake add --amount 300 --netuid 1 --unsafe - ``` - -5. Stake to multiple hotkeys: - - ```sh - btcli stake add --amount 200 --include-hotkeys hk_ss58_1,hk_ss58_2,hk_ss58_3 - ``` - -6. Stake the same amount of TAO into multiple subnets: - - ```sh - btcli stake add -n 4,14,64 --amount 100 - ``` - -7. Stake all balance to a subnet: - ```sh - btcli stake add --all --netuid 3 - ``` - -Safe Staking Parameters:--safe: Enables rate tolerance checks ---tolerance: Maximum % rate change allowed (0.05 = 5%) ---partial: Complete partial stake if rates exceed tolerance - -**Usage**: - -```console -btcli stake add [OPTIONS] -``` - -**Options**: - -- `-a, --all-tokens, --all`: When set, the command stakes all the available TAO from the coldkey. -- `--amount FLOAT`: The amount of TAO to stake [default: 0.0] -- `-in, --include-hotkeys, --hotkey-ss58-address TEXT`: Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` -- `-ex, --exclude-hotkeys TEXT`: Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -- `--all-hotkeys / --no-all-hotkeys`: When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). -- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli stake remove` - -Unstake TAO from one or more hotkeys and transfer them back to the user's coldkey wallet. - -This command is used to withdraw TAO or Alpha stake from different hotkeys. - -Common Examples: - -1. Interactive unstaking (guided prompts): - - ``` - btcli stake remove - ``` - -2. Safe unstaking with 10% rate tolerance: - - ``` - btcli stake remove --amount 100 --netuid 1 --safe --tolerance 0.1 - ``` - -3. Allow partial unstake if rates change: - - ``` - btcli stake remove --amount 300 --safe --partial - ``` - -4. Unstake from multiple hotkeys: - - ``` - btcli stake remove --amount 200 --include-hotkeys hk1,hk2,hk3 - ``` - -5. Unstake all from a hotkey: - - ``` - btcli stake remove --all - ``` - -6. Unstake all Alpha from a hotkey and stake to Root: - ``` - btcli stake remove --all-alpha - ``` - -Safe Staking Parameters: ---safe: Enables rate tolerance checks during unstaking ---tolerance: Max allowed rate change (0.05 = 5%) ---partial: Complete partial unstake if rates exceed tolerance - -**Usage**: - -```console -btcli stake remove [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `-a, --amount FLOAT`: The amount of TAO to unstake. [default: 0.0] -- `--hotkey-ss58-address TEXT`: The ss58 address of the hotkey to unstake from. -- `-in, --include-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` -- `-ex, --exclude-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address not to unstake from (only use with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -- `--all-hotkeys / --no-all-hotkeys`: When set, this command unstakes from all the hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] -- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). -- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `-i, --interactive`: Enter interactive mode for unstaking. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli stake list` - -Display detailed stake information for a wallet across all subnets. - -Shows stake allocations, exchange rates, and emissions for each hotkey. - -Common Examples: - -1. Basic stake overview: - -``` -btcli stake list --wallet.name my_wallet -``` - -2. Live updating view with refresh: - -``` -btcli stake list --wallet.name my_wallet --live -``` - -3. View specific coldkey by address: - -``` -btcli stake list --ss58 5Dk...X3q -``` - -4. Verbose output with full values: - -``` -btcli stake list --wallet.name my_wallet --verbose -``` - -**Usage**: - -```console -btcli stake list [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58 TEXT`: Coldkey address of the wallet -- `--live`: Display live view of the table -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli stake move` - -Move staked TAO between hotkeys while keeping the same coldkey ownership. - -This command allows you to: - -- Move stake from one hotkey to another hotkey -- Move stake between different subnets -- Keep the same coldkey ownership - -You can specify: - -- The origin subnet (--origin-netuid) -- The destination subnet (--dest-netuid) -- The destination hotkey (--dest-hotkey) -- The amount to move (--amount) - -If no arguments are provided, an interactive selection menu will be shown. - -**Example:** - -``` -btcli stake move -``` - -**Usage**: - -```console -btcli stake move [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--origin-netuid INTEGER`: Origin netuid -- `--dest-netuid INTEGER`: Destination netuid -- `--dest-ss58, --dest TEXT`: Destination hotkey -- `--amount FLOAT`: The amount of TAO to stake -- `--stake-all, --all`: Stake all -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli stake transfer` - -Transfer stake between coldkeys while keeping the same hotkey ownership. - -This command allows you to: - -- Transfer stake from one coldkey to another coldkey -- Keep the same hotkey ownership -- Transfer stake between different subnets - -You can specify: - -- The origin subnet (--origin-netuid) -- The destination subnet (--dest-netuid) -- The destination wallet/address (--dest) -- The amount to transfer (--amount) - -If no arguments are provided, an interactive selection menu will be shown. - -**Example:** - -Transfer 100 TAO from subnet 1 to subnet 2: - -``` -btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest wallet2 --amount 100 -``` - -Using SS58 address: - -``` -btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest 5FrLxJsyJ5x9n2rmxFwosFraxFCKcXZDngEP9H7qjkKgHLcK --amount 100 -``` - -**Usage**: - -```console -btcli stake transfer [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--origin-netuid INTEGER`: The netuid to transfer stake from -- `--dest-netuid INTEGER`: The netuid to transfer stake to -- `--dest-ss58, --dest, --dest-coldkey TEXT`: The destination wallet name or SS58 address to transfer stake to -- `-a, --amount FLOAT`: Amount of stake to transfer -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli stake swap` - -Swap stake between different subnets while keeping the same coldkey-hotkey pair ownership. - -This command allows you to: - -- Move stake from one subnet to another subnet -- Keep the same coldkey ownership -- Keep the same hotkey ownership - -You can specify: - -- The origin subnet (--origin-netuid) -- The destination subnet (--dest-netuid) -- The amount to swap (--amount) - -If no arguments are provided, an interactive selection menu will be shown. - -**Example:** - -Swap 100 TAO from subnet 1 to subnet 2: - -``` -btcli stake swap --wallet-name default --wallet-hotkey default --origin-netuid 1 --dest-netuid 2 --amount 100 -``` - -**Usage**: - -```console -btcli stake swap [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-o, --origin-netuid, --origin INTEGER`: The netuid to swap stake from -- `-d, --dest-netuid, --dest INTEGER`: The netuid to swap stake to -- `-a, --amount FLOAT`: Amount of stake to swap -- `--swap-all, --all`: Swap all available stake -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli stake child` - -**Usage**: - -```console -btcli stake child [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `get`: Get all the child hotkeys on a specified... -- `set`: Set child hotkeys on specified subnets. -- `revoke`: Remove all children hotkeys on a specified... -- `take`: Get and set your child hotkey take on a... - -#### `btcli stake child get` - -Get all the child hotkeys on a specified subnet. - -Users can specify the subnet and see the child hotkeys and the proportion that is given to them. This command is used to view the authority delegated to different hotkeys on the subnet. - -**Example:** - -``` -btcli stake child get --netuid 1 -``` - -``` -btcli stake child get --all-netuids -``` - -**Usage**: - -```console -btcli stake child get [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) -- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli stake child set` - -Set child hotkeys on specified subnets. - -Users can specify the 'proportion' to delegate to child hotkeys (ss58 address). The sum of proportions cannot be greater than 1. - -This command is used to delegate authority to different hotkeys, securing their position and influence on the subnet. - -**Example:** - -``` -btcli stake child set -c 5FCL3gmjtQV4xxxxuEPEFQVhyyyyqYgNwX7drFLw7MSdBnxP -c 5Hp5dxxxxtGg7pu8dN2btyyyyVA1vELmM9dy8KQv3LxV8PA7 --hotkey default --netuid 1 -p 0.3 -p 0.7 -``` - -**Usage**: - -```console -btcli stake child set [OPTIONS] -``` - -**Options**: - -- `-c, --children TEXT`: Enter child hotkeys (ss58) -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli stake child revoke` - -Remove all children hotkeys on a specified subnet. - -This command is used to remove delegated authority from all child hotkeys, removing their position and influence on the subnet. - -**Example:** - -``` -btcli stake child revoke --hotkey <parent_hotkey> --netuid 1 -``` - -**Usage**: - -```console -btcli stake child revoke [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) -- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli stake child take` - -Get and set your child hotkey take on a specified subnet. - -The child hotkey take must be between 0 - 18%. - -**Example:** - -To get the current take value, do not use the '--take' option: - - ``` - btcli stake child take --hotkey <child_hotkey> --netuid 1 - ``` - -To set a new take value, use the '--take' option: - - ``` - btcli stake child take --hotkey <child_hotkey> --take 0.12 --netuid 1 - ``` - -**Usage**: - -```console -btcli stake child take [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--hotkey TEXT` -- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) -- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli stake children` - -**Usage**: - -```console -btcli stake children [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `get`: Get all the child hotkeys on a specified... -- `set`: Set child hotkeys on specified subnets. -- `revoke`: Remove all children hotkeys on a specified... -- `take`: Get and set your child hotkey take on a... - -#### `btcli stake children get` - -Get all the child hotkeys on a specified subnet. - -Users can specify the subnet and see the child hotkeys and the proportion that is given to them. This command is used to view the authority delegated to different hotkeys on the subnet. - -**Example:** - -``` -btcli stake child get --netuid 1 -``` - -``` -btcli stake child get --all-netuids -``` - -**Usage**: - -```console -btcli stake children get [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) -- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli stake children set` - -Set child hotkeys on specified subnets. - -Users can specify the 'proportion' to delegate to child hotkeys (ss58 address). The sum of proportions cannot be greater than 1. - -This command is used to delegate authority to different hotkeys, securing their position and influence on the subnet. - -**Example:** - -``` -btcli stake child set -c 5FCL3gmjtQV4xxxxuEPEFQVhyyyyqYgNwX7drFLw7MSdBnxP -c 5Hp5dxxxxtGg7pu8dN2btyyyyVA1vELmM9dy8KQv3LxV8PA7 --hotkey default --netuid 1 -p 0.3 -p 0.7 -``` - -**Usage**: - -```console -btcli stake children set [OPTIONS] -``` - -**Options**: - -- `-c, --children TEXT`: Enter child hotkeys (ss58) -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli stake children revoke` - -Remove all children hotkeys on a specified subnet. - -This command is used to remove delegated authority from all child hotkeys, removing their position and influence on the subnet. - -**Example:** - -``` -btcli stake child revoke --hotkey <parent_hotkey> --netuid 1 -``` - -**Usage**: - -```console -btcli stake children revoke [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) -- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli stake children take` - -Get and set your child hotkey take on a specified subnet. - -The child hotkey take must be between 0 - 18%. - -**Example:** - -To get the current take value, do not use the '--take' option: - - ``` - btcli stake child take --hotkey <child_hotkey> --netuid 1 - ``` - -To set a new take value, use the '--take' option: - - ``` - btcli stake child take --hotkey <child_hotkey> --take 0.12 --netuid 1 - ``` - -**Usage**: - -```console -btcli stake children take [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--hotkey TEXT` -- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) -- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -## `btcli st` - -**Usage**: - -```console -btcli st [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `add`: Stake TAO to one or more hotkeys on... -- `remove`: Unstake TAO from one or more hotkeys and... -- `list`: Display detailed stake information for a... -- `move`: Move staked TAO between hotkeys while... -- `transfer`: Transfer stake between coldkeys while... -- `swap`: Swap stake between different subnets while... -- `child`: Child Hotkey commands, alias: `children` -- `children` - -### `btcli st add` - -Stake TAO to one or more hotkeys on specific netuids with your coldkey. - -Stake is always added through your coldkey's free balance. For stake movement, see -the `btcli stake move` command. - -Common Examples: - -1. Interactive staking (guided prompts): - - ``` - btcli stake add - ``` - -2. Safe staking with rate tolerance of 10% with partial transaction disabled: - - ``` - btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.1 --no-partial - ``` - -3. Allow partial stake if rates change with tolerance of 10%: - - ``` - btcli stake add --amount 300 --safe --partial --tolerance 0.1 - ``` - -4. Unsafe staking with no rate protection: - - ``` - btcli stake add --amount 300 --netuid 1 --unsafe - ``` - -5. Stake to multiple hotkeys: - - ``` - btcli stake add --amount 200 --include-hotkeys hk_ss58_1,hk_ss58_2,hk_ss58_3 - ``` - -6. Stake the same amount of TAO into multiple subnets - - ```sh - btcli stake add -n 4,14,64 --amount 100 - ``` - -7. Stake all balance to a subnet: - ``` - btcli stake add --all --netuid 3 - ``` - -Safe Staking Parameters: --safe: Enables rate tolerance checks ---tolerance: Maximum % rate change allowed (0.05 = 5%) ---partial: Complete partial stake if rates exceed tolerance - -**Usage**: - -```console -btcli st add [OPTIONS] -``` - -**Options**: - -- `-a, --all-tokens, --all`: When set, the command stakes all the available TAO from the coldkey. -- `--amount FLOAT`: The amount of TAO to stake [default: 0.0] -- `-in, --include-hotkeys, --hotkey-ss58-address TEXT`: Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` -- `-ex, --exclude-hotkeys TEXT`: Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -- `--all-hotkeys / --no-all-hotkeys`: When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). -- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli st remove` - -Unstake TAO from one or more hotkeys and transfer them back to the user's coldkey wallet. - -This command is used to withdraw TAO or Alpha stake from different hotkeys. - -Common Examples: - -1. Interactive unstaking (guided prompts): - - ``` - btcli stake remove - ``` - -2. Safe unstaking with 10% rate tolerance: - - ``` - btcli stake remove --amount 100 --netuid 1 --safe --tolerance 0.1 - ``` - -3. Allow partial unstake if rates change: - - ``` - btcli stake remove --amount 300 --safe --partial - ``` - -4. Unstake from multiple hotkeys: - - ``` - btcli stake remove --amount 200 --include-hotkeys hk1,hk2,hk3 - ``` - -5. Unstake all from a hotkey: - - ``` - btcli stake remove --all - ``` - -6. Unstake all Alpha from a hotkey and stake to Root: - ``` - btcli stake remove --all-alpha - ``` - -Safe Staking Parameters: --safe: Enables rate tolerance checks during unstaking ---tolerance: Max allowed rate change (0.05 = 5%) ---partial: Complete partial unstake if rates exceed tolerance - -**Usage**: - -```console -btcli st remove [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `-a, --amount FLOAT`: The amount of TAO to unstake. [default: 0.0] -- `--hotkey-ss58-address TEXT`: The ss58 address of the hotkey to unstake from. -- `-in, --include-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` -- `-ex, --exclude-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address not to unstake from (only use with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -- `--all-hotkeys / --no-all-hotkeys`: When set, this command unstakes from all the hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] -- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). -- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `-i, --interactive`: Enter interactive mode for unstaking. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli st list` - -Display detailed stake information for a wallet across all subnets. - -Shows stake allocations, exchange rates, and emissions for each hotkey. - -Common Examples: - -1. Basic stake overview: - -``` -btcli stake list --wallet.name my_wallet -``` - -2. Live updating view with refresh: - -``` -btcli stake list --wallet.name my_wallet --live -``` - -3. View specific coldkey by address: - -``` -btcli stake list --ss58 5Dk...X3q -``` - -4. Verbose output with full values: - -``` -btcli stake list --wallet.name my_wallet --verbose -``` - -**Usage**: - -```console -btcli st list [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58 TEXT`: Coldkey address of the wallet -- `--live`: Display live view of the table -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli st move` - -Move staked TAO between hotkeys while keeping the same coldkey ownership. - -This command allows you to: - -- Move stake from one hotkey to another hotkey -- Move stake between different subnets -- Keep the same coldkey ownership - -You can specify: - -- The origin subnet (--origin-netuid) -- The destination subnet (--dest-netuid) -- The destination hotkey (--dest-hotkey) -- The amount to move (--amount) - -If no arguments are provided, an interactive selection menu will be shown. - -**Example:** - -``` -btcli stake move -``` - -**Usage**: - -```console -btcli st move [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--origin-netuid INTEGER`: Origin netuid -- `--dest-netuid INTEGER`: Destination netuid -- `--dest-ss58, --dest TEXT`: Destination hotkey -- `--amount FLOAT`: The amount of TAO to stake -- `--stake-all, --all`: Stake all -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli st transfer` - -Transfer stake between coldkeys while keeping the same hotkey ownership. - -This command allows you to: - -- Transfer stake from one coldkey to another coldkey -- Keep the same hotkey ownership -- Transfer stake between different subnets - -You can specify: - -- The origin subnet (--origin-netuid) -- The destination subnet (--dest-netuid) -- The destination wallet/address (--dest) -- The amount to transfer (--amount) - -If no arguments are provided, an interactive selection menu will be shown. - -**Example:** - -Transfer 100 TAO from subnet 1 to subnet 2: - -``` -btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest wallet2 --amount 100 -``` - -Using SS58 address: - -``` -btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest 5FrLxJsyJ5x9n2rmxFwosFraxFCKcXZDngEP9H7qjkKgHLcK --amount 100 -``` - -**Usage**: - -```console -btcli st transfer [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--origin-netuid INTEGER`: The netuid to transfer stake from -- `--dest-netuid INTEGER`: The netuid to transfer stake to -- `--dest-ss58, --dest, --dest-coldkey TEXT`: The destination wallet name or SS58 address to transfer stake to -- `-a, --amount FLOAT`: Amount of stake to transfer -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli st swap` - -Swap stake between different subnets while keeping the same coldkey-hotkey pair ownership. - -This command allows you to: - -- Move stake from one subnet to another subnet -- Keep the same coldkey ownership -- Keep the same hotkey ownership - -You can specify: - -- The origin subnet (--origin-netuid) -- The destination subnet (--dest-netuid) -- The amount to swap (--amount) - -If no arguments are provided, an interactive selection menu will be shown. - -**Example:** - -Swap 100 TAO from subnet 1 to subnet 2: - -``` -btcli stake swap --wallet-name default --wallet-hotkey default --origin-netuid 1 --dest-netuid 2 --amount 100 -``` - -**Usage**: - -```console -btcli st swap [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-o, --origin-netuid, --origin INTEGER`: The netuid to swap stake from -- `-d, --dest-netuid, --dest INTEGER`: The netuid to swap stake to -- `-a, --amount FLOAT`: Amount of stake to swap -- `--swap-all, --all`: Swap all available stake -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli st child` - -**Usage**: - -```console -btcli st child [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `get`: Get all the child hotkeys on a specified... -- `set`: Set child hotkeys on specified subnets. -- `revoke`: Remove all children hotkeys on a specified... -- `take`: Get and set your child hotkey take on a... - -#### `btcli st child get` - -Get all the child hotkeys on a specified subnet. - -Users can specify the subnet and see the child hotkeys and the proportion that is given to them. This command is used to view the authority delegated to different hotkeys on the subnet. - -**Example:** - -``` -btcli stake child get --netuid 1 -``` - -``` -btcli stake child get --all-netuids -``` - -**Usage**: - -```console -btcli st child get [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) -- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli st child set` - -Set child hotkeys on specified subnets. - -Users can specify the 'proportion' to delegate to child hotkeys (ss58 address). The sum of proportions cannot be greater than 1. - -This command is used to delegate authority to different hotkeys, securing their position and influence on the subnet. - -**Example:** - -``` -btcli stake child set -c 5FCL3gmjtQV4xxxxuEPEFQVhyyyyqYgNwX7drFLw7MSdBnxP -c 5Hp5dxxxxtGg7pu8dN2btyyyyVA1vELmM9dy8KQv3LxV8PA7 --hotkey default --netuid 1 -p 0.3 -p 0.7 -``` - -**Usage**: - -```console -btcli st child set [OPTIONS] -``` - -**Options**: - -- `-c, --children TEXT`: Enter child hotkeys (ss58) -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli st child revoke` - -Remove all children hotkeys on a specified subnet. - -This command is used to remove delegated authority from all child hotkeys, removing their position and influence on the subnet. - -**Example:** - -``` -btcli stake child revoke --hotkey <parent_hotkey> --netuid 1 -``` - -**Usage**: - -```console -btcli st child revoke [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) -- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli st child take` - -Get and set your child hotkey take on a specified subnet. - -The child hotkey take must be between 0 - 18%. - -**Example:** - -To get the current take value, do not use the '--take' option: - - ``` - btcli stake child take --hotkey <child_hotkey> --netuid 1 - ``` - -To set a new take value, use the '--take' option: - - ``` - btcli stake child take --hotkey <child_hotkey> --take 0.12 --netuid 1 - ``` - -**Usage**: - -```console -btcli st child take [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--hotkey TEXT` -- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) -- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli st children` - -**Usage**: - -```console -btcli st children [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `get`: Get all the child hotkeys on a specified... -- `set`: Set child hotkeys on specified subnets. -- `revoke`: Remove all children hotkeys on a specified... -- `take`: Get and set your child hotkey take on a... - -#### `btcli st children get` - -Get all the child hotkeys on a specified subnet. - -Users can specify the subnet and see the child hotkeys and the proportion that is given to them. This command is used to view the authority delegated to different hotkeys on the subnet. - -**Example:** - -``` -btcli stake child get --netuid 1 -``` - -``` -btcli stake child get --all-netuids -``` - -**Usage**: - -```console -btcli st children get [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) -- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli st children set` - -Set child hotkeys on specified subnets. - -Users can specify the 'proportion' to delegate to child hotkeys (ss58 address). The sum of proportions cannot be greater than 1. - -This command is used to delegate authority to different hotkeys, securing their position and influence on the subnet. - -**Example:** - -``` -btcli stake child set -c 5FCL3gmjtQV4xxxxuEPEFQVhyyyyqYgNwX7drFLw7MSdBnxP -c 5Hp5dxxxxtGg7pu8dN2btyyyyVA1vELmM9dy8KQv3LxV8PA7 --hotkey default --netuid 1 -p 0.3 -p 0.7 -``` - -**Usage**: - -```console -btcli st children set [OPTIONS] -``` - -**Options**: - -- `-c, --children TEXT`: Enter child hotkeys (ss58) -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli st children revoke` - -Remove all children hotkeys on a specified subnet. - -This command is used to remove delegated authority from all child hotkeys, removing their position and influence on the subnet. - -**Example:** - -``` -btcli stake child revoke --hotkey <parent_hotkey> --netuid 1 -``` - -**Usage**: - -```console -btcli st children revoke [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) -- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli st children take` - -Get and set your child hotkey take on a specified subnet. - -The child hotkey take must be between 0 - 18%. - -**Example:** - -To get the current take value, do not use the '--take' option: - - ``` - btcli stake child take --hotkey <child_hotkey> --netuid 1 - ``` - -To set a new take value, use the '--take' option: - - ``` - btcli stake child take --hotkey <child_hotkey> --take 0.12 --netuid 1 - ``` - -**Usage**: - -```console -btcli st children take [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--hotkey TEXT` -- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) -- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -## `btcli sudo` - -**Usage**: - -```console -btcli sudo [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `set`: Used to set hyperparameters for a specific... -- `get`: Shows a list of the hyperparameters for... -- `senate`: Shows the Senate members of the... -- `proposals`: View active proposals for the senate in... -- `senate-vote`: Cast a vote on an active proposal in... -- `set-take`: Allows users to change their delegate take... -- `get-take`: Allows users to check their delegate take... -- `senate_vote`: Cast a vote on an active proposal in... -- `get_take`: Allows users to check their delegate take... -- `set_take`: Allows users to change their delegate take... - -### `btcli sudo set` - -Used to set hyperparameters for a specific subnet. - -This command allows subnet owners to modify hyperparameters such as its tempo, emission rates, and other hyperparameters. - -**Example:** - -``` -btcli sudo set --netuid 1 --param tempo --value 400 -``` - -**Usage**: - -```console -btcli sudo set [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--param, --parameter TEXT`: The subnet hyperparameter to set -- `--value TEXT`: Value to set the hyperparameter to. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli sudo get` - -Shows a list of the hyperparameters for the specified subnet. - -**Example:** - -``` -btcli sudo get --netuid 1 -``` - -**Usage**: - -```console -btcli sudo get [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli sudo senate` - -Shows the Senate members of the Bittensor's governance protocol. - -This command lists the delegates involved in the decision-making process of the Bittensor network, showing their names and wallet addresses. This information is crucial for understanding who holds governance roles within the network. - -**Example:** - -``` -btcli sudo senate -``` - -**Usage**: - -```console -btcli sudo senate [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli sudo proposals` - -View active proposals for the senate in the Bittensor's governance protocol. - -This command displays the details of ongoing proposals, including proposal hashes, votes, thresholds, and proposal data. - -**Example:** - -``` -btcli sudo proposals -``` - -**Usage**: - -```console -btcli sudo proposals [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli sudo senate-vote` - -Cast a vote on an active proposal in Bittensor's governance protocol. - -This command is used by Senate members to vote on various proposals that shape the network's future. Use `btcli sudo proposals` to see the active proposals and their hashes. - -**Usage:** -The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the governance and evolution of the Bittensor network. - -**Example:** - -``` -btcli sudo senate_vote --proposal <proposal_hash> -``` - -**Usage**: - -```console -btcli sudo senate-vote [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--vote-aye / --vote-nay`: The vote casted on the proposal -- `--help`: Show this message and exit. - -### `btcli sudo set-take` - -Allows users to change their delegate take percentage. - -This command can be used to update the delegate takes. To run the command, the user must have a configured wallet with both hotkey and coldkey. -The command makes sure the new take value is within 0-18% range. - -**Example:** - -``` -btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey -``` - -**Usage**: - -```console -btcli sudo set-take [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--take FLOAT`: The new take value. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli sudo get-take` - -Allows users to check their delegate take percentage. - -This command can be used to fetch the delegate take of your hotkey. - -**Example:** - -``` -btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey -``` - -**Usage**: - -```console -btcli sudo get-take [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli sudo senate_vote` - -Cast a vote on an active proposal in Bittensor's governance protocol. - -This command is used by Senate members to vote on various proposals that shape the network's future. Use `btcli sudo proposals` to see the active proposals and their hashes. - -**Usage:** -The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the governance and evolution of the Bittensor network. - -**Example:** - -``` -btcli sudo senate_vote --proposal <proposal_hash> -``` - -**Usage**: - -```console -btcli sudo senate_vote [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--vote-aye / --vote-nay`: The vote casted on the proposal -- `--help`: Show this message and exit. - -### `btcli sudo get_take` - -Allows users to check their delegate take percentage. - -This command can be used to fetch the delegate take of your hotkey. - -**Example:** - -``` -btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey -``` - -**Usage**: - -```console -btcli sudo get_take [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli sudo set_take` - -Allows users to change their delegate take percentage. - -This command can be used to update the delegate takes. To run the command, the user must have a configured wallet with both hotkey and coldkey. -The command makes sure the new take value is within 0-18% range. - -**Example:** - -``` -btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey -``` - -**Usage**: - -```console -btcli sudo set_take [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--take FLOAT`: The new take value. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -## `btcli su` - -**Usage**: - -```console -btcli su [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `set`: Used to set hyperparameters for a specific... -- `get`: Shows a list of the hyperparameters for... -- `senate`: Shows the Senate members of the... -- `proposals`: View active proposals for the senate in... -- `senate-vote`: Cast a vote on an active proposal in... -- `set-take`: Allows users to change their delegate take... -- `get-take`: Allows users to check their delegate take... -- `senate_vote`: Cast a vote on an active proposal in... -- `get_take`: Allows users to check their delegate take... -- `set_take`: Allows users to change their delegate take... - -### `btcli su set` - -Used to set hyperparameters for a specific subnet. - -This command allows subnet owners to modify hyperparameters such as its tempo, emission rates, and other hyperparameters. - -**Example:** - -``` -btcli sudo set --netuid 1 --param tempo --value 400 -``` - -**Usage**: - -```console -btcli su set [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--param, --parameter TEXT`: The subnet hyperparameter to set -- `--value TEXT`: Value to set the hyperparameter to. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli su get` - -Shows a list of the hyperparameters for the specified subnet. - -**Example:** - -``` -btcli sudo get --netuid 1 -``` - -**Usage**: - -```console -btcli su get [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli su senate` - -Shows the Senate members of the Bittensor's governance protocol. - -This command lists the delegates involved in the decision-making process of the Bittensor network, showing their names and wallet addresses. This information is crucial for understanding who holds governance roles within the network. - -**Example:** - -``` -btcli sudo senate -``` - -**Usage**: - -```console -btcli su senate [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli su proposals` - -View active proposals for the senate in the Bittensor's governance protocol. +1. Interactive staking (guided prompts): -This command displays the details of ongoing proposals, including proposal hashes, votes, thresholds, and proposal data. + ```sh + btcli stake add + ``` -**Example:** +2. Safe staking with rate tolerance of 10% with partial transaction disabled: -``` -btcli sudo proposals -``` + ```sh + btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.1 --no-partial + ``` -**Usage**: +3. Allow partial stake if rates change with tolerance of 10%: -```console -btcli su proposals [OPTIONS] -``` + ```sh + btcli stake add --amount 300 --safe --partial --tolerance 0.1 + ``` -**Options**: +4. Unsafe staking with no rate protection: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. + ```sh + btcli stake add --amount 300 --netuid 1 --unsafe + ``` -### `btcli su senate-vote` +5. Stake to multiple hotkeys: -Cast a vote on an active proposal in Bittensor's governance protocol. + ```sh + btcli stake add --amount 200 --include-hotkeys hk_ss58_1,hk_ss58_2,hk_ss58_3 + ``` -This command is used by Senate members to vote on various proposals that shape the network's future. Use `btcli sudo proposals` to see the active proposals and their hashes. +6. Stake the same amount of TAO into multiple subnets: -**Usage:** -The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the governance and evolution of the Bittensor network. + ```sh + btcli stake add -n 4,14,64 --amount 100 + ``` -**Example:** +7. Stake all balance to a subnet: + ```sh + btcli stake add --all --netuid 3 + ``` -``` -btcli sudo senate_vote --proposal <proposal_hash> -``` +Safe Staking Parameters:--safe: Enables rate tolerance checks +--tolerance: Maximum % rate change allowed (0.05 = 5%) +--partial: Complete partial stake if rates exceed tolerance **Usage**: ```console -btcli su senate-vote [OPTIONS] +btcli stake add [OPTIONS] ``` **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `-a, --all-tokens, --all`: When set, the command stakes all the available TAO from the coldkey. +- `--amount FLOAT`: The amount of TAO to stake [default: 0.0] +- `-in, --include-hotkeys, --hotkey-ss58-address TEXT`: Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` +- `-ex, --exclude-hotkeys TEXT`: Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` +- `--all-hotkeys / --no-all-hotkeys`: When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. - `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). +- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). - `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. -- `--vote-aye / --vote-nay`: The vote casted on the proposal - `--help`: Show this message and exit. -### `btcli su set-take` +### `btcli stake remove` -Allows users to change their delegate take percentage. +Unstake TAO from one or more hotkeys and transfer them back to the user's coldkey wallet. -This command can be used to update the delegate takes. To run the command, the user must have a configured wallet with both hotkey and coldkey. -The command makes sure the new take value is within 0-18% range. +This command is used to withdraw TAO or Alpha stake from different hotkeys. -**Example:** +Common Examples: -``` -btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey -``` +1. Interactive unstaking (guided prompts): -**Usage**: + ``` + btcli stake remove + ``` -```console -btcli su set-take [OPTIONS] -``` +2. Safe unstaking with 10% rate tolerance: -**Options**: + ``` + btcli stake remove --amount 100 --netuid 1 --safe --tolerance 0.1 + ``` -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--take FLOAT`: The new take value. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +3. Allow partial unstake if rates change: -### `btcli su get-take` + ``` + btcli stake remove --amount 300 --safe --partial + ``` -Allows users to check their delegate take percentage. +4. Unstake from multiple hotkeys: -This command can be used to fetch the delegate take of your hotkey. + ``` + btcli stake remove --amount 200 --include-hotkeys hk1,hk2,hk3 + ``` -**Example:** +5. Unstake all from a hotkey: -``` -btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey -``` + ``` + btcli stake remove --all + ``` + +6. Unstake all Alpha from a hotkey and stake to Root: + ``` + btcli stake remove --all-alpha + ``` + +Safe Staking Parameters: +--safe: Enables rate tolerance checks during unstaking +--tolerance: Max allowed rate change (0.05 = 5%) +--partial: Complete partial unstake if rates exceed tolerance **Usage**: ```console -btcli su get-take [OPTIONS] +btcli stake remove [OPTIONS] ``` **Options**: @@ -5226,89 +1310,102 @@ btcli su get-take [OPTIONS] - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. - `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `-a, --amount FLOAT`: The amount of TAO to unstake. [default: 0.0] +- `--hotkey-ss58-address TEXT`: The ss58 address of the hotkey to unstake from. +- `-in, --include-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` +- `-ex, --exclude-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address not to unstake from (only use with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` +- `--all-hotkeys / --no-all-hotkeys`: When set, this command unstakes from all the hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] +- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). +- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `-i, --interactive`: Enter interactive mode for unstaking. - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli su senate_vote` +### `btcli stake list` -Cast a vote on an active proposal in Bittensor's governance protocol. +Display detailed stake information for a wallet across all subnets. -This command is used by Senate members to vote on various proposals that shape the network's future. Use `btcli sudo proposals` to see the active proposals and their hashes. +Shows stake allocations, exchange rates, and emissions for each hotkey. -**Usage:** -The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the governance and evolution of the Bittensor network. +Common Examples: -**Example:** +1. Basic stake overview: ``` -btcli sudo senate_vote --proposal <proposal_hash> +btcli stake list --wallet.name my_wallet ``` -**Usage**: +2. Live updating view with refresh: -```console -btcli su senate_vote [OPTIONS] +``` +btcli stake list --wallet.name my_wallet --live ``` -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--vote-aye / --vote-nay`: The vote casted on the proposal -- `--help`: Show this message and exit. - -### `btcli su get_take` - -Allows users to check their delegate take percentage. +3. View specific coldkey by address: -This command can be used to fetch the delegate take of your hotkey. +``` +btcli stake list --ss58 5Dk...X3q +``` -**Example:** +4. Verbose output with full values: ``` -btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey +btcli stake list --wallet.name my_wallet --verbose ``` **Usage**: ```console -btcli su get_take [OPTIONS] +btcli stake list [OPTIONS] ``` **Options**: - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58 TEXT`: Coldkey address of the wallet +- `--live`: Display live view of the table - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--help`: Show this message and exit. -### `btcli su set_take` +### `btcli stake move` -Allows users to change their delegate take percentage. +Move staked TAO between hotkeys while keeping the same coldkey ownership. -This command can be used to update the delegate takes. To run the command, the user must have a configured wallet with both hotkey and coldkey. -The command makes sure the new take value is within 0-18% range. +This command allows you to: + +- Move stake from one hotkey to another hotkey +- Move stake between different subnets +- Keep the same coldkey ownership + +You can specify: + +- The origin subnet (--origin-netuid) +- The destination subnet (--dest-netuid) +- The destination hotkey (--dest-hotkey) +- The amount to move (--amount) + +If no arguments are provided, an interactive selection menu will be shown. **Example:** ``` -btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey +btcli stake move ``` **Usage**: ```console -btcli su set_take [OPTIONS] +btcli stake move [OPTIONS] ``` **Options**: @@ -5317,422 +1414,453 @@ btcli su set_take [OPTIONS] - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. - `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--take FLOAT`: The new take value. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. +- `--origin-netuid INTEGER`: Origin netuid +- `--dest-netuid INTEGER`: Destination netuid +- `--dest-ss58, --dest TEXT`: Destination hotkey +- `--amount FLOAT`: The amount of TAO to stake +- `--stake-all, --all`: Stake all +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--help`: Show this message and exit. -## `btcli subnets` +### `btcli stake transfer` -**Usage**: +Transfer stake between coldkeys while keeping the same hotkey ownership. -```console -btcli subnets [OPTIONS] COMMAND [ARGS]... -``` +This command allows you to: -**Options**: +- Transfer stake from one coldkey to another coldkey +- Keep the same hotkey ownership +- Transfer stake between different subnets -- `--help`: Show this message and exit. +You can specify: -**Commands**: +- The origin subnet (--origin-netuid) +- The destination subnet (--dest-netuid) +- The destination wallet/address (--dest) +- The amount to transfer (--amount) -- `hyperparameters`: Shows a list of the hyperparameters for... -- `list`: List all subnets and their detailed... -- `burn-cost`: Shows the required amount of TAO to be... -- `create`: Registers a new subnet on the network. -- `pow-register`: Register a neuron (a subnet validator or a... -- `register`: Register a neuron (a subnet validator or a... -- `metagraph`: Displays detailed information about a... -- `show`: Displays detailed information about a... -- `price`: Shows the historical price of a subnet for... -- `burn_cost`: Shows the required amount of TAO to be... -- `pow_register`: Register a neuron (a subnet validator or a... +If no arguments are provided, an interactive selection menu will be shown. -### `btcli subnets hyperparameters` +**Example:** -Shows a list of the hyperparameters for the specified subnet. +Transfer 100 TAO from subnet 1 to subnet 2: -**Example:** +``` +btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest wallet2 --amount 100 +``` + +Using SS58 address: ``` -btcli sudo get --netuid 1 +btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest 5FrLxJsyJ5x9n2rmxFwosFraxFCKcXZDngEP9H7qjkKgHLcK --amount 100 ``` **Usage**: ```console -btcli subnets hyperparameters [OPTIONS] +btcli stake transfer [OPTIONS] ``` **Options**: - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--origin-netuid INTEGER`: The netuid to transfer stake from +- `--dest-netuid INTEGER`: The netuid to transfer stake to +- `--dest-ss58, --dest, --dest-coldkey TEXT`: The destination wallet name or SS58 address to transfer stake to +- `-a, --amount FLOAT`: Amount of stake to transfer +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnets list` - -List all subnets and their detailed information. - -Common Examples: - -1. List all subnets: - -``` -btcli subnets list -``` +### `btcli stake swap` -2. List all subnets in live mode: +Swap stake between different subnets while keeping the same coldkey-hotkey pair ownership. -``` -btcli subnets list --live -``` +This command allows you to: -Output Columns: Netuid - Subnet identifier number -Name - Subnet name with currency symbol (τ/α/β etc) -Price (τ_in/α_in) - Exchange rate (TAO per alpha token) -Market Cap (α \* Price) - Total value in TAO (alpha tokens × price) -Emission (τ) - TAO rewards emitted per block to subnet -P (τ_in, α_in) - Pool reserves (Tao reserves, alpha reserves) in liquidity pool -Stake (α_out) - Total staked alpha tokens across all hotkeys (alpha outstanding) -Supply (α) - Circulating alpha token supply -Tempo (k/n) - Block interval for subnet updates +- Move stake from one subnet to another subnet +- Keep the same coldkey ownership +- Keep the same hotkey ownership + +You can specify: + +- The origin subnet (--origin-netuid) +- The destination subnet (--dest-netuid) +- The amount to swap (--amount) + +If no arguments are provided, an interactive selection menu will be shown. **Example:** +Swap 100 TAO from subnet 1 to subnet 2: + ``` -btcli subnets list +btcli stake swap --wallet-name default --wallet-hotkey default --origin-netuid 1 --dest-netuid 2 --amount 100 ``` **Usage**: ```console -btcli subnets list [OPTIONS] +btcli stake swap [OPTIONS] ``` **Options**: - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-o, --origin-netuid, --origin INTEGER`: The netuid to swap stake from +- `-d, --dest-netuid, --dest INTEGER`: The netuid to swap stake to +- `-a, --amount FLOAT`: Amount of stake to swap +- `--swap-all, --all`: Swap all available stake +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. -- `--live`: Display live view of the table - `--help`: Show this message and exit. -### `btcli subnets burn-cost` - -Shows the required amount of TAO to be recycled for creating a new subnet, i.e., cost of registering a new subnet. - -The current implementation anneals the cost of creating a subnet over a period of two days. If the displayed cost is unappealing to you, check back in a day or two to see if it has decreased to a more affordable level. - -**Example:** - -``` -btcli subnets burn_cost -``` +### `btcli stake child` **Usage**: ```console -btcli subnets burn-cost [OPTIONS] +btcli stake child [OPTIONS] COMMAND [ARGS]... ``` **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnets create` +**Commands**: -Registers a new subnet on the network. +- `get`: Get all the child hotkeys on a specified... +- `set`: Set child hotkeys on specified subnets. +- `revoke`: Remove all children hotkeys on a specified... +- `take`: Get and set your child hotkey take on a... -This command allows you to create a new subnet and set the subnet's identity. -You also have the option to set your own identity after the registration is complete. +#### `btcli stake child get` -Common Examples: +Get all the child hotkeys on a specified subnet. -1. Interactive subnet creation: +Users can specify the subnet and see the child hotkeys and the proportion that is given to them. This command is used to view the authority delegated to different hotkeys on the subnet. + +**Example:** ``` -btcli subnets create +btcli stake child get --netuid 1 ``` -2. Create with GitHub repo and contact email: - ``` -btcli subnets create --subnet-name MySubnet --github-repo https://github.com/myorg/mysubnet --subnet-contact team@mysubnet.net +btcli stake child get --all-netuids ``` **Usage**: ```console -btcli subnets create [OPTIONS] +btcli stake child get [OPTIONS] ``` **Options**: - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--subnet-name, --name TEXT`: Name of the subnet -- `--github-repo, --repo TEXT`: GitHub repository URL -- `--subnet-contact, --contact, --email TEXT`: Contact email for subnet -- `--subnet-url, --url TEXT`: Subnet URL -- `--discord-handle, --discord TEXT`: Discord handle -- `--description TEXT`: Description -- `--additional-info TEXT`: Additional information -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) +- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnets pow-register` - -Register a neuron (a subnet validator or a subnet miner) using Proof of Work (POW). +#### `btcli stake child set` -This method is an alternative registration process that uses computational work for securing a neuron's place on the subnet. +Set child hotkeys on specified subnets. -The command starts by verifying the existence of the specified subnet. If the subnet does not exist, it terminates with an error message. On successful verification, the POW registration process is initiated, which requires solving computational puzzles. +Users can specify the 'proportion' to delegate to child hotkeys (ss58 address). The sum of proportions cannot be greater than 1. -The command also supports additional wallet and subtensor arguments, enabling further customization of the registration process. +This command is used to delegate authority to different hotkeys, securing their position and influence on the subnet. **Example:** ``` -btcli pow_register --netuid 1 --num_processes 4 --cuda +btcli stake child set -c 5FCL3gmjtQV4xxxxuEPEFQVhyyyyqYgNwX7drFLw7MSdBnxP -c 5Hp5dxxxxtGg7pu8dN2btyyyyVA1vELmM9dy8KQv3LxV8PA7 --hotkey default --netuid 1 -p 0.3 -p 0.7 ``` -Note: This command is suitable for users with adequate computational resources to participate in POW registration. -It requires a sound understanding of the network's operations and POW mechanics. Users should ensure their systems meet the necessary hardware and software requirements, particularly when opting for CUDA-based GPU acceleration. - -This command may be disabled by the subnet owner. For example, on netuid 1 this is permanently disabled. - **Usage**: ```console -btcli subnets pow-register [OPTIONS] +btcli stake child set [OPTIONS] ``` **Options**: +- `-c, --children TEXT`: Enter child hotkeys (ss58) - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. - `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--processors INTEGER`: Number of processors to use for POW registration. -- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -- `-v, --verbose`: Whether to output the registration statistics verbosely. -- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnets register` - -Register a neuron (a subnet validator or a subnet miner) in the specified subnet by recycling some TAO. +#### `btcli stake child revoke` -Before registering, the command checks if the specified subnet exists and whether the user's balance is sufficient to cover the registration cost. +Remove all children hotkeys on a specified subnet. -The registration cost is determined by the current recycle amount for the specified subnet. If the balance is insufficient or the subnet does not exist, the command will exit with an error message. +This command is used to remove delegated authority from all child hotkeys, removing their position and influence on the subnet. **Example:** ``` -btcli subnets register --netuid 1 +btcli stake child revoke --hotkey <parent_hotkey> --netuid 1 ``` **Usage**: ```console -btcli subnets register [OPTIONS] +btcli stake child revoke [OPTIONS] ``` **Options**: - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnets metagraph` +#### `btcli stake child take` -Displays detailed information about a subnet including participants and their state. +Get and set your child hotkey take on a specified subnet. + +The child hotkey take must be between 0 - 18%. **Example:** -``` -btcli subnets list -``` +To get the current take value, do not use the '--take' option: + + ``` + btcli stake child take --hotkey <child_hotkey> --netuid 1 + ``` + +To set a new take value, use the '--take' option: + + ``` + btcli stake child take --hotkey <child_hotkey> --take 0.12 --netuid 1 + ``` **Usage**: ```console -btcli subnets metagraph [OPTIONS] +btcli stake child take [OPTIONS] ``` **Options**: +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--hotkey TEXT` +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--help`: Show this message and exit. -### `btcli subnets show` +### `btcli stake children` -Displays detailed information about a subnet including participants and their state. +**Usage**: + +```console +btcli stake children [OPTIONS] COMMAND [ARGS]... +``` + +**Options**: + +- `--help`: Show this message and exit. + +**Commands**: + +- `get`: Get all the child hotkeys on a specified... +- `set`: Set child hotkeys on specified subnets. +- `revoke`: Remove all children hotkeys on a specified... +- `take`: Get and set your child hotkey take on a... + +#### `btcli stake children get` + +Get all the child hotkeys on a specified subnet. + +Users can specify the subnet and see the child hotkeys and the proportion that is given to them. This command is used to view the authority delegated to different hotkeys on the subnet. **Example:** ``` -btcli subnets list +btcli stake child get --netuid 1 +``` + +``` +btcli stake child get --all-netuids ``` **Usage**: ```console -btcli subnets show [OPTIONS] +btcli stake children get [OPTIONS] ``` **Options**: +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) +- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--help`: Show this message and exit. -### `btcli subnets price` - -Shows the historical price of a subnet for the past 24 hours. - -This command displays the historical price of a subnet for the past 24 hours. -If the `--all` flag is used, the command will display the price for all subnets in html format. -If the `--html` flag is used, the command will display the price in an HTML chart. -If the `--log-scale` flag is used, the command will display the price in log scale. -If no html flag is used, the command will display the price in the cli. +#### `btcli stake children set` -**Example:** +Set child hotkeys on specified subnets. -``` -btcli subnets price --netuid 1 -``` +Users can specify the 'proportion' to delegate to child hotkeys (ss58 address). The sum of proportions cannot be greater than 1. -``` -btcli subnets price --netuid 1 --html --log -``` +This command is used to delegate authority to different hotkeys, securing their position and influence on the subnet. -``` -btcli subnets price --all --html -``` +**Example:** ``` -btcli subnets price --netuids 1,2,3,4 --html +btcli stake child set -c 5FCL3gmjtQV4xxxxuEPEFQVhyyyyqYgNwX7drFLw7MSdBnxP -c 5Hp5dxxxxtGg7pu8dN2btyyyyVA1vELmM9dy8KQv3LxV8PA7 --hotkey default --netuid 1 -p 0.3 -p 0.7 ``` **Usage**: ```console -btcli subnets price [OPTIONS] +btcli stake children set [OPTIONS] ``` **Options**: +- `-c, --children TEXT`: Enter child hotkeys (ss58) +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `-n, --netuids, --netuid TEXT`: Netuid(s) to show the price for. -- `--interval-hours, --interval INTEGER`: The number of hours to show the historical price for. [default: 24] -- `--all-netuids, --all`: Show the price for all subnets. -- `--log-scale, --log`: Show the price in log scale. -- `--html`: Display the table as HTML in the browser. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnets burn_cost` +#### `btcli stake children revoke` -Shows the required amount of TAO to be recycled for creating a new subnet, i.e., cost of registering a new subnet. +Remove all children hotkeys on a specified subnet. -The current implementation anneals the cost of creating a subnet over a period of two days. If the displayed cost is unappealing to you, check back in a day or two to see if it has decreased to a more affordable level. +This command is used to remove delegated authority from all child hotkeys, removing their position and influence on the subnet. **Example:** ``` -btcli subnets burn_cost +btcli stake child revoke --hotkey <parent_hotkey> --netuid 1 ``` **Usage**: ```console -btcli subnets burn_cost [OPTIONS] +btcli stake children revoke [OPTIONS] ``` **Options**: +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnets pow_register` - -Register a neuron (a subnet validator or a subnet miner) using Proof of Work (POW). - -This method is an alternative registration process that uses computational work for securing a neuron's place on the subnet. +#### `btcli stake children take` -The command starts by verifying the existence of the specified subnet. If the subnet does not exist, it terminates with an error message. On successful verification, the POW registration process is initiated, which requires solving computational puzzles. +Get and set your child hotkey take on a specified subnet. -The command also supports additional wallet and subtensor arguments, enabling further customization of the registration process. +The child hotkey take must be between 0 - 18%. **Example:** -``` -btcli pow_register --netuid 1 --num_processes 4 --cuda -``` +To get the current take value, do not use the '--take' option: -Note: This command is suitable for users with adequate computational resources to participate in POW registration. -It requires a sound understanding of the network's operations and POW mechanics. Users should ensure their systems meet the necessary hardware and software requirements, particularly when opting for CUDA-based GPU acceleration. + ``` + btcli stake child take --hotkey <child_hotkey> --netuid 1 + ``` -This command may be disabled by the subnet owner. For example, on netuid 1 this is permanently disabled. +To set a new take value, use the '--take' option: + + ``` + btcli stake child take --hotkey <child_hotkey> --take 0.12 --netuid 1 + ``` **Usage**: ```console -btcli subnets pow_register [OPTIONS] +btcli stake children take [OPTIONS] ``` **Options**: - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--processors INTEGER`: Number of processors to use for POW registration. -- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -- `-v, --verbose`: Whether to output the registration statistics verbosely. -- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] +- `--hotkey TEXT` +- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) +- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. +- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. +- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] +- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -## `btcli s` +## `btcli sudo` **Usage**: ```console -btcli s [OPTIONS] COMMAND [ARGS]... +btcli sudo [OPTIONS] COMMAND [ARGS]... + +aliases: su ``` **Options**: @@ -5741,106 +1869,88 @@ btcli s [OPTIONS] COMMAND [ARGS]... **Commands**: -- `hyperparameters`: Shows a list of the hyperparameters for... -- `list`: List all subnets and their detailed... -- `burn-cost`: Shows the required amount of TAO to be... -- `create`: Registers a new subnet on the network. -- `pow-register`: Register a neuron (a subnet validator or a... -- `register`: Register a neuron (a subnet validator or a... -- `metagraph`: Displays detailed information about a... -- `show`: Displays detailed information about a... -- `price`: Shows the historical price of a subnet for... -- `burn_cost`: Shows the required amount of TAO to be... -- `pow_register`: Register a neuron (a subnet validator or a... +- `set`: Used to set hyperparameters for a specific... +- `get`: Shows a list of the hyperparameters for... +- `senate`: Shows the Senate members of the... +- `proposals`: View active proposals for the senate in... +- `senate-vote`: Cast a vote on an active proposal in... +- `set-take`: Allows users to change their delegate take... +- `get-take`: Allows users to check their delegate take... +- `senate_vote`: Cast a vote on an active proposal in... +- `get_take`: Allows users to check their delegate take... +- `set_take`: Allows users to change their delegate take... -### `btcli s hyperparameters` +### `btcli sudo set` -Shows a list of the hyperparameters for the specified subnet. +Used to set hyperparameters for a specific subnet. + +This command allows subnet owners to modify hyperparameters such as its tempo, emission rates, and other hyperparameters. **Example:** ``` -btcli sudo get --netuid 1 +btcli sudo set --netuid 1 --param tempo --value 400 ``` **Usage**: ```console -btcli s hyperparameters [OPTIONS] +btcli sudo set [OPTIONS] ``` **Options**: - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet - `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--param, --parameter TEXT`: The subnet hyperparameter to set +- `--value TEXT`: Value to set the hyperparameter to. - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli s list` - -List all subnets and their detailed information. - -Common Examples: - -1. List all subnets: - -``` -btcli subnets list -``` - -2. List all subnets in live mode: - -``` -btcli subnets list --live -``` +### `btcli sudo get` -Output Columns: Netuid - Subnet identifier number -Name - Subnet name with currency symbol (τ/α/β etc) -Price (τ_in/α_in) - Exchange rate (TAO per alpha token) -Market Cap (α \* Price) - Total value in TAO (alpha tokens × price) -Emission (τ) - TAO rewards emitted per block to subnet -P (τ_in, α_in) - Pool reserves (Tao reserves, alpha reserves) in liquidity pool -Stake (α_out) - Total staked alpha tokens across all hotkeys (alpha outstanding) -Supply (α) - Circulating alpha token supply -Tempo (k/n) - Block interval for subnet updates +Shows a list of the hyperparameters for the specified subnet. **Example:** ``` -btcli subnets list +btcli sudo get --netuid 1 ``` **Usage**: ```console -btcli s list [OPTIONS] +btcli sudo get [OPTIONS] ``` **Options**: - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. -- `--live`: Display live view of the table - `--help`: Show this message and exit. -### `btcli s burn-cost` +### `btcli sudo senate` -Shows the required amount of TAO to be recycled for creating a new subnet, i.e., cost of registering a new subnet. +Shows the Senate members of the Bittensor's governance protocol. -The current implementation anneals the cost of creating a subnet over a period of two days. If the displayed cost is unappealing to you, check back in a day or two to see if it has decreased to a more affordable level. +This command lists the delegates involved in the decision-making process of the Bittensor network, showing their names and wallet addresses. This information is crucial for understanding who holds governance roles within the network. **Example:** ``` -btcli subnets burn_cost +btcli sudo senate ``` **Usage**: ```console -btcli s burn-cost [OPTIONS] +btcli sudo senate [OPTIONS] ``` **Options**: @@ -5850,294 +1960,223 @@ btcli s burn-cost [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli s create` - -Registers a new subnet on the network. - -This command allows you to create a new subnet and set the subnet's identity. -You also have the option to set your own identity after the registration is complete. - -Common Examples: +### `btcli sudo proposals` -1. Interactive subnet creation: +View active proposals for the senate in the Bittensor's governance protocol. -``` -btcli subnets create -``` +This command displays the details of ongoing proposals, including proposal hashes, votes, thresholds, and proposal data. -2. Create with GitHub repo and contact email: +**Example:** ``` -btcli subnets create --subnet-name MySubnet --github-repo https://github.com/myorg/mysubnet --subnet-contact team@mysubnet.net +btcli sudo proposals ``` **Usage**: ```console -btcli s create [OPTIONS] +btcli sudo proposals [OPTIONS] ``` **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--subnet-name, --name TEXT`: Name of the subnet -- `--github-repo, --repo TEXT`: GitHub repository URL -- `--subnet-contact, --contact, --email TEXT`: Contact email for subnet -- `--subnet-url, --url TEXT`: Subnet URL -- `--discord-handle, --discord TEXT`: Discord handle -- `--description TEXT`: Description -- `--additional-info TEXT`: Additional information -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli s pow-register` - -Register a neuron (a subnet validator or a subnet miner) using Proof of Work (POW). +### `btcli sudo senate-vote` -This method is an alternative registration process that uses computational work for securing a neuron's place on the subnet. +Cast a vote on an active proposal in Bittensor's governance protocol. -The command starts by verifying the existence of the specified subnet. If the subnet does not exist, it terminates with an error message. On successful verification, the POW registration process is initiated, which requires solving computational puzzles. +This command is used by Senate members to vote on various proposals that shape the network's future. Use `btcli sudo proposals` to see the active proposals and their hashes. -The command also supports additional wallet and subtensor arguments, enabling further customization of the registration process. +**Usage:** +The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the governance and evolution of the Bittensor network. **Example:** ``` -btcli pow_register --netuid 1 --num_processes 4 --cuda +btcli sudo senate_vote --proposal <proposal_hash> ``` -Note: This command is suitable for users with adequate computational resources to participate in POW registration. -It requires a sound understanding of the network's operations and POW mechanics. Users should ensure their systems meet the necessary hardware and software requirements, particularly when opting for CUDA-based GPU acceleration. - -This command may be disabled by the subnet owner. For example, on netuid 1 this is permanently disabled. - **Usage**: ```console -btcli s pow-register [OPTIONS] +btcli sudo senate-vote [OPTIONS] ``` **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--processors INTEGER`: Number of processors to use for POW registration. -- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -- `-v, --verbose`: Whether to output the registration statistics verbosely. -- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -- `--help`: Show this message and exit. - -### `btcli s register` - -Register a neuron (a subnet validator or a subnet miner) in the specified subnet by recycling some TAO. - -Before registering, the command checks if the specified subnet exists and whether the user's balance is sufficient to cover the registration cost. - -The registration cost is determined by the current recycle amount for the specified subnet. If the balance is insufficient or the subnet does not exist, the command will exit with an error message. - -**Example:** - -``` -btcli subnets register --netuid 1 -``` - -**Usage**: - -```console -btcli s register [OPTIONS] -``` - -**Options**: - - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. - `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. - `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. +- `--vote-aye / --vote-nay`: The vote casted on the proposal - `--help`: Show this message and exit. -### `btcli s metagraph` +### `btcli sudo set-take` -Displays detailed information about a subnet including participants and their state. +Allows users to change their delegate take percentage. + +This command can be used to update the delegate takes. To run the command, the user must have a configured wallet with both hotkey and coldkey. +The command makes sure the new take value is within 0-18% range. **Example:** ``` -btcli subnets list +btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` **Usage**: ```console -btcli s metagraph [OPTIONS] +btcli sudo set-take [OPTIONS] ``` **Options**: - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--take FLOAT`: The new take value. - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--help`: Show this message and exit. -### `btcli s show` +### `btcli sudo get-take` + +Allows users to check their delegate take percentage. -Displays detailed information about a subnet including participants and their state. +This command can be used to fetch the delegate take of your hotkey. **Example:** ``` -btcli subnets list +btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` **Usage**: ```console -btcli s show [OPTIONS] +btcli sudo get-take [OPTIONS] ``` **Options**: - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--help`: Show this message and exit. -### `btcli s price` - -Shows the historical price of a subnet for the past 24 hours. - -This command displays the historical price of a subnet for the past 24 hours. -If the `--all` flag is used, the command will display the price for all subnets in html format. -If the `--html` flag is used, the command will display the price in an HTML chart. -If the `--log-scale` flag is used, the command will display the price in log scale. -If no html flag is used, the command will display the price in the cli. +### `btcli sudo senate_vote` -**Example:** +Cast a vote on an active proposal in Bittensor's governance protocol. -``` -btcli subnets price --netuid 1 -``` +This command is used by Senate members to vote on various proposals that shape the network's future. Use `btcli sudo proposals` to see the active proposals and their hashes. -``` -btcli subnets price --netuid 1 --html --log -``` +**Usage:** +The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the governance and evolution of the Bittensor network. -``` -btcli subnets price --all --html -``` +**Example:** ``` -btcli subnets price --netuids 1,2,3,4 --html +btcli sudo senate_vote --proposal <proposal_hash> ``` **Usage**: ```console -btcli s price [OPTIONS] +btcli sudo senate_vote [OPTIONS] ``` **Options**: - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `-n, --netuids, --netuid TEXT`: Netuid(s) to show the price for. -- `--interval-hours, --interval INTEGER`: The number of hours to show the historical price for. [default: 24] -- `--all-netuids, --all`: Show the price for all subnets. -- `--log-scale, --log`: Show the price in log scale. -- `--html`: Display the table as HTML in the browser. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--vote-aye / --vote-nay`: The vote casted on the proposal - `--help`: Show this message and exit. -### `btcli s burn_cost` +### `btcli sudo get_take` -Shows the required amount of TAO to be recycled for creating a new subnet, i.e., cost of registering a new subnet. +Allows users to check their delegate take percentage. -The current implementation anneals the cost of creating a subnet over a period of two days. If the displayed cost is unappealing to you, check back in a day or two to see if it has decreased to a more affordable level. +This command can be used to fetch the delegate take of your hotkey. **Example:** ``` -btcli subnets burn_cost +btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` **Usage**: ```console -btcli s burn_cost [OPTIONS] +btcli sudo get_take [OPTIONS] ``` **Options**: - `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. +- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli s pow_register` - -Register a neuron (a subnet validator or a subnet miner) using Proof of Work (POW). - -This method is an alternative registration process that uses computational work for securing a neuron's place on the subnet. +### `btcli sudo set_take` -The command starts by verifying the existence of the specified subnet. If the subnet does not exist, it terminates with an error message. On successful verification, the POW registration process is initiated, which requires solving computational puzzles. +Allows users to change their delegate take percentage. -The command also supports additional wallet and subtensor arguments, enabling further customization of the registration process. +This command can be used to update the delegate takes. To run the command, the user must have a configured wallet with both hotkey and coldkey. +The command makes sure the new take value is within 0-18% range. **Example:** ``` -btcli pow_register --netuid 1 --num_processes 4 --cuda +btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey ``` -Note: This command is suitable for users with adequate computational resources to participate in POW registration. -It requires a sound understanding of the network's operations and POW mechanics. Users should ensure their systems meet the necessary hardware and software requirements, particularly when opting for CUDA-based GPU acceleration. - -This command may be disabled by the subnet owner. For example, on netuid 1 this is permanently disabled. - **Usage**: ```console -btcli s pow_register [OPTIONS] +btcli sudo set_take [OPTIONS] ``` **Options**: +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. - `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--processors INTEGER`: Number of processors to use for POW registration. -- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -- `-v, --verbose`: Whether to output the registration statistics verbosely. -- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] +- `--take FLOAT`: The new take value. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -## `btcli subnet` +## `btcli subnets` **Usage**: ```console -btcli subnet [OPTIONS] COMMAND [ARGS]... +btcli subnets [OPTIONS] COMMAND [ARGS]... + +aliases: subnet, s ``` **Options**: @@ -6158,7 +2197,7 @@ btcli subnet [OPTIONS] COMMAND [ARGS]... - `burn_cost`: Shows the required amount of TAO to be... - `pow_register`: Register a neuron (a subnet validator or a... -### `btcli subnet hyperparameters` +### `btcli subnets hyperparameters` Shows a list of the hyperparameters for the specified subnet. @@ -6171,7 +2210,7 @@ btcli sudo get --netuid 1 **Usage**: ```console -btcli subnet hyperparameters [OPTIONS] +btcli subnets hyperparameters [OPTIONS] ``` **Options**: @@ -6182,7 +2221,7 @@ btcli subnet hyperparameters [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnet list` +### `btcli subnets list` List all subnets and their detailed information. @@ -6219,7 +2258,7 @@ btcli subnets list **Usage**: ```console -btcli subnet list [OPTIONS] +btcli subnets list [OPTIONS] ``` **Options**: @@ -6230,7 +2269,7 @@ btcli subnet list [OPTIONS] - `--live`: Display live view of the table - `--help`: Show this message and exit. -### `btcli subnet burn-cost` +### `btcli subnets burn-cost` Shows the required amount of TAO to be recycled for creating a new subnet, i.e., cost of registering a new subnet. @@ -6245,7 +2284,7 @@ btcli subnets burn_cost **Usage**: ```console -btcli subnet burn-cost [OPTIONS] +btcli subnets burn-cost [OPTIONS] ``` **Options**: @@ -6255,7 +2294,7 @@ btcli subnet burn-cost [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnet create` +### `btcli subnets create` Registers a new subnet on the network. @@ -6279,7 +2318,7 @@ btcli subnets create --subnet-name MySubnet --github-repo https://github.com/myo **Usage**: ```console -btcli subnet create [OPTIONS] +btcli subnets create [OPTIONS] ``` **Options**: @@ -6300,7 +2339,7 @@ btcli subnet create [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnet pow-register` +### `btcli subnets pow-register` Register a neuron (a subnet validator or a subnet miner) using Proof of Work (POW). @@ -6324,7 +2363,7 @@ This command may be disabled by the subnet owner. For example, on netuid 1 this **Usage**: ```console -btcli subnet pow-register [OPTIONS] +btcli subnets pow-register [OPTIONS] ``` **Options**: @@ -6343,7 +2382,7 @@ btcli subnet pow-register [OPTIONS] - `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] - `--help`: Show this message and exit. -### `btcli subnet register` +### `btcli subnets register` Register a neuron (a subnet validator or a subnet miner) in the specified subnet by recycling some TAO. @@ -6360,7 +2399,7 @@ btcli subnets register --netuid 1 **Usage**: ```console -btcli subnet register [OPTIONS] +btcli subnets register [OPTIONS] ``` **Options**: @@ -6375,7 +2414,7 @@ btcli subnet register [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnet metagraph` +### `btcli subnets metagraph` Displays detailed information about a subnet including participants and their state. @@ -6388,7 +2427,7 @@ btcli subnets list **Usage**: ```console -btcli subnet metagraph [OPTIONS] +btcli subnets metagraph [OPTIONS] ``` **Options**: @@ -6400,7 +2439,7 @@ btcli subnet metagraph [OPTIONS] - `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--help`: Show this message and exit. -### `btcli subnet show` +### `btcli subnets show` Displays detailed information about a subnet including participants and their state. @@ -6413,7 +2452,7 @@ btcli subnets list **Usage**: ```console -btcli subnet show [OPTIONS] +btcli subnets show [OPTIONS] ``` **Options**: @@ -6425,7 +2464,7 @@ btcli subnet show [OPTIONS] - `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--help`: Show this message and exit. -### `btcli subnet price` +### `btcli subnets price` Shows the historical price of a subnet for the past 24 hours. @@ -6456,7 +2495,7 @@ btcli subnets price --netuids 1,2,3,4 --html **Usage**: ```console -btcli subnet price [OPTIONS] +btcli subnets price [OPTIONS] ``` **Options**: @@ -6469,7 +2508,7 @@ btcli subnet price [OPTIONS] - `--html`: Display the table as HTML in the browser. - `--help`: Show this message and exit. -### `btcli subnet burn_cost` +### `btcli subnets burn_cost` Shows the required amount of TAO to be recycled for creating a new subnet, i.e., cost of registering a new subnet. @@ -6484,7 +2523,7 @@ btcli subnets burn_cost **Usage**: ```console -btcli subnet burn_cost [OPTIONS] +btcli subnets burn_cost [OPTIONS] ``` **Options**: @@ -6494,7 +2533,7 @@ btcli subnet burn_cost [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnet pow_register` +### `btcli subnets pow_register` Register a neuron (a subnet validator or a subnet miner) using Proof of Work (POW). @@ -6518,7 +2557,7 @@ This command may be disabled by the subnet owner. For example, on netuid 1 this **Usage**: ```console -btcli subnet pow_register [OPTIONS] +btcli subnets pow_register [OPTIONS] ``` **Options**: @@ -6543,6 +2582,8 @@ btcli subnet pow_register [OPTIONS] ```console btcli weights [OPTIONS] COMMAND [ARGS]... + +aliases: wt, weight ``` **Options**: @@ -6621,174 +2662,6 @@ btcli weights commit [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -## `btcli wt` - -**Usage**: - -```console -btcli wt [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `reveal`: Reveal weights for a specific subnet. -- `commit`: Commit weights for specific subnet. - -### `btcli wt reveal` - -Reveal weights for a specific subnet. - -You must specify the netuid, the UIDs you are interested in, and weights you wish to reveal. - -**Example:** - -``` -btcli wt reveal --netuid 1 --uids 1,2,3,4 --weights 0.1,0.2,0.3,0.4 --salt 163,241,217,11,161,142,147,189 -``` - -**Usage**: - -```console -btcli wt reveal [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `-u, --uids TEXT`: Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 ... -- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163,241,217 ... -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wt commit` - -Commit weights for specific subnet. - -Use this command to commit weights for a specific subnet. You must specify the netuid, the UIDs you are interested in, and the weights you wish to commit. - -**Example:** - -``` -btcli wt commit --netuid 1 --uids 1,2,3,4 --w 0.1,0.2,0.3 -``` - -Note: This command is used to commit weights for a specific subnet and requires the user to have the necessary -permissions. - -**Usage**: - -```console -btcli wt commit [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `-u, --uids TEXT`: UIDs of interest for the specified netuid, e.g. -u 1,2,3 ... -- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163 -s 241 -s 217 ... -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -## `btcli weight` - -**Usage**: - -```console -btcli weight [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `reveal`: Reveal weights for a specific subnet. -- `commit`: Commit weights for specific subnet. - -### `btcli weight reveal` - -Reveal weights for a specific subnet. - -You must specify the netuid, the UIDs you are interested in, and weights you wish to reveal. - -**Example:** - -``` -btcli wt reveal --netuid 1 --uids 1,2,3,4 --weights 0.1,0.2,0.3,0.4 --salt 163,241,217,11,161,142,147,189 -``` - -**Usage**: - -```console -btcli weight reveal [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `-u, --uids TEXT`: Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 ... -- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163,241,217 ... -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli weight commit` - -Commit weights for specific subnet. - -Use this command to commit weights for a specific subnet. You must specify the netuid, the UIDs you are interested in, and the weights you wish to commit. - -**Example:** - -``` -btcli wt commit --netuid 1 --uids 1,2,3,4 --w 0.1,0.2,0.3 -``` - -Note: This command is used to commit weights for a specific subnet and requires the user to have the necessary -permissions. - -**Usage**: - -```console -btcli weight commit [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `-u, --uids TEXT`: UIDs of interest for the specified netuid, e.g. -u 1,2,3 ... -- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163 -s 241 -s 217 ... -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - ## `btcli utils` **Usage**: From 117fa294bcf1a08c82859232df0ec6acbdb24ff9 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 11:16:14 -0700 Subject: [PATCH 117/303] wip --- docs/glossary.md | 1299 ++++++------------------------------- docs/subnets/metagraph.md | 182 ++---- 2 files changed, 285 insertions(+), 1196 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index 12b4bec343..e54cd7eb57 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -64,191 +64,18 @@ The commit reveal feature is designed to solve the weight-copying problem by giv **See also:** [Commit Reveal](./subnets/commit-reveal.md) -Code References and Implementation Details - -**Commit Reveal as Anti-Weight-Copying Mechanism:** -- Commit reveal prevents weight copying by introducing a time delay between weight commitment and revelation - - `subtensor/pallets/subtensor/src/subnets/weights.rs:41` - `do_commit_weights()` implementation -- Validators commit to weights without revealing them immediately, creating a temporal offset - - `subtensor/pallets/subtensor/src/subnets/weights.rs:74` - Weight commit storage in `WeightCommits` -- The mechanism ensures that copied weights are stale by the time they can be used - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1075` - `get_reveal_blocks()` timing calculation - -**Core Storage and Configuration:** - -**Commit Reveal Enablement:** -- Commit reveal is controlled per subnet via `CommitRevealWeightsEnabled` storage - - `subtensor/pallets/subtensor/src/lib.rs:1430` - `pub type CommitRevealWeightsEnabled = StorageMap<_, Identity, u16, bool, ValueQuery, DefaultCommitRevealWeightsEnabled>;` -- Enablement can be toggled by subnet owners or root - - `subtensor/pallets/subtensor/src/utils/misc.rs:472-477` - `get_commit_reveal_weights_enabled()` and `set_commit_reveal_weights_enabled()` - -**Weight Commit Storage:** -- **WeightCommits**: Stores commit hashes and timing information for each validator - - `subtensor/pallets/subtensor/src/lib.rs:1662-1669` - `pub type WeightCommits = StorageDoubleMap<_, Twox64Concat, u16, Twox64Concat, T::AccountId, VecDeque<(H256, u64, u64, u64)>, OptionQuery>;` -- **CRV3WeightCommits**: Stores v3 encrypted commits with epoch-based organization - - `subtensor/pallets/subtensor/src/lib.rs:1671-1680` - `pub type CRV3WeightCommits = StorageDoubleMap<_, Twox64Concat, u16, Twox64Concat, u64, VecDeque<(T::AccountId, BoundedVec>, RoundNumber)>, ValueQuery>;` -- **RevealPeriodEpochs**: Configurable reveal period per subnet - - `subtensor/pallets/subtensor/src/lib.rs:1682-1684` - `pub type RevealPeriodEpochs = StorageMap<_, Twox64Concat, u16, u64, ValueQuery, DefaultRevealPeriodEpochs>;` - -**Commit Phase Implementation:** - -**Commit Hash Generation:** -- Commit hash is generated from validator data using BlakeTwo256 - - `subtensor/pallets/subtensor/src/tests/weights.rs:1520` - `let commit_hash: H256 = BlakeTwo256::hash_of(&(hotkey, netuid, uids.clone(), weight_values.clone(), salt.clone(), version_key));` -- Hash includes: hotkey, netuid, uids, weight_values, salt, and version_key - - `subtensor/pallets/subtensor/src/subnets/weights.rs:74` - Commit storage with hash and timing information - -**Commit Validation:** -- **Enablement Check**: Ensures commit-reveal is enabled for the subnet - - `subtensor/pallets/subtensor/src/subnets/weights.rs:52` - `ensure!(Self::get_commit_reveal_weights_enabled(netuid), Error::::CommitRevealDisabled);` -- **Registration Check**: Validates hotkey is registered on the network - - `subtensor/pallets/subtensor/src/subnets/weights.rs:56-59` - `ensure!(Self::is_hotkey_registered_on_network(netuid, &who), Error::::HotKeyNotRegisteredInSubNet);` -- **Rate Limiting**: Prevents excessive commit frequency - - `subtensor/pallets/subtensor/src/subnets/weights.rs:61-66` - Rate limit check via `check_rate_limit()` - -**Reveal Timing Calculation:** - -**Epoch-Based Timing:** -- **Epoch Calculation**: Epochs are calculated based on tempo and netuid offset - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1040-1047` - `get_epoch_index()` implementation -- **Reveal Period**: Configurable number of epochs between commit and reveal - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1095-1097` - `get_reveal_period()` and `set_reveal_period()` - -**Reveal Block Range:** -- **First Reveal Block**: Calculated from commit epoch + reveal period - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1075-1085` - `get_reveal_blocks()` implementation -- **Last Reveal Block**: First reveal block + tempo (one epoch duration) - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1086-1087` - `let last_reveal_block = first_reveal_block.saturating_add(tempo);` - -**Reveal Phase Implementation:** - -**Reveal Validation:** -- **Enablement Check**: Ensures commit-reveal is still enabled - - `subtensor/pallets/subtensor/src/subnets/weights.rs:353` - `ensure!(Self::get_commit_reveal_weights_enabled(netuid), Error::::CommitRevealDisabled);` -- **Hash Verification**: Validates revealed data matches committed hash - - `subtensor/pallets/subtensor/src/subnets/weights.rs:396-396` - Hash matching in reveal validation -- **Timing Validation**: Ensures reveal occurs within valid time window - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - `is_reveal_block_range()` implementation - -**Reveal Timing Checks:** -- **Too Early**: Reveal attempted before valid reveal period - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - `is_reveal_block_range()` check -- **Expired**: Commit has expired beyond reveal period - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - `is_commit_expired()` implementation -- **Valid Window**: Reveal must occur exactly at `commit_epoch + reveal_period` - -**Commit Expiration and Cleanup:** - -**Expiration Logic:** -- **Expiration Check**: Commits expire after reveal period + 1 epoch - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - `is_commit_expired()` function -- **Automatic Cleanup**: Expired commits are removed during reveal operations - - `subtensor/pallets/subtensor/src/subnets/weights.rs:512-520` - Expired commit removal in batch reveal - -**Queue Management:** -- **FIFO Processing**: Commits are processed in first-in-first-out order - - `subtensor/pallets/subtensor/src/subnets/weights.rs:74` - `VecDeque<(H256, u64, u64, u64)>` storage -- **Commit Removal**: Revealed commits are removed from the queue - - `subtensor/pallets/subtensor/src/subnets/weights.rs:410-415` - Commit removal after successful reveal - -**Security Properties:** - -**Anti-Weight-Copying:** -- **Temporal Offset**: Time delay prevents immediate weight copying - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1075` - Reveal timing calculation -- **Stale Data**: Copied weights become irrelevant due to network changes - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - Commit expiration mechanism -- **Hash Verification**: Cryptographic commitment prevents manipulation - - `subtensor/pallets/subtensor/src/subnets/weights.rs:396` - Hash verification in reveal - -**Rate Limiting:** -- **Commit Rate Limit**: Prevents excessive commit frequency - - `subtensor/pallets/subtensor/src/subnets/weights.rs:61-66` - Rate limit validation -- **Reveal Timing**: Strict timing windows prevent timing attacks - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - Reveal timing validation - -**Testing and Validation:** - -**Comprehensive Test Coverage:** -- **Basic Functionality**: Tests verify commit and reveal workflow - - `subtensor/pallets/subtensor/src/tests/weights.rs:1502-1559` - `test_reveal_weights_when_commit_reveal_disabled()` -- **Timing Validation**: Tests verify reveal timing constraints - - `subtensor/pallets/subtensor/src/tests/weights.rs:1663-1750` - Timing validation tests -- **Hash Verification**: Tests verify cryptographic commitment integrity - - `subtensor/pallets/subtensor/src/tests/weights.rs:1750-1831` - `test_commit_reveal_hash()` - -**Error Handling:** -- **CommitRevealDisabled**: Attempting operations when disabled - - `subtensor/pallets/subtensor/src/subnets/weights.rs:52` - Enablement check -- **RevealTooEarly**: Reveal attempted before valid window - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - Timing validation -- **ExpiredWeightCommit**: Reveal attempted after expiration - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - Expiration check -- **InvalidRevealCommitHashNotMatch**: Hash verification failure - - `subtensor/pallets/subtensor/src/subnets/weights.rs:396` - Hash matching - -**Network Configuration:** - -**Subnet-Level Settings:** -- **Enablement**: Per-subnet commit reveal toggle - - `subtensor/pallets/subtensor/src/utils/misc.rs:472-477` - Enablement functions -- **Reveal Period**: Configurable epochs between commit and reveal - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1095-1097` - Reveal period configuration -- **Rate Limits**: Commit frequency restrictions - - `subtensor/pallets/subtensor/src/subnets/weights.rs:61-66` - Rate limiting - -**Default Values:** -- **DefaultCommitRevealWeightsEnabled**: Defaults to false (disabled) - - `subtensor/pallets/subtensor/src/lib.rs:799` - `pub fn DefaultCommitRevealWeightsEnabled() -> bool { false }` -- **DefaultRevealPeriodEpochs**: Default reveal period configuration - - `subtensor/pallets/subtensor/src/lib.rs:735` - `pub fn DefaultRevealPeriodEpochs() -> u64 { 1 }` +### Consensus Score -**Key Mathematical Insights:** -1. **Commit Hash = BlakeTwo256(hotkey, netuid, uids, weights, salt, version_key)**: Cryptographic commitment -2. **Reveal Epoch = Commit Epoch + Reveal Period**: Timing calculation -3. **Reveal Block Range = [first_reveal_block, last_reveal_block]**: Valid reveal window -4. **Expiration = Current Epoch > Commit Epoch + Reveal Period + 1**: Automatic cleanup -5. **Temporal Offset = Reveal Period × Tempo**: Anti-copying delay - -**Network Security Implications:** -- **Weight Copying Prevention**: Temporal offset makes copied weights stale -- **Consensus Stability**: Prevents rapid weight manipulation -- **Validator Commitment**: Requires validators to commit to their assessments -- **Network Decentralization**: Reduces influence of weight-copying validators -- **Dynamic Adaptation**: Network changes make stale weights irrelevant - -**Complete Commit Reveal Flow:** -1. **Configuration** → Subnet enables commit reveal and sets reveal period -2. **Commit Phase** → Validator commits hash of weights without revealing them -3. **Temporal Offset** → Network progresses for reveal_period epochs -4. **Reveal Window** → Validator reveals weights within valid time window -5. **Hash Verification** → System verifies revealed data matches commit hash -6. **Weight Application** → Verified weights are applied to consensus -7. **Cleanup** → Expired commits are automatically removed - -**Commit Reveal vs Traditional Weight Setting:** -- **Traditional**: Immediate weight setting and consensus participation -- **Commit Reveal**: Delayed weight revelation with temporal offset -- **Security**: Commit reveal prevents weight copying and manipulation -- **Complexity**: Additional timing and hash verification requirements -- **Flexibility**: Configurable per subnet based on security needs - -### Consensus - -A measure of a subnet validator's agreement with other validators on the network, calculated based on their trust scores. This is a $\kappa$-centered sigmoid of trust, influencing the emission calculation. +The consensus score is calculated as the stake-weighted median of all weights assigned to a specific neuron by validators. This creates a consensus threshold that filters out outlier weights, ensuring that only weights near the median consensus are used in final rank calculations. **See also:** [Yuma Consensus](./yuma-consensus.md), [Consensus-Based Weights](./subnets/consensus-based-weights.md) -### Consensus Score - -A core metric in the Yuma Consensus algorithm that represents the stake-weighted median of weights assigned to each neuron by validators. The consensus score serves as a threshold for weight clipping, determining which weights are considered "in consensus" and which are outliers. - -**Core Concept:** -The consensus score is calculated as the stake-weighted median of all weights assigned to a specific neuron by validators. This creates a consensus threshold that filters out outlier weights, ensuring that only weights near the median consensus are used in final rank calculations. +#### Mathematical Definition: -**Mathematical Definition:** For each neuron $j$, the consensus score $C_j$ is calculated as: -$$C_j = \text{weighted\_median}(\{w_{ij} \mid i \in \text{validators}\}, \{s_i \mid i \in \text{validators}\}, \kappa)$$ +$$ +C_j = \text{weighted\_median}(\{w_{ij} \mid i \in \text{validators}\}, \{s_i \mid i \in \text{validators}\}, \kappa) +$$ Where: - $w_{ij}$ is the weight assigned by validator $i$ to neuron $j$ @@ -256,93 +83,25 @@ Where: - $\kappa$ is the consensus majority ratio (typically 51%) - $\text{weighted\_median}$ is the stake-weighted median function -**Consensus Score in Yuma Consensus:** - -**1. Pre-ranks Calculation:** -- **Formula**: `preranks = matmul(weights, active_stake)` -- **Purpose**: Calculate initial ranks before consensus filtering -- **Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:591`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L591) - -**2. Consensus Score Calculation:** -- **Formula**: `consensus = weighted_median_col(active_stake, weights, kappa)` -- **Purpose**: Calculate consensus threshold for each neuron -- **Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:595`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L595) - -**3. Weight Clipping:** -- **Formula**: `clipped_weights = col_clip(weights, consensus)` -- **Purpose**: Remove weights below consensus threshold -- **Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:598`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L598) - -**4. Final Ranks:** -- **Formula**: `ranks = matmul(clipped_weights, active_stake)` -- **Purpose**: Calculate final ranks using consensus-filtered weights -- **Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:605`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L605) - -**5. Trust Calculation:** -- **Formula**: `trust = ranks / preranks` -- **Purpose**: Measure consensus alignment impact -- **Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:608`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L608) - -**Weighted Median Implementation:** - -**Core Algorithm:** -The weighted median is calculated using a binary search approach with stake-weighted partitioning: - -**Source**: [`subtensor/pallets/subtensor/src/epoch/math.rs:1000-1143`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/math.rs#L1000-L1143) - -```rust -pub fn weighted_median_col( - stake: &[I32F32], - score: &[Vec], - majority: I32F32, -) -> Vec { - // For each column (neuron), calculate stake-weighted median - for c in 0..columns { - median[c] = weighted_median(&use_stake, &use_score, minority, zero, stake_sum); - } -} -``` - -**Column-wise Processing:** -- **Input**: Weight matrix where rows are validators and columns are neurons -- **Output**: Consensus score vector where each element is the consensus threshold for that neuron -- **Stake Weighting**: Each validator's weight is weighted by their stake in the median calculation - -**Consensus Score Properties:** +Calculation Process: +1. **Weight collection**: Gather all weights assigned to each neuron by validators +2. **Stake weighting**: Apply stake weights to validator opinions +3. **Median calculation**: Find stake-weighted median using κ parameter (typically 51%) +4. **Threshold establishment**: Consensus score becomes clipping threshold for weights -**Range and Interpretation:** +Properties and Interpretation: - **Range**: [0, 1] normalized values - **High Consensus**: Values close to 1 indicate strong validator agreement - **Low Consensus**: Values close to 0 indicate weak validator agreement - **Outlier Detection**: Weights below consensus score are clipped to 0 -**Network Security Properties:** +Network Security Properties: - **Anti-Manipulation**: Consensus filtering prevents weight manipulation by outliers - **Stake-Weighted**: Higher stake validators have more influence in consensus - **Dynamic Threshold**: Consensus adapts to changing network conditions -- **Majority Rule**: $\kappa$ parameter controls consensus strictness (typically 51%) - -**Consensus Score in Metagraph:** - -**Data Structure:** -- **Storage**: Consensus scores stored as u16 vectors in blockchain state -- **Retrieval**: Accessed via `metagraph.C` property in Python SDK -- **Normalization**: Converted from u16 to float using `u16_normalized_float()` - -**Source**: [`bittensor/bittensor/core/metagraph.py:360-372`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L360-L372) - -```python -@property -def C(self) -> Tensor: - """ - Represents the consensus values of neurons in the Bittensor network. - Consensus is a measure of how much a neuron's contributions are trusted - and agreed upon by the majority of the network. - """ - return self.consensus -``` +- **Majority Rule**: κ parameter controls consensus strictness (typically 51%) -**Consensus Score vs Other Metrics:** +#### Relationship to Other Metrics **Consensus vs Trust:** - **Consensus**: Stake-weighted median of weights (consensus threshold) @@ -359,96 +118,10 @@ def C(self) -> Tensor: - **Validator Trust**: Sum of clipped weights set by each validator - **Relationship**: Validator trust measures validator influence in consensus -**Testing and Validation:** - -**Consensus Calculation Testing:** -- **Weighted Median Tests**: Verify correct stake-weighted median calculation -- **Source**: [`subtensor/pallets/subtensor/src/tests/math.rs:1518-1854`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/tests/math.rs#L1518-L1854) -- **Consensus Threshold Tests**: Verify consensus filtering behavior -- **Source**: [`subtensor/pallets/subtensor/src/tests/consensus.rs:333-382`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/tests/consensus.rs#L333-L382) - -**Network Configuration:** - -**Kappa Parameter:** -- **Default Value**: 0.51 (51% majority) -- **Purpose**: Controls consensus strictness -- **Effect**: Higher kappa = stricter consensus, more weight clipping -- **Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:594`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L594) - -**Key Mathematical Insights:** -1. **Consensus = Stake-Weighted Median**: Consensus score is the median of weights weighted by validator stake -2. **Threshold Function**: Consensus score serves as clipping threshold for outlier weights -3. **Dynamic Nature**: Consensus adapts to changing network conditions and stake distribution -4. **Security Mechanism**: Consensus filtering prevents weight manipulation by outlier validators -5. **Majority Rule**: $\kappa$ parameter ensures majority consensus (typically 51%) - -**Network Security Implications:** -- **Outlier Protection**: Consensus filtering removes manipulative outlier weights -- **Stake-Based Influence**: Higher stake validators have more influence in consensus -- **Dynamic Adaptation**: Consensus thresholds adapt to changing network conditions -- **Anti-Collusion**: Consensus prevents collusive weight manipulation -- **Network Stability**: Consensus creates stable, predictable weight filtering - -**Complete Consensus Score Flow:** -1. **Weight Submission** → Validators submit weights for all neurons -2. **Stake Weighting** → Each validator's weight is weighted by their stake -3. **Median Calculation** → Stake-weighted median calculated for each neuron -4. **Threshold Setting** → Consensus score becomes clipping threshold -5. **Weight Filtering** → Weights below consensus are clipped to 0 -6. **Rank Calculation** → Final ranks calculated using filtered weights -7. **Trust Measurement** → Trust measures impact of consensus filtering - -**Consensus Score in Emission Calculation:** -- **Direct Impact**: Consensus influences rank calculation through weight clipping -- **Indirect Impact**: Ranks determine incentive distribution to miners -- **Validator Impact**: Consensus affects validator trust and dividend calculation -- **Network Effect**: Consensus creates feedback loop for network stability - -**Python SDK Usage:** - -**Accessing Consensus Scores:** -```python -import bittensor as bt - -# Initialize metagraph -metagraph = bt.metagraph(netuid=1, network="finney", sync=True) - -# Get consensus scores for all neurons -consensus_scores = metagraph.C -print(f"Consensus scores: {consensus_scores}") - -# Get consensus score for specific neuron -neuron_consensus = consensus_scores[0] # First neuron -print(f"Neuron 0 consensus: {neuron_consensus}") -``` - -**Consensus Analysis:** -```python -# Analyze consensus distribution -avg_consensus = consensus_scores.mean() -max_consensus = consensus_scores.max() -min_consensus = consensus_scores.min() - -print(f"Average consensus: {avg_consensus:.4f}") -print(f"Max consensus: {max_consensus:.4f}") -print(f"Min consensus: {min_consensus:.4f}") - -# Find neurons with highest consensus -top_consensus_indices = consensus_scores.argsort()[::-1][:10] -print("Top 10 consensus neurons:") -for i, idx in enumerate(top_consensus_indices): - print(f" {i+1}. UID {idx}: {consensus_scores[idx]:.4f}") -``` - -**Error Handling:** -- **Network Issues**: Consensus scores may be unavailable during network issues -- **Sync Requirements**: Metagraph must be synced to get current consensus scores -- **Lite Mode**: Consensus scores available in both lite and full metagraph modes +**Source**: +- [`bittensor/bittensor/core/metagraph.py:360-372`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L360-372) +- [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:595`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L595) -**Testing Examples:** -- **E2E Tests**: `bittensor/tests/e2e_tests/test_incentive.py` - Consensus score validation -- **Unit Tests**: `bittensor/tests/unit_tests/test_metagraph.py` - Metagraph consensus testing -- **Integration Tests**: `bittensor/tests/integration_tests/` - End-to-end consensus testing ## D @@ -464,249 +137,7 @@ The amount of TAO staked by the delegate themselves. **See also:** [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md), [Managing Stake with SDK](./staking-and-delegation/managing-stake-sdk.md) -### Validator Take % - -The percentage of emissions a validator takes, of the portion that depends on delegated stake (not including their emissions in proportion to their own self-stake), before the remainder is extracted back to the stakers. - -**See also:** [Emissions](./emissions.md) - -Code References and Implementation Details - -**Validator Take as Delegation Fee:** -- Validator take represents the fee percentage that validators charge delegators for validation services - - `subtensor/pallets/subtensor/src/lib.rs:992-994` - `pub type Delegates = StorageMap<_, Blake2_128Concat, T::AccountId, u16, ValueQuery, DefaultDelegateTake>;` -- Take is stored as a u16 value representing percentage of u16::MAX (65,535) - - `subtensor/pallets/subtensor/src/tests/mock.rs:168` - `pub const InitialDefaultDelegateTake: u16 = 11_796; // 18%` -- Default take is 18% (11,796/65,535), with configurable min/max bounds - - `subtensor/pallets/subtensor/src/lib.rs:382` - `T::InitialDefaultDelegateTake::get()` - -**Storage and Configuration:** - -**Core Storage Implementation:** -- **Delegates Storage**: Maps hotkey to take value in blockchain state - - `subtensor/pallets/subtensor/src/lib.rs:992-994` - `pub type Delegates = StorageMap<_, Blake2_128Concat, T::AccountId, u16, ValueQuery, DefaultDelegateTake>;` -- **Default Values**: Network-wide configuration for take limits - - `subtensor/pallets/subtensor/src/lib.rs:382` - `DefaultDelegateTake()` - Default 18% - - `subtensor/pallets/subtensor/src/lib.rs:393` - `DefaultMinDelegateTake()` - Minimum 9% - - `subtensor/pallets/subtensor/src/lib.rs:977` - `MaxDelegateTake` - Maximum 18% - -**Take Management Functions:** - -**Increase Take Implementation:** -- **Rate Limiting**: Prevents rapid take increases to maintain network stability - - `subtensor/pallets/subtensor/src/staking/increase_take.rs:55-62` - Rate limit validation -- **Strict Increase**: Take can only be increased, never decreased via this function - - `subtensor/pallets/subtensor/src/staking/increase_take.rs:50-52` - `ensure!(take > current_take, Error::::DelegateTakeTooLow);` -- **Max Bound Check**: Take cannot exceed network maximum (18%) - - `subtensor/pallets/subtensor/src/staking/increase_take.rs:55-56` - `ensure!(take <= max_take, Error::::DelegateTakeTooHigh);` - -**Decrease Take Implementation:** -- **Rate Limiting**: Prevents rapid take decreases - - `subtensor/pallets/subtensor/src/staking/decrease_take.rs:45-50` - Rate limit validation -- **Strict Decrease**: Take can only be decreased, never increased via this function - - `subtensor/pallets/subtensor/src/staking/decrease_take.rs:48-50` - `ensure!(take < current_take, Error::::DelegateTakeTooLow);` -- **Min Bound Check**: Take cannot fall below network minimum (9%) - - `subtensor/pallets/subtensor/src/staking/decrease_take.rs:52-53` - `ensure!(take >= min_take, Error::::DelegateTakeTooLow);` - -**Emission Calculation Formula:** - -**Return Per 1000 TAO Calculation:** -- **Mathematical Formula**: `return_per_1000 = (emissions_per_day * (1 - take_percentage)) / (total_stake / 1000)` - - `subtensor/pallets/subtensor/src/rpc_info/delegate_info.rs:23-40` - `return_per_1000_tao()` implementation -- **Take Percentage Conversion**: `take_percentage = take_value / u16::MAX` - - `subtensor/pallets/subtensor/src/rpc_info/delegate_info.rs:28-29` - Take to percentage conversion -- **Delegator Return**: Delegators receive `(1 - take_percentage)` of validator emissions - - `subtensor/pallets/subtensor/src/rpc_info/delegate_info.rs:30-35` - Delegator return calculation - -**Emission Distribution Logic:** - -**Validator vs Delegator Emissions:** -- **Validator Self-Stake**: Validator keeps 100% of emissions from their own stake - - `developer-docs/docs/staking-and-delegation/delegation.md:73-121` - Emission distribution examples -- **Delegated Stake**: Validator takes percentage from delegated stake emissions - - `subtensor/pallets/subtensor/src/rpc_info/delegate_info.rs:113` - Take application to delegated emissions -- **Delegator Proportional**: Delegators receive proportional shares of remaining emissions - - `developer-docs/docs/staking-and-delegation/delegation.md:73-85` - Proportional distribution formula - -**Example Calculation:** -- **Validator with 18% take**: Takes 18% of delegated stake emissions -- **Delegators receive**: 82% of delegated stake emissions -- **Total validator emissions**: 100% of self-stake + 18% of delegated stake -- **Mathematical representation**: `validator_total = self_stake_emissions + (delegated_stake_emissions * 0.18)` - -**Rate Limiting and Security:** - -**Transaction Rate Limits:** -- **Take Change Rate Limit**: Prevents rapid take manipulation - - `subtensor/pallets/subtensor/src/staking/increase_take.rs:55-62` - Rate limit enforcement -- **Rate Limit Storage**: Tracks last take change timestamp per hotkey - - `subtensor/pallets/subtensor/src/lib.rs:1656` - `LastTxBlockDelegateTake` -- **Rate Limit Configuration**: Network-wide rate limit parameter - - `subtensor/pallets/subtensor/src/lib.rs:1473` - `TxDelegateTakeRateLimit` - -**Ownership Validation:** -- **Coldkey Verification**: Only hotkey owner can modify take - - `subtensor/pallets/subtensor/src/staking/increase_take.rs:42` - `Self::do_take_checks(&coldkey, &hotkey)?;` -- **Registration Check**: Hotkey must be registered to set take - - `subtensor/pallets/subtensor/src/staking/helpers.rs:15-20` - Registration validation -**Testing and Validation:** - -**Return Calculation Testing:** -- **18% Take Test**: Verifies correct return calculation for 18% take - - `subtensor/pallets/subtensor/src/tests/delegate_info.rs:9-37` - `test_return_per_1000_tao()` -- **Mathematical Verification**: Tests verify `return_per_1000 = 82` for 18% take with 10,000 TAO stake - - `subtensor/pallets/subtensor/src/tests/delegate_info.rs:19-25` - Expected return calculation - -**Take Management Testing:** -- **Increase Take Tests**: Verify take can be increased up to maximum - - `subtensor/pallets/subtensor/src/tests/staking.rs:2761-2830` - Take increase validation -- **Decrease Take Tests**: Verify take can be decreased down to minimum - - `subtensor/pallets/subtensor/src/tests/staking.rs:2830-2900` - Take decrease validation -- **Boundary Testing**: Tests verify min/max take enforcement - - `subtensor/pallets/subtensor/src/tests/staking.rs:2786-2829` - Boundary condition tests - -**Network Configuration:** - -**Default Network Parameters:** -- **InitialDefaultDelegateTake**: 18% (11,796/65,535) - - `subtensor/pallets/subtensor/src/tests/mock.rs:168` - Default take value -- **MinDelegateTake**: 9% (5,898/65,535) - Minimum allowed take - - `subtensor/pallets/subtensor/src/lib.rs:393` - Minimum take configuration -- **MaxDelegateTake**: 18% (11,796/65,535) - Maximum allowed take - - `subtensor/pallets/subtensor/src/lib.rs:977` - Maximum take configuration - -**Rate Limit Configuration:** -- **TxDelegateTakeRateLimit**: Controls frequency of take changes - - `subtensor/pallets/subtensor/src/lib.rs:1473` - Rate limit parameter -- **LastTxBlockDelegateTake**: Per-hotkey rate limit tracking - - `subtensor/pallets/subtensor/src/lib.rs:1656` - Rate limit storage - -**Key Mathematical Insights:** -1. **Take Percentage = take_value / u16::MAX**: Conversion from u16 to percentage -2. **Delegator Return = emissions * (1 - take_percentage)**: Delegator share calculation -3. **Validator Total = self_emissions + (delegated_emissions * take_percentage)**: Total validator earnings -4. **Return Per 1000 = (daily_emissions * (1 - take)) / (total_stake / 1000)**: Delegator return rate - -**Network Security Properties:** -- **Economic Incentives**: Take creates market-driven validation fees -- **Rate Limiting**: Prevents take manipulation and network instability -- **Bounded Range**: Min/max limits prevent extreme take values -- **Ownership Control**: Only hotkey owners can modify their take -- **Transparent Calculation**: Clear mathematical formula for delegator returns - -**Complete Validator Take Flow:** -1. **Registration** → Validator registers and sets initial take (18% default) -2. **Delegation** → Delegators stake to validator -3. **Emission Calculation** → Yuma Consensus calculates validator emissions -4. **Take Application** → Validator extracts take percentage from delegated emissions -5. **Distribution** → Remaining emissions distributed to delegators proportionally -6. **Take Management** → Validator can increase/decrease take within bounds -7. **Rate Limiting** → Changes rate-limited to prevent manipulation - -**Validator Take vs Other Network Fees:** -- **Validator Take**: Fee for validation services (9-18%) -- **Staking Fee**: One-time fee for delegation (network parameter) -- **Registration Fee**: One-time fee for subnet registration -- **Childkey Take**: Fee for childkey delegation (separate parameter) -- **Network Owner Cut**: Subnet owner's share of emissions - -**Economic Implications:** -- **Market Competition**: Validators compete on take rates and performance -- **Delegator Choice**: Delegators choose validators based on take and returns -- **Network Efficiency**: Take incentivizes quality validation services -- **Economic Security**: Take creates skin-in-the-game for validators -- **Dynamic Adjustment**: Take can be adjusted based on market conditions - -**Python SDK Usage:** - -**Setting Validator Take:** -- **Main Method**: `subtensor.set_delegate_take()` - Automatically chooses increase/decrease based on current value - - `bittensor/bittensor/core/subtensor.py:3283-3366` - `set_delegate_take()` implementation -- **Direct Methods**: `increase_take_extrinsic()` and `decrease_take_extrinsic()` for specific operations - - `bittensor/bittensor/core/extrinsics/take.py:1-110` - Direct extrinsic implementations -- **Async Support**: `async_subtensor.set_delegate_take()` for asynchronous operations - - `bittensor/bittensor/core/async_subtensor.py:4537-4619` - Async implementation - -**Basic Usage Example:** -```python -import bittensor as bt - -# Initialize subtensor connection -subtensor = bt.subtensor() - -# Create wallet (must own the hotkey) -wallet = bt.wallet() - -# Set validator take to 15% (0.15) -success, message = subtensor.set_delegate_take( - wallet=wallet, - hotkey_ss58=wallet.hotkey.ss58_address, - take=0.15, # 15% take - wait_for_inclusion=True, - wait_for_finalization=True -) - -if success: - print(f"✅ Take updated successfully: {message}") -else: - print(f"❌ Failed to update take: {message}") -``` - -**Getting Current Take:** -```python -# Get current take for a hotkey -current_take = subtensor.get_delegate_take(hotkey_ss58="5F...") -print(f"Current take: {current_take:.2%}") # e.g., "Current take: 18.00%" -``` - -**Error Handling:** -- **DelegateTakeTooHigh**: Take exceeds maximum (18%) - - `bittensor/bittensor/core/errors.py:63-67` - Error definition -- **DelegateTakeTooLow**: Take below minimum (9%) or invalid decrease - - `bittensor/bittensor/core/errors.py:70-75` - Error definition -- **DelegateTxRateLimitExceeded**: Too frequent take changes - - `bittensor/bittensor/core/errors.py:165-171` - Rate limit error -- **NonAssociatedColdKey**: Wallet doesn't own the hotkey -- **HotKeyAccountNotExists**: Hotkey not registered - -**Advanced Usage:** -```python -# Async usage -async def update_validator_take(): - async with bt.subtensor() as subtensor: - success, message = await subtensor.set_delegate_take( - wallet=wallet, - hotkey_ss58=wallet.hotkey.ss58_address, - take=0.12, # 12% take - raise_error=True # Raise exceptions instead of returning False - ) - return success, message - -# Direct extrinsic calls (for specific increase/decrease) -from bittensor.core.extrinsics.take import increase_take_extrinsic, decrease_take_extrinsic - -# Force increase take -success, message = increase_take_extrinsic( - subtensor=subtensor, - wallet=wallet, - hotkey_ss58=wallet.hotkey.ss58_address, - take=13107, # u16 value for ~20% (13107/65535) - wait_for_inclusion=True -) -``` - -**Take Value Conversion:** -- **Float to u16**: `take_u16 = int(take_float * 0xFFFF)` - - `bittensor/bittensor/core/subtensor.py:3330` - Conversion implementation -- **u16 to Float**: `take_float = take_u16 / 0xFFFF` - - `bittensor/bittensor/core/subtensor.py:1117` - `u16_normalized_float()` usage -- **Example**: 18% = 0.18 * 65535 = 11,796 u16 value - -**Testing Examples:** -- **E2E Tests**: `bittensor/tests/e2e_tests/test_delegate.py:84-170` - Comprehensive testing -- **Unit Tests**: `bittensor/tests/unit_tests/test_subtensor_extended.py:956-1002` - SDK method testing -- **Async Tests**: `bittensor/tests/unit_tests/test_async_subtensor.py:2692-2750` - Async method testing ### Delegation @@ -1376,9 +807,50 @@ A denomination of TAO, representing one billionth (10-9) of a TAO. ### Rank -A measure of a subnet miner's performance relative to other subnet miners in the same subnet, calculated based on the subnet miner's trust and incentive scores. This is the sum of weighted stake, contributing to the emission process. +This metagraph property represents the final aggregate judgment of a each miner, computed by Yuma Consensus alogirithm operating over the miner-ratings submitted by a subnet's validators each tempo. The final `rank` score represent a miner's performance after any outlier weights set by validators have been removed through consensus clipping. This ensures that only weights near the median consensus are used in final calculations. + +Ranks are calculated as the stake-weighted sum of consensus-clipped weights and directly determine emissions to miners. + + +**See also:** [Emissions](./emissions.md), [Yuma Consensus](./yuma-consensus.md), [Subnet Metagraph](./subnets/metagraph.md) + +**Relationship to Other Metrics:** +- **Ranks vs Consensus**: Ranks are calculated using consensus-clipped weights +- **Ranks vs Trust**: Trust measures how much consensus clipping affected the rank +- **Ranks vs Incentive**: Ranks are normalized to become incentive values +- **Ranks vs Validator Trust**: Validator trust measures validator influence in consensus + +**Calculation Process:** +1. **Pre-ranks**: Initial stake-weighted sum of all weights before consensus filtering +2. **Consensus calculation**: Stake-weighted median of weights per neuron (consensus threshold) +3. **Weight clipping**: Weights clipped at consensus threshold to remove outliers +4. **Final ranks**: Stake-weighted sum of clipped weights (the rank value) + +**Properties and Interpretation:** +- **Range**: [0, 1] normalized values after final normalization +- **High Rank**: Values close to 1 indicate strong consensus-based performance +- **Low Rank**: Values close to 0 indicate weak consensus-based performance +- **Incentive Distribution**: Ranks directly determine incentive allocation to miner neurons + +**Network Security Properties:** +- **Consensus-Based**: Ranks reflect network consensus rather than individual validator opinions +- **Outlier Protection**: Consensus clipping prevents manipulation by outlier weights +- **Stake-Weighted**: Higher stake validators have more influence in rank calculation +- **Dynamic Updates**: Ranks are recalculated every epoch based on current network state + +**Mathematical Definition:** +For each neuron $j$, the rank $R_j$ is calculated as: +$$R_j = \sum_{i \in \text{validators}} S_i \cdot \overline{W_{ij}}$$ + +Where: +- $S_i$ is the stake of validator $i$ +- $\overline{W_{ij}}$ is the consensus-clipped weight from validator $i$ to neuron $j$ +- The sum is taken over all validators in the subnet + +**Source**: +- [`bittensor/bittensor/core/metagraph.py:325-331`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L325-331) +- [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:605`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L605) -**See also:** [Emissions](./emissions.md), [Yuma Consensus](./yuma-consensus.md) ### Recycling, burning, and locking @@ -1429,6 +901,42 @@ Stake determines a validator's weight in consensus as well as their emissions. **See also:** [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md), [Managing Stake with SDK](./staking-and-delegation/managing-stake-sdk.md), [Delegation](./staking-and-delegation/delegation.md) + + +### Stake Weight + +The computed total stake value for a validator that determines their consensus power and emissions in a subnet. Stake weight combines a validator's alpha stake and TAO stake using the TAO weight parameter to calculate their total influence in the network. + +**See also:** [TAO Weight](#tao-weight), [Understanding Subnets](./subnets/understanding-subnets.md) + + +**Mathematical Definition:** +For a validator with alpha stake $\alpha$ and TAO stake $\tau$, the stake weight $W$ is calculated as: +$$ +W = {\alpha + \tau \ \times w_{\tau}} +$$ + +Where $w_{\tau}$ is the global TAO weight parameter (currently 0.18) + +A validator's relative influence in a subnet is calculated as: +$$ +\text{Relative Stake Weight} = \frac{\text{Stake Weight}_i}{\sum_{v \in \text{validators}} \text{Stake Weight}_v} +$$ + +**Consensus Power:** +- **Weight Setting**: Higher stake weight means more influence when setting weights +- **Validator Permits**: Stake weight determines eligibility for validator permits +- **Bond Formation**: Stake weight influences bond calculations and retention + +**Validator Emissions:** +- **Relative Distribution**: Higher stake weight -> higher emission share + +**Code References:** + +- **Yuma Consensus**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:530`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L530) +- **Validator dividend distribution**: [`subtensor/pallets/subtensor/src/coinbase/run_coinbase.rs:165`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/coinbase/run_coinbase.rs#L165) + + ### Staking The process of attaching TAO to a hotkey, i.e., locking TAO to a hotkey, to participate as a subnet validator, and to secure a validator permit. @@ -1451,7 +959,7 @@ The framework that governs the behavior of subnet miners and ensures consensus a The task-performing entity within a Bittensor subnet. A subnet miner is a type of node in a Bittensor subnet that is connected only to subnet validators. Subnet miners are isolated from the external world and communicate bidirectionally with subnet validators. A subnet miner is responsible for performing tasks given to them by the subnet validators in that subnet. -**See also:** [Subnet Miners](./miners/), [Subnet Miner Documentation](./miners/subnet_miner_docs.md) +**See also:** [Subnet Miner Documentation](./miners/) ### Subnet Creator @@ -1511,6 +1019,11 @@ The cryptocurrency of the Bittensor network, used to incentivize participation i **See also:** [Emissions](./emissions.md), [Wallets](./getting-started/wallets.md) +### TAO Weight + +A global parameter (currently set to 0.18) that determines the relative influence of TAO stake versus alpha stake when calculating a validator's total stake weight, a critical value that influence's a validator's consensus power and emissions. + +**See also:** [Stake Weight](#stake-weight) ### Tempo A 360-block period during which the Yuma Consensus calculates emissions to subnet participants based on the latest available ranking weight matrix. A single block is processed every 12 seconds, hence a 360-block tempo occurs every 4320 seconds or 72 minutes. @@ -1531,213 +1044,60 @@ A group of three Opentensor Foundation employees responsible for creating propos ### Trust -A measure of a subnet miner's reputation and reliability, calculated based on the consensus of subnet validators. +In the Yuma Consensus algorithm, trust represents how much a miner's rank was affected by consensus clipping. Trust is calculated as the ratio of final rank to pre-rank. It represents how much of the original validator support survived the consensus clipping process, providing insight into whether a neuron received controversial or outlier weight assignments. + +**See also:** [Yuma Consensus](./yuma-consensus.md), [Subnet Metagraph](./subnets/metagraph.md) + + +**Mathematical Definition:** +For each neuron $j$, the trust $T_j$ is calculated as: +$$ +T_j = \frac{R_j}{P_j} +$$ + +Where: +- $R_j$ is the final rank after consensus clipping +- $P_j$ is the pre-rank before consensus clipping +- The ratio indicates the proportion of original support that survived consensus filtering + +Interpretation: +- **Range**: [0, 1] where 1.0 indicates perfect consensus alignment +- **`Trust = 1.0`**: Neuron's rank unchanged by consensus (high consensus alignment) +- **`Trust < 1.0`**: Neuron's rank reduced by consensus clipping (lower value means more reduction) +- **`Trust = 0.0`**: Neuron's rank eliminated by consensus (no consensus support) + +Calculation Process: +1. **Pre-ranks calculation**: $P_j = \sum_{i} S_i \cdot W_{ij}$ (stake-weighted sum of all weights) +2. **Consensus filtering**: Weights clipped at consensus threshold to remove outliers +3. **Final ranks calculation**: $R_j = \sum_{i} S_i \cdot \overline{W_{ij}}$ (stake-weighted sum of clipped weights) +4. **Trust calculation**: $T_j = R_j / P_j$ (ratio of final to pre-rank) + +**Relationship to Other Metrics:** +- **Trust vs Consensus**: Trust measures the impact of consensus filtering +- **Trust vs Ranks**: Trust is the ratio of final rank to pre-rank +- **Trust vs Validator Trust**: Trust is per-neuron, Validator Trust is per-validator +- **Trust vs Incentive**: Trust influences incentive through consensus mechanisms + +**Metric Comparison Table** + +| Metric | Purpose | Calculation | Range | Interpretation | +|--------|---------|-------------|-------|----------------| +| **Consensus** | Consensus threshold | Stake-weighted median of weights per neuron | [0, 1] | Higher = stronger validator agreement | +| **Ranks** | Performance scoring | Stake-weighted sum of clipped weights | [0, 1] | Higher = better performance after consensus | +| **Trust** | Consensus alignment | Final rank / Pre-rank | [0, 1] | 1.0 = no clipping, < 1.0 = some clipping | +| **Validator Trust** | Validator influence | Sum of clipped weights per validator | [0, 1] | Higher = more consensus-aligned validator | + +**Source**: +- [`bittensor/bittensor/core/metagraph.py:380-393`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L380-393) +- [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:608`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L608) + + + + + +The relationship between these metrics creates a feedback loop: consensus determines weight clipping, which affects ranks and trust, which influences validator trust, which feeds back into future consensus calculations. This system ensures that the network rewards neurons with strong validator agreement while penalizing those with controversial or outlier weight assignments, creating a robust mechanism for maintaining network quality and security. -Code References and Implementation Details -**Trust as a Core Network Metric:** -- Trust is stored as a `float` value in both `NeuronInfo` and `NeuronInfoLite` data structures - - `bittensor/core/chain_data/neuron_info.py:32` - `trust (float): The trust score.` - - `bittensor/core/chain_data/neuron_info_lite.py:29` - `trust (float): Trust value of the neuron.` -- Trust values are normalized using `u16_normalized_float()` function, converting from 16-bit unsigned integers to float values between 0 and 1 - - `bittensor/core/chain_data/neuron_info.py:158` - `trust=u16_normalized_float(decoded["trust"]),` - - `bittensor/core/chain_data/neuron_info_lite.py:126` - `trust=u16_normalized_float(decoded["trust"]),` -- In the metagraph, trust is represented as a tensor (numpy array or torch tensor) accessible via `metagraph.T` property - - `bittensor/core/metagraph.py:392` - `return self.trust` - -**Trust Calculation and Sources:** -- Trust values are directly read from the blockchain state via `neuron.trust` field - - `bittensor/core/metagraph.py:759-762` - `self.trust = self._create_tensor([neuron.trust for neuron in self.neurons], dtype=self._dtype_registry["float32"],)` -- The trust matrix is "inferred from the network's inter-peer weights" according to metagraph documentation - - `bittensor/core/metagraph.py:385-386` - `The trust matrix is inferred from the network's inter-peer weights, indicating the level of trust each neuron has in others.` -- Trust represents the collective assessment of a neuron's reliability by other neurons in the network -- Higher trust values indicate stronger trust relationships between neurons - -**Trust vs Validator Trust:** -- **Trust (T)**: General trust score for all neurons, primarily miners - - `bittensor/core/metagraph.py:380-393` - Property T() documentation -- **Validator Trust (Tv)**: Specialized trust score specifically for validator neurons - - `bittensor/core/metagraph.py:397-409` - Property Tv() documentation -- Both are stored separately in the blockchain state and metagraph - - `bittensor/core/chain_data/neuron_info.py:33` - `validator_trust (float): The validation trust score.` - - `bittensor/core/chain_data/neuron_info_lite.py:30` - `validator_trust (float): Validator trust value of the neuron.` -- Validator trust is crucial for network security and validation processes - -**Trust in Consensus and Emission Calculation:** - -**The Staked Weighted Trust System:** -The consensus mechanism in Bittensor operates on a "staked weighted trust system" where trust values are combined with stake weights to determine consensus scores. This system leverages the collective judgment of all participating peers to create a robust consensus mechanism. - -**Natural Language Analysis:** -In simple terms, the consensus system works like a weighted voting mechanism where: -1. Each neuron's opinion (weight) about other neurons is weighted by their stake -2. Trust values determine how much influence each neuron has in the consensus -3. Higher trust means more influence in the consensus calculation -4. The $\kappa$-centered sigmoid function transforms trust values into consensus scores - -**Code Implementation Details:** - -**Consensus Property in Metagraph:** -- Consensus values are stored as tensors in the metagraph and accessed via `metagraph.C` - - `bittensor/core/metagraph.py:360-372` - Property C() documentation and implementation -- The consensus property returns `self.consensus` which contains consensus scores for all neurons - - `bittensor/core/metagraph.py:372` - `return self.consensus` - -**Consensus Data Flow:** -- Consensus values are read from blockchain state and stored in neuron data structures - - `bittensor/core/chain_data/neuron_info.py:147` - `consensus=u16_normalized_float(decoded["consensus"]),` - - `bittensor/core/chain_data/neuron_info_lite.py:113` - `consensus=u16_normalized_float(decoded["consensus"]),` -- Consensus values are normalized using `u16_normalized_float()` function, converting from 16-bit integers to float values between 0 and 1 -- In the metagraph, consensus is represented as a tensor accessible via `metagraph.C` property - - `bittensor/core/metagraph.py:759-762` - `self.consensus = self._create_tensor([neuron.consensus for neuron in self.neurons], dtype=self._dtype_registry["float32"],)` - -**Trust → Consensus → Rank → Incentive → Emission Pipeline:** - -**Step 1: Trust Calculation from Weights** -- Trust values are "inferred from the network's inter-peer weights" - - `bittensor/core/metagraph.py:385-386` - `The trust matrix is inferred from the network's inter-peer weights, indicating the level of trust each neuron has in others.` -- Each neuron i sets weights w_ij towards other neurons j, reflecting trust assessments - - `bittensor/core/metagraph.py:442-443` - `These weights are reflective of the neuron's assessment or judgment of other neurons in the network.` -- Higher weights from neuron i to neuron j imply greater trust or value placed on neuron j's contributions - - `bittensor/core/metagraph.py:449` - `can imply greater trust or value placed on that neuron's contributions.` - -**Step 2: Consensus Calculation via $\kappa$-Centered Sigmoid** -- Trust influences consensus through the $\kappa$-centered sigmoid function -- `bittensor/core/glossary.md:52` - `This is a $\kappa$-centered sigmoid of trust, influencing the emission calculation.` -- The $\kappa$-centered sigmoid transforms trust values into consensus scores, creating a non-linear relationship that amplifies high trust values and dampens low trust values - -**Step 3: Rank Calculation from Trust and Incentive** -- Rank is calculated based on the subnet miner's trust and incentive scores - - `bittensor/core/glossary.md:232` - `calculated based on the subnet miner's trust and incentive scores.` -- Rank values are stored in neuron data structures and normalized - - `bittensor/core/chain_data/neuron_info.py:154` - `rank=u16_normalized_float(decoded["rank"]),` - - `bittensor/core/chain_data/neuron_info_lite.py:120` - `rank=u16_normalized_float(decoded["rank"]),` -- Rank determines a neuron's position in the network hierarchy and influences emission distribution - -**Step 4: Incentive Calculation** -- Incentive values represent rewards neurons receive for their contributions - - `bittensor/core/metagraph.py:332-342` - Property I() documentation -- Incentive is based on informational value, stake, and consensus with other peers - - `bittensor/core/metagraph.py:334-336` - `The Bittensor network employs an incentive mechanism that rewards neurons based on their informational value, stake, and consensus with other peers.` -- Trust values are used in the Yuma Consensus algorithm for computing emissions -- Incentive values are normalized and stored in neuron structures - - `bittensor/core/chain_data/neuron_info.py:145` - `incentive=u16_normalized_float(decoded["incentive"]),` - - `bittensor/core/chain_data/neuron_info_lite.py:111` - `incentive=u16_normalized_float(decoded["incentive"]),` - -**Step 5: Emission Distribution** -- Emission values denote the distribution of rewards to neurons - - `bittensor/core/metagraph.py:344-354` - Property E() documentation -- Emissions are based on stake and performance, with trust influencing the distribution - - `bittensor/core/metagraph.py:348-350` - `Emissions refer to the distribution or release of rewards (often in the form of cryptocurrency) to neurons, typically based on their stake and performance.` -- The emission mechanism ensures active and contributing neurons are appropriately rewarded - -**Testing Evidence of the Pipeline:** - -**Initial State (New Neurons):** -- Trust starts at 0 for new neurons - - `tests/e2e_tests/test_incentive.py:69` - `assert bob_neuron.trust == 0` -- Consensus, incentive, and rank all start at 0 - - `tests/e2e_tests/test_incentive.py:71-73` - `assert bob_neuron.incentive == 0`, `assert bob_neuron.consensus == 0`, `assert bob_neuron.rank == 0` - -**After Successful Operation:** -- Miner trust reaches 1.0 (full trust) - - `tests/e2e_tests/test_incentive.py:129` - `assert bob_neuron.trust == 1` -- Consensus, incentive, and rank all increase above 0.5 - - `tests/e2e_tests/test_incentive.py:125-127` - `assert bob_neuron.incentive > 0.5`, `assert bob_neuron.consensus > 0.5`, `assert bob_neuron.rank > 0.5` -- Validator trust approaches 1.0 (\>0.99) for properly functioning validators - - `tests/e2e_tests/test_incentive.py:119` - `assert alice_neuron.validator_trust > 0.99` - -**Validator vs Miner Dynamics:** -- Validators receive dividends (1.0) and have high validator_trust (\>0.99) - - `tests/e2e_tests/test_incentive.py:116-117` - `assert alice_neuron.dividends == 1.0`, `assert alice_neuron.validator_trust > 0.99` -- Validators have lower incentive, consensus, and rank (\<0.5) compared to miners - - `tests/e2e_tests/test_incentive.py:118,120-121` - `assert alice_neuron.incentive < 0.5`, `assert alice_neuron.consensus < 0.5`, `assert alice_neuron.rank < 0.5` -- Miners have higher incentive, consensus, and rank (\>0.5) and full trust (1.0) - - `tests/e2e_tests/test_incentive.py:125-127,129` - Various assertions showing miner values - -**Mathematical Relationship:** -The relationship between trust, consensus, rank, incentive, and emission can be conceptualized as: -1. **Trust (T)** = f(weights_matrix) - Collective assessment from inter-peer weights -2. **Consensus (C)** = $\kappa$-sigmoid(T, stake_weights) - $\kappa$-centered sigmoid of trust weighted by stake -3. **Rank (R)** = g(T, I) - Function of trust and incentive scores -4. **Incentive (I)** = h(consensus, stake, informational_value) - Based on consensus and other factors -5. **Emission (E)** = i(rank, stake, performance) - Final reward distribution - -**Network Security Implications:** -- Trust mechanisms prevent malicious actors from gaining undue influence -- The $\kappa$-centered sigmoid creates a non-linear trust amplification that rewards high-trust neurons -- The staked weighted system ensures that high-stake validators have more influence in consensus -- Trust creates a reputation system that guides network decision-making and emission distribution -- The entire pipeline ensures that reliable contributors are identified and rewarded appropriately - -**Complete Trust Flow Implementation:** - -**1. Weight Setting and Storage:** -- Validators set weights via `set_weights()` extrinsic - - `pallets/subtensor/src/subnets/weights.rs:676` - `pub fn do_set_weights()` -- Weights are stored in blockchain storage as `Weights` double map - - `pallets/subtensor/src/lib.rs:1543-1549` - `pub type Weights = StorageDoubleMap` -- Weights are max-upscaled and normalized before storage - - `pallets/subtensor/src/subnets/weights.rs:750` - `let max_upscaled_weights: Vec = vec_u16_max_upscale_to_u16(&values);` - -**2. Weight Retrieval in Epoch:** -- Weights are retrieved during epoch execution via `get_weights_sparse()` - - `pallets/subtensor/src/epoch/run_epoch.rs:905` - `pub fn get_weights_sparse(netuid: u16) -> Vec>` -- Weights are converted from u16 to I32F32 fixed-point format - - `pallets/subtensor/src/epoch/run_epoch.rs:920` - `I32F32::saturating_from_num(*weight_ij)` - -**3. Trust Calculation in Yuma Consensus:** -- **Pre-ranks calculation**: `preranks = matmul_sparse(&weights, &active_stake, n)` - - `pallets/subtensor/src/epoch/run_epoch.rs:591` - `let preranks: Vec = matmul_sparse(&weights, &active_stake, n);` -- **Consensus calculation**: `consensus = weighted_median_col_sparse(&active_stake, &weights, n, kappa)` - - `pallets/subtensor/src/epoch/run_epoch.rs:595` - `let consensus: Vec = weighted_median_col_sparse(&active_stake, &weights, n, kappa);` -- **Weight clipping**: `clipped_weights = col_clip_sparse(&weights, &consensus)` - - `pallets/subtensor/src/epoch/run_epoch.rs:598` - `let clipped_weights: Vec> = col_clip_sparse(&weights, &consensus);` -- **Post-clip ranks**: `ranks = matmul_sparse(&clipped_weights, &active_stake, n)` - - `pallets/subtensor/src/epoch/run_epoch.rs:605` - `let mut ranks: Vec = matmul_sparse(&clipped_weights, &active_stake, n);` - -**4. Trust Formula Implementation:** -- **Trust calculation**: `trust = vecdiv(&ranks, &preranks)` - - `pallets/subtensor/src/epoch/run_epoch.rs:608` - `let trust: Vec = vecdiv(&ranks, &preranks);` -- **vecdiv function**: Element-wise division with zero protection - - `pallets/subtensor/src/epoch/math.rs:322` - `pub fn vecdiv(x: &[I32F32], y: &[I32F32]) -> Vec` -- **Mathematical meaning**: Trust = (rank_after_clipping) / (rank_before_clipping) - - Range: [0, 1] where 1.0 means no clipping occurred (full consensus) - -**5. Storage and Metagraph Reporting:** -- Trust values are converted to u16 for storage - - `pallets/subtensor/src/epoch/run_epoch.rs:850` - `let cloned_trust: Vec = trust.iter().map(|xi| fixed_proportion_to_u16(*xi)).collect();` -- Trust is stored in blockchain state - - `pallets/subtensor/src/epoch/run_epoch.rs:857` - `Trust::::insert(netuid, cloned_trust);` -- Metagraph retrieves trust from blockchain state - - `pallets/subtensor/src/rpc_info/metagraph.rs:754` - `trust: Trust::::get(netuid).into_iter().map(Compact::from).collect()` - -**6. Validator Trust Calculation:** -- **Validator trust**: Sum of clipped weights set by each validator - - `pallets/subtensor/src/epoch/run_epoch.rs:600` - `let validator_trust: Vec = row_sum_sparse(&clipped_weights);` -- **row_sum_sparse function**: Sums across each row of the sparse matrix - - `pallets/subtensor/src/epoch/math.rs:374` - `pub fn row_sum_sparse(sparse_matrix: &[Vec<(u16, I32F32)>]) -> Vec` -- **Mathematical meaning**: Validator trust = sum of all clipped weights set by that validator - -**7. Trust in Emission Calculation:** -- Trust influences incentive calculation through consensus mechanism - - `pallets/subtensor/src/epoch/run_epoch.rs:610` - `let incentive: Vec = ranks.clone();` -- Trust affects bond formation and validator dividends - - `pallets/subtensor/src/epoch/run_epoch.rs:631` - `let weights_for_bonds: Vec> = interpolate_sparse(&weights, &clipped_weights, n, bonds_penalty);` -- Trust creates feedback loop: high trust → better consensus → higher rewards → stronger bonds - -**Notes:** -1. **Trust = 1.0**: Neuron's weights were not clipped, indicating full consensus agreement -2. **Trust < 1.0**: Neuron's weights were clipped, indicating disagreement with consensus -3. **Trust = 0.0**: Neuron received no consensus weight, indicating complete disagreement -4. **Validator Trust**: Measures how much consensus weight each validator contributes -5. **Dynamic Nature**: Trust updates every epoch based on current weight submissions - -**Security Properties:** -- **Anti-manipulation**: $\kappa$-centered clipping prevents weight manipulation -- **Stake-weighted**: Higher stake validators have more influence in consensus -- **Consensus-driven**: Trust rewards alignment with majority opinion -- **Bond formation**: Trust influences long-term validator-miner relationships ## U @@ -1749,161 +1109,17 @@ A position occupied by a subnet miner or subnet validator within a subnet, ident ## V -### VPermit +### Validator Permit -Validator permits held by the delegate for specific subnets. +A boolean flag indicating whether a specific neuron has validation rights within a subnet. Validator permits are awarded to the top K neurons by stake weight and are required for setting weights and participating in consensus. -Code References and Implementation Details +**See also:** [VPermit](#vpermit), [Validator Requirements](./validators/index.md#requirements-for-validation), [Stake Weight](#stake-weight) -**VPermit as Delegator Authorization:** -- VPermit represents the list of subnets that a delegate is authorized to validate on - - `bittensor/core/chain_data/delegate_info.py:17` - `validator_permits (list[int]): List of subnets that the delegate is allowed to validate on.` - - `bittensor/core/chain_data/delegate_info_lite.py:19` - `validator_permits (list[int]): List of subnets that the delegate is allowed to validate on.` -- VPermit is stored as a list of subnet IDs (netuids) in delegate information structures - - `bittensor/core/chain_data/delegate_info.py:26` - `validator_permits: list[int]` - - `bittensor/core/chain_data/delegate_info_lite.py:29` - `validator_permits: list[int]` - -**VPermit vs Validator Permit:** -- **VPermit**: List of subnets a delegate can validate on (delegate-level authorization) - - `bittensor/core/chain_data/delegate_info.py:76` - `validator_permits=list(decoded.get("validator_permits", [])),` - - `bittensor/core/chain_data/delegate_info_lite.py:43` - `validator_permits=decoded["validator_permits"],` -- **Validator Permit**: Boolean flag indicating if a specific neuron has validation rights (neuron-level authorization) - - `bittensor/core/chain_data/neuron_info.py:36` - `validator_permit (bool): Validator permit status.` - - `bittensor/core/chain_data/neuron_info_lite.py:33` - `validator_permit (bool): Indicates if the neuron has a validator permit.` - -**VPermit in Delegate Information:** -- VPermit is included in both full and lite delegate information structures - - `bittensor/core/chain_data/delegate_info.py:76` - `validator_permits=list(decoded.get("validator_permits", [])),` - - `bittensor/core/chain_data/delegate_info_lite.py:43` - `validator_permits=decoded["validator_permits"],` -- VPermit is also included in delegated information for specific subnet contexts - - `bittensor/core/chain_data/delegate_info.py:108` - `validator_permits=list(delegate_info.get("validator_permits", [])),` - -**VPermit in Testing and Validation:** -- Test scenarios verify VPermit functionality for delegates - - `tests/e2e_tests/test_delegate.py:210` - `validator_permits=[],` - - `tests/e2e_tests/test_delegate.py:224` - `validator_permits=[],` - - `tests/e2e_tests/test_delegate.py:282` - `validator_permits=[alice_subnet_netuid],` -- Tests verify that delegates can gain VPermits for specific subnets - - `tests/e2e_tests/test_delegate.py:273` - `# let chain update validator_permits` - -**VPermit in Network Operations:** -- VPermit determines which subnets a delegate can participate in as a validator -- VPermit is used to control delegate access to subnet validation activities -- VPermit is part of the delegate nomination and authorization system -- VPermit enables subnet-specific validation permissions for delegates - -**VPermit vs Validator Permit in Metagraph:** -- The metagraph tracks validator_permit (boolean) for individual neurons - - `bittensor/core/metagraph.py:203` - `validator_permit: Indicates if a neuron is authorized to act as a validator.` - - `bittensor/core/metagraph.py:791-792` - `self.validator_permit = self._create_tensor([neuron.validator_permit for neuron in self.neurons], dtype=bool)` -- VPermit (delegate-level) and validator_permit (neuron-level) work together to control validation access -- Both are essential for the network's validation security and access control mechanisms - -**Complete Validator Permit Flow Implementation:** - -**1. Validator Permit Calculation in Epoch:** -- **Stake filtering**: Only neurons with sufficient stake are considered for validator permits - - `pallets/subtensor/src/epoch/run_epoch.rs:489-500` - Stake filtering based on minimum stake threshold -- **Top-K selection**: Validator permits are awarded to the top K neurons by stake - - `pallets/subtensor/src/epoch/run_epoch.rs:520-523` - `let new_validator_permits: Vec = is_topk_nonzero(&stake, max_allowed_validators as usize);` -- **is_topk_nonzero function**: Selects top K non-zero stake neurons - - `pallets/subtensor/src/epoch/math.rs:250-260` - `pub fn is_topk_nonzero(vector: &[I32F32], k: usize) -> Vec` - -**2. Validator Permit Algorithm Details:** -- **Step 1**: Filter neurons with non-zero stake - - `pallets/subtensor/src/epoch/math.rs:253` - `let mut result: Vec = vector.iter().map(|&elem| elem != I32F32::from(0)).collect();` -- **Step 2**: Sort neurons by stake in ascending order - - `pallets/subtensor/src/epoch/math.rs:257` - `idxs.sort_by_key(|&idx| &vector[idx]); // ascending stable sort` -- **Step 3**: Select top K neurons (highest stake) - - `pallets/subtensor/src/epoch/math.rs:258-260` - `for &idx in idxs.iter().take(n.saturating_sub(k)) { result[idx] = false; }` -- **Mathematical meaning**: Validator permits = top K neurons by stake, where K = max_allowed_validators - -**3. Validator Permit Storage and Retrieval:** -- **Storage**: Validator permits stored as boolean vector in blockchain state - - `pallets/subtensor/src/lib.rs:1550-1552` - `pub type ValidatorPermit = StorageMap<_, Identity, u16, Vec, ValueQuery, EmptyBoolVec>;` -- **Retrieval**: Validator permits retrieved during epoch execution - - `pallets/subtensor/src/epoch/run_epoch.rs:515` - `let validator_permits: Vec = Self::get_validator_permit(netuid);` -- **Update**: New validator permits calculated and stored every epoch - - `pallets/subtensor/src/epoch/run_epoch.rs:847` - `ValidatorPermit::::insert(netuid, new_validator_permits.clone());` - -**4. Validator Permit Access Control:** -- **Weight setting restriction**: Only neurons with validator permits can set non-self weights - - `pallets/subtensor/src/subnets/weights.rs:745-748` - `ensure!(Self::check_validator_permit(netuid, neuron_uid, &uids, &values), Error::::NeuronNoValidatorPermit);` -- **check_validator_permit function**: Validates permit status for weight setting - - `pallets/subtensor/src/subnets/weights.rs:960-967` - `pub fn check_validator_permit(netuid: u16, uid: u16, uids: &[u16], weights: &[u16]) -> bool` -- **Self-weight exception**: All neurons can set self-weights regardless of permit status - - `pallets/subtensor/src/subnets/weights.rs:961-963` - `if Self::is_self_weight(uid, uids, weights) { return true; }` - -**5. Validator Permit in Consensus Calculation:** -- **Active stake filtering**: Only validator-permitted neurons contribute to active stake - - `pallets/subtensor/src/epoch/run_epoch.rs:530-532` - `inplace_mask_vector(&validator_forbids, &mut active_stake);` -- **Weight matrix filtering**: Only validator-permitted neurons' weights are used in consensus - - `pallets/subtensor/src/epoch/run_epoch.rs:545-546` - `weights = mask_rows_sparse(&validator_forbids, &weights);` -- **Consensus participation**: Validator permits determine which neurons participate in Yuma Consensus - -**6. Validator Permit in Bond Management:** -- **Bond retention**: Neurons retain bonds only if they keep validator permits - - `pallets/subtensor/src/epoch/run_epoch.rs:849-862` - Bond management based on permit status -- **Bond clearing**: Bonds are cleared when neurons lose validator permits - - `pallets/subtensor/src/epoch/run_epoch.rs:856-860` - `if *new_permit { /* retain bonds */ } else if validator_permit { /* clear bonds */ }` - -**7. Validator Permit in Delegate Information:** -- **VPermit calculation**: Delegate VPermits calculated from individual neuron permits - - `pallets/subtensor/src/rpc_info/delegate_info.rs:88-96` - VPermit calculation for delegates -- **Subnet-specific permits**: Each delegate's VPermit list contains netuids where they have validator permits - - `pallets/subtensor/src/rpc_info/delegate_info.rs:92-95` - `if validator_permit { validator_permits.push((*netuid).into()); }` - -**8. Validator Permit Testing and Validation:** -- **Stake-based permit testing**: Tests verify that validator permits are awarded based on stake - - `pallets/subtensor/src/tests/epoch.rs:2175-2213` - Comprehensive validator permit testing -- **Weight setting access testing**: Tests verify that only permitted neurons can set weights - - `pallets/subtensor/src/tests/weights.rs:474-520` - Weight setting access control testing -- **Permit revocation testing**: Tests verify that permits are revoked when stake decreases - - `pallets/subtensor/src/tests/epoch.rs:2195-2213` - Permit revocation scenarios - -**9. Validator Permit in Metagraph Reporting:** -- **Metagraph inclusion**: Validator permits included in metagraph data structures - - `pallets/subtensor/src/rpc_info/metagraph.rs:754` - `validator_permit: ValidatorPermit::::get(netuid)` -- **Neuron info inclusion**: Validator permits included in individual neuron information - - `pallets/subtensor/src/rpc_info/neuron_info.rs:36` - `validator_permit: bool` field in NeuronInfo - -**10. Validator Permit Security Properties:** -- **Stake-based selection**: Validator permits awarded based on economic stake, ensuring skin-in-the-game -- **Dynamic adjustment**: Permits recalculated every epoch based on current stake distribution -- **Access control**: Permits control critical network functions like weight setting and consensus participation -- **Bond alignment**: Permits align with bond retention, creating economic incentives for validators -- **Network security**: Permits ensure only high-stake, trusted neurons participate in consensus +### VPermit -**Key Mathematical Insights:** -1. **Validator Permit = Top K by Stake**: Permits awarded to K neurons with highest stake -2. **K = max_allowed_validators**: Network parameter controlling validator count -3. **Stake Threshold**: Minimum stake required to be considered for permits -4. **Dynamic Nature**: Permits recalculated every epoch based on current stake -5. **Economic Security**: High stake requirement ensures validator commitment - -**Network Security Implications:** -- **Economic barrier**: High stake requirement prevents Sybil attacks -- **Consensus control**: Only permitted validators participate in consensus -- **Weight manipulation prevention**: Permits prevent unauthorized weight setting -- **Bond alignment**: Permits align with bond retention for economic security -- **Dynamic adjustment**: Permits adapt to changing network conditions and stake distribution - -**Complete Validator Permit Flow:** -1. **Stake Calculation** → Total stake calculated for each neuron -2. **Threshold Filtering** → Neurons below minimum stake excluded -3. **Top-K Selection** → Top K neurons by stake awarded permits -4. **Storage Update** → New permits stored in blockchain state -5. **Access Control** → Permits control weight setting and consensus participation -6. **Bond Management** → Permits determine bond retention/clearing -7. **Metagraph Reporting** → Permits included in network state reporting -8. **Delegate VPermits** → Individual permits aggregated into delegate VPermits - -**Validator Permit vs VPermit Relationship:** -- **Validator Permit**: Neuron-level boolean flag (has permit or not) -- **VPermit**: Delegate-level list of subnet IDs where delegate has permits -- **Aggregation**: VPermit = list of netuids where delegate's neurons have validator_permit = true -- **Hierarchy**: VPermit aggregates multiple validator permits across subnets for a single delegate -- **Purpose**: Validator permit controls individual neuron access, VPermit controls delegate-level permissions +A list of subnet IDs (netuids) indicating which subnets a delegate is authorized to validate on. VPermits are delegate-level permissions that aggregate individual validator permits across multiple subnets, allowing delegates to participate in validation activities on specific subnets. + +**See also:** [Validator Permits](#validator-permit), [Delegation](./staking-and-delegation/delegation.md), [Validator Requirements](./validators/index.md#requirements-for-validation) ### Validator @@ -1912,6 +1128,53 @@ A type of node in a subnet that creates tasks, evaluates the performance of subn **See also:** [Subnet Validators](./validators/), [Validators btcli Guide](./validators/validators-btcli-guide.md) +### Validator Trust + +A specialized trust metric for validator neurons that measures their influence in the consensus process. Validator trust is calculated as the sum of all clipped weights set by each validator across all neurons, indicating how much weight a validator successfully contributed to consensus. + +**See also:** [Yuma Consensus](./yuma-consensus.md), [Subnet Metagraph](./subnets/metagraph.md), [Validator-Miner Bonds](#validator-miner-bonds) + +**Basic Concept:** +Validator trust specifically measures validator neurons' influence in the consensus process. It represents how much weight each validator successfully contributed to the consensus after weight clipping, providing insight into validator alignment with network consensus. + +**Mathematical Definition:** +For each validator $i$, the validator trust $T_{vi}$ is calculated as: +$$T_{vi} = \sum_{j \in \text{neurons}} \overline{W_{ij}}$$ + +Where: +- $\overline{W_{ij}}$ is the consensus-clipped weight from validator $i$ to neuron $j$ +- The sum is taken over all neurons in the subnet +- Validator trust measures the total influence a validator has in consensus + +**Calculation Process:** +1. **Weight setting**: Validators set weights to all neurons in the subnet +2. **Consensus calculation**: Stake-weighted median of weights per neuron (consensus threshold) +3. **Weight clipping**: Weights clipped at consensus threshold to remove outliers +4. **Validator trust calculation**: Sum of all clipped weights set by each validator + +**Properties and Interpretation:** +- **Range**: [0, 1] normalized values +- **High Validator Trust**: Values close to 1 indicate strong consensus alignment +- **Low Validator Trust**: Values close to 0 indicate outlier weight assignments +- **Validator Influence**: Higher validator trust means more influence in consensus decisions + +**Network Security Properties:** +- **Consensus Alignment**: Validator trust measures how well validators align with consensus +- **Outlier Detection**: Low validator trust indicates potential manipulation attempts +- **Validator Quality**: High validator trust indicates quality validation services +- **Economic Incentives**: Validator trust influences validator rewards and bond retention + +**Source**: +- [`bittensor/bittensor/core/metagraph.py:397-409`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L397-409) +- [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:600`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L600) + +**Relationship to Other Metrics:** +- **Validator Trust vs Trust**: Validator trust is per-validator, Trust is per-neuron +- **Validator Trust vs Consensus**: Validator trust measures validator influence in consensus +- **Validator Trust vs Ranks**: Validator trust influences rank calculation through consensus +- **Validator Trust vs Bonds**: Validator trust affects bond retention and validator permits + + ### Validator-Miner Bonds A mechanism in the Bittensor network that represents the investment relationship between validators and miners, used to calculate validator emissions and incentivize consistent, honest evaluation of miner performance. @@ -1988,19 +1251,12 @@ Where $M_j$ is miner $j$'s share of miner emissions. - EMA smoothing prevents exploitation of rapid bond changes - Bonds provide stability while allowing for network evolution -**Technical Implementation:** - -**Storage:** -- Bonds are stored as sparse matrices in blockchain state -- Each validator's bonds to miners are stored as vectors of (miner_uid, bond_value) pairs -- Bonds are updated every epoch during Yuma Consensus execution - **Retrieval:** - Bonds can be queried via the `bonds()` method in the Subtensor API - Metagraph includes bonds matrix accessible via `metagraph.B` property - Bonds are included in neuron information structures -**Hyperparameters:** +**Related hyperparameters:** - `bonds_penalty`: Controls penalty for out-of-consensus weights (0-65535) - `bonds_moving_avg`: Controls bond decay rate (typically 900,000) - `liquid_alpha_enabled`: Enables dynamic alpha adjustment for bonds @@ -2030,141 +1286,14 @@ Where $M_j$ is miner $j$'s share of miner emissions. **See also:** [Yuma Consensus](./yuma-consensus), [Emissions](./emissions), [Trust](#trust), [Validator Permits](#vpermit) -Code References and Implementation Details -**Bonds as Core Network Data Structure:** -- Bonds are stored as sparse matrices in blockchain state via `Bonds` storage map - - `subtensor/pallets/subtensor/src/lib.rs:1560-1566` - `pub type Bonds = StorageDoubleMap<_, Identity, u16, Identity, u16, Vec<(u16, u16)>, ValueQuery, DefaultBonds>;` -- Bonds are represented as vectors of (miner_uid, bond_value) pairs for each validator - - `bittensor/core/chain_data/neuron_info.py:47` - `bonds (list[list[int]]): List of bonds associated with the neuron.` -- Bonds are included in both full and lite neuron information structures - - `bittensor/core/chain_data/neuron_info.py:158` - `bonds=[[e[0], e[1]] for e in decoded["bonds"]],` - - Note: `NeuronInfoLite` does not include bonds to reduce data size - -**Bonds in Metagraph Representation:** -- Bonds are accessible via `metagraph.B` property in the metagraph - - `bittensor/core/metagraph.py:427-436` - Property B() documentation and implementation -- Bonds are processed using `_process_weights_or_bonds()` method - - `bittensor/core/metagraph.py:673-690` - `_process_weights_or_bonds()` method for processing bonds data -- Bonds are converted to tensors using `convert_bond_uids_and_vals_to_tensor()` - - `bittensor/utils/weight_utils.py:143-162` - `convert_bond_uids_and_vals_to_tensor()` function - -**Bonds API and Retrieval:** -- Bonds can be queried via the `bonds()` method in AsyncSubtensor - - `bittensor/core/async_subtensor.py:931-976` - `bonds()` method implementation -- Bonds are retrieved from blockchain storage via `SubtensorModule::Bonds` storage map - - `bittensor/core/async_subtensor.py:963-965` - `storage_function="Bonds"` query -- Bonds are returned as list of tuples mapping neuron UID to bond tuples - - `bittensor/core/async_subtensor.py:976` - `return b_map` - -**Bond Calculation in Yuma Consensus:** - -**1. Bond-Weight Calculation:** -- **Bonds penalty retrieval**: `bonds_penalty = Self::get_float_bonds_penalty(netuid)` - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:207-208` - Bonds penalty retrieval -- **Weight interpolation**: `weights_for_bonds = interpolate_sparse(&weights, &clipped_weights, n, bonds_penalty)` - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:625-627` - Weight interpolation for bonds -- **Mathematical meaning**: $\widetilde{W_{ij}} = (1-\beta)W_{ij} + \beta\overline{W_{ij}}$ where $\beta$ is bonds penalty - -**2. Instant Bond Calculation:** -- **Bonds delta**: `bonds_delta = row_hadamard_sparse(&weights_for_bonds, &active_stake)` - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:680-682` - Instant bond calculation -- **Normalization**: `inplace_col_normalize_sparse(&mut bonds_delta, n)` - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:684` - Bond normalization -- **Mathematical meaning**: $\Delta B_{ij} = \frac{S_i \cdot \widetilde{W_{ij}}}{\sum_{k \in \mathbb{V}} S_k \cdot \widetilde{W_{kj}}}$ - -**3. EMA Bond Computation:** -- **Alpha calculation**: `alpha = 1 - bonds_moving_avg / 1_000_000` - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:1020-1025` - Alpha calculation -- **EMA computation**: `ema_bonds = mat_ema_sparse(&bonds_delta, &bonds, alpha)` - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:687` - EMA bond computation - -**4. Bond Storage and Management:** -- **Permit-based retention**: Bonds stored only if neuron retains validator permit - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:849-862` - Bond retention logic -- **Storage format**: Bonds stored as `Vec<(u16, u16)>` pairs - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:852-854` - Bond storage format - -**5. Dividend Calculation:** -- **Dividend computation**: `dividends = matmul_transpose_sparse(&ema_bonds, &incentive)` - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:713` - Dividend calculation -- **Normalization**: `inplace_normalize(&mut dividends)` - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:714` - Dividend normalization -- **Mathematical meaning**: $D_i = \sum_{j \in \mathbb{M}} B_{ij} \times I_j$ where: - - $B_{ij}$ is the EMA bond from validator $i$ to miner $j$ - - $I_j$ is miner $j$'s incentive share - -**Key Mathematical Insights:** -1. **Bonds = Economic Investment**: Bonds represent validator "investment" in miner performance -2. **Penalty Mechanism**: Bonds penalty ($\beta$) reduces bond value for out-of-consensus weights -3. **EMA Smoothing**: Bonds change gradually over time, preventing manipulation -4. **Consensus Alignment**: Bonds incentivize validators to align with network consensus -5. **Economic Security**: Bonds create skin-in-the-game for validators +### Validator Take % -**Network Security Properties:** -- **Anti-manipulation**: Bond penalties make weight manipulation economically costly -- **Consensus stability**: Bonds create economic incentives for consensus alignment -- **Validator commitment**: Bonds require validators to commit to their evaluations -- **Market-based incentives**: Bonds create a market for validator-miner relationships -- **Dynamic adjustment**: Bonds adapt to changing network conditions and consensus - -**Complete Bond Flow Implementation:** - -**1. Weight Setting and Storage:** -- Validators set weights via `set_weights()` extrinsic - - `pallets/subtensor/src/subnets/weights.rs:676` - `pub fn do_set_weights()` -- Weights are stored in blockchain storage as `Weights` double map - - `pallets/subtensor/src/lib.rs:1543-1549` - `pub type Weights = StorageDoubleMap` - -**2. Consensus Calculation:** -- **Consensus computation**: `consensus = weighted_median_col_sparse(&active_stake, &weights, n, kappa)` - - `pallets/subtensor/src/epoch/run_epoch.rs:595` - Consensus calculation -- **Weight clipping**: `clipped_weights = col_clip_sparse(&weights, &consensus)` - - `pallets/subtensor/src/epoch/run_epoch.rs:598` - Weight clipping at consensus - -**3. Bond-Weight Calculation:** -- **Bonds penalty retrieval**: `bonds_penalty = Self::get_float_bonds_penalty(netuid)` - - `pallets/subtensor/src/epoch/run_epoch.rs:625` - Bonds penalty retrieval -- **Weight interpolation**: `weights_for_bonds = interpolate_sparse(&weights, &clipped_weights, n, bonds_penalty)` - - `pallets/subtensor/src/epoch/run_epoch.rs:625-627` - Bond-weight calculation - -**4. Instant Bond Formation:** -- **Bonds delta**: `bonds_delta = row_hadamard_sparse(&weights_for_bonds, &active_stake)` - - `pallets/subtensor/src/epoch/run_epoch.rs:680-682` - Instant bond calculation -- **Normalization**: `inplace_col_normalize_sparse(&mut bonds_delta, n)` - - `pallets/subtensor/src/epoch/run_epoch.rs:684` - Bond normalization - -**5. EMA Bond Computation:** -- **Alpha calculation**: `alpha = 1 - bonds_moving_avg / 1_000_000` - - `pallets/subtensor/src/epoch/run_epoch.rs:1020-1025` - Alpha calculation -- **EMA computation**: `ema_bonds = mat_ema_sparse(&bonds_delta, &bonds, alpha)` - - `pallets/subtensor/src/epoch/run_epoch.rs:687` - EMA bond computation - -**6. Bond Storage and Management:** -- **Permit-based retention**: Bonds stored only if neuron retains validator permit - - `pallets/subtensor/src/epoch/run_epoch.rs:849-862` - Bond retention logic -- **Storage format**: Bonds stored as `Vec<(u16, u16)>` pairs - - `pallets/subtensor/src/epoch/run_epoch.rs:852-854` - Bond storage format - -**7. Dividend Calculation:** -- **Dividend computation**: `dividends = matmul_transpose_sparse(&ema_bonds, &incentive)` - - `pallets/subtensor/src/epoch/run_epoch.rs:713` - Dividend calculation -- **Normalization**: `inplace_normalize(&mut dividends)` - - `pallets/subtensor/src/epoch/run_epoch.rs:714` - Dividend normalization +The percentage of emissions a validator takes, of the portion that depends on delegated stake (not including their emissions in proportion to their own self-stake), before the remainder is extracted back to the stakers. -**Key Mathematical Insights:** -1. **Bonds = Economic Investment**: Bonds represent validator "investment" in miner performance -2. **Penalty Mechanism**: Bonds penalty ($\beta$) reduces bond value for out-of-consensus weights -3. **EMA Smoothing**: Bonds change gradually over time, preventing manipulation -4. **Consensus Alignment**: Bonds incentivize validators to align with network consensus -5. **Economic Security**: Bonds create skin-in-the-game for validators +Effectively, this represents the fee percentage that validators charge delegators for validation services. -**Network Security Properties:** -- **Anti-manipulation**: Bond penalties make weight manipulation economically costly -- **Consensus stability**: Bonds create economic incentives for consensus alignment -- **Validator commitment**: Bonds require validators to commit to their evaluations -- **Market-based incentives**: Bonds create a market for validator-miner relationships -- **Dynamic adjustment**: Bonds adapt to changing network conditions and consensus +**See also:** [Emissions](./emissions.md) ## W diff --git a/docs/subnets/metagraph.md b/docs/subnets/metagraph.md index 35d2728447..52e611d78b 100644 --- a/docs/subnets/metagraph.md +++ b/docs/subnets/metagraph.md @@ -129,95 +129,55 @@ In the Bittensor Python SDK, the `Metagraph` class encapsulates the following in Metagraph Properties | Name | Description | |------|--| -| `netuid` | The subnet's unique identifier | +| `netuid` | The subnet's unique identifier within the Bittensor network | | `network` | Name of the Bittensor network, i.e. mainnet ('finney'), test, or a locally deployed chain | | `version` | Bittensor version number | | `n` | Total number of neurons registered on the subnet | | `block` | Block number when the metagraph record was retrieved | -| `total_stake` | Total stake (alpha + TAO × 0.18) across all neurons | -| **Stake** / `S` | Total stake (alpha + TAO × 0.18) of each neuron | -| **Alpha Stake** / `AS` | Alpha token stake | -| **Tao Stake** / `TS` | TAO token stake | -| **Ranks** / `R` | Consensus ranking scores after weight clipping | -| **Trust** / `T` | Consensus alignment ratio (final rank / pre-rank) | -| **Validator Trust** / `Tv` | Validator-specific trust scores | -| **Consensus** / `C` | Stake-weighted median of weights (consensus threshold) | -| **Incentive** / `I` | Normalized ranks (reward allocation for miners) | -| **Emission** / `E` | Token emission amounts in RAO | -| **Dividends** / `D` | Bond-based rewards for validators | -| **Bonds** / `B` | Inter-neuronal bond matrix (speculative investments) | -| **Weights** / `W` | Weight matrix (validator → miner assignments) | -| `uids` | Unique neuron identifiers | -| `hotkeys` | Neuron hotkey addresses | -| `coldkeys` | Neuron coldkey addresses | +| `total_stake` | Total [stake weight](../glossary.md#stake-weight) (α + τ × 0.18) across all neurons | +| **Stake** / `S` | Total [stake weight](../glossary.md#stake-weight) (α + τ × 0.18) of each neuron, determining consensus power and emissions | +| **Alpha Stake** / `AS` | Alpha token stake (α) for each neuron | +| **Tao Stake** / `TS` | [TAO](../glossary.md#tao-τ) token stake (τ) for each neuron | +| **Ranks** / `R` | Final performance scores after [consensus](../glossary.md#consensus-score) weight clipping - [stake-weighted](../glossary.md#stake-weight) sum of clipped weights that directly determine emissions to miners | +| **Trust** / `T` | [Consensus alignment](../glossary.md#trust) ratio (final rank / pre-rank) - measures how much consensus clipping affected the rank, where 1.0 indicates perfect consensus alignment | +| **Validator Trust** / `Tv` | [Validator trust](../glossary.md#validator-trust) - sum of clipped weights set by each validator, measuring validator influence in consensus | +| **Consensus** / `C` | [Consensus score](../glossary.md#consensus-score) - stake-weighted median of weights per neuron, serving as consensus threshold for weight clipping | +| **Incentive** / `I` | Normalized ranks representing [incentive](../glossary.md#incentives) allocation for miners based on performance | +| **Emission** / `E` | Token [emission](../glossary.md#emission) amounts in [RAO](../glossary.md#rao) (10^-9 TAO) per block | +| **Dividends** / `D` | [Bond](../glossary.md#validator-miner-bonds)-based rewards for validators from their investments in miners | +| **Bonds** / `B` | Inter-neuronal [bond matrix](../glossary.md#validator-miner-bonds) representing validator investments in miners, used to calculate validator emissions | +| **Weights** / `W` | [Weight matrix](../glossary.md#weight-matrix) (validator → miner assignments) formed from validator weight vectors, input for [Yuma Consensus](../glossary.md#yuma-consensus) | +| `uids` | Unique [UID](../glossary.md#uid-slot) identifiers for each neuron | +| `hotkeys` | Neuron [hotkey](../glossary.md#hotkey) addresses | +| `coldkeys` | Neuron [coldkey](../glossary.md#coldkey) addresses | | `addresses` | Network IP addresses | -| `axons` | Network connection details | -| `neurons` | Complete neuron objects | -| `active` | Neuron activity status | -| `last_update` | Last update block numbers | -| `validator_permit` | Bool array indicating whether each neuron can set weights (act as validator) | +| `axons` | Network connection details for [axon](../glossary.md#axon) servers | +| `neurons` | Complete [neuron](../glossary.md#neuron) objects with all metadata | +| `active` | Neuron activity status within the [`activity_cutoff`](./subnet-hyperparameters.md#activity_cutoff) window | +| `last_update` | Last update block numbers for staleness detection | +| `validator_permit` | Boolean array indicating whether each neuron has [validator permits](../glossary.md#validator-permit) to set weights and participate in consensus | | `name` | Subnet name | | `symbol` | Subnet token symbol | -| `network_registered_at` | Registration block | +| `network_registered_at` | Registration block when subnet was created | | `num_uids` | Current number of neurons | -| `max_uids` | Maximum allowed neurons | +| `max_uids` | Maximum allowed neurons (typically 256) | | `identities` | List of chain identities | | `identity` | Subnet identity information | -| `pruning_score` | List of pruning scores | -| `block_at_registration` | List of registration blocks | -| `tao_dividends_per_hotkey` | TAO dividends by hotkey | +| `pruning_score` | List of pruning scores based on emissions, used for [deregistration](../glossary.md#deregistration) when subnet is full | +| `block_at_registration` | List of registration blocks for each neuron, used for [immunity period](../glossary.md#immunity-period) calculations | +| `tao_dividends_per_hotkey` | [TAO](../glossary.md#tao-τ) dividends by hotkey | | `alpha_dividends_per_hotkey` | Alpha dividends by hotkey | | `last_step` | Last step block number | -| `tempo` | Block interval for updates | +| `tempo` | [Tempo](../glossary.md#tempo) - block interval for updates (360 blocks = 72 minutes) | | `blocks_since_last_step` | Blocks since last step | -| `owner_coldkey` | Subnet owner coldkey | -| `owner_hotkey` | Subnet owner hotkey | -| `hparams` | Subnet hyperparameters (`MetagraphInfoParams`) | +| `owner_coldkey` | Subnet owner [coldkey](../glossary.md#coldkey) | +| `owner_hotkey` | Subnet owner [hotkey](../glossary.md#hotkey) | +| `hparams` | Subnet [hyperparameters](./subnet-hyperparameters.md) (`MetagraphInfoParams`) | | `pool` | Liquidity pool information (`MetagraphInfoPool`) | | `emissions` | Emission configuration (`MetagraphInfoEmissions`) |
      -### Stake Calculation -The total stake combines alpha and TAO stakes with a weighting factor: - -**Formula**: `Total Stake = Alpha Stake + (TAO Stake × 0.18)` - -**Source**: [`bittensor/bittensor/core/chain_data/metagraph_info.py:340`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/chain_data/metagraph_info.py#L340) - -```python -tao_stake = [ - _tbwu(ts) * settings.ROOT_TAO_STAKE_WEIGHT # ROOT_TAO_STAKE_WEIGHT = 0.18 - for ts in decoded["tao_stake"] -] -``` - -### Consensus Metrics (Ranks, Trust, Consensus) - -The Yuma Consensus algorithm calculates these metrics through a multi-step process: - -**Source**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:175-200`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L175-L200) - -1. **Pre-ranks**: `preranks = matmul(weights, active_stake)` - stake-weighted sum of incoming weights -2. **Consensus**: `consensus = weighted_median_col(active_stake, weights, kappa)` - stake-weighted median of weights per neuron (consensus threshold) -3. **Weight clipping**: Weights clipped at consensus threshold to remove outliers -4. **Final ranks**: `ranks = matmul(clipped_weights, active_stake)` - stake-weighted sum of clipped weights -5. **Trust**: `trust = ranks / preranks` - ratio of final rank to pre-rank (consensus alignment) - -**Metric Details**: -- **Consensus**: Stake-weighted median of weights assigned to each neuron by validators. Higher values indicate stronger validator agreement. -- **Ranks**: Final consensus-based ranking after weight clipping. Used for incentive distribution. -- **Trust**: Measures how much a neuron's rank was affected by consensus clipping (0-1 range). -- **Validator Trust**: Sum of clipped weights set by each validator (measures validator influence). - -**Trust interpretation**: -- `Trust = 1.0`: Neuron's rank unchanged by consensus (high consensus alignment) -- `Trust < 1.0`: Neuron's rank reduced by consensus clipping (lower consensus alignment) -- `Trust = 0.0`: Neuron's rank eliminated by consensus (no consensus) - -**Incentive vs Dividends**: -- **Incentive**: Normalized ranks distributed to miners based on consensus performance -- **Dividends**: Bond-based rewards distributed to validators based on their bond investments ### Neuron Info @@ -232,23 +192,23 @@ See also: Neuron Info Properties | Name | Description | --|-- -`uid` | Unique identifier -`hotkey` | Hotkey address -`coldkey` | Coldkey address -`stake` | Total stake -`rank` | Performance rank -`trust` | Trust score -`consensus` | Consensus score -`incentive` | Incentive score -`emission` | Emission rate -`dividends` | Dividend amount -`validator_trust` | Validator trust -`active` | Activity status -`last_update` | Last update block -`validator_permit` | Validator permission -`weights` | Weight assignments -`bonds` | Bond investments -`axon_info` | Network connection +`uid` | Unique [UID](../glossary.md#uid-slot) identifier for the neuron within the subnet +`hotkey` | [Hotkey](../glossary.md#hotkey) address for network operations and signing +`coldkey` | [Coldkey](../glossary.md#coldkey) address for secure storage and high-risk operations +`stake` | Total [stake weight](../glossary.md#stake-weight) (α + τ × 0.18) determining consensus power and emissions +`rank` | Final [performance rank](../glossary.md#rank) after consensus weight clipping, directly determining emissions +`trust` | [Consensus alignment](../glossary.md#trust) ratio (final rank / pre-rank) measuring impact of consensus filtering +`consensus` | [Consensus score](../glossary.md#consensus-score) - stake-weighted median of weights serving as clipping threshold +`incentive` | Normalized [incentive](../glossary.md#incentives) score representing reward allocation for miners +`emission` | Token [emission](../glossary.md#emission) rate in [RAO](../glossary.md#rao) per block +`dividends` | [Bond](../glossary.md#validator-miner-bonds)-based dividend amount for validators +`validator_trust` | [Validator trust](../glossary.md#validator-trust) measuring validator influence in consensus +`active` | Activity status within the [`activity_cutoff`](./subnet-hyperparameters.md#activity_cutoff) window +`last_update` | Last update block number for staleness detection +`validator_permit` | Boolean indicating [validator permit](../glossary.md#validator-permit) status for weight setting and consensus participation +`weights` | [Weight vector](../glossary.md#weight-vector) assignments from this neuron to others +`bonds` | [Bond](../glossary.md#validator-miner-bonds) investments from this neuron to others +`axon_info` | Network connection details for the [axon](../glossary.md#axon) server @@ -266,14 +226,14 @@ See also: | Name | Description | --|-- -`hotkey` | Neuron hotkey -`coldkey` | Neuron coldkey -`ip` | IP address -`port` | Port number -`ip_type` | IP type -`version` | Protocol version -`placeholder1` | Reserved field -`placeholder2` | Reserved field +`hotkey` | Neuron [hotkey](../glossary.md#hotkey) address +`coldkey` | Neuron [coldkey](../glossary.md#coldkey) address +`ip` | IP address for the [axon](../glossary.md#axon) server +`port` | Port number for the axon server +`ip_type` | IP type (IPv4/IPv6) +`version` | Protocol version for axon-dendrite communication +`placeholder1` | Reserved field for future use +`placeholder2` | Reserved field for future use ### MetagraphInfoParams @@ -315,9 +275,9 @@ See also: `rho` | Rho parameter `serving_rate_limit` | Serving rate limit `target_regs_per_interval` | Target registrations per interval -`tempo` | Tempo -`weights_rate_limit` | Weights rate limit -`weights_version` | Weights version +`tempo` | [Tempo](../glossary.md#tempo) - block interval for updates (360 blocks = 72 minutes) +`weights_rate_limit` | [Weights](../glossary.md#weight-vector) rate limit for submissions +`weights_version` | [Weights](../glossary.md#weight-vector) version for protocol compatibility ### MetagraphInfoPool @@ -333,13 +293,13 @@ See also: MetagraphInfoPool properties | Name | Description | --|-- -`alpha_out` | Alpha out amount -`alpha_in` | Alpha in amount -`tao_in` | TAO in amount -`subnet_volume` | Subnet volume -`moving_price` | Moving price +`alpha_out` | Alpha token quanitity bound for emission to subnet participants +`alpha_in` | Alpha token quanitity emitted to the liquidity pool +`tao_in` | Tao token emission to the liquidity pool +`subnet_volume` | Total trading volume in the subnet's liquidity pool +`moving_price` | Moving average price of the subnet token - + ### MetagraphInfoEmissions Contains detailed information about the subnet's emissions. @@ -353,12 +313,12 @@ See also: MetagraphInfoEmissions properties | Name | Description | --|-- -`alpha_out_emission` | Alpha out emission -`alpha_in_emission` | Alpha in emission -`subnet_emission` | Subnet emission -`tao_in_emission` | TAO in emission -`pending_alpha_emission` | Pending alpha emission -`pending_root_emission` | Pending root emission +`alpha_out_emission` | Alpha token outflow [emission](../glossary.md#emission) rate +`alpha_in_emission` | Alpha token inflow [emission](../glossary.md#emission) rate +`subnet_emission` | Subnet [emission](../glossary.md#emission) rate to participants +`tao_in_emission` | [TAO](../glossary.md#tao-τ) token inflow [emission](../glossary.md#emission) rate +`pending_alpha_emission` | Pending alpha token [emission](../glossary.md#emission) amount +`pending_root_emission` | Pending root network [emission](../glossary.md#emission) amount From 0a4ee802853589067c066805989c4df7b7f74066 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 11:22:56 -0700 Subject: [PATCH 118/303] wip --- docs/glossary.md | 235 +---------------------------------------------- 1 file changed, 3 insertions(+), 232 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index e54cd7eb57..cf75aaab09 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -507,240 +507,11 @@ A unique identifier assigned to a subnet within the Bittensor network. ### Neuron -The basic computing node in a Bittensor subnet, representing a node in a neural network. Neurons can be either subnet validators or subnet miners. +The basic computing node in a Bittensor subnet, representing a node in a neural network. Neurons can be either subnet validators or subnet miners, each identified by a unique UID within their subnet and associated with a hotkey-coldkey pair for authentication and operations. -Code References and Implementation Details - -**Neuron as Core Network Entity:** -- Neurons are the fundamental participants in Bittensor subnets, representing both miners and validators - - `bittensor/core/chain_data/neuron_info.py:18` - `Represents the metadata of a neuron including keys, UID, stake, rankings, and other attributes.` -- Each neuron has a unique UID (User ID) within its subnet, assigned during registration - - `bittensor/core/chain_data/neuron_info.py:25` - `uid (int): The unique identifier for the neuron.` -- Neurons are identified by their hotkey-coldkey pair, with the hotkey serving as the operational key - - `bittensor/core/chain_data/neuron_info.py:23-24` - `hotkey (str): The hotkey associated with the neuron.`, `coldkey (str): The coldkey associated with the neuron.` - -**Neuron Data Structures:** - -**NeuronInfo - Complete Neuron Data:** -- `NeuronInfo` contains comprehensive neuron metadata including weights and bonds - - `bittensor/core/chain_data/neuron_info.py:44-60` - Complete field definitions -- Key performance metrics stored as normalized float values (0-1 range): - - `bittensor/core/chain_data/neuron_info.py:30-35` - `rank (float)`, `emission (float)`, `incentive (float)`, `consensus (float)`, `trust (float)`, `validator_trust (float)` -- Stake information includes both total stake and per-coldkey breakdown - - `bittensor/core/chain_data/neuron_info.py:27-29` - `stake (Balance)`, `stake_dict (dict[str, Balance])`, `total_stake (Balance)` -- Network participation data: - - `bittensor/core/chain_data/neuron_info.py:26` - `netuid (int): The network unique identifier for the neuron.` - - `bittensor/core/chain_data/neuron_info.py:36` - `validator_permit (bool): Validator permit status.` - - `bittensor/core/chain_data/neuron_info.py:37-38` - `weights (list[tuple[int, int]])`, `bonds (list[list[int]])` - -**NeuronInfoLite - Lightweight Neuron Data:** -- `NeuronInfoLite` provides essential neuron data without weights and bonds for efficiency - - `bittensor/core/chain_data/neuron_info_lite.py:18` - `NeuronInfoLite is a dataclass representing neuron metadata without weights and bonds.` -- Used when full weight/bond data is not required, reducing data transfer overhead - - `bittensor/core/chain_data/neuron_info_lite.py:44-60` - Field definitions excluding weights and bonds - -**Blockchain Storage Implementation:** - -**Core Storage Maps:** -- **Keys**: Maps (netuid, uid) to hotkey for UID-to-hotkey lookup - - `subtensor/pallets/subtensor/src/lib.rs:1537-1541` - `pub type Keys = StorageDoubleMap<_, Identity, u16, Identity, u16, T::AccountId, OptionQuery>;` -- **Uids**: Maps (netuid, hotkey) to uid for hotkey-to-UID lookup - - `subtensor/pallets/subtensor/src/lib.rs:1533-1536` - `pub type Uids = StorageDoubleMap<_, Identity, u16, Blake2_128Concat, T::AccountId, u16, OptionQuery>;` -- **Owner**: Maps hotkey to coldkey for ownership verification - - `subtensor/pallets/subtensor/src/lib.rs:1542` - `pub type Owner = StorageMap<_, Blake2_128Concat, T::AccountId, T::AccountId, OptionQuery>;` - -**Performance Metrics Storage:** -- **Rank, Trust, Consensus, Incentive**: Stored as u16 vectors per subnet - - `subtensor/pallets/subtensor/src/lib.rs:1525-1532` - Various metric storage maps -- **Emission**: Stored as u64 values representing emission rates - - `subtensor/pallets/subtensor/src/lib.rs:1524` - `pub type Emission = StorageMap<_, Identity, u16, Vec, ValueQuery, EmptyU64Vec>;` -- **ValidatorPermit**: Boolean vector indicating validator permissions - - `subtensor/pallets/subtensor/src/lib.rs:1549-1552` - `pub type ValidatorPermit = StorageMap<_, Identity, u16, Vec, ValueQuery, EmptyBoolVec>;` - -**Neuron Registration Process:** - -**Registration Methods:** -- **Proof-of-Work Registration**: Traditional registration requiring computational work - - `subtensor/pallets/subtensor/src/subnets/registration.rs:214-339` - `do_registration()` implementation -- **Burned Registration**: Registration by burning TAO tokens - - `subtensor/pallets/subtensor/src/subnets/registration.rs:54-206` - `do_burned_registration()` implementation -- **Root Registration**: Special registration for root network (netuid 0) - - `subtensor/pallets/subtensor/src/macros/dispatches.rs:914` - `root_register()` extrinsic - -**Registration Algorithm:** -- **Append vs Replace Logic**: New neurons either append to subnet or replace existing ones - - `subtensor/pallets/subtensor/src/subnets/registration.rs:8-35` - `register_neuron()` implementation -- **Pruning Selection**: When subnet is full, neuron with lowest pruning score is replaced - - `subtensor/pallets/subtensor/src/subnets/registration.rs:405-485` - `get_neuron_to_prune()` algorithm -- **Immunity Period**: New neurons are protected from pruning for a configurable period - - `subtensor/pallets/subtensor/src/utils/misc.rs:448` - `get_neuron_is_immune()` function - -**Neuron Lifecycle Management:** - -**Append Neuron Process:** -- **UID Assignment**: New neurons get the next available UID (equal to current subnet size) - - `subtensor/pallets/subtensor/src/subnets/uids.rs:75-95` - `append_neuron()` implementation -- **Storage Expansion**: All metric vectors are expanded to accommodate new neuron - - `subtensor/pallets/subtensor/src/subnets/uids.rs:85-95` - Vector expansion for new neuron -- **Default Values**: New neurons start with zero values for all metrics - - `subtensor/pallets/subtensor/src/subnets/uids.rs:85-95` - Default value initialization - -**Replace Neuron Process:** -- **Old Neuron Cleanup**: Previous neuron's data is cleared and associations removed - - `subtensor/pallets/subtensor/src/subnets/uids.rs:35-75` - `replace_neuron()` implementation -- **New Neuron Setup**: New neuron inherits the UID with fresh default values - - `subtensor/pallets/subtensor/src/subnets/uids.rs:65-75` - New neuron initialization -- **Bond Clearing**: All bonds are cleared when neurons are replaced - - `subtensor/pallets/subtensor/src/subnets/uids.rs:25-30` - `clear_neuron()` function - -**Pruning Algorithm:** -- **Score-Based Selection**: Neuron with lowest pruning score is selected for replacement - - `subtensor/pallets/subtensor/src/subnets/registration.rs:405-485` - Pruning score evaluation -- **Immunity Protection**: Neurons within immunity period are protected from pruning - - `subtensor/pallets/subtensor/src/subnets/registration.rs:430-485` - Immunity period logic -- **Tie-Breaking**: When scores are equal, earliest registered neuron is pruned - - `subtensor/pallets/subtensor/src/subnets/registration.rs:440-485` - Registration time tie-breaking - -**Neuron API and Retrieval:** - -**Python SDK Methods:** -- **Individual Neuron Retrieval**: Get neuron by UID or hotkey - - `bittensor/core/subtensor.py:1369-1411` - `get_neuron_for_pubkey_and_subnet()` implementation - - `bittensor/core/async_subtensor.py:2183-2229` - Async version of neuron retrieval -- **Batch Neuron Retrieval**: Get all neurons in a subnet - - `bittensor/core/subtensor_api/neurons.py:1-16` - `Neurons` class for batch operations -- **UID Lookup**: Find UID for a given hotkey on a subnet - - `bittensor/core/subtensor.py:1922-1947` - `get_uid_for_hotkey_on_subnet()` implementation - -**Blockchain RPC Methods:** -- **Runtime API**: Neurons are retrieved via `NeuronInfoRuntimeApi` - - `subtensor/pallets/subtensor/src/rpc_info/neuron_info.rs:155` - `get_neuron()` RPC method -- **Storage Queries**: Direct storage access for UID and hotkey lookups - - `subtensor/pallets/subtensor/src/subnets/uids.rs:130-150` - UID lookup functions -- **Batch Retrieval**: Efficient retrieval of all neurons in a subnet - - `subtensor/pallets/subtensor/src/rpc_info/neuron_info.rs:210-238` - `get_neurons_lite()` implementation - -**Neuron State Management:** - -**Active Status:** -- **Active Flag**: Boolean indicating if neuron is currently active - - `bittensor/core/chain_data/neuron_info.py:26` - `active (int): The active status of the neuron.` -- **Last Update**: Block number of last activity for staleness detection - - `bittensor/core/chain_data/neuron_info.py:37` - `last_update (int): The timestamp of the last update.` -- **Staleness Filtering**: Neurons with outdated last_update are filtered from consensus - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:570-575` - Staleness filtering in epoch - -**Validator Permits:** -- **Permit Assignment**: Top K neurons by stake receive validator permits - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:520-523` - Validator permit assignment -- **Access Control**: Only permitted neurons can set weights and participate in consensus - - `subtensor/pallets/subtensor/src/subnets/weights.rs:745-748` - Weight setting permission check -- **Dynamic Updates**: Permits are recalculated every epoch based on current stake - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:847` - Permit storage update - -**Neuron Performance Metrics:** - -**Core Metrics Calculation:** -- **Rank**: Performance rank based on trust and incentive scores - - `bittensor/core/chain_data/neuron_info.py:30` - `rank (float): The rank score of the neuron.` -- **Trust**: Consensus-based trust score from inter-peer weights - - `bittensor/core/chain_data/neuron_info.py:33` - `trust (float): The trust score.` -- **Consensus**: Agreement level with other validators - - `bittensor/core/chain_data/neuron_info.py:32` - `consensus (float): The consensus score.` -- **Incentive**: Reward allocation based on performance - - `bittensor/core/chain_data/neuron_info.py:31` - `incentive (float): The incentive value.` - -**Emission and Dividends:** -- **Emission**: TAO emission rate to the neuron - - `bittensor/core/chain_data/neuron_info.py:30` - `emission (float): The emission rate.` -- **Dividends**: Additional rewards from bond investments - - `bittensor/core/chain_data/neuron_info.py:35` - `dividends (float): The dividends value.` -- **Validator Trust**: Specialized trust score for validator neurons - - `bittensor/core/chain_data/neuron_info.py:34` - `validator_trust (float): The validation trust score.` - -**Neuron Network Operations:** - -**Weight Setting:** -- **Weight Matrix**: Neurons set weights to other neurons, forming the consensus matrix - - `subtensor/pallets/subtensor/src/lib.rs:1543-1549` - `Weights` storage definition -- **Permission Control**: Only validator-permitted neurons can set non-self weights - - `subtensor/pallets/subtensor/src/subnets/weights.rs:745-748` - Weight setting restrictions -- **Self-Weight Exception**: All neurons can set self-weights regardless of permit status - - `subtensor/pallets/subtensor/src/subnets/weights.rs:961-963` - Self-weight permission logic - -**Bond Formation:** -- **Bond Investment**: Validators form bonds to miners based on performance assessment - - `subtensor/pallets/subtensor/src/lib.rs:1560-1566` - `Bonds` storage definition -- **EMA Bonds**: Bonds are smoothed using exponential moving average - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:687` - EMA bond computation -- **Bond Retention**: Bonds are retained only by neurons with validator permits - - `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:849-862` - Bond retention logic - -**Neuron Testing and Validation:** - -**Registration Testing:** -- **Successful Registration**: Tests verify proper neuron registration and UID assignment - - `subtensor/pallets/subtensor/src/tests/registration.rs:102-192` - Registration success tests -- **Pruning Scenarios**: Tests verify correct neuron replacement when subnet is full - - `subtensor/pallets/subtensor/src/tests/registration.rs:583-701` - Pruning algorithm tests -- **Immunity Period**: Tests verify immunity protection during registration - - `subtensor/pallets/subtensor/src/tests/registration.rs:1261-1300` - Immunity period tests - -**Neuron Lifecycle Testing:** -- **Replace Neuron**: Tests verify proper neuron replacement and data clearing - - `subtensor/pallets/subtensor/src/tests/uids.rs:15-201` - Neuron replacement tests -- **Owner Protection**: Tests verify subnet owners are protected from pruning - - `subtensor/pallets/subtensor/src/tests/uids.rs:424-542` - Owner protection tests -- **Bond Management**: Tests verify bond clearing during neuron replacement - - `subtensor/pallets/subtensor/src/tests/uids.rs:201-266` - Bond clearing tests - -**Mock Implementation:** -- **Mock Subtensor**: Provides in-memory neuron management for testing - - `bittensor/utils/mock/subtensor_mock.py:725-786` - Mock neuron retrieval methods -- **Force Registration**: Allows test-specific neuron registration - - `bittensor/utils/mock/subtensor_mock.py:470-499` - `force_register_neuron()` method -- **State Management**: Mock maintains neuron state across test scenarios - - `bittensor/utils/mock/subtensor_mock.py:823-873` - `_neuron_subnet_exists()` implementation - -**Key Mathematical Insights:** -1. **Neuron = UID + Hotkey + Coldkey**: Each neuron is uniquely identified by its UID and key pair -2. **Registration = Append or Replace**: New neurons either expand the subnet or replace existing ones -3. **Pruning = Lowest Score**: Neurons with lowest pruning scores are replaced when subnet is full -4. **Immunity = Protection Period**: New neurons are protected from pruning for a configurable period -5. **Performance = Multi-Metric**: Neuron performance is measured by rank, trust, consensus, and incentive +Neurons participate in the network through axon servers (miners) and dendrite clients (validators), exchanging synapse objects to perform subnet-specific tasks. Their performance is measured through metrics like rank, trust, consensus, and incentive scores, which determine emissions and validator permits. -**Network Security Properties:** -- **Economic Barriers**: Registration costs prevent Sybil attacks -- **Performance-Based Pruning**: Low-performing neurons are automatically replaced -- **Stake-Based Permits**: Validator permits require economic stake for consensus participation -- **Dynamic Adjustment**: Neuron state adapts to changing network conditions -- **Owner Protection**: Subnet owners are protected from pruning to ensure network stability - -**Complete Neuron Lifecycle:** -1. **Registration** → Neuron registers via PoW or burned registration -2. **UID Assignment** → Neuron receives unique UID within subnet -3. **Immunity Period** → Neuron is protected from pruning for configurable blocks -4. **Performance Building** → Neuron accumulates rank, trust, consensus, and incentive -5. **Validator Permit** → Top K neurons by stake receive validator permits -6. **Weight Setting** → Permitted neurons can set weights and participate in consensus -7. **Bond Formation** → Validators form bonds to miners based on performance -8. **Emission Distribution** → Neurons receive TAO emissions based on performance -9. **Performance Monitoring** → Neuron performance is continuously evaluated -10. **Pruning Risk** → Low-performing neurons risk replacement by new registrations - -**Neuron vs Subnet Relationship:** -- **Subnet Container**: Neurons exist within specific subnets identified by netuid -- **Subnet Limits**: Each subnet has maximum allowed UIDs (typically 256) -- **Subnet-Specific**: Neuron metrics and state are subnet-specific -- **Cross-Subnet**: Neurons can participate in multiple subnets with different UIDs -- **Subnet Governance**: Subnet owners have special privileges and protection - -**Neuron vs Validator/Miner Roles:** -- **Neuron = Container**: Neuron is the container entity that can be either validator or miner -- **Validator = Role**: Neurons with validator permits can set weights and participate in consensus -- **Miner = Role**: Neurons without validator permits perform subnet-specific tasks -- **Role Flexibility**: Neurons can change roles based on permit status and stake -- **Performance Metrics**: Both roles contribute to neuron's overall performance score +**See also:** [Understanding Neurons](./learn/neurons.md), [Subnet Validators](./validators/), [Subnet Miners](./miners/), [NeuronInfo class](pathname:///python-api/html/autoapi/bittensor/core/chain_data/neuron_info/index.html) ## N From bb84c945578f42e89e04ef7e99863471de916b36 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 12:02:06 -0700 Subject: [PATCH 119/303] wip --- docs/glossary.md | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index cf75aaab09..2890ec335b 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -65,7 +65,7 @@ The commit reveal feature is designed to solve the weight-copying problem by giv **See also:** [Commit Reveal](./subnets/commit-reveal.md) ### Consensus Score - + The consensus score is calculated as the stake-weighted median of all weights assigned to a specific neuron by validators. This creates a consensus threshold that filters out outlier weights, ensuring that only weights near the median consensus are used in final rank calculations. **See also:** [Yuma Consensus](./yuma-consensus.md), [Consensus-Based Weights](./subnets/consensus-based-weights.md) @@ -948,10 +948,7 @@ Where: ### Validator-Miner Bonds -A mechanism in the Bittensor network that represents the investment relationship between validators and miners, used to calculate validator emissions and incentivize consistent, honest evaluation of miner performance. - -**Core Concept:** -Bonds represent the "investment" a validator has made in evaluating a specific miner. This bonding mechanism is integral to the network's market-based approach to measuring and rewarding machine intelligence through the Yuma Consensus algorithm. +Bonds represent the "investment" a validator has made in evaluating a specific miner. This bonding mechanism is integral to the Yuma Consensus' design intent of incentivizing high-quality performance by miners, and honest evaluation by validators. **Bond Formation Process:** @@ -977,9 +974,9 @@ Where: Instant bonds are smoothed over time using EMA to prevent abrupt changes: $$B_{ij}^{(t)} = \alpha \Delta B_{ij} + (1-\alpha)B_{ij}^{(t-1)}$$ -Where $\alpha$ is the EMA smoothing factor (typically around 10%). +Where $\alpha$ is the EMA smoothing factor. -**Bond Mechanics and Incentives:** +**Bond Mechanics and Design:** **Consensus Alignment:** - Validators who stay near consensus build stronger EMA bonds @@ -987,14 +984,6 @@ Where $\alpha$ is the EMA smoothing factor (typically around 10%). - The EMA smooths out abrupt swings in validator behavior - Bonds incentivize consistent alignment with consensus -**Validator Emissions:** -Each validator's share of validator emissions (41% of subnet emissions) is calculated as: -$$V_i = \sum_{j \in \mathbb{M}} (B_{ij} \times M_j)$$ - -Where $M_j$ is miner $j$'s share of miner emissions. - -**Bond Management:** - **Bond Retention:** - Neurons retain bonds only if they keep validator permits - Bonds are cleared when neurons lose validator permits @@ -1005,8 +994,6 @@ Where $M_j$ is miner $j$'s share of miner emissions. - Higher decay rates make bonds more responsive to recent performance - Lower decay rates allow bonds to persist longer -**Network Security Properties:** - **Anti-Manipulation:** - Bonds prevent weight manipulation through economic penalties - Validators must "put skin in the game" to influence consensus @@ -1050,13 +1037,12 @@ Where $M_j$ is miner $j$'s share of miner emissions. - Bonds create market-based incentive alignment **Code References:** -- `pallets/subtensor/src/epoch/run_epoch.rs:631` - Bond calculation in epoch execution -- `pallets/subtensor/src/epoch/math.rs:1475` - EMA bond computation -- `bittensor/core/async_subtensor.py:931` - Bonds API method -- `pallets/subtensor/src/lib.rs:1560` - Bonds storage definition - -**See also:** [Yuma Consensus](./yuma-consensus), [Emissions](./emissions), [Trust](#trust), [Validator Permits](#vpermit) +- [Bond calculation in epoch execution]https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs:631) +- [EMA bond computation]https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/math.rs:1475) +- [Bonds API method]https://github.com/opentensor/subtensor/blob/main/bittensor/core/async_subtensor.py:931) +- [Bonds storage definition]https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs:1560) +**See also:** [Yuma Consensus](./yuma-consensus), [Emissions](./emissions) ### Validator Take % From 20388cae9c5c8adef3e9f4ba44387c04f2d63e60 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 12:12:38 -0700 Subject: [PATCH 120/303] wip --- docs/glossary.md | 218 +---------------------------------------------- 1 file changed, 2 insertions(+), 216 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index 2890ec335b..6bfa9a04c6 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -209,223 +209,9 @@ Authentication mechanism for delegates and nominators and for delegates particip ### Immunity Period -A grace period granted to a newly registered subnet miner or subnet validator, during which they will not be deregistered due to performance. Allows a miner or validator new to the subnet to adapt and improve their performance, in order to avoid deregistration once the immunity period expires. +A grace period granted to newly registered neurons during which they are protected from deregistration due to poor performance. The immunity period allows new miners and validators time to establish themselves and improve their performance before becoming eligible for pruning. The default period being is 4096 blocks (~13.7 hours), but can be configured by the subnet creator. -**See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/) - -Code References and Implementation Details - -**Immunity Period as Protection Mechanism:** -- Immunity period provides a grace period for new neurons to establish themselves without immediate deregistration risk - - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `get_neuron_is_immune()` implementation -- Immunity status is calculated dynamically based on registration block and current block - - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `current_block.saturating_sub(registered_at) < u64::from(immunity_period)` -- Immunity period is configurable per subnet and can be adjusted by subnet owners - - `subtensor/pallets/subtensor/src/lib.rs:1369-1371` - `pub type ImmunityPeriod = StorageMap<_, Identity, u16, u16, ValueQuery, DefaultImmunityPeriod>;` - -**Storage and Configuration:** - -**Core Storage Implementation:** -- **ImmunityPeriod Storage**: Maps netuid to immunity period value in blockchain state - - `subtensor/pallets/subtensor/src/lib.rs:1369-1371` - `pub type ImmunityPeriod = StorageMap<_, Identity, u16, u16, ValueQuery, DefaultImmunityPeriod>;` -- **Default Values**: Network-wide configuration for immunity period - - `subtensor/pallets/subtensor/src/lib.rs:660-662` - `DefaultImmunityPeriod()` - Default 4096 blocks - - `subtensor/runtime/src/lib.rs:1077` - `pub const SubtensorInitialImmunityPeriod: u16 = 4096;` -- **BlockAtRegistration Storage**: Tracks registration block for each neuron - - `subtensor/pallets/subtensor/src/lib.rs:1580-1588` - `pub type BlockAtRegistration = StorageDoubleMap<_, Identity, u16, Identity, u16, u64, ValueQuery, DefaultBlockAtRegistration>;` - -**Immunity Status Calculation:** - -**Dynamic Immunity Check:** -- **Registration Block Retrieval**: Gets the block number when neuron was registered - - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `let registered_at = Self::get_neuron_block_at_registration(netuid, uid);` -- **Current Block Retrieval**: Gets the current blockchain block number - - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `let current_block = Self::get_current_block_as_u64();` -- **Immunity Period Retrieval**: Gets the configured immunity period for the subnet - - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `let immunity_period = Self::get_immunity_period(netuid);` -- **Immunity Formula**: `is_immune = (current_block - registered_at) < immunity_period` - - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `current_block.saturating_sub(registered_at) < u64::from(immunity_period)` - -**Pruning Algorithm Integration:** - -**Pruning Score Calculation:** -- **Score-Based Selection**: Neuron with lowest pruning score is selected for replacement - - `subtensor/pallets/subtensor/src/subnets/registration.rs:409-485` - `get_neuron_to_prune()` implementation -- **Immunity Priority**: Non-immune neurons are prioritized over immune neurons for pruning - - `subtensor/pallets/subtensor/src/subnets/registration.rs:439-485` - Immunity status check in pruning algorithm -- **Tie-Breaking**: When scores are equal, earliest registered neuron is pruned - - `subtensor/pallets/subtensor/src/subnets/registration.rs:440-485` - Registration time tie-breaking - -**Pruning Algorithm Logic:** - -**Two-Tier Selection Process:** -- **Non-Immune Neurons**: First priority for pruning when available - - `subtensor/pallets/subtensor/src/subnets/registration.rs:454-465` - Non-immune neuron selection logic -- **Immune Neurons**: Second priority, only pruned when all neurons are immune - - `subtensor/pallets/subtensor/src/subnets/registration.rs:440-453` - Immune neuron selection logic -- **Owner Protection**: Subnet owner hotkey is protected from pruning regardless of immunity status - - `subtensor/pallets/subtensor/src/subnets/registration.rs:425-433` - Owner protection check - -**Score Comparison Logic:** -- **Lower Score Priority**: Neurons with lower pruning scores are selected first - - `subtensor/pallets/subtensor/src/subnets/registration.rs:440-485` - Score comparison in pruning algorithm -- **Registration Time Tie-Breaking**: When scores are equal, earlier registration wins - - `subtensor/pallets/subtensor/src/subnets/registration.rs:440-485` - Registration time comparison -- **UID Tie-Breaking**: When registration times are equal, lower UID wins - - `subtensor/pallets/subtensor/src/subnets/registration.rs:440-485` - UID-based tie-breaking - -**Registration Process Integration:** - -**Registration Block Recording:** -- **Block Storage**: Registration block is recorded when neuron is registered - - `subtensor/pallets/subtensor/src/subnets/registration.rs:214-339` - Registration block storage in `do_registration()` -- **Timestamp Tracking**: Each neuron's registration time is tracked for immunity calculation - - `subtensor/pallets/subtensor/src/lib.rs:1580-1588` - `BlockAtRegistration` storage definition -- **Dynamic Updates**: Immunity status updates automatically as blocks progress - -**Registration Methods:** -- **Proof-of-Work Registration**: Traditional registration with block recording - - `subtensor/pallets/subtensor/src/subnets/registration.rs:214-339` - `do_registration()` implementation -- **Burned Registration**: Registration by burning TAO with block recording - - `subtensor/pallets/subtensor/src/subnets/registration.rs:54-206` - `do_burned_registration()` implementation - -**Python SDK Integration:** - -**Immunity Period Retrieval:** -- **Synchronous Method**: `subtensor.immunity_period()` retrieves immunity period for subnet - - `bittensor/bittensor/core/subtensor.py:1998-2025` - `immunity_period()` implementation -- **Asynchronous Method**: `async_subtensor.immunity_period()` for async operations - - `bittensor/bittensor/core/async_subtensor.py:2931-2970` - Async `immunity_period()` implementation -- **Block-Specific Queries**: Immunity period can be queried at specific block numbers - - `bittensor/bittensor/core/subtensor.py:1998-2025` - Block parameter support - -**Testing and Validation:** - -**Comprehensive Test Coverage:** -- **Immunity Status Testing**: Tests verify correct immunity calculation - - `subtensor/pallets/subtensor/src/tests/registration.rs:621-675` - Immunity status validation tests -- **Pruning Algorithm Testing**: Tests verify immunity-aware pruning - - `subtensor/pallets/subtensor/src/tests/registration.rs:583-701` - Pruning algorithm tests -- **Edge Case Testing**: Tests verify behavior when all neurons are immune - - `subtensor/pallets/subtensor/src/tests/registration.rs:1261-1311` - All-immune scenarios - -**Test Scenarios:** -- **Mixed Immunity**: Tests with both immune and non-immune neurons - - `subtensor/pallets/subtensor/src/tests/registration.rs:583-701` - Mixed immunity test scenarios -- **All Immune**: Tests when all neurons are in immunity period - - `subtensor/pallets/subtensor/src/tests/registration.rs:1261-1311` - All-immune test scenarios -- **Tie-Breaking**: Tests for score and registration time tie-breaking - - `subtensor/pallets/subtensor/src/tests/registration.rs:583-701` - Tie-breaking validation - -**Network Configuration:** - -**Default Network Parameters:** -- **SubtensorInitialImmunityPeriod**: 4096 blocks (default for mainnet) - - `subtensor/runtime/src/lib.rs:1077` - Default immunity period value -- **Test Immunity Period**: 2 blocks (for testing environments) - - `subtensor/pallets/subtensor/src/tests/mock.rs:161` - Test immunity period value -- **Subnet-Specific**: Each subnet can have different immunity periods - - `subtensor/pallets/subtensor/src/lib.rs:1369-1371` - Per-subnet immunity period storage - -**Configuration Management:** -- **Subnet Owner Control**: Subnet owners can adjust immunity period - - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - Immunity period management functions -- **Dynamic Adjustment**: Immunity period can be changed during subnet operation - - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - `set_immunity_period()` function -- **Event Emission**: Immunity period changes emit blockchain events - - `subtensor/pallets/subtensor/src/utils/misc.rs:442-448` - Event emission for immunity changes - -**Key Mathematical Insights:** -1. **Immunity Formula**: `is_immune = (current_block - registered_at) < immunity_period` -2. **Block Duration**: Each block is 12 seconds, so 4096 blocks = ~13.7 hours -3. **Dynamic Status**: Immunity status updates every block automatically -4. **Pruning Priority**: Non-immune neurons are pruned before immune neurons -5. **Owner Protection**: Subnet owners are protected regardless of immunity status - -**Network Security Properties:** -- **Grace Period**: New neurons have time to establish performance -- **Performance Pressure**: Immunity eventually expires, creating performance incentives -- **Owner Stability**: Subnet owners are protected from immediate pruning -- **Dynamic Adjustment**: Immunity periods can be tuned per subnet needs -- **Fair Competition**: Immunity prevents immediate replacement of new participants - -**Complete Immunity Period Flow:** -1. **Registration** → Neuron registers and registration block is recorded -2. **Immunity Calculation** → System calculates immunity status every block -3. **Performance Building** → Neuron has immunity_period blocks to improve performance -4. **Immunity Expiration** → Neuron becomes eligible for pruning after immunity expires -5. **Pruning Evaluation** → Non-immune neurons are prioritized for pruning -6. **Owner Protection** → Subnet owners are protected regardless of immunity status -7. **Dynamic Updates** → Immunity status updates automatically with each block - -**Immunity Period vs Other Protection Mechanisms:** -- **Immunity Period**: Temporary protection for new neurons (4096 blocks) -- **Owner Protection**: Permanent protection for subnet owners -- **Validator Permits**: Performance-based validation rights -- **Stake Requirements**: Economic barriers to participation -- **Rate Limiting**: Transaction frequency restrictions - -**Economic Implications:** -- **Performance Incentives**: Immunity creates pressure to improve performance -- **Network Stability**: Prevents rapid turnover of new participants -- **Owner Commitment**: Protects subnet owners from immediate replacement -- **Competition Balance**: Balances protection with performance requirements -- **Dynamic Governance**: Allows subnet-specific immunity tuning - -**Python SDK Usage:** - -**Getting Immunity Period:** -```python -import bittensor as bt - -# Initialize subtensor connection -subtensor = bt.subtensor() - -# Get immunity period for a subnet -immunity_period = subtensor.immunity_period(netuid=1) -print(f"Immunity period: {immunity_period} blocks") # e.g., "Immunity period: 4096 blocks" - -# Get immunity period at specific block -immunity_period_at_block = subtensor.immunity_period(netuid=1, block=1000000) -print(f"Immunity period at block 1000000: {immunity_period_at_block}") -``` - -**Async Usage:** -```python -async def get_immunity_period(): - async with bt.subtensor() as subtensor: - immunity_period = await subtensor.immunity_period(netuid=1) - return immunity_period - -# Usage -immunity_period = await get_immunity_period() -print(f"Immunity period: {immunity_period} blocks") -``` - -**Error Handling:** -- **Subnet Not Found**: Returns `None` if subnet doesn't exist - - `bittensor/bittensor/core/subtensor.py:1998-2025` - Error handling in immunity_period() -- **Block Not Found**: Returns `None` if specified block doesn't exist - - `bittensor/bittensor/core/subtensor.py:1998-2025` - Block validation -- **Network Issues**: Handles connection and RPC errors gracefully - - `bittensor/bittensor/core/subtensor.py:1998-2025` - Network error handling - -**Testing Examples:** -- **E2E Tests**: `bittensor/tests/e2e_tests/test_root_set_weights.py:63-115` - Immunity period testing -- **Unit Tests**: `bittensor/tests/unit_tests/test_subtensor_extended.py` - SDK method testing -- **Async Tests**: `bittensor/tests/unit_tests/test_async_subtensor.py` - Async method testing - -**Immunity Period Calculation Examples:** -- **Block 1000 Registration**: Immunity until block 5096 (1000 + 4096) -- **Block 5000 Registration**: Immunity until block 9096 (5000 + 4096) -- **Current Block 8000**: Neuron registered at block 3000 is no longer immune -- **Current Block 6000**: Neuron registered at block 2000 is no longer immune - -**Network Configuration Examples:** -- **Subnet 1**: 7200 blocks immunity period (24 hours) -- **Default Subnets**: 4096 blocks immunity period (~13.7 hours) -- **Test Networks**: 2 blocks immunity period (24 seconds) -- **Custom Subnets**: Configurable immunity periods based on subnet needs +**See also:** [Miner Deregistration](./miners/#miner-deregistration), [Validator Deregistration](./validators/index.md#validator-deregistration), [Subnet Hyperparameters](./subnets/subnet-hyperparameters.md#immunityperiod) ### Incentives From 33498149de57641d43b730737a253810763b9523 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 12:18:04 -0700 Subject: [PATCH 121/303] wip --- docs/glossary.md | 2 +- docs/miners/index.md | 12 ++++++++++ docs/validators/index.md | 49 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 1 deletion(-) diff --git a/docs/glossary.md b/docs/glossary.md index 6bfa9a04c6..b6c7e746b0 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -263,7 +263,7 @@ The primary Bittensor blockchain network, used for production purposes and conne A data structure that contains comprehensive information about the current state of a subnet, including detailed information on all the nodes (neurons) such as subnet validator stakes and subnet weights in the subnet. Metagraph aids in calculating emissions. -**See also:** [Subtensor API](./sdk/subtensor-api.md), [Understanding Subnets](./subnets/understanding-subnets.md) +**See:** [The Subnet Metagraph](./subnets/metagraph) ### Miner Deregistration diff --git a/docs/miners/index.md b/docs/miners/index.md index c32eeb2b2d..a303cfe11a 100644 --- a/docs/miners/index.md +++ b/docs/miners/index.md @@ -85,6 +85,18 @@ Every subnet has an `immunity_period` hyperparameter expressed in a number of bl A subnet neuron (miner or validator) at a UID (in that subnet) has `immunity_period` blocks to improve its performance. When `immunity_period` expires, that miner or validator can be deregistered if it has the lowest performance in the subnet and a new registration arrives. +**Implementation Details:** + +Immunity status is calculated dynamically using the formula `is_immune = (current_block - registered_at) < immunity_period`, where: +- `current_block` is the current blockchain block number +- `registered_at` is the block number when the neuron was registered +- `immunity_period` is the configured protection period for the subnet (default: 4096 blocks ≈ 13.7 hours) + + +**Code References:** +- [`subtensor/pallets/subtensor/src/utils/misc.rs:442-448`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/utils/misc.rs#L442-448) - Immunity status calculation +- [`subtensor/pallets/subtensor/src/subnets/registration.rs:409-485`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/subnets/registration.rs#L409-485) - Pruning algorithm with immunity priority + :::tip Special cases - In the unlikely event that all neurons are still immune, the one with the lowest "pruning score" will be deregistered by the next incoming registration. diff --git a/docs/validators/index.md b/docs/validators/index.md index 493e8f4717..5ad1757623 100644 --- a/docs/validators/index.md +++ b/docs/validators/index.md @@ -95,6 +95,17 @@ Every subnet has an `immunity_period` hyperparameter expressed in a number of bl A subnet neuron (miner or validator) at a UID (in that subnet) has `immunity_period` blocks to improve its performance. When `immunity_period` expires, that miner or validator can be deregistered if it has the lowest performance in the subnet and a new registration arrives. +**Implementation Details:** + +Immunity status is calculated dynamically using the formula `is_immune = (current_block - registered_at) < immunity_period`, where: +- `current_block` is the current blockchain block number +- `registered_at` is the block number when the neuron was registered +- `immunity_period` is the configured protection period for the subnet (default: 4096 blocks ≈ 13.7 hours) + +**Code References:** +- [`subtensor/pallets/subtensor/src/utils/misc.rs:442-448`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/utils/misc.rs#L442-448) - Immunity status calculation +- [`subtensor/pallets/subtensor/src/subnets/registration.rs:409-485`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/subnets/registration.rs#L409-485) - Pruning algorithm with immunity priority + :::tip Special cases - In the unlikely event that all neurons are still immune, the one with the lowest "pruning score" will be deregistered by the next incoming registration. @@ -143,6 +154,44 @@ my_uid = subnet.hotkeys.index( wallet.hotkey.ss58_address ) print(f'Validator permit: {subnet.validator_permit(my_uid)}') ``` +## Validator Permits + + +Validator permits control which neurons can participate in validation activities within a subnet. The system operates on a stake-weighted basis, ensuring that only high-stake, trusted neurons can influence consensus. + +### Permit Calculation Algorithm + +Validator permits are calculated every epoch using the following process: + +1. **Stake Filtering**: Only neurons with sufficient stake (minimum 1000 stake weight) are considered +2. **Top-K Selection**: The top K neurons by stake weight are awarded validator permits (typically top 64) +3. **Dynamic Updates**: Permits are recalculated every epoch based on current stake distribution + +### Access Control and Security + +Validator permits control several critical network functions: + +- **Weight Setting**: Only permitted neurons can set non-self weights +- **Consensus Participation**: Only permitted neurons contribute to Yuma Consensus +- **Bond Management**: Neurons retain bonds only if they keep validator permits +- **Active Stake**: Only permitted neurons contribute to active stake calculations + +### Permit Requirements + +To obtain a validator permit, a neuron must meet these criteria: + +- **Minimum Stake**: At least 1000 stake weight (α + 0.18 × τ) +- **Top K Ranking**: Be among the top K neurons by stake weight +- **Active Status**: Maintain active participation in the subnet + + +### Code References + +- Validator permit calculation: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:520-523`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L520-523) +- Top-K selection algorithm: [`subtensor/pallets/subtensor/src/epoch/math.rs:250-260`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/math.rs#L250-260) +- Access control: [`subtensor/pallets/subtensor/src/subnets/weights.rs:745-748`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/subnets/weights.rs#L745-748) + + ## Inspecting UIDs After you obtain a UID slot, you can view the status of your registered wallet by running: From 2bf372d501838ce6cbeabc492e56a7e4e2bb8803 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 2 Jul 2025 22:25:16 +0100 Subject: [PATCH 122/303] docs: updated command descriptions --- docs/btcli.md | 1307 ++++++++++++++----------------------------------- 1 file changed, 358 insertions(+), 949 deletions(-) diff --git a/docs/btcli.md b/docs/btcli.md index 1aa7c0cfc2..a13a957d25 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -52,10 +52,9 @@ aliases: conf, c **Commands**: -- `set`: Sets or updates configuration values in... +- `set`: Sets or updates configuration values in the BTCLI config file. - `get`: Prints the current config file in a table. -- `clear`: Clears the fields in the config file and... -- `metagraph`: Command option to configure the display of... +- `clear`: Clears the fields in the config file and sets them to 'None'. ### `btcli config set` @@ -76,7 +75,7 @@ Note: - Network values can be network names (e.g., 'finney', 'test') or websocket URLs - Rate tolerance is specified as a decimal (e.g., 0.05 for 0.05%) -- Changes are saved to ~/.bittensor/btcli.yaml +- Changes are saved to `~/.bittensor/btcli.yaml` - Use `btcli config get` to view current settings **Usage**: @@ -147,21 +146,6 @@ btcli config clear [OPTIONS] - `--all` - `--help`: Show this message and exit. -### `btcli config metagraph` - -Command option to configure the display of the metagraph columns. - -**Usage**: - -```console -btcli config metagraph [OPTIONS] -``` - -**Options**: - -- `--reset`: Restore the display of metagraph columns to show all columns. -- `--help`: Show this message and exit. - ## `btcli view` Display html dashboard with subnets list, stake, and neuron information. @@ -206,30 +190,20 @@ aliases: w, wallets **Commands**: -- `list`: Displays all the wallets and their... -- `swap-hotkey`: Swap hotkeys of a given wallet on the... -- `regen-coldkey`: Regenerate a coldkey for a wallet on the... -- `regen-coldkeypub`: Regenerates the public part of a coldkey... +- `list`: Displays all the wallets and their corresponding hotkeys that are located in the wallet path specified in the config. +- `swap-hotkey`: Swap hotkeys of a given wallet on the blockchain. +- `regen-coldkey`: Regenerate a coldkey for a wallet on the Bittensor blockchain network. +- `regen-coldkeypub`: Regenerates the public part of a coldkey (coldkeypub.txt) for a wallet. - `regen-hotkey`: Regenerates a hotkey for a wallet. - `new-hotkey`: Create a new hotkey for a wallet. - `new-coldkey`: Create a new coldkey. -- `create`: Create a complete wallet by setting up... +- `create`: Create a complete wallet by setting up both coldkey and hotkeys. - `balance`: Check the balance of the wallet. -- `history`: Show the history of the transfers carried... -- `overview`: Displays a detailed overview of the user's... -- `transfer`: Send TAO tokens from one wallet to another... -- `inspect`: Displays the details of the user's wallet... -- `set-identity`: Create or update the on-chain identity of... -- `get-identity`: Shows the identity details of a user's... -- `sign`: Allows users to sign a message with the... -- `swap_hotkey`: Swap hotkeys of a given wallet on the... -- `regen_coldkey`: Regenerate a coldkey for a wallet on the... -- `regen_coldkeypub`: Regenerates the public part of a coldkey... -- `regen_hotkey`: Regenerates a hotkey for a wallet. -- `new_hotkey`: Create a new hotkey for a wallet. -- `new_coldkey`: Create a new coldkey. -- `set_identity`: Create or update the on-chain identity of... -- `get_identity`: Shows the identity details of a user's... +- `overview`: Displays a detailed overview of the user's registered accounts on the Bittensor network. +- `transfer`: Send TAO tokens from one wallet to another wallet on the Bittensor network. +- `set-identity`: Create or update the on-chain identity of a coldkey or a hotkey on the Bittensor network. +- `get-identity`: Shows the identity details of a user's coldkey or hotkey. +- `sign`: Allows users to sign a message with the provided wallet or wallet hotkey. ### `btcli wallet list` @@ -263,15 +237,12 @@ btcli wallet list [OPTIONS] Swap hotkeys of a given wallet on the blockchain. For a registered key pair, for example, a (coldkeyA, hotkeyA) pair, this command swaps the hotkeyA with a new, unregistered, hotkeyB to move the original registration to the (coldkeyA, hotkeyB) pair. -**Usage:** - -The command is used to swap the hotkey of a wallet for another hotkey on that same wallet. - -**Important:** +:::info - Make sure that your original key pair (coldkeyA, hotkeyA) is already registered. - Make sure that you use a newly created hotkeyB in this command. A hotkeyB that is already registered cannot be used in this command. - Finally, note that this command requires a fee of 1 TAO for recycling and this fee is taken from your wallet (coldkeyA). + ::: **Example:** @@ -283,6 +254,8 @@ btcli wallet swap_hotkey destination_hotkey_name --wallet-name your_wallet_name ```console btcli wallet swap-hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] + +alias: swap_hotkey ``` **Arguments**: @@ -316,12 +289,16 @@ Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" ``` -Note: This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. +:::info +This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. +::: **Usage**: ```console btcli wallet regen-coldkey [OPTIONS] + +alias: regen_coldkey ``` **Options**: @@ -354,12 +331,15 @@ The command requires either a public key in hexadecimal format or an `SS58` addr btcli wallet regen_coldkeypub --ss58_address 5DkQ4... ``` -Note: This command is particularly useful for users who need to regenerate their coldkeypub, perhaps due to file corruption or loss. You will need either ss58 address or public hex key from your old coldkeypub.txt for the wallet. It is a recovery-focused utility that ensures continued access to your wallet functionalities. - +:::info +This command is particularly useful for users who need to regenerate their coldkeypub, perhaps due to file corruption or loss. You will need either ss58 address or public hex key from your old coldkeypub.txt for the wallet. It is a recovery-focused utility that ensures continued access to your wallet functionalities. +::: **Usage**: ```console btcli wallet regen-coldkeypub [OPTIONS] + +alias: regen_coldkeypub ``` **Options**: @@ -387,13 +367,17 @@ Users can provide a mnemonic, seed string, or a JSON file to regenerate the hotk btcli wallet regen_hotkey --seed 0x1234... ``` -Note: This command is essential for users who need to regenerate their hotkey, possibly for security upgrades or key recovery. +:::info +This command is essential for users who need to regenerate their hotkey, possibly for security upgrades or key recovery. It should be used with caution to avoid accidental overwriting of existing keys. +::: **Usage**: ```console btcli wallet regen-hotkey [OPTIONS] + +alias: regen_hotkey ``` **Options**: @@ -425,12 +409,16 @@ existing hotkey. btcli wallet new-hotkey --n_words 24 ``` -Note: This command is useful to create additional hotkeys for different purposes, such as running multiple subnet miners or subnet validators or separating operational roles within the Bittensor network. +:::info +This command is useful to create additional hotkeys for different purposes, such as running multiple subnet miners or subnet validators or separating operational roles within the Bittensor network. +::: **Usage**: ```console btcli wallet new-hotkey [OPTIONS] + +alias: new_hotkey ``` **Options**: @@ -459,12 +447,16 @@ The command creates a new coldkey. It provides options for the mnemonic word cou btcli wallet new_coldkey --n_words 15 ``` -Note: This command is crucial for users who need to create a new coldkey for enhanced security or as part of setting up a new wallet. It is a foundational step in establishing a secure presence on the Bittensor network. +:::info +This command is crucial for users who need to create a new coldkey for enhanced security or as part of setting up a new wallet. It is a foundational step in establishing a secure presence on the Bittensor network. +::: **Usage**: ```console btcli wallet new-coldkey [OPTIONS] + +alias: new_coldkey ``` **Options**: @@ -563,35 +555,6 @@ btcli wallet balance [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli wallet history` - -Show the history of the transfers carried out with the provided wallet on the Bittensor network. - -**Usage:** - -The output shows the latest transfers of the provided wallet, showing the columns 'From', 'To', 'Amount', 'Extrinsic ID' and 'Block Number'. - -**Example:** - -``` -btcli wallet history -``` - -**Usage**: - -```console -btcli wallet history [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - ### `btcli wallet overview` Displays a detailed overview of the user's registered accounts on the Bittensor network. @@ -674,60 +637,6 @@ btcli wallet transfer [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli wallet inspect` - -Displays the details of the user's wallet pairs (coldkey, hotkey) on the Bittensor network. - -The output is presented as a table with the below columns: - -- Coldkey: The coldkey associated with the user's wallet. - -- Balance: The balance of the coldkey. - -- Delegate: The name of the delegate to which the coldkey has staked TAO. - -- Stake: The amount of stake held by both the coldkey and hotkey. - -- Emission: The emission or rewards earned from staking. - -- Netuid: The network unique identifier of the subnet where the hotkey is active (i.e., validating). - -- Hotkey: The hotkey associated with the neuron on the network. - -**Usage:** - -This command can be used to inspect a single wallet or all the wallets located at a specified path. It is useful for a comprehensive overview of a user's participation and performance in the Bittensor network. - -**Example:** - -``` -btcli wallet inspect -``` - -``` -btcli wallet inspect --all -n 1 -n 2 -n 3 -``` - -Note: The `inspect` command is for displaying information only and does not perform any transactions or state changes on the blockchain. It is intended to be used with Bittensor CLI and not as a standalone function in user code. - -**Usage**: - -```console -btcli wallet inspect [OPTIONS] -``` - -**Options**: - -- `-a, --all, --all-wallets`: Inspect all the wallets at the specified wallet path. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - ### `btcli wallet set-identity` Create or update the on-chain identity of a coldkey or a hotkey on the Bittensor network. Incurs a 1 TAO transaction fee. @@ -746,12 +655,16 @@ If the user does not have a hotkey, the coldkey address is used by default. If s btcli wallet set_identity ``` -Note: This command should only be used if the user is willing to incur the a recycle fee associated with setting an identity on the blockchain. It is a high-level command that makes changes to the blockchain state and should not be used programmatically as part of other scripts or applications. +:::info +This command should only be used if the user is willing to incur the a recycle fee associated with setting an identity on the blockchain. It is a high-level command that makes changes to the blockchain state and should not be used programmatically as part of other scripts or applications. +::: **Usage**: ```console btcli wallet set-identity [OPTIONS] + +alias: set_identity ``` **Options**: @@ -790,12 +703,16 @@ The command displays the information in a table format showing: btcli wallet get_identity --key <s58_address> ``` -Note: This command is primarily used for informational purposes and has no side effects on the blockchain network state. +:::info +This command is primarily used for informational purposes and has no side effects on the blockchain network state. +::: **Usage**: ```console btcli wallet get-identity [OPTIONS] + +alias: get_identity ``` **Options**: @@ -844,497 +761,196 @@ btcli wallet sign [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli wallet swap_hotkey` +## `btcli stake` -Swap hotkeys of a given wallet on the blockchain. For a registered key pair, for example, a (coldkeyA, hotkeyA) pair, this command swaps the hotkeyA with a new, unregistered, hotkeyB to move the original registration to the (coldkeyA, hotkeyB) pair. +**Usage**: -**Usage:** +```console +btcli stake [OPTIONS] COMMAND [ARGS]... -The command is used to swap the hotkey of a wallet for another hotkey on that same wallet. +alias: st +``` -**Important:** +**Options**: -- Make sure that your original key pair (coldkeyA, hotkeyA) is already registered. -- Make sure that you use a newly created hotkeyB in this command. A hotkeyB that is already registered cannot be used in this command. -- Finally, note that this command requires a fee of 1 TAO for recycling and this fee is taken from your wallet (coldkeyA). +- `--help`: Show this message and exit. -**Example:** +**Commands**: -``` -btcli wallet swap_hotkey destination_hotkey_name --wallet-name your_wallet_name --wallet-hotkey original_hotkey -``` +- `add`: Stake TAO to one or more hotkeys on specific netuids with your coldkey. +- `remove`: Unstake TAO from one or more hotkeys and transfer them back to the user's coldkey wallet. +- `list`: Display detailed stake information for a wallet across all subnets. +- `move`: Move staked TAO between hotkeys while keeping the same coldkey ownership. +- `transfer`: Transfer stake between coldkeys while keeping the same hotkey ownership. +- `swap`: Swap stake between different subnets while keeping the same coldkey-hotkey pair ownership. +- `child`: Child Hotkey commands, alias: `children` +- `children` -**Usage**: +### `btcli stake add` -```console -btcli wallet swap_hotkey [OPTIONS] [DESTINATION_HOTKEY_NAME] -``` +Stake TAO to one or more hotkeys on specific or multiple netuids with your coldkey. -**Arguments**: +Stakes are always added through your coldkey's free balance. For stake movement, see the [`btcli stake move`](#btcli-stake-move) command. -- `[DESTINATION_HOTKEY_NAME]`: Destination hotkey name. +Common Examples: -**Options**: +1. Interactive staking (guided prompts): -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. + ```sh + btcli stake add + ``` -### `btcli wallet regen_coldkey` +2. Safe staking with rate tolerance of 10% with partial transaction disabled: -Regenerate a coldkey for a wallet on the Bittensor blockchain network. + ```sh + btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.1 --no-partial + ``` -This command is used to create a new coldkey from an existing mnemonic, seed, or JSON file. +3. Allow partial stake if rates change with tolerance of 10%: -**Usage:** + ```sh + btcli stake add --amount 300 --safe --partial --tolerance 0.1 + ``` -Users can specify a mnemonic, a seed string, or a JSON file path to regenerate a coldkey. The command supports optional password protection for the generated key. +4. Unsafe staking with no rate protection: -**Example:** + ```sh + btcli stake add --amount 300 --netuid 1 --unsafe + ``` -``` -btcli wallet regen-coldkey --mnemonic "word1 word2 ... word12" -``` +5. Stake to multiple hotkeys: + + ```sh + btcli stake add --amount 200 --include-hotkeys hk_ss58_1,hk_ss58_2,hk_ss58_3 + ``` + +6. Stake the same amount of TAO into multiple subnets: + + ```sh + btcli stake add -n 4,14,64 --amount 100 + ``` + +7. Stake all balance to a subnet: + ```sh + btcli stake add --all --netuid 3 + ``` -Note: This command is critical for users who need to regenerate their coldkey either for recovery or for security reasons. +Safe Staking Parameters:--safe: Enables rate tolerance checks +--tolerance: Maximum % rate change allowed (0.05 = 5%) +--partial: Complete partial stake if rates exceed tolerance **Usage**: ```console -btcli wallet regen_coldkey [OPTIONS] +btcli stake add [OPTIONS] ``` **Options**: +- `-a, --all-tokens, --all`: When set, the command stakes all the available TAO from the coldkey. +- `--amount FLOAT`: The amount of TAO to stake [default: 0.0] +- `-in, --include-hotkeys, --hotkey-ss58-address TEXT`: Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` +- `-ex, --exclude-hotkeys TEXT`: Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` +- `--all-hotkeys / --no-all-hotkeys`: When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. - `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -- `--json-password TEXT`: Password to decrypt the JSON file. -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). +- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli wallet regen_coldkeypub` +### `btcli stake remove` -Regenerates the public part of a coldkey (coldkeypub.txt) for a wallet. +Unstake TAO from one or more hotkeys and transfer them back to the user's coldkey wallet. -Use this command when you need to move machine for subnet mining. Use the public key or SS58 address from your coldkeypub.txt that you have on another machine to regenerate the coldkeypub.txt on this new machine. +This command is used to withdraw TAO or Alpha stake from different hotkeys. -**Usage:** +Common Examples: -The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. +1. Interactive unstaking (guided prompts): -**Example:** + ``` + btcli stake remove + ``` -``` -btcli wallet regen_coldkeypub --ss58_address 5DkQ4... -``` +2. Safe unstaking with 10% rate tolerance: + + ``` + btcli stake remove --amount 100 --netuid 1 --safe --tolerance 0.1 + ``` + +3. Allow partial unstake if rates change: + + ``` + btcli stake remove --amount 300 --safe --partial + ``` + +4. Unstake from multiple hotkeys: + + ``` + btcli stake remove --amount 200 --include-hotkeys hk1,hk2,hk3 + ``` + +5. Unstake all from a hotkey: + + ``` + btcli stake remove --all + ``` + +6. Unstake all Alpha from a hotkey and stake to Root: + ``` + btcli stake remove --all-alpha + ``` -Note: This command is particularly useful for users who need to regenerate their coldkeypub, perhaps due to file corruption or loss. You will need either ss58 address or public hex key from your old coldkeypub.txt for the wallet. It is a recovery-focused utility that ensures continued access to your wallet functionalities. +Safe Staking Parameters: +--safe: Enables rate tolerance checks during unstaking +--tolerance: Max allowed rate change (0.05 = 5%) +--partial: Complete partial unstake if rates exceed tolerance **Usage**: ```console -btcli wallet regen_coldkeypub [OPTIONS] +btcli stake remove [OPTIONS] ``` **Options**: +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. - `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--public-key-hex TEXT`: The public key in hex format. -- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. +- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). +- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] +- `-a, --amount FLOAT`: The amount of TAO to unstake. [default: 0.0] +- `--hotkey-ss58-address TEXT`: The ss58 address of the hotkey to unstake from. +- `-in, --include-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` +- `-ex, --exclude-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address not to unstake from (only use with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` +- `--all-hotkeys / --no-all-hotkeys`: When set, this command unstakes from all the hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] +- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). +- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). +- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] +- `-i, --interactive`: Enter interactive mode for unstaking. - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli wallet regen_hotkey` +### `btcli stake list` -Regenerates a hotkey for a wallet. +Display detailed stake information for a wallet across all subnets. -Similar to regenerating a coldkey, this command creates a new hotkey from a mnemonic, seed, or JSON file. +Shows stake allocations, exchange rates, and emissions for each hotkey. -**Usage:** +Common Examples: -Users can provide a mnemonic, seed string, or a JSON file to regenerate the hotkey. The command supports optional password protection and can overwrite an existing hotkey. - -``` -btcli wallet regen_hotkey --seed 0x1234... -``` - -Note: This command is essential for users who need to regenerate their hotkey, possibly for security upgrades or key recovery. -It should be used with caution to avoid accidental overwriting of existing keys. - -**Usage**: - -```console -btcli wallet regen_hotkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -- `--json-password TEXT`: Password to decrypt the JSON file. -- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallet new_hotkey` - -Create a new hotkey for a wallet. - -**Usage:** - -This command is used to generate a new hotkey for managing a neuron or participating in a subnet. It provides options for the mnemonic word count, and supports password protection. It also allows overwriting the -existing hotkey. - -**Example:** - -``` -btcli wallet new-hotkey --n_words 24 -``` - -Note: This command is useful to create additional hotkeys for different purposes, such as running multiple subnet miners or subnet validators or separating operational roles within the Bittensor network. - -**Usage**: - -```console -btcli wallet new_hotkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallet new_coldkey` - -Create a new coldkey. A coldkey is required for holding TAO balances and performing high-value transactions. - -**Usage:** - -The command creates a new coldkey. It provides options for the mnemonic word count, and supports password protection. It also allows overwriting an existing coldkey. - -**Example:** - -``` -btcli wallet new_coldkey --n_words 15 -``` - -Note: This command is crucial for users who need to create a new coldkey for enhanced security or as part of setting up a new wallet. It is a foundational step in establishing a secure presence on the Bittensor network. - -**Usage**: - -```console -btcli wallet new_coldkey [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli wallet set_identity` - -Create or update the on-chain identity of a coldkey or a hotkey on the Bittensor network. Incurs a 1 TAO transaction fee. - -The on-chain identity includes attributes such as display name, legal name, web URL, PGP fingerprint, and contact information, among others. - -The command prompts the user for the identity attributes and validates the input size for each attribute. It provides an option to update an existing validator hotkey identity. If the user consents to the transaction cost, the identity is updated on the blockchain. - -Each field has a maximum size of 64 bytes. The PGP fingerprint field is an exception and has a maximum size of 20 bytes. The user is prompted to enter the PGP fingerprint as a hex string, which is then converted to bytes. The user is also prompted to enter the coldkey or hotkey `ss58` address for the identity to be updated. - -If the user does not have a hotkey, the coldkey address is used by default. If setting a validator identity, the hotkey will be used by default. If the user is setting an identity for a subnet, the coldkey will be used by default. - -**Example:** - -``` -btcli wallet set_identity -``` - -Note: This command should only be used if the user is willing to incur the a recycle fee associated with setting an identity on the blockchain. It is a high-level command that makes changes to the blockchain state and should not be used programmatically as part of other scripts or applications. - -**Usage**: - -```console -btcli wallet set_identity [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--name TEXT`: The display name for the identity. -- `--web-url, --web TEXT`: The web URL for the identity. -- `--image-url, --image TEXT`: The image URL for the identity. -- `--discord TEXT`: The Discord handle for the identity. -- `--description TEXT`: The description for the identity. -- `--additional TEXT`: Additional details for the identity. -- `--github TEXT`: The GitHub repository for the identity. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli wallet get_identity` - -Shows the identity details of a user's coldkey or hotkey. - -The command displays the information in a table format showing: - -- Address: The `ss58` address of the queried key. - -- Item: Various attributes of the identity such as stake, rank, and trust. - -- Value: The corresponding values of the attributes. - -**Example:** - -``` -btcli wallet get_identity --key <s58_address> -``` - -Note: This command is primarily used for informational purposes and has no side effects on the blockchain network state. - -**Usage**: - -```console -btcli wallet get_identity [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -## `btcli stake` - -**Usage**: - -```console -btcli stake [OPTIONS] COMMAND [ARGS]... - -aliases: st -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `add`: Stake TAO to one or more hotkeys on... -- `remove`: Unstake TAO from one or more hotkeys and... -- `list`: Display detailed stake information for a... -- `move`: Move staked TAO between hotkeys while... -- `transfer`: Transfer stake between coldkeys while... -- `swap`: Swap stake between different subnets while... -- `child`: Child Hotkey commands, alias: `children` -- `children` - -### `btcli stake add` - -Stake TAO to one or more hotkeys on specific or multiple netuids with your coldkey. - -Stakes are always added through your coldkey's free balance. For stake movement, see the [`btcli stake move`](#btcli-stake-move) command. - -Common Examples: - -1. Interactive staking (guided prompts): - - ```sh - btcli stake add - ``` - -2. Safe staking with rate tolerance of 10% with partial transaction disabled: - - ```sh - btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.1 --no-partial - ``` - -3. Allow partial stake if rates change with tolerance of 10%: - - ```sh - btcli stake add --amount 300 --safe --partial --tolerance 0.1 - ``` - -4. Unsafe staking with no rate protection: - - ```sh - btcli stake add --amount 300 --netuid 1 --unsafe - ``` - -5. Stake to multiple hotkeys: - - ```sh - btcli stake add --amount 200 --include-hotkeys hk_ss58_1,hk_ss58_2,hk_ss58_3 - ``` - -6. Stake the same amount of TAO into multiple subnets: - - ```sh - btcli stake add -n 4,14,64 --amount 100 - ``` - -7. Stake all balance to a subnet: - ```sh - btcli stake add --all --netuid 3 - ``` - -Safe Staking Parameters:--safe: Enables rate tolerance checks ---tolerance: Maximum % rate change allowed (0.05 = 5%) ---partial: Complete partial stake if rates exceed tolerance - -**Usage**: - -```console -btcli stake add [OPTIONS] -``` - -**Options**: - -- `-a, --all-tokens, --all`: When set, the command stakes all the available TAO from the coldkey. -- `--amount FLOAT`: The amount of TAO to stake [default: 0.0] -- `-in, --include-hotkeys, --hotkey-ss58-address TEXT`: Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` -- `-ex, --exclude-hotkeys TEXT`: Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -- `--all-hotkeys / --no-all-hotkeys`: When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). -- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli stake remove` - -Unstake TAO from one or more hotkeys and transfer them back to the user's coldkey wallet. - -This command is used to withdraw TAO or Alpha stake from different hotkeys. - -Common Examples: - -1. Interactive unstaking (guided prompts): - - ``` - btcli stake remove - ``` - -2. Safe unstaking with 10% rate tolerance: - - ``` - btcli stake remove --amount 100 --netuid 1 --safe --tolerance 0.1 - ``` - -3. Allow partial unstake if rates change: - - ``` - btcli stake remove --amount 300 --safe --partial - ``` - -4. Unstake from multiple hotkeys: - - ``` - btcli stake remove --amount 200 --include-hotkeys hk1,hk2,hk3 - ``` - -5. Unstake all from a hotkey: - - ``` - btcli stake remove --all - ``` - -6. Unstake all Alpha from a hotkey and stake to Root: - ``` - btcli stake remove --all-alpha - ``` - -Safe Staking Parameters: ---safe: Enables rate tolerance checks during unstaking ---tolerance: Max allowed rate change (0.05 = 5%) ---partial: Complete partial unstake if rates exceed tolerance - -**Usage**: - -```console -btcli stake remove [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `-a, --amount FLOAT`: The amount of TAO to unstake. [default: 0.0] -- `--hotkey-ss58-address TEXT`: The ss58 address of the hotkey to unstake from. -- `-in, --include-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` -- `-ex, --exclude-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address not to unstake from (only use with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -- `--all-hotkeys / --no-all-hotkeys`: When set, this command unstakes from all the hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] -- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). -- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `-i, --interactive`: Enter interactive mode for unstaking. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli stake list` - -Display detailed stake information for a wallet across all subnets. - -Shows stake allocations, exchange rates, and emissions for each hotkey. - -Common Examples: - -1. Basic stake overview: +1. Basic stake overview: ``` btcli stake list --wallet.name my_wallet @@ -1419,282 +1035,120 @@ btcli stake move [OPTIONS] - `--dest-ss58, --dest TEXT`: Destination hotkey - `--amount FLOAT`: The amount of TAO to stake - `--stake-all, --all`: Stake all -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. - -### `btcli stake transfer` - -Transfer stake between coldkeys while keeping the same hotkey ownership. - -This command allows you to: - -- Transfer stake from one coldkey to another coldkey -- Keep the same hotkey ownership -- Transfer stake between different subnets - -You can specify: - -- The origin subnet (--origin-netuid) -- The destination subnet (--dest-netuid) -- The destination wallet/address (--dest) -- The amount to transfer (--amount) - -If no arguments are provided, an interactive selection menu will be shown. - -**Example:** - -Transfer 100 TAO from subnet 1 to subnet 2: - -``` -btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest wallet2 --amount 100 -``` - -Using SS58 address: - -``` -btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest 5FrLxJsyJ5x9n2rmxFwosFraxFCKcXZDngEP9H7qjkKgHLcK --amount 100 -``` - -**Usage**: - -```console -btcli stake transfer [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--origin-netuid INTEGER`: The netuid to transfer stake from -- `--dest-netuid INTEGER`: The netuid to transfer stake to -- `--dest-ss58, --dest, --dest-coldkey TEXT`: The destination wallet name or SS58 address to transfer stake to -- `-a, --amount FLOAT`: Amount of stake to transfer -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli stake swap` - -Swap stake between different subnets while keeping the same coldkey-hotkey pair ownership. - -This command allows you to: - -- Move stake from one subnet to another subnet -- Keep the same coldkey ownership -- Keep the same hotkey ownership - -You can specify: - -- The origin subnet (--origin-netuid) -- The destination subnet (--dest-netuid) -- The amount to swap (--amount) - -If no arguments are provided, an interactive selection menu will be shown. - -**Example:** - -Swap 100 TAO from subnet 1 to subnet 2: - -``` -btcli stake swap --wallet-name default --wallet-hotkey default --origin-netuid 1 --dest-netuid 2 --amount 100 -``` - -**Usage**: - -```console -btcli stake swap [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-o, --origin-netuid, --origin INTEGER`: The netuid to swap stake from -- `-d, --dest-netuid, --dest INTEGER`: The netuid to swap stake to -- `-a, --amount FLOAT`: Amount of stake to swap -- `--swap-all, --all`: Swap all available stake -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli stake child` - -**Usage**: - -```console -btcli stake child [OPTIONS] COMMAND [ARGS]... -``` - -**Options**: - -- `--help`: Show this message and exit. - -**Commands**: - -- `get`: Get all the child hotkeys on a specified... -- `set`: Set child hotkeys on specified subnets. -- `revoke`: Remove all children hotkeys on a specified... -- `take`: Get and set your child hotkey take on a... - -#### `btcli stake child get` - -Get all the child hotkeys on a specified subnet. - -Users can specify the subnet and see the child hotkeys and the proportion that is given to them. This command is used to view the authority delegated to different hotkeys on the subnet. - -**Example:** - -``` -btcli stake child get --netuid 1 -``` - -``` -btcli stake child get --all-netuids -``` - -**Usage**: - -```console -btcli stake child get [OPTIONS] -``` - -**Options**: - -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) -- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -#### `btcli stake child set` - -Set child hotkeys on specified subnets. - -Users can specify the 'proportion' to delegate to child hotkeys (ss58 address). The sum of proportions cannot be greater than 1. - -This command is used to delegate authority to different hotkeys, securing their position and influence on the subnet. - -**Example:** - -``` -btcli stake child set -c 5FCL3gmjtQV4xxxxuEPEFQVhyyyyqYgNwX7drFLw7MSdBnxP -c 5Hp5dxxxxtGg7pu8dN2btyyyyVA1vELmM9dy8KQv3LxV8PA7 --hotkey default --netuid 1 -p 0.3 -p 0.7 -``` - -**Usage**: - -```console -btcli stake child set [OPTIONS] -``` - -**Options**: - -- `-c, --children TEXT`: Enter child hotkeys (ss58) -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--help`: Show this message and exit. -#### `btcli stake child revoke` +### `btcli stake transfer` -Remove all children hotkeys on a specified subnet. +Transfer stake between coldkeys while keeping the same hotkey ownership. -This command is used to remove delegated authority from all child hotkeys, removing their position and influence on the subnet. +This command allows you to: + +- Transfer stake from one coldkey to another coldkey +- Keep the same hotkey ownership +- Transfer stake between different subnets + +You can specify: + +- The origin subnet (--origin-netuid) +- The destination subnet (--dest-netuid) +- The destination wallet/address (--dest) +- The amount to transfer (--amount) + +If no arguments are provided, an interactive selection menu will be shown. **Example:** +Transfer 100 TAO from subnet 1 to subnet 2: + ``` -btcli stake child revoke --hotkey <parent_hotkey> --netuid 1 +btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest wallet2 --amount 100 +``` + +Using SS58 address: + +``` +btcli stake transfer --origin-netuid 1 --dest-netuid 2 --dest 5FrLxJsyJ5x9n2rmxFwosFraxFCKcXZDngEP9H7qjkKgHLcK --amount 100 ``` **Usage**: ```console -btcli stake child revoke [OPTIONS] +btcli stake transfer [OPTIONS] ``` **Options**: +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet - `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) -- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `--origin-netuid INTEGER`: The netuid to transfer stake from +- `--dest-netuid INTEGER`: The netuid to transfer stake to +- `--dest-ss58, --dest, --dest-coldkey TEXT`: The destination wallet name or SS58 address to transfer stake to +- `-a, --amount FLOAT`: Amount of stake to transfer +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -#### `btcli stake child take` +### `btcli stake swap` -Get and set your child hotkey take on a specified subnet. +Swap stake between different subnets while keeping the same coldkey-hotkey pair ownership. -The child hotkey take must be between 0 - 18%. +This command allows you to: -**Example:** +- Move stake from one subnet to another subnet +- Keep the same coldkey ownership +- Keep the same hotkey ownership -To get the current take value, do not use the '--take' option: +You can specify: - ``` - btcli stake child take --hotkey <child_hotkey> --netuid 1 - ``` +- The origin subnet (--origin-netuid) +- The destination subnet (--dest-netuid) +- The amount to swap (--amount) -To set a new take value, use the '--take' option: +If no arguments are provided, an interactive selection menu will be shown. - ``` - btcli stake child take --hotkey <child_hotkey> --take 0.12 --netuid 1 - ``` +**Example:** + +Swap 100 TAO from subnet 1 to subnet 2: + +``` +btcli stake swap --wallet-name default --wallet-hotkey default --origin-netuid 1 --dest-netuid 2 --amount 100 +``` **Usage**: ```console -btcli stake child take [OPTIONS] +btcli stake swap [OPTIONS] ``` **Options**: +- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet - `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--hotkey TEXT` -- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) -- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. +- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet +- `-o, --origin-netuid, --origin INTEGER`: The netuid to swap stake from +- `-d, --dest-netuid, --dest INTEGER`: The netuid to swap stake to +- `-a, --amount FLOAT`: Amount of stake to swap +- `--swap-all, --all`: Swap all available stake +- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] - `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli stake children` +### `btcli stake child` **Usage**: ```console -btcli stake children [OPTIONS] COMMAND [ARGS]... +btcli stake child [OPTIONS] COMMAND [ARGS]... + +alias: children ``` **Options**: @@ -1708,7 +1162,7 @@ btcli stake children [OPTIONS] COMMAND [ARGS]... - `revoke`: Remove all children hotkeys on a specified... - `take`: Get and set your child hotkey take on a... -#### `btcli stake children get` +#### `btcli stake child get` Get all the child hotkeys on a specified subnet. @@ -1727,7 +1181,9 @@ btcli stake child get --all-netuids **Usage**: ```console -btcli stake children get [OPTIONS] +btcli stake child get [OPTIONS] + +alias: children ``` **Options**: @@ -1742,7 +1198,7 @@ btcli stake children get [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -#### `btcli stake children set` +#### `btcli stake child set` Set child hotkeys on specified subnets. @@ -1759,7 +1215,9 @@ btcli stake child set -c 5FCL3gmjtQV4xxxxuEPEFQVhyyyyqYgNwX7drFLw7MSdBnxP -c 5Hp **Usage**: ```console -btcli stake children set [OPTIONS] +btcli stake child set [OPTIONS] + +alias: children ``` **Options**: @@ -1778,7 +1236,7 @@ btcli stake children set [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -#### `btcli stake children revoke` +#### `btcli stake child revoke` Remove all children hotkeys on a specified subnet. @@ -1793,7 +1251,9 @@ btcli stake child revoke --hotkey <parent_hotkey> --netuid 1 **Usage**: ```console -btcli stake children revoke [OPTIONS] +btcli stake child revoke [OPTIONS] + +alias: children ``` **Options**: @@ -1810,7 +1270,7 @@ btcli stake children revoke [OPTIONS] - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -#### `btcli stake children take` +#### `btcli stake child take` Get and set your child hotkey take on a specified subnet. @@ -1833,7 +1293,9 @@ To set a new take value, use the '--take' option: **Usage**: ```console -btcli stake children take [OPTIONS] +btcli stake child take [OPTIONS] + +alias: children ``` **Options**: @@ -1860,7 +1322,7 @@ btcli stake children take [OPTIONS] ```console btcli sudo [OPTIONS] COMMAND [ARGS]... -aliases: su +alias: su ``` **Options**: @@ -1869,16 +1331,13 @@ aliases: su **Commands**: -- `set`: Used to set hyperparameters for a specific... -- `get`: Shows a list of the hyperparameters for... -- `senate`: Shows the Senate members of the... -- `proposals`: View active proposals for the senate in... -- `senate-vote`: Cast a vote on an active proposal in... -- `set-take`: Allows users to change their delegate take... -- `get-take`: Allows users to check their delegate take... -- `senate_vote`: Cast a vote on an active proposal in... -- `get_take`: Allows users to check their delegate take... -- `set_take`: Allows users to change their delegate take... +- `set`: Used to set hyperparameters for a specific subnet. +- `get`: Shows a list of the hyperparameters for the specified subnet. +- `senate`: Shows the Senate members of the Bittensor's governance protocol. +- `proposals`: View active proposals for the senate in the Bittensor's governance protocol. +- `senate-vote`: Cast a vote on an active proposal in Bittensor's governance protocol. +- `set-take`: Allows users to change their delegate take percentage. +- `get-take`: Allows users to check their delegate take percentage. ### `btcli sudo set` @@ -1997,13 +1456,15 @@ The user must specify the hash of the proposal they want to vote on. The command **Example:** ``` -btcli sudo senate_vote --proposal <proposal_hash> +btcli sudo senate-vote --proposal <proposal_hash> ``` **Usage**: ```console btcli sudo senate-vote [OPTIONS] + +alias: senate_vote ``` **Options**: @@ -2036,6 +1497,8 @@ btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey ```console btcli sudo set-take [OPTIONS] + +alias: set_take ``` **Options**: @@ -2065,97 +1528,8 @@ btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey ```console btcli sudo get-take [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli sudo senate_vote` - -Cast a vote on an active proposal in Bittensor's governance protocol. - -This command is used by Senate members to vote on various proposals that shape the network's future. Use `btcli sudo proposals` to see the active proposals and their hashes. - -**Usage:** -The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the governance and evolution of the Bittensor network. - -**Example:** - -``` -btcli sudo senate_vote --proposal <proposal_hash> -``` - -**Usage**: - -```console -btcli sudo senate_vote [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--vote-aye / --vote-nay`: The vote casted on the proposal -- `--help`: Show this message and exit. - -### `btcli sudo get_take` - -Allows users to check their delegate take percentage. - -This command can be used to fetch the delegate take of your hotkey. - -**Example:** - -``` -btcli sudo get-take --wallet-name my_wallet --wallet-hotkey my_hotkey -``` - -**Usage**: - -```console -btcli sudo get_take [OPTIONS] -``` - -**Options**: - -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. - -### `btcli sudo set_take` - -Allows users to change their delegate take percentage. - -This command can be used to update the delegate takes. To run the command, the user must have a configured wallet with both hotkey and coldkey. -The command makes sure the new take value is within 0-18% range. - -**Example:** -``` -btcli sudo set-take --wallet-name my_wallet --wallet-hotkey my_hotkey -``` - -**Usage**: - -```console -btcli sudo set_take [OPTIONS] +alias: get_take ``` **Options**: @@ -2164,7 +1538,6 @@ btcli sudo set_take [OPTIONS] - `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. - `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. - `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--take FLOAT`: The new take value. - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. @@ -2185,17 +1558,18 @@ aliases: subnet, s **Commands**: -- `hyperparameters`: Shows a list of the hyperparameters for... -- `list`: List all subnets and their detailed... -- `burn-cost`: Shows the required amount of TAO to be... +- `hyperparameters`: Shows a list of the hyperparameters for the specified subnet. +- `list`: List all subnets and their detailed information. +- `burn-cost`: Shows the required amount of TAO to be recycled for creating a new subnet, i.e., cost of registering a new subnet. - `create`: Registers a new subnet on the network. -- `pow-register`: Register a neuron (a subnet validator or a... -- `register`: Register a neuron (a subnet validator or a... +- `pow-register`: Register a neuron (a subnet validator or a subnet miner) using Proof of Work (POW). +- `register`: Register a neuron (a subnet validator or a subnet miner) in the specified subnet by recycling some TAO. - `metagraph`: Displays detailed information about a... -- `show`: Displays detailed information about a... -- `price`: Shows the historical price of a subnet for... -- `burn_cost`: Shows the required amount of TAO to be... -- `pow_register`: Register a neuron (a subnet validator or a... +- `show`: Displays detailed information about a subnet including participants and their state. +- `price`: Shows the historical price of a subnet for the past 24 hours. +- `check-start`: Checks if a subnet's emission schedule can be started. +- `set-identity`: Get the identity information for a subnet. +- `get-identity`: Set or update the identity information for a subnet. ### `btcli subnets hyperparameters` @@ -2285,6 +1659,8 @@ btcli subnets burn_cost ```console btcli subnets burn-cost [OPTIONS] + +alias: burn_cost ``` **Options**: @@ -2364,6 +1740,8 @@ This command may be disabled by the subnet owner. For example, on netuid 1 this ```console btcli subnets pow-register [OPTIONS] + +alias pow_register ``` **Options**: @@ -2476,25 +1854,25 @@ If no html flag is used, the command will display the price in the cli. **Example:** -``` +```bash btcli subnets price --netuid 1 ``` -``` +```bash btcli subnets price --netuid 1 --html --log ``` -``` +```bash btcli subnets price --all --html ``` -``` +```bash btcli subnets price --netuids 1,2,3,4 --html ``` **Usage**: -```console +```bash btcli subnets price [OPTIONS] ``` @@ -2508,72 +1886,103 @@ btcli subnets price [OPTIONS] - `--html`: Display the table as HTML in the browser. - `--help`: Show this message and exit. -### `btcli subnets burn_cost` +### `btcli subnets check-start` -Shows the required amount of TAO to be recycled for creating a new subnet, i.e., cost of registering a new subnet. - -The current implementation anneals the cost of creating a subnet over a period of two days. If the displayed cost is unappealing to you, check back in a day or two to see if it has decreased to a more affordable level. +Checks if a subnet's emission schedule can be started. This command verifies if a subnet's emission schedule can be started based on the subnet's registration block. **Example:** -``` -btcli subnets burn_cost +```bash +btcli subnets check_start --netuid 1 ``` -**Usage**: +**Usage** -```console -btcli subnets burn_cost [OPTIONS] +```bash +btcli subnets check-start [OPTIONS] + +alias check_start ``` **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. +- `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` TEXT: The subtensor network to connect to. Default: finney. +- `--netuid`: INTEGER The netuid of the subnet in the network, (e.g. 1). - `--quiet`: Display only critical information on the console. - `--verbose`: Enable verbose output. - `--help`: Show this message and exit. -### `btcli subnets pow_register` +### `btcli subnets set-identity` -Register a neuron (a subnet validator or a subnet miner) using Proof of Work (POW). +Set or update the identity information for a subnet. This command allows subnet owners to set or update identity information like name, GitHub repo, contact details, etc. -This method is an alternative registration process that uses computational work for securing a neuron's place on the subnet. +**Examples:** -The command starts by verifying the existence of the specified subnet. If the subnet does not exist, it terminates with an error message. On successful verification, the POW registration process is initiated, which requires solving computational puzzles. +1. Interactive subnet identity setting: -The command also supports additional wallet and subtensor arguments, enabling further customization of the registration process. +```bash +btcli subnets set-identity --netuid 1 +``` -**Example:** +2. Set subnet identity with specific values: +```bash +btcli subnets set-identity --netuid 1 --subnet-name MySubnet --github-repo https://github.com/myorg/mysubnet --subnet-contact team@mysubnet.net ``` -btcli pow_register --netuid 1 --num_processes 4 --cuda + +**Usage**: + +```sh +btcli subnets set-identity [OPTIONS] + +alias: set_identity ``` -Note: This command is suitable for users with adequate computational resources to participate in POW registration. -It requires a sound understanding of the network's operations and POW mechanics. Users should ensure their systems meet the necessary hardware and software requirements, particularly when opting for CUDA-based GPU acceleration. +**Options**: -This command may be disabled by the subnet owner. For example, on netuid 1 this is permanently disabled. +- `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` TEXT: Name of the wallet. +- `--wallet-path`, `--wallet_path`, `--wallet.path`, `-p` TEXT: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. +- `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` `-H` TEXT: Hotkey of the wallet +- `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` TEXT: The subtensor network to connect to. +- `--netuid` INTEGER: The netuid of the subnet in the network, (e.g. 1). +- `--subnet-name`, `--name` TEXT: Name of the subnet. +- `--github-repo`, `--repo` TEXT: GitHub repository URL +- `--subnet-contact`, `--contact`, `--email` TEXT: Contact email for subnet +- `--subnet-url`, `--url` TEXT: Subnet URL +- `--discord-handle`, `--discord` TEXT: Discord handle +- `--description` TEXT: Description +- `--additional-info` TEXT: Additional information +- `--json-output`, `--json-out`: Outputs the result of the command as JSON. +- `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y`: Enable or disable interactive prompts. +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--help`: Show this message and exit. + +### `btcli subnets get-identity` + +Get the identity information for a subnet. This command displays the identity information of a subnet including name, GitHub repo, contact details, etc. + +**Examples:** + +```sh +btcli subnets get-identity --netuid 1 +``` **Usage**: -```console -btcli subnets pow_register [OPTIONS] +```sh +btcli subnets get-identity [OPTIONS] + +alias: get_identity ``` **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--processors INTEGER`: Number of processors to use for POW registration. -- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -- `-v, --verbose`: Whether to output the registration statistics verbosely. -- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] +- `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` TEXT: The subtensor network to connect to. +- `--netuid` INTEGER: The netuid of the subnet in the network, (e.g. 1). +- `--quiet`: Display only critical information on the console. +- `--verbose`: Enable verbose output. +- `--json-output`, `--json-out`: Outputs the result of the command as JSON. - `--help`: Show this message and exit. ## `btcli weights` From d3047684a7fce2c4bf464b988f05235dbc5da7b0 Mon Sep 17 00:00:00 2001 From: Jackalgirl <88459050+Jackalgirl@users.noreply.github.com> Date: Wed, 2 Jul 2025 17:57:16 -0500 Subject: [PATCH 123/303] Update schedule-coldkey-swap with btcli info Slightly modified. Would be good to include consequences of trying to swap to a coldkey that already has established hotkeys. --- docs/subnets/schedule-coldkey-swap.md | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/subnets/schedule-coldkey-swap.md b/docs/subnets/schedule-coldkey-swap.md index 7e4455001f..16babc61a3 100644 --- a/docs/subnets/schedule-coldkey-swap.md +++ b/docs/subnets/schedule-coldkey-swap.md @@ -14,11 +14,6 @@ See: - [Wallets, Coldkeys and Hotkeys in Bittensor](../getting-started/wallets) - [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security) - -## Description - -The `btcli` command does not yet support this schedule coldkey swap feature. You must use the [Polkadot JS extension](https://polkadot.js.org/extension/). - See [code for coldkey swap](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/swap/swap_coldkey.rs). The schedule coldkey swap feature works as follows: @@ -38,18 +33,24 @@ The schedule coldkey swap feature works as follows: ## Requirements 1. To execute this operation, you must own the source coldkey. -1. The destination (new) coldkey public key must not already be assigned to a hotkey *or a coldkey that is associated with any hotkeys*. -1. Confirm the identity of the destination coldkey. A mistake here can result in loss of all of the source coldkey's assets and identity. +2. The destination (new) coldkey public key must not already be assigned to a hotkey *or a coldkey that is associated with any hotkeys*. +3. Confirm the identity of the destination coldkey. A mistake here can result in loss of all of the source coldkey's assets and identity. - If you are rotating the coldkey to maintain ownership, you must control the destination coldkey privatekey. Otherwise you will lose control over all of the source coldkey's assets and identity. - - If you are transferring ownership to someone else, confirm that they have secure control of the destination coldkey private key. -2. You must use the [Polkadot JS extension](https://polkadot.js.org/extension/). The `btcli` command does not yet support scheduling coldkey swap. -3. You must import your source and destination coldkeys into the Polkadot JS extension. -4. You must connect the source coldkey account to the [polkadot.js.org/apps](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-finney.opentensor.ai%3A443#/explorer) website. + - If you are transferring ownership to someone else, confirm that they have secure control of the destination coldkey private key. + +## Using Bittensor-CLI + +`btcli w swap-coldkey` + +## Using the [Polkadot JS extension](https://polkadot.js.org/extension/) + +1. You must import your source and destination coldkeys into the Polkadot JS extension. +2. You must connect the source coldkey account to the [polkadot.js.org/apps](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-finney.opentensor.ai%3A443#/explorer) website. :::danger If you do not do this step, then you will not see **Developer** > **Extrinsics** option on the [polkadot.js.org/apps](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-finney.opentensor.ai%3A443#/extrinsics) website. ::: -## Steps +## Steps for Polkadot JS Follow the steps shown below the screenshot: From 95de9d473acf3c988fbc2a7dc8b9b36b63e5aad9 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 16:34:32 -0700 Subject: [PATCH 124/303] wip --- sidebars.js | 1 + 1 file changed, 1 insertion(+) diff --git a/sidebars.js b/sidebars.js index 87184d5301..1532413e5f 100644 --- a/sidebars.js +++ b/sidebars.js @@ -88,6 +88,7 @@ const sidebars = { collapsed: true, items: [ "subnets/metagraph", + "liquidity-provider", "subnets/create-a-subnet", "subnets/subnet-creators-btcli-guide", "subnets/subnet-hyperparameters", From 1f144fa0c61e2fd8283f44706b4cc4061e2446ad Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 16:37:55 -0700 Subject: [PATCH 125/303] commit some sloppy note piles, work in progress --- docs/learn/neurons.md | 233 +++++++++++++++++++++++++++++++++- docs/subnets/commit-reveal.md | 173 +++++++++++++++++++++++++ 2 files changed, 402 insertions(+), 4 deletions(-) diff --git a/docs/learn/neurons.md b/docs/learn/neurons.md index 80adf8ed77..a607d1da28 100644 --- a/docs/learn/neurons.md +++ b/docs/learn/neurons.md @@ -13,7 +13,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; http://localhost:3000/python-api/html/autoapi/bittensor/core/metagraph/index.html#bittensor.core.metagraph.Metagraph --> -The design of Bittensor subnets is inspired by the structure of a simple neural network, with each **neuron** being either a miner or validator. +The design of Bittensor subnets is inspired by the structure of a simple neural network, with each **neuron** being either a miner or validator. Each neuron is identified by a unique UID within its subnet and associated with a hotkey-coldkey pair for authentication and operations. :::tip Neuron requirements See [minimum compute requirements](https://github.com/opentensor/bittensor-subnet-template/blob/main/min_compute.yml) for compute, memory, bandwidth and storage requirements for neurons. @@ -23,12 +23,50 @@ See [minimum compute requirements](https://github.com/opentensor/bittensor-subne Neurons in a subnet operate within a server-client architecture: -- Axon (Server): Miners deploy Axon servers to receive and process data from validators. -- Dendrite (Client): Validators use Dendrite clients to transmit data to miners. -- Synapse (Data Object): Encapsulates and structures data exchanged between neurons. +- **Axon (Server)**: Miners deploy Axon servers to receive and process data from validators +- **Dendrite (Client)**: Validators use Dendrite clients to transmit data to miners +- **Synapse (Data Object)**: Encapsulates and structures data exchanged between neurons Additionally, the Metagraph serves as a global directory for managing subnet nodes, while the Subtensor connects neurons to the blockchain. +## Neuron Lifecycle and Management + +### Registration and UID Assignment + +Neurons register with subnets through proof-of-work or burned registration methods, receiving a unique UID (User ID) within their subnet. The registration process follows an append-or-replace algorithm where new neurons either expand the subnet or replace existing low-performing neurons. + +### Performance Metrics + +Neuron performance is measured through multiple metrics: +- **Rank**: Final performance score after consensus weight clipping +- **Trust**: Consensus alignment ratio measuring impact of consensus filtering +- **Consensus**: Stake-weighted median of weights serving as clipping threshold +- **Incentive**: Normalized reward allocation for miners +- **Validator Trust**: Specialized trust score for validator neurons + +### Validator Permits and Access Control + +Top K neurons by stake weight receive validator permits, allowing them to: +- Set weights and participate in consensus +- Form bonds to miners based on performance assessment +- Contribute to active stake calculations + +Only permitted neurons can set non-self weights, though all neurons can set self-weights regardless of permit status. + + + ## Neuron-to-neuron communication Neurons exchange information by: @@ -85,3 +123,190 @@ For example, in the [Text Prompting Subnet](https://github.com/macrocosm-os/prom ## The Neuron Metagraph A metagraph is a data structure that contains comprehensive information about current state of the subnet. When you inspect the metagraph of a subnet, you will find detailed information on all the nodes (neurons) in the subnet. A subnet validator should first sync with a subnet's metagraph to know all the subnet miners that are in the subnet. The metagraph can be inspected without participating in a subnet. + +## Implementation Details + + + +### Neuron Data Structures + +**NeuronInfo - Complete Neuron Data:** +- Contains comprehensive neuron metadata including weights and bonds +- Key performance metrics stored as normalized float values (0-1 range): rank, emission, incentive, consensus, trust, validator_trust +- Stake information includes both total stake and per-coldkey breakdown +- Network participation data: netuid, validator_permit, weights, bonds + +**NeuronInfoLite - Lightweight Neuron Data:** +- Provides essential neuron data without weights and bonds for efficiency +- Used when full weight/bond data is not required, reducing data transfer overhead + +**Code References:** +- `bittensor/core/chain_data/neuron_info.py:18` - NeuronInfo class definition +- `bittensor/core/chain_data/neuron_info_lite.py:18` - NeuronInfoLite class definition + +### Blockchain Storage Implementation + +**Core Storage Maps:** +- **Keys**: Maps (netuid, uid) to hotkey for UID-to-hotkey lookup +- **Uids**: Maps (netuid, hotkey) to uid for hotkey-to-UID lookup +- **Owner**: Maps hotkey to coldkey for ownership verification + +**Performance Metrics Storage:** +- **Rank, Trust, Consensus, Incentive**: Stored as u16 vectors per subnet +- **Emission**: Stored as u64 values representing emission rates +- **ValidatorPermit**: Boolean vector indicating validator permissions + +**Code References:** +- `subtensor/pallets/subtensor/src/lib.rs:1533-1542` - Core storage map definitions +- `subtensor/pallets/subtensor/src/lib.rs:1524-1552` - Performance metrics storage + +### Registration Process + +**Registration Methods:** +- **Proof-of-Work Registration**: Traditional registration requiring computational work +- **Burned Registration**: Registration by burning TAO tokens +- **Root Registration**: Special registration for root network (netuid 0) + +**Registration Algorithm:** +- **Append vs Replace Logic**: New neurons either append to subnet or replace existing ones +- **Pruning Selection**: When subnet is full, neuron with lowest pruning score is replaced +- **Immunity Period**: New neurons are protected from pruning for a configurable period + +**Code References:** +- `subtensor/pallets/subtensor/src/subnets/registration.rs:214-339` - do_registration() implementation +- `subtensor/pallets/subtensor/src/subnets/registration.rs:54-206` - do_burned_registration() implementation +- `subtensor/pallets/subtensor/src/subnets/registration.rs:405-485` - get_neuron_to_prune() algorithm + +### Neuron Lifecycle Management + +**Append Neuron Process:** +- **UID Assignment**: New neurons get the next available UID (equal to current subnet size) +- **Storage Expansion**: All metric vectors are expanded to accommodate new neuron +- **Default Values**: New neurons start with zero values for all metrics + +**Replace Neuron Process:** +- **Old Neuron Cleanup**: Previous neuron's data is cleared and associations removed +- **New Neuron Setup**: New neuron inherits the UID with fresh default values +- **Bond Clearing**: All bonds are cleared when neurons are replaced + +**Code References:** +- `subtensor/pallets/subtensor/src/subnets/uids.rs:75-95` - append_neuron() implementation +- `subtensor/pallets/subtensor/src/subnets/uids.rs:35-75` - replace_neuron() implementation + +### API and Retrieval + +**Python SDK Methods:** +- **Individual Neuron Retrieval**: Get neuron by UID or hotkey +- **Batch Neuron Retrieval**: Get all neurons in a subnet +- **UID Lookup**: Find UID for a given hotkey on a subnet + +**Blockchain RPC Methods:** +- **Runtime API**: Neurons are retrieved via NeuronInfoRuntimeApi +- **Storage Queries**: Direct storage access for UID and hotkey lookups +- **Batch Retrieval**: Efficient retrieval of all neurons in a subnet + +**Code References:** +- `bittensor/core/subtensor.py:1369-1411` - get_neuron_for_pubkey_and_subnet() implementation +- `bittensor/core/async_subtensor.py:2183-2229` - Async version of neuron retrieval +- `subtensor/pallets/subtensor/src/rpc_info/neuron_info.rs:155` - get_neuron() RPC method + +### State Management + +**Active Status:** +- **Active Flag**: Boolean indicating if neuron is currently active +- **Last Update**: Block number of last activity for staleness detection +- **Staleness Filtering**: Neurons with outdated last_update are filtered from consensus + +**Validator Permits:** +- **Permit Assignment**: Top K neurons by stake receive validator permits +- **Access Control**: Only permitted neurons can set weights and participate in consensus +- **Dynamic Updates**: Permits are recalculated every epoch based on current stake + +**Code References:** +- `bittensor/core/chain_data/neuron_info.py:26` - active status field +- `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:520-523` - Validator permit assignment +- `subtensor/pallets/subtensor/src/subnets/weights.rs:745-748` - Weight setting permission check + +### Network Operations + +**Weight Setting:** +- **Weight Matrix**: Neurons set weights to other neurons, forming the consensus matrix +- **Permission Control**: Only validator-permitted neurons can set non-self weights +- **Self-Weight Exception**: All neurons can set self-weights regardless of permit status + +**Bond Formation:** +- **Bond Investment**: Validators form bonds to miners based on performance assessment +- **EMA Bonds**: Bonds are smoothed using exponential moving average +- **Bond Retention**: Bonds are retained only by neurons with validator permits + +**Code References:** +- `subtensor/pallets/subtensor/src/lib.rs:1543-1549` - Weights storage definition +- `subtensor/pallets/subtensor/src/lib.rs:1560-1566` - Bonds storage definition +- `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:687` - EMA bond computation + +### Testing and Validation + +**Registration Testing:** +- **Successful Registration**: Tests verify proper neuron registration and UID assignment +- **Pruning Scenarios**: Tests verify correct neuron replacement when subnet is full +- **Immunity Period**: Tests verify immunity protection during registration + +**Neuron Lifecycle Testing:** +- **Replace Neuron**: Tests verify proper neuron replacement and data clearing +- **Owner Protection**: Tests verify subnet owners are protected from pruning +- **Bond Management**: Tests verify bond clearing during neuron replacement + +**Mock Implementation:** +- **Mock Subtensor**: Provides in-memory neuron management for testing +- **Force Registration**: Allows test-specific neuron registration +- **State Management**: Mock maintains neuron state across test scenarios + +**Code References:** +- `subtensor/pallets/subtensor/src/tests/registration.rs:102-192` - Registration success tests +- `subtensor/pallets/subtensor/src/tests/uids.rs:15-201` - Neuron replacement tests +- `bittensor/utils/mock/subtensor_mock.py:725-786` - Mock neuron retrieval methods + +### Key Mathematical Insights + +1. **Neuron = UID + Hotkey + Coldkey**: Each neuron is uniquely identified by its UID and key pair +2. **Registration = Append or Replace**: New neurons either expand the subnet or replace existing ones +3. **Pruning = Lowest Score**: Neurons with lowest pruning scores are replaced when subnet is full +4. **Immunity = Protection Period**: New neurons are protected from pruning for a configurable period +5. **Performance = Multi-Metric**: Neuron performance is measured by rank, trust, consensus, and incentive + +### Network Security Properties + +- **Economic Barriers**: Registration costs prevent Sybil attacks +- **Performance-Based Pruning**: Low-performing neurons are automatically replaced +- **Stake-Based Permits**: Validator permits require economic stake for consensus participation +- **Dynamic Adjustment**: Neuron state adapts to changing network conditions +- **Owner Protection**: Subnet owners are protected from pruning to ensure network stability + +### Complete Neuron Lifecycle + +1. **Registration** → Neuron registers via PoW or burned registration +2. **UID Assignment** → Neuron receives unique UID within subnet +3. **Immunity Period** → Neuron is protected from pruning for configurable blocks +4. **Performance Building** → Neuron accumulates rank, trust, consensus, and incentive +5. **Validator Permit** → Top K neurons by stake receive validator permits +6. **Weight Setting** → Permitted neurons can set weights and participate in consensus +7. **Bond Formation** → Validators form bonds to miners based on performance +8. **Emission Distribution** → Neurons receive TAO emissions based on performance +9. **Performance Monitoring** → Neuron performance is continuously evaluated +10. **Pruning Risk** → Low-performing neurons risk replacement by new registrations + +### Neuron Relationships + +**Neuron vs Subnet Relationship:** +- **Subnet Container**: Neurons exist within specific subnets identified by netuid +- **Subnet Limits**: Each subnet has maximum allowed UIDs (typically 256) +- **Subnet-Specific**: Neuron metrics and state are subnet-specific +- **Cross-Subnet**: Neurons can participate in multiple subnets with different UIDs +- **Subnet Governance**: Subnet owners have special privileges and protection + +**Neuron vs Validator/Miner Roles:** +- **Neuron = Container**: Neuron is the container entity that can be either validator or miner +- **Validator = Role**: Neurons with validator permits can set weights and participate in consensus +- **Miner = Role**: Neurons without validator permits perform subnet-specific tasks +- **Role Flexibility**: Neurons can change roles based on permit status and stake +- **Performance Metrics**: Both roles contribute to neuron's overall performance score diff --git a/docs/subnets/commit-reveal.md b/docs/subnets/commit-reveal.md index 61158405bb..e4a1fb8130 100644 --- a/docs/subnets/commit-reveal.md +++ b/docs/subnets/commit-reveal.md @@ -95,3 +95,176 @@ style={{width: 750}} - See [Weight Copying in Bittensor, a technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf). - Blog post, [Weight Copying in Bittensor](https://blog.bittensor.com/weight-copying-in-bittensor-422585ab8fa5). + + + + +Code References and Implementation Details + +**Commit Reveal as Anti-Weight-Copying Mechanism:** +- Commit reveal prevents weight copying by introducing a time delay between weight commitment and revelation + - `subtensor/pallets/subtensor/src/subnets/weights.rs:41` - `do_commit_weights()` implementation +- Validators commit to weights without revealing them immediately, creating a temporal offset + - `subtensor/pallets/subtensor/src/subnets/weights.rs:74` - Weight commit storage in `WeightCommits` +- The mechanism ensures that copied weights are stale by the time they can be used + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1075` - `get_reveal_blocks()` timing calculation + +**Core Storage and Configuration:** + +**Commit Reveal Enablement:** +- Commit reveal is controlled per subnet via `CommitRevealWeightsEnabled` storage + - `subtensor/pallets/subtensor/src/lib.rs:1430` - `pub type CommitRevealWeightsEnabled = StorageMap<_, Identity, u16, bool, ValueQuery, DefaultCommitRevealWeightsEnabled>;` +- Enablement can be toggled by subnet owners or root + - `subtensor/pallets/subtensor/src/utils/misc.rs:472-477` - `get_commit_reveal_weights_enabled()` and `set_commit_reveal_weights_enabled()` + +**Weight Commit Storage:** +- **WeightCommits**: Stores commit hashes and timing information for each validator + - `subtensor/pallets/subtensor/src/lib.rs:1662-1669` - `pub type WeightCommits = StorageDoubleMap<_, Twox64Concat, u16, Twox64Concat, T::AccountId, VecDeque<(H256, u64, u64, u64)>, OptionQuery>;` +- **CRV3WeightCommits**: Stores v3 encrypted commits with epoch-based organization + - `subtensor/pallets/subtensor/src/lib.rs:1671-1680` - `pub type CRV3WeightCommits = StorageDoubleMap<_, Twox64Concat, u16, Twox64Concat, u64, VecDeque<(T::AccountId, BoundedVec>, RoundNumber)>, ValueQuery>;` +- **RevealPeriodEpochs**: Configurable reveal period per subnet + - `subtensor/pallets/subtensor/src/lib.rs:1682-1684` - `pub type RevealPeriodEpochs = StorageMap<_, Twox64Concat, u16, u64, ValueQuery, DefaultRevealPeriodEpochs>;` + +**Commit Phase Implementation:** + +**Commit Hash Generation:** +- Commit hash is generated from validator data using BlakeTwo256 + - `subtensor/pallets/subtensor/src/tests/weights.rs:1520` - `let commit_hash: H256 = BlakeTwo256::hash_of(&(hotkey, netuid, uids.clone(), weight_values.clone(), salt.clone(), version_key));` +- Hash includes: hotkey, netuid, uids, weight_values, salt, and version_key + - `subtensor/pallets/subtensor/src/subnets/weights.rs:74` - Commit storage with hash and timing information + +**Commit Validation:** +- **Enablement Check**: Ensures commit-reveal is enabled for the subnet + - `subtensor/pallets/subtensor/src/subnets/weights.rs:52` - `ensure!(Self::get_commit_reveal_weights_enabled(netuid), Error::::CommitRevealDisabled);` +- **Registration Check**: Validates hotkey is registered on the network + - `subtensor/pallets/subtensor/src/subnets/weights.rs:56-59` - `ensure!(Self::is_hotkey_registered_on_network(netuid, &who), Error::::HotKeyNotRegisteredInSubNet);` +- **Rate Limiting**: Prevents excessive commit frequency + - `subtensor/pallets/subtensor/src/subnets/weights.rs:61-66` - Rate limit check via `check_rate_limit()` + +**Reveal Timing Calculation:** + +**Epoch-Based Timing:** +- **Epoch Calculation**: Epochs are calculated based on tempo and netuid offset + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1040-1047` - `get_epoch_index()` implementation +- **Reveal Period**: Configurable number of epochs between commit and reveal + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1095-1097` - `get_reveal_period()` and `set_reveal_period()` + +**Reveal Block Range:** +- **First Reveal Block**: Calculated from commit epoch + reveal period + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1075-1085` - `get_reveal_blocks()` implementation +- **Last Reveal Block**: First reveal block + tempo (one epoch duration) + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1086-1087` - `let last_reveal_block = first_reveal_block.saturating_add(tempo);` + +**Reveal Phase Implementation:** + +**Reveal Validation:** +- **Enablement Check**: Ensures commit-reveal is still enabled + - `subtensor/pallets/subtensor/src/subnets/weights.rs:353` - `ensure!(Self::get_commit_reveal_weights_enabled(netuid), Error::::CommitRevealDisabled);` +- **Hash Verification**: Validates revealed data matches committed hash + - `subtensor/pallets/subtensor/src/subnets/weights.rs:396-396` - Hash matching in reveal validation +- **Timing Validation**: Ensures reveal occurs within valid time window + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - `is_reveal_block_range()` implementation + +**Reveal Timing Checks:** +- **Too Early**: Reveal attempted before valid reveal period + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - `is_reveal_block_range()` check +- **Expired**: Commit has expired beyond reveal period + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - `is_commit_expired()` implementation +- **Valid Window**: Reveal must occur exactly at `commit_epoch + reveal_period` + +**Commit Expiration and Cleanup:** + +**Expiration Logic:** +- **Expiration Check**: Commits expire after reveal period + 1 epoch + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - `is_commit_expired()` function +- **Automatic Cleanup**: Expired commits are removed during reveal operations + - `subtensor/pallets/subtensor/src/subnets/weights.rs:512-520` - Expired commit removal in batch reveal + +**Queue Management:** +- **FIFO Processing**: Commits are processed in first-in-first-out order + - `subtensor/pallets/subtensor/src/subnets/weights.rs:74` - `VecDeque<(H256, u64, u64, u64)>` storage +- **Commit Removal**: Revealed commits are removed from the queue + - `subtensor/pallets/subtensor/src/subnets/weights.rs:410-415` - Commit removal after successful reveal + +**Security Properties:** + +**Anti-Weight-Copying:** +- **Temporal Offset**: Time delay prevents immediate weight copying + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1075` - Reveal timing calculation +- **Stale Data**: Copied weights become irrelevant due to network changes + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - Commit expiration mechanism +- **Hash Verification**: Cryptographic commitment prevents manipulation + - `subtensor/pallets/subtensor/src/subnets/weights.rs:396` - Hash verification in reveal + +**Rate Limiting:** +- **Commit Rate Limit**: Prevents excessive commit frequency + - `subtensor/pallets/subtensor/src/subnets/weights.rs:61-66` - Rate limit validation +- **Reveal Timing**: Strict timing windows prevent timing attacks + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - Reveal timing validation + +**Testing and Validation:** + +**Comprehensive Test Coverage:** +- **Basic Functionality**: Tests verify commit and reveal workflow + - `subtensor/pallets/subtensor/src/tests/weights.rs:1502-1559` - `test_reveal_weights_when_commit_reveal_disabled()` +- **Timing Validation**: Tests verify reveal timing constraints + - `subtensor/pallets/subtensor/src/tests/weights.rs:1663-1750` - Timing validation tests +- **Hash Verification**: Tests verify cryptographic commitment integrity + - `subtensor/pallets/subtensor/src/tests/weights.rs:1750-1831` - `test_commit_reveal_hash()` + +**Error Handling:** +- **CommitRevealDisabled**: Attempting operations when disabled + - `subtensor/pallets/subtensor/src/subnets/weights.rs:52` - Enablement check +- **RevealTooEarly**: Reveal attempted before valid window + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - Timing validation +- **ExpiredWeightCommit**: Reveal attempted after expiration + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - Expiration check +- **InvalidRevealCommitHashNotMatch**: Hash verification failure + - `subtensor/pallets/subtensor/src/subnets/weights.rs:396` - Hash matching + +**Network Configuration:** + +**Subnet-Level Settings:** +- **Enablement**: Per-subnet commit reveal toggle + - `subtensor/pallets/subtensor/src/utils/misc.rs:472-477` - Enablement functions +- **Reveal Period**: Configurable epochs between commit and reveal + - `subtensor/pallets/subtensor/src/subnets/weights.rs:1095-1097` - Reveal period configuration +- **Rate Limits**: Commit frequency restrictions + - `subtensor/pallets/subtensor/src/subnets/weights.rs:61-66` - Rate limiting + +**Default Values:** +- **DefaultCommitRevealWeightsEnabled**: Defaults to false (disabled) + - `subtensor/pallets/subtensor/src/lib.rs:799` - `pub fn DefaultCommitRevealWeightsEnabled() -> bool { false }` +- **DefaultRevealPeriodEpochs**: Default reveal period configuration + - `subtensor/pallets/subtensor/src/lib.rs:735` - `pub fn DefaultRevealPeriodEpochs() -> u64 { 1 }` + +**Key Mathematical Insights:** +1. **Commit Hash = BlakeTwo256(hotkey, netuid, uids, weights, salt, version_key)**: Cryptographic commitment +2. **Reveal Epoch = Commit Epoch + Reveal Period**: Timing calculation +3. **Reveal Block Range = [first_reveal_block, last_reveal_block]**: Valid reveal window +4. **Expiration = Current Epoch > Commit Epoch + Reveal Period + 1**: Automatic cleanup +5. **Temporal Offset = Reveal Period × Tempo**: Anti-copying delay + +**Network Security Implications:** +- **Weight Copying Prevention**: Temporal offset makes copied weights stale +- **Consensus Stability**: Prevents rapid weight manipulation +- **Validator Commitment**: Requires validators to commit to their assessments +- **Network Decentralization**: Reduces influence of weight-copying validators +- **Dynamic Adaptation**: Network changes make stale weights irrelevant + +**Complete Commit Reveal Flow:** +1. **Configuration** → Subnet enables commit reveal and sets reveal period +2. **Commit Phase** → Validator commits hash of weights without revealing them +3. **Temporal Offset** → Network progresses for reveal_period epochs +4. **Reveal Window** → Validator reveals weights within valid time window +5. **Hash Verification** → System verifies revealed data matches commit hash +6. **Weight Application** → Verified weights are applied to consensus +7. **Cleanup** → Expired commits are automatically removed + +**Commit Reveal vs Traditional Weight Setting:** +- **Traditional**: Immediate weight setting and consensus participation +- **Commit Reveal**: Delayed weight revelation with temporal offset +- **Security**: Commit reveal prevents weight copying and manipulation +- **Complexity**: Additional timing and hash verification requirements +- **Flexibility**: Configurable per subnet based on security needs + From b4fedee0081b9958206c427315201e7055e6107f Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 16:41:26 -0700 Subject: [PATCH 126/303] wip --- sidebars.js | 1 - 1 file changed, 1 deletion(-) diff --git a/sidebars.js b/sidebars.js index 1532413e5f..87184d5301 100644 --- a/sidebars.js +++ b/sidebars.js @@ -88,7 +88,6 @@ const sidebars = { collapsed: true, items: [ "subnets/metagraph", - "liquidity-provider", "subnets/create-a-subnet", "subnets/subnet-creators-btcli-guide", "subnets/subnet-hyperparameters", From bb2b3ab05fdadbacfd1a6c1a8f9bf05854801c75 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 17:00:24 -0700 Subject: [PATCH 127/303] wip --- docs/liquidity-provider.md | 248 +++++++++++++++++++++++++++++++++++++ 1 file changed, 248 insertions(+) create mode 100644 docs/liquidity-provider.md diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md new file mode 100644 index 0000000000..e3fca0a169 --- /dev/null +++ b/docs/liquidity-provider.md @@ -0,0 +1,248 @@ +--- +title: Provisioning Liquidity to Subnets +--- + +# Provisioning Liquidity to Subnets + +## Overview + +The Liquidity Provider (LP) feature allows users to become providers of trading liquidity for specific subnets, within specified price ranges for the subnet $\alpha$ token. This system is based on Uniswap V3's concentrated liquidity model and enables users to earn fees from trading activity. + +The implementation is located in [`bittensor/utils/liquidity.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L1-L8), which provides utilities for managing liquidity positions and price conversions in the Bittensor network. + +## Key Concepts + +### Liquidity Positions +A liquidity position represents a user's contribution to a trading pool within a specific price range. Each position has: +- **Price Range**: Defined by `price_low` and `price_high` in TAO +- **Liquidity Amount**: The total liquidity provided (in RAO) +- **Position ID**: Unique identifier for the position +- **Fee Tracking**: Separate tracking for TAO and Alpha fees earned + +### Price Ranges and Ticks +The system uses a tick-based pricing mechanism based on Uniswap V3: +- **Ticks**: Discrete price points with 0.01% spacing (PRICE_STEP = 1.0001) +- **Price Range**: Each position covers a range of ticks +- **Concentrated Liquidity**: Liquidity is only active within the specified range + +## Use Cases + +### For TAO holders +- Provide liquidity in expected price ranges +- Earn fees from trading activity +- Participate in market making + +### For subnet creators +- Enable user liquidity provision +- Increase trading volume and liquidity +- Improve price discovery + +Subnet creators can enable/disable user liquidity provision via the `toggle_user_liquidity` function. + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L187-L232) + +### Subnet configuration + +A subnet's creator can enable and disable user the Liquidity Provider feature via `toggle_user_liquidity`. + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L4863-L4904) + +## Managing positions + +### Adding a liquidity position +```python +await subtensor.add_liquidity( + wallet=wallet, + netuid=netuid, + liquidity=Balance.from_tao(1000), + price_low=Balance.from_tao(1.5), + price_high=Balance.from_tao(2.0) +) +``` + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L13-L72) + +### Modifying a position + +Use `modify_liquidity` with the desired amount to add or subtract liquidity to an existing position. + +```python +await subtensor.modify_liquidity( + wallet=wallet, + netuid=netuid, + position_id=position_id, + liquidity_delta=Balance.from_tao(500) +) + +``` + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L74-L125) + +### Removing a liquidity position + +Removes liquidity and credits balances back to the creator's wallet. + +```python +await subtensor.remove_liquidity( + wallet=wallet, + netuid=netuid, + position_id=position_id +) +``` + + [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L127-L185) + +### Listing positions + +Get all positions on a specific subnet for a specific wallet. Returns a list of `LiquidityPosition` objects with calculated fees. + +```python +positions = await subtensor.get_liquidity_list( + wallet=wallet, + netuid=netuid +) +``` + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L1862-L2034) + +## Fee Structure + +### Fee Calculation + +Liquidity providers earn fees from trading activity within their price range: + +- **TAO Fees**: Fees earned in TAO tokens +- **Alpha Fees**: Fees earned in Alpha tokens +- **Fee Distribution**: Proportional to liquidity provided and trading volume + +The `calculate_fees()` function calculates both TAO and Alpha fees based on global fee data and position liquidity. + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158) + + +## Risk Considerations + +### Impermanent Loss +Liquidity providers face impermanent loss when the price moves outside their specified range: +- **In-Range**: Earns trading fees +- **Out-of-Range**: No fees earned, potential for impermanent loss + +### Dynamic TAO/alpha composition + +The `LiquidityPosition.to_token_amounts()` method shows how token composition changes based on current price vs. range boundaries. + +```python +def to_token_amounts( + self, current_subnet_price: Balance + ) -> tuple[Balance, Balance]: + sqrt_price_low = math.sqrt(self.price_low) + sqrt_price_high = math.sqrt(self.price_high) + sqrt_current_subnet_price = math.sqrt(current_subnet_price) + + if sqrt_current_subnet_price < sqrt_price_low: + amount_alpha = self.liquidity * (1 / sqrt_price_low - 1 / sqrt_price_high) + amount_tao = 0 + elif sqrt_current_subnet_price > sqrt_price_high: + amount_alpha = 0 + amount_tao = self.liquidity * (sqrt_price_high - sqrt_price_low) + else: + amount_alpha = self.liquidity * ( + 1 / sqrt_current_subnet_price - 1 / sqrt_price_high + ) + amount_tao = self.liquidity * (sqrt_current_subnet_price - sqrt_price_low) + return Balance.from_rao(int(amount_alpha), self.netuid), Balance.from_rao( + int(amount_tao) + ) + +``` + + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) + +### Price Range Risk +- **Narrow Ranges**: Higher fee concentration but higher risk +- **Wide Ranges**: Lower risk but potentially lower fee earnings + +## Comparison with Staking + +| Aspect | Staking (add_stake) | Liquidity Provider | +|--------|-------------------|-------------------| +| **Purpose** | Support validators/miners | Provide trading liquidity | +| **Token Conversion** | TAO → Alpha | TAO + Alpha pool | +| **Price Range** | Current market price | User-defined range | +| **Rewards** | Subnet participation | Trading fees | +| **Risk** | Validator performance | Impermanent loss | +| **Complexity** | Simple stake/unstake | Position management | + + +## Liquidity Position Lifecycle + +### 1. Position Creation (add_liquidity) + +**Token Source**: When creating a liquidity position, users provide liquidity in the form of a single `liquidity` parameter (in RAO). The system automatically calculates and allocates the appropriate amounts of TAO and Alpha tokens based on the current price and the specified price range. + +**Process**: +1. User calls `add_liquidity()` with `liquidity`, `price_low`, and `price_high` parameters +2. System converts price range to tick indices using `price_to_tick()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L61-L72) +3. System calculates required TAO and Alpha amounts based on current price and range +4. Tokens are transferred from user's wallet to the liquidity pool +5. A new `LiquidityPosition` is created with a unique `position_id` + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L50-L51) + +### 2. Position Management (modify_liquidity) + +**Token Flows**: +- **Adding Liquidity**: Positive `liquidity_delta` increases the position size + - Additional TAO and Alpha tokens are transferred from user's wallet + - Position's `liquidity` field is updated +- **Removing Liquidity**: Negative `liquidity_delta` decreases the position size + - Pro-rata amount of TAO and Alpha tokens are returned to user's wallet + - Position's `liquidity` field is updated + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L74-L125) + +### 3. Fee Accumulation + +**Fee Collection**: As trading occurs within the position's price range, fees accumulate in both TAO and Alpha tokens: + +- **Global Fee Tracking**: System maintains global fee counters (`FeeGlobalTao`, `FeeGlobalAlpha`) +- **Tick-Level Tracking**: Individual ticks track fees collected at specific price points +- **Position Fee Calculation**: Fees earned by each position are calculated using `calculate_fees()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158) + +**Fee Distribution**: Fees are distributed proportionally to liquidity providers based on: +- Their share of total liquidity in the active price range +- The duration their liquidity was active during trading + +The fee calculation from global and tick-level data is implemented in [`bittensor/core/async_subtensor.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L1890-L1930). + + +### 4. Position Removal (remove_liquidity) + +**Token Return**: When removing a position entirely: + +1. The liquidity accumulated to the position is credited to the user, the amounts depending on the current subnet token price. See [Dynamic TAO/alpha composition](#dynamic-taoalpha-composition)] +2. Position is deleted from the system + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L127-L185) + +## Impermanent Loss Scenarios + +**Price Movement Effects**: +- **Price Increases**: Position may end up with more TAO and less Alpha than initially provided +- **Price Decreases**: Position may end up with more Alpha and less TAO than initially provided +- **Out-of-Range**: Position becomes single-token (either all TAO or all Alpha) + +**Fee Compensation**: Trading fees earned can offset impermanent loss, potentially making the position profitable even with price movements. + +## Tracking your positions + +**Storage Structure**: Each position is tracked with: +- `id`: Unique position identifier +- `tick_low`/`tick_high`: Price range boundaries +- `liquidity`: Current liquidity amount +- `fees_tao`/`fees_alpha`: Accumulated fees +- `netuid`: Associated subnet + +The `LiquidityPosition` dataclass definition and position creation are implemented in [`bittensor/utils/liquidity.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L18-L26) and [`bittensor/core/async_subtensor.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L2000-L2030). + From 713318b7856cd5e3606b9b061a67bb9044228c52 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 17:00:50 -0700 Subject: [PATCH 128/303] wip --- docs/liquidity-provider.md | 80 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index e3fca0a169..764bbc3337 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -246,3 +246,83 @@ The fee calculation from global and tick-level data is implemented in [`bittenso The `LiquidityPosition` dataclass definition and position creation are implemented in [`bittensor/utils/liquidity.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L18-L26) and [`bittensor/core/async_subtensor.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L2000-L2030). + +## Comparison with Uniswap V3 + +### **Similarities with Uniswap V3** + +The Bittensor liquidity provider system is heavily inspired by Uniswap V3's concentrated liquidity model, with several key similarities: + +#### **1. Concentrated Liquidity Model** +- **Bittensor**: Users specify `price_low` and `price_high` to define liquidity range [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L50-L51) +- **Uniswap V3**: Users specify `tickLower` and `tickUpper` to define price range +- **Similarity**: Both allow liquidity providers to concentrate their capital in specific price ranges + +#### **2. Tick-Based Pricing System** +- **Bittensor**: Uses `price_to_tick()` and `tick_to_price()` functions with `PRICE_STEP = 1.0001` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L61-L80) +- **Uniswap V3**: Uses ticks with 0.01% price spacing (1.0001 multiplier) +- **Similarity**: Identical tick spacing and price conversion mechanics + +#### **3. Position Management** +- **Bittensor**: `add_liquidity()`, `modify_liquidity()`, `remove_liquidity()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L13-L185) +- **Uniswap V3**: `mint()`, `increaseLiquidity()`, `decreaseLiquidity()`, `burn()` +- **Similarity**: Similar lifecycle operations for position management + +#### **4. Fee Collection** +- **Bittensor**: Global and tick-level fee tracking with `calculate_fees()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158) +- **Uniswap V3**: Fee accumulation in positions with `collect()` function +- **Similarity**: Both track fees at multiple levels and allow fee collection + +#### **5. Single-Side Liquidity** +- **Bittensor**: Positions can become single-token when price moves outside range [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) +- **Uniswap V3**: Single-side positions when current price is outside the range +- **Similarity**: Both support single-token liquidity positions + +### **Key Differences from Uniswap V3** + +#### **1. Token Pair Structure** +- **Bittensor**: TAO (network token) vs Alpha (subnet-specific token) +- **Uniswap V3**: Generic token pairs (any ERC-20 tokens) +- **Difference**: Bittensor has a fixed token relationship across all pools + +#### **2. Position Representation** +- **Bittensor**: Uses `LiquidityPosition` dataclass with direct fee tracking [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L18-L26) +- **Uniswap V3**: Uses NFT-based positions via `NonfungiblePositionManager` +- **Difference**: Bittensor positions are not NFTs and have built-in fee tracking + +#### **3. Subnet Integration** +- **Bittensor**: Positions are subnet-specific with `netuid` parameter [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L2000-L2030) +- **Uniswap V3**: Pool-specific positions +- **Difference**: Bittensor integrates liquidity with subnet governance and operations + +#### **4. Fee Structure** +- **Bittensor**: Separate tracking of TAO and Alpha fees with `fees_tao` and `fees_alpha` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L1890-L1930) +- **Uniswap V3**: Single fee rate per pool (0.01%, 0.05%, 0.3%, 1%) +- **Difference**: Bittensor has dual-token fee structure tied to subnet economics + +#### **5. Access Control** +- **Bittensor**: Subnet owners can enable/disable user liquidity via `toggle_user_liquidity` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L4863-L4904) +- **Uniswap V3**: Open access to all users +- **Difference**: Bittensor has subnet-level governance over liquidity provision + +#### **6. Implementation Architecture** +- **Bittensor**: Built into the core blockchain as a "Swap" module +- **Uniswap V3**: Separate smart contracts on Ethereum +- **Difference**: Bittensor liquidity is native to the blockchain, not a separate protocol + +### **Technical Implementation Notes** + +#### **Uniswap V3 References** +- **Tick System**: Bittensor uses identical tick spacing (1.0001) as Uniswap V3 +- **Price Conversion**: `price_to_tick()` and `tick_to_price()` functions mirror Uniswap V3's implementation +- **Liquidity Math**: The `to_token_amounts()` method uses similar sqrt price calculations [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) + +#### **Bittensor-Specific Adaptations** +- **Subnet Economics**: Fee structure designed around subnet participation and Alpha token economics +- **Network Integration**: Liquidity positions tied to subnet operations and governance +- **Simplified Interface**: Direct API methods without NFT complexity + +#### **References** +- **Uniswap V3 Documentation**: https://docs.uniswap.org/sdk/v3/guides/liquidity/position-data +- **Concentrated Liquidity**: https://uniswap.org/whitepaper-v3.pdf +- **Tick System**: https://docs.uniswap.org/concepts/protocol/concentrated-liquidity From 9615cc88a2fcfbd63cefd636f5cbae1a267449e0 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 17:06:03 -0700 Subject: [PATCH 129/303] wip --- docs/liquidity-provider.md | 81 -------------------------------------- sidebars.js | 1 + 2 files changed, 1 insertion(+), 81 deletions(-) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index 764bbc3337..d31b0fdd95 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -245,84 +245,3 @@ The fee calculation from global and tick-level data is implemented in [`bittenso - `netuid`: Associated subnet The `LiquidityPosition` dataclass definition and position creation are implemented in [`bittensor/utils/liquidity.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L18-L26) and [`bittensor/core/async_subtensor.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L2000-L2030). - - -## Comparison with Uniswap V3 - -### **Similarities with Uniswap V3** - -The Bittensor liquidity provider system is heavily inspired by Uniswap V3's concentrated liquidity model, with several key similarities: - -#### **1. Concentrated Liquidity Model** -- **Bittensor**: Users specify `price_low` and `price_high` to define liquidity range [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L50-L51) -- **Uniswap V3**: Users specify `tickLower` and `tickUpper` to define price range -- **Similarity**: Both allow liquidity providers to concentrate their capital in specific price ranges - -#### **2. Tick-Based Pricing System** -- **Bittensor**: Uses `price_to_tick()` and `tick_to_price()` functions with `PRICE_STEP = 1.0001` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L61-L80) -- **Uniswap V3**: Uses ticks with 0.01% price spacing (1.0001 multiplier) -- **Similarity**: Identical tick spacing and price conversion mechanics - -#### **3. Position Management** -- **Bittensor**: `add_liquidity()`, `modify_liquidity()`, `remove_liquidity()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L13-L185) -- **Uniswap V3**: `mint()`, `increaseLiquidity()`, `decreaseLiquidity()`, `burn()` -- **Similarity**: Similar lifecycle operations for position management - -#### **4. Fee Collection** -- **Bittensor**: Global and tick-level fee tracking with `calculate_fees()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158) -- **Uniswap V3**: Fee accumulation in positions with `collect()` function -- **Similarity**: Both track fees at multiple levels and allow fee collection - -#### **5. Single-Side Liquidity** -- **Bittensor**: Positions can become single-token when price moves outside range [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) -- **Uniswap V3**: Single-side positions when current price is outside the range -- **Similarity**: Both support single-token liquidity positions - -### **Key Differences from Uniswap V3** - -#### **1. Token Pair Structure** -- **Bittensor**: TAO (network token) vs Alpha (subnet-specific token) -- **Uniswap V3**: Generic token pairs (any ERC-20 tokens) -- **Difference**: Bittensor has a fixed token relationship across all pools - -#### **2. Position Representation** -- **Bittensor**: Uses `LiquidityPosition` dataclass with direct fee tracking [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L18-L26) -- **Uniswap V3**: Uses NFT-based positions via `NonfungiblePositionManager` -- **Difference**: Bittensor positions are not NFTs and have built-in fee tracking - -#### **3. Subnet Integration** -- **Bittensor**: Positions are subnet-specific with `netuid` parameter [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L2000-L2030) -- **Uniswap V3**: Pool-specific positions -- **Difference**: Bittensor integrates liquidity with subnet governance and operations - -#### **4. Fee Structure** -- **Bittensor**: Separate tracking of TAO and Alpha fees with `fees_tao` and `fees_alpha` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L1890-L1930) -- **Uniswap V3**: Single fee rate per pool (0.01%, 0.05%, 0.3%, 1%) -- **Difference**: Bittensor has dual-token fee structure tied to subnet economics - -#### **5. Access Control** -- **Bittensor**: Subnet owners can enable/disable user liquidity via `toggle_user_liquidity` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L4863-L4904) -- **Uniswap V3**: Open access to all users -- **Difference**: Bittensor has subnet-level governance over liquidity provision - -#### **6. Implementation Architecture** -- **Bittensor**: Built into the core blockchain as a "Swap" module -- **Uniswap V3**: Separate smart contracts on Ethereum -- **Difference**: Bittensor liquidity is native to the blockchain, not a separate protocol - -### **Technical Implementation Notes** - -#### **Uniswap V3 References** -- **Tick System**: Bittensor uses identical tick spacing (1.0001) as Uniswap V3 -- **Price Conversion**: `price_to_tick()` and `tick_to_price()` functions mirror Uniswap V3's implementation -- **Liquidity Math**: The `to_token_amounts()` method uses similar sqrt price calculations [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) - -#### **Bittensor-Specific Adaptations** -- **Subnet Economics**: Fee structure designed around subnet participation and Alpha token economics -- **Network Integration**: Liquidity positions tied to subnet operations and governance -- **Simplified Interface**: Direct API methods without NFT complexity - -#### **References** -- **Uniswap V3 Documentation**: https://docs.uniswap.org/sdk/v3/guides/liquidity/position-data -- **Concentrated Liquidity**: https://uniswap.org/whitepaper-v3.pdf -- **Tick System**: https://docs.uniswap.org/concepts/protocol/concentrated-liquidity diff --git a/sidebars.js b/sidebars.js index 4817a09dc0..d0d034ceb1 100644 --- a/sidebars.js +++ b/sidebars.js @@ -88,6 +88,7 @@ const sidebars = { collapsed: true, items: [ "subnets/create-a-subnet", + 'liquidity-provider', "subnets/subnet-creators-btcli-guide", "subnets/subnet-hyperparameters", "subnets/working-with-subnets", From 0050a37742dfe5369fe7eed0c747340ccccf2e42 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 17:14:30 -0700 Subject: [PATCH 130/303] wip --- docs/liquidity-provider.md | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index d31b0fdd95..3d743698d9 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -56,11 +56,14 @@ await subtensor.add_liquidity( netuid=netuid, liquidity=Balance.from_tao(1000), price_low=Balance.from_tao(1.5), - price_high=Balance.from_tao(2.0) + price_high=Balance.from_tao(2.0), + wait_for_inclusion=True, + wait_for_finalization=False, + period=None ) ``` -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L13-L72) +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L2997-L3056) ### Modifying a position @@ -71,12 +74,14 @@ await subtensor.modify_liquidity( wallet=wallet, netuid=netuid, position_id=position_id, - liquidity_delta=Balance.from_tao(500) + liquidity_delta=Balance.from_tao(500), + wait_for_inclusion=True, + wait_for_finalization=False, + period=None ) - ``` -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L74-L125) +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L3210-L3269) ### Removing a liquidity position @@ -86,11 +91,14 @@ Removes liquidity and credits balances back to the creator's wallet. await subtensor.remove_liquidity( wallet=wallet, netuid=netuid, - position_id=position_id + position_id=position_id, + wait_for_inclusion=True, + wait_for_finalization=False, + period=None ) ``` - [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L127-L185) + [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L3418-L3477) ### Listing positions @@ -99,11 +107,12 @@ Get all positions on a specific subnet for a specific wallet. Returns a list of ```python positions = await subtensor.get_liquidity_list( wallet=wallet, - netuid=netuid + netuid=netuid, + block=None ) ``` -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L1862-L2034) +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L1451-L1523) ## Fee Structure @@ -245,3 +254,4 @@ The fee calculation from global and tick-level data is implemented in [`bittenso - `netuid`: Associated subnet The `LiquidityPosition` dataclass definition and position creation are implemented in [`bittensor/utils/liquidity.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L18-L26) and [`bittensor/core/async_subtensor.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L2000-L2030). + From f7e4ba0161a0c077794e965274b3faa9ca9aafa1 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 2 Jul 2025 17:25:37 -0700 Subject: [PATCH 131/303] wip --- docs/liquidity-provider.md | 44 ++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index 3d743698d9..289430ded4 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -128,18 +128,33 @@ The `calculate_fees()` function calculates both TAO and Alpha fees based on glob [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158) +## Dynamic token composition -## Risk Considerations +Liquidity providers experience changes in their token composition based on price movements relative to their specified range: -### Impermanent Loss -Liquidity providers face impermanent loss when the price moves outside their specified range: -- **In-Range**: Earns trading fees -- **Out-of-Range**: No fees earned, potential for impermanent loss -### Dynamic TAO/alpha composition + +**Price Movement Effects**: + +1. **Price Below Range** (`current_price < price_low`): + - Position becomes **100% Alpha tokens** + - `amount_alpha = liquidity * (1/sqrt_price_low - 1/sqrt_price_high)` + - `amount_tao = 0` + +2. **Price Above Range** (`current_price > price_high`): + - Position becomes **100% TAO tokens** + - `amount_alpha = 0` + - `amount_tao = liquidity * (sqrt_price_high - sqrt_price_low)` + +3. **Price Within Range** (`price_low <= current_price <= price_high`): + - Position maintains **mixed token composition** + - `amount_alpha = liquidity * (1/sqrt_current_price - 1/sqrt_price_high)` + - `amount_tao = liquidity * (sqrt_current_price - sqrt_price_low)` + The `LiquidityPosition.to_token_amounts()` method shows how token composition changes based on current price vs. range boundaries. + ```python def to_token_amounts( self, current_subnet_price: Balance @@ -168,9 +183,9 @@ def to_token_amounts( [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) -### Price Range Risk -- **Narrow Ranges**: Higher fee concentration but higher risk -- **Wide Ranges**: Lower risk but potentially lower fee earnings +### Price Range Considerations +- **Narrow Ranges**: Higher fee concentration but more likely to become single-token when price moves +- **Wide Ranges**: Lower fee concentration but more likely to maintain mixed token composition ## Comparison with Staking @@ -180,7 +195,7 @@ def to_token_amounts( | **Token Conversion** | TAO → Alpha | TAO + Alpha pool | | **Price Range** | Current market price | User-defined range | | **Rewards** | Subnet participation | Trading fees | -| **Risk** | Validator performance | Impermanent loss | +| **Risk** | Validator performance | Token composition changes | | **Complexity** | Simple stake/unstake | Position management | @@ -230,19 +245,12 @@ The fee calculation from global and tick-level data is implemented in [`bittenso **Token Return**: When removing a position entirely: -1. The liquidity accumulated to the position is credited to the user, the amounts depending on the current subnet token price. See [Dynamic TAO/alpha composition](#dynamic-taoalpha-composition)] +1. The position's liquidity is converted back to tokens based on the current subnet price relative to your position's price range. See [Token Composition Scenarios](#token-composition-scenarios) 2. Position is deleted from the system [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L127-L185) -## Impermanent Loss Scenarios - -**Price Movement Effects**: -- **Price Increases**: Position may end up with more TAO and less Alpha than initially provided -- **Price Decreases**: Position may end up with more Alpha and less TAO than initially provided -- **Out-of-Range**: Position becomes single-token (either all TAO or all Alpha) -**Fee Compensation**: Trading fees earned can offset impermanent loss, potentially making the position profitable even with price movements. ## Tracking your positions From 9e79789899c03f1874c95c9243263db7071d6db9 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 3 Jul 2025 12:10:09 -0700 Subject: [PATCH 132/303] wip --- docs/liquidity-provider.md | 420 +++++++++++++++++++++++++++++-------- 1 file changed, 327 insertions(+), 93 deletions(-) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index 289430ded4..1144060d12 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -8,22 +8,6 @@ title: Provisioning Liquidity to Subnets The Liquidity Provider (LP) feature allows users to become providers of trading liquidity for specific subnets, within specified price ranges for the subnet $\alpha$ token. This system is based on Uniswap V3's concentrated liquidity model and enables users to earn fees from trading activity. -The implementation is located in [`bittensor/utils/liquidity.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L1-L8), which provides utilities for managing liquidity positions and price conversions in the Bittensor network. - -## Key Concepts - -### Liquidity Positions -A liquidity position represents a user's contribution to a trading pool within a specific price range. Each position has: -- **Price Range**: Defined by `price_low` and `price_high` in TAO -- **Liquidity Amount**: The total liquidity provided (in RAO) -- **Position ID**: Unique identifier for the position -- **Fee Tracking**: Separate tracking for TAO and Alpha fees earned - -### Price Ranges and Ticks -The system uses a tick-based pricing mechanism based on Uniswap V3: -- **Ticks**: Discrete price points with 0.01% spacing (PRICE_STEP = 1.0001) -- **Price Range**: Each position covers a range of ticks -- **Concentrated Liquidity**: Liquidity is only active within the specified range ## Use Cases @@ -47,76 +31,10 @@ A subnet's creator can enable and disable user the Liquidity Provider feature vi [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L4863-L4904) -## Managing positions - -### Adding a liquidity position -```python -await subtensor.add_liquidity( - wallet=wallet, - netuid=netuid, - liquidity=Balance.from_tao(1000), - price_low=Balance.from_tao(1.5), - price_high=Balance.from_tao(2.0), - wait_for_inclusion=True, - wait_for_finalization=False, - period=None -) -``` - -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L2997-L3056) - -### Modifying a position - -Use `modify_liquidity` with the desired amount to add or subtract liquidity to an existing position. - -```python -await subtensor.modify_liquidity( - wallet=wallet, - netuid=netuid, - position_id=position_id, - liquidity_delta=Balance.from_tao(500), - wait_for_inclusion=True, - wait_for_finalization=False, - period=None -) -``` - -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L3210-L3269) - -### Removing a liquidity position - -Removes liquidity and credits balances back to the creator's wallet. - -```python -await subtensor.remove_liquidity( - wallet=wallet, - netuid=netuid, - position_id=position_id, - wait_for_inclusion=True, - wait_for_finalization=False, - period=None -) -``` - - [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L3418-L3477) - -### Listing positions - -Get all positions on a specific subnet for a specific wallet. Returns a list of `LiquidityPosition` objects with calculated fees. - -```python -positions = await subtensor.get_liquidity_list( - wallet=wallet, - netuid=netuid, - block=None -) -``` - -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L1451-L1523) -## Fee Structure +## Tokenomics -### Fee Calculation +### Fees Liquidity providers earn fees from trading activity within their price range: @@ -128,12 +46,11 @@ The `calculate_fees()` function calculates both TAO and Alpha fees based on glob [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158) -## Dynamic token composition +### Dynamic token composition Liquidity providers experience changes in their token composition based on price movements relative to their specified range: - **Price Movement Effects**: 1. **Price Below Range** (`current_price < price_low`): @@ -151,10 +68,11 @@ Liquidity providers experience changes in their token composition based on price - `amount_alpha = liquidity * (1/sqrt_current_price - 1/sqrt_price_high)` - `amount_tao = liquidity * (sqrt_current_price - sqrt_price_low)` +
      + See how it's computed The `LiquidityPosition.to_token_amounts()` method shows how token composition changes based on current price vs. range boundaries. - ```python def to_token_amounts( self, current_subnet_price: Balance @@ -179,9 +97,10 @@ def to_token_amounts( ) ``` +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) +
      -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) ### Price Range Considerations - **Narrow Ranges**: Higher fee concentration but more likely to become single-token when price moves @@ -203,9 +122,8 @@ def to_token_amounts( ### 1. Position Creation (add_liquidity) -**Token Source**: When creating a liquidity position, users provide liquidity in the form of a single `liquidity` parameter (in RAO). The system automatically calculates and allocates the appropriate amounts of TAO and Alpha tokens based on the current price and the specified price range. +When creating a liquidity position, users provide liquidity in the form of a single `liquidity` parameter (in RAO). The system automatically calculates and allocates the appropriate amounts of TAO and Alpha tokens based on the current price and the specified price range. -**Process**: 1. User calls `add_liquidity()` with `liquidity`, `price_low`, and `price_high` parameters 2. System converts price range to tick indices using `price_to_tick()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L61-L72) 3. System calculates required TAO and Alpha amounts based on current price and range @@ -214,6 +132,131 @@ def to_token_amounts( [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L50-L51) +**Blockchain Implementation Details**: + +When the Python SDK calls `add_liquidity_extrinsic` on [line 55 in liquidity.py](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L55), it triggers the following sequence in the subtensor blockchain: + +1. Extrinsic Call (`Swap::add_liquidity`) + +The extrinsic call maps to the `add_liquidity` function in the **Swap pallet** ([`pallets/swap/src/pallet/mod.rs:337`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L337)): + + +#### **2. Core Implementation (`do_add_liquidity`)** + +The main logic is handled by `do_add_liquidity` ([`pallets/swap/src/pallet/impls.rs:774`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L774)): + +```rust +pub fn do_add_liquidity( + netuid: NetUid, + coldkey_account_id: &T::AccountId, + hotkey_account_id: &T::AccountId, + tick_low: TickIndex, + tick_high: TickIndex, + liquidity: u64, +) -> Result<(PositionId, u64, u64), Error> +``` + +**Key Steps:** + +1. **Validation Checks:** + - Ensures user liquidity is enabled for the subnet (`EnabledUserLiquidity`) + - Validates tick range (`tick_high > tick_low`) + - Checks user has sufficient TAO and Alpha balances + - Ensures liquidity meets minimum threshold + +2. **Position Creation:** + - Generates new `PositionId` using `PositionId::new()` + - Creates `Position` struct with tick range and liquidity amount + - Calculates required TAO and Alpha token amounts based on current price + +3. **Tick Management:** + - Updates tick data at `tick_low` and `tick_high` via `add_liquidity_at_index()` + - Updates current liquidity if position crosses current price + - Manages tick bitmap for efficient price range queries + +4. **Storage Updates:** + - Stores position in `Positions` storage map: `(netuid, coldkey, position_id) -> Position` + - Updates global liquidity tracking + - Marks subnet as V3 initialized (`SwapV3Initialized`) + +#### **3. Token Amount Calculation** + +The `Position::to_token_amounts()` method ([`pallets/swap/src/position.rs:63`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/position.rs#L63)) calculates required tokens based on current price relative to position range: + +```rust +// Pseudocode implementation: +if current_price < price_low { + tao = 0 + alpha = liquidity * (1/sqrt_price_low - 1/sqrt_price_high) +} else if current_price > price_high { + tao = liquidity * (sqrt_price_high - sqrt_price_low) + alpha = 0 +} else { + tao = liquidity * (current_price - sqrt_price_low) + alpha = liquidity * (1/current_price - 1/sqrt_price_high) +} +``` + +#### **4. Balance Operations** + +After successful position creation, the extrinsic performs actual token transfers: + +1. **Token Withdrawal (Source of Funds):** + - **TAO Source**: `T::BalanceOps::decrease_balance(&coldkey, tao_needed)` + - Withdraws from your **coldkey's free TAO balance** + - This is your regular TAO wallet balance, not staked tokens + - **Alpha Source**: `T::BalanceOps::decrease_stake(&coldkey, &hotkey, netuid, alpha_needed)` + - Withdraws from your **hotkey's existing stake** on the specified subnet + - Converts staked Alpha tokens into liquidity position + +2. **Reserve Pool Updates:** + - `T::BalanceOps::increase_provided_tao_reserve(netuid, tao_provided)` - Adds TAO to subnet's liquidity pool + - `T::BalanceOps::increase_provided_alpha_reserve(netuid, alpha_provided)` - Adds Alpha to subnet's liquidity pool + +**Balance Requirements:** +- **Coldkey**: Must have sufficient free TAO balance (not staked) +- **Hotkey**: Must have sufficient staked Alpha tokens on the target subnet +- The exact amounts needed depend on your `liquidity` parameter and current market price + +#### **5. Event Emission** + +Finally, the system emits a `LiquidityAdded` event ([`pallets/swap/src/pallet/mod.rs:157`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L157)): + +```rust +LiquidityAdded { + coldkey: T::AccountId, + hotkey: T::AccountId, + netuid: NetUid, + position_id: PositionId, + liquidity: u64, + tao: u64, + alpha: u64, + tick_low: TickIndex, // Added in PR #1814 + tick_high: TickIndex, // Added in PR #1814 +} +``` + +#### **Storage Schema** + +The Swap pallet maintains several storage items: + +- **`Positions`**: `(NetUid, AccountId, PositionId) -> Position` - Individual liquidity positions +- **`Ticks`**: `(NetUid, TickIndex) -> Tick` - Tick-level liquidity and fee data +- **`CurrentLiquidity`**: `NetUid -> u64` - Active liquidity at current price +- **`AlphaSqrtPrice`**: `NetUid -> U64F64` - Current square root price +- **`FeeGlobalTao/Alpha`**: `NetUid -> U64F64` - Global fee accumulation +- **`EnabledUserLiquidity`**: `NetUid -> bool` - User liquidity toggle per subnet + +#### **Error Handling** + +Common errors returned by the implementation: + +- `UserLiquidityDisabled` - Subnet doesn't allow user liquidity +- `InsufficientBalance` - Not enough TAO or Alpha tokens +- `InvalidTickRange` - Invalid price range specification +- `InvalidLiquidityValue` - Liquidity amount too small +- `MaxPositionsExceeded` - Too many positions for this account + ### 2. Position Management (modify_liquidity) **Token Flows**: @@ -251,8 +294,7 @@ The fee calculation from global and tick-level data is implemented in [`bittenso [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L127-L185) - -## Tracking your positions +### 5. Tracking your positions **Storage Structure**: Each position is tracked with: - `id`: Unique position identifier @@ -261,5 +303,197 @@ The fee calculation from global and tick-level data is implemented in [`bittenso - `fees_tao`/`fees_alpha`: Accumulated fees - `netuid`: Associated subnet -The `LiquidityPosition` dataclass definition and position creation are implemented in [`bittensor/utils/liquidity.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L18-L26) and [`bittensor/core/async_subtensor.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L2000-L2030). +See [`bittensor/utils/liquidity.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L1-L8), which provides utilities for managing liquidity positions and price conversions in the Bittensor network. + +## Key Concepts + +### Liquidity Positions +A liquidity position represents a user's contribution to a trading pool within a specific price range. Each position has: +- **Price Range**: Defined by `price_low` and `price_high` in TAO +- **Liquidity Amount**: The total liquidity provided (in RAO) +- **Position ID**: Unique identifier for the position +- **Fee Tracking**: Separate tracking for TAO and Alpha fees earned + +### Price Ranges and Ticks +The system uses a tick-based pricing mechanism based on Uniswap V3: +- **Ticks**: Discrete price points with 0.01% spacing (PRICE_STEP = 1.0001) +- **Price Range**: Each position covers a range of ticks +- **Concentrated Liquidity**: Liquidity is only active within the specified range + + +## Managing positions + +### Adding a liquidity position +```python +await subtensor.add_liquidity( + wallet=wallet, + netuid=netuid, + liquidity=Balance.from_tao(1000), + price_low=Balance.from_tao(1.5), + price_high=Balance.from_tao(2.0), + wait_for_inclusion=True, + wait_for_finalization=False, + period=None +) +``` + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L2997-L3056) + +### Modifying a position + +Use `modify_liquidity` with the desired amount to add or subtract liquidity to an existing position. + +```python +await subtensor.modify_liquidity( + wallet=wallet, + netuid=netuid, + position_id=position_id, + liquidity_delta=Balance.from_tao(500), + wait_for_inclusion=True, + wait_for_finalization=False, + period=None +) +``` + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L3210-L3269) + +### Removing a liquidity position + +Removes liquidity and credits balances back to the creator's wallet. + +```python +await subtensor.remove_liquidity( + wallet=wallet, + netuid=netuid, + position_id=position_id, + wait_for_inclusion=True, + wait_for_finalization=False, + period=None +) +``` + + [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L3418-L3477) + +### Listing positions + +Get all positions on a specific subnet for a specific wallet. Returns a list of `LiquidityPosition` objects with calculated fees. + +```python +positions = await subtensor.get_liquidity_list( + wallet=wallet, + netuid=netuid, + block=None +) +``` + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L1451-L1523) + + +## Comparison with Uniswap V3 + +### **Similarities with Uniswap V3** + +The Bittensor liquidity provider system is heavily inspired by Uniswap V3's concentrated liquidity model, with several key similarities: + +#### **1. Concentrated Liquidity Model** +- **Bittensor**: Users specify `price_low` and `price_high` to define liquidity range [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L50-L51) +- **Uniswap V3**: Users specify `tickLower` and `tickUpper` to define price range +- **Similarity**: Both allow liquidity providers to concentrate their capital in specific price ranges + +#### **2. Tick-Based Pricing System** +- **Bittensor**: Uses `price_to_tick()` and `tick_to_price()` functions with `PRICE_STEP = 1.0001` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L61-L80) +- **Uniswap V3**: Uses ticks with 0.01% price spacing (1.0001 multiplier) +- **Similarity**: Identical tick spacing and price conversion mechanics + +#### **3. Position Management** +- **Bittensor**: `add_liquidity()`, `modify_liquidity()`, `remove_liquidity()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L13-L185) +- **Uniswap V3**: `mint()`, `increaseLiquidity()`, `decreaseLiquidity()`, `burn()` +- **Similarity**: Similar lifecycle operations for position management + +#### **4. Fee Collection** +- **Bittensor**: Global and tick-level fee tracking with `calculate_fees()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158) +- **Uniswap V3**: Fee accumulation in positions with `collect()` function +- **Similarity**: Both track fees at multiple levels and allow fee collection + +#### **5. Single-Side Liquidity** +- **Bittensor**: Positions can become single-token when price moves outside range [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) +- **Uniswap V3**: Single-side positions when current price is outside the range +- **Similarity**: Both support single-token liquidity positions + +### **Key Differences from Uniswap V3** + +#### **1. Token Pair Structure** +- **Bittensor**: TAO (network token) vs Alpha (subnet-specific token) +- **Uniswap V3**: Generic token pairs (any ERC-20 tokens) +- **Difference**: Bittensor has a fixed token relationship across all pools + +#### **2. Position Representation** +- **Bittensor**: Uses `LiquidityPosition` dataclass with direct fee tracking [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L18-L26) +- **Uniswap V3**: Uses NFT-based positions via `NonfungiblePositionManager` +- **Difference**: Bittensor positions are not NFTs and have built-in fee tracking + +#### **3. Subnet Integration** +- **Bittensor**: Positions are subnet-specific with `netuid` parameter [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L2000-L2030) +- **Uniswap V3**: Pool-specific positions +- **Difference**: Bittensor integrates liquidity with subnet governance and operations + +#### **4. Fee Structure** +- **Bittensor**: Separate tracking of TAO and Alpha fees with `fees_tao` and `fees_alpha` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L1890-L1930) +- **Uniswap V3**: Single fee rate per pool (0.01%, 0.05%, 0.3%, 1%) +- **Difference**: Bittensor has dual-token fee structure tied to subnet economics + +#### **5. Access Control** +- **Bittensor**: Subnet owners can enable/disable user liquidity via `toggle_user_liquidity` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L4863-L4904) +- **Uniswap V3**: Open access to all users +- **Difference**: Bittensor has subnet-level governance over liquidity provision + +#### **6. Implementation Architecture** +- **Bittensor**: Built into the core blockchain as a "Swap" module +- **Uniswap V3**: Separate smart contracts on Ethereum +- **Difference**: Bittensor liquidity is native to the blockchain, not a separate protocol + +### **Technical Implementation Notes** + +#### **Uniswap V3 References** +- **Tick System**: Bittensor uses identical tick spacing (1.0001) as Uniswap V3 +- **Price Conversion**: `price_to_tick()` and `tick_to_price()` functions mirror Uniswap V3's implementation +- **Liquidity Math**: The `to_token_amounts()` method uses similar sqrt price calculations [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) + +#### **Bittensor-Specific Adaptations** +- **Subnet Economics**: Fee structure designed around subnet participation and Alpha token economics +- **Network Integration**: Liquidity positions tied to subnet operations and governance +- **Simplified Interface**: Direct API methods without NFT complexity + +#### **References** +- **Uniswap V3 Documentation**: https://docs.uniswap.org/sdk/v3/guides/liquidity/position-data +- **Concentrated Liquidity**: https://uniswap.org/whitepaper-v3.pdf +- **Tick System**: https://docs.uniswap.org/concepts/protocol/concentrated-liquidity + +## Implementation Status + +The liquidity provider functionality is **fully implemented** in the subtensor blockchain on the `devnet-ready` branch. Based on [PR #1814](https://github.com/opentensor/subtensor/pull/1814), recent improvements have been made to ensure event consistency with Uniswap V3 standards. + +### **Current Implementation State** + +| Component | Status | Location | +|-----------|--------|----------| +| **Python SDK** | ✅ Complete | `bittensor/core/extrinsics/asyncex/liquidity.py` | +| **Utility Functions** | ✅ Complete | `bittensor/utils/liquidity.py` | +| **Swap Pallet** | ✅ Complete | `subtensor/pallets/swap/` (devnet-ready branch) | +| **Position Management** | ✅ Complete | Full CRUD operations for liquidity positions | +| **Fee Tracking** | ✅ Complete | Global and position-level fee calculation | +| **Event System** | ✅ Complete | Uniswap V3-compatible events | + +### **Deployment Status** + +- **Development**: Available on `devnet-ready` branch +- **Production**: Deployment pending mainnet integration +- **Testing**: Full test suite available in `pallets/swap/src/pallet/tests.rs` + +### **Usage Requirements** +To use the liquidity provider features: + +1. **Subnet Configuration**: Subnet owners must enable user liquidity via `toggle_user_liquidity` +2. **Account Setup**: Users need both TAO (coldkey) and Alpha tokens (hotkey stake) +3. **Network Support**: Currently available on devnet, mainnet deployment in progress From f78273661c703f1f063245bec50739938162df67 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 3 Jul 2025 12:29:50 -0700 Subject: [PATCH 133/303] wip --- docs/glossary.md | 4 +- docs/learn/neurons.md | 225 ++++++------------------------------------ 2 files changed, 30 insertions(+), 199 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index b6c7e746b0..5c362c3798 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -369,7 +369,7 @@ This metagraph property represents the final aggregate judgment of a each miner, Ranks are calculated as the stake-weighted sum of consensus-clipped weights and directly determine emissions to miners. -**See also:** [Emissions](./emissions.md), [Yuma Consensus](./yuma-consensus.md), [Subnet Metagraph](./subnets/metagraph.md) +**See also:** [Emissions](./emissions.md), [Yuma Consensus](./yuma-consensus.md), [Subnet Metagraph](./subnets/metagraph) **Relationship to Other Metrics:** - **Ranks vs Consensus**: Ranks are calculated using consensus-clipped weights @@ -603,7 +603,7 @@ A group of three Opentensor Foundation employees responsible for creating propos In the Yuma Consensus algorithm, trust represents how much a miner's rank was affected by consensus clipping. Trust is calculated as the ratio of final rank to pre-rank. It represents how much of the original validator support survived the consensus clipping process, providing insight into whether a neuron received controversial or outlier weight assignments. -**See also:** [Yuma Consensus](./yuma-consensus.md), [Subnet Metagraph](./subnets/metagraph.md) +**See also:** [Yuma Consensus](./yuma-consensus.md), [Subnet Metagraph](./subnets/metagraph) **Mathematical Definition:** diff --git a/docs/learn/neurons.md b/docs/learn/neurons.md index a607d1da28..47e6a72606 100644 --- a/docs/learn/neurons.md +++ b/docs/learn/neurons.md @@ -8,11 +8,6 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Understanding Neurons - - The design of Bittensor subnets is inspired by the structure of a simple neural network, with each **neuron** being either a miner or validator. Each neuron is identified by a unique UID within its subnet and associated with a hotkey-coldkey pair for authentication and operations. :::tip Neuron requirements @@ -29,20 +24,42 @@ Neurons in a subnet operate within a server-client architecture: Additionally, the Metagraph serves as a global directory for managing subnet nodes, while the Subtensor connects neurons to the blockchain. -## Neuron Lifecycle and Management +## Complete Neuron Lifecycle + +1. **Registration** → Neuron registers via PoW or burned registration +2. **UID Assignment** → Neuron receives unique UID within subnet +3. **Immunity Period** → Neuron is protected from pruning for configurable blocks +4. **Performance Building** → Neuron accumulates rank, trust, consensus, and incentive +5. **Validator Permit** → Top K neurons by stake receive validator permits +6. **Weight Setting** → Permitted neurons can set weights and participate in consensus +7. **Bond Formation** → Validators form bonds to miners based on performance +8. **Emission Distribution** → Neurons receive TAO emissions based on performance +9. **Performance Monitoring** → Neuron performance is continuously evaluated +10. **Pruning Risk** → Low-performing neurons risk replacement by new registrations + +## Managing Neurons ### Registration and UID Assignment Neurons register with subnets through proof-of-work or burned registration methods, receiving a unique UID (User ID) within their subnet. The registration process follows an append-or-replace algorithm where new neurons either expand the subnet or replace existing low-performing neurons. +See: +- [Miner Registration](../miners/#miner-registration) +- [Validator Registration](../validators/#validator-registration) + ### Performance Metrics Neuron performance is measured through multiple metrics: - **Rank**: Final performance score after consensus weight clipping -- **Trust**: Consensus alignment ratio measuring impact of consensus filtering + See: [Rank](../glossary/#rank) - **Consensus**: Stake-weighted median of weights serving as clipping threshold + See: [Consensus score](../glossary/#consensus-score) +- **Trust**: Consensus alignment measure for miners + See: [Trust](../glossary/#trust) +- **Validator Trust**: Consensus alignment measure for validators + See: [Validator Trust](../glossary/#validator-trust) - **Incentive**: Normalized reward allocation for miners -- **Validator Trust**: Specialized trust score for validator neurons + See: [Incentive](../glossary/#incentive) ### Validator Permits and Access Control @@ -64,7 +81,6 @@ Only permitted neurons can set non-self weights, though all neurons can set self - Testing and Validation (Registration testing, Lifecycle testing, Mock implementation) - Mathematical Insights and Security Properties - Complete Neuron Lifecycle flow -- Neuron vs Subnet/Validator/Miner relationships --> ## Neuron-to-neuron communication @@ -120,193 +136,8 @@ A synapse is a data object. Subnet validators and subnet miners use Synapse data For example, in the [Text Prompting Subnet](https://github.com/macrocosm-os/prompting/blob/414abbb72835c46ccc5c652e1b1420c0c2be5c03/prompting/protocol.py#L27), the subnet validator creates a `Synapse` object, called `PromptingSynapse`, with three fields—`roles`, `messages`, and `completion`. The fields `roles` and `messages` are set by the subnet validator during the initialization of this Prompting data object, and they cannot be changed after that. A third field, `completion`, is mutable. When a subnet miner receives this Prompting object from the subnet validator, the subnet miner updates this `completion` field. The subnet validator then reads this updated `completion` field. -## The Neuron Metagraph - -A metagraph is a data structure that contains comprehensive information about current state of the subnet. When you inspect the metagraph of a subnet, you will find detailed information on all the nodes (neurons) in the subnet. A subnet validator should first sync with a subnet's metagraph to know all the subnet miners that are in the subnet. The metagraph can be inspected without participating in a subnet. - -## Implementation Details - - - -### Neuron Data Structures - -**NeuronInfo - Complete Neuron Data:** -- Contains comprehensive neuron metadata including weights and bonds -- Key performance metrics stored as normalized float values (0-1 range): rank, emission, incentive, consensus, trust, validator_trust -- Stake information includes both total stake and per-coldkey breakdown -- Network participation data: netuid, validator_permit, weights, bonds - -**NeuronInfoLite - Lightweight Neuron Data:** -- Provides essential neuron data without weights and bonds for efficiency -- Used when full weight/bond data is not required, reducing data transfer overhead - -**Code References:** -- `bittensor/core/chain_data/neuron_info.py:18` - NeuronInfo class definition -- `bittensor/core/chain_data/neuron_info_lite.py:18` - NeuronInfoLite class definition - -### Blockchain Storage Implementation - -**Core Storage Maps:** -- **Keys**: Maps (netuid, uid) to hotkey for UID-to-hotkey lookup -- **Uids**: Maps (netuid, hotkey) to uid for hotkey-to-UID lookup -- **Owner**: Maps hotkey to coldkey for ownership verification - -**Performance Metrics Storage:** -- **Rank, Trust, Consensus, Incentive**: Stored as u16 vectors per subnet -- **Emission**: Stored as u64 values representing emission rates -- **ValidatorPermit**: Boolean vector indicating validator permissions - -**Code References:** -- `subtensor/pallets/subtensor/src/lib.rs:1533-1542` - Core storage map definitions -- `subtensor/pallets/subtensor/src/lib.rs:1524-1552` - Performance metrics storage - -### Registration Process - -**Registration Methods:** -- **Proof-of-Work Registration**: Traditional registration requiring computational work -- **Burned Registration**: Registration by burning TAO tokens -- **Root Registration**: Special registration for root network (netuid 0) - -**Registration Algorithm:** -- **Append vs Replace Logic**: New neurons either append to subnet or replace existing ones -- **Pruning Selection**: When subnet is full, neuron with lowest pruning score is replaced -- **Immunity Period**: New neurons are protected from pruning for a configurable period - -**Code References:** -- `subtensor/pallets/subtensor/src/subnets/registration.rs:214-339` - do_registration() implementation -- `subtensor/pallets/subtensor/src/subnets/registration.rs:54-206` - do_burned_registration() implementation -- `subtensor/pallets/subtensor/src/subnets/registration.rs:405-485` - get_neuron_to_prune() algorithm - -### Neuron Lifecycle Management +## The Metagraph -**Append Neuron Process:** -- **UID Assignment**: New neurons get the next available UID (equal to current subnet size) -- **Storage Expansion**: All metric vectors are expanded to accommodate new neuron -- **Default Values**: New neurons start with zero values for all metrics - -**Replace Neuron Process:** -- **Old Neuron Cleanup**: Previous neuron's data is cleared and associations removed -- **New Neuron Setup**: New neuron inherits the UID with fresh default values -- **Bond Clearing**: All bonds are cleared when neurons are replaced - -**Code References:** -- `subtensor/pallets/subtensor/src/subnets/uids.rs:75-95` - append_neuron() implementation -- `subtensor/pallets/subtensor/src/subnets/uids.rs:35-75` - replace_neuron() implementation - -### API and Retrieval - -**Python SDK Methods:** -- **Individual Neuron Retrieval**: Get neuron by UID or hotkey -- **Batch Neuron Retrieval**: Get all neurons in a subnet -- **UID Lookup**: Find UID for a given hotkey on a subnet - -**Blockchain RPC Methods:** -- **Runtime API**: Neurons are retrieved via NeuronInfoRuntimeApi -- **Storage Queries**: Direct storage access for UID and hotkey lookups -- **Batch Retrieval**: Efficient retrieval of all neurons in a subnet - -**Code References:** -- `bittensor/core/subtensor.py:1369-1411` - get_neuron_for_pubkey_and_subnet() implementation -- `bittensor/core/async_subtensor.py:2183-2229` - Async version of neuron retrieval -- `subtensor/pallets/subtensor/src/rpc_info/neuron_info.rs:155` - get_neuron() RPC method - -### State Management - -**Active Status:** -- **Active Flag**: Boolean indicating if neuron is currently active -- **Last Update**: Block number of last activity for staleness detection -- **Staleness Filtering**: Neurons with outdated last_update are filtered from consensus - -**Validator Permits:** -- **Permit Assignment**: Top K neurons by stake receive validator permits -- **Access Control**: Only permitted neurons can set weights and participate in consensus -- **Dynamic Updates**: Permits are recalculated every epoch based on current stake - -**Code References:** -- `bittensor/core/chain_data/neuron_info.py:26` - active status field -- `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:520-523` - Validator permit assignment -- `subtensor/pallets/subtensor/src/subnets/weights.rs:745-748` - Weight setting permission check - -### Network Operations - -**Weight Setting:** -- **Weight Matrix**: Neurons set weights to other neurons, forming the consensus matrix -- **Permission Control**: Only validator-permitted neurons can set non-self weights -- **Self-Weight Exception**: All neurons can set self-weights regardless of permit status - -**Bond Formation:** -- **Bond Investment**: Validators form bonds to miners based on performance assessment -- **EMA Bonds**: Bonds are smoothed using exponential moving average -- **Bond Retention**: Bonds are retained only by neurons with validator permits - -**Code References:** -- `subtensor/pallets/subtensor/src/lib.rs:1543-1549` - Weights storage definition -- `subtensor/pallets/subtensor/src/lib.rs:1560-1566` - Bonds storage definition -- `subtensor/pallets/subtensor/src/epoch/run_epoch.rs:687` - EMA bond computation - -### Testing and Validation - -**Registration Testing:** -- **Successful Registration**: Tests verify proper neuron registration and UID assignment -- **Pruning Scenarios**: Tests verify correct neuron replacement when subnet is full -- **Immunity Period**: Tests verify immunity protection during registration - -**Neuron Lifecycle Testing:** -- **Replace Neuron**: Tests verify proper neuron replacement and data clearing -- **Owner Protection**: Tests verify subnet owners are protected from pruning -- **Bond Management**: Tests verify bond clearing during neuron replacement - -**Mock Implementation:** -- **Mock Subtensor**: Provides in-memory neuron management for testing -- **Force Registration**: Allows test-specific neuron registration -- **State Management**: Mock maintains neuron state across test scenarios - -**Code References:** -- `subtensor/pallets/subtensor/src/tests/registration.rs:102-192` - Registration success tests -- `subtensor/pallets/subtensor/src/tests/uids.rs:15-201` - Neuron replacement tests -- `bittensor/utils/mock/subtensor_mock.py:725-786` - Mock neuron retrieval methods - -### Key Mathematical Insights - -1. **Neuron = UID + Hotkey + Coldkey**: Each neuron is uniquely identified by its UID and key pair -2. **Registration = Append or Replace**: New neurons either expand the subnet or replace existing ones -3. **Pruning = Lowest Score**: Neurons with lowest pruning scores are replaced when subnet is full -4. **Immunity = Protection Period**: New neurons are protected from pruning for a configurable period -5. **Performance = Multi-Metric**: Neuron performance is measured by rank, trust, consensus, and incentive - -### Network Security Properties - -- **Economic Barriers**: Registration costs prevent Sybil attacks -- **Performance-Based Pruning**: Low-performing neurons are automatically replaced -- **Stake-Based Permits**: Validator permits require economic stake for consensus participation -- **Dynamic Adjustment**: Neuron state adapts to changing network conditions -- **Owner Protection**: Subnet owners are protected from pruning to ensure network stability - -### Complete Neuron Lifecycle - -1. **Registration** → Neuron registers via PoW or burned registration -2. **UID Assignment** → Neuron receives unique UID within subnet -3. **Immunity Period** → Neuron is protected from pruning for configurable blocks -4. **Performance Building** → Neuron accumulates rank, trust, consensus, and incentive -5. **Validator Permit** → Top K neurons by stake receive validator permits -6. **Weight Setting** → Permitted neurons can set weights and participate in consensus -7. **Bond Formation** → Validators form bonds to miners based on performance -8. **Emission Distribution** → Neurons receive TAO emissions based on performance -9. **Performance Monitoring** → Neuron performance is continuously evaluated -10. **Pruning Risk** → Low-performing neurons risk replacement by new registrations +The metagraph is a data structure that contains comprehensive information about current state of the subnet. When you inspect the metagraph of a subnet, you will find detailed information on all the nodes (neurons) in the subnet. A subnet validator should first sync with a subnet's metagraph to know all the subnet miners that are in the subnet. The metagraph can be inspected without participating in a subnet. -### Neuron Relationships - -**Neuron vs Subnet Relationship:** -- **Subnet Container**: Neurons exist within specific subnets identified by netuid -- **Subnet Limits**: Each subnet has maximum allowed UIDs (typically 256) -- **Subnet-Specific**: Neuron metrics and state are subnet-specific -- **Cross-Subnet**: Neurons can participate in multiple subnets with different UIDs -- **Subnet Governance**: Subnet owners have special privileges and protection - -**Neuron vs Validator/Miner Roles:** -- **Neuron = Container**: Neuron is the container entity that can be either validator or miner -- **Validator = Role**: Neurons with validator permits can set weights and participate in consensus -- **Miner = Role**: Neurons without validator permits perform subnet-specific tasks -- **Role Flexibility**: Neurons can change roles based on permit status and stake -- **Performance Metrics**: Both roles contribute to neuron's overall performance score +See [The Subnet Metagraph](../subnets/metagraph) \ No newline at end of file From 6930baa9f8bfbec6849749018b79f2f9a38f043d Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 3 Jul 2025 12:49:00 -0700 Subject: [PATCH 134/303] wip --- docs/glossary.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index 5c362c3798..a686b1a994 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -780,11 +780,6 @@ Where $\alpha$ is the EMA smoothing factor. - Higher decay rates make bonds more responsive to recent performance - Lower decay rates allow bonds to persist longer -**Anti-Manipulation:** -- Bonds prevent weight manipulation through economic penalties -- Validators must "put skin in the game" to influence consensus -- Bond penalties discourage collusive over-evaluation of miners - **Economic Alignment:** - Bonds create long-term relationships between validators and miners - Validators are incentivized to discover and support promising miners early @@ -805,13 +800,6 @@ Where $\alpha$ is the EMA smoothing factor. - `bonds_moving_avg`: Controls bond decay rate (typically 900,000) - `liquid_alpha_enabled`: Enables dynamic alpha adjustment for bonds -**Relationship to Other Network Components:** - -**Trust and Consensus:** -- Bonds influence trust calculation through consensus mechanisms -- High bond values indicate strong validator-miner relationships -- Trust creates feedback loop: high trust → better consensus → higher bonds - **Validator Permits:** - Bonds are retained only by neurons with validator permits - Loss of validator permit clears all bonds for that neuron From f495a34d4441adba2eaaef8eb67ac51c79bba011 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 3 Jul 2025 13:31:36 -0700 Subject: [PATCH 135/303] wip --- docs/subnets/commit-reveal.md | 174 ---------------------------------- 1 file changed, 174 deletions(-) diff --git a/docs/subnets/commit-reveal.md b/docs/subnets/commit-reveal.md index e4a1fb8130..d783ed5471 100644 --- a/docs/subnets/commit-reveal.md +++ b/docs/subnets/commit-reveal.md @@ -94,177 +94,3 @@ style={{width: 750}} - ACM CCS2024 Poster PDF [Solving the Free-rider Problem In Bittensor](pathname:///papers/ACM_CCS2024_Poster.pdf). - See [Weight Copying in Bittensor, a technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf). - Blog post, [Weight Copying in Bittensor](https://blog.bittensor.com/weight-copying-in-bittensor-422585ab8fa5). - - - - - -Code References and Implementation Details - -**Commit Reveal as Anti-Weight-Copying Mechanism:** -- Commit reveal prevents weight copying by introducing a time delay between weight commitment and revelation - - `subtensor/pallets/subtensor/src/subnets/weights.rs:41` - `do_commit_weights()` implementation -- Validators commit to weights without revealing them immediately, creating a temporal offset - - `subtensor/pallets/subtensor/src/subnets/weights.rs:74` - Weight commit storage in `WeightCommits` -- The mechanism ensures that copied weights are stale by the time they can be used - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1075` - `get_reveal_blocks()` timing calculation - -**Core Storage and Configuration:** - -**Commit Reveal Enablement:** -- Commit reveal is controlled per subnet via `CommitRevealWeightsEnabled` storage - - `subtensor/pallets/subtensor/src/lib.rs:1430` - `pub type CommitRevealWeightsEnabled = StorageMap<_, Identity, u16, bool, ValueQuery, DefaultCommitRevealWeightsEnabled>;` -- Enablement can be toggled by subnet owners or root - - `subtensor/pallets/subtensor/src/utils/misc.rs:472-477` - `get_commit_reveal_weights_enabled()` and `set_commit_reveal_weights_enabled()` - -**Weight Commit Storage:** -- **WeightCommits**: Stores commit hashes and timing information for each validator - - `subtensor/pallets/subtensor/src/lib.rs:1662-1669` - `pub type WeightCommits = StorageDoubleMap<_, Twox64Concat, u16, Twox64Concat, T::AccountId, VecDeque<(H256, u64, u64, u64)>, OptionQuery>;` -- **CRV3WeightCommits**: Stores v3 encrypted commits with epoch-based organization - - `subtensor/pallets/subtensor/src/lib.rs:1671-1680` - `pub type CRV3WeightCommits = StorageDoubleMap<_, Twox64Concat, u16, Twox64Concat, u64, VecDeque<(T::AccountId, BoundedVec>, RoundNumber)>, ValueQuery>;` -- **RevealPeriodEpochs**: Configurable reveal period per subnet - - `subtensor/pallets/subtensor/src/lib.rs:1682-1684` - `pub type RevealPeriodEpochs = StorageMap<_, Twox64Concat, u16, u64, ValueQuery, DefaultRevealPeriodEpochs>;` - -**Commit Phase Implementation:** - -**Commit Hash Generation:** -- Commit hash is generated from validator data using BlakeTwo256 - - `subtensor/pallets/subtensor/src/tests/weights.rs:1520` - `let commit_hash: H256 = BlakeTwo256::hash_of(&(hotkey, netuid, uids.clone(), weight_values.clone(), salt.clone(), version_key));` -- Hash includes: hotkey, netuid, uids, weight_values, salt, and version_key - - `subtensor/pallets/subtensor/src/subnets/weights.rs:74` - Commit storage with hash and timing information - -**Commit Validation:** -- **Enablement Check**: Ensures commit-reveal is enabled for the subnet - - `subtensor/pallets/subtensor/src/subnets/weights.rs:52` - `ensure!(Self::get_commit_reveal_weights_enabled(netuid), Error::::CommitRevealDisabled);` -- **Registration Check**: Validates hotkey is registered on the network - - `subtensor/pallets/subtensor/src/subnets/weights.rs:56-59` - `ensure!(Self::is_hotkey_registered_on_network(netuid, &who), Error::::HotKeyNotRegisteredInSubNet);` -- **Rate Limiting**: Prevents excessive commit frequency - - `subtensor/pallets/subtensor/src/subnets/weights.rs:61-66` - Rate limit check via `check_rate_limit()` - -**Reveal Timing Calculation:** - -**Epoch-Based Timing:** -- **Epoch Calculation**: Epochs are calculated based on tempo and netuid offset - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1040-1047` - `get_epoch_index()` implementation -- **Reveal Period**: Configurable number of epochs between commit and reveal - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1095-1097` - `get_reveal_period()` and `set_reveal_period()` - -**Reveal Block Range:** -- **First Reveal Block**: Calculated from commit epoch + reveal period - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1075-1085` - `get_reveal_blocks()` implementation -- **Last Reveal Block**: First reveal block + tempo (one epoch duration) - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1086-1087` - `let last_reveal_block = first_reveal_block.saturating_add(tempo);` - -**Reveal Phase Implementation:** - -**Reveal Validation:** -- **Enablement Check**: Ensures commit-reveal is still enabled - - `subtensor/pallets/subtensor/src/subnets/weights.rs:353` - `ensure!(Self::get_commit_reveal_weights_enabled(netuid), Error::::CommitRevealDisabled);` -- **Hash Verification**: Validates revealed data matches committed hash - - `subtensor/pallets/subtensor/src/subnets/weights.rs:396-396` - Hash matching in reveal validation -- **Timing Validation**: Ensures reveal occurs within valid time window - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - `is_reveal_block_range()` implementation - -**Reveal Timing Checks:** -- **Too Early**: Reveal attempted before valid reveal period - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - `is_reveal_block_range()` check -- **Expired**: Commit has expired beyond reveal period - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - `is_commit_expired()` implementation -- **Valid Window**: Reveal must occur exactly at `commit_epoch + reveal_period` - -**Commit Expiration and Cleanup:** - -**Expiration Logic:** -- **Expiration Check**: Commits expire after reveal period + 1 epoch - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - `is_commit_expired()` function -- **Automatic Cleanup**: Expired commits are removed during reveal operations - - `subtensor/pallets/subtensor/src/subnets/weights.rs:512-520` - Expired commit removal in batch reveal - -**Queue Management:** -- **FIFO Processing**: Commits are processed in first-in-first-out order - - `subtensor/pallets/subtensor/src/subnets/weights.rs:74` - `VecDeque<(H256, u64, u64, u64)>` storage -- **Commit Removal**: Revealed commits are removed from the queue - - `subtensor/pallets/subtensor/src/subnets/weights.rs:410-415` - Commit removal after successful reveal - -**Security Properties:** - -**Anti-Weight-Copying:** -- **Temporal Offset**: Time delay prevents immediate weight copying - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1075` - Reveal timing calculation -- **Stale Data**: Copied weights become irrelevant due to network changes - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - Commit expiration mechanism -- **Hash Verification**: Cryptographic commitment prevents manipulation - - `subtensor/pallets/subtensor/src/subnets/weights.rs:396` - Hash verification in reveal - -**Rate Limiting:** -- **Commit Rate Limit**: Prevents excessive commit frequency - - `subtensor/pallets/subtensor/src/subnets/weights.rs:61-66` - Rate limit validation -- **Reveal Timing**: Strict timing windows prevent timing attacks - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - Reveal timing validation - -**Testing and Validation:** - -**Comprehensive Test Coverage:** -- **Basic Functionality**: Tests verify commit and reveal workflow - - `subtensor/pallets/subtensor/src/tests/weights.rs:1502-1559` - `test_reveal_weights_when_commit_reveal_disabled()` -- **Timing Validation**: Tests verify reveal timing constraints - - `subtensor/pallets/subtensor/src/tests/weights.rs:1663-1750` - Timing validation tests -- **Hash Verification**: Tests verify cryptographic commitment integrity - - `subtensor/pallets/subtensor/src/tests/weights.rs:1750-1831` - `test_commit_reveal_hash()` - -**Error Handling:** -- **CommitRevealDisabled**: Attempting operations when disabled - - `subtensor/pallets/subtensor/src/subnets/weights.rs:52` - Enablement check -- **RevealTooEarly**: Reveal attempted before valid window - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1020-1027` - Timing validation -- **ExpiredWeightCommit**: Reveal attempted after expiration - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1029-1035` - Expiration check -- **InvalidRevealCommitHashNotMatch**: Hash verification failure - - `subtensor/pallets/subtensor/src/subnets/weights.rs:396` - Hash matching - -**Network Configuration:** - -**Subnet-Level Settings:** -- **Enablement**: Per-subnet commit reveal toggle - - `subtensor/pallets/subtensor/src/utils/misc.rs:472-477` - Enablement functions -- **Reveal Period**: Configurable epochs between commit and reveal - - `subtensor/pallets/subtensor/src/subnets/weights.rs:1095-1097` - Reveal period configuration -- **Rate Limits**: Commit frequency restrictions - - `subtensor/pallets/subtensor/src/subnets/weights.rs:61-66` - Rate limiting - -**Default Values:** -- **DefaultCommitRevealWeightsEnabled**: Defaults to false (disabled) - - `subtensor/pallets/subtensor/src/lib.rs:799` - `pub fn DefaultCommitRevealWeightsEnabled() -> bool { false }` -- **DefaultRevealPeriodEpochs**: Default reveal period configuration - - `subtensor/pallets/subtensor/src/lib.rs:735` - `pub fn DefaultRevealPeriodEpochs() -> u64 { 1 }` - -**Key Mathematical Insights:** -1. **Commit Hash = BlakeTwo256(hotkey, netuid, uids, weights, salt, version_key)**: Cryptographic commitment -2. **Reveal Epoch = Commit Epoch + Reveal Period**: Timing calculation -3. **Reveal Block Range = [first_reveal_block, last_reveal_block]**: Valid reveal window -4. **Expiration = Current Epoch > Commit Epoch + Reveal Period + 1**: Automatic cleanup -5. **Temporal Offset = Reveal Period × Tempo**: Anti-copying delay - -**Network Security Implications:** -- **Weight Copying Prevention**: Temporal offset makes copied weights stale -- **Consensus Stability**: Prevents rapid weight manipulation -- **Validator Commitment**: Requires validators to commit to their assessments -- **Network Decentralization**: Reduces influence of weight-copying validators -- **Dynamic Adaptation**: Network changes make stale weights irrelevant - -**Complete Commit Reveal Flow:** -1. **Configuration** → Subnet enables commit reveal and sets reveal period -2. **Commit Phase** → Validator commits hash of weights without revealing them -3. **Temporal Offset** → Network progresses for reveal_period epochs -4. **Reveal Window** → Validator reveals weights within valid time window -5. **Hash Verification** → System verifies revealed data matches commit hash -6. **Weight Application** → Verified weights are applied to consensus -7. **Cleanup** → Expired commits are automatically removed - -**Commit Reveal vs Traditional Weight Setting:** -- **Traditional**: Immediate weight setting and consensus participation -- **Commit Reveal**: Delayed weight revelation with temporal offset -- **Security**: Commit reveal prevents weight copying and manipulation -- **Complexity**: Additional timing and hash verification requirements -- **Flexibility**: Configurable per subnet based on security needs - From b5accf695a4314bf0ecb33795f58b410921348c1 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 3 Jul 2025 13:32:02 -0700 Subject: [PATCH 136/303] wip --- docs/subnets/commit-reveal.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/subnets/commit-reveal.md b/docs/subnets/commit-reveal.md index d783ed5471..61158405bb 100644 --- a/docs/subnets/commit-reveal.md +++ b/docs/subnets/commit-reveal.md @@ -94,3 +94,4 @@ style={{width: 750}} - ACM CCS2024 Poster PDF [Solving the Free-rider Problem In Bittensor](pathname:///papers/ACM_CCS2024_Poster.pdf). - See [Weight Copying in Bittensor, a technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf). - Blog post, [Weight Copying in Bittensor](https://blog.bittensor.com/weight-copying-in-bittensor-422585ab8fa5). + From 3d4be0d84c085127329731d299c301df29773b17 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Thu, 3 Jul 2025 23:16:47 +0100 Subject: [PATCH 137/303] docs: btcli reference revamp (wip) --- docs/btcli.md | 385 +++++++++++++++++++++++++++++--------------------- 1 file changed, 226 insertions(+), 159 deletions(-) diff --git a/docs/btcli.md b/docs/btcli.md index a13a957d25..1d86db083e 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -86,16 +86,18 @@ btcli config set [OPTIONS] **Options**: -- `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name`: Name of the wallet. -- `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` : Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`: Hotkey of the wallet -- `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint`: The subtensor network to connect to. Default: finney. -- `--cache`, `--cache / --no-cache`, `--no_cache`: Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. -- `--slippage, --slippage-tolerance, --tolerance`: Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%). -- `--safe-staking`, `--safe / --no-safe-staking`, `--unsafe`: Enable or disable safe staking mode. -- `--allow-partial-stake`, `--partial`, `--allow / --no-allow-partial-stake`, `--no-partial`, `--not-allow` -- `--dashboard-path`, `--dashboard_path`, `--dash_path`, `--dash.path`: Path to save the dashboard HTML file. For example: `~/.bittensor/dashboard`. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--cache`, `--cache`/`--no-cache`, `--no_cache` | | Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. | +| `--slippage`, `--slippage-tolerance`, `--tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | +| `--safe-staking`, `--safe`/`--no-safe-staking`, `--unsafe` | | Enable or disable safe staking mode. | +| `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent parial stakes | +| `--dashboard-path`, `--dashboard_path`, `--dash_path`, `--dash.path` | TEXT | Path to save the dashboard HTML file. For example: `~/.bittensor/dashboard`. | +| `--help` | | Show this message and exit. | ### `btcli config get` @@ -109,7 +111,9 @@ btcli config get [OPTIONS] **Options**: -- `--help`: Show this message and exit. +| Option | Type | Description | +| -------- | ---- | --------------------------- | +| `--help` | | Show this message and exit. | ### `btcli config clear` @@ -135,16 +139,19 @@ btcli config clear [OPTIONS] **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name` -- `-p, --wallet-path, --wallet_path, --wallet.path` -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey` -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint` -- `--cache` -- `--slippage, --slippage-tolerance, --tolerance` -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: [default: no-safe-staking] -- `--allow-partial-stake, --partial, --allow / --no-allow-partial-stake, --no-partial, --not-allow`: [default: no-allow-partial-stake] -- `--all` -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--cache` | | Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. | +| `--slippage`, `--slippage-tolerance`, `--tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | +| `--safe-staking`, `--safe`/`--no-safe-staking`, `--unsafe` | | Enable or disable safe staking mode. | +| `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent parial stakes | +| `--all` | | Clears the entire config. | +| `--dashboard-path`, `--dashboard_path`, `--dash_path`, `--dash.path` | TEXT | Path to save the dashboard HTML file. For example: `~/.bittensor/dashboard`. | +| `--help` | | Show this message and exit. | ## `btcli view` @@ -174,6 +181,12 @@ Display html dashboard with subnets list, stake, and neuron information. btcli view dashboard ``` +**Options**: + +| Option | Type | Description | +| -------- | ---- | --------------------------- | +| `--help` | | Show this message and exit. | + ## `btcli wallet` **Usage**: @@ -228,10 +241,12 @@ btcli wallet list [OPTIONS] **Options**: -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--help` | | Show this message and exit. | ### `btcli wallet swap-hotkey` @@ -264,14 +279,19 @@ alias: swap_hotkey **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| ` --all-netuids`/`--no-all-netuids`, | | Use all netuids | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli wallet regen-coldkey` @@ -303,17 +323,21 @@ alias: regen_coldkey **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -- `--json-password TEXT`: Password to decrypt the JSON file. -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--mnemonic` | TEXT | Mnemonic used to regenerate your key. | +| `--seed`, | TEXT | Seed hex string used to regenerate your key. | +| `--json`, `-j` | TEXT | Path to a JSON file containing the encrypted key backup. | +| `--json-password`, | TEXT | Password to decrypt the JSON file.key. | +| `--use-password`/`--no-use-password `, | | Set this to `True` to protect the generated Bittensor key with a password. | +| `--overwrite`/`--no-overwrite` | | Overwrite the existing wallet file with the new one. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli wallet regen-coldkeypub` @@ -344,14 +368,18 @@ alias: regen_coldkeypub **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--public-key-hex TEXT`: The public key in hex format. -- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--public-key-hex`, | TEXT | The public key in hex format. | +| `--ss58`, `--ss58-address`, | TEXT | The SS58 address of the coldkey. | +| `--overwrite`/`--no-overwrite` | | Overwrite the existing wallet file with the new one. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli wallet regen-hotkey` @@ -382,17 +410,21 @@ alias: regen_hotkey **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--mnemonic TEXT`: Mnemonic used to regenerate your key. For example: horse cart dog ... -- `--seed TEXT`: Seed hex string used to regenerate your key. For example: 0x1234... -- `-j, --json TEXT`: Path to a JSON file containing the encrypted key backup. For example, a JSON file from PolkadotJS. -- `--json-password TEXT`: Password to decrypt the JSON file. -- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--mnemonic` | TEXT | Mnemonic used to regenerate your key. | +| `--seed`, | TEXT | Seed hex string used to regenerate your key. | +| `--json`, `-j` | TEXT | Path to a JSON file containing the encrypted key backup. | +| `--json-password`, | TEXT | Password to decrypt the JSON file.key. | +| `--use-password`/`--no-use-password`, | | Set this to `True` to protect the generated Bittensor key with a password. | +| `--overwrite`/`--no-overwrite` | | Overwrite the existing wallet file with the new one. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli wallet new-hotkey` @@ -423,15 +455,19 @@ alias: new_hotkey **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -- `--use-password / --no-use-password`: Set to 'True' to protect the generated Bittensor key with a password. [default: no-use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--n-words`, `--n_words` | INTEGER | The number of words used in the mnemonic. | +| `--use-password`/`--no-use-password `, | | Set this to `True` to protect the generated Bittensor key with a password. | +| `--uri` | TEXT | Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie') | +| `--overwrite`/`--no-overwrite` | | Overwrite the existing wallet file with the new one. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli wallet new-coldkey` @@ -461,15 +497,19 @@ alias: new_coldkey **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words, --n_words INTEGER`: The number of words used in the mnemonic. Options: [12, 15, 18, 21, 24] -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--n-words`, `--n_words` | INTEGER | The number of words used in the mnemonic. | +| `--use-password`/`--no-use-password `, | | Set this to `True` to protect the generated Bittensor key with a password. | +| `--uri` | TEXT | Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie') | +| `--overwrite`/`--no-overwrite` | | Overwrite the existing wallet file with the new one. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli wallet create` @@ -495,15 +535,19 @@ btcli wallet create [OPTIONS] **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--n-words INTEGER` -- `--use-password / --no-use-password`: Set this to `True` to protect the generated Bittensor key with a password. [default: use-password] -- `--uri TEXT`: Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie', 'Dave', 'Eve') -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--n-words`, `--n_words` | INTEGER | The number of words used in the mnemonic. | +| `--use-password`/`--no-use-password `, | | Set this to `True` to protect the generated Bittensor key with a password. | +| `--uri` | TEXT | Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie') | +| `--overwrite`/`--no-overwrite` | | Overwrite the existing wallet file with the new one. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli wallet balance` @@ -545,15 +589,18 @@ btcli wallet balance [OPTIONS] **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--ss58, --ss58-address TEXT`: The SS58 address of the coldkey. -- `-a, --all`: Whether to display the balances for all the wallets. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--ss58`, `--ss58-address`, | TEXT | The SS58 address of the coldkey. | +| `--all`, `-a` | | Whether to display the balances for all the wallets. | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli wallet overview` @@ -583,19 +630,22 @@ btcli wallet overview [OPTIONS] **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-a, --all`: See an overview for all the wallets -- `--sort-by, --sort_by TEXT`: Sort the hotkeys by the specified column title. For example: name, uid, axon. -- `--sort-order, --sort_order TEXT`: Sort the hotkeys in the specified order (ascending/asc or descending/desc/reverse). -- `-in, --include-hotkeys TEXT`: Hotkeys to include. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--exclude-hotkeys', will be included. -- `-ex, --exclude-hotkeys TEXT`: Hotkeys to exclude. Specify by name or ss58 address. If left empty, all hotkeys, except those in the '--include-hotkeys', will be excluded. -- `-n, --netuids, --netuid TEXT`: Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--all`, `-a` | | See an overview for all the wallets | +| `--sort-by`, `--sort_by` | TEXT | Sort the hotkeys by the specified column title. For example: name, uid, axon. | +| `--sort-order`, `--sort_order` | TEXT | Sort the hotkeys in the specified order (ascending/asc or descending/desc/reverse). | +| `--include-hotkeys`, `-in` | TEXT | Hotkeys to include. Specify by name or ss58 address. If left empty, all hotkeys, except those in the `--exclude-hotkeys`, will be included. | +| `--exclude-hotkeys`, `-ex` | TEXT | Hotkeys to exclude. Specify by name or ss58 address. If left empty, all hotkeys, except those in the `--include-hotkeys`, will be excluded. | +| `--netuids`, `--netuid`, `-n` | TEXT | Set the netuid(s) to exclude. Separate multiple netuids with a comma, for example: `-n 0,1,2`. | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli wallet transfer` @@ -626,16 +676,22 @@ btcli wallet transfer [OPTIONS] **Options**: -- `-d, --destination, --dest TEXT`: Destination address (ss58) of the wallet (coldkey). -- `-a, --amount FLOAT`: Amount (in TAO) to transfer. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--destination`, `--dest`, `-d` | TEXT | Destination address (ss58) of the wallet (coldkey). | +| `--amount`, `-a` | FLOAT | Amount (in TAO) to transfer. | +| `--all` | | Transfer all available balance. | +| `--all`, `-a` | | Whether to display the balances for all the wallets. | +| `--period`, `-era` | INTEGER | Length (in blocks) for which the transaction should be valid. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli wallet set-identity` @@ -669,21 +725,24 @@ alias: set_identity **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--name TEXT`: The display name for the identity. -- `--web-url, --web TEXT`: The web URL for the identity. -- `--image-url, --image TEXT`: The image URL for the identity. -- `--discord TEXT`: The Discord handle for the identity. -- `--description TEXT`: The description for the identity. -- `--additional TEXT`: Additional details for the identity. -- `--github TEXT`: The GitHub repository for the identity. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--name` | TEXT | The display name for the identity. | +| `--web-url`, `--web` | TEXT | The web URL for the identity. | +| `--image-url`, `--image` | TEXT | The image URL for the identity. | +| `--discord` | TEXT | The Discord handle for the identity. | +| `--description` | TEXT | The description for the identity. | +| `--additional` | TEXT | Additional details for the identity. | +| `--github` | TEXT | The GitHub repository for the identity. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli wallet get-identity` @@ -717,14 +776,17 @@ alias: get_identity **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-k, --ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58, --key TEXT`: Coldkey address of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| -------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--ss58`, `--coldkey_ss58`, `--coldkey.ss58_address`, `--coldkey.ss58`, `--key`, `-k ` | TEXT | Coldkey address of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli wallet sign` @@ -752,14 +814,17 @@ btcli wallet sign [OPTIONS] **Options**: -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--use-hotkey / --no-use-hotkey`: If specified, the message will be signed by the hotkey. If not specified, the user will be prompted. -- `--message TEXT`: The message to encode and sign -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------------------------------------- | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--use-hotkey` / `--no-use-hotkey` | | If specified, the message will be signed by the hotkey. If not specified, the user will be prompted. | +| `--message` | TEXT | The message to encode and sign. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ## `btcli stake` @@ -1978,12 +2043,14 @@ alias: get_identity **Options**: -- `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` TEXT: The subtensor network to connect to. -- `--netuid` INTEGER: The netuid of the subnet in the network, (e.g. 1). -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--json-output`, `--json-out`: Outputs the result of the command as JSON. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ----------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ## `btcli weights` From b9251ade5bd5c36d2b78363db69621a5e0f5be70 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 3 Jul 2025 18:56:11 -0700 Subject: [PATCH 138/303] wip --- docs/liquidity-provider.md | 280 ++----------------------------------- 1 file changed, 13 insertions(+), 267 deletions(-) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index 1144060d12..567617e332 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -50,7 +50,6 @@ The `calculate_fees()` function calculates both TAO and Alpha fees based on glob Liquidity providers experience changes in their token composition based on price movements relative to their specified range: - **Price Movement Effects**: 1. **Price Below Range** (`current_price < price_low`): @@ -101,7 +100,6 @@ def to_token_amounts( - ### Price Range Considerations - **Narrow Ranges**: Higher fee concentration but more likely to become single-token when price moves - **Wide Ranges**: Lower fee concentration but more likely to maintain mixed token composition @@ -120,9 +118,9 @@ def to_token_amounts( ## Liquidity Position Lifecycle -### 1. Position Creation (add_liquidity) +### Creating a Position -When creating a liquidity position, users provide liquidity in the form of a single `liquidity` parameter (in RAO). The system automatically calculates and allocates the appropriate amounts of TAO and Alpha tokens based on the current price and the specified price range. +When creating a liquidity position, users provide liquidity in the form of a single `liquidity` parameter (in RAO). The system automatically calculates and charges the appropriate amounts of TAO and Alpha tokens from the user's wallet based on the current price. 1. User calls `add_liquidity()` with `liquidity`, `price_low`, and `price_high` parameters 2. System converts price range to tick indices using `price_to_tick()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L61-L72) @@ -132,178 +130,33 @@ When creating a liquidity position, users provide liquidity in the form of a sin [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L50-L51) -**Blockchain Implementation Details**: - -When the Python SDK calls `add_liquidity_extrinsic` on [line 55 in liquidity.py](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L55), it triggers the following sequence in the subtensor blockchain: - -1. Extrinsic Call (`Swap::add_liquidity`) +#### Blockchain Implementation -The extrinsic call maps to the `add_liquidity` function in the **Swap pallet** ([`pallets/swap/src/pallet/mod.rs:337`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L337)): - - -#### **2. Core Implementation (`do_add_liquidity`)** +When the Python SDK calls `add_liquidity_extrinsic`, it triggers a sequence in the subtensor blockchain that starts with the extrinsic call mapping to the `add_liquidity` function in the **Swap pallet** ([`pallets/swap/src/pallet/mod.rs:337`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L337)). The main logic is handled by `do_add_liquidity` ([`pallets/swap/src/pallet/impls.rs:774`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L774)): -```rust -pub fn do_add_liquidity( - netuid: NetUid, - coldkey_account_id: &T::AccountId, - hotkey_account_id: &T::AccountId, - tick_low: TickIndex, - tick_high: TickIndex, - liquidity: u64, -) -> Result<(PositionId, u64, u64), Error> -``` - -**Key Steps:** - -1. **Validation Checks:** - - Ensures user liquidity is enabled for the subnet (`EnabledUserLiquidity`) - - Validates tick range (`tick_high > tick_low`) - - Checks user has sufficient TAO and Alpha balances - - Ensures liquidity meets minimum threshold - -2. **Position Creation:** - - Generates new `PositionId` using `PositionId::new()` - - Creates `Position` struct with tick range and liquidity amount - - Calculates required TAO and Alpha token amounts based on current price - -3. **Tick Management:** - - Updates tick data at `tick_low` and `tick_high` via `add_liquidity_at_index()` - - Updates current liquidity if position crosses current price - - Manages tick bitmap for efficient price range queries - -4. **Storage Updates:** - - Stores position in `Positions` storage map: `(netuid, coldkey, position_id) -> Position` - - Updates global liquidity tracking - - Marks subnet as V3 initialized (`SwapV3Initialized`) - -#### **3. Token Amount Calculation** - -The `Position::to_token_amounts()` method ([`pallets/swap/src/position.rs:63`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/position.rs#L63)) calculates required tokens based on current price relative to position range: - -```rust -// Pseudocode implementation: -if current_price < price_low { - tao = 0 - alpha = liquidity * (1/sqrt_price_low - 1/sqrt_price_high) -} else if current_price > price_high { - tao = liquidity * (sqrt_price_high - sqrt_price_low) - alpha = 0 -} else { - tao = liquidity * (current_price - sqrt_price_low) - alpha = liquidity * (1/current_price - 1/sqrt_price_high) -} -``` - -#### **4. Balance Operations** - -After successful position creation, the extrinsic performs actual token transfers: - -1. **Token Withdrawal (Source of Funds):** - - **TAO Source**: `T::BalanceOps::decrease_balance(&coldkey, tao_needed)` - - Withdraws from your **coldkey's free TAO balance** - - This is your regular TAO wallet balance, not staked tokens - - **Alpha Source**: `T::BalanceOps::decrease_stake(&coldkey, &hotkey, netuid, alpha_needed)` - - Withdraws from your **hotkey's existing stake** on the specified subnet - - Converts staked Alpha tokens into liquidity position - -2. **Reserve Pool Updates:** - - `T::BalanceOps::increase_provided_tao_reserve(netuid, tao_provided)` - Adds TAO to subnet's liquidity pool - - `T::BalanceOps::increase_provided_alpha_reserve(netuid, alpha_provided)` - Adds Alpha to subnet's liquidity pool - -**Balance Requirements:** -- **Coldkey**: Must have sufficient free TAO balance (not staked) -- **Hotkey**: Must have sufficient staked Alpha tokens on the target subnet -- The exact amounts needed depend on your `liquidity` parameter and current market price - -#### **5. Event Emission** - -Finally, the system emits a `LiquidityAdded` event ([`pallets/swap/src/pallet/mod.rs:157`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L157)): - -```rust -LiquidityAdded { - coldkey: T::AccountId, - hotkey: T::AccountId, - netuid: NetUid, - position_id: PositionId, - liquidity: u64, - tao: u64, - alpha: u64, - tick_low: TickIndex, // Added in PR #1814 - tick_high: TickIndex, // Added in PR #1814 -} -``` - -#### **Storage Schema** - -The Swap pallet maintains several storage items: +### Modifying a Position -- **`Positions`**: `(NetUid, AccountId, PositionId) -> Position` - Individual liquidity positions -- **`Ticks`**: `(NetUid, TickIndex) -> Tick` - Tick-level liquidity and fee data -- **`CurrentLiquidity`**: `NetUid -> u64` - Active liquidity at current price -- **`AlphaSqrtPrice`**: `NetUid -> U64F64` - Current square root price -- **`FeeGlobalTao/Alpha`**: `NetUid -> U64F64` - Global fee accumulation -- **`EnabledUserLiquidity`**: `NetUid -> bool` - User liquidity toggle per subnet - -#### **Error Handling** - -Common errors returned by the implementation: - -- `UserLiquidityDisabled` - Subnet doesn't allow user liquidity -- `InsufficientBalance` - Not enough TAO or Alpha tokens -- `InvalidTickRange` - Invalid price range specification -- `InvalidLiquidityValue` - Liquidity amount too small -- `MaxPositionsExceeded` - Too many positions for this account - -### 2. Position Management (modify_liquidity) - -**Token Flows**: -- **Adding Liquidity**: Positive `liquidity_delta` increases the position size - - Additional TAO and Alpha tokens are transferred from user's wallet - - Position's `liquidity` field is updated -- **Removing Liquidity**: Negative `liquidity_delta` decreases the position size - - Pro-rata amount of TAO and Alpha tokens are returned to user's wallet - - Position's `liquidity` field is updated +Position management through `modify_liquidity` allows you to adjust existing positions. When adding liquidity with a positive `liquidity_delta`, additional TAO and Alpha tokens are transferred from your wallet and the position's liquidity field is updated. When removing liquidity with a negative `liquidity_delta`, a pro-rata amount of TAO and Alpha tokens are returned to your wallet and the position's liquidity field is updated. [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L74-L125) -### 3. Fee Accumulation - -**Fee Collection**: As trading occurs within the position's price range, fees accumulate in both TAO and Alpha tokens: +### Fee Accumulation -- **Global Fee Tracking**: System maintains global fee counters (`FeeGlobalTao`, `FeeGlobalAlpha`) -- **Tick-Level Tracking**: Individual ticks track fees collected at specific price points -- **Position Fee Calculation**: Fees earned by each position are calculated using `calculate_fees()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158) +As staking and unstaking on the relevant subnet token occur, within your position's price range, *fees* accumulate to your position. The system maintains global fee counters (`FeeGlobalTao`, `FeeGlobalAlpha`) and individual ticks track fees collected at specific price points. -**Fee Distribution**: Fees are distributed proportionally to liquidity providers based on: -- Their share of total liquidity in the active price range -- The duration their liquidity was active during trading +Fees earned by each position are calculated using `calculate_fees()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158). Fee distribution is proportional to liquidity providers based on their share of total liquidity in the active price range and the duration their liquidity was active during trading. The fee calculation from global and tick-level data is implemented in [`bittensor/core/async_subtensor.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L1890-L1930). +### Removing a Position -### 4. Position Removal (remove_liquidity) - -**Token Return**: When removing a position entirely: - -1. The position's liquidity is converted back to tokens based on the current subnet price relative to your position's price range. See [Token Composition Scenarios](#token-composition-scenarios) -2. Position is deleted from the system +When a position is destroyed/removed, the position's liquidity is converted back to tokens based on the current subnet price relative to your position's price range. The position is then deleted from the system. [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L127-L185) -### 5. Tracking your positions - -**Storage Structure**: Each position is tracked with: -- `id`: Unique position identifier -- `tick_low`/`tick_high`: Price range boundaries -- `liquidity`: Current liquidity amount -- `fees_tao`/`fees_alpha`: Accumulated fees -- `netuid`: Associated subnet - -See [`bittensor/utils/liquidity.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L1-L8), which provides utilities for managing liquidity positions and price conversions in the Bittensor network. ## Key Concepts @@ -324,6 +177,8 @@ The system uses a tick-based pricing mechanism based on Uniswap V3: ## Managing positions ### Adding a liquidity position + +Create a liquidity position with `add_liquidity`. ```python await subtensor.add_liquidity( wallet=wallet, @@ -388,112 +243,3 @@ positions = await subtensor.get_liquidity_list( [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L1451-L1523) - -## Comparison with Uniswap V3 - -### **Similarities with Uniswap V3** - -The Bittensor liquidity provider system is heavily inspired by Uniswap V3's concentrated liquidity model, with several key similarities: - -#### **1. Concentrated Liquidity Model** -- **Bittensor**: Users specify `price_low` and `price_high` to define liquidity range [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L50-L51) -- **Uniswap V3**: Users specify `tickLower` and `tickUpper` to define price range -- **Similarity**: Both allow liquidity providers to concentrate their capital in specific price ranges - -#### **2. Tick-Based Pricing System** -- **Bittensor**: Uses `price_to_tick()` and `tick_to_price()` functions with `PRICE_STEP = 1.0001` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L61-L80) -- **Uniswap V3**: Uses ticks with 0.01% price spacing (1.0001 multiplier) -- **Similarity**: Identical tick spacing and price conversion mechanics - -#### **3. Position Management** -- **Bittensor**: `add_liquidity()`, `modify_liquidity()`, `remove_liquidity()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L13-L185) -- **Uniswap V3**: `mint()`, `increaseLiquidity()`, `decreaseLiquidity()`, `burn()` -- **Similarity**: Similar lifecycle operations for position management - -#### **4. Fee Collection** -- **Bittensor**: Global and tick-level fee tracking with `calculate_fees()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158) -- **Uniswap V3**: Fee accumulation in positions with `collect()` function -- **Similarity**: Both track fees at multiple levels and allow fee collection - -#### **5. Single-Side Liquidity** -- **Bittensor**: Positions can become single-token when price moves outside range [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) -- **Uniswap V3**: Single-side positions when current price is outside the range -- **Similarity**: Both support single-token liquidity positions - -### **Key Differences from Uniswap V3** - -#### **1. Token Pair Structure** -- **Bittensor**: TAO (network token) vs Alpha (subnet-specific token) -- **Uniswap V3**: Generic token pairs (any ERC-20 tokens) -- **Difference**: Bittensor has a fixed token relationship across all pools - -#### **2. Position Representation** -- **Bittensor**: Uses `LiquidityPosition` dataclass with direct fee tracking [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L18-L26) -- **Uniswap V3**: Uses NFT-based positions via `NonfungiblePositionManager` -- **Difference**: Bittensor positions are not NFTs and have built-in fee tracking - -#### **3. Subnet Integration** -- **Bittensor**: Positions are subnet-specific with `netuid` parameter [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L2000-L2030) -- **Uniswap V3**: Pool-specific positions -- **Difference**: Bittensor integrates liquidity with subnet governance and operations - -#### **4. Fee Structure** -- **Bittensor**: Separate tracking of TAO and Alpha fees with `fees_tao` and `fees_alpha` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L1890-L1930) -- **Uniswap V3**: Single fee rate per pool (0.01%, 0.05%, 0.3%, 1%) -- **Difference**: Bittensor has dual-token fee structure tied to subnet economics - -#### **5. Access Control** -- **Bittensor**: Subnet owners can enable/disable user liquidity via `toggle_user_liquidity` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L4863-L4904) -- **Uniswap V3**: Open access to all users -- **Difference**: Bittensor has subnet-level governance over liquidity provision - -#### **6. Implementation Architecture** -- **Bittensor**: Built into the core blockchain as a "Swap" module -- **Uniswap V3**: Separate smart contracts on Ethereum -- **Difference**: Bittensor liquidity is native to the blockchain, not a separate protocol - -### **Technical Implementation Notes** - -#### **Uniswap V3 References** -- **Tick System**: Bittensor uses identical tick spacing (1.0001) as Uniswap V3 -- **Price Conversion**: `price_to_tick()` and `tick_to_price()` functions mirror Uniswap V3's implementation -- **Liquidity Math**: The `to_token_amounts()` method uses similar sqrt price calculations [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) - -#### **Bittensor-Specific Adaptations** -- **Subnet Economics**: Fee structure designed around subnet participation and Alpha token economics -- **Network Integration**: Liquidity positions tied to subnet operations and governance -- **Simplified Interface**: Direct API methods without NFT complexity - -#### **References** -- **Uniswap V3 Documentation**: https://docs.uniswap.org/sdk/v3/guides/liquidity/position-data -- **Concentrated Liquidity**: https://uniswap.org/whitepaper-v3.pdf -- **Tick System**: https://docs.uniswap.org/concepts/protocol/concentrated-liquidity - -## Implementation Status - -The liquidity provider functionality is **fully implemented** in the subtensor blockchain on the `devnet-ready` branch. Based on [PR #1814](https://github.com/opentensor/subtensor/pull/1814), recent improvements have been made to ensure event consistency with Uniswap V3 standards. - -### **Current Implementation State** - -| Component | Status | Location | -|-----------|--------|----------| -| **Python SDK** | ✅ Complete | `bittensor/core/extrinsics/asyncex/liquidity.py` | -| **Utility Functions** | ✅ Complete | `bittensor/utils/liquidity.py` | -| **Swap Pallet** | ✅ Complete | `subtensor/pallets/swap/` (devnet-ready branch) | -| **Position Management** | ✅ Complete | Full CRUD operations for liquidity positions | -| **Fee Tracking** | ✅ Complete | Global and position-level fee calculation | -| **Event System** | ✅ Complete | Uniswap V3-compatible events | - -### **Deployment Status** - -- **Development**: Available on `devnet-ready` branch -- **Production**: Deployment pending mainnet integration -- **Testing**: Full test suite available in `pallets/swap/src/pallet/tests.rs` - -### **Usage Requirements** - -To use the liquidity provider features: - -1. **Subnet Configuration**: Subnet owners must enable user liquidity via `toggle_user_liquidity` -2. **Account Setup**: Users need both TAO (coldkey) and Alpha tokens (hotkey stake) -3. **Network Support**: Currently available on devnet, mainnet deployment in progress From 75f87b25b3c05563944acddadd16cb694c5bd42d Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Fri, 4 Jul 2025 21:22:00 +0100 Subject: [PATCH 139/303] cleaned up btcli reference --- docs/btcli.md | 717 +++++++++++++++++++++++++++++--------------------- 1 file changed, 413 insertions(+), 304 deletions(-) diff --git a/docs/btcli.md b/docs/btcli.md index 1d86db083e..56180f4a15 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -95,7 +95,7 @@ btcli config set [OPTIONS] | `--cache`, `--cache`/`--no-cache`, `--no_cache` | | Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. | | `--slippage`, `--slippage-tolerance`, `--tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | | `--safe-staking`, `--safe`/`--no-safe-staking`, `--unsafe` | | Enable or disable safe staking mode. | -| `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent parial stakes | +| `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent partial stakes | | `--dashboard-path`, `--dashboard_path`, `--dash_path`, `--dash.path` | TEXT | Path to save the dashboard HTML file. For example: `~/.bittensor/dashboard`. | | `--help` | | Show this message and exit. | @@ -148,7 +148,7 @@ btcli config clear [OPTIONS] | `--cache` | | Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. | | `--slippage`, `--slippage-tolerance`, `--tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | | `--safe-staking`, `--safe`/`--no-safe-staking`, `--unsafe` | | Enable or disable safe staking mode. | -| `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent parial stakes | +| `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent partial stakes | | `--all` | | Clears the entire config. | | `--dashboard-path`, `--dashboard_path`, `--dash_path`, `--dash.path` | TEXT | Path to save the dashboard HTML file. For example: `~/.bittensor/dashboard`. | | `--help` | | Show this message and exit. | @@ -206,7 +206,7 @@ aliases: w, wallets - `list`: Displays all the wallets and their corresponding hotkeys that are located in the wallet path specified in the config. - `swap-hotkey`: Swap hotkeys of a given wallet on the blockchain. - `regen-coldkey`: Regenerate a coldkey for a wallet on the Bittensor blockchain network. -- `regen-coldkeypub`: Regenerates the public part of a coldkey (coldkeypub.txt) for a wallet. +- `regen-coldkeypub`: Regenerates the public part of a coldkey (`coldkeypub.txt`) for a wallet. - `regen-hotkey`: Regenerates a hotkey for a wallet. - `new-hotkey`: Create a new hotkey for a wallet. - `new-coldkey`: Create a new coldkey. @@ -341,13 +341,13 @@ alias: regen_coldkey ### `btcli wallet regen-coldkeypub` -Regenerates the public part of a coldkey (coldkeypub.txt) for a wallet. +Regenerates the public part of a coldkey (`coldkeypub.txt`) for a wallet. -Use this command when you need to move machine for subnet mining. Use the public key or SS58 address from your coldkeypub.txt that you have on another machine to regenerate the coldkeypub.txt on this new machine. +Use this command when you need to move machine for subnet mining. Use the public key or SS58 address from your `coldkeypub.txt` that you have on another machine to regenerate the `coldkeypub.txt` on this new machine. **Usage:** -The command requires either a public key in hexadecimal format or an `SS58` address from the existing coldkeypub.txt from old machine to regenerate the coldkeypub on the new machine. +The command requires either a public key in hexadecimal format or an `SS58` address from the existing `coldkeypub.txt` from old machine to regenerate the coldkeypub on the new machine. **Example:** @@ -356,7 +356,7 @@ btcli wallet regen_coldkeypub --ss58_address 5DkQ4... ``` :::info -This command is particularly useful for users who need to regenerate their coldkeypub, perhaps due to file corruption or loss. You will need either ss58 address or public hex key from your old coldkeypub.txt for the wallet. It is a recovery-focused utility that ensures continued access to your wallet functionalities. +This command is particularly useful for users who need to regenerate their coldkeypub, perhaps due to file corruption or loss. You will need either ss58 address or public hex key from your old `coldkeypub.txt` for the wallet. It is a recovery-focused utility that ensures continued access to your wallet functionalities. ::: **Usage**: @@ -912,24 +912,28 @@ btcli stake add [OPTIONS] **Options**: -- `-a, --all-tokens, --all`: When set, the command stakes all the available TAO from the coldkey. -- `--amount FLOAT`: The amount of TAO to stake [default: 0.0] -- `-in, --include-hotkeys, --hotkey-ss58-address TEXT`: Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` -- `-ex, --exclude-hotkeys TEXT`: Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -- `--all-hotkeys / --no-all-hotkeys`: When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). -- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `--all-tokens`, `--all`, `-a` | | When set, the command stakes all the available TAO from the coldkey. | +| `--amount` | FLOAT | The amount of TAO to stake | +| `--include-hotkeys`, `--hotkey-ss58-address`, `-in` | TEXT | Specifies hotkeys by name or ss58 address to stake to. For example, `-in hk1,hk2` | +| `--exclude-hotkeys`, `-ex` | TEXT | Specifies hotkeys by name or ss58 address to not to stake to (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` | +| `--all-hotkeys`/ `--no-all-hotkeys` | | When set, this command stakes to all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. | +| `--netuids`, `--netuid`, `-n` | TEXT | Netuid(s) to for which to add stake. Specify multiple netuids by separating with a comma, for example: `-n 0,1,2`. | +| `--all-netuids`/ `--no-all-netuid` | | Use all netuids. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--slippage`, `--slippage-tolerance`, `--tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | +| `--safe-staking`, `--safe`/`--no-safe-staking`, `--unsafe` | | Enable or disable safe staking mode. | +| `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent partial stakes | +| `--period`, `-era` | INTEGER | Length (in blocks) for which the transaction should be valid. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli stake remove` @@ -987,25 +991,31 @@ btcli stake remove [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `-a, --amount FLOAT`: The amount of TAO to unstake. [default: 0.0] -- `--hotkey-ss58-address TEXT`: The ss58 address of the hotkey to unstake from. -- `-in, --include-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` -- `-ex, --exclude-hotkeys TEXT`: Specifies the hotkeys by name or ss58 address not to unstake from (only use with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` -- `--all-hotkeys / --no-all-hotkeys`: When set, this command unstakes from all the hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. [default: no-all-hotkeys] -- `--slippage, --slippage-tolerance, --tolerance FLOAT`: Set the rate tolerance percentage for transactions (default: 0.05%). -- `--safe-staking, --safe / --no-safe-staking, --unsafe`: Enable or disable safe staking mode (default: enabled). -- `--allow-partial-stake, --partial, --allow, --allow-partial / --no-allow-partial-stake, --no-partial, --not-allow, --not-partial`: Enable or disable partial stake mode (default: disabled). -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `-i, --interactive`: Enter interactive mode for unstaking. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--netuid`, | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--all-netuids`/ `--no-all-netuid` | | Use all netuids. | +| `--unstake-all`, `--all` | | When set, this command unstakes all staked TAO + Alpha from the all hotkeys. | +| `--unstake-all-alpha`, `--all-alpha` | | When set, this command unstakes all staked Alpha from the all hotkeys. | +| `--amount`, `-a` | FLOAT | The amount of TAO to unstake | +| `--hotkey-ss58-address` | TEXT | The ss58 address of the hotkey to unstake from. | +| `--include-hotkeys`, `-in` | TEXT | Specifies hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` | +| `--exclude-hotkeys`, `-ex` | TEXT | Specifies hotkeys by name or ss58 address to not to unstake from (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` | +| `--all-hotkeys`/ `--no-all-hotkeys` | | When set, this command unstakes from all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. | +| `--slippage`, `--slippage-tolerance`, `--tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | +| `--safe-staking`, `--safe`/`--no-safe-staking`, `--unsafe` | | Enable or disable safe staking mode. | +| `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent partial stakes | +| `--period`, `-era` | INTEGER | Length (in blocks) for which the transaction should be valid. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--interactive`, `-t` | | Enter interactive mode for unstaking. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli stake list` @@ -1047,16 +1057,19 @@ btcli stake list [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--ss58, --coldkey_ss58, --coldkey.ss58_address, --coldkey.ss58 TEXT`: Coldkey address of the wallet -- `--live`: Display live view of the table -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. +| Option | Type | Description | +| -------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--ss58`, `--coldkey_ss58`, `--coldkey.ss58_address`, `--coldkey.ss58`, `--key`, `-k ` | TEXT | Coldkey address of the wallet | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--live` | | Display live view of the table | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli stake move` @@ -1091,17 +1104,23 @@ btcli stake move [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--origin-netuid INTEGER`: Origin netuid -- `--dest-netuid INTEGER`: Destination netuid -- `--dest-ss58, --dest TEXT`: Destination hotkey -- `--amount FLOAT`: The amount of TAO to stake -- `--stake-all, --all`: Stake all -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------------------------ | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | +| `--origin-netuid` | INTEGER | Origin netuid. | +| `--dest-netuid` | INTEGER | Destination netuid. | +| `--dest-ss58`, `--dest` | TEXT | Destination hotkey. | +| `--amount` | FLOAT | The amount of TAO to stake | +| `--stake-all`, `--all` | | Stake all. | +| `--period`, `-era` | INTEGER | Length (in blocks) for which the transaction should be valid. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli stake transfer` @@ -1144,18 +1163,23 @@ btcli stake transfer [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--origin-netuid INTEGER`: The netuid to transfer stake from -- `--dest-netuid INTEGER`: The netuid to transfer stake to -- `--dest-ss58, --dest, --dest-coldkey TEXT`: The destination wallet name or SS58 address to transfer stake to -- `-a, --amount FLOAT`: Amount of stake to transfer -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------------------------ | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | +| `--origin-netuid` | INTEGER | The netuid to transfer stake from. | +| `--dest-netuid` | INTEGER | The netuid to transfer stake to. | +| `--dest-ss58`, `--dest` | TEXT | The destination wallet name or SS58 address to transfer stake to. | +| `--amount` | FLOAT | The amount of stake to transfer. | +| `--stake-all`, `--all` | | Stake all. | +| `--period`, `-era` | INTEGER | Length (in blocks) for which the transaction should be valid. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli stake swap` @@ -1191,20 +1215,24 @@ btcli stake swap [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-o, --origin-netuid, --origin INTEGER`: The netuid to swap stake from -- `-d, --dest-netuid, --dest INTEGER`: The netuid to swap stake to -- `-a, --amount FLOAT`: Amount of stake to swap -- `--swap-all, --all`: Swap all available stake -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------------------------ | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | +| `--origin-netuid`, `-o` | INTEGER | The netuid to swap stake from. | +| `--dest-netuid`, `-d` | INTEGER | The netuid to swap stake to. | +| `--amount`, `-a` | FLOAT | The amount of stake to swap. | +| `--swap-all`, `--all` | | Swap all available stake. | +| `--period`, `-era` | INTEGER | Length (in blocks) for which the transaction should be valid. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--wait-for-inclusion`/ `--no-wait-for-inclusion` | | If `True`, waits until the transaction is included in a block. | +| `--wait-for-finalization`/ `--no-wait-for-finalization` | | If `True`, waits until the transaction is finalized on the blockchain. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli stake child` @@ -1253,15 +1281,18 @@ alias: children **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet (e.g. 2) -- `--all-netuids, --all, --allnetuids`: When set, gets the child hotkeys from all the subnets. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------------------------ | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | +| `--netuid` | INTEGER | The netuid of the subnet. | +| `--all-netuids`, `--all`, `--allnetuids` | | When set, gets the child hotkeys from all the subnets. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | #### `btcli stake child set` @@ -1287,19 +1318,23 @@ alias: children **Options**: -- `-c, --children TEXT`: Enter child hotkeys (ss58) -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--all-netuids / --no-all-netuids`: Use all netuids [default: no-all-netuids] -- `-p, --proportions, --prop FLOAT`: Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------------------------ | ------- | ------------------------------------------------------------------------------------------------ | +| `--children`, `-c` | TEXT | Enter child hotkeys (ss58) | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | +| `--netuid` | INTEGER | The netuid of the subnet in the network. | +| `--all-netuids`/`--no-all-netuids` | | Use all netuids. | +| `--proportions`, `--prop` | FLOAT | Enter the stake weight proportions for the child hotkeys (sum should be less than or equal to 1) | +| `--wait-for-inclusion`/ `--no-wait-for-inclusion` | | If `True`, waits until the transaction is included in a block. | +| `--wait-for-finalization`/ `--no-wait-for-finalization` | | If `True`, waits until the transaction is finalized on the blockchain. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | #### `btcli stake child revoke` @@ -1323,17 +1358,21 @@ alias: children **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet, (e.g. 8) -- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------------------------ | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | +| `--netuid` | INTEGER | The netuid of the subnet in the network. | +| `--all-netuids`, `--all`, `--allnetuids` | | When this flag is used it sets child hotkeys on all the subnets. | +| `--wait-for-inclusion`/ `--no-wait-for-inclusion` | | If `True`, waits until the transaction is included in a block. | +| `--wait-for-finalization`/ `--no-wait-for-finalization` | | If `True`, waits until the transaction is finalized on the blockchain. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | #### `btcli stake child take` @@ -1365,20 +1404,22 @@ alias: children **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--hotkey TEXT` -- `--netuid INTEGER`: The netuid of the subnet, (e.g. 23) -- `--all-netuids, --all, --allnetuids`: When this flag is used it sets child hotkeys on all the subnets. -- `-t, --take FLOAT`: Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. -- `--wait-for-inclusion / --no-wait-for-inclusion`: If `True`, waits until the transaction is included in a block. [default: wait-for-inclusion] -- `--wait-for-finalization / --no-wait-for-finalization`: If `True`, waits until the transaction is finalized on the blockchain. [default: wait-for-finalization] -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------------------------ | ------- | -------------------------------------------------------------------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | +| `--netuid` | INTEGER | The netuid of the subnet in the network. | +| `--all-netuids`, `--all`, `--allnetuids` | | When this flag is used it sets child hotkeys on all the subnets. | +| `--take` | FLOAT | Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. | +| `--wait-for-inclusion`/ `--no-wait-for-inclusion` | | If `True`, waits until the transaction is included in a block. | +| `--wait-for-finalization`/ `--no-wait-for-finalization` | | If `True`, waits until the transaction is finalized on the blockchain. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ## `btcli sudo` @@ -1424,16 +1465,20 @@ btcli sudo set [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--param, --parameter TEXT`: The subnet hyperparameter to set -- `--value TEXT`: Value to set the hyperparameter to. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------------------------ | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | +| `--netuid` | INTEGER | The netuid of the subnet in the network. | +| `--param`, `--parameter` | TEXT | The subnet hyperparameter to set | +| `--value` | TEXT | Value to set the hyperparameter to. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli sudo get` @@ -1453,11 +1498,14 @@ btcli sudo get [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ----------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--netuid` | INTEGER | The netuid of the subnet in the network. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli sudo senate` @@ -1479,10 +1527,13 @@ btcli sudo senate [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli sudo proposals` @@ -1504,10 +1555,13 @@ btcli sudo proposals [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli sudo senate-vote` @@ -1534,16 +1588,18 @@ alias: senate_vote **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--proposal, --proposal-hash TEXT`: The hash of the proposal to vote on. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--vote-aye / --vote-nay`: The vote casted on the proposal -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------------------------ | ---- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | +| `--proposal`, `--proposal-hash` | TEXT | The hash of the proposal to vote on. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--vote-aye`/`--json-nay` | | The vote casted on the proposal. | +| `--help` | | Show this message and exit. | ### `btcli sudo set-take` @@ -1568,14 +1624,18 @@ alias: set_take **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--take FLOAT`: The new take value. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------------------------ | ----- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | +| `--take` | FLOAT | The new take value. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli sudo get-take` @@ -1599,13 +1659,16 @@ alias: get_take **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| ------------------------------------------------------------------------------------------ | ---- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ## `btcli subnets` @@ -1654,11 +1717,14 @@ btcli subnets hyperparameters [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ----------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli subnets list` @@ -1702,11 +1768,14 @@ btcli subnets list [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--live`: Display live view of the table -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--live` | | Display live view of the table | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli subnets burn-cost` @@ -1730,14 +1799,17 @@ alias: burn_cost **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli subnets create` -Registers a new subnet on the network. +Creates a new subnet on the network. This command allows you to create a new subnet and set the subnet's identity. You also have the option to set your own identity after the registration is complete. @@ -1764,21 +1836,24 @@ btcli subnets create [OPTIONS] **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--subnet-name, --name TEXT`: Name of the subnet -- `--github-repo, --repo TEXT`: GitHub repository URL -- `--subnet-contact, --contact, --email TEXT`: Contact email for subnet -- `--subnet-url, --url TEXT`: Subnet URL -- `--discord-handle, --discord TEXT`: Discord handle -- `--description TEXT`: Description -- `--additional-info TEXT`: Additional information -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--subnet-name` | TEXT | Name of the subnet. | +| `--github-repo`, `repo` | TEXT | The GitHub repository URL. | +| `--subnet-contact`, `--contact`, `--email` | TEXT | Contact email for subnet. | +| `--subnet-url`, `--url` | TEXT | The web URL for the subnet. | +| `--discord-handle`, `discord` | TEXT | The Discord handle for the subnet. | +| `--description` | TEXT | The description for the subnet. | +| `--additional-info` | TEXT | Additional details for the subnet. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli subnets pow-register` @@ -1811,19 +1886,22 @@ alias pow_register **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--processors INTEGER`: Number of processors to use for POW registration. -- `-u, --update-interval INTEGER`: The number of nonces to process before checking for the next block during registration [default: 50000] -- `--output-in-place / --no-output-in-place`: Whether to output the registration statistics in-place. [default: output-in-place] -- `-v, --verbose`: Whether to output the registration statistics verbosely. -- `--use-cuda, --cuda / --no-use-cuda, --no-cuda`: Set the flag to use CUDA for POW registration. [default: no-use-cuda] -- `-d, --dev-id INTEGER`: Set the CUDA device id(s), in the order of the device speed (0 is the fastest). [default: 0] -- `-tbp, --threads-per-block INTEGER`: Set the number of threads per block for CUDA. [default: 256] -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | -------------------------------------------------------------------------------------- | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--processors` | INTEGER | Number of processors to use for POW registration. | +| `-u`, `--update-interval` | INTEGER | The number of nonces to process before checking for the next block during registration | +| `--output-in-place`/`--no-output-in-place` | | Whether to output the registration statistics in-place. | +| `--verbose`, `-v` | | Enable verbose output. | +| `--use-cuda`, `--cuda`/`--no-use-cuda`, `--no-cuda` | | Set the flag to use CUDA for POW registration. | +| `--dev-id`, `-d` | INTEGER | Set the CUDA device id(s), in the order of the device speed (0 is the fastest). | +| `--threads-per-block`, `-tpb` | INTEGER | Set the number of threads per block for CUDA. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--help` | | Show this message and exit. | ### `btcli subnets register` @@ -1847,15 +1925,19 @@ btcli subnets register [OPTIONS] **Options**: -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--netuid`, | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--period`, `-era` | INTEGER | Length (in blocks) for which the transaction should be valid. Note that it is possible that if you use an era for this transaction that you may pay a different fee to register than the one stated. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli subnets metagraph` @@ -1875,12 +1957,16 @@ btcli subnets metagraph [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ----------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--netuid`, | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--sort` | | Sort the subnets by uid. | +| `--quiet` | | Display only critical information on the console. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli subnets show` @@ -1900,12 +1986,16 @@ btcli subnets show [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--prompt, --prompt / -y, --no-prompt, --yes, --no_prompt`: Enable or disable interactive prompts. [default: prompt] -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ----------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--netuid`, | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--sort` | | Sort the subnets by uid. | +| `--quiet` | | Display only critical information on the console. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli subnets price` @@ -1943,13 +2033,18 @@ btcli subnets price [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `-n, --netuids, --netuid TEXT`: Netuid(s) to show the price for. -- `--interval-hours, --interval INTEGER`: The number of hours to show the historical price for. [default: 24] -- `--all-netuids, --all`: Show the price for all subnets. -- `--log-scale, --log`: Show the price in log scale. -- `--html`: Display the table as HTML in the browser. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--netuids`, `--netuid`, `-n` | TEXT | Netuids to show the price for. Separate multiple netuids with a comma, for example: `-n 0,1,2`. | +| `--interval-hours`, `--interval` | INTEGER | The number of hours to show the historical price for. | +| `--all-netuids`, `--all` | | Show the price for all subnets. | +| `--log-scale`, `--log` | | Show the price in log scale. | +| `--html` | | Display the table as HTML in the browser. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli subnets check-start` @@ -1971,11 +2066,13 @@ alias check_start **Options**: -- `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` TEXT: The subtensor network to connect to. Default: finney. -- `--netuid`: INTEGER The netuid of the subnet in the network, (e.g. 1). -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ----------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--help` | | Show this message and exit. | ### `btcli subnets set-identity` @@ -2005,23 +2102,25 @@ alias: set_identity **Options**: -- `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` TEXT: Name of the wallet. -- `--wallet-path`, `--wallet_path`, `--wallet.path`, `-p` TEXT: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` `-H` TEXT: Hotkey of the wallet -- `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` TEXT: The subtensor network to connect to. -- `--netuid` INTEGER: The netuid of the subnet in the network, (e.g. 1). -- `--subnet-name`, `--name` TEXT: Name of the subnet. -- `--github-repo`, `--repo` TEXT: GitHub repository URL -- `--subnet-contact`, `--contact`, `--email` TEXT: Contact email for subnet -- `--subnet-url`, `--url` TEXT: Subnet URL -- `--discord-handle`, `--discord` TEXT: Discord handle -- `--description` TEXT: Description -- `--additional-info` TEXT: Additional information -- `--json-output`, `--json-out`: Outputs the result of the command as JSON. -- `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y`: Enable or disable interactive prompts. -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--subnet-name`, `--name` | TEXT | Name of the subnet. | +| `--github-repo`, `repo` | TEXT | The GitHub repository URL. | +| `--subnet-contact`, `--contact`, `--email` | TEXT | Contact email for subnet. | +| `--subnet-url`, `--url` | TEXT | The web URL for the subnet. | +| `--discord-handle`, `discord` | TEXT | The Discord handle for the subnet. | +| `--description` | TEXT | The description for the subnet. | +| `--additional-info` | TEXT | Additional details for the subnet. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli subnets get-identity` @@ -2091,17 +2190,21 @@ btcli weights reveal [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `-u, --uids TEXT`: Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 ... -- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163,241,217 ... -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------- | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--uids`, `-u` | TEXT | Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 .. | +| `--weights`, `-w` | TEXT | Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the specified UIDs. | +| `--salt`, `-s` | TEXT | Corresponding salt for the hash function, e.g. -s 163,241,217 ... | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli weights commit` @@ -2126,17 +2229,21 @@ btcli weights commit [OPTIONS] **Options**: -- `--network, --subtensor.network, --chain, --subtensor.chain_endpoint TEXT`: The subtensor network to connect to. Default: finney. -- `--wallet-name, --name, --wallet_name, --wallet.name TEXT`: Name of the wallet. -- `-p, --wallet-path, --wallet_path, --wallet.path TEXT`: Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. -- `-H, --hotkey, --wallet_hotkey, --wallet-hotkey, --wallet.hotkey TEXT`: Hotkey of the wallet -- `--netuid INTEGER`: The netuid of the subnet in the network, (e.g. 1). -- `-u, --uids TEXT`: UIDs of interest for the specified netuid, e.g. -u 1,2,3 ... -- `-w, --weights TEXT`: Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the UIDs. -- `-s, --salt TEXT`: Corresponding salt for the hash function, e.g. -s 163 -s 241 -s 217 ... -- `--quiet`: Display only critical information on the console. -- `--verbose`: Enable verbose output. -- `--help`: Show this message and exit. +| Option | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------- | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--uids`, `-u` | TEXT | Corresponding UIDs for the specified netuid, e.g. -u 1,2,3 .. | +| `--weights`, `-w` | TEXT | Weights for the specified UIDs, e.g. `-w 0.2,0.4,0.1 ...` Must correspond to the order of the specified UIDs. | +| `--salt`, `-s` | TEXT | Corresponding salt for the hash function, e.g. -s 163,241,217 ... | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ## `btcli utils` @@ -2166,9 +2273,11 @@ btcli utils convert [OPTIONS] **Options**: -- `--rao TEXT`: Convert amount from Rao -- `--tao FLOAT`: Convert amount from Tao -- `--help`: Show this message and exit. +| Option | Type | Description | +| -------- | ----- | --------------------------- | +| `--rao` | TEXT | Convert amount from Rao | +| `--tao` | FLOAT | Convert amount from Tao | +| `--help` | | Show this message and exit. | --- From 93c6b232362cfc03dd6fa601b436bafc66b0adff Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 7 Jul 2025 11:19:11 -0700 Subject: [PATCH 140/303] wip --- docs/liquidity-provider.md | 88 +++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 49 deletions(-) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index 567617e332..f7d05eaed2 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -8,29 +8,39 @@ title: Provisioning Liquidity to Subnets The Liquidity Provider (LP) feature allows users to become providers of trading liquidity for specific subnets, within specified price ranges for the subnet $\alpha$ token. This system is based on Uniswap V3's concentrated liquidity model and enables users to earn fees from trading activity. +### Key Concepts -## Use Cases +#### Liquidity Positions +A liquidity position represents a user's contribution to a trading pool within a specific price range. Each position has: +- **Price Range**: Defined by `price_low` and `price_high` in TAO +- **Liquidity Amount**: The total liquidity provided (in RAO) +- **Position ID**: Unique identifier for the position +- **Fee Tracking**: Separate tracking for TAO and Alpha fees earned -### For TAO holders +#### Price Ranges and Ticks +The system uses a tick-based pricing mechanism based on Uniswap V3: +- **Ticks**: Discrete price points with 0.01% spacing (PRICE_STEP = 1.0001) +- **Price Range**: Each position covers a range of ticks +- **Concentrated Liquidity**: Liquidity is only active within the specified range + +### Use case + +#### For TAO holders - Provide liquidity in expected price ranges - Earn fees from trading activity - Participate in market making -### For subnet creators +#### For subnet creators - Enable user liquidity provision - Increase trading volume and liquidity - Improve price discovery -Subnet creators can enable/disable user liquidity provision via the `toggle_user_liquidity` function. +:::note +Subnet creators can enable and disable user liquidity provision via the `toggle_user_liquidity` function. +::: [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L187-L232) -### Subnet configuration - -A subnet's creator can enable and disable user the Liquidity Provider feature via `toggle_user_liquidity`. - -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L4863-L4904) - ## Tokenomics @@ -48,21 +58,19 @@ The `calculate_fees()` function calculates both TAO and Alpha fees based on glob ### Dynamic token composition -Liquidity providers experience changes in their token composition based on price movements relative to their specified range: - -**Price Movement Effects**: +A liquidity position (LP) can hold TAO, alpha, or both. This depends on the subnet's current token price relative to the range specified for the LP when it was created. -1. **Price Below Range** (`current_price < price_low`): +**Price Below Range** (`current_price < price_low`): - Position becomes **100% Alpha tokens** - `amount_alpha = liquidity * (1/sqrt_price_low - 1/sqrt_price_high)` - `amount_tao = 0` -2. **Price Above Range** (`current_price > price_high`): +**Price Above Range** (`current_price > price_high`): - Position becomes **100% TAO tokens** - `amount_alpha = 0` - `amount_tao = liquidity * (sqrt_price_high - sqrt_price_low)` -3. **Price Within Range** (`price_low <= current_price <= price_high`): +**Price Within Range** (`price_low <= current_price <= price_high`): - Position maintains **mixed token composition** - `amount_alpha = liquidity * (1/sqrt_current_price - 1/sqrt_price_high)` - `amount_tao = liquidity * (sqrt_current_price - sqrt_price_low)` @@ -104,16 +112,17 @@ def to_token_amounts( - **Narrow Ranges**: Higher fee concentration but more likely to become single-token when price moves - **Wide Ranges**: Lower fee concentration but more likely to maintain mixed token composition -## Comparison with Staking +## Liquidity Positions vs. Staking + +While both staking and liquidity provision involve committing tokens to support the Bittensor network, they serve different purposes and operate through distinct mechanisms. + +**Staking** is designed to support validators and miners by providing them with consensus power. When you stake TAO to a validator, you're essentially voting for that validator's participation in the subnet's consensus mechanism. The validator's total stake (including your delegation) determines their share of emissions and influence in the network. -| Aspect | Staking (add_stake) | Liquidity Provider | -|--------|-------------------|-------------------| -| **Purpose** | Support validators/miners | Provide trading liquidity | -| **Token Conversion** | TAO → Alpha | TAO + Alpha pool | -| **Price Range** | Current market price | User-defined range | -| **Rewards** | Subnet participation | Trading fees | -| **Risk** | Validator performance | Token composition changes | -| **Complexity** | Simple stake/unstake | Position management | +Stakers earn emissions off of their stake, which are distributed each tempo. + +**Liquidity provision**, on the other hand, is focused on market making and trading facilitation. By providing liquidity to a subnet's trading pool, you're enabling other users to trade between TAO and the subnet's Alpha tokens. This creates a more liquid market and improves price discovery for the subnet's token. + +Liquidity providers earn fees when others stake or unstake within the price range defined on the position. ## Liquidity Position Lifecycle @@ -123,18 +132,15 @@ def to_token_amounts( When creating a liquidity position, users provide liquidity in the form of a single `liquidity` parameter (in RAO). The system automatically calculates and charges the appropriate amounts of TAO and Alpha tokens from the user's wallet based on the current price. 1. User calls `add_liquidity()` with `liquidity`, `price_low`, and `price_high` parameters -2. System converts price range to tick indices using `price_to_tick()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L61-L72) +2. System converts price range to tick indices using `price_to_tick()` 3. System calculates required TAO and Alpha amounts based on current price and range 4. Tokens are transferred from user's wallet to the liquidity pool 5. A new `LiquidityPosition` is created with a unique `position_id` +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L61-L72) [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L50-L51) - -#### Blockchain Implementation - -When the Python SDK calls `add_liquidity_extrinsic`, it triggers a sequence in the subtensor blockchain that starts with the extrinsic call mapping to the `add_liquidity` function in the **Swap pallet** ([`pallets/swap/src/pallet/mod.rs:337`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L337)). - -The main logic is handled by `do_add_liquidity` ([`pallets/swap/src/pallet/impls.rs:774`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L774)): +[`pallets/swap/src/pallet/mod.rs:337`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L337) +The main logic is handled by `do_add_liquidity` ([`pallets/swap/src/pallet/impls.rs:774`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L807)): ### Modifying a Position @@ -144,12 +150,10 @@ Position management through `modify_liquidity` allows you to adjust existing pos ### Fee Accumulation -As staking and unstaking on the relevant subnet token occur, within your position's price range, *fees* accumulate to your position. The system maintains global fee counters (`FeeGlobalTao`, `FeeGlobalAlpha`) and individual ticks track fees collected at specific price points. +As staking and unstaking on the relevant subnet token occur, within your position's price range, *fees* accumulate to your position. The blockchain maintains global fee counters (`FeeGlobalTao`, `FeeGlobalAlpha`) and individual ticks track fees collected at specific price points. Fees earned by each position are calculated using `calculate_fees()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158). Fee distribution is proportional to liquidity providers based on their share of total liquidity in the active price range and the duration their liquidity was active during trading. -The fee calculation from global and tick-level data is implemented in [`bittensor/core/async_subtensor.py`](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/async_subtensor.py#L1890-L1930). - ### Removing a Position When a position is destroyed/removed, the position's liquidity is converted back to tokens based on the current subnet price relative to your position's price range. The position is then deleted from the system. @@ -158,20 +162,6 @@ When a position is destroyed/removed, the position's liquidity is converted back -## Key Concepts - -### Liquidity Positions -A liquidity position represents a user's contribution to a trading pool within a specific price range. Each position has: -- **Price Range**: Defined by `price_low` and `price_high` in TAO -- **Liquidity Amount**: The total liquidity provided (in RAO) -- **Position ID**: Unique identifier for the position -- **Fee Tracking**: Separate tracking for TAO and Alpha fees earned - -### Price Ranges and Ticks -The system uses a tick-based pricing mechanism based on Uniswap V3: -- **Ticks**: Discrete price points with 0.01% spacing (PRICE_STEP = 1.0001) -- **Price Range**: Each position covers a range of ticks -- **Concentrated Liquidity**: Liquidity is only active within the specified range ## Managing positions From 7f137e0f6d9182da965827fa2dff4462e67cc370 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 7 Jul 2025 11:47:27 -0700 Subject: [PATCH 141/303] wip --- docs/liquidity-provider.md | 79 +++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index f7d05eaed2..0c2e6c0c44 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -6,41 +6,33 @@ title: Provisioning Liquidity to Subnets ## Overview -The Liquidity Provider (LP) feature allows users to become providers of trading liquidity for specific subnets, within specified price ranges for the subnet $\alpha$ token. This system is based on Uniswap V3's concentrated liquidity model and enables users to earn fees from trading activity. +The Liquidity Position feature allows users to provide trading liquidity for specific subnets, within specified price ranges for the subnet $\alpha$ token. This system is based on Uniswap V3's concentrated liquidity model and enables providers to earn fees from trading activity. -### Key Concepts +By creating a liquidity position (LP), any TAO holder can contribute to the health of a subnet by providing liquidity for efficient trading, thereby earning fees from trading activity. -#### Liquidity Positions -A liquidity position represents a user's contribution to a trading pool within a specific price range. Each position has: +Liquidity providers participate by creating liquidity positions (LPs). Each LP is defined by its: - **Price Range**: Defined by `price_low` and `price_high` in TAO -- **Liquidity Amount**: The total liquidity provided (in RAO) +- **Liquidity Amount**: The total liquidity provided - **Position ID**: Unique identifier for the position - **Fee Tracking**: Separate tracking for TAO and Alpha fees earned -#### Price Ranges and Ticks -The system uses a tick-based pricing mechanism based on Uniswap V3: -- **Ticks**: Discrete price points with 0.01% spacing (PRICE_STEP = 1.0001) -- **Price Range**: Each position covers a range of ticks -- **Concentrated Liquidity**: Liquidity is only active within the specified range +### Liquidity Positions vs. Staking -### Use case +While both staking and liquidity provision involve committing tokens to support the Bittensor network, they serve different purposes and operate through distinct mechanisms. + +**Staking** is designed to support validators and miners by providing them with consensus power. When you stake TAO to a validator, you're essentially voting for that validator's participation in the subnet's consensus mechanism. The validator's total stake (including your delegation) determines their share of emissions and influence in the network. + +Stakers earn emissions off of their stake, which are distributed each tempo. -#### For TAO holders -- Provide liquidity in expected price ranges -- Earn fees from trading activity -- Participate in market making +**Liquidity provision**, on the other hand, is focused on market making and trading facilitation. By providing liquidity to a subnet's trading pool, you're enabling other users to trade between TAO and the subnet's Alpha tokens. This creates a more liquid market and improves price discovery for the subnet's token. -#### For subnet creators -- Enable user liquidity provision -- Increase trading volume and liquidity -- Improve price discovery +Liquidity providers earn fees when others stake or unstake within the price range defined on the position. :::note Subnet creators can enable and disable user liquidity provision via the `toggle_user_liquidity` function. -::: [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L187-L232) - +::: ## Tokenomics @@ -112,18 +104,6 @@ def to_token_amounts( - **Narrow Ranges**: Higher fee concentration but more likely to become single-token when price moves - **Wide Ranges**: Lower fee concentration but more likely to maintain mixed token composition -## Liquidity Positions vs. Staking - -While both staking and liquidity provision involve committing tokens to support the Bittensor network, they serve different purposes and operate through distinct mechanisms. - -**Staking** is designed to support validators and miners by providing them with consensus power. When you stake TAO to a validator, you're essentially voting for that validator's participation in the subnet's consensus mechanism. The validator's total stake (including your delegation) determines their share of emissions and influence in the network. - -Stakers earn emissions off of their stake, which are distributed each tempo. - -**Liquidity provision**, on the other hand, is focused on market making and trading facilitation. By providing liquidity to a subnet's trading pool, you're enabling other users to trade between TAO and the subnet's Alpha tokens. This creates a more liquid market and improves price discovery for the subnet's token. - -Liquidity providers earn fees when others stake or unstake within the price range defined on the position. - ## Liquidity Position Lifecycle @@ -148,20 +128,41 @@ Position management through `modify_liquidity` allows you to adjust existing pos [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L74-L125) -### Fee Accumulation +### Fee Accumulation and Distribution -As staking and unstaking on the relevant subnet token occur, within your position's price range, *fees* accumulate to your position. The blockchain maintains global fee counters (`FeeGlobalTao`, `FeeGlobalAlpha`) and individual ticks track fees collected at specific price points. +Fees are generated when users perform swaps (trading TAO for Alpha or vice versa) within your position's price range. The fee accumulation and distribution system works as follows: -Fees earned by each position are calculated using `calculate_fees()` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158). Fee distribution is proportional to liquidity providers based on their share of total liquidity in the active price range and the duration their liquidity was active during trading. +#### Fee Generation +Fees are calculated per swap transaction using the subnet's fee rate (default 0.3% or 196/65535) [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L554-L566). When a swap occurs, the `add_fees()` function distributes the fee proportionally to all active liquidity providers based on their share of the current liquidity [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L567-L597). -### Removing a Position +#### Fee Tracking +The system maintains two levels of fee tracking: +- **Global Fee Counters**: `FeeGlobalTao` and `FeeGlobalAlpha` track total fees accumulated across the entire subnet [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L80-L84) +- **Tick-Level Tracking**: Individual ticks record the global fee state when they are crossed, enabling precise fee calculation for positions [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/position.rs#L130-L140) -When a position is destroyed/removed, the position's liquidity is converted back to tokens based on the current subnet price relative to your position's price range. The position is then deleted from the system. +#### Fee Calculation +Each position calculates its earned fees using the `collect_fees()` method, which: +1. Determines the fees accumulated within the position's price range +2. Subtracts previously collected fees to get the new fees earned +3. Multiplies by the position's liquidity share to get the final fee amount [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/position.rs#L110-L128) -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L127-L185) +#### Fee Distribution +**Fees are NOT distributed automatically per tempo like emissions.** Instead, fees are only distributed when you actively interact with your position: +- **When modifying a position** (adding or removing liquidity): All accumulated fees are automatically collected and sent to your wallet [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L520-L535) +- **When removing a position entirely**: All accumulated fees are collected along with your position's tokens [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L410-L415) +This means you must actively manage your positions to claim your earned fees - they remain locked in the position until you perform a position operation. +:::tip Fee Claiming Strategy +Since fees are only distributed when you interact with your position, consider periodically modifying your position (even with 0 delta) to claim accumulated fees without changing your liquidity. +::: + +### Removing a Position + +When a position is destroyed/removed, the position's liquidity is converted back to tokens based on the current subnet price relative to your position's price range. The position is then deleted from the system. + +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L127-L185) ## Managing positions From 9a23c97e00bcfc1a65cf02a51972ae20d6c711f6 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 7 Jul 2025 12:05:48 -0700 Subject: [PATCH 142/303] wip --- docs/liquidity-provider.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index 0c2e6c0c44..c38e3a5fa7 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -117,14 +117,11 @@ When creating a liquidity position, users provide liquidity in the form of a sin 4. Tokens are transferred from user's wallet to the liquidity pool 5. A new `LiquidityPosition` is created with a unique `position_id` -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L61-L72) -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L50-L51) -[`pallets/swap/src/pallet/mod.rs:337`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L337) -The main logic is handled by `do_add_liquidity` ([`pallets/swap/src/pallet/impls.rs:774`](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L807)): +[See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L807): ### Modifying a Position -Position management through `modify_liquidity` allows you to adjust existing positions. When adding liquidity with a positive `liquidity_delta`, additional TAO and Alpha tokens are transferred from your wallet and the position's liquidity field is updated. When removing liquidity with a negative `liquidity_delta`, a pro-rata amount of TAO and Alpha tokens are returned to your wallet and the position's liquidity field is updated. +Position management through `modify_liquidity` allows you to adjust existing positions. When adding liquidity with a positive `liquidity_delta`, additional TAO and Alpha tokens are transferred from your wallet and the position's liquidity field is updated. When removing liquidity with a negative `liquidity_delta`, the system calculates the exact TAO and Alpha token amounts based on the current price and your position's price range using the same mathematical formulas as position creation [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L952-L958). These calculated amounts are returned to your wallet and the position's liquidity field is updated. [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L74-L125) @@ -152,6 +149,9 @@ Each position calculates its earned fees using the `collect_fees()` method, whic - **When modifying a position** (adding or removing liquidity): All accumulated fees are automatically collected and sent to your wallet [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L520-L535) - **When removing a position entirely**: All accumulated fees are collected along with your position's tokens [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L410-L415) +:::tip +Fees are **NOT added to your position's liquidity**. They are tracked separately in the position's `fees_tao` and `fees_alpha` fields and are only distributed to your wallet when you perform a position operation. This means your position's token composition and liquidity remain unchanged by fee accumulation - only the fee tracking variables are updated [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/position.rs#L110-L128). +::: This means you must actively manage your positions to claim your earned fees - they remain locked in the position until you perform a position operation. :::tip Fee Claiming Strategy From ccd447fd5e7c1bfa058d60c7457efd52a64cebd7 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 7 Jul 2025 12:07:31 -0700 Subject: [PATCH 143/303] wip --- docs/liquidity-provider.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index c38e3a5fa7..ef06cceac9 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -150,13 +150,12 @@ Each position calculates its earned fees using the `collect_fees()` method, whic - **When removing a position entirely**: All accumulated fees are collected along with your position's tokens [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L410-L415) :::tip -Fees are **NOT added to your position's liquidity**. They are tracked separately in the position's `fees_tao` and `fees_alpha` fields and are only distributed to your wallet when you perform a position operation. This means your position's token composition and liquidity remain unchanged by fee accumulation - only the fee tracking variables are updated [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/position.rs#L110-L128). +Fees are **NOT added to your position's liquidity**. ::: -This means you must actively manage your positions to claim your earned fees - they remain locked in the position until you perform a position operation. -:::tip Fee Claiming Strategy -Since fees are only distributed when you interact with your position, consider periodically modifying your position (even with 0 delta) to claim accumulated fees without changing your liquidity. -::: +Fees are tracked in the position's `fees_tao` and `fees_alpha` fields and are only distributed to your wallet when you perform a position operation. This means your position's token composition and liquidity remain unchanged by fee accumulation - only the fee tracking variables are updated [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/position.rs#L110-L128). + +This means you must actively manage your positions to claim your earned fees - they remain locked in the position until you perform a position operation (modify or remove). ### Removing a Position @@ -164,7 +163,6 @@ When a position is destroyed/removed, the position's liquidity is converted back [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L127-L185) - ## Managing positions ### Adding a liquidity position @@ -218,7 +216,7 @@ await subtensor.remove_liquidity( ) ``` - [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L3418-L3477) +[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L3418-L3477) ### Listing positions From 8dd9a1b7e59d918dcae60cd221368fa4a43bd73d Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Mon, 7 Jul 2025 13:42:53 -0700 Subject: [PATCH 144/303] Apply suggestions from code review Co-authored-by: Roman <167799377+basfroman@users.noreply.github.com> --- docs/liquidity-provider.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index ef06cceac9..f76bf082b6 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -172,7 +172,7 @@ Create a liquidity position with `add_liquidity`. await subtensor.add_liquidity( wallet=wallet, netuid=netuid, - liquidity=Balance.from_tao(1000), + liquidity=Balance.from_tao(1.0), price_low=Balance.from_tao(1.5), price_high=Balance.from_tao(2.0), wait_for_inclusion=True, @@ -192,7 +192,7 @@ await subtensor.modify_liquidity( wallet=wallet, netuid=netuid, position_id=position_id, - liquidity_delta=Balance.from_tao(500), + liquidity_delta=Balance.from_tao(0.5), wait_for_inclusion=True, wait_for_finalization=False, period=None From 219bb25ca51ffa228727d6b624d0c165ffd3929f Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 7 Jul 2025 13:50:49 -0700 Subject: [PATCH 145/303] wip --- docs/liquidity-provider.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index f76bf082b6..9a148a9471 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -188,6 +188,7 @@ await subtensor.add_liquidity( Use `modify_liquidity` with the desired amount to add or subtract liquidity to an existing position. ```python +# Adding liquidity (positive delta) await subtensor.modify_liquidity( wallet=wallet, netuid=netuid, @@ -197,6 +198,17 @@ await subtensor.modify_liquidity( wait_for_finalization=False, period=None ) + +# Removing liquidity (negative delta) +await subtensor.modify_liquidity( + wallet=wallet, + netuid=netuid, + position_id=position_id, + liquidity_delta=Balance.from_tao(0.6) * -1, # or -Balance.from_tao(0.6) + wait_for_inclusion=True, + wait_for_finalization=False, + period=None +) ``` [See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L3210-L3269) From 1834aaf2fc4ff7a00d96ae6a9cdf0c6e01846887 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 7 Jul 2025 13:52:16 -0700 Subject: [PATCH 146/303] wip --- docs/liquidity-provider.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md index 9a148a9471..0c61a4cef6 100644 --- a/docs/liquidity-provider.md +++ b/docs/liquidity-provider.md @@ -199,7 +199,7 @@ await subtensor.modify_liquidity( period=None ) -# Removing liquidity (negative delta) +# Subtracting liquidity (negative delta) await subtensor.modify_liquidity( wallet=wallet, netuid=netuid, From da884d4ec5e86c5c41e1bf0ab41db8f28c88464b Mon Sep 17 00:00:00 2001 From: Dera Okeke <63825182+chideraao@users.noreply.github.com> Date: Mon, 7 Jul 2025 22:15:37 +0100 Subject: [PATCH 147/303] Update docs/local-build/deploy.md Co-authored-by: Michael Trestman --- docs/local-build/deploy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/local-build/deploy.md b/docs/local-build/deploy.md index 4cd7d90f21..e1557c642f 100644 --- a/docs/local-build/deploy.md +++ b/docs/local-build/deploy.md @@ -47,7 +47,7 @@ This command downloads the `subtensor-localnet` Docker image, making it availabl ### 2. Run the container -There are many ways to run the `subtensor-localnet` Docker image, depending on your development and testing needs. The two most common approaches involve running the chain with either _fast blocks_ or _non-fast blocks_. Each approach offers different trade-offs in speed, realism, and network behavior. +Subtensor can either be run in _fast blocks_ mode, which has advantages for development and testing purposes, or _non-fast blocks_. Below are examples of how to run the container using each mode: - Fast blocks: Fast block mode reduces block processing time to _250ms per block_, enabling rapid chain progression. It allows faster feedback cycles for operations such as staking, subnet creation, and registration, making them ideal for local testing scenarios. To run the container in fast block mode, run the following command in your terminal: From 96fce004b998cc9b80661322337629e6c1f4527b Mon Sep 17 00:00:00 2001 From: Dera Okeke <63825182+chideraao@users.noreply.github.com> Date: Mon, 7 Jul 2025 22:15:55 +0100 Subject: [PATCH 148/303] Update docs/getting-started/installation.md Co-authored-by: Roman <167799377+basfroman@users.noreply.github.com> --- docs/getting-started/installation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 0ce230a901..fdc9c2440a 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -11,9 +11,9 @@ Before you can start developing, you must install Bittensor SDK and then create ## Supported Python versions -- bittensor (SDK): Python 3.9-3.12 (reference: https://github.com/opentensor/bittensor/blob/master/pyproject.toml#L14) -- bittensor-cli: Python 3.9-3.12 (reference: https://github.com/opentensor/btcli/blob/main/pyproject.toml#L15 ) -- bittensor-wallet: Python 3.9-3.12 (reference: https://github.com/opentensor/btwallet/blob/main/pyproject.toml#L11) +- bittensor (SDK): Python 3.9-3.13 (reference: https://github.com/opentensor/bittensor/blob/master/pyproject.toml#L14) +- bittensor-cli: Python 3.9-3.13 (reference: https://github.com/opentensor/btcli/blob/main/pyproject.toml#L15 ) +- bittensor-wallet: Python 3.9-3.13 (reference: https://github.com/opentensor/btwallet/blob/main/pyproject.toml#L11) ## Upgrade the Bittensor SDK From 230295c108ca46c59a802235200f7fb955217ae2 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Mon, 7 Jul 2025 22:42:10 +0100 Subject: [PATCH 149/303] updated glossary --- docs/glossary.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/glossary.md b/docs/glossary.md index 5097875098..cd60edd30f 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -112,6 +112,8 @@ A Bittensor wallet created through the Bittensor website or using a tool like [s A development-only configuration that accelerates block production to 250ms intervals, enabling rapid local testing and immediate execution of on-chain operations. +**See also:** [Create a local instance](./local-build/deploy.md?local-chain=docker#2-run-the-container) + ## H ### Hotkey @@ -204,6 +206,8 @@ A TAO holder who delegates their stake. A development-only configuration that adheres to Subtensor’s default 12-second block interval, simulating production timing for features like delayed subnet activation. +**See also:** [Create a local instance](./local-build/deploy.md?local-chain=docker#2-run-the-container) + ## O ### Objective Function From 3b594b73efb5615059ab397db9b4c3963bf60297 Mon Sep 17 00:00:00 2001 From: RC Date: Tue, 8 Jul 2025 15:46:25 -0400 Subject: [PATCH 150/303] Fix: metagraph link in neurons.md The link at the bottom of https://docs.learnbittensor.org/learn/neurons/ points to https://docs.learnbittensor.org/learn/subnets/metagraph --- docs/learn/neurons.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/learn/neurons.md b/docs/learn/neurons.md index 47e6a72606..cced436b6d 100644 --- a/docs/learn/neurons.md +++ b/docs/learn/neurons.md @@ -140,4 +140,4 @@ For example, in the [Text Prompting Subnet](https://github.com/macrocosm-os/prom The metagraph is a data structure that contains comprehensive information about current state of the subnet. When you inspect the metagraph of a subnet, you will find detailed information on all the nodes (neurons) in the subnet. A subnet validator should first sync with a subnet's metagraph to know all the subnet miners that are in the subnet. The metagraph can be inspected without participating in a subnet. -See [The Subnet Metagraph](../subnets/metagraph) \ No newline at end of file +See [The Subnet Metagraph](../../subnets/metagraph) From c2c86f8cdfff65b002c967c3d861518d920776be Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 9 Jul 2025 22:09:50 +0100 Subject: [PATCH 151/303] fixed list rendering --- docs/btcli.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/btcli.md b/docs/btcli.md index 56180f4a15..3db2a62001 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -1744,15 +1744,17 @@ btcli subnets list btcli subnets list --live ``` -Output Columns: Netuid - Subnet identifier number -Name - Subnet name with currency symbol (τ/α/β etc) -Price (τ_in/α_in) - Exchange rate (TAO per alpha token) -Market Cap (α \* Price) - Total value in TAO (alpha tokens × price) -Emission (τ) - TAO rewards emitted per block to subnet -P (τ_in, α_in) - Pool reserves (Tao reserves, alpha reserves) in liquidity pool -Stake (α_out) - Total staked alpha tokens across all hotkeys (alpha outstanding) -Supply (α) - Circulating alpha token supply -Tempo (k/n) - Block interval for subnet updates +**Output Columns:** + +- Netuid - Subnet identifier number +- Name - Subnet name with currency symbol (τ/α/β etc) +- Price (τ_in/α_in) - Exchange rate (TAO per alpha token) +- Market Cap (α \* Price) - Total value in TAO (alpha tokens × price) +- Emission (τ) - TAO rewards emitted per block to subnet +- P (τ_in, α_in) - Pool reserves (Tao reserves, alpha reserves) in liquidity pool +- Stake (α_out) - Total staked alpha tokens across all hotkeys (alpha outstanding) +- Supply (α) - Circulating alpha token supply +- Tempo (k/n) - Block interval for subnet updates **Example:** From a421a603deb8e26c1ca59cc711135f7a3f486bae Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 9 Jul 2025 22:15:32 +0100 Subject: [PATCH 152/303] minor edit --- docs/btcli.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/btcli.md b/docs/btcli.md index 3db2a62001..9bf2291395 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -1746,15 +1746,15 @@ btcli subnets list --live **Output Columns:** -- Netuid - Subnet identifier number -- Name - Subnet name with currency symbol (τ/α/β etc) -- Price (τ_in/α_in) - Exchange rate (TAO per alpha token) -- Market Cap (α \* Price) - Total value in TAO (alpha tokens × price) -- Emission (τ) - TAO rewards emitted per block to subnet -- P (τ_in, α_in) - Pool reserves (Tao reserves, alpha reserves) in liquidity pool -- Stake (α_out) - Total staked alpha tokens across all hotkeys (alpha outstanding) -- Supply (α) - Circulating alpha token supply -- Tempo (k/n) - Block interval for subnet updates +- **Netuid** - Subnet identifier number +- **Name** - Subnet name with currency symbol (τ/α/β etc) +- **Price** (τ_in/α_in) - Exchange rate (TAO per alpha token) +- **Market Cap** (α \* Price) - Total value in TAO (alpha tokens × price) +- **Emission** (τ) - TAO rewards emitted per block to subnet +- **P** (τ_in, α_in) - Pool reserves (Tao reserves, alpha reserves) in liquidity pool +- **Stake** (α_out) - Total staked alpha tokens across all hotkeys (alpha outstanding) +- **Supply** (α) - Circulating alpha token supply +- **Tempo** (k/n) - Block interval for subnet updates **Example:** From f4f56fcd47ac83db226a3b8d0f8f03e89be7fff5 Mon Sep 17 00:00:00 2001 From: Dera Okeke <63825182+chideraao@users.noreply.github.com> Date: Fri, 11 Jul 2025 19:23:19 +0100 Subject: [PATCH 153/303] replace algolia config (#33) --- docusaurus.config.js | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 8bedf4e225..460ea3b0d9 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -10,9 +10,8 @@ const darkTheme = themes.dracula; // KaTex stuff // const math = require("remark-math"); // const katex = require("rehype-katex"); -import remarkMath from 'remark-math'; -import rehypeKatex from 'rehype-katex'; - +import remarkMath from "remark-math"; +import rehypeKatex from "rehype-katex"; /** @type {import('@docusaurus/types').Config} */ const config = { @@ -91,11 +90,11 @@ const config = { }, { from: "/subnets/register-validate-mine", - to: "validators/index" + to: "validators/index", }, { from: "/recycled-tao", - to: "/glossary" + to: "/glossary", }, { to: "/subnets/walkthrough-prompting", @@ -117,7 +116,7 @@ const config = { to: "/subnets/schedule-coldkey-swap", from: "/subnets/schedule-key-swap", }, - { + { to: "/bt-api-ref", from: "/reference/bittensor-api-ref", }, @@ -141,7 +140,6 @@ const config = { ], // clientModules: ["/static/feedbug-widjet.js"], - stylesheets: [ { href: "https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css", @@ -151,7 +149,7 @@ const config = { crossorigin: "anonymous", }, { - href: "https://unpkg.com/@antonz/codapi@0.19.10/dist/snippet.css", + href: "https://unpkg.com/@antonz/codapi@0.19.10/dist/snippet.css", }, ], themeConfig: @@ -165,6 +163,7 @@ const config = { hideable: false, }, }, + // announcementBar: { // id: 'support_us', // content: @@ -206,7 +205,7 @@ const config = { label: "BTCLI Live Coding Playground", to: "btcli/btcli-playground", }, - + { position: "left", label: "EVM on Bittensor", @@ -236,12 +235,18 @@ const config = { additionalLanguages: ["bash", "python", "diff", "json", "yaml"], }, algolia: { - appId: "B07G29NY9F", - apiKey: "d23c920e8a9bdae899572be3c8494696", - indexName: "new--alpha", + appId: "UXNFOAH677", + apiKey: "72af66272aba6bd27e76ac6f7eec0068", + indexName: "learnbittensor", contextualSearch: true, insights: true, debug: false, + searchPagePath: "search", + // // Optional: Replace parts of the item URLs from Algolia. Useful when using the same search index for multiple deployments using a different baseUrl. You can use regexp or string in the `from` param. For example: localhost:3000 vs myCompany.com/docs + // replaceSearchResultPathname: { + // from: "/docs/", // or as RegExp: /\/docs\// + // to: "/", + // }, }, footer: { copyright: ` From bcce0714ccdfd3e551d0a400852f57f6978cddac Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 15 Jul 2025 05:30:21 -0700 Subject: [PATCH 154/303] upgrade sdk docs (#34) --- static/python-api/html/.buildinfo | 2 +- .../async_substrate_interface/errors.html | 1 + .../async_substrate_interface/utils.html | 1 + .../bittensor/core/async_subtensor.html | 1 + .../html/_modules/bittensor/core/axon.html | 1 + .../bittensor/core/chain_data/axon_info.html | 1 + .../core/chain_data/chain_identity.html | 1 + .../core/chain_data/delegate_info.html | 1 + .../core/chain_data/delegate_info_lite.html | 1 + .../core/chain_data/dynamic_info.html | 1 + .../bittensor/core/chain_data/info_base.html | 1 + .../bittensor/core/chain_data/ip_info.html | 1 + .../core/chain_data/metagraph_info.html | 1 + .../core/chain_data/neuron_info.html | 1 + .../core/chain_data/neuron_info_lite.html | 1 + .../core/chain_data/prometheus_info.html | 1 + .../core/chain_data/proposal_vote_data.html | 1 + .../scheduled_coldkey_swap_info.html | 1 + .../bittensor/core/chain_data/stake_info.html | 1 + .../chain_data/subnet_hyperparameters.html | 1 + .../core/chain_data/subnet_identity.html | 1 + .../core/chain_data/subnet_info.html | 1 + .../core/chain_data/subnet_state.html | 1 + .../bittensor/core/chain_data/utils.html | 1 + .../core/chain_data/weight_commit_info.html | 1 + .../html/_modules/bittensor/core/config.html | 1 + .../_modules/bittensor/core/dendrite.html | 1 + .../html/_modules/bittensor/core/errors.html | 1 + .../extrinsics/asyncex/commit_reveal.html | 1 + .../core/extrinsics/asyncex/move_stake.html | 1 + .../core/extrinsics/asyncex/registration.html | 1 + .../core/extrinsics/asyncex/root.html | 1 + .../core/extrinsics/asyncex/serving.html | 1 + .../core/extrinsics/asyncex/staking.html | 1 + .../core/extrinsics/asyncex/transfer.html | 1 + .../core/extrinsics/asyncex/unstaking.html | 1 + .../core/extrinsics/asyncex/weights.html | 1 + .../core/extrinsics/commit_reveal.html | 1 + .../core/extrinsics/commit_weights.html | 1 + .../bittensor/core/extrinsics/move_stake.html | 1 + .../core/extrinsics/registration.html | 1 + .../bittensor/core/extrinsics/root.html | 1 + .../bittensor/core/extrinsics/serving.html | 1 + .../core/extrinsics/set_weights.html | 1 + .../bittensor/core/extrinsics/staking.html | 1 + .../bittensor/core/extrinsics/transfer.html | 1 + .../bittensor/core/extrinsics/unstaking.html | 1 + .../bittensor/core/extrinsics/utils.html | 1 + .../_modules/bittensor/core/metagraph.html | 1 + .../html/_modules/bittensor/core/stream.html | 1 + .../_modules/bittensor/core/subtensor.html | 1 + .../html/_modules/bittensor/core/synapse.html | 1 + .../html/_modules/bittensor/core/tensor.html | 1 + .../_modules/bittensor/core/threadpool.html | 1 + .../html/_modules/bittensor/core/types.html | 1 + .../html/_modules/bittensor/utils.html | 1 + .../_modules/bittensor/utils/axon_utils.html | 1 + .../_modules/bittensor/utils/balance.html | 1 + .../bittensor/utils/btlogging/console.html | 1 + .../bittensor/utils/btlogging/format.html | 1 + .../bittensor/utils/btlogging/helpers.html | 1 + .../utils/btlogging/loggingmachine.html | 1 + .../bittensor/utils/easy_imports.html | 1 + .../_modules/bittensor/utils/formatting.html | 1 + .../bittensor/utils/mock/subtensor_mock.html | 1 + .../_modules/bittensor/utils/networking.html | 1 + .../utils/registration/async_pow.html | 1 + .../bittensor/utils/registration/pow.html | 1 + .../utils/registration/register_cuda.html | 1 + .../_modules/bittensor/utils/subnets.html | 1 + .../utils/substrate_utils/hasher.html | 1 + .../utils/substrate_utils/storage.html | 1 + .../_modules/bittensor/utils/version.html | 1 + .../bittensor/utils/weight_utils.html | 1 + static/python-api/html/_modules/index.html | 1 + .../html/_modules/rich/console.html | 1 + .../html/_modules/scalecodec/utils/ss58.html | 1 + .../bittensor/core/async_subtensor/index.html | 2265 +++++++++++------ .../autoapi/bittensor/core/axon/index.html | 1 + .../core/chain_data/axon_info/index.html | 1 + .../core/chain_data/chain_identity/index.html | 1 + .../core/chain_data/delegate_info/index.html | 1 + .../chain_data/delegate_info_lite/index.html | 1 + .../core/chain_data/dynamic_info/index.html | 3 +- .../bittensor/core/chain_data/index.html | 1 + .../core/chain_data/info_base/index.html | 1 + .../core/chain_data/ip_info/index.html | 1 + .../core/chain_data/metagraph_info/index.html | 18 + .../core/chain_data/neuron_info/index.html | 1 + .../chain_data/neuron_info_lite/index.html | 1 + .../chain_data/prometheus_info/index.html | 1 + .../chain_data/proposal_vote_data/index.html | 1 + .../scheduled_coldkey_swap_info/index.html | 1 + .../core/chain_data/stake_info/index.html | 1 + .../subnet_hyperparameters/index.html | 49 + .../chain_data/subnet_identity/index.html | 8 + .../core/chain_data/subnet_info/index.html | 1 + .../core/chain_data/subnet_state/index.html | 1 + .../core/chain_data/utils/index.html | 35 +- .../chain_data/weight_commit_info/index.html | 1 + .../autoapi/bittensor/core/config/index.html | 1 + .../bittensor/core/dendrite/index.html | 1 + .../autoapi/bittensor/core/errors/index.html | 1 + .../extrinsics/asyncex/children/index.html | 614 +++++ .../asyncex/commit_reveal/index.html | 13 +- .../core/extrinsics/asyncex/index.html | 9 +- .../extrinsics/asyncex/liquidity/index.html | 697 +++++ .../extrinsics/asyncex/move_stake/index.html | 7 +- .../asyncex/registration/index.html | 4 +- .../core/extrinsics/asyncex/root/index.html | 1 + .../extrinsics/asyncex/serving/index.html | 40 +- .../extrinsics/asyncex/staking/index.html | 27 +- .../extrinsics/asyncex/start_call/index.html | 1 + .../core/extrinsics/asyncex/take/index.html | 1 + .../extrinsics/asyncex/transfer/index.html | 1 + .../extrinsics/asyncex/unstaking/index.html | 100 +- .../extrinsics/asyncex/weights/index.html | 7 +- .../core/extrinsics/children/index.html | 614 +++++ .../core/extrinsics/commit_reveal/index.html | 7 +- .../core/extrinsics/commit_weights/index.html | 7 +- .../bittensor/core/extrinsics/index.html | 3 + .../core/extrinsics/liquidity/index.html | 697 +++++ .../core/extrinsics/move_stake/index.html | 7 +- .../core/extrinsics/registration/index.html | 4 +- .../bittensor/core/extrinsics/root/index.html | 1 + .../core/extrinsics/serving/index.html | 39 +- .../core/extrinsics/set_weights/index.html | 1 + .../core/extrinsics/staking/index.html | 27 +- .../core/extrinsics/start_call/index.html | 1 + .../bittensor/core/extrinsics/take/index.html | 1 + .../core/extrinsics/transfer/index.html | 1 + .../core/extrinsics/unstaking/index.html | 104 +- .../core/extrinsics/utils/index.html | 1 + .../html/autoapi/bittensor/core/index.html | 1 + .../bittensor/core/metagraph/index.html | 1 + .../bittensor/core/settings/index.html | 1 + .../autoapi/bittensor/core/stream/index.html | 1 + .../bittensor/core/subtensor/index.html | 764 ++++-- .../core/subtensor_api/chain/index.html | 1 + .../core/subtensor_api/commitments/index.html | 8 + .../core/subtensor_api/delegates/index.html | 1 + .../core/subtensor_api/extrinsics/index.html | 43 + .../bittensor/core/subtensor_api/index.html | 7 +- .../core/subtensor_api/metagraphs/index.html | 1 + .../core/subtensor_api/neurons/index.html | 1 + .../core/subtensor_api/queries/index.html | 1 + .../core/subtensor_api/staking/index.html | 15 + .../core/subtensor_api/subnets/index.html | 36 + .../core/subtensor_api/utils/index.html | 1 + .../core/subtensor_api/wallets/index.html | 1 + .../autoapi/bittensor/core/synapse/index.html | 1 + .../autoapi/bittensor/core/tensor/index.html | 9 +- .../bittensor/core/threadpool/index.html | 1 + .../bittensor/core/timelock/index.html | 1 + .../autoapi/bittensor/core/types/index.html | 1 + .../html/autoapi/bittensor/index.html | 1 + .../bittensor/utils/axon_utils/index.html | 1 + .../bittensor/utils/balance/index.html | 1 + .../utils/btlogging/console/index.html | 1 + .../utils/btlogging/defines/index.html | 1 + .../utils/btlogging/format/index.html | 1 + .../utils/btlogging/helpers/index.html | 1 + .../bittensor/utils/btlogging/index.html | 1 + .../utils/btlogging/loggingmachine/index.html | 1 + .../bittensor/utils/easy_imports/index.html | 1 + .../bittensor/utils/formatting/index.html | 7 +- .../html/autoapi/bittensor/utils/index.html | 34 +- .../bittensor/utils/liquidity/index.html | 789 ++++++ .../autoapi/bittensor/utils/mock/index.html | 7 +- .../utils/mock/subtensor_mock/index.html | 11 +- .../bittensor/utils/networking/index.html | 1 + .../utils/registration/async_pow/index.html | 1 + .../bittensor/utils/registration/index.html | 1 + .../utils/registration/pow/index.html | 1 + .../registration/register_cuda/index.html | 1 + .../bittensor/utils/subnets/index.html | 1 + .../utils/substrate_utils/hasher/index.html | 1 + .../utils/substrate_utils/index.html | 1 + .../utils/substrate_utils/storage/index.html | 1 + .../bittensor/utils/version/index.html | 1 + .../bittensor/utils/weight_utils/index.html | 1 + static/python-api/html/autoapi/index.html | 6 + static/python-api/html/genindex.html | 305 ++- static/python-api/html/index.html | 1 + static/python-api/html/objects.inv | Bin 15269 -> 16069 bytes static/python-api/html/py-modindex.html | 26 + static/python-api/html/search.html | 1 + static/python-api/html/searchindex.js | 2 +- 188 files changed, 6531 insertions(+), 1089 deletions(-) create mode 100644 static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/children/index.html create mode 100644 static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/liquidity/index.html create mode 100644 static/python-api/html/autoapi/bittensor/core/extrinsics/children/index.html create mode 100644 static/python-api/html/autoapi/bittensor/core/extrinsics/liquidity/index.html create mode 100644 static/python-api/html/autoapi/bittensor/utils/liquidity/index.html diff --git a/static/python-api/html/.buildinfo b/static/python-api/html/.buildinfo index d68be7cc29..d5092d9eb7 100644 --- a/static/python-api/html/.buildinfo +++ b/static/python-api/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 5db28c7b8cd6c3b493481038c43232af +config: f8efb75e4d4adbeb19aa65b394a542c8 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/static/python-api/html/_modules/async_substrate_interface/errors.html b/static/python-api/html/_modules/async_substrate_interface/errors.html index 735378d97d..39fe1e2563 100644 --- a/static/python-api/html/_modules/async_substrate_interface/errors.html +++ b/static/python-api/html/_modules/async_substrate_interface/errors.html @@ -174,6 +174,7 @@
    2. bittensor.utils.btlogging
    3. bittensor.utils.easy_imports
    4. bittensor.utils.formatting
    5. +
    6. bittensor.utils.liquidity
    7. bittensor.utils.mock
    8. bittensor.utils.networking
    9. bittensor.utils.registration
    10. diff --git a/static/python-api/html/_modules/async_substrate_interface/utils.html b/static/python-api/html/_modules/async_substrate_interface/utils.html index db3ad925d4..35f0a131bd 100644 --- a/static/python-api/html/_modules/async_substrate_interface/utils.html +++ b/static/python-api/html/_modules/async_substrate_interface/utils.html @@ -174,6 +174,7 @@
    11. bittensor.utils.btlogging
    12. bittensor.utils.easy_imports
    13. bittensor.utils.formatting
    14. +
    15. bittensor.utils.liquidity
    16. bittensor.utils.mock
    17. bittensor.utils.networking
    18. bittensor.utils.registration
    19. diff --git a/static/python-api/html/_modules/bittensor/core/async_subtensor.html b/static/python-api/html/_modules/bittensor/core/async_subtensor.html index ec94203225..e93c072851 100644 --- a/static/python-api/html/_modules/bittensor/core/async_subtensor.html +++ b/static/python-api/html/_modules/bittensor/core/async_subtensor.html @@ -174,6 +174,7 @@
    20. bittensor.utils.btlogging
    21. bittensor.utils.easy_imports
    22. bittensor.utils.formatting
    23. +
    24. bittensor.utils.liquidity
    25. bittensor.utils.mock
    26. bittensor.utils.networking
    27. bittensor.utils.registration
    28. diff --git a/static/python-api/html/_modules/bittensor/core/axon.html b/static/python-api/html/_modules/bittensor/core/axon.html index fb030b3ec8..fc49ef13ef 100644 --- a/static/python-api/html/_modules/bittensor/core/axon.html +++ b/static/python-api/html/_modules/bittensor/core/axon.html @@ -174,6 +174,7 @@
    29. bittensor.utils.btlogging
    30. bittensor.utils.easy_imports
    31. bittensor.utils.formatting
    32. +
    33. bittensor.utils.liquidity
    34. bittensor.utils.mock
    35. bittensor.utils.networking
    36. bittensor.utils.registration
    37. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/axon_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/axon_info.html index 4ec25310ea..4272d045ab 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/axon_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/axon_info.html @@ -174,6 +174,7 @@
    38. bittensor.utils.btlogging
    39. bittensor.utils.easy_imports
    40. bittensor.utils.formatting
    41. +
    42. bittensor.utils.liquidity
    43. bittensor.utils.mock
    44. bittensor.utils.networking
    45. bittensor.utils.registration
    46. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/chain_identity.html b/static/python-api/html/_modules/bittensor/core/chain_data/chain_identity.html index c38c38c297..dfc6203ea3 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/chain_identity.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/chain_identity.html @@ -174,6 +174,7 @@
    47. bittensor.utils.btlogging
    48. bittensor.utils.easy_imports
    49. bittensor.utils.formatting
    50. +
    51. bittensor.utils.liquidity
    52. bittensor.utils.mock
    53. bittensor.utils.networking
    54. bittensor.utils.registration
    55. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info.html index dae86b3a39..4f590a1f62 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info.html @@ -174,6 +174,7 @@
    56. bittensor.utils.btlogging
    57. bittensor.utils.easy_imports
    58. bittensor.utils.formatting
    59. +
    60. bittensor.utils.liquidity
    61. bittensor.utils.mock
    62. bittensor.utils.networking
    63. bittensor.utils.registration
    64. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info_lite.html b/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info_lite.html index b8932b62c8..8b5b44bb95 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info_lite.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info_lite.html @@ -174,6 +174,7 @@
    65. bittensor.utils.btlogging
    66. bittensor.utils.easy_imports
    67. bittensor.utils.formatting
    68. +
    69. bittensor.utils.liquidity
    70. bittensor.utils.mock
    71. bittensor.utils.networking
    72. bittensor.utils.registration
    73. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/dynamic_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/dynamic_info.html index 3e1848d5be..8121ce14dc 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/dynamic_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/dynamic_info.html @@ -174,6 +174,7 @@
    74. bittensor.utils.btlogging
    75. bittensor.utils.easy_imports
    76. bittensor.utils.formatting
    77. +
    78. bittensor.utils.liquidity
    79. bittensor.utils.mock
    80. bittensor.utils.networking
    81. bittensor.utils.registration
    82. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/info_base.html b/static/python-api/html/_modules/bittensor/core/chain_data/info_base.html index 90604d376b..4083be0d32 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/info_base.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/info_base.html @@ -174,6 +174,7 @@
    83. bittensor.utils.btlogging
    84. bittensor.utils.easy_imports
    85. bittensor.utils.formatting
    86. +
    87. bittensor.utils.liquidity
    88. bittensor.utils.mock
    89. bittensor.utils.networking
    90. bittensor.utils.registration
    91. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/ip_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/ip_info.html index 8cdefcfc40..43e30c8cec 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/ip_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/ip_info.html @@ -174,6 +174,7 @@
    92. bittensor.utils.btlogging
    93. bittensor.utils.easy_imports
    94. bittensor.utils.formatting
    95. +
    96. bittensor.utils.liquidity
    97. bittensor.utils.mock
    98. bittensor.utils.networking
    99. bittensor.utils.registration
    100. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/metagraph_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/metagraph_info.html index 7c85ed8b13..05e95c0d72 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/metagraph_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/metagraph_info.html @@ -174,6 +174,7 @@
    101. bittensor.utils.btlogging
    102. bittensor.utils.easy_imports
    103. bittensor.utils.formatting
    104. +
    105. bittensor.utils.liquidity
    106. bittensor.utils.mock
    107. bittensor.utils.networking
    108. bittensor.utils.registration
    109. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info.html index 70da10b637..b8f106aa04 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info.html @@ -174,6 +174,7 @@
    110. bittensor.utils.btlogging
    111. bittensor.utils.easy_imports
    112. bittensor.utils.formatting
    113. +
    114. bittensor.utils.liquidity
    115. bittensor.utils.mock
    116. bittensor.utils.networking
    117. bittensor.utils.registration
    118. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info_lite.html b/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info_lite.html index f1915aa255..a98ae72d0b 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info_lite.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info_lite.html @@ -174,6 +174,7 @@
    119. bittensor.utils.btlogging
    120. bittensor.utils.easy_imports
    121. bittensor.utils.formatting
    122. +
    123. bittensor.utils.liquidity
    124. bittensor.utils.mock
    125. bittensor.utils.networking
    126. bittensor.utils.registration
    127. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/prometheus_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/prometheus_info.html index efa3d9a30f..c053f4889c 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/prometheus_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/prometheus_info.html @@ -174,6 +174,7 @@
    128. bittensor.utils.btlogging
    129. bittensor.utils.easy_imports
    130. bittensor.utils.formatting
    131. +
    132. bittensor.utils.liquidity
    133. bittensor.utils.mock
    134. bittensor.utils.networking
    135. bittensor.utils.registration
    136. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/proposal_vote_data.html b/static/python-api/html/_modules/bittensor/core/chain_data/proposal_vote_data.html index 2e5cb11742..e16f40a0cf 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/proposal_vote_data.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/proposal_vote_data.html @@ -174,6 +174,7 @@
    137. bittensor.utils.btlogging
    138. bittensor.utils.easy_imports
    139. bittensor.utils.formatting
    140. +
    141. bittensor.utils.liquidity
    142. bittensor.utils.mock
    143. bittensor.utils.networking
    144. bittensor.utils.registration
    145. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/scheduled_coldkey_swap_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/scheduled_coldkey_swap_info.html index 4f9326c8b0..23d7bc901d 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/scheduled_coldkey_swap_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/scheduled_coldkey_swap_info.html @@ -174,6 +174,7 @@
    146. bittensor.utils.btlogging
    147. bittensor.utils.easy_imports
    148. bittensor.utils.formatting
    149. +
    150. bittensor.utils.liquidity
    151. bittensor.utils.mock
    152. bittensor.utils.networking
    153. bittensor.utils.registration
    154. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/stake_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/stake_info.html index 8c56171bac..432cbddeca 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/stake_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/stake_info.html @@ -174,6 +174,7 @@
    155. bittensor.utils.btlogging
    156. bittensor.utils.easy_imports
    157. bittensor.utils.formatting
    158. +
    159. bittensor.utils.liquidity
    160. bittensor.utils.mock
    161. bittensor.utils.networking
    162. bittensor.utils.registration
    163. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_hyperparameters.html b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_hyperparameters.html index a118e1f5aa..c660cf59f1 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_hyperparameters.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_hyperparameters.html @@ -174,6 +174,7 @@
    164. bittensor.utils.btlogging
    165. bittensor.utils.easy_imports
    166. bittensor.utils.formatting
    167. +
    168. bittensor.utils.liquidity
    169. bittensor.utils.mock
    170. bittensor.utils.networking
    171. bittensor.utils.registration
    172. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html index 345b6370c3..0596c56d61 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html @@ -174,6 +174,7 @@
    173. bittensor.utils.btlogging
    174. bittensor.utils.easy_imports
    175. bittensor.utils.formatting
    176. +
    177. bittensor.utils.liquidity
    178. bittensor.utils.mock
    179. bittensor.utils.networking
    180. bittensor.utils.registration
    181. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_info.html index bec2415972..b2cb62896b 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_info.html @@ -174,6 +174,7 @@
    182. bittensor.utils.btlogging
    183. bittensor.utils.easy_imports
    184. bittensor.utils.formatting
    185. +
    186. bittensor.utils.liquidity
    187. bittensor.utils.mock
    188. bittensor.utils.networking
    189. bittensor.utils.registration
    190. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_state.html b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_state.html index ed4b533243..35cc500a66 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_state.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_state.html @@ -174,6 +174,7 @@
    191. bittensor.utils.btlogging
    192. bittensor.utils.easy_imports
    193. bittensor.utils.formatting
    194. +
    195. bittensor.utils.liquidity
    196. bittensor.utils.mock
    197. bittensor.utils.networking
    198. bittensor.utils.registration
    199. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/utils.html b/static/python-api/html/_modules/bittensor/core/chain_data/utils.html index 5642ae8a0b..a437eae61e 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/utils.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/utils.html @@ -174,6 +174,7 @@
    200. bittensor.utils.btlogging
    201. bittensor.utils.easy_imports
    202. bittensor.utils.formatting
    203. +
    204. bittensor.utils.liquidity
    205. bittensor.utils.mock
    206. bittensor.utils.networking
    207. bittensor.utils.registration
    208. diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/weight_commit_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/weight_commit_info.html index 985cf9f507..3be2ed6ebd 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/weight_commit_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/weight_commit_info.html @@ -174,6 +174,7 @@
    209. bittensor.utils.btlogging
    210. bittensor.utils.easy_imports
    211. bittensor.utils.formatting
    212. +
    213. bittensor.utils.liquidity
    214. bittensor.utils.mock
    215. bittensor.utils.networking
    216. bittensor.utils.registration
    217. diff --git a/static/python-api/html/_modules/bittensor/core/config.html b/static/python-api/html/_modules/bittensor/core/config.html index 13690507f0..f0b863d210 100644 --- a/static/python-api/html/_modules/bittensor/core/config.html +++ b/static/python-api/html/_modules/bittensor/core/config.html @@ -174,6 +174,7 @@
    218. bittensor.utils.btlogging
    219. bittensor.utils.easy_imports
    220. bittensor.utils.formatting
    221. +
    222. bittensor.utils.liquidity
    223. bittensor.utils.mock
    224. bittensor.utils.networking
    225. bittensor.utils.registration
    226. diff --git a/static/python-api/html/_modules/bittensor/core/dendrite.html b/static/python-api/html/_modules/bittensor/core/dendrite.html index 08d045f3f4..6e3e8c3f3b 100644 --- a/static/python-api/html/_modules/bittensor/core/dendrite.html +++ b/static/python-api/html/_modules/bittensor/core/dendrite.html @@ -174,6 +174,7 @@
    227. bittensor.utils.btlogging
    228. bittensor.utils.easy_imports
    229. bittensor.utils.formatting
    230. +
    231. bittensor.utils.liquidity
    232. bittensor.utils.mock
    233. bittensor.utils.networking
    234. bittensor.utils.registration
    235. diff --git a/static/python-api/html/_modules/bittensor/core/errors.html b/static/python-api/html/_modules/bittensor/core/errors.html index c8e4a9ab43..c3aa88e56d 100644 --- a/static/python-api/html/_modules/bittensor/core/errors.html +++ b/static/python-api/html/_modules/bittensor/core/errors.html @@ -174,6 +174,7 @@
    236. bittensor.utils.btlogging
    237. bittensor.utils.easy_imports
    238. bittensor.utils.formatting
    239. +
    240. bittensor.utils.liquidity
    241. bittensor.utils.mock
    242. bittensor.utils.networking
    243. bittensor.utils.registration
    244. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/commit_reveal.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/commit_reveal.html index c77f652ac8..9952c0ee33 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/commit_reveal.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/commit_reveal.html @@ -174,6 +174,7 @@
    245. bittensor.utils.btlogging
    246. bittensor.utils.easy_imports
    247. bittensor.utils.formatting
    248. +
    249. bittensor.utils.liquidity
    250. bittensor.utils.mock
    251. bittensor.utils.networking
    252. bittensor.utils.registration
    253. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/move_stake.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/move_stake.html index 171b5353e1..93aa4f7050 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/move_stake.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/move_stake.html @@ -174,6 +174,7 @@
    254. bittensor.utils.btlogging
    255. bittensor.utils.easy_imports
    256. bittensor.utils.formatting
    257. +
    258. bittensor.utils.liquidity
    259. bittensor.utils.mock
    260. bittensor.utils.networking
    261. bittensor.utils.registration
    262. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/registration.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/registration.html index 2de198ec38..92a951487f 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/registration.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/registration.html @@ -174,6 +174,7 @@
    263. bittensor.utils.btlogging
    264. bittensor.utils.easy_imports
    265. bittensor.utils.formatting
    266. +
    267. bittensor.utils.liquidity
    268. bittensor.utils.mock
    269. bittensor.utils.networking
    270. bittensor.utils.registration
    271. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/root.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/root.html index 63087eca55..452b5bdf86 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/root.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/root.html @@ -174,6 +174,7 @@
    272. bittensor.utils.btlogging
    273. bittensor.utils.easy_imports
    274. bittensor.utils.formatting
    275. +
    276. bittensor.utils.liquidity
    277. bittensor.utils.mock
    278. bittensor.utils.networking
    279. bittensor.utils.registration
    280. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/serving.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/serving.html index 81e33eee7b..55db1c18a1 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/serving.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/serving.html @@ -174,6 +174,7 @@
    281. bittensor.utils.btlogging
    282. bittensor.utils.easy_imports
    283. bittensor.utils.formatting
    284. +
    285. bittensor.utils.liquidity
    286. bittensor.utils.mock
    287. bittensor.utils.networking
    288. bittensor.utils.registration
    289. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/staking.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/staking.html index 44717818ee..53442a171c 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/staking.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/staking.html @@ -174,6 +174,7 @@
    290. bittensor.utils.btlogging
    291. bittensor.utils.easy_imports
    292. bittensor.utils.formatting
    293. +
    294. bittensor.utils.liquidity
    295. bittensor.utils.mock
    296. bittensor.utils.networking
    297. bittensor.utils.registration
    298. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/transfer.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/transfer.html index 6a4796ccea..6ae430fe2f 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/transfer.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/transfer.html @@ -174,6 +174,7 @@
    299. bittensor.utils.btlogging
    300. bittensor.utils.easy_imports
    301. bittensor.utils.formatting
    302. +
    303. bittensor.utils.liquidity
    304. bittensor.utils.mock
    305. bittensor.utils.networking
    306. bittensor.utils.registration
    307. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/unstaking.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/unstaking.html index 7b9811675c..8418604491 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/unstaking.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/unstaking.html @@ -174,6 +174,7 @@
    308. bittensor.utils.btlogging
    309. bittensor.utils.easy_imports
    310. bittensor.utils.formatting
    311. +
    312. bittensor.utils.liquidity
    313. bittensor.utils.mock
    314. bittensor.utils.networking
    315. bittensor.utils.registration
    316. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/weights.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/weights.html index 2ab2f21a78..70e4f1df97 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/weights.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/weights.html @@ -174,6 +174,7 @@
    317. bittensor.utils.btlogging
    318. bittensor.utils.easy_imports
    319. bittensor.utils.formatting
    320. +
    321. bittensor.utils.liquidity
    322. bittensor.utils.mock
    323. bittensor.utils.networking
    324. bittensor.utils.registration
    325. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/commit_reveal.html b/static/python-api/html/_modules/bittensor/core/extrinsics/commit_reveal.html index 79a881fbb0..012c757007 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/commit_reveal.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/commit_reveal.html @@ -174,6 +174,7 @@
    326. bittensor.utils.btlogging
    327. bittensor.utils.easy_imports
    328. bittensor.utils.formatting
    329. +
    330. bittensor.utils.liquidity
    331. bittensor.utils.mock
    332. bittensor.utils.networking
    333. bittensor.utils.registration
    334. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/commit_weights.html b/static/python-api/html/_modules/bittensor/core/extrinsics/commit_weights.html index df7fc93900..99eddfd73a 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/commit_weights.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/commit_weights.html @@ -174,6 +174,7 @@
    335. bittensor.utils.btlogging
    336. bittensor.utils.easy_imports
    337. bittensor.utils.formatting
    338. +
    339. bittensor.utils.liquidity
    340. bittensor.utils.mock
    341. bittensor.utils.networking
    342. bittensor.utils.registration
    343. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/move_stake.html b/static/python-api/html/_modules/bittensor/core/extrinsics/move_stake.html index 8ab343a83a..7b8bfda495 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/move_stake.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/move_stake.html @@ -174,6 +174,7 @@
    344. bittensor.utils.btlogging
    345. bittensor.utils.easy_imports
    346. bittensor.utils.formatting
    347. +
    348. bittensor.utils.liquidity
    349. bittensor.utils.mock
    350. bittensor.utils.networking
    351. bittensor.utils.registration
    352. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/registration.html b/static/python-api/html/_modules/bittensor/core/extrinsics/registration.html index 3a8c69ee14..cc920cd4c6 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/registration.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/registration.html @@ -174,6 +174,7 @@
    353. bittensor.utils.btlogging
    354. bittensor.utils.easy_imports
    355. bittensor.utils.formatting
    356. +
    357. bittensor.utils.liquidity
    358. bittensor.utils.mock
    359. bittensor.utils.networking
    360. bittensor.utils.registration
    361. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/root.html b/static/python-api/html/_modules/bittensor/core/extrinsics/root.html index 975f6ddc3a..24ddab3000 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/root.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/root.html @@ -174,6 +174,7 @@
    362. bittensor.utils.btlogging
    363. bittensor.utils.easy_imports
    364. bittensor.utils.formatting
    365. +
    366. bittensor.utils.liquidity
    367. bittensor.utils.mock
    368. bittensor.utils.networking
    369. bittensor.utils.registration
    370. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/serving.html b/static/python-api/html/_modules/bittensor/core/extrinsics/serving.html index c1050a77aa..67e4250150 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/serving.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/serving.html @@ -174,6 +174,7 @@
    371. bittensor.utils.btlogging
    372. bittensor.utils.easy_imports
    373. bittensor.utils.formatting
    374. +
    375. bittensor.utils.liquidity
    376. bittensor.utils.mock
    377. bittensor.utils.networking
    378. bittensor.utils.registration
    379. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/set_weights.html b/static/python-api/html/_modules/bittensor/core/extrinsics/set_weights.html index 716cdbcb54..91b9fbff2e 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/set_weights.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/set_weights.html @@ -174,6 +174,7 @@
    380. bittensor.utils.btlogging
    381. bittensor.utils.easy_imports
    382. bittensor.utils.formatting
    383. +
    384. bittensor.utils.liquidity
    385. bittensor.utils.mock
    386. bittensor.utils.networking
    387. bittensor.utils.registration
    388. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/staking.html b/static/python-api/html/_modules/bittensor/core/extrinsics/staking.html index baa7e90ab3..9f7418ed2e 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/staking.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/staking.html @@ -174,6 +174,7 @@
    389. bittensor.utils.btlogging
    390. bittensor.utils.easy_imports
    391. bittensor.utils.formatting
    392. +
    393. bittensor.utils.liquidity
    394. bittensor.utils.mock
    395. bittensor.utils.networking
    396. bittensor.utils.registration
    397. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/transfer.html b/static/python-api/html/_modules/bittensor/core/extrinsics/transfer.html index 6525f2c427..41d1f9a262 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/transfer.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/transfer.html @@ -174,6 +174,7 @@
    398. bittensor.utils.btlogging
    399. bittensor.utils.easy_imports
    400. bittensor.utils.formatting
    401. +
    402. bittensor.utils.liquidity
    403. bittensor.utils.mock
    404. bittensor.utils.networking
    405. bittensor.utils.registration
    406. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/unstaking.html b/static/python-api/html/_modules/bittensor/core/extrinsics/unstaking.html index 43417c4dc8..517b05d63f 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/unstaking.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/unstaking.html @@ -174,6 +174,7 @@
    407. bittensor.utils.btlogging
    408. bittensor.utils.easy_imports
    409. bittensor.utils.formatting
    410. +
    411. bittensor.utils.liquidity
    412. bittensor.utils.mock
    413. bittensor.utils.networking
    414. bittensor.utils.registration
    415. diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/utils.html b/static/python-api/html/_modules/bittensor/core/extrinsics/utils.html index d3a2eaa722..52fd9a21f1 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/utils.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/utils.html @@ -174,6 +174,7 @@
    416. bittensor.utils.btlogging
    417. bittensor.utils.easy_imports
    418. bittensor.utils.formatting
    419. +
    420. bittensor.utils.liquidity
    421. bittensor.utils.mock
    422. bittensor.utils.networking
    423. bittensor.utils.registration
    424. diff --git a/static/python-api/html/_modules/bittensor/core/metagraph.html b/static/python-api/html/_modules/bittensor/core/metagraph.html index 8b43abd6c9..9a47aa83d9 100644 --- a/static/python-api/html/_modules/bittensor/core/metagraph.html +++ b/static/python-api/html/_modules/bittensor/core/metagraph.html @@ -174,6 +174,7 @@
    425. bittensor.utils.btlogging
    426. bittensor.utils.easy_imports
    427. bittensor.utils.formatting
    428. +
    429. bittensor.utils.liquidity
    430. bittensor.utils.mock
    431. bittensor.utils.networking
    432. bittensor.utils.registration
    433. diff --git a/static/python-api/html/_modules/bittensor/core/stream.html b/static/python-api/html/_modules/bittensor/core/stream.html index b1cab7a2f3..40701ae374 100644 --- a/static/python-api/html/_modules/bittensor/core/stream.html +++ b/static/python-api/html/_modules/bittensor/core/stream.html @@ -174,6 +174,7 @@
    434. bittensor.utils.btlogging
    435. bittensor.utils.easy_imports
    436. bittensor.utils.formatting
    437. +
    438. bittensor.utils.liquidity
    439. bittensor.utils.mock
    440. bittensor.utils.networking
    441. bittensor.utils.registration
    442. diff --git a/static/python-api/html/_modules/bittensor/core/subtensor.html b/static/python-api/html/_modules/bittensor/core/subtensor.html index 29add7f42f..83aaf50920 100644 --- a/static/python-api/html/_modules/bittensor/core/subtensor.html +++ b/static/python-api/html/_modules/bittensor/core/subtensor.html @@ -174,6 +174,7 @@
    443. bittensor.utils.btlogging
    444. bittensor.utils.easy_imports
    445. bittensor.utils.formatting
    446. +
    447. bittensor.utils.liquidity
    448. bittensor.utils.mock
    449. bittensor.utils.networking
    450. bittensor.utils.registration
    451. diff --git a/static/python-api/html/_modules/bittensor/core/synapse.html b/static/python-api/html/_modules/bittensor/core/synapse.html index 64a8f3c1cf..dc379b5e65 100644 --- a/static/python-api/html/_modules/bittensor/core/synapse.html +++ b/static/python-api/html/_modules/bittensor/core/synapse.html @@ -174,6 +174,7 @@
    452. bittensor.utils.btlogging
    453. bittensor.utils.easy_imports
    454. bittensor.utils.formatting
    455. +
    456. bittensor.utils.liquidity
    457. bittensor.utils.mock
    458. bittensor.utils.networking
    459. bittensor.utils.registration
    460. diff --git a/static/python-api/html/_modules/bittensor/core/tensor.html b/static/python-api/html/_modules/bittensor/core/tensor.html index 5765c15565..51fbc374c2 100644 --- a/static/python-api/html/_modules/bittensor/core/tensor.html +++ b/static/python-api/html/_modules/bittensor/core/tensor.html @@ -174,6 +174,7 @@
    461. bittensor.utils.btlogging
    462. bittensor.utils.easy_imports
    463. bittensor.utils.formatting
    464. +
    465. bittensor.utils.liquidity
    466. bittensor.utils.mock
    467. bittensor.utils.networking
    468. bittensor.utils.registration
    469. diff --git a/static/python-api/html/_modules/bittensor/core/threadpool.html b/static/python-api/html/_modules/bittensor/core/threadpool.html index 4306349ca0..de68056c97 100644 --- a/static/python-api/html/_modules/bittensor/core/threadpool.html +++ b/static/python-api/html/_modules/bittensor/core/threadpool.html @@ -174,6 +174,7 @@
    470. bittensor.utils.btlogging
    471. bittensor.utils.easy_imports
    472. bittensor.utils.formatting
    473. +
    474. bittensor.utils.liquidity
    475. bittensor.utils.mock
    476. bittensor.utils.networking
    477. bittensor.utils.registration
    478. diff --git a/static/python-api/html/_modules/bittensor/core/types.html b/static/python-api/html/_modules/bittensor/core/types.html index adda42570c..626ee07ae5 100644 --- a/static/python-api/html/_modules/bittensor/core/types.html +++ b/static/python-api/html/_modules/bittensor/core/types.html @@ -174,6 +174,7 @@
    479. bittensor.utils.btlogging
    480. bittensor.utils.easy_imports
    481. bittensor.utils.formatting
    482. +
    483. bittensor.utils.liquidity
    484. bittensor.utils.mock
    485. bittensor.utils.networking
    486. bittensor.utils.registration
    487. diff --git a/static/python-api/html/_modules/bittensor/utils.html b/static/python-api/html/_modules/bittensor/utils.html index 7879c9fe79..a1c6a2ef83 100644 --- a/static/python-api/html/_modules/bittensor/utils.html +++ b/static/python-api/html/_modules/bittensor/utils.html @@ -174,6 +174,7 @@
    488. bittensor.utils.btlogging
    489. bittensor.utils.easy_imports
    490. bittensor.utils.formatting
    491. +
    492. bittensor.utils.liquidity
    493. bittensor.utils.mock
    494. bittensor.utils.networking
    495. bittensor.utils.registration
    496. diff --git a/static/python-api/html/_modules/bittensor/utils/axon_utils.html b/static/python-api/html/_modules/bittensor/utils/axon_utils.html index 18b0df1386..f6c09ff725 100644 --- a/static/python-api/html/_modules/bittensor/utils/axon_utils.html +++ b/static/python-api/html/_modules/bittensor/utils/axon_utils.html @@ -174,6 +174,7 @@
    497. bittensor.utils.btlogging
    498. bittensor.utils.easy_imports
    499. bittensor.utils.formatting
    500. +
    501. bittensor.utils.liquidity
    502. bittensor.utils.mock
    503. bittensor.utils.networking
    504. bittensor.utils.registration
    505. diff --git a/static/python-api/html/_modules/bittensor/utils/balance.html b/static/python-api/html/_modules/bittensor/utils/balance.html index d687df67d5..113476d845 100644 --- a/static/python-api/html/_modules/bittensor/utils/balance.html +++ b/static/python-api/html/_modules/bittensor/utils/balance.html @@ -174,6 +174,7 @@
    506. bittensor.utils.btlogging
    507. bittensor.utils.easy_imports
    508. bittensor.utils.formatting
    509. +
    510. bittensor.utils.liquidity
    511. bittensor.utils.mock
    512. bittensor.utils.networking
    513. bittensor.utils.registration
    514. diff --git a/static/python-api/html/_modules/bittensor/utils/btlogging/console.html b/static/python-api/html/_modules/bittensor/utils/btlogging/console.html index 748ddfc528..a01ed46b23 100644 --- a/static/python-api/html/_modules/bittensor/utils/btlogging/console.html +++ b/static/python-api/html/_modules/bittensor/utils/btlogging/console.html @@ -174,6 +174,7 @@
    515. bittensor.utils.btlogging
    516. bittensor.utils.easy_imports
    517. bittensor.utils.formatting
    518. +
    519. bittensor.utils.liquidity
    520. bittensor.utils.mock
    521. bittensor.utils.networking
    522. bittensor.utils.registration
    523. diff --git a/static/python-api/html/_modules/bittensor/utils/btlogging/format.html b/static/python-api/html/_modules/bittensor/utils/btlogging/format.html index abe4ad5f8e..e573b1d20e 100644 --- a/static/python-api/html/_modules/bittensor/utils/btlogging/format.html +++ b/static/python-api/html/_modules/bittensor/utils/btlogging/format.html @@ -174,6 +174,7 @@
    524. bittensor.utils.btlogging
    525. bittensor.utils.easy_imports
    526. bittensor.utils.formatting
    527. +
    528. bittensor.utils.liquidity
    529. bittensor.utils.mock
    530. bittensor.utils.networking
    531. bittensor.utils.registration
    532. diff --git a/static/python-api/html/_modules/bittensor/utils/btlogging/helpers.html b/static/python-api/html/_modules/bittensor/utils/btlogging/helpers.html index bcb9667e45..605e864e64 100644 --- a/static/python-api/html/_modules/bittensor/utils/btlogging/helpers.html +++ b/static/python-api/html/_modules/bittensor/utils/btlogging/helpers.html @@ -174,6 +174,7 @@
    533. bittensor.utils.btlogging
    534. bittensor.utils.easy_imports
    535. bittensor.utils.formatting
    536. +
    537. bittensor.utils.liquidity
    538. bittensor.utils.mock
    539. bittensor.utils.networking
    540. bittensor.utils.registration
    541. diff --git a/static/python-api/html/_modules/bittensor/utils/btlogging/loggingmachine.html b/static/python-api/html/_modules/bittensor/utils/btlogging/loggingmachine.html index 52d51ca360..a986c739d5 100644 --- a/static/python-api/html/_modules/bittensor/utils/btlogging/loggingmachine.html +++ b/static/python-api/html/_modules/bittensor/utils/btlogging/loggingmachine.html @@ -174,6 +174,7 @@
    542. bittensor.utils.btlogging
    543. bittensor.utils.easy_imports
    544. bittensor.utils.formatting
    545. +
    546. bittensor.utils.liquidity
    547. bittensor.utils.mock
    548. bittensor.utils.networking
    549. bittensor.utils.registration
    550. diff --git a/static/python-api/html/_modules/bittensor/utils/easy_imports.html b/static/python-api/html/_modules/bittensor/utils/easy_imports.html index d336f1dad4..f8cdb81cba 100644 --- a/static/python-api/html/_modules/bittensor/utils/easy_imports.html +++ b/static/python-api/html/_modules/bittensor/utils/easy_imports.html @@ -174,6 +174,7 @@
    551. bittensor.utils.btlogging
    552. bittensor.utils.easy_imports
    553. bittensor.utils.formatting
    554. +
    555. bittensor.utils.liquidity
    556. bittensor.utils.mock
    557. bittensor.utils.networking
    558. bittensor.utils.registration
    559. diff --git a/static/python-api/html/_modules/bittensor/utils/formatting.html b/static/python-api/html/_modules/bittensor/utils/formatting.html index 13a6280c87..6fd7cda33f 100644 --- a/static/python-api/html/_modules/bittensor/utils/formatting.html +++ b/static/python-api/html/_modules/bittensor/utils/formatting.html @@ -174,6 +174,7 @@
    560. bittensor.utils.btlogging
    561. bittensor.utils.easy_imports
    562. bittensor.utils.formatting
    563. +
    564. bittensor.utils.liquidity
    565. bittensor.utils.mock
    566. bittensor.utils.networking
    567. bittensor.utils.registration
    568. diff --git a/static/python-api/html/_modules/bittensor/utils/mock/subtensor_mock.html b/static/python-api/html/_modules/bittensor/utils/mock/subtensor_mock.html index 3a35845d1d..81f0f6174d 100644 --- a/static/python-api/html/_modules/bittensor/utils/mock/subtensor_mock.html +++ b/static/python-api/html/_modules/bittensor/utils/mock/subtensor_mock.html @@ -174,6 +174,7 @@
    569. bittensor.utils.btlogging
    570. bittensor.utils.easy_imports
    571. bittensor.utils.formatting
    572. +
    573. bittensor.utils.liquidity
    574. bittensor.utils.mock
    575. bittensor.utils.networking
    576. bittensor.utils.registration
    577. diff --git a/static/python-api/html/_modules/bittensor/utils/networking.html b/static/python-api/html/_modules/bittensor/utils/networking.html index b3a2fcb6b8..486775c47d 100644 --- a/static/python-api/html/_modules/bittensor/utils/networking.html +++ b/static/python-api/html/_modules/bittensor/utils/networking.html @@ -174,6 +174,7 @@
    578. bittensor.utils.btlogging
    579. bittensor.utils.easy_imports
    580. bittensor.utils.formatting
    581. +
    582. bittensor.utils.liquidity
    583. bittensor.utils.mock
    584. bittensor.utils.networking
    585. bittensor.utils.registration
    586. diff --git a/static/python-api/html/_modules/bittensor/utils/registration/async_pow.html b/static/python-api/html/_modules/bittensor/utils/registration/async_pow.html index 47b078349a..d548cd377b 100644 --- a/static/python-api/html/_modules/bittensor/utils/registration/async_pow.html +++ b/static/python-api/html/_modules/bittensor/utils/registration/async_pow.html @@ -174,6 +174,7 @@
    587. bittensor.utils.btlogging
    588. bittensor.utils.easy_imports
    589. bittensor.utils.formatting
    590. +
    591. bittensor.utils.liquidity
    592. bittensor.utils.mock
    593. bittensor.utils.networking
    594. bittensor.utils.registration
    595. diff --git a/static/python-api/html/_modules/bittensor/utils/registration/pow.html b/static/python-api/html/_modules/bittensor/utils/registration/pow.html index c0c06e9d84..035eba1843 100644 --- a/static/python-api/html/_modules/bittensor/utils/registration/pow.html +++ b/static/python-api/html/_modules/bittensor/utils/registration/pow.html @@ -174,6 +174,7 @@
    596. bittensor.utils.btlogging
    597. bittensor.utils.easy_imports
    598. bittensor.utils.formatting
    599. +
    600. bittensor.utils.liquidity
    601. bittensor.utils.mock
    602. bittensor.utils.networking
    603. bittensor.utils.registration
    604. diff --git a/static/python-api/html/_modules/bittensor/utils/registration/register_cuda.html b/static/python-api/html/_modules/bittensor/utils/registration/register_cuda.html index 3403610975..275aa43f6e 100644 --- a/static/python-api/html/_modules/bittensor/utils/registration/register_cuda.html +++ b/static/python-api/html/_modules/bittensor/utils/registration/register_cuda.html @@ -174,6 +174,7 @@
    605. bittensor.utils.btlogging
    606. bittensor.utils.easy_imports
    607. bittensor.utils.formatting
    608. +
    609. bittensor.utils.liquidity
    610. bittensor.utils.mock
    611. bittensor.utils.networking
    612. bittensor.utils.registration
    613. diff --git a/static/python-api/html/_modules/bittensor/utils/subnets.html b/static/python-api/html/_modules/bittensor/utils/subnets.html index 6f155be11f..dc50d6d9dd 100644 --- a/static/python-api/html/_modules/bittensor/utils/subnets.html +++ b/static/python-api/html/_modules/bittensor/utils/subnets.html @@ -174,6 +174,7 @@
    614. bittensor.utils.btlogging
    615. bittensor.utils.easy_imports
    616. bittensor.utils.formatting
    617. +
    618. bittensor.utils.liquidity
    619. bittensor.utils.mock
    620. bittensor.utils.networking
    621. bittensor.utils.registration
    622. diff --git a/static/python-api/html/_modules/bittensor/utils/substrate_utils/hasher.html b/static/python-api/html/_modules/bittensor/utils/substrate_utils/hasher.html index d5c14c5599..135571dd8e 100644 --- a/static/python-api/html/_modules/bittensor/utils/substrate_utils/hasher.html +++ b/static/python-api/html/_modules/bittensor/utils/substrate_utils/hasher.html @@ -174,6 +174,7 @@
    623. bittensor.utils.btlogging
    624. bittensor.utils.easy_imports
    625. bittensor.utils.formatting
    626. +
    627. bittensor.utils.liquidity
    628. bittensor.utils.mock
    629. bittensor.utils.networking
    630. bittensor.utils.registration
    631. diff --git a/static/python-api/html/_modules/bittensor/utils/substrate_utils/storage.html b/static/python-api/html/_modules/bittensor/utils/substrate_utils/storage.html index 472097f8bc..2fe29c6d4b 100644 --- a/static/python-api/html/_modules/bittensor/utils/substrate_utils/storage.html +++ b/static/python-api/html/_modules/bittensor/utils/substrate_utils/storage.html @@ -174,6 +174,7 @@
    632. bittensor.utils.btlogging
    633. bittensor.utils.easy_imports
    634. bittensor.utils.formatting
    635. +
    636. bittensor.utils.liquidity
    637. bittensor.utils.mock
    638. bittensor.utils.networking
    639. bittensor.utils.registration
    640. diff --git a/static/python-api/html/_modules/bittensor/utils/version.html b/static/python-api/html/_modules/bittensor/utils/version.html index 7094680dd4..27d2cb3ff1 100644 --- a/static/python-api/html/_modules/bittensor/utils/version.html +++ b/static/python-api/html/_modules/bittensor/utils/version.html @@ -174,6 +174,7 @@
    641. bittensor.utils.btlogging
    642. bittensor.utils.easy_imports
    643. bittensor.utils.formatting
    644. +
    645. bittensor.utils.liquidity
    646. bittensor.utils.mock
    647. bittensor.utils.networking
    648. bittensor.utils.registration
    649. diff --git a/static/python-api/html/_modules/bittensor/utils/weight_utils.html b/static/python-api/html/_modules/bittensor/utils/weight_utils.html index f49527e09b..83f413fe9b 100644 --- a/static/python-api/html/_modules/bittensor/utils/weight_utils.html +++ b/static/python-api/html/_modules/bittensor/utils/weight_utils.html @@ -174,6 +174,7 @@
    650. bittensor.utils.btlogging
    651. bittensor.utils.easy_imports
    652. bittensor.utils.formatting
    653. +
    654. bittensor.utils.liquidity
    655. bittensor.utils.mock
    656. bittensor.utils.networking
    657. bittensor.utils.registration
    658. diff --git a/static/python-api/html/_modules/index.html b/static/python-api/html/_modules/index.html index 67d8bb7fa7..c06bb01a75 100644 --- a/static/python-api/html/_modules/index.html +++ b/static/python-api/html/_modules/index.html @@ -174,6 +174,7 @@
    659. bittensor.utils.btlogging
    660. bittensor.utils.easy_imports
    661. bittensor.utils.formatting
    662. +
    663. bittensor.utils.liquidity
    664. bittensor.utils.mock
    665. bittensor.utils.networking
    666. bittensor.utils.registration
    667. diff --git a/static/python-api/html/_modules/rich/console.html b/static/python-api/html/_modules/rich/console.html index 09f222b224..7dc4524db7 100644 --- a/static/python-api/html/_modules/rich/console.html +++ b/static/python-api/html/_modules/rich/console.html @@ -174,6 +174,7 @@
    668. bittensor.utils.btlogging
    669. bittensor.utils.easy_imports
    670. bittensor.utils.formatting
    671. +
    672. bittensor.utils.liquidity
    673. bittensor.utils.mock
    674. bittensor.utils.networking
    675. bittensor.utils.registration
    676. diff --git a/static/python-api/html/_modules/scalecodec/utils/ss58.html b/static/python-api/html/_modules/scalecodec/utils/ss58.html index d973b1c817..be5c8c006d 100644 --- a/static/python-api/html/_modules/scalecodec/utils/ss58.html +++ b/static/python-api/html/_modules/scalecodec/utils/ss58.html @@ -174,6 +174,7 @@
    677. bittensor.utils.btlogging
    678. bittensor.utils.easy_imports
    679. bittensor.utils.formatting
    680. +
    681. bittensor.utils.liquidity
    682. bittensor.utils.mock
    683. bittensor.utils.networking
    684. bittensor.utils.registration
    685. diff --git a/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html b/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html index b557092f24..73970a68a6 100644 --- a/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html +++ b/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html @@ -175,6 +175,7 @@
    686. bittensor.utils.btlogging
    687. bittensor.utils.easy_imports
    688. bittensor.utils.formatting
    689. +
    690. bittensor.utils.liquidity
    691. bittensor.utils.mock
    692. bittensor.utils.networking
    693. bittensor.utils.registration
    694. @@ -401,6 +402,7 @@

      Contents

    695. Functions
    696. Module Contents
      Returns:
      @@ -3160,16 +3802,15 @@

      Module ContentsDelegateTakeTooLow – Delegate take is too low.

    697. DelegateTxRateLimitExceeded – A transactor exceeded the rate limit for delegate transaction.

    698. HotKeyAccountNotExists – The hotkey does not exist.

    699. -
    700. NonAssociatedColdKey – Request to stake, unstake, or subscribe is made by a coldkey that is not associated with the hotkey account.

    701. +
    702. NonAssociatedColdKey – Request to stake, unstake, or subscribe is made by a coldkey that is not associated +with the hotkey account.

    703. bittensor_wallet.errors.PasswordError – Decryption failed or wrong password for decryption provided.

    704. bittensor_wallet.errors.KeyFileError – Failed to decode keyfile data.

    705. -
      -
      The delegate take is a critical parameter in the network’s incentive structure, influencing the distribution of

      rewards among neurons and their nominators.

      -
      -
      +

      The delegate take is a critical parameter in the network’s incentive structure, influencing the distribution of +rewards among neurons and their nominators.

      @@ -3179,19 +3820,19 @@

      Module Contents
      Parameters:
        -
      • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron committing the data.

      • +
      • wallet – The wallet associated with the neuron committing the data.

      • netuid (int) – The unique identifier of the subnetwork.

      • data (str) – The data to be committed to the network.

      • -
      • blocks_until_reveal (int) – The number of blocks from now after which the data will be revealed. Defaults to 360. -The number of blocks in one epoch.

      • -
      • block_time (Union[int, float]) – The number of seconds between each block. Defaults to 12.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

      • +
      • blocks_until_reveal (int) – The number of blocks from now after which the data will be revealed. +Defaults to 360 (the number of blocks in one epoch).

      • +
      • block_time (Union[int, float]) – The number of seconds between each block. Defaults to 12.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +submitted. If the transaction is not included in a block within that number of blocks, it will expire +and be rejected. You can think of it as an expiration date for the transaction.

      Returns:
      -

      True if the commitment was successful, False otherwise.

      +

      True if the commitment was successful, False otherwise.

      Return type:

      bool

      @@ -3207,15 +3848,17 @@

      Module Contents
      Parameters:
        -
      • wallet (Wallet) – The wallet instance that will authorize the transaction.

      • +
      • wallet (bittensor_wallet.Wallet) – The wallet instance that will authorize the transaction.

      • netuid (int) – The unique ID of the network on which the operation takes place.

      • -
      • subnet_identity (SubnetIdentity) – The identity data of the subnet including attributes like name, GitHub +

      • subnet_identity (bittensor.core.chain_data.SubnetIdentity) – The identity data of the subnet including attributes like name, GitHub repository, contact, URL, discord, description, and any additional metadata.

      • -
      • wait_for_inclusion (bool) – Indicates if the function should wait for the transaction to be included in the block.

      • -
      • wait_for_finalization (bool) – Indicates if the function should wait for the transaction to reach finalization.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

      • +
      • wait_for_inclusion (bool) – Indicates if the function should wait for the transaction to be included in the +block.

      • +
      • wait_for_finalization (bool) – Indicates if the function should wait for the transaction to reach +finalization.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +submitted. If the transaction is not included in a block within that number of blocks, it will expire +and be rejected. You can think of it as an expiration date for the transaction.

      Returns:
      @@ -3234,35 +3877,34 @@

      Module Contents
      async set_weights(wallet, netuid, uids, weights, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, block_time=12.0, period=8)[source]#
      -
      -
      Sets the inter-neuronal weights for the specified neuron. This process involves specifying the influence or

      trust a neuron places on other neurons in the network, which is a fundamental aspect of Bittensor’s -decentralized learning architecture.

      -
      -
      +

      Sets the weight vector for a neuron acting as a validator, specifying the weights assigned to subnet miners +based on their performance evaluation.

      +

      This method allows subnet validators to submit their weight vectors, which rank the value of each subnet miner’s +work. These weight vectors are used by the Yuma Consensus algorithm to compute emissions for both validators and +miners.

      Parameters:
        -
      • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron setting the weights.

      • +
      • wallet (bittensor_wallet.Wallet) – The wallet associated with the subnet validator setting the weights.

      • netuid (int) – The unique identifier of the subnet.

      • -
      • uids (Union[NDArray[np.int64], torch.LongTensor, list]) – The list of neuron UIDs that the weights are being -set for.

      • -
      • weights (Union[NDArray[np.float32], torch.FloatTensor, list]) – The corresponding weights to be set for each -UID.

      • +
      • uids (Union[numpy.typing.NDArray[numpy.int64], bittensor.utils.torch.LongTensor, list]) – The list of subnet miner neuron UIDs that the weights are being set for.

      • +
      • weights (Union[numpy.typing.NDArray[numpy.float32], bittensor.utils.torch.FloatTensor, list]) – The corresponding weights to be set for each UID, representing the validator’s evaluation of each +miner’s performance.

      • version_key (int) – Version key for compatibility with the network. Default is int representation of the Bittensor version.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is -False.

      • -
      • max_retries (int) – The number of maximum attempts to set weights. Default is 5.

      • +False.

        +
      • max_retries (int) – The number of maximum attempts to set weights. Default is 5.

      • block_time (float) – The number of seconds for block duration. Default is 12.0 seconds.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction. Default is 16.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +submitted. If the transaction is not included in a block within that number of blocks, it will expire +and be rejected. You can think of it as an expiration date for the transaction. Default is 8.

      Returns:

      -
      True if the setting of weights is successful, False otherwise. And msg, a string

      value describing the success or potential error.

      +
      True if the setting of weights is successful, False otherwise. And msg, a string

      value describing the success or potential error.

      @@ -3271,10 +3913,12 @@

      Module Contents

      tuple[bool, str]

      -
      -
      This function is crucial in shaping the network’s collective intelligence, where each neuron’s learning and

      contribution are influenced by the weights it sets towards others【81†source】.

      -
      -
      +

      This function is crucial in the Yuma Consensus mechanism, where each validator’s weight vector contributes to +the overall weight matrix used to calculate emissions and maintain network consensus.

      +

      @@ -3284,18 +3928,18 @@

      Module Contents
      Parameters:
        -
      • call (scalecodec.types.GenericCall) – a prepared Call object

      • +
      • call (scalecodec.GenericCall) – a prepared Call object

      • wallet (bittensor_wallet.Wallet) – the wallet whose coldkey will be used to sign the extrinsic

      • wait_for_inclusion (bool) – whether to wait until the extrinsic call is included on the chain

      • wait_for_finalization (bool) – whether to wait until the extrinsic call is finalized on the chain

      • sign_with (str) – the wallet’s keypair to use for the signing. Options are “coldkey”, “hotkey”, “coldkeypub”

      • use_nonce (bool) – unique identifier for the transaction related with hot/coldkey.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +submitted. If the transaction is not included in a block within that number of blocks, it will expire +and be rejected. You can think of it as an expiration date for the transaction.

      • nonce_key (str) – the type on nonce to use. Options are “hotkey” or “coldkey”.

      • nonce_key – the type on nonce to use. Options are “hotkey”, “coldkey”, or “coldkeypub”.

      • -
      • raise_error (bool) – raises a relevant exception rather than returning False if unsuccessful.

      • +
      • raise_error (bool) – raises a relevant exception rather than returning False if unsuccessful.

      Returns:
      @@ -3313,18 +3957,19 @@

      Module Contents
      async start_call(wallet, netuid, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      -

      Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start a -new subnet’s emission mechanism).

      +

      Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start +a new subnet’s emission mechanism).

      Parameters:
        -
      • wallet (Wallet) – The wallet used to sign the extrinsic (must be unlocked).

      • +
      • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

      • netuid (int) – The UID of the target subnet for which the call is being initiated.

      • -
      • wait_for_inclusion (bool, optional) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

      • -
      • wait_for_finalization (bool, optional) – Whether to wait for finalization of the extrinsic. Defaults to False.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

      • +
      • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

      • +
      • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the

      • +
      • blocks (transaction is not included in a block within that number of)

      • +
      • You (it will expire and be rejected.)

      • +
      • transaction. (can think of it as an expiration date for the)

      Returns:
      @@ -3343,10 +3988,8 @@

      Module Contents
      async state_call(method, data, block=None, block_hash=None, reuse_block=False)[source]#
      -
      -
      Makes a state call to the Bittensor blockchain, allowing for direct queries of the blockchain’s state. This

      function is typically used for advanced queries that require specific method calls and data inputs.

      -
      -
      +

      Makes a state call to the Bittensor blockchain, allowing for direct queries of the blockchain’s state. +This function is typically used for advanced queries that require specific method calls and data inputs.

      Parameters:
        @@ -3354,7 +3997,7 @@

        Module Contentsstr) – The data to be passed to the method.

      • block (Optional[int]) – The blockchain block number at which to perform the state call.

      • block_hash (Optional[str]) – The hash of the block to retrieve the parameter from. Do not specify if using block or -reuse_block

      • +reuse_block.

      • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

      @@ -3365,10 +4008,8 @@

      Module Contents

      result (dict[Any, Any])

      -
      -
      The state call function provides a more direct and flexible way of querying blockchain data, useful for specific

      use cases where standard queries are insufficient.

      -
      -
      +

      The state call function provides a more direct and flexible way of querying blockchain data, useful for specific +use cases where standard queries are insufficient.

      @@ -3380,7 +4021,7 @@

      Module Contents
      • netuid (int) – The unique identifier of the subnet.

      • block (Optional[int]) – The block number to get the subnets at.

      • -
      • block_hash (str) – The hash of the blockchain block number for the query.

      • +
      • block_hash (Optional[str]) – The hash of the blockchain block number for the query.

      • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

      @@ -3407,14 +4048,14 @@

      Module ContentsReturns: -

      True if the subnet exists, False otherwise.

      +

      True if the subnet exists, False otherwise.

      Return type:

      bool

      -

      This function is critical for verifying the presence of specific subnets in the network, -enabling a deeper understanding of the network’s structure and composition.

      +

      This function is critical for verifying the presence of specific subnets in the network, enabling a deeper +understanding of the network’s structure and composition.

      @@ -3456,43 +4097,42 @@

      Module Contents
      Parameters:
        -
      • wallet (bittensor.wallet) – The wallet to swap stake from.

      • +
      • wallet (bittensor_wallet.Wallet) – The wallet to swap stake from.

      • hotkey_ss58 (str) – The SS58 address of the hotkey whose stake is being swapped.

      • origin_netuid (int) – The netuid from which stake is removed.

      • destination_netuid (int) – The netuid to which stake is added.

      • -
      • amount (Union[Balance, float]) – The amount to swap.

      • +
      • amount (bittensor.utils.balance.Balance) – The amount to swap.

      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The swap -will only execute if the price ratio between subnets doesn’t exceed the rate tolerance. +

      • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The swap will only +execute if the price ratio between subnets doesn’t exceed the rate tolerance. Default is False.

      • +
      • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial stake swaps when the full amount +would exceed the price threshold. If false, the entire swap fails if it would exceed the threshold. Default is False.

      • -
      • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial stake swaps when -the full amount would exceed the price threshold. If false, the entire swap fails if it would -exceed the threshold. Default is False.

      • rate_tolerance (float) – The maximum allowed increase in the price ratio between subnets -(origin_price/destination_price). For example, 0.005 = 0.5% maximum increase. Only used -when safe_staking is True. Default is 0.005.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

      • +(origin_price/destination_price). For example, 0.005 = 0.5% maximum increase. Only used when +safe_staking is True. Default is 0.005.

        +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

      Returns:

      True if the extrinsic was successful.

      Return type:
      -

      success (bool)

      +

      success

      The price ratio for swap_stake in safe mode is calculated as: origin_subnet_price / destination_subnet_price When safe_staking is enabled, the swap will only execute if:

        -
      • With allow_partial_stake=False: The entire swap amount can be executed without the price ratio

      • +
      • With allow_partial_stake=False: The entire swap amount can be executed without the price ratio increasing

      -

      increasing more than rate_tolerance -- With allow_partial_stake=True: A partial amount will be swapped up to the point where the -price ratio would increase by rate_tolerance

      +

      more than rate_tolerance. +- With allow_partial_stake=True: A partial amount will be swapped up to the point where the price ratio +would increase by rate_tolerance.

      @@ -3522,6 +4162,37 @@

      Module Contents +
      +async toggle_user_liquidity(wallet, netuid, enable, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +

      Allow to toggle user liquidity for specified subnet.

      +
      +
      Parameters:
      +
        +
      • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

      • +
      • netuid (int) – The UID of the target subnet for which the call is being initiated.

      • +
      • enable (bool) – Boolean indicating whether to enable user liquidity.

      • +
      • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

      • +
      • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

      • +
      +
      +
      Returns:
      +

        +
      • True and a success message if the extrinsic is successfully submitted or processed.

      • +
      • False and an error message if the submission fails or the wallet cannot be unlocked.

      • +
      +

      +
      +
      Return type:
      +

      Tuple[bool, str]

      +
      +
      +

      Note: The call can be executed successfully by the subnet owner only.

      +
      +
      async transfer(wallet, dest, amount, transfer_all=False, wait_for_inclusion=True, wait_for_finalization=False, keep_alive=True, period=None)[source]#
      @@ -3531,15 +4202,14 @@

      Module Contents
      • wallet (bittensor_wallet.Wallet) – Source wallet for the transfer.

      • dest (str) – Destination address for the transfer.

      • -
      • amount (float) – Number of tokens to transfer.

      • -
      • transfer_all (bool) – Flag to transfer all tokens. Default is False.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is -False.

      • -
      • keep_alive (bool) – Flag to keep the connection alive. Default is True.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

      • +
      • amount (bittensor.utils.balance.Balance) – Number of tokens to transfer.

      • +
      • transfer_all (bool) – Flag to transfer all tokens. Default is False.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to True.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to False.

      • +
      • keep_alive (bool) – Flag to keep the connection alive. Default is True.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

      Returns:
      @@ -3558,24 +4228,24 @@

      Module Contents
      Parameters:
        -
      • wallet (bittensor.wallet) – The wallet to transfer stake from.

      • +
      • wallet (bittensor_wallet.Wallet) – The wallet to transfer stake from.

      • destination_coldkey_ss58 (str) – The destination coldkey SS58 address.

      • hotkey_ss58 (str) – The hotkey SS58 address associated with the stake.

      • origin_netuid (int) – The source subnet UID.

      • destination_netuid (int) – The destination subnet UID.

      • -
      • amount (Balance) – Amount to transfer.

      • +
      • amount (bittensor.utils.balance.Balance) – Amount to transfer.

      • wait_for_inclusion (bool) – If true, waits for inclusion before returning.

      • wait_for_finalization (bool) – If true, waits for finalization before returning.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

      Returns:

      True if the transfer was successful.

      Return type:
      -

      success (bool)

      +

      success

      @@ -3594,108 +4264,170 @@

      Module ContentsReturns: -

      The transaction rate limit of the network, None if not available.

      +

      The transaction rate limit of the network, None if not available.

      Return type:

      Optional[int]

      -
      -
      The transaction rate limit is an essential parameter for ensuring the stability and scalability of the Bittensor

      network. It helps in managing network load and preventing congestion, thereby maintaining efficient and -timely transaction processing.

      -
      -
      +

      The transaction rate limit is an essential parameter for ensuring the stability and scalability of the Bittensor +network. It helps in managing network load and preventing congestion, thereby maintaining efficient and timely +transaction processing.

      -async unstake(wallet, hotkey_ss58=None, netuid=None, amount=None, wait_for_inclusion=True, wait_for_finalization=False, safe_staking=False, allow_partial_stake=False, rate_tolerance=0.005, period=None)[source]#
      -
      -
      Removes a specified amount of stake from a single hotkey account. This function is critical for adjusting

      individual neuron stakes within the Bittensor network.

      -
      -
      +async unstake(wallet, hotkey_ss58=None, netuid=None, amount=None, wait_for_inclusion=True, wait_for_finalization=False, safe_staking=False, allow_partial_stake=False, rate_tolerance=0.005, period=None, unstake_all=False)[source]# +

      Removes a specified amount of stake from a single hotkey account. This function is critical for adjusting +individual neuron stakes within the Bittensor network.

      Parameters:
        -
      • wallet (bittensor_wallet.wallet) – The wallet associated with the neuron from which the stake is being +

      • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron from which the stake is being removed.

      • -
      • hotkey_ss58 (Optional[str]) – The SS58 address of the hotkey account to unstake from.

      • +
      • hotkey_ss58 (Optional[str]) – The SS58 address of the hotkey account to unstake from.

      • netuid (Optional[int]) – The unique identifier of the subnet.

      • -
      • amount (Balance) – The amount of alpha to unstake. If not specified, unstakes all.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The unstake -will only execute if the price change doesn’t exceed the rate tolerance. Default is False.

      • +
      • amount (Optional[bittensor.utils.balance.Balance]) – The amount of alpha to unstake. If not specified, unstakes all.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to True.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to False.

      • +
      • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The unstake will +only execute if the price change doesn’t exceed the rate tolerance. Default is False.

      • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial unstaking when -the full amount would exceed the price threshold. If false, the entire unstake fails if it would -exceed the threshold. Default is False.

      • -
      • rate_tolerance (float) – The maximum allowed price change ratio when unstaking. For example, -0.005 = 0.5% maximum price decrease. Only used when safe_staking is True. Default is 0.005.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

      • +the full amount would exceed the price threshold. If false, the entire unstake fails if it would exceed +the threshold. Default is False.

        +
      • rate_tolerance (float) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum +price decrease. Only used when safe_staking is True. Default is 0.005.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

      • +
      • unstake_all (bool) – If True, unstakes all tokens and amount is ignored. Default is False

      Returns:
      -

      True if the unstaking process is successful, False otherwise.

      +

      True if the unstaking process is successful, False otherwise.

      Return type:

      bool

      -
      -
      This function supports flexible stake management, allowing neurons to adjust their network participation and

      potential reward accruals.

      +

      This function supports flexible stake management, allowing neurons to adjust their network participation and +potential reward accruals.

      +
      + +
      +
      +async unstake_all(wallet, hotkey, netuid, rate_tolerance=0.005, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +

      Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network.

      +
      +
      Parameters:
      +
        +
      • wallet (bittensor_wallet.Wallet) – The wallet of the stake owner.

      • +
      • hotkey (str) – The SS58 address of the hotkey to unstake from.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • rate_tolerance (Optional[float]) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum +price decrease. If not passed (None), then unstaking goes without price limit. Default is 0.005.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction. Default is None.

      • +
      +
      +
      Returns:
      +

      A tuple containing: +- True and a success message if the unstake operation succeeded; +- False and an error message otherwise.

      +
      +
      Return type:
      +

      tuple[bool, str]

      +
      +
      +
      +

      Example

      +

      To unstake all stakes in all subnets safely, use default rate_tolerance or pass your value: +.. code-block:: python

      +
      +

      import bittensor as bt

      +

      subtensor = bt.AsyncSubtensor() +wallet = bt.Wallet(“my_wallet”) +netuid = 14 +hotkey = “5%SOME_HOTKEY_WHERE_IS_YOUR_STAKE_NOW%”

      +

      wallet_stakes = await subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address)

      +
      +
      for stake in wallet_stakes:
      +
      result = await subtensor.unstake_all(

      wallet=wallet, +hotkey_ss58=stake.hotkey_ss58, +netuid=stake.netuid,

      +
      +
      +

      ) +print(result)

      +
      +
      +

      # If you would like to unstake all stakes in all subnets unsafely, use rate_tolerance=None: +import bittensor as bt

      +

      subtensor = bt.AsyncSubtensor() +wallet = bt.Wallet(“my_wallet”) +netuid = 14 +hotkey = “5%SOME_HOTKEY_WHERE_IS_YOUR_STAKE_NOW%”

      +

      wallet_stakes = await subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address)

      +
      +
      for stake in wallet_stakes:
      +
      result = await subtensor.unstake_all(

      wallet=wallet, +hotkey_ss58=stake.hotkey_ss58, +netuid=stake.netuid, +rate_tolerance=None,

      +
      +
      +

      ) +print(result)

      +
      +
      -async unstake_multiple(wallet, hotkey_ss58s, netuids, amounts=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
      -
      -
      Performs batch unstaking from multiple hotkey accounts, allowing a neuron to reduce its staked amounts

      efficiently. This function is useful for managing the distribution of stakes across multiple neurons.

      -
      -
      +async unstake_multiple(wallet, hotkey_ss58s, netuids, amounts=None, wait_for_inclusion=True, wait_for_finalization=False, period=None, unstake_all=False)[source]# +

      Performs batch unstaking from multiple hotkey accounts, allowing a neuron to reduce its staked amounts +efficiently. This function is useful for managing the distribution of stakes across multiple neurons.

      Parameters:
        -
      • wallet (bittensor_wallet.Wallet) – The wallet linked to the coldkey from which the stakes are being -withdrawn.

      • -
      • hotkey_ss58s (List[str]) – A list of hotkey SS58 addresses to unstake from.

      • +
      • wallet (bittensor_wallet.Wallet) – The wallet linked to the coldkey from which the stakes are being withdrawn.

      • +
      • hotkey_ss58s (list[str]) – A list of hotkey SS58 addresses to unstake from.

      • netuids (list[int]) – Subnets unique IDs.

      • -
      • amounts (List[Union[Balance, float]]) – The amounts of TAO to unstake from each hotkey. If not provided, -unstakes all available stakes.

      • +
      • amounts (Optional[list[bittensor.utils.balance.Balance]]) – The amounts of TAO to unstake from each hotkey. If not provided, unstakes all.

      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

      • +
      • unstake_all (bool) – If true, unstakes all tokens. Default is False. If True amounts are ignored.

      Returns:
      -

      True if the batch unstaking is successful, False otherwise.

      +

      True if the batch unstaking is successful, False otherwise.

      Return type:

      bool

      -
      -
      This function allows for strategic reallocation or withdrawal of stakes, aligning with the dynamic stake

      management aspect of the Bittensor network.

      -
      -
      +

      This function allows for strategic reallocation or withdrawal of stakes, aligning with the dynamic stake +management aspect of the Bittensor network.

      async wait_for_block(block=None)[source]#
      -

      Waits until a specific block is reached on the chain. If no block is specified, -waits for the next block.

      +

      Waits until a specific block is reached on the chain. If no block is specified, waits for the next block.

      Parameters:
      -

      block (Optional[int]) – The block number to wait for. If None, waits for the next block.

      +

      block (Optional[int]) – The block number to wait for. If None, waits for the next block.

      Returns:
      -

      True if the target block was reached, False if timeout occurred.

      +

      True if the target block was reached, False if timeout occurred.

      Return type:

      bool

      @@ -3703,6 +4435,8 @@

      Module Contents

      Example

      +

      import bittensor as bt +subtensor = bt.Subtensor()

      await subtensor.wait_for_block() # Waits for next block await subtensor.wait_for_block(block=1234) # Waits for a specific block

      @@ -3712,17 +4446,15 @@

      Module Contents async weights(netuid, block=None, block_hash=None, reuse_block=False)[source]#

      Retrieves the weight distribution set by neurons within a specific subnet of the Bittensor network. -This function maps each neuron’s UID to the weights it assigns to other neurons, reflecting the network’s trust

      -
      -

      and value assignment mechanisms.

      -
      +This function maps each neuron’s UID to the weights it assigns to other neurons, reflecting the network’s trust +and value assignment mechanisms.

      Parameters:
      • netuid (int) – The network UID of the subnet to query.

      • -
      • block (Optional[int]) – Block number for synchronization, or None for the latest block.

      • -
      • block_hash (str) – The hash of the blockchain block for the query.

      • -
      • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

      • +
      • block (Optional[int]) – Block number for synchronization, or None for the latest block.

      • +
      • block_hash (Optional[str]) – The hash of the blockchain block for the query.

      • +
      • reuse_block (bool) – reuse the last-used blockchain block hash.

      Returns:
      @@ -3732,10 +4464,8 @@

      Module Contents

      list[tuple[int, list[tuple[int, int]]]]

      -
      -
      The weight distribution is a key factor in the network’s consensus algorithm and the ranking of neurons,

      influencing their influence and reward allocation within the subnet.

      -
      -
      +

      The weight distribution is a key factor in the network’s consensus algorithm and the ranking of neurons, +influencing their influence and reward allocation within the subnet.

      @@ -3769,8 +4499,8 @@

      Module Contents
      async bittensor.core.async_subtensor.get_async_subtensor(network=None, config=None, _mock=False, log_verbose=False)[source]#
      -

      Factory method to create an initialized AsyncSubtensor. Mainly useful for when you don’t want to run -await subtensor.initialize() after instantiation.

      +

      Factory method to create an initialized AsyncSubtensor. +Mainly useful for when you don’t want to run await subtensor.initialize() after instantiation.

      Parameters:
      diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/index.html index b24991a020..13870277d1 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/index.html @@ -175,6 +175,7 @@
    706. bittensor.utils.btlogging
    707. bittensor.utils.easy_imports
    708. bittensor.utils.formatting
    709. +
    710. bittensor.utils.liquidity
    711. bittensor.utils.mock
    712. bittensor.utils.networking
    713. bittensor.utils.registration
    714. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/info_base/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/info_base/index.html index 8899b192ea..fbbbadd7df 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/info_base/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/info_base/index.html @@ -175,6 +175,7 @@
    715. bittensor.utils.btlogging
    716. bittensor.utils.easy_imports
    717. bittensor.utils.formatting
    718. +
    719. bittensor.utils.liquidity
    720. bittensor.utils.mock
    721. bittensor.utils.networking
    722. bittensor.utils.registration
    723. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/ip_info/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/ip_info/index.html index be1ced2b9e..85b5095e8b 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/ip_info/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/ip_info/index.html @@ -175,6 +175,7 @@
    724. bittensor.utils.btlogging
    725. bittensor.utils.easy_imports
    726. bittensor.utils.formatting
    727. +
    728. bittensor.utils.liquidity
    729. bittensor.utils.mock
    730. bittensor.utils.networking
    731. bittensor.utils.registration
    732. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/metagraph_info/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/metagraph_info/index.html index 045b9c8e02..f2a4c377c3 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/metagraph_info/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/metagraph_info/index.html @@ -175,6 +175,7 @@
    733. bittensor.utils.btlogging
    734. bittensor.utils.easy_imports
    735. bittensor.utils.formatting
    736. +
    737. bittensor.utils.liquidity
    738. bittensor.utils.mock
    739. bittensor.utils.networking
    740. bittensor.utils.registration
    741. @@ -471,6 +472,7 @@

      Contents

    742. MetagraphInfo.total_stake
    743. MetagraphInfo.trust
    744. MetagraphInfo.validator_permit
    745. +
    746. MetagraphInfo.validators
    747. MetagraphInfo.weights_rate_limit
    748. MetagraphInfo.weights_version
    749. @@ -595,6 +597,7 @@

      Contents

    750. SelectiveMetagraphIndex.TotalStake
    751. SelectiveMetagraphIndex.Trust
    752. SelectiveMetagraphIndex.ValidatorPermit
    753. +
    754. SelectiveMetagraphIndex.Validators
    755. SelectiveMetagraphIndex.WeightsRateLimit
    756. SelectiveMetagraphIndex.WeightsVersion
    757. SelectiveMetagraphIndex.all_indices()
    758. @@ -1007,6 +1010,11 @@

      Module Contentsvalidator_permit: list[bool]#

      +
      +
      +validators: list[str]#
      +
      +
      weights_rate_limit: int#
      @@ -1592,6 +1600,11 @@

      Module ContentsValidatorPermit = 57#

      +
      +
      +Validators = 72#
      +
      +
      WeightsRateLimit = 27#
      @@ -1622,6 +1635,9 @@

      Module ContentsParameters:

      data (Union[tuple, dict])

      +
      Return type:
      +

      Optional[Union[list, dict]]

      +

      @@ -1748,6 +1764,7 @@

      Module ContentsMetagraphInfo.total_stake
    759. MetagraphInfo.trust
    760. MetagraphInfo.validator_permit
    761. +
    762. MetagraphInfo.validators
    763. MetagraphInfo.weights_rate_limit
    764. MetagraphInfo.weights_version
    765. @@ -1872,6 +1889,7 @@

      Module ContentsSelectiveMetagraphIndex.TotalStake
    766. SelectiveMetagraphIndex.Trust
    767. SelectiveMetagraphIndex.ValidatorPermit
    768. +
    769. SelectiveMetagraphIndex.Validators
    770. SelectiveMetagraphIndex.WeightsRateLimit
    771. SelectiveMetagraphIndex.WeightsVersion
    772. SelectiveMetagraphIndex.all_indices()
    773. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/neuron_info/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/neuron_info/index.html index cc206fa6aa..879000c595 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/neuron_info/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/neuron_info/index.html @@ -175,6 +175,7 @@
    774. bittensor.utils.btlogging
    775. bittensor.utils.easy_imports
    776. bittensor.utils.formatting
    777. +
    778. bittensor.utils.liquidity
    779. bittensor.utils.mock
    780. bittensor.utils.networking
    781. bittensor.utils.registration
    782. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/neuron_info_lite/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/neuron_info_lite/index.html index 25cea36be6..e63347fe04 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/neuron_info_lite/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/neuron_info_lite/index.html @@ -175,6 +175,7 @@
    783. bittensor.utils.btlogging
    784. bittensor.utils.easy_imports
    785. bittensor.utils.formatting
    786. +
    787. bittensor.utils.liquidity
    788. bittensor.utils.mock
    789. bittensor.utils.networking
    790. bittensor.utils.registration
    791. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/prometheus_info/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/prometheus_info/index.html index 66e862f2d8..ca5fce4bca 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/prometheus_info/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/prometheus_info/index.html @@ -175,6 +175,7 @@
    792. bittensor.utils.btlogging
    793. bittensor.utils.easy_imports
    794. bittensor.utils.formatting
    795. +
    796. bittensor.utils.liquidity
    797. bittensor.utils.mock
    798. bittensor.utils.networking
    799. bittensor.utils.registration
    800. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/proposal_vote_data/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/proposal_vote_data/index.html index fa23b66e4e..c89068acb1 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/proposal_vote_data/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/proposal_vote_data/index.html @@ -175,6 +175,7 @@
    801. bittensor.utils.btlogging
    802. bittensor.utils.easy_imports
    803. bittensor.utils.formatting
    804. +
    805. bittensor.utils.liquidity
    806. bittensor.utils.mock
    807. bittensor.utils.networking
    808. bittensor.utils.registration
    809. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.html index d6e9a27c5d..0af18bd6e3 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.html @@ -175,6 +175,7 @@
    810. bittensor.utils.btlogging
    811. bittensor.utils.easy_imports
    812. bittensor.utils.formatting
    813. +
    814. bittensor.utils.liquidity
    815. bittensor.utils.mock
    816. bittensor.utils.networking
    817. bittensor.utils.registration
    818. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/stake_info/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/stake_info/index.html index 538e777196..bf25a2b2f3 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/stake_info/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/stake_info/index.html @@ -175,6 +175,7 @@
    819. bittensor.utils.btlogging
    820. bittensor.utils.easy_imports
    821. bittensor.utils.formatting
    822. +
    823. bittensor.utils.liquidity
    824. bittensor.utils.mock
    825. bittensor.utils.networking
    826. bittensor.utils.registration
    827. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.html index b30ec3190e..9ef7597adb 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.html @@ -175,6 +175,7 @@
    828. bittensor.utils.btlogging
    829. bittensor.utils.easy_imports
    830. bittensor.utils.formatting
    831. +
    832. bittensor.utils.liquidity
    833. bittensor.utils.mock
    834. bittensor.utils.networking
    835. bittensor.utils.registration
    836. @@ -405,7 +406,9 @@

      Contents

    837. SubnetHyperparameters.adjustment_interval
    838. SubnetHyperparameters.alpha_high
    839. SubnetHyperparameters.alpha_low
    840. +
    841. SubnetHyperparameters.alpha_sigmoid_steepness
    842. SubnetHyperparameters.bonds_moving_avg
    843. +
    844. SubnetHyperparameters.bonds_reset_enabled
    845. SubnetHyperparameters.commit_reveal_period
    846. SubnetHyperparameters.commit_reveal_weights_enabled
    847. SubnetHyperparameters.difficulty
    848. @@ -423,10 +426,14 @@

      Contents

    849. SubnetHyperparameters.registration_allowed
    850. SubnetHyperparameters.rho
    851. SubnetHyperparameters.serving_rate_limit
    852. +
    853. SubnetHyperparameters.subnet_is_active
    854. SubnetHyperparameters.target_regs_per_interval
    855. SubnetHyperparameters.tempo
    856. +
    857. SubnetHyperparameters.transfers_enabled
    858. +
    859. SubnetHyperparameters.user_liquidity_enabled
    860. SubnetHyperparameters.weights_rate_limit
    861. SubnetHyperparameters.weights_version
    862. +
    863. SubnetHyperparameters.yuma_version
    864. @@ -492,6 +499,12 @@

      Module Contentsint) – High value of alpha.

    865. alpha_low (int) – Low value of alpha.

    866. liquid_alpha_enabled (bool) – Flag indicating if liquid alpha is enabled.

    867. +
    868. alpha_sigmoid_steepness (float)

    869. +
    870. yuma_version (int) – Version of yuma.

    871. +
    872. subnet_is_active (bool) – Indicates if subnet is active after START CALL.

    873. +
    874. transfers_enabled (bool) – Flag indicating if transfers are enabled.

    875. +
    876. bonds_reset_enabled (bool) – Flag indicating if bonds are reset enabled.

    877. +
    878. user_liquidity_enabled (bool) – Flag indicating if user liquidity is enabled.

    879. @@ -520,11 +533,21 @@

      Module Contentsalpha_low: int#
      +
      +
      +alpha_sigmoid_steepness: float#
      +
      +
      bonds_moving_avg: int#
      +
      +
      +bonds_reset_enabled: bool#
      +
      +
      commit_reveal_period: int#
      @@ -610,6 +633,11 @@

      Module Contentsserving_rate_limit: int#

      +
      +
      +subnet_is_active: bool#
      +
      +
      target_regs_per_interval: int#
      @@ -620,6 +648,16 @@

      Module Contentstempo: int#

      +
      +
      +transfers_enabled: bool#
      +
      + +
      +
      +user_liquidity_enabled: bool#
      +
      +
      weights_rate_limit: int#
      @@ -630,6 +668,11 @@

      Module Contentsweights_version: int#

      +
      +
      +yuma_version: int#
      +
      + @@ -689,7 +732,9 @@

      Module ContentsSubnetHyperparameters.adjustment_interval
    880. SubnetHyperparameters.alpha_high
    881. SubnetHyperparameters.alpha_low
    882. +
    883. SubnetHyperparameters.alpha_sigmoid_steepness
    884. SubnetHyperparameters.bonds_moving_avg
    885. +
    886. SubnetHyperparameters.bonds_reset_enabled
    887. SubnetHyperparameters.commit_reveal_period
    888. SubnetHyperparameters.commit_reveal_weights_enabled
    889. SubnetHyperparameters.difficulty
    890. @@ -707,10 +752,14 @@

      Module ContentsSubnetHyperparameters.registration_allowed
    891. SubnetHyperparameters.rho
    892. SubnetHyperparameters.serving_rate_limit
    893. +
    894. SubnetHyperparameters.subnet_is_active
    895. SubnetHyperparameters.target_regs_per_interval
    896. SubnetHyperparameters.tempo
    897. +
    898. SubnetHyperparameters.transfers_enabled
    899. +
    900. SubnetHyperparameters.user_liquidity_enabled
    901. SubnetHyperparameters.weights_rate_limit
    902. SubnetHyperparameters.weights_version
    903. +
    904. SubnetHyperparameters.yuma_version
    905. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_identity/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_identity/index.html index d93eed9183..4cc96aeb5a 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_identity/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_identity/index.html @@ -175,6 +175,7 @@
    906. bittensor.utils.btlogging
    907. bittensor.utils.easy_imports
    908. bittensor.utils.formatting
    909. +
    910. bittensor.utils.liquidity
    911. bittensor.utils.mock
    912. bittensor.utils.networking
    913. bittensor.utils.registration
    914. @@ -404,6 +405,7 @@

      Contents

    915. SubnetIdentity.description
    916. SubnetIdentity.discord
    917. SubnetIdentity.github_repo
    918. +
    919. SubnetIdentity.logo_url
    920. SubnetIdentity.subnet_contact
    921. SubnetIdentity.subnet_name
    922. SubnetIdentity.subnet_url
    923. @@ -461,6 +463,11 @@

      Module Contentsgithub_repo: str#
      +
      +
      +logo_url: str#
      +
      +
      subnet_contact: str#
      @@ -534,6 +541,7 @@

      Module ContentsSubnetIdentity.description
    924. SubnetIdentity.discord
    925. SubnetIdentity.github_repo
    926. +
    927. SubnetIdentity.logo_url
    928. SubnetIdentity.subnet_contact
    929. SubnetIdentity.subnet_name
    930. SubnetIdentity.subnet_url
    931. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_info/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_info/index.html index a31bacc2b6..c33a78c1d9 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_info/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_info/index.html @@ -175,6 +175,7 @@
    932. bittensor.utils.btlogging
    933. bittensor.utils.easy_imports
    934. bittensor.utils.formatting
    935. +
    936. bittensor.utils.liquidity
    937. bittensor.utils.mock
    938. bittensor.utils.networking
    939. bittensor.utils.registration
    940. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_state/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_state/index.html index a4637fefc1..d606af5eb4 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_state/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/subnet_state/index.html @@ -175,6 +175,7 @@
    941. bittensor.utils.btlogging
    942. bittensor.utils.easy_imports
    943. bittensor.utils.formatting
    944. +
    945. bittensor.utils.liquidity
    946. bittensor.utils.mock
    947. bittensor.utils.networking
    948. bittensor.utils.registration
    949. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/utils/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/utils/index.html index b7b88a3278..11d724c298 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/utils/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/utils/index.html @@ -175,6 +175,7 @@
    950. bittensor.utils.btlogging
    951. bittensor.utils.easy_imports
    952. bittensor.utils.formatting
    953. +
    954. bittensor.utils.liquidity
    955. bittensor.utils.mock
    956. bittensor.utils.networking
    957. bittensor.utils.registration
    958. @@ -420,6 +421,7 @@

      Contents

    959. decode_account_id()
    960. +
    961. decode_block()
    962. decode_metadata()
    963. decode_revealed_commitment()
    964. decode_revealed_commitment_with_hotkey()
    965. @@ -460,22 +462,25 @@

      Functions

      decode_account_id(account_id_bytes)

      Decodes an AccountId from bytes to a Base64 string using SS58 encoding.

      -

      decode_metadata(metadata)

      +

      decode_block(data)

      +

      Decode the block data from the given input if it is not None.

      + +

      decode_metadata(metadata)

      -

      decode_revealed_commitment(encoded_data)

      +

      decode_revealed_commitment(encoded_data)

      Decode the revealed commitment data from the given input if it is not None.

      -

      decode_revealed_commitment_with_hotkey(encoded_data)

      +

      decode_revealed_commitment_with_hotkey(encoded_data)

      Decode revealed commitment using a hotkey.

      -

      from_scale_encoding(input_, type_name[, is_vec, is_option])

      +

      from_scale_encoding(input_, type_name[, is_vec, is_option])

      Decodes input_ data from SCALE encoding based on the specified type name and modifiers.

      -

      from_scale_encoding_using_type_string(input_, type_string)

      +

      from_scale_encoding_using_type_string(input_, type_string)

      Decodes SCALE encoded data to a dictionary based on the provided type string.

      -

      process_stake_data(stake_data)

      +

      process_stake_data(stake_data)

      Processes stake data to decode account IDs and convert stakes from rao to Balance objects.

      @@ -589,6 +594,23 @@

      Module Contents +
      +bittensor.core.chain_data.utils.decode_block(data)#
      +

      Decode the block data from the given input if it is not None.

      +
      +
      Parameters:
      +

      data (bytes) – The block data to decode.

      +
      +
      Returns:
      +

      The decoded block.

      +
      +
      Return type:
      +

      int

      +
      +
      +

      +
      bittensor.core.chain_data.utils.decode_metadata(metadata)[source]#
      @@ -776,6 +798,7 @@

      Module Contentsdecode_account_id() +
    966. decode_block()
    967. decode_metadata()
    968. decode_revealed_commitment()
    969. decode_revealed_commitment_with_hotkey()
    970. diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/weight_commit_info/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/weight_commit_info/index.html index d25a545eb2..3143dc022e 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/weight_commit_info/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/weight_commit_info/index.html @@ -175,6 +175,7 @@
    971. bittensor.utils.btlogging
    972. bittensor.utils.easy_imports
    973. bittensor.utils.formatting
    974. +
    975. bittensor.utils.liquidity
    976. bittensor.utils.mock
    977. bittensor.utils.networking
    978. bittensor.utils.registration
    979. diff --git a/static/python-api/html/autoapi/bittensor/core/config/index.html b/static/python-api/html/autoapi/bittensor/core/config/index.html index bc512c80f4..fa2f17cbab 100644 --- a/static/python-api/html/autoapi/bittensor/core/config/index.html +++ b/static/python-api/html/autoapi/bittensor/core/config/index.html @@ -175,6 +175,7 @@
    980. bittensor.utils.btlogging
    981. bittensor.utils.easy_imports
    982. bittensor.utils.formatting
    983. +
    984. bittensor.utils.liquidity
    985. bittensor.utils.mock
    986. bittensor.utils.networking
    987. bittensor.utils.registration
    988. diff --git a/static/python-api/html/autoapi/bittensor/core/dendrite/index.html b/static/python-api/html/autoapi/bittensor/core/dendrite/index.html index 6151d8d55e..8809be6e7e 100644 --- a/static/python-api/html/autoapi/bittensor/core/dendrite/index.html +++ b/static/python-api/html/autoapi/bittensor/core/dendrite/index.html @@ -175,6 +175,7 @@
    989. bittensor.utils.btlogging
    990. bittensor.utils.easy_imports
    991. bittensor.utils.formatting
    992. +
    993. bittensor.utils.liquidity
    994. bittensor.utils.mock
    995. bittensor.utils.networking
    996. bittensor.utils.registration
    997. diff --git a/static/python-api/html/autoapi/bittensor/core/errors/index.html b/static/python-api/html/autoapi/bittensor/core/errors/index.html index bda886221a..7e447f5c9b 100644 --- a/static/python-api/html/autoapi/bittensor/core/errors/index.html +++ b/static/python-api/html/autoapi/bittensor/core/errors/index.html @@ -175,6 +175,7 @@
    998. bittensor.utils.btlogging
    999. bittensor.utils.easy_imports
    1000. bittensor.utils.formatting
    1001. +
    1002. bittensor.utils.liquidity
    1003. bittensor.utils.mock
    1004. bittensor.utils.networking
    1005. bittensor.utils.registration
    1006. diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/children/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/children/index.html new file mode 100644 index 0000000000..9612084ae8 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/children/index.html @@ -0,0 +1,614 @@ + + + + + + + + + + + bittensor.core.extrinsics.asyncex.children — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + +
      +

      bittensor.core.extrinsics.asyncex.children

      + +
      + +
      +
      + + + + +
      + +
      +

      bittensor.core.extrinsics.asyncex.children#

      +
      +

      Functions#

      +
      + + + + + + + + +

      root_set_pending_childkey_cooldown_extrinsic(...[, ...])

      Allows a coldkey to set children-keys.

      set_children_extrinsic(subtensor, wallet, hotkey, ...)

      Allows a coldkey to set children-keys.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +async bittensor.core.extrinsics.asyncex.children.root_set_pending_childkey_cooldown_extrinsic(subtensor, wallet, cooldown, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +

      Allows a coldkey to set children-keys.

      +
      +
      Parameters:
      +
      +
      +
      Return type:
      +

      tuple[bool, str]

      +
      +
      +
      + +
      +
      +async bittensor.core.extrinsics.asyncex.children.set_children_extrinsic(subtensor, wallet, hotkey, netuid, children, wait_for_inclusion=True, wait_for_finalization=False, raise_error=False, period=None)#
      +

      Allows a coldkey to set children-keys.

      +
      +
      Parameters:
      +
        +
      • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – bittensor subtensor.

      • +
      • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

      • +
      • hotkey (str) – The SS58 address of the neuron’s hotkey.

      • +
      • netuid (int) – The netuid value.

      • +
      • children (list[tuple[float, str]]) – A list of children with their proportions.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

      • +
      +
      +
      Returns:
      +

      +
      A tuple where the first element is a boolean indicating success or failure of the operation,

      and the second element is a message providing additional information.

      +
      +
      +

      +
      +
      Return type:
      +

      tuple[bool, str]

      +
      +
      Raises:
      +
      +
      +
      +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.html index b65c6c17c3..532f82fbff 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.html @@ -48,8 +48,8 @@ - - + + @@ -175,6 +175,7 @@
    1007. bittensor.utils.btlogging
    1008. bittensor.utils.easy_imports
    1009. bittensor.utils.formatting
    1010. +
    1011. bittensor.utils.liquidity
    1012. bittensor.utils.mock
    1013. bittensor.utils.networking
    1014. bittensor.utils.registration
    1015. @@ -478,20 +479,20 @@

      Module Contents

      previous

      -

      bittensor.core.extrinsics.asyncex

      +

      bittensor.core.extrinsics.asyncex.children

      next

      -

      bittensor.core.extrinsics.asyncex.move_stake

      +

      bittensor.core.extrinsics.asyncex.liquidity

      diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/index.html index 8dcbc4d250..c6a032643e 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/index.html @@ -48,7 +48,7 @@ - + @@ -175,6 +175,7 @@
    1016. bittensor.utils.btlogging
    1017. bittensor.utils.easy_imports
    1018. bittensor.utils.formatting
    1019. +
    1020. bittensor.utils.liquidity
    1021. bittensor.utils.mock
    1022. bittensor.utils.networking
    1023. bittensor.utils.registration
    1024. @@ -415,7 +416,9 @@

      Contents

      Submodules#

      -async bittensor.core.extrinsics.asyncex.serving.publish_metadata(subtensor, wallet, netuid, data_type, data, wait_for_inclusion=False, wait_for_finalization=True, period=None)[source]#
      +async bittensor.core.extrinsics.asyncex.serving.publish_metadata(subtensor, wallet, netuid, data_type, data, wait_for_inclusion=False, wait_for_finalization=True, period=None, reset_bonds=False)[source]#

      Publishes metadata on the Bittensor network using the specified wallet and network identifier.

      Parameters:
      @@ -520,6 +546,7 @@

      Module Contentsint]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      +
    1025. reset_bonds (bool) – If True, the function will reset the bonds for the neuron. Defaults to False.

    1026. Returns:
      @@ -660,6 +687,7 @@

      Module ContentsFunctions
    1027. Module Contents +
      • bittensor.core.subtensor_api.extrinsics @@ -1165,8 +1213,6 @@

        B

      • module
    1028. - - +
    1029. bonds_reset_enabled (bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters attribute) +
    1030. BondsMovingAvg (bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex attribute)
    1031. BrokenThreadPool +
    1032. +
    1033. BT_DOCS_LINK (in module bittensor.utils)
    1034. BtFileFormatter (class in bittensor.utils.btlogging.format)
    1035. @@ -1590,6 +1647,8 @@

      C

    1036. C (bittensor.core.metagraph.MetagraphMixin property)
    1037. calculate_diff_seconds() (in module bittensor.utils.axon_utils) +
    1038. +
    1039. calculate_fees() (in module bittensor.utils.liquidity)
    1040. call() (bittensor.core.dendrite.Dendrite method) @@ -1878,6 +1937,8 @@

      D

    1041. decode_account_id() (in module bittensor.core.chain_data.utils)
    1042. decode_account_id_list() (bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo class method) +
    1043. +
    1044. decode_block() (in module bittensor.core.chain_data.utils)
    1045. decode_hex_identity_dict() (in module bittensor.utils)
    1046. @@ -1979,14 +2040,14 @@

      D

    1047. deregister_primary_logger() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method)
    1048. + + - + - - - + +
    1049. modify_liquidity (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) +
    1050. +
    1051. modify_liquidity() (bittensor.core.async_subtensor.AsyncSubtensor method) + +
    1052. +
    1053. modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity) + +
    1054. @@ -3598,8 +3755,12 @@

      M

    1055. bittensor.core.extrinsics
    1056. bittensor.core.extrinsics.asyncex +
    1057. +
    1058. bittensor.core.extrinsics.asyncex.children
    1059. bittensor.core.extrinsics.asyncex.commit_reveal +
    1060. +
    1061. bittensor.core.extrinsics.asyncex.liquidity
    1062. bittensor.core.extrinsics.asyncex.move_stake
    1063. @@ -3620,10 +3781,14 @@

      M

    1064. bittensor.core.extrinsics.asyncex.unstaking
    1065. bittensor.core.extrinsics.asyncex.weights +
    1066. +
    1067. bittensor.core.extrinsics.children
    1068. bittensor.core.extrinsics.commit_reveal
    1069. bittensor.core.extrinsics.commit_weights +
    1070. +
    1071. bittensor.core.extrinsics.liquidity
    1072. bittensor.core.extrinsics.move_stake
    1073. @@ -3710,6 +3875,8 @@

      M

    1074. bittensor.utils.easy_imports
    1075. bittensor.utils.formatting +
    1076. +
    1077. bittensor.utils.liquidity
    1078. bittensor.utils.mock
    1079. @@ -3828,6 +3995,8 @@

      N

    1080. (bittensor.core.types.PrometheusServeCallParams attribute)
    1081. (bittensor.utils.balance.Balance attribute) +
    1082. +
    1083. (bittensor.utils.liquidity.LiquidityPosition attribute)
    1084. network (bittensor.core.metagraph.MetagraphMixin attribute) @@ -3858,6 +4027,8 @@

      N

    1085. neuron_for_uid (bittensor.core.subtensor_api.neurons.Neurons attribute)
    1086. + + - - + + - - +
    1087. subnet_identity (bittensor.core.chain_data.dynamic_info.DynamicInfo attribute) +
    1088. +
    1089. subnet_is_active (bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters attribute)
    1090. subnet_name (bittensor.core.chain_data.dynamic_info.DynamicInfo attribute) @@ -5091,6 +5304,8 @@

      T

    1091. thread_pool (bittensor.core.axon.Axon attribute)
    1092. threshold (bittensor.core.chain_data.proposal_vote_data.ProposalVoteData attribute) +
    1093. +
    1094. tick_to_price() (in module bittensor.utils.liquidity)
    1095. time_average (bittensor.utils.registration.pow.RegistrationStatistics attribute)
    1096. @@ -5106,8 +5321,6 @@

      T

    1097. to_hex() (bittensor.utils.substrate_utils.storage.StorageKey method)
    1098. - -
        +
      • unstake_all_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking) + +
      • unstake_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking) +

        Y

        + + +
        + diff --git a/static/python-api/html/index.html b/static/python-api/html/index.html index 0becc30787..23848e771f 100644 --- a/static/python-api/html/index.html +++ b/static/python-api/html/index.html @@ -178,6 +178,7 @@
      • bittensor.utils.btlogging
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • +
      • bittensor.utils.liquidity
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • diff --git a/static/python-api/html/objects.inv b/static/python-api/html/objects.inv index 8c8af4846175bf54224a7361729bf929bd3f4191..46ce8eb9a8ca88f02264ff0107438848978cb93c 100644 GIT binary patch delta 16038 zcmV;XK3Tz~cg1~>qkm`;k}ypX3_;q~{Q3=m;6)NC0U&PklGtqm--lbF3Mf>)pt6J+ z!Nte?@ZWo!R4M%U!^fy9ag?LKzBGURE6Ni1KHHW1^#9af{pJ6D{L6>-@3R;e@Jbcz z6RCP;5jkWrAk~W$HD2#Y5iOkAoc+G)!^UYu$j2WwP?h0kQGb$v6#ZGD1eFKgW?1fU z;t-vb(Rb(%8SJaHM0x6gLYlHaX0RmAv0qXge`lz9fpb{Up?8Q&06|#{0iEV09R!&B zY5oz7Do>)){Tz6~S>j>zt0IF5DBu>+?k}9<$0;W6`#Q$^Jt{rH($0Q`Q3_xdy`(Vl z#o`U3?aqU|Nq-=nXM2=Ez?UA_MP%om1lnv+OvSzXjV{5EfE_Ns!vlctbk#X$0J9h; z5adx2?cI<62BmZY0J_&vO@n}!Lo0l!9IE@pJ*h1$0o#P@wXug;>5l^ijkZOU?+8HI z27BX?!K%O+h^bD1=whLJqQ5?=MJAmfAqDRr zhn9zzgM>bV#4Ea=-sjpZ8-HrtBrwMW`H>PrxyEmq2ZOdppgqot%CbN&RS8{kIOMS4 zDn2Ydb$J=( zH4#o~9ndSE*C<6vR5I0=T_Kh}$@sx8(H>F(y3hTf<1$M9w!ernvZ3<9*QP-&)t*)X zsDGvA(KM?vq2_q%j8|MjKo?}>93AcVRmRS6YT4u-pMoPQjsESv;}O-E*uh%uxa0#~ z%>CxD*&~I{b07#3)aW^cLByY2qIAS=9mOSjbw4}!sdG{=`?J7R=6+_Rcne-(@gf}C zT$_6P=)Jj}Opy;SxAt_~Ju=Feg9d)1D}TV3d)po-XmjxBNX-mPS zE**0Zo8g}oEDj*XOcnHSAY8+XYyX2M_`VFuz-LimubMv>iiUToUxF=oqM`ykp!U3`NNMwdbjB%Raw|~qZ zC0`>#U_mEj^o}zR&>kI9$(b*xYcq#wXs0YA`w6ag{exx*>(g#Lz$?;!I5PRc?YyE+%TZ_M8DB5g~! z&)wfkmw3BPA*kp+?@{e+ZoRw#`+pkqcfe-4r*lkkyXFfQ_>kufwzo(KZxJf_0iqu- zQ(sz)z;!y^`E$neNGF>ri4ki)yb$NI9wXQgu8MNK|a) zhF_`TJeS?Bm8vbvDBc-o`;tcSclI~}Z0gf=)4byyjK8xp>kZl(XK$(61b=QKDiqnx z9@-p?S5FNWSY*_cL{?@>TYZj;(gwh$e(Te8y_M?uVM}49dR)9kMFO}m0p%fw#3qcT zWwoi&l=-3;kXWgI2h-g6#FutARjSm=BHE)QNg*9UYHX)gdN{+)(|Xf2+gkT|fpEbb zu`JE$0#~J-HP5Aq@tMbufq(4OT01!z?}ieaU)1HUfKfs>8=TtUTw-dF7P2uARBEn- z--2nzwblS$aB=`BE8(_~Jx9<$v9uK5s6h&C2$6?Yt{PV8yNX*Y#2WQZYc@TsJ&XjA zJSxqr{5^=gfO&yqp+Z;#sdo*F5Ji<)teslGQBEMBl89G|{B zn#*aJtXj?5(CQnkpXz#aBVz%S(3aUEyC|bAEQs}nF{e~IA2P9H7?c6Sa1@J5c~I|y z_FG4GxJudG7b=}J&$x~=24hw;`3C+A`~-erRq{6rlPioV-4X&=6u3AN0}@AQk`T<7 zn7^duOQnV~h7j)}I)6*s_ZwHv=en=uPU*Vuc~iP~h4MIUIekPfO78^p72$RbSru}o z_Tbkz{HDPBCZ2?>nQeze`?3`zC@%f+khdC)<982QeM|-E0}%_ztk=DCIfZ6NdEQ!1 z_=%;MaMz=28z+!civ;ed41&dvzB-}D;U{k#vdW_EsPybs z{HAW#jk3^%pMPa|k1`gMgs6{$c{U(VL^Dc zF{4E2oS8hLSZ%-uE`^@#PfcU)Efp5 zcN;=i%slQB-D7!86@phVO^@JJ98KGMK}vIioN<~=rhog!z*b>_o-ysm0ykq@tOaf+ zH(M+8Om4dt2pSMvHdvY7iY;(7y(z0wJW%5q#ab3*uc*4n;+uS2EgmvvC^y<$piwr~gf=wso}qjjXWI z^>{H%rioTm?+w9-yoMGJVH6IlAeMSCn$199oe=ow-9Osl@`}?c1U85Li;kC#VH!;D z48WeNX@nzI7@uGkH6ue!1il~mH4FMoLNZs{SbsY%#)%&yy@;D)B`0)IPWddTEjiP> zq#i_8g{&QtH9Ydnpx5CY8VbZEhxPRr7!#p#o#RDON_{rfgS0Am?~g1n8i3z z6&6!Lr+f5IWuW8DJ{?ojnS3g+z6bGCH%J>6$apl+Vabe|Ud|Z6?(EO^tsK<%u zGk=(M$u!jFfITuS=tE5LH=9scCI6~OosP8C?ZTqPUj7%aI{wdgm~p)`p+iaS+l27z zUfn|*iv)LQy9cq`f^tug&mVcJBkQFN87KsEyhsD-E&P5v}wI+ru%%YbR zhQl!rhEx3p!Ym|_z`hDjBusKFwL(eHr^*f$O;1-_WK8(G z+Tm91LlWQ_zv?eK9LiJNSB^aJVR>v@8qxqa=fYx(IGDuavqZgza_RQV^1Rzst9$`A5H-FrMbVENU z7nb7M@C(f2`-oOB4$Xp9n68WsxnQoq1fg*K2nPuU=}jn@hIXGQXa(u~B)A3SaU>Xp z>s2ENhUHt+BNgcM57p16M=!L)g&ws4om?7rp}M;C_=UGl19W>4)WW{T6(qwa7|NZc z;1lZ2rJxt~wM9cRoXZQrD1X$$=M#EC9YH_i`uf-NNfBic*n90BrC{D7b57y8V{%#n zdN*)ho^S0}FoirCNRJt<$;*-(;WC^14OeoJ7Ag-nevgeu>9wb`bFU}I*ZJM~Rv$(w zvW~lLJbs>G@x`yd&qbbJe4cY(WOkQ@%4^~KUhE>jdyiKH7l}Q2RDU?G5es`rS6=;> zMyYv?i!#RQlh;$ni>&75GK5Ge7des@dntV%k#gnpJ@6<;cHj8GZH2kV+s09PKF=V> zNZt4jrZP^9-8L@yW#hBo`!X4dzt<-n3(xmd<5Yb|Ss7z?>;DjZoSN^*D`U)p)kwa0 zj>a;^>&|~%mMhf4n}7ay!d)Ry>3iotXv-M2-@H0gjIjz-g;Z9>ZLD+*BapuE2McapilPAKB{UhhIj`JrrH`zrkI z*-_>K!!V@@%0iYV{Ltaq>;2>yw@06WV@65&4Iy)Z77He`Y=2|P%)^r*kJUcNo#BZ^ za=GywT;?LVK(E@K>qlv|k{PODFGwyi4);3b8Nc<<(C41L0!L}qacEXv!_bV8Tlx%0 zGfL_|U{seL{XNGxt!kgoCAF->)Q4BxgDO~oQq%k9*S~9&oZmP$W3<*0{ts|(p)3P* zA>pioT@937n18+oYwkNPj&p+b{91c;9v@}JV&DWitX_lRjInA@zn=X@#ktBaJPT2r zd4;Qv2!h`{zg8Hd7o{ovAVD!y&4+7(0`7iY?g$!SC2^=6EYN;q@f>? z$RrD%eY$z~R!2aIvIK~)Q&g&^!!}8dJ+aIxx{cI-_sB#y%&AEZZQ38tGzcFPza%DQ z)iFs#H@SdG4ph%!%K}y;fX!}V*m9Fp^rDrUWS|+W)i{MV-Ml{@lcLueC8B4io21}f zVoVQ~Yk!AL0Ar&a5@sriPTA5j7(?XOM zKMi?>F{pkqIM=5UGhksFW@OUdG)~Qw^=X*cWPe-KFrVp$m<>YH?Nr08Oj)g_X-&41 z3=;}WLK(Ght#NZciUWdM!Pq=0t!!(al%GAfzpLL=Uf?o?#7r~JuPr(#4~YvX4>=5n zP>zc-95&i9Bc~9`F`?VjD=s1bC-nt=Qi0BzKBbWsqmU_>LbiFKCOl(U-IYa$0B2UYD?c0eOpZ z9j)U+P0G^hLS3^}^EdG(Y(@W~u9rx%HBWOE6|_PTU|ds+@kc&^F-{?^B2sCv$K)P)u>H#`0o_A)V+1sh9JTQ4xbQn_ z+!r}ZgaGOA6IFpcSc$rD9;`;ZZ2WT0P(f&4C1{S>^n{vj*-lQe>5Hy@+7-8qCx4{j z^gvWAF{cNf1a0@2+6r{Lf_VlB37qxx1fw447Lc&)&bra$oH90(lhh;S$yrLBa-WhA z&MDE!nM|Fs)y!?`l%tt!r%oyB=Rb8$^FL-`naGjqobZ&asm{sPJA!VmJhyaBBvy6K z_&-4;OiaG&l&qOdr*0|h#KLmQ(0@cWRJVldj}Za7PdA*>HJ8rSEp5FRJ#IM`QARfO zr~eQ&v7&1Y)aos>82&Rzo5-u{g|N2QlvB2cY9D#0ih7AR)DPyH(z++|O?lBn{VX8L zXYfN@rjVFL30o)Ztc>C^I9{1n%y!G9{0yLmD@#{WTR8K()M~3km3& zj`c6R%k*gU(IH7aJw_MTo-ZIDmvlJe>{(J^`OgY>% zLV(0{Mr2!%MsFaeGqvzchyTdZ=J*yR(@yWSD3CHzjxp3Ps;i*#!lLb~hJ&(-dPYGH zdp7Y%+8B-6iAmGZ(<~RRxPzz!#iXq6hFQhh*}jbv(T-wdn8}3DMSq5wOz_&bLj>&T z%*DmQJE5I!R%ydL(1eu3hN(;n`eT^OMD5TNjftUZ471UTPh*%w8R0{U}>TTgyxh%DDu6T!+EX#MDl zN3dXzu-L_{Z+!5E${px}8{6l?BOkCcdI(@fX;G8Z8!)H{`+qMBGe^yY!Woq&QJjcD z>R=vbGhwo+@1e<`_`__wp0w(@Ih<*e>&m9mH|1jv z&v%c%TEOXz#+6yGTlEYuSL^}+nOQ#pgerHIF`_udgnw$0u)U+S21Qla)H(p`G8pac z;yCNF4KCiI`W=EbjGWD6q1PX>D5p)Mu-pq5%EgwP04;D~@d_Cv$(aLzRZQBd`s&*j z!UKA*qXb%#J-mJ=0;oZN`B-5h|QCE5%#TY0}nbznu*RCBG;zsNrEzP~biN zG1@{G4L7>Iq2&KbLr)THDEaY6X{6rrXMxaRQ66mdXES@${MV*oR`M=TszA-IaQ*yL zwPyIrj>uDta~4^msIpA@h*%PeuOumVlln_JYk#-?cJ?Wa;_oc5IZPIPF(qOBpQBxZ z!SVM;Tz+m&{4SfJDpm7qv77cu+k*Y8g%)ra`<2&+wy?puCQ_6^{)Y)GtIb%m;2M$D zv1oi!*3oyk#`uc}Vrm!VzK%d@3*>!C|9j7#Z?Sab_R!Xb@9EZ(W)A{N@wcox{2!FO4$U9Y&hVh^Q0*R?d*qWWd6Ts}s7 zXsaO)(fhn)Z<9)5bC;qpt14!Cq*WB*S758N9`PP!kxlvgh_g8%I7ZAbkhw+uR(l2* zhbbHJXs;#ZBE!{o#~rKIcm+$oTAH^K=6~UqZ7u_gZTbcav_W=Nx@Szv=i2JB3R56l zFiC6`1GB_^w7w@QjW?;4oqpMS#b#^h`xtZ@Jaeyjx<;R}CB|j#GG+s|%4`k~Uz@hN zY(>r6XbV3JYt4?{LVNzPe&BnHA!!sB8?C8c`1nJyDIX1s!S>Xr1C9Ak_XB8k0)Je9 zoAr*EBn}QVU>&r~M{AlR9(z#FQNeuYY^~h2MX5mTy@x0}a9yB)Hb#CeVo+LZffIxB zYxX_EZ&@?9EVbopM(k_>jkPLwy4HRzdBWCyKa1#Ei)$A_1r$+A7i|{zX0HZpQ+zW1 ztf0yVa~T6UmEg>qHWoTIh%vPu=zjzPZE?AyQ%SmtJQ>C27r%`988~!@uV07$81`#9 z$qe%PHxr#SMpKSo8x>cxm)i2$J=E5~LVot6^iJ-YL2jy~Xj{Cx=KuwO*1k-7f(ZtPw1jYr72n2@ate*bQsh}(fD#9+(9T8Dn ze^f*Toq=YcCk9B#v8l3YVzn)=-5+fY;wK2qtk^+jx|9N=V^G>p;D6N%udXq3L}~4L zBg!|2!shIX0b**5PBT~gXT+>8k90I|g0ydd+}!-A->;ay>Cs>?;bv#rjgGaO9L*b? zW3i#v6}lqqxVSk9Hcm^4k1_eB%SZQCP5(B{{4JWsg^QJ2vq?M*-jYq?Vft1~gN*hq z*o50J)3;taH#nwmxql{dFm|h@!(+lN)}-4jOSe{fHyfsJsZ6q%d@E&ujM-Z#O+xCo zPFlB3MsJza?sH7vDygCC-6HAU9+|l{Qa*S$dP_73UHdLZ8+Gz6kT$ZBTc3&OPJwle zuwF@x71fzLW)4S2*j%BZb@r-z;%f2=OZm{y%9WK43%x6<34d2prmv)QuA(&T7A=d# z=#`V2a&GjBNfBD_N=f@F$>bH1`qh!{m685ck?AWUjXMvMS3*YM4M-JoKTi#0(rnQh;FZ>tdN0F6uxm zK386 zDW^ir<}0~CV3UD9Il{Sdgmdc%XW^A;tU<4ifPQy`qm&hUI$Dwx zkdRu5%U@Bd);Oq<>M)z%=ufn*k?)u>8vPSurVL z?hGBvXaAlIR_9!yD<;P%E1jYC^1eHe4XWAQCj+V`ai0vRn5*3wp0ft_Qm#9gFgu=+ z(OKif%_@Sf5uNRgZKirxfX<~h2dwf$K856TNaPR;M~Mqtp929Nw>OW;<_ffkvhU8O4T)Z%6KPF$xMCMX;$+=P+gu)45SC(F zI&b83xay_;&RP2o`xkc$uZ*zQ6EBAEbo#KU<$u^2SWyvY`>xAPkO!KNN?fohvqzGp4HRdb3FTJq34+P zk3-Kft)GaVL)t&&I>&Tz>@do$K=+lz9)DyfZc4sY>lsvvsawdeASODwi%bOJ8cG zC!NxwgFmRM^5u=|02aAaGaPM*Q0VBGCqdZHix_ zl$gaJuq;uwm3qY2d@J|Zt@(O3U*3GV`?dg!$My1$=cl{J^>tN$2S!ndVgTg z3zz0=zMrotad3aPwz~-E8kpZ(MR>S-Tr5|1dP&UDm9?6|;-Am=Ps_y;Jj|c%p;)Q> z`R;jsd%Ik$EOgIu{sdNkJbZe(w@~+DehZ!+@Bgq-^*1^f7r<)2FQ1;)V9h#cJ^yV1 zeqY@E`o+S!TCINm1&9F#_lw70*MDCufqZ^iKFn>j;OnPvPs{bdivoJ$IM1XkcWT$?Tr^sOSWdWnT zly=L%l+{75{(_wkaigVBb2?NQ-48jaaUb- zW`hkot$wJb9w5cHEV5lo;o6~|c@9eXu#LkzpIS2(si}kll6gZr>wXp?CW^}z5d4dX zfUY)C_iPD+7-t)_bZ4o}4MQMuwI7H6mg=L4 zU|l$A7eH;uDC>x6Dk9(#+ka5)<>d7zu9IN~pSN3Y+!1Pb(`6O6xrDU}ava9mHe8%y zV!h+)d;0`WKbNn?;^6Zj)^uK6jKptUGygy67lW? zz;{Hf&ls4+RQCYg6MdUt8#l0-GGzT@c%a>VH|ghgsljj}|jwr=p> zseH_FyaRP^31@4FiAASIAr(`u%##7L$P=tvRmqu%5Sbv71b=LxLqN7nd*P6rgL2{E zcsL!4;Tn@|a;LrRK%EhHCHNKcwc~Vdu{#VNx0g7>tuqy}(|Fp?ZuA&|d8{`Qhsdtf zCjoaF&CC&OUZ5Dd#&bE0;s%7yB7~D#fpH0c`YOdCwiBol?I9IQ``igw{angn>zdSA zjsz{WW_r6QV1IsZ&J_G6XOyF+zG4=!PBL8U6fm^kR~fUwYY|`_j_%4)^ZbW6KofJN zIVW?6*xlIqz@!@P!3(alMM=@cCenouu!+YH%#wmx4h60<>!X_DEqH~+3nnfOAz3tP zaT$>!2M!p=8RKjMp^V*f;x{@s9eG~tae_7ncW!XZ&VO=qWY9Zh6LG5SqY+0ipb2bm z6YI|k76<0PN{7q-SyqkK&$?hAZ6D>%fWWcutbNGZJJ$(TQDw|{0JL&9fX@1|fbk)= z-;J)kA{!h>YEJ>VxOcX>hywygTW5iB>CB&%gR%Qg;nz|-x-fk<#yCyzTjq>`qwXcJ zpmT@iZ-29o~E<{$FG{Gte-fmL}D!Q+^ z(}U<2jqeShFvgi3x6|_6cuGM0v1(Lo)kbR?q|Ou4X^1?7uzN(+oW-WFQ;l1IiIB$+ zk=%8&(%XJBm`6_Z&RRP5K+|2j&)zgTgl-Hjw|%~YY3{b6C`0VM1p2q*^@|9I6w+)M zLVulbX*mtJdot>DKB*;XH3r(=i#cm3yCXo31tfuGl>;9e!iB>jha{*$AzoX$>++-H zDTi(CoYvg6RrlOw8tl2{<`O$i9dvW6oU2(_yqJ!i#S6}E8dN1S>kL!{ZQ$Xz@?cIU zaQ1rH1Ba2vy&jm1JW}<*Wc=ly2Qo*V$bTO2j~rSZDQXdb)%toRO1;cABKu-_^^_?H=QMwr5 zBnXO95fFl4I`RxURBp#_rMDl6lgp#Bi z=AZ|D9-3Qu5RB8&KM=7)<;Z=pe6Gf(Qs=New+#aK-4@QBTbz@5<_!n|I=YBNrwSwRm_1fM#|l7 zj)sUh;F->O{sV7> zPGV+z;W6a|&>+6{!JkPE?zhEWEP6Fvs4l3b3)My0!?y-oO&2eHc-mc!)1~`o8 zTMvXzmx$dDp(aDS7xd#y*ZUV~Z2 zJd^Uv;Ve~{Hzt>IdU+u=kPyockE_|0e9<~fyX1w)P{txZM20gAdEwH_t>FoOy0gCt z9;RG;jd1bY6{m62J%6(30;+o<(Z(eAg6>;33`bXXLZvEEs&NX;i|L#J^Mdt*N4SmR z1E}L5a|)X(i`n&vYFO$N$hw_q#I7WU4QbH8xZI zuFMk)hKvy>Ftd~OwkXQC??-xM~#F zpGum+^~bYSSAYLC!}q-U>-Ek6i|)Ys1^}tVN?IT)(HgV>UT|_~LzPQ}fIkO8$q(0I zV!Y2O`ve@}S!-27&9*|}`I#mNfkl_eMPmY>A)kUqqHiZWfW4yF(kw?3VVcxE2}+5cP5xBCaKW^%A&p9IhIESfsHJn>xZh@REXl&sq42TL7fdjQBTvN-@fabTW%i5sKYWaV7qw)673TvV>R?Q*kq zbIM#e@?302>MYF)uU$dSnjGU)YJX_ImfR!S?`NM1{2gX%{twRr4!*}QztY=-h?k)r zzklA}gT>=|`G-W$Yt;W-AY7pG&^2c94r5xs)TkH*P5Jb+5k@Rc3UehrdA9!`kJSYR|SjsR#L2pucI6*f;7lHiSN}UIchV<1npLY@u4!XfS+UOrX2KIz#DC`Q zH;Q6I;9UX(ZadMI@EZrTA|S@$Y^~f?<01Bd-ce?BE*@8{W^U?&@a*FNX4J?)S!ubq zRLodih#gFGs{qt?V?InTm_XazCEk_Vh9OiG-p1kVqbs!2Y8tO(?CW4_`9KsGG_R$_>HK6 zzUo&ulfGb8ue#@eWuWSB^*(a5gYox8QQ%^FzcOD~Aiqkw&m|X3S70{3zkm9DaSLu2 z_v^U?^I@zjAdmCMr`6)->G5_2?jAw?qb;x|9tHQ^0B^J)egoO{_slhU_`{Ex_Fy13BY1MeMavvd2UPv!$PF1eD)$0%1jF- zW;;2*2cTk{D)P*sz8|$fLVub;ilop0qf#xeNjaOW<+pp_+L`0>{*Roq( z^F6aQ2~MFRiYTRvHv80kanr$HT_%^%^Qyr+r{Vk*ZVc^<4^OO-@ZPBo2Rdj z9?(DE-7j4Bw19q?{}U{q*7Nn<q5$FxGpyP zRDMP&{LFt5QRd}Ugnx5r9n5~S z66CMKWp67k5>Q2U2+E`NMeqG4({awW<<35b-f@=nBvP$>AH_SW*D6k;A3jp z=Id(x^w3y<4~zAer(3XEQxmC{PD&jxPECo^ef{fA>$@PY*4bdtoqDNh7*@E*rMGcH zMf?#Ys0f5n0e@p$BurieLP%3LHOu9p6EnURlAtiV4Phm9WHwQimch_LBzj3<5(=NY z03=PrWgXBun*H9LM2A2}(xcQ7nGFkMpVU(s=v)`M;H7h3VUrikg6yuARx2mNBBpU8 z=YUn9lS}XZ%qB4&`WH13BfXP)fg4=F0A<$+vA&~4V1LxYnfij5nEQRNk+7HrH_HN) z`NzzH5&FlpLY?{{iG9H=Fu7m54oW?gaYQI6DvjU_!PL?8f3rg-9MPS?HjiaqpnX&v zK<6*!pWUfK6~atvNTGlZIR+HGkZ6@VR3speit^CE3JPX^g>=^1l6nj4tms@H4v1Ay z0^(c`4u6PMNK&iOe*={cr|Nk?T^5>b(D1Ie#H5XC7y=ufaWfp1oYCRVF2S(*vw~F^ zrmsYp2scE6Ii$dwO&C1FSj!>XNd%Vn!K`Z%me3P)f;q$`Jil)!_J7SLoC90NCm0E+ z>z{6qO-M(wdawHIa0zFWT#QhC?A!}zHZA;20)JU56|jTv03|Rh5w*jbaHSHSvR7*_ zdFBxajzf#_7x%q@R@0GSL=FJ$SzI|e@9KU5NoUx8ks19ti$R+rRAMB?5U)eMOO3R4 z{oRIb3!&ZfBnEl{NS7YdRzu)BHMlc^VwT$PC6D6oB5su}z-B+R*>T_DVS`eu&7k5i z+J6>NzOxE~sbq9BEKb&aFPE?_h<5L^Ilt=6$u^tO+jtE(ghy#%;aaMH{N2n>RX-U5 z{Mf9YTFg|Xy)n=lM|1#OSg6m1U1Ay_Nmd!FKg zn)X$Z0$S9pTEhEDq4e*UEaGE;Sm{;W`f>bxXZr+xdi$*~<=WGTK{!R6*#<%a zqBP${vZwy$U`zRMZbm@m|JDNPsP}KtQ8G+0T6jMVFZFe4EQ~c%>l}gEyrGLEw z(H>V>DR)qzfy~0AtnY4QLJ{lKe)njx_UGl@%>t~}i)TCacac(=9FY|D8aQl^b%Ov9 z)pw#yT3^$Es+S9!z9{}~4~EswP&k}%80k0AS1Q_HPhwTqvzN(W)z#UVZ$J&=xST#B zPcOnA%H4{iwrg6%6?7fg*-MinOn*iy+aREF_h18GCaH%_bjd6q_9&<&B67mxC$BuD zvXWTDm(FHnkArlo6r&VAF>2j1_Ib8*zeFCeoN={FhlNF%|Zo*Gmt zyW!6Y760f|hJx!p;HTzZ zwwMl??k_QO?s44y=k_ej!~M}YxR-1E0U91Iv<6r>ztSJ%;NxO{fQX0d>;V>jE|iy) z0&`2h!3CyYWiI8^8GrUH?z8aO3wF&#;W{t-0HOO_(vzwyFk8Hru*jnH?)edypXoNh zRkbbx$d8JsSK#WG0yQM4g^Yy9oHmqr!T=NSM!H9nRgu~RW)LN|+&U^80VxXrEQ7Fy zWTj=0o@g_QQs3(oQ5(zV+DhsdkX%dsBH}S?UOQ>4p|wRP;eR&wzw}4I|536}uT#0o zL95l8?PV>!`FcBF;q+B5^WY^^ML4RWy#o112PTn=O73#fBxaevxNE9>es5D)Gm)*v zL7z66oTRYp^FI3b;T}f`OxC!FcTPI?`RR8$bt>71T_*9g{E>_jNR$sIjlv_s zZa^iY^jJaewtpSB_!(BXC@_jlV3axoUiSWho!-!2P)wYxvtj7jv44igPVlq%N4R*9 z10zh>$bdq@FVZ>@ki#N}W#xU@%nD}k5^Cg>{<)NBPlYGdxI`QS?_5X@^F@=xm;5%qN^Dz0A0?_uLNb=RUW;uB~p|RHK2>}>`n=F&Iff6x#x0T zf%c}^1t@b@iVswADB>NU2+W5&kKDoIEy%EdZ^OI0K(3=jvLR+C<**<;P~=;L_>~BN z@5osvlz+{+)0MZVlY#1$%iZHU-*^`-tOx{cD{TX|PgUY7iPX>AkBaM@ydPD-XE^(z zp4~*J14bDsQsEb}ZLj!ZL6{EUhDAUA*HJXH>4Cs_)pbPM>A^>MWt875j6wB_A%bO5 z;unllL)G!ul5+8G#kZ1cM|{oRYP0{(pYLS$_kRHlxyp}Xx60TX`bc>J^QfSU=04YN4efKK+Dn!b=&#;czt&^j&SbRj*>jusaw5b)n+r**%K{PgaZ;zxYqIj1UM zU33!e>?Mu9!=J#9Kgo)j>m;<$*(0A=TFAVpoV@mA5CFjAYM7uT)e0_z#dVPxlo48zz9KS}=1kQc-={Qq386)-e_q|L72Q zT6ezIuOm-$Et%ojb9KL}H;Zp2^Hb!tUw;Ph zE&|p6zhQ~A7R~L3%*zo)oH|n%3xG|^=BWUSAe|rT;~9xT(Lz*vm7oa0?!(xf42fRh zN!#oIHXX;?CZFR)4dtlzX{)e~Po{8!)h{5qWco#BU#S#*nEz9P`54l5h`;@08=|pB zd1AOmayP-=_`g;tk-a9E%;E(LK!1)*1uMU)=t8}?;80-PM7#4%rG@VW-*bT*M(a-} zVSN?7m%fVDCeRqNO+P3k64J)(*4{pP7r?eLn@bW$v+D$|N%|z>o=rqPFB9Ve{`DkV zWL@ebDU<(BaQyKvLs;YGINHaqjqJQy(ta+(E7u;aqoP+i z<+5YcrZv?jHdMnke#d1bXn%^Rnz|g%ieDqxE1-Xi@)f3>=6jkr*OOlw%s zG=1_XrLS^rzn7uL9df|#z+SX9_r64n=7pNBQXVWTPk)N)HduuuVSfeXttp{92~La4 zGE|xdJp051dcE?J{CEiof;|&UjoGPfc7YQARDz4J`s#4%+9Ntv%Qcqg8o`N^J+`YM5$R*N`HlHJ!J~`3Zrxq=39WNC^*Dop8|naZ?Zg*4N;kQ&p1?#oe{P9%F&ivnL!PJe;&RB50t2NWehlb>Z0 z$)h@?iHcGRWUI`;WId@wmTp^2fv>psn8Nm`3R$kAkOb2y>Xn*WrJzntR--i3Csnmc zd_Q4?hiZ^yDL=j%ykv+-AWzcX6ty-LZEc#CrmCGOX=PKjF?B6WQTx)>y5zMjNiA!F zcBQ0M$!k-+e1D00tP~|duYe3Y{cTfevy|T=r|EL4I-HX3rYjrdrGlh9n4+7h>0}DJ z*d!fHQTI~Oxzx@thYMcibLsq27J3wEtm5_#QX1l<#9*`9Z^mG$gehs)%lGMVfkDvb zlTpmFfYDwavG@5f9{*qzP1#3C#yjY$Ur-n5pZ$>^Jb$YbI4ygb3j4Y~;+7=UCNd?u z)J|)VA=s6XquF?)=#o4sFF~;_AxBU{6Te)61jXxG`Z0taF-bOZ6k1uN+fAnxNOV(I zM2@3K5UNS=sI&w-@x2^17Ks9BFM^}e64b=^a@16Hg$t!6s9n((PAcz5%220v7H8uM zwfcKGYJY0F%xGB&S{F5%3=^AUw<(MsHiAh)e<0 z7;{bM{?F1Yb-2uF18T4N?yFI7k@Z#{`KZ7!tbh1q9J5UEcFW|k2raCDK3sH!NAqzL z!dQY)0yijwM2FE)(QAyv#}bU{yiz)Z`X#UNslSz=vx8|a>34Rq=ruy(V+lqYOk@~H zAdCO+qj*OLQ-{b<4cB_+xXdU`7?A@&dzMg8VYJRm4b$m=H%dXIL{l21(=x;G-B%wj zzJK|YK^%t}ty}3%Vz9_?vo75~^fLTOgYHN7(=Pwu2jygf(#WHk2tP_BLi`|`lTC)s zU>>)RWwlcsY&vHLrdJNoB7)9w-#G>FX;RY6vStMJSb%oOC1*WW6 z^RIP@JNDy;v$}gIbJ%^&J29_k1aHCFGhS09Q! gAIcrhj!P35u~0Ne1?zvS%dG0ZKeGw*zi9ml4ZT=CR{#J2 delta 15231 zcmV-_JAlN+eWiDhqkkw8vM@~%3@^4dzkUNCc#}vG0CAg_#BCG!KHLh0LZNDhiUKA% z&OWB6|32cVjN!*0J_cohgB1OBSO4{|D2d?v;!qsp|5JVSm;d|mFCUt}FG8Hbi7MzP zLiH?y{FH%TmO#hg`BDapci*fj!qNW*6VOE@M;^rVnNeBU%XayMrn7V0xk4BkBL1BLm z>~In}82vI!U<5Mwf=Ksg*73s_=l1(L#K$8l9Kn*#euY5{U=r+N7`bBc2GPsGfxL+z znP*3oK){wBIDZ8B!9EGJ-=mO-`;&cW40CY6#dmlD@SUtW>kMEL;s}B?$bzH&@!zAE zOaMUkx)Mb>*qs{TL*!7^FZM~jzyi=sxLO-Wm=x|f5YXTy3(`XlP_oC)cqFjQZ~{W2 z6Cko!$e!q~Pb!f~CWsFM#5FZ{qq7U*fT$}jvEB5(!+#xv!iNVGM;T0?Y$A9uj^v6F-L=PCbGs#dNc=kARDXK5EdY3e4XQbthu9hH)xMuB$&^wV}DGm>G zj$|%%3@W(X9)$;vTfXpctm(LuAJr8Fy{y13^V@Ou!_F9=7~-s`kq zUV|7#K|xg#dP7mTB;y9VKu1W{?lEUKs02BDsh?c zt<6zqyy5}^vLFNN=;(MX6I7hIY_g9}z!8x~|F+-ph@4QV7ewV3;R2q|{o0o0kV1Pg z>3;5 zh>;5?n#QVV9~mX|{ujTI72wKyhMuV$86i3*JEEpIg3n#ylG*NHFZ#2D*@>K8sV3&Y z23NuJOTCjL_+yZ|Lq7AvcEF)>{dNPMm46965(0weh=IHA&tP~89rV02SKJ!dm1@V$ zL9TYz4CBI`A2dVHp*y$S9A-qb2;Onx0NSBzRes^sWLu-oojb1NtufZ&g zRh*`xo0U|xMG=Gt?QC~(5Ppw|Vt)blmEBY~@9+S_@6%*f`+x{VdWC}a zC+*b}wH;;&IY=QRGo`6M#aUqjfZhGJU2mj%W@^ZcRFAW_Ad3JKCZIT_FgFQfXj$#c zIHr!C8O)8;e}HkSec}td_)Ar4WDy-v6vdE?AUSHrMtV5G^%F_mHJe)ZX@7=rMm=5( z&FKu6g_$+aq>1*K$BZCmYOTCUw0A>+^)Kq;kij4#n+=Xla4s-86lS7tS!HT2`3<#h z#+B9pb~ri#loaqK6SYz*pcq<;Z$TVG6GG&nk*k^&`nKZc6k?2et2OH$)(%F5@-!&) ztNa~^G=ph|L#{#?1F3cmgMScNnHa2{oPdKghk!^TqHU!($)Q0s{b!EPM4w(h-))(k zhS8?ctTnB^!TO1=M>aAV2m`&)v&bPxNDH&vc*CgoADIsc-!U}GfMGa-MWj5ac0u#4 z%MZAW>CF!+tTa!%jxz?MS2Otr{tNsBexOw{=kVDThJ_=Cf(BbftGY;amFa6jVE^sJp2GNdB4k#W7Unzr)c66dl z=1BPXKM%h8vFC>-uJ7~ zrMY2-5z5K;ktb|kP;n@Co{Μ01cZB_ZfPzVwM5x?J)O;R6&FAkdqVm@rNIN@P(E~>x(b>C_piNYEQe%7iNQTaU2qh9PbxVwPCP$ zjy`n7!r?yAK7Wf=R3TUe^YjQ-MQ_^Pb5e>EK_W~zz793>_rf# zhk*QAVF=6+0q}@&HCw3>Mz}2eVd7io)|fL&c%jN$z-! z=PYzOaNbO4lmq@Z=TyEsXW-BLIAVHx4blvS?xl?Kxmi06_U^qKUeWy~Rh@N|{f&&U zQT2GyOopeu0@dE&jmWEMu>d~)u<~N5d!yM5gq87ukJ|mC87{9lE`4BgI_^}wY&6rL zdZ!2Hxqpg=KVpUQ@n%s|GUSNB_5-)af-V!Ejw?;185`roj7U3vQ!M3#&dW*Lf|`;G zwM*(jWLe0{Az8sAPY-$(-l3+D+vKpFet|I)DpfHr@>24%sVcX)dzQB+4q(cF@r>NE zgEtd&zDNID1}fg{^Dz~j$>##Adl1h>p6fd-jekFo_)&cQ_6tid<9_kQL;X+rMLkYL zox!5bS|B$E%#oo%A3}n^-}}NU`d67(x&9j6&M#W@<$w07;{R-h8Phu>GL+s|dBsQRGSMs_KL<|HEzAs~cO?fIBV3x0l)i8Q zL4O^2zVamUiJOMoPBY{%-Rk(wR`B}b3oRvQAtO}yEmH0c9U57_pY+p9YIO`(m;}2R z`ol5FNwLzG;f&CJkHRu8PTmmW`mZN^JW~le>Eu0N!*Ajc^o)=%lX)NksSm7(B9Kt~ zg)gJ_JxEhu>;t|jNQ_UJM&bz;j59)i(trHM+=0WZ-IZpw^hkB1biCVODJgPFsq9NW zouMc(GO==x=rrE>K9Q;w+a@o854?tRs(QlACy_wE@=heoax67MNzJFq3>8IBS5stk z_`90nRvvv4;4__Y4RZ48R!5gZu2FI`-Ez%v!*4xvZ@mHfLN6<6gk3;G82KVfvwtA* zMcedvn%h2aD>Lp7L4}YsINiQ|$mY$bd&ogzq_duppJpA~bI)vcvN&o^(94mA&bN@{k#dX{wf`L|9z^fKYp{Ju5iB!B%U=*tx$ z=i}=|A*bi}EkRAvpSuFi$XDa@89lE|(9gKKZFOuZA}l<69^Ikj&C_4T$v^K$M$1EI z0>;bnCHV%%kOkl9Fe5cNS#l#>7E8C$L9Wt5#p%Ya*?5#*W1U?(wH#0LyK}8Rj8dc> zcUwEyJj3jZTlbo)JioZKbAMlDc9;0dYvuZ0>?*%|hgSqwi9I<~IHrjCJ)|3_?n0x~ zoQ5G8WA(|Y)$uB;WwG`lFv(Sp`G!7Bz7O(ZheRJ#IHA>EH*ngNYTH65s2e`KomL9s0 zFjn5K2ExuyUxO|49p~m8Z#}=ZPMya`S<#R)o(`+i*fV3S8td1y+aNS!{J3Gs-#wob z{O0&cz!<$Cj>!iR3ZZO{S53sy3=`}eBrq>3J$GLwA#(~c$s&Peh7*-MlAV&$NhCXE z7mw^``Sg(^_D)XAYqW#gDe&c?(oiCLLqbP`bw zn6Hxq(R1jsfMxE%W;Zhww@xZ*5x8|SPz*q-okEjB-G3dASrJ*a5>Y!0>!jdZV$2T! zYle*nW1}2*WiE+U*-|<%vf^`2jjV!BPuz1lO2@|wHnV8xI85qhq~&O-nUs!Go_0z) z&U~6l={W&vCZ**(sF{nnb_>JsAfL%4`L<=%|EAVW~J-Ys+-pAbCPC4 zo=GUJ=UZdktdHV=;FdUSo|Tq9Yo3)~JU9QAzp1>!We$mjVlZ7(bWrLO7f_s1=ntV3 zXN5m(lmj!)A(Y~rY)`Mafb3WD3;L`Al{I}<1%K@q_N#B?H@BRW)WW{PX*QWfa8h~Y zY?>8JBL7IS!%(e|NgRbt^FnnDM8CQ#2~Hl)tm2Tt{D5Q2^D7Szkcy9}&PfgOw;)x~ zIH9wb;~u;}5SkP7 z1u8*~wc)GZd}yPfs_SSYP~B&^o(U-D`6}p(ZHGMQ{^gW_s?l8=0Y#Ie5`GnY{Xh=) zSxU1FKr;NftUw;DL|!-#R>PkUez{~QA%C1uKWn93wzKnCx}vL|+r%#88M!VU z5LL>4X_e>ve3(}0>PblHkn-#ll~%dW$p&VX=R@o{hwzSGoPpV6+l+}}8TBrFR zv#@j|$h1y)PRdN{WUC!PHBp*fx;nCIT4(&9AQEO~-n2?qPnt`+lvM&DS!Jjr6@R8x z!upb9+NG@)@x&@e9SJm@5LWiw(8LyX!q&@M-0IS*rnb5~@1$-FeQD#`5SKY57C{st zDzIlPQ0<%|n1>lki#bz9KPf~#o+Ez{xbi~HK~A3(0kVQZb-S@1K6B0@S{RTen?M%2 ziHMXxOO!!s|Igi$(s1_C!lS-Frxt_~y5*wFq^X6>Jd33k3e;9o8y_?nc(id!+*8nE zLej%VqlHKhAsmsp;##gKJ3(mVfN8jSRks+8Jm%P9v=GQcG9!`~5C?A{C4VzDb4-W* zNK-tx7A5m+BT5wVB9IQ%(JiW~pt8ce?VFl|w2FE`K@D3uD2Hwu?56LfP?du^|o#r((wYJ|!H#j-x#tc#&Bf;|KeS_bP||3urz^89hSu!X!T-)J`di?2-f)B@K1=6RF%PM%9tQ+a@lUWC>d`%-W*v2PbQ zP32Q-<)ZGXN@x2S*LT|$xLti-e!bs<)q4H3Hi*OO2M^2V=ex&W4d8S}V`A2;R=oh!4LJiqWY*6B zAGsQ28{!19@J3OTU z%B(ai#xJ1Nq>ayhGaC$wevx2M!NV*gz(?|9@B(c#Tz~8KhNAx`3_VM*q3FjSg^@bT zpGNnES#dJepY`mK^Cp{zS&BO($pY28!nFNVwr2QBP2@4gDWKsO%Onvt5eq`Gl_cc+ zQGF?P+O57_e2RncJB`*0qg7W-37q~f(XPSZ@cSb!KGzn%>&H-;s@WygP4mEPMSp9c z1q{Y~<$smY7S=dZB1IbHf2goB+Kg=$Bza(TENTytZSWm#G5*3M^O;4tufpn?0(oDP z|K8KbRCFD}s0weQ8?8)Z6cV7D1By)mtlsGrS&l+8YyAr@euF3O9!4Nm??iIt2HH{I z^P8H%cS)sPZvAA=(_)qjwO;C)%pmqJBua+e}7n=+(&q)`;^ zS755M9`O++fl2xMh?8ZW;}B6VJ?fIu*Ju<7(J>$H1u1;M>VKRg>Dv6C^V497J)b~WB@jf=P)2};k%1jM? z7k`6HgJl*v3hQMi(y_X zE+$%2?%4Q4zA5*HMPqv^>p*>cC;I_3IsvZ0EjlJ90mFd;tc8}jXiaV6F$eV=WYl-g z)XLo&lnUg$_Yfo}rVC`y#K^N_^4^^8Z-3`N`8D~T;J2inTZY>5HOb9v0rhEB%(~Wm zEofnDzF!1nt%a3~pacpprHa-M0 zR-oKRZ55p#HFV7|HEB*PJ(y>l3NAyv;B_7|LSYtlt5BXt-AY*KHyAZpp)_>S7=K3v za-Or|FLk{lm(!=i{pgJD36i6w>Vzjn)h9YB%>JWwdY>_pphCxn(P`4HIAX)YdMl0z zFReT*y!;}<)nz;g-YbEq)B^)-@%;c_pzOt47HU5xUB2Ta;A(J((Xv2jU+Z1ywO zN>y5YtyJY{ploeA%m61+`1JuMg%{Z*g zI;JqiJAz>bgB$`)b5>2`W>iq(1r>f0Q5_LpTzyn{1?`bYLr)Bl5@S;)^TcXXUb#P- z8u(8-X2u{ZRXQ3)>kM9D*1H|MQo##z-&xjr_9DmZ8V@jN7 zLNsPNR5Tg(C#zals4kp-aeeD%oR$v*;d5_soP9DlY=(1tO}1A zX4qNgS3_o3HPf7KGpkM(v(2g+$mlhrDiV@6n<|-0wVFxg43fIdqH^eJW>8i0ryjGX zv>i)}nNt~cwpmjdS&JESCV#qBU{#f~Q&M40x5}NK1IP%Q2^vbq1XUA)PMfUs!Q6-q zR)vL{&2@&YRkw{*#kQ(&a!@)mXtklrsmEGvrjpQVHd1BVs7{-xye(AK2C8oR)M@in zuqhg`ajNhT4VB)75f7Dqj>I%C9CLA<%ePPGLy=dm@<23%*9~Jo>Gv*Q`NL|v{B^y2{sK1JC5`2Ece4eLx6Ac<`3LxI z^~c5tsL_G3F(wU$Xw;s$5R2tTEL6g5pih=?ZY<&4TEbab!nw1Av$lj|YhG_{;aF?X zt0kb{E#XLI@tcnpMSmI0^GeOJ(K?nKu*vpDlkRi^ky~l8bb7-1kncFjZGo|rhgQK9 z^DF8Bud}kVOl)}pQ)}p0JX_&xuqrAwSurU_Nns7Olc&;xY>>@HIU7(m>Evuc$=s6K z@T@hklOoc>ggLMbGS(W$FBTEBjc9FeY%*)w0<Yz<5zjreRZo136wW^#?VR=f5U zW;RVD9p5`6aF00I;w(Ivz2&_?F@1e70BFIUeu-+<$~}N*)Y^NAXWkZiiD}*(dWmV= zB64`Sh{hG>@|d2UGKOlx-E!Lq80|Hi*YoWv`3^LE ztLnW~-QK!lZ(XamtrDcWE zvNp-$B7cG2Gpp%GT=FpVsTjR=1W}cJ)&xdO_8GF_RIawQ_%{KR2YU!!V!R9DTrWlr zivlGtLXY_BZ^a(F)n6}`>zglk-&SDtxLyD8{B-xYomTaSpsrzjx_`R)ZF~2y(qHxM z>htpJ{dQxlX3{aYhPtIjcwB9Ne_H>hAK>%dj!}8f2ijm5n@1B>p zx9io$K=-VdPhj)M!>6Zv19h*Kx8UjV{tpvXe8q14#ZY$T}3JjC%SxNM#Jv4sU&GEohje0&+;|4Q;LaX@r;{EE+)Yubjs-HHmtp zOBjSW*`pU5{hL<#gN=4@*I8gv-qs%riro5hns>EDnGy{{AY!$*ap8peM+Z<7#ec~- zVjT0Bths5Z=Du+H)#+@Q!58Po8`nc^FQ1I!*7u@DLHdD}O~ZvT&W(3m746&(N*y^L zCc!R-ktNV>br(CZnx3stlB2$RAZWOFq_53+k~3$}U~3PQ36 zA~KEX)sZdeN)VC3bf&9K(hyC4q8Zfp_CN>|#GvJ@@svgveS8dU0#>>JZ>_ZzNRGAeg&yU}#?n5gw1(P`1!E1?#zC=V_B0r)=C)R3 ztw-;1W>MZnL|n(Sga1whMT)}%sFDs?+f%80uzETgP}&{A+TF;l zt=r1vN{z33Xc3UEolg85>wlnZ#abRt%d)Y;q&v@fZ(G=Gxg{UJLbi5n&8;fK8nxMy z_U45}%)WM!TSPvO3uOtG+jU8+5ss?e$Y!h0-QO)@TY)Oj5t2o8Os#-b?=md5u1=6+ zNiY!Av?F~1b+ECft<}kCEH(8N)6iIgaUth`q2sYkXdcT-1Q>@SXMc;JerJ$dK;v_z zKKUpa zH?hXZ!nJZgHI+#ql+e2y{6^-crTgTwbm9h)IwlMrpvF8}ZV3j|5v@&P{aM27L><@2 zaGAGBRA}9B>*mppL4Rru2=txi%tKagc~-EpGNH;mAeGwzwAPmy3{Ro?ZnWilb(S#R zJRCbfTiRNB`Pi+1ooA3Xh}X}5ZWhU&UqF6wM{ih_%WYrf=B*vco_#-WjYzgORGUiy zy(HCj6eR!Y<-s)y+fU$a7KzMGD@azh0X`Mky?<^8jOB$$EPr6JjB7Ryq4^utA#I4P zCU&?{kZ$5~3pkd#?j6wSV8=|rt*(|}ti4%z3sAvM?N+Y*E$vwx#`NrHPGF*MvS98U^}J)jD*7rD`z2dVO`X&xd=G-)4EHnpWL>{!8uI}@_+9B;3i zrJjK5!R$G9T7PTl*rOqP?Y?+tV-dPOkl5|>1B_F<4Mho}KD_APme()JK_C&0T@&hz zE2nwD?K38;^GPn3pEl6u7R6dasYMxC7LYkC$`rWR5UvKt$wd2r@{$;iVg2TaBv;W!}E^CNYD-*ZQ_jDP7eXqmu}=a*#){p%9T;1?EO8~A6h z`{lNxwy@HM)D~ad^m)i_PQx@*@yA24$d89+W+M?Wyx}z#G{Osl>dpb?C|!MY?*+w? zCxyOp>wmvHbj~vOZ{Cf1kyvBaj}RcW<1|H8_M4{g;D*B;7CvHSm61ROtaQ zL#5}1;+E4u*i5&CE(1fl<sceg$oJoJQH2K_h+F1a+pDjbqHi(=uBiTz>ec;w2-1YS@@Ch($*O^Yoh z69%AVF=yJiwKAA@u+c$fZq#zEL^Qe>>VKl-34?AZW5-NpMBO#Z<}CQJV`6h76dRy) z9=F&TowL}XPI%0*acRVNumg1B;mU3MRY9d~zbZanz+pU- zr6+XS6qjxY)wwU7p!ahSI-xL@Sh}Np#bQxg(?37g!gq%RE5Ns7xi2aeqi` zEW?a5N<+CFT$33{`rw+NgM22F~yCE_hJKhPGPLyUx`15@_b@0&T|E7hD z6Li5NVvY3kq!$xOe;zntH>0q))G2MjfJhi)?4%NwM>VzDNClka$ z5<(w1xb28pmNeZYW?9m7k zJY`k_*x~5ZgfSHe4|@rMqJJNzVM2UN3Hu22@Qk%8BFDB&;{A#uNDi|$%Dch@K+%uW zF#7<}m|(92i#?D+I8h!efmZD^d;|v=MEpuysaZcw<5U69_yJ*$U>xP7LfHr)NCTe)uqDUry(1OK(~mFSTNQ`dM`*j5)`KtniD{sd1tIC zWPs+%?Vm+Zx?)s&W40_iP7vR5M?tNsTetFs+~HLn2c_mQjLV!JT7o5RD%4?8oD~*O zGEDa!wlkPVqd7)`f`9L(hM~yeq|5G%W1hNU3b&vdh2GCnQ&xzTC~(z=oMavj2vrHjANnwq4`>Hk7&MM ze9G{5m~7cEo;e(R4`Djd+k=SLp&q~9--FfTcKwGy&nwjboFSZ{;?y=~^$tT)ztE^? z1(ZrntQoo$;eVEaQ4ZiSt$d894NaQC^Fvug_$_hJ?!4RyCh%4Pj`7P&rMT!?G33zK zq*9*}Ec{zRvBJM5%21e{Qb9$02;*AiFfmv;%UQ@@a8cI-BQ2>npUK{*9}0FoQ_Pp| zIN8u}z&Al0KR3yar$pa5j7})1uBh$5FW@ZhuM#|0e`XsC~oAO36$Xihd8zZCTBPk$70q0j*5e@MMtq} znaee03?nP{Im1+V!ZJ6x`;DTQ5O~+XfZa|sCH%$#jR=TwI8!UP$w>Wx-h~o2t5z*{ z+*Ac&nSV(EOvoVvC57SMk~zkzLL6Y68U-L{H|oQ*!#OnFUHo0CX_%adf)r>Q8<8iG zV(%ZT$BsAs!^rq@n|RMy)wW(fJ+Ic=<}Y%80@Fd=p9DSwQ{dnh_sb2c0$3& zlu$ytlQYXb5#vPlrY`W^I0FJQT@rCm+eJ~t{F;<7_zKitaiP89g5Fn6rw-ti)?bTm zb@li3beQ89N}}*ms%VQ(^%plS{NysZhJUUGy9hH>kV8%^CddpBh~Tb#afS|SP2CB4 z9nRGWczYWxBs>i;=p4YD^uSw?CAEAph#$c{N?`n1K&W`-FD!z!TLeguv zDz^Akd`2<+%>KcnZHuc2m(VJh-DZo6NUhjg{<6dd{-(%aaJ1dyXQ-C@d>Gwfud~B- zkp-bM0u8vFW~7MU6Xo)fY$j?YMStz#wyoUQg6lTX3h3tR&CP1F0r#tKt9$VH^}z-x z-wtg;hB(Gqop91L7(C*CAzNVdx;2Kc>=_GfW110t;oT@Qy+W=ZAB$@kyp*(x!OO9H zMb$}=z2g?Wt++}+7TF>wi?0{FcbiPcIe94#<~elCS;CV@w(?^T9*ABmIe&@zg{9|G zzxd+j>t_4(P@e!FR@*O6w_vj+N2E$RNp-+DH7QQ_)jw|LsUP7~vw8 zRLBYy{znj@%o9c#3~?4wdEp5mMcq^{mxor&xLQb@!s6D4mDG~i2W4D%LkH!-E{2gW zeC|AuG&Ps4N9$7ZBPabL zrf?%?ft9C|OYQ#5Brz7O7u7Kyos-(ZJS>P2&6$)oVr&*-pntbY^@EcH@|E}m-?_r zth^EsmwK>AtbCGMwf^g=bU0VfJ?b*wWP^fty&)z|96}%1upF8GsN|Fmb9V8D&7UPK z{W$sx1a`1P#2X_8-hc1?;Nizw_W7KY!{XkXb)EYq^f(=FjJP?=$m`4bzhdK$!Itvz zMgpq(r<-HrlSx+XRi7Cy{*0215vt72oe*U6!p}sICO-iO_zqA6lLC=*SRG(gz*Baz z_JZXKfuJ7@jJ>$;grJ&_1cUqp(2+)h6Z5X_77%oX?G{;(pMR4OG)X-LMq&(c8tPqW zq?PM$H*8Y~&7LPP&@({VgqEfn0^iAjJIPTEJzPVK`@bwc80~uy61c( z#u+)nEPcd46qFOQZ3LPQ^qv8ll=y4qk&8MWFcu2%;#XiT>zgxN;Yx z5bzlA^SL)@dH(Y+HISaF#ot^_RCJt9b5YfE6v=VX)_>VaEH4MqFQ<;k0+3V3{9CTt zPd(_EKv#iX?CLBcBDWSM2*}tvOyG-z{Wgg%7zf-O1-VoOR(Sm6l!s80V3)G*f&Ax&ntf;}W@xd|ec(<=@@mhuJJZg|obm!5 z9dLLE(tkC~`4q4?5DhMWWt%%_`=)zZx7hXux6*w;(g++^9l(<^UM!YvQ>@?kIN zZ(xMP9%ms0jT=M)%gp6Osp!z*>Bh--LgmF95`RpN)W#-vJSxe4gh}C;N10`W1Zd0- z?x@u37wnlM(R-TZ+2Oc2i*M~02CLpXBJ=eHnD1NSr@tNZ4B8AZ^8 zURfWodlH*kJ9SIr8@;d&3Y>ikitw;O|8~lWuqmBMSO&g$ttr^<17WPb^9 znb^LuYx590xIelCcXEwCK*Pa>)&L9ZSAY7099&%N4-j#1ojt(9&4u!sP@rybH#o!O ztHh?9y1=FhnOhbvd%^5+k-O@NIy|n5x#kIQ~%* zbpo#POspV5C1eErD6`lkFoh_v;nor12=XEWz%U4HNKzOE>3@he ztti#KP8Kw8=ciUuw}9YU>K5UTXHxtokJc2OgzT)M~}{(w5$Q zy1tkAnzCTbzXlD;@j%^nW{l34iABO*mN_$W?SII>gjc4zrvErg{qyyAlEL9a-yyqP9Ct zyhWW2RIOa*9^d-L+h}2#L(sI+G+^^oB`l*r-rn9Tu3~xbRlsIA{h^xOxk?9&GLodi zE@Yctam6C1I)EJ(-FPFt=qd99kFct%2zv8_kFd%JzgHN7@)u16i+`-ZJB(vZ)v?!- zV)6C(w}NYje@)+N)Bi7@??m?Z0SvLqd$Hm~&Kv4TX$I3EBWLqAnAfDnGzSgSxSW7Y z_LLlbVQv_&dX_-yG>p@R5YszaOr$`-{w+GKyJf_ucefNX@$u)JvVc|5S-6W`9DIjA zfggVo6*JQ$l+fuTpMOwT&on{er=S1f0=*8k>H@oX!{GfNe|OmT@9zgkQ;#4Ehw;+` zOb+I?p;~&W^RkL-otGvDcJ}|@sz7c6Tj~@CHE?Q*eT5mdfU;lFoG-zV#s?PNI!y7Z z&iMNb9|6PaCQ^Va__*!tnNtu=Bd}wR#5~wwqMq(&6lV9TY-KVz`F`m{r`q0?pW2g z8zL`9Byp+UKppDn6Nn1*=;?aLIIwEWQ#c`mp?`0P``VX@7{n{bU-VK8> zvUNX5BrZ_KY}ei~c;~>TG3!ebOS9_?u1+$+M#ox?8YXSRO%P-0{MLJlf9} z&F2EVsvm39zY4jb8m1Wb%Lvenc=RIWE*z*}ie#^dEJqfuZZ^?QEmCY*IT6aIBsii_ zy;m>FPtxp^5Fn_)NrZ+FGU>)$kV7>Ny~0zS(tms|!YfrCtzOYdPO0b^HEGn8i4D~- z#jjsRfF_Tssmk%9_!PlT0XcTcqGPxY37(>2qm6{E+?|6}Oi?{6B*rwwc@TqFOhluq zNExd|fbUs30m?Z!hSNiD1VS7~-{A@5Z-M%vpR8`G5mzb@X$=jUrcVB>^d#5jdl72P zA%6!PPV_}veeatq(Y#XAB;~=f;`HaJZi7__5|&Wj>JqAx;JmmfL#b)NvQNyQ*C{W^ zkChN0*g0a!F*`q-U7^H272v{8eN{Mhi>8GaIsj`$T;@$cu5JFi8wAKP*glrQ5gsgWLu+ay4{TT+HN#>FhcO?hFWq=W=P zns26wkfp}4SA{4|UPy*1nKN^lcB>F(S{0IGnvty|h~t@Ld$maL<>e$O&y@!9a(_Tl z0@Nu)W|8dGAxxB)k|0|q8Yb&mC8BhjViJ70WquCZUKOHTc_9I&vo!#PonLmx=ikrh z%%K_tS&Db10xuCF0?6|e4_SpnO3|3BV8|;Lk_v^YA|b9o2r3RU6b30pL0m!TWT{hQ zCAs1{1w`1X?*vlvUtH?XQ%_{o5`QUmL{&D3O9erBFh|{xQ!^ygi&<)gq&gv^M#x!> zh6_&exn?yIg&sv3tGK!O5r#M`G1#o;n=x1-VG7dq;(gjLFbG7@0g6otF@g#j@AV1YW#aKYO=b*mC^##CbWgK%DeFia3H0HjBRuMl>%g%BjDI4yM+wYT81;%y zG2$N!Fsicos1WLwoZ?e`D?sM}<5bYw=W5X@Li}R^MhZ+s7ziNq{~v?!Kn7EV$WRSa zJ<~5UN)rb837{iQ<0dg$m!*d3biW&=z!OnP4bpj;Vfgl|4_9B>i6D-{e7Kt3Oc>xe zx~sLh*FH!mQWHiV&40r7Q6LH22hn^~B6J3GSbZGNlJ!9)agzv<$;3||#S%|_5KpNk zO-qo>2f2Wo(lliHMYu->LOx0p8w(rxQ9N+v2ceL2BFwIy;(BrLKBz>f5~OfF!qrEy zuv#Cag5{|&6Q}e+DfEO2r_0zC9|a?6d=Pp>F2d>Z)%nMf7kK9%#2*)m0FOLL{CMpl zWJ6&TrBe}&0J?^Im_d3jc!5b4wuj?zU&R-{rJ)epLPWq*D7|<{ry@J*6sxq7E@6U9?{4Y!f FZ=?D|S>XTx diff --git a/static/python-api/html/py-modindex.html b/static/python-api/html/py-modindex.html index a88a6df847..bdaba07c41 100644 --- a/static/python-api/html/py-modindex.html +++ b/static/python-api/html/py-modindex.html @@ -177,6 +177,7 @@
      • bittensor.utils.btlogging
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • +
      • bittensor.utils.liquidity
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • @@ -498,11 +499,21 @@

        Python Module Index

            bittensor.core.extrinsics.asyncex + + +     + bittensor.core.extrinsics.asyncex.children +     bittensor.core.extrinsics.asyncex.commit_reveal + + +     + bittensor.core.extrinsics.asyncex.liquidity +     @@ -553,6 +564,11 @@

        Python Module Index

            bittensor.core.extrinsics.asyncex.weights + + +     + bittensor.core.extrinsics.children +     @@ -563,6 +579,11 @@

        Python Module Index

            bittensor.core.extrinsics.commit_weights + + +     + bittensor.core.extrinsics.liquidity +     @@ -778,6 +799,11 @@

        Python Module Index

            bittensor.utils.formatting + + +     + bittensor.utils.liquidity +     diff --git a/static/python-api/html/search.html b/static/python-api/html/search.html index 1fa47dff88..2ba8db3c27 100644 --- a/static/python-api/html/search.html +++ b/static/python-api/html/search.html @@ -176,6 +176,7 @@
      • bittensor.utils.btlogging
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • +
      • bittensor.utils.liquidity
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • diff --git a/static/python-api/html/searchindex.js b/static/python-api/html/searchindex.js index cf8da32cb5..4eb5c5725e 100644 --- a/static/python-api/html/searchindex.js +++ b/static/python-api/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API Reference": [[99, null]], "Attributes": [[1, "attributes"], [8, "attributes"], [23, "attributes"], [24, "attributes"], [25, "attributes"], [53, "attributes"], [54, "attributes"], [70, "attributes"], [71, "attributes"], [75, "attributes"], [78, "attributes"], [79, "attributes"], [81, "attributes"], [82, "attributes"], [83, "attributes"], [85, "attributes"], [87, "attributes"], [91, "attributes"], [97, "attributes"], [98, "attributes"]], "Bittensor SDK Documentation": [[100, null]], "Classes": [[0, "classes"], [1, "classes"], [2, "classes"], [3, "classes"], [4, "classes"], [5, "classes"], [6, "classes"], [8, "classes"], [9, "classes"], [10, "classes"], [11, "classes"], [12, "classes"], [13, "classes"], [14, "classes"], [15, "classes"], [16, "classes"], [17, "classes"], [18, "classes"], [19, "classes"], [20, "classes"], [21, "classes"], [22, "classes"], [23, "classes"], [24, "classes"], [53, "classes"], [55, "classes"], [56, "classes"], [57, "classes"], [58, "classes"], [59, "classes"], [60, "classes"], [61, "classes"], [62, "classes"], [63, "classes"], [64, "classes"], [65, "classes"], [66, "classes"], [68, "classes"], [69, "classes"], [70, "classes"], [71, "classes"], [73, "classes"], [76, "classes"], [77, "classes"], [79, "classes"], [82, "classes"], [85, "classes"], [87, "classes"], [91, "classes"], [93, "classes"], [96, "classes"]], "Example": [[0, null], [23, null], [24, null], [24, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [56, null], [61, null], [73, null], [77, null]], "Exceptions": [[23, "exceptions"], [25, "exceptions"], [71, "exceptions"], [88, "exceptions"], [97, "exceptions"]], "Functions": [[0, "functions"], [1, "functions"], [10, "functions"], [21, "functions"], [24, "functions"], [26, "functions"], [28, "functions"], [29, "functions"], [30, "functions"], [31, "functions"], [32, "functions"], [33, "functions"], [34, "functions"], [35, "functions"], [36, "functions"], [37, "functions"], [38, "functions"], [39, "functions"], [41, "functions"], [42, "functions"], [43, "functions"], [44, "functions"], [45, "functions"], [46, "functions"], [47, "functions"], [48, "functions"], [49, "functions"], [50, "functions"], [51, "functions"], [53, "functions"], [67, "functions"], [69, "functions"], [70, "functions"], [72, "functions"], [75, "functions"], [76, "functions"], [80, "functions"], [83, "functions"], [84, "functions"], [85, "functions"], [88, "functions"], [89, "functions"], [91, "functions"], [92, "functions"], [94, "functions"], [97, "functions"], [98, "functions"]], "Module Contents": [[0, "module-contents"], [1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [6, "module-contents"], [8, "module-contents"], [9, "module-contents"], [10, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"], [16, "module-contents"], [17, "module-contents"], [18, "module-contents"], [19, "module-contents"], [20, "module-contents"], [21, "module-contents"], [22, "module-contents"], [23, "module-contents"], [24, "module-contents"], [25, "module-contents"], [26, "module-contents"], [28, "module-contents"], [29, "module-contents"], [30, "module-contents"], [31, "module-contents"], [32, "module-contents"], [33, "module-contents"], [34, "module-contents"], [35, "module-contents"], [36, "module-contents"], [37, "module-contents"], [38, "module-contents"], [39, "module-contents"], [41, "module-contents"], [42, "module-contents"], [43, "module-contents"], [44, "module-contents"], [45, "module-contents"], [46, "module-contents"], [47, "module-contents"], [48, "module-contents"], [49, "module-contents"], [50, "module-contents"], [51, "module-contents"], [53, "module-contents"], [54, "module-contents"], [55, "module-contents"], [56, "module-contents"], [57, "module-contents"], [58, "module-contents"], [59, "module-contents"], [60, "module-contents"], [62, "module-contents"], [63, "module-contents"], [64, "module-contents"], [65, "module-contents"], [66, "module-contents"], [67, "module-contents"], [68, "module-contents"], [69, "module-contents"], [70, "module-contents"], [71, "module-contents"], [72, "module-contents"], [73, "module-contents"], [75, "module-contents"], [76, "module-contents"], [77, "module-contents"], [78, "module-contents"], [79, "module-contents"], [80, "module-contents"], [82, "module-contents"], [83, "module-contents"], [84, "module-contents"], [87, "module-contents"], [88, "module-contents"], [89, "module-contents"], [91, "module-contents"], [92, "module-contents"], [93, "module-contents"], [94, "module-contents"], [96, "module-contents"], [97, "module-contents"], [98, "module-contents"]], "Package Contents": [[61, "package-contents"], [81, "package-contents"], [85, "package-contents"]], "Submodules": [[7, "submodules"], [27, "submodules"], [40, "submodules"], [52, "submodules"], [61, "submodules"], [74, "submodules"], [81, "submodules"], [85, "submodules"], [86, "submodules"], [90, "submodules"], [95, "submodules"]], "Table of Contents": [[100, null]], "bittensor": [[74, null]], "bittensor.core": [[52, null]], "bittensor.core.async_subtensor": [[0, null]], "bittensor.core.axon": [[1, null]], "bittensor.core.chain_data": [[7, null]], "bittensor.core.chain_data.axon_info": [[2, null]], "bittensor.core.chain_data.chain_identity": [[3, null]], "bittensor.core.chain_data.delegate_info": [[4, null]], "bittensor.core.chain_data.delegate_info_lite": [[5, null]], "bittensor.core.chain_data.dynamic_info": [[6, null]], "bittensor.core.chain_data.info_base": [[8, null]], "bittensor.core.chain_data.ip_info": [[9, null]], "bittensor.core.chain_data.metagraph_info": [[10, null]], "bittensor.core.chain_data.neuron_info": [[11, null]], "bittensor.core.chain_data.neuron_info_lite": [[12, null]], "bittensor.core.chain_data.prometheus_info": [[13, null]], "bittensor.core.chain_data.proposal_vote_data": [[14, null]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, null]], "bittensor.core.chain_data.stake_info": [[16, null]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, null]], "bittensor.core.chain_data.subnet_identity": [[18, null]], "bittensor.core.chain_data.subnet_info": [[19, null]], "bittensor.core.chain_data.subnet_state": [[20, null]], "bittensor.core.chain_data.utils": [[21, null]], "bittensor.core.chain_data.weight_commit_info": [[22, null]], "bittensor.core.config": [[23, null]], "bittensor.core.dendrite": [[24, null]], "bittensor.core.errors": [[25, null]], "bittensor.core.extrinsics": [[40, null]], "bittensor.core.extrinsics.asyncex": [[27, null]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[26, null]], "bittensor.core.extrinsics.asyncex.move_stake": [[28, null]], "bittensor.core.extrinsics.asyncex.registration": [[29, null]], "bittensor.core.extrinsics.asyncex.root": [[30, null]], "bittensor.core.extrinsics.asyncex.serving": [[31, null]], "bittensor.core.extrinsics.asyncex.staking": [[32, null]], "bittensor.core.extrinsics.asyncex.start_call": [[33, null]], "bittensor.core.extrinsics.asyncex.take": [[34, null]], "bittensor.core.extrinsics.asyncex.transfer": [[35, null]], "bittensor.core.extrinsics.asyncex.unstaking": [[36, null]], "bittensor.core.extrinsics.asyncex.weights": [[37, null]], "bittensor.core.extrinsics.commit_reveal": [[38, null]], "bittensor.core.extrinsics.commit_weights": [[39, null]], "bittensor.core.extrinsics.move_stake": [[41, null]], "bittensor.core.extrinsics.registration": [[42, null]], "bittensor.core.extrinsics.root": [[43, null]], "bittensor.core.extrinsics.serving": [[44, null]], "bittensor.core.extrinsics.set_weights": [[45, null]], "bittensor.core.extrinsics.staking": [[46, null]], "bittensor.core.extrinsics.start_call": [[47, null]], "bittensor.core.extrinsics.take": [[48, null]], "bittensor.core.extrinsics.transfer": [[49, null]], "bittensor.core.extrinsics.unstaking": [[50, null]], "bittensor.core.extrinsics.utils": [[51, null]], "bittensor.core.metagraph": [[53, null]], "bittensor.core.settings": [[54, null]], "bittensor.core.stream": [[55, null]], "bittensor.core.subtensor": [[56, null]], "bittensor.core.subtensor_api": [[61, null]], "bittensor.core.subtensor_api.chain": [[57, null]], "bittensor.core.subtensor_api.commitments": [[58, null]], "bittensor.core.subtensor_api.delegates": [[59, null]], "bittensor.core.subtensor_api.extrinsics": [[60, null]], "bittensor.core.subtensor_api.metagraphs": [[62, null]], "bittensor.core.subtensor_api.neurons": [[63, null]], "bittensor.core.subtensor_api.queries": [[64, null]], "bittensor.core.subtensor_api.staking": [[65, null]], "bittensor.core.subtensor_api.subnets": [[66, null]], "bittensor.core.subtensor_api.utils": [[67, null]], "bittensor.core.subtensor_api.wallets": [[68, null]], "bittensor.core.synapse": [[69, null]], "bittensor.core.tensor": [[70, null]], "bittensor.core.threadpool": [[71, null]], "bittensor.core.timelock": [[72, null]], "bittensor.core.types": [[73, null]], "bittensor.utils": [[85, null]], "bittensor.utils.axon_utils": [[75, null]], "bittensor.utils.balance": [[76, null]], "bittensor.utils.btlogging": [[81, null]], "bittensor.utils.btlogging.console": [[77, null]], "bittensor.utils.btlogging.defines": [[78, null]], "bittensor.utils.btlogging.format": [[79, null]], "bittensor.utils.btlogging.helpers": [[80, null]], "bittensor.utils.btlogging.loggingmachine": [[82, null]], "bittensor.utils.easy_imports": [[83, null]], "bittensor.utils.formatting": [[84, null]], "bittensor.utils.mock": [[86, null]], "bittensor.utils.mock.subtensor_mock": [[87, null]], "bittensor.utils.networking": [[88, null]], "bittensor.utils.registration": [[90, null]], "bittensor.utils.registration.async_pow": [[89, null]], "bittensor.utils.registration.pow": [[91, null]], "bittensor.utils.registration.register_cuda": [[92, null]], "bittensor.utils.subnets": [[93, null]], "bittensor.utils.substrate_utils": [[95, null]], "bittensor.utils.substrate_utils.hasher": [[94, null]], "bittensor.utils.substrate_utils.storage": [[96, null]], "bittensor.utils.version": [[97, null]], "bittensor.utils.weight_utils": [[98, null]]}, "docnames": ["autoapi/bittensor/core/async_subtensor/index", "autoapi/bittensor/core/axon/index", "autoapi/bittensor/core/chain_data/axon_info/index", "autoapi/bittensor/core/chain_data/chain_identity/index", "autoapi/bittensor/core/chain_data/delegate_info/index", "autoapi/bittensor/core/chain_data/delegate_info_lite/index", "autoapi/bittensor/core/chain_data/dynamic_info/index", "autoapi/bittensor/core/chain_data/index", "autoapi/bittensor/core/chain_data/info_base/index", "autoapi/bittensor/core/chain_data/ip_info/index", "autoapi/bittensor/core/chain_data/metagraph_info/index", "autoapi/bittensor/core/chain_data/neuron_info/index", "autoapi/bittensor/core/chain_data/neuron_info_lite/index", "autoapi/bittensor/core/chain_data/prometheus_info/index", "autoapi/bittensor/core/chain_data/proposal_vote_data/index", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index", "autoapi/bittensor/core/chain_data/stake_info/index", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index", "autoapi/bittensor/core/chain_data/subnet_identity/index", "autoapi/bittensor/core/chain_data/subnet_info/index", "autoapi/bittensor/core/chain_data/subnet_state/index", "autoapi/bittensor/core/chain_data/utils/index", "autoapi/bittensor/core/chain_data/weight_commit_info/index", "autoapi/bittensor/core/config/index", "autoapi/bittensor/core/dendrite/index", "autoapi/bittensor/core/errors/index", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index", "autoapi/bittensor/core/extrinsics/asyncex/index", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index", "autoapi/bittensor/core/extrinsics/asyncex/registration/index", "autoapi/bittensor/core/extrinsics/asyncex/root/index", "autoapi/bittensor/core/extrinsics/asyncex/serving/index", "autoapi/bittensor/core/extrinsics/asyncex/staking/index", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index", "autoapi/bittensor/core/extrinsics/asyncex/take/index", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index", "autoapi/bittensor/core/extrinsics/asyncex/weights/index", "autoapi/bittensor/core/extrinsics/commit_reveal/index", "autoapi/bittensor/core/extrinsics/commit_weights/index", "autoapi/bittensor/core/extrinsics/index", "autoapi/bittensor/core/extrinsics/move_stake/index", "autoapi/bittensor/core/extrinsics/registration/index", "autoapi/bittensor/core/extrinsics/root/index", "autoapi/bittensor/core/extrinsics/serving/index", "autoapi/bittensor/core/extrinsics/set_weights/index", "autoapi/bittensor/core/extrinsics/staking/index", "autoapi/bittensor/core/extrinsics/start_call/index", "autoapi/bittensor/core/extrinsics/take/index", "autoapi/bittensor/core/extrinsics/transfer/index", "autoapi/bittensor/core/extrinsics/unstaking/index", "autoapi/bittensor/core/extrinsics/utils/index", "autoapi/bittensor/core/index", "autoapi/bittensor/core/metagraph/index", "autoapi/bittensor/core/settings/index", "autoapi/bittensor/core/stream/index", "autoapi/bittensor/core/subtensor/index", "autoapi/bittensor/core/subtensor_api/chain/index", "autoapi/bittensor/core/subtensor_api/commitments/index", "autoapi/bittensor/core/subtensor_api/delegates/index", "autoapi/bittensor/core/subtensor_api/extrinsics/index", "autoapi/bittensor/core/subtensor_api/index", "autoapi/bittensor/core/subtensor_api/metagraphs/index", "autoapi/bittensor/core/subtensor_api/neurons/index", "autoapi/bittensor/core/subtensor_api/queries/index", "autoapi/bittensor/core/subtensor_api/staking/index", "autoapi/bittensor/core/subtensor_api/subnets/index", "autoapi/bittensor/core/subtensor_api/utils/index", "autoapi/bittensor/core/subtensor_api/wallets/index", "autoapi/bittensor/core/synapse/index", "autoapi/bittensor/core/tensor/index", "autoapi/bittensor/core/threadpool/index", "autoapi/bittensor/core/timelock/index", "autoapi/bittensor/core/types/index", "autoapi/bittensor/index", "autoapi/bittensor/utils/axon_utils/index", "autoapi/bittensor/utils/balance/index", "autoapi/bittensor/utils/btlogging/console/index", "autoapi/bittensor/utils/btlogging/defines/index", "autoapi/bittensor/utils/btlogging/format/index", "autoapi/bittensor/utils/btlogging/helpers/index", "autoapi/bittensor/utils/btlogging/index", "autoapi/bittensor/utils/btlogging/loggingmachine/index", "autoapi/bittensor/utils/easy_imports/index", "autoapi/bittensor/utils/formatting/index", "autoapi/bittensor/utils/index", "autoapi/bittensor/utils/mock/index", "autoapi/bittensor/utils/mock/subtensor_mock/index", "autoapi/bittensor/utils/networking/index", "autoapi/bittensor/utils/registration/async_pow/index", "autoapi/bittensor/utils/registration/index", "autoapi/bittensor/utils/registration/pow/index", "autoapi/bittensor/utils/registration/register_cuda/index", "autoapi/bittensor/utils/subnets/index", "autoapi/bittensor/utils/substrate_utils/hasher/index", "autoapi/bittensor/utils/substrate_utils/index", "autoapi/bittensor/utils/substrate_utils/storage/index", "autoapi/bittensor/utils/version/index", "autoapi/bittensor/utils/weight_utils/index", "autoapi/index", "index"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1}, "filenames": ["autoapi/bittensor/core/async_subtensor/index.rst", "autoapi/bittensor/core/axon/index.rst", "autoapi/bittensor/core/chain_data/axon_info/index.rst", "autoapi/bittensor/core/chain_data/chain_identity/index.rst", "autoapi/bittensor/core/chain_data/delegate_info/index.rst", "autoapi/bittensor/core/chain_data/delegate_info_lite/index.rst", "autoapi/bittensor/core/chain_data/dynamic_info/index.rst", "autoapi/bittensor/core/chain_data/index.rst", "autoapi/bittensor/core/chain_data/info_base/index.rst", "autoapi/bittensor/core/chain_data/ip_info/index.rst", "autoapi/bittensor/core/chain_data/metagraph_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info_lite/index.rst", "autoapi/bittensor/core/chain_data/prometheus_info/index.rst", "autoapi/bittensor/core/chain_data/proposal_vote_data/index.rst", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.rst", "autoapi/bittensor/core/chain_data/stake_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.rst", "autoapi/bittensor/core/chain_data/subnet_identity/index.rst", "autoapi/bittensor/core/chain_data/subnet_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_state/index.rst", "autoapi/bittensor/core/chain_data/utils/index.rst", "autoapi/bittensor/core/chain_data/weight_commit_info/index.rst", "autoapi/bittensor/core/config/index.rst", "autoapi/bittensor/core/dendrite/index.rst", "autoapi/bittensor/core/errors/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/registration/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/root/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/serving/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/staking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/take/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/weights/index.rst", "autoapi/bittensor/core/extrinsics/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/commit_weights/index.rst", "autoapi/bittensor/core/extrinsics/index.rst", "autoapi/bittensor/core/extrinsics/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/registration/index.rst", "autoapi/bittensor/core/extrinsics/root/index.rst", "autoapi/bittensor/core/extrinsics/serving/index.rst", "autoapi/bittensor/core/extrinsics/set_weights/index.rst", "autoapi/bittensor/core/extrinsics/staking/index.rst", "autoapi/bittensor/core/extrinsics/start_call/index.rst", "autoapi/bittensor/core/extrinsics/take/index.rst", "autoapi/bittensor/core/extrinsics/transfer/index.rst", "autoapi/bittensor/core/extrinsics/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/utils/index.rst", "autoapi/bittensor/core/index.rst", "autoapi/bittensor/core/metagraph/index.rst", "autoapi/bittensor/core/settings/index.rst", "autoapi/bittensor/core/stream/index.rst", "autoapi/bittensor/core/subtensor/index.rst", "autoapi/bittensor/core/subtensor_api/chain/index.rst", "autoapi/bittensor/core/subtensor_api/commitments/index.rst", "autoapi/bittensor/core/subtensor_api/delegates/index.rst", "autoapi/bittensor/core/subtensor_api/extrinsics/index.rst", "autoapi/bittensor/core/subtensor_api/index.rst", "autoapi/bittensor/core/subtensor_api/metagraphs/index.rst", "autoapi/bittensor/core/subtensor_api/neurons/index.rst", "autoapi/bittensor/core/subtensor_api/queries/index.rst", "autoapi/bittensor/core/subtensor_api/staking/index.rst", "autoapi/bittensor/core/subtensor_api/subnets/index.rst", "autoapi/bittensor/core/subtensor_api/utils/index.rst", "autoapi/bittensor/core/subtensor_api/wallets/index.rst", "autoapi/bittensor/core/synapse/index.rst", "autoapi/bittensor/core/tensor/index.rst", "autoapi/bittensor/core/threadpool/index.rst", "autoapi/bittensor/core/timelock/index.rst", "autoapi/bittensor/core/types/index.rst", "autoapi/bittensor/index.rst", "autoapi/bittensor/utils/axon_utils/index.rst", "autoapi/bittensor/utils/balance/index.rst", "autoapi/bittensor/utils/btlogging/console/index.rst", "autoapi/bittensor/utils/btlogging/defines/index.rst", "autoapi/bittensor/utils/btlogging/format/index.rst", "autoapi/bittensor/utils/btlogging/helpers/index.rst", "autoapi/bittensor/utils/btlogging/index.rst", "autoapi/bittensor/utils/btlogging/loggingmachine/index.rst", "autoapi/bittensor/utils/easy_imports/index.rst", "autoapi/bittensor/utils/formatting/index.rst", "autoapi/bittensor/utils/index.rst", "autoapi/bittensor/utils/mock/index.rst", "autoapi/bittensor/utils/mock/subtensor_mock/index.rst", "autoapi/bittensor/utils/networking/index.rst", "autoapi/bittensor/utils/registration/async_pow/index.rst", "autoapi/bittensor/utils/registration/index.rst", "autoapi/bittensor/utils/registration/pow/index.rst", "autoapi/bittensor/utils/registration/register_cuda/index.rst", "autoapi/bittensor/utils/subnets/index.rst", "autoapi/bittensor/utils/substrate_utils/hasher/index.rst", "autoapi/bittensor/utils/substrate_utils/index.rst", "autoapi/bittensor/utils/substrate_utils/storage/index.rst", "autoapi/bittensor/utils/version/index.rst", "autoapi/bittensor/utils/weight_utils/index.rst", "autoapi/index.rst", "index.rst"], "indexentries": {"__repr__() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.__repr__", false]], "__repr__() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.__repr__", false]], "__setattr__() (bittensor.core.synapse.synapse method)": [[69, "bittensor.core.synapse.Synapse.__setattr__", false]], "__str__() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.__str__", false]], "__str__() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.__str__", false]], "account (bittensor.utils.mock.subtensor_mock.mocksystemstate attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSystemState.Account", false]], "accountid (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.AccountId", false]], "aclose_session() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.aclose_session", false]], "aclose_session() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.aclose_session", false], [24, "id0", false]], "active (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.active", false]], "active (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Active", false]], "active (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.active", false]], "active (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.active", false]], "active (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.active", false]], "active (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.active", false]], "active (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.active", false]], "active (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.active", false]], "active (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Active", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.activity_cutoff", false]], "activitycutoff (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ActivityCutoff", false]], "add_args() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.add_args", false]], "add_args() (bittensor.core.subtensor_api.subtensorapi class method)": [[61, "bittensor.core.subtensor_api.SubtensorApi.add_args", false]], "add_args() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[71, "bittensor.core.threadpool.PriorityThreadPoolExecutor.add_args", false]], "add_args() (bittensor.core.types.subtensormixin class method)": [[73, "bittensor.core.types.SubtensorMixin.add_args", false]], "add_args() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.add_args", false]], "add_legacy_methods() (in module bittensor.core.subtensor_api.utils)": [[67, "bittensor.core.subtensor_api.utils.add_legacy_methods", false]], "add_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake", false]], "add_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.add_stake", false]], "add_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake", false]], "add_stake() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.add_stake", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[32, "bittensor.core.extrinsics.asyncex.staking.add_stake_extrinsic", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.staking)": [[46, "bittensor.core.extrinsics.staking.add_stake_extrinsic", false]], "add_stake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake_multiple", false]], "add_stake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.add_stake_multiple", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[32, "bittensor.core.extrinsics.asyncex.staking.add_stake_multiple_extrinsic", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.staking)": [[46, "bittensor.core.extrinsics.staking.add_stake_multiple_extrinsic", false]], "additional (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.additional", false]], "additional (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.additional", false]], "addresses (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.addresses", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_alpha", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_interval", false]], "adjustmentalpha (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentAlpha", false]], "adjustmentinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentInterval", false]], "after_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_debug", false]], "after_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_trace", false]], "after_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_debug", false]], "after_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_default", false]], "after_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_info", false]], "after_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_trace", false]], "after_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_warning", false]], "after_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_transition", false]], "all_indices() (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex static method)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.all_indices", false]], "all_logger_names() (in module bittensor.utils.btlogging.helpers)": [[80, "bittensor.utils.btlogging.helpers.all_logger_names", false]], "all_loggers() (in module bittensor.utils.btlogging.helpers)": [[80, "bittensor.utils.btlogging.helpers.all_loggers", false]], "all_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.all_subnets", false]], "all_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.all_subnets", false]], "all_subnets() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.all_subnets", false]], "allowed_delta (in module bittensor.utils.axon_utils)": [[75, "bittensor.utils.axon_utils.ALLOWED_DELTA", false]], "allowed_nonce_window_ns() (in module bittensor.utils.axon_utils)": [[75, "bittensor.utils.axon_utils.allowed_nonce_window_ns", false]], "alpha_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_dividends_per_hotkey", false]], "alpha_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.alpha_dividends_per_hotkey", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_high", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_high", false]], "alpha_high (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_high", false]], "alpha_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_in", false]], "alpha_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_in_emission", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_low", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_low", false]], "alpha_low (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_low", false]], "alpha_out (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_out", false]], "alpha_out_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_out_emission", false]], "alpha_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_slippage", false]], "alpha_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_stake", false]], "alpha_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.alpha_stake", false]], "alpha_to_tao() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao", false]], "alpha_to_tao_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao_with_slippage", false]], "alphadividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaDividendsPerHotkey", false]], "alphahigh (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaHigh", false]], "alphain (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaIn", false]], "alphainemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaInEmission", false]], "alphalow (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaLow", false]], "alphaout (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOut", false]], "alphaoutemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOutEmission", false]], "alphastake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaStake", false]], "app (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.app", false]], "aquery() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.aquery", false]], "arbitration_block (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.arbitration_block", false]], "archive_entrypoint (in module bittensor.core.settings)": [[54, "bittensor.core.settings.ARCHIVE_ENTRYPOINT", false]], "as (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.AS", false]], "async_metagraph() (in module bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.async_metagraph", false]], "async_subtensor (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.async_subtensor", false]], "asyncmetagraph (class in bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.AsyncMetagraph", false]], "asyncsubtensor (class in bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor", false]], "attach() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.attach", false]], "axon (bittensor.core.axon.axonmiddleware attribute)": [[1, "bittensor.core.axon.AxonMiddleware.axon", false]], "axon (bittensor.core.synapse.synapse attribute)": [[69, "bittensor.core.synapse.Synapse.axon", false]], "axon (class in bittensor.core.axon)": [[1, "bittensor.core.axon.Axon", false]], "axon (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.axon", false]], "axon_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.axon_info", false]], "axon_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.axon_info", false]], "axoninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.AxonInfo", false]], "axoninfo (class in bittensor.core.chain_data.axon_info)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo", false]], "axoninfodict (class in bittensor.utils.mock.subtensor_mock)": [[87, "bittensor.utils.mock.subtensor_mock.AxonInfoDict", false]], "axonmiddleware (class in bittensor.core.axon)": [[1, "bittensor.core.axon.AxonMiddleware", false]], "axons (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.axons", false]], "axons (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Axons", false]], "axons (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.axons", false]], "axonservecallparams (class in bittensor.core.types)": [[73, "bittensor.core.types.AxonServeCallParams", false]], "ayes (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.ayes", false]], "b (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.B", false]], "balance (class in bittensor.utils.balance)": [[76, "bittensor.utils.balance.Balance", false]], "base_log_format (in module bittensor.utils.btlogging.defines)": [[78, "bittensor.utils.btlogging.defines.BASE_LOG_FORMAT", false]], "baseclass (in module bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.BaseClass", false]], "basemodel (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.BaseModel", false]], "before_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_debug", false]], "before_disable_logging() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_logging", false]], "before_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_trace", false]], "before_enable_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_console", false]], "before_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_debug", false]], "before_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_default", false]], "before_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_info", false]], "before_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_trace", false]], "before_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_warning", false]], "before_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_transition", false]], "bits (bittensor.utils.balance.fixedpoint attribute)": [[76, "bittensor.utils.balance.FixedPoint.bits", false]], "bittensor": [[74, "module-bittensor", false]], "bittensor.core": [[52, "module-bittensor.core", false]], "bittensor.core.async_subtensor": [[0, "module-bittensor.core.async_subtensor", false]], "bittensor.core.axon": [[1, "module-bittensor.core.axon", false]], "bittensor.core.chain_data": [[7, "module-bittensor.core.chain_data", false]], "bittensor.core.chain_data.axon_info": [[2, "module-bittensor.core.chain_data.axon_info", false]], "bittensor.core.chain_data.chain_identity": [[3, "module-bittensor.core.chain_data.chain_identity", false]], "bittensor.core.chain_data.delegate_info": [[4, "module-bittensor.core.chain_data.delegate_info", false]], "bittensor.core.chain_data.delegate_info_lite": [[5, "module-bittensor.core.chain_data.delegate_info_lite", false]], "bittensor.core.chain_data.dynamic_info": [[6, "module-bittensor.core.chain_data.dynamic_info", false]], "bittensor.core.chain_data.info_base": [[8, "module-bittensor.core.chain_data.info_base", false]], "bittensor.core.chain_data.ip_info": [[9, "module-bittensor.core.chain_data.ip_info", false]], "bittensor.core.chain_data.metagraph_info": [[10, "module-bittensor.core.chain_data.metagraph_info", false]], "bittensor.core.chain_data.neuron_info": [[11, "module-bittensor.core.chain_data.neuron_info", false]], "bittensor.core.chain_data.neuron_info_lite": [[12, "module-bittensor.core.chain_data.neuron_info_lite", false]], "bittensor.core.chain_data.prometheus_info": [[13, "module-bittensor.core.chain_data.prometheus_info", false]], "bittensor.core.chain_data.proposal_vote_data": [[14, "module-bittensor.core.chain_data.proposal_vote_data", false]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false]], "bittensor.core.chain_data.stake_info": [[16, "module-bittensor.core.chain_data.stake_info", false]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, "module-bittensor.core.chain_data.subnet_hyperparameters", false]], "bittensor.core.chain_data.subnet_identity": [[18, "module-bittensor.core.chain_data.subnet_identity", false]], "bittensor.core.chain_data.subnet_info": [[19, "module-bittensor.core.chain_data.subnet_info", false]], "bittensor.core.chain_data.subnet_state": [[20, "module-bittensor.core.chain_data.subnet_state", false]], "bittensor.core.chain_data.utils": [[21, "module-bittensor.core.chain_data.utils", false]], "bittensor.core.chain_data.weight_commit_info": [[22, "module-bittensor.core.chain_data.weight_commit_info", false]], "bittensor.core.config": [[23, "module-bittensor.core.config", false]], "bittensor.core.dendrite": [[24, "module-bittensor.core.dendrite", false]], "bittensor.core.errors": [[25, "module-bittensor.core.errors", false]], "bittensor.core.extrinsics": [[40, "module-bittensor.core.extrinsics", false]], "bittensor.core.extrinsics.asyncex": [[27, "module-bittensor.core.extrinsics.asyncex", false]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[26, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false]], "bittensor.core.extrinsics.asyncex.move_stake": [[28, "module-bittensor.core.extrinsics.asyncex.move_stake", false]], "bittensor.core.extrinsics.asyncex.registration": [[29, "module-bittensor.core.extrinsics.asyncex.registration", false]], "bittensor.core.extrinsics.asyncex.root": [[30, "module-bittensor.core.extrinsics.asyncex.root", false]], "bittensor.core.extrinsics.asyncex.serving": [[31, "module-bittensor.core.extrinsics.asyncex.serving", false]], "bittensor.core.extrinsics.asyncex.staking": [[32, "module-bittensor.core.extrinsics.asyncex.staking", false]], "bittensor.core.extrinsics.asyncex.start_call": [[33, "module-bittensor.core.extrinsics.asyncex.start_call", false]], "bittensor.core.extrinsics.asyncex.take": [[34, "module-bittensor.core.extrinsics.asyncex.take", false]], "bittensor.core.extrinsics.asyncex.transfer": [[35, "module-bittensor.core.extrinsics.asyncex.transfer", false]], "bittensor.core.extrinsics.asyncex.unstaking": [[36, "module-bittensor.core.extrinsics.asyncex.unstaking", false]], "bittensor.core.extrinsics.asyncex.weights": [[37, "module-bittensor.core.extrinsics.asyncex.weights", false]], "bittensor.core.extrinsics.commit_reveal": [[38, "module-bittensor.core.extrinsics.commit_reveal", false]], "bittensor.core.extrinsics.commit_weights": [[39, "module-bittensor.core.extrinsics.commit_weights", false]], "bittensor.core.extrinsics.move_stake": [[41, "module-bittensor.core.extrinsics.move_stake", false]], "bittensor.core.extrinsics.registration": [[42, "module-bittensor.core.extrinsics.registration", false]], "bittensor.core.extrinsics.root": [[43, "module-bittensor.core.extrinsics.root", false]], "bittensor.core.extrinsics.serving": [[44, "module-bittensor.core.extrinsics.serving", false]], "bittensor.core.extrinsics.set_weights": [[45, "module-bittensor.core.extrinsics.set_weights", false]], "bittensor.core.extrinsics.staking": [[46, "module-bittensor.core.extrinsics.staking", false]], "bittensor.core.extrinsics.start_call": [[47, "module-bittensor.core.extrinsics.start_call", false]], "bittensor.core.extrinsics.take": [[48, "module-bittensor.core.extrinsics.take", false]], "bittensor.core.extrinsics.transfer": [[49, "module-bittensor.core.extrinsics.transfer", false]], "bittensor.core.extrinsics.unstaking": [[50, "module-bittensor.core.extrinsics.unstaking", false]], "bittensor.core.extrinsics.utils": [[51, "module-bittensor.core.extrinsics.utils", false]], "bittensor.core.metagraph": [[53, "module-bittensor.core.metagraph", false]], "bittensor.core.settings": [[54, "module-bittensor.core.settings", false]], "bittensor.core.stream": [[55, "module-bittensor.core.stream", false]], "bittensor.core.subtensor": [[56, "module-bittensor.core.subtensor", false]], "bittensor.core.subtensor_api": [[61, "module-bittensor.core.subtensor_api", false]], "bittensor.core.subtensor_api.chain": [[57, "module-bittensor.core.subtensor_api.chain", false]], "bittensor.core.subtensor_api.commitments": [[58, "module-bittensor.core.subtensor_api.commitments", false]], "bittensor.core.subtensor_api.delegates": [[59, "module-bittensor.core.subtensor_api.delegates", false]], "bittensor.core.subtensor_api.extrinsics": [[60, "module-bittensor.core.subtensor_api.extrinsics", false]], "bittensor.core.subtensor_api.metagraphs": [[62, "module-bittensor.core.subtensor_api.metagraphs", false]], "bittensor.core.subtensor_api.neurons": [[63, "module-bittensor.core.subtensor_api.neurons", false]], "bittensor.core.subtensor_api.queries": [[64, "module-bittensor.core.subtensor_api.queries", false]], "bittensor.core.subtensor_api.staking": [[65, "module-bittensor.core.subtensor_api.staking", false]], "bittensor.core.subtensor_api.subnets": [[66, "module-bittensor.core.subtensor_api.subnets", false]], "bittensor.core.subtensor_api.utils": [[67, "module-bittensor.core.subtensor_api.utils", false]], "bittensor.core.subtensor_api.wallets": [[68, "module-bittensor.core.subtensor_api.wallets", false]], "bittensor.core.synapse": [[69, "module-bittensor.core.synapse", false]], "bittensor.core.tensor": [[70, "module-bittensor.core.tensor", false]], "bittensor.core.threadpool": [[71, "module-bittensor.core.threadpool", false]], "bittensor.core.timelock": [[72, "module-bittensor.core.timelock", false]], "bittensor.core.types": [[73, "module-bittensor.core.types", false]], "bittensor.utils": [[85, "module-bittensor.utils", false]], "bittensor.utils.axon_utils": [[75, "module-bittensor.utils.axon_utils", false]], "bittensor.utils.balance": [[76, "module-bittensor.utils.balance", false]], "bittensor.utils.btlogging": [[81, "module-bittensor.utils.btlogging", false]], "bittensor.utils.btlogging.console": [[77, "module-bittensor.utils.btlogging.console", false]], "bittensor.utils.btlogging.defines": [[78, "module-bittensor.utils.btlogging.defines", false]], "bittensor.utils.btlogging.format": [[79, "module-bittensor.utils.btlogging.format", false]], "bittensor.utils.btlogging.helpers": [[80, "module-bittensor.utils.btlogging.helpers", false]], "bittensor.utils.btlogging.loggingmachine": [[82, "module-bittensor.utils.btlogging.loggingmachine", false]], "bittensor.utils.easy_imports": [[83, "module-bittensor.utils.easy_imports", false]], "bittensor.utils.formatting": [[84, "module-bittensor.utils.formatting", false]], "bittensor.utils.mock": [[86, "module-bittensor.utils.mock", false]], "bittensor.utils.mock.subtensor_mock": [[87, "module-bittensor.utils.mock.subtensor_mock", false]], "bittensor.utils.networking": [[88, "module-bittensor.utils.networking", false]], "bittensor.utils.registration": [[90, "module-bittensor.utils.registration", false]], "bittensor.utils.registration.async_pow": [[89, "module-bittensor.utils.registration.async_pow", false]], "bittensor.utils.registration.pow": [[91, "module-bittensor.utils.registration.pow", false]], "bittensor.utils.registration.register_cuda": [[92, "module-bittensor.utils.registration.register_cuda", false]], "bittensor.utils.subnets": [[93, "module-bittensor.utils.subnets", false]], "bittensor.utils.substrate_utils": [[95, "module-bittensor.utils.substrate_utils", false]], "bittensor.utils.substrate_utils.hasher": [[94, "module-bittensor.utils.substrate_utils.hasher", false]], "bittensor.utils.substrate_utils.storage": [[96, "module-bittensor.utils.substrate_utils.storage", false]], "bittensor.utils.version": [[97, "module-bittensor.utils.version", false]], "bittensor.utils.weight_utils": [[98, "module-bittensor.utils.weight_utils", false]], "bittensor_logger_name (in module bittensor.utils.btlogging.defines)": [[78, "bittensor.utils.btlogging.defines.BITTENSOR_LOGGER_NAME", false]], "bittensorconsole (class in bittensor.utils.btlogging.console)": [[77, "bittensor.utils.btlogging.console.BittensorConsole", false]], "blacklist() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.blacklist", false]], "blacklist_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.blacklist_fns", false]], "blacklistedexception": [[25, "bittensor.core.errors.BlacklistedException", false]], "blake2_128() (in module bittensor.utils.substrate_utils.hasher)": [[94, "bittensor.utils.substrate_utils.hasher.blake2_128", false]], "blake2_128_concat() (in module bittensor.utils.substrate_utils.hasher)": [[94, "bittensor.utils.substrate_utils.hasher.blake2_128_concat", false]], "blake2_256() (in module bittensor.utils.substrate_utils.hasher)": [[94, "bittensor.utils.substrate_utils.hasher.blake2_256", false]], "block (bittensor.core.async_subtensor.asyncsubtensor property)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.block", false]], "block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block", false]], "block (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Block", false]], "block (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.block", false]], "block (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.block", false]], "block (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.block", false]], "block (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.block", false]], "block (bittensor.core.subtensor.subtensor property)": [[56, "bittensor.core.subtensor.Subtensor.block", false]], "block (bittensor.core.subtensor_api.subtensorapi property)": [[61, "bittensor.core.subtensor_api.SubtensorApi.block", false]], "block (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.block", false]], "block (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.block", false]], "block_at_registration (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block_at_registration", false]], "block_at_registration (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.block_at_registration", false]], "block_at_registration (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.block_at_registration", false]], "block_hash (bittensor.utils.registration.pow.registrationstatistics attribute)": [[91, "bittensor.utils.registration.pow.RegistrationStatistics.block_hash", false]], "block_number (bittensor.utils.mock.subtensor_mock.mocksubtensor attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.block_number", false]], "block_number (bittensor.utils.registration.pow.powsolution attribute)": [[91, "bittensor.utils.registration.pow.POWSolution.block_number", false]], "block_number (bittensor.utils.registration.pow.registrationstatistics attribute)": [[91, "bittensor.utils.registration.pow.RegistrationStatistics.block_number", false]], "blockatregistration (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlockAtRegistration", false]], "blocknotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.BlockNotFound", false]], "blocknumber (in module bittensor.utils.mock.subtensor_mock)": [[87, "bittensor.utils.mock.subtensor_mock.BlockNumber", false]], "blocks_since_epoch (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.blocks_since_epoch", false]], "blocks_since_last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.blocks_since_last_step", false]], "blocks_since_last_update (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.blocks_since_last_update", false]], "blockssincelaststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlocksSinceLastStep", false]], "blocktime (in module bittensor.core.settings)": [[54, "bittensor.core.settings.BLOCKTIME", false]], "body_hash (bittensor.core.synapse.synapse property)": [[69, "id0", false]], "body_hash() (bittensor.core.synapse.synapse method)": [[69, "bittensor.core.synapse.Synapse.body_hash", false]], "bonds (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.bonds", false]], "bonds (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.bonds", false]], "bonds (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.bonds", false]], "bonds (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.bonds", false]], "bonds (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.bonds", false]], "bonds() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.bonds", false]], "bonds() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.bonds", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_moving_avg", false]], "bondsmovingavg (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BondsMovingAvg", false]], "brokenthreadpool": [[71, "bittensor.core.threadpool.BrokenThreadPool", false]], "btfileformatter (class in bittensor.utils.btlogging.format)": [[79, "bittensor.utils.btlogging.format.BtFileFormatter", false]], "btstreamformatter (class in bittensor.utils.btlogging.format)": [[79, "bittensor.utils.btlogging.format.BtStreamFormatter", false]], "btstreamingresponsemodel (class in bittensor.core.stream)": [[55, "bittensor.core.stream.BTStreamingResponseModel", false]], "buffer (bittensor.core.tensor.tensor attribute)": [[70, "bittensor.core.tensor.Tensor.buffer", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Burn", false]], "burn (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.burn", false]], "burned_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.burned_register", false]], "burned_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.burned_register", false]], "burned_register() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.burned_register", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[29, "bittensor.core.extrinsics.asyncex.registration.burned_register_extrinsic", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[42, "bittensor.core.extrinsics.registration.burned_register_extrinsic", false]], "c (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.C", false]], "calculate_diff_seconds() (in module bittensor.utils.axon_utils)": [[75, "bittensor.utils.axon_utils.calculate_diff_seconds", false]], "call() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.call", false]], "call() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.call", false], [24, "id3", false]], "call() (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.call", false]], "call_stream() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.call_stream", false]], "call_stream() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.call_stream", false], [24, "id4", false]], "cast_dtype() (in module bittensor.core.tensor)": [[70, "bittensor.core.tensor.cast_dtype", false]], "cast_float() (in module bittensor.core.synapse)": [[69, "bittensor.core.synapse.cast_float", false]], "cast_int() (in module bittensor.core.synapse)": [[69, "bittensor.core.synapse.cast_int", false]], "cast_shape() (in module bittensor.core.tensor)": [[70, "bittensor.core.tensor.cast_shape", false]], "certificate (bittensor.core.types.axonservecallparams attribute)": [[73, "bittensor.core.types.AxonServeCallParams.certificate", false]], "certificate (class in bittensor.utils)": [[85, "bittensor.utils.Certificate", false]], "chain (bittensor.core.subtensor_api.subtensorapi property)": [[61, "bittensor.core.subtensor_api.SubtensorApi.chain", false]], "chain (class in bittensor.core.subtensor_api.chain)": [[57, "bittensor.core.subtensor_api.chain.Chain", false]], "chain_endpoint (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.chain_endpoint", false]], "chain_endpoint (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.chain_endpoint", false]], "chain_endpoint (bittensor.core.types.subtensormixin attribute)": [[73, "bittensor.core.types.SubtensorMixin.chain_endpoint", false]], "chain_state (bittensor.utils.mock.subtensor_mock.mocksubtensor attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.chain_state", false]], "chainconnectionerror": [[25, "bittensor.core.errors.ChainConnectionError", false]], "chaindatatype (class in bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.ChainDataType", false]], "chainerror": [[25, "bittensor.core.errors.ChainError", false]], "chainidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.ChainIdentity", false]], "chainidentity (class in bittensor.core.chain_data.chain_identity)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity", false]], "chainqueryerror": [[25, "bittensor.core.errors.ChainQueryError", false]], "chaintransactionerror": [[25, "bittensor.core.errors.ChainTransactionError", false]], "check_and_convert_to_balance() (in module bittensor.utils.balance)": [[76, "bittensor.utils.balance.check_and_convert_to_balance", false]], "check_config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.check_config", false]], "check_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.check_config", false]], "check_latest_version_in_pypi() (in module bittensor.utils.version)": [[97, "bittensor.utils.version.check_latest_version_in_pypi", false]], "check_version (in module bittensor.utils)": [[85, "bittensor.utils.check_version", false]], "check_version() (in module bittensor.utils.version)": [[97, "bittensor.utils.version.check_version", false]], "close (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.close", false]], "close() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.close", false]], "close() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.close", false]], "close_session() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.close_session", false]], "close_session() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.close_session", false], [24, "id5", false]], "coldkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.coldkey", false]], "coldkey (bittensor.core.types.axonservecallparams attribute)": [[73, "bittensor.core.types.AxonServeCallParams.coldkey", false]], "coldkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.coldkey_ss58", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.coldkeys", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Coldkeys", false]], "coldkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.coldkeys", false]], "coldkeys (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.coldkeys", false]], "color_map (in module bittensor.utils.btlogging.format)": [[79, "bittensor.utils.btlogging.format.color_map", false]], "commit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit", false]], "commit() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.commit", false]], "commit() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.commit", false]], "commit_hex (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_hex", false]], "commit_reveal_enabled (bittensor.core.subtensor_api.commitments.commitments attribute)": [[58, "bittensor.core.subtensor_api.commitments.Commitments.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.commit_reveal_enabled", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_period", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.asyncex.commit_reveal)": [[26, "bittensor.core.extrinsics.asyncex.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.commit_reveal)": [[38, "bittensor.core.extrinsics.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_weights_enabled", false]], "commit_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.commit_weights", false]], "commit_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_weights", false]], "commit_weights() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.commit_weights", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[37, "bittensor.core.extrinsics.asyncex.weights.commit_weights_extrinsic", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[39, "bittensor.core.extrinsics.commit_weights.commit_weights_extrinsic", false]], "commitments (bittensor.core.subtensor_api.subtensorapi property)": [[61, "bittensor.core.subtensor_api.SubtensorApi.commitments", false]], "commitments (class in bittensor.core.subtensor_api.commitments)": [[58, "bittensor.core.subtensor_api.commitments.Commitments", false]], "commitrevealperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealPeriod", false]], "commitrevealweightsenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealWeightsEnabled", false]], "computed_body_hash (bittensor.core.synapse.synapse attribute)": [[69, "bittensor.core.synapse.Synapse.computed_body_hash", false]], "config (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.config", false]], "config (class in bittensor.core.config)": [[23, "bittensor.core.config.Config", false]], "config (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.config", false]], "config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.config", false]], "config() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[71, "bittensor.core.threadpool.PriorityThreadPoolExecutor.config", false]], "config() (bittensor.core.types.subtensormixin static method)": [[73, "bittensor.core.types.SubtensorMixin.config", false]], "config() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.config", false]], "connection_requirements (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.connection_requirements", false]], "consensus (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.consensus", false]], "consensus (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Consensus", false]], "consensus (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.consensus", false]], "consensus (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.consensus", false]], "consensus (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.consensus", false]], "consensus (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.consensus", false]], "consensus (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.consensus", false]], "consensus (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.consensus", false]], "console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.console", false]], "console (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[91, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.console", false]], "console (class in bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.Console", false]], "convert_and_normalize_weights_and_uids() (in module bittensor.utils.weight_utils)": [[98, "bittensor.utils.weight_utils.convert_and_normalize_weights_and_uids", false]], "convert_bond_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[98, "bittensor.utils.weight_utils.convert_bond_uids_and_vals_to_tensor", false]], "convert_root_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[98, "bittensor.utils.weight_utils.convert_root_weight_uids_and_vals_to_tensor", false]], "convert_storage_parameter() (bittensor.utils.substrate_utils.storage.storagekey method)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.convert_storage_parameter", false]], "convert_uids_and_weights() (in module bittensor.utils.weight_utils)": [[98, "bittensor.utils.weight_utils.convert_uids_and_weights", false]], "convert_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[98, "bittensor.utils.weight_utils.convert_weight_uids_and_vals_to_tensor", false]], "convert_weights_and_uids_for_emit() (in module bittensor.utils.weight_utils)": [[98, "bittensor.utils.weight_utils.convert_weights_and_uids_for_emit", false]], "copy() (bittensor.core.types.axonservecallparams method)": [[73, "bittensor.core.types.AxonServeCallParams.copy", false]], "coroutine (bittensor.utils.mock.subtensor_mock.reusablecoroutine attribute)": [[87, "bittensor.utils.mock.subtensor_mock.ReusableCoroutine.coroutine", false]], "create_error_response() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.create_error_response", false]], "create_from_data() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_data", false]], "create_from_storage_function() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_storage_function", false]], "create_pow() (in module bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.create_pow", false]], "create_pow_async() (in module bittensor.utils.registration.async_pow)": [[89, "bittensor.utils.registration.async_pow.create_pow_async", false]], "create_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[55, "bittensor.core.stream.StreamingSynapse.create_streaming_response", false]], "create_subnet() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.create_subnet", false]], "critical() (bittensor.utils.btlogging.console.bittensorconsole method)": [[77, "bittensor.utils.btlogging.console.BittensorConsole.critical", false]], "critical() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.critical", false]], "cudasolver (class in bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.CUDASolver", false]], "custom_logger_method_stack_level (in module bittensor.utils.btlogging.loggingmachine)": [[82, "bittensor.utils.btlogging.loggingmachine.CUSTOM_LOGGER_METHOD_STACK_LEVEL", false]], "d (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.D", false]], "data (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.data", false]], "date_format (in module bittensor.utils.btlogging.defines)": [[78, "bittensor.utils.btlogging.defines.DATE_FORMAT", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.debug", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Debug", false]], "debug() (bittensor.utils.btlogging.console.bittensorconsole method)": [[77, "bittensor.utils.btlogging.console.BittensorConsole.debug", false]], "debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.debug", false]], "debug() (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.debug", false]], "decode_account_id() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_account_id", false]], "decode_account_id_list() (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo class method)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.decode_account_id_list", false]], "decode_hex_identity_dict() (in module bittensor.utils)": [[85, "bittensor.utils.decode_hex_identity_dict", false]], "decode_metadata() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_metadata", false]], "decode_revealed_commitment() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_revealed_commitment", false]], "decode_revealed_commitment_with_hotkey() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_revealed_commitment_with_hotkey", false]], "decode_scale_value() (bittensor.utils.substrate_utils.storage.storagekey method)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.decode_scale_value", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[34, "bittensor.core.extrinsics.asyncex.take.decrease_take_extrinsic", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[48, "bittensor.core.extrinsics.take.decrease_take_extrinsic", false]], "decrypt() (in module bittensor.core.timelock)": [[72, "bittensor.core.timelock.decrypt", false]], "default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Default", false]], "default() (bittensor.core.config.defaultconfig class method)": [[23, "bittensor.core.config.DefaultConfig.default", false]], "default() (bittensor.utils.mock.subtensor_mock.axoninfodict class method)": [[87, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.default", false]], "default() (bittensor.utils.mock.subtensor_mock.infodict class method)": [[87, "bittensor.utils.mock.subtensor_mock.InfoDict.default", false]], "default() (bittensor.utils.mock.subtensor_mock.prometheusinfodict class method)": [[87, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.default", false]], "default_endpoint (in module bittensor.core.settings)": [[54, "bittensor.core.settings.DEFAULT_ENDPOINT", false]], "default_log_backup_count (in module bittensor.utils.btlogging.defines)": [[78, "bittensor.utils.btlogging.defines.DEFAULT_LOG_BACKUP_COUNT", false]], "default_log_file_name (in module bittensor.utils.btlogging.defines)": [[78, "bittensor.utils.btlogging.defines.DEFAULT_LOG_FILE_NAME", false]], "default_log_format (in module bittensor.utils.btlogging.format)": [[79, "bittensor.utils.btlogging.format.DEFAULT_LOG_FORMAT", false]], "default_max_rotating_log_file_size (in module bittensor.utils.btlogging.defines)": [[78, "bittensor.utils.btlogging.defines.DEFAULT_MAX_ROTATING_LOG_FILE_SIZE", false]], "default_network (in module bittensor.core.settings)": [[54, "bittensor.core.settings.DEFAULT_NETWORK", false]], "default_trace_format (in module bittensor.utils.btlogging.format)": [[79, "bittensor.utils.btlogging.format.DEFAULT_TRACE_FORMAT", false]], "default_verify() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.default_verify", false]], "defaultconfig (class in bittensor.core.config)": [[23, "bittensor.core.config.DefaultConfig", false]], "defaults (in module bittensor.core.settings)": [[54, "bittensor.core.settings.DEFAULTS", false]], "delegate_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.delegate_ss58", false]], "delegatedinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DelegatedInfo", false]], "delegatedinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo", false]], "delegateinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DelegateInfo", false]], "delegateinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo", false]], "delegateinfobase (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase", false]], "delegateinfolite (class in bittensor.core.chain_data.delegate_info_lite)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite", false]], "delegates (bittensor.core.subtensor_api.subtensorapi property)": [[61, "bittensor.core.subtensor_api.SubtensorApi.delegates", false]], "delegates (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Delegates", false]], "delegates (class in bittensor.core.subtensor_api.delegates)": [[59, "bittensor.core.subtensor_api.delegates.Delegates", false]], "delegatetaketoohigh": [[25, "bittensor.core.errors.DelegateTakeTooHigh", false]], "delegatetaketoolow": [[25, "bittensor.core.errors.DelegateTakeTooLow", false]], "delegatetxratelimitexceeded": [[25, "bittensor.core.errors.DelegateTxRateLimitExceeded", false]], "dendrite (bittensor.core.synapse.synapse attribute)": [[69, "bittensor.core.synapse.Synapse.dendrite", false]], "dendrite (bittensor.utils.subnets.subnetsapi attribute)": [[93, "bittensor.utils.subnets.SubnetsAPI.dendrite", false]], "dendrite (class in bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.Dendrite", false]], "dendrite (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.dendrite", false]], "dendrite_default_error (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DENDRITE_DEFAULT_ERROR", false]], "dendrite_error_mapping (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DENDRITE_ERROR_MAPPING", false]], "dendritemixin (class in bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DendriteMixin", false]], "deregister_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.deregister_primary_logger", false]], "description (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.description", false]], "description (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.description", false]], "deserialize() (bittensor.core.synapse.synapse method)": [[69, "bittensor.core.synapse.Synapse.deserialize", false], [69, "id1", false]], "deserialize() (bittensor.core.tensor.tensor method)": [[70, "bittensor.core.tensor.Tensor.deserialize", false]], "determine_block_hash (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.determine_block_hash", false]], "determine_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.determine_block_hash", false]], "determine_block_hash() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.determine_block_hash", false]], "determine_chain_endpoint_and_network() (in module bittensor.utils)": [[85, "bittensor.utils.determine_chain_endpoint_and_network", false]], "dev_id (bittensor.utils.registration.pow.cudasolver attribute)": [[91, "bittensor.utils.registration.pow.CUDASolver.dev_id", false]], "dict() (bittensor.core.types.axonservecallparams method)": [[73, "bittensor.core.types.AxonServeCallParams.dict", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.difficulty", false]], "difficulty (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.difficulty", false]], "difficulty (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Difficulty", false]], "difficulty (bittensor.utils.registration.pow.powsolution attribute)": [[91, "bittensor.utils.registration.pow.POWSolution.difficulty", false]], "difficulty (bittensor.utils.registration.pow.registrationstatistics attribute)": [[91, "bittensor.utils.registration.pow.RegistrationStatistics.difficulty", false]], "difficulty() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.difficulty", false]], "difficulty() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.difficulty", false]], "disable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_debug", false]], "disable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_info", false]], "disable_logging (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_logging", false]], "disable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_third_party_loggers", false]], "disable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_trace", false]], "disable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_warning", false]], "disabled (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Disabled", false]], "discord (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.discord", false]], "discord (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.discord", false]], "dispatch() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.dispatch", false]], "dividends (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.dividends", false]], "dividends (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Dividends", false]], "dividends (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.dividends", false]], "dividends (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.dividends", false]], "dividends (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.dividends", false]], "dividends (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.dividends", false]], "dividends (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.dividends", false]], "dividends (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.dividends", false]], "do_block_step() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_block_step", false]], "do_serve_axon() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_serve_axon", false]], "do_serve_axon() (in module bittensor.core.extrinsics.asyncex.serving)": [[31, "bittensor.core.extrinsics.asyncex.serving.do_serve_axon", false]], "do_serve_axon() (in module bittensor.core.extrinsics.serving)": [[44, "bittensor.core.extrinsics.serving.do_serve_axon", false]], "do_serve_prometheus() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_serve_prometheus", false]], "do_set_weights() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_set_weights", false]], "do_transfer() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_transfer", false]], "does_hotkey_exist (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.does_hotkey_exist", false]], "drain (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.drain", false]], "dtype (bittensor.core.tensor.tensor attribute)": [[70, "bittensor.core.tensor.Tensor.dtype", false]], "dtypes (class in bittensor.core.tensor)": [[70, "bittensor.core.tensor.DTypes", false]], "dtypes (in module bittensor.core.tensor)": [[70, "bittensor.core.tensor.dtypes", false]], "duplicatechild": [[25, "bittensor.core.errors.DuplicateChild", false]], "dynamicinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DynamicInfo", false]], "dynamicinfo (class in bittensor.core.chain_data.dynamic_info)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo", false]], "e (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.E", false]], "emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Emission", false]], "emission (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.emission", false]], "emission (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.emission", false]], "emission (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.emission", false]], "emission (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.emission", false]], "emission (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.emission", false]], "emission (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.emission", false]], "emission (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.emission", false]], "emission_history (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.emission_history", false]], "emission_value (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.emission_value", false]], "emissions (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.emissions", false]], "emoji_map (in module bittensor.utils.btlogging.format)": [[79, "bittensor.utils.btlogging.format.emoji_map", false]], "enable_console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_console", false]], "enable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_debug", false]], "enable_default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_default", false]], "enable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_info", false]], "enable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_third_party_loggers", false]], "enable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_trace", false]], "enable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_warning", false]], "encode() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.encode", false]], "encode_params (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.encode_params", false]], "encode_params() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.encode_params", false]], "encode_params() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.encode_params", false]], "encrypt() (in module bittensor.core.timelock)": [[72, "bittensor.core.timelock.encrypt", false]], "end (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.end", false]], "error() (bittensor.utils.btlogging.console.bittensorconsole method)": [[77, "bittensor.utils.btlogging.console.BittensorConsole.error", false]], "error() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.error", false]], "event_loop_is_running() (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.event_loop_is_running", false]], "exception() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.exception", false]], "external_ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_ip", false]], "external_ip (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.external_ip", false]], "external_port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_port", false]], "externalipnotfound": [[88, "bittensor.utils.networking.ExternalIPNotFound", false]], "extract_response_json() (bittensor.core.stream.streamingsynapse method)": [[55, "bittensor.core.stream.StreamingSynapse.extract_response_json", false]], "extrinsicnotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.ExtrinsicNotFound", false]], "extrinsics (bittensor.core.subtensor_api.subtensorapi property)": [[61, "bittensor.core.subtensor_api.SubtensorApi.extrinsics", false]], "extrinsics (class in bittensor.core.subtensor_api.extrinsics)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics", false]], "extrinsics_subpackage (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.extrinsics_subpackage", false]], "failed_verification (bittensor.core.synapse.synapse property)": [[69, "bittensor.core.synapse.Synapse.failed_verification", false]], "fast_config (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_config", false]], "fast_server (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_server", false]], "fastapithreadedserver (class in bittensor.core.axon)": [[1, "bittensor.core.axon.FastAPIThreadedServer", false]], "filter_netuids_by_registered_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.filter_netuids_by_registered_hotkeys", false]], "finney_entrypoint (in module bittensor.core.settings)": [[54, "bittensor.core.settings.FINNEY_ENTRYPOINT", false]], "finney_test_entrypoint (in module bittensor.core.settings)": [[54, "bittensor.core.settings.FINNEY_TEST_ENTRYPOINT", false]], "fixed_to_float() (in module bittensor.utils.balance)": [[76, "bittensor.utils.balance.fixed_to_float", false]], "fixedpoint (class in bittensor.utils.balance)": [[76, "bittensor.utils.balance.FixedPoint", false]], "float_to_u64() (in module bittensor.utils)": [[85, "bittensor.utils.float_to_u64", false]], "force_register_neuron() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.force_register_neuron", false]], "force_set_balance() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.force_set_balance", false]], "format() (bittensor.utils.btlogging.format.btfileformatter method)": [[79, "bittensor.utils.btlogging.format.BtFileFormatter.format", false]], "format() (bittensor.utils.btlogging.format.btstreamformatter method)": [[79, "bittensor.utils.btlogging.format.BtStreamFormatter.format", false]], "format_error_message() (in module bittensor.utils)": [[85, "bittensor.utils.format_error_message", false]], "formattime() (bittensor.utils.btlogging.format.btfileformatter method)": [[79, "bittensor.utils.btlogging.format.BtFileFormatter.formatTime", false]], "formattime() (bittensor.utils.btlogging.format.btstreamformatter method)": [[79, "bittensor.utils.btlogging.format.BtStreamFormatter.formatTime", false]], "forward() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.forward", false]], "forward() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.forward", false], [24, "id7", false]], "forward_class_types (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_class_types", false]], "forward_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_fns", false]], "from_dict() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.from_dict", false]], "from_dict() (bittensor.core.chain_data.proposal_vote_data.proposalvotedata class method)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.from_dict", false]], "from_dict() (bittensor.core.chain_data.stake_info.stakeinfo class method)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.from_dict", false]], "from_error() (bittensor.core.errors.chainerror class method)": [[25, "bittensor.core.errors.ChainError.from_error", false]], "from_float() (bittensor.utils.balance.balance static method)": [[76, "bittensor.utils.balance.Balance.from_float", false]], "from_headers() (bittensor.core.synapse.synapse class method)": [[69, "id2", false]], "from_headers() (bittensor.core.synapse.synapse method)": [[69, "bittensor.core.synapse.Synapse.from_headers", false]], "from_neuron_info() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_neuron_info", false]], "from_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_parameter_dict", false]], "from_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo class method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.from_parameter_dict", false]], "from_rao() (bittensor.utils.balance.balance static method)": [[76, "bittensor.utils.balance.Balance.from_rao", false]], "from_scale_encoding() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.from_scale_encoding", false]], "from_scale_encoding_using_type_string() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.from_scale_encoding_using_type_string", false]], "from_string() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_string", false]], "from_tao() (bittensor.utils.balance.balance static method)": [[76, "bittensor.utils.balance.Balance.from_tao", false]], "from_vec_u8() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8", false]], "from_weights_bonds_and_neuron_lite() (bittensor.core.chain_data.neuron_info.neuroninfo class method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.from_weights_bonds_and_neuron_lite", false]], "full_address (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.full_address", false]], "generate() (bittensor.utils.substrate_utils.storage.storagekey method)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.generate", false]], "generate_weight_hash() (in module bittensor.utils.weight_utils)": [[98, "bittensor.utils.weight_utils.generate_weight_hash", false]], "get_all_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[58, "bittensor.core.subtensor_api.commitments.Commitments.get_all_commitments", false]], "get_all_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_commitments", false]], "get_all_commitments() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_all_commitments", false]], "get_all_metagraphs_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[62, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_all_metagraphs_info", false]], "get_all_neuron_certificates (bittensor.core.subtensor_api.neurons.neurons attribute)": [[63, "bittensor.core.subtensor_api.neurons.Neurons.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_all_neuron_certificates", false]], "get_all_revealed_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[58, "bittensor.core.subtensor_api.commitments.Commitments.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_all_revealed_commitments", false]], "get_all_subnets_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_all_subnets_info", false]], "get_and_save_latest_version() (in module bittensor.utils.version)": [[97, "bittensor.utils.version.get_and_save_latest_version", false]], "get_async_subtensor() (in module bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.get_async_subtensor", false]], "get_balance (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_balance", false]], "get_balance() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balance", false]], "get_balance() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_balance", false]], "get_balance() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_balance", false]], "get_balances (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_balances", false]], "get_balances() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balances", false]], "get_balances() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_balances", false]], "get_block_hash (bittensor.core.subtensor_api.chain.chain attribute)": [[57, "bittensor.core.subtensor_api.chain.Chain.get_block_hash", false]], "get_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_block_hash", false]], "get_block_hash() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_block_hash", false]], "get_block_hash() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_block_hash", false]], "get_children (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_children", false]], "get_children (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_children", false]], "get_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children", false]], "get_children() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_children", false]], "get_children_pending (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_children_pending", false]], "get_children_pending (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_children_pending", false]], "get_children_pending() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children_pending", false]], "get_children_pending() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_children_pending", false]], "get_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[58, "bittensor.core.subtensor_api.commitments.Commitments.get_commitment", false]], "get_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_commitment", false]], "get_commitment() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_commitment", false]], "get_commitment() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_commitment", false]], "get_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_config", false]], "get_cpu_count() (in module bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.get_cpu_count", false]], "get_current_block (bittensor.core.subtensor_api.chain.chain attribute)": [[57, "bittensor.core.subtensor_api.chain.Chain.get_current_block", false]], "get_current_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_block", false]], "get_current_block() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_current_block", false]], "get_current_block() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_current_block", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.commitments.commitments attribute)": [[58, "bittensor.core.subtensor_api.commitments.Commitments.get_current_weight_commit_info", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_current_weight_commit_info", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.delegates.delegates attribute)": [[59, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_delegate_by_hotkey", false]], "get_delegate_identities (bittensor.core.subtensor_api.chain.chain attribute)": [[57, "bittensor.core.subtensor_api.chain.Chain.get_delegate_identities", false]], "get_delegate_identities (bittensor.core.subtensor_api.delegates.delegates attribute)": [[59, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_delegate_identities", false]], "get_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[59, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_take", false]], "get_delegate_take (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_take", false]], "get_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_take", false]], "get_delegate_take() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_delegate_take", false]], "get_delegated (bittensor.core.subtensor_api.delegates.delegates attribute)": [[59, "bittensor.core.subtensor_api.delegates.Delegates.get_delegated", false]], "get_delegated (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_delegated", false]], "get_delegated() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegated", false]], "get_delegated() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_delegated", false]], "get_delegates (bittensor.core.subtensor_api.delegates.delegates attribute)": [[59, "bittensor.core.subtensor_api.delegates.Delegates.get_delegates", false]], "get_delegates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegates", false]], "get_delegates() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_delegates", false]], "get_existential_deposit (bittensor.core.subtensor_api.chain.chain attribute)": [[57, "bittensor.core.subtensor_api.chain.Chain.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_existential_deposit", false]], "get_explorer_url_for_network() (in module bittensor.utils)": [[85, "bittensor.utils.get_explorer_url_for_network", false]], "get_external_ip() (in module bittensor.utils.networking)": [[88, "bittensor.utils.networking.get_external_ip", false]], "get_formatted_ws_endpoint_url() (in module bittensor.utils.networking)": [[88, "bittensor.utils.networking.get_formatted_ws_endpoint_url", false]], "get_hash() (in module bittensor.utils)": [[85, "bittensor.utils.get_hash", false]], "get_hotkey_owner (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_hotkey_owner", false]], "get_hotkey_stake (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor.subtensor attribute)": [[56, "bittensor.core.subtensor.Subtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_stake", false]], "get_human_readable() (in module bittensor.utils.formatting)": [[84, "bittensor.utils.formatting.get_human_readable", false]], "get_hyperparameter (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_hyperparameter", false]], "get_level() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_level", false]], "get_max_logger_name_length() (in module bittensor.utils.btlogging.helpers)": [[80, "bittensor.utils.btlogging.helpers.get_max_logger_name_length", false]], "get_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[31, "bittensor.core.extrinsics.asyncex.serving.get_metadata", false]], "get_metadata() (in module bittensor.core.extrinsics.serving)": [[44, "bittensor.core.extrinsics.serving.get_metadata", false]], "get_metagraph_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[62, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_metagraph_info", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.chain.chain attribute)": [[57, "bittensor.core.subtensor_api.chain.Chain.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_minimum_required_stake", false]], "get_netuids_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_netuids_for_hotkey", false]], "get_neuron_certificate (bittensor.core.subtensor_api.neurons.neurons attribute)": [[63, "bittensor.core.subtensor_api.neurons.Neurons.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_neuron_certificate", false]], "get_neuron_for_pubkey_and_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_neuron_for_pubkey_and_subnet", false]], "get_next_epoch_start_block (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_next_epoch_start_block", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info.neuroninfo static method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite static method)": [[12, "id0", false]], "get_old_stakes() (in module bittensor.core.extrinsics.utils)": [[51, "bittensor.core.extrinsics.utils.get_old_stakes", false]], "get_owned_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_owned_hotkeys", false]], "get_queue() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_queue", false]], "get_required_fields() (bittensor.core.synapse.synapse method)": [[69, "bittensor.core.synapse.Synapse.get_required_fields", false]], "get_revealed_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[58, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_revealed_commitment", false]], "get_revealed_commitment_by_hotkey (bittensor.core.subtensor_api.commitments.commitments attribute)": [[58, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_revealed_commitment_by_hotkey", false]], "get_save_dir() (in module bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.get_save_dir", false]], "get_size() (in module bittensor.core.synapse)": [[69, "bittensor.core.synapse.get_size", false]], "get_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.get_stake", false]], "get_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_stake", false]], "get_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake", false]], "get_stake() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_stake", false]], "get_stake_add_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.get_stake_add_fee", false]], "get_stake_add_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_stake_add_fee", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_stake_for_hotkey", false]], "get_stake_info_for_coldkey (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor.subtensor attribute)": [[56, "bittensor.core.subtensor.Subtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_info_for_coldkey", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.get_stake_movement_fee", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_stake_movement_fee", false]], "get_status_message() (bittensor.utils.registration.pow.registrationstatisticslogger class method)": [[91, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.get_status_message", false]], "get_subnet_burn_cost (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_subnet_burn_cost", false]], "get_subnet_hyperparameters (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_subnet_hyperparameters", false]], "get_subnet_owner_hotkey (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_subnet_owner_hotkey", false]], "get_subnet_reveal_period_epochs (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_validator_permits (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_subnet_validator_permits", false]], "get_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_subnets", false]], "get_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnets", false]], "get_subnets() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_subnets", false]], "get_timestamp (bittensor.core.subtensor_api.chain.chain attribute)": [[57, "bittensor.core.subtensor_api.chain.Chain.get_timestamp", false]], "get_timestamp() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_timestamp", false]], "get_timestamp() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_timestamp", false]], "get_total_size() (bittensor.core.synapse.synapse method)": [[69, "bittensor.core.synapse.Synapse.get_total_size", false], [69, "id3", false]], "get_total_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_total_subnets", false]], "get_total_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_total_subnets", false]], "get_total_subnets() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_total_subnets", false]], "get_transfer_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_transfer_fee", false]], "get_transfer_fee() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_transfer_fee", false]], "get_uid_for_hotkey_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_uid_for_hotkey_on_subnet", false]], "get_unit() (bittensor.utils.balance.balance static method)": [[76, "bittensor.utils.balance.Balance.get_unit", false]], "get_unstake_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.get_unstake_fee", false]], "get_unstake_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_unstake_fee", false]], "get_vote_data (bittensor.core.subtensor_api.chain.chain attribute)": [[57, "bittensor.core.subtensor_api.chain.Chain.get_vote_data", false]], "get_vote_data() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_vote_data", false]], "get_vote_data() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.get_vote_data", false]], "github (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.github", false]], "github_repo (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.github_repo", false]], "hash_rate (bittensor.utils.registration.pow.registrationstatistics attribute)": [[91, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate", false]], "hash_rate_perpetual (bittensor.utils.registration.pow.registrationstatistics attribute)": [[91, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate_perpetual", false]], "header_size (bittensor.core.synapse.synapse attribute)": [[69, "bittensor.core.synapse.Synapse.header_size", false]], "help (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.help", false]], "help() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.help", false]], "help() (bittensor.core.types.subtensormixin class method)": [[73, "bittensor.core.types.SubtensorMixin.help", false]], "help() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.help", false]], "hex_to_bytes (in module bittensor.utils)": [[85, "bittensor.utils.hex_to_bytes", false]], "home_dir (in module bittensor.core.settings)": [[54, "bittensor.core.settings.HOME_DIR", false]], "hotkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.hotkey", false]], "hotkey (bittensor.core.synapse.terminalinfo attribute)": [[69, "bittensor.core.synapse.TerminalInfo.hotkey", false]], "hotkey (bittensor.core.types.axonservecallparams attribute)": [[73, "bittensor.core.types.AxonServeCallParams.hotkey", false]], "hotkey_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.hotkey_ss58", false]], "hotkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.hotkey_ss58", false]], "hotkeyaccountnotexists": [[25, "bittensor.core.errors.HotKeyAccountNotExists", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.hotkeys", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Hotkeys", false]], "hotkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.hotkeys", false]], "hotkeys (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.hotkeys", false]], "hparams (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.hparams", false]], "i (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.I", false]], "identities (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identities", false]], "identities (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identities", false]], "identities (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.identities", false]], "identity (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identity", false]], "identity (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identity", false]], "identity (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.identity", false]], "identity() (in module bittensor.utils.substrate_utils.hasher)": [[94, "bittensor.utils.substrate_utils.hasher.identity", false]], "identityerror": [[25, "bittensor.core.errors.IdentityError", false]], "image (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.image", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.immunity_period", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.immunity_period", false]], "immunity_period (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.immunity_period", false]], "immunity_period() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.immunity_period", false]], "immunity_period() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.immunity_period", false]], "immunityperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ImmunityPeriod", false]], "immunityperiod (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.ImmunityPeriod", false]], "incentive (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.incentive", false]], "incentive (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.incentive", false]], "incentive (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.incentive", false]], "incentive (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.incentive", false]], "incentive (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.incentive", false]], "incentives (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.incentives", false]], "incentives (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Incentives", false]], "incentives (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.incentives", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[34, "bittensor.core.extrinsics.asyncex.take.increase_take_extrinsic", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[48, "bittensor.core.extrinsics.take.increase_take_extrinsic", false]], "index (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.index", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.info", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Info", false]], "info() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.info", false]], "info() (bittensor.utils.btlogging.console.bittensorconsole method)": [[77, "bittensor.utils.btlogging.console.BittensorConsole.info", false]], "info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.info", false]], "info() (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.info", false]], "infobase (class in bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.InfoBase", false]], "infodict (class in bittensor.utils.mock.subtensor_mock)": [[87, "bittensor.utils.mock.subtensor_mock.InfoDict", false]], "initialize (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.initialize", false]], "initialize() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.initialize", false]], "install_signal_handlers() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.install_signal_handlers", false]], "int_to_ip() (in module bittensor.utils.networking)": [[88, "bittensor.utils.networking.int_to_ip", false]], "internalservererror": [[25, "bittensor.core.errors.InternalServerError", false]], "invalidchild": [[25, "bittensor.core.errors.InvalidChild", false]], "invalidconfigfile": [[23, "bittensor.core.config.InvalidConfigFile", false]], "invalidrequestnameerror": [[25, "bittensor.core.errors.InvalidRequestNameError", false]], "ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.ip", false]], "ip (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip", false]], "ip (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip", false]], "ip (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip", false]], "ip (bittensor.core.synapse.terminalinfo attribute)": [[69, "bittensor.core.synapse.TerminalInfo.ip", false]], "ip (bittensor.core.types.axonservecallparams attribute)": [[73, "bittensor.core.types.AxonServeCallParams.ip", false]], "ip (bittensor.core.types.prometheusservecallparams attribute)": [[73, "bittensor.core.types.PrometheusServeCallParams.ip", false]], "ip (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.ip", false]], "ip (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.ip", false]], "ip__str__() (in module bittensor.utils.networking)": [[88, "bittensor.utils.networking.ip__str__", false]], "ip_str() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_str", false]], "ip_to_int() (in module bittensor.utils.networking)": [[88, "bittensor.utils.networking.ip_to_int", false]], "ip_type (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip_type", false]], "ip_type (bittensor.core.types.axonservecallparams attribute)": [[73, "bittensor.core.types.AxonServeCallParams.ip_type", false]], "ip_type (bittensor.core.types.prometheusservecallparams attribute)": [[73, "bittensor.core.types.PrometheusServeCallParams.ip_type", false]], "ip_type (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.ip_type", false]], "ip_type (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.ip_type", false]], "ip_version() (in module bittensor.utils.networking)": [[88, "bittensor.utils.networking.ip_version", false]], "ipinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.IPInfo", false]], "ipinfo (class in bittensor.core.chain_data.ip_info)": [[9, "bittensor.core.chain_data.ip_info.IPInfo", false]], "is_async (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.is_async", false]], "is_blacklist (bittensor.core.synapse.synapse property)": [[69, "bittensor.core.synapse.Synapse.is_blacklist", false]], "is_dynamic (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.is_dynamic", false]], "is_empty (bittensor.core.threadpool.prioritythreadpoolexecutor property)": [[71, "bittensor.core.threadpool.PriorityThreadPoolExecutor.is_empty", false]], "is_failure (bittensor.core.synapse.synapse property)": [[69, "bittensor.core.synapse.Synapse.is_failure", false]], "is_fast_blocks (bittensor.core.subtensor_api.chain.chain attribute)": [[57, "bittensor.core.subtensor_api.chain.Chain.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.is_fast_blocks", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.delegates.delegates attribute)": [[59, "bittensor.core.subtensor_api.delegates.Delegates.is_hotkey_delegate", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.is_hotkey_delegate", false]], "is_hotkey_registered (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.is_hotkey_registered", false]], "is_hotkey_registered_any (bittensor.core.subtensor_api.wallets.wallets attribute)": [[68, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_on_subnet", false]], "is_null (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.is_null", false]], "is_null (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.is_null", false]], "is_registered (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.is_registered", false]], "is_running (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.is_running", false]], "is_serving (bittensor.core.chain_data.axon_info.axoninfo property)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.is_serving", false]], "is_set() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.is_set", false]], "is_stale() (bittensor.utils.registration.pow.powsolution method)": [[91, "bittensor.utils.registration.pow.POWSolution.is_stale", false]], "is_stale_async() (bittensor.utils.registration.pow.powsolution method)": [[91, "bittensor.utils.registration.pow.POWSolution.is_stale_async", false]], "is_subnet_active (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.is_subnet_active", false]], "is_subnet_active() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_subnet_active", false]], "is_subnet_active() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.is_subnet_active", false]], "is_success (bittensor.core.synapse.synapse property)": [[69, "bittensor.core.synapse.Synapse.is_success", false]], "is_timeout (bittensor.core.synapse.synapse property)": [[69, "bittensor.core.synapse.Synapse.is_timeout", false]], "is_valid_bittensor_address_or_public_key() (in module bittensor.utils)": [[85, "bittensor.utils.is_valid_bittensor_address_or_public_key", false]], "is_valid_ss58_address() (in module bittensor.utils)": [[85, "bittensor.utils.is_valid_ss58_address", false]], "k (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.k", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Kappa", false]], "kappa (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.kappa", false]], "kappa (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.kappa", false]], "kappa (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Kappa", false]], "keyfile (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.keyfile", false]], "keypair (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.keypair", false]], "last_drand_round (bittensor.core.subtensor_api.chain.chain attribute)": [[57, "bittensor.core.subtensor_api.chain.Chain.last_drand_round", false]], "last_drand_round() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.last_drand_round", false]], "last_drand_round() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.last_drand_round", false]], "last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.last_step", false]], "last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_step", false]], "last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.last_step", false]], "last_update (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.last_update", false]], "last_update (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.last_update", false]], "last_update (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.last_update", false]], "last_update (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.last_update", false]], "last_update (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.last_update", false]], "laststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastStep", false]], "lastupdate (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastUpdate", false]], "latent_lite_entrypoint (in module bittensor.core.settings)": [[54, "bittensor.core.settings.LATENT_LITE_ENTRYPOINT", false]], "latest_block_path() (in module bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.latest_block_path", false]], "lazyloadedtorch (class in bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.LazyLoadedTorch", false]], "legacy_torch_api_compat() (in module bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.legacy_torch_api_compat", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.liquid_alpha_enabled", false]], "liquidalphaenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LiquidAlphaEnabled", false]], "list_from_dicts() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.list_from_dicts", false]], "list_from_vec_u8() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.list_from_vec_u8", false]], "lite (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.lite", false]], "load() (bittensor.core.metagraph.metagraphmixin method)": [[53, "bittensor.core.metagraph.MetagraphMixin.load", false]], "load_from_path() (bittensor.core.metagraph.metagraphmixin method)": [[53, "bittensor.core.metagraph.MetagraphMixin.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.nontorchmetagraph method)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.torchmetagraph method)": [[53, "bittensor.core.metagraph.TorchMetagraph.load_from_path", false]], "local_entrypoint (in module bittensor.core.settings)": [[54, "bittensor.core.settings.LOCAL_ENTRYPOINT", false]], "locked (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.locked", false]], "log() (bittensor.utils.registration.pow.console static method)": [[91, "bittensor.utils.registration.pow.Console.log", false]], "log_and_handle_error() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.log_and_handle_error", false]], "log_cuda_errors() (in module bittensor.utils.registration.register_cuda)": [[92, "bittensor.utils.registration.register_cuda.log_cuda_errors", false]], "log_exception() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.log_exception", false]], "log_formats (in module bittensor.utils.btlogging.format)": [[79, "bittensor.utils.btlogging.format.LOG_FORMATS", false]], "log_level_color_prefix (in module bittensor.utils.btlogging.format)": [[79, "bittensor.utils.btlogging.format.log_level_color_prefix", false]], "log_no_torch_error() (in module bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.log_no_torch_error", false]], "log_trace_formats (in module bittensor.utils.btlogging.format)": [[79, "bittensor.utils.btlogging.format.LOG_TRACE_FORMATS", false]], "log_verbose (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor.subtensor attribute)": [[56, "bittensor.core.subtensor.Subtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.log_verbose", false]], "log_verbose (bittensor.core.types.subtensormixin attribute)": [[73, "bittensor.core.types.SubtensorMixin.log_verbose", false]], "logger (bittensor.utils.btlogging.console.bittensorconsole attribute)": [[77, "bittensor.utils.btlogging.console.BittensorConsole.logger", false]], "logger (in module bittensor.core.threadpool)": [[71, "bittensor.core.threadpool.logger", false]], "logging (in module bittensor.utils)": [[85, "bittensor.utils.logging", false]], "logging (in module bittensor.utils.btlogging)": [[81, "bittensor.utils.btlogging.logging", false]], "logging_dir (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.logging_dir", false]], "loggingconfig (class in bittensor.utils.btlogging.loggingmachine)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingConfig", false]], "loggingmachine (class in bittensor.utils.btlogging.loggingmachine)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine", false]], "max_allowed_validators (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_allowed_validators", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_burn", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_burn", false]], "max_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_burn", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_difficulty", false]], "max_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_n", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_regs_per_block", false]], "max_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_uids", false]], "max_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.max_uids", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_validators", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_validators", false]], "max_validators (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_validators", false]], "max_weight_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_weight_limit", false]], "max_weight_limit (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_weight_limit", false]], "max_weight_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.max_weight_limit", false]], "max_weight_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.max_weight_limit", false]], "max_weight_limit() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.max_weight_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_weights_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_weights_limit", false]], "maxattemptsexception": [[25, "bittensor.core.errors.MaxAttemptsException", false]], "maxburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxBurn", false]], "maxdifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxDifficulty", false]], "maxregsperblock (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxRegsPerBlock", false]], "maxsuccessexception": [[25, "bittensor.core.errors.MaxSuccessException", false]], "maxuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxUids", false]], "maxvalidators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxValidators", false]], "maxweightslimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxWeightsLimit", false]], "merge() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.merge", false]], "message (bittensor.core.errors.synapsedendritenoneexception attribute)": [[25, "bittensor.core.errors.SynapseDendriteNoneException.message", false]], "message (bittensor.core.errors.synapseexception attribute)": [[25, "bittensor.core.errors.SynapseException.message", false]], "message (bittensor.utils.unlockstatus attribute)": [[85, "bittensor.utils.UnlockStatus.message", false]], "metadata (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.metadata", false]], "metadata() (bittensor.core.metagraph.metagraphmixin method)": [[53, "bittensor.core.metagraph.MetagraphMixin.metadata", false]], "metadata_storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.metadata_storage_function", false]], "metadataerror": [[25, "bittensor.core.errors.MetadataError", false]], "metagraph (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[62, "bittensor.core.subtensor_api.metagraphs.Metagraphs.metagraph", false]], "metagraph (class in bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.Metagraph", false]], "metagraph (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.metagraph", false]], "metagraph() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.metagraph", false]], "metagraph() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.metagraph", false]], "metagraph_state_dict_ndarray_keys (in module bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.METAGRAPH_STATE_DICT_NDARRAY_KEYS", false]], "metagraphinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.MetagraphInfo", false]], "metagraphinfo (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo", false]], "metagraphinfoemissions (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions", false]], "metagraphinfoparams (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams", false]], "metagraphinfopool (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool", false]], "metagraphmixin (class in bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.MetagraphMixin", false]], "metagraphs (bittensor.core.subtensor_api.subtensorapi property)": [[61, "bittensor.core.subtensor_api.SubtensorApi.metagraphs", false]], "metagraphs (class in bittensor.core.subtensor_api.metagraphs)": [[62, "bittensor.core.subtensor_api.metagraphs.Metagraphs", false]], "middleware_cls (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.middleware_cls", false]], "millify() (in module bittensor.utils.formatting)": [[84, "bittensor.utils.formatting.millify", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.min_allowed_weights", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_burn", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_burn", false]], "min_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_burn", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_difficulty", false]], "min_required_stake() (bittensor.utils.mock.subtensor_mock.mocksubtensor static method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.min_required_stake", false]], "minallowedweights (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinAllowedWeights", false]], "minburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinBurn", false]], "mindifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinDifficulty", false]], "miners_dir (in module bittensor.core.settings)": [[54, "bittensor.core.settings.MINERS_DIR", false]], "mock_subpackage (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.mock_subpackage", false]], "mockchainstate (class in bittensor.utils.mock.subtensor_mock)": [[87, "bittensor.utils.mock.subtensor_mock.MockChainState", false]], "mockmapresult (class in bittensor.utils.mock.subtensor_mock)": [[87, "bittensor.utils.mock.subtensor_mock.MockMapResult", false]], "mocksubtensor (class in bittensor.utils.mock.subtensor_mock)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor", false]], "mocksubtensorstate (class in bittensor.utils.mock.subtensor_mock)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensorState", false]], "mocksubtensorvalue (class in bittensor.utils.mock.subtensor_mock)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensorValue", false]], "mocksystemstate (class in bittensor.utils.mock.subtensor_mock)": [[87, "bittensor.utils.mock.subtensor_mock.MockSystemState", false]], "modality (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.modality", false]], "model_config (bittensor.core.stream.streamingsynapse attribute)": [[55, "bittensor.core.stream.StreamingSynapse.model_config", false]], "model_config (bittensor.core.synapse.synapse attribute)": [[69, "bittensor.core.synapse.Synapse.model_config", false]], "model_config (bittensor.core.synapse.terminalinfo attribute)": [[69, "bittensor.core.synapse.TerminalInfo.model_config", false]], "model_config (bittensor.core.tensor.tensor attribute)": [[70, "bittensor.core.tensor.Tensor.model_config", false]], "module": [[0, "module-bittensor.core.async_subtensor", false], [1, "module-bittensor.core.axon", false], [2, "module-bittensor.core.chain_data.axon_info", false], [3, "module-bittensor.core.chain_data.chain_identity", false], [4, "module-bittensor.core.chain_data.delegate_info", false], [5, "module-bittensor.core.chain_data.delegate_info_lite", false], [6, "module-bittensor.core.chain_data.dynamic_info", false], [7, "module-bittensor.core.chain_data", false], [8, "module-bittensor.core.chain_data.info_base", false], [9, "module-bittensor.core.chain_data.ip_info", false], [10, "module-bittensor.core.chain_data.metagraph_info", false], [11, "module-bittensor.core.chain_data.neuron_info", false], [12, "module-bittensor.core.chain_data.neuron_info_lite", false], [13, "module-bittensor.core.chain_data.prometheus_info", false], [14, "module-bittensor.core.chain_data.proposal_vote_data", false], [15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false], [16, "module-bittensor.core.chain_data.stake_info", false], [17, "module-bittensor.core.chain_data.subnet_hyperparameters", false], [18, "module-bittensor.core.chain_data.subnet_identity", false], [19, "module-bittensor.core.chain_data.subnet_info", false], [20, "module-bittensor.core.chain_data.subnet_state", false], [21, "module-bittensor.core.chain_data.utils", false], [22, "module-bittensor.core.chain_data.weight_commit_info", false], [23, "module-bittensor.core.config", false], [24, "module-bittensor.core.dendrite", false], [25, "module-bittensor.core.errors", false], [26, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false], [27, "module-bittensor.core.extrinsics.asyncex", false], [28, "module-bittensor.core.extrinsics.asyncex.move_stake", false], [29, "module-bittensor.core.extrinsics.asyncex.registration", false], [30, "module-bittensor.core.extrinsics.asyncex.root", false], [31, "module-bittensor.core.extrinsics.asyncex.serving", false], [32, "module-bittensor.core.extrinsics.asyncex.staking", false], [33, "module-bittensor.core.extrinsics.asyncex.start_call", false], [34, "module-bittensor.core.extrinsics.asyncex.take", false], [35, "module-bittensor.core.extrinsics.asyncex.transfer", false], [36, "module-bittensor.core.extrinsics.asyncex.unstaking", false], [37, "module-bittensor.core.extrinsics.asyncex.weights", false], [38, "module-bittensor.core.extrinsics.commit_reveal", false], [39, "module-bittensor.core.extrinsics.commit_weights", false], [40, "module-bittensor.core.extrinsics", false], [41, "module-bittensor.core.extrinsics.move_stake", false], [42, "module-bittensor.core.extrinsics.registration", false], [43, "module-bittensor.core.extrinsics.root", false], [44, "module-bittensor.core.extrinsics.serving", false], [45, "module-bittensor.core.extrinsics.set_weights", false], [46, "module-bittensor.core.extrinsics.staking", false], [47, "module-bittensor.core.extrinsics.start_call", false], [48, "module-bittensor.core.extrinsics.take", false], [49, "module-bittensor.core.extrinsics.transfer", false], [50, "module-bittensor.core.extrinsics.unstaking", false], [51, "module-bittensor.core.extrinsics.utils", false], [52, "module-bittensor.core", false], [53, "module-bittensor.core.metagraph", false], [54, "module-bittensor.core.settings", false], [55, "module-bittensor.core.stream", false], [56, "module-bittensor.core.subtensor", false], [57, "module-bittensor.core.subtensor_api.chain", false], [58, "module-bittensor.core.subtensor_api.commitments", false], [59, "module-bittensor.core.subtensor_api.delegates", false], [60, "module-bittensor.core.subtensor_api.extrinsics", false], [61, "module-bittensor.core.subtensor_api", false], [62, "module-bittensor.core.subtensor_api.metagraphs", false], [63, "module-bittensor.core.subtensor_api.neurons", false], [64, "module-bittensor.core.subtensor_api.queries", false], [65, "module-bittensor.core.subtensor_api.staking", false], [66, "module-bittensor.core.subtensor_api.subnets", false], [67, "module-bittensor.core.subtensor_api.utils", false], [68, "module-bittensor.core.subtensor_api.wallets", false], [69, "module-bittensor.core.synapse", false], [70, "module-bittensor.core.tensor", false], [71, "module-bittensor.core.threadpool", false], [72, "module-bittensor.core.timelock", false], [73, "module-bittensor.core.types", false], [74, "module-bittensor", false], [75, "module-bittensor.utils.axon_utils", false], [76, "module-bittensor.utils.balance", false], [77, "module-bittensor.utils.btlogging.console", false], [78, "module-bittensor.utils.btlogging.defines", false], [79, "module-bittensor.utils.btlogging.format", false], [80, "module-bittensor.utils.btlogging.helpers", false], [81, "module-bittensor.utils.btlogging", false], [82, "module-bittensor.utils.btlogging.loggingmachine", false], [83, "module-bittensor.utils.easy_imports", false], [84, "module-bittensor.utils.formatting", false], [85, "module-bittensor.utils", false], [86, "module-bittensor.utils.mock", false], [87, "module-bittensor.utils.mock.subtensor_mock", false], [88, "module-bittensor.utils.networking", false], [89, "module-bittensor.utils.registration.async_pow", false], [90, "module-bittensor.utils.registration", false], [91, "module-bittensor.utils.registration.pow", false], [92, "module-bittensor.utils.registration.register_cuda", false], [93, "module-bittensor.utils.subnets", false], [94, "module-bittensor.utils.substrate_utils.hasher", false], [95, "module-bittensor.utils.substrate_utils", false], [96, "module-bittensor.utils.substrate_utils.storage", false], [97, "module-bittensor.utils.version", false], [98, "module-bittensor.utils.weight_utils", false]], "move_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.move_stake", false]], "move_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.move_stake", false]], "move_stake() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.move_stake", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[28, "bittensor.core.extrinsics.asyncex.move_stake.move_stake_extrinsic", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[41, "bittensor.core.extrinsics.move_stake.move_stake_extrinsic", false]], "moving_price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.moving_price", false]], "movingprice (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MovingPrice", false]], "n (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.n", false]], "n (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.n", false]], "n (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.n", false]], "name (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.name", false]], "name (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.name", false]], "name (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Name", false]], "name (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.name", false]], "name (bittensor.core.synapse.synapse attribute)": [[69, "bittensor.core.synapse.Synapse.name", false]], "name (bittensor.core.types.paramwithtypes attribute)": [[73, "bittensor.core.types.ParamWithTypes.name", false]], "nanoseconds_in_second (in module bittensor.utils.axon_utils)": [[75, "bittensor.utils.axon_utils.NANOSECONDS_IN_SECOND", false]], "nays (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.nays", false]], "netuid (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.netuid", false]], "netuid (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Netuid", false]], "netuid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.netuid", false]], "netuid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.netuid", false]], "netuid (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.netuid", false]], "netuid (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.netuid", false]], "netuid (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.netuid", false]], "netuid (bittensor.core.types.axonservecallparams attribute)": [[73, "bittensor.core.types.AxonServeCallParams.netuid", false]], "netuid (bittensor.core.types.prometheusservecallparams attribute)": [[73, "bittensor.core.types.PrometheusServeCallParams.netuid", false]], "netuid (bittensor.utils.balance.balance attribute)": [[76, "bittensor.utils.balance.Balance.netuid", false]], "network (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.network", false]], "network (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.network", false]], "network (bittensor.core.types.subtensormixin attribute)": [[73, "bittensor.core.types.SubtensorMixin.network", false]], "network_explorer_map (in module bittensor.core.settings)": [[54, "bittensor.core.settings.NETWORK_EXPLORER_MAP", false]], "network_map (in module bittensor.core.settings)": [[54, "bittensor.core.settings.NETWORK_MAP", false]], "network_registered_at (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.network_registered_at", false]], "network_registered_at (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.network_registered_at", false]], "network_registered_at (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.network_registered_at", false]], "networkregisteredat (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NetworkRegisteredAt", false]], "networks (in module bittensor.core.settings)": [[54, "bittensor.core.settings.NETWORKS", false]], "networksadded (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.NetworksAdded", false]], "neuron_for_uid (bittensor.core.subtensor_api.neurons.neurons attribute)": [[63, "bittensor.core.subtensor_api.neurons.Neurons.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.neuron_for_uid", false]], "neuron_for_uid() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.neuron_for_uid", false]], "neuron_for_uid_lite() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.neuron_for_uid_lite", false]], "neuroninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfo", false]], "neuroninfo (class in bittensor.core.chain_data.neuron_info)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo", false]], "neuroninfolite (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfoLite", false]], "neuroninfolite (class in bittensor.core.chain_data.neuron_info_lite)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite", false]], "neurons (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.neurons", false]], "neurons (bittensor.core.subtensor_api.neurons.neurons attribute)": [[63, "bittensor.core.subtensor_api.neurons.Neurons.neurons", false]], "neurons (bittensor.core.subtensor_api.subtensorapi property)": [[61, "bittensor.core.subtensor_api.SubtensorApi.neurons", false]], "neurons (class in bittensor.core.subtensor_api.neurons)": [[63, "bittensor.core.subtensor_api.neurons.Neurons", false]], "neurons() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons", false]], "neurons() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.neurons", false]], "neurons() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.neurons", false]], "neurons_lite (bittensor.core.subtensor_api.neurons.neurons attribute)": [[63, "bittensor.core.subtensor_api.neurons.Neurons.neurons_lite", false]], "neurons_lite() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons_lite", false]], "neurons_lite() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.neurons_lite", false]], "neurons_lite() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.neurons_lite", false]], "new_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.new_coldkey", false]], "nominationerror": [[25, "bittensor.core.errors.NominationError", false]], "nominators (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.nominators", false]], "nominators (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.nominators", false]], "nonassociatedcoldkey": [[25, "bittensor.core.errors.NonAssociatedColdKey", false]], "nonce (bittensor.core.synapse.terminalinfo attribute)": [[69, "bittensor.core.synapse.TerminalInfo.nonce", false]], "nonce (bittensor.utils.registration.pow.powsolution attribute)": [[91, "bittensor.utils.registration.pow.POWSolution.nonce", false]], "nonces (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.nonces", false]], "nontorchmetagraph (class in bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.NonTorchMetagraph", false]], "normalize_max_weight() (in module bittensor.utils.weight_utils)": [[98, "bittensor.utils.weight_utils.normalize_max_weight", false]], "notdelegateerror": [[25, "bittensor.core.errors.NotDelegateError", false]], "notenoughstaketosetchildkeys": [[25, "bittensor.core.errors.NotEnoughStakeToSetChildkeys", false]], "notregisterederror": [[25, "bittensor.core.errors.NotRegisteredError", false]], "notverifiedexception": [[25, "bittensor.core.errors.NotVerifiedException", false]], "null_entry (in module bittensor.core.threadpool)": [[71, "bittensor.core.threadpool.NULL_ENTRY", false]], "num_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.num_uids", false]], "num_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.num_uids", false]], "numpy() (bittensor.core.tensor.tensor method)": [[70, "bittensor.core.tensor.Tensor.numpy", false]], "numpyortorch (in module bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.NumpyOrTorch", false]], "numuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NumUids", false]], "off() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.off", false]], "old_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.old_coldkey", false]], "on() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.on", false]], "owner_coldkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.owner_coldkey", false]], "owner_hotkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.owner_hotkey", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.owner_ss58", false]], "ownercoldkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerColdkey", false]], "ownerhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerHotkey", false]], "pallet (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.pallet", false]], "params (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.params", false]], "params_encoded (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.params_encoded", false]], "paramwithtypes (class in bittensor.core.types)": [[73, "bittensor.core.types.ParamWithTypes", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse class method)": [[69, "id4", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse method)": [[69, "bittensor.core.synapse.Synapse.parse_headers_to_inputs", false]], "pending_alpha_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_alpha_emission", false]], "pending_root_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_root_emission", false]], "pendingalphaemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingAlphaEmission", false]], "pendingrootemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingRootEmission", false]], "pipaddress (in module bittensor.core.settings)": [[54, "bittensor.core.settings.PIPADDRESS", false]], "placeholder1 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder1", false]], "placeholder1 (bittensor.core.types.axonservecallparams attribute)": [[73, "bittensor.core.types.AxonServeCallParams.placeholder1", false]], "placeholder1 (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.placeholder1", false]], "placeholder2 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder2", false]], "placeholder2 (bittensor.core.types.axonservecallparams attribute)": [[73, "bittensor.core.types.AxonServeCallParams.placeholder2", false]], "placeholder2 (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.placeholder2", false]], "pool (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.pool", false]], "port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.port", false]], "port (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.port", false]], "port (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.port", false]], "port (bittensor.core.synapse.terminalinfo attribute)": [[69, "bittensor.core.synapse.TerminalInfo.port", false]], "port (bittensor.core.types.axonservecallparams attribute)": [[73, "bittensor.core.types.AxonServeCallParams.port", false]], "port (bittensor.core.types.prometheusservecallparams attribute)": [[73, "bittensor.core.types.PrometheusServeCallParams.port", false]], "port (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.port", false]], "port (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.port", false]], "postprocessexception": [[25, "bittensor.core.errors.PostProcessException", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pow_registration_allowed", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.pow_registration_allowed", false]], "powregistrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PowRegistrationAllowed", false]], "powsolution (class in bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.POWSolution", false]], "prepare_synapse() (bittensor.utils.subnets.subnetsapi method)": [[93, "bittensor.utils.subnets.SubnetsAPI.prepare_synapse", false]], "preprocess() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.preprocess", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.preprocess_synapse_for_request", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.preprocess_synapse_for_request", false], [24, "id8", false]], "price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.price", false]], "priority() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.priority", false]], "priority_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.priority_fns", false]], "priorityexception": [[25, "bittensor.core.errors.PriorityException", false]], "prioritythreadpoolexecutor (class in bittensor.core.threadpool)": [[71, "bittensor.core.threadpool.PriorityThreadPoolExecutor", false]], "process_error_message() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.process_error_message", false]], "process_nested() (in module bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.process_nested", false]], "process_responses() (bittensor.utils.subnets.subnetsapi method)": [[93, "bittensor.utils.subnets.SubnetsAPI.process_responses", false]], "process_server_response() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.process_server_response", false]], "process_server_response() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.process_server_response", false], [24, "id9", false]], "process_stake_data() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.process_stake_data", false]], "process_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[55, "bittensor.core.stream.StreamingSynapse.process_streaming_response", false]], "process_time (bittensor.core.synapse.terminalinfo attribute)": [[69, "bittensor.core.synapse.TerminalInfo.process_time", false]], "process_weights() (in module bittensor.utils.weight_utils)": [[98, "bittensor.utils.weight_utils.process_weights", false]], "process_weights_for_netuid() (in module bittensor.utils.weight_utils)": [[98, "bittensor.utils.weight_utils.process_weights_for_netuid", false]], "prometheus_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.prometheus_info", false]], "prometheus_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.prometheus_info", false]], "prometheusinfo (class in bittensor.core.chain_data.prometheus_info)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo", false]], "prometheusinfodict (class in bittensor.utils.mock.subtensor_mock)": [[87, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict", false]], "prometheusservecallparams (class in bittensor.core.types)": [[73, "bittensor.core.types.PrometheusServeCallParams", false]], "proportionoverflow": [[25, "bittensor.core.errors.ProportionOverflow", false]], "proposalvotedata (class in bittensor.core.chain_data.proposal_vote_data)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData", false]], "protocol (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.protocol", false]], "protocol (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.protocol", false]], "protocol (bittensor.core.types.axonservecallparams attribute)": [[73, "bittensor.core.types.AxonServeCallParams.protocol", false]], "protocol (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.protocol", false]], "pruning_score (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.pruning_score", false]], "pruning_score (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.pruning_score", false]], "pruning_score (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.pruning_score", false]], "pruningscore (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PruningScore", false]], "publish_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[31, "bittensor.core.extrinsics.asyncex.serving.publish_metadata", false]], "publish_metadata() (in module bittensor.core.extrinsics.serving)": [[44, "bittensor.core.extrinsics.serving.publish_metadata", false]], "queries (bittensor.core.subtensor_api.subtensorapi property)": [[61, "bittensor.core.subtensor_api.SubtensorApi.queries", false]], "queries (class in bittensor.core.subtensor_api.queries)": [[64, "bittensor.core.subtensor_api.queries.Queries", false]], "query() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.query", false]], "query() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.query", false], [24, "id11", false]], "query_api() (bittensor.utils.subnets.subnetsapi method)": [[93, "bittensor.utils.subnets.SubnetsAPI.query_api", false]], "query_constant (bittensor.core.subtensor_api.queries.queries attribute)": [[64, "bittensor.core.subtensor_api.queries.Queries.query_constant", false]], "query_constant() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_constant", false]], "query_constant() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.query_constant", false]], "query_constant() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.query_constant", false]], "query_identity (bittensor.core.subtensor_api.neurons.neurons attribute)": [[63, "bittensor.core.subtensor_api.neurons.Neurons.query_identity", false]], "query_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_identity", false]], "query_identity() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.query_identity", false]], "query_map (bittensor.core.subtensor_api.queries.queries attribute)": [[64, "bittensor.core.subtensor_api.queries.Queries.query_map", false]], "query_map() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map", false]], "query_map() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.query_map", false]], "query_map_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[64, "bittensor.core.subtensor_api.queries.Queries.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.query_map_subtensor", false]], "query_map_subtensor() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.query_map_subtensor", false]], "query_module (bittensor.core.subtensor_api.queries.queries attribute)": [[64, "bittensor.core.subtensor_api.queries.Queries.query_module", false]], "query_module() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_module", false]], "query_module() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.query_module", false]], "query_runtime_api (bittensor.core.subtensor_api.queries.queries attribute)": [[64, "bittensor.core.subtensor_api.queries.Queries.query_runtime_api", false]], "query_runtime_api() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_runtime_api", false]], "query_runtime_api() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.query_runtime_api", false]], "query_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[64, "bittensor.core.subtensor_api.queries.Queries.query_subtensor", false]], "query_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_subtensor", false]], "query_subtensor() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.query_subtensor", false]], "query_subtensor() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.query_subtensor", false]], "r (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.R", false]], "rank (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rank", false]], "rank (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rank", false]], "rank (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.rank", false]], "rank (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.rank", false]], "rank (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.rank", false]], "ranks (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.ranks", false]], "ranks (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.ranks", false]], "ranks (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.ranks", false]], "rao (bittensor.utils.balance.balance attribute)": [[76, "bittensor.utils.balance.Balance.rao", false]], "rao() (in module bittensor.utils.balance)": [[76, "bittensor.utils.balance.rao", false]], "rao_symbol (in module bittensor.core.settings)": [[54, "bittensor.core.settings.RAO_SYMBOL", false]], "rao_unit (bittensor.utils.balance.balance attribute)": [[76, "bittensor.utils.balance.Balance.rao_unit", false]], "raopertao (in module bittensor.utils)": [[85, "bittensor.utils.RAOPERTAO", false]], "read_only (in module bittensor.core.settings)": [[54, "bittensor.core.settings.READ_ONLY", false]], "record_log (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.record_log", false]], "records (bittensor.utils.mock.subtensor_mock.mockmapresult attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockMapResult.records", false]], "recycle (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.recycle", false]], "recycle() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.recycle", false]], "recycle() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.recycle", false]], "register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register", false]], "register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register", false]], "register() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.register", false]], "register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[29, "bittensor.core.extrinsics.asyncex.registration.register_extrinsic", false]], "register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[42, "bittensor.core.extrinsics.registration.register_extrinsic", false]], "register_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.register_primary_logger", false]], "register_subnet (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register_subnet", false]], "register_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.register_subnet", false]], "register_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register_subnet", false]], "register_subnet() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.register_subnet", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[29, "bittensor.core.extrinsics.asyncex.registration.register_subnet_extrinsic", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.registration)": [[42, "bittensor.core.extrinsics.registration.register_subnet_extrinsic", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.registration_allowed", false]], "registrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.RegistrationAllowed", false]], "registrationerror": [[25, "bittensor.core.errors.RegistrationError", false]], "registrationnotpermittedonrootsubnet": [[25, "bittensor.core.errors.RegistrationNotPermittedOnRootSubnet", false]], "registrations (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.registrations", false]], "registrations (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.registrations", false]], "registrationstatistics (class in bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.RegistrationStatistics", false]], "registrationstatisticslogger (class in bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.RegistrationStatisticsLogger", false]], "required_hash_fields (bittensor.core.synapse.synapse attribute)": [[69, "bittensor.core.synapse.Synapse.required_hash_fields", false]], "reset() (bittensor.utils.mock.subtensor_mock.mocksubtensor class method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.reset", false]], "reset() (bittensor.utils.mock.subtensor_mock.reusablecoroutine method)": [[87, "bittensor.utils.mock.subtensor_mock.ReusableCoroutine.reset", false]], "reset_cuda() (in module bittensor.utils.registration.register_cuda)": [[92, "bittensor.utils.registration.register_cuda.reset_cuda", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.return_per_1000", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.return_per_1000", false]], "reusablecoroutine (class in bittensor.utils.mock.subtensor_mock)": [[87, "bittensor.utils.mock.subtensor_mock.ReusableCoroutine", false]], "reveal_round (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.reveal_round", false]], "reveal_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.reveal_weights", false]], "reveal_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.reveal_weights", false]], "reveal_weights() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.reveal_weights", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[37, "bittensor.core.extrinsics.asyncex.weights.reveal_weights_extrinsic", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[39, "bittensor.core.extrinsics.commit_weights.reveal_weights_extrinsic", false]], "reverse_network_map (in module bittensor.core.settings)": [[54, "bittensor.core.settings.REVERSE_NETWORK_MAP", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rho", false]], "rho (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.rho", false]], "rho (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.rho", false]], "rho (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Rho", false]], "root_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_register", false]], "root_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_register", false]], "root_register() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.root_register", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[30, "bittensor.core.extrinsics.asyncex.root.root_register_extrinsic", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.root)": [[43, "bittensor.core.extrinsics.root.root_register_extrinsic", false]], "root_set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_weights", false]], "root_set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_weights", false]], "root_set_weights() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.root_set_weights", false]], "root_tao_stake_weight (in module bittensor.core.settings)": [[54, "bittensor.core.settings.ROOT_TAO_STAKE_WEIGHT", false]], "rounds_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[91, "bittensor.utils.registration.pow.RegistrationStatistics.rounds_total", false]], "router (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.router", false]], "run() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.run", false]], "run() (bittensor.utils.registration.pow.cudasolver method)": [[91, "bittensor.utils.registration.pow.CUDASolver.run", false]], "run() (bittensor.utils.registration.pow.solver method)": [[91, "bittensor.utils.registration.pow.Solver.run", false]], "run_in_thread() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.run_in_thread", false]], "runexception": [[25, "bittensor.core.errors.RunException", false]], "runtime_config (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.runtime_config", false]], "s (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.S", false]], "safe_globals() (in module bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.safe_globals", false]], "save() (bittensor.core.metagraph.metagraphmixin method)": [[53, "bittensor.core.metagraph.MetagraphMixin.save", false]], "scaling_law_power (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.scaling_law_power", false]], "scheduledcoldkeyswapinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.ScheduledColdkeySwapInfo", false]], "scheduledcoldkeyswapinfo (class in bittensor.core.chain_data.scheduled_coldkey_swap_info)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo", false]], "seal (bittensor.utils.registration.pow.powsolution attribute)": [[91, "bittensor.utils.registration.pow.POWSolution.seal", false]], "selectivemetagraphindex (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex", false]], "serialize() (bittensor.core.tensor.tensor static method)": [[70, "bittensor.core.tensor.Tensor.serialize", false]], "serve() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.serve", false]], "serve_axon (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.serve_axon", false]], "serve_axon() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.serve_axon", false]], "serve_axon() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.serve_axon", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[31, "bittensor.core.extrinsics.asyncex.serving.serve_axon_extrinsic", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.serving)": [[44, "bittensor.core.extrinsics.serving.serve_axon_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[31, "bittensor.core.extrinsics.asyncex.serving.serve_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.serving)": [[44, "bittensor.core.extrinsics.serving.serve_extrinsic", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.serving_rate_limit", false]], "servingratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ServingRateLimit", false]], "session (bittensor.core.dendrite.dendritemixin property)": [[24, "bittensor.core.dendrite.DendriteMixin.session", false]], "set_children (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_children", false]], "set_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_children", false]], "set_children() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.set_children", false]], "set_commitment (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor.subtensor attribute)": [[56, "bittensor.core.subtensor.Subtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[58, "bittensor.core.subtensor_api.commitments.Commitments.set_commitment", false]], "set_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_config", false]], "set_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_console", false]], "set_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_debug", false]], "set_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_default", false]], "set_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[59, "bittensor.core.subtensor_api.delegates.Delegates.set_delegate_take", false]], "set_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_delegate_take", false]], "set_delegate_take() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.set_delegate_take", false]], "set_difficulty() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.set_difficulty", false]], "set_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_info", false]], "set_name_type() (bittensor.core.synapse.synapse method)": [[69, "bittensor.core.synapse.Synapse.set_name_type", false]], "set_reveal_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[58, "bittensor.core.subtensor_api.commitments.Commitments.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.set_reveal_commitment", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[30, "bittensor.core.extrinsics.asyncex.root.set_root_weights_extrinsic", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.root)": [[43, "bittensor.core.extrinsics.root.set_root_weights_extrinsic", false]], "set_subnet_identity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_subnet_identity", false]], "set_subnet_identity (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.set_subnet_identity", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[29, "bittensor.core.extrinsics.asyncex.registration.set_subnet_identity_extrinsic", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.registration)": [[42, "bittensor.core.extrinsics.registration.set_subnet_identity_extrinsic", false]], "set_trace() (bittensor.utils.btlogging.format.btstreamformatter method)": [[79, "bittensor.utils.btlogging.format.BtStreamFormatter.set_trace", false]], "set_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_trace", false]], "set_unit() (bittensor.utils.balance.balance method)": [[76, "bittensor.utils.balance.Balance.set_unit", false]], "set_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_warning", false]], "set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_weights", false]], "set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_weights", false]], "set_weights() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.set_weights", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[37, "bittensor.core.extrinsics.asyncex.weights.set_weights_extrinsic", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.set_weights)": [[45, "bittensor.core.extrinsics.set_weights.set_weights_extrinsic", false]], "setlevel() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.setLevel", false]], "setup() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.setup", false]], "setup_config (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.setup_config", false]], "setup_config() (bittensor.core.types.subtensormixin static method)": [[73, "bittensor.core.types.SubtensorMixin.setup_config", false]], "shape (bittensor.core.tensor.tensor attribute)": [[70, "bittensor.core.tensor.Tensor.shape", false]], "should_exit (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.should_exit", false]], "should_sync (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.should_sync", false]], "should_sync (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.should_sync", false]], "shutdown() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[71, "bittensor.core.threadpool.PriorityThreadPoolExecutor.shutdown", false]], "sign_and_send_extrinsic (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.sign_and_send_extrinsic", false]], "signature (bittensor.core.synapse.terminalinfo attribute)": [[69, "bittensor.core.synapse.TerminalInfo.signature", false]], "slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.slippage", false]], "solve_cuda() (in module bittensor.utils.registration.register_cuda)": [[92, "bittensor.utils.registration.register_cuda.solve_cuda", false]], "solver (class in bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.Solver", false]], "ss58 (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.ss58", false]], "ss58_address_length (in module bittensor.core.settings)": [[54, "bittensor.core.settings.SS58_ADDRESS_LENGTH", false]], "ss58_address_to_bytes() (in module bittensor.utils)": [[85, "bittensor.utils.ss58_address_to_bytes", false]], "ss58_decode (in module bittensor.utils)": [[85, "bittensor.utils.ss58_decode", false]], "ss58_format (in module bittensor.core.settings)": [[54, "bittensor.core.settings.SS58_FORMAT", false]], "ss58_to_vec_u8() (in module bittensor.utils)": [[85, "bittensor.utils.ss58_to_vec_u8", false]], "stake (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake", false]], "stake (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.stake", false]], "stake (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.stake", false]], "stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.stake", false]], "stake (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.stake", false]], "stake (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Stake", false]], "stake_dict (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake_dict", false]], "stake_dict (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake_dict", false]], "stakeerror": [[25, "bittensor.core.errors.StakeError", false]], "stakeinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.StakeInfo", false]], "stakeinfo (class in bittensor.core.chain_data.stake_info)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo", false]], "staking (bittensor.core.subtensor_api.subtensorapi property)": [[61, "bittensor.core.subtensor_api.SubtensorApi.staking", false]], "staking (class in bittensor.core.subtensor_api.staking)": [[65, "bittensor.core.subtensor_api.staking.Staking", false]], "start() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.start", false]], "start() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.start", false]], "start() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[91, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.start", false]], "start() (bittensor.utils.registration.pow.status method)": [[91, "bittensor.utils.registration.pow.Status.start", false]], "start_call (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.start_call", false]], "start_call (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.start_call", false]], "start_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.start_call", false]], "start_call() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.start_call", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.asyncex.start_call)": [[33, "bittensor.core.extrinsics.asyncex.start_call.start_call_extrinsic", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.start_call)": [[47, "bittensor.core.extrinsics.start_call.start_call_extrinsic", false]], "started (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.started", false]], "state_call (bittensor.core.subtensor_api.chain.chain attribute)": [[57, "bittensor.core.subtensor_api.chain.Chain.state_call", false]], "state_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.state_call", false]], "state_call() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.state_call", false]], "state_dict() (bittensor.core.metagraph.metagraphmixin method)": [[53, "bittensor.core.metagraph.MetagraphMixin.state_dict", false]], "status (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[91, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.status", false]], "status (class in bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.Status", false]], "status() (bittensor.utils.registration.pow.console static method)": [[91, "bittensor.utils.registration.pow.Console.status", false]], "status_code (bittensor.core.synapse.terminalinfo attribute)": [[69, "bittensor.core.synapse.TerminalInfo.status_code", false]], "status_message (bittensor.core.synapse.terminalinfo attribute)": [[69, "bittensor.core.synapse.TerminalInfo.status_message", false]], "stop() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.stop", false]], "stop() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.stop", false]], "stop() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[91, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.stop", false]], "stop() (bittensor.utils.registration.pow.status method)": [[91, "bittensor.utils.registration.pow.Status.stop", false]], "storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.storage_function", false]], "storagefunctionnotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.StorageFunctionNotFound", false]], "storagekey (class in bittensor.utils.substrate_utils.storage)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey", false]], "stream_response() (bittensor.core.stream.streamingsynapse.btstreamingresponse method)": [[55, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.stream_response", false]], "streamingsynapse (class in bittensor.core.stream)": [[55, "bittensor.core.stream.StreamingSynapse", false]], "streamingsynapse.btstreamingresponse (class in bittensor.core.stream)": [[55, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse", false]], "strtobool() (in module bittensor.utils)": [[85, "bittensor.utils.strtobool", false]], "submit() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[71, "bittensor.core.threadpool.PriorityThreadPoolExecutor.submit", false]], "subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.subnet", false]], "subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet", false]], "subnet() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.subnet", false]], "subnet_contact (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_contact", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_emission", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.subnet_emission", false]], "subnet_exists (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.subnet_exists", false]], "subnet_exists() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet_exists", false]], "subnet_exists() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.subnet_exists", false]], "subnet_identity (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_identity", false]], "subnet_name (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_name", false]], "subnet_name (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_name", false]], "subnet_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_url", false]], "subnet_volume (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.subnet_volume", false]], "subnetemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetEmission", false]], "subnethyperparameters (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetHyperparameters", false]], "subnethyperparameters (class in bittensor.core.chain_data.subnet_hyperparameters)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters", false]], "subnetidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetIdentity", false]], "subnetidentity (class in bittensor.core.chain_data.subnet_identity)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity", false]], "subnetinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetInfo", false]], "subnetinfo (class in bittensor.core.chain_data.subnet_info)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo", false]], "subnets (bittensor.core.subtensor_api.subtensorapi property)": [[61, "bittensor.core.subtensor_api.SubtensorApi.subnets", false]], "subnets (class in bittensor.core.subtensor_api.subnets)": [[66, "bittensor.core.subtensor_api.subnets.Subnets", false]], "subnetsapi (class in bittensor.utils.subnets)": [[93, "bittensor.utils.subnets.SubnetsAPI", false]], "subnetstate (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetState", false]], "subnetstate (class in bittensor.core.chain_data.subnet_state)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState", false]], "subnetvolume (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetVolume", false]], "subnetwork_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.subnetwork_n", false]], "subnetwork_n (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.subnetwork_n", false]], "subnetwork_n() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnetwork_n", false]], "subnetwork_n() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.subnetwork_n", false]], "subnetworkdoesnotexist": [[25, "bittensor.core.errors.SubNetworkDoesNotExist", false]], "substrate (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.substrate", false]], "substrate (bittensor.core.subtensor.subtensor attribute)": [[56, "bittensor.core.subtensor.Subtensor.substrate", false]], "substrate (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.substrate", false]], "substraterequestexception (in module bittensor.core.errors)": [[25, "bittensor.core.errors.SubstrateRequestException", false]], "subtensor (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.subtensor", false]], "subtensor (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.subtensor", false]], "subtensor (class in bittensor.core.subtensor)": [[56, "bittensor.core.subtensor.Subtensor", false]], "subtensor (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.subtensor", false]], "subtensorapi (class in bittensor.core.subtensor_api)": [[61, "bittensor.core.subtensor_api.SubtensorApi", false]], "subtensormixin (class in bittensor.core.types)": [[73, "bittensor.core.types.SubtensorMixin", false]], "subtensormodule (bittensor.utils.mock.subtensor_mock.mockchainstate attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockChainState.SubtensorModule", false]], "subvortex_entrypoint (in module bittensor.core.settings)": [[54, "bittensor.core.settings.SUBVORTEX_ENTRYPOINT", false]], "success (bittensor.utils.unlockstatus attribute)": [[85, "bittensor.utils.UnlockStatus.success", false]], "success() (bittensor.utils.btlogging.console.bittensorconsole method)": [[77, "bittensor.utils.btlogging.console.BittensorConsole.success", false]], "success() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.success", false]], "success_level_num (in module bittensor.utils.btlogging.format)": [[79, "bittensor.utils.btlogging.format.SUCCESS_LEVEL_NUM", false]], "sudo_force_set_balance (bittensor.utils.mock.subtensor_mock.mocksubtensor attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensor.sudo_force_set_balance", false]], "swap_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.swap_stake", false]], "swap_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.swap_stake", false]], "swap_stake() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.swap_stake", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[28, "bittensor.core.extrinsics.asyncex.move_stake.swap_stake_extrinsic", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[41, "bittensor.core.extrinsics.move_stake.swap_stake_extrinsic", false]], "symbol (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Symbol", false]], "symbol (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.symbol", false]], "synapse (bittensor.core.errors.synapseexception attribute)": [[25, "bittensor.core.errors.SynapseException.synapse", false]], "synapse (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[55, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.synapse", false]], "synapse (class in bittensor.core.synapse)": [[69, "bittensor.core.synapse.Synapse", false]], "synapse (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.synapse", false]], "synapse_history (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.synapse_history", false]], "synapse_to_response() (bittensor.core.axon.axonmiddleware class method)": [[1, "bittensor.core.axon.AxonMiddleware.synapse_to_response", false]], "synapsedendritenoneexception": [[25, "bittensor.core.errors.SynapseDendriteNoneException", false]], "synapseexception": [[25, "bittensor.core.errors.SynapseException", false]], "synapseparsingerror": [[25, "bittensor.core.errors.SynapseParsingError", false]], "sync() (bittensor.core.metagraph.asyncmetagraph method)": [[53, "bittensor.core.metagraph.AsyncMetagraph.sync", false]], "sync() (bittensor.core.metagraph.metagraph method)": [[53, "bittensor.core.metagraph.Metagraph.sync", false]], "system (bittensor.utils.mock.subtensor_mock.mockchainstate attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockChainState.System", false]], "t (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.T", false]], "t (in module bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.T", false]], "t (in module bittensor.core.config)": [[23, "bittensor.core.config.T", false]], "take (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.take", false]], "take (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.take", false]], "takeerror": [[25, "bittensor.core.errors.TakeError", false]], "tao (bittensor.utils.balance.balance property)": [[76, "bittensor.utils.balance.Balance.tao", false]], "tao() (in module bittensor.utils.balance)": [[76, "bittensor.utils.balance.tao", false]], "tao_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_dividends_per_hotkey", false]], "tao_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.tao_dividends_per_hotkey", false]], "tao_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.tao_in", false]], "tao_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.tao_in_emission", false]], "tao_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_slippage", false]], "tao_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_stake", false]], "tao_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.tao_stake", false]], "tao_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.tao_stake", false]], "tao_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.tao_stake", false]], "tao_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.tao_stake", false]], "tao_symbol (in module bittensor.core.settings)": [[54, "bittensor.core.settings.TAO_SYMBOL", false]], "tao_to_alpha() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha", false]], "tao_to_alpha_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha_with_slippage", false]], "taodividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoDividendsPerHotkey", false]], "taoin (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoIn", false]], "taoinemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoInEmission", false]], "taostake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoStake", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.target_regs_per_interval", false]], "targetregsperinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TargetRegsPerInterval", false]], "tempo (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Tempo", false]], "tempo (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.tempo", false]], "tempo (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.tempo", false]], "tempo (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.tempo", false]], "tempo (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.tempo", false]], "tempo() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tempo", false]], "tempo() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.tempo", false]], "tensor (class in bittensor.core.tensor)": [[70, "bittensor.core.tensor.Tensor", false], [70, "bittensor.core.tensor.tensor", false]], "tensor (in module bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.Tensor", false]], "tensor() (bittensor.core.tensor.tensor method)": [[70, "bittensor.core.tensor.Tensor.tensor", false]], "terminalinfo (class in bittensor.core.synapse)": [[69, "bittensor.core.synapse.TerminalInfo", false]], "terminate_workers_and_wait_for_exit() (in module bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.terminate_workers_and_wait_for_exit", false]], "thread_pool (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.thread_pool", false]], "threshold (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.threshold", false]], "time_average (bittensor.utils.registration.pow.registrationstatistics attribute)": [[91, "bittensor.utils.registration.pow.RegistrationStatistics.time_average", false]], "time_spent (bittensor.utils.registration.pow.registrationstatistics attribute)": [[91, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent", false]], "time_spent_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[91, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent_total", false]], "timeout (bittensor.core.synapse.synapse attribute)": [[69, "bittensor.core.synapse.Synapse.timeout", false]], "to_dict() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.to_dict", false]], "to_headers() (bittensor.core.synapse.synapse method)": [[69, "bittensor.core.synapse.Synapse.to_headers", false], [69, "id5", false]], "to_hex() (bittensor.utils.substrate_utils.storage.storagekey method)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.to_hex", false]], "to_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_parameter_dict", false]], "to_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.to_parameter_dict", false]], "to_string() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.to_string", false]], "to_string() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_string", false]], "token_streamer (bittensor.core.stream.btstreamingresponsemodel attribute)": [[55, "bittensor.core.stream.BTStreamingResponseModel.token_streamer", false]], "token_streamer (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[55, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.token_streamer", false]], "tolist() (bittensor.core.tensor.tensor method)": [[70, "bittensor.core.tensor.Tensor.tolist", false]], "toomanychildren": [[25, "bittensor.core.errors.TooManyChildren", false]], "torch (bittensor.core.tensor.dtypes attribute)": [[70, "bittensor.core.tensor.DTypes.torch", false]], "torch (in module bittensor.utils)": [[85, "bittensor.utils.torch", false]], "torch (in module bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.torch", false]], "torchmetagraph (class in bittensor.core.metagraph)": [[53, "bittensor.core.metagraph.TorchMetagraph", false]], "total_daily_return (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.total_daily_return", false]], "total_daily_return (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.total_daily_return", false]], "total_size (bittensor.core.synapse.synapse attribute)": [[69, "bittensor.core.synapse.Synapse.total_size", false]], "total_stake (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.total_stake", false]], "total_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.total_stake", false]], "total_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.total_stake", false]], "total_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.total_stake", false]], "totalstake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TotalStake", false]], "tpb (bittensor.utils.registration.pow.cudasolver attribute)": [[91, "bittensor.utils.registration.pow.CUDASolver.tpb", false]], "trace (bittensor.utils.btlogging.format.btstreamformatter attribute)": [[79, "bittensor.utils.btlogging.format.BtStreamFormatter.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Trace", false]], "trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.trace", false]], "trace() (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.trace", false]], "trace_level_num (in module bittensor.utils.btlogging.format)": [[79, "bittensor.utils.btlogging.format.TRACE_LEVEL_NUM", false]], "trace_log_format (in module bittensor.utils.btlogging.defines)": [[78, "bittensor.utils.btlogging.defines.TRACE_LOG_FORMAT", false]], "transfer (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer", false]], "transfer() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer", false]], "transfer() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.transfer", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.asyncex.transfer)": [[35, "bittensor.core.extrinsics.asyncex.transfer.transfer_extrinsic", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.transfer)": [[49, "bittensor.core.extrinsics.transfer.transfer_extrinsic", false]], "transfer_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer_stake", false]], "transfer_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer_stake", false]], "transfer_stake() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.transfer_stake", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[28, "bittensor.core.extrinsics.asyncex.move_stake.transfer_stake_extrinsic", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[41, "bittensor.core.extrinsics.move_stake.transfer_stake_extrinsic", false]], "transfererror": [[25, "bittensor.core.errors.TransferError", false]], "trust (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.trust", false]], "trust (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Trust", false]], "trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.trust", false]], "trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.trust", false]], "trust (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.trust", false]], "trust (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.trust", false]], "trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.trust", false]], "trust (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.trust", false]], "ts (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.TS", false]], "tv (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.Tv", false]], "two_x64_concat() (in module bittensor.utils.substrate_utils.hasher)": [[94, "bittensor.utils.substrate_utils.hasher.two_x64_concat", false]], "tx_rate_limit (bittensor.core.subtensor_api.chain.chain attribute)": [[57, "bittensor.core.subtensor_api.chain.Chain.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.tx_rate_limit", false]], "txratelimitexceeded": [[25, "bittensor.core.errors.TxRateLimitExceeded", false]], "type (bittensor.core.types.paramwithtypes attribute)": [[73, "bittensor.core.types.ParamWithTypes.type", false]], "type_registry (in module bittensor.core.settings)": [[54, "bittensor.core.settings.TYPE_REGISTRY", false]], "u16_max (in module bittensor.utils)": [[85, "bittensor.utils.U16_MAX", false]], "u16_max (in module bittensor.utils.weight_utils)": [[98, "bittensor.utils.weight_utils.U16_MAX", false]], "u16_normalized_float() (in module bittensor.utils)": [[85, "bittensor.utils.u16_normalized_float", false]], "u32_max (in module bittensor.utils.weight_utils)": [[98, "bittensor.utils.weight_utils.U32_MAX", false]], "u64_max (in module bittensor.utils)": [[85, "bittensor.utils.U64_MAX", false]], "u64_normalized_float() (in module bittensor.utils)": [[85, "bittensor.utils.u64_normalized_float", false]], "uid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.uid", false]], "uid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.uid", false]], "uids (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.uids", false]], "uids (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.uids", false]], "uids (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.uids", false]], "unit (bittensor.utils.balance.balance attribute)": [[76, "bittensor.utils.balance.Balance.unit", false]], "unknownsynapseerror": [[25, "bittensor.core.errors.UnknownSynapseError", false]], "unlock_key() (in module bittensor.utils)": [[85, "bittensor.utils.unlock_key", false]], "unlockstatus (class in bittensor.utils)": [[85, "bittensor.utils.UnlockStatus", false]], "unstake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake", false]], "unstake (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.unstake", false]], "unstake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake", false]], "unstake() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.unstake", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[36, "bittensor.core.extrinsics.asyncex.unstaking.unstake_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[50, "bittensor.core.extrinsics.unstaking.unstake_extrinsic", false]], "unstake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[60, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_multiple", false]], "unstake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[65, "bittensor.core.subtensor_api.staking.Staking.unstake_multiple", false]], "unstake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_multiple", false]], "unstake_multiple() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.unstake_multiple", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[36, "bittensor.core.extrinsics.asyncex.unstaking.unstake_multiple_extrinsic", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[50, "bittensor.core.extrinsics.unstaking.unstake_multiple_extrinsic", false]], "unstakeerror": [[25, "bittensor.core.errors.UnstakeError", false]], "update() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[91, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.update", false]], "update() (bittensor.utils.registration.pow.status method)": [[91, "bittensor.utils.registration.pow.Status.update", false]], "update_curr_block() (in module bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.update_curr_block", false]], "url (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.url", false]], "use_torch (in module bittensor.utils)": [[85, "bittensor.utils.use_torch", false]], "use_torch() (in module bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.use_torch", false]], "user_bittensor_dir (in module bittensor.core.settings)": [[54, "bittensor.core.settings.USER_BITTENSOR_DIR", false]], "usingspawnstartmethod (class in bittensor.utils.registration.pow)": [[91, "bittensor.utils.registration.pow.UsingSpawnStartMethod", false]], "uuid (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.uuid", false]], "uuid (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.uuid", false]], "uuid (bittensor.core.synapse.terminalinfo attribute)": [[69, "bittensor.core.synapse.TerminalInfo.uuid", false]], "v_7_2_0 (in module bittensor.core.axon)": [[1, "bittensor.core.axon.V_7_2_0", false]], "validate_chain_endpoint() (in module bittensor.utils)": [[85, "bittensor.utils.validate_chain_endpoint", false]], "validator_permit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_permit", false]], "validator_permit (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.validator_permit", false]], "validator_permit (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.validator_permit", false]], "validator_permit (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.validator_permit", false]], "validator_permit (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.validator_permit", false]], "validator_permits (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.validator_permits", false]], "validator_permits (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.validator_permits", false]], "validator_trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_trust", false]], "validator_trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_trust", false]], "validator_trust (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.validator_trust", false]], "validator_trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.validator_trust", false]], "validator_trust (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.validator_trust", false]], "validatorbatchsize (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.ValidatorBatchSize", false]], "validatorpermit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ValidatorPermit", false]], "value (bittensor.utils.mock.subtensor_mock.mocksubtensorvalue attribute)": [[87, "bittensor.utils.mock.subtensor_mock.MockSubtensorValue.value", false]], "value_scale_type (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[96, "bittensor.utils.substrate_utils.storage.StorageKey.value_scale_type", false]], "verify() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.verify", false]], "verify_body_integrity() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.verify_body_integrity", false]], "verify_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.verify_fns", false]], "version (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.version", false]], "version (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.version", false]], "version (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.version", false]], "version (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.version", false]], "version (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.version", false]], "version (bittensor.core.synapse.terminalinfo attribute)": [[69, "bittensor.core.synapse.TerminalInfo.version", false]], "version (bittensor.core.types.axonservecallparams attribute)": [[73, "bittensor.core.types.AxonServeCallParams.version", false]], "version (bittensor.core.types.prometheusservecallparams attribute)": [[73, "bittensor.core.types.PrometheusServeCallParams.version", false]], "version (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.version", false]], "version (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[87, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.version", false]], "version_as_int (in module bittensor.core.settings)": [[54, "bittensor.core.settings.version_as_int", false]], "version_check_threshold (in module bittensor.utils.version)": [[97, "bittensor.utils.version.VERSION_CHECK_THRESHOLD", false]], "version_checking (in module bittensor.utils)": [[85, "bittensor.utils.version_checking", false]], "version_checking() (in module bittensor.utils.version)": [[97, "bittensor.utils.version.version_checking", false]], "version_split (in module bittensor.core.settings)": [[54, "bittensor.core.settings.version_split", false]], "versioncheckerror": [[97, "bittensor.utils.version.VersionCheckError", false]], "versioncheckerror (in module bittensor.utils)": [[85, "bittensor.utils.VersionCheckError", false]], "w (bittensor.core.metagraph.metagraphmixin property)": [[53, "bittensor.core.metagraph.MetagraphMixin.W", false]], "wait_for_block (bittensor.core.subtensor_api.subtensorapi attribute)": [[61, "bittensor.core.subtensor_api.SubtensorApi.wait_for_block", false]], "wait_for_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.wait_for_block", false]], "wait_for_block() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.wait_for_block", false]], "wait_reveal_and_decrypt() (in module bittensor.core.timelock)": [[72, "bittensor.core.timelock.wait_reveal_and_decrypt", false]], "wallet (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.wallet", false]], "wallet (bittensor.utils.subnets.subnetsapi attribute)": [[93, "bittensor.utils.subnets.SubnetsAPI.wallet", false]], "wallet (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.wallet", false]], "wallets (bittensor.core.subtensor_api.subtensorapi property)": [[61, "bittensor.core.subtensor_api.SubtensorApi.wallets", false]], "wallets (class in bittensor.core.subtensor_api.wallets)": [[68, "bittensor.core.subtensor_api.wallets.Wallets", false]], "wallets_dir (in module bittensor.core.settings)": [[54, "bittensor.core.settings.WALLETS_DIR", false]], "warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Warning", false]], "warning() (bittensor.utils.btlogging.console.bittensorconsole method)": [[77, "bittensor.utils.btlogging.console.BittensorConsole.warning", false]], "warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[82, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.warning", false]], "warning() (in module bittensor.utils.easy_imports)": [[83, "bittensor.utils.easy_imports.warning", false]], "weightcommitinfo (class in bittensor.core.chain_data.weight_commit_info)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo", false]], "weights (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.weights", false]], "weights (bittensor.core.metagraph.metagraphmixin attribute)": [[53, "bittensor.core.metagraph.MetagraphMixin.weights", false]], "weights (bittensor.core.metagraph.nontorchmetagraph attribute)": [[53, "bittensor.core.metagraph.NonTorchMetagraph.weights", false]], "weights (bittensor.core.metagraph.torchmetagraph attribute)": [[53, "bittensor.core.metagraph.TorchMetagraph.weights", false]], "weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.weights", false]], "weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights", false]], "weights() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.weights", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[66, "bittensor.core.subtensor_api.subnets.Subnets.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.subtensor.subtensor method)": [[56, "bittensor.core.subtensor.Subtensor.weights_rate_limit", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_version", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_version", false]], "weights_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_version", false]], "weightsratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsRateLimit", false]], "weightsversion (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsVersion", false]], "xxh128() (in module bittensor.utils.substrate_utils.hasher)": [[94, "bittensor.utils.substrate_utils.hasher.xxh128", false]], "xxh64() (in module bittensor.utils.substrate_utils.hasher)": [[94, "bittensor.utils.substrate_utils.hasher.xxh64", false]]}, "objects": {"": [[74, 0, 0, "-", "bittensor"]], "bittensor": [[52, 0, 0, "-", "core"], [85, 0, 0, "-", "utils"]], "bittensor.core": [[0, 0, 0, "-", "async_subtensor"], [1, 0, 0, "-", "axon"], [7, 0, 0, "-", "chain_data"], [23, 0, 0, "-", "config"], [24, 0, 0, "-", "dendrite"], [25, 0, 0, "-", "errors"], [40, 0, 0, "-", "extrinsics"], [53, 0, 0, "-", "metagraph"], [54, 0, 0, "-", "settings"], [55, 0, 0, "-", "stream"], [56, 0, 0, "-", "subtensor"], [61, 0, 0, "-", "subtensor_api"], [69, 0, 0, "-", "synapse"], [70, 0, 0, "-", "tensor"], [71, 0, 0, "-", "threadpool"], [72, 0, 0, "-", "timelock"], [73, 0, 0, "-", "types"]], "bittensor.core.async_subtensor": [[0, 1, 1, "", "AsyncSubtensor"], [0, 5, 1, "", "get_async_subtensor"]], "bittensor.core.async_subtensor.AsyncSubtensor": [[0, 2, 1, "", "add_stake"], [0, 2, 1, "", "add_stake_multiple"], [0, 2, 1, "", "all_subnets"], [0, 3, 1, "", "block"], [0, 2, 1, "", "blocks_since_last_step"], [0, 2, 1, "", "blocks_since_last_update"], [0, 2, 1, "", "bonds"], [0, 2, 1, "", "burned_register"], [0, 2, 1, "", "close"], [0, 2, 1, "", "commit"], [0, 2, 1, "", "commit_reveal_enabled"], [0, 2, 1, "", "commit_weights"], [0, 2, 1, "", "determine_block_hash"], [0, 2, 1, "", "difficulty"], [0, 2, 1, "", "does_hotkey_exist"], [0, 2, 1, "", "encode_params"], [0, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [0, 2, 1, "", "get_all_commitments"], [0, 2, 1, "", "get_all_metagraphs_info"], [0, 2, 1, "", "get_all_neuron_certificates"], [0, 2, 1, "", "get_all_revealed_commitments"], [0, 2, 1, "", "get_all_subnets_info"], [0, 2, 1, "", "get_balance"], [0, 2, 1, "", "get_balances"], [0, 2, 1, "", "get_block_hash"], [0, 2, 1, "", "get_children"], [0, 2, 1, "", "get_children_pending"], [0, 2, 1, "", "get_commitment"], [0, 2, 1, "", "get_current_block"], [0, 2, 1, "", "get_current_weight_commit_info"], [0, 2, 1, "", "get_delegate_by_hotkey"], [0, 2, 1, "", "get_delegate_identities"], [0, 2, 1, "", "get_delegate_take"], [0, 2, 1, "", "get_delegated"], [0, 2, 1, "", "get_delegates"], [0, 2, 1, "", "get_existential_deposit"], [0, 2, 1, "", "get_hotkey_owner"], [0, 4, 1, "", "get_hotkey_stake"], [0, 2, 1, "", "get_hyperparameter"], [0, 2, 1, "", "get_metagraph_info"], [0, 2, 1, "", "get_minimum_required_stake"], [0, 2, 1, "", "get_netuids_for_hotkey"], [0, 2, 1, "", "get_neuron_certificate"], [0, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [0, 2, 1, "", "get_next_epoch_start_block"], [0, 2, 1, "", "get_owned_hotkeys"], [0, 2, 1, "", "get_revealed_commitment"], [0, 2, 1, "", "get_revealed_commitment_by_hotkey"], [0, 2, 1, "", "get_stake"], [0, 2, 1, "", "get_stake_add_fee"], [0, 2, 1, "", "get_stake_for_coldkey"], [0, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [0, 2, 1, "", "get_stake_for_hotkey"], [0, 4, 1, "", "get_stake_info_for_coldkey"], [0, 2, 1, "", "get_stake_movement_fee"], [0, 2, 1, "", "get_subnet_burn_cost"], [0, 2, 1, "", "get_subnet_hyperparameters"], [0, 2, 1, "", "get_subnet_owner_hotkey"], [0, 2, 1, "", "get_subnet_reveal_period_epochs"], [0, 2, 1, "", "get_subnet_validator_permits"], [0, 2, 1, "", "get_subnets"], [0, 2, 1, "", "get_timestamp"], [0, 2, 1, "", "get_total_subnets"], [0, 2, 1, "", "get_transfer_fee"], [0, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [0, 2, 1, "", "get_unstake_fee"], [0, 2, 1, "", "get_vote_data"], [0, 2, 1, "", "immunity_period"], [0, 2, 1, "", "initialize"], [0, 2, 1, "", "is_fast_blocks"], [0, 2, 1, "", "is_hotkey_delegate"], [0, 2, 1, "", "is_hotkey_registered"], [0, 2, 1, "", "is_hotkey_registered_any"], [0, 2, 1, "", "is_hotkey_registered_on_subnet"], [0, 2, 1, "", "is_subnet_active"], [0, 2, 1, "", "last_drand_round"], [0, 4, 1, "", "log_verbose"], [0, 2, 1, "", "max_weight_limit"], [0, 2, 1, "", "metagraph"], [0, 2, 1, "", "min_allowed_weights"], [0, 2, 1, "", "move_stake"], [0, 2, 1, "", "neuron_for_uid"], [0, 2, 1, "", "neurons"], [0, 2, 1, "", "neurons_lite"], [0, 2, 1, "", "query_constant"], [0, 2, 1, "", "query_identity"], [0, 2, 1, "", "query_map"], [0, 2, 1, "", "query_map_subtensor"], [0, 2, 1, "", "query_module"], [0, 2, 1, "", "query_runtime_api"], [0, 2, 1, "", "query_subtensor"], [0, 2, 1, "", "recycle"], [0, 2, 1, "", "register"], [0, 2, 1, "", "register_subnet"], [0, 2, 1, "", "reveal_weights"], [0, 2, 1, "", "root_register"], [0, 2, 1, "", "root_set_weights"], [0, 2, 1, "", "serve_axon"], [0, 2, 1, "", "set_children"], [0, 4, 1, "", "set_commitment"], [0, 2, 1, "", "set_delegate_take"], [0, 2, 1, "", "set_reveal_commitment"], [0, 2, 1, "", "set_subnet_identity"], [0, 2, 1, "", "set_weights"], [0, 2, 1, "", "sign_and_send_extrinsic"], [0, 2, 1, "", "start_call"], [0, 2, 1, "", "state_call"], [0, 2, 1, "", "subnet"], [0, 2, 1, "", "subnet_exists"], [0, 2, 1, "", "subnetwork_n"], [0, 4, 1, "", "substrate"], [0, 2, 1, "", "swap_stake"], [0, 2, 1, "", "tempo"], [0, 2, 1, "", "transfer"], [0, 2, 1, "", "transfer_stake"], [0, 2, 1, "", "tx_rate_limit"], [0, 2, 1, "", "unstake"], [0, 2, 1, "", "unstake_multiple"], [0, 2, 1, "", "wait_for_block"], [0, 2, 1, "", "weights"], [0, 2, 1, "", "weights_rate_limit"]], "bittensor.core.axon": [[1, 1, 1, "", "Axon"], [1, 1, 1, "", "AxonMiddleware"], [1, 1, 1, "", "FastAPIThreadedServer"], [1, 6, 1, "", "V_7_2_0"], [1, 5, 1, "", "create_error_response"], [1, 5, 1, "", "log_and_handle_error"]], "bittensor.core.axon.Axon": [[1, 2, 1, "", "add_args"], [1, 4, 1, "", "app"], [1, 2, 1, "", "attach"], [1, 4, 1, "", "blacklist_fns"], [1, 2, 1, "", "check_config"], [1, 2, 1, "", "config"], [1, 2, 1, "", "default_verify"], [1, 4, 1, "", "external_ip"], [1, 4, 1, "", "external_port"], [1, 4, 1, "", "fast_config"], [1, 4, 1, "", "fast_server"], [1, 4, 1, "", "forward_class_types"], [1, 4, 1, "", "forward_fns"], [1, 4, 1, "", "full_address"], [1, 2, 1, "", "help"], [1, 2, 1, "", "info"], [1, 4, 1, "", "ip"], [1, 4, 1, "", "middleware_cls"], [1, 4, 1, "", "nonces"], [1, 4, 1, "", "port"], [1, 4, 1, "", "priority_fns"], [1, 4, 1, "", "router"], [1, 2, 1, "", "serve"], [1, 2, 1, "", "start"], [1, 4, 1, "", "started"], [1, 2, 1, "", "stop"], [1, 4, 1, "", "thread_pool"], [1, 2, 1, "", "to_string"], [1, 4, 1, "", "uuid"], [1, 2, 1, "", "verify_body_integrity"], [1, 4, 1, "", "verify_fns"], [1, 4, 1, "", "wallet"]], "bittensor.core.axon.AxonMiddleware": [[1, 4, 1, "", "axon"], [1, 2, 1, "", "blacklist"], [1, 2, 1, "", "dispatch"], [1, 2, 1, "", "preprocess"], [1, 2, 1, "", "priority"], [1, 2, 1, "", "run"], [1, 2, 1, "", "synapse_to_response"], [1, 2, 1, "", "verify"]], "bittensor.core.axon.FastAPIThreadedServer": [[1, 2, 1, "", "install_signal_handlers"], [1, 4, 1, "", "is_running"], [1, 2, 1, "", "run_in_thread"], [1, 4, 1, "", "should_exit"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"]], "bittensor.core.chain_data": [[2, 0, 0, "-", "axon_info"], [3, 0, 0, "-", "chain_identity"], [4, 0, 0, "-", "delegate_info"], [5, 0, 0, "-", "delegate_info_lite"], [6, 0, 0, "-", "dynamic_info"], [8, 0, 0, "-", "info_base"], [9, 0, 0, "-", "ip_info"], [10, 0, 0, "-", "metagraph_info"], [11, 0, 0, "-", "neuron_info"], [12, 0, 0, "-", "neuron_info_lite"], [13, 0, 0, "-", "prometheus_info"], [14, 0, 0, "-", "proposal_vote_data"], [15, 0, 0, "-", "scheduled_coldkey_swap_info"], [16, 0, 0, "-", "stake_info"], [17, 0, 0, "-", "subnet_hyperparameters"], [18, 0, 0, "-", "subnet_identity"], [19, 0, 0, "-", "subnet_info"], [20, 0, 0, "-", "subnet_state"], [21, 0, 0, "-", "utils"], [22, 0, 0, "-", "weight_commit_info"]], "bittensor.core.chain_data.axon_info": [[2, 1, 1, "", "AxonInfo"]], "bittensor.core.chain_data.axon_info.AxonInfo": [[2, 4, 1, "", "coldkey"], [2, 2, 1, "", "from_neuron_info"], [2, 2, 1, "", "from_parameter_dict"], [2, 2, 1, "", "from_string"], [2, 4, 1, "", "hotkey"], [2, 4, 1, "", "ip"], [2, 2, 1, "", "ip_str"], [2, 4, 1, "", "ip_type"], [2, 3, 1, "", "is_serving"], [2, 4, 1, "", "placeholder1"], [2, 4, 1, "", "placeholder2"], [2, 4, 1, "", "port"], [2, 4, 1, "", "protocol"], [2, 2, 1, "", "to_parameter_dict"], [2, 2, 1, "", "to_string"], [2, 4, 1, "", "version"]], "bittensor.core.chain_data.chain_identity": [[3, 1, 1, "", "ChainIdentity"]], "bittensor.core.chain_data.chain_identity.ChainIdentity": [[3, 4, 1, "", "additional"], [3, 4, 1, "", "description"], [3, 4, 1, "", "discord"], [3, 4, 1, "", "github"], [3, 4, 1, "", "image"], [3, 4, 1, "", "name"], [3, 4, 1, "", "url"]], "bittensor.core.chain_data.delegate_info": [[4, 1, 1, "", "DelegateInfo"], [4, 1, 1, "", "DelegateInfoBase"], [4, 1, 1, "", "DelegatedInfo"]], "bittensor.core.chain_data.delegate_info.DelegateInfo": [[4, 4, 1, "", "nominators"], [4, 4, 1, "", "total_stake"]], "bittensor.core.chain_data.delegate_info.DelegateInfoBase": [[4, 4, 1, "", "hotkey_ss58"], [4, 4, 1, "", "owner_ss58"], [4, 4, 1, "", "registrations"], [4, 4, 1, "", "return_per_1000"], [4, 4, 1, "", "take"], [4, 4, 1, "", "total_daily_return"], [4, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.delegate_info.DelegatedInfo": [[4, 4, 1, "", "netuid"], [4, 4, 1, "", "stake"]], "bittensor.core.chain_data.delegate_info_lite": [[5, 1, 1, "", "DelegateInfoLite"]], "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite": [[5, 4, 1, "", "delegate_ss58"], [5, 4, 1, "", "nominators"], [5, 4, 1, "", "owner_ss58"], [5, 4, 1, "", "registrations"], [5, 4, 1, "", "return_per_1000"], [5, 4, 1, "", "take"], [5, 4, 1, "", "total_daily_return"], [5, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.dynamic_info": [[6, 1, 1, "", "DynamicInfo"]], "bittensor.core.chain_data.dynamic_info.DynamicInfo": [[6, 4, 1, "", "alpha_in"], [6, 4, 1, "", "alpha_in_emission"], [6, 4, 1, "", "alpha_out"], [6, 4, 1, "", "alpha_out_emission"], [6, 4, 1, "", "alpha_slippage"], [6, 2, 1, "", "alpha_to_tao"], [6, 2, 1, "", "alpha_to_tao_with_slippage"], [6, 4, 1, "", "blocks_since_last_step"], [6, 4, 1, "", "emission"], [6, 4, 1, "", "is_dynamic"], [6, 4, 1, "", "k"], [6, 4, 1, "", "last_step"], [6, 4, 1, "", "moving_price"], [6, 4, 1, "", "netuid"], [6, 4, 1, "", "network_registered_at"], [6, 4, 1, "", "owner_coldkey"], [6, 4, 1, "", "owner_hotkey"], [6, 4, 1, "", "pending_alpha_emission"], [6, 4, 1, "", "pending_root_emission"], [6, 4, 1, "", "price"], [6, 4, 1, "", "slippage"], [6, 4, 1, "", "subnet_identity"], [6, 4, 1, "", "subnet_name"], [6, 4, 1, "", "subnet_volume"], [6, 4, 1, "", "symbol"], [6, 4, 1, "", "tao_in"], [6, 4, 1, "", "tao_in_emission"], [6, 4, 1, "", "tao_slippage"], [6, 2, 1, "", "tao_to_alpha"], [6, 2, 1, "", "tao_to_alpha_with_slippage"], [6, 4, 1, "", "tempo"]], "bittensor.core.chain_data.info_base": [[8, 1, 1, "", "InfoBase"], [8, 6, 1, "", "T"]], "bittensor.core.chain_data.info_base.InfoBase": [[8, 2, 1, "", "from_dict"], [8, 2, 1, "", "list_from_dicts"]], "bittensor.core.chain_data.ip_info": [[9, 1, 1, "", "IPInfo"]], "bittensor.core.chain_data.ip_info.IPInfo": [[9, 2, 1, "", "encode"], [9, 2, 1, "", "from_parameter_dict"], [9, 4, 1, "", "ip"], [9, 4, 1, "", "ip_type"], [9, 4, 1, "", "protocol"], [9, 2, 1, "", "to_parameter_dict"]], "bittensor.core.chain_data.metagraph_info": [[10, 1, 1, "", "MetagraphInfo"], [10, 1, 1, "", "MetagraphInfoEmissions"], [10, 1, 1, "", "MetagraphInfoParams"], [10, 1, 1, "", "MetagraphInfoPool"], [10, 1, 1, "", "SelectiveMetagraphIndex"], [10, 5, 1, "", "process_nested"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfo": [[10, 4, 1, "", "active"], [10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_dividends_per_hotkey"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "alpha_stake"], [10, 4, 1, "", "axons"], [10, 4, 1, "", "block"], [10, 4, 1, "", "block_at_registration"], [10, 4, 1, "", "blocks_since_last_step"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "coldkeys"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "consensus"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "dividends"], [10, 4, 1, "", "emission"], [10, 4, 1, "", "hotkeys"], [10, 4, 1, "", "identities"], [10, 4, 1, "", "identity"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "incentives"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "last_step"], [10, 4, 1, "", "last_update"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_uids"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "name"], [10, 4, 1, "", "netuid"], [10, 4, 1, "", "network_registered_at"], [10, 4, 1, "", "num_uids"], [10, 4, 1, "", "owner_coldkey"], [10, 4, 1, "", "owner_hotkey"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "pruning_score"], [10, 4, 1, "", "rank"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "symbol"], [10, 4, 1, "", "tao_dividends_per_hotkey"], [10, 4, 1, "", "tao_in"], [10, 4, 1, "", "tao_in_emission"], [10, 4, 1, "", "tao_stake"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "total_stake"], [10, 4, 1, "", "trust"], [10, 4, 1, "", "validator_permit"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions": [[10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "tao_in_emission"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams": [[10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool": [[10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "tao_in"]], "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex": [[10, 4, 1, "", "Active"], [10, 4, 1, "", "ActivityCutoff"], [10, 4, 1, "", "AdjustmentAlpha"], [10, 4, 1, "", "AdjustmentInterval"], [10, 4, 1, "", "AlphaDividendsPerHotkey"], [10, 4, 1, "", "AlphaHigh"], [10, 4, 1, "", "AlphaIn"], [10, 4, 1, "", "AlphaInEmission"], [10, 4, 1, "", "AlphaLow"], [10, 4, 1, "", "AlphaOut"], [10, 4, 1, "", "AlphaOutEmission"], [10, 4, 1, "", "AlphaStake"], [10, 4, 1, "", "Axons"], [10, 4, 1, "", "Block"], [10, 4, 1, "", "BlockAtRegistration"], [10, 4, 1, "", "BlocksSinceLastStep"], [10, 4, 1, "", "BondsMovingAvg"], [10, 4, 1, "", "Burn"], [10, 4, 1, "", "Coldkeys"], [10, 4, 1, "", "CommitRevealPeriod"], [10, 4, 1, "", "CommitRevealWeightsEnabled"], [10, 4, 1, "", "Consensus"], [10, 4, 1, "", "Difficulty"], [10, 4, 1, "", "Dividends"], [10, 4, 1, "", "Emission"], [10, 4, 1, "", "Hotkeys"], [10, 4, 1, "", "Identities"], [10, 4, 1, "", "Identity"], [10, 4, 1, "", "ImmunityPeriod"], [10, 4, 1, "", "Incentives"], [10, 4, 1, "", "Kappa"], [10, 4, 1, "", "LastStep"], [10, 4, 1, "", "LastUpdate"], [10, 4, 1, "", "LiquidAlphaEnabled"], [10, 4, 1, "", "MaxBurn"], [10, 4, 1, "", "MaxDifficulty"], [10, 4, 1, "", "MaxRegsPerBlock"], [10, 4, 1, "", "MaxUids"], [10, 4, 1, "", "MaxValidators"], [10, 4, 1, "", "MaxWeightsLimit"], [10, 4, 1, "", "MinAllowedWeights"], [10, 4, 1, "", "MinBurn"], [10, 4, 1, "", "MinDifficulty"], [10, 4, 1, "", "MovingPrice"], [10, 4, 1, "", "Name"], [10, 4, 1, "", "Netuid"], [10, 4, 1, "", "NetworkRegisteredAt"], [10, 4, 1, "", "NumUids"], [10, 4, 1, "", "OwnerColdkey"], [10, 4, 1, "", "OwnerHotkey"], [10, 4, 1, "", "PendingAlphaEmission"], [10, 4, 1, "", "PendingRootEmission"], [10, 4, 1, "", "PowRegistrationAllowed"], [10, 4, 1, "", "PruningScore"], [10, 4, 1, "", "Rank"], [10, 4, 1, "", "RegistrationAllowed"], [10, 4, 1, "", "Rho"], [10, 4, 1, "", "ServingRateLimit"], [10, 4, 1, "", "SubnetEmission"], [10, 4, 1, "", "SubnetVolume"], [10, 4, 1, "", "Symbol"], [10, 4, 1, "", "TaoDividendsPerHotkey"], [10, 4, 1, "", "TaoIn"], [10, 4, 1, "", "TaoInEmission"], [10, 4, 1, "", "TaoStake"], [10, 4, 1, "", "TargetRegsPerInterval"], [10, 4, 1, "", "Tempo"], [10, 4, 1, "", "TotalStake"], [10, 4, 1, "", "Trust"], [10, 4, 1, "", "ValidatorPermit"], [10, 4, 1, "", "WeightsRateLimit"], [10, 4, 1, "", "WeightsVersion"], [10, 2, 1, "", "all_indices"]], "bittensor.core.chain_data.neuron_info": [[11, 1, 1, "", "NeuronInfo"]], "bittensor.core.chain_data.neuron_info.NeuronInfo": [[11, 4, 1, "", "active"], [11, 4, 1, "", "axon_info"], [11, 4, 1, "", "bonds"], [11, 4, 1, "", "coldkey"], [11, 4, 1, "", "consensus"], [11, 4, 1, "", "dividends"], [11, 4, 1, "", "emission"], [11, 2, 1, "", "from_weights_bonds_and_neuron_lite"], [11, 2, 1, "", "get_null_neuron"], [11, 4, 1, "", "hotkey"], [11, 4, 1, "", "incentive"], [11, 4, 1, "", "is_null"], [11, 4, 1, "", "last_update"], [11, 4, 1, "", "netuid"], [11, 4, 1, "", "prometheus_info"], [11, 4, 1, "", "pruning_score"], [11, 4, 1, "", "rank"], [11, 4, 1, "", "stake"], [11, 4, 1, "", "stake_dict"], [11, 4, 1, "", "total_stake"], [11, 4, 1, "", "trust"], [11, 4, 1, "", "uid"], [11, 4, 1, "", "validator_permit"], [11, 4, 1, "", "validator_trust"], [11, 4, 1, "", "weights"]], "bittensor.core.chain_data.neuron_info_lite": [[12, 1, 1, "", "NeuronInfoLite"]], "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite": [[12, 4, 1, "", "active"], [12, 4, 1, "", "axon_info"], [12, 4, 1, "", "coldkey"], [12, 4, 1, "", "consensus"], [12, 4, 1, "", "dividends"], [12, 4, 1, "", "emission"], [12, 2, 1, "id0", "get_null_neuron"], [12, 4, 1, "", "hotkey"], [12, 4, 1, "", "incentive"], [12, 4, 1, "", "is_null"], [12, 4, 1, "", "last_update"], [12, 2, 1, "", "list_from_vec_u8"], [12, 4, 1, "", "netuid"], [12, 4, 1, "", "prometheus_info"], [12, 4, 1, "", "pruning_score"], [12, 4, 1, "", "rank"], [12, 4, 1, "", "stake"], [12, 4, 1, "", "stake_dict"], [12, 4, 1, "", "total_stake"], [12, 4, 1, "", "trust"], [12, 4, 1, "", "uid"], [12, 4, 1, "", "validator_permit"], [12, 4, 1, "", "validator_trust"]], "bittensor.core.chain_data.prometheus_info": [[13, 1, 1, "", "PrometheusInfo"]], "bittensor.core.chain_data.prometheus_info.PrometheusInfo": [[13, 4, 1, "", "block"], [13, 4, 1, "", "ip"], [13, 4, 1, "", "ip_type"], [13, 4, 1, "", "port"], [13, 4, 1, "", "version"]], "bittensor.core.chain_data.proposal_vote_data": [[14, 1, 1, "", "ProposalVoteData"]], "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData": [[14, 4, 1, "", "ayes"], [14, 4, 1, "", "end"], [14, 2, 1, "", "from_dict"], [14, 4, 1, "", "index"], [14, 4, 1, "", "nays"], [14, 4, 1, "", "threshold"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, 1, 1, "", "ScheduledColdkeySwapInfo"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo": [[15, 4, 1, "", "arbitration_block"], [15, 2, 1, "", "decode_account_id_list"], [15, 4, 1, "", "new_coldkey"], [15, 4, 1, "", "old_coldkey"]], "bittensor.core.chain_data.stake_info": [[16, 1, 1, "", "StakeInfo"]], "bittensor.core.chain_data.stake_info.StakeInfo": [[16, 4, 1, "", "coldkey_ss58"], [16, 4, 1, "", "drain"], [16, 4, 1, "", "emission"], [16, 2, 1, "", "from_dict"], [16, 4, 1, "", "hotkey_ss58"], [16, 4, 1, "", "is_registered"], [16, 4, 1, "", "locked"], [16, 4, 1, "", "netuid"], [16, 4, 1, "", "stake"]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, 1, 1, "", "SubnetHyperparameters"]], "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters": [[17, 4, 1, "", "activity_cutoff"], [17, 4, 1, "", "adjustment_alpha"], [17, 4, 1, "", "adjustment_interval"], [17, 4, 1, "", "alpha_high"], [17, 4, 1, "", "alpha_low"], [17, 4, 1, "", "bonds_moving_avg"], [17, 4, 1, "", "commit_reveal_period"], [17, 4, 1, "", "commit_reveal_weights_enabled"], [17, 4, 1, "", "difficulty"], [17, 4, 1, "", "immunity_period"], [17, 4, 1, "", "kappa"], [17, 4, 1, "", "liquid_alpha_enabled"], [17, 4, 1, "", "max_burn"], [17, 4, 1, "", "max_difficulty"], [17, 4, 1, "", "max_regs_per_block"], [17, 4, 1, "", "max_validators"], [17, 4, 1, "", "max_weight_limit"], [17, 4, 1, "", "min_allowed_weights"], [17, 4, 1, "", "min_burn"], [17, 4, 1, "", "min_difficulty"], [17, 4, 1, "", "registration_allowed"], [17, 4, 1, "", "rho"], [17, 4, 1, "", "serving_rate_limit"], [17, 4, 1, "", "target_regs_per_interval"], [17, 4, 1, "", "tempo"], [17, 4, 1, "", "weights_rate_limit"], [17, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.subnet_identity": [[18, 1, 1, "", "SubnetIdentity"]], "bittensor.core.chain_data.subnet_identity.SubnetIdentity": [[18, 4, 1, "", "additional"], [18, 4, 1, "", "description"], [18, 4, 1, "", "discord"], [18, 4, 1, "", "github_repo"], [18, 4, 1, "", "subnet_contact"], [18, 4, 1, "", "subnet_name"], [18, 4, 1, "", "subnet_url"]], "bittensor.core.chain_data.subnet_info": [[19, 1, 1, "", "SubnetInfo"]], "bittensor.core.chain_data.subnet_info.SubnetInfo": [[19, 4, 1, "", "blocks_since_epoch"], [19, 4, 1, "", "burn"], [19, 4, 1, "", "connection_requirements"], [19, 4, 1, "", "difficulty"], [19, 4, 1, "", "emission_value"], [19, 4, 1, "", "immunity_period"], [19, 4, 1, "", "kappa"], [19, 4, 1, "", "max_allowed_validators"], [19, 4, 1, "", "max_n"], [19, 4, 1, "", "max_weight_limit"], [19, 4, 1, "", "min_allowed_weights"], [19, 4, 1, "", "modality"], [19, 4, 1, "", "netuid"], [19, 4, 1, "", "owner_ss58"], [19, 4, 1, "", "rho"], [19, 4, 1, "", "scaling_law_power"], [19, 4, 1, "", "subnetwork_n"], [19, 4, 1, "", "tempo"]], "bittensor.core.chain_data.subnet_state": [[20, 1, 1, "", "SubnetState"]], "bittensor.core.chain_data.subnet_state.SubnetState": [[20, 4, 1, "", "active"], [20, 4, 1, "", "alpha_stake"], [20, 4, 1, "", "block_at_registration"], [20, 4, 1, "", "coldkeys"], [20, 4, 1, "", "consensus"], [20, 4, 1, "", "dividends"], [20, 4, 1, "", "emission"], [20, 4, 1, "", "emission_history"], [20, 4, 1, "", "hotkeys"], [20, 4, 1, "", "incentives"], [20, 4, 1, "", "last_update"], [20, 4, 1, "", "netuid"], [20, 4, 1, "", "pruning_score"], [20, 4, 1, "", "rank"], [20, 4, 1, "", "tao_stake"], [20, 4, 1, "", "total_stake"], [20, 4, 1, "", "trust"], [20, 4, 1, "", "validator_permit"]], "bittensor.core.chain_data.utils": [[21, 1, 1, "", "ChainDataType"], [21, 5, 1, "", "decode_account_id"], [21, 5, 1, "", "decode_metadata"], [21, 5, 1, "", "decode_revealed_commitment"], [21, 5, 1, "", "decode_revealed_commitment_with_hotkey"], [21, 5, 1, "", "from_scale_encoding"], [21, 5, 1, "", "from_scale_encoding_using_type_string"], [21, 5, 1, "", "process_stake_data"]], "bittensor.core.chain_data.utils.ChainDataType": [[21, 4, 1, "", "AccountId"], [21, 4, 1, "", "AxonInfo"], [21, 4, 1, "", "ChainIdentity"], [21, 4, 1, "", "DelegateInfo"], [21, 4, 1, "", "DelegatedInfo"], [21, 4, 1, "", "DynamicInfo"], [21, 4, 1, "", "IPInfo"], [21, 4, 1, "", "MetagraphInfo"], [21, 4, 1, "", "NeuronInfo"], [21, 4, 1, "", "NeuronInfoLite"], [21, 4, 1, "", "ScheduledColdkeySwapInfo"], [21, 4, 1, "", "StakeInfo"], [21, 4, 1, "", "SubnetHyperparameters"], [21, 4, 1, "", "SubnetIdentity"], [21, 4, 1, "", "SubnetInfo"], [21, 4, 1, "", "SubnetState"]], "bittensor.core.chain_data.weight_commit_info": [[22, 1, 1, "", "WeightCommitInfo"]], "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo": [[22, 4, 1, "", "commit_hex"], [22, 2, 1, "", "from_vec_u8"], [22, 4, 1, "", "reveal_round"], [22, 4, 1, "", "ss58"]], "bittensor.core.config": [[23, 1, 1, "", "Config"], [23, 1, 1, "", "DefaultConfig"], [23, 7, 1, "", "InvalidConfigFile"], [23, 6, 1, "", "T"]], "bittensor.core.config.Config": [[23, 2, 1, "", "is_set"], [23, 2, 1, "", "merge"], [23, 2, 1, "", "to_dict"]], "bittensor.core.config.DefaultConfig": [[23, 2, 1, "", "default"]], "bittensor.core.dendrite": [[24, 6, 1, "", "BaseModel"], [24, 6, 1, "", "DENDRITE_DEFAULT_ERROR"], [24, 6, 1, "", "DENDRITE_ERROR_MAPPING"], [24, 1, 1, "", "Dendrite"], [24, 1, 1, "", "DendriteMixin"], [24, 5, 1, "", "call"], [24, 5, 1, "", "event_loop_is_running"]], "bittensor.core.dendrite.Dendrite": [[24, 2, 1, "", "__repr__"], [24, 2, 1, "", "__str__"], [24, 2, 1, "", "aclose_session"], [24, 2, 1, "", "call"], [24, 2, 1, "", "call_stream"], [24, 2, 1, "", "close_session"], [24, 2, 1, "", "forward"], [24, 2, 1, "", "preprocess_synapse_for_request"], [24, 2, 1, "", "process_server_response"], [24, 2, 1, "", "query"]], "bittensor.core.dendrite.DendriteMixin": [[24, 2, 1, "", "__repr__"], [24, 2, 1, "", "__str__"], [24, 2, 1, "id0", "aclose_session"], [24, 2, 1, "", "aquery"], [24, 2, 1, "id3", "call"], [24, 2, 1, "id4", "call_stream"], [24, 2, 1, "id5", "close_session"], [24, 4, 1, "", "external_ip"], [24, 2, 1, "id7", "forward"], [24, 4, 1, "", "keypair"], [24, 2, 1, "", "log_exception"], [24, 2, 1, "id8", "preprocess_synapse_for_request"], [24, 2, 1, "", "process_error_message"], [24, 2, 1, "id9", "process_server_response"], [24, 2, 1, "id11", "query"], [24, 3, 1, "", "session"], [24, 4, 1, "", "synapse_history"], [24, 4, 1, "", "uuid"]], "bittensor.core.errors": [[25, 7, 1, "", "BlacklistedException"], [25, 6, 1, "", "BlockNotFound"], [25, 7, 1, "", "ChainConnectionError"], [25, 7, 1, "", "ChainError"], [25, 7, 1, "", "ChainQueryError"], [25, 7, 1, "", "ChainTransactionError"], [25, 7, 1, "", "DelegateTakeTooHigh"], [25, 7, 1, "", "DelegateTakeTooLow"], [25, 7, 1, "", "DelegateTxRateLimitExceeded"], [25, 7, 1, "", "DuplicateChild"], [25, 6, 1, "", "ExtrinsicNotFound"], [25, 7, 1, "", "HotKeyAccountNotExists"], [25, 7, 1, "", "IdentityError"], [25, 7, 1, "", "InternalServerError"], [25, 7, 1, "", "InvalidChild"], [25, 7, 1, "", "InvalidRequestNameError"], [25, 7, 1, "", "MaxAttemptsException"], [25, 7, 1, "", "MaxSuccessException"], [25, 7, 1, "", "MetadataError"], [25, 7, 1, "", "NominationError"], [25, 7, 1, "", "NonAssociatedColdKey"], [25, 7, 1, "", "NotDelegateError"], [25, 7, 1, "", "NotEnoughStakeToSetChildkeys"], [25, 7, 1, "", "NotRegisteredError"], [25, 7, 1, "", "NotVerifiedException"], [25, 7, 1, "", "PostProcessException"], [25, 7, 1, "", "PriorityException"], [25, 7, 1, "", "ProportionOverflow"], [25, 7, 1, "", "RegistrationError"], [25, 7, 1, "", "RegistrationNotPermittedOnRootSubnet"], [25, 7, 1, "", "RunException"], [25, 7, 1, "", "StakeError"], [25, 6, 1, "", "StorageFunctionNotFound"], [25, 7, 1, "", "SubNetworkDoesNotExist"], [25, 6, 1, "", "SubstrateRequestException"], [25, 7, 1, "", "SynapseDendriteNoneException"], [25, 7, 1, "", "SynapseException"], [25, 7, 1, "", "SynapseParsingError"], [25, 7, 1, "", "TakeError"], [25, 7, 1, "", "TooManyChildren"], [25, 7, 1, "", "TransferError"], [25, 7, 1, "", "TxRateLimitExceeded"], [25, 7, 1, "", "UnknownSynapseError"], [25, 7, 1, "", "UnstakeError"]], "bittensor.core.errors.ChainError": [[25, 2, 1, "", "from_error"]], "bittensor.core.errors.SynapseDendriteNoneException": [[25, 4, 1, "", "message"]], "bittensor.core.errors.SynapseException": [[25, 4, 1, "", "message"], [25, 4, 1, "", "synapse"]], "bittensor.core.extrinsics": [[27, 0, 0, "-", "asyncex"], [38, 0, 0, "-", "commit_reveal"], [39, 0, 0, "-", "commit_weights"], [41, 0, 0, "-", "move_stake"], [42, 0, 0, "-", "registration"], [43, 0, 0, "-", "root"], [44, 0, 0, "-", "serving"], [45, 0, 0, "-", "set_weights"], [46, 0, 0, "-", "staking"], [47, 0, 0, "-", "start_call"], [48, 0, 0, "-", "take"], [49, 0, 0, "-", "transfer"], [50, 0, 0, "-", "unstaking"], [51, 0, 0, "-", "utils"]], "bittensor.core.extrinsics.asyncex": [[26, 0, 0, "-", "commit_reveal"], [28, 0, 0, "-", "move_stake"], [29, 0, 0, "-", "registration"], [30, 0, 0, "-", "root"], [31, 0, 0, "-", "serving"], [32, 0, 0, "-", "staking"], [33, 0, 0, "-", "start_call"], [34, 0, 0, "-", "take"], [35, 0, 0, "-", "transfer"], [36, 0, 0, "-", "unstaking"], [37, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[26, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.asyncex.move_stake": [[28, 5, 1, "", "move_stake_extrinsic"], [28, 5, 1, "", "swap_stake_extrinsic"], [28, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.asyncex.registration": [[29, 5, 1, "", "burned_register_extrinsic"], [29, 5, 1, "", "register_extrinsic"], [29, 5, 1, "", "register_subnet_extrinsic"], [29, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.asyncex.root": [[30, 5, 1, "", "root_register_extrinsic"], [30, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.asyncex.serving": [[31, 5, 1, "", "do_serve_axon"], [31, 5, 1, "", "get_metadata"], [31, 5, 1, "", "publish_metadata"], [31, 5, 1, "", "serve_axon_extrinsic"], [31, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.asyncex.staking": [[32, 5, 1, "", "add_stake_extrinsic"], [32, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.start_call": [[33, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.asyncex.take": [[34, 5, 1, "", "decrease_take_extrinsic"], [34, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.asyncex.transfer": [[35, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.asyncex.unstaking": [[36, 5, 1, "", "unstake_extrinsic"], [36, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.weights": [[37, 5, 1, "", "commit_weights_extrinsic"], [37, 5, 1, "", "reveal_weights_extrinsic"], [37, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.commit_reveal": [[38, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.commit_weights": [[39, 5, 1, "", "commit_weights_extrinsic"], [39, 5, 1, "", "reveal_weights_extrinsic"]], "bittensor.core.extrinsics.move_stake": [[41, 5, 1, "", "move_stake_extrinsic"], [41, 5, 1, "", "swap_stake_extrinsic"], [41, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.registration": [[42, 5, 1, "", "burned_register_extrinsic"], [42, 5, 1, "", "register_extrinsic"], [42, 5, 1, "", "register_subnet_extrinsic"], [42, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.root": [[43, 5, 1, "", "root_register_extrinsic"], [43, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.serving": [[44, 5, 1, "", "do_serve_axon"], [44, 5, 1, "", "get_metadata"], [44, 5, 1, "", "publish_metadata"], [44, 5, 1, "", "serve_axon_extrinsic"], [44, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.set_weights": [[45, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.staking": [[46, 5, 1, "", "add_stake_extrinsic"], [46, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.start_call": [[47, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.take": [[48, 5, 1, "", "decrease_take_extrinsic"], [48, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.transfer": [[49, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.unstaking": [[50, 5, 1, "", "unstake_extrinsic"], [50, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.utils": [[51, 5, 1, "", "get_old_stakes"]], "bittensor.core.metagraph": [[53, 1, 1, "", "AsyncMetagraph"], [53, 6, 1, "", "BaseClass"], [53, 6, 1, "", "METAGRAPH_STATE_DICT_NDARRAY_KEYS"], [53, 1, 1, "", "Metagraph"], [53, 1, 1, "", "MetagraphMixin"], [53, 1, 1, "", "NonTorchMetagraph"], [53, 6, 1, "", "NumpyOrTorch"], [53, 6, 1, "", "Tensor"], [53, 1, 1, "", "TorchMetagraph"], [53, 5, 1, "", "async_metagraph"], [53, 5, 1, "", "get_save_dir"], [53, 5, 1, "", "latest_block_path"], [53, 5, 1, "", "safe_globals"]], "bittensor.core.metagraph.AsyncMetagraph": [[53, 2, 1, "", "sync"]], "bittensor.core.metagraph.Metagraph": [[53, 2, 1, "", "sync"]], "bittensor.core.metagraph.MetagraphMixin": [[53, 3, 1, "", "AS"], [53, 3, 1, "", "B"], [53, 3, 1, "", "C"], [53, 3, 1, "", "D"], [53, 3, 1, "", "E"], [53, 3, 1, "", "I"], [53, 3, 1, "", "R"], [53, 3, 1, "", "S"], [53, 3, 1, "", "T"], [53, 3, 1, "", "TS"], [53, 3, 1, "", "Tv"], [53, 3, 1, "", "W"], [53, 4, 1, "", "active"], [53, 3, 1, "", "addresses"], [53, 4, 1, "", "alpha_dividends_per_hotkey"], [53, 4, 1, "", "alpha_stake"], [53, 4, 1, "", "axons"], [53, 4, 1, "", "block"], [53, 4, 1, "", "block_at_registration"], [53, 4, 1, "", "blocks_since_last_step"], [53, 4, 1, "", "bonds"], [53, 4, 1, "", "chain_endpoint"], [53, 3, 1, "", "coldkeys"], [53, 4, 1, "", "consensus"], [53, 4, 1, "", "dividends"], [53, 4, 1, "", "emission"], [53, 4, 1, "", "emissions"], [53, 3, 1, "", "hotkeys"], [53, 4, 1, "", "hparams"], [53, 4, 1, "", "identities"], [53, 4, 1, "", "identity"], [53, 4, 1, "", "incentive"], [53, 4, 1, "", "last_step"], [53, 4, 1, "", "last_update"], [53, 4, 1, "", "lite"], [53, 2, 1, "", "load"], [53, 2, 1, "", "load_from_path"], [53, 4, 1, "", "max_uids"], [53, 2, 1, "", "metadata"], [53, 4, 1, "", "n"], [53, 4, 1, "", "name"], [53, 4, 1, "", "netuid"], [53, 4, 1, "", "network"], [53, 4, 1, "", "network_registered_at"], [53, 4, 1, "", "neurons"], [53, 4, 1, "", "num_uids"], [53, 4, 1, "", "owner_coldkey"], [53, 4, 1, "", "owner_hotkey"], [53, 4, 1, "", "pool"], [53, 4, 1, "", "pruning_score"], [53, 4, 1, "", "ranks"], [53, 2, 1, "", "save"], [53, 4, 1, "", "should_sync"], [53, 4, 1, "", "stake"], [53, 2, 1, "", "state_dict"], [53, 4, 1, "", "subtensor"], [53, 4, 1, "", "symbol"], [53, 4, 1, "", "tao_dividends_per_hotkey"], [53, 4, 1, "", "tao_stake"], [53, 4, 1, "", "tempo"], [53, 4, 1, "", "trust"], [53, 4, 1, "", "uids"], [53, 4, 1, "", "validator_permit"], [53, 4, 1, "", "validator_trust"], [53, 4, 1, "", "version"], [53, 4, 1, "", "weights"]], "bittensor.core.metagraph.NonTorchMetagraph": [[53, 4, 1, "", "active"], [53, 4, 1, "", "alpha_stake"], [53, 4, 1, "", "block"], [53, 4, 1, "", "bonds"], [53, 4, 1, "", "consensus"], [53, 4, 1, "", "dividends"], [53, 4, 1, "", "emission"], [53, 4, 1, "", "incentive"], [53, 4, 1, "", "last_update"], [53, 2, 1, "", "load_from_path"], [53, 4, 1, "", "n"], [53, 4, 1, "", "netuid"], [53, 4, 1, "", "ranks"], [53, 4, 1, "", "should_sync"], [53, 4, 1, "", "stake"], [53, 4, 1, "", "subtensor"], [53, 4, 1, "", "tao_stake"], [53, 4, 1, "", "total_stake"], [53, 4, 1, "", "trust"], [53, 4, 1, "", "uids"], [53, 4, 1, "", "validator_permit"], [53, 4, 1, "", "validator_trust"], [53, 4, 1, "", "version"], [53, 4, 1, "", "weights"]], "bittensor.core.metagraph.TorchMetagraph": [[53, 4, 1, "", "active"], [53, 4, 1, "", "alpha_stake"], [53, 4, 1, "", "block"], [53, 4, 1, "", "bonds"], [53, 4, 1, "", "consensus"], [53, 4, 1, "", "dividends"], [53, 4, 1, "", "emission"], [53, 4, 1, "", "incentive"], [53, 4, 1, "", "last_update"], [53, 2, 1, "", "load_from_path"], [53, 4, 1, "", "n"], [53, 4, 1, "", "ranks"], [53, 4, 1, "", "stake"], [53, 4, 1, "", "tao_stake"], [53, 4, 1, "", "total_stake"], [53, 4, 1, "", "trust"], [53, 4, 1, "", "uids"], [53, 4, 1, "", "validator_permit"], [53, 4, 1, "", "validator_trust"], [53, 4, 1, "", "version"], [53, 4, 1, "", "weights"]], "bittensor.core.settings": [[54, 6, 1, "", "ARCHIVE_ENTRYPOINT"], [54, 6, 1, "", "BLOCKTIME"], [54, 6, 1, "", "DEFAULTS"], [54, 6, 1, "", "DEFAULT_ENDPOINT"], [54, 6, 1, "", "DEFAULT_NETWORK"], [54, 6, 1, "", "FINNEY_ENTRYPOINT"], [54, 6, 1, "", "FINNEY_TEST_ENTRYPOINT"], [54, 6, 1, "", "HOME_DIR"], [54, 6, 1, "", "LATENT_LITE_ENTRYPOINT"], [54, 6, 1, "", "LOCAL_ENTRYPOINT"], [54, 6, 1, "", "MINERS_DIR"], [54, 6, 1, "", "NETWORKS"], [54, 6, 1, "", "NETWORK_EXPLORER_MAP"], [54, 6, 1, "", "NETWORK_MAP"], [54, 6, 1, "", "PIPADDRESS"], [54, 6, 1, "", "RAO_SYMBOL"], [54, 6, 1, "", "READ_ONLY"], [54, 6, 1, "", "REVERSE_NETWORK_MAP"], [54, 6, 1, "", "ROOT_TAO_STAKE_WEIGHT"], [54, 6, 1, "", "SS58_ADDRESS_LENGTH"], [54, 6, 1, "", "SS58_FORMAT"], [54, 6, 1, "", "SUBVORTEX_ENTRYPOINT"], [54, 6, 1, "", "TAO_SYMBOL"], [54, 6, 1, "", "TYPE_REGISTRY"], [54, 6, 1, "", "USER_BITTENSOR_DIR"], [54, 6, 1, "", "WALLETS_DIR"], [54, 6, 1, "", "version_as_int"], [54, 6, 1, "", "version_split"]], "bittensor.core.stream": [[55, 1, 1, "", "BTStreamingResponseModel"], [55, 1, 1, "", "StreamingSynapse"]], "bittensor.core.stream.BTStreamingResponseModel": [[55, 4, 1, "", "token_streamer"]], "bittensor.core.stream.StreamingSynapse": [[55, 1, 1, "", "BTStreamingResponse"], [55, 2, 1, "", "create_streaming_response"], [55, 2, 1, "", "extract_response_json"], [55, 4, 1, "", "model_config"], [55, 2, 1, "", "process_streaming_response"]], "bittensor.core.stream.StreamingSynapse.BTStreamingResponse": [[55, 2, 1, "", "stream_response"], [55, 4, 1, "", "synapse"], [55, 4, 1, "", "token_streamer"]], "bittensor.core.subtensor": [[56, 1, 1, "", "Subtensor"]], "bittensor.core.subtensor.Subtensor": [[56, 2, 1, "", "add_stake"], [56, 2, 1, "", "add_stake_multiple"], [56, 2, 1, "", "all_subnets"], [56, 3, 1, "", "block"], [56, 2, 1, "", "blocks_since_last_step"], [56, 2, 1, "", "blocks_since_last_update"], [56, 2, 1, "", "bonds"], [56, 2, 1, "", "burned_register"], [56, 2, 1, "", "close"], [56, 2, 1, "", "commit"], [56, 2, 1, "", "commit_reveal_enabled"], [56, 2, 1, "", "commit_weights"], [56, 2, 1, "", "determine_block_hash"], [56, 2, 1, "", "difficulty"], [56, 2, 1, "", "does_hotkey_exist"], [56, 2, 1, "", "encode_params"], [56, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [56, 2, 1, "", "get_all_commitments"], [56, 2, 1, "", "get_all_metagraphs_info"], [56, 2, 1, "", "get_all_neuron_certificates"], [56, 2, 1, "", "get_all_revealed_commitments"], [56, 2, 1, "", "get_all_subnets_info"], [56, 2, 1, "", "get_balance"], [56, 2, 1, "", "get_balances"], [56, 2, 1, "", "get_block_hash"], [56, 2, 1, "", "get_children"], [56, 2, 1, "", "get_children_pending"], [56, 2, 1, "", "get_commitment"], [56, 2, 1, "", "get_current_block"], [56, 2, 1, "", "get_current_weight_commit_info"], [56, 2, 1, "", "get_delegate_by_hotkey"], [56, 2, 1, "", "get_delegate_identities"], [56, 2, 1, "", "get_delegate_take"], [56, 2, 1, "", "get_delegated"], [56, 2, 1, "", "get_delegates"], [56, 2, 1, "", "get_existential_deposit"], [56, 2, 1, "", "get_hotkey_owner"], [56, 4, 1, "", "get_hotkey_stake"], [56, 2, 1, "", "get_hyperparameter"], [56, 2, 1, "", "get_metagraph_info"], [56, 2, 1, "", "get_minimum_required_stake"], [56, 2, 1, "", "get_netuids_for_hotkey"], [56, 2, 1, "", "get_neuron_certificate"], [56, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [56, 2, 1, "", "get_next_epoch_start_block"], [56, 2, 1, "", "get_owned_hotkeys"], [56, 2, 1, "", "get_revealed_commitment"], [56, 2, 1, "", "get_revealed_commitment_by_hotkey"], [56, 2, 1, "", "get_stake"], [56, 2, 1, "", "get_stake_add_fee"], [56, 2, 1, "", "get_stake_for_coldkey"], [56, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [56, 2, 1, "", "get_stake_for_hotkey"], [56, 4, 1, "", "get_stake_info_for_coldkey"], [56, 2, 1, "", "get_stake_movement_fee"], [56, 2, 1, "", "get_subnet_burn_cost"], [56, 2, 1, "", "get_subnet_hyperparameters"], [56, 2, 1, "", "get_subnet_owner_hotkey"], [56, 2, 1, "", "get_subnet_reveal_period_epochs"], [56, 2, 1, "", "get_subnet_validator_permits"], [56, 2, 1, "", "get_subnets"], [56, 2, 1, "", "get_timestamp"], [56, 2, 1, "", "get_total_subnets"], [56, 2, 1, "", "get_transfer_fee"], [56, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [56, 2, 1, "", "get_unstake_fee"], [56, 2, 1, "", "get_vote_data"], [56, 2, 1, "", "immunity_period"], [56, 2, 1, "", "is_fast_blocks"], [56, 2, 1, "", "is_hotkey_delegate"], [56, 2, 1, "", "is_hotkey_registered"], [56, 2, 1, "", "is_hotkey_registered_any"], [56, 2, 1, "", "is_hotkey_registered_on_subnet"], [56, 2, 1, "", "is_subnet_active"], [56, 2, 1, "", "last_drand_round"], [56, 4, 1, "", "log_verbose"], [56, 2, 1, "", "max_weight_limit"], [56, 2, 1, "", "metagraph"], [56, 2, 1, "", "min_allowed_weights"], [56, 2, 1, "", "move_stake"], [56, 2, 1, "", "neuron_for_uid"], [56, 2, 1, "", "neurons"], [56, 2, 1, "", "neurons_lite"], [56, 2, 1, "", "query_constant"], [56, 2, 1, "", "query_identity"], [56, 2, 1, "", "query_map"], [56, 2, 1, "", "query_map_subtensor"], [56, 2, 1, "", "query_module"], [56, 2, 1, "", "query_runtime_api"], [56, 2, 1, "", "query_subtensor"], [56, 2, 1, "", "recycle"], [56, 2, 1, "", "register"], [56, 2, 1, "", "register_subnet"], [56, 2, 1, "", "reveal_weights"], [56, 2, 1, "", "root_register"], [56, 2, 1, "", "root_set_weights"], [56, 2, 1, "", "serve_axon"], [56, 2, 1, "", "set_children"], [56, 4, 1, "", "set_commitment"], [56, 2, 1, "", "set_delegate_take"], [56, 2, 1, "", "set_reveal_commitment"], [56, 2, 1, "", "set_subnet_identity"], [56, 2, 1, "", "set_weights"], [56, 2, 1, "", "sign_and_send_extrinsic"], [56, 2, 1, "", "start_call"], [56, 2, 1, "", "state_call"], [56, 2, 1, "", "subnet"], [56, 2, 1, "", "subnet_exists"], [56, 2, 1, "", "subnetwork_n"], [56, 4, 1, "", "substrate"], [56, 2, 1, "", "swap_stake"], [56, 2, 1, "", "tempo"], [56, 2, 1, "", "transfer"], [56, 2, 1, "", "transfer_stake"], [56, 2, 1, "", "tx_rate_limit"], [56, 2, 1, "", "unstake"], [56, 2, 1, "", "unstake_multiple"], [56, 2, 1, "", "wait_for_block"], [56, 2, 1, "", "weights"], [56, 2, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api": [[61, 1, 1, "", "SubtensorApi"], [57, 0, 0, "-", "chain"], [58, 0, 0, "-", "commitments"], [59, 0, 0, "-", "delegates"], [60, 0, 0, "-", "extrinsics"], [62, 0, 0, "-", "metagraphs"], [63, 0, 0, "-", "neurons"], [64, 0, 0, "-", "queries"], [65, 0, 0, "-", "staking"], [66, 0, 0, "-", "subnets"], [67, 0, 0, "-", "utils"], [68, 0, 0, "-", "wallets"]], "bittensor.core.subtensor_api.SubtensorApi": [[61, 2, 1, "", "add_args"], [61, 3, 1, "", "block"], [61, 3, 1, "", "chain"], [61, 4, 1, "", "chain_endpoint"], [61, 4, 1, "", "close"], [61, 3, 1, "", "commitments"], [61, 4, 1, "", "config"], [61, 3, 1, "", "delegates"], [61, 4, 1, "", "determine_block_hash"], [61, 4, 1, "", "encode_params"], [61, 3, 1, "", "extrinsics"], [61, 4, 1, "", "help"], [61, 4, 1, "", "initialize"], [61, 4, 1, "", "is_async"], [61, 4, 1, "", "log_verbose"], [61, 3, 1, "", "metagraphs"], [61, 4, 1, "", "network"], [61, 3, 1, "", "neurons"], [61, 3, 1, "", "queries"], [61, 4, 1, "", "setup_config"], [61, 4, 1, "", "sign_and_send_extrinsic"], [61, 3, 1, "", "staking"], [61, 4, 1, "", "start_call"], [61, 3, 1, "", "subnets"], [61, 4, 1, "", "substrate"], [61, 4, 1, "", "wait_for_block"], [61, 3, 1, "", "wallets"]], "bittensor.core.subtensor_api.chain": [[57, 1, 1, "", "Chain"]], "bittensor.core.subtensor_api.chain.Chain": [[57, 4, 1, "", "get_block_hash"], [57, 4, 1, "", "get_current_block"], [57, 4, 1, "", "get_delegate_identities"], [57, 4, 1, "", "get_existential_deposit"], [57, 4, 1, "", "get_minimum_required_stake"], [57, 4, 1, "", "get_timestamp"], [57, 4, 1, "", "get_vote_data"], [57, 4, 1, "", "is_fast_blocks"], [57, 4, 1, "", "last_drand_round"], [57, 4, 1, "", "state_call"], [57, 4, 1, "", "tx_rate_limit"]], "bittensor.core.subtensor_api.commitments": [[58, 1, 1, "", "Commitments"]], "bittensor.core.subtensor_api.commitments.Commitments": [[58, 4, 1, "", "commit_reveal_enabled"], [58, 4, 1, "", "get_all_commitments"], [58, 4, 1, "", "get_all_revealed_commitments"], [58, 4, 1, "", "get_commitment"], [58, 4, 1, "", "get_current_weight_commit_info"], [58, 4, 1, "", "get_revealed_commitment"], [58, 4, 1, "", "get_revealed_commitment_by_hotkey"], [58, 4, 1, "", "set_commitment"], [58, 4, 1, "", "set_reveal_commitment"]], "bittensor.core.subtensor_api.delegates": [[59, 1, 1, "", "Delegates"]], "bittensor.core.subtensor_api.delegates.Delegates": [[59, 4, 1, "", "get_delegate_by_hotkey"], [59, 4, 1, "", "get_delegate_identities"], [59, 4, 1, "", "get_delegate_take"], [59, 4, 1, "", "get_delegated"], [59, 4, 1, "", "get_delegates"], [59, 4, 1, "", "is_hotkey_delegate"], [59, 4, 1, "", "set_delegate_take"]], "bittensor.core.subtensor_api.extrinsics": [[60, 1, 1, "", "Extrinsics"]], "bittensor.core.subtensor_api.extrinsics.Extrinsics": [[60, 4, 1, "", "add_stake"], [60, 4, 1, "", "add_stake_multiple"], [60, 4, 1, "", "burned_register"], [60, 4, 1, "", "commit_weights"], [60, 4, 1, "", "move_stake"], [60, 4, 1, "", "register"], [60, 4, 1, "", "register_subnet"], [60, 4, 1, "", "reveal_weights"], [60, 4, 1, "", "root_register"], [60, 4, 1, "", "root_set_weights"], [60, 4, 1, "", "serve_axon"], [60, 4, 1, "", "set_children"], [60, 4, 1, "", "set_subnet_identity"], [60, 4, 1, "", "set_weights"], [60, 4, 1, "", "start_call"], [60, 4, 1, "", "swap_stake"], [60, 4, 1, "", "transfer"], [60, 4, 1, "", "transfer_stake"], [60, 4, 1, "", "unstake"], [60, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.metagraphs": [[62, 1, 1, "", "Metagraphs"]], "bittensor.core.subtensor_api.metagraphs.Metagraphs": [[62, 4, 1, "", "get_all_metagraphs_info"], [62, 4, 1, "", "get_metagraph_info"], [62, 4, 1, "", "metagraph"]], "bittensor.core.subtensor_api.neurons": [[63, 1, 1, "", "Neurons"]], "bittensor.core.subtensor_api.neurons.Neurons": [[63, 4, 1, "", "get_all_neuron_certificates"], [63, 4, 1, "", "get_neuron_certificate"], [63, 4, 1, "", "neuron_for_uid"], [63, 4, 1, "", "neurons"], [63, 4, 1, "", "neurons_lite"], [63, 4, 1, "", "query_identity"]], "bittensor.core.subtensor_api.queries": [[64, 1, 1, "", "Queries"]], "bittensor.core.subtensor_api.queries.Queries": [[64, 4, 1, "", "query_constant"], [64, 4, 1, "", "query_map"], [64, 4, 1, "", "query_map_subtensor"], [64, 4, 1, "", "query_module"], [64, 4, 1, "", "query_runtime_api"], [64, 4, 1, "", "query_subtensor"]], "bittensor.core.subtensor_api.staking": [[65, 1, 1, "", "Staking"]], "bittensor.core.subtensor_api.staking.Staking": [[65, 4, 1, "", "add_stake"], [65, 4, 1, "", "add_stake_multiple"], [65, 4, 1, "", "get_hotkey_stake"], [65, 4, 1, "", "get_minimum_required_stake"], [65, 4, 1, "", "get_stake"], [65, 4, 1, "", "get_stake_add_fee"], [65, 4, 1, "", "get_stake_for_coldkey"], [65, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [65, 4, 1, "", "get_stake_info_for_coldkey"], [65, 4, 1, "", "get_stake_movement_fee"], [65, 4, 1, "", "get_unstake_fee"], [65, 4, 1, "", "unstake"], [65, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.subnets": [[66, 1, 1, "", "Subnets"]], "bittensor.core.subtensor_api.subnets.Subnets": [[66, 4, 1, "", "all_subnets"], [66, 4, 1, "", "blocks_since_last_step"], [66, 4, 1, "", "blocks_since_last_update"], [66, 4, 1, "", "bonds"], [66, 4, 1, "", "difficulty"], [66, 4, 1, "", "get_all_subnets_info"], [66, 4, 1, "", "get_children"], [66, 4, 1, "", "get_children_pending"], [66, 4, 1, "", "get_current_weight_commit_info"], [66, 4, 1, "", "get_hyperparameter"], [66, 4, 1, "", "get_neuron_for_pubkey_and_subnet"], [66, 4, 1, "", "get_next_epoch_start_block"], [66, 4, 1, "", "get_subnet_burn_cost"], [66, 4, 1, "", "get_subnet_hyperparameters"], [66, 4, 1, "", "get_subnet_owner_hotkey"], [66, 4, 1, "", "get_subnet_reveal_period_epochs"], [66, 4, 1, "", "get_subnet_validator_permits"], [66, 4, 1, "", "get_subnets"], [66, 4, 1, "", "get_total_subnets"], [66, 4, 1, "", "get_uid_for_hotkey_on_subnet"], [66, 4, 1, "", "immunity_period"], [66, 4, 1, "", "is_hotkey_registered_on_subnet"], [66, 4, 1, "", "is_subnet_active"], [66, 4, 1, "", "max_weight_limit"], [66, 4, 1, "", "min_allowed_weights"], [66, 4, 1, "", "recycle"], [66, 4, 1, "", "register_subnet"], [66, 4, 1, "", "set_subnet_identity"], [66, 4, 1, "", "subnet"], [66, 4, 1, "", "subnet_exists"], [66, 4, 1, "", "subnetwork_n"], [66, 4, 1, "", "tempo"], [66, 4, 1, "", "weights"], [66, 4, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api.utils": [[67, 5, 1, "", "add_legacy_methods"]], "bittensor.core.subtensor_api.wallets": [[68, 1, 1, "", "Wallets"]], "bittensor.core.subtensor_api.wallets.Wallets": [[68, 4, 1, "", "does_hotkey_exist"], [68, 4, 1, "", "filter_netuids_by_registered_hotkeys"], [68, 4, 1, "", "get_balance"], [68, 4, 1, "", "get_balances"], [68, 4, 1, "", "get_children"], [68, 4, 1, "", "get_children_pending"], [68, 4, 1, "", "get_delegate_by_hotkey"], [68, 4, 1, "", "get_delegate_take"], [68, 4, 1, "", "get_delegated"], [68, 4, 1, "", "get_hotkey_owner"], [68, 4, 1, "", "get_hotkey_stake"], [68, 4, 1, "", "get_minimum_required_stake"], [68, 4, 1, "", "get_netuids_for_hotkey"], [68, 4, 1, "", "get_owned_hotkeys"], [68, 4, 1, "", "get_stake"], [68, 4, 1, "", "get_stake_add_fee"], [68, 4, 1, "", "get_stake_for_coldkey"], [68, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [68, 4, 1, "", "get_stake_for_hotkey"], [68, 4, 1, "", "get_stake_info_for_coldkey"], [68, 4, 1, "", "get_stake_movement_fee"], [68, 4, 1, "", "get_transfer_fee"], [68, 4, 1, "", "get_unstake_fee"], [68, 4, 1, "", "is_hotkey_delegate"], [68, 4, 1, "", "is_hotkey_registered"], [68, 4, 1, "", "is_hotkey_registered_any"]], "bittensor.core.synapse": [[69, 1, 1, "", "Synapse"], [69, 1, 1, "", "TerminalInfo"], [69, 5, 1, "", "cast_float"], [69, 5, 1, "", "cast_int"], [69, 5, 1, "", "get_size"]], "bittensor.core.synapse.Synapse": [[69, 2, 1, "", "__setattr__"], [69, 4, 1, "", "axon"], [69, 3, 1, "id0", "body_hash"], [69, 4, 1, "", "computed_body_hash"], [69, 4, 1, "", "dendrite"], [69, 2, 1, "id1", "deserialize"], [69, 3, 1, "", "failed_verification"], [69, 2, 1, "id2", "from_headers"], [69, 2, 1, "", "get_required_fields"], [69, 2, 1, "id3", "get_total_size"], [69, 4, 1, "", "header_size"], [69, 3, 1, "", "is_blacklist"], [69, 3, 1, "", "is_failure"], [69, 3, 1, "", "is_success"], [69, 3, 1, "", "is_timeout"], [69, 4, 1, "", "model_config"], [69, 4, 1, "", "name"], [69, 2, 1, "id4", "parse_headers_to_inputs"], [69, 4, 1, "", "required_hash_fields"], [69, 2, 1, "", "set_name_type"], [69, 4, 1, "", "timeout"], [69, 2, 1, "id5", "to_headers"], [69, 4, 1, "", "total_size"]], "bittensor.core.synapse.TerminalInfo": [[69, 4, 1, "", "hotkey"], [69, 4, 1, "", "ip"], [69, 4, 1, "", "model_config"], [69, 4, 1, "", "nonce"], [69, 4, 1, "", "port"], [69, 4, 1, "", "process_time"], [69, 4, 1, "", "signature"], [69, 4, 1, "", "status_code"], [69, 4, 1, "", "status_message"], [69, 4, 1, "", "uuid"], [69, 4, 1, "", "version"]], "bittensor.core.tensor": [[70, 1, 1, "", "DTypes"], [70, 1, 1, "", "Tensor"], [70, 5, 1, "", "cast_dtype"], [70, 5, 1, "", "cast_shape"], [70, 6, 1, "", "dtypes"], [70, 1, 1, "", "tensor"]], "bittensor.core.tensor.DTypes": [[70, 4, 1, "", "torch"]], "bittensor.core.tensor.Tensor": [[70, 4, 1, "", "buffer"], [70, 2, 1, "", "deserialize"], [70, 4, 1, "", "dtype"], [70, 4, 1, "", "model_config"], [70, 2, 1, "", "numpy"], [70, 2, 1, "", "serialize"], [70, 4, 1, "", "shape"], [70, 2, 1, "", "tensor"], [70, 2, 1, "", "tolist"]], "bittensor.core.threadpool": [[71, 7, 1, "", "BrokenThreadPool"], [71, 6, 1, "", "NULL_ENTRY"], [71, 1, 1, "", "PriorityThreadPoolExecutor"], [71, 6, 1, "", "logger"]], "bittensor.core.threadpool.PriorityThreadPoolExecutor": [[71, 2, 1, "", "add_args"], [71, 2, 1, "", "config"], [71, 3, 1, "", "is_empty"], [71, 2, 1, "", "shutdown"], [71, 2, 1, "", "submit"]], "bittensor.core.timelock": [[72, 5, 1, "", "decrypt"], [72, 5, 1, "", "encrypt"], [72, 5, 1, "", "wait_reveal_and_decrypt"]], "bittensor.core.types": [[73, 1, 1, "", "AxonServeCallParams"], [73, 1, 1, "", "ParamWithTypes"], [73, 1, 1, "", "PrometheusServeCallParams"], [73, 1, 1, "", "SubtensorMixin"]], "bittensor.core.types.AxonServeCallParams": [[73, 4, 1, "", "certificate"], [73, 4, 1, "", "coldkey"], [73, 2, 1, "", "copy"], [73, 2, 1, "", "dict"], [73, 4, 1, "", "hotkey"], [73, 4, 1, "", "ip"], [73, 4, 1, "", "ip_type"], [73, 4, 1, "", "netuid"], [73, 4, 1, "", "placeholder1"], [73, 4, 1, "", "placeholder2"], [73, 4, 1, "", "port"], [73, 4, 1, "", "protocol"], [73, 4, 1, "", "version"]], "bittensor.core.types.ParamWithTypes": [[73, 4, 1, "", "name"], [73, 4, 1, "", "type"]], "bittensor.core.types.PrometheusServeCallParams": [[73, 4, 1, "", "ip"], [73, 4, 1, "", "ip_type"], [73, 4, 1, "", "netuid"], [73, 4, 1, "", "port"], [73, 4, 1, "", "version"]], "bittensor.core.types.SubtensorMixin": [[73, 2, 1, "", "add_args"], [73, 4, 1, "", "chain_endpoint"], [73, 2, 1, "", "config"], [73, 2, 1, "", "help"], [73, 4, 1, "", "log_verbose"], [73, 4, 1, "", "network"], [73, 2, 1, "", "setup_config"]], "bittensor.utils": [[85, 1, 1, "", "Certificate"], [85, 6, 1, "", "RAOPERTAO"], [85, 6, 1, "", "U16_MAX"], [85, 6, 1, "", "U64_MAX"], [85, 1, 1, "", "UnlockStatus"], [85, 6, 1, "", "VersionCheckError"], [75, 0, 0, "-", "axon_utils"], [76, 0, 0, "-", "balance"], [81, 0, 0, "-", "btlogging"], [85, 6, 1, "", "check_version"], [85, 5, 1, "", "decode_hex_identity_dict"], [85, 5, 1, "", "determine_chain_endpoint_and_network"], [83, 0, 0, "-", "easy_imports"], [85, 5, 1, "", "float_to_u64"], [85, 5, 1, "", "format_error_message"], [84, 0, 0, "-", "formatting"], [85, 5, 1, "", "get_explorer_url_for_network"], [85, 5, 1, "", "get_hash"], [85, 6, 1, "", "hex_to_bytes"], [85, 5, 1, "", "is_valid_bittensor_address_or_public_key"], [85, 5, 1, "", "is_valid_ss58_address"], [85, 6, 1, "", "logging"], [86, 0, 0, "-", "mock"], [88, 0, 0, "-", "networking"], [90, 0, 0, "-", "registration"], [85, 5, 1, "", "ss58_address_to_bytes"], [85, 6, 1, "", "ss58_decode"], [85, 5, 1, "", "ss58_to_vec_u8"], [85, 5, 1, "", "strtobool"], [93, 0, 0, "-", "subnets"], [95, 0, 0, "-", "substrate_utils"], [85, 6, 1, "", "torch"], [85, 5, 1, "", "u16_normalized_float"], [85, 5, 1, "", "u64_normalized_float"], [85, 5, 1, "", "unlock_key"], [85, 6, 1, "", "use_torch"], [85, 5, 1, "", "validate_chain_endpoint"], [97, 0, 0, "-", "version"], [85, 6, 1, "", "version_checking"], [98, 0, 0, "-", "weight_utils"]], "bittensor.utils.UnlockStatus": [[85, 4, 1, "", "message"], [85, 4, 1, "", "success"]], "bittensor.utils.axon_utils": [[75, 6, 1, "", "ALLOWED_DELTA"], [75, 6, 1, "", "NANOSECONDS_IN_SECOND"], [75, 5, 1, "", "allowed_nonce_window_ns"], [75, 5, 1, "", "calculate_diff_seconds"]], "bittensor.utils.balance": [[76, 1, 1, "", "Balance"], [76, 1, 1, "", "FixedPoint"], [76, 5, 1, "", "check_and_convert_to_balance"], [76, 5, 1, "", "fixed_to_float"], [76, 5, 1, "", "rao"], [76, 5, 1, "", "tao"]], "bittensor.utils.balance.Balance": [[76, 2, 1, "", "from_float"], [76, 2, 1, "", "from_rao"], [76, 2, 1, "", "from_tao"], [76, 2, 1, "", "get_unit"], [76, 4, 1, "", "netuid"], [76, 4, 1, "", "rao"], [76, 4, 1, "", "rao_unit"], [76, 2, 1, "", "set_unit"], [76, 3, 1, "", "tao"], [76, 4, 1, "", "unit"]], "bittensor.utils.balance.FixedPoint": [[76, 4, 1, "", "bits"]], "bittensor.utils.btlogging": [[77, 0, 0, "-", "console"], [78, 0, 0, "-", "defines"], [79, 0, 0, "-", "format"], [80, 0, 0, "-", "helpers"], [81, 6, 1, "", "logging"], [82, 0, 0, "-", "loggingmachine"]], "bittensor.utils.btlogging.console": [[77, 1, 1, "", "BittensorConsole"]], "bittensor.utils.btlogging.console.BittensorConsole": [[77, 2, 1, "", "critical"], [77, 2, 1, "", "debug"], [77, 2, 1, "", "error"], [77, 2, 1, "", "info"], [77, 4, 1, "", "logger"], [77, 2, 1, "", "success"], [77, 2, 1, "", "warning"]], "bittensor.utils.btlogging.defines": [[78, 6, 1, "", "BASE_LOG_FORMAT"], [78, 6, 1, "", "BITTENSOR_LOGGER_NAME"], [78, 6, 1, "", "DATE_FORMAT"], [78, 6, 1, "", "DEFAULT_LOG_BACKUP_COUNT"], [78, 6, 1, "", "DEFAULT_LOG_FILE_NAME"], [78, 6, 1, "", "DEFAULT_MAX_ROTATING_LOG_FILE_SIZE"], [78, 6, 1, "", "TRACE_LOG_FORMAT"]], "bittensor.utils.btlogging.format": [[79, 1, 1, "", "BtFileFormatter"], [79, 1, 1, "", "BtStreamFormatter"], [79, 6, 1, "", "DEFAULT_LOG_FORMAT"], [79, 6, 1, "", "DEFAULT_TRACE_FORMAT"], [79, 6, 1, "", "LOG_FORMATS"], [79, 6, 1, "", "LOG_TRACE_FORMATS"], [79, 6, 1, "", "SUCCESS_LEVEL_NUM"], [79, 6, 1, "", "TRACE_LEVEL_NUM"], [79, 6, 1, "", "color_map"], [79, 6, 1, "", "emoji_map"], [79, 6, 1, "", "log_level_color_prefix"]], "bittensor.utils.btlogging.format.BtFileFormatter": [[79, 2, 1, "", "format"], [79, 2, 1, "", "formatTime"]], "bittensor.utils.btlogging.format.BtStreamFormatter": [[79, 2, 1, "", "format"], [79, 2, 1, "", "formatTime"], [79, 2, 1, "", "set_trace"], [79, 4, 1, "", "trace"]], "bittensor.utils.btlogging.helpers": [[80, 5, 1, "", "all_logger_names"], [80, 5, 1, "", "all_loggers"], [80, 5, 1, "", "get_max_logger_name_length"]], "bittensor.utils.btlogging.loggingmachine": [[82, 6, 1, "", "CUSTOM_LOGGER_METHOD_STACK_LEVEL"], [82, 1, 1, "", "LoggingConfig"], [82, 1, 1, "", "LoggingMachine"]], "bittensor.utils.btlogging.loggingmachine.LoggingConfig": [[82, 4, 1, "", "debug"], [82, 4, 1, "", "info"], [82, 4, 1, "", "logging_dir"], [82, 4, 1, "", "record_log"], [82, 4, 1, "", "trace"]], "bittensor.utils.btlogging.loggingmachine.LoggingMachine": [[82, 4, 1, "", "Debug"], [82, 4, 1, "", "Default"], [82, 4, 1, "", "Disabled"], [82, 4, 1, "", "Info"], [82, 4, 1, "", "Trace"], [82, 4, 1, "", "Warning"], [82, 2, 1, "", "add_args"], [82, 2, 1, "", "after_disable_debug"], [82, 2, 1, "", "after_disable_trace"], [82, 2, 1, "", "after_enable_debug"], [82, 2, 1, "", "after_enable_default"], [82, 2, 1, "", "after_enable_info"], [82, 2, 1, "", "after_enable_trace"], [82, 2, 1, "", "after_enable_warning"], [82, 2, 1, "", "after_transition"], [82, 2, 1, "", "before_disable_debug"], [82, 2, 1, "", "before_disable_logging"], [82, 2, 1, "", "before_disable_trace"], [82, 2, 1, "", "before_enable_console"], [82, 2, 1, "", "before_enable_debug"], [82, 2, 1, "", "before_enable_default"], [82, 2, 1, "", "before_enable_info"], [82, 2, 1, "", "before_enable_trace"], [82, 2, 1, "", "before_enable_warning"], [82, 2, 1, "", "before_transition"], [82, 2, 1, "", "check_config"], [82, 2, 1, "", "config"], [82, 4, 1, "", "console"], [82, 2, 1, "", "critical"], [82, 2, 1, "", "debug"], [82, 2, 1, "", "deregister_primary_logger"], [82, 4, 1, "", "disable_debug"], [82, 4, 1, "", "disable_info"], [82, 4, 1, "", "disable_logging"], [82, 2, 1, "", "disable_third_party_loggers"], [82, 4, 1, "", "disable_trace"], [82, 4, 1, "", "disable_warning"], [82, 4, 1, "", "enable_console"], [82, 4, 1, "", "enable_debug"], [82, 4, 1, "", "enable_default"], [82, 4, 1, "", "enable_info"], [82, 2, 1, "", "enable_third_party_loggers"], [82, 4, 1, "", "enable_trace"], [82, 4, 1, "", "enable_warning"], [82, 2, 1, "", "error"], [82, 2, 1, "", "exception"], [82, 2, 1, "", "get_config"], [82, 2, 1, "", "get_level"], [82, 2, 1, "", "get_queue"], [82, 2, 1, "", "help"], [82, 2, 1, "", "info"], [82, 2, 1, "", "off"], [82, 2, 1, "", "on"], [82, 2, 1, "", "register_primary_logger"], [82, 2, 1, "", "setLevel"], [82, 2, 1, "", "set_config"], [82, 2, 1, "", "set_console"], [82, 2, 1, "", "set_debug"], [82, 2, 1, "", "set_default"], [82, 2, 1, "", "set_info"], [82, 2, 1, "", "set_trace"], [82, 2, 1, "", "set_warning"], [82, 2, 1, "", "success"], [82, 2, 1, "", "trace"], [82, 2, 1, "", "warning"]], "bittensor.utils.easy_imports": [[83, 6, 1, "", "async_subtensor"], [83, 6, 1, "", "axon"], [83, 6, 1, "", "config"], [83, 5, 1, "", "debug"], [83, 6, 1, "", "dendrite"], [83, 6, 1, "", "extrinsics_subpackage"], [83, 5, 1, "", "info"], [83, 6, 1, "", "keyfile"], [83, 6, 1, "", "metagraph"], [83, 6, 1, "", "mock_subpackage"], [83, 6, 1, "", "subtensor"], [83, 6, 1, "", "synapse"], [83, 5, 1, "", "trace"], [83, 6, 1, "", "wallet"], [83, 5, 1, "", "warning"]], "bittensor.utils.formatting": [[84, 5, 1, "", "get_human_readable"], [84, 5, 1, "", "millify"]], "bittensor.utils.mock": [[87, 0, 0, "-", "subtensor_mock"]], "bittensor.utils.mock.subtensor_mock": [[87, 1, 1, "", "AxonInfoDict"], [87, 6, 1, "", "BlockNumber"], [87, 1, 1, "", "InfoDict"], [87, 1, 1, "", "MockChainState"], [87, 1, 1, "", "MockMapResult"], [87, 1, 1, "", "MockSubtensor"], [87, 1, 1, "", "MockSubtensorState"], [87, 1, 1, "", "MockSubtensorValue"], [87, 1, 1, "", "MockSystemState"], [87, 1, 1, "", "PrometheusInfoDict"], [87, 1, 1, "", "ReusableCoroutine"]], "bittensor.utils.mock.subtensor_mock.AxonInfoDict": [[87, 4, 1, "", "block"], [87, 2, 1, "", "default"], [87, 4, 1, "", "ip"], [87, 4, 1, "", "ip_type"], [87, 4, 1, "", "placeholder1"], [87, 4, 1, "", "placeholder2"], [87, 4, 1, "", "port"], [87, 4, 1, "", "protocol"], [87, 4, 1, "", "version"]], "bittensor.utils.mock.subtensor_mock.InfoDict": [[87, 2, 1, "", "default"]], "bittensor.utils.mock.subtensor_mock.MockChainState": [[87, 4, 1, "", "SubtensorModule"], [87, 4, 1, "", "System"]], "bittensor.utils.mock.subtensor_mock.MockMapResult": [[87, 4, 1, "", "records"]], "bittensor.utils.mock.subtensor_mock.MockSubtensor": [[87, 4, 1, "", "block_number"], [87, 4, 1, "", "chain_state"], [87, 2, 1, "", "commit"], [87, 2, 1, "", "create_subnet"], [87, 2, 1, "", "do_block_step"], [87, 2, 1, "", "do_serve_axon"], [87, 2, 1, "", "do_serve_prometheus"], [87, 2, 1, "", "do_set_weights"], [87, 2, 1, "", "do_transfer"], [87, 2, 1, "", "force_register_neuron"], [87, 2, 1, "", "force_set_balance"], [87, 2, 1, "", "get_balance"], [87, 2, 1, "", "get_block_hash"], [87, 2, 1, "", "get_commitment"], [87, 2, 1, "", "get_current_block"], [87, 2, 1, "", "get_transfer_fee"], [87, 2, 1, "", "min_required_stake"], [87, 2, 1, "", "neuron_for_uid"], [87, 2, 1, "", "neuron_for_uid_lite"], [87, 2, 1, "", "neurons"], [87, 2, 1, "", "neurons_lite"], [87, 2, 1, "", "query_constant"], [87, 2, 1, "", "query_map_subtensor"], [87, 2, 1, "", "query_subtensor"], [87, 2, 1, "", "reset"], [87, 2, 1, "", "set_difficulty"], [87, 2, 1, "", "setup"], [87, 4, 1, "", "sudo_force_set_balance"]], "bittensor.utils.mock.subtensor_mock.MockSubtensorState": [[87, 4, 1, "", "Active"], [87, 4, 1, "", "Delegates"], [87, 4, 1, "", "Difficulty"], [87, 4, 1, "", "ImmunityPeriod"], [87, 4, 1, "", "Kappa"], [87, 4, 1, "", "NetworksAdded"], [87, 4, 1, "", "Rho"], [87, 4, 1, "", "Stake"], [87, 4, 1, "", "ValidatorBatchSize"]], "bittensor.utils.mock.subtensor_mock.MockSubtensorValue": [[87, 4, 1, "", "value"]], "bittensor.utils.mock.subtensor_mock.MockSystemState": [[87, 4, 1, "", "Account"]], "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict": [[87, 4, 1, "", "block"], [87, 2, 1, "", "default"], [87, 4, 1, "", "ip"], [87, 4, 1, "", "ip_type"], [87, 4, 1, "", "port"], [87, 4, 1, "", "version"]], "bittensor.utils.mock.subtensor_mock.ReusableCoroutine": [[87, 4, 1, "", "coroutine"], [87, 2, 1, "", "reset"]], "bittensor.utils.networking": [[88, 7, 1, "", "ExternalIPNotFound"], [88, 5, 1, "", "get_external_ip"], [88, 5, 1, "", "get_formatted_ws_endpoint_url"], [88, 5, 1, "", "int_to_ip"], [88, 5, 1, "", "ip__str__"], [88, 5, 1, "", "ip_to_int"], [88, 5, 1, "", "ip_version"]], "bittensor.utils.registration": [[89, 0, 0, "-", "async_pow"], [91, 0, 0, "-", "pow"], [92, 0, 0, "-", "register_cuda"]], "bittensor.utils.registration.async_pow": [[89, 5, 1, "", "create_pow_async"]], "bittensor.utils.registration.pow": [[91, 1, 1, "", "CUDASolver"], [91, 1, 1, "", "Console"], [91, 1, 1, "", "LazyLoadedTorch"], [91, 1, 1, "", "POWSolution"], [91, 1, 1, "", "RegistrationStatistics"], [91, 1, 1, "", "RegistrationStatisticsLogger"], [91, 1, 1, "", "Solver"], [91, 1, 1, "", "Status"], [91, 1, 1, "", "UsingSpawnStartMethod"], [91, 5, 1, "", "create_pow"], [91, 5, 1, "", "get_cpu_count"], [91, 5, 1, "", "legacy_torch_api_compat"], [91, 5, 1, "", "log_no_torch_error"], [91, 5, 1, "", "terminate_workers_and_wait_for_exit"], [91, 6, 1, "", "torch"], [91, 5, 1, "", "update_curr_block"], [91, 5, 1, "", "use_torch"]], "bittensor.utils.registration.pow.CUDASolver": [[91, 4, 1, "", "dev_id"], [91, 2, 1, "", "run"], [91, 4, 1, "", "tpb"]], "bittensor.utils.registration.pow.Console": [[91, 2, 1, "", "log"], [91, 2, 1, "", "status"]], "bittensor.utils.registration.pow.POWSolution": [[91, 4, 1, "", "block_number"], [91, 4, 1, "", "difficulty"], [91, 2, 1, "", "is_stale"], [91, 2, 1, "", "is_stale_async"], [91, 4, 1, "", "nonce"], [91, 4, 1, "", "seal"]], "bittensor.utils.registration.pow.RegistrationStatistics": [[91, 4, 1, "", "block_hash"], [91, 4, 1, "", "block_number"], [91, 4, 1, "", "difficulty"], [91, 4, 1, "", "hash_rate"], [91, 4, 1, "", "hash_rate_perpetual"], [91, 4, 1, "", "rounds_total"], [91, 4, 1, "", "time_average"], [91, 4, 1, "", "time_spent"], [91, 4, 1, "", "time_spent_total"]], "bittensor.utils.registration.pow.RegistrationStatisticsLogger": [[91, 4, 1, "", "console"], [91, 2, 1, "", "get_status_message"], [91, 2, 1, "", "start"], [91, 4, 1, "", "status"], [91, 2, 1, "", "stop"], [91, 2, 1, "", "update"]], "bittensor.utils.registration.pow.Solver": [[91, 2, 1, "", "run"]], "bittensor.utils.registration.pow.Status": [[91, 2, 1, "", "start"], [91, 2, 1, "", "stop"], [91, 2, 1, "", "update"]], "bittensor.utils.registration.register_cuda": [[92, 5, 1, "", "log_cuda_errors"], [92, 5, 1, "", "reset_cuda"], [92, 5, 1, "", "solve_cuda"]], "bittensor.utils.subnets": [[93, 1, 1, "", "SubnetsAPI"]], "bittensor.utils.subnets.SubnetsAPI": [[93, 4, 1, "", "dendrite"], [93, 2, 1, "", "prepare_synapse"], [93, 2, 1, "", "process_responses"], [93, 2, 1, "", "query_api"], [93, 4, 1, "", "wallet"]], "bittensor.utils.substrate_utils": [[94, 0, 0, "-", "hasher"], [96, 0, 0, "-", "storage"]], "bittensor.utils.substrate_utils.hasher": [[94, 5, 1, "", "blake2_128"], [94, 5, 1, "", "blake2_128_concat"], [94, 5, 1, "", "blake2_256"], [94, 5, 1, "", "identity"], [94, 5, 1, "", "two_x64_concat"], [94, 5, 1, "", "xxh128"], [94, 5, 1, "", "xxh64"]], "bittensor.utils.substrate_utils.storage": [[96, 1, 1, "", "StorageKey"]], "bittensor.utils.substrate_utils.storage.StorageKey": [[96, 2, 1, "", "convert_storage_parameter"], [96, 2, 1, "", "create_from_data"], [96, 2, 1, "", "create_from_storage_function"], [96, 4, 1, "", "data"], [96, 2, 1, "", "decode_scale_value"], [96, 2, 1, "", "generate"], [96, 4, 1, "", "metadata"], [96, 4, 1, "", "metadata_storage_function"], [96, 4, 1, "", "pallet"], [96, 4, 1, "", "params"], [96, 4, 1, "", "params_encoded"], [96, 4, 1, "", "runtime_config"], [96, 4, 1, "", "storage_function"], [96, 2, 1, "", "to_hex"], [96, 4, 1, "", "value_scale_type"]], "bittensor.utils.version": [[97, 6, 1, "", "VERSION_CHECK_THRESHOLD"], [97, 7, 1, "", "VersionCheckError"], [97, 5, 1, "", "check_latest_version_in_pypi"], [97, 5, 1, "", "check_version"], [97, 5, 1, "", "get_and_save_latest_version"], [97, 5, 1, "", "version_checking"]], "bittensor.utils.weight_utils": [[98, 6, 1, "", "U16_MAX"], [98, 6, 1, "", "U32_MAX"], [98, 5, 1, "", "convert_and_normalize_weights_and_uids"], [98, 5, 1, "", "convert_bond_uids_and_vals_to_tensor"], [98, 5, 1, "", "convert_root_weight_uids_and_vals_to_tensor"], [98, 5, 1, "", "convert_uids_and_weights"], [98, 5, 1, "", "convert_weight_uids_and_vals_to_tensor"], [98, 5, 1, "", "convert_weights_and_uids_for_emit"], [98, 5, 1, "", "generate_weight_hash"], [98, 5, 1, "", "normalize_max_weight"], [98, 5, 1, "", "process_weights"], [98, 5, 1, "", "process_weights_for_netuid"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"], "7": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:function", "6": "py:data", "7": "py:exception"}, "terms": {"": [0, 1, 4, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 69, 70, 73, 76, 78, 79, 80, 85, 87, 89, 91, 93, 96, 98], "0": [0, 1, 2, 10, 24, 26, 28, 29, 30, 31, 32, 36, 37, 38, 41, 42, 43, 44, 45, 46, 50, 54, 56, 61, 69, 72, 75, 76, 83, 85, 87, 88, 89, 91, 92, 98], "005": [0, 28, 32, 36, 41, 46, 50, 56], "0x0813029319030129u4120u10841824y0182u091u230912u": 69, "1": [0, 1, 10, 21, 53, 56, 69, 70, 71, 72, 73, 82, 85, 87, 92, 98, 99], "10": [10, 21, 24, 69, 72, 76, 78], "1000": [4, 5], "1000000000": [75, 85], "1024": 1, "11": [10, 21], "111": 69, "111111": 69, "113": 1, "11ee": 69, "12": [0, 10, 21, 24, 26, 38, 54, 56, 72, 93], "1200": 53, "122": [31, 44], "123": [53, 69, 72], "1234": [0, 56], "12345": 53, "127": 69, "128": [31, 44, 76], "13": [10, 21], "137": 79, "14": [10, 21], "147": [0, 56], "15": [10, 21, 69, 72, 97], "152": [0, 56], "16": [0, 10, 21, 56, 94], "17": 10, "18": [10, 54], "18446744073709551615": 85, "19": 10, "192": [1, 31, 44], "198": 69, "1cec": 69, "2": [0, 1, 10, 21, 53, 56, 69, 70, 73, 79, 82, 87, 94], "20": 10, "200": 69, "203": 1, "21": [10, 79], "22": 10, "23": [10, 69], "24": 10, "25": [10, 72], "256": [0, 29, 42, 56, 69, 89, 91], "26": 10, "26214400": 78, "27": 10, "28": 10, "29": 10, "3": [0, 10, 21, 29, 42, 56, 69, 72, 73, 79, 82, 83, 88, 91], "30": [10, 69], "300": [53, 85], "31": [10, 31, 44], "32": [10, 89, 91, 94], "33": 10, "3339": 79, "34": [10, 79], "35": 10, "36": 10, "360": [0, 56], "37": 10, "38": [10, 88], "39": 10, "3rd": 82, "4": [2, 10, 21, 31, 44, 69, 73, 88], "40": 10, "400": 1, "4000000000": 75, "401": 69, "4028237e": 88, "403": 69, "408": 69, "41": 10, "42": [10, 54], "422": 24, "4294967295": 98, "43": 10, "44": 10, "443": 54, "45": 10, "46": 10, "47": 10, "48": [10, 54], "49": 10, "5": [0, 10, 21, 25, 28, 36, 41, 46, 50, 56, 72, 73, 79], "50": 10, "51": 10, "52": 10, "53": 10, "54": 10, "55": 10, "56": 10, "57": 10, "58": 10, "59": 10, "5ecbd69c": 69, "5enjdgnqqwnul2hcadxeetn2oqtxzw6bmbe936kfy2pfz1j1": 69, "5fhnew46xgxgs5muiveu4sbtygbzmstuspzc92uhjjm694ti": [0, 56], "5grwvaef5zxb26fz9rcqpdws57cterhpnehxcpcnohgkutqi": [0, 56], "6": [10, 21, 53, 88], "60": 10, "61": 10, "62": 10, "63": 10, "64": [10, 76, 92], "65": 10, "65535": [1, 85, 98], "66": 10, "67": 10, "68": 10, "69": 10, "7": [10, 21, 83], "70": 10, "7002000": 1, "7070": 1, "71": 10, "8": [0, 10, 21, 37, 45, 56, 69, 85], "8080": 69, "81": 0, "86400": 97, "9": [10, 21, 76], "9090": 1, "9221": [31, 44], "9282": 69, "9944": 54, "9945": 61, "A": [0, 1, 2, 11, 12, 17, 21, 22, 23, 24, 25, 26, 29, 31, 38, 42, 44, 51, 53, 55, 56, 69, 71, 72, 73, 75, 76, 79, 82, 85, 87, 91, 96], "AS": 53, "And": [0, 56], "As": 87, "Being": [0, 56], "But": 24, "By": [0, 1, 36, 50, 56, 69], "For": [0, 24, 53, 56, 69, 70, 72, 73, 87], "If": [0, 1, 2, 6, 21, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 56, 61, 67, 69, 70, 71, 72, 73, 75, 76, 79, 83, 85, 87, 89, 91, 98], "In": [24, 53, 69, 88], "It": [0, 1, 24, 31, 44, 53, 55, 56, 69, 71, 72, 73, 76, 80, 81, 82, 87, 91], "Not": 69, "Of": 88, "Or": 85, "The": [0, 1, 2, 9, 11, 12, 13, 15, 16, 17, 21, 22, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 61, 69, 70, 71, 72, 73, 75, 76, 79, 80, 83, 85, 87, 88, 89, 91, 92, 93, 97, 98], "Then": 56, "There": [0, 56], "These": [0, 1, 30, 37, 43, 45, 53, 56, 69, 98], "To": 82, "With": [0, 56], "__repr__": 24, "__setattr__": 69, "__str__": [24, 85], "_base": 71, "_do_reveal_weight": [37, 39], "_mock": [0, 56, 73, 87], "_primary_logg": 82, "_solverbas": 91, "abc": [53, 55, 73, 87, 93], "abil": [1, 53, 77], "abl": 24, "about": [0, 1, 2, 15, 53, 56, 69, 87], "abov": [24, 35, 49, 79], "absolut": 24, "abstract": [24, 53, 55, 93, 96], "abstractmethod": [23, 87], "abus": 1, "accept": [1, 71, 82], "access": [0, 1, 24, 53, 56, 61, 69, 87, 98], "accord": [1, 31, 44, 55, 69], "account": [0, 21, 25, 30, 32, 35, 37, 43, 45, 46, 49, 56, 87, 98], "account_id_byt": 21, "accountid": [15, 21, 22], "accru": 53, "accrual": [0, 56], "accumul": [53, 55], "accur": [23, 25, 53, 69, 70, 71, 73, 76, 85, 87, 88, 97], "achiev": 53, "aclose_sess": 24, "across": [0, 51, 53, 56, 69, 91], "act": [0, 1, 24, 53, 56], "action": [0, 56, 82], "activ": [0, 1, 10, 11, 12, 17, 20, 24, 53, 56, 80, 87, 93], "activity_cutoff": [10, 17], "activitycutoff": 10, "actual": [0, 1, 31, 44, 56], "ad": [0, 1, 32, 56, 61, 67, 73, 79, 82], "adapt": [1, 53], "add": [0, 1, 32, 46, 56, 69, 73, 79, 82, 98], "add_arg": [1, 23, 61, 71, 73, 82], "add_legacy_method": 67, "add_stak": [0, 56, 60, 65], "add_stake_extrins": [32, 46], "add_stake_multipl": [0, 56, 60, 65], "add_stake_multiple_extrins": [32, 46], "addit": [0, 3, 4, 18, 29, 42, 53, 55, 56, 69, 98], "addition": [1, 69], "additional_data": 69, "address": [0, 1, 2, 4, 9, 13, 16, 21, 22, 24, 28, 32, 34, 35, 36, 41, 46, 48, 49, 50, 51, 53, 56, 69, 83, 85, 87, 98], "adher": 24, "adjust": [0, 17, 56], "adjustment_alpha": [10, 17], "adjustment_interv": [10, 17], "adjustmentalpha": 10, "adjustmentinterv": 10, "advanc": [0, 56], "adversari": 1, "advis": [1, 24, 53], "after": [0, 1, 15, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 55, 56, 69, 71, 72, 82, 87, 91, 98], "after_disable_debug": 82, "after_disable_trac": 82, "after_enable_debug": 82, "after_enable_default": 82, "after_enable_info": 82, "after_enable_trac": 82, "after_enable_warn": 82, "after_transit": 82, "ag": 72, "against": [0, 1, 28, 41, 56], "agre": 53, "agreement": 53, "ai": [53, 54], "aid": [0, 56, 69], "aiohttp": [24, 55], "akin": 53, "algorithm": [0, 1, 31, 44, 53, 56], "alic": [0, 56], "align": [0, 53, 56], "aliv": [0, 35, 49, 56], "all": [0, 1, 24, 25, 32, 35, 36, 46, 49, 50, 51, 53, 56, 61, 67, 71, 80, 82, 87, 88, 91, 96], "all_hotkei": [0, 56], "all_indic": 10, "all_logg": 80, "all_logger_nam": 80, "all_netuid": [0, 56], "all_stak": 51, "all_subnet": [0, 56, 66], "alloc": [0, 53, 56], "allow": [0, 1, 4, 5, 17, 28, 32, 36, 41, 46, 50, 53, 55, 56, 69, 70, 75, 79, 83, 87, 98], "allow_partial_stak": [0, 28, 32, 36, 41, 46, 50, 56], "allowed_delta": 75, "allowed_nonce_window_n": 75, "along": [29, 42, 72], "alpha": [0, 6, 17, 53, 56, 76], "alpha_dividends_per_hotkei": [10, 53], "alpha_high": [10, 17], "alpha_in": [6, 10], "alpha_in_emiss": [6, 10], "alpha_low": [10, 17], "alpha_out": [6, 10], "alpha_out_emiss": [6, 10], "alpha_slippag": 6, "alpha_stak": [10, 20, 53], "alpha_to_tao": 6, "alpha_to_tao_with_slippag": 6, "alphadividendsperhotkei": 10, "alphahigh": 10, "alphain": 10, "alphainemiss": 10, "alphalow": 10, "alphaout": 10, "alphaoutemiss": 10, "alphastak": 10, "alreadi": [1, 89, 91, 98], "also": [0, 1, 24, 55, 56, 69, 75, 76, 82, 87], "alter": 1, "among": [0, 53, 56], "amount": [0, 4, 6, 11, 12, 28, 32, 35, 36, 41, 46, 49, 50, 51, 53, 56, 72, 76, 87], "an": [0, 1, 2, 6, 11, 21, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 55, 56, 69, 70, 71, 73, 76, 79, 80, 82, 85, 87, 88], "analogi": 24, "analys": 53, "analysi": [0, 53, 56, 69, 87], "analyz": [0, 53, 56, 87], "ani": [0, 1, 2, 8, 9, 23, 24, 25, 29, 32, 36, 42, 46, 50, 53, 55, 56, 58, 69, 70, 72, 85, 87, 91, 92, 93, 96], "announc": [31, 44], "anoth": [0, 23, 28, 41, 53, 56], "any_list": 8, "anyth": 85, "api": [0, 1, 56, 61, 91, 93, 100], "app": 1, "appear": 72, "appli": [1, 10, 69, 79, 98], "applic": [0, 1, 24, 53, 55, 56, 69, 80], "approach": [0, 56], "appropri": [1, 24, 53, 55, 73], "aqueri": 24, "ar": [0, 1, 17, 23, 24, 25, 37, 39, 51, 53, 56, 69, 70, 71, 72, 73, 80, 85, 87, 96, 98], "arbitr": 15, "arbitrari": [0, 24, 56, 87], "arbitration_block": 15, "architectur": [0, 1, 53, 56], "archiv": [53, 54, 73, 85], "archive_entrypoint": 54, "arg": [23, 24, 70, 71, 79, 82, 85, 87, 93], "argpars": [1, 23, 71, 73, 82], "argument": [0, 1, 23, 53, 55, 67, 69, 70, 71, 73, 79, 82, 85, 87, 93], "argumentpars": [1, 23, 71, 73, 82], "aris": 1, "arithmet": 76, "around": [37, 39], "arrai": [0, 53, 56, 70, 91, 98], "asctim": [78, 79], "asgi": 55, "aspect": [0, 1, 53, 56, 69, 87], "assert": [1, 72], "assertionerror": 1, "assess": [0, 1, 53, 56], "asset": 53, "assign": [0, 1, 29, 42, 53, 56, 69], "assist": [0, 56], "associ": [0, 1, 2, 6, 9, 11, 12, 13, 16, 20, 24, 25, 26, 28, 31, 37, 38, 39, 41, 44, 51, 53, 56, 69, 71, 82, 87, 98], "assum": [1, 53, 76], "assur": 1, "asymmetr": 1, "async": [0, 1, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 53, 55, 61, 89, 91, 93], "async_metagraph": 53, "async_pow": [90, 99], "async_substrate_interfac": [0, 21, 56, 87], "async_subtensor": [23, 26, 29, 30, 31, 32, 35, 36, 37, 45, 52, 53, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 83, 89, 91, 99], "asyncex": [40, 99], "asyncgener": 24, "asynchron": [0, 1, 24, 29, 55, 91], "asyncio": 24, "asyncmetagraph": 53, "asyncquerymapresult": 0, "asyncsubtensor": [0, 26, 28, 29, 30, 31, 32, 35, 36, 37, 45, 53, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 68, 87, 89, 91], "attach": [1, 69], "attack": 1, "attain": 88, "attempt": [0, 25, 29, 42, 53, 56, 69, 85, 88], "attribut": [0, 4, 11, 56, 69], "authent": [1, 31, 44, 53, 69], "author": [0, 28, 53, 56], "auto": 99, "autoapi": 99, "automat": [0, 24, 53, 56, 69], "avail": [0, 1, 56, 61, 87], "averag": [17, 91], "aw": 88, "await": [0, 24, 55, 61], "axon": [0, 2, 10, 11, 12, 23, 24, 25, 31, 44, 52, 53, 56, 69, 83, 93, 99], "axon_hotkei": 69, "axon_info": [7, 10, 11, 12, 24, 99], "axon_util": [85, 99], "axoninfo": [1, 2, 10, 11, 12, 21, 24, 53], "axoninfodict": 87, "axonmiddlewar": 1, "axonserv": 1, "axonservecallparam": [31, 44, 73, 87], "ay": 14, "b": 53, "b0dc": 69, "b64decod": 69, "back": [1, 24, 55, 69, 72, 96], "backbon": 53, "background": 1, "backoff": [0, 56], "backward": [1, 76, 97], "balanc": [0, 4, 5, 6, 10, 11, 12, 16, 19, 20, 21, 28, 32, 35, 36, 41, 46, 49, 50, 51, 56, 61, 85, 87, 99], "bandwidth": 69, "base": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 53, 55, 56, 69, 70, 71, 72, 73, 76, 79, 82, 85, 87, 88, 91, 93, 96, 97, 98], "base64": [21, 69], "base_log_format": 78, "baseclass": 53, "basehttpmiddlewar": 1, "basemodel": [24, 55, 69, 70], "basic": [11, 53, 69], "batch": [0, 56], "becaus": 69, "becom": [0, 56], "been": [1, 24, 55, 69, 71], "befor": [0, 1, 15, 24, 29, 30, 31, 32, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 48, 49, 50, 56, 82, 89, 91, 92], "before_disable_debug": 82, "before_disable_log": 82, "before_disable_trac": 82, "before_enable_consol": 82, "before_enable_debug": 82, "before_enable_default": 82, "before_enable_info": 82, "before_enable_trac": 82, "before_enable_warn": 82, "before_transit": 82, "begin": [0, 1, 56], "behavior": [0, 1, 53, 56, 69], "being": [0, 1, 5, 21, 31, 33, 37, 39, 44, 47, 55, 56, 82, 91], "belief": 53, "belong": 56, "below": [0, 56], "benefici": 53, "benefit": [24, 53], "bespok": 93, "between": [0, 1, 6, 29, 41, 42, 53, 56, 69, 75, 76, 82, 98], "beyond": 53, "bind": 1, "bit": 76, "bittensor": 99, "bittensor_logger_nam": [78, 82], "bittensor_wallet": [0, 1, 24, 26, 29, 30, 31, 32, 35, 36, 37, 38, 39, 42, 43, 44, 45, 46, 49, 50, 51, 56, 85, 87, 89, 91, 93], "bittensorconsol": 77, "blacklist": [1, 25, 69], "blacklist_custom": 1, "blacklist_fn": 1, "blacklist_my_synaps": 1, "blacklist_my_synapse_2": 1, "blacklistedexcept": 25, "blake256": [31, 44], "blake2_128": 94, "blake2_128_concat": 94, "blake2_256": 94, "blake2b": 94, "block": [0, 1, 10, 13, 15, 17, 21, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 56, 61, 72, 85, 87, 89, 91, 92], "block_and_hotkey_hash_byt": 92, "block_at_registr": [10, 20, 53], "block_byt": 91, "block_hash": [0, 31, 56, 85, 91], "block_numb": [0, 87, 91], "block_tim": [0, 26, 38, 56, 72], "blockatregistr": 10, "blockchain": [0, 28, 29, 31, 33, 34, 37, 39, 42, 44, 47, 48, 53, 56, 87, 98], "blocknotfound": 25, "blocknumb": 87, "blocks_since_epoch": 19, "blocks_since_last_step": [0, 6, 10, 53, 56, 66], "blocks_since_last_upd": [0, 56, 66], "blocks_until_rev": [0, 56], "blockssincelaststep": 10, "blocktim": 54, "bob": [0, 56], "bodi": [0, 1, 24, 55, 56, 69], "body_hash": 69, "bond": [0, 11, 12, 17, 53, 56, 61, 66, 98], "bonds_as_dict": 11, "bonds_moving_avg": [10, 17], "bondsmovingavg": 10, "bool": [0, 1, 2, 6, 10, 11, 12, 16, 17, 20, 21, 23, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 56, 61, 69, 70, 72, 73, 79, 82, 83, 85, 87, 89, 91, 93], "boolean": [0, 1, 26, 38, 53, 56, 85], "both": [0, 1, 56, 82, 87, 98], "brain": 24, "bridg": 24, "broadcast": 1, "broader": 1, "broken": 25, "brokenexecutor": 71, "brokenthreadpool": 71, "bt": [1, 23, 61, 72, 93], "bt_header_axon_address": 69, "bt_header_dendrite_port": 69, "btfileformatt": 79, "btlog": [85, 99], "btstreamformatt": 79, "btstreamingrespons": 55, "btstreamingresponsemodel": 55, "buffer": [24, 70, 85], "build": 24, "built": 96, "bulk": [0, 56], "burn": [0, 10, 17, 19, 56], "burned_regist": [0, 56, 60], "burned_register_extrins": [29, 42], "byte": [0, 12, 21, 31, 44, 56, 69, 72, 85, 91, 92, 94, 96, 98], "byte_data": 72, "bytes_or_buff": 85, "c": 53, "calcul": [0, 1, 17, 53, 56, 69, 75, 80, 87, 91, 94], "calculate_diff_second": 75, "call": [0, 1, 24, 31, 33, 44, 47, 55, 56, 69, 71, 73, 82, 97], "call_definit": [0, 56], "call_next": 1, "call_param": [31, 44, 87], "call_stream": 24, "callabl": [1, 55, 71], "caller": 1, "can": [0, 1, 9, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 55, 56, 69, 71, 72, 87, 91, 98], "cancel": 71, "cancel_futur": 71, "cannot": [0, 25, 33, 47, 55, 56, 69, 70, 88], "capabl": [1, 31, 44], "captur": 53, "carrier": 69, "case": [0, 1, 24, 56, 96], "cast": 70, "cast_dtyp": 70, "cast_float": 69, "cast_int": 69, "cast_shap": 70, "categori": 69, "caught": [24, 85], "ceas": 1, "center": 79, "central": [1, 53], "certain": [0, 1, 56, 91], "certif": [0, 1, 31, 44, 56, 73, 85], "chain": [0, 1, 3, 16, 21, 25, 29, 30, 31, 32, 35, 36, 37, 42, 43, 44, 45, 46, 49, 50, 54, 56, 61, 73, 85, 87, 98, 99], "chain_data": [0, 1, 24, 51, 52, 53, 56, 87, 99], "chain_endpoint": [53, 61, 73, 85], "chain_ident": [0, 7, 10, 56, 99], "chain_stat": 87, "chainconnectionerror": 25, "chaindatatyp": 21, "chainerror": 25, "chainident": [0, 3, 10, 21, 53, 56], "chainqueryerror": 25, "chaintransactionerror": 25, "challeng": [0, 56, 89, 91], "chang": [0, 41, 56, 77, 79, 83, 87], "characterist": [0, 56, 87], "check": [0, 1, 23, 24, 28, 36, 41, 46, 50, 56, 69, 76, 85, 88, 89, 91, 97], "check_and_convert_to_bal": 76, "check_block": 91, "check_config": [1, 82], "check_latest_version_in_pypi": 97, "check_vers": [85, 97], "child": [0, 25, 56], "childkei": [0, 25, 56], "children": [0, 25, 56], "choic": 85, "chr_transform": 10, "chunk": [24, 55], "claim": [0, 1, 34, 48, 56], "class": [25, 29, 42, 72], "classic": 67, "classmethod": [1, 2, 8, 9, 11, 14, 15, 16, 22, 23, 25, 61, 69, 71, 73, 82, 87, 91, 96], "classvar": 69, "clean": 71, "cleanup": 24, "clear": 55, "cli": [0, 56], "client": [1, 24, 33, 47, 55], "clientrespons": [24, 55], "clientsess": 24, "close": [0, 24, 56, 61], "close_sess": 24, "closur": 24, "code": [1, 24, 69], "cold": [15, 61], "coldkei": [0, 2, 4, 5, 10, 11, 12, 16, 20, 25, 28, 32, 36, 41, 46, 50, 51, 53, 56, 68, 73, 85, 87], "coldkey_ss58": [0, 16, 56], "coldkeypub": [0, 1, 56], "collabor": [0, 53, 56], "collat": 24, "collect": [0, 23, 51, 53, 56, 87], "color": 79, "color_map": 79, "combin": 51, "come": 1, "command": [1, 73], "commit": [0, 17, 21, 22, 25, 26, 37, 38, 39, 56, 61, 87, 98, 99], "commit_data": 22, "commit_hash": [37, 39], "commit_hex": 22, "commit_rev": [27, 40, 99], "commit_reveal_en": [0, 56, 58], "commit_reveal_period": [10, 17], "commit_reveal_v3_extrins": [26, 38], "commit_reveal_weights_en": [10, 17], "commit_weight": [0, 40, 56, 60, 99], "commit_weights_extrins": [37, 39], "commitrevealperiod": 10, "commitrevealweightsen": 10, "committ": 22, "committe": [0, 56], "common": [4, 24, 25, 32, 36, 46, 50], "commun": [0, 1, 53, 56, 69, 93], "compar": [1, 51], "comparison": [1, 76], "compat": [0, 37, 39, 56, 69, 76, 83, 97], "complet": [1, 24, 53, 71], "complex": [0, 1, 53, 56, 69, 87], "compon": [0, 1, 53, 56], "composit": [0, 56], "comprehend": [0, 56, 87], "comprehens": [0, 56, 87], "compress": 69, "comput": [0, 31, 44, 53, 56, 69], "computed_body_hash": 69, "concaten": [69, 94], "concept": 53, "concern": 1, "concurr": [1, 24, 71], "condit": [0, 1, 56, 87], "confid": 1, "config": [0, 1, 52, 53, 55, 56, 61, 69, 70, 71, 73, 82, 83, 87, 99], "configdict": [55, 69, 70], "configur": [0, 1, 23, 53, 55, 56, 61, 69, 70, 73, 82, 87], "confirm": 1, "conflict": 1, "conform": [55, 69, 70], "congest": [0, 56], "connect": [0, 1, 24, 25, 31, 34, 44, 48, 53, 56, 61, 69, 73, 87], "connection_requir": 19, "consensu": [0, 10, 11, 12, 20, 53, 56, 87], "conserv": [0, 56], "consist": [0, 53, 56, 69, 81, 87], "consol": [0, 29, 42, 56, 81, 82, 89, 91, 99], "constant": [0, 17, 56, 78, 87], "constant_nam": [0, 56, 87], "constantli": 53, "constrain": 69, "constraint": 98, "construct": [23, 53, 69], "contact": [0, 29, 42, 56], "contain": [0, 1, 2, 4, 11, 21, 22, 24, 28, 29, 31, 42, 44, 51, 53, 55, 56, 69, 72, 73, 75, 85, 87, 91, 98, 99], "context": [0, 1, 24, 53, 56, 69], "continu": [1, 53], "contribut": [0, 1, 53, 56, 87], "control": [0, 1, 56, 69], "conveni": 69, "convers": [69, 98], "convert": [1, 2, 21, 69, 72, 76, 84, 85, 91, 98], "convert_and_normalize_weights_and_uid": 98, "convert_bond_uids_and_vals_to_tensor": 98, "convert_root_weight_uids_and_vals_to_tensor": 98, "convert_storage_paramet": 96, "convert_uids_and_weight": 98, "convert_weight_uids_and_vals_to_tensor": 98, "convert_weights_and_uids_for_emit": 98, "cool": [0, 56], "copi": [53, 73], "core": [74, 82, 87, 89, 91, 93, 99], "cornerston": [1, 69], "coroutin": 87, "correct": [1, 53, 69], "correctli": [1, 53], "correl": [0, 56], "correspond": [0, 1, 21, 24, 30, 37, 39, 43, 45, 51, 53, 56, 92, 98], "corrupt": 85, "cortex": 72, "cost": [0, 56, 87], "count": 5, "counterpart": 24, "cover": [0, 24, 53, 56, 87], "cpu": [89, 91], "creat": [0, 1, 2, 9, 11, 22, 24, 31, 44, 53, 55, 56, 69, 70, 73, 76, 85, 89, 91, 96, 99], "create_error_respons": 1, "create_from_data": 96, "create_from_storage_funct": 96, "create_pow": 91, "create_pow_async": 89, "create_streaming_respons": 55, "create_subnet": 87, "creation": [1, 69], "criteria": 1, "critic": [0, 1, 53, 56, 69, 77, 82, 87], "crucial": [0, 1, 24, 31, 44, 53, 56, 69, 87], "crv3": [0, 56], "cryptocurr": 53, "cryptograph": [0, 1, 53, 56, 87], "cuda": [0, 29, 42, 56, 89, 91, 92], "cudasolv": 91, "cumul": 53, "curl": 88, "curr_block": 91, "curr_block_num": 91, "curr_diff": 91, "currenc": 76, "current": [0, 1, 6, 53, 56, 61, 69, 75, 87, 91, 96, 97], "current_block": 53, "current_tim": 75, "current_time_n": 75, "custom": [1, 7, 53, 69, 72, 79, 81], "custom_logger_method_stack_level": 82, "custom_synaps": 69, "customiz": 1, "customsynaps": 69, "cutoff": 17, "d": [24, 53, 70, 73, 78, 87], "dai": [4, 5], "daili": [4, 5], "data": [0, 1, 2, 6, 7, 10, 13, 14, 16, 20, 21, 22, 24, 31, 44, 51, 53, 55, 56, 69, 70, 72, 85, 87, 91, 94, 96, 98], "data_typ": [31, 44], "databas": 96, "dataclass": [0, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 18, 19, 20, 56, 72], "date": [0, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 56, 79, 87, 97], "date_format": 78, "datefmt": 79, "datetim": [0, 56], "de": 82, "deal": 1, "debug": [69, 77, 82, 83], "decai": 17, "deceiv": 1, "decentr": [0, 1, 31, 44, 53, 56, 69, 87], "decis": [0, 53, 56], "decod": [0, 1, 2, 6, 7, 8, 12, 15, 16, 20, 21, 22, 56, 69, 72, 85, 96], "decode_account_id": 21, "decode_account_id_list": 15, "decode_hex_identity_dict": 85, "decode_metadata": 21, "decode_revealed_commit": 21, "decode_revealed_commitment_with_hotkei": 21, "decode_scale_valu": 96, "decor": 91, "decreas": [0, 25, 36, 50, 56], "decrease_take_extrins": [34, 48], "decrypt": [0, 56, 72, 85], "decrypted_data": 72, "deepcopi": 53, "deeper": [0, 56, 87], "def": [1, 69], "default": [0, 1, 2, 21, 23, 24, 25, 26, 28, 29, 31, 32, 33, 34, 36, 38, 42, 44, 46, 47, 48, 50, 51, 53, 54, 56, 61, 69, 72, 73, 75, 76, 79, 82, 83, 85, 87, 91, 92, 93, 97, 98], "default_endpoint": 54, "default_log_backup_count": 78, "default_log_file_nam": 78, "default_log_format": 79, "default_max_rotating_log_file_s": 78, "default_network": [53, 54], "default_trace_format": 79, "default_verifi": 1, "defaultconfig": 23, "defaultdict": 23, "defaultmunch": 23, "defin": [0, 1, 2, 6, 10, 20, 21, 53, 56, 69, 79, 81, 85, 87, 99], "definit": 78, "deiniti": 82, "delai": 1, "deleg": [0, 4, 5, 25, 34, 48, 53, 56, 61, 87, 99], "delegate_info": [7, 99], "delegate_info_lit": [7, 99], "delegate_ss58": 5, "delegatedinfo": [4, 21], "delegateinfo": [0, 4, 5, 21, 56], "delegateinfobas": 4, "delegateinfolit": 5, "delegateliteinfo": 5, "delegatetaketoohigh": [0, 25, 56], "delegatetaketoolow": [0, 25, 56], "delegatetxratelimitexceed": [0, 25, 56], "delta": [1, 75], "dendrit": [1, 25, 52, 69, 83, 93, 99], "dendrite_default_error": 24, "dendrite_error_map": 24, "dendrite_hotkei": 69, "dendrite_inst": 24, "dendritemixin": 24, "denot": 53, "depend": 2, "deposit": [0, 35, 49, 56], "deprec": [76, 83, 97], "deregister_primary_logg": 82, "deriv": [10, 21], "describ": [0, 37, 39, 56, 79], "descript": [0, 1, 3, 18, 29, 42, 56, 69], "deseri": [24, 53, 55, 69, 70, 93], "deserialized_synaps": 69, "design": [0, 1, 24, 55, 56, 69, 83], "desir": [69, 82], "dest": [0, 35, 49, 56, 87], "destin": [0, 28, 35, 37, 41, 45, 49, 56, 85, 87, 98], "destination_coldkey_ss58": [0, 28, 41, 56], "destination_hotkei": [0, 28, 41, 56], "destination_hotkey_ss58": [0, 56], "destination_netuid": [0, 28, 41, 56], "destination_pric": [0, 56], "destination_subnet_pric": [0, 56], "detail": [0, 1, 53, 56, 69, 87, 96], "detect": 69, "determin": [0, 1, 24, 53, 56, 69, 73, 80, 85], "determine_block_hash": [0, 56, 61], "determine_chain_endpoint_and_network": 85, "dev_id": [0, 29, 42, 56, 89, 91, 92], "develop": [1, 55, 69, 100], "devic": [0, 29, 42, 56, 89, 91, 92], "dict": [0, 1, 2, 4, 8, 9, 10, 11, 12, 14, 16, 19, 21, 23, 24, 31, 44, 53, 54, 55, 56, 69, 70, 73, 79, 85, 87, 91], "dictionari": [0, 1, 2, 9, 11, 21, 23, 25, 53, 55, 56, 69, 70, 73, 80, 85, 87], "did": [29, 30, 31, 32, 35, 36, 42, 43, 44, 45, 46, 49, 50], "diff": 91, "differ": [0, 1, 6, 23, 24, 41, 53, 56, 69, 75, 76, 82, 89, 91], "difficulti": [0, 10, 17, 19, 56, 66, 87, 91, 92], "digit": [1, 53, 69], "dir": 53, "dir_path": 53, "direct": [0, 53, 56], "directli": [0, 24, 55, 56, 69], "directori": 53, "disabl": [0, 56, 61, 82, 83, 87], "disable_debug": 82, "disable_info": 82, "disable_log": 82, "disable_third_party_logg": 82, "disable_trac": 82, "disable_warn": 82, "disallow": 1, "discord": [0, 3, 18, 29, 42, 56], "discoveri": [0, 56], "disk": 53, "dispatch": 1, "distinguish": 53, "distribut": [0, 53, 56, 69, 87], "divers": [0, 56], "dividend": [10, 11, 12, 20, 53], "do": [0, 1, 56], "do_block_step": 87, "do_commit_weight": [37, 39], "do_serve_axon": [31, 44, 87], "do_serve_prometheu": 87, "do_set_weight": 87, "do_transf": 87, "docstr": 53, "document": [0, 56, 99], "doe": [0, 1, 25, 56, 69, 72, 89, 91], "does_hotkey_exist": [0, 56, 68], "doesn": [0, 1, 25, 53, 56, 82], "don": 0, "doubl": 87, "down": [0, 1, 56], "drain": 16, "drand": [0, 56, 72], "dtype": 70, "due": 1, "dummy_input": 69, "dump": 72, "duplic": [0, 25, 56], "duplicatechild": [0, 25, 56], "durat": [0, 24, 26, 38, 56, 69], "dure": [0, 1, 17, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 56, 69, 72, 87, 91], "dust": [0, 56], "dynam": [0, 1, 6, 53, 56, 87], "dynamic_info": [7, 99], "dynamicinfo": [0, 6, 21, 56], "e": [0, 2, 9, 13, 29, 31, 42, 44, 53, 56, 69, 87], "e29ce36fec1a": 69, "each": [0, 1, 21, 24, 32, 36, 37, 39, 46, 50, 51, 53, 56, 69, 72, 73, 82, 87, 91], "earn": [0, 53, 56], "easi": 69, "easy_import": [85, 99], "econom": [0, 56], "ecosystem": [0, 53, 56, 69, 87], "ed25519": [35, 49], "effect": [0, 1, 56], "effici": [0, 1, 24, 53, 56, 69, 87], "effort": [0, 56], "either": [0, 56, 76, 79, 88], "element": [0, 10, 24, 26, 29, 38, 42, 53, 56, 70], "elig": [0, 56], "ellipsi": 69, "els": 85, "email": [29, 42], "embodi": 53, "emiss": [0, 6, 10, 11, 12, 16, 20, 33, 47, 53, 56], "emission_histori": 20, "emission_valu": 19, "emit": [0, 56], "emoji": 79, "emoji_map": 79, "emploi": 53, "empti": [0, 56, 70, 73, 87], "enabl": [0, 1, 17, 28, 31, 36, 41, 44, 46, 50, 53, 56, 61, 69, 82, 83, 87], "enable_consol": 82, "enable_debug": 82, "enable_default": 82, "enable_info": 82, "enable_third_party_logg": 82, "enable_trac": 82, "enable_warn": 82, "encapsul": [1, 24, 55, 69], "encod": [0, 7, 9, 16, 21, 56, 69, 72, 85], "encode_param": [0, 56, 61], "encoded_data": 21, "encompass": 69, "encount": [1, 70], "encourag": 53, "encrypt": [1, 72], "encrypted_data": 72, "end": [1, 14, 24, 69], "endpoint": [0, 1, 2, 24, 31, 44, 56, 61, 69, 73, 85, 87, 88], "endpoint_url": [85, 88], "enforc": 69, "enhanc": [0, 31, 44, 53, 56, 69], "enough": 25, "ensur": [0, 1, 24, 37, 39, 53, 55, 56, 69, 81, 82, 83, 87, 91], "enter": [0, 29, 30, 31, 32, 35, 36, 37, 42, 43, 44, 45, 46, 49, 50, 56], "entir": [0, 24, 56], "entiti": [1, 53], "entri": [0, 53, 56, 96], "entrypoint": 54, "enum": [10, 21], "enumer": [10, 21], "environ": [0, 1, 53, 56, 69, 92], "epoch": [0, 56], "equal": [89, 91], "equip": 1, "err_msg": 87, "error": [0, 1, 2, 23, 24, 31, 33, 34, 37, 39, 44, 47, 48, 52, 53, 56, 61, 69, 70, 72, 77, 82, 85, 87, 89, 91, 92, 97, 99], "error_messag": 85, "especi": [1, 24, 69], "essenti": [0, 1, 24, 53, 56, 69, 87], "establish": [0, 1, 24, 56, 69], "estim": [0, 6, 56, 87], "etc": [1, 55, 61, 69], "evalu": [1, 73], "event": [24, 55, 82, 91], "event_loop_is_run": 24, "everi": 69, "everyth": 53, "evolut": 53, "exact": 53, "examin": 53, "exampl": [1, 69, 70, 72, 87], "examplerout": 69, "examplesynaps": 69, "exce": [0, 28, 41, 56], "exceed": [0, 25, 36, 46, 50, 56], "except": [0, 1, 24, 56, 70, 82, 85, 87], "exchang": [1, 53, 69], "exclud": 98, "exclude_quantil": 98, "execut": [0, 1, 25, 53, 56, 71, 87], "executor": 71, "exhaust": 24, "exist": [0, 1, 24, 25, 56, 85, 89, 91], "existenti": [0, 35, 49, 56], "exit": [1, 25], "expect": [1, 24, 53, 55], "expir": [0, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 56, 87], "explicitli": [23, 53, 55, 69, 70], "explor": 85, "exponenti": [0, 56], "expos": 85, "express": 72, "extend": 1, "extent": [0, 56], "extern": [1, 24, 88], "external_ip": [1, 24, 88], "external_port": 1, "externalipnotfound": 88, "extract": [1, 24, 55], "extract_response_json": 55, "extrem": 1, "extrins": [0, 52, 56, 61, 85, 99], "extrinsicnotfound": 25, "extrinsics_subpackag": 83, "f": 85, "face": [0, 1, 56, 88], "facilit": [0, 1, 53, 56, 69, 87], "factor": [0, 56], "factori": [0, 53], "fail": [0, 1, 2, 21, 24, 25, 29, 30, 31, 32, 33, 35, 36, 37, 42, 43, 44, 45, 46, 47, 49, 50, 56, 69, 71, 72, 88, 97], "failed_verif": 69, "failur": [0, 1, 26, 29, 31, 34, 38, 42, 44, 48, 56, 69], "fallback": [0, 24, 56, 61, 87], "fallback_endpoint": [0, 56, 61, 87], "fals": [0, 1, 6, 11, 12, 21, 23, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 56, 61, 69, 70, 72, 79, 83, 85, 87, 89, 91, 93], "fast": [0, 56, 72], "fast_config": 1, "fast_serv": 1, "fastapi": 1, "fastapithreadedserv": 1, "feasibl": 24, "featur": [0, 1, 56, 69, 83], "fee": [0, 56, 87], "fetch": [0, 5, 31, 44, 56, 98], "field": [1, 2, 4, 55, 67, 69, 70], "file": [23, 53], "filenam": [78, 79], "fill": [1, 24], "filter": [0, 1, 56], "filter_for_netuid": [0, 56], "filter_netuids_by_registered_hotkei": [0, 56, 68], "final": [0, 1, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 56, 69, 91], "financi": [0, 56, 87], "find": [51, 69], "fingerprint": 69, "finish": [24, 71, 91], "finished_queu": 91, "finnei": [53, 54, 61, 73, 85], "finney_entrypoint": 54, "finney_test_entrypoint": 54, "first": [0, 1, 6, 23, 24, 26, 29, 32, 38, 42, 46, 53, 56, 69], "fix": [0, 56, 76, 87], "fixed_to_float": 76, "fixedpoint": [56, 76], "flag": [0, 1, 2, 17, 24, 29, 31, 32, 34, 35, 36, 42, 44, 45, 46, 48, 49, 50, 53, 56, 73, 79, 85], "flexibl": [0, 1, 56], "float": [0, 1, 4, 5, 6, 10, 11, 12, 17, 19, 20, 24, 26, 28, 30, 32, 36, 37, 38, 41, 43, 45, 46, 50, 53, 56, 69, 72, 75, 76, 85, 87, 91, 98], "float32": [0, 26, 30, 37, 38, 43, 45, 56, 98], "float_to_u64": 85, "floattensor": [0, 26, 37, 38, 45, 56, 98], "flow": [1, 69], "fluctuat": [0, 56], "fmt": 79, "fn": [53, 71], "focus": [0, 56, 87], "follow": [31, 44, 69, 73, 82], "forbidden": 69, "forc": [87, 91], "force_register_neuron": 87, "force_set_bal": 87, "forev": [0, 56, 61, 87], "form": [1, 53, 55, 69, 70, 72, 88], "format": [0, 1, 24, 31, 44, 53, 55, 56, 69, 73, 81, 85, 87, 88, 99], "format_error_messag": 85, "formatt": [79, 81, 82], "formatted_endpoint_url": 88, "formattim": 79, "forward": [1, 24], "forward_class_typ": 1, "forward_custom": 1, "forward_fn": [1, 25], "forward_my_synaps": 1, "forward_my_synapse_2": 1, "foster": 1, "found": [0, 1, 25, 51, 56, 87, 91, 92], "foundat": 1, "frac_bit": 76, "frame": [0, 56], "framework": [1, 24, 69, 82, 83], "frequent": [0, 56], "fresh": 1, "friendli": [1, 37, 39], "fro": 82, "from": [0, 1, 2, 9, 10, 11, 15, 16, 21, 24, 28, 31, 32, 34, 35, 36, 41, 44, 46, 48, 49, 50, 53, 55, 56, 61, 69, 70, 71, 72, 73, 76, 77, 82, 85, 87, 88, 91, 93, 98], "from_dict": [8, 14, 16], "from_error": 25, "from_float": 76, "from_head": 69, "from_neuron_info": 2, "from_parameter_dict": [2, 9], "from_rao": 76, "from_scale_encod": 21, "from_scale_encoding_using_type_str": 21, "from_str": 2, "from_tao": 76, "from_vec_u8": 22, "from_weights_bonds_and_neuron_lit": 11, "full": [0, 28, 41, 53, 56], "full_address": 1, "func": [5, 91, 97], "function": [7, 25, 55, 56, 81, 82, 87, 93, 96], "fund": [0, 35, 49, 56, 87], "fundament": [0, 1, 53, 56, 69, 87], "further": 1, "futur": [31, 44, 53, 71], "g": [2, 9, 13, 29, 42, 69, 87], "gain": [0, 56], "gather": 1, "gener": [0, 1, 10, 21, 24, 55, 56, 80, 91, 96, 98, 99], "generate_weight_hash": 98, "genericcal": [0, 56], "genericmetadatavers": 96, "genuin": 1, "get": [0, 23, 24, 53, 56, 67, 69, 71, 72, 79, 82, 85, 91], "get_all_commit": [0, 56, 58], "get_all_metagraphs_info": [0, 56, 62], "get_all_neuron_certif": [0, 56, 63], "get_all_revealed_commit": [0, 56, 58], "get_all_subnets_info": [0, 56, 66], "get_and_save_latest_vers": 97, "get_async_subtensor": 0, "get_bal": [0, 56, 68, 87], "get_block_hash": [0, 56, 57, 87], "get_children": [0, 56, 66, 68], "get_children_pend": [0, 56, 66, 68], "get_commit": [0, 56, 58, 87], "get_config": 82, "get_cpu_count": 91, "get_current_block": [0, 53, 56, 57, 87], "get_current_weight_commit_info": [0, 56, 58, 66], "get_deleg": [0, 56, 59, 68], "get_delegate_by_hotkei": [0, 56, 59, 68], "get_delegate_ident": [0, 56, 57, 59, 61], "get_delegate_tak": [0, 56, 59, 68], "get_existential_deposit": [0, 56, 57], "get_explorer_url_for_network": 85, "get_external_ip": 88, "get_formatted_ws_endpoint_url": 88, "get_hash": 85, "get_hotkey_own": [0, 56, 68], "get_hotkey_stak": [0, 56, 65, 68], "get_human_read": 84, "get_hyperparamet": [0, 56, 66], "get_level": 82, "get_max_logger_name_length": 80, "get_metadata": [31, 44], "get_metagraph_info": [0, 56, 62], "get_minimum_required_stak": [0, 56, 57, 65, 68], "get_netuids_for_hotkei": [0, 56, 68], "get_neuron_certif": [0, 56, 63], "get_neuron_for_pubkey_and_subnet": [0, 56, 66], "get_next_epoch_start_block": [0, 56, 66], "get_null_neuron": [11, 12], "get_old_stak": 51, "get_owned_hotkei": [0, 56, 68], "get_queu": 82, "get_required_field": 69, "get_revealed_commit": [0, 56, 58], "get_revealed_commitment_by_hotkei": [0, 56, 58], "get_save_dir": 53, "get_siz": 69, "get_stak": [0, 56, 65, 68], "get_stake_add_fe": [0, 56, 65, 68], "get_stake_for_coldkei": [0, 56, 65, 68], "get_stake_for_coldkey_and_hotkei": [0, 56, 65, 68], "get_stake_for_hotkei": [0, 56, 68], "get_stake_info_for_coldkei": [0, 56, 65, 68], "get_stake_movement_fe": [0, 56, 65, 68], "get_status_messag": 91, "get_subnet": [0, 56, 66], "get_subnet_burn_cost": [0, 56, 66], "get_subnet_hyperparamet": [0, 56, 66], "get_subnet_owner_hotkei": [0, 56, 66], "get_subnet_reveal_period_epoch": [0, 56, 66], "get_subnet_validator_permit": [0, 56, 66], "get_timestamp": [0, 56, 57], "get_total_s": 69, "get_total_subnet": [0, 56, 66], "get_transfer_fe": [0, 56, 68, 87], "get_uid_for_hotkey_on_subnet": [0, 56, 66], "get_unit": 76, "get_unstake_fe": [0, 56, 65, 68], "get_vote_data": [0, 56, 57], "getdefaultencod": 85, "github": [0, 3, 29, 42, 56], "github_repo": [18, 29, 42], "give": [71, 76, 77], "given": [0, 1, 21, 26, 28, 29, 30, 31, 37, 38, 42, 43, 44, 45, 51, 53, 55, 56, 69, 70, 71, 76, 85, 87, 89, 91, 93, 98], "global": [0, 56], "glorifi": 69, "go": 1, "goe": [29, 42], "govern": [0, 53, 56, 87], "grace": [0, 56], "gracefulli": 1, "graph": 53, "great": 1, "greater": [53, 98], "growth": [0, 56], "grpc": 1, "guard": 1, "h": [78, 84], "ha": [0, 1, 12, 24, 25, 53, 55, 56, 87, 91], "halt": 1, "handl": [0, 1, 6, 20, 24, 37, 39, 55, 56, 69, 72, 82, 88, 98], "handler": [1, 81, 82, 85], "hash": [0, 1, 31, 37, 39, 44, 56, 69, 85, 87, 91, 92, 94, 98], "hash_rat": 91, "hash_rate_perpetu": 91, "hash_valu": 69, "hasher": [95, 99], "hasn": 1, "have": [0, 1, 25, 56, 69, 71], "header": [1, 24, 25, 55, 69], "header_s": 69, "height": [0, 56], "held": 53, "hello": 69, "help": [0, 1, 23, 25, 56, 61, 69, 70, 71, 73, 76, 82, 85, 87, 88, 97], "helper": [0, 21, 51, 56, 69, 73, 76, 81, 94, 99], "here": 24, "hex": [0, 22, 56, 96], "hex_to_byt": 85, "hexadecim": [69, 85], "high": [0, 17, 25, 56], "higher": [53, 96], "histor": [24, 53], "history_block": 53, "hit": [0, 56], "hold": [1, 53, 82], "holder": [0, 56], "home_dir": 54, "hop": [0, 56], "host": [1, 31, 44], "hot": [0, 56], "hotkei": [0, 1, 2, 4, 5, 10, 11, 12, 16, 20, 21, 24, 25, 28, 30, 31, 32, 34, 36, 37, 41, 43, 44, 45, 46, 48, 50, 51, 53, 56, 61, 68, 69, 73, 85, 87, 91, 92], "hotkey_byt": 91, "hotkey_ss58": [0, 4, 16, 28, 32, 34, 36, 41, 46, 48, 50, 51, 56], "hotkey_ss58_address": [0, 56], "hotkeyaccountnotexist": [0, 25, 56], "how": [0, 1, 6, 53, 56], "howev": [24, 53], "hparam": 53, "http": [1, 24, 54, 69], "human": [1, 84], "hyperparam": 98, "hyperparamet": [0, 17, 56], "i": [0, 1, 2, 4, 5, 6, 11, 12, 15, 17, 21, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 61, 69, 70, 71, 72, 73, 76, 79, 82, 83, 85, 87, 88, 89, 91, 92, 93, 96, 97, 98, 100], "id": [0, 1, 4, 21, 24, 26, 29, 38, 42, 46, 50, 56, 69, 89, 91, 92, 98], "ideal": 6, "ident": [0, 3, 10, 18, 25, 29, 42, 53, 56, 69, 85, 94], "identif": [53, 69], "identifi": [0, 1, 11, 12, 24, 31, 34, 37, 39, 44, 48, 51, 53, 56, 69, 87, 98], "identityerror": 25, "ignor": 24, "ij": 53, "imag": 3, "immedi": [0, 1, 56], "immun": 17, "immunity_period": [0, 10, 17, 19, 56, 66], "immunityperiod": [0, 10, 56, 87], "immut": [0, 56, 87], "impact": [0, 28, 41, 53, 56], "implement": [1, 23, 24, 55, 69, 71, 91, 96], "impli": 53, "import": [0, 1, 23, 24, 53, 56, 61, 69, 72, 77], "importerror": 53, "improv": 69, "inact": 53, "incent": [0, 10, 11, 12, 20, 53, 56], "incentiv": 53, "includ": [0, 1, 2, 7, 11, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 55, 56, 69, 72, 73, 79, 81, 83, 87], "inclus": [0, 26, 28, 29, 30, 31, 32, 34, 35, 36, 38, 41, 42, 43, 44, 45, 46, 48, 49, 50, 56], "incom": [0, 1, 56], "incorrect": 85, "increas": [0, 1, 25, 28, 41, 46, 56, 69], "increase_take_extrins": [34, 48], "inde": 1, "index": 14, "indexerror": 72, "indic": [0, 1, 11, 12, 17, 24, 25, 26, 29, 31, 38, 42, 44, 53, 56, 69, 82, 87], "indispens": 69, "individu": [0, 24, 53, 56, 87], "infer": 53, "inflat": [0, 56, 87], "influenc": [0, 53, 56], "info": [0, 1, 2, 6, 8, 9, 10, 19, 20, 54, 77, 82, 83], "info_bas": [2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 99], "info_dictionari": 85, "infobas": [2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20], "infodict": 87, "inform": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 18, 22, 24, 29, 31, 42, 44, 51, 53, 56, 69, 82, 85, 87, 91, 92], "infrastructur": [0, 53, 56], "inherit": [69, 73], "init": 53, "initarg": 71, "initi": [0, 1, 23, 24, 25, 29, 31, 32, 33, 35, 44, 46, 47, 53, 55, 56, 61, 70, 71, 72, 73, 76, 79, 82, 85, 87, 88, 97], "input": [0, 1, 21, 24, 53, 55, 56, 69, 70, 91, 98], "input_": 21, "input_obj": 69, "insight": [0, 56, 87], "inspect": 1, "instal": 53, "install_signal_handl": 1, "instanc": [0, 1, 2, 9, 11, 12, 22, 24, 26, 28, 29, 31, 33, 36, 37, 38, 39, 41, 42, 44, 47, 50, 53, 55, 56, 61, 69, 71, 72, 80, 82, 87, 89, 96, 98], "instanti": [0, 53, 55], "instead": [1, 55, 87, 97], "instrument": [0, 53, 56], "insuffici": [0, 56], "int": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 56, 69, 70, 72, 73, 75, 76, 79, 80, 82, 84, 85, 87, 88, 89, 91, 92, 93, 97, 98], "int64": [0, 26, 30, 37, 38, 43, 45, 56, 92, 98], "int_to_ip": 88, "int_val": 88, "intact": 1, "integ": [0, 56, 69, 76, 88, 98], "integr": [0, 1, 53, 56, 69, 83, 87], "intellig": [0, 1, 53, 56], "intend": [55, 69], "intent": 1, "inter": [0, 53, 56], "interact": [0, 1, 24, 28, 29, 33, 37, 39, 42, 47, 53, 56, 61, 69, 76, 87], "intercept": 1, "interconnect": 0, "interconnected": 53, "interfac": [0, 1, 29, 37, 39, 42, 53, 55, 56], "interfer": 1, "intermediari": 1, "intern": [1, 24, 31, 44, 55], "internalservererror": 25, "interneuron": [0, 56], "interpret": [24, 36, 69], "interv": 17, "invalid": [25, 70], "invalidchild": [0, 25, 56], "invalidconfigfil": 23, "invalidrequestnameerror": 25, "invers": 98, "invest": [0, 53, 56], "invok": 1, "involv": [0, 1, 53, 56, 69], "ip": [1, 2, 9, 13, 24, 31, 44, 53, 69, 73, 87, 88], "ip__str__": 88, "ip_address": 69, "ip_info": [7, 99], "ip_str": [2, 88], "ip_to_int": 88, "ip_typ": [2, 9, 13, 73, 87, 88], "ip_vers": 88, "ipifi": 88, "ipinfo": [9, 21], "ipv4": [2, 9, 13, 88], "ipv6": [2, 9, 13, 88], "is_async": 61, "is_blacklist": 69, "is_dynam": 6, "is_empti": 71, "is_failur": 69, "is_fast_block": [0, 56, 57], "is_hotkey_deleg": [0, 56, 59, 68], "is_hotkey_regist": [0, 56, 68], "is_hotkey_registered_ani": [0, 56, 68], "is_hotkey_registered_on_subnet": [0, 56, 66], "is_nul": [11, 12], "is_opt": 21, "is_regist": 16, "is_run": 1, "is_serv": 2, "is_set": 23, "is_stal": 91, "is_stale_async": 91, "is_subnet_act": [0, 56, 66], "is_success": 69, "is_timeout": 69, "is_valid_bittensor_address_or_public_kei": 85, "is_valid_ss58_address": 85, "is_vec": 21, "iso8601": 79, "issu": [1, 24], "item": [69, 94], "iter": [0, 24, 53, 56, 69, 70, 73, 80, 87], "its": [0, 1, 2, 24, 34, 35, 48, 49, 53, 56, 69, 82, 87, 91], "itself": [1, 69], "j": 53, "json": [1, 2, 24, 54, 55, 69], "json_respons": 24, "json_str": 2, "jsondecodeerror": 2, "jsonrespons": 1, "judgment": 53, "just": [0, 53, 56, 61, 87], "k": [6, 70, 73, 87], "kappa": [10, 17, 19, 87], "keccak": 92, "keccak256": [31, 44], "keep": [0, 35, 41, 49, 56, 69], "keep_al": [0, 35, 49, 56], "kei": [0, 1, 2, 11, 15, 21, 26, 30, 35, 37, 38, 39, 43, 45, 49, 53, 56, 69, 70, 73, 85, 87, 94, 96, 98], "kept": 97, "keyfil": [0, 56, 83, 85], "keyfileerror": [0, 56, 85], "keypair": [0, 24, 56], "keyword": [55, 69, 70, 73, 87, 93], "know": [0, 1, 56, 87], "known": [0, 56, 85], "kwarg": [24, 55, 70, 71, 73, 79, 82, 87, 93], "lack": 88, "larg": 24, "larger": 1, "last": [0, 1, 11, 12, 53, 56], "last_drand_round": [0, 56, 57], "last_step": [6, 10, 53], "last_upd": [10, 11, 12, 20, 53], "laststep": 10, "lastupd": 10, "latenc": 69, "latent": 54, "latent_lite_entrypoint": 54, "later": 53, "latest": [0, 53, 56, 87, 97], "latest_block_path": 53, "layer": [0, 1, 53, 56], "lazi": 91, "lazili": 24, "lazyloadedtorch": 91, "lead": 1, "leakag": 24, "learn": [0, 53, 56, 69], "least": 1, "ledger": 53, "left": 88, "legaci": [83, 91], "legacy_method": 61, "legacy_torch_api_compat": 91, "length": [31, 44, 69, 80], "less": 53, "level": [0, 1, 17, 53, 56, 61, 67, 77, 79, 82, 83, 96], "levelnam": [78, 79], "leverag": [53, 82], "librari": 82, "lifecycl": 1, "lifespan": 69, "light": 53, "lighter": 5, "lightweight": 0, "like": [0, 1, 23, 24, 56, 69, 79], "limit": [0, 17, 25, 56, 91, 92, 98], "line": [0, 1, 56, 73, 89, 91], "lineno": [78, 79], "link": [0, 1, 16, 29, 42, 56], "liquid": 17, "liquid_alpha_en": [10, 17], "liquidalphaen": 10, "list": [0, 1, 4, 5, 8, 10, 11, 12, 14, 15, 20, 21, 23, 24, 26, 29, 30, 32, 36, 37, 38, 39, 42, 43, 45, 46, 50, 51, 53, 56, 61, 69, 70, 73, 85, 87, 89, 91, 93, 96, 98], "list_from_dict": 8, "list_from_vec_u8": 12, "listen": [1, 82], "lite": [0, 11, 53, 54, 56, 87], "liter": 85, "live": 53, "load": [0, 1, 23, 53, 56, 72, 91], "load_from_path": 53, "local": [1, 24, 53, 54, 73, 85, 87, 88], "local_entrypoint": 54, "local_synaps": 24, "localhost": 61, "locat": 53, "lock": [0, 16, 56, 91], "log": [0, 1, 23, 24, 29, 42, 56, 61, 77, 78, 79, 80, 81, 82, 83, 85, 87, 91, 92], "log_and_handle_error": 1, "log_cuda_error": 92, "log_except": 24, "log_format": 79, "log_level": 1, "log_level_color_prefix": 79, "log_no_torch_error": 91, "log_trace_format": 79, "log_verbos": [0, 29, 42, 56, 61, 73, 87, 89, 91], "logger": [71, 77, 80, 81, 82], "logging_dir": 82, "loggingconfig": 82, "loggingmachin": [77, 81, 99], "logic": [1, 32, 55, 69, 72], "logrecord": 79, "long": [0, 56], "longer": 24, "longest": 80, "longtensor": [0, 26, 37, 38, 45, 56, 98], "loop": 24, "low": [0, 17, 25, 56], "lower": 98, "lynch": 72, "m": 78, "machin": [0, 1, 53, 56, 69], "made": [0, 17, 25, 56], "mai": [53, 87], "main": [0, 1, 56, 72, 85, 91], "mainli": [0, 53, 56, 61, 87], "maintain": [0, 1, 53, 56, 69, 83, 87], "mainten": 1, "major": 53, "make": [0, 1, 24, 35, 49, 53, 56, 69, 72, 87], "malici": 1, "manag": [0, 1, 23, 24, 53, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 68, 69, 80, 82, 87], "mani": [0, 25, 56], "manipul": 1, "manner": [1, 91], "map": [0, 4, 11, 12, 56, 70, 73, 85, 87, 88, 96], "mark": 1, "market": [0, 56], "match": [1, 51, 76, 98], "math": 53, "matrix": 53, "max": [1, 25, 31, 44, 98], "max_allowed_attempt": [0, 29, 42, 56], "max_allowed_valid": 19, "max_burn": [10, 17], "max_difficulti": [10, 17], "max_int_weight": 98, "max_length": 80, "max_n": 19, "max_regs_per_block": [10, 17], "max_retri": [0, 56], "max_uid": [10, 53], "max_valid": [10, 17], "max_valu": 98, "max_weight_limit": [0, 17, 19, 56, 66, 98], "max_weights_limit": 10, "max_work": [1, 71], "maxattemptsexcept": 25, "maxburn": 10, "maxdifficulti": 10, "maximum": [0, 17, 24, 28, 29, 36, 41, 42, 46, 50, 56, 69, 71, 98], "maxregsperblock": 10, "maxsiz": 71, "maxsuccessexcept": 25, "maxuid": 10, "maxvalid": 10, "maxweightslimit": [0, 10, 56], "mean": [0, 1, 56, 69, 89, 91], "measur": [0, 53, 56], "mechan": [0, 1, 33, 47, 53, 56, 69, 72, 87], "meet": 1, "member": [0, 56], "merg": [23, 24], "merkl": 96, "messag": [0, 1, 21, 24, 25, 26, 29, 31, 33, 34, 38, 42, 44, 47, 48, 56, 69, 77, 78, 79, 82, 85, 91], "met": 25, "metadata": [0, 11, 12, 21, 25, 29, 31, 42, 44, 53, 56, 69, 87, 96], "metadata_storage_funct": 96, "metadataerror": [25, 31, 44], "metagraph": [0, 24, 52, 56, 61, 83, 98, 99], "metagraph_info": [7, 99], "metagraph_state_dict_ndarray_kei": 53, "metagraphinfo": [0, 10, 21, 56], "metagraphinfoemiss": [10, 53], "metagraphinfoparam": [10, 53], "metagraphinfopool": [10, 53], "metagraphmixin": 53, "method": [0, 1, 6, 20, 24, 31, 37, 39, 44, 53, 55, 56, 61, 69, 71, 73, 76, 79, 82, 87, 91], "metric": [53, 69], "middlewar": 1, "middleware_cl": 1, "might": 1, "millifi": 84, "millisecond": 79, "min_allowed_weight": [0, 10, 17, 19, 56, 66, 98], "min_burn": [10, 17], "min_difficulti": [10, 17], "min_required_stak": 87, "minallowedweight": [0, 10, 56], "minburn": 10, "mindifficulti": 10, "mine": [0, 56], "miner": [23, 53], "miners_dir": 54, "minimum": [0, 17, 56, 87, 98], "mismatch": 1, "ml": 69, "mock": [0, 56, 61, 73, 85, 99], "mock_subpackag": 83, "mockchainst": 87, "mockmapresult": 87, "mocksubtensor": 87, "mocksubtensorst": 87, "mocksubtensorvalu": 87, "mocksystemst": 87, "modal": 19, "mode": [0, 56, 82], "model": [53, 55, 69, 70], "model_config": [55, 69, 70], "model_dump_json": 69, "model_validate_json": 69, "modern": 1, "modif": 69, "modifi": [21, 55, 96], "modul": [7, 81], "module_nam": [0, 56, 87], "monitor": 69, "monoton": 69, "more": [0, 29, 42, 53, 56, 84, 89, 91], "most": [0, 53, 56, 87], "mostli": [0, 56], "move": [0, 17, 28, 41, 56], "move_stak": [0, 27, 40, 56, 60, 99], "move_stake_extrins": [28, 41], "movement": [0, 56], "moving_pric": [6, 10], "movingpric": 10, "msg": [0, 37, 39, 56, 82, 85], "much": [6, 53], "multi": 1, "multipl": [0, 1, 24, 53, 56, 89, 91], "multipli": 17, "multiprocess": 91, "munch": 23, "must": [0, 30, 33, 37, 43, 45, 47, 53, 55, 56, 82, 85, 88, 98], "mutat": 1, "mutual": [0, 56], "my_axon": 1, "my_config": 1, "my_wallet": 1, "mycustomsynaps": 1, "mysynaps": [1, 69], "n": [53, 84, 85, 98], "n_block": 72, "nai": 14, "name": [0, 1, 3, 10, 21, 24, 25, 29, 42, 53, 55, 56, 69, 70, 71, 72, 73, 78, 79, 80, 82, 87, 96], "namedtupl": 82, "namespac": 23, "nanosecond": 75, "nanoseconds_in_second": 75, "nativ": 69, "natur": [0, 24, 53, 56], "ndarrai": [0, 26, 30, 37, 38, 43, 45, 53, 56, 70, 98], "necessari": [1, 24, 53, 69], "need": [0, 1, 21, 56, 69, 72], "nest": [10, 23], "netuid": [0, 1, 4, 6, 10, 11, 12, 16, 19, 20, 24, 26, 29, 30, 31, 32, 33, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 50, 51, 53, 56, 73, 76, 87, 89, 91, 98], "network": [0, 1, 2, 4, 6, 7, 11, 12, 20, 24, 25, 26, 28, 29, 30, 31, 37, 38, 39, 42, 43, 44, 51, 53, 54, 55, 56, 61, 69, 73, 85, 87, 89, 91, 93, 98, 99], "network_explorer_map": 54, "network_map": [54, 85], "network_registered_at": [6, 10, 53], "networkregisteredat": 10, "networksad": 87, "neural": 53, "neurip": 53, "neuron": [0, 1, 2, 7, 11, 12, 24, 25, 31, 34, 37, 39, 44, 45, 48, 53, 56, 61, 69, 87, 98, 99], "neuron_for_uid": [0, 56, 63, 87], "neuron_for_uid_lit": 87, "neuron_incent": 53, "neuron_info": [0, 2, 7, 56, 99], "neuron_info_lit": [7, 99], "neuron_lit": 11, "neuron_rank": 53, "neuroninfo": [0, 11, 21, 53, 56, 87], "neuroninfolit": [0, 11, 12, 21, 53, 56, 87], "neurons_lit": [0, 56, 63, 87], "new": [0, 1, 10, 15, 21, 22, 23, 24, 29, 33, 42, 47, 53, 55, 56, 69, 70, 71, 73, 85, 87, 89, 91], "new_coldkei": 15, "newblockev": 91, "next": [0, 1, 56], "nich": [0, 56], "nn": [2, 9, 24, 53], "no_error": 72, "node": [0, 1, 53, 56, 69, 72, 93], "nomin": [0, 4, 5, 25, 34, 48, 56], "nominationerror": 25, "non": [0, 1, 25, 56, 69, 85], "nonassociatedcoldkei": [0, 25, 56], "nonc": [0, 1, 29, 42, 56, 69, 75, 89, 91, 92], "nonce_kei": [0, 56], "nonce_start": 92, "none": [0, 1, 6, 10, 11, 12, 21, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 46, 47, 48, 49, 50, 53, 55, 56, 61, 69, 70, 71, 72, 73, 75, 79, 80, 82, 85, 87, 89, 91, 92, 96, 98], "nontorchmetagraph": 53, "normal": 98, "normalize_max_weight": 98, "notdelegateerror": 25, "note": [0, 31, 44, 56, 72, 87, 88], "notenoughstaketosetchildkei": [0, 25, 56], "notic": 76, "notregisterederror": 25, "notverifiedexcept": 25, "now": [0, 1, 53, 56, 69], "np": [0, 30, 37, 43, 45, 56, 70, 98], "null": [0, 11, 12, 56, 87], "null_entri": 71, "num": 84, "num_neuron": 98, "num_proc": 91, "num_process": [0, 29, 42, 56, 89, 91], "num_uid": [10, 53], "number": [0, 1, 2, 13, 15, 17, 21, 22, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 56, 61, 69, 71, 72, 76, 84, 87, 89, 91, 92, 98], "numer": 1, "numpi": [0, 26, 38, 53, 56, 70, 91, 92, 98], "numpyortorch": 53, "numuid": 10, "obj": 69, "object": [0, 1, 2, 6, 8, 9, 10, 12, 16, 20, 21, 24, 28, 29, 30, 31, 32, 35, 36, 37, 42, 43, 44, 45, 46, 49, 50, 53, 55, 56, 61, 69, 70, 71, 73, 76, 82, 85, 87], "occur": [0, 1, 24, 56], "off": [24, 82, 85], "offer": [0, 1, 24, 56, 87], "offlin": [1, 53], "often": 53, "old": 15, "old_bal": 32, "old_coldkei": 15, "older": 83, "omit": 79, "onc": [0, 56], "one": [0, 1, 23, 24, 28, 31, 41, 44, 53, 56, 70, 71, 73, 79, 87], "ongo": 1, "onli": [0, 1, 24, 53, 55, 56, 69, 70, 72, 82, 87], "open": 24, "opentensor": 54, "oper": [0, 1, 17, 24, 25, 53, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 68, 69, 76, 87, 91, 98], "optim": 69, "option": [0, 1, 11, 12, 15, 21, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 56, 61, 69, 70, 71, 72, 73, 75, 76, 79, 82, 85, 87, 88, 91, 93, 96, 98], "order": [69, 73], "org": 54, "origin": [1, 28, 56, 69, 79], "origin_coldkey_ss58": [0, 56], "origin_hotkei": [0, 28, 41, 56], "origin_hotkey_ss58": [0, 56], "origin_netuid": [0, 28, 41, 56], "origin_pric": [0, 56], "origin_subnet_pric": [0, 56], "other": [0, 1, 11, 23, 24, 53, 56, 61, 69, 71, 80, 87], "otherwis": [0, 24, 28, 29, 31, 37, 39, 42, 44, 56, 69, 71, 85, 87], "our": 71, "out": 1, "outcom": 69, "outlin": 53, "output": [1, 29, 42, 91], "output_in_plac": [0, 29, 42, 56, 89, 91], "over": [4, 5, 24, 53, 69, 91], "overal": [0, 56], "overflow": 25, "overhead": 53, "overload": 69, "overrid": [1, 69, 73, 79, 85], "overridden": [69, 91], "overview": [0, 56, 87], "own": [0, 25, 53, 56, 69], "owner": [0, 4, 5, 41, 56], "owner_coldkei": [6, 10, 53], "owner_hotkei": [6, 10, 53], "owner_ss58": [4, 5, 19], "ownercoldkei": 10, "ownerhotkei": 10, "ownership": [0, 41, 56], "pack": 91, "packag": [69, 82, 93, 97], "page": 99, "pair": [0, 16, 41, 56, 69, 70, 73, 87], "pallet": 96, "paper": 53, "param": [0, 24, 56, 76, 83, 87, 96, 98], "param_nam": [0, 23, 56], "paramet": [0, 1, 2, 5, 6, 8, 9, 10, 11, 14, 15, 16, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 79, 82, 83, 84, 85, 87, 88, 89, 91, 92, 93, 96, 97, 98], "parameter_dict": [2, 9], "parameterdict": [2, 9], "params_encod": 96, "paramwithtyp": [0, 56, 73], "parent": [0, 25, 55, 56], "pars": [1, 24, 25, 55, 69, 70, 72], "parse_headers_to_input": 69, "parser": [1, 23, 61, 71, 73, 82], "part": [0, 1, 6, 53, 56, 69], "parti": 82, "partial": [0, 28, 32, 36, 41, 46, 50, 56], "particip": [0, 1, 53, 56, 87], "particular": [0, 4, 51, 56], "particularli": [0, 53, 56, 69], "pass": [0, 1, 24, 30, 32, 37, 43, 45, 46, 55, 56, 71, 72, 85, 87, 98], "password": [0, 56, 85], "passworderror": [0, 56, 85], "past": 53, "path": [1, 53], "payload": [1, 69, 93], "peer": 53, "penalti": [0, 56], "pend": [0, 56, 71], "pending_alpha_emiss": [6, 10], "pending_root_emiss": [6, 10], "pendingalphaemiss": 10, "pendingchildkei": [0, 56], "pendingrootemiss": 10, "per": [0, 1, 4, 5, 17, 29, 42, 53, 56, 89, 91, 92], "perceiv": [0, 56], "percentag": [0, 4, 5, 6, 34, 36, 46, 48, 50, 56], "perform": [0, 1, 24, 53, 56, 69, 76, 82, 87], "period": [0, 17, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 56, 87], "permit": [0, 11, 12, 25, 53, 56], "persist": 53, "person": 72, "pickl": [53, 72], "piec": 24, "ping": 24, "pipaddress": 54, "pipelin": 1, "pivot": [1, 53, 69], "place": [0, 1, 15, 24, 53, 56, 89, 91], "placehold": [31, 44, 80], "placeholder1": [2, 31, 44, 73, 87], "placeholder2": [2, 31, 44, 73, 87], "plai": [1, 53, 69], "plan": [0, 56, 87], "point": [0, 53, 56, 76, 87], "pool": [1, 6, 10, 53], "popul": [0, 11, 56, 87], "port": [1, 2, 13, 31, 44, 69, 73, 87, 88], "portal": [29, 42], "posit": [1, 55, 69, 70], "possibl": 73, "post": 24, "postprocess": 1, "postprocessexcept": 25, "potenti": [0, 1, 37, 39, 53, 56], "pow": [25, 29, 42, 76, 89, 90, 92, 99], "pow_registration_allow": 10, "power": 72, "powregistrationallow": 10, "powsolut": [89, 91], "practic": 53, "preced": 73, "predefin": 1, "prefix": [1, 69, 71, 73, 82], "prepar": [0, 56, 82, 93], "prepare_synaps": 93, "prepare_synapse_fn": 93, "prepend": 73, "preprocess": [1, 24], "preprocess_synapse_for_request": 24, "presenc": [0, 1, 56], "present": [0, 10, 56, 69], "preserv": 69, "prevent": [0, 1, 24, 56, 91], "previou": [1, 51, 53], "previous": [0, 56], "price": [0, 6, 28, 36, 41, 46, 50, 56], "primari": [29, 42, 69, 82], "primarili": 53, "principl": 53, "print": [0, 1, 23, 24, 56, 61, 69, 73, 89, 91], "prior": [32, 69], "priorit": 1, "prioriti": [1, 25, 71], "prioritize_my_synaps": 1, "prioritize_my_synapse_2": 1, "priority_custom": 1, "priority_fn": 1, "priorityexcept": 25, "prioritythreadpoolexecutor": [23, 71], "privat": 1, "problem": [91, 92], "proc_num": 91, "proce": 1, "process": [0, 1, 10, 17, 21, 24, 29, 33, 42, 47, 53, 55, 56, 69, 70, 72, 82, 87, 89, 91, 93, 97, 98], "process_error_messag": 24, "process_nest": 10, "process_respons": 93, "process_responses_fn": 93, "process_server_respons": 24, "process_stake_data": 21, "process_streaming_respons": 55, "process_tim": 69, "process_weight": 98, "process_weights_for_netuid": 98, "processing_dur": 69, "processor": 1, "produc": 69, "program": 1, "progress": [0, 56, 89, 91], "prohibit": 1, "project": [79, 81, 83], "prolifer": [0, 56], "prometheu": [11, 12, 13, 73], "prometheus_info": [7, 11, 12, 99], "prometheusinfo": [11, 12, 13], "prometheusinfodict": 87, "prometheusservecallparam": [73, 87], "promptli": 1, "proof": [0, 29, 42, 56, 89, 91, 92], "propag": 53, "proper": [24, 37, 39, 53, 69], "properli": [1, 24], "properti": [0, 2, 24, 53, 56, 61, 69, 71, 76], "proport": [0, 25, 53, 56], "proportionoverflow": [0, 25, 56], "propos": [0, 14, 56], "proposal_dict": 14, "proposal_hash": [0, 56], "proposal_vote_data": [7, 99], "proposalvotedata": [0, 14, 56], "protect": [0, 28, 41, 53, 56], "protocol": [1, 2, 9, 31, 44, 69, 73, 87], "provid": [0, 1, 7, 11, 21, 24, 26, 29, 37, 38, 39, 42, 51, 53, 55, 56, 61, 69, 72, 73, 76, 80, 81, 82, 85, 87, 89, 91, 92, 94, 96, 98], "proxi": 91, "prune": [11, 12], "pruning_scor": [10, 11, 12, 20, 53], "pruningscor": 10, "public": [0, 1, 35, 49, 53, 56], "publish": [0, 31, 44, 56, 82, 87], "publish_metadata": [31, 44], "punit": [0, 56], "put": 91, "pydant": [55, 69, 70], "pydantic_cor": [55, 69, 70], "pypi": [54, 97], "python": 72, "pytorch": [53, 98], "pyvalueerror": 72, "quantil": 98, "queri": [0, 24, 25, 53, 56, 61, 69, 87, 93, 99], "query_api": 93, "query_const": [0, 56, 64, 87], "query_ident": [0, 56, 63], "query_map": [0, 56, 64], "query_map_subtensor": [0, 56, 64, 87], "query_modul": [0, 56, 64], "query_respons": [0, 56, 87], "query_runtime_api": [0, 56, 64], "query_subtensor": [0, 56, 64, 87], "querymapresult": [21, 56], "queue": [1, 71, 82, 91], "queuehandl": 82, "queuelisten": 82, "quick": [0, 56, 69, 87], "quicker": 53, "quicknet": 72, "r": 53, "rais": [0, 1, 2, 21, 23, 24, 25, 31, 32, 34, 44, 46, 48, 53, 55, 56, 69, 70, 71, 72, 85, 87, 88, 89, 91, 97], "raise_error": [0, 34, 48, 56, 85], "randomli": [0, 56], "rang": [0, 1, 56, 88], "rank": [0, 1, 10, 11, 12, 20, 53, 56, 87], "rao": [0, 21, 56, 76, 87], "rao_symbol": 54, "rao_unit": 76, "raopertao": 85, "rate": [0, 11, 17, 25, 32, 53, 56, 87], "rate_toler": [0, 28, 32, 36, 41, 46, 50, 56], "rather": [0, 24, 56, 69], "ratio": [0, 28, 41, 56], "raw": [69, 70, 96], "raw0": [31, 44], "re": [0, 56, 69], "reach": [0, 25, 56, 72], "read": 69, "read_onli": 54, "readabl": [1, 84, 85], "readi": [1, 55], "real": [0, 56, 87], "realli": 1, "realloc": [0, 56], "reap": [0, 56], "receiv": [0, 1, 6, 24, 53, 56, 69], "received_head": 69, "receiver_hotkei": 1, "recent": [0, 56, 83, 87], "recipi": [35, 49], "reclaim": 71, "recogn": [0, 56], "recommend": [24, 69], "recomput": 1, "reconstitut": 53, "reconstruct": [1, 69], "record": [0, 53, 56, 79, 87], "record_log": 82, "recurs": 69, "recycl": [0, 29, 42, 56, 66], "redeploi": 1, "reduc": [0, 53, 56], "refer": [0, 53, 56, 87, 100], "reflect": [0, 53, 56], "regardless": [35, 49], "regist": [0, 1, 4, 5, 25, 29, 30, 42, 43, 56, 60, 82, 87, 89, 91], "register_cuda": [90, 99], "register_extrins": [29, 42], "register_primary_logg": 82, "register_subnet": [0, 56, 60, 66], "register_subnet_extrins": [29, 42], "registr": [0, 1, 2, 4, 5, 9, 17, 24, 25, 26, 27, 38, 40, 53, 56, 70, 85, 98, 99], "registration_allow": [10, 17], "registrationallow": 10, "registrationerror": 25, "registrationnotpermittedonrootsubnet": [0, 25, 56], "registrationstatist": 91, "registrationstatisticslogg": 91, "registri": 7, "reject": [0, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 56, 87], "relat": [0, 11, 13, 25, 29, 42, 56], "relationship": [0, 53, 56], "releas": [1, 24, 53], "relev": [0, 1, 2, 56], "reli": 1, "reliabl": [1, 53, 69], "relianc": 1, "reload": 53, "remain": [0, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 56, 87], "remov": [0, 1, 36, 50, 56, 82], "replac": 79, "replai": 1, "replic": 69, "repositori": [0, 29, 42, 56], "repr": 85, "repres": [0, 1, 2, 4, 6, 9, 11, 12, 13, 15, 16, 17, 22, 24, 31, 44, 51, 53, 56, 69, 70, 71, 76, 87], "represent": [0, 1, 2, 24, 31, 44, 53, 56, 69, 73, 76, 88, 96, 98], "reput": 53, "request": [0, 1, 24, 25, 31, 44, 56, 69, 87, 97], "request_nam": 24, "requestresponseendpoint": 1, "requir": [0, 1, 25, 31, 37, 39, 44, 53, 55, 56, 69, 87], "required_hash_field": 69, "reserv": 2, "reset": [0, 56, 87, 92], "reset_cuda": 92, "resourc": [0, 1, 24, 53, 56, 71], "respect": 53, "respond": 1, "respons": [1, 24, 25, 29, 30, 31, 32, 35, 36, 42, 43, 44, 45, 46, 49, 50, 53, 55, 69, 93], "response_overrid": 1, "restart": 53, "restor": 53, "restrict": [0, 56], "result": [0, 1, 26, 38, 56, 69, 79, 85, 93, 96], "retri": [0, 56, 61, 87], "retriev": [0, 1, 51, 53, 55, 56, 87, 97], "retry_forev": [0, 56, 61, 87], "return": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 21, 22, 23, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 61, 69, 70, 71, 72, 73, 75, 76, 79, 80, 82, 85, 87, 88, 89, 91, 92, 93, 96, 97, 98], "return_per_1000": [4, 5], "return_str": 72, "reus": [0, 1, 24, 56], "reusablecoroutin": 87, "reuse_block": [0, 31, 56], "reveal": [0, 17, 21, 22, 26, 37, 38, 39, 56, 72], "reveal_round": [0, 22, 56, 72], "reveal_weight": [0, 56, 60], "reveal_weights_extrins": [37, 39], "revel": [0, 56, 72], "reverse_network_map": 54, "reward": [0, 34, 48, 53, 56], "rfc": 79, "rho": [10, 17, 19, 87], "robust": 69, "role": [0, 1, 53, 56, 69, 87], "root": [0, 25, 27, 40, 53, 56, 61, 67, 69, 80, 98, 99], "root_dir": 53, "root_regist": [0, 56, 60], "root_register_extrins": [30, 43], "root_set_weight": [0, 56, 60], "root_tao_stake_weight": 54, "round": [0, 22, 56, 72], "round_numb": 22, "rounds_tot": 91, "rout": 69, "router": [1, 88], "row": [53, 98], "row_bond": 98, "row_weight": 98, "rpc": [0, 7, 56], "rule": [0, 1, 56, 87], "run": [0, 1, 56, 69, 71, 85, 87, 89, 91], "run_async": 24, "run_in_thread": 1, "runexcept": 25, "runtim": [0, 1, 53, 56], "runtime_api": [0, 56], "runtime_config": 96, "runtimeconfigurationobject": 96, "runtimeerror": 53, "s0": 79, "s39": 79, "safe": [0, 24, 32, 56, 69, 71, 91], "safe_glob": 53, "safe_stak": [0, 28, 32, 36, 41, 46, 50, 56], "safeti": [0, 28, 36, 41, 46, 50, 56], "salt": [0, 37, 39, 56, 98], "same": [0, 1, 23, 41, 56, 69, 72, 89, 91], "sanit": 69, "save": [53, 79, 97], "scalabl": [0, 1, 56], "scale": [0, 7, 21, 56], "scale_typ": 96, "scalebyt": [21, 96], "scalecodec": [0, 21, 56, 76, 96], "scaleobj": [0, 56, 87], "scaletyp": [76, 96], "scaling_law_pow": 19, "scenario": [1, 24], "schedul": [15, 71], "scheduled_coldkey_swap_info": [7, 99], "scheduledcoldkeyswapinfo": [15, 21], "schema": 69, "score": [11, 12, 53], "seal": [91, 92], "seamless": [1, 83], "seamlessli": 1, "search": 51, "second": [0, 6, 24, 26, 29, 38, 42, 56, 72, 75, 93, 97], "secur": [0, 1, 53, 56, 69, 87], "see": [0, 23, 25, 56, 70, 71, 73, 76, 85, 87, 88, 97], "seen": [1, 69], "selectivemetagraphindex": 10, "self": [1, 23, 24, 25, 55, 69, 70, 71, 73, 76, 85, 87, 88, 97], "senat": [0, 14, 56], "send": [24, 29, 42, 53, 55, 69], "sender": 1, "sensit": [0, 53, 56, 69, 87], "sent": [1, 24, 55, 69], "separ": [1, 69, 82], "sequenti": 24, "serial": [1, 22, 53, 69, 70], "serialized_commit": [0, 56], "serialized_data": 69, "serv": [0, 1, 2, 27, 40, 53, 56, 69, 73, 87, 99], "serve_axon": [0, 56, 60], "serve_axon_extrins": [31, 44], "serve_extrins": [31, 44], "server": [1, 24, 25, 29, 42, 55], "server_respons": 24, "servic": [1, 17, 31, 44], "serving_rate_limit": [10, 17], "servingratelimit": 10, "session": [24, 53], "set": [0, 1, 2, 23, 24, 25, 29, 30, 31, 32, 34, 35, 36, 37, 42, 43, 44, 45, 46, 48, 49, 50, 52, 53, 56, 69, 72, 73, 76, 82, 83, 91, 98, 99], "set_children": [0, 56, 60], "set_commit": [0, 56, 58], "set_config": 82, "set_consol": 82, "set_debug": 82, "set_default": 82, "set_delegate_tak": [0, 56, 59], "set_difficulti": 87, "set_info": 82, "set_name_typ": 69, "set_reveal_commit": [0, 56, 58], "set_root_weights_extrins": [30, 43], "set_subnet_ident": [0, 56, 60, 66], "set_subnet_identity_extrins": [29, 42], "set_trac": [79, 82], "set_unit": 76, "set_warn": 82, "set_weight": [0, 40, 56, 60, 99], "set_weights_extrins": [37, 45], "setlevel": 82, "setup": [0, 1, 56, 87], "setup_config": [61, 73], "sever": [1, 71, 94], "sgvsbg8gv29ybgq": 69, "sha256": [31, 44], "sha3": 69, "shape": [0, 56, 70], "share": [53, 76, 91], "should": [0, 1, 24, 29, 31, 42, 44, 53, 55, 56, 69, 70, 87, 89, 91], "should_exit": 1, "should_sync": 53, "shut": 1, "shutdown": [1, 71], "side": 1, "sign": [0, 1, 24, 29, 33, 34, 42, 47, 48, 53, 56], "sign_and_send_extrins": [0, 56, 61], "sign_with": [0, 56], "signal": [1, 24], "signatur": [1, 23, 25, 55, 69, 70, 71, 73, 76, 85, 87, 88, 97], "signifi": 53, "signific": [0, 56], "silent": 24, "similar": [24, 53], "simpl": [69, 96], "simpli": 69, "simplifi": [0, 53, 56, 87], "simul": [0, 56, 87], "sinc": [0, 56], "singl": [0, 24, 56, 96], "size": [53, 69], "skip": 80, "slippag": 6, "snapshot": [0, 53, 56, 87], "so": [69, 98], "softwar": 53, "solut": [25, 89, 91, 92], "solution_queu": 91, "solv": [0, 29, 42, 56, 89, 91, 92], "solve_cuda": 92, "solver": [25, 91], "some": [0, 17, 56, 61], "someth": 1, "sort": 1, "sourc": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 49, 50, 51, 53, 55, 56, 69, 70, 71, 73, 75, 76, 77, 79, 80, 82, 83, 84, 85, 87, 88, 89, 91, 92, 93, 94, 96, 97, 98], "spam": 1, "special": [1, 53, 55, 79], "specif": [0, 1, 4, 37, 39, 53, 55, 56, 69, 71, 72, 82, 83, 87, 93], "specifi": [0, 1, 21, 24, 31, 32, 36, 44, 46, 50, 51, 53, 56, 69, 79, 82, 85, 87, 96], "specul": 53, "sphinx": 99, "ss58": [0, 4, 16, 21, 22, 28, 32, 34, 36, 41, 46, 48, 50, 51, 56, 85, 87], "ss58_address": [0, 35, 49, 56, 85, 87, 98], "ss58_address_length": 54, "ss58_address_to_byt": 85, "ss58_decod": 85, "ss58_format": 54, "ss58_to_vec_u8": 85, "stabil": [0, 53, 56], "stabl": 1, "stacklevel": 82, "stage": 1, "stake": [0, 4, 6, 11, 12, 16, 21, 25, 27, 28, 35, 36, 40, 41, 49, 50, 51, 53, 56, 61, 87, 99], "stake_data": 21, "stake_dict": [11, 12], "stake_info": [7, 99], "stakeerror": 25, "stakeinfo": [0, 16, 21, 51, 56], "staker": 6, "stale": 91, "standard": [0, 53, 56, 69, 73, 81], "starlett": [1, 55], "start": [0, 1, 33, 47, 56, 69, 82, 91, 92], "start_cal": [0, 27, 40, 56, 60, 61, 99], "start_call_extrins": [33, 47], "start_tim": 1, "stat": 91, "state": [0, 1, 6, 20, 24, 53, 56, 57, 69, 79, 82, 87, 96], "state_cal": [0, 56, 57], "state_dict": 53, "statemachin": 82, "static": [10, 11, 12, 53, 70, 73, 76, 87, 91], "statist": 91, "statu": [0, 1, 11, 24, 34, 48, 53, 56, 69, 82, 85, 87, 91], "status_cod": [1, 69], "status_messag": 69, "stdout": [1, 73], "step": [0, 1, 56], "stop": [1, 82, 91], "stopev": 91, "storag": [0, 56, 87, 94, 95, 99], "storage_funct": 96, "storagefunctionnotfound": 25, "storagekei": 96, "store": [53, 69, 76, 87, 91, 96], "str": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 44, 46, 47, 48, 49, 50, 51, 53, 54, 56, 61, 69, 70, 71, 72, 73, 76, 77, 79, 80, 82, 85, 87, 88, 91, 92, 96, 97, 98], "str_val": 88, "strateg": [0, 56], "stream": [24, 52, 82, 99], "stream_respons": 55, "streamer": 55, "streamingrespons": 55, "streamingsynaps": [1, 24, 55], "streamlin": [0, 56, 87], "strict": [23, 85], "string": [0, 2, 9, 12, 21, 22, 24, 37, 39, 53, 56, 69, 70, 72, 73, 76, 79, 85, 87, 88, 96], "stronger": 53, "strtobool": 85, "struct": 72, "structur": [0, 2, 7, 10, 21, 53, 55, 56, 69, 87], "style": 79, "sub": [54, 81, 91], "subclass": [55, 69], "submiss": [0, 33, 47, 56], "submit": [0, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 56, 71, 87], "subnet": [0, 1, 2, 4, 5, 7, 9, 17, 18, 19, 24, 25, 28, 29, 30, 33, 36, 37, 39, 41, 42, 43, 45, 46, 47, 50, 56, 61, 76, 85, 87, 89, 91, 98, 99], "subnet_contact": [18, 29, 42], "subnet_emiss": 10, "subnet_exist": [0, 56, 66], "subnet_hyperparamet": [7, 99], "subnet_ident": [0, 6, 7, 10, 56, 99], "subnet_info": [7, 99], "subnet_nam": [6, 18, 29, 42], "subnet_st": [7, 99], "subnet_url": [18, 29, 42], "subnet_volum": [6, 10], "subnetemiss": 10, "subnethyperparamet": [0, 17, 21, 56], "subnetident": [0, 6, 10, 18, 21, 53, 56], "subnetinfo": [0, 19, 21, 56], "subnetrevealperiodepoch": [0, 56], "subnetsapi": 93, "subnetst": [20, 21], "subnetvolum": 10, "subnetwork": [0, 20, 29, 42, 56, 87], "subnetwork_n": [0, 19, 56, 66], "subnetworkdoesnotexist": [0, 25, 56], "subnetworkn": [0, 56], "subscrib": [0, 25, 31, 44, 56], "subsequ": [1, 23, 24], "subset": [0, 56], "substrat": [0, 56, 61, 94, 96], "substrate_util": [85, 99], "substraterequestexcept": [0, 25, 32, 46, 56, 85], "subtensor": [0, 1, 23, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 83, 85, 87, 89, 91, 98, 99], "subtensor_api": [52, 99], "subtensor_field": 67, "subtensor_mock": [86, 99], "subtensorapi": [61, 67], "subtensorinterfac": [32, 46], "subtensormixin": [0, 56, 73], "subtensormodul": [0, 56, 87], "subvortex": 54, "subvortex_entrypoint": 54, "succeed": 69, "success": [0, 1, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 44, 45, 46, 47, 48, 49, 50, 56, 69, 77, 82, 85, 87], "success_level_num": 79, "successfulli": [0, 31, 33, 44, 47, 56], "sudo_force_set_bal": 87, "suffici": [0, 56, 87], "suffix": [82, 84], "suggest": 53, "suitabl": 69, "sum": [0, 53, 56, 69, 98], "superclass": 69, "suppli": 53, "support": [0, 1, 23, 56, 76], "supress": 85, "sure": 72, "swap": [0, 15, 28, 41, 56], "swap_stak": [0, 56, 60], "swap_stake_extrins": [28, 41], "sy": 85, "symbol": [6, 10, 53, 76], "synaps": [1, 24, 25, 52, 55, 75, 83, 93, 99], "synapse_dict": 69, "synapse_histori": 24, "synapse_nonc": 75, "synapse_timeout": 75, "synapse_to_respons": 1, "synapsedendritenoneexcept": 25, "synapseexcept": 25, "synapseparsingerror": 25, "sync": [0, 37, 38, 39, 45, 53, 61], "sync_substr": [21, 56], "synchron": [0, 24, 53, 56, 87, 91], "system": [0, 24, 53, 56, 80, 82, 83, 87, 91], "t": [0, 1, 8, 23, 25, 53, 56, 82, 85], "tailor": [1, 69], "take": [0, 1, 4, 5, 15, 25, 27, 40, 55, 56, 87, 99], "takeerror": 25, "taken": 69, "tamper": [0, 1, 56, 69], "tao": [0, 4, 5, 6, 10, 29, 36, 42, 53, 56, 76, 87], "tao_dividends_per_hotkei": [10, 53], "tao_in": [6, 10], "tao_in_emiss": [6, 10], "tao_slippag": 6, "tao_stak": [10, 20, 53], "tao_symbol": 54, "tao_to_alpha": 6, "tao_to_alpha_with_slippag": 6, "taodividendsperhotkei": 10, "taoin": 10, "taoinemiss": 10, "taostak": 10, "target": [0, 17, 24, 33, 47, 56], "target_axon": 24, "target_axon_info": 24, "target_regs_per_interv": [10, 17], "targetregsperinterv": 10, "task": [0, 1, 56, 69], "tcp": 9, "technic": [0, 56], "techniqu": 1, "technologi": [0, 56, 87], "templat": 79, "tempo": [0, 6, 10, 17, 19, 53, 56, 66], "temporarili": 1, "tensor": [2, 9, 52, 53, 69, 98, 99], "tensor_": 70, "term": [0, 56], "termin": [1, 69, 77], "terminal_info": 69, "terminalinfo": 69, "terminate_workers_and_wait_for_exit": 91, "test": [0, 53, 54, 56, 61, 73, 77, 85, 87], "text": [1, 79, 91], "textual": [29, 42], "th": [0, 53], "than": [0, 1, 24, 56, 98], "thei": [0, 1, 6, 53, 56, 69, 98], "them": [0, 1, 24, 55, 56, 69], "themselv": [0, 56], "therebi": [0, 1, 56], "thereof": 88, "thi": [0, 1, 2, 4, 5, 6, 7, 10, 11, 12, 17, 20, 21, 23, 24, 25, 26, 29, 31, 35, 37, 38, 39, 42, 44, 49, 51, 53, 55, 56, 61, 69, 71, 72, 73, 76, 79, 80, 81, 82, 83, 87, 89, 91, 92, 93, 96, 98, 99, 100], "thin": [0, 56], "think": [0, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 56, 69, 87], "third": 82, "those": [23, 24], "thread": [0, 1, 29, 42, 56, 71, 89, 91, 92], "thread_name_prefix": 71, "thread_pool": 1, "threadpool": [1, 52, 99], "threadpoolexecutor": 71, "three": [0, 56], "threshold": [0, 14, 17, 56, 87, 98], "through": [0, 1, 24, 51, 56, 80, 87], "throughout": 81, "time": [0, 1, 53, 56, 69, 71, 72, 75, 79, 87, 91], "time_averag": 91, "time_sp": 91, "time_spent_tot": 91, "timelock": [52, 99], "timeout": [0, 1, 24, 29, 30, 31, 32, 35, 36, 37, 42, 43, 44, 45, 46, 49, 50, 56, 69, 75, 93, 97], "timestamp": [0, 1, 11, 12, 53, 56], "tl": [0, 31, 44, 56], "tle": 72, "tmp": 53, "to_dict": 23, "to_head": 69, "to_hex": 96, "to_parameter_dict": [2, 9], "to_str": [1, 2], "todo": 53, "token": [0, 53, 55, 56, 87], "token_stream": 55, "toler": [0, 28, 32, 36, 41, 46, 50, 56], "tolist": 70, "too": [0, 25, 56], "tool": [0, 56, 69, 87], "toomanychildren": [0, 25, 56], "top": 96, "topologi": [0, 1], "torch": [0, 2, 9, 24, 26, 37, 38, 45, 53, 56, 70, 85, 91, 98], "torchmetagraph": 53, "total": [0, 4, 5, 11, 12, 53, 56, 69, 91], "total_bit": 76, "total_daily_return": [4, 5], "total_s": 69, "total_stak": [4, 10, 11, 12, 20, 53], "totalstak": 10, "toward": [0, 53, 56], "tpb": [0, 29, 42, 56, 89, 91, 92], "trace": [1, 79, 82, 83], "trace_level_num": 79, "trace_log_format": 78, "track": [0, 53, 56, 69], "transact": [0, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 56, 69, 87], "transactor": [0, 25, 56], "transfer": [0, 25, 27, 28, 40, 41, 56, 60, 87, 99], "transfer_al": [0, 35, 49, 56], "transfer_bal": 87, "transfer_extrins": [35, 49], "transfer_stak": [0, 56, 60], "transfer_stake_extrins": [28, 41], "transfererror": 25, "transform": [10, 69], "transit": [1, 82], "transmiss": [1, 69], "transmit": [24, 69], "transpar": [0, 56, 69], "transport": 69, "travers": 69, "tree": 96, "trigger": [0, 1, 33, 47, 56], "true": [0, 1, 2, 6, 24, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 56, 61, 67, 69, 71, 72, 73, 79, 82, 83, 85, 87, 89, 91], "trust": [0, 1, 10, 11, 12, 20, 53, 56], "trustworthi": [0, 1, 53, 56, 87], "truth": 85, "try": [25, 91], "tupl": [0, 1, 6, 10, 11, 21, 22, 24, 26, 29, 31, 33, 34, 37, 38, 39, 42, 44, 47, 48, 53, 56, 69, 71, 72, 73, 75, 82, 85, 87, 92, 98], "tv": 53, "two": [70, 73, 76, 87], "two_x64_concat": 94, "tx_rate_limit": [0, 56, 57, 61], "txratelimitexceed": [0, 25, 56], "type": [0, 1, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 69, 70, 71, 72, 75, 76, 79, 80, 82, 83, 85, 87, 88, 89, 91, 92, 93, 96, 97, 98, 99], "type_nam": 21, "type_registri": 54, "type_str": 21, "typeddict": [73, 76, 87], "typeerror": [2, 21, 72], "typic": [0, 1, 53, 55, 56, 69], "u": 87, "u128": 76, "u16_max": [85, 98], "u16_normalized_float": 85, "u32": 98, "u32_max": 98, "u64": 85, "u64_max": 85, "u64_normalized_float": 85, "u64f64": 76, "udp": 9, "uid": [0, 11, 12, 26, 28, 31, 32, 33, 36, 37, 38, 39, 41, 44, 45, 46, 47, 50, 53, 56, 76, 87, 98], "uint64": [0, 37, 45, 56, 98], "unabl": 25, "unauthor": [1, 69], "unchang": 88, "under": [0, 56], "underli": [0, 1, 24, 53, 56, 82], "understand": [0, 53, 56, 87], "undesir": 1, "unifi": 24, "union": [0, 2, 6, 9, 10, 21, 24, 26, 29, 30, 31, 36, 37, 38, 41, 42, 43, 44, 45, 50, 53, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 68, 70, 72, 76, 85, 87, 89, 91, 92, 93, 98], "uniqu": [0, 1, 11, 12, 24, 29, 37, 39, 42, 46, 50, 51, 53, 56, 69, 87, 88, 98], "unit": [0, 1, 53, 56, 76, 87], "unknownsynapseerror": 25, "unless": 24, "unlock": [0, 33, 47, 56, 85], "unlock_kei": 85, "unlock_typ": 85, "unlockstatu": 85, "unmet": 1, "unpickl": 53, "unpicklingerror": 53, "unstak": [0, 6, 25, 27, 40, 46, 56, 60, 65, 99], "unstake_extrins": [36, 50], "unstake_multipl": [0, 56, 60, 65], "unstake_multiple_extrins": [36, 50], "unstakeerror": 25, "unsuccess": [0, 56, 85], "until": [0, 56, 71], "up": [0, 1, 24, 53, 56, 71, 73, 82, 83, 97], "updat": [0, 1, 11, 12, 24, 25, 29, 42, 53, 55, 56, 87, 91, 92], "update_curr_block": 91, "update_interv": [0, 29, 42, 56, 89, 91, 92], "upon": [0, 24, 53, 56], "upper": 92, "urgenc": 1, "url": [0, 1, 3, 24, 25, 29, 42, 56, 73, 85, 88], "urllib": 88, "us": [0, 1, 2, 6, 17, 21, 24, 26, 29, 31, 32, 33, 35, 36, 37, 38, 39, 42, 44, 46, 47, 49, 50, 53, 55, 56, 61, 69, 70, 71, 72, 73, 76, 79, 85, 87, 89, 91, 92, 93, 94, 96, 97, 98], "usag": [0, 1, 24, 56, 69, 72], "use_nonc": [0, 56], "use_torch": [2, 85, 91], "user": [0, 1, 24, 37, 39, 53, 56, 69, 83, 98], "user_bittensor_dir": 54, "using_new_loop": 24, "usingspawnstartmethod": 91, "usual": 25, "utf": [69, 85], "util": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 16, 19, 20, 24, 26, 31, 32, 35, 38, 40, 44, 46, 49, 53, 56, 61, 70, 73, 74, 99], "uuid": [1, 24, 69], "uvicorn": 1, "v": [70, 73, 87], "v10": 0, "v_7_2_0": 1, "val": [85, 87], "valid": [0, 1, 4, 5, 11, 12, 17, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 55, 56, 69, 70, 79, 85, 87, 91, 98], "validate_chain_endpoint": 85, "validationerror": [55, 69, 70], "validator_permit": [4, 5, 10, 11, 12, 20, 53], "validator_trust": [11, 12, 53], "validatorbatchs": 87, "validatorpermit": 10, "valu": [0, 1, 2, 10, 11, 12, 17, 21, 23, 30, 37, 39, 43, 45, 53, 56, 69, 70, 73, 75, 85, 87, 91, 96, 98], "valuabl": [0, 53, 56, 69, 87], "value_scale_typ": 96, "valueerror": [2, 85, 89, 91], "variabl": [1, 2, 4, 9, 11, 12, 13, 15, 16, 17, 22, 53, 55, 69, 76], "variou": [0, 1, 53, 56], "vec_u8": 15, "vector": 21, "verbos": [0, 56, 61, 87, 89, 91], "verif": [1, 69], "verifi": [0, 1, 25, 56, 69, 87], "verify_body_integr": 1, "verify_custom": 1, "verify_fn": 1, "verify_my_synaps": 1, "verify_my_synapse_2": 1, "versatil": [0, 56], "version": [0, 2, 5, 11, 13, 17, 26, 30, 37, 38, 39, 43, 45, 53, 56, 61, 69, 73, 79, 83, 85, 87, 88, 98, 99], "version_as_int": [0, 26, 38, 54, 56], "version_check": [85, 97], "version_check_threshold": 97, "version_kei": [0, 26, 30, 37, 38, 39, 43, 45, 56, 87, 98], "version_split": 54, "versioncheckerror": [85, 97], "via": [1, 70, 73, 87], "viabil": [0, 56], "view": [0, 56, 87], "vital": [1, 53, 69], "vote": [0, 56], "w": [53, 54, 88], "w_": 53, "wa": [0, 1, 6, 23, 28, 29, 30, 31, 32, 35, 36, 41, 42, 43, 44, 45, 46, 49, 50, 53, 56, 69, 87], "wai": [0, 24, 56, 69, 73, 76], "wait": [0, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 56, 71, 72], "wait_for_block": [0, 56, 61], "wait_for_fin": [0, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 56, 87], "wait_for_inclus": [0, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 56, 87], "wait_reveal_and_decrypt": 72, "wallet": [0, 1, 23, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 56, 61, 69, 76, 83, 85, 87, 89, 91, 93, 98, 99], "wallets_dir": 54, "want": [0, 53, 79], "warn": [77, 82, 83], "we": [29, 30, 31, 32, 35, 36, 42, 43, 44, 45, 46, 49, 50, 87, 88], "web": [29, 42], "websocket": [56, 73, 85, 88], "weight": [0, 11, 12, 17, 22, 26, 27, 30, 38, 39, 43, 45, 53, 56, 66, 98, 99], "weight_commit_info": [7, 99], "weight_uid": 98, "weight_util": [85, 99], "weight_val": 98, "weightcommitinfo": 22, "weights_as_dict": 11, "weights_rate_limit": [0, 10, 17, 56, 66], "weights_vers": [10, 17], "weightsratelimit": 10, "weightssetratelimit": [0, 56], "weightsvers": 10, "well": [53, 76], "when": [0, 1, 2, 23, 24, 25, 28, 37, 39, 41, 53, 56, 69, 71, 72, 82, 89, 91], "where": [0, 1, 6, 11, 21, 24, 26, 29, 38, 42, 53, 56, 76], "whether": [0, 1, 12, 21, 24, 26, 29, 33, 35, 38, 42, 47, 49, 53, 56, 61, 87, 93], "which": [0, 1, 5, 15, 17, 23, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 69, 73, 87], "while": [0, 1, 41, 53, 56, 76, 91], "who": [0, 56, 69], "whole": 2, "whose": [0, 56], "wide": [0, 53, 56], "window": 75, "withdraw": [0, 56], "withdrawn": [0, 56], "within": [0, 1, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 55, 56, 69, 87, 91, 93], "without": [0, 1, 12, 24, 56, 69, 77, 87], "work": [0, 7, 24, 29, 37, 42, 56, 89, 91, 92], "worker": [1, 71, 91], "world": 69, "would": [0, 6, 28, 41, 56, 69], "wrap": 82, "wrapper": [37, 39, 69], "writabl": 85, "wrong": [0, 56, 72], "wss": [54, 61, 88], "x": [72, 85, 98], "x_person": 72, "x_person_2": 72, "xxh128": 94, "xxh64": 94, "y": [78, 85, 98], "ye": 85, "yield": [1, 24, 80], "you": [0, 1, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53, 56, 69, 72, 79, 87], "your": [1, 24, 53, 69, 72, 79, 88], "yoursynaps": 1, "yuma": 53, "zero": [0, 51, 56]}, "titles": ["bittensor.core.async_subtensor", "bittensor.core.axon", "bittensor.core.chain_data.axon_info", "bittensor.core.chain_data.chain_identity", "bittensor.core.chain_data.delegate_info", "bittensor.core.chain_data.delegate_info_lite", "bittensor.core.chain_data.dynamic_info", "bittensor.core.chain_data", "bittensor.core.chain_data.info_base", "bittensor.core.chain_data.ip_info", "bittensor.core.chain_data.metagraph_info", "bittensor.core.chain_data.neuron_info", "bittensor.core.chain_data.neuron_info_lite", "bittensor.core.chain_data.prometheus_info", "bittensor.core.chain_data.proposal_vote_data", "bittensor.core.chain_data.scheduled_coldkey_swap_info", "bittensor.core.chain_data.stake_info", "bittensor.core.chain_data.subnet_hyperparameters", "bittensor.core.chain_data.subnet_identity", "bittensor.core.chain_data.subnet_info", "bittensor.core.chain_data.subnet_state", "bittensor.core.chain_data.utils", "bittensor.core.chain_data.weight_commit_info", "bittensor.core.config", "bittensor.core.dendrite", "bittensor.core.errors", "bittensor.core.extrinsics.asyncex.commit_reveal", "bittensor.core.extrinsics.asyncex", "bittensor.core.extrinsics.asyncex.move_stake", "bittensor.core.extrinsics.asyncex.registration", "bittensor.core.extrinsics.asyncex.root", "bittensor.core.extrinsics.asyncex.serving", "bittensor.core.extrinsics.asyncex.staking", "bittensor.core.extrinsics.asyncex.start_call", "bittensor.core.extrinsics.asyncex.take", "bittensor.core.extrinsics.asyncex.transfer", "bittensor.core.extrinsics.asyncex.unstaking", "bittensor.core.extrinsics.asyncex.weights", "bittensor.core.extrinsics.commit_reveal", "bittensor.core.extrinsics.commit_weights", "bittensor.core.extrinsics", "bittensor.core.extrinsics.move_stake", "bittensor.core.extrinsics.registration", "bittensor.core.extrinsics.root", "bittensor.core.extrinsics.serving", "bittensor.core.extrinsics.set_weights", "bittensor.core.extrinsics.staking", "bittensor.core.extrinsics.start_call", "bittensor.core.extrinsics.take", "bittensor.core.extrinsics.transfer", "bittensor.core.extrinsics.unstaking", "bittensor.core.extrinsics.utils", "bittensor.core", "bittensor.core.metagraph", "bittensor.core.settings", "bittensor.core.stream", "bittensor.core.subtensor", "bittensor.core.subtensor_api.chain", "bittensor.core.subtensor_api.commitments", "bittensor.core.subtensor_api.delegates", "bittensor.core.subtensor_api.extrinsics", "bittensor.core.subtensor_api", "bittensor.core.subtensor_api.metagraphs", "bittensor.core.subtensor_api.neurons", "bittensor.core.subtensor_api.queries", "bittensor.core.subtensor_api.staking", "bittensor.core.subtensor_api.subnets", "bittensor.core.subtensor_api.utils", "bittensor.core.subtensor_api.wallets", "bittensor.core.synapse", "bittensor.core.tensor", "bittensor.core.threadpool", "bittensor.core.timelock", "bittensor.core.types", "bittensor", "bittensor.utils.axon_utils", "bittensor.utils.balance", "bittensor.utils.btlogging.console", "bittensor.utils.btlogging.defines", "bittensor.utils.btlogging.format", "bittensor.utils.btlogging.helpers", "bittensor.utils.btlogging", "bittensor.utils.btlogging.loggingmachine", "bittensor.utils.easy_imports", "bittensor.utils.formatting", "bittensor.utils", "bittensor.utils.mock", "bittensor.utils.mock.subtensor_mock", "bittensor.utils.networking", "bittensor.utils.registration.async_pow", "bittensor.utils.registration", "bittensor.utils.registration.pow", "bittensor.utils.registration.register_cuda", "bittensor.utils.subnets", "bittensor.utils.substrate_utils.hasher", "bittensor.utils.substrate_utils", "bittensor.utils.substrate_utils.storage", "bittensor.utils.version", "bittensor.utils.weight_utils", "API Reference", "Bittensor SDK Documentation"], "titleterms": {"api": 99, "async_pow": 89, "async_subtensor": 0, "asyncex": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "attribut": [1, 8, 23, 24, 25, 53, 54, 70, 71, 75, 78, 79, 81, 82, 83, 85, 87, 91, 97, 98], "axon": 1, "axon_info": 2, "axon_util": 75, "balanc": 76, "bittensor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100], "btlog": [77, 78, 79, 80, 81, 82], "chain": 57, "chain_data": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "chain_ident": 3, "class": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 53, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 73, 76, 77, 79, 82, 85, 87, 91, 93, 96], "commit": 58, "commit_rev": [26, 38], "commit_weight": 39, "config": 23, "consol": 77, "content": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 91, 92, 93, 94, 96, 97, 98, 100], "core": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73], "defin": 78, "deleg": 59, "delegate_info": 4, "delegate_info_lit": 5, "dendrit": 24, "document": 100, "dynamic_info": 6, "easy_import": 83, "error": 25, "exampl": [0, 23, 24, 53, 56, 61, 73, 77], "except": [23, 25, 71, 88, 97], "extrins": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 60], "format": [79, 84], "function": [0, 1, 10, 21, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 67, 69, 70, 72, 75, 76, 80, 83, 84, 85, 88, 89, 91, 92, 94, 97, 98], "hasher": 94, "helper": 80, "info_bas": 8, "ip_info": 9, "loggingmachin": 82, "metagraph": [53, 62], "metagraph_info": 10, "mock": [86, 87], "modul": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 82, 83, 84, 87, 88, 89, 91, 92, 93, 94, 96, 97, 98], "move_stak": [28, 41], "network": 88, "neuron": 63, "neuron_info": 11, "neuron_info_lit": 12, "packag": [61, 81, 85], "pow": 91, "prometheus_info": 13, "proposal_vote_data": 14, "queri": 64, "refer": 99, "register_cuda": 92, "registr": [29, 42, 89, 90, 91, 92], "root": [30, 43], "scheduled_coldkey_swap_info": 15, "sdk": 100, "serv": [31, 44], "set": 54, "set_weight": 45, "stake": [32, 46, 65], "stake_info": 16, "start_cal": [33, 47], "storag": 96, "stream": 55, "submodul": [7, 27, 40, 52, 61, 74, 81, 85, 86, 90, 95], "subnet": [66, 93], "subnet_hyperparamet": 17, "subnet_ident": 18, "subnet_info": 19, "subnet_st": 20, "substrate_util": [94, 95, 96], "subtensor": 56, "subtensor_api": [57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "subtensor_mock": 87, "synaps": 69, "tabl": 100, "take": [34, 48], "tensor": 70, "threadpool": 71, "timelock": 72, "transfer": [35, 49], "type": 73, "unstak": [36, 50], "util": [21, 51, 67, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "version": 97, "wallet": 68, "weight": 37, "weight_commit_info": 22, "weight_util": 98}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API Reference": [[104, null]], "Attributes": [[1, "attributes"], [8, "attributes"], [23, "attributes"], [24, "attributes"], [25, "attributes"], [57, "attributes"], [58, "attributes"], [74, "attributes"], [75, "attributes"], [79, "attributes"], [82, "attributes"], [83, "attributes"], [85, "attributes"], [86, "attributes"], [87, "attributes"], [89, "attributes"], [90, "attributes"], [92, "attributes"], [96, "attributes"], [102, "attributes"], [103, "attributes"]], "Bittensor SDK Documentation": [[105, null]], "Classes": [[0, "classes"], [1, "classes"], [2, "classes"], [3, "classes"], [4, "classes"], [5, "classes"], [6, "classes"], [8, "classes"], [9, "classes"], [10, "classes"], [11, "classes"], [12, "classes"], [13, "classes"], [14, "classes"], [15, "classes"], [16, "classes"], [17, "classes"], [18, "classes"], [19, "classes"], [20, "classes"], [21, "classes"], [22, "classes"], [23, "classes"], [24, "classes"], [57, "classes"], [59, "classes"], [60, "classes"], [61, "classes"], [62, "classes"], [63, "classes"], [64, "classes"], [65, "classes"], [66, "classes"], [67, "classes"], [68, "classes"], [69, "classes"], [70, "classes"], [72, "classes"], [73, "classes"], [74, "classes"], [75, "classes"], [77, "classes"], [80, "classes"], [81, "classes"], [83, "classes"], [86, "classes"], [89, "classes"], [90, "classes"], [92, "classes"], [96, "classes"], [98, "classes"], [101, "classes"]], "Example": [[0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [23, null], [24, null], [24, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [60, null], [60, null], [60, null], [60, null], [65, null], [77, null], [81, null]], "Exceptions": [[23, "exceptions"], [25, "exceptions"], [75, "exceptions"], [93, "exceptions"], [102, "exceptions"]], "Functions": [[0, "functions"], [1, "functions"], [10, "functions"], [21, "functions"], [24, "functions"], [26, "functions"], [27, "functions"], [29, "functions"], [30, "functions"], [31, "functions"], [32, "functions"], [33, "functions"], [34, "functions"], [35, "functions"], [36, "functions"], [37, "functions"], [38, "functions"], [39, "functions"], [40, "functions"], [41, "functions"], [42, "functions"], [44, "functions"], [45, "functions"], [46, "functions"], [47, "functions"], [48, "functions"], [49, "functions"], [50, "functions"], [51, "functions"], [52, "functions"], [53, "functions"], [54, "functions"], [55, "functions"], [57, "functions"], [71, "functions"], [73, "functions"], [74, "functions"], [76, "functions"], [79, "functions"], [80, "functions"], [84, "functions"], [87, "functions"], [88, "functions"], [89, "functions"], [90, "functions"], [93, "functions"], [94, "functions"], [96, "functions"], [97, "functions"], [99, "functions"], [102, "functions"], [103, "functions"]], "Module Contents": [[0, "module-contents"], [1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [6, "module-contents"], [8, "module-contents"], [9, "module-contents"], [10, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"], [16, "module-contents"], [17, "module-contents"], [18, "module-contents"], [19, "module-contents"], [20, "module-contents"], [21, "module-contents"], [22, "module-contents"], [23, "module-contents"], [24, "module-contents"], [25, "module-contents"], [26, "module-contents"], [27, "module-contents"], [29, "module-contents"], [30, "module-contents"], [31, "module-contents"], [32, "module-contents"], [33, "module-contents"], [34, "module-contents"], [35, "module-contents"], [36, "module-contents"], [37, "module-contents"], [38, "module-contents"], [39, "module-contents"], [40, "module-contents"], [41, "module-contents"], [42, "module-contents"], [44, "module-contents"], [45, "module-contents"], [46, "module-contents"], [47, "module-contents"], [48, "module-contents"], [49, "module-contents"], [50, "module-contents"], [51, "module-contents"], [52, "module-contents"], [53, "module-contents"], [54, "module-contents"], [55, "module-contents"], [57, "module-contents"], [58, "module-contents"], [59, "module-contents"], [60, "module-contents"], [61, "module-contents"], [62, "module-contents"], [63, "module-contents"], [64, "module-contents"], [66, "module-contents"], [67, "module-contents"], [68, "module-contents"], [69, "module-contents"], [70, "module-contents"], [71, "module-contents"], [72, "module-contents"], [73, "module-contents"], [74, "module-contents"], [75, "module-contents"], [76, "module-contents"], [77, "module-contents"], [79, "module-contents"], [80, "module-contents"], [81, "module-contents"], [82, "module-contents"], [83, "module-contents"], [84, "module-contents"], [86, "module-contents"], [87, "module-contents"], [88, "module-contents"], [90, "module-contents"], [92, "module-contents"], [93, "module-contents"], [94, "module-contents"], [96, "module-contents"], [97, "module-contents"], [98, "module-contents"], [99, "module-contents"], [101, "module-contents"], [102, "module-contents"], [103, "module-contents"]], "Notes": [[0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null]], "Package Contents": [[65, "package-contents"], [85, "package-contents"], [89, "package-contents"]], "Submodules": [[7, "submodules"], [28, "submodules"], [43, "submodules"], [56, "submodules"], [65, "submodules"], [78, "submodules"], [85, "submodules"], [89, "submodules"], [91, "submodules"], [95, "submodules"], [100, "submodules"]], "Table of Contents": [[105, null]], "bittensor": [[78, null]], "bittensor.core": [[56, null]], "bittensor.core.async_subtensor": [[0, null]], "bittensor.core.axon": [[1, null]], "bittensor.core.chain_data": [[7, null]], "bittensor.core.chain_data.axon_info": [[2, null]], "bittensor.core.chain_data.chain_identity": [[3, null]], "bittensor.core.chain_data.delegate_info": [[4, null]], "bittensor.core.chain_data.delegate_info_lite": [[5, null]], "bittensor.core.chain_data.dynamic_info": [[6, null]], "bittensor.core.chain_data.info_base": [[8, null]], "bittensor.core.chain_data.ip_info": [[9, null]], "bittensor.core.chain_data.metagraph_info": [[10, null]], "bittensor.core.chain_data.neuron_info": [[11, null]], "bittensor.core.chain_data.neuron_info_lite": [[12, null]], "bittensor.core.chain_data.prometheus_info": [[13, null]], "bittensor.core.chain_data.proposal_vote_data": [[14, null]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, null]], "bittensor.core.chain_data.stake_info": [[16, null]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, null]], "bittensor.core.chain_data.subnet_identity": [[18, null]], "bittensor.core.chain_data.subnet_info": [[19, null]], "bittensor.core.chain_data.subnet_state": [[20, null]], "bittensor.core.chain_data.utils": [[21, null]], "bittensor.core.chain_data.weight_commit_info": [[22, null]], "bittensor.core.config": [[23, null]], "bittensor.core.dendrite": [[24, null]], "bittensor.core.errors": [[25, null]], "bittensor.core.extrinsics": [[43, null]], "bittensor.core.extrinsics.asyncex": [[28, null]], "bittensor.core.extrinsics.asyncex.children": [[26, null]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[27, null]], "bittensor.core.extrinsics.asyncex.liquidity": [[29, null]], "bittensor.core.extrinsics.asyncex.move_stake": [[30, null]], "bittensor.core.extrinsics.asyncex.registration": [[31, null]], "bittensor.core.extrinsics.asyncex.root": [[32, null]], "bittensor.core.extrinsics.asyncex.serving": [[33, null]], "bittensor.core.extrinsics.asyncex.staking": [[34, null]], "bittensor.core.extrinsics.asyncex.start_call": [[35, null]], "bittensor.core.extrinsics.asyncex.take": [[36, null]], "bittensor.core.extrinsics.asyncex.transfer": [[37, null]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, null]], "bittensor.core.extrinsics.asyncex.weights": [[39, null]], "bittensor.core.extrinsics.children": [[40, null]], "bittensor.core.extrinsics.commit_reveal": [[41, null]], "bittensor.core.extrinsics.commit_weights": [[42, null]], "bittensor.core.extrinsics.liquidity": [[44, null]], "bittensor.core.extrinsics.move_stake": [[45, null]], "bittensor.core.extrinsics.registration": [[46, null]], "bittensor.core.extrinsics.root": [[47, null]], "bittensor.core.extrinsics.serving": [[48, null]], "bittensor.core.extrinsics.set_weights": [[49, null]], "bittensor.core.extrinsics.staking": [[50, null]], "bittensor.core.extrinsics.start_call": [[51, null]], "bittensor.core.extrinsics.take": [[52, null]], "bittensor.core.extrinsics.transfer": [[53, null]], "bittensor.core.extrinsics.unstaking": [[54, null]], "bittensor.core.extrinsics.utils": [[55, null]], "bittensor.core.metagraph": [[57, null]], "bittensor.core.settings": [[58, null]], "bittensor.core.stream": [[59, null]], "bittensor.core.subtensor": [[60, null]], "bittensor.core.subtensor_api": [[65, null]], "bittensor.core.subtensor_api.chain": [[61, null]], "bittensor.core.subtensor_api.commitments": [[62, null]], "bittensor.core.subtensor_api.delegates": [[63, null]], "bittensor.core.subtensor_api.extrinsics": [[64, null]], "bittensor.core.subtensor_api.metagraphs": [[66, null]], "bittensor.core.subtensor_api.neurons": [[67, null]], "bittensor.core.subtensor_api.queries": [[68, null]], "bittensor.core.subtensor_api.staking": [[69, null]], "bittensor.core.subtensor_api.subnets": [[70, null]], "bittensor.core.subtensor_api.utils": [[71, null]], "bittensor.core.subtensor_api.wallets": [[72, null]], "bittensor.core.synapse": [[73, null]], "bittensor.core.tensor": [[74, null]], "bittensor.core.threadpool": [[75, null]], "bittensor.core.timelock": [[76, null]], "bittensor.core.types": [[77, null]], "bittensor.utils": [[89, null]], "bittensor.utils.axon_utils": [[79, null]], "bittensor.utils.balance": [[80, null]], "bittensor.utils.btlogging": [[85, null]], "bittensor.utils.btlogging.console": [[81, null]], "bittensor.utils.btlogging.defines": [[82, null]], "bittensor.utils.btlogging.format": [[83, null]], "bittensor.utils.btlogging.helpers": [[84, null]], "bittensor.utils.btlogging.loggingmachine": [[86, null]], "bittensor.utils.easy_imports": [[87, null]], "bittensor.utils.formatting": [[88, null]], "bittensor.utils.liquidity": [[90, null]], "bittensor.utils.mock": [[91, null]], "bittensor.utils.mock.subtensor_mock": [[92, null]], "bittensor.utils.networking": [[93, null]], "bittensor.utils.registration": [[95, null]], "bittensor.utils.registration.async_pow": [[94, null]], "bittensor.utils.registration.pow": [[96, null]], "bittensor.utils.registration.register_cuda": [[97, null]], "bittensor.utils.subnets": [[98, null]], "bittensor.utils.substrate_utils": [[100, null]], "bittensor.utils.substrate_utils.hasher": [[99, null]], "bittensor.utils.substrate_utils.storage": [[101, null]], "bittensor.utils.version": [[102, null]], "bittensor.utils.weight_utils": [[103, null]]}, "docnames": ["autoapi/bittensor/core/async_subtensor/index", "autoapi/bittensor/core/axon/index", "autoapi/bittensor/core/chain_data/axon_info/index", "autoapi/bittensor/core/chain_data/chain_identity/index", "autoapi/bittensor/core/chain_data/delegate_info/index", "autoapi/bittensor/core/chain_data/delegate_info_lite/index", "autoapi/bittensor/core/chain_data/dynamic_info/index", "autoapi/bittensor/core/chain_data/index", "autoapi/bittensor/core/chain_data/info_base/index", "autoapi/bittensor/core/chain_data/ip_info/index", "autoapi/bittensor/core/chain_data/metagraph_info/index", "autoapi/bittensor/core/chain_data/neuron_info/index", "autoapi/bittensor/core/chain_data/neuron_info_lite/index", "autoapi/bittensor/core/chain_data/prometheus_info/index", "autoapi/bittensor/core/chain_data/proposal_vote_data/index", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index", "autoapi/bittensor/core/chain_data/stake_info/index", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index", "autoapi/bittensor/core/chain_data/subnet_identity/index", "autoapi/bittensor/core/chain_data/subnet_info/index", "autoapi/bittensor/core/chain_data/subnet_state/index", "autoapi/bittensor/core/chain_data/utils/index", "autoapi/bittensor/core/chain_data/weight_commit_info/index", "autoapi/bittensor/core/config/index", "autoapi/bittensor/core/dendrite/index", "autoapi/bittensor/core/errors/index", "autoapi/bittensor/core/extrinsics/asyncex/children/index", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index", "autoapi/bittensor/core/extrinsics/asyncex/index", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index", "autoapi/bittensor/core/extrinsics/asyncex/registration/index", "autoapi/bittensor/core/extrinsics/asyncex/root/index", "autoapi/bittensor/core/extrinsics/asyncex/serving/index", "autoapi/bittensor/core/extrinsics/asyncex/staking/index", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index", "autoapi/bittensor/core/extrinsics/asyncex/take/index", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index", "autoapi/bittensor/core/extrinsics/asyncex/weights/index", "autoapi/bittensor/core/extrinsics/children/index", "autoapi/bittensor/core/extrinsics/commit_reveal/index", "autoapi/bittensor/core/extrinsics/commit_weights/index", "autoapi/bittensor/core/extrinsics/index", "autoapi/bittensor/core/extrinsics/liquidity/index", "autoapi/bittensor/core/extrinsics/move_stake/index", "autoapi/bittensor/core/extrinsics/registration/index", "autoapi/bittensor/core/extrinsics/root/index", "autoapi/bittensor/core/extrinsics/serving/index", "autoapi/bittensor/core/extrinsics/set_weights/index", "autoapi/bittensor/core/extrinsics/staking/index", "autoapi/bittensor/core/extrinsics/start_call/index", "autoapi/bittensor/core/extrinsics/take/index", "autoapi/bittensor/core/extrinsics/transfer/index", "autoapi/bittensor/core/extrinsics/unstaking/index", "autoapi/bittensor/core/extrinsics/utils/index", "autoapi/bittensor/core/index", "autoapi/bittensor/core/metagraph/index", "autoapi/bittensor/core/settings/index", "autoapi/bittensor/core/stream/index", "autoapi/bittensor/core/subtensor/index", "autoapi/bittensor/core/subtensor_api/chain/index", "autoapi/bittensor/core/subtensor_api/commitments/index", "autoapi/bittensor/core/subtensor_api/delegates/index", "autoapi/bittensor/core/subtensor_api/extrinsics/index", "autoapi/bittensor/core/subtensor_api/index", "autoapi/bittensor/core/subtensor_api/metagraphs/index", "autoapi/bittensor/core/subtensor_api/neurons/index", "autoapi/bittensor/core/subtensor_api/queries/index", "autoapi/bittensor/core/subtensor_api/staking/index", "autoapi/bittensor/core/subtensor_api/subnets/index", "autoapi/bittensor/core/subtensor_api/utils/index", "autoapi/bittensor/core/subtensor_api/wallets/index", "autoapi/bittensor/core/synapse/index", "autoapi/bittensor/core/tensor/index", "autoapi/bittensor/core/threadpool/index", "autoapi/bittensor/core/timelock/index", "autoapi/bittensor/core/types/index", "autoapi/bittensor/index", "autoapi/bittensor/utils/axon_utils/index", "autoapi/bittensor/utils/balance/index", "autoapi/bittensor/utils/btlogging/console/index", "autoapi/bittensor/utils/btlogging/defines/index", "autoapi/bittensor/utils/btlogging/format/index", "autoapi/bittensor/utils/btlogging/helpers/index", "autoapi/bittensor/utils/btlogging/index", "autoapi/bittensor/utils/btlogging/loggingmachine/index", "autoapi/bittensor/utils/easy_imports/index", "autoapi/bittensor/utils/formatting/index", "autoapi/bittensor/utils/index", "autoapi/bittensor/utils/liquidity/index", "autoapi/bittensor/utils/mock/index", "autoapi/bittensor/utils/mock/subtensor_mock/index", "autoapi/bittensor/utils/networking/index", "autoapi/bittensor/utils/registration/async_pow/index", "autoapi/bittensor/utils/registration/index", "autoapi/bittensor/utils/registration/pow/index", "autoapi/bittensor/utils/registration/register_cuda/index", "autoapi/bittensor/utils/subnets/index", "autoapi/bittensor/utils/substrate_utils/hasher/index", "autoapi/bittensor/utils/substrate_utils/index", "autoapi/bittensor/utils/substrate_utils/storage/index", "autoapi/bittensor/utils/version/index", "autoapi/bittensor/utils/weight_utils/index", "autoapi/index", "index"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1}, "filenames": ["autoapi/bittensor/core/async_subtensor/index.rst", "autoapi/bittensor/core/axon/index.rst", "autoapi/bittensor/core/chain_data/axon_info/index.rst", "autoapi/bittensor/core/chain_data/chain_identity/index.rst", "autoapi/bittensor/core/chain_data/delegate_info/index.rst", "autoapi/bittensor/core/chain_data/delegate_info_lite/index.rst", "autoapi/bittensor/core/chain_data/dynamic_info/index.rst", "autoapi/bittensor/core/chain_data/index.rst", "autoapi/bittensor/core/chain_data/info_base/index.rst", "autoapi/bittensor/core/chain_data/ip_info/index.rst", "autoapi/bittensor/core/chain_data/metagraph_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info_lite/index.rst", "autoapi/bittensor/core/chain_data/prometheus_info/index.rst", "autoapi/bittensor/core/chain_data/proposal_vote_data/index.rst", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.rst", "autoapi/bittensor/core/chain_data/stake_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.rst", "autoapi/bittensor/core/chain_data/subnet_identity/index.rst", "autoapi/bittensor/core/chain_data/subnet_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_state/index.rst", "autoapi/bittensor/core/chain_data/utils/index.rst", "autoapi/bittensor/core/chain_data/weight_commit_info/index.rst", "autoapi/bittensor/core/config/index.rst", "autoapi/bittensor/core/dendrite/index.rst", "autoapi/bittensor/core/errors/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/children/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/registration/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/root/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/serving/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/staking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/take/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/weights/index.rst", "autoapi/bittensor/core/extrinsics/children/index.rst", "autoapi/bittensor/core/extrinsics/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/commit_weights/index.rst", "autoapi/bittensor/core/extrinsics/index.rst", "autoapi/bittensor/core/extrinsics/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/registration/index.rst", "autoapi/bittensor/core/extrinsics/root/index.rst", "autoapi/bittensor/core/extrinsics/serving/index.rst", "autoapi/bittensor/core/extrinsics/set_weights/index.rst", "autoapi/bittensor/core/extrinsics/staking/index.rst", "autoapi/bittensor/core/extrinsics/start_call/index.rst", "autoapi/bittensor/core/extrinsics/take/index.rst", "autoapi/bittensor/core/extrinsics/transfer/index.rst", "autoapi/bittensor/core/extrinsics/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/utils/index.rst", "autoapi/bittensor/core/index.rst", "autoapi/bittensor/core/metagraph/index.rst", "autoapi/bittensor/core/settings/index.rst", "autoapi/bittensor/core/stream/index.rst", "autoapi/bittensor/core/subtensor/index.rst", "autoapi/bittensor/core/subtensor_api/chain/index.rst", "autoapi/bittensor/core/subtensor_api/commitments/index.rst", "autoapi/bittensor/core/subtensor_api/delegates/index.rst", "autoapi/bittensor/core/subtensor_api/extrinsics/index.rst", "autoapi/bittensor/core/subtensor_api/index.rst", "autoapi/bittensor/core/subtensor_api/metagraphs/index.rst", "autoapi/bittensor/core/subtensor_api/neurons/index.rst", "autoapi/bittensor/core/subtensor_api/queries/index.rst", "autoapi/bittensor/core/subtensor_api/staking/index.rst", "autoapi/bittensor/core/subtensor_api/subnets/index.rst", "autoapi/bittensor/core/subtensor_api/utils/index.rst", "autoapi/bittensor/core/subtensor_api/wallets/index.rst", "autoapi/bittensor/core/synapse/index.rst", "autoapi/bittensor/core/tensor/index.rst", "autoapi/bittensor/core/threadpool/index.rst", "autoapi/bittensor/core/timelock/index.rst", "autoapi/bittensor/core/types/index.rst", "autoapi/bittensor/index.rst", "autoapi/bittensor/utils/axon_utils/index.rst", "autoapi/bittensor/utils/balance/index.rst", "autoapi/bittensor/utils/btlogging/console/index.rst", "autoapi/bittensor/utils/btlogging/defines/index.rst", "autoapi/bittensor/utils/btlogging/format/index.rst", "autoapi/bittensor/utils/btlogging/helpers/index.rst", "autoapi/bittensor/utils/btlogging/index.rst", "autoapi/bittensor/utils/btlogging/loggingmachine/index.rst", "autoapi/bittensor/utils/easy_imports/index.rst", "autoapi/bittensor/utils/formatting/index.rst", "autoapi/bittensor/utils/index.rst", "autoapi/bittensor/utils/liquidity/index.rst", "autoapi/bittensor/utils/mock/index.rst", "autoapi/bittensor/utils/mock/subtensor_mock/index.rst", "autoapi/bittensor/utils/networking/index.rst", "autoapi/bittensor/utils/registration/async_pow/index.rst", "autoapi/bittensor/utils/registration/index.rst", "autoapi/bittensor/utils/registration/pow/index.rst", "autoapi/bittensor/utils/registration/register_cuda/index.rst", "autoapi/bittensor/utils/subnets/index.rst", "autoapi/bittensor/utils/substrate_utils/hasher/index.rst", "autoapi/bittensor/utils/substrate_utils/index.rst", "autoapi/bittensor/utils/substrate_utils/storage/index.rst", "autoapi/bittensor/utils/version/index.rst", "autoapi/bittensor/utils/weight_utils/index.rst", "autoapi/index.rst", "index.rst"], "indexentries": {"__repr__() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.__repr__", false]], "__repr__() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.__repr__", false]], "__setattr__() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.__setattr__", false]], "__str__() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.__str__", false]], "__str__() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.__str__", false]], "account (bittensor.utils.mock.subtensor_mock.mocksystemstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSystemState.Account", false]], "accountid (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.AccountId", false]], "aclose_session() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.aclose_session", false]], "aclose_session() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.aclose_session", false], [24, "id0", false]], "active (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.active", false]], "active (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Active", false]], "active (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.active", false]], "active (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.active", false]], "active (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.active", false]], "active (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.active", false]], "active (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.active", false]], "active (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.active", false]], "active (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Active", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.activity_cutoff", false]], "activitycutoff (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ActivityCutoff", false]], "add_args() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.add_args", false]], "add_args() (bittensor.core.subtensor_api.subtensorapi class method)": [[65, "bittensor.core.subtensor_api.SubtensorApi.add_args", false]], "add_args() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.add_args", false]], "add_args() (bittensor.core.types.subtensormixin class method)": [[77, "bittensor.core.types.SubtensorMixin.add_args", false]], "add_args() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.add_args", false]], "add_legacy_methods() (in module bittensor.core.subtensor_api.utils)": [[71, "bittensor.core.subtensor_api.utils.add_legacy_methods", false]], "add_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_liquidity", false]], "add_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_liquidity", false]], "add_liquidity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.add_liquidity", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.add_liquidity_extrinsic", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[44, "bittensor.core.extrinsics.liquidity.add_liquidity_extrinsic", false]], "add_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake", false]], "add_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.add_stake", false]], "add_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake", false]], "add_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.add_stake", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[34, "bittensor.core.extrinsics.asyncex.staking.add_stake_extrinsic", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.staking)": [[50, "bittensor.core.extrinsics.staking.add_stake_extrinsic", false]], "add_stake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake_multiple", false]], "add_stake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.add_stake_multiple", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[34, "bittensor.core.extrinsics.asyncex.staking.add_stake_multiple_extrinsic", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.staking)": [[50, "bittensor.core.extrinsics.staking.add_stake_multiple_extrinsic", false]], "additional (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.additional", false]], "additional (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.additional", false]], "addresses (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.addresses", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_alpha", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_interval", false]], "adjustmentalpha (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentAlpha", false]], "adjustmentinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentInterval", false]], "after_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_debug", false]], "after_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_trace", false]], "after_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_debug", false]], "after_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_default", false]], "after_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_info", false]], "after_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_trace", false]], "after_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_warning", false]], "after_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_transition", false]], "all_indices() (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex static method)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.all_indices", false]], "all_logger_names() (in module bittensor.utils.btlogging.helpers)": [[84, "bittensor.utils.btlogging.helpers.all_logger_names", false]], "all_loggers() (in module bittensor.utils.btlogging.helpers)": [[84, "bittensor.utils.btlogging.helpers.all_loggers", false]], "all_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.all_subnets", false]], "all_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.all_subnets", false]], "all_subnets() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.all_subnets", false]], "allowed_delta (in module bittensor.utils.axon_utils)": [[79, "bittensor.utils.axon_utils.ALLOWED_DELTA", false]], "allowed_nonce_window_ns() (in module bittensor.utils.axon_utils)": [[79, "bittensor.utils.axon_utils.allowed_nonce_window_ns", false]], "alpha_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_dividends_per_hotkey", false]], "alpha_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.alpha_dividends_per_hotkey", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_high", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_high", false]], "alpha_high (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_high", false]], "alpha_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_in", false]], "alpha_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_in_emission", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_low", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_low", false]], "alpha_low (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_low", false]], "alpha_out (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_out", false]], "alpha_out_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_out_emission", false]], "alpha_sigmoid_steepness (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_sigmoid_steepness", false]], "alpha_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_slippage", false]], "alpha_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_stake", false]], "alpha_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.alpha_stake", false]], "alpha_to_tao() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao", false]], "alpha_to_tao_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao_with_slippage", false]], "alphadividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaDividendsPerHotkey", false]], "alphahigh (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaHigh", false]], "alphain (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaIn", false]], "alphainemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaInEmission", false]], "alphalow (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaLow", false]], "alphaout (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOut", false]], "alphaoutemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOutEmission", false]], "alphastake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaStake", false]], "app (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.app", false]], "aquery() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.aquery", false]], "arbitration_block (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.arbitration_block", false]], "archive_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.ARCHIVE_ENTRYPOINT", false]], "as (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.AS", false]], "async_metagraph() (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.async_metagraph", false]], "async_subtensor (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.async_subtensor", false]], "asyncmetagraph (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.AsyncMetagraph", false]], "asyncsubtensor (class in bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor", false]], "attach() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.attach", false]], "axon (bittensor.core.axon.axonmiddleware attribute)": [[1, "bittensor.core.axon.AxonMiddleware.axon", false]], "axon (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.axon", false]], "axon (class in bittensor.core.axon)": [[1, "bittensor.core.axon.Axon", false]], "axon (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.axon", false]], "axon_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.axon_info", false]], "axon_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.axon_info", false]], "axoninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.AxonInfo", false]], "axoninfo (class in bittensor.core.chain_data.axon_info)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo", false]], "axoninfodict (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict", false]], "axonmiddleware (class in bittensor.core.axon)": [[1, "bittensor.core.axon.AxonMiddleware", false]], "axons (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.axons", false]], "axons (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Axons", false]], "axons (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.axons", false]], "axonservecallparams (class in bittensor.core.types)": [[77, "bittensor.core.types.AxonServeCallParams", false]], "ayes (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.ayes", false]], "b (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.B", false]], "balance (class in bittensor.utils.balance)": [[80, "bittensor.utils.balance.Balance", false]], "base_log_format (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.BASE_LOG_FORMAT", false]], "baseclass (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.BaseClass", false]], "basemodel (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.BaseModel", false]], "before_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_debug", false]], "before_disable_logging() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_logging", false]], "before_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_trace", false]], "before_enable_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_console", false]], "before_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_debug", false]], "before_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_default", false]], "before_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_info", false]], "before_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_trace", false]], "before_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_warning", false]], "before_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_transition", false]], "bits (bittensor.utils.balance.fixedpoint attribute)": [[80, "bittensor.utils.balance.FixedPoint.bits", false]], "bittensor": [[78, "module-bittensor", false]], "bittensor.core": [[56, "module-bittensor.core", false]], "bittensor.core.async_subtensor": [[0, "module-bittensor.core.async_subtensor", false]], "bittensor.core.axon": [[1, "module-bittensor.core.axon", false]], "bittensor.core.chain_data": [[7, "module-bittensor.core.chain_data", false]], "bittensor.core.chain_data.axon_info": [[2, "module-bittensor.core.chain_data.axon_info", false]], "bittensor.core.chain_data.chain_identity": [[3, "module-bittensor.core.chain_data.chain_identity", false]], "bittensor.core.chain_data.delegate_info": [[4, "module-bittensor.core.chain_data.delegate_info", false]], "bittensor.core.chain_data.delegate_info_lite": [[5, "module-bittensor.core.chain_data.delegate_info_lite", false]], "bittensor.core.chain_data.dynamic_info": [[6, "module-bittensor.core.chain_data.dynamic_info", false]], "bittensor.core.chain_data.info_base": [[8, "module-bittensor.core.chain_data.info_base", false]], "bittensor.core.chain_data.ip_info": [[9, "module-bittensor.core.chain_data.ip_info", false]], "bittensor.core.chain_data.metagraph_info": [[10, "module-bittensor.core.chain_data.metagraph_info", false]], "bittensor.core.chain_data.neuron_info": [[11, "module-bittensor.core.chain_data.neuron_info", false]], "bittensor.core.chain_data.neuron_info_lite": [[12, "module-bittensor.core.chain_data.neuron_info_lite", false]], "bittensor.core.chain_data.prometheus_info": [[13, "module-bittensor.core.chain_data.prometheus_info", false]], "bittensor.core.chain_data.proposal_vote_data": [[14, "module-bittensor.core.chain_data.proposal_vote_data", false]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false]], "bittensor.core.chain_data.stake_info": [[16, "module-bittensor.core.chain_data.stake_info", false]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, "module-bittensor.core.chain_data.subnet_hyperparameters", false]], "bittensor.core.chain_data.subnet_identity": [[18, "module-bittensor.core.chain_data.subnet_identity", false]], "bittensor.core.chain_data.subnet_info": [[19, "module-bittensor.core.chain_data.subnet_info", false]], "bittensor.core.chain_data.subnet_state": [[20, "module-bittensor.core.chain_data.subnet_state", false]], "bittensor.core.chain_data.utils": [[21, "module-bittensor.core.chain_data.utils", false]], "bittensor.core.chain_data.weight_commit_info": [[22, "module-bittensor.core.chain_data.weight_commit_info", false]], "bittensor.core.config": [[23, "module-bittensor.core.config", false]], "bittensor.core.dendrite": [[24, "module-bittensor.core.dendrite", false]], "bittensor.core.errors": [[25, "module-bittensor.core.errors", false]], "bittensor.core.extrinsics": [[43, "module-bittensor.core.extrinsics", false]], "bittensor.core.extrinsics.asyncex": [[28, "module-bittensor.core.extrinsics.asyncex", false]], "bittensor.core.extrinsics.asyncex.children": [[26, "module-bittensor.core.extrinsics.asyncex.children", false]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[27, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false]], "bittensor.core.extrinsics.asyncex.liquidity": [[29, "module-bittensor.core.extrinsics.asyncex.liquidity", false]], "bittensor.core.extrinsics.asyncex.move_stake": [[30, "module-bittensor.core.extrinsics.asyncex.move_stake", false]], "bittensor.core.extrinsics.asyncex.registration": [[31, "module-bittensor.core.extrinsics.asyncex.registration", false]], "bittensor.core.extrinsics.asyncex.root": [[32, "module-bittensor.core.extrinsics.asyncex.root", false]], "bittensor.core.extrinsics.asyncex.serving": [[33, "module-bittensor.core.extrinsics.asyncex.serving", false]], "bittensor.core.extrinsics.asyncex.staking": [[34, "module-bittensor.core.extrinsics.asyncex.staking", false]], "bittensor.core.extrinsics.asyncex.start_call": [[35, "module-bittensor.core.extrinsics.asyncex.start_call", false]], "bittensor.core.extrinsics.asyncex.take": [[36, "module-bittensor.core.extrinsics.asyncex.take", false]], "bittensor.core.extrinsics.asyncex.transfer": [[37, "module-bittensor.core.extrinsics.asyncex.transfer", false]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, "module-bittensor.core.extrinsics.asyncex.unstaking", false]], "bittensor.core.extrinsics.asyncex.weights": [[39, "module-bittensor.core.extrinsics.asyncex.weights", false]], "bittensor.core.extrinsics.children": [[40, "module-bittensor.core.extrinsics.children", false]], "bittensor.core.extrinsics.commit_reveal": [[41, "module-bittensor.core.extrinsics.commit_reveal", false]], "bittensor.core.extrinsics.commit_weights": [[42, "module-bittensor.core.extrinsics.commit_weights", false]], "bittensor.core.extrinsics.liquidity": [[44, "module-bittensor.core.extrinsics.liquidity", false]], "bittensor.core.extrinsics.move_stake": [[45, "module-bittensor.core.extrinsics.move_stake", false]], "bittensor.core.extrinsics.registration": [[46, "module-bittensor.core.extrinsics.registration", false]], "bittensor.core.extrinsics.root": [[47, "module-bittensor.core.extrinsics.root", false]], "bittensor.core.extrinsics.serving": [[48, "module-bittensor.core.extrinsics.serving", false]], "bittensor.core.extrinsics.set_weights": [[49, "module-bittensor.core.extrinsics.set_weights", false]], "bittensor.core.extrinsics.staking": [[50, "module-bittensor.core.extrinsics.staking", false]], "bittensor.core.extrinsics.start_call": [[51, "module-bittensor.core.extrinsics.start_call", false]], "bittensor.core.extrinsics.take": [[52, "module-bittensor.core.extrinsics.take", false]], "bittensor.core.extrinsics.transfer": [[53, "module-bittensor.core.extrinsics.transfer", false]], "bittensor.core.extrinsics.unstaking": [[54, "module-bittensor.core.extrinsics.unstaking", false]], "bittensor.core.extrinsics.utils": [[55, "module-bittensor.core.extrinsics.utils", false]], "bittensor.core.metagraph": [[57, "module-bittensor.core.metagraph", false]], "bittensor.core.settings": [[58, "module-bittensor.core.settings", false]], "bittensor.core.stream": [[59, "module-bittensor.core.stream", false]], "bittensor.core.subtensor": [[60, "module-bittensor.core.subtensor", false]], "bittensor.core.subtensor_api": [[65, "module-bittensor.core.subtensor_api", false]], "bittensor.core.subtensor_api.chain": [[61, "module-bittensor.core.subtensor_api.chain", false]], "bittensor.core.subtensor_api.commitments": [[62, "module-bittensor.core.subtensor_api.commitments", false]], "bittensor.core.subtensor_api.delegates": [[63, "module-bittensor.core.subtensor_api.delegates", false]], "bittensor.core.subtensor_api.extrinsics": [[64, "module-bittensor.core.subtensor_api.extrinsics", false]], "bittensor.core.subtensor_api.metagraphs": [[66, "module-bittensor.core.subtensor_api.metagraphs", false]], "bittensor.core.subtensor_api.neurons": [[67, "module-bittensor.core.subtensor_api.neurons", false]], "bittensor.core.subtensor_api.queries": [[68, "module-bittensor.core.subtensor_api.queries", false]], "bittensor.core.subtensor_api.staking": [[69, "module-bittensor.core.subtensor_api.staking", false]], "bittensor.core.subtensor_api.subnets": [[70, "module-bittensor.core.subtensor_api.subnets", false]], "bittensor.core.subtensor_api.utils": [[71, "module-bittensor.core.subtensor_api.utils", false]], "bittensor.core.subtensor_api.wallets": [[72, "module-bittensor.core.subtensor_api.wallets", false]], "bittensor.core.synapse": [[73, "module-bittensor.core.synapse", false]], "bittensor.core.tensor": [[74, "module-bittensor.core.tensor", false]], "bittensor.core.threadpool": [[75, "module-bittensor.core.threadpool", false]], "bittensor.core.timelock": [[76, "module-bittensor.core.timelock", false]], "bittensor.core.types": [[77, "module-bittensor.core.types", false]], "bittensor.utils": [[89, "module-bittensor.utils", false]], "bittensor.utils.axon_utils": [[79, "module-bittensor.utils.axon_utils", false]], "bittensor.utils.balance": [[80, "module-bittensor.utils.balance", false]], "bittensor.utils.btlogging": [[85, "module-bittensor.utils.btlogging", false]], "bittensor.utils.btlogging.console": [[81, "module-bittensor.utils.btlogging.console", false]], "bittensor.utils.btlogging.defines": [[82, "module-bittensor.utils.btlogging.defines", false]], "bittensor.utils.btlogging.format": [[83, "module-bittensor.utils.btlogging.format", false]], "bittensor.utils.btlogging.helpers": [[84, "module-bittensor.utils.btlogging.helpers", false]], "bittensor.utils.btlogging.loggingmachine": [[86, "module-bittensor.utils.btlogging.loggingmachine", false]], "bittensor.utils.easy_imports": [[87, "module-bittensor.utils.easy_imports", false]], "bittensor.utils.formatting": [[88, "module-bittensor.utils.formatting", false]], "bittensor.utils.liquidity": [[90, "module-bittensor.utils.liquidity", false]], "bittensor.utils.mock": [[91, "module-bittensor.utils.mock", false]], "bittensor.utils.mock.subtensor_mock": [[92, "module-bittensor.utils.mock.subtensor_mock", false]], "bittensor.utils.networking": [[93, "module-bittensor.utils.networking", false]], "bittensor.utils.registration": [[95, "module-bittensor.utils.registration", false]], "bittensor.utils.registration.async_pow": [[94, "module-bittensor.utils.registration.async_pow", false]], "bittensor.utils.registration.pow": [[96, "module-bittensor.utils.registration.pow", false]], "bittensor.utils.registration.register_cuda": [[97, "module-bittensor.utils.registration.register_cuda", false]], "bittensor.utils.subnets": [[98, "module-bittensor.utils.subnets", false]], "bittensor.utils.substrate_utils": [[100, "module-bittensor.utils.substrate_utils", false]], "bittensor.utils.substrate_utils.hasher": [[99, "module-bittensor.utils.substrate_utils.hasher", false]], "bittensor.utils.substrate_utils.storage": [[101, "module-bittensor.utils.substrate_utils.storage", false]], "bittensor.utils.version": [[102, "module-bittensor.utils.version", false]], "bittensor.utils.weight_utils": [[103, "module-bittensor.utils.weight_utils", false]], "bittensor_logger_name (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.BITTENSOR_LOGGER_NAME", false]], "bittensorconsole (class in bittensor.utils.btlogging.console)": [[81, "bittensor.utils.btlogging.console.BittensorConsole", false]], "blacklist() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.blacklist", false]], "blacklist_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.blacklist_fns", false]], "blacklistedexception": [[25, "bittensor.core.errors.BlacklistedException", false]], "blake2_128() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.blake2_128", false]], "blake2_128_concat() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.blake2_128_concat", false]], "blake2_256() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.blake2_256", false]], "block (bittensor.core.async_subtensor.asyncsubtensor property)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.block", false]], "block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block", false]], "block (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Block", false]], "block (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.block", false]], "block (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.block", false]], "block (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.block", false]], "block (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.block", false]], "block (bittensor.core.subtensor.subtensor property)": [[60, "bittensor.core.subtensor.Subtensor.block", false]], "block (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.block", false]], "block (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.block", false]], "block (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.block", false]], "block_at_registration (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block_at_registration", false]], "block_at_registration (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.block_at_registration", false]], "block_at_registration (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.block_at_registration", false]], "block_hash (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.block_hash", false]], "block_number (bittensor.utils.mock.subtensor_mock.mocksubtensor attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.block_number", false]], "block_number (bittensor.utils.registration.pow.powsolution attribute)": [[96, "bittensor.utils.registration.pow.POWSolution.block_number", false]], "block_number (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.block_number", false]], "blockatregistration (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlockAtRegistration", false]], "blocknotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.BlockNotFound", false]], "blocknumber (in module bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.BlockNumber", false]], "blocks_since_epoch (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.blocks_since_epoch", false]], "blocks_since_last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.blocks_since_last_step", false]], "blocks_since_last_update (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.blocks_since_last_update", false]], "blockssincelaststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlocksSinceLastStep", false]], "blocktime (in module bittensor.core.settings)": [[58, "bittensor.core.settings.BLOCKTIME", false]], "body_hash (bittensor.core.synapse.synapse property)": [[73, "id0", false]], "body_hash() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.body_hash", false]], "bonds (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.bonds", false]], "bonds (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.bonds", false]], "bonds (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.bonds", false]], "bonds (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.bonds", false]], "bonds (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.bonds", false]], "bonds() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.bonds", false]], "bonds() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.bonds", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_moving_avg", false]], "bonds_reset_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_reset_enabled", false]], "bondsmovingavg (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BondsMovingAvg", false]], "brokenthreadpool": [[75, "bittensor.core.threadpool.BrokenThreadPool", false]], "bt_docs_link (in module bittensor.utils)": [[89, "bittensor.utils.BT_DOCS_LINK", false]], "btfileformatter (class in bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.BtFileFormatter", false]], "btstreamformatter (class in bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter", false]], "btstreamingresponsemodel (class in bittensor.core.stream)": [[59, "bittensor.core.stream.BTStreamingResponseModel", false]], "buffer (bittensor.core.tensor.tensor attribute)": [[74, "bittensor.core.tensor.Tensor.buffer", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Burn", false]], "burn (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.burn", false]], "burned_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.burned_register", false]], "burned_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.burned_register", false]], "burned_register() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.burned_register", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.burned_register_extrinsic", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[46, "bittensor.core.extrinsics.registration.burned_register_extrinsic", false]], "c (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.C", false]], "calculate_diff_seconds() (in module bittensor.utils.axon_utils)": [[79, "bittensor.utils.axon_utils.calculate_diff_seconds", false]], "calculate_fees() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.calculate_fees", false]], "call() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.call", false]], "call() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.call", false], [24, "id3", false]], "call() (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.call", false]], "call_stream() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.call_stream", false]], "call_stream() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.call_stream", false], [24, "id4", false]], "cast_dtype() (in module bittensor.core.tensor)": [[74, "bittensor.core.tensor.cast_dtype", false]], "cast_float() (in module bittensor.core.synapse)": [[73, "bittensor.core.synapse.cast_float", false]], "cast_int() (in module bittensor.core.synapse)": [[73, "bittensor.core.synapse.cast_int", false]], "cast_shape() (in module bittensor.core.tensor)": [[74, "bittensor.core.tensor.cast_shape", false]], "certificate (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.certificate", false]], "certificate (class in bittensor.utils)": [[89, "bittensor.utils.Certificate", false]], "chain (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.chain", false]], "chain (class in bittensor.core.subtensor_api.chain)": [[61, "bittensor.core.subtensor_api.chain.Chain", false]], "chain_endpoint (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.chain_endpoint", false]], "chain_endpoint (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.chain_endpoint", false]], "chain_endpoint (bittensor.core.types.subtensormixin attribute)": [[77, "bittensor.core.types.SubtensorMixin.chain_endpoint", false]], "chain_state (bittensor.utils.mock.subtensor_mock.mocksubtensor attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.chain_state", false]], "chainconnectionerror": [[25, "bittensor.core.errors.ChainConnectionError", false]], "chaindatatype (class in bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.ChainDataType", false]], "chainerror": [[25, "bittensor.core.errors.ChainError", false]], "chainidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.ChainIdentity", false]], "chainidentity (class in bittensor.core.chain_data.chain_identity)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity", false]], "chainqueryerror": [[25, "bittensor.core.errors.ChainQueryError", false]], "chaintransactionerror": [[25, "bittensor.core.errors.ChainTransactionError", false]], "check_and_convert_to_balance() (in module bittensor.utils.balance)": [[80, "bittensor.utils.balance.check_and_convert_to_balance", false]], "check_config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.check_config", false]], "check_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.check_config", false]], "check_latest_version_in_pypi() (in module bittensor.utils.version)": [[102, "bittensor.utils.version.check_latest_version_in_pypi", false]], "check_version (in module bittensor.utils)": [[89, "bittensor.utils.check_version", false]], "check_version() (in module bittensor.utils.version)": [[102, "bittensor.utils.version.check_version", false]], "close (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.close", false]], "close() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.close", false]], "close() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.close", false]], "close_session() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.close_session", false]], "close_session() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.close_session", false], [24, "id5", false]], "coldkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.coldkey", false]], "coldkey (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.coldkey", false]], "coldkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.coldkey_ss58", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.coldkeys", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Coldkeys", false]], "coldkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.coldkeys", false]], "coldkeys (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.coldkeys", false]], "color_map (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.color_map", false]], "commit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit", false]], "commit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.commit", false]], "commit() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.commit", false]], "commit_hex (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_hex", false]], "commit_reveal_enabled (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.commit_reveal_enabled", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_period", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.asyncex.commit_reveal)": [[27, "bittensor.core.extrinsics.asyncex.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.commit_reveal)": [[41, "bittensor.core.extrinsics.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_weights_enabled", false]], "commit_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.commit_weights", false]], "commit_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_weights", false]], "commit_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.commit_weights", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[39, "bittensor.core.extrinsics.asyncex.weights.commit_weights_extrinsic", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[42, "bittensor.core.extrinsics.commit_weights.commit_weights_extrinsic", false]], "commitments (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.commitments", false]], "commitments (class in bittensor.core.subtensor_api.commitments)": [[62, "bittensor.core.subtensor_api.commitments.Commitments", false]], "commitrevealperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealPeriod", false]], "commitrevealweightsenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealWeightsEnabled", false]], "computed_body_hash (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.computed_body_hash", false]], "config (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.config", false]], "config (class in bittensor.core.config)": [[23, "bittensor.core.config.Config", false]], "config (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.config", false]], "config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.config", false]], "config() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.config", false]], "config() (bittensor.core.types.subtensormixin static method)": [[77, "bittensor.core.types.SubtensorMixin.config", false]], "config() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.config", false]], "connection_requirements (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.connection_requirements", false]], "consensus (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.consensus", false]], "consensus (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Consensus", false]], "consensus (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.consensus", false]], "consensus (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.consensus", false]], "consensus (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.consensus", false]], "consensus (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.consensus", false]], "consensus (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.consensus", false]], "consensus (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.consensus", false]], "console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.console", false]], "console (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.console", false]], "console (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.Console", false]], "convert_and_normalize_weights_and_uids() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.convert_and_normalize_weights_and_uids", false]], "convert_bond_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.convert_bond_uids_and_vals_to_tensor", false]], "convert_root_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.convert_root_weight_uids_and_vals_to_tensor", false]], "convert_storage_parameter() (bittensor.utils.substrate_utils.storage.storagekey method)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.convert_storage_parameter", false]], "convert_uids_and_weights() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.convert_uids_and_weights", false]], "convert_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.convert_weight_uids_and_vals_to_tensor", false]], "convert_weights_and_uids_for_emit() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.convert_weights_and_uids_for_emit", false]], "copy() (bittensor.core.types.axonservecallparams method)": [[77, "bittensor.core.types.AxonServeCallParams.copy", false]], "coroutine (bittensor.utils.mock.subtensor_mock.reusablecoroutine attribute)": [[92, "bittensor.utils.mock.subtensor_mock.ReusableCoroutine.coroutine", false]], "create_error_response() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.create_error_response", false]], "create_from_data() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_data", false]], "create_from_storage_function() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_storage_function", false]], "create_pow() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.create_pow", false]], "create_pow_async() (in module bittensor.utils.registration.async_pow)": [[94, "bittensor.utils.registration.async_pow.create_pow_async", false]], "create_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[59, "bittensor.core.stream.StreamingSynapse.create_streaming_response", false]], "create_subnet() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.create_subnet", false]], "critical() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.critical", false]], "critical() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.critical", false]], "cudasolver (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.CUDASolver", false]], "custom_logger_method_stack_level (in module bittensor.utils.btlogging.loggingmachine)": [[86, "bittensor.utils.btlogging.loggingmachine.CUSTOM_LOGGER_METHOD_STACK_LEVEL", false]], "d (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.D", false]], "data (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.data", false]], "date_format (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.DATE_FORMAT", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.debug", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Debug", false]], "debug() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.debug", false]], "debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.debug", false]], "debug() (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.debug", false]], "decode_account_id() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_account_id", false]], "decode_account_id_list() (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo class method)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.decode_account_id_list", false]], "decode_block() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_block", false]], "decode_hex_identity_dict() (in module bittensor.utils)": [[89, "bittensor.utils.decode_hex_identity_dict", false]], "decode_metadata() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_metadata", false]], "decode_revealed_commitment() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_revealed_commitment", false]], "decode_revealed_commitment_with_hotkey() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_revealed_commitment_with_hotkey", false]], "decode_scale_value() (bittensor.utils.substrate_utils.storage.storagekey method)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.decode_scale_value", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[36, "bittensor.core.extrinsics.asyncex.take.decrease_take_extrinsic", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[52, "bittensor.core.extrinsics.take.decrease_take_extrinsic", false]], "decrypt() (in module bittensor.core.timelock)": [[76, "bittensor.core.timelock.decrypt", false]], "default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Default", false]], "default() (bittensor.core.config.defaultconfig class method)": [[23, "bittensor.core.config.DefaultConfig.default", false]], "default() (bittensor.utils.mock.subtensor_mock.axoninfodict class method)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.default", false]], "default() (bittensor.utils.mock.subtensor_mock.infodict class method)": [[92, "bittensor.utils.mock.subtensor_mock.InfoDict.default", false]], "default() (bittensor.utils.mock.subtensor_mock.prometheusinfodict class method)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.default", false]], "default_endpoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.DEFAULT_ENDPOINT", false]], "default_log_backup_count (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.DEFAULT_LOG_BACKUP_COUNT", false]], "default_log_file_name (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.DEFAULT_LOG_FILE_NAME", false]], "default_log_format (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.DEFAULT_LOG_FORMAT", false]], "default_max_rotating_log_file_size (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.DEFAULT_MAX_ROTATING_LOG_FILE_SIZE", false]], "default_network (in module bittensor.core.settings)": [[58, "bittensor.core.settings.DEFAULT_NETWORK", false]], "default_trace_format (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.DEFAULT_TRACE_FORMAT", false]], "default_verify() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.default_verify", false]], "defaultconfig (class in bittensor.core.config)": [[23, "bittensor.core.config.DefaultConfig", false]], "defaults (in module bittensor.core.settings)": [[58, "bittensor.core.settings.DEFAULTS", false]], "delegate_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.delegate_ss58", false]], "delegatedinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DelegatedInfo", false]], "delegatedinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo", false]], "delegateinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DelegateInfo", false]], "delegateinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo", false]], "delegateinfobase (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase", false]], "delegateinfolite (class in bittensor.core.chain_data.delegate_info_lite)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite", false]], "delegates (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.delegates", false]], "delegates (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Delegates", false]], "delegates (class in bittensor.core.subtensor_api.delegates)": [[63, "bittensor.core.subtensor_api.delegates.Delegates", false]], "delegatetaketoohigh": [[25, "bittensor.core.errors.DelegateTakeTooHigh", false]], "delegatetaketoolow": [[25, "bittensor.core.errors.DelegateTakeTooLow", false]], "delegatetxratelimitexceeded": [[25, "bittensor.core.errors.DelegateTxRateLimitExceeded", false]], "dendrite (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.dendrite", false]], "dendrite (bittensor.utils.subnets.subnetsapi attribute)": [[98, "bittensor.utils.subnets.SubnetsAPI.dendrite", false]], "dendrite (class in bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.Dendrite", false]], "dendrite (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.dendrite", false]], "dendrite_default_error (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DENDRITE_DEFAULT_ERROR", false]], "dendrite_error_mapping (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DENDRITE_ERROR_MAPPING", false]], "dendritemixin (class in bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DendriteMixin", false]], "deregister_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.deregister_primary_logger", false]], "description (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.description", false]], "description (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.description", false]], "deserialize() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.deserialize", false], [73, "id1", false]], "deserialize() (bittensor.core.tensor.tensor method)": [[74, "bittensor.core.tensor.Tensor.deserialize", false]], "determine_block_hash (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.determine_block_hash", false]], "determine_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.determine_block_hash", false]], "determine_block_hash() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.determine_block_hash", false]], "determine_chain_endpoint_and_network() (in module bittensor.utils)": [[89, "bittensor.utils.determine_chain_endpoint_and_network", false]], "dev_id (bittensor.utils.registration.pow.cudasolver attribute)": [[96, "bittensor.utils.registration.pow.CUDASolver.dev_id", false]], "dict() (bittensor.core.types.axonservecallparams method)": [[77, "bittensor.core.types.AxonServeCallParams.dict", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.difficulty", false]], "difficulty (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.difficulty", false]], "difficulty (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Difficulty", false]], "difficulty (bittensor.utils.registration.pow.powsolution attribute)": [[96, "bittensor.utils.registration.pow.POWSolution.difficulty", false]], "difficulty (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.difficulty", false]], "difficulty() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.difficulty", false]], "difficulty() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.difficulty", false]], "disable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_debug", false]], "disable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_info", false]], "disable_logging (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_logging", false]], "disable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_third_party_loggers", false]], "disable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_trace", false]], "disable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_warning", false]], "disabled (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Disabled", false]], "discord (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.discord", false]], "discord (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.discord", false]], "dispatch() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.dispatch", false]], "dividends (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.dividends", false]], "dividends (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Dividends", false]], "dividends (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.dividends", false]], "dividends (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.dividends", false]], "dividends (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.dividends", false]], "dividends (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.dividends", false]], "dividends (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.dividends", false]], "dividends (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.dividends", false]], "do_block_step() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_block_step", false]], "do_serve_axon() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_serve_axon", false]], "do_serve_axon() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.do_serve_axon", false]], "do_serve_axon() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.do_serve_axon", false]], "do_serve_prometheus() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_serve_prometheus", false]], "do_set_weights() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_set_weights", false]], "do_transfer() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_transfer", false]], "does_hotkey_exist (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.does_hotkey_exist", false]], "drain (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.drain", false]], "dtype (bittensor.core.tensor.tensor attribute)": [[74, "bittensor.core.tensor.Tensor.dtype", false]], "dtypes (class in bittensor.core.tensor)": [[74, "bittensor.core.tensor.DTypes", false]], "dtypes (in module bittensor.core.tensor)": [[74, "bittensor.core.tensor.dtypes", false]], "duplicatechild": [[25, "bittensor.core.errors.DuplicateChild", false]], "dynamicinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DynamicInfo", false]], "dynamicinfo (class in bittensor.core.chain_data.dynamic_info)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo", false]], "e (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.E", false]], "emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Emission", false]], "emission (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.emission", false]], "emission (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.emission", false]], "emission (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.emission", false]], "emission (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.emission", false]], "emission (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.emission", false]], "emission (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.emission", false]], "emission (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.emission", false]], "emission_history (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.emission_history", false]], "emission_value (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.emission_value", false]], "emissions (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.emissions", false]], "emoji_map (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.emoji_map", false]], "enable_console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_console", false]], "enable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_debug", false]], "enable_default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_default", false]], "enable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_info", false]], "enable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_third_party_loggers", false]], "enable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_trace", false]], "enable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_warning", false]], "encode() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.encode", false]], "encode_params (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.encode_params", false]], "encode_params() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.encode_params", false]], "encode_params() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.encode_params", false]], "encrypt() (in module bittensor.core.timelock)": [[76, "bittensor.core.timelock.encrypt", false]], "end (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.end", false]], "error() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.error", false]], "error() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.error", false]], "event_loop_is_running() (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.event_loop_is_running", false]], "exception() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.exception", false]], "external_ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_ip", false]], "external_ip (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.external_ip", false]], "external_port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_port", false]], "externalipnotfound": [[93, "bittensor.utils.networking.ExternalIPNotFound", false]], "extract_response_json() (bittensor.core.stream.streamingsynapse method)": [[59, "bittensor.core.stream.StreamingSynapse.extract_response_json", false]], "extrinsicnotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.ExtrinsicNotFound", false]], "extrinsics (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.extrinsics", false]], "extrinsics (class in bittensor.core.subtensor_api.extrinsics)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics", false]], "extrinsics_subpackage (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.extrinsics_subpackage", false]], "failed_verification (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.failed_verification", false]], "fast_config (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_config", false]], "fast_server (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_server", false]], "fastapithreadedserver (class in bittensor.core.axon)": [[1, "bittensor.core.axon.FastAPIThreadedServer", false]], "fees_alpha (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.fees_alpha", false]], "fees_tao (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.fees_tao", false]], "filter_netuids_by_registered_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.filter_netuids_by_registered_hotkeys", false]], "finney_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.FINNEY_ENTRYPOINT", false]], "finney_test_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.FINNEY_TEST_ENTRYPOINT", false]], "fixed_to_float() (in module bittensor.utils.balance)": [[80, "bittensor.utils.balance.fixed_to_float", false]], "fixedpoint (class in bittensor.utils.balance)": [[80, "bittensor.utils.balance.FixedPoint", false]], "float_to_u64() (in module bittensor.utils)": [[89, "bittensor.utils.float_to_u64", false]], "force_register_neuron() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.force_register_neuron", false]], "force_set_balance() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.force_set_balance", false]], "format() (bittensor.utils.btlogging.format.btfileformatter method)": [[83, "bittensor.utils.btlogging.format.BtFileFormatter.format", false]], "format() (bittensor.utils.btlogging.format.btstreamformatter method)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter.format", false]], "format_error_message() (in module bittensor.utils)": [[89, "bittensor.utils.format_error_message", false]], "formattime() (bittensor.utils.btlogging.format.btfileformatter method)": [[83, "bittensor.utils.btlogging.format.BtFileFormatter.formatTime", false]], "formattime() (bittensor.utils.btlogging.format.btstreamformatter method)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter.formatTime", false]], "forward() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.forward", false]], "forward() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.forward", false], [24, "id7", false]], "forward_class_types (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_class_types", false]], "forward_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_fns", false]], "from_dict() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.from_dict", false]], "from_dict() (bittensor.core.chain_data.proposal_vote_data.proposalvotedata class method)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.from_dict", false]], "from_dict() (bittensor.core.chain_data.stake_info.stakeinfo class method)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.from_dict", false]], "from_error() (bittensor.core.errors.chainerror class method)": [[25, "bittensor.core.errors.ChainError.from_error", false]], "from_float() (bittensor.utils.balance.balance static method)": [[80, "bittensor.utils.balance.Balance.from_float", false]], "from_headers() (bittensor.core.synapse.synapse class method)": [[73, "id2", false]], "from_headers() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.from_headers", false]], "from_neuron_info() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_neuron_info", false]], "from_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_parameter_dict", false]], "from_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo class method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.from_parameter_dict", false]], "from_rao() (bittensor.utils.balance.balance static method)": [[80, "bittensor.utils.balance.Balance.from_rao", false]], "from_scale_encoding() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.from_scale_encoding", false]], "from_scale_encoding_using_type_string() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.from_scale_encoding_using_type_string", false]], "from_string() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_string", false]], "from_tao() (bittensor.utils.balance.balance static method)": [[80, "bittensor.utils.balance.Balance.from_tao", false]], "from_vec_u8() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8", false]], "from_weights_bonds_and_neuron_lite() (bittensor.core.chain_data.neuron_info.neuroninfo class method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.from_weights_bonds_and_neuron_lite", false]], "full_address (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.full_address", false]], "generate() (bittensor.utils.substrate_utils.storage.storagekey method)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.generate", false]], "generate_weight_hash() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.generate_weight_hash", false]], "get_all_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_all_commitments", false]], "get_all_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_commitments", false]], "get_all_commitments() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_commitments", false]], "get_all_metagraphs_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[66, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_metagraphs_info", false]], "get_all_neuron_certificates (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_neuron_certificates", false]], "get_all_revealed_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_revealed_commitments", false]], "get_all_subnets_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_subnets_info", false]], "get_and_save_latest_version() (in module bittensor.utils.version)": [[102, "bittensor.utils.version.get_and_save_latest_version", false]], "get_async_subtensor() (in module bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.get_async_subtensor", false]], "get_balance (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_balance", false]], "get_balance() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balance", false]], "get_balance() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_balance", false]], "get_balance() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_balance", false]], "get_balances (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_balances", false]], "get_balances() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balances", false]], "get_balances() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_balances", false]], "get_block_hash (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_block_hash", false]], "get_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_block_hash", false]], "get_block_hash() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_block_hash", false]], "get_block_hash() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_block_hash", false]], "get_children (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_children", false]], "get_children (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_children", false]], "get_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children", false]], "get_children() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_children", false]], "get_children_pending (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_children_pending", false]], "get_children_pending (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_children_pending", false]], "get_children_pending() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children_pending", false]], "get_children_pending() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_children_pending", false]], "get_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_commitment", false]], "get_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_commitment", false]], "get_commitment() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_commitment", false]], "get_commitment() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_commitment", false]], "get_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_config", false]], "get_cpu_count() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.get_cpu_count", false]], "get_current_block (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_current_block", false]], "get_current_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_block", false]], "get_current_block() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_current_block", false]], "get_current_block() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_current_block", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_current_weight_commit_info", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_current_weight_commit_info", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegate_by_hotkey", false]], "get_delegate_identities (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_delegate_identities", false]], "get_delegate_identities (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegate_identities", false]], "get_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_take", false]], "get_delegate_take (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_take", false]], "get_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_take", false]], "get_delegate_take() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegate_take", false]], "get_delegated (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegated", false]], "get_delegated (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_delegated", false]], "get_delegated() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegated", false]], "get_delegated() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegated", false]], "get_delegates (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegates", false]], "get_delegates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegates", false]], "get_delegates() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegates", false]], "get_existential_deposit (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_existential_deposit", false]], "get_explorer_url_for_network() (in module bittensor.utils)": [[89, "bittensor.utils.get_explorer_url_for_network", false]], "get_external_ip() (in module bittensor.utils.networking)": [[93, "bittensor.utils.networking.get_external_ip", false]], "get_fees() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.get_fees", false]], "get_fees_in_range() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.get_fees_in_range", false]], "get_formatted_ws_endpoint_url() (in module bittensor.utils.networking)": [[93, "bittensor.utils.networking.get_formatted_ws_endpoint_url", false]], "get_hash() (in module bittensor.utils)": [[89, "bittensor.utils.get_hash", false]], "get_hotkey_owner (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_hotkey_owner", false]], "get_hotkey_stake (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_stake", false]], "get_human_readable() (in module bittensor.utils.formatting)": [[88, "bittensor.utils.formatting.get_human_readable", false]], "get_hyperparameter (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_hyperparameter", false]], "get_last_bonds_reset() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.get_last_bonds_reset", false]], "get_last_bonds_reset() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.get_last_bonds_reset", false]], "get_last_commitment_bonds_reset_block (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_last_commitment_bonds_reset_block", false]], "get_level() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_level", false]], "get_liquidity_list (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_liquidity_list", false]], "get_max_logger_name_length() (in module bittensor.utils.btlogging.helpers)": [[84, "bittensor.utils.btlogging.helpers.get_max_logger_name_length", false]], "get_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.get_metadata", false]], "get_metadata() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.get_metadata", false]], "get_metagraph_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[66, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_metagraph_info", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_minimum_required_stake", false]], "get_netuids_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_netuids_for_hotkey", false]], "get_neuron_certificate (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_neuron_certificate", false]], "get_neuron_for_pubkey_and_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_neuron_for_pubkey_and_subnet", false]], "get_next_epoch_start_block (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_next_epoch_start_block", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info.neuroninfo static method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite static method)": [[12, "id0", false]], "get_old_stakes() (in module bittensor.core.extrinsics.utils)": [[55, "bittensor.core.extrinsics.utils.get_old_stakes", false]], "get_owned_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_owned_hotkeys", false]], "get_parents (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_parents", false]], "get_parents() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_parents", false]], "get_parents() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_parents", false]], "get_queue() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_queue", false]], "get_required_fields() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.get_required_fields", false]], "get_revealed_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_revealed_commitment", false]], "get_revealed_commitment_by_hotkey (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_revealed_commitment_by_hotkey", false]], "get_save_dir() (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.get_save_dir", false]], "get_size() (in module bittensor.core.synapse)": [[73, "bittensor.core.synapse.get_size", false]], "get_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake", false]], "get_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake", false]], "get_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake", false]], "get_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake", false]], "get_stake_add_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_add_fee", false]], "get_stake_add_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_add_fee", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_for_hotkey", false]], "get_stake_info_for_coldkey (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_info_for_coldkey", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_movement_fee", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_movement_fee", false]], "get_stake_operations_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_operations_fee", false]], "get_stake_operations_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_operations_fee", false]], "get_stake_operations_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_operations_fee", false]], "get_status_message() (bittensor.utils.registration.pow.registrationstatisticslogger class method)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.get_status_message", false]], "get_subnet_burn_cost (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_burn_cost", false]], "get_subnet_hyperparameters (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_hyperparameters", false]], "get_subnet_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_info", false]], "get_subnet_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_info", false]], "get_subnet_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_info", false]], "get_subnet_owner_hotkey (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_owner_hotkey", false]], "get_subnet_price (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_price", false]], "get_subnet_price() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_price", false]], "get_subnet_price() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_price", false]], "get_subnet_prices (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_prices", false]], "get_subnet_reveal_period_epochs (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_validator_permits (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_validator_permits", false]], "get_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnets", false]], "get_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnets", false]], "get_subnets() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnets", false]], "get_timestamp (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_timestamp", false]], "get_timestamp() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_timestamp", false]], "get_timestamp() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_timestamp", false]], "get_total_size() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.get_total_size", false], [73, "id3", false]], "get_total_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_total_subnets", false]], "get_total_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_total_subnets", false]], "get_total_subnets() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_total_subnets", false]], "get_transfer_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_transfer_fee", false]], "get_transfer_fee() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_transfer_fee", false]], "get_uid_for_hotkey_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_uid_for_hotkey_on_subnet", false]], "get_unit() (bittensor.utils.balance.balance static method)": [[80, "bittensor.utils.balance.Balance.get_unit", false]], "get_unstake_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_unstake_fee", false]], "get_unstake_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_unstake_fee", false]], "get_vote_data (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_vote_data", false]], "get_vote_data() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_vote_data", false]], "get_vote_data() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_vote_data", false]], "github (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.github", false]], "github_repo (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.github_repo", false]], "hash_rate (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate", false]], "hash_rate_perpetual (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate_perpetual", false]], "header_size (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.header_size", false]], "help (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.help", false]], "help() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.help", false]], "help() (bittensor.core.types.subtensormixin class method)": [[77, "bittensor.core.types.SubtensorMixin.help", false]], "help() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.help", false]], "hex_to_bytes (in module bittensor.utils)": [[89, "bittensor.utils.hex_to_bytes", false]], "home_dir (in module bittensor.core.settings)": [[58, "bittensor.core.settings.HOME_DIR", false]], "hotkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.hotkey", false]], "hotkey (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.hotkey", false]], "hotkey (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.hotkey", false]], "hotkey_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.hotkey_ss58", false]], "hotkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.hotkey_ss58", false]], "hotkeyaccountnotexists": [[25, "bittensor.core.errors.HotKeyAccountNotExists", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.hotkeys", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Hotkeys", false]], "hotkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.hotkeys", false]], "hotkeys (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.hotkeys", false]], "hparams (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.hparams", false]], "i (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.I", false]], "id (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.id", false]], "identities (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identities", false]], "identities (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identities", false]], "identities (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.identities", false]], "identity (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identity", false]], "identity (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identity", false]], "identity (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.identity", false]], "identity() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.identity", false]], "identityerror": [[25, "bittensor.core.errors.IdentityError", false]], "image (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.image", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.immunity_period", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.immunity_period", false]], "immunity_period (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.immunity_period", false]], "immunity_period() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.immunity_period", false]], "immunity_period() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.immunity_period", false]], "immunityperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ImmunityPeriod", false]], "immunityperiod (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.ImmunityPeriod", false]], "incentive (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.incentive", false]], "incentive (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.incentive", false]], "incentive (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.incentive", false]], "incentive (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.incentive", false]], "incentive (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.incentive", false]], "incentives (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.incentives", false]], "incentives (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Incentives", false]], "incentives (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.incentives", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[36, "bittensor.core.extrinsics.asyncex.take.increase_take_extrinsic", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[52, "bittensor.core.extrinsics.take.increase_take_extrinsic", false]], "index (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.index", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.info", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Info", false]], "info() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.info", false]], "info() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.info", false]], "info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.info", false]], "info() (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.info", false]], "infobase (class in bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.InfoBase", false]], "infodict (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.InfoDict", false]], "initialize (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.initialize", false]], "initialize() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.initialize", false]], "install_signal_handlers() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.install_signal_handlers", false]], "int_to_ip() (in module bittensor.utils.networking)": [[93, "bittensor.utils.networking.int_to_ip", false]], "internalservererror": [[25, "bittensor.core.errors.InternalServerError", false]], "invalidchild": [[25, "bittensor.core.errors.InvalidChild", false]], "invalidconfigfile": [[23, "bittensor.core.config.InvalidConfigFile", false]], "invalidrequestnameerror": [[25, "bittensor.core.errors.InvalidRequestNameError", false]], "ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.ip", false]], "ip (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip", false]], "ip (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip", false]], "ip (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip", false]], "ip (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.ip", false]], "ip (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.ip", false]], "ip (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.ip", false]], "ip (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.ip", false]], "ip (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.ip", false]], "ip__str__() (in module bittensor.utils.networking)": [[93, "bittensor.utils.networking.ip__str__", false]], "ip_str() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_str", false]], "ip_to_int() (in module bittensor.utils.networking)": [[93, "bittensor.utils.networking.ip_to_int", false]], "ip_type (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip_type", false]], "ip_type (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.ip_type", false]], "ip_type (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.ip_type", false]], "ip_type (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.ip_type", false]], "ip_type (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.ip_type", false]], "ip_version() (in module bittensor.utils.networking)": [[93, "bittensor.utils.networking.ip_version", false]], "ipinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.IPInfo", false]], "ipinfo (class in bittensor.core.chain_data.ip_info)": [[9, "bittensor.core.chain_data.ip_info.IPInfo", false]], "is_async (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.is_async", false]], "is_blacklist (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.is_blacklist", false]], "is_dynamic (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.is_dynamic", false]], "is_empty (bittensor.core.threadpool.prioritythreadpoolexecutor property)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.is_empty", false]], "is_failure (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.is_failure", false]], "is_fast_blocks (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_fast_blocks", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.is_hotkey_delegate", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_hotkey_delegate", false]], "is_hotkey_registered (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_hotkey_registered", false]], "is_hotkey_registered_any (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_on_subnet", false]], "is_null (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.is_null", false]], "is_null (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.is_null", false]], "is_registered (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.is_registered", false]], "is_running (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.is_running", false]], "is_serving (bittensor.core.chain_data.axon_info.axoninfo property)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.is_serving", false]], "is_set() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.is_set", false]], "is_stale() (bittensor.utils.registration.pow.powsolution method)": [[96, "bittensor.utils.registration.pow.POWSolution.is_stale", false]], "is_stale_async() (bittensor.utils.registration.pow.powsolution method)": [[96, "bittensor.utils.registration.pow.POWSolution.is_stale_async", false]], "is_subnet_active (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.is_subnet_active", false]], "is_subnet_active() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_subnet_active", false]], "is_subnet_active() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_subnet_active", false]], "is_success (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.is_success", false]], "is_timeout (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.is_timeout", false]], "is_valid_bittensor_address_or_public_key() (in module bittensor.utils)": [[89, "bittensor.utils.is_valid_bittensor_address_or_public_key", false]], "is_valid_ss58_address() (in module bittensor.utils)": [[89, "bittensor.utils.is_valid_ss58_address", false]], "k (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.k", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Kappa", false]], "kappa (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.kappa", false]], "kappa (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.kappa", false]], "kappa (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Kappa", false]], "keyfile (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.keyfile", false]], "keypair (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.keypair", false]], "last_drand_round (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.last_drand_round", false]], "last_drand_round() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.last_drand_round", false]], "last_drand_round() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.last_drand_round", false]], "last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.last_step", false]], "last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_step", false]], "last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.last_step", false]], "last_update (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.last_update", false]], "last_update (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.last_update", false]], "last_update (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.last_update", false]], "last_update (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.last_update", false]], "last_update (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.last_update", false]], "laststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastStep", false]], "lastupdate (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastUpdate", false]], "latent_lite_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.LATENT_LITE_ENTRYPOINT", false]], "latest_block_path() (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.latest_block_path", false]], "lazyloadedtorch (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.LazyLoadedTorch", false]], "legacy_torch_api_compat() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.legacy_torch_api_compat", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.liquid_alpha_enabled", false]], "liquidalphaenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LiquidAlphaEnabled", false]], "liquidity (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.liquidity", false]], "liquidityposition (class in bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.LiquidityPosition", false]], "list_from_dicts() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.list_from_dicts", false]], "list_from_vec_u8() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.list_from_vec_u8", false]], "lite (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.lite", false]], "load() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.load", false]], "load_from_path() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.nontorchmetagraph method)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.torchmetagraph method)": [[57, "bittensor.core.metagraph.TorchMetagraph.load_from_path", false]], "local_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.LOCAL_ENTRYPOINT", false]], "locked (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.locked", false]], "log() (bittensor.utils.registration.pow.console static method)": [[96, "bittensor.utils.registration.pow.Console.log", false]], "log_and_handle_error() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.log_and_handle_error", false]], "log_cuda_errors() (in module bittensor.utils.registration.register_cuda)": [[97, "bittensor.utils.registration.register_cuda.log_cuda_errors", false]], "log_exception() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.log_exception", false]], "log_formats (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.LOG_FORMATS", false]], "log_level_color_prefix (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.log_level_color_prefix", false]], "log_no_torch_error() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.log_no_torch_error", false]], "log_trace_formats (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.LOG_TRACE_FORMATS", false]], "log_verbose (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.log_verbose", false]], "log_verbose (bittensor.core.types.subtensormixin attribute)": [[77, "bittensor.core.types.SubtensorMixin.log_verbose", false]], "logger (bittensor.utils.btlogging.console.bittensorconsole attribute)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.logger", false]], "logger (in module bittensor.core.threadpool)": [[75, "bittensor.core.threadpool.logger", false]], "logging (in module bittensor.utils)": [[89, "bittensor.utils.logging", false]], "logging (in module bittensor.utils.btlogging)": [[85, "bittensor.utils.btlogging.logging", false]], "logging_dir (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.logging_dir", false]], "loggingconfig (class in bittensor.utils.btlogging.loggingmachine)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig", false]], "loggingmachine (class in bittensor.utils.btlogging.loggingmachine)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine", false]], "logo_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.logo_url", false]], "max_allowed_validators (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_allowed_validators", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_burn", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_burn", false]], "max_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_burn", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_difficulty", false]], "max_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_n", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_regs_per_block", false]], "max_tick (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.MAX_TICK", false]], "max_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_uids", false]], "max_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.max_uids", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_validators", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_validators", false]], "max_validators (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_validators", false]], "max_weight_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_weight_limit", false]], "max_weight_limit (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_weight_limit", false]], "max_weight_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.max_weight_limit", false]], "max_weight_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.max_weight_limit", false]], "max_weight_limit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.max_weight_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_weights_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_weights_limit", false]], "maxattemptsexception": [[25, "bittensor.core.errors.MaxAttemptsException", false]], "maxburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxBurn", false]], "maxdifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxDifficulty", false]], "maxregsperblock (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxRegsPerBlock", false]], "maxsuccessexception": [[25, "bittensor.core.errors.MaxSuccessException", false]], "maxuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxUids", false]], "maxvalidators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxValidators", false]], "maxweightslimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxWeightsLimit", false]], "merge() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.merge", false]], "message (bittensor.core.errors.synapsedendritenoneexception attribute)": [[25, "bittensor.core.errors.SynapseDendriteNoneException.message", false]], "message (bittensor.core.errors.synapseexception attribute)": [[25, "bittensor.core.errors.SynapseException.message", false]], "message (bittensor.utils.unlockstatus attribute)": [[89, "bittensor.utils.UnlockStatus.message", false]], "metadata (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.metadata", false]], "metadata() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.metadata", false]], "metadata_storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.metadata_storage_function", false]], "metadataerror": [[25, "bittensor.core.errors.MetadataError", false]], "metagraph (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[66, "bittensor.core.subtensor_api.metagraphs.Metagraphs.metagraph", false]], "metagraph (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.Metagraph", false]], "metagraph (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.metagraph", false]], "metagraph() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.metagraph", false]], "metagraph() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.metagraph", false]], "metagraph_state_dict_ndarray_keys (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.METAGRAPH_STATE_DICT_NDARRAY_KEYS", false]], "metagraphinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.MetagraphInfo", false]], "metagraphinfo (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo", false]], "metagraphinfoemissions (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions", false]], "metagraphinfoparams (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams", false]], "metagraphinfopool (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool", false]], "metagraphmixin (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.MetagraphMixin", false]], "metagraphs (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.metagraphs", false]], "metagraphs (class in bittensor.core.subtensor_api.metagraphs)": [[66, "bittensor.core.subtensor_api.metagraphs.Metagraphs", false]], "middleware_cls (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.middleware_cls", false]], "millify() (in module bittensor.utils.formatting)": [[88, "bittensor.utils.formatting.millify", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.min_allowed_weights", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_burn", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_burn", false]], "min_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_burn", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_difficulty", false]], "min_required_stake() (bittensor.utils.mock.subtensor_mock.mocksubtensor static method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.min_required_stake", false]], "min_tick (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.MIN_TICK", false]], "minallowedweights (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinAllowedWeights", false]], "minburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinBurn", false]], "mindifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinDifficulty", false]], "miners_dir (in module bittensor.core.settings)": [[58, "bittensor.core.settings.MINERS_DIR", false]], "mock_subpackage (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.mock_subpackage", false]], "mockchainstate (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.MockChainState", false]], "mockmapresult (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.MockMapResult", false]], "mocksubtensor (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor", false]], "mocksubtensorstate (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState", false]], "mocksubtensorvalue (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorValue", false]], "mocksystemstate (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.MockSystemState", false]], "modality (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.modality", false]], "model_config (bittensor.core.stream.streamingsynapse attribute)": [[59, "bittensor.core.stream.StreamingSynapse.model_config", false]], "model_config (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.model_config", false]], "model_config (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.model_config", false]], "model_config (bittensor.core.tensor.tensor attribute)": [[74, "bittensor.core.tensor.Tensor.model_config", false]], "modify_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.modify_liquidity", false]], "modify_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.modify_liquidity", false]], "modify_liquidity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.modify_liquidity", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.modify_liquidity_extrinsic", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[44, "bittensor.core.extrinsics.liquidity.modify_liquidity_extrinsic", false]], "module": [[0, "module-bittensor.core.async_subtensor", false], [1, "module-bittensor.core.axon", false], [2, "module-bittensor.core.chain_data.axon_info", false], [3, "module-bittensor.core.chain_data.chain_identity", false], [4, "module-bittensor.core.chain_data.delegate_info", false], [5, "module-bittensor.core.chain_data.delegate_info_lite", false], [6, "module-bittensor.core.chain_data.dynamic_info", false], [7, "module-bittensor.core.chain_data", false], [8, "module-bittensor.core.chain_data.info_base", false], [9, "module-bittensor.core.chain_data.ip_info", false], [10, "module-bittensor.core.chain_data.metagraph_info", false], [11, "module-bittensor.core.chain_data.neuron_info", false], [12, "module-bittensor.core.chain_data.neuron_info_lite", false], [13, "module-bittensor.core.chain_data.prometheus_info", false], [14, "module-bittensor.core.chain_data.proposal_vote_data", false], [15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false], [16, "module-bittensor.core.chain_data.stake_info", false], [17, "module-bittensor.core.chain_data.subnet_hyperparameters", false], [18, "module-bittensor.core.chain_data.subnet_identity", false], [19, "module-bittensor.core.chain_data.subnet_info", false], [20, "module-bittensor.core.chain_data.subnet_state", false], [21, "module-bittensor.core.chain_data.utils", false], [22, "module-bittensor.core.chain_data.weight_commit_info", false], [23, "module-bittensor.core.config", false], [24, "module-bittensor.core.dendrite", false], [25, "module-bittensor.core.errors", false], [26, "module-bittensor.core.extrinsics.asyncex.children", false], [27, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false], [28, "module-bittensor.core.extrinsics.asyncex", false], [29, "module-bittensor.core.extrinsics.asyncex.liquidity", false], [30, "module-bittensor.core.extrinsics.asyncex.move_stake", false], [31, "module-bittensor.core.extrinsics.asyncex.registration", false], [32, "module-bittensor.core.extrinsics.asyncex.root", false], [33, "module-bittensor.core.extrinsics.asyncex.serving", false], [34, "module-bittensor.core.extrinsics.asyncex.staking", false], [35, "module-bittensor.core.extrinsics.asyncex.start_call", false], [36, "module-bittensor.core.extrinsics.asyncex.take", false], [37, "module-bittensor.core.extrinsics.asyncex.transfer", false], [38, "module-bittensor.core.extrinsics.asyncex.unstaking", false], [39, "module-bittensor.core.extrinsics.asyncex.weights", false], [40, "module-bittensor.core.extrinsics.children", false], [41, "module-bittensor.core.extrinsics.commit_reveal", false], [42, "module-bittensor.core.extrinsics.commit_weights", false], [43, "module-bittensor.core.extrinsics", false], [44, "module-bittensor.core.extrinsics.liquidity", false], [45, "module-bittensor.core.extrinsics.move_stake", false], [46, "module-bittensor.core.extrinsics.registration", false], [47, "module-bittensor.core.extrinsics.root", false], [48, "module-bittensor.core.extrinsics.serving", false], [49, "module-bittensor.core.extrinsics.set_weights", false], [50, "module-bittensor.core.extrinsics.staking", false], [51, "module-bittensor.core.extrinsics.start_call", false], [52, "module-bittensor.core.extrinsics.take", false], [53, "module-bittensor.core.extrinsics.transfer", false], [54, "module-bittensor.core.extrinsics.unstaking", false], [55, "module-bittensor.core.extrinsics.utils", false], [56, "module-bittensor.core", false], [57, "module-bittensor.core.metagraph", false], [58, "module-bittensor.core.settings", false], [59, "module-bittensor.core.stream", false], [60, "module-bittensor.core.subtensor", false], [61, "module-bittensor.core.subtensor_api.chain", false], [62, "module-bittensor.core.subtensor_api.commitments", false], [63, "module-bittensor.core.subtensor_api.delegates", false], [64, "module-bittensor.core.subtensor_api.extrinsics", false], [65, "module-bittensor.core.subtensor_api", false], [66, "module-bittensor.core.subtensor_api.metagraphs", false], [67, "module-bittensor.core.subtensor_api.neurons", false], [68, "module-bittensor.core.subtensor_api.queries", false], [69, "module-bittensor.core.subtensor_api.staking", false], [70, "module-bittensor.core.subtensor_api.subnets", false], [71, "module-bittensor.core.subtensor_api.utils", false], [72, "module-bittensor.core.subtensor_api.wallets", false], [73, "module-bittensor.core.synapse", false], [74, "module-bittensor.core.tensor", false], [75, "module-bittensor.core.threadpool", false], [76, "module-bittensor.core.timelock", false], [77, "module-bittensor.core.types", false], [78, "module-bittensor", false], [79, "module-bittensor.utils.axon_utils", false], [80, "module-bittensor.utils.balance", false], [81, "module-bittensor.utils.btlogging.console", false], [82, "module-bittensor.utils.btlogging.defines", false], [83, "module-bittensor.utils.btlogging.format", false], [84, "module-bittensor.utils.btlogging.helpers", false], [85, "module-bittensor.utils.btlogging", false], [86, "module-bittensor.utils.btlogging.loggingmachine", false], [87, "module-bittensor.utils.easy_imports", false], [88, "module-bittensor.utils.formatting", false], [89, "module-bittensor.utils", false], [90, "module-bittensor.utils.liquidity", false], [91, "module-bittensor.utils.mock", false], [92, "module-bittensor.utils.mock.subtensor_mock", false], [93, "module-bittensor.utils.networking", false], [94, "module-bittensor.utils.registration.async_pow", false], [95, "module-bittensor.utils.registration", false], [96, "module-bittensor.utils.registration.pow", false], [97, "module-bittensor.utils.registration.register_cuda", false], [98, "module-bittensor.utils.subnets", false], [99, "module-bittensor.utils.substrate_utils.hasher", false], [100, "module-bittensor.utils.substrate_utils", false], [101, "module-bittensor.utils.substrate_utils.storage", false], [102, "module-bittensor.utils.version", false], [103, "module-bittensor.utils.weight_utils", false]], "move_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.move_stake", false]], "move_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.move_stake", false]], "move_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.move_stake", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[30, "bittensor.core.extrinsics.asyncex.move_stake.move_stake_extrinsic", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[45, "bittensor.core.extrinsics.move_stake.move_stake_extrinsic", false]], "moving_price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.moving_price", false]], "movingprice (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MovingPrice", false]], "n (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.n", false]], "n (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.n", false]], "n (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.n", false]], "name (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.name", false]], "name (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.name", false]], "name (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Name", false]], "name (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.name", false]], "name (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.name", false]], "name (bittensor.core.types.paramwithtypes attribute)": [[77, "bittensor.core.types.ParamWithTypes.name", false]], "nanoseconds_in_second (in module bittensor.utils.axon_utils)": [[79, "bittensor.utils.axon_utils.NANOSECONDS_IN_SECOND", false]], "nays (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.nays", false]], "netuid (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.netuid", false]], "netuid (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Netuid", false]], "netuid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.netuid", false]], "netuid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.netuid", false]], "netuid (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.netuid", false]], "netuid (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.netuid", false]], "netuid (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.netuid", false]], "netuid (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.netuid", false]], "netuid (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.netuid", false]], "netuid (bittensor.utils.balance.balance attribute)": [[80, "bittensor.utils.balance.Balance.netuid", false]], "netuid (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.netuid", false]], "network (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.network", false]], "network (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.network", false]], "network (bittensor.core.types.subtensormixin attribute)": [[77, "bittensor.core.types.SubtensorMixin.network", false]], "network_explorer_map (in module bittensor.core.settings)": [[58, "bittensor.core.settings.NETWORK_EXPLORER_MAP", false]], "network_map (in module bittensor.core.settings)": [[58, "bittensor.core.settings.NETWORK_MAP", false]], "network_registered_at (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.network_registered_at", false]], "network_registered_at (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.network_registered_at", false]], "network_registered_at (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.network_registered_at", false]], "networkregisteredat (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NetworkRegisteredAt", false]], "networks (in module bittensor.core.settings)": [[58, "bittensor.core.settings.NETWORKS", false]], "networksadded (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.NetworksAdded", false]], "neuron_for_uid (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.neuron_for_uid", false]], "neuron_for_uid() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.neuron_for_uid", false]], "neuron_for_uid_lite() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.neuron_for_uid_lite", false]], "neuroninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfo", false]], "neuroninfo (class in bittensor.core.chain_data.neuron_info)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo", false]], "neuroninfolite (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfoLite", false]], "neuroninfolite (class in bittensor.core.chain_data.neuron_info_lite)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite", false]], "neurons (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.neurons", false]], "neurons (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.neurons", false]], "neurons (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.neurons", false]], "neurons (class in bittensor.core.subtensor_api.neurons)": [[67, "bittensor.core.subtensor_api.neurons.Neurons", false]], "neurons() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons", false]], "neurons() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.neurons", false]], "neurons() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.neurons", false]], "neurons_lite (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.neurons_lite", false]], "neurons_lite() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons_lite", false]], "neurons_lite() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.neurons_lite", false]], "neurons_lite() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.neurons_lite", false]], "new_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.new_coldkey", false]], "nominationerror": [[25, "bittensor.core.errors.NominationError", false]], "nominators (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.nominators", false]], "nominators (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.nominators", false]], "nonassociatedcoldkey": [[25, "bittensor.core.errors.NonAssociatedColdKey", false]], "nonce (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.nonce", false]], "nonce (bittensor.utils.registration.pow.powsolution attribute)": [[96, "bittensor.utils.registration.pow.POWSolution.nonce", false]], "nonces (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.nonces", false]], "nontorchmetagraph (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.NonTorchMetagraph", false]], "normalize_max_weight() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.normalize_max_weight", false]], "notdelegateerror": [[25, "bittensor.core.errors.NotDelegateError", false]], "notenoughstaketosetchildkeys": [[25, "bittensor.core.errors.NotEnoughStakeToSetChildkeys", false]], "notregisterederror": [[25, "bittensor.core.errors.NotRegisteredError", false]], "notverifiedexception": [[25, "bittensor.core.errors.NotVerifiedException", false]], "null_entry (in module bittensor.core.threadpool)": [[75, "bittensor.core.threadpool.NULL_ENTRY", false]], "num_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.num_uids", false]], "num_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.num_uids", false]], "numpy() (bittensor.core.tensor.tensor method)": [[74, "bittensor.core.tensor.Tensor.numpy", false]], "numpyortorch (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.NumpyOrTorch", false]], "numuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NumUids", false]], "off() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.off", false]], "old_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.old_coldkey", false]], "on() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.on", false]], "owner_coldkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.owner_coldkey", false]], "owner_hotkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.owner_hotkey", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.owner_ss58", false]], "ownercoldkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerColdkey", false]], "ownerhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerHotkey", false]], "pallet (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.pallet", false]], "params (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.params", false]], "params_encoded (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.params_encoded", false]], "paramwithtypes (class in bittensor.core.types)": [[77, "bittensor.core.types.ParamWithTypes", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse class method)": [[73, "id4", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.parse_headers_to_inputs", false]], "pending_alpha_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_alpha_emission", false]], "pending_root_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_root_emission", false]], "pendingalphaemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingAlphaEmission", false]], "pendingrootemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingRootEmission", false]], "pipaddress (in module bittensor.core.settings)": [[58, "bittensor.core.settings.PIPADDRESS", false]], "placeholder1 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder1", false]], "placeholder1 (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.placeholder1", false]], "placeholder1 (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.placeholder1", false]], "placeholder2 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder2", false]], "placeholder2 (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.placeholder2", false]], "placeholder2 (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.placeholder2", false]], "pool (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.pool", false]], "port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.port", false]], "port (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.port", false]], "port (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.port", false]], "port (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.port", false]], "port (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.port", false]], "port (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.port", false]], "port (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.port", false]], "port (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.port", false]], "postprocessexception": [[25, "bittensor.core.errors.PostProcessException", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pow_registration_allowed", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.pow_registration_allowed", false]], "powregistrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PowRegistrationAllowed", false]], "powsolution (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.POWSolution", false]], "prepare_synapse() (bittensor.utils.subnets.subnetsapi method)": [[98, "bittensor.utils.subnets.SubnetsAPI.prepare_synapse", false]], "preprocess() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.preprocess", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.preprocess_synapse_for_request", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.preprocess_synapse_for_request", false], [24, "id8", false]], "price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.price", false]], "price_high (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.price_high", false]], "price_low (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.price_low", false]], "price_step (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.PRICE_STEP", false]], "price_to_tick() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.price_to_tick", false]], "priority() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.priority", false]], "priority_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.priority_fns", false]], "priorityexception": [[25, "bittensor.core.errors.PriorityException", false]], "prioritythreadpoolexecutor (class in bittensor.core.threadpool)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor", false]], "process_error_message() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.process_error_message", false]], "process_nested() (in module bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.process_nested", false]], "process_responses() (bittensor.utils.subnets.subnetsapi method)": [[98, "bittensor.utils.subnets.SubnetsAPI.process_responses", false]], "process_server_response() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.process_server_response", false]], "process_server_response() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.process_server_response", false], [24, "id9", false]], "process_stake_data() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.process_stake_data", false]], "process_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[59, "bittensor.core.stream.StreamingSynapse.process_streaming_response", false]], "process_time (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.process_time", false]], "process_weights() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.process_weights", false]], "process_weights_for_netuid() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.process_weights_for_netuid", false]], "prometheus_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.prometheus_info", false]], "prometheus_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.prometheus_info", false]], "prometheusinfo (class in bittensor.core.chain_data.prometheus_info)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo", false]], "prometheusinfodict (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict", false]], "prometheusservecallparams (class in bittensor.core.types)": [[77, "bittensor.core.types.PrometheusServeCallParams", false]], "proportionoverflow": [[25, "bittensor.core.errors.ProportionOverflow", false]], "proposalvotedata (class in bittensor.core.chain_data.proposal_vote_data)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData", false]], "protocol (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.protocol", false]], "protocol (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.protocol", false]], "protocol (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.protocol", false]], "protocol (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.protocol", false]], "pruning_score (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.pruning_score", false]], "pruning_score (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.pruning_score", false]], "pruning_score (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.pruning_score", false]], "pruningscore (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PruningScore", false]], "publish_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.publish_metadata", false]], "publish_metadata() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.publish_metadata", false]], "queries (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.queries", false]], "queries (class in bittensor.core.subtensor_api.queries)": [[68, "bittensor.core.subtensor_api.queries.Queries", false]], "query() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.query", false]], "query() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.query", false], [24, "id11", false]], "query_api() (bittensor.utils.subnets.subnetsapi method)": [[98, "bittensor.utils.subnets.SubnetsAPI.query_api", false]], "query_constant (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_constant", false]], "query_constant() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_constant", false]], "query_constant() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_constant", false]], "query_constant() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.query_constant", false]], "query_identity (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.query_identity", false]], "query_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_identity", false]], "query_identity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_identity", false]], "query_map (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_map", false]], "query_map() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map", false]], "query_map() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_map", false]], "query_map_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_map_subtensor", false]], "query_map_subtensor() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.query_map_subtensor", false]], "query_module (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_module", false]], "query_module() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_module", false]], "query_module() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_module", false]], "query_runtime_api (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_runtime_api", false]], "query_runtime_api() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_runtime_api", false]], "query_runtime_api() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_runtime_api", false]], "query_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_subtensor", false]], "query_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_subtensor", false]], "query_subtensor() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_subtensor", false]], "query_subtensor() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.query_subtensor", false]], "r (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.R", false]], "rank (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rank", false]], "rank (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rank", false]], "rank (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.rank", false]], "rank (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.rank", false]], "rank (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.rank", false]], "ranks (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.ranks", false]], "ranks (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.ranks", false]], "ranks (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.ranks", false]], "rao (bittensor.utils.balance.balance attribute)": [[80, "bittensor.utils.balance.Balance.rao", false]], "rao() (in module bittensor.utils.balance)": [[80, "bittensor.utils.balance.rao", false]], "rao_symbol (in module bittensor.core.settings)": [[58, "bittensor.core.settings.RAO_SYMBOL", false]], "rao_unit (bittensor.utils.balance.balance attribute)": [[80, "bittensor.utils.balance.Balance.rao_unit", false]], "raopertao (in module bittensor.utils)": [[89, "bittensor.utils.RAOPERTAO", false]], "read_only (in module bittensor.core.settings)": [[58, "bittensor.core.settings.READ_ONLY", false]], "record_log (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.record_log", false]], "records (bittensor.utils.mock.subtensor_mock.mockmapresult attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockMapResult.records", false]], "recycle (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.recycle", false]], "recycle() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.recycle", false]], "recycle() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.recycle", false]], "register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register", false]], "register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register", false]], "register() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.register", false]], "register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.register_extrinsic", false]], "register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[46, "bittensor.core.extrinsics.registration.register_extrinsic", false]], "register_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.register_primary_logger", false]], "register_subnet (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register_subnet", false]], "register_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.register_subnet", false]], "register_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register_subnet", false]], "register_subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.register_subnet", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.register_subnet_extrinsic", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.registration)": [[46, "bittensor.core.extrinsics.registration.register_subnet_extrinsic", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.registration_allowed", false]], "registrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.RegistrationAllowed", false]], "registrationerror": [[25, "bittensor.core.errors.RegistrationError", false]], "registrationnotpermittedonrootsubnet": [[25, "bittensor.core.errors.RegistrationNotPermittedOnRootSubnet", false]], "registrations (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.registrations", false]], "registrations (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.registrations", false]], "registrationstatistics (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics", false]], "registrationstatisticslogger (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger", false]], "remove_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.remove_liquidity", false]], "remove_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.remove_liquidity", false]], "remove_liquidity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.remove_liquidity", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.remove_liquidity_extrinsic", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[44, "bittensor.core.extrinsics.liquidity.remove_liquidity_extrinsic", false]], "required_hash_fields (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.required_hash_fields", false]], "reset() (bittensor.utils.mock.subtensor_mock.mocksubtensor class method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.reset", false]], "reset() (bittensor.utils.mock.subtensor_mock.reusablecoroutine method)": [[92, "bittensor.utils.mock.subtensor_mock.ReusableCoroutine.reset", false]], "reset_cuda() (in module bittensor.utils.registration.register_cuda)": [[97, "bittensor.utils.registration.register_cuda.reset_cuda", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.return_per_1000", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.return_per_1000", false]], "reusablecoroutine (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.ReusableCoroutine", false]], "reveal_round (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.reveal_round", false]], "reveal_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.reveal_weights", false]], "reveal_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.reveal_weights", false]], "reveal_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.reveal_weights", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[39, "bittensor.core.extrinsics.asyncex.weights.reveal_weights_extrinsic", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[42, "bittensor.core.extrinsics.commit_weights.reveal_weights_extrinsic", false]], "reverse_network_map (in module bittensor.core.settings)": [[58, "bittensor.core.settings.REVERSE_NETWORK_MAP", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rho", false]], "rho (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.rho", false]], "rho (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.rho", false]], "rho (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Rho", false]], "root_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_register", false]], "root_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_register", false]], "root_register() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.root_register", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[32, "bittensor.core.extrinsics.asyncex.root.root_register_extrinsic", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.root)": [[47, "bittensor.core.extrinsics.root.root_register_extrinsic", false]], "root_set_pending_childkey_cooldown (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[26, "bittensor.core.extrinsics.asyncex.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.children)": [[40, "bittensor.core.extrinsics.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_weights", false]], "root_set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_weights", false]], "root_set_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.root_set_weights", false]], "root_tao_stake_weight (in module bittensor.core.settings)": [[58, "bittensor.core.settings.ROOT_TAO_STAKE_WEIGHT", false]], "rounds_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.rounds_total", false]], "router (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.router", false]], "run() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.run", false]], "run() (bittensor.utils.registration.pow.cudasolver method)": [[96, "bittensor.utils.registration.pow.CUDASolver.run", false]], "run() (bittensor.utils.registration.pow.solver method)": [[96, "bittensor.utils.registration.pow.Solver.run", false]], "run_in_thread() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.run_in_thread", false]], "runexception": [[25, "bittensor.core.errors.RunException", false]], "runtime_config (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.runtime_config", false]], "s (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.S", false]], "safe_globals() (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.safe_globals", false]], "save() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.save", false]], "scaling_law_power (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.scaling_law_power", false]], "scheduledcoldkeyswapinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.ScheduledColdkeySwapInfo", false]], "scheduledcoldkeyswapinfo (class in bittensor.core.chain_data.scheduled_coldkey_swap_info)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo", false]], "seal (bittensor.utils.registration.pow.powsolution attribute)": [[96, "bittensor.utils.registration.pow.POWSolution.seal", false]], "selectivemetagraphindex (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex", false]], "serialize() (bittensor.core.tensor.tensor static method)": [[74, "bittensor.core.tensor.Tensor.serialize", false]], "serve() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.serve", false]], "serve_axon (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.serve_axon", false]], "serve_axon() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.serve_axon", false]], "serve_axon() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.serve_axon", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.serve_axon_extrinsic", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.serve_axon_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.serve_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.serve_extrinsic", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.serving_rate_limit", false]], "servingratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ServingRateLimit", false]], "session (bittensor.core.dendrite.dendritemixin property)": [[24, "bittensor.core.dendrite.DendriteMixin.session", false]], "set_children (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_children", false]], "set_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_children", false]], "set_children() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_children", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[26, "bittensor.core.extrinsics.asyncex.children.set_children_extrinsic", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.children)": [[40, "bittensor.core.extrinsics.children.set_children_extrinsic", false]], "set_commitment (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.set_commitment", false]], "set_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_config", false]], "set_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_console", false]], "set_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_debug", false]], "set_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_default", false]], "set_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.set_delegate_take", false]], "set_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_delegate_take", false]], "set_delegate_take() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_delegate_take", false]], "set_difficulty() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.set_difficulty", false]], "set_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_info", false]], "set_name_type() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.set_name_type", false]], "set_reveal_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_reveal_commitment", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[32, "bittensor.core.extrinsics.asyncex.root.set_root_weights_extrinsic", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.root)": [[47, "bittensor.core.extrinsics.root.set_root_weights_extrinsic", false]], "set_subnet_identity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_subnet_identity", false]], "set_subnet_identity (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_subnet_identity", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.set_subnet_identity_extrinsic", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.registration)": [[46, "bittensor.core.extrinsics.registration.set_subnet_identity_extrinsic", false]], "set_trace() (bittensor.utils.btlogging.format.btstreamformatter method)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter.set_trace", false]], "set_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_trace", false]], "set_unit() (bittensor.utils.balance.balance method)": [[80, "bittensor.utils.balance.Balance.set_unit", false]], "set_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_warning", false]], "set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_weights", false]], "set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_weights", false]], "set_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_weights", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[39, "bittensor.core.extrinsics.asyncex.weights.set_weights_extrinsic", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.set_weights)": [[49, "bittensor.core.extrinsics.set_weights.set_weights_extrinsic", false]], "setlevel() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.setLevel", false]], "setup() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.setup", false]], "setup_config (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.setup_config", false]], "setup_config() (bittensor.core.types.subtensormixin static method)": [[77, "bittensor.core.types.SubtensorMixin.setup_config", false]], "shape (bittensor.core.tensor.tensor attribute)": [[74, "bittensor.core.tensor.Tensor.shape", false]], "should_exit (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.should_exit", false]], "should_sync (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.should_sync", false]], "should_sync (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.should_sync", false]], "shutdown() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.shutdown", false]], "sign_and_send_extrinsic (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.sign_and_send_extrinsic", false]], "signature (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.signature", false]], "slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.slippage", false]], "solve_cuda() (in module bittensor.utils.registration.register_cuda)": [[97, "bittensor.utils.registration.register_cuda.solve_cuda", false]], "solver (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.Solver", false]], "ss58 (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.ss58", false]], "ss58_address_length (in module bittensor.core.settings)": [[58, "bittensor.core.settings.SS58_ADDRESS_LENGTH", false]], "ss58_address_to_bytes() (in module bittensor.utils)": [[89, "bittensor.utils.ss58_address_to_bytes", false]], "ss58_decode (in module bittensor.utils)": [[89, "bittensor.utils.ss58_decode", false]], "ss58_format (in module bittensor.core.settings)": [[58, "bittensor.core.settings.SS58_FORMAT", false]], "ss58_to_vec_u8() (in module bittensor.utils)": [[89, "bittensor.utils.ss58_to_vec_u8", false]], "stake (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake", false]], "stake (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.stake", false]], "stake (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.stake", false]], "stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.stake", false]], "stake (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.stake", false]], "stake (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Stake", false]], "stake_dict (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake_dict", false]], "stake_dict (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake_dict", false]], "stakeerror": [[25, "bittensor.core.errors.StakeError", false]], "stakeinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.StakeInfo", false]], "stakeinfo (class in bittensor.core.chain_data.stake_info)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo", false]], "staking (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.staking", false]], "staking (class in bittensor.core.subtensor_api.staking)": [[69, "bittensor.core.subtensor_api.staking.Staking", false]], "start() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.start", false]], "start() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.start", false]], "start() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.start", false]], "start() (bittensor.utils.registration.pow.status method)": [[96, "bittensor.utils.registration.pow.Status.start", false]], "start_call (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.start_call", false]], "start_call (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.start_call", false]], "start_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.start_call", false]], "start_call() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.start_call", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.asyncex.start_call)": [[35, "bittensor.core.extrinsics.asyncex.start_call.start_call_extrinsic", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.start_call)": [[51, "bittensor.core.extrinsics.start_call.start_call_extrinsic", false]], "started (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.started", false]], "state_call (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.state_call", false]], "state_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.state_call", false]], "state_call() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.state_call", false]], "state_dict() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.state_dict", false]], "status (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.status", false]], "status (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.Status", false]], "status() (bittensor.utils.registration.pow.console static method)": [[96, "bittensor.utils.registration.pow.Console.status", false]], "status_code (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.status_code", false]], "status_message (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.status_message", false]], "stop() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.stop", false]], "stop() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.stop", false]], "stop() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.stop", false]], "stop() (bittensor.utils.registration.pow.status method)": [[96, "bittensor.utils.registration.pow.Status.stop", false]], "storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.storage_function", false]], "storagefunctionnotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.StorageFunctionNotFound", false]], "storagekey (class in bittensor.utils.substrate_utils.storage)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey", false]], "stream_response() (bittensor.core.stream.streamingsynapse.btstreamingresponse method)": [[59, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.stream_response", false]], "streamingsynapse (class in bittensor.core.stream)": [[59, "bittensor.core.stream.StreamingSynapse", false]], "streamingsynapse.btstreamingresponse (class in bittensor.core.stream)": [[59, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse", false]], "strtobool() (in module bittensor.utils)": [[89, "bittensor.utils.strtobool", false]], "submit() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.submit", false]], "subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.subnet", false]], "subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet", false]], "subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.subnet", false]], "subnet_contact (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_contact", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_emission", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.subnet_emission", false]], "subnet_exists (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.subnet_exists", false]], "subnet_exists() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet_exists", false]], "subnet_exists() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.subnet_exists", false]], "subnet_identity (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_identity", false]], "subnet_is_active (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.subnet_is_active", false]], "subnet_name (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_name", false]], "subnet_name (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_name", false]], "subnet_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_url", false]], "subnet_volume (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.subnet_volume", false]], "subnetemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetEmission", false]], "subnethyperparameters (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetHyperparameters", false]], "subnethyperparameters (class in bittensor.core.chain_data.subnet_hyperparameters)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters", false]], "subnetidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetIdentity", false]], "subnetidentity (class in bittensor.core.chain_data.subnet_identity)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity", false]], "subnetinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetInfo", false]], "subnetinfo (class in bittensor.core.chain_data.subnet_info)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo", false]], "subnets (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.subnets", false]], "subnets (class in bittensor.core.subtensor_api.subnets)": [[70, "bittensor.core.subtensor_api.subnets.Subnets", false]], "subnetsapi (class in bittensor.utils.subnets)": [[98, "bittensor.utils.subnets.SubnetsAPI", false]], "subnetstate (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetState", false]], "subnetstate (class in bittensor.core.chain_data.subnet_state)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState", false]], "subnetvolume (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetVolume", false]], "subnetwork_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.subnetwork_n", false]], "subnetwork_n (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.subnetwork_n", false]], "subnetwork_n() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnetwork_n", false]], "subnetwork_n() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.subnetwork_n", false]], "subnetworkdoesnotexist": [[25, "bittensor.core.errors.SubNetworkDoesNotExist", false]], "substrate (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.substrate", false]], "substrate (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.substrate", false]], "substrate (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.substrate", false]], "substraterequestexception (in module bittensor.core.errors)": [[25, "bittensor.core.errors.SubstrateRequestException", false]], "subtensor (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.subtensor", false]], "subtensor (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.subtensor", false]], "subtensor (class in bittensor.core.subtensor)": [[60, "bittensor.core.subtensor.Subtensor", false]], "subtensor (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.subtensor", false]], "subtensorapi (class in bittensor.core.subtensor_api)": [[65, "bittensor.core.subtensor_api.SubtensorApi", false]], "subtensormixin (class in bittensor.core.types)": [[77, "bittensor.core.types.SubtensorMixin", false]], "subtensormodule (bittensor.utils.mock.subtensor_mock.mockchainstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockChainState.SubtensorModule", false]], "subvortex_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.SUBVORTEX_ENTRYPOINT", false]], "success (bittensor.utils.unlockstatus attribute)": [[89, "bittensor.utils.UnlockStatus.success", false]], "success() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.success", false]], "success() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.success", false]], "success_level_num (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.SUCCESS_LEVEL_NUM", false]], "sudo_force_set_balance (bittensor.utils.mock.subtensor_mock.mocksubtensor attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.sudo_force_set_balance", false]], "swap_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.swap_stake", false]], "swap_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.swap_stake", false]], "swap_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.swap_stake", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[30, "bittensor.core.extrinsics.asyncex.move_stake.swap_stake_extrinsic", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[45, "bittensor.core.extrinsics.move_stake.swap_stake_extrinsic", false]], "symbol (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Symbol", false]], "symbol (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.symbol", false]], "synapse (bittensor.core.errors.synapseexception attribute)": [[25, "bittensor.core.errors.SynapseException.synapse", false]], "synapse (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[59, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.synapse", false]], "synapse (class in bittensor.core.synapse)": [[73, "bittensor.core.synapse.Synapse", false]], "synapse (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.synapse", false]], "synapse_history (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.synapse_history", false]], "synapse_to_response() (bittensor.core.axon.axonmiddleware class method)": [[1, "bittensor.core.axon.AxonMiddleware.synapse_to_response", false]], "synapsedendritenoneexception": [[25, "bittensor.core.errors.SynapseDendriteNoneException", false]], "synapseexception": [[25, "bittensor.core.errors.SynapseException", false]], "synapseparsingerror": [[25, "bittensor.core.errors.SynapseParsingError", false]], "sync() (bittensor.core.metagraph.asyncmetagraph method)": [[57, "bittensor.core.metagraph.AsyncMetagraph.sync", false]], "sync() (bittensor.core.metagraph.metagraph method)": [[57, "bittensor.core.metagraph.Metagraph.sync", false]], "system (bittensor.utils.mock.subtensor_mock.mockchainstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockChainState.System", false]], "t (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.T", false]], "t (in module bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.T", false]], "t (in module bittensor.core.config)": [[23, "bittensor.core.config.T", false]], "take (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.take", false]], "take (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.take", false]], "takeerror": [[25, "bittensor.core.errors.TakeError", false]], "tao (bittensor.utils.balance.balance property)": [[80, "bittensor.utils.balance.Balance.tao", false]], "tao() (in module bittensor.utils.balance)": [[80, "bittensor.utils.balance.tao", false]], "tao_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_dividends_per_hotkey", false]], "tao_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.tao_dividends_per_hotkey", false]], "tao_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.tao_in", false]], "tao_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.tao_in_emission", false]], "tao_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_slippage", false]], "tao_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_stake", false]], "tao_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.tao_stake", false]], "tao_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.tao_stake", false]], "tao_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.tao_stake", false]], "tao_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.tao_stake", false]], "tao_symbol (in module bittensor.core.settings)": [[58, "bittensor.core.settings.TAO_SYMBOL", false]], "tao_to_alpha() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha", false]], "tao_to_alpha_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha_with_slippage", false]], "taodividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoDividendsPerHotkey", false]], "taoin (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoIn", false]], "taoinemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoInEmission", false]], "taostake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoStake", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.target_regs_per_interval", false]], "targetregsperinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TargetRegsPerInterval", false]], "tempo (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Tempo", false]], "tempo (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.tempo", false]], "tempo (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.tempo", false]], "tempo (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.tempo", false]], "tempo (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.tempo", false]], "tempo() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tempo", false]], "tempo() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.tempo", false]], "tensor (class in bittensor.core.tensor)": [[74, "bittensor.core.tensor.Tensor", false], [74, "bittensor.core.tensor.tensor", false]], "tensor (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.Tensor", false]], "tensor() (bittensor.core.tensor.tensor method)": [[74, "bittensor.core.tensor.Tensor.tensor", false]], "terminalinfo (class in bittensor.core.synapse)": [[73, "bittensor.core.synapse.TerminalInfo", false]], "terminate_workers_and_wait_for_exit() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.terminate_workers_and_wait_for_exit", false]], "thread_pool (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.thread_pool", false]], "threshold (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.threshold", false]], "tick_to_price() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.tick_to_price", false]], "time_average (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.time_average", false]], "time_spent (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent", false]], "time_spent_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent_total", false]], "timeout (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.timeout", false]], "to_dict() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.to_dict", false]], "to_headers() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.to_headers", false], [73, "id5", false]], "to_hex() (bittensor.utils.substrate_utils.storage.storagekey method)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.to_hex", false]], "to_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_parameter_dict", false]], "to_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.to_parameter_dict", false]], "to_string() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.to_string", false]], "to_string() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_string", false]], "to_token_amounts() (bittensor.utils.liquidity.liquidityposition method)": [[90, "bittensor.utils.liquidity.LiquidityPosition.to_token_amounts", false]], "toggle_user_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.toggle_user_liquidity", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.toggle_user_liquidity_extrinsic", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[44, "bittensor.core.extrinsics.liquidity.toggle_user_liquidity_extrinsic", false]], "token_streamer (bittensor.core.stream.btstreamingresponsemodel attribute)": [[59, "bittensor.core.stream.BTStreamingResponseModel.token_streamer", false]], "token_streamer (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[59, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.token_streamer", false]], "tolist() (bittensor.core.tensor.tensor method)": [[74, "bittensor.core.tensor.Tensor.tolist", false]], "toomanychildren": [[25, "bittensor.core.errors.TooManyChildren", false]], "torch (bittensor.core.tensor.dtypes attribute)": [[74, "bittensor.core.tensor.DTypes.torch", false]], "torch (in module bittensor.utils)": [[89, "bittensor.utils.torch", false]], "torch (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.torch", false]], "torchmetagraph (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.TorchMetagraph", false]], "total_daily_return (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.total_daily_return", false]], "total_daily_return (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.total_daily_return", false]], "total_size (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.total_size", false]], "total_stake (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.total_stake", false]], "total_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.total_stake", false]], "total_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.total_stake", false]], "total_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.total_stake", false]], "totalstake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TotalStake", false]], "tpb (bittensor.utils.registration.pow.cudasolver attribute)": [[96, "bittensor.utils.registration.pow.CUDASolver.tpb", false]], "trace (bittensor.utils.btlogging.format.btstreamformatter attribute)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Trace", false]], "trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.trace", false]], "trace() (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.trace", false]], "trace_level_num (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.TRACE_LEVEL_NUM", false]], "trace_log_format (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.TRACE_LOG_FORMAT", false]], "transfer (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer", false]], "transfer() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer", false]], "transfer() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.transfer", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.asyncex.transfer)": [[37, "bittensor.core.extrinsics.asyncex.transfer.transfer_extrinsic", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.transfer)": [[53, "bittensor.core.extrinsics.transfer.transfer_extrinsic", false]], "transfer_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer_stake", false]], "transfer_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer_stake", false]], "transfer_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.transfer_stake", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[30, "bittensor.core.extrinsics.asyncex.move_stake.transfer_stake_extrinsic", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[45, "bittensor.core.extrinsics.move_stake.transfer_stake_extrinsic", false]], "transfererror": [[25, "bittensor.core.errors.TransferError", false]], "transfers_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.transfers_enabled", false]], "trust (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.trust", false]], "trust (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Trust", false]], "trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.trust", false]], "trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.trust", false]], "trust (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.trust", false]], "trust (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.trust", false]], "trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.trust", false]], "trust (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.trust", false]], "ts (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.TS", false]], "tv (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.Tv", false]], "two_x64_concat() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.two_x64_concat", false]], "tx_rate_limit (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.tx_rate_limit", false]], "txratelimitexceeded": [[25, "bittensor.core.errors.TxRateLimitExceeded", false]], "type (bittensor.core.types.paramwithtypes attribute)": [[77, "bittensor.core.types.ParamWithTypes.type", false]], "type_registry (in module bittensor.core.settings)": [[58, "bittensor.core.settings.TYPE_REGISTRY", false]], "u16_max (in module bittensor.utils)": [[89, "bittensor.utils.U16_MAX", false]], "u16_max (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.U16_MAX", false]], "u16_normalized_float() (in module bittensor.utils)": [[89, "bittensor.utils.u16_normalized_float", false]], "u32_max (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.U32_MAX", false]], "u64_max (in module bittensor.utils)": [[89, "bittensor.utils.U64_MAX", false]], "u64_normalized_float() (in module bittensor.utils)": [[89, "bittensor.utils.u64_normalized_float", false]], "uid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.uid", false]], "uid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.uid", false]], "uids (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.uids", false]], "uids (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.uids", false]], "uids (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.uids", false]], "unit (bittensor.utils.balance.balance attribute)": [[80, "bittensor.utils.balance.Balance.unit", false]], "unknownsynapseerror": [[25, "bittensor.core.errors.UnknownSynapseError", false]], "unlock_key() (in module bittensor.utils)": [[89, "bittensor.utils.unlock_key", false]], "unlockstatus (class in bittensor.utils)": [[89, "bittensor.utils.UnlockStatus", false]], "unstake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake", false]], "unstake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.unstake", false]], "unstake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake", false]], "unstake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.unstake", false]], "unstake_all (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_all", false]], "unstake_all (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.unstake_all", false]], "unstake_all() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_all", false]], "unstake_all() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.unstake_all", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_all_extrinsic", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[54, "bittensor.core.extrinsics.unstaking.unstake_all_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[54, "bittensor.core.extrinsics.unstaking.unstake_extrinsic", false]], "unstake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_multiple", false]], "unstake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.unstake_multiple", false]], "unstake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_multiple", false]], "unstake_multiple() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.unstake_multiple", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_multiple_extrinsic", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[54, "bittensor.core.extrinsics.unstaking.unstake_multiple_extrinsic", false]], "unstakeerror": [[25, "bittensor.core.errors.UnstakeError", false]], "update() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.update", false]], "update() (bittensor.utils.registration.pow.status method)": [[96, "bittensor.utils.registration.pow.Status.update", false]], "update_curr_block() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.update_curr_block", false]], "url (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.url", false]], "use_torch (in module bittensor.utils)": [[89, "bittensor.utils.use_torch", false]], "use_torch() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.use_torch", false]], "user_bittensor_dir (in module bittensor.core.settings)": [[58, "bittensor.core.settings.USER_BITTENSOR_DIR", false]], "user_liquidity_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.user_liquidity_enabled", false]], "usingspawnstartmethod (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.UsingSpawnStartMethod", false]], "uuid (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.uuid", false]], "uuid (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.uuid", false]], "uuid (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.uuid", false]], "v_7_2_0 (in module bittensor.core.axon)": [[1, "bittensor.core.axon.V_7_2_0", false]], "validate_chain_endpoint() (in module bittensor.utils)": [[89, "bittensor.utils.validate_chain_endpoint", false]], "validator_permit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_permit", false]], "validator_permit (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.validator_permit", false]], "validator_permit (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.validator_permit", false]], "validator_permit (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.validator_permit", false]], "validator_permit (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.validator_permit", false]], "validator_permits (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.validator_permits", false]], "validator_permits (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.validator_permits", false]], "validator_trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_trust", false]], "validator_trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_trust", false]], "validator_trust (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.validator_trust", false]], "validator_trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.validator_trust", false]], "validator_trust (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.validator_trust", false]], "validatorbatchsize (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.ValidatorBatchSize", false]], "validatorpermit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ValidatorPermit", false]], "validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validators", false]], "validators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Validators", false]], "value (bittensor.utils.mock.subtensor_mock.mocksubtensorvalue attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorValue.value", false]], "value_scale_type (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.value_scale_type", false]], "verify() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.verify", false]], "verify_body_integrity() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.verify_body_integrity", false]], "verify_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.verify_fns", false]], "version (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.version", false]], "version (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.version", false]], "version (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.version", false]], "version (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.version", false]], "version (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.version", false]], "version (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.version", false]], "version (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.version", false]], "version (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.version", false]], "version (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.version", false]], "version (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.version", false]], "version_as_int (in module bittensor.core.settings)": [[58, "bittensor.core.settings.version_as_int", false]], "version_check_threshold (in module bittensor.utils.version)": [[102, "bittensor.utils.version.VERSION_CHECK_THRESHOLD", false]], "version_checking (in module bittensor.utils)": [[89, "bittensor.utils.version_checking", false]], "version_checking() (in module bittensor.utils.version)": [[102, "bittensor.utils.version.version_checking", false]], "version_split (in module bittensor.core.settings)": [[58, "bittensor.core.settings.version_split", false]], "versioncheckerror": [[102, "bittensor.utils.version.VersionCheckError", false]], "versioncheckerror (in module bittensor.utils)": [[89, "bittensor.utils.VersionCheckError", false]], "w (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.W", false]], "wait_for_block (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.wait_for_block", false]], "wait_for_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.wait_for_block", false]], "wait_for_block() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.wait_for_block", false]], "wait_reveal_and_decrypt() (in module bittensor.core.timelock)": [[76, "bittensor.core.timelock.wait_reveal_and_decrypt", false]], "wallet (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.wallet", false]], "wallet (bittensor.utils.subnets.subnetsapi attribute)": [[98, "bittensor.utils.subnets.SubnetsAPI.wallet", false]], "wallet (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.wallet", false]], "wallets (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.wallets", false]], "wallets (class in bittensor.core.subtensor_api.wallets)": [[72, "bittensor.core.subtensor_api.wallets.Wallets", false]], "wallets_dir (in module bittensor.core.settings)": [[58, "bittensor.core.settings.WALLETS_DIR", false]], "warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Warning", false]], "warning() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.warning", false]], "warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.warning", false]], "warning() (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.warning", false]], "weightcommitinfo (class in bittensor.core.chain_data.weight_commit_info)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo", false]], "weights (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.weights", false]], "weights (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.weights", false]], "weights (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.weights", false]], "weights (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.weights", false]], "weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.weights", false]], "weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights", false]], "weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.weights", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.weights_rate_limit", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_version", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_version", false]], "weights_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_version", false]], "weightsratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsRateLimit", false]], "weightsversion (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsVersion", false]], "xxh128() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.xxh128", false]], "xxh64() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.xxh64", false]], "yuma_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.yuma_version", false]]}, "objects": {"": [[78, 0, 0, "-", "bittensor"]], "bittensor": [[56, 0, 0, "-", "core"], [89, 0, 0, "-", "utils"]], "bittensor.core": [[0, 0, 0, "-", "async_subtensor"], [1, 0, 0, "-", "axon"], [7, 0, 0, "-", "chain_data"], [23, 0, 0, "-", "config"], [24, 0, 0, "-", "dendrite"], [25, 0, 0, "-", "errors"], [43, 0, 0, "-", "extrinsics"], [57, 0, 0, "-", "metagraph"], [58, 0, 0, "-", "settings"], [59, 0, 0, "-", "stream"], [60, 0, 0, "-", "subtensor"], [65, 0, 0, "-", "subtensor_api"], [73, 0, 0, "-", "synapse"], [74, 0, 0, "-", "tensor"], [75, 0, 0, "-", "threadpool"], [76, 0, 0, "-", "timelock"], [77, 0, 0, "-", "types"]], "bittensor.core.async_subtensor": [[0, 1, 1, "", "AsyncSubtensor"], [0, 5, 1, "", "get_async_subtensor"]], "bittensor.core.async_subtensor.AsyncSubtensor": [[0, 2, 1, "", "add_liquidity"], [0, 2, 1, "", "add_stake"], [0, 2, 1, "", "add_stake_multiple"], [0, 2, 1, "", "all_subnets"], [0, 3, 1, "", "block"], [0, 2, 1, "", "blocks_since_last_step"], [0, 2, 1, "", "blocks_since_last_update"], [0, 2, 1, "", "bonds"], [0, 2, 1, "", "burned_register"], [0, 2, 1, "", "close"], [0, 2, 1, "", "commit"], [0, 2, 1, "", "commit_reveal_enabled"], [0, 2, 1, "", "commit_weights"], [0, 2, 1, "", "determine_block_hash"], [0, 2, 1, "", "difficulty"], [0, 2, 1, "", "does_hotkey_exist"], [0, 2, 1, "", "encode_params"], [0, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [0, 2, 1, "", "get_all_commitments"], [0, 2, 1, "", "get_all_metagraphs_info"], [0, 2, 1, "", "get_all_neuron_certificates"], [0, 2, 1, "", "get_all_revealed_commitments"], [0, 2, 1, "", "get_all_subnets_info"], [0, 2, 1, "", "get_balance"], [0, 2, 1, "", "get_balances"], [0, 2, 1, "", "get_block_hash"], [0, 2, 1, "", "get_children"], [0, 2, 1, "", "get_children_pending"], [0, 2, 1, "", "get_commitment"], [0, 2, 1, "", "get_current_block"], [0, 2, 1, "", "get_current_weight_commit_info"], [0, 2, 1, "", "get_delegate_by_hotkey"], [0, 2, 1, "", "get_delegate_identities"], [0, 2, 1, "", "get_delegate_take"], [0, 2, 1, "", "get_delegated"], [0, 2, 1, "", "get_delegates"], [0, 2, 1, "", "get_existential_deposit"], [0, 2, 1, "", "get_hotkey_owner"], [0, 4, 1, "", "get_hotkey_stake"], [0, 2, 1, "", "get_hyperparameter"], [0, 2, 1, "", "get_last_commitment_bonds_reset_block"], [0, 2, 1, "", "get_liquidity_list"], [0, 2, 1, "", "get_metagraph_info"], [0, 2, 1, "", "get_minimum_required_stake"], [0, 2, 1, "", "get_netuids_for_hotkey"], [0, 2, 1, "", "get_neuron_certificate"], [0, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [0, 2, 1, "", "get_next_epoch_start_block"], [0, 2, 1, "", "get_owned_hotkeys"], [0, 2, 1, "", "get_parents"], [0, 2, 1, "", "get_revealed_commitment"], [0, 2, 1, "", "get_revealed_commitment_by_hotkey"], [0, 2, 1, "", "get_stake"], [0, 2, 1, "", "get_stake_add_fee"], [0, 2, 1, "", "get_stake_for_coldkey"], [0, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [0, 2, 1, "", "get_stake_for_hotkey"], [0, 4, 1, "", "get_stake_info_for_coldkey"], [0, 2, 1, "", "get_stake_movement_fee"], [0, 2, 1, "", "get_stake_operations_fee"], [0, 2, 1, "", "get_subnet_burn_cost"], [0, 2, 1, "", "get_subnet_hyperparameters"], [0, 2, 1, "", "get_subnet_info"], [0, 2, 1, "", "get_subnet_owner_hotkey"], [0, 2, 1, "", "get_subnet_price"], [0, 2, 1, "", "get_subnet_prices"], [0, 2, 1, "", "get_subnet_reveal_period_epochs"], [0, 2, 1, "", "get_subnet_validator_permits"], [0, 2, 1, "", "get_subnets"], [0, 2, 1, "", "get_timestamp"], [0, 2, 1, "", "get_total_subnets"], [0, 2, 1, "", "get_transfer_fee"], [0, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [0, 2, 1, "", "get_unstake_fee"], [0, 2, 1, "", "get_vote_data"], [0, 2, 1, "", "immunity_period"], [0, 2, 1, "", "initialize"], [0, 2, 1, "", "is_fast_blocks"], [0, 2, 1, "", "is_hotkey_delegate"], [0, 2, 1, "", "is_hotkey_registered"], [0, 2, 1, "", "is_hotkey_registered_any"], [0, 2, 1, "", "is_hotkey_registered_on_subnet"], [0, 2, 1, "", "is_subnet_active"], [0, 2, 1, "", "last_drand_round"], [0, 4, 1, "", "log_verbose"], [0, 2, 1, "", "max_weight_limit"], [0, 2, 1, "", "metagraph"], [0, 2, 1, "", "min_allowed_weights"], [0, 2, 1, "", "modify_liquidity"], [0, 2, 1, "", "move_stake"], [0, 2, 1, "", "neuron_for_uid"], [0, 2, 1, "", "neurons"], [0, 2, 1, "", "neurons_lite"], [0, 2, 1, "", "query_constant"], [0, 2, 1, "", "query_identity"], [0, 2, 1, "", "query_map"], [0, 2, 1, "", "query_map_subtensor"], [0, 2, 1, "", "query_module"], [0, 2, 1, "", "query_runtime_api"], [0, 2, 1, "", "query_subtensor"], [0, 2, 1, "", "recycle"], [0, 2, 1, "", "register"], [0, 2, 1, "", "register_subnet"], [0, 2, 1, "", "remove_liquidity"], [0, 2, 1, "", "reveal_weights"], [0, 2, 1, "", "root_register"], [0, 2, 1, "", "root_set_pending_childkey_cooldown"], [0, 2, 1, "", "root_set_weights"], [0, 2, 1, "", "serve_axon"], [0, 2, 1, "", "set_children"], [0, 4, 1, "", "set_commitment"], [0, 2, 1, "", "set_delegate_take"], [0, 2, 1, "", "set_reveal_commitment"], [0, 2, 1, "", "set_subnet_identity"], [0, 2, 1, "", "set_weights"], [0, 2, 1, "", "sign_and_send_extrinsic"], [0, 2, 1, "", "start_call"], [0, 2, 1, "", "state_call"], [0, 2, 1, "", "subnet"], [0, 2, 1, "", "subnet_exists"], [0, 2, 1, "", "subnetwork_n"], [0, 4, 1, "", "substrate"], [0, 2, 1, "", "swap_stake"], [0, 2, 1, "", "tempo"], [0, 2, 1, "", "toggle_user_liquidity"], [0, 2, 1, "", "transfer"], [0, 2, 1, "", "transfer_stake"], [0, 2, 1, "", "tx_rate_limit"], [0, 2, 1, "", "unstake"], [0, 2, 1, "", "unstake_all"], [0, 2, 1, "", "unstake_multiple"], [0, 2, 1, "", "wait_for_block"], [0, 2, 1, "", "weights"], [0, 2, 1, "", "weights_rate_limit"]], "bittensor.core.axon": [[1, 1, 1, "", "Axon"], [1, 1, 1, "", "AxonMiddleware"], [1, 1, 1, "", "FastAPIThreadedServer"], [1, 6, 1, "", "V_7_2_0"], [1, 5, 1, "", "create_error_response"], [1, 5, 1, "", "log_and_handle_error"]], "bittensor.core.axon.Axon": [[1, 2, 1, "", "add_args"], [1, 4, 1, "", "app"], [1, 2, 1, "", "attach"], [1, 4, 1, "", "blacklist_fns"], [1, 2, 1, "", "check_config"], [1, 2, 1, "", "config"], [1, 2, 1, "", "default_verify"], [1, 4, 1, "", "external_ip"], [1, 4, 1, "", "external_port"], [1, 4, 1, "", "fast_config"], [1, 4, 1, "", "fast_server"], [1, 4, 1, "", "forward_class_types"], [1, 4, 1, "", "forward_fns"], [1, 4, 1, "", "full_address"], [1, 2, 1, "", "help"], [1, 2, 1, "", "info"], [1, 4, 1, "", "ip"], [1, 4, 1, "", "middleware_cls"], [1, 4, 1, "", "nonces"], [1, 4, 1, "", "port"], [1, 4, 1, "", "priority_fns"], [1, 4, 1, "", "router"], [1, 2, 1, "", "serve"], [1, 2, 1, "", "start"], [1, 4, 1, "", "started"], [1, 2, 1, "", "stop"], [1, 4, 1, "", "thread_pool"], [1, 2, 1, "", "to_string"], [1, 4, 1, "", "uuid"], [1, 2, 1, "", "verify_body_integrity"], [1, 4, 1, "", "verify_fns"], [1, 4, 1, "", "wallet"]], "bittensor.core.axon.AxonMiddleware": [[1, 4, 1, "", "axon"], [1, 2, 1, "", "blacklist"], [1, 2, 1, "", "dispatch"], [1, 2, 1, "", "preprocess"], [1, 2, 1, "", "priority"], [1, 2, 1, "", "run"], [1, 2, 1, "", "synapse_to_response"], [1, 2, 1, "", "verify"]], "bittensor.core.axon.FastAPIThreadedServer": [[1, 2, 1, "", "install_signal_handlers"], [1, 4, 1, "", "is_running"], [1, 2, 1, "", "run_in_thread"], [1, 4, 1, "", "should_exit"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"]], "bittensor.core.chain_data": [[2, 0, 0, "-", "axon_info"], [3, 0, 0, "-", "chain_identity"], [4, 0, 0, "-", "delegate_info"], [5, 0, 0, "-", "delegate_info_lite"], [6, 0, 0, "-", "dynamic_info"], [8, 0, 0, "-", "info_base"], [9, 0, 0, "-", "ip_info"], [10, 0, 0, "-", "metagraph_info"], [11, 0, 0, "-", "neuron_info"], [12, 0, 0, "-", "neuron_info_lite"], [13, 0, 0, "-", "prometheus_info"], [14, 0, 0, "-", "proposal_vote_data"], [15, 0, 0, "-", "scheduled_coldkey_swap_info"], [16, 0, 0, "-", "stake_info"], [17, 0, 0, "-", "subnet_hyperparameters"], [18, 0, 0, "-", "subnet_identity"], [19, 0, 0, "-", "subnet_info"], [20, 0, 0, "-", "subnet_state"], [21, 0, 0, "-", "utils"], [22, 0, 0, "-", "weight_commit_info"]], "bittensor.core.chain_data.axon_info": [[2, 1, 1, "", "AxonInfo"]], "bittensor.core.chain_data.axon_info.AxonInfo": [[2, 4, 1, "", "coldkey"], [2, 2, 1, "", "from_neuron_info"], [2, 2, 1, "", "from_parameter_dict"], [2, 2, 1, "", "from_string"], [2, 4, 1, "", "hotkey"], [2, 4, 1, "", "ip"], [2, 2, 1, "", "ip_str"], [2, 4, 1, "", "ip_type"], [2, 3, 1, "", "is_serving"], [2, 4, 1, "", "placeholder1"], [2, 4, 1, "", "placeholder2"], [2, 4, 1, "", "port"], [2, 4, 1, "", "protocol"], [2, 2, 1, "", "to_parameter_dict"], [2, 2, 1, "", "to_string"], [2, 4, 1, "", "version"]], "bittensor.core.chain_data.chain_identity": [[3, 1, 1, "", "ChainIdentity"]], "bittensor.core.chain_data.chain_identity.ChainIdentity": [[3, 4, 1, "", "additional"], [3, 4, 1, "", "description"], [3, 4, 1, "", "discord"], [3, 4, 1, "", "github"], [3, 4, 1, "", "image"], [3, 4, 1, "", "name"], [3, 4, 1, "", "url"]], "bittensor.core.chain_data.delegate_info": [[4, 1, 1, "", "DelegateInfo"], [4, 1, 1, "", "DelegateInfoBase"], [4, 1, 1, "", "DelegatedInfo"]], "bittensor.core.chain_data.delegate_info.DelegateInfo": [[4, 4, 1, "", "nominators"], [4, 4, 1, "", "total_stake"]], "bittensor.core.chain_data.delegate_info.DelegateInfoBase": [[4, 4, 1, "", "hotkey_ss58"], [4, 4, 1, "", "owner_ss58"], [4, 4, 1, "", "registrations"], [4, 4, 1, "", "return_per_1000"], [4, 4, 1, "", "take"], [4, 4, 1, "", "total_daily_return"], [4, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.delegate_info.DelegatedInfo": [[4, 4, 1, "", "netuid"], [4, 4, 1, "", "stake"]], "bittensor.core.chain_data.delegate_info_lite": [[5, 1, 1, "", "DelegateInfoLite"]], "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite": [[5, 4, 1, "", "delegate_ss58"], [5, 4, 1, "", "nominators"], [5, 4, 1, "", "owner_ss58"], [5, 4, 1, "", "registrations"], [5, 4, 1, "", "return_per_1000"], [5, 4, 1, "", "take"], [5, 4, 1, "", "total_daily_return"], [5, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.dynamic_info": [[6, 1, 1, "", "DynamicInfo"]], "bittensor.core.chain_data.dynamic_info.DynamicInfo": [[6, 4, 1, "", "alpha_in"], [6, 4, 1, "", "alpha_in_emission"], [6, 4, 1, "", "alpha_out"], [6, 4, 1, "", "alpha_out_emission"], [6, 4, 1, "", "alpha_slippage"], [6, 2, 1, "", "alpha_to_tao"], [6, 2, 1, "", "alpha_to_tao_with_slippage"], [6, 4, 1, "", "blocks_since_last_step"], [6, 4, 1, "", "emission"], [6, 4, 1, "", "is_dynamic"], [6, 4, 1, "", "k"], [6, 4, 1, "", "last_step"], [6, 4, 1, "", "moving_price"], [6, 4, 1, "", "netuid"], [6, 4, 1, "", "network_registered_at"], [6, 4, 1, "", "owner_coldkey"], [6, 4, 1, "", "owner_hotkey"], [6, 4, 1, "", "pending_alpha_emission"], [6, 4, 1, "", "pending_root_emission"], [6, 4, 1, "", "price"], [6, 4, 1, "", "slippage"], [6, 4, 1, "", "subnet_identity"], [6, 4, 1, "", "subnet_name"], [6, 4, 1, "", "subnet_volume"], [6, 4, 1, "", "symbol"], [6, 4, 1, "", "tao_in"], [6, 4, 1, "", "tao_in_emission"], [6, 4, 1, "", "tao_slippage"], [6, 2, 1, "", "tao_to_alpha"], [6, 2, 1, "", "tao_to_alpha_with_slippage"], [6, 4, 1, "", "tempo"]], "bittensor.core.chain_data.info_base": [[8, 1, 1, "", "InfoBase"], [8, 6, 1, "", "T"]], "bittensor.core.chain_data.info_base.InfoBase": [[8, 2, 1, "", "from_dict"], [8, 2, 1, "", "list_from_dicts"]], "bittensor.core.chain_data.ip_info": [[9, 1, 1, "", "IPInfo"]], "bittensor.core.chain_data.ip_info.IPInfo": [[9, 2, 1, "", "encode"], [9, 2, 1, "", "from_parameter_dict"], [9, 4, 1, "", "ip"], [9, 4, 1, "", "ip_type"], [9, 4, 1, "", "protocol"], [9, 2, 1, "", "to_parameter_dict"]], "bittensor.core.chain_data.metagraph_info": [[10, 1, 1, "", "MetagraphInfo"], [10, 1, 1, "", "MetagraphInfoEmissions"], [10, 1, 1, "", "MetagraphInfoParams"], [10, 1, 1, "", "MetagraphInfoPool"], [10, 1, 1, "", "SelectiveMetagraphIndex"], [10, 5, 1, "", "process_nested"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfo": [[10, 4, 1, "", "active"], [10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_dividends_per_hotkey"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "alpha_stake"], [10, 4, 1, "", "axons"], [10, 4, 1, "", "block"], [10, 4, 1, "", "block_at_registration"], [10, 4, 1, "", "blocks_since_last_step"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "coldkeys"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "consensus"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "dividends"], [10, 4, 1, "", "emission"], [10, 4, 1, "", "hotkeys"], [10, 4, 1, "", "identities"], [10, 4, 1, "", "identity"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "incentives"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "last_step"], [10, 4, 1, "", "last_update"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_uids"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "name"], [10, 4, 1, "", "netuid"], [10, 4, 1, "", "network_registered_at"], [10, 4, 1, "", "num_uids"], [10, 4, 1, "", "owner_coldkey"], [10, 4, 1, "", "owner_hotkey"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "pruning_score"], [10, 4, 1, "", "rank"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "symbol"], [10, 4, 1, "", "tao_dividends_per_hotkey"], [10, 4, 1, "", "tao_in"], [10, 4, 1, "", "tao_in_emission"], [10, 4, 1, "", "tao_stake"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "total_stake"], [10, 4, 1, "", "trust"], [10, 4, 1, "", "validator_permit"], [10, 4, 1, "", "validators"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions": [[10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "tao_in_emission"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams": [[10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool": [[10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "tao_in"]], "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex": [[10, 4, 1, "", "Active"], [10, 4, 1, "", "ActivityCutoff"], [10, 4, 1, "", "AdjustmentAlpha"], [10, 4, 1, "", "AdjustmentInterval"], [10, 4, 1, "", "AlphaDividendsPerHotkey"], [10, 4, 1, "", "AlphaHigh"], [10, 4, 1, "", "AlphaIn"], [10, 4, 1, "", "AlphaInEmission"], [10, 4, 1, "", "AlphaLow"], [10, 4, 1, "", "AlphaOut"], [10, 4, 1, "", "AlphaOutEmission"], [10, 4, 1, "", "AlphaStake"], [10, 4, 1, "", "Axons"], [10, 4, 1, "", "Block"], [10, 4, 1, "", "BlockAtRegistration"], [10, 4, 1, "", "BlocksSinceLastStep"], [10, 4, 1, "", "BondsMovingAvg"], [10, 4, 1, "", "Burn"], [10, 4, 1, "", "Coldkeys"], [10, 4, 1, "", "CommitRevealPeriod"], [10, 4, 1, "", "CommitRevealWeightsEnabled"], [10, 4, 1, "", "Consensus"], [10, 4, 1, "", "Difficulty"], [10, 4, 1, "", "Dividends"], [10, 4, 1, "", "Emission"], [10, 4, 1, "", "Hotkeys"], [10, 4, 1, "", "Identities"], [10, 4, 1, "", "Identity"], [10, 4, 1, "", "ImmunityPeriod"], [10, 4, 1, "", "Incentives"], [10, 4, 1, "", "Kappa"], [10, 4, 1, "", "LastStep"], [10, 4, 1, "", "LastUpdate"], [10, 4, 1, "", "LiquidAlphaEnabled"], [10, 4, 1, "", "MaxBurn"], [10, 4, 1, "", "MaxDifficulty"], [10, 4, 1, "", "MaxRegsPerBlock"], [10, 4, 1, "", "MaxUids"], [10, 4, 1, "", "MaxValidators"], [10, 4, 1, "", "MaxWeightsLimit"], [10, 4, 1, "", "MinAllowedWeights"], [10, 4, 1, "", "MinBurn"], [10, 4, 1, "", "MinDifficulty"], [10, 4, 1, "", "MovingPrice"], [10, 4, 1, "", "Name"], [10, 4, 1, "", "Netuid"], [10, 4, 1, "", "NetworkRegisteredAt"], [10, 4, 1, "", "NumUids"], [10, 4, 1, "", "OwnerColdkey"], [10, 4, 1, "", "OwnerHotkey"], [10, 4, 1, "", "PendingAlphaEmission"], [10, 4, 1, "", "PendingRootEmission"], [10, 4, 1, "", "PowRegistrationAllowed"], [10, 4, 1, "", "PruningScore"], [10, 4, 1, "", "Rank"], [10, 4, 1, "", "RegistrationAllowed"], [10, 4, 1, "", "Rho"], [10, 4, 1, "", "ServingRateLimit"], [10, 4, 1, "", "SubnetEmission"], [10, 4, 1, "", "SubnetVolume"], [10, 4, 1, "", "Symbol"], [10, 4, 1, "", "TaoDividendsPerHotkey"], [10, 4, 1, "", "TaoIn"], [10, 4, 1, "", "TaoInEmission"], [10, 4, 1, "", "TaoStake"], [10, 4, 1, "", "TargetRegsPerInterval"], [10, 4, 1, "", "Tempo"], [10, 4, 1, "", "TotalStake"], [10, 4, 1, "", "Trust"], [10, 4, 1, "", "ValidatorPermit"], [10, 4, 1, "", "Validators"], [10, 4, 1, "", "WeightsRateLimit"], [10, 4, 1, "", "WeightsVersion"], [10, 2, 1, "", "all_indices"]], "bittensor.core.chain_data.neuron_info": [[11, 1, 1, "", "NeuronInfo"]], "bittensor.core.chain_data.neuron_info.NeuronInfo": [[11, 4, 1, "", "active"], [11, 4, 1, "", "axon_info"], [11, 4, 1, "", "bonds"], [11, 4, 1, "", "coldkey"], [11, 4, 1, "", "consensus"], [11, 4, 1, "", "dividends"], [11, 4, 1, "", "emission"], [11, 2, 1, "", "from_weights_bonds_and_neuron_lite"], [11, 2, 1, "", "get_null_neuron"], [11, 4, 1, "", "hotkey"], [11, 4, 1, "", "incentive"], [11, 4, 1, "", "is_null"], [11, 4, 1, "", "last_update"], [11, 4, 1, "", "netuid"], [11, 4, 1, "", "prometheus_info"], [11, 4, 1, "", "pruning_score"], [11, 4, 1, "", "rank"], [11, 4, 1, "", "stake"], [11, 4, 1, "", "stake_dict"], [11, 4, 1, "", "total_stake"], [11, 4, 1, "", "trust"], [11, 4, 1, "", "uid"], [11, 4, 1, "", "validator_permit"], [11, 4, 1, "", "validator_trust"], [11, 4, 1, "", "weights"]], "bittensor.core.chain_data.neuron_info_lite": [[12, 1, 1, "", "NeuronInfoLite"]], "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite": [[12, 4, 1, "", "active"], [12, 4, 1, "", "axon_info"], [12, 4, 1, "", "coldkey"], [12, 4, 1, "", "consensus"], [12, 4, 1, "", "dividends"], [12, 4, 1, "", "emission"], [12, 2, 1, "id0", "get_null_neuron"], [12, 4, 1, "", "hotkey"], [12, 4, 1, "", "incentive"], [12, 4, 1, "", "is_null"], [12, 4, 1, "", "last_update"], [12, 2, 1, "", "list_from_vec_u8"], [12, 4, 1, "", "netuid"], [12, 4, 1, "", "prometheus_info"], [12, 4, 1, "", "pruning_score"], [12, 4, 1, "", "rank"], [12, 4, 1, "", "stake"], [12, 4, 1, "", "stake_dict"], [12, 4, 1, "", "total_stake"], [12, 4, 1, "", "trust"], [12, 4, 1, "", "uid"], [12, 4, 1, "", "validator_permit"], [12, 4, 1, "", "validator_trust"]], "bittensor.core.chain_data.prometheus_info": [[13, 1, 1, "", "PrometheusInfo"]], "bittensor.core.chain_data.prometheus_info.PrometheusInfo": [[13, 4, 1, "", "block"], [13, 4, 1, "", "ip"], [13, 4, 1, "", "ip_type"], [13, 4, 1, "", "port"], [13, 4, 1, "", "version"]], "bittensor.core.chain_data.proposal_vote_data": [[14, 1, 1, "", "ProposalVoteData"]], "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData": [[14, 4, 1, "", "ayes"], [14, 4, 1, "", "end"], [14, 2, 1, "", "from_dict"], [14, 4, 1, "", "index"], [14, 4, 1, "", "nays"], [14, 4, 1, "", "threshold"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, 1, 1, "", "ScheduledColdkeySwapInfo"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo": [[15, 4, 1, "", "arbitration_block"], [15, 2, 1, "", "decode_account_id_list"], [15, 4, 1, "", "new_coldkey"], [15, 4, 1, "", "old_coldkey"]], "bittensor.core.chain_data.stake_info": [[16, 1, 1, "", "StakeInfo"]], "bittensor.core.chain_data.stake_info.StakeInfo": [[16, 4, 1, "", "coldkey_ss58"], [16, 4, 1, "", "drain"], [16, 4, 1, "", "emission"], [16, 2, 1, "", "from_dict"], [16, 4, 1, "", "hotkey_ss58"], [16, 4, 1, "", "is_registered"], [16, 4, 1, "", "locked"], [16, 4, 1, "", "netuid"], [16, 4, 1, "", "stake"]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, 1, 1, "", "SubnetHyperparameters"]], "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters": [[17, 4, 1, "", "activity_cutoff"], [17, 4, 1, "", "adjustment_alpha"], [17, 4, 1, "", "adjustment_interval"], [17, 4, 1, "", "alpha_high"], [17, 4, 1, "", "alpha_low"], [17, 4, 1, "", "alpha_sigmoid_steepness"], [17, 4, 1, "", "bonds_moving_avg"], [17, 4, 1, "", "bonds_reset_enabled"], [17, 4, 1, "", "commit_reveal_period"], [17, 4, 1, "", "commit_reveal_weights_enabled"], [17, 4, 1, "", "difficulty"], [17, 4, 1, "", "immunity_period"], [17, 4, 1, "", "kappa"], [17, 4, 1, "", "liquid_alpha_enabled"], [17, 4, 1, "", "max_burn"], [17, 4, 1, "", "max_difficulty"], [17, 4, 1, "", "max_regs_per_block"], [17, 4, 1, "", "max_validators"], [17, 4, 1, "", "max_weight_limit"], [17, 4, 1, "", "min_allowed_weights"], [17, 4, 1, "", "min_burn"], [17, 4, 1, "", "min_difficulty"], [17, 4, 1, "", "registration_allowed"], [17, 4, 1, "", "rho"], [17, 4, 1, "", "serving_rate_limit"], [17, 4, 1, "", "subnet_is_active"], [17, 4, 1, "", "target_regs_per_interval"], [17, 4, 1, "", "tempo"], [17, 4, 1, "", "transfers_enabled"], [17, 4, 1, "", "user_liquidity_enabled"], [17, 4, 1, "", "weights_rate_limit"], [17, 4, 1, "", "weights_version"], [17, 4, 1, "", "yuma_version"]], "bittensor.core.chain_data.subnet_identity": [[18, 1, 1, "", "SubnetIdentity"]], "bittensor.core.chain_data.subnet_identity.SubnetIdentity": [[18, 4, 1, "", "additional"], [18, 4, 1, "", "description"], [18, 4, 1, "", "discord"], [18, 4, 1, "", "github_repo"], [18, 4, 1, "", "logo_url"], [18, 4, 1, "", "subnet_contact"], [18, 4, 1, "", "subnet_name"], [18, 4, 1, "", "subnet_url"]], "bittensor.core.chain_data.subnet_info": [[19, 1, 1, "", "SubnetInfo"]], "bittensor.core.chain_data.subnet_info.SubnetInfo": [[19, 4, 1, "", "blocks_since_epoch"], [19, 4, 1, "", "burn"], [19, 4, 1, "", "connection_requirements"], [19, 4, 1, "", "difficulty"], [19, 4, 1, "", "emission_value"], [19, 4, 1, "", "immunity_period"], [19, 4, 1, "", "kappa"], [19, 4, 1, "", "max_allowed_validators"], [19, 4, 1, "", "max_n"], [19, 4, 1, "", "max_weight_limit"], [19, 4, 1, "", "min_allowed_weights"], [19, 4, 1, "", "modality"], [19, 4, 1, "", "netuid"], [19, 4, 1, "", "owner_ss58"], [19, 4, 1, "", "rho"], [19, 4, 1, "", "scaling_law_power"], [19, 4, 1, "", "subnetwork_n"], [19, 4, 1, "", "tempo"]], "bittensor.core.chain_data.subnet_state": [[20, 1, 1, "", "SubnetState"]], "bittensor.core.chain_data.subnet_state.SubnetState": [[20, 4, 1, "", "active"], [20, 4, 1, "", "alpha_stake"], [20, 4, 1, "", "block_at_registration"], [20, 4, 1, "", "coldkeys"], [20, 4, 1, "", "consensus"], [20, 4, 1, "", "dividends"], [20, 4, 1, "", "emission"], [20, 4, 1, "", "emission_history"], [20, 4, 1, "", "hotkeys"], [20, 4, 1, "", "incentives"], [20, 4, 1, "", "last_update"], [20, 4, 1, "", "netuid"], [20, 4, 1, "", "pruning_score"], [20, 4, 1, "", "rank"], [20, 4, 1, "", "tao_stake"], [20, 4, 1, "", "total_stake"], [20, 4, 1, "", "trust"], [20, 4, 1, "", "validator_permit"]], "bittensor.core.chain_data.utils": [[21, 1, 1, "", "ChainDataType"], [21, 5, 1, "", "decode_account_id"], [21, 5, 1, "", "decode_block"], [21, 5, 1, "", "decode_metadata"], [21, 5, 1, "", "decode_revealed_commitment"], [21, 5, 1, "", "decode_revealed_commitment_with_hotkey"], [21, 5, 1, "", "from_scale_encoding"], [21, 5, 1, "", "from_scale_encoding_using_type_string"], [21, 5, 1, "", "process_stake_data"]], "bittensor.core.chain_data.utils.ChainDataType": [[21, 4, 1, "", "AccountId"], [21, 4, 1, "", "AxonInfo"], [21, 4, 1, "", "ChainIdentity"], [21, 4, 1, "", "DelegateInfo"], [21, 4, 1, "", "DelegatedInfo"], [21, 4, 1, "", "DynamicInfo"], [21, 4, 1, "", "IPInfo"], [21, 4, 1, "", "MetagraphInfo"], [21, 4, 1, "", "NeuronInfo"], [21, 4, 1, "", "NeuronInfoLite"], [21, 4, 1, "", "ScheduledColdkeySwapInfo"], [21, 4, 1, "", "StakeInfo"], [21, 4, 1, "", "SubnetHyperparameters"], [21, 4, 1, "", "SubnetIdentity"], [21, 4, 1, "", "SubnetInfo"], [21, 4, 1, "", "SubnetState"]], "bittensor.core.chain_data.weight_commit_info": [[22, 1, 1, "", "WeightCommitInfo"]], "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo": [[22, 4, 1, "", "commit_hex"], [22, 2, 1, "", "from_vec_u8"], [22, 4, 1, "", "reveal_round"], [22, 4, 1, "", "ss58"]], "bittensor.core.config": [[23, 1, 1, "", "Config"], [23, 1, 1, "", "DefaultConfig"], [23, 7, 1, "", "InvalidConfigFile"], [23, 6, 1, "", "T"]], "bittensor.core.config.Config": [[23, 2, 1, "", "is_set"], [23, 2, 1, "", "merge"], [23, 2, 1, "", "to_dict"]], "bittensor.core.config.DefaultConfig": [[23, 2, 1, "", "default"]], "bittensor.core.dendrite": [[24, 6, 1, "", "BaseModel"], [24, 6, 1, "", "DENDRITE_DEFAULT_ERROR"], [24, 6, 1, "", "DENDRITE_ERROR_MAPPING"], [24, 1, 1, "", "Dendrite"], [24, 1, 1, "", "DendriteMixin"], [24, 5, 1, "", "call"], [24, 5, 1, "", "event_loop_is_running"]], "bittensor.core.dendrite.Dendrite": [[24, 2, 1, "", "__repr__"], [24, 2, 1, "", "__str__"], [24, 2, 1, "", "aclose_session"], [24, 2, 1, "", "call"], [24, 2, 1, "", "call_stream"], [24, 2, 1, "", "close_session"], [24, 2, 1, "", "forward"], [24, 2, 1, "", "preprocess_synapse_for_request"], [24, 2, 1, "", "process_server_response"], [24, 2, 1, "", "query"]], "bittensor.core.dendrite.DendriteMixin": [[24, 2, 1, "", "__repr__"], [24, 2, 1, "", "__str__"], [24, 2, 1, "id0", "aclose_session"], [24, 2, 1, "", "aquery"], [24, 2, 1, "id3", "call"], [24, 2, 1, "id4", "call_stream"], [24, 2, 1, "id5", "close_session"], [24, 4, 1, "", "external_ip"], [24, 2, 1, "id7", "forward"], [24, 4, 1, "", "keypair"], [24, 2, 1, "", "log_exception"], [24, 2, 1, "id8", "preprocess_synapse_for_request"], [24, 2, 1, "", "process_error_message"], [24, 2, 1, "id9", "process_server_response"], [24, 2, 1, "id11", "query"], [24, 3, 1, "", "session"], [24, 4, 1, "", "synapse_history"], [24, 4, 1, "", "uuid"]], "bittensor.core.errors": [[25, 7, 1, "", "BlacklistedException"], [25, 6, 1, "", "BlockNotFound"], [25, 7, 1, "", "ChainConnectionError"], [25, 7, 1, "", "ChainError"], [25, 7, 1, "", "ChainQueryError"], [25, 7, 1, "", "ChainTransactionError"], [25, 7, 1, "", "DelegateTakeTooHigh"], [25, 7, 1, "", "DelegateTakeTooLow"], [25, 7, 1, "", "DelegateTxRateLimitExceeded"], [25, 7, 1, "", "DuplicateChild"], [25, 6, 1, "", "ExtrinsicNotFound"], [25, 7, 1, "", "HotKeyAccountNotExists"], [25, 7, 1, "", "IdentityError"], [25, 7, 1, "", "InternalServerError"], [25, 7, 1, "", "InvalidChild"], [25, 7, 1, "", "InvalidRequestNameError"], [25, 7, 1, "", "MaxAttemptsException"], [25, 7, 1, "", "MaxSuccessException"], [25, 7, 1, "", "MetadataError"], [25, 7, 1, "", "NominationError"], [25, 7, 1, "", "NonAssociatedColdKey"], [25, 7, 1, "", "NotDelegateError"], [25, 7, 1, "", "NotEnoughStakeToSetChildkeys"], [25, 7, 1, "", "NotRegisteredError"], [25, 7, 1, "", "NotVerifiedException"], [25, 7, 1, "", "PostProcessException"], [25, 7, 1, "", "PriorityException"], [25, 7, 1, "", "ProportionOverflow"], [25, 7, 1, "", "RegistrationError"], [25, 7, 1, "", "RegistrationNotPermittedOnRootSubnet"], [25, 7, 1, "", "RunException"], [25, 7, 1, "", "StakeError"], [25, 6, 1, "", "StorageFunctionNotFound"], [25, 7, 1, "", "SubNetworkDoesNotExist"], [25, 6, 1, "", "SubstrateRequestException"], [25, 7, 1, "", "SynapseDendriteNoneException"], [25, 7, 1, "", "SynapseException"], [25, 7, 1, "", "SynapseParsingError"], [25, 7, 1, "", "TakeError"], [25, 7, 1, "", "TooManyChildren"], [25, 7, 1, "", "TransferError"], [25, 7, 1, "", "TxRateLimitExceeded"], [25, 7, 1, "", "UnknownSynapseError"], [25, 7, 1, "", "UnstakeError"]], "bittensor.core.errors.ChainError": [[25, 2, 1, "", "from_error"]], "bittensor.core.errors.SynapseDendriteNoneException": [[25, 4, 1, "", "message"]], "bittensor.core.errors.SynapseException": [[25, 4, 1, "", "message"], [25, 4, 1, "", "synapse"]], "bittensor.core.extrinsics": [[28, 0, 0, "-", "asyncex"], [40, 0, 0, "-", "children"], [41, 0, 0, "-", "commit_reveal"], [42, 0, 0, "-", "commit_weights"], [44, 0, 0, "-", "liquidity"], [45, 0, 0, "-", "move_stake"], [46, 0, 0, "-", "registration"], [47, 0, 0, "-", "root"], [48, 0, 0, "-", "serving"], [49, 0, 0, "-", "set_weights"], [50, 0, 0, "-", "staking"], [51, 0, 0, "-", "start_call"], [52, 0, 0, "-", "take"], [53, 0, 0, "-", "transfer"], [54, 0, 0, "-", "unstaking"], [55, 0, 0, "-", "utils"]], "bittensor.core.extrinsics.asyncex": [[26, 0, 0, "-", "children"], [27, 0, 0, "-", "commit_reveal"], [29, 0, 0, "-", "liquidity"], [30, 0, 0, "-", "move_stake"], [31, 0, 0, "-", "registration"], [32, 0, 0, "-", "root"], [33, 0, 0, "-", "serving"], [34, 0, 0, "-", "staking"], [35, 0, 0, "-", "start_call"], [36, 0, 0, "-", "take"], [37, 0, 0, "-", "transfer"], [38, 0, 0, "-", "unstaking"], [39, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.asyncex.children": [[26, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [26, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[27, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.asyncex.liquidity": [[29, 5, 1, "", "add_liquidity_extrinsic"], [29, 5, 1, "", "modify_liquidity_extrinsic"], [29, 5, 1, "", "remove_liquidity_extrinsic"], [29, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.asyncex.move_stake": [[30, 5, 1, "", "move_stake_extrinsic"], [30, 5, 1, "", "swap_stake_extrinsic"], [30, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.asyncex.registration": [[31, 5, 1, "", "burned_register_extrinsic"], [31, 5, 1, "", "register_extrinsic"], [31, 5, 1, "", "register_subnet_extrinsic"], [31, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.asyncex.root": [[32, 5, 1, "", "root_register_extrinsic"], [32, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.asyncex.serving": [[33, 5, 1, "", "do_serve_axon"], [33, 5, 1, "", "get_last_bonds_reset"], [33, 5, 1, "", "get_metadata"], [33, 5, 1, "", "publish_metadata"], [33, 5, 1, "", "serve_axon_extrinsic"], [33, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.asyncex.staking": [[34, 5, 1, "", "add_stake_extrinsic"], [34, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.start_call": [[35, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.asyncex.take": [[36, 5, 1, "", "decrease_take_extrinsic"], [36, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.asyncex.transfer": [[37, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, 5, 1, "", "unstake_all_extrinsic"], [38, 5, 1, "", "unstake_extrinsic"], [38, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.weights": [[39, 5, 1, "", "commit_weights_extrinsic"], [39, 5, 1, "", "reveal_weights_extrinsic"], [39, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.children": [[40, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [40, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.commit_reveal": [[41, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.commit_weights": [[42, 5, 1, "", "commit_weights_extrinsic"], [42, 5, 1, "", "reveal_weights_extrinsic"]], "bittensor.core.extrinsics.liquidity": [[44, 5, 1, "", "add_liquidity_extrinsic"], [44, 5, 1, "", "modify_liquidity_extrinsic"], [44, 5, 1, "", "remove_liquidity_extrinsic"], [44, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.move_stake": [[45, 5, 1, "", "move_stake_extrinsic"], [45, 5, 1, "", "swap_stake_extrinsic"], [45, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.registration": [[46, 5, 1, "", "burned_register_extrinsic"], [46, 5, 1, "", "register_extrinsic"], [46, 5, 1, "", "register_subnet_extrinsic"], [46, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.root": [[47, 5, 1, "", "root_register_extrinsic"], [47, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.serving": [[48, 5, 1, "", "do_serve_axon"], [48, 5, 1, "", "get_last_bonds_reset"], [48, 5, 1, "", "get_metadata"], [48, 5, 1, "", "publish_metadata"], [48, 5, 1, "", "serve_axon_extrinsic"], [48, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.set_weights": [[49, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.staking": [[50, 5, 1, "", "add_stake_extrinsic"], [50, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.start_call": [[51, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.take": [[52, 5, 1, "", "decrease_take_extrinsic"], [52, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.transfer": [[53, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.unstaking": [[54, 5, 1, "", "unstake_all_extrinsic"], [54, 5, 1, "", "unstake_extrinsic"], [54, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.utils": [[55, 5, 1, "", "get_old_stakes"]], "bittensor.core.metagraph": [[57, 1, 1, "", "AsyncMetagraph"], [57, 6, 1, "", "BaseClass"], [57, 6, 1, "", "METAGRAPH_STATE_DICT_NDARRAY_KEYS"], [57, 1, 1, "", "Metagraph"], [57, 1, 1, "", "MetagraphMixin"], [57, 1, 1, "", "NonTorchMetagraph"], [57, 6, 1, "", "NumpyOrTorch"], [57, 6, 1, "", "Tensor"], [57, 1, 1, "", "TorchMetagraph"], [57, 5, 1, "", "async_metagraph"], [57, 5, 1, "", "get_save_dir"], [57, 5, 1, "", "latest_block_path"], [57, 5, 1, "", "safe_globals"]], "bittensor.core.metagraph.AsyncMetagraph": [[57, 2, 1, "", "sync"]], "bittensor.core.metagraph.Metagraph": [[57, 2, 1, "", "sync"]], "bittensor.core.metagraph.MetagraphMixin": [[57, 3, 1, "", "AS"], [57, 3, 1, "", "B"], [57, 3, 1, "", "C"], [57, 3, 1, "", "D"], [57, 3, 1, "", "E"], [57, 3, 1, "", "I"], [57, 3, 1, "", "R"], [57, 3, 1, "", "S"], [57, 3, 1, "", "T"], [57, 3, 1, "", "TS"], [57, 3, 1, "", "Tv"], [57, 3, 1, "", "W"], [57, 4, 1, "", "active"], [57, 3, 1, "", "addresses"], [57, 4, 1, "", "alpha_dividends_per_hotkey"], [57, 4, 1, "", "alpha_stake"], [57, 4, 1, "", "axons"], [57, 4, 1, "", "block"], [57, 4, 1, "", "block_at_registration"], [57, 4, 1, "", "blocks_since_last_step"], [57, 4, 1, "", "bonds"], [57, 4, 1, "", "chain_endpoint"], [57, 3, 1, "", "coldkeys"], [57, 4, 1, "", "consensus"], [57, 4, 1, "", "dividends"], [57, 4, 1, "", "emission"], [57, 4, 1, "", "emissions"], [57, 3, 1, "", "hotkeys"], [57, 4, 1, "", "hparams"], [57, 4, 1, "", "identities"], [57, 4, 1, "", "identity"], [57, 4, 1, "", "incentive"], [57, 4, 1, "", "last_step"], [57, 4, 1, "", "last_update"], [57, 4, 1, "", "lite"], [57, 2, 1, "", "load"], [57, 2, 1, "", "load_from_path"], [57, 4, 1, "", "max_uids"], [57, 2, 1, "", "metadata"], [57, 4, 1, "", "n"], [57, 4, 1, "", "name"], [57, 4, 1, "", "netuid"], [57, 4, 1, "", "network"], [57, 4, 1, "", "network_registered_at"], [57, 4, 1, "", "neurons"], [57, 4, 1, "", "num_uids"], [57, 4, 1, "", "owner_coldkey"], [57, 4, 1, "", "owner_hotkey"], [57, 4, 1, "", "pool"], [57, 4, 1, "", "pruning_score"], [57, 4, 1, "", "ranks"], [57, 2, 1, "", "save"], [57, 4, 1, "", "should_sync"], [57, 4, 1, "", "stake"], [57, 2, 1, "", "state_dict"], [57, 4, 1, "", "subtensor"], [57, 4, 1, "", "symbol"], [57, 4, 1, "", "tao_dividends_per_hotkey"], [57, 4, 1, "", "tao_stake"], [57, 4, 1, "", "tempo"], [57, 4, 1, "", "trust"], [57, 4, 1, "", "uids"], [57, 4, 1, "", "validator_permit"], [57, 4, 1, "", "validator_trust"], [57, 4, 1, "", "version"], [57, 4, 1, "", "weights"]], "bittensor.core.metagraph.NonTorchMetagraph": [[57, 4, 1, "", "active"], [57, 4, 1, "", "alpha_stake"], [57, 4, 1, "", "block"], [57, 4, 1, "", "bonds"], [57, 4, 1, "", "consensus"], [57, 4, 1, "", "dividends"], [57, 4, 1, "", "emission"], [57, 4, 1, "", "incentive"], [57, 4, 1, "", "last_update"], [57, 2, 1, "", "load_from_path"], [57, 4, 1, "", "n"], [57, 4, 1, "", "netuid"], [57, 4, 1, "", "ranks"], [57, 4, 1, "", "should_sync"], [57, 4, 1, "", "stake"], [57, 4, 1, "", "subtensor"], [57, 4, 1, "", "tao_stake"], [57, 4, 1, "", "total_stake"], [57, 4, 1, "", "trust"], [57, 4, 1, "", "uids"], [57, 4, 1, "", "validator_permit"], [57, 4, 1, "", "validator_trust"], [57, 4, 1, "", "version"], [57, 4, 1, "", "weights"]], "bittensor.core.metagraph.TorchMetagraph": [[57, 4, 1, "", "active"], [57, 4, 1, "", "alpha_stake"], [57, 4, 1, "", "block"], [57, 4, 1, "", "bonds"], [57, 4, 1, "", "consensus"], [57, 4, 1, "", "dividends"], [57, 4, 1, "", "emission"], [57, 4, 1, "", "incentive"], [57, 4, 1, "", "last_update"], [57, 2, 1, "", "load_from_path"], [57, 4, 1, "", "n"], [57, 4, 1, "", "ranks"], [57, 4, 1, "", "stake"], [57, 4, 1, "", "tao_stake"], [57, 4, 1, "", "total_stake"], [57, 4, 1, "", "trust"], [57, 4, 1, "", "uids"], [57, 4, 1, "", "validator_permit"], [57, 4, 1, "", "validator_trust"], [57, 4, 1, "", "version"], [57, 4, 1, "", "weights"]], "bittensor.core.settings": [[58, 6, 1, "", "ARCHIVE_ENTRYPOINT"], [58, 6, 1, "", "BLOCKTIME"], [58, 6, 1, "", "DEFAULTS"], [58, 6, 1, "", "DEFAULT_ENDPOINT"], [58, 6, 1, "", "DEFAULT_NETWORK"], [58, 6, 1, "", "FINNEY_ENTRYPOINT"], [58, 6, 1, "", "FINNEY_TEST_ENTRYPOINT"], [58, 6, 1, "", "HOME_DIR"], [58, 6, 1, "", "LATENT_LITE_ENTRYPOINT"], [58, 6, 1, "", "LOCAL_ENTRYPOINT"], [58, 6, 1, "", "MINERS_DIR"], [58, 6, 1, "", "NETWORKS"], [58, 6, 1, "", "NETWORK_EXPLORER_MAP"], [58, 6, 1, "", "NETWORK_MAP"], [58, 6, 1, "", "PIPADDRESS"], [58, 6, 1, "", "RAO_SYMBOL"], [58, 6, 1, "", "READ_ONLY"], [58, 6, 1, "", "REVERSE_NETWORK_MAP"], [58, 6, 1, "", "ROOT_TAO_STAKE_WEIGHT"], [58, 6, 1, "", "SS58_ADDRESS_LENGTH"], [58, 6, 1, "", "SS58_FORMAT"], [58, 6, 1, "", "SUBVORTEX_ENTRYPOINT"], [58, 6, 1, "", "TAO_SYMBOL"], [58, 6, 1, "", "TYPE_REGISTRY"], [58, 6, 1, "", "USER_BITTENSOR_DIR"], [58, 6, 1, "", "WALLETS_DIR"], [58, 6, 1, "", "version_as_int"], [58, 6, 1, "", "version_split"]], "bittensor.core.stream": [[59, 1, 1, "", "BTStreamingResponseModel"], [59, 1, 1, "", "StreamingSynapse"]], "bittensor.core.stream.BTStreamingResponseModel": [[59, 4, 1, "", "token_streamer"]], "bittensor.core.stream.StreamingSynapse": [[59, 1, 1, "", "BTStreamingResponse"], [59, 2, 1, "", "create_streaming_response"], [59, 2, 1, "", "extract_response_json"], [59, 4, 1, "", "model_config"], [59, 2, 1, "", "process_streaming_response"]], "bittensor.core.stream.StreamingSynapse.BTStreamingResponse": [[59, 2, 1, "", "stream_response"], [59, 4, 1, "", "synapse"], [59, 4, 1, "", "token_streamer"]], "bittensor.core.subtensor": [[60, 1, 1, "", "Subtensor"]], "bittensor.core.subtensor.Subtensor": [[60, 2, 1, "", "add_liquidity"], [60, 2, 1, "", "add_stake"], [60, 2, 1, "", "add_stake_multiple"], [60, 2, 1, "", "all_subnets"], [60, 3, 1, "", "block"], [60, 2, 1, "", "blocks_since_last_step"], [60, 2, 1, "", "blocks_since_last_update"], [60, 2, 1, "", "bonds"], [60, 2, 1, "", "burned_register"], [60, 2, 1, "", "close"], [60, 2, 1, "", "commit"], [60, 2, 1, "", "commit_reveal_enabled"], [60, 2, 1, "", "commit_weights"], [60, 2, 1, "", "determine_block_hash"], [60, 2, 1, "", "difficulty"], [60, 2, 1, "", "does_hotkey_exist"], [60, 2, 1, "", "encode_params"], [60, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [60, 2, 1, "", "get_all_commitments"], [60, 2, 1, "", "get_all_metagraphs_info"], [60, 2, 1, "", "get_all_neuron_certificates"], [60, 2, 1, "", "get_all_revealed_commitments"], [60, 2, 1, "", "get_all_subnets_info"], [60, 2, 1, "", "get_balance"], [60, 2, 1, "", "get_balances"], [60, 2, 1, "", "get_block_hash"], [60, 2, 1, "", "get_children"], [60, 2, 1, "", "get_children_pending"], [60, 2, 1, "", "get_commitment"], [60, 2, 1, "", "get_current_block"], [60, 2, 1, "", "get_current_weight_commit_info"], [60, 2, 1, "", "get_delegate_by_hotkey"], [60, 2, 1, "", "get_delegate_identities"], [60, 2, 1, "", "get_delegate_take"], [60, 2, 1, "", "get_delegated"], [60, 2, 1, "", "get_delegates"], [60, 2, 1, "", "get_existential_deposit"], [60, 2, 1, "", "get_hotkey_owner"], [60, 4, 1, "", "get_hotkey_stake"], [60, 2, 1, "", "get_hyperparameter"], [60, 2, 1, "", "get_last_commitment_bonds_reset_block"], [60, 2, 1, "", "get_liquidity_list"], [60, 2, 1, "", "get_metagraph_info"], [60, 2, 1, "", "get_minimum_required_stake"], [60, 2, 1, "", "get_netuids_for_hotkey"], [60, 2, 1, "", "get_neuron_certificate"], [60, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [60, 2, 1, "", "get_next_epoch_start_block"], [60, 2, 1, "", "get_owned_hotkeys"], [60, 2, 1, "", "get_parents"], [60, 2, 1, "", "get_revealed_commitment"], [60, 2, 1, "", "get_revealed_commitment_by_hotkey"], [60, 2, 1, "", "get_stake"], [60, 2, 1, "", "get_stake_add_fee"], [60, 2, 1, "", "get_stake_for_coldkey"], [60, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [60, 2, 1, "", "get_stake_for_hotkey"], [60, 4, 1, "", "get_stake_info_for_coldkey"], [60, 2, 1, "", "get_stake_movement_fee"], [60, 2, 1, "", "get_stake_operations_fee"], [60, 2, 1, "", "get_subnet_burn_cost"], [60, 2, 1, "", "get_subnet_hyperparameters"], [60, 2, 1, "", "get_subnet_info"], [60, 2, 1, "", "get_subnet_owner_hotkey"], [60, 2, 1, "", "get_subnet_price"], [60, 2, 1, "", "get_subnet_prices"], [60, 2, 1, "", "get_subnet_reveal_period_epochs"], [60, 2, 1, "", "get_subnet_validator_permits"], [60, 2, 1, "", "get_subnets"], [60, 2, 1, "", "get_timestamp"], [60, 2, 1, "", "get_total_subnets"], [60, 2, 1, "", "get_transfer_fee"], [60, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [60, 2, 1, "", "get_unstake_fee"], [60, 2, 1, "", "get_vote_data"], [60, 2, 1, "", "immunity_period"], [60, 2, 1, "", "is_fast_blocks"], [60, 2, 1, "", "is_hotkey_delegate"], [60, 2, 1, "", "is_hotkey_registered"], [60, 2, 1, "", "is_hotkey_registered_any"], [60, 2, 1, "", "is_hotkey_registered_on_subnet"], [60, 2, 1, "", "is_subnet_active"], [60, 2, 1, "", "last_drand_round"], [60, 4, 1, "", "log_verbose"], [60, 2, 1, "", "max_weight_limit"], [60, 2, 1, "", "metagraph"], [60, 2, 1, "", "min_allowed_weights"], [60, 2, 1, "", "modify_liquidity"], [60, 2, 1, "", "move_stake"], [60, 2, 1, "", "neuron_for_uid"], [60, 2, 1, "", "neurons"], [60, 2, 1, "", "neurons_lite"], [60, 2, 1, "", "query_constant"], [60, 2, 1, "", "query_identity"], [60, 2, 1, "", "query_map"], [60, 2, 1, "", "query_map_subtensor"], [60, 2, 1, "", "query_module"], [60, 2, 1, "", "query_runtime_api"], [60, 2, 1, "", "query_subtensor"], [60, 2, 1, "", "recycle"], [60, 2, 1, "", "register"], [60, 2, 1, "", "register_subnet"], [60, 2, 1, "", "remove_liquidity"], [60, 2, 1, "", "reveal_weights"], [60, 2, 1, "", "root_register"], [60, 2, 1, "", "root_set_pending_childkey_cooldown"], [60, 2, 1, "", "root_set_weights"], [60, 2, 1, "", "serve_axon"], [60, 2, 1, "", "set_children"], [60, 4, 1, "", "set_commitment"], [60, 2, 1, "", "set_delegate_take"], [60, 2, 1, "", "set_reveal_commitment"], [60, 2, 1, "", "set_subnet_identity"], [60, 2, 1, "", "set_weights"], [60, 2, 1, "", "sign_and_send_extrinsic"], [60, 2, 1, "", "start_call"], [60, 2, 1, "", "state_call"], [60, 2, 1, "", "subnet"], [60, 2, 1, "", "subnet_exists"], [60, 2, 1, "", "subnetwork_n"], [60, 4, 1, "", "substrate"], [60, 2, 1, "", "swap_stake"], [60, 2, 1, "", "tempo"], [60, 2, 1, "", "toggle_user_liquidity"], [60, 2, 1, "", "transfer"], [60, 2, 1, "", "transfer_stake"], [60, 2, 1, "", "tx_rate_limit"], [60, 2, 1, "", "unstake"], [60, 2, 1, "", "unstake_all"], [60, 2, 1, "", "unstake_multiple"], [60, 2, 1, "", "wait_for_block"], [60, 2, 1, "", "weights"], [60, 2, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api": [[65, 1, 1, "", "SubtensorApi"], [61, 0, 0, "-", "chain"], [62, 0, 0, "-", "commitments"], [63, 0, 0, "-", "delegates"], [64, 0, 0, "-", "extrinsics"], [66, 0, 0, "-", "metagraphs"], [67, 0, 0, "-", "neurons"], [68, 0, 0, "-", "queries"], [69, 0, 0, "-", "staking"], [70, 0, 0, "-", "subnets"], [71, 0, 0, "-", "utils"], [72, 0, 0, "-", "wallets"]], "bittensor.core.subtensor_api.SubtensorApi": [[65, 2, 1, "", "add_args"], [65, 3, 1, "", "block"], [65, 3, 1, "", "chain"], [65, 4, 1, "", "chain_endpoint"], [65, 4, 1, "", "close"], [65, 3, 1, "", "commitments"], [65, 4, 1, "", "config"], [65, 3, 1, "", "delegates"], [65, 4, 1, "", "determine_block_hash"], [65, 4, 1, "", "encode_params"], [65, 3, 1, "", "extrinsics"], [65, 4, 1, "", "help"], [65, 4, 1, "", "initialize"], [65, 4, 1, "", "is_async"], [65, 4, 1, "", "log_verbose"], [65, 3, 1, "", "metagraphs"], [65, 4, 1, "", "network"], [65, 3, 1, "", "neurons"], [65, 3, 1, "", "queries"], [65, 4, 1, "", "setup_config"], [65, 4, 1, "", "sign_and_send_extrinsic"], [65, 3, 1, "", "staking"], [65, 4, 1, "", "start_call"], [65, 3, 1, "", "subnets"], [65, 4, 1, "", "substrate"], [65, 4, 1, "", "wait_for_block"], [65, 3, 1, "", "wallets"]], "bittensor.core.subtensor_api.chain": [[61, 1, 1, "", "Chain"]], "bittensor.core.subtensor_api.chain.Chain": [[61, 4, 1, "", "get_block_hash"], [61, 4, 1, "", "get_current_block"], [61, 4, 1, "", "get_delegate_identities"], [61, 4, 1, "", "get_existential_deposit"], [61, 4, 1, "", "get_minimum_required_stake"], [61, 4, 1, "", "get_timestamp"], [61, 4, 1, "", "get_vote_data"], [61, 4, 1, "", "is_fast_blocks"], [61, 4, 1, "", "last_drand_round"], [61, 4, 1, "", "state_call"], [61, 4, 1, "", "tx_rate_limit"]], "bittensor.core.subtensor_api.commitments": [[62, 1, 1, "", "Commitments"]], "bittensor.core.subtensor_api.commitments.Commitments": [[62, 4, 1, "", "commit_reveal_enabled"], [62, 4, 1, "", "get_all_commitments"], [62, 4, 1, "", "get_all_revealed_commitments"], [62, 4, 1, "", "get_commitment"], [62, 4, 1, "", "get_current_weight_commit_info"], [62, 4, 1, "", "get_last_commitment_bonds_reset_block"], [62, 4, 1, "", "get_revealed_commitment"], [62, 4, 1, "", "get_revealed_commitment_by_hotkey"], [62, 4, 1, "", "set_commitment"], [62, 4, 1, "", "set_reveal_commitment"]], "bittensor.core.subtensor_api.delegates": [[63, 1, 1, "", "Delegates"]], "bittensor.core.subtensor_api.delegates.Delegates": [[63, 4, 1, "", "get_delegate_by_hotkey"], [63, 4, 1, "", "get_delegate_identities"], [63, 4, 1, "", "get_delegate_take"], [63, 4, 1, "", "get_delegated"], [63, 4, 1, "", "get_delegates"], [63, 4, 1, "", "is_hotkey_delegate"], [63, 4, 1, "", "set_delegate_take"]], "bittensor.core.subtensor_api.extrinsics": [[64, 1, 1, "", "Extrinsics"]], "bittensor.core.subtensor_api.extrinsics.Extrinsics": [[64, 4, 1, "", "add_liquidity"], [64, 4, 1, "", "add_stake"], [64, 4, 1, "", "add_stake_multiple"], [64, 4, 1, "", "burned_register"], [64, 4, 1, "", "commit_weights"], [64, 4, 1, "", "modify_liquidity"], [64, 4, 1, "", "move_stake"], [64, 4, 1, "", "register"], [64, 4, 1, "", "register_subnet"], [64, 4, 1, "", "remove_liquidity"], [64, 4, 1, "", "reveal_weights"], [64, 4, 1, "", "root_register"], [64, 4, 1, "", "root_set_pending_childkey_cooldown"], [64, 4, 1, "", "root_set_weights"], [64, 4, 1, "", "serve_axon"], [64, 4, 1, "", "set_children"], [64, 4, 1, "", "set_subnet_identity"], [64, 4, 1, "", "set_weights"], [64, 4, 1, "", "start_call"], [64, 4, 1, "", "swap_stake"], [64, 4, 1, "", "toggle_user_liquidity"], [64, 4, 1, "", "transfer"], [64, 4, 1, "", "transfer_stake"], [64, 4, 1, "", "unstake"], [64, 4, 1, "", "unstake_all"], [64, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.metagraphs": [[66, 1, 1, "", "Metagraphs"]], "bittensor.core.subtensor_api.metagraphs.Metagraphs": [[66, 4, 1, "", "get_all_metagraphs_info"], [66, 4, 1, "", "get_metagraph_info"], [66, 4, 1, "", "metagraph"]], "bittensor.core.subtensor_api.neurons": [[67, 1, 1, "", "Neurons"]], "bittensor.core.subtensor_api.neurons.Neurons": [[67, 4, 1, "", "get_all_neuron_certificates"], [67, 4, 1, "", "get_neuron_certificate"], [67, 4, 1, "", "neuron_for_uid"], [67, 4, 1, "", "neurons"], [67, 4, 1, "", "neurons_lite"], [67, 4, 1, "", "query_identity"]], "bittensor.core.subtensor_api.queries": [[68, 1, 1, "", "Queries"]], "bittensor.core.subtensor_api.queries.Queries": [[68, 4, 1, "", "query_constant"], [68, 4, 1, "", "query_map"], [68, 4, 1, "", "query_map_subtensor"], [68, 4, 1, "", "query_module"], [68, 4, 1, "", "query_runtime_api"], [68, 4, 1, "", "query_subtensor"]], "bittensor.core.subtensor_api.staking": [[69, 1, 1, "", "Staking"]], "bittensor.core.subtensor_api.staking.Staking": [[69, 4, 1, "", "add_stake"], [69, 4, 1, "", "add_stake_multiple"], [69, 4, 1, "", "get_hotkey_stake"], [69, 4, 1, "", "get_minimum_required_stake"], [69, 4, 1, "", "get_stake"], [69, 4, 1, "", "get_stake_add_fee"], [69, 4, 1, "", "get_stake_for_coldkey"], [69, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [69, 4, 1, "", "get_stake_info_for_coldkey"], [69, 4, 1, "", "get_stake_movement_fee"], [69, 4, 1, "", "get_stake_operations_fee"], [69, 4, 1, "", "get_unstake_fee"], [69, 4, 1, "", "unstake"], [69, 4, 1, "", "unstake_all"], [69, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.subnets": [[70, 1, 1, "", "Subnets"]], "bittensor.core.subtensor_api.subnets.Subnets": [[70, 4, 1, "", "all_subnets"], [70, 4, 1, "", "blocks_since_last_step"], [70, 4, 1, "", "blocks_since_last_update"], [70, 4, 1, "", "bonds"], [70, 4, 1, "", "difficulty"], [70, 4, 1, "", "get_all_subnets_info"], [70, 4, 1, "", "get_children"], [70, 4, 1, "", "get_children_pending"], [70, 4, 1, "", "get_current_weight_commit_info"], [70, 4, 1, "", "get_hyperparameter"], [70, 4, 1, "", "get_liquidity_list"], [70, 4, 1, "", "get_neuron_for_pubkey_and_subnet"], [70, 4, 1, "", "get_next_epoch_start_block"], [70, 4, 1, "", "get_parents"], [70, 4, 1, "", "get_subnet_burn_cost"], [70, 4, 1, "", "get_subnet_hyperparameters"], [70, 4, 1, "", "get_subnet_info"], [70, 4, 1, "", "get_subnet_owner_hotkey"], [70, 4, 1, "", "get_subnet_price"], [70, 4, 1, "", "get_subnet_prices"], [70, 4, 1, "", "get_subnet_reveal_period_epochs"], [70, 4, 1, "", "get_subnet_validator_permits"], [70, 4, 1, "", "get_subnets"], [70, 4, 1, "", "get_total_subnets"], [70, 4, 1, "", "get_uid_for_hotkey_on_subnet"], [70, 4, 1, "", "immunity_period"], [70, 4, 1, "", "is_hotkey_registered_on_subnet"], [70, 4, 1, "", "is_subnet_active"], [70, 4, 1, "", "max_weight_limit"], [70, 4, 1, "", "min_allowed_weights"], [70, 4, 1, "", "recycle"], [70, 4, 1, "", "register_subnet"], [70, 4, 1, "", "set_subnet_identity"], [70, 4, 1, "", "subnet"], [70, 4, 1, "", "subnet_exists"], [70, 4, 1, "", "subnetwork_n"], [70, 4, 1, "", "tempo"], [70, 4, 1, "", "weights"], [70, 4, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api.utils": [[71, 5, 1, "", "add_legacy_methods"]], "bittensor.core.subtensor_api.wallets": [[72, 1, 1, "", "Wallets"]], "bittensor.core.subtensor_api.wallets.Wallets": [[72, 4, 1, "", "does_hotkey_exist"], [72, 4, 1, "", "filter_netuids_by_registered_hotkeys"], [72, 4, 1, "", "get_balance"], [72, 4, 1, "", "get_balances"], [72, 4, 1, "", "get_children"], [72, 4, 1, "", "get_children_pending"], [72, 4, 1, "", "get_delegate_by_hotkey"], [72, 4, 1, "", "get_delegate_take"], [72, 4, 1, "", "get_delegated"], [72, 4, 1, "", "get_hotkey_owner"], [72, 4, 1, "", "get_hotkey_stake"], [72, 4, 1, "", "get_minimum_required_stake"], [72, 4, 1, "", "get_netuids_for_hotkey"], [72, 4, 1, "", "get_owned_hotkeys"], [72, 4, 1, "", "get_stake"], [72, 4, 1, "", "get_stake_add_fee"], [72, 4, 1, "", "get_stake_for_coldkey"], [72, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [72, 4, 1, "", "get_stake_for_hotkey"], [72, 4, 1, "", "get_stake_info_for_coldkey"], [72, 4, 1, "", "get_stake_movement_fee"], [72, 4, 1, "", "get_transfer_fee"], [72, 4, 1, "", "get_unstake_fee"], [72, 4, 1, "", "is_hotkey_delegate"], [72, 4, 1, "", "is_hotkey_registered"], [72, 4, 1, "", "is_hotkey_registered_any"]], "bittensor.core.synapse": [[73, 1, 1, "", "Synapse"], [73, 1, 1, "", "TerminalInfo"], [73, 5, 1, "", "cast_float"], [73, 5, 1, "", "cast_int"], [73, 5, 1, "", "get_size"]], "bittensor.core.synapse.Synapse": [[73, 2, 1, "", "__setattr__"], [73, 4, 1, "", "axon"], [73, 3, 1, "id0", "body_hash"], [73, 4, 1, "", "computed_body_hash"], [73, 4, 1, "", "dendrite"], [73, 2, 1, "id1", "deserialize"], [73, 3, 1, "", "failed_verification"], [73, 2, 1, "id2", "from_headers"], [73, 2, 1, "", "get_required_fields"], [73, 2, 1, "id3", "get_total_size"], [73, 4, 1, "", "header_size"], [73, 3, 1, "", "is_blacklist"], [73, 3, 1, "", "is_failure"], [73, 3, 1, "", "is_success"], [73, 3, 1, "", "is_timeout"], [73, 4, 1, "", "model_config"], [73, 4, 1, "", "name"], [73, 2, 1, "id4", "parse_headers_to_inputs"], [73, 4, 1, "", "required_hash_fields"], [73, 2, 1, "", "set_name_type"], [73, 4, 1, "", "timeout"], [73, 2, 1, "id5", "to_headers"], [73, 4, 1, "", "total_size"]], "bittensor.core.synapse.TerminalInfo": [[73, 4, 1, "", "hotkey"], [73, 4, 1, "", "ip"], [73, 4, 1, "", "model_config"], [73, 4, 1, "", "nonce"], [73, 4, 1, "", "port"], [73, 4, 1, "", "process_time"], [73, 4, 1, "", "signature"], [73, 4, 1, "", "status_code"], [73, 4, 1, "", "status_message"], [73, 4, 1, "", "uuid"], [73, 4, 1, "", "version"]], "bittensor.core.tensor": [[74, 1, 1, "", "DTypes"], [74, 1, 1, "", "Tensor"], [74, 5, 1, "", "cast_dtype"], [74, 5, 1, "", "cast_shape"], [74, 6, 1, "", "dtypes"], [74, 1, 1, "", "tensor"]], "bittensor.core.tensor.DTypes": [[74, 4, 1, "", "torch"]], "bittensor.core.tensor.Tensor": [[74, 4, 1, "", "buffer"], [74, 2, 1, "", "deserialize"], [74, 4, 1, "", "dtype"], [74, 4, 1, "", "model_config"], [74, 2, 1, "", "numpy"], [74, 2, 1, "", "serialize"], [74, 4, 1, "", "shape"], [74, 2, 1, "", "tensor"], [74, 2, 1, "", "tolist"]], "bittensor.core.threadpool": [[75, 7, 1, "", "BrokenThreadPool"], [75, 6, 1, "", "NULL_ENTRY"], [75, 1, 1, "", "PriorityThreadPoolExecutor"], [75, 6, 1, "", "logger"]], "bittensor.core.threadpool.PriorityThreadPoolExecutor": [[75, 2, 1, "", "add_args"], [75, 2, 1, "", "config"], [75, 3, 1, "", "is_empty"], [75, 2, 1, "", "shutdown"], [75, 2, 1, "", "submit"]], "bittensor.core.timelock": [[76, 5, 1, "", "decrypt"], [76, 5, 1, "", "encrypt"], [76, 5, 1, "", "wait_reveal_and_decrypt"]], "bittensor.core.types": [[77, 1, 1, "", "AxonServeCallParams"], [77, 1, 1, "", "ParamWithTypes"], [77, 1, 1, "", "PrometheusServeCallParams"], [77, 1, 1, "", "SubtensorMixin"]], "bittensor.core.types.AxonServeCallParams": [[77, 4, 1, "", "certificate"], [77, 4, 1, "", "coldkey"], [77, 2, 1, "", "copy"], [77, 2, 1, "", "dict"], [77, 4, 1, "", "hotkey"], [77, 4, 1, "", "ip"], [77, 4, 1, "", "ip_type"], [77, 4, 1, "", "netuid"], [77, 4, 1, "", "placeholder1"], [77, 4, 1, "", "placeholder2"], [77, 4, 1, "", "port"], [77, 4, 1, "", "protocol"], [77, 4, 1, "", "version"]], "bittensor.core.types.ParamWithTypes": [[77, 4, 1, "", "name"], [77, 4, 1, "", "type"]], "bittensor.core.types.PrometheusServeCallParams": [[77, 4, 1, "", "ip"], [77, 4, 1, "", "ip_type"], [77, 4, 1, "", "netuid"], [77, 4, 1, "", "port"], [77, 4, 1, "", "version"]], "bittensor.core.types.SubtensorMixin": [[77, 2, 1, "", "add_args"], [77, 4, 1, "", "chain_endpoint"], [77, 2, 1, "", "config"], [77, 2, 1, "", "help"], [77, 4, 1, "", "log_verbose"], [77, 4, 1, "", "network"], [77, 2, 1, "", "setup_config"]], "bittensor.utils": [[89, 6, 1, "", "BT_DOCS_LINK"], [89, 1, 1, "", "Certificate"], [89, 6, 1, "", "RAOPERTAO"], [89, 6, 1, "", "U16_MAX"], [89, 6, 1, "", "U64_MAX"], [89, 1, 1, "", "UnlockStatus"], [89, 6, 1, "", "VersionCheckError"], [79, 0, 0, "-", "axon_utils"], [80, 0, 0, "-", "balance"], [85, 0, 0, "-", "btlogging"], [89, 6, 1, "", "check_version"], [89, 5, 1, "", "decode_hex_identity_dict"], [89, 5, 1, "", "determine_chain_endpoint_and_network"], [87, 0, 0, "-", "easy_imports"], [89, 5, 1, "", "float_to_u64"], [89, 5, 1, "", "format_error_message"], [88, 0, 0, "-", "formatting"], [89, 5, 1, "", "get_explorer_url_for_network"], [89, 5, 1, "", "get_hash"], [89, 6, 1, "", "hex_to_bytes"], [89, 5, 1, "", "is_valid_bittensor_address_or_public_key"], [89, 5, 1, "", "is_valid_ss58_address"], [90, 0, 0, "-", "liquidity"], [89, 6, 1, "", "logging"], [91, 0, 0, "-", "mock"], [93, 0, 0, "-", "networking"], [95, 0, 0, "-", "registration"], [89, 5, 1, "", "ss58_address_to_bytes"], [89, 6, 1, "", "ss58_decode"], [89, 5, 1, "", "ss58_to_vec_u8"], [89, 5, 1, "", "strtobool"], [98, 0, 0, "-", "subnets"], [100, 0, 0, "-", "substrate_utils"], [89, 6, 1, "", "torch"], [89, 5, 1, "", "u16_normalized_float"], [89, 5, 1, "", "u64_normalized_float"], [89, 5, 1, "", "unlock_key"], [89, 6, 1, "", "use_torch"], [89, 5, 1, "", "validate_chain_endpoint"], [102, 0, 0, "-", "version"], [89, 6, 1, "", "version_checking"], [103, 0, 0, "-", "weight_utils"]], "bittensor.utils.UnlockStatus": [[89, 4, 1, "", "message"], [89, 4, 1, "", "success"]], "bittensor.utils.axon_utils": [[79, 6, 1, "", "ALLOWED_DELTA"], [79, 6, 1, "", "NANOSECONDS_IN_SECOND"], [79, 5, 1, "", "allowed_nonce_window_ns"], [79, 5, 1, "", "calculate_diff_seconds"]], "bittensor.utils.balance": [[80, 1, 1, "", "Balance"], [80, 1, 1, "", "FixedPoint"], [80, 5, 1, "", "check_and_convert_to_balance"], [80, 5, 1, "", "fixed_to_float"], [80, 5, 1, "", "rao"], [80, 5, 1, "", "tao"]], "bittensor.utils.balance.Balance": [[80, 2, 1, "", "from_float"], [80, 2, 1, "", "from_rao"], [80, 2, 1, "", "from_tao"], [80, 2, 1, "", "get_unit"], [80, 4, 1, "", "netuid"], [80, 4, 1, "", "rao"], [80, 4, 1, "", "rao_unit"], [80, 2, 1, "", "set_unit"], [80, 3, 1, "", "tao"], [80, 4, 1, "", "unit"]], "bittensor.utils.balance.FixedPoint": [[80, 4, 1, "", "bits"]], "bittensor.utils.btlogging": [[81, 0, 0, "-", "console"], [82, 0, 0, "-", "defines"], [83, 0, 0, "-", "format"], [84, 0, 0, "-", "helpers"], [85, 6, 1, "", "logging"], [86, 0, 0, "-", "loggingmachine"]], "bittensor.utils.btlogging.console": [[81, 1, 1, "", "BittensorConsole"]], "bittensor.utils.btlogging.console.BittensorConsole": [[81, 2, 1, "", "critical"], [81, 2, 1, "", "debug"], [81, 2, 1, "", "error"], [81, 2, 1, "", "info"], [81, 4, 1, "", "logger"], [81, 2, 1, "", "success"], [81, 2, 1, "", "warning"]], "bittensor.utils.btlogging.defines": [[82, 6, 1, "", "BASE_LOG_FORMAT"], [82, 6, 1, "", "BITTENSOR_LOGGER_NAME"], [82, 6, 1, "", "DATE_FORMAT"], [82, 6, 1, "", "DEFAULT_LOG_BACKUP_COUNT"], [82, 6, 1, "", "DEFAULT_LOG_FILE_NAME"], [82, 6, 1, "", "DEFAULT_MAX_ROTATING_LOG_FILE_SIZE"], [82, 6, 1, "", "TRACE_LOG_FORMAT"]], "bittensor.utils.btlogging.format": [[83, 1, 1, "", "BtFileFormatter"], [83, 1, 1, "", "BtStreamFormatter"], [83, 6, 1, "", "DEFAULT_LOG_FORMAT"], [83, 6, 1, "", "DEFAULT_TRACE_FORMAT"], [83, 6, 1, "", "LOG_FORMATS"], [83, 6, 1, "", "LOG_TRACE_FORMATS"], [83, 6, 1, "", "SUCCESS_LEVEL_NUM"], [83, 6, 1, "", "TRACE_LEVEL_NUM"], [83, 6, 1, "", "color_map"], [83, 6, 1, "", "emoji_map"], [83, 6, 1, "", "log_level_color_prefix"]], "bittensor.utils.btlogging.format.BtFileFormatter": [[83, 2, 1, "", "format"], [83, 2, 1, "", "formatTime"]], "bittensor.utils.btlogging.format.BtStreamFormatter": [[83, 2, 1, "", "format"], [83, 2, 1, "", "formatTime"], [83, 2, 1, "", "set_trace"], [83, 4, 1, "", "trace"]], "bittensor.utils.btlogging.helpers": [[84, 5, 1, "", "all_logger_names"], [84, 5, 1, "", "all_loggers"], [84, 5, 1, "", "get_max_logger_name_length"]], "bittensor.utils.btlogging.loggingmachine": [[86, 6, 1, "", "CUSTOM_LOGGER_METHOD_STACK_LEVEL"], [86, 1, 1, "", "LoggingConfig"], [86, 1, 1, "", "LoggingMachine"]], "bittensor.utils.btlogging.loggingmachine.LoggingConfig": [[86, 4, 1, "", "debug"], [86, 4, 1, "", "info"], [86, 4, 1, "", "logging_dir"], [86, 4, 1, "", "record_log"], [86, 4, 1, "", "trace"]], "bittensor.utils.btlogging.loggingmachine.LoggingMachine": [[86, 4, 1, "", "Debug"], [86, 4, 1, "", "Default"], [86, 4, 1, "", "Disabled"], [86, 4, 1, "", "Info"], [86, 4, 1, "", "Trace"], [86, 4, 1, "", "Warning"], [86, 2, 1, "", "add_args"], [86, 2, 1, "", "after_disable_debug"], [86, 2, 1, "", "after_disable_trace"], [86, 2, 1, "", "after_enable_debug"], [86, 2, 1, "", "after_enable_default"], [86, 2, 1, "", "after_enable_info"], [86, 2, 1, "", "after_enable_trace"], [86, 2, 1, "", "after_enable_warning"], [86, 2, 1, "", "after_transition"], [86, 2, 1, "", "before_disable_debug"], [86, 2, 1, "", "before_disable_logging"], [86, 2, 1, "", "before_disable_trace"], [86, 2, 1, "", "before_enable_console"], [86, 2, 1, "", "before_enable_debug"], [86, 2, 1, "", "before_enable_default"], [86, 2, 1, "", "before_enable_info"], [86, 2, 1, "", "before_enable_trace"], [86, 2, 1, "", "before_enable_warning"], [86, 2, 1, "", "before_transition"], [86, 2, 1, "", "check_config"], [86, 2, 1, "", "config"], [86, 4, 1, "", "console"], [86, 2, 1, "", "critical"], [86, 2, 1, "", "debug"], [86, 2, 1, "", "deregister_primary_logger"], [86, 4, 1, "", "disable_debug"], [86, 4, 1, "", "disable_info"], [86, 4, 1, "", "disable_logging"], [86, 2, 1, "", "disable_third_party_loggers"], [86, 4, 1, "", "disable_trace"], [86, 4, 1, "", "disable_warning"], [86, 4, 1, "", "enable_console"], [86, 4, 1, "", "enable_debug"], [86, 4, 1, "", "enable_default"], [86, 4, 1, "", "enable_info"], [86, 2, 1, "", "enable_third_party_loggers"], [86, 4, 1, "", "enable_trace"], [86, 4, 1, "", "enable_warning"], [86, 2, 1, "", "error"], [86, 2, 1, "", "exception"], [86, 2, 1, "", "get_config"], [86, 2, 1, "", "get_level"], [86, 2, 1, "", "get_queue"], [86, 2, 1, "", "help"], [86, 2, 1, "", "info"], [86, 2, 1, "", "off"], [86, 2, 1, "", "on"], [86, 2, 1, "", "register_primary_logger"], [86, 2, 1, "", "setLevel"], [86, 2, 1, "", "set_config"], [86, 2, 1, "", "set_console"], [86, 2, 1, "", "set_debug"], [86, 2, 1, "", "set_default"], [86, 2, 1, "", "set_info"], [86, 2, 1, "", "set_trace"], [86, 2, 1, "", "set_warning"], [86, 2, 1, "", "success"], [86, 2, 1, "", "trace"], [86, 2, 1, "", "warning"]], "bittensor.utils.easy_imports": [[87, 6, 1, "", "async_subtensor"], [87, 6, 1, "", "axon"], [87, 6, 1, "", "config"], [87, 5, 1, "", "debug"], [87, 6, 1, "", "dendrite"], [87, 6, 1, "", "extrinsics_subpackage"], [87, 5, 1, "", "info"], [87, 6, 1, "", "keyfile"], [87, 6, 1, "", "metagraph"], [87, 6, 1, "", "mock_subpackage"], [87, 6, 1, "", "subtensor"], [87, 6, 1, "", "synapse"], [87, 5, 1, "", "trace"], [87, 6, 1, "", "wallet"], [87, 5, 1, "", "warning"]], "bittensor.utils.formatting": [[88, 5, 1, "", "get_human_readable"], [88, 5, 1, "", "millify"]], "bittensor.utils.liquidity": [[90, 1, 1, "", "LiquidityPosition"], [90, 6, 1, "", "MAX_TICK"], [90, 6, 1, "", "MIN_TICK"], [90, 6, 1, "", "PRICE_STEP"], [90, 5, 1, "", "calculate_fees"], [90, 5, 1, "", "get_fees"], [90, 5, 1, "", "get_fees_in_range"], [90, 5, 1, "", "price_to_tick"], [90, 5, 1, "", "tick_to_price"]], "bittensor.utils.liquidity.LiquidityPosition": [[90, 4, 1, "", "fees_alpha"], [90, 4, 1, "", "fees_tao"], [90, 4, 1, "", "id"], [90, 4, 1, "", "liquidity"], [90, 4, 1, "", "netuid"], [90, 4, 1, "", "price_high"], [90, 4, 1, "", "price_low"], [90, 2, 1, "", "to_token_amounts"]], "bittensor.utils.mock": [[92, 0, 0, "-", "subtensor_mock"]], "bittensor.utils.mock.subtensor_mock": [[92, 1, 1, "", "AxonInfoDict"], [92, 6, 1, "", "BlockNumber"], [92, 1, 1, "", "InfoDict"], [92, 1, 1, "", "MockChainState"], [92, 1, 1, "", "MockMapResult"], [92, 1, 1, "", "MockSubtensor"], [92, 1, 1, "", "MockSubtensorState"], [92, 1, 1, "", "MockSubtensorValue"], [92, 1, 1, "", "MockSystemState"], [92, 1, 1, "", "PrometheusInfoDict"], [92, 1, 1, "", "ReusableCoroutine"]], "bittensor.utils.mock.subtensor_mock.AxonInfoDict": [[92, 4, 1, "", "block"], [92, 2, 1, "", "default"], [92, 4, 1, "", "ip"], [92, 4, 1, "", "ip_type"], [92, 4, 1, "", "placeholder1"], [92, 4, 1, "", "placeholder2"], [92, 4, 1, "", "port"], [92, 4, 1, "", "protocol"], [92, 4, 1, "", "version"]], "bittensor.utils.mock.subtensor_mock.InfoDict": [[92, 2, 1, "", "default"]], "bittensor.utils.mock.subtensor_mock.MockChainState": [[92, 4, 1, "", "SubtensorModule"], [92, 4, 1, "", "System"]], "bittensor.utils.mock.subtensor_mock.MockMapResult": [[92, 4, 1, "", "records"]], "bittensor.utils.mock.subtensor_mock.MockSubtensor": [[92, 4, 1, "", "block_number"], [92, 4, 1, "", "chain_state"], [92, 2, 1, "", "commit"], [92, 2, 1, "", "create_subnet"], [92, 2, 1, "", "do_block_step"], [92, 2, 1, "", "do_serve_axon"], [92, 2, 1, "", "do_serve_prometheus"], [92, 2, 1, "", "do_set_weights"], [92, 2, 1, "", "do_transfer"], [92, 2, 1, "", "force_register_neuron"], [92, 2, 1, "", "force_set_balance"], [92, 2, 1, "", "get_balance"], [92, 2, 1, "", "get_block_hash"], [92, 2, 1, "", "get_commitment"], [92, 2, 1, "", "get_current_block"], [92, 2, 1, "", "get_transfer_fee"], [92, 2, 1, "", "min_required_stake"], [92, 2, 1, "", "neuron_for_uid"], [92, 2, 1, "", "neuron_for_uid_lite"], [92, 2, 1, "", "neurons"], [92, 2, 1, "", "neurons_lite"], [92, 2, 1, "", "query_constant"], [92, 2, 1, "", "query_map_subtensor"], [92, 2, 1, "", "query_subtensor"], [92, 2, 1, "", "reset"], [92, 2, 1, "", "set_difficulty"], [92, 2, 1, "", "setup"], [92, 4, 1, "", "sudo_force_set_balance"]], "bittensor.utils.mock.subtensor_mock.MockSubtensorState": [[92, 4, 1, "", "Active"], [92, 4, 1, "", "Delegates"], [92, 4, 1, "", "Difficulty"], [92, 4, 1, "", "ImmunityPeriod"], [92, 4, 1, "", "Kappa"], [92, 4, 1, "", "NetworksAdded"], [92, 4, 1, "", "Rho"], [92, 4, 1, "", "Stake"], [92, 4, 1, "", "ValidatorBatchSize"]], "bittensor.utils.mock.subtensor_mock.MockSubtensorValue": [[92, 4, 1, "", "value"]], "bittensor.utils.mock.subtensor_mock.MockSystemState": [[92, 4, 1, "", "Account"]], "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict": [[92, 4, 1, "", "block"], [92, 2, 1, "", "default"], [92, 4, 1, "", "ip"], [92, 4, 1, "", "ip_type"], [92, 4, 1, "", "port"], [92, 4, 1, "", "version"]], "bittensor.utils.mock.subtensor_mock.ReusableCoroutine": [[92, 4, 1, "", "coroutine"], [92, 2, 1, "", "reset"]], "bittensor.utils.networking": [[93, 7, 1, "", "ExternalIPNotFound"], [93, 5, 1, "", "get_external_ip"], [93, 5, 1, "", "get_formatted_ws_endpoint_url"], [93, 5, 1, "", "int_to_ip"], [93, 5, 1, "", "ip__str__"], [93, 5, 1, "", "ip_to_int"], [93, 5, 1, "", "ip_version"]], "bittensor.utils.registration": [[94, 0, 0, "-", "async_pow"], [96, 0, 0, "-", "pow"], [97, 0, 0, "-", "register_cuda"]], "bittensor.utils.registration.async_pow": [[94, 5, 1, "", "create_pow_async"]], "bittensor.utils.registration.pow": [[96, 1, 1, "", "CUDASolver"], [96, 1, 1, "", "Console"], [96, 1, 1, "", "LazyLoadedTorch"], [96, 1, 1, "", "POWSolution"], [96, 1, 1, "", "RegistrationStatistics"], [96, 1, 1, "", "RegistrationStatisticsLogger"], [96, 1, 1, "", "Solver"], [96, 1, 1, "", "Status"], [96, 1, 1, "", "UsingSpawnStartMethod"], [96, 5, 1, "", "create_pow"], [96, 5, 1, "", "get_cpu_count"], [96, 5, 1, "", "legacy_torch_api_compat"], [96, 5, 1, "", "log_no_torch_error"], [96, 5, 1, "", "terminate_workers_and_wait_for_exit"], [96, 6, 1, "", "torch"], [96, 5, 1, "", "update_curr_block"], [96, 5, 1, "", "use_torch"]], "bittensor.utils.registration.pow.CUDASolver": [[96, 4, 1, "", "dev_id"], [96, 2, 1, "", "run"], [96, 4, 1, "", "tpb"]], "bittensor.utils.registration.pow.Console": [[96, 2, 1, "", "log"], [96, 2, 1, "", "status"]], "bittensor.utils.registration.pow.POWSolution": [[96, 4, 1, "", "block_number"], [96, 4, 1, "", "difficulty"], [96, 2, 1, "", "is_stale"], [96, 2, 1, "", "is_stale_async"], [96, 4, 1, "", "nonce"], [96, 4, 1, "", "seal"]], "bittensor.utils.registration.pow.RegistrationStatistics": [[96, 4, 1, "", "block_hash"], [96, 4, 1, "", "block_number"], [96, 4, 1, "", "difficulty"], [96, 4, 1, "", "hash_rate"], [96, 4, 1, "", "hash_rate_perpetual"], [96, 4, 1, "", "rounds_total"], [96, 4, 1, "", "time_average"], [96, 4, 1, "", "time_spent"], [96, 4, 1, "", "time_spent_total"]], "bittensor.utils.registration.pow.RegistrationStatisticsLogger": [[96, 4, 1, "", "console"], [96, 2, 1, "", "get_status_message"], [96, 2, 1, "", "start"], [96, 4, 1, "", "status"], [96, 2, 1, "", "stop"], [96, 2, 1, "", "update"]], "bittensor.utils.registration.pow.Solver": [[96, 2, 1, "", "run"]], "bittensor.utils.registration.pow.Status": [[96, 2, 1, "", "start"], [96, 2, 1, "", "stop"], [96, 2, 1, "", "update"]], "bittensor.utils.registration.register_cuda": [[97, 5, 1, "", "log_cuda_errors"], [97, 5, 1, "", "reset_cuda"], [97, 5, 1, "", "solve_cuda"]], "bittensor.utils.subnets": [[98, 1, 1, "", "SubnetsAPI"]], "bittensor.utils.subnets.SubnetsAPI": [[98, 4, 1, "", "dendrite"], [98, 2, 1, "", "prepare_synapse"], [98, 2, 1, "", "process_responses"], [98, 2, 1, "", "query_api"], [98, 4, 1, "", "wallet"]], "bittensor.utils.substrate_utils": [[99, 0, 0, "-", "hasher"], [101, 0, 0, "-", "storage"]], "bittensor.utils.substrate_utils.hasher": [[99, 5, 1, "", "blake2_128"], [99, 5, 1, "", "blake2_128_concat"], [99, 5, 1, "", "blake2_256"], [99, 5, 1, "", "identity"], [99, 5, 1, "", "two_x64_concat"], [99, 5, 1, "", "xxh128"], [99, 5, 1, "", "xxh64"]], "bittensor.utils.substrate_utils.storage": [[101, 1, 1, "", "StorageKey"]], "bittensor.utils.substrate_utils.storage.StorageKey": [[101, 2, 1, "", "convert_storage_parameter"], [101, 2, 1, "", "create_from_data"], [101, 2, 1, "", "create_from_storage_function"], [101, 4, 1, "", "data"], [101, 2, 1, "", "decode_scale_value"], [101, 2, 1, "", "generate"], [101, 4, 1, "", "metadata"], [101, 4, 1, "", "metadata_storage_function"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "params"], [101, 4, 1, "", "params_encoded"], [101, 4, 1, "", "runtime_config"], [101, 4, 1, "", "storage_function"], [101, 2, 1, "", "to_hex"], [101, 4, 1, "", "value_scale_type"]], "bittensor.utils.version": [[102, 6, 1, "", "VERSION_CHECK_THRESHOLD"], [102, 7, 1, "", "VersionCheckError"], [102, 5, 1, "", "check_latest_version_in_pypi"], [102, 5, 1, "", "check_version"], [102, 5, 1, "", "get_and_save_latest_version"], [102, 5, 1, "", "version_checking"]], "bittensor.utils.weight_utils": [[103, 6, 1, "", "U16_MAX"], [103, 6, 1, "", "U32_MAX"], [103, 5, 1, "", "convert_and_normalize_weights_and_uids"], [103, 5, 1, "", "convert_bond_uids_and_vals_to_tensor"], [103, 5, 1, "", "convert_root_weight_uids_and_vals_to_tensor"], [103, 5, 1, "", "convert_uids_and_weights"], [103, 5, 1, "", "convert_weight_uids_and_vals_to_tensor"], [103, 5, 1, "", "convert_weights_and_uids_for_emit"], [103, 5, 1, "", "generate_weight_hash"], [103, 5, 1, "", "normalize_max_weight"], [103, 5, 1, "", "process_weights"], [103, 5, 1, "", "process_weights_for_netuid"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"], "7": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:function", "6": "py:data", "7": "py:exception"}, "terms": {"": [0, 1, 4, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 73, 74, 77, 80, 82, 83, 84, 89, 92, 94, 96, 98, 101, 103], "0": [0, 1, 2, 10, 24, 27, 30, 31, 32, 33, 34, 38, 39, 41, 45, 46, 47, 48, 49, 50, 54, 58, 60, 65, 73, 76, 79, 80, 87, 89, 92, 93, 94, 96, 97, 103], "0001": 90, "005": [0, 30, 34, 38, 45, 50, 54, 60], "0x0813029319030129u4120u10841824y0182u091u230912u": 73, "0x1234": 0, "1": [0, 1, 10, 21, 57, 60, 73, 74, 75, 76, 77, 86, 89, 90, 92, 97, 103, 104], "10": [0, 10, 21, 24, 73, 76, 80, 82], "100": [0, 60], "1000": [4, 5], "1000000": 0, "1000000000": [79, 89], "1024": 1, "11": [10, 21], "111": 73, "111111": 73, "113": 1, "11ee": 73, "12": [0, 10, 21, 24, 27, 41, 58, 60, 76, 98], "120": [0, 60], "1200": 57, "122": [33, 48], "123": [0, 57, 60, 73, 76], "1234": [0, 60], "12345": 57, "127": 73, "128": [33, 48, 80], "13": [10, 21], "137": 83, "14": [0, 10, 21, 60], "147": [0, 60], "15": [10, 21, 73, 76, 102], "152": [0, 60], "16": [0, 10, 21, 60, 99], "17": 10, "18": [10, 58], "18446744073709551615": 89, "19": 10, "192": [1, 33, 48], "198": 73, "1cec": 73, "1m": 0, "2": [0, 1, 10, 21, 57, 60, 73, 74, 77, 83, 86, 92, 99], "20": 10, "200": 73, "203": 1, "21": [10, 83], "22": 10, "23": [10, 73], "24": 10, "25": [10, 76], "256": [0, 31, 46, 60, 73, 94, 96], "26": 10, "26214400": 82, "27": 10, "28": 10, "29": 10, "3": [0, 10, 21, 31, 46, 60, 73, 76, 77, 83, 86, 87, 93, 96], "30": [10, 73], "300": [57, 89], "31": [10, 33, 48], "32": [10, 94, 96, 99], "33": 10, "3339": 83, "34": [10, 83], "35": 10, "36": 10, "360": [0, 60], "37": 10, "38": [10, 93], "39": 10, "3rd": 86, "4": [2, 10, 21, 33, 48, 73, 77, 93], "40": 10, "400": 1, "4000000000": 79, "401": 73, "4028237e": 93, "403": 73, "408": 73, "41": 10, "42": [10, 58], "422": 24, "4294967295": 103, "43": 10, "44": 10, "443": 58, "45": 10, "46": 10, "47": 10, "48": [10, 58], "49": 10, "5": [0, 10, 21, 25, 30, 34, 38, 45, 50, 54, 60, 65, 76, 77, 83], "50": 10, "51": 10, "52": 10, "53": 10, "54": 10, "55": 10, "56": 10, "57": 10, "58": 10, "59": 10, "5ecbd69c": 73, "5enjdgnqqwnul2hcadxeetn2oqtxzw6bmbe936kfy2pfz1j1": 73, "5f": 0, "5fhnew46xgxgs5muiveu4sbtygbzmstuspzc92uhjjm694ti": [0, 60], "5g": 0, "5grwvaef5zxb26fz9rcqpdws57cterhpnehxcpcnohgkutqi": [0, 60], "5h": 0, "6": [10, 21, 57, 93], "60": 10, "61": 10, "62": 10, "63": 10, "64": [10, 80, 97], "65": 10, "65535": [1, 89, 103], "66": 10, "67": 10, "68": 10, "69": 10, "7": [10, 21, 87], "70": 10, "7002000": 1, "7070": 1, "71": 10, "72": 10, "8": [0, 10, 21, 39, 49, 60, 73, 89], "8080": 73, "86400": 102, "887272": 90, "9": [10, 21, 80], "9090": 1, "9221": [33, 48], "9282": 73, "9944": 58, "9945": 65, "A": [0, 1, 2, 11, 12, 17, 21, 22, 23, 24, 25, 26, 27, 31, 33, 38, 40, 41, 46, 48, 54, 55, 57, 59, 60, 73, 75, 76, 77, 79, 80, 83, 86, 89, 92, 96, 101], "AS": 57, "And": [0, 60], "As": 92, "Being": [0, 60], "But": 24, "By": [0, 1, 38, 54, 60, 73], "For": [0, 24, 38, 54, 57, 60, 73, 74, 76, 77, 92], "If": [0, 1, 2, 6, 21, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 60, 65, 71, 73, 74, 75, 76, 77, 79, 80, 83, 87, 89, 92, 94, 96, 103], "In": [0, 24, 57, 60, 73, 93], "It": [0, 1, 24, 33, 48, 57, 59, 60, 73, 75, 76, 77, 80, 84, 85, 86, 92, 96], "Not": 73, "Of": 93, "Or": [0, 89], "The": [0, 1, 2, 9, 11, 12, 13, 15, 16, 17, 21, 22, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 65, 73, 74, 75, 76, 77, 79, 80, 83, 84, 87, 89, 90, 92, 93, 94, 96, 97, 98, 102, 103], "Then": 60, "There": [0, 26, 40], "These": [0, 1, 32, 39, 47, 49, 57, 60, 73, 103], "To": [0, 60, 86], "Will": [0, 60, 65, 92], "With": [0, 60], "__repr__": 24, "__setattr__": 73, "__str__": [24, 89], "_base": 75, "_do_reveal_weight": [39, 42], "_mock": [0, 60, 77, 92], "_primary_logg": 86, "_solverbas": 96, "abc": [57, 59, 77, 92, 98], "abil": [1, 57, 81], "abl": 24, "about": [0, 1, 2, 15, 57, 60, 73, 92], "abov": [24, 37, 53, 83, 90], "absolut": 24, "abstract": [24, 57, 59, 98, 101], "abstractmethod": [23, 92], "abus": 1, "accept": [1, 75, 86], "access": [0, 1, 24, 57, 60, 65, 73, 92, 103], "accord": [1, 33, 48, 59, 73], "account": [0, 21, 25, 32, 34, 37, 39, 47, 49, 50, 53, 60, 92, 103], "account_id_byt": 21, "accountid": [15, 21, 22], "accru": 57, "accrual": [0, 60], "accumul": [57, 59], "accur": [23, 25, 57, 73, 74, 75, 77, 80, 89, 92, 93, 102], "achiev": 57, "aclose_sess": 24, "across": [0, 55, 57, 60, 73, 96], "act": [0, 1, 24, 57, 60], "action": [0, 60, 86], "activ": [0, 1, 10, 11, 12, 17, 20, 24, 34, 50, 57, 60, 84, 92, 98], "activity_cutoff": [10, 17], "activitycutoff": 10, "actual": [0, 1, 33, 48, 60], "ad": [0, 1, 29, 44, 60, 65, 71, 77, 83, 86], "adapt": [1, 57], "add": [0, 1, 29, 34, 44, 50, 60, 73, 77, 83, 86, 103], "add_arg": [1, 23, 65, 75, 77, 86], "add_legacy_method": 71, "add_liquid": [0, 60, 64], "add_liquidity_extrins": [29, 44], "add_stak": [0, 60, 64, 69], "add_stake_extrins": [34, 50], "add_stake_multipl": [0, 60, 64, 69], "add_stake_multiple_extrins": [34, 50], "addit": [0, 3, 4, 18, 26, 31, 40, 46, 57, 59, 60, 73, 103], "addition": [1, 73], "additional_data": 73, "address": [0, 1, 2, 4, 9, 13, 16, 21, 22, 24, 26, 30, 34, 36, 37, 38, 40, 45, 50, 52, 53, 54, 55, 57, 60, 73, 87, 89, 92, 103], "adher": 24, "adjust": [0, 17, 60], "adjustment_alpha": [10, 17], "adjustment_interv": [10, 17], "adjustmentalpha": 10, "adjustmentinterv": 10, "advanc": [0, 60], "adversari": 1, "advis": [1, 24, 57], "after": [0, 1, 15, 17, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 65, 73, 75, 76, 86, 92, 96, 103], "after_disable_debug": 86, "after_disable_trac": 86, "after_enable_debug": 86, "after_enable_default": 86, "after_enable_info": 86, "after_enable_trac": 86, "after_enable_warn": 86, "after_transit": 86, "ag": 76, "against": [0, 1, 30, 45, 60], "agre": 57, "agreement": 57, "ai": [57, 58], "aid": [0, 60, 73], "aiohttp": [24, 59], "akin": 57, "algorithm": [0, 1, 33, 48, 57, 60], "alic": [0, 60], "align": [0, 57, 60], "aliv": [0, 37, 53, 60], "all": [0, 1, 24, 25, 34, 37, 38, 50, 53, 54, 55, 57, 60, 65, 71, 75, 84, 86, 92, 93, 96, 101], "all_hotkei": [0, 60], "all_indic": 10, "all_logg": 84, "all_logger_nam": 84, "all_netuid": [0, 60], "all_stak": 55, "all_subnet": [0, 60, 70], "alloc": [0, 57, 60], "allow": [0, 1, 4, 5, 17, 26, 29, 30, 34, 38, 40, 44, 45, 50, 54, 57, 59, 60, 73, 74, 79, 83, 87, 92, 103], "allow_partial_stak": [0, 30, 34, 38, 45, 50, 54, 60], "allowed_delta": 79, "allowed_nonce_window_n": 79, "along": [31, 46, 76], "alpha": [0, 6, 17, 29, 38, 44, 54, 57, 60, 80, 90], "alpha_dividends_per_hotkei": [10, 57], "alpha_fees_above_high": 90, "alpha_fees_below_low": 90, "alpha_high": [10, 17], "alpha_in": [6, 10], "alpha_in_emiss": [6, 10], "alpha_low": [10, 17], "alpha_out": [6, 10], "alpha_out_emiss": [6, 10], "alpha_sigmoid_steep": 17, "alpha_slippag": 6, "alpha_stak": [10, 20, 57], "alpha_to_tao": 6, "alpha_to_tao_with_slippag": 6, "alphadividendsperhotkei": 10, "alphahigh": 10, "alphain": 10, "alphainemiss": 10, "alphalow": 10, "alphaout": 10, "alphaoutemiss": 10, "alphastak": 10, "alreadi": [1, 94, 96, 103], "also": [0, 1, 24, 59, 60, 73, 79, 80, 86, 92], "alter": 1, "alwai": [34, 50, 60, 92], "among": [0, 57, 60], "amount": [0, 4, 6, 11, 12, 29, 30, 34, 37, 38, 44, 45, 50, 53, 54, 55, 57, 60, 65, 76, 80, 90, 92], "an": [0, 1, 2, 6, 11, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 74, 75, 77, 80, 83, 84, 86, 89, 90, 92, 93], "analogi": 24, "analys": 57, "analysi": [0, 57, 60, 73, 92], "analyz": [0, 57, 60, 92], "ani": [0, 1, 2, 8, 9, 23, 24, 25, 31, 34, 46, 50, 57, 59, 60, 62, 73, 74, 76, 89, 90, 92, 96, 97, 98, 101], "announc": [33, 48], "anoth": [0, 23, 30, 45, 57, 60], "any_list": 8, "anyth": 89, "api": [0, 1, 60, 65, 96, 98, 105], "app": 1, "appear": 76, "appli": [1, 10, 73, 83, 103], "applic": [0, 1, 24, 57, 59, 60, 65, 73, 84], "approach": 60, "appropri": [0, 1, 24, 57, 59, 77], "approv": 0, "aqueri": 24, "ar": [0, 1, 17, 23, 24, 25, 26, 39, 40, 42, 55, 57, 60, 65, 73, 74, 75, 76, 77, 84, 89, 92, 101, 103], "arbitr": 15, "arbitrari": [0, 24, 60, 92], "arbitration_block": 15, "architectur": [0, 1, 57, 60], "archiv": [0, 57, 58, 60, 65, 77, 89, 92], "archive_endpoint": [0, 60, 65, 92], "archive_entrypoint": 58, "arg": [23, 24, 74, 75, 83, 86, 89, 92, 98], "argpars": [1, 23, 75, 77, 86], "argument": [0, 1, 23, 57, 59, 71, 73, 74, 75, 77, 83, 86, 89, 92, 98], "argumentpars": [1, 23, 75, 77, 86], "aris": 1, "arithmet": 80, "around": [39, 42], "arrai": [0, 57, 60, 74, 96, 103], "asctim": [82, 83], "asgi": 59, "aspect": [0, 1, 57, 60, 73, 92], "assert": [1, 76], "assertionerror": 1, "assess": [0, 1, 57, 60], "asset": 57, "assign": [0, 1, 31, 46, 57, 60, 73], "assist": [0, 60], "associ": [0, 1, 2, 6, 9, 11, 12, 13, 16, 20, 24, 25, 27, 30, 33, 38, 39, 41, 42, 45, 48, 54, 55, 57, 60, 73, 75, 86, 92, 103], "assum": [1, 57, 80], "assur": 1, "asymmetr": 1, "async": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 57, 59, 65, 94, 96, 98], "async_metagraph": 57, "async_pow": [95, 104], "async_substrate_interfac": [0, 21, 60, 92], "async_subtensor": [23, 26, 27, 29, 31, 32, 33, 34, 37, 38, 39, 49, 56, 57, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 87, 94, 96, 104], "asyncex": [43, 104], "asyncgener": 24, "asynchron": [0, 1, 24, 31, 59, 96], "asyncio": [0, 24], "asyncmetagraph": 57, "asyncquerymapresult": 0, "asyncsubtensor": [0, 26, 27, 29, 30, 31, 32, 33, 34, 37, 38, 39, 49, 57, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 92, 94, 96], "attach": [1, 73], "attack": 1, "attain": 93, "attempt": [0, 25, 26, 31, 40, 46, 57, 60, 73, 89, 93], "attribut": [0, 4, 11, 60, 73], "authent": [1, 33, 48, 57, 73], "author": [0, 30, 57, 60], "auto": 104, "autoapi": 104, "automat": [0, 24, 57, 60, 73], "avail": [0, 1, 60, 65, 92], "averag": [17, 96], "aw": 93, "await": [0, 24, 59, 60, 65], "axon": [0, 2, 10, 11, 12, 23, 24, 25, 33, 48, 56, 57, 60, 73, 87, 98, 104], "axon_hotkei": 73, "axon_info": [7, 10, 11, 12, 24, 104], "axon_util": [89, 104], "axoninfo": [1, 2, 10, 11, 12, 21, 24, 57], "axoninfodict": 92, "axonmiddlewar": 1, "axonserv": 1, "axonservecallparam": [33, 48, 77, 92], "ay": 14, "b": 57, "b0dc": 73, "b64decod": 73, "back": [0, 1, 24, 29, 44, 59, 60, 73, 76, 101], "backbon": 57, "background": 1, "backward": [1, 80, 102], "balanc": [0, 4, 5, 6, 10, 11, 12, 16, 19, 20, 21, 29, 30, 34, 37, 38, 44, 45, 50, 53, 54, 55, 60, 65, 89, 90, 92, 104], "bandwidth": 73, "base": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 57, 59, 60, 73, 74, 75, 76, 77, 80, 83, 86, 89, 92, 93, 96, 98, 101, 102, 103], "base64": [21, 73], "base_log_format": 82, "baseclass": 57, "basehttpmiddlewar": 1, "basemodel": [24, 59, 73, 74], "basic": [11, 57, 73], "batch": [0, 60], "becaus": 73, "becom": [0, 60], "been": [0, 1, 24, 59, 73, 75], "befor": [0, 1, 15, 24, 31, 32, 33, 34, 36, 37, 38, 39, 45, 46, 47, 48, 49, 50, 52, 53, 54, 60, 86, 94, 96, 97], "before_disable_debug": 86, "before_disable_log": 86, "before_disable_trac": 86, "before_enable_consol": 86, "before_enable_debug": 86, "before_enable_default": 86, "before_enable_info": 86, "before_enable_trac": 86, "before_enable_warn": 86, "before_transit": 86, "begin": [0, 1, 60], "behavior": [0, 1, 57, 60, 73], "being": [0, 1, 5, 21, 29, 33, 35, 39, 42, 44, 48, 51, 59, 60, 86, 96], "belief": 57, "belong": [0, 34, 50, 60], "below": [0, 60], "benefici": 57, "benefit": [24, 57], "bespok": 98, "between": [0, 1, 6, 31, 45, 46, 57, 60, 73, 79, 80, 86, 90, 103], "beyond": 57, "bind": 1, "bit": 80, "bittensor": 104, "bittensor_logger_nam": [82, 86], "bittensor_wallet": [0, 1, 24, 26, 27, 29, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 50, 53, 54, 55, 60, 89, 92, 94, 96, 98], "bittensorconsol": 81, "blacklist": [1, 25, 73], "blacklist_custom": 1, "blacklist_fn": 1, "blacklist_my_synaps": 1, "blacklist_my_synapse_2": 1, "blacklistedexcept": 25, "blake256": [33, 48], "blake2_128": 99, "blake2_128_concat": 99, "blake2_256": 99, "blake2b": 99, "block": [0, 1, 10, 13, 15, 17, 21, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 76, 89, 92, 94, 96, 97], "block_and_hotkey_hash_byt": 97, "block_at_registr": [10, 20, 57], "block_byt": 96, "block_hash": [0, 33, 60, 89, 96], "block_numb": [0, 92, 96], "block_tim": [0, 27, 41, 60, 76], "blockatregistr": 10, "blockchain": [0, 26, 29, 30, 31, 33, 35, 36, 38, 39, 40, 42, 44, 46, 48, 51, 52, 54, 57, 60, 92, 103], "blocknotfound": 25, "blocknumb": 92, "blocks_since_epoch": 19, "blocks_since_last_step": [0, 6, 10, 57, 60, 70], "blocks_since_last_upd": [0, 60, 70], "blocks_since_upd": 0, "blocks_until_rev": [0, 60], "blockssincelaststep": 10, "blocktim": 58, "bob": [0, 60], "bodi": [0, 1, 24, 59, 60, 73], "body_hash": 73, "bond": [0, 11, 12, 17, 33, 48, 57, 60, 65, 70, 103], "bonds_as_dict": 11, "bonds_moving_avg": [10, 17], "bonds_reset_en": 17, "bondsmovingavg": 10, "bool": [0, 1, 2, 6, 10, 11, 12, 16, 17, 20, 21, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 74, 76, 77, 83, 86, 87, 89, 90, 92, 94, 96, 98], "boolean": [0, 1, 26, 27, 29, 40, 41, 44, 57, 60, 89], "both": [0, 1, 60, 86, 92, 103], "bound": [0, 29, 44, 60], "brain": 24, "bridg": 24, "broadcast": 1, "broader": 1, "broken": 25, "brokenexecutor": 75, "brokenthreadpool": 75, "bt": [0, 1, 23, 60, 65, 76, 98], "bt_docs_link": 89, "bt_header_axon_address": 73, "bt_header_dendrite_port": 73, "btfileformatt": 83, "btlog": [89, 104], "btstreamformatt": 83, "btstreamingrespons": 59, "btstreamingresponsemodel": 59, "buffer": [24, 74, 89], "build": 24, "built": 101, "bulk": [0, 60], "burn": [0, 10, 17, 19, 60], "burned_regist": [0, 60, 64], "burned_register_extrins": [31, 46], "byte": [0, 12, 21, 33, 48, 60, 73, 76, 89, 96, 97, 99, 101, 103], "byte_data": 76, "bytes_or_buff": 89, "c": 57, "calcul": [0, 1, 17, 57, 60, 73, 79, 84, 90, 92, 96, 99], "calculate_diff_second": 79, "calculate_fe": 90, "call": [0, 1, 17, 24, 29, 33, 35, 44, 48, 51, 59, 60, 73, 75, 77, 86, 102], "call_def": 0, "call_definit": [0, 60], "call_next": 1, "call_param": [33, 48, 92], "call_stream": 24, "callabl": [1, 59, 75], "caller": 1, "can": [0, 1, 9, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 75, 76, 92, 96, 103], "cancel": 75, "cancel_futur": 75, "cannot": [0, 25, 29, 35, 44, 51, 59, 60, 73, 74, 93], "capabl": [1, 33, 48], "captur": 57, "carrier": 73, "case": [0, 1, 24, 60, 65, 92, 101], "cast": 74, "cast_dtyp": 74, "cast_float": 73, "cast_int": 73, "cast_shap": 74, "categori": 73, "caught": [24, 89], "ceas": 1, "center": 83, "central": [1, 57], "certain": [0, 1, 60, 96], "certif": [0, 1, 33, 48, 60, 77, 89], "chain": [0, 1, 3, 16, 21, 25, 31, 32, 33, 34, 37, 38, 39, 46, 47, 48, 49, 50, 53, 54, 58, 60, 65, 77, 89, 92, 103, 104], "chain_data": [0, 1, 24, 55, 56, 57, 60, 92, 104], "chain_endpoint": [57, 65, 77, 89], "chain_ident": [0, 7, 10, 60, 104], "chain_stat": 92, "chainconnectionerror": 25, "chaindatatyp": 21, "chainerror": 25, "chainident": [0, 3, 10, 21, 57, 60], "chainqueryerror": 25, "chaintransactionerror": 25, "challeng": [0, 60, 94, 96], "chang": [0, 38, 45, 54, 60, 81, 83, 87, 92], "characterist": [0, 60, 92], "check": [0, 1, 23, 24, 30, 34, 38, 45, 50, 54, 60, 73, 80, 89, 93, 94, 96, 102], "check_and_convert_to_bal": 80, "check_block": 96, "check_config": [1, 86], "check_latest_version_in_pypi": 102, "check_vers": [89, 102], "child": [0, 25, 26, 40, 60], "child_hotkei": 0, "childkei": [0, 25, 60], "children": [0, 25, 28, 43, 60, 104], "choic": 89, "chr_transform": 10, "chunk": [24, 59], "claim": [0, 1, 36, 52, 60], "class": [25, 31, 46, 76], "classic": 71, "classmethod": [1, 2, 8, 9, 11, 14, 15, 16, 22, 23, 25, 65, 73, 75, 77, 86, 92, 96, 101], "classvar": 73, "clean": [0, 75], "cleanup": 24, "clear": 59, "cli": [0, 60], "client": [1, 24, 29, 35, 44, 51, 59], "clientrespons": [24, 59], "clientsess": 24, "close": [0, 24, 60, 65], "close_sess": 24, "closur": 24, "code": [0, 1, 24, 73], "cold": [15, 65], "coldkei": [0, 2, 4, 5, 10, 11, 12, 16, 20, 25, 26, 30, 34, 38, 40, 45, 50, 54, 55, 57, 60, 72, 77, 89, 92], "coldkey_ss58": [0, 16, 60], "coldkeypub": [0, 1, 60], "collabor": [0, 57, 60], "collat": 24, "collect": [0, 23, 55, 57, 60, 92], "color": 83, "color_map": 83, "com": 89, "combin": [55, 90], "come": 1, "command": [1, 77], "commit": [0, 17, 21, 22, 25, 27, 33, 39, 41, 42, 48, 60, 65, 92, 103, 104], "commit_data": 22, "commit_hash": [39, 42], "commit_hex": 22, "commit_rev": [28, 43, 104], "commit_reveal_en": [0, 60, 62], "commit_reveal_period": [10, 17], "commit_reveal_v3_extrins": [27, 41], "commit_reveal_weights_en": [10, 17], "commit_weight": [0, 43, 60, 64, 104], "commit_weights_extrins": [39, 42], "commitrevealperiod": 10, "commitrevealweightsen": 10, "committ": 22, "committe": [0, 60], "common": [4, 24, 25, 34, 38, 50, 54], "commun": [0, 1, 57, 60, 73, 98], "compar": [1, 55], "comparison": [1, 80], "compat": [0, 39, 42, 60, 73, 80, 87, 102], "complet": [1, 24, 57, 75], "complex": [0, 1, 57, 60, 73, 92], "compon": [0, 1, 57, 60], "composit": [0, 60], "comprehend": [0, 60, 92], "comprehens": [0, 60, 92], "compress": 73, "comput": [0, 33, 48, 57, 60, 73], "computed_body_hash": 73, "concaten": [73, 99], "concept": 57, "concern": 1, "concurr": [1, 24, 75], "condit": [0, 1, 60, 92], "confid": 1, "config": [0, 1, 56, 57, 59, 60, 65, 73, 74, 75, 77, 86, 87, 92, 104], "configdict": [59, 73, 74], "configur": [0, 1, 23, 57, 59, 60, 65, 73, 74, 77, 86, 92], "confirm": 1, "conflict": 1, "conform": [59, 73, 74], "congest": [0, 60], "connect": [0, 1, 24, 25, 33, 34, 36, 48, 50, 52, 57, 60, 65, 73, 77, 92], "connection_requir": 19, "connectionerror": 0, "consensu": [0, 10, 11, 12, 20, 57, 60, 92], "conserv": [0, 60], "consist": [0, 57, 60, 73, 85, 92], "consol": [0, 31, 46, 60, 85, 86, 94, 96, 104], "constant": [0, 17, 60, 82, 92], "constant_nam": [0, 60, 92], "constantli": 57, "constrain": 73, "constraint": 103, "construct": [23, 57, 73], "contact": [0, 31, 46, 60], "contain": [0, 1, 2, 4, 11, 21, 22, 24, 30, 31, 33, 38, 46, 48, 54, 55, 57, 59, 60, 73, 76, 77, 79, 89, 92, 96, 103, 104], "context": [0, 1, 24, 57, 60, 73], "continu": [1, 57], "contribut": [0, 1, 57, 60, 92], "control": [0, 1, 60, 73], "conveni": 73, "convers": [73, 90, 103], "convert": [1, 2, 21, 73, 76, 80, 88, 89, 90, 96, 103], "convert_and_normalize_weights_and_uid": 103, "convert_bond_uids_and_vals_to_tensor": 103, "convert_root_weight_uids_and_vals_to_tensor": 103, "convert_storage_paramet": 101, "convert_uids_and_weight": 103, "convert_weight_uids_and_vals_to_tensor": 103, "convert_weights_and_uids_for_emit": 103, "cool": [0, 60], "cooldown": [0, 26, 40, 60], "copi": [0, 57, 77], "copier": 0, "core": [78, 86, 92, 94, 96, 98, 104], "cornerston": [1, 73], "coroutin": 92, "correct": [1, 57, 73], "correctli": [1, 57], "correl": [0, 60], "correspond": [0, 1, 21, 24, 32, 39, 42, 47, 49, 55, 57, 60, 97, 103], "corrupt": 89, "cortex": 76, "cost": [0, 60, 92], "count": 5, "counterpart": 24, "cover": [0, 24, 57, 60, 92], "cpu": [94, 96], "creat": [0, 1, 2, 9, 11, 22, 24, 33, 48, 57, 59, 60, 73, 74, 77, 80, 89, 94, 96, 101, 104], "create_error_respons": 1, "create_from_data": 101, "create_from_storage_funct": 101, "create_pow": 96, "create_pow_async": 94, "create_streaming_respons": 59, "create_subnet": 92, "creation": [1, 73], "credit": [0, 29, 44, 60], "criteria": 1, "critic": [0, 1, 57, 60, 73, 81, 86, 92], "crucial": [0, 1, 24, 33, 48, 57, 60, 73, 92], "crv3": [0, 60], "cryptocurr": 57, "cryptograph": [0, 1, 57, 60, 92], "cuda": [0, 31, 46, 60, 94, 96, 97], "cudasolv": 96, "cumul": 57, "curl": 93, "curr_block": 96, "curr_block_num": 96, "curr_diff": 96, "currenc": 80, "current": [0, 1, 6, 57, 60, 65, 73, 79, 90, 92, 96, 101, 102], "current_block": [0, 57], "current_subnet_pric": 90, "current_tick": 90, "current_tim": 79, "current_time_n": 79, "custom": [0, 1, 7, 57, 73, 76, 83, 85], "custom_logger_method_stack_level": 86, "custom_synaps": 73, "customiz": 1, "customsynaps": 73, "cutoff": 17, "d": [24, 57, 74, 77, 82, 92], "dai": [4, 5], "daili": [4, 5], "data": [0, 1, 2, 6, 7, 10, 13, 14, 16, 20, 21, 22, 24, 26, 33, 40, 48, 55, 57, 59, 60, 73, 74, 76, 89, 92, 96, 99, 101, 103], "data_typ": [33, 48], "databas": 101, "dataclass": [0, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 18, 19, 20, 60, 76], "date": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 83, 92, 102], "date_format": 82, "datefmt": 83, "datetim": [0, 60], "de": 86, "deal": 1, "debug": [73, 81, 86, 87], "decai": 17, "deceiv": 1, "decentr": [0, 1, 33, 48, 57, 60, 73, 92], "decis": [0, 57, 60], "decod": [0, 1, 2, 6, 7, 8, 12, 15, 16, 20, 21, 22, 26, 40, 60, 73, 76, 89, 101], "decode_account_id": 21, "decode_account_id_list": 15, "decode_block": 21, "decode_hex_identity_dict": 89, "decode_metadata": 21, "decode_revealed_commit": 21, "decode_revealed_commitment_with_hotkei": 21, "decode_scale_valu": 101, "decor": 96, "decreas": [0, 25, 38, 54, 60], "decrease_take_extrins": [36, 52], "decrypt": [0, 26, 40, 60, 76, 89], "decrypted_data": 76, "deepcopi": 57, "deeper": [0, 60, 92], "def": [0, 1, 73], "default": [0, 1, 2, 21, 23, 24, 25, 27, 29, 30, 31, 33, 34, 35, 36, 38, 41, 44, 46, 48, 50, 51, 52, 54, 55, 57, 58, 60, 65, 73, 76, 77, 79, 80, 83, 86, 87, 89, 92, 96, 97, 98, 102, 103], "default_endpoint": 58, "default_log_backup_count": 82, "default_log_file_nam": 82, "default_log_format": 83, "default_max_rotating_log_file_s": 82, "default_network": [57, 58], "default_trace_format": 83, "default_verifi": 1, "defaultconfig": 23, "defaultdict": 23, "defaultmunch": 23, "defin": [0, 1, 2, 6, 10, 20, 21, 57, 60, 73, 83, 85, 89, 92, 104], "definit": [0, 82], "deiniti": 86, "delai": 1, "deleg": [0, 4, 5, 25, 36, 52, 57, 60, 65, 92, 104], "delegate_info": [7, 104], "delegate_info_lit": [7, 104], "delegate_ss58": 5, "delegatedinfo": [4, 21], "delegateinfo": [0, 4, 5, 21, 60], "delegateinfobas": 4, "delegateinfolit": 5, "delegateliteinfo": 5, "delegatetaketoohigh": [0, 25, 60], "delegatetaketoolow": [0, 25, 60], "delegatetxratelimitexceed": [0, 25, 60], "delta": [1, 79], "dendrit": [1, 25, 56, 73, 87, 98, 104], "dendrite_default_error": 24, "dendrite_error_map": 24, "dendrite_hotkei": 73, "dendrite_inst": 24, "dendritemixin": 24, "denot": 57, "depart": 0, "depend": [2, 90], "deposit": [0, 37, 53, 60], "deprec": [80, 87, 102], "deregister_primary_logg": 86, "deriv": [10, 21], "describ": [0, 39, 42, 60, 83], "descript": [0, 1, 3, 18, 31, 46, 60, 73], "deseri": [24, 57, 59, 73, 74, 98], "deserialized_synaps": 73, "design": [0, 1, 24, 59, 60, 73, 87], "desir": [73, 86], "dest": [0, 37, 53, 60, 92], "destin": [0, 30, 37, 39, 45, 49, 53, 60, 89, 92, 103], "destination_coldkey_ss58": [0, 30, 45, 60], "destination_hotkei": [0, 30, 45, 60], "destination_hotkey_ss58": [0, 60], "destination_netuid": [0, 30, 45, 60], "destination_pric": [0, 60], "destination_subnet_pric": [0, 60], "detail": [0, 1, 57, 60, 73, 92, 101], "detect": 73, "determin": [0, 1, 24, 57, 60, 73, 77, 84, 89], "determine_block_hash": [0, 60, 65], "determine_chain_endpoint_and_network": 89, "dev_id": [0, 31, 46, 60, 94, 96, 97], "develop": [1, 59, 73, 105], "devic": [0, 31, 46, 60, 94, 96, 97], "dict": [0, 1, 2, 4, 8, 9, 10, 11, 12, 14, 16, 19, 21, 23, 24, 33, 48, 57, 58, 59, 60, 73, 74, 77, 83, 89, 90, 92, 96], "dictionari": [0, 1, 2, 9, 11, 21, 23, 25, 57, 59, 60, 73, 74, 77, 84, 89, 92], "did": [31, 32, 33, 34, 37, 46, 47, 48, 49, 50, 53], "diff": 96, "differ": [0, 1, 6, 23, 24, 45, 57, 60, 73, 79, 80, 86, 94, 96], "difficulti": [0, 10, 17, 19, 60, 70, 92, 96, 97], "digit": [1, 57, 73], "dir": 57, "dir_path": 57, "direct": [0, 57, 60], "directli": [0, 24, 59, 60, 73], "directori": 57, "disabl": [0, 29, 44, 60, 65, 86, 87, 92], "disable_debug": 86, "disable_info": 86, "disable_log": 86, "disable_third_party_logg": 86, "disable_trac": 86, "disable_warn": 86, "disallow": 1, "discord": [0, 3, 18, 31, 46, 60], "discoveri": [0, 60], "disk": 57, "dispatch": 1, "distinguish": 57, "distribut": [0, 57, 60, 73, 90, 92], "divers": [0, 60], "dividend": [10, 11, 12, 20, 57], "do": [0, 1, 60], "do_block_step": 92, "do_commit_weight": [39, 42], "do_serve_axon": [33, 48, 92], "do_serve_prometheu": 92, "do_set_weight": 92, "do_transf": 92, "doc": [0, 89], "docstr": 57, "document": [0, 60, 104], "doe": [0, 1, 25, 26, 40, 60, 73, 76, 94, 96], "does_hotkey_exist": [0, 60, 72], "doesn": [0, 1, 25, 26, 40, 57, 60, 86], "don": 0, "doubl": 92, "down": [0, 1, 60], "drain": 16, "drand": [0, 60, 76], "dtype": 74, "due": [0, 1], "dummy_input": 73, "dump": 76, "duplic": [0, 25, 26, 40], "duplicatechild": [0, 25, 26, 40], "durat": [0, 24, 27, 41, 60, 73], "dure": [0, 1, 17, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 73, 76, 92, 96], "dust": [0, 60], "dynam": [0, 1, 6, 57, 60, 92], "dynamic_info": [7, 104], "dynamicinfo": [0, 6, 21, 60], "e": [0, 2, 9, 13, 31, 33, 46, 48, 57, 60, 73, 92], "e29ce36fec1a": 73, "each": [0, 1, 21, 24, 34, 38, 39, 42, 50, 54, 55, 57, 60, 73, 76, 77, 86, 92, 96], "earn": [0, 34, 50, 57, 60], "easi": 73, "easy_import": [89, 104], "econom": [0, 60], "ecosystem": [0, 57, 60, 73, 92], "ed25519": [37, 53], "effect": [0, 1, 60], "effici": [0, 1, 24, 57, 60, 73, 92], "effort": [0, 60], "either": [0, 60, 80, 83, 93], "element": [0, 10, 24, 26, 27, 31, 40, 41, 46, 57, 60, 74], "elig": [0, 60], "ellipsi": 73, "els": 89, "email": [31, 46], "embodi": 57, "emiss": [0, 6, 10, 11, 12, 16, 20, 35, 51, 57, 60], "emission_histori": 20, "emission_valu": 19, "emit": [0, 60], "emoji": 83, "emoji_map": 83, "emploi": 57, "empti": [0, 60, 74, 77, 92], "enabl": [0, 1, 17, 29, 30, 33, 34, 38, 44, 45, 48, 50, 54, 57, 60, 65, 73, 86, 87, 92], "enable_consol": 86, "enable_debug": 86, "enable_default": 86, "enable_info": 86, "enable_third_party_logg": 86, "enable_trac": 86, "enable_warn": 86, "encapsul": [1, 24, 59, 73], "encod": [0, 7, 9, 16, 21, 60, 73, 76, 89], "encode_param": [0, 60, 65], "encoded_data": 21, "encompass": 73, "encount": [1, 74], "encourag": 57, "encrypt": [1, 76], "encrypted_data": 76, "end": [1, 14, 24, 73], "endpoint": [0, 1, 2, 24, 33, 48, 60, 65, 73, 77, 89, 92, 93], "endpoint_url": [89, 93], "enforc": 73, "enhanc": [0, 33, 48, 57, 60, 73], "enough": 25, "ensur": [0, 1, 24, 39, 42, 57, 59, 60, 73, 85, 86, 87, 92, 96], "enter": [0, 31, 32, 33, 34, 37, 38, 39, 46, 47, 48, 49, 50, 53, 54, 60], "entir": [0, 24, 60], "entiti": [1, 57], "entri": [0, 57, 60, 101], "entrypoint": 58, "enum": [10, 21], "enumer": [10, 21], "environ": [0, 1, 57, 60, 73, 97], "epoch": [0, 60], "equal": [94, 96], "equip": 1, "err_msg": 92, "error": [0, 1, 2, 23, 24, 26, 29, 33, 35, 36, 38, 39, 40, 42, 44, 48, 51, 52, 54, 56, 57, 60, 65, 73, 74, 76, 81, 86, 89, 92, 94, 96, 97, 102, 104], "error_messag": 89, "especi": [1, 24, 73], "essenti": [0, 1, 24, 57, 60, 73, 92], "establish": [0, 1, 24, 60, 73], "estim": [0, 6, 60, 92], "etc": [1, 59, 65, 73], "evalu": [0, 1, 77], "even": [0, 29, 44, 60], "event": [24, 59, 86, 96], "event_loop_is_run": 24, "everi": 73, "everyth": 57, "evolut": 57, "exact": 57, "examin": 57, "exampl": [1, 38, 54, 73, 74, 76, 92], "examplerout": 73, "examplesynaps": 73, "exce": [0, 26, 30, 40, 45, 60], "exceed": [0, 25, 34, 38, 50, 54, 60], "except": [0, 1, 24, 26, 40, 60, 74, 86, 89, 92], "exchang": [1, 57, 73], "exclud": 103, "exclude_quantil": 103, "execut": [0, 1, 25, 57, 60, 75, 92], "executor": 75, "exhaust": 24, "exist": [0, 1, 24, 25, 26, 40, 60, 89, 94, 96], "existenti": [0, 37, 53, 60], "existential_deposit": 0, "existentialdeposit": 0, "exit": [1, 25], "expect": [1, 24, 57, 59], "expir": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 92], "explicitli": [0, 23, 57, 59, 73, 74], "explor": 89, "expos": 89, "express": 76, "extend": 1, "extent": [0, 60], "extern": [1, 24, 93], "external_ip": [1, 24, 93], "external_port": 1, "externalipnotfound": 93, "extract": [1, 24, 59], "extract_response_json": 59, "extrem": 1, "extrins": [0, 56, 60, 65, 89, 104], "extrinsicnotfound": 25, "extrinsics_subpackag": 87, "f": [0, 89], "face": [0, 1, 60, 93], "facilit": [0, 1, 57, 60, 73, 92], "factor": [0, 60], "factori": [0, 57], "fail": [0, 1, 2, 21, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 44, 46, 47, 48, 49, 50, 51, 53, 54, 60, 73, 75, 76, 93, 102], "failed_verif": 73, "failur": [0, 1, 26, 27, 31, 33, 36, 40, 41, 46, 48, 52, 60, 73], "fallback": [0, 24, 60, 65, 92], "fallback_endpoint": [0, 60, 65, 92], "fals": [0, 1, 6, 11, 12, 21, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 74, 76, 83, 87, 89, 92, 94, 96, 98], "fast": [0, 60, 76], "fast_config": 1, "fast_serv": 1, "fastapi": 1, "fastapithreadedserv": 1, "feasibl": 24, "featur": [0, 1, 60, 73, 87], "fee": [0, 60, 90, 92], "fees_above_high": 90, "fees_alpha": 90, "fees_below_low": 90, "fees_tao": 90, "fetch": [0, 5, 33, 48, 60, 103], "field": [0, 1, 2, 4, 59, 60, 71, 73, 74], "field_indic": [0, 60], "file": [23, 57], "filenam": [82, 83], "fill": [1, 24], "filter": [0, 1, 60], "filter_for_netuid": [0, 60], "filter_netuids_by_registered_hotkei": [0, 60, 72], "final": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 73, 96], "financi": [0, 60, 92], "find": [55, 73], "fingerprint": 73, "finish": [24, 75, 96], "finished_queu": 96, "finnei": [0, 57, 58, 65, 77, 89], "finney_entrypoint": 58, "finney_test_entrypoint": 58, "first": [0, 1, 6, 23, 24, 26, 27, 31, 34, 40, 41, 46, 50, 57, 60, 73], "fix": [0, 60, 80, 92], "fixed_to_float": 80, "fixedpoint": [60, 80], "flag": [0, 1, 2, 17, 24, 31, 33, 34, 36, 37, 46, 48, 49, 50, 52, 53, 57, 60, 77, 83, 89], "flexibl": [0, 1, 60], "float": [0, 1, 4, 5, 6, 10, 11, 12, 17, 19, 20, 24, 26, 27, 30, 32, 34, 38, 39, 40, 41, 45, 47, 49, 50, 54, 57, 60, 65, 73, 76, 79, 80, 89, 90, 92, 96, 103], "float32": [0, 27, 32, 39, 41, 47, 49, 60, 103], "float_to_u64": 89, "floattensor": [0, 27, 39, 41, 49, 60, 103], "flow": [1, 73], "fluctuat": [0, 60], "fmt": 83, "fn": [57, 75], "focus": [0, 60, 92], "follow": [33, 48, 73, 77, 86], "forbidden": 73, "forc": [92, 96], "force_register_neuron": 92, "force_set_bal": 92, "forev": [0, 60, 65, 92], "form": [1, 57, 59, 73, 74, 76, 93], "format": [0, 1, 24, 33, 48, 57, 59, 60, 73, 77, 85, 89, 92, 93, 104], "format_error_messag": 89, "formatt": [83, 85, 86], "formatted_endpoint_url": 93, "formattim": 83, "forward": [1, 24], "forward_class_typ": 1, "forward_custom": 1, "forward_fn": [1, 25], "forward_my_synaps": 1, "forward_my_synapse_2": 1, "foster": 1, "found": [0, 1, 25, 55, 60, 92, 96, 97], "foundat": [0, 1], "frac_bit": 80, "frame": [0, 60], "framework": [1, 24, 73, 86, 87], "frequent": [0, 60], "fresh": 1, "friendli": [1, 39, 42], "fro": 86, "from": [0, 1, 2, 9, 10, 11, 15, 16, 21, 24, 29, 30, 33, 34, 36, 37, 38, 44, 45, 48, 50, 52, 53, 54, 57, 59, 60, 65, 73, 74, 75, 76, 77, 80, 81, 86, 89, 92, 93, 96, 98, 103], "from_dict": [8, 14, 16], "from_error": 25, "from_float": 80, "from_head": 73, "from_neuron_info": 2, "from_parameter_dict": [2, 9], "from_rao": 80, "from_scale_encod": 21, "from_scale_encoding_using_type_str": 21, "from_str": 2, "from_tao": [0, 60, 80], "from_vec_u8": 22, "from_weights_bonds_and_neuron_lit": 11, "full": [0, 30, 45, 57, 60], "full_address": 1, "func": [5, 96, 102], "function": [7, 25, 59, 60, 85, 86, 92, 98, 101], "fund": [0, 37, 53, 60, 92], "fundament": [0, 1, 34, 50, 57, 60, 73, 92], "further": 1, "futur": [33, 48, 57, 75], "g": [0, 2, 9, 13, 31, 46, 73, 92], "gain": [0, 60], "garbag": 0, "gather": 1, "gener": [0, 1, 10, 21, 24, 59, 60, 84, 96, 101, 103, 104], "generate_weight_hash": 103, "genericcal": [0, 60], "genericmetadatavers": 101, "genuin": 1, "get": [0, 23, 24, 57, 60, 71, 73, 75, 76, 83, 86, 89, 96], "get_all_commit": [0, 60, 62], "get_all_metagraphs_info": [0, 60, 66], "get_all_neuron_certif": [0, 60, 67], "get_all_revealed_commit": [0, 60, 62], "get_all_subnets_info": [0, 60, 70], "get_and_save_latest_vers": 102, "get_async_subtensor": 0, "get_bal": [0, 60, 72, 92], "get_block_hash": [0, 60, 61, 92], "get_children": [0, 60, 70, 72], "get_children_pend": [0, 60, 70, 72], "get_commit": [0, 60, 62, 92], "get_config": 86, "get_cpu_count": 96, "get_current_block": [0, 57, 60, 61, 92], "get_current_weight_commit_info": [0, 60, 62, 70], "get_deleg": [0, 60, 63, 72], "get_delegate_by_hotkei": [0, 60, 63, 72], "get_delegate_ident": [0, 60, 61, 63, 65], "get_delegate_tak": [0, 60, 63, 72], "get_existential_deposit": [0, 60, 61], "get_explorer_url_for_network": 89, "get_external_ip": 93, "get_fe": 90, "get_fees_in_rang": 90, "get_formatted_ws_endpoint_url": 93, "get_hash": 89, "get_hotkey_own": [0, 60, 72], "get_hotkey_stak": [0, 60, 69, 72], "get_human_read": 88, "get_hyperparamet": [0, 60, 70], "get_last_bonds_reset": [33, 48], "get_last_commitment_bonds_reset_block": [0, 60, 62], "get_level": 86, "get_liquidity_list": [0, 60, 70], "get_max_logger_name_length": 84, "get_metadata": [33, 48], "get_metagraph_info": [0, 60, 66], "get_minimum_required_stak": [0, 60, 61, 69, 72], "get_netuids_for_hotkei": [0, 60, 72], "get_neuron_certif": [0, 60, 67], "get_neuron_for_pubkey_and_subnet": [0, 60, 70], "get_next_epoch_start_block": [0, 60, 70], "get_null_neuron": [11, 12], "get_old_stak": 55, "get_owned_hotkei": [0, 60, 72], "get_par": [0, 60, 70], "get_queu": 86, "get_required_field": 73, "get_revealed_commit": [0, 60, 62], "get_revealed_commitment_by_hotkei": [0, 60, 62], "get_save_dir": 57, "get_siz": 73, "get_stak": [0, 60, 69, 72], "get_stake_add_fe": [0, 60, 69, 72], "get_stake_for_coldkei": [0, 60, 69, 72], "get_stake_for_coldkey_and_hotkei": [0, 60, 69, 72], "get_stake_for_hotkei": [0, 60, 72], "get_stake_info_for_coldkei": [0, 60, 69, 72], "get_stake_movement_fe": [0, 60, 69, 72], "get_stake_operations_fe": [0, 60, 69], "get_status_messag": 96, "get_subnet": [0, 60, 70], "get_subnet_burn_cost": [0, 60, 70], "get_subnet_hyperparamet": [0, 60, 70], "get_subnet_info": [0, 60, 70], "get_subnet_owner_hotkei": [0, 60, 70], "get_subnet_pric": [0, 60, 70], "get_subnet_reveal_period_epoch": [0, 60, 70], "get_subnet_validator_permit": [0, 60, 70], "get_timestamp": [0, 60, 61], "get_total_s": 73, "get_total_subnet": [0, 60, 70], "get_transfer_fe": [0, 60, 72, 92], "get_uid_for_hotkey_on_subnet": [0, 60, 70], "get_unit": 80, "get_unstake_fe": [0, 60, 69, 72], "get_vote_data": [0, 60, 61], "getdefaultencod": 89, "github": [0, 3, 31, 46, 60], "github_repo": [18, 31, 46], "give": [0, 75, 80, 81], "given": [0, 1, 21, 27, 30, 31, 32, 33, 39, 41, 46, 47, 48, 49, 55, 57, 59, 60, 73, 74, 75, 80, 89, 92, 94, 96, 98, 103], "global": [0, 60], "global_fees_alpha": 90, "global_fees_tao": 90, "glorifi": 73, "glossari": 0, "go": 1, "goe": [0, 31, 38, 46, 54, 60], "govern": [0, 57, 60, 92], "grace": [0, 60], "gracefulli": 1, "graph": 57, "great": 1, "greater": [57, 103], "growth": [0, 60], "grpc": 1, "guard": 1, "h": [82, 88], "ha": [0, 1, 12, 24, 25, 57, 59, 60, 92, 96], "halt": 1, "handl": [0, 1, 6, 20, 24, 39, 42, 59, 60, 73, 76, 86, 90, 93, 103], "handler": [1, 85, 86, 89], "hash": [0, 1, 33, 39, 42, 48, 60, 73, 89, 92, 96, 97, 99, 103], "hash_rat": 96, "hash_rate_perpetu": 96, "hash_valu": 73, "hasher": [100, 104], "hasn": 1, "have": [0, 1, 25, 26, 40, 60, 73, 75], "header": [1, 24, 25, 59, 73], "header_s": 73, "height": [0, 60], "held": [0, 57], "hello": [0, 73], "help": [0, 1, 23, 25, 60, 65, 73, 74, 75, 77, 80, 86, 89, 92, 93, 102], "helper": [0, 21, 55, 60, 73, 77, 80, 85, 99, 104], "here": 24, "hex": [0, 22, 60, 101], "hex_to_byt": 89, "hexadecim": [73, 89], "high": [0, 17, 25, 60], "higher": [57, 101], "histor": [24, 57], "history_block": 57, "hit": [0, 26, 40], "hold": [1, 57, 86], "holder": [0, 60], "home_dir": 58, "honest": 0, "hop": [0, 60], "host": [1, 33, 48], "hot": [0, 60], "hotkei": [0, 1, 2, 4, 5, 10, 11, 12, 16, 20, 21, 24, 25, 26, 29, 30, 32, 33, 34, 36, 38, 39, 40, 44, 45, 47, 48, 49, 50, 52, 54, 55, 57, 60, 65, 72, 73, 77, 89, 92, 96, 97], "hotkey_byt": 96, "hotkey_ss58": [0, 4, 16, 30, 34, 36, 38, 45, 50, 52, 54, 55, 60], "hotkey_ss58_address": [0, 60], "hotkeyaccountnotexist": [0, 25, 60], "how": [0, 1, 6, 57, 60], "howev": [24, 57], "hparam": 57, "http": [0, 1, 24, 58, 73, 89], "human": [1, 88], "hyperparam": 103, "hyperparamet": [0, 17, 60], "i": [0, 1, 2, 4, 5, 6, 11, 12, 15, 17, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 65, 73, 74, 75, 76, 77, 80, 83, 86, 87, 89, 90, 92, 93, 94, 96, 97, 98, 101, 102, 103, 105], "id": [0, 1, 4, 21, 24, 27, 29, 31, 41, 44, 46, 54, 60, 73, 90, 94, 96, 97, 103], "ideal": 6, "ident": [0, 3, 10, 18, 25, 31, 46, 57, 60, 73, 89, 99], "identif": [57, 73], "identifi": [0, 1, 11, 12, 24, 33, 34, 36, 38, 39, 42, 48, 50, 52, 54, 55, 57, 60, 73, 92, 103], "identityerror": 25, "ignor": [0, 24, 60], "ij": 57, "imag": 3, "immedi": [0, 1, 60], "immun": [0, 17], "immunity_period": [0, 10, 17, 19, 60, 70], "immunityperiod": [0, 10, 60, 92], "immut": [0, 60, 92], "impact": [0, 30, 45, 57, 60], "implement": [1, 23, 24, 59, 73, 75, 96, 101], "impli": 57, "import": [0, 1, 23, 24, 57, 60, 65, 73, 76, 81], "importerror": 57, "improv": 73, "inact": 57, "incent": [0, 10, 11, 12, 20, 34, 50, 57, 60], "incentiv": [0, 57], "includ": [0, 1, 2, 7, 11, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 76, 77, 83, 85, 87, 92], "inclus": [0, 27, 30, 31, 32, 33, 34, 36, 37, 41, 45, 46, 47, 48, 49, 50, 52, 53, 60], "incom": [0, 1, 60], "incorrect": 89, "increas": [0, 1, 25, 30, 34, 45, 50, 60, 73], "increase_take_extrins": [36, 52], "inde": 1, "index": [14, 90], "indexerror": 76, "indic": [0, 1, 11, 12, 17, 24, 25, 26, 27, 29, 31, 33, 40, 41, 44, 46, 48, 57, 60, 73, 86, 92], "indispens": 73, "individu": [0, 24, 57, 60, 92], "infer": 57, "inflat": [0, 60, 92], "influenc": [0, 57, 60], "info": [0, 1, 2, 6, 8, 9, 10, 19, 20, 58, 81, 86, 87], "info_bas": [2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 104], "info_dictionari": 89, "infobas": [2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20], "infodict": 92, "inform": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 18, 22, 24, 26, 31, 33, 40, 46, 48, 55, 57, 60, 73, 86, 89, 92, 96, 97], "infrastructur": [0, 57, 60], "inherit": [73, 77], "init": 57, "initarg": 75, "initi": [0, 1, 23, 24, 25, 29, 31, 33, 34, 35, 37, 44, 48, 50, 51, 57, 59, 60, 65, 74, 75, 76, 77, 80, 83, 86, 89, 92, 93, 102], "input": [0, 1, 21, 24, 57, 59, 60, 73, 74, 96, 103], "input_": 21, "input_obj": 73, "insight": [0, 60, 92], "inspect": 1, "instal": 57, "install_signal_handl": 1, "instanc": [0, 1, 2, 9, 11, 12, 22, 24, 26, 27, 29, 30, 31, 33, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 48, 50, 51, 54, 57, 59, 60, 65, 73, 75, 76, 84, 86, 92, 94, 101, 103], "instanti": [0, 57, 59], "instead": [0, 1, 59, 92, 102], "instrument": [57, 60], "insuffici": [0, 60], "int": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 60, 73, 74, 76, 77, 79, 80, 83, 84, 86, 88, 89, 90, 92, 93, 94, 96, 97, 98, 102, 103], "int64": [0, 27, 32, 39, 41, 47, 49, 60, 97, 103], "int_to_ip": 93, "int_val": 93, "intact": 1, "integ": [0, 60, 73, 80, 90, 93, 103], "integr": [0, 1, 57, 60, 73, 87, 92], "intellig": [0, 1, 57, 60], "intend": [0, 59, 60, 73], "intent": [0, 1], "inter": 57, "interact": [0, 1, 24, 29, 30, 31, 35, 39, 42, 44, 46, 51, 57, 60, 65, 73, 80, 92], "intercept": 1, "interconnect": 0, "interconnected": 57, "interfac": [0, 1, 31, 39, 42, 46, 57, 59, 60], "interfer": 1, "intermediari": 1, "intern": [1, 24, 33, 48, 59], "internalservererror": 25, "interneuron": [0, 60], "interpret": [24, 38, 73], "interv": 17, "invalid": [0, 25, 74], "invalidchild": [0, 25, 26, 40], "invalidconfigfil": 23, "invalidrequestnameerror": 25, "invers": 103, "invest": [0, 57, 60], "invok": 1, "involv": [0, 1, 57, 60, 73], "ip": [1, 2, 9, 13, 24, 33, 48, 57, 73, 77, 92, 93], "ip__str__": 93, "ip_address": 73, "ip_info": [7, 104], "ip_str": [2, 93], "ip_to_int": 93, "ip_typ": [2, 9, 13, 77, 92, 93], "ip_vers": 93, "ipifi": 93, "ipinfo": [9, 21], "ipv4": [2, 9, 13, 93], "ipv6": [2, 9, 13, 93], "is_async": 65, "is_blacklist": 73, "is_dynam": 6, "is_empti": 75, "is_failur": 73, "is_fast_block": [0, 60, 61], "is_hotkey_deleg": [0, 60, 63, 72], "is_hotkey_regist": [0, 60, 72], "is_hotkey_registered_ani": [0, 60, 72], "is_hotkey_registered_on_subnet": [0, 60, 70], "is_nul": [11, 12], "is_opt": 21, "is_regist": 16, "is_run": 1, "is_serv": 2, "is_set": 23, "is_stal": 96, "is_stale_async": 96, "is_subnet_act": [0, 60, 70], "is_success": 73, "is_timeout": 73, "is_valid_bittensor_address_or_public_kei": 89, "is_valid_ss58_address": 89, "is_vec": 21, "iso8601": 83, "issu": [1, 24], "item": [0, 73, 99], "iter": [0, 24, 57, 60, 73, 74, 77, 84, 92], "its": [0, 1, 2, 24, 34, 36, 37, 50, 52, 53, 57, 60, 73, 86, 92, 96], "itself": [1, 73], "j": 57, "json": [1, 2, 24, 58, 59, 73], "json_respons": 24, "json_str": 2, "jsondecodeerror": 2, "jsonrespons": 1, "judgment": 57, "just": [0, 57, 60, 65, 92], "k": [6, 74, 77, 92], "kappa": [10, 17, 19, 92], "keccak": 97, "keccak256": [33, 48], "keep": [0, 37, 45, 53, 60, 73], "keep_al": [0, 37, 53, 60], "kei": [0, 1, 2, 11, 15, 21, 26, 27, 32, 37, 39, 40, 41, 42, 47, 49, 53, 57, 60, 73, 74, 77, 89, 92, 99, 101, 103], "kept": 102, "keyfil": [0, 26, 40, 60, 87, 89], "keyfileerror": [0, 26, 40, 60, 89], "keypair": [0, 24, 60], "keyword": [59, 73, 74, 77, 92, 98], "know": [0, 1, 60, 92], "known": [0, 60, 89], "kwarg": [24, 59, 74, 75, 77, 83, 86, 92, 98], "lack": 93, "larg": 24, "larger": 1, "last": [0, 1, 11, 12, 33, 48, 57, 60, 65], "last_drand_round": [0, 60, 61], "last_step": [6, 10, 57], "last_upd": [10, 11, 12, 20, 57], "laststep": 10, "lastupd": 10, "latenc": 73, "latent": 58, "latent_lite_entrypoint": 58, "later": 57, "latest": [0, 48, 57, 60, 92, 102], "latest_block_path": 57, "latest_hash": 0, "layer": [0, 1, 57, 60], "lazi": 96, "lazili": 24, "lazyloadedtorch": 96, "lead": 1, "leakag": 24, "learn": [57, 60, 73], "learnbittensor": 0, "least": 1, "ledger": 57, "left": 93, "legaci": [87, 96], "legacy_method": 65, "legacy_torch_api_compat": 96, "length": [33, 48, 73, 84], "less": 57, "level": [0, 1, 17, 57, 60, 65, 71, 81, 83, 86, 87, 101], "levelnam": [82, 83], "leverag": [57, 86], "librari": 86, "lifecycl": 1, "lifespan": 73, "light": 57, "lighter": 5, "lightweight": 0, "like": [0, 1, 23, 24, 60, 73, 83], "limit": [0, 17, 25, 26, 38, 40, 54, 60, 96, 97, 103], "line": [0, 1, 60, 77, 94, 96], "lineno": [82, 83], "link": [0, 1, 16, 31, 46, 60], "liquid": [0, 17, 28, 43, 60, 89, 104], "liquid_alpha_en": [10, 17], "liquidalphaen": 10, "liquidity_delta": [0, 29, 44, 60], "liquidityposit": [0, 60, 90], "list": [0, 1, 4, 5, 8, 10, 11, 12, 14, 15, 20, 21, 23, 24, 26, 27, 31, 32, 34, 38, 39, 40, 41, 42, 46, 47, 49, 50, 54, 55, 57, 60, 65, 73, 74, 77, 89, 92, 94, 96, 98, 101, 103], "list_from_dict": 8, "list_from_vec_u8": 12, "listen": [1, 86], "lite": [0, 11, 57, 58, 60, 65, 92], "liter": 89, "live": 57, "load": [0, 1, 23, 57, 60, 76, 96], "load_from_path": 57, "local": [0, 1, 24, 57, 58, 60, 77, 89, 92, 93], "local_entrypoint": 58, "local_synaps": 24, "localhost": 65, "locat": 57, "lock": [0, 16, 60, 96], "log": [0, 1, 23, 24, 31, 46, 60, 65, 81, 82, 83, 84, 85, 86, 87, 89, 92, 96, 97], "log_and_handle_error": 1, "log_cuda_error": 97, "log_except": 24, "log_format": 83, "log_level": 1, "log_level_color_prefix": 83, "log_no_torch_error": 96, "log_trace_format": 83, "log_verbos": [0, 31, 46, 60, 65, 77, 92, 94, 96], "logger": [75, 81, 84, 85, 86], "logging_dir": 86, "loggingconfig": 86, "loggingmachin": [81, 85, 104], "logic": [1, 59, 73, 76], "logo": [31, 46], "logo_url": [18, 31, 46], "logrecord": 83, "long": [0, 60], "longer": 24, "longest": 84, "longtensor": [0, 27, 39, 41, 49, 60, 103], "loop": 24, "low": [0, 17, 25, 60], "lower": [0, 29, 44, 60, 103], "lynch": 76, "m": 82, "machin": [1, 57, 60, 73], "made": [0, 17, 25, 60], "mai": [57, 92], "main": [0, 1, 60, 76, 89, 96], "mainli": [0, 57, 60, 65, 92], "maintain": [0, 1, 57, 60, 73, 87, 90, 92], "mainten": 1, "major": 57, "make": [0, 1, 24, 37, 53, 57, 60, 73, 76, 92], "malici": 1, "manag": [0, 1, 23, 24, 57, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 72, 73, 84, 86, 90, 92], "mani": [0, 25, 26, 40], "manipul": 1, "manner": [1, 96], "map": [0, 4, 11, 12, 60, 74, 77, 89, 92, 93, 101], "mark": 1, "market": 60, "match": [1, 55, 80, 103], "math": 57, "matrix": [0, 57], "max": [1, 25, 33, 48, 103], "max_allowed_attempt": [0, 31, 46, 60], "max_allowed_valid": 19, "max_burn": [10, 17], "max_difficulti": [10, 17], "max_int_weight": 103, "max_length": 84, "max_n": 19, "max_regs_per_block": [10, 17], "max_retri": [0, 60], "max_tick": 90, "max_uid": [10, 57], "max_valid": [10, 17], "max_valu": 103, "max_weight_limit": [0, 17, 19, 60, 70, 103], "max_weights_limit": 10, "max_work": [1, 75], "maxattemptsexcept": 25, "maxburn": 10, "maxdifficulti": 10, "maximum": [0, 17, 24, 30, 31, 34, 38, 45, 46, 50, 54, 60, 73, 75, 103], "maxregsperblock": 10, "maxsiz": 75, "maxsuccessexcept": 25, "maxuid": 10, "maxvalid": 10, "maxweightslimit": [0, 10, 60], "mean": [0, 1, 60, 73, 94, 96], "measur": [57, 60], "mechan": [0, 1, 35, 51, 57, 60, 73, 76, 92], "meet": 1, "member": [0, 60], "merg": [23, 24], "merkl": 101, "messag": [0, 1, 21, 24, 25, 26, 27, 29, 31, 33, 35, 36, 38, 40, 41, 44, 46, 48, 51, 52, 54, 60, 73, 81, 82, 83, 86, 89, 96], "met": 25, "meta_info": [0, 60], "metadata": [0, 11, 12, 21, 25, 31, 33, 46, 48, 57, 60, 73, 92, 101], "metadata_storage_funct": 101, "metadataerror": [25, 33, 48], "metagraph": [0, 24, 56, 60, 65, 87, 103, 104], "metagraph_info": [7, 104], "metagraph_state_dict_ndarray_kei": 57, "metagraphinfo": [0, 10, 21, 60], "metagraphinfoemiss": [10, 57], "metagraphinfoparam": [10, 57], "metagraphinfopool": [10, 57], "metagraphmixin": 57, "method": [0, 1, 6, 20, 24, 33, 39, 42, 48, 57, 59, 60, 65, 73, 75, 77, 80, 83, 86, 92, 96], "metric": [57, 73], "middlewar": 1, "middleware_cl": 1, "might": 1, "mileston": 0, "millifi": 88, "millisecond": 83, "min_allowed_weight": [0, 10, 17, 19, 60, 70, 103], "min_burn": [10, 17], "min_difficulti": [10, 17], "min_required_stak": 92, "min_tick": 90, "minallowedweight": [0, 10, 60], "minburn": 10, "mindifficulti": 10, "mine": [0, 60], "miner": [0, 23, 57], "miners_dir": 58, "minimum": [0, 17, 26, 40, 60, 92, 103], "mismatch": 1, "miss": 0, "ml": 73, "mock": [0, 60, 65, 77, 89, 104], "mock_subpackag": 87, "mockchainst": 92, "mockmapresult": 92, "mocksubtensor": 92, "mocksubtensorst": 92, "mocksubtensorvalu": 92, "mocksystemst": 92, "modal": 19, "mode": [0, 60, 86], "model": [0, 57, 59, 73, 74], "model_config": [59, 73, 74], "model_dump_json": 73, "model_validate_json": 73, "modern": 1, "modif": 73, "modifi": [0, 21, 29, 44, 59, 60, 101], "modify_liquid": [0, 60, 64], "modify_liquidity_extrins": [29, 44], "modul": [7, 85], "module_nam": [0, 60, 92], "moment": 90, "monitor": 73, "monoton": 73, "more": [0, 31, 46, 57, 60, 88, 94, 96], "most": [0, 57, 60, 92], "mostli": 60, "move": [0, 17, 30, 45, 60], "move_stak": [0, 28, 43, 60, 64, 104], "move_stake_extrins": [30, 45], "movement": [0, 60], "moving_pric": [6, 10], "movingpric": 10, "msg": [0, 39, 42, 60, 86, 89], "much": [6, 57], "multi": 1, "multipl": [0, 1, 24, 57, 60, 94, 96], "multipli": 17, "multiprocess": 96, "munch": 23, "must": [0, 29, 32, 35, 39, 44, 47, 49, 51, 57, 59, 60, 86, 89, 93, 103], "mutat": 1, "mutual": [0, 60], "my_axon": 1, "my_config": 1, "my_liquidity_delta": [0, 60], "my_wallet": [0, 1, 60], "mycustomsynaps": 1, "mysynaps": [1, 73], "n": [57, 88, 89, 103], "n_block": 76, "nai": 14, "name": [0, 1, 3, 10, 21, 24, 25, 31, 46, 57, 59, 60, 73, 74, 75, 76, 77, 82, 83, 84, 86, 92, 101], "namedtupl": 86, "namespac": 23, "nanosecond": 79, "nanoseconds_in_second": 79, "nativ": 73, "natur": [0, 24, 57, 60], "ndarrai": [0, 27, 32, 39, 41, 47, 49, 57, 60, 74, 103], "nearest": 90, "necessari": [1, 24, 57, 73], "need": [0, 1, 21, 60, 73, 76], "neg": [0, 29, 44, 60], "nest": [10, 23], "netuid": [0, 1, 4, 6, 10, 11, 12, 16, 19, 20, 24, 26, 27, 29, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 57, 60, 77, 80, 90, 92, 94, 96, 103], "network": [0, 1, 2, 4, 6, 7, 11, 12, 20, 24, 25, 26, 27, 30, 31, 32, 33, 34, 38, 39, 40, 41, 42, 46, 47, 48, 50, 54, 55, 57, 58, 59, 60, 65, 73, 77, 89, 90, 92, 94, 96, 98, 103, 104], "network_explorer_map": 58, "network_map": [58, 89], "network_registered_at": [6, 10, 57], "networkregisteredat": 10, "networksad": 92, "neural": 57, "neurip": 57, "neuron": [0, 1, 2, 7, 11, 12, 24, 25, 26, 33, 34, 36, 39, 40, 42, 48, 49, 50, 52, 57, 60, 65, 73, 92, 103, 104], "neuron_for_uid": [0, 60, 67, 92], "neuron_for_uid_lit": 92, "neuron_incent": 57, "neuron_info": [0, 2, 7, 60, 104], "neuron_info_lit": [7, 104], "neuron_lit": 11, "neuron_rank": 57, "neuroninfo": [0, 11, 21, 57, 60, 92], "neuroninfolit": [0, 11, 12, 21, 57, 60, 92], "neurons_lit": [0, 60, 67, 92], "new": [0, 1, 10, 15, 21, 22, 23, 24, 31, 35, 46, 51, 57, 59, 60, 73, 74, 75, 77, 89, 92, 94, 96], "new_coldkei": 15, "newblockev": 96, "next": [0, 1, 60], "nich": 60, "nn": [2, 9, 24, 57], "no_error": 76, "node": [0, 1, 57, 60, 65, 73, 76, 92, 98], "nomin": [0, 4, 5, 25, 36, 52, 60], "nominationerror": 25, "non": [0, 1, 25, 26, 40, 73, 89], "nonassociatedcoldkei": [0, 25, 26, 40, 60], "nonc": [0, 1, 31, 46, 60, 73, 79, 94, 96, 97], "nonce_kei": [0, 60], "nonce_start": 97, "none": [0, 1, 6, 10, 11, 12, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 57, 59, 60, 65, 73, 74, 75, 76, 77, 79, 83, 84, 86, 89, 92, 94, 96, 97, 101, 103], "nontorchmetagraph": 57, "normal": 103, "normalize_max_weight": 103, "notdelegateerror": 25, "note": [29, 33, 44, 48, 60, 76, 92, 93], "notenoughstaketosetchildkei": [0, 25, 26, 40], "notic": 80, "notregisterederror": 25, "notverifiedexcept": 25, "now": [0, 1, 57, 60, 73], "np": [32, 39, 47, 49, 60, 74, 103], "null": [0, 11, 12, 60, 92], "null_entri": 75, "num": 88, "num_neuron": 103, "num_proc": 96, "num_process": [0, 31, 46, 60, 94, 96], "num_uid": [10, 57], "number": [0, 1, 2, 13, 15, 17, 21, 22, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 75, 76, 80, 88, 92, 94, 96, 97, 103], "numer": 1, "numpi": [0, 27, 41, 57, 60, 74, 96, 97, 103], "numpyortorch": 57, "numuid": 10, "o": 0, "obj": 73, "object": [0, 1, 2, 6, 8, 9, 10, 12, 16, 20, 21, 24, 30, 31, 32, 33, 34, 37, 38, 39, 46, 47, 48, 49, 50, 53, 54, 57, 59, 60, 65, 73, 74, 75, 77, 80, 86, 89, 92], "occur": [0, 1, 24, 60], "off": [24, 86, 89], "offer": [0, 1, 24, 60, 92], "offlin": [1, 57], "often": 57, "old": [0, 15, 60, 65, 92], "old_bal": 34, "old_coldkei": 15, "older": 87, "omit": 83, "on_error": 0, "onc": [0, 60], "one": [0, 1, 23, 24, 30, 33, 45, 48, 57, 60, 74, 75, 77, 83, 92], "ongo": 1, "onli": [0, 1, 24, 57, 59, 60, 65, 73, 74, 76, 86, 92], "open": 24, "opentensor": 58, "oper": [0, 1, 17, 24, 25, 26, 38, 40, 54, 57, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 72, 73, 80, 92, 96, 103], "optim": 73, "option": [0, 1, 10, 11, 12, 15, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 74, 75, 76, 77, 79, 80, 83, 86, 89, 92, 93, 96, 98, 101, 103], "order": [73, 77], "org": [0, 58], "origin": [1, 30, 60, 73, 83], "origin_coldkey_ss58": [0, 60], "origin_hotkei": [0, 30, 45, 60], "origin_hotkey_ss58": [0, 60], "origin_netuid": [0, 30, 45, 60], "origin_pric": [0, 60], "origin_subnet_pric": [0, 60], "other": [0, 1, 11, 23, 24, 57, 60, 65, 73, 75, 84, 92], "otherwis": [0, 24, 30, 31, 33, 38, 39, 42, 46, 48, 54, 60, 73, 75, 89, 92], "our": 75, "out": 1, "outcom": 73, "outlin": 57, "output": [1, 31, 46, 96], "output_in_plac": [0, 31, 46, 60, 94, 96], "over": [0, 4, 5, 24, 57, 73, 96], "overal": [0, 60], "overflow": 25, "overhead": 57, "overload": 73, "overrid": [1, 73, 77, 83, 89], "overridden": [73, 96], "overview": [0, 60, 92], "own": [0, 25, 26, 40, 57, 60, 73], "owner": [0, 4, 5, 38, 45, 54, 60], "owner_coldkei": [6, 10, 57], "owner_hotkei": [6, 10, 57], "owner_ss58": [4, 5, 19], "ownercoldkei": 10, "ownerhotkei": [0, 10, 60], "ownership": [0, 45, 60], "pack": 96, "packag": [73, 86, 98, 102], "page": 104, "pair": [0, 16, 45, 60, 73, 74, 77, 92], "pallet": 101, "paper": 57, "param": [0, 24, 60, 80, 87, 92, 101, 103], "param_nam": [0, 23, 60], "paramet": [0, 1, 2, 5, 6, 8, 9, 10, 11, 14, 15, 16, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 86, 87, 88, 89, 90, 92, 93, 94, 96, 97, 98, 101, 102, 103], "parameter_dict": [2, 9], "parameterdict": [2, 9], "params_dict": 0, "params_encod": 101, "params_list": 0, "paramwithtyp": [0, 60, 77], "parent": [0, 25, 26, 40, 59, 60], "parentkei": [0, 60], "pars": [1, 24, 25, 59, 73, 74, 76], "parse_headers_to_input": 73, "parser": [1, 23, 65, 75, 77, 86], "part": [0, 1, 6, 57, 60, 73], "parti": 86, "partial": [0, 30, 34, 38, 45, 50, 54, 60], "partial_meta_info": [0, 60], "particip": [0, 1, 34, 50, 57, 60, 92], "particular": [0, 4, 55, 60], "particularli": [0, 57, 60, 73], "pass": [0, 1, 24, 29, 32, 38, 39, 44, 47, 49, 54, 59, 60, 75, 76, 89, 92, 103], "password": [0, 26, 40, 60, 89], "passworderror": [0, 26, 40, 60, 89], "past": [0, 57], "path": [1, 57], "pattern": 0, "payload": [1, 73, 98], "peer": 57, "penalti": [0, 60], "pend": [0, 60, 75], "pending_alpha_emiss": [6, 10], "pending_root_emiss": [6, 10], "pendingalphaemiss": 10, "pendingchildkei": [0, 60], "pendingrootemiss": 10, "per": [0, 1, 4, 5, 17, 31, 46, 57, 60, 94, 96, 97], "perceiv": 60, "percentag": [0, 4, 5, 6, 34, 36, 38, 50, 52, 54, 60], "perform": [0, 1, 24, 57, 60, 73, 80, 86, 92], "period": [0, 17, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 92], "permit": [0, 11, 12, 25, 57, 60], "persist": 57, "person": 76, "pickl": [57, 76], "piec": 24, "ping": 24, "pipaddress": 58, "pipelin": 1, "pivot": [1, 57, 73], "place": [0, 1, 15, 24, 57, 60, 94, 96], "placehold": [33, 48, 84], "placeholder1": [2, 33, 48, 77, 92], "placeholder2": [2, 33, 48, 77, 92], "plai": [1, 57, 73], "plan": [0, 60, 92], "point": [0, 57, 60, 80, 92], "pool": [0, 1, 6, 10, 29, 44, 57, 60], "popul": [0, 11, 60, 92], "port": [1, 2, 13, 33, 48, 73, 77, 92, 93], "portal": [31, 46], "posit": [0, 1, 29, 44, 59, 60, 73, 74, 90], "position_id": [0, 29, 44, 60], "possibl": 77, "post": 24, "postprocess": 1, "postprocessexcept": 25, "potenti": [0, 1, 39, 42, 57, 60], "pow": [25, 31, 46, 80, 94, 95, 97, 104], "pow_registration_allow": 10, "power": 76, "powregistrationallow": 10, "powsolut": [94, 96], "practic": 57, "preced": 77, "precis": 90, "predefin": 1, "prefix": [1, 73, 75, 77, 86], "prepar": [0, 60, 86, 98], "prepare_synaps": 98, "prepare_synapse_fn": 98, "prepend": 77, "preprocess": [1, 24], "preprocess_synapse_for_request": 24, "presenc": [0, 1, 60], "present": [0, 10, 60, 73], "preserv": 73, "presum": [0, 60, 65, 92], "prevent": [0, 1, 24, 60, 96], "previou": [1, 55, 57], "previous": [0, 60], "price": [0, 6, 29, 30, 34, 38, 44, 45, 50, 54, 60, 90], "price_high": [0, 29, 44, 60, 90], "price_low": [0, 29, 44, 60, 90], "price_step": 90, "price_to_tick": 90, "primari": [31, 46, 73, 86], "primarili": 57, "principl": 57, "print": [0, 1, 23, 24, 60, 65, 73, 77, 94, 96], "prior": [34, 73], "priorit": 1, "prioriti": [1, 25, 75], "prioritize_my_synaps": 1, "prioritize_my_synapse_2": 1, "priority_custom": 1, "priority_fn": 1, "priorityexcept": 25, "prioritythreadpoolexecutor": [23, 75], "privat": 1, "privileg": [0, 60], "problem": [0, 96, 97], "proc_num": 96, "proce": 1, "process": [0, 1, 10, 17, 21, 24, 29, 31, 34, 35, 44, 46, 50, 51, 57, 59, 60, 73, 74, 76, 86, 92, 94, 96, 98, 102, 103], "process_error_messag": 24, "process_nest": 10, "process_respons": 98, "process_responses_fn": 98, "process_server_respons": 24, "process_stake_data": 21, "process_streaming_respons": 59, "process_tim": 73, "process_weight": 103, "process_weights_for_netuid": 103, "processing_dur": 73, "processor": 1, "produc": 73, "program": 1, "progress": [0, 60, 94, 96], "prohibit": 1, "project": [83, 85, 87], "prolifer": [0, 60], "prometheu": [11, 12, 13, 77], "prometheus_info": [7, 11, 12, 104], "prometheusinfo": [11, 12, 13], "prometheusinfodict": 92, "prometheusservecallparam": [77, 92], "promptli": 1, "proof": [0, 31, 46, 60, 94, 96, 97], "propag": 57, "proper": [24, 39, 42, 57, 73], "properli": [1, 24], "properti": [0, 2, 24, 57, 60, 65, 73, 75, 80], "proport": [0, 25, 26, 40, 57, 60], "proportionoverflow": [0, 25, 26, 40], "propos": [0, 14, 60], "proposal_dict": 14, "proposal_hash": [0, 60], "proposal_vote_data": [7, 104], "proposalvotedata": [0, 14, 60], "protect": [0, 30, 45, 57, 60], "protocol": [1, 2, 9, 33, 48, 73, 77, 92], "provid": [0, 1, 7, 11, 21, 24, 26, 27, 31, 39, 40, 41, 42, 46, 55, 57, 59, 60, 65, 73, 76, 77, 80, 84, 85, 86, 89, 90, 92, 94, 96, 97, 99, 101, 103], "provis": 90, "proxi": 96, "prune": [11, 12], "pruning_scor": [10, 11, 12, 20, 57], "pruningscor": 10, "public": [0, 1, 37, 53, 57, 60], "publish": [0, 33, 48, 60, 86, 92], "publish_metadata": [0, 33, 48, 60], "punit": [0, 60], "purpos": 0, "put": 96, "pydant": [59, 73, 74], "pydantic_cor": [59, 73, 74], "pypi": [58, 102], "python": [0, 76], "pytorch": [57, 103], "pyvalueerror": 76, "qualiti": 0, "quantil": 103, "queri": [0, 24, 25, 48, 57, 60, 65, 73, 92, 98, 104], "query_api": 98, "query_const": [0, 60, 68, 92], "query_ident": [0, 60, 67], "query_map": [0, 60, 68], "query_map_subtensor": [0, 60, 68, 92], "query_modul": [0, 60, 68], "query_respons": [0, 60, 92], "query_runtime_api": [0, 60, 68], "query_subtensor": [0, 60, 68, 92], "querymapresult": [21, 60], "queue": [1, 75, 86, 96], "queuehandl": 86, "queuelisten": 86, "quick": [0, 60, 73, 92], "quicker": 57, "quicknet": 76, "quot": 90, "r": 57, "rais": [0, 1, 2, 21, 23, 24, 25, 26, 33, 34, 36, 40, 48, 50, 52, 57, 59, 60, 73, 74, 75, 76, 89, 92, 93, 94, 96, 102], "raise_error": [0, 26, 36, 40, 52, 60, 89], "randomli": [0, 60], "rang": [0, 1, 29, 44, 60, 90, 93], "rank": [0, 1, 10, 11, 12, 20, 57, 60, 92], "rao": [0, 21, 60, 80, 92], "rao_symbol": 58, "rao_unit": 80, "raopertao": 89, "rate": [0, 11, 17, 25, 26, 40, 57, 60, 92], "rate_toler": [0, 30, 34, 38, 45, 50, 54, 60], "rather": [0, 24, 26, 40, 60, 73], "ratio": [0, 30, 38, 45, 54, 60], "raw": [73, 74, 101], "raw0": [33, 48], "re": [0, 60, 73], "reach": [0, 25, 60, 76], "read": 73, "read_onli": 58, "readabl": [1, 88, 89], "readi": [1, 59], "real": [0, 60, 92], "realli": 1, "realloc": [0, 60], "reap": [0, 60], "receiv": [0, 1, 6, 24, 57, 60, 73], "received_head": 73, "receiver_hotkei": 1, "recent": [0, 60, 87, 92], "recipi": [37, 53], "reclaim": 75, "recogn": 60, "recommend": [24, 73], "recomput": 1, "reconstitut": 57, "reconstruct": [1, 73], "record": [0, 29, 44, 57, 60, 83, 92], "record_log": 86, "recurs": 73, "recycl": [0, 31, 46, 60, 70], "redeploi": 1, "reduc": [0, 57, 60], "refer": [0, 57, 60, 92, 105], "reflect": [0, 57, 60], "refus": 0, "regardless": [37, 53], "regist": [0, 1, 4, 5, 25, 26, 31, 32, 40, 46, 47, 60, 64, 86, 92, 94, 96], "register_cuda": [95, 104], "register_extrins": [31, 46], "register_primary_logg": 86, "register_subnet": [0, 60, 64, 70], "register_subnet_extrins": [31, 46], "registr": [0, 1, 2, 4, 5, 9, 17, 24, 25, 27, 28, 41, 43, 57, 60, 74, 89, 103, 104], "registration_allow": [10, 17], "registrationallow": 10, "registrationerror": 25, "registrationnotpermittedonrootsubnet": [0, 25, 26, 40], "registrationstatist": 96, "registrationstatisticslogg": 96, "registri": 7, "reject": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 92], "relat": [0, 11, 13, 25, 31, 46, 60], "relationship": [0, 57, 60], "releas": [1, 24, 57], "relev": [0, 1, 2, 26, 40, 60], "reli": 1, "reliabl": [1, 57, 73], "relianc": 1, "reload": 57, "remain": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 92], "remov": [0, 1, 29, 38, 44, 54, 60, 86], "remove_liquid": [0, 60, 64], "remove_liquidity_extrins": [29, 44], "replac": 83, "replai": 1, "replic": 73, "repositori": [0, 31, 46, 60], "repr": 89, "repres": [0, 1, 2, 4, 6, 9, 11, 12, 13, 15, 16, 17, 22, 24, 33, 48, 55, 57, 60, 73, 74, 75, 80, 92], "represent": [0, 1, 2, 24, 33, 48, 57, 60, 73, 77, 80, 93, 101, 103], "reput": 57, "request": [0, 1, 24, 25, 26, 33, 40, 48, 60, 65, 73, 92, 102], "request_nam": 24, "requestresponseendpoint": 1, "requir": [0, 1, 25, 33, 39, 42, 48, 57, 59, 60, 73, 92], "required_hash_field": 73, "reserv": 2, "reset": [0, 17, 33, 48, 60, 92, 97], "reset_bond": [33, 48], "reset_cuda": 97, "resourc": [0, 1, 24, 57, 60, 75], "respect": 57, "respond": 1, "respons": [0, 1, 24, 25, 31, 32, 33, 34, 37, 46, 47, 48, 49, 50, 53, 57, 59, 65, 73, 98], "response_overrid": 1, "restart": 57, "restor": 57, "restrict": [0, 60], "result": [0, 1, 27, 41, 60, 73, 83, 89, 98, 101], "retri": [0, 60, 65, 92], "retriev": [0, 1, 55, 57, 59, 60, 92, 102], "retry_forev": [0, 60, 65, 92], "return": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 21, 22, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 65, 73, 74, 75, 76, 77, 79, 80, 83, 84, 86, 89, 90, 92, 93, 94, 96, 97, 98, 101, 102, 103], "return_per_1000": [4, 5], "return_str": 76, "reus": [0, 1, 24, 60], "reusablecoroutin": 92, "reuse_block": [0, 33, 60], "reveal": [0, 17, 21, 22, 27, 39, 41, 42, 60, 76], "reveal_round": [0, 22, 60, 76], "reveal_weight": [0, 60, 64], "reveal_weights_extrins": [39, 42], "revel": [0, 60, 76], "reverse_network_map": 58, "reward": [0, 36, 52, 57, 60], "rfc": 83, "rho": [10, 17, 19, 92], "robust": 73, "role": [0, 1, 57, 60, 73, 92], "root": [0, 25, 26, 28, 40, 43, 57, 60, 65, 71, 73, 84, 103, 104], "root_dir": 57, "root_regist": [0, 60, 64], "root_register_extrins": [32, 47], "root_set_pending_childkey_cooldown": [0, 60, 64], "root_set_pending_childkey_cooldown_extrins": [26, 40], "root_set_weight": [0, 60, 64], "root_tao_stake_weight": 58, "round": [0, 22, 60, 76], "round_numb": 22, "rounds_tot": 96, "rout": 73, "router": [1, 93], "row": [57, 103], "row_bond": 103, "row_weight": 103, "rpc": [0, 7, 60], "rule": [0, 1, 60, 92], "run": [0, 1, 60, 73, 75, 89, 92, 94, 96], "run_async": 24, "run_in_thread": 1, "runexcept": 25, "runtim": [0, 1, 57, 60], "runtime_api": [0, 60], "runtime_config": 101, "runtimeconfigurationobject": 101, "runtimeerror": 57, "s0": 83, "s39": 83, "safe": [0, 24, 60, 73, 75, 96], "safe_glob": 57, "safe_stak": [0, 30, 34, 38, 45, 50, 54, 60], "safeti": [0, 30, 34, 38, 45, 50, 54, 60], "salt": [0, 39, 42, 60, 103], "same": [0, 1, 23, 26, 40, 45, 60, 73, 76, 94, 96], "sanit": 73, "save": [57, 83, 102], "scalabl": [0, 1, 60], "scale": [0, 7, 21, 60], "scale_typ": 101, "scalebyt": [21, 101], "scalecodec": [0, 21, 60, 80, 101], "scaleobj": [0, 60, 92], "scaletyp": [80, 101], "scaling_law_pow": 19, "scenario": [1, 24], "schedul": [15, 75], "scheduled_coldkey_swap_info": [7, 104], "scheduledcoldkeyswapinfo": [15, 21], "schema": 73, "score": [11, 12, 57], "seal": [96, 97], "seamless": [1, 87], "seamlessli": 1, "search": 55, "second": [0, 6, 24, 26, 27, 31, 40, 41, 46, 60, 65, 76, 79, 98, 102], "secur": [0, 1, 57, 60, 73, 92], "see": [0, 23, 25, 60, 74, 75, 77, 80, 89, 92, 93, 102], "seen": [1, 73], "selectivemetagraphindex": [0, 10, 60], "self": [0, 1, 23, 24, 25, 59, 73, 74, 75, 77, 80, 89, 92, 93, 102], "senat": [0, 14, 60], "send": [24, 31, 46, 57, 59, 73], "sender": 1, "sensit": [0, 57, 60, 73, 92], "sent": [1, 24, 59, 73], "separ": [1, 73, 86], "sequenti": 24, "serial": [1, 22, 57, 73, 74], "serialized_commit": [0, 60], "serialized_data": 73, "serv": [0, 1, 2, 28, 43, 57, 60, 73, 77, 92, 104], "serve_axon": [0, 60, 64], "serve_axon_extrins": [33, 48], "serve_extrins": [33, 48], "server": [1, 24, 25, 31, 46, 59], "server_respons": 24, "servic": [1, 17, 33, 48], "serving_rate_limit": [10, 17], "servingratelimit": 10, "session": [24, 57], "set": [0, 1, 2, 23, 24, 25, 26, 31, 32, 33, 34, 36, 37, 38, 39, 40, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 60, 73, 76, 77, 80, 86, 87, 96, 103, 104], "set_children": [0, 60, 64], "set_children_extrins": [26, 40], "set_commit": [0, 60, 62], "set_config": 86, "set_consol": 86, "set_debug": 86, "set_default": 86, "set_delegate_tak": [0, 60, 63], "set_difficulti": 92, "set_info": 86, "set_name_typ": 73, "set_reveal_commit": [0, 60, 62], "set_root_weights_extrins": [32, 47], "set_subnet_ident": [0, 60, 64, 70], "set_subnet_identity_extrins": [31, 46], "set_trac": [83, 86], "set_unit": 80, "set_warn": 86, "set_weight": [0, 43, 60, 64, 104], "set_weights_extrins": [39, 49], "setlevel": 86, "setup": [0, 1, 60, 92], "setup_config": [65, 77], "sever": [1, 75, 99], "sgvsbg8gv29ybgq": 73, "sha256": [33, 48], "sha3": 73, "shape": [60, 74], "share": [0, 57, 80, 96], "should": [0, 1, 24, 31, 33, 46, 48, 57, 59, 60, 73, 74, 92, 94, 96], "should_exit": 1, "should_sync": 57, "shut": 1, "shutdown": [1, 75], "side": 1, "sign": [0, 1, 24, 29, 31, 35, 36, 44, 46, 51, 52, 57, 60], "sign_and_send_extrins": [0, 60, 65], "sign_with": [0, 60], "signal": [1, 24], "signatur": [1, 23, 25, 59, 73, 74, 75, 77, 80, 89, 92, 93, 102], "signifi": 57, "signific": [0, 60], "silent": 24, "similar": [0, 24, 57, 60, 65, 92], "simpl": [73, 101], "simpli": 73, "simplifi": [0, 57, 60, 92], "simul": [0, 60, 92], "sinc": [0, 60], "singl": [0, 24, 60, 101], "size": [57, 73], "skip": 84, "slippag": 6, "snapshot": [0, 57, 60, 92], "so": [73, 103], "softwar": 57, "solut": [25, 94, 96, 97], "solution_queu": 96, "solv": [0, 31, 46, 60, 94, 96, 97], "solve_cuda": 97, "solver": [25, 96], "some": [0, 17, 60, 65], "some_hotkei": 60, "some_hotkey_where_is_your_stake_now": [0, 60], "someconst": 0, "someth": 1, "sort": 1, "sourc": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 30, 31, 32, 33, 34, 37, 38, 39, 41, 42, 45, 46, 47, 48, 49, 50, 53, 54, 55, 57, 59, 60, 73, 74, 75, 77, 79, 80, 81, 83, 84, 86, 87, 88, 89, 92, 93, 94, 96, 97, 98, 99, 101, 102, 103], "spam": 1, "special": [1, 57, 59, 83], "specif": [0, 1, 4, 39, 42, 57, 59, 60, 65, 73, 75, 76, 86, 87, 92, 98], "specifi": [0, 1, 21, 24, 29, 33, 34, 38, 44, 48, 50, 54, 55, 57, 60, 73, 83, 86, 89, 92, 101], "specul": 57, "sphinx": 104, "ss58": [0, 4, 16, 21, 22, 26, 30, 34, 36, 38, 40, 45, 50, 52, 54, 55, 60, 89, 92], "ss58_address": [0, 37, 53, 60, 89, 92, 103], "ss58_address_length": 58, "ss58_address_to_byt": 89, "ss58_decod": 89, "ss58_format": 58, "ss58_to_vec_u8": 89, "stabil": [0, 57, 60], "stabl": 1, "stacklevel": 86, "stage": 1, "stake": [0, 4, 6, 11, 12, 16, 21, 25, 26, 28, 29, 30, 37, 38, 40, 43, 44, 45, 53, 54, 55, 57, 60, 65, 92, 104], "stake_data": 21, "stake_dict": [11, 12], "stake_info": [7, 104], "stakeerror": 25, "stakeinfo": [0, 16, 21, 55, 60], "staker": 6, "stale": [0, 96], "standard": [0, 57, 60, 73, 77, 85], "starlett": [1, 59], "start": [0, 1, 17, 35, 51, 60, 73, 86, 96, 97], "start_cal": [0, 28, 43, 60, 64, 65, 104], "start_call_extrins": [35, 51], "start_tim": 1, "stat": 96, "state": [0, 1, 6, 20, 24, 57, 60, 61, 73, 83, 86, 92, 101], "state_cal": [0, 60, 61], "state_dict": 57, "statemachin": 86, "static": [10, 11, 12, 57, 74, 77, 80, 92, 96], "statist": 96, "statu": [0, 1, 11, 24, 36, 52, 57, 60, 73, 86, 89, 92, 96], "status_cod": [1, 73], "status_messag": 73, "stdout": [1, 77], "step": [0, 1, 60], "stop": [1, 86, 96], "stopev": 96, "storag": [0, 60, 92, 99, 100, 104], "storage_funct": 101, "storagefunctionnotfound": 25, "storagekei": 101, "store": [57, 73, 80, 92, 96, 101], "str": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 58, 60, 65, 73, 74, 75, 76, 77, 80, 81, 83, 84, 86, 89, 90, 92, 93, 96, 97, 101, 102, 103], "str_val": 93, "strateg": [0, 60], "stream": [24, 56, 86, 104], "stream_respons": 59, "streamer": 59, "streamingrespons": 59, "streamingsynaps": [1, 24, 59], "streamlin": [0, 60, 92], "strict": [23, 89], "string": [0, 2, 9, 12, 21, 22, 24, 39, 42, 57, 60, 73, 74, 76, 77, 80, 83, 89, 92, 93, 101], "stronger": 57, "strtobool": 89, "struct": 76, "structur": [0, 2, 7, 10, 21, 57, 59, 60, 73, 92], "style": 83, "sub": [58, 85, 96], "subclass": [59, 73], "submiss": [0, 29, 35, 44, 51, 60], "submit": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 75, 92], "subnet": [0, 1, 2, 4, 5, 7, 9, 17, 18, 19, 24, 25, 29, 30, 31, 32, 34, 35, 38, 39, 42, 44, 45, 46, 47, 49, 50, 51, 54, 60, 65, 80, 89, 90, 92, 94, 96, 103, 104], "subnet_contact": [18, 31, 46], "subnet_emiss": 10, "subnet_exist": [0, 60, 70], "subnet_hyperparamet": [7, 104], "subnet_ident": [0, 6, 7, 10, 60, 104], "subnet_info": [7, 104], "subnet_is_act": 17, "subnet_nam": [6, 18, 31, 46], "subnet_st": [7, 104], "subnet_url": [18, 31, 46], "subnet_volum": [6, 10], "subnetemiss": 10, "subnethyperparamet": [0, 17, 21, 60], "subnetident": [0, 6, 10, 18, 21, 57, 60], "subnetinfo": [0, 19, 21, 60], "subnetrevealperiodepoch": [0, 60], "subnetsapi": 98, "subnetst": [20, 21], "subnetvolum": 10, "subnetwork": [0, 20, 31, 46, 60, 92], "subnetwork_n": [0, 19, 60, 70], "subnetworkdoesnotexist": [0, 25, 26, 40], "subnetworkn": [0, 60], "subscrib": [0, 25, 33, 48, 60], "subsequ": [1, 23, 24], "subset": [0, 60], "substrat": [0, 60, 65, 99, 101], "substrate_util": [89, 104], "substraterequestexcept": [0, 25, 34, 50, 60, 89], "subtensor": [0, 1, 23, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 77, 87, 89, 92, 94, 96, 103, 104], "subtensor_api": [56, 104], "subtensor_field": 71, "subtensor_mock": [91, 104], "subtensorapi": [65, 71], "subtensorinterfac": [34, 50], "subtensormixin": [0, 60, 77], "subtensormodul": [0, 60, 92], "subvortex": 58, "subvortex_entrypoint": 58, "succeed": [0, 38, 54, 60, 73], "success": [0, 1, 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 60, 73, 81, 86, 89, 92], "success_level_num": 83, "successfulli": [0, 29, 33, 35, 44, 48, 51, 60], "sudo_force_set_bal": 92, "suffici": [0, 60, 92], "suffix": [86, 88], "suggest": 57, "suitabl": 73, "sum": [0, 26, 40, 57, 73, 103], "superclass": 73, "suppli": 57, "support": [0, 1, 23, 60, 80], "supress": 89, "sure": 76, "swap": [0, 15, 30, 45, 60], "swap_stak": [0, 60, 64], "swap_stake_extrins": [30, 45], "sy": 89, "symbol": [6, 10, 57, 80], "synaps": [1, 24, 25, 56, 59, 79, 87, 98, 104], "synapse_dict": 73, "synapse_histori": 24, "synapse_nonc": 79, "synapse_timeout": 79, "synapse_to_respons": 1, "synapsedendritenoneexcept": 25, "synapseexcept": 25, "synapseparsingerror": 25, "sync": [0, 39, 41, 42, 49, 57, 65], "sync_substr": [21, 60], "synchron": [0, 24, 57, 60, 92, 96], "system": [0, 24, 57, 60, 84, 86, 87, 92, 96], "t": [0, 1, 8, 23, 25, 26, 40, 57, 60, 86, 89], "tailor": [1, 73], "take": [0, 1, 4, 5, 15, 25, 28, 43, 59, 60, 92, 104], "takeerror": 25, "taken": 73, "tamper": [0, 1, 60, 73], "tao": [0, 4, 5, 6, 10, 29, 31, 34, 38, 44, 46, 50, 54, 57, 60, 80, 90, 92], "tao_dividends_per_hotkei": [10, 57], "tao_fees_above_high": 90, "tao_fees_below_low": 90, "tao_in": [6, 10], "tao_in_emiss": [6, 10], "tao_slippag": 6, "tao_stak": [10, 20, 57], "tao_symbol": 58, "tao_to_alpha": 6, "tao_to_alpha_with_slippag": 6, "taodividendsperhotkei": 10, "taoin": 10, "taoinemiss": 10, "taostak": 10, "target": [0, 17, 24, 29, 35, 44, 51, 60], "target_axon": 24, "target_axon_info": 24, "target_regs_per_interv": [10, 17], "targetregsperinterv": 10, "task": [0, 1, 60, 73], "tcp": 9, "technic": [0, 60], "techniqu": 1, "technologi": [0, 60, 92], "templat": 83, "tempo": [0, 6, 10, 17, 19, 57, 60, 70], "temporarili": 1, "tensor": [2, 9, 56, 57, 73, 103, 104], "tensor_": 74, "term": [0, 60], "termin": [1, 73, 81], "terminal_info": 73, "terminalinfo": 73, "terminate_workers_and_wait_for_exit": 96, "test": [0, 57, 58, 60, 65, 77, 81, 89, 92], "text": [1, 83, 96], "textual": [31, 46], "th": 57, "than": [0, 1, 24, 26, 40, 60, 103], "thei": [0, 1, 6, 57, 60, 73, 103], "them": [0, 1, 24, 59, 60, 73], "themselv": [0, 60], "therebi": [0, 1, 60], "thereof": 93, "thi": [0, 1, 2, 4, 5, 6, 7, 10, 11, 12, 17, 20, 21, 23, 24, 25, 27, 31, 33, 37, 39, 41, 42, 46, 48, 53, 55, 57, 59, 60, 65, 73, 75, 76, 77, 80, 83, 84, 85, 86, 87, 90, 92, 94, 96, 97, 98, 101, 103, 104, 105], "thin": [0, 60], "think": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 73, 92], "third": 86, "those": [23, 24], "thread": [0, 1, 31, 46, 60, 75, 94, 96, 97], "thread_name_prefix": 75, "thread_pool": 1, "threadpool": [1, 56, 104], "threadpoolexecutor": 75, "threshold": [0, 14, 17, 60, 92, 103], "through": [1, 24, 55, 60, 84, 92], "throughout": 85, "tick": [0, 29, 44, 60, 90], "tick_index": 90, "tick_to_pric": 90, "time": [0, 1, 57, 60, 65, 73, 75, 76, 79, 83, 92, 96], "time_averag": 96, "time_sp": 96, "time_spent_tot": 96, "timelock": [56, 104], "timeout": [0, 1, 24, 31, 32, 33, 34, 37, 38, 39, 46, 47, 48, 49, 50, 53, 54, 60, 73, 79, 98, 102], "timestamp": [0, 1, 11, 12, 57, 60], "tl": [0, 33, 48, 60], "tle": 76, "tmp": 57, "to_dict": 23, "to_head": 73, "to_hex": 101, "to_parameter_dict": [2, 9], "to_str": [1, 2], "to_token_amount": 90, "todo": 57, "toggl": [0, 29, 44, 60], "toggle_user_liquid": [0, 60, 64], "toggle_user_liquidity_extrins": [29, 44], "token": [0, 38, 54, 57, 59, 60, 90, 92], "token_stream": 59, "toler": [0, 30, 34, 38, 45, 50, 54, 60], "tolist": 74, "too": [0, 25, 26, 40, 60, 65, 92], "tool": [0, 60, 73, 92], "toomanychildren": [0, 25, 26, 40], "toon_kei": 0, "top": 101, "topologi": [0, 1], "torch": [0, 2, 9, 24, 27, 39, 41, 49, 57, 60, 74, 89, 96, 103], "torchmetagraph": 57, "total": [0, 4, 5, 11, 12, 57, 60, 73, 96], "total_bit": 80, "total_daily_return": [4, 5], "total_s": 73, "total_stak": [4, 10, 11, 12, 20, 57], "totalstak": 10, "toward": [57, 60], "tpb": [0, 31, 46, 60, 94, 96, 97], "trace": [1, 83, 86, 87], "trace_level_num": 83, "trace_log_format": 82, "track": [0, 57, 60, 73], "transact": [0, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 73, 92], "transactor": [0, 25, 60], "transfer": [0, 17, 25, 28, 30, 43, 45, 60, 64, 92, 104], "transfer_al": [0, 37, 53, 60], "transfer_bal": 92, "transfer_extrins": [37, 53], "transfer_stak": [0, 60, 64], "transfer_stake_extrins": [30, 45], "transfererror": 25, "transfers_en": 17, "transform": [10, 73], "transit": [1, 86], "transmiss": [1, 73], "transmit": [24, 73], "transpar": [0, 60, 73], "transport": 73, "travers": 73, "tree": 101, "trigger": [0, 1, 33, 35, 48, 51, 60], "true": [0, 1, 2, 6, 24, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 71, 73, 75, 76, 77, 83, 86, 87, 89, 92, 94, 96], "trust": [0, 1, 10, 11, 12, 20, 57, 60], "trustworthi": [0, 1, 57, 60, 92], "truth": 89, "try": [25, 96], "tupl": [0, 1, 6, 10, 11, 21, 22, 24, 26, 27, 29, 31, 33, 35, 36, 38, 39, 40, 41, 42, 44, 46, 48, 51, 52, 54, 57, 60, 73, 75, 76, 77, 79, 86, 89, 90, 92, 97, 103], "tv": 57, "two": [74, 77, 80, 92], "two_x64_concat": 99, "tx_rate_limit": [0, 60, 61, 65], "txratelimitexceed": [0, 25, 26, 40], "type": [0, 1, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 73, 74, 75, 76, 79, 80, 83, 84, 86, 87, 89, 90, 92, 93, 94, 96, 97, 98, 101, 102, 103, 104], "type_nam": 21, "type_registri": 58, "type_str": 21, "typeddict": [77, 80, 92], "typeerror": [2, 21, 76], "typic": [0, 1, 57, 59, 60, 73], "u": 92, "u128": 80, "u16_max": [89, 103], "u16_normalized_float": 89, "u32": 103, "u32_max": 103, "u64": [0, 89], "u64_max": 89, "u64_normalized_float": 89, "u64f64": 80, "udp": 9, "uid": [0, 11, 12, 27, 29, 30, 33, 35, 38, 39, 41, 42, 44, 45, 48, 49, 51, 54, 57, 60, 80, 92, 103], "uint64": [0, 26, 39, 40, 49, 103], "unabl": [0, 25], "unauthor": [1, 73], "unchang": 93, "under": 0, "underli": [0, 1, 24, 57, 60, 86], "understand": [0, 57, 60, 92], "undesir": 1, "unifi": 24, "union": [0, 2, 6, 9, 10, 21, 24, 27, 31, 32, 33, 39, 41, 45, 46, 47, 48, 49, 57, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 72, 74, 76, 80, 89, 92, 94, 96, 97, 98, 103], "uniqu": [0, 1, 11, 12, 24, 31, 34, 38, 39, 42, 46, 50, 54, 55, 57, 60, 73, 92, 93, 103], "uniswap": 90, "unit": [0, 1, 57, 60, 80, 92], "unknownsynapseerror": 25, "unless": 24, "unlock": [0, 29, 35, 44, 51, 60, 89], "unlock_kei": 89, "unlock_typ": 89, "unlockstatu": 89, "unmet": 1, "unpickl": 57, "unpicklingerror": 57, "unsaf": [0, 60], "unstak": [0, 6, 25, 28, 34, 43, 50, 60, 64, 69, 104], "unstake_al": [0, 38, 54, 60, 64, 69], "unstake_all_extrins": [38, 54], "unstake_extrins": [38, 54], "unstake_multipl": [0, 60, 64, 69], "unstake_multiple_extrins": [38, 54], "unstakeerror": 25, "unsuccess": [0, 26, 40, 60, 89], "until": [0, 60, 75], "up": [0, 1, 24, 57, 60, 75, 77, 86, 87, 102], "updat": [0, 1, 11, 12, 24, 25, 31, 46, 57, 59, 60, 92, 96, 97], "update_curr_block": 96, "update_interv": [0, 31, 46, 60, 94, 96, 97], "upon": [0, 24, 57, 60], "upper": [0, 29, 44, 60, 97], "urgenc": 1, "url": [0, 1, 3, 24, 25, 31, 46, 60, 77, 89, 93], "urllib": 93, "us": [0, 1, 2, 6, 17, 21, 24, 27, 29, 31, 33, 34, 35, 37, 38, 39, 41, 42, 44, 46, 48, 50, 51, 53, 54, 57, 59, 60, 65, 73, 74, 75, 76, 77, 80, 83, 89, 92, 94, 96, 97, 98, 99, 101, 102, 103], "usag": [0, 1, 24, 60, 73, 76], "use_nonc": [0, 60], "use_torch": [2, 89, 96], "user": [0, 1, 17, 24, 29, 39, 42, 44, 57, 60, 73, 87, 103], "user_bittensor_dir": 58, "user_liquidity_en": 17, "using_new_loop": 24, "usingspawnstartmethod": 96, "usual": 25, "utf": [73, 89], "util": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 16, 19, 20, 24, 27, 29, 33, 34, 37, 38, 41, 43, 44, 48, 50, 53, 54, 57, 60, 65, 74, 77, 78, 104], "uuid": [1, 24, 73], "uvicorn": 1, "v": [74, 77, 92], "v10": 0, "v2": 0, "v3": 90, "v_7_2_0": 1, "val": [89, 92], "valid": [0, 1, 4, 5, 10, 11, 12, 17, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 74, 83, 89, 92, 96, 103], "validate_chain_endpoint": 89, "validationerror": [59, 73, 74], "validator_permit": [4, 5, 10, 11, 12, 20, 57], "validator_trust": [11, 12, 57], "validatorbatchs": 92, "validatorpermit": 10, "valu": [0, 1, 2, 10, 11, 12, 17, 21, 23, 26, 32, 39, 40, 42, 47, 49, 57, 60, 73, 74, 77, 79, 89, 90, 92, 96, 101, 103], "valuabl": [0, 57, 60, 73, 92], "value_scale_typ": 101, "valueerror": [0, 2, 89, 94, 96], "variabl": [0, 1, 2, 4, 9, 11, 12, 13, 15, 16, 17, 22, 57, 59, 73, 80], "variou": [0, 1, 57, 60], "vec_u8": 15, "vector": [0, 21], "verbos": [0, 60, 65, 92, 94, 96], "verif": [1, 73], "verifi": [0, 1, 25, 60, 73, 92], "verify_body_integr": 1, "verify_custom": 1, "verify_fn": 1, "verify_my_synaps": 1, "verify_my_synapse_2": 1, "versatil": [0, 60], "version": [0, 2, 5, 11, 13, 17, 27, 32, 39, 41, 42, 47, 49, 57, 60, 65, 73, 77, 83, 87, 89, 92, 93, 103, 104], "version_as_int": [0, 27, 41, 58, 60], "version_check": [89, 102], "version_check_threshold": 102, "version_kei": [0, 27, 32, 39, 41, 42, 47, 49, 60, 92, 103], "version_split": 58, "versioncheckerror": [89, 102], "via": [1, 60, 74, 77, 92], "viabil": [0, 60], "view": [0, 60, 92], "vital": [1, 57, 73], "vote": [0, 60], "w": [57, 58, 93], "w_": 57, "wa": [0, 1, 6, 23, 30, 31, 32, 33, 34, 37, 45, 46, 47, 48, 49, 50, 53, 57, 60, 73, 92], "wai": [0, 24, 60, 73, 77, 80], "wait": [0, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 65, 75, 76], "wait_for_block": [0, 60, 65], "wait_for_fin": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 92], "wait_for_inclus": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 92], "wait_reveal_and_decrypt": 76, "wallet": [0, 1, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 60, 65, 73, 80, 87, 89, 92, 94, 96, 98, 103, 104], "wallet_stak": [0, 60], "wallets_dir": 58, "want": [0, 57, 83], "warn": [81, 86, 87], "we": [31, 32, 33, 34, 37, 46, 47, 48, 49, 50, 53, 92, 93], "web": [31, 46], "websocket": [60, 77, 89, 93], "websocket_shutdown_tim": [0, 65], "weight": [0, 11, 12, 17, 22, 27, 28, 32, 41, 42, 47, 49, 57, 60, 70, 103, 104], "weight_commit_info": [7, 104], "weight_uid": 103, "weight_util": [89, 104], "weight_val": 103, "weightcommitinfo": 22, "weights_as_dict": 11, "weights_rate_limit": [0, 10, 17, 60, 70], "weights_vers": [10, 17], "weightsratelimit": 10, "weightssetratelimit": [0, 60], "weightsvers": 10, "well": [57, 80], "were": [0, 60], "when": [0, 1, 2, 23, 24, 25, 29, 30, 38, 39, 42, 44, 45, 54, 57, 60, 73, 75, 76, 86, 94, 96], "where": [0, 1, 6, 11, 21, 24, 26, 27, 31, 40, 41, 46, 57, 60, 65, 80, 92], "whether": [0, 1, 12, 21, 24, 27, 29, 31, 35, 37, 41, 44, 46, 51, 53, 57, 60, 65, 92, 98], "which": [0, 1, 5, 15, 17, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 73, 77, 92], "while": [0, 1, 45, 57, 60, 80, 90, 96], "who": [0, 60, 73], "whole": 2, "whose": [0, 60], "wide": [0, 57, 60], "window": 79, "withdraw": [0, 60], "withdrawn": [0, 60], "within": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 92, 96, 98], "without": [0, 1, 12, 24, 38, 54, 60, 73, 81, 92], "work": [0, 7, 24, 31, 39, 46, 60, 94, 96, 97], "worker": [1, 75, 96], "world": 73, "would": [0, 6, 30, 45, 60, 73], "wrap": 86, "wrapper": [39, 42, 73], "writabl": 89, "wrong": [0, 26, 40, 60, 76], "wss": [58, 65, 93], "x": [76, 89, 103], "x_person": 76, "x_person_2": 76, "xxh128": 99, "xxh64": 99, "y": [82, 89, 103], "ye": 89, "yet": 0, "yield": [1, 24, 84], "you": [0, 1, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 76, 83, 92], "your": [0, 1, 24, 57, 60, 65, 73, 76, 83, 92, 93], "yoursynaps": 1, "yuma": [0, 17, 57], "yuma_vers": 17, "zero": [0, 55, 60]}, "titles": ["bittensor.core.async_subtensor", "bittensor.core.axon", "bittensor.core.chain_data.axon_info", "bittensor.core.chain_data.chain_identity", "bittensor.core.chain_data.delegate_info", "bittensor.core.chain_data.delegate_info_lite", "bittensor.core.chain_data.dynamic_info", "bittensor.core.chain_data", "bittensor.core.chain_data.info_base", "bittensor.core.chain_data.ip_info", "bittensor.core.chain_data.metagraph_info", "bittensor.core.chain_data.neuron_info", "bittensor.core.chain_data.neuron_info_lite", "bittensor.core.chain_data.prometheus_info", "bittensor.core.chain_data.proposal_vote_data", "bittensor.core.chain_data.scheduled_coldkey_swap_info", "bittensor.core.chain_data.stake_info", "bittensor.core.chain_data.subnet_hyperparameters", "bittensor.core.chain_data.subnet_identity", "bittensor.core.chain_data.subnet_info", "bittensor.core.chain_data.subnet_state", "bittensor.core.chain_data.utils", "bittensor.core.chain_data.weight_commit_info", "bittensor.core.config", "bittensor.core.dendrite", "bittensor.core.errors", "bittensor.core.extrinsics.asyncex.children", "bittensor.core.extrinsics.asyncex.commit_reveal", "bittensor.core.extrinsics.asyncex", "bittensor.core.extrinsics.asyncex.liquidity", "bittensor.core.extrinsics.asyncex.move_stake", "bittensor.core.extrinsics.asyncex.registration", "bittensor.core.extrinsics.asyncex.root", "bittensor.core.extrinsics.asyncex.serving", "bittensor.core.extrinsics.asyncex.staking", "bittensor.core.extrinsics.asyncex.start_call", "bittensor.core.extrinsics.asyncex.take", "bittensor.core.extrinsics.asyncex.transfer", "bittensor.core.extrinsics.asyncex.unstaking", "bittensor.core.extrinsics.asyncex.weights", "bittensor.core.extrinsics.children", "bittensor.core.extrinsics.commit_reveal", "bittensor.core.extrinsics.commit_weights", "bittensor.core.extrinsics", "bittensor.core.extrinsics.liquidity", "bittensor.core.extrinsics.move_stake", "bittensor.core.extrinsics.registration", "bittensor.core.extrinsics.root", "bittensor.core.extrinsics.serving", "bittensor.core.extrinsics.set_weights", "bittensor.core.extrinsics.staking", "bittensor.core.extrinsics.start_call", "bittensor.core.extrinsics.take", "bittensor.core.extrinsics.transfer", "bittensor.core.extrinsics.unstaking", "bittensor.core.extrinsics.utils", "bittensor.core", "bittensor.core.metagraph", "bittensor.core.settings", "bittensor.core.stream", "bittensor.core.subtensor", "bittensor.core.subtensor_api.chain", "bittensor.core.subtensor_api.commitments", "bittensor.core.subtensor_api.delegates", "bittensor.core.subtensor_api.extrinsics", "bittensor.core.subtensor_api", "bittensor.core.subtensor_api.metagraphs", "bittensor.core.subtensor_api.neurons", "bittensor.core.subtensor_api.queries", "bittensor.core.subtensor_api.staking", "bittensor.core.subtensor_api.subnets", "bittensor.core.subtensor_api.utils", "bittensor.core.subtensor_api.wallets", "bittensor.core.synapse", "bittensor.core.tensor", "bittensor.core.threadpool", "bittensor.core.timelock", "bittensor.core.types", "bittensor", "bittensor.utils.axon_utils", "bittensor.utils.balance", "bittensor.utils.btlogging.console", "bittensor.utils.btlogging.defines", "bittensor.utils.btlogging.format", "bittensor.utils.btlogging.helpers", "bittensor.utils.btlogging", "bittensor.utils.btlogging.loggingmachine", "bittensor.utils.easy_imports", "bittensor.utils.formatting", "bittensor.utils", "bittensor.utils.liquidity", "bittensor.utils.mock", "bittensor.utils.mock.subtensor_mock", "bittensor.utils.networking", "bittensor.utils.registration.async_pow", "bittensor.utils.registration", "bittensor.utils.registration.pow", "bittensor.utils.registration.register_cuda", "bittensor.utils.subnets", "bittensor.utils.substrate_utils.hasher", "bittensor.utils.substrate_utils", "bittensor.utils.substrate_utils.storage", "bittensor.utils.version", "bittensor.utils.weight_utils", "API Reference", "Bittensor SDK Documentation"], "titleterms": {"api": 104, "async_pow": 94, "async_subtensor": 0, "asyncex": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "attribut": [1, 8, 23, 24, 25, 57, 58, 74, 75, 79, 82, 83, 85, 86, 87, 89, 90, 92, 96, 102, 103], "axon": 1, "axon_info": 2, "axon_util": 79, "balanc": 80, "bittensor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105], "btlog": [81, 82, 83, 84, 85, 86], "chain": 61, "chain_data": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "chain_ident": 3, "children": [26, 40], "class": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 77, 80, 81, 83, 86, 89, 90, 92, 96, 98, 101], "commit": 62, "commit_rev": [27, 41], "commit_weight": 42, "config": 23, "consol": 81, "content": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 94, 96, 97, 98, 99, 101, 102, 103, 105], "core": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "defin": 82, "deleg": 63, "delegate_info": 4, "delegate_info_lit": 5, "dendrit": 24, "document": 105, "dynamic_info": 6, "easy_import": 87, "error": 25, "exampl": [0, 23, 24, 57, 60, 65, 77, 81], "except": [23, 25, 75, 93, 102], "extrins": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 64], "format": [83, 88], "function": [0, 1, 10, 21, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 71, 73, 74, 76, 79, 80, 84, 87, 88, 89, 90, 93, 94, 96, 97, 99, 102, 103], "hasher": 99, "helper": 84, "info_bas": 8, "ip_info": 9, "liquid": [29, 44, 90], "loggingmachin": 86, "metagraph": [57, 66], "metagraph_info": 10, "mock": [91, 92], "modul": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 86, 87, 88, 90, 92, 93, 94, 96, 97, 98, 99, 101, 102, 103], "move_stak": [30, 45], "network": 93, "neuron": 67, "neuron_info": 11, "neuron_info_lit": 12, "note": 0, "packag": [65, 85, 89], "pow": 96, "prometheus_info": 13, "proposal_vote_data": 14, "queri": 68, "refer": 104, "register_cuda": 97, "registr": [31, 46, 94, 95, 96, 97], "root": [32, 47], "scheduled_coldkey_swap_info": 15, "sdk": 105, "serv": [33, 48], "set": 58, "set_weight": 49, "stake": [34, 50, 69], "stake_info": 16, "start_cal": [35, 51], "storag": 101, "stream": 59, "submodul": [7, 28, 43, 56, 65, 78, 85, 89, 91, 95, 100], "subnet": [70, 98], "subnet_hyperparamet": 17, "subnet_ident": 18, "subnet_info": 19, "subnet_st": 20, "substrate_util": [99, 100, 101], "subtensor": 60, "subtensor_api": [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72], "subtensor_mock": 92, "synaps": 73, "tabl": 105, "take": [36, 52], "tensor": 74, "threadpool": 75, "timelock": 76, "transfer": [37, 53], "type": 77, "unstak": [38, 54], "util": [21, 55, 71, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103], "version": 102, "wallet": 72, "weight": 39, "weight_commit_info": 22, "weight_util": 103}}) \ No newline at end of file From b68b8b31ba4233882eec8493d87a12803f134c3b Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 15 Jul 2025 23:43:44 +0100 Subject: [PATCH 155/303] wallet creation updates --- docs/working-with-keys.md | 89 +++++++++++++++++++++++++++++++++------ 1 file changed, 75 insertions(+), 14 deletions(-) diff --git a/docs/working-with-keys.md b/docs/working-with-keys.md index 9a18e1048b..927be555f1 100644 --- a/docs/working-with-keys.md +++ b/docs/working-with-keys.md @@ -4,6 +4,8 @@ title: "Creating/Importing a Bittensor Wallet" import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; # Creating/Importing a Bittensor Wallet @@ -23,11 +25,49 @@ The most critical operational goal when handling Bittensor wallets is to avoid l ## Creating a wallet with `btcli` -### Creating a coldkey-only wallet + + +If you plan to validate or mine in a subnet, you must have both a coldkey and a hotkey. If you already have a coldkey, you can [create a new hotkey](?create-wallet=hotkey) for it. -Users that will not mine, validate, manage subnets or participate in governance do not need a hotkey, and for simplicity's sake should use coldkey-only wallets. +To create a new coldkey and hotkey, run the following command in the terminal: -Run the following command to create a coldkey-only wallet. +```bash +btcli wallet create --wallet.name --wallet.hotkey +``` + +:::info +Use the below command to generate the hotkey. Replace `` with the name of the coldkey generated above, and `` with a name for your hotkey. + +For example, + +```bash +btcli wallet create --wallet.name test-coldkey --wallet.hotkey test-hotkey +``` + +::: + +Next, you'll be prompted to configure the wallet by setting a password for the coldkey, and choosing the desired mnemonic length. Completing the prompts creates a complete Bittensor wallet by setting up both coldkey and hotkeys. A unique mnemonic is generated for each key and output to the terminal upon creation. + +:::tip Regenerating the wallet keys +Take note of the mnemonics in the response as they are required to regenerate your coldkey and hotkey. To regenerate your coldkey, run the following command in the terminal: + +```sh +btcli wallet regen_coldkey --mnemonic "word1 word2 ... word12" +``` + +Similarly, run the following command in the terminal to regenerate your hotkey: + +```sh +btcli wallet regen_hotkey --mnemonic "word1 word2 ... word12" +``` + +::: + + + +If a user does not intend to mine, validate, manage subnets, or participate in governance, a hotkey is not required. In such cases, a coldkey-only wallet is recommended for simplicity. + +Run the following command to create a coldkey-only wallet: ```bash btcli wallet new_coldkey --wallet.name @@ -44,48 +84,69 @@ You will see the terminal output like the following, which includes your all-imp ```text IMPORTANT: Store this mnemonic in a secure (preferable offline place), as anyone who has possession of this mnemonic can use it to regenerate the key and access your tokens. -The mnemonic to the new coldkey is: paddle disagree swamp hill innocent enemy name shrug produce steak pupil joke -You can use the mnemonic to recreate the key with `btcli` in case it gets lost. +The mnemonic to the new hotkey is: **** *** **** **** ***** **** *** **** **** **** ***** ***** +You can use the mnemonic to recreate the key in case it gets lost. ``` -### Creating a hotkey +:::tip Regenerating the coldkey +Take note of the mnemonic in the response as it is required to regenerate your coldkey. To regenerate your coldkey, run the following command in the terminal: -If you plan to validate or mine in a subnet, you must create both a coldkey and a hotkey. +```sh +btcli wallet regen_coldkey --mnemonic "word1 word2 ... word12" +``` + +::: -First, create a coldkey as described above in the [Creating a coldkey using `btcli`](#creating-a-coldkey-using-btcli). Then, provide this coldkey as a parameter to generate a hotkey. This will pair the hotkey with the coldkey. See below. + + +If you plan to validate or mine in a subnet, you must create both a coldkey and a hotkey. -Use the below command to generate the hotkey. Replace `` with the name of the coldkey generated above, and `` with a name for your hotkey. +Before creating a hotkey, you must have created a coldkey as described in the [creating a coldkey tab](?create-wallet=coldkey). Next, provide this coldkey as a parameter to generate a hotkey. This will pair the hotkey with the coldkey as shown: ```bash btcli wallet new_hotkey --wallet.name --wallet.hotkey ``` +:::info +Use the below command to generate the hotkey. Replace `` with the name of the coldkey generated above, and `` with a name for your hotkey. + For example, ```bash btcli wallet new_hotkey --wallet.name test-coldkey --wallet.hotkey test-hotkey ``` +::: + You will see the terminal log like below. The mnemonic is hidden for security reasons. ```text IMPORTANT: Store this mnemonic in a secure (preferably offline place), as anyone who has possession of this mnemonic can use it to regenerate the key and access your tokens. The mnemonic to the new hotkey is: **** *** **** **** ***** **** *** **** **** **** ***** ***** -You can use the mnemonic to recreate the key in case it gets lost. The command to use to regenerate the key using this mnemonic is: -btcli w regen_hotkey --mnemonic **** *** **** **** ***** **** *** **** **** **** ***** ***** +You can use the mnemonic to recreate the key in case it gets lost. ``` :::tip Regenerating the hotkey -Make a note of the above command option `regen_hotkey` showing how to regenerate your hotkey in case you lose it. +Take note of the mnemonic in the response as it is required to regenerate your hotkey. To regenerate your hotkey, run the following command in the terminal: + +```sh +btcli wallet regen_hotkey --mnemonic "word1 word2 ... word12" +``` + ::: + + + +--- + ### Encrypting the hotkey -By default, the hotkey is not encrypted on the device, whereas the coldkey is encrypted. To encrypt your hotkey, run this command: +By default, a hotkey is not encrypted on the device, whereas the coldkey is encrypted. To encrypt your hotkey, include the `--use-password` in the hotkey creation command as shown: ```bash -btcli wallet new_hotkey --use-password +btcli wallet new_hotkey --use-password --wallet.name test-coldkey --wallet.hotkey test-hotkey ``` ## Creating a wallet using Python From 6b7747855a1d499c921446af26f1d2dcaca7a469 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 16 Jul 2025 23:18:10 +0100 Subject: [PATCH 156/303] wallet creation updates (wip) --- docs/local-build/provision-wallets.md | 26 +++++---- docs/working-with-keys.md | 77 +++++++++++++++++++++++---- 2 files changed, 83 insertions(+), 20 deletions(-) diff --git a/docs/local-build/provision-wallets.md b/docs/local-build/provision-wallets.md index 3ba4cb2387..1582258a79 100644 --- a/docs/local-build/provision-wallets.md +++ b/docs/local-build/provision-wallets.md @@ -11,35 +11,42 @@ Every local blockchain is pre-provisioned with an "Alice" account, which is load ## Access the Alice account To access the handy pre-provisioned development "Alice" account on your local chain, use: + ```shell btcli wallet create --uri alice ``` -Confirm Alice's massive $\tau$ bag. +Next, you will be prompted to configure the wallet by setting a name for the wallet's coldkey and hotkey. -```shell - btcli w balance --wallet.name alice --network ws://127.0.0.1:9945 +:::tip +To access the 'Alice' wallet, you must use the assigned coldkey name and include the local subtensor chail URL as shown + +```sh +btcli wallet balance --wallet.name alice --network ws://127.0.0.1:9945 ``` +The following should be returned in the console: + ```console Wallet Coldkey Balance Network: custom - Wallet Name Coldkey Address Free Balance Staked Value Staked (w/slippage) Total Balance Total (w/slippage) + Wallet Name Coldkey Address Free Balance Staked Value Total Balance ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - alice 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY τ 999,999.8999 τ 0.0000 τ 0.0000 τ 999,999.8999 τ 999,999.8999 + alice 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY 1,000,000.0000 τ 0.0000 τ 1,000,000.0000 τ - - Total Balance τ 999,999.8999 τ 0.0000 τ 0.0000 τ 999,999.8999 τ 999,999.8999 + Total Balance 1,000,000.0000 τ 0.0000 τ 1,000,000.0000 τ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` +::: + ## Provision wallets -You will need wallets for the different personas, i.e., subnet owner, subnet validator and subnet miner, in the subnet. +You will need wallets for the different personas, i.e., subnet owner, subnet validator and subnet miner, in the subnet. -- The owner wallet creates and controls the subnet. +- The owner wallet creates and controls the subnet. - The validator and miner will be registered to the subnet created by the owner. This ensures that the validator and miner can run the respective validator and miner scripts. ### Create a coldkey-only wallet for the subnet creator role (they do not need a hotkey): @@ -69,6 +76,7 @@ btcli wallet new_hotkey \ btcli wallet new_coldkey \ --wallet.name validator ``` + ```bash btcli wallet new_hotkey \ --wallet.name validator \ diff --git a/docs/working-with-keys.md b/docs/working-with-keys.md index 927be555f1..ce8db13829 100644 --- a/docs/working-with-keys.md +++ b/docs/working-with-keys.md @@ -25,7 +25,7 @@ The most critical operational goal when handling Bittensor wallets is to avoid l ## Creating a wallet with `btcli` - + If you plan to validate or mine in a subnet, you must have both a coldkey and a hotkey. If you already have a coldkey, you can [create a new hotkey](?create-wallet=hotkey) for it. @@ -46,7 +46,7 @@ btcli wallet create --wallet.name test-coldkey --wallet.hotkey test-hotkey ::: -Next, you'll be prompted to configure the wallet by setting a password for the coldkey, and choosing the desired mnemonic length. Completing the prompts creates a complete Bittensor wallet by setting up both coldkey and hotkeys. A unique mnemonic is generated for each key and output to the terminal upon creation. +Next, you will be prompted to configure the wallet by setting a password for the coldkey, and choosing the desired mnemonic length. Completing the prompts creates a complete Bittensor wallet by setting up both coldkey and hotkeys. A unique mnemonic is generated for each key and output to the terminal upon creation. :::tip Regenerating the wallet keys Take note of the mnemonics in the response as they are required to regenerate your coldkey and hotkey. To regenerate your coldkey, run the following command in the terminal: @@ -151,6 +151,10 @@ btcli wallet new_hotkey --use-password --wallet.name test-coldkey --wallet.hotke ## Creating a wallet using Python + + +If you plan to validate or mine in a subnet, you must have both a coldkey and a hotkey. + Copy and paste the following three lines into your Python interpreter. Replace the string values for `name` (`my_coldkey`) and `hotkey` (`my_hotkey`) with your own. ```python showLineNumbers @@ -172,24 +176,75 @@ The mnemonic to the new coldkey is: **** **** **** **** **** **** **** **** **** **** **** **** -You can use the mnemonic to recreate the key in case it gets lost. The command to use to regenerate the key using this mnemonic is: -btcli w regen_coldkey --mnemonic **** **** **** **** **** **** **** **** **** **** **** **** - -Specify password for key encryption: +You can use the mnemonic to recreate the key with `btcli` in case it gets lost. +Enter your password: Retype your password: +Encrypting... +wallet(test-coldkey, test-hotkey, ~/.bittensor/wallets/) +``` + +:::info Encrypting the hotkey +Since the coldkey is encrypted by default, the command above only encrypts the newly created coldkey. To encrypt your hotkey when creating a wallet, include the `hotkey_use_password=True` parameter in the `wallet.create_if_non_existent()` method as shown: + +```python showLineNumbers +import bittensor as bt +wallet = bt.wallet(name = 'my_coldkey', hotkey = 'my_hotkey') +wallet.create_if_non_existent(hotkey_use_password=True) +``` + +Then, you will be prompted to configure the wallet by setting a password for both the coldkey and the hotkey. +::: + + +If a user does not intend to mine, validate, manage subnets, or participate in governance, a hotkey is not required. In such cases, a coldkey-only wallet is recommended for simplicity. + +Copy and paste the following lines into your Python interpreter. Replace the string values for `name` (`my_coldkey`) with your own. + +```python showLineNumbers +import bittensor as bt +wallet = bt.wallet(name = 'my_coldkey') +wallet.create_new_coldkey() +``` + +You will be prompted to input a password for the coldkey and then see the terminal output, which includes your all-important seed phrase, a.k.a. the _mnemonic_ to the coldkey. + +```text IMPORTANT: Store this mnemonic in a secure (preferable offline place), as anyone who has possession of this mnemonic can use it to regenerate the key and access your tokens. -The mnemonic to the new hotkey is: +The mnemonic to the new hotkey is: **** *** **** **** ***** **** *** **** **** **** ***** ***** +You can use the mnemonic to recreate the key in case it gets lost. +``` -**** **** **** **** **** **** **** **** **** **** **** **** + + +If you plan to validate or mine in a subnet, you must have both a coldkey and a hotkey. -You can use the mnemonic to recreate the key in case it gets lost. The command to use to regenerate the key using this mnemonic is: -btcli w regen_hotkey --mnemonic **** **** **** **** **** **** **** **** **** **** **** **** +Before creating a hotkey, you must have created a coldkey as described in the [creating a coldkey tab](?create-wallet=coldkey). Next, provide this coldkey as a parameter to generate a hotkey. This will pair the hotkey with the coldkey as shown: -wallet(test-coldkey, test-hotkey, ~/.bittensor/wallets/) +```python showLineNumbers +import bittensor as bt +wallet = bt.wallet(name = 'my_coldkey') +wallet.create_new_hotkey() ``` +:::info Encrypting the hotkey +To encrypt your hotkey when creating a wallet, include the `use_password=True` parameter in the `wallet.create_new_hotkey()` method as shown: + +```python showLineNumbers +import bittensor as bt +wallet = bt.wallet(name = 'my_coldkey') +wallet.create_new_hotkey(use_password=True) +``` + +Then, you will be prompted to configure the wallet by setting a password for both the hotkey. +::: + + + + +--- + ## Location and addresses of the local wallets Both `btcli` and the Bittensor Python SDK use a local wallet/key store. By default, this is located on your machine at `~/.bittensor/wallets`. Use the below command to list them: From 36b19158af763ed172d8e3607915fc5395a432ef Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Thu, 17 Jul 2025 14:57:32 -0700 Subject: [PATCH 157/303] liquidity positions tutorial and explainer (#36) * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Apply suggestions from code review Co-authored-by: Roman <167799377+basfroman@users.noreply.github.com> * wip --------- Co-authored-by: Roman <167799377+basfroman@users.noreply.github.com> --- .../liquidity-positions.md | 139 ++++ .../managing-liquidity-positions.md | 615 ++++++++++++++++++ docs/liquidity-provider.md | 246 ------- docs/local-build/create-subnet.md | 11 +- docs/local-build/deploy.md | 6 +- docs/local-build/mine-validate.md | 2 +- docs/local-build/provision-wallets.md | 5 +- docusaurus.config.js | 4 + sidebars.js | 13 +- 9 files changed, 785 insertions(+), 256 deletions(-) create mode 100644 docs/liquidity-positions/liquidity-positions.md create mode 100644 docs/liquidity-positions/managing-liquidity-positions.md delete mode 100644 docs/liquidity-provider.md diff --git a/docs/liquidity-positions/liquidity-positions.md b/docs/liquidity-positions/liquidity-positions.md new file mode 100644 index 0000000000..1e2a2c3e64 --- /dev/null +++ b/docs/liquidity-positions/liquidity-positions.md @@ -0,0 +1,139 @@ +--- +title: User Liquidity Positions (Uniswap) +--- + +# User Liquidity Positions (Uniswap) + +## Overview + +The Liquidity Position feature allows users to provide trading liquidity for specific subnets, within specified price ranges for the subnet $\alpha$ token. This system is based on Uniswap V3's concentrated liquidity model and enables providers to earn fees from trading activity. + +Any TAO holder can contribute to the health of a subnet by creating a Liquidity Position (LP), to provide liquidity for staking/unstaking and stabilizing the subnet's token price. Liquidity positions accumulate fees when users stake and unstake within the defined price range, which the creator of the LP can subsequently withdraw into their wallet. + +Subnet creators can enable/disable the liquidity positions feature on their subnets. + +:::tip +A LP does not accumulate fees for staking operations by the coldkey that owns it. +::: + +See also: +- [Managing User Liquidity Positions Tutorial](./managing-liquidity-positions). + +### Liquidity Positions vs. Staking + + +When you stake TAO to a validator, you're essentially voting for that validator's participation in the subnet's consensus mechanism. The validator's total stake (including your delegation) determines their share of emissions and influence in the network. + +Stakers earn emissions off of their stake, which are distributed each tempo. + +Liquidity Positions earn fees when others stake or unstake within the price range defined on the position. + +By providing liquidity to a subnet's trading pool, you're enabling other users to trade between TAO and the subnet's Alpha tokens, creating more liquid market conditions for the subnet and helping to stabilize the subnet's token price. + +### Dynamic token composition + +A liquidity position (LP) can hold TAO, alpha, or both. This depends on the subnet's current token price relative to the range specified for the LP when it was created. + +This compositions represents the token requirements for creating an LP depending, as well as token yield from removing liquidity form the position, depending on the token price relative to the LP's price window, at the block when the transaction executes. + +**Price below range** (`current_price < price_low`): + - Position becomes **100% Alpha tokens** + - `amount_alpha = liquidity * (1/sqrt_price_low - 1/sqrt_price_high)` + - `amount_tao = 0` + +**Price within range** (`price_low <= current_price <= price_high`): + - Position maintains **mixed token composition** + - `amount_alpha = liquidity * (1/sqrt_current_price - 1/sqrt_price_high)` + - `amount_tao = liquidity * (sqrt_current_price - sqrt_price_low)` + +**Price above range** (`current_price > price_high`): + - Position becomes **100% TAO tokens** + - `amount_alpha = 0` + - `amount_tao = liquidity * (sqrt_price_high - sqrt_price_low)` + +[See source code](https://github.com/opentensor/bittensor/blob/master/bittensor/utils/liquidity.py#L28-L58) + + +## Liquidity Position Lifecycle + + +### Creating Positions + +To create an LP, the user specifies a *liquidity* parameter, which is converted into some combination of TAO and alpha token balances. TAO are taken from the users coldkey, alpha tokens are taken from the hotkey on which the Liquidity Position was created, and they are and locked up in the LP. + +### Modifying a Position + +Its creator can modify an existing LP by adding or removing liquidity. The same formula is applied to determine the required tokens when adding liquidity, and to determine the yield of tokens when exiting liquidity, as when creating the LP. + +### Fee Accumulation + +Fees are generated when users perform swaps (trading TAO for Alpha or vice versa) within your position's price range. + +:::tip +Fees are not added to your position's liquidity, they are tracked separately, in the position's `fees_tao` and `fees_alpha` fields. + +See: [Managing User Liquidity Positions Tutorial: View your LPs](./managing-liquidity-positions#view-your-lps) +::: + + + +The blockchain calculates fees for each position based on: +- Quantity staked/unstaked, tao/alpha respectively +- The the position's liquidity relative to other LPs that have their price range include the transaction. + +[See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/position.rs#L110-L128) + +#### Fee Distribution + +Fees are not distributed automatically per tempo like emissions. Instead, fees are only distributed to your wallet when you actively withdraw liquidity: + +- **When modifying a position** (adding or removing liquidity): All accumulated fees are automatically collected and sent to your wallet. + [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/pallet/mod.rs#L410-L415) + +- **When removing a position entirely**: All accumulated fees are collected along with your position's tokens. + [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/pallet/mod.rs#L520-L535) + + and are only distributed to your wallet when you perform a position operation. This means your position's token composition and liquidity remain unchanged by fee accumulation - only the fee tracking variables are updated [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/position.rs#L110-L128). + +This means you must actively manage your positions to claim your earned fees - they remain locked in the position until you perform a position operation (modify or remove). + +### Removing a Position + +When a position is destroyed/removed, the position's liquidity is converted back to tokens based on the current subnet price relative to your position's price range. The position is then deleted from the system. + +[See source code](https://github.com/opentensor/bittensor/blob/master/bittensor/core/extrinsics/asyncex/liquidity.py#L127-L185) + +## The `liquidity` Parameter + +The `liquidity` parameter that defines a LP is **not** an amount of TAO or Alpha tokens (or even a sum of the two). Instead, it's a mathematical scaling factor from Uniswap V3's concentrated liquidity model, which calculates the token amounts deducted from your hotkey and coldkey (alpha and TAO respectively) when creating a LP. + +The actual TAO and Alpha amounts that get locked are calculated by the `to_token_amounts()` function, represented below in pseudocode. + +:::note +The composition of the tokens required to create an LP depends on the current token price. +::: + +```python +if current_price < price_low { + # Only Alpha tokens required + alpha_amount = liquidity * (1/√price_low - 1/√price_high) + tao_amount = 0 +} else if current_price > price_high { + # Only TAO tokens required + tao_amount = liquidity * (√price_high - √price_low) + alpha_amount = 0 +} else { + # Both TAO and Alpha required + tao_amount = liquidity * (√current_price - √price_low) + alpha_amount = liquidity * (1/√current_price - 1/√price_high) +} +``` + +See also: + +- [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/position.rs#L80-L122) + diff --git a/docs/liquidity-positions/managing-liquidity-positions.md b/docs/liquidity-positions/managing-liquidity-positions.md new file mode 100644 index 0000000000..41856a240e --- /dev/null +++ b/docs/liquidity-positions/managing-liquidity-positions.md @@ -0,0 +1,615 @@ +--- +title: Managing User Liquidity Positions Tutorial +--- + +In this tutorial we will explore the behavior of Bittensor's Uniswap-style user liquidity positions (LPs). To facilitate this, we'll deploy a Subtensor blockchain locally and create a subnet on it. + +Liquidity positions can be complicated and potentially confusing, as their behavior is sensitive to the subnet price relative to the position's high' and 'low' price boundaries, at several stages of their life-cycle: + +- When a LP is created +- When liquidity is added to an existing LP by modifying it +- During fee accrual +- When liquidity is exited from an existing LP by modifying it +- When liquidity is exited from an existing LP by removing (deleting) the position. + +## Setup +### Deploy a Bittensor (Subtensor) blockchain locally. + +See: [Deploy a Local Bittensor Blockchain Instance](../local-build/deploy) + +Or try the easy way, by running: +```bash +docker run --rm --name test_local_chain_ -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready +``` +### Create a subnet + +Create a subnet managed by the Alice wallet. + +See [Provision wallets: Access the Alice account](../local-build/provision-wallets#access-the-alice-account) + +``` +btcli subnet create \ +--subnet-name awesome-first-subnet \ +--wallet.name alice \ +--network ws://127.0.0.1:9945 +``` + + + + +### Start emissions + +First, use the subnet creator key to start emissions on the subnet. Assuming your want to use subnet 2, run: + +```shell +btcli subnet start --netuid 2 \ +--wallet.name sn-creator \ +--network ws://127.0.0.1:9945 +``` + +```console +Are you sure you want to start subnet 2's emission schedule? [y/n]: y +Enter your password: +Decrypting... +✅ Successfully started subnet 2's emission schedule. +``` + +:::tip +After some time has passed, you'll be able to confirm that emissions are flowing by inspecting your subnet's token economy. You'll see a non-zero amount in the *Emissions* column, indicating, even if no mining activity is occuring, the subnet creator key accumulates emissions. + +If you have only started one subnet, you'll see that it's emissions are always exactly 1 $\tau$. + +See [Emissions](../emissions) + +```shell + btcli view dashboard \ +--wallet.name sn-creator \ +--network ws://127.0.0.1:9945 +``` + +::: + +### Configure the `user_liquidity_enabled` hyperparameter + +Set the `user_liquidity_enabled` hyperparameter to `True` from its default value of `False`. + +```shell +btcli sudo set --netuid 2 \ +--parameter user_liquidity_enabled \ +--value True \ +--wallet.name sn-creator \ +--network ws://127.0.0.1:9945 + +``` +```console +✅ Hyperparameter user_liquidity_enabled changed to True + + Subnet Hyperparameters + NETUID: 2 (awesome-first-subnet) - Network: custom + + HYPERPARAMETER VALUE NORMALIZED + ──────────────────────────────────────────────────────────────────────── + + (all the hyperparameters...) + + user_liquidity_enabled True True + ──────────────────────────────────────────────────────────────────────── +``` +:::tip +Confirm the subnet configuration with the following command, checking that `user_liquidity_enabled` is `True`. +``` +btcli subnet hyperparameters --netuid 2 --network ws://127.0.0.1:9945 +``` +::: + + +### Create and fund a liquidity manager wallet + + +Additionally, in order to manage liquidity on a subnet, a user use a hotkey that has some stake on the subnet. Therefore you must register and stake some liquidity into the hotkey. This alpha liquidity will be used for the alpha component when you add liquidity to a position, when creating or modifying it. + +1. Create the wallet + ```shell + btcli w create --wallet.name liquidity-manager --hotkey lp-hotkey + ``` +2. Transfer funds from the Alice account + ``` + btcli wallet transfer \ + --amount 1001 \ + --wallet.name alice \ + --destination "5F7LNFEmsngMV2yaA41WPeYuQmVGcesu5TPJizPDpSUHviVr" \ # Coldkey public key for your liquidity-manager wallet + --network ws://127.0.0.1:9945 + ``` +3. Check your balance in the dashboard + ```shell + btcli view dashboard \ + --wallet.name liquidity-manager \ + --network ws://127.0.0.1:9945 + ``` + +4. Register your liquidity-manager's hotkey. + + + This is the hotkey will contain alpha stake related to the position. When you add alpha liquidity to the position, it will come from this hotkey, and when you exit it from the position, it will credit to this hotkey. + + You can either use your wallet's name for the hotkey (as below), or specify the hotkey's ss58 address in interactive mode. If you need to find your hotkey's ss58, use `btcli wallet list`. + + :::tip + On a local blockchain running in fastblocks mode, you will likely need to use the `--period` flag to give you a long enough window before your registration request will expire. + ::: + + ```shell + btcli subnet register \ + --wallet.name liquidity-manager \ + --wallet.hotkey hotsauce \ + --period 20 \ + --network ws://127.0.0.1:9945 + ``` + ```console + Register to netuid: 2 + Network: custom + + Netuid ┃ Symbol ┃ Cost (Τ) ┃ Hotkey ┃ Coldkey + ━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + 2 │ β │ τ 0.0913 │ 5DJepbhrkAVdf5L3kXLMvjHu8TBB62AAGN8U4LjTtQYoKG9R │ 5F7LNFEmsngMV2yaA41WPeYuQmVGcesu5TPJizPDpSUHviVr + ────────┼────────┼──────────┼──────────────────────────────────────────────────┼────────────────────────────────────────────────── + │ │ │ │ + Your balance is: 1,001.0000 τ + The cost to register by recycle is 0.0913 τ + Do you want to continue? [y/n] (n): y + Enter your password: + Decrypting... + Balance: + 1,001.0000 τ ➡ 1,000.9087 τ + ✅ Registered on netuid 2 with UID 1 + ``` + +## Creating liquidity positions + +The token input when creating a LP depends on whether the current token price is above, below, or within the window between the high and low price that define the position. Therefore you should always check the current token price when creating, removing, or modifying positions, so you correctly anticipate the behavior. + +### Understanding the `liquidity` Parameter + +:::tip +To easily view token prices on your local chain, as well as your TAO balance and alpha stakes, use the BTCLI dashboard: +``` +btcli view dashboard \ +--wallet.name liquidity-manager \ +--network ws://127.0.0.1:9945 +``` +::: + +To observe the token input behavior of liquidity positions, let's create attempt to create 3 LPs, such that the current price is below, within, and above, the positions' respective price windows. + + +If we attempt to create an LP with high window, i.e. with its low price above the current token price, or if we attempt to create one with a window that spans the current price, it will fail. That is because the token composition for a LP with a high window is entirely alpha, and for a LP with a window that spans the current price, it is mixed TAO and alpha. Therefore, to create the LP requires some alpha to be staked into the hotkey, and currently the hotkey has no stake. + + +However, if we attempt to create a LP with a low window relative to the current price, i.e. with its high price below the current price, it will succeed, because the LP is composed entirely of TAO. + +See [Liquidity Positions: Dynamic token composition](./#dynamic-token-composition). + + +### Check the price + +Always check the token price prior to creating LPs so you can predict their behavior. + +``` +btcli subnet list --network ws://127.0.0.1:9945 + + Subnets + Network: custom + + + ┃ ┃ Price ┃ Market Cap ┃ ┃ ┃ ┃ ┃ + Netuid ┃ Name ┃ (Τ_in/α_in) ┃ (α * Price) ┃ Emission (Τ) ┃ P (Τ_in, α_in) ┃ Stake (α_out) ┃ Supply (α) ┃ Tempo (k/n) +━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━ + 0 │ τ root │ 1.0000 τ/Τ │ τ 0.00 │ τ 0.0000 │ -, - │ Τ 0.00 │ 0.00 Τ /21M │ -/- + 2 │ β awesome-first-subnet │ 1.0001 τ/β │ τ 13.02k │ τ 1.0000 │ τ 7.00k, 7.00k β │ 6.02k β │ 13.02k β /21M │ 3/10 + 1 │ α apex │ 0.0000 τ/α │ τ 0.00 │ τ 0.0000 │ τ 10.00, 10.00 α │ 1.00 α │ 11.00 α /21M │ 21/100 +────────┼────────────────────────┼─────────────┼─────────────┼──────────────┼─────────────────────────┼───────────────┼───────────────┼───────────── +``` + +### High and spanning window + +These requests are bound to fail, because we have not yet staked any alpha to the hotkey: + +``` +btcli liquidity add --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager --hotkey hotsauce + +Enter the amount of liquidity: 10 +Enter liquidity position low price: 1.1 +Enter liquidity position high price (must be greater than low price): 1.3 + +You are about to add a LiquidityPosition with: + liquidity: 10.0000 τ + price low: 1.1000 τ + price high: 1.3000 τ + to SN: 2 + using wallet with name: liquidity-manager +Would you like to continue? [y/n]: y +Error: Subtensor returned `InsufficientBalance(Module)` error. This means: `The caller does not have enough balance for the operation. + +btcli liquidity add --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager --hotkey hotsauce --liquidity 10 --price-low .5 --price-high 1.5 + +You are about to add a LiquidityPosition with: + liquidity: 10.0000 τ + price low: 0.5000 τ + price high: 1.5000 τ + to SN: 2 + using wallet with name: liquidity-manager +Would you like to continue? [y/n]: y +Error: Subtensor returned `InsufficientBalance(Module)` error. This means: `The caller does not have enough balance for the operation. +``` + +### If the current price is below the window + +However, the following position can be created, because its high price is below the current token price. + + +```shell +btcli liquidity add --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager +``` +```console +Enter the amount of liquidity: 10 +Enter liquidity position low price: .5 +Enter liquidity position high price (must be greater than low price): .7 +Enter your password: +Decrypting... +You are about to add a LiquidityPosition with: + liquidity: 100.0000 τ + price low: 0.5000 τ + price high: 0.7000 τ + to SN: 2 + using wallet with name: liquidity-manager +Would you like to continue? [y/n]: y +LiquidityPosition has been successfully added. +``` + +View the position by running: + + +```shell +btcli liquidity list --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager +``` +```console + + Liquidity Positions of liquidity-manager wallet in SN #2 + Alpha and Tao columns are respective portions of liquidity. +┏━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓ +┃ ID ┃ Liquidity ┃ Alpha ┃ Tao ┃ Price low ┃ Price high ┃ Fee TAO ┃ Fee Alpha ┃ +┡━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩ +│ 2 │ 10.0 │ 0.0000 β │ 1.2956 τ │ 0.5000 τ │ 0.7001 τ │ 0.0000 τ │ 0.0000 β │ +└────┴───────────┴──────────┴──────────┴───────────┴────────────┴──────────┴───────────┘ + +``` + +### Add alpha to the liquidity manager hotkey + +Next, stake into your hotkey so you'll be able to create those other LPs. + + +:::note notes +Use `--partial` to make things easier; this option allows you to specify a large staking amount, and an amount will be staked up to your tolerance threshold. + +If you don't use partial (or unsafe-staking mode), you'll have to find a staking amount that will be tolerated by your slippage limit. +::: + +```shell +btcli stake add --netuid 2 \ +--hotkey hotsauce --amount 10 \ +--wallet.name liquidity-manager \ +--partial \ +--network ws://127.0.0.1:9945 +``` + +```console +Safe staking: enabled (from config). +Rate tolerance: 0.005 (0.5%) by default. Set this using `btcli config set` or `--tolerance` flag +Partial staking: enabled. + + + Wallet Coldkey Balance + Network: custom + + Wallet Name Coldkey Address Free Balance Staked Value Total Balance + ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + liquidity-manager 5F7LNFEmsngMV2yaA41WPeYuQmVGcesu5TPJizPDpSUHviVr 1,000.9100 τ 0.0000 τ 1,000.9100 τ + + + + Total Balance 1,000.9100 τ 0.0000 τ 1,000.9100 τ + ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +Amount to stake (TAO τ): 10 + + Staking to: + Wallet: liquidity-manager, Coldkey ss58: 5F7LNFEmsngMV2yaA41WPeYuQmVGcesu5TPJizPDpSUHviVr + Network: custom + + Netuid ┃ Hotkey ┃ Amount (Τ) ┃ Rate (per Τ) ┃ Received ┃ Fee (τ) ┃ Rate with tolerance: (0.5%) ┃ Partial stake enabled +━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━ + 2 │ 5DJepbhrkAVdf5L3kXLMvjHu8TBB62AAGN8U4LjTtQYoKG9R │ 10.0000 τ │ 0.666633241675929 β/Τ │ 6.6663 β │ Τ 0.0299 │ 0.6633 β/Τ │ True +────────┼──────────────────────────────────────────────────┼────────────┼────────────────────────┼──────────┼──────────┼─────────────────────────────┼─────────────────────── + │ │ │ │ │ │ │ + +Description: +The table displays information about the stake operation you are about to perform. +The columns are as follows: + - Netuid: The netuid of the subnet you are staking to. + - Hotkey: The ss58 address of the hotkey you are staking to. + - Amount: The TAO you are staking into this subnet onto this hotkey. + - Rate: The rate of exchange between your TAO and the subnet's stake. + - Received: The amount of stake you will receive on this subnet after slippage. + - Rate Tolerance: Maximum acceptable alpha rate. If the rate exceeds this tolerance, the transaction will be limited or rejected. + - Partial staking: If True, allows staking up to the rate tolerance limit. If False, the entire transaction will fail if rate tolerance is exceeded. + +Would you like to continue? [y/n]: y +Enter your password: +Decrypting... +✅ Finalized. Stake added to netuid: 2 +Balance: + 1,000.9100 τ ➡ 990.9100 τ +Subnet: 2 Stake: + 0.0000 τ ➡ 6.6299 β +``` + +If you now view your dashboard, you'll see that your TAO balance has reduced by the staked amount, plus the amount of $\tau$ locked into the liquidity position. + +``` + btcli view dashboard \ +--wallet.name liquidity-manager \ +--network ws://127.0.0.1:9945 +``` + +Now let's try again to create the positions that previously we could not. + +#### High window position +```shell + +btcli liquidity add --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager --hotkey hotsauce --liquidity 10 --price-low 1.1 --price-high 1.3 +``` +#### Spanning window position +```shell +btcli liquidity add --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager --hotkey hotsauce --liquidity 10 --price-low .5 --price-high 1.5 +``` + +### View your LPs + +Now we can see all LPs listed. + +:::note +The `liquidity` parameter you specify is **not** the amount of TAO/Alpha tokens that will be locked up. Instead, it's a mathematical scaling factor from Uniswap V3's concentrated liquidity model, which calculates the token amounts deducted from your hotkey and coldkey (alpha and TAO respectively) when creating a LP. + +Hence you are not charged 10 TAO to create a LP with a magnitude of 10, in this case note that the quantity is 1.295 +::: + +```shell +btcli liquidity list --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager + + Liquidity Positions of liquidity-manager wallet in SN #2 + Alpha and Tao columns are respective portions of liquidity. +┏━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓ +┃ ID ┃ Liquidity ┃ Alpha ┃ Tao ┃ Price low ┃ Price high ┃ Fee TAO ┃ Fee Alpha ┃ +┡━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩ +│ 5 │ 10.0 │ 1.8226 β │ 2.9407 τ │ 0.5000 τ │ 1.4999 τ │ 0.0000 τ │ 0.0000 β │ +│ 4 │ 10.0 │ 0.7638 β │ 0.0000 τ │ 1.1000 τ │ 1.2999 τ │ 0.0000 τ │ 0.0000 β │ +│ 2 │ 10.0 │ 0.0000 β │ 1.2956 τ │ 0.5000 τ │ 0.7001 τ │ 0.0000 τ │ 0.0000 β │ +└────┴───────────┴──────────┴──────────┴───────────┴────────────┴──────────┴───────────┘ +``` + +## +Now let's see what happens when we stake and unstake within the trading window of liquidity positions. + +Create a validator coldkey if you don't have one, (See [Provision Wallets for Local Deploy](../local-build/provision-wallets) and [Mine and Validate (Locally): Register](../local-build/mine-validate)) then transfer a small amount of TAO to it from the Alice wallet. + +Then register a hotkey for it on subnet 2. + + +Now, let's stake to it from the Alice wallet. + + +``` +btcli stake add --netuid 2 \ +--network ws://127.0.0.1:9945 --wallet.name alice --partial --amount 1000 + +Safe staking: enabled (from config). +Rate tolerance: 0.005 (0.5%) by default. Set this using `btcli config set` or `--tolerance` flag +Partial staking: enabled. + + +Enter the wallet hotkey name or ss58 address to stake to (or Press Enter to view delegates): +Using the wallet path from config: /Users/michaeltrestman/.bittensor/wallets + + + + Subnet 2: awesome-first-subnet + Network: custom + + UID ┃ Stake (β) ┃ Alpha (β) ┃ Tao (τ) ┃ Dividends ┃ Incentive ┃ Emissions (β) ┃ Hotkey ┃ Coldkey ┃ Identity +━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━ + 0 │ 11.35k β │ 11.35k β │ τ 0.00 │ 0.000000 │ 0.000000 │ 0.000000 β │ 5Grwva │ 5Grwva │ (*Owner controlled) + 2 │ 751.95 β │ 751.95 β │ τ 0.00 │ 0.000000 │ 0.000000 │ 9.020050 β │ 5CffqS │ 5EEy34 │ ~ + 1 │ 10.84 β │ 10.84 β │ τ 0.00 │ 0.000000 │ 0.000000 │ 0.000000 β │ 5DJepb │ 5F7LNF │ ~ +─────┼───────────┼───────────┼─────────┼───────────┼───────────┼───────────────┼────────┼─────────┼───────────────────── + │ 12.12k β │ 12.12k β │ 0.00 β │ 0.000 │ │ 9.0201 β │ │ │ + + + +Enter the UID of the delegate you want to stake to (or press Enter to cancel): 2 + +Selected delegate: 5CffqSVhydFJHBSbbgfVLAVkoNBTsv3wLj2Tsh1cr2kfanU6 + + Staking to: + Wallet: alice, Coldkey ss58: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY + Network: custom + + Netuid ┃ Hotkey ┃ Amount (Τ) ┃ Rate (per Τ) ┃ Received ┃ Fee (τ) ┃ Rate with tolerance: (0.5%) ┃ Partial stake enabled +━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━ + 2 │ 5CffqSVhydFJHBSbbgfVLAVkoNBTsv3wLj2Tsh1cr2kfanU6 │ 1,000.0000 τ │ 0.9926136629572226 β/Τ │ 992.6137 β │ Τ 2.9908 │ 0.9877 β/Τ │ True +────────┼──────────────────────────────────────────────────┼──────────────┼─────────────────────────┼────────────┼──────────┼─────────────────────────────┼─────────────────────── + │ │ │ │ │ │ │ + +Description: +The table displays information about the stake operation you are about to perform. +The columns are as follows: + - Netuid: The netuid of the subnet you are staking to. + - Hotkey: The ss58 address of the hotkey you are staking to. + - Amount: The TAO you are staking into this subnet onto this hotkey. + - Rate: The rate of exchange between your TAO and the subnet's stake. + - Received: The amount of stake you will receive on this subnet after slippage. + - Rate Tolerance: Maximum acceptable alpha rate. If the rate exceeds this tolerance, the transaction will be limited or rejected. + - Partial staking: If True, allows staking up to the rate tolerance limit. If False, the entire transaction will fail if rate tolerance is exceeded. + +Would you like to continue? [y/n]: y +✅ Finalized. Stake added to netuid: 2 +Balance: + 996,967.4407 τ ➡ 996,934.4742 τ +Partial stake transaction. Staked: + 32.9665 τ instead of 1,000.0000 τ +Subnet: 2 Stake: + 420.9182 β ➡ 457.4970 β +``` + + +So now, examining the liquidity positions, we can see that some small amount of fees have accumulated to the LP whose window spans the current price, but not the others. + +Note that the fees have accumulated to `Fee TAO`, but not to `Fee Alpha`. + + +```shell + btcli liquidity list --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager + + Liquidity Positions of liquidity-manager wallet in SN #2 + Alpha and Tao columns are respective portions of liquidity. +┏━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓ +┃ ID ┃ Liquidity ┃ Alpha ┃ Tao ┃ Price low ┃ Price high ┃ Fee TAO ┃ Fee Alpha ┃ +┡━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩ +│ 4 │ 10.0 │ 1.7729 β │ 2.9908 τ │ 0.5000 τ │ 1.4999 τ │ 0.0001 τ │ 0.0000 β │ +│ 3 │ 10.0 │ 0.7638 β │ 0.0000 τ │ 1.1000 τ │ 1.2999 τ │ 0.0000 τ │ 0.0000 β │ +│ 2 │ 10.0 │ 0.0000 β │ 1.2956 τ │ 0.5000 τ │ 0.7001 τ │ 0.0000 τ │ 0.0000 β │ +└────┴───────────┴──────────┴──────────┴───────────┴────────────┴──────────┴───────────┘ +``` + +Now let's unstake and see what happens + + +```shell +btcli stake remove --netuid 2 \ +--partial \ +--wallet.name alice \ +--network ws://127.0.0.1:9945 +``` + +```console +Safe staking: enabled (from config). +Rate tolerance: 0.005 (0.5%) by default. Set this using `btcli config set` or `--tolerance` flag +Partial staking: enabled. + +Enter the hotkey name or ss58 address to unstake from (or Press Enter to view existing staked hotkeys): + + Hotkeys with Stakes for Subnet 2 + + Index ┃ Identity ┃ Netuids ┃ Hotkey Address +━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + 0 │ 5Grw...utQY │ 2 │ 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY + 1 │ 5Cff...anU6 │ 2 │ 5CffqSVhydFJHBSbbgfVLAVkoNBTsv3wLj2Tsh1cr2kfanU6 +───────┼─────────────┼─────────┼────────────────────────────────────────────────── + │ │ │ + +Enter the index of the hotkey you want to unstake from [0/1]: 1 + + + + Stakes for hotkey + 5Cff...anU6 +5CffqSVhydFJHBSbbgfVLAVkoNBTsv3wLj2Tsh1cr2kfanU + 6 + + Subnet ┃ Symbol ┃ Stake Amount ┃ Rate (Τ/α) +━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━ + 2 │ β │ 3,067.5744 β │ 1.012479 τ/β +────────┼────────┼──────────────┼────────────── + │ │ │ + + +Unstake all: 3,067.5744 β from 5Cff...anU6 on netuid: 2? [y/n/q] (n): y + + Unstaking to: + Wallet: alice, Coldkey ss58: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY + Network: custom + + Netuid ┃ Hotkey ┃ Amount (α) ┃ Rate (Τ/α) ┃ Fee (α) ┃ Received (Τ) ┃ Rate with tolerance: (0.5%) ┃ Partial unstake enabled +━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━ + 2 │ 5Cff...anU6 │ 3,067.5744 β │ 1.012479(Τ/β) │ 9.1744 β │ 3,105.8531 τ │ 1.007416 Τ/β │ True +────────┼─────────────┼──────────────┼───────────────┼──────────┼──────────────┼─────────────────────────────┼───────────────────────── + │ │ │ │ │ 3,105.8531 τ │ │ + +Description: +The table displays information about the stake remove operation you are about to perform. +The columns are as follows: + - Netuid: The netuid of the subnet you are unstaking from. + - Hotkey: The ss58 address or identity of the hotkey you are unstaking from. + - Amount to Unstake: The stake amount you are removing from this key. + - Rate: The rate of exchange between TAO and the subnet's stake. + - Fee: The transaction fee for this unstake operation. + - Received: The amount of free balance TAO you will receive on this subnet after slippage and fees. + - Slippage: The slippage percentage of the unstake operation. (0% if the subnet is not dynamic i.e. root). + - Rate Tolerance: Maximum acceptable alpha rate. If the rate reduces below this tolerance, the transaction will be limited or rejected. + - Partial unstaking: If True, allows unstaking up to the rate tolerance limit. If False, the entire transaction will fail if rate tolerance is exceeded. + +Would you like to continue? [y/n]: y +✅ Finalized +Balance: + 996,934.4742 τ ➡ 997,054.1796 τ +Partial unstake transaction. Unstaked: + 118.8823 β instead of 3,067.5744 β +Subnet: 2 Stake: + 3,075.3541 β ➡ 2,956.4718 β +Unstaking operations completed. +``` + +Now, viewing our LP again, we can see that fees have accumulated to the position's `Fee Alpha` attribute. + +```shell +btcli liquidity list --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager + + Liquidity Positions of liquidity-manager wallet in SN #2 + Alpha and Tao columns are respective portions of liquidity. +┏━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓ +┃ ID ┃ Liquidity ┃ Alpha ┃ Tao ┃ Price low ┃ Price high ┃ Fee TAO ┃ Fee Alpha ┃ +┡━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩ +│ 4 │ 10.0 │ 1.7978 β │ 2.9657 τ │ 0.5000 τ │ 1.4999 τ │ 0.0001 τ │ 0.0001 β │ +│ 3 │ 10.0 │ 0.7638 β │ 0.0000 τ │ 1.1000 τ │ 1.2999 τ │ 0.0000 τ │ 0.0000 β │ +│ 2 │ 10.0 │ 0.0000 β │ 1.2956 τ │ 0.5000 τ │ 0.7001 τ │ 0.0000 τ │ 0.0000 β │ +└────┴───────────┴──────────┴──────────┴───────────┴────────────┴──────────┴───────────┘ +``` + +## Remove liquidity from the position + +Let's remove the LP and recover the liquidity inside. To see how this affects our balance, run the `dashboard` command once before the `liquidity remove` command, and once after. You will see a small increase in your token balances. + +:::tip +You can find the required LP ID with `btcli liquidity list`, as seen above. +::: + +```shell +btcli liquidity remove --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager +``` +```console +Enter the liquidity position ID: 5 +Enter the SS58 of the hotkey to use for this transaction.: 5DJepbhrkAVdf5L3kXLMvjHu8TBB62AAGN8U4LjTtQYoKG9R + +You are about to remove LiquidityPositions with: + Subnet: 2 + Wallet name: liquidity-manager + Position id: 5 +Would you like to continue? [y/n]: y +Enter your password: +Decrypting... +Position 5 has been removed. +``` diff --git a/docs/liquidity-provider.md b/docs/liquidity-provider.md deleted file mode 100644 index 0c61a4cef6..0000000000 --- a/docs/liquidity-provider.md +++ /dev/null @@ -1,246 +0,0 @@ ---- -title: Provisioning Liquidity to Subnets ---- - -# Provisioning Liquidity to Subnets - -## Overview - -The Liquidity Position feature allows users to provide trading liquidity for specific subnets, within specified price ranges for the subnet $\alpha$ token. This system is based on Uniswap V3's concentrated liquidity model and enables providers to earn fees from trading activity. - -By creating a liquidity position (LP), any TAO holder can contribute to the health of a subnet by providing liquidity for efficient trading, thereby earning fees from trading activity. - -Liquidity providers participate by creating liquidity positions (LPs). Each LP is defined by its: -- **Price Range**: Defined by `price_low` and `price_high` in TAO -- **Liquidity Amount**: The total liquidity provided -- **Position ID**: Unique identifier for the position -- **Fee Tracking**: Separate tracking for TAO and Alpha fees earned - -### Liquidity Positions vs. Staking - -While both staking and liquidity provision involve committing tokens to support the Bittensor network, they serve different purposes and operate through distinct mechanisms. - -**Staking** is designed to support validators and miners by providing them with consensus power. When you stake TAO to a validator, you're essentially voting for that validator's participation in the subnet's consensus mechanism. The validator's total stake (including your delegation) determines their share of emissions and influence in the network. - -Stakers earn emissions off of their stake, which are distributed each tempo. - -**Liquidity provision**, on the other hand, is focused on market making and trading facilitation. By providing liquidity to a subnet's trading pool, you're enabling other users to trade between TAO and the subnet's Alpha tokens. This creates a more liquid market and improves price discovery for the subnet's token. - -Liquidity providers earn fees when others stake or unstake within the price range defined on the position. - -:::note -Subnet creators can enable and disable user liquidity provision via the `toggle_user_liquidity` function. - -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L187-L232) -::: - -## Tokenomics - -### Fees - -Liquidity providers earn fees from trading activity within their price range: - -- **TAO Fees**: Fees earned in TAO tokens -- **Alpha Fees**: Fees earned in Alpha tokens -- **Fee Distribution**: Proportional to liquidity provided and trading volume - -The `calculate_fees()` function calculates both TAO and Alpha fees based on global fee data and position liquidity. - -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L130-L158) - -### Dynamic token composition - -A liquidity position (LP) can hold TAO, alpha, or both. This depends on the subnet's current token price relative to the range specified for the LP when it was created. - -**Price Below Range** (`current_price < price_low`): - - Position becomes **100% Alpha tokens** - - `amount_alpha = liquidity * (1/sqrt_price_low - 1/sqrt_price_high)` - - `amount_tao = 0` - -**Price Above Range** (`current_price > price_high`): - - Position becomes **100% TAO tokens** - - `amount_alpha = 0` - - `amount_tao = liquidity * (sqrt_price_high - sqrt_price_low)` - -**Price Within Range** (`price_low <= current_price <= price_high`): - - Position maintains **mixed token composition** - - `amount_alpha = liquidity * (1/sqrt_current_price - 1/sqrt_price_high)` - - `amount_tao = liquidity * (sqrt_current_price - sqrt_price_low)` - -
        - See how it's computed - -The `LiquidityPosition.to_token_amounts()` method shows how token composition changes based on current price vs. range boundaries. - -```python -def to_token_amounts( - self, current_subnet_price: Balance - ) -> tuple[Balance, Balance]: - sqrt_price_low = math.sqrt(self.price_low) - sqrt_price_high = math.sqrt(self.price_high) - sqrt_current_subnet_price = math.sqrt(current_subnet_price) - - if sqrt_current_subnet_price < sqrt_price_low: - amount_alpha = self.liquidity * (1 / sqrt_price_low - 1 / sqrt_price_high) - amount_tao = 0 - elif sqrt_current_subnet_price > sqrt_price_high: - amount_alpha = 0 - amount_tao = self.liquidity * (sqrt_price_high - sqrt_price_low) - else: - amount_alpha = self.liquidity * ( - 1 / sqrt_current_subnet_price - 1 / sqrt_price_high - ) - amount_tao = self.liquidity * (sqrt_current_subnet_price - sqrt_price_low) - return Balance.from_rao(int(amount_alpha), self.netuid), Balance.from_rao( - int(amount_tao) - ) - -``` -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/utils/liquidity.py#L28-L58) -
        - - -### Price Range Considerations -- **Narrow Ranges**: Higher fee concentration but more likely to become single-token when price moves -- **Wide Ranges**: Lower fee concentration but more likely to maintain mixed token composition - - -## Liquidity Position Lifecycle - -### Creating a Position - -When creating a liquidity position, users provide liquidity in the form of a single `liquidity` parameter (in RAO). The system automatically calculates and charges the appropriate amounts of TAO and Alpha tokens from the user's wallet based on the current price. - -1. User calls `add_liquidity()` with `liquidity`, `price_low`, and `price_high` parameters -2. System converts price range to tick indices using `price_to_tick()` -3. System calculates required TAO and Alpha amounts based on current price and range -4. Tokens are transferred from user's wallet to the liquidity pool -5. A new `LiquidityPosition` is created with a unique `position_id` - -[See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L807): - -### Modifying a Position - -Position management through `modify_liquidity` allows you to adjust existing positions. When adding liquidity with a positive `liquidity_delta`, additional TAO and Alpha tokens are transferred from your wallet and the position's liquidity field is updated. When removing liquidity with a negative `liquidity_delta`, the system calculates the exact TAO and Alpha token amounts based on the current price and your position's price range using the same mathematical formulas as position creation [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L952-L958). These calculated amounts are returned to your wallet and the position's liquidity field is updated. - -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L74-L125) - -### Fee Accumulation and Distribution - -Fees are generated when users perform swaps (trading TAO for Alpha or vice versa) within your position's price range. The fee accumulation and distribution system works as follows: - -#### Fee Generation -Fees are calculated per swap transaction using the subnet's fee rate (default 0.3% or 196/65535) [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L554-L566). When a swap occurs, the `add_fees()` function distributes the fee proportionally to all active liquidity providers based on their share of the current liquidity [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/impls.rs#L567-L597). - -#### Fee Tracking -The system maintains two levels of fee tracking: -- **Global Fee Counters**: `FeeGlobalTao` and `FeeGlobalAlpha` track total fees accumulated across the entire subnet [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L80-L84) -- **Tick-Level Tracking**: Individual ticks record the global fee state when they are crossed, enabling precise fee calculation for positions [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/position.rs#L130-L140) - -#### Fee Calculation -Each position calculates its earned fees using the `collect_fees()` method, which: -1. Determines the fees accumulated within the position's price range -2. Subtracts previously collected fees to get the new fees earned -3. Multiplies by the position's liquidity share to get the final fee amount [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/position.rs#L110-L128) - -#### Fee Distribution -**Fees are NOT distributed automatically per tempo like emissions.** Instead, fees are only distributed when you actively interact with your position: - -- **When modifying a position** (adding or removing liquidity): All accumulated fees are automatically collected and sent to your wallet [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L520-L535) -- **When removing a position entirely**: All accumulated fees are collected along with your position's tokens [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/pallet/mod.rs#L410-L415) - -:::tip -Fees are **NOT added to your position's liquidity**. -::: - -Fees are tracked in the position's `fees_tao` and `fees_alpha` fields and are only distributed to your wallet when you perform a position operation. This means your position's token composition and liquidity remain unchanged by fee accumulation - only the fee tracking variables are updated [See source code](https://github.com/opentensor/subtensor/blob/devnet-ready/pallets/swap/src/position.rs#L110-L128). - -This means you must actively manage your positions to claim your earned fees - they remain locked in the position until you perform a position operation (modify or remove). - -### Removing a Position - -When a position is destroyed/removed, the position's liquidity is converted back to tokens based on the current subnet price relative to your position's price range. The position is then deleted from the system. - -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/extrinsics/asyncex/liquidity.py#L127-L185) - -## Managing positions - -### Adding a liquidity position - -Create a liquidity position with `add_liquidity`. -```python -await subtensor.add_liquidity( - wallet=wallet, - netuid=netuid, - liquidity=Balance.from_tao(1.0), - price_low=Balance.from_tao(1.5), - price_high=Balance.from_tao(2.0), - wait_for_inclusion=True, - wait_for_finalization=False, - period=None -) -``` - -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L2997-L3056) - -### Modifying a position - -Use `modify_liquidity` with the desired amount to add or subtract liquidity to an existing position. - -```python -# Adding liquidity (positive delta) -await subtensor.modify_liquidity( - wallet=wallet, - netuid=netuid, - position_id=position_id, - liquidity_delta=Balance.from_tao(0.5), - wait_for_inclusion=True, - wait_for_finalization=False, - period=None -) - -# Subtracting liquidity (negative delta) -await subtensor.modify_liquidity( - wallet=wallet, - netuid=netuid, - position_id=position_id, - liquidity_delta=Balance.from_tao(0.6) * -1, # or -Balance.from_tao(0.6) - wait_for_inclusion=True, - wait_for_finalization=False, - period=None -) -``` - -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L3210-L3269) - -### Removing a liquidity position - -Removes liquidity and credits balances back to the creator's wallet. - -```python -await subtensor.remove_liquidity( - wallet=wallet, - netuid=netuid, - position_id=position_id, - wait_for_inclusion=True, - wait_for_finalization=False, - period=None -) -``` - -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L3418-L3477) - -### Listing positions - -Get all positions on a specific subnet for a specific wallet. Returns a list of `LiquidityPosition` objects with calculated fees. - -```python -positions = await subtensor.get_liquidity_list( - wallet=wallet, - netuid=netuid, - block=None -) -``` - -[See source code](https://github.com/opentensor/bittensor/blob/staging/bittensor/core/subtensor.py#L1451-L1523) - diff --git a/docs/local-build/create-subnet.md b/docs/local-build/create-subnet.md index 9a4363e9c5..c942a3049e 100644 --- a/docs/local-build/create-subnet.md +++ b/docs/local-build/create-subnet.md @@ -15,7 +15,6 @@ Prerequisites: ## Create subnet - ```shell btcli subnet create \ --subnet-name awesome-first-subnet \ @@ -177,3 +176,13 @@ btcli subnet list \ │ │ │ │ │ 2.01k/29.00 │ │ │ │ │ │ │ │ (6931.03%) │ │ │ ``` + +## Start emissions on your subnet + +To activate your subnet, beginning emissions and allowing staking, run: + +``` +btcli subnet start --netuid 2 \ +--wallet.name sn-creator \ +--network ws://127.0.0.1:9945 +``` \ No newline at end of file diff --git a/docs/local-build/deploy.md b/docs/local-build/deploy.md index e1557c642f..c4d55ec7cc 100644 --- a/docs/local-build/deploy.md +++ b/docs/local-build/deploy.md @@ -1,5 +1,5 @@ --- -title: "Build and Deploy the Blockchain" +title: "Run a Local Bittensor Blockchain Instance" toc_max_heading_level: 2 --- @@ -7,9 +7,9 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import Heading from '@theme/Heading'; -# Create a Local Bittensor Blockchain Instance +# Run a Local Bittensor Blockchain Instance -This tutorial will guide the user through deploying a local instance of Subtensor, Bittensor's L1 blockchain. Running a local instance of the Subtensor blockchain is a great way to test changes and explore the network in a safe and isolated environment. +This tutorial will guide the user through running a local instance of Subtensor, Bittensor's L1 blockchain. Running a local instance of the Subtensor blockchain is a great way to test changes and explore the network in a safe and isolated environment. ## Running a local subtensor instance diff --git a/docs/local-build/mine-validate.md b/docs/local-build/mine-validate.md index 1f85dfab83..888b21663a 100644 --- a/docs/local-build/mine-validate.md +++ b/docs/local-build/mine-validate.md @@ -13,7 +13,7 @@ This page continues the tutorial series on local Bittensor development. In this - [Provision wallets for the sn-creator, miner, and validator users for this tutorial.](./provision-wallets) - [Create a Subnet on your local chain](./create-subnet) -## Register the Miner and Validator +## Register Register the subnet miner and validator with the following commands: diff --git a/docs/local-build/provision-wallets.md b/docs/local-build/provision-wallets.md index 3ba4cb2387..748103e4c2 100644 --- a/docs/local-build/provision-wallets.md +++ b/docs/local-build/provision-wallets.md @@ -42,10 +42,10 @@ You will need wallets for the different personas, i.e., subnet owner, subnet val - The owner wallet creates and controls the subnet. - The validator and miner will be registered to the subnet created by the owner. This ensures that the validator and miner can run the respective validator and miner scripts. -### Create a coldkey-only wallet for the subnet creator role (they do not need a hotkey): +### Set up a wallet for the subnet creator role with a coldkey and hotkey. ```bash -btcli wallet new_coldkey \ +btcli wallet create \ --wallet.name sn-creator ``` @@ -60,7 +60,6 @@ btcli wallet new_coldkey \ btcli wallet new_hotkey \ --wallet.name miner \ --wallet.hotkey default - ``` ### Set up the validator's wallet with a coldkey and hotkey: diff --git a/docusaurus.config.js b/docusaurus.config.js index 460ea3b0d9..5c75657600 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -76,6 +76,10 @@ const config = { to: "/btcli", from: "/reference/btcli", }, + { + to: "/liquidity-positions/", + from: "/liquidity-provider", + }, { to: "/staking-and-delegation/delegation", from: "/delegation", diff --git a/sidebars.js b/sidebars.js index 6081902ad2..4e0349ea7e 100644 --- a/sidebars.js +++ b/sidebars.js @@ -81,6 +81,16 @@ const sidebars = { "validators/validators-btcli-guide", ], }, + { + type: "category", + label: "Liquidity Positions (Uniswap)", + collapsible: true, + collapsed: true, + items: [ + 'liquidity-positions/liquidity-positions', + 'liquidity-positions/managing-liquidity-positions' + ], + }, { type: "category", label: "Managing Subnets", @@ -88,8 +98,7 @@ const sidebars = { collapsed: true, items: [ "subnets/metagraph", - "subnets/create-a-subnet", - 'liquidity-provider', + "subnets/create-a-subnet", "subnets/subnet-creators-btcli-guide", "subnets/subnet-hyperparameters", "subnets/working-with-subnets", From f36f91ceb1ed5a742b62575476c1f3e795e07d25 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Thu, 17 Jul 2025 15:18:26 -0700 Subject: [PATCH 158/303] uniswap little touches (#38) * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Apply suggestions from code review Co-authored-by: Roman <167799377+basfroman@users.noreply.github.com> * wip * wip --------- Co-authored-by: Roman <167799377+basfroman@users.noreply.github.com> --- .../managing-liquidity-positions.md | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/docs/liquidity-positions/managing-liquidity-positions.md b/docs/liquidity-positions/managing-liquidity-positions.md index 41856a240e..ea0e04cb73 100644 --- a/docs/liquidity-positions/managing-liquidity-positions.md +++ b/docs/liquidity-positions/managing-liquidity-positions.md @@ -172,17 +172,6 @@ Additionally, in order to manage liquidity on a subnet, a user use a hotkey that The token input when creating a LP depends on whether the current token price is above, below, or within the window between the high and low price that define the position. Therefore you should always check the current token price when creating, removing, or modifying positions, so you correctly anticipate the behavior. -### Understanding the `liquidity` Parameter - -:::tip -To easily view token prices on your local chain, as well as your TAO balance and alpha stakes, use the BTCLI dashboard: -``` -btcli view dashboard \ ---wallet.name liquidity-manager \ ---network ws://127.0.0.1:9945 -``` -::: - To observe the token input behavior of liquidity positions, let's create attempt to create 3 LPs, such that the current price is below, within, and above, the positions' respective price windows. @@ -198,6 +187,15 @@ See [Liquidity Positions: Dynamic token composition](./#dynamic-token-compositio Always check the token price prior to creating LPs so you can predict their behavior. +To easily view token prices on your local chain, as well as your TAO balance and alpha stakes, use the BTCLI dashboard: +``` +btcli view dashboard \ +--wallet.name liquidity-manager \ +--network ws://127.0.0.1:9945 +``` + +You can also check the price with the following: + ``` btcli subnet list --network ws://127.0.0.1:9945 From 4a006fadab1a089de4d8022016de45ddd19f7fcf Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Fri, 18 Jul 2025 00:34:58 +0100 Subject: [PATCH 159/303] subnet creation (wip) --- docs/btcli.md | 2 +- docs/glossary.md | 144 ++++++++++++++++---------- docs/local-build/create-subnet.md | 130 ++++++++--------------- docs/local-build/deploy.md | 2 +- docs/local-build/provision-wallets.md | 44 ++++---- docs/subnets/create-a-subnet.md | 4 +- docs/working-with-keys.md | 10 +- 7 files changed, 164 insertions(+), 172 deletions(-) diff --git a/docs/btcli.md b/docs/btcli.md index 9bf2291395..c0bdcae4cc 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -681,7 +681,7 @@ btcli wallet transfer [OPTIONS] | `--destination`, `--dest`, `-d` | TEXT | Destination address (ss58) of the wallet (coldkey). | | `--amount`, `-a` | FLOAT | Amount (in TAO) to transfer. | | `--all` | | Transfer all available balance. | -| `--all`, `-a` | | Whether to display the balances for all the wallets. | +| `--all` | | Whether to display the balances for all the wallets. | | `--period`, `-era` | INTEGER | Length (in blocks) for which the transaction should be valid. | | `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | | `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | diff --git a/docs/glossary.md b/docs/glossary.md index e499742fa5..a3e4b43ff0 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -4,7 +4,7 @@ title: "Glossary" # Glossary -## A +## A ### Active UID @@ -40,10 +40,16 @@ A digital wallet that holds the core ownership in the Bittensor network and serv ### Block -A unit of data in the Bittensor blockchain, containing a collection of transactions and a unique identifier (block hash). A single block is processed every 12 seconds in the Bittensor blockchain. +A unit of data in the Bittensor blockchain, containing a collection of transactions and a unique identifier (block hash). A single block is processed every 12 seconds in the Bittensor blockchain. **See also:** [Subtensor API](./sdk/subtensor-api.md) +### Burn cost + +This refers to the required amount of TAO to be recycled when creating a new subnet, i.e., cost of registering a new subnet. + +**See also:** [Burn cost](./subnets/create-a-subnet.md#burn-cost) + ## C ### Coldkey @@ -65,7 +71,9 @@ The commit reveal feature is designed to solve the weight-copying problem by giv **See also:** [Commit Reveal](./subnets/commit-reveal.md) ### Consensus Score + + The consensus score is calculated as the stake-weighted median of all weights assigned to a specific neuron by validators. This creates a consensus threshold that filters out outlier weights, ensuring that only weights near the median consensus are used in final rank calculations. **See also:** [Yuma Consensus](./yuma-consensus.md), [Consensus-Based Weights](./subnets/consensus-based-weights.md) @@ -73,29 +81,34 @@ The consensus score is calculated as the stake-weighted median of all weights as #### Mathematical Definition: For each neuron $j$, the consensus score $C_j$ is calculated as: + $$ C_j = \text{weighted\_median}(\{w_{ij} \mid i \in \text{validators}\}, \{s_i \mid i \in \text{validators}\}, \kappa) $$ Where: + - $w_{ij}$ is the weight assigned by validator $i$ to neuron $j$ - $s_i$ is the stake of validator $i$ - $\kappa$ is the consensus majority ratio (typically 51%) - $\text{weighted\_median}$ is the stake-weighted median function Calculation Process: + 1. **Weight collection**: Gather all weights assigned to each neuron by validators 2. **Stake weighting**: Apply stake weights to validator opinions 3. **Median calculation**: Find stake-weighted median using κ parameter (typically 51%) 4. **Threshold establishment**: Consensus score becomes clipping threshold for weights Properties and Interpretation: + - **Range**: [0, 1] normalized values - **High Consensus**: Values close to 1 indicate strong validator agreement - **Low Consensus**: Values close to 0 indicate weak validator agreement - **Outlier Detection**: Weights below consensus score are clipped to 0 Network Security Properties: + - **Anti-Manipulation**: Consensus filtering prevents weight manipulation by outliers - **Stake-Weighted**: Higher stake validators have more influence in consensus - **Dynamic Threshold**: Consensus adapts to changing network conditions @@ -104,25 +117,28 @@ Network Security Properties: #### Relationship to Other Metrics **Consensus vs Trust:** + - **Consensus**: Stake-weighted median of weights (consensus threshold) - **Trust**: Ratio of final rank to pre-rank (consensus alignment impact) - **Relationship**: Consensus determines weight clipping, Trust measures the impact **Consensus vs Ranks:** + - **Consensus**: Threshold for weight filtering - **Ranks**: Final performance scores after consensus filtering - **Relationship**: Consensus influences rank calculation through weight clipping **Consensus vs Validator Trust:** + - **Consensus**: Per-neuron consensus thresholds - **Validator Trust**: Sum of clipped weights set by each validator - **Relationship**: Validator trust measures validator influence in consensus -**Source**: +**Source**: + - [`bittensor/bittensor/core/metagraph.py:360-372`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L360-372) - [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:595`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L595) - ## D ### Delegate @@ -137,15 +153,13 @@ The amount of TAO staked by the delegate themselves. **See also:** [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md), [Managing Stake with SDK](./staking-and-delegation/managing-stake-sdk.md) - - ### Delegation Also known as staking, delegating TAO to a validator (who is thereby the delegate), increases the validator's stake and secure a validator permit. **See also:** [Delegation](./staking-and-delegation/delegation.md), [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md) -### Dendrite +### Dendrite A client instance used by subnet validators and subnet miners to transmit information to axons on subnet miners and subnet validators. Dendrites communicate with axons using the server-client (Axon-dendrite) protocol. @@ -157,7 +171,7 @@ The process of removing a subnet miner or a subnet validator from the subnet due **See also:** [Miner Deregistration](./miners/#miner-deregistration), [Subnet Miners](./miners/) -## E +## E ### EdDSA Cryptographic Keypairs @@ -199,7 +213,7 @@ A development-only configuration that accelerates block production to 250ms inte **See also:** [Create a local instance](./local-build/deploy.md?local-chain=docker#2-run-the-container) -## H +## H ### Hotkey @@ -213,7 +227,7 @@ Authentication mechanism for delegates and nominators and for delegates particip **See also:** [Coldkey-Hotkey Security](./getting-started/coldkey-hotkey-security.md), [Working with Keys](./working-with-keys.md) -## I +## I ### Immunity Period @@ -233,7 +247,7 @@ A system that drives the behavior of subnet miners and governs consensus among s **See also:** [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](./subnets/understanding-subnets.md) -## L +## L ### Lite Node @@ -259,7 +273,7 @@ In the context of machine learning, a mathematical function that measures the di **See also:** [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](./subnets/understanding-subnets.md) -## M +## M ### Mainchain @@ -285,7 +299,7 @@ A sequence of words used to regenerate keys, in case of loss, and restore coldke **See also:** [Handle Seed Phrase](./keys/handle-seed-phrase.md), [Working with Keys](./working-with-keys.md) -## N +## N ### NaCl Format @@ -307,8 +321,7 @@ Neurons participate in the network through axon servers (miners) and dendrite cl **See also:** [Understanding Neurons](./learn/neurons.md), [Subnet Validators](./validators/), [Subnet Miners](./miners/), [NeuronInfo class](pathname:///python-api/html/autoapi/bittensor/core/chain_data/neuron_info/index.html) - -## N +## N ### Nominate @@ -328,7 +341,7 @@ A development-only configuration that adheres to Subtensor’s default 12-second **See also:** [Create a local instance](./local-build/deploy.md?local-chain=docker#2-run-the-container) -## O +## O ### Objective Function @@ -336,7 +349,7 @@ In the context of machine learning and subnet operations, this refers to the goa **See also:** [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](./subnets/understanding-subnets.md) -## P +## P ### Private Key @@ -368,7 +381,7 @@ A publicly accessible node in the Bittensor network that can be run as a lite no **See also:** [Subtensor Nodes](./subtensor-nodes/), [Managing Subtensor Connections](./sdk/managing-subtensor-connections.md) -## R +## R ### RAO @@ -382,28 +395,31 @@ This metagraph property represents the final aggregate judgment of a each miner, Ranks are calculated as the stake-weighted sum of consensus-clipped weights and directly determine emissions to miners. - **See also:** [Emissions](./emissions.md), [Yuma Consensus](./yuma-consensus.md), [Subnet Metagraph](./subnets/metagraph) **Relationship to Other Metrics:** + - **Ranks vs Consensus**: Ranks are calculated using consensus-clipped weights - **Ranks vs Trust**: Trust measures how much consensus clipping affected the rank - **Ranks vs Incentive**: Ranks are normalized to become incentive values - **Ranks vs Validator Trust**: Validator trust measures validator influence in consensus **Calculation Process:** + 1. **Pre-ranks**: Initial stake-weighted sum of all weights before consensus filtering 2. **Consensus calculation**: Stake-weighted median of weights per neuron (consensus threshold) 3. **Weight clipping**: Weights clipped at consensus threshold to remove outliers 4. **Final ranks**: Stake-weighted sum of clipped weights (the rank value) **Properties and Interpretation:** + - **Range**: [0, 1] normalized values after final normalization - **High Rank**: Values close to 1 indicate strong consensus-based performance - **Low Rank**: Values close to 0 indicate weak consensus-based performance - **Incentive Distribution**: Ranks directly determine incentive allocation to miner neurons **Network Security Properties:** + - **Consensus-Based**: Ranks reflect network consensus rather than individual validator opinions - **Outlier Protection**: Consensus clipping prevents manipulation by outlier weights - **Stake-Weighted**: Higher stake validators have more influence in rank calculation @@ -414,22 +430,23 @@ For each neuron $j$, the rank $R_j$ is calculated as: $$R_j = \sum_{i \in \text{validators}} S_i \cdot \overline{W_{ij}}$$ Where: + - $S_i$ is the stake of validator $i$ - $\overline{W_{ij}}$ is the consensus-clipped weight from validator $i$ to neuron $j$ - The sum is taken over all validators in the subnet -**Source**: +**Source**: + - [`bittensor/bittensor/core/metagraph.py:325-331`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L325-331) - [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:605`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L605) - ### Recycling, burning, and locking "Recycling TAO" means that this TAO is put back into the Bittensor emissions system. Instead of minting new TAO this recycled TAO that is in the recycle bin will be used again in the new emissions. This happens in two cases: -- When you register either as a subnet validator or a subnet miner and get a `UID` in return, the registration cost TAO you pay is recycled. +- When you register either as a subnet validator or a subnet miner and get a `UID` in return, the registration cost TAO you pay is recycled. - Emissions are recycled for those subnets that have registration turned off or paused. When TAO is burned it is permanently removed from circulation, reducing total supply. @@ -450,7 +467,7 @@ The process of registering keys with a subnet and purchasing a UID slot. **See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/), [Working with Subnets](./subnets/working-with-subnets.md) -## S +## S ### SS58 Encoded @@ -466,23 +483,21 @@ A group of elected delegates formed from the top K delegate hotkeys, responsible ### Stake -The amount of currency tokens delegated to a validator UID in a subnet. Includes both self-stake (from the validator's own cold-key) and stake delegated from others. +The amount of currency tokens delegated to a validator UID in a subnet. Includes both self-stake (from the validator's own cold-key) and stake delegated from others. Stake determines a validator's weight in consensus as well as their emissions. **See also:** [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md), [Managing Stake with SDK](./staking-and-delegation/managing-stake-sdk.md), [Delegation](./staking-and-delegation/delegation.md) - - ### Stake Weight The computed total stake value for a validator that determines their consensus power and emissions in a subnet. Stake weight combines a validator's alpha stake and TAO stake using the TAO weight parameter to calculate their total influence in the network. **See also:** [TAO Weight](#tao-weight), [Understanding Subnets](./subnets/understanding-subnets.md) - **Mathematical Definition:** For a validator with alpha stake $\alpha$ and TAO stake $\tau$, the stake weight $W$ is calculated as: + $$ W = {\alpha + \tau \ \times w_{\tau}} $$ @@ -490,16 +505,19 @@ $$ Where $w_{\tau}$ is the global TAO weight parameter (currently 0.18) A validator's relative influence in a subnet is calculated as: + $$ \text{Relative Stake Weight} = \frac{\text{Stake Weight}_i}{\sum_{v \in \text{validators}} \text{Stake Weight}_v} $$ **Consensus Power:** + - **Weight Setting**: Higher stake weight means more influence when setting weights - **Validator Permits**: Stake weight determines eligibility for validator permits - **Bond Formation**: Stake weight influences bond calculations and retention **Validator Emissions:** + - **Relative Distribution**: Higher stake weight -> higher emission share **Code References:** @@ -507,7 +525,6 @@ $$ - **Yuma Consensus**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:530`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L530) - **Validator dividend distribution**: [`subtensor/pallets/subtensor/src/coinbase/run_coinbase.rs:165`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/coinbase/run_coinbase.rs#L165) - ### Staking The process of attaching TAO to a hotkey, i.e., locking TAO to a hotkey, to participate as a subnet validator, and to secure a validator permit. @@ -528,7 +545,7 @@ The framework that governs the behavior of subnet miners and ensures consensus a ### Subnet Miner -The task-performing entity within a Bittensor subnet. A subnet miner is a type of node in a Bittensor subnet that is connected only to subnet validators. Subnet miners are isolated from the external world and communicate bidirectionally with subnet validators. A subnet miner is responsible for performing tasks given to them by the subnet validators in that subnet. +The task-performing entity within a Bittensor subnet. A subnet miner is a type of node in a Bittensor subnet that is connected only to subnet validators. Subnet miners are isolated from the external world and communicate bidirectionally with subnet validators. A subnet miner is responsible for performing tasks given to them by the subnet validators in that subnet. **See also:** [Subnet Miner Documentation](./miners/) @@ -582,7 +599,7 @@ A data object used by subnet validators and subnet miners as the main vehicle to **See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/) -## T +## T ### TAO ($\tau$) @@ -595,9 +612,10 @@ The cryptocurrency of the Bittensor network, used to incentivize participation i A global parameter (currently set to 0.18) that determines the relative influence of TAO stake versus alpha stake when calculating a validator's total stake weight, a critical value that influence's a validator's consensus power and emissions. **See also:** [Stake Weight](#stake-weight) + ### Tempo -A 360-block period during which the Yuma Consensus calculates emissions to subnet participants based on the latest available ranking weight matrix. A single block is processed every 12 seconds, hence a 360-block tempo occurs every 4320 seconds or 72 minutes. +A 360-block period during which the Yuma Consensus calculates emissions to subnet participants based on the latest available ranking weight matrix. A single block is processed every 12 seconds, hence a 360-block tempo occurs every 4320 seconds or 72 minutes. **See also:** [Yuma Consensus](./yuma-consensus.md), [Emissions](./emissions.md) @@ -619,31 +637,35 @@ In the Yuma Consensus algorithm, trust represents how much a miner's rank was af **See also:** [Yuma Consensus](./yuma-consensus.md), [Subnet Metagraph](./subnets/metagraph) - **Mathematical Definition:** For each neuron $j$, the trust $T_j$ is calculated as: + $$ T_j = \frac{R_j}{P_j} $$ Where: + - $R_j$ is the final rank after consensus clipping - $P_j$ is the pre-rank before consensus clipping - The ratio indicates the proportion of original support that survived consensus filtering Interpretation: + - **Range**: [0, 1] where 1.0 indicates perfect consensus alignment - **`Trust = 1.0`**: Neuron's rank unchanged by consensus (high consensus alignment) - **`Trust < 1.0`**: Neuron's rank reduced by consensus clipping (lower value means more reduction) - **`Trust = 0.0`**: Neuron's rank eliminated by consensus (no consensus support) Calculation Process: + 1. **Pre-ranks calculation**: $P_j = \sum_{i} S_i \cdot W_{ij}$ (stake-weighted sum of all weights) 2. **Consensus filtering**: Weights clipped at consensus threshold to remove outliers 3. **Final ranks calculation**: $R_j = \sum_{i} S_i \cdot \overline{W_{ij}}$ (stake-weighted sum of clipped weights) 4. **Trust calculation**: $T_j = R_j / P_j$ (ratio of final to pre-rank) **Relationship to Other Metrics:** + - **Trust vs Consensus**: Trust measures the impact of consensus filtering - **Trust vs Ranks**: Trust is the ratio of final rank to pre-rank - **Trust vs Validator Trust**: Trust is per-neuron, Validator Trust is per-validator @@ -651,26 +673,21 @@ Calculation Process: **Metric Comparison Table** -| Metric | Purpose | Calculation | Range | Interpretation | -|--------|---------|-------------|-------|----------------| -| **Consensus** | Consensus threshold | Stake-weighted median of weights per neuron | [0, 1] | Higher = stronger validator agreement | -| **Ranks** | Performance scoring | Stake-weighted sum of clipped weights | [0, 1] | Higher = better performance after consensus | -| **Trust** | Consensus alignment | Final rank / Pre-rank | [0, 1] | 1.0 = no clipping, < 1.0 = some clipping | -| **Validator Trust** | Validator influence | Sum of clipped weights per validator | [0, 1] | Higher = more consensus-aligned validator | +| Metric | Purpose | Calculation | Range | Interpretation | +| ------------------- | ------------------- | ------------------------------------------- | ------ | ------------------------------------------- | +| **Consensus** | Consensus threshold | Stake-weighted median of weights per neuron | [0, 1] | Higher = stronger validator agreement | +| **Ranks** | Performance scoring | Stake-weighted sum of clipped weights | [0, 1] | Higher = better performance after consensus | +| **Trust** | Consensus alignment | Final rank / Pre-rank | [0, 1] | 1.0 = no clipping, < 1.0 = some clipping | +| **Validator Trust** | Validator influence | Sum of clipped weights per validator | [0, 1] | Higher = more consensus-aligned validator | + +**Source**: -**Source**: - [`bittensor/bittensor/core/metagraph.py:380-393`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L380-393) - [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:608`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L608) - - - - The relationship between these metrics creates a feedback loop: consensus determines weight clipping, which affects ranks and trust, which influences validator trust, which feeds back into future consensus calculations. This system ensures that the network rewards neurons with strong validator agreement while penalizing those with controversial or outlier weight assignments, creating a robust mechanism for maintaining network quality and security. - - -## U +## U ### UID Slot @@ -678,7 +695,7 @@ A position occupied by a subnet miner or subnet validator within a subnet, ident **See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/), [Working with Subnets](./subnets/working-with-subnets.md) -## V +## V ### Validator Permit @@ -692,10 +709,9 @@ A list of subnet IDs (netuids) indicating which subnets a delegate is authorized **See also:** [Validator Permits](#validator-permit), [Delegation](./staking-and-delegation/delegation.md), [Validator Requirements](./validators/index.md#requirements-for-validation) - ### Validator -A type of node in a subnet that creates tasks, evaluates the performance of subnet miners and sets weights based on their output. A subnet validator is connected only to subnet miners and to the external world. Subnet validators receive inputs from the external world and communicate bidirectionally with subnet miners. +A type of node in a subnet that creates tasks, evaluates the performance of subnet miners and sets weights based on their output. A subnet validator is connected only to subnet miners and to the external world. Subnet validators receive inputs from the external world and communicate bidirectionally with subnet miners. **See also:** [Subnet Validators](./validators/), [Validators btcli Guide](./validators/validators-btcli-guide.md) @@ -713,39 +729,44 @@ For each validator $i$, the validator trust $T_{vi}$ is calculated as: $$T_{vi} = \sum_{j \in \text{neurons}} \overline{W_{ij}}$$ Where: + - $\overline{W_{ij}}$ is the consensus-clipped weight from validator $i$ to neuron $j$ - The sum is taken over all neurons in the subnet - Validator trust measures the total influence a validator has in consensus **Calculation Process:** + 1. **Weight setting**: Validators set weights to all neurons in the subnet 2. **Consensus calculation**: Stake-weighted median of weights per neuron (consensus threshold) 3. **Weight clipping**: Weights clipped at consensus threshold to remove outliers 4. **Validator trust calculation**: Sum of all clipped weights set by each validator **Properties and Interpretation:** + - **Range**: [0, 1] normalized values - **High Validator Trust**: Values close to 1 indicate strong consensus alignment - **Low Validator Trust**: Values close to 0 indicate outlier weight assignments - **Validator Influence**: Higher validator trust means more influence in consensus decisions **Network Security Properties:** + - **Consensus Alignment**: Validator trust measures how well validators align with consensus - **Outlier Detection**: Low validator trust indicates potential manipulation attempts - **Validator Quality**: High validator trust indicates quality validation services - **Economic Incentives**: Validator trust influences validator rewards and bond retention -**Source**: +**Source**: + - [`bittensor/bittensor/core/metagraph.py:397-409`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L397-409) - [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:600`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L600) **Relationship to Other Metrics:** + - **Validator Trust vs Trust**: Validator trust is per-validator, Trust is per-neuron - **Validator Trust vs Consensus**: Validator trust measures validator influence in consensus - **Validator Trust vs Ranks**: Validator trust influences rank calculation through consensus - **Validator Trust vs Bonds**: Validator trust affects bond retention and validator permits - ### Validator-Miner Bonds Bonds represent the "investment" a validator has made in evaluating a specific miner. This bonding mechanism is integral to the Yuma Consensus' design intent of incentivizing high-quality performance by miners, and honest evaluation by validators. @@ -757,6 +778,7 @@ The instant bond $\Delta B_{ij}$ of validator $i$ to miner $j$ is calculated as: $$\Delta B_{ij} = \frac{S_i \cdot \widetilde{W_{ij}}}{\sum_{k \in \mathbb{V}} S_k \cdot \widetilde{W_{kj}}}$$ Where: + - $S_i$ is validator $i$'s stake - $\widetilde{W_{ij}}$ is the bond-weight (penalty-adjusted weight) - The denominator normalizes by the total bond-weight for miner $j$ across all validators @@ -766,6 +788,7 @@ Bond-weights are penalized when validators overstate miner performance: $$\widetilde{W_{ij}} = (1-\beta)W_{ij} + \beta\overline{W_{ij}}$$ Where: + - $W_{ij}$ is the original weight set by validator $i$ for miner $j$ - $\overline{W_{ij}}$ is the consensus-clipped weight - $\beta$ is the bonds penalty factor (configurable hyperparameter) @@ -779,52 +802,62 @@ Where $\alpha$ is the EMA smoothing factor. **Bond Mechanics and Design:** **Consensus Alignment:** + - Validators who stay near consensus build stronger EMA bonds - Bonds are penalized when validators overstate miner performance - The EMA smooths out abrupt swings in validator behavior - Bonds incentivize consistent alignment with consensus **Bond Retention:** + - Neurons retain bonds only if they keep validator permits - Bonds are cleared when neurons lose validator permits - Bonds are stored as sparse matrices in blockchain state **Bond Decay:** + - Bonds decay over time based on the `bonds_moving_avg` parameter - Higher decay rates make bonds more responsive to recent performance - Lower decay rates allow bonds to persist longer **Economic Alignment:** + - Bonds create long-term relationships between validators and miners - Validators are incentivized to discover and support promising miners early - Bond strength reflects validator confidence in miner performance **Dynamic Adjustment:** + - Bonds adapt to changing network conditions and consensus - EMA smoothing prevents exploitation of rapid bond changes - Bonds provide stability while allowing for network evolution **Retrieval:** + - Bonds can be queried via the `bonds()` method in the Subtensor API - Metagraph includes bonds matrix accessible via `metagraph.B` property - Bonds are included in neuron information structures **Related hyperparameters:** + - `bonds_penalty`: Controls penalty for out-of-consensus weights (0-65535) - `bonds_moving_avg`: Controls bond decay rate (typically 900,000) - `liquid_alpha_enabled`: Enables dynamic alpha adjustment for bonds **Validator Permits:** + - Bonds are retained only by neurons with validator permits - Loss of validator permit clears all bonds for that neuron - Bonds align with permit retention for economic security **Emission Distribution:** + - Bonds directly determine validator emission shares - Strong bonds lead to higher validator rewards - Bonds create market-based incentive alignment **Code References:** + - [Bond calculation in epoch execution]https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs:631) - [EMA bond computation]https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/math.rs:1475) - [Bonds API method]https://github.com/opentensor/subtensor/blob/main/bittensor/core/async_subtensor.py:931) @@ -840,8 +873,7 @@ Effectively, this represents the fee percentage that validators charge delegator **See also:** [Emissions](./emissions.md) - -## W +## W ### Wallet Address @@ -869,10 +901,10 @@ The ranking weight vectors for each subnet are transmitted to the blockchain, wh **See also:** [Consensus-Based Weights](./subnets/consensus-based-weights.md), [Yuma Consensus](./yuma-consensus.md) -## Y +## Y ### Yuma Consensus -The consensus mechanism in the Bittensor blockchain that computes emissions to participants. +The consensus mechanism in the Bittensor blockchain that computes emissions to participants. -**See also:** [Yuma Consensus](./yuma-consensus.md) \ No newline at end of file +**See also:** [Yuma Consensus](./yuma-consensus.md) diff --git a/docs/local-build/create-subnet.md b/docs/local-build/create-subnet.md index 9a4363e9c5..a0c62fe244 100644 --- a/docs/local-build/create-subnet.md +++ b/docs/local-build/create-subnet.md @@ -8,14 +8,14 @@ This page covers creating a subnet on a locally deployed Subtensor blockchain, w For creating a subnet on Bittensor test and main network, see [Create a Subnet](../subnets/create-a-subnet). -Prerequisites: +## Prerequisites: - [Deploy a Subtensor chain locally](./deploy) -- [Provision wallets for the sn-creator, miner, and validator users for this tutorial.](./provision-wallets) +- [Provision wallets for the subnet creator, miner, and validator users for this tutorial.](./provision-wallets) +- Sufficient amount of TAO in your subnet creator wallet to cover the [burn cost](../glossary.md#burn-cost). ## Create subnet - ```shell btcli subnet create \ --subnet-name awesome-first-subnet \ @@ -23,94 +23,37 @@ btcli subnet create \ --network ws://127.0.0.1:9945 ``` -### Trouble shoot - -#### Insufficient funds - -If you are following this tutorial for the first time, the `subnet create` command will faill with an insufficient balance error. - -The coldkey signing the `subnet create` transaction must have a sufficient $\tau$ balance to cover the burn cost of subnet creation, so called because the funds cannot be recovered. - -```console -Subnet burn cost: τ 1,000.0000 -Your balance of: τ 0.0000 is not enough to burn τ 1,000.0000 to register a subnet. -``` - -Transfer funds from the Alice account to cover it and try again. Consult `btcli w list` and carefully check the ss58 address of the destination coldkey (in this case, the one with the name `sn-creator`). - -```shell -btcli wallet transfer \ ---amount 1001 \ ---wallet.name alice \ ---destination "5C9xw4..." \ ---network ws://127.0.0.1:9945 -``` - -#### Network Rate Limit Error - -If you see a network rate limit error, you may need to adjust the `SubtensorInitialNetworkRateLimit` chain state parameter. - -See [Clone and tweak the Subtensor source](./deploy#clone-and-tweak-the-subtensor-source) - -### Burn cost - -The burn cost for subnet creation is dynamic; it lowers gradually and doubles every time a subnet is created. - -:::tip try it live - -Check the burn cost to create a subnet on Bittensor main network and test network: - - - - - -```shell -btcli subnet burn-cost --network finney -``` - - - - -```shell -btcli subnet burn-cost --network test -``` - - - -::: - ## Fund your subnet To remedy your liquidity shortfall, transfer $\tau$ from the Alice account and try again. 1. First, get the ss58 address for the destination wallet for the transfer: - ```shell - btcli w list - ``` - ```shell - ... - ── Coldkey sn-creator ss58_address 5C9xw4gDyu11ocdpWrmhT1sbi4xEHCpzEMsyMA4jGfAZQofQ - └── Hotkey default ss58_address 5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR - ``` + ```shell + btcli w list + ``` + ```shell + ... + ── Coldkey sn-creator ss58_address 5C9xw4gDyu11ocdpWrmhT1sbi4xEHCpzEMsyMA4jGfAZQofQ + └── Hotkey default ss58_address 5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR + ``` 1. Execute the transfer from `alice` to the sn-creator wallet - ```console - btcli wallet transfer \ - --amount 1001 \ - --wallet.name alice \ - --destination "5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR" \ - --subtensor.chain_endpoint ws://127.0.0.1:9945 - ``` - - ```shell - Do you want to transfer: - amount: τ 1,001.0000 - from: alice : 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY - to: 5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR - for fee: τ 0.0001 [y/n]: y - 🌏 📡 Transferring... - ``` - + ```console + btcli wallet transfer \ + --amount 1001 \ + --wallet.name alice \ + --destination "5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR" \ + --subtensor.chain_endpoint ws://127.0.0.1:9945 + ``` + + ```shell + Do you want to transfer: + amount: τ 1,001.0000 + from: alice : 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY + to: 5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR + for fee: τ 0.0001 [y/n]: y + 🌏 📡 Transferring... + ``` ## Success @@ -177,3 +120,22 @@ btcli subnet list \ │ │ │ │ │ 2.01k/29.00 │ │ │ │ │ │ │ │ (6931.03%) │ │ │ ``` + +## Troubleshooting + +### Insufficient funds + +The coldkey signing the `subnet create` transaction must have a sufficient $\tau$ balance to cover the burn cost of subnet creation, so called because the funds cannot be recovered. + +```console +Subnet burn cost: τ 1,000.0000 +Your balance of: τ 0.0000 is not enough to burn τ 1,000.0000 to register a subnet. +``` + +To fix this, transfer TAO from the Alice account to cover this transaction and try again. For more information, see [Transfer TAO to wallets](./provision-wallets.md#transfer-tao-to-wallets) + +### Network Rate Limit Error + +If you see a network rate limit error, you may need to adjust the `SubtensorInitialNetworkRateLimit` chain state parameter. + +See [Clone and tweak the Subtensor source](./deploy#clone-and-tweak-the-subtensor-source) diff --git a/docs/local-build/deploy.md b/docs/local-build/deploy.md index e1557c642f..97915173f1 100644 --- a/docs/local-build/deploy.md +++ b/docs/local-build/deploy.md @@ -1,5 +1,5 @@ --- -title: "Build and Deploy the Blockchain" +title: "Create a Local Bittensor Blockchain Instance" toc_max_heading_level: 2 --- diff --git a/docs/local-build/provision-wallets.md b/docs/local-build/provision-wallets.md index 1582258a79..67dab72068 100644 --- a/docs/local-build/provision-wallets.md +++ b/docs/local-build/provision-wallets.md @@ -8,6 +8,10 @@ Now that your local Subtensor chain is deployed, you can provision wallets to se Every local blockchain is pre-provisioned with an "Alice" account, which is loaded with one million $\tau$. +## Prerequisites + +To follow along with the rest of this tutorial, ensure that you have a local chain running. To set up a local chain, see [Create a local blockchain instance](./deploy.md). + ## Access the Alice account To access the handy pre-provisioned development "Alice" account on your local chain, use: @@ -46,39 +50,33 @@ The following should be returned in the console: You will need wallets for the different personas, i.e., subnet owner, subnet validator and subnet miner, in the subnet. -- The owner wallet creates and controls the subnet. +- The subnet owner wallet creates and controls the subnet. - The validator and miner will be registered to the subnet created by the owner. This ensures that the validator and miner can run the respective validator and miner scripts. -### Create a coldkey-only wallet for the subnet creator role (they do not need a hotkey): +To create a wallet, run the following command in your terminal: ```bash btcli wallet new_coldkey \ ---wallet.name sn-creator +--wallet.name WALLET_NAME \ +--hotkey WALLET_HOTKEY \ +--network ws://127.0.0.1:9945 ``` -### Set up the miner's wallet with a coldkey and hotkey: +Replace `WALLET_NAME` and `WALLET_HOTKEY` with the appropriate identifiers for each role—subnet creator, miner, or validator. -```bash -btcli wallet new_coldkey \ ---wallet.name miner -``` +### Transfer TAO to wallets -```bash -btcli wallet new_hotkey \ ---wallet.name miner \ ---wallet.hotkey default +After creating your wallets, transfer some TAO from the `Alice` account to them to cover the transaction fees required for onchain operations. To transfer TAO, run the following command in your terminal: +```sh +btcli wallet transfer \ +--wallet.name alice \ +--destination DESTINATION_ADDRESS \ +--network ws://127.0.0.1:9945 ``` -### Set up the validator's wallet with a coldkey and hotkey: +Replace `DESTINATION_ADDRESS` with the wallet address you want to send the TAO to. -```bash -btcli wallet new_coldkey \ ---wallet.name validator -``` - -```bash -btcli wallet new_hotkey \ ---wallet.name validator \ ---wallet.hotkey default -``` +:::info +Run the `btcli wallets list` command and carefully check the ss58 address of the destination coldkey that you want to fund. +::: diff --git a/docs/subnets/create-a-subnet.md b/docs/subnets/create-a-subnet.md index b22c97d1a6..30a3d8bb27 100644 --- a/docs/subnets/create-a-subnet.md +++ b/docs/subnets/create-a-subnet.md @@ -21,7 +21,7 @@ Prospective subnet creators should familiarize themselves with the space of exis ### Burn cost -The burn cost for subnet creation is dynamic; it lowers gradually and doubles every time a subnet is created. +This refers to the required amount of TAO to be recycled when creating a new subnet. The burn cost for subnet creation is dynamic and reflects the current cost to register a new subnet. Its value lowers gradually and doubles every time a subnet is created. :::tip try it live @@ -68,7 +68,7 @@ Subnet creations are limited to **one subnet creation per 7200 blocks** (approxi - [Install the most recent version of BTCLI](../getting-started/install-btcli). -- [Create a wallet](../getting-started/wallets.md#creating-a-local-wallet). +- [Create a wallet](../getting-started/wallets.md#creating-a-local-wallet). - To create a subnet on test chain, your wallet must have sufficient test net TAO. Inquire in [Discord](https://discord.com/channels/799672011265015819/1107738550373454028/threads/1331693251589312553) to obtain TAO on Bittensor test network. - To create a subnet on main network (finney) requires a substantial investment of TAO, depending on current registration cost for new subnets. diff --git a/docs/working-with-keys.md b/docs/working-with-keys.md index ce8db13829..92a6284196 100644 --- a/docs/working-with-keys.md +++ b/docs/working-with-keys.md @@ -27,7 +27,7 @@ The most critical operational goal when handling Bittensor wallets is to avoid l -If you plan to validate or mine in a subnet, you must have both a coldkey and a hotkey. If you already have a coldkey, you can [create a new hotkey](?create-wallet=hotkey) for it. +If you intend to mine or validate within a subnet, or create and manage a subnet, you’ll need both a coldkey and a hotkey. If you already have a coldkey, you can [create a new hotkey](?create-wallet=hotkey) for it. To create a new coldkey and hotkey, run the following command in the terminal: @@ -99,7 +99,7 @@ btcli wallet regen_coldkey --mnemonic "word1 word2 ... word12" -If you plan to validate or mine in a subnet, you must create both a coldkey and a hotkey. +If you plan to validate or mine in a subnet, you must create both a coldkey and a hotkey. A hotkey is also required when creating and managing subnets. Before creating a hotkey, you must have created a coldkey as described in the [creating a coldkey tab](?create-wallet=coldkey). Next, provide this coldkey as a parameter to generate a hotkey. This will pair the hotkey with the coldkey as shown: @@ -153,9 +153,9 @@ btcli wallet new_hotkey --use-password --wallet.name test-coldkey --wallet.hotke -If you plan to validate or mine in a subnet, you must have both a coldkey and a hotkey. +If you intend to mine or validate within a subnet, or create and manage a subnet, you’ll need both a coldkey and a hotkey. If you already have a coldkey, you can [create a new hotkey](?create-wallet=hotkey) for it. -Copy and paste the following three lines into your Python interpreter. Replace the string values for `name` (`my_coldkey`) and `hotkey` (`my_hotkey`) with your own. +To create a wallet with Python, copy and paste the following three lines into your Python interpreter. Replace the string values for `name` (`my_coldkey`) and `hotkey` (`my_hotkey`) with your own. ```python showLineNumbers import bittensor as bt @@ -218,7 +218,7 @@ You can use the mnemonic to recreate the key in case it gets lost. -If you plan to validate or mine in a subnet, you must have both a coldkey and a hotkey. +If you plan to validate or mine in a subnet, you must have both a coldkey and a hotkey. A hotkey is also required when creating and managing subnets. Before creating a hotkey, you must have created a coldkey as described in the [creating a coldkey tab](?create-wallet=coldkey). Next, provide this coldkey as a parameter to generate a hotkey. This will pair the hotkey with the coldkey as shown: From 14700c45e4a288ec5a53aa938fd6e0298557af1b Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Mon, 21 Jul 2025 23:25:37 +0100 Subject: [PATCH 160/303] updated subtensor node docs --- .../liquidity-positions.md | 41 ++--- .../managing-liquidity-positions.md | 142 +++++++++--------- docs/subtensor-nodes/using-docker.md | 107 +++++++------ docs/subtensor-nodes/using-source.md | 28 ++-- 4 files changed, 167 insertions(+), 151 deletions(-) diff --git a/docs/liquidity-positions/liquidity-positions.md b/docs/liquidity-positions/liquidity-positions.md index 1e2a2c3e64..c2a0b21586 100644 --- a/docs/liquidity-positions/liquidity-positions.md +++ b/docs/liquidity-positions/liquidity-positions.md @@ -17,11 +17,11 @@ A LP does not accumulate fees for staking operations by the coldkey that owns it ::: See also: + - [Managing User Liquidity Positions Tutorial](./managing-liquidity-positions). ### Liquidity Positions vs. Staking - When you stake TAO to a validator, you're essentially voting for that validator's participation in the subnet's consensus mechanism. The validator's total stake (including your delegation) determines their share of emissions and influence in the network. Stakers earn emissions off of their stake, which are distributed each tempo. @@ -37,29 +37,30 @@ A liquidity position (LP) can hold TAO, alpha, or both. This depends on the subn This compositions represents the token requirements for creating an LP depending, as well as token yield from removing liquidity form the position, depending on the token price relative to the LP's price window, at the block when the transaction executes. **Price below range** (`current_price < price_low`): - - Position becomes **100% Alpha tokens** - - `amount_alpha = liquidity * (1/sqrt_price_low - 1/sqrt_price_high)` - - `amount_tao = 0` + +- Position becomes **100% Alpha tokens** +- `amount_alpha = liquidity * (1/sqrt_price_low - 1/sqrt_price_high)` +- `amount_tao = 0` **Price within range** (`price_low <= current_price <= price_high`): - - Position maintains **mixed token composition** - - `amount_alpha = liquidity * (1/sqrt_current_price - 1/sqrt_price_high)` - - `amount_tao = liquidity * (sqrt_current_price - sqrt_price_low)` + +- Position maintains **mixed token composition** +- `amount_alpha = liquidity * (1/sqrt_current_price - 1/sqrt_price_high)` +- `amount_tao = liquidity * (sqrt_current_price - sqrt_price_low)` **Price above range** (`current_price > price_high`): - - Position becomes **100% TAO tokens** - - `amount_alpha = 0` - - `amount_tao = liquidity * (sqrt_price_high - sqrt_price_low)` -[See source code](https://github.com/opentensor/bittensor/blob/master/bittensor/utils/liquidity.py#L28-L58) +- Position becomes **100% TAO tokens** +- `amount_alpha = 0` +- `amount_tao = liquidity * (sqrt_price_high - sqrt_price_low)` +[See source code](https://github.com/opentensor/bittensor/blob/master/bittensor/utils/liquidity.py#L28-L58) ## Liquidity Position Lifecycle - ### Creating Positions -To create an LP, the user specifies a *liquidity* parameter, which is converted into some combination of TAO and alpha token balances. TAO are taken from the users coldkey, alpha tokens are taken from the hotkey on which the Liquidity Position was created, and they are and locked up in the LP. +To create an LP, the user specifies a _liquidity_ parameter, which is converted into some combination of TAO and alpha token balances. TAO are taken from the users coldkey, alpha tokens are taken from the hotkey on which the Liquidity Position was created, and they are locked up in the LP. ### Modifying a Position @@ -67,7 +68,7 @@ Its creator can modify an existing LP by adding or removing liquidity. The same ### Fee Accumulation -Fees are generated when users perform swaps (trading TAO for Alpha or vice versa) within your position's price range. +Fees are generated when users perform swaps (trading TAO for Alpha or vice versa) within their position's price range. :::tip Fees are not added to your position's liquidity, they are tracked separately, in the position's `fees_tao` and `fees_alpha` fields. @@ -75,13 +76,14 @@ Fees are not added to your position's liquidity, they are tracked separately, in See: [Managing User Liquidity Positions Tutorial: View your LPs](./managing-liquidity-positions#view-your-lps) ::: - The blockchain calculates fees for each position based on: + - Quantity staked/unstaked, tao/alpha respectively - The the position's liquidity relative to other LPs that have their price range include the transaction. @@ -92,12 +94,12 @@ The blockchain calculates fees for each position based on: Fees are not distributed automatically per tempo like emissions. Instead, fees are only distributed to your wallet when you actively withdraw liquidity: - **When modifying a position** (adding or removing liquidity): All accumulated fees are automatically collected and sent to your wallet. - [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/pallet/mod.rs#L410-L415) + [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/pallet/mod.rs#L410-L415) - **When removing a position entirely**: All accumulated fees are collected along with your position's tokens. - [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/pallet/mod.rs#L520-L535) + [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/pallet/mod.rs#L520-L535) - and are only distributed to your wallet when you perform a position operation. This means your position's token composition and liquidity remain unchanged by fee accumulation - only the fee tracking variables are updated [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/position.rs#L110-L128). +and are only distributed to your wallet when you perform a position operation. This means your position's token composition and liquidity remain unchanged by fee accumulation - only the fee tracking variables are updated [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/position.rs#L110-L128). This means you must actively manage your positions to claim your earned fees - they remain locked in the position until you perform a position operation (modify or remove). @@ -123,7 +125,7 @@ if current_price < price_low { alpha_amount = liquidity * (1/√price_low - 1/√price_high) tao_amount = 0 } else if current_price > price_high { - # Only TAO tokens required + # Only TAO tokens required tao_amount = liquidity * (√price_high - √price_low) alpha_amount = 0 } else { @@ -136,4 +138,3 @@ if current_price < price_low { See also: - [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/position.rs#L80-L122) - diff --git a/docs/liquidity-positions/managing-liquidity-positions.md b/docs/liquidity-positions/managing-liquidity-positions.md index ea0e04cb73..5f93fd628a 100644 --- a/docs/liquidity-positions/managing-liquidity-positions.md +++ b/docs/liquidity-positions/managing-liquidity-positions.md @@ -13,14 +13,17 @@ Liquidity positions can be complicated and potentially confusing, as their behav - When liquidity is exited from an existing LP by removing (deleting) the position. ## Setup + ### Deploy a Bittensor (Subtensor) blockchain locally. See: [Deploy a Local Bittensor Blockchain Instance](../local-build/deploy) -Or try the easy way, by running: +Or try the easy way, by running: + ```bash docker run --rm --name test_local_chain_ -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready ``` + ### Create a subnet Create a subnet managed by the Alice wallet. @@ -34,13 +37,12 @@ btcli subnet create \ --network ws://127.0.0.1:9945 ``` - - ### Start emissions First, use the subnet creator key to start emissions on the subnet. Assuming your want to use subnet 2, run: @@ -59,7 +61,7 @@ Decrypting... ``` :::tip -After some time has passed, you'll be able to confirm that emissions are flowing by inspecting your subnet's token economy. You'll see a non-zero amount in the *Emissions* column, indicating, even if no mining activity is occuring, the subnet creator key accumulates emissions. +After some time has passed, you'll be able to confirm that emissions are flowing by inspecting your subnet's token economy. You'll see a non-zero amount in the _Emissions_ column, indicating, even if no mining activity is occuring, the subnet creator key accumulates emissions. If you have only started one subnet, you'll see that it's emissions are always exactly 1 $\tau$. @@ -82,9 +84,10 @@ btcli sudo set --netuid 2 \ --parameter user_liquidity_enabled \ --value True \ --wallet.name sn-creator \ ---network ws://127.0.0.1:9945 +--network ws://127.0.0.1:9945 ``` + ```console ✅ Hyperparameter user_liquidity_enabled changed to True @@ -93,80 +96,82 @@ btcli sudo set --netuid 2 \ HYPERPARAMETER VALUE NORMALIZED ──────────────────────────────────────────────────────────────────────── - + (all the hyperparameters...) user_liquidity_enabled True True ──────────────────────────────────────────────────────────────────────── ``` + :::tip Confirm the subnet configuration with the following command, checking that `user_liquidity_enabled` is `True`. + ``` btcli subnet hyperparameters --netuid 2 --network ws://127.0.0.1:9945 ``` -::: +::: ### Create and fund a liquidity manager wallet - Additionally, in order to manage liquidity on a subnet, a user use a hotkey that has some stake on the subnet. Therefore you must register and stake some liquidity into the hotkey. This alpha liquidity will be used for the alpha component when you add liquidity to a position, when creating or modifying it. 1. Create the wallet - ```shell - btcli w create --wallet.name liquidity-manager --hotkey lp-hotkey - ``` + ```shell + btcli w create --wallet.name liquidity-manager --hotkey lp-hotkey + ``` 2. Transfer funds from the Alice account - ``` - btcli wallet transfer \ - --amount 1001 \ - --wallet.name alice \ - --destination "5F7LNFEmsngMV2yaA41WPeYuQmVGcesu5TPJizPDpSUHviVr" \ # Coldkey public key for your liquidity-manager wallet - --network ws://127.0.0.1:9945 - ``` + ``` + btcli wallet transfer \ + --amount 1001 \ + --wallet.name alice \ + --destination "5F7LNFEmsngMV2yaA41WPeYuQmVGcesu5TPJizPDpSUHviVr" \ # Coldkey public key for your liquidity-manager wallet + --network ws://127.0.0.1:9945 + ``` 3. Check your balance in the dashboard - ```shell - btcli view dashboard \ - --wallet.name liquidity-manager \ - --network ws://127.0.0.1:9945 - ``` + + ```shell + btcli view dashboard \ + --wallet.name liquidity-manager \ + --network ws://127.0.0.1:9945 + ``` 4. Register your liquidity-manager's hotkey. + This is the hotkey that will contain alpha stake related to the position. When you add alpha liquidity to the position, it will come from this hotkey, and when you exit it from the position, it will be credited to this hotkey. + + You can either use your wallet's name for the hotkey (as below), or specify the hotkey's ss58 address in interactive mode. If you need to find your hotkey's ss58, use `btcli wallet list`. + + :::tip + On a local blockchain running in fastblocks mode, you will likely need to use the `--period` flag to give you a long enough window before your registration request will expire. + ::: - This is the hotkey will contain alpha stake related to the position. When you add alpha liquidity to the position, it will come from this hotkey, and when you exit it from the position, it will credit to this hotkey. - - You can either use your wallet's name for the hotkey (as below), or specify the hotkey's ss58 address in interactive mode. If you need to find your hotkey's ss58, use `btcli wallet list`. - - :::tip - On a local blockchain running in fastblocks mode, you will likely need to use the `--period` flag to give you a long enough window before your registration request will expire. - ::: - - ```shell - btcli subnet register \ - --wallet.name liquidity-manager \ - --wallet.hotkey hotsauce \ - --period 20 \ - --network ws://127.0.0.1:9945 - ``` - ```console - Register to netuid: 2 - Network: custom - - Netuid ┃ Symbol ┃ Cost (Τ) ┃ Hotkey ┃ Coldkey - ━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - 2 │ β │ τ 0.0913 │ 5DJepbhrkAVdf5L3kXLMvjHu8TBB62AAGN8U4LjTtQYoKG9R │ 5F7LNFEmsngMV2yaA41WPeYuQmVGcesu5TPJizPDpSUHviVr - ────────┼────────┼──────────┼──────────────────────────────────────────────────┼────────────────────────────────────────────────── - │ │ │ │ - Your balance is: 1,001.0000 τ - The cost to register by recycle is 0.0913 τ - Do you want to continue? [y/n] (n): y - Enter your password: - Decrypting... - Balance: - 1,001.0000 τ ➡ 1,000.9087 τ - ✅ Registered on netuid 2 with UID 1 - ``` + ```shell + btcli subnet register \ + --wallet.name liquidity-manager \ + --wallet.hotkey hotsauce \ + --period 20 \ + --network ws://127.0.0.1:9945 + ``` + + ```console + Register to netuid: 2 + Network: custom + + Netuid ┃ Symbol ┃ Cost (Τ) ┃ Hotkey ┃ Coldkey + ━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + 2 │ β │ τ 0.0913 │ 5DJepbhrkAVdf5L3kXLMvjHu8TBB62AAGN8U4LjTtQYoKG9R │ 5F7LNFEmsngMV2yaA41WPeYuQmVGcesu5TPJizPDpSUHviVr + ────────┼────────┼──────────┼──────────────────────────────────────────────────┼────────────────────────────────────────────────── + │ │ │ │ + Your balance is: 1,001.0000 τ + The cost to register by recycle is 0.0913 τ + Do you want to continue? [y/n] (n): y + Enter your password: + Decrypting... + Balance: + 1,001.0000 τ ➡ 1,000.9087 τ + ✅ Registered on netuid 2 with UID 1 + ``` ## Creating liquidity positions @@ -174,20 +179,18 @@ The token input when creating a LP depends on whether the current token price is To observe the token input behavior of liquidity positions, let's create attempt to create 3 LPs, such that the current price is below, within, and above, the positions' respective price windows. - If we attempt to create an LP with high window, i.e. with its low price above the current token price, or if we attempt to create one with a window that spans the current price, it will fail. That is because the token composition for a LP with a high window is entirely alpha, and for a LP with a window that spans the current price, it is mixed TAO and alpha. Therefore, to create the LP requires some alpha to be staked into the hotkey, and currently the hotkey has no stake. - However, if we attempt to create a LP with a low window relative to the current price, i.e. with its high price below the current price, it will succeed, because the LP is composed entirely of TAO. See [Liquidity Positions: Dynamic token composition](./#dynamic-token-composition). - ### Check the price Always check the token price prior to creating LPs so you can predict their behavior. To easily view token prices on your local chain, as well as your TAO balance and alpha stakes, use the BTCLI dashboard: + ``` btcli view dashboard \ --wallet.name liquidity-manager \ @@ -248,10 +251,10 @@ Error: Subtensor returned `InsufficientBalance(Module)` error. This means: `The However, the following position can be created, because its high price is below the current token price. - ```shell btcli liquidity add --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager ``` + ```console Enter the amount of liquidity: 10 Enter liquidity position low price: .5 @@ -270,10 +273,10 @@ LiquidityPosition has been successfully added. View the position by running: - ```shell btcli liquidity list --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager ``` + ```console Liquidity Positions of liquidity-manager wallet in SN #2 @@ -286,11 +289,10 @@ btcli liquidity list --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liq ``` -### Add alpha to the liquidity manager hotkey +### Add alpha to the liquidity manager hotkey Next, stake into your hotkey so you'll be able to create those other LPs. - :::note notes Use `--partial` to make things easier; this option allows you to specify a large staking amount, and an amount will be staked up to your tolerance threshold. @@ -302,7 +304,7 @@ btcli stake add --netuid 2 \ --hotkey hotsauce --amount 10 \ --wallet.name liquidity-manager \ --partial \ ---network ws://127.0.0.1:9945 +--network ws://127.0.0.1:9945 ``` ```console @@ -367,11 +369,14 @@ If you now view your dashboard, you'll see that your TAO balance has reduced by Now let's try again to create the positions that previously we could not. #### High window position + ```shell btcli liquidity add --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager --hotkey hotsauce --liquidity 10 --price-low 1.1 --price-high 1.3 ``` + #### Spanning window position + ```shell btcli liquidity add --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager --hotkey hotsauce --liquidity 10 --price-low .5 --price-high 1.5 ``` @@ -401,16 +406,15 @@ btcli liquidity list --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liq ``` ## + Now let's see what happens when we stake and unstake within the trading window of liquidity positions. Create a validator coldkey if you don't have one, (See [Provision Wallets for Local Deploy](../local-build/provision-wallets) and [Mine and Validate (Locally): Register](../local-build/mine-validate)) then transfer a small amount of TAO to it from the Alice wallet. Then register a hotkey for it on subnet 2. - Now, let's stake to it from the Alice wallet. - ``` btcli stake add --netuid 2 \ --network ws://127.0.0.1:9945 --wallet.name alice --partial --amount 1000 @@ -473,12 +477,10 @@ Subnet: 2 Stake: 420.9182 β ➡ 457.4970 β ``` - So now, examining the liquidity positions, we can see that some small amount of fees have accumulated to the LP whose window spans the current price, but not the others. Note that the fees have accumulated to `Fee TAO`, but not to `Fee Alpha`. - ```shell btcli liquidity list --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager @@ -495,12 +497,11 @@ Note that the fees have accumulated to `Fee TAO`, but not to `Fee Alpha`. Now let's unstake and see what happens - ```shell btcli stake remove --netuid 2 \ --partial \ --wallet.name alice \ ---network ws://127.0.0.1:9945 +--network ws://127.0.0.1:9945 ``` ```console @@ -598,6 +599,7 @@ You can find the required LP ID with `btcli liquidity list`, as seen above. ```shell btcli liquidity remove --netuid 2 --network ws://127.0.0.1:9945 --wallet.name liquidity-manager ``` + ```console Enter the liquidity position ID: 5 Enter the SS58 of the hotkey to use for this transaction.: 5DJepbhrkAVdf5L3kXLMvjHu8TBB62AAGN8U4LjTtQYoKG9R diff --git a/docs/subtensor-nodes/using-docker.md b/docs/subtensor-nodes/using-docker.md index 09e2d04261..d3f50a3086 100644 --- a/docs/subtensor-nodes/using-docker.md +++ b/docs/subtensor-nodes/using-docker.md @@ -1,109 +1,120 @@ --- title: "Using Docker" --- + import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; # Using Docker To run a subtensor node with Docker, follow the below steps. -:::danger Not tested on cloud -We have not tested subtensor node installation scripts on any cloud service. In addition, if you are using Runpod cloud service, then note that this service is already [containerized](https://docs.runpod.io/pods/overview). Hence, the only option available to you for Runpod is to install a subtensor node by [compiling from source](using-source.md). **Note that we have not tested any subtensor installation steps on Runpod.** +:::danger Not tested on cloud +We have not tested subtensor node installation scripts on any cloud service. In addition, if you are using Runpod cloud service, then note that this service is already [containerized](https://docs.runpod.io/pods/overview). Hence, the only option available to you for Runpod is to install a subtensor node by [compiling from source](using-source.md). **Note that we have not tested any subtensor installation steps on Runpod.** ::: If you are already running a subtensor node using Docker, then go directly to [Step 5 Prepare to Run ](#step-5-prepare-to-run). The below steps 1 through 4 are for first time users only. -## Step 1: Install git - -Ensure that `git` is installed on your machine. Refer to the [GitHub documentation](https://docs.github.com/en/get-started) for installation instructions. +## Prerequisites -## Step 2: Install Docker +Before you begin, make sure you have installed the following on your machine: -Follow Docker's [official installation guides](https://docs.docker.com/engine/install/) and install Docker. +- Install [Git](https://git-scm.com/downloads) +- [Docker](https://docs.docker.com/desktop/use-desktop/) -:::tip Run Docker first -Before proceeding, make sure that Docker is running. -::: +The Bittensor SDK and Bittensor CLI are required to interact with the local blockchain instance. -## Step 3: Clone the subtensor repo +## Step 1: Clone the subtensor repo -Clone the subtensor repository: +Clone the subtensor repository and navigate into the Subtensor directory: ```bash git clone https://github.com/opentensor/subtensor.git -``` - -## Step 4: Go into subtensor directory - -Navigate into the Subtensor directory: - -```bash cd subtensor ``` -## Step 5: Switch to `main` branch +:::tip Always Pull the Latest Changes -Execute the below commands in this order: +Before running the subtensor node, always ensure that you're working with the latest version of the repository. To do this, run the following command in the `subtensor` directory to fetch and merge the most recent updates: -Switch to the `main` branch: - -```bash -git checkout main -``` - -Pull the latest `main` branch contents: - -```bash +```sh git pull ``` -## Step 6: Stop and clean Docker environment +::: + +## Step 2: Clean Docker environment -Stop any currently running Docker containers and clean up the Docker environment: +Next, stop any currently running Docker containers and clean up the Docker environment using the following command: ```bash docker compose down --volumes && docker system prune -a --volumes -f ``` -## Linux post-installation steps for Docker Engine +:::warning Linux post-installation steps for Docker Engine +Please follow Docker's [official documentation](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) to perform standard Linux post-installation steps for Docker Engine -Please follow Docker's [official documentation](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user ) to perform standard Linux post-installation steps for Docker Engine - -:::tip Adding a user to the `docker` group is only necessary on Linux, where `sudo` privileges are required to run Docker commands. It is unnecessary on macOS. ::: +## Step 3: Run the subtensor node + +Now you can run the subtensor nodes for either mainchain or testchain using any of available options. -## Run a Lite Node on Mainchain +### Using lite nodes -To run a lite node connected to the Bittensor mainchain, execute the below command. +A lite node which primarily syncs with the only blocks that have been finalized, and not the entire blockchain. Run a lite node using the command corresponding to your target chain: + + +To run a lite node connected to the Bittensor mainchain, run the following command: ```bash ./scripts/run/subtensor.sh -e docker --network mainnet --node-type lite ``` -## Run an Archive Node on Mainchain - -To run an archive node connected to the Bittensor mainchain, execute the below command. + + +To run a lite node connected to the Bittensor testchain, run the following command: ```bash -./scripts/run/subtensor.sh -e docker --network mainnet --node-type archive +./scripts/run/subtensor.sh -e docker --network testnet --node-type lite ``` -## Run a Lite Node on Testchain + + + +The command pulls the Subtensor Docker image and starts the container. + +:::warning Docker Resource Allocation +Ensure Docker is configured with sufficient CPU and memory resources to meet the system requirements for running a subtensor node. Inadequate allocation may prevent the node from starting correctly. + +We recommend allocating at least 20 GB of RAM. You can adjust these settings in Docker Desktop under **Settings** > **Resources**. +::: + +### Using archive nodes -To run a lite node connected to the Bittensor testchain, execute the below command. +An archive node downloads and validates all the Bittensor blockchain blocks from inception up to the most recent block. Run an archive node using the command corresponding to your target chain: + + + +To run an archive node connected to the Bittensor mainchain, run the following command: ```bash -./scripts/run/subtensor.sh -e docker --network testnet --node-type lite +./scripts/run/subtensor.sh -e docker --network mainnet --node-type archive ``` -## Run an Archive Node on Testchain - -To run an archive node connected to the Bittensor testchain, execute the below command. + + +To run an archive node connected to the Bittensor testchain, run the following command: ```bash ./scripts/run/subtensor.sh -e docker --network testnet --node-type archive ``` + + + + +The command pulls the Subtensor Docker image and starts the container. diff --git a/docs/subtensor-nodes/using-source.md b/docs/subtensor-nodes/using-source.md index e521b5036d..6eea0aff84 100644 --- a/docs/subtensor-nodes/using-source.md +++ b/docs/subtensor-nodes/using-source.md @@ -1,6 +1,7 @@ --- title: "Using Source Code" --- + import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; @@ -8,8 +9,8 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; To install and run a subtensor node by compiling the source code, follow the below steps. -:::danger Not tested on cloud -We have not tested subtensor node installation scripts on any cloud service. In addition, if you are using Runpod cloud service, then note that this service is already [containerized](https://docs.runpod.io/pods/overview). Hence, the only option available to you for Runpod is to install a subtensor node by compiling from source, as described below. **Note that we have not tested any subtensor installation steps on Runpod.** +:::danger Not tested on cloud +We have not tested subtensor node installation scripts on any cloud service. In addition, if you are using Runpod cloud service, then note that this service is already [containerized](https://docs.runpod.io/pods/overview). Hence, the only option available to you for Runpod is to install a subtensor node by compiling from source, as described below. **Note that we have not tested any subtensor installation steps on Runpod.** ::: ## Install basic packages @@ -17,7 +18,7 @@ We have not tested subtensor node installation scripts on any cloud service. In Install the basic requirements by running the below commands on a Linux terminal. ```bash title="Linux" -sudo apt-get update +sudo apt-get update sudo apt install -y build-essential clang curl git make libssl-dev llvm libudev-dev protobuf-compiler pkg-config ``` @@ -46,7 +47,7 @@ rustup toolchain install nightly rustup target add --toolchain nightly wasm32-unknown-unknown ``` -## Compile subtensor code +## Compile subtensor code Next, to compile the subtensor source code, follow the below steps: @@ -55,6 +56,7 @@ Next, to compile the subtensor source code, follow the below steps: ```bash git clone https://github.com/opentensor/subtensor.git ``` + 2. Change to the Subtensor directory: ```bash @@ -70,7 +72,7 @@ git checkout main 4. Remove any previous chain state: ```bash -rm -rf /var/lib/subtensor +rm -rf /var/lib/subtensor ``` 5. Install Subtensor by compiling with Cargo: @@ -83,13 +85,13 @@ cargo build -p node-subtensor --profile=production --features=metadata-hash You can now run the public subtensor node either as a lite node or as an archive node. See below: -### Lite node on mainchain +### Lite node on mainchain To run a lite node connected to the mainchain, execute the below command (note the `--sync=warp` flag which runs the subtensor node in lite mode): ```bash title="With --sync=warp setting, for lite node" -./target/production/node-subtensor --chain ./chainspecs/raw_spec_finney.json --base-path /var/lib/subtensor --sync=warp --port 30333 --max-runtime-instances 32 --rpc-max-response-size 2048 --rpc-cors all --rpc-port 9944 --bootnodes /dns/bootnode.finney.chain.opentensor.ai/tcp/30333/ws/p2p/12D3KooWRwbMb85RWnT8DSXSYMWQtuDwh4LJzndoRrTDotTR5gDC --no-mdns --prometheus-external --rpc-external -``` +./target/production/node-subtensor --chain ./chainspecs/raw_spec_finney.json --base-path /var/lib/subtensor --sync=warp --port 30333 --max-runtime-instances 32 --database paritydb --db-cache 4096 --trie-cache-size 2048 --rpc-max-response-size 2048 --rpc-cors all --rpc-port 9944 --bootnodes /dns/bootnode.finney.chain.opentensor.ai/tcp/30333/ws/p2p/12D3KooWRwbMb85RWnT8DSXSYMWQtuDwh4LJzndoRrTDotTR5gDC --no-mdns --rpc-external +``` ### Archive node on mainchain @@ -97,15 +99,15 @@ To run an archive node connected to the mainchain, execute the below command (no ```bash title="With --sync=full and --pruning archive setting, for archive node" ./target/production/node-subtensor --chain ./chainspecs/raw_spec_finney.json --base-path /var/lib/subtensor --sync=full --pruning archive --port 30333 --max-runtime-instances 32 --rpc-max-response-size 2048 --rpc-cors all --rpc-port 9944 --bootnodes /dns/bootnode.finney.chain.opentensor.ai/tcp/30333/ws/p2p/12D3KooWRwbMb85RWnT8DSXSYMWQtuDwh4LJzndoRrTDotTR5gDC --no-mdns --prometheus-external --rpc-external -``` +``` -### Lite node on testchain +### Lite node on testchain To run a lite node connected to the testchain, execute the below command: ```bash title="With bootnodes set to testnet and --sync=warp setting, for lite node." -./target/production/node-subtensor --chain ./chainspecs/raw_spec_testfinney.json --base-path /var/lib/subtensor --sync=warp --port 30333 --max-runtime-instances 32 --rpc-max-response-size 2048 --rpc-cors all --rpc-port 9944 --bootnodes /dns/bootnode.test.finney.opentensor.ai/tcp/30333/ws/p2p/12D3KooWPM4mLcKJGtyVtkggqdG84zWrd7Rij6PGQDoijh1X86Vr --no-mdns --prometheus-external --rpc-external -``` +./target/production/node-subtensor --chain ./chainspecs/raw_spec_testfinney.json --base-path /var/lib/subtensor --sync=warp --port 30333 --max-runtime-instances 32 --database paritydb --db-cache 4096 --trie-cache-size 2048 --rpc-max-response-size 2048 --rpc-cors all --rpc-port 9944 --bootnodes /dns/bootnode.test.finney.opentensor.ai/tcp/30333/ws/p2p/12D3KooWPM4mLcKJGtyVtkggqdG84zWrd7Rij6PGQDoijh1X86Vr --no-mdns --rpc-external +``` ### Archive node on testchain @@ -113,4 +115,4 @@ To run an archive node connected to the testchain, execute the below command: ```bash title="With bootnodes set to testnet and --sync=full and --pruning archive setting, for archive node" ./target/production/node-subtensor --chain ./chainspecs/raw_spec_testfinney.json --base-path /var/lib/subtensor --sync=full --pruning archive --port 30333 --max-runtime-instances 32 --rpc-max-response-size 2048 --rpc-cors all --rpc-port 9944 --bootnodes /dns/bootnode.test.finney.opentensor.ai/tcp/30333/ws/p2p/12D3KooWPM4mLcKJGtyVtkggqdG84zWrd7Rij6PGQDoijh1X86Vr --no-mdns --prometheus-external --rpc-external -``` +``` From c651574418556f40f6e1f9bbb2cf9cde0de2197e Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 22 Jul 2025 15:39:28 -0700 Subject: [PATCH 161/303] Update docs/liquidity-positions/liquidity-positions.md --- docs/liquidity-positions/liquidity-positions.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/liquidity-positions/liquidity-positions.md b/docs/liquidity-positions/liquidity-positions.md index c2a0b21586..52e3400668 100644 --- a/docs/liquidity-positions/liquidity-positions.md +++ b/docs/liquidity-positions/liquidity-positions.md @@ -99,7 +99,6 @@ Fees are not distributed automatically per tempo like emissions. Instead, fees a - **When removing a position entirely**: All accumulated fees are collected along with your position's tokens. [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/pallet/mod.rs#L520-L535) -and are only distributed to your wallet when you perform a position operation. This means your position's token composition and liquidity remain unchanged by fee accumulation - only the fee tracking variables are updated [See source code](https://github.com/opentensor/subtensor/blob/master/pallets/swap/src/position.rs#L110-L128). This means you must actively manage your positions to claim your earned fees - they remain locked in the position until you perform a position operation (modify or remove). From 76c7ee427b2a034f72e4e5fd15c6c7ee132afdf3 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 22 Jul 2025 23:43:25 +0100 Subject: [PATCH 162/303] updated code examples --- docs/subtensor-nodes/using-source.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/subtensor-nodes/using-source.md b/docs/subtensor-nodes/using-source.md index 6eea0aff84..11385ef923 100644 --- a/docs/subtensor-nodes/using-source.md +++ b/docs/subtensor-nodes/using-source.md @@ -89,7 +89,7 @@ You can now run the public subtensor node either as a lite node or as an archive To run a lite node connected to the mainchain, execute the below command (note the `--sync=warp` flag which runs the subtensor node in lite mode): -```bash title="With --sync=warp setting, for lite node" +```bash ./target/production/node-subtensor --chain ./chainspecs/raw_spec_finney.json --base-path /var/lib/subtensor --sync=warp --port 30333 --max-runtime-instances 32 --database paritydb --db-cache 4096 --trie-cache-size 2048 --rpc-max-response-size 2048 --rpc-cors all --rpc-port 9944 --bootnodes /dns/bootnode.finney.chain.opentensor.ai/tcp/30333/ws/p2p/12D3KooWRwbMb85RWnT8DSXSYMWQtuDwh4LJzndoRrTDotTR5gDC --no-mdns --rpc-external ``` @@ -97,7 +97,7 @@ To run a lite node connected to the mainchain, execute the below command (note t To run an archive node connected to the mainchain, execute the below command (note the `--sync=full` which syncs the node to the full chain and `--pruning archive` flags, which disables the node's automatic pruning of older historical data): -```bash title="With --sync=full and --pruning archive setting, for archive node" +```bash ./target/production/node-subtensor --chain ./chainspecs/raw_spec_finney.json --base-path /var/lib/subtensor --sync=full --pruning archive --port 30333 --max-runtime-instances 32 --rpc-max-response-size 2048 --rpc-cors all --rpc-port 9944 --bootnodes /dns/bootnode.finney.chain.opentensor.ai/tcp/30333/ws/p2p/12D3KooWRwbMb85RWnT8DSXSYMWQtuDwh4LJzndoRrTDotTR5gDC --no-mdns --prometheus-external --rpc-external ``` @@ -105,7 +105,7 @@ To run an archive node connected to the mainchain, execute the below command (no To run a lite node connected to the testchain, execute the below command: -```bash title="With bootnodes set to testnet and --sync=warp setting, for lite node." +```bash ./target/production/node-subtensor --chain ./chainspecs/raw_spec_testfinney.json --base-path /var/lib/subtensor --sync=warp --port 30333 --max-runtime-instances 32 --database paritydb --db-cache 4096 --trie-cache-size 2048 --rpc-max-response-size 2048 --rpc-cors all --rpc-port 9944 --bootnodes /dns/bootnode.test.finney.opentensor.ai/tcp/30333/ws/p2p/12D3KooWPM4mLcKJGtyVtkggqdG84zWrd7Rij6PGQDoijh1X86Vr --no-mdns --rpc-external ``` @@ -113,6 +113,6 @@ To run a lite node connected to the testchain, execute the below command: To run an archive node connected to the testchain, execute the below command: -```bash title="With bootnodes set to testnet and --sync=full and --pruning archive setting, for archive node" +```bash ./target/production/node-subtensor --chain ./chainspecs/raw_spec_testfinney.json --base-path /var/lib/subtensor --sync=full --pruning archive --port 30333 --max-runtime-instances 32 --rpc-max-response-size 2048 --rpc-cors all --rpc-port 9944 --bootnodes /dns/bootnode.test.finney.opentensor.ai/tcp/30333/ws/p2p/12D3KooWPM4mLcKJGtyVtkggqdG84zWrd7Rij6PGQDoijh1X86Vr --no-mdns --prometheus-external --rpc-external ``` From cbab68e088c5e879476c85ee24dc555ab3319325 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 22 Jul 2025 15:51:17 -0700 Subject: [PATCH 163/303] wip (#43) --- llms.txt | 203 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 203 insertions(+) create mode 100644 llms.txt diff --git a/llms.txt b/llms.txt new file mode 100644 index 0000000000..1b2ae27696 --- /dev/null +++ b/llms.txt @@ -0,0 +1,203 @@ +# Bittensor Documentation Resources + +## Official Documentation +The primary sources for Bittensor documentation and learning resources. +- **Main Documentation**: https://docs.bittensor.com - Comprehensive technical documentation covering all aspects of Bittensor +- **Learn Bittensor**: https://learnbittensor.org - User-friendly explanations and tutorials for beginners + +## Quick Reference +- **FAQ**: https://docs.bittensor.com/questions-and-answers - Frequently asked questions +- **Glossary**: https://docs.bittensor.com/glossary - Comprehensive terminology reference +- **Release Notes**: https://docs.bittensor.com/bittensor-rel-notes - Version release information + +## Core Concepts +### Introduction +- **Introduction to Bittensor**: https://docs.bittensor.com/learn/introduction +- **Learn Bittensor Introduction**: https://learnbittensor.org/explore/article/introduction-to-bittensor + +### Subnets +- **Understanding Subnets**: https://docs.bittensor.com/subnets/understanding-subnets +- **Creating Subnets**: https://docs.bittensor.com/subnets/create-a-subnet +- **Subnet Management**: + - Subnet Creators Guide: https://docs.bittensor.com/subnets/subnet-creators-btcli-guide + - Subnet Hyperparameters: https://docs.bittensor.com/subnets/subnet-hyperparameters + - Working with Subnets: https://docs.bittensor.com/subnets/working-with-subnets + - Walkthrough of Example Subnet: https://docs.bittensor.com/subnets/walkthrough-prompting + +### Consensus and Emissions +The mechanisms that power Bittensor's incentive system and reward distribution. +- **Yuma Consensus**: https://docs.bittensor.com/yuma-consensus - Technical details of Bittensor's consensus mechanism +- **Emissions**: https://docs.bittensor.com/emissions - How TAO and alpha tokens are distributed in the network + +### Dynamic TAO +- **Dynamic TAO Guide**: https://docs.bittensor.com/dynamic-tao/dtao-guide +- **Dynamic TAO FAQ**: https://docs.bittensor.com/dynamic-tao/dtao-faq +- **SDK Cheat Sheet**: https://docs.bittensor.com/dynamic-tao/sdk-cheat-sheet + +## Network Participants +### Miners +Participants who provide AI services to the network. +- **Miner Documentation**: https://docs.bittensor.com/miners/ - Complete guide to mining on Bittensor +- **Miner Guide**: https://docs.bittensor.com/miners/miners-btcli-guide - Command-line interface guide for miners +- **Learn Bittensor Miner Concept**: https://learnbittensor.org/explore/concept/miner - Simplified explanation of mining + +### Validators +Network participants who verify and rank miner performance. +- **Validator Documentation**: https://docs.bittensor.com/validators/ - Comprehensive validator guide +- **Validator Guide**: https://docs.bittensor.com/validators/validators-btcli-guide - CLI operations for validators +- **Child Hotkeys**: https://docs.bittensor.com/validators/subnets/child-hotkeys - Managing multiple validator instances +- **Learn Bittensor Validator Concept**: https://learnbittensor.org/explore/concept/validator - Beginner's guide to validation + +### Staking and Delegation +- **Staking/Delegation Overview**: https://docs.bittensor.com/staking-and-delegation/delegation +- **Staking Guides**: + - BTCLI Guide: https://docs.bittensor.com/staking-and-delegation/stakers-btcli-guide + - Managing Stake with BTCLI: https://docs.bittensor.com/staking-and-delegation/managing-stake-btcli + - Managing Stake with SDK: https://docs.bittensor.com/staking-and-delegation/managing-stake-sdk + - Polkadot.js Guide: https://docs.bittensor.com/staking-and-delegation/staking-polkadot-js + - Ledger Hardware Wallet: https://docs.bittensor.com/staking-and-delegation/using-ledger-hw-wallet + +## Development Tools +Essential tools for building and interacting with Bittensor. + +### BTCLI (Command Line Interface) +The primary command-line tool for Bittensor operations. +- **Overview**: https://docs.bittensor.com/btcli/overview - Introduction to BTCLI +- **Installation**: https://docs.bittensor.com/getting-started/install-btcli - Setting up BTCLI +- **Playground**: https://docs.bittensor.com/btcli/btcli-playground - Interactive BTCLI learning environment +- **Permissions**: https://docs.bittensor.com/btcli-permissions - Understanding BTCLI access levels +- **Full Reference**: https://docs.bittensor.com/btcli - Complete command reference + +### Bittensor Python SDK +- **Installation**: https://docs.bittensor.com/getting-started/installation +- **Wallet SDK Installation**: https://docs.bittensor.com/getting-started/install-wallet-sdk +- **SDK Documentation**: + - Async Subtensor: https://docs.bittensor.com/python-api/autoapi/bittensor/core/async_subtensor/index.html + - Subtensor: https://docs.bittensor.com/python-api/autoapi/bittensor/core/subtensor/index.html + - Metagraph API: https://docs.bittensor.com/python-api/html/autoapi/bittensor/metagraph/index.html + - Bittensor Wallet: https://docs.bittensor.com/btwallet-api/html/autoapi/btwallet/wallet/index.html +- **Migration Guide**: https://docs.bittensor.com/migration_guide +- **Subtensor Connections**: https://docs.bittensor.com/sdk/managing-subtensor-connections + +## Security +### Wallets and Keys +- **Wallet Basics**: https://docs.bittensor.com/getting-started/wallets +- **Seed Phrase Security**: https://docs.bittensor.com/keys/handle-seed-phrase +- **Coldkey/Hotkey Security**: https://docs.bittensor.com/getting-started/coldkey-hotkey-security +- **Working with Keys**: https://docs.bittensor.com/working-with-keys +- **Multisig Security**: https://docs.bittensor.com/keys/multisig +- **Coldkey Rotation**: https://docs.bittensor.com/subnets/schedule-coldkey-swap + +## Network Environments +### Endpoints +- **Mainnet**: wss://entrypoint-finney.opentensor.ai:443 +- **Testnet**: wss://test.finney.opentensor.ai:443 +- **Devnet**: wss://dev.chain.opentensor.ai:443 + +## Advanced Topics +### Local Development +- **Local Subtensor Deployment**: https://docs.bittensor.com/local-build/deploy + +### Subtensor Nodes +- **Node Basics**: https://docs.bittensor.com/subtensor-nodes/ +- **Node Requirements**: https://docs.bittensor.com/subtensor-nodes/subtensor-node-requirements +- **Source Installation**: https://docs.bittensor.com/subtensor-nodes/using-source +- **Docker Installation**: https://docs.bittensor.com/subtensor-nodes/using-docker +- **Rate Limits**: https://docs.bittensor.com/subtensor-nodes/subtensor-rate-limits +- **Storage Queries**: https://docs.bittensor.com/subtensor-nodes/subtensor-storage-query-examples +- **Error Messages**: https://docs.bittensor.com/subtensor-nodes/subtensor-error-messages + +### EVM Integration +- **EVM on Bittensor Overview**: https://docs.bittensor.com/evm-tutorials/ +- **EVM on Subtensor**: https://docs.bittensor.com/evm-tutorials/evm-on-subtensor +- **Installation**: https://docs.bittensor.com/evm-tutorials/install +- **Setup**: + - Hardhat Config: https://docs.bittensor.com/evm-tutorials/hardhat-config-for-subtensor-evm + - Testnet: https://docs.bittensor.com/evm-tutorials/evm-testnet-with-metamask-wallet + - Localnet: https://docs.bittensor.com/evm-tutorials/evm-localnet-with-metamask-wallet + - Mainnet: https://docs.bittensor.com/evm-tutorials/evm-mainnet-with-metamask-wallet +- **Precompiles**: + - Metamask to SS58: https://docs.bittensor.com/evm-tutorials/transfer-from-metamask-to-ss58 + - Between H160 Accounts: https://docs.bittensor.com/evm-tutorials/transfer-between-two-h160-accounts + - Staking Precompile: https://docs.bittensor.com/evm-tutorials/staking-precompile + - ED25519 Verify: https://docs.bittensor.com/evm-tutorials/ed25519-verify-precompile + +### Governance +- **Overview**: https://docs.bittensor.com/governance +- **Senate**: https://docs.bittensor.com/senate +- **Senator Guide**: https://docs.bittensor.com/governance/senators-btcli-guide + +## Tutorials and Learning +### Basic Tutorials +- **Basic Subnet Tutorials**: https://docs.bittensor.com/tutorials/basic-subnet-tutorials +- **OCR Subnet Tutorial**: https://docs.bittensor.com/tutorials/ocr-subnet-tutorial + +## Releases and Downloads +### Bittensor +- **PyPI**: https://pypi.org/project/bittensor/ +- **GitHub**: https://github.com/opentensor/bittensor/releases + +### BTCLI +- **PyPI**: https://pypi.org/project/bittensor-cli/ +- **GitHub**: https://github.com/opentensor/btcli/releases + +### Subtensor +- **GitHub**: https://github.com/opentensor/subtensor/releases + +## Local Documentation Files +The following documentation files are available in this repository: + +### Core Documentation +- `developer-docs/docs/index.md` - Main documentation homepage +- `developer-docs/docs/questions-and-answers.md` - FAQ document +- `developer-docs/docs/glossary.md` - Terminology reference +- `developer-docs/docs/tools.md` - Development tools overview +- `developer-docs/docs/utilities.md` - Utility scripts reference + +### Getting Started +- `developer-docs/docs/getting-started/installation.md` - Installation guide +- `developer-docs/docs/getting-started/install-btcli.md` - BTCLI setup +- `developer-docs/docs/getting-started/wallets.md` - Wallet basics +- `developer-docs/docs/getting-started/coldkey-hotkey-security.md` - Security practices +- `developer-docs/docs/getting-started/install-wallet-sdk.md` - Wallet SDK setup + +### Learning Resources +- `developer-docs/docs/learn/introduction.md` - Introduction to Bittensor +- `developer-docs/docs/learn/neurons.md` - Understanding neurons +- `developer-docs/docs/learn/anatomy-of-incentive-mechanism.md` - Incentive mechanisms + +### Subnet Documentation +- `developer-docs/docs/subnets/understanding-subnets.md` - Subnet fundamentals +- `developer-docs/docs/subnets/create-a-subnet.md` - Creating subnets +- `developer-docs/docs/subnets/subnet-hyperparameters.md` - Configuration parameters +- `developer-docs/docs/subnets/metagraph.md` - Metagraph concepts +- `developer-docs/docs/subnets/child-hotkeys.md` - Child hotkey management +- `developer-docs/docs/subnets/asyncio.md` - Asynchronous programming + +### SDK and API +- `developer-docs/docs/sdk/env-vars.md` - Environment variables +- `developer-docs/docs/sdk/managing-subtensor-connections.md` - Connection management +- `developer-docs/docs/sdk/subtensor-api.md` - API documentation + +### Dynamic TAO +- `developer-docs/docs/dynamic-tao/index.md` - Dynamic TAO overview +- `developer-docs/docs/dynamic-tao/dtao-faq.md` - Dynamic TAO FAQ +- `developer-docs/docs/dynamic-tao/sdk-cheat-sheet.md` - Quick reference + +### EVM Integration +- `developer-docs/docs/evm-tutorials/index.md` - EVM overview +- `developer-docs/docs/evm-tutorials/examples.md` - Code examples + +### Troubleshooting +- `developer-docs/docs/errors-and-troubleshooting.md` - Common issues +- `developer-docs/docs/errors/index.md` - Error documentation +- `developer-docs/docs/errors/custom.md` - Custom errors +- `developer-docs/docs/errors/subtensor.md` - Subtensor errors + +### Additional Resources +- `developer-docs/docs/migration_guide.md` - Version migration +- `developer-docs/docs/working-with-keys.md` - Key management +- `developer-docs/docs/governance.md` - Network governance +- `developer-docs/docs/senate.md` - Senate information +- `developer-docs/docs/emissions.md` - Token emissions +- `developer-docs/docs/yuma-consensus.md` - Consensus mechanism \ No newline at end of file From 54c30292c7da1c9b4b5e997f23a80ac082dc07f0 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 22 Jul 2025 15:55:03 -0700 Subject: [PATCH 164/303] Llms txt (#44) * wip * wip --- llms.txt | 63 -------------------------------------------------------- 1 file changed, 63 deletions(-) diff --git a/llms.txt b/llms.txt index 1b2ae27696..032b5a0b82 100644 --- a/llms.txt +++ b/llms.txt @@ -127,11 +127,6 @@ The primary command-line tool for Bittensor operations. - **Senate**: https://docs.bittensor.com/senate - **Senator Guide**: https://docs.bittensor.com/governance/senators-btcli-guide -## Tutorials and Learning -### Basic Tutorials -- **Basic Subnet Tutorials**: https://docs.bittensor.com/tutorials/basic-subnet-tutorials -- **OCR Subnet Tutorial**: https://docs.bittensor.com/tutorials/ocr-subnet-tutorial - ## Releases and Downloads ### Bittensor - **PyPI**: https://pypi.org/project/bittensor/ @@ -143,61 +138,3 @@ The primary command-line tool for Bittensor operations. ### Subtensor - **GitHub**: https://github.com/opentensor/subtensor/releases - -## Local Documentation Files -The following documentation files are available in this repository: - -### Core Documentation -- `developer-docs/docs/index.md` - Main documentation homepage -- `developer-docs/docs/questions-and-answers.md` - FAQ document -- `developer-docs/docs/glossary.md` - Terminology reference -- `developer-docs/docs/tools.md` - Development tools overview -- `developer-docs/docs/utilities.md` - Utility scripts reference - -### Getting Started -- `developer-docs/docs/getting-started/installation.md` - Installation guide -- `developer-docs/docs/getting-started/install-btcli.md` - BTCLI setup -- `developer-docs/docs/getting-started/wallets.md` - Wallet basics -- `developer-docs/docs/getting-started/coldkey-hotkey-security.md` - Security practices -- `developer-docs/docs/getting-started/install-wallet-sdk.md` - Wallet SDK setup - -### Learning Resources -- `developer-docs/docs/learn/introduction.md` - Introduction to Bittensor -- `developer-docs/docs/learn/neurons.md` - Understanding neurons -- `developer-docs/docs/learn/anatomy-of-incentive-mechanism.md` - Incentive mechanisms - -### Subnet Documentation -- `developer-docs/docs/subnets/understanding-subnets.md` - Subnet fundamentals -- `developer-docs/docs/subnets/create-a-subnet.md` - Creating subnets -- `developer-docs/docs/subnets/subnet-hyperparameters.md` - Configuration parameters -- `developer-docs/docs/subnets/metagraph.md` - Metagraph concepts -- `developer-docs/docs/subnets/child-hotkeys.md` - Child hotkey management -- `developer-docs/docs/subnets/asyncio.md` - Asynchronous programming - -### SDK and API -- `developer-docs/docs/sdk/env-vars.md` - Environment variables -- `developer-docs/docs/sdk/managing-subtensor-connections.md` - Connection management -- `developer-docs/docs/sdk/subtensor-api.md` - API documentation - -### Dynamic TAO -- `developer-docs/docs/dynamic-tao/index.md` - Dynamic TAO overview -- `developer-docs/docs/dynamic-tao/dtao-faq.md` - Dynamic TAO FAQ -- `developer-docs/docs/dynamic-tao/sdk-cheat-sheet.md` - Quick reference - -### EVM Integration -- `developer-docs/docs/evm-tutorials/index.md` - EVM overview -- `developer-docs/docs/evm-tutorials/examples.md` - Code examples - -### Troubleshooting -- `developer-docs/docs/errors-and-troubleshooting.md` - Common issues -- `developer-docs/docs/errors/index.md` - Error documentation -- `developer-docs/docs/errors/custom.md` - Custom errors -- `developer-docs/docs/errors/subtensor.md` - Subtensor errors - -### Additional Resources -- `developer-docs/docs/migration_guide.md` - Version migration -- `developer-docs/docs/working-with-keys.md` - Key management -- `developer-docs/docs/governance.md` - Network governance -- `developer-docs/docs/senate.md` - Senate information -- `developer-docs/docs/emissions.md` - Token emissions -- `developer-docs/docs/yuma-consensus.md` - Consensus mechanism \ No newline at end of file From 04c2cdb648c900b58e36a5b16afe93ad39b9ad23 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 23 Jul 2025 18:39:14 +0100 Subject: [PATCH 165/303] updated subnet hyperparams --- docs/subnets/subnet-hyperparameters.md | 132 +++++++++++++++++-------- 1 file changed, 91 insertions(+), 41 deletions(-) diff --git a/docs/subnets/subnet-hyperparameters.md b/docs/subnets/subnet-hyperparameters.md index 5b92e84f6d..2f9b2210e7 100644 --- a/docs/subnets/subnet-hyperparameters.md +++ b/docs/subnets/subnet-hyperparameters.md @@ -34,35 +34,39 @@ Using the specified network test from config HYPERPARAMETER VALUE NORMALIZED ──────────────────────────────────────────────────────────────────────── - rho 10 10 - kappa 32767 0.4999923705 - immunity_period 5000 5000 - min_allowed_weights 1 1 - max_weights_limit 65535 65535 - tempo 99 99 - min_difficulty 10000000 5.421010862e-13 - max_difficulty 18446744073709551615 1 - weights_version 0 0 - weights_rate_limit 100 100 - adjustment_interval 360 360 activity_cutoff 5000 5000 - registration_allowed True True - target_regs_per_interval 1 1 - min_burn 500000 τ 0.0005 - max_burn 100000000000 τ 100.0000 + adjustment_alpha 17893341751498265066 0.97 + adjustment_interval 360 360 + alpha_high 58982 0.9000076295 + alpha_low 45875 0.7000076295 + alpha_sigmoid_steepness 0.0 0 bonds_moving_avg 900000 4.878909776e-14 - max_regs_per_block 1 1 - serving_rate_limit 50 50 - max_validators 64 64 - adjustment_alpha 58000 3.1441863e-15 - difficulty 10000000 5.421010862e-13 + bonds_reset_enabled False False commit_reveal_period 1 1 commit_reveal_weights_enabled False False - alpha_high 58982 0.9000076295 - alpha_low 45875 0.7000076295 + difficulty 18446744073709551615 1 + immunity_period 5000 5000 + kappa 32767 0.4999923705 liquid_alpha_enabled False False - yuma3_enabled False False - alpha_sigmoid_steepness 1000 0.0152590219 + max_burn 100000000000 100.0000 τ + max_difficulty 18446744073709551615 1 + max_regs_per_block 1 1 + max_validators 64 64 + max_weight_limit 65535 1 + min_allowed_weights 1 1 + min_burn 500000 0.0005 τ + min_difficulty 18446744073709551615 1 + registration_allowed True True + rho 10 10 + serving_rate_limit 50 50 + subnet_is_active True True + target_regs_per_interval 1 1 + tempo 360 360 + transfers_enabled True True + user_liquidity_enabled True True + weights_rate_limit 100 100 + weights_version 0 0 + yuma_version 2 2 ──────────────────────────────────────────────────────────────────────── ``` @@ -113,7 +117,7 @@ The number of blocks for the stake to become inactive for the purpose of epoch i **`btcli` setter**: `btcli sudo set --param adjustment_alpha` -**Setter extrinsic**: `sudo_set_activity_cutoff` +**Setter extrinsic**: `sudo_set_adjustment_alpha` **Permissions required to set**: Subnet Creator @@ -151,16 +155,15 @@ The number of blocks for the stake to become inactive for the purpose of epoch i **Description**: `AlphaSigmoidSteepness` determines how the consensus mechanism assigns an alpha value for a given miner-validator pair based on voting alignment. Lower steepness values result in moderate alpha values, while higher steepness values push alpha values closer to the defined `alpha_low` or `alpha_high` values. - ### BondsMovingAverage **Type**: **Default**: -**`btcli` setter**: bonds_moving_avg +**`btcli` setter**: `btcli sudo set --param bonds_moving_avg` -**`btcli` setter**: `btcli sudo set --param sudo_set_bonds_moving_average` +**`btcli` setter**: `sudo_set_bonds_moving_average` **Permissions required to set**: Subnet Creator @@ -189,6 +192,22 @@ The magnitude of the penalty subtracted from weights for exceeding consensus, fo See [Yuma Consensus: Penalizing out-of-consensus bonds](../yuma-consensus#penalizing-out-of-consensus-bonds). +### BondsResetEnabled + +**Type**: Bool + +**Default**: False + +**`btcli` setter**: `btcli sudo set --param bonds_reset_enabled` + +**Setter extrinsic**: `sudo_set_bonds_reset_enabled` + +**Permissions required to set**: Subnet creator + +**Description**: + +Determines whether or not bonds are reset-enabled. + ### CommitRevealPeriod **Type**: u16 @@ -215,7 +234,7 @@ See [Commit Reveal](./commit-reveal) **Default**: false -**`btcli` setter**: yes +**`btcli` setter**: `btcli sudo set --param commit_reveal_weights_enabled` **Setter extrinsic**: `sudo_set_commit_reveal_weights_enabled` @@ -231,7 +250,7 @@ Enables [Commit Reveal](./commit-reveal) **Default**: 10000000 -**`btcli` setter**: none +**`btcli` setter**: `btcli sudo set --param difficulty` **Setter extrinsic**: `sudo_set_difficulty` @@ -249,7 +268,7 @@ Current dynamically computed value for the proof-of-work (POW) requirement for P **Default**: 5000 -**`btcli` setter**: yes +**`btcli` setter**: `btcli sudo set --param immunity_period` **Setter extrinsic**: `sudo_set_immunity_period` @@ -265,7 +284,7 @@ The number of blocks after registration when a miner is protected from deregistr **Default**: 32767 ( or approximately 0.5 normalized ) -**`btcli` setter**: yes +**`btcli` setter**: `btcli sudo set --param kappa` **Setter extrinsic**: `sudo_set_kappa` @@ -331,9 +350,9 @@ The maximum of the dynamic range for TAO cost of burn registration on the subnet **Default**: 18446744073709551615 normalized to 1 -**`btcli` setter**: `btcli sudo set --param min_difficulty` +**`btcli` setter**: `btcli sudo set --param max_difficulty` -**Setter extrinsic**: +**Setter extrinsic**: `sudo_set_max_difficulty` **Permissions required to set**: Subnet creator @@ -474,7 +493,7 @@ Rate limit for network registrations expressed in blocks **Default**: 10 -**`btcli` setter**: yes +**`btcli` setter**: `btcli sudo set --param rho` **Setter extrinsic**: `sudo_set_rho` @@ -492,7 +511,7 @@ Deprecated. **Default**: 50 -**`btcli` setter**: +**`btcli` setter**: `btcli sudo set --param serving_rate_limit` **Setter extrinsic**: `sudo_set_serving_rate_limit` @@ -502,6 +521,21 @@ Deprecated. Rate limit for calling `serve_axon` and `serve_prometheus` extrinsics used by miners. +### SubnetIsActive + +**Type**: Bool + +**Default**: False + +**`btcli` setter**: `btcli subnets start` + +**Setter extrinsic**: nil + +**Permissions required to set**: Subnet creator + +**Description**: +Indicates whether or not the subnet's emissions have started. + ### TargetRegistrationsPerInterval **Type**: u16 @@ -541,7 +575,7 @@ See [Emission](../emissions.md) **Default**: True -**`btcli` setter**: none +**`btcli` setter**: btcli sudo set --param transfers_enabled` **Setter extrinsic**: `sudo_set_toggle_transfer` @@ -551,6 +585,22 @@ See [Emission](../emissions.md) Allows/disallows transfer of stake between coldkeys. +### UserLiquidityEnabled + +**Type**: Bool + +**Default**: False + +**`btcli` setter**: `btcli sudo set --param user_liquidity_enabled` + +**Setter extrinsic**: `toggle_user_liquidity` + +**Permissions required to set**: Subnet creator + +**Description**: + +Determines whether or not the user liquidity feature is enabled on the subnet. + ### WeightsVersion **Type**: u16 @@ -577,7 +627,7 @@ If the version key specified in `set_weights` extrinsic is lower than this syste **`btcli` setter**: `btcli sudo set --param weights_rate_limit` -**Setter extrinsic**: +**Setter extrinsic**: `sudo_set_weights_set_rate_limit` **Permissions required to set**: Root @@ -585,13 +635,13 @@ If the version key specified in `set_weights` extrinsic is lower than this syste How long, in blocks, a validator must wait between weight commits on a subnet. -### Yuma3On +### YumaVersion **Type**: Bool **Default**: False -**`btcli` setter**: `btcli sudo set --param yuma3_enabled` +**`btcli` setter**: `btcli sudo set --param yuma_version` **Setter extrinsic**: `sudo_set_yuma3_enabled` @@ -599,7 +649,7 @@ How long, in blocks, a validator must wait between weight commits on a subnet. **Description**: -Determines if the Yuma Consensus 3 mechanism is applied to the subnet. +Toggles the consensus mechanism used by the subnet between Yuma Consensus v2 and v3. ## Global/Root State Variables From d2efcf75ad9f5c06f33fb406fd62799706c5f0db Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Thu, 24 Jul 2025 23:06:36 +0100 Subject: [PATCH 166/303] cleaned up subnet creation --- docs/local-build/create-subnet.md | 126 ++++++++---------------------- docs/local-build/deploy.md | 14 +++- 2 files changed, 45 insertions(+), 95 deletions(-) diff --git a/docs/local-build/create-subnet.md b/docs/local-build/create-subnet.md index d65b45cff9..22787d220a 100644 --- a/docs/local-build/create-subnet.md +++ b/docs/local-build/create-subnet.md @@ -10,56 +10,15 @@ For creating a subnet on Bittensor test and main network, see [Create a Subnet]( ## Prerequisites: +Before continuing with the rest of this tutorial, make sure you've completed the following: + - [Deploy a Subtensor chain locally](./deploy) - [Provision wallets for the subnet creator, miner, and validator users for this tutorial.](./provision-wallets) - Sufficient amount of TAO in your subnet creator wallet to cover the [burn cost](../glossary.md#burn-cost). -## Create subnet - -```shell -btcli subnet create \ ---subnet-name awesome-first-subnet \ ---wallet.name sn-creator \ ---network ws://127.0.0.1:9945 -``` - -## Fund your subnet - -To remedy your liquidity shortfall, transfer $\tau$ from the Alice account and try again. - -1. First, get the ss58 address for the destination wallet for the transfer: - ```shell - btcli w list - ``` - ```shell - ... - ── Coldkey sn-creator ss58_address 5C9xw4gDyu11ocdpWrmhT1sbi4xEHCpzEMsyMA4jGfAZQofQ - └── Hotkey default ss58_address 5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR - ``` -1. Execute the transfer from `alice` to the sn-creator wallet - - ```console - btcli wallet transfer \ - --amount 1001 \ - --wallet.name alice \ - --destination "5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR" \ - --subtensor.chain_endpoint ws://127.0.0.1:9945 - ``` - - ```shell - Do you want to transfer: - amount: τ 1,001.0000 - from: alice : 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY - to: 5GVsCAY6RuSuoAA1E77xsHJ9PjdZJjJrRkNFDxVtRKPnw7TR - for fee: τ 0.0001 [y/n]: y - 🌏 📡 Transferring... - ``` +## Create a subnet -## Success - -Create some subnets. - -For example: +Now, let us create a new subnet on the local chain. To create a new subnet, run the following command in your terminal: ```shell btcli subnet create \ @@ -68,6 +27,8 @@ btcli subnet create \ --network ws://127.0.0.1:9945 ``` +You will then be prompted to provide the wallet hotkey as well as configure the subnet as shown: + ```console Subnet burn cost: τ 1,000.0000 Your balance is: τ 1,001.0000 @@ -77,31 +38,14 @@ Decrypting... 🌏 📡 Registering subnet.. ``` -```shell - btcli subnet create \ ---subnet-name awesome-second-subnet \ ---wallet.name sn-creator \ ---network ws://127.0.0.1:9945 -``` - -```console -Subnet burn cost: τ 1,999.9405 -▰▱▱▱▱▱▱ 📡Retrieving lock cost from custom... -Your balance is: τ 2,003.0000 -Do you want to burn τ 1,999.9405 to register a subnet? [y/n]: Please enter Y or N -Do you want to burn τ 1,999.9405 to register a subnet? [y/n]: y -Enter your password: -Decrypting... -✅ Registered subnetwork with netuid: 3 -``` - -1. List your subnets +To check on your newly created subnets, run the following command in your terminal: ```shell -btcli subnet list \ ---network ws://127.0.0.1:9945 +btcli subnet list --network ws://127.0.0.1:9945 ``` +A list of all subnets in your local subtensor instance is returned: + ```console Subnets Network: custom @@ -109,47 +53,49 @@ btcli subnet list \ Netuid ┃ Name ┃ (τ_in/α_in) ┃ (α * Price) ┃ Emission (τ) ┃ α_in) ┃ (α_out) ┃ Supply (α) ┃ Tempo (k/n) ━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━ 0 │ τ root │ 1.0000 τ/Τ │ τ 0.00 │ τ 0.0000 │ -, - │ Τ 0.00 │ 0.00 Τ /21M │ -/- - 2 │ β │ 1.0000 τ/β │ τ 1.00k │ τ 0.0000 │ τ 1.00k, │ 0.00 β │ 1.00k β │ 29/360 + 2 │ β │ 0.0000 τ/β │ τ 1.00k │ τ 0.0000 │ τ 1.00k, │ 0.00 β │ 1.00k β │ 29/360 │ awesome-fi… │ │ │ │ 1.00k β │ │ /21M │ - 3 │ γ │ 1.0000 τ/γ │ τ 1.00k │ τ 0.0000 │ τ 1.00k, │ 0.00 γ │ 1.00k γ │ 29/360 - │ awesome-se… │ │ │ │ 1.00k γ │ │ /21M │ - 1 │ α apex │ 1.0000 τ/α │ τ 11.00 │ τ 0.0000 │ τ 10.00, │ 1.00 α │ 11.00 α │ 29/100 + 1 │ α apex │ 0.0000 τ/α │ τ 11.00 │ τ 0.0000 │ τ 10.00, │ 1.00 α │ 11.00 α │ 29/100 │ │ │ │ │ 10.00 α │ │ /21M │ ────────┼─────────────┼─────────────┼─────────────┼──────────────┼─────────────┼──────────────┼─────────────┼───────────── - 4 │ │ τ 3.0 │ │ τ 0.0 │ τ │ │ │ + 4 │ │ τ 1.0 │ │ τ 0.0 │ τ │ │ │ │ │ │ │ │ 2.01k/29.00 │ │ │ │ │ │ │ │ (6931.03%) │ │ │ ``` -## Start emissions on your subnet +## Start emissions on the subnet To activate your subnet, beginning emissions and allowing staking, run: ``` -btcli subnet start --netuid 2 \ +btcli subnet start --netuid NETUID \ --wallet.name sn-creator \ --network ws://127.0.0.1:9945 ``` -## Troubleshooting +Replace `NETUID` with the netuid of the subnet you want to enable emissions on. -### Insufficient funds +After a while, you can confirm that the subnet's emissions have started by inspecting your subnet's token economy. You'll see a non-zero amount in the *Emission* column, indicating the subnet creator key accumulates emissions. -The coldkey signing the `subnet create` transaction must have a sufficient $\tau$ balance to cover the burn cost of subnet creation, so called because the funds cannot be recovered. +You can confirm the emissions by running the `btcli subnets list` command: ```console -Subnet burn cost: τ 1,000.0000 -Your balance of: τ 0.0000 is not enough to burn τ 1,000.0000 to register a subnet. + Subnets + Network: custom + ┃ ┃ Price ┃ Market Cap ┃ ┃ P (τ_in, ┃ Stake ┃ ┃ + Netuid ┃ Name ┃ (τ_in/α_in) ┃ (α * Price) ┃ Emission (τ) ┃ α_in) ┃ (α_out) ┃ Supply (α) ┃ Tempo (k/n) +━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━ + 0 │ τ root │ 1.0000 τ/Τ │ τ 0.00 │ τ 0.0000 │ -, - │ Τ 0.00 │ 0.00 Τ /21M │ -/- + 2 │ β │ 1.0000 τ/β │ τ 1.81k │ τ 1.0000 │ τ 1.00k, │ 414.00 β │ 1.81k β │ 29/360 + │ awesome-fi… │ │ │ │ 1.00k β │ │ /21M │ + 1 │ α apex │ 0.0000 τ/α │ τ 11.00 │ τ 0.0000 │ τ 10.00, │ 1.00 α │ 11.00 α │ 29/100 + │ │ │ │ │ 10.00 α │ │ /21M │ +────────┼─────────────┼─────────────┼─────────────┼──────────────┼─────────────┼──────────────┼─────────────┼───────────── + 4 │ │ τ 1.0 │ │ τ 1.0 │ τ │ │ │ + │ │ │ │ │ 1.41k/562.00│ │ │ + │ │ │ │ │ (6931.03%) │ │ │ ``` -To fix this, transfer TAO from the Alice account to cover this transaction and try again. For more information, see [Transfer TAO to wallets](./provision-wallets.md#transfer-tao-to-wallets) - -### Network Rate Limit Error - -If you see a network rate limit error, you may need to adjust the `SubtensorInitialNetworkRateLimit` chain state parameter. - -See [Clone and tweak the Subtensor source](./deploy#clone-and-tweak-the-subtensor-source) - ## Troubleshooting ### Insufficient funds @@ -161,10 +107,4 @@ Subnet burn cost: τ 1,000.0000 Your balance of: τ 0.0000 is not enough to burn τ 1,000.0000 to register a subnet. ``` -To fix this, transfer TAO from the Alice account to cover this transaction and try again. For more information, see [Transfer TAO to wallets](./provision-wallets.md#transfer-tao-to-wallets) - -### Network Rate Limit Error - -If you see a network rate limit error, you may need to adjust the `SubtensorInitialNetworkRateLimit` chain state parameter. - -See [Clone and tweak the Subtensor source](./deploy#clone-and-tweak-the-subtensor-source) +To fix this, transfer TAO from the Alice account to cover this transaction and try again. For more information, see [Transfer TAO to wallets](./provision-wallets.md#transfer-tao-to-wallets). diff --git a/docs/local-build/deploy.md b/docs/local-build/deploy.md index c4d55ec7cc..4ce4a2501a 100644 --- a/docs/local-build/deploy.md +++ b/docs/local-build/deploy.md @@ -53,15 +53,25 @@ Below are examples of how to run the container using each mode: - Fast blocks: Fast block mode reduces block processing time to _250ms per block_, enabling rapid chain progression. It allows faster feedback cycles for operations such as staking, subnet creation, and registration, making them ideal for local testing scenarios. To run the container in fast block mode, run the following command in your terminal: ```bash - docker run --rm --name test_local_chain_ -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready + docker run --name test_local_chain_ -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready ``` - Non-fast blocks: Non-fast block mode uses the default _12-second block time_, aligning with subtensor block intervals. While this mode utilizes the default block processing time, it also incorporates some enhancements—for example, subnets become eligible to start one minute after creation. To run the container in non-fast block mode, run the following command in your terminal: ```bash - docker run --rm --name test_local_chain_ -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready False + docker run --name test_local_chain_ -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready False ``` +:::info +By default, exiting the Docker container persists the state of the local chain instance running on it. You can resume running the container by running the following command: + +```sh +docker start /test_local_chain_ +``` + +For more information, see official [Docker documentation](https://docs.docker.com/reference/cli/docker/container/run/). +::: + ### 3. Verify your setup You can verify your local blockchain instance by checking the list of subnets available on your local blockchain. To do this, run the following command in the terminal: From 33d789e22541a6677644879550c830fad80b923c Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Mon, 28 Jul 2025 11:51:57 -0700 Subject: [PATCH 167/303] wip (#46) --- docs/staking-and-delegation/delegation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/staking-and-delegation/delegation.md b/docs/staking-and-delegation/delegation.md index 9a6955f247..8d74e78c23 100644 --- a/docs/staking-and-delegation/delegation.md +++ b/docs/staking-and-delegation/delegation.md @@ -15,7 +15,7 @@ See also: - See also [Validators: Acquiring stake](../validators/index.md#acquiring-stake). :::tip tips -Validators/delegates can configure their take. The default value is 18%. See [Setting your delegate take](#setting-your-delegate-take). +Validators/delegates can configure their take. The default value is 18%. See [`btcli sudo set-take`](../btcli#btcli-sudo-set-take). Minimum required stake for nominators is 0.1 TAO. ::: From 648979bdc2e0a142df414d44627e2738b36fb8e7 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 29 Jul 2025 20:38:02 +0100 Subject: [PATCH 168/303] wip --- docs/local-build/create-subnet.md | 4 +++ docs/local-build/deploy.md | 4 +-- docs/local-build/provision-wallets.md | 20 ++++++++++-- docs/miners/index.md | 40 ++++++++++++------------ docs/validators/index.md | 45 +++++++++++++-------------- 5 files changed, 65 insertions(+), 48 deletions(-) diff --git a/docs/local-build/create-subnet.md b/docs/local-build/create-subnet.md index 22787d220a..9cf77c1393 100644 --- a/docs/local-build/create-subnet.md +++ b/docs/local-build/create-subnet.md @@ -108,3 +108,7 @@ Your balance of: τ 0.0000 is not enough to burn τ 1,000.0000 to register a sub ``` To fix this, transfer TAO from the Alice account to cover this transaction and try again. For more information, see [Transfer TAO to wallets](./provision-wallets.md#transfer-tao-to-wallets). + +## Next steps + +With emissions now active on your subnet, you can begin registering and running miners and validators to participate in the network. diff --git a/docs/local-build/deploy.md b/docs/local-build/deploy.md index 4ce4a2501a..f8ebf86a2b 100644 --- a/docs/local-build/deploy.md +++ b/docs/local-build/deploy.md @@ -53,13 +53,13 @@ Below are examples of how to run the container using each mode: - Fast blocks: Fast block mode reduces block processing time to _250ms per block_, enabling rapid chain progression. It allows faster feedback cycles for operations such as staking, subnet creation, and registration, making them ideal for local testing scenarios. To run the container in fast block mode, run the following command in your terminal: ```bash - docker run --name test_local_chain_ -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready + docker run --name local_chain -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready ``` - Non-fast blocks: Non-fast block mode uses the default _12-second block time_, aligning with subtensor block intervals. While this mode utilizes the default block processing time, it also incorporates some enhancements—for example, subnets become eligible to start one minute after creation. To run the container in non-fast block mode, run the following command in your terminal: ```bash - docker run --name test_local_chain_ -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready False + docker run --name local_chain -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready False ``` :::info diff --git a/docs/local-build/provision-wallets.md b/docs/local-build/provision-wallets.md index 560ad5a350..03a9e62a34 100644 --- a/docs/local-build/provision-wallets.md +++ b/docs/local-build/provision-wallets.md @@ -48,10 +48,12 @@ The following should be returned in the console: ## Provision wallets -You will need wallets for the different personas, i.e., subnet owner, subnet validator and subnet miner, in the subnet. +To proceed with this tutorial, you’ll need to create separate wallets for each role on the Bittensor blockchain. Specifically, create three wallets: one each for the subnet owner, validator, and miner. -- The subnet owner wallet creates and controls the subnet. -- The validator and miner will be registered to the subnet created by the owner. This ensures that the validator and miner can run the respective validator and miner scripts. +- The subnet owner wallet creates and controls the subnet—`sn-creator`. +- The validator and miner wallets will be registered on the created subnet—`test-validator` and `test-miner`. + +Using separate wallets for each role ensures they can independently run their respective processes and scripts. To create a wallet, run the following command in your terminal: @@ -80,3 +82,15 @@ Replace `DESTINATION_ADDRESS` with the wallet address you want to send the TAO t :::info Run the `btcli wallets list` command and carefully check the ss58 address of the destination coldkey that you want to fund. ::: + +To confirm your wallet balances, run the following command in your terminal: + +```sh +btcli wallet balance --wallet.name WALLET_NAME --network ws://127.0.0.1:9945 +``` + +## Next steps + +Now that you have created the necessary wallets and funded them with TAO, you can proceed to create a subnet on the local chain. This will enable you to register validators and miners, configure subnet parameters, and begin participating in the network’s consensus and emissions processes. + +To begin, see [Create a subnet locally](create-subnet.md). diff --git a/docs/miners/index.md b/docs/miners/index.md index a303cfe11a..02e8ff9510 100644 --- a/docs/miners/index.md +++ b/docs/miners/index.md @@ -74,7 +74,6 @@ Deregistration only occurs on subnets where all 256 UID slots are occupied. If a Each tempo, the '[neuron](../learn/neurons)' (miner _or_ validator node) with the lowest 'pruning score' (based solely on emissions), and that is no longer within its [immunity period](../subnets/subnet-hyperparameters.md#immunityperiod), risks being replaced by a newly registered neuron, who takes over that UID. - :::info Deregistration is based on emissions The subnet does not distinguish between miners and validators for the purpose of deregistration. The chain only looks at emissions (represented as 'pruning score'). Whenever a new registration occurs in the subnet, the neuron with the lowest emissions will get deregistered. ::: @@ -88,12 +87,13 @@ A subnet neuron (miner or validator) at a UID (in that subnet) has `immunity_per **Implementation Details:** Immunity status is calculated dynamically using the formula `is_immune = (current_block - registered_at) < immunity_period`, where: + - `current_block` is the current blockchain block number - `registered_at` is the block number when the neuron was registered - `immunity_period` is the configured protection period for the subnet (default: 4096 blocks ≈ 13.7 hours) - **Code References:** + - [`subtensor/pallets/subtensor/src/utils/misc.rs:442-448`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/utils/misc.rs#L442-448) - Immunity status calculation - [`subtensor/pallets/subtensor/src/subnets/registration.rs:409-485`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/subnets/registration.rs#L409-485) - Pruning algorithm with immunity priority @@ -153,24 +153,24 @@ btcli wallet overview --netuid After providing your wallet name when prompted, you will see output such as: -| Parameter | Example value | Description | -| :---------- | :----------------- | :-------------------------------------------------------------------------- | -| COLDKEY | my_coldkey | The name of the coldkey associated with your slot. | -| HOTKEY | my_first_hotkey | The name of the hotkey associated with your slot. | -| UID | 5 | The index of the uid out of available uids. | -| ACTIVE | True | The validator has set weights within the subnet's activity_cutoff | -| STAKE(τ) | 71.296 | The amount of stake in this wallet. | -| RANK | 0.0629 | This miner's absolute ranking according to validators on the network. | -| TRUST | 0.2629 | This miner's trust as a proportion of validators on the network. | -| CONSENSUS | 0.89 | This validator's aggregate consensus score. | -| INCENTIVE | 0.029 | This miner's incentive, TAO emission, is attained via mining. | -| DIVIDENDS | 0.001 | This validator's dividends, TAO emission, are attained via validating. | -| EMISSION | 29_340_153 | This miner's total emission in RAO (10^(-9) TAO) per block. | -| VTRUST | 0.96936 | This validator's trust score as a validator. | -| VPERMIT | \* | For validators: The uid is considered active for validating on this subnet. | -| UPDATED | 43 | Blocks since this miner set weights on the chain. | -| AXON | 131.186.56.85:8091 | The entrypoint advertised by this miner on the bittensor blockchain. | -| HOTKEY_SS58 | 5F4tQyWr... | The ss58-encoded address of the miner's hotkey. | +| Parameter | Example value | Description | +| :---------- | :----------------- | :------------------------------------------------------------------------------------- | +| COLDKEY | my_coldkey | The name of the coldkey associated with your slot. | +| HOTKEY | my_first_hotkey | The name of the hotkey associated with your slot. | +| UID | 5 | Unique identifier of the neuron. | +| ACTIVE | True | Whether or not the uid is considered active. | +| STAKE(τ) | 71.296 | The amount of stake in this wallet. | +| RANK | 0.0629 | This miner's absolute ranking according to validators on the network. | +| TRUST | 0.2629 | This miner's trust score as a proportion of validators on the network. | +| CONSENSUS | 0.89 | The consensus score of the neuron. | +| INCENTIVE | 0.029 | Thencentive score representing the miner's incentive alignment. | +| DIVIDENDS | 0.001 | The dividends earned by the neuron for validating on the subnet. | +| EMISSION | 29_340_153 | The emission in RAO (p) received by the neuron. | +| VTRUST | 0.96936 | The validator trust score indicating the network's trust in the neuron as a validator. | +| VPERMIT | \* | Whether this neuron is considered eligible for validating on this subnetwork. | +| UPDATED | 43 | Blocks since the neuron set weights on the chain. | +| AXON | 131.186.56.85:8091 | The entrypoint advertised by this miner on the bittensor blockchain. | +| HOTKEY_SS58 | 5F4tQyWr... | The ss58-encoded address of the miner's hotkey. | ## Checking miner registration status diff --git a/docs/validators/index.md b/docs/validators/index.md index 5ad1757623..1e7a4e27e2 100644 --- a/docs/validators/index.md +++ b/docs/validators/index.md @@ -98,11 +98,13 @@ A subnet neuron (miner or validator) at a UID (in that subnet) has `immunity_per **Implementation Details:** Immunity status is calculated dynamically using the formula `is_immune = (current_block - registered_at) < immunity_period`, where: + - `current_block` is the current blockchain block number - `registered_at` is the block number when the neuron was registered - `immunity_period` is the configured protection period for the subnet (default: 4096 blocks ≈ 13.7 hours) **Code References:** + - [`subtensor/pallets/subtensor/src/utils/misc.rs:442-448`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/utils/misc.rs#L442-448) - Immunity status calculation - [`subtensor/pallets/subtensor/src/subnets/registration.rs:409-485`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/subnets/registration.rs#L409-485) - Pruning algorithm with immunity priority @@ -151,11 +153,10 @@ import bittensor as bt subnet = bt.metagraph(1) wallet = bt.wallet( name = 'my_coldkey', hotkey = 'my_validator_hotkey' ) my_uid = subnet.hotkeys.index( wallet.hotkey.ss58_address ) -print(f'Validator permit: {subnet.validator_permit(my_uid)}') +print(f'Validator permit: {subnet.validator_permit[my_uid]}') ``` -## Validator Permits - +## Validator Permits Validator permits control which neurons can participate in validation activities within a subnet. The system operates on a stake-weighted basis, ensuring that only high-stake, trusted neurons can influence consensus. @@ -184,14 +185,12 @@ To obtain a validator permit, a neuron must meet these criteria: - **Top K Ranking**: Be among the top K neurons by stake weight - **Active Status**: Maintain active participation in the subnet - ### Code References - Validator permit calculation: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:520-523`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L520-523) - Top-K selection algorithm: [`subtensor/pallets/subtensor/src/epoch/math.rs:250-260`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/math.rs#L250-260) - Access control: [`subtensor/pallets/subtensor/src/subnets/weights.rs:745-748`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/subnets/weights.rs#L745-748) - ## Inspecting UIDs After you obtain a UID slot, you can view the status of your registered wallet by running: @@ -202,24 +201,24 @@ btcli wallet overview --netuid After providing your wallet name at the prompt, you will see output like: -| Parameter | Example value | Description | -| :---------- | :----------------- | :------------------------------------------------------------------------- | -| COLDKEY | my_coldkey | The name of the coldkey associated with your slot. | -| HOTKEY | my_first_hotkey | The name of the hotkey associated with your slot. | -| UID | 5 | The index of the uid out of available uids. | -| ACTIVE | True | Whether or not the uid is considered active. | -| STAKE(τ) | 71.296 | The amount of stake in this wallet. | -| RANK | 0.0629 | This miner's absolute ranking according to validators on the network. | -| TRUST | 0.2629 | This miner's trust as a proportion of validators on the network. | -| CONSENSUS | 0.89 | This validator's aggregate consensus score. | -| INCENTIVE | 0.029 | This miner's incentive, TAO emission, is attained via mining. | -| DIVIDENDS | 0.001 | This validator's dividends, TAO emission, are attained via validating. | -| EMISSION | 29_340_153 | This miner's total emission in RAO (10^(-9) TAO) per block. | -| VTRUST | 0.96936 | This validator's trust score as a validator. | -| VPERMIT | \* | Whether this miner is considered active for validating on this subnetwork. | -| UPDATED | 43 | Blocks since this miner set weights on the chain. | -| AXON | 131.186.56.85:8091 | The entrypoint advertised by this miner on the bittensor blockchain. | -| HOTKEY_SS58 | 5F4tQyWr... | The ss58-encoded address of the miner's hotkey. | +| Parameter | Example value | Description | +| :---------- | :----------------- | :------------------------------------------------------------------------------------- | +| COLDKEY | my_coldkey | The name of the coldkey associated with your slot. | +| HOTKEY | my_first_hotkey | The name of the hotkey associated with your slot. | +| UID | 5 | Unique identifier of the neuron. | +| ACTIVE | True | Whether or not the uid is considered active. | +| STAKE(τ) | 71.296 | The amount of stake in this wallet. | +| RANK | 0.0629 | This miner's absolute ranking according to validators on the network. | +| TRUST | 0.2629 | This miner's trust score as a proportion of validators on the network. | +| CONSENSUS | 0.89 | The consensus score of the neuron. | +| INCENTIVE | 0.029 | Thencentive score representing the miner's incentive alignment. | +| DIVIDENDS | 0.001 | The dividends earned by the neuron for validating on the subnet. | +| EMISSION | 29_340_153 | The emission in RAO (p) received by the neuron. | +| VTRUST | 0.96936 | The validator trust score indicating the network's trust in the neuron as a validator. | +| VPERMIT | \* | Whether this neuron is considered eligible for validating on this subnetwork. | +| UPDATED | 43 | Blocks since the neuron set weights on the chain. | +| AXON | 131.186.56.85:8091 | The entrypoint advertised by this miner on the bittensor blockchain. | +| HOTKEY_SS58 | 5F4tQyWr... | The ss58-encoded address of the miner's hotkey. | ### Meaning of ACTIVE From 6337dfc09ec514f4602e057be06cd8dc640f1fbc Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 30 Jul 2025 14:52:42 +0100 Subject: [PATCH 169/303] btcli 9.9.0 --- docs/btcli.md | 49 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/docs/btcli.md b/docs/btcli.md index 9bf2291395..df51b509a2 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -217,6 +217,7 @@ aliases: w, wallets - `set-identity`: Create or update the on-chain identity of a coldkey or a hotkey on the Bittensor network. - `get-identity`: Shows the identity details of a user's coldkey or hotkey. - `sign`: Allows users to sign a message with the provided wallet or wallet hotkey. +- `verify`: Verify a message signature using the signer's public key or SS58 address. ### `btcli wallet list` @@ -522,7 +523,7 @@ The command creates a new coldkey and hotkey. It provides an option for mnemonic **Example:** ``` -btcli wallet create --n_words 21 +btcli wallet create --n-words 21 ``` Note: This command is for new users setting up their wallet for the first time, or for those who wish to completely renew their wallet keys. It ensures a fresh start with new keys for secure and effective participation in the Bittensor network. @@ -540,7 +541,7 @@ btcli wallet create [OPTIONS] | `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | | `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | | `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | -| `--n-words`, `--n_words` | INTEGER | The number of words used in the mnemonic. | +| `--n-words` | INTEGER | The number of words used in the mnemonic. | | `--use-password`/`--no-use-password `, | | Set this to `True` to protect the generated Bittensor key with a password. | | `--uri` | TEXT | Create wallet from uri (e.g. 'Alice', 'Bob', 'Charlie') | | `--overwrite`/`--no-overwrite` | | Overwrite the existing wallet file with the new one. | @@ -758,7 +759,7 @@ The command displays the information in a table format showing: **Example:** -``` +```sh btcli wallet get_identity --key <s58_address> ``` @@ -798,11 +799,11 @@ Using the provided wallet (coldkey), the command generates a signature for a giv **Example:** -``` +```sh btcli wallet sign --wallet-name default --message '{"something": "here", "timestamp": 1719908486}' ``` -``` +```sh btcli wallet sign --wallet-name default --wallet-hotkey hotkey --message '{"something": "here", "timestamp": 1719908486}' ``` @@ -826,6 +827,42 @@ btcli wallet sign [OPTIONS] | `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | | `--help` | | Show this message and exit. | +### `btcli wallet verify` + +Verify a message signature using the signer's public key or SS58 address. This command allows you to verify that a message was signed by the owner of a specific address. + +**Usage:** + +Provide the original message, the signature (in hex format), and either the SS58 address or public key of the signer to verify the signature. + +**Example:** + +```sh +btcli wallet verify --message "Hello world" --signature "0xabc123..." --address "5GrwvaEF..." +``` + +```sh +btcli wallet verify -m "Test message" -s "0xdef456..." -p "0x1234abcd..." +``` + +**Usage**: + +```console +btcli wallet verify [OPTIONS] +``` + +**Options**: + +| Option | Type | Description | +| -------------------------------------- | ---- | --------------------------------------------------------------- | +| `--message` | TEXT | The message that was signed. [default: None] | +| `--signature`, `-s` | TEXT | The signature to verify. (hex format) [default: None] | +| `--address`, `--public-key` `-a`, `-p` | TEXT | SS58 address or public key (hex) of the signer. [default: None] | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + ## `btcli stake` **Usage**: @@ -2003,7 +2040,7 @@ btcli subnets show [OPTIONS] Shows the historical price of a subnet for the past 24 hours. -This command displays the historical price of a subnet for the past 24 hours. +This command displays the historical price of a subnet for the past 4 hours. If the `--all` flag is used, the command will display the price for all subnets in html format. If the `--html` flag is used, the command will display the price in an HTML chart. If the `--log-scale` flag is used, the command will display the price in log scale. From b148c9596ee215695a9dcfbbd19383d0cd067d42 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Thu, 31 Jul 2025 12:01:54 -0700 Subject: [PATCH 170/303] document fees in bittensor (#49) --- docs/btcli.md | 4 + docs/dynamic-tao/staking-unstaking-dtao.md | 4 + docs/fees.md | 144 ++++++++++++++++++ docs/staking-and-delegation/delegation.md | 4 + .../managing-stake-btcli.md | 4 + .../stakers-btcli-guide.md | 4 + docs/validators/validators-btcli-guide.md | 4 + sidebars.js | 1 + 8 files changed, 169 insertions(+) create mode 100644 docs/fees.md diff --git a/docs/btcli.md b/docs/btcli.md index df51b509a2..5dd8b4bf6c 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -8,6 +8,10 @@ Command line interface (CLI) for Bittensor. Uses the values in the configuration See [Getting Started](./getting-started/install-btcli.md) to install `btcli`. +:::note Transaction Fees +Many btcli operations incur transaction fees. See [Transaction Fees in Bittensor](./fees.md) for details. +::: + Command line interface (CLI) for Bittensor. Uses the values in the configuration file. These values can be overriden by passing them explicitly in the command line. diff --git a/docs/dynamic-tao/staking-unstaking-dtao.md b/docs/dynamic-tao/staking-unstaking-dtao.md index dc9b632b54..560fdd283e 100644 --- a/docs/dynamic-tao/staking-unstaking-dtao.md +++ b/docs/dynamic-tao/staking-unstaking-dtao.md @@ -6,6 +6,10 @@ title: "Understanding Pricing and Anticipating Slippage" Each Bittensor subnet operates as a *constant product AMM*, meaning that it will accept trades that conserve the product of the quantities of the two tokens in reserve, TAO and alpha. To calulate the price in one token of batch of the other token that a buyer wishes to acquire—alpha if they are staking, or TAO if they are unstaking—the algorithm assumes that the transaction does not change this product, so the product of TAO and alpha is the same before and after. +:::note Transaction Fees +Staking and unstaking operations incur transaction fees in addition to slippage. See [Transaction Fees in Bittensor](../fees.md) for details. +::: + When staking, the product K of TAO in reserve and alpha in reserve is the same before and after the transaction, so the initial product must be equal to the product after the cost in TAO is added to the reserve, and the stake is removed from the reserve and placed in the staked hotkey: $$ diff --git a/docs/fees.md b/docs/fees.md new file mode 100644 index 0000000000..16d591070d --- /dev/null +++ b/docs/fees.md @@ -0,0 +1,144 @@ +--- +title: "Transaction Fees in Bittensor" +--- + +# Transaction Fees in Bittensor + +This page describes the blockchain transaction fees charged by Bittensor. + +Many extrinsic transactions that change the state of the blockchain are subject to a flat fee of approximately 0.0013 $\tau$. + +Staking and unstaking operations incur weight-based fees as well as amount-based fees of 0.05% of the transacted liquidity. + +Reading the state of the chain is always free. + + +## Weight-Based Transaction Fees + +Many extrinsics in Bittensor are subject to a flat **weight-based fee**. In Polkadot-based chains like Subtensor (Bittensor's layer 1 blockchain), [weight](https://docs.polkadot.com/polkadot-protocol/glossary/#weight) is a measure of compute time. + +**Fee Details**: +- **Current rate**: $\approx0.0013 \tau$ +- **Payment source**: Free balance of the transaction sender +- **Denomination**: TAO +- **Impact on liquidity**: Fees are *recycled* (deducted from `TotalIssuance`) + +:::tip Planned reduction +It is currently planned that the fee coefficient will be reduced to $0.005%$ (10x reduction). +::: + +### Staking Operations +- [`add_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L591) +- [`remove_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L635) +- [`add_stake_limit`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1793) +- [`remove_stake_limit`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1857) +- [`remove_stake_full_limit`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L2081) +- [`move_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1643) +- [`transfer_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1686) +- [`swap_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1731) +- [`swap_stake_limit`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1904) +- [`unstake_all`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1581) +- [`unstake_all_alpha`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1614) + +### Wallet and Identity Management +- [`set_identity`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1471) +- [`set_subnet_identity`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1513) +- [`associate_evm_key`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L2001) +- [`try_associate_hotkey`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1938) +- [`schedule_swap_coldkey`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1333) + +### Subnet Management + +- [`start_call`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1963) +- [`update_symbol`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L2163) + +### Burn/recycle alpha + +- [`recycle_alpha`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L2027) +- [`burn_alpha`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L2052) + +## Child Hotkey Management + +- [`set_children`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1287) +- [`set_childkey_take`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1021) + +### Governance +- [`adjust_senate`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L921) + +
        + See how it's calculated! + ```rust + pub struct LinearWeightToFee; + + impl WeightToFeePolynomial for LinearWeightToFee { + type Balance = Balance; + + fn polynomial() -> WeightToFeeCoefficients { + let coefficient = WeightToFeeCoefficient { + coeff_integer: 0, + coeff_frac: Perbill::from_parts(500_000), // 0.05% + negative: false, + degree: 1, + }; + smallvec!(coefficient) + } + } + ``` + **Source code reference:** [`runtime/src/lib.rs:448-463`](https://github.com/opentensor/subtensor/blob/main/runtime/src/lib.rs#L448-L463) + +
        + +## Swap Fees for Stake and Unstake Operations + +In addition to the weight-based fee above, staking and unstaking operations are subject to fees based on a percentage of the quantity of transacted liquidity. + +**Fee Details:** +- **Rate**: 0.05% +- **For staking**: Fee paid in **TAO** from the staking amount +- **For unstaking**: Fee paid in **Alpha** from the unstaking amount + +### Example +```shell +btcli stake add +``` +```console +... + +Amount to stake (TAO τ): 100 + + Staking to: + Wallet: 2MuchTau!, Coldkey ss58: 5Xj... + Network: test + + ┃ ┃ ┃ ┃ ┃ ┃ ┃ Rate with ┃ Partial + ┃ ┃ ┃ ┃ Est. ┃ ┃ Extrinsic ┃ tolerance: ┃ stake + Netuid ┃ Hotkey ┃ Amount (τ) ┃ Rate (per τ) ┃ Received ┃ Fee (τ) ┃ Fee (τ) ┃ (0.5%) ┃ enabled +━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━ + 2 │ 5GrwvaEF5zX… │ 100.0000 τ │ 2416.813286… │ 241,556.4147 │ Τ 0.0504 │ 0.0013 τ │ 2404.7893 │ False + │ │ │ β/Τ │ β │ │ │ β/Τ │ +────────┼──────────────┼────────────┼──────────────┼──────────────┼──────────┼──────────────┼──────────────┼────────────── + │ │ │ │ │ │ │ │ + +``` + + +**Source code references:** +- [Fee value](https://github.com/opentensor/subtensor/blob/main/pallets/swap/src/pallet/mod.rs#L68-L76) +- [Fee calculation and distribution](https://github.com/opentensor/subtensor/blob/main/pallets/swap/src/pallet/impls.rs#L596-L639) + +## Fee-Free Extrinsics + +The following extrinsics are free. + +### Weight Setting & Commit-Reveal +- [`set_weights`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L83) - Setting validator weights +- [`commit_weights`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L158) - Commit weight hash +- [`batch_commit_weights`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L192) - Batch commit weight hashes +- [`reveal_weights`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L241) - Reveal committed weights +- [`commit_crv3_weights`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L285) - Commit CRv3 encrypted weights +- [`batch_reveal_weights`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L337) - Batch reveal committed weights + +### Administrative & Operational +- Sudo and admin extrinsics +- Governance-related functions + diff --git a/docs/staking-and-delegation/delegation.md b/docs/staking-and-delegation/delegation.md index 8d74e78c23..b3f8998677 100644 --- a/docs/staking-and-delegation/delegation.md +++ b/docs/staking-and-delegation/delegation.md @@ -9,6 +9,10 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; TAO holders can **stake** any amount of the liquidity they hold to a validator. Also known as **delegation**, staking supports validators, because their total stake in the subnet, including stake delegated to them by others, determines their consensus power and their share of emissions. After the validator/delegate extracts their **take** the remaining emissions are credited back to the stakers/delegators in proportion to their stake with that validator. +:::note Transaction Fees +Staking and unstaking operations incur transaction fees. See [Transaction Fees in Bittensor](../fees.md) for details. +::: + See also: - [Staking with Polkadot JS](./staking-polkadot-js.md). diff --git a/docs/staking-and-delegation/managing-stake-btcli.md b/docs/staking-and-delegation/managing-stake-btcli.md index 18c6e0b311..8602a27d6b 100644 --- a/docs/staking-and-delegation/managing-stake-btcli.md +++ b/docs/staking-and-delegation/managing-stake-btcli.md @@ -8,6 +8,10 @@ This pages demonstrates usage of `btcli`, the Bittensor CLI, for managing stake. TAO holders can **stake** any amount of the liquidity they hold to a validator. Also known as **delegation**, staking supports validators, because their total stake in the subnet, including stake delegated to them by others, determines their consensus power and their share of emissions. After the validator/delegate extracts their **take** the remaining emissions are credited back to the stakers/delegators in proportion to their stake with that validator. +:::note Transaction Fees +Staking and unstaking operations incur transaction fees for the underlying blockchain transactions they trigger. See [Transaction Fees in Bittensor](../fees.md) for details. +::: + See also: - [Staking/delegation overview](./delegation) diff --git a/docs/staking-and-delegation/stakers-btcli-guide.md b/docs/staking-and-delegation/stakers-btcli-guide.md index 118a6508a0..acf14a034e 100644 --- a/docs/staking-and-delegation/stakers-btcli-guide.md +++ b/docs/staking-and-delegation/stakers-btcli-guide.md @@ -6,6 +6,10 @@ title: "Staker's Guide to `BTCLI`" This page prepares the reader for managing TAO and alpha stake using `btcli` in a secure manner. +:::note Transaction Fees +Staking and unstaking operations incur transaction fees. See [Transaction Fees in Bittensor](../fees.md) for details. +::: + For general coverage of `btcli` security and usage considerations across persona, see: [Bittensor CLI: Permissions Guide](../btcli-permissions) ## Intro diff --git a/docs/validators/validators-btcli-guide.md b/docs/validators/validators-btcli-guide.md index 269ba0380b..98e6ec4f8a 100644 --- a/docs/validators/validators-btcli-guide.md +++ b/docs/validators/validators-btcli-guide.md @@ -6,6 +6,10 @@ title: "Validator's Guide to `BTCLI`" Validators evaluate miner performance, and post their evaluations to the blockchain. This page discusses considerations specific to validators when using `btcli`. +:::note Transaction Fees +Certain validator operations incur transaction fees. See [Transaction Fees in Bittensor](../fees.md) for details. +::: + For general coverage of `btcli` permissions and requirements, see: [Bittensor CLI: Permissions Guide](../btcli-permissions) See also: [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security). diff --git a/sidebars.js b/sidebars.js index 4e0349ea7e..d591c5a571 100644 --- a/sidebars.js +++ b/sidebars.js @@ -42,6 +42,7 @@ const sidebars = { "emissions", "yuma-consensus", "subnets/yc3-blog", + "fees", ], }, { From f49dd860b67279f89ddfd22bb743def962d41468 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 31 Jul 2025 18:37:30 -0700 Subject: [PATCH 171/303] wip --- docs/learn/sandwiches.md | 254 ++++++++++++++++++++++++++ docs/learn/slippage.md | 374 +++++++++++++++++++++++++++++++++++++++ sidebars.js | 3 +- 3 files changed, 630 insertions(+), 1 deletion(-) create mode 100644 docs/learn/sandwiches.md create mode 100644 docs/learn/slippage.md diff --git a/docs/learn/sandwiches.md b/docs/learn/sandwiches.md new file mode 100644 index 0000000000..7cfa886bd8 --- /dev/null +++ b/docs/learn/sandwiches.md @@ -0,0 +1,254 @@ +--- +title: "Understanding Slippage: Sandwich Attacks" +--- +## Understanding Sandwich Attacks + +**Maximal Extractable Value (MEV)** represents profits that can be extracted by reordering, including, or excluding transactions within blocks. In AMM systems like Bittensor's subnets, the most common MEV attack is the **sandwich attack**, where bots exploit the predictable slippage from large transactions. + +### Understanding Sandwich Attacks + +Sandwich attacks exploit the fact that pending transactions are visible in the **mempool** before execution, allowing attackers to predict and profit from price movements. + +#### How Sandwich Attacks Work + +1. **Mempool Monitoring**: MEV bots continuously scan the mempool for large pending transactions +2. **Front-Running**: Bots manipulate transaction priorities set orchestrate transactions in the correct order +3. **Profit Extraction**: The victim's transaction causes slippage that the bot captures + +#### Sandwich Attack Example + +Let's examine a concrete example using Bittensor's AMM mechanics: + +**Initial State:** +- Subnet X has 1000 alpha in reserve, 100 TAO in reserve +- Current price: 0.1 TAO per alpha +- Alice wants to stake 50 TAO (a large transaction) + +**Step 1: MEV Bot Observes Alice's Transaction** +``` +Mempool: [Alice: "stake 50 TAO in subnet X"] +MEV Bot calculates: "Alice will cause significant slippage, I can profit" +``` + +**Step 2: MEV Bot Front-Runs Alice** +``` +MEV Bot submits: "stake 10 TAO in subnet X" with HIGHER PRIORITY + +Execution order will be: +1. MEV Bot stakes 10 TAO (higher priority) +2. Alice stakes 50 TAO (original priority) +3. MEV Bot unstakes equivalent alpha (on subsequent block) +``` + +**Step 3: Block Execution Sequence** + +``` +Before any transactions: +- Pool: 1000 alpha, 100 TAO +- Price: 0.1 TAO per alpha + +Transaction 1 - MEV Bot stakes 10 TAO: +- Alpha received = 1000 - (1000 × 100)/(100 + 10) = 90.91 alpha +- Pool state: 909.09 alpha, 110 TAO +- New price: 0.121 TAO per alpha + +Transaction 2 - Alice stakes 50 TAO: +- Alpha received = 909.09 - (909.09 × 110)/(110 + 50) = 282.11 alpha +- Pool state: 627.98 alpha, 160 TAO +- New price: 0.255 TAO per alpha + +Transaction 3 - MEV Bot unstakes 90.91 alpha: +- TAO received = 160 - (627.98 × 160)/(627.98 + 90.91) = 137.67 TAO +- MEV Bot profit: 137.67 - 10 = 127.67 TAO (!!) +``` + +**The Victim:** +- Alice expected ~500 alpha at 0.1 TAO per alpha +- Alice actually received 282.11 alpha (43.6% slippage!) +- Alice paid for the MEV bot's profit through worse execution + +**The MEV Bot's Profit Strategy:** +- Bot bought 90.91 alpha for 10 TAO when price was 0.1 TAO per alpha +- Alice's large transaction pushed the price up to 0.255 TAO per alpha +- Bot can now sell their 90.91 alpha at this inflated price for 137.67 TAO +- **This price spike caused by Alice is the entire source of profit** +- Without Alice's transaction, there would be no profitable price movement to exploit + +#### Priority-Based Transaction Ordering + +Bittensor uses priority-based ordering that enables these attacks: + +**Transaction Priority Calculation:** +```rust +// From subtensor/pallets/subtensor/src/lib.rs:1796-1813 +pub fn get_priority_staking( + coldkey: &T::AccountId, + hotkey: &T::AccountId, + stake_amount: u64, +) -> u64 { + let default_priority = current_block_number.saturating_sub(last_stake_block); + + // Higher stake amounts get higher priority + default_priority + .saturating_add(u32::MAX as u64) + .saturating_add(stake_amount) +} +``` + +**Source**: [subtensor/pallets/subtensor/src/lib.rs:1796-1813](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs#L1796-L1813) + +MEV bots can submit transactions with higher stake amounts to gain execution priority, ensuring their front-running transactions execute first. + +**Transaction Pool Implementation:** + +**Source**: [subtensor/runtime/src/lib.rs:1857-1872](https://github.com/opentensor/subtensor/blob/main/runtime/src/lib.rs#L1857-L1872) + +The runtime implements the `TaggedTransactionQueue` API where transactions are validated and added to the transaction pool where they compete based on priority before block inclusion. + +**Transaction Validation and Prioritization:** + +**Source**: [subtensor/pallets/subtensor/src/lib.rs:2115-2137](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs#L2115-L2137) + +When `add_stake` transactions are submitted, they get prioritized based on the stake amount, allowing MEV bots to front-run by submitting higher-stake transactions. + +**Transaction Pool Competition:** + +**Source**: [subtensor/pallets/drand/src/lib.rs:614-618](https://github.com/opentensor/subtensor/blob/main/pallets/drand/src/lib.rs#L614-L618) + +The code comments in the DRAND pallet explicitly state: "We can still have multiple transactions compete for the same 'spot', and the one with higher priority will replace other one in the pool." + +### Configuring MEV Protection + +#### Recommended Slippage Tolerances + +**Conservative (Recommended for most users):** +```bash +btcli stake add --amount 100 --safe --tolerance 0.005 # 0.5% +``` + +**Moderate (For users comfortable with some slippage):** +```bash +btcli stake add --amount 100 --safe --tolerance 0.02 # 2% +``` + +**Aggressive (Only for time-sensitive operations):** +```bash +btcli stake add --amount 100 --safe --tolerance 0.05 # 5% +``` + +#### Large Transaction Strategy + +For large transactions that might attract MEV attention: + +**1. Split into smaller amounts:** +```python +# Instead of one large transaction +large_amount = bt.Balance.from_tao(1000) + +# Split into smaller chunks +chunk_size = bt.Balance.from_tao(50) +chunks = large_amount // chunk_size + +for i in range(chunks): + success = subtensor.add_stake( + wallet=wallet, + amount=chunk_size, + safe_staking=True, + rate_tolerance=0.01, # 1% tolerance + allow_partial_stake=False + ) + + if not success: + print(f"Chunk {i+1} rejected due to slippage") + break + + time.sleep(15) # Wait for next block to reset rate limits +``` + +**2. Use partial execution for very large amounts:** +```python +# Allow partial execution within tight tolerances +success = subtensor.add_stake( + wallet=wallet, + amount=bt.Balance.from_tao(1000), + safe_staking=True, + rate_tolerance=0.01, # 1% max slippage + allow_partial_stake=True # Execute what fits within tolerance +) +``` + +#### Pre-Transaction Analysis + +Always check potential slippage before large transactions: + +```python +import bittensor as bt + +subtensor = bt.Subtensor() +subnet_info = subtensor.subnet(netuid=14) + +# Check slippage for your intended transaction +tao_amount = 100.0 +alpha_received, slippage_amount = subnet_info.tao_to_alpha_with_slippage(tao_amount) +slippage_percentage = subnet_info.tao_to_alpha_with_slippage(tao_amount, percentage=True) + +print(f"Staking {tao_amount} TAO:") +print(f" - Alpha received: {alpha_received}") +print(f" - Slippage: {slippage_percentage:.2%}") + +if slippage_percentage > 0.02: # 2% threshold + print("⚠️ WARNING: High slippage detected!") + print(" Consider:") + print(" - Splitting into smaller transactions") + print(" - Using partial execution") + print(" - Waiting for better liquidity conditions") +else: + print("✅ Slippage within acceptable range") +``` + +### MEV Protection Best Practices + +1. **Always Use Safe Staking**: Enable `safe_staking=True` for protection +2. **Set Conservative Tolerances**: Start with 0.5-2% for most operations +3. **Monitor Pool Liquidity**: Check `subnet_info.tao_in` and `subnet_info.alpha_in` before large transactions +4. **Split Large Transactions**: Break amounts >100 TAO into smaller chunks +5. **Use Partial Execution**: Enable for very large amounts to ensure some execution +6. **Time Transactions Wisely**: Avoid periods of high MEV bot activity +7. **Pre-Calculate Slippage**: Always check expected slippage before executing + +### Error Handling for MEV Protection + +```python +try: + success = subtensor.add_stake( + wallet=wallet, + amount=bt.Balance.from_tao(100), + safe_staking=True, + rate_tolerance=0.01 + ) + + if success: + print("✅ Transaction successful with MEV protection") + else: + print("❌ Transaction failed - likely due to slippage protection") + +except Exception as e: + if "SlippageTooHigh" in str(e): + print("🛡️ Slippage protection activated - transaction rejected") + print(" Try: Lower amount, higher tolerance, or partial execution") + elif "StakingOperationRateLimitExceeded" in str(e): + print("⏱️ Rate limit active - wait for next block") + else: + print(f"❌ Other error: {e}") +``` + +### Summary + +Bittensor's multi-layered MEV protection combines: + +1. **Rate Limiting**: Prevents rapid successive operations that enable sandwich attacks +2. **Slippage Protection**: Allows users to set maximum acceptable slippage thresholds +3. **Partial Execution**: Enables execution of portion that fits within tolerance +4. **Price Limits**: Blockchain-level enforcement of maximum acceptable prices + +By configuring conservative slippage tolerances and using Bittensor's built-in protections, users can effectively defend against MEV attacks while still participating in the network's AMM system. \ No newline at end of file diff --git a/docs/learn/slippage.md b/docs/learn/slippage.md new file mode 100644 index 0000000000..7c7129fc05 --- /dev/null +++ b/docs/learn/slippage.md @@ -0,0 +1,374 @@ +--- +title: "Understanding Slippage" +--- + +# Understanding Slippage + +## Introduction + +When staking and unstaking in Bittensor, *slippage* refers to a difference between the quantity of tokens actually received, and the amount that would be expected based on a static price. This difference is due to the change in price due to the transaction itself. + +Each Bittensor subnet operates as a *constant product AMM*, meaning that it will accept trades that conserve the product of the quantities of the two tokens in reserve, TAO and alpha. To calulate the price in one token of batch of the other token that a buyer wishes to acquire—alpha if they are staking, or TAO if they are unstaking—the algorithm assumes that the transaction does not change this product, so the product of TAO and alpha is the same before and after. + +When staking, the product K of TAO in reserve and alpha in reserve is the same before and after the transaction, so the initial product must be equal to the product after the cost in TAO is added to the reserve, and the stake is removed from the reserve and placed in the staked hotkey. + +Before: +$$ +\tau_{\mathrm{in}} \,\alpha_{\mathrm{in}} = k +$$ + +After: +$$ +(\tau_{\mathrm{in}} + \text{cost}) \bigl(\alpha_{\mathrm{in}} - \text{stake}\bigr) = k +$$ + +Equal: +$$ +(\tau_{\mathrm{in}} + \text{cost}) \bigl(\alpha_{\mathrm{in}} - \text{stake}\bigr) + = \tau_{\mathrm{in}} \,\alpha_{\mathrm{in}} +$$ + +This means that if we choose to stake in a certain amount of TAO (if we specify the cost), then the yielded stake (the quantity of alpha to be removed from reserve and granted to the staked hotkey) is: + +$$ +\text{Stake} = \alpha_{\text{in}} - \frac{\tau_{\text{in}} \alpha_{\text{in}}} {\tau_{\text{in}} + \text{cost}} +$$ + +## Slippage Example + +For example, suppose that a subnet has 100 alpha in reserve and 10 TAO, and we want to stake in 5 TAO. + +The price at this moment is 10 TAO / 100 alpha, or 10 alpha per TAO, so if we stake 5 TAO, we would expect 50 alpha, without taking slippage into account. + +With slippage, the yielded alpha stake will be: + +$$ +\text{Stake} = 100 - \frac{ 10 * 100} {10 + 5} +$$ + +or 33.333 alpha sent to the hotkey. So in this case, the slippage is the difference between the ideal expectation of 50 and the actual swap value of 33.33333: +$$ +16.667 = 50 - 33.333 +$$ + +This slippage is 50% of the actual swap value, which is extremely high, because we chose small values for the available liquidity. In general, slippage is high when available liquidity is limited compared to the magnitude of the transaction, since the transaction itself is changing the price significantly. + +:::tip +`btcli` shows the slippage of staking and unstaking operations, so you don't need to calculate it yourself. +::: + +## Slippage Protection and Modes + +Bittensor provides three distinct protection modes to give users control over how their transactions handle slippage in staking and unstaking transaction: + +### Three Modes + +#### Safe Mode (Default) +- Transaction is **rejected** if slippage exceeds the specified tolerance +- Provides maximum protection against unfavorable price movements +- "Fill or kill" behavior - either execute at acceptable price or not at all + +#### Partial Mode +- Transaction executes **up to the slippage threshold** +- If full amount would exceed tolerance, stakes only the portion within limits +- Ensures some execution while respecting price boundaries + +#### Unsafe Mode +- **Ignores slippage entirely** +- Transaction executes regardless of price impact +- Fastest execution but no protection against adverse price movements + +### Slippage Example Across Modes + +Consider staking 1000 TAO when slippage would be 8% for the full amount, with tolerance set to 5%: +| Mode | Outcome | +|----------------------|------| +|Safe |Transaction rejected entirely (8% > 5% tolerance)| +|Partial |Stakes ~625 TAO (amount that fits within 5% tolerance) | +|Unsafe |Stakes full 1000 TAO regardless of 8% slippage| + +## Managing Slippage with BTCLI + +The `btcli stake` interface provides parameters to control slippage protection modes. + +### Mode Selection + +The following apply to `btcli stake add` and `btcli stake remove`. + +:::tip +Other stake commands (`stake swap`, `stake move`, `stake transfer`) do not have slippage protection, since they do not involve balance changes. +::: + +**Rate Tolerance:** +```bash +--slippage, --slippage-tolerance, --tolerance, --rate-tolerance FLOAT +``` +- **Default**: 0.005 (0.5%) +- **Range**: 0.0 to 1.0 (0% to 100%) +- **Purpose**: Sets the maximum allowed price change ratio + +Enable/disable slippage protection (including partial protection). + +:::warning +In `--unsafe` mode, transactions are very vulnerable, including [sandwich attacks](#sandwich-attacks). + +It is not recommended to stake/unstake on main net ("finney") in `--unsafe` mode. +::: + +```bash +--safe-staking/--no-safe-staking, --safe/--unsafe +``` + +Enable/disable partial staking. Ignored in `--unsafe` mode. + +```bash + +--allow-partial-stake/--no-allow-partial-stake, --partial/--no-partial +``` + +### Examples + +**Safe Mode (reject if slippage exceeds limit):** +```bash +btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.05 --no-partial +``` + +**Partial Mode (execute what fits within limit):** +```bash +btcli stake add --amount 1000 --netuid 1 --safe --partial --tolerance 0.05 +``` + +**Unsafe Mode (ignore slippage):** +```bash +btcli stake add --amount 300 --netuid 1 --unsafe +``` + +## Managing Slippage with SDK + +The Bittensor SDK `add_stake` and `remove_stake` commands provides slippage through method parameters. The SDK automatically translates your mode selection to the appropriate blockchain extrinsics. + +See: [Source code](https://github.com/opentensor/bittensor/blob/master/bittensor/core/extrinsics/staking.py#L113-146) + +### Parameters + +**`safe_staking`** (bool): +- **Default**: False +- **Purpose**: Enables/disables slippage protection + +**`allow_partial_stake`** (bool): +- **Default**: False +- **Purpose**: Enables partial execution mode + +**`rate_tolerance`** (float): +- **Default**: 0.005 (0.5%) +- **Range**: 0.0 to 1.0 +- **Purpose**: Maximum allowed slippage value before transaction is rejected (with `--partial` disabled), or limited (with `--partial` enabled). + +### Examples + +**Safe Mode (reject if slippage exceeds limit):** +```python +import bittensor as bt + +subtensor = bt.Subtensor() +wallet = bt.Wallet("my_wallet") + +success = subtensor.add_stake( + wallet=wallet, + hotkey_ss58="5F...", + netuid=1, + amount=bt.Balance.from_tao(100), + safe_staking=True, # Enable protection + rate_tolerance=0.05, # 5% tolerance + allow_partial_stake=False # Reject if exceeds tolerance +) +``` + +**Partial Mode (execute what fits within limit):** +```python +success = subtensor.add_stake( + wallet=wallet, + hotkey_ss58="5F...", + netuid=1, + amount=bt.Balance.from_tao(1000), + safe_staking=True, # Enable protection + rate_tolerance=0.05, # 5% tolerance + allow_partial_stake=True # Execute partial amount within tolerance +) +``` + +**Unsafe Mode (ignore slippage):** +```python +success = subtensor.add_stake( + wallet=wallet, + hotkey_ss58="5F...", + netuid=1, + amount=bt.Balance.from_tao(100), + safe_staking=False # Disable protection entirely +) +``` + +## Calculating Slippage + +The SDK provides methods to calculate slippage before executing transactions: + +```python +import bittensor as bt + +# Initialize connection to the network +subtensor = bt.Subtensor() + +# Get subnet information for subnet 14 +subnet_info = subtensor.subnet(netuid=14) + +print(f"Subnet 14 Information:") +print(f" - Alpha in: {subnet_info.alpha_in}") +print(f" - Alpha out: {subnet_info.alpha_out}") +print(f" - TAO in: {subnet_info.tao_in}") +print(f" - Price: {subnet_info.price}") +print(f" - Emission: {subnet_info.emission}") + +# Calculate slippage for staking 10 TAO +tao_amount = 10.0 +print(f"\nCalculating slippage for staking {tao_amount} TAO:") + +# Method 1: Get alpha received and slippage amount +alpha_received, slippage_amount = subnet_info.tao_to_alpha_with_slippage(tao_amount) +print(f" - Alpha received: {alpha_received}") +print(f" - Slippage amount: {slippage_amount}") + +# Method 2: Get slippage percentage (relative to total transaction) +slippage_percentage = subnet_info.tao_to_alpha_with_slippage(tao_amount, percentage=True) +print(f" - SDK slippage percentage: {slippage_percentage:.2%}") + +# Method 3: Calculate traditional slippage percentage (relative to received amount) +# Use Balance.rao property to get raw values for calculation +traditional_percentage = (slippage_amount.rao / alpha_received.rao) * 100 +print(f" - Traditional slippage percentage: {traditional_percentage:.4f}%") + +# Calculate slippage for unstaking 100 alpha +# Create alpha amount with correct netuid to avoid deprecation warnings +alpha_amount = bt.Balance.from_tao(100).set_unit(14) # Set to subnet 14 +print(f"\nCalculating slippage for unstaking {alpha_amount} alpha:") + +# Method 1: Get TAO received and slippage amount +tao_received, slippage_amount = subnet_info.alpha_to_tao_with_slippage(alpha_amount) +print(f" - TAO received: {tao_received}") +print(f" - Slippage amount: {slippage_amount}") + +# Method 2: Get slippage percentage (relative to total transaction) +slippage_percentage = subnet_info.alpha_to_tao_with_slippage(alpha_amount, percentage=True) +print(f" - SDK slippage percentage: {slippage_percentage:.2%}") + +# Method 3: Calculate traditional slippage percentage (relative to received amount) +# Use Balance.rao property to get raw values for calculation +traditional_percentage = (slippage_amount.rao / tao_received.rao) * 100 +print(f" - Traditional slippage percentage: {traditional_percentage:.4f}%") + +# Compare different amounts to see how slippage changes +print(f"\nSlippage comparison for different amounts:") +amounts = [1.0, 10.0, 50.0, 100.0] +for amount in amounts: + alpha_received, slippage_amount = subnet_info.tao_to_alpha_with_slippage(amount) + slippage_pct = subnet_info.tao_to_alpha_with_slippage(amount, percentage=True) + # Use Balance.rao property to get raw values for calculation + traditional_pct = (slippage_amount.rao / alpha_received.rao) * 100 + print(f" - {amount} TAO → {alpha_received} alpha (SDK: {slippage_pct:.2%}, Traditional: {traditional_pct:.4f}%)") +``` +```console +Subnet 14 Information: + - Alpha in: ‎852,213.419039698ξ‎ + - Alpha out: ‎1,143,515.702624673ξ‎ + - TAO in: τ20,358.835906940 + - Price: τ0.023889112 + - Emission: τ0.000000000 + +Calculating slippage for staking 10.0 TAO: + - Alpha received: ‎418.390831432ξ‎ + - Slippage amount: ‎0.209910193ξ‎ + - SDK slippage percentage: 5.01% + - Traditional slippage percentage: 0.0502% + +Calculating slippage for unstaking ‎100.000000000ξ‎ alpha: + - TAO received: τ2.388656034 + - Slippage amount: τ0.000255166 + - SDK slippage percentage: 1.07% + - Traditional slippage percentage: 0.0107% + +Slippage comparison for different amounts: + - 1.0 TAO → ‎41.857577976ξ‎ alpha (SDK: 0.60%, Traditional: 0.0060%) + - 10.0 TAO → ‎418.390831432ξ‎ alpha (SDK: 5.01%, Traditional: 0.0502%) + - 50.0 TAO → ‎2,087.854062147ξ‎ alpha (SDK: 24.60%, Traditional: 0.2466%) + - 100.0 TAO → ‎4,165.502978352ξ‎ alpha (SDK: 48.98%, Traditional: 0.4922%) + +``` +## Best Practices + +1. **Set Reasonable Tolerances**: Use 0.5-5% for most operations +2. **Monitor Liquidity**: Check pool liquidity before large transactions +3. **Use Partial Execution**: Enable for large amounts to ensure some execution +4. **Test Small Amounts**: Start with small transactions to understand slippage +5. **Check Current Prices**: Verify market conditions before executing + +## Error Handling + +**Common Error Messages:** +- `"Price exceeded tolerance limit"`: Increase tolerance or enable partial execution +- `"Slippage is too high"`: Reduce transaction size or increase tolerance +- `"Insufficient liquidity"`: Try smaller amounts or different timing + +**Troubleshooting:** +```python +try: + success = subtensor.add_stake( + wallet=wallet, + amount=bt.Balance.from_tao(100), + safe_staking=True, + rate_tolerance=0.05 + ) +except Exception as e: + if "SlippageTooHigh" in str(e): + # Increase tolerance or reduce amount + pass + elif "InsufficientLiquidity" in str(e): + # Try smaller amount or wait for better conditions + pass +``` + +## Code References + +### BTCLI Commands +- [`btcli stake add`](../btcli/btcli-playground.md#stake-add) - Staking with slippage protection +- [`btcli stake remove`](../btcli/btcli-playground.md#stake-remove) - Unstaking with slippage protection + +**Note**: Only `stake add` and `stake remove` support slippage protection. Other stake commands (`stake swap`, `stake move`, `stake transfer`) do not have slippage protection parameters. + +### SDK Methods (With Slippage Protection) +- [`bittensor.core.subtensor.Subtensor.add_stake()`](pathname:///python-api/html/autoapi/bittensor/core/subtensor/index.html) - Staking with protection +- [`bittensor.core.subtensor.Subtensor.unstake()`](pathname:///python-api/html/autoapi/bittensor/core/subtensor/index.html) - Unstaking with protection +- [`bittensor.core.subtensor.Subtensor.swap_stake()`](pathname:///python-api/html/autoapi/bittensor/core/subtensor/index.html) - Stake movement with protection + +### SDK Calculation Methods +- [`bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha_with_slippage()`](https://github.com/opentensor/bittensor/blob/master/bittensor/core/chain_data/dynamic_info.py#L130-L185) - Staking slippage calculation +- [`bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao_with_slippage()`](https://github.com/opentensor/bittensor/blob/master/bittensor/core/chain_data/dynamic_info.py#L187-L238) - Unstaking slippage calculation + +### Blockchain References + +**Blockchain Implementation (Protected Extrinsics):** +- [`do_add_stake_limit`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/add_stake.rs#L126-L180) - Protected staking function +- [`do_remove_stake_limit`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/remove_stake.rs#L329-L390) - Protected unstaking function +- [`do_swap_stake_limit`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/move_stake.rs#L175-L220) - Protected stake movement function + +**Blockchain Implementation (Basic Extrinsics):** +- [`do_add_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/add_stake.rs#L39-L75) - Basic staking function +- [`do_remove_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/remove_stake.rs#L38-L75) - Basic unstaking function +- [`do_swap_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/move_stake.rs#L175-L220) - Basic stake movement function + +**Transaction Pool & MEV-Related Implementation:** +- [Transaction Pool API](https://github.com/opentensor/subtensor/blob/main/runtime/src/lib.rs#L1857-L1872) - Where mempool validation happens +- [Priority Calculation](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs#L1796-L1813) - How MEV bots can gain priority +- [Transaction Validation](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs#L2115-L2137) - Where stake amounts determine priority + +**EVM Precompile Implementation:** +- [Solidity Interface](https://github.com/opentensor/subtensor/blob/main/precompiles/src/solidity/stakingV2.sol#L198-L225) - EVM interface for slippage protection +- [Rust Implementation](https://github.com/opentensor/subtensor/blob/main/precompiles/src/staking.rs#L320-L340) diff --git a/sidebars.js b/sidebars.js index d591c5a571..5a74448674 100644 --- a/sidebars.js +++ b/sidebars.js @@ -54,7 +54,8 @@ const sidebars = { items: [ "staking-and-delegation/delegation", "staking-and-delegation/stakers-btcli-guide", - "dynamic-tao/staking-unstaking-dtao", + "learn/slippage", + "learn/sandwiches", "staking-and-delegation/managing-stake-btcli", "staking-and-delegation/managing-stake-sdk", "staking-and-delegation/staking-polkadot-js", From e3a4ebb6d4f06415ca32a6f757da7bfb634ab97d Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 31 Jul 2025 18:46:49 -0700 Subject: [PATCH 172/303] wip --- docs/learn/sandwiches.md | 266 +++++++-------------------------------- 1 file changed, 42 insertions(+), 224 deletions(-) diff --git a/docs/learn/sandwiches.md b/docs/learn/sandwiches.md index 7cfa886bd8..10535567a3 100644 --- a/docs/learn/sandwiches.md +++ b/docs/learn/sandwiches.md @@ -1,254 +1,72 @@ --- title: "Understanding Slippage: Sandwich Attacks" --- -## Understanding Sandwich Attacks -**Maximal Extractable Value (MEV)** represents profits that can be extracted by reordering, including, or excluding transactions within blocks. In AMM systems like Bittensor's subnets, the most common MEV attack is the **sandwich attack**, where bots exploit the predictable slippage from large transactions. +# Understanding Sandwich Attacks -### Understanding Sandwich Attacks +## What Are Sandwich Attacks? -Sandwich attacks exploit the fact that pending transactions are visible in the **mempool** before execution, allowing attackers to predict and profit from price movements. +**Maximal Extractable Value (MEV)** represents profits that can be extracted by reordering, including, or excluding transactions within blocks. In AMM systems like Bittensor's subnets, the most common MEV attack is the **sandwich attack**, where bots exploit the predictable slippage from large transactions. -#### How Sandwich Attacks Work +### How Sandwich Attacks Work 1. **Mempool Monitoring**: MEV bots continuously scan the mempool for large pending transactions -2. **Front-Running**: Bots manipulate transaction priorities set orchestrate transactions in the correct order -3. **Profit Extraction**: The victim's transaction causes slippage that the bot captures - -#### Sandwich Attack Example - -Let's examine a concrete example using Bittensor's AMM mechanics: - -**Initial State:** -- Subnet X has 1000 alpha in reserve, 100 TAO in reserve -- Current price: 0.1 TAO per alpha -- Alice wants to stake 50 TAO (a large transaction) - -**Step 1: MEV Bot Observes Alice's Transaction** -``` -Mempool: [Alice: "stake 50 TAO in subnet X"] -MEV Bot calculates: "Alice will cause significant slippage, I can profit" -``` - -**Step 2: MEV Bot Front-Runs Alice** -``` -MEV Bot submits: "stake 10 TAO in subnet X" with HIGHER PRIORITY - -Execution order will be: -1. MEV Bot stakes 10 TAO (higher priority) -2. Alice stakes 50 TAO (original priority) -3. MEV Bot unstakes equivalent alpha (on subsequent block) -``` - -**Step 3: Block Execution Sequence** - -``` -Before any transactions: -- Pool: 1000 alpha, 100 TAO -- Price: 0.1 TAO per alpha - -Transaction 1 - MEV Bot stakes 10 TAO: -- Alpha received = 1000 - (1000 × 100)/(100 + 10) = 90.91 alpha -- Pool state: 909.09 alpha, 110 TAO -- New price: 0.121 TAO per alpha - -Transaction 2 - Alice stakes 50 TAO: -- Alpha received = 909.09 - (909.09 × 110)/(110 + 50) = 282.11 alpha -- Pool state: 627.98 alpha, 160 TAO -- New price: 0.255 TAO per alpha - -Transaction 3 - MEV Bot unstakes 90.91 alpha: -- TAO received = 160 - (627.98 × 160)/(627.98 + 90.91) = 137.67 TAO -- MEV Bot profit: 137.67 - 10 = 127.67 TAO (!!) -``` - -**The Victim:** -- Alice expected ~500 alpha at 0.1 TAO per alpha -- Alice actually received 282.11 alpha (43.6% slippage!) -- Alice paid for the MEV bot's profit through worse execution - -**The MEV Bot's Profit Strategy:** -- Bot bought 90.91 alpha for 10 TAO when price was 0.1 TAO per alpha -- Alice's large transaction pushed the price up to 0.255 TAO per alpha -- Bot can now sell their 90.91 alpha at this inflated price for 137.67 TAO -- **This price spike caused by Alice is the entire source of profit** -- Without Alice's transaction, there would be no profitable price movement to exploit - -#### Priority-Based Transaction Ordering - -Bittensor uses priority-based ordering that enables these attacks: - -**Transaction Priority Calculation:** -```rust -// From subtensor/pallets/subtensor/src/lib.rs:1796-1813 -pub fn get_priority_staking( - coldkey: &T::AccountId, - hotkey: &T::AccountId, - stake_amount: u64, -) -> u64 { - let default_priority = current_block_number.saturating_sub(last_stake_block); - - // Higher stake amounts get higher priority - default_priority - .saturating_add(u32::MAX as u64) - .saturating_add(stake_amount) -} -``` - -**Source**: [subtensor/pallets/subtensor/src/lib.rs:1796-1813](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs#L1796-L1813) - -MEV bots can submit transactions with higher stake amounts to gain execution priority, ensuring their front-running transactions execute first. - -**Transaction Pool Implementation:** - -**Source**: [subtensor/runtime/src/lib.rs:1857-1872](https://github.com/opentensor/subtensor/blob/main/runtime/src/lib.rs#L1857-L1872) - -The runtime implements the `TaggedTransactionQueue` API where transactions are validated and added to the transaction pool where they compete based on priority before block inclusion. - -**Transaction Validation and Prioritization:** - -**Source**: [subtensor/pallets/subtensor/src/lib.rs:2115-2137](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs#L2115-L2137) - -When `add_stake` transactions are submitted, they get prioritized based on the stake amount, allowing MEV bots to front-run by submitting higher-stake transactions. +2. **Front-Running**: Bots submit higher-priority transactions that execute before the victim's transaction +3. **Rate Limiting Protection**: Bittensor's rate limiting prevents staking and unstaking in the same block, forcing bots to wait for subsequent blocks +4. **Delayed Profit Extraction**: The victim's transaction causes slippage that the bot captures in later blocks -**Transaction Pool Competition:** +## Quick Protection Guide -**Source**: [subtensor/pallets/drand/src/lib.rs:614-618](https://github.com/opentensor/subtensor/blob/main/pallets/drand/src/lib.rs#L614-L618) +**The simplest way to protect against sandwich attacks:** -The code comments in the DRAND pallet explicitly state: "We can still have multiple transactions compete for the same 'spot', and the one with higher priority will replace other one in the pool." +1. **Pre-calculate your slippage** using Bittensor's SDK +2. **Set your tolerance slightly only slightly higher** than the expected slippage +3. **Disable partial staking** - if you get sandwiched, the transaction will be rejected -### Configuring MEV Protection - -#### Recommended Slippage Tolerances - -**Conservative (Recommended for most users):** -```bash -btcli stake add --amount 100 --safe --tolerance 0.005 # 0.5% -``` - -**Moderate (For users comfortable with some slippage):** -```bash -btcli stake add --amount 100 --safe --tolerance 0.02 # 2% -``` - -**Aggressive (Only for time-sensitive operations):** -```bash -btcli stake add --amount 100 --safe --tolerance 0.05 # 5% -``` - -#### Large Transaction Strategy +```python +import bittensor as bt -For large transactions that might attract MEV attention: +# 1. Calculate expected slippage +subtensor = bt.Subtensor() +subnet_info = subtensor.subnet(netuid=14) +expected_slippage = subnet_info.tao_to_alpha_with_slippage(100.0, percentage=True) -**1. Split into smaller amounts:** -```python -# Instead of one large transaction -large_amount = bt.Balance.from_tao(1000) - -# Split into smaller chunks -chunk_size = bt.Balance.from_tao(50) -chunks = large_amount // chunk_size - -for i in range(chunks): - success = subtensor.add_stake( - wallet=wallet, - amount=chunk_size, - safe_staking=True, - rate_tolerance=0.01, # 1% tolerance - allow_partial_stake=False - ) - - if not success: - print(f"Chunk {i+1} rejected due to slippage") - break - - time.sleep(15) # Wait for next block to reset rate limits -``` +# 2. Set tolerance slightly higher (e.g., +0.1%) +tolerance = expected_slippage + 0.001 -**2. Use partial execution for very large amounts:** -```python -# Allow partial execution within tight tolerances +# 3. Stake with tight tolerance and no partial execution success = subtensor.add_stake( wallet=wallet, - amount=bt.Balance.from_tao(1000), + amount=bt.Balance.from_tao(100), safe_staking=True, - rate_tolerance=0.01, # 1% max slippage - allow_partial_stake=True # Execute what fits within tolerance + rate_tolerance=tolerance, + allow_partial_stake=False # ← Key: reject if sandwiched ) ``` +**Result**: If a MEV bot tries to sandwich your transaction, the slippage will exceed your tolerance and the transaction will be rejected, protecting you from the attack. -#### Pre-Transaction Analysis - -Always check potential slippage before large transactions: +## Example -```python -import bittensor as bt +Using simplified numbers for clarity: -subtensor = bt.Subtensor() -subnet_info = subtensor.subnet(netuid=14) +**Initial State:** +- Subnet has 1,000 alpha in reserve, 100 TAO in reserve +- Current price: 0.1 TAO per alpha +- Alice wants to stake 50 TAO -# Check slippage for your intended transaction -tao_amount = 100.0 -alpha_received, slippage_amount = subnet_info.tao_to_alpha_with_slippage(tao_amount) -slippage_percentage = subnet_info.tao_to_alpha_with_slippage(tao_amount, percentage=True) - -print(f"Staking {tao_amount} TAO:") -print(f" - Alpha received: {alpha_received}") -print(f" - Slippage: {slippage_percentage:.2%}") - -if slippage_percentage > 0.02: # 2% threshold - print("⚠️ WARNING: High slippage detected!") - print(" Consider:") - print(" - Splitting into smaller transactions") - print(" - Using partial execution") - print(" - Waiting for better liquidity conditions") -else: - print("✅ Slippage within acceptable range") +**Sandwich Attack Sequence:** ``` +Block N - MEV Bot stakes 10 TAO: +- Alpha received: ~90 alpha +- New price: ~0.12 TAO per alpha -### MEV Protection Best Practices - -1. **Always Use Safe Staking**: Enable `safe_staking=True` for protection -2. **Set Conservative Tolerances**: Start with 0.5-2% for most operations -3. **Monitor Pool Liquidity**: Check `subnet_info.tao_in` and `subnet_info.alpha_in` before large transactions -4. **Split Large Transactions**: Break amounts >100 TAO into smaller chunks -5. **Use Partial Execution**: Enable for very large amounts to ensure some execution -6. **Time Transactions Wisely**: Avoid periods of high MEV bot activity -7. **Pre-Calculate Slippage**: Always check expected slippage before executing +Block N - Alice stakes 50 TAO: +- Alpha received: ~280 alpha (~44% slippage!) +- New price: ~0.25 TAO per alpha -### Error Handling for MEV Protection - -```python -try: - success = subtensor.add_stake( - wallet=wallet, - amount=bt.Balance.from_tao(100), - safe_staking=True, - rate_tolerance=0.01 - ) - - if success: - print("✅ Transaction successful with MEV protection") - else: - print("❌ Transaction failed - likely due to slippage protection") - -except Exception as e: - if "SlippageTooHigh" in str(e): - print("🛡️ Slippage protection activated - transaction rejected") - print(" Try: Lower amount, higher tolerance, or partial execution") - elif "StakingOperationRateLimitExceeded" in str(e): - print("⏱️ Rate limit active - wait for next block") - else: - print(f"❌ Other error: {e}") +Block N+1 - MEV Bot unstakes ~90 alpha: +- TAO received: ~23 TAO +- MEV Bot profit: ~13 TAO (~130% return!) ``` -### Summary - -Bittensor's multi-layered MEV protection combines: - -1. **Rate Limiting**: Prevents rapid successive operations that enable sandwich attacks -2. **Slippage Protection**: Allows users to set maximum acceptable slippage thresholds -3. **Partial Execution**: Enables execution of portion that fits within tolerance -4. **Price Limits**: Blockchain-level enforcement of maximum acceptable prices - -By configuring conservative slippage tolerances and using Bittensor's built-in protections, users can effectively defend against MEV attacks while still participating in the network's AMM system. \ No newline at end of file +**The Protection**: If Alice had set her tolerance to a more reasonable 5% or less (below the ~44% actual slippage), her transaction would have been rejected, preventing the sandwich attack. From 7b8a2efb37f5a89e4ded44fb719c1aba4d708aeb Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 31 Jul 2025 19:18:00 -0700 Subject: [PATCH 173/303] undo-premature-file-commit --- docs/learn/sandwiches.md | 72 ---------------------------------------- 1 file changed, 72 deletions(-) delete mode 100644 docs/learn/sandwiches.md diff --git a/docs/learn/sandwiches.md b/docs/learn/sandwiches.md deleted file mode 100644 index 10535567a3..0000000000 --- a/docs/learn/sandwiches.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: "Understanding Slippage: Sandwich Attacks" ---- - -# Understanding Sandwich Attacks - -## What Are Sandwich Attacks? - -**Maximal Extractable Value (MEV)** represents profits that can be extracted by reordering, including, or excluding transactions within blocks. In AMM systems like Bittensor's subnets, the most common MEV attack is the **sandwich attack**, where bots exploit the predictable slippage from large transactions. - -### How Sandwich Attacks Work - -1. **Mempool Monitoring**: MEV bots continuously scan the mempool for large pending transactions -2. **Front-Running**: Bots submit higher-priority transactions that execute before the victim's transaction -3. **Rate Limiting Protection**: Bittensor's rate limiting prevents staking and unstaking in the same block, forcing bots to wait for subsequent blocks -4. **Delayed Profit Extraction**: The victim's transaction causes slippage that the bot captures in later blocks - -## Quick Protection Guide - -**The simplest way to protect against sandwich attacks:** - -1. **Pre-calculate your slippage** using Bittensor's SDK -2. **Set your tolerance slightly only slightly higher** than the expected slippage -3. **Disable partial staking** - if you get sandwiched, the transaction will be rejected - -```python -import bittensor as bt - -# 1. Calculate expected slippage -subtensor = bt.Subtensor() -subnet_info = subtensor.subnet(netuid=14) -expected_slippage = subnet_info.tao_to_alpha_with_slippage(100.0, percentage=True) - -# 2. Set tolerance slightly higher (e.g., +0.1%) -tolerance = expected_slippage + 0.001 - -# 3. Stake with tight tolerance and no partial execution -success = subtensor.add_stake( - wallet=wallet, - amount=bt.Balance.from_tao(100), - safe_staking=True, - rate_tolerance=tolerance, - allow_partial_stake=False # ← Key: reject if sandwiched -) -``` -**Result**: If a MEV bot tries to sandwich your transaction, the slippage will exceed your tolerance and the transaction will be rejected, protecting you from the attack. - -## Example - -Using simplified numbers for clarity: - -**Initial State:** -- Subnet has 1,000 alpha in reserve, 100 TAO in reserve -- Current price: 0.1 TAO per alpha -- Alice wants to stake 50 TAO - -**Sandwich Attack Sequence:** -``` -Block N - MEV Bot stakes 10 TAO: -- Alpha received: ~90 alpha -- New price: ~0.12 TAO per alpha - -Block N - Alice stakes 50 TAO: -- Alpha received: ~280 alpha (~44% slippage!) -- New price: ~0.25 TAO per alpha - -Block N+1 - MEV Bot unstakes ~90 alpha: -- TAO received: ~23 TAO -- MEV Bot profit: ~13 TAO (~130% return!) -``` - -**The Protection**: If Alice had set her tolerance to a more reasonable 5% or less (below the ~44% actual slippage), her transaction would have been rejected, preventing the sandwich attack. From af6b983ed107b5234788d49afbb6ac9b69be43c3 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 31 Jul 2025 19:30:34 -0700 Subject: [PATCH 174/303] hide messed up pages --- sidebars.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/sidebars.js b/sidebars.js index 5a74448674..1823641bee 100644 --- a/sidebars.js +++ b/sidebars.js @@ -54,8 +54,6 @@ const sidebars = { items: [ "staking-and-delegation/delegation", "staking-and-delegation/stakers-btcli-guide", - "learn/slippage", - "learn/sandwiches", "staking-and-delegation/managing-stake-btcli", "staking-and-delegation/managing-stake-sdk", "staking-and-delegation/staking-polkadot-js", From ece5d0c4f422dbf5ce24f04b9aaeedf6abea43df Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 5 Aug 2025 17:55:54 +0100 Subject: [PATCH 175/303] package updates --- docs/getting-started/install-btcli.md | 6 ++++++ docs/getting-started/install-wallet-sdk.md | 8 +++++++- docs/getting-started/installation.md | 6 ++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/getting-started/install-btcli.md b/docs/getting-started/install-btcli.md index 4d6921c24c..c55fc107bf 100644 --- a/docs/getting-started/install-btcli.md +++ b/docs/getting-started/install-btcli.md @@ -9,6 +9,12 @@ import TabItem from '@theme/TabItem'; This page contains installation details for `btcli`, the Bittensor CLI. +--- + +:::warning Install from Verified Sources +Always double-check the package name and origin before installation. Use links and commands directly from our docs or GitHub releases to avoid malicious lookalikes. +::: + ## Prerequisite To install `btcli`, you must have Python version 3.9-3.12. See config file on [GitHub](https://github.com/opentensor/btcli/blob/main/pyproject.toml#L57-L60). diff --git a/docs/getting-started/install-wallet-sdk.md b/docs/getting-started/install-wallet-sdk.md index 41e4811415..a6dced2c65 100644 --- a/docs/getting-started/install-wallet-sdk.md +++ b/docs/getting-started/install-wallet-sdk.md @@ -2,6 +2,12 @@ title: "Install Wallet SDK" --- +--- + +:::warning Install from Verified Sources +Always double-check the package name and origin before installation. Use links and commands directly from our docs or GitHub releases to avoid malicious lookalikes. +::: + # Install Wallet SDK The Bittensor Wallet SDK is a Python interface for a powerful Rust-based Bittensor wallet functionality. You do not need to know Rust to use this Wallet SDK. However, if you want to contribute to the Rust components of this Wallet SDK, the Rust source is located in the `src` directory of [btwallet](https://github.com/opentensor/btwallet) repo. @@ -150,7 +156,7 @@ IMPORTANT: Store this mnemonic in a secure (preferable offline place), as anyone ``` -The above will create a wallet with "my_wallet_name". +The above will create a wallet with "my_wallet_name". **3. Use your own config** diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index fdc9c2440a..4539ad6276 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -9,6 +9,12 @@ import TabItem from '@theme/TabItem'; Before you can start developing, you must install Bittensor SDK and then create Bittensor wallet. +--- + +:::warning Install from Verified Sources +Always double-check the package name and origin before installation. Use links and commands directly from our docs or GitHub releases to avoid malicious lookalikes. +::: + ## Supported Python versions - bittensor (SDK): Python 3.9-3.13 (reference: https://github.com/opentensor/bittensor/blob/master/pyproject.toml#L14) From df58b677ef4a6f47b03d744b06fa7b9893486370 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 5 Aug 2025 19:51:46 +0100 Subject: [PATCH 176/303] callout update --- docs/getting-started/install-btcli.md | 2 +- docs/getting-started/install-wallet-sdk.md | 2 +- docs/getting-started/installation.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/getting-started/install-btcli.md b/docs/getting-started/install-btcli.md index c55fc107bf..82590c01f9 100644 --- a/docs/getting-started/install-btcli.md +++ b/docs/getting-started/install-btcli.md @@ -12,7 +12,7 @@ This page contains installation details for `btcli`, the Bittensor CLI. --- :::warning Install from Verified Sources -Always double-check the package name and origin before installation. Use links and commands directly from our docs or GitHub releases to avoid malicious lookalikes. +Always double-check the package name and origin before installation. Use links and commands directly from our docs or official release announcements to avoid malicious lookalikes. ::: ## Prerequisite diff --git a/docs/getting-started/install-wallet-sdk.md b/docs/getting-started/install-wallet-sdk.md index a6dced2c65..cd8a3225da 100644 --- a/docs/getting-started/install-wallet-sdk.md +++ b/docs/getting-started/install-wallet-sdk.md @@ -5,7 +5,7 @@ title: "Install Wallet SDK" --- :::warning Install from Verified Sources -Always double-check the package name and origin before installation. Use links and commands directly from our docs or GitHub releases to avoid malicious lookalikes. +Always double-check the package name and origin before installation. Use links and commands directly from our docs or official release announcements to avoid malicious lookalikes. ::: # Install Wallet SDK diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 4539ad6276..c3ee27c8b8 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -12,7 +12,7 @@ Before you can start developing, you must install Bittensor SDK and then create --- :::warning Install from Verified Sources -Always double-check the package name and origin before installation. Use links and commands directly from our docs or GitHub releases to avoid malicious lookalikes. +Always double-check the package name and origin before installation. Use links and commands directly from our docs or official release announcements to avoid malicious lookalikes. ::: ## Supported Python versions From 891c2c0128f4a0b496cd8d0fef2d9e967437f279 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 5 Aug 2025 23:28:40 +0100 Subject: [PATCH 177/303] added banner --- docusaurus.config.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docusaurus.config.js b/docusaurus.config.js index 5c75657600..c08b6e4c0c 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -161,6 +161,14 @@ const config = { ({ // Replace with your project's social card image: "img/bittensor-dev-docs-social-card.png", + announcementBar: { + id: "package_source", + content: + " ⚠️ For security, only use links and commands directly from our docs or official release announcements to avoid malicious lookalikes.", + backgroundColor: "#FFF4E5", + textColor: "#4A2F00", + isCloseable: true, + }, docs: { sidebar: { autoCollapseCategories: true, From fe96783afdb1085a1050bfcf0f09761fb7e334bb Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 6 Aug 2025 22:28:01 +0100 Subject: [PATCH 178/303] localnet docs wip --- docs/local-build/create-subnet.md | 2 +- docs/local-build/mine-validate.md | 138 ++++++++++++++++++++++++++---- sidebars.js | 12 +-- 3 files changed, 127 insertions(+), 25 deletions(-) diff --git a/docs/local-build/create-subnet.md b/docs/local-build/create-subnet.md index 9cf77c1393..50728a2f1d 100644 --- a/docs/local-build/create-subnet.md +++ b/docs/local-build/create-subnet.md @@ -8,7 +8,7 @@ This page covers creating a subnet on a locally deployed Subtensor blockchain, w For creating a subnet on Bittensor test and main network, see [Create a Subnet](../subnets/create-a-subnet). -## Prerequisites: +## Prerequisites Before continuing with the rest of this tutorial, make sure you've completed the following: diff --git a/docs/local-build/mine-validate.md b/docs/local-build/mine-validate.md index 888b21663a..649ec113cf 100644 --- a/docs/local-build/mine-validate.md +++ b/docs/local-build/mine-validate.md @@ -1,45 +1,147 @@ --- -title: "Mine and Validate (Locally)" +title: "Mining and Validating on Localnet" --- -# Mine and Validate (Locally) +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; -This page continues the tutorial series on local Bittensor development. In this installment, we will deploy minimal, local servers for a miner and validators, serving requests, setting weights, and earning emissions. +# Mining and Validating on Localnet +This page walks through mining and validating on a local Bittensor network. It covers how to register a neuron on a subnet, then run the miner and validator scripts to begin earning emissions. + +For mining and validating on the Bittensor mainnet, see [Mining in Bittensor](../miners/index.md) and [Validating in Bittensor](../validators/index.md). ## Prerequisites +Before continuing with the rest of this tutorial, make sure you've completed the following: + - [Deploy a Subtensor chain locally](./deploy) -- [Provision wallets for the sn-creator, miner, and validator users for this tutorial.](./provision-wallets) -- [Create a Subnet on your local chain](./create-subnet) +- [Provision wallets for the subnet creator, miner, and validator users for this tutorial.](./provision-wallets) +- [Created and started a subnet](./create-subnet) to enable emissions. + +This guide uses Opentensor's [_subnet template_](https://github.com/opentensor/subnet-template/tree/main) repo. The repo provides a minimal implementation for building a custom subnet on the Bittensor network and includes the core logic for the miner and validator. -## Register +## 1. Register the hotkeys -Register the subnet miner and validator with the following commands: +To participate in a subnet, you must first register a hotkey on it. This registration assigns the wallet a unique identifier (UID), which is required to interact with and receive emissions from the subnet. + +To register the hotkey, run the following command in your terminal, replacing `NETUID`, `WALLET_NAME`, and `WALLET_HOTKEY` with the target subnet ID, the name of the wallet, and the associated hotkey, respectively, as shown: ```bash -btcli subnet register \ ---wallet.name validator \ ---wallet.hotkey default \ ---network ws://127.0.0.1:9945 +btcli subnets register --netuid NETUID \ +--wallet-name WALLET_NAME \ +--hotkey WALLET_HOTKEY ``` + +You will be prompted to confirm the registration fee and enter your wallet password to authorize the transaction. + +
        +Show Sample Output + +```console +Warning: Verify your local subtensor is running on port 9944. subtensor_interface.py:88 +Using the specified network local from config + + Register to netuid: 2 + Network: local + + Netuid ┃ Symbol ┃ Cost (Τ) ┃ Hotkey ┃ Coldkey +━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + 2 │ γ │ τ 0.0985 │ 5FErfAJc3Wf32TVLQTtM....TRTrgMF4sjYWfq49oMCxXxqS │ 5Gxhv5iZGBvvR6YJeEdLmvZ7hS....dHc43fLqMVkhki7j4 +────────┼────────┼──────────┼──────────────────────────────────────────────────┼────────────────────────────────────────────────── + │ │ │ │ +Your balance is: 99,999.9000 τ +The cost to register by recycle is 0.0985 τ +Do you want to continue? [y/n] (n): y +Enter your password: +Decrypting... +Balance: + 99,999.9000 τ ➡ 99,999.8015 τ +✅ Registered on netuid 3 with UID 2 +``` + +
        + +Repeat the registration process for both the miner and validator hotkeys. + +## 2. Acquire validator permit + +To qualify as a validator on a subnet, a registered node must have a validator permit. This permit allows nodes to submit miner evaluations and set weights on a subnet. For more information, see [validator permits] + +To get validator permits on the demo subnet, you need to stake sufficient TAO to the validator hotkey. To do this, run the following command in the terminal: + ```bash -btcli subnet register \ ---netuid 2 \ ---wallet.name miner \ ---wallet.hotkey default \ ---network ws://127.0.0.1:9945 +btcli stake add --netuid NETUID \ +--wallet-name WALLET_NAME \ +--hotkey WALLET_HOTKEY \ +--partial ``` +Replace `NETUID`, `WALLET_NAME`, and `WALLET_HOTKEY` with the target subnet ID, the name of the wallet, and the associated hotkey, respectively. +Once you've staked enough TAO to the validator hotkey, the validator becomes eligible to submit evaluations and set weights on the subnet. You can verify that the validator has been granted a permit using any of the following methods: + + + +Run the following command in the terminal: +```bash +btcli wallet overview --wallet.name WALLET_NAME +``` +Replace the `WALLET_NAME` with the name of the validator wallet. + +
        +Show Sample Output + +```console +Warning: Verify your local subtensor is running on port 9944. subtensor_interface.py:88 +Using the specified network local from config + Wallet + + test-validator : 5Gxhv5iZGBvvR6YJeEd...bE6FdHc43fLqMVkhki7j4 + Network: local +Subnet: 2: New subnett β + + COLDKEY HOTKEY UID ACTIVE STAKE(β) RANK TRUST CONSENSUS INCENTIVE DIVIDENDS EMISSION(… VTRUST VPE… UPDAT… AXON HOTKEY_SS58 + ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + test-validator test-validator 1 False 287.57 0.00 0.00 0.00 0.00 0.00 38841066.… 0.00 * 5908 none 5FErfAJc3W + ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + 1 287.57 β 0.0000 0.0000 0.0000 0.0000 0.0000 ρ38841066 0.0000 + +``` + +
        + +If the validator wallet has a validator permit, an asterisk (`*`) will appear under the `VPERMIT` column for the corresponding subnet in the response table. + +
        + +Input the following lines in your Python environment, replacing `NETUID`, `WALLET_NAME`, and `WALLET_HOTKEY` with the target subnet ID, the name of the wallet, and the associated hotkey, respectively. + +```python +import bittensor as bt +network=bt.subtensor(network="local") +subnet = network.metagraph(NETUID) +wallet = bt.wallet( name = 'WALLET_NAME', hotkey = 'HOTKEY' ) +my_uid = subnet.hotkeys.index( wallet.hotkey.ss58_address ) +print(f'Validator permit: {subnet.validator_permit[my_uid]}') +``` + +The command outputs `True` or `False` depending on whether the validator hotkey has a permit. + +
        + +--- ### Troubleshoot + #### Insufficient funds + If you have not added TAO to your validator wallet, you'll see an error like the following: ```console Insufficient balance τ 0.0000 to register neuron. Current recycle is τ 1.0000 TAO ``` + Transfer funds from the Alice account to cover it and try again. Consult `btcli w list` and carefully check the ss58 address of the destination coldkey (in this case, the one with the name `validator`). ```shell @@ -50,10 +152,10 @@ btcli wallet transfer \ --network ws://127.0.0.1:9945 ``` - ### Successful registration Repeat the above steps to successfully register your miner and validator once they are funded + ```console netuid: 2 @@ -122,4 +224,4 @@ Subnet: 2: awesome-first-subnet β ```shell python3 neurons/miner.py netuid=2 -chain_endpoint=ws://127.0.0.1:9945 wallet_name=miner wallet_hotkey=default -``` \ No newline at end of file +``` diff --git a/sidebars.js b/sidebars.js index 1823641bee..a59dfa2426 100644 --- a/sidebars.js +++ b/sidebars.js @@ -86,9 +86,9 @@ const sidebars = { label: "Liquidity Positions (Uniswap)", collapsible: true, collapsed: true, - items: [ - 'liquidity-positions/liquidity-positions', - 'liquidity-positions/managing-liquidity-positions' + items: [ + "liquidity-positions/liquidity-positions", + "liquidity-positions/managing-liquidity-positions", ], }, { @@ -98,14 +98,14 @@ const sidebars = { collapsed: true, items: [ "subnets/metagraph", - "subnets/create-a-subnet", + "subnets/create-a-subnet", "subnets/subnet-creators-btcli-guide", "subnets/subnet-hyperparameters", "subnets/working-with-subnets", "subnets/walkthrough-prompting", "tutorials/basic-subnet-tutorials", "tutorials/ocr-subnet-tutorial", - "subnets/yuma3-migration-guide" + "subnets/yuma3-migration-guide", ], }, { @@ -178,7 +178,7 @@ const sidebars = { "local-build/deploy", "local-build/provision-wallets", "local-build/create-subnet", - // "local-build/mine-validate" + "local-build/mine-validate", ], }, From 0575c31820a5d7781ef2276f3eb7bbd4e6185e39 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Sat, 9 Aug 2025 01:43:07 +0100 Subject: [PATCH 179/303] run miner & validator --- docs/local-build/mine-validate.md | 106 +++++++++++++++++++++++++++--- 1 file changed, 98 insertions(+), 8 deletions(-) diff --git a/docs/local-build/mine-validate.md b/docs/local-build/mine-validate.md index 649ec113cf..9bb055767e 100644 --- a/docs/local-build/mine-validate.md +++ b/docs/local-build/mine-validate.md @@ -30,7 +30,8 @@ To register the hotkey, run the following command in your terminal, replacing `N ```bash btcli subnets register --netuid NETUID \ --wallet-name WALLET_NAME \ ---hotkey WALLET_HOTKEY +--hotkey WALLET_HOTKEY \ +--network ws://127.0.0.1:9945 ``` You will be prompted to confirm the registration fee and enter your wallet password to authorize the transaction. @@ -47,7 +48,7 @@ Using the specified network local from config Netuid ┃ Symbol ┃ Cost (Τ) ┃ Hotkey ┃ Coldkey ━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - 2 │ γ │ τ 0.0985 │ 5FErfAJc3Wf32TVLQTtM....TRTrgMF4sjYWfq49oMCxXxqS │ 5Gxhv5iZGBvvR6YJeEdLmvZ7hS....dHc43fLqMVkhki7j4 + 2 │ β │ τ 0.0985 │ 5FErfAJc3Wf32TVLQTtM....TRTrgMF4sjYWfq49oMCxXxqS │ 5Gxhv5iZGBvvR6YJeEdLmvZ7hS....dHc43fLqMVkhki7j4 ────────┼────────┼──────────┼──────────────────────────────────────────────────┼────────────────────────────────────────────────── │ │ │ │ Your balance is: 99,999.9000 τ @@ -64,6 +65,48 @@ Balance: Repeat the registration process for both the miner and validator hotkeys. +To confirm the registration of your hotkeys in the subnet, run the following command in your terminal: + +```sh +btcli subnet show --netuid NETUID --network ws://127.0.0.1:9945 +``` + +The command returns detailed information about a subnet including its registered neurons and their state. + +
        +Show Sample Output + +```console + +Warning: Verify your local subtensor is running on port 9944. subtensor_interface.py:89 + + + + Subnet 2: New subnet + Network: local + + UID ┃ Stake (β) ┃ Alpha (β) ┃ Tao (τ) ┃ Dividends ┃ Incentive ┃ Emissions (β) ┃ Hotkey ┃ Coldkey ┃ Identity +━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━ + 0 │ 5.04 β │ 5.04 β │ τ 0.00 │ 0.000000 │ 0.000000 │ 9.017303 β │ 5DFZTw │ 5Dc1Qu │ (*Owner controlled) + 1 │ 0.00 β │ 1.00 β │ τ 0.00 │ 0.000000 │ 0.000000 │ 0.000000 β │ 5FErfA │ 5GxHV5 │ ~ + 2 │ 0.00 β │ 1.00 β │ τ 0.00 │ 0.000000 │ 0.000000 │ 0.000000 β │ 5Ft364 │ 5GuuKE │ ~ +─────┼───────────┼───────────┼─────────┼───────────┼───────────┼───────────────┼────────┼─────────┼───────────────────── + │ 5.04 β │ 5.04 β │ 0.00 β │ 0.000 │ │ 9.017303 β │ │ │ + + +Subnet 1: apex + Owner: 5Dc1Qujw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM + Rate: 1.0056 τ/β + Emission: τ 0.0000 + TAO Pool: τ 1.10k + Alpha Pool: 1.10 β + Tempo: 8/10 + Registration cost (recycled): τ 0.0845 + +``` + +
        + ## 2. Acquire validator permit To qualify as a validator on a subnet, a registered node must have a validator permit. This permit allows nodes to submit miner evaluations and set weights on a subnet. For more information, see [validator permits] @@ -74,7 +117,8 @@ To get validator permits on the demo subnet, you need to stake sufficient TAO to btcli stake add --netuid NETUID \ --wallet-name WALLET_NAME \ --hotkey WALLET_HOTKEY \ ---partial +--partial \ +--network ws://127.0.0.1:9945 ``` Replace `NETUID`, `WALLET_NAME`, and `WALLET_HOTKEY` with the target subnet ID, the name of the wallet, and the associated hotkey, respectively. @@ -85,7 +129,7 @@ Once you've staked enough TAO to the validator hotkey, the validator becomes eli Run the following command in the terminal: ```bash -btcli wallet overview --wallet.name WALLET_NAME +btcli wallet overview --wallet.name WALLET_NAME --network ws://127.0.0.1:9945 ``` Replace the `WALLET_NAME` with the name of the validator wallet. @@ -99,7 +143,7 @@ Using the specified network local from config test-validator : 5Gxhv5iZGBvvR6YJeEd...bE6FdHc43fLqMVkhki7j4 Network: local -Subnet: 2: New subnett β +Subnet: 2: New subnet β COLDKEY HOTKEY UID ACTIVE STAKE(β) RANK TRUST CONSENSUS INCENTIVE DIVIDENDS EMISSION(… VTRUST VPE… UPDAT… AXON HOTKEY_SS58 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── @@ -107,11 +151,12 @@ Subnet: 2: New subnett β ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 1 287.57 β 0.0000 0.0000 0.0000 0.0000 0.0000 ρ38841066 0.0000 + Wallet free balance: 99,994.3638 τ ``` -If the validator wallet has a validator permit, an asterisk (`*`) will appear under the `VPERMIT` column for the corresponding subnet in the response table. +If the validator wallet has a validator permit, an asterisk (`*`) is shown under the `VPERMIT` column for the corresponding subnet in the response table. @@ -130,9 +175,54 @@ The command outputs `True` or `False` depending on whether the validator hotkey
        ---- +:::info Validator Permits on Localnet Subnets +On localnet subnets, competition for permits is typically minimal. After staking TAO to the validator hotkey, the neuron should become eligible for a validator permit. If it does not yet have one, wait until the end of the subnet’s tempo. +::: + +## 3. Pull the `subnet-template` repo + +The `subnet-template` repo contains the core logic for the subnet miner and validator. It features a simple `dummy` protocol where miners multiply input values by 2, while validators evaluate responses and update network weights based on performance. + +To begin, clone the subnet-template GitHub repository and navigate into its directory: + +```sh +git clone https://github.com/opentensor/subnet-template.git +cd subnet-template +``` + +## 4. Run the miner and validator + +After getting the validator permits, you can now run the validator alongside the miner to begin participating in the subnet. + +Begin by starting the miner process to produce and submit work to the subnet. Then, run the validator process to evaluate miner outputs and set weights for the network. + +### Start the miner process + +To start the miner, run the following Python script in the `subnet-template` directory: + +```sh +python validator.py \ + --wallet.name WALLET_NAME \ + --wallet.hotkey HOTKEY \ + --netuid NETUID \ + --subtensor.network local +``` + +The script launches an Axon server on port `8901`, which the miner uses to receive incoming requests from validators. + +### Start the validator process + +To start the validator process, run the following Python script in the `subnet-template` directory: + +```sh +python validator.py \ + --wallet.name WALLET_NAME \ + --wallet.hotkey HOTKEY \ + --netuid NETUID \ + --subtensor.network local +``` -### Troubleshoot +## Troubleshoot #### Insufficient funds From 9a811d51c650e51f4e40fcbe1c9f9fb3782c5dd3 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Mon, 11 Aug 2025 17:34:32 +0100 Subject: [PATCH 180/303] localnet wip: emissions --- docs/local-build/mine-validate.md | 114 +++++++++++------------------- 1 file changed, 40 insertions(+), 74 deletions(-) diff --git a/docs/local-build/mine-validate.md b/docs/local-build/mine-validate.md index 9bb055767e..5dd42e8140 100644 --- a/docs/local-build/mine-validate.md +++ b/docs/local-build/mine-validate.md @@ -94,13 +94,13 @@ Warning: Verify your local subtensor is running on port 9944. │ 5.04 β │ 5.04 β │ 0.00 β │ 0.000 │ │ 9.017303 β │ │ │ -Subnet 1: apex - Owner: 5Dc1Qujw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM +Subnet 2: New subnet + Owner: 5Dc1Qu2pDfWuDzt3c5wJV2LxRXAmVqZYsAib72e59H3vnRVn Rate: 1.0056 τ/β Emission: τ 0.0000 TAO Pool: τ 1.10k Alpha Pool: 1.10 β - Tempo: 8/10 + Tempo: 8/360 Registration cost (recycled): τ 0.0845 ``` @@ -201,10 +201,11 @@ Begin by starting the miner process to produce and submit work to the subnet. Th To start the miner, run the following Python script in the `subnet-template` directory: ```sh -python validator.py \ +python miner.py \ --wallet.name WALLET_NAME \ --wallet.hotkey HOTKEY \ --netuid NETUID \ + --axon.port 8901 \ --subtensor.network local ``` @@ -222,96 +223,61 @@ python validator.py \ --subtensor.network local ``` -## Troubleshoot +This script begins the process of sending inputs to the miners and setting weights based on miner responses. -#### Insufficient funds +:::info miner and validator logs +Use the `--logging.info` flag to print miner and validator log messages directly to the console. This helps you monitor activity in real time without checking log files. +::: -If you have not added TAO to your validator wallet, you'll see an error like the following: +## 5. Check your emissions -```console -Insufficient balance τ 0.0000 to register neuron. Current recycle is τ 1.0000 TAO -``` +After weights have been successfully set on the subnet, you can check the updated emissions distribution at the end of the subnet's [tempo](../glossary.md#tempo). -Transfer funds from the Alice account to cover it and try again. Consult `btcli w list` and carefully check the ss58 address of the destination coldkey (in this case, the one with the name `validator`). +To check the subnet's emissions, run the following command in the terminal: -```shell -btcli wallet transfer \ ---amount 11 \ ---wallet.name alice \ ---destination "5EEy34..." \ ---network ws://127.0.0.1:9945 +```sh +btcli subnet show --netuid NETUID --network ws://127.0.0.1:9945 ``` -### Successful registration +The command returns detailed information about a subnet, including its registered neurons, their current state, and updated emission earnings. -Repeat the above steps to successfully register your miner and validator once they are funded +
        +Show Sample Output ```console -netuid: 2 +Using the specified network local from config +Warning: Verify your local subtensor is running on port 9944. subtensor_interface.py:89 - Register to netuid: 2 - Network: custom - Netu… ┃ Sym… ┃ Cost (… ┃ Hotkey ┃ Coldkey -━━━━━━━╇━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - 2 │ β │ τ 1.00… │ 5CffqSVhydFJHBSbbgfVLAVkoNBTsv3wLj2Tsh1cr2kfa… │ 5EEy34R4gfXe5SG62nz1nDuh3KAovRLpKLm4ccSv7qkNhn… -───────┼──────┼─────────┼────────────────────────────────────────────────┼───────────────────────────────────────────────── - │ │ │ │ -Your balance is: τ 11.0000 -The cost to register by recycle is τ 1.0000 -Do you want to continue? [y/n] (n): y -Enter your password: -Decrypting... -Balance: - τ 11.0000 ➡ τ 10.0000 -✅ Registered on netuid 2 with UID 1 -▰▱▱▱▱▱▱ 📡 Recycling TAO for Registration... -``` -### Check your registration + Subnet 2: New subnet + Network: local -Confirm your registration on the subnet with the following command: + UID ┃ Stake (β) ┃ Alpha (β) ┃ Tao (τ) ┃ Dividends ┃ Incentive ┃ Emissions (β) ┃ Hotkey ┃ Coldkey ┃ Identity +━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━ + 0 │ 109.80 β │ 109.80 β │ τ 0.00 │ 0.000000 │ 0.000000 │ 0.000000 β │ 5DFZTw │ 5Dc1Qu │ (*Owner controlled) + 1 │ 354.68 β │ 354.68 β │ τ 0.00 │ 1.000000 │ 0.000000 │ 148.010826 β │ 5FErfA │ 5Gxhv5 │ Test validator + 2 │ 148.01 β │ 148.01 β │ τ 0.00 │ 0.000000 │ 1.000000 │ 148.010826 β │ 5GRLEv │ 5EnNgi │ Test miner +─────┼───────────┼───────────┼─────────┼───────────┼───────────┼───────────────┼────────┼─────────┼───────────────────── + │ 612.49 β │ 612.49 β │ 0.00 β │ 1.000 │ │ 296.0217 β │ │ │ -```shell -btcli wallet overview --wallet.name validator --network ws://127.0.0.1:9945 -btcli wallet overview --wallet.name miner --network ws://127.0.0.1:9945 +Subnet 2: New subnet + Owner: 5Dc1Qu2pDfWuDzt3c5wJV2LxRXAmVqZYsAib72e59H3vnRVn + Rate: 1.0054 τ/β + Emission: τ 0.0000 + TAO Pool: τ 1.62k + Alpha Pool: 1.61k β + Tempo: 23/360 + Registration cost (recycled): τ 0.1000 ``` -```console - Wallet - - validator : 5EEy34R4gfXe5SG62nz1nDuh3KAovRLpKLm4ccSv7qkNhnqw - Network: custom -Subnet: 2: awesome-first-subnet β - - COLDKEY HOTKEY UID AC… STA… RANK TRU… CON… INC… DIV… EMI… VTR… … U… AXON HOTKE… - ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── - valida… default 1 Tr… 0.00 0.00 0.00 0.00 0.00 0.00 0.0… 0.00 51 none 5Cffq… - ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── - 1 0.0… 0.0… 0.0… 0.0… 0.0… 0.0… ρ0 0.0… - - - Wallet balance: τ10.0 - - Wallet - - miner : 5DA7UsaYbk1UnhhtTxqpwdqjuxhQ2rW7D6GTN1S1S5tC2NRV - Network: custom -Subnet: 2: awesome-first-subnet β - - COLDKEY HOTKEY UID AC… STA… RANK TRU… CON… INC… DIV… EMI… VTR… … U… AXON HOTKE… - ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── - miner default 2 Tr… 0.00 0.00 0.00 0.00 0.00 0.00 0.0… 0.00 22 none 5Capz… - ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── - 1 0.0… 0.0… 0.0… 0.0… 0.0… 0.0… ρ0 0.0… +Note the increase in the miner neuron's `Incentive` column and the validator neuron's `Dividend` column as well as the `Emissions` on both neurons. +
        - Wallet balance: τ10.0 -``` +For more information on a subnet's emission distribution, see [Emissions](../emissions.md). -```shell -python3 neurons/miner.py netuid=2 -chain_endpoint=ws://127.0.0.1:9945 wallet_name=miner wallet_hotkey=default -``` +## Troubleshoot From eb6972815ba09ede3a8f1ec46d7b5a0ddf999005 Mon Sep 17 00:00:00 2001 From: Jackalgirl <88459050+Jackalgirl@users.noreply.github.com> Date: Mon, 11 Aug 2025 15:46:12 -0400 Subject: [PATCH 181/303] Update commit-reveal.md (#50) Note: I've modified the "calculation" for subnet owners to determine immunity (expressed in blocks) relative to the commit_reveal_period (expressed in tempos). You might want to change or correct this before merging (as I'm not sure I've represented it accurately). --- docs/subnets/commit-reveal.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/subnets/commit-reveal.md b/docs/subnets/commit-reveal.md index 61158405bb..fed26eede2 100644 --- a/docs/subnets/commit-reveal.md +++ b/docs/subnets/commit-reveal.md @@ -23,7 +23,7 @@ The [Immunity Period](../glossary.md#immunity-period) is the interval (measured When creating a new subnet, ensure that the miner immunity period is larger than the commit reveal interval. When updating the immunity period or commit reveal interval hyperparameters for a subnet, use the following formula: ``` -new_immunity_period = (new_commit_reveal_interval - old_commit_reveal_interval) + old_immunity_period +new_immunity_period = (new_commit_reveal_period x tempo - old_commit_reveal_period x tempo) + old_immunity_period ``` See [Subnet Hyperparameters](./subnet-hyperparameters.md). @@ -36,7 +36,11 @@ When commit reveal is enabled, it works as follows: 2. Instead of publishing weights openly, an encrypted copy of these weights is committed to the blockchain, using an internal method called [`commit_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html). -3. A waiting interval, specified as a number of blocks, elapses. Subnet owners configure this interval with the subnet hyperparameter `commit_reveal_weights_interval`. +3. A waiting interval, specified as a number of tempos, elapses. Subnet owners configure this interval with the subnet hyperparameter `commit_reveal_period`. + +:::tip Tempo is a hyperparameter +The subnet's tempo is a hyperparameter. Subnet owners cannot modify this parameter, which defaults to `360` blocks. +::: 4. After this interval has elapsed, the unencrypted weights are automatically revealed by the chain, using [Drand time-lock encryption](https://drand.love/docs/timelock-encryption/). @@ -64,7 +68,7 @@ style={{width: 750}} As a subnet owner, set the below hyperparameters to use the commit reveal feature: 1. `commit_reveal_weights_enabled` (boolean): Set this to `True` to activate the commit reveal feature for the subnet. Default value is `False`. -2. `commit_reveal_weights_interval` (int): Set this to an integer number. This is the number of subnet tempos to elapse before revealing the weights by submitting them again to the blockchain, but now openly for everyone to see. Default value is `1`. +2. `commit_reveal_period` (int): Set this to an integer number. This is the number of subnet tempos to elapse before revealing the weights by submitting them again to the blockchain, but now openly for everyone to see. Default value is `1`. See [Setting subnet hyperparameters](subnet-hyperparameters#setting-the-hyperparameters). @@ -73,7 +77,7 @@ See [Commit Reveal and Immunity Period](#commit-reveal-and-immunity-period). ::: -Weights will be revealed immediately at the beginning of the tempo after the `commit_reveal_weights_interval`. For example, if `commit_reveal_weights_interval` value is set to `3`, then the reveal will occur at the beginning of the fourth tempo from the current tempo. The current tempo is counted as the first tempo. See the below diagram for this example: +Weights will be revealed immediately at the beginning of the tempo after the `commit_reveal_period`. For example, if `commit_reveal_period` value is set to `3`, then the reveal will occur at the beginning of the fourth tempo from the current tempo. The current tempo is counted as the first tempo. See the below diagram for this example:
        Date: Tue, 12 Aug 2025 10:55:50 +0100 Subject: [PATCH 182/303] mine and validation docs done --- docs/local-build/deploy.md | 10 ++---- docs/local-build/mine-validate.md | 60 +++++++++++++++++++++++++++++-- 2 files changed, 60 insertions(+), 10 deletions(-) diff --git a/docs/local-build/deploy.md b/docs/local-build/deploy.md index f8ebf86a2b..db43924f4e 100644 --- a/docs/local-build/deploy.md +++ b/docs/local-build/deploy.md @@ -53,21 +53,17 @@ Below are examples of how to run the container using each mode: - Fast blocks: Fast block mode reduces block processing time to _250ms per block_, enabling rapid chain progression. It allows faster feedback cycles for operations such as staking, subnet creation, and registration, making them ideal for local testing scenarios. To run the container in fast block mode, run the following command in your terminal: ```bash - docker run --name local_chain -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready + docker run --rm --name local_chain -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready ``` - Non-fast blocks: Non-fast block mode uses the default _12-second block time_, aligning with subtensor block intervals. While this mode utilizes the default block processing time, it also incorporates some enhancements—for example, subnets become eligible to start one minute after creation. To run the container in non-fast block mode, run the following command in your terminal: ```bash - docker run --name local_chain -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready False + docker run --rm --name local_chain -p 9944:9944 -p 9945:9945 ghcr.io/opentensor/subtensor-localnet:devnet-ready False ``` :::info -By default, exiting the Docker container persists the state of the local chain instance running on it. You can resume running the container by running the following command: - -```sh -docker start /test_local_chain_ -``` +By default, exiting the Docker container removes the image container with the local chain instance; thus, deleting the state of the local chain instance running on it. You can modify this behavior by when running the container wihtout the `--rm` flag. For more information, see official [Docker documentation](https://docs.docker.com/reference/cli/docker/container/run/). ::: diff --git a/docs/local-build/mine-validate.md b/docs/local-build/mine-validate.md index 5dd42e8140..69ec9df451 100644 --- a/docs/local-build/mine-validate.md +++ b/docs/local-build/mine-validate.md @@ -89,7 +89,7 @@ Warning: Verify your local subtensor is running on port 9944. ━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━ 0 │ 5.04 β │ 5.04 β │ τ 0.00 │ 0.000000 │ 0.000000 │ 9.017303 β │ 5DFZTw │ 5Dc1Qu │ (*Owner controlled) 1 │ 0.00 β │ 1.00 β │ τ 0.00 │ 0.000000 │ 0.000000 │ 0.000000 β │ 5FErfA │ 5GxHV5 │ ~ - 2 │ 0.00 β │ 1.00 β │ τ 0.00 │ 0.000000 │ 0.000000 │ 0.000000 β │ 5Ft364 │ 5GuuKE │ ~ + 2 │ 0.00 β │ 1.00 β │ τ 0.00 │ 0.000000 │ 0.000000 │ 0.000000 β │ 5GRLEv │ 5EnNgi │ ~ ─────┼───────────┼───────────┼─────────┼───────────┼───────────┼───────────────┼────────┼─────────┼───────────────────── │ 5.04 β │ 5.04 β │ 0.00 β │ 0.000 │ │ 9.017303 β │ │ │ @@ -226,7 +226,7 @@ python validator.py \ This script begins the process of sending inputs to the miners and setting weights based on miner responses. :::info miner and validator logs -Use the `--logging.info` flag to print miner and validator log messages directly to the console. This helps you monitor activity in real time without checking log files. +Use the `--logging.info` flag to print miner and validator log messages directly to the console. This helps you monitor activity in real time. ::: ## 5. Check your emissions @@ -280,4 +280,58 @@ Note the increase in the miner neuron's `Incentive` column and the validator neu For more information on a subnet's emission distribution, see [Emissions](../emissions.md). -## Troubleshoot +## Troubleshooting errors + +This section discusses errors that could arise while running the validator or miner, and provides steps to diagnose and resolve them. + +**Insufficient funds** + +The coldkey signing the `btcli subnet register` transaction must have a sufficient $\tau$ balance to cover the recycling cost of the registration. + +
        +Show sample error + +```console +Insufficient balance 0.0000 τ to register neuron. Current recycle is 0.0970 τ TAO. +``` + +
        + +**Unregistered miner or validator**: +This occurs when you attempt to run a miner or validator on a subnet where it is not registered. + +
        +Show sample error + +```console +Your miner: Wallet (Name: 'test-miner', Hotkey: 'test-miner', Path: '~/.bittensor/wallets/') is not registered to chain connection: Network: local, Chain: ws://127.0.0.1:9944  +Run 'btcli register' and try again. +``` + +
        + +**`NeuronNoValidatorPermit`** + +This means that the neuron is attempting to set weights without a validator permit. Try fix this, you must stake sufficient TAO to the validator hotkey and wait till the end of the subnet's tempo. + +
        +Show sample error + +```console +Failed set weights. Error: Subtensor returned `NeuronNoValidatorPermit(Module)` error. This means: `The caller is attempting to set non-self weights without being a permitted validator. | Please consult https://docs.bittensor.com/errors/subtensor#neuronnovalidatorpermit`. +``` + +
        + +**`WeightVecLengthIsLow`**: + +This error occurs when the validator attempts to set weights for fewer elements than allowed. It often happens when all neurons in the subnet are unresponsive, causing the validator to try setting zero weights for each of them. + +
        +Show sample error + +```console +Error: Subtensor returned `WeightVecLengthIsLow(Module)` error. This means: `The dispatch is attempting to set weights on chain with fewer elements than are allowed. | Please consult https://docs.bittensor.com/errors/subtensor#weightveclengthislow`. +``` + +
        From 1bd38a69156fe4a20b088f9b0f79cb17159f6a37 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 12 Aug 2025 11:43:13 +0100 Subject: [PATCH 183/303] minor edit --- docs/local-build/mine-validate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/local-build/mine-validate.md b/docs/local-build/mine-validate.md index 69ec9df451..7ad47ce1c2 100644 --- a/docs/local-build/mine-validate.md +++ b/docs/local-build/mine-validate.md @@ -21,7 +21,7 @@ Before continuing with the rest of this tutorial, make sure you've completed the This guide uses Opentensor's [_subnet template_](https://github.com/opentensor/subnet-template/tree/main) repo. The repo provides a minimal implementation for building a custom subnet on the Bittensor network and includes the core logic for the miner and validator. -## 1. Register the hotkeys +## 1. Register the neuron hotkeys To participate in a subnet, you must first register a hotkey on it. This registration assigns the wallet a unique identifier (UID), which is required to interact with and receive emissions from the subnet. From 65caf5e695ac4aae66c5d7e2f7f2a23a80dc3630 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 12 Aug 2025 07:14:37 -0700 Subject: [PATCH 184/303] improve coverage on price protection and slippage (#31) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * update * wip * edited glossary—staking and unstaking * wip * wip * wip * wip * wip * wip * Update docs/learn/sandwiches.md * wip * wip * wip * wip * wip * wip * wip * wip * wip * Update docs/learn/price-protection.md Co-authored-by: Maciej Kula * Update docs/learn/price-protection.md Co-authored-by: Maciej Kula * Apply suggestions from code review Co-authored-by: Maciej Kula * Update docs/learn/price-protection.md Co-authored-by: Maciej Kula * wip * Apply suggestions from code review Co-authored-by: Maciej Kula * Apply suggestions from code review Co-authored-by: Maciej Kula * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip --------- Co-authored-by: Dera Okeke Co-authored-by: Maciej Kula --- docs/dynamic-tao/dtao-faq.md | 2 +- docs/dynamic-tao/staking-unstaking-dtao.md | 55 -- docs/fees.md | 4 +- docs/glossary.md | 193 ++++--- docs/learn/price-protection.md | 496 ++++++++++++++++++ docs/learn/slippage.md | 398 +++----------- docs/local-build/create-subnet.md | 10 +- .../managing-stake-btcli.md | 4 +- .../managing-stake-sdk.md | 2 +- sidebars.js | 4 +- 10 files changed, 708 insertions(+), 460 deletions(-) delete mode 100644 docs/dynamic-tao/staking-unstaking-dtao.md create mode 100644 docs/learn/price-protection.md diff --git a/docs/dynamic-tao/dtao-faq.md b/docs/dynamic-tao/dtao-faq.md index 67f5fa2b11..70bb355190 100644 --- a/docs/dynamic-tao/dtao-faq.md +++ b/docs/dynamic-tao/dtao-faq.md @@ -51,7 +51,7 @@ Dynamic TAO does not directly change Bittensor's on-chain governance mechanism ( ### Root Subnet/Subnet Zero -In Dynamic TAO, Subnet Zero is a special subnet. It is the only subnet that does not have its own $\alpha$ currency. No miners can register on subnet zero, and no validation work is performed. However validators can register, and $\tau$-holders can stake to those validators, as with any other subnet. This offers a mechanism for $\tau$-holders to stake $\tau$ into validators in a subnet-agnostic way. This works because the weight of a validator in a subnet includes both their share of that subnet's $\alpha$ and their share of staked TAO in Subnet Zero. +Subnet Zero a.k.a. the root subnet is a special subnet. No miners can register on subnet zero, and no validation work is performed. However validators can register, and $\tau$-holders can stake to those validators, as with any other subnet. This offers a mechanism for $\tau$-holders to stake $\tau$ into validators in a subnet-agnostic way. This works because the weight of a validator in a subnet includes both their share of that subnet's $\alpha$ and their share of staked TAO in Subnet Zero. Subnet Zero is sometimes called the root subnet, since it sort of replaces the root network in the pre-Dyanmic-TAO architecture. However, Subnet Zero does not perform consensus over subnets, which was the defining function of the root network. diff --git a/docs/dynamic-tao/staking-unstaking-dtao.md b/docs/dynamic-tao/staking-unstaking-dtao.md deleted file mode 100644 index 560fdd283e..0000000000 --- a/docs/dynamic-tao/staking-unstaking-dtao.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: "Understanding Pricing and Anticipating Slippage" ---- - -# Understanding Pricing and Anticipating Slippage - -Each Bittensor subnet operates as a *constant product AMM*, meaning that it will accept trades that conserve the product of the quantities of the two tokens in reserve, TAO and alpha. To calulate the price in one token of batch of the other token that a buyer wishes to acquire—alpha if they are staking, or TAO if they are unstaking—the algorithm assumes that the transaction does not change this product, so the product of TAO and alpha is the same before and after. - -:::note Transaction Fees -Staking and unstaking operations incur transaction fees in addition to slippage. See [Transaction Fees in Bittensor](../fees.md) for details. -::: - -When staking, the product K of TAO in reserve and alpha in reserve is the same before and after the transaction, so the initial product must be equal to the product after the cost in TAO is added to the reserve, and the stake is removed from the reserve and placed in the staked hotkey: - -$$ -\tau_{\mathrm{in}} \,\alpha_{\mathrm{in}} = k -$$ -$$ -(\tau_{\mathrm{in}} + \text{cost}) \bigl(\alpha_{\mathrm{in}} - \text{stake}\bigr) = k -$$ -$$ -(\tau_{\mathrm{in}} + \text{cost}) \bigl(\alpha_{\mathrm{in}} - \text{stake}\bigr) - = \tau_{\mathrm{in}} \,\alpha_{\mathrm{in}} -$$ - - -This means that if we choose to stake in a certain amount of TAO (if we specify the cost), then the yielded stake (the quantity of alpha to be removed from reserve and granted to the staked hotkey) is: - -$$ -\text{Stake} = \alpha_{\text{in}} - \frac{\tau_{\text{in}} \alpha_{\text{in}}} {\tau_{\text{in}} + \text{cost}} - -$$ - -For example, suppose that a subnet has 100 alpha in reserve and 10 TAO, and we want to stake in 5 TAO. - -The price at this moment is 10 TAO / 100 alpha, or 10 alpha per TAO, so if we stake 5 TAO, we would expect 50 alpha, without taking slippage into account. - -With slippage, the yielded alpha stake will be: - -$$ -\text{Stake} = 100 - \frac{ 10 * 100} {10 + 5} - -$$ - -or 33.333 alpha sent to the hotkey. So in this case, the slippage is the difference between the ideal expectation of 50 and the actual swap value of 33.33333: -$$ -16.667 = 50 - 33.333 -$$ - -This slippage is 50% of the actual swap value, which is extremely high, because we chose small values for the available liquidity. In general, slippage is high when available liquidity is limited compared to the magnitude of the transaction, since the transaction itself is changing the price significantly. - -:::tip -`btcli` shows the slippage of staking and unstaking operations, so you don't need to calculate it yourself. See [Stake into a node](#stake-into-a-node). -::: - diff --git a/docs/fees.md b/docs/fees.md index 16d591070d..ef5ab4583f 100644 --- a/docs/fees.md +++ b/docs/fees.md @@ -12,7 +12,6 @@ Staking and unstaking operations incur weight-based fees as well as amount-based Reading the state of the chain is always free. - ## Weight-Based Transaction Fees Many extrinsics in Bittensor are subject to a flat **weight-based fee**. In Polkadot-based chains like Subtensor (Bittensor's layer 1 blockchain), [weight](https://docs.polkadot.com/polkadot-protocol/glossary/#weight) is a measure of compute time. @@ -22,6 +21,7 @@ Many extrinsics in Bittensor are subject to a flat **weight-based fee**. In Polk - **Payment source**: Free balance of the transaction sender - **Denomination**: TAO - **Impact on liquidity**: Fees are *recycled* (deducted from `TotalIssuance`) + See: [Recycling and Burning](./glossary#recycling-and-burning) :::tip Planned reduction It is currently planned that the fee coefficient will be reduced to $0.005%$ (10x reduction). @@ -57,7 +57,7 @@ It is currently planned that the fee coefficient will be reduced to $0.005%$ (10 - [`recycle_alpha`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L2027) - [`burn_alpha`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L2052) -## Child Hotkey Management +### Child Hotkey Management - [`set_children`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1287) - [`set_childkey_take`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1021) diff --git a/docs/glossary.md b/docs/glossary.md index e499742fa5..486c6b38ff 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -4,7 +4,7 @@ title: "Glossary" # Glossary -## A +## A ### Active UID @@ -40,7 +40,7 @@ A digital wallet that holds the core ownership in the Bittensor network and serv ### Block -A unit of data in the Bittensor blockchain, containing a collection of transactions and a unique identifier (block hash). A single block is processed every 12 seconds in the Bittensor blockchain. +A unit of data in the Bittensor blockchain, containing a collection of transactions and a unique identifier (block hash). A single block is processed every 12 seconds in the Bittensor blockchain. **See also:** [Subtensor API](./sdk/subtensor-api.md) @@ -65,7 +65,9 @@ The commit reveal feature is designed to solve the weight-copying problem by giv **See also:** [Commit Reveal](./subnets/commit-reveal.md) ### Consensus Score + + The consensus score is calculated as the stake-weighted median of all weights assigned to a specific neuron by validators. This creates a consensus threshold that filters out outlier weights, ensuring that only weights near the median consensus are used in final rank calculations. **See also:** [Yuma Consensus](./yuma-consensus.md), [Consensus-Based Weights](./subnets/consensus-based-weights.md) @@ -73,29 +75,34 @@ The consensus score is calculated as the stake-weighted median of all weights as #### Mathematical Definition: For each neuron $j$, the consensus score $C_j$ is calculated as: + $$ C_j = \text{weighted\_median}(\{w_{ij} \mid i \in \text{validators}\}, \{s_i \mid i \in \text{validators}\}, \kappa) $$ Where: + - $w_{ij}$ is the weight assigned by validator $i$ to neuron $j$ - $s_i$ is the stake of validator $i$ - $\kappa$ is the consensus majority ratio (typically 51%) - $\text{weighted\_median}$ is the stake-weighted median function Calculation Process: + 1. **Weight collection**: Gather all weights assigned to each neuron by validators 2. **Stake weighting**: Apply stake weights to validator opinions 3. **Median calculation**: Find stake-weighted median using κ parameter (typically 51%) 4. **Threshold establishment**: Consensus score becomes clipping threshold for weights Properties and Interpretation: + - **Range**: [0, 1] normalized values - **High Consensus**: Values close to 1 indicate strong validator agreement - **Low Consensus**: Values close to 0 indicate weak validator agreement - **Outlier Detection**: Weights below consensus score are clipped to 0 Network Security Properties: + - **Anti-Manipulation**: Consensus filtering prevents weight manipulation by outliers - **Stake-Weighted**: Higher stake validators have more influence in consensus - **Dynamic Threshold**: Consensus adapts to changing network conditions @@ -104,25 +111,28 @@ Network Security Properties: #### Relationship to Other Metrics **Consensus vs Trust:** + - **Consensus**: Stake-weighted median of weights (consensus threshold) - **Trust**: Ratio of final rank to pre-rank (consensus alignment impact) - **Relationship**: Consensus determines weight clipping, Trust measures the impact **Consensus vs Ranks:** + - **Consensus**: Threshold for weight filtering - **Ranks**: Final performance scores after consensus filtering - **Relationship**: Consensus influences rank calculation through weight clipping **Consensus vs Validator Trust:** + - **Consensus**: Per-neuron consensus thresholds - **Validator Trust**: Sum of clipped weights set by each validator - **Relationship**: Validator trust measures validator influence in consensus -**Source**: +**Source**: + - [`bittensor/bittensor/core/metagraph.py:360-372`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L360-372) - [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:595`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L595) - ## D ### Delegate @@ -137,15 +147,13 @@ The amount of TAO staked by the delegate themselves. **See also:** [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md), [Managing Stake with SDK](./staking-and-delegation/managing-stake-sdk.md) - - ### Delegation Also known as staking, delegating TAO to a validator (who is thereby the delegate), increases the validator's stake and secure a validator permit. **See also:** [Delegation](./staking-and-delegation/delegation.md), [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md) -### Dendrite +### Dendrite A client instance used by subnet validators and subnet miners to transmit information to axons on subnet miners and subnet validators. Dendrites communicate with axons using the server-client (Axon-dendrite) protocol. @@ -157,7 +165,7 @@ The process of removing a subnet miner or a subnet validator from the subnet due **See also:** [Miner Deregistration](./miners/#miner-deregistration), [Subnet Miners](./miners/) -## E +## E ### EdDSA Cryptographic Keypairs @@ -199,7 +207,7 @@ A development-only configuration that accelerates block production to 250ms inte **See also:** [Create a local instance](./local-build/deploy.md?local-chain=docker#2-run-the-container) -## H +## H ### Hotkey @@ -213,7 +221,7 @@ Authentication mechanism for delegates and nominators and for delegates particip **See also:** [Coldkey-Hotkey Security](./getting-started/coldkey-hotkey-security.md), [Working with Keys](./working-with-keys.md) -## I +## I ### Immunity Period @@ -233,7 +241,17 @@ A system that drives the behavior of subnet miners and governs consensus among s **See also:** [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](./subnets/understanding-subnets.md) -## L +### Issuance + +The total amount of TAO circulating in the Bittensor network. Includes TAO that is help in wallets and subnet liquidity pools, as well as TAO that is locked as subnet registration fees. + +This can be viewed on Bittensor explorers such as [TAO.app](https://tao.app) and [TAOstats](https://taostats.io). + +To query it directly from the change, see: [Subtensor Storage Query Example: Total Issuance](/subtensor-nodes/subtensor-storage-query-examples#totalissuance) + +See also: [Recycling, burning, and locking](#recycling-burning-and-locking) + +## L ### Lite Node @@ -259,7 +277,7 @@ In the context of machine learning, a mathematical function that measures the di **See also:** [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](./subnets/understanding-subnets.md) -## M +## M ### Mainchain @@ -285,7 +303,7 @@ A sequence of words used to regenerate keys, in case of loss, and restore coldke **See also:** [Handle Seed Phrase](./keys/handle-seed-phrase.md), [Working with Keys](./working-with-keys.md) -## N +## N ### NaCl Format @@ -307,8 +325,7 @@ Neurons participate in the network through axon servers (miners) and dendrite cl **See also:** [Understanding Neurons](./learn/neurons.md), [Subnet Validators](./validators/), [Subnet Miners](./miners/), [NeuronInfo class](pathname:///python-api/html/autoapi/bittensor/core/chain_data/neuron_info/index.html) - -## N +## N ### Nominate @@ -328,7 +345,7 @@ A development-only configuration that adheres to Subtensor’s default 12-second **See also:** [Create a local instance](./local-build/deploy.md?local-chain=docker#2-run-the-container) -## O +## O ### Objective Function @@ -336,7 +353,7 @@ In the context of machine learning and subnet operations, this refers to the goa **See also:** [Anatomy of Incentive Mechanism](./learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](./subnets/understanding-subnets.md) -## P +## P ### Private Key @@ -368,7 +385,7 @@ A publicly accessible node in the Bittensor network that can be run as a lite no **See also:** [Subtensor Nodes](./subtensor-nodes/), [Managing Subtensor Connections](./sdk/managing-subtensor-connections.md) -## R +## R ### RAO @@ -382,28 +399,31 @@ This metagraph property represents the final aggregate judgment of a each miner, Ranks are calculated as the stake-weighted sum of consensus-clipped weights and directly determine emissions to miners. - **See also:** [Emissions](./emissions.md), [Yuma Consensus](./yuma-consensus.md), [Subnet Metagraph](./subnets/metagraph) **Relationship to Other Metrics:** + - **Ranks vs Consensus**: Ranks are calculated using consensus-clipped weights - **Ranks vs Trust**: Trust measures how much consensus clipping affected the rank - **Ranks vs Incentive**: Ranks are normalized to become incentive values - **Ranks vs Validator Trust**: Validator trust measures validator influence in consensus **Calculation Process:** + 1. **Pre-ranks**: Initial stake-weighted sum of all weights before consensus filtering 2. **Consensus calculation**: Stake-weighted median of weights per neuron (consensus threshold) 3. **Weight clipping**: Weights clipped at consensus threshold to remove outliers 4. **Final ranks**: Stake-weighted sum of clipped weights (the rank value) **Properties and Interpretation:** + - **Range**: [0, 1] normalized values after final normalization - **High Rank**: Values close to 1 indicate strong consensus-based performance - **Low Rank**: Values close to 0 indicate weak consensus-based performance - **Incentive Distribution**: Ranks directly determine incentive allocation to miner neurons **Network Security Properties:** + - **Consensus-Based**: Ranks reflect network consensus rather than individual validator opinions - **Outlier Protection**: Consensus clipping prevents manipulation by outlier weights - **Stake-Weighted**: Higher stake validators have more influence in rank calculation @@ -414,29 +434,41 @@ For each neuron $j$, the rank $R_j$ is calculated as: $$R_j = \sum_{i \in \text{validators}} S_i \cdot \overline{W_{ij}}$$ Where: + - $S_i$ is the stake of validator $i$ - $\overline{W_{ij}}$ is the consensus-clipped weight from validator $i$ to neuron $j$ - The sum is taken over all validators in the subnet -**Source**: +**Source**: + - [`bittensor/bittensor/core/metagraph.py:325-331`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L325-331) - [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:605`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L605) +### Recycling and burning -### Recycling, burning, and locking +Tokens (TAO and subnet-specific alpha) can be 'removed from circulation', meaning these tokens exist in neither wallet nor liquidity pool, and cannot be transacted. This can happen in two ways: -"Recycling TAO" means that this TAO is put back into the Bittensor emissions system. Instead of minting new TAO this recycled TAO that is in the recycle bin will be used again in the new emissions. +- When tokens are **recycled**, they are subtracted from the chain's record of token issuance (`TotalIssuance`), so effectively the same quantity of tokens can be emitted again. -This happens in two cases: +- In contrast, when tokens are **burned** they exist in no wallet and no pool and can no longer be transacted; however they are still included in the record of token issuance, so they will not be re-emitted, and in effect will forever remain as a quantity of *missing* tokens, a difference between issuance and the effective quantity in circulation. -- When you register either as a subnet validator or a subnet miner and get a `UID` in return, the registration cost TAO you pay is recycled. -- Emissions are recycled for those subnets that have registration turned off or paused. +#### Recycling -When TAO is burned it is permanently removed from circulation, reducing total supply. +Tokens are recycled in several cases in Bittensor operations: -Locked TAO is neither recycled nor burned, but held unspent, without the ability to move it until it is unlocked. The cost for subnet registration is locked and returned if the subnet is deregistered. +- **All transaction fees are recycled**: When transaction fees are collected, they are deducted from `TotalIssuance`, effectively recycling them back into the system for future emission. See [Transaction Fees in Bittensor](./fees) +- **Subnet Creation fees**: When a new subnet is created, the cost is recycled, except for one TAO, which is used to initialize the subnet's TAO liquidity pool. +- **Neuron Registration fees**: When a user registers a hotkey on a subnet to participate as a miner or validator, they are charged a registration fee in TAO. Alpha tokens worth the current swap value of the fee are taken from the subnet's alpha liquidity pool and recycled. +- **Extrinsic transaction**: Users can manually recycle alpha tokens using the `recycle_alpha` extrinsic, which reduces both the user's stake and the subnet's `SubnetAlphaOut` tracker. + +#### Burning + +Subnet-specific alpha tokens are burned in several contexts: + +- **Creator emissions burning**: Alpha emissions for mining on a subnet are automatically burned if they are emitted to the hotkey with creator permissions on the subnet. This allows validators to burn some or all of the subnet's emissions to prevent token inflation (by weighting the subnet creator hotkey). +- **Extrinsic transaction**: Alpha can be burned on demand using the `burn_alpha` Subtensor extrinsic. Unlike recycling, burning does not reduce `SubnetAlphaOut`. +- **Root Subnet automated burning**: Subnet Zero (Root Subnet) alpha tokens are burned under specific economic conditions to maintain system stability. -**See also:** [Emissions](./emissions.md), [Subnet Miners](./miners/), [Subnet Validators](./validators/) ### Regenerating a Key @@ -450,7 +482,11 @@ The process of registering keys with a subnet and purchasing a UID slot. **See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/), [Working with Subnets](./subnets/working-with-subnets.md) -## S +### Root Subnet/Subnet Zero + +Subnet Zero a.k.a. the root subnet is a special subnet. No miners can register on subnet zero, and no validation work is performed. However validators can register, and $\tau$-holders can stake to those validators, as with any other subnet. This offers a mechanism for $\tau$-holders to stake $\tau$ into validators in a subnet-agnostic way. This works because the weight of a validator in a subnet includes both their share of that subnet's $\alpha$ and their share of staked TAO in Subnet Zero. + +## S ### SS58 Encoded @@ -458,6 +494,16 @@ A compact representation of public keys corresponding to the wallet's coldkey an **See also:** [Working with Keys](./working-with-keys.md), [Wallets](./getting-started/wallets.md) +### Slippage + +In the context of an automated market maker (AMM), slippage is the impact on the tokens acquired in a trade due to the change in price from the trade transaction itself. + +In Bittensor, each subnet's alpha token is traded on a constant product AMM. When you stake TAO to receive alpha (or unstake alpha to receive TAO), your transaction changes the token price, resulting in receiving less than the current market rate X the quantity of the token you are inputting. + +Larger transactions cause more slippage. Bittensor provides slippage protection through tolerance limits and partial execution options. + +**See:** [Understanding Pricing and Anticipating Slippage](./learn/slippage.md) + ### Senate A group of elected delegates formed from the top K delegate hotkeys, responsible for approving or disapproving proposals made by the Triumvirate. @@ -466,23 +512,21 @@ A group of elected delegates formed from the top K delegate hotkeys, responsible ### Stake -The amount of currency tokens delegated to a validator UID in a subnet. Includes both self-stake (from the validator's own cold-key) and stake delegated from others. +The amount of currency tokens delegated to a validator UID in a subnet. Includes both self-stake (from the validator's own cold-key) and stake delegated from others. Stake determines a validator's weight in consensus as well as their emissions. **See also:** [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md), [Managing Stake with SDK](./staking-and-delegation/managing-stake-sdk.md), [Delegation](./staking-and-delegation/delegation.md) - - ### Stake Weight The computed total stake value for a validator that determines their consensus power and emissions in a subnet. Stake weight combines a validator's alpha stake and TAO stake using the TAO weight parameter to calculate their total influence in the network. **See also:** [TAO Weight](#tao-weight), [Understanding Subnets](./subnets/understanding-subnets.md) - **Mathematical Definition:** For a validator with alpha stake $\alpha$ and TAO stake $\tau$, the stake weight $W$ is calculated as: + $$ W = {\alpha + \tau \ \times w_{\tau}} $$ @@ -490,16 +534,19 @@ $$ Where $w_{\tau}$ is the global TAO weight parameter (currently 0.18) A validator's relative influence in a subnet is calculated as: + $$ \text{Relative Stake Weight} = \frac{\text{Stake Weight}_i}{\sum_{v \in \text{validators}} \text{Stake Weight}_v} $$ **Consensus Power:** + - **Weight Setting**: Higher stake weight means more influence when setting weights - **Validator Permits**: Stake weight determines eligibility for validator permits - **Bond Formation**: Stake weight influences bond calculations and retention **Validator Emissions:** + - **Relative Distribution**: Higher stake weight -> higher emission share **Code References:** @@ -507,10 +554,9 @@ $$ - **Yuma Consensus**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:530`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L530) - **Validator dividend distribution**: [`subtensor/pallets/subtensor/src/coinbase/run_coinbase.rs:165`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/coinbase/run_coinbase.rs#L165) - ### Staking -The process of attaching TAO to a hotkey, i.e., locking TAO to a hotkey, to participate as a subnet validator, and to secure a validator permit. +The process of attaching TAO to a validator hotkey, i.e., locking TAO to a subnet validator's hotkey to increase their total stake and increase their consensus power and share of dividends. **See also:** [Managing Stake with btcli](./staking-and-delegation/managing-stake-btcli.md), [Managing Stake with SDK](./staking-and-delegation/managing-stake-sdk.md), [Delegation](./staking-and-delegation/delegation.md) @@ -528,7 +574,7 @@ The framework that governs the behavior of subnet miners and ensures consensus a ### Subnet Miner -The task-performing entity within a Bittensor subnet. A subnet miner is a type of node in a Bittensor subnet that is connected only to subnet validators. Subnet miners are isolated from the external world and communicate bidirectionally with subnet validators. A subnet miner is responsible for performing tasks given to them by the subnet validators in that subnet. +The task-performing entity within a Bittensor subnet. A subnet miner is a type of node in a Bittensor subnet that is connected only to subnet validators. Subnet miners are isolated from the external world and communicate bidirectionally with subnet validators. A subnet miner is responsible for performing tasks given to them by the subnet validators in that subnet. **See also:** [Subnet Miner Documentation](./miners/) @@ -582,7 +628,7 @@ A data object used by subnet validators and subnet miners as the main vehicle to **See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/) -## T +## T ### TAO ($\tau$) @@ -595,9 +641,10 @@ The cryptocurrency of the Bittensor network, used to incentivize participation i A global parameter (currently set to 0.18) that determines the relative influence of TAO stake versus alpha stake when calculating a validator's total stake weight, a critical value that influence's a validator's consensus power and emissions. **See also:** [Stake Weight](#stake-weight) + ### Tempo -A 360-block period during which the Yuma Consensus calculates emissions to subnet participants based on the latest available ranking weight matrix. A single block is processed every 12 seconds, hence a 360-block tempo occurs every 4320 seconds or 72 minutes. +A 360-block period during which the Yuma Consensus calculates emissions to subnet participants based on the latest available ranking weight matrix. A single block is processed every 12 seconds, hence a 360-block tempo occurs every 4320 seconds or 72 minutes. **See also:** [Yuma Consensus](./yuma-consensus.md), [Emissions](./emissions.md) @@ -619,31 +666,35 @@ In the Yuma Consensus algorithm, trust represents how much a miner's rank was af **See also:** [Yuma Consensus](./yuma-consensus.md), [Subnet Metagraph](./subnets/metagraph) - **Mathematical Definition:** For each neuron $j$, the trust $T_j$ is calculated as: + $$ T_j = \frac{R_j}{P_j} $$ Where: + - $R_j$ is the final rank after consensus clipping - $P_j$ is the pre-rank before consensus clipping - The ratio indicates the proportion of original support that survived consensus filtering Interpretation: + - **Range**: [0, 1] where 1.0 indicates perfect consensus alignment - **`Trust = 1.0`**: Neuron's rank unchanged by consensus (high consensus alignment) - **`Trust < 1.0`**: Neuron's rank reduced by consensus clipping (lower value means more reduction) - **`Trust = 0.0`**: Neuron's rank eliminated by consensus (no consensus support) Calculation Process: + 1. **Pre-ranks calculation**: $P_j = \sum_{i} S_i \cdot W_{ij}$ (stake-weighted sum of all weights) 2. **Consensus filtering**: Weights clipped at consensus threshold to remove outliers 3. **Final ranks calculation**: $R_j = \sum_{i} S_i \cdot \overline{W_{ij}}$ (stake-weighted sum of clipped weights) 4. **Trust calculation**: $T_j = R_j / P_j$ (ratio of final to pre-rank) **Relationship to Other Metrics:** + - **Trust vs Consensus**: Trust measures the impact of consensus filtering - **Trust vs Ranks**: Trust is the ratio of final rank to pre-rank - **Trust vs Validator Trust**: Trust is per-neuron, Validator Trust is per-validator @@ -651,26 +702,21 @@ Calculation Process: **Metric Comparison Table** -| Metric | Purpose | Calculation | Range | Interpretation | -|--------|---------|-------------|-------|----------------| -| **Consensus** | Consensus threshold | Stake-weighted median of weights per neuron | [0, 1] | Higher = stronger validator agreement | -| **Ranks** | Performance scoring | Stake-weighted sum of clipped weights | [0, 1] | Higher = better performance after consensus | -| **Trust** | Consensus alignment | Final rank / Pre-rank | [0, 1] | 1.0 = no clipping, < 1.0 = some clipping | -| **Validator Trust** | Validator influence | Sum of clipped weights per validator | [0, 1] | Higher = more consensus-aligned validator | +| Metric | Purpose | Calculation | Range | Interpretation | +| ------------------- | ------------------- | ------------------------------------------- | ------ | ------------------------------------------- | +| **Consensus** | Consensus threshold | Stake-weighted median of weights per neuron | [0, 1] | Higher = stronger validator agreement | +| **Ranks** | Performance scoring | Stake-weighted sum of clipped weights | [0, 1] | Higher = better performance after consensus | +| **Trust** | Consensus alignment | Final rank / Pre-rank | [0, 1] | 1.0 = no clipping, < 1.0 = some clipping | +| **Validator Trust** | Validator influence | Sum of clipped weights per validator | [0, 1] | Higher = more consensus-aligned validator | + +**Source**: -**Source**: - [`bittensor/bittensor/core/metagraph.py:380-393`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L380-393) - [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:608`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L608) - - - - The relationship between these metrics creates a feedback loop: consensus determines weight clipping, which affects ranks and trust, which influences validator trust, which feeds back into future consensus calculations. This system ensures that the network rewards neurons with strong validator agreement while penalizing those with controversial or outlier weight assignments, creating a robust mechanism for maintaining network quality and security. - - -## U +## U ### UID Slot @@ -678,7 +724,13 @@ A position occupied by a subnet miner or subnet validator within a subnet, ident **See also:** [Subnet Miners](./miners/), [Subnet Validators](./validators/), [Working with Subnets](./subnets/working-with-subnets.md) -## V +### Unstaking + +The process of detaching TAO from a validator hotkey. + +**See also:** [Staking/Delegation overview](./staking-and-delegation/delegation.md) + +## V ### Validator Permit @@ -692,10 +744,9 @@ A list of subnet IDs (netuids) indicating which subnets a delegate is authorized **See also:** [Validator Permits](#validator-permit), [Delegation](./staking-and-delegation/delegation.md), [Validator Requirements](./validators/index.md#requirements-for-validation) - ### Validator -A type of node in a subnet that creates tasks, evaluates the performance of subnet miners and sets weights based on their output. A subnet validator is connected only to subnet miners and to the external world. Subnet validators receive inputs from the external world and communicate bidirectionally with subnet miners. +A type of node in a subnet that creates tasks, evaluates the performance of subnet miners and sets weights based on their output. A subnet validator is connected only to subnet miners and to the external world. Subnet validators receive inputs from the external world and communicate bidirectionally with subnet miners. **See also:** [Subnet Validators](./validators/), [Validators btcli Guide](./validators/validators-btcli-guide.md) @@ -713,39 +764,44 @@ For each validator $i$, the validator trust $T_{vi}$ is calculated as: $$T_{vi} = \sum_{j \in \text{neurons}} \overline{W_{ij}}$$ Where: + - $\overline{W_{ij}}$ is the consensus-clipped weight from validator $i$ to neuron $j$ - The sum is taken over all neurons in the subnet - Validator trust measures the total influence a validator has in consensus **Calculation Process:** + 1. **Weight setting**: Validators set weights to all neurons in the subnet 2. **Consensus calculation**: Stake-weighted median of weights per neuron (consensus threshold) 3. **Weight clipping**: Weights clipped at consensus threshold to remove outliers 4. **Validator trust calculation**: Sum of all clipped weights set by each validator **Properties and Interpretation:** + - **Range**: [0, 1] normalized values - **High Validator Trust**: Values close to 1 indicate strong consensus alignment - **Low Validator Trust**: Values close to 0 indicate outlier weight assignments - **Validator Influence**: Higher validator trust means more influence in consensus decisions **Network Security Properties:** + - **Consensus Alignment**: Validator trust measures how well validators align with consensus - **Outlier Detection**: Low validator trust indicates potential manipulation attempts - **Validator Quality**: High validator trust indicates quality validation services - **Economic Incentives**: Validator trust influences validator rewards and bond retention -**Source**: +**Source**: + - [`bittensor/bittensor/core/metagraph.py:397-409`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py#L397-409) - [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:600`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L600) **Relationship to Other Metrics:** + - **Validator Trust vs Trust**: Validator trust is per-validator, Trust is per-neuron - **Validator Trust vs Consensus**: Validator trust measures validator influence in consensus - **Validator Trust vs Ranks**: Validator trust influences rank calculation through consensus - **Validator Trust vs Bonds**: Validator trust affects bond retention and validator permits - ### Validator-Miner Bonds Bonds represent the "investment" a validator has made in evaluating a specific miner. This bonding mechanism is integral to the Yuma Consensus' design intent of incentivizing high-quality performance by miners, and honest evaluation by validators. @@ -757,6 +813,7 @@ The instant bond $\Delta B_{ij}$ of validator $i$ to miner $j$ is calculated as: $$\Delta B_{ij} = \frac{S_i \cdot \widetilde{W_{ij}}}{\sum_{k \in \mathbb{V}} S_k \cdot \widetilde{W_{kj}}}$$ Where: + - $S_i$ is validator $i$'s stake - $\widetilde{W_{ij}}$ is the bond-weight (penalty-adjusted weight) - The denominator normalizes by the total bond-weight for miner $j$ across all validators @@ -766,6 +823,7 @@ Bond-weights are penalized when validators overstate miner performance: $$\widetilde{W_{ij}} = (1-\beta)W_{ij} + \beta\overline{W_{ij}}$$ Where: + - $W_{ij}$ is the original weight set by validator $i$ for miner $j$ - $\overline{W_{ij}}$ is the consensus-clipped weight - $\beta$ is the bonds penalty factor (configurable hyperparameter) @@ -779,52 +837,62 @@ Where $\alpha$ is the EMA smoothing factor. **Bond Mechanics and Design:** **Consensus Alignment:** + - Validators who stay near consensus build stronger EMA bonds - Bonds are penalized when validators overstate miner performance - The EMA smooths out abrupt swings in validator behavior - Bonds incentivize consistent alignment with consensus **Bond Retention:** + - Neurons retain bonds only if they keep validator permits - Bonds are cleared when neurons lose validator permits - Bonds are stored as sparse matrices in blockchain state **Bond Decay:** + - Bonds decay over time based on the `bonds_moving_avg` parameter - Higher decay rates make bonds more responsive to recent performance - Lower decay rates allow bonds to persist longer **Economic Alignment:** + - Bonds create long-term relationships between validators and miners - Validators are incentivized to discover and support promising miners early - Bond strength reflects validator confidence in miner performance **Dynamic Adjustment:** + - Bonds adapt to changing network conditions and consensus - EMA smoothing prevents exploitation of rapid bond changes - Bonds provide stability while allowing for network evolution **Retrieval:** + - Bonds can be queried via the `bonds()` method in the Subtensor API - Metagraph includes bonds matrix accessible via `metagraph.B` property - Bonds are included in neuron information structures **Related hyperparameters:** + - `bonds_penalty`: Controls penalty for out-of-consensus weights (0-65535) - `bonds_moving_avg`: Controls bond decay rate (typically 900,000) - `liquid_alpha_enabled`: Enables dynamic alpha adjustment for bonds **Validator Permits:** + - Bonds are retained only by neurons with validator permits - Loss of validator permit clears all bonds for that neuron - Bonds align with permit retention for economic security **Emission Distribution:** + - Bonds directly determine validator emission shares - Strong bonds lead to higher validator rewards - Bonds create market-based incentive alignment **Code References:** + - [Bond calculation in epoch execution]https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs:631) - [EMA bond computation]https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/math.rs:1475) - [Bonds API method]https://github.com/opentensor/subtensor/blob/main/bittensor/core/async_subtensor.py:931) @@ -840,8 +908,7 @@ Effectively, this represents the fee percentage that validators charge delegator **See also:** [Emissions](./emissions.md) - -## W +## W ### Wallet Address @@ -869,10 +936,10 @@ The ranking weight vectors for each subnet are transmitted to the blockchain, wh **See also:** [Consensus-Based Weights](./subnets/consensus-based-weights.md), [Yuma Consensus](./yuma-consensus.md) -## Y +## Y ### Yuma Consensus -The consensus mechanism in the Bittensor blockchain that computes emissions to participants. +The consensus mechanism in the Bittensor blockchain that computes emissions to participants. -**See also:** [Yuma Consensus](./yuma-consensus.md) \ No newline at end of file +**See also:** [Yuma Consensus](./yuma-consensus.md) diff --git a/docs/learn/price-protection.md b/docs/learn/price-protection.md new file mode 100644 index 0000000000..2cf603d849 --- /dev/null +++ b/docs/learn/price-protection.md @@ -0,0 +1,496 @@ +--- +title: "Understand Price Protection" +--- + +# Understand Price Protection + +## Price Protection Modes + +Bittensor clients (BTCLI and the SDK) provides three modes to give users control over how their transactions handle adverse price movements: Strict, Partial, and Unsafe. + +Other users' transactions can affect the token price, even while your transaction is pending. Subnet token prices may change rapidly, with significant consequences affecting your execution price and increasing slippage. These effects can be exploited by "sandwich attacks", or can result in loss of liquidity due to organic price volatility. + +It is therefore important to carefully manage price protection when staking and unstaking real value liquidity, i.e. on mainnet ("finney"). + +### Strict Safe Mode (Default) + +In this mode, the transaction is **rejected entirely** if executing it would push the final market price beyond the tolerance threshold from the price when you submitted the transaction. Tolerance threshold can be specified but is 5% by default. + +This mode provides maximum protection against price volatility, market movements, and sandwich attacks by preventing transactions that would push the execution price beyond the specified tolerance. This is preferable when you want to guarantee a transaction price, and are willing to accept transaction failure if you cannot get that price. + +**Example**: You set a 2% tolerance for unstaking. If executing your transaction would push the final price more than 2% below the price when you submitted the transaction, the entire transaction is rejected. + +### Partial Safe Mode + +In this mode, the transaction executes **the maximum amount that can be executed while keeping the execution price within the defined tolerance** of the original submission price. If the full amount would cause the market price to exceed the tolerance range, only a portion would be executed. + +This mode ensures a partial transaction execution even if market conditions would make the full transaction exceed price tolerance limits. + +This is preferable if you want a guarantee of some transaction, and are willing to accept variation in price, which can result in loss of liquidity of up to the tolerance threshold. + +**Example**: You try to unstake 1000 alpha with 2% tolerance. If executing the full amount would push the final market price beyond 2% of the original price, the system calculates and executes only the maximum amount (e.g., 400 alpha) that stays within the 2% limit. + +### Unsafe Mode + +This mode **ignores price protection entirely**. The transaction executes regardless of price movements, offering the fastest execution but no protection against adverse price changes or sandwich attacks. + +This mode is generally convenient for development and testing, but inadvisable with real-value liquidity on mainnet ("finney"). + +### Example Comparison by Mode + +Consider attempting to unstake 1000 alpha when executing the full transaction would push the market price 5% below the original price, with tolerance set to 2%: + +| Mode | Outcome | +|------|---------| +| Strict Safe | Transaction rejected entirely (5% price movement > 2% tolerance) | +| Partial Safe | Unstakes ~400 alpha (maximum amount that keeps final price within 2% tolerance) | +| Unsafe | Unstakes full 1000 alpha regardless of 5% price impact | + + +## Managing Price Protection with BTCLI + +The `btcli stake` interface provides parameters to control price protection modes. + +**Enable/disable price protection (strict or partial):** + +True by default. Enables price protection, which is strict by default. + +```bash +--safe-staking/--no-safe-staking, --safe/--unsafe +``` + +**Enable/disable partial execution (ignored in unsafe mode):** + +If price protection (`--safe-staking`) is enabled, determines whether protection is strict or partial. + +```bash +--allow-partial-stake/--no-allow-partial-stake, --partial/--no-partial +``` + +**Set price tolerance:** + +If in **partial safe** staking mode, determines the threshold of price variation tolerated in the transaction. +```bash +--tolerance, --rate-tolerance FLOAT +``` + +- **Default**: 0.005 (0.5%) +- **Range**: 0.0 to 1.0 (0% to 100%) +- **Purpose**: Maximum allowed final price deviation from submission price + +### BTCLI Examples + +**Strict Safe Mode (reject if price moves beyond tolerance):** +```bash +# note that --safe is unnecessary as it is enabled by default +btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.02 --no-partial +``` + +**Partial Safe Mode (execute what fits within tolerance):** +```bash +# note that --safe is unnecessary as it is enabled by default +btcli stake add --amount 1000 --netuid 1 --safe --tolerance 0.02 --partial +``` + +**Unsafe Mode (ignore price protection):** +```bash +btcli stake add --amount 300 --netuid 1 --unsafe +``` + +## Managing Price Protection with SDK + +The Bittensor SDK provides price protection through method parameters: + +### Parameters + +:::warning +Unlike the `btcli`, the SDK's default behavior is *Unsafe* mode. +You must explicitly configure price protection when using the SDK's staking/unstaking functionality. +::: + +**`safe_staking`** (bool): +- **Default**: False +- **Purpose**: Enables price protection + +**`allow_partial_stake`** (bool): +- **Default**: False +- **Purpose**: Enables partial execution mode + +**`rate_tolerance`** (float): +- **Default**: 0.005 (0.5%) +- **Range**: 0.0 to 1.0 +- **Purpose**: Maximum allowed final price deviation from submission price + +### SDK Examples + +See [Price Protection Simulation](#price-protection-simulation) for an extended example. + +#### Safe Mode (reject if price moves beyond tolerance) +```python +import bittensor as bt + +subtensor = bt.Subtensor() +wallet = bt.Wallet("my_wallet") + +success = subtensor.add_stake( + wallet=wallet, + hotkey_ss58="5F...", + netuid=1, + amount=bt.Balance.from_tao(100), + safe_staking=True, # Enable protection + rate_tolerance=0.02, # 2% price tolerance + allow_partial_stake=False # Reject if exceeds tolerance +) +``` + +#### Partial Mode (execute what fits within tolerance) +```python +success = subtensor.add_stake( + wallet=wallet, + hotkey_ss58="5F...", + netuid=1, + amount=bt.Balance.from_tao(1000), + safe_staking=True, # Enable protection + rate_tolerance=0.02, # 2% price tolerance + allow_partial_stake=True # Execute partial amount within tolerance +) +``` + +#### Unsafe Mode (ignore price protection) +```python +success = subtensor.add_stake( + wallet=wallet, + hotkey_ss58="5F...", + netuid=1, + amount=bt.Balance.from_tao(100), + safe_staking=False # Disable protection; Unnecessary as this is the default setting +) +``` + +## Price Protection Simulation + +The following script runs through several different stake and unstake operations with different price protection modes, to demonstrate the different behaviors contingent on price. + +Prerequisites: +- [Run a Local Bittensor Blockchain Instance](../local-build/deploy) +- [Create a subnet on a local blockchain](../local-build/create-subnet) + +:::tip troubleshooting tip +If you see `Custom error: 14` you may need to start emissions on your subnet with +```shell +btcli s start +``` +::: + +```python +import bittensor as bt + +def display_balances_and_stakes(subtensor, wallet, target_hotkey, netuid, label): + """Display current balances and stakes for the simulation.""" + print(f"\n--- {label} ---") + balance = subtensor.get_balance(wallet.coldkey.ss58_address) + stakes = subtensor.get_stake_for_coldkey(wallet.coldkey.ss58_address) + + print(f"Coldkey balance: {balance}") + + # Find stake for our target hotkey and netuid + target_stake = None + for stake_info in stakes: + if stake_info.hotkey_ss58 == target_hotkey and stake_info.netuid == netuid: + target_stake = stake_info.stake + break + + if target_stake: + print(f"Stake on {target_hotkey[:8]}... (netuid {netuid}): {target_stake}") + else: + print(f"No stake found on {target_hotkey[:8]}... (netuid {netuid})") + +def show_current_price_and_protection(subtensor, netuid, tolerance, label): + """Show current subnet price and calculate protection thresholds.""" + print(f"\n{label} Price Analysis:") + subnet_info = subtensor.subnet(netuid=netuid) + current_price = subnet_info.price + print(f"Current price: {current_price}") + + # Calculate protection thresholds + price_floor = current_price.tao * (1 - tolerance) + price_ceiling = current_price.tao * (1 + tolerance) + + print(f"Price protection with {tolerance:.2%} tolerance:") + print(f" • Price floor (unstaking): {price_floor:.6f} TAO/α") + print(f" • Price ceiling (staking): {price_ceiling:.6f} TAO/α") + print(f" • Protection range: {price_floor:.6f} - {price_ceiling:.6f} TAO/α") + + return subnet_info + +def demonstrate_protection_modes(): + """Comprehensive demonstration of all three price protection modes.""" + + print("=== Bittensor Price Protection Mode Simulation ===\n") + + # Connect to local network + subtensor = bt.Subtensor("ws://127.0.0.1:9945") + + # Get subnet information + netuid = 2 + subnet_info = subtensor.subnet(netuid=netuid) + if subnet_info is None: + print(f"Error: Could not connect to subnet {netuid}. Is the local node running?") + return False + + print(f"Connected to subnet {netuid}") + print(f"Alpha in reserve: {subnet_info.alpha_in}") + print(f"TAO in reserve: {subnet_info.tao_in}") + + # Initialize wallet + wallet = bt.wallet(name="Alice") + + try: + wallet.unlock_coldkey() + except Exception as e: + print(f"Error: Could not unlock wallet. Make sure 'Alice' wallet exists and is unlocked. {e}") + return False + + # Get registered hotkeys for the subnet + metagraph = subtensor.metagraph(netuid=netuid) + registered_hotkeys = metagraph.hotkeys + + if not registered_hotkeys: + print(f"Error: No registered hotkeys found on subnet {netuid}.") + return False + + target_hotkey = registered_hotkeys[0] + print(f"Using registered hotkey: {target_hotkey[:8]}...") + + # Display initial state + display_balances_and_stakes(subtensor, wallet, target_hotkey, netuid, "Initial State") + + print("\n" + "="*60) + print("SIMULATION: Testing price protection modes") + print("="*60) + + # Test amounts + stake_amount = 5.0 # TAO + + # Mode 1: UNSAFE MODE (No Protection) + print(f"\n{'='*20} MODE 1: UNSAFE (No Protection) {'='*20}") + print("Executes transaction regardless of price movements") + + subnet_info = show_current_price_and_protection(subtensor, netuid, 0.0, "Pre-Unsafe") + + try: + print(f"\nStaking {stake_amount} TAO with NO protection...") + success = subtensor.add_stake( + wallet=wallet, + hotkey_ss58=target_hotkey, + netuid=netuid, + amount=bt.Balance.from_tao(stake_amount), + safe_staking=False # No protection + ) + + if success: + print("✅ Unsafe staking successful") + else: + print("❌ Unsafe staking failed") + + except Exception as e: + print(f"❌ Unsafe staking failed: {e}") + + # Show price after unsafe transaction + show_current_price_and_protection(subtensor, netuid, 0.0, "Post-Unsafe") + + display_balances_and_stakes(subtensor, wallet, target_hotkey, netuid, "After Unsafe Staking") + + # Mode 2: SAFE MODE with VERY strict tolerance (should fail) + print(f"\n{'='*20} MODE 2: SAFE with STRICT Tolerance {'='*20}") + print("Rejects transaction if price moves beyond tolerance") + + strict_tolerance = 0.001 # 0.1% tolerance - very strict + large_stake_amount = 20.0 # Larger amount to trigger protection + + subnet_info = show_current_price_and_protection(subtensor, netuid, strict_tolerance, "Pre-Safe-Strict") + pre_safe_price = subnet_info.price.tao + price_ceiling = pre_safe_price * (1 + strict_tolerance) + + try: + print(f"\nStaking {large_stake_amount} TAO with SAFE protection (tolerance: {strict_tolerance:.2%})...") + print(f"Transaction should FAIL if final price > {price_ceiling:.6f} TAO/α") + + success = subtensor.add_stake( + wallet=wallet, + hotkey_ss58=target_hotkey, + netuid=netuid, + amount=bt.Balance.from_tao(large_stake_amount), + safe_staking=True, + rate_tolerance=strict_tolerance, + allow_partial_stake=False + ) + + if success: + print("❌ UNEXPECTED: Safe staking succeeded despite strict tolerance") + # Check if it should have failed + post_subnet_info = subtensor.subnet(netuid=netuid) + post_safe_price = post_subnet_info.price.tao + print(f"Final price: {post_safe_price:.6f} TAO/α") + print(f"Price ceiling was: {price_ceiling:.6f} TAO/α") + + if post_safe_price > price_ceiling: + print(f"🚨 BUG: Transaction succeeded but price ({post_safe_price:.6f}) > ceiling ({price_ceiling:.6f})") + else: + print(f"Price stayed within tolerance: {post_safe_price:.6f} ≤ {price_ceiling:.6f}") + print(f"Actual price increase: {((post_safe_price - pre_safe_price) / pre_safe_price) * 100:.3f}%") + else: + print("✅ EXPECTED: Safe staking failed due to strict tolerance") + + except Exception as e: + if "Price exceeded tolerance limit" in str(e) or "exceeded tolerance" in str(e) or "tolerance" in str(e).lower(): + print("🛡️ EXPECTED: Transaction rejected - price protection activated!") + else: + print(f"❌ Safe staking failed with unexpected error: {e}") + + # Show price after safe transaction + show_current_price_and_protection(subtensor, netuid, strict_tolerance, "Post-Safe-Strict") + + display_balances_and_stakes(subtensor, wallet, target_hotkey, netuid, "After Strict Safe Staking") + + # Mode 3: SAFE MODE with reasonable tolerance (should succeed) + print(f"\n{'='*20} MODE 3: SAFE with Reasonable Tolerance {'='*20}") + print("Demonstrating normal safe staking that succeeds") + + reasonable_tolerance = 0.05 # 5% tolerance + normal_amount = 5.0 # Normal amount + + subnet_info = show_current_price_and_protection(subtensor, netuid, reasonable_tolerance, "Pre-Safe-Normal") + + try: + print(f"\nStaking {normal_amount} TAO with SAFE protection (tolerance: {reasonable_tolerance:.2%})...") + + success = subtensor.add_stake( + wallet=wallet, + hotkey_ss58=target_hotkey, + netuid=netuid, + amount=bt.Balance.from_tao(normal_amount), + safe_staking=True, + rate_tolerance=reasonable_tolerance, + allow_partial_stake=False + ) + + if success: + print("✅ Safe staking successful with reasonable tolerance") + else: + print("❌ Safe staking failed") + + except Exception as e: + print(f"❌ Safe staking failed: {e}") + + display_balances_and_stakes(subtensor, wallet, target_hotkey, netuid, "After Normal Safe Staking") + + # Mode 4: PARTIAL MODE with strict tolerance (should execute partially) + print(f"\n{'='*20} MODE 4: PARTIAL with STRICT Tolerance {'='*20}") + print("Should execute maximum amount within tolerance") + + partial_strict_tolerance = 0.002 # 0.2% tolerance - very strict for partial + very_large_amount = 50.0 # Very large amount to force partial execution + + subnet_info = show_current_price_and_protection(subtensor, netuid, partial_strict_tolerance, "Pre-Partial-Strict") + + print(f"\nUsing very strict tolerance ({partial_strict_tolerance:.2%}) with large amount ({very_large_amount} TAO)") + print(f"Should execute PARTIAL amount to stay within tolerance") + + # Record balance before to see actual amount executed + balance_before = subtensor.get_balance(wallet.coldkey.ss58_address) + + try: + print(f"\nStaking {very_large_amount} TAO with PARTIAL protection (tolerance: {partial_strict_tolerance:.2%})...") + success = subtensor.add_stake( + wallet=wallet, + hotkey_ss58=target_hotkey, + netuid=netuid, + amount=bt.Balance.from_tao(very_large_amount), + safe_staking=True, + rate_tolerance=partial_strict_tolerance, + allow_partial_stake=True # Allow partial execution + ) + + # Check actual amount executed + balance_after = subtensor.get_balance(wallet.coldkey.ss58_address) + actual_amount_executed = balance_before.tao - balance_after.tao + + if success: + print("✅ Partial staking completed") + print(f"Amount requested: {very_large_amount} TAO") + print(f"Amount actually executed: {actual_amount_executed:.3f} TAO") + execution_percentage = (actual_amount_executed / very_large_amount) * 100 + print(f"Execution percentage: {execution_percentage:.1f}%") + + if actual_amount_executed < very_large_amount * 0.95: # Less than 95% executed + print(f"🎯 SUCCESS: PARTIAL execution detected! Only {execution_percentage:.1f}% executed due to price protection") + else: + print(f"🤔 Unexpected: Near-full execution despite strict tolerance") + else: + print("❌ Partial staking failed completely") + + except Exception as e: + print(f"❌ Partial staking failed: {e}") + + # Show price after partial to see impact + show_current_price_and_protection(subtensor, netuid, partial_strict_tolerance, "Post-Partial-Strict") + + display_balances_and_stakes(subtensor, wallet, target_hotkey, netuid, "After Partial Staking") + + # Demonstrate unstaking with protection + print(f"\n{'='*20} UNSTAKING WITH PROTECTION {'='*20}") + print("Demonstrating unstaking with price protection") + + # Find current stake to unstake from + stakes = subtensor.get_stake_for_coldkey(wallet.coldkey.ss58_address) + current_stake = None + for stake_info in stakes: + if stake_info.hotkey_ss58 == target_hotkey and stake_info.netuid == netuid: + current_stake = stake_info.stake + break + + if current_stake and current_stake.rao > 0: + unstake_tolerance = 0.05 # 5% tolerance for unstaking + subnet_info = show_current_price_and_protection(subtensor, netuid, unstake_tolerance, "Pre-Unstake") + + # Unstake a portion with protection + unstake_amount_rao = min(current_stake.rao // 4, int(50 * 1e9)) + unstake_balance = bt.Balance.from_rao(unstake_amount_rao).set_unit(netuid=netuid) + + print(f"Current stake: {current_stake}") + print(f"Attempting to unstake: {unstake_balance}") + + try: + print(f"\nUnstaking with SAFE protection (tolerance: {unstake_tolerance:.2%})...") + success = subtensor.unstake( + wallet=wallet, + hotkey_ss58=target_hotkey, + netuid=netuid, + amount=unstake_balance, + safe_staking=True, + rate_tolerance=unstake_tolerance, + allow_partial_stake=False + ) + + if success: + print("✅ Protected unstaking successful") + else: + print("❌ Protected unstaking failed") + + except Exception as e: + if "Price exceeded tolerance limit" in str(e) or "exceeded tolerance" in str(e): + print("🛡️ Unstaking rejected - price moved beyond tolerance") + else: + print(f"❌ Protected unstaking failed: {e}") + else: + print("No stake available to unstake") + + display_balances_and_stakes(subtensor, wallet, target_hotkey, netuid, "Final State") + show_current_price_and_protection(subtensor, netuid, 0.0, "Final") + + return True + +if __name__ == "__main__": + demonstrate_protection_modes() +``` \ No newline at end of file diff --git a/docs/learn/slippage.md b/docs/learn/slippage.md index 7c7129fc05..d3fd3908d3 100644 --- a/docs/learn/slippage.md +++ b/docs/learn/slippage.md @@ -8,367 +8,99 @@ title: "Understanding Slippage" When staking and unstaking in Bittensor, *slippage* refers to a difference between the quantity of tokens actually received, and the amount that would be expected based on a static price. This difference is due to the change in price due to the transaction itself. -Each Bittensor subnet operates as a *constant product AMM*, meaning that it will accept trades that conserve the product of the quantities of the two tokens in reserve, TAO and alpha. To calulate the price in one token of batch of the other token that a buyer wishes to acquire—alpha if they are staking, or TAO if they are unstaking—the algorithm assumes that the transaction does not change this product, so the product of TAO and alpha is the same before and after. +Each Bittensor subnet operates as a *constant product AMM*, meaning that it will accept trades that conserve the product of the quantities of the two tokens in reserve, TAO and alpha. To calculate the price in one token of batch of the other token that a buyer wishes to acquire—alpha if they are staking, or TAO if they are unstaking—the algorithm assumes that the transaction does not change this product, so the product of TAO and alpha is the same before and after. -When staking, the product K of TAO in reserve and alpha in reserve is the same before and after the transaction, so the initial product must be equal to the product after the cost in TAO is added to the reserve, and the stake is removed from the reserve and placed in the staked hotkey. +
        + See how it's calculated! -Before: -$$ -\tau_{\mathrm{in}} \,\alpha_{\mathrm{in}} = k -$$ + When staking, the product K of TAO in reserve and alpha in reserve is the same before and after the transaction, so the initial product must be equal to the product after the cost in TAO is added to the reserve, and the stake is removed from the reserve and placed in the staked hotkey. -After: -$$ -(\tau_{\mathrm{in}} + \text{cost}) \bigl(\alpha_{\mathrm{in}} - \text{stake}\bigr) = k -$$ + Before: + $$ + \tau_{\mathrm{in}} \,\alpha_{\mathrm{in}} = k + $$ -Equal: -$$ -(\tau_{\mathrm{in}} + \text{cost}) \bigl(\alpha_{\mathrm{in}} - \text{stake}\bigr) - = \tau_{\mathrm{in}} \,\alpha_{\mathrm{in}} -$$ + After: + $$ + (\tau_{\mathrm{in}} + \text{cost}) \bigl(\alpha_{\mathrm{in}} - \text{stake}\bigr) = k + $$ -This means that if we choose to stake in a certain amount of TAO (if we specify the cost), then the yielded stake (the quantity of alpha to be removed from reserve and granted to the staked hotkey) is: + Equal: -$$ -\text{Stake} = \alpha_{\text{in}} - \frac{\tau_{\text{in}} \alpha_{\text{in}}} {\tau_{\text{in}} + \text{cost}} -$$ + $$ + (\tau_{\mathrm{in}} + \text{cost}) \bigl(\alpha_{\mathrm{in}} - \text{stake}\bigr) + = \tau_{\mathrm{in}} \,\alpha_{\mathrm{in}} + $$ -## Slippage Example -For example, suppose that a subnet has 100 alpha in reserve and 10 TAO, and we want to stake in 5 TAO. + This means that if we choose to stake in a certain amount of TAO (if we specify the cost), then the yielded stake (the quantity of alpha to be removed from reserve and granted to the staked hotkey) is: -The price at this moment is 10 TAO / 100 alpha, or 10 alpha per TAO, so if we stake 5 TAO, we would expect 50 alpha, without taking slippage into account. + $$ + \text{Stake} = \alpha_{\text{in}} - \frac{\tau_{\text{in}} \alpha_{\text{in}}} {\tau_{\text{in}} + \text{cost}} + $$ + + For example, suppose that a subnet has 100 alpha in reserve and 10 TAO, and we want to stake in 5 TAO. -With slippage, the yielded alpha stake will be: + The price at this moment is 10 TAO / 100 alpha, or 10 alpha per TAO, so if we stake 5 TAO, we would expect 50 alpha, without taking slippage into account. -$$ -\text{Stake} = 100 - \frac{ 10 * 100} {10 + 5} -$$ + With slippage, the actual alpha received will be less than 50 due to the price impact of the transaction. -or 33.333 alpha sent to the hotkey. So in this case, the slippage is the difference between the ideal expectation of 50 and the actual swap value of 33.33333: -$$ -16.667 = 50 - 33.333 -$$ + $$ + \text{Stake} = 100 - \frac{ 10 * 100} {10 + 5} + $$ -This slippage is 50% of the actual swap value, which is extremely high, because we chose small values for the available liquidity. In general, slippage is high when available liquidity is limited compared to the magnitude of the transaction, since the transaction itself is changing the price significantly. + or 33.333 alpha sent to the hotkey. So in this case, the slippage is the difference between the ideal expectation of 50 and the actual swap value of 33.33333: -:::tip -`btcli` shows the slippage of staking and unstaking operations, so you don't need to calculate it yourself. -::: + $$ + 16.667 = 50 - 33.333 + $$ -## Slippage Protection and Modes + This slippage is 50% of the actual swap value, which is extremely high, + because we chose small values for the available liquidity. In general, + slippage is high when available liquidity is limited compared to the + magnitude of the transaction, since the transaction itself is changing the + price significantly. -Bittensor provides three distinct protection modes to give users control over how their transactions handle slippage in staking and unstaking transaction: +
        -### Three Modes +## Calculating Slippage with the SDK -#### Safe Mode (Default) -- Transaction is **rejected** if slippage exceeds the specified tolerance -- Provides maximum protection against unfavorable price movements -- "Fill or kill" behavior - either execute at acceptable price or not at all +You can use Bittensor's SDK to calculate expected slippage before executing transactions: -#### Partial Mode -- Transaction executes **up to the slippage threshold** -- If full amount would exceed tolerance, stakes only the portion within limits -- Ensures some execution while respecting price boundaries +### For Staking Operations -#### Unsafe Mode -- **Ignores slippage entirely** -- Transaction executes regardless of price impact -- Fastest execution but no protection against adverse price movements - -### Slippage Example Across Modes - -Consider staking 1000 TAO when slippage would be 8% for the full amount, with tolerance set to 5%: -| Mode | Outcome | -|----------------------|------| -|Safe |Transaction rejected entirely (8% > 5% tolerance)| -|Partial |Stakes ~625 TAO (amount that fits within 5% tolerance) | -|Unsafe |Stakes full 1000 TAO regardless of 8% slippage| - -## Managing Slippage with BTCLI - -The `btcli stake` interface provides parameters to control slippage protection modes. - -### Mode Selection - -The following apply to `btcli stake add` and `btcli stake remove`. - -:::tip -Other stake commands (`stake swap`, `stake move`, `stake transfer`) do not have slippage protection, since they do not involve balance changes. -::: - -**Rate Tolerance:** -```bash ---slippage, --slippage-tolerance, --tolerance, --rate-tolerance FLOAT -``` -- **Default**: 0.005 (0.5%) -- **Range**: 0.0 to 1.0 (0% to 100%) -- **Purpose**: Sets the maximum allowed price change ratio - -Enable/disable slippage protection (including partial protection). - -:::warning -In `--unsafe` mode, transactions are very vulnerable, including [sandwich attacks](#sandwich-attacks). - -It is not recommended to stake/unstake on main net ("finney") in `--unsafe` mode. -::: - -```bash ---safe-staking/--no-safe-staking, --safe/--unsafe -``` - -Enable/disable partial staking. Ignored in `--unsafe` mode. - -```bash - ---allow-partial-stake/--no-allow-partial-stake, --partial/--no-partial -``` - -### Examples - -**Safe Mode (reject if slippage exceeds limit):** -```bash -btcli stake add --amount 100 --netuid 1 --safe --tolerance 0.05 --no-partial -``` - -**Partial Mode (execute what fits within limit):** -```bash -btcli stake add --amount 1000 --netuid 1 --safe --partial --tolerance 0.05 -``` - -**Unsafe Mode (ignore slippage):** -```bash -btcli stake add --amount 300 --netuid 1 --unsafe -``` - -## Managing Slippage with SDK - -The Bittensor SDK `add_stake` and `remove_stake` commands provides slippage through method parameters. The SDK automatically translates your mode selection to the appropriate blockchain extrinsics. - -See: [Source code](https://github.com/opentensor/bittensor/blob/master/bittensor/core/extrinsics/staking.py#L113-146) - -### Parameters - -**`safe_staking`** (bool): -- **Default**: False -- **Purpose**: Enables/disables slippage protection - -**`allow_partial_stake`** (bool): -- **Default**: False -- **Purpose**: Enables partial execution mode - -**`rate_tolerance`** (float): -- **Default**: 0.005 (0.5%) -- **Range**: 0.0 to 1.0 -- **Purpose**: Maximum allowed slippage value before transaction is rejected (with `--partial` disabled), or limited (with `--partial` enabled). - -### Examples - -**Safe Mode (reject if slippage exceeds limit):** ```python import bittensor as bt +# Connect to network subtensor = bt.Subtensor() -wallet = bt.Wallet("my_wallet") - -success = subtensor.add_stake( - wallet=wallet, - hotkey_ss58="5F...", - netuid=1, - amount=bt.Balance.from_tao(100), - safe_staking=True, # Enable protection - rate_tolerance=0.05, # 5% tolerance - allow_partial_stake=False # Reject if exceeds tolerance -) -``` - -**Partial Mode (execute what fits within limit):** -```python -success = subtensor.add_stake( - wallet=wallet, - hotkey_ss58="5F...", - netuid=1, - amount=bt.Balance.from_tao(1000), - safe_staking=True, # Enable protection - rate_tolerance=0.05, # 5% tolerance - allow_partial_stake=True # Execute partial amount within tolerance -) -``` - -**Unsafe Mode (ignore slippage):** -```python -success = subtensor.add_stake( - wallet=wallet, - hotkey_ss58="5F...", - netuid=1, - amount=bt.Balance.from_tao(100), - safe_staking=False # Disable protection entirely -) -``` - -## Calculating Slippage - -The SDK provides methods to calculate slippage before executing transactions: - -```python -import bittensor as bt - -# Initialize connection to the network -subtensor = bt.Subtensor() - -# Get subnet information for subnet 14 -subnet_info = subtensor.subnet(netuid=14) - -print(f"Subnet 14 Information:") -print(f" - Alpha in: {subnet_info.alpha_in}") -print(f" - Alpha out: {subnet_info.alpha_out}") -print(f" - TAO in: {subnet_info.tao_in}") -print(f" - Price: {subnet_info.price}") -print(f" - Emission: {subnet_info.emission}") +subnet_info = subtensor.subnet(netuid=1) # Calculate slippage for staking 10 TAO -tao_amount = 10.0 -print(f"\nCalculating slippage for staking {tao_amount} TAO:") - -# Method 1: Get alpha received and slippage amount -alpha_received, slippage_amount = subnet_info.tao_to_alpha_with_slippage(tao_amount) -print(f" - Alpha received: {alpha_received}") -print(f" - Slippage amount: {slippage_amount}") - -# Method 2: Get slippage percentage (relative to total transaction) -slippage_percentage = subnet_info.tao_to_alpha_with_slippage(tao_amount, percentage=True) -print(f" - SDK slippage percentage: {slippage_percentage:.2%}") - -# Method 3: Calculate traditional slippage percentage (relative to received amount) -# Use Balance.rao property to get raw values for calculation -traditional_percentage = (slippage_amount.rao / alpha_received.rao) * 100 -print(f" - Traditional slippage percentage: {traditional_percentage:.4f}%") - -# Calculate slippage for unstaking 100 alpha -# Create alpha amount with correct netuid to avoid deprecation warnings -alpha_amount = bt.Balance.from_tao(100).set_unit(14) # Set to subnet 14 -print(f"\nCalculating slippage for unstaking {alpha_amount} alpha:") - -# Method 1: Get TAO received and slippage amount -tao_received, slippage_amount = subnet_info.alpha_to_tao_with_slippage(alpha_amount) -print(f" - TAO received: {tao_received}") -print(f" - Slippage amount: {slippage_amount}") - -# Method 2: Get slippage percentage (relative to total transaction) -slippage_percentage = subnet_info.alpha_to_tao_with_slippage(alpha_amount, percentage=True) -print(f" - SDK slippage percentage: {slippage_percentage:.2%}") - -# Method 3: Calculate traditional slippage percentage (relative to received amount) -# Use Balance.rao property to get raw values for calculation -traditional_percentage = (slippage_amount.rao / tao_received.rao) * 100 -print(f" - Traditional slippage percentage: {traditional_percentage:.4f}%") - -# Compare different amounts to see how slippage changes -print(f"\nSlippage comparison for different amounts:") -amounts = [1.0, 10.0, 50.0, 100.0] -for amount in amounts: - alpha_received, slippage_amount = subnet_info.tao_to_alpha_with_slippage(amount) - slippage_pct = subnet_info.tao_to_alpha_with_slippage(amount, percentage=True) - # Use Balance.rao property to get raw values for calculation - traditional_pct = (slippage_amount.rao / alpha_received.rao) * 100 - print(f" - {amount} TAO → {alpha_received} alpha (SDK: {slippage_pct:.2%}, Traditional: {traditional_pct:.4f}%)") -``` -```console -Subnet 14 Information: - - Alpha in: ‎852,213.419039698ξ‎ - - Alpha out: ‎1,143,515.702624673ξ‎ - - TAO in: τ20,358.835906940 - - Price: τ0.023889112 - - Emission: τ0.000000000 - -Calculating slippage for staking 10.0 TAO: - - Alpha received: ‎418.390831432ξ‎ - - Slippage amount: ‎0.209910193ξ‎ - - SDK slippage percentage: 5.01% - - Traditional slippage percentage: 0.0502% - -Calculating slippage for unstaking ‎100.000000000ξ‎ alpha: - - TAO received: τ2.388656034 - - Slippage amount: τ0.000255166 - - SDK slippage percentage: 1.07% - - Traditional slippage percentage: 0.0107% - -Slippage comparison for different amounts: - - 1.0 TAO → ‎41.857577976ξ‎ alpha (SDK: 0.60%, Traditional: 0.0060%) - - 10.0 TAO → ‎418.390831432ξ‎ alpha (SDK: 5.01%, Traditional: 0.0502%) - - 50.0 TAO → ‎2,087.854062147ξ‎ alpha (SDK: 24.60%, Traditional: 0.2466%) - - 100.0 TAO → ‎4,165.502978352ξ‎ alpha (SDK: 48.98%, Traditional: 0.4922%) - +amount_tao = 10.0 +slippage_percentage = subnet_info.tao_to_alpha_with_slippage(amount_tao, percentage=True) +print(f"Expected slippage for staking {amount_tao} TAO: {slippage_percentage:.2%}") + +# Get detailed breakdown +alpha_received, slippage_amount = subnet_info.tao_to_alpha_with_slippage(amount_tao) +ideal_alpha = subnet_info.tao_to_alpha(amount_tao) +print(f"Alpha received: {alpha_received}") +print(f"Slippage amount: {slippage_amount}") +print(f"Ideal (no slippage): {ideal_alpha}") ``` -## Best Practices - -1. **Set Reasonable Tolerances**: Use 0.5-5% for most operations -2. **Monitor Liquidity**: Check pool liquidity before large transactions -3. **Use Partial Execution**: Enable for large amounts to ensure some execution -4. **Test Small Amounts**: Start with small transactions to understand slippage -5. **Check Current Prices**: Verify market conditions before executing - -## Error Handling -**Common Error Messages:** -- `"Price exceeded tolerance limit"`: Increase tolerance or enable partial execution -- `"Slippage is too high"`: Reduce transaction size or increase tolerance -- `"Insufficient liquidity"`: Try smaller amounts or different timing +### For Unstaking Operations -**Troubleshooting:** ```python -try: - success = subtensor.add_stake( - wallet=wallet, - amount=bt.Balance.from_tao(100), - safe_staking=True, - rate_tolerance=0.05 - ) -except Exception as e: - if "SlippageTooHigh" in str(e): - # Increase tolerance or reduce amount - pass - elif "InsufficientLiquidity" in str(e): - # Try smaller amount or wait for better conditions - pass +# Calculate slippage for unstaking 100 alpha +amount_alpha = 100.0 +slippage_percentage = subnet_info.alpha_to_tao_with_slippage(amount_alpha, percentage=True) +print(f"Expected slippage for unstaking {amount_alpha} alpha: {slippage_percentage:.2%}") + +# Get detailed breakdown +tao_received, slippage_amount = subnet_info.alpha_to_tao_with_slippage(amount_alpha) +ideal_tao = subnet_info.alpha_to_tao(amount_alpha) +print(f"TAO received: {tao_received}") +print(f"Slippage amount: {slippage_amount}") +print(f"Ideal (no slippage): {ideal_tao}") ``` - -## Code References - -### BTCLI Commands -- [`btcli stake add`](../btcli/btcli-playground.md#stake-add) - Staking with slippage protection -- [`btcli stake remove`](../btcli/btcli-playground.md#stake-remove) - Unstaking with slippage protection - -**Note**: Only `stake add` and `stake remove` support slippage protection. Other stake commands (`stake swap`, `stake move`, `stake transfer`) do not have slippage protection parameters. - -### SDK Methods (With Slippage Protection) -- [`bittensor.core.subtensor.Subtensor.add_stake()`](pathname:///python-api/html/autoapi/bittensor/core/subtensor/index.html) - Staking with protection -- [`bittensor.core.subtensor.Subtensor.unstake()`](pathname:///python-api/html/autoapi/bittensor/core/subtensor/index.html) - Unstaking with protection -- [`bittensor.core.subtensor.Subtensor.swap_stake()`](pathname:///python-api/html/autoapi/bittensor/core/subtensor/index.html) - Stake movement with protection - -### SDK Calculation Methods -- [`bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha_with_slippage()`](https://github.com/opentensor/bittensor/blob/master/bittensor/core/chain_data/dynamic_info.py#L130-L185) - Staking slippage calculation -- [`bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao_with_slippage()`](https://github.com/opentensor/bittensor/blob/master/bittensor/core/chain_data/dynamic_info.py#L187-L238) - Unstaking slippage calculation - -### Blockchain References - -**Blockchain Implementation (Protected Extrinsics):** -- [`do_add_stake_limit`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/add_stake.rs#L126-L180) - Protected staking function -- [`do_remove_stake_limit`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/remove_stake.rs#L329-L390) - Protected unstaking function -- [`do_swap_stake_limit`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/move_stake.rs#L175-L220) - Protected stake movement function - -**Blockchain Implementation (Basic Extrinsics):** -- [`do_add_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/add_stake.rs#L39-L75) - Basic staking function -- [`do_remove_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/remove_stake.rs#L38-L75) - Basic unstaking function -- [`do_swap_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/move_stake.rs#L175-L220) - Basic stake movement function - -**Transaction Pool & MEV-Related Implementation:** -- [Transaction Pool API](https://github.com/opentensor/subtensor/blob/main/runtime/src/lib.rs#L1857-L1872) - Where mempool validation happens -- [Priority Calculation](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs#L1796-L1813) - How MEV bots can gain priority -- [Transaction Validation](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs#L2115-L2137) - Where stake amounts determine priority - -**EVM Precompile Implementation:** -- [Solidity Interface](https://github.com/opentensor/subtensor/blob/main/precompiles/src/solidity/stakingV2.sol#L198-L225) - EVM interface for slippage protection -- [Rust Implementation](https://github.com/opentensor/subtensor/blob/main/precompiles/src/staking.rs#L320-L340) diff --git a/docs/local-build/create-subnet.md b/docs/local-build/create-subnet.md index c942a3049e..51b86b73cb 100644 --- a/docs/local-build/create-subnet.md +++ b/docs/local-build/create-subnet.md @@ -51,9 +51,15 @@ If you see a network rate limit error, you may need to adjust the `SubtensorInit See [Clone and tweak the Subtensor source](./deploy#clone-and-tweak-the-subtensor-source) -### Burn cost +### Subnet creation cost -The burn cost for subnet creation is dynamic; it lowers gradually and doubles every time a subnet is created. +The cost for subnet creation is dynamic; it lowers gradually and doubles every time a subnet is created. + +:::info +Note that this is labeled "burn cost", even though technically the cost of subnet creation is *recycled*, rather than *burned*. + +See: [Glossary: Recycling and Burning](../glossary#recycling-and-burning) +::: :::tip try it live diff --git a/docs/staking-and-delegation/managing-stake-btcli.md b/docs/staking-and-delegation/managing-stake-btcli.md index 8602a27d6b..9e17660154 100644 --- a/docs/staking-and-delegation/managing-stake-btcli.md +++ b/docs/staking-and-delegation/managing-stake-btcli.md @@ -15,7 +15,7 @@ Staking and unstaking operations incur transaction fees for the underlying block See also: - [Staking/delegation overview](./delegation) -- [Understanding pricing and anticipating slippage](../dynamic-tao/staking-unstaking-dtao) +- [Understanding pricing and anticipating slippage](../learn/slippage) :::tip Minimum transaction amount for stake/unstake/move/transfer: 500,000 RAO or 0.0005 TAO. @@ -169,7 +169,7 @@ After selecting a validator to delegate stake to, you'll see your wallet balance Amount to stake (TAO τ): 5 ``` -You'll then see the details of the trade, including [slippage](../dynamic-tao/staking-unstaking-dtao), and be asked to confirm execution. +You'll then see the details of the trade, including [slippage](../learn/slippage), and be asked to confirm execution. ```console Staking to: diff --git a/docs/staking-and-delegation/managing-stake-sdk.md b/docs/staking-and-delegation/managing-stake-sdk.md index 8237117ea1..9ed20a1720 100644 --- a/docs/staking-and-delegation/managing-stake-sdk.md +++ b/docs/staking-and-delegation/managing-stake-sdk.md @@ -11,7 +11,7 @@ TAO holders can **stake** any amount of the liquidity they hold to a validator. See also: - [Staking/delegation overview](./delegation) -- [Understanding pricing and anticipating slippage](../dynamic-tao/staking-unstaking-dtao) +- [Understanding pricing and anticipating slippage](../learn/slippage) :::tip Minimum transaction amount for stake/unstake/move/transfer: 500,000 RAO or 0.0005 TAO. diff --git a/sidebars.js b/sidebars.js index 1823641bee..2f2ded3c0d 100644 --- a/sidebars.js +++ b/sidebars.js @@ -53,9 +53,11 @@ const sidebars = { link: { type: "doc", id: "staking-and-delegation/delegation" }, items: [ "staking-and-delegation/delegation", - "staking-and-delegation/stakers-btcli-guide", + "staking-and-delegation/stakers-btcli-guide", "staking-and-delegation/managing-stake-btcli", "staking-and-delegation/managing-stake-sdk", + "learn/price-protection", + "learn/slippage", "staking-and-delegation/staking-polkadot-js", "staking-and-delegation/using-ledger-hw-wallet", ], From d0d206307662f0d31e4a3376b28b6f994195609c Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 12 Aug 2025 08:03:48 -0700 Subject: [PATCH 185/303] doc EMAs (#57) * wip * wip * wip * wip * wip * wip * wip * wip * Apply suggestion from @mcjkula --------- Co-authored-by: Maciej Kula --- docs/glossary.md | 36 ++++++++++++++++++----- docs/learn/ema.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++ sidebars.js | 1 + 3 files changed, 104 insertions(+), 8 deletions(-) create mode 100644 docs/learn/ema.md diff --git a/docs/glossary.md b/docs/glossary.md index 486c6b38ff..87b611ebf6 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -185,7 +185,9 @@ Every block, currency is injected into each subnet in Bittensor, and every tempo Emission is this process of generating and allocating currency to participants. The amount allocated to a given participant over some duration of time is also often referred to as 'their emissions' for the period. -**See also:** [Emissions](./emissions.md) +Emissions are protected from manipulation through [Exponential Moving Average (EMA)](#exponential-moving-average-ema) mechanisms that smooth both validator-miner bond evolution and subnet price effects. + +**See also:** [Emissions](./emissions.md), [Exponential Moving Average (EMA)](#exponential-moving-average-ema) ### Encrypting the Hotkey @@ -193,6 +195,25 @@ An optional security measure for the hotkey. **See also:** [Coldkey-Hotkey Security](./getting-started/coldkey-hotkey-security.md), [Working with Keys](./working-with-keys.md) +### Exponential Moving Average (EMA) + +A weighted moving average that prioritizes recent observations while exponentially decreasing the weight of older data points. In Bittensor, EMA is used in two critical stability mechanisms: + +1. **Validator-Miner Bond Smoothing**: Smooths the evolution of bonds between validators and miners over time, rewarding early discovery while preventing abrupt manipulation attempts. Has two modes: + - **Basic Mode**: Single α ≈ 0.1 (~7-22 blocks for significant changes) + - **Liquid Alpha Mode**: Dynamic α range 0.7-0.9 based on consensus alignment (~1-13 blocks depending on consensus) + +2. **Subnet Price Emission Smoothing**: Protects emissions from price manipulation by extremely slowly incorporating price changes into emission calculations (α ≈ 0.000003, ~30 days for 50% adjustment) + +**Formula**: `EMA(t) = α × Current_Value + (1 - α) × EMA(t-1)` + +**Key Properties**: +- Lower α = slower adaptation, higher stability +- Higher α = faster adaptation, lower stability +- Bittensor prioritizes stability with conservative α values + +**See also:** [Understanding Exponential Moving Averages](./learn/ema.md), [Consensus-based Weights](./subnets/consensus-based-weights.md), [Validator-Miner Bonds](#validator-miner-bonds), [Emission](#emission) + ### External Wallet A Bittensor wallet created through the Bittensor website or using a tool like [subkey](https://docs.substrate.io/reference/command-line-tools/subkey/), allowing users to use TAO without installing Bittensor. @@ -804,7 +825,7 @@ Where: ### Validator-Miner Bonds -Bonds represent the "investment" a validator has made in evaluating a specific miner. This bonding mechanism is integral to the Yuma Consensus' design intent of incentivizing high-quality performance by miners, and honest evaluation by validators. +Bonds represent the "investment" a validator has made in evaluating a specific miner. This bonding mechanism uses [Exponential Moving Average (EMA)](#exponential-moving-average-ema) to smooth bond evolution over time, integral to the Yuma Consensus' design intent of incentivizing high-quality performance by miners, and honest evaluation by validators. **Bond Formation Process:** @@ -829,10 +850,10 @@ Where: - $\beta$ is the bonds penalty factor (configurable hyperparameter) **3. Exponential Moving Average (EMA) Bonds:** -Instant bonds are smoothed over time using EMA to prevent abrupt changes: +Instant bonds are smoothed over time using [EMA](#exponential-moving-average-ema) to prevent abrupt changes: $$B_{ij}^{(t)} = \alpha \Delta B_{ij} + (1-\alpha)B_{ij}^{(t-1)}$$ -Where $\alpha$ is the EMA smoothing factor. +Where $\alpha$ is the EMA smoothing factor (see [Exponential Moving Average](#exponential-moving-average-ema) for details). **Bond Mechanics and Design:** @@ -850,10 +871,9 @@ Where $\alpha$ is the EMA smoothing factor. - Bonds are stored as sparse matrices in blockchain state **Bond Decay:** - -- Bonds decay over time based on the `bonds_moving_avg` parameter -- Higher decay rates make bonds more responsive to recent performance -- Lower decay rates allow bonds to persist longer +- Bonds decay over time using [EMA](#exponential-moving-average-ema) with the `bonds_moving_avg` parameter +- Higher decay rates (larger α) make bonds more responsive to recent performance +- Lower decay rates (smaller α) allow bonds to persist longer **Economic Alignment:** diff --git a/docs/learn/ema.md b/docs/learn/ema.md new file mode 100644 index 0000000000..f9f4535613 --- /dev/null +++ b/docs/learn/ema.md @@ -0,0 +1,75 @@ +--- +title: "Exponential Moving Averages (EMAs)in Bittensor" +--- +# Exponential Moving Averages (EMAs) in Bittensor + +The exponential moving average (EMA) is a [mathematical technique](https://en.wikipedia.org/wiki/Exponential_smoothing) for tracking a dynamic quantity, such as a token price, over time. Specifically, EMA is a weighted moving average that exponentially decreases the weight of older data point. This extracts a signal reflecting where the value has spent *most* of its time *most recently*, stabilizing or 'smoothing' the constant noise of rapid, largely random fluctuations. + +Bittensor uses EMAs to smooth two critical dynamical values during the emission process: + +- Emissions to each subnet are determined by an EMA-smoothed representation of subnet price each tempo. This protects emissions from price volatility or intentional manipulation. + +- Emissions to participants of each subnet are determined by EMAs of instantaneous validator-miner bond-strengths. This plays an important roll in ensuring that validators and miners are fairly rewarded for innovation, as measured by eventual consensus (rather than immediate consensus) about miner weights. + +## Mathematical definition + + +The EMA of a changing value at a given time is determined by weighted average of the current value and the EMA at the last time step. The parameter factor, or 'smoothing factor' is called $\alpha$. + +$$ +\mathrm{EMA}^{(t)} = \alpha \times \mathrm{current} + (1 - \alpha) \times \mathrm{EMA}^{(t-1)} +$$ + +The alpha parameter controls how quickly the EMA responds to changes: + +- **Small $\alpha$ (e.g., 0.01)**: Very slow response, high stability, takes many periods for significant changes +- **Large $\alpha$ (e.g., 0.5)**: Fast response, lower stability, quickly incorporates new information +- **$\alpha$ = 1**: No smoothing (immediate response to current value) + +:::tip +Note that this alpha parameter is distinct from and unrelated to the usage of 'alpha' to refer to subnet-specific currencies. +::: + + + +## Subnet Price Emission Smoothing + +This use of EMA smoothing protects the network's economic model from price manipulation by making emissions extremely slow to respond to price changes. + +**How It Works**: +The price EMA uses a sophisticated dynamic alpha calculation to ensures that new subnets have even slower price adaptation than mature ones. + +$$ +\alpha = \frac{ \mathrm{base\_alpha} \times \mathrm{blocks\_since\_start}}{\mathrm{blocks\_since\_start} + \mathrm{halving\_blocks}} +$$ + +:::info +The value for **base_alpha** in the above is currently ~0.0003 for Bittensor mainnet ("finney"). +::: + +See: +- [Yuma Consensus/Coinbase emission source code](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L223) +- [Default alpha value for subnet price smoothing](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs#L828) + +## Validator-Miner Bond Smoothing + +This smoothing function ensures that relationships between validators and miners evolve gradually, preventing sudden manipulation while rewarding validators who discover promising miners early. + +### Basic Bond EMA (Liquid Alpha Disabled) +**Default Mode**: Single $\alpha$ for all validator-miner pairs +- **Default $\alpha$**: ~0.1 (10%) +- **Response Time**: 7-22 blocks for significant changes (~1-4 minutes) +- **Formula** + The EMA of the bond (BondEMA)of a validator i for a miner j, at time t, is the $\alpha$-weighted average of the instantaneous bond and the previous timestep's BondEMA: + $$ + BondEMA_{ij}^{(t)} = \alpha \times \, InstantBond_{ij} + (1-\alpha)\,BondEMA_{ij}^{(t-1)} + $$ + +### Advanced Bond EMA (Liquid Alpha Enabled) +**Consensus-Based Mode**: Dynamic $\alpha$ per validator-miner pair based on consensus alignment +- **$\alpha$ Range**: Dynamic between $\alpha$_low and $\alpha$_high (default: 0.7 to 0.9) +- **Sigmoid Steepness**: Controls transition rate between $\alpha$_low and $\alpha$_high (default: 1000) +- **Individual Alpha**: Each validator-miner pair gets its own $\alpha$ value +- **Response Time**: 1-13 blocks depending on consensus alignment (~12 seconds to 2.6 minutes) + +See [Liquid Alpha/Consensus-Based Weights](../subnets/consensus-based-weights) \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 2f2ded3c0d..f2119fcca1 100644 --- a/sidebars.js +++ b/sidebars.js @@ -40,6 +40,7 @@ const sidebars = { "learn/neurons", "learn/anatomy-of-incentive-mechanism", "emissions", + "learn/ema", "yuma-consensus", "subnets/yc3-blog", "fees", From aac2c71091c7e7aaa3199d7052a37d3f27403542 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 12 Aug 2025 14:09:19 -0700 Subject: [PATCH 186/303] upgrade sdk docs to v9.9.0 --- static/img/docs/position-dashboard1.png | Bin 0 -> 158849 bytes static/python-api/html/.buildinfo | 2 +- .../async_substrate_interface/errors.html | 11 +- .../async_substrate_interface/utils.html | 1 - .../bittensor/core/async_subtensor.html | 3864 +++++++++++++---- .../html/_modules/bittensor/core/axon.html | 45 +- .../bittensor/core/chain_data/axon_info.html | 1 - .../core/chain_data/chain_identity.html | 1 - .../core/chain_data/delegate_info.html | 141 +- .../core/chain_data/delegate_info_lite.html | 1 - .../core/chain_data/dynamic_info.html | 46 +- .../bittensor/core/chain_data/info_base.html | 3 +- .../bittensor/core/chain_data/ip_info.html | 1 - .../core/chain_data/metagraph_info.html | 305 +- .../core/chain_data/neuron_info.html | 1 - .../core/chain_data/neuron_info_lite.html | 1 - .../core/chain_data/prometheus_info.html | 1 - .../core/chain_data/proposal_vote_data.html | 37 +- .../scheduled_coldkey_swap_info.html | 1 - .../bittensor/core/chain_data/stake_info.html | 1 - .../chain_data/subnet_hyperparameters.html | 23 +- .../core/chain_data/subnet_identity.html | 3 +- .../core/chain_data/subnet_info.html | 1 - .../core/chain_data/subnet_state.html | 1 - .../bittensor/core/chain_data/utils.html | 78 +- .../core/chain_data/weight_commit_info.html | 1 - .../html/_modules/bittensor/core/config.html | 1 - .../_modules/bittensor/core/dendrite.html | 12 +- .../html/_modules/bittensor/core/errors.html | 237 +- .../core/extrinsics/asyncex/children.html | 550 +++ .../extrinsics/asyncex/commit_reveal.html | 46 +- .../core/extrinsics/asyncex/liquidity.html | 654 +++ .../core/extrinsics/asyncex/move_stake.html | 93 +- .../core/extrinsics/asyncex/registration.html | 80 +- .../core/extrinsics/asyncex/root.html | 99 +- .../core/extrinsics/asyncex/serving.html | 130 +- .../core/extrinsics/asyncex/staking.html | 163 +- .../core/extrinsics/asyncex/start_call.html | 471 ++ .../core/extrinsics/asyncex/take.html | 522 +++ .../core/extrinsics/asyncex/transfer.html | 45 +- .../core/extrinsics/asyncex/unstaking.html | 255 +- .../core/extrinsics/asyncex/weights.html | 143 +- .../bittensor/core/extrinsics/children.html | 548 +++ .../core/extrinsics/commit_reveal.html | 45 +- .../core/extrinsics/commit_weights.html | 62 +- .../bittensor/core/extrinsics/liquidity.html | 654 +++ .../bittensor/core/extrinsics/move_stake.html | 87 +- .../core/extrinsics/registration.html | 45 +- .../bittensor/core/extrinsics/root.html | 95 +- .../bittensor/core/extrinsics/serving.html | 131 +- .../core/extrinsics/set_weights.html | 70 +- .../bittensor/core/extrinsics/staking.html | 175 +- .../bittensor/core/extrinsics/start_call.html | 470 ++ .../bittensor/core/extrinsics/take.html | 521 +++ .../bittensor/core/extrinsics/transfer.html | 58 +- .../bittensor/core/extrinsics/unstaking.html | 259 +- .../bittensor/core/extrinsics/utils.html | 104 +- .../_modules/bittensor/core/metagraph.html | 110 +- .../html/_modules/bittensor/core/stream.html | 1 - .../_modules/bittensor/core/subtensor.html | 2161 +++++++-- .../bittensor/core/subtensor_api.html | 663 +++ .../bittensor/core/subtensor_api/chain.html | 428 ++ .../core/subtensor_api/commitments.html | 431 ++ .../core/subtensor_api/delegates.html} | 226 +- .../core/subtensor_api/extrinsics.html | 445 ++ .../core/subtensor_api/metagraphs.html | 420 ++ .../bittensor/core/subtensor_api/neurons.html | 423 ++ .../bittensor/core/subtensor_api/queries.html | 423 ++ .../bittensor/core/subtensor_api/staking.html | 434 ++ .../bittensor/core/subtensor_api/subnets.html | 459 ++ .../bittensor/core/subtensor_api/utils.html | 584 +++ .../bittensor/core/subtensor_api/wallets.html | 447 ++ .../html/_modules/bittensor/core/synapse.html | 1 - .../html/_modules/bittensor/core/tensor.html | 1 - .../_modules/bittensor/core/threadpool.html | 5 +- .../version.html => core/timelock.html} | 251 +- .../html/_modules/bittensor/core/types.html | 5 +- .../html/_modules/bittensor/utils.html | 126 +- .../_modules/bittensor/utils/axon_utils.html | 1 - .../_modules/bittensor/utils/balance.html | 1045 ++--- .../bittensor/utils/btlogging/console.html | 1 - .../bittensor/utils/btlogging/format.html | 1 - .../bittensor/utils/btlogging/helpers.html | 1 - .../utils/btlogging/loggingmachine.html | 11 +- .../bittensor/utils/easy_imports.html | 201 +- .../_modules/bittensor/utils/formatting.html | 1 - .../_modules/bittensor/utils/liquidity.html | 584 +++ .../bittensor/utils/mock/subtensor_mock.html | 1465 ------- .../_modules/bittensor/utils/networking.html | 1 - .../utils/registration/async_pow.html | 1 - .../bittensor/utils/registration/pow.html | 52 +- .../utils/registration/register_cuda.html | 1 - .../_modules/bittensor/utils/subnets.html | 1 - .../utils/substrate_utils/hasher.html | 1 - .../utils/substrate_utils/storage.html | 1 - .../bittensor/utils/weight_utils.html | 106 +- static/python-api/html/_modules/index.html | 28 +- .../html/_modules/rich/console.html | 3076 ------------- .../html/_modules/scalecodec/utils/ss58.html | 1 - .../bittensor/core/async_subtensor/index.html | 557 +-- .../autoapi/bittensor/core/axon/index.html | 1 - .../core/chain_data/axon_info/index.html | 1 - .../core/chain_data/chain_identity/index.html | 1 - .../core/chain_data/delegate_info/index.html | 5 +- .../chain_data/delegate_info_lite/index.html | 1 - .../core/chain_data/dynamic_info/index.html | 1 - .../bittensor/core/chain_data/index.html | 1 - .../core/chain_data/info_base/index.html | 1 - .../core/chain_data/ip_info/index.html | 1 - .../core/chain_data/metagraph_info/index.html | 5 +- .../core/chain_data/neuron_info/index.html | 1 - .../chain_data/neuron_info_lite/index.html | 1 - .../chain_data/prometheus_info/index.html | 1 - .../chain_data/proposal_vote_data/index.html | 3 +- .../scheduled_coldkey_swap_info/index.html | 1 - .../core/chain_data/stake_info/index.html | 1 - .../subnet_hyperparameters/index.html | 1 - .../chain_data/subnet_identity/index.html | 1 - .../core/chain_data/subnet_info/index.html | 1 - .../core/chain_data/subnet_state/index.html | 1 - .../core/chain_data/utils/index.html | 7 +- .../chain_data/weight_commit_info/index.html | 39 +- .../autoapi/bittensor/core/config/index.html | 1 - .../bittensor/core/dendrite/index.html | 1 - .../autoapi/bittensor/core/errors/index.html | 29 +- .../extrinsics/asyncex/children/index.html | 5 +- .../asyncex/commit_reveal/index.html | 1 - .../core/extrinsics/asyncex/index.html | 1 - .../extrinsics/asyncex/liquidity/index.html | 9 +- .../extrinsics/asyncex/move_stake/index.html | 1 - .../asyncex/registration/index.html | 1 - .../core/extrinsics/asyncex/root/index.html | 1 - .../extrinsics/asyncex/serving/index.html | 3 +- .../extrinsics/asyncex/staking/index.html | 1 - .../extrinsics/asyncex/start_call/index.html | 3 +- .../core/extrinsics/asyncex/take/index.html | 5 +- .../extrinsics/asyncex/transfer/index.html | 4 +- .../extrinsics/asyncex/unstaking/index.html | 3 +- .../extrinsics/asyncex/weights/index.html | 1 - .../core/extrinsics/children/index.html | 5 +- .../core/extrinsics/commit_reveal/index.html | 1 - .../core/extrinsics/commit_weights/index.html | 1 - .../bittensor/core/extrinsics/index.html | 1 - .../core/extrinsics/liquidity/index.html | 9 +- .../core/extrinsics/move_stake/index.html | 1 - .../core/extrinsics/registration/index.html | 1 - .../bittensor/core/extrinsics/root/index.html | 1 - .../core/extrinsics/serving/index.html | 3 +- .../core/extrinsics/set_weights/index.html | 1 - .../core/extrinsics/staking/index.html | 1 - .../core/extrinsics/start_call/index.html | 3 +- .../bittensor/core/extrinsics/take/index.html | 5 +- .../core/extrinsics/transfer/index.html | 3 +- .../core/extrinsics/unstaking/index.html | 3 +- .../core/extrinsics/utils/index.html | 1 - .../html/autoapi/bittensor/core/index.html | 1 - .../bittensor/core/metagraph/index.html | 3 +- .../bittensor/core/settings/index.html | 1 - .../autoapi/bittensor/core/stream/index.html | 1 - .../bittensor/core/subtensor/index.html | 143 +- .../core/subtensor_api/chain/index.html | 3 +- .../core/subtensor_api/commitments/index.html | 10 +- .../core/subtensor_api/delegates/index.html | 3 +- .../core/subtensor_api/extrinsics/index.html | 3 +- .../bittensor/core/subtensor_api/index.html | 5 +- .../core/subtensor_api/metagraphs/index.html | 3 +- .../core/subtensor_api/neurons/index.html | 3 +- .../core/subtensor_api/queries/index.html | 3 +- .../core/subtensor_api/staking/index.html | 10 +- .../core/subtensor_api/subnets/index.html | 10 +- .../core/subtensor_api/utils/index.html | 3 +- .../core/subtensor_api/wallets/index.html | 3 +- .../autoapi/bittensor/core/synapse/index.html | 1 - .../autoapi/bittensor/core/tensor/index.html | 7 +- .../bittensor/core/threadpool/index.html | 1 - .../bittensor/core/timelock/index.html | 7 +- .../autoapi/bittensor/core/types/index.html | 1 - .../html/autoapi/bittensor/index.html | 1 - .../bittensor/utils/axon_utils/index.html | 1 - .../bittensor/utils/balance/index.html | 1 - .../utils/btlogging/console/index.html | 1 - .../utils/btlogging/defines/index.html | 1 - .../utils/btlogging/format/index.html | 1 - .../utils/btlogging/helpers/index.html | 1 - .../bittensor/utils/btlogging/index.html | 1 - .../utils/btlogging/loggingmachine/index.html | 1 - .../bittensor/utils/easy_imports/index.html | 1 - .../bittensor/utils/formatting/index.html | 1 - .../html/autoapi/bittensor/utils/index.html | 68 +- .../bittensor/utils/liquidity/index.html | 21 +- .../utils/mock/subtensor_mock/index.html | 1585 ------- .../bittensor/utils/networking/index.html | 7 +- .../utils/registration/async_pow/index.html | 1 - .../bittensor/utils/registration/index.html | 1 - .../utils/registration/pow/index.html | 15 +- .../registration/register_cuda/index.html | 1 - .../bittensor/utils/subnets/index.html | 1 - .../utils/substrate_utils/hasher/index.html | 1 - .../utils/substrate_utils/index.html | 1 - .../utils/substrate_utils/storage/index.html | 1 - .../bittensor/utils/version/index.html | 9 +- .../bittensor/utils/weight_utils/index.html | 7 +- static/python-api/html/autoapi/index.html | 5 - static/python-api/html/genindex.html | 233 +- static/python-api/html/index.html | 1 - static/python-api/html/objects.inv | Bin 16069 -> 15583 bytes static/python-api/html/py-modindex.html | 11 - static/python-api/html/search.html | 1 - static/python-api/html/searchindex.js | 2 +- 209 files changed, 18997 insertions(+), 9974 deletions(-) create mode 100644 static/img/docs/position-dashboard1.png create mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/children.html create mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/liquidity.html create mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/start_call.html create mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/take.html create mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/children.html create mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/liquidity.html create mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/start_call.html create mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/take.html create mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api.html create mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/chain.html create mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/commitments.html rename static/python-api/html/{autoapi/bittensor/utils/mock/index.html => _modules/bittensor/core/subtensor_api/delegates.html} (59%) create mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/extrinsics.html create mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/metagraphs.html create mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/neurons.html create mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/queries.html create mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/staking.html create mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/subnets.html create mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/utils.html create mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/wallets.html rename static/python-api/html/_modules/bittensor/{utils/version.html => core/timelock.html} (53%) create mode 100644 static/python-api/html/_modules/bittensor/utils/liquidity.html delete mode 100644 static/python-api/html/_modules/bittensor/utils/mock/subtensor_mock.html delete mode 100644 static/python-api/html/_modules/rich/console.html delete mode 100644 static/python-api/html/autoapi/bittensor/utils/mock/subtensor_mock/index.html diff --git a/static/img/docs/position-dashboard1.png b/static/img/docs/position-dashboard1.png new file mode 100644 index 0000000000000000000000000000000000000000..51e0a82b41233b0095e9e12cdb2131b11d553109 GIT binary patch literal 158849 zcmeEubyyr(_h#dbH}2NK5}btK-bio>?jGFTy&(oc6D%YI*AUz#xVu|OaMz$)%r}#n z{eAmP_W#{}y3<8fSKV9Zo_o&wzUNk=RFq_}F~~7MAQ1KwS(q9KgbD?Lkluk&fjvZ_ za>yVMmV&jUq{;bM@wrv3lK;)DnScPTfLh&U2g;(0TC|---iH}g&cz~fl1o{ z{(%1ml-ZsPdAhy+A;gvhuW^ zmy3Y|SFQs!uDzh9FCSgMK^0vVGc{>IjNcK_t1~i-#cZCL_IVGIiTLc6nTV=~$>wW6Q)?VvE zO4~mEAT_U}|3PYTN79A=ikUY=6fvlf4$}1yVQ4#8s7@>y-JO(EZ;6%YNfzW%ayuo7 zR|EOL4{o1{n;MrnvX&M2G43aC|1q6nFs&=Nz;%Pyjl@)7Oo0OafdkLHc!GgO7} z@>SB(uq#!F7_#=hex=nJrDcxU`eFQF=~5hdDOju-Rc>mePh zZrR5NLSI&>PfDs=rcE!ubq5QyP4-O+7UXBO)=bp&{*0^TFcP|Fbi#R<-DBCq@K)!i z9s89jeA+K>$eM8W>-1M_(D<3mwT~~+=&gacc9Bs{coWi+Ykf({UQUVrlrsp&t68fx zwj`AeEkO4fC{+;pvrT6)ANsW-8Y=m}z>a^{aeL+(py-XrRIoQ29CL@BNWU5oWt zC3d0NkT8VOs9=qYxvQFukyE{NQDG;4)$uWINWqO<7tSt`^zr*MqFS^f8RZWoL$=S* zF0gjKf~4EDlgWO-ojIwA!#^35B~zw6PcXL7Cen=LX}R=6*=nvWJLAK%TCtnMD_&9& zLLgZg-LE<4u175C*g6mk?JgifPsy`h>E9K~oUT@q#_PcQL!M-NEroK*NR3Cj3S8{(OHAg2;r^H+5h(ENo z)YOSAjx78IcL!aElynubRIl#y9EPEH1sZwou&oHqlE>=4FFfKs(oeZ}=4aL_GB#t} z3f)88U;@wGDz{Qcyt~?yi4~~TyY#!}T7=rR#~3ze)(_pw-R0fSHY+zy*EiN{HW@bi zhYH37^Cw$cwI^6bSduD2++*C+PE5iMz`NiB_@{fD()!c~nt@r3O^w=3u)vHPo@-oG zyHMIt%1{kdY*bHdXGz~S(zcC=6zoA#kJn>V8^UUQpUqcWVw=b^rB9{Hq|0AaQdE$i zkf)GFlJ>sfCC%X8eQfgfJjFbvkcZ!L#G>cX2~R?DF^{mr1)ARLev7rwz0*08k+RJ`{qfY{ROd9| zl!QtJ%@ZxEjWP06HB2@AW7fxf>3OFyr&R%Bz6pT^Pg8y=J|cb|K4BVregTW){9!AZ zKxYrv0r!PvKi?Mv$)#LUX74)c-O4=iYM<8XQ_0g%2ze|_b(C@FQ|W&#PBCz-<(luP zWAm_ezTDnjX7?;{-8(EjmOYwUcMkp78})(L4_5KNpPEj2-EUV1|5stxMp} zJHzOsd#udWp1hviliXQmW@^=${?e>NF>03Tj8TL(KHk7z+TOG zWHaj(`bVa|w@!4^oH}pjk|pGxC``W{5#)NdQX7?)=aBa`Z<1+R;T_k;m3dotP26iG z69qg4{&;CwdAZrN(Rtgqfy@MGq88-Nvjn!a9CG0X-cME_lmxa$;`cDR3W2} z=dFQGfR2UEJbrqX#35Ahk+1yeY-(<*0l$CElbXxJE^ljZnJj@3%8iXYMs+I%`y~FZ zXbY;*`s|{ViF>$7drxVjpG0@~8JvGy%>SYhkW+88q^F{@@8Gj?Ecx(@m8{j5fiD>~ zZa?B$ms)8om&?P-buCl+4LL7wD0frsU1MuDT=jnF^yxh+aSiCY+C&*c;l~VMb79vt zIQB6aY0Z}Ec>aUK=iH#nv*PQ!uZJrX&l^Y_bwW5|S*`U1JT@Xe8OgyIn&JhL5)%S+ z8TC(l&&(P*ZW|rFI}R&}c3B>m&= z{m`wn5O!~H@t5(2d4EIg#b)94%kRps)+AG@ar`*k@rh#50pGs1emc-~p7*i7&iS{rU94=b+D;kcE8+_X?^wOkvA{ZP4`BQLBC~xg3QUQVm@i%%609Z{2J4HR)t^gTW2&v5NuYZ##U8Ga<+hH{2^Qsht+8R&j_ z;*{d6cP;h$`O73B4xWnFwxS->dxzaD!CC>0JxxB#x~mnZTj-OH3$hKv&gyPQ8%1+^ z904rnJKuJGdV)RWc5UX_>a5&KHa+VW&)lm$DH~|Knoh*$LT7QqaWjO~gf7Nv*14{o zrwK-xc$5v&AA6#B8eEvI(4-BT4~lq@+~!@cb*xnm243~vmQ19h3#W0ca$Fd)`&#VV zOxjLPvNa4hoGq+2{5-E*O>3#!JWD;Z5~cU|I&{8Z8p$~v^vFnQ3=6CoO`4o!BIrW7 zZbBqgvA5?2dDUQoe7Hdh)s9(8Pxo*yu~ql1FY(TmwHqS0c|Ad!OQQY?yjOKK2+cQC zAZl$Ll@fU%y6$zDN3N8|fWz3?!~D`Q!=kt#0OG zVd3EV%+bxM8L1W6f$k)$;|c;1Gu(X;o~Y691J|FleyZ)Jt*9Vi=4j7uV(w^a!R}@6 zbax$)ke2|kX>Z|XLhEI3=in;fB@F%J7XrZc-EIyj?H@mJvlWJFE2_{+I=WcUK4#}+ z=Y)!2(9+ThxtLoDsKKQFJRSH;82Zf3%}IcR!_(7~-SZ*4ql*;>7e7Bg2PZcNH#Zyb z3pQ782R9QhHV4;x|GCIt*MV8Mnz>jzxmi0p(B56w#MIH1YqM=_c~`c>Q_uKM($Sq7cX3t^dOm|FQEQdjUg> zUwI$Ja^k!6E^^BzeR zV=R!uz_Wgpfc*x99`mp7AW%3s0Oz;Y{2(190UI0oY=TdV@b7O7yeq7KZxT2PdkG4M z=Vn^8(TgGe`x)1>R`o{ZLl83Q*x8jnTlU*LhpbUho+kaqzf7Y* z?Qr!RrS9%HCi_fi;>C~2q+BrGzE2PckA`N?(=hS3cFPKBjv`>P6GvRYFSD~|hl%-h zC9>(U8a=#}{*6D7MKm9L>qPkgE7X05j@NYyLO_%!|Ba8wh+W``buohRwL9K@ih=}l zDxjmImwDK4uZpkF1B+qk~2$UOIl{=1U|(<7GQXWy5SK*m>F>xvCMd-I#olBJD6 zrxf-%PGu@piiIHHA(|rpHipo8pr?xX>(WZ6%0JhJ8ymu1z3aRj{(au#!(TMl43OZ( z{>L=||1#I=n)&z14IEvIZ;rhuv)cFe;aV0h9y;FiXA1%^*wAkS(f|!2lTs?gOF9)3 zQxD!1e?M-uCt*wfIChQx-wlX>FUt_z7Kz(CU2dg5Ew>sO$p+)(g{?YyBme6_fzaDA zf?X3>pmuannOBr=7~~VRm%j%5KGcaV9dC@f9Ip?9U&*HAo1o(x zYfx)QAd6C?Hjot}}g2bh?^t(iwgGQiAx6BT3bh5T+>(L3GX z^Et1C(Q3hbbhRark0i6!*p_R4GYqr>$OBU8@X|1ND!(hn;s4FB86jE?q~fhc$tq*Y z!@Ck#lFWO;@*n-iwP=Hn5}JYW`o6#1wlQ-Jv^Q7dnq!;e#r@k8*CFR?8G#>0OO*=< zp?=M!$-kK{+)yBukR22szWd$1OM_M5@K}l#hu^q>m^8f@9rWIUh9SXkhOZqAw9Vym zZwmW2x77s)GKzV7U61YWq6H}((6+P#a-I0U1}!l}vREJ^zwpxXR{YJBh1>($Ztr?& z%=`_KP{NN9b=1 z^#7gmH#Yx&#woj&kUyJuL%%*JAz`hupJmKZO6ytDO11H25mR6F6noQzfoac8C?E&`h(LQAK>{o>eqW1*o=^G*G`m>60%y~_Arjwb!j z7QKn}ZMvZluD~0=pWEewt6j18iv4ZO+TnPWPMMW$1_N&&$}lRY+Z8TkD^k>4Y!>YJ zuV0QTi?VgTrs16!$Be|LV60A;jKq1e*yw*^U|qXV@9kQ%63s%doGw&s+iBcf>%L{) z8ipPc;Jf2zu2JP+P_tEBNALQh@AUiCVK2wwK_`u1(nOIS?|q}j`f@6}@7vSmAs4^0 zM(~%rC}+?2ndrag@Jq4F)16NN*B81^&I?|P-gt?92kuC2ve$(vY-5kf`Z$4uvJ^N^EZ8q?>!0SRyk%%hSR4zv%tWyx%}uOyRY*(EB?N^ z^v>s`y~fL8R-Mo78Xlcgp4Bj7da6P%(XgK_nd=l#Re$DW{|7uI zMv9#7wSpd83X=4Kf-zdKR*>p(TvoeGv_e&acl<9;YjAo200AH?Nen_}0rP#H99~#x@HKF6pcp2E zK6si-Yx7vttKsHis}h`fhEM~A;LCZtHa|B90I5$x(22IWMwTqz>_=p3+EU=!Q)dK| zJ3I#Ppnd$!@@3)l*=J-?zQ!|9b?(kfB6ShuRHB>zOZk{=|JwGSzAQDZCVe z7{jK`K?rYn9SwbNGXih!6EG<~n$QT(Bh#0Wy%!cO;l;2Tvp$q5IkomO8xkx;K4}!# zFrVao^rQQ7uc?H6vLXzQ$c2Kc9K*ZlH(Ie+hi6;pltIVd+=~=3M>{Bb>lc*tvK9ve zFB&=N&wj?-09ias)HOZ!e?|p%ZNyj%ynXg&5FeH|xdPoAw`2yn_!z)evr^!Su>vg) zf6rzgIkZWRnpJ!mFYRilOe!S|D0(Z>TL~&}WlBZ55B9T_Be|;gF5{bSZ|eN^ThJCp z1!sFgkqfWh_!ab&wPR3IU0Lg-?SS_he7=dmXIe;N#y0ic2Phd;>v8(-Wo zK%yX-xPJH0-OqOC+gAAe&Yijw*-{M7zLFRbhAAFCyrzr|vy?E3NdciEApRsdw)MT- zsd|ZCt|9v2K5Q&cU1qo8%<%FlSQUl3&T~&QN9llDQ@aHd#hWjF4YQRKn_7sEcDeFQ z;y%nP$|>bf+l;&hdUR~o|L}jJj%E~PF`7c$gnJ(}i*!fI%w$r?TqKM;eEA~IZyy-7 zb}~4o8EC3;tWG%6cV6FM*7D$+eDqd9hVu0d(9X?JAn3I7V={x~-Vvfr&fN zT_C=*gkunWo{ijp&omgYUDlc9^1bJ@QCal*spVk0{kH3uaBwQ2HzDLhp3Qi^$1aAW z3}ocl#qkEW>koxJ_HU;(mKNLb8o3f?KX%=aS%EH zp5q~!x&PJmUqmxFo&XMm4+-NEvuYbNh2gCARW0}wJaU+uDvs9K0i==>Vb+nB6M(ez zz84SOK7B*u>cVhXa9|M zty|s;YGGZCGlO(n&3vjW)^N;OscKyRi(|YnYYfX;NSWuJA^Hz&MCEsj0hesr zu5&WKI*xGH@n%zv|L*u09?QE5MGe!jnKljQ6T^iBP*47h6q_{=H*EIcm+oL6At%3Pg1_?LN1>-k?or+w;D7azjp{{22$?v=6J95 z-uc0|f!aoV8X68+eQZg!)w>+JXkQ}p@R9mkZVP%qNjQBG=!Jv)5X=KeCL$c#%K~o8 z2(z`37!nUp_7;tz~p~u-hFTGvGX;|CJT*Hk@t;m@aZ#0@re42g4q~ z%=_PIL|~DvU=_AuB80B(KN`YbK|;+MZ+{FYCe=Qh7=7L1Lm#@u(RB4WZoLM8Brf|) z;*PEZmF(}6--yeo!-r4^R!f^}VwQAx_ko#{631k^J6ChqbbGB_f?rBqPzY(oJVQ#S zDg~_ElVlV?HWY|~haju{ml(WpCvewh{)qZ#)=`st4a@)w>#~llUwUs?wez=zIzRm>=!##i>qz8qGO(Q6L`AW&fhvlzF4dK zmTE3Wi9mNnOh13C56C_nEP3^yvjOI>+rbFQgCLNP7icBPP?>k9cyq;)BUkb@5LiPf zahAy?9&Y@6bf&hfodr|8jzE0CUinFa5%P0EZWQ zfq%Xic*~+?;I5(FAbI809*f%<<3zly?$*|~1wiUesSbA@IH{d+pVxckOzI944a>e{ zI-|hr3gw+uQ-5RZPXP~u$MH_KCX)cjJDVcAi9y$54(Gs)MSb{Ea=K8b+a@XQGZuqJimEkpg=jr7dXxsA%$W1*ou*+#?*#n546JbaC(;Rb2-fM=>VDA zh$!buzZ~PlfA*6+iJrN5q-vFNh6sBZ-N@cO@BpO7`jKIt(K(W1j^yy@HJWYhT|rUsI?@IF`(DysiyIFx0TT2a8#I8_`TgQ5lU+m)0?ko) zi?5n;u_SQFN81$A{Z!3rJG66T_@j*CxW2_5IK4{>?2;qvlZL+i(l=WAF!NG&D{ zmDeFK8NS@MV1l-UeNP{0cqZhDx2qtT6^Hsg=Ip)v@SOegnJF!yiKTJNo4y&M!dnF- z+x_(*tH|zFJg9)@E~`fVQ)e6+K@YoTJL^8VrnPk6ERUTTCE?NcX$wtE8GdR2_gNlW z!$8l90M)w#49O;vyjAR?(f?9yR6jzLIK&>{W%ezWU!#dUv}>>ehwH`u%EZCRccIeK z0Y&hiRfQ!PT1q;^PLb0ovr{pO3B1i`0N~Q*(JeFmx~!De?zq9pYpW&bcl4a zkk2Tmr?ZZ|JqaxS92bq3yRKo8K;d&RovQGVfEF1qEW$WZQ=*+ANq+^5i%G)%rA^`` zDOW4bN5nk@tOc}({_k(oJQtktFQD5PD<382hS=hPA_cO4NH{^Z9PW6?>P#0)X3Byn z2A%*}@!!J^gpTHL$smdLaMu#=ProJt*3_V~gP0nFl3H0zNuAuRz! zGuHj@cn&)#9H;CHZY9w1fXacVi)2_zF42>)>MiD|zgs z0El2u*6YV)_&YrxC5bW9L4lMyQemsbWO4!&zK|tCGfbAQmLq8@J+~HcYh}J#W%x6S z-kg6lBB<;{Zht+t3h#QyQ!uam<)g3Yx@ij#?JWQurtx|R?ILy-F+}Y4<{HJmRr)14 z13>y+Uro+F4i8Z4cBAWX+nVU-XaB@<*T1ZI=<9pGIs$A2AEf{&?CA2Q?Cc*V6o(9j zgX!ZY2&k=k6Z@4k3&d!r9|~b|3N8-P>OL*h9$pYOX+^do4g?SsEZl0Q&a)(qb*ALy zmwouNk*ugMHsd`aUst|9x9CgeIu(E+uf7zMSbu0WFttFY{Z4^qJrE!>b|$NddJeI+ z#WfwpubiGRYjvU#K$jG`-PTnu`RbY9?~DOKX|)t=31HcxzIQw<+C;m*x(;_n^a=>B zS{q0c+@aLxT9`j-^!0LJ)%}tSq+oD*s4@@$7K}#2T@a+A3Co!9Oz?>ooVjaN;a%&V z$&nP#4UA6#Cr8yVr1F93#)T^ENCmPy}V0InM(DG$^C!>P*&fw84h~>|8Q(6ogr>ER*RDx&(tUtM;g8gL zI@WoI!9(81>5g8K#D|H zoxqEYoSn-bgkd$Gtp=&d9z9b@uK1|+QUZ27_1WUDz-Jw)- z@GWte52O0!^((FKq~M6$GP6z`jaAl@HL{!`D+Wrg@3At}v76%sf^1Iod&>(U4M2|tYbIyV0NLGf0^->1uU ztk^(rx9K)OOIZE#;-^6ZHU(g0ewWo4!v-I8Se*(g?sA@b4(e0M^KnEJ4CMI82eJig z7b|5if=(``GXx^9&g->#HBgaENf#TV%MKyp9}{R zE}>v^*pveL?=&?vVC*roS74R*zoe8fNwEyR;0rI!78owp53~0agWMP9u_cWca*$}% zDyQ_LEp3cE?!&vaQWSWAqaB29XEJs3Q$%tw>8h*D{jM&%LZjEC<_=pj=$T0UhC0C_;?! zCStRM7iuKXeT5f~L&#d;11Y>5+6h7a0=%OqdA=WUuy`La&pgn`j~D1Od^a;W7|6ay zu}dO^4^h)3W7MS6qM9;OBifC;dCNIpb$hiYDm|F0TVcb$z;j`xpJofNXcKgy{D3cs z0H>5n-1$3?g3zz&b_8t;kkhZ} z0nHgb_d}DhcQ_c%Eg6C3Y^Z4kfMGz$O03&!oOO`Foz5cHT*fYaDFPi6V{Us+Yxv?d zweSP4;bFzSj13gklHOn1Mexyc5Tl$igs9SOLyb(>$E_J@4_1f!IbAH42YiJ-nx7iSyMkTk6`|NNOM1B`QQok%vNO$%TNg4V06nbB(vh0jW@T zzmT{urWZ>B3CpxASM{SgfP9K2Ij68obcN#yC1~l86C7$GCWrVFTiI^HguL#K$EOFZ z(fT9-5mrhGqY5QvJ_A_p0hAfkXGK5+Q~M-Glv8Kc`6>b6^8B;f!C+@V6yS@41HSDj zR2Rv8a`kF3jCb2E*KE{P6c7}$`dxo{7N9I-!Nuq~a)F#(Wko^9e?*`xv@Ae_FZs*X zY7xOwfY@LNnK05x;1UH*yE0ZeT`mRQj((*Ym9JV59mV{xKs@2*sw?_DhOj>0a5kQ~G7 zy^m%hy-U<9!q@0{QfN##ow52jI>QA9C_D(RPkbD5Yqd8Gn;B!76T`r(9`NVS%j@>e zwu_33+_xrNb}A-kQZAgc*ZQ=p9W8p|%Ni;*ZWYsUY-kc8u}jv-m)~BCnvY~XIrS+8 za6$5h`R8aPq!XXb2!d~Yu3+9@w*Zh~Zq8s?LzVGRKK(7c{3pECumY=oEkp0GO5mJ5 ztu6R+bdq55V&4ZRLmLg>1%?%7Bfo>M9?rSQ{k3ah))C1!Ar|;hCwyU5p!Rc_bw_7v z6eVDH>{337{WJjU!P0k9Z~iL<+*@-w)7-Pc^~0pYwLs|&v0l2jFV-jX z(qA5=Vkqk~Y$m5abg#_5&Yyp_z^edmZKs_ILBTYit9CxET@2jsBja;=-#`(U5TgZ+ z&pV@OI!jdP%$W@Efn||cr$_#k-GMb?v|o{1{l)Dki_;$2O$~|Q>d)h8K6!h?O*|mk zKy3qh7|VI@NtKh4&57Aq?K@$(eP5U)BERTpN%x}^#lV(B03B5Xk&p}TvJP0`LsecS zH359jOk;l~x*jiu*Ritd-fP zkNcG2K~BLs!Nvtx9CZa+C6#e1(6W1`v|DtAF<$uS%njLRxJZOvnHZMOBylGph3scv zA0zM>hxopF`w5%@>4^zD_>tmRSx{t9rz!o4(pm^PFy&mKZAiqW?L3@sl%g2~dJ~tg zlY7yqvIP`;k|-RiTZ(^N2XIk6Z=ng(5=+J%T}oX@-|%vrZjU0^Y0`1zuezH8OZxaj zO;y9VeoX;@?JJqY_!ckuqyqJN_q+Qz0olJ_@R?bv!pl%Bc7Ht(pYvhV20V=K`(Pz1) z0U+Uz5o@VLSpCdaOp%MiXV`v_efb7&FJ(ZoNFA<1KPQiY=RiI8&ow9D(4du6 z#P}AFI2VcaRIL6IS88uUh!o(>2tEdOm*{v?kxAzDL*a2Mf>YbVd;G&5oS2^3+NF=H zIUa-8(|G{E_o*+H|Dkzj3@c$KnQ^kla|FM*yizP1nm4|tKdhP61FHf;HCkRxHbu6Q zF&F4n6{or3+pjnh2iDbY>}-4w*lO`Qr)qP#1D&$Ch=8~i4`gkWR19hqz~{@u(VLtk z`DAZJu+}ceeLtuy?f}8M0g##GuP;t^vhf(fO%H1~1|Mc4IF5}sohh24rWet|njs%h z?H`N^J1=^D!xle$Hh+xVzhHLa6I-|?fqYRA`QflK)SuC$S#Pk8DmtZ>SI$c%j&ulT zAkxLc>v15!>bF&lZCr5D{kgk*Up&}T-Ow4~i2LYpe>U$)wx6_9I1PMvkPg*1MX zclA`_q*UO~7tNpZKZ>qNsl%HcG1J@PO`Mv1PBu@me2Es&E)@(NFOIN;2;!^IP&;Fd zFb$mmokmr$7g(9M3V4`%Wtj_5LhA*}1=dOZ>B4$WMLoqeKgesoC+cl0!Xc1*Zf%8u z31YJp0Z+$6C)sv`yZ3!DI3$HBbJ=0ZuZDYLN)QIW#=aZqrzgx^v^Yt9A6a?$LtQMy zhCV+c&p#H7SLU+_wXn%orfY?TXTI%wsx9{qJS~REr36B+?~T82HYm}iAU-N4@xlnP z&Jzcm%Spn=W9dsR;x|=A!aMI4M`emY1VP>I=Usd>F&^h`YHS$ZES7qx68h7o`QAhr zJRYl_Y`HY%E|&~&A@nJAz863}Kl;(XwTT@D!bK5$<}qdr(-g!W0PUvwYyH0Lz;RaCSLN;$F+8+ z2iJ8WQ4f7~dG-RD?9=r4B*FsHdbY$XihRK=j#08<;PF?Bhx+rpO*b$#CAwCH=fF+t z|BssnWCXHTLDa=-Pi)Bh-zH!g}yji*$Je+v5XX$kD&zro zg{MNv-T`%oM4+zEx2AT|0K`#4=-l0M@ZfcVAlhI`u^x)%lmZrEKzD&@MmS0Bvj;^= zGb=0mi}?ddE@b+mXNe8uI1JQ`DI_sIEZlo7Wa=B0YbL>_==~su2EpW^iD5**P9}A| zu8HAbyEYN@c+n^97PbHuj*Q%uB8`GL7w@LvqdVco_#&S@j$i(X9>{TShk_ZLKcl)9 zl)Iw%rFgTwRqYH>?)8nniUcgNPm?uYp?Z~G(Emr_NqAP}o5cB)wFD(adAZYSg~QH> zz^rdmY@g3!a^76VBrilyoOtP^AHpAh$Fz7;wadXmlF)NM5}!@0sid;USM+C{f9E5Z z$15O8wGoJ=y7%p?;1*_|PsU38qaL)<&hqjL_5{;^^r_%ykRby3OYGDywv$TakL{ji zP(P&MLK-pms?mHXO($k7otNJG9jKZlCa`F|!>Q;6mJobc#<>gR@Z=zjSvV4xHo0Al zDhWlla)yI1O)kOa<*~SBh3FXfn5S>>WGfB~Gde;aokHK06R3k<`;B27^k>^|vx zI0$x0xxY1*7uURnK>T2kWK--*kXPn5prC3MoN{Z1gWZ&{3(crZ@*x3u8N5!C>C9mz zAyQCSYQbgpa}}WQh!2LgDBvm+4bWqL`Q)VvcZzFx9|q5x@9DDm?kb2Zl3cFmqqOkN zPK!BJC%~t&w)`cLBh};p=^}jML|^B=lF06x)cwv8*DQr93wH828a9TP`HY>^u(Wr| zY;l432IF@EtrG&?vxWMaIj1)44wjB)QA-Qc4vaVO>#L)|4j<-ipad2V2tNz2(Wn#R z`_4caR89;HClh)*Xfh|D{QQ+=d|Y}!w{WA*9TRC{2-^kZn%Uxk+B&w)Z_8%iI$m-+ zue85+7HMmEd`yMwb#QRt;Te-kjP&HMdLuXz6mYwrf^rEc1>4AL3*X$zS~(^qf#UuS z0?`%fCdUt;B;zTedj8c@b4|YA_-PiB1;9)ae0OU)MNY1M9_`Q<<dWlO_{0&x}6aW1@R zeAejzz?yAv3{aXLKsNocEiJKqhh(Ouy(GZ+0TDytz-)RuK+!AFPUSgAr={;4KJU4@ zUALYOhQ$duN(_cUcB)0y4-X5#a}V@(e#Av*WVBIkrO4vOL0 zbP5i|7|&h#i!wyaI7pd`mwR_Yzl-?r_VB^h>hqrt42bCjUk@$ZZHi`HmNhcW6rE#(zp*Hlv>C&d3fqPPjOh$><@~Z+{-G;cE6T zkl1xd@lB#~JO`AlsCRGUl9Qi_@@+hHmGB55`cK$me};I@Mh2ws{$@gtyl2B7LUb}X zn~+ndCbOOpSdZruY3`8D0fm{eNje2uN93>o^$_K{k*3>EmYi~dm0+umVv!&`pnwQN zgR=xgBrn|6)E6E8cpDxG~xxR_{h*47WJ1JJ@(u2klE(oUb<9QaLkv*;PV%>-f z2iyvy3IaQ_fx5WGgXAI2S~qK7-Y^s}RsgUHk3R+XG)01Z^CyAI8jup>fg-2bxP|AU ze-*IyXz)ITXh8i^m28zZG1O&kfDKr`GE!$-^6e-)@Zz}J@o=L!Vkz*|+ZRIRgeoii21w>-~Y&9ZMKQVPCE80Sr zfqNaCwz_mCNKvwORjGbF!+0XJK}?p2mG|JMD?KJ2c=>pyss-&TRk{W!**F>E4bfQQ z9l7o;G$`F3G{4ZfInS}%82QBQbNsAggH`>gIZFB+k1Zpc?iZ(-HV`^0!IDNyOpLLw z-uiX3%)V}}t>i7O zL^BUzggAaG#oEU|WezcVK)8wbc`qK*}3iPu5#_>0Hc-xfuqX3%OByIX+%~)V$@W(ic`QQ(sg*Y23 z9O_ouy%k1kQh3W9qH~puS8NAhHV;y=ikF{mt}#m7>u1l&7Nqv|GWBxzPE{^XDz7F^ z7RzKMu9mK`L)&{Gma>B!nLQ`pOHJCgJ*DDJs1)MG=Q>~bT>IlT;Vr#-Vs_5Ps`?>p z%YS&UN`nLndF<5^g0lIjgCW2()Y~{22ji>aJcTeqg-z$>w8T2cmz)&CPB$ZoG$TiO zBjv5j2v3_iUN6rFZG0#&da%-+GAL|veCF45nf+=K7;-oA?kz&-BRWLwcVm5w!tY3u z@PB^$-d5wgI_`*rjFryx?fG@ZGks;CND7NFWW(&~cgN_NG3Ycu*Ag_}tyM>8W`-ft znjoN?Ya?E?6)qYhtk^;a7_o3ey_k=6HZtl+4m2GO5+DcN8?yDM-fX~7rjfGZ6 z{sb4aYKU4!{uKaI>JaJMips^UKHi<5rItOYEE#+uAfG-zRF->JDynK=|3ysx+r>~(#~ z^ORygOAM|vFX3MmIa5;gy^4B!zI%@}{$AG5OWuWNT3k__*=8s0eO{Aof*B6UT@m7* z30HcHYX-M}F3MUk_0=PRz913`C*`9NaLdhkbZ*J)u(^;N2EO(rv^w}fEUxn<4E}76 zw_fjCV_sCidQ%2KgOwKoZ~dF*5xx^b5o4xM2%$m}VPpjI?ug4^JfCZ0VBA86mqqZq zw2_Y^bwue9wF(E{!~AUa#C&tna*W5^s&uf}n@3wXwj~;Yg~``%A2Nl%4fRB=f8^Ho z0&2i|aO9@ax!&EU5G8tDjLkmk^_~SNV$2iP^X&)0!`}au$YjwGz;m+6QH%V-u}}#O zT73l8DNrQu)8Gx>Ck$oMddc7*vIs+UBEi)jI>bygybuWSgPhP>eK7XELgZTs@(+|zcZ$Y+V8KH| z>`!1R2pfcs^Zkw$u;y|ZE!7G%*;1xw9h=x#w2Ivhu8fTlQ_UvGVJ5aoJM)OAd-ZE3)F=)%v-Ur{7(sm`p<*!8@FbPl; zxrP_cs-X5~^Qbu>Zl5+2&9s2V9hU7xhr1;d>@$9)=B^GaV_%xUIX|BxDO2;)A+)Lh9Gq%+t!c><=dvM%5^^#q9kx=i$D7$_+b?m6X}kMo^`Mas$TQtG4{VqMwQ^(~T; zs>y0}nJUKH2WqfetCs}Dv&SeNuEOIaWt4mNwr*mTf9xdbu)M)f-PlPl`z+{5-ZY*N zU-Ps@f%|Yb3&#J<_jXzRa4C5wu{C#qu-b3!W<~9hV`}-ggbl&(IU2iRHW%KiTw^D+ zS!$D(C|RoG^=cy+$_bDpsmfb_{QyI66~?R6s=@_lU0{iU?wC@{t4aDggyQnnhbO7^ zox3b=o-IDj32F$?`8jv0cDwf)`<5@|wc-?X_B11bns+rWLgR?92?=j5k7r(_onEusrj?&5N_{e{(bt6T+PNIJ zlj)QnB@0~-6YJED`x`ph*!p|0v!|&?uf9xbdYu|C%1fEJmqhhNB9tn2)I@}0Dg9AV ztjq(F@_=m&`uQp(O}*J7^DXt;IgZ=QYk2DCL$~v{X93s7X@RSrPih1l3Nj>Tc$w)f zFc@Wv!wOx7Y&>7Oi^}xRu!*vJ1}wxxye*S$Jx7GO2-P@!>?rpzQh!;b6*> zg<8>{dz-6y4_#&{T10uzQyQWJOo;vwvwiUP`)Xdf%g>+$JcFu$^do!W)Fj`&D;jQd z__vXn247F##O#2gfY1{ks?m#zNkbMO##VZwq%7yrV3H_eeQ7?P{*aG@uaTD=yP%z! z|H@Mb&^yH`Rlh`vL*|cd+w7k9u@8U68RKE#8J%4c_;cNJn7kNnMp$x}Y-wIA_p&F3 zVW7{U+PDMokS~g1L=SCo3KkOQxqT$vSgc%7(WJ&h4)qnhOr~BOVrkX1J%F5$gc*hT zpUr!6+s{0z=rxQuDqIl=`p3gcPSgazGf`htNM1q84ietI;kl0yIUmPPFwr~K^oq=P z{Jl&43*YKD=C9>_svm2-ySjAPI9aBi=4_qc?Jp^GL8m0mx~`Ss(IO!7Wlj1vA@(Vw z$U84$YwlWfp5Dx|Za(c^O?v0M9|?xMi7pIV6NB~}Oe5FV*l(U;|7dhIlCmP{>2=fl zVP}SdRAx}ZvJt-{?5AdPrep7@yrHYhUXm;nwD**|aPDM)+}G*$VC$$SjxA2V?rBBc zt)pUB@cx=38#5I-Q#iM3rvb0sCt=y5O7+^~fb@ufnsM^?%JH{bD%~e!BeQ$_-XHxq z*Wm3|-Sm!gS_-CPHT^qlx1T(5X)lm3aT-VVOgKx#cUe|5<9G9Y>DOeKmxjt!3H*;MG+i^K(|- zHY4G70ZZ%c_AY_S>G%Id*IPx!wQXzL2@>3bB!u7=+#$HT1$PJ#++7L@K@;3vg1cK` zg@oYlR=B%6{FAlzIs3G)wf}|-8W%;)Ir`}GzE6);6kwSa{e8sk#|)noUZP_efEeJ@ znG63u0DD9E$BJQfKmZ)?pMX1g-|cj_Z-CmVy!dy9nr=M!|LBRfxdAbeQi~t7qhny zQToc(gq|VTpp=$-`GDoT8e3Fp68O#a4g%bybck8j{7RhqzH^$0*8kRU-&&VvU47S} z8ThDAYIK@FuDp20iby3==(_w*tzZP1cV;L_>?LFKR72T679+eV>#pi*UYIg%KMSl6 z+{loSKK%&m>WTdKsg_MB1en}pw1K}nKPfsWqCBNa(pRLt@mKGMicZU4CSBLC*sS_k zI7q)H4@OZ7X_xcmSEpz}o@{?*Zxm$&IILbnF=q=frX|V5c2=n|*T?q5zt_v>XDVKM z3X!qKzeg2>7A9&>j0B2lO8v?wFm?Rj+>rrL5%T{D24qL ziqndkg#m_Od0_94R{yC8``#2+4(8?DW4Q) z>1@yRm=rMn{3f>l4G7aV=Gsx@hmKibC?ArhZ!>mKoQ~*L60%Ut2k!dEiYQ}{W#)c%qlllI9 zM9>5nZ2V6{{$FAKANqgJD+h310X0JYs7UZz#etmlXh|@cl^`l5R=}zlj&BI&GBmPI&J9^Al3DRl?_sjf8eg> z5ohwLQ`5hn=F8a&3a#neL0I%3P4B5l9N8uYWNaGH#)2f=?d3zTQtLG9h|$WSDiV8Pr#v>B0~-jNCFr?VHoVA%Lg(GGbswLSdIX*z{0WZ*dcYq zQZYKkA5u$>TANDN=Ke%t=4mi^qd@J z$rOw`u#cgf#L)>%cFuK)Q*XP}QA>zObW7(Q29e3@l%@|A?n)DS%{Fzw1#xyaOcj`~ z?NS5%OAtbAn0#BO`X?Nu>WM$o-SAqda_9%u(_v%28Mwf|xVI(|o4d($?YpK!*8wXI zOMyGJzD37ZP-s4(zY93`67>ZyLwq6p?!Ot4{9ysz8&-h)mwG^7#Tx+g2Gw~2VV@j} z4D+hUs5`gP@jun*?$BL1xfuN0=8g*h)%t`u2p8BGtvyj8Uk4uz`Vh4w1XMEMCxkKSka46^LNX@4MpW3dXY6-yb&EtPsGO5`u&-A~4sOb+VV*1ch>z?b3hK@}`;>E|-GK znf?0%Mnl`t)>lB>0R8K)-q+T3B)k&PSX1q6EkfM;_B=VuXPG8-qcsyoR8yEfg*U5de_sB&=VETQl3FPR(#SXz zzNxy{R?SvJHw{N$~^pTuRN?0;l>A#p;X zcnrCKU|`q~a7D%e0gY$juAi==WzC(K@A2Y=d!gjr;PB!yNCbqg^Y@Aq1+t&r;;9o6P{j;%$f5mRU*?K}$rtvi!(JQR z#9jM#bQjxJvv*%hOOl>Ku`Td@R5hnTXOfFa;s)*}Oko4=5(bDIGT%w^GY~qq_UAdv)u_Y2k z-AmZ9aabgBRPlYL;@h|yJf%vw_TjYuI;C&19lpK*e!u)1vIq>(8v~5Ge<8i${Q4fQ z<7<9mkzfo&A#~9z(wyaWK zSf#R=MaX6F&Do-JvjbkA14J@F#vKP}yqPA8{#U=s_!;I#k5MH*?9k%pvaP$JEwn`o zFq1HS#%uZdpLYcq%^<#*Y?yh97PkpM%KgM-DL0n3(5CZPfwChWALhG}yuWYtf6VuK z1MQHvYd%3AUEjZcc8(28KFsJQq`kd5Gn}GO6u~R7*kEeh3UnE+x7cikZsvLZ{5Z^r z4SU?qDKb8Jgq?K27&9vO*|3`|*~B$-Zx~!Pe%}>-_GBliYohN5|1+@UN_(}~->JuV z&+C1?^+NQk5tQTYJ{%Egj-}^>ALFMf8_ePzF{aDPTr^lsJkx(P4pHh#)o4S*yenJc zD$m3}u^|ya?*p5rN}1IW@lC3&ihBlfB^N~$58DR9f2PX!?3*CwU5GTlEr-w@*gdVu zXf<(YeLL|{*Er^*k`F4KNk!JY_VmyC!6??QV=`sm5FAT083Sb&U`^F`AaJFFNCYFp}?=gSVyieM4uASqSuZ@rk!fJ^M+a6w~54|CAA zarKP_FcH%0jzd`cS6~|37Hc|`LJ3$5(WcXOR@0(N2_9$UA@xAFvdQtAYKgi$kIUYM zDlwaB7+?&Yo!k2VfzkxX0?(~6SNY2b@8_hqq-*;bn;S-SlVPlo*RFNMvMM(@z+r0< z>3)ZDr3Gem-CM%YB(~VpZ|sf*{RU=O<(^PK8$ku&-v9j5?ah5mndC;$J1(B>;KX)q z+1xQ~j>vn90zO`oOcew=9Rnu}s%BSDPPs=Q@B2};Z?_v=jE`$HanD{@2wSTYWcU1qRXUEVE zKw*&YR#`I;aLIaEvGJ`JNO3n(^oZys{hDwnJfB)KL8F{_z@thOo7Sw3u~9Yij6aJ!wWduN@65Ne5$-C2<_QY#(O zZdSU^;gKu4PF4;fm{O?B1CU?3^Pf8(x!6}~hFI@$l|LbeKpO@E1{QYL%Us$y8%|_Ojpf70T5@CqF4PRQ^ z9d@Tm60uPX;C}5QMunEFOhSJmNh68s#+)NdT7|HI* ze4-^dMDTJKd1v_D#OnJAyqFR zZ-2ox!6@YbA;`6m#wE~Fbl*ET> zUFV8%_C+()0D1Xh({{l|d-MgEI@x2ji3V4>r>8f#8?8Ov%y{5s{NDCsq0nco zw#TFg@M>Wk-FxZ^3;)AiN-;V2!d&*EFKy1~T^nyOvW4FfcW5>3+Qcpj{gH zsa%gxiK-cWpB`M>5JKMmwg%jjXHWOX1SPvOThwAJ?SRxqszkjkjWg<=OqDpjUzhtB zF|N90Gy_~zSlgJJ#j*kYIbmipoFaPG+i2ssqxlWCPec7zER+i`(R0&@08G*|eh)cJ z=rA}4b^l5TBeXmn$Z%XsR^A7@Cw4RB>HU|}!)dD{WI^2qPDkQ=e$t}^XT*pRH^j$J|IM~Yh`CYVWbz79kxJ3FBe=@dRYQ{swMnC@pG7Km8gF=8I-QLn z5K%?nUk^dC7uI-sK!m}tnx|ogj-)jpX=}2Xt<4rDBG{9)8eHE}v;vl{OgxrA? zRCnKOu0P_wdq)inu%iH@Z(|FwDu?d7GdcGzmZC?^y%{{Y5Fx#QB#}azS->uy>-+q4 z#q&I%38y{PXB*n*2_=Wn{b7@iyyoiNK93cZxtkIPyBP^rHoebkyMLY@_;t97RCn2L z7O&W(&Vft~Jr{a-96>4Z%JgWt?3#<%sw+Adw0B|L^_A7i>HXm)dYP$HQXJG8M%5ts z94nat20LqdYgO)6Uh*~4(84Hb5`Lxpe-3crOWRxg&%cjSuFozNRgb2`?FN#hc%&-x zK}|NJHB$BhXl-mjt|PSRmYLW_q?%XPtXc2;WEiyp)2fe0eRdpO+QF*B!G>1R94PR( zoxc-~9$$F~_w9}@B37gQaXb5&2T)1~10{R%WrOTf0{XG7n}bYAxV?blo~{Lrm@}BM zf&)|+XQ|x|siv&|*zhJx?rL67d~lbn$lj!>xr{_00FS z8u3Fod>3EwRw*D+;Zou&C-4PXxurZ`0o}Kft&57Ix1#nidLixG9$knH8lxa}qw}_m zKU?JyfmK+2X5?X8nw0%;m}`ZA#KYD6QyTIuA*M17M*_Jdx(-Ee8h6dXeBA(7sfy)r zhcTPL>x!t4N4Sx7Z9R8^H$d!!u#=2dt-5Y*7?nnxo{!tp@6Ez*DZ4I#hxGo& zX@;;`|5d~LpI%R5_(eLygc78bB4Wp>XR?X;l)Br93CnJf{`# znWsJmFS#gNbs;M;EK;RrD4FG*G^Z2$$mr7GUpZ(<1*+Q8Xxub(&7r&+=ET96eprAz2oGWFGf3xo`_gf9q2@KD$mHM@6K*6 zJvRFi`iO{rC2NETJw?WMS;3<=8VcDCDmHJN!%J@5{Hz(Tc2xj3C>eqan&XsA+TqPevGBWV4u@O7<=a&!K}(Xwak%qzHUjU#$8 zoBemw7>TXZc3*8WmxWX^NacJQ55pN4m2j7v*+3e|m@W{_N<|{Vh6xvey0O#w#c_y> zaxb%55TC-Kgsr^?FG)kE*%ECtAHC9ZJ{FycAL(G0CEX-z%1n?G(+6E~QdZR%0icKxzo<10)gXqzBMI6Ett~W<7vBe*tE>0pThoAXrvi!wJ2zlW*_$<9cAj&X2YKxvXx&lKJQa<71*T$;nY6jn%;1o z$G`IQeqL1FywHET{Zh+9nZJVlDj-q$Q8paY@Pm2B_wG_$ggni*&-kBRG)9xgprgvg zikfXtOPu%u44ySNows~NPq}%RV~v(A564OkBms>pOkQnTJ_ew{l)Pl=^6~^(+cJ$W z{W#TYlJ4~U0f?yjWj)uYkOq@tuxt4F&MH=C;fU;$>@$nDt z%bjzR`08w{^!*k(f!nOi2k*m`_%_JT{N*!HDQ2Xgy9l4Y4!J&+z`+xmR?B7xkyc+mjIZ9~^NaGS!UNrf(T9mvM_%x**k=L`@o6@=H2Is5db)vuq7HXC3eiwtqeI%c0JT z;-q8B6A`nuD)sDG`5-ZZb{IEIt6wg=p?GB^6^=QUukY&dc!aF50F5sYnEw>(!@tJh zS})HuXt_=4ozQG*P<&Ra9dz!Yye%UO3@Dy1TR>l=(y7x-fFryU%oU*e*?VFi5Evc! z{;SqII{A9%aCg_6yZ|c_nG9IsVsFYa=RneSBhBauE(~@!c5>%Z0t8S_u>4DCeJ)Ct z|Esg=>kPUACbUOp&x@4#XS9uw}7Kkjtls(;Q_Y*HO-CT|s7{B-=h z_2kXz(RG<#Ee*ZzgDmHJp?8Sff_YZwLV#RFg@zPn`I#STz@+jdcXn|PLGMYI3fDWhYI%hJ>5e`6~ zu8x-W0fh&^@nz?9eQ-bdXz9~a;<$k~2;dDqa$}jy{PJDY(t-gI-P%d|G13HMKoSh%#kJUJY zn8!v!T>^;Q*B<4|G39~aJi2AJ)DIWXB+P9+-}!hJ!Z9&A@^+0?i|rWJ*t|eI%>v?7 zdT1 z>{~`VVn76DLu&BH$)^AAm)T7-Xl1F+aV@tuI1+63lmZMgwa5&pZmU6*Go=P`_xO%o zi_b@%S}oknTCPBNhFra%yzE!sG6(J=QR01{zE)I=D(;S5e@GR<@$9;2pUBp(z!f%3 z6^p2Ncbpjfx6wDV)gOA(S~TtiUg4b^S;0NkvvWHtYldnWdq`xQ@cwDwOPR@6Kqg&F z>OPp}n(nKA?3;=IKuVUf*n(}g;xhlO*VBdj?J-w2xfaLH(w;7Dv07T$j? z!0jF)uV6=B`~z?Y0ORir@WtF+wE?zTWk5ATquW^dr-#}DE%UQOCmti9kEH=@v6uYn z%Su2?9t_Yi^MK?ohFo%7%nVf%&?zrh16+b+Zm0Y-9v2zGKXnnt0Kw#d7Nx$*WnVp+ z&!f6T22ji80u!L}YJ1KIBK{9?N}p|1i;DTrqFqjX}6W`P_@yGT}9^T9pS#`5Pf z+xs%_1O3rJZ#V0s_f4(^%}gffIHnA*#uY=_hsP5>F`pf^f4-Q#-VXBJ*p003`*m0V z`{pB{rvF4d=ulD+t&73OdRIqljY<=kIC@-$$pPpy7)?rZgKIJrh}hd-iNe!iRoS-M z4pP5pP;hLP+;q#`eadReD!zWt0iAo{^~99>nNK2Z2YQ_4`gxw zg2S$h`@nC5@nwFbOD)${BZAbM<7SWNR!L`0lU1gZM*>NFpK|7VTD>Rl2v{~{I$mjN z(7C~#MVETd9mY@CuQ<*%a#iwAF$!=sOb;09`4Y)W$wqya{ixftS$WCjsM@CGI5~Vg zn&s#G6`sU9ojcxIyXa~qab*IlER}hPED-ZyS_5M+O2w}OG%L{v) z>={{3BrWvJ6_q84@Tpg~9beu&3G(T6aQq}){37LxUT7UCCx<=)$5L+#;h3L;Z521f8 zfc5qU^#%kOGE^ji5&9N`t4$a08sPB4MZHTc1!j+q0LwJV6@MV=+6d^jmU{zgXBmKW z@3#RcSDfo`kKP1irrNd5;W@SR031U}pNCUPyQ*W?r6!k6U@V0(3jyG0_-v+fLg1p6 zru}m45ZMk?5$q%Q03^XKil<;=pIJ(wq&v-rL+BJCPU?Hj_exeXbG{o4dNU&}t>OuLrB#F5@1f zN}(=lcsqKullWaXhSi1(`v<8xO8KQ}eXDYT;MwwEVKVOM8ZaFls>N4JcatI2OI3ee zcbLPWU>DQAc$a}KYDc%tZgK{7aP?HD)$|47hW?dK{^8&_e)ql{>an<$;{G<`+drz< z5F$T?XF$$m%Xr8m{P;9rat};b{}{M3Q70x0?eYxM?J4{#+3G2Rb*QsMj6_t`7t9V~ zm@bBu&#vcEx_I_kW@r_d%|Soa^OeG3JV+5>D1X}|_{xX*2c=7mPU zIr!lj+3N`4owNdUTdLCimp&E0y-o3AmN2ZvVq=wsh7kUnc2c6GH=!)<5yBVtLlj~- z^qOCYJa>NEr`qr3sfP4s3PKhE(H!G3e1Vb`B|tQS(mg*O`+6TsHj0Q*T;u4YHNHbY zhug{yG?PnY)cc5m|Cl1TA4?@)%}*hBKi)ieG55=qm^mBoW@eMySORHi16=C7AXkJL zZA-`(sTfDy%z@$)!plApCwSGr9_yOkqtRWCK>lj=7?QXh$N!vG-QxVC$MB*&dFNrK{ljY_M}3Szjrn)cu9qmy zjJ&F|)GBYyV=MP@>F&H*r2jszWfF_HtjW`jIhFAAEl;hwixwMSny^>M3r1S-bBKu5 zHYRuK-+C~4R# z+V}aLz5Gj&0N|K;H!*43fGM#SU=h$$2Xw?bIPKQHCct`;#6XmH#qyw^X>VWnOYwk- z+~5pA)efw71;ekV03KUPBqVj#8DASfZ*m4;kBa5ZkQ86J!+k=D*Cik=a6Lr+NC&i- zb$hiQJkB;8JczO?$R#6G3(&28eo+R*2aP3+Z?17c2Z$OWJAf{(BFWDc5Yp1Bmwp0_ z>;%QUL6zEoL9)ilC5~22#umJZH{*fFq)%_)eHpJ}P`2niA^&6Kd-b0`Vz+CdOmNrb zLVhq;W(88wWR`BdCk6`L&M(&#dep={4j_4w^lFT6yirhGTeAu(jjQ7o1u2VFXjpT9 zfUDLvj3sK}X>hht?;JMyAzZ1WuS4l;!`vg+(kKV?Nm^6BDfpmAeI>2R9y6=|r>3VN zeHHC}`{i2B)ty9__gkP{j9~@Wcb*EaKi@*Ne9UrJ(EBT{HzGZgh5R zEvf4Sww0j>zy;Lvnn!5zJdHqYp&gXxmO+#O@5A8*{RirL? zxTk>{+&taYjdx!a&JZt=R($@aG3Iw3{pw9HvHQyFg8g1aX5+u8W;$hy0G&sqD1h2QZ=Y199guA)w*8c(DiJ_LJQ zxeaTyy>r_ewobYf1$3Wyd3JR%6jM)2=aQWNea}G~9z51tp+6}Vx|LS@{ZivOfLMHW zG1CJMQ;4Jj?g0ixTVuPF^xPznyi5;&UF)=w$YrDP&cutUu0(0SpW9Q8*Mi~Wyok() z*KfAjt>zTKo^nA4&JVvPi7th*X+qba`!z9dZ;#jB=(UotjJ!$da4B zW;(?mw=`&;*YhLfc7LChtf1V3dNIw{ur~XJh&8!b>xg6=uA%dI_)BIiRK9CPe@1lQhYcg(Qcy2Lej3d2dtH)MEAZ84E7{D;&VX23CkMZ_ zz6+qk>)q@5+-{CHIv9h}-(awZtfbdo`A4W$<^!y}@sv6Pj_*d7)id+(KoVNl(Cs7< zD!lBvVB;FA-TZQaUpdyY4GRTCP>n^CKr-a$Qy0nk(|0Dz?_WU%9p0HC@30Cv^?YTytTj?7Vq@7=H@37JoCgG$SMFMFy%#px8AcI#_Gi{EwZ&OGiX zSz4lhJWAcZ1>&7ffB4`Nd%i6?!Nm{Ae0-WW_jq8i!2RjG)a000fMvhy2gt#4|L)b@ zvp{cDgAWuR5<8~chV$M{R-U^x&zG5Y542m z&oJKKEOpo3>TJfDZtA9fxR8$ZMhFv($)K5D&Ql4mU*Mg;lFf`O#1YMqjciN`0fjn` z1E0HgNerAmo}0vyO*y)*FcQBsDMyTd*>IHol<=07^q+V5d%GdUidRzRQpOXWBp|KN z)2Ps&&Q9KvoOt|Z<|t5kMWFTD=4yXtL}5AC@3p*3ZXJDT@Rl|+FFAQvY4eJP7jMe` zxT;8sa&L;G<+nQHR#PraL&9S(c`=e~0GH}G#4$5lFeWnff-Y_?WgE`?EhXNPl%JV9+;#{ ztB#q>NM~zG{b?2Fu>sz~pN=`2F1c>uhdwZ9B{b1d<_~D${mo z=;n8X#I|}a>os0ADKz6*jx6iv_de1(=`^x4#38bh(W>j@t4eh$xwd&mG1`36>bApi z0LztW?(3o$I`t#tHoZXc5FxV<_Xk3=^Kau#7FxTK;kCI4HD^&r*GQiwn?4W7E$=(# z#h7%}KUP~$2;7>9dqJ_cZ>N~&ZZ^}DFQUF3DZcgAxcEKmXWhncxsv8Mo=`)$g(Z}A zf&@UU_+6i#fzqKL;6BFL1eEJF%Y=X6I9R8aOIq2hva<_e&f%b_O$gu^`p@yU_4yyOd8_p<=$ zo~?4dWy=lf(en{&U3dEd|Ez>`bx|YKfXixnP(QDznSC@a5!)}MWm0hkeA!XtbY~`> zf6(Xb``yvj3~G?&+D&1hSI`*8B|y)lmr29MHpvp%27hBfX62-mRepMIpL=>fTCFZ^ zp!>#_=UC_cm3Bl?D*Yo-kPM5jFWc?&p4GkPf1 zu2zLhS_bX#7o?}_5@RHZzN>g#jRDvMT~dW%bs zerA*U8~ND{6PcSc6%CC9t9f{YC`BKNAw)8 z3O9ALeSU}fymMSx>OQ%3x9Ayr&pS@A(FOAHkzt}N0Y2<h`P!gfY}aagdNAHao_uCJfUkdP7ms`Y!htzW|3#~>K((BH0kWYrG$9a#us z82B#Ewyu+7$u*XVY4?-kg}AjRE|=snCbxh6g@vDJt~sNqrex-A`0o!b@%gyv8cOQU ztjM!QJF&h<>9ooY6TQ8C*p-OhfBV;4YhnTNEpMVGVf{2^0*Jq8+(=>+{qmAQ^n_#M zmnU|EZdMz8(y3k0h^vt2)3&X0?{Z(mXs=8>U8%7;Y!rB9A<2)5M^nsepH%j@*uTtr z4F1Ym#+r8Bwz{39xLtkz5KQlWyr=>DRxd2GhImW-*~#^KZZmfo-cLVe_^RbxWy?0& zmZ{=b6GGcnBe9FO8u%uuG;I`mCGg0JU71vF*la#+1S9<36mu_ooVrsEejjX-SbC7mosfkSyI`yQEvffu`c= z*>tefJX6Xv1~Aw)bO1tE!aIHU4i~vbc!n+A8q=(Z1%OdNfr3Ym=q5F|fGk5Ivg{AQ z8h_!zUn>l+yx>zefo9(Ikr5LyVAgR2mMF{(9JgL)ylijL9}Z2{^i^>348JQIxtV?E zLko}rZwP09{m*kJ!Q}G0i;tn08}nvQxuAsb&-Pw2pFS>gN@cn&V)S3EYPa_LF>&38 zmsj8ubot`Y>#$01@y&Hki9Y>J9QPlGF1bm=gAXtE>iw>YZRVNeuRa8piOMrrQ4MH3 z!gj^FKp2_w2jajWQNp*5-ekuN8`94UQL#c|WJ@hM^5Zjy(ddfw=pbJ2VFqgNFzEg; zjcOUzw!q*!K0nvL{!3hTRtLy%5>D@G5)PS_YZy?PORjXE#}GwS88qk*e1^k6gf$vn zz}(uL`fOV+-)5L4#QMDh`zm<5IhX3T_(bY{_Nua8Uf0}ZTgdgSZdtA|oP8yu4@c(X zofSPo3{&vxGl-66()`$D%+IuvDR6T8}xUprvHTrnk92VXg+nl=PtvJLJT~loAFp082_*8cV*!Sl;*XG7*5;y_+^tt+=av22{21KHW;bz^649pn)>+w8<6$wE_XtO!f**@}UmAumtNpk%_?H^SGU-&lm%s zMq4}CKjw%wd=PjtU;%}(=k7?*^2WQc7m8eZrvm^$dO;1}5L%YsFF!v~7o<7 zZN4nZ6c$luJDx>n5UNdGnk#2tG>O`epSg@)^(?sljHAf0RjP?1f1iycW^UPeeQZr~ zNk<@9iA4p2h4p=jHKOx1lkD zV4o(uYBcApx15q;Y}z3M%>WI>B$}WDTvF3DwPP}|^Q*lFypT$!!K5PXx?*$MJU~kG zStHd&tTrQrgF7_HZlPWtSZ`u%gX}pK&BpWNZ%Q?r<6j<5{R%j;HA-pT|CC_ggb{Fvv9q9SO(XUmW#{-oerS@cnf_DiJY{t@h7|D4+lesOlLn}Q4k_f?`4Vl`?j zU$djjisxGmTQBa$?Fjwr&fg5WF7&n2e;hD|6K$IPE1K2HzTG}#n3f~>td4VA+?R## zBdJMo0E0!iU9ISUPIj%?b)4T3LcMRrEX_8?z{#TUbhbc%ccn4mOudva^UN?k&imJP z-<6oWek+;n_p`|Q`;08QN@#(P*XGMX3zhsT5%?Ph{(qU0iXkXG;o6^^)ZdIhnD^IS zdrq_ck}GJMC%PP>_1IH!t5DcR$38+X$2wWNw%YvJm)fmWds~aw9i}P}t_Lx$C4`Wa zmCr2aod?4aq3`gdJHtuETIT6uOggb){@$&5a-Zd=W!UeBd6qyHbC;CdjjmACGn)h> z@=1-keBeu(ZPx$th=_z09kJKV$R&9NF6< z*@geU9GLF=(<$S>1Mf)(1nJylwyOqo>qswz&r=&F-SWPTFYKRRDSHTtDQVd`d|NUg zmg2uTm6-X2AYa5%uOq54kB1gg%l0d~eE#6s?{>JRzwbNB(ynrX?JRk^1XJ{-4s4G( z=2};C3LNfVG!CBi6xX6N`+_FZDA7=7j9cft7G{%F{U$4!jaIP2hE}gMiAbtUTxvak zl?Gu=RK>8)#2-N}>CA@dpW527TM@(_t<61&wstIE%at(Nfdy8C>M(+6mgcz@Y#A-j zTo(M_O&_fn;>0_SpdVLbL>N|JI7%^lqdi=3Ym#`;(ZaZ^{D8KSinDx*g z@O5ULbwPB*fUhq^f<5HX!@vzwl|Nnh@Bogi*8Fbs?{aMHheV(-D>>%j@I!oufPzSZ znfE>4w0itR?7qDfVAy3}VyDqW)`nD_uR60AFacnSMW6+eO-@#70rWCVBk$b>(p>RW zrZXOxS}$T;c$Q}XW~A^1QQ0m4Nr(erxLTnO-VBI-h=fJiG^wQ)T|sCsE9Z1VO&uH< zSZ(E3f1tQ6It0ftq^fbzD35kpGK~R|Y#9yD{s z&IAsiSnD?0av0z|jO8w2_4oAJT8SAHy@bYugJfwurC6`2e~uZB94y%jnN_n`bj(ss zDd+yhqN(=27S^ibR(aBorr|YKOwSCjagx$UnJiACfC#Mk%;wMJ@(Vw+c-GpndXn#p z{*h3F#duq0HI2YQ&HteZy?u&0zrS+$vUKTC!yB{6LjDSWS3X6RX*YF&Uzyb6@tDNM z-brJ`kl#<>drH-}RBNb*kR_24eIY{a5q5E7{c^}_my;5~=w1--gp|$rc1wFAYpbc% z+11YUCC^zqFPfLH_?IU7C2B0&X|O16;}p>z1Xzl9(Q0AZvg~7F{qQSB=kQFs621i^ zfBDWM9o1`ji5Kb-{EkRPBm?sMw^MwYfP0%A>3Uef5>00Q@G|WTU&FXdsnaSeIU;92 zHXMo?iT584wT*sk+J)eXg(k&$0nEGAkf(;rYwRIizlbk6Khpd{eBBNcOETpX!6nra z_8V#>YcZUZCUP@xt{(RWm+TmkkUs>Wh!u9QuJb!6khf{lkhh^SHd-9Affe<*^KC7x zl*qUjct5b+@!m%UFI@^dZ!Bd>Ft2y!z~&Gbp^3E!xRfnEk5Qf1EN=G1lVPrknL%+z zhw(4zaO1UcmBU5`g1>bG`;nS?CZ_zzn^lV>{-)(v5-d~G;<5>>Q}oHKJKbj2C0BnF z9^*{v|O?(2;6?N0474-gTRg-8i2)ComiGU zIjQ=xP_k6KhEuH3^X*jxQU)nz^w+N`lK-Sq1g{@|WO6plXRo>% zLkMDHtCy|d(&*iP=j;7HEP!hHzc3Sq4E9i^?#(~~g6@muFaceG+p1eESQ`vIbtPL) zpJAh9_AmC((L5|zzZA&hy8h6QClI1rxeW+i>b~dQjedhcKc!7csuJ^kDtAXTSZqlr za$=xAOV%>DIXq+`BPnjGdETzay_tK&!6}&aY&6d$t%PjYiYFyvgx)DU=BGO*FK|CI zh#35F|70T1d-dK=A*aB*u#XATAuXD5_};$n7&4=f)A=rII#?bhtk#zD*Bc(%8+Zw4 zNO#wga0CcC6m<%DgYcMk{X2(I1_z~d&gNl$)@m~QL_wWoEtOj*x5uhP?;dDniV%A} zT{iMAEgj3&4{-eLZM-nl!pJNIA-)S4^-d66e|q4!sEKDi+aL8qJpL30Z{<3G@1Lky zfO0>7-Eua5znD_)Jxs`BU@KTtZKW#Do*B)~F|o@K5k+7imso^yHD~iSq>={tG3-g- z{bc-?#P@2M(ND4{l7bMvyHna*52Y2e-g&%THUHa41Eqb2i_Hw#*Zxr zJRSGVb4|~TaI_9mm%a4 zQ7?NMpsgL5V~^;=B|-sjHrW{xIV_mBiwZJWdEaX9m(Boo$>ch+(#;nx9I*DYRD3K; z0#I)qZUV!$0igfxKfkvKu6e zC|-c{K*6avvITrRT74eCN&(7!^r zA80iWy;@kaaV#6l@rY#6CQI4LW)_1qOGmiwC(=M8`65Q&JtFPYAu+z^Gj%_Y{qC=_u&czY?#HCp}+)ww?q%lZ?;Y>Ja~T9qgC2qaPQhAG7W?eHg7Wmz>xoZmA- z>*C}IVEQunL!2t-0Nxcgi)kwG<7M46BdNh<&7iX}d*->{;f=w}0ROQq=JBK0IllDr zxjZih{G~ZHCe|6lCsl%91RVp4cW^W8NP(mKWqD_-VS2wg5y~PrkGJB$I=Kr2B}Px_ z*v{k6>VNK`j_aUVZb`gE4O?5By@Wxf)@^*@K93TNfW@Bqld&b2jhi=q5Tx`T`d>UD zhILqnCHa#MS79?aVky6Rd3RyYb!@@iM-CMWi3~baFT_4KjhSk$?ihhr5C97)PCTm< zE6_L{jk!t$1uYb*7R5LpLzgT&y{7JPv~x%5L562>tFrO-JScbG)fR}sOmAGLk+?pKC&ho z*+LTAz~`ryc!}Clxk9#Hucr5}eeA=xGN=Y;Ke-Xyj@PhR5It%%-}~-FY{}MVsDK_H zydb=iuIw{!BwdOqsoClGJsXYn>aJKP;-vkySaJ#s zY?g5p=b!rJK_)keC7b@3msF)zC!i^j+H1E`dW}rY?&~Hu0^#s6g9_I3is1d9Wj4#s zmKNaS7#`CIC-3)MdnIZT+R>xk)|W}{%R2NOX#9|699yw~|Bt=*4vK19-ar*ZP(T<# zl1LN*NlMNj*+38k$p}c6EFjqdgi&&mj7ZKPFyx>j8HPMaM#(udWZoK4&pG#;d+vX) z-mCgmQ50d%-fQ>j)vH(c*I&aug-3IF^B%irqNXBwyf#o;!vj`>j0A4g5~3$xg223Mtq|cn-%SZ2dpFbP`TR%-agTo& z1Ro(WnU8DF>egM5NU6cnubTp$Nm)s-My9kV(0sOP=8~lOjH!%63imr1IHI_haIf(J zUav}{Y0^V|8B7iNZQ6u<~ zpZFTLjP-+T7&lLkn5GK1+1T?(4JwZZiZ6x6yD1i5eSNDJ@N&fYAmQ4$h;!DW5_AF3`E=I8J#_#yOp!U>og^5rLT7^e3iQU|3Zx}FFI7>W zD*(yq>ttq_gglyu8Gzs##tz3^S3zFr{?fD!7n-UawCWtHn#1u1U5vlB2~J*1_%=jl z@M#rVbN)O+^k9il)<-vQK8M$O?AfXkx^eYPti_ViY(RR2U69*{Qs+fU^~IXAS1jB! z9VODNi-OuZKtj19tE1va7{^XtoI2lKh-U2!Z7k7aHa+1?*= zMxF}i%5nJ`Sx~&8w}^UM#86}>D|nS$*f~x3!17srHqU7NQd1n3$Zp|KATQy%#<)vQ zrNV@Nl|%Ioj*fv_7IReWGu^T>{{?yltSI zE(IAZJbKyAmp`mgJ+#WdDp+Gub5g-VASJ>nIV?9-<6Lk%v2ERMv+4%?nKm5u@apHx z1j9q?>6s%=&km37E#U{Rw8T$bnT=A2e7lwE<|Pv3Q~MemF*1>PrE%C zQw_)Zm5VNZyk^i;$}ly^4y7RWpl9c%*;_M$zHFwxU)BcWK(^+{*nEybGM77qs>Y!x zvKmQD4xBWtf?!?PE}o(b>_N+vv|$P2KF54w2kR4;2+Vg!NAkjIt%4~Bl1f4av%DU$ ztTr1OJ&`$}(zSJCcHY-SVSZqjxtGRlU)*C)2wOX7d8*@xm5y&t7U7{PbTc(?$SlBo zh`m2>m9PoP!4}z;dM@Gn4j)Nds+i=-r`|`e!wypOxf}*t1gi_j2v39blgI? z&vUhT2L&2Q)2*;|kJnd!>dmOrW~i@gUbvOaj6{gtRH9Dr7BQn0YciXSnR4U_0GLUrr$kc({0jlNHnj=6EZ{X@w_egfI z!pS|PfH^!qJUz9i@6iVZ%~UOa2O-89>l*gDkAe1L2?I1i=j|orDTsR}lv0@)9d6OV z6B3rs(G{gM-u`jA^hXFs zEQ=pkZ~6=k&v|_#N2s>b|H$eR7QYnDMUX*6UnTF@tQrezCsNVzOa!BNB79XbL?Rdw zBiBWm@&aG5Eyt0BJ6TyT4He{v_OuAJE`CsmobugKT?Qj^u4!fP5@h`<^ulfKFoTbZ^!-CqF{{S9dE)>UEOQz zv`L~<@kXiR&(Hg$vwgjp&~#p=gAiu(ku#1STG|MEuP99KyXDkt7Tig2kyrFdKxt*e z?V)>$lxC?&pDHgg>$=?|P3O;K&I^>EoHhLo8kzDM^BpRAJH7@WM{y4J(;yzo?lzYndA@yg2rmvBLtd?O{S#l#C@pJ zQuKl9Jxx#ViBLn_#k^^r38&mjq?6ZdKlH+7zlA9@=FTG@9t$AG<5kRxQD94F7Gpd; zh;d+eP=68IvkxCx_dUT3%u#$02@=&6>?heKq_0>Xpy2Cw%3e)+=TprsRm_?0>XC&eZ~B<&Ei2yY`ktg^qYYXDP;^3?|MUu-`RL}59k0Ofj{%h z?`ChMPs8X^_F)`URDy&M`Ab_G!92Dia~|#sn&jO2DpERibOQ)%jiHx(%i(3+{U>+1Ki`eJ7)Pw1W=qfzZlAk!oz8?&!5Fb z`sv2?077Z9Ymvxj_{U4R!!=^AmHCP5gM;Lcx*P<}f)B}q%RLE#_KhQjx6Ra6k8^7< zPR3kqu_`9*1<`>gWcJZMJ2GRGYY8q_FFE65Qnar}{@ALA?h^VU!hTRS0<$of$ zc7*4=IGcbpKG@#jYHdBy(H_?Im~Mh^Ovr|wczng4vS~b^IgT+&gyfAXb){#k=DZQb z8~8o|=zrU`T{D&5d&P{k#sp>4kelNN14LhpSveY=KIkr2V3tra;d#?ZSG^&q#P9I=!xj;T@9QfGIFQi&|D5$ssi?*}IuN`qE6l;tt6g&u+U zQ7Q;+4h<}w7v4^NUCnopo*eyp+cmlu#7YKMxdxa5;vMMl3y-IE5z~(+^Y2X4ZPdGW zEML;uuUYW%>s{teE}x=YO(qC%-I~)cm`zRKByV;fWg(7K5t_Ve53mMzZ;ebVBG&TVQ&lxfH#VudV=F&w@ z-%peCk7WpSIoq&|Er}@A@{a6gMn9GHzw!+MQ~=Axc&pL_iu)x4l(lcftUr zDs_2K!b6a|v(3YY0r9woFBq(Gy_cj?CHg5Nq3yTZ3{!hoF?jfMU3;JN#;WL1PnBjT z+ziZqOKdH2(>?P=tD#xZ=ZqV$amlZ*ES%cr71=*1=+~j62+=L?Kjt)=eh-g}DApo3 zIVVefa$V^qa%^qo8whx)y!s zblRY&=aKnGd`vXmKhLQ7T#QBPaJ{je;DEX~C+B0UO7>>;-J|z1%9F5MZ0$;US#pqK z8?Vy(IxU4wSK|HYT`;c`*4f&GVri=vW~yBd4HU30NRpUKkBC_cN>Tkrf&AzIa!Qy$man?LWQOewTW!VEdT0OH4VRj6xWc$38y#X*6a3o6WYpzM(iLJs|CBLMY7BhX_C1NMXl{R4v zoG*GW#ib7A%^(11!x|DBd-Iy$^IP^KX5SJ60`LaQZ--RzA~I4cByQLMjOgAP;zoW| z&{mTETz_PmeO0b*yvszYM%>iSz(6eZ8$TT#6$R5r$n9xe)Sk(-0{PA!#hz7uw#h8Nv zyyIsHtlHrRH9iJU3?8F*HfX(^xGa?d_nUgblN%kJJrG@Px_XDGF~LixN!z=xtD|PX6zgN$)poqQYm5Re%@$4(^>beG**qC;{$HIg*yNrBH@nRRMo zi1s&w2Ob2kYw~5kWfdD)%#Ymmdf0{Petm3KWpEUbI*Z4%C*qdp;Pho<4cQIxWL=x;FnLsS?yo z`BY)?;2xDR&u(v$uW~_A_a;mGQ+L^7M>ACxjoKyBU6IS?Qju`60+5dJJPUxmd}+WD zfE9}aWLPR_H<7OfC+q=j+ZQyOFfaxoYcsMz+!PX>>nqERq`T=*jx|Mc5wkZGiuaRS zUL6K@PZl2JP8qQCzRt;KVk6LXDpi)W%4+6Y+s#(_j7sXv zvRaNU)4PikSBFgk=L+9$!%HEs!i^}Q0l!$qr!>iTx1Yvv-ddwURG#Nqi+gj0%^)D+ z`4sfFV~+wPuFNFO#-)MD>Zmms8hS}@r+_2R{B2R(8)GS$-ls9rK$?2`AR2F!NH3A; z#QYPSuY!?Y)JmEt(=R#!TZ${F;o2wf$T1+IOt~9Z)()0L_lNsApKjFMIY37{oOg>V zclO2JT17$haw8uHPDs5@hCYPsTndT-r>}cWCM2>Ca2NTnHx+*v(JEnVL!fTuSmwE- zHZkRwx(Sdjiw=lv9lKA3X**1p<%5MbLmQPpJbzQ+?^rH4|E+{FP`eD#z=DAz#UV~Z z=aLhR65eR0PjlPb&<{p8FZ9Z89mv&Cq2M+p+~FV1ywU|4Vd}4B%yw@|b6E}+Ngwac zQoBCR%N;AXRr^!`dhgszHQxlyJ|aNwZLkRhOSN`Z3D`fX)wnoxV>b(;L4Z3e_*-6P zpg$imTP%+@!m8QC7_=fN0!?t=vF$mjg8mn*$X!+tSg0|UbXgvE+YHR$+_Fa3*DFZ$hwp3 zE?IMflki(qut=YSRPph$9cL^F8VH04b7_}nXiUJL{1MR)=LBi(l0z51ap^9DYG z3N;}-u=*wQQhTGqhcPYgjOG>K8xN}nL=-v2KfEKz&B5Vtf-8#9s!`$YABnauqcF?I z@Z|7y$OlnBGP3StPioe1TQMxJOoU^M>>22n3xqJa_`I$8UfHd)=H;O1$TpcEB?0iQ zC4f#UPO*fujuyv&sCA=HMKQ*I|A`jvs1(=oNQDY$)NQot^6eGr(47E)8wH=XFP{g; zqmYy!!Pc>cRVdu5dcE;#hhL-M2>=A4$&?(B@wtAZNW07dbf05T#MYz~w>iBJ;H{5h zdD<3?roaLH3I26-HPZ}y(fhD$++#R?fa*kT!g#LheeI`fZOfpvGZOIYj|sDnov6>Q zx$5yuI1F2s#bk_BI~P}j4#>3`9Du@aYiY1|gk;r%O{cPC#CbNsc$nggGr*p?6+k0# zr0Cb`Pk6W&_|LhtOLI|33~zgAI40g7meVWK;(lxvZq5+M(UGQ|#gOYR>jA&#>p`{u z{@7x4R3Lo&PGh&s=*3ygXmt!oWb2Is zf~j5oGNqg2NXse!LWRF{`Dg(u(}?>~)KGb&r=KHvNp${VzCo zAZn!TX$Oy}NaTmd+^g>d$B++Chh<1QWp7b+asux{5$#>DdTZK&vx!UD;#oixSDC9* zg>=Z}B7`jPi-^lg32(M@&3ph<^KUm1LY@6V_IF&rY4!dD3YL*DWI#bYch1{>6)tlX zwnk;57kxYB4h*mf3q77b*sEtCe7^#4Dv}{(o3s0%h6ZmapXC@;chbU~5pQ610KkUR zpo#G2C`T2`!SQdHmFqT(l{NdA?H=~}%PPt|n5Ck^_F+(~EYQztayqekAF zHjB}#6}*ZuRnnE!<*jf;MN*bax>(=mZSi3ao^YzksG^MCOsvMtx``y`>~7g-jr1#t zsBgzquAA>IOfcOGcQ=!BOQaAM$i1=Ii16B3lR%r&QfZ>Gf=+-bt9KR_4uvqLJ3$NspFJ0y}mUs|V!pv+~$!lY|J>&Rp zBqNbhg|8p3=t#O1YmhbkjkNlWk(9J!LHOiF-2~(desJtB%3p)k9jxg71JQG{L9H)q1DlRdh=Ws*q6LS38e~@0e32M(YmU zwxzx2O2G9C&JUl7ClTTT>oXB&EmGLuCxK3j_n83o;l{3=`P@1G901jZ=c9C8mw6tq z(F5J6;gx6L2CV@GjATIk%BvoYD_Jb}s#WU3goGXzlz+cy*2lEimKr2esC-`_*uEBp zu3<10EPSB=SY1iviLO{Zk`eBd)$+@D$yXER!7Ks*cuSPFgbRox49Nb=sb<$%3dxt4 zP`%mpvC7Mp%c6#IYgZF#KT(wL9=tYI&VNcHawl`l=L5jVtj(s5$tOfTMffd3Qa{1W zyfG>s<#{XK+Q`ZuqTGji!Ks0ZhK}q-@Sdki$G>!G;v}S0+REKMatZILHP443o_nDH zL`vCrfa0gyl;d=GZ9CODP&uDBF|J64 z>f~v$MFM;RRrmmtG>SY0^Q0Z8B=5jUEH6O#>xUqR%%h=iEqh_LyoYlHuCph`c9&u0 z={niMBU$+o+%nJSFw1D)BBM@< zCpYrbR@KNCVGcQ#8XhX0eHq&65t@_Y>k!ly#KzpIJ@AnyTe@u2l(_tO=;4H>H%kj* zVOkB7Ru^98>?(W5N;xi?iYB{K7TR*x5vX3s3?=mKx>nnrE6K; za}|7n)lB-O{xM?Lh5(3$PT-K}ES1I>rE_wf@eKJkLoFA^Oo75MMZc3|m8~&2yC=(Z${LDQ-%5W)M$bg0AOQ^jcpT{@AOl(|5Pznu;OPmP@+%4+H1BlQo(7~ zbKQPyuk+DM%WFbK8=MP*@_T6ou|+qvk1k+9?xg0z z9wtd{8f>T$piE)wb@@@QWB612mj+U2-Xb}65m`-({@yO^0%ZqjFS8Gt zW~?XP^}p50NoAEm_6~ap$#IpKzk8HNaSuPSZc~lRy_1E*q=eNPpk9KruZ?W#sTA^O zh{Rw|@6Se6VF>IOdVEttnGo|>4Rt2;v<@nyI^$2Y^STfTWrS1TEyjc(wgn3k$c{Ze zi^NI~EV}Z$?kUhS3^)#!yVvyw&A+IKN6sn5O`|W5Ms~zI zAT^N5M-(@C!q2mB#qVd|@##*H9d4QnAPGmJbThWLp6`M3(RSxqF?8c5jSwA7h-Sf5 zdYskeyrYTu&w-AG7?5u(gM%cSI4`g~DEhkk?eEr6$_fDoX@9mQ-A*bi*|FHgZFJ1u zyEbG<=#X#n=zEgGb%foNnAK^fV>D;;)#^ZN3K5@k9A}gvc!TvtXGzVk*#n+?bU|^L9C}`nNM&`@n3eXW-+n}r$CY$DyHEL8+&>y+zbdq$-oKw zmC1yGy3ubvtQrT4t0i6XK%HXZZXRUr;xehvh3xQVSZ1VStIXoqS(gMI@QIQ?uy6ecz99X8OgH zQ7+JpOIOD%{7ViG!j>CNW2QqL4G;8bl2YD?R%O(dWY1ISrxD~Ux*LSDh?6Zi)`)C7 z)a4}NC+v5a&&F8fG*34@E+y%p(PPbOT*8!W|1voy!EKq3_@NX+W%J{&#HcN-uwOf^ zh?u57wF~;Z=@DfIh!(1ShRR=Dq-lvSlrR4HJUGEDCDW z&<(~bEjmKboTsZ$#GD)%KIPmLA4VD|y);fBw8x&L9@S&4Gw7c=KZ)j;(75>+vA>pr z)eBdE@g%tK4EB^-YT4U@##}`JDP$3Tw16k|Y_w9f1gF%=j>HgURRv&a*LisQ53S`e zSsvhgp_@QW?~Z~9{`l^kjO1KJbwj@+8TGTc?RTW>oMSb4Z{xqq5hY2_1$i=cO?Gm0 z!gnqT&n?@b#$!OGX=2ce^y#a`RDEO#!qX8=BX`bQ-(v=42s*@)6|-XfBZ!>r4F8Bt zr2So1x*usXnxXoghN~9MF?n8Ms8`>+{d%0p=r1KOyGShO5VU8ET#Z-gvi8K6n5*Ag zopITa*js*<+naQl$~ z;CWglYwd^uaarlrBo3doGM(E$e4?Y0Iglo!xUrb1b=j^&I&<<62}&km(5oK!nP{B{bvy$>CAMOk~3H3&Tc*8n7S5V~Gr~vR5!`#OaQz)iZhi9JVwg%sz4$o!>td#(QO1 z=W|+1PXZZ4U*$HDj5xJ!-FR_niNzx%JWBM7)yY?{XpaKZ!j%rK(JX_SZCq`}J?n28 zlO|OulO|dxLIoxP?TC5ePFGw9w)I^ql5ES_{hvw9!5q=Vin}Y6Wk_9QOv=LbwpsVM z!9}X*!Uwtuv5~x$?!5*Zh-E11Ml7nq3Pyg85QhcCy;v0yyqZuPccp?9x;G?j<}(dW zr3)y+esY-2%3=bFBw@#DVER6Lg_LGVbL+f-?RTjdK92GxE1;2eha3LrDp(nhKH}oz zm+3>@%tPWn6~&!m9yKU;$2O;&?+_U5xeBPXUl}gY6Wg42ZY{uDVE3)Me46SygkgkS;l?( zESgfByer{b+t?fO4^`w}^$)#h=5?BeMq>!vru|Z0TuTkQE#L2;R}P?22wS?Hn3z8l zZ&uB5P%NTJ-+2Ft(>XiVHDn%7nj|iu1d!kB{kFbGYw^`bFiY>K{BY!4HZ7d^6XsqXzdT=JH+|1}vxBc=&*lVZP1hvA7g`mMz2ahc z334$C3$zff9`azjlNCmKMPbK@a za}xCHey8?4{9w(sjw3ZEV%8-|UmCmV2>?P5vFI)?WMb zm<N5PsPMYvV@497uuBX~sPXXq-^@{$)W8ICDI`4fn@% zC~sX0IczOQ>$_8ceL{L>k9d^ofz)E&Tm?7NM$df?0VgA>vsxdmiR-n*3c{hQeu}mx zd=oLwxhf15?`wnz(_b+Qkzp;AF5w+!^-{gFeon9=lBTB}yLI0l>kRjk&}UmXfsQ>T zmzJ;bFdDOtvOf;c)u+l&Ns6aV&*RM?e^r?vpy*J8d^5M-b93N$S|vO{lPoYzd7gMt zX){tH;78@wk0=uOcF7*vt&`o7W{H_qyXA-?#~MUZ(kdtdM>bkxlMEfC zlUF*Ni(YsV*q1KHqt27+a$(@0{BUTV|6o_?=@LDB(~WE7;*wsWT`Um>;lB_7Bioq2 zM}E|y<~lwSKR;NUq24J6r^*y{)t5-30nwf26sJ{y7)Nt0#hIXHz6L+0Nd~^Ha+Wf~ zCMB4OWDTa_RmVvPtjiJZREebTn$Ig63oAwlwyoqH|BM@VSndaJ7arK)Ntv$6dW#D> zuWAhl^ir_t)oPD<99ZhG0lax61&?|3CO|iDC5_d%#(iR&WxAT9D_IV?J#*pOiTbL1 zs<;%$e@p{*G_K%yPNO%60OMoQrjBXQXT~3x60ml3SAQZ)9bE4 zO?hb4G=u=@qSGT0@NWIWKmJS}ds&%v9!nNA%=r*^Yz;1T(5f6fSRvBh)g11tBq|P2 zkYQ%N+f(YH@fhN=82{e<-3wfv#p47Swvcg>D(|bWYxx!hCyzwh%?I|f9dy$#nd^J5 zYE~J&i(gx#do0T`dptC6jv#_QsrMnjI=xa>BzP7jP!_*++Zd*pNEW7DG%2# zN|{n5)w&3mwQ3j z*8-W{wH>Qz-jjM)a8XDDinIJd1Wh&L{yDFDGDs-(*f`KtdNjB7v z2ui2M+Vw}nxj$fEKX5wYG<6qV;If*`?w{i3^0!1v0=g^a%lzW7(j>M=2R|sw8c?5n zOimiYuJq^13vp=v39TvlUK%lAS)u$K}tw5LEvdEt2UA7 zixA!~%lXU}sAVx4Ms7S}`T>N+_CdQtpn+4OQ1>QciQa`hkLb2>d$iQMw>uEIXb@oV z>Grk$8iSNkxgmhN1We^OO558Ye!2&G7fa|WRfA&<#;iL!nX~o2N?{#O3e8WLUok^b ztg}dcZ5{NVH@3Jvl|$lyj3q~=^1fdnQ$LuqU~QV03o#59K?-YAA6pQ96cE@vG;_xb zG+m771qZ0;0qiZoBfte=eC8geuAuW#MYX-t@fW_<9#MivF57N_@@juT^k-oG| zWCvm0x^8O3PK@kFmbIq(z%Y9B3v zs$wp>WZTI`I}rC4isM_vFx3jZu~?1t_*F!PG-w`B4-x`dWO)_K2fbI!hUjMd!0}w* zV5zu672$;t0DMf|YRBSvks&cLW;2)j-mx8#`#Tn`@WetO2-j}S8-f@zi##A~bbV?5 zJ1A_J2oE}bB0&@X@x!)%>lfXXM^fK5Uin(EjFbv>-efFG&=@V_3*TvtNvu`%^(a+4 zR$rjHd@a92Zn*Jz-i@e|3sX7xJi64Gtug^afX7kG%(7-IC#Qd9RcE-<~VLdI-EtuQ8rLbwKndUt&|3o`oiMjrlA? zoxEs@m7@d~t?u{gLojDRVSsWf8mj=_@v}ZDz5}~M==4OAt5+v#N^Q}A?l3zQu2`x< za0GaDlAHJ$@h{K03ub&KhOM2Ct=;{O8zbUcN*>)KMx!|{j;Sg*A0l{7Gebof0|LUy zeB;!`pH7ZJrWAcU2K z4q?qL7g3e?TIgCZ1pxl%l8qYsRx_Gp(1p*KP-?huA5+thW@HLa%4b-ytOKNeA6P!^ z7hl7b0wkD?OEIg@a&BSKZPh05h{s<->;W`c?*o&kdH%9A65cd`j`u?>x86I~6#*{7 z8O^Q)%))%9$dPt9@$74IbLN+!0`azcwZ z!O7D8_W|S8P85YVSAzR?DV8wabymp&R7tb+B3;YE-T7%<{lPS7sA(7jdG(GJm;MN_oAv z&HI?FxpwS8opvf9Ti&rNk5PJv0vKmm5NkH1&K9%ZFDA7r!T=Powi~6uq&q*QC7y`;1$~r?$({9akwiD(1ex5Ky&BuIIA3mpqrTb)G86z& zsAfO9ZNH5^!0|r2wejp~mc=0zXVX{iD$+A&@$u#l3J5xRn9{O}xNB51_i3>v-fm1? zW_gtPgoJ6}k&>DwR}G={dz5emzXF;IhFIw=o4UuqV87k-?O+9MHc#U(1uJ)h*nPbr zr<*R?FK#x$a9Bk02yF>+v<+6My(2PX)R;|8a7=)nH(^sARTSdoP%r%GjI)VDj04Ox z)_2SAbP%Qy3?B2oTNbA37b%+efZs6<_N+3s^&bp0gel@bOH-R(M7W|7CrR4A#JG;I zXq+NJPn~gS2nOQe<@Y^Lga~#-iS|I(pk<27h@)s(nmV-OyShp^;CBYYSXBC&Z)R3I zH(TTm-jhcc#K?eT#SvhYOtlB6{P`_{#6kSI1FyTv$@<`tX5DrhM_ox&%$=kp9Dr_R zS|uKM{fivu%fqAtGoz_bK~NWkL9_i+pM1Ace9$b)@Du>^Lpc1}SO71R>8;B3XtuYv zciNjkv`gd0xr-6NHNe<*wEggFj>QeIDAbtg#Ks0j9Kw*Ow3hU1e%gzt@Z+CihJM8= zB7%|Kdh$}k^-*WK14CorRnmjk0vJ$X5*otLChId9zg?k?aPWY`Ei0Qp86dwnaS%pD zKp^M_T~D&;_0|yYQRR9C@%rQ{T|#B25{@|y=7$v+FYc_ z?X;pD!)+FZ4yj;CgRAd2XOt`aIt0^@q6Le=nem5q0Q@xgyg4$L8Qrn2#^Y%F@sGJO zGA3kV0v_zeR-p!m(`Yhqx+`daCXJ&3YCD=0ILr)L5MwnpdKb1i{I4gn$|PIdCPIE5kr<-N=bUh>mNZZtdO z>Ec$(!~zGX>yNc=R93BAyX!LXbVD34yQ#mU_LJpf_dQm>dzDck|_#QkS!0sAgF7S{kN#*Zw- zk8dITP*L}NIY95+L9}!Vkcuo1@8P?5Ej04f6N-sch~HgM5Ej)xWc2$ zCvb-sq^r-I6@#J^4poT!nKI@Dhf~wH6zt;Zh^9>>1k(>;(yOf=v1?=7S)MaRN6EgP z##_K#e{l-5_)%eso{Gy%Yr379c6O6?w4Ggr*0D>Yo=j7Yyy$_8C~&ZNvu7pH!+sh# zyT0?-za@t=MS#}BN%x7HU_ePD~h;dxm5i_{8>M?Rb1Ptoiv_W1@s z2;=~)%*M9xw{(bIz`b4_%bq#&Oa1^{d#~a;xwEA_pi)|EhBYzfh0N9tleiIDfX6{k z&ixEpFv?PacnMQ)FPHs)AKlLpF^6bNrRt{9DW^RvBEEYsOnQ;a=t!-HbGnVs-(Mo> z3=Vg$vXloXnqIu8H6C>%&T-AP;nio1Uy5fF4Mxr1KBi=a{cGNTD06cGP^*nap?Zg( z44h{$US9zkudb*0+vc4v)m;FBIwyAVms*H_1MBu7|G3i%#b0me0Hjf&fVl9>{6pPn z!HU$Y#@9agYcM}VXR`}-68^(+!xh3`H&_F@`7PtK;4eA;P=_3z>FTX`O!0%~M%$rDGre`CpIt@zUZn#$b@Q!)<@t2pe^<5%IH* z$yj0h<;vz0w0KTjzg+qK@YlewhvKLXohs|;5W#0~F4GV~q&{E#HKHUX^wvgf&Bgb7 zYx}XFrfOd5(Ig)kZa!`C^>+5O)js=MD&n8f{$;>h-(RBpIh1$|5I1{@AYzNpnab)^ zYt1Yut3-bI{f;y?FVJ&aJ*K$w*Vk+wz_>3{5@OJDcZX+%@4Vz8x2Hd=c3G3QnCWL3 z*Q;E=rV@l>{J^eOKj}Wjemd8uQaS_0p#8nT3gG(V+=EpoO3lm9e*PN_kLd;4Dvh}| zUio8fp!V8teWqb7t6xlGTVMH0eoSn*G>h3*R8gl&HeL7|Bxs8C*q6fMg84!=Ei?a z#-9Y#d=*^dJc-cw@0TzUqvg{u+%ErHfByE&5I(eyH6|4Q_e+$R(EHq*vY5F4(7Hcn zLY&4L?H&XQnf%@g|1{Lo>;9Wg{>jq66dwb6+kDjt@dsVuUnK)(?mgPKVHz{Gy8M@! z`_o{~K&yf85X!d_{}YGvYgznWFTf5;0K<^1RNXOh{V#L)m&ZBN1LI*mBJk(n;eSZ* z71|oSe-T&lm;LY0g8^i`GT@rAa(lIZ7{||dxcCYvg~U3qefWRe|4+aEpW^)0nEjvP z0Db;{RdJwhFdc~VFKZoan>dt$&*dDKzCxl(lP#rEaQ*0(<3VYZ^c&*W zC0B?4yU`M-p~j^Yexc;JG7^*Xm`s%>8E`Lz#mC3zkT$mb&8YmbqG@U|urE=f8FCuR zx^eQPufUjetILU5)L11{p8a;({(b}KA#0)axac4_9Omm9Jc7a^B8ZtECQIe(k}>`$ zfc)!P{&fTB?!~3SVp&cuuE}9jA7nBJ$h+g@5q?dnqd0b_4*-!M@8Q4^|L4J=jY!hO1wg2k2MHZk>4U;j zQ?H{>WmbCBv;X!I{5T-%Cwb|bAhF+D0}HwZaUb3sdb;ON&;25o|J#_*yA$QvYZum_0-;wLpY!zpCMcSdi>8DU-VkR2BNoE< zr14>4bby<&xy@pBdvN2m*=0wrU6`)v_C0un<4&4zqhs2lYei47Hh`;_Mm-~_=6>#`C>qHN&vQGlSQ3^)YaE5=A?Q7Cz z>#XQ%CrXsKPht`p)mwQ3|K7ih>!tW1*3R-UBRE6atxbH|<)dmMAp(`O`5es5EqHRo zY?=`f@+2330=WN4x1Oqqt8grj*Nx+e1N*@gmp8Sde*s^L-&$JsuIaT4i>ltl$diPF z+kYIe|5J~|^+~&Eyth5^MdvcH7vV{RQ<^l%NuO+L{wBpgJ{e*Ud?^9G)IU=Gf1f5C z^g-erUe3Q+u36wq*;&c`<@EZ;Q-1tJi1rt7$khJovHoRj;s`9@OO1p8TG78w;h%n` z@d5q<;jP?%Gi>qbU|9t%+ds+q=ikK9VLRF<>Vf~D@xKNx06gVTdr8edJ^eq21tkP8 zF7dJOuZOX}e!z|$$ZyuSry41N^Iy~{`G5$ zFoZA^Q^s3b{G8Okeho3w&?dY4n&0^!*GbX%z4U=m-lAZ|priTMuP)KE7a+@Ak8uCT zbu<_P;BBT}c0Yj-p8eM^=*|T>nCZLsn*Zavvyf(58d^H+fb;(UDjXoX5=C(dsRO)z zum2%OnD`~|HUdw$)&G}#lH4&a(+!zqlKi{8!GG;=nXCq3h6P%u}`zJ(l2@nv>|`5P$)!Z0+b^v?z#dnTzJ`-3rh^Yt-;18 zZ0dkp7l*X}L956#&I!^<(FnG4_daL=HP~WBb7mI5tUQn~6Nys>4^#K1L zts0&Xh9xcpB(ekR&5sOzNuW@D(SNdG0dg3TuW%@_>^pcK z6VlE--ROU;cP(_Hr2DrGNnpGMiclHB)Lk<80y2ID;(iEvHUHoL|Ko=)2XHT#^Gpn5 zgkcy?_qKZ))|=BueT30GF*s)wn+VDyARju0wC73$rCc>de8f)8)}u_-xRjy6k=2}7&0b@jT; z2ADHs1rwa@k1PI=h7vtgS>j8Cib9Ork|8y24wQbP1~ryr8`)R#$Fr}ufGY6>LL8_F zz~#08uoexg4vqLk3x!2)Xw~&Z%#*!NPhWS5x6kUn`d+n)epWI4wuM;bL1;XncWa?O zUi0%9GXPlR@n@Y+Yr762(6x^iPHuVf)R$JfZV zu6j1nwX#T??ddL|`m+xWVOS*UNz+&84z>_Nt9YB?kuL4Go2~=oxzh%Kp)rgftvFrf zRN?#j#QVoehtdHSMu)bxz5sgvkDyCieX)oZ8Uw-@;l^P>X}y?NrpsB6$8{b3wqb4T zRjkf{0J;q!I@N2d&;ig4_>1cRI-urK_KBlv!V8zTWF6Eni-0P1CkkJO%_d6w_E4qI z)RUU)0LI{Czpkkke3^+sYE7b5k_CGgB!x#(;c?4xf**gPe%QW8w>gjk=SAx_Rqb`XT$#-Or@8A(sY7Axv~@{RJL8pJIY& zuUBuhvPg&X1xO0ZKI1xQ(>v~YBwl9bSI>y*gb(Oe>8lb3P=mIpzWUN)B!FJ<>3mw0 zRrFMLPX0YK*`Tlf=;57-o_Ko%ISG0`7!O;dlE{Hh`$QT^I7bjAkt+w1{<3~^#Am%| zVIIoP=?W0bF@-C%pEc<>oPhcJ@J?jU8Q3j`;&#sa>Q0Hye8bO*6GtxPmEe3iR|*#O z)09BoH`pe}H*UHFi|oju4W;k;WjYF*>-@(RGmtc`MwsR+i%6Ua&gCKQ%X9%>Kml?p z;d)G`+l@g`uB9A}69IrBmit-~Qg0;mZW5Zx!jdG~0Qx+hefh1H)!p*^oi|1oAQ3fn zfa~DCHAYNTuRNbl{TBKWbF#sNKvBBx@<0q0QY&S5vei_68sB}NGo94WHRXK-FL7!d zovS9iQ!)vhaKpjczV)Dqkf+Ryd$q^YVtHAxPjdwYEqey5t9)tKt$qs!?aQ!F}D z7SV9=&n6hx+dC~}hHx^UE-3eDs_rivoJ*XJeHNgCODN)GM}(%{4xKzuWlk>O4?0uvjlB%yocnEJr>m9w4O=L9-RQL-0)1cOj3p;W;=E}qD#fVV=;Tw9SyR(hQX+T`gCZklHgR( z))UkKc>%fBI3Yplqs1xalSz`+x4Z?3clMNJk2EoK>LjLK;ztV~`qUoTkG?Mbt3{4A zEC{t`P-?n5D7!_pF6i&Jt_q`x)iuPt-bvoRzj(}HB3sZP3 z*1Q6)TYurNetmjYf0K8f;!!IvxeiQZhFaKq3ZO!O7Le1k;*LFrblcMHUn$5`Y&xx7 zgAt3Hjj<(Wcm_Jxb%>Z2yM)EJA_S0y>HROROmvISr{>HPdzWeR$jSPGzv_8ur0!&A zwQ1Y!uj4z<*f@dgr?2o@*^!XF8v{3nr(~K>s}dv_ZObC>RY`&7X%=Pq=>G}>2e8gC;sCsriE|k}BS)fXk7h*HTOu)|1I>n3Zv z^K&KIYw2mmquipXoe{f>L&xvDw z+(lx{s2rS<3bz4CS;YkyWy_m=c8fY1nK+A|jJ?ZcEG1CwZZrb;27L*-DZ#V~j1eJB zF4~#e#(m3AiQAwDGhDJs7lDH!Cf=Uz4v3GWX-3AtllbX{b4<|sNmvjh@Gc`8g1*yk zsc&i(SPAL5-C}7NatEuItcd2R(h`rB3Gpp8TlG~t*#c(iyfQ>HWh1Xue70gTwEGt4 zL2kO)rFg|OF7pvr$AJSNkF!JQ2P4GB6HiX&WxEr<*h5EDnD5S=ye)=TVm3eqy7!W6 zA9%;J^c=)jT)C*#$kVQjxJ?AF=OwR}J4j=yBv%RpI)xXg(c{4FK1JX2`?$XQY+OK2 z-siwyB=v+a`LZbdHu1+{|5Q>Gvsvnq>7h;!=|IEsw`!Tooy9!+^6AX09yV<5U2NQQAW;^} z$I1MH`f+#s>Ra=TRbkiW?DjgRTj=SCTJdcQToU;Q}cLPxa2{zws|V_@%R7oTH!lU!eA& zP73*?*H48$@*}yGSWqa=>ty?Ec+D~VcYm);+Znf%x;%y^1G z;Azv`bR@<;Za=o|41{F0R&N9e9H6dv&j(%2g!6_aMk6v#SI{J#c#_E$u+ZN7etaNv z!8*L>Dgm61ht0GfYcd3S2jh5cV^S-Zo_SEdFdpd&g@k6j*-o_zjb(w{E zm?6|0QX*CPj5Vu-lc`^?isS;k=H{S5ku-md*t*L}gjhK&uJdkdlyE!tFP<=AX zLMIY#)eHKmm*TJb%X8Q3L*9&qp+3BZz^w91wJK<7#=^uyx)AvA;K`t=`>Iw?NcUpUN`;CD8A@n#$Gr^ak&GVZyDPu#jd2;{AuXKtbW_ z)5l2}U<2ELI+0I0Fx=YUv+;L}ht`&9yy_KR_0m0)9B^+SUVB&+RaDd^vHTGQ-E{L| z>ndCWgZTedDDG?;p)#+Gg&NfBU2*rm0b_2rLZ5ve5G%ZYn3SUaE6#faz)N>>Rrf&O z65w(7Mh@yk85u4vBbPmzb6tG~cPblDI$|&zCqxU`4Kt(4ZE~*Z`;^kx8H4dn5ms)Y z;)@?+qQma|Xi2`7VXDA#XRw`H4Xb?1ogIlP@W%irpl=k{N>T`1hFHjTB8RcW$~JIZf&jBpb}b2=rmj`<|iC??-swX-49wg z`4Zv5S~tf5kLFfO-3$|`a?>HiY+`QMhjgLl#bKXQRgic`tVc5`1#JUF1gQp>5-K1E zE9CZVo*f{Gcha_m-#La_h0?eC`JrB_bp@lnJ%ox-F7i^c*_K}MajwCQ#su5AZ`xPP ztbv1h0W|8BjW8A)=uOW%5ljnDY-T3XKPlZ?i4oS1-L5m%9LniM+fr@pPyYylWaa+q z>E3*#yc#KUWP!Om@3yyZiQ}wDXgkV~V^SdgQ?Z6$Xy%qiTGsM?;Nu=J4nOWcoX^Nm z3&xM9o6)yy3&1Zo3)pxnOAHKx9z-Ioyn|K%xxuKa#N?kg1bWuQq=zliWSWCr^u%QS zfBU&qFdI@988&8VL!ABf6KMJ?B(3CpX3BBDk<~*P`<^EcJ=KZ8WL@i4!>bXaKam;8lpy^UbajOQ@zZ1#rLQ$L*cVX+uggx+L(&jc-?3~MMb2M zqY38|#ND|yl@>W|&!o_9TESPA+ayx#Z@sGxJhU-lu(Na9#yTg3eVd3(u zJFNbO&~^l#o~lTk*Tj!clyUN9l=*&g(ZM&s)!FIIrRj_t z)3bs`e8`QL>b|yg#}^VcE4Mr7gL#?#?;2~d>m}WLwaWby;Fj;~pZ)Fs4@QvdzCb<4 z^t81wEMN@@wYnvaQc{N-OB%>2la~u(Z#TAWr_5I2sXE9igiu4dQR=88rPJ zsNLs+AYJs><-rAfkdLvoIOF~}{Y>{Zun`oCWepoK)NgnkHaH`7Z|aSGiBXr=k-rdH zdR|mBO||}LYNytYdle++MdQjuXc*5TQrw{BEnM;{TR{7(*m+eMi^6VIIXm}BKa#q; z`ba}LeUd>;8YW%4a;+*t8Wua72-P{0r9R}XIL=eV)O~0e` zvOK>^kAn7xNQj6)$B>}+9<$$%K*$64T$zFX3IP(_ul|>gotNTFVvd8P!w!EdD{}as zI3agmEZzqajK%5y_d&kHwrt$8X|CVS$ipEMjMI0J9oFK6QnF1V0qV zXC$)5)!%&+U*TiA>q~=vJa~kX^zn^3Rb_rqw5i&?T|73xQ~jvvLtZri@E6ukzvll} z-}|L=^?X%m;OkS5>X6=k)@m)Hnifuf&usQoa5IfEI^k?ve{1yXI@h;Kp#zRAhX4-r zh5~W%K{WCtCnH3W2K6yhiN79nMY3EWj1CZkr`uhWjC!b9TJBQg(?=V>8&qDTA7Wlr zOHCYFr^oymX5SikMK~fT1HJ?!Cqhk7|E2x)WNM*ndn=w}!XVO7+4YYzjB@Xb9sRbH;+^FKIg<$JPQPhCyi0uJk-o-KgxNs{X@klmJwwDE zKV0;h#a6dS3$@KL_dwoQWqao>S8EbGZ)WOIsv z7#-^l)=Agr<%c(En67H?}XM%2{=6w3SgV zt2*ve-j=$mzRc8@pyz@zpCDFLX%er|08X@Q&b} z8FF8DufUAU^l`#HJ{1h6{f@o*Mt5tGo4^`X@?%60(eiqkw=c?#wbM^4SJivJs{yf=Uhh7pzG zJR51!T$fC%hOUg$NSdlw@4Vicl;w+Ep!z;eP!6syko{(1fb%m#;1o?cckipC$3fs8Oqa`pP{ zi;RaDZ);W$Ucd%qyZfu!e>^qTf+(RUX9>*f;q3m|Qi@g&=-(x<- zy4Bl-_h{WNtVRPaPbzaa@v?B(ct{n~8grkR2C90WyDtnl%8 z5U9`^6O@^L=V#mg0p0K^9~=6srV}@Q`5vlX7eMlr4H{csq737mmH;xpTmr(2A%Ft_ zw~qe)*_XK}? z6Ny|{%zL7ENpM~n#QL#ypYqK5D%_-(w`+#8-1qBQo?msMpz^v^T^^&NBOxts*n*x2 zj)(g(Yt4DSB&zC=O3o=J_Befc=YBx)0D_4dW~3R>G0!x6vZsL5!4HL036Og6|aN#czi@sO{YFdt)?x|0Rw` zb#NwQoi7FRm^kV7+_%euVrX9xSZ%zY$vj&27t+EFi4wm2^ z!L&#=f2`?o{aVHYEd%R#ENjJ_-;3x7&TDrb{w}&4Yth2&>3kJ7O4O;TYh3#K;nt(l zZ0ZFS;cmXC6s7~yRm*vgz2@s@hF;)^cqD#)WXGiTi`(alz_kaueb2Tn3*Sc0D9e>q zg|u+j$lEG4-KIF#3O~NSpDG*=fSPx{b0Qg}kL}cpqctG}5DJ&hy|gFuq_9-a3pCn- zcf2dlncXuqk1X7k4@uI2em>)z#l*>YFs~x-&RU25G+1IL0~3TDnVmicvq|4|1Dmw} z8-7Un=>xooNt$WB^0lc_gF>L9;n0tb---?Vy{2=FCH9-S;<9f8AqHAJ>D3G6kxRQ~ z%AYhdo}>0>%GBaejyy_| zg6BJ2Q<9bQKLt9YMD;ha(|oRbX+8InUI~WQnjca*{+SxLtv;>mhieS_C@)kT&ZUrX z@9cjXRmD8fk0B5h?<03M53HvA%Y!`dw2xy8O5TXok2RxSaN-wIE!Ucf z)9ncNkUdZkrGzs{ie8IUIX}P_)Dz!0vtOM-m4wfd!aA0NE-xcJGlOUz6`!1xHS~G< z)!CADFLkB|c{er2sLLej9|IJns@PHh`EJwH?0Wk~k!4$6`QxwM;~eiCzgmy7=$93O z_nZ;IwxjajEdnw06=x5x0LXPU#U zuKuVmetw~C5LiDA%sbYv_Im|Ta&S2PwrVQFkvo}U4juSn!*R)nqQ7K9nEiaj6TU|8 zqGT)gHK|%VB+qqQF@x5{oeHrWt8t6hh6LzW=}vSqFfR)TdO0zS4>(j8fCRv6{Tz<$10XB4IPSYGhp1s&svw@ zg0uQ*;8HB(p*`RudK7rjM;TvWLp>mKu*SM9QkS6)E)!@FO@S%YLCwa}*KcZAiKS1& zZrIr1Me6AfCJY%w6So%Tr)JN+-c=4M(6aYMJc=$7QB6{1*cI69XkQ-~MJ>bUq zWMDCu)kQ%I2A>x7E)l_di3Y5{>vJt&D9@az50R@*ZAWzGtF~RVRe`vNioqsnziG7j zXiC66awKlXtiO@a=bAth;Gy^JQ&T!cx}`Fo+W0)p!VLEzqy^#P`5!cW)$mXbULqi4 znpemWolUmoVD*K`##UCPNB(5>vd-Y7g^rl(TCzSf>P98*L{nIZn z@s2S#nWi;5OLH0K$>h7F#Pv(prt~>CJ@iV2Z(g5K2vfWiSSmznW{=s5CnvwShW1qg zg*Ai(@NA|QLT=%hfkh`Qi`gqKH{dn&uP*tgtnq<_6 zTIB3f?D|R%!0vZ$(;}Bz%5XY^`A&Cj+7%aAe%7x<`kt6LfHH5STRx+b(w@KY?9L!1 z!nYDS{1{xvgp2Ki0dE4Rud#jo*kXCl0)J#(GZw-Z*CE@?PUCDnOf68E#`kOgBL*)q zEbyvWS0RwL9U->J5F9Ol3bv4+UxgSVPL}~(r?O@lKt;P`4a*KunNW1R+As%2Sj@|+z(wx2{0jc_K zKx7~_D~3i^sJ9)Z0Epvkyn3om?kx@NjXOVF>_1x-f48t_ovJfw3J?_#6$YG~OtzXZ zzrP*qr7{jkANmtD;~t5hkhFgx0%)Y@X9#Xj+zG2Wb9}@s;d)s|fJ&FtDqo}?mI_g?zU2kV`>p~1F;sy8V(JU5gs7dr= zo>-Bb7hy_G))WnxZ88fV(6#+#3R1etv4PPYAI)m!*|Pk3r$uce>SyqYPcr@G&yfEtL`A+|*X&@m)fSq@Hk&!WHcF z<4VoJ2RPRPsJndUm|ZvDG_Hx;~vo87MIS}k$!5X1U&Q*0uu9QCM4lXqPkvv4@t zQrP3yW@RB5SRBdMR!@3gb4s;AC2c6%A+0xpClv~@V_^{g_YGe_FO4j3T8X%KkI$!~ zEnVk+2sOc-y^Cq7Hb?9;9Q6{ev|opp^)j#MvsvIkfA?121OQa^*lSeE#arAiNzTST z)zLWuGuNaljcq~Y>shMAO8{|$Km4&+$#|939~}q8t!&P8TXhPrPKYR_pfaf3Mp^?Y zZ%x(~KQtpX3~|MKN2L0De{U^+*Ndzv%qR{GZ)%R}0E4MMkEk~jQq&Uw2a#9R26M3b zu=rm{v%jeQd#gzqmYAdIpa@zSc%ONq(G{i3_3jtWVk7F_E=h7}^SWs^XrpN#_3OFx z^E4b!5AfeF&65}>F;%N7m-UE_Seq0FcDsncEdq7^q|WyX3D-knvx+TKm55b)hH~iF z`7tgiC1!pI!#GGI8Frl;^N0M<&_rDp+cFL7v_*=h# z#XI=SO2kXo$(F1ohr>7e$Y4%eqkLq+7$1Mxjy!6!H4{Z|al30&jLYOg;g{m2wv&ie z>m6_U-=ilr9kuT)sp6tDC=Gln!s;*jtER@5&>Sa`y4QCo15YH`K2_OBIi{LtS+%c5 z>#d}B%dqec$*PNVzxtZrZzpRm;Z~?_QI9)G?C(G$1;agAIC8@ojw23-XuWW^&JF{t zF4Kp3{r};FV@&_Y@^yH{JDXp-{p7TFW1ruVsQjcm6d==_-%0J)Ml7?P)cx^uB=Vf< zvPOueQq3(ow+%@^Wzf|L55&Y5TIPseAUD3O{`Uhr_!-aacO1M9HvAQK?6nrN!Di08 zrV0()4b{L?ZY^+2cpOyi`muIWI_#+#-M;f2kyzYA`AG8SYXZ%ks%lB*flJH=x!M}& z5tJz+qlFlUjV{jFtcRXo4Am(dpw0>yLvgci$J8SP*I|c9#%j%X<;Ai=JO2%=aeUl8 zBm5VyXhnrXQGu=NosoUvdHH-Gw8`)AaNs*CavW9zryhus!Xi8;aNKscbkJ3zioJ-O zDYxmg+SD{rgOgB^=&i?W-`TZ0*w6I-_bE1AHb%%`C_LWiWlSYoRUXujC^Zk_dvb4C zz;9j>H@M<0u1|Y@Z0mch>(I>PdLaL}Ispdv`p$l{qpicxO@uXTrHtjyOV8EPqJp_C&8hN74L!?NsS|BwJtTyBb@1&&j73oLoMplV5PlVg ze9+g*uQcbkF86Jz%6cvjGlJJC1zyR-xu1RgOeN9_;ElPXrI`!Yq2u0}p_Of%C9+H5BVphZMc0;qkHteHZJkSlcdYa zd(Q9Xuy=|{U$frx!5d&kLX5bbzwgYdsBKeaM_&K5kw6WJCi?Ai680k}j@Nz)y!`pQ zNogS=3XX)PKI8oGec?>+ZWjeJ_MvdHSF0F9^LP1H`Yy-RB%Ig351&@5_&f-bF7IwG z!pn;klwKd~?^YPameTq<*dXcV#0PJa9#~eWQz2S*%fB2tDDRZNi}O?JpQNomXe_bJ zX59Y_1W%c+7?ardc?10Mw?Vck6B`&np@a>4&N$M4; zpVWt;BL1J+zs$cFGQ06OguBlD^?+NypW`oDwr$w$DT&vk6?S*n!mkZ*+cG|))ps*m zf@bwi=25&1+tZW9E~8nEx%X+|Oj&HT1PF)L2iA>IlCdL#vF!y<`92k|W}5b|;q2pM zR)gR9vB=N&#*(cz%IOyDOOd2-*B5gVgxd4uz|93Glai^POT}z==$iRhF>Epj`G+fL z*Ih5eMJc}*2!t#-W|cUa;QhX}UG@*Vw!}_*Gi&BcS2yeZw5Mv^k61Rd+KIe-iSBZ} z|En}hT(&!FluG-0sdrQ1otZW7avM%V=J38^M=>93oo#Vxl$dX?-JJ(gP9`5cb-7}= zlabGoiVSf5QM;4yhWb!F44^b6Y@d()pBKR66#ngECKvkvMVlhoA<92*x^(s{_>Vh- z(ogG!8aEq?YWC();}V5lSW9ef9+~vY13$bURt9nK)tFJ4k4Twvn<8jC03YH_$-5_+ zXQ*$QSN?hPtYW&UWv@pG1(yAmdcHn5Owm&}?A}36;MV8_CN4NZ2VM698KmbTse@LI@R%PnUnCo{QIu$ z{I0SP|G4-ePvWYx-ESekZ{>-vUqaHiMQw5#&Qt&*De<0KleDkDpC~b%wav zwQ?kU#HvsDjPKug@lpt78l||Ulw1F~d4EQZ>zO&?O~fzpI2%Ta{t#v##COme*l5(F zc~@@Uw3GGHMfgs&cpUzCv!cS-W__Q=z>0!^XN|b8Y4eTx_q05G?>C~}cMzjLJz@LZ zfE9VO!Y)sklBwkwAHU1~HaxZr&X%2m$Lt_%JJe&jw^O!9BG+eJuOG&}&==?4w*LvC zDuln~Yd_gk?I#~0^uz}h#>dSK=H&wnlM9(+p2qNL$Ei%eAv zqnQ-;3+3FKL|Z_{U!q|VyqvK9?yD+8YRcDwAFmd|d1b1&#T9a2R#pz*Q%`$-ESbv?UB*l1l$m2D!_o@xM&eS*C(ld^5j6tu7_R-`=pj16B@l3KD@}u^>o?{a0yt zB5;2sz>Mq~C80DA@*Nd2;%Ta{V*Gp|TU!D}0tR|Vn9=sn%P{hJRtnAaLTv7om_MOf z?}ZzaQHd)A7hdt&m=BqUYr9QKF$1rU3U?HCne=Gp?>(LCXnjQ%B8gRuH)zs&x`{t_c=+{E|##faV3=A`{QOadXE6uGy=y!$t9 z@x(wgO$^S#X$%cWQ6Q|gvu-XN+FG;5SmqUAV-o75h8dy9yYn9Hp}q( zwJh?N4Q9y)vJeq+2~vo*MICUP!F!p#Hsq5ZMW|jA=IL0jB+tXCX5vTL{ zS0!Z)`uFq74E;q?PHTL2)O;&8q3aRDeHWljpL|F69*Z_hV(mcI?ocx$S&2z}DFvhQ z3Q3|yz%W)h_-PfH$*DF)cK#sc8QuHs?-l*GnxW0nNoKV@6wU7@Tum1W)6#r+rcxCz zl{ja6n>2oJ7BbD#?#{!e6l2k4L93H5@e+pF5!SlfGR4EUCB%$b{alK%i?{)5iKnv% zTZ9l4t-9=~leSp{%cFZnXNXp6?WBUVa7-deGfq!s(A8(6kWZB!7K2#uJp~7yn=R|? zgQ^PDul2vRv7}&{&wQvmW`L=KCf!>+0 zKdDupF6+O$lyCiY4$#Tz=!relFg2kM*^9(Qc#^1;ZG9J246dpfx)`l!pRb^0Q}&j+ zi0HDFFv0s}t(+;uT(b3c4(VXogk_p<>Up?Wu>)eYK;j9xRlEsDn+#i328D!5l?TXq8u_B;2L=-2k*Ai(iB587W2GnU1zqVvkNkg;Q zW<+imz_RRo2Jdcec6|42yzydi;ZcUYZhk7ms=m7RlrRWj_>UBL3bqm;X6mZBxb%*<9@KtbU4j00hkNF}(gU^%}wBAQ$lkGk&OT=!V2vi@K2aDaw zo8wB`g>ZnuOtLuxC|uT1R_mM9jM#_6g4=jEp_VVbOKD?_T=wUzC5i^5{V2q#YR^PS zk}MX}KTp>pF^-AX0j&KxYxiYi8?96JK1>2jaiwDKKl89lB+^X~8oD)@VrQd`iBGgAn;R_z};rke+9F&JK4_Ti>bj)(w$VO{2#Hj z>||J@>WoV~(NIp2`q3qAP_5Lf=g0yde0kp1Jz=gr76L5gBV6V=-niPjsJm z)H-BM!9H-~ZH###GLfUm$XW~+T}SY}{h0Ie2F25BtZZFWp(7E#V$^W225B|lL9}?i zWdfBn0$rqSeY^cm$LLIkEpIpMF*TqX`V5yVrAG9a!i-9~w=l)96Nwp8M3vMFscQZV zRcb7XZ=7b`6kE(;?IQ#8^D65F%u%TaGuwSH4%d#wc^sVjIK3b60S;s4p_`7c)CES- z3e1pEX7_I9?ApXhi$S}gy@hIe>cKh~%)VsykTJnPjpl7@Km;$zpn^Z4I(j1ZzbCjP z)AXkb;`Z-3t(MDA05#JW*e5tL&$VT&RfgeA9oJSTLVE`ZN3!0E;FJGXbE#M-b6$j{ z%!{yODCe`6=(GtgA z%1{dRPvd$1PZpNeGobBN^mj zJgWXnk1J6Uzqt?7R_atb6TLtzTUe(g#)P$wS^2_ZJjc*%wHJ#ToxqUW&c<}j=CiGt z&&JLH2l+rgC|}p5&1Oel|0Dy~39TW=diD8zvehyVY5G^J{yw*%Upw9sf6|6%DFtfw zp~pbje}MUPO!xE{@U8#w(EJ%Ho4Dc))C!-J-seGu`b1-Jr7v{so@LUp!m@7qK2Cf5 z?^za?E8V}4kQuT-JTBFRbjoS#omX-XnQyy#NU7-`-7EZYY=4aSVgC_-qWn?t!&4&( z+JaZ8Q_j4?x~r`~*z&X}>r*G372bWQ>WRQV?s;#Ek@Cy77#bh)02Z}eP8BI;&SWr| zHYPN}o9Ft_1y;7_DKC4gTWVW1u`(QA^+`{*z*@J8Xp)b08qa+0wg4G+wO&oYS5pQ- zry|*^?{rp807h{uU<3TI#y!D%Yh5{gaow3a;{APbzVL0@<_gpheke!ah;JlbR;&`* z`+2!l1N@J=pHVqKdsoB^S=vckWRQ^4lk+IjE0)+6MYGRKk7(-VU1(qu;(b`Q3M4rCRJib3mRap7qkC)&EARA$B8|@bf~N_zMxGLuD3S_Smh&~&YL&tC zFa2+eOR?dQZkcbyQ4^wVwnIL@0ATssVjH*OrRzS?UiKUewyNl-XQ7?8vpCg{7!}?) z6bZBY#3Q9ZS?shk-x1S(#FM)=#rFD`_o-B7aa-ZrS6HtybSVVN=4_X7SXES~3+gK% zX*kHK{gnRq-S6Il9dQuu{#UtqeE#GNTd*bU48*(`XI!v5%HoPK(A!VwlVL$!cnty>pPJ&SeB%)3VDX9g3D5Fi4S?)JbI z=inGUxp?{KY)4EaAL*wr(Npd`H<}HgD+kj8cH~Wy{Hw4kwo$DHf_UkdfspQ7<`7=R zxwLsFEt@o_1p86i(&gqj8(wvc+_euYQS^27Y>`q_Z2?icMni}lS2-n!=ymWFvBUgm z(-EEBZ8C!c1z|8b3K`-y3ap4lS9Ltow9Lu6mQh)Dx}nuYo&lSRT-5r;m8VY6TIZ^* z|E#N1oz}5Savc9#)jni2oql#{LA?o-Pf7|I&VVn+%9^!iqPiOPhU;GudA`S+;VXwqGO%)BEzPfvAPZ6_yF4je?++qZgz$ov+3DSM$8`d{_@x=imTI5>h1 zq&wgoyE0>ig=x4a0uP_CnW}4tR9%$4{`L7^@&Uly3Iss3<^cK{hz5A5Kym0rib?{i zySfT36%lu3%VM?YA$`aG;~QHx*Tr9ZA0}xbBh9^$;S6GTGW*Q0kw~v}YOW6?tQU8R z>T>@wtN&$kw>#-opVlGYh!&VWSl&5`tg%bX0CQf;y$FNII4vC>6p%aBzt80E+$sI$ z&A;=a_NvCK&}fx0(RG%{<3h|pkZSHl<8lqF_!ZaeIBMR%jJyAlaa-vT>uQ{YzaCvW zXCc@ctf!PsjZawryZYJjm#5l4{vNzz5qgmBx%Lo4f$da&cKrJeViZGBel(|eZ^J&X zkHVX<@Y+#mjp(q&2UFk>Gj$ATrHP{+%OAVG)V(=B``~B{pXC?%@SL?yk{PDfGFkXU z*2f(KO|iy3th)=C#nlW)1{RG&Iw4S4aqiR23q^>n($SdY(^lck%6JrNv*v%X2R!H^ zFrN=n`+-u@44E@HY6nqbRZM^3z zvu#B7q?_fecPRbrjOQ)*YT~5R@h-(a2^V(&1I}&%S6%`we0qgP*VgxO`%-c6BDa}R znZKTE+f~4Ai0sW;q38}jWJk)$_mhKr{(~2(Dto$PxpC>37ACpu&O5#j#tW|RTGCd`}G*4ms+j4P?!)wd!Srk%@P$H@@8hNKm3et z+yBh^=6P#ThfqXsLdI_Q0T8LmPU%JO2Lw<^a3cmzypHr`|GO?q!TY*c{_y>g%1aaG zt2Uh_gX}*JdYbmheQ^WkTTy8gZo)`-TV^AA}w#>S8XG!Pb;`HK299QtNNuKXBRm zxvAM?V3On66ni;_#Elih67Gf{Ewbk9CxE@ZcC{GST>RKz2UV6Y#p+)+@+-Y3SXRkx zu?p0|^rMEA?`-d}WFpj97u6JHJ&(m_kM?X?3lOps@PGb0DR=mlxs_uKMrbcuiAh zJfHvzbaxE#;#MG_s00ZAhV>?ZiNAz6kjd6-=->XHv!CU??m3|%a_c+xmiJEYuL^pd zdC~tac`s*-{STm>&G9a5?Asbu6#N}XNS9H{_ekNt UiC zz1?NPdw=T37oBg>#9tt=yF;qs7)8k3XTY94T?7pu8diHj9hm_flCq4Tj8t1hhucI= zOQp=&0iHS?SoJO&y?5Wr}VI+lcAha#(zMv-x&LiTvF+;x_h)4o~N)?|(d)rmeQ<47qk0{u4zR|9D2s zIIvtR2r`Ue+O8bLUqkDCx6tHlqj1WJYz)>)&94lU0w4eGi{a!r^DNfA_6zL^4o!DV zz9;xWotzilSizT>+mh5K^*qm77Yqa2>%^^_shS~_7Rc~ITLev0IDKE?qx-DLLPD9J z!4r(%Ol36YNapV~M}?xoyWe)8Cx-4`AO;SzaW8}|EmHt+G z82%g$tKIQA-%3#{6&L%irInD8*0f*a})MOoAT$`oSARKa^}P- za0hAVxe8-6x~PFL!F&?K?8xiAy%qZKfBDrte9|ZZu0# zsM{j`YA|>Dtu!C5cZ9sXk??L)v&YBdoGG*B`uN~y-F|}CtA`Jq8RBgDmZt*e{CS71ad3R(mh1v!f^?2q>tjOv6<-9Bye=$Q2zea?=5By-rR z9z17vjau5kY4!8QU+eAl)**9 zzCj8r(cMez`kBtcGU*k`bZQ#bvyP!}hW0iV^;qKF-7@*!m`y&r0XI)Fi+@L|<)k+= zXk1AOB13Ihn1L)#68fy8g+*cI9$1}neDhIx0~4BUEe$wZh<=w*76c94eL%)ISOpq? za@5;RRvuP3XV%28NB=bzZq0CFxa|5hQ^xI%asY3$1I@kp{bzGz0+sKq0l|R0Q&ZUT zc(t6e{tH5!;U>@KeFY@xgXE7ig!w?x_<&DoCKRfwn+u&Pc5)M#WXcJD8nZ%LKm=ac zh)ucPL6>YB|HbxrqXR%vqb0oD7j^Xe#(%Gt7!8Ukic^1Ka{0#RM2um>YuWb1Q<}G< zTn+sNO{z@FuTKWDhzfu1e~@K0%f7Pq+)yQ|6_Jwe_-aH&DF9vMs%$Mm2TPcmi7Qg%*oD?N^7y zfi?B8v24>^F*zX7%&{J&<6DFoyd)Wa{(iR%-LdqU$-Rv4x}pAqDp!xv3c_PF8r>+u&XJzdE4H`0=Ii z%cRhcilnUmrp6-xyjOT1Pd?#$e#(Gr1MpbV!;JC8ufJ6ztUY#L0BS*-imdYb%&Lh36meN`;5@sLdmag`c=N6!3z0pQ&mx%Ro- zXA=9INst{f0)K(d0mbjH*2&fqY^+@+vvf^d9BGUs83mw-Is4aB@9$f}qi?ci<=Jm@ zC?x!Ni>L~{v<0i|9L{_eBmQ9WsoA)>4LSntev+9!4K?)MZivo14CxarBiKVc7aA;* zMiDmH>8w{e*M^441+(~3(=@NzjnQCTC6u%NP&UJwUu!mW0Q>X|7rC4J_oJIX4A~L$ z?8%O5iyl|6ZRZY2luA~C_tQ)Pzm$Q=v{!m(AiKxf{vr11O2>X*=@wJw+vS_bm_1lc z+pYH0fxH*-F#*m~vzTRPO=dQT0iVFy{f}`ry;7(0HEYH88EW-5%UXJF!=@ddc>4bS z*bXg^rZwnx8P27S1B)fYpR#8p`#LZSQcuvg40=@*MW#`8#-=yy!)l!|R{r9mc`i;` zCP3?1z%vJ()sJ@7o2sgDCdTVbXDoX$NbR$}?cr45_9H+L!;0}`LsyR8PbI z`MyO$;sXXB=@Lh8bUbM^e87WT`#ie-DRgw@sB<^^aPU^5QDr4HyFC4awn&GFF5ySW z-;1JkC0Q#t$Smb@f@9Kr-o(kA*kUl%qH2vsx@K^re){Um^6e-&0XA($r_)iF;FXki?o^M(gWq zUB(k*nbTw=)|&1)dpgtEbmxi9v+V9gC63n7V$~(uK>7*q_4=952{(B|pS>!aX*j?w zh(Pg)Y=Zeo_LUnQ_0AboO_j=Xmm5t>8;e4_Lzl((`NoS=4to%12lWW9M9TV*y6qdy zH)UcE2F*~To=I41%Ae@Kqz}HT?LS4Dgw{s3@Y-c*35D-%`t!f6$IRMQ)kNj>?MbPV}?X?!MBUH!efxH`gj$fbg_u==}eu@{zMq`y*ByMWYGs@N{PHc0f- zEu&`r@e|S18V#~X^FKassVbRop}WaoF=C1n0P|de%Q0UueQIdx-jD_zD1BMVd*K`d zUAVz&-0PmJHkV@K;CuU1y?Oh|k)l_4 zaar;86MHNCL5T@qio>WcsK|RzYm_4D+XeVb9og-*M|U zTOIY%*t)WfxB+hWRm_q0Clg*D&oRf=f?R1mWfQ=y`oI0ygsb2&)f`6hfaqZC#32=Tg&9~}3QzCw!XWDy~^B76f zrngDY(9Qg8qJ^w0Q@~KNzoMYfT8V8}V*VHde*LevH!>3 zTSryZ?tQANIHwX(Uk?!tp2}u>CyCpE=IGPa{>pQcmP*H0!mRh|ET5aOyx(qcZHJ;%a@aO z7lwM_iM8kDMux!hvvqF;vAIx!uZSm|OU@vLFdtWPKxRN5zyV;IgS=@h__AzdnK2t7 z{h^P;vLiq6x%yttgLoN%>9@+}VQJED{YO{37U;ipLHKz9b{P97ulRHf%tg33Jx)~!{GotdfHLJ>7=x2fz z(_RjT5F#Zl5kGIf_-TRNnBTfo0q~m97rhI6=Ga~vkoKO26SC)2Wh(#C<_uSu47bL}-q|&T?$}m-d&pC?L?AI*>XDD%Eyv5 zIy+ekT6b2^91>SWGuQC)49=hS62qUG7RQfVrA;&dqWtR)9VSI)UxM&yg>KrC>oa5G zK|gwP&Iof4vfuN~_=cU3ehjQk94KmUgaMxkHajX>T&Mfn!J|#tACl>r>HrE7qmYjvrZ}knbLCj{v?wG#BC{XlmVCJw(AJA zZ$+2M-hvhjq=Oh3&+5qPMkoB>ccBj{)uF8g4y`$Qu!=f2(;(i#aWY;_fw+CL=t*72 zaK)Lu^M*mMXI}H-eBz9s6zM_9Qi{;+g&4?iw`42SAO~^=I6@HH&x|XKt^YG&(Id;o z7OS?d?i}lwr8F+X^xP3&en&8D;JpNOh*QLrsW7%Lpawq=@sQ1%F%Sl-lDMF!%OCe5 zu=JoHQ@!FhDEcra3|LYy7V*%^Y{p`ZGo26VWSgNHZOi|1s2Xq>8_$v)grTHQ5fm1t z1Zw-&UFCj%rK1&6(|h}Q;oz6)L%}z%=(X@G_wS!prz4(VujYn)dMNTMEdHySk}$Uy z6N6e{oyj+34Wa3#=hq6Gr!TI6{+8&HNm`YG36v>)-M2!lp>oQzfiSL}f034mAC4?p zA7lEY@#$NH+khYe4L&PuqwW)C3Ja3W7HyX1mS;#P;4t8}6trURwHLub#_Nz58wd;f zIdmv`U2)0qX`IOFiO8MI<}vKoo#f8AFrA$noHQ$3&1wbQ9fdvPxOE=?-UNmt!4%VJr<}$tj6}& zs##;NqF(z`nLWIR3VVF?a&h-umlcC=Pg4U%B{;XQ~hFXHk}$|P`Xaxn(LQ<@J- zSjs-X37|}^Qm^^};*ScZnRZ}r$B+8i?d`tw&l9}c{Lxl_gPuCYh?QePtUdFy3!9=a z4F&tb#SY!rx?GpqZ=10SIS8*K3wJoRf*a~~JU=y|4g^*BSlJk)j0gZwo1NLEE&|23$Yx3ia+!q{-4 zeUT&!W4n(yOiU(GaUf_)#9VsWFL;hLnyI=k_hB9)p^=U~p+P)0QTW3<=XHP$hL%s! z`^yt#AEeq;iht#zP8Z{=!e_s*$^C^@`k4l>}zLEpUm zv##qNCU!A1bkDP`<=Y!}dTg?@E)f$Snl*ejBTZ+Y!#gCM%M+|5ppsf)c)oSBbSHR`MI%pdn&)u&{%aH%vxH6 zTc0^eKZnnluEwmm=&7?T!w#~_zK{%8T)&?Q+N|bA`QrZUvh_Yp_myjl z+K8VK1Iyd;5`0KK$<0Y_BtGHQaiGO^LYJW*Cnlt$ho4;-MJ%qfh5()-O5|{M=Eyvc z%jzlzgRLKR*ML3fg5^AlN>rF%2f`$LQOrkKS`!nhOML{%OZ#o4Q2GRPR9o8UcqENcam)s?`9Bvwj3QoCYq0nEUt?cHW06hpsct zRQ0Iz@Qlrn@+Nx__HRIfmxCW&T{3(^LUwUu&fG3L%Z@OYT;97hA6f?*kk29!n{oUS z89f`nr&p;Pg`Y`5yT*{*q=Z0#H47or*OK@nKUu@A*r+_ICI+nd8q%km`)~Hw|L2)Pu z)0kdp@qwT)x|)7(UhLQx%acrlU{@luUx)W=^kCft>IqS&C!cc1F_h@LAc$0#mccD!oEC?gaAch%7%V>!7b{mpI_&^Abl0tnHw(7 z%zn`F@CkpG|9F;J5{Hc|HBEU;6cOo%Kv?q@ijIDdT4F#jjKSMzUcAGuXW=)A7S_XU zMJ`hRfJB!b?Zii-v0Cl-Hm2(@$l%^4!{M_Kxttyh!jQ_k zeAC;rSjY_hsAvW8i#gBDfut(xXrabwJ%+NSB`s(+zF&ahAB}!8N#%nxP6w%>_p)dh z^`6k=1Y%@o4K7Le9`?CF5uKFRYz@H8Ix>DpLLfEm>~=c$BE_x*`^6iU{3=jdKnJ$- zO7;@fJH)5ZAlfTKsG3?F&S7G>n>f0m1cH4B0q$HP!27~K|d&FUH$G-Qt#!Icy^?V{yZ9L+ziFxdB5YQn((j*mXFdZBY&3ab`0tlLv=c~4jU zo99;#&8}_-9n|Pol(?uZ$bgjLrzNl*PQ>*lErAktz5y9Xk1tUT=?B-=rhAe!32Dqn zPebro??C*mum{H+7)HIxleg_yjonnb%;dfz?7wbG&{mmPVXtQ9b{qd`_?_d`++RqGkkOTpc<{gqVnbdlc&VP<5##${@- zJ#r@&+BbXizyqET67)|%H#Y6xnw=9A`|~vvzO=HKg9?y4PZ|Cg^ggMssOsmS>E_rY z|9bv32Q@&-1m~Sap6R>%kjJ&xl%5uO{k#i8{nk{k)6M%e`%J?f)Wi_2GSPJ%V=lMwfwIY<7iQ;* z7BL{HE2g~4@I_nv-Veuti?!2GoD()JJjYf{s5kJEQrJjxYYVH!up`KnX;}Y%G-rWDWO@aQ%Kl zjS@`5`glr~AvNZsf2zrDL7MGwVaIRl=)z(*tAuRRk|=hp}KO5Nbr{=aX{Oec?ezL1=w7uzg zhEJsmRBk8nSiaW&yg=EvT1#!0BEQRt2f1>HX(bZm`|gE4=FRWPu!hD^M>1Nam*C=# z_l^=$8fSVy7y3CLLj2JL11*mI+nF;6{*rj7vqiKRJYmV|xjxY%JrZ^RIov@~!|*#^ zq6ShW#Dm8lPsyG<#JFm#(MkHj%1};wSaF~BC_NAcXzEn5XdIoOY>$mB-N zwB!j5C-EtUbzw53d<4*7Ivh}&63#Qj$R`@Ik+W&gZH#>+7 zxjl)aW1FgJ$&sIMa_ed)LYRjZ?0|^%U=j{wWIN5VWsv9*eP<|aZfcEf^q$*&nl};` z!nzpvvGR2^(oTH0Z$YVypfZm7j8#I^S!$7!R#HdvUAqpq~X`oTLPAv7&^Z4S0*)`Tz_RN{_9|-zT$n zc+oLG7eu1{NZj=5%w8|Bb1feTtV-J(3U5up-al)N*v5h!;Vq@-R|yE3y_PAG{ofmR zfTeM9Q3pQ#i}ifG;n-$R*WS18BZ*Z~0vu0Oh9CBSwbL^uUY-3w4sm+{S>-jN2zAbq zd?8R1)-Sl?me_7+wc5oVM#P+w&u7~28Y1qxXJYQ!a6;3e1jw#6YSJ?Xv-qUV-`;%J zc=F3BhO6}dvAR0h+v0%<{u*d8th?hBaQt?Yqj7t$P|@;X6pMzbnDPe6K zjGLxicYZw>ymo-k89QIVozon;GuRHhOq(RWzHGf1ck*zXqz;heNdye(H!bI@_XNqm z{ZNgi=lz>e|MwxPjCY$tJ0ya3<{AKp%gm@PYyHFssr^a3emt~d1Q|O^=`({TRUI{B zzVP!;@tFX2UTR3T92@|09`+8T_3@niWpLbpchY%}gCPD(BG@E$oFsLA;&I*Y;O}Kf zDKxU)UOf8!4b9mU@Ts#;!n z3p4vDS&w5lfl37b$nr-EJ~L2u?SOANYvH0UrVx(f0bje|%`4eZ%a z8~LniDFZQhB7BMD3VAqpx}5DwX`n+pAP*`n&hIzxsd3tNgO4i3ed@8D0hbbmRp(~VpIP^rKgUzlv z<{+y(lz?XpL>;nXgnD%JC!%02AjOcg*?xbPlxZKG+)4T3EgYoAVAvpc@{&Oq%e`0- zh0V*wMVGjJ)$V&#{vWN4@!KlJepkgRTh)zYn8YadVu>8)PI(GCy_KDg=jalo<9foG zUj&fuUZ!_jje<=Q-x;(tJ4QI93>KGEVd*=DZ{;FAA7SzMQK7Q5LAP(GW#T{n!o3;x zGY=4H6Y{`F+@^{kShAJo;v@;LOa-Y>7G3pogTG2bT-^~A-l(1=EwVgml3&*`fjtdaoc??MV_G`<&xHgp_4I|nr?)`S_%{3-#My1LmIUFO%@fwVs za0X1eESTr_Un2@JkyQ>(y0FfmizBGITR=ac{HG1wNJd4iS0XFlWh!jS6$hQw%1?do z;68`3MFJpPd$SIxug+i;3#ukdTW0#!E}vrk8v%;lc0czTqRPDkCt7I45_RV~=sGs9O%p0r5>M0(6Ex zM!}`Lt|u( zPT^|MePG0=^%_Z}U6ws+LdT%ei>~#JvXHxL7Ps_D8d`6G;A$qCLk5Rl*d*hk^S3{S zIqV-2y>RGR8M2dz+lyG9zj)QNS(0R?QT3v-c_5>K;g@k2}dlfXs*Hc*{~ z=&y@v|48@d?4;W{bL-)tK&8V1eKhB;>tU)#mljXU(*=tYkgCROp4xJ?!kVAe2Ry5U z^LAHP7io`k12LRw-k`3RYq83rF#Stxtf#@tSgJ2ONQWzb;c5XI~_)+hgx{$nvMkPoN|BCMK?MF(dI*X$M?2Ujvhu>~*Ib}IzzLY+?J zZ@5#c0n<^n2l!#`60Cha=lQIGvo3=&|06PTA0)7_&M8!_eO~xT*WYw2R=Y}|V!$f! z{K@Ae3;Q-T8pqF~E~_?5qKf1GgK*avLSATcEo8yrke@sd48^ot`ms$>(1ms4YcV7kv?8aUWte zFF;--*?g0`jZSdq#YG7ghwWN{HctXr7X7Cc#Gz5{Ah+ypeGc{Cmqg^oRUC!0pGys9 zOno71k|=Ezw9k})_3Ai_s-Gox(y0DUGNcg12vo)p9&Y8E9zwa^<2od%-96NRRvA~RN@O{ zK;GuXu(3QZ&eRch@30tGuXA9n;rlKgnhMtQ)5!Z#E+6Rvp`B# zjH*Vg1D24wucX@Bq(8p$|G5MAV6k3_K%1<01~#p-+wCE3lv$|UUB>@vxLdbX{UMYX z=8JY?1u9I$?-WwAhKT-d5C1{iiv=keHq;iy28>lY5Sj4OZy)~tPv^y$(jrLFe~wR$ z@#f1f)^grSN5Q+x18)Gq=Hf{2vYVf^2H;9pPnKfOZvJwUuL*Kn2o1M&Bd8~W$1 z|NR#+I$-=WFO7Wt-&goY@A~K8H2|`%Ktg`>-#YhyzPLIKfUe$uructVc>M28{^th# z=R5juOa5Q_`G5Q5pN;GP`TKuI_dlnv|NP5;r=b5Arl7VPvq49yJV> zolEz>p7oy>|L;Tp9}V~a-#3kN>(eMWF0HY(CBQ7wYf$utmW?y$SGv6af{!3YRud z*k61RD$N=0pFfGO*f0>Ge-IvrL;DwB1e)W{Up(r6o8u4f@W0LR-{$!95%=HT@&D1@ z!Kg)*WigsJQKH4^*!kfDmeoj3h{f~2SWo=q{Jw<}&1Ol3Ds-aVdpOnc{@$|TiYks# zNr4{*8i{tDwZ&8I8kj#mPC#Hb^iS8N3~ww(Ms~Y-p=3c9+Xp!X=`xAl>Qb1{f{6eW z{8H^&xdl=m>OY^H#l%rp`w|Jz9;@qQiRAmE(>(ArAI($r5;2Rw`S-OCU+mxRz^@9D zz-<-B#HgaL){X+%xDmgNfg}4@Q@p@!?&%!gz@X!&gpctvO%rD7Y;+a|!k5MW?W%wL zx(pS}z7&2=%d$d|RHxEA5Uy|P=^`&8(EfPTzfRAnyf;>#mt;u@qrw=TY8^-s{X<9j zw-ylddQhO$4ts=7V;)f`;$6!}|L2Q&9L89@X_Dmwm~!yg_Dt<^^`F0pTYm0O*t{-| z1a{jRrNJAdeh^0WR}GIKd{trK$3(0WUpV83aq+&OH!{@g&zDhUVZX*5)+}v5Se|0C z_T|ZTu}jdC@V{8O-!Ze<%y8*^wl_>AldMI7*v!gd7 z#%gjPiQ7t3znKsB&tC$5K~S4N+CA%wqxJDu*=(V!gdha9(P2>zI zAFeWyx07v#3}C34#A%r(@`$sKDBf)n!;N!2JJkN@H%^Uo-bt9|Up zgepBTFRA>mspZb2Dp>#ggb%dJLH59DN0f9C!f4V1 zZl=;mrnq1z>o4!7040=&wXRStKkjJn5DV(GF;+6cgC|l(50;X4C;z&G?zQ z$H|rjfZ{}y){My20d*4@s|ZrwftHI6mdmr{NSnR{_VFq0ej;HY_*xIk_T@sw`MbAd-{vjS%Ltu^q_<1->ox0i^W%o$ z0&hpiNUxWzFAaWMd#r~Z2<^UUnt*R3!7p_{0Oot}8Hia-1MCy=O{$GCKx$M0j+Bu1 z%aJNP(W?r?UMJqPCQGrKyAm0neMTuz(B&~`yR|w0rKvwncvd?6kx6F|PUyUjd@ANg zoCKFyYk^}sWVxcz7x&|$6F;Uw2{)p5Q5%<>TOc*V7O+7z6%LU?<{%Y`;->$(8%B-g zc+ZhmdEJcVM7h4`=2&60VyeKnbQrOrWH4^{^}4pAM8+JN90EIwws@>Isq+ork4}G+b)6Sr_or43Yd-Mk7#%4OWJ2Pzr1B!|~+KZL}%Euf4Gt5-a!L zc=KaC5F8ZZvb6WZ5bjQM_)fx4xjGl}>{Ufu*_V?U#-#N;Libk#cvi@29&3ubG+Z?c;Wq!h%Ae+?lxe4X3#w&=aXpzvwV_;)^_W1oFrNaLX?3d*rq z+hEQqo>_8nYb}JpF)pO?!x+J4Men7~=Bm4sq7o|2h_I$kS%~m8yk-CErhbBfkJmfX zD;GuS6Rq;x*Of|kR;sb0%d2{nBK^26oB3gfiNh7BATx@7b0k;ZbEq*MnF*|A_3LDv^~-mXES~!cY_#;lZ^8FZkM#xTja^fX@?Jgx^I#jNDc}s`T|i5C!Oay~JyL zs#B*h29RRK0F6D)L2fN!SWuzs_6LFp zP%CrP{nbzHoQ2!m}0 zRiD|xvF$ect4Ipr5!^j6T~-5e0&1H_K2*wOD2XT#N43N$mQ;kz1|8dF;?3dbow|7} zd4^|DDw@>XkAAQ;a^|gY$IJZjz*iqF`ByK9x@KRO4?ahuX4W6`;jKt~-SU!kbGlM$ z<~F&{4Wq|SwVTE0S+*fo;4WGZ2LI0IWrg-*HjvxztRZJrWLkT1V1+Gv`w<$cuBr|C zm(Yt^>e%7qV9~4g6Hxh5|BB1=ca+Q)m^4E2Aut#du`E8u9SC!-u#fjo-j@mX1qu=w zFVNJJ7r|U3CwLc)cfv>!x`m zGE}J8snCyFNL$e!fZnB}_QO{am;do~(??owY4ul@&|Jgus1txNQ%F>=m1XA6-Y&E> zQ2a#U{8~oy+%|iRXfi2Esk`*iLFu|SS-o!o=&t~_RgKKXZVUyqK}giIHGNt(J+7oF8dR50RZ zoxxvqi_pYbm`!B9BOqnBha-o zi&UaIkUUhJ$SauRU-vG(&d^nD#X}|v#+nMxd2*L$wuQ@QTG-ryZ0J{7O_oJ%hLLd2 z*>d0_%#!zh@+`}_^({_Q zYQyXiTt08}lcn>z;Okk>M1{*IN8BZK=c0)b)s-(^s<{=FuBw)~uygP4v^KpL|24B3 zYcYHAbIpr6eb>ng6UykLR(eYziR*_7hxHUaGG>2Z>K+)>elged9%FP*5)R)$&_BE2IMASWXm&hps9P?)bcNaF#5d-x7Nv zR)+1##*ocoo1ZP`uw;qc=oR2S)ZG9);{H(%#*kEi_)pDB&IVM*o6 zKS+O)&V7NNqE1$3v^MXs_WXV>*8_Dpy={VWCcEhcmXcvFrb1|Ot97e4BFn3w-wusS zcZA1DsS(tFTZ7CHTMkLo5!5S%i{WUv_U^OT{x~lo_q=U4$5nc~i2170)CR{vSC4G^ z{z{S8Ea~MOXf$K$Ll%NhQ#TeHLu>7RK6&~v6Z@E9A>F#Z`5;tL!Myf4Ij5+bXRB*E zg9uv>J)&`FV8%pC$E%@kzfM!|G?{O7PP7XQgULyW=B2T2L!a`Q>617X?)p&|?TNe3 zW(DTsClW=>GQXURa|y!tfADa2m-s9enAl`{Z;!;eT&i%&$#s4ota@!nT>m?g?8Ze_ zL+pI9SwslU=IQn zzY)FOkF@B@J#ETy`FwWEn{=2T0eF-V4Dg;U%gM6W+J~J0n)L-qp;TGSQ%V=vcm5apLRg1hp4KOBgU zK{XN{DD#6#$K@Z>2OlgQaqg81zwf>Y!Apu_MzQ2J`T1@#JfDSid)Md2Dye8ITrOVK*l-NA{(Zsq#fyOAE@K!QB15 zCqo72jg<|_^|Q9F3X#Gm3EN<$wa5*btFkQ^kuGmO_;AT-Q*bY|C~M@Mxv@tLOg z_WgIhd40v!vf{C=AUAaSp&$w!qWT>1NzfY(Ss_>#L(USDm0 zIWhSQfPKi>R%1<@b&iDNoVzEHJDHh8qwa?VM$O`GSPGW4<~hj13ID=X@J#^tQVF@Z7;W#oK1<(+pm;@Y_${c->VO&oosCBKXoDkliM z8HnXL4zb@T%%4H3UzV5UMXD!LF)?)xn-~|dO@Mww!TPWzps*sILlklP;%SN}P% z6}_M1I1GmOn0TKv+Fxrwy+`4A!Q!}qk!soO;kSF}wC)RPcdZhx%#w4&z5*Mb++^os z6LH#l!;NNt^&n2<1b)6OBzX2{obogsz1I1aImg1&i@{9yJaYcG#_GiM7GB3DSqshn zpOE>UBQ(QYXk0PpoA6ZgAfGFgKQX!s`grw&Z6sdFIXMV^YYWZXOI9}Pa?AhX_`fJ8g(6m zGrVf+RvhL4Oy1_BfS+e?#`9iXJXJGfO&u21d?er;heOWUi92PS=&DT&Q0XEZq=W+>plU z)3=~7mnOfY*y~g8)hU$MOVJZ7cF`^+=9O&srzhMg?^*J$53e|F(SOBH&Ap0FGh%9d zE;+lflVn$nnpRcPQG$9q_E`(kA+Y+{Ai#3F@IjS4v#=LXm2DDTHdGDH-0us7#MVqU zWu$)~gzcR!MZ!s8%6D_IhR$UZxtNI;O-Gj(Z-Lnef>?B z5YOF08q*s*E5cYjIE#{B=Fy`QW(*!Dzim?9#uzVB%kv&g6V6`s`q`||`39AyLrf~q zt7*N+Bwt%OCx`(Uuf1k<0P66VM>rE*SL#N+mU+Rsrz6xm6POcp8Ak2^7?Mp|Q}m=r zQ9|^6u4sqR+un^|1?WPl@P|6q5Dg!vL#`_zJe#%AbX^0C-JcVntljlf5p?sF9`Iol z2=hw$uS|o$kt@lzj7qBiYY7|+TJWfB z!P6gQ#Ct(X)(_)#)4P6+L)k}@lK%G|{B{pflda;OctyLNt#Uch_;SO&d|8DcxN*Me zfvGuTwe0vj0v*n7^gTgNWTPc#yLer+6>aVJ%Og0!y zonsYQmo3bDH_>Wtd{s}{V7f3+m=`P1B)WaY(3N-b#N6c4T|A5pfBz`ti)ufE29FHC z&54BIdOQ2cN&P)*!;Q-Z+w{DXNLo#W;-?M=lG&=cJ1m!l-49?xm90Y7NjS-DUG7fi zrjgBpU90()8jR=gHQxT;Np1(6Q#Z%M4+K}1)XfO>X1r@xPbNi67Zuq()>36pe#?w* z6=Q~4&uVDTRO+xA-BIo5Zs6L1H`Gn9WM_*e=O<-ZCNuj~Ikc`iZ;E@((G2sHxn0Mv z?V=SL_1E9Lk7U(jFRRVMzPfGZ9sQD$a6f`GERg%@81|^iU_>>8XbK@(z(vl5^XKKo zl@Wic8ytf7m-I z47{YWekhyB*JG`|nv$-5Z!UJrX*61Htk`%12ud3QN2~WyOEx{bfOAQSM)teTnZ0kg zP)1iar?sI1Cfc8Pgyw_1)pGFC)z=+4tCnM7@2?9_jOubw&@74cPpxj;#0PI%ZoHHw z(JX5ysHiF5=@M8)8sa@eBTWTzb(cfO9<2Jrmm_jg$lG%end0K45nB{jM-I6bglFH6lv04nHC-kBjBPpB#5~2!N38j zbIxb$iMm|{3t_5dV$jSo!}onR4)6}PYG41a7q;t-8w{^y#z#IJpvKnc?Hbpq|7_+! z^F*woAA6}qD+70+-jR1b*y<)|^wuo3iQ+93xUS4O8++Xbds^MtWi zEt{BQfs<5!5%aL6J01H?2P*N8$X1{>#M<(xgAkBC~cfirf zHE|6L-IOU+AVruTOZLQoAx(V;(s(NcJims(1Dwd$L_)2KyL$;vTaAUA>FMekXKi=z z!WhMAy^uW zNQ7J~aEO(s%1`B&0sVh z8*>D%Y)R2DoExs2)E5ZXSrJ%8o^Db%e7<{~tcTXi@-n&G97iL40Xt{&L7vrAHVr=~ zZ7n8mDqUu3o|a$m7zNK-+&hqwzKvEe?ogXPov+|-lGYScc;e*Rs^)uHQa$jtSW41H zpPT9`4=pyNyya3CYggsHWs>adOJ!)6*63q&^44^V2e$IY?m=s(VLN4gSQ(MKv&L#sORs>>)8ZHw ze2Dh=(Id@*D@vCa*pBzswDU6R^t+jL<;BejnKeh>xwrPl9Q3oOZQmuFQT2UsDvOBd z5Uas*Da22dmql>@p4FePe1z35HW=e4{}k(&CD#?|OY zaku+$Hg6kaw&yxNaeBu-D^1`1HohH74YpZB38+^@se4JK=yOOh zkqx*wtBtp5c$j*T6bb&bbG-1Rypf2aZ*fc}9wDQ`syDi-+o)*W(Vr~4EVP8VHoS9G zlXgsoTPGR2%SPVF=8C`b8QpJedEb#lD0^w5y?lR*0aH4WX~WI=C~Qd2z6iT{Lm z2O_GNY(}cb!K^1@@l{j?jpo{O0o7x@&)b1YYO}y-=Zh^#`h-GMo(u4I?dlEbXREyR z!#=GS)oqX=xIATw6^{vCNR8QOcDHPPo{0jvKL71_y?AGqb!__T%y?ja8dUde2R0BC3mwM5v{FW7+Fy3fAjhgSLn(rd!N1mQVa_z z5AJ~WlO^Vyc%D=Jkrp|7Q;tU{mc;u+(xmeHgIE!lKUlZPO-Bamt z{3EMEGj07^=`p9^h2}6F9^e?%(UUwLk17Ncs0`v($bx?C#BsU}SeN0sgYB%P#S-_K z&o|^gS_#LyI@{mRCAk<3INxDsauo5z)zH~DY#-R;C2_vmIiai@$jGx(pZ!61lhE0W zT`RkbPXDgN+Xk&Z+*l?O10A*?y}v`mzUc3geRR<>u+>ey$<3NepF-#=m@~-wv=qy2=``0$Byl z)AAQ419TWXZ>wkUJ$bquH_kRIuj@)#@FO7G(qSz@ccj;J>UU6be&%X}f&7{3I%}8f z@`F9j+SgPPi9@@um9?U!6_2n5imT4keJCb>PUsk}6Zajfe6*vY(c7<&8Yome-kcfJ z+?gIZ(QB-4MOjMI_@2e+I|)ge^qm`(QK6i zTQ>*oyjK6iBEQ9aRdkvT->e9!TB(@e!bh~zmZ4`|{jLZikTDT3_#97$*`{c~OcOw( zYnZcb9hnm|6`bRdHUkQzhf8%;B`=3(Y>Ylr-je7=lyvS4S#*-+Ti&q>9D(|B&!DAF zs10k``Btb7J4QI&?f`U%{ABp`cxU1?RjcQtgow-^08$x=0( zwJvt>ng^wa7r%1mt>RX9zu>HZ*NimXCPL(q#Ja8@Y*YWL-PWDyi-7xQoEx%Ew+oNz z-j-SiH8rVA0@W!yi4GbPhWFzBz}Yv(rMkH)pH!37WZ=O3yymOuvY)!+_o{7{t%9dB zv%7ces?$=nrM(1$E*bux+4Tn z=g$+Tn@Rpia={73B4;Xz_v1$cg}wnOccwX}YNDY84MG&O-8oKlz1qJCfl+cvkkrq1anf31duC>ltz8}w*vp?uB;v{z) zbKG-|@gLW4xE9>^C;)>vm!-R@bx+lwWRE#A+CQh^mI&%256?&aLzZ)Z_|D(8$aF6w zW+(Nc;Dw!OIHW8IayC~alx+b7_X6qxD(m8=hVOOA2&5=)GIv7UK1O|N7v)1ERvbHp zN*ahyRJ~=WX{x5rH-gO(=i{i-#$km0$eO;P{1;~=w?12jJ0y5(j-+#(t)x|+e^UD* zJM8wedWR?>OvyyOrP1Yy+VGLol7u^_y?KRvnt8Hsr-h^N)nC6)TRAGW%cS_WI=pBC zxrp>f1NRT6zw!uai%4FguMSiixF5Y*QOYW59ZCr}Vq0!4($fJQ^P{N zlGmzNzXI&>zZE-)NuLN<5NM8TxlPWJ)MCbF2tZQ z(FDSHk%xIhB>C;VTh!_DI%JR|zN5;SC`!Xq3R3`*f9KzrH6O2sA;|5Qb~I^q#H=yb z7%}nhaVEQ9(-0+&+}42li7n+UMNPjmMufLxXaaQOu!nBN+B6$4VNyn`_0eE)#n(#> z^0RiTL>6r9cd_WSN}N864AOVl=9AT@Ua~ajRm{skfl!OYl$Db%0n=q?uECe1_6eVK z7UY|jf%c>rFTFD<+6jVdGS^0_6oe7av~s`kX(wOf?KZ9%y_9lT6o5E#cA2jh_1=yu z6RIVmDM_hq*jqNLJiLazc|*cF#cyZU(Pyzf9-Z^yQ-p*i|6?|}MbFI-??exl&4m*_ z_29Bi^F6+lZ3$Z!MyST%db!k68`-d%-`>9L2mWG1A|nwYTI$y@xoQ^ow7Nm^_L;=^ z51R`KW30pL)B-Q|Kcvov{}7mJe8XI0kM)Sh-on?UF5*1VueyUWZE&n&YmOH_6*)@t z8neks7#*&a6u2pGP_nJPvD}@jt@<95Iq4W!N&8?i$<+~{3&W~`G@&{UhgDa$u&ste zI2vM)Rs-UZgvj{KKB`5L3fZ?38rYS6A$*H8WSc@E?_Sa;ijT^_^My-DyU?^XM6Afm zSy&1MyJMgfa>7Yuj&t==s%N;#pL=Qg@CC`f9bBEPuO>yYRC) zt7iinJpjm=cFYnUOpwJkeD6#36ChsjK!iIDw02q}iL=`|^~KdiYg7 zMu@yJ1t*?@z*9oT$XJy4>kR;HXbAT9LoFtIW?)+0H{tFM5wr6IAjoaV6zooaTl7rl z2)@~UwGcJUCI3=YBrMn*hy}E+={m87H02i!CS>^nO~9DwKXTU;reAs`NrWi#eVhWw z74k&orkng`<*%sx{w7ownkW20oZiiTd#+t8#%f^4?NWA2$Su=8&s>O$j+8}?3z%V>{B(GnVT{`EypOXEsjSZXQMhOVtxj5j>koK%)1WGVhV)7Do0_|@StLh43SKx zG}_Ez8f7h&HPW+!XsoXYjeWQjzKQrDMwWp&W_IE8u!dV{-e>G69=E&YCKc&K)x`*xqQt)LrR~+|o%@_w3kLdPw)n zhnLxXADxC{+uHSv5!SpV4P`RCE1hzfdPgWRtTLrje;dVX)Vqn|G-k{AFjBf=;*&=c zxjxt}r4heOdH~PM>ghB!FNz=5V^hsOG1cz-33OKOs0FOy9znf>4Gh*-4$IT~ZW$q^ zm;E6D#mWt1lRKs;+1fA|qQyoku`Hj3is$xv$as*gB#Dk$eO#)(A$org5Wcha?k^2n z7+{F6C|Di%Hiv7MxzEjtrkgFgx4eMLK%~|nd&`4u{Fsv$V!WjArCZ{v-fZLon!vMo zkHXY~?kz8P0_$u|_JTK^|D~VD)K8;ylg52!9lv>5VnP^|r#?s&FE4@#c*)J-nLx^vKtNRou;&BHD2Hs<^5%Atu{`)yp|5`P2Zv z^JM%lloef`I-A`3^MZxfDs|I&!`|A8je-xNBR7&J=tfWL zjki3GjMbz5!KKuR8`d3+e8VD7bA-O#+dIcr^)`%F8w(?b{Y# z*t@c}QxULc-EJkGfJ(l-crjru^X>r;j+Kq6Pqj$Qc7P7K1j2YC`sbPQu;>FQD0Q7+;6R zFDjKC;2&V8y1Muwfq+!E^uaf!D&m)=Wa}?)%1s70M{(nTJ5Nm=HA{5x)NRXWs)i?! zvr11eKa1fmc`cETe)Nx8k|zQp2B~0IW76epqmddT=n7NjP_=MHp1q(q_x-%LsvrN5 zQ4i`du1!4?F0m1;?3zC}-8!fJcFpTzoY*Z`vxy3R)T7Z?grM*;4rCVP;e3~ zA;QP&iju1=dtXZAN=xEWPV&mk1;l2z8^v*FOdjqiBapm6Uh)YNrNiS7PiMkYD|OsI zHDIxp+Sw0gPQuz0x_c~qYK z`%Bbm(4*YNAoWVi&4R9PZsTLVny&SWzdN1==79W$UA$@Wc~4-NhJaTS^gIWh(*$t{ zwy&LZKI)NX`q-3|^AXOenJoJjPksIRPGbIEgls@7*hpT}&D)C1{%I(fd4UbvHb$ro<_T&j7T;M&TY_KjFn!t z8+@q;srx^64KJNelJ8O@ogjJcK(zY((B;giLq`XhIeo|AF8M|CLD}-5Vxq$~?Wo4d-=;ApdQb z+14>acMlsOM>Zm8FV}ZTxA|tD6500pd@7)J%|cJgoPSkPItC)qG0^Va>Bt3b9*os9 z=BqnAP!qI&SQ*BwxX@gMgU!fu$igP|sa#iX6rs+~jHLMH!I@Z8W}X5$xDsjF|$Z#1eWow%0&Z?vR*C8N^{iq{3|1M;ISSlO}7tVu}npNzUreAin=Fjsk zQh~(h`y{ErcO(k=4nWg+1%F>%dp&IumKeF6@kG6+#)D6;Jn#p**xRDcmWwA%Wt?w} zH}`%GuKlbZP;s#)Q`j}mX*Ltj+#XvGGGE9ROji0{NtKX$l<~l4(Zl1%W?ikRLd&yD z>=kb)^c>+4HxpABSUz=VbnIe&np>`;BW%V?FuEqX(`41B=m~2vLdsj#VWclPsiJ_h9xAEUgfKbsjIGN z9NBdAi-m3`S{@|@R4r%Uo|zrNpK^YNNz6r5M?68~3UZeYuJElbTsY1m7OF6l_P?^e znQ*RJipuWVHQcO6GD)}`v)Dgk+oLPn2)JDd)%L%b&lG&cL2&8bkZWkka)0c?Qg0>h^_>k}90Zy26}@sG))ZZ5 z*|eEs3hvwPVABhXCoE+~T7Qmx9pO2vIhV|9M7O?|J~x4G?m-^RXiI|~*;1iVZ~9Sj zU6!qm-*k+9Vb*kcf)WmhbSByRH7kQ@shR$_aLs)>EWCx)&|iWnpHa&BjjNv)Y8dt{*LsyYn1#Od&eT#%EXJSAa?j zVnsgazzjBdfLs#9s{jes=Gi`I*1Wz`{e6>3dF#yZLfugu)i6QlpoO^Y*+kA12tw?4 zQ$O-E*1d#*mULOH_3U%Vfo^4)FDp49x>Z|+e*c#L!NymuPWo-dtbx*eX(lttN>*Yj zw+obu=r=b_Cr+Yw+13|=sFIz;y#iBkjHACbwmUrBEKMoV_;-ZeMk_(g> zy4>zFor}s9yxTD+NeoQ8&!%OdtJWjC>-e6l)@q)Bq)b|hgG7Qk@bvh|#A|2aaV0~ur%bngK3F_;24y2e)Z#5lnvU`n zGozPJygZ)E1uzBr2NNG zzS;BeT~DAW`NZ>0r0~O`j5w#Z$KQU{u%{yek}-Z^9kuXx->JCm)WJ5-!u6#QNN(9{ zaiT`sUIW}UF?(~4XYAeDIh5(;Kyrqwr|HwdMElT9yEE}$HLSsX4W;d#)eT6ce2P>z z4J}qi2(>KS0EkUr_?m@irugB}X8EZ_Q%MMuY?tYl4 zbQr0?Uz+rG$_r(BJkeqa*$sP=tp($Q6h58_Z(&_|q(C#3m2a9~R@qF-d+=Uqwv40z zuV)xcLWqYmkP&Qc6w8we(&4VGS5%(XMW_k9uG`Ef2{nQ4i^cqab(38sYLX>fedBqs zQ`Pd94t#=conP2aeicPBFLfkZp%Ensp(`1xU5}DA;vu5JO$%}Dm0`Ur`|YBm4NK10 zkx5l|%FVhToUR_s7ix^`CJ;M$q4Hc0Fyl(&BQkn?hex?;khp;>pJsmwg{8dB5(l#YCEX``XH+tk&RGO<{a=(Zn|G6LYV(C`-Kq0shu<{vn zM9!%6swat94Bpeg=MI7sHDr*+>3>CJC(~%y0uhk)MsxjAWA5Ad9V0ykK8SA&LIQpS zt(=?`%)X+qG}@dKAi`&?-TD#!o6CCUEr;{zdLEFy)Pn5|7kmNz`2F0g0%Ijaz;S#9 zAz~n5p;)qUPAXmF@dFqX?mO!z5VCj%2`eVbgEAzi=e?%xFd6pjDsmkF+c2XA#UbnLd31nbA@ous~43( zW%eFL^YZ*Gdi^(iFJS05A-l2_&j;!#TwJe0X%GlGs{DL-9#c7sXnA&KxHyDV_-+3a zk^ZbF)$IOEPBj({B$Yc0GFOg4Fp|B1wSeW*sYm5x2V6)^O)j8PNEjn3#=ig83Vt>a zLQ}A#qshLkSWFfu?yhqQmXk%6>`>5e&Z*y)eO4AqD3_h*1~JOjGJDP#YS(0FU{4(t zp`)`F_$}$Q1TsQT3!@#1U!uF!aE=WCA7!|(-odTys+o=a02SBE!OHjpH)=6`38mpK z?Q1W$*h0TP^_3Fm7JqPus@5T^QM92<&)+7GH2`&UN`g}O8(FTR+35;B(3wE-GxmOt z@gCU}3Kc4qU$!@hPX`l78AUBVt#8M=Y~2!7!(Mq{QJ=m3bLiobpJEO1(BV!CT0K+1 z4=oOJcE^u(fC-*Jcv(0M%6 zE&sIw8+@YS8`pTsMQpIJ!HMIU%?n@FsreD>%XPIj!W6t8VJOtjHvd-gMa z8uuA3EvG)!WE*2dM;e-RKKB+f{qf~&=#VlSxx#^3lGS*rU_lH?hAJj2DiPw2{^Fs1 zdFadoYZ8hp(^G6neU#~wnQ$BCN{d{czxO6reDmoUa)&`*2$TOg?P^Ut(M4~hCW7cZ zp51;N9&Q85EDE%1WaIN74y61(^W)3Q92LQy>y-4?Fn2y z$@X%tNrQ#j1saP%th?@Q_CcXSqnDZ%38n1_E;LU5sJj6uIh?d{nhd2YI*Mu)98%}` z?OY;=%+Seu0bu)fUH!;!7|*De?4V&V%cFCq@sb}bh)aR)N}(u|TQ-@e-0XCU(1HOE z=;K_@cSJ;{8wBYnb==F&ek~~1394tvMeHzr< zXPqa`e`t1YRKzH|QezB+&OSx22arKyPR4ME)@kv<`176JW8IG-N63{FHFz9RHWD?G z2(?~%@W#+@={9>y`eR-E?ggD33_sCIqQ&k~|2u}$_^Mwy4t_BwBN1i@bFRmdlVykG zd$NtKj1CG^Z|k)3O{=o5@*g@DRCO*H9O2g;K)Rd?V68QChwA>;=R)&6Km8cVABU99 z5g)fOB$OHZ50EagoUz&NQn zIzh_Mj^Dk{Z$w^w^_rv8-Ry-UdRWkLZjM;g`$dm_2qba9V;B_eQ7jENb9NiVzVV`QYHY(#F~F-5s`JK zVpvE*49SRoYXUy|xDx)kz>sEy)2qgj=WJmtowj4Xp6WEmwA)0gKL2~j%AHf2XqrM* zTe>7I^t#-lC1Jsryz^|V`N~pLx~~K=COW>@Asc=fCT1y>+8{VNJ9Ie!pZ(LnxEop& zH771)I_u7=8MIy(GwbX@#r6?NJNB9OcYn4lW}7cfMc2?%~guX1&I{VOg2fEhrj|7~R0KUpBc z&;BN&2|H+69QxPqWUB^C#0kZ_|59%+D+&gVxy1$jYo&IW86XB_o|FFdPZWZt3K&;; z(aN1*ON5$4!e89Z;D__4hc7(-S>^qmkfrps#Q*bG!6yoXr!gsNg{G?^OXLfD29B&@ zMnkW91Lc+e`>SNrcEM6Z*|~@1Ur+d-|4sO0Ck%!#b}MziWB<2r|L4Jh=GGgWQnr|F z#J~RV-$x5Gf+1lGnF|VkJ`{H&xKjg(Fe}0yIcEGNM6Cx6>J^pt?_?OH7zh?7)&F23xv;My^8_g6V6~0QCSIQ0B0NMB} zpfWHg%T_xQH$G$Hvj$Wh#gF46{%HKbBg&?k4F}szHF#Y}o2CA`+uA+qW#D6=GfBPhxOhO%;C*ct%)B86DG9|t zPrMVt{5`krV)*j}*0co z&KX<@Wr%;cJ45lnVT)(lw*7fXGzJXWJ`a6J2!H(HbXHV>!%prmxBT;v4s$T%5Y?JQ zkSG4(blf?C!|qucyZ`4Q^8~klB4gP@NW}l=)A1K4fcb29*KYiI$Tq?4pQYZn{U7}P z{}0V3?Iv-8SV8G9Uzd?^Noh`1%}tHZcYEy9bw?Wx-y`sn<%eVkNg;>nSA)58_{abA zMDSPS=qpx(T%qbEN;zPlYi?Ha9!LU?<1QMr?@6 z@2r{h*sC=o(EDKTsD?ygXf-0}jr@PKKL0>AS+(H6-#qiuig3j_(fszS7un$%t>S+$ zvoFp>E7vk~j30D7{<#>x%b>N?8wJGjkH-iFeE-2Pg&}{#<)cU1)QW2C>)e)7?sN=k9LfH0;mNYqc)GBSq|Vc~s078Q z=ntv){e$J;WqkkH!0p@!-eL1LsJj{Mjh0ogkQ!tB!b9KgQ+wP5ZwTV=M4(iBGu z|1vr|Y<|po&1|@+T^}2h46>mSw1UTjI+^c_;}{ewQQFTNSMieb_W%24fOr(}k{GI3 za8MZ?K&$z^hH=yx_rT(-#?tVj?h8ad?xQfD`A$Po>r2eBus4y9nc`#$?&}5sVB=t!HgAXP?tpKvJ@*2p}E2oOeL?g;Eecge-2WB?y0Z?RnS+_O94aXUV=2>cNLBsSjXr({{H#ZFt%NI2c#RTLDOl@!L^r1pgR;RbEh(I zkrlv{2{ES@ztfO8t!O+uTFr5=NY{>_q^sJ4uRHDxxweY?eX3&3=`I(;q}Y`BJ?x%h zx<7LLx|4o@_}rz+WVutl-A2&o+7f{|#h0^4dB<&hB<(}(_AB8*&U_4{L-n516CVRM z$}?kktZtF(Vvi`G&mC`f3ao=ZffXRW^VOz1LAS_n*uzKs9CZE@#4X;AkbI^gxusBv z?`^&^r0{fq(zALtT!O#O{4R(ZiCVUjGl{^X2@nc=3F@?fGqI~q9kHqPtF_)^9bUgt zS3qcO*)QczAnT-}&c*;6r+mo_542r@1zD%2^q6{GZ_)B1?M;kv;n3G3{y|*e`Mu7m zgO%7JiQmFZ(iRrDtu3Wlx;}~YjmLE|wb7g9X~s?BEsgtA^?H>@+ph~nj|b<}Z8=XQ zN2==Kai<4l%yDyH+u13eq=6W*s7+T~MUb-Rf%g{Ey{E4bpieU%=pAa>wQ@`Vjtucj z&P@GTG*Kv_Nw&vE?P9C35ooKl-LVv=|1|3^ak%96lX_6ets2jPgab&)xouG!>fl$< zw^i933Ukm((SCX)Yd$)CHv)Ci;@0>?ne6)AQlKL1;ICWC$QtVxw!X-FVE8dwqi@&$ zGD|54^m5HExcixaPK%C!3&s%J?%7Ir>|TAlYAw=b>)qhu*!5WQ@^^#p6s;6G1T!@; zbk^S7nxB?^3gk7z9$CWy0*9-UW?p6$6h_xGzx?UXpsz_S_qFXDbf{*C-Lj>9=HrYx ztttW!tKWt$_yK6>d187mT=o$$0b~diE}wZ`ed6J{X8!jMAU4?;Wf={UxkPMxz8p5R zeY{^D5;C_BO9x&o)C3B@d8+tK}y5y zd-MWkj;PaB^Yz_94Y8OFMlq+PT6$jVhPPB1_DtL}tXxUYvEOC0K4?-%(1WK z1&}%IW+*rF^4u01S9$#A?03lX-=tUb6`FR)JVCFNZ{VJ)9e0U=>{Fibl54LNy}4K! zVn0fS|Ng0p@^^9tLPL)#kW%GX7e(Me?+-Z86MyytX=(exf}OTWrM)WCk&P(V81u!u z6-5Ha6HTd4(!{uioylmos|V^mH}mGo;Iebd5OfiaEdP;Cq8ot^W7_%K8FieBGDc_CTtIqfIrw4wAjzlfG> z2Va^^9Sm2XldHbfOiEezG>!ARAay!ts!eYS^X4i+Ns-VJ%ylO;?_yE{8mip!Em_!J z+vw>mXm(RQi9BBK_n5yQv zve?FYBsOpMYNH+)nJrcTdKiu;H|gqL?Cf<-oAU5%&gI?Y`qB7$e7HW=wKb+U{Ifu7 zcU6yySox{g3LIrn;($BB_MWkyB}R4;1)LNS6gPnsOrJcG8Ku14+%P_b;!>Y^aLHDa zb?)z}p6ryz{0yh>y7vO04YG-^!&IJhOE2$Z>)cnDjth<6ojF?rok7RwoWZSX{e1F% za$!{`1tJ1L1-GaB=p7+tS;yrFI0znKDvW>ezhFs2C#$97Eut3CptO9WnemDDRKFi= z-{myNee%If@a=((aro!8wRyzQw;%FH2=W6zd>^xg>Hf6n?sa!W<8{1EZ*se zj{D_P3^B8{pja~1X)h3dtk>OAGiUbg1g8RIkK95dRFEN$aY&`#k6S@CEfLB-LEXGO z*Or0tz7sOgB~s5earhW*Sg6X&VSRSDyi4%i-!b_0aU}#r{g?2BdaY~B7TTNx3yIDw z8pZam_R}ZU?yEx{P{c=zSsUC!EO|urvLb#wFM0CCbJTt=!e!YO|9zBrYdZ7}!6{t5 zlzRp+Fge64lQai@oc2a)LeGYJs)$TBeDXF6;Zwc<)#9YzfA4PXDNsOj4)gQw;+11= zC3uvb^e$rbr+rYmY)FEy&NY}a9N*jf+?_0T#lO$vf1h%~b2c7!AaV%1 zQPTFAwce1N$^X@nwbozYSVS;QHH`kgU&-=mFJh2&#Vl8jmmmEpl4uh-uxUH@BXT&q zGm0^X^k{i1cF4roay(`8+siFtQs!WTeBEpHhZ?*%BlOv9^w*8tTC(fo#^&eGa-|-0 z2%F_sz)SS-OC-EX_4TtcTOPAyx|`Rs#Xmil*)*@qsZ^u8!75@OzV6!{`)iHyRE;e| z(UC!)ojTHAQRX*Lk*~$=oYD*;atjJP*mCj2F0U z8Y~n7BF@y}9`5W3%O`>e9R>{?CR|?8+pFEJ!HEf;@zwgrazJw>4Zm$n7IwPhi}t%8 z_t1RZU@ucGP5w$E$Dmkdi;8U83++O*xxdV;519ZFAz8G3IP zHSs3d`M%$go6fRDENs0J@BsT$S3Wp*M00$V^pgSjmGdPZ&?WZNeWH$WMd)yH6G`6~ zjkX-k+RT)&iE+Y@_vSgK5hoS+&`ReV}s9dMu<~@T5^i^=MUm>!gUE2`=B(6#*bD zC$GN0+xK&zY7&`D?SA=M_7;k_PNRN0CWUH9%Nt43=8W<v zL1*jrS-K9wMYk@px2nZEjOQM0^C_@XYhC%?fmnK&8x8$cpQOQ!wGXN@xIB#-%fa_N zc4$q+h+|covArB4Za0vVE5p|4h5oYJTs@!ndIY*+rKY?nlwhxSK#|@%p{UdDJT(XF zZ+TuMGXH=NC8Rzd+yMR2BmmrPB6UlXijkC&+ZwJtkIqdAQC6&p8TuBXOkJ1NYe;p! zBh*7+-zkOVE^K9)pbAT9FNSwQC}^ri3RTst#d+TF8eiHX5Erb)YcDfZqbT;+Gw6@| ze(+_I@9PyAJx1jhd05Bs=%_KQA-9DZ<_NFWHV>zV)~dV)SqK|tNUci?h1ea@owTk~ z&}Mun`m^zPR;V;4#3yH+XV6?NhWqfkcd0A00X)Tg#WXcQxtb>}%|_cqn=5u@ZGeL~ z09IF|6v5)cnVOipnUX&RDeuen4L9T{J-s^XG`T`fSE~ISD)8x-yE46w9~JEtk_#+N zk8-Bphu=QwKES-sl6@=wY;gCt0fDr$bewh?$TJa+PhSv^-db^1%68sk(thV0Z>ubF zXm%uU7+XT#5xawwIyh5xRKSg>SLMKF>?vVJJNco6DpnBp(|4X$q9iK+P3sP=? zR~cRG_&HMf-H+a>VXHOIJmKX$Jaj3cykC*&v4d3sMLO~B>s7&eHg%a}tkS|Sp0Jm`m<&bat$BI_$dIp#w9{@1-_Qy((l?OZ6m%%kJxrRvj&K}zU0kQC9XVnQU={#k zd68RFj14&=$9$LWyBtZ@JO7BlkHs+zXUeO9@Pv9*{};U0GAh}B!P(2+d#6aA--IvU zt4Q{{4L!C{RzHf;Kllz^&O9$bkGzS7E8LyV7F>B?vBI7xCGaqC+j8Yrm+4J2W>GA@ zY5ADkm~V2fv^`kWM-S?R*%6NUq=$Bo-PJ6K+DB?HyH%1bb5&{qUJL8-N7e2NHT1TP z!N=W4d3VqWN6$Gf4eITl^~t{$^xFNo&Q(-`Z+5M0FA}IBV&gCGnGO^jhCS_eBh|_G84_$V)ahS(0X;Nw$5pFcb41Ho zy3Lo+nmy)*`*DwFUaSsrn@ON@&K@nTk=K08ETf=N@eKfDmm;t+RfA|6zd=6aR((4K zIu=^)PJAP*o4)Z0*W_LJQRD7~__NQ4v-~?_sjUZB{Q+~U754rIh7(MZEl?BF%5l19 ztkeBAfs?q+R529ETkN5pvwpZQC_D{CK4OahRVsVJcMoq|fRr4`PkG zlDx+R(1)Hg?RBVw?2K6kL&X!^%|o}k<=71v0xE)D$dz*z&=1Tb`c!9D@id(v8{@ZL6soe1WcN*nC7@M|gGlNzlwwg2&&YSF z4(8O?Q;??_S&Mh{6Gyv8O5-pR)u}Do{=o%EG6mn$7RPa`=P$~yCzcF#q&z^E*%(yG z){Tp{Y}54Z#HD;}=IlEmKa;}-|4!|`lQ*qcC8rI!^7BYo74p~cXjSa8aa*J4N7eOQ zP+smb5Z;NSG3F;JMTvU{o-R92=Oo0c^?rn@y<1c_e~2}gf4}s_v)0BgAK&u&;La6= zJC_G7(rzW47j^)j)Bocy3oY5enKXgI*80_;N2l5h=(@ z(><8fw70U3s2zCzV9{3{ENt>$UnD?!8}^=E zWStOV;x{@>0W<$w;v>RTY!gKPLSMHZ8DmH$Qw1BpKxET*Gza#zFkT`OIX?MgmGZr#yd#BN`luA zVC*SWE+=cOG{CO;%%12L+LuqWJ7bFG;H;|}r<68bMZW#R6`QDp-ve~beJ(Z9VJDXVcqeeB%Dz2{e0lm>w`g@h#pvRJ)ow}E z`uuc_+C9f_MBlF{9EiB?pl{_h{B`aH^P)tSSAwNgd{g*@gHZbr(mS1q1|?Hgf*39F zbCbQCMS9Cm&|7`x>w1}uO?5#%(5#bv#wZF3wHGF!yQ#tP>aH(g6P zwlb15y^X%hFz!_8QPsMwGWH_b7_eF1uO*U{uYKOni4)JH)R7ip$K%p6`NomZS94({ zIb(gFm)oW#_mZmH>X;ERDTqSX{D63xYqq&?pRNl1z*EMJ;*RN~vyI9}^sCd2VU_AJ zq~}k+2_Ns=CIc%PW4Mmv899O*LH#7S(a8oPk?BU{ z`~e(-R&xnceS#41{PSRNy+;>Cbgq5she=xEX2sT+QvFyV3PJl$rGcj1Xm{&+nu~Mz$iKcO)vbYDc ztM)b@!AvbRr%5RGylQ3j4;rayw`UQ-$HvP#I=%u=4I z%^HyLZg+1h>e8|%s@=>&dX~NLL(%e5r}rv+y+KS$`&LsiqRA7T--*G#@Vxhkfo8%%0wGb~6A>7!Vrbb3U&$HjKRp1iY|_m~O_9A$nN7EdU0gS- zp@CPt5{d^(%Ez8!Q)~);bt-hQ@R(E8Y*6fst}4inx@xXeJoI~vj@eBrpOG*ho%hK1 z$#V$RQ^=%c%?=Jl)}3*DFZPpqvnyFKf+j~a{gU21ilWU3F^D1hk%JzRy3H?MLVLYx z?OHB{kVDC+)CtsEP$d9;1(fqOMvQNDD`yYldbt@iqiwVz2REt{o9K2aH&h&U>+i^a zix69~I3gy^RtwxEC7OM5RD6`3crY>bWYlE4uZ_4fgn_+vt)XGeb}(>j zzy?+RW9`NAOQF5@ikG8`MocvzWo$@eT?8zL&P&87#eg=cIUU?W^YNbWS3b=(q|&o2qy)-k9#tf@?IP|mK2u3;ss z`)luNF+ECuSF7lSXi3>BNkN2(=W|CdYMzKj-lMCk#kcMWAwL&JS0Tgo`J0phEgy6HdI?zDUm zDBe~D5iJI7Bgp(c1v^<&Chv`E4aG|%7rOSJYI$Wl;Xs{o*ns9TuHq7R(N3?SSzs^# zz^A{;4ZSTGRg*EqBv{OC9nEfFqLEZcy06_D{NaVtar8(MZ%6hT<=Z^z1;$BVMOMFE zt(O9&r!B+t$WRCK5ZW^9?K=MQ7oQQ&5>(S3c3|glq$5wzIw60v@jXroH4S<4fgAU$ zVW)?8B7VP9?2du6R*Auk#$!`EYL9nEuTxl|{nU`zoYubbTPhb@cb5m{Eo%z$^h^!! zv{P@Lj5%Bi3=Z64bCfFadoaF+{BEo=H1@SBJ0Z7womVs;*2Yg9q|F1-?xAmd(+Fbz z#G6pVP$#5R(9IW59=Ta2&~&2~w>OXTB{q*{Xfsv>yzyfdNjPVgSs^qFNk`-*$`gS* zY?sMBC4)iU?zZo~z}=X2eFw=*+S+2zCw?l2(>it4Kkj!Z-aIaH3PZ+P1;-&uk0UltK`e|$2K)L2|+?ey5DL#?8SJCY!~vy7z}QE zF|dcTN`1N6fPMA+GVA5pr|Ub3V%=OqOfiRQ`x7;D?*@kjC+popTO;}y87|&APdUhb zxPfo~b&?}rmpIKLD4bM%ZZj-Eo?H}DJk`NL<@eMHS$2O%CE?c0xAn_$7pfiYs@Zux z8XX%BfA6$jM-!goy5q%yxXt3RxS71#H!ziS9$vru z{SQd=NDK-cKkv=(X4maK*Y!G1s~T7S{H$?o;wyBIty-Y%h+BWOk)lx_LiAYhiOKhv z)yfSfni=h;QBk`zM={Sv+Vo)qwtz-Iuh=M<7OQe@WI*J$WPK#5c8JPD7A~YXi&ulg z^wp6cYymNeRc*ubknPzQu>7P}=I3q8&wB%=hbxleHr}T?lxo(mJuF`jNnFY9(pa9W zk|_xe7M}eAVtP)yf7?Gk*1s50FjT!dlhYI>7}fk{KSg_LuPATV@at;m@k8Ec zU9&5GA<{S;Sh>-tzHgA7q=nMl9TXjRyq2Tqx{1a?mYec@vPD99f=ZaW=|--f$N!po zGuu($nMLiPSj-YZI>P-L6C0cHGVbjgv|n}w1^^1-0c52s9fp1>=O z2B|wE9nW7rk4VQYB#!HYFr|a~!};i?=aW~I>NUeDLms$qP8uyL?T>BS>pT`)GVKtz z$}7w;cE?n0iVIRh2EK~?EJ)fMO0)JFS>#oSc(`!mHW&TKHB(Es3AaHtoFD(|7kB7G z5&2hTqV#AAoD|&9m&X}n?RYk$2>OQ8k{_K0Ga^>S}OqOCNQC3Alc(=1D#A zFa1bPqvSj?eRB^X&W$ZUrkm~d3BRAN5ka}Ynp?=czLTINEr>enb=&#A_Shz1in$vt zK_O^N>HI`V!o5|pe4RL~-@jnDKnNv;T(|Qzdkml0-p#cT&$-pB-L}zQYEpB7N>$b+P~9b!XX!3=rpTBbBc4Tkq)f*Of!tB ziw=Wb?Y4qL!?~cjZspg9I7uhF488q zt9?vy-Y01GZdwr=j&&rWa}+I66|fmb7OS`p0=^Q;UO>HkQXKJf)~eAVwUk6?_V#&N~6$wVEt*F-+vG}hLySPs?-ZM3bU z8Kh@&baAff3IZg`z|E{V{dg628ZpnFDQf8gRo8Lz(~G%z2A71VXp?mz+|v_ zeX+=qY1FNmIp(8;`A-{GpGdY}M%);kEF7x758sS9Pq7Kd_=Ol69Oafu3Fjc*%048g zDZUULdPNjr!6-PwGl04@V&rF^G&8(a7?!DxD{CO9!L7CyxC@Q22oJg8Tf3v8P!n?{ zU8d)!cb|+MRT_S{=V6j?E5nj{t5l8JqO?uX@6D6<&Rua5iHb*49z!cOLq9LgpNZ#& zzQCz5dt4h>YlWlha;}4EF@BL>6(E z8ipI8I=3FKc{(ScFd`C3GVZZ-T~mp>REw;B>ts9c$2kLb@aAo=`mf~{TYGz!kkMNN zms&xbLvCe!bA2&?#;Z`^17dxN!vYO<+ahiGpHy+JKm~`EGU%e z%kX=}8}@$B;}`_C7{lo-bYys9q6WkdL)68XBO7K5`r6HZ1B{MvHSI{ToBcoS4B^Sd+qBe5;w2{_7`a^ewr5ZfFQaeMAi! zXET@zi@L?GM&cYX3!>vBjbZD~sQfE87@lO^+zm50tBj4kC5PzSEB=i-{<>PNg0a5W zzsH&Rme-JOBl`w>^lK=(a7KZ3u>;{epWsmZj{KV84SNaZ63H(`HG#pB#VXjunD>Ya zU`N15*bx}v7$0Z1vspaeXEVPwm$RUA^uRR2KBGce^s17d`7E0?4eF=%o+%G1CPJMEC8+ss`p7!!$($)mM#q3-b5hFSVq&r3vn z>%1F37oqioA_We8W=u%rO4jBd4sH#lSsxo~cIv^I?R35$29WuqGZ)hFE zeRYE0`5)_^Qbg%s^6;t?(sQYlyRvnZ?eP|t?nB0CRm5`CElo=Kw@n3Wqwa>8Dbd4Y z;vWvx^(*zv(fUNaIPG^Le5tv&HlKyt;4GR-mGC2RHOt16%;9H>28qj zln!Z-ZUGO7NOyO0=#Xwuk?uS+(s3wBIfr;Q`kQCwnwjrBf4}cF|9GMDIkDs3_g?q9 z*ZTR4yfv}r>jmpm^ViuGM5m1im!r;De>rm7`8tx8MlCleX`j?vDMAjag`P?IHs=W; zAyzK_Q%lVbJt2~JlbD!G!FUGO;||KJ{yJ?<4E|^da;5{ufiz1WQrlp+oHpww`E2sA zYX^AB6Jh!6>wNTCjbAnsS&XwUCZuP3k!mvEN|rsRfLKse4q|nFn}}r2U1tIEvG0*y z?^E|DQfd*Q&s8>OpZ6ee)LRfz2Huw^?T&j>*xIDx!_WkMqB8oE41D#y`uo6=3|#=T z?W|=VN|%4EyexqM)=ssv=(~*OL6`87>RPhzC;gQ+-K;JRR;hQfg!Sd{8;k@NY_v3J z6FTVzXvUtKR+VuOj*Xwb9N{QPP!TWH?8!E$CjwFj z@p77AN`(strCicU?kCZ&Le&@taBhM$#AGeIQi|6no=#)TYN%E{y&yR83tmG0Y)k&8 zsL~1{G-$6u#)YECsJq&Q_LEHTTj@y)w78Qveuqx{xT@@5%(V+1@B?$F*m5l_+?j7~ zu$^~%SMDp^;_V7V=6T+J$U=c9TKQm&Hl8g4UfR-8SA<059f=`EXtPs}U9g^H$4nU~ zd^!gW&467Y5)rfzVZt0w!#Xa1zG(*(dA$sNokdYD_bld3*~Ly5j6;kj`EAQLy#Zcdk3_OQH#YiLW78!w<;7bI z4Gweu0_Dj#(9e!oxQ*AdG^o4B)EbItvoRju;2iVLxKcE-|+V`kU^7{vdZmd-6A(D)}r+(k2q4=?h zVZgy8Z#yr-8O#AAnNnSY?!>rN^KV-RV_;2M3v8%S4dN`d?#TS2QM5~eYjoaEQRzJi zk9SlnbTWyI{O!JTDTP6sn7cDXE@QLm1=e&ouw$`wC#Hi0mcLY=g+7g>={n04@%`=& zY0h<@l3`&Qa-x?JAXUVaPClHEx3d)cJgZLVk-OPPzCFcj&OmVHTfza#g7Y%a>~9Sx zK85&i5xc>Qc_lKgb>Zv%@MJ;(kLr;rTp5?8yrIgILZ+Fkb-Fnh+meJ52CIDAK@|ok zB-GpbhS51m%{B?=Th}(2R9Snce=+y%HdE6M zYmV+zS^d(1jPI()$Hujt=5$<@N*QOx5LqtczL`Q5yzQCFPl# z`=<-OR=4ijnR_P~1rBqP=&|)WKR9fVamDza*3(CvO|xa74-uD9YVizx%0m8uE9!8O zXnD@9!f2lm%C0{|B!IyI0kU=dfG$f6r5nEmWGKb_@vs#1+&Y< z`|7nBdZ5nEYz$m4AbT&45v$z?8jMc~USRkKa%aa?V2Xf-cgK?P!J)PdtevDs z|3M_G-Hx+FpGQEJX}>!eO=%N&5TVKx-?*S_8XzcRiW&18<{ce9UtR}o3&18OlAx~V z`K2guqLy zwGum@$AL(*3Vgpm)?ns4W>D8;$GW@Fkmi0}q&#x?CIZsaU!v$9C{CGVS&Z6i7&!b} z6hT!-PR%TiLe&E-k}R;fe}1%gnM*VUhdy3@?i#;UOt*=_g0?@}Y<9+VW*g53IKlUf zv-`eUO~wMbgyh?wXaWNiiEQtojyzOfwHI*d)TN-j`dnBwuzlGi?kj1|Atq&jSfPJ5 z#y#DrXZ$H1!Ym;8?t47Uc@Ak1(3KMyrZK3)rF(*qtQvTs!6C8Kv^HDAW_IC+HAIPt z%b3)g95Ln>SLOH3)G)X;ZAxj@k@Kb1e3x}y$@z(`Z_e_z8aju^&I!Uoi*n$%Wzr7m znC-JQ@t+Ty;dJ~q(}1}B)O~#_^|#9E)aGrsVKYLq+~@I9TgLF{u20(sadLp_7}m+8 zlmxyy_wh~@vPRWCiOwb#Gl!@%5L=Z7wlx6wDVM$;N*IF&6H!rNHwE+g$cLYbs^E&r~HWg7#pD_hT(g z3O6E&%!h+zvw%x9U~rAl0H-CQ(*mog4CkC%c|5ICxiZ?6*}_fkfz8ILsE*>y_~Hg2 zS6kqVB)+tDj!d^vX^batC0j;5X?~}licexm8v%Xj8;C|Pg#A4yqhQz#ceYa|m9ws# z=FU(n3axzff@riD_7hGI>Osa-@^dweM>iu>wCOojVfT9#P1r0-QU!$Io1r%6ZD z2L}$Mf!LHb&A|mqorJLzgd#QHj1aC-xY^#<{vvcPfewWs+8&$kLOI9SMQ7SU=}$Vc zZ_QVrtf&lwyut|!S4E1!&BQUbeKTslzf`ge*N~bVUdds44+ z3RDs>x(pp)FeAv-ul&n(trQ9B*+za$T$KX5N{=)9=jjn`sf#AV=5>^|xjwN-p=OKM z)w}~Z73afy>j>Wff77<~rr}h3B;Ux_;o47+>PX&V&p8VJW*flCVtF>WXhm7IJJZr$ zNmOS9cQW9pT7S%&+Vc46gPHqXdCm$c5s-mBsesl=^(tg1%f-(IZ8HRpUZQaqDhIbvWlXrw?g9Ns~M5s*c zGCwKRhSNzEe=UE_X|4EL=Oo>XvhPb}it@1T6R+>XqYfXROz8$vKV=b~rU=sN%1rBn z@0Hv@`C|5IhTf-Bj zeE!pk&!LyYTNAWC3*=9V#vYctGHV6cyIrLeQc+4@247emh~Vy0A9M#YI05>bgekjm z-GrJA0f`2nGKC*JwQ2Z@;r;9Pua$Z75R^3?5rJCk!ZBeVoQY>N!gz2wW8A0F*}Qj* z)s2YX>11vO^}eGDETg3%d2hhElyzhpA-gd^P*DTdX2lY`n0xo+esIqx4;Sn^#+o8Y z!dfJ84+LLhOcu7GZhilL^z7-t}AT&Y_ClHlbkvsVG~j zw*i)A`bu_@r}VX{h^*QB&SCdQuq#Ya{2*%id-NjsI@S%OHF|1{@3pi_TJc~KZa4LY z$2K{D`(Rsd8a!}cVy6JRhDk}TV^0Gz6-Vk~Xx&hKiM2D<@RN82A*!xWva%txW1!^f zXPU5sl$ddNbJ)0k8V9Tg7fl!_N(-)7+0|Fuh8uu#$wl-HFiXh7PKnDo&54%ewzU zPsM-S1_~o1CwWP^=F0Jqyc0f~j19J4?;&ZA4Il=A^-TR>_Xwy&u{U%AY>~LaX6bBS zVR36ZmpJ~&m-=A{VigH1$~uVv9nuSXg7kG zQ}6*88>;eB#oD{l)|X`teeRRB%^BD`W0nrG*OU5%vd-RVuI=}-u2>2O^|*9->5y$l zleAN3xy3LHnB}&ex8A|L;YnJ+{WCA`7O(4#l1{gBlF%K(xRK`h(`ASTX2Qe0MfYDn zWMN_P*JnGp%I-R6DL^lN@*(jQw8tY(RUic$K4~)Fra=6{rfDKsAh`rqYrf0EOm~Fn zfOp1M*wC61!89}{FIrXlsUpu1ML~g@4%4S*b9Grlw?9XlNc%&3b2P~gID>?3|8$}`i!{2o_rAA3@8K#QpOVc53q1E*lPd zRB8Lz#Jry`D)YvaJ>Tgi!`EzD=v@?}66(C$o@mVL%v{=G`FeMFMj## zILcol%R5y@J`Qp2>b~7XAG@H1CdR$u*^lE}4EyMK-?Hw+B&pHz!5jT3vt_HJYq%G^ zq6?Ri0z|LyXs$Kh)WA#Zb8W-L(!+s>x6NT-#BnpZH_myv{0Ym{M58fh~ z&FVpIKWozWF4-JXdsze{d9SaW>>)U#dqx){*;v3AuEld$ox*GyKE3=3@o}ow<=0pb zUC}hQuFiJFESz&UDPe<6X3KzJ!bW^Qcf0Gx6MHAyzQ|`iPGJBNG1k%>;Zd^-lUUn! zvlaV%nqz$nsmu0_pS4wANOTJ)RL=t*MW3=CVe#Smav(>wpU_RQN<49r1_)(M@2iCU zid&nNH4fgoROJo+n)QR`=o6F70F{7Gsm`J{-_93b_w^+6>})Si6oG&{?Z(v$X@xb2 zIb$Zyp{m-aSZ1&Us$1-l0 zXR2(c3lZ6limA2nTd=Aa<_sOFZ-Fih9d=!WBC@@K#ic!f^Xo1`GoEI zSpXIW#nWRxTJq&Ok=e3~TAMzG`H_p21gn%rY?aGo(y$$Nr-e(^cK1u<^cgaRqSjK1 zf`eA-x~`AF4wV<ef1tQ#`ds%n%xW zWKvM;#nDQl#HuM$KM!VEOQViA?`KSt5tek-JKYo!q4!EB?SjhZ##w3GV-D}omwW%z zdkVEsIe!^tBu(q8I}O^tLJx&z5^&wp_?W~?Mycxy6L&nYqKV%#&SV6s`bp65SHvop z)d#OR5|LLcLJLPT3p&Jtb+GncQNDdKI^&O)rik^mkmX5mkiHtU`M8|L`{IsH#64@+ zNB;o=u0;!N;v4t&k$`;S@wxc8?*=51K5KJ~bcu8)5Muw4jeCPqPsz$6 ztk)zb0*dIp1O_<73I^l#6O70x>xxS%Z6;i-Rqsrj%E=d)jJJ$EfhaYgV;Yc^Armkw z%en*eD2+eaU&3YT0?F&TgJ(OI%!RpA5_=oN% z1UgPXZg9wprv+R9RHazdCL%<;9$Ko zRdH$_W0`&er4_3&#v-}~mcbHdSQVoJ-STylxjy2Lp9?ic5LP*@G{KLxjs|`|G)rMx zN9~<|CPY)oQCuALFN;0X9-VidyBb5{^fPrT z{*C_VpnzvpD(E@ak;iWpf=kyb$RzqhFy(~P*p=w{u2L|vDFgXK?xKF-)oe}#?peV{+Pb)1aw`nX`x$uyU=%c#(L{@~ua~T1QK^ zo<617>TkDZ+2n`HhzG88UYUCxlt$_JACwM3IzF7fY5(Q? zV02uN)r?`R$M;RW!>HbmlAe+-_*j$ zjMlt}`>zMf6huEOg!A*p1uS@1#5qbtq0^Uq`J`-XOYgg@xdyGOZ!DAYf@xhd{w1r&OLvvc9D@aa6>X&Q3s&I*fx`lcv=#oOa2UGA>UMN}B`8R0r-pLj)|QcG@U}A+*z|A{!YfxO{rMh=IRu2}$Ne!+inCvh zis|~|JIZ%{mzwR=+aMx8t^|lcb9YV;gZYN(=imAVuLTWdR_^=jbyY_Sr$ag>OU$G9 zjvA@P#6|?@R-X0lazc*<=0i^A9KsB0U$_;~5YKakNb8>vs0J1hdw4g3M!{^VoX^GKKq?+}q-hK4?(bgbM5aaETWU^;~=fU0k~i9Yr?X zt6-w?$g_~E2w`lbskN{==7Ztu=;%O;_ydeA(@p>ZCoc&**x`!aifySetIF} z9EXYEBQA4+Y+}Dn=MWsW3F*d`*@Dw{6ws5|h^2unCxHYz6J>M@%gbn^AS$@#^sqvCx7bXiF^WCr|f%Wg*hZ9zD z$Q$_m_{q0hGXW63kF}UD`ScIpF>|~4K8o8$B73Zo1!X(7R>Vct`6y8YDE8FI*hhO3DAIn5(IZ|ZT&S0m`E>QEA zIn!OTVPA|0`$zh)r%_JKk909tkwRSLq6`L!lv4eNwk z1TlYOtZ_ISYjp4j_Aa zM9`rP%fR6UF5=Po(0Q9LTW!vU?8%coN(VCm1}VmNX(p|w_xvY4dahC!til()lwujB z`#8B*OxgHoNSvGAMsA6iA)_GZ*(A;pZRb4^1EJ+@EY!R8(VQ$ojUSrbk5=x9c4?zD zCGvR-^6Pr-QjjDq@{c~f#An33n)f>1Hk*$lT7bpMY&C6!))mWTyddtUM3z~%R>=%m zB&8`&8{0v;nh!-jpswCP;j(916PTKLRr4=Xx077Hy4WQn!%1x8bs8V}2j1b0JE4f! zKUN8+sqb(1DN?PYU3W-oWT7X!bsJ6i)*YN~IbjJFasKnI)KR*~B}?FWgx)niB55ES zHg~9BH*!DtM>GpJQ@i1egNYt>d&r>+J(iD(3aw2*Mj4Zpo-NNJ&d7e?llF<;;>JN4 z7qd0NwEkG8^%Sl=FXPt4uw0w-&ul>irdFA6A;u`KTuQ@NIb`(J$n)@;dU+?LUOM1xvczRe1nUZ@ znvl{?WI=T|KyqP?fInC&^Ki9!LKE7U2yLw9iplqW#Gmju(fw%4ZH@O~je7Y4{Yf~~ z?Q2Q44d=r9m0{8>^DIPEXyiZ~C@x@7gW4Dk2SZF9+4uQ&nQz=^aO^$YT>4}?eXlk_ zcCmW+*gA)oXa*^Ctjoa5STN(wW@<^Sbo)JLPSJ$@cMD1Cc2sg{=IfruT)7kTb1nj( z%zGnmr^zisd6Tw8@E71D0~}6lf;#HDwZ;dGQyesH1tyQ7wP!I&{QEMd@#-%`#fXR} zMZi>iyoE}7%ZC+Lid8Ju(oGHH?*vIvMw$dl%?HN)`F|W-ntU?ynFnm8GPgvUU>D_Xd3Yf=tBm${(3G(6Ks;)>tS}2Oiqj7}?i?-TWAs%#+x`p&blB{{ z+dvD?{KsIlHUI^-mA??{Uqk(OeE*F4-yaKD!062^Jm|uS+UM!OiDFWG=X*0J|K%6K zGw(u$GxT@m?^o4#hBxlM*n2%TD3{Stu>0aC9yco{uIw$|rkl6_Z=apP_DP?gNh-r4 z+?yE`nK+0Vzn|pPmh5XtJ0uHcHJ!Z>;~zgF&m9-y*`$SetGzF?JGX}tZTc_nJ|#co z{|5fZmDc;ai2myb7M8~&rOUQSb+h||0>l=R~X zkC_c7Yjd-HBkMrNR3S{lanS0!Qu} zry>iQe~A5mPJ~PZ+S|Z_Rws#&|1r4z?~wiby#4Qx{afGyo9_R;%9OBBd7U@kZf|dg z=IzebmHShTb<$CNu^1t*vR`^lVcM1#M*}Xzze@ev+K1cMxd3R>Q8Q_dWDGDjGI6ikV9w#CYh+tlFOk4sNUJJ~B z+8at?sDYmgI;$pKXLT*3a6vM*SJN5we{dW1GSI#RKSWA?W5UF}%l-TIe;%!Wi*9PnAVd*- zaD3McD&{JTA7$9ZLUjuVt-rjBD459b7FfJk^RCKX?Elw#i%0c&qoFsE3M{blfC$Xe zUYwHyC{Q!Xs=j7 z0Pc6yC}lOR(PzK%DopiGa5Mo;V<5>q-4fW67~QDZw<5ObkAU%MGO&wUxB%4UzDwc5 zR_voPrZbeh*J$j%Us?NJ84n6we_(qzPE&Pp*q3s%u7Fou5>TO<(sdpYA1J8!O(k^o zD`G(8KC#L1b5P_3L^h5`)C%lvS108IKp;)I`A)gm!ioFDQB~(n46b;jFCGvA#@XZz zXfpasL##Iv2{E5!VlRGybo|EZ^{;Wzj`?aBKx|glxJ^f~=1-r->*DCW&e{f~8xvFP zTBm`~mO!l_@x#PzXE>gSEHWceQ{x{cgOuKt{EyV;NB*HDjcyf{UC?@>-3fl5pwP_r3%rCm)^5vmvE2C3BtIz`~bwaK`a5%j>s zr8Un7y$zS1HC$&excV`Phijy*Sj5;xzTf$?cr7UJcqlA*Utb!Uyq;q`;uNz6YHsV_ z?vtFFOLxQuLO!A=q%>KB9p2?>fDYI}wz=zO=)4P+{v9y+yW8WDPx^5-} zeo!NwpsgsuER184`9@J^q|);4->EF!E%6n$!i~gT&W%x^YvdzDt(~>yI|4#o1Pm$a z!pcg)9^Kii69UG-dPKIEF|??+s&zcAqB0N7q(Q<89qqmj3plKEQ-fug#desBn$CC0 zMCJ3bf5|)n-;g@;&7U={#Cb!;D$cJp-wU)({>0%|56Ow{r!~R1M5u3YJE#BAX}KW=~l?*ZV=!O)7bu{ z^a7YAlddE$+%2V{Q-_=|d7pIkdq0+YKdwet{69n{>ep&;T_O+=W)7Yi8$LQi7qKG z=ep@%R4$?~t&SdX%S6l}_uCArFQQ+40hH#X8^ukzwLGbOO6W^B9&e!9#?Yv^)}uO- z394W+nx^`@+A5(CMj6WaWb)FhWg|Z4IO2}pc&p1?ddXyHBm3&?q@aHCMU7UOId#>C z{lO(haG4C@Klzi02@~C>)rx%t3%??Jn>`79Eo^5I0qi}pAeaEvJDcTRd z718BnD8Euy*s~{u6sv}uMn3{Sv7SnnPMAleSi&E5HdXJE#o#EwgjR0j(AYz*c?&HZs3k=dn2yqFW&&ne*3}3np-wA43rYl zl=cr4_nBU8MpCEHzqp#?=X0&sf;9NE%g0#+MsgMD-{G8ki$Z}hcH^R_?{#jv(pI8# zT;?a=7pv+52$oCl++T%)icEiLfr!*erE;)^rxrIyVruOh^K?EpTWbRPvij_;QK)RS zg709*nzJ)Q938*=;pzc*4px%S&D|IURoArOvLI%3E#vya-1*pDLaaYsfG^npJ%Drj zAA0|8w-DOv2VQvAgFG9l7E$T9|2PlM4vuR>PU~fpTuZIY)wgFCKCl}{C2`ahTuact zfvHXZD?SkZ$2nvKi+s3Bo8irBMst?X#X&n27K|(GUU5w?2?WTA74Sr#xg@$l26*!H z^=6Z9_f>P*De71}eyo_Xn5y?h9t&4#(c`94PjS`3a+w_?RPPxGJ27q?o^SztKNYkg6CTB@59zfwXKv}Ls<+A7@+*5T( zk)D-(rj=m>W!~*D`W!V7930k8)D^wHx%&%+* zBC6)TD&b3T6nXnuvc+n*6S%X~-}48yxRaqILJJq*-)$U^#^n_s{#v{`t+OSNUtiP9 z3@=HzWe{6_lIe?$em}(t)-$~1F?a=pOSvSUJABr8nd%LW<9;B$n6p-iwq1{V6VGeJ zgnN}BAGiDtf~eEc9=7QEqpiUpK(>dXS;j5vvMVTb$pCWl20zRJu)R5dSpd4jGB+iI zPLV91(_#4KfLF>xW&z&1h+qhhxsUr&OZmVEmm+7z(7R#M-D-WeqbAV+Khtz?x4h}4 zWw-3Zes;XSTh>@MWpLt8q)frH(X7PT^+~r5J(JIp__|YmLDqJX%JWp4&W?=}}pE5B8_K{C3L)bv5oKWEQ4(d2o1qorOMeB-EZWNy# zGW~He65)lv`+CS3N*zseS)MI=h=+;m9@Ve^urLWvlbFjx>nKIi44~7`1aRp`aL87K zQ{xteUJ>5*2c&JfpdH>toL?J4*V8)<8|m_|bFJOw?V5i{P{^94UTkZ$v6`p3sLvIB zGQIxYC4_GK9G%ef#((>Zl{LzbO6PRrpLp_ONZnBk3k87jWK@eBqvZK9+H1 zVm6pc$N^SEpjBA|6}yR*q(^x7t!OHurq>OEl&sbfL>xt#?@K2%>Gy&}NLa@ERz*$_II>@WvOa=1ah#w{98_ zvKO_?{$>h&ECu~HjgV!0?+Yx;bGsiLo>qGt`C=?EgKA-l!$z5<`py_mTI)$ex&Kho z=K)PjAEgGnG;D&fCLkT1r!s=fdD9Q#<(kC8IJ7%2#g>R?!J-NDD)II%<7h-+Mo&8F zY$bUdZz?Oj+DD+%xp^HlJG>pADrs5J@t6WMsqL6DIc15mvi^BRC=t1d{qS#sXd%Fy zs#vMpY+xAjCZrg5o8MQ!#1#{(hq)IXy8+h8A&N3v z5C5P@zKFB*qRQ5O`vTqPaE)5%TslVSRm;cj?5*JK;gEoPYBlllP5L8G+Rg{;c7}$n z)EBVSO%k69et7>|l`Hec64{03A@p_Cd<0e#vFe{qE|m#p667o1Q6m}))H9077Pm%N zj5|Mz<0};3#?br2VNy)qUo37Rbi0xoD-_M@+{_u;NYbC@dmO64!DSz=d0FqU{%dS9 zP(|F9^VF2h;hkaYaW14{?la6j-Likv6D!>^&ecw;aWY|dWP#rWk(?*m_5ErxUsA6+ z2r*saj*-2X?7ko4!G_3|xS#YX?t%v6He{pT9~J6&xf-LWat1BnPuY9(B1L66mOSn% zwAb;K(9@BLIWOmSu2_b0wf22)PFTqo>y1z51NCQZ*rB*~NfF*v`WDs0H9`l82|H$T zWH_?Ig#snvKVwxDSQ7L-EUkH(4#3_B$;OM_*IgKb29A2sUFMrimS|+Hta^NS@8-h!jA~nPj<&$zJ24-}vbgvRf!|OI0I6 zLpQu06A<19*&P$eKWCo`1W?LsF>bI0k^i*GeO*twl;P~wXh%~T`#dU!e;GvGh0Pa$ z4ej~aU-85{j1anrw?%kUp|#id$ADtHiX$XV6{7@|k)xWbjb}7XAu2!4RbG*218Sln ze*CDg3}eG;^e4~YcuOH6xZ|N&@5@}{sEfaDx;;_{hX;~*}o`n)q zd>WVQpvfzT>3AClioBkdks82+=QboPoT=NZ3e}F-h6;tw>GUzlqVnH%;`qbWM&e{z0umUUad!zD1bbbt6HJVMbLLPOu}R(-=+~0 z=#fH1lWB6k-@gAG=dm)$n{{86Rkt=|+BCQ>waZf}q-sWv@)W)(_8s;h6f9v?Y&$Ab zbcrYDx0A_wlV;jy7^uWc#q(hrjl`5Z3ioS*kv|#)Mq6W7uHSMYFM79aG*_oR16^v1 zu|+p}r)j@cUZuP%u4Xs7Rav0}P}@v(E2#Q%b76@%(vHAA;3+gLy8B#dfI*CW3?&Z-!vD z%4je_3Q$EqD;88Q?tWT+N-kp@uc;k%r?G$_EHnIh0`Okhe?rOwS;=tYxz*8y?|zo#DM}ENL;H2*{dkkP8f*P+HVvoME@d*bDVs#Yi{j zWE%K4Y3elm$5E`Ky!E*@D`jBrko}t@Iql-3LQ)TvnRqUwFAnQ#O6!A3UqJU-ZkicaHo^91OW_J{!*+rSIE8tEZVB<_YxqD?Q z_C=xhhDYV|LPg@C_-3Es43T1u972{$g{%iB>#`@%lKA-#bqSOvyBg)fb=~%`?VHjI6HInw$r^ zn`R&Z2@j@Q-2lqvnBGXx?|ZR$_4^^%mBlyLz3(0-9kVyRZIIkG8|Ris%b1UYU2%N5 zmGjkN12}Sj#2FIa;Op8il^9J6p6%wPHrbl!Jm0usdVh%A7N3J`6@l#ZX+t05MbF{- z&r+h!`9!U@VN9N@wQj2khWzs=`iUe-Ux$~vJWCP#i8|@YTZ~4nXnz5U>2=tjbQHu9 zReVt`=^A|=$doK0`N&CDY*okV_0|6McMID%)uMZ}QZiBhiW#qlGFtMqpa!DHbH*!e z%%1v}`pZ;pa~0)0mI3#mkqp)AJuCgxY)_^$hI{1OOMV_!l;e<>#Jlph+(_T@2;afRLwWq)zAIWczkKGX8!bAGHYzR zi03p#n*>Hyh^*OoP(lS^+$Ac9ec!Z{?{+a7bXW$gTk=hYzZK1bWbElBu@s=MtfX*>88Ec<*Pk0KDYoLZI+D0iA zYd5eMxKMgoOrg;~xN7JE(n_J6!Eb>Q98y?<0vZ%eBOg-<(;R{HYzsg)#*yLK$|l@V zSL(ZN@w!KO9H4t0*t6Cvisld6m8M#*UAQ!6?ErtxB~k53PAwti30&iC&=@DW z)p+JO-Xc!ay5Sdau%_Htf6pmgAK$9u65ztrhMVll;ibS7;BneACy3?z)JphDHpdQc z-VKuTE=jl{HtVo5>MT@@B-(-OE2Eo0$XtRn^xk-19N=yYy>J^nUTk||>yN!jR5pk= ze=tsHmAFLDp4UX=c)`tP>`Jkid-hGCiEo)U;z6xoMH=d*o&ML{(E(e?!TFTF2 z%A>)P?1xTzKH3rxS(J+n=ZKEfx3fmf)5P2B~b2JV4vL*5maLk8~rs9YG zV;D#+7PjqCuJ?V@2fzM~!GxKEo|{mmjM>;aU!e`uV2C!}7z;~n!{MU$4QN~R2>D#C zEkcJ`!w6Wcr@mOY$YS9ZNp<3Co2E==o}?eXwj8!53_1bBzukS4b_Ww_zA$Z z5OUr*j~&fMAYST^Mo79k^_H!o+fYXW4O-yVLHtn%d(mUxUL2v$ljOED#iIM_vLu`G zrOdPm@hkjYqapcv*56!4KhTbTuS7`tlYyz1I|4+yV0-!roUAY8o}zRrF7=?d%KVw^Z&-M^bSK<=hKDy8p6fHdlV7Gg--fQ8?Swp`o+p`3>N3%jYl*Hw%s3y+1Wd;=iR>FRpJCoCNYq7W~ z;`zcRDGq}PRh;mGzi%_VDy;kuvaB7hl~3be8U3!s@dgFXnd?T}>&c#S2Y3KQM-V

        cPJ58%jqcHM9M=W-gfg;cDQ|XD@*q+|H@xScD*=+v2C?*5guK z;Wa(c&wCuf_!ZdW!OM7c^(+h}hN9u)L^@mwb5fXL5Yx0KQ_Lt9=|;7Rz(;O6n79s~ zE18P5L_c@hNj+N?M}t<6$bZ9flM^jQ!w}bg8T2Z|L)qS`C=YZ}A70#GoH}W|K`9Rp zK_e)0FO15e1!Badpjq(bGdGGqIZ3P)Xe*2A^0V`E?qhxkDh`?I4`O8rZ~TTN$qEtn zRlawr9MroDLuc>=ymvmntNm~T@$p$AMmTch628*Eag<`t+=MVa_MkeSWvFxJW4rn; zA^yl8Eko(o;vdw!N>b?$YF_iaN1=Pn!X>AGq(T-NEWM*Kac$jsuBf&q_JEeF#q-Bu6DG(TsVGl% z)162!H4hcqWt-0ddi#+} zn$?YHas>xQ7J!!PA3>P-oV;`*C{MATixZmG&*NvNV?&$D*=-c8~} z5i6fYdwgwN$U9_?G*#uoa7U#z$ax(-ue>w{g3M2bo@lOj;{~58=;yw4gHCm7qW2PM zN?f(CvQN*`v?q02Xnu2%Pf#=IKn^JWqU+$+*{j6$LGJ}Cr&x{seps8y=P&0>E8q96 zN?RpZe>v^zwuWmp>U7z!X`Lx>YFr*2{rUE$fj6mvB}f( zXwnoe5yHj4VtTYkjYUhE?YGb`(55+I&CyIozB~{CAINJ<{~7m_8Z{ZuJ`IP1yX2(b zR=b7$;l{sd0aO|W71KwumX60-+9ub&(!yis42>-WT~_qqUG}Kqu^aO0Dib%?PWU}uz3F~#Bo!I`Pop(cDyFtRSj>j}`!D3yd zuZ=D)Z{-cO51N(0CM43(_(Vn?u5@bpl)SP^hJn_vr6gHhxBa7DUg2SL!-BA-Kbqe& zt>Pk`fOUfOTp@bf3lr;J=^ieFrdvPv(b7iG1_fQWoY>zoNp032v{%261&-gLq^?q`Ge~R?PW^I@ zLu@&`FugP25hh+-wOST|?#&nTCkglRyj&c!(`3?i?k8E`^!BP{&Ty$_O)P{D4>o(B zH0G%?$Gt-TM2#R8X>7x}cdhb(MnxK(H7KQw$Cd&r8BIRIOBkQ*ukF$sqh&c*VzCIS zW7j)FRAZplH}c&6>+L1SdC?D0tA!H|OW`O0@CDy`hf=K5jzcEbIB7G(8fMIF(j7Vc zk;&YYaDD!l=6C>p;U4`GWGSI<->+)5jHpM)3nXHDj)c%!wHZFx!un*Zly8Ge?GLb6x(8bjxOM@_NWU z5r-pY5RTwGO)WKUF_%`jGN?rG3k3pfR5_5Bne_0@RK9dCkPWEr-1L z{Z;q)r}^E!-%$$xS_~)uWihz8$~Yye6t6btvSZ>wsO!%&+WiQx*8Ws&Dn#F}MC0b| ztGF0e2wiz5pLdk1;&Gi%ghK{`_%P`-+t##hw2NNRXm&nC`;Dp~cy0m|rZ>bw?mv8? zi_?N%ie|Qovqc9VXG%FDF1N`IjP1rb1lX8RY6Nm49s+6^q2w<=IP|S5XBc?T*rjt> zI?r@APO^$gNuGkTvjjxcm}wJ9KZuhRN()+MUZZJ7p{NXY1(Bam>Xd&gVDM`oF3zI# zN85S?c730{TkrQ}qQ{q<^~fkEA9)PjejGBttDDQ;HvVN68bkwDKtNEXJuMWWinZu#O-i7A)s5g z>^dBc*!1)hJ8I>^pG?2%dxNR>>mXn~6&dVV3x##h@T1Y#9fC?W?iw-Z{OVOl4M~v=%11U1L@;(ecDL>d+EyEUPkVbs%(r$A2-YmoZPBmd z6Fwnu0G=`d*vYln(BdegiG*hO5nK^Da6}cRFslgzVjm-;nrNKHfzB2fPZ%+~)D9`g z=X@dv27YeCUb%#I-cVvVGDp1Pon$kv9D+tbsU1%5GgS&72U z0)z}#W%f9iUtocUds&$Q$dVJ(^GML+3$ex7q{t{ENRgGOiO|-dWf>H)W+aTpS zE%gQ1^o_VPx0QEU|K7vmgq`BDdh2fdA_JIG+K}`6*$Dy(IV3*$31uJ-^2&V6PoQa` zX|znlm+-u?u9^@#0y-(qKOeA_8`Rf=_KEf?_23*5-Gd@`OUE2lpHLjdbe6f2(Q;YM zcKPeGifQ*t!92x?d*v_!@6+hQYpN-n9#Mo-7<`@yGE=pW01ODBzZ)T-5-bVnIc)}wFCHy}7x~-~A#Ybn{>1eeeD5 z{X83=_rv?;|NA|D8ugm%x@N6)u64$79Ovx-32*i8T=9m*4;+4X>n**9>*c!{Q6~eHt=!NeY-xPxils}bo|KaT_89ZnD_pUg1Tk_ zU2SVf=!V#<@B48f4+Qw_RwLMw8>5(Qi4-g`8KycS{W|dl_JLm>BfGW>(uKy+)$QO& zF zo0hqixq4?q*?dFc=tDg-XdkgTtcEK=R`0;`d##P*UMG5)48TS-{uww7T(nv5J{8eX zPuFg6-Z99v-w|^HMa*;qXZnakjf7`@En=e@`Te%KhWofVx%`i{(<^R&^S+5480=TV z1C-BxSa--QD6q&RbIkCv{gPsPDd@;%acuQo!L)}f=xg7CF6Ss|efXIEl;4-OR8=7KN#nujNSGc)B|GlrVstvNSzo%9!zz-8*|Du$vv61) zOG730kU!B}$Nkd0tUr(M+fD<|v-k$~WAn19<5#gj9|`epLge{9WB%j{I)>KUsPpKn z4T>T3oZ~`GMuIgQC*TkD~+u*L`*F8KU-)P+Qc8_ZZ0Lz z;}|k3ly`}*5i|VY=J|%qK9qtaq=8SKhnqPG#U4}Sop0x4p#GhfS3v7f@}@9`UpCOg zZK0E>&3Q&@l&00!El5XT zz=V3k$kL5+fOAXhbImmqX^Y6lVKcvD@kJ&FCsLobe%uxJsb%hv#7B!-93ADtp4|9A zrZ>bt+a*D9PDR-MrV~E>egq@30RAMdZo_M_sA{*XIp@07q^!|sZfkye7kcUmm3FP& zBTU1OtPBk4Bq4ZOjbG3y@-w0`5<(sLeplZtgFOZAh>R=@vI!+o6|MR{r{67Dy~sE2 zoUF0kOfzBV#lsd~b*>a;OeC`8LE>8oRgLZ0HO==$ZzVk}JH5&G_0=6>Vxs%=f!`9F zzW=Zpd$Zf(GV{TWbJMhFvZ=XyyORqfxwWCmUF1bc8tT!;y3jJ-jr475U0MYw?QvQE%JXPouzcFKIS$M&Sn5@3+5Pk+Yzs{a*G-Y`>WiGT=YijLlcs?6Vp zYOI7@*YB>{U>KHMP;kJ<57Ui3$aIiWleQo$Q_krZbB@2KLs!fEqU%;lLgS-Sp0H{H1I zWXQFmLu`zY3$AVIeoZc+IBU|tPY@NaS;KuEDm%=YUM*}=CYCp>;b!oGW}{Hcm}SgZ zx$Gbi`wmWJ0bc61yTU7nCY!X_$LT^OaXY*4mQ$Cf%ilWk0|&M z3Sa6$Bdd$Nwi&0H0JN2q@ z+PY3GuUv!Y^2B{XE?Mp-e|(6z;rsw*yQO&yeYmi<-f2j$M)4}m8n&TQK%McIT-nbe zqF8GEoFn2XLMclxS9p3luch8*I^C?&J(|k@a+9mQVf>{cW;gnR@q@kwF({BQdTv?% zVkCz&aB`@|dZT<(F_4i6#(zZ4U#mjD_MG=uTaHy-VnWfdPJ9Tah!6E(J%H*gTQhd6 znED|;{s@!&jTugvM;Fgcho}f7Dr$%zLYgkl;hF)RP@|tAVVTH|GiMUZj-zG#U2xh8A)bnscG6vlcDd>Zy*KP zJ#Z(9OPx+xHx`I2FY(%l-uYs!CV4hiX6)ZDqkdXYNeXb9CKi!zbzXEwGX#1LS7m&5 z?sLqzO{~7re=hbO-}ynGW6p!8sjFB-w-!OOrOjyfY$HC-%n-sD0MsGDPAYU!(4zXF zn;i0NML0Jp(p{3i}Ue({oFHl(@(r2ybYQHC1*0-=V|H%9$C;QSj+`%hw= zU_7N9wjYA?R^p8=IKZo7(x`WY?c4?Q4)@PLuKyqW|GzL?QZ~VV_aF3HSCGN{5Rq*D zFbXu;ko<@6Mf8Zgf8O}tSQ=(X_G291KEB5+z&y)B{SbIho)#&P!GpzLEdgAC1Zl-o z^ouK*DeSo5fnVO%bWwN$sIaRZLfosB;WuvfzcWAtQ__&Y;+#RD7xw{|<^H`3;B6(N zH(dos_mZRrux*9j+nX(r_cqx7ukYR0;Nmz4YH5;|WSe>NC_x0wkIRgEixBC_0v_)9 zmFe0gRqgEu2w2)Z*vOSMqA1}MsTh`QAxTUw{K0f0!#B!Bkf{(qb% zB=pDug_PUwA?P%mf6$t8Zut(0(Er-vi^Vvf12{KrrYX?hImQ2gy%*%T3kZvGy*d-- zF4UqT2o@xJHP{+{)%Bln$@?nIRR>F7bWoQVJ79Q;p@5#}5BK-?gRvO&?ufwA5>T(k z_?Kg&z{Sdgchw4?$(z21L{kFEfVaqS_&sx-J^@O$1w!FH^4*s%O z8$g?);EGg2{o_!0KEDRg2tG4c&F)_>vM2^N2rIhWziGc$OwRS>YkxGjzh2}^FxU|$ z6z<$0$pf%I8Yp=k^x&(rghJn=4US9%Jo7l46UXZzf|@_WPLNbSh1 z7abwP-|faH{m_}zNb57*Soj7pFS&XH76Ik7Am^bWX;4#gZH zx398s6EqZJtTfFktHKgmhwENHPyuO95o~qf9Cx3lyLvZD!ML6VizC+;LWAUFTSOH4bN_9~Yiy?FVRYL}-tarf16lKd|A^`&*e0ee5 z^$~QRnsKiDJ#T?KlrtNlxFFLC{N?LPc`$>D3(~JW8>}z65yAqT7)i6M8Zl9trso{dK&z2#(Kz)Zg#Q z8L)qT8=zf~{2hhH;gKX>FtboVTDS>&e_OOCjYGlrG_`BZYJE6x)aX~2t%p5HJUncN zJzGDv8eEbO4<{0BdJ=ecCwVr{dQTgh&X!oU>l`-U;>dk%7rFB^LxNvAU{oxWY!mPv z=K*Vr$aNX`#6TdMkFekp5LO<$SyfaJ`r7_N>`!%V5+{ANn&ax8^!50#63w(gMAgMv zJK5yn;n<8uSPjCkI{Ojz4mXfb*-CVrwnnOFp8}XaUg7lWlFg+h*U2^0YbeZup1V(o zoI_bGr#f8Pr!_^2X+T4GhPg&A7)7 zhyN%ARF%5d8J3@LxgNcCTzvnGo9{;c;Ne23fCHc<_?;g2dTi-{b|7DqBOP609X+u% z@UQzIRQByF^Sp%+;>XQ{Go!s9^ZZ4(`rj+v z1QP||+}_nK$C)Q^^SNn){>z-rA4j z<3VIi(E>I4-POafBiQ%(roNq&(+qMBE2*O-a*H?s#ztGKihn2I`mG!FCMBxTN(t3m zR+inzvIh-aP@jYbd0^F9jx@{g=j#3nq~{=DDzfH#9+#xxO@WSw+b8&8P?o1~+BRoc zA$t^%KbJ3dVw%3^iOF!FFTa0AX3gikCvLGa=l{R~@W+btbLlTEz#s(hhzcn~1ra%U z#dT?S2tdHN!9WW$*uP^rsrZ7+QCpRDI@fk^!FKX;@>ss>y}Z)9PXKSSQfs${t905S za4`q)w#f$Za(BStnzD|*%I^f4?V=@NSl>#nf|P6Yt%XUPrgn1N&t6@oFLJrHcs`%(s{jIuVqFj`k)z zAH@8-ocFBP10co;)?)o))aal{N@le_lqrUtE%d=QB z^In02)w3_!BX)`01?ag;F%{O9ldI=kn5t8pmPMztWyP(A9?M*z?#l!$H0%+*ZOce9 z8<)+ZxTc-+k;->J)4{A7ezz0UX&z)Nn{ND`xrvzzhw23TtVxdv^-%v42;D6(e3@=o z8--(^&tIR`uAq42Urh1ToZl=YEy&Al(AGN3K0KR$eNl!cHMN~(gjIUa>Z`OeG;FoV zScuK3eO)W@v01@uBCi4TelGKof;1(r zaTChyL%~E_&_vq3|AbjxzZ;3J+ALRubjc*iG7n2^*u*0qEkM?)lHtuY zY(nCvwjldoO&Rip!eR;Vm>mE~`*sXR`uoMf?B_V`=)n(39_k4Sk!t2t9{i{-laAsv znD(hHkr82W9&0#q-{mhc9GkHzV3ePYc+PJP6b^74w$nrTG0B!=nDbry6ur0=&U(Vx zp@rYAqfcMeeZNq=<7Gqn$tj_i>*Gu`=@fIv9tN?d#%W0HbZPI(;KM>CW-l-igRx<( zPy;~zz~a8^Mveqioemef;}?a?Jpv%9*H62pm5$`BvH{r_pS`q;As_V=fLa;hRqVeg zw+}EKe0=k0!HigUQpe!k&OvJ5;@)y5vg6y9M93M}+EhlyTY`HF<;)am*Ad)K8+4bn zr~zyx$({19-Dha=1Ur zD5k)0XZ{e-oAr)sH;S+h$CA}w1arK7skp8-K=&QMa{Em)gj5C(h}CoCp-7|X3-R%L zGAKdgf}~Soh2zce9Zs^T6>lzoizocLi-R;-j=Mj7(Oq&CSJps3gi(l85*ZX(7jJ-( z0R}SY0p-SecHd+9D_gH!(@{HXi!$*NNE#RWbaN_NZjM;K`NWVtb{Qx~%%i3SZIlAb#eiclK78LPVk$)o(6K*;Ohik{hf#pONF2x<*pMs9y zjJ@^17Vx^!rk@|gX37Ez^3kWDT(unC#8&5-A=`>rA2FUP4utqc6BU2fY?)MR&zv_H5weRpj2eRvyg z#<88Yt)2qC0U$YdCaFiY%2?(c%F`tS?nmtnS?yeqZBV38Wr9*!UQ_LKz0T_JBL`4% z_kl&9NwPNVg%6^MTa$ddiA{{h;8w}PtxPKfc<*WX>d35voINTPd=*U^#|OOqo7ZPD z)Ns1SEkHjdcpP0_&>PC;Yc$Z%vBeA&`|TT`%)=u(_p=p7VDLy``i77PHgmp&I6lx|^*Bdr8zl&fyD5*tIA=v?#Vy~sz!e*0)_ns1kq_i)rmcow01jH!0DYj?x-C{BgyB<=6_{QXhY0{&F60 zMi%i}1PMr$p;d+9&+-5nD$IPM^~6`mQ4Thk^y*abrsuuk@pPhwV#yZ~R4h?%!Mr6aU3 zjdG}pBNp{-e7m94pL8D~=dvyp5hJhA7H)%2LG^^rEa*p7)48R^1p%Lj`C?NWdSadX zU-X}R<`J8iji~vIH(OB>xY zGiMD})*upw6DQ6aIv4%)^#MXKgxK4w0$ipUF*+Cj7+|UFN~?9J_!@`JeT0s&xueFT zYBBRjO3UW?Oncu7+wC6BML(TrJ_}vXRi& zU>(%~{fNgEzFMZ9K>heg~1!%xkl9bHDO z?7Gf5Br}|&2jXPL~6V>}KP~PM_klg-a;rl5d`^*2*g?-d!vbCx%}73!K5~#gLE@FV%=1 zkEM45AEn*iA>lu7oiGS7Nq@u_LA$d1iglZ2%OcriN6DOCwo#|CEJIWI<(>5DPlA2~ zG8WNQXPG4KSSP%h4-i^q!oC)xcM4FTPn{g_*qkgGe}wOBiF>~P#8@f@)n|H!ni?A@ zFU>ltDce7Ny!z#Qk0w5AFC4m2m+qJ=we@)Kqv|Bvwrj+Ze$|7S?oE!At*q)}b=K;d z-5@eE1D9atpSn4Pg&rKzfy)t zf{GYWTrbPLz@>D=j5ogd`JzWH&MMiwW<|xy1D9wg9|TkR`si@b@C_VZ2wo(yS?2@k z)D>zcE2B~nlo>xI7er686J*#w}E zsp&MjFLi>#u5nXu7J|0`!wV;GRcGVyR)(dq;kxb7uTYQsOpU)jlURN7ysi@YWM70; z;;5vD*D?$lh`g8kbk1>Ino(m4PuS;VgnhP~*A;YECP7@2w`li4Zy2R7FWzYplOa6= zm_{kOvs|sjEg&iYFE^`p1>GKM0pjqXmTX+<`G7IqtBJGY-H1Gb0#(`u8)2$3u%|8H zaZ1uW4+L^0sIWw)wuq)gIAq^;8u+3YW-&ByabEe$9Nz%d#;4Si2WZ$0lu`u&Y`!1x zCiP&=5mo%0Ar!At8TD2G^#vPSW08X zPsc2BgCQvD^c7EcX$}i1wR(WOz$v3#u=QmaIV22+1I5ED#vSzqKDMAvDU$&R(* zPO$zQ=t{f(uKYTS>BNyCXeU!l!fj_#B1!r-6D|?9;=|`n=K8Z4t^dJ}RqxEG!g5Vh zv~cdn4R&8h>cx{pfoNl)8;y}zqUq;uWp_O6BlC58xt46@LkM(zd=bK(H@rflu_AU-LnRob7UH zreQ^K;}B5FGJo{2AxPZySCyhyJy}}n=GnH$elU-48)h{2x$Yz3Hd5L>o4Ui|-PdX> z#=WB#IpH{`ZG3grSdBAm1tphJ#kI6E8uwYUztN3U+3!&eD|R%s`6zq?vyJm)&43Qg zYGs^i*oYgth>2&ca5(}9aV6rGd6r9lKOYD##%11R?#aNDO?dK%NrA%h(qL|zOBjv_ zAVQ{;a*_M}PrhY5Th(;w0VZdGl2aeczr4{z;EhtNsOhqzItPTWajgi{;f)k%Dj>dq zHtYOqFv3?2YKH$X;LLO?#z*TbGM>BN(Y9aphXnb(7W?gw22iG)=ANK_9cqrjGiYBI z_X)cPW86=&m@vz`Bhua$6Xoo20RR#$?-%-4M(ZcA9GF@Kwu*`Llud>+8mkKY7gi8` zdJlbt;(>I)6LK{t!o}b%&2UI+i0g3GPsy%xXOPlBOFSc%V=8_N;z!tz5`mM|bS%{R z&oue`KR?~TqR3mFb^u5CE$^5arxnsmh{1||VJSq;x-$>pxkpp@ESVk&3I}RCmdm;o z0hnF3k+*qZGCGeeLJpP4Eo7=HOoX zgYz$(_O&eZcm>k)-qV_k!D$DFGai?Em*+E3Fw8|lZ1|LL=_eoSNE&5Ef09?- zAVEOlP;EM~O1C)_Y>svA6@d#qyFg@E4$tV#34tc`AM_SWhriYFnO6)Z;jMS zjVE1h1DEn;7k+>C^JG1pOJYWN4t4-NftW>bYRMZ#1Pb;p*<_gE8TPAEV`X7z?coB)0g2@s3VRs_U5X;K z#pFBo?x*Zz5Cm#*oN;Q{c<)IgwF&!mA(zhXL|*k zX1(uRCy&e&l@&KzK$4aX8uPXE4K4Zv72FC(a}2N+aD$J)0cv^*RsDR<5hA&vq1t6@ zO#kdYE!>31w_CZIDi)4LZNjx(Lj@C-f6jE7C$=!-e!AIw(C@*WY>DS_d2#MtQkxgy z4@q^1+!aa-#FfyjrYhu8yv(>s0Y?ik5caW5=1k-;k5-&Fbz=R1o^sL%fj!4?3RE+A z?PMJgFYsZUzttxgq$Jq(@+u$4pCsKQ{=^KGpm_w>Vc1>%hQ+64K@xv5K>@!P~=H?o+$t79zew_ zerklQ3@Y(?fd~ckFsr#(^$&PHeO;H^ev2w0%%8rI0A@hg6$16F{WnrcXw&WcG2FhZWYsuV~;OuD1=^`v^UAWq&R@ zG)Nf)Xs(CgcdCXdX}}inoh3aSrUrPt>TABb!h})0bZL5_Ggx0M`}NG6;9rK4>Ivti z^>x4Tbn`wK`kk&!spVz0BMmN-PZvWYGh`4!ASjhiY6GDZCzjuPWcWPv-n@*s(vF9Rau!%fQsqJk^;|OluL_`XLW!6h3p2!OY7lsopdNW zgV4qgl+68|@Sh9GrirmFc1MJKe0U$mbGS3Nswz7EDlTh5{0DlsUtpXNcYk)&9YrUy zm6tJ7rSQ?dT$tR>FKnQaZ6BcoiolUNMT8LQP)%=3gRlq647_|5DNjL)~*V_NI%vKO$yCTd{P=mBYqtzA7Rh z9WVA+Gh1h1g}x(#Tk#v-xzK!o`t+uHU8XGXVkGlyHaPqtk6zDyA~z0{5C48x>~YR0 zZc=zC$TxbT-xoO{x)Nejo8jyF08pP-n=_oS0KE>Pe_EKk^XR_wYN{7)i-vh2K3?uC zg|`6#ftlz~Neef?L%ua}y!mWp&<9~M1;QNW)!lbRhfeVB@aXN@4Hid`;=bwHuEObl zcJ!&0+KL4Gi=3=B2=VTx4vZ?lgQSY=wEGq}=2|z%CT&Hx!!?PyUvqH%`rZihtxLZ6 zPU<41jhkJPLS!tt*%xC|)q01=$A!ibmTP0Z>`y9JLner)BDtQ{^%d_y{i_*nvPvDr zc8hpkC!1*NP$xzo~|yd=8HST7`v!IcZdi^`?BGAEIz~$JfWp!Kqc5oGH6TM<0c^ z9~Tb7%Q+B36#OHG0OVNGmmkZuA{kWQP}x(Bn;45K$f1lf5p0_G84Cc_m;jl{f5aAD z3p*AdoSzS&!h7u@b8RqCh07lT(>f{C957sZv^rJi_z?0;M+jud&h2-ULLFM3m3A|# zB|$y{Uz_&JM2b_>g0@8TzC~h{M3|f`+OG3J*=bwAUGGqO5Dt9kPvPBl?i1VTQANGy zq#%>bKSc^+OQGp%x*Ic;6wcC^yIEduXb@^OMTT9u`dPj7Mv`L4;?}KWyWr%O<|Lag z`qFp?(~8RXFnAjUgOi~s1~ejMd+FeQ-&5Y|4YJtHo+cNo>VjBhvj%dV+KeX6x~Hca+kF!LDpV6P(e%Km7x+1Pf!NySwm` zm8_bK0tLABTTnG`XMy}#bF;CUAmYn4#?(Aq4Xdgt2cg{gT8;0S)$4;icPJU!lyYgvx)@=KZ)mX*fouXbz(fCSfsv5@LMhF| zc~MQg`&0X&Jq|CjzS>GfGduE)T5W9cmWEEeY`CMJ$hGXc zQ2O1yw?$zRM$W6MYHyMGxAc23N#^9e$#OTCo`O7@HzkP!=A`;`|lx-3I}LxyV$)XoVAClv1^c$VZ>|Jn_q;wohnU-fM#O@zzw47UyTk63^2KYO-q%g5G^m3J8!gZXk zM?ZhgFKy>dhS@#(=zp6r!r3@crc!ngoZehNvwn`QQK=r$xLo_y&CV^9j^{eqSu}aK zQDUespmr@Q{v;psrz!XPDu8;DA4Mry+Fr`4 zzkWE$CLm01a^3Aw)pVKjGX5ZhG~diTR_8UYq8<$DTz19DQILG(dIRmNWxrm?k-+FM znJK;fBsFHD;S#fWmZ+@Bh9|`GSco(82baCZgX=vDpFOfc^lvPV<%>$ScZ#8sEgg&7 z_C}R9N7`EjZ%bXV46xO>&=U>1IZ3&!w0@rDUcWBUS->G@4Me8(n|yAziNBPa@lt1h z>s>@Daem9G%J@{SEArHwK9ZqM))o^=k;#if!1C>js4sf(ss~^py*1#w+bsfHe?*Ss zV_7xDnR9m^Mb2OiNP$w&MdZjcalPC0&vI5BIyU!qkHnb=YNUJlsJqU|!xf@QWRC^( zE5=KDToWe%lL~YFyFk-mW49ZiDmjTr#SL${1LCjQj)pH-V8g<4Yus56r5i;>1YqzZyN|u93E-ryw+4xx z+1c8Hb!&fS==|(2w#kKJ=0HZP1ABEJ^vwh@%n&lZ+Ew>1UnyZBt>rg0&V1*4gSm4! zd)I4!cFHK?kjh8Ie-KmtF51;q5e$cFvp+~s zWbSkWTOV6V(*;bjER;f$I!focQ!!G`;jJ;I?+dy6s!KHr2_`dmZwGK-`i6yTTBR=- zIQi^X$F24*NPLHpDffnxX5qtQ)e5p=E_XreY0e9gI22ht9WCGW?nhm~(7UfzzUQquyhCHHsua$hJ+m=BeT(Z%O( z3wmR_rnYohfC|=#RVj!v4SX1y>T7(_`3B8ON-p^c@G0QRP)R2B`mQKNA<|3djzPgk zByOy|m>7iHPIFEikTIK17LD>RYiIqZnd5RS(FR$Lvitk7YjHn8mKF^b7U?ZS*43Ep zGajw__SFs`cCDX{T;p!IyTP4-{%~hNPK_b<;Mwl_kC<7CIgz>Ouafu_N|$~lR_G0- z?0OQXN1%RvOGaWff!p5fi}rREt|9(bA>b@D^Z5F<4xDxXT{?q0h))wP&&FXSI-}P! zl)#o1smRjDmOc<@nt7kJC?=G9;KnUSyC&W@FGlV6qc%v71ay+Od+HbX4twhHDX*<7 zn|R^7+i)d%%KNfg#o(>{0K7&_Wxl2m7A5XSk*CdK+(%2CteFEWuP=Q2y6n9ooy`az zX#x!`T^Sa2oBq8*H3NnwmR)42T7%Ndgv?JNR368omj5*CRwGc(q|(atf85a48N_Tx z9Gm9jbMd9pgp}EQ;`)u7c)Zo0he1VV{$56*2tqtPqELE{I{j(>yoNYd=TKZvRP~Ec z&FuRoY%G_Rn&~2SZw;{P)i0}8rXGLx#e1!vYKrlij4Omy7`|{+YR`M!9+!d1c#@~7 z$(I{*xSwd$A3_VyNmoj=vd;QRxBgIujc+$^0my>(5%emH%_`O3CBm83tJumaLjRsjs+PYIiy-FN!B_7Fa+vxUYe#^+i;G2`s89~M7k(i zH!xoMCnb@-TNO0}R{TbHxpG!K@Q22C!^c-zVwoTKmFs1zne2n$hvWjJxY!d&HM8!@ zWoO)kFf4u)a8}jKO_xoyAkIw~34I8ni`irO30hyzgG1pt1w0Bd9U^(fdw9NKP9X1- zCK}M~R26e1q;nlvG-FJ##DvWQ2`D?syaXfnHxy3H$fgE5_6;7Uo~126#CUp#XB@id zvr&^U_c;r+Qy;={kC^ViUvKlp51beo>5LGTDB-bRf0^HsTOYqDLoQFf6_+YxkBhU! zte0geO(lnGg8eb*PC~@BRM$!X=281O&DeX>Nj}yznJJ?L{=sDLy0-aZsh;;qd1!Q* znB^B+#hKultcpU2DlU>eH65>3?Qe6PfELKgO;qKO~`6V~#D-9qD+Fue6neBs~l zz9oqi05kN$GG|Xv9G~uDYc)VHjAWv2RNwks&Uy9`3C?j?jt}(|7PkN}h-R!HRP=@t zQ;oce&$gM7FLZOYNk&~79IP@AEGH*fqibt+&8H|HqL)L!5lVp4+aXNu>&eZ9?;v_8 zfi2sAZVxJ*^qP1C5`C-V73TK@8cNvRB_`-x-}wd%cwWa&vp~8)^ry|g4Mdfe6_!RH zs+Dwu*tI~`b;)n|(}F^;x+Mb{%`xWv7#teVy{ zL3IGUq6;eaN<_dsA9I+X0)Dw8lg621H1?)WcIbHN&1aP!eue&@mf3x-V&&-irpo6|9Z zTN>`$m#~pt_d&-IvjgxrNgu;2!Jb+eO?7 zpj-t7&UuOQMpS91YV_owA)y`yCxoT#pMQRGC7&b(4c%_FuekzP8ybIXs1Lw!g7~Et z;G>5N>Aau%ARZs#en-1L!+GWmX8oUg;*MVUs|MM^-pVO5r zIED$O^If`J(8u{B;h-J;Lx)(Yvr}};A{6FG9RR)eCl@)?vuhRG3Cf#8y6ucKE#xLw@3LY{CbB11SCr(2-pa&DiCKtOWcI5{6 z`{p|^ITnDpUPUz!NE<*u7dZ70f6&CNx@b$`l3^_p`?}n}F zp}-FcHI0I32q}J)P{EHpG(w-~+kN=slETFJknNpyp{rlGqie7g2wje2mbGH{bLaS kcews?CjM_%m)GSD%IP7EKqHB=Yv7NBs4TolSnuus2W%bU(f|Me literal 0 HcmV?d00001 diff --git a/static/python-api/html/.buildinfo b/static/python-api/html/.buildinfo index d5092d9eb7..3ae243fdbd 100644 --- a/static/python-api/html/.buildinfo +++ b/static/python-api/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: f8efb75e4d4adbeb19aa65b394a542c8 +config: a52a05da02c7b25f2417743a861b5eb7 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/static/python-api/html/_modules/async_substrate_interface/errors.html b/static/python-api/html/_modules/async_substrate_interface/errors.html index 39fe1e2563..36e204e305 100644 --- a/static/python-api/html/_modules/async_substrate_interface/errors.html +++ b/static/python-api/html/_modules/async_substrate_interface/errors.html @@ -175,7 +175,6 @@

      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -362,6 +361,16 @@

        Source code for async_substrate_interface.errors

        super().__init__(message) +class StateDiscardedError(SubstrateRequestException): + def __init__(self, block_hash: str): + self.block_hash = block_hash + message = ( + f"State discarded for {block_hash}. This indicates the block is too old, and you should instead " + f"make this request using an archive node." + ) + super().__init__(message) + +
        [docs] class StorageFunctionNotFound(ValueError): diff --git a/static/python-api/html/_modules/async_substrate_interface/utils.html b/static/python-api/html/_modules/async_substrate_interface/utils.html index 35f0a131bd..e979e46995 100644 --- a/static/python-api/html/_modules/async_substrate_interface/utils.html +++ b/static/python-api/html/_modules/async_substrate_interface/utils.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/async_subtensor.html b/static/python-api/html/_modules/bittensor/core/async_subtensor.html index e93c072851..a418743a55 100644 --- a/static/python-api/html/_modules/bittensor/core/async_subtensor.html +++ b/static/python-api/html/_modules/bittensor/core/async_subtensor.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -338,52 +337,67 @@

        Source code for bittensor.core.async_subtensor

        import asyncio import copy import ssl +from datetime import datetime, timezone from functools import partial -from typing import Optional, Any, Union, Iterable, TYPE_CHECKING +from typing import cast, Optional, Any, Union, Iterable, TYPE_CHECKING -import aiohttp import asyncstdlib as a import numpy as np import scalecodec from async_substrate_interface import AsyncSubstrateInterface +from async_substrate_interface.substrate_addons import RetryAsyncSubstrate +from bittensor_drand import get_encrypted_commitment from bittensor_wallet.utils import SS58_FORMAT from numpy.typing import NDArray from scalecodec import GenericCall from bittensor.core.chain_data import ( DelegateInfo, - StakeInfo, + DynamicInfo, MetagraphInfo, NeuronInfoLite, NeuronInfo, ProposalVoteData, + SelectiveMetagraphIndex, + StakeInfo, SubnetHyperparameters, SubnetIdentity, SubnetInfo, WeightCommitInfo, decode_account_id, - DynamicInfo, ) -from bittensor.core.chain_data.utils import decode_metadata +from bittensor.core.chain_data.chain_identity import ChainIdentity +from bittensor.core.chain_data.delegate_info import DelegatedInfo +from bittensor.core.chain_data.utils import ( + decode_block, + decode_metadata, + decode_revealed_commitment, + decode_revealed_commitment_with_hotkey, +) from bittensor.core.config import Config -from bittensor.core.errors import SubstrateRequestException +from bittensor.core.errors import ChainError, SubstrateRequestException +from bittensor.core.extrinsics.asyncex.children import ( + root_set_pending_childkey_cooldown_extrinsic, + set_children_extrinsic, +) from bittensor.core.extrinsics.asyncex.commit_reveal import commit_reveal_v3_extrinsic +from bittensor.core.extrinsics.asyncex.move_stake import ( + transfer_stake_extrinsic, + swap_stake_extrinsic, + move_stake_extrinsic, +) from bittensor.core.extrinsics.asyncex.registration import ( burned_register_extrinsic, register_extrinsic, register_subnet_extrinsic, set_subnet_identity_extrinsic, ) -from bittensor.core.extrinsics.asyncex.move_stake import ( - transfer_stake_extrinsic, - swap_stake_extrinsic, - move_stake_extrinsic, -) from bittensor.core.extrinsics.asyncex.root import ( set_root_weights_extrinsic, root_register_extrinsic, ) from bittensor.core.extrinsics.asyncex.serving import ( + get_last_bonds_reset, publish_metadata, get_metadata, ) @@ -392,8 +406,14 @@

        Source code for bittensor.core.async_subtensor

        add_stake_extrinsic, add_stake_multiple_extrinsic, ) +from bittensor.core.extrinsics.asyncex.start_call import start_call_extrinsic +from bittensor.core.extrinsics.asyncex.take import ( + decrease_take_extrinsic, + increase_take_extrinsic, +) from bittensor.core.extrinsics.asyncex.transfer import transfer_extrinsic from bittensor.core.extrinsics.asyncex.unstaking import ( + unstake_all_extrinsic, unstake_extrinsic, unstake_multiple_extrinsic, ) @@ -403,25 +423,41 @@

        Source code for bittensor.core.async_subtensor

        reveal_weights_extrinsic, ) from bittensor.core.metagraph import AsyncMetagraph -from bittensor.core.settings import version_as_int, TYPE_REGISTRY, DELEGATES_DETAILS_URL +from bittensor.core.settings import version_as_int, TYPE_REGISTRY from bittensor.core.types import ParamWithTypes, SubtensorMixin from bittensor.utils import ( + Certificate, decode_hex_identity_dict, format_error_message, + is_valid_ss58_address, torch, u16_normalized_float, - _decode_hex_identity_dict, - Certificate, u64_normalized_float, ) +from bittensor.core.extrinsics.asyncex.liquidity import ( + add_liquidity_extrinsic, + modify_liquidity_extrinsic, + remove_liquidity_extrinsic, + toggle_user_liquidity_extrinsic, +) from bittensor.utils.balance import ( Balance, fixed_to_float, check_and_convert_to_balance, ) from bittensor.utils.btlogging import logging -from bittensor.utils.delegates_details import DelegatesDetails -from bittensor.utils.weight_utils import generate_weight_hash +from bittensor.utils.liquidity import ( + calculate_fees, + get_fees, + tick_to_price, + price_to_tick, + LiquidityPosition, +) +from bittensor.utils.weight_utils import ( + generate_weight_hash, + convert_uids_and_weights, + U16_MAX, +) if TYPE_CHECKING: from async_substrate_interface.types import ScaleObj @@ -433,26 +469,59 @@

        Source code for bittensor.core.async_subtensor

        [docs] class AsyncSubtensor(SubtensorMixin): - """Thin layer for interacting with Substrate Interface. Mostly a collection of frequently-used calls.""" + """Asynchronous interface for interacting with the Bittensor blockchain. + + This class provides a thin layer over the Substrate Interface, offering a collection of frequently-used calls for + querying blockchain data, managing stakes, registering neurons, and interacting with the Bittensor network. + + + """ def __init__( self, network: Optional[str] = None, config: Optional["Config"] = None, - _mock: bool = False, log_verbose: bool = False, + fallback_endpoints: Optional[list[str]] = None, + retry_forever: bool = False, + _mock: bool = False, + archive_endpoints: Optional[list[str]] = None, + websocket_shutdown_timer: float = 5.0, ): - """ - Initializes an instance of the AsyncSubtensor class. + """Initializes an AsyncSubtensor instance for blockchain interaction. Arguments: - network (str): The network name or type to connect to. - config (Optional[Config]): Configuration object for the AsyncSubtensor instance. - _mock: Whether this is a mock instance. Mainly just for use in testing. - log_verbose (bool): Enables or disables verbose logging. + network: The network name or type to connect to (e.g., "finney", "test"). If ``None``, uses the default + network from config. + config: Configuration object for the AsyncSubtensor instance. If ``None``, uses the default configuration. + log_verbose: Enables or disables verbose logging. Defaults to ``False``. + fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. + Defaults to ``None``. + retry_forever: Whether to retry forever on connection errors. Defaults to ``False``. + _mock: Whether this is a mock instance. Mainly for testing purposes. Defaults to ``False``. + archive_endpoints: Similar to fallback_endpoints, but specifically only archive nodes. Will be used in + cases where you are requesting a block that is too old for your current (presumably lite) node. + Defaults to ``None``. + websocket_shutdown_timer: Amount of time, in seconds, to wait after the last response from the chain to + close the connection. Defaults to ``5.0``. + Returns: + None Raises: - Any exceptions raised during the setup, configuration, or connection process. + ConnectionError: If unable to connect to the specified network. + ValueError: If invalid network or configuration parameters are provided. + Exception: Any other exceptions raised during setup or configuration. + + Typical usage example: + + import bittensor as bt + import asyncio + + async def main(): + async with bt.AsyncSubtensor(network="finney") as subtensor: + block_hash = await subtensor.get_block_hash() + + asyncio.run(main()) """ if config is None: config = AsyncSubtensor.config() @@ -460,7 +529,6 @@

        Source code for bittensor.core.async_subtensor

        self.chain_endpoint, self.network = AsyncSubtensor.setup_config( network, self._config ) - self._mock = _mock self.log_verbose = log_verbose self._check_and_log_network_settings() @@ -469,13 +537,12 @@

        Source code for bittensor.core.async_subtensor

        f"Connecting to network: [blue]{self.network}[/blue], " f"chain_endpoint: [blue]{self.chain_endpoint}[/blue]..." ) - self.substrate = AsyncSubstrateInterface( - url=self.chain_endpoint, - ss58_format=SS58_FORMAT, - type_registry=TYPE_REGISTRY, - use_remote_preset=True, - chain_name="Bittensor", + self.substrate = self._get_substrate( + fallback_endpoints=fallback_endpoints, + retry_forever=retry_forever, _mock=_mock, + archive_endpoints=archive_endpoints, + ws_shutdown_timer=websocket_shutdown_timer, ) if self.log_verbose: logging.info( @@ -485,7 +552,24 @@

        Source code for bittensor.core.async_subtensor

        [docs] async def close(self): - """Close the connection.""" + """Closes the connection to the blockchain. + + Use this to explicitly clean up resources and close the network connection instead of waiting for garbage + collection. + + Returns: + None + + Example: + subtensor = AsyncSubtensor(network="finney") + await subtensor.initialize() + + # Use the subtensor... + balance = await subtensor.get_balance(address="5F...") + + # Close when done + await subtensor.close() + """ if self.substrate: await self.substrate.close()

        @@ -493,6 +577,29 @@

        Source code for bittensor.core.async_subtensor

        [docs] async def initialize(self): + """Initializes the connection to the blockchain. + + This method establishes the connection to the Bittensor blockchain and should be called after creating an + AsyncSubtensor instance before making any queries. + + Returns: + AsyncSubtensor: The initialized instance (self) for method chaining. + + Raises: + ConnectionError: If unable to connect to the blockchain due to timeout or connection refusal. + + Example: + subtensor = AsyncSubtensor(network="finney") + + # Initialize the connection + await subtensor.initialize() + + # Now you can make queries + balance = await subtensor.get_balance(address="5F...") + + # Or chain the initialization + subtensor = await AsyncSubtensor(network="finney").initialize() + """ logging.info( f"[magenta]Connecting to Substrate:[/magenta] [blue]{self}[/blue][magenta]...[/magenta]" ) @@ -518,8 +625,8 @@

        Source code for bittensor.core.async_subtensor

        f"[magenta]Connecting to Substrate:[/magenta] [blue]{self}[/blue][magenta]...[/magenta]" ) try: - async with self.substrate: - return self + await self.substrate.initialize() + return self except TimeoutError: logging.error( f"[red]Error[/red]: Timeout occurred connecting to substrate." @@ -544,10 +651,36 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> Optional[str]: + """Determine the appropriate block hash based on the provided parameters. + + Ensures that only one of the block specification parameters is used and returns the appropriate block hash + for blockchain queries. + + Arguments: + block: The block number to get the hash for. Do not specify if using block_hash or reuse_block. + block_hash: The hash of the blockchain block. Do not specify if using block or reuse_block. + reuse_block: Whether to reuse the last-used block hash. Do not set if using block or reuse_block. + + Returns: + Optional[str]: The block hash if one can be determined, None otherwise. + + Raises: + ValueError: If more than one of block, block_hash, or reuse_block is specified. + + Example: + # Get hash for specific block + block_hash = await subtensor.determine_block_hash(block=1000000) + + # Use provided block hash + hash = await subtensor.determine_block_hash(block_hash="0x1234...") + + # Reuse last block hash + hash = await subtensor.determine_block_hash(reuse_block=True) + """ # Ensure that only one of the parameters is specified. if sum(bool(x) for x in [block, block_hash, reuse_block]) > 1: raise ValueError( - "Only one of `block`, `block_hash`, or `reuse_block` can be specified." + "Only one of ``block``, ``block_hash``, or ``reuse_block`` can be specified." ) # Return the appropriate value. @@ -565,7 +698,43 @@

        Source code for bittensor.core.async_subtensor

        call_definition: dict[str, list["ParamWithTypes"]], params: Union[list[Any], dict[str, Any]], ) -> str: - """Returns a hex encoded string of the params using their types.""" + """Encodes parameters into a hex string using their type definitions. + + This method takes a call definition (which specifies parameter types) and actual parameter values, then + encodes them into a hex string that can be used for blockchain transactions. + + Arguments: + call_definition: A dictionary containing parameter type definitions. Should have a "params" key with a + list of parameter definitions. + params: The actual parameter values to encode. Can be either a list (for positional parameters) or a + dictionary (for named parameters). + + Returns: + str: A hex-encoded string representation of the parameters. + + Raises: + ValueError: If a required parameter is missing from the params dictionary. + + Example: + # Define parameter types + call_def = { + "params": [ + {"name": "amount", "type": "u64"}, + {"name": "coldkey_ss58", "type": "str"} + ] + } + + # Encode parameters as a dictionary + params_dict = { + "amount": 1000000, + "coldkey_ss58": "5F..." + } + encoded = await subtensor.encode_params(call_definition=call_def, params=params_dict) + + # Or encode as a list (positional) + params_list = [1000000, "5F..."] + encoded = await subtensor.encode_params(call_definition=call_def, params=params_list) + """ param_data = scalecodec.ScaleBytes(b"") for i, param in enumerate(call_definition["params"]): @@ -591,20 +760,31 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> Optional[Any]: - """ - Retrieves a specified hyperparameter for a specific subnet. + """Retrieves a specified hyperparameter for a specific subnet. + + This method queries the blockchain for subnet-specific hyperparameters such as difficulty, tempo, immunity + period, and other network configuration values. Arguments: - param_name (str): The name of the hyperparameter to retrieve. - netuid (int): The unique identifier of the subnet. - block: the block number at which to retrieve the hyperparameter. Do not specify if using block_hash or - reuse_block - block_hash (Optional[str]): The hash of blockchain block number for the query. Do not specify if using - block or reuse_block - reuse_block (bool): Whether to reuse the last-used block hash. Do not set if using block_hash or block. + param_name: The name of the hyperparameter to retrieve (e.g., "Difficulty", "Tempo", "ImmunityPeriod"). + netuid: The unique identifier of the subnet. + block: The block number at which to retrieve the hyperparameter. Do not specify if using block_hash or + reuse_block. + block_hash: The hash of the blockchain block for the query. Do not specify if using block or reuse_block. + reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. Returns: - The value of the specified hyperparameter if the subnet exists, or None + The value of the specified hyperparameter if the subnet exists, None otherwise. + + Example: + # Get difficulty for subnet 1 + difficulty = await subtensor.get_hyperparameter(param_name="Difficulty", netuid=1) + + # Get tempo at a specific block + tempo = await subtensor.get_hyperparameter(param_name="Tempo", netuid=1, block=1000000) + + # Get immunity period using block hash + immunity = await subtensor.get_hyperparameter(param_name="ImmunityPeriod", netuid=1, block_hash="0x1234...") """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) if not await self.subnet_exists( @@ -624,6 +804,56 @@

        Source code for bittensor.core.async_subtensor

        return getattr(result, "value", result)

        + def _get_substrate( + self, + fallback_endpoints: Optional[list[str]] = None, + retry_forever: bool = False, + _mock: bool = False, + archive_endpoints: Optional[list[str]] = None, + ws_shutdown_timer: float = 5.0, + ) -> Union[AsyncSubstrateInterface, RetryAsyncSubstrate]: + """Creates the Substrate instance based on provided arguments. + + This internal method creates either a standard AsyncSubstrateInterface or a RetryAsyncSubstrate depending on + the configuration parameters. + + Arguments: + fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. + Defaults to ``None``. + retry_forever: Whether to retry forever on connection errors. Defaults to ``False``. + _mock: Whether this is a mock instance. Mainly for testing purposes. Defaults to ``False``. + archive_endpoints: Similar to fallback_endpoints, but specifically only archive nodes. Will be used in + cases where you are requesting a block that is too old for your current (presumably lite) node. Defaults + to ``None``. + ws_shutdown_timer: Amount of time, in seconds, to wait after the last response from the chain to close the + connection. + + Returns: + Either AsyncSubstrateInterface or RetryAsyncSubstrate. + """ + if fallback_endpoints or retry_forever or archive_endpoints: + return RetryAsyncSubstrate( + url=self.chain_endpoint, + fallback_chains=fallback_endpoints, + ss58_format=SS58_FORMAT, + type_registry=TYPE_REGISTRY, + retry_forever=retry_forever, + use_remote_preset=True, + chain_name="Bittensor", + _mock=_mock, + archive_nodes=archive_endpoints, + ws_shutdown_timer=ws_shutdown_timer, + ) + return AsyncSubstrateInterface( + url=self.chain_endpoint, + ss58_format=SS58_FORMAT, + type_registry=TYPE_REGISTRY, + use_remote_preset=True, + chain_name="Bittensor", + _mock=_mock, + ws_shutdown_timer=ws_shutdown_timer, + ) + # Subtensor queries ===========================================================================================
        @@ -636,26 +866,38 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> Optional["ScaleObj"]: - """ - Retrieves a constant from the specified module on the Bittensor blockchain. This function is used to access - fixed parameters or values defined within the blockchain's modules, which are essential for understanding - the network's configuration and rules. + """Retrieves a constant from the specified module on the Bittensor blockchain. - Args: - module_name: The name of the module containing the constant. - constant_name: The name of the constant to retrieve. + This function is used to access fixed values defined within the blockchain's modules, which are essential for + understanding the network's configuration and rules. These include include critical network parameters such as + inflation rates, consensus rules, or validation thresholds, providing a deeper understanding of the Bittensor + network's operational parameters. + + Arguments: + module_name: The name of the module containing the constant (e.g., "Balances", "SubtensorModule"). + constant_name: The name of the constant to retrieve (e.g., "ExistentialDeposit"). block: The blockchain block number at which to query the constant. Do not specify if using block_hash or - reuse_block - block_hash: the hash of th blockchain block at which to query the constant. Do not specify if using block - or reuse_block - reuse_block: Whether to reuse the blockchain block at which to query the constant. + reuse_block. + block_hash: The hash of the blockchain block at which to query the constant. Do not specify if using + block or reuse_block. + reuse_block: Whether to reuse the blockchain block at which to query the constant. Defaults to ``False``. Returns: - Optional[async_substrate_interface.types.ScaleObj]: The value of the constant if found, `None` otherwise. + Optional[async_substrate_interface.types.ScaleObj]: The value of the constant if found, ``None`` otherwise. - Constants queried through this function can include critical network parameters such as inflation rates, - consensus rules, or validation thresholds, providing a deeper understanding of the Bittensor network's - operational parameters. + Example: + # Get existential deposit constant + existential_deposit = await subtensor.query_constant( + module_name="Balances", + constant_name="ExistentialDeposit" + ) + + # Get constant at specific block + constant = await subtensor.query_constant( + module_name="SubtensorModule", + constant_name="SomeConstant", + block=1000000 + ) """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) return await self.substrate.get_constant( @@ -677,25 +919,30 @@

        Source code for bittensor.core.async_subtensor

        reuse_block: bool = False, params: Optional[list] = None, ) -> "AsyncQueryMapResult": - """ - Queries map storage from any module on the Bittensor blockchain. This function retrieves data structures that - represent key-value mappings, essential for accessing complex and structured data within the blockchain - modules. + """Queries map storage from any module on the Bittensor blockchain. - Args: - module: The name of the module from which to query the map storage. - name: The specific storage function within the module to query. - block: The blockchain block number at which to perform the query. + This function retrieves data structures that represent key-value mappings, essential for accessing complex and + structured data within the blockchain modules. + + Arguments: + module: The name of the module from which to query the map storage (e.g., "SubtensorModule", "System"). + name: The specific storage function within the module to query (e.g., "Bonds", "Weights"). + block: The blockchain block number at which to perform the query. Defaults to ``None`` (latest block). block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - params: Parameters to be passed to the query. + reuse_block. + reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. Defaults to + ``False``. + params: Parameters to be passed to the query. Defaults to ``None``. Returns: - result: A data structure representing the map storage if found, `None` otherwise. + AsyncQueryMapResult: A data structure representing the map storage if found, None otherwise. + + Example: + # Query bonds for subnet 1 + bonds = await subtensor.query_map(module="SubtensorModule", name="Bonds", params=[1]) - This function is particularly useful for retrieving detailed and structured data from various blockchain - modules, offering insights into the network's state and the relationships between its different components. + # Query weights at specific block + weights = await subtensor.query_map(module="SubtensorModule", name="Weights", params=[1], block=1000000) """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) result = await self.substrate.query_map( @@ -718,23 +965,23 @@

        Source code for bittensor.core.async_subtensor

        reuse_block: bool = False, params: Optional[list] = None, ) -> "AsyncQueryMapResult": - """ - Queries map storage from the Subtensor module on the Bittensor blockchain. This function is designed to retrieve - a map-like data structure, which can include various neuron-specific details or network-wide attributes. + """Queries map storage from the Subtensor module on the Bittensor blockchain. This function is designed to + retrieve a map-like data structure, which can include various neuron-specific details or network-wide + attributes. - Args: + Arguments: name: The name of the map storage function to query. block: The blockchain block number at which to perform the query. block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block + reuse_block. reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. params: A list of parameters to pass to the query function. Returns: - An object containing the map-like data structure, or `None` if not found. + An object containing the map-like data structure, or ``None`` if not found. This function is particularly useful for analyzing and understanding complex network structures and - relationships within the Bittensor ecosystem, such as interneuronal connections and stake distributions. + relationships within the Bittensor ecosystem, such as interneuronal connections and stake distributions. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) return await self.substrate.query_map( @@ -757,25 +1004,24 @@

        Source code for bittensor.core.async_subtensor

        reuse_block: bool = False, params: Optional[list] = None, ) -> Optional[Union["ScaleObj", Any]]: - """ - Queries any module storage on the Bittensor blockchain with the specified parameters and block number. This - function is a generic query interface that allows for flexible and diverse data retrieval from various - blockchain modules. + """Queries any module storage on the Bittensor blockchain with the specified parameters and block number. + This function is a generic query interface that allows for flexible and diverse data retrieval from various + blockchain modules. - Args: - module (str): The name of the module from which to query data. - name (str): The name of the storage function within the module. - block (Optional[int]): The blockchain block number at which to perform the query. + Arguments: + module: The name of the module from which to query data. + name: The name of the storage function within the module. + block: The blockchain block number at which to perform the query. block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block + reuse_block. reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - params (Optional[list[object]]): A list of parameters to pass to the query function. + params: A list of parameters to pass to the query function. Returns: - An object containing the requested data if found, `None` otherwise. + An object containing the requested data if found, ``None`` otherwise. This versatile query function is key to accessing a wide range of data and insights from different parts of the - Bittensor blockchain, enhancing the understanding and analysis of the network's state and dynamics. + Bittensor blockchain, enhancing the understanding and analysis of the network's state and dynamics. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) return await self.substrate.query( @@ -798,25 +1044,24 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> Optional[Any]: - """ - Queries the runtime API of the Bittensor blockchain, providing a way to interact with the underlying runtime and - retrieve data encoded in Scale Bytes format. This function is essential for advanced users who need to - interact with specific runtime methods and decode complex data types. + """Queries the runtime API of the Bittensor blockchain, providing a way to interact with the underlying runtime + and retrieve data encoded in Scale Bytes format. This function is essential for advanced users who need to + interact with specific runtime methods and decode complex data types. - Args: + Arguments: runtime_api: The name of the runtime API to query. method: The specific method within the runtime API to call. params: The parameters to pass to the method call. - block: the block number for this query. Do not specify if using block_hash or reuse_block - block_hash: The hash of the blockchain block number at which to perform the query. Do not specify if - using block or reuse_block - reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block + block: the block number for this query. Do not specify if using block_hash or reuse_block. + block_hash: The hash of the blockchain block number at which to perform the query. Do not specify if using + block or reuse_block. + reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. Returns: - The decoded result from the runtime API call, or `None` if the call fails. + The decoded result from the runtime API call, or ``None`` if the call fails. This function enables access to the deeper layers of the Bittensor blockchain, allowing for detailed and - specific interactions with the network's runtime environment. + specific interactions with the network's runtime environment. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) if not block_hash and reuse_block: @@ -837,15 +1082,15 @@

        Source code for bittensor.core.async_subtensor

        reuse_block: bool = False, params: Optional[list] = None, ) -> Optional[Union["ScaleObj", Any]]: - """ - Queries named storage from the Subtensor module on the Bittensor blockchain. This function is used to retrieve - specific data or parameters from the blockchain, such as stake, rank, or other neuron-specific attributes. + """Queries named storage from the Subtensor module on the Bittensor blockchain. This function is used to + retrieve specific data or parameters from the blockchain, such as stake, rank, or other neuron-specific + attributes. - Args: + Arguments: name: The name of the storage function to query. block: The blockchain block number at which to perform the query. block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block + reuse_block. reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. params: A list of parameters to pass to the query function. @@ -853,7 +1098,7 @@

        Source code for bittensor.core.async_subtensor

        query_response: An object containing the requested data. This query function is essential for accessing detailed information about the network and its neurons, providing - valuable insights into the state and dynamics of the Bittensor ecosystem. + valuable insights into the state and dynamics of the Bittensor ecosystem. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) return await self.substrate.query( @@ -875,23 +1120,22 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> dict[Any, Any]: - """ - Makes a state call to the Bittensor blockchain, allowing for direct queries of the blockchain's state. This - function is typically used for advanced queries that require specific method calls and data inputs. + """Makes a state call to the Bittensor blockchain, allowing for direct queries of the blockchain's state. + This function is typically used for advanced queries that require specific method calls and data inputs. - Args: + Arguments: method: The method name for the state call. data: The data to be passed to the method. block: The blockchain block number at which to perform the state call. block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block + reuse_block. reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. Returns: result (dict[Any, Any]): The result of the rpc call. The state call function provides a more direct and flexible way of querying blockchain data, useful for specific - use cases where standard queries are insufficient. + use cases where standard queries are insufficient. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) return await self.substrate.rpc_request( @@ -916,47 +1160,103 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> Optional[list[DynamicInfo]]: - """ - Retrieves the subnet information for all subnets in the network. + """Queries the blockchain for comprehensive information about all subnets, including their dynamic parameters + and operational status. - Args: - block_number (Optional[int]): The block number to query the subnet information from. Do not specify if using - block_hash or reuse_block + Arguments: + block_number: The block number to query the subnet information from. Do not specify if using block_hash or + reuse_block. block_hash: The hash of the blockchain block number for the query. Do not specify if using reuse_block or block. reuse_block: Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or block. Returns: - Optional[DynamicInfo]: A list of DynamicInfo objects, each containing detailed information about a subnet. + Optional[list[DynamicInfo]]: A list of DynamicInfo objects, each containing detailed information about a + subnet, or None if the query fails. + Example: + # Get all subnets at current block + subnets = await subtensor.all_subnets() """ block_hash = await self.determine_block_hash( - block_number, block_hash, reuse_block + block=block_number, block_hash=block_hash, reuse_block=reuse_block ) if not block_hash and reuse_block: block_hash = self.substrate.last_block_hash - query = await self.substrate.runtime_call( - "SubnetInfoRuntimeApi", - "get_all_dynamic_info", + + query, subnet_prices = await asyncio.gather( + self.substrate.runtime_call( + api="SubnetInfoRuntimeApi", + method="get_all_dynamic_info", + block_hash=block_hash, + ), + self.get_subnet_prices(), + ) + + decoded = query.decode() + + for sn in decoded: + sn.update({"price": subnet_prices.get(sn["netuid"], Balance.from_tao(0))}) + return DynamicInfo.list_from_dicts(decoded)

        + + +
        +[docs] + async def blocks_since_last_step( + self, + netuid: int, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> Optional[int]: + """Queries the blockchain to determine how many blocks have passed since the last epoch step for a specific + subnet. + + Arguments: + netuid: The unique identifier of the subnetwork. + block: The block number for this query. Do not specify if using block_hash or reuse_block. + block_hash: The hash of the blockchain block number for the query. Do not specify if using reuse_block or + block. + reuse_block: Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or block. + + Returns: + The number of blocks since the last step in the subnet, or None if the query fails. + + Example: + # Get blocks since last step for subnet 1 + blocks = await subtensor.blocks_since_last_step(netuid=1) + + # Get blocks since last step at specific block + blocks = await subtensor.blocks_since_last_step(netuid=1, block=1000000) + """ + query = await self.query_subtensor( + name="BlocksSinceLastStep", + block=block, block_hash=block_hash, + reuse_block=reuse_block, + params=[netuid], ) - subnets = DynamicInfo.list_from_dicts(query.decode()) - return subnets
        + return query.value if query is not None and hasattr(query, "value") else query
        [docs] async def blocks_since_last_update(self, netuid: int, uid: int) -> Optional[int]: - """ - Returns the number of blocks since the last update for a specific UID in the subnetwork. + """Returns the number of blocks since the last update, or ``None`` if the subnetwork or UID does not exist. Arguments: - netuid (int): The unique identifier of the subnetwork. - uid (int): The unique identifier of the neuron. + netuid: The unique identifier of the subnetwork. + uid: The unique identifier of the neuron. Returns: - Optional[int]: The number of blocks since the last update, or ``None`` if the subnetwork or UID does not - exist. + Optional[int]: The number of blocks since the last update, or None if the subnetwork or UID does not exist. + + Example: + # Get blocks since last update for UID 5 in subnet 1 + blocks = await subtensor.blocks_since_last_update(netuid=1, uid=5) + + # Check if neuron needs updating + blocks_since_update = await subtensor.blocks_since_last_update(netuid=1, uid=10) """ call = await self.get_hyperparameter(param_name="LastUpdate", netuid=netuid) return None if call is None else await self.get_current_block() - int(call[uid])
        @@ -971,25 +1271,28 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> list[tuple[int, list[tuple[int, int]]]]: - """ - Retrieves the bond distribution set by neurons within a specific subnet of the Bittensor network. - Bonds represent the investments or commitments made by neurons in one another, indicating a level of trust - and perceived value. This bonding mechanism is integral to the network's market-based approach to - measuring and rewarding machine intelligence. + """Retrieves the bond distribution set by subnet validators within a specific subnet. - Args: - netuid: The network UID of the subnet to query. - block: the block number for this query. Do not specify if using block_hash or reuse_block - block_hash: The hash of the blockchain block number for the query. Do not specify if using reuse_block or - block. - reuse_block: Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or block. + Bonds represent the "investment" a subnet validator has made in evaluating a specific subnet miner. This + bonding mechanism is integral to the Yuma Consensus' design intent of incentivizing high-quality performance + by subnet miners, and honest evaluation by subnet validators. + + Arguments: + netuid: The unique identifier of the subnet. + block: The block number for this query. Do not specify if using block_hash or reuse_block. + block_hash: The hash of the block for the query. Do not specify if using reuse_block or block. + reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. Returns: List of tuples mapping each neuron's UID to its bonds with other neurons. - Understanding bond distributions is crucial for analyzing the trust dynamics and market behavior within the - subnet. It reflects how neurons recognize and invest in each other's intelligence and contributions, - supporting diverse and niche systems within the Bittensor ecosystem. + Example: + # Get bonds for subnet 1 at block 1000000 + bonds = await subtensor.bonds(netuid=1, block=1000000) + + Notes: + - See <https://docs.learnbittensor.org/glossary#validator-miner-bonds> + - See <https://docs.learnbittensor.org/glossary#yuma-consensus> """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) b_map_encoded = await self.substrate.query_map( @@ -1009,14 +1312,33 @@

        Source code for bittensor.core.async_subtensor

        [docs] - async def commit(self, wallet: "Wallet", netuid: int, data: str) -> bool: - """ - Commits arbitrary data to the Bittensor network by publishing metadata. + async def commit( + self, wallet: "Wallet", netuid: int, data: str, period: Optional[int] = None + ) -> bool: + """Commits arbitrary data to the Bittensor network by publishing metadata. + + This method allows neurons to publish arbitrary data to the blockchain, which can be used for various purposes + such as sharing model updates, configuration data, or other network-relevant information. Arguments: - wallet (bittensor_wallet.Wallet): The wallet associated with the neuron committing the data. - netuid (int): The unique identifier of the subnetwork. - data (str): The data to be committed to the network. + wallet: The wallet associated with the neuron committing the data. + netuid: The unique identifier of the subnet. + data: The data to be committed to the network. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You + can think of it as an expiration date for the transaction. + + Returns: + bool: True if the commit was successful, False otherwise. + + Example: + # Commit some data to subnet 1 + success = await subtensor.commit(wallet=my_wallet, netuid=1, data="Hello Bittensor!") + + # Commit with custom period + success = await subtensor.commit(wallet=my_wallet, netuid=1, data="Model update v2.0", period=100) + + Note: See <https://docs.learnbittensor.org/glossary#commit-reveal> """ return await publish_metadata( subtensor=self, @@ -1024,6 +1346,7 @@

        Source code for bittensor.core.async_subtensor

        netuid=netuid, data_type=f"Raw{len(data)}", data=data.encode(), + period=period, )

        @@ -1038,19 +1361,29 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> bool: - """ - Check if commit-reveal mechanism is enabled for a given network at a specific block. + """Check if commit-reveal mechanism is enabled for a given subnet at a specific block. + + The commit reveal feature is designed to solve the weight-copying problem by giving would-be weight-copiers + access only to stale weights. Copying stale weights should result in subnet validators departing from consensus. Arguments: - netuid: The network identifier for which to check the commit-reveal mechanism. + netuid: The unique identifier of the subnet for which to check the commit-reveal mechanism. block: The block number to query. Do not specify if using block_hash or reuse_block. - block_hash: The block hash of block at which to check the parameter. Do not set if using block or - reuse_block. - reuse_block: Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or - block. + block_hash: The block hash at which to check the parameter. Do not set if using block or reuse_block. + reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. Returns: - Returns the integer value of the hyperparameter if available; otherwise, returns None. + bool: True if commit-reveal mechanism is enabled, False otherwise. + + Example: + # Check if commit-reveal is enabled for subnet 1 + enabled = await subtensor.commit_reveal_enabled(netuid=1) + + # Check at specific block + enabled = await subtensor.commit_reveal_enabled(netuid=1, block=1000000) + + Notes: + See also: <https://docs.learnbittensor.org/glossary#commit-reveal> """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) call = await self.get_hyperparameter( @@ -1071,24 +1404,32 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> Optional[int]: - """ - Retrieves the 'Difficulty' hyperparameter for a specified subnet in the Bittensor network. + """Retrieves the 'Difficulty' hyperparameter for a specified subnet in the Bittensor network. - This parameter is instrumental in determining the computational challenge required for neurons to participate in - consensus and validation processes. + This parameter determines the computational challenge required for neurons to participate in consensus and + validation processes. The difficulty directly impacts the network's security and integrity by setting the + computational effort required for validating transactions and participating in the network's consensus + mechanism. Arguments: netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. Do not specify if using block_hash or reuse_block + block: The block number for the query. Do not specify if using block_hash or reuse_block. block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block + reuse_block. reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. Returns: - Optional[int]: The value of the 'Difficulty' hyperparameter if the subnet exists, ``None`` otherwise. + Optional[int]: The value of the 'Difficulty' hyperparameter if the subnet exists, None otherwise. + + Example: + # Get difficulty for subnet 1 + difficulty = await subtensor.difficulty(netuid=1) + + # Get difficulty at specific block + difficulty = await subtensor.difficulty(netuid=1, block=1000000) - The 'Difficulty' parameter directly impacts the network's security and integrity by setting the computational - effort required for validating transactions and participating in the network's consensus mechanism. + Notes: + See also: <https://docs.learnbittensor.org/glossary#difficulty> """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) call = await self.get_hyperparameter( @@ -1111,18 +1452,26 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> bool: - """ - Returns true if the hotkey is known by the chain and there are accounts. + """Returns true if the hotkey is known by the chain and there are accounts. - Args: + This method queries the SubtensorModule's Owner storage function to determine if the hotkey is registered. + + Arguments: hotkey_ss58: The SS58 address of the hotkey. - block: the block number for this query. Do not specify if using block_hash or reuse_block + block: The block number for this query. Do not specify if using block_hash or reuse_block. block_hash: The hash of the block number to check the hotkey against. Do not specify if using reuse_block or block. reuse_block: Whether to reuse the last-used blockchain hash. Do not set if using block_hash or block. Returns: - `True` if the hotkey is known by the chain and there are accounts, `False` otherwise. + bool: True if the hotkey is known by the chain and there are accounts, False otherwise. + + Example: + # Check if hotkey exists + exists = await subtensor.does_hotkey_exist(hotkey_ss58="5F...") + + # Check at specific block + exists = await subtensor.does_hotkey_exist(hotkey_ss58="5F...", block=1000000) """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) result = await self.substrate.query( @@ -1135,6 +1484,7 @@

        Source code for bittensor.core.async_subtensor

        return_val = ( False if result is None + # not the default key (0x0) else result != "5C4hrfjw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM" ) return return_val

        @@ -1148,20 +1498,36 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> list["SubnetInfo"]: - """ - Retrieves detailed information about all subnets within the Bittensor network. This function provides - comprehensive data on each subnet, including its characteristics and operational parameters. + """Retrieves detailed information about all subnets within the Bittensor network. + + This function provides comprehensive data on each subnet, including its characteristics and operational + parameters. Arguments: - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The blockchain block_hash for the query. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + block: The block number for the query. + block_hash: The block hash for the query. + reuse_block: Whether to reuse the last-used block hash. Returns: list[SubnetInfo]: A list of SubnetInfo objects, each containing detailed information about a subnet. - Gaining insights into the subnets' details assists in understanding the network's composition, the roles of - different subnets, and their unique features. + Example: + # Get all subnet information + subnets = await subtensor.get_all_subnets_info() + + # Get at specific block + subnets = await subtensor.get_all_subnets_info(block=1000000) + + # Iterate over subnet information + for subnet in subnets: + print(f"Subnet {subnet.netuid}: {subnet.name}") + + Note: + Gaining insights into the subnets' details assists in understanding the network's composition, the roles + of different subnets, and their unique features. + + Notes: + See also: <https://docs.learnbittensor.org/glossary#subnet> """ result = await self.query_runtime_api( runtime_api="SubnetInfoRuntimeApi", @@ -1173,12 +1539,17 @@

        Source code for bittensor.core.async_subtensor

        ) if not result: return [] - else: - return SubnetInfo.list_from_dicts(result)

        + subnets_prices = await self.get_subnet_prices() -
        -[docs] + for subnet in result: + subnet.update({"price": subnets_prices.get(subnet["netuid"], 0)}) + + return SubnetInfo.list_from_dicts(result)
        + + +
        +[docs] async def get_balance( self, address: str, @@ -1186,17 +1557,27 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> Balance: - """ - Retrieves the balance for given coldkey. + """Retrieves the balance for given coldkey. + + This method queries the System module's Account storage to get the current balance of a coldkey address. The + balance represents the amount of TAO tokens held by the specified address. Arguments: - address (str): coldkey address. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The blockchain block_hash for the query. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + address: The coldkey address in SS58 format. + block: The block number for the query. + block_hash: The block hash for the query. + reuse_block: Whether to reuse the last-used block hash. Returns: - Balance object. + Balance: The balance object containing the account's TAO balance. + + Example: + # Get balance for an address + balance = await subtensor.get_balance(address="5F...") + print(f"Balance: {balance.tao} TAO") + + # Get balance at specific block + balance = await subtensor.get_balance(address="5F...", block=1000000) """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) balance = await self.substrate.query( @@ -1218,17 +1599,24 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> dict[str, Balance]: - """ - Retrieves the balance for given coldkey(s) + """Retrieves the balance for given coldkey(s). + + This method efficiently queries multiple coldkey addresses in a single batch operation, returning a dictionary + mapping each address to its corresponding balance. This is more efficient than calling get_balance multiple + times. Arguments: - addresses (str): coldkey addresses(s). - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): the block hash, optional. - reuse_block (Optional[bool]): whether to reuse the last-used block hash. + *addresses: Variable number of coldkey addresses in SS58 format. + block: The block number for the query. + block_hash: The block hash for the query. + reuse_block: Whether to reuse the last-used block hash. Returns: - Dict of {address: Balance objects}. + dict[str, Balance]: A dictionary mapping each address to its Balance object. + + Example: + # Get balances for multiple addresses + balances = await subtensor.get_balances("5F...", "5G...", "5H...") """ if reuse_block: block_hash = self.substrate.last_block_hash @@ -1255,16 +1643,26 @@

        Source code for bittensor.core.async_subtensor

        [docs] async def get_current_block(self) -> int: - """ - Returns the current block number on the Bittensor blockchain. This function provides the latest block number, - indicating the most recent state of the blockchain. + """Returns the current block number on the Bittensor blockchain. + + This function provides the latest block number, indicating the most recent state of the blockchain. Knowing + the current block number is essential for querying real-time data and performing time-sensitive operations on + the blockchain. It serves as a reference point for network activities and data synchronization. Returns: int: The current chain block number. - Knowing the current block number is essential for querying real-time data and performing time-sensitive - operations on the blockchain. It serves as a reference point for network activities and data - synchronization. + Example: + # Get current block number + current_block = await subtensor.get_current_block() + print(f"Current block: {current_block}") + + block = await subtensor.get_current_block() + if block > 1000000: + print("Network has progressed past block 1M") + + Notes: + See also: <https://docs.learnbittensor.org/glossary#block> """ return await self.substrate.get_block_number(None)

        @@ -1276,19 +1674,30 @@

        Source code for bittensor.core.async_subtensor

        [docs] async def get_block_hash(self, block: Optional[int] = None) -> str: - """ - Retrieves the hash of a specific block on the Bittensor blockchain. The block hash is a unique identifier - representing the cryptographic hash of the block's content, ensuring its integrity and immutability. + """Retrieves the hash of a specific block on the Bittensor blockchain. + + The block hash is a unique identifier representing the cryptographic hash of the block's content, ensuring its + integrity and immutability. It is a fundamental aspect of blockchain technology, providing a secure reference + to each block's data. It is crucial for verifying transactions, ensuring data consistency, and maintaining the + trustworthiness of the blockchain. Arguments: - block (int): The block number for which the hash is to be retrieved. + block: The block number for which the hash is to be retrieved. If ``None``, returns the latest block hash. Returns: str: The cryptographic hash of the specified block. - The block hash is a fundamental aspect of blockchain technology, providing a secure reference to each block's - data. It is crucial for verifying transactions, ensuring data consistency, and maintaining the - trustworthiness of the blockchain. + Example: + # Get hash for specific block + block_hash = await subtensor.get_block_hash(block=1000000) + print(f"Block 1000000 hash: {block_hash}") + + # Get latest block hash + latest_hash = await subtensor.get_block_hash() + print(f"Latest block hash: {latest_hash}") + + Notes: + See also: <https://docs.learnbittensor.org/glossary#block> """ if block: return await self._get_block_hash(block) @@ -1296,6 +1705,49 @@

        Source code for bittensor.core.async_subtensor

        return await self.substrate.get_chain_head()

        +
        +[docs] + async def get_parents( + self, + hotkey: str, + netuid: int, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> list[tuple[float, str]]: + """This method retrieves the parent of a given hotkey and netuid. It queries the SubtensorModule's ParentKeys + storage function to get the children and formats them before returning as a tuple. + + Arguments: + hotkey: The child hotkey SS58. + netuid: The netuid value. + block: The block number for which the children are to be retrieved. + block_hash: The hash of the block to retrieve the subnet unique identifiers from. + reuse_block: Whether to reuse the last-used block hash. + + Returns: + A list of formatted parents [(proportion, parent)] + """ + block_hash = await self.determine_block_hash(block, block_hash, reuse_block) + parents = await self.substrate.query( + module="SubtensorModule", + storage_function="ParentKeys", + params=[hotkey, netuid], + block_hash=block_hash, + reuse_block_hash=reuse_block, + ) + if parents: + formatted_parents = [] + for proportion, parent in parents.value: + # Convert U64 to int + formatted_child = decode_account_id(parent[0]) + normalized_proportion = u64_normalized_float(proportion) + formatted_parents.append((normalized_proportion, formatted_child)) + return formatted_parents + + return []
        + +
        [docs] async def get_children( @@ -1306,20 +1758,30 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> tuple[bool, list[tuple[float, str]], str]: - """ - This method retrieves the children of a given hotkey and netuid. It queries the SubtensorModule's ChildKeys - storage function to get the children and formats them before returning as a tuple. + """Retrieves the children of a given hotkey and netuid. + + This method queries the SubtensorModule's ChildKeys storage function to get the children and formats them before + returning as a tuple. It provides information about the child neurons that a validator has set for weight + distribution. Arguments: - hotkey (str): The hotkey value. - netuid (int): The netuid value. - block (Optional[int]): The block number for which the children are to be retrieved. - block_hash (Optional[str]): The hash of the block to retrieve the subnet unique identifiers from. - reuse_block (bool): Whether to reuse the last-used block hash. + hotkey: The hotkey value. + netuid: The netuid value. + block: The block number for which the children are to be retrieved. + block_hash: The hash of the block to retrieve the subnet unique identifiers from. + reuse_block: Whether to reuse the last-used block hash. Returns: - A tuple containing a boolean indicating success or failure, a list of formatted children, and an error - message (if applicable) + tuple[bool, list[tuple[float, str]], str]: A tuple containing a boolean indicating success or failure, a + list of formatted children with their proportions, and an error message (if applicable). + + Example: + # Get children for a hotkey in subnet 1 + success, children, error = await subtensor.get_children(hotkey="5F...", netuid=1) + + if success: + for proportion, child_hotkey in children: + print(f"Child {child_hotkey}: {proportion}") """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) try: @@ -1344,6 +1806,61 @@

        Source code for bittensor.core.async_subtensor

        return False, [], format_error_message(e)

        +
        +[docs] + async def get_children_pending( + self, + hotkey: str, + netuid: int, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> tuple[ + list[tuple[float, str]], + int, + ]: + """Retrieves the pending children of a given hotkey and netuid. + + This method queries the SubtensorModule's PendingChildKeys storage function to get children that are pending + approval or in a cooldown period. These are children that have been proposed but not yet finalized. + + Arguments: + hotkey: The hotkey value. + netuid: The netuid value. + block: The block number for which the children are to be retrieved. + block_hash: The hash of the block to retrieve the subnet unique identifiers from. + reuse_block: Whether to reuse the last-used block hash. + + Returns: + list[tuple[float, str]]: A list of children with their proportions. + int: The cool-down block number. + """ + + response = await self.substrate.query( + module="SubtensorModule", + storage_function="PendingChildKeys", + params=[netuid, hotkey], + block_hash=await self.determine_block_hash( + block, + block_hash, + reuse_block, + ), + reuse_block_hash=reuse_block, + ) + children, cooldown = response.value + + return ( + [ + ( + u64_normalized_float(proportion), + decode_account_id(child[0]), + ) + for proportion, child in children + ], + cooldown, + )
        + +
        [docs] async def get_commitment( @@ -1354,19 +1871,33 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> str: - """ - Retrieves the on-chain commitment for a specific neuron in the Bittensor network. + """Retrieves the on-chain commitment for a specific neuron in the Bittensor network. + + This method retrieves the commitment data that a neuron has published to the blockchain. Commitments are used in + the commit-reveal mechanism for secure weight setting and other network operations. Arguments: - netuid (int): The unique identifier of the subnetwork. - uid (int): The unique identifier of the neuron. - block (Optional[int]): The block number to retrieve the commitment from. If None, the latest block is used. - Default is ``None``. - block_hash (Optional[str]): The hash of the block to retrieve the subnet unique identifiers from. - reuse_block (bool): Whether to reuse the last-used block hash. + netuid: The unique identifier of the subnetwork. + uid: The unique identifier of the neuron. + block: The block number to retrieve the commitment from. If None, the latest block is used. + Default is None. + block_hash: The hash of the block to retrieve the subnet unique identifiers from. + reuse_block: Whether to reuse the last-used block hash. Returns: str: The commitment data as a string. + + Example: + # Get commitment for UID 5 in subnet 1 + commitment = await subtensor.get_commitment(netuid=1, uid=5) + print(f"Commitment: {commitment}") + + # Get commitment at specific block + commitment = await subtensor.get_commitment( + netuid=1, + uid=5, + block=1000000 + ) """ metagraph = await self.metagraph(netuid) try: @@ -1386,6 +1917,37 @@

        Source code for bittensor.core.async_subtensor

        return ""

        +
        +[docs] + async def get_last_commitment_bonds_reset_block( + self, netuid: int, uid: int + ) -> Optional[int]: + """ + Retrieves the last block number when the bonds reset were triggered by publish_metadata for a specific neuron. + + Arguments: + netuid: The unique identifier of the subnetwork. + uid: The unique identifier of the neuron. + + Returns: + Optional[int]: The block number when the bonds were last reset, or None if not found. + """ + + metagraph = await self.metagraph(netuid) + try: + hotkey = metagraph.hotkeys[uid] + except IndexError: + logging.error( + "Your uid is not in the hotkeys. Please double-check your UID." + ) + return None + block = await get_last_bonds_reset(self, netuid, hotkey) + try: + return decode_block(block) + except TypeError: + return None
        + +
        [docs] async def get_all_commitments( @@ -1395,18 +1957,28 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, reuse_block: bool = False, ) -> dict[str, str]: - """ - Retrieves the on-chain commitments for a specific subnet in the Bittensor network. + """Retrieves the on-chain commitments for a specific subnet in the Bittensor network. + + This method retrieves all commitment data for all neurons in a specific subnet. This is useful for analyzing the + commit-reveal patterns across an entire subnet. Arguments: - netuid (int): The unique identifier of the subnetwork. - block (Optional[int]): The block number to retrieve the commitment from. If None, the latest block is used. - Default is ``None``. - block_hash (Optional[str]): The hash of the block to retrieve the subnet unique identifiers from. - reuse_block (bool): Whether to reuse the last-used block hash. + netuid: The unique identifier of the subnetwork. + block: The block number to retrieve the commitment from. If None, the latest block is used. + Default is None. + block_hash: The hash of the block to retrieve the subnet unique identifiers from. + reuse_block: Whether to reuse the last-used block hash. Returns: - dict[str, str]: A mapping of the ss58:commitment with the commitment as a string + dict[str, str]: A mapping of the ss58:commitment with the commitment as a string. + + Example: + # Get all commitments for subnet 1 + commitments = await subtensor.get_all_commitments(netuid=1) + + # Iterate over all commitments + for hotkey, commitment in commitments.items(): + print(f"Hotkey {hotkey}: {commitment}") """ query = await self.query_map( module="Commitments", @@ -1418,7 +1990,125 @@

        Source code for bittensor.core.async_subtensor

        ) result = {} async for id_, value in query: - result[decode_account_id(id_[0])] = decode_account_id(value) + result[decode_account_id(id_[0])] = decode_metadata(value.value) + return result

        + + +
        +[docs] + async def get_revealed_commitment_by_hotkey( + self, + netuid: int, + hotkey_ss58_address: Optional[str] = None, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> Optional[tuple[tuple[int, str], ...]]: + """Returns hotkey related revealed commitment for a given netuid. + + Arguments: + netuid: The unique identifier of the subnetwork. + block: The block number to retrieve the commitment from. Default is ``None``. + hotkey_ss58_address: The ss58 address of the committee member. + block_hash: The hash of the block to retrieve the subnet unique identifiers from. + reuse_block: Whether to reuse the last-used block hash. + + Returns: + result (tuple[int, str): A tuple of reveal block and commitment message. + """ + if not is_valid_ss58_address(address=hotkey_ss58_address): + raise ValueError(f"Invalid ss58 address {hotkey_ss58_address} provided.") + + query = await self.query_module( + module="Commitments", + name="RevealedCommitments", + params=[netuid, hotkey_ss58_address], + block=block, + block_hash=block_hash, + reuse_block=reuse_block, + ) + if query is None: + return None + return tuple(decode_revealed_commitment(pair) for pair in query)
        + + +
        +[docs] + async def get_revealed_commitment( + self, + netuid: int, + uid: int, + block: Optional[int] = None, + ) -> Optional[tuple[tuple[int, str], ...]]: + """Returns uid related revealed commitment for a given netuid. + + Arguments: + netuid: The unique identifier of the subnetwork. + uid: The neuron uid to retrieve the commitment from. + block: The block number to retrieve the commitment from. Default is ``None``. + + Returns: + result (Optional[tuple[int, str]]: A tuple of reveal block and commitment message. + + Example of result: + ( (12, "Alice message 1"), (152, "Alice message 2") ) + ( (12, "Bob message 1"), (147, "Bob message 2") ) + """ + try: + meta_info = await self.get_metagraph_info(netuid, block=block) + if meta_info: + hotkey_ss58_address = meta_info.hotkeys[uid] + else: + raise ValueError(f"Subnet with netuid {netuid} does not exist.") + except IndexError: + raise ValueError(f"Subnet {netuid} does not have a neuron with uid {uid}.") + + return await self.get_revealed_commitment_by_hotkey( + netuid=netuid, hotkey_ss58_address=hotkey_ss58_address, block=block + )
        + + +
        +[docs] + async def get_all_revealed_commitments( + self, + netuid: int, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> dict[str, tuple[tuple[int, str], ...]]: + """Returns all revealed commitments for a given netuid. + + Arguments: + netuid: The unique identifier of the subnetwork. + block: The block number to retrieve the commitment from. Default is ``None``. + block_hash: The hash of the block to retrieve the subnet unique identifiers from. + reuse_block: Whether to reuse the last-used block hash. + + Returns: + result: A dictionary of all revealed commitments in view {ss58_address: (reveal block, commitment message)}. + + Example of result: + { + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY": ( (12, "Alice message 1"), (152, "Alice message 2") ), + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty": ( (12, "Bob message 1"), (147, "Bob message 2") ), + } + """ + query = await self.query_map( + module="Commitments", + name="RevealedCommitments", + params=[netuid], + block=block, + block_hash=block_hash, + reuse_block=reuse_block, + ) + + result = {} + async for pair in query: + hotkey_ss58_address, commitment_message = ( + decode_revealed_commitment_with_hotkey(pair) + ) + result[hotkey_ss58_address] = commitment_message return result
        @@ -1435,10 +2125,10 @@

        Source code for bittensor.core.async_subtensor

        Retrieves CRV3 weight commit information for a specific subnet. Arguments: - netuid (int): The unique identifier of the subnet. - block (Optional[int]): The blockchain block number for the query. Default is ``None``. - block_hash (Optional[str]): The hash of the block to retrieve the subnet unique identifiers from. - reuse_block (bool): Whether to reuse the last-used block hash. + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. Default is ``None``. + block_hash: The hash of the block to retrieve the subnet unique identifiers from. + reuse_block: Whether to reuse the last-used block hash. Returns: list: A list of commit details, where each entry is a dictionary with keys 'who', 'serialized_commit', and @@ -1468,19 +2158,19 @@

        Source code for bittensor.core.async_subtensor

        ) -> Optional[DelegateInfo]: """ Retrieves detailed information about a delegate neuron based on its hotkey. This function provides a - comprehensive view of the delegate's status, including its stakes, nominators, and reward distribution. + comprehensive view of the delegate's status, including its stakes, nominators, and reward distribution. Arguments: - hotkey_ss58 (str): The ``SS58`` address of the delegate's hotkey. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the block to retrieve the subnet unique identifiers from. - reuse_block (bool): Whether to reuse the last-used block hash. + hotkey_ss58: The ``SS58`` address of the delegate's hotkey. + block: The blockchain block number for the query. + block_hash: The hash of the block to retrieve the subnet unique identifiers from. + reuse_block: Whether to reuse the last-used block hash. Returns: Optional[DelegateInfo]: Detailed information about the delegate neuron, ``None`` if not found. This function is essential for understanding the roles and influence of delegate neurons within the Bittensor - network's consensus and governance structures. + network's consensus and governance structures. """ result = await self.query_runtime_api( @@ -1505,75 +2195,33 @@

        Source code for bittensor.core.async_subtensor

        block: Optional[int] = None, block_hash: Optional[str] = None, reuse_block: bool = False, - ) -> dict[str, "DelegatesDetails"]: + ) -> dict[str, ChainIdentity]: """ - Fetches delegates identities from the chain and GitHub. Preference is given to chain data, and missing info is - filled-in by the info from GitHub. At some point, we want to totally move away from fetching this info from - GitHub, but chain data is still limited in that regard. + Fetches delegates identities from the chain. Arguments: - block (Optional[int]): The blockchain block number for the query. - block_hash (str): the hash of the blockchain block for the query - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + block: The blockchain block number for the query. + block_hash: the hash of the blockchain block for the query + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: - Dict {ss58: DelegatesDetails, ...} + Dict {ss58: ChainIdentity, ...} """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - timeout = aiohttp.ClientTimeout(10.0) - async with aiohttp.ClientSession(timeout=timeout) as session: - identities_info, response = await asyncio.gather( - self.substrate.query_map( - module="Registry", - storage_function="IdentityOf", - block_hash=block_hash, - reuse_block_hash=reuse_block, - ), - session.get(DELEGATES_DETAILS_URL), - ) - - all_delegates_details = {} - async for ss58_address, identity in identities_info: - all_delegates_details.update( - { - decode_account_id( - ss58_address[0] - ): DelegatesDetails.from_chain_data( - decode_hex_identity_dict(identity.value["info"]) - ) - } - ) - - if response.ok: - all_delegates: dict[str, Any] = await response.json(content_type=None) - - for delegate_hotkey, delegate_details in all_delegates.items(): - delegate_info = all_delegates_details.setdefault( - delegate_hotkey, - DelegatesDetails( - display=delegate_details.get("name", ""), - web=delegate_details.get("url", ""), - additional=delegate_details.get("description", ""), - pgp_fingerprint=delegate_details.get("fingerprint", ""), - ), - ) - delegate_info.display = ( - delegate_info.display or delegate_details.get("name", "") - ) - delegate_info.web = delegate_info.web or delegate_details.get( - "url", "" - ) - delegate_info.additional = ( - delegate_info.additional - or delegate_details.get("description", "") - ) - delegate_info.pgp_fingerprint = ( - delegate_info.pgp_fingerprint - or delegate_details.get("fingerprint", "") - ) + identities = await self.substrate.query_map( + module="SubtensorModule", + storage_function="IdentitiesV2", + block_hash=block_hash, + reuse_block_hash=reuse_block, + ) - return all_delegates_details

        + return { + decode_account_id(ss58_address[0]): ChainIdentity.from_dict( + decode_hex_identity_dict(identity.value), + ) + async for ss58_address, identity in identities + }
        @@ -1584,22 +2232,22 @@

        Source code for bittensor.core.async_subtensor

        block: Optional[int] = None, block_hash: Optional[str] = None, reuse_block: bool = False, - ) -> Optional[float]: + ) -> float: """ Retrieves the delegate 'take' percentage for a neuron identified by its hotkey. The 'take' represents the - percentage of rewards that the delegate claims from its nominators' stakes. + percentage of rewards that the delegate claims from its nominators' stakes. Arguments: - hotkey_ss58 (str): The ``SS58`` address of the neuron's hotkey. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the block to retrieve the subnet unique identifiers from. - reuse_block (bool): Whether to reuse the last-used block hash. + hotkey_ss58: The ``SS58`` address of the neuron's hotkey. + block: The blockchain block number for the query. + block_hash: The hash of the block to retrieve the subnet unique identifiers from. + reuse_block: Whether to reuse the last-used block hash. Returns: - Optional[float]: The delegate take percentage, None if not available. + float: The delegate take percentage. The delegate take is a critical parameter in the network's incentive structure, influencing the distribution of - rewards among neurons and their nominators. + rewards among neurons and their nominators. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) result = await self.query_subtensor( @@ -1608,11 +2256,8 @@

        Source code for bittensor.core.async_subtensor

        reuse_block=reuse_block, params=[hotkey_ss58], ) - return ( - None - if result is None - else u16_normalized_float(getattr(result, "value", 0)) - )

        + + return u16_normalized_float(result.value) # type: ignore
        @@ -1629,16 +2274,16 @@

        Source code for bittensor.core.async_subtensor

        delegates that a specific account has staked tokens on. Arguments: - coldkey_ss58 (str): The `SS58` address of the account's coldkey. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the blockchain block number for the query. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + coldkey_ss58: The ``SS58`` address of the account's coldkey. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number for the query. + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: A list of tuples, each containing a delegate's information and staked amount. This function is important for account holders to understand their stake allocations and their involvement in - the network's delegation and consensus mechanisms. + the network's delegation and consensus mechanisms. """ result = await self.query_runtime_api( @@ -1653,7 +2298,7 @@

        Source code for bittensor.core.async_subtensor

        if not result: return [] - return DelegateInfo.delegated_list_from_dicts(result)

        + return DelegatedInfo.list_from_dicts(result)
        @@ -1668,9 +2313,9 @@

        Source code for bittensor.core.async_subtensor

        Fetches all delegates on the chain Arguments: - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): hash of the blockchain block number for the query. - reuse_block (Optional[bool]): whether to reuse the last-used block hash. + block: The blockchain block number for the query. + block_hash: hash of the blockchain block number for the query. + reuse_block: whether to reuse the last-used block hash. Returns: List of DelegateInfo objects, or an empty list if there are no delegates. @@ -1703,15 +2348,15 @@

        Source code for bittensor.core.async_subtensor

        Accounts with balances below this threshold can be reaped to conserve network resources. Arguments: - block (Optional[int]): The blockchain block number for the query. - block_hash (str): Block hash at which to query the deposit amount. If `None`, the current block is used. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + block: The blockchain block number for the query. + block_hash: Block hash at which to query the deposit amount. If ``None``, the current block is used. + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: The existential deposit amount. The existential deposit is a fundamental economic parameter in the Bittensor network, ensuring efficient use of - storage and preventing the proliferation of dust accounts. + storage and preventing the proliferation of dust accounts. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) result = await self.substrate.get_constant( @@ -1739,16 +2384,22 @@

        Source code for bittensor.core.async_subtensor

        """ Retrieves the owner of the given hotkey at a specific block hash. This function queries the blockchain for the owner of the provided hotkey. If the hotkey does not exist at the - specified block hash, it returns None. + specified block hash, it returns None. Arguments: - hotkey_ss58 (str): The SS58 address of the hotkey. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the block at which to check the hotkey ownership. - reuse_block (bool): Whether to reuse the last-used blockchain hash. + hotkey_ss58: The SS58 address of the hotkey. + block: The blockchain block number for the query. + block_hash: The hash of the block at which to check the hotkey ownership. + reuse_block: Whether to reuse the last-used blockchain hash. Returns: Optional[str]: The SS58 address of the owner if the hotkey exists, or None if it doesn't. + + Notes: + See also: + - <https://docs.learnbittensor.org/glossary#hotkey> + - <https://docs.learnbittensor.org/glossary#subnet> + - <https://docs.learnbittensor.org/glossary#neuron> """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) hk_owner_query = await self.substrate.query( @@ -1770,13 +2421,9 @@

        Source code for bittensor.core.async_subtensor

        async def get_minimum_required_stake(self): """ Returns the minimum required stake for nominators in the Subtensor network. - This method retries the substrate call up to three times with exponential backoff in case of failures. Returns: Balance: The minimum required stake as a Balance object. - - Raises: - Exception: If the substrate call fails after the maximum number of retries. """ result = await self.substrate.query( module="SubtensorModule", storage_function="NominatorMinRequiredStake" @@ -1790,15 +2437,22 @@

        Source code for bittensor.core.async_subtensor

        async def get_metagraph_info( self, netuid: int, + field_indices: Optional[Union[list[SelectiveMetagraphIndex], list[int]]] = None, block: Optional[int] = None, block_hash: Optional[str] = None, reuse_block: bool = False, ) -> Optional[MetagraphInfo]: """ - Retrieves the MetagraphInfo dataclass from the node for a single subnet (netuid) + Retrieves full or partial metagraph information for the specified subnet (netuid). + + A metagraph is a data structure that contains comprehensive information about the current state of a subnet, + including detailed information on all the nodes (neurons) such as subnet validator stakes and subnet weights + in the subnet. Metagraph aids in calculating emissions. Arguments: - netuid: The NetUID of the subnet. + netuid: The unique identifier of the subnet to query. + field_indices: An optional list of SelectiveMetagraphIndex or int values specifying which fields to + retrieve. If not provided, all available fields will be returned. block: the block number at which to retrieve the hyperparameter. Do not specify if using block_hash or reuse_block block_hash: The hash of blockchain block number for the query. Do not specify if using @@ -1806,21 +2460,56 @@

        Source code for bittensor.core.async_subtensor

        reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. Returns: - MetagraphInfo dataclass + Optional[MetagraphInfo]: A MetagraphInfo object containing the requested subnet data, or None if the subnet + with the given netuid does not exist. + + Example: + meta_info = await subtensor.get_metagraph_info(netuid=2) + + partial_meta_info = await subtensor.get_metagraph_info( + netuid=2, + field_indices=[SelectiveMetagraphIndex.Name, SelectiveMetagraphIndex.OwnerHotkeys] + ) + + Notes: + See also: + - <https://docs.learnbittensor.org/glossary#metagraph> + - <https://docs.learnbittensor.org/glossary#emission> """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) if not block_hash and reuse_block: block_hash = self.substrate.last_block_hash - query = await self.substrate.runtime_call( - "SubnetInfoRuntimeApi", - "get_metagraph", - params=[netuid], - block_hash=block_hash, - ) + if field_indices: + if isinstance(field_indices, list) and all( + isinstance(f, (SelectiveMetagraphIndex, int)) for f in field_indices + ): + indexes = [ + f.value if isinstance(f, SelectiveMetagraphIndex) else f + for f in field_indices + ] + else: + raise ValueError( + "`field_indices` must be a list of SelectiveMetagraphIndex enums or ints." + ) + + query = await self.substrate.runtime_call( + "SubnetInfoRuntimeApi", + "get_selective_metagraph", + params=[netuid, indexes if 0 in indexes else [0] + indexes], + block_hash=block_hash, + ) + else: + query = await self.substrate.runtime_call( + "SubnetInfoRuntimeApi", + "get_metagraph", + params=[netuid], + ) + if query.value is None: logging.error(f"Subnet {netuid} does not exist.") return None + return MetagraphInfo.from_dict(query.value)

        @@ -1838,12 +2527,15 @@

        Source code for bittensor.core.async_subtensor

        Arguments: block: the block number at which to retrieve the hyperparameter. Do not specify if using block_hash or reuse_block - block_hash (Optional[str]): The hash of blockchain block number for the query. Do not specify if using + block_hash: The hash of blockchain block number for the query. Do not specify if using block or reuse_block - reuse_block (bool): Whether to reuse the last-used block hash. Do not set if using block_hash or block. + reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. Returns: MetagraphInfo dataclass + + Notes: + See also: See <https://docs.learnbittensor.org/glossary#metagraph> """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) if not block_hash and reuse_block: @@ -1867,13 +2559,13 @@

        Source code for bittensor.core.async_subtensor

        ) -> list[int]: """ Retrieves a list of subnet UIDs (netuids) for which a given hotkey is a member. This function identifies the - specific subnets within the Bittensor network where the neuron associated with the hotkey is active. + specific subnets within the Bittensor network where the neuron associated with the hotkey is active. Arguments: - hotkey_ss58 (str): The ``SS58`` address of the neuron's hotkey. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the blockchain block number at which to perform the query. - reuse_block (Optional[bool]): Whether to reuse the last-used block hash when retrieving info. + hotkey_ss58: The ``SS58`` address of the neuron's hotkey. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number at which to perform the query. + reuse_block: Whether to reuse the last-used block hash when retrieving info. Returns: A list of netuids where the neuron is a member. @@ -1906,7 +2598,7 @@

        Source code for bittensor.core.async_subtensor

        ) -> Optional[Certificate]: """ Retrieves the TLS certificate for a specific neuron identified by its unique identifier (UID) within a - specified subnet (netuid) of the Bittensor network. + specified subnet (netuid) of the Bittensor network. Arguments: hotkey: The hotkey to query. @@ -1917,17 +2609,20 @@

        Source code for bittensor.core.async_subtensor

        reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. Returns: - the certificate of the neuron if found, `None` otherwise. + the certificate of the neuron if found, ``None`` otherwise. This function is used for certificate discovery for setting up mutual tls communication between neurons. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - certificate = await self.query_module( - module="SubtensorModule", - name="NeuronCertificates", - block_hash=block_hash, - reuse_block=reuse_block, - params=[netuid, hotkey], + certificate = cast( + Union[str, dict], + await self.query_module( + module="SubtensorModule", + name="NeuronCertificates", + block_hash=block_hash, + reuse_block=reuse_block, + params=[netuid, hotkey], + ), ) try: if certificate: @@ -1938,42 +2633,251 @@

        Source code for bittensor.core.async_subtensor

        return None

        -
        -[docs] - async def get_neuron_for_pubkey_and_subnet( +
        +[docs] + async def get_all_neuron_certificates( self, - hotkey_ss58: str, netuid: int, block: Optional[int] = None, block_hash: Optional[str] = None, reuse_block: bool = False, - ) -> "NeuronInfo": + ) -> dict[str, Certificate]: """ - Retrieves information about a neuron based on its public key (hotkey SS58 address) and the specific subnet UID - (netuid). This function provides detailed neuron information for a particular subnet within the Bittensor - network. + Retrieves the TLS certificates for neurons within a specified subnet (netuid) of the Bittensor network. Arguments: - hotkey_ss58 (str): The ``SS58`` address of the neuron's hotkey. - netuid (int): The unique identifier of the subnet. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[int]): The blockchain block number at which to perform the query. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or + reuse_block. + reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. Returns: - Optional[bittensor.core.chain_data.neuron_info.NeuronInfo]: Detailed information about the neuron if found, - ``None`` otherwise. + {ss58: Certificate} for the key/Certificate pairs on the subnet - This function is crucial for accessing specific neuron data and understanding its status, stake, and other - attributes within a particular subnet of the Bittensor ecosystem. + This function is used for certificate discovery for setting up mutual tls communication between neurons. """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - uid_query = await self.substrate.query( + query_certificates = await self.query_map( module="SubtensorModule", - storage_function="Uids", - params=[netuid, hotkey_ss58], + name="NeuronCertificates", + params=[netuid], + block=block, block_hash=block_hash, - reuse_block_hash=reuse_block, + reuse_block=reuse_block, + ) + output = {} + async for key, item in query_certificates: + output[decode_account_id(key)] = Certificate(item.value) + return output
        + + +
        +[docs] + async def get_liquidity_list( + self, + wallet: "Wallet", + netuid: int, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> Optional[list[LiquidityPosition]]: + """ + Retrieves all liquidity positions for the given wallet on a specified subnet (netuid). + Calculates associated fee rewards based on current global and tick-level fee data. + + Arguments: + wallet: Wallet instance to fetch positions for. + netuid: Subnet unique id. + block: The blockchain block number for the query. + block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or + reuse_block. + reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. + + Returns: + List of liquidity positions, or None if subnet does not exist. + """ + if not await self.subnet_exists(netuid=netuid): + logging.debug(f"Subnet {netuid} does not exist.") + return None + + if not await self.is_subnet_active(netuid=netuid): + logging.debug(f"Subnet {netuid} is not active.") + return None + + block_hash = await self.determine_block_hash( + block=block, block_hash=block_hash, reuse_block=reuse_block + ) + + query = self.substrate.query + ( + fee_global_tao, + fee_global_alpha, + sqrt_price, + positions_response, + ) = await asyncio.gather( + query( + module="Swap", + storage_function="FeeGlobalTao", + params=[netuid], + block_hash=block_hash, + ), + query( + module="Swap", + storage_function="FeeGlobalAlpha", + params=[netuid], + block_hash=block_hash, + ), + query( + module="Swap", + storage_function="AlphaSqrtPrice", + params=[netuid], + block_hash=block_hash, + ), + self.query_map( + module="Swap", + name="Positions", + block=block, + params=[netuid, wallet.coldkeypub.ss58_address], + ), + ) + # convert to floats + fee_global_tao = fixed_to_float(fee_global_tao) + fee_global_alpha = fixed_to_float(fee_global_alpha) + sqrt_price = fixed_to_float(sqrt_price) + + # Fetch global fees and current price + current_tick = price_to_tick(sqrt_price**2) + + # Fetch positions + positions = [] + async for _, p in positions_response: + position = p.value + + tick_low_idx = position.get("tick_low")[0] + tick_high_idx = position.get("tick_high")[0] + + tick_low, tick_high = await asyncio.gather( + query( + module="Swap", + storage_function="Ticks", + params=[netuid, tick_low_idx], + block_hash=block_hash, + ), + query( + module="Swap", + storage_function="Ticks", + params=[netuid, tick_high_idx], + block_hash=block_hash, + ), + ) + + # Calculate fees above/below range for both tokens + tao_below = get_fees( + current_tick=current_tick, + tick=tick_low, + tick_index=tick_low_idx, + quote=True, + global_fees_tao=fee_global_tao, + global_fees_alpha=fee_global_alpha, + above=False, + ) + tao_above = get_fees( + current_tick=current_tick, + tick=tick_high, + tick_index=tick_high_idx, + quote=True, + global_fees_tao=fee_global_tao, + global_fees_alpha=fee_global_alpha, + above=True, + ) + alpha_below = get_fees( + current_tick=current_tick, + tick=tick_low, + tick_index=tick_low_idx, + quote=False, + global_fees_tao=fee_global_tao, + global_fees_alpha=fee_global_alpha, + above=False, + ) + alpha_above = get_fees( + current_tick=current_tick, + tick=tick_high, + tick_index=tick_high_idx, + quote=False, + global_fees_tao=fee_global_tao, + global_fees_alpha=fee_global_alpha, + above=True, + ) + + # Calculate fees earned by position + fees_tao, fees_alpha = calculate_fees( + position=position, + global_fees_tao=fee_global_tao, + global_fees_alpha=fee_global_alpha, + tao_fees_below_low=tao_below, + tao_fees_above_high=tao_above, + alpha_fees_below_low=alpha_below, + alpha_fees_above_high=alpha_above, + netuid=netuid, + ) + + positions.append( + LiquidityPosition( + **{ + "id": position.get("id")[0], + "price_low": Balance.from_tao( + tick_to_price(position.get("tick_low")[0]) + ), + "price_high": Balance.from_tao( + tick_to_price(position.get("tick_high")[0]) + ), + "liquidity": Balance.from_rao(position.get("liquidity")), + "fees_tao": fees_tao, + "fees_alpha": fees_alpha, + "netuid": position.get("netuid"), + } + ) + ) + + return positions
        + + +
        +[docs] + async def get_neuron_for_pubkey_and_subnet( + self, + hotkey_ss58: str, + netuid: int, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> "NeuronInfo": + """ + Retrieves information about a neuron based on its public key (hotkey SS58 address) and the specific subnet UID + (netuid). This function provides detailed neuron information for a particular subnet within the Bittensor + network. + + Arguments: + hotkey_ss58: The ``SS58`` address of the neuron's hotkey. + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + block_hash: The blockchain block number at which to perform the query. + reuse_block: Whether to reuse the last-used blockchain block hash. + + Returns: + Optional[bittensor.core.chain_data.neuron_info.NeuronInfo]: Detailed information about the neuron if found, + ``None`` otherwise. + + This function is crucial for accessing specific neuron data and understanding its status, stake, and other + attributes within a particular subnet of the Bittensor ecosystem. + """ + block_hash = await self.determine_block_hash(block, block_hash, reuse_block) + uid_query = await self.substrate.query( + module="SubtensorModule", + storage_function="Uids", + params=[netuid, hotkey_ss58], + block_hash=block_hash, + reuse_block_hash=reuse_block, ) if (uid := getattr(uid_query, "value", None)) is None: return NeuronInfo.get_null_neuron() @@ -1987,6 +2891,79 @@

        Source code for bittensor.core.async_subtensor

        )

        +
        +[docs] + async def get_next_epoch_start_block( + self, + netuid: int, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> Optional[int]: + """ + Calculates the first block number of the next epoch for the given subnet. + + If ``block`` is not provided, the current chain block will be used. Epochs are determined based on the subnet's + tempo (i.e., blocks per epoch). The result is the block number at which the next epoch will begin. + + Arguments: + netuid: The unique identifier of the subnet. + block: The reference block to calculate from. If None, uses the current chain block height. + block_hash: The blockchain block number at which to perform the query. + reuse_block: Whether to reuse the last-used blockchain block hash. + + Returns: + int: The block number at which the next epoch will start. + + Notes: + See also: <https://docs.learnbittensor.org/glossary#tempo> + """ + block_hash = await self.determine_block_hash(block, block_hash, reuse_block) + blocks_since_last_step = await self.blocks_since_last_step( + netuid=netuid, block=block, block_hash=block_hash, reuse_block=reuse_block + ) + tempo = await self.tempo( + netuid=netuid, block=block, block_hash=block_hash, reuse_block=reuse_block + ) + + if block and blocks_since_last_step is not None and tempo: + return block - blocks_since_last_step + tempo + 1 + return None
        + + +
        +[docs] + async def get_owned_hotkeys( + self, + coldkey_ss58: str, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> list[str]: + """ + Retrieves all hotkeys owned by a specific coldkey address. + + Arguments: + coldkey_ss58: The SS58 address of the coldkey to query. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number for the query. + reuse_block: Whether to reuse the last-used blockchain block hash. + + Returns: + list[str]: A list of hotkey SS58 addresses owned by the coldkey. + """ + block_hash = await self.determine_block_hash(block, block_hash, reuse_block) + owned_hotkeys = await self.substrate.query( + module="SubtensorModule", + storage_function="OwnedHotkeys", + params=[coldkey_ss58], + block_hash=block_hash, + reuse_block_hash=reuse_block, + ) + + return [decode_account_id(hotkey[0]) for hotkey in owned_hotkeys or []]
        + +
        [docs] async def get_stake( @@ -2001,14 +2978,14 @@

        Source code for bittensor.core.async_subtensor

        """ Returns the stake under a coldkey - hotkey pairing. - Args: - hotkey_ss58 (str): The SS58 address of the hotkey. - coldkey_ss58 (str): The SS58 address of the coldkey. - netuid (int): The subnet ID. - block (Optional[int]): The block number at which to query the stake information. - block_hash (Optional[str]): The hash of the block to retrieve the stake from. Do not specify if using block + Arguments: + hotkey_ss58: The SS58 address of the hotkey. + coldkey_ss58: The SS58 address of the coldkey. + netuid: The subnet ID. + block: The block number at which to query the stake information. + block_hash: The hash of the block to retrieve the stake from. Do not specify if using block or reuse_block - reuse_block (bool): Whether to use the last-used block. Do not set if using block_hash or block. + reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. Returns: Balance: The stake under the coldkey - hotkey pairing. @@ -2046,6 +3023,220 @@

        Source code for bittensor.core.async_subtensor

        return Balance.from_rao(int(stake)).set_unit(netuid=netuid)

        + # TODO: remove unused parameters in SDK.v10 +
        +[docs] + async def get_stake_add_fee( + self, + amount: Balance, + netuid: int, + coldkey_ss58: str, + hotkey_ss58: str, + block: Optional[int] = None, + ) -> Balance: + """ + Calculates the fee for adding new stake to a hotkey. + + Arguments: + amount: Amount of stake to add in TAO + netuid: Netuid of subnet + coldkey_ss58: SS58 address of source coldkey + hotkey_ss58: SS58 address of destination hotkey + block: Block number at which to perform the calculation + + Returns: + The calculated stake fee as a Balance object + """ + return await self.get_stake_operations_fee( + amount=amount, netuid=netuid, block=block + )
        + + +
        +[docs] + async def get_subnet_info( + self, + netuid: int, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> Optional["SubnetInfo"]: + """ + Retrieves detailed information about subnet within the Bittensor network. + This function provides comprehensive data on subnet, including its characteristics and operational parameters. + + Arguments: + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + block_hash: The hash of the block to retrieve the stake from. Do not specify if using block + or reuse_block + reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. + + Returns: + SubnetInfo: A SubnetInfo objects, each containing detailed information about a subnet. + + Gaining insights into the subnet's details assists in understanding the network's composition, the roles of + different subnets, and their unique features. + """ + result = await self.query_runtime_api( + runtime_api="SubnetInfoRuntimeApi", + method="get_subnet_info_v2", + params=[netuid], + block=block, + block_hash=block_hash, + reuse_block=reuse_block, + ) + if not result: + return None + return SubnetInfo.from_dict(result)
        + + +
        +[docs] + async def get_subnet_price( + self, + netuid: int, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> Balance: + """Gets the current Alpha price in TAO for all subnets. + + Arguments: + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + block_hash: The hash of the block to retrieve the stake from. Do not specify if using block + or reuse_block + reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. + + Returns: + The current Alpha price in TAO units for the specified subnet. + """ + # SN0 price is always 1 TAO + if netuid == 0: + return Balance.from_tao(1) + + block_hash = await self.determine_block_hash(block=block) + current_sqrt_price = await self.substrate.query( + module="Swap", + storage_function="AlphaSqrtPrice", + params=[netuid], + block_hash=block_hash, + ) + + current_sqrt_price = fixed_to_float(current_sqrt_price) + current_price = current_sqrt_price * current_sqrt_price + return Balance.from_rao(int(current_price * 1e9))
        + + +
        +[docs] + async def get_subnet_prices( + self, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> dict[int, Balance]: + """Gets the current Alpha price in TAO for a specified subnet. + + Arguments: + block: The blockchain block number for the query. + block_hash: The hash of the block to retrieve the stake from. Do not specify if using block + or reuse_block + reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. + + Returns: + dict: + - subnet unique ID + - The current Alpha price in TAO units for the specified subnet. + """ + block_hash = await self.determine_block_hash( + block=block, block_hash=block_hash, reuse_block=reuse_block + ) + + current_sqrt_prices = await self.substrate.query_map( + module="Swap", + storage_function="AlphaSqrtPrice", + block_hash=block_hash, + page_size=129, # total number of subnets + ) + + prices = {} + async for id_, current_sqrt_price in current_sqrt_prices: + current_sqrt_price = fixed_to_float(current_sqrt_price) + current_price = current_sqrt_price * current_sqrt_price + current_price_in_tao = Balance.from_rao(int(current_price * 1e9)) + prices.update({id_: current_price_in_tao}) + + # SN0 price is always 1 TAO + prices.update({0: Balance.from_tao(1)}) + return prices
        + + + # TODO: remove unused parameters in SDK.v10 +
        +[docs] + async def get_unstake_fee( + self, + amount: Balance, + netuid: int, + coldkey_ss58: str, + hotkey_ss58: str, + block: Optional[int] = None, + ) -> Balance: + """ + Calculates the fee for unstaking from a hotkey. + + Arguments: + amount: Amount of stake to unstake in TAO + netuid: Netuid of subnet + coldkey_ss58: SS58 address of source coldkey + hotkey_ss58: SS58 address of destination hotkey + block: Block number at which to perform the calculation + + Returns: + The calculated stake fee as a Balance object + """ + return await self.get_stake_operations_fee( + amount=amount, netuid=netuid, block=block + )
        + + + # TODO: remove unused parameters in SDK.v10 +
        +[docs] + async def get_stake_movement_fee( + self, + amount: Balance, + origin_netuid: int, + origin_hotkey_ss58: str, + origin_coldkey_ss58: str, + destination_netuid: int, + destination_hotkey_ss58: str, + destination_coldkey_ss58: str, + block: Optional[int] = None, + ) -> Balance: + """ + Calculates the fee for moving stake between hotkeys/subnets/coldkeys. + + Arguments: + amount: Amount of stake to move in TAO + origin_netuid: Netuid of source subnet + origin_hotkey_ss58: SS58 address of source hotkey + origin_coldkey_ss58: SS58 address of source coldkey + destination_netuid: Netuid of destination subnet + destination_hotkey_ss58: SS58 address of destination hotkey + destination_coldkey_ss58: SS58 address of destination coldkey + block: Block number at which to perform the calculation + + Returns: + The calculated stake fee as a Balance object + """ + return await self.get_stake_operations_fee( + amount=amount, netuid=origin_netuid, block=block + )
        + +
        [docs] async def get_stake_for_coldkey_and_hotkey( @@ -2061,13 +3252,13 @@

        Source code for bittensor.core.async_subtensor

        Retrieves all coldkey-hotkey pairing stake across specified (or all) subnets Arguments: - coldkey_ss58 (str): The SS58 address of the coldkey. - hotkey_ss58 (str): The SS58 address of the hotkey. - netuids (Optional[list[int]]): The subnet IDs to query for. Set to `None` for all subnets. - block (Optional[int]): The block number at which to query the stake information. - block_hash (Optional[str]): The hash of the block to retrieve the stake from. Do not specify if using block + coldkey_ss58: The SS58 address of the coldkey. + hotkey_ss58: The SS58 address of the hotkey. + netuids: The subnet IDs to query for. Set to ``None`` for all subnets. + block: The block number at which to query the stake information. + block_hash: The hash of the block to retrieve the stake from. Do not specify if using block or reuse_block - reuse_block (bool): Whether to use the last-used block. Do not set if using block_hash or block. + reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. Returns: A {netuid: StakeInfo} pairing of all stakes across all subnets. @@ -2110,14 +3301,14 @@

        Source code for bittensor.core.async_subtensor

        """ Retrieves the stake information for a given coldkey. - Args: - coldkey_ss58 (str): The SS58 address of the coldkey. - block (Optional[int]): The block number at which to query the stake information. - block_hash (Optional[str]): The hash of the blockchain block number for the query. - reuse_block (bool): Whether to reuse the last-used block hash. + Arguments: + coldkey_ss58: The SS58 address of the coldkey. + block: The block number at which to query the stake information. + block_hash: The hash of the blockchain block number for the query. + reuse_block: Whether to reuse the last-used block hash. Returns: - Optional[list[StakeInfo]]: A list of StakeInfo objects, or ``None`` if no stake information is found. + An optional list of StakeInfo objects, or ``None`` if no stake information is found. """ result = await self.query_runtime_api( runtime_api="StakeInfoRuntimeApi", @@ -2150,13 +3341,13 @@

        Source code for bittensor.core.async_subtensor

        """ Retrieves the stake information for a given hotkey. - Args: + Arguments: hotkey_ss58: The SS58 address of the hotkey. netuid: The subnet ID to query for. block: The block number at which to query the stake information. Do not specify if also specifying - block_hash or reuse_block + block_hash or reuse_block. block_hash: The hash of the blockchain block number for the query. Do not specify if also specifying block - or reuse_block + or reuse_block. reuse_block: Whether to reuse for this query the last-used block. Do not specify if also specifying block or block_hash. """ @@ -2174,6 +3365,42 @@

        Source code for bittensor.core.async_subtensor

        get_hotkey_stake = get_stake_for_hotkey +

        +[docs] + async def get_stake_operations_fee( + self, + amount: Balance, + netuid: int, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ): + """Returns fee for any stake operation in specified subnet. + + Args: + amount: Amount of stake to add in Alpha/TAO. + netuid: Netuid of subnet. + block: The block number at which to query the stake information. Do not specify if also specifying + block_hash or reuse_block. + block_hash: The hash of the blockchain block number for the query. Do not specify if also specifying block + or reuse_block. + reuse_block: Whether to reuse for this query the last-used block. Do not specify if also specifying block + or block_hash. + Returns: + The calculated stake fee as a Balance object. + """ + block_hash = await self.determine_block_hash( + block=block, block_hash=block_hash, reuse_block=reuse_block + ) + result = await self.substrate.query( + module="Swap", + storage_function="FeeRate", + params=[netuid], + block_hash=block_hash, + ) + return amount * (result.value / U16_MAX)
        + +
        [docs] async def get_subnet_burn_cost( @@ -2184,12 +3411,12 @@

        Source code for bittensor.core.async_subtensor

        ) -> Optional[Balance]: """ Retrieves the burn cost for registering a new subnet within the Bittensor network. This cost represents the - amount of Tao that needs to be locked or burned to establish a new subnet. + amount of Tao that needs to be locked or burned to establish a new Arguments: - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[int]): The blockchain block_hash of the block id. - reuse_block (bool): Whether to reuse the last-used block hash. + block: The blockchain block number for the query. + block_hash: The blockchain block_hash of the block id. + reuse_block: Whether to reuse the last-used block hash. Returns: int: The burn cost for subnet registration. @@ -2222,23 +3449,23 @@

        Source code for bittensor.core.async_subtensor

        ) -> Optional["SubnetHyperparameters"]: """ Retrieves the hyperparameters for a specific subnet within the Bittensor network. These hyperparameters define - the operational settings and rules governing the subnet's behavior. + the operational settings and rules governing the subnet's behavior. Arguments: - netuid (int): The network UID of the subnet to query. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the blockchain block number for the query. - reuse_block (bool): Whether to reuse the last-used blockchain hash. + netuid: The network UID of the subnet to query. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number for the query. + reuse_block: Whether to reuse the last-used blockchain hash. Returns: - The subnet's hyperparameters, or `None` if not available. + The subnet's hyperparameters, or ``None`` if not available. Understanding the hyperparameters is crucial for comprehending how subnets are configured and managed, and how - they interact with the network's consensus and incentive mechanisms. + they interact with the network's consensus and incentive mechanisms. """ result = await self.query_runtime_api( runtime_api="SubnetInfoRuntimeApi", - method="get_subnet_hyperparams", + method="get_subnet_hyperparams_v2", params=[netuid], block=block, block_hash=block_hash, @@ -2275,15 +3502,15 @@

        Source code for bittensor.core.async_subtensor

        Retrieves the list of all subnet unique identifiers (netuids) currently present in the Bittensor network. Arguments: - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the block to retrieve the subnet unique identifiers from. - reuse_block (bool): Whether to reuse the last-used block hash. + block: The blockchain block number for the query. + block_hash: The hash of the block to retrieve the subnet unique identifiers from. + reuse_block: Whether to reuse the last-used block hash. Returns: A list of subnet netuids. - This function provides a comprehensive view of the subnets within the Bittensor network, - offering insights into its diversity and scale. + This function provides a comprehensive view of the subnets within the Bittensor network, offering insights into + its diversity and scale. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) result = await self.substrate.query_map( @@ -2312,15 +3539,15 @@

        Source code for bittensor.core.async_subtensor

        Retrieves the total number of subnets within the Bittensor network as of a specific blockchain block. Arguments: - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The blockchain block_hash representation of block id. - reuse_block (bool): Whether to reuse the last-used block hash. + block: The blockchain block number for the query. + block_hash: The blockchain block_hash representation of block id. + reuse_block: Whether to reuse the last-used block hash. Returns: Optional[str]: The total number of subnets in the network. Understanding the total number of subnets is essential for assessing the network's growth and the extent of its - decentralized infrastructure. + decentralized infrastructure. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) result = await self.substrate.query( @@ -2340,28 +3567,28 @@

        Source code for bittensor.core.async_subtensor

        ) -> Balance: """ Calculates the transaction fee for transferring tokens from a wallet to a specified destination address. This - function simulates the transfer to estimate the associated cost, taking into account the current network - conditions and transaction complexity. + function simulates the transfer to estimate the associated cost, taking into account the current network + conditions and transaction complexity. Arguments: - wallet (bittensor_wallet.Wallet): The wallet from which the transfer is initiated. - dest (str): The ``SS58`` address of the destination account. - value (Union[bittensor.utils.balance.Balance, float, int]): The amount of tokens to be transferred, - specified as a Balance object, or in Tao (float) or Rao (int) units. + wallet: The wallet from which the transfer is initiated. + dest: The ``SS58`` address of the destination account. + value: The amount of tokens to be transferred, specified as a Balance object, or in Tao (float) or Rao + (int) units. Returns: bittensor.utils.balance.Balance: The estimated transaction fee for the transfer, represented as a Balance object. - Estimating the transfer fee is essential for planning and executing token transactions, ensuring that the wallet - has sufficient funds to cover both the transfer amount and the associated costs. This function provides a - crucial tool for managing financial operations within the Bittensor network. + Estimating the transfer fee is essential for planning and executing token transactions, ensuring that the + wallet has sufficient funds to cover both the transfer amount and the associated costs. This function provides + a crucial tool for managing financial operations within the Bittensor network. """ value = check_and_convert_to_balance(value) call = await self.substrate.compose_call( call_module="Balances", - call_function="transfer_allow_death", + call_function="transfer_keep_alive", call_params={"dest": dest, "value": value.rao}, ) @@ -2387,19 +3614,19 @@

        Source code for bittensor.core.async_subtensor

        ) -> Optional["ProposalVoteData"]: """ Retrieves the voting data for a specific proposal on the Bittensor blockchain. This data includes information - about how senate members have voted on the proposal. + about how senate members have voted on the proposal. Arguments: - proposal_hash (str): The hash of the proposal for which voting data is requested. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the blockchain block number to query the voting data. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + proposal_hash: The hash of the proposal for which voting data is requested. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number to query the voting data. + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: - An object containing the proposal's voting data, or `None` if not found. + An object containing the proposal's voting data, or ``None`` if not found. This function is important for tracking and understanding the decision-making processes within the Bittensor - network, particularly how proposals are received and acted upon by the governing body. + network, particularly how proposals are received and acted upon by the governing body. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) vote_data: dict[str, Any] = await self.substrate.query( @@ -2409,10 +3636,11 @@

        Source code for bittensor.core.async_subtensor

        block_hash=block_hash, reuse_block_hash=reuse_block, ) + if vote_data is None: return None - else: - return ProposalVoteData(vote_data)

        + + return ProposalVoteData.from_dict(vote_data)
        @@ -2429,17 +3657,17 @@

        Source code for bittensor.core.async_subtensor

        Retrieves the unique identifier (UID) for a neuron's hotkey on a specific subnet. Arguments: - hotkey_ss58 (str): The ``SS58`` address of the neuron's hotkey. - netuid (int): The unique identifier of the subnet. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The blockchain block_hash representation of the block id. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + hotkey_ss58: The ``SS58`` address of the neuron's hotkey. + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + block_hash: The blockchain block_hash representation of the block id. + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: Optional[int]: The UID of the neuron if it is registered on the subnet, ``None`` otherwise. The UID is a critical identifier within the network, linking the neuron's hotkey to its operational and - governance activities on a particular subnet. + governance activities on a particular subnet. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) result = await self.substrate.query( @@ -2467,12 +3695,12 @@

        Source code for bittensor.core.async_subtensor

        Filters a given list of all netuids for certain specified netuids and hotkeys Arguments: - all_netuids (Iterable[int]): A list of netuids to filter. - filter_for_netuids (Iterable[int]): A subset of all_netuids to filter from the main list. - all_hotkeys (Iterable[Wallet]): Hotkeys to filter from the main list. - block (Optional[int]): The blockchain block number for the query. - block_hash (str): hash of the blockchain block number at which to perform the query. - reuse_block (bool): whether to reuse the last-used blockchain hash when retrieving info. + all_netuids: A list of netuids to filter. + filter_for_netuids: A subset of all_netuids to filter from the main list. + all_hotkeys: Hotkeys to filter from the main list. + block: The blockchain block number for the query. + block_hash: hash of the blockchain block number at which to perform the query. + reuse_block: whether to reuse the last-used blockchain hash when retrieving info. Returns: The filtered list of netuids. @@ -2524,20 +3752,20 @@

        Source code for bittensor.core.async_subtensor

        ) -> Optional[int]: """ Retrieves the 'ImmunityPeriod' hyperparameter for a specific subnet. This parameter defines the duration during - which new neurons are protected from certain network penalties or restrictions. + which new neurons are protected from certain network penalties or restrictions. - Args: - netuid (int): The unique identifier of the subnet. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The blockchain block_hash representation of the block id. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + Arguments: + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + block_hash: The blockchain block_hash representation of the block id. + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: Optional[int]: The value of the 'ImmunityPeriod' hyperparameter if the subnet exists, ``None`` otherwise. The 'ImmunityPeriod' is a critical aspect of the network's governance system, ensuring that new participants - have a grace period to establish themselves and contribute to the network without facing immediate - punitive actions. + have a grace period to establish themselves and contribute to the network without facing immediate punitive + actions. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) call = await self.get_hyperparameter( @@ -2549,6 +3777,15 @@

        Source code for bittensor.core.async_subtensor

        return None if call is None else int(call)

        +
        +[docs] + async def is_fast_blocks(self): + """Returns True if the node is running with fast blocks. False if not.""" + return ( + await self.query_constant("SubtensorModule", "DurationOfStartCall") + ).value == 10
        + +
        [docs] async def is_hotkey_delegate( @@ -2560,19 +3797,19 @@

        Source code for bittensor.core.async_subtensor

        ) -> bool: """ Determines whether a given hotkey (public key) is a delegate on the Bittensor network. This function checks if - the neuron associated with the hotkey is part of the network's delegation system. + the neuron associated with the hotkey is part of the network's delegation system. Arguments: - hotkey_ss58 (str): The SS58 address of the neuron's hotkey. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the blockchain block number for the query. - reuse_block (Optional[bool]): Whether to reuse the last-used block hash. + hotkey_ss58: The SS58 address of the neuron's hotkey. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number for the query. + reuse_block: Whether to reuse the last-used block hash. Returns: - `True` if the hotkey is a delegate, `False` otherwise. + ``True`` if the hotkey is a delegate, ``False`` otherwise. Being a delegate is a significant status within the Bittensor network, indicating a neuron's involvement in - consensus and governance processes. + consensus and governance processes. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) delegates = await self.get_delegates( @@ -2593,27 +3830,26 @@

        Source code for bittensor.core.async_subtensor

        ) -> bool: """ Determines whether a given hotkey (public key) is registered in the Bittensor network, either globally across - any subnet or specifically on a specified subnet. This function checks the registration status of a neuron - identified by its hotkey, which is crucial for validating its participation and activities within the - network. + any subnet or specifically on a specified subnet. This function checks the registration status of a neuron + identified by its hotkey, which is crucial for validating its participation and activities within the network. - Args: + Arguments: hotkey_ss58: The SS58 address of the neuron's hotkey. - netuid: The unique identifier of the subnet to check the registration. If `None`, the + netuid: The unique identifier of the subnet to check the registration. If ``None``, the registration is checked across all subnets. block: The blockchain block number at which to perform the query. block_hash: The blockchain block_hash representation of the block id. Do not specify if using block or - reuse_block - reuse_block (bool): Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or + reuse_block. + reuse_block: Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or reuse_block. Returns: - bool: `True` if the hotkey is registered in the specified context (either any subnet or a specific subnet), - `False` otherwise. + bool: ``True`` if the hotkey is registered in the specified context (either any subnet or a specific subnet), + ``False`` otherwise. This function is important for verifying the active status of neurons in the Bittensor network. It aids in - understanding whether a neuron is eligible to participate in network processes such as consensus, - validation, and incentive distribution based on its registration status. + understanding whether a neuron is eligible to participate in network processes such as consensus, validation, + and incentive distribution based on its registration status. """ if netuid is None: return await self.is_hotkey_registered_any( @@ -2638,10 +3874,10 @@

        Source code for bittensor.core.async_subtensor

        Checks if a neuron's hotkey is registered on any subnet within the Bittensor network. Arguments: - hotkey_ss58 (str): The ``SS58`` address of the neuron's hotkey. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The blockchain block_hash representation of block id. - reuse_block (bool): Whether to reuse the last-used block hash. + hotkey_ss58: The ``SS58`` address of the neuron's hotkey. + block: The blockchain block number for the query. + block_hash: The blockchain block_hash representation of block id. + reuse_block: Whether to reuse the last-used block hash. Returns: bool: ``True`` if the hotkey is registered on any subnet, False otherwise. @@ -2677,6 +3913,38 @@

        Source code for bittensor.core.async_subtensor

        )

        +
        +[docs] + async def is_subnet_active( + self, + netuid: int, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> bool: + """Verify if subnet with provided netuid is active. + + Arguments: + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + block_hash: The blockchain block_hash representation of block id. + reuse_block: Whether to reuse the last-used block hash. + + Returns: + ``True`` if subnet is active, ``False`` otherwise. + + Note: This means whether the ``start_call`` was initiated or not. + """ + query = await self.query_subtensor( + name="FirstEmissionBlockNumber", + block=block, + block_hash=block_hash, + reuse_block=reuse_block, + params=[netuid], + ) + return True if query and query.value > 0 else False
        + +
        [docs] async def last_drand_round(self) -> Optional[int]: @@ -2704,11 +3972,11 @@

        Source code for bittensor.core.async_subtensor

        """ Returns network MaxWeightsLimit hyperparameter. - Args: - netuid (int): The unique identifier of the subnetwork. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The blockchain block_hash representation of block id. - reuse_block (bool): Whether to reuse the last-used block hash. + Arguments: + netuid: The unique identifier of the subnetwork. + block: The blockchain block number for the query. + block_hash: The blockchain block_hash representation of block id. + reuse_block: Whether to reuse the last-used block hash. Returns: Optional[float]: The value of the MaxWeightsLimit hyperparameter, or ``None`` if the subnetwork does not @@ -2731,20 +3999,20 @@

        Source code for bittensor.core.async_subtensor

        ) -> "AsyncMetagraph": """ Returns a synced metagraph for a specified subnet within the Bittensor network. The metagraph represents the - network's structure, including neuron connections and interactions. + network's structure, including neuron connections and interactions. Arguments: - netuid (int): The network UID of the subnet to query. - lite (bool): If true, returns a metagraph using a lightweight sync (no weights, no bonds). Default is + netuid: The network UID of the subnet to query. + lite: If true, returns a metagraph using a lightweight sync (no weights, no bonds). Default is ``True``. - block (Optional[int]): Block number for synchronization, or ``None`` for the latest block. + block: Block number for synchronization, or `None` for the latest block. Returns: bittensor.core.metagraph.Metagraph: The metagraph representing the subnet's structure and neuron relationships. The metagraph is an essential tool for understanding the topology and dynamics of the Bittensor network's - decentralized architecture, particularly in relation to neuron interconnectivity and consensus processes. + decentralized architecture, particularly in relation to neuron interconnectivity and consensus processes. """ metagraph = AsyncMetagraph( network=self.chain_endpoint, @@ -2770,11 +4038,11 @@

        Source code for bittensor.core.async_subtensor

        """ Returns network MinAllowedWeights hyperparameter. - Args: - netuid (int): The unique identifier of the subnetwork. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The blockchain block_hash representation of block id. - reuse_block (bool): Whether to reuse the last-used block hash. + Arguments: + netuid: The unique identifier of the subnetwork. + block: The blockchain block number for the query. + block_hash: The blockchain block_hash representation of block id. + reuse_block: Whether to reuse the last-used block hash. Returns: Optional[int]: The value of the MinAllowedWeights hyperparameter, or ``None`` if the subnetwork does not @@ -2802,21 +4070,21 @@

        Source code for bittensor.core.async_subtensor

        ) -> NeuronInfo: """ Retrieves detailed information about a specific neuron identified by its unique identifier (UID) within a - specified subnet (netuid) of the Bittensor network. This function provides a comprehensive view of a - neuron's attributes, including its stake, rank, and operational status. + specified subnet (netuid) of the Bittensor network. This function provides a comprehensive view of a neuron's + attributes, including its stake, rank, and operational status. Arguments: - uid (int): The unique identifier of the neuron. - netuid (int): The unique identifier of the subnet. - block (Optional[int]): The blockchain block number for the query. - block_hash (str): The hash of the blockchain block number for the query. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + uid: The unique identifier of the neuron. + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number for the query. + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: Detailed information about the neuron if found, a null neuron otherwise This function is crucial for analyzing individual neurons' contributions and status within a specific subnet, - offering insights into their roles in the network's consensus and validation mechanisms. + offering insights into their roles in the network's consensus and validation mechanisms. """ if uid is None: return NeuronInfo.get_null_neuron() @@ -2848,19 +4116,19 @@

        Source code for bittensor.core.async_subtensor

        """ Retrieves a list of all neurons within a specified subnet of the Bittensor network. This function provides a snapshot of the subnet's neuron population, including each neuron's attributes and - network interactions. + network interactions. Arguments: - netuid (int): The unique identifier of the subnet. - block (Optional[int]): The blockchain block number for the query. - block_hash (str): The hash of the blockchain block number for the query. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number for the query. + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: A list of NeuronInfo objects detailing each neuron's characteristics in the subnet. Understanding the distribution and status of neurons within a subnet is key to comprehending the network's - decentralized structure and the dynamics of its consensus and governance processes. + decentralized structure and the dynamics of its consensus and governance processes. """ result = await self.query_runtime_api( runtime_api="NeuronInfoRuntimeApi", @@ -2889,19 +4157,19 @@

        Source code for bittensor.core.async_subtensor

        """ Retrieves a list of neurons in a 'lite' format from a specific subnet of the Bittensor network. This function provides a streamlined view of the neurons, focusing on key attributes such as stake and network - participation. + participation. Arguments: - netuid (int): The unique identifier of the subnet. - block (Optional[int]): The blockchain block number for the query. - block_hash (str): The hash of the blockchain block number for the query. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number for the query. + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: A list of simplified neuron information for the subnet. This function offers a quick overview of the neuron population within a subnet, facilitating efficient analysis - of the network's decentralized structure and neuron dynamics. + of the network's decentralized structure and neuron dynamics. """ result = await self.query_runtime_api( runtime_api="NeuronInfoRuntimeApi", @@ -2926,43 +4194,50 @@

        Source code for bittensor.core.async_subtensor

        block: Optional[int] = None, block_hash: Optional[str] = None, reuse_block: bool = False, - ) -> dict: + ) -> Optional[ChainIdentity]: """ Queries the identity of a neuron on the Bittensor blockchain using the given key. This function retrieves - detailed identity information about a specific neuron, which is a crucial aspect of the network's - decentralized identity and governance system. + detailed identity information about a specific neuron, which is a crucial aspect of the network's decentralized + identity and governance system. Arguments: - coldkey_ss58 (str): The coldkey used to query the neuron's identity (technically the neuron's coldkey SS58 + coldkey_ss58: The coldkey used to query the neuron's identity (technically the neuron's coldkey SS58 address). - block (Optional[int]): The blockchain block number for the query. - block_hash (str): The hash of the blockchain block number at which to perform the query. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number at which to perform the query. + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: An object containing the identity information of the neuron if found, ``None`` otherwise. The identity information can include various attributes such as the neuron's stake, rank, and other - network-specific details, providing insights into the neuron's role and status within the Bittensor network. + network-specific details, providing insights into the neuron's role and status within the Bittensor network. Note: - See the `Bittensor CLI documentation <https://docs.bittensor.com/reference/btcli>`_ for supported identity + See the ``Bittensor CLI documentation <https://docs.bittensor.com/reference/btcli>``_ for supported identity parameters. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - identity_info = await self.substrate.query( - module="SubtensorModule", - storage_function="IdentitiesV2", - params=[coldkey_ss58], - block_hash=block_hash, - reuse_block_hash=reuse_block, + identity_info = cast( + dict, + await self.substrate.query( + module="SubtensorModule", + storage_function="IdentitiesV2", + params=[coldkey_ss58], + block_hash=block_hash, + reuse_block_hash=reuse_block, + ), ) + if not identity_info: - return {} + return None + try: - return _decode_hex_identity_dict(identity_info) + return ChainIdentity.from_dict( + decode_hex_identity_dict(identity_info), + ) except TypeError: - return {}

        + return None
        @@ -2976,19 +4251,19 @@

        Source code for bittensor.core.async_subtensor

        ) -> Optional[Balance]: """ Retrieves the 'Burn' hyperparameter for a specified subnet. The 'Burn' parameter represents the amount of Tao - that is effectively recycled within the Bittensor network. + that is effectively recycled within the Bittensor network. - Args: - netuid (int): The unique identifier of the subnet. - block (Optional[int]): The blockchain block number for the query. - block_hash (str): The hash of the blockchain block number for the query. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + Arguments: + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number for the query. + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: - Optional[Balance]: The value of the 'Burn' hyperparameter if the subnet exists, None otherwise. + Optional[Balance]: The value of the 'Burn' hyperparameter if the subnet exists, ``None`` otherwise. Understanding the 'Burn' rate is essential for analyzing the network registration usage, particularly how it is - correlated with user activity and the overall cost of participation in a given subnet. + correlated with user activity and the overall cost of participation in a given subnet. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) call = await self.get_hyperparameter( @@ -3000,38 +4275,103 @@

        Source code for bittensor.core.async_subtensor

        return None if call is None else Balance.from_rao(int(call))

        +
        +[docs] + async def set_reveal_commitment( + self, + wallet, + netuid: int, + data: str, + blocks_until_reveal: int = 360, + block_time: Union[int, float] = 12, + period: Optional[int] = None, + ) -> tuple[bool, int]: + """ + Commits arbitrary data to the Bittensor network by publishing metadata. + + Arguments: + wallet: The wallet associated with the neuron committing the data. + netuid: The unique identifier of the subnetwork. + data: The data to be committed to the network. + blocks_until_reveal: The number of blocks from now after which the data will be revealed. + Defaults to ``360`` (the number of blocks in one epoch). + block_time: The number of seconds between each block. Defaults to ``12``. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. + + Returns: + bool: ``True`` if the commitment was successful, ``False`` otherwise. + + Note: A commitment can be set once per subnet epoch and is reset at the next epoch in the chain automatically. + """ + + encrypted, reveal_round = get_encrypted_commitment( + data, blocks_until_reveal, block_time + ) + + # increase reveal_round in return + 1 because we want to fetch data from the chain after that round was revealed + # and stored. + data_ = {"encrypted": encrypted, "reveal_round": reveal_round} + return await publish_metadata( + subtensor=self, + wallet=wallet, + netuid=netuid, + data_type="TimelockEncrypted", + data=data_, + period=period, + ), reveal_round
        + +
        [docs] async def subnet( self, netuid: int, - block: int = None, + block: Optional[int] = None, block_hash: Optional[str] = None, reuse_block: bool = False, ) -> Optional[DynamicInfo]: """ Retrieves the subnet information for a single subnet in the Bittensor network. - Args: - netuid (int): The unique identifier of the subnet. - block (Optional[int]): The block number to get the subnets at. - block_hash (str): The hash of the blockchain block number for the query. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + Arguments: + netuid: The unique identifier of the subnet. + block: The block number to get the subnets at. + block_hash: The hash of the blockchain block number for the query. + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: Optional[DynamicInfo]: A DynamicInfo object, containing detailed information about a subnet. """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) + block_hash = await self.determine_block_hash( + block=block, block_hash=block_hash, reuse_block=reuse_block + ) + if not block_hash and reuse_block: block_hash = self.substrate.last_block_hash - query = await self.substrate.runtime_call( - "SubnetInfoRuntimeApi", - "get_dynamic_info", - params=[netuid], - block_hash=block_hash, + + query, price = await asyncio.gather( + self.substrate.runtime_call( + "SubnetInfoRuntimeApi", + "get_dynamic_info", + params=[netuid], + block_hash=block_hash, + ), + self.get_subnet_price( + netuid=netuid, + block=block, + block_hash=block_hash, + reuse_block=reuse_block, + ), + return_exceptions=True, ) - subnet = DynamicInfo.from_dict(query.decode()) - return subnet
        + + if isinstance(decoded := query.decode(), dict): + if isinstance(price, SubstrateRequestException): + price = None + return DynamicInfo.from_dict({**decoded, "price": price}) + return None
        @@ -3047,16 +4387,16 @@

        Source code for bittensor.core.async_subtensor

        Checks if a subnet with the specified unique identifier (netuid) exists within the Bittensor network. Arguments: - netuid (int): The unique identifier of the subnet. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the blockchain block number at which to check the subnet existence. - reuse_block (bool): Whether to reuse the last-used block hash. + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number at which to check the subnet existence. + reuse_block: Whether to reuse the last-used block hash. Returns: - `True` if the subnet exists, `False` otherwise. + ``True`` if the subnet exists, ``False`` otherwise. - This function is critical for verifying the presence of specific subnets in the network, - enabling a deeper understanding of the network's structure and composition. + This function is critical for verifying the presence of specific subnets in the network, enabling a deeper + understanding of the network's structure and composition. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) result = await self.substrate.query( @@ -3081,11 +4421,11 @@

        Source code for bittensor.core.async_subtensor

        """ Returns network SubnetworkN hyperparameter. - Args: - netuid (int): The unique identifier of the subnetwork. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the blockchain block number at which to check the subnet existence. - reuse_block (bool): Whether to reuse the last-used block hash. + Arguments: + netuid: The unique identifier of the subnetwork. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number at which to check the subnet existence. + reuse_block: Whether to reuse the last-used block hash. Returns: Optional[int]: The value of the SubnetworkN hyperparameter, or ``None`` if the subnetwork does not exist or @@ -3113,11 +4453,11 @@

        Source code for bittensor.core.async_subtensor

        """ Returns network Tempo hyperparameter. - Args: - netuid (int): The unique identifier of the subnetwork. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the blockchain block number at which to check the subnet existence. - reuse_block (bool): Whether to reuse the last-used block hash. + Arguments: + netuid: The unique identifier of the subnetwork. + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number at which to check the subnet existence. + reuse_block: Whether to reuse the last-used block hash. Returns: Optional[int]: The value of the Tempo hyperparameter, or ``None`` if the subnetwork does not exist or the @@ -3145,17 +4485,17 @@

        Source code for bittensor.core.async_subtensor

        Retrieves the transaction rate limit for the Bittensor network as of a specific blockchain block. This rate limit sets the maximum number of transactions that can be processed within a given time frame. - Args: - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The hash of the blockchain block number at which to check the subnet existence. - reuse_block (bool): Whether to reuse the last-used block hash. + Arguments: + block: The blockchain block number for the query. + block_hash: The hash of the blockchain block number at which to check the subnet existence. + reuse_block: Whether to reuse the last-used block hash. Returns: - Optional[int]: The transaction rate limit of the network, None if not available. + Optional[int]: The transaction rate limit of the network, ``None`` if not available. The transaction rate limit is an essential parameter for ensuring the stability and scalability of the Bittensor - network. It helps in managing network load and preventing congestion, thereby maintaining efficient and - timely transaction processing. + network. It helps in managing network load and preventing congestion, thereby maintaining efficient and timely + transaction processing. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) result = await self.query_subtensor( @@ -3168,35 +4508,39 @@

        Source code for bittensor.core.async_subtensor

        [docs] async def wait_for_block(self, block: Optional[int] = None): """ - Waits until a specific block is reached on the chain. If no block is specified, - waits for the next block. + Waits until a specific block is reached on the chain. If no block is specified, waits for the next block. - Args: - block (Optional[int]): The block number to wait for. If None, waits for next block. + Arguments: + block: The block number to wait for. If ``None``, waits for the next block. Returns: - bool: True if the target block was reached, False if timeout occurred. + bool: ``True`` if the target block was reached, ``False`` if timeout occurred. Example: + import bittensor as bt + subtensor = bt.Subtensor() + await subtensor.wait_for_block() # Waits for next block - await subtensor.wait_for_block(block=1234) # Waits for specific block + await subtensor.wait_for_block(block=1234) # Waits for a specific block """ async def handler(block_data: dict): logging.debug( - f'reached block {block_data["header"]["number"]}. Waiting for block {target_block}' + f"reached block {block_data['header']['number']}. Waiting for block {target_block}" ) if block_data["header"]["number"] >= target_block: return True + return None current_block = await self.substrate.get_block() current_block_hash = current_block.get("header", {}).get("hash") + if block is not None: target_block = block else: target_block = current_block["header"]["number"] + 1 - await self.substrate._get_block_handler( + await self.substrate.get_block_handler( current_block_hash, header_only=True, subscription_handler=handler ) return True

        @@ -3214,19 +4558,19 @@

        Source code for bittensor.core.async_subtensor

        """ Retrieves the weight distribution set by neurons within a specific subnet of the Bittensor network. This function maps each neuron's UID to the weights it assigns to other neurons, reflecting the network's trust - and value assignment mechanisms. + and value assignment mechanisms. Arguments: - netuid (int): The network UID of the subnet to query. - block (Optional[int]): Block number for synchronization, or ``None`` for the latest block. - block_hash (str): The hash of the blockchain block for the query. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + netuid: The network UID of the subnet to query. + block: Block number for synchronization, or `None` for the latest block. + block_hash: The hash of the blockchain block for the query. + reuse_block: reuse the last-used blockchain block hash. Returns: A list of tuples mapping each neuron's UID to its assigned weights. The weight distribution is a key factor in the network's consensus algorithm and the ranking of neurons, - influencing their influence and reward allocation within the subnet. + influencing their influence and reward allocation within the subnet. """ block_hash = await self.determine_block_hash(block, block_hash, reuse_block) # TODO look into seeing if we can speed this up with storage query @@ -3257,10 +4601,10 @@

        Source code for bittensor.core.async_subtensor

        Returns network WeightsSetRateLimit hyperparameter. Arguments: - netuid (int): The unique identifier of the subnetwork. - block (Optional[int]): The blockchain block number for the query. - block_hash (Optional[str]): The blockchain block_hash representation of the block id. - reuse_block (bool): Whether to reuse the last-used blockchain block hash. + netuid: The unique identifier of the subnetwork. + block: The blockchain block number for the query. + block_hash: The blockchain block_hash representation of the block id. + reuse_block: Whether to reuse the last-used blockchain block hash. Returns: Optional[int]: The value of the WeightsSetRateLimit hyperparameter, or ``None`` if the subnetwork does not @@ -3276,6 +4620,84 @@

        Source code for bittensor.core.async_subtensor

        return None if call is None else int(call)

        +
        +[docs] + async def get_timestamp( + self, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, + ) -> datetime: + """ + Retrieves the datetime timestamp for a given block. + + Arguments: + block: The blockchain block number for the query. Do not specify if specifying block_hash or reuse_block. + block_hash: The blockchain block_hash representation of the block id. Do not specify if specifying block + or reuse_block. + reuse_block: Whether to reuse the last-used blockchain block hash. Do not specify if specifying block or + block_hash. + + Returns: + datetime object for the timestamp of the block. + """ + res = await self.query_module( + "Timestamp", + "Now", + block=block, + block_hash=block_hash, + reuse_block=reuse_block, + ) + unix = res.value + return datetime.fromtimestamp(unix / 1000, tz=timezone.utc)
        + + +
        +[docs] + async def get_subnet_owner_hotkey( + self, netuid: int, block: Optional[int] = None + ) -> Optional[str]: + """ + Retrieves the hotkey of the subnet owner for a given network UID. + + This function queries the subtensor network to fetch the hotkey of the owner of a subnet specified by its + netuid. If no data is found or the query fails, the function returns None. + + Arguments: + netuid: The network UID of the subnet to fetch the owner's hotkey for. + block: The specific block number to query the data from. + + Returns: + The hotkey of the subnet owner if available; None otherwise. + """ + return await self.query_subtensor( + name="SubnetOwnerHotkey", params=[netuid], block=block + )
        + + +
        +[docs] + async def get_subnet_validator_permits( + self, netuid: int, block: Optional[int] = None + ) -> Optional[list[bool]]: + """ + Retrieves the list of validator permits for a given subnet as boolean values. + + Arguments: + netuid: The unique identifier of the subnetwork. + block: The blockchain block number for the query. + + Returns: + A list of boolean values representing validator permits, or None if not available. + """ + query = await self.query_subtensor( + name="ValidatorPermit", + params=[netuid], + block=block, + ) + return query.value if query is not None and hasattr(query, "value") else query
        + + # Extrinsics helper ================================================================================================
        @@ -3290,19 +4712,30 @@

        Source code for bittensor.core.async_subtensor

        use_nonce: bool = False, period: Optional[int] = None, nonce_key: str = "hotkey", + raise_error: bool = False, ) -> tuple[bool, str]: """ Helper method to sign and submit an extrinsic call to chain. Arguments: - call (scalecodec.types.GenericCall): a prepared Call object - wallet (bittensor_wallet.Wallet): the wallet whose coldkey will be used to sign the extrinsic - wait_for_inclusion (bool): whether to wait until the extrinsic call is included on the chain - wait_for_finalization (bool): whether to wait until the extrinsic call is finalized on the chain + call: a prepared Call object + wallet: the wallet whose coldkey will be used to sign the extrinsic + wait_for_inclusion: whether to wait until the extrinsic call is included on the chain + wait_for_finalization: whether to wait until the extrinsic call is finalized on the chain sign_with: the wallet's keypair to use for the signing. Options are "coldkey", "hotkey", "coldkeypub" + use_nonce: unique identifier for the transaction related with hot/coldkey. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. + nonce_key: the type on nonce to use. Options are "hotkey" or "coldkey". + nonce_key: the type on nonce to use. Options are "hotkey", "coldkey", or "coldkeypub". + raise_error: raises a relevant exception rather than returning ``False`` if unsuccessful. Returns: (success, error message) + + Raises: + SubstrateRequestException: Substrate request exception. """ possible_keys = ("coldkey", "hotkey", "coldkeypub") if sign_with not in possible_keys: @@ -3332,14 +4765,22 @@

        Source code for bittensor.core.async_subtensor

        ) # We only wait here if we expect finalization. if not wait_for_finalization and not wait_for_inclusion: - return True, "" + message = "Not waiting for finalization or inclusion." + logging.debug(f"{message}. Extrinsic: {extrinsic}") + return True, message if await response.is_success: return True, "" + if raise_error: + raise ChainError.from_error(await response.error_message) + return False, format_error_message(await response.error_message) except SubstrateRequestException as e: + if raise_error: + raise + return False, format_error_message(e)

        @@ -3355,25 +4796,41 @@

        Source code for bittensor.core.async_subtensor

        amount: Optional[Balance] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + safe_staking: bool = False, + allow_partial_stake: bool = False, + rate_tolerance: float = 0.005, + period: Optional[int] = None, ) -> bool: """ - Adds the specified amount of stake to a neuron identified by the hotkey ``SS58`` address. - Staking is a fundamental process in the Bittensor network that enables neurons to participate actively and earn - incentives. + Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified + subnet. Staking is a fundamental process in the Bittensor network that enables neurons to participate actively + and earn incentives. - Args: - wallet (bittensor_wallet.Wallet): The wallet to be used for staking. - hotkey_ss58 (Optional[str]): The ``SS58`` address of the hotkey associated with the neuron. - netuid: subnet UID - amount (Balance): The amount of TAO to stake. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + Arguments: + wallet: The wallet to be used for staking. + hotkey_ss58: The SS58 address of the hotkey associated with the neuron to which you intend to delegate your + stake. If not specified, the wallet's hotkey will be used. Defaults to ``None``. + netuid: The unique identifier of the subnet to which the neuron belongs. + amount: The amount of TAO to stake. + wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `True`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. + safe_staking: If true, enables price safety checks to protect against fluctuating prices. The stake will + only execute if the price change doesn't exceed the rate tolerance. Default is ``False``. + allow_partial_stake: If true and safe_staking is enabled, allows partial staking when the full amount would + exceed the price tolerance. If false, the entire stake fails if it would exceed the tolerance. + Default is ``False``. + rate_tolerance: The maximum allowed price change ratio when staking. For example, 0.005 = 0.5% maximum price + increase. Only used when safe_staking is True. Default is ``0.005``. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You + can think of it as an expiration date for the transaction. Defaults to ``None``. Returns: - bool: ``True`` if the staking is successful, False otherwise. + bool: ``True`` if the staking is successful, ``False`` otherwise. - This function enables neurons to increase their stake in the network, enhancing their influence and potential - rewards in line with Bittensor's consensus and reward mechanisms. + This function enables neurons to increase their stake in the network, enhancing their influence and potential. + When safe_staking is enabled, it provides protection against price fluctuations during the time stake is + executed and the time it is actually processed by the chain. """ amount = check_and_convert_to_balance(amount) return await add_stake_extrinsic( @@ -3384,6 +4841,63 @@

        Source code for bittensor.core.async_subtensor

        amount=amount, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + safe_staking=safe_staking, + allow_partial_stake=allow_partial_stake, + rate_tolerance=rate_tolerance, + period=period, + )

        + + +
        +[docs] + async def add_liquidity( + self, + wallet: "Wallet", + netuid: int, + liquidity: Balance, + price_low: Balance, + price_high: Balance, + hotkey: Optional[str] = None, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """ + Adds liquidity to the specified price range. + + Arguments: + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + liquidity: The amount of liquidity to be added. + price_low: The lower bound of the price tick range. In TAO. + price_high: The upper bound of the price tick range. In TAO. + hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to + `None`. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + + Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call ``toggle_user_liquidity`` + method to enable/disable user liquidity. + """ + return await add_liquidity_extrinsic( + subtensor=self, + wallet=wallet, + netuid=netuid, + liquidity=liquidity, + price_low=price_low, + price_high=price_high, + hotkey=hotkey, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, )
        @@ -3402,19 +4916,19 @@

        Source code for bittensor.core.async_subtensor

        Adds stakes to multiple neurons identified by their hotkey SS58 addresses. This bulk operation allows for efficient staking across different neurons from a single wallet. - Args: - wallet (bittensor_wallet.Wallet): The wallet used for staking. - hotkey_ss58s (list[str]): List of ``SS58`` addresses of hotkeys to stake to. - netuids: list of subnet UIDs - amounts (list[Balance]): Corresponding amounts of TAO to stake for each hotkey. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + Arguments: + wallet: The wallet used for staking. + hotkey_ss58s: List of ``SS58`` addresses of hotkeys to stake to. + netuids: list of subnet UIDs. + amounts: Corresponding amounts of TAO to stake for each hotkey. + wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `True`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. Returns: - bool: ``True`` if the staking is successful for all specified neurons, False otherwise. + bool: ``True`` if the staking is successful for all specified neurons, ``False`` otherwise. This function is essential for managing stakes across multiple neurons, reflecting the dynamic and collaborative - nature of the Bittensor network. + nature of the Bittensor network. """ return await add_stake_multiple_extrinsic( subtensor=self, @@ -3435,29 +4949,42 @@

        Source code for bittensor.core.async_subtensor

        netuid: int, wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> bool: """ Registers a neuron on the Bittensor network by recycling TAO. This method of registration involves recycling - TAO tokens, allowing them to be re-mined by performing work on the network. + TAO tokens, allowing them to be re-mined by performing work on the network. - Args: - wallet (bittensor_wallet.Wallet): The wallet associated with the neuron to be registered. - netuid (int): The unique identifier of the subnet. - wait_for_inclusion (bool, optional): Waits for the transaction to be included in a block. Defaults to - `False`. - wait_for_finalization (bool, optional): Waits for the transaction to be finalized on the blockchain. - Defaults to `True`. + Arguments: + wallet: The wallet associated with the neuron to be registered. + netuid: The unique identifier of the subnet. + wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to + ``False``. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. Returns: - bool: ``True`` if the registration is successful, False otherwise. + bool: `True` if the registration is successful, False otherwise. """ async with self: + if netuid == 0: + return await root_register_extrinsic( + subtensor=self, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + ) + return await burned_register_extrinsic( subtensor=self, wallet=wallet, netuid=netuid, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, )

        @@ -3474,38 +5001,46 @@

        Source code for bittensor.core.async_subtensor

        wait_for_inclusion: bool = False, wait_for_finalization: bool = False, max_retries: int = 5, + period: Optional[int] = 16, ) -> tuple[bool, str]: """ - Commits a hash of the neuron's weights to the Bittensor blockchain using the provided wallet. - This action serves as a commitment or snapshot of the neuron's current weight distribution. + Commits a hash of the subnet validator's weight vector to the Bittensor blockchain using the provided wallet. + This action serves as a commitment or snapshot of the validator's current weight distribution. Arguments: - wallet (bittensor_wallet.Wallet): The wallet associated with the neuron committing the weights. - netuid (int): The unique identifier of the subnet. - salt (list[int]): list of randomly generated integers as salt to generated weighted hash. - uids (np.ndarray): NumPy array of neuron UIDs for which weights are being committed. - weights (np.ndarray): NumPy array of weight values corresponding to each UID. - version_key (int): Version key for compatibility with the network. Default is ``int representation of - Bittensor version.``. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. Default is ``False``. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. Default is - ``False``. - max_retries (int): The number of maximum attempts to commit weights. Default is ``5``. + wallet: The wallet associated with the subnet validator committing the weights. + netuid: The unique identifier of the subnet. + salt: list of randomly generated integers as salt to generated weighted hash. + uids: NumPy array of subnet miner neuron UIDs for which weights are being committed. + weights: of weight values corresponding toon_key + version_key: Integer representation of version key for compatibility with the network. + wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is + `False`. + max_retries: The number of maximum attempts to commit weights. Default is `5`. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. Returns: - tuple[bool, str]: ``True`` if the weight commitment is successful, False otherwise. And `msg`, a string - value describing the success or potential error. + tuple[bool, str]: + `True` if the weight commitment is successful, False otherwise. + `msg` is a string value describing the success or potential error. + + This function allows subnet validators to create a tamper-proof record of their weight vector at a specific + point in time, creating a foundation of transparency and accountability for the Bittensor network. - This function allows neurons to create a tamper-proof record of their weight distribution at a specific point - in time, enhancing transparency and accountability within the Bittensor network. + Notes: + See also: <https://docs.learnbittensor.org/glossary#commit-reveal>, """ retries = 0 success = False message = "No attempt made. Perhaps it is too soon to commit weights!" logging.info( - f"Committing weights with params: netuid={netuid}, uids={uids}, weights={weights}, " - f"version_key={version_key}" + f"Committing weights with params: " + f"netuid=[blue]{netuid}[/blue], uids=[blue]{uids}[/blue], weights=[blue]{weights}[/blue], " + f"version_key=[blue]{version_key}[/blue]" ) # Generate the hash of the weights @@ -3527,17 +5062,92 @@

        Source code for bittensor.core.async_subtensor

        commit_hash=commit_hash, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success: break except Exception as e: logging.error(f"Error committing weights: {e}") - finally: retries += 1 return success, message

        +
        +[docs] + async def modify_liquidity( + self, + wallet: "Wallet", + netuid: int, + position_id: int, + liquidity_delta: Balance, + hotkey: Optional[str] = None, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """Modifies liquidity in liquidity position by adding or removing liquidity from it. + + Arguments: + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + position_id: The id of the position record in the pool. + liquidity_delta: The amount of liquidity to be added or removed (add if positive or remove if negative). + hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to + `None`. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + + Example: + import bittensor as bt + + subtensor = bt.AsyncSubtensor(network="local") + await subtensor.initialize() + + my_wallet = bt.Wallet() + + # if `liquidity_delta` is negative + my_liquidity_delta = Balance.from_tao(100) * -1 + await subtensor.modify_liquidity( + wallet=my_wallet, + netuid=123, + position_id=2, + liquidity_delta=my_liquidity_delta + ) + + # if `liquidity_delta` is positive + my_liquidity_delta = Balance.from_tao(120) + await subtensor.modify_liquidity( + wallet=my_wallet, + netuid=123, + position_id=2, + liquidity_delta=my_liquidity_delta + ) + + Note: Modifying is allowed even when user liquidity is enabled in specified subnet. Call `toggle_user_liquidity` + to enable/disable user liquidity. + """ + return await modify_liquidity_extrinsic( + subtensor=self, + wallet=wallet, + netuid=netuid, + position_id=position_id, + liquidity_delta=liquidity_delta, + hotkey=hotkey, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + )
        + +
        [docs] async def move_stake( @@ -3550,22 +5160,26 @@

        Source code for bittensor.core.async_subtensor

        amount: Balance, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> bool: """ Moves stake to a different hotkey and/or subnet. - Args: - wallet (bittensor.wallet): The wallet to move stake from. - origin_hotkey (str): The SS58 address of the source hotkey. - origin_netuid (int): The netuid of the source subnet. - destination_hotkey (str): The SS58 address of the destination hotkey. - destination_netuid (int): The netuid of the destination subnet. - amount (Balance): Amount of stake to move. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + Arguments: + wallet: The wallet to move stake from. + origin_hotkey: The SS58 address of the source hotkey. + origin_netuid: The netuid of the source subnet. + destination_hotkey: The SS58 address of the destination hotkey. + destination_netuid: The netuid of the destination subnet. + amount: Amount of stake to move. + wait_for_inclusion: Waits for the transaction to be included in a block. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. Returns: - success (bool): True if the stake movement was successful. + success: True if the stake movement was successful. """ amount = check_and_convert_to_balance(amount) return await move_stake_extrinsic( @@ -3578,6 +5192,7 @@

        Source code for bittensor.core.async_subtensor

        amount=amount, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, )

        @@ -3597,34 +5212,37 @@

        Source code for bittensor.core.async_subtensor

        num_processes: Optional[int] = None, update_interval: Optional[int] = None, log_verbose: bool = False, + period: Optional[int] = None, ): """ Registers a neuron on the Bittensor network using the provided wallet. Registration is a critical step for a neuron to become an active participant in the network, enabling it to - stake, set weights, and receive incentives. + stake, set weights, and receive incentives. - Args: - wallet (bittensor_wallet.Wallet): The wallet associated with the neuron to be registered. - netuid (int): The unique identifier of the subnet. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. Defaults to `False`. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. Defaults to - `True`. - max_allowed_attempts (int): Maximum number of attempts to register the wallet. - output_in_place (bool): If true, prints the progress of the proof of work to the console in-place. Meaning + Arguments: + wallet: The wallet associated with the neuron to be registered. + netuid: unique identifier of the subnet. + wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `False`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to + max_allowed_attempts: Maximum number of attempts to register the wallet. + output_in_place: If true, prints the progress of the proof of work to the console in-place. Meaning the progress is printed on the same lines. Defaults to `True`. - cuda (bool): If ``true``, the wallet should be registered using CUDA device(s). Defaults to `False`. - dev_id (Union[List[int], int]): The CUDA device id to use, or a list of device ids. Defaults to `0` (zero). - tpb (int): The number of threads per block (CUDA). Default to `256`. - num_processes (Optional[int]): The number of processes to use to register. Default to `None`. - update_interval (Optional[int]): The number of nonces to solve between updates. Default to `None`. - log_verbose (bool): If ``true``, the registration process will log more information. Default to `False`. + cuda: If `true`, the wallet should be registered using CUDA device(s). Defaults to `False`. + dev_id: The CUDA device id to use, or a list of device ids. Defaults to `0` (zero). + tpb: The number of threads per block (CUDA). Default to `256`. + num_processes: The number of processes to use to register. Default to `None`. + update_interval: The number of nonces to solve between updates. Default to `None`. + log_verbose: If `true`, the registration process will log more information. Default to `False`. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. Returns: - bool: ``True`` if the registration is successful, False otherwise. + bool: `True` if the registration is successful, False otherwise. - This function facilitates the entry of new neurons into the network, supporting the decentralized - growth and scalability of the Bittensor ecosystem. + This function facilitates the entry of new neurons into the network, supporting the decentralized growth and + scalability of the Bittensor ecosystem. """ return await register_extrinsic( subtensor=self, @@ -3640,6 +5258,7 @@

        Source code for bittensor.core.async_subtensor

        dev_id=dev_id, output_in_place=output_in_place, log_verbose=log_verbose, + period=period, )

        @@ -3648,28 +5267,80 @@

        Source code for bittensor.core.async_subtensor

        async def register_subnet( self: "AsyncSubtensor", wallet: "Wallet", - wait_for_inclusion: bool = False, - wait_for_finalization: bool = True, - ) -> bool: - """ - Registers a new subnetwork on the Bittensor network. + wait_for_inclusion: bool = False, + wait_for_finalization: bool = True, + period: Optional[int] = None, + ) -> bool: + """ + Registers a new subnetwork on the Bittensor network. + + Arguments: + wallet: The wallet to be used for subnet registration. + wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, + os `False` if the extrinsic fails to enter the block within the timeout. Default is `False`. + wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning + true, or returns false if the extrinsic fails to be finalized within the timeout. Default is `False`. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. + + Returns: + bool: True if the subnet registration was successful, False otherwise. + """ + return await register_subnet_extrinsic( + subtensor=self, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + )

        + + +
        +[docs] + async def remove_liquidity( + self, + wallet: "Wallet", + netuid: int, + position_id: int, + hotkey: Optional[str] = None, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """Remove liquidity and credit balances back to wallet's hotkey stake. - Args: - wallet (bittensor_wallet.Wallet): The wallet to be used for subnet registration. - wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning true, or returns - false if the extrinsic fails to enter the block within the timeout. Default is False. - wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning - true, or returns false if the extrinsic fails to be finalized within the timeout. Default is True. + Arguments: + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + position_id: The id of the position record in the pool. + hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to + `None`. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - bool: True if the subnet registration was successful, False otherwise. + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + Note: + - Adding is allowed even when user liquidity is enabled in specified subnet. Call `toggle_user_liquidity` + extrinsic to enable/disable user liquidity. + - To get the `position_id` use `get_liquidity_list` method. """ - return await register_subnet_extrinsic( + return await remove_liquidity_extrinsic( subtensor=self, wallet=wallet, + netuid=netuid, + position_id=position_id, + hotkey=hotkey, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, )
        @@ -3686,30 +5357,36 @@

        Source code for bittensor.core.async_subtensor

        wait_for_inclusion: bool = False, wait_for_finalization: bool = False, max_retries: int = 5, + period: Optional[int] = None, ) -> tuple[bool, str]: """ - Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet. - This action serves as a revelation of the neuron's previously committed weight distribution. + Reveals the weight vector for a specific subnet on the Bittensor blockchain using the provided wallet. + This action serves as a revelation of the subnet validator's previously committed weight distribution as part + of the commit-reveal mechanism. - Args: - wallet (bittensor_wallet.Wallet): The wallet associated with the neuron revealing the weights. - netuid (int): The unique identifier of the subnet. - uids (np.ndarray): NumPy array of neuron UIDs for which weights are being revealed. - weights (np.ndarray): NumPy array of weight values corresponding to each UID. - salt (np.ndarray): NumPy array of salt values corresponding to the hash function. - version_key (int): Version key for compatibility with the network. Default is ``int representation of - Bittensor version``. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. Default is ``False``. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. Default is - ``False``. - max_retries (int): The number of maximum attempts to reveal weights. Default is ``5``. + Arguments: + wallet: The wallet associated with the subnet validator revealing the weights. + netuid: unique identifier of the subnet. + uids: NumPy array of subnet miner neuron UIDs for which weights are being revealed. + weights: NumPy array of weight values corresponding to each UID. + salt: NumPy array of salt values + version_key: Version key for compatibility with the network. Default is `int representation of + the Bittensor version`. + wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is + `False`. + max_retries: The number of maximum attempts to reveal weights. Default is `5`. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. Returns: - tuple[bool, str]: ``True`` if the weight revelation is successful, False otherwise. And `msg`, a string + tuple[bool, str]: `True` if the weight revelation is successful, False otherwise. And `msg`, a string value describing the success or potential error. - This function allows neurons to reveal their previously committed weight distribution, ensuring transparency - and accountability within the Bittensor network. + This function allows subnet validators to reveal their previously committed weight vector. + + See also: <https://docs.learnbittensor.org/glossary#commit-reveal>, """ retries = 0 success = False @@ -3727,17 +5404,56 @@

        Source code for bittensor.core.async_subtensor

        version_key=version_key, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success: break except Exception as e: logging.error(f"Error revealing weights: {e}") - finally: retries += 1 return success, message

        +
        +[docs] + async def root_set_pending_childkey_cooldown( + self, + wallet: "Wallet", + cooldown: int, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = True, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """Sets the pending childkey cooldown. + + Arguments: + wallet: bittensor wallet instance. + cooldown: the number of blocks to setting pending childkey cooldown. + wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is + `False`. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. + + Returns: + tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the + operation, and the second element is a message providing additional information. + + Note: This operation can only be successfully performed if your wallet has root privileges. + """ + return await root_set_pending_childkey_cooldown_extrinsic( + subtensor=self, + wallet=wallet, + cooldown=cooldown, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + )
        + + + # TODO: remove `block_hash` argument
        [docs] async def root_register( @@ -3746,55 +5462,31 @@

        Source code for bittensor.core.async_subtensor

        block_hash: Optional[str] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> bool: """ Register neuron by recycling some TAO. Arguments: - wallet (bittensor_wallet.Wallet): Bittensor wallet instance. - block_hash (Optional[str]): The hash of the blockchain block for the query. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. Default is ``False``. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. Default is - ``False``. + wallet: Bittensor wallet instance. + block_hash: This argument will be removed in Bittensor v10 + wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is + `False`. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. Returns: `True` if registration was successful, otherwise `False`. """ - netuid = 0 - logging.info( - f"Registering on netuid [blue]0[/blue] on network: [blue]{self.network}[/blue]" - ) - - # Check current recycle amount - logging.info("Fetching recycle amount & balance.") - block_hash = block_hash if block_hash else await self.get_block_hash() - - try: - recycle_call, balance = await asyncio.gather( - self.get_hyperparameter( - param_name="Burn", netuid=netuid, block_hash=block_hash - ), - self.get_balance(wallet.coldkeypub.ss58_address, block_hash=block_hash), - ) - except TypeError as e: - logging.error(f"Unable to retrieve current recycle. {e}") - return False - - current_recycle = Balance.from_rao(int(recycle_call)) - - # Check balance is sufficient - if balance < current_recycle: - logging.error( - f"[red]Insufficient balance {balance} to register neuron. " - f"Current recycle is {current_recycle} TAO[/red]." - ) - return False return await root_register_extrinsic( subtensor=self, wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, )

        @@ -3808,25 +5500,26 @@

        Source code for bittensor.core.async_subtensor

        version_key: int = 0, wait_for_inclusion: bool = True, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> bool: """ - Set weights for root network. + Set weights for the root network. Arguments: - wallet (bittensor_wallet.Wallet): bittensor wallet instance. - netuids (list[int]): The list of subnet uids. - weights (list[float]): The list of weights to be set. - version_key (int, optional): Version key for compatibility with the network. Default is ``0``. - wait_for_inclusion (bool, optional): Waits for the transaction to be included in a block. Defaults to - ``False``. - wait_for_finalization (bool, optional): Waits for the transaction to be finalized on the blockchain. - Defaults to ``False``. + wallet: bittensor wallet instance. + netuids: The list of subnet uids. + weights: The list of weights to be set. + version_key: Version key for compatibility with the network. Default is `0`. + wait_for_inclusion: Waits for the transaction to be included in a block. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: `True` if the setting of weights is successful, `False` otherwise. """ - netuids_ = np.array(netuids, dtype=np.int64) - weights_ = np.array(weights, dtype=np.float32) + netuids_, weights_ = convert_uids_and_weights(netuids, weights) logging.info(f"Setting weights in network: [blue]{self.network}[/blue]") # Run the set weights operation. return await set_root_weights_extrinsic( @@ -3837,9 +5530,155 @@

        Source code for bittensor.core.async_subtensor

        version_key=version_key, wait_for_finalization=wait_for_finalization, wait_for_inclusion=wait_for_inclusion, + period=period, + )

        + + +
        +[docs] + async def set_children( + self, + wallet: "Wallet", + hotkey: str, + netuid: int, + children: list[tuple[float, str]], + wait_for_inclusion: bool = True, + wait_for_finalization: bool = True, + raise_error: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """ + Allows a coldkey to set children-keys. + + Arguments: + wallet: bittensor wallet instance. + hotkey: The `SS58` address of the neuron's hotkey. + netuid: The netuid value. + children: A list of children with their proportions. + wait_for_inclusion: Waits for the transaction to be included in a block. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. + raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. + + Returns: + tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the + operation, and the second element is a message providing additional information. + + Raises: + DuplicateChild: There are duplicates in the list of children. + InvalidChild: Child is the hotkey. + NonAssociatedColdKey: The coldkey does not own the hotkey or the child is the same as the hotkey. + NotEnoughStakeToSetChildkeys: Parent key doesn't have minimum own stake. + ProportionOverflow: The sum of the proportions does exceed uint64. + RegistrationNotPermittedOnRootSubnet: Attempting to register a child on the root network. + SubNetworkDoesNotExist: Attempting to register to a non-existent network. + TooManyChildren: Too many children in request. + TxRateLimitExceeded: Hotkey hit the rate limit. + bittensor_wallet.errors.KeyFileError: Failed to decode keyfile data. + bittensor_wallet.errors.PasswordError: Decryption failed or wrong password for decryption provided. + """ + return await set_children_extrinsic( + subtensor=self, + wallet=wallet, + hotkey=hotkey, + netuid=netuid, + children=children, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + raise_error=raise_error, + period=period, )
        +
        +[docs] + async def set_delegate_take( + self, + wallet: "Wallet", + hotkey_ss58: str, + take: float, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = True, + raise_error: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """ + Sets the delegate 'take' percentage for a neuron identified by its hotkey. + The 'take' represents the percentage of rewards that the delegate claims from its nominators' stakes. + + Arguments: + wallet: bittensor wallet instance. + hotkey_ss58: The ``SS58`` address of the neuron's hotkey. + take: Percentage reward for the delegate. + wait_for_inclusion: Waits for the transaction to be included in a block. + wait_for_finalization: Waits for the transaction to be finalized on_error: Raises a relevant exception + rather than returning ``False`` if unsuccessful. + raise_error: raises a relevant exception rather than returning ``False`` if unsuccessful. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. + + Returns: + tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the + operation, and the second element is a message providing additional information. + + Raises: + DelegateTakeTooHigh: Delegate take is too high. + DelegateTakeTooLow: Delegate take is too low. + DelegateTxRateLimitExceeded: A transactor exceeded the rate limit for delegate transaction. + HotKeyAccountNotExists: The hotkey does not exist. + NonAssociatedColdKey: Request to stake, unstake, or subscribe is made by a coldkey that is not associated + with the hotkey account. + bittensor_wallet.errors.PasswordError: Decryption failed or wrong password for decryption provided. + bittensor_wallet.errors.KeyFileError: Failed to decode keyfile data. + + The delegate take is a critical parameter in the network's incentive structure, influencing the distribution of + rewards among neurons and their nominators. + """ + + # u16 representation of the take + take_u16 = int(take * 0xFFFF) + + current_take = await self.get_delegate_take(hotkey_ss58) + current_take_u16 = int(current_take * 0xFFFF) + + if current_take_u16 == take_u16: + logging.info(":white_heavy_check_mark: [green]Already Set[/green]") + return True, "" + + logging.info(f"Updating {hotkey_ss58} take: current={current_take} new={take}") + + if current_take_u16 < take_u16: + success, error = await increase_take_extrinsic( + self, + wallet, + hotkey_ss58, + take_u16, + wait_for_finalization=wait_for_finalization, + wait_for_inclusion=wait_for_inclusion, + raise_error=raise_error, + period=period, + ) + else: + success, error = await decrease_take_extrinsic( + self, + wallet, + hotkey_ss58, + take_u16, + wait_for_finalization=wait_for_finalization, + wait_for_inclusion=wait_for_inclusion, + raise_error=raise_error, + period=period, + ) + + if success: + logging.info(":white_heavy_check_mark: [green]Take Updated[/green]") + + return success, error
        + +
        [docs] async def set_subnet_identity( @@ -3849,17 +5688,23 @@

        Source code for bittensor.core.async_subtensor

        subnet_identity: SubnetIdentity, wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> tuple[bool, str]: """ Sets the identity of a subnet for a specific wallet and network. Arguments: - wallet (Wallet): The wallet instance that will authorize the transaction. - netuid (int): The unique ID of the network on which the operation takes place. - subnet_identity (SubnetIdentity): The identity data of the subnet including attributes like name, GitHub + wallet: The wallet instance that will authorize the transaction. + netuid: The unique ID of the network on which the operation takes place. + subnet_identity: The identity data of the subnet including attributes like name, GitHub repository, contact, URL, discord, description, and any additional metadata. - wait_for_inclusion (bool): Indicates if the function should wait for the transaction to be included in the block. - wait_for_finalization (bool): Indicates if the function should wait for the transaction to reach finalization. + wait_for_inclusion: Indicates if the function should wait for the transaction to be included in the + block. + wait_for_finalization: Indicates if the function should wait for the transaction to reach + finalization. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. Returns: tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the @@ -3873,11 +5718,13 @@

        Source code for bittensor.core.async_subtensor

        github_repo=subnet_identity.github_repo, subnet_contact=subnet_identity.subnet_contact, subnet_url=subnet_identity.subnet_url, + logo_url=subnet_identity.logo_url, discord=subnet_identity.discord, description=subnet_identity.description, additional=subnet_identity.additional, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, )

        @@ -3893,32 +5740,43 @@

        Source code for bittensor.core.async_subtensor

        wait_for_inclusion: bool = False, wait_for_finalization: bool = False, max_retries: int = 5, + block_time: float = 12.0, + period: Optional[int] = 8, ): """ - Sets the inter-neuronal weights for the specified neuron. This process involves specifying the influence or - trust a neuron places on other neurons in the network, which is a fundamental aspect of Bittensor's - decentralized learning architecture. + Sets the weight vector for a neuron acting as a validator, specifying the weights assigned to subnet miners + based on their performance evaluation. + + This method allows subnet validators to submit their weight vectors, which rank the value of each subnet miner's + work. These weight vectors are used by the Yuma Consensus algorithm to compute emissions for both validators and + miners. Arguments: - wallet (bittensor_wallet.Wallet): The wallet associated with the neuron setting the weights. - netuid (int): The unique identifier of the subnet. - uids (Union[NDArray[np.int64], torch.LongTensor, list]): The list of neuron UIDs that the weights are being - set for. - weights (Union[NDArray[np.float32], torch.FloatTensor, list]): The corresponding weights to be set for each - UID. - version_key (int): Version key for compatibility with the network. Default is int representation of - Bittensor version. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. Default is ``False``. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. Default is - ``False``. - max_retries (int): The number of maximum attempts to set weights. Default is ``5``. + wallet: The wallet associated with the subnet validator setting the weights. + netuid: The unique identifier of the subnet. + uids: The list of subnet miner neuron UIDs that the weights are being set for. + weights: The corresponding weights to be set for each UID, representing the validator's evaluation of each + miner's performance. + version_key: Version key for compatibility with the network. Default is int representation of + the Bittensor version. + wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is + `False`. + max_retries: The number of maximum attempts to set weights. Default is `5`. + block_time: The number of seconds for block duration. Default is 12.0 seconds. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. Default is 8. Returns: - tuple[bool, str]: ``True`` if the setting of weights is successful, False otherwise. And `msg`, a string + tuple[bool, str]: `True` if the setting of weights is successful, False otherwise. And `msg`, a string value describing the success or potential error. - This function is crucial in shaping the network's collective intelligence, where each neuron's learning and - contribution are influenced by the weights it sets towards others【81†source】. + This function is crucial in the Yuma Consensus mechanism, where each validator's weight vector contributes to + the overall weight matrix used to calculate emissions and maintain network consensus. + + Notes: + See <https://docs.learnbittensor.org/glossary#yuma-consensus> """ async def _blocks_weight_limit() -> bool: @@ -3930,6 +5788,7 @@

        Source code for bittensor.core.async_subtensor

        retries = 0 success = False + message = "No attempt made. Perhaps it is too soon to set weights!" if ( uid := await self.get_uid_for_hotkey_on_subnet( wallet.hotkey.ss58_address, netuid @@ -3940,9 +5799,9 @@

        Source code for bittensor.core.async_subtensor

        f"Hotkey {wallet.hotkey.ss58_address} not registered in subnet {netuid}", ) - if (await self.commit_reveal_enabled(netuid=netuid)) is True: + if await self.commit_reveal_enabled(netuid=netuid): # go with `commit reveal v3` extrinsic - message = "No attempt made. Perhaps it is too soon to commit weights!" + while ( retries < max_retries and success is False @@ -3960,12 +5819,14 @@

        Source code for bittensor.core.async_subtensor

        version_key=version_key, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + block_time=block_time, + period=period, ) retries += 1 return success, message else: # go with classic `set weights extrinsic` - message = "No attempt made. Perhaps it is too soon to set weights!" + while ( retries < max_retries and success is False @@ -3974,7 +5835,7 @@

        Source code for bittensor.core.async_subtensor

        try: logging.info( f"Setting weights for subnet #[blue]{netuid}[/blue]. " - f"Attempt [blue]{retries + 1} of {max_retries}[/blue]." + f"Attempt [blue]{retries + 1}[/blue] of [green]{max_retries}[/green]." ) success, message = await set_weights_extrinsic( subtensor=self, @@ -3985,10 +5846,10 @@

        Source code for bittensor.core.async_subtensor

        version_key=version_key, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) except Exception as e: logging.error(f"Error setting weights: {e}") - finally: retries += 1 return success, message

        @@ -4003,25 +5864,27 @@

        Source code for bittensor.core.async_subtensor

        wait_for_inclusion: bool = False, wait_for_finalization: bool = True, certificate: Optional[Certificate] = None, + period: Optional[int] = None, ) -> bool: """ Registers an ``Axon`` serving endpoint on the Bittensor network for a specific neuron. This function is used to - set up the Axon, a key component of a neuron that handles incoming queries and data processing tasks. + set up the Axon, a key component of a neuron that handles incoming queries and data processing tasks. - Args: - netuid (int): The unique identifier of the subnetwork. - axon (bittensor.core.axon.Axon): The Axon instance to be registered for serving. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. Default is ``False``. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. Default is - ``True``. - certificate (bittensor.utils.Certificate): Certificate to use for TLS. If ``None``, no TLS will be used. - Defaults to ``None``. + Arguments: + netuid: The unique identifier of the subnetwork. + axon: The Axon instance to be registered for serving. + wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is `True`. + certificate: Certificate to use for TLS. If `None`, no TLS will be used. Defaults to `None`. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You + can think of it as an expiration date for the transaction. Returns: - bool: ``True`` if the Axon serve registration is successful, False otherwise. + bool: `True` if the Axon serve registration is successful, False otherwise. By registering an Axon, the neuron becomes an active part of the network's distributed computing infrastructure, - contributing to the collective intelligence of Bittensor. + contributing to the collective intelligence of Bittensor. """ return await serve_axon_extrinsic( subtensor=self, @@ -4030,6 +5893,45 @@

        Source code for bittensor.core.async_subtensor

        wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, certificate=certificate, + period=period, + )

        + + +
        +[docs] + async def start_call( + self, + wallet: "Wallet", + netuid: int, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """ + Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start + a new subnet's emission mechanism). + + Arguments: + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to `True`. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to `False`. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You + can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + """ + return await start_call_extrinsic( + subtensor=self, + wallet=wallet, + netuid=netuid, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, )
        @@ -4044,22 +5946,44 @@

        Source code for bittensor.core.async_subtensor

        amount: Balance, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + safe_staking: bool = False, + allow_partial_stake: bool = False, + rate_tolerance: float = 0.005, + period: Optional[int] = None, ) -> bool: """ Moves stake between subnets while keeping the same coldkey-hotkey pair ownership. Like subnet hopping - same owner, same hotkey, just changing which subnet the stake is in. - Args: - wallet (bittensor.wallet): The wallet to swap stake from. - hotkey_ss58 (str): The SS58 address of the hotkey whose stake is being swapped. - origin_netuid (int): The netuid from which stake is removed. - destination_netuid (int): The netuid to which stake is added. - amount (Union[Balance, float]): The amount to swap. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + Arguments: + wallet: The wallet to swap stake from. + hotkey_ss58: The SS58 address of the hotkey whose stake is being swapped. + origin_netuid: The netuid from which stake is removed. + destination_netuid: The netuid to which stake is added. + amount: The amount to swap. + wait_for_inclusion: Waits for the transaction to be included in a block. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. + safe_staking: If true, enables price safety checks to protect against fluctuating prices. The swap will only + execute if the price ratio between subnets doesn't exceed the rate tolerance. Default is False. + allow_partial_stake: If true and safe_staking is enabled, allows partial stake swaps when the full amount + would exceed the price threshold. If false, the entire swap fails if it would exceed the threshold. + Default is False. + rate_tolerance: The maximum allowed increase in the price ratio between subnets + (origin_price/destination_price). For example, 0.005 = 0.5% maximum increase. Only used when + safe_staking is True. Default is 0.005. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You + can think of it as an expiration date for the transaction. Returns: - success (bool): True if the extrinsic was successful. + success: True if the extrinsic was successful. + + The price ratio for swap_stake in safe mode is calculated as: origin_subnet_price / destination_subnet_price + When safe_staking is enabled, the swap will only execute if: + - With allow_partial_stake=False: The entire swap amount can be executed without the price ratio increasing + more than rate_tolerance. + - With allow_partial_stake=True: A partial amount will be swapped up to the point where the price ratio + would increase by rate_tolerance. """ amount = check_and_convert_to_balance(amount) return await swap_stake_extrinsic( @@ -4071,49 +5995,51 @@

        Source code for bittensor.core.async_subtensor

        amount=amount, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + safe_staking=safe_staking, + allow_partial_stake=allow_partial_stake, + rate_tolerance=rate_tolerance, + period=period, )

        -
        -[docs] - async def transfer_stake( +
        +[docs] + async def toggle_user_liquidity( self, wallet: "Wallet", - destination_coldkey_ss58: str, - hotkey_ss58: str, - origin_netuid: int, - destination_netuid: int, - amount: Balance, + netuid: int, + enable: bool, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, - ) -> bool: - """ - Transfers stake from one subnet to another while changing the coldkey owner. + period: Optional[int] = None, + ) -> tuple[bool, str]: + """Allow to toggle user liquidity for specified subnet. - Args: - wallet (bittensor.wallet): The wallet to transfer stake from. - destination_coldkey_ss58 (str): The destination coldkey SS58 address. - hotkey_ss58 (str): The hotkey SS58 address associated with the stake. - origin_netuid (int): The source subnet UID. - destination_netuid (int): The destination subnet UID. - amount (Balance): Amount to transfer. - wait_for_inclusion (bool): If true, waits for inclusion before returning. - wait_for_finalization (bool): If true, waits for finalization before returning. + Arguments: + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + enable: Boolean indicating whether to enable user liquidity. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You + can think of it as an expiration date for the transaction. Returns: - success (bool): True if the transfer was successful. + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + + Note: The call can be executed successfully by the subnet owner only. """ - amount = check_and_convert_to_balance(amount) - return await transfer_stake_extrinsic( + return await toggle_user_liquidity_extrinsic( subtensor=self, wallet=wallet, - destination_coldkey_ss58=destination_coldkey_ss58, - hotkey_ss58=hotkey_ss58, - origin_netuid=origin_netuid, - destination_netuid=destination_netuid, - amount=amount, + netuid=netuid, + enable=enable, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, )
        @@ -4128,20 +6054,22 @@

        Source code for bittensor.core.async_subtensor

        wait_for_inclusion: bool = True, wait_for_finalization: bool = False, keep_alive: bool = True, + period: Optional[int] = None, ) -> bool: """ Transfer token of amount to destination. Arguments: - wallet (bittensor_wallet.Wallet): Source wallet for the transfer. - dest (str): Destination address for the transfer. - amount (float): Amount of tokens to transfer. - transfer_all (bool): Flag to transfer all tokens. Default is ``False``. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. Default is ``True``. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. Default is - ``False``. - keep_alive (bool): Flag to keep the connection alive. Default is ``True``. - + wallet: Source wallet for the transfer. + dest: Destination address for the transfer. + amount: Number of tokens to transfer. + transfer_all: Flag to transfer all tokens. Default is `False`. + wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `True`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. + keep_alive: Flag to keep the connection alive. Default is `True`. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You + can think of it as an expiration date for the transaction. Returns: `True` if the transferring was successful, otherwise `False`. """ @@ -4155,6 +6083,55 @@

        Source code for bittensor.core.async_subtensor

        wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, keep_alive=keep_alive, + period=period, + )

        + + +
        +[docs] + async def transfer_stake( + self, + wallet: "Wallet", + destination_coldkey_ss58: str, + hotkey_ss58: str, + origin_netuid: int, + destination_netuid: int, + amount: Balance, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, + ) -> bool: + """ + Transfers stake from one subnet to another while changing the coldkey owner. + + Arguments: + wallet: The wallet to transfer stake from. + destination_coldkey_ss58: The destination coldkey SS58 address. + hotkey_ss58: The hotkey SS58 address associated with the stake. + origin_netuid: The source subnet UID. + destination_netuid: The destination subnet UID. + amount: Amount to transfer. + wait_for_inclusion: If true, waits for inclusion before returning. + wait_for_finalization: If true, waits for finalization before returning. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You + can think of it as an expiration date for the transaction. + + Returns: + success: True if the transfer was successful. + """ + amount = check_and_convert_to_balance(amount) + return await transfer_stake_extrinsic( + subtensor=self, + wallet=wallet, + destination_coldkey_ss58=destination_coldkey_ss58, + hotkey_ss58=hotkey_ss58, + origin_netuid=origin_netuid, + destination_netuid=destination_netuid, + amount=amount, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, )
        @@ -4168,25 +6145,41 @@

        Source code for bittensor.core.async_subtensor

        amount: Optional[Balance] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + safe_staking: bool = False, + allow_partial_stake: bool = False, + rate_tolerance: float = 0.005, + period: Optional[int] = None, + unstake_all: bool = False, ) -> bool: """ Removes a specified amount of stake from a single hotkey account. This function is critical for adjusting - individual neuron stakes within the Bittensor network. + individual neuron stakes within the Bittensor network. - Args: - wallet (bittensor_wallet.wallet): The wallet associated with the neuron from which the stake is being + Arguments: + wallet: The wallet associated with the neuron from which the stake is being removed. - hotkey_ss58 (Optional[str]): The ``SS58`` address of the hotkey account to unstake from. - netuid (Optional[int]): Subnet unique ID. - amount (Balance): The amount of TAO to unstake. If not specified, unstakes all. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + hotkey_ss58: The `SS58` address of the hotkey account to unstake from. + netuid: The unique identifier of the subnet. + amount: The amount of alpha to unstake. If not specified, unstakes all. + wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `True`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. + safe_staking: If true, enables price safety checks to protect against fluctuating prices. The unstake will + only execute if the price change doesn't exceed the rate tolerance. Default is False. + allow_partial_stake: If true and safe_staking is enabled, allows partial unstaking when + the full amount would exceed the price threshold. If false, the entire unstake fails if it would exceed + the threshold. Default is False. + rate_tolerance: The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum + price decrease. Only used when safe_staking is True. Default is 0.005. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You + can think of it as an expiration date for the transaction. + unstake_all: If `True`, unstakes all tokens and `amount` is ignored. Default is `False` Returns: - bool: ``True`` if the unstaking process is successful, False otherwise. + bool: `True` if the unstaking process is successful, False otherwise. This function supports flexible stake management, allowing neurons to adjust their network participation and - potential reward accruals. + potential reward accruals. """ amount = check_and_convert_to_balance(amount) return await unstake_extrinsic( @@ -4197,6 +6190,98 @@

        Source code for bittensor.core.async_subtensor

        amount=amount, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + safe_staking=safe_staking, + allow_partial_stake=allow_partial_stake, + rate_tolerance=rate_tolerance, + period=period, + unstake_all=unstake_all, + )

        + + +
        +[docs] + async def unstake_all( + self, + wallet: "Wallet", + hotkey: str, + netuid: int, + rate_tolerance: Optional[float] = 0.005, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network. + + Arguments: + wallet: The wallet of the stake owner. + hotkey: The SS58 address of the hotkey to unstake from. + netuid: The unique identifier of the subnet. + rate_tolerance: The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum + price decrease. If not passed (None), then unstaking goes without price limit. Default is 0.005. + wait_for_inclusion: Waits for the transaction to be included in a block. Default is `True`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is `False`. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You + can think of it as an expiration date for the transaction. Default is `None`. + + Returns: + tuple[bool, str]: + A tuple containing: + - `True` and a success message if the unstake operation succeeded; + - `False` and an error message otherwise. + + Example: + # If you would like to unstake all stakes in all subnets safely, use default `rate_tolerance` or pass your + value: + import bittensor as bt + + subtensor = bt.AsyncSubtensor() + wallet = bt.Wallet("my_wallet") + netuid = 14 + hotkey = "5%SOME_HOTKEY_WHERE_IS_YOUR_STAKE_NOW%" + + wallet_stakes = await subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address) + + for stake in wallet_stakes: + result = await subtensor.unstake_all( + wallet=wallet, + hotkey_ss58=stake.hotkey_ss58, + netuid=stake.netuid, + ) + print(result) + + # If you would like to unstake all stakes in all subnets unsafely, use `rate_tolerance=None`: + import bittensor as bt + + subtensor = bt.AsyncSubtensor() + wallet = bt.Wallet("my_wallet") + netuid = 14 + hotkey = "5%SOME_HOTKEY_WHERE_IS_YOUR_STAKE_NOW%" + + wallet_stakes = await subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address) + + for stake in wallet_stakes: + result = await subtensor.unstake_all( + wallet=wallet, + hotkey_ss58=stake.hotkey_ss58, + netuid=stake.netuid, + rate_tolerance=None, + ) + print(result) + """ + if netuid != 0: + logging.debug( + f"Unstaking without Alpha price control from subnet [blue]#{netuid}[/blue]." + ) + return await unstake_all_extrinsic( + subtensor=self, + wallet=wallet, + hotkey=hotkey, + netuid=netuid, + rate_tolerance=rate_tolerance, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, )
        @@ -4210,26 +6295,30 @@

        Source code for bittensor.core.async_subtensor

        amounts: Optional[list[Balance]] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + period: Optional[int] = None, + unstake_all: bool = False, ) -> bool: """ Performs batch unstaking from multiple hotkey accounts, allowing a neuron to reduce its staked amounts - efficiently. This function is useful for managing the distribution of stakes across multiple neurons. + efficiently. This function is useful for managing the distribution of stakes across multiple neurons. - Args: - wallet (bittensor_wallet.Wallet): The wallet linked to the coldkey from which the stakes are being - withdrawn. - hotkey_ss58s (List[str]): A list of hotkey ``SS58`` addresses to unstake from. - netuids (list[int]): Subnets unique IDs. - amounts (List[Union[Balance, float]]): The amounts of TAO to unstake from each hotkey. If not provided, - unstakes all available stakes. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + Arguments: + wallet: The wallet linked to the coldkey from which the stakes are being withdrawn. + hotkey_ss58s: A list of hotkey `SS58` addresses to unstake from. + netuids: Subnets unique IDs. + amounts: The amounts of TAO to unstake from each hotkey. If not provided, unstakes all. + wait_for_inclusion: Waits for the transaction to be included in a block. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You + can think of it as an expiration date for the transaction. + unstake_all: If true, unstakes all tokens. Default is `False`. If `True` amounts are ignored. Returns: - bool: ``True`` if the batch unstaking is successful, False otherwise. + bool: `True` if the batch unstaking is successful, False otherwise. This function allows for strategic reallocation or withdrawal of stakes, aligning with the dynamic stake - management aspect of the Bittensor network. + management aspect of the Bittensor network. """ return await unstake_multiple_extrinsic( subtensor=self, @@ -4239,6 +6328,8 @@

        Source code for bittensor.core.async_subtensor

        amounts=amounts, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, + unstake_all=unstake_all, )

        @@ -4252,9 +6343,8 @@

        Source code for bittensor.core.async_subtensor

        _mock: bool = False, log_verbose: bool = False, ) -> "AsyncSubtensor": - """ - Factory method to create an initialized AsyncSubtensor. Mainly useful for when you don't want to run - `await subtensor.initialize()` after instantiation. + """Factory method to create an initialized AsyncSubtensor. + Mainly useful for when you don't want to run `await subtensor.initialize()` after instantiation. """ sub = AsyncSubtensor( network=network, config=config, _mock=_mock, log_verbose=log_verbose diff --git a/static/python-api/html/_modules/bittensor/core/axon.html b/static/python-api/html/_modules/bittensor/core/axon.html index fc49ef13ef..c1d97eb32d 100644 --- a/static/python-api/html/_modules/bittensor/core/axon.html +++ b/static/python-api/html/_modules/bittensor/core/axon.html @@ -175,7 +175,6 @@

      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -740,7 +739,11 @@

        Source code for bittensor.core.axon

                 self.app = FastAPI()
                 log_level = "trace" if logging.__trace_on__ else "critical"
                 self.fast_config = uvicorn.Config(
        -            self.app, host="0.0.0.0", port=self._config.axon.port, log_level=log_level
        +            self.app,
        +            host="0.0.0.0",
        +            log_level=log_level,
        +            loop="none",
        +            port=self._config.axon.port,
                 )
                 self.fast_server = FastAPIThreadedServer(config=self.fast_config)
                 self.router = APIRouter()
        @@ -859,9 +862,9 @@ 

        Source code for bittensor.core.axon

                     )
         
                 param_class = first_param.annotation
        -        assert issubclass(
        -            param_class, Synapse
        -        ), "The first argument of forward_fn must inherit from bittensor.Synapse"
        +        assert issubclass(param_class, Synapse), (
        +            "The first argument of forward_fn must inherit from bittensor.Synapse"
        +        )
                 request_name = param_class.__name__
         
                 async def endpoint(*args, **kwargs):
        @@ -935,19 +938,19 @@ 

        Source code for bittensor.core.axon

                     blacklist_sig = Signature(
                         expected_params, return_annotation=Tuple[bool, str]
                     )
        -            assert (
        -                signature(blacklist_fn) == blacklist_sig
        -            ), f"The blacklist_fn function must have the signature: blacklist( synapse: {request_name} ) -> tuple[bool, str]"
        +            assert signature(blacklist_fn) == blacklist_sig, (
        +                f"The blacklist_fn function must have the signature: blacklist( synapse: {request_name} ) -> tuple[bool, str]"
        +            )
                 if priority_fn:
                     priority_sig = Signature(expected_params, return_annotation=float)
        -            assert (
        -                signature(priority_fn) == priority_sig
        -            ), f"The priority_fn function must have the signature: priority( synapse: {request_name} ) -> float"
        +            assert signature(priority_fn) == priority_sig, (
        +                f"The priority_fn function must have the signature: priority( synapse: {request_name} ) -> float"
        +            )
                 if verify_fn:
                     verify_sig = Signature(expected_params, return_annotation=None)
        -            assert (
        -                signature(verify_fn) == verify_sig
        -            ), f"The verify_fn function must have the signature: verify( synapse: {request_name} ) -> None"
        +            assert signature(verify_fn) == verify_sig, (
        +                f"The verify_fn function must have the signature: verify( synapse: {request_name} ) -> None"
        +            )
         
                 # Store functions in appropriate attribute dictionaries
                 self.forward_class_types[request_name] = param_class
        @@ -1117,9 +1120,9 @@ 

        Source code for bittensor.core.axon

                 Raises:
                     AssertionError: If the axon or external ports are not in range [1024, 65535]
                 """
        -        assert (
        -            1024 < config.axon.port < 65535
        -        ), "Axon port must be in range [1024, 65535]"
        +        assert 1024 < config.axon.port < 65535, (
        +            "Axon port must be in range [1024, 65535]"
        +        )
         
                 assert config.axon.external_port is None or (
                     1024 < config.axon.external_port < 65535
        @@ -1361,7 +1364,9 @@ 

        Source code for bittensor.core.axon

                         ):
                             raise Exception("Nonce is too old, a newer one was last processed")
         
        -            if not keypair.verify(message, synapse.dendrite.signature):
        +            if synapse.dendrite.signature and not keypair.verify(
        +                message, synapse.dendrite.signature
        +            ):
                         raise Exception(
                             f"Signature mismatch with {message} and {synapse.dendrite.signature}"
                         )
        @@ -1665,7 +1670,7 @@ 

        Source code for bittensor.core.axon

                 # Fills the local axon information into the synapse.
                 synapse.axon.__dict__.update(
                     {
        -                "version": str(version_as_int),
        +                "version": int(version_as_int),
                         "uuid": str(self.axon.uuid),
                         "nonce": time.time_ns(),
                         "status_code": 100,
        @@ -1674,7 +1679,7 @@ 

        Source code for bittensor.core.axon

         
                 # Fills the dendrite information into the synapse.
                 synapse.dendrite.__dict__.update(
        -            {"port": str(request.client.port), "ip": str(request.client.host)}  # type: ignore
        +            {"port": int(request.client.port), "ip": str(request.client.host)}  # type: ignore
                 )
         
                 # Signs the synapse from the axon side using the wallet hotkey.
        diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/axon_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/axon_info.html
        index 4272d045ab..5d53ea7057 100644
        --- a/static/python-api/html/_modules/bittensor/core/chain_data/axon_info.html
        +++ b/static/python-api/html/_modules/bittensor/core/chain_data/axon_info.html
        @@ -175,7 +175,6 @@
         
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/chain_identity.html b/static/python-api/html/_modules/bittensor/core/chain_data/chain_identity.html index dfc6203ea3..687164d9a8 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/chain_identity.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/chain_identity.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info.html index 4f590a1f62..1cd1993107 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -336,7 +335,7 @@

        Source code for bittensor.core.chain_data.delegate_info

         from dataclasses import dataclass
        -from typing import Any, Optional
        +from typing import Optional
         
         from bittensor.core.chain_data.info_base import InfoBase
         from bittensor.core.chain_data.utils import decode_account_id
        @@ -344,30 +343,23 @@ 

        Source code for bittensor.core.chain_data.delegate_info

        from bittensor.utils.balance import Balance -
        -[docs] +
        +[docs] @dataclass -class DelegateInfo(InfoBase): - """ - Dataclass for delegate information. For a lighter version of this class, see ``DelegateInfoLite``. +class DelegateInfoBase(InfoBase): + """Base class containing common delegate information fields. - Args: - hotkey_ss58 (str): Hotkey of the delegate for which the information is being fetched. - total_stake (int): Total stake of the delegate. - nominators (list[tuple[str, int]]): List of nominators of the delegate and their stake. + Attributes: + hotkey_ss58 (str): Hotkey of delegate. + owner_ss58 (str): Coldkey of owner. take (float): Take of the delegate as a percentage. - owner_ss58 (str): Coldkey of the owner. - registrations (list[int]): List of subnets that the delegate is registered on. validator_permits (list[int]): List of subnets that the delegate is allowed to validate on. - return_per_1000 (int): Return per 1000 TAO, for the delegate over a day. - total_daily_return (int): Total daily return of the delegate. + registrations (list[int]): List of subnets that the delegate is registered on. + return_per_1000 (Balance): Return per 1000 tao of the delegate over a day. + total_daily_return (Balance): Total daily return of the delegate. """ hotkey_ss58: str # Hotkey of delegate - total_stake: Balance # Total stake of the delegate - nominators: list[ - tuple[str, Balance] - ] # List of nominators of the delegate and their stake owner_ss58: str # Coldkey of owner take: float # Take of the delegate as a percentage validator_permits: list[ @@ -375,37 +367,98 @@

        Source code for bittensor.core.chain_data.delegate_info

        ] # List of subnets that the delegate is allowed to validate on registrations: list[int] # list of subnets that the delegate is registered on return_per_1000: Balance # Return per 1000 tao of the delegate over a day - total_daily_return: Balance # Total daily return of the delegate + total_daily_return: Balance # Total daily return of the delegate
        + + + +
        +[docs] +@dataclass +class DelegateInfo(DelegateInfoBase): + """ + Dataclass for delegate information. + + Additional Attributes: + total_stake (dict[int, Balance]): Total stake of the delegate mapped by netuid. + nominators (dict[str, dict[int, Balance]]): Mapping of nominator SS58 addresses to their stakes per subnet. + """ + + total_stake: dict[int, Balance] # Total stake of the delegate by netuid and stake + nominators: dict[ + str, dict[int, Balance] + ] # Mapping of nominator addresses to their stakes per subnet @classmethod def _from_dict(cls, decoded: dict) -> Optional["DelegateInfo"]: - """Returns a DelegateInfo object from decoded chain data.""" - nominators = [ - (decode_account_id(x), Balance.from_rao(y)) - for x, y in decoded["nominators"] - ] - total_stake = sum((x[1] for x in nominators)) if nominators else Balance(0) - - return DelegateInfo( - hotkey_ss58=decode_account_id(decoded["delegate_ss58"]), + hotkey = decode_account_id(decoded.get("delegate_ss58")) + owner = decode_account_id(decoded.get("owner_ss58")) + + nominators = {} + total_stake_by_netuid = {} + + for raw_nominator, raw_stakes in decoded.get("nominators", []): + nominator_ss58 = decode_account_id(raw_nominator) + stakes = { + int(netuid): Balance.from_rao(stake_amt).set_unit(int(netuid)) + for (netuid, stake_amt) in raw_stakes + } + nominators[nominator_ss58] = stakes + + for netuid, stake in stakes.items(): + if netuid not in total_stake_by_netuid: + total_stake_by_netuid[netuid] = Balance(0).set_unit(netuid) + total_stake_by_netuid[netuid] += stake + + return cls( + hotkey_ss58=hotkey, + total_stake=total_stake_by_netuid, nominators=nominators, - owner_ss58=decode_account_id(decoded["owner_ss58"]), - registrations=decoded["registrations"], - return_per_1000=Balance.from_rao(decoded["return_per_1000"]), - take=u16_normalized_float(decoded["take"]), - total_daily_return=Balance.from_rao(decoded["total_daily_return"]), - total_stake=total_stake, - validator_permits=decoded["validator_permits"], - ) + owner_ss58=owner, + take=u16_normalized_float(decoded.get("take")), + validator_permits=list(decoded.get("validator_permits", [])), + registrations=list(decoded.get("registrations", [])), + return_per_1000=Balance.from_rao(decoded.get("return_per_1000")), + total_daily_return=Balance.from_rao(decoded.get("total_daily_return")), + )
        + + + +
        +[docs] +@dataclass +class DelegatedInfo(DelegateInfoBase): + """ + Dataclass for delegated information. This class represents a delegate's information + specific to a particular subnet. + + Additional Attributes: + netuid (int): Network ID of the subnet. + stake (Balance): Stake amount for this specific delegation. + """ + + netuid: int + stake: Balance @classmethod - def delegated_list_from_dicts( - cls, delegates: list[Any] - ) -> list[tuple["DelegateInfo", Balance]]: - return [ - (delegate, Balance.from_rao(int(balance)) if str(balance).isdigit() else Balance.from_tao(float(balance))) - for delegate, balance in delegate_dict - ]
        + def _from_dict( + cls, decoded: tuple[dict, tuple[int, int]] + ) -> Optional["DelegatedInfo"]: + delegate_info, (netuid, stake) = decoded + hotkey = decode_account_id(delegate_info.get("delegate_ss58")) + owner = decode_account_id(delegate_info.get("owner_ss58")) + return cls( + hotkey_ss58=hotkey, + owner_ss58=owner, + take=u16_normalized_float(delegate_info.get("take")), + validator_permits=list(delegate_info.get("validator_permits", [])), + registrations=list(delegate_info.get("registrations", [])), + return_per_1000=Balance.from_rao(delegate_info.get("return_per_1000")), + total_daily_return=Balance.from_rao( + delegate_info.get("total_daily_return") + ), + netuid=int(netuid), + stake=Balance.from_rao(int(stake)).set_unit(int(netuid)), + )
        diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info_lite.html b/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info_lite.html index 8b5b44bb95..848b9d237d 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info_lite.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info_lite.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/dynamic_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/dynamic_info.html index 8121ce14dc..15b2ab6513 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/dynamic_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/dynamic_info.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -366,7 +365,7 @@

        Source code for bittensor.core.chain_data.dynamic_info

        alpha_in: Balance alpha_out: Balance tao_in: Balance - price: Balance + price: Optional[Balance] k: float is_dynamic: bool alpha_out_emission: Balance @@ -413,29 +412,30 @@

        Source code for bittensor.core.chain_data.dynamic_info

        ).set_unit(0) subnet_volume = Balance.from_rao(decoded["subnet_volume"]).set_unit(netuid) - price = ( - Balance.from_tao(1.0) - if netuid == 0 - else Balance.from_tao(tao_in.tao / alpha_in.tao) - if alpha_in.tao > 0 - else Balance.from_tao(1) - ) # Root always has 1-1 price - - if decoded.get("subnet_identity"): + + if subnet_identity := decoded.get("subnet_identity"): + # we need to check it for keep backwards compatibility + logo_bytes = subnet_identity.get("logo_url") + si_logo_url = bytes(logo_bytes).decode() if logo_bytes else None + subnet_identity = SubnetIdentity( - subnet_name=bytes(decoded["subnet_identity"]["subnet_name"]).decode(), - github_repo=bytes(decoded["subnet_identity"]["github_repo"]).decode(), - subnet_contact=bytes( - decoded["subnet_identity"]["subnet_contact"] - ).decode(), - subnet_url=bytes(decoded["subnet_identity"]["subnet_url"]).decode(), - discord=bytes(decoded["subnet_identity"]["discord"]).decode(), - description=bytes(decoded["subnet_identity"]["description"]).decode(), - additional=bytes(decoded["subnet_identity"]["additional"]).decode(), + subnet_name=bytes(subnet_identity["subnet_name"]).decode(), + github_repo=bytes(subnet_identity["github_repo"]).decode(), + subnet_contact=bytes(subnet_identity["subnet_contact"]).decode(), + subnet_url=bytes(subnet_identity["subnet_url"]).decode(), + logo_url=si_logo_url, + discord=bytes(subnet_identity["discord"]).decode(), + description=bytes(subnet_identity["description"]).decode(), + additional=bytes(subnet_identity["additional"]).decode(), ) else: subnet_identity = None + price = decoded.get("price", None) + + if price and not isinstance(price, Balance): + raise ValueError(f"price must be a Balance object, got {type(price)}.") + return cls( netuid=netuid, owner_hotkey=owner_hotkey, @@ -451,7 +451,11 @@

        Source code for bittensor.core.chain_data.dynamic_info

        tao_in=tao_in, k=tao_in.rao * alpha_in.rao, is_dynamic=is_dynamic, - price=price, + price=( + price + if price is not None + else Balance.from_tao(tao_in.tao / alpha_in.tao).set_unit(netuid) + ), alpha_out_emission=alpha_out_emission, alpha_in_emission=alpha_in_emission, tao_in_emission=tao_in_emission, diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/info_base.html b/static/python-api/html/_modules/bittensor/core/chain_data/info_base.html index 4083be0d32..305c659e43 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/info_base.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/info_base.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -340,6 +339,8 @@

        Source code for bittensor.core.chain_data.info_base

        from bittensor.core.errors import SubstrateRequestException +# NOTE: once Python 3.10+ is required, we can use `typing.Self` instead of this for better ide integration and type hinting. +# This current generic does not play so nice with the inherited type hinting. T = TypeVar("T", bound="InfoBase") diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/ip_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/ip_info.html index 43e30c8cec..79a9661181 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/ip_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/ip_info.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/metagraph_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/metagraph_info.html index 05e95c0d72..2bc700d6bd 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/metagraph_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/metagraph_info.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -335,9 +334,12 @@

        Source code for bittensor.core.chain_data.metagraph_info

        -from dataclasses import dataclass
        +from enum import Enum
        +
        +from dataclasses import dataclass
         from typing import Optional, Union
         
        +from bittensor.core import settings
         from bittensor.core.chain_data.axon_info import AxonInfo
         from bittensor.core.chain_data.chain_identity import ChainIdentity
         from bittensor.core.chain_data.info_base import InfoBase
        @@ -347,9 +349,11 @@ 

        Source code for bittensor.core.chain_data.metagraph_info

        from bittensor.utils.balance import Balance, fixed_to_float -# to balance with unit (just shortcut) -def _tbwu(val: int, netuid: Optional[int] = 0) -> Balance: +# to balance with unit (shortcut) +def _tbwu(val: Optional[int], netuid: Optional[int] = 0) -> Optional[Balance]: """Returns a Balance object from a value and unit.""" + if val is None: + return None return Balance.from_rao(val, netuid) @@ -360,10 +364,12 @@

        Source code for bittensor.core.chain_data.metagraph_info

        [docs] -def process_nested(data: Union[tuple, dict], chr_transform): +def process_nested( + data: Union[tuple, dict], chr_transform +) -> Optional[Union[list, dict]]: """Processes nested data structures by applying a transformation function to their elements.""" if isinstance(data, (list, tuple)): - if len(data) > 0 and isinstance(data[0], dict): + if len(data) > 0: return [ {k: chr_transform(v) for k, v in item.items()} if item is not None @@ -372,7 +378,8 @@

        Source code for bittensor.core.chain_data.metagraph_info

        ] return {} elif isinstance(data, dict): - return {k: chr_transform(v) for k, v in data.items()}
        + return {k: chr_transform(v) for k, v in data.items()} + return None
        @@ -390,8 +397,8 @@

        Source code for bittensor.core.chain_data.metagraph_info

        network_registered_at: int # Keys for owner. - owner_hotkey: str # hotkey - owner_coldkey: str # coldkey + owner_hotkey: Optional[str] # hotkey + owner_coldkey: Optional[str] # coldkey # Tempo terms. block: int # block at call. @@ -480,6 +487,9 @@

        Source code for bittensor.core.chain_data.metagraph_info

        tuple[str, Balance] ] # List of dividend payout in alpha via subnet. + # List of validators + validators: list[str] + @classmethod def _from_dict(cls, decoded: dict) -> "MetagraphInfo": """Returns a MetagraphInfo object from decoded chain data.""" @@ -487,9 +497,20 @@

        Source code for bittensor.core.chain_data.metagraph_info

        _netuid = decoded["netuid"] # Name and symbol - decoded.update({"name": bytes(decoded.get("name")).decode()}) - decoded.update({"symbol": bytes(decoded.get("symbol")).decode()}) - for key in ["identities", "identity"]: + if name := decoded.get("name"): + decoded.update({"name": bytes(name).decode()}) + + if symbol := decoded.get("symbol"): + decoded.update({"symbol": bytes(symbol).decode()}) + + ii_list = [] + if decoded.get("identity") is not None: + ii_list.append("identity") + + if decoded.get("identities") is not None: + ii_list.append("identities") + + for key in ii_list: raw_data = decoded.get(key) processed = process_nested(raw_data, _chr_str) decoded.update({key: processed}) @@ -503,8 +524,16 @@

        Source code for bittensor.core.chain_data.metagraph_info

        identity=decoded["identity"], network_registered_at=decoded["network_registered_at"], # Keys for owner. - owner_hotkey=decoded["owner_hotkey"], - owner_coldkey=decoded["owner_coldkey"], + owner_hotkey=( + decode_account_id(decoded["owner_hotkey"][0]) + if decoded.get("owner_hotkey") is not None + else None + ), + owner_coldkey=( + decode_account_id(decoded["owner_coldkey"][0]) + if decoded.get("owner_coldkey") is not None + else None + ), # Tempo terms. block=decoded["block"], tempo=decoded["tempo"], @@ -521,15 +550,25 @@

        Source code for bittensor.core.chain_data.metagraph_info

        pending_alpha_emission=_tbwu(decoded["pending_alpha_emission"], _netuid), pending_root_emission=_tbwu(decoded["pending_root_emission"]), subnet_volume=_tbwu(decoded["subnet_volume"], _netuid), - moving_price=Balance.from_tao( - fixed_to_float(decoded.get("moving_price"), 32) + moving_price=( + Balance.from_tao(fixed_to_float(decoded.get("moving_price"), 32)) + if decoded.get("moving_price") is not None + else None ), # Hparams for epoch rho=decoded["rho"], kappa=decoded["kappa"], # Validator params - min_allowed_weights=u16tf(decoded["min_allowed_weights"]), - max_weights_limit=u16tf(decoded["max_weights_limit"]), + min_allowed_weights=( + u16tf(decoded["min_allowed_weights"]) + if decoded.get("min_allowed_weights") is not None + else None + ), + max_weights_limit=( + u16tf(decoded["max_weights_limit"]) + if decoded["max_weights_limit"] is not None + else None + ), weights_version=decoded["weights_version"], weights_rate_limit=decoded["weights_rate_limit"], activity_cutoff=decoded["activity_cutoff"], @@ -538,15 +577,31 @@

        Source code for bittensor.core.chain_data.metagraph_info

        num_uids=decoded["num_uids"], max_uids=decoded["max_uids"], burn=_tbwu(decoded["burn"]), - difficulty=u64tf(decoded["difficulty"]), + difficulty=( + u64tf(decoded["difficulty"]) + if decoded["difficulty"] is not None + else None + ), registration_allowed=decoded["registration_allowed"], pow_registration_allowed=decoded["pow_registration_allowed"], immunity_period=decoded["immunity_period"], - min_difficulty=u64tf(decoded["min_difficulty"]), - max_difficulty=u64tf(decoded["max_difficulty"]), + min_difficulty=( + u64tf(decoded["min_difficulty"]) + if decoded["min_difficulty"] is not None + else None + ), + max_difficulty=( + u64tf(decoded["max_difficulty"]) + if decoded["max_difficulty"] is not None + else None + ), min_burn=_tbwu(decoded["min_burn"]), max_burn=_tbwu(decoded["max_burn"]), - adjustment_alpha=u64tf(decoded["adjustment_alpha"]), + adjustment_alpha=( + u64tf(decoded["adjustment_alpha"]) + if decoded["adjustment_alpha"] is not None + else None + ), adjustment_interval=decoded["adjustment_interval"], target_regs_per_interval=decoded["target_regs_per_interval"], max_regs_per_block=decoded["max_regs_per_block"], @@ -556,37 +611,111 @@

        Source code for bittensor.core.chain_data.metagraph_info

        commit_reveal_period=decoded["commit_reveal_period"], # Bonds liquid_alpha_enabled=decoded["liquid_alpha_enabled"], - alpha_high=u16tf(decoded["alpha_high"]), - alpha_low=u16tf(decoded["alpha_low"]), - bonds_moving_avg=u64tf(decoded["bonds_moving_avg"]), + alpha_high=( + u16tf(decoded["alpha_high"]) + if decoded["alpha_high"] is not None + else None + ), + alpha_low=( + u16tf(decoded["alpha_low"]) + if decoded["alpha_low"] is not None + else None + ), + bonds_moving_avg=( + u64tf(decoded["bonds_moving_avg"]) + if decoded["bonds_moving_avg"] is not None + else None + ), # Metagraph info. - hotkeys=[decode_account_id(ck) for ck in decoded.get("hotkeys", [])], - coldkeys=[decode_account_id(hk) for hk in decoded.get("coldkeys", [])], + hotkeys=( + [decode_account_id(ck) for ck in decoded.get("hotkeys", [])] + if decoded.get("hotkeys") is not None + else None + ), + coldkeys=( + [decode_account_id(hk) for hk in decoded.get("coldkeys", [])] + if decoded.get("coldkeys") is not None + else None + ), identities=decoded["identities"], axons=decoded.get("axons", []), active=decoded["active"], validator_permit=decoded["validator_permit"], - pruning_score=[u16tf(ps) for ps in decoded.get("pruning_score", [])], + pruning_score=( + [u16tf(ps) for ps in decoded.get("pruning_score", [])] + if decoded.get("pruning_score") is not None + else None + ), last_update=decoded["last_update"], - emission=[_tbwu(em, _netuid) for em in decoded.get("emission", [])], - dividends=[u16tf(dv) for dv in decoded.get("dividends", [])], - incentives=[u16tf(ic) for ic in decoded.get("incentives", [])], - consensus=[u16tf(cs) for cs in decoded.get("consensus", [])], - trust=[u16tf(tr) for tr in decoded.get("trust", [])], - rank=[u16tf(rk) for rk in decoded.get("rank", [])], + emission=( + [_tbwu(em, _netuid) for em in decoded.get("emission", [])] + if decoded.get("emission") is not None + else None + ), + dividends=( + [u16tf(dv) for dv in decoded.get("dividends", [])] + if decoded.get("dividends") is not None + else None + ), + incentives=( + [u16tf(ic) for ic in decoded.get("incentives", [])] + if decoded.get("incentives") is not None + else None + ), + consensus=( + [u16tf(cs) for cs in decoded.get("consensus", [])] + if decoded.get("consensus") is not None + else None + ), + trust=( + [u16tf(tr) for tr in decoded.get("trust", [])] + if decoded.get("trust") is not None + else None + ), + rank=( + [u16tf(rk) for rk in decoded.get("rank", [])] + if decoded.get("rank") is not None + else None + ), block_at_registration=decoded["block_at_registration"], - alpha_stake=[_tbwu(ast, _netuid) for ast in decoded["alpha_stake"]], - tao_stake=[_tbwu(ts) for ts in decoded["tao_stake"]], - total_stake=[_tbwu(ts, _netuid) for ts in decoded["total_stake"]], + alpha_stake=( + [_tbwu(ast, _netuid) for ast in decoded["alpha_stake"]] + if decoded.get("alpha_stake") is not None + else None + ), + tao_stake=( + [ + _tbwu(ts) * settings.ROOT_TAO_STAKE_WEIGHT + for ts in decoded["tao_stake"] + ] + if decoded.get("tao_stake") is not None + else None + ), + total_stake=( + [_tbwu(ts, _netuid) for ts in decoded["total_stake"]] + if decoded.get("total_stake") is not None + else None + ), # Dividend break down - tao_dividends_per_hotkey=[ - (decode_account_id(alpha[0]), _tbwu(alpha[1])) - for alpha in decoded["tao_dividends_per_hotkey"] - ], - alpha_dividends_per_hotkey=[ - (decode_account_id(adphk[0]), _tbwu(adphk[1], _netuid)) - for adphk in decoded["alpha_dividends_per_hotkey"] - ], + tao_dividends_per_hotkey=( + [ + (decode_account_id(alpha[0]), _tbwu(alpha[1])) + for alpha in decoded["tao_dividends_per_hotkey"] + ] + if decoded.get("tao_dividends_per_hotkey") is not None + else None + ), + alpha_dividends_per_hotkey=( + [ + (decode_account_id(adphk[0]), _tbwu(adphk[1], _netuid)) + for adphk in decoded["alpha_dividends_per_hotkey"] + ] + if decoded.get("alpha_dividends_per_hotkey") is not None + else None + ), + validators=[v for v in decoded["validators"]] + if decoded.get("validators") is not None + else None, )
        @@ -654,6 +783,92 @@

        Source code for bittensor.core.chain_data.metagraph_info

        weights_rate_limit: int weights_version: int
        + + +
        +[docs] +class SelectiveMetagraphIndex(Enum): + Netuid = 0 + Name = 1 + Symbol = 2 + Identity = 3 + NetworkRegisteredAt = 4 + OwnerHotkey = 5 + OwnerColdkey = 6 + Block = 7 + Tempo = 8 + LastStep = 9 + BlocksSinceLastStep = 10 + SubnetEmission = 11 + AlphaIn = 12 + AlphaOut = 13 + TaoIn = 14 + AlphaOutEmission = 15 + AlphaInEmission = 16 + TaoInEmission = 17 + PendingAlphaEmission = 18 + PendingRootEmission = 19 + SubnetVolume = 20 + MovingPrice = 21 + Rho = 22 + Kappa = 23 + MinAllowedWeights = 24 + MaxWeightsLimit = 25 + WeightsVersion = 26 + WeightsRateLimit = 27 + ActivityCutoff = 28 + MaxValidators = 29 + NumUids = 30 + MaxUids = 31 + Burn = 32 + Difficulty = 33 + RegistrationAllowed = 34 + PowRegistrationAllowed = 35 + ImmunityPeriod = 36 + MinDifficulty = 37 + MaxDifficulty = 38 + MinBurn = 39 + MaxBurn = 40 + AdjustmentAlpha = 41 + AdjustmentInterval = 42 + TargetRegsPerInterval = 43 + MaxRegsPerBlock = 44 + ServingRateLimit = 45 + CommitRevealWeightsEnabled = 46 + CommitRevealPeriod = 47 + LiquidAlphaEnabled = 48 + AlphaHigh = 49 + AlphaLow = 50 + BondsMovingAvg = 51 + Hotkeys = 52 + Coldkeys = 53 + Identities = 54 + Axons = 55 + Active = 56 + ValidatorPermit = 57 + PruningScore = 58 + LastUpdate = 59 + Emission = 60 + Dividends = 61 + Incentives = 62 + Consensus = 63 + Trust = 64 + Rank = 65 + BlockAtRegistration = 66 + AlphaStake = 67 + TaoStake = 68 + TotalStake = 69 + TaoDividendsPerHotkey = 70 + AlphaDividendsPerHotkey = 71 + Validators = 72 + +
        +[docs] + @staticmethod + def all_indices() -> list[int]: + return [member.value for member in SelectiveMetagraphIndex]
        +
        +
        diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info.html index b8f106aa04..fbb27c8961 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info_lite.html b/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info_lite.html index a98ae72d0b..2e9208ab78 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info_lite.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info_lite.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/prometheus_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/prometheus_info.html index c053f4889c..8958e86fff 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/prometheus_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/prometheus_info.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/proposal_vote_data.html b/static/python-api/html/_modules/bittensor/core/chain_data/proposal_vote_data.html index e16f40a0cf..9303769831 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/proposal_vote_data.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/proposal_vote_data.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -335,30 +334,38 @@

        Source code for bittensor.core.chain_data.proposal_vote_data

        -from bittensor.core.chain_data.utils import decode_account_id
        +from dataclasses import dataclass
        +
        +from bittensor.core.chain_data.info_base import InfoBase
        +from bittensor.core.chain_data.utils import decode_account_id
         
         
        -# Senate / Proposal data
         
        [docs] -class ProposalVoteData: +@dataclass +class ProposalVoteData(InfoBase): + """ + Senate / Proposal data + """ + index: int threshold: int ayes: list[str] nays: list[str] end: int - def __init__(self, proposal_dict: dict) -> None: - self.index = proposal_dict["index"] - self.threshold = proposal_dict["threshold"] - self.ayes = self.decode_ss58_tuples(proposal_dict["ayes"]) - self.nays = self.decode_ss58_tuples(proposal_dict["nays"]) - self.end = proposal_dict["end"] - - @staticmethod - def decode_ss58_tuples(line: tuple): - """Decodes a tuple of ss58 addresses formatted as bytes tuples.""" - return [decode_account_id(line[x][0]) for x in range(len(line))]
        +
        +[docs] + @classmethod + def from_dict(cls, proposal_dict: dict) -> "ProposalVoteData": + return cls( + ayes=[decode_account_id(key) for key in proposal_dict["ayes"]], + end=proposal_dict["end"], + index=proposal_dict["index"], + nays=[decode_account_id(key) for key in proposal_dict["nays"]], + threshold=proposal_dict["threshold"], + )
        +
        diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/scheduled_coldkey_swap_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/scheduled_coldkey_swap_info.html index 23d7bc901d..bf9f2489c7 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/scheduled_coldkey_swap_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/scheduled_coldkey_swap_info.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/stake_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/stake_info.html index 432cbddeca..85373f7b4d 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/stake_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/stake_info.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_hyperparameters.html b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_hyperparameters.html index c660cf59f1..7d0cd35e52 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_hyperparameters.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_hyperparameters.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -336,7 +335,7 @@

        Source code for bittensor.core.chain_data.subnet_hyperparameters

         from dataclasses import dataclass
        -
        +from bittensor.utils.balance import fixed_to_float
         from bittensor.core.chain_data.info_base import InfoBase
         
         
        @@ -375,6 +374,12 @@ 

        Source code for bittensor.core.chain_data.subnet_hyperparameters

        alpha_high (int): High value of alpha. alpha_low (int): Low value of alpha. liquid_alpha_enabled (bool): Flag indicating if liquid alpha is enabled. + alpha_sigmoid_steepness (float): + yuma_version (int): Version of yuma. + subnet_is_active (bool): Indicates if subnet is active after START CALL. + transfers_enabled (bool): Flag indicating if transfers are enabled. + bonds_reset_enabled (bool): Flag indicating if bonds are reset enabled. + user_liquidity_enabled (bool): Flag indicating if user liquidity is enabled. """ rho: int @@ -404,6 +409,12 @@

        Source code for bittensor.core.chain_data.subnet_hyperparameters

        alpha_high: int alpha_low: int liquid_alpha_enabled: bool + alpha_sigmoid_steepness: float + yuma_version: int + subnet_is_active: bool + transfers_enabled: bool + bonds_reset_enabled: bool + user_liquidity_enabled: bool @classmethod def _from_dict(cls, decoded: dict) -> "SubnetHyperparameters": @@ -414,7 +425,11 @@

        Source code for bittensor.core.chain_data.subnet_hyperparameters

        adjustment_interval=decoded["adjustment_interval"], alpha_high=decoded["alpha_high"], alpha_low=decoded["alpha_low"], + alpha_sigmoid_steepness=fixed_to_float( + decoded["alpha_sigmoid_steepness"], frac_bits=32 + ), bonds_moving_avg=decoded["bonds_moving_avg"], + bonds_reset_enabled=decoded["bonds_reset_enabled"], commit_reveal_weights_enabled=decoded["commit_reveal_weights_enabled"], commit_reveal_period=decoded["commit_reveal_period"], difficulty=decoded["difficulty"], @@ -432,10 +447,14 @@

        Source code for bittensor.core.chain_data.subnet_hyperparameters

        registration_allowed=decoded["registration_allowed"], rho=decoded["rho"], serving_rate_limit=decoded["serving_rate_limit"], + subnet_is_active=decoded["subnet_is_active"], target_regs_per_interval=decoded["target_regs_per_interval"], tempo=decoded["tempo"], + transfers_enabled=decoded["transfers_enabled"], + user_liquidity_enabled=decoded["user_liquidity_enabled"], weights_rate_limit=decoded["weights_rate_limit"], weights_version=decoded["weights_version"], + yuma_version=decoded["yuma_version"], )
        diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html index 0596c56d61..cef9e4f556 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -348,6 +347,7 @@

        Source code for bittensor.core.chain_data.subnet_identity

        github_repo: str subnet_contact: str subnet_url: str + logo_url: str discord: str description: str additional: str @@ -360,6 +360,7 @@

        Source code for bittensor.core.chain_data.subnet_identity

        github_repo=decoded["github_repo"], subnet_contact=decoded["subnet_contact"], subnet_url=decoded["subnet_url"], + logo_url=decoded["logo_url"], discord=decoded["discord"], description=decoded["description"], additional=decoded["additional"], diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_info.html index b2cb62896b..7e5cd03dee 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_info.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_state.html b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_state.html index 35cc500a66..19637a408a 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_state.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_state.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/utils.html b/static/python-api/html/_modules/bittensor/core/chain_data/utils.html index a437eae61e..8d51e6046a 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/utils.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/utils.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -338,15 +337,19 @@

        Source code for bittensor.core.chain_data.utils

        < """Chain data helper functions and data.""" from enum import Enum -from typing import Optional, Union +from typing import Optional, Union, TYPE_CHECKING from scalecodec.base import RuntimeConfiguration, ScaleBytes +from async_substrate_interface.types import ScaleObj from scalecodec.type_registry import load_type_registry_preset from scalecodec.utils.ss58 import ss58_encode from bittensor.core.settings import SS58_FORMAT from bittensor.utils.balance import Balance +if TYPE_CHECKING: + from async_substrate_interface.sync_substrate import QueryMapResult +
        [docs] @@ -487,9 +490,78 @@

        Source code for bittensor.core.chain_data.utils

        < [docs] def decode_metadata(metadata: dict) -> str: commitment = metadata["info"]["fields"][0][0] - bytes_tuple = commitment[next(iter(commitment.keys()))][0] + bytes_tuple_ = commitment[next(iter(commitment.keys()))] + bytes_tuple = bytes_tuple_[0] if len(bytes_tuple_) > 0 else bytes_tuple_ return bytes(bytes_tuple).decode()
        + + +
        +[docs] +def decode_block(data: bytes) -> int: + """ + Decode the block data from the given input if it is not None. + + Arguments: + data (bytes): The block data to decode. + + Returns: + int: The decoded block. + """ + return int(data.value) if isinstance(data, ScaleObj) else data
        + + + +
        +[docs] +def decode_revealed_commitment(encoded_data) -> tuple[int, str]: + """ + Decode the revealed commitment data from the given input if it is not None. + + Arguments: + encoded_data (tuple[bytes, int]): A tuple containing the revealed message and the block number. + + Returns: + tuple[int, str]: A tuple containing the revealed block number and decoded commitment message. + """ + + def scale_decode_offset(data: bytes) -> int: + """Decodes the scale offset from a given byte data sequence.""" + first_byte = data[0] + mode = first_byte & 0b11 + if mode == 0: + return 1 + elif mode == 1: + return 2 + else: + return 4 + + com_bytes, revealed_block = encoded_data + offset = scale_decode_offset(com_bytes) + + revealed_commitment = bytes(com_bytes[offset:]).decode("utf-8", errors="ignore") + return revealed_block, revealed_commitment
        + + + +
        +[docs] +def decode_revealed_commitment_with_hotkey( + encoded_data: "QueryMapResult", +) -> tuple[str, tuple[tuple[int, str], ...]]: + """ + Decode revealed commitment using a hotkey. + + Returns: + tuple[str, tuple[tuple[int, str], ...]]: A tuple containing the hotkey (ss58 address) and a tuple of block + numbers and their corresponding revealed commitments. + """ + key, data = encoded_data + + ss58_address = decode_account_id(next(iter(key))) + block_data = tuple(decode_revealed_commitment(p) for p in data.value) + return ss58_address, block_data
        +
        diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/weight_commit_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/weight_commit_info.html index 3be2ed6ebd..d094f5fd34 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/weight_commit_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/weight_commit_info.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/config.html b/static/python-api/html/_modules/bittensor/core/config.html index f0b863d210..636611e8bf 100644 --- a/static/python-api/html/_modules/bittensor/core/config.html +++ b/static/python-api/html/_modules/bittensor/core/config.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/dendrite.html b/static/python-api/html/_modules/bittensor/core/dendrite.html index 6e3e8c3f3b..4e2033c850 100644 --- a/static/python-api/html/_modules/bittensor/core/dendrite.html +++ b/static/python-api/html/_modules/bittensor/core/dendrite.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -608,7 +607,7 @@

        Source code for bittensor.core.dendrite

                 """
                 error_id = str(uuid.uuid4())
                 error_type = exception.__class__.__name__
        -        if isinstance(exception, (aiohttp.ClientConnectorError, asyncio.TimeoutError)):
        +        if isinstance(exception, (aiohttp.ClientOSError, asyncio.TimeoutError)):
                     logging.debug(f"{error_type}#{error_id}: {exception}")
                 else:
                     logging.error(f"{error_type}#{error_id}: {exception}")
        @@ -1258,7 +1257,14 @@

        Source code for bittensor.core.dendrite

                     # ... some operations ...
                     del dendrite  # This will implicitly invoke the __del__ method and close the session.
                 """
        -        self.close_session()
        + try: + self.close_session() + except RuntimeError: + if self._session: + logging.debug( + "A Dendrite session was unable to be closed during garbage-collection of the Dendrite object. This " + "usually indicates that you were not using the async context manager." + )
        diff --git a/static/python-api/html/_modules/bittensor/core/errors.html b/static/python-api/html/_modules/bittensor/core/errors.html index c3aa88e56d..c071692330 100644 --- a/static/python-api/html/_modules/bittensor/core/errors.html +++ b/static/python-api/html/_modules/bittensor/core/errors.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -354,6 +353,21 @@

        Source code for bittensor.core.errors

         ExtrinsicNotFound = ExtrinsicNotFound
         
         
        +class _ChainErrorMeta(type):
        +    _exceptions: dict[str, Exception] = {}
        +
        +    def __new__(mcs, name, bases, attrs):
        +        cls = super().__new__(mcs, name, bases, attrs)
        +
        +        mcs._exceptions.setdefault(cls.__name__, cls)
        +
        +        return cls
        +
        +    @classmethod
        +    def get_exception_class(mcs, exception_name):
        +        return mcs._exceptions[exception_name]
        +
        +
         
        [docs] class MaxSuccessException(Exception): @@ -370,8 +384,22 @@

        Source code for bittensor.core.errors

         
         
        [docs] -class ChainError(SubstrateRequestException): - """Base error for any chain related errors."""
        +class ChainError(SubstrateRequestException, metaclass=_ChainErrorMeta): + """Base error for any chain related errors.""" + +
        +[docs] + @classmethod + def from_error(cls, error): + try: + error_cls = _ChainErrorMeta.get_exception_class( + error["name"], + ) + except KeyError: + return cls(error) + else: + return error_cls(" ".join(error["docs"]))
        +
        @@ -389,80 +417,219 @@

        Source code for bittensor.core.errors

         
         
         
        -
        -[docs] -class ChainQueryError(ChainError): - """Error for any chain query related errors."""
        +
        +[docs] +class DelegateTakeTooHigh(ChainTransactionError): + """ + Delegate take is too high. + """
        -
        -[docs] -class StakeError(ChainTransactionError): - """Error raised when a stake transaction fails."""
        +
        +[docs] +class DelegateTakeTooLow(ChainTransactionError): + """ + Delegate take is too low. + """
        -
        -[docs] -class UnstakeError(ChainTransactionError): - """Error raised when an unstake transaction fails."""
        +
        +[docs] +class DuplicateChild(ChainTransactionError): + """ + Duplicate child when setting children. + """
        + + + +
        +[docs] +class HotKeyAccountNotExists(ChainTransactionError): + """ + The hotkey does not exist. + """
        [docs] class IdentityError(ChainTransactionError): - """Error raised when an identity transaction fails."""
        + """ + Error raised when an identity transaction fails. + """
        + + + +
        +[docs] +class InvalidChild(ChainTransactionError): + """ + Attempting to set an invalid child for a hotkey on a network. + """
        + + + +
        +[docs] +class MetadataError(ChainTransactionError): + """ + Error raised when metadata commitment transaction fails. + """
        [docs] class NominationError(ChainTransactionError): - """Error raised when a nomination transaction fails."""
        + """ + Error raised when a nomination transaction fails. + """
        -
        -[docs] -class TakeError(ChainTransactionError): - """Error raised when an increase / decrease take transaction fails."""
        +
        +[docs] +class NonAssociatedColdKey(ChainTransactionError): + """ + Request to stake, unstake or subscribe is made by a coldkey that is not associated with the hotkey account. + """
        -
        -[docs] -class TransferError(ChainTransactionError): - """Error raised when a transfer transaction fails."""
        +
        +[docs] +class NotEnoughStakeToSetChildkeys(ChainTransactionError): + """ + The parent hotkey doesn't have enough own stake to set childkeys. + """
        + + + +
        +[docs] +class NotRegisteredError(ChainTransactionError): + """ + Error raised when a neuron is not registered, and the transaction requires it to be. + """
        + + + +
        +[docs] +class ProportionOverflow(ChainTransactionError): + """ + Proportion overflow when setting children. + """
        [docs] class RegistrationError(ChainTransactionError): - """Error raised when a neuron registration transaction fails."""
        + """ + Error raised when a neuron registration transaction fails. + """
        -
        -[docs] -class NotRegisteredError(ChainTransactionError): - """Error raised when a neuron is not registered, and the transaction requires it to be."""
        +
        +[docs] +class RegistrationNotPermittedOnRootSubnet(ChainTransactionError): + """ + Operation is not permitted on the root subnet. + """
        + + + +
        +[docs] +class StakeError(ChainTransactionError): + """ + Error raised when a stake transaction fails. + """
        [docs] class NotDelegateError(StakeError): - """Error raised when a hotkey you are trying to stake to is not a delegate."""
        + """ + Error raised when a hotkey you are trying to stake to is not a delegate. + """
        -
        -[docs] -class MetadataError(ChainTransactionError): - """Error raised when metadata commitment transaction fails."""
        +
        +[docs] +class SubNetworkDoesNotExist(ChainTransactionError): + """ + The subnet does not exist. + """
        + + + +
        +[docs] +class TakeError(ChainTransactionError): + """ + Error raised when an increase / decrease take transaction fails. + """
        + + + +
        +[docs] +class TransferError(ChainTransactionError): + """ + Error raised when a transfer transaction fails. + """
        + + + +
        +[docs] +class TooManyChildren(ChainTransactionError): + """ + Too many children MAX 5. + """
        + + + +
        +[docs] +class TxRateLimitExceeded(ChainTransactionError): + """ + Default transaction rate limit exceeded. + """
        + + + +
        +[docs] +class DelegateTxRateLimitExceeded(TxRateLimitExceeded): + """ + A transactor exceeded the rate limit for delegate transaction. + """
        + + + +
        +[docs] +class UnstakeError(ChainTransactionError): + """ + Error raised when an unstake transaction fails. + """
        + + + +
        +[docs] +class ChainQueryError(ChainError): + """ + Error for any chain query related errors. + """
        diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/children.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/children.html new file mode 100644 index 0000000000..5bf49c7828 --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/children.html @@ -0,0 +1,550 @@ + + + + + + + + + + bittensor.core.extrinsics.asyncex.children — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.extrinsics.asyncex.children

        +from typing import TYPE_CHECKING, Optional
        +from bittensor.utils import float_to_u64, unlock_key
        +
        +if TYPE_CHECKING:
        +    from bittensor_wallet import Wallet
        +    from bittensor.core.async_subtensor import AsyncSubtensor
        +
        +
        +
        +[docs] +async def set_children_extrinsic( + subtensor: "AsyncSubtensor", + wallet: "Wallet", + hotkey: str, + netuid: int, + children: list[tuple[float, str]], + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + raise_error: bool = False, + period: Optional[int] = None, +): + """ + Allows a coldkey to set children-keys. + + Arguments: + subtensor: bittensor subtensor. + wallet: bittensor wallet instance. + hotkey: The ``SS58`` address of the neuron's hotkey. + netuid: The netuid value. + children: A list of children with their proportions. + wait_for_inclusion: Waits for the transaction to be included in a block. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. + raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You can + think of it as an expiration date for the transaction. + + Returns: + tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the operation, + and the second element is a message providing additional information. + + Raises: + DuplicateChild: There are duplicates in the list of children. + InvalidChild: Child is the hotkey. + NonAssociatedColdKey: The coldkey does not own the hotkey or the child is the same as the hotkey. + NotEnoughStakeToSetChildkeys: Parent key doesn't have minimum own stake. + ProportionOverflow: The sum of the proportions does exceed uint64. + RegistrationNotPermittedOnRootSubnet: Attempting to register a child on the root network. + SubNetworkDoesNotExist: Attempting to register to a non-existent network. + TooManyChildren: Too many children in request. + TxRateLimitExceeded: Hotkey hit the rate limit. + bittensor_wallet.errors.KeyFileError: Failed to decode keyfile data. + bittensor_wallet.errors.PasswordError: Decryption failed or wrong password for decryption provided. + """ + unlock = unlock_key(wallet, raise_error=raise_error) + + if not unlock.success: + return False, unlock.message + + async with subtensor.substrate as substrate: + call = await substrate.compose_call( + call_module="SubtensorModule", + call_function="set_children", + call_params={ + "children": [ + ( + float_to_u64(proportion), + child_hotkey, + ) + for proportion, child_hotkey in children + ], + "hotkey": hotkey, + "netuid": netuid, + }, + ) + + success, message = await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + raise_error=raise_error, + period=period, + ) + + if not wait_for_finalization and not wait_for_inclusion: + return True, message + + if success: + return True, "Success with `set_children_extrinsic` response." + + return True, message
        + + + +
        +[docs] +async def root_set_pending_childkey_cooldown_extrinsic( + subtensor: "AsyncSubtensor", + wallet: "Wallet", + cooldown: int, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """ + Allows a coldkey to set children-keys. + """ + unlock = unlock_key(wallet) + + if not unlock.success: + return False, unlock.message + + async with subtensor.substrate as substrate: + call = await substrate.compose_call( + call_module="SubtensorModule", + call_function="set_pending_childkey_cooldown", + call_params={"cooldown": cooldown}, + ) + + sudo_call = await substrate.compose_call( + call_module="Sudo", + call_function="sudo", + call_params={"call": call}, + ) + + success, message = await subtensor.sign_and_send_extrinsic( + call=sudo_call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + ) + + if not wait_for_finalization and not wait_for_inclusion: + return True, message + + if success: + return ( + True, + "Success with `root_set_pending_childkey_cooldown_extrinsic` response.", + ) + + return True, message
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/commit_reveal.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/commit_reveal.html index 9952c0ee33..1a1050e500 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/commit_reveal.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/commit_reveal.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -340,12 +339,12 @@

        Source code for bittensor.core.extrinsics.asyncex.commit_reveal

        from typing import Optional, Union, TYPE_CHECKING import numpy as np -from bittensor_commit_reveal import get_encrypted_commit +from bittensor_drand import get_encrypted_commit from numpy.typing import NDArray from bittensor.core.settings import version_as_int from bittensor.utils.btlogging import logging -from bittensor.utils.weight_utils import convert_weights_and_uids_for_emit +from bittensor.utils.weight_utils import convert_and_normalize_weights_and_uids if TYPE_CHECKING: from bittensor_wallet import Wallet @@ -361,23 +360,26 @@

        Source code for bittensor.core.extrinsics.asyncex.commit_reveal

        reveal_round: int, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, -) -> tuple[bool, Optional[str]]: + period: Optional[int] = None, +) -> tuple[bool, str]: """ - Executes the commit-reveal phase 3 for a given netuid and commit, and optionally waits for extrinsic inclusion or - finalization. + Executes commit-reveal phase 3 for a given netuid and commit, and optionally waits for extrinsic inclusion or finalization. Arguments: subtensor: An instance of the AsyncSubtensor class. wallet: Wallet An instance of the Wallet class containing the user's keypair. netuid: int The network unique identifier. - commit bytes The commit data in bytes format. + commit: bytes The commit data in bytes format. reveal_round: int The round number for the reveal phase. wait_for_inclusion: bool, optional Flag indicating whether to wait for the extrinsic to be included in a block. wait_for_finalization: bool, optional Flag indicating whether to wait for the extrinsic to be finalized. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - A tuple where the first element is a boolean indicating success or failure, and the second element is an - optional string containing error message if any. + A tuple where the first element is a boolean indicating success or failure, and the second element is a + string containing an error message if any. """ logging.info( f"Committing weights hash [blue]{commit.hex()}[/blue] for subnet #[blue]{netuid}[/blue] with " @@ -394,7 +396,12 @@

        Source code for bittensor.core.extrinsics.asyncex.commit_reveal

        }, ) return await subtensor.sign_and_send_extrinsic( - call, wallet, wait_for_inclusion, wait_for_finalization, sign_with="hotkey" + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + sign_with="hotkey", + period=period, ) @@ -409,9 +416,11 @@

        Source code for bittensor.core.extrinsics.asyncex.commit_reveal

        version_key: int = version_as_int, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, + block_time: Union[int, float] = 12.0, + period: Optional[int] = None, ) -> tuple[bool, str]: """ - Commits and reveals weights for given subtensor and wallet with provided uids and weights. + Commits and reveals weights for a given subtensor and wallet with provided uids and weights. Arguments: subtensor: The AsyncSubtensor instance. @@ -422,20 +431,17 @@

        Source code for bittensor.core.extrinsics.asyncex.commit_reveal

        version_key: The version key to use for committing and revealing. Default is version_as_int. wait_for_inclusion: Whether to wait for the inclusion of the transaction. Default is False. wait_for_finalization: Whether to wait for the finalization of the transaction. Default is False. + block_time (float): The number of seconds for block duration. Default is 12.0 seconds. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure, and the second element is a message associated with the result """ try: - # Convert uids and weights - if isinstance(uids, list): - uids = np.array(uids, dtype=np.int64) - if isinstance(weights, list): - weights = np.array(weights, dtype=np.float32) - - # Reformat and normalize. - uids, weights = convert_weights_and_uids_for_emit(uids, weights) + uids, weights = convert_and_normalize_weights_and_uids(uids, weights) current_block = await subtensor.substrate.get_block(None) subnet_hyperparameters = await subtensor.get_subnet_hyperparameters( @@ -453,6 +459,7 @@

        Source code for bittensor.core.extrinsics.asyncex.commit_reveal

        current_block=current_block["header"]["number"], netuid=netuid, subnet_reveal_period_epochs=subnet_reveal_period_epochs, + block_time=block_time, ) success, message = await _do_commit_reveal_v3( @@ -463,6 +470,7 @@

        Source code for bittensor.core.extrinsics.asyncex.commit_reveal

        reveal_round=reveal_round, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success is not True: diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/liquidity.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/liquidity.html new file mode 100644 index 0000000000..93b6bb2f63 --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/liquidity.html @@ -0,0 +1,654 @@ + + + + + + + + + + bittensor.core.extrinsics.asyncex.liquidity — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.extrinsics.asyncex.liquidity

        +from typing import Optional, TYPE_CHECKING
        +
        +from bittensor.utils import unlock_key
        +from bittensor.utils.balance import Balance
        +from bittensor.utils.btlogging import logging
        +from bittensor.utils.liquidity import price_to_tick
        +
        +if TYPE_CHECKING:
        +    from bittensor_wallet import Wallet
        +    from bittensor.core.async_subtensor import AsyncSubtensor
        +
        +
        +
        +[docs] +async def add_liquidity_extrinsic( + subtensor: "AsyncSubtensor", + wallet: "Wallet", + netuid: int, + liquidity: Balance, + price_low: Balance, + price_high: Balance, + hotkey: Optional[str] = None, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """ + Adds liquidity to the specified price range. + + Arguments: + subtensor: The Subtensor client instance used for blockchain interaction. + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + liquidity: The amount of liquidity to be added. + price_low: The lower bound of the price tick range. + price_high: The upper bound of the price tick range. + hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to `None`. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + + Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call + `toggle_user_liquidity_extrinsic` to enable/disable user liquidity. + """ + if not (unlock := unlock_key(wallet)).success: + logging.error(unlock.message) + return False, unlock.message + + tick_low = price_to_tick(price_low.tao) + tick_high = price_to_tick(price_high.tao) + + call = await subtensor.substrate.compose_call( + call_module="Swap", + call_function="add_liquidity", + call_params={ + "hotkey": hotkey or wallet.hotkey.ss58_address, + "netuid": netuid, + "tick_low": tick_low, + "tick_high": tick_high, + "liquidity": liquidity.rao, + }, + ) + + return await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + use_nonce=True, + period=period, + )
        + + + +
        +[docs] +async def modify_liquidity_extrinsic( + subtensor: "AsyncSubtensor", + wallet: "Wallet", + netuid: int, + position_id: int, + liquidity_delta: Balance, + hotkey: Optional[str] = None, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """Modifies liquidity in liquidity position by adding or removing liquidity from it. + + Arguments: + subtensor: The Subtensor client instance used for blockchain interaction. + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + position_id: The id of the position record in the pool. + liquidity_delta: The amount of liquidity to be added or removed (add if positive or remove if negative). + hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to `None`. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + + Note: Modifying is allowed even when user liquidity is enabled in specified subnet. + Call `toggle_user_liquidity_extrinsic` to enable/disable user liquidity. + """ + if not (unlock := unlock_key(wallet)).success: + logging.error(unlock.message) + return False, unlock.message + + call = await subtensor.substrate.compose_call( + call_module="Swap", + call_function="modify_position", + call_params={ + "hotkey": hotkey or wallet.hotkey.ss58_address, + "netuid": netuid, + "position_id": position_id, + "liquidity_delta": liquidity_delta.rao, + }, + ) + + return await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + use_nonce=True, + period=period, + )
        + + + +
        +[docs] +async def remove_liquidity_extrinsic( + subtensor: "AsyncSubtensor", + wallet: "Wallet", + netuid: int, + position_id: int, + hotkey: Optional[str] = None, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """Remove liquidity and credit balances back to wallet's hotkey stake. + + Arguments: + subtensor: The Subtensor client instance used for blockchain interaction. + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + position_id: The id of the position record in the pool. + hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to `None`. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + + Note: Adding is allowed even when user liquidity is enabled in specified subnet. + Call `toggle_user_liquidity_extrinsic` to enable/disable user liquidity. + """ + if not (unlock := unlock_key(wallet)).success: + logging.error(unlock.message) + return False, unlock.message + + call = await subtensor.substrate.compose_call( + call_module="Swap", + call_function="remove_liquidity", + call_params={ + "hotkey": hotkey or wallet.hotkey.ss58_address, + "netuid": netuid, + "position_id": position_id, + }, + ) + + return await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + use_nonce=True, + period=period, + )
        + + + +
        +[docs] +async def toggle_user_liquidity_extrinsic( + subtensor: "AsyncSubtensor", + wallet: "Wallet", + netuid: int, + enable: bool, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """Allow to toggle user liquidity for specified subnet. + + Arguments: + subtensor: The Subtensor client instance used for blockchain interaction. + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + enable: Boolean indicating whether to enable user liquidity. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + """ + if not (unlock := unlock_key(wallet)).success: + logging.error(unlock.message) + return False, unlock.message + + call = await subtensor.substrate.compose_call( + call_module="Swap", + call_function="toggle_user_liquidity", + call_params={"netuid": netuid, "enable": enable}, + ) + + return await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + )
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/move_stake.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/move_stake.html index 93aa4f7050..8b94e784d5 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/move_stake.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/move_stake.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -336,7 +335,7 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

         import asyncio
        -from typing import TYPE_CHECKING
        +from typing import TYPE_CHECKING, Optional
         
         from bittensor.utils.balance import Balance
         from bittensor.utils.btlogging import logging
        @@ -355,6 +354,7 @@ 

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        origin_netuid: int, destination_netuid: int, ) -> tuple[Balance, Balance]: + """Gets the current stake balances for both origin and destination addresses in their respective subnets.""" block_hash = await subtensor.substrate.get_chain_head() stake_in_origin, stake_in_destination = await asyncio.gather( subtensor.get_stake( @@ -385,6 +385,7 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        amount: Balance, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> bool: """ Transfers stake from one coldkey to another in the Bittensor network. @@ -399,6 +400,9 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        amount (Balance): The amount of stake to transfer as a `Balance` object. wait_for_inclusion (bool): If True, waits for transaction inclusion in a block. Defaults to `True`. wait_for_finalization (bool): If True, waits for transaction finalization. Defaults to `False`. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: bool: True if the transfer was successful, False otherwise. @@ -416,7 +420,7 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        # Check sufficient stake stake_in_origin, stake_in_destination = await _get_stake_in_origin_and_dest( - subtensor, + subtensor=subtensor, origin_hotkey_ss58=hotkey_ss58, destination_hotkey_ss58=hotkey_ss58, origin_coldkey_ss58=wallet.coldkeypub.ss58_address, @@ -455,6 +459,7 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success: @@ -465,7 +470,7 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        # Get updated stakes origin_stake, dest_stake = await _get_stake_in_origin_and_dest( - subtensor, + subtensor=subtensor, origin_hotkey_ss58=hotkey_ss58, destination_hotkey_ss58=hotkey_ss58, origin_coldkey_ss58=wallet.coldkeypub.ss58_address, @@ -502,6 +507,10 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        amount: Balance, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + safe_staking: bool = False, + allow_partial_stake: bool = False, + rate_tolerance: float = 0.005, + period: Optional[int] = None, ) -> bool: """ Swaps stake from one subnet to another for a given hotkey in the Bittensor network. @@ -515,6 +524,12 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        amount (Balance): The amount of stake to swap as a `Balance` object. wait_for_inclusion (bool): If True, waits for transaction inclusion in a block. Defaults to True. wait_for_finalization (bool): If True, waits for transaction finalization. Defaults to False. + safe_staking (bool): If true, enables price safety checks to protect against price impact. + allow_partial_stake (bool): If true, allows partial stake swaps when the full amount would exceed the price tolerance. + rate_tolerance (float): Maximum allowed increase in a price ratio (0.005 = 0.5%). + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: bool: True if the swap was successful, False otherwise. @@ -531,7 +546,7 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        # Check sufficient stake stake_in_origin, stake_in_destination = await _get_stake_in_origin_and_dest( - subtensor, + subtensor=subtensor, origin_hotkey_ss58=hotkey_ss58, destination_hotkey_ss58=hotkey_ss58, origin_coldkey_ss58=wallet.coldkeypub.ss58_address, @@ -547,20 +562,47 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        return False try: - logging.info( - f"Swapping stake for hotkey [blue]{hotkey_ss58}[/blue]\n" - f"Amount: [green]{amount}[/green] from netuid [yellow]{origin_netuid}[/yellow] to netuid " - f"[yellow]{destination_netuid}[/yellow]" - ) + call_params = { + "hotkey": hotkey_ss58, + "origin_netuid": origin_netuid, + "destination_netuid": destination_netuid, + "alpha_amount": amount.rao, + } + + if safe_staking: + origin_pool, destination_pool = await asyncio.gather( + subtensor.subnet(netuid=origin_netuid), + subtensor.subnet(netuid=destination_netuid), + ) + swap_rate_ratio = origin_pool.price.rao / destination_pool.price.rao + swap_rate_ratio_with_tolerance = swap_rate_ratio * (1 + rate_tolerance) + + logging.info( + f"Swapping stake with safety for hotkey [blue]{hotkey_ss58}[/blue]\n" + f"Amount: [green]{amount}[/green] from netuid [green]{origin_netuid}[/green] to netuid " + f"[green]{destination_netuid}[/green]\n" + f"Current price ratio: [green]{swap_rate_ratio:.4f}[/green], " + f"Ratio with tolerance: [green]{swap_rate_ratio_with_tolerance:.4f}[/green]" + ) + call_params.update( + { + "limit_price": swap_rate_ratio_with_tolerance, + "allow_partial": allow_partial_stake, + } + ) + call_function = "swap_stake_limit" + else: + logging.info( + f"Swapping stake for hotkey [blue]{hotkey_ss58}[/blue]\n" + f"Amount: [green]{amount}[/green] from netuid [green]{origin_netuid}[/green] to netuid " + f"[green]{destination_netuid}[/green]" + ) + call_function = "swap_stake" + call = await subtensor.substrate.compose_call( call_module="SubtensorModule", - call_function="swap_stake", - call_params={ - "hotkey": hotkey_ss58, - "origin_netuid": origin_netuid, - "destination_netuid": destination_netuid, - "alpha_amount": amount.rao, - }, + call_function=call_function, + call_params=call_params, ) success, err_msg = await subtensor.sign_and_send_extrinsic( @@ -568,6 +610,7 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success: @@ -595,7 +638,12 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        return True else: - logging.error(f":cross_mark: [red]Failed[/red]: {err_msg}") + if safe_staking and "Custom error: 8" in err_msg: + logging.error( + ":cross_mark: [red]Failed[/red]: Price ratio exceeded tolerance limit. Either increase price tolerance or enable partial staking." + ) + else: + logging.error(f":cross_mark: [red]Failed[/red]: {err_msg}") return False except Exception as e: @@ -616,6 +664,7 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        amount: Balance, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> bool: """ Moves stake from one hotkey to another within subnets in the Bittensor network. @@ -630,6 +679,9 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        amount (Balance): The amount of stake to move as a `Balance` object. wait_for_inclusion (bool): If True, waits for transaction inclusion in a block. Defaults to True. wait_for_finalization (bool): If True, waits for transaction finalization. Defaults to False. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: bool: True if the move was successful, False otherwise. @@ -638,7 +690,7 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        # Check sufficient stake stake_in_origin, stake_in_destination = await _get_stake_in_origin_and_dest( - subtensor, + subtensor=subtensor, origin_hotkey_ss58=origin_hotkey, destination_hotkey_ss58=destination_hotkey, origin_coldkey_ss58=wallet.coldkeypub.ss58_address, @@ -676,6 +728,7 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success: @@ -686,7 +739,7 @@

        Source code for bittensor.core.extrinsics.asyncex.move_stake

        # Get updated stakes origin_stake, dest_stake = await _get_stake_in_origin_and_dest( - subtensor, + subtensor=subtensor, origin_hotkey_ss58=origin_hotkey, destination_hotkey_ss58=destination_hotkey, origin_coldkey_ss58=wallet.coldkeypub.ss58_address, diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/registration.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/registration.html index 92a951487f..970801af2e 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/registration.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/registration.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -347,7 +346,7 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        import asyncio from typing import Optional, Union, TYPE_CHECKING -from bittensor.utils import unlock_key, format_error_message +from bittensor.utils import unlock_key from bittensor.utils.btlogging import logging from bittensor.utils.registration import log_no_torch_error, create_pow_async, torch @@ -363,6 +362,7 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        wallet: "Wallet", wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> tuple[bool, str]: """ Performs a burned register extrinsic call to the Subtensor chain. @@ -375,6 +375,9 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        wallet (bittensor_wallet.Wallet): The wallet to be registered. wait_for_inclusion (bool): Whether to wait for the transaction to be included in a block. Default is False. wait_for_finalization (bool): Whether to wait for the transaction to be finalized. Default is True. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: Tuple[bool, Optional[str]]: A tuple containing a boolean indicating success or failure, and an optional error @@ -395,6 +398,7 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) @@ -406,6 +410,7 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        netuid: int, wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> bool: """Registers the wallet to chain by recycling TAO. @@ -417,6 +422,9 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        returns ``False`` if the extrinsic fails to enter the block within the timeout. wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for @@ -437,7 +445,7 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        f":satellite: [magenta]Checking Account on subnet[/magenta] [blue]{netuid}[/blue][magenta] ...[/magenta]" ) - # We could do this as_completed because we don't actually need old_balance and recycle + # We could do this as_completed because we don't need old_balance and recycle # if neuron is null, but the complexity isn't worth it considering the small performance # gains we'd hypothetically receive in this situation neuron, old_balance, recycle_amount = await asyncio.gather( @@ -465,6 +473,7 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if not success: @@ -502,6 +511,7 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        pow_result: "POWSolution", wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> tuple[bool, Optional[str]]: """Sends a (POW) register extrinsic to the chain. @@ -512,6 +522,9 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        pow_result (POWSolution): The PoW result to register. wait_for_inclusion (bool): If ``True``, waits for the extrinsic to be included in a block. Default to `False`. wait_for_finalization (bool): If ``True``, waits for the extrinsic to be finalized. Default to `True`. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): ``True`` if the extrinsic was included in a block. @@ -536,6 +549,7 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) @@ -555,6 +569,7 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        num_processes: Optional[int] = None, update_interval: Optional[int] = None, log_verbose: bool = False, + period: Optional[int] = None, ) -> bool: """Registers the wallet to the chain. @@ -575,6 +590,9 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        num_processes: The number of processes to use to register. update_interval: The number of nonces to solve between updates. log_verbose: If `True`, the registration process will log more information. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the @@ -663,7 +681,7 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        # pow successful, proceed to submit pow to chain for registration else: logging.info(":satellite: [magenta]Submitting POW...[/magenta]") - # check if pow result is still valid + # check if a pow result is still valid while not await pow_result.is_stale_async(subtensor=subtensor): result: tuple[bool, Optional[str]] = await _do_pow_register( subtensor=subtensor, @@ -672,6 +690,7 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        pow_result=pow_result, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) success, err_msg = result @@ -731,6 +750,7 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        wallet: "Wallet", wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> bool: """ Registers a new subnetwork on the Bittensor blockchain asynchronously. @@ -740,6 +760,9 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        wallet (Wallet): The wallet to be used for subnet registration. wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning true. wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning true. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: bool: True if the subnet registration was successful, False otherwise. @@ -762,29 +785,25 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        }, ) - extrinsic = await subtensor.substrate.create_signed_extrinsic( - call=call, keypair=wallet.coldkey - ) - - response = await subtensor.substrate.submit_extrinsic( - extrinsic, + success, message = await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if not wait_for_finalization and not wait_for_inclusion: return True - if not await response.is_success: - logging.error( - f"Failed to register subnet: {format_error_message(await response.error_message)}" + if success: + logging.success( + ":white_heavy_check_mark: [green]Successfully registered subnet[/green]" ) - return False + return True - logging.success( - ":white_heavy_check_mark: [green]Successfully registered subnet[/green]" - ) - return True
        + logging.error(f"Failed to register subnet: {message}") + return False
        @@ -798,11 +817,13 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        github_repo: str, subnet_contact: str, subnet_url: str, + logo_url: str, discord: str, description: str, additional: str, wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> tuple[bool, str]: """ Set the identity information for a given subnet. @@ -815,11 +836,15 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        github_repo (str): URL of the GitHub repository related to the subnet. subnet_contact (str): Subnet's contact information, e.g., email or contact link. subnet_url (str): The URL of the subnet's primary web portal. + logo_url (str): The URL of the logo's primary web portal. discord (str): Discord server or contact for the subnet. description (str): A textual description of the subnet. additional (str): Any additional metadata or information related to the subnet. wait_for_inclusion (bool): Whether to wait for the extrinsic inclusion in a block (default: False). wait_for_finalization (bool): Whether to wait for the extrinsic finalization in a block (default: True). + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: tuple[bool, str]: A tuple where the first element indicates success or failure (True/False), and the second @@ -840,33 +865,34 @@

        Source code for bittensor.core.extrinsics.asyncex.registration

        "github_repo": github_repo, "subnet_contact": subnet_contact, "subnet_url": subnet_url, + "logo_url": logo_url, "discord": discord, "description": description, "additional": additional, }, ) - response = await subtensor.substrate.submit_extrinsic( + success, message = await subtensor.sign_and_send_extrinsic( call=call, wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if not wait_for_finalization and not wait_for_inclusion: - return True, f"Identities for subnet {netuid} are sent to the chain." + return True, message - if await response.is_success: + if success: logging.success( f":white_heavy_check_mark: [green]Identities for subnet[/green] [blue]{netuid}[/blue] [green]are set.[/green]" ) return True, f"Identities for subnet {netuid} are set." - else: - error_message = await response.error_message - logging.error( - f":cross_mark: Failed to set identity for subnet [blue]{netuid}[/blue]: {error_message}" - ) - return False, f"Failed to set identity for subnet {netuid}: {error_message}"
        + + logging.error( + f":cross_mark: Failed to set identity for subnet [blue]{netuid}[/blue]: {message}" + ) + return False, f"Failed to set identity for subnet {netuid}: {message}"
        diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/root.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/root.html index 452b5bdf86..8c519997b9 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/root.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/root.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -336,21 +335,23 @@

        Source code for bittensor.core.extrinsics.asyncex.root

         import asyncio
        -from typing import Union, TYPE_CHECKING
        +from typing import Optional, Union, TYPE_CHECKING
         
        -from bittensor_wallet import Wallet
         import numpy as np
         from numpy.typing import NDArray
         
         from bittensor.core.errors import SubstrateRequestException
         from bittensor.utils import u16_normalized_float, format_error_message, unlock_key
        +from bittensor.utils.balance import Balance
         from bittensor.utils.btlogging import logging
         from bittensor.utils.weight_utils import (
             normalize_max_weight,
             convert_weights_and_uids_for_emit,
        +    convert_uids_and_weights,
         )
         
         if TYPE_CHECKING:
        +    from bittensor_wallet import Wallet
             from bittensor.core.async_subtensor import AsyncSubtensor
         
         
        @@ -385,8 +386,9 @@ 

        Source code for bittensor.core.extrinsics.asyncex.root

        wallet: "Wallet", wait_for_inclusion: bool = True, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> bool: - """Registers the wallet to root network. + """Registers the wallet to the root network. Arguments: subtensor (bittensor.core.async_subtensor.AsyncSubtensor): The AsyncSubtensor object @@ -395,12 +397,42 @@

        Source code for bittensor.core.extrinsics.asyncex.root

        `False` if the extrinsic fails to enter the block within the timeout. wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the response is `True`. """ netuid = 0 + logging.info( + f"Registering on netuid [blue]{netuid}[/blue] on network: [blue]{subtensor.network}[/blue]" + ) + + logging.info("Fetching recycle amount & balance.") + block_hash = await subtensor.get_block_hash() + recycle_call, balance = await asyncio.gather( + subtensor.get_hyperparameter( + param_name="Burn", + netuid=netuid, + block_hash=block_hash, + ), + subtensor.get_balance( + wallet.coldkeypub.ss58_address, + block_hash=block_hash, + ), + ) + + current_recycle = Balance.from_rao(int(recycle_call)) + + if balance < current_recycle: + logging.error( + f"[red]Insufficient balance {balance} to register neuron. " + f"Current recycle is {current_recycle} TAO[/red]." + ) + return False + if not (unlock := unlock_key(wallet)).success: logging.error(unlock.message) return False @@ -423,15 +455,16 @@

        Source code for bittensor.core.extrinsics.asyncex.root

        call_function="root_register", call_params={"hotkey": wallet.hotkey.ss58_address}, ) - success, err_msg = await subtensor.sign_and_send_extrinsic( - call, + success, message = await subtensor.sign_and_send_extrinsic( + call=call, wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if not success: - logging.error(f":cross_mark: [red]Failed error:[/red] {err_msg}") + logging.error(f":cross_mark: [red]Failed error:[/red] {message}") await asyncio.sleep(0.5) return False @@ -463,7 +496,7 @@

        Source code for bittensor.core.extrinsics.asyncex.root

        version_key: int = 0, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, - period: int = 5, + period: Optional[int] = 8, ) -> tuple[bool, str]: """ Sets the root weights on the Subnet for the given wallet hotkey account. @@ -483,7 +516,9 @@

        Source code for bittensor.core.extrinsics.asyncex.root

        False. wait_for_finalization (bool, optional): If True, waits for the extrinsic to be finalized on the chain. Defaults to False. - period (int, optional): The period in seconds to wait for extrinsic inclusion or finalization. Defaults to 5. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: tuple: Returns a tuple containing a boolean indicating success and a message describing the result of the @@ -501,30 +536,23 @@

        Source code for bittensor.core.extrinsics.asyncex.root

        }, ) - next_nonce = await subtensor.substrate.get_account_next_index( - wallet.hotkey.ss58_address - ) - - # Period dictates how long the extrinsic will stay as part of waiting pool - extrinsic = await subtensor.substrate.create_signed_extrinsic( + success, message = await subtensor.sign_and_send_extrinsic( call=call, - keypair=wallet.coldkey, - era={"period": period}, - nonce=next_nonce, - ) - response = await subtensor.substrate.submit_extrinsic( - extrinsic=extrinsic, + wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + use_nonce=True, + period=period, ) + # We only wait here if we expect finalization. if not wait_for_finalization and not wait_for_inclusion: - return True, "Not waiting for finalization or inclusion." + return True, message - if await response.is_success: + if success: return True, "Successfully set weights." - return False, format_error_message(await response.error_message) + return False, message
        @@ -537,20 +565,24 @@

        Source code for bittensor.core.extrinsics.asyncex.root

        version_key: int = 0, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> bool: - """Sets the given weights and values on chain for wallet hotkey account. + """Sets the given weights and values on a chain for a wallet hotkey account. Arguments: subtensor (bittensor.core.async_subtensor.AsyncSubtensor): The AsyncSubtensor object wallet (bittensor_wallet.Wallet): Bittensor wallet object. netuids (Union[NDArray[np.int64], list[int]]): The `netuid` of the subnet to set weights for. - weights (Union[NDArray[np.float32], list[float]]): Weights to set. These must be `float` s and must correspond + weights (Union[NDArray[np.float32], list[Float]]): Weights to set. These must be `Float`s and must correspond to the passed `netuid` s. version_key (int): The version key of the validator. wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning `True`, or returns `False` if the extrinsic fails to enter the block within the timeout. wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning ` True`, or returns `False` if the extrinsic fails to be finalized within the timeout. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the @@ -568,13 +600,10 @@

        Source code for bittensor.core.extrinsics.asyncex.root

        logging.error(unlock.message) return False - # First convert types. - if isinstance(netuids, list): - netuids = np.array(netuids, dtype=np.int64) - if isinstance(weights, list): - weights = np.array(weights, dtype=np.float32) + # Convert types. + netuids, weights = convert_uids_and_weights(netuids, weights) - logging.debug("Fetching weight limits") + logging.debug("[magenta]Fetching weight limits ...[/magenta]") min_allowed_weights, max_weight_limit = await _get_limits(subtensor) # Get non zero values. @@ -588,7 +617,7 @@

        Source code for bittensor.core.extrinsics.asyncex.root

        ) # Normalize the weights to max value. - logging.info("Normalizing weights") + logging.info("[magenta]Normalizing weights ...[/magenta]") formatted_weights = normalize_max_weight(x=weights, limit=max_weight_limit) logging.info( f"Raw weights -> Normalized weights: [blue]{weights}[/blue] -> [green]{formatted_weights}[/green]" @@ -606,11 +635,9 @@

        Source code for bittensor.core.extrinsics.asyncex.root

        version_key=version_key, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) - if not wait_for_finalization and not wait_for_inclusion: - return True - if success is True: logging.info(":white_heavy_check_mark: [green]Finalized[/green]") return True diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/serving.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/serving.html index 55db1c18a1..0e5aaa8c5e 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/serving.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/serving.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -336,18 +335,17 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

         import asyncio
        -from typing import Optional, TYPE_CHECKING
        +from typing import Optional, Union, TYPE_CHECKING
         
         from bittensor.core.errors import MetadataError
         from bittensor.core.settings import version_as_int
        +from bittensor.core.types import AxonServeCallParams
         from bittensor.utils import (
        -    format_error_message,
             networking as net,
             unlock_key,
             Certificate,
         )
         from bittensor.utils.btlogging import logging
        -from bittensor.core.types import AxonServeCallParams
         
         if TYPE_CHECKING:
             from bittensor.core.axon import Axon
        @@ -363,7 +361,8 @@ 

        Source code for bittensor.core.extrinsics.asyncex.serving

        call_params: "AxonServeCallParams", wait_for_inclusion: bool = False, wait_for_finalization: bool = True, -) -> tuple[bool, Optional[dict]]: + period: Optional[int] = None, +) -> tuple[bool, str]: """ Internal method to submit a serve axon transaction to the Bittensor blockchain. This method creates and submits a transaction, enabling a neuron's ``Axon`` to serve requests on the network. @@ -374,9 +373,12 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        call_params (bittensor.core.types.AxonServeCallParams): Parameters required for the serve axon call. wait_for_inclusion (bool): Waits for the transaction to be included in a block. wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - tuple[bool, Optional[str]]: A tuple containing a success flag and an optional error message. + tuple[bool, str]: A tuple containing a success flag and an optional error message. This function is crucial for initializing and announcing a neuron's ``Axon`` service on the network, enhancing the decentralized computation capabilities of Bittensor. @@ -392,21 +394,15 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        call_function=call_function, call_params=call_params.dict(), ) - extrinsic = await subtensor.substrate.create_signed_extrinsic( - call=call, keypair=wallet.hotkey - ) - response = await subtensor.substrate.submit_extrinsic( - extrinsic=extrinsic, + success, message = await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + sign_with="hotkey", + period=period, ) - if wait_for_inclusion or wait_for_finalization: - if await response.is_success: - return True, None - - return False, await response.error_message - - return True, None
        + return success, message
        @@ -424,6 +420,7 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        wait_for_inclusion: bool = False, wait_for_finalization=True, certificate: Optional[Certificate] = None, + period: Optional[int] = None, ) -> bool: """Subscribes a Bittensor endpoint to the subtensor chain. @@ -442,6 +439,9 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. certificate (bittensor.utils.Certificate): Certificate to use for TLS. If ``None``, no TLS will be used. Defaults to ``None``. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for @@ -474,32 +474,32 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        neuron_up_to_date = not neuron.is_null and params == neuron if neuron_up_to_date: logging.debug( - f"Axon already served on: AxonInfo({wallet.hotkey.ss58_address},{ip}:{port}) " + f"Axon already served on: [blue]AxonInfo({wallet.hotkey.ss58_address}, {ip}:{port})[/blue]" ) return True logging.debug( - f"Serving axon with: AxonInfo({wallet.hotkey.ss58_address},{ip}:{port}) -> {subtensor.network}:{netuid}" + f"Serving axon with: [blue]AxonInfo({wallet.hotkey.ss58_address}, {ip}:{port})[/blue] -> " + f"[green]{subtensor.network}:{netuid}[/green]" ) - success, error_message = await do_serve_axon( + success, message = await do_serve_axon( subtensor=subtensor, wallet=wallet, call_params=params, wait_for_finalization=wait_for_finalization, wait_for_inclusion=wait_for_inclusion, + period=period, ) - if wait_for_inclusion or wait_for_finalization: - if success is True: - logging.debug( - f"Axon served with: AxonInfo({wallet.hotkey.ss58_address},{ip}:{port}) on {subtensor.network}:{netuid} " - ) - return True - else: - logging.error(f"Failed: {format_error_message(error_message)}") - return False - else: - return True
        + if success: + logging.debug( + f"Axon served with: [blue]AxonInfo({wallet.hotkey.ss58_address}, {ip}:{port})[/blue] on " + f"[green]{subtensor.network}:{netuid}[/green]" + ) + return True + + logging.error(f"Failed: {message}") + return False
        @@ -512,6 +512,7 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        wait_for_inclusion: bool = False, wait_for_finalization: bool = True, certificate: Optional[Certificate] = None, + period: Optional[int] = None, ) -> bool: """Serves the axon to the network. @@ -525,6 +526,9 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. certificate (bittensor.utils.Certificate): Certificate to use for TLS. If ``None``, no TLS will be used. Defaults to ``None``. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for @@ -562,6 +566,7 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, certificate=certificate, + period=period, ) return serve_success
        @@ -574,9 +579,11 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        wallet: "Wallet", netuid: int, data_type: str, - data: bytes, + data: Union[bytes, dict], wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, + reset_bonds: bool = False, ) -> bool: """ Publishes metadata on the Bittensor network using the specified wallet and network identifier. @@ -588,18 +595,22 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        data_type (str): The data type of the information being submitted. It should be one of the following: ``'Sha256'``, ``'Blake256'``, ``'Keccak256'``, or ``'Raw0-128'``. This specifies the format or hashing algorithm used for the data. - data (str): The actual metadata content to be published. This should be formatted or hashed according to the - ``type`` specified. (Note: max ``str`` length is 128 bytes) + data (Union[bytes, dict]): The actual metadata content to be published. This should be formatted or hashed + according to the ``type`` specified. (Note: max ``str`` length is 128 bytes for ``'Raw0-128'``.) wait_for_inclusion (bool, optional): If ``True``, the function will wait for the extrinsic to be included in a block before returning. Defaults to ``False``. wait_for_finalization (bool, optional): If ``True``, the function will wait for the extrinsic to be finalized on the chain before returning. Defaults to ``True``. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + reset_bonds (bool): If `True`, the function will reset the bonds for the neuron. Defaults to `False`. Returns: bool: ``True`` if the metadata was successfully published (and finalized if specified). ``False`` otherwise. Raises: - MetadataError: If there is an error in submitting the extrinsic or if the response from the blockchain indicates + MetadataError: If there is an error in submitting the extrinsic, or if the response from the blockchain indicates failure. """ @@ -607,31 +618,32 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        logging.error(unlock.message) return False + fields = [{f"{data_type}": data}] + if reset_bonds: + fields.append({"ResetBondsFlag": b""}) + async with subtensor.substrate as substrate: call = await substrate.compose_call( call_module="Commitments", call_function="set_commitment", call_params={ "netuid": netuid, - "info": {"fields": [[{f"{data_type}": data}]]}, + "info": {"fields": [fields]}, }, ) - extrinsic = await substrate.create_signed_extrinsic( - call=call, keypair=wallet.hotkey - ) - response = await substrate.submit_extrinsic( - extrinsic=extrinsic, + success, message = await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + sign_with="hotkey", wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) - # We only wait here if we expect finalization. - if not wait_for_finalization and not wait_for_inclusion: - return True - if await response.is_success: + if success: return True - raise MetadataError(format_error_message(await response.error_message))
        + raise MetadataError(message)
        @@ -644,7 +656,7 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        block: Optional[int] = None, block_hash: Optional[str] = None, reuse_block: bool = False, -) -> str: +) -> Union[str, dict]: """Fetches metadata from the blockchain for a given hotkey and netuid.""" async with subtensor.substrate: block_hash = await subtensor.determine_block_hash( @@ -659,6 +671,28 @@

        Source code for bittensor.core.extrinsics.asyncex.serving

        ) return commit_data
        + + +
        +[docs] +async def get_last_bonds_reset( + subtensor: "AsyncSubtensor", + netuid: int, + hotkey: str, + block: Optional[int] = None, + block_hash: Optional[str] = None, + reuse_block: bool = False, +) -> bytes: + """Fetches the last bonds reset triggered at commitment from the blockchain for a given hotkey and netuid.""" + block_hash = await subtensor.determine_block_hash(block, block_hash, reuse_block) + block = await subtensor.substrate.query( + module="Commitments", + storage_function="LastBondsReset", + params=[netuid, hotkey], + block_hash=block_hash, + ) + return block
        +
        diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/staking.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/staking.html index 53442a171c..3cd336603d 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/staking.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/staking.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -338,11 +337,12 @@

        Source code for bittensor.core.extrinsics.asyncex.staking

        import asyncio from typing import Optional, Sequence, TYPE_CHECKING -from bittensor.core.errors import StakeError, NotRegisteredError -from bittensor.utils import unlock_key +from async_substrate_interface.errors import SubstrateRequestException + +from bittensor.core.extrinsics.utils import get_old_stakes +from bittensor.utils import unlock_key, format_error_message from bittensor.utils.balance import Balance from bittensor.utils.btlogging import logging -from bittensor.core.extrinsics.utils import get_old_stakes if TYPE_CHECKING: from bittensor_wallet import Wallet @@ -360,25 +360,40 @@

        Source code for bittensor.core.extrinsics.asyncex.staking

        amount: Optional[Balance] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + safe_staking: bool = False, + allow_partial_stake: bool = False, + rate_tolerance: float = 0.005, + period: Optional[int] = None, ) -> bool: """ - Adds the specified amount of stake to passed hotkey `uid`. + Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified subnet. + Staking is a fundamental process in the Bittensor network that enables neurons to participate actively and earn incentives. Arguments: - subtensor: the initialized SubtensorInterface object to use + subtensor: Subtensor instance with the connection to the chain. wallet: Bittensor wallet object. old_balance: the balance prior to the staking - hotkey_ss58: The `ss58` address of the hotkey account to stake to defaults to the wallet's hotkey. - netuid: The netuid of the stake to be added - amount: Amount to stake as Bittensor balance, `None` if staking all. + hotkey_ss58: The `ss58` address of the hotkey account to stake to default to the wallet's hotkey. If not + specified, the wallet's hotkey will be used. Defaults to ``None``. + netuid: The unique identifier of the subnet to which the neuron belongs. + amount: Amount to stake as Bittensor balance in TAO always, `None` if staking all. Defaults is ``None``. wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns - `False` if the extrinsic fails to enter the block within the timeout. + `False` if the extrinsic fails to enter the block within the timeout. Defaults to ``True``. wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning `True`, - or returns `False` if the extrinsic fails to be finalized within the timeout. + or returns `False` if the extrinsic fails to be finalized within the timeout. Defaults to ``False``. + safe_staking: If True, enables price safety checks. Default is ``False``. + allow_partial_stake: If True, allows partial unstaking if price tolerance exceeded. Default is ``False``. + rate_tolerance: Maximum allowed price increase percentage (0.005 = 0.5%). Default is ``0.005``. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Defaults to ``None``. Returns: success: Flag is `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the response is `True`. + + Raises: + SubstrateRequestException: Raised if the extrinsic fails to be included in the block within the timeout. """ # Decrypt keys, @@ -418,7 +433,6 @@

        Source code for bittensor.core.extrinsics.asyncex.staking

        ) else: staking_balance = amount - staking_balance.set_unit(netuid) # Leave existential balance to keep key alive. if staking_balance > old_balance - existential_deposit: @@ -436,28 +450,61 @@

        Source code for bittensor.core.extrinsics.asyncex.staking

        return False try: - logging.info( - f":satellite: [magenta]Staking to:[/magenta] " - f"[blue]netuid: {netuid}, amount: {staking_balance} " - f"on {subtensor.network}[/blue] [magenta]...[/magenta]" - ) + call_params = { + "hotkey": hotkey_ss58, + "netuid": netuid, + "amount_staked": staking_balance.rao, + } + + if safe_staking: + pool = await subtensor.subnet(netuid=netuid) + base_price = pool.price.tao + + if pool.netuid == 0: + price_with_tolerance = base_price + else: + price_with_tolerance = base_price * (1 + rate_tolerance) + + logging.info( + f":satellite: [magenta]Safe Staking to:[/magenta] " + f"[blue]netuid: [green]{netuid}[/green], amount: [green]{staking_balance}[/green], " + f"tolerance percentage: [green]{rate_tolerance * 100}%[/green], " + f"price limit: [green]{price_with_tolerance}[/green], " + f"original price: [green]{base_price}[/green], " + f"with partial stake: [green]{allow_partial_stake}[/green] " + f"on [blue]{subtensor.network}[/blue][/magenta]...[/magenta]" + ) + + limit_price = Balance.from_tao(price_with_tolerance).rao + call_params.update( + { + "limit_price": limit_price, + "allow_partial": allow_partial_stake, + } + ) + call_function = "add_stake_limit" + else: + logging.info( + f":satellite: [magenta]Staking to:[/magenta] " + f"[blue]netuid: [green]{netuid}[/green], amount: [green]{staking_balance}[/green] " + f"on [blue]{subtensor.network}[/blue][magenta]...[/magenta]" + ) + call_function = "add_stake" + call = await subtensor.substrate.compose_call( call_module="SubtensorModule", - call_function="add_stake", - call_params={ - "hotkey": hotkey_ss58, - "amount_staked": staking_balance.rao, - "netuid": netuid, - }, + call_function=call_function, + call_params=call_params, ) staking_response, err_msg = await subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, nonce_key="coldkeypub", sign_with="coldkey", use_nonce=True, + period=period, ) if staking_response is True: # If we successfully staked. # We only wait here if we expect finalization. @@ -467,8 +514,8 @@

        Source code for bittensor.core.extrinsics.asyncex.staking

        logging.success(":white_heavy_check_mark: [green]Finalized[/green]") logging.info( - f":satellite: [magenta]Checking Balance on:[/magenta] [blue]{subtensor.network}[/blue] " - "[magenta]...[/magenta]" + f":satellite: [magenta]Checking Balance on:[/magenta] " + f"[blue]{subtensor.network}[/blue] [magenta]...[/magenta]" ) new_block_hash = await subtensor.substrate.get_chain_head() new_balance, new_stake = await asyncio.gather( @@ -491,18 +538,18 @@

        Source code for bittensor.core.extrinsics.asyncex.staking

        ) return True else: - logging.error(f":cross_mark: [red]Failed: {err_msg}.[/red]") + if safe_staking and "Custom error: 8" in err_msg: + logging.error( + ":cross_mark: [red]Failed[/red]: Price exceeded tolerance limit. Either increase price tolerance or enable partial staking." + ) + else: + logging.error(f":cross_mark: [red]Failed: {err_msg}.[/red]") return False - except NotRegisteredError: + except SubstrateRequestException as error: logging.error( - ":cross_mark: [red]Hotkey: {} is not registered.[/red]".format( - wallet.hotkey_str - ) + f":cross_mark: [red]Add Stake Error: {format_error_message(error)}[/red]" ) - return False - except StakeError as e: - logging.error(f":cross_mark: [red]Stake Error: {e}[/red]") return False
        @@ -518,8 +565,9 @@

        Source code for bittensor.core.extrinsics.asyncex.staking

        amounts: Optional[list[Balance]] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> bool: - """Adds stake to each ``hotkey_ss58`` in the list, using each amount, from a common coldkey. + """Adds a stake to each ``hotkey_ss58`` in the list, using each amount, from a common coldkey. Arguments: subtensor: The initialized SubtensorInterface object. @@ -532,6 +580,9 @@

        Source code for bittensor.core.extrinsics.asyncex.staking

        if the extrinsic fails to enter the block within the timeout. wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success: `True` if extrinsic was finalized or included in the block. `True` if any wallet was staked. If we did @@ -643,33 +694,20 @@

        Source code for bittensor.core.extrinsics.asyncex.staking

        "netuid": netuid, }, ) - staking_response, err_msg = await subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + success, message = await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, nonce_key="coldkeypub", sign_with="coldkey", use_nonce=True, + period=period, ) - if staking_response is True: # If we successfully staked. + if success is True: # If we successfully staked. # We only wait here if we expect finalization. - if idx < len(hotkey_ss58s) - 1: - # Wait for tx rate limit. - tx_query = await subtensor.substrate.query( - module="SubtensorModule", storage_function="TxRateLimit" - ) - tx_rate_limit_blocks: int = getattr(tx_query, "value", 0) - if tx_rate_limit_blocks > 0: - logging.error( - f":hourglass: [yellow]Waiting for tx rate limit: [white]{tx_rate_limit_blocks}[/white] " - f"blocks[/yellow]" - ) - # 12 seconds per block - await asyncio.sleep(tx_rate_limit_blocks * 12) - if not wait_for_finalization and not wait_for_inclusion: old_balance -= staking_balance successful_stakes += 1 @@ -707,17 +745,14 @@

        Source code for bittensor.core.extrinsics.asyncex.staking

        break else: - logging.error(f":cross_mark: [red]Failed: {err_msg}.[/red]") + logging.error(f":cross_mark: [red]Failed: {message}.[/red]") continue - except NotRegisteredError: + except SubstrateRequestException as error: logging.error( - f":cross_mark: [red]Hotkey: {hotkey_ss58} is not registered.[/red]" + f":cross_mark: [red]Add Stake Multiple error: {format_error_message(error)}[/red]" ) continue - except StakeError as e: - logging.error(f":cross_mark: [red]Stake Error: {e}[/red]") - continue if successful_stakes != 0: logging.info( diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/start_call.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/start_call.html new file mode 100644 index 0000000000..aaf04deb95 --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/start_call.html @@ -0,0 +1,471 @@ + + + + + + + + + + bittensor.core.extrinsics.asyncex.start_call — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.extrinsics.asyncex.start_call

        +from typing import TYPE_CHECKING, Optional
        +
        +from bittensor.utils import unlock_key
        +from bittensor.utils.btlogging import logging
        +
        +if TYPE_CHECKING:
        +    from bittensor_wallet import Wallet
        +    from bittensor.core.async_subtensor import AsyncSubtensor
        +
        +
        +
        +[docs] +async def start_call_extrinsic( + subtensor: "AsyncSubtensor", + wallet: "Wallet", + netuid: int, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """ + Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start a + new subnet's emission mechanism). + + Args: + subtensor (Subtensor): The Subtensor client instance used for blockchain interaction. + wallet (Wallet): The wallet used to sign the extrinsic (must be unlocked). + netuid (int): The UID of the target subnet for which the call is being initiated. + wait_for_inclusion (bool, optional): Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization (bool, optional): Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + """ + if not (unlock := unlock_key(wallet)).success: + logging.error(unlock.message) + return False, unlock.message + + async with subtensor.substrate as substrate: + start_call = await substrate.compose_call( + call_module="SubtensorModule", + call_function="start_call", + call_params={"netuid": netuid}, + ) + + success, message = await subtensor.sign_and_send_extrinsic( + call=start_call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + ) + + if not wait_for_finalization and not wait_for_inclusion: + return True, message + + if success: + return True, "Success with `start_call` response." + + return True, message
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/take.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/take.html new file mode 100644 index 0000000000..ef9eb824fa --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/take.html @@ -0,0 +1,522 @@ + + + + + + + + + + bittensor.core.extrinsics.asyncex.take — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.extrinsics.asyncex.take

        +from typing import TYPE_CHECKING, Optional
        +
        +from bittensor_wallet.bittensor_wallet import Wallet
        +
        +from bittensor.utils import unlock_key
        +
        +if TYPE_CHECKING:
        +    from bittensor.core.async_subtensor import AsyncSubtensor
        +
        +
        +
        +[docs] +async def increase_take_extrinsic( + subtensor: "AsyncSubtensor", + wallet: Wallet, + hotkey_ss58: str, + take: int, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = True, + raise_error: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """Sets the delegate 'take' percentage for a neuron identified by its hotkey. + + Args: + subtensor (Subtensor): Blockchain connection. + wallet (Wallet): The wallet to sign the extrinsic. + hotkey_ss58 (str): SS58 address of the hotkey to set take for. + take (int): The percentage of rewards that the delegate claims from nominators. + wait_for_inclusion (bool, optional): Wait for inclusion before returning. Defaults to True. + wait_for_finalization (bool, optional): Wait for finalization before returning. Defaults to True. + raise_error (bool, optional): Raise error on failure. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + tuple[bool, str]: Success flag and status message. + """ + + unlock = unlock_key(wallet, raise_error=raise_error) + + if not unlock.success: + return False, unlock.message + + call = await subtensor.substrate.compose_call( + call_module="SubtensorModule", + call_function="increase_take", + call_params={ + "hotkey": hotkey_ss58, + "take": take, + }, + ) + + return await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + raise_error=raise_error, + )
        + + + +
        +[docs] +async def decrease_take_extrinsic( + subtensor: "AsyncSubtensor", + wallet: Wallet, + hotkey_ss58: str, + take: int, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = True, + raise_error: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """Sets the delegate 'take' percentage for a neuron identified by its hotkey. + + Args: + subtensor (Subtensor): Blockchain connection. + wallet (Wallet): The wallet to sign the extrinsic. + hotkey_ss58 (str): SS58 address of the hotkey to set take for. + take (int): The percentage of rewards that the delegate claims from nominators. + wait_for_inclusion (bool, optional): Wait for inclusion before returning. Defaults to True. + wait_for_finalization (bool, optional): Wait for finalization before returning. Defaults to True. + raise_error (bool, optional): Raise error on failure. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + tuple[bool, str]: Success flag and status message. + """ + unlock = unlock_key(wallet, raise_error=raise_error) + + if not unlock.success: + return False, unlock.message + + call = await subtensor.substrate.compose_call( + call_module="SubtensorModule", + call_function="decrease_take", + call_params={ + "hotkey": hotkey_ss58, + "take": take, + }, + ) + + return await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + raise_error=raise_error, + )
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/transfer.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/transfer.html index 6ae430fe2f..4ff0c98cd9 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/transfer.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/transfer.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -336,11 +335,10 @@

        Source code for bittensor.core.extrinsics.asyncex.transfer

         import asyncio
        -from typing import TYPE_CHECKING
        +from typing import TYPE_CHECKING, Optional
         
         from bittensor.core.settings import NETWORK_EXPLORER_MAP
         from bittensor.utils import (
        -    format_error_message,
             get_explorer_url_for_network,
             is_valid_bittensor_address_or_public_key,
             unlock_key,
        @@ -360,6 +358,7 @@ 

        Source code for bittensor.core.extrinsics.asyncex.transfer

        amount: "Balance", wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> tuple[bool, str, str]: """ Makes transfer from wallet to destination public key address. @@ -371,35 +370,39 @@

        Source code for bittensor.core.extrinsics.asyncex.transfer

        amount (bittensor.utils.balance.Balance): Amount to stake as Bittensor balance. wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning `True`, or returns `False` if the extrinsic fails to enter the block within the timeout. - wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning + wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. + If the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success, block hash, formatted error message """ call = await subtensor.substrate.compose_call( call_module="Balances", - call_function="transfer_allow_death", + call_function="transfer_keep_alive", call_params={"dest": destination, "value": amount.rao}, ) - extrinsic = await subtensor.substrate.create_signed_extrinsic( - call=call, keypair=wallet.coldkey - ) - response = await subtensor.substrate.submit_extrinsic( - extrinsic=extrinsic, + + success, message = await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) + # We only wait here if we expect finalization. if not wait_for_finalization and not wait_for_inclusion: - return True, "", "Success, extrinsic submitted without waiting." + return True, "", message # Otherwise continue with finalization. - if await response.is_success: - block_hash_ = response.block_hash + if success: + block_hash_ = await subtensor.get_block_hash() return True, block_hash_, "Success with response." - return False, "", format_error_message(await response.error_message) + return False, "", message
        @@ -413,6 +416,7 @@

        Source code for bittensor.core.extrinsics.asyncex.transfer

        wait_for_inclusion: bool = True, wait_for_finalization: bool = False, keep_alive: bool = True, + period: Optional[int] = None, ) -> bool: """Transfers funds from this wallet to the destination public key address. @@ -424,9 +428,12 @@

        Source code for bittensor.core.extrinsics.asyncex.transfer

        transfer_all (bool): Whether to transfer all funds from this wallet to the destination address. wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning `True`, or returns `False` if the extrinsic fails to enter the block within the timeout. - wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning + wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. keep_alive (bool): If set, keeps the account alive by keeping the balance above the existential deposit. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. + If the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): Flag is `True` if extrinsic was finalized or included in the block. If we did not wait for @@ -439,6 +446,7 @@

        Source code for bittensor.core.extrinsics.asyncex.transfer

        f":cross_mark: [red]Invalid destination SS58 address[/red]: {destination}" ) return False + logging.info(f"Initiating transfer on network: {subtensor.network}") # Unlock wallet coldkey. if not (unlock := unlock_key(wallet)).success: @@ -487,6 +495,7 @@

        Source code for bittensor.core.extrinsics.asyncex.transfer

        amount=amount, wait_for_finalization=wait_for_finalization, wait_for_inclusion=wait_for_inclusion, + period=period, ) if success: @@ -512,9 +521,9 @@

        Source code for bittensor.core.extrinsics.asyncex.transfer

        f"Balance: [blue]{account_balance}[/blue] :arrow_right: [green]{new_balance}[/green]" ) return True - else: - logging.error(f":cross_mark: [red]Failed[/red]: {err_msg}") - return False
        + + logging.error(f":cross_mark: [red]Failed[/red]: {err_msg}") + return False
        diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/unstaking.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/unstaking.html index 8418604491..c93a7a7054 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/unstaking.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/unstaking.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -338,11 +337,12 @@

        Source code for bittensor.core.extrinsics.asyncex.unstaking

        import asyncio from typing import Optional, TYPE_CHECKING -from bittensor.core.errors import StakeError, NotRegisteredError -from bittensor.utils import unlock_key +from async_substrate_interface.errors import SubstrateRequestException + +from bittensor.core.extrinsics.utils import get_old_stakes +from bittensor.utils import unlock_key, format_error_message from bittensor.utils.balance import Balance from bittensor.utils.btlogging import logging -from bittensor.core.extrinsics.utils import get_old_stakes if TYPE_CHECKING: from bittensor_wallet import Wallet @@ -359,25 +359,41 @@

        Source code for bittensor.core.extrinsics.asyncex.unstaking

        amount: Optional[Balance] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + safe_staking: bool = False, + allow_partial_stake: bool = False, + rate_tolerance: float = 0.005, + period: Optional[int] = None, + unstake_all: bool = False, ) -> bool: """Removes stake into the wallet coldkey from the specified hotkey ``uid``. Args: - subtensor (bittensor.core.async_subtensor.AsyncSubtensor): AsyncSubtensor instance. - wallet (bittensor_wallet.Wallet): Bittensor wallet object. - hotkey_ss58 (Optional[str]): The ``ss58`` address of the hotkey to unstake from. By default, the wallet hotkey - is used. - netuid (Optional[int]): The subnet uid to unstake from. - amount (Union[Balance, float]): Amount to stake as Bittensor balance, or ``float`` interpreted as Tao. - wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. + subtensor: AsyncSubtensor instance. + wallet: Bittensor wallet object. + hotkey_ss58: The ``ss58`` address of the hotkey to unstake from. By default, the wallet hotkey is used. + netuid: The subnet uid to unstake from. + amount: Amount to stake as Bittensor balance, or ``float`` interpreted as Tao. + wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or returns + ``False`` if the extrinsic fails to enter the block within the timeout. + wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning ``True``, + or returns ``False`` if the extrinsic fails to be finalized within the timeout. + safe_staking: If true, enables price safety checks + allow_partial_stake: If true, allows partial unstaking if price tolerance exceeded + rate_tolerance: Maximum allowed price decrease percentage (0.005 = 0.5%) + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You can + think of it as an expiration date for the transaction. + unstake_all: If true, unstakes all tokens. Default is ``False``. Returns: - success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is ``True``. + tuple[bool, str]: + A tuple containing: + - `True` and a success message if the unstake operation succeeded; + - `False` and an error message otherwise. """ + if amount and unstake_all: + raise ValueError("Cannot specify both `amount` and `unstake_all`.") + # Decrypt keys, if not (unlock := unlock_key(wallet)).success: logging.error(unlock.message) @@ -422,31 +438,63 @@

        Source code for bittensor.core.extrinsics.asyncex.unstaking

        return False try: - logging.info( - f"Unstaking [blue]{unstaking_balance}[/blue] from hotkey: [magenta]{hotkey_ss58}[/magenta] on netuid: " - f"[blue]{netuid}[/blue]" - ) + call_params = { + "hotkey": hotkey_ss58, + "netuid": netuid, + "amount_unstaked": unstaking_balance.rao, + } + if safe_staking: + pool = await subtensor.subnet(netuid=netuid) + base_price = pool.price.tao + + if pool.netuid == 0: + price_with_tolerance = base_price + else: + price_with_tolerance = base_price * (1 - rate_tolerance) + + logging.info( + f":satellite: [magenta]Safe Unstaking from:[/magenta] " + f"netuid: [green]{netuid}[/green], amount: [green]{unstaking_balance}[/green], " + f"tolerance percentage: [green]{rate_tolerance * 100}%[/green], " + f"price limit: [green]{price_with_tolerance}[/green], " + f"original price: [green]{base_price}[/green], " + f"with partial unstake: [green]{allow_partial_stake}[/green] " + f"on [blue]{subtensor.network}[/blue][magenta]...[/magenta]" + ) + + limit_price = Balance.from_tao(price_with_tolerance).rao + call_params.update( + { + "limit_price": limit_price, + "allow_partial": allow_partial_stake, + } + ) + call_function = "remove_stake_limit" + else: + logging.info( + f":satellite: [magenta]Unstaking from:[/magenta] " + f"netuid: [green]{netuid}[/green], amount: [green]{unstaking_balance}[/green] " + f"on [blue]{subtensor.network}[/blue][magenta]...[/magenta]" + ) + call_function = "remove_stake" call = await subtensor.substrate.compose_call( call_module="SubtensorModule", - call_function="remove_stake", - call_params={ - "hotkey": hotkey_ss58, - "amount_unstaked": unstaking_balance.rao, - "netuid": netuid, - }, + call_function=call_function, + call_params=call_params, ) - staking_response, err_msg = await subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + success, message = await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, nonce_key="coldkeypub", sign_with="coldkey", use_nonce=True, + period=period, ) - if staking_response is True: # If we successfully unstaked. + if success is True: # If we successfully unstaked. # We only wait here if we expect finalization. if not wait_for_finalization and not wait_for_inclusion: return True @@ -477,20 +525,90 @@

        Source code for bittensor.core.extrinsics.asyncex.unstaking

        ) return True else: - logging.error(f":cross_mark: [red]Failed: {err_msg}.[/red]") + if safe_staking and "Custom error: 8" in message: + logging.error( + ":cross_mark: [red]Failed[/red]: Price exceeded tolerance limit. Either increase price tolerance or enable partial staking." + ) + else: + logging.error(f":cross_mark: [red]Failed: {message}.[/red]") return False - except NotRegisteredError: + except SubstrateRequestException as error: logging.error( - f":cross_mark: [red]Hotkey: {wallet.hotkey_str} is not registered.[/red]" + f":cross_mark: [red]Unstake filed with error: {format_error_message(error)}[/red]" ) - return False - except StakeError as e: - logging.error(f":cross_mark: [red]Stake Error: {e}[/red]") return False
        +
        +[docs] +async def unstake_all_extrinsic( + subtensor: "AsyncSubtensor", + wallet: "Wallet", + hotkey: str, + netuid: int, + rate_tolerance: Optional[float] = 0.005, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network. + + Arguments: + subtensor: Subtensor instance. + wallet: The wallet of the stake owner. + hotkey: The SS58 address of the hotkey to unstake from. + netuid: The unique identifier of the subnet. + rate_tolerance: The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum + price decrease. If not passed (None), then unstaking goes without price limit. Default is `0.005`. + wait_for_inclusion: Waits for the transaction to be included in a block. Default is `True`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is `False`. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You can + think of it as an expiration date for the transaction. Default is `None`. + + Returns: + tuple[bool, str]: + A tuple containing: + - `True` and a success message if the unstake operation succeeded; + - `False` and an error message otherwise. + """ + if not (unlock := unlock_key(wallet)).success: + logging.error(unlock.message) + return False, unlock.message + + call_params = { + "hotkey": hotkey, + "netuid": netuid, + "limit_price": None, + } + + if rate_tolerance: + current_price = (await subtensor.subnet(netuid=netuid)).price + limit_price = current_price * (1 - rate_tolerance) + call_params.update({"limit_price": limit_price}) + + async with subtensor.substrate as substrate: + call = await substrate.compose_call( + call_module="SubtensorModule", + call_function="remove_stake_full_limit", + call_params=call_params, + ) + + return await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + nonce_key="coldkeypub", + sign_with="coldkey", + use_nonce=True, + period=period, + )
        + + +
        [docs] async def unstake_multiple_extrinsic( @@ -501,24 +619,35 @@

        Source code for bittensor.core.extrinsics.asyncex.unstaking

        amounts: Optional[list[Balance]] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + period: Optional[int] = None, + unstake_all: bool = False, ) -> bool: """Removes stake from each ``hotkey_ss58`` in the list, using each amount, to a common coldkey. Args: - subtensor (bittensor.core.subtensor.Subtensor): Subtensor instance. - wallet (bittensor_wallet.Wallet): The wallet with the coldkey to unstake to. - hotkey_ss58s (List[str]): List of hotkeys to unstake from. - netuids (List[int]): List of netuids to unstake from. - amounts (List[Union[Balance, float]]): List of amounts to unstake. If ``None``, unstake all. - wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning ``True``, or + subtensor: Subtensor instance. + wallet: The wallet with the coldkey to unstake to. + hotkey_ss58s: List of hotkeys to unstake from. + netuids: List of netuids to unstake from. + amounts: List of amounts to unstake. If ``None``, unstake all. + wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or returns ``False`` if the extrinsic fails to enter the block within the timeout. - wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning + wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You can + think of it as an expiration date for the transaction. + unstake_all: If true, unstakes all tokens. Default is ``False``. Returns: - success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. Flag is ``True`` if any - wallet was unstaked. If we did not wait for finalization / inclusion, the response is ``True``. + tuple[bool, str]: + A tuple containing: + - `True` and a success message if the unstake operation succeeded; + - `False` and an error message otherwise. """ + if amounts and unstake_all: + raise ValueError("Cannot specify both `amounts` and `unstake_all`.") + if not isinstance(hotkey_ss58s, list) or not all( isinstance(hotkey_ss58, str) for hotkey_ss58 in hotkey_ss58s ): @@ -575,7 +704,7 @@

        Source code for bittensor.core.extrinsics.asyncex.unstaking

        for idx, (hotkey_ss58, amount, old_stake, netuid) in enumerate( zip(hotkey_ss58s, amounts, old_stakes, netuids) ): - # Covert to bittensor.Balance + # Convert to bittensor.Balance if amount is None: # Unstake it all. unstaking_balance = old_stake @@ -611,30 +740,19 @@

        Source code for bittensor.core.extrinsics.asyncex.unstaking

        ) staking_response, err_msg = await subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, nonce_key="coldkeypub", sign_with="coldkey", use_nonce=True, + period=period, ) if staking_response is True: # If we successfully unstaked. # We only wait here if we expect finalization. - if idx < len(hotkey_ss58s) - 1: - # Wait for tx rate limit. - tx_rate_limit_blocks = await subtensor.tx_rate_limit() - if tx_rate_limit_blocks > 0: - logging.info( - f":hourglass: [yellow]Waiting for tx rate limit: " - f"[white]{tx_rate_limit_blocks}[/white] blocks[/yellow]" - ) - await asyncio.sleep( - tx_rate_limit_blocks * 12 - ) # 12 seconds per block - if not wait_for_finalization and not wait_for_inclusion: successful_unstakes += 1 continue @@ -660,14 +778,11 @@

        Source code for bittensor.core.extrinsics.asyncex.unstaking

        logging.error(f":cross_mark: [red]Failed: {err_msg}.[/red]") continue - except NotRegisteredError: + except SubstrateRequestException as error: logging.error( - f":cross_mark: [red]Hotkey[/red] [blue]{hotkey_ss58}[/blue] [red]is not registered.[/red]" + f":cross_mark: [red]Multiple unstake filed with error: {format_error_message(error)}[/red]" ) - continue - except StakeError as e: - logging.error(f":cross_mark: [red]Stake Error: {e}[/red]") - continue + return False if successful_unstakes != 0: logging.info( diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/weights.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/weights.html index 70e4f1df97..2046086f41 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/weights.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/weights.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -342,10 +341,9 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        import numpy as np from numpy.typing import NDArray -import bittensor.utils.weight_utils as weight_utils from bittensor.core.settings import version_as_int -from bittensor.utils import format_error_message from bittensor.utils.btlogging import logging +from bittensor.utils.weight_utils import convert_and_normalize_weights_and_uids if TYPE_CHECKING: from bittensor_wallet import Wallet @@ -360,22 +358,27 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        commit_hash: str, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, -) -> tuple[bool, Optional[str]]: + period: Optional[int] = None, +) -> tuple[bool, str]: """ Internal method to send a transaction to the Bittensor blockchain, committing the hash of a neuron's weights. This method constructs and submits the transaction, handling retries and blockchain communication. Args: - subtensor (bittensor.core.async_subtensor.AsyncSubtensor): The subtensor instance used for blockchain - interaction. + subtensor (bittensor.core.async_subtensor.AsyncSubtensor): The subtensor instance used for blockchain interaction. wallet (bittensor_wallet.Wallet): The wallet associated with the neuron committing the weights. netuid (int): The unique identifier of the subnet. commit_hash (str): The hash of the neuron's weights to be committed. wait_for_inclusion (bool): Waits for the transaction to be included in a block. wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - tuple[bool, Optional[str]]: A tuple containing a success flag and an optional error message. + tuple[bool, str]: + `True` if the weight commitment is successful, `False` otherwise. + `msg` is a string value describing the success or potential error. This method ensures that the weight commitment is securely recorded on the Bittensor blockchain, providing a verifiable record of the neuron's weight distribution at a specific point in time. @@ -389,11 +392,12 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        }, ) return await subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, use_nonce=True, + period=period, nonce_key="hotkey", sign_with="hotkey", ) @@ -408,6 +412,7 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        commit_hash: str, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> tuple[bool, str]: """ Commits a hash of the neuron's weights to the Bittensor blockchain using the provided wallet. @@ -421,15 +426,18 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        commit_hash (str): The hash of the neuron's weights to be committed. wait_for_inclusion (bool): Waits for the transaction to be included in a block. wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - tuple[bool, str]: ``True`` if the weight commitment is successful, False otherwise. And `msg`, a string - value describing the success or potential error. + tuple[bool, str]: + `True` if the weight commitment is successful, `False` otherwise. + `msg` is a string value describing the success or potential error. This function provides a user-friendly interface for committing weights to the Bittensor blockchain, ensuring proper error handling and user interaction when required. """ - success, error_message = await _do_commit_weights( subtensor=subtensor, wallet=wallet, @@ -437,6 +445,7 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        commit_hash=commit_hash, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success: @@ -459,7 +468,8 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        version_key: int, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, -) -> tuple[bool, Optional[dict]]: + period: Optional[int] = None, +) -> tuple[bool, str]: """ Internal method to send a transaction to the Bittensor blockchain, revealing the weights for a specific subnet. This method constructs and submits the transaction, handling retries and blockchain communication. @@ -475,14 +485,18 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        version_key (int): Version key for compatibility with the network. wait_for_inclusion (bool): Waits for the transaction to be included in a block. wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - tuple[bool, Optional[str]]: A tuple containing a success flag and an optional error message. + tuple[bool, str]: + `True` if the weight commitment is successful, `False` otherwise. + `msg` is a string value describing the success or potential error. This method ensures that the weight revelation is securely recorded on the Bittensor blockchain, providing transparency and accountability for the neuron's weight distribution. """ - call = await subtensor.substrate.compose_call( call_module="SubtensorModule", call_function="reveal_weights", @@ -495,11 +509,12 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        }, ) return await subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, sign_with="hotkey", + period=period, nonce_key="hotkey", use_nonce=True, ) @@ -517,14 +532,14 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        version_key: int, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> tuple[bool, str]: """ Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet. This function is a wrapper around the `_do_reveal_weights` method. Args: - subtensor (bittensor.core.async_subtensor.AsyncSubtensor): The subtensor instance used for blockchain - interaction. + subtensor (bittensor.core.async_subtensor.AsyncSubtensor): The subtensor instance used for blockchain interaction. wallet (bittensor_wallet.Wallet): The wallet associated with the neuron revealing the weights. netuid (int): The unique identifier of the subnet. uids (list[int]): List of neuron UIDs for which weights are being revealed. @@ -533,15 +548,18 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        version_key (int): Version key for compatibility with the network. wait_for_inclusion (bool): Waits for the transaction to be included in a block. wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - tuple[bool, str]: ``True`` if the weight revelation is successful, False otherwise. And `msg`, a string value - describing the success or potential error. + tuple[bool, str]: + `True` if the weight commitment is successful, `False` otherwise. + `msg` is a string value describing the success or potential error. This function provides a user-friendly interface for revealing weights on the Bittensor blockchain, ensuring proper error handling and user interaction when required. """ - success, error_message = await _do_reveal_weights( subtensor=subtensor, wallet=wallet, @@ -552,6 +570,7 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        version_key=version_key, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success: @@ -559,7 +578,6 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        logging.info(success_message) return True, success_message - error_message = format_error_message(error_message) logging.error(f"Failed to reveal weights: {error_message}") return False, error_message
        @@ -574,12 +592,11 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        version_key: int = version_as_int, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, - period: int = 5, -) -> tuple[bool, Optional[str]]: # (success, error_message) + period: Optional[int] = None, +) -> tuple[bool, str]: # (success, error_message) """ - Internal method to send a transaction to the Bittensor blockchain, setting weights - for specified neurons. This method constructs and submits the transaction, handling - retries and blockchain communication. + Internal method to send a transaction to the Bittensor blockchain, setting weights for specified neurons. This + method constructs and submits the transaction, handling retries and blockchain communication. Args: subtensor (subtensor.core.async_subtensor.AsyncSubtensor): Async Subtensor instance. @@ -590,15 +607,18 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        version_key (int, optional): Version key for compatibility with the network. wait_for_inclusion (bool, optional): Waits for the transaction to be included in a block. wait_for_finalization (bool, optional): Waits for the transaction to be finalized on the blockchain. - period (int, optional): The period in seconds to wait for extrinsic inclusion or finalization. Defaults to 5. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - Tuple[bool, Optional[str]]: A tuple containing a success flag and an optional error message. + tuple[bool, str]: + `True` if the weight commitment is successful, `False` otherwise. + `msg` is a string value describing the success or potential error. This method is vital for the dynamic weighting mechanism in Bittensor, where neurons adjust their trust in other neurons based on observed performance and contributions. """ - call = await subtensor.substrate.compose_call( call_module="SubtensorModule", call_function="set_weights", @@ -609,17 +629,25 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        "version_key": version_key, }, ) - return await subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + success, message = await subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, period=period, use_nonce=True, nonce_key="hotkey", sign_with="hotkey", ) + # We only wait here if we expect finalization. + if not wait_for_finalization and not wait_for_inclusion: + return True, "Not waiting for finalization or inclusion." + + if success: + return success, "Successfully set weights." + return success, message +
        [docs] @@ -632,8 +660,9 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        version_key: int = 0, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, + period: Optional[int] = 8, ) -> tuple[bool, str]: - """Sets the given weights and values on chain for wallet hotkey account. + """Sets the given weights and values on chain for a given wallet hotkey account. Args: subtensor (bittensor.core.async_subtensor.AsyncSubtensor): Bittensor subtensor object. @@ -647,27 +676,24 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        returns ``False`` if the extrinsic fails to enter the block within the timeout. wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is ``True``. + tuple[bool, str]: + `True` if the weight commitment is successful, `False` otherwise. + `msg` is a string value describing the success or potential error. """ - # First convert types. - if isinstance(uids, list): - uids = np.array(uids, dtype=np.int64) - if isinstance(weights, list): - weights = np.array(weights, dtype=np.float32) - - # Reformat and normalize. - weight_uids, weight_vals = weight_utils.convert_weights_and_uids_for_emit( - uids, weights - ) + weight_uids, weight_vals = convert_and_normalize_weights_and_uids(uids, weights) logging.info( - ":satellite: [magenta]Setting weights on [/magenta][blue]{subtensor.network}[/blue] [magenta]...[/magenta]" + f":satellite: [magenta]Setting weights on [/magenta]" + f"[blue]{subtensor.network}[/blue] " + f"[magenta]...[/magenta]" ) try: - success, error_message = await _do_set_weights( + success, message = await _do_set_weights( subtensor=subtensor, wallet=wallet, netuid=netuid, @@ -676,18 +702,19 @@

        Source code for bittensor.core.extrinsics.asyncex.weights

        version_key=version_key, wait_for_finalization=wait_for_finalization, wait_for_inclusion=wait_for_inclusion, + period=period, ) if not wait_for_finalization and not wait_for_inclusion: - return True, "Not waiting for finalization or inclusion." + return True, message if success is True: message = "Successfully set weights and Finalized." logging.success(f":white_heavy_check_mark: [green]{message}[/green]") return True, message - logging.error(f"[red]Failed[/red] set weights. Error: {error_message}") - return False, error_message + logging.error(f"[red]Failed[/red] set weights. Error: {message}") + return False, message except Exception as error: logging.error(f":cross_mark: [red]Failed[/red] set weights. Error: {error}") diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/children.html b/static/python-api/html/_modules/bittensor/core/extrinsics/children.html new file mode 100644 index 0000000000..c4079f82fd --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/children.html @@ -0,0 +1,548 @@ + + + + + + + + + + bittensor.core.extrinsics.children — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.extrinsics.children

        +from typing import TYPE_CHECKING, Optional
        +from bittensor.utils import float_to_u64, unlock_key
        +
        +if TYPE_CHECKING:
        +    from bittensor_wallet import Wallet
        +    from bittensor.core.subtensor import Subtensor
        +
        +
        +
        +[docs] +def set_children_extrinsic( + subtensor: "Subtensor", + wallet: "Wallet", + hotkey: str, + netuid: int, + children: list[tuple[float, str]], + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + raise_error: bool = False, + period: Optional[int] = None, +): + """ + Allows a coldkey to set children-keys. + + Arguments: + subtensor: bittensor subtensor. + wallet: bittensor wallet instance. + hotkey: The ``SS58`` address of the neuron's hotkey. + netuid: The netuid value. + children: A list of children with their proportions. + wait_for_inclusion: Waits for the transaction to be included in a block. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. + raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You can + think of it as an expiration date for the transaction. + + Returns: + tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the operation, + and the second element is a message providing additional information. + + Raises: + DuplicateChild: There are duplicates in the list of children. + InvalidChild: Child is the hotkey. + NonAssociatedColdKey: The coldkey does not own the hotkey or the child is the same as the hotkey. + NotEnoughStakeToSetChildkeys: Parent key doesn't have minimum own stake. + ProportionOverflow: The sum of the proportions does exceed uint64. + RegistrationNotPermittedOnRootSubnet: Attempting to register a child on the root network. + SubNetworkDoesNotExist: Attempting to register to a non-existent network. + TooManyChildren: Too many children in request. + TxRateLimitExceeded: Hotkey hit the rate limit. + bittensor_wallet.errors.KeyFileError: Failed to decode keyfile data. + bittensor_wallet.errors.PasswordError: Decryption failed or wrong password for decryption provided. + """ + unlock = unlock_key(wallet, raise_error=raise_error) + + if not unlock.success: + return False, unlock.message + + call = subtensor.substrate.compose_call( + call_module="SubtensorModule", + call_function="set_children", + call_params={ + "children": [ + ( + float_to_u64(proportion), + child_hotkey, + ) + for proportion, child_hotkey in children + ], + "hotkey": hotkey, + "netuid": netuid, + }, + ) + + success, message = subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + raise_error=raise_error, + period=period, + ) + + if not wait_for_finalization and not wait_for_inclusion: + return True, message + + if success: + return True, "Success with `set_children_extrinsic` response." + + return True, message
        + + + +
        +[docs] +def root_set_pending_childkey_cooldown_extrinsic( + subtensor: "Subtensor", + wallet: "Wallet", + cooldown: int, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """ + Allows a coldkey to set children-keys. + """ + unlock = unlock_key(wallet) + + if not unlock.success: + return False, unlock.message + + call = subtensor.substrate.compose_call( + call_module="SubtensorModule", + call_function="set_pending_childkey_cooldown", + call_params={"cooldown": cooldown}, + ) + + sudo_call = subtensor.substrate.compose_call( + call_module="Sudo", + call_function="sudo", + call_params={"call": call}, + ) + + success, message = subtensor.sign_and_send_extrinsic( + call=sudo_call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + ) + + if not wait_for_finalization and not wait_for_inclusion: + return True, message + + if success: + return ( + True, + "Success with `root_set_pending_childkey_cooldown_extrinsic` response.", + ) + + return True, message
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/commit_reveal.html b/static/python-api/html/_modules/bittensor/core/extrinsics/commit_reveal.html index 012c757007..7ff5c33b4a 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/commit_reveal.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/commit_reveal.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -339,13 +338,13 @@

        Source code for bittensor.core.extrinsics.commit_reveal

        from typing import Union, TYPE_CHECKING, Optional -from bittensor_commit_reveal import get_encrypted_commit import numpy as np +from bittensor_drand import get_encrypted_commit from numpy.typing import NDArray from bittensor.core.settings import version_as_int from bittensor.utils.btlogging import logging -from bittensor.utils.weight_utils import convert_weights_and_uids_for_emit +from bittensor.utils.weight_utils import convert_and_normalize_weights_and_uids if TYPE_CHECKING: from bittensor_wallet import Wallet @@ -361,23 +360,27 @@

        Source code for bittensor.core.extrinsics.commit_reveal

        reveal_round: int, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, -) -> tuple[bool, Optional[str]]: + period: Optional[int] = None, +) -> tuple[bool, str]: """ - Executes the commit-reveal phase 3 for a given netuid and commit, and optionally waits for extrinsic inclusion or + Executes commit-reveal phase 3 for a given netuid and commit, and optionally waits for extrinsic inclusion or finalization. Arguments: subtensor: An instance of the Subtensor class. wallet: Wallet An instance of the Wallet class containing the user's keypair. netuid: int The network unique identifier. - commit bytes The commit data in bytes format. + commit: bytes The commit data in bytes format. reveal_round: int The round number for the reveal phase. wait_for_inclusion: bool, optional Flag indicating whether to wait for the extrinsic to be included in a block. wait_for_finalization: bool, optional Flag indicating whether to wait for the extrinsic to be finalized. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - A tuple where the first element is a boolean indicating success or failure, and the second element is an - optional string containing error message if any. + A tuple where the first element is a boolean indicating success or failure, and the second element is a string + containing an error message if any. """ logging.info( f"Committing weights hash [blue]{commit.hex()}[/blue] for subnet #[blue]{netuid}[/blue] with " @@ -394,7 +397,12 @@

        Source code for bittensor.core.extrinsics.commit_reveal

        }, ) return subtensor.sign_and_send_extrinsic( - call, wallet, wait_for_inclusion, wait_for_finalization, sign_with="hotkey" + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + sign_with="hotkey", + period=period, ) @@ -409,9 +417,11 @@

        Source code for bittensor.core.extrinsics.commit_reveal

        version_key: int = version_as_int, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, + block_time: Union[int, float] = 12.0, + period: Optional[int] = None, ) -> tuple[bool, str]: """ - Commits and reveals weights for given subtensor and wallet with provided uids and weights. + Commits and reveals weights for a given subtensor and wallet with provided uids and weights. Arguments: subtensor: The Subtensor instance. @@ -422,20 +432,17 @@

        Source code for bittensor.core.extrinsics.commit_reveal

        version_key: The version key to use for committing and revealing. Default is version_as_int. wait_for_inclusion: Whether to wait for the inclusion of the transaction. Default is False. wait_for_finalization: Whether to wait for the finalization of the transaction. Default is False. + block_time (float): The number of seconds for block duration. Default is 12.0 seconds. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. + If the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure, and the second element is a message associated with the result """ try: - # Convert uids and weights - if isinstance(uids, list): - uids = np.array(uids, dtype=np.int64) - if isinstance(weights, list): - weights = np.array(weights, dtype=np.float32) - - # Reformat and normalize. - uids, weights = convert_weights_and_uids_for_emit(uids, weights) + uids, weights = convert_and_normalize_weights_and_uids(uids, weights) current_block = subtensor.get_current_block() subnet_hyperparameters = subtensor.get_subnet_hyperparameters( @@ -453,6 +460,7 @@

        Source code for bittensor.core.extrinsics.commit_reveal

        current_block=current_block, netuid=netuid, subnet_reveal_period_epochs=subnet_reveal_period_epochs, + block_time=block_time, ) success, message = _do_commit_reveal_v3( @@ -463,6 +471,7 @@

        Source code for bittensor.core.extrinsics.commit_reveal

        reveal_round=reveal_round, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success is not True: diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/commit_weights.html b/static/python-api/html/_modules/bittensor/core/extrinsics/commit_weights.html index 99eddfd73a..35d25e0f6c 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/commit_weights.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/commit_weights.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -339,7 +338,6 @@

        Source code for bittensor.core.extrinsics.commit_weights

        from typing import TYPE_CHECKING, Optional -from bittensor.utils import format_error_message from bittensor.utils.btlogging import logging if TYPE_CHECKING: @@ -354,7 +352,8 @@

        Source code for bittensor.core.extrinsics.commit_weights

        commit_hash: str, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, -) -> tuple[bool, Optional[str]]: + period: Optional[int] = None, +) -> tuple[bool, str]: """ Internal method to send a transaction to the Bittensor blockchain, committing the hash of a neuron's weights. This method constructs and submits the transaction, handling retries and blockchain communication. @@ -366,9 +365,14 @@

        Source code for bittensor.core.extrinsics.commit_weights

        commit_hash (str): The hash of the neuron's weights to be committed. wait_for_inclusion (bool): Waits for the transaction to be included in a block. wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - tuple[bool, Optional[str]]: A tuple containing a success flag and an optional error message. + tuple[bool, str]: + `True` if the weight commitment is successful, `False` otherwise. + `msg` is a string value describing the success or potential error. This method ensures that the weight commitment is securely recorded on the Bittensor blockchain, providing a verifiable record of the neuron's weight distribution at a specific point in time. @@ -382,11 +386,12 @@

        Source code for bittensor.core.extrinsics.commit_weights

        }, ) return subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, use_nonce=True, + period=period, sign_with="hotkey", nonce_key="hotkey", ) @@ -401,6 +406,7 @@

        Source code for bittensor.core.extrinsics.commit_weights

        commit_hash: str, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> tuple[bool, str]: """ Commits a hash of the neuron's weights to the Bittensor blockchain using the provided wallet. @@ -413,10 +419,14 @@

        Source code for bittensor.core.extrinsics.commit_weights

        commit_hash (str): The hash of the neuron's weights to be committed. wait_for_inclusion (bool): Waits for the transaction to be included in a block. wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - tuple[bool, str]: ``True`` if the weight commitment is successful, False otherwise. And `msg`, a string - value describing the success or potential error. + tuple[bool, str]: + `True` if the weight commitment is successful, `False` otherwise. + `msg` is a string value describing the success or potential error. This function provides a user-friendly interface for committing weights to the Bittensor blockchain, ensuring proper error handling and user interaction when required. @@ -429,6 +439,7 @@

        Source code for bittensor.core.extrinsics.commit_weights

        commit_hash=commit_hash, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success: @@ -451,7 +462,8 @@

        Source code for bittensor.core.extrinsics.commit_weights

        version_key: int, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, -) -> tuple[bool, Optional[dict]]: + period: Optional[int] = None, +) -> tuple[bool, str]: """ Internal method to send a transaction to the Bittensor blockchain, revealing the weights for a specific subnet. This method constructs and submits the transaction, handling retries and blockchain communication. @@ -466,9 +478,14 @@

        Source code for bittensor.core.extrinsics.commit_weights

        version_key (int): Version key for compatibility with the network. wait_for_inclusion (bool): Waits for the transaction to be included in a block. wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - tuple[bool, Optional[str]]: A tuple containing a success flag and an optional error message. + tuple[bool, str]: + `True` if the weight commitment is successful, `False` otherwise. + `msg` is a string value describing the success or potential error. This method ensures that the weight revelation is securely recorded on the Bittensor blockchain, providing transparency and accountability for the neuron's weight distribution. @@ -486,11 +503,12 @@

        Source code for bittensor.core.extrinsics.commit_weights

        }, ) return subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, use_nonce=True, + period=period, sign_with="hotkey", nonce_key="hotkey", ) @@ -508,6 +526,7 @@

        Source code for bittensor.core.extrinsics.commit_weights

        version_key: int, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> tuple[bool, str]: """ Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet. @@ -523,10 +542,14 @@

        Source code for bittensor.core.extrinsics.commit_weights

        version_key (int): Version key for compatibility with the network. wait_for_inclusion (bool): Waits for the transaction to be included in a block. wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - tuple[bool, str]: ``True`` if the weight revelation is successful, False otherwise. And `msg`, a string value - describing the success or potential error. + tuple[bool, str]: + `True` if the weight commitment is successful, `False` otherwise. + `msg` is a string value describing the success or potential error. This function provides a user-friendly interface for revealing weights on the Bittensor blockchain, ensuring proper error handling and user interaction when required. @@ -542,6 +565,7 @@

        Source code for bittensor.core.extrinsics.commit_weights

        version_key=version_key, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success: @@ -549,7 +573,7 @@

        Source code for bittensor.core.extrinsics.commit_weights

        logging.info(success_message) return True, success_message - error_message = format_error_message(error_message) + error_message = error_message logging.error(f"Failed to reveal weights: {error_message}") return False, error_message
        diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/liquidity.html b/static/python-api/html/_modules/bittensor/core/extrinsics/liquidity.html new file mode 100644 index 0000000000..60c1cb0158 --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/liquidity.html @@ -0,0 +1,654 @@ + + + + + + + + + + bittensor.core.extrinsics.liquidity — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.extrinsics.liquidity

        +from typing import Optional, TYPE_CHECKING
        +
        +from bittensor.utils import unlock_key
        +from bittensor.utils.balance import Balance
        +from bittensor.utils.btlogging import logging
        +from bittensor.utils.liquidity import price_to_tick
        +
        +if TYPE_CHECKING:
        +    from bittensor_wallet import Wallet
        +    from bittensor.core.subtensor import Subtensor
        +
        +
        +
        +[docs] +def add_liquidity_extrinsic( + subtensor: "Subtensor", + wallet: "Wallet", + netuid: int, + liquidity: Balance, + price_low: Balance, + price_high: Balance, + hotkey: Optional[str] = None, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """ + Adds liquidity to the specified price range. + + Arguments: + subtensor: The Subtensor client instance used for blockchain interaction. + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + liquidity: The amount of liquidity to be added. + price_low: The lower bound of the price tick range. + price_high: The upper bound of the price tick range. + hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to `None`. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + + Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call + `toggle_user_liquidity_extrinsic` to enable/disable user liquidity. + """ + if not (unlock := unlock_key(wallet)).success: + logging.error(unlock.message) + return False, unlock.message + + tick_low = price_to_tick(price_low.tao) + tick_high = price_to_tick(price_high.tao) + + call = subtensor.substrate.compose_call( + call_module="Swap", + call_function="add_liquidity", + call_params={ + "hotkey": hotkey or wallet.hotkey.ss58_address, + "netuid": netuid, + "tick_low": tick_low, + "tick_high": tick_high, + "liquidity": liquidity.rao, + }, + ) + + return subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + use_nonce=True, + period=period, + )
        + + + +
        +[docs] +def modify_liquidity_extrinsic( + subtensor: "Subtensor", + wallet: "Wallet", + netuid: int, + position_id: int, + liquidity_delta: Balance, + hotkey: Optional[str] = None, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """Modifies liquidity in liquidity position by adding or removing liquidity from it. + + Arguments: + subtensor: The Subtensor client instance used for blockchain interaction. + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + position_id: The id of the position record in the pool. + liquidity_delta: The amount of liquidity to be added or removed (add if positive or remove if negative). + hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to `None`. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + + Note: Modifying is allowed even when user liquidity is enabled in specified subnet. Call + `toggle_user_liquidity_extrinsic` to enable/disable user liquidity. + """ + if not (unlock := unlock_key(wallet)).success: + logging.error(unlock.message) + return False, unlock.message + + call = subtensor.substrate.compose_call( + call_module="Swap", + call_function="modify_position", + call_params={ + "hotkey": hotkey or wallet.hotkey.ss58_address, + "netuid": netuid, + "position_id": position_id, + "liquidity_delta": liquidity_delta.rao, + }, + ) + + return subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + use_nonce=True, + period=period, + )
        + + + +
        +[docs] +def remove_liquidity_extrinsic( + subtensor: "Subtensor", + wallet: "Wallet", + netuid: int, + position_id: int, + hotkey: Optional[str] = None, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """Remove liquidity and credit balances back to wallet's hotkey stake. + + Arguments: + subtensor: The Subtensor client instance used for blockchain interaction. + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + position_id: The id of the position record in the pool. + hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to `None`. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + + Note: Adding is allowed even when user liquidity is enabled in specified subnet. + Call `toggle_user_liquidity_extrinsic` to enable/disable user liquidity. + """ + if not (unlock := unlock_key(wallet)).success: + logging.error(unlock.message) + return False, unlock.message + + call = subtensor.substrate.compose_call( + call_module="Swap", + call_function="remove_liquidity", + call_params={ + "hotkey": hotkey or wallet.hotkey.ss58_address, + "netuid": netuid, + "position_id": position_id, + }, + ) + + return subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + use_nonce=True, + period=period, + )
        + + + +
        +[docs] +def toggle_user_liquidity_extrinsic( + subtensor: "Subtensor", + wallet: "Wallet", + netuid: int, + enable: bool, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """Allow to toggle user liquidity for specified subnet. + + Arguments: + subtensor: The Subtensor client instance used for blockchain interaction. + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + enable: Boolean indicating whether to enable user liquidity. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + """ + if not (unlock := unlock_key(wallet)).success: + logging.error(unlock.message) + return False, unlock.message + + call = subtensor.substrate.compose_call( + call_module="Swap", + call_function="toggle_user_liquidity", + call_params={"netuid": netuid, "enable": enable}, + ) + + return subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + )
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/move_stake.html b/static/python-api/html/_modules/bittensor/core/extrinsics/move_stake.html index 7b8bfda495..a5b23d299b 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/move_stake.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/move_stake.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -354,6 +353,7 @@

        Source code for bittensor.core.extrinsics.move_stake

        origin_netuid: int, destination_netuid: int, ) -> tuple[Balance, Balance]: + """Gets the current stake balances for both origin and destination addresses in their respective subnets.""" block = subtensor.get_current_block() stake_in_origin = subtensor.get_stake( coldkey_ss58=origin_coldkey_ss58, @@ -382,6 +382,7 @@

        Source code for bittensor.core.extrinsics.move_stake

        amount: Optional[Balance] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> bool: """ Transfers stake from one subnet to another while changing the coldkey owner. @@ -396,6 +397,9 @@

        Source code for bittensor.core.extrinsics.move_stake

        amount (Union[Balance, float, int]): Amount to transfer. wait_for_inclusion (bool): If true, waits for inclusion before returning. wait_for_finalization (bool): If true, waits for finalization before returning. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): True if the transfer was successful. @@ -452,6 +456,7 @@

        Source code for bittensor.core.extrinsics.move_stake

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success: @@ -499,6 +504,10 @@

        Source code for bittensor.core.extrinsics.move_stake

        amount: Optional[Balance] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + safe_staking: bool = False, + allow_partial_stake: bool = False, + rate_tolerance: float = 0.005, + period: Optional[int] = None, ) -> bool: """ Moves stake between subnets while keeping the same coldkey-hotkey pair ownership. @@ -512,6 +521,12 @@

        Source code for bittensor.core.extrinsics.move_stake

        amount (Union[Balance, float]): Amount to swap. wait_for_inclusion (bool): If true, waits for inclusion before returning. wait_for_finalization (bool): If true, waits for finalization before returning. + safe_staking (bool): If true, enables price safety checks to protect against price impact. + allow_partial_stake (bool): If true, allows partial stake swaps when the full amount would exceed the price tolerance. + rate_tolerance (float): Maximum allowed increase in a price ratio (0.005 = 0.5%). + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): True if the swap was successful. @@ -529,7 +544,7 @@

        Source code for bittensor.core.extrinsics.move_stake

        # Check sufficient stake stake_in_origin, stake_in_destination = _get_stake_in_origin_and_dest( - subtensor, + subtensor=subtensor, origin_hotkey_ss58=hotkey_ss58, destination_hotkey_ss58=hotkey_ss58, origin_netuid=origin_netuid, @@ -545,20 +560,45 @@

        Source code for bittensor.core.extrinsics.move_stake

        return False try: - logging.info( - f"Swapping stake for hotkey [blue]{hotkey_ss58}[/blue]\n" - f"Amount: [green]{amount}[/green] from netuid [yellow]{origin_netuid}[/yellow] to netuid " - f"[yellow]{destination_netuid}[/yellow]" - ) + call_params = { + "hotkey": hotkey_ss58, + "origin_netuid": origin_netuid, + "destination_netuid": destination_netuid, + "alpha_amount": amount.rao, + } + + if safe_staking: + origin_pool = subtensor.subnet(netuid=origin_netuid) + destination_pool = subtensor.subnet(netuid=destination_netuid) + swap_rate_ratio = origin_pool.price.rao / destination_pool.price.rao + swap_rate_ratio_with_tolerance = swap_rate_ratio * (1 + rate_tolerance) + + logging.info( + f"Swapping stake with safety for hotkey [blue]{hotkey_ss58}[/blue]\n" + f"Amount: [green]{amount}[/green] from netuid [green]{origin_netuid}[/green] to netuid " + f"[green]{destination_netuid}[/green]\n" + f"Current price ratio: [green]{swap_rate_ratio:.4f}[/green], " + f"Ratio with tolerance: [green]{swap_rate_ratio_with_tolerance:.4f}[/green]" + ) + call_params.update( + { + "limit_price": swap_rate_ratio_with_tolerance, + "allow_partial": allow_partial_stake, + } + ) + call_function = "swap_stake_limit" + else: + logging.info( + f"Swapping stake for hotkey [blue]{hotkey_ss58}[/blue]\n" + f"Amount: [green]{amount}[/green] from netuid [green]{origin_netuid}[/green] to netuid " + f"[green]{destination_netuid}[/green]" + ) + call_function = "swap_stake" + call = subtensor.substrate.compose_call( call_module="SubtensorModule", - call_function="swap_stake", - call_params={ - "hotkey": hotkey_ss58, - "origin_netuid": origin_netuid, - "destination_netuid": destination_netuid, - "alpha_amount": amount.rao, - }, + call_function=call_function, + call_params=call_params, ) success, err_msg = subtensor.sign_and_send_extrinsic( @@ -566,6 +606,7 @@

        Source code for bittensor.core.extrinsics.move_stake

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success: @@ -576,7 +617,7 @@

        Source code for bittensor.core.extrinsics.move_stake

        # Get updated stakes origin_stake, dest_stake = _get_stake_in_origin_and_dest( - subtensor, + subtensor=subtensor, origin_hotkey_ss58=hotkey_ss58, destination_hotkey_ss58=hotkey_ss58, origin_netuid=origin_netuid, @@ -593,7 +634,12 @@

        Source code for bittensor.core.extrinsics.move_stake

        return True else: - logging.error(f":cross_mark: [red]Failed[/red]: {err_msg}") + if safe_staking and "Custom error: 8" in err_msg: + logging.error( + ":cross_mark: [red]Failed[/red]: Price ratio exceeded tolerance limit. Either increase price tolerance or enable partial staking." + ) + else: + logging.error(f":cross_mark: [red]Failed[/red]: {err_msg}") return False except Exception as e: @@ -614,6 +660,7 @@

        Source code for bittensor.core.extrinsics.move_stake

        amount: Optional[Balance] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> bool: """ Moves stake to a different hotkey and/or subnet while keeping the same coldkey owner. @@ -628,6 +675,9 @@

        Source code for bittensor.core.extrinsics.move_stake

        amount (Union[Balance, float]): Amount to move. wait_for_inclusion (bool): If true, waits for inclusion before returning. wait_for_finalization (bool): If true, waits for finalization before returning. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): True if the move was successful. @@ -637,7 +687,7 @@

        Source code for bittensor.core.extrinsics.move_stake

        # Check sufficient stake stake_in_origin, stake_in_destination = _get_stake_in_origin_and_dest( - subtensor, + subtensor=subtensor, origin_hotkey_ss58=origin_hotkey, destination_hotkey_ss58=destination_hotkey, origin_netuid=origin_netuid, @@ -673,6 +723,7 @@

        Source code for bittensor.core.extrinsics.move_stake

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if success: @@ -683,7 +734,7 @@

        Source code for bittensor.core.extrinsics.move_stake

        # Get updated stakes origin_stake, dest_stake = _get_stake_in_origin_and_dest( - subtensor, + subtensor=subtensor, origin_hotkey_ss58=origin_hotkey, destination_hotkey_ss58=destination_hotkey, origin_netuid=origin_netuid, diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/registration.html b/static/python-api/html/_modules/bittensor/core/extrinsics/registration.html index cc920cd4c6..237c7f7be0 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/registration.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/registration.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -362,6 +361,7 @@

        Source code for bittensor.core.extrinsics.registration

        wallet: "Wallet", wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> tuple[bool, str]: """ Performs a burned register extrinsic call to the Subtensor chain. @@ -374,6 +374,9 @@

        Source code for bittensor.core.extrinsics.registration

        wallet (bittensor_wallet.Wallet): The wallet to be registered. wait_for_inclusion (bool): Whether to wait for the transaction to be included in a block. Default is False. wait_for_finalization (bool): Whether to wait for the transaction to be finalized. Default is True. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: Tuple[bool, Optional[str]]: A tuple containing a boolean indicating success or failure, and an optional error @@ -394,6 +397,7 @@

        Source code for bittensor.core.extrinsics.registration

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) @@ -405,6 +409,7 @@

        Source code for bittensor.core.extrinsics.registration

        netuid: int, wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> bool: """Registers the wallet to chain by recycling TAO. @@ -416,6 +421,9 @@

        Source code for bittensor.core.extrinsics.registration

        returns ``False`` if the extrinsic fails to enter the block within the timeout. wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for @@ -459,6 +467,7 @@

        Source code for bittensor.core.extrinsics.registration

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if not success: @@ -494,6 +503,7 @@

        Source code for bittensor.core.extrinsics.registration

        pow_result: "POWSolution", wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> tuple[bool, Optional[str]]: """Sends a (POW) register extrinsic to the chain. @@ -504,6 +514,9 @@

        Source code for bittensor.core.extrinsics.registration

        pow_result (POWSolution): The PoW result to register. wait_for_inclusion (bool): If ``True``, waits for the extrinsic to be included in a block. Default to `False`. wait_for_finalization (bool): If ``True``, waits for the extrinsic to be finalized. Default to `True`. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): ``True`` if the extrinsic was included in a block. @@ -528,6 +541,7 @@

        Source code for bittensor.core.extrinsics.registration

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) @@ -538,6 +552,7 @@

        Source code for bittensor.core.extrinsics.registration

        wallet: "Wallet", wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> bool: """ Registers a new subnetwork on the Bittensor blockchain. @@ -547,6 +562,9 @@

        Source code for bittensor.core.extrinsics.registration

        wallet (Wallet): The wallet to be used for subnet registration. wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning true. wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning true. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: bool: True if the subnet registration was successful, False otherwise. @@ -574,16 +592,20 @@

        Source code for bittensor.core.extrinsics.registration

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) + if not wait_for_finalization and not wait_for_inclusion: + return True + if success: logging.success( ":white_heavy_check_mark: [green]Successfully registered subnet[/green]" ) return True - else: - logging.error(f"Failed to register subnet: {message}") - return False
        + + logging.error(f"Failed to register subnet: {message}") + return False
        @@ -603,6 +625,7 @@

        Source code for bittensor.core.extrinsics.registration

        num_processes: Optional[int] = None, update_interval: Optional[int] = None, log_verbose: bool = False, + period: Optional[int] = None, ) -> bool: """Registers the wallet to the chain. @@ -622,6 +645,9 @@

        Source code for bittensor.core.extrinsics.registration

        num_processes: The number of processes to use to register. update_interval: The number of nonces to solve between updates. log_verbose: If `True`, the registration process will log more information. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the @@ -711,7 +737,7 @@

        Source code for bittensor.core.extrinsics.registration

        # pow successful, proceed to submit pow to chain for registration else: logging.info(":satellite: [magenta]Submitting POW...[/magenta]") - # check if pow result is still valid + # check if a pow result is still valid while not pow_result.is_stale(subtensor=subtensor): result: tuple[bool, Optional[str]] = _do_pow_register( subtensor=subtensor, @@ -720,6 +746,7 @@

        Source code for bittensor.core.extrinsics.registration

        pow_result=pow_result, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) success, err_msg = result @@ -782,11 +809,13 @@

        Source code for bittensor.core.extrinsics.registration

        github_repo: str, subnet_contact: str, subnet_url: str, + logo_url: str, discord: str, description: str, additional: str, wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> tuple[bool, str]: """ Set the identity information for a given subnet. @@ -799,11 +828,15 @@

        Source code for bittensor.core.extrinsics.registration

        github_repo (str): URL of the GitHub repository related to the subnet. subnet_contact (str): Subnet's contact information, e.g., email or contact link. subnet_url (str): The URL of the subnet's primary web portal. + logo_url (str): The URL of the logo's primary web portal. discord (str): Discord server or contact for the subnet. description (str): A textual description of the subnet. additional (str): Any additional metadata or information related to the subnet. wait_for_inclusion (bool): Whether to wait for the extrinsic inclusion in a block (default: False). wait_for_finalization (bool): Whether to wait for the extrinsic finalization in a block (default: True). + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: tuple[bool, str]: A tuple where the first element indicates success or failure (True/False), and the second @@ -824,6 +857,7 @@

        Source code for bittensor.core.extrinsics.registration

        "github_repo": github_repo, "subnet_contact": subnet_contact, "subnet_url": subnet_url, + "logo_url": logo_url, "discord": discord, "description": description, "additional": additional, @@ -835,6 +869,7 @@

        Source code for bittensor.core.extrinsics.registration

        wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if not wait_for_finalization and not wait_for_inclusion: diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/root.html b/static/python-api/html/_modules/bittensor/core/extrinsics/root.html index 24ddab3000..e02439ccd9 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/root.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/root.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -336,7 +335,7 @@

        Source code for bittensor.core.extrinsics.root

         import time
        -from typing import Union, TYPE_CHECKING
        +from typing import Optional, Union, TYPE_CHECKING
         
         import numpy as np
         from numpy.typing import NDArray
        @@ -348,10 +347,12 @@ 

        Source code for bittensor.core.extrinsics.root

        unlock_key, torch, ) +from bittensor.utils.balance import Balance from bittensor.utils.btlogging import logging from bittensor.utils.weight_utils import ( normalize_max_weight, convert_weights_and_uids_for_emit, + convert_uids_and_weights, ) if TYPE_CHECKING: @@ -388,8 +389,9 @@

        Source code for bittensor.core.extrinsics.root

        wallet: "Wallet", wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, ) -> bool: - """Registers the wallet to root network. + """Registers the wallet to the root network. Arguments: subtensor (bittensor.core.subtensor.Subtensor): The Subtensor object @@ -398,12 +400,39 @@

        Source code for bittensor.core.extrinsics.root

        `False` if the extrinsic fails to enter the block within the timeout. wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the response is `True`. """ netuid = 0 + logging.info( + f"Registering on netuid [blue]{netuid}[/blue] on network: [blue]{subtensor.network}[/blue]" + ) + + logging.info("Fetching recycle amount & balance.") + block = subtensor.get_current_block() + recycle_call = subtensor.get_hyperparameter( + param_name="Burn", + netuid=netuid, + block=block, + ) + balance = subtensor.get_balance( + address=wallet.coldkeypub.ss58_address, + block=block, + ) + + current_recycle = Balance.from_rao(int(recycle_call)) + + if balance < current_recycle: + logging.error( + f"[red]Insufficient balance {balance} to register neuron. " + f"Current recycle is {current_recycle} TAO[/red]." + ) + return False if not (unlock := unlock_key(wallet)).success: logging.error(unlock.message) @@ -428,10 +457,11 @@

        Source code for bittensor.core.extrinsics.root

        call_params={"hotkey": wallet.hotkey.ss58_address}, ) success, err_msg = subtensor.sign_and_send_extrinsic( - call, + call=call, wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) if not success: @@ -467,7 +497,7 @@

        Source code for bittensor.core.extrinsics.root

        version_key: int = 0, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, - period: int = 5, + period: Optional[int] = 8, ) -> tuple[bool, str]: """ Sets the root weights on the Subnet for the given wallet hotkey account. @@ -487,7 +517,9 @@

        Source code for bittensor.core.extrinsics.root

        False. wait_for_finalization (bool, optional): If True, waits for the extrinsic to be finalized on the chain. Defaults to False. - period (int, optional): The period in seconds to wait for extrinsic inclusion or finalization. Defaults to 5. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: tuple: Returns a tuple containing a boolean indicating success and a message describing the result of the @@ -505,28 +537,23 @@

        Source code for bittensor.core.extrinsics.root

        }, ) - next_nonce = subtensor.substrate.get_account_next_index(wallet.hotkey.ss58_address) - - # Period dictates how long the extrinsic will stay as part of waiting pool - extrinsic = subtensor.substrate.create_signed_extrinsic( + success, message = subtensor.sign_and_send_extrinsic( call=call, - keypair=wallet.coldkey, - era={"period": period}, - nonce=next_nonce, - ) - response = subtensor.substrate.submit_extrinsic( - extrinsic=extrinsic, + wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + use_nonce=True, + period=period, ) + # We only wait here if we expect finalization. if not wait_for_finalization and not wait_for_inclusion: return True, "Not waiting for finalization or inclusion." - if response.is_success: + if success: return True, "Successfully set weights." - return False, format_error_message(response.error_message) + return False, message

        @@ -539,20 +566,24 @@

        Source code for bittensor.core.extrinsics.root

        version_key: int = 0, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> bool: - """Sets the given weights and values on chain for wallet hotkey account. + """Sets the given weights and values on chain for a given wallet hotkey account. Arguments: subtensor (bittensor.core.subtensor.Subtensor): The Subtensor object wallet (bittensor_wallet.Wallet): Bittensor wallet object. netuids (Union[NDArray[np.int64], list[int]]): The `netuid` of the subnet to set weights for. - weights (Union[NDArray[np.float32], list[float]]): Weights to set. These must be `float` s and must correspond + weights (Union[NDArray[np.float32], list[float]]): Weights to set. These must be floats and must correspond to the passed `netuid` s. version_key (int): The version key of the validator. wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning `True`, or returns `False` if the extrinsic fails to enter the block within the timeout. wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning True`, or returns `False` if the extrinsic fails to be finalized within the timeout. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the @@ -570,13 +601,10 @@

        Source code for bittensor.core.extrinsics.root

        logging.error(unlock.message) return False - # First convert types. - if isinstance(netuids, list): - netuids = np.array(netuids, dtype=np.int64) - if isinstance(weights, list): - weights = np.array(weights, dtype=np.float32) + # Convert types. + netuids, weights = convert_uids_and_weights(netuids, weights) - logging.debug("Fetching weight limits") + logging.debug("[magenta]Fetching weight limits ...[/magenta]") min_allowed_weights, max_weight_limit = _get_limits(subtensor) # Get non zero values. @@ -590,7 +618,7 @@

        Source code for bittensor.core.extrinsics.root

        ) # Normalize the weights to max value. - logging.info("Normalizing weights") + logging.info("[magenta]Normalizing weights ...[/magenta]") formatted_weights = normalize_max_weight(x=weights, limit=max_weight_limit) logging.info( f"Raw weights -> Normalized weights: [blue]{weights}[/blue] -> [green]{formatted_weights}[/green]" @@ -600,7 +628,7 @@

        Source code for bittensor.core.extrinsics.root

        logging.info(":satellite: [magenta]Setting root weights...[magenta]") weight_uids, weight_vals = convert_weights_and_uids_for_emit(netuids, weights) - success, error_message = _do_set_root_weights( + success, message = _do_set_root_weights( subtensor=subtensor, wallet=wallet, netuids=weight_uids, @@ -608,18 +636,15 @@

        Source code for bittensor.core.extrinsics.root

        version_key=version_key, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) - if not wait_for_finalization and not wait_for_inclusion: - return True - if success is True: logging.info(":white_heavy_check_mark: [green]Finalized[/green]") return True - else: - fmt_err = error_message - logging.error(f":cross_mark: [red]Failed error:[/red] {fmt_err}") - return False + + logging.error(f":cross_mark: [red]Failed error:[/red] {message}") + return False except SubstrateRequestException as e: fmt_err = format_error_message(e) diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/serving.html b/static/python-api/html/_modules/bittensor/core/extrinsics/serving.html index 67e4250150..236bc3c965 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/serving.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/serving.html @@ -175,7 +175,6 @@

      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -335,18 +334,17 @@

        Source code for bittensor.core.extrinsics.serving

        -from typing import Optional, TYPE_CHECKING
        +from typing import Optional, Union, TYPE_CHECKING
         
         from bittensor.core.errors import MetadataError
         from bittensor.core.settings import version_as_int
        +from bittensor.core.types import AxonServeCallParams
         from bittensor.utils import (
        -    format_error_message,
             networking as net,
             unlock_key,
             Certificate,
         )
         from bittensor.utils.btlogging import logging
        -from bittensor.core.types import AxonServeCallParams
         
         if TYPE_CHECKING:
             from bittensor_wallet import Wallet
        @@ -362,7 +360,8 @@ 

        Source code for bittensor.core.extrinsics.serving

        call_params: "AxonServeCallParams", wait_for_inclusion: bool = False, wait_for_finalization: bool = True, -) -> tuple[bool, Optional[dict]]: + period: Optional[int] = None, +) -> tuple[bool, str]: """ Internal method to submit a serve axon transaction to the Bittensor blockchain. This method creates and submits a transaction, enabling a neuron's ``Axon`` to serve requests on the network. @@ -373,6 +372,9 @@

        Source code for bittensor.core.extrinsics.serving

        call_params (bittensor.core.types.AxonServeCallParams): Parameters required for the serve axon call. wait_for_inclusion (bool): Waits for the transaction to be included in a block. wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: tuple[bool, Optional[str]]: A tuple containing a success flag and an optional error message. @@ -390,21 +392,16 @@

        Source code for bittensor.core.extrinsics.serving

        call_function=call_function, call_params=call_params.dict(), ) - extrinsic = subtensor.substrate.create_signed_extrinsic( - call=call, keypair=wallet.hotkey - ) - response = subtensor.substrate.submit_extrinsic( - extrinsic=extrinsic, + + success, message = subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + sign_with="hotkey", + period=period, ) - if wait_for_inclusion or wait_for_finalization: - if response.is_success: - return True, None - - return False, response.error_message - - return True, None
        + return success, message
        @@ -422,6 +419,7 @@

        Source code for bittensor.core.extrinsics.serving

        wait_for_inclusion: bool = False, wait_for_finalization=True, certificate: Optional[Certificate] = None, + period: Optional[int] = None, ) -> bool: """Subscribes a Bittensor endpoint to the subtensor chain. @@ -440,6 +438,9 @@

        Source code for bittensor.core.extrinsics.serving

        ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. certificate (bittensor.utils.Certificate): Certificate to use for TLS. If ``None``, no TLS will be used. Defaults to ``None``. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for @@ -472,32 +473,32 @@

        Source code for bittensor.core.extrinsics.serving

        neuron_up_to_date = not neuron.is_null and params == neuron if neuron_up_to_date: logging.debug( - f"Axon already served on: AxonInfo({wallet.hotkey.ss58_address},{ip}:{port}) " + f"Axon already served on: [blue]AxonInfo({wallet.hotkey.ss58_address}, {ip}:{port})[/blue]" ) return True logging.debug( - f"Serving axon with: AxonInfo({wallet.hotkey.ss58_address},{ip}:{port}) -> {subtensor.network}:{netuid}" + f"Serving axon with: [blue]AxonInfo({wallet.hotkey.ss58_address}, {ip}:{port})[/blue] -> " + f"[green]{subtensor.network}:{netuid}[/green]" ) - success, error_message = do_serve_axon( + success, message = do_serve_axon( subtensor=subtensor, wallet=wallet, call_params=params, wait_for_finalization=wait_for_finalization, wait_for_inclusion=wait_for_inclusion, + period=period, ) - if wait_for_inclusion or wait_for_finalization: - if success is True: - logging.debug( - f"Axon served with: AxonInfo({wallet.hotkey.ss58_address},{ip}:{port}) on {subtensor.network}:{netuid} " - ) - return True - else: - logging.error(f"Failed: {format_error_message(error_message)}") - return False - else: - return True
        + if success: + logging.debug( + f"Axon served with: [blue]AxonInfo({wallet.hotkey.ss58_address}, {ip}:{port})[/blue] on " + f"[green]{subtensor.network}:{netuid}[/green]" + ) + return True + + logging.error(f"Failed: {message}") + return False
        @@ -510,6 +511,7 @@

        Source code for bittensor.core.extrinsics.serving

        wait_for_inclusion: bool = False, wait_for_finalization: bool = True, certificate: Optional["Certificate"] = None, + period: Optional[int] = None, ) -> bool: """Serves the axon to the network. @@ -523,6 +525,9 @@

        Source code for bittensor.core.extrinsics.serving

        ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. certificate (bittensor.utils.Certificate): Certificate to use for TLS. If ``None``, no TLS will be used. Defaults to ``None``. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for @@ -558,6 +563,7 @@

        Source code for bittensor.core.extrinsics.serving

        wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, certificate=certificate, + period=period, ) return serve_success
        @@ -570,9 +576,11 @@

        Source code for bittensor.core.extrinsics.serving

        wallet: "Wallet", netuid: int, data_type: str, - data: bytes, + data: Union[bytes, dict], wait_for_inclusion: bool = False, wait_for_finalization: bool = True, + period: Optional[int] = None, + reset_bonds: bool = False, ) -> bool: """ Publishes metadata on the Bittensor network using the specified wallet and network identifier. @@ -584,18 +592,22 @@

        Source code for bittensor.core.extrinsics.serving

        data_type (str): The data type of the information being submitted. It should be one of the following: ``'Sha256'``, ``'Blake256'``, ``'Keccak256'``, or ``'Raw0-128'``. This specifies the format or hashing algorithm used for the data. - data (str): The actual metadata content to be published. This should be formatted or hashed according to the - ``type`` specified. (Note: max ``str`` length is 128 bytes) + data (Union[bytes, dict]): The actual metadata content to be published. This should be formatted or hashed + according to the ``type`` specified. (Note: max ``str`` length is 128 bytes for ``'Raw0-128'``.) wait_for_inclusion (bool, optional): If ``True``, the function will wait for the extrinsic to be included in a block before returning. Defaults to ``False``. wait_for_finalization (bool, optional): If ``True``, the function will wait for the extrinsic to be finalized on the chain before returning. Defaults to ``True``. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + reset_bonds (bool): If `True`, the function will reset the bonds for the neuron. Defaults to `False`. Returns: bool: ``True`` if the metadata was successfully published (and finalized if specified). ``False`` otherwise. Raises: - MetadataError: If there is an error in submitting the extrinsic or if the response from the blockchain indicates + MetadataError: If there is an error in submitting the extrinsic, or if the response from the blockchain indicates failure. """ @@ -603,30 +615,31 @@

        Source code for bittensor.core.extrinsics.serving

        logging.error(unlock.message) return False + fields = [{f"{data_type}": data}] + if reset_bonds: + fields.append({"ResetBondsFlag": b""}) + call = subtensor.substrate.compose_call( call_module="Commitments", call_function="set_commitment", call_params={ "netuid": netuid, - "info": {"fields": [[{f"{data_type}": data}]]}, + "info": {"fields": [fields]}, }, ) - extrinsic = subtensor.substrate.create_signed_extrinsic( - call=call, keypair=wallet.hotkey - ) - response = subtensor.substrate.submit_extrinsic( - extrinsic=extrinsic, + success, message = subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + sign_with="hotkey", wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) - # We only wait here if we expect finalization. - if not wait_for_finalization and not wait_for_inclusion: - return True - if response.is_success: + if success: return True - raise MetadataError(format_error_message(response.error_message))
        + raise MetadataError(message)
        @@ -644,6 +657,32 @@

        Source code for bittensor.core.extrinsics.serving

        ) return commit_data
        + + +
        +[docs] +def get_last_bonds_reset( + subtensor: "Subtensor", netuid: int, hotkey: str, block: Optional[int] = None +) -> bytes: + """ + Fetches the last bonds reset triggered at commitment from the blockchain for a given hotkey and netuid. + + Args: + subtensor (bittensor.core.subtensor.Subtensor): Subtensor instance object. + netuid (int): The network uid to fetch from. + hotkey (str): The hotkey of the neuron for which to fetch the last bonds reset. + block (Optional[int]): The block number to query. If ``None``, the latest block is used. + + Returns: + bytes: The last bonds reset data for the specified hotkey and netuid. + """ + return subtensor.substrate.query( + module="Commitments", + storage_function="LastBondsReset", + params=[netuid, hotkey], + block_hash=subtensor.determine_block_hash(block), + )
        +
        diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/set_weights.html b/static/python-api/html/_modules/bittensor/core/extrinsics/set_weights.html index 91b9fbff2e..177b0df901 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/set_weights.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/set_weights.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -343,8 +342,11 @@

        Source code for bittensor.core.extrinsics.set_weights

        from numpy.typing import NDArray from bittensor.core.settings import version_as_int -from bittensor.utils import format_error_message, weight_utils from bittensor.utils.btlogging import logging +from bittensor.utils.weight_utils import ( + convert_and_normalize_weights_and_uids, + convert_uids_and_weights, +) if TYPE_CHECKING: from bittensor.core.subtensor import Subtensor @@ -361,8 +363,8 @@

        Source code for bittensor.core.extrinsics.set_weights

        version_key: int = version_as_int, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, - period: int = 5, -) -> tuple[bool, Optional[str]]: # (success, error_message) + period: Optional[int] = None, +) -> tuple[bool, str]: """ Internal method to send a transaction to the Bittensor blockchain, setting weights for specified neurons. This method constructs and submits the transaction, handling @@ -377,10 +379,12 @@

        Source code for bittensor.core.extrinsics.set_weights

        version_key (int, optional): Version key for compatibility with the network. wait_for_inclusion (bool, optional): Waits for the transaction to be included in a block. wait_for_finalization (bool, optional): Waits for the transaction to be finalized on the blockchain. - period (int, optional): The period in seconds to wait for extrinsic inclusion or finalization. Defaults to 5. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - Tuple[bool, Optional[str]]: A tuple containing a success flag and an optional error message. + Tuple[bool, str]: A tuple containing a success flag and an optional error message. This method is vital for the dynamic weighting mechanism in Bittensor, where neurons adjust their trust in other neurons based on observed performance and contributions. @@ -396,27 +400,17 @@

        Source code for bittensor.core.extrinsics.set_weights

        "version_key": version_key, }, ) - next_nonce = subtensor.substrate.get_account_next_index(wallet.hotkey.ss58_address) - # Period dictates how long the extrinsic will stay as part of waiting pool - extrinsic = subtensor.substrate.create_signed_extrinsic( + success, message = subtensor.sign_and_send_extrinsic( call=call, - keypair=wallet.hotkey, - era={"period": period}, - nonce=next_nonce, - ) - response = subtensor.substrate.submit_extrinsic( - extrinsic=extrinsic, + wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, + use_nonce=True, + nonce_key="hotkey", + sign_with="hotkey", ) - # We only wait here if we expect finalization. - if not wait_for_finalization and not wait_for_inclusion: - return True, "Not waiting for finalization or inclusion." - - if response.is_success: - return True, "Successfully set weights." - - return False, format_error_message(response.error_message) + return success, message
        @@ -430,8 +424,9 @@

        Source code for bittensor.core.extrinsics.set_weights

        version_key: int = 0, wait_for_inclusion: bool = False, wait_for_finalization: bool = False, + period: Optional[int] = 8, ) -> tuple[bool, str]: - """Sets the given weights and values on chain for wallet hotkey account. + """Sets the given weights and values on a chain for a wallet hotkey account. Args: subtensor (bittensor.core.async_subtensor.AsyncSubtensor): Bittensor subtensor object. @@ -445,27 +440,27 @@

        Source code for bittensor.core.extrinsics.set_weights

        returns ``False`` if the extrinsic fails to enter the block within the timeout. wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. + If the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for finalization / inclusion, the response is ``True``. """ - # First convert types. - if isinstance(uids, list): - uids = np.array(uids, dtype=np.int64) - if isinstance(weights, list): - weights = np.array(weights, dtype=np.float32) + # Convert types. + uids, weights = convert_uids_and_weights(uids, weights) # Reformat and normalize. - weight_uids, weight_vals = weight_utils.convert_weights_and_uids_for_emit( - uids, weights - ) + weight_uids, weight_vals = convert_and_normalize_weights_and_uids(uids, weights) logging.info( - ":satellite: [magenta]Setting weights on [/magenta][blue]{subtensor.network}[/blue] [magenta]...[/magenta]" + f":satellite: [magenta]Setting weights on [/magenta]" + f"[blue]{subtensor.network}[/blue] " + f"[magenta]...[/magenta]" ) try: - success, error_message = _do_set_weights( + success, message = _do_set_weights( subtensor=subtensor, wallet=wallet, netuid=netuid, @@ -474,18 +469,19 @@

        Source code for bittensor.core.extrinsics.set_weights

        version_key=version_key, wait_for_finalization=wait_for_finalization, wait_for_inclusion=wait_for_inclusion, + period=period, ) if not wait_for_finalization and not wait_for_inclusion: - return True, "Not waiting for finalization or inclusion." + return True, message if success is True: message = "Successfully set weights and Finalized." logging.success(f":white_heavy_check_mark: [green]{message}[/green]") return True, message - logging.error(f"[red]Failed[/red] set weights. Error: {error_message}") - return False, error_message + logging.error(f"[red]Failed[/red] set weights. Error: {message}") + return False, message except Exception as error: logging.error(f":cross_mark: [red]Failed[/red] set weights. Error: {error}") diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/staking.html b/static/python-api/html/_modules/bittensor/core/extrinsics/staking.html index 9f7418ed2e..ef43e29339 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/staking.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/staking.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -335,12 +334,12 @@

        Source code for bittensor.core.extrinsics.staking

        -import time
        -from typing import Optional, TYPE_CHECKING, Sequence
        +from typing import Optional, TYPE_CHECKING, Sequence
        +
        +from async_substrate_interface.errors import SubstrateRequestException
         
        -from bittensor.core.errors import StakeError, NotRegisteredError
         from bittensor.core.extrinsics.utils import get_old_stakes
        -from bittensor.utils import unlock_key
        +from bittensor.utils import unlock_key, format_error_message
         from bittensor.utils.balance import Balance
         from bittensor.utils.btlogging import logging
         
        @@ -359,24 +358,39 @@ 

        Source code for bittensor.core.extrinsics.staking

        amount: Optional[Balance] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + safe_staking: bool = False, + allow_partial_stake: bool = False, + rate_tolerance: float = 0.005, + period: Optional[int] = None, ) -> bool: """ - Adds the specified amount of stake to passed hotkey `uid`. + Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified subnet. + Staking is a fundamental process in the Bittensor network that enables neurons to participate actively and earn incentives. Arguments: - subtensor: the Subtensor object to use + subtensor: Subtensor instance with the connection to the chain. wallet: Bittensor wallet object. - hotkey_ss58: The `ss58` address of the hotkey account to stake to defaults to the wallet's hotkey. - netuid (Optional[int]): Subnet unique ID. - amount: Amount to stake as Bittensor balance, `None` if staking all. + hotkey_ss58: The `ss58` address of the hotkey account to stake to default to the wallet's hotkey. If not + specified, the wallet's hotkey will be used. Defaults to ``None``. + netuid: The unique identifier of the subnet to which the neuron belongs. + amount: Amount to stake as Bittensor balance in TAO always, `None` if staking all. Defaults is ``None``. wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns - `False` if the extrinsic fails to enter the block within the timeout. + `False` if the extrinsic fails to enter the block within the timeout. Defaults to ``True``. wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning `True`, - or returns `False` if the extrinsic fails to be finalized within the timeout. + or returns `False` if the extrinsic fails to be finalized within the timeout. Defaults to ``False``. + safe_staking: If True, enables price safety checks. Default is ``False``. + allow_partial_stake: If True, allows partial unstaking if price tolerance exceeded. Default is ``False``. + rate_tolerance: Maximum allowed price increase percentage (0.005 = 0.5%). Default is ``0.005``. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Defaults to ``None``. Returns: success: Flag is `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the response is `True`. + + Raises: + SubstrateRequestException: Raised if the extrinsic fails to be included in the block within the timeout. """ # Decrypt keys, @@ -413,14 +427,11 @@

        Source code for bittensor.core.extrinsics.staking

        ) else: staking_balance = amount - staking_balance.set_unit(netuid) # Leave existential balance to keep key alive. if staking_balance > old_balance - existential_deposit: # If we are staking all, we need to leave at least the existential deposit. staking_balance = old_balance - existential_deposit - else: - staking_balance = staking_balance # Check enough to stake. if staking_balance > old_balance: @@ -431,30 +442,64 @@

        Source code for bittensor.core.extrinsics.staking

        return False try: - logging.info( - f":satellite: [magenta]Staking to:[/magenta] " - f"[blue]netuid: {netuid}, amount: {staking_balance} " - f"on {subtensor.network}[/blue] [magenta]...[/magenta]" - ) + call_params = { + "hotkey": hotkey_ss58, + "netuid": netuid, + "amount_staked": staking_balance.rao, + } + + if safe_staking: + pool = subtensor.subnet(netuid=netuid) + base_price = pool.price.tao + + if pool.netuid == 0: + price_with_tolerance = base_price + else: + price_with_tolerance = base_price * (1 + rate_tolerance) + + logging.info( + f":satellite: [magenta]Safe Staking to:[/magenta] " + f"[blue]netuid: [green]{netuid}[/green], amount: [green]{staking_balance}[/green], " + f"tolerance percentage: [green]{rate_tolerance * 100}%[/green], " + f"price limit: [green]{price_with_tolerance}[/green], " + f"original price: [green]{base_price}[/green], " + f"with partial stake: [green]{allow_partial_stake}[/green] " + f"on [blue]{subtensor.network}[/blue][/magenta]...[/magenta]" + ) + + limit_price = Balance.from_tao(price_with_tolerance).rao + call_params.update( + { + "limit_price": limit_price, + "allow_partial": allow_partial_stake, + } + ) + call_function = "add_stake_limit" + else: + logging.info( + f":satellite: [magenta]Staking to:[/magenta] " + f"[blue]netuid: [green]{netuid}[/green], amount: [green]{staking_balance}[/green] " + f"on [blue]{subtensor.network}[/blue][magenta]...[/magenta]" + ) + call_function = "add_stake" + call = subtensor.substrate.compose_call( call_module="SubtensorModule", - call_function="add_stake", - call_params={ - "hotkey": hotkey_ss58, - "amount_staked": staking_balance.rao, - "netuid": netuid, - }, + call_function=call_function, + call_params=call_params, ) - staking_response, err_msg = subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + + success, message = subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, use_nonce=True, sign_with="coldkey", nonce_key="coldkeypub", + period=period, ) - if staking_response is True: # If we successfully staked. + if success is True: # If we successfully staked. # We only wait here if we expect finalization. if not wait_for_finalization and not wait_for_inclusion: return True @@ -462,8 +507,8 @@

        Source code for bittensor.core.extrinsics.staking

        logging.success(":white_heavy_check_mark: [green]Finalized[/green]") logging.info( - f":satellite: [magenta]Checking Balance on:[/magenta] [blue]{subtensor.network}[/blue] " - "[magenta]...[/magenta]" + f":satellite: [magenta]Checking Balance on:[/magenta] " + f"[blue]{subtensor.network}[/blue] [magenta]...[/magenta]" ) new_block = subtensor.get_current_block() new_balance = subtensor.get_balance( @@ -483,19 +528,18 @@

        Source code for bittensor.core.extrinsics.staking

        ) return True else: - logging.error(":cross_mark: [red]Failed[/red]: Error unknown.") + if safe_staking and "Custom error: 8" in message: + logging.error( + ":cross_mark: [red]Failed[/red]: Price exceeded tolerance limit. Either increase price tolerance or enable partial staking." + ) + else: + logging.error(f":cross_mark: [red]Failed: {message}.[/red]") return False - # TODO I don't think these are used. Maybe should just catch SubstrateRequestException? - except NotRegisteredError: + except SubstrateRequestException as error: logging.error( - ":cross_mark: [red]Hotkey: {} is not registered.[/red]".format( - wallet.hotkey_str - ) + f":cross_mark: [red]Add Stake Error: {format_error_message(error)}[/red]" ) - return False - except StakeError as e: - logging.error(f":cross_mark: [red]Stake Error: {e}[/red]") return False
        @@ -510,6 +554,7 @@

        Source code for bittensor.core.extrinsics.staking

        amounts: Optional[list[Balance]] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> bool: """Adds stake to each ``hotkey_ss58`` in the list, using each amount, from a common coldkey. @@ -517,11 +562,15 @@

        Source code for bittensor.core.extrinsics.staking

        subtensor: The initialized SubtensorInterface object. wallet: Bittensor wallet object for the coldkey. hotkey_ss58s: List of hotkeys to stake to. + netuids: List of netuids to stake to. amounts: List of amounts to stake. If `None`, stake all to the first hotkey. wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns `False` if the extrinsic fails to enter the block within the timeout. wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success: `True` if extrinsic was finalized or included in the block. `True` if any wallet was staked. If we did @@ -575,7 +624,7 @@

        Source code for bittensor.core.extrinsics.staking

        total_staking_rao = sum( [amount.rao if amount is not None else 0 for amount in new_amounts] ) - old_balance = inital_balance = subtensor.get_balance( + old_balance = initial_balance = subtensor.get_balance( wallet.coldkeypub.ss58_address, block=block ) if total_staking_rao == 0: @@ -627,33 +676,20 @@

        Source code for bittensor.core.extrinsics.staking

        "netuid": netuid, }, ) - staking_response, err_msg = subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + success, message = subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, use_nonce=True, nonce_key="coldkeypub", sign_with="coldkey", + period=period, ) - if staking_response is True: # If we successfully staked. + if success is True: # If we successfully staked. # We only wait here if we expect finalization. - if idx < len(hotkey_ss58s) - 1: - # Wait for tx rate limit. - tx_query = subtensor.substrate.query( - module="SubtensorModule", storage_function="TxRateLimit" - ) - tx_rate_limit_blocks: int = getattr(tx_query, "value", 0) - if tx_rate_limit_blocks > 0: - logging.error( - f":hourglass: [yellow]Waiting for tx rate limit: [white]{tx_rate_limit_blocks}[/white] " - f"blocks[/yellow]" - ) - # 12 seconds per block - time.sleep(tx_rate_limit_blocks * 12) - if not wait_for_finalization and not wait_for_inclusion: old_balance -= staking_balance successful_stakes += 1 @@ -688,17 +724,14 @@

        Source code for bittensor.core.extrinsics.staking

        break else: - logging.error(f":cross_mark: [red]Failed[/red]: {err_msg}") + logging.error(f":cross_mark: [red]Failed[/red]: {message}") continue - except NotRegisteredError: + except SubstrateRequestException as error: logging.error( - f":cross_mark: [red]Hotkey: {hotkey_ss58} is not registered.[/red]" + f":cross_mark: [red]Add Stake Multiple error: {format_error_message(error)}[/red]" ) continue - except StakeError as e: - logging.error(f":cross_mark: [red]Stake Error: {e}[/red]") - continue if successful_stakes != 0: logging.info( @@ -707,7 +740,7 @@

        Source code for bittensor.core.extrinsics.staking

        ) new_balance = subtensor.get_balance(wallet.coldkeypub.ss58_address) logging.info( - f"Balance: [blue]{inital_balance}[/blue] :arrow_right: [green]{new_balance}[/green]" + f"Balance: [blue]{initial_balance}[/blue] :arrow_right: [green]{new_balance}[/green]" ) return True diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/start_call.html b/static/python-api/html/_modules/bittensor/core/extrinsics/start_call.html new file mode 100644 index 0000000000..04dec19bc1 --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/start_call.html @@ -0,0 +1,470 @@ + + + + + + + + + + bittensor.core.extrinsics.start_call — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.extrinsics.start_call

        +from typing import TYPE_CHECKING, Optional
        +
        +from bittensor.utils import unlock_key
        +from bittensor.utils.btlogging import logging
        +
        +if TYPE_CHECKING:
        +    from bittensor_wallet import Wallet
        +    from bittensor.core.subtensor import Subtensor
        +
        +
        +
        +[docs] +def start_call_extrinsic( + subtensor: "Subtensor", + wallet: "Wallet", + netuid: int, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """ + Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start a + new subnet's emission mechanism). + + Args: + subtensor (Subtensor): The Subtensor client instance used for blockchain interaction. + wallet (Wallet): The wallet used to sign the extrinsic (must be unlocked). + netuid (int): The UID of the target subnet for which the call is being initiated. + wait_for_inclusion (bool, optional): Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization (bool, optional): Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + """ + if not (unlock := unlock_key(wallet)).success: + logging.error(unlock.message) + return False, unlock.message + + start_call = subtensor.substrate.compose_call( + call_module="SubtensorModule", + call_function="start_call", + call_params={"netuid": netuid}, + ) + + success, message = subtensor.sign_and_send_extrinsic( + call=start_call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + ) + + if not wait_for_finalization and not wait_for_inclusion: + return True, message + + if success: + return True, "Success with `start_call` response." + + return True, message
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/take.html b/static/python-api/html/_modules/bittensor/core/extrinsics/take.html new file mode 100644 index 0000000000..83f3fe226c --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/take.html @@ -0,0 +1,521 @@ + + + + + + + + + + bittensor.core.extrinsics.take — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.extrinsics.take

        +from typing import TYPE_CHECKING, Optional
        +
        +from bittensor_wallet.bittensor_wallet import Wallet
        +
        +from bittensor.utils import unlock_key
        +
        +if TYPE_CHECKING:
        +    from bittensor.core.subtensor import Subtensor
        +
        +
        +
        +[docs] +def increase_take_extrinsic( + subtensor: "Subtensor", + wallet: Wallet, + hotkey_ss58: str, + take: int, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = True, + raise_error: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """Sets the delegate 'take' percentage for a neuron identified by its hotkey. + + Args: + subtensor (Subtensor): Blockchain connection. + wallet (Wallet): The wallet to sign the extrinsic. + hotkey_ss58 (str): SS58 address of the hotkey to set take for. + take (int): The percentage of rewards that the delegate claims from nominators. + wait_for_inclusion (bool, optional): Wait for inclusion before returning. Defaults to True. + wait_for_finalization (bool, optional): Wait for finalization before returning. Defaults to True. + raise_error (bool, optional): Raise error on failure. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + tuple[bool, str]: Success flag and status message. + """ + unlock = unlock_key(wallet, raise_error=raise_error) + + if not unlock.success: + return False, unlock.message + + call = subtensor.substrate.compose_call( + call_module="SubtensorModule", + call_function="increase_take", + call_params={ + "hotkey": hotkey_ss58, + "take": take, + }, + ) + + return subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + raise_error=raise_error, + )
        + + + +
        +[docs] +def decrease_take_extrinsic( + subtensor: "Subtensor", + wallet: Wallet, + hotkey_ss58: str, + take: int, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = True, + raise_error: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """Sets the delegate `take` percentage for a neuron identified by its hotkey. + + Args: + subtensor (Subtensor): Blockchain connection. + wallet (Wallet): The wallet to sign the extrinsic. + hotkey_ss58 (str): SS58 address of the hotkey to set take for. + take (int): The percentage of rewards that the delegate claims from nominators. + wait_for_inclusion (bool, optional): Wait for inclusion before returning. Defaults to True. + wait_for_finalization (bool, optional): Wait for finalization before returning. Defaults to True. + raise_error (bool, optional): Raise error on failure. Defaults to False. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. + If the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + tuple[bool, str]: Success flag and status message. + """ + unlock = unlock_key(wallet, raise_error=raise_error) + + if not unlock.success: + return False, unlock.message + + call = subtensor.substrate.compose_call( + call_module="SubtensorModule", + call_function="decrease_take", + call_params={ + "hotkey": hotkey_ss58, + "take": take, + }, + ) + + return subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + raise_error=raise_error, + wait_for_finalization=wait_for_finalization, + period=period, + )
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/transfer.html b/static/python-api/html/_modules/bittensor/core/extrinsics/transfer.html index 41d1f9a262..de6b29989a 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/transfer.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/transfer.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -335,16 +334,15 @@

        Source code for bittensor.core.extrinsics.transfer

        -from typing import TYPE_CHECKING
        +from typing import TYPE_CHECKING, Optional
         
         from bittensor.core.settings import NETWORK_EXPLORER_MAP
        -from bittensor.utils.balance import Balance
         from bittensor.utils import (
             is_valid_bittensor_address_or_public_key,
             unlock_key,
             get_explorer_url_for_network,
        -    format_error_message,
         )
        +from bittensor.utils.balance import Balance
         from bittensor.utils.btlogging import logging
         
         if TYPE_CHECKING:
        @@ -359,6 +357,7 @@ 

        Source code for bittensor.core.extrinsics.transfer

        amount: Balance, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + period: Optional[int] = None, ) -> tuple[bool, str, str]: """ Makes transfer from wallet to destination public key address. @@ -370,35 +369,39 @@

        Source code for bittensor.core.extrinsics.transfer

        amount (bittensor.utils.balance.Balance): Amount to stake as Bittensor balance. wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning `True`, or returns `False` if the extrinsic fails to enter the block within the timeout. - wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning + wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. + If the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success, block hash, formatted error message """ call = subtensor.substrate.compose_call( call_module="Balances", - call_function="transfer_allow_death", + call_function="transfer_keep_alive", call_params={"dest": destination, "value": amount.rao}, ) - extrinsic = subtensor.substrate.create_signed_extrinsic( - call=call, keypair=wallet.coldkey - ) - response = subtensor.substrate.submit_extrinsic( - extrinsic=extrinsic, + + success, message = subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, ) + # We only wait here if we expect finalization. if not wait_for_finalization and not wait_for_inclusion: - return True, "", "Success, extrinsic submitted without waiting." + return True, "", message # Otherwise continue with finalization. - if response.is_success: - block_hash_ = response.block_hash + if success: + block_hash_ = subtensor.get_block_hash() return True, block_hash_, "Success with response." - return False, "", format_error_message(response.error_message) + return False, "", message
        @@ -412,6 +415,7 @@

        Source code for bittensor.core.extrinsics.transfer

        wait_for_inclusion: bool = True, wait_for_finalization: bool = False, keep_alive: bool = True, + period: Optional[int] = None, ) -> bool: """Transfers funds from this wallet to the destination public key address. @@ -423,21 +427,24 @@

        Source code for bittensor.core.extrinsics.transfer

        transfer_all (bool): Whether to transfer all funds from this wallet to the destination address. wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning `True`, or returns `False` if the extrinsic fails to enter the block within the timeout. - wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning + wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. keep_alive (bool): If set, keeps the account alive by keeping the balance above the existential deposit. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. + If the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: success (bool): Flag is `True` if extrinsic was finalized or included in the block. If we did not wait for finalization / inclusion, the response is `True`, regardless of its inclusion. """ - destination = dest # Validate destination address. - if not is_valid_bittensor_address_or_public_key(destination): + if not is_valid_bittensor_address_or_public_key(dest): logging.error( - f":cross_mark: [red]Invalid destination SS58 address[/red]: {destination}" + f":cross_mark: [red]Invalid destination SS58 address[/red]: {dest}" ) return False + logging.info(f"Initiating transfer on network: {subtensor.network}") # Unlock wallet coldkey. if not (unlock := unlock_key(wallet)).success: @@ -458,7 +465,7 @@

        Source code for bittensor.core.extrinsics.transfer

        else: existential_deposit = subtensor.get_existential_deposit(block=block) - fee = subtensor.get_transfer_fee(wallet=wallet, dest=destination, value=amount) + fee = subtensor.get_transfer_fee(wallet=wallet, dest=dest, value=amount) # Check if we have enough balance. if transfer_all is True: @@ -474,14 +481,15 @@

        Source code for bittensor.core.extrinsics.transfer

        logging.error(f"\t\tFor fee:\t[blue]{fee}[/blue]") return False - logging.info(":satellite: [magenta]Transferring...</magenta") + logging.info(":satellite: [magenta]Transferring...[/magenta]") success, block_hash, err_msg = _do_transfer( subtensor=subtensor, wallet=wallet, - destination=destination, + destination=dest, amount=amount, wait_for_finalization=wait_for_finalization, wait_for_inclusion=wait_for_inclusion, + period=period, ) if success: @@ -507,9 +515,9 @@

        Source code for bittensor.core.extrinsics.transfer

        f"Balance: [blue]{account_balance}[/blue] :arrow_right: [green]{new_balance}[/green]" ) return True - else: - logging.error(f":cross_mark: [red]Failed[/red]: {err_msg}") - return False
        + + logging.error(f":cross_mark: [red]Failed[/red]: {err_msg}") + return False
        diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/unstaking.html b/static/python-api/html/_modules/bittensor/core/extrinsics/unstaking.html index 517b05d63f..a0c9c47af5 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/unstaking.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/unstaking.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -335,12 +334,12 @@

        Source code for bittensor.core.extrinsics.unstaking

        -import time
        -from typing import Optional, TYPE_CHECKING
        +from typing import Optional, TYPE_CHECKING
        +
        +from async_substrate_interface.errors import SubstrateRequestException
         
        -from bittensor.core.errors import StakeError, NotRegisteredError
         from bittensor.core.extrinsics.utils import get_old_stakes
        -from bittensor.utils import unlock_key
        +from bittensor.utils import unlock_key, format_error_message
         from bittensor.utils.balance import Balance
         from bittensor.utils.btlogging import logging
         
        @@ -359,25 +358,41 @@ 

        Source code for bittensor.core.extrinsics.unstaking

        amount: Optional[Balance] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + safe_staking: bool = False, + allow_partial_stake: bool = False, + rate_tolerance: float = 0.005, + period: Optional[int] = None, + unstake_all: bool = False, ) -> bool: """Removes stake into the wallet coldkey from the specified hotkey ``uid``. Args: - subtensor (bittensor.core.subtensor.Subtensor): Subtensor instance. - wallet (bittensor_wallet.Wallet): Bittensor wallet object. - hotkey_ss58 (Optional[str]): The ``ss58`` address of the hotkey to unstake from. By default, the wallet hotkey - is used. - netuid (Optional[int]): Subnet unique id. - amount (Union[Balance]): Amount to stake as Bittensor balance. - wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. + subtensor: Subtensor instance. + wallet: Bittensor wallet object. + hotkey_ss58: The ``ss58`` address of the hotkey to unstake from. By default, the wallet hotkey is used. + netuid: Subnet unique id. + amount: Amount to stake as Bittensor balance. + wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or returns + ``False`` if the extrinsic fails to enter the block within the timeout. + wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning ``True``, + or returns ``False`` if the extrinsic fails to be finalized within the timeout. + safe_staking: If true, enables price safety checks. + allow_partial_stake: If true, allows partial unstaking if price tolerance exceeded + rate_tolerance: Maximum allowed price decrease percentage (0.005 = 0.5%) + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You can + think of it as an expiration date for the transaction. + unstake_all: If true, unstakes all tokens. Default is ``False``. Returns: - success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is ``True``. + tuple[bool, str]: + A tuple containing: + - `True` and a success message if the unstake operation succeeded; + - `False` and an error message otherwise. """ + if amount and unstake_all: + raise ValueError("Cannot specify both `amount` and `unstake_all`.") + # Decrypt keys, if not (unlock := unlock_key(wallet)).success: logging.error(unlock.message) @@ -398,6 +413,7 @@

        Source code for bittensor.core.extrinsics.unstaking

        block=block, ) + # Covert to bittensor.Balance if amount is None: # Unstake it all. logging.warning( @@ -419,29 +435,65 @@

        Source code for bittensor.core.extrinsics.unstaking

        return False try: - logging.info( - f"Unstaking [blue]{unstaking_balance}[/blue] from [magenta]{hotkey_ss58}[/magenta] on [blue]{netuid}[/blue]" - ) + call_params = { + "hotkey": hotkey_ss58, + "netuid": netuid, + "amount_unstaked": unstaking_balance.rao, + } + + if safe_staking: + pool = subtensor.subnet(netuid=netuid) + base_price = pool.price.tao + + if pool.netuid == 0: + price_with_tolerance = base_price + else: + price_with_tolerance = base_price * (1 - rate_tolerance) + + logging.info( + f":satellite: [magenta]Safe Unstaking from:[/magenta] " + f"netuid: [green]{netuid}[/green], amount: [green]{unstaking_balance}[/green], " + f"tolerance percentage: [green]{rate_tolerance * 100}%[/green], " + f"price limit: [green]{price_with_tolerance}[/green], " + f"original price: [green]{base_price}[/green], " + f"with partial unstake: [green]{allow_partial_stake}[/green] " + f"on [blue]{subtensor.network}[/blue][magenta]...[/magenta]" + ) + + limit_price = Balance.from_tao(price_with_tolerance).rao + call_params.update( + { + "limit_price": limit_price, + "allow_partial": allow_partial_stake, + } + ) + call_function = "remove_stake_limit" + else: + logging.info( + f":satellite: [magenta]Unstaking from:[/magenta] " + f"netuid: [green]{netuid}[/green], amount: [green]{unstaking_balance}[/green] " + f"on [blue]{subtensor.network}[/blue][magenta]...[/magenta]" + ) + call_function = "remove_stake" + call = subtensor.substrate.compose_call( call_module="SubtensorModule", - call_function="remove_stake", - call_params={ - "hotkey": hotkey_ss58, - "amount_unstaked": unstaking_balance.rao, - "netuid": netuid, - }, + call_function=call_function, + call_params=call_params, ) - staking_response, err_msg = subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + + success, message = subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, nonce_key="coldkeypub", sign_with="coldkey", use_nonce=True, + period=period, ) - if staking_response is True: # If we successfully unstaked. + if success: # If we successfully unstaked. # We only wait here if we expect finalization. if not wait_for_finalization and not wait_for_inclusion: return True @@ -470,20 +522,91 @@

        Source code for bittensor.core.extrinsics.unstaking

        ) return True else: - logging.error(f":cross_mark: [red]Failed: {err_msg}.[/red]") + if safe_staking and "Custom error: 8" in message: + logging.error( + ":cross_mark: [red]Failed[/red]: Price exceeded tolerance limit. Either increase price tolerance or enable partial staking." + ) + else: + logging.error(f":cross_mark: [red]Failed: {message}.[/red]") return False - except NotRegisteredError: + except SubstrateRequestException as error: logging.error( - f":cross_mark: [red]Hotkey: {wallet.hotkey_str} is not registered.[/red]" + f":cross_mark: [red]Unstake filed with error: {format_error_message(error)}[/red]" ) - return False - except StakeError as e: - logging.error(f":cross_mark: [red]Stake Error: {e}[/red]") return False
        +
        +[docs] +def unstake_all_extrinsic( + subtensor: "Subtensor", + wallet: "Wallet", + hotkey: str, + netuid: int, + rate_tolerance: Optional[float] = 0.005, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, +) -> tuple[bool, str]: + """Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network. + + Arguments: + subtensor: Subtensor instance. + wallet: The wallet of the stake owner. + hotkey: The SS58 address of the hotkey to unstake from. + netuid: The unique identifier of the subnet. + rate_tolerance: The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum + price decrease. If not passed (None), then unstaking goes without price limit. Default is `0.005`. + wait_for_inclusion: Waits for the transaction to be included in a block. Default is `True`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is `False`. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You can + think of it as an expiration date for the transaction. Default is `None`. + + Returns: + tuple[bool, str]: + A tuple containing: + - `True` and a success message if the unstake operation succeeded; + - `False` and an error message otherwise. + """ + if not (unlock := unlock_key(wallet)).success: + logging.error(unlock.message) + return False, unlock.message + + call_params = { + "hotkey": hotkey, + "netuid": netuid, + "limit_price": None, + } + + if rate_tolerance: + current_price = subtensor.subnet(netuid=netuid).price + limit_price = current_price * (1 - rate_tolerance) + call_params.update({"limit_price": limit_price}) + + call = subtensor.substrate.compose_call( + call_module="SubtensorModule", + call_function="remove_stake_full_limit", + call_params=call_params, + ) + + success, message = subtensor.sign_and_send_extrinsic( + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + nonce_key="coldkeypub", + sign_with="coldkey", + use_nonce=True, + period=period, + ) + + return success, message
        + + +
        [docs] def unstake_multiple_extrinsic( @@ -494,24 +617,34 @@

        Source code for bittensor.core.extrinsics.unstaking

        amounts: Optional[list[Balance]] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, + period: Optional[int] = None, + unstake_all: bool = False, ) -> bool: """Removes stake from each ``hotkey_ss58`` in the list, using each amount, to a common coldkey. Args: - subtensor (bittensor.core.subtensor.Subtensor): Subtensor instance. - wallet (bittensor_wallet.Wallet): The wallet with the coldkey to unstake to. - hotkey_ss58s (List[str]): List of hotkeys to unstake from. - netuids (List[int]): List of subnets unique IDs to unstake from. - amounts (List[Balance]): List of amounts to unstake. If ``None``, unstake all. - wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning ``True``, or + subtensor: Subtensor instance. + wallet: The wallet with the coldkey to unstake to. + hotkey_ss58s: List of hotkeys to unstake from. + netuids: List of subnets unique IDs to unstake from. + amounts: List of amounts to unstake. If ``None``, unstake all. + wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or returns ``False`` if the extrinsic fails to enter the block within the timeout. - wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. + wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning ``True``, + or returns ``False`` if the extrinsic fails to be finalized within the timeout. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You can + think of it as an expiration date for the transaction. + unstake_all: If true, unstakes all tokens. Default is ``False``. Returns: - success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. Flag is ``True`` if any - wallet was unstaked. If we did not wait for finalization / inclusion, the response is ``True``. + tuple[bool, str]: + A tuple containing: + - `True` and a success message if the unstake operation succeeded; + - `False` and an error message otherwise. """ + if amounts and unstake_all: + raise ValueError("Cannot specify both `amounts` and `unstake_all`.") if not isinstance(hotkey_ss58s, list) or not all( isinstance(hotkey_ss58, str) for hotkey_ss58 in hotkey_ss58s @@ -562,7 +695,7 @@

        Source code for bittensor.core.extrinsics.unstaking

        for idx, (hotkey_ss58, amount, old_stake, netuid) in enumerate( zip(hotkey_ss58s, amounts, old_stakes, netuids) ): - # Covert to bittensor.Balance + # Convert to bittensor.Balance if amount is None: # Unstake it all. unstaking_balance = old_stake @@ -596,28 +729,19 @@

        Source code for bittensor.core.extrinsics.unstaking

        }, ) staking_response, err_msg = subtensor.sign_and_send_extrinsic( - call, - wallet, - wait_for_inclusion, - wait_for_finalization, + call=call, + wallet=wallet, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, nonce_key="coldkeypub", sign_with="coldkey", use_nonce=True, + period=period, ) if staking_response is True: # If we successfully unstaked. # We only wait here if we expect finalization. - if idx < len(hotkey_ss58s) - 1: - # Wait for tx rate limit. - tx_rate_limit_blocks = subtensor.tx_rate_limit() - if tx_rate_limit_blocks > 0: - logging.info( - f":hourglass: [yellow]Waiting for tx rate limit: " - f"[white]{tx_rate_limit_blocks}[/white] blocks[/yellow]" - ) - time.sleep(tx_rate_limit_blocks * 12) # 12 seconds per block - if not wait_for_finalization and not wait_for_inclusion: successful_unstakes += 1 continue @@ -642,14 +766,11 @@

        Source code for bittensor.core.extrinsics.unstaking

        logging.error(f":cross_mark: [red]Failed: {err_msg}.[/red]") continue - except NotRegisteredError: + except SubstrateRequestException as error: logging.error( - f":cross_mark: [red]Hotkey[/red] [blue]{hotkey_ss58}[/blue] [red]is not registered.[/red]" + f":cross_mark: [red]Multiple unstake filed with error: {format_error_message(error)}[/red]" ) - continue - except StakeError as e: - logging.error(":cross_mark: [red]Stake Error: {}[/red]".format(e)) - continue + return False if successful_unstakes != 0: logging.info( diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/utils.html b/static/python-api/html/_modules/bittensor/core/extrinsics/utils.html index 52fd9a21f1..8b5f06b4f0 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/utils.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/utils.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -339,98 +338,11 @@

        Source code for bittensor.core.extrinsics.utils

        < from typing import TYPE_CHECKING -from async_substrate_interface.errors import SubstrateRequestException - -from bittensor.utils import format_error_message from bittensor.utils.balance import Balance -from bittensor.utils.btlogging import logging if TYPE_CHECKING: from bittensor_wallet import Wallet - from bittensor.core.async_subtensor import AsyncSubtensor - from async_substrate_interface import ( - AsyncExtrinsicReceipt, - ExtrinsicReceipt, - ) - from bittensor.core.subtensor import Subtensor from bittensor.core.chain_data import StakeInfo - from scalecodec.types import GenericExtrinsic - - -def submit_extrinsic( - subtensor: "Subtensor", - extrinsic: "GenericExtrinsic", - wait_for_inclusion: bool, - wait_for_finalization: bool, -) -> "ExtrinsicReceipt": - """ - Submits an extrinsic to the substrate blockchain and handles potential exceptions. - - This function attempts to submit an extrinsic to the substrate blockchain with specified options - for waiting for inclusion in a block and/or finalization. If an exception occurs during submission, - it logs the error and re-raises the exception. - - Args: - subtensor: The Subtensor instance used to interact with the blockchain. - extrinsic (scalecodec.types.GenericExtrinsic): The extrinsic to be submitted to the blockchain. - wait_for_inclusion (bool): Whether to wait for the extrinsic to be included in a block. - wait_for_finalization (bool): Whether to wait for the extrinsic to be finalized on the blockchain. - - Returns: - response: The response from the substrate after submitting the extrinsic. - - Raises: - SubstrateRequestException: If the submission of the extrinsic fails, the error is logged and re-raised. - """ - try: - return subtensor.substrate.submit_extrinsic( - extrinsic, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - ) - except SubstrateRequestException as e: - logging.error(format_error_message(e.args[0])) - # Re-raise the exception for retrying of the extrinsic call. If we remove the retry logic, - # the raise will need to be removed. - raise - - -async def async_submit_extrinsic( - subtensor: "AsyncSubtensor", - extrinsic: "GenericExtrinsic", - wait_for_inclusion: bool, - wait_for_finalization: bool, -) -> "AsyncExtrinsicReceipt": - """ - Submits an extrinsic to the substrate blockchain and handles potential exceptions. - - This function attempts to submit an extrinsic to the substrate blockchain with specified options - for waiting for inclusion in a block and/or finalization. If an exception occurs during submission, - it logs the error and re-raises the exception. - - Args: - subtensor: The AsyncSubtensor instance used to interact with the blockchain. - extrinsic: The extrinsic to be submitted to the blockchain. - wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. - wait_for_finalization: Whether to wait for the extrinsic to be finalized on the blockchain. - - Returns: - response: The response from the substrate after submitting the extrinsic. - - Raises: - SubstrateRequestException: If the submission of the extrinsic fails, the error is logged and re-raised. - """ - try: - return await subtensor.substrate.submit_extrinsic( - extrinsic, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - ) - except SubstrateRequestException as e: - logging.error(format_error_message(e.args[0])) - # Re-raise the exception for retrying of the extrinsic call. If we remove the retry logic, - # the raise will need to be removed. - raise
        @@ -440,19 +352,19 @@

        Source code for bittensor.core.extrinsics.utils

        < hotkey_ss58s: list[str], netuids: list[int], all_stakes: list["StakeInfo"], -) -> list[Balance]: +) -> list["Balance"]: """ Retrieve the previous staking balances for a wallet's hotkeys across given netuids. - This function searches through the provided staking data to find the stake amounts - for the specified hotkeys and netuids associated with the wallet's coldkey. If no match - is found for a particular hotkey and netuid combination, a default balance of zero is returned. + This function searches through the provided staking data to find the stake amounts for the specified hotkeys and + netuids associated with the wallet's coldkey. If no match is found for a particular hotkey and netuid combination, + a default balance of zero is returned. Args: - wallet (Wallet): The wallet containing the coldkey to compare with stake data. - hotkey_ss58s (list[str]): List of hotkey SS58 addresses for which stakes are retrieved. - netuids (list[int]): List of network unique identifiers (netuids) corresponding to the hotkeys. - all_stakes (list[StakeInfo]): A collection of all staking information to search through. + wallet: The wallet containing the coldkey to compare with stake data. + hotkey_ss58s: List of hotkey SS58 addresses for which stakes are retrieved. + netuids: List of network unique identifiers (netuids) corresponding to the hotkeys. + all_stakes: A collection of all staking information to search through. Returns: list[Balance]: A list of Balances, each representing the stake for a given hotkey and netuid. diff --git a/static/python-api/html/_modules/bittensor/core/metagraph.html b/static/python-api/html/_modules/bittensor/core/metagraph.html index 9a47aa83d9..0b00285a76 100644 --- a/static/python-api/html/_modules/bittensor/core/metagraph.html +++ b/static/python-api/html/_modules/bittensor/core/metagraph.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -335,7 +334,9 @@

        Source code for bittensor.core.metagraph

        -import copy
        +import asyncio
        +import contextlib
        +import copy
         import os
         import pickle
         import typing
        @@ -347,6 +348,7 @@ 

        Source code for bittensor.core.metagraph

         import numpy as np
         from async_substrate_interface.errors import SubstrateRequestException
         from numpy.typing import NDArray
        +from packaging import version
         
         from bittensor.core import settings
         from bittensor.core.chain_data import (
        @@ -379,7 +381,6 @@ 

        Source code for bittensor.core.metagraph

         
         
         Tensor = Union["torch.nn.Parameter", NDArray]
        -ROOT_TAO_STAKES_WEIGHT = 0.18
         
         
         METAGRAPH_STATE_DICT_NDARRAY_KEYS = [
        @@ -486,6 +487,30 @@ 

        Source code for bittensor.core.metagraph

         
         
         
        +
        +[docs] +def safe_globals(): + """ + Context manager to load torch files for version 2.6+ + """ + if version.parse(torch.__version__).release < version.parse("2.6").release: + return contextlib.nullcontext() + + np_core = ( + np._core if version.parse(np.__version__) >= version.parse("2.0.0") else np.core + ) + allow_list = [ + np_core.multiarray._reconstruct, + np.ndarray, + np.dtype, + type(np.dtype(np.uint32)), + np.dtypes.Float32DType, + bytes, + ] + return torch.serialization.safe_globals(allow_list)
        + + +
        [docs] class MetagraphMixin(ABC): @@ -1124,14 +1149,6 @@

        Source code for bittensor.core.metagraph

                     [neuron.validator_trust for neuron in self.neurons],
                     dtype=self._dtype_registry["float32"],
                 )
        -        self.total_stake = self._create_tensor(
        -            [neuron.total_stake.tao for neuron in self.neurons],
        -            dtype=self._dtype_registry["float32"],
        -        )
        -        self.stake = self._create_tensor(
        -            [neuron.stake.tao for neuron in self.neurons],
        -            dtype=self._dtype_registry["float32"],
        -        )
                 self.axons = [n.axon_info for n in self.neurons]
         
         
        @@ -1497,7 +1514,8 @@

        Source code for bittensor.core.metagraph

                 """
         
                 graph_file = latest_block_path(dir_path)
        -        state_dict = torch.load(graph_file)
        +        with safe_globals():
        +            state_dict = torch.load(graph_file)
                 self.n = torch.nn.Parameter(state_dict["n"], requires_grad=False)
                 self.block = torch.nn.Parameter(state_dict["block"], requires_grad=False)
                 self.uids = torch.nn.Parameter(state_dict["uids"], requires_grad=False)
        @@ -1635,7 +1653,8 @@ 

        Source code for bittensor.core.metagraph

                     try:
                         import torch as real_torch
         
        -                state_dict = real_torch.load(graph_filename)
        +                with safe_globals():
        +                    state_dict = real_torch.load(graph_filename)
                         for key in METAGRAPH_STATE_DICT_NDARRAY_KEYS:
                             state_dict[key] = state_dict[key].detach().numpy()
                         del real_torch
        @@ -1783,13 +1802,13 @@ 

        Source code for bittensor.core.metagraph

         
                 # If not a 'lite' version, compute and set weights and bonds for each neuron
                 if not lite:
        -            await self._set_weights_and_bonds(subtensor=subtensor)
        +            await self._set_weights_and_bonds(subtensor=subtensor, block=block)
         
                 # Fills in the stake associated attributes of a class instance from a chain response.
        -        await self._get_all_stakes_from_chain()
        +        await self._get_all_stakes_from_chain(block=block)
         
                 # apply MetagraphInfo data to instance
        -        await self._apply_metagraph_info()
        + await self._apply_metagraph_info(block=block)
        async def _initialize_subtensor( @@ -1863,9 +1882,7 @@

        Source code for bittensor.core.metagraph

                     self.neurons = await subtensor.neurons(block=block, netuid=self.netuid)
                 self.lite = lite
         
        -    async def _set_weights_and_bonds(
        -        self, subtensor: Optional["AsyncSubtensor"] = None
        -    ):
        +    async def _set_weights_and_bonds(self, subtensor: "AsyncSubtensor", block: int):
                 """
                 Computes and sets the weights and bonds for each neuron in the metagraph. This method is responsible for
                 processing the raw weight and bond data obtained from the network and converting it into a structured format
        @@ -1886,6 +1903,7 @@ 

        Source code for bittensor.core.metagraph

                         [neuron.weights for neuron in self.neurons],
                         "weights",
                         subtensor,
        +                block=block,
                     )
                 else:
                     self.weights = self._process_weights_or_bonds(
        @@ -1896,7 +1914,7 @@ 

        Source code for bittensor.core.metagraph

                     )
         
             async def _process_root_weights(
        -        self, data: list, attribute: str, subtensor: "AsyncSubtensor"
        +        self, data: list, attribute: str, subtensor: "AsyncSubtensor", block: int
             ) -> Union[NDArray, "torch.nn.Parameter"]:
                 """
                 Specifically processes the root weights data for the metagraph. This method is similar to :func:`_process_weights_or_bonds`
        @@ -1917,8 +1935,10 @@ 

        Source code for bittensor.core.metagraph

                         self.root_weights = self._process_root_weights(raw_root_weights_data, "weights", subtensor)
                 """
                 data_array = []
        -        n_subnets = await subtensor.get_total_subnets() or 0
        -        subnets = await subtensor.get_subnets()
        +        n_subnets_, subnets = await asyncio.gather(
        +            subtensor.get_total_subnets(block=block), subtensor.get_subnets(block=block)
        +        )
        +        n_subnets = n_subnets_ or 0
                 for item in data:
                     if len(item) == 0:
                         if use_torch():
        @@ -1953,13 +1973,14 @@ 

        Source code for bittensor.core.metagraph

                     )
                 return tensor_param
         
        -    async def _get_all_stakes_from_chain(self):
        +    async def _get_all_stakes_from_chain(self, block: int):
                 """Fills in the stake associated attributes of a class instance from a chain response."""
                 try:
                     result = await self.subtensor.query_runtime_api(
                         runtime_api="SubnetInfoRuntimeApi",
                         method="get_subnet_state",
                         params=[self.netuid],
        +                block=block,
                     )
         
                     if result is None:
        @@ -1984,7 +2005,10 @@ 

        Source code for bittensor.core.metagraph

                         dtype=self._dtype_registry["float32"],
                     )
                     self.tao_stake = self._create_tensor(
        -                [b.tao * ROOT_TAO_STAKES_WEIGHT for b in subnet_state.tao_stake],
        +                [
        +                    b.tao * settings.ROOT_TAO_STAKE_WEIGHT
        +                    for b in subnet_state.tao_stake
        +                ],
                         dtype=self._dtype_registry["float32"],
                     )
                     self.total_stake = self.stake = self._create_tensor(
        @@ -1995,9 +2019,11 @@ 

        Source code for bittensor.core.metagraph

                 except (SubstrateRequestException, AttributeError) as e:
                     logging.debug(e)
         
        -    async def _apply_metagraph_info(self):
        +    async def _apply_metagraph_info(self, block: int):
                 """Retrieves metagraph information for a specific subnet and applies it using a mixin."""
        -        metagraph_info = await self.subtensor.get_metagraph_info(self.netuid)
        +        metagraph_info = await self.subtensor.get_metagraph_info(
        +            self.netuid, block=block
        +        )
                 if metagraph_info:
                     self._apply_metagraph_info_mixin(metagraph_info=metagraph_info)
        @@ -2015,7 +2041,7 @@

        Source code for bittensor.core.metagraph

                 subtensor: Optional["Subtensor"] = None,
             ):
                 super().__init__(netuid, network, lite, sync, subtensor)
        -        if sync:
        +        if self.should_sync:
                     self.sync()
         
         
        @@ -2099,13 +2125,13 @@

        Source code for bittensor.core.metagraph

         
                 # If not a 'lite' version, compute and set weights and bonds for each neuron
                 if not lite:
        -            self._set_weights_and_bonds(subtensor=subtensor)
        +            self._set_weights_and_bonds(subtensor=subtensor, block=block)
         
                 # Fills in the stake associated attributes of a class instance from a chain response.
        -        self._get_all_stakes_from_chain()
        +        self._get_all_stakes_from_chain(block=block)
         
                 # apply MetagraphInfo data to instance
        -        self._apply_metagraph_info()
        + self._apply_metagraph_info(block=block)
        def _initialize_subtensor(self, subtensor: "Subtensor") -> "Subtensor": @@ -2176,7 +2202,7 @@

        Source code for bittensor.core.metagraph

                     self.neurons = subtensor.neurons(block=block, netuid=self.netuid)
                 self.lite = lite
         
        -    def _set_weights_and_bonds(self, subtensor: Optional["Subtensor"] = None):
        +    def _set_weights_and_bonds(self, block: int, subtensor: "Subtensor"):
                 """
                 Computes and sets the weights and bonds for each neuron in the metagraph. This method is responsible for
                 processing the raw weight and bond data obtained from the network and converting it into a structured format
        @@ -2193,9 +2219,7 @@ 

        Source code for bittensor.core.metagraph

                 """
                 if self.netuid == 0:
                     self.weights = self._process_root_weights(
        -                [neuron.weights for neuron in self.neurons],
        -                "weights",
        -                subtensor,
        +                [neuron.weights for neuron in self.neurons], "weights", subtensor, block
                     )
                 else:
                     self.weights = self._process_weights_or_bonds(
        @@ -2206,7 +2230,7 @@ 

        Source code for bittensor.core.metagraph

                     )
         
             def _process_root_weights(
        -        self, data: list, attribute: str, subtensor: "Subtensor"
        +        self, data: list, attribute: str, subtensor: "Subtensor", block: int
             ) -> Union[NDArray, "torch.nn.Parameter"]:
                 """
                 Specifically processes the root weights data for the metagraph. This method is similar to :func:`_process_weights_or_bonds`
        @@ -2227,8 +2251,8 @@ 

        Source code for bittensor.core.metagraph

                         self.root_weights = self._process_root_weights(raw_root_weights_data, "weights", subtensor)
                 """
                 data_array = []
        -        n_subnets = subtensor.get_total_subnets() or 0
        -        subnets = subtensor.get_subnets()
        +        n_subnets = subtensor.get_total_subnets(block=block) or 0
        +        subnets = subtensor.get_subnets(block=block)
                 for item in data:
                     if len(item) == 0:
                         if use_torch():
        @@ -2263,13 +2287,14 @@ 

        Source code for bittensor.core.metagraph

                     )
                 return tensor_param
         
        -    def _get_all_stakes_from_chain(self):
        +    def _get_all_stakes_from_chain(self, block: int):
                 """Fills in the stake associated attributes of a class instance from a chain response."""
                 try:
                     result = self.subtensor.query_runtime_api(
                         runtime_api="SubnetInfoRuntimeApi",
                         method="get_subnet_state",
                         params=[self.netuid],
        +                block=block,
                     )
         
                     if result is None:
        @@ -2294,7 +2319,10 @@ 

        Source code for bittensor.core.metagraph

                         dtype=self._dtype_registry["float32"],
                     )
                     self.tao_stake = self._create_tensor(
        -                [b.tao * ROOT_TAO_STAKES_WEIGHT for b in subnet_state.tao_stake],
        +                [
        +                    b.tao * settings.ROOT_TAO_STAKE_WEIGHT
        +                    for b in subnet_state.tao_stake
        +                ],
                         dtype=self._dtype_registry["float32"],
                     )
                     self.total_stake = self.stake = self._create_tensor(
        @@ -2305,9 +2333,9 @@ 

        Source code for bittensor.core.metagraph

                 except (SubstrateRequestException, AttributeError) as e:
                     logging.debug(e)
         
        -    def _apply_metagraph_info(self):
        +    def _apply_metagraph_info(self, block: int):
                 """Retrieves metagraph information for a specific subnet and applies it using a mixin."""
        -        metagraph_info = self.subtensor.get_metagraph_info(self.netuid)
        +        metagraph_info = self.subtensor.get_metagraph_info(self.netuid, block=block)
                 if metagraph_info:
                     self._apply_metagraph_info_mixin(metagraph_info=metagraph_info)
        diff --git a/static/python-api/html/_modules/bittensor/core/stream.html b/static/python-api/html/_modules/bittensor/core/stream.html index 40701ae374..0e93242574 100644 --- a/static/python-api/html/_modules/bittensor/core/stream.html +++ b/static/python-api/html/_modules/bittensor/core/stream.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/subtensor.html b/static/python-api/html/_modules/bittensor/core/subtensor.html index 83aaf50920..7fe55def45 100644 --- a/static/python-api/html/_modules/bittensor/core/subtensor.html +++ b/static/python-api/html/_modules/bittensor/core/subtensor.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -336,40 +335,60 @@

        Source code for bittensor.core.subtensor

         import copy
        +from datetime import datetime, timezone
         from functools import lru_cache
         from typing import TYPE_CHECKING, Any, Iterable, Optional, Union, cast
         
         import numpy as np
        -import requests
         import scalecodec
         from async_substrate_interface.errors import SubstrateRequestException
        -from async_substrate_interface.types import ScaleObj
        +from async_substrate_interface.substrate_addons import RetrySyncSubstrate
         from async_substrate_interface.sync_substrate import SubstrateInterface
        -from async_substrate_interface.utils import json
        +from async_substrate_interface.types import ScaleObj
        +from bittensor_drand import get_encrypted_commitment
         from numpy.typing import NDArray
         
         from bittensor.core.async_subtensor import ProposalVoteData
         from bittensor.core.axon import Axon
         from bittensor.core.chain_data import (
        +    DelegatedInfo,
             DelegateInfo,
             DynamicInfo,
             MetagraphInfo,
             NeuronInfo,
             NeuronInfoLite,
        +    SelectiveMetagraphIndex,
             StakeInfo,
        +    SubnetInfo,
        +    SubnetIdentity,
             SubnetHyperparameters,
             WeightCommitInfo,
        -    SubnetIdentity,
        -    SubnetInfo,
             decode_account_id,
         )
        -from bittensor.core.chain_data.utils import decode_metadata
        +from bittensor.core.chain_data.chain_identity import ChainIdentity
        +from bittensor.core.chain_data.utils import (
        +    decode_block,
        +    decode_metadata,
        +    decode_revealed_commitment,
        +    decode_revealed_commitment_with_hotkey,
        +)
         from bittensor.core.config import Config
        +from bittensor.core.errors import ChainError
        +from bittensor.core.extrinsics.children import (
        +    set_children_extrinsic,
        +    root_set_pending_childkey_cooldown_extrinsic,
        +)
         from bittensor.core.extrinsics.commit_reveal import commit_reveal_v3_extrinsic
         from bittensor.core.extrinsics.commit_weights import (
             commit_weights_extrinsic,
             reveal_weights_extrinsic,
         )
        +from bittensor.core.extrinsics.liquidity import (
        +    add_liquidity_extrinsic,
        +    modify_liquidity_extrinsic,
        +    remove_liquidity_extrinsic,
        +    toggle_user_liquidity_extrinsic,
        +)
         from bittensor.core.extrinsics.move_stake import (
             transfer_stake_extrinsic,
             swap_stake_extrinsic,
        @@ -386,6 +405,7 @@ 

        Source code for bittensor.core.subtensor

             set_root_weights_extrinsic,
         )
         from bittensor.core.extrinsics.serving import (
        +    get_last_bonds_reset,
             publish_metadata,
             get_metadata,
             serve_axon_extrinsic,
        @@ -395,8 +415,14 @@ 

        Source code for bittensor.core.subtensor

             add_stake_extrinsic,
             add_stake_multiple_extrinsic,
         )
        +from bittensor.core.extrinsics.start_call import start_call_extrinsic
        +from bittensor.core.extrinsics.take import (
        +    decrease_take_extrinsic,
        +    increase_take_extrinsic,
        +)
         from bittensor.core.extrinsics.transfer import transfer_extrinsic
         from bittensor.core.extrinsics.unstaking import (
        +    unstake_all_extrinsic,
             unstake_extrinsic,
             unstake_multiple_extrinsic,
         )
        @@ -405,16 +431,15 @@ 

        Source code for bittensor.core.subtensor

             version_as_int,
             SS58_FORMAT,
             TYPE_REGISTRY,
        -    DELEGATES_DETAILS_URL,
         )
         from bittensor.core.types import ParamWithTypes, SubtensorMixin
         from bittensor.utils import (
        -    torch,
        -    format_error_message,
        +    Certificate,
             decode_hex_identity_dict,
        +    format_error_message,
        +    is_valid_ss58_address,
        +    torch,
             u16_normalized_float,
        -    _decode_hex_identity_dict,
        -    Certificate,
             u64_normalized_float,
         )
         from bittensor.utils.balance import (
        @@ -424,8 +449,18 @@ 

        Source code for bittensor.core.subtensor

             check_and_convert_to_balance,
         )
         from bittensor.utils.btlogging import logging
        -from bittensor.utils.delegates_details import DelegatesDetails
        -from bittensor.utils.weight_utils import generate_weight_hash
        +from bittensor.utils.liquidity import (
        +    calculate_fees,
        +    get_fees,
        +    tick_to_price,
        +    price_to_tick,
        +    LiquidityPosition,
        +)
        +from bittensor.utils.weight_utils import (
        +    generate_weight_hash,
        +    convert_uids_and_weights,
        +    U16_MAX,
        +)
         
         if TYPE_CHECKING:
             from bittensor_wallet import Wallet
        @@ -436,23 +471,32 @@ 

        Source code for bittensor.core.subtensor

         
        [docs] class Subtensor(SubtensorMixin): - """Thin layer for interacting with Substrate Interface. Mostly a collection of frequently-used calls.""" + """Thin layer for interacting with Substrate Interface. Mostly a collection of frequently used calls.""" def __init__( self, network: Optional[str] = None, - config: Optional["Config"] = None, - _mock: bool = False, + config: Optional[Config] = None, log_verbose: bool = False, + fallback_endpoints: Optional[list[str]] = None, + retry_forever: bool = False, + _mock: bool = False, + archive_endpoints: Optional[list[str]] = None, ): """ Initializes an instance of the Subtensor class. Arguments: - network (str): The network name or type to connect to. - config (Optional[Config]): Configuration object for the AsyncSubtensor instance. + network: The network name or type to connect to. + config: Configuration object for the AsyncSubtensor instance. + log_verbose: Enables or disables verbose logging. + fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. + Defaults to `None`. + retry_forever: Whether to retry forever on connection errors. Defaults to `False`. _mock: Whether this is a mock instance. Mainly just for use in testing. - log_verbose (bool): Enables or disables verbose logging. + archive_endpoints: Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases + where you are requesting a block that is too old for your current (presumably lite) node. Defaults to + `None` Raises: Any exceptions raised during the setup, configuration, or connection process. @@ -461,7 +505,6 @@

        Source code for bittensor.core.subtensor

                     config = self.config()
                 self._config = copy.deepcopy(config)
                 self.chain_endpoint, self.network = self.setup_config(network, self._config)
        -        self._mock = _mock
         
                 self.log_verbose = log_verbose
                 self._check_and_log_network_settings()
        @@ -470,13 +513,11 @@ 

        Source code for bittensor.core.subtensor

                     f"Connecting to network: [blue]{self.network}[/blue], "
                     f"chain_endpoint: [blue]{self.chain_endpoint}[/blue]> ..."
                 )
        -        self.substrate = SubstrateInterface(
        -            url=self.chain_endpoint,
        -            ss58_format=SS58_FORMAT,
        -            type_registry=TYPE_REGISTRY,
        -            use_remote_preset=True,
        -            chain_name="Bittensor",
        +        self.substrate = self._get_substrate(
        +            fallback_endpoints=fallback_endpoints,
        +            retry_forever=retry_forever,
                     _mock=_mock,
        +            archive_endpoints=archive_endpoints,
                 )
                 if self.log_verbose:
                     logging.info(
        @@ -492,12 +533,52 @@ 

        Source code for bittensor.core.subtensor

         
        [docs] def close(self): - """ - Closes the websocket connection - """ + """Closes the websocket connection.""" self.substrate.close()
        + def _get_substrate( + self, + fallback_endpoints: Optional[list[str]] = None, + retry_forever: bool = False, + _mock: bool = False, + archive_endpoints: Optional[list[str]] = None, + ) -> Union[SubstrateInterface, RetrySyncSubstrate]: + """Creates the Substrate instance based on provided arguments. + + Arguments: + fallback_endpoints: List of fallback chains endpoints to use if main network isn't available. Defaults to + `None`. + retry_forever: Whether to retry forever on connection errors. Defaults to `False`. + _mock: Whether this is a mock instance. Mainly just for use in testing. + archive_endpoints: Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases + where you are requesting a block that is too old for your current (presumably lite) node. Defaults to + `None` + + Returns: + the instance of the SubstrateInterface or RetrySyncSubstrate class. + """ + if fallback_endpoints or retry_forever or archive_endpoints: + return RetrySyncSubstrate( + url=self.chain_endpoint, + ss58_format=SS58_FORMAT, + type_registry=TYPE_REGISTRY, + use_remote_preset=True, + chain_name="Bittensor", + fallback_chains=fallback_endpoints, + retry_forever=retry_forever, + _mock=_mock, + archive_nodes=archive_endpoints, + ) + return SubstrateInterface( + url=self.chain_endpoint, + ss58_format=SS58_FORMAT, + type_registry=TYPE_REGISTRY, + use_remote_preset=True, + chain_name="Bittensor", + _mock=_mock, + ) + # Subtensor queries ===========================================================================================
        @@ -732,13 +813,37 @@

        Source code for bittensor.core.subtensor

                     Optional[DynamicInfo]: A list of DynamicInfo objects, each containing detailed information about a subnet.
         
                 """
        -        block_hash = self.determine_block_hash(block)
        +        block_hash = self.determine_block_hash(block=block)
                 query = self.substrate.runtime_call(
        -            "SubnetInfoRuntimeApi",
        -            "get_all_dynamic_info",
        +            api="SubnetInfoRuntimeApi",
        +            method="get_all_dynamic_info",
                     block_hash=block_hash,
                 )
        -        return DynamicInfo.list_from_dicts(query.decode())
        + subnet_prices = self.get_subnet_prices() + decoded = query.decode() + for sn in decoded: + sn.update({"price": subnet_prices.get(sn["netuid"], Balance.from_tao(0))}) + return DynamicInfo.list_from_dicts(decoded)
        + + +
        +[docs] + def blocks_since_last_step( + self, netuid: int, block: Optional[int] = None + ) -> Optional[int]: + """Returns number of blocks since the last epoch of the subnet. + + Arguments: + netuid (int): The unique identifier of the subnetwork. + block: the block number for this query. + + Returns: + block number of the last step in the subnet. + """ + query = self.query_subtensor( + name="BlocksSinceLastStep", block=block, params=[netuid] + ) + return query.value if query is not None and hasattr(query, "value") else query
        @@ -756,7 +861,7 @@

        Source code for bittensor.core.subtensor

                         exist.
                 """
                 call = self.get_hyperparameter(param_name="LastUpdate", netuid=netuid)
        -        return None if call is None else (self.get_current_block() - int(call[uid]))
        + return None if not call else (self.get_current_block() - int(call[uid]))
        @@ -797,7 +902,9 @@

        Source code for bittensor.core.subtensor

         
         
        [docs] - def commit(self, wallet, netuid: int, data: str) -> bool: + def commit( + self, wallet, netuid: int, data: str, period: Optional[int] = None + ) -> bool: """ Commits arbitrary data to the Bittensor network by publishing metadata. @@ -805,6 +912,12 @@

        Source code for bittensor.core.subtensor

                     wallet (bittensor_wallet.Wallet): The wallet associated with the neuron committing the data.
                     netuid (int): The unique identifier of the subnetwork.
                     data (str): The data to be committed to the network.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
        +
        +        Returns:
        +            bool: `True` if the commitment was successful, `False` otherwise.
                 """
                 return publish_metadata(
                     subtensor=self,
        @@ -812,6 +925,7 @@ 

        Source code for bittensor.core.subtensor

                     netuid=netuid,
                     data_type=f"Raw{len(data)}",
                     data=data.encode(),
        +            period=period,
                 )
        @@ -824,7 +938,7 @@

        Source code for bittensor.core.subtensor

                 self, netuid: int, block: Optional[int] = None
             ) -> Optional[bool]:
                 """
        -        Check if commit-reveal mechanism is enabled for a given network at a specific block.
        +        Check if the commit-reveal mechanism is enabled for a given network at a specific block.
         
                 Arguments:
                     netuid: The network identifier for which to check the commit-reveal mechanism.
        @@ -888,6 +1002,7 @@ 

        Source code for bittensor.core.subtensor

                 return_val = (
                     False
                     if result is None
        +            # not the default key (0x0)
                     else result != "5C4hrfjw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM"
                 )
                 return return_val
        @@ -917,22 +1032,27 @@

        Source code for bittensor.core.subtensor

                 )
                 if not result:
                     return []
        -        else:
        -            return SubnetInfo.list_from_dicts(result)
        + + subnets_prices = self.get_subnet_prices() + + for subnet in result: + subnet.update({"price": subnets_prices.get(subnet["netuid"], 0)}) + + return SubnetInfo.list_from_dicts(result)
        [docs] def get_balance(self, address: str, block: Optional[int] = None) -> Balance: """ - Retrieves the balance for given coldkey. + Retrieves the balance for given coldkey. Always in TAO. Arguments: - address (str): coldkey address. + address: coldkey address. block (Optional[int]): The blockchain block number for the query. Returns: - Balance object. + Balance object in TAO. """ balance = self.substrate.query( module="System", @@ -1085,6 +1205,41 @@

        Source code for bittensor.core.subtensor

                 return getattr(result, "value", result)
        +
        +[docs] + def get_parents( + self, hotkey: str, netuid: int, block: Optional[int] = None + ) -> list[tuple[float, str]]: + """ + This method retrieves the parent of a given hotkey and netuid. It queries the SubtensorModule's ParentKeys + storage function to get the children and formats them before returning as a tuple. + + Arguments: + hotkey: The child hotkey SS58. + netuid: The netuid. + block: The block number for which the children are to be retrieved. + + Returns: + A list of formatted parents [(proportion, parent)] + """ + parents = self.substrate.query( + module="SubtensorModule", + storage_function="ParentKeys", + params=[hotkey, netuid], + block_hash=self.determine_block_hash(block), + ) + if parents: + formatted_parents = [] + for proportion, parent in parents.value: + # Convert U64 to int + formatted_child = decode_account_id(parent[0]) + normalized_proportion = u64_normalized_float(proportion) + formatted_parents.append((normalized_proportion, formatted_child)) + return formatted_parents + + return []
        + +
        [docs] def get_children( @@ -1124,6 +1279,50 @@

        Source code for bittensor.core.subtensor

                     return False, [], format_error_message(e)
        +
        +[docs] + def get_children_pending( + self, + hotkey: str, + netuid: int, + block: Optional[int] = None, + ) -> tuple[ + list[tuple[float, str]], + int, + ]: + """ + This method retrieves the pending children of a given hotkey and netuid. + It queries the SubtensorModule's PendingChildKeys storage function. + + Arguments: + hotkey (str): The hotkey value. + netuid (int): The netuid value. + block (Optional[int]): The block number for which the children are to be retrieved. + + Returns: + list[tuple[float, str]]: A list of children with their proportions. + int: The cool-down block number. + """ + + children, cooldown = self.substrate.query( + module="SubtensorModule", + storage_function="PendingChildKeys", + params=[netuid, hotkey], + block_hash=self.determine_block_hash(block), + ).value + + return ( + [ + ( + u64_normalized_float(proportion), + decode_account_id(child[0]), + ) + for proportion, child in children + ], + cooldown, + )
        + +
        [docs] def get_commitment(self, netuid: int, uid: int, block: Optional[int] = None) -> str: @@ -1156,6 +1355,36 @@

        Source code for bittensor.core.subtensor

                     return ""
        +
        +[docs] + def get_last_commitment_bonds_reset_block( + self, netuid: int, uid: int + ) -> Optional[int]: + """ + Retrieves the last block number when the bonds reset were triggered by publish_metadata for a specific neuron. + + Arguments: + netuid (int): The unique identifier of the subnetwork. + uid (int): The unique identifier of the neuron. + + Returns: + Optional[int]: The block number when the bonds were last reset, or None if not found. + """ + + metagraph = self.metagraph(netuid) + try: + hotkey = metagraph.hotkeys[uid] + except IndexError: + logging.error( + "Your uid is not in the hotkeys. Please double-check your UID." + ) + return None + block = get_last_bonds_reset(self, netuid, hotkey) + if block is None: + return None + return decode_block(block)
        + +
        [docs] def get_all_commitments( @@ -1169,7 +1398,112 @@

        Source code for bittensor.core.subtensor

                 )
                 result = {}
                 for id_, value in query:
        -            result[decode_account_id(id_[0])] = decode_account_id(value)
        +            result[decode_account_id(id_[0])] = decode_metadata(value)
        +        return result
        + + +
        +[docs] + def get_revealed_commitment_by_hotkey( + self, + netuid: int, + hotkey_ss58_address: str, + block: Optional[int] = None, + ) -> Optional[tuple[tuple[int, str], ...]]: + """Returns hotkey related revealed commitment for a given netuid. + + Arguments: + netuid (int): The unique identifier of the subnetwork. + hotkey_ss58_address (str): The ss58 address of the committee member. + block (Optional[int]): The block number to retrieve the commitment from. Default is ``None``. + + Returns: + result (tuple[int, str): A tuple of reveal block and commitment message. + """ + if not is_valid_ss58_address(address=hotkey_ss58_address): + raise ValueError(f"Invalid ss58 address {hotkey_ss58_address} provided.") + + query = self.query_module( + module="Commitments", + name="RevealedCommitments", + params=[netuid, hotkey_ss58_address], + block=block, + ) + if query is None: + return None + return tuple(decode_revealed_commitment(pair) for pair in query)
        + + +
        +[docs] + def get_revealed_commitment( + self, + netuid: int, + uid: int, + block: Optional[int] = None, + ) -> Optional[tuple[tuple[int, str], ...]]: + """Returns uid related revealed commitment for a given netuid. + + Arguments: + netuid (int): The unique identifier of the subnetwork. + uid (int): The neuron uid to retrieve the commitment from. + block (Optional[int]): The block number to retrieve the commitment from. Default is ``None``. + + Returns: + result (Optional[tuple[int, str]]: A tuple of reveal block and commitment message. + + Example of result: + ( (12, "Alice message 1"), (152, "Alice message 2") ) + ( (12, "Bob message 1"), (147, "Bob message 2") ) + """ + try: + meta_info = self.get_metagraph_info(netuid, block=block) + if meta_info: + hotkey_ss58_address = meta_info.hotkeys[uid] + else: + raise ValueError(f"Subnet with netuid {netuid} does not exist.") + except IndexError: + raise ValueError(f"Subnet {netuid} does not have a neuron with uid {uid}.") + + return self.get_revealed_commitment_by_hotkey( + netuid=netuid, hotkey_ss58_address=hotkey_ss58_address, block=block + )
        + + +
        +[docs] + def get_all_revealed_commitments( + self, netuid: int, block: Optional[int] = None + ) -> dict[str, tuple[tuple[int, str], ...]]: + """Returns all revealed commitments for a given netuid. + + Arguments: + netuid (int): The unique identifier of the subnetwork. + block (Optional[int]): The block number to retrieve the commitment from. Default is ``None``. + + Returns: + result (dict): A dictionary of all revealed commitments in view + {ss58_address: (reveal block, commitment message)}. + + Example of result: + { + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY": ( (12, "Alice message 1"), (152, "Alice message 2") ), + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty": ( (12, "Bob message 1"), (147, "Bob message 2") ), + } + """ + query = self.query_map( + module="Commitments", + name="RevealedCommitments", + params=[netuid], + block=block, + ) + + result = {} + for pair in query: + hotkey_ss58_address, commitment_message = ( + decode_revealed_commitment_with_hotkey(pair) + ) + result[hotkey_ss58_address] = commitment_message return result
        @@ -1237,69 +1571,34 @@

        Source code for bittensor.core.subtensor

         [docs]
             def get_delegate_identities(
                 self, block: Optional[int] = None
        -    ) -> dict[str, "DelegatesDetails"]:
        +    ) -> dict[str, ChainIdentity]:
                 """
        -        Fetches delegates identities from the chain and GitHub. Preference is given to chain data, and missing info is
        -            filled-in by the info from GitHub. At some point, we want to totally move away from fetching this info from
        -            GitHub, but chain data is still limited in that regard.
        +        Fetches delegates identities from the chain.
         
                 Arguments:
                     block (Optional[int]): The blockchain block number for the query.
         
                 Returns:
        -            Dict {ss58: DelegatesDetails, ...}
        +            Dict {ss58: ChainIdentity, ...}
         
                 """
        -        block_hash = self.determine_block_hash(block)
        -        response = requests.get(DELEGATES_DETAILS_URL)
        -        identities_info = self.substrate.query_map(
        -            module="Registry", storage_function="IdentityOf", block_hash=block_hash
        -        )
        -
        -        all_delegates_details = {}
        -        for ss58_address, identity in identities_info:
        -            all_delegates_details.update(
        -                {
        -                    decode_account_id(
        -                        ss58_address[0]
        -                    ): DelegatesDetails.from_chain_data(
        -                        decode_hex_identity_dict(identity.value["info"])
        -                    )
        -                }
        -            )
        -        if response.ok:
        -            all_delegates: dict[str, Any] = json.loads(response.content)
        -
        -            for delegate_hotkey, delegate_details in all_delegates.items():
        -                delegate_info = all_delegates_details.setdefault(
        -                    delegate_hotkey,
        -                    DelegatesDetails(
        -                        display=delegate_details.get("name", ""),
        -                        web=delegate_details.get("url", ""),
        -                        additional=delegate_details.get("description", ""),
        -                        pgp_fingerprint=delegate_details.get("fingerprint", ""),
        -                    ),
        -                )
        -                delegate_info.display = delegate_info.display or delegate_details.get(
        -                    "name", ""
        -                )
        -                delegate_info.web = delegate_info.web or delegate_details.get("url", "")
        -                delegate_info.additional = (
        -                    delegate_info.additional or delegate_details.get("description", "")
        -                )
        -                delegate_info.pgp_fingerprint = (
        -                    delegate_info.pgp_fingerprint
        -                    or delegate_details.get("fingerprint", "")
        -                )
        +        identities = self.substrate.query_map(
        +            module="SubtensorModule",
        +            storage_function="IdentitiesV2",
        +            block_hash=self.determine_block_hash(block),
        +        )
         
        -        return all_delegates_details
        + return { + decode_account_id(ss58_address[0]): ChainIdentity.from_dict( + decode_hex_identity_dict(identity.value), + ) + for ss58_address, identity in identities + }
        [docs] - def get_delegate_take( - self, hotkey_ss58: str, block: Optional[int] = None - ) -> Optional[float]: + def get_delegate_take(self, hotkey_ss58: str, block: Optional[int] = None) -> float: """ Retrieves the delegate 'take' percentage for a neuron identified by its hotkey. The 'take' represents the percentage of rewards that the delegate claims from its nominators' stakes. @@ -1309,7 +1608,7 @@

        Source code for bittensor.core.subtensor

                     block (Optional[int]): The blockchain block number for the query.
         
                 Returns:
        -            Optional[float]: The delegate take percentage, None if not available.
        +            float: The delegate take percentage.
         
                 The delegate take is a critical parameter in the network's incentive structure, influencing the distribution of
                     rewards among neurons and their nominators.
        @@ -1319,11 +1618,8 @@ 

        Source code for bittensor.core.subtensor

                     block=block,
                     params=[hotkey_ss58],
                 )
        -        return (
        -            None
        -            if result is None
        -            else u16_normalized_float(getattr(result, "value", 0))
        -        )
        + + return u16_normalized_float(result.value) # type: ignore
        @@ -1356,7 +1652,7 @@

        Source code for bittensor.core.subtensor

                 if not result:
                     return []
         
        -        return DelegateInfo.delegated_list_from_dicts(result)
        + return DelegatedInfo.list_from_dicts(result)
        @@ -1387,7 +1683,7 @@

        Source code for bittensor.core.subtensor

         [docs]
             def get_existential_deposit(self, block: Optional[int] = None) -> Optional[Balance]:
                 """
        -        Retrieves the existential deposit amount for the Bittensor blockchain.
        +        Retrieves the existential deposit amount for the Bittensor blockchain. Always in TAO.
                 The existential deposit is the minimum amount of TAO required for an account to exist on the blockchain.
                 Accounts with balances below this threshold can be reaped to conserve network resources.
         
        @@ -1395,7 +1691,7 @@ 

        Source code for bittensor.core.subtensor

                     block (Optional[int]): The blockchain block number for the query.
         
                 Returns:
        -            The existential deposit amount.
        +            The existential deposit amount. Always in TAO.
         
                 The existential deposit is a fundamental economic parameter in the Bittensor network, ensuring efficient use of
                     storage and preventing the proliferation of dust accounts.
        @@ -1447,13 +1743,9 @@ 

        Source code for bittensor.core.subtensor

             def get_minimum_required_stake(self) -> Balance:
                 """
                 Returns the minimum required stake for nominators in the Subtensor network.
        -        This method retries the substrate call up to three times with exponential backoff in case of failures.
         
                 Returns:
        -            Balance: The minimum required stake as a Balance object.
        -
        -        Raises:
        -            Exception: If the substrate call fails after the maximum number of retries.
        +            The minimum required stake as a Balance object in TAO.
                 """
                 result = self.substrate.query(
                     module="SubtensorModule", storage_function="NominatorMinRequiredStake"
        @@ -1465,29 +1757,66 @@ 

        Source code for bittensor.core.subtensor

         
        [docs] def get_metagraph_info( - self, netuid: int, block: Optional[int] = None + self, + netuid: int, + field_indices: Optional[Union[list[SelectiveMetagraphIndex], list[int]]] = None, + block: Optional[int] = None, ) -> Optional[MetagraphInfo]: """ - Retrieves the MetagraphInfo dataclass from the node for a single subnet (netuid) + Retrieves full or partial metagraph information for the specified subnet (netuid). Arguments: - netuid: The NetUID of the subnet. - block: the block number at which to retrieve the hyperparameter. Do not specify if using block_hash or - reuse_block + netuid: The NetUID of the subnet to query. + field_indices: An optional list of SelectiveMetagraphIndex or int values specifying which fields to retrieve. + If not provided, all available fields will be returned. + block: The block number at which to query the data. If not specified, the current block or one determined + via reuse_block or block_hash will be used. Returns: - MetagraphInfo dataclass + Optional[MetagraphInfo]: A MetagraphInfo object containing the requested subnet data, or None if the subnet + with the given netuid does not exist. + + Example: + meta_info = subtensor.get_metagraph_info(netuid=2) + + partial_meta_info = subtensor.get_metagraph_info( + netuid=2, + field_indices=[SelectiveMetagraphIndex.Name, SelectiveMetagraphIndex.OwnerHotkeys] + ) """ block_hash = self.determine_block_hash(block) - query = self.substrate.runtime_call( - "SubnetInfoRuntimeApi", - "get_metagraph", - params=[netuid], - block_hash=block_hash, - ) + + if field_indices: + if isinstance(field_indices, list) and all( + isinstance(f, (SelectiveMetagraphIndex, int)) for f in field_indices + ): + indexes = [ + f.value if isinstance(f, SelectiveMetagraphIndex) else f + for f in field_indices + ] + else: + raise ValueError( + "`field_indices` must be a list of SelectiveMetagraphIndex enums or ints." + ) + + query = self.substrate.runtime_call( + "SubnetInfoRuntimeApi", + "get_selective_metagraph", + params=[netuid, indexes if 0 in indexes else [0] + indexes], + block_hash=block_hash, + ) + else: + query = self.substrate.runtime_call( + "SubnetInfoRuntimeApi", + "get_metagraph", + params=[netuid], + block_hash=block_hash, + ) + if query.value is None: logging.error(f"Subnet {netuid} does not exist.") return None + return MetagraphInfo.from_dict(query.value)
        @@ -1579,49 +1908,291 @@

        Source code for bittensor.core.subtensor

                 return None
        -
        -[docs] - def get_neuron_for_pubkey_and_subnet( - self, hotkey_ss58: str, netuid: int, block: Optional[int] = None - ) -> Optional["NeuronInfo"]: +
        +[docs] + def get_all_neuron_certificates( + self, netuid: int, block: Optional[int] = None + ) -> dict[str, Certificate]: """ - Retrieves information about a neuron based on its public key (hotkey SS58 address) and the specific subnet UID - (netuid). This function provides detailed neuron information for a particular subnet within the Bittensor - network. + Retrieves the TLS certificates for neurons within a specified subnet (netuid) of the Bittensor network. Arguments: - hotkey_ss58 (str): The ``SS58`` address of the neuron's hotkey. - netuid (int): The unique identifier of the subnet. - block (Optional[int]): The blockchain block number for the query. + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. Returns: - Optional[bittensor.core.chain_data.neuron_info.NeuronInfo]: Detailed information about the neuron if found, - ``None`` otherwise. + {ss58: Certificate} for the key/Certificate pairs on the subnet - This function is crucial for accessing specific neuron data and understanding its status, stake, and other - attributes within a particular subnet of the Bittensor ecosystem. + This function is used for certificate discovery for setting up mutual tls communication between neurons. """ - block_hash = self.determine_block_hash(block) - uid = self.substrate.query( + query_certificates = self.query_map( module="SubtensorModule", - storage_function="Uids", - params=[netuid, hotkey_ss58], - block_hash=block_hash, - ) - if uid is None: - return NeuronInfo.get_null_neuron() - - result = self.query_runtime_api( - runtime_api="NeuronInfoRuntimeApi", - method="get_neuron", - params=[netuid, uid.value], + name="NeuronCertificates", + params=[netuid], block=block, ) + output = {} + for key, item in query_certificates: + output[decode_account_id(key)] = Certificate(item.value) + return output
        - if not result: - return NeuronInfo.get_null_neuron() - return NeuronInfo.from_dict(result)
        +
        +[docs] + def get_liquidity_list( + self, + wallet: "Wallet", + netuid: int, + block: Optional[int] = None, + ) -> Optional[list[LiquidityPosition]]: + """ + Retrieves all liquidity positions for the given wallet on a specified subnet (netuid). + Calculates associated fee rewards based on current global and tick-level fee data. + + Args: + wallet: Wallet instance to fetch positions for. + netuid: Subnet unique id. + block: The blockchain block number for the query. + + Returns: + List of liquidity positions, or None if subnet does not exist. + """ + if not self.subnet_exists(netuid=netuid): + logging.debug(f"Subnet {netuid} does not exist.") + return None + + if not self.is_subnet_active(netuid=netuid): + logging.debug(f"Subnet {netuid} is not active.") + return None + + query = self.substrate.query + block_hash = self.determine_block_hash(block) + + # Fetch global fees and current price + fee_global_tao_query = query( + module="Swap", + storage_function="FeeGlobalTao", + params=[netuid], + block_hash=block_hash, + ) + fee_global_alpha_query = query( + module="Swap", + storage_function="FeeGlobalAlpha", + params=[netuid], + block_hash=block_hash, + ) + sqrt_price_query = query( + module="Swap", + storage_function="AlphaSqrtPrice", + params=[netuid], + block_hash=block_hash, + ) + fee_global_tao = fixed_to_float(fee_global_tao_query) + fee_global_alpha = fixed_to_float(fee_global_alpha_query) + sqrt_price = fixed_to_float(sqrt_price_query) + current_tick = price_to_tick(sqrt_price**2) + + # Fetch positions + positions_response = self.query_map( + module="Swap", + name="Positions", + block=block, + params=[netuid, wallet.coldkeypub.ss58_address], + ) + + positions = [] + for _, p in positions_response: + position = p.value + + tick_low_idx = position["tick_low"][0] + tick_high_idx = position["tick_high"][0] + + tick_low = query( + module="Swap", + storage_function="Ticks", + params=[netuid, tick_low_idx], + block_hash=block_hash, + ) + tick_high = query( + module="Swap", + storage_function="Ticks", + params=[netuid, tick_high_idx], + block_hash=block_hash, + ) + + # Calculate fees above/below range for both tokens + tao_below = get_fees( + current_tick=current_tick, + tick=tick_low, + tick_index=tick_low_idx, + quote=True, + global_fees_tao=fee_global_tao, + global_fees_alpha=fee_global_alpha, + above=False, + ) + tao_above = get_fees( + current_tick=current_tick, + tick=tick_high, + tick_index=tick_high_idx, + quote=True, + global_fees_tao=fee_global_tao, + global_fees_alpha=fee_global_alpha, + above=True, + ) + alpha_below = get_fees( + current_tick=current_tick, + tick=tick_low, + tick_index=tick_low_idx, + quote=False, + global_fees_tao=fee_global_tao, + global_fees_alpha=fee_global_alpha, + above=False, + ) + alpha_above = get_fees( + current_tick=current_tick, + tick=tick_high, + tick_index=tick_high_idx, + quote=False, + global_fees_tao=fee_global_tao, + global_fees_alpha=fee_global_alpha, + above=True, + ) + + # Calculate fees earned by position + fees_tao, fees_alpha = calculate_fees( + position=position, + global_fees_tao=fee_global_tao, + global_fees_alpha=fee_global_alpha, + tao_fees_below_low=tao_below, + tao_fees_above_high=tao_above, + alpha_fees_below_low=alpha_below, + alpha_fees_above_high=alpha_above, + netuid=netuid, + ) + + positions.append( + LiquidityPosition( + **{ + "id": position.get("id")[0], + "price_low": Balance.from_tao( + tick_to_price(position.get("tick_low")[0]) + ), + "price_high": Balance.from_tao( + tick_to_price(position.get("tick_high")[0]) + ), + "liquidity": Balance.from_rao(position.get("liquidity")), + "fees_tao": fees_tao, + "fees_alpha": fees_alpha, + "netuid": position.get("netuid"), + } + ) + ) + + return positions
        + + +
        +[docs] + def get_neuron_for_pubkey_and_subnet( + self, hotkey_ss58: str, netuid: int, block: Optional[int] = None + ) -> Optional["NeuronInfo"]: + """ + Retrieves information about a neuron based on its public key (hotkey SS58 address) and the specific subnet UID + (netuid). This function provides detailed neuron information for a particular subnet within the Bittensor + network. + + Arguments: + hotkey_ss58 (str): The ``SS58`` address of the neuron's hotkey. + netuid (int): The unique identifier of the subnet. + block (Optional[int]): The blockchain block number for the query. + + Returns: + Optional[bittensor.core.chain_data.neuron_info.NeuronInfo]: Detailed information about the neuron if found, + ``None`` otherwise. + + This function is crucial for accessing specific neuron data and understanding its status, stake, and other + attributes within a particular subnet of the Bittensor ecosystem. + """ + block_hash = self.determine_block_hash(block) + uid = self.substrate.query( + module="SubtensorModule", + storage_function="Uids", + params=[netuid, hotkey_ss58], + block_hash=block_hash, + ) + if uid is None: + return NeuronInfo.get_null_neuron() + + result = self.query_runtime_api( + runtime_api="NeuronInfoRuntimeApi", + method="get_neuron", + params=[netuid, uid.value], + block=block, + ) + + if not result: + return NeuronInfo.get_null_neuron() + + return NeuronInfo.from_dict(result)
        + + +
        +[docs] + def get_next_epoch_start_block( + self, netuid: int, block: Optional[int] = None + ) -> Optional[int]: + """ + Calculates the first block number of the next epoch for the given subnet. + + If `block` is not provided, the current chain block will be used. Epochs are + determined based on the subnet's tempo (i.e., blocks per epoch). The result + is the block number at which the next epoch will begin. + + Args: + netuid (int): The unique identifier of the subnet. + block (Optional[int], optional): The reference block to calculate from. + If None, uses the current chain block height. + + Returns: + int: The block number at which the next epoch will start. + """ + block = block or self.block + blocks_since_last_step = self.blocks_since_last_step(netuid=netuid, block=block) + tempo = self.tempo(netuid=netuid, block=block) + + if block and blocks_since_last_step is not None and tempo: + return block - blocks_since_last_step + tempo + 1 + return None
        + + +
        +[docs] + def get_owned_hotkeys( + self, + coldkey_ss58: str, + block: Optional[int] = None, + reuse_block: bool = False, + ) -> list[str]: + """ + Retrieves all hotkeys owned by a specific coldkey address. + + Args: + coldkey_ss58 (str): The SS58 address of the coldkey to query. + block (int): The blockchain block number for the query. + reuse_block (bool): Whether to reuse the last-used blockchain block hash. + + Returns: + list[str]: A list of hotkey SS58 addresses owned by the coldkey. + """ + block_hash = self.determine_block_hash(block) + owned_hotkeys = self.substrate.query( + module="SubtensorModule", + storage_function="OwnedHotkeys", + params=[coldkey_ss58], + block_hash=block_hash, + reuse_block_hash=reuse_block, + ) + return [decode_account_id(hotkey[0]) for hotkey in owned_hotkeys or []]
        @@ -1634,16 +2205,19 @@

        Source code for bittensor.core.subtensor

                 block: Optional[int] = None,
             ) -> Balance:
                 """
        -        Returns the stake under a coldkey - hotkey pairing.
        +        Returns the amount of Alpha staked by a specific coldkey to a specific hotkey within a given subnet.
        +        This function retrieves the delegated stake balance, referred to as the 'Alpha' value.
         
                 Args:
        -            hotkey_ss58 (str): The SS58 address of the hotkey.
        -            coldkey_ss58 (str): The SS58 address of the coldkey.
        -            netuid (int): The subnet ID
        -            block (Optional[int]): The block number at which to query the stake information.
        +            coldkey_ss58: The SS58 address of the coldkey that delegated the stake. This address owns the stake.
        +            hotkey_ss58: The ss58 address of the hotkey which the stake is on.
        +            netuid: The unique identifier of the subnet to query.
        +            block: The specific block number at which to retrieve the stake information. If None, the current stake at
        +                the latest block is returned. Defaults to ``None``.
         
                 Returns:
        -            Balance: The stake under the coldkey - hotkey pairing.
        +            An object representing the amount of Alpha (TAO ONLY if the subnet's netuid is 0) currently staked from the
        +                specified coldkey to the specified hotkey within the given subnet.
                 """
                 alpha_shares_query = self.query_module(
                     module="SubtensorModule",
        @@ -1680,6 +2254,195 @@ 

        Source code for bittensor.core.subtensor

                 return Balance.from_rao(int(stake)).set_unit(netuid=netuid)
        + # TODO: remove unused parameters in SDK.v10 +
        +[docs] + def get_stake_add_fee( + self, + amount: Balance, + netuid: int, + coldkey_ss58: str, + hotkey_ss58: str, + block: Optional[int] = None, + ) -> Balance: + """ + Calculates the fee for adding new stake to a hotkey. + + Args: + amount: Amount of stake to add in TAO + netuid: Netuid of subnet + coldkey_ss58: SS58 address of coldkey + hotkey_ss58: SS58 address of hotkey + block: Block number at which to perform the calculation + + Returns: + The calculated stake fee as a Balance object + """ + return self.get_stake_operations_fee(amount=amount, netuid=netuid, block=block)
        + + +
        +[docs] + def get_subnet_info( + self, netuid: int, block: Optional[int] = None + ) -> Optional["SubnetInfo"]: + """ + Retrieves detailed information about subnet within the Bittensor network. + This function provides comprehensive data on subnet, including its characteristics and operational parameters. + + Arguments: + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + + Returns: + SubnetInfo: A SubnetInfo objects, each containing detailed information about a subnet. + + Gaining insights into the subnet's details assists in understanding the network's composition, the roles of + different subnets, and their unique features. + """ + result = self.query_runtime_api( + runtime_api="SubnetInfoRuntimeApi", + method="get_subnet_info_v2", + params=[netuid], + block=block, + ) + if not result: + return None + return SubnetInfo.from_dict(result)
        + + +
        +[docs] + def get_subnet_price( + self, + netuid: int, + block: Optional[int] = None, + ) -> Balance: + """Gets the current Alpha price in TAO for all subnets. + + Arguments: + netuid: The unique identifier of the subnet. + block: The blockchain block number for the query. + + Returns: + The current Alpha price in TAO units for the specified subnet. + """ + # SN0 price is always 1 TAO + if netuid == 0: + return Balance.from_tao(1) + + block_hash = self.determine_block_hash(block=block) + current_sqrt_price = self.substrate.query( + module="Swap", + storage_function="AlphaSqrtPrice", + params=[netuid], + block_hash=block_hash, + ) + + current_sqrt_price = fixed_to_float(current_sqrt_price) + current_price = current_sqrt_price * current_sqrt_price + return Balance.from_rao(int(current_price * 1e9))
        + + +
        +[docs] + def get_subnet_prices( + self, + block: Optional[int] = None, + ) -> dict[int, Balance]: + """Gets the current Alpha price in TAO for a specified subnet. + + Args: + block: The blockchain block number for the query. Default to `None`. + + Returns: + dict: + - subnet unique ID + - The current Alpha price in TAO units for the specified subnet. + """ + block_hash = self.determine_block_hash(block=block) + + current_sqrt_prices = self.substrate.query_map( + module="Swap", + storage_function="AlphaSqrtPrice", + block_hash=block_hash, + page_size=129, # total number of subnets + ) + + prices = {} + for id_, current_sqrt_price in current_sqrt_prices: + current_sqrt_price = fixed_to_float(current_sqrt_price) + current_price = current_sqrt_price * current_sqrt_price + current_price_in_tao = Balance.from_rao(int(current_price * 1e9)) + prices.update({id_: current_price_in_tao}) + + # SN0 price is always 1 TAO + prices.update({0: Balance.from_tao(1)}) + return prices
        + + + # TODO: remove unused parameters in SDK.v10 +
        +[docs] + def get_unstake_fee( + self, + amount: Balance, + netuid: int, + coldkey_ss58: str, + hotkey_ss58: str, + block: Optional[int] = None, + ) -> Balance: + """ + Calculates the fee for unstaking from a hotkey. + + Args: + amount: Amount of stake to unstake in TAO + netuid: Netuid of subnet + coldkey_ss58: SS58 address of coldkey + hotkey_ss58: SS58 address of hotkey + block: Block number at which to perform the calculation + + Returns: + The calculated stake fee as a Balance object + """ + return self.get_stake_operations_fee(amount=amount, netuid=netuid, block=block)
        + + + # TODO: remove unused parameters in SDK.v10 +
        +[docs] + def get_stake_movement_fee( + self, + amount: Balance, + origin_netuid: int, + origin_hotkey_ss58: str, + origin_coldkey_ss58: str, + destination_netuid: int, + destination_hotkey_ss58: str, + destination_coldkey_ss58: str, + block: Optional[int] = None, + ) -> Balance: + """ + Calculates the fee for moving stake between hotkeys/subnets/coldkeys. + + Args: + amount: Amount of stake to move in TAO + origin_netuid: Netuid of origin subnet + origin_hotkey_ss58: SS58 address of origin hotkey + origin_coldkey_ss58: SS58 address of origin coldkey + destination_netuid: Netuid of destination subnet + destination_hotkey_ss58: SS58 address of destination hotkey + destination_coldkey_ss58: SS58 address of destination coldkey + block: Block number at which to perform the calculation + + Returns: + The calculated stake fee as a Balance object + """ + return self.get_stake_operations_fee( + amount=amount, netuid=origin_netuid, block=block + )
        + +
        [docs] def get_stake_for_coldkey_and_hotkey( @@ -1775,6 +2538,34 @@

        Source code for bittensor.core.subtensor

         
             get_hotkey_stake = get_stake_for_hotkey
         
        +
        +[docs] + def get_stake_operations_fee( + self, + amount: Balance, + netuid: int, + block: Optional[int] = None, + ): + """Returns fee for any stake operation in specified subnet. + + Args: + amount: Amount of stake to add in Alpha/TAO. + netuid: Netuid of subnet. + block: Block number at which to perform the calculation. + + Returns: + The calculated stake fee as a Balance object. + """ + block_hash = self.determine_block_hash(block=block) + result = self.substrate.query( + module="Swap", + storage_function="FeeRate", + params=[netuid], + block_hash=block_hash, + ) + return amount * (result.value / U16_MAX)
        + +
        [docs] def get_subnet_burn_cost(self, block: Optional[int] = None) -> Optional[Balance]: @@ -1825,7 +2616,7 @@

        Source code for bittensor.core.subtensor

                 """
                 result = self.query_runtime_api(
                     runtime_api="SubnetInfoRuntimeApi",
        -            method="get_subnet_hyperparams",
        +            method="get_subnet_hyperparams_v2",
                     params=[netuid],
                     block=block,
                 )
        @@ -1927,7 +2718,7 @@ 

        Source code for bittensor.core.subtensor

                 value = check_and_convert_to_balance(value)
                 call = self.substrate.compose_call(
                     call_module="Balances",
        -            call_function="transfer_allow_death",
        +            call_function="transfer_keep_alive",
                     call_params={"dest": dest, "value": value.rao},
                 )
         
        @@ -1967,10 +2758,11 @@ 

        Source code for bittensor.core.subtensor

                     params=[proposal_hash],
                     block_hash=self.determine_block_hash(block),
                 )
        +
                 if vote_data is None:
                     return None
        -        else:
        -            return ProposalVoteData(vote_data)
        + + return ProposalVoteData.from_dict(vote_data)
        @@ -2081,6 +2873,13 @@

        Source code for bittensor.core.subtensor

                 return None if call is None else int(call)
        +
        +[docs] + def is_fast_blocks(self): + """Returns True if the node is running with fast blocks. False if not.""" + return self.query_constant("SubtensorModule", "DurationOfStartCall").value == 10
        + +
        [docs] def is_hotkey_delegate(self, hotkey_ss58: str, block: Optional[int] = None) -> bool: @@ -2171,6 +2970,28 @@

        Source code for bittensor.core.subtensor

                 )
        +
        +[docs] + def is_subnet_active(self, netuid: int, block: Optional[int] = None) -> bool: + """Verify if subnet with provided netuid is active. + + Args: + netuid (int): The unique identifier of the subnet. + block (Optional[int]): The blockchain block number for the query. + + Returns: + True if subnet is active, False otherwise. + + This means whether the `start_call` was initiated or not. + """ + query = self.query_subtensor( + name="FirstEmissionBlockNumber", + block=block, + params=[netuid], + ) + return True if query and query.value > 0 else False
        + +
        [docs] def last_drand_round(self) -> Optional[int]: @@ -2350,7 +3171,9 @@

        Source code for bittensor.core.subtensor

         
         
        [docs] - def query_identity(self, coldkey_ss58: str, block: Optional[int] = None) -> dict: + def query_identity( + self, coldkey_ss58: str, block: Optional[int] = None + ) -> Optional[ChainIdentity]: """ Queries the identity of a neuron on the Bittensor blockchain using the given key. This function retrieves detailed identity information about a specific neuron, which is a crucial aspect of the network's @@ -2371,18 +3194,25 @@

        Source code for bittensor.core.subtensor

                     See the `Bittensor CLI documentation <https://docs.bittensor.com/reference/btcli>`_ for supported identity
                         parameters.
                 """
        -        identity_info = self.substrate.query(
        -            module="SubtensorModule",
        -            storage_function="IdentitiesV2",
        -            params=[coldkey_ss58],
        -            block_hash=self.determine_block_hash(block),
        +        identity_info = cast(
        +            dict,
        +            self.substrate.query(
        +                module="SubtensorModule",
        +                storage_function="IdentitiesV2",
        +                params=[coldkey_ss58],
        +                block_hash=self.determine_block_hash(block),
        +            ),
                 )
        +
                 if not identity_info:
        -            return {}
        +            return None
        +
                 try:
        -            return _decode_hex_identity_dict(identity_info)
        +            return ChainIdentity.from_dict(
        +                decode_hex_identity_dict(identity_info),
        +            )
                 except TypeError:
        -            return {}
        + return None
        @@ -2406,6 +3236,53 @@

        Source code for bittensor.core.subtensor

                 return None if call is None else Balance.from_rao(int(call))
        +
        +[docs] + def set_reveal_commitment( + self, + wallet, + netuid: int, + data: str, + blocks_until_reveal: int = 360, + block_time: Union[int, float] = 12, + period: Optional[int] = None, + ) -> tuple[bool, int]: + """ + Commits arbitrary data to the Bittensor network by publishing metadata. + + Arguments: + wallet (bittensor_wallet.Wallet): The wallet associated with the neuron committing the data. + netuid (int): The unique identifier of the subnetwork. + data (str): The data to be committed to the network. + blocks_until_reveal (int): The number of blocks from now after which the data will be revealed. Defaults to + `360`. Then number of blocks in one epoch. + block_time (Union[int, float]): The number of seconds between each block. Defaults to `12`. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. + Returns: + bool: `True` if the commitment was successful, `False` otherwise. + + Note: A commitment can be set once per subnet epoch and is reset at the next epoch in the chain automatically. + """ + + encrypted, reveal_round = get_encrypted_commitment( + data, blocks_until_reveal, block_time + ) + + # increase reveal_round in return + 1 because we want to fetch data from the chain after that round was revealed + # and stored. + data_ = {"encrypted": encrypted, "reveal_round": reveal_round} + return publish_metadata( + subtensor=self, + wallet=wallet, + netuid=netuid, + data_type="TimelockEncrypted", + data=data_, + period=period, + ), reveal_round
        + +
        [docs] def subnet(self, netuid: int, block: Optional[int] = None) -> Optional[DynamicInfo]: @@ -2420,16 +3297,22 @@

        Source code for bittensor.core.subtensor

                     Optional[DynamicInfo]: A DynamicInfo object, containing detailed information about a subnet.
         
                 """
        -        block_hash = self.determine_block_hash(block)
        +        block_hash = self.determine_block_hash(block=block)
         
                 query = self.substrate.runtime_call(
        -            "SubnetInfoRuntimeApi",
        -            "get_dynamic_info",
        +            api="SubnetInfoRuntimeApi",
        +            method="get_dynamic_info",
                     params=[netuid],
                     block_hash=block_hash,
                 )
        -        subnet = DynamicInfo.from_dict(query.decode())  # type: ignore
        -        return subnet
        + + if isinstance(decoded := query.decode(), dict): + try: + price = self.get_subnet_price(netuid=netuid, block=block) + except SubstrateRequestException: + price = None + return DynamicInfo.from_dict({**decoded, "price": price}) + return None
        @@ -2524,22 +3407,26 @@

        Source code for bittensor.core.subtensor

                 waits for the next block.
         
                 Args:
        -            block (Optional[int]): The block number to wait for. If None, waits for next block.
        +            block (Optional[int]): The block number to wait for. If None, waits for the next block.
         
                 Returns:
                     bool: True if the target block was reached, False if timeout occurred.
         
                 Example:
        -            >>> subtensor.wait_for_block() # Waits for next block
        -            >>> subtensor.wait_for_block(block=1234) # Waits for specific block
        +            import bittensor as bt
        +            subtensor = bt.Subtensor()
        +
        +            subtensor.wait_for_block() # Waits for the next block
        +            subtensor.wait_for_block(block=1234) # Waits for a specific block
                 """
         
                 def handler(block_data: dict):
                     logging.debug(
        -                f'reached block {block_data["header"]["number"]}. Waiting for block {target_block}'
        +                f"reached block {block_data['header']['number']}. Waiting for block {target_block}"
                     )
                     if block_data["header"]["number"] >= target_block:
                         return True
        +            return None
         
                 current_block = self.substrate.get_block()
                 current_block_hash = current_block.get("header", {}).get("hash")
        @@ -2548,7 +3435,7 @@ 

        Source code for bittensor.core.subtensor

                 else:
                     target_block = current_block["header"]["number"] + 1
         
        -        self.substrate._get_block_handler(
        +        self.substrate.get_block_handler(
                     current_block_hash, header_only=True, subscription_handler=handler
                 )
                 return True
        @@ -2607,6 +3494,68 @@

        Source code for bittensor.core.subtensor

                 return None if call is None else int(call)
        +
        +[docs] + def get_timestamp(self, block: Optional[int] = None) -> datetime: + """ + Retrieves the datetime timestamp for a given block + + Arguments: + block: The blockchain block number for the query. + + Returns: + datetime object for the timestamp of the block + """ + unix = cast(ScaleObj, self.query_module("Timestamp", "Now", block=block)).value + return datetime.fromtimestamp(unix / 1000, tz=timezone.utc)
        + + +
        +[docs] + def get_subnet_owner_hotkey( + self, netuid: int, block: Optional[int] = None + ) -> Optional[str]: + """ + Retrieves the hotkey of the subnet owner for a given network UID. + + This function queries the subtensor network to fetch the hotkey of the owner of a subnet specified by its + netuid. If no data is found or the query fails, the function returns None. + + Arguments: + netuid: The network UID of the subnet to fetch the owner's hotkey for. + block: The specific block number to query the data from. + + Returns: + The hotkey of the subnet owner if available; None otherwise. + """ + return self.query_subtensor( + name="SubnetOwnerHotkey", params=[netuid], block=block + )
        + + +
        +[docs] + def get_subnet_validator_permits( + self, netuid: int, block: Optional[int] = None + ) -> Optional[list[bool]]: + """ + Retrieves the list of validator permits for a given subnet as boolean values. + + Arguments: + netuid: The unique identifier of the subnetwork. + block: The blockchain block number for the query. + + Returns: + A list of boolean values representing validator permits, or None if not available. + """ + query = self.query_subtensor( + name="ValidatorPermit", + params=[netuid], + block=block, + ) + return query.value if query is not None and hasattr(query, "value") else query
        + + # Extrinsics helper ================================================================================================
        @@ -2621,6 +3570,7 @@

        Source code for bittensor.core.subtensor

                 use_nonce: bool = False,
                 period: Optional[int] = None,
                 nonce_key: str = "hotkey",
        +        raise_error: bool = False,
             ) -> tuple[bool, str]:
                 """
                 Helper method to sign and submit an extrinsic call to chain.
        @@ -2630,10 +3580,19 @@ 

        Source code for bittensor.core.subtensor

                     wallet (bittensor_wallet.Wallet): the wallet whose coldkey will be used to sign the extrinsic
                     wait_for_inclusion (bool): whether to wait until the extrinsic call is included on the chain
                     wait_for_finalization (bool): whether to wait until the extrinsic call is finalized on the chain
        -            sign_with: the wallet's keypair to use for the signing. Options are "coldkey", "hotkey", "coldkeypub"
        +            sign_with (str): the wallet's keypair to use for the signing. Options are "coldkey", "hotkey", "coldkeypub"
        +            use_nonce (bool): unique identifier for the transaction related with hot/coldkey.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
        +            nonce_key: the type on nonce to use. Options are "hotkey" or "coldkey".
        +            raise_error: raises the relevant exception rather than returning `False` if unsuccessful.
         
                 Returns:
                     (success, error message)
        +
        +        Raises:
        +            SubstrateRequestException: Substrate request exception.
                 """
                 possible_keys = ("coldkey", "hotkey", "coldkeypub")
                 if sign_with not in possible_keys:
        @@ -2664,14 +3623,22 @@ 

        Source code for bittensor.core.subtensor

                     )
                     # We only wait here if we expect finalization.
                     if not wait_for_finalization and not wait_for_inclusion:
        -                return True, ""
        +                message = "Not waiting for finalization or inclusion."
        +                logging.debug(f"{message}. Extrinsic: {extrinsic}")
        +                return True, message
         
                     if response.is_success:
                         return True, ""
         
        +            if raise_error:
        +                raise ChainError.from_error(response.error_message)
        +
                     return False, format_error_message(response.error_message)
         
                 except SubstrateRequestException as e:
        +            if raise_error:
        +                raise
        +
                     return False, format_error_message(e)
        @@ -2682,40 +3649,114 @@

        Source code for bittensor.core.subtensor

             def add_stake(
                 self,
                 wallet: "Wallet",
        -        hotkey_ss58: Optional[str] = None,
        -        netuid: Optional[int] = None,
        -        amount: Optional[Balance] = None,
        +        hotkey_ss58: Optional[str] = None,
        +        netuid: Optional[int] = None,
        +        amount: Optional[Balance] = None,
        +        wait_for_inclusion: bool = True,
        +        wait_for_finalization: bool = False,
        +        safe_staking: bool = False,
        +        allow_partial_stake: bool = False,
        +        rate_tolerance: float = 0.005,
        +        period: Optional[int] = None,
        +    ) -> bool:
        +        """
        +        Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified
        +            subnet. Staking is a fundamental process in the Bittensor network that enables neurons to participate
        +            actively and earn incentives.
        +
        +        Args:
        +            wallet: The wallet to be used for staking.
        +            hotkey_ss58: The SS58 address of the hotkey associated with the neuron to which you intend to delegate your
        +                stake. If not specified, the wallet's hotkey will be used. Defaults to ``None``.
        +            netuid: The unique identifier of the subnet to which the neuron belongs.
        +            amount: The amount of TAO to stake.
        +            wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to ``True``.
        +            wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to ``False``.
        +            safe_staking: If true, enables price safety checks to protect against fluctuating prices. The stake will
        +                only execute if the price change doesn't exceed the rate tolerance. Default is ``False``.
        +            allow_partial_stake: If true and safe_staking is enabled, allows partial staking when the full amount would
        +                exceed the price tolerance. If false, the entire stake fails if it would exceed the tolerance.
        +                Default is ``False``.
        +            rate_tolerance: The maximum allowed price change ratio when staking. For example,
        +                0.005 = 0.5% maximum price increase. Only used when safe_staking is True. Default is ``0.005``.
        +            period: The number of blocks during which the transaction will remain valid after it's submitted. If the
        +                transaction is not included in a block within that number of blocks, it will expire and be rejected. You
        +                can think of it as an expiration date for the transaction. Defaults to ``None``.
        +
        +        Returns:
        +            bool: True if the staking is successful, False otherwise.
        +
        +        This function enables neurons to increase their stake in the network, enhancing their influence and potential
        +            rewards in line with Bittensor's consensus and reward mechanisms.
        +            When safe_staking is enabled, it provides protection against price fluctuations during the time stake is
        +            executed and the time it is actually processed by the chain.
        +        """
        +        amount = check_and_convert_to_balance(amount)
        +        return add_stake_extrinsic(
        +            subtensor=self,
        +            wallet=wallet,
        +            hotkey_ss58=hotkey_ss58,
        +            netuid=netuid,
        +            amount=amount,
        +            wait_for_inclusion=wait_for_inclusion,
        +            wait_for_finalization=wait_for_finalization,
        +            safe_staking=safe_staking,
        +            allow_partial_stake=allow_partial_stake,
        +            rate_tolerance=rate_tolerance,
        +            period=period,
        +        )
        + + +
        +[docs] + def add_liquidity( + self, + wallet: "Wallet", + netuid: int, + liquidity: Balance, + price_low: Balance, + price_high: Balance, + hotkey: Optional[str] = None, wait_for_inclusion: bool = True, wait_for_finalization: bool = False, - ) -> bool: + period: Optional[int] = None, + ) -> tuple[bool, str]: """ - Adds the specified amount of stake to a neuron identified by the hotkey ``SS58`` address. - Staking is a fundamental process in the Bittensor network that enables neurons to participate actively and earn - incentives. + Adds liquidity to the specified price range. - Args: - wallet (bittensor_wallet.Wallet): The wallet to be used for staking. - hotkey_ss58 (Optional[str]): The ``SS58`` address of the hotkey associated with the neuron. - netuid (Optional[int]): The unique identifier of the subnet to which the neuron belongs. - amount (Balance): The amount of TAO to stake. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + Arguments: + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + liquidity: The amount of liquidity to be added. + price_low: The lower bound of the price tick range. In TAO. + price_high: The upper bound of the price tick range. In TAO. + hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to + `None`. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. Returns: - bool: ``True`` if the staking is successful, False otherwise. + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. - This function enables neurons to increase their stake in the network, enhancing their influence and potential - rewards in line with Bittensor's consensus and reward mechanisms. + Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call `toggle_user_liquidity` + method to enable/disable user liquidity. """ - amount = check_and_convert_to_balance(amount) - return add_stake_extrinsic( + return add_liquidity_extrinsic( subtensor=self, wallet=wallet, - hotkey_ss58=hotkey_ss58, netuid=netuid, - amount=amount, + liquidity=liquidity, + price_low=price_low, + price_high=price_high, + hotkey=hotkey, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, )
        @@ -2729,6 +3770,7 @@

        Source code for bittensor.core.subtensor

                 amounts: Optional[list[Balance]] = None,
                 wait_for_inclusion: bool = True,
                 wait_for_finalization: bool = False,
        +        period: Optional[int] = None,
             ) -> bool:
                 """
                 Adds stakes to multiple neurons identified by their hotkey SS58 addresses.
        @@ -2741,6 +3783,9 @@ 

        Source code for bittensor.core.subtensor

                     amounts (list[Balance]): Corresponding amounts of TAO to stake for each hotkey.
                     wait_for_inclusion (bool): Waits for the transaction to be included in a block.
                     wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     bool: ``True`` if the staking is successful for all specified neurons, False otherwise.
        @@ -2756,6 +3801,7 @@ 

        Source code for bittensor.core.subtensor

                     amounts=amounts,
                     wait_for_inclusion=wait_for_inclusion,
                     wait_for_finalization=wait_for_finalization,
        +            period=period,
                 )
        @@ -2767,6 +3813,7 @@

        Source code for bittensor.core.subtensor

                 netuid: int,
                 wait_for_inclusion: bool = False,
                 wait_for_finalization: bool = True,
        +        period: Optional[int] = None,
             ) -> bool:
                 """
                 Registers a neuron on the Bittensor network by recycling TAO. This method of registration involves recycling
        @@ -2779,16 +3826,30 @@ 

        Source code for bittensor.core.subtensor

                         `False`.
                     wait_for_finalization (bool, optional): Waits for the transaction to be finalized on the blockchain.
                         Defaults to `True`.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     bool: ``True`` if the registration is successful, False otherwise.
                 """
        +
        +        if netuid == 0:
        +            return root_register_extrinsic(
        +                subtensor=self,
        +                wallet=wallet,
        +                wait_for_inclusion=wait_for_inclusion,
        +                wait_for_finalization=wait_for_finalization,
        +                period=period,
        +            )
        +
                 return burned_register_extrinsic(
                     subtensor=self,
                     wallet=wallet,
                     netuid=netuid,
                     wait_for_inclusion=wait_for_inclusion,
                     wait_for_finalization=wait_for_finalization,
        +            period=period,
                 )
        @@ -2805,6 +3866,7 @@

        Source code for bittensor.core.subtensor

                 wait_for_inclusion: bool = False,
                 wait_for_finalization: bool = False,
                 max_retries: int = 5,
        +        period: Optional[int] = 16,
             ) -> tuple[bool, str]:
                 """
                 Commits a hash of the neuron's weights to the Bittensor blockchain using the provided wallet.
        @@ -2817,15 +3879,19 @@ 

        Source code for bittensor.core.subtensor

                     uids (np.ndarray): NumPy array of neuron UIDs for which weights are being committed.
                     weights (np.ndarray): NumPy array of weight values corresponding to each UID.
                     version_key (int): Version key for compatibility with the network. Default is ``int representation of
        -                Bittensor version.``.
        +                a Bittensor version.``.
                     wait_for_inclusion (bool): Waits for the transaction to be included in a block. Default is ``False``.
                     wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. Default is
                         ``False``.
                     max_retries (int): The number of maximum attempts to commit weights. Default is ``5``.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
        -            tuple[bool, str]: ``True`` if the weight commitment is successful, False otherwise. And `msg`, a string
        -                value describing the success or potential error.
        +            tuple[bool, str]:
        +                `True` if the weight commitment is successful, False otherwise.
        +                `msg` is a string value describing the success or potential error.
         
                 This function allows neurons to create a tamper-proof record of their weight distribution at a specific point
                     in time, enhancing transparency and accountability within the Bittensor network.
        @@ -2835,8 +3901,9 @@ 

        Source code for bittensor.core.subtensor

                 message = "No attempt made. Perhaps it is too soon to commit weights!"
         
                 logging.info(
        -            f"Committing weights with params: netuid={netuid}, uids={uids}, weights={weights}, "
        -            f"version_key={version_key}"
        +            f"Committing weights with params: "
        +            f"netuid=[blue]{netuid}[/blue], uids=[blue]{uids}[/blue], weights=[blue]{weights}[/blue], "
        +            f"version_key=[blue]{version_key}[/blue]"
                 )
         
                 # Generate the hash of the weights
        @@ -2858,17 +3925,92 @@ 

        Source code for bittensor.core.subtensor

                             commit_hash=commit_hash,
                             wait_for_inclusion=wait_for_inclusion,
                             wait_for_finalization=wait_for_finalization,
        +                    period=period,
                         )
                         if success:
                             break
                     except Exception as e:
                         logging.error(f"Error committing weights: {e}")
        -            finally:
                         retries += 1
         
                 return success, message
        +
        +[docs] + def modify_liquidity( + self, + wallet: "Wallet", + netuid: int, + position_id: int, + liquidity_delta: Balance, + hotkey: Optional[str] = None, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """Modifies liquidity in liquidity position by adding or removing liquidity from it. + + Arguments: + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + position_id: The id of the position record in the pool. + liquidity_delta: The amount of liquidity to be added or removed (add if positive or remove if negative). + hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to + `None`. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + + Example: + import bittensor as bt + + subtensor = bt.subtensor(network="local") + my_wallet = bt.Wallet() + + # if `liquidity_delta` is negative + my_liquidity_delta = Balance.from_tao(100) * -1 + + subtensor.modify_liquidity( + wallet=my_wallet, + netuid=123, + position_id=2, + liquidity_delta=my_liquidity_delta + ) + + # if `liquidity_delta` is positive + my_liquidity_delta = Balance.from_tao(120) + + subtensor.modify_liquidity( + wallet=my_wallet, + netuid=123, + position_id=2, + liquidity_delta=my_liquidity_delta + ) + + Note: Modifying is allowed even when user liquidity is enabled in specified subnet. Call `toggle_user_liquidity` + to enable/disable user liquidity. + """ + return modify_liquidity_extrinsic( + subtensor=self, + wallet=wallet, + netuid=netuid, + position_id=position_id, + liquidity_delta=liquidity_delta, + hotkey=hotkey, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, + )
        + +
        [docs] def move_stake( @@ -2881,6 +4023,7 @@

        Source code for bittensor.core.subtensor

                 amount: Balance,
                 wait_for_inclusion: bool = True,
                 wait_for_finalization: bool = False,
        +        period: Optional[int] = None,
             ) -> bool:
                 """
                 Moves stake to a different hotkey and/or subnet.
        @@ -2894,6 +4037,9 @@ 

        Source code for bittensor.core.subtensor

                     amount (Balance): Amount of stake to move.
                     wait_for_inclusion (bool): Waits for the transaction to be included in a block.
                     wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     success (bool): True if the stake movement was successful.
        @@ -2909,6 +4055,7 @@ 

        Source code for bittensor.core.subtensor

                     amount=amount,
                     wait_for_inclusion=wait_for_inclusion,
                     wait_for_finalization=wait_for_finalization,
        +            period=period,
                 )
        @@ -2928,6 +4075,7 @@

        Source code for bittensor.core.subtensor

                 num_processes: Optional[int] = None,
                 update_interval: Optional[int] = None,
                 log_verbose: bool = False,
        +        period: Optional[int] = None,
             ) -> bool:
                 """
                 Registers a neuron on the Bittensor network using the provided wallet.
        @@ -2950,6 +4098,9 @@ 

        Source code for bittensor.core.subtensor

                     num_processes (Optional[int]): The number of processes to use to register. Default to `None`.
                     update_interval (Optional[int]): The number of nonces to solve between updates.  Default to `None`.
                     log_verbose (bool): If ``true``, the registration process will log more information.  Default to `False`.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     bool: ``True`` if the registration is successful, False otherwise.
        @@ -2971,6 +4122,7 @@ 

        Source code for bittensor.core.subtensor

                     dev_id=dev_id,
                     output_in_place=output_in_place,
                     log_verbose=log_verbose,
        +            period=period,
                 )
        @@ -2981,16 +4133,20 @@

        Source code for bittensor.core.subtensor

                 wallet: "Wallet",
                 wait_for_inclusion: bool = False,
                 wait_for_finalization: bool = True,
        +        period: Optional[int] = None,
             ) -> bool:
                 """
                 Registers a new subnetwork on the Bittensor network.
         
                 Args:
                     wallet (bittensor_wallet.Wallet): The wallet to be used for subnet registration.
        -            wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning true, or returns
        -                false if the extrinsic fails to enter the block within the timeout. Default is False.
        +            wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning `True`, or
        +                returns `False` if the extrinsic fails to enter the block within the timeout. Default is `False`.
                     wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning
        -                true, or returns false if the extrinsic fails to be finalized within the timeout. Default is True.
        +                `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. Default is `True`.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     bool: True if the subnet registration was successful, False otherwise.
        @@ -3000,6 +4156,55 @@ 

        Source code for bittensor.core.subtensor

                     wallet=wallet,
                     wait_for_inclusion=wait_for_inclusion,
                     wait_for_finalization=wait_for_finalization,
        +            period=period,
        +        )
        + + +
        +[docs] + def remove_liquidity( + self, + wallet: "Wallet", + netuid: int, + position_id: int, + hotkey: Optional[str] = None, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """Remove liquidity and credit balances back to wallet's hotkey stake. + + Arguments: + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + position_id: The id of the position record in the pool. + hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to + `None`. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + + Note: + - Adding is allowed even when user liquidity is enabled in specified subnet. Call `toggle_user_liquidity` + extrinsic to enable/disable user liquidity. + - To get the `position_id` use `get_liquidity_list` method. + """ + return remove_liquidity_extrinsic( + subtensor=self, + wallet=wallet, + netuid=netuid, + position_id=position_id, + hotkey=hotkey, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, )
        @@ -3016,6 +4221,7 @@

        Source code for bittensor.core.subtensor

                 wait_for_inclusion: bool = False,
                 wait_for_finalization: bool = False,
                 max_retries: int = 5,
        +        period: Optional[int] = 16,
             ) -> tuple[bool, str]:
                 """
                 Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet.
        @@ -3028,11 +4234,14 @@ 

        Source code for bittensor.core.subtensor

                     weights (np.ndarray): NumPy array of weight values corresponding to each UID.
                     salt (np.ndarray): NumPy array of salt values corresponding to the hash function.
                     version_key (int): Version key for compatibility with the network. Default is ``int representation of
        -                Bittensor version``.
        +                the Bittensor version``.
                     wait_for_inclusion (bool): Waits for the transaction to be included in a block. Default is ``False``.
                     wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. Default is
                         ``False``.
                     max_retries (int): The number of maximum attempts to reveal weights. Default is ``5``.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     tuple[bool, str]: ``True`` if the weight revelation is successful, False otherwise. And `msg`, a string
        @@ -3057,12 +4266,12 @@ 

        Source code for bittensor.core.subtensor

                             version_key=version_key,
                             wait_for_inclusion=wait_for_inclusion,
                             wait_for_finalization=wait_for_finalization,
        +                    period=period,
                         )
                         if success:
                             break
                     except Exception as e:
                         logging.error(f"Error revealing weights: {e}")
        -            finally:
                         retries += 1
         
                 return success, message
        @@ -3075,6 +4284,7 @@

        Source code for bittensor.core.subtensor

                 wallet: "Wallet",
                 wait_for_inclusion: bool = False,
                 wait_for_finalization: bool = True,
        +        period: Optional[int] = None,
             ) -> bool:
                 """
                 Register neuron by recycling some TAO.
        @@ -3084,42 +4294,58 @@ 

        Source code for bittensor.core.subtensor

                     wait_for_inclusion (bool): Waits for the transaction to be included in a block. Default is ``False``.
                     wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. Default is
                         ``False``.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     `True` if registration was successful, otherwise `False`.
                 """
        -        logging.info(
        -            f"Registering on netuid [blue]0[/blue] on network: [blue]{self.network}[/blue]"
        -        )
         
        -        # Check current recycle amount
        -        logging.info("Fetching recycle amount & balance.")
        -        block = self.get_current_block()
        +        return root_register_extrinsic(
        +            subtensor=self,
        +            wallet=wallet,
        +            wait_for_inclusion=wait_for_inclusion,
        +            wait_for_finalization=wait_for_finalization,
        +            period=period,
        +        )
        + - try: - recycle_call = cast( - int, self.get_hyperparameter(param_name="Burn", netuid=0, block=block) - ) - balance = self.get_balance(wallet.coldkeypub.ss58_address, block=block) - except TypeError as e: - logging.error(f"Unable to retrieve current recycle. {e}") - return False +
        +[docs] + def root_set_pending_childkey_cooldown( + self, + wallet: "Wallet", + cooldown: int, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = True, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """Sets the pending childkey cooldown. - current_recycle = Balance.from_rao(int(recycle_call)) + Arguments: + wallet: bittensor wallet instance. + cooldown: the number of blocks to setting pending childkey cooldown. + wait_for_inclusion (bool): Waits for the transaction to be included in a block. Default is ``False``. + wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. Default is + ``False``. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. - # Check balance is sufficient - if balance < current_recycle: - logging.error( - f"[red]Insufficient balance {balance} to register neuron. " - f"Current recycle is {current_recycle} TAO[/red]." - ) - return False + Returns: + tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the + operation, and the second element is a message providing additional information. - return root_register_extrinsic( + Note: This operation can only be successfully performed if your wallet has root privileges. + """ + return root_set_pending_childkey_cooldown_extrinsic( subtensor=self, wallet=wallet, + cooldown=cooldown, wait_for_inclusion=wait_for_inclusion, wait_for_finalization=wait_for_finalization, + period=period, )
        @@ -3133,9 +4359,10 @@

        Source code for bittensor.core.subtensor

                 version_key: int = 0,
                 wait_for_inclusion: bool = False,
                 wait_for_finalization: bool = False,
        +        period: Optional[int] = None,
             ) -> bool:
                 """
        -        Set weights for root network.
        +        Set weights for the root network.
         
                 Arguments:
                     wallet (bittensor_wallet.Wallet): bittensor wallet instance.
        @@ -3146,12 +4373,14 @@ 

        Source code for bittensor.core.subtensor

                         ``False``.
                     wait_for_finalization (bool, optional): Waits for the transaction to be finalized on the blockchain.
                         Defaults to ``False``.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     `True` if the setting of weights is successful, `False` otherwise.
                 """
        -        netuids_ = np.array(netuids, dtype=np.int64)
        -        weights_ = np.array(weights, dtype=np.float32)
        +        netuids_, weights_ = convert_uids_and_weights(netuids, weights)
                 logging.info(f"Setting weights in network: [blue]{self.network}[/blue]")
                 return set_root_weights_extrinsic(
                     subtensor=self,
        @@ -3161,9 +4390,142 @@ 

        Source code for bittensor.core.subtensor

                     version_key=version_key,
                     wait_for_finalization=wait_for_finalization,
                     wait_for_inclusion=wait_for_inclusion,
        +            period=period,
        +        )
        + + +
        +[docs] + def set_children( + self, + wallet: "Wallet", + hotkey: str, + netuid: int, + children: list[tuple[float, str]], + wait_for_inclusion: bool = True, + wait_for_finalization: bool = True, + raise_error: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """ + Allows a coldkey to set children-keys. + + Arguments: + wallet: bittensor wallet instance. + hotkey: The ``SS58`` address of the neuron's hotkey. + netuid: The netuid value. + children: A list of children with their proportions. + wait_for_inclusion: Waits for the transaction to be included in a block. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. + raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. + period: The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. + + Returns: + tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the + operation, and the second element is a message providing additional information. + + """ + return set_children_extrinsic( + subtensor=self, + wallet=wallet, + hotkey=hotkey, + netuid=netuid, + children=children, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + raise_error=raise_error, + period=period, )
        +
        +[docs] + def set_delegate_take( + self, + wallet: "Wallet", + hotkey_ss58: str, + take: float, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = True, + raise_error: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """ + Sets the delegate 'take' percentage for a neuron identified by its hotkey. + The 'take' represents the percentage of rewards that the delegate claims from its nominators' stakes. + + Arguments: + wallet (bittensor_wallet.Wallet): bittensor wallet instance. + hotkey_ss58 (str): The ``SS58`` address of the neuron's hotkey. + take (float): Percentage reward for the delegate. + wait_for_inclusion (bool): Waits for the transaction to be included in a block. + wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. + raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. + + Returns: + tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the + operation, and the second element is a message providing additional information. + + Raises: + DelegateTakeTooHigh: Delegate take is too high. + DelegateTakeTooLow: Delegate take is too low. + DelegateTxRateLimitExceeded: A transactor exceeded the rate limit for delegate transaction. + HotKeyAccountNotExists: The hotkey does not exist. + NonAssociatedColdKey: Request to stake, unstake, or subscribe is made by a coldkey that is not associated + with the hotkey account. + bittensor_wallet.errors.PasswordError: Decryption failed or wrong password for decryption provided. + bittensor_wallet.errors.KeyFileError: Failed to decode keyfile data. + + The delegate take is a critical parameter in the network's incentive structure, influencing the distribution of + rewards among neurons and their nominators. + """ + + # u16 representation of the take + take_u16 = int(take * 0xFFFF) + + current_take = self.get_delegate_take(hotkey_ss58) + current_take_u16 = int(current_take * 0xFFFF) + + if current_take_u16 == take_u16: + logging.info(":white_heavy_check_mark: [green]Already Set[/green]") + return True, "" + + logging.info(f"Updating {hotkey_ss58} take: current={current_take} new={take}") + + if current_take_u16 < take_u16: + success, error = increase_take_extrinsic( + self, + wallet, + hotkey_ss58, + take_u16, + wait_for_finalization=wait_for_finalization, + wait_for_inclusion=wait_for_inclusion, + raise_error=raise_error, + period=period, + ) + else: + success, error = decrease_take_extrinsic( + self, + wallet, + hotkey_ss58, + take_u16, + wait_for_finalization=wait_for_finalization, + wait_for_inclusion=wait_for_inclusion, + raise_error=raise_error, + period=period, + ) + + if success: + logging.info(":white_heavy_check_mark: [green]Take Updated[/green]") + + return success, error
        + +
        [docs] def set_subnet_identity( @@ -3173,6 +4535,7 @@

        Source code for bittensor.core.subtensor

                 subnet_identity: SubnetIdentity,
                 wait_for_inclusion: bool = False,
                 wait_for_finalization: bool = True,
        +        period: Optional[int] = None,
             ) -> tuple[bool, str]:
                 """
                 Sets the identity of a subnet for a specific wallet and network.
        @@ -3182,8 +4545,13 @@ 

        Source code for bittensor.core.subtensor

                     netuid (int): The unique ID of the network on which the operation takes place.
                     subnet_identity (SubnetIdentity): The identity data of the subnet including attributes like name, GitHub
                         repository, contact, URL, discord, description, and any additional metadata.
        -            wait_for_inclusion (bool): Indicates if the function should wait for the transaction to be included in the block.
        -            wait_for_finalization (bool): Indicates if the function should wait for the transaction to reach finalization.
        +            wait_for_inclusion (bool): Indicates if the function should wait for the transaction to be included in the
        +                block.
        +            wait_for_finalization (bool): Indicates if the function should wait for the transaction to reach
        +                finalization.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the
        @@ -3197,11 +4565,13 @@ 

        Source code for bittensor.core.subtensor

                     github_repo=subnet_identity.github_repo,
                     subnet_contact=subnet_identity.subnet_contact,
                     subnet_url=subnet_identity.subnet_url,
        +            logo_url=subnet_identity.logo_url,
                     discord=subnet_identity.discord,
                     description=subnet_identity.description,
                     additional=subnet_identity.additional,
                     wait_for_inclusion=wait_for_inclusion,
                     wait_for_finalization=wait_for_finalization,
        +            period=period,
                 )
        @@ -3217,32 +4587,36 @@

        Source code for bittensor.core.subtensor

                 wait_for_inclusion: bool = False,
                 wait_for_finalization: bool = False,
                 max_retries: int = 5,
        +        block_time: float = 12.0,
        +        period: Optional[int] = 8,
             ) -> tuple[bool, str]:
                 """
        -        Sets the inter-neuronal weights for the specified neuron. This process involves specifying the influence or
        +        Sets the interneuronal weights for the specified neuron. This process involves specifying the influence or
                     trust a neuron places on other neurons in the network, which is a fundamental aspect of Bittensor's
                     decentralized learning architecture.
         
                 Arguments:
        -            wallet (bittensor_wallet.Wallet): The wallet associated with the neuron setting the weights.
        -            netuid (int): The unique identifier of the subnet.
        -            uids (Union[NDArray[np.int64], torch.LongTensor, list]): The list of neuron UIDs that the weights are being
        -                set for.
        -            weights (Union[NDArray[np.float32], torch.FloatTensor, list]): The corresponding weights to be set for each
        -                UID.
        -            version_key (int): Version key for compatibility with the network.  Default is int representation of
        -                Bittensor version.
        -            wait_for_inclusion (bool): Waits for the transaction to be included in a block. Default is ``False``.
        -            wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. Default is
        -                ``False``.
        -            max_retries (int): The number of maximum attempts to set weights. Default is ``5``.
        +            wallet: The wallet associated with the neuron setting the weights.
        +            netuid: The unique identifier of the subnet.
        +            uids: The list of neuron UIDs that the weights are being set for.
        +            weights: The corresponding weights to be set for each UID.
        +            version_key: Version key for compatibility with the network.  Default is int representation of a Bittensor
        +                version.
        +            wait_for_inclusion: Waits for the transaction to be included in a block. Default is ``False``.
        +            wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is ``False``.
        +            max_retries: The number of maximum attempts to set weights. Default is ``5``.
        +            block_time: The number of seconds for block duration. Default is 12.0 seconds.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction. Default is 8.
         
                 Returns:
        -            tuple[bool, str]: ``True`` if the setting of weights is successful, False otherwise. And `msg`, a string
        -                value describing the success or potential error.
        +            tuple:
        +                `True` if the setting of weights is successful, `False` otherwise.
        +                `msg` is a string value describing the success or potential error.
         
                 This function is crucial in shaping the network's collective intelligence, where each neuron's learning and
        -            contribution are influenced by the weights it sets towards others【81†source】.
        +            contribution are influenced by the weights it sets towards others.
                 """
         
                 def _blocks_weight_limit() -> bool:
        @@ -3261,12 +4635,13 @@ 

        Source code for bittensor.core.subtensor

                         f"Hotkey {wallet.hotkey.ss58_address} not registered in subnet {netuid}",
                     )
         
        -        if self.commit_reveal_enabled(netuid=netuid) is True:
        +        if self.commit_reveal_enabled(netuid=netuid):
                     # go with `commit reveal v3` extrinsic
         
                     while retries < max_retries and success is False and _blocks_weight_limit():
                         logging.info(
        -                    f"Committing weights for subnet #{netuid}. Attempt {retries + 1} of {max_retries}."
        +                    f"Committing weights for subnet [blue]{netuid}[/blue]. "
        +                    f"Attempt [blue]{retries + 1}[blue] of [green]{max_retries}[/green]."
                         )
                         success, message = commit_reveal_v3_extrinsic(
                             subtensor=self,
        @@ -3277,17 +4652,19 @@ 

        Source code for bittensor.core.subtensor

                             version_key=version_key,
                             wait_for_inclusion=wait_for_inclusion,
                             wait_for_finalization=wait_for_finalization,
        +                    block_time=block_time,
        +                    period=period,
                         )
                         retries += 1
                     return success, message
                 else:
        -            # go with classic `set weights extrinsic`
        +            # go with classic `set_weights_extrinsic`
         
                     while retries < max_retries and success is False and _blocks_weight_limit():
                         try:
                             logging.info(
        -                        f"Setting weights for subnet #[blue]{netuid}[/blue]. "
        -                        f"Attempt [blue]{retries + 1} of {max_retries}[/blue]."
        +                        f"Setting weights for subnet [blue]{netuid}[/blue]. "
        +                        f"Attempt [blue]{retries + 1}[/blue] of [green]{max_retries}[/green]."
                             )
                             success, message = set_weights_extrinsic(
                                 subtensor=self,
        @@ -3298,10 +4675,10 @@ 

        Source code for bittensor.core.subtensor

                                 version_key=version_key,
                                 wait_for_inclusion=wait_for_inclusion,
                                 wait_for_finalization=wait_for_finalization,
        +                        period=period,
                             )
                         except Exception as e:
                             logging.error(f"Error setting weights: {e}")
        -                finally:
                             retries += 1
         
                     return success, message
        @@ -3316,6 +4693,7 @@

        Source code for bittensor.core.subtensor

                 wait_for_inclusion: bool = False,
                 wait_for_finalization: bool = True,
                 certificate: Optional[Certificate] = None,
        +        period: Optional[int] = None,
             ) -> bool:
                 """
                 Registers an ``Axon`` serving endpoint on the Bittensor network for a specific neuron. This function is used to
        @@ -3329,6 +4707,9 @@ 

        Source code for bittensor.core.subtensor

                         ``True``.
                     certificate (bittensor.utils.Certificate): Certificate to use for TLS. If ``None``, no TLS will be used.
                         Defaults to ``None``.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     bool: ``True`` if the Axon serve registration is successful, False otherwise.
        @@ -3343,6 +4724,47 @@ 

        Source code for bittensor.core.subtensor

                     wait_for_inclusion=wait_for_inclusion,
                     wait_for_finalization=wait_for_finalization,
                     certificate=certificate,
        +            period=period,
        +        )
        + + +
        +[docs] + def start_call( + self, + wallet: "Wallet", + netuid: int, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """ + Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start + a new subnet's emission mechanism). + + Args: + wallet (Wallet): The wallet used to sign the extrinsic (must be unlocked). + netuid (int): The UID of the target subnet for which the call is being initiated. + wait_for_inclusion (bool, optional): Whether to wait for the extrinsic to be included in a block. + Defaults to `True`. + wait_for_finalization (bool, optional): Whether to wait for finalization of the extrinsic. + Defaults to `False`. + period (Optional[int]): The number of blocks during which the transaction will remain valid after it's + submitted. If the transaction is not included in a block within that number of blocks, it will expire + and be rejected. You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + """ + return start_call_extrinsic( + subtensor=self, + wallet=wallet, + netuid=netuid, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, )
        @@ -3357,6 +4779,10 @@

        Source code for bittensor.core.subtensor

                 amount: Balance,
                 wait_for_inclusion: bool = True,
                 wait_for_finalization: bool = False,
        +        safe_staking: bool = False,
        +        allow_partial_stake: bool = False,
        +        rate_tolerance: float = 0.005,
        +        period: Optional[int] = None,
             ) -> bool:
                 """
                 Moves stake between subnets while keeping the same coldkey-hotkey pair ownership.
        @@ -3370,9 +4796,28 @@ 

        Source code for bittensor.core.subtensor

                     amount (Union[Balance, float]): The amount to swap.
                     wait_for_inclusion (bool): Waits for the transaction to be included in a block.
                     wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain.
        +            safe_staking (bool): If true, enables price safety checks to protect against fluctuating prices. The swap
        +                will only execute if the price ratio between subnets doesn't exceed the rate tolerance.
        +                Default is False.
        +            allow_partial_stake (bool): If true and safe_staking is enabled, allows partial stake swaps when
        +                the full amount would exceed the price tolerance. If false, the entire swap fails if it would
        +                exceed the tolerance. Default is False.
        +            rate_tolerance (float): The maximum allowed increase in the price ratio between subnets
        +                (origin_price/destination_price). For example, 0.005 = 0.5% maximum increase. Only used
        +                when safe_staking is True. Default is 0.005.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     success (bool): True if the extrinsic was successful.
        +
        +        The price ratio for swap_stake in safe mode is calculated as: origin_subnet_price / destination_subnet_price
        +        When safe_staking is enabled, the swap will only execute if:
        +            - With allow_partial_stake=False: The entire swap amount can be executed without the price ratio
        +            increasing more than rate_tolerance
        +            - With allow_partial_stake=True: A partial amount will be swapped up to the point where the
        +            price ratio would increase by rate_tolerance
                 """
                 amount = check_and_convert_to_balance(amount)
                 return swap_stake_extrinsic(
        @@ -3384,6 +4829,51 @@ 

        Source code for bittensor.core.subtensor

                     amount=amount,
                     wait_for_inclusion=wait_for_inclusion,
                     wait_for_finalization=wait_for_finalization,
        +            safe_staking=safe_staking,
        +            allow_partial_stake=allow_partial_stake,
        +            rate_tolerance=rate_tolerance,
        +            period=period,
        +        )
        + + +
        +[docs] + def toggle_user_liquidity( + self, + wallet: "Wallet", + netuid: int, + enable: bool, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """Allow to toggle user liquidity for specified subnet. + + Arguments: + wallet: The wallet used to sign the extrinsic (must be unlocked). + netuid: The UID of the target subnet for which the call is being initiated. + enable: Boolean indicating whether to enable user liquidity. + wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. + wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. + period: The number of blocks during which the transaction will remain valid after it's submitted. If + the transaction is not included in a block within that number of blocks, it will expire and be rejected. + You can think of it as an expiration date for the transaction. + + Returns: + Tuple[bool, str]: + - True and a success message if the extrinsic is successfully submitted or processed. + - False and an error message if the submission fails or the wallet cannot be unlocked. + + Note: The call can be executed successfully by the subnet owner only. + """ + return toggle_user_liquidity_extrinsic( + subtensor=self, + wallet=wallet, + netuid=netuid, + enable=enable, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, )
        @@ -3398,6 +4888,7 @@

        Source code for bittensor.core.subtensor

                 wait_for_finalization: bool = False,
                 transfer_all: bool = False,
                 keep_alive: bool = True,
        +        period: Optional[int] = None,
             ) -> bool:
                 """
                 Transfer token of amount to destination.
        @@ -3405,12 +4896,15 @@ 

        Source code for bittensor.core.subtensor

                 Arguments:
                     wallet (bittensor_wallet.Wallet): Source wallet for the transfer.
                     dest (str): Destination address for the transfer.
        -            amount (float): Amount of tokens to transfer.
        +            amount (float): Amount of tao to transfer.
                     transfer_all (bool): Flag to transfer all tokens. Default is ``False``.
                     wait_for_inclusion (bool): Waits for the transaction to be included in a block.  Default is ``True``.
                     wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain.  Default is
                         ``False``.
                     keep_alive (bool): Flag to keep the connection alive. Default is ``True``.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     `True` if the transferring was successful, otherwise `False`.
        @@ -3425,6 +4919,7 @@ 

        Source code for bittensor.core.subtensor

                     wait_for_inclusion=wait_for_inclusion,
                     wait_for_finalization=wait_for_finalization,
                     keep_alive=keep_alive,
        +            period=period,
                 )
        @@ -3440,6 +4935,7 @@

        Source code for bittensor.core.subtensor

                 amount: Balance,
                 wait_for_inclusion: bool = True,
                 wait_for_finalization: bool = False,
        +        period: Optional[int] = None,
             ) -> bool:
                 """
                 Transfers stake from one subnet to another while changing the coldkey owner.
        @@ -3453,6 +4949,9 @@ 

        Source code for bittensor.core.subtensor

                     amount (Union[Balance, float, int]): Amount to transfer.
                     wait_for_inclusion (bool): If true, waits for inclusion before returning.
                     wait_for_finalization (bool): If true, waits for finalization before returning.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
         
                 Returns:
                     success (bool): True if the transfer was successful.
        @@ -3468,6 +4967,7 @@ 

        Source code for bittensor.core.subtensor

                     amount=amount,
                     wait_for_inclusion=wait_for_inclusion,
                     wait_for_finalization=wait_for_finalization,
        +            period=period,
                 )
        @@ -3481,25 +4981,41 @@

        Source code for bittensor.core.subtensor

                 amount: Optional[Balance] = None,
                 wait_for_inclusion: bool = True,
                 wait_for_finalization: bool = False,
        +        safe_staking: bool = False,
        +        allow_partial_stake: bool = False,
        +        rate_tolerance: float = 0.005,
        +        period: Optional[int] = None,
        +        unstake_all: bool = False,
             ) -> bool:
                 """
                 Removes a specified amount of stake from a single hotkey account. This function is critical for adjusting
                     individual neuron stakes within the Bittensor network.
         
                 Args:
        -            wallet (bittensor_wallet.wallet): The wallet associated with the neuron from which the stake is being
        -                removed.
        -            hotkey_ss58 (Optional[str]): The ``SS58`` address of the hotkey account to unstake from.
        -            netuid (Optional[int]): The unique identifier of the subnet.
        -            amount (Balance): The amount of TAO to unstake. If not specified, unstakes all.
        -            wait_for_inclusion (bool): Waits for the transaction to be included in a block.
        -            wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain.
        +            wallet: The wallet associated with the neuron from which the stake is being removed.
        +            hotkey_ss58: The ``SS58`` address of the hotkey account to unstake from.
        +            netuid: The unique identifier of the subnet.
        +            amount: The amount of alpha to unstake. If not specified, unstakes all. Alpha amount.
        +            wait_for_inclusion: Waits for the transaction to be included in a block.
        +            wait_for_finalization: Waits for the transaction to be finalized on the blockchain.
        +            safe_staking: If true, enables price safety checks to protect against fluctuating prices. The unstake
        +                will only execute if the price change doesn't exceed the rate tolerance. Default is False.
        +            allow_partial_stake (bool): If true and safe_staking is enabled, allows partial unstaking when
        +                the full amount would exceed the price tolerance. If false, the entire unstake fails if it would
        +                exceed the tolerance. Default is False.
        +            rate_tolerance (float): The maximum allowed price change ratio when unstaking. For example,
        +                0.005 = 0.5% maximum price decrease. Only used when safe_staking is True. Default is 0.005.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
        +            unstake_all: If `True`, unstakes all tokens, and `amount` is ignored. Default is `False`.
         
                 Returns:
                     bool: ``True`` if the unstaking process is successful, False otherwise.
         
                 This function supports flexible stake management, allowing neurons to adjust their network participation and
        -            potential reward accruals.
        +            potential reward accruals. When safe_staking is enabled, it provides protection against price fluctuations
        +            during the time unstake is executed and the time it is actually processed by the chain.
                 """
                 amount = check_and_convert_to_balance(amount)
                 return unstake_extrinsic(
        @@ -3510,6 +5026,97 @@ 

        Source code for bittensor.core.subtensor

                     amount=amount,
                     wait_for_inclusion=wait_for_inclusion,
                     wait_for_finalization=wait_for_finalization,
        +            safe_staking=safe_staking,
        +            allow_partial_stake=allow_partial_stake,
        +            rate_tolerance=rate_tolerance,
        +            period=period,
        +            unstake_all=unstake_all,
        +        )
        + + +
        +[docs] + def unstake_all( + self, + wallet: "Wallet", + hotkey: str, + netuid: int, + rate_tolerance: Optional[float] = 0.005, + wait_for_inclusion: bool = True, + wait_for_finalization: bool = False, + period: Optional[int] = None, + ) -> tuple[bool, str]: + """Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network. + + Arguments: + wallet: The wallet of the stake owner. + hotkey: The SS58 address of the hotkey to unstake from. + netuid: The unique identifier of the subnet. + rate_tolerance: The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum + price decrease. If not passed (None), then unstaking goes without price limit. Default is 0.005. + wait_for_inclusion: Waits for the transaction to be included in a block. Default is `True`. + wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is `False`. + period: The number of blocks during which the transaction will remain valid after it's submitted. If the + transaction is not included in a block within that number of blocks, it will expire and be rejected. You + can think of it as an expiration date for the transaction. Default is `None`. + + Returns: + tuple[bool, str]: + A tuple containing: + - `True` and a success message if the unstake operation succeeded; + - `False` and an error message otherwise. + + Example: + # If you would like to unstake all stakes in all subnets safely: + import bittensor as bt + + subtensor = bt.Subtensor() + wallet = bt.Wallet("my_wallet") + netuid = 14 + hotkey = "5%SOME_HOTKEY%" + + wallet_stakes = subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address) + + for stake in wallet_stakes: + result = subtensor.unstake_all( + wallet=wallet, + hotkey_ss58=stake.hotkey_ss58, + netuid=stake.netuid, + ) + print(result) + + # If you would like to unstake all stakes in all subnets unsafely, use `rate_tolerance=None`: + import bittensor as bt + + subtensor = bt.AsyncSubtensor() + wallet = bt.Wallet("my_wallet") + netuid = 14 + hotkey = "5%SOME_HOTKEY_WHERE_IS_YOUR_STAKE_NOW%" + + wallet_stakes = await subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address) + + for stake in wallet_stakes: + result = await subtensor.unstake_all( + wallet=wallet, + hotkey_ss58=stake.hotkey_ss58, + netuid=stake.netuid, + rate_tolerance=None, + ) + print(result) + """ + if netuid != 0: + logging.debug( + f"Unstaking without Alpha price control from subnet [blue]#{netuid}[/blue]." + ) + return unstake_all_extrinsic( + subtensor=self, + wallet=wallet, + hotkey=hotkey, + netuid=netuid, + rate_tolerance=rate_tolerance, + wait_for_inclusion=wait_for_inclusion, + wait_for_finalization=wait_for_finalization, + period=period, )
        @@ -3523,13 +5130,15 @@

        Source code for bittensor.core.subtensor

                 amounts: Optional[list[Balance]] = None,
                 wait_for_inclusion: bool = True,
                 wait_for_finalization: bool = False,
        +        period: Optional[int] = None,
        +        unstake_all: bool = False,
             ) -> bool:
                 """
                 Performs batch unstaking from multiple hotkey accounts, allowing a neuron to reduce its staked amounts
                     efficiently. This function is useful for managing the distribution of stakes across multiple neurons.
         
                 Args:
        -            wallet (bittensor_wallet.Wallet): The wallet linked to the coldkey from which the stakes are being
        +            wallet: The wallet linked to the coldkey from which the stakes are being
                         withdrawn.
                     hotkey_ss58s (List[str]): A list of hotkey ``SS58`` addresses to unstake from.
                     netuids (List[int]): The list of subnet uids.
        @@ -3537,6 +5146,10 @@ 

        Source code for bittensor.core.subtensor

                         unstakes all available stakes.
                     wait_for_inclusion (bool): Waits for the transaction to be included in a block.
                     wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain.
        +            period (Optional[int]): The number of blocks during which the transaction will remain valid after it's
        +                submitted. If the transaction is not included in a block within that number of blocks, it will expire
        +                and be rejected. You can think of it as an expiration date for the transaction.
        +            unstake_all: If `True`, unstakes all tokens, and `amounts` is ignored. Default is `False`.
         
                 Returns:
                     bool: ``True`` if the batch unstaking is successful, False otherwise.
        @@ -3552,6 +5165,8 @@ 

        Source code for bittensor.core.subtensor

                     amounts=amounts,
                     wait_for_inclusion=wait_for_inclusion,
                     wait_for_finalization=wait_for_finalization,
        +            period=period,
        +            unstake_all=unstake_all,
                 )
        diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api.html b/static/python-api/html/_modules/bittensor/core/subtensor_api.html new file mode 100644 index 0000000000..13d49e6753 --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/subtensor_api.html @@ -0,0 +1,663 @@ + + + + + + + + + + bittensor.core.subtensor_api — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.subtensor_api

        +from typing import Optional, Union, TYPE_CHECKING
        +
        +from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
        +from bittensor.core.subtensor import Subtensor as _Subtensor
        +from .chain import Chain as _Chain
        +from .commitments import Commitments as _Commitments
        +from .delegates import Delegates as _Delegates
        +from .extrinsics import Extrinsics as _Extrinsics
        +from .metagraphs import Metagraphs as _Metagraphs
        +from .neurons import Neurons as _Neurons
        +from .queries import Queries as _Queries
        +from .staking import Staking as _Staking
        +from .subnets import Subnets as _Subnets
        +from .utils import add_legacy_methods as _add_classic_fields
        +from .wallets import Wallets as _Wallets
        +
        +if TYPE_CHECKING:
        +    from bittensor.core.config import Config
        +
        +
        +
        +[docs] +class SubtensorApi: + """Subtensor API class. + + Arguments: + network: The network to connect to. Defaults to `None` -> "finney". + config: Bittensor configuration object. Defaults to `None`. + legacy_methods: If `True`, all methods from the Subtensor class will be added to the root level of this class. + fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. Defaults to `None`. + retry_forever: Whether to retry forever on connection errors. Defaults to `False`. + log_verbose: Enables or disables verbose logging. + mock: Whether this is a mock instance. Mainly just for use in testing. + archive_endpoints: Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases + where you are requesting a block that is too old for your current (presumably lite) node. Defaults to `None` + websocket_shutdown_timer: Amount of time, in seconds, to wait after the last response from the chain to close + the connection. Only applicable to AsyncSubtensor. + + Example: + # sync version + import bittensor as bt + + subtensor = bt.SubtensorApi() + print(subtensor.block) + print(subtensor.delegates.get_delegate_identities()) + subtensor.chain.tx_rate_limit() + + # async version + import bittensor as bt + + subtensor = bt.SubtensorApi(async_subtensor=True) + async with subtensor: + print(await subtensor.block) + print(await subtensor.delegates.get_delegate_identities()) + print(await subtensor.chain.tx_rate_limit()) + + # using `legacy_methods` + import bittensor as bt + + subtensor = bt.SubtensorApi(legacy_methods=True) + print(subtensor.bonds(0)) + + # using `fallback_endpoints` or `retry_forever` + import bittensor as bt + + subtensor = bt.SubtensorApi( + network="finney", + fallback_endpoints=["wss://localhost:9945", "wss://some-other-endpoint:9945"], + retry_forever=True, + ) + print(subtensor.block) + """ + + def __init__( + self, + network: Optional[str] = None, + config: Optional["Config"] = None, + async_subtensor: bool = False, + legacy_methods: bool = False, + fallback_endpoints: Optional[list[str]] = None, + retry_forever: bool = False, + log_verbose: bool = False, + mock: bool = False, + archive_endpoints: Optional[list[str]] = None, + websocket_shutdown_timer: float = 5.0, + ): + self.network = network + self._fallback_endpoints = fallback_endpoints + self._archive_endpoints = archive_endpoints + self._retry_forever = retry_forever + self._ws_shutdown_timer = websocket_shutdown_timer + self._mock = mock + self.log_verbose = log_verbose + self.is_async = async_subtensor + self._config = config + + # assigned only for async instance + self.initialize = None + self._subtensor = self._get_subtensor() + + # fix naming collision + self._neurons = _Neurons(self._subtensor) + + # define empty fields + self.substrate = self._subtensor.substrate + self.chain_endpoint = self._subtensor.chain_endpoint + self.close = self._subtensor.close + self.config = self._subtensor.config + self.setup_config = self._subtensor.setup_config + self.help = self._subtensor.help + + self.determine_block_hash = self._subtensor.determine_block_hash + self.encode_params = self._subtensor.encode_params + self.sign_and_send_extrinsic = self._subtensor.sign_and_send_extrinsic + self.start_call = self._subtensor.start_call + self.wait_for_block = self._subtensor.wait_for_block + + # adds all Subtensor methods into main level os SubtensorApi class + if legacy_methods: + _add_classic_fields(self) + + def _get_subtensor(self) -> Union["_Subtensor", "_AsyncSubtensor"]: + """Returns the subtensor instance based on the provided config and subtensor type flag.""" + if self.is_async: + _subtensor = _AsyncSubtensor( + network=self.network, + config=self._config, + log_verbose=self.log_verbose, + fallback_endpoints=self._fallback_endpoints, + retry_forever=self._retry_forever, + _mock=self._mock, + archive_endpoints=self._archive_endpoints, + websocket_shutdown_timer=self._ws_shutdown_timer, + ) + self.initialize = _subtensor.initialize + return _subtensor + else: + return _Subtensor( + network=self.network, + config=self._config, + log_verbose=self.log_verbose, + fallback_endpoints=self._fallback_endpoints, + retry_forever=self._retry_forever, + _mock=self._mock, + archive_endpoints=self._archive_endpoints, + ) + + def _determine_chain_endpoint(self) -> str: + """Determines the connection and mock flag.""" + if self._mock: + return "Mock" + return self.substrate.url + + def __str__(self): + return ( + f"<Network: {self.network}, " + f"Chain: {self._determine_chain_endpoint()}, " + f"{'Async version' if self.is_async else 'Sync version'}>" + ) + + def __repr__(self): + return self.__str__() + + def __enter__(self): + if self.is_async: + raise NotImplementedError( + "Async version of SubtensorApi cannot be used with sync context manager." + ) + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + if self.is_async: + raise NotImplementedError( + "Async version of SubtensorApi cannot be used with sync context manager." + ) + self.close() + + async def __aenter__(self): + if not self.is_async: + raise NotImplementedError( + "Sync version of SubtensorApi cannot be used with async context manager." + ) + return await self._subtensor.__aenter__() + + async def __aexit__(self, exc_type, exc_val, exc_tb): + if not self.is_async: + raise NotImplementedError( + "Sync version of SubtensorApi cannot be used with async context manager." + ) + await self.substrate.close() + +
        +[docs] + @classmethod + def add_args(cls, parser): + _Subtensor.add_args(parser)
        + + + @property + def block(self): + """Returns current chain block number.""" + return self._subtensor.block + + @property + def chain(self): + """Property of interaction with chain methods.""" + return _Chain(self._subtensor) + + @property + def commitments(self): + """Property to access commitments methods.""" + return _Commitments(self._subtensor) + + @property + def delegates(self): + """Property to access delegates methods.""" + return _Delegates(self._subtensor) + + @property + def extrinsics(self): + """Property to access extrinsics methods.""" + return _Extrinsics(self._subtensor) + + @property + def metagraphs(self): + """Property to access metagraphs methods.""" + return _Metagraphs(self._subtensor) + + @property + def neurons(self): + """Property to access neurons methods.""" + return self._neurons + + @neurons.setter + def neurons(self, value): + """Setter for neurons property.""" + self._neurons = value + + @property + def queries(self): + """Property to access subtensor queries methods.""" + return _Queries(self._subtensor) + + @property + def staking(self): + """Property to access staking methods.""" + return _Staking(self._subtensor) + + @property + def subnets(self): + """Property of interaction with subnets methods.""" + return _Subnets(self._subtensor) + + @property + def wallets(self): + """Property of interaction methods with cold/hotkeys, and balances, etc.""" + return _Wallets(self._subtensor)
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/chain.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/chain.html new file mode 100644 index 0000000000..6faab94c5a --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/subtensor_api/chain.html @@ -0,0 +1,428 @@ + + + + + + + + + + bittensor.core.subtensor_api.chain — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.subtensor_api.chain

        +from typing import Union
        +from bittensor.core.subtensor import Subtensor as _Subtensor
        +from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
        +
        +
        +
        +[docs] +class Chain: + """Class for managing chain state operations.""" + + def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): + self.get_block_hash = subtensor.get_block_hash + self.get_current_block = subtensor.get_current_block + self.get_delegate_identities = subtensor.get_delegate_identities + self.get_existential_deposit = subtensor.get_existential_deposit + self.get_minimum_required_stake = subtensor.get_minimum_required_stake + self.get_vote_data = subtensor.get_vote_data + self.get_timestamp = subtensor.get_timestamp + self.is_fast_blocks = subtensor.is_fast_blocks + self.last_drand_round = subtensor.last_drand_round + self.state_call = subtensor.state_call + self.tx_rate_limit = subtensor.tx_rate_limit
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/commitments.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/commitments.html new file mode 100644 index 0000000000..909852faaa --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/subtensor_api/commitments.html @@ -0,0 +1,431 @@ + + + + + + + + + + bittensor.core.subtensor_api.commitments — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.subtensor_api.commitments

        +from typing import Union
        +from bittensor.core.subtensor import Subtensor as _Subtensor
        +from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
        +
        +
        +
        +[docs] +class Commitments: + """Class for managing any commitment operations.""" + + def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): + self.commit_reveal_enabled = subtensor.commit_reveal_enabled + self.get_all_commitments = subtensor.get_all_commitments + self.get_all_revealed_commitments = subtensor.get_all_revealed_commitments + self.get_commitment = subtensor.get_commitment + self.get_current_weight_commit_info = subtensor.get_current_weight_commit_info + self.get_last_commitment_bonds_reset_block = ( + subtensor.get_last_commitment_bonds_reset_block + ) + self.get_revealed_commitment = subtensor.get_revealed_commitment + self.get_revealed_commitment_by_hotkey = ( + subtensor.get_revealed_commitment_by_hotkey + ) + self.set_commitment = subtensor.set_commitment + self.set_reveal_commitment = subtensor.set_reveal_commitment
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/utils/mock/index.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/delegates.html similarity index 59% rename from static/python-api/html/autoapi/bittensor/utils/mock/index.html rename to static/python-api/html/_modules/bittensor/core/subtensor_api/delegates.html index cbff228893..c9490f4ee1 100644 --- a/static/python-api/html/autoapi/bittensor/utils/mock/index.html +++ b/static/python-api/html/_modules/bittensor/core/subtensor_api/delegates.html @@ -6,9 +6,8 @@ - - - bittensor.utils.mock — Bittensor SDK Docs documentation + + bittensor.core.subtensor_api.delegates — Bittensor SDK Docs documentation @@ -45,11 +44,9 @@ - + - - @@ -101,6 +98,8 @@ + +
        @@ -146,43 +145,42 @@
        @@ -388,19 +319,11 @@
        -

        bittensor.utils.mock

        +

        -
        -

        Contents

        -
        -
        @@ -410,19 +333,28 @@

        Contents

        -
        -

        bittensor.utils.mock#

        -
        -

        Submodules#

        - -
        -
        +

        Source code for bittensor.core.subtensor_api.delegates

        +from typing import Union
        +from bittensor.core.subtensor import Subtensor as _Subtensor
        +from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
         
         
        +
        +[docs] +class Delegates: + """Class for managing delegate operations.""" + + def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): + self.is_hotkey_delegate = subtensor.is_hotkey_delegate + self.get_delegate_by_hotkey = subtensor.get_delegate_by_hotkey + self.set_delegate_take = subtensor.set_delegate_take + self.get_delegate_identities = subtensor.get_delegate_identities + self.get_delegate_take = subtensor.get_delegate_take + self.get_delegated = subtensor.get_delegated + self.get_delegates = subtensor.get_delegates
        + +
        +
        @@ -433,24 +365,6 @@

        Submodules @@ -458,22 +372,6 @@

        Submodules - -

        diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/extrinsics.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/extrinsics.html new file mode 100644 index 0000000000..7b4ac16dac --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/subtensor_api/extrinsics.html @@ -0,0 +1,445 @@ + + + + + + + + + + bittensor.core.subtensor_api.extrinsics — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.subtensor_api.extrinsics

        +from typing import Union
        +from bittensor.core.subtensor import Subtensor as _Subtensor
        +from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
        +
        +
        +
        +[docs] +class Extrinsics: + """Class for managing extrinsic operations.""" + + def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): + self.add_liquidity = subtensor.add_liquidity + self.add_stake = subtensor.add_stake + self.add_stake_multiple = subtensor.add_stake_multiple + self.burned_register = subtensor.burned_register + self.commit_weights = subtensor.commit_weights + self.modify_liquidity = subtensor.modify_liquidity + self.move_stake = subtensor.move_stake + self.register = subtensor.register + self.register_subnet = subtensor.register_subnet + self.remove_liquidity = subtensor.remove_liquidity + self.reveal_weights = subtensor.reveal_weights + self.root_register = subtensor.root_register + self.root_set_weights = subtensor.root_set_weights + self.root_set_pending_childkey_cooldown = ( + subtensor.root_set_pending_childkey_cooldown + ) + self.set_children = subtensor.set_children + self.set_subnet_identity = subtensor.set_subnet_identity + self.set_weights = subtensor.set_weights + self.serve_axon = subtensor.serve_axon + self.start_call = subtensor.start_call + self.swap_stake = subtensor.swap_stake + self.toggle_user_liquidity = subtensor.toggle_user_liquidity + self.transfer = subtensor.transfer + self.transfer_stake = subtensor.transfer_stake + self.unstake = subtensor.unstake + self.unstake_all = subtensor.unstake_all + self.unstake_multiple = subtensor.unstake_multiple
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/metagraphs.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/metagraphs.html new file mode 100644 index 0000000000..9258e0562c --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/subtensor_api/metagraphs.html @@ -0,0 +1,420 @@ + + + + + + + + + + bittensor.core.subtensor_api.metagraphs — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.subtensor_api.metagraphs

        +from typing import Union
        +from bittensor.core.subtensor import Subtensor as _Subtensor
        +from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
        +
        +
        +
        +[docs] +class Metagraphs: + """Class for managing metagraph operations.""" + + def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): + self.get_metagraph_info = subtensor.get_metagraph_info + self.get_all_metagraphs_info = subtensor.get_all_metagraphs_info + self.metagraph = subtensor.metagraph
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/neurons.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/neurons.html new file mode 100644 index 0000000000..1c81782cc9 --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/subtensor_api/neurons.html @@ -0,0 +1,423 @@ + + + + + + + + + + bittensor.core.subtensor_api.neurons — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.subtensor_api.neurons

        +from typing import Union
        +from bittensor.core.subtensor import Subtensor as _Subtensor
        +from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
        +
        +
        +
        +[docs] +class Neurons: + """Class for managing neuron operations.""" + + def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): + self.get_all_neuron_certificates = subtensor.get_all_neuron_certificates + self.get_neuron_certificate = subtensor.get_neuron_certificate + self.neuron_for_uid = subtensor.neuron_for_uid + self.neurons = subtensor.neurons + self.neurons_lite = subtensor.neurons_lite + self.query_identity = subtensor.query_identity
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/queries.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/queries.html new file mode 100644 index 0000000000..ee8b65ce05 --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/subtensor_api/queries.html @@ -0,0 +1,423 @@ + + + + + + + + + + bittensor.core.subtensor_api.queries — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.subtensor_api.queries

        +from typing import Union
        +from bittensor.core.subtensor import Subtensor as _Subtensor
        +from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
        +
        +
        +
        +[docs] +class Queries: + """Class for managing subtensor query operations.""" + + def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): + self.query_constant = subtensor.query_constant + self.query_map = subtensor.query_map + self.query_map_subtensor = subtensor.query_map_subtensor + self.query_module = subtensor.query_module + self.query_runtime_api = subtensor.query_runtime_api + self.query_subtensor = subtensor.query_subtensor
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/staking.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/staking.html new file mode 100644 index 0000000000..c8dfbf258e --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/subtensor_api/staking.html @@ -0,0 +1,434 @@ + + + + + + + + + + bittensor.core.subtensor_api.staking — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.subtensor_api.staking

        +from typing import Union
        +from bittensor.core.subtensor import Subtensor as _Subtensor
        +from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
        +
        +
        +
        +[docs] +class Staking: + """Class for managing staking operations.""" + + def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): + self.add_stake = subtensor.add_stake + self.add_stake_multiple = subtensor.add_stake_multiple + self.get_hotkey_stake = subtensor.get_hotkey_stake + self.get_minimum_required_stake = subtensor.get_minimum_required_stake + self.get_stake = subtensor.get_stake + self.get_stake_add_fee = subtensor.get_stake_add_fee + self.get_stake_for_coldkey = subtensor.get_stake_for_coldkey + self.get_stake_for_coldkey_and_hotkey = ( + subtensor.get_stake_for_coldkey_and_hotkey + ) + self.get_stake_info_for_coldkey = subtensor.get_stake_info_for_coldkey + self.get_stake_movement_fee = subtensor.get_stake_movement_fee + self.get_stake_operations_fee = subtensor.get_stake_operations_fee + self.get_unstake_fee = subtensor.get_unstake_fee + self.unstake = subtensor.unstake + self.unstake_all = subtensor.unstake_all + self.unstake_multiple = subtensor.unstake_multiple
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/subnets.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/subnets.html new file mode 100644 index 0000000000..4fc102c224 --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/subtensor_api/subnets.html @@ -0,0 +1,459 @@ + + + + + + + + + + bittensor.core.subtensor_api.subnets — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.subtensor_api.subnets

        +from typing import Union
        +
        +from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
        +from bittensor.core.subtensor import Subtensor as _Subtensor
        +
        +
        +
        +[docs] +class Subnets: + """Class for managing subnet operations.""" + + def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): + self.all_subnets = subtensor.all_subnets + self.blocks_since_last_step = subtensor.blocks_since_last_step + self.blocks_since_last_update = subtensor.blocks_since_last_update + self.bonds = subtensor.bonds + self.difficulty = subtensor.difficulty + self.get_all_subnets_info = subtensor.get_all_subnets_info + self.get_parents = subtensor.get_parents + self.get_children = subtensor.get_children + self.get_children_pending = subtensor.get_children_pending + self.get_current_weight_commit_info = subtensor.get_current_weight_commit_info + self.get_hyperparameter = subtensor.get_hyperparameter + self.get_liquidity_list = subtensor.get_liquidity_list + self.get_neuron_for_pubkey_and_subnet = ( + subtensor.get_neuron_for_pubkey_and_subnet + ) + self.get_next_epoch_start_block = subtensor.get_next_epoch_start_block + self.get_subnet_burn_cost = subtensor.get_subnet_burn_cost + self.get_subnet_hyperparameters = subtensor.get_subnet_hyperparameters + self.get_subnet_info = subtensor.get_subnet_info + self.get_subnet_price = subtensor.get_subnet_price + self.get_subnet_prices = subtensor.get_subnet_prices + self.get_subnet_owner_hotkey = subtensor.get_subnet_owner_hotkey + self.get_subnet_reveal_period_epochs = subtensor.get_subnet_reveal_period_epochs + self.get_subnet_validator_permits = subtensor.get_subnet_validator_permits + self.get_subnets = subtensor.get_subnets + self.get_total_subnets = subtensor.get_total_subnets + self.get_uid_for_hotkey_on_subnet = subtensor.get_uid_for_hotkey_on_subnet + self.immunity_period = subtensor.immunity_period + self.is_hotkey_registered_on_subnet = subtensor.is_hotkey_registered_on_subnet + self.is_subnet_active = subtensor.is_subnet_active + self.max_weight_limit = subtensor.max_weight_limit + self.min_allowed_weights = subtensor.min_allowed_weights + self.recycle = subtensor.recycle + self.register_subnet = subtensor.register_subnet + self.set_subnet_identity = subtensor.set_subnet_identity + self.subnet = subtensor.subnet + self.subnet_exists = subtensor.subnet_exists + self.subnetwork_n = subtensor.subnetwork_n + self.tempo = subtensor.tempo + self.weights_rate_limit = subtensor.weights_rate_limit + self.weights = subtensor.weights
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/utils.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/utils.html new file mode 100644 index 0000000000..6cb9b683ce --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/subtensor_api/utils.html @@ -0,0 +1,584 @@ + + + + + + + + + + bittensor.core.subtensor_api.utils — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.subtensor_api.utils

        +from typing import TYPE_CHECKING
        +
        +if TYPE_CHECKING:
        +    from bittensor.core.subtensor_api import SubtensorApi
        +
        +
        +
        +[docs] +def add_legacy_methods(subtensor: "SubtensorApi"): + """If SubtensorApi get `subtensor_fields=True` arguments, then all classic Subtensor fields added to root level.""" + subtensor.add_liquidity = subtensor._subtensor.add_liquidity + subtensor.add_stake = subtensor._subtensor.add_stake + subtensor.add_stake_multiple = subtensor._subtensor.add_stake_multiple + subtensor.all_subnets = subtensor._subtensor.all_subnets + subtensor.blocks_since_last_step = subtensor._subtensor.blocks_since_last_step + subtensor.blocks_since_last_update = subtensor._subtensor.blocks_since_last_update + subtensor.bonds = subtensor._subtensor.bonds + subtensor.burned_register = subtensor._subtensor.burned_register + subtensor.chain_endpoint = subtensor._subtensor.chain_endpoint + subtensor.commit = subtensor._subtensor.commit + subtensor.commit_reveal_enabled = subtensor._subtensor.commit_reveal_enabled + subtensor.commit_weights = subtensor._subtensor.commit_weights + subtensor.determine_block_hash = subtensor._subtensor.determine_block_hash + subtensor.difficulty = subtensor._subtensor.difficulty + subtensor.does_hotkey_exist = subtensor._subtensor.does_hotkey_exist + subtensor.encode_params = subtensor._subtensor.encode_params + subtensor.filter_netuids_by_registered_hotkeys = ( + subtensor._subtensor.filter_netuids_by_registered_hotkeys + ) + subtensor.get_all_commitments = subtensor._subtensor.get_all_commitments + subtensor.get_all_metagraphs_info = subtensor._subtensor.get_all_metagraphs_info + subtensor.get_all_neuron_certificates = ( + subtensor._subtensor.get_all_neuron_certificates + ) + subtensor.get_all_revealed_commitments = ( + subtensor._subtensor.get_all_revealed_commitments + ) + subtensor.get_all_subnets_info = subtensor._subtensor.get_all_subnets_info + subtensor.get_balance = subtensor._subtensor.get_balance + subtensor.get_balances = subtensor._subtensor.get_balances + subtensor.get_block_hash = subtensor._subtensor.get_block_hash + subtensor.get_parents = subtensor._subtensor.get_parents + subtensor.get_children = subtensor._subtensor.get_children + subtensor.get_children_pending = subtensor._subtensor.get_children_pending + subtensor.get_commitment = subtensor._subtensor.get_commitment + subtensor.get_current_block = subtensor._subtensor.get_current_block + subtensor.get_last_commitment_bonds_reset_block = ( + subtensor._subtensor.get_last_commitment_bonds_reset_block + ) + subtensor.get_current_weight_commit_info = ( + subtensor._subtensor.get_current_weight_commit_info + ) + subtensor.get_delegate_by_hotkey = subtensor._subtensor.get_delegate_by_hotkey + subtensor.get_delegate_identities = subtensor._subtensor.get_delegate_identities + subtensor.get_delegate_take = subtensor._subtensor.get_delegate_take + subtensor.get_delegated = subtensor._subtensor.get_delegated + subtensor.get_delegates = subtensor._subtensor.get_delegates + subtensor.get_existential_deposit = subtensor._subtensor.get_existential_deposit + subtensor.get_hotkey_owner = subtensor._subtensor.get_hotkey_owner + subtensor.get_hotkey_stake = subtensor._subtensor.get_hotkey_stake + subtensor.get_hyperparameter = subtensor._subtensor.get_hyperparameter + subtensor.get_liquidity_list = subtensor._subtensor.get_liquidity_list + subtensor.get_metagraph_info = subtensor._subtensor.get_metagraph_info + subtensor.get_minimum_required_stake = ( + subtensor._subtensor.get_minimum_required_stake + ) + subtensor.get_netuids_for_hotkey = subtensor._subtensor.get_netuids_for_hotkey + subtensor.get_neuron_certificate = subtensor._subtensor.get_neuron_certificate + subtensor.get_neuron_for_pubkey_and_subnet = ( + subtensor._subtensor.get_neuron_for_pubkey_and_subnet + ) + subtensor.get_next_epoch_start_block = ( + subtensor._subtensor.get_next_epoch_start_block + ) + subtensor.get_owned_hotkeys = subtensor._subtensor.get_owned_hotkeys + subtensor.get_revealed_commitment = subtensor._subtensor.get_revealed_commitment + subtensor.get_revealed_commitment_by_hotkey = ( + subtensor._subtensor.get_revealed_commitment_by_hotkey + ) + subtensor.get_stake = subtensor._subtensor.get_stake + subtensor.get_stake_add_fee = subtensor._subtensor.get_stake_add_fee + subtensor.get_stake_for_coldkey = subtensor._subtensor.get_stake_for_coldkey + subtensor.get_stake_for_coldkey_and_hotkey = ( + subtensor._subtensor.get_stake_for_coldkey_and_hotkey + ) + subtensor.get_stake_for_hotkey = subtensor._subtensor.get_stake_for_hotkey + subtensor.get_stake_info_for_coldkey = ( + subtensor._subtensor.get_stake_info_for_coldkey + ) + subtensor.get_stake_movement_fee = subtensor._subtensor.get_stake_movement_fee + subtensor.get_stake_operations_fee = subtensor._subtensor.get_stake_operations_fee + subtensor.get_subnet_burn_cost = subtensor._subtensor.get_subnet_burn_cost + subtensor.get_subnet_hyperparameters = ( + subtensor._subtensor.get_subnet_hyperparameters + ) + subtensor.get_subnet_info = subtensor._subtensor.get_subnet_info + subtensor.get_subnet_price = subtensor._subtensor.get_subnet_price + subtensor.get_subnet_prices = subtensor._subtensor.get_subnet_prices + subtensor.get_subnet_owner_hotkey = subtensor._subtensor.get_subnet_owner_hotkey + subtensor.get_subnet_reveal_period_epochs = ( + subtensor._subtensor.get_subnet_reveal_period_epochs + ) + subtensor.get_subnet_validator_permits = ( + subtensor._subtensor.get_subnet_validator_permits + ) + subtensor.get_subnets = subtensor._subtensor.get_subnets + subtensor.get_timestamp = subtensor._subtensor.get_timestamp + subtensor.get_total_subnets = subtensor._subtensor.get_total_subnets + subtensor.get_transfer_fee = subtensor._subtensor.get_transfer_fee + subtensor.get_uid_for_hotkey_on_subnet = ( + subtensor._subtensor.get_uid_for_hotkey_on_subnet + ) + subtensor.get_unstake_fee = subtensor._subtensor.get_unstake_fee + subtensor.get_vote_data = subtensor._subtensor.get_vote_data + subtensor.immunity_period = subtensor._subtensor.immunity_period + subtensor.is_fast_blocks = subtensor._subtensor.is_fast_blocks + subtensor.is_hotkey_delegate = subtensor._subtensor.is_hotkey_delegate + subtensor.is_hotkey_registered = subtensor._subtensor.is_hotkey_registered + subtensor.is_hotkey_registered_any = subtensor._subtensor.is_hotkey_registered_any + subtensor.is_hotkey_registered_on_subnet = ( + subtensor._subtensor.is_hotkey_registered_on_subnet + ) + subtensor.is_subnet_active = subtensor._subtensor.is_subnet_active + subtensor.last_drand_round = subtensor._subtensor.last_drand_round + subtensor.log_verbose = subtensor._subtensor.log_verbose + subtensor.max_weight_limit = subtensor._subtensor.max_weight_limit + subtensor.metagraph = subtensor._subtensor.metagraph + subtensor.min_allowed_weights = subtensor._subtensor.min_allowed_weights + subtensor.modify_liquidity = subtensor._subtensor.modify_liquidity + subtensor.move_stake = subtensor._subtensor.move_stake + subtensor.network = subtensor._subtensor.network + subtensor.neurons = subtensor._subtensor.neurons + subtensor.neuron_for_uid = subtensor._subtensor.neuron_for_uid + subtensor.neurons_lite = subtensor._subtensor.neurons_lite + subtensor.query_constant = subtensor._subtensor.query_constant + subtensor.query_identity = subtensor._subtensor.query_identity + subtensor.query_map = subtensor._subtensor.query_map + subtensor.query_map_subtensor = subtensor._subtensor.query_map_subtensor + subtensor.query_module = subtensor._subtensor.query_module + subtensor.query_runtime_api = subtensor._subtensor.query_runtime_api + subtensor.query_subtensor = subtensor._subtensor.query_subtensor + subtensor.recycle = subtensor._subtensor.recycle + subtensor.remove_liquidity = subtensor._subtensor.remove_liquidity + subtensor.register = subtensor._subtensor.register + subtensor.register_subnet = subtensor._subtensor.register_subnet + subtensor.reveal_weights = subtensor._subtensor.reveal_weights + subtensor.root_register = subtensor._subtensor.root_register + subtensor.root_set_pending_childkey_cooldown = ( + subtensor._subtensor.root_set_pending_childkey_cooldown + ) + subtensor.root_set_weights = subtensor._subtensor.root_set_weights + subtensor.serve_axon = subtensor._subtensor.serve_axon + subtensor.set_children = subtensor._subtensor.set_children + subtensor.set_commitment = subtensor._subtensor.set_commitment + subtensor.set_delegate_take = subtensor._subtensor.set_delegate_take + subtensor.set_reveal_commitment = subtensor._subtensor.set_reveal_commitment + subtensor.set_subnet_identity = subtensor._subtensor.set_subnet_identity + subtensor.set_weights = subtensor._subtensor.set_weights + subtensor.setup_config = subtensor._subtensor.setup_config + subtensor.sign_and_send_extrinsic = subtensor._subtensor.sign_and_send_extrinsic + subtensor.start_call = subtensor._subtensor.start_call + subtensor.state_call = subtensor._subtensor.state_call + subtensor.subnet = subtensor._subtensor.subnet + subtensor.subnet_exists = subtensor._subtensor.subnet_exists + subtensor.subnetwork_n = subtensor._subtensor.subnetwork_n + subtensor.substrate = subtensor._subtensor.substrate + subtensor.swap_stake = subtensor._subtensor.swap_stake + subtensor.tempo = subtensor._subtensor.tempo + subtensor.toggle_user_liquidity = subtensor._subtensor.toggle_user_liquidity + subtensor.transfer = subtensor._subtensor.transfer + subtensor.transfer_stake = subtensor._subtensor.transfer_stake + subtensor.tx_rate_limit = subtensor._subtensor.tx_rate_limit + subtensor.unstake = subtensor._subtensor.unstake + subtensor.unstake_all = subtensor._subtensor.unstake_all + subtensor.unstake_multiple = subtensor._subtensor.unstake_multiple + subtensor.wait_for_block = subtensor._subtensor.wait_for_block + subtensor.weights = subtensor._subtensor.weights + subtensor.weights_rate_limit = subtensor._subtensor.weights_rate_limit
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/wallets.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/wallets.html new file mode 100644 index 0000000000..68b301439e --- /dev/null +++ b/static/python-api/html/_modules/bittensor/core/subtensor_api/wallets.html @@ -0,0 +1,447 @@ + + + + + + + + + + bittensor.core.subtensor_api.wallets — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + +
        +

        + +
        +
        + +
        +
        +
        + + + + +
        + +

        Source code for bittensor.core.subtensor_api.wallets

        +from typing import Union
        +from bittensor.core.subtensor import Subtensor as _Subtensor
        +from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
        +
        +
        +
        +[docs] +class Wallets: + """Class for managing coldkey, hotkey, wallet operations.""" + + def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): + self.does_hotkey_exist = subtensor.does_hotkey_exist + self.filter_netuids_by_registered_hotkeys = ( + subtensor.filter_netuids_by_registered_hotkeys + ) + self.is_hotkey_registered_any = subtensor.is_hotkey_registered_any + self.is_hotkey_registered = subtensor.is_hotkey_registered + self.is_hotkey_delegate = subtensor.is_hotkey_delegate + self.get_balance = subtensor.get_balance + self.get_balances = subtensor.get_balances + self.get_children = subtensor.get_children + self.get_children_pending = subtensor.get_children_pending + self.get_delegate_by_hotkey = subtensor.get_delegate_by_hotkey + self.get_delegate_take = subtensor.get_delegate_take + self.get_delegated = subtensor.get_delegated + self.get_hotkey_owner = subtensor.get_hotkey_owner + self.get_hotkey_stake = subtensor.get_hotkey_stake + self.get_minimum_required_stake = subtensor.get_minimum_required_stake + self.get_netuids_for_hotkey = subtensor.get_netuids_for_hotkey + self.get_owned_hotkeys = subtensor.get_owned_hotkeys + self.get_stake = subtensor.get_stake + self.get_stake_add_fee = subtensor.get_stake_add_fee + self.get_stake_for_coldkey = subtensor.get_stake_for_coldkey + self.get_stake_for_coldkey_and_hotkey = ( + subtensor.get_stake_for_coldkey_and_hotkey + ) + self.get_stake_for_hotkey = subtensor.get_stake_for_hotkey + self.get_stake_info_for_coldkey = subtensor.get_stake_info_for_coldkey + self.get_stake_movement_fee = subtensor.get_stake_movement_fee + self.get_transfer_fee = subtensor.get_transfer_fee + self.get_unstake_fee = subtensor.get_unstake_fee
        + +
        + +
        + + + + + + +
        + +
        +
        +
        + +
        + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/synapse.html b/static/python-api/html/_modules/bittensor/core/synapse.html index dc379b5e65..c099c26512 100644 --- a/static/python-api/html/_modules/bittensor/core/synapse.html +++ b/static/python-api/html/_modules/bittensor/core/synapse.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/tensor.html b/static/python-api/html/_modules/bittensor/core/tensor.html index 51fbc374c2..5e550bfd29 100644 --- a/static/python-api/html/_modules/bittensor/core/tensor.html +++ b/static/python-api/html/_modules/bittensor/core/tensor.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • diff --git a/static/python-api/html/_modules/bittensor/core/threadpool.html b/static/python-api/html/_modules/bittensor/core/threadpool.html index de68056c97..ff71b23782 100644 --- a/static/python-api/html/_modules/bittensor/core/threadpool.html +++ b/static/python-api/html/_modules/bittensor/core/threadpool.html @@ -175,7 +175,6 @@
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -569,7 +568,7 @@

        Source code for bittensor.core.threadpool

                         raise RuntimeError("cannot schedule new futures after shutdown")
                     if _shutdown:
                         raise RuntimeError(
        -                    "cannot schedule new futures after " "interpreter shutdown"
        +                    "cannot schedule new futures after interpreter shutdown"
                         )
         
                     priority = kwargs.get("priority", random.randint(0, 1000000))
        @@ -620,7 +619,7 @@ 

        Source code for bittensor.core.threadpool

             def _initializer_failed(self):
                 with self._shutdown_lock:
                     self._broken = (
        -                "A thread initializer failed, the thread pool " "is not usable anymore"
        +                "A thread initializer failed, the thread pool is not usable anymore"
                     )
                     # Drain work queue and mark pending futures failed
                     while True:
        diff --git a/static/python-api/html/_modules/bittensor/utils/version.html b/static/python-api/html/_modules/bittensor/core/timelock.html
        similarity index 53%
        rename from static/python-api/html/_modules/bittensor/utils/version.html
        rename to static/python-api/html/_modules/bittensor/core/timelock.html
        index 27d2cb3ff1..1c4703dc9e 100644
        --- a/static/python-api/html/_modules/bittensor/utils/version.html
        +++ b/static/python-api/html/_modules/bittensor/core/timelock.html
        @@ -7,7 +7,7 @@
           
             
             
        -    bittensor.utils.version — Bittensor SDK Docs  documentation
        +    bittensor.core.timelock — Bittensor SDK Docs  documentation
           
           
           
        @@ -44,7 +44,7 @@
             
             
             
        -    
        +    
             
             
           
        @@ -175,7 +175,6 @@
         
      • bittensor.utils.easy_imports
      • bittensor.utils.formatting
      • bittensor.utils.liquidity
      • -
      • bittensor.utils.mock
      • bittensor.utils.networking
      • bittensor.utils.registration
      • bittensor.utils.subnets
      • @@ -264,7 +263,7 @@ -

      -

      Source code for bittensor.utils.version

      -import time
      -from pathlib import Path
      -from typing import Optional
      +  

      Source code for bittensor.core.timelock

      +"""
      +This module provides functionality for TimeLock Encryption (TLE), a mechanism that encrypts data such that it can
      +only be decrypted after a specific amount of time (expressed in the form  of Drand rounds). It includes functions
      +for encryption, decryption, and handling the decryption process by waiting for the reveal round. The logic is based on
      +Drand QuickNet.
       
      -import requests
      -from packaging.version import Version
      +Main Functions:
      +    - encrypt: Encrypts data and returns the encrypted data along with the reveal round.
      +    - decrypt: Decrypts the provided encrypted data when the reveal round is reached.
      +    - wait_reveal_and_decrypt: Waits for the reveal round and decrypts the encrypted data.
       
      -from bittensor.core.settings import __version__, PIPADDRESS
      -from bittensor.utils.btlogging import logging
      +Usage Example:
      +    ```python
      +    from bittensor import timelock
      +    data = "From Cortex to Bittensor"
      +    encrypted_data, reveal_round = timelock.encrypt(data, n_blocks=5)
      +    decrypted_data = timelock.wait_reveal_and_decrypt(encrypted_data)
      +    ```
       
      -VERSION_CHECK_THRESHOLD = 86400
      +Usage Example with custom data:
      +    ```python
      +    import pickle
      +    from dataclasses import dataclass
       
      +    from bittensor import timelock
       
      -
      -[docs] -class VersionCheckError(Exception): - """Exception raised for errors in the version check process."""
      + @dataclass + class Person: + name: str + age: int + # get instance of your data + x_person = Person("X Lynch", 123) -def _get_version_file_path() -> Path: - return Path.home() / ".bittensor" / ".last_known_version" + # get bytes of your instance + byte_data = pickle.dumps(x_person) + # get TLE encoded bytes + encrypted, reveal_round = timelock.encrypt(byte_data, 1) -def _get_version_from_file(version_file: Path) -> Optional[str]: - try: - mtime = version_file.stat().st_mtime - logging.debug(f"Found version file, last modified: {mtime}") - diff = time.time() - mtime + # wait when reveal round appears in Drand QuickNet and get decrypted data + decrypted = timelock.wait_reveal_and_decrypt(encrypted_data=encrypted) - if diff >= VERSION_CHECK_THRESHOLD: - logging.debug("Version file expired") - return None + # convert bytes into your instance back + x_person_2 = pickle.loads(decrypted) - return version_file.read_text() - except FileNotFoundError: - logging.debug("No bittensor version file found") - return None - except OSError: - logging.exception("Failed to read version file") - return None + # make sure initial and decoded instances are the same + assert x_person == x_person_2 + ``` +Note: +For handling fast-block nodes, set the `block_time` parameter to 0.25 seconds during encryption. +""" -def _get_version_from_pypi(timeout: int = 15) -> str: - logging.debug(f"Checking latest Bittensor version at: {PIPADDRESS}") - try: - response = requests.get(PIPADDRESS, timeout=timeout) - latest_version = response.json()["info"]["version"] - return latest_version - except requests.exceptions.RequestException: - logging.exception("Failed to get latest version from pypi") - raise +import struct +import time +from typing import Optional, Union +from bittensor_drand import ( + encrypt as _btr_encrypt, + decrypt as _btr_decrypt, + get_latest_round, +) -
      -[docs] -def get_and_save_latest_version(timeout: int = 15) -> str: - """ - Retrieves and saves the latest version of Bittensor. +TLE_ENCRYPTED_DATA_SUFFIX = b"AES_GCM_" + + +
      +[docs] +def encrypt( + data: Union[bytes, str], n_blocks: int, block_time: Union[int, float] = 12.0 +) -> tuple[bytes, int]: + """Encrypts data using TimeLock Encryption - Args: - timeout (int): The timeout for the request to PyPI in seconds. Default is ``15``. + Arguments: + data: Any bytes data to be encrypted. + n_blocks: Number of blocks to encrypt. + block_time: Time in seconds for each block. Default is `12.0` seconds. Returns: - str: The latest version of Bittensor. + tuple: A tuple containing the encrypted data and reveal TimeLock reveal round. + + Raises: + PyValueError: If failed to encrypt data. + + Usage: + data = "From Cortex to Bittensor" + + # default usage + encrypted_data, reveal_round = encrypt(data, 10) + + # passing block_time for fast-blocks node + encrypted_data, reveal_round = encrypt(data, 15, block_time=0.25) + + encrypted_data, reveal_round = encrypt(data, 5) + + + Note: + For using this function with fast-blocks node you need to set block_time to 0.25 seconds. + data, round = encrypt(data, n_blocks, block_time=0.25) """ - version_file = _get_version_file_path() + if isinstance(data, str): + data = data.encode() + return _btr_encrypt(data, n_blocks, block_time)
      - if last_known_version := _get_version_from_file(version_file): - return last_known_version - latest_version = _get_version_from_pypi(timeout) - try: - version_file.write_text(latest_version) - except OSError: - logging.exception("Failed to save latest version to file") +
      +[docs] +def decrypt( + encrypted_data: bytes, no_errors: bool = True, return_str: bool = False +) -> Optional[Union[bytes, str]]: + """Decrypts encrypted data using TimeLock Decryption - return latest_version
      + Arguments: + encrypted_data: Encrypted data to be decrypted. + no_errors: If True, no errors will be raised during decryption. + return_str: convert decrypted data to string if `True`. Default is `False`. + Returns: + decrypted_data: Decrypted data, when reveled round is reached. + Usage: + # default usage + decrypted_data = decrypt(encrypted_data) -
      -[docs] -def check_version(timeout: int = 15): - """ - Check if the current version of Bittensor is up-to-date with the latest version on PyPi. - Raises a VersionCheckError if the version check fails. + # passing no_errors=False for raising errors during decryption + decrypted_data = decrypt(encrypted_data, no_errors=False) - Args: - timeout (int): The timeout for the request to PyPI in seconds. Default is ``15``. + # passing return_str=True for returning decrypted data as string + decrypted_data = decrypt(encrypted_data, return_str=True) """ + result = _btr_decrypt(encrypted_data, no_errors) + if result is None: + return None + if return_str: + return result.decode() + return result
      - try: - latest_version = get_and_save_latest_version(timeout) - if Version(latest_version) > Version(__version__): - print( - f"\u001b[33mBittensor Version: Current {__version__}/Latest {latest_version}\n" - f"Please update to the latest version at your earliest convenience. " - "Run the following command to upgrade:\n\n\u001b[0mpython -m pip install --upgrade bittensor" - ) - pass - except Exception as e: - raise VersionCheckError("Version check failed") from e
      +
      +[docs] +def wait_reveal_and_decrypt( + encrypted_data: bytes, + reveal_round: Optional[int] = None, + no_errors: bool = True, + return_str: bool = False, +) -> bytes: + """ + Waits for reveal round and decrypts data using TimeLock Decryption. + + Arguments: + encrypted_data: Encrypted data to be decrypted. + reveal_round: Reveal round to wait for. If None, will be parsed from encrypted data. + no_errors: If True, no errors will be raised during decryption. + return_str: convert decrypted data to string if `True`. Default is `False`. + Raises: + struct.error: If failed to parse reveal round from encrypted data. + TypeError: If reveal_round is None or wrong type. + IndexError: If provided encrypted_data does not contain reveal round. -
      -[docs] -def version_checking(timeout: int = 15): - """Deprecated, kept for backwards compatibility. Use check_version() instead. + Returns: + bytes: Decrypted data. - Args: - timeout (int): The timeout for calling :func:``check_version`` function. Default is ``15``. + Usage: + import bittensor as bt + encrypted, reveal_round = bt.timelock.encrypt("Cortex is power", 3) """ + if reveal_round is None: + try: + reveal_round = struct.unpack( + "<Q", encrypted_data.split(TLE_ENCRYPTED_DATA_SUFFIX)[-1] + )[0] + except (struct.error, TypeError, IndexError): + raise ValueError("Failed to parse reveal round from encrypted data.") + + while get_latest_round() <= reveal_round: + # sleep Drand QuickNet period time (3 sec) + time.sleep(3) - from warnings import warn + return decrypt(encrypted_data, no_errors, return_str)
      - warn( - "version_checking() is deprecated, please use check_version() instead", - DeprecationWarning, - ) - try: - check_version(timeout) - except VersionCheckError: - logging.exception("Version check failed")
      +__all__ = [ + "decrypt", + "encrypt", + "get_latest_round", + "wait_reveal_and_decrypt", +]
      diff --git a/static/python-api/html/_modules/bittensor/core/types.html b/static/python-api/html/_modules/bittensor/core/types.html index 626ee07ae5..16b439b7d0 100644 --- a/static/python-api/html/_modules/bittensor/core/types.html +++ b/static/python-api/html/_modules/bittensor/core/types.html @@ -175,7 +175,6 @@
    1099. bittensor.utils.easy_imports
    1100. bittensor.utils.formatting
    1101. bittensor.utils.liquidity
    1102. -
    1103. bittensor.utils.mock
    1104. bittensor.utils.networking
    1105. bittensor.utils.registration
    1106. bittensor.utils.subnets
    1107. @@ -474,8 +473,8 @@

      Source code for bittensor.core.types

               """
               prefix_str = "" if prefix is None else f"{prefix}."
               try:
      -            default_network = settings.DEFAULT_NETWORK
      -            default_chain_endpoint = settings.FINNEY_ENTRYPOINT
      +            default_network = settings.DEFAULTS.subtensor.network
      +            default_chain_endpoint = settings.DEFAULTS.subtensor.chain_endpoint
       
                   parser.add_argument(
                       f"--{prefix_str}subtensor.network",
      diff --git a/static/python-api/html/_modules/bittensor/utils.html b/static/python-api/html/_modules/bittensor/utils.html
      index a1c6a2ef83..7f08a7d736 100644
      --- a/static/python-api/html/_modules/bittensor/utils.html
      +++ b/static/python-api/html/_modules/bittensor/utils.html
      @@ -175,7 +175,6 @@
       
    1108. bittensor.utils.easy_imports
    1109. bittensor.utils.formatting
    1110. bittensor.utils.liquidity
    1111. -
    1112. bittensor.utils.mock
    1113. bittensor.utils.networking
    1114. bittensor.utils.registration
    1115. bittensor.utils.subnets
    1116. @@ -336,6 +335,7 @@

      Source code for bittensor.utils

       import ast
      +import decimal
       import hashlib
       from collections import namedtuple
       from typing import Any, Literal, Union, Optional, TYPE_CHECKING
      @@ -358,6 +358,8 @@ 

      Source code for bittensor.utils

       if TYPE_CHECKING:
           from bittensor_wallet import Wallet
       
      +BT_DOCS_LINK = "https://docs.bittensor.com"
      +
       
       # redundant aliases
       logging = logging
      @@ -390,8 +392,9 @@ 

      Source code for bittensor.utils

       
       
       
      -def _decode_hex_identity_dict(info_dictionary: dict[str, Any]) -> dict[str, Any]:
      -    # TODO why does this exist alongside `decode_hex_identity_dict`?
      +
      +[docs] +def decode_hex_identity_dict(info_dictionary: dict[str, Any]) -> dict[str, Any]: """Decodes a dictionary of hexadecimal identities.""" decoded_info = {} for k, v in info_dictionary.items(): @@ -407,7 +410,8 @@

      Source code for bittensor.utils

                       print(f"Could not decode: {k}: {item}")
               else:
                   decoded_info[k] = item
      -    return decoded_info
      +    return decoded_info
      +
      @@ -524,6 +528,20 @@

      Source code for bittensor.utils

       
       
       
      +
      +[docs] +def float_to_u64(value: float) -> int: + """Converts a float to a u64 int""" + + value = decimal.Decimal(str(value)) + + if not (0 <= value <= 1): + raise ValueError("Input value must be between 0 and 1") + + return int(value * U64_MAX)
      + + +
      [docs] def get_hash(content, encoding="utf-8"): @@ -571,6 +589,7 @@

      Source code for bittensor.utils

                       pass
               if new_error_message is None:
                   return_val = " ".join(error_message.args)
      +
                   return f"Subtensor returned: {return_val}"
               else:
                   error_message = new_error_message
      @@ -588,7 +607,9 @@ 

      Source code for bittensor.utils

       
                   # subtensor custom error marker
                   if err_data.startswith("Custom error:"):
      -                err_description = f"{err_data} | Please consult https://docs.bittensor.com/subtensor-nodes/subtensor-error-messages"
      +                err_description = (
      +                    f"{err_data} | Please consult {BT_DOCS_LINK}/errors/custom"
      +                )
                   else:
                       err_description = err_data
       
      @@ -600,7 +621,20 @@ 

      Source code for bittensor.utils

                   err_type = error_message.get("type", err_type)
                   err_name = error_message.get("name", err_name)
                   err_docs = error_message.get("docs", [err_description])
      -            err_description = err_docs[0] if err_docs else err_description
      +            err_description = " ".join(err_docs)
      +            err_description += (
      +                f" | Please consult {BT_DOCS_LINK}/errors/subtensor#{err_name.lower()}"
      +            )
      +
      +        elif error_message.get("code") and error_message.get("message"):
      +            err_type = error_message.get("code", err_name)
      +            err_name = "Custom type"
      +            err_description = error_message.get("message", err_description)
      +
      +        else:
      +            logging.error(
      +                f"String representation of real error_message: {str(error_message)}"
      +            )
       
           return f"Subtensor returned `{err_name}({err_type})` error. This means: `{err_description}`."
      @@ -687,64 +721,6 @@

      Source code for bittensor.utils

       
       
       
      -
      -[docs] -def decode_hex_identity_dict(info_dictionary) -> dict[str, Any]: - """ - Decodes hex-encoded strings in a dictionary. - - This function traverses the given dictionary, identifies hex-encoded strings, and decodes them into readable - strings. It handles nested dictionaries and lists within the dictionary. - - Args: - info_dictionary (dict): The dictionary containing hex-encoded strings to decode. - - Returns: - dict: The dictionary with decoded strings. - - Examples: - input_dict = { - ... "name": {"value": "0x6a6f686e"}, - ... "additional": [ - ... [{"data": "0x64617461"}] - ... ] - ... } - decode_hex_identity_dict(input_dict) - {'name': 'john', 'additional': [('data', 'data')]} - """ - - def get_decoded(data: str) -> Optional[str]: - """Decodes a hex-encoded string.""" - try: - return bytes.fromhex(data[2:]).decode() - except UnicodeDecodeError: - print(f"Could not decode: {key}: {item}") - - for key, value in info_dictionary.items(): - if isinstance(value, dict): - item = list(value.values())[0] - if isinstance(item, str) and item.startswith("0x"): - try: - info_dictionary[key] = get_decoded(item) - except UnicodeDecodeError: - print(f"Could not decode: {key}: {item}") - else: - info_dictionary[key] = item - if key == "additional": - additional = [] - for item in value: - additional.append( - tuple( - get_decoded(data=next(iter(sub_item.values()))) - for sub_item in item - ) - ) - info_dictionary[key] = additional - - return info_dictionary
      - - -
      [docs] def validate_chain_endpoint(endpoint_url: str) -> tuple[bool, str]: @@ -764,13 +740,25 @@

      Source code for bittensor.utils

       
       
      [docs] -def unlock_key(wallet: "Wallet", unlock_type="coldkey") -> "UnlockStatus": +def unlock_key( + wallet: "Wallet", + unlock_type="coldkey", + raise_error=False, +) -> "UnlockStatus": """ Attempts to decrypt a wallet's coldkey or hotkey + Args: wallet: a Wallet object unlock_type: the key type, 'coldkey' or 'hotkey' - Returns: UnlockStatus for success status of unlock, with error message if unsuccessful + raise_error: if False, will return (False, error msg), if True will raise the otherwise-caught exception. + + Returns: + UnlockStatus for success status of unlock, with error message if unsuccessful + + Raises: + bittensor_wallet.errors.PasswordError: incorrect password + bittensor_wallet.errors.KeyFileError: keyfile is corrupt, non-writable, or non-readable, or non-existent """ if unlock_type == "coldkey": unlocker = "unlock_coldkey" @@ -784,9 +772,15 @@

      Source code for bittensor.utils

               getattr(wallet, unlocker)()
               return UnlockStatus(True, "")
           except PasswordError:
      +        if raise_error:
      +            raise
      +
               err_msg = f"The password used to decrypt your {unlock_type.capitalize()} keyfile is invalid."
               return UnlockStatus(False, err_msg)
           except KeyFileError:
      +        if raise_error:
      +            raise
      +
               err_msg = f"{unlock_type.capitalize()} keyfile is corrupt, non-writable, or non-readable, or non-existent."
               return UnlockStatus(False, err_msg)
      diff --git a/static/python-api/html/_modules/bittensor/utils/axon_utils.html b/static/python-api/html/_modules/bittensor/utils/axon_utils.html index f6c09ff725..2bc6b875f0 100644 --- a/static/python-api/html/_modules/bittensor/utils/axon_utils.html +++ b/static/python-api/html/_modules/bittensor/utils/axon_utils.html @@ -175,7 +175,6 @@
    1117. bittensor.utils.easy_imports
    1118. bittensor.utils.formatting
    1119. bittensor.utils.liquidity
    1120. -
    1121. bittensor.utils.mock
    1122. bittensor.utils.networking
    1123. bittensor.utils.registration
    1124. bittensor.utils.subnets
    1125. diff --git a/static/python-api/html/_modules/bittensor/utils/balance.html b/static/python-api/html/_modules/bittensor/utils/balance.html index 113476d845..3bbc676149 100644 --- a/static/python-api/html/_modules/bittensor/utils/balance.html +++ b/static/python-api/html/_modules/bittensor/utils/balance.html @@ -175,7 +175,6 @@
    1126. bittensor.utils.easy_imports
    1127. bittensor.utils.formatting
    1128. bittensor.utils.liquidity
    1129. -
    1130. bittensor.utils.mock
    1131. bittensor.utils.networking
    1132. bittensor.utils.registration
    1133. bittensor.utils.subnets
    1134. @@ -343,6 +342,35 @@

      Source code for bittensor.utils.balance

       from bittensor.core import settings
       
       
      +def _check_currencies(self, other):
      +    """Checks that Balance objects have the same netuids to perform arithmetic operations.
      +
      +    A warning is raised if the netuids differ.
      +
      +    Example:
      +        >>> balance1 = Balance.from_rao(1000).set_unit(12)
      +        >>> balance2 = Balance.from_rao(500).set_unit(12)
      +        >>> balance1 + balance2  # No warning
      +
      +        >>> balance3 = Balance.from_rao(200).set_unit(15)
      +        >>> balance1 + balance3  # Raises DeprecationWarning
      +
      +    In this example:
      +        - `from_rao` creates a Balance instance from the amount in rao (smallest unit).
      +        - `set_unit(12)` sets the unit to correspond to subnet 12 (i.e., Alpha from netuid 12).
      +    """
      +    if self.netuid != other.netuid:
      +        warnings.simplefilter("default", DeprecationWarning)
      +        warnings.warn(
      +            "Balance objects must have the same netuid (Alpha currency) to perform arithmetic operations.\n"
      +            f"First balance is `{self}`.  Second balance is `{other}`.\n\n"
      +            "To create a Balance instance with the correct netuid, use:\n"
      +            "Balance.from_rao(1000).set_unit(12)  # 1000 rao in subnet 12",
      +            category=DeprecationWarning,
      +            stacklevel=2,
      +        )
      +
      +
       
      [docs] class Balance: @@ -362,6 +390,7 @@

      Source code for bittensor.utils.balance

           rao_unit: str = settings.RAO_SYMBOL  # This is the rao unit
           rao: int
           tao: float
      +    netuid: int = 0
       
           def __init__(self, balance: Union[int, float]):
               """
      @@ -377,7 +406,9 @@ 

      Source code for bittensor.utils.balance

                   # Assume tao value for the float
                   self.rao = int(balance * pow(10, 9))
               else:
      -            raise TypeError("balance must be an int (rao) or a float (tao)")
      +            raise TypeError(
      +                f"Balance must be an int (rao) or a float (tao), not  `{type(balance)}`."
      +            )
       
           @property
           def tao(self):
      @@ -392,8 +423,13 @@ 

      Source code for bittensor.utils.balance

               return self.tao
       
           def __str__(self):
      -        """Returns the Balance object as a string in the format "symbolvalue", where the value is in tao."""
      -        return f"{self.unit}{float(self.tao):,.9f}"
      +        """
      +        Returns the Balance object as a string in the format "symbolvalue", where the value is in tao.
      +        """
      +        if self.unit == UNITS[0]:
      +            return f"{self.unit}{float(self.tao):,.9f}"
      +        else:
      +            return f"\u200e{float(self.tao):,.9f}{self.unit}\u200e"
       
           def __rich__(self):
               int_tao, fract_tao = format(float(self.tao), "f").split(".")
      @@ -412,7 +448,8 @@ 

      Source code for bittensor.utils.balance

               if other is None:
                   return False
       
      -        if hasattr(other, "rao"):
      +        if isinstance(other, Balance):
      +            _check_currencies(self, other)
                   return self.rao == other.rao
               else:
                   try:
      @@ -426,7 +463,8 @@ 

      Source code for bittensor.utils.balance

               return not self == other
       
           def __gt__(self, other: Union[int, float, "Balance"]):
      -        if hasattr(other, "rao"):
      +        if isinstance(other, Balance):
      +            _check_currencies(self, other)
                   return self.rao > other.rao
               else:
                   try:
      @@ -437,7 +475,8 @@ 

      Source code for bittensor.utils.balance

                       raise NotImplementedError("Unsupported type")
       
           def __lt__(self, other: Union[int, float, "Balance"]):
      -        if hasattr(other, "rao"):
      +        if isinstance(other, Balance):
      +            _check_currencies(self, other)
                   return self.rao < other.rao
               else:
                   try:
      @@ -449,94 +488,112 @@ 

      Source code for bittensor.utils.balance

       
           def __le__(self, other: Union[int, float, "Balance"]):
               try:
      +            if isinstance(other, Balance):
      +                _check_currencies(self, other)
                   return self < other or self == other
               except TypeError:
                   raise NotImplementedError("Unsupported type")
       
           def __ge__(self, other: Union[int, float, "Balance"]):
               try:
      +            if isinstance(other, Balance):
      +                _check_currencies(self, other)
                   return self > other or self == other
               except TypeError:
                   raise NotImplementedError("Unsupported type")
       
           def __add__(self, other: Union[int, float, "Balance"]):
      -        if hasattr(other, "rao"):
      -            return Balance.from_rao(int(self.rao + other.rao))
      +        if isinstance(other, Balance):
      +            _check_currencies(self, other)
      +            return Balance.from_rao(int(self.rao + other.rao)).set_unit(self.netuid)
               else:
                   try:
                       # Attempt to cast to int from rao
      -                return Balance.from_rao(int(self.rao + other))
      +                return Balance.from_rao(int(self.rao + other)).set_unit(self.netuid)
                   except (ValueError, TypeError):
                       raise NotImplementedError("Unsupported type")
       
           def __radd__(self, other: Union[int, float, "Balance"]):
               try:
      +            if isinstance(other, Balance):
      +                _check_currencies(self, other)
                   return self + other
               except TypeError:
                   raise NotImplementedError("Unsupported type")
       
           def __sub__(self, other: Union[int, float, "Balance"]):
               try:
      +            if isinstance(other, Balance):
      +                _check_currencies(self, other)
                   return self + -other
               except TypeError:
                   raise NotImplementedError("Unsupported type")
       
           def __rsub__(self, other: Union[int, float, "Balance"]):
               try:
      +            if isinstance(other, Balance):
      +                _check_currencies(self, other)
                   return -self + other
               except TypeError:
                   raise NotImplementedError("Unsupported type")
       
           def __mul__(self, other: Union[int, float, "Balance"]):
      -        if hasattr(other, "rao"):
      -            return Balance.from_rao(int(self.rao * other.rao))
      +        if isinstance(other, Balance):
      +            _check_currencies(self, other)
      +            return Balance.from_rao(int(self.rao * other.rao)).set_unit(self.netuid)
               else:
                   try:
                       # Attempt to cast to int from rao
      -                return Balance.from_rao(int(self.rao * other))
      +                return Balance.from_rao(int(self.rao * other)).set_unit(self.netuid)
                   except (ValueError, TypeError):
                       raise NotImplementedError("Unsupported type")
       
           def __rmul__(self, other: Union[int, float, "Balance"]):
      +        if isinstance(other, Balance):
      +            _check_currencies(self, other)
               return self * other
       
           def __truediv__(self, other: Union[int, float, "Balance"]):
      -        if hasattr(other, "rao"):
      -            return Balance.from_rao(int(self.rao / other.rao))
      +        if isinstance(other, Balance):
      +            _check_currencies(self, other)
      +            return Balance.from_rao(int(self.rao / other.rao)).set_unit(self.netuid)
               else:
                   try:
                       # Attempt to cast to int from rao
      -                return Balance.from_rao(int(self.rao / other))
      +                return Balance.from_rao(int(self.rao / other)).set_unit(self.netuid)
                   except (ValueError, TypeError):
                       raise NotImplementedError("Unsupported type")
       
           def __rtruediv__(self, other: Union[int, float, "Balance"]):
      -        if hasattr(other, "rao"):
      -            return Balance.from_rao(int(other.rao / self.rao))
      +        if isinstance(other, Balance):
      +            _check_currencies(self, other)
      +            return Balance.from_rao(int(other.rao / self.rao)).set_unit(self.netuid)
               else:
                   try:
                       # Attempt to cast to int from rao
      -                return Balance.from_rao(int(other / self.rao))
      +                return Balance.from_rao(int(other / self.rao)).set_unit(self.netuid)
                   except (ValueError, TypeError):
                       raise NotImplementedError("Unsupported type")
       
           def __floordiv__(self, other: Union[int, float, "Balance"]):
      -        if hasattr(other, "rao"):
      -            return Balance.from_rao(int(self.tao // other.tao))
      +        if isinstance(other, Balance):
      +            _check_currencies(self, other)
      +            return Balance.from_rao(int(self.tao // other.tao)).set_unit(self.netuid)
               else:
                   try:
                       # Attempt to cast to int from rao
      -                return Balance.from_rao(int(self.rao // other))
      +                return Balance.from_rao(int(self.rao // other)).set_unit(self.netuid)
                   except (ValueError, TypeError):
                       raise NotImplementedError("Unsupported type")
       
           def __rfloordiv__(self, other: Union[int, float, "Balance"]):
      -        if hasattr(other, "rao"):
      -            return Balance.from_rao(int(other.rao // self.rao))
      +        if isinstance(other, Balance):
      +            _check_currencies(self, other)
      +            return Balance.from_rao(int(other.rao // self.rao)).set_unit(self.netuid)
               else:
                   try:
                       # Attempt to cast to int from rao
      -                return Balance.from_rao(int(other // self.rao))
      +                return Balance.from_rao(int(other // self.rao)).set_unit(self.netuid)
                   except (ValueError, TypeError):
                       raise NotImplementedError("Unsupported type")
       
      @@ -544,18 +601,18 @@ 

      Source code for bittensor.utils.balance

               return bool(self.rao)
       
           def __neg__(self):
      -        return Balance.from_rao(-self.rao)
      +        return Balance.from_rao(-self.rao).set_unit(self.netuid)
       
           def __pos__(self):
      -        return Balance.from_rao(self.rao)
      +        return Balance.from_rao(self.rao).set_unit(self.netuid)
       
           def __abs__(self):
      -        return Balance.from_rao(abs(self.rao))
      +        return Balance.from_rao(abs(self.rao)).set_unit(self.netuid)
       
       
      [docs] @staticmethod - def from_float(amount: float, netuid: int = 0): + def from_float(amount: float, netuid: int = 0) -> "Balance": """ Given tao, return :func:`Balance` object with rao(``int``) and tao(``float``), where rao = int(tao*pow(10,9)) Args: @@ -572,7 +629,7 @@

      Source code for bittensor.utils.balance

       
      [docs] @staticmethod - def from_tao(amount: float, netuid: int = 0): + def from_tao(amount: float, netuid: int = 0) -> "Balance": """ Given tao, return Balance object with rao(``int``) and tao(``float``), where rao = int(tao*pow(10,9)) @@ -590,7 +647,7 @@

      Source code for bittensor.utils.balance

       
      [docs] @staticmethod - def from_rao(amount: int, netuid: int = 0): + def from_rao(amount: int, netuid: int = 0) -> "Balance": """ Given rao, return Balance object with rao(``int``) and tao(``float``), where rao = int(tao*pow(10,9)) @@ -607,14 +664,14 @@

      Source code for bittensor.utils.balance

       
      [docs] @staticmethod - def get_unit(netuid: int): - base = len(units) + def get_unit(netuid: int) -> str: + base = len(UNITS) if netuid < base: - return units[netuid] + return UNITS[netuid] else: result = "" while netuid > 0: - result = units[netuid % base] + result + result = UNITS[netuid % base] + result netuid //= base return result
      @@ -622,6 +679,7 @@

      Source code for bittensor.utils.balance

       
      [docs] def set_unit(self, netuid: int): + self.netuid = netuid self.unit = Balance.get_unit(netuid) self.rao_unit = Balance.get_unit(netuid) return self
      @@ -664,492 +722,469 @@

      Source code for bittensor.utils.balance

       
       
       
      -units = [
      -    # Greek Alphabet (0-24)
      -    "\u03c4",  # τ (tau, 0)
      -    "\u03b1",  # α (alpha, 1)
      -    "\u03b2",  # β (beta, 2)
      -    "\u03b3",  # γ (gamma, 3)
      -    "\u03b4",  # δ (delta, 4)
      -    "\u03b5",  # ε (epsilon, 5)
      -    "\u03b6",  # ζ (zeta, 6)
      -    "\u03b7",  # η (eta, 7)
      -    "\u03b8",  # θ (theta, 8)
      -    "\u03b9",  # ι (iota, 9)
      -    "\u03ba",  # κ (kappa, 10)
      -    "\u03bb",  # λ (lambda, 11)
      -    "\u03bc",  # μ (mu, 12)
      -    "\u03bd",  # ν (nu, 13)
      -    "\u03be",  # ξ (xi, 14)
      -    "\u03bf",  # ο (omicron, 15)
      -    "\u03c0",  # π (pi, 16)
      -    "\u03c1",  # ρ (rho, 17)
      -    "\u03c3",  # σ (sigma, 18)
      -    "t",  # t (tau, 19)
      -    "\u03c5",  # υ (upsilon, 20)
      -    "\u03c6",  # φ (phi, 21)
      -    "\u03c7",  # χ (chi, 22)
      -    "\u03c8",  # ψ (psi, 23)
      -    "\u03c9",  # ω (omega, 24)
      -    # Hebrew Alphabet (25-51)
      -    "\u05d0",  # א (aleph, 25)
      -    "\u05d1",  # ב (bet, 26)
      -    "\u05d2",  # ג (gimel, 27)
      -    "\u05d3",  # ד (dalet, 28)
      -    "\u05d4",  # ה (he, 29)
      -    "\u05d5",  # ו (vav, 30)
      -    "\u05d6",  # ז (zayin, 31)
      -    "\u05d7",  # ח (het, 32)
      -    "\u05d8",  # ט (tet, 33)
      -    "\u05d9",  # י (yod, 34)
      -    "\u05da",  # ך (final kaf, 35)
      -    "\u05db",  # כ (kaf, 36)
      -    "\u05dc",  # ל (lamed, 37)
      -    "\u05dd",  # ם (final mem, 38)
      -    "\u05de",  # מ (mem, 39)
      -    "\u05df",  # ן (final nun, 40)
      -    "\u05e0",  # נ (nun, 41)
      -    "\u05e1",  # ס (samekh, 42)
      -    "\u05e2",  # ע (ayin, 43)
      -    "\u05e3",  # ף (final pe, 44)
      -    "\u05e4",  # פ (pe, 45)
      -    "\u05e5",  # ץ (final tsadi, 46)
      -    "\u05e6",  # צ (tsadi, 47)
      -    "\u05e7",  # ק (qof, 48)
      -    "\u05e8",  # ר (resh, 49)
      -    "\u05e9",  # ש (shin, 50)
      -    "\u05ea",  # ת (tav, 51)
      -    # Arabic Alphabet (52-81)
      -    "\u0627",  # ا (alif, 52)
      -    "\u0628",  # ب (ba, 53)
      -    "\u062a",  # ت (ta, 54)
      -    "\u062b",  # ث (tha, 55)
      -    "\u062c",  # ج (jeem, 56)
      -    "\u062d",  # ح (ha, 57)
      -    "\u062e",  # خ (kha, 58)
      -    "\u062f",  # د (dal, 59)
      -    "\u0630",  # ذ (dhal, 60)
      -    "\u0631",  # ر (ra, 61)
      -    "\u0632",  # ز (zay, 62)
      -    "\u0633",  # س (seen, 63)
      -    "\u0634",  # ش (sheen, 64)
      -    "\u0635",  # ص (sad, 65)
      -    "\u0636",  # ض (dad, 66)
      -    "\u0637",  # ط (ta, 67)
      -    "\u0638",  # ظ (dha, 68)
      -    "\u0639",  # ع (ain, 69)
      -    "\u063a",  # غ (ghain, 70)
      -    "\u0641",  # ف (fa, 71)
      -    "\u0642",  # ق (qaf, 72)
      -    "\u0643",  # ك (kaf, 73)
      -    "\u0644",  # ل (lam, 74)
      -    "\u0645",  # م (meem, 75)
      -    "\u0646",  # ن (noon, 76)
      -    "\u0647",  # ه (ha, 77)
      -    "\u0648",  # و (waw, 78)
      -    "\u064a",  # ي (ya, 79)
      -    "\u0649",  # ى (alef maksura, 80)
      -    "\u064a",  # ي (ya, 81)
      -    # Runic Alphabet (82-90)
      -    "\u16a0",  # ᚠ (fehu, 82)
      -    "\u16a2",  # ᚢ (uruz, 83)
      -    "\u16a6",  # ᚦ (thurisaz, 84)
      -    "\u16a8",  # ᚨ (ansuz, 85)
      -    "\u16b1",  # ᚱ (raidho, 86)
      -    "\u16b3",  # ᚲ (kaunan, 87)
      -    "\u16c7",  # ᛇ (eihwaz, 88)
      -    "\u16c9",  # ᛉ (algiz, 89)
      -    "\u16d2",  # ᛒ (berkanan, 90)
      -    # Ogham Alphabet (91-97)
      -    "\u1680",  #   (Space, 91)
      -    "\u1681",  # ᚁ (Beith, 92)
      -    "\u1682",  # ᚂ (Luis, 93)
      -    "\u1683",  # ᚃ (Fearn, 94)
      -    "\u1684",  # ᚄ (Sail, 95)
      -    "\u1685",  # ᚅ (Nion, 96)
      -    "\u169b",  # ᚛ (Forfeda, 97)
      -    # Georgian Alphabet (98-103)
      -    "\u10d0",  # ა (ani, 98)
      -    "\u10d1",  # ბ (bani, 99)
      -    "\u10d2",  # გ (gani, 100)
      -    "\u10d3",  # დ (doni, 101)
      -    "\u10d4",  # ე (eni, 102)
      -    "\u10d5",  # ვ (vini, 103)
      -    # Armenian Alphabet (104-110)
      -    "\u0531",  # Ա (Ayp, 104)
      -    "\u0532",  # Բ (Ben, 105)
      -    "\u0533",  # Գ (Gim, 106)
      -    "\u0534",  # Դ (Da, 107)
      -    "\u0535",  # Ե (Ech, 108)
      -    "\u0536",  # Զ (Za, 109)
      -    "\u055e",  # ՞ (Question mark, 110)
      -    # Cyrillic Alphabet (111-116)
      -    "\u0400",  # Ѐ (Ie with grave, 111)
      -    "\u0401",  # Ё (Io, 112)
      -    "\u0402",  # Ђ (Dje, 113)
      -    "\u0403",  # Ѓ (Gje, 114)
      -    "\u0404",  # Є (Ukrainian Ie, 115)
      -    "\u0405",  # Ѕ (Dze, 116)
      -    # Coptic Alphabet (117-122)
      -    "\u2c80",  # Ⲁ (Alfa, 117)
      -    "\u2c81",  # ⲁ (Small Alfa, 118)
      -    "\u2c82",  # Ⲃ (Vida, 119)
      -    "\u2c83",  # ⲃ (Small Vida, 120)
      -    "\u2c84",  # Ⲅ (Gamma, 121)
      -    "\u2c85",  # ⲅ (Small Gamma, 122)
      -    # Brahmi Script (123-127)
      -    "\U00011000",  # 𑀀 (A, 123)
      -    "\U00011001",  # 𑀁 (Aa, 124)
      -    "\U00011002",  # 𑀂 (I, 125)
      -    "\U00011003",  # 𑀃 (Ii, 126)
      -    "\U00011005",  # 𑀅 (U, 127)
      -    # Tifinagh Alphabet (128-133)
      -    "\u2d30",  # ⴰ (Ya, 128)
      -    "\u2d31",  # ⴱ (Yab, 129)
      -    "\u2d32",  # ⴲ (Yabh, 130)
      -    "\u2d33",  # ⴳ (Yag, 131)
      -    "\u2d34",  # ⴴ (Yagh, 132)
      -    "\u2d35",  # ⴵ (Yaj, 133)
      -    # Glagolitic Alphabet (134-166)
      -    "\u2c00",  # Ⰰ (Az, 134)
      -    "\u2c01",  # Ⰱ (Buky, 135)
      -    "\u2c02",  # Ⰲ (Vede, 136)
      -    "\u2c03",  # Ⰳ (Glagoli, 137)
      -    "\u2c04",  # Ⰴ (Dobro, 138)
      -    "\u2c05",  # Ⰵ (Yest, 139)
      -    "\u2c06",  # Ⰶ (Zhivete, 140)
      -    "\u2c07",  # Ⰷ (Zemlja, 141)
      -    "\u2c08",  # Ⰸ (Izhe, 142)
      -    "\u2c09",  # Ⰹ (Initial Izhe, 143)
      -    "\u2c0a",  # Ⰺ (I, 144)
      -    "\u2c0b",  # Ⰻ (Djerv, 145)
      -    "\u2c0c",  # Ⰼ (Kako, 146)
      -    "\u2c0d",  # Ⰽ (Ljudije, 147)
      -    "\u2c0e",  # Ⰾ (Myse, 148)
      -    "\u2c0f",  # Ⰿ (Nash, 149)
      -    "\u2c10",  # Ⱀ (On, 150)
      -    "\u2c11",  # Ⱁ (Pokoj, 151)
      -    "\u2c12",  # Ⱂ (Rtsy, 152)
      -    "\u2c13",  # Ⱃ (Slovo, 153)
      -    "\u2c14",  # Ⱄ (Tvrido, 154)
      -    "\u2c15",  # Ⱅ (Uku, 155)
      -    "\u2c16",  # Ⱆ (Fert, 156)
      -    "\u2c17",  # Ⱇ (Xrivi, 157)
      -    "\u2c18",  # Ⱈ (Ot, 158)
      -    "\u2c19",  # Ⱉ (Cy, 159)
      -    "\u2c1a",  # Ⱊ (Shcha, 160)
      -    "\u2c1b",  # Ⱋ (Er, 161)
      -    "\u2c1c",  # Ⱌ (Yeru, 162)
      -    "\u2c1d",  # Ⱍ (Small Yer, 163)
      -    "\u2c1e",  # Ⱎ (Yo, 164)
      -    "\u2c1f",  # Ⱏ (Yu, 165)
      -    "\u2c20",  # Ⱐ (Ja, 166)
      -    # Thai Alphabet (167-210)
      -    "\u0e01",  # ก (Ko Kai, 167)
      -    "\u0e02",  # ข (Kho Khai, 168)
      -    "\u0e03",  # ฃ (Kho Khuat, 169)
      -    "\u0e04",  # ค (Kho Khon, 170)
      -    "\u0e05",  # ฅ (Kho Rakhang, 171)
      -    "\u0e06",  # ฆ (Kho Khwai, 172)
      -    "\u0e07",  # ง (Ngo Ngu, 173)
      -    "\u0e08",  # จ (Cho Chan, 174)
      -    "\u0e09",  # ฉ (Cho Ching, 175)
      -    "\u0e0a",  # ช (Cho Chang, 176)
      -    "\u0e0b",  # ซ (So So, 177)
      -    "\u0e0c",  # ฌ (Cho Choe, 178)
      -    "\u0e0d",  # ญ (Yo Ying, 179)
      -    "\u0e0e",  # ฎ (Do Chada, 180)
      -    "\u0e0f",  # ฏ (To Patak, 181)
      -    "\u0e10",  # ฐ (Tho Than, 182)
      -    "\u0e11",  # ฑ (Tho Nangmontho, 183)
      -    "\u0e12",  # ฒ (Tho Phuthao, 184)
      -    "\u0e13",  # ณ (No Nen, 185)
      -    "\u0e14",  # ด (Do Dek, 186)
      -    "\u0e15",  # ต (To Tao, 187)
      -    "\u0e16",  # ถ (Tho Thung, 188)
      -    "\u0e17",  # ท (Tho Thahan, 189)
      -    "\u0e18",  # ธ (Tho Thong, 190)
      -    "\u0e19",  # น (No Nu, 191)
      -    "\u0e1a",  # บ (Bo Baimai, 192)
      -    "\u0e1b",  # ป (Po Pla, 193)
      -    "\u0e1c",  # ผ (Pho Phung, 194)
      -    "\u0e1d",  # ฝ (Fo Fa, 195)
      -    "\u0e1e",  # พ (Pho Phan, 196)
      -    "\u0e1f",  # ฟ (Fo Fan, 197)
      -    "\u0e20",  # ภ (Pho Samphao, 198)
      -    "\u0e21",  # ม (Mo Ma, 199)
      -    "\u0e22",  # ย (Yo Yak, 200)
      -    "\u0e23",  # ร (Ro Rua, 201)
      -    "\u0e25",  # ล (Lo Ling, 202)
      -    "\u0e27",  # ว (Wo Waen, 203)
      -    "\u0e28",  # ศ (So Sala, 204)
      -    "\u0e29",  # ษ (So Rusi, 205)
      -    "\u0e2a",  # ส (So Sua, 206)
      -    "\u0e2b",  # ห (Ho Hip, 207)
      -    "\u0e2c",  # ฬ (Lo Chula, 208)
      -    "\u0e2d",  # อ (O Ang, 209)
      -    "\u0e2e",  # ฮ (Ho Nokhuk, 210)
      -    # Hangul Consonants (211-224)
      -    "\u1100",  # ㄱ (Giyeok, 211)
      -    "\u1101",  # ㄴ (Nieun, 212)
      -    "\u1102",  # ㄷ (Digeut, 213)
      -    "\u1103",  # ㄹ (Rieul, 214)
      -    "\u1104",  # ㅁ (Mieum, 215)
      -    "\u1105",  # ㅂ (Bieup, 216)
      -    "\u1106",  # ㅅ (Siot, 217)
      -    "\u1107",  # ㅇ (Ieung, 218)
      -    "\u1108",  # ㅈ (Jieut, 219)
      -    "\u1109",  # ㅊ (Chieut, 220)
      -    "\u110a",  # ㅋ (Kieuk, 221)
      -    "\u110b",  # ㅌ (Tieut, 222)
      -    "\u110c",  # ㅍ (Pieup, 223)
      -    "\u110d",  # ㅎ (Hieut, 224)
      -    # Hangul Vowels (225-245)
      -    "\u1161",  # ㅏ (A, 225)
      -    "\u1162",  # ㅐ (Ae, 226)
      -    "\u1163",  # ㅑ (Ya, 227)
      -    "\u1164",  # ㅒ (Yae, 228)
      -    "\u1165",  # ㅓ (Eo, 229)
      -    "\u1166",  # ㅔ (E, 230)
      -    "\u1167",  # ㅕ (Yeo, 231)
      -    "\u1168",  # ㅖ (Ye, 232)
      -    "\u1169",  # ㅗ (O, 233)
      -    "\u116a",  # ㅘ (Wa, 234)
      -    "\u116b",  # ㅙ (Wae, 235)
      -    "\u116c",  # ㅚ (Oe, 236)
      -    "\u116d",  # ㅛ (Yo, 237)
      -    "\u116e",  # ㅜ (U, 238)
      -    "\u116f",  # ㅝ (Weo, 239)
      -    "\u1170",  # ㅞ (We, 240)
      -    "\u1171",  # ㅟ (Wi, 241)
      -    "\u1172",  # ㅠ (Yu, 242)
      -    "\u1173",  # ㅡ (Eu, 243)
      -    "\u1174",  # ㅢ (Ui, 244)
      -    "\u1175",  # ㅣ (I, 245)
      -    # Ethiopic Alphabet (246-274)
      -    "\u12a0",  # አ (Glottal A, 246)
      -    "\u12a1",  # ኡ (Glottal U, 247)
      -    "\u12a2",  # ኢ (Glottal I, 248)
      -    "\u12a3",  # ኣ (Glottal Aa, 249)
      -    "\u12a4",  # ኤ (Glottal E, 250)
      -    "\u12a5",  # እ (Glottal Ie, 251)
      -    "\u12a6",  # ኦ (Glottal O, 252)
      -    "\u12a7",  # ኧ (Glottal Wa, 253)
      -    "\u12c8",  # ወ (Wa, 254)
      -    "\u12c9",  # ዉ (Wu, 255)
      -    "\u12ca",  # ዊ (Wi, 256)
      -    "\u12cb",  # ዋ (Waa, 257)
      -    "\u12cc",  # ዌ (We, 258)
      -    "\u12cd",  # ው (Wye, 259)
      -    "\u12ce",  # ዎ (Wo, 260)
      -    "\u12b0",  # ኰ (Ko, 261)
      -    "\u12b1",  # ኱ (Ku, 262)
      -    "\u12b2",  # ኲ (Ki, 263)
      -    "\u12b3",  # ኳ (Kua, 264)
      -    "\u12b4",  # ኴ (Ke, 265)
      -    "\u12b5",  # ኵ (Kwe, 266)
      -    "\u12b6",  # ኶ (Ko, 267)
      -    "\u12a0",  # ጐ (Go, 268)
      -    "\u12a1",  # ጑ (Gu, 269)
      -    "\u12a2",  # ጒ (Gi, 270)
      -    "\u12a3",  # መ (Gua, 271)
      -    "\u12a4",  # ጔ (Ge, 272)
      -    "\u12a5",  # ጕ (Gwe, 273)
      -    "\u12a6",  # ጖ (Go, 274)
      -    # Devanagari Alphabet (275-318)
      -    "\u0905",  # अ (A, 275)
      -    "\u0906",  # आ (Aa, 276)
      -    "\u0907",  # इ (I, 277)
      -    "\u0908",  # ई (Ii, 278)
      -    "\u0909",  # उ (U, 279)
      -    "\u090a",  # ऊ (Uu, 280)
      -    "\u090b",  # ऋ (R, 281)
      -    "\u090f",  # ए (E, 282)
      -    "\u0910",  # ऐ (Ai, 283)
      -    "\u0913",  # ओ (O, 284)
      -    "\u0914",  # औ (Au, 285)
      -    "\u0915",  # क (Ka, 286)
      -    "\u0916",  # ख (Kha, 287)
      -    "\u0917",  # ग (Ga, 288)
      -    "\u0918",  # घ (Gha, 289)
      -    "\u0919",  # ङ (Nga, 290)
      -    "\u091a",  # च (Cha, 291)
      -    "\u091b",  # छ (Chha, 292)
      -    "\u091c",  # ज (Ja, 293)
      -    "\u091d",  # झ (Jha, 294)
      -    "\u091e",  # ञ (Nya, 295)
      -    "\u091f",  # ट (Ta, 296)
      -    "\u0920",  # ठ (Tha, 297)
      -    "\u0921",  # ड (Da, 298)
      -    "\u0922",  # ढ (Dha, 299)
      -    "\u0923",  # ण (Na, 300)
      -    "\u0924",  # त (Ta, 301)
      -    "\u0925",  # थ (Tha, 302)
      -    "\u0926",  # द (Da, 303)
      -    "\u0927",  # ध (Dha, 304)
      -    "\u0928",  # न (Na, 305)
      -    "\u092a",  # प (Pa, 306)
      -    "\u092b",  # फ (Pha, 307)
      -    "\u092c",  # ब (Ba, 308)
      -    "\u092d",  # भ (Bha, 309)
      -    "\u092e",  # म (Ma, 310)
      -    "\u092f",  # य (Ya, 311)
      -    "\u0930",  # र (Ra, 312)
      -    "\u0932",  # ल (La, 313)
      -    "\u0935",  # व (Va, 314)
      -    "\u0936",  # श (Sha, 315)
      -    "\u0937",  # ष (Ssa, 316)
      -    "\u0938",  # स (Sa, 317)
      -    "\u0939",  # ह (Ha, 318)
      -    # Katakana Alphabet (319-364)
      -    "\u30a2",  # ア (A, 319)
      -    "\u30a4",  # イ (I, 320)
      -    "\u30a6",  # ウ (U, 321)
      -    "\u30a8",  # エ (E, 322)
      -    "\u30aa",  # オ (O, 323)
      -    "\u30ab",  # カ (Ka, 324)
      -    "\u30ad",  # キ (Ki, 325)
      -    "\u30af",  # ク (Ku, 326)
      -    "\u30b1",  # ケ (Ke, 327)
      -    "\u30b3",  # コ (Ko, 328)
      -    "\u30b5",  # サ (Sa, 329)
      -    "\u30b7",  # シ (Shi, 330)
      -    "\u30b9",  # ス (Su, 331)
      -    "\u30bb",  # セ (Se, 332)
      -    "\u30bd",  # ソ (So, 333)
      -    "\u30bf",  # タ (Ta, 334)
      -    "\u30c1",  # チ (Chi, 335)
      -    "\u30c4",  # ツ (Tsu, 336)
      -    "\u30c6",  # テ (Te, 337)
      -    "\u30c8",  # ト (To, 338)
      -    "\u30ca",  # ナ (Na, 339)
      -    "\u30cb",  # ニ (Ni, 340)
      -    "\u30cc",  # ヌ (Nu, 341)
      -    "\u30cd",  # ネ (Ne, 342)
      -    "\u30ce",  # ノ (No, 343)
      -    "\u30cf",  # ハ (Ha, 344)
      -    "\u30d2",  # ヒ (Hi, 345)
      -    "\u30d5",  # フ (Fu, 346)
      -    "\u30d8",  # ヘ (He, 347)
      -    "\u30db",  # ホ (Ho, 348)
      -    "\u30de",  # マ (Ma, 349)
      -    "\u30df",  # ミ (Mi, 350)
      -    "\u30e0",  # ム (Mu, 351)
      -    "\u30e1",  # メ (Me, 352)
      -    "\u30e2",  # モ (Mo, 353)
      -    "\u30e4",  # ヤ (Ya, 354)
      -    "\u30e6",  # ユ (Yu, 355)
      -    "\u30e8",  # ヨ (Yo, 356)
      -    "\u30e9",  # ラ (Ra, 357)
      -    "\u30ea",  # リ (Ri, 358)
      -    "\u30eb",  # ル (Ru, 359)
      -    "\u30ec",  # レ (Re, 360)
      -    "\u30ed",  # ロ (Ro, 361)
      -    "\u30ef",  # ワ (Wa, 362)
      -    "\u30f2",  # ヲ (Wo, 363)
      -    "\u30f3",  # ン (N, 364)
      -    # Tifinagh Alphabet (365-400)
      -    "\u2d30",  # ⴰ (Ya, 365)
      -    "\u2d31",  # ⴱ (Yab, 366)
      -    "\u2d32",  # ⴲ (Yabh, 367)
      -    "\u2d33",  # ⴳ (Yag, 368)
      -    "\u2d34",  # ⴴ (Yagh, 369)
      -    "\u2d35",  # ⴵ (Yaj, 370)
      -    "\u2d36",  # ⴶ (Yach, 371)
      -    "\u2d37",  # ⴷ (Yad, 372)
      -    "\u2d38",  # ⴸ (Yadh, 373)
      -    "\u2d39",  # ⴹ (Yadh, emphatic, 374)
      -    "\u2d3a",  # ⴺ (Yaz, 375)
      -    "\u2d3b",  # ⴻ (Yazh, 376)
      -    "\u2d3c",  # ⴼ (Yaf, 377)
      -    "\u2d3d",  # ⴽ (Yak, 378)
      -    "\u2d3e",  # ⴾ (Yak, variant, 379)
      -    "\u2d3f",  # ⴿ (Yaq, 380)
      -    "\u2d40",  # ⵀ (Yah, 381)
      -    "\u2d41",  # ⵁ (Yahh, 382)
      -    "\u2d42",  # ⵂ (Yahl, 383)
      -    "\u2d43",  # ⵃ (Yahm, 384)
      -    "\u2d44",  # ⵄ (Yayn, 385)
      -    "\u2d45",  # ⵅ (Yakh, 386)
      -    "\u2d46",  # ⵆ (Yakl, 387)
      -    "\u2d47",  # ⵇ (Yahq, 388)
      -    "\u2d48",  # ⵈ (Yash, 389)
      -    "\u2d49",  # ⵉ (Yi, 390)
      -    "\u2d4a",  # ⵊ (Yij, 391)
      -    "\u2d4b",  # ⵋ (Yizh, 392)
      -    "\u2d4c",  # ⵌ (Yink, 393)
      -    "\u2d4d",  # ⵍ (Yal, 394)
      -    "\u2d4e",  # ⵎ (Yam, 395)
      -    "\u2d4f",  # ⵏ (Yan, 396)
      -    "\u2d50",  # ⵐ (Yang, 397)
      -    "\u2d51",  # ⵑ (Yany, 398)
      -    "\u2d52",  # ⵒ (Yap, 399)
      -    "\u2d53",  # ⵓ (Yu, 400)
      -    # Sinhala Alphabet (401-444)
      -    "\u0d85",  # අ (A, 401)
      -    "\u0d86",  # ආ (Aa, 402)
      -    "\u0d87",  # ඉ (I, 403)
      -    "\u0d88",  # ඊ (Ii, 404)
      -    "\u0d89",  # උ (U, 405)
      -    "\u0d8a",  # ඌ (Uu, 406)
      -    "\u0d8b",  # ඍ (R, 407)
      -    "\u0d8c",  # ඎ (Rr, 408)
      -    "\u0d8f",  # ඏ (L, 409)
      -    "\u0d90",  # ඐ (Ll, 410)
      -    "\u0d91",  # එ (E, 411)
      -    "\u0d92",  # ඒ (Ee, 412)
      -    "\u0d93",  # ඓ (Ai, 413)
      -    "\u0d94",  # ඔ (O, 414)
      -    "\u0d95",  # ඕ (Oo, 415)
      -    "\u0d96",  # ඖ (Au, 416)
      -    "\u0d9a",  # ක (Ka, 417)
      -    "\u0d9b",  # ඛ (Kha, 418)
      -    "\u0d9c",  # ග (Ga, 419)
      -    "\u0d9d",  # ඝ (Gha, 420)
      -    "\u0d9e",  # ඞ (Nga, 421)
      -    "\u0d9f",  # ච (Cha, 422)
      -    "\u0da0",  # ඡ (Chha, 423)
      -    "\u0da1",  # ජ (Ja, 424)
      -    "\u0da2",  # ඣ (Jha, 425)
      -    "\u0da3",  # ඤ (Nya, 426)
      -    "\u0da4",  # ට (Ta, 427)
      -    "\u0da5",  # ඥ (Tha, 428)
      -    "\u0da6",  # ඦ (Da, 429)
      -    "\u0da7",  # ට (Dha, 430)
      -    "\u0da8",  # ඨ (Na, 431)
      -    "\u0daa",  # ඪ (Pa, 432)
      -    "\u0dab",  # ණ (Pha, 433)
      -    "\u0dac",  # ඬ (Ba, 434)
      -    "\u0dad",  # ත (Bha, 435)
      -    "\u0dae",  # ථ (Ma, 436)
      -    "\u0daf",  # ද (Ya, 437)
      -    "\u0db0",  # ධ (Ra, 438)
      -    "\u0db1",  # ඲ (La, 439)
      -    "\u0db2",  # ඳ (Va, 440)
      -    "\u0db3",  # ප (Sha, 441)
      -    "\u0db4",  # ඵ (Ssa, 442)
      -    "\u0db5",  # බ (Sa, 443)
      -    "\u0db6",  # භ (Ha, 444)
      +# lowercase is added for backwards compatibility to not break API
      +units = UNITS = [
      +    chr(
      +        0x03C4
      +    ),  # τ Note: the subnet symbol for sn 0 is b"\xce\xa4" / Τ / Tau — however the currency/balance is τ (Tao)
      +    b"\xce\xb1".decode(),  # α (Alpha, 1)
      +    b"\xce\xb2".decode(),  # β (Beta, 2)
      +    b"\xce\xb3".decode(),  # γ (Gamma, 3)
      +    b"\xce\xb4".decode(),  # δ (Delta, 4)
      +    b"\xce\xb5".decode(),  # ε (Epsilon, 5)
      +    b"\xce\xb6".decode(),  # ζ (Zeta, 6)
      +    b"\xce\xb7".decode(),  # η (Eta, 7)
      +    b"\xce\xb8".decode(),  # θ (Theta, 8)
      +    b"\xce\xb9".decode(),  # ι (Iota, 9)
      +    b"\xce\xba".decode(),  # κ (Kappa, 10)
      +    b"\xce\xbb".decode(),  # λ (Lambda, 11)
      +    b"\xce\xbc".decode(),  # μ (Mu, 12)
      +    b"\xce\xbd".decode(),  # ν (Nu, 13)
      +    b"\xce\xbe".decode(),  # ξ (Xi, 14)
      +    b"\xce\xbf".decode(),  # ο (Omicron, 15)
      +    b"\xcf\x80".decode(),  # π (Pi, 16)
      +    b"\xcf\x81".decode(),  # ρ (Rho, 17)
      +    b"\xcf\x83".decode(),  # σ (Sigma, 18)
      +    "t",  # t (Tau, 19)
      +    b"\xcf\x85".decode(),  # υ (Upsilon, 20)
      +    b"\xcf\x86".decode(),  # φ (Phi, 21)
      +    b"\xcf\x87".decode(),  # χ (Chi, 22)
      +    b"\xcf\x88".decode(),  # ψ (Psi, 23)
      +    b"\xcf\x89".decode(),  # ω (Omega, 24)
      +    b"\xd7\x90".decode(),  # א (Aleph, 25)
      +    b"\xd7\x91".decode(),  # ב (Bet, 26)
      +    b"\xd7\x92".decode(),  # ג (Gimel, 27)
      +    b"\xd7\x93".decode(),  # ד (Dalet, 28)
      +    b"\xd7\x94".decode(),  # ה (He, 29)
      +    b"\xd7\x95".decode(),  # ו (Vav, 30)
      +    b"\xd7\x96".decode(),  # ז (Zayin, 31)
      +    b"\xd7\x97".decode(),  # ח (Het, 32)
      +    b"\xd7\x98".decode(),  # ט (Tet, 33)
      +    b"\xd7\x99".decode(),  # י (Yod, 34)
      +    b"\xd7\x9a".decode(),  # ך (Final Kaf, 35)
      +    b"\xd7\x9b".decode(),  # כ (Kaf, 36)
      +    b"\xd7\x9c".decode(),  # ל (Lamed, 37)
      +    b"\xd7\x9d".decode(),  # ם (Final Mem, 38)
      +    b"\xd7\x9e".decode(),  # מ (Mem, 39)
      +    b"\xd7\x9f".decode(),  # ן (Final Nun, 40)
      +    b"\xd7\xa0".decode(),  # נ (Nun, 41)
      +    b"\xd7\xa1".decode(),  # ס (Samekh, 42)
      +    b"\xd7\xa2".decode(),  # ע (Ayin, 43)
      +    b"\xd7\xa3".decode(),  # ף (Final Pe, 44)
      +    b"\xd7\xa4".decode(),  # פ (Pe, 45)
      +    b"\xd7\xa5".decode(),  # ץ (Final Tsadi, 46)
      +    b"\xd7\xa6".decode(),  # צ (Tsadi, 47)
      +    b"\xd7\xa7".decode(),  # ק (Qof, 48)
      +    b"\xd7\xa8".decode(),  # ר (Resh, 49)
      +    b"\xd7\xa9".decode(),  # ש (Shin, 50)
      +    b"\xd7\xaa".decode(),  # ת (Tav, 51)
      +    b"\xd8\xa7".decode(),  # ا (Alif, 52)
      +    b"\xd8\xa8".decode(),  # ب (Ba, 53)
      +    b"\xd8\xaa".decode(),  # ت (Ta, 54)
      +    b"\xd8\xab".decode(),  # ث (Tha, 55)
      +    b"\xd8\xac".decode(),  # ج (Jim, 56)
      +    b"\xd8\xad".decode(),  # ح (Ha, 57)
      +    b"\xd8\xae".decode(),  # خ (Kha, 58)
      +    b"\xd8\xaf".decode(),  # د (Dal, 59)
      +    b"\xd8\xb0".decode(),  # ذ (Dhal, 60)
      +    b"\xd8\xb1".decode(),  # ر (Ra, 61)
      +    b"\xd8\xb2".decode(),  # ز (Zay, 62)
      +    b"\xd8\xb3".decode(),  # س (Sin, 63)
      +    b"\xd8\xb4".decode(),  # ش (Shin, 64)
      +    b"\xd8\xb5".decode(),  # ص (Sad, 65)
      +    b"\xd8\xb6".decode(),  # ض (Dad, 66)
      +    b"\xd8\xb7".decode(),  # ط (Ta, 67)
      +    b"\xd8\xb8".decode(),  # ظ (Dha, 68)
      +    b"\xd8\xb9".decode(),  # ع (Ain, 69)
      +    b"\xd8\xba".decode(),  # غ (Ghayn, 70)
      +    b"\xd9\x81".decode(),  # ف (Fa, 71)
      +    b"\xd9\x82".decode(),  # ق (Qaf, 72)
      +    b"\xd9\x83".decode(),  # ك (Kaf, 73)
      +    b"\xd9\x84".decode(),  # ل (Lam, 74)
      +    b"\xd9\x85".decode(),  # م (Mim, 75)
      +    b"\xd9\x86".decode(),  # ن (Nun, 76)
      +    b"\xd9\x87".decode(),  # ه (Ha, 77)
      +    b"\xd9\x88".decode(),  # و (Waw, 78)
      +    b"\xd9\x8a".decode(),  # ي (Ya, 79)
      +    b"\xd9\x89".decode(),  # ى (Alef Maksura, 80)
      +    b"\xe1\x9a\xa0".decode(),  # ᚠ (Fehu, wealth, 81)
      +    b"\xe1\x9a\xa2".decode(),  # ᚢ (Uruz, strength, 82)
      +    b"\xe1\x9a\xa6".decode(),  # ᚦ (Thurisaz, giant, 83)
      +    b"\xe1\x9a\xa8".decode(),  # ᚨ (Ansuz, god, 84)
      +    b"\xe1\x9a\xb1".decode(),  # ᚱ (Raidho, ride, 85)
      +    b"\xe1\x9a\xb3".decode(),  # ᚲ (Kaunan, ulcer, 86)
      +    b"\xd0\xab".decode(),  # Ы (Cyrillic Yeru, 87)
      +    b"\xe1\x9b\x89".decode(),  # ᛉ (Algiz, protection, 88)
      +    b"\xe1\x9b\x92".decode(),  # ᛒ (Berkanan, birch, 89)
      +    b"\xe1\x9a\x80".decode(),  #   (Space, 90)
      +    b"\xe1\x9a\x81".decode(),  # ᚁ (Beith, birch, 91)
      +    b"\xe1\x9a\x82".decode(),  # ᚂ (Luis, rowan, 92)
      +    b"\xe1\x9a\x83".decode(),  # ᚃ (Fearn, alder, 93)
      +    b"\xe1\x9a\x84".decode(),  # ᚄ (Sail, willow, 94)
      +    b"\xe1\x9a\x85".decode(),  # ᚅ (Nion, ash, 95)
      +    b"\xe1\x9a\x9b".decode(),  # ᚛ (Forfeda, 96)
      +    b"\xe1\x83\x90".decode(),  # ა (Ani, 97)
      +    b"\xe1\x83\x91".decode(),  # ბ (Bani, 98)
      +    b"\xe1\x83\x92".decode(),  # გ (Gani, 99)
      +    b"\xe1\x83\x93".decode(),  # დ (Doni, 100)
      +    b"\xe1\x83\x94".decode(),  # ე (Eni, 101)
      +    b"\xe1\x83\x95".decode(),  # ვ (Vini, 102)
      +    b"\xd4\xb1".decode(),  # Ա (Ayp, 103)
      +    b"\xd4\xb2".decode(),  # Բ (Ben, 104)
      +    b"\xd4\xb3".decode(),  # Գ (Gim, 105)
      +    b"\xd4\xb4".decode(),  # Դ (Da, 106)
      +    b"\xd4\xb5".decode(),  # Ե (Ech, 107)
      +    b"\xd4\xb6".decode(),  # Զ (Za, 108)
      +    b"\xd5\x9e".decode(),  # ՞ (Question mark, 109)
      +    b"\xd0\x80".decode(),  # Ѐ (Ie with grave, 110)
      +    b"\xd0\x81".decode(),  # Ё (Io, 111)
      +    b"\xd0\x82".decode(),  # Ђ (Dje, 112)
      +    b"\xd0\x83".decode(),  # Ѓ (Gje, 113)
      +    b"\xd0\x84".decode(),  # Є (Ukrainian Ie, 114)
      +    b"\xd0\x85".decode(),  # Ѕ (Dze, 115)
      +    b"\xd1\x8a".decode(),  # Ъ (Hard sign, 116)
      +    b"\xe2\xb2\x80".decode(),  # Ⲁ (Alfa, 117)
      +    b"\xe2\xb2\x81".decode(),  # ⲁ (Small Alfa, 118)
      +    b"\xe2\xb2\x82".decode(),  # Ⲃ (Vida, 119)
      +    b"\xe2\xb2\x83".decode(),  # ⲃ (Small Vida, 120)
      +    b"\xe2\xb2\x84".decode(),  # Ⲅ (Gamma, 121)
      +    b"\xe2\xb2\x85".decode(),  # ⲅ (Small Gamma, 122)
      +    b"\xf0\x91\x80\x80".decode(),  # 𑀀 (A, 123)
      +    b"\xf0\x91\x80\x81".decode(),  # 𑀁 (Aa, 124)
      +    b"\xf0\x91\x80\x82".decode(),  # 𑀂 (I, 125)
      +    b"\xf0\x91\x80\x83".decode(),  # 𑀃 (Ii, 126)
      +    b"\xf0\x91\x80\x85".decode(),  # 𑀅 (U, 127)
      +    b"\xe0\xb6\xb1".decode(),  # ඲ (La, 128)
      +    b"\xe0\xb6\xb2".decode(),  # ඳ (Va, 129)
      +    b"\xe0\xb6\xb3".decode(),  # ප (Sha, 130)
      +    b"\xe0\xb6\xb4".decode(),  # ඵ (Ssa, 131)
      +    b"\xe0\xb6\xb5".decode(),  # බ (Sa, 132)
      +    b"\xe0\xb6\xb6".decode(),  # භ (Ha, 133)
      +    b"\xe2\xb0\x80".decode(),  # Ⰰ (Az, 134)
      +    b"\xe2\xb0\x81".decode(),  # Ⰱ (Buky, 135)
      +    b"\xe2\xb0\x82".decode(),  # Ⰲ (Vede, 136)
      +    b"\xe2\xb0\x83".decode(),  # Ⰳ (Glagoli, 137)
      +    b"\xe2\xb0\x84".decode(),  # Ⰴ (Dobro, 138)
      +    b"\xe2\xb0\x85".decode(),  # Ⰵ (Yest, 139)
      +    b"\xe2\xb0\x86".decode(),  # Ⰶ (Zhivete, 140)
      +    b"\xe2\xb0\x87".decode(),  # Ⰷ (Zemlja, 141)
      +    b"\xe2\xb0\x88".decode(),  # Ⰸ (Izhe, 142)
      +    b"\xe2\xb0\x89".decode(),  # Ⰹ (Initial Izhe, 143)
      +    b"\xe2\xb0\x8a".decode(),  # Ⰺ (I, 144)
      +    b"\xe2\xb0\x8b".decode(),  # Ⰻ (Djerv, 145)
      +    b"\xe2\xb0\x8c".decode(),  # Ⰼ (Kako, 146)
      +    b"\xe2\xb0\x8d".decode(),  # Ⰽ (Ljudije, 147)
      +    b"\xe2\xb0\x8e".decode(),  # Ⰾ (Myse, 148)
      +    b"\xe2\xb0\x8f".decode(),  # Ⰿ (Nash, 149)
      +    b"\xe2\xb0\x90".decode(),  # Ⱀ (On, 150)
      +    b"\xe2\xb0\x91".decode(),  # Ⱁ (Pokoj, 151)
      +    b"\xe2\xb0\x92".decode(),  # Ⱂ (Rtsy, 152)
      +    b"\xe2\xb0\x93".decode(),  # Ⱃ (Slovo, 153)
      +    b"\xe2\xb0\x94".decode(),  # Ⱄ (Tvrido, 154)
      +    b"\xe2\xb0\x95".decode(),  # Ⱅ (Uku, 155)
      +    b"\xe2\xb0\x96".decode(),  # Ⱆ (Fert, 156)
      +    b"\xe2\xb0\x97".decode(),  # Ⱇ (Xrivi, 157)
      +    b"\xe2\xb0\x98".decode(),  # Ⱈ (Ot, 158)
      +    b"\xe2\xb0\x99".decode(),  # Ⱉ (Cy, 159)
      +    b"\xe2\xb0\x9a".decode(),  # Ⱊ (Shcha, 160)
      +    b"\xe2\xb0\x9b".decode(),  # Ⱋ (Er, 161)
      +    b"\xe2\xb0\x9c".decode(),  # Ⱌ (Yeru, 162)
      +    b"\xe2\xb0\x9d".decode(),  # Ⱍ (Small Yer, 163)
      +    b"\xe2\xb0\x9e".decode(),  # Ⱎ (Yo, 164)
      +    b"\xe2\xb0\x9f".decode(),  # Ⱏ (Yu, 165)
      +    b"\xe2\xb0\xa0".decode(),  # Ⱐ (Ja, 166)
      +    b"\xe0\xb8\x81".decode(),  # ก (Ko Kai, 167)
      +    b"\xe0\xb8\x82".decode(),  # ข (Kho Khai, 168)
      +    b"\xe0\xb8\x83".decode(),  # ฃ (Kho Khuat, 169)
      +    b"\xe0\xb8\x84".decode(),  # ค (Kho Khon, 170)
      +    b"\xe0\xb8\x85".decode(),  # ฅ (Kho Rakhang, 171)
      +    b"\xe0\xb8\x86".decode(),  # ฆ (Kho Khwai, 172)
      +    b"\xe0\xb8\x87".decode(),  # ง (Ngo Ngu, 173)
      +    b"\xe0\xb8\x88".decode(),  # จ (Cho Chan, 174)
      +    b"\xe0\xb8\x89".decode(),  # ฉ (Cho Ching, 175)
      +    b"\xe0\xb8\x8a".decode(),  # ช (Cho Chang, 176)
      +    b"\xe0\xb8\x8b".decode(),  # ซ (So So, 177)
      +    b"\xe0\xb8\x8c".decode(),  # ฌ (Cho Choe, 178)
      +    b"\xe0\xb8\x8d".decode(),  # ญ (Yo Ying, 179)
      +    b"\xe0\xb8\x8e".decode(),  # ฎ (Do Chada, 180)
      +    b"\xe0\xb8\x8f".decode(),  # ฏ (To Patak, 181)
      +    b"\xe0\xb8\x90".decode(),  # ฐ (Tho Than, 182)
      +    b"\xe0\xb8\x91".decode(),  # ฑ (Tho Nangmontho, 183)
      +    b"\xe0\xb8\x92".decode(),  # ฒ (Tho Phuthao, 184)
      +    b"\xe0\xb8\x93".decode(),  # ณ (No Nen, 185)
      +    b"\xe0\xb8\x94".decode(),  # ด (Do Dek, 186)
      +    b"\xe0\xb8\x95".decode(),  # ต (To Tao, 187)
      +    b"\xe0\xb8\x96".decode(),  # ถ (Tho Thung, 188)
      +    b"\xe0\xb8\x97".decode(),  # ท (Tho Thahan, 189)
      +    b"\xe0\xb8\x98".decode(),  # ธ (Tho Thong, 190)
      +    b"\xe0\xb8\x99".decode(),  # น (No Nu, 191)
      +    b"\xe0\xb8\x9a".decode(),  # บ (Bo Baimai, 192)
      +    b"\xe0\xb8\x9b".decode(),  # ป (Po Pla, 193)
      +    b"\xe0\xb8\x9c".decode(),  # ผ (Pho Phung, 194)
      +    b"\xe0\xb8\x9d".decode(),  # ฝ (Fo Fa, 195)
      +    b"\xe0\xb8\x9e".decode(),  # พ (Pho Phan, 196)
      +    b"\xe0\xb8\x9f".decode(),  # ฟ (Fo Fan, 197)
      +    b"\xe0\xb8\xa0".decode(),  # ภ (Pho Samphao, 198)
      +    b"\xe0\xb8\xa1".decode(),  # ม (Mo Ma, 199)
      +    b"\xe0\xb8\xa2".decode(),  # ย (Yo Yak, 200)
      +    b"\xe0\xb8\xa3".decode(),  # ร (Ro Rua, 201)
      +    b"\xe0\xb8\xa5".decode(),  # ล (Lo Ling, 202)
      +    b"\xe0\xb8\xa7".decode(),  # ว (Wo Waen, 203)
      +    b"\xe0\xb8\xa8".decode(),  # ศ (So Sala, 204)
      +    b"\xe0\xb8\xa9".decode(),  # ษ (So Rusi, 205)
      +    b"\xe0\xb8\xaa".decode(),  # ส (So Sua, 206)
      +    b"\xe0\xb8\xab".decode(),  # ห (Ho Hip, 207)
      +    b"\xe0\xb8\xac".decode(),  # ฬ (Lo Chula, 208)
      +    b"\xe0\xb8\xad".decode(),  # อ (O Ang, 209)
      +    b"\xe0\xb8\xae".decode(),  # ฮ (Ho Nokhuk, 210)
      +    b"\xe1\x84\x80".decode(),  # ㄱ (Giyeok, 211)
      +    b"\xe1\x84\x81".decode(),  # ㄴ (Nieun, 212)
      +    b"\xe1\x84\x82".decode(),  # ㄷ (Digeut, 213)
      +    b"\xe1\x84\x83".decode(),  # ㄹ (Rieul, 214)
      +    b"\xe1\x84\x84".decode(),  # ㅁ (Mieum, 215)
      +    b"\xe1\x84\x85".decode(),  # ㅂ (Bieup, 216)
      +    b"\xe1\x84\x86".decode(),  # ㅅ (Siot, 217)
      +    b"\xe1\x84\x87".decode(),  # ㅇ (Ieung, 218)
      +    b"\xe1\x84\x88".decode(),  # ㅈ (Jieut, 219)
      +    b"\xe1\x84\x89".decode(),  # ㅊ (Chieut, 220)
      +    b"\xe1\x84\x8a".decode(),  # ㅋ (Kieuk, 221)
      +    b"\xe1\x84\x8b".decode(),  # ㅌ (Tieut, 222)
      +    b"\xe1\x84\x8c".decode(),  # ㅍ (Pieup, 223)
      +    b"\xe1\x84\x8d".decode(),  # ㅎ (Hieut, 224)
      +    b"\xe1\x85\xa1".decode(),  # ㅏ (A, 225)
      +    b"\xe1\x85\xa2".decode(),  # ㅐ (Ae, 226)
      +    b"\xe1\x85\xa3".decode(),  # ㅑ (Ya, 227)
      +    b"\xe1\x85\xa4".decode(),  # ㅒ (Yae, 228)
      +    b"\xe1\x85\xa5".decode(),  # ㅓ (Eo, 229)
      +    b"\xe1\x85\xa6".decode(),  # ㅔ (E, 230)
      +    b"\xe1\x85\xa7".decode(),  # ㅕ (Yeo, 231)
      +    b"\xe1\x85\xa8".decode(),  # ㅖ (Ye, 232)
      +    b"\xe1\x85\xa9".decode(),  # ㅗ (O, 233)
      +    b"\xe1\x85\xaa".decode(),  # ㅘ (Wa, 234)
      +    b"\xe1\x85\xab".decode(),  # ㅙ (Wae, 235)
      +    b"\xe1\x85\xac".decode(),  # ㅚ (Oe, 236)
      +    b"\xe1\x85\xad".decode(),  # ㅛ (Yo, 237)
      +    b"\xe1\x85\xae".decode(),  # ㅜ (U, 238)
      +    b"\xe1\x85\xaf".decode(),  # ㅝ (Weo, 239)
      +    b"\xe1\x85\xb0".decode(),  # ㅞ (We, 240)
      +    b"\xe1\x85\xb1".decode(),  # ㅟ (Wi, 241)
      +    b"\xe1\x85\xb2".decode(),  # ㅠ (Yu, 242)
      +    b"\xe1\x85\xb3".decode(),  # ㅡ (Eu, 243)
      +    b"\xe1\x85\xb4".decode(),  # ㅢ (Ui, 244)
      +    b"\xe1\x85\xb5".decode(),  # ㅣ (I, 245)
      +    b"\xe1\x8a\xa0".decode(),  # አ (Glottal A, 246)
      +    b"\xe1\x8a\xa1".decode(),  # ኡ (Glottal U, 247)
      +    b"\xe1\x8a\xa2".decode(),  # ኢ (Glottal I, 248)
      +    b"\xe1\x8a\xa3".decode(),  # ኣ (Glottal Aa, 249)
      +    b"\xe1\x8a\xa4".decode(),  # ኤ (Glottal E, 250)
      +    b"\xe1\x8a\xa5".decode(),  # እ (Glottal Ie, 251)
      +    b"\xe1\x8a\xa6".decode(),  # ኦ (Glottal O, 252)
      +    b"\xe1\x8a\xa7".decode(),  # ኧ (Glottal Wa, 253)
      +    b"\xe1\x8b\x88".decode(),  # ወ (Wa, 254)
      +    b"\xe1\x8b\x89".decode(),  # ዉ (Wu, 255)
      +    b"\xe1\x8b\x8a".decode(),  # ዊ (Wi, 256)
      +    b"\xe1\x8b\x8b".decode(),  # ዋ (Waa, 257)
      +    b"\xe1\x8b\x8c".decode(),  # ዌ (We, 258)
      +    b"\xe1\x8b\x8d".decode(),  # ው (Wye, 259)
      +    b"\xe1\x8b\x8e".decode(),  # ዎ (Wo, 260)
      +    b"\xe1\x8a\xb0".decode(),  # ኰ (Ko, 261)
      +    b"\xe1\x8a\xb1".decode(),  # ኱ (Ku, 262)
      +    b"\xe1\x8a\xb2".decode(),  # ኲ (Ki, 263)
      +    b"\xe1\x8a\xb3".decode(),  # ኳ (Kua, 264)
      +    b"\xe1\x8a\xb4".decode(),  # ኴ (Ke, 265)
      +    b"\xe1\x8a\xb5".decode(),  # ኵ (Kwe, 266)
      +    b"\xe1\x8a\xb6".decode(),  # ኶ (Ko, 267)
      +    b"\xe1\x8a\x90".decode(),  # ጐ (Go, 268)
      +    b"\xe1\x8a\x91".decode(),  # ጑ (Gu, 269)
      +    b"\xe1\x8a\x92".decode(),  # ጒ (Gi, 270)
      +    b"\xe1\x8a\x93".decode(),  # መ (Gua, 271)
      +    b"\xe1\x8a\x94".decode(),  # ጔ (Ge, 272)
      +    b"\xe1\x8a\x95".decode(),  # ጕ (Gwe, 273)
      +    b"\xe1\x8a\x96".decode(),  # ጖ (Go, 274)
      +    b"\xe0\xa4\x85".decode(),  # अ (A, 275)
      +    b"\xe0\xa4\x86".decode(),  # आ (Aa, 276)
      +    b"\xe0\xa4\x87".decode(),  # इ (I, 277)
      +    b"\xe0\xa4\x88".decode(),  # ई (Ii, 278)
      +    b"\xe0\xa4\x89".decode(),  # उ (U, 279)
      +    b"\xe0\xa4\x8a".decode(),  # ऊ (Uu, 280)
      +    b"\xe0\xa4\x8b".decode(),  # ऋ (R, 281)
      +    b"\xe0\xa4\x8f".decode(),  # ए (E, 282)
      +    b"\xe0\xa4\x90".decode(),  # ऐ (Ai, 283)
      +    b"\xe0\xa4\x93".decode(),  # ओ (O, 284)
      +    b"\xe0\xa4\x94".decode(),  # औ (Au, 285)
      +    b"\xe0\xa4\x95".decode(),  # क (Ka, 286)
      +    b"\xe0\xa4\x96".decode(),  # ख (Kha, 287)
      +    b"\xe0\xa4\x97".decode(),  # ग (Ga, 288)
      +    b"\xe0\xa4\x98".decode(),  # घ (Gha, 289)
      +    b"\xe0\xa4\x99".decode(),  # ङ (Nga, 290)
      +    b"\xe0\xa4\x9a".decode(),  # च (Cha, 291)
      +    b"\xe0\xa4\x9b".decode(),  # छ (Chha, 292)
      +    b"\xe0\xa4\x9c".decode(),  # ज (Ja, 293)
      +    b"\xe0\xa4\x9d".decode(),  # झ (Jha, 294)
      +    b"\xe0\xa4\x9e".decode(),  # ञ (Nya, 295)
      +    b"\xe0\xa4\x9f".decode(),  # ट (Ta, 296)
      +    b"\xe0\xa4\xa0".decode(),  # ठ (Tha, 297)
      +    b"\xe0\xa4\xa1".decode(),  # ड (Da, 298)
      +    b"\xe0\xa4\xa2".decode(),  # ढ (Dha, 299)
      +    b"\xe0\xa4\xa3".decode(),  # ण (Na, 300)
      +    b"\xe0\xa4\xa4".decode(),  # त (Ta, 301)
      +    b"\xe0\xa4\xa5".decode(),  # थ (Tha, 302)
      +    b"\xe0\xa4\xa6".decode(),  # द (Da, 303)
      +    b"\xe0\xa4\xa7".decode(),  # ध (Dha, 304)
      +    b"\xe0\xa4\xa8".decode(),  # न (Na, 305)
      +    b"\xe0\xa4\xaa".decode(),  # प (Pa, 306)
      +    b"\xe0\xa4\xab".decode(),  # फ (Pha, 307)
      +    b"\xe0\xa4\xac".decode(),  # ब (Ba, 308)
      +    b"\xe0\xa4\xad".decode(),  # भ (Bha, 309)
      +    b"\xe0\xa4\xae".decode(),  # म (Ma, 310)
      +    b"\xe0\xa4\xaf".decode(),  # य (Ya, 311)
      +    b"\xe0\xa4\xb0".decode(),  # र (Ra, 312)
      +    b"\xe0\xa4\xb2".decode(),  # ल (La, 313)
      +    b"\xe0\xa4\xb5".decode(),  # व (Va, 314)
      +    b"\xe0\xa4\xb6".decode(),  # श (Sha, 315)
      +    b"\xe0\xa4\xb7".decode(),  # ष (Ssa, 316)
      +    b"\xe0\xa4\xb8".decode(),  # स (Sa, 317)
      +    b"\xe0\xa4\xb9".decode(),  # ह (Ha, 318)
      +    b"\xe3\x82\xa2".decode(),  # ア (A, 319)
      +    b"\xe3\x82\xa4".decode(),  # イ (I, 320)
      +    b"\xe3\x82\xa6".decode(),  # ウ (U, 321)
      +    b"\xe3\x82\xa8".decode(),  # エ (E, 322)
      +    b"\xe3\x82\xaa".decode(),  # オ (O, 323)
      +    b"\xe3\x82\xab".decode(),  # カ (Ka, 324)
      +    b"\xe3\x82\xad".decode(),  # キ (Ki, 325)
      +    b"\xe3\x82\xaf".decode(),  # ク (Ku, 326)
      +    b"\xe3\x82\xb1".decode(),  # ケ (Ke, 327)
      +    b"\xe3\x82\xb3".decode(),  # コ (Ko, 328)
      +    b"\xe3\x82\xb5".decode(),  # サ (Sa, 329)
      +    b"\xe3\x82\xb7".decode(),  # シ (Shi, 330)
      +    b"\xe3\x82\xb9".decode(),  # ス (Su, 331)
      +    b"\xe3\x82\xbb".decode(),  # セ (Se, 332)
      +    b"\xe3\x82\xbd".decode(),  # ソ (So, 333)
      +    b"\xe3\x82\xbf".decode(),  # タ (Ta, 334)
      +    b"\xe3\x83\x81".decode(),  # チ (Chi, 335)
      +    b"\xe3\x83\x84".decode(),  # ツ (Tsu, 336)
      +    b"\xe3\x83\x86".decode(),  # テ (Te, 337)
      +    b"\xe3\x83\x88".decode(),  # ト (To, 338)
      +    b"\xe3\x83\x8a".decode(),  # ナ (Na, 339)
      +    b"\xe3\x83\x8b".decode(),  # ニ (Ni, 340)
      +    b"\xe3\x83\x8c".decode(),  # ヌ (Nu, 341)
      +    b"\xe3\x83\x8d".decode(),  # ネ (Ne, 342)
      +    b"\xe3\x83\x8e".decode(),  # ノ (No, 343)
      +    b"\xe3\x83\x8f".decode(),  # ハ (Ha, 344)
      +    b"\xe3\x83\x92".decode(),  # ヒ (Hi, 345)
      +    b"\xe3\x83\x95".decode(),  # フ (Fu, 346)
      +    b"\xe3\x83\x98".decode(),  # ヘ (He, 347)
      +    b"\xe3\x83\x9b".decode(),  # ホ (Ho, 348)
      +    b"\xe3\x83\x9e".decode(),  # マ (Ma, 349)
      +    b"\xe3\x83\x9f".decode(),  # ミ (Mi, 350)
      +    b"\xe3\x83\xa0".decode(),  # ム (Mu, 351)
      +    b"\xe3\x83\xa1".decode(),  # メ (Me, 352)
      +    b"\xe3\x83\xa2".decode(),  # モ (Mo, 353)
      +    b"\xe3\x83\xa4".decode(),  # ヤ (Ya, 354)
      +    b"\xe3\x83\xa6".decode(),  # ユ (Yu, 355)
      +    b"\xe3\x83\xa8".decode(),  # ヨ (Yo, 356)
      +    b"\xe3\x83\xa9".decode(),  # ラ (Ra, 357)
      +    b"\xe3\x83\xaa".decode(),  # リ (Ri, 358)
      +    b"\xe3\x83\xab".decode(),  # ル (Ru, 359)
      +    b"\xe3\x83\xac".decode(),  # レ (Re, 360)
      +    b"\xe3\x83\xad".decode(),  # ロ (Ro, 361)
      +    b"\xe3\x83\xaf".decode(),  # ワ (Wa, 362)
      +    b"\xe3\x83\xb2".decode(),  # ヲ (Wo, 363)
      +    b"\xe3\x83\xb3".decode(),  # ン (N, 364)
      +    b"\xe2\xb4\xb0".decode(),  # ⴰ (Ya, 365)
      +    b"\xe2\xb4\xb1".decode(),  # ⴱ (Yab, 366)
      +    b"\xe2\xb4\xb2".decode(),  # ⴲ (Yabh, 367)
      +    b"\xe2\xb4\xb3".decode(),  # ⴳ (Yag, 368)
      +    b"\xe2\xb4\xb4".decode(),  # ⴴ (Yagh, 369)
      +    b"\xe2\xb4\xb5".decode(),  # ⴵ (Yaj, 370)
      +    b"\xe2\xb4\xb6".decode(),  # ⴶ (Yach, 371)
      +    b"\xe2\xb4\xb7".decode(),  # ⴷ (Yad, 372)
      +    b"\xe2\xb4\xb8".decode(),  # ⴸ (Yadh, 373)
      +    b"\xe2\xb4\xb9".decode(),  # ⴹ (Yadh, emphatic, 374)
      +    b"\xe2\xb4\xba".decode(),  # ⴺ (Yaz, 375)
      +    b"\xe2\xb4\xbb".decode(),  # ⴻ (Yazh, 376)
      +    b"\xe2\xb4\xbc".decode(),  # ⴼ (Yaf, 377)
      +    b"\xe2\xb4\xbd".decode(),  # ⴽ (Yak, 378)
      +    b"\xe2\xb4\xbe".decode(),  # ⴾ (Yak, variant, 379)
      +    b"\xe2\xb4\xbf".decode(),  # ⴿ (Yaq, 380)
      +    b"\xe2\xb5\x80".decode(),  # ⵀ (Yah, 381)
      +    b"\xe2\xb5\x81".decode(),  # ⵁ (Yahh, 382)
      +    b"\xe2\xb5\x82".decode(),  # ⵂ (Yahl, 383)
      +    b"\xe2\xb5\x83".decode(),  # ⵃ (Yahm, 384)
      +    b"\xe2\xb5\x84".decode(),  # ⵄ (Yayn, 385)
      +    b"\xe2\xb5\x85".decode(),  # ⵅ (Yakh, 386)
      +    b"\xe2\xb5\x86".decode(),  # ⵆ (Yakl, 387)
      +    b"\xe2\xb5\x87".decode(),  # ⵇ (Yahq, 388)
      +    b"\xe2\xb5\x88".decode(),  # ⵈ (Yash, 389)
      +    b"\xe2\xb5\x89".decode(),  # ⵉ (Yi, 390)
      +    b"\xe2\xb5\x8a".decode(),  # ⵊ (Yij, 391)
      +    b"\xe2\xb5\x8b".decode(),  # ⵋ (Yizh, 392)
      +    b"\xe2\xb5\x8c".decode(),  # ⵌ (Yink, 393)
      +    b"\xe2\xb5\x8d".decode(),  # ⵍ (Yal, 394)
      +    b"\xe2\xb5\x8e".decode(),  # ⵎ (Yam, 395)
      +    b"\xe2\xb5\x8f".decode(),  # ⵏ (Yan, 396)
      +    b"\xe2\xb5\x90".decode(),  # ⵐ (Yang, 397)
      +    b"\xe2\xb5\x91".decode(),  # ⵑ (Yany, 398)
      +    b"\xe2\xb5\x92".decode(),  # ⵒ (Yap, 399)
      +    b"\xe2\xb5\x93".decode(),  # ⵓ (Yu, 400)
      +    b"\xe0\xb6\x85".decode(),  # අ (A, 401)
      +    b"\xe0\xb6\x86".decode(),  # ආ (Aa, 402)
      +    b"\xe0\xb6\x87".decode(),  # ඉ (I, 403)
      +    b"\xe0\xb6\x88".decode(),  # ඊ (Ii, 404)
      +    b"\xe0\xb6\x89".decode(),  # උ (U, 405)
      +    b"\xe0\xb6\x8a".decode(),  # ඌ (Uu, 406)
      +    b"\xe0\xb6\x8b".decode(),  # ඍ (R, 407)
      +    b"\xe0\xb6\x8c".decode(),  # ඎ (Rr, 408)
      +    b"\xe0\xb6\x8f".decode(),  # ඏ (L, 409)
      +    b"\xe0\xb6\x90".decode(),  # ඐ (Ll, 410)
      +    b"\xe0\xb6\x91".decode(),  # එ (E, 411)
      +    b"\xe0\xb6\x92".decode(),  # ඒ (Ee, 412)
      +    b"\xe0\xb6\x93".decode(),  # ඓ (Ai, 413)
      +    b"\xe0\xb6\x94".decode(),  # ඔ (O, 414)
      +    b"\xe0\xb6\x95".decode(),  # ඕ (Oo, 415)
      +    b"\xe0\xb6\x96".decode(),  # ඖ (Au, 416)
      +    b"\xe0\xb6\x9a".decode(),  # ක (Ka, 417)
      +    b"\xe0\xb6\x9b".decode(),  # ඛ (Kha, 418)
      +    b"\xe0\xb6\x9c".decode(),  # ග (Ga, 419)
      +    b"\xe0\xb6\x9d".decode(),  # ඝ (Gha, 420)
      +    b"\xe0\xb6\x9e".decode(),  # ඞ (Nga, 421)
      +    b"\xe0\xb6\x9f".decode(),  # ච (Cha, 422)
      +    b"\xe0\xb6\xa0".decode(),  # ඡ (Chha, 423)
      +    b"\xe0\xb6\xa1".decode(),  # ජ (Ja, 424)
      +    b"\xe0\xb6\xa2".decode(),  # ඣ (Jha, 425)
      +    b"\xe0\xb6\xa3".decode(),  # ඤ (Nya, 426)
      +    b"\xe0\xb6\xa4".decode(),  # ට (Ta, 427)
      +    b"\xe0\xb6\xa5".decode(),  # ඥ (Tha, 428)
      +    b"\xe0\xb6\xa6".decode(),  # ඦ (Da, 429)
      +    b"\xe0\xb6\xa7".decode(),  # ට (Dha, 430)
      +    b"\xe0\xb6\xa8".decode(),  # ඨ (Na, 431)
      +    b"\xe0\xb6\xaa".decode(),  # ඪ (Pa, 432)
      +    b"\xe0\xb6\xab".decode(),  # ණ (Pha, 433)
      +    b"\xe0\xb6\xac".decode(),  # ඬ (Ba, 434)
      +    b"\xe0\xb6\xad".decode(),  # ත (Bha, 435)
      +    b"\xe0\xb6\xae".decode(),  # ථ (Ma, 436)
      +    b"\xe0\xb6\xaf".decode(),  # ද (Ya, 437)
      +    b"\xe0\xb6\xb0".decode(),  # ධ (Ra, 438)
       ]
       
       
       
      [docs] -def tao(amount: float) -> Balance: +def tao(amount: float, netuid: int = 0) -> Balance: """ Helper function to create a Balance object from a float (Tao) """ - return Balance.from_tao(amount)
      + return Balance.from_tao(amount).set_unit(netuid)
      [docs] -def rao(amount: int) -> Balance: +def rao(amount: int, netuid: int = 0) -> Balance: """ Helper function to create a Balance object from an int (Rao) """ - return Balance.from_rao(amount)
      + return Balance.from_rao(amount).set_unit(netuid)
      diff --git a/static/python-api/html/_modules/bittensor/utils/btlogging/console.html b/static/python-api/html/_modules/bittensor/utils/btlogging/console.html index a01ed46b23..ef5ea8deef 100644 --- a/static/python-api/html/_modules/bittensor/utils/btlogging/console.html +++ b/static/python-api/html/_modules/bittensor/utils/btlogging/console.html @@ -175,7 +175,6 @@
    1135. bittensor.utils.easy_imports
    1136. bittensor.utils.formatting
    1137. bittensor.utils.liquidity
    1138. -
    1139. bittensor.utils.mock
    1140. bittensor.utils.networking
    1141. bittensor.utils.registration
    1142. bittensor.utils.subnets
    1143. diff --git a/static/python-api/html/_modules/bittensor/utils/btlogging/format.html b/static/python-api/html/_modules/bittensor/utils/btlogging/format.html index e573b1d20e..d3c04700ab 100644 --- a/static/python-api/html/_modules/bittensor/utils/btlogging/format.html +++ b/static/python-api/html/_modules/bittensor/utils/btlogging/format.html @@ -175,7 +175,6 @@
    1144. bittensor.utils.easy_imports
    1145. bittensor.utils.formatting
    1146. bittensor.utils.liquidity
    1147. -
    1148. bittensor.utils.mock
    1149. bittensor.utils.networking
    1150. bittensor.utils.registration
    1151. bittensor.utils.subnets
    1152. diff --git a/static/python-api/html/_modules/bittensor/utils/btlogging/helpers.html b/static/python-api/html/_modules/bittensor/utils/btlogging/helpers.html index 605e864e64..f22f37e863 100644 --- a/static/python-api/html/_modules/bittensor/utils/btlogging/helpers.html +++ b/static/python-api/html/_modules/bittensor/utils/btlogging/helpers.html @@ -175,7 +175,6 @@
    1153. bittensor.utils.easy_imports
    1154. bittensor.utils.formatting
    1155. bittensor.utils.liquidity
    1156. -
    1157. bittensor.utils.mock
    1158. bittensor.utils.networking
    1159. bittensor.utils.registration
    1160. bittensor.utils.subnets
    1161. diff --git a/static/python-api/html/_modules/bittensor/utils/btlogging/loggingmachine.html b/static/python-api/html/_modules/bittensor/utils/btlogging/loggingmachine.html index a986c739d5..7bfead52e1 100644 --- a/static/python-api/html/_modules/bittensor/utils/btlogging/loggingmachine.html +++ b/static/python-api/html/_modules/bittensor/utils/btlogging/loggingmachine.html @@ -175,7 +175,6 @@
    1162. bittensor.utils.easy_imports
    1163. bittensor.utils.formatting
    1164. bittensor.utils.liquidity
    1165. -
    1166. bittensor.utils.mock
    1167. bittensor.utils.networking
    1168. bittensor.utils.registration
    1169. bittensor.utils.subnets
    1170. @@ -353,6 +352,7 @@

      Source code for bittensor.utils.btlogging.loggingmachine

      from statemachine import State, StateMachine +from bittensor.core.settings import READ_ONLY from bittensor.core.config import Config from bittensor.utils.btlogging.console import BittensorConsole from .defines import ( @@ -1063,9 +1063,12 @@

      Source code for bittensor.utils.btlogging.loggingmachine

      default_logging_info = os.getenv("BT_LOGGING_INFO") or False default_logging_trace = os.getenv("BT_LOGGING_TRACE") or False default_logging_record_log = os.getenv("BT_LOGGING_RECORD_LOG") or False - default_logging_logging_dir = os.getenv( - "BT_LOGGING_LOGGING_DIR" - ) or os.path.join("~", ".bittensor", "miners") + default_logging_logging_dir = ( + None + if READ_ONLY + else os.getenv("BT_LOGGING_LOGGING_DIR") + or os.path.join("~", ".bittensor", "miners") + ) parser.add_argument( "--" + prefix_str + "logging.debug", action="store_true", diff --git a/static/python-api/html/_modules/bittensor/utils/easy_imports.html b/static/python-api/html/_modules/bittensor/utils/easy_imports.html index f8cdb81cba..216f4d2052 100644 --- a/static/python-api/html/_modules/bittensor/utils/easy_imports.html +++ b/static/python-api/html/_modules/bittensor/utils/easy_imports.html @@ -175,7 +175,6 @@
    1171. bittensor.utils.easy_imports
    1172. bittensor.utils.formatting
    1173. bittensor.utils.liquidity
    1174. -
    1175. bittensor.utils.mock
    1176. bittensor.utils.networking
    1177. bittensor.utils.registration
    1178. bittensor.utils.subnets
    1179. @@ -344,9 +343,9 @@

      Source code for bittensor.utils.easy_imports

      import importlib
       import sys
       
      -from bittensor_wallet import Keypair  # noqa: F401
      -from bittensor_wallet.errors import KeyFileError  # noqa: F401
      -from bittensor_wallet.keyfile import (  # noqa: F401
      +from bittensor_wallet import Keypair
      +from bittensor_wallet.errors import KeyFileError
      +from bittensor_wallet.keyfile import (
           serialized_keypair_to_keyfile_data,
           deserialize_keypair_from_keyfile_data,
           validate_password,
      @@ -362,12 +361,12 @@ 

      Source code for bittensor.utils.easy_imports

      decrypt_keyfile_data,
           Keyfile,
       )
      -from bittensor_wallet.wallet import display_mnemonic_msg, Wallet  # noqa: F401
      +from bittensor_wallet.wallet import display_mnemonic_msg, Wallet
       
      -from bittensor.core import settings
      +from bittensor.core import settings, timelock
       from bittensor.core.async_subtensor import AsyncSubtensor
       from bittensor.core.axon import Axon
      -from bittensor.core.chain_data import (  # noqa: F401
      +from bittensor.core.chain_data import (
           AxonInfo,
           ChainIdentity,
           DelegateInfo,
      @@ -384,6 +383,7 @@ 

      Source code for bittensor.utils.easy_imports

      ProposalCallData,
           ProposalVoteData,
           ScheduledColdkeySwapInfo,
      +    SelectiveMetagraphIndex,
           StakeInfo,
           SubnetHyperparameters,
           SubnetIdentity,
      @@ -391,48 +391,55 @@ 

      Source code for bittensor.utils.easy_imports

      SubnetState,
           WeightCommitInfo,
       )
      -from bittensor.core.config import (  # noqa: F401
      -    InvalidConfigFile,
      -    DefaultConfig,
      -    Config,
      -    T,
      -)
      -from bittensor.core.dendrite import Dendrite  # noqa: F401
      -from bittensor.core.errors import (  # noqa: F401
      +from bittensor.core.config import Config
      +from bittensor.core.dendrite import Dendrite
      +from bittensor.core.errors import (
           BlacklistedException,
           ChainConnectionError,
           ChainError,
           ChainQueryError,
           ChainTransactionError,
      +    DelegateTakeTooHigh,
      +    DelegateTakeTooLow,
      +    DelegateTxRateLimitExceeded,
      +    DuplicateChild,
      +    HotKeyAccountNotExists,
           IdentityError,
           InternalServerError,
      +    InvalidChild,
           InvalidRequestNameError,
           MetadataError,
           NominationError,
      +    NonAssociatedColdKey,
           NotDelegateError,
      +    NotEnoughStakeToSetChildkeys,
           NotRegisteredError,
           NotVerifiedException,
           PostProcessException,
           PriorityException,
      +    ProportionOverflow,
           RegistrationError,
      +    RegistrationNotPermittedOnRootSubnet,
           RunException,
           StakeError,
      +    SubNetworkDoesNotExist,
           SynapseDendriteNoneException,
           SynapseParsingError,
      +    TooManyChildren,
           TransferError,
      +    TxRateLimitExceeded,
           UnknownSynapseError,
           UnstakeError,
       )
       from bittensor.core.metagraph import Metagraph
       from bittensor.core.settings import BLOCKTIME
      -from bittensor.core.stream import StreamingSynapse  # noqa: F401
      +from bittensor.core.stream import StreamingSynapse
       from bittensor.core.subtensor import Subtensor
      -from bittensor.core.synapse import TerminalInfo, Synapse  # noqa: F401
      -from bittensor.core.tensor import Tensor  # noqa: F401
      -from bittensor.core.threadpool import (  # noqa: F401
      -    PriorityThreadPoolExecutor as PriorityThreadPoolExecutor,
      -)
      -from bittensor.utils import (  # noqa: F401
      +from bittensor.core.subtensor_api import SubtensorApi
      +from bittensor.core.synapse import TerminalInfo, Synapse
      +from bittensor.core.tensor import Tensor
      +from bittensor.core.threadpool import PriorityThreadPoolExecutor
      +from bittensor.utils import (
           ss58_to_vec_u8,
           version_checking,
           strtobool,
      @@ -442,14 +449,12 @@ 

      Source code for bittensor.utils.easy_imports

      u64_normalized_float,
           get_hash,
       )
      -from bittensor.utils.balance import Balance as Balance  # noqa: F401
      +from bittensor.utils.balance import Balance
       from bittensor.utils.balance import tao, rao
       from bittensor.utils.btlogging import logging
      -from bittensor.utils.mock.subtensor_mock import MockSubtensor as MockSubtensor  # noqa: F401
      -from bittensor.utils.subnets import SubnetsAPI  # noqa: F401
      +from bittensor.utils.mock.subtensor_mock import MockSubtensor
      +from bittensor.utils.subnets import SubnetsAPI
       
      -tao = tao
      -rao = rao
       
       # Backwards compatibility with previous bittensor versions.
       async_subtensor = AsyncSubtensor
      @@ -462,23 +467,6 @@ 

      Source code for bittensor.utils.easy_imports

      subtensor = Subtensor
       synapse = Synapse
       
      -__blocktime__ = BLOCKTIME
      -__network_explorer_map__ = settings.NETWORK_EXPLORER_MAP
      -__pipaddress__ = settings.PIPADDRESS
      -__ss58_format__ = settings.SS58_FORMAT
      -__type_registry__ = settings.TYPE_REGISTRY
      -__ss58_address_length__ = settings.SS58_ADDRESS_LENGTH
      -
      -__networks__ = settings.NETWORKS
      -
      -__finney_entrypoint__ = settings.FINNEY_ENTRYPOINT
      -__finney_test_entrypoint__ = settings.FINNEY_TEST_ENTRYPOINT
      -__archive_entrypoint__ = settings.ARCHIVE_ENTRYPOINT
      -__local_entrypoint__ = settings.LOCAL_ENTRYPOINT
      -
      -__tao_symbol__ = settings.TAO_SYMBOL
      -__rao_symbol__ = settings.RAO_SYMBOL
      -
       # Makes the `bittensor.utils.mock` subpackage available as `bittensor.mock` for backwards compatibility.
       mock_subpackage = importlib.import_module("bittensor.utils.mock")
       sys.modules["bittensor.mock"] = mock_subpackage
      @@ -535,6 +523,131 @@ 

      Source code for bittensor.utils.easy_imports

          """
           logging.set_info(on)
      + + +__all__ = [ + "Keypair", + "KeyFileError", + "serialized_keypair_to_keyfile_data", + "deserialize_keypair_from_keyfile_data", + "validate_password", + "ask_password_to_encrypt", + "keyfile_data_is_encrypted_nacl", + "keyfile_data_is_encrypted_ansible", + "keyfile_data_is_encrypted_legacy", + "keyfile_data_is_encrypted", + "keyfile_data_encryption_method", + "legacy_encrypt_keyfile_data", + "encrypt_keyfile_data", + "get_coldkey_password_from_environment", + "decrypt_keyfile_data", + "Keyfile", + "display_mnemonic_msg", + "Wallet", + "settings", + "timelock", + "AsyncSubtensor", + "Axon", + "AxonInfo", + "ChainIdentity", + "DelegateInfo", + "DelegateInfoLite", + "DynamicInfo", + "IPInfo", + "MetagraphInfo", + "MetagraphInfoEmissions", + "MetagraphInfoParams", + "MetagraphInfoPool", + "NeuronInfo", + "NeuronInfoLite", + "PrometheusInfo", + "ProposalCallData", + "ProposalVoteData", + "ScheduledColdkeySwapInfo", + "SelectiveMetagraphIndex", + "StakeInfo", + "SubnetHyperparameters", + "SubnetIdentity", + "SubnetInfo", + "SubnetState", + "WeightCommitInfo", + "Config", + "Dendrite", + "BlacklistedException", + "ChainConnectionError", + "ChainError", + "ChainQueryError", + "ChainTransactionError", + "DelegateTakeTooHigh", + "DelegateTakeTooLow", + "DelegateTxRateLimitExceeded", + "DuplicateChild", + "HotKeyAccountNotExists", + "IdentityError", + "InternalServerError", + "InvalidChild", + "InvalidRequestNameError", + "MetadataError", + "NominationError", + "NonAssociatedColdKey", + "NotDelegateError", + "NotEnoughStakeToSetChildkeys", + "NotRegisteredError", + "NotVerifiedException", + "PostProcessException", + "PriorityException", + "ProportionOverflow", + "RegistrationError", + "RegistrationNotPermittedOnRootSubnet", + "RunException", + "StakeError", + "SubNetworkDoesNotExist", + "SynapseDendriteNoneException", + "SynapseParsingError", + "TooManyChildren", + "TransferError", + "TxRateLimitExceeded", + "UnknownSynapseError", + "UnstakeError", + "Metagraph", + "BLOCKTIME", + "StreamingSynapse", + "Subtensor", + "SubtensorApi", + "TerminalInfo", + "Synapse", + "Tensor", + "PriorityThreadPoolExecutor", + "ss58_to_vec_u8", + "version_checking", + "strtobool", + "get_explorer_url_for_network", + "ss58_address_to_bytes", + "u16_normalized_float", + "u64_normalized_float", + "get_hash", + "Balance", + "tao", + "rao", + "logging", + "MockSubtensor", + "SubnetsAPI", + "async_subtensor", + "axon", + "config", + "dendrite", + "keyfile", + "metagraph", + "wallet", + "subtensor", + "synapse", + "trace", + "debug", + "warning", + "info", + "mock_subpackage", + "extrinsics_subpackage", +]
      diff --git a/static/python-api/html/_modules/bittensor/utils/formatting.html b/static/python-api/html/_modules/bittensor/utils/formatting.html index 6fd7cda33f..728880140f 100644 --- a/static/python-api/html/_modules/bittensor/utils/formatting.html +++ b/static/python-api/html/_modules/bittensor/utils/formatting.html @@ -175,7 +175,6 @@
    1180. bittensor.utils.easy_imports
    1181. bittensor.utils.formatting
    1182. bittensor.utils.liquidity
    1183. -
    1184. bittensor.utils.mock
    1185. bittensor.utils.networking
    1186. bittensor.utils.registration
    1187. bittensor.utils.subnets
    1188. diff --git a/static/python-api/html/_modules/bittensor/utils/liquidity.html b/static/python-api/html/_modules/bittensor/utils/liquidity.html new file mode 100644 index 0000000000..e3bda802a0 --- /dev/null +++ b/static/python-api/html/_modules/bittensor/utils/liquidity.html @@ -0,0 +1,584 @@ + + + + + + + + + + bittensor.utils.liquidity — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + +
      +

      + +
      +
      + +
      +
      +
      + + + + +
      + +

      Source code for bittensor.utils.liquidity

      +"""
      +This module provides utilities for managing liquidity positions and price conversions in the Bittensor network. The
      +module handles conversions between TAO and Alpha tokens while maintaining precise calculations for liquidity
      +provisioning and fee distribution.
      +"""
      +
      +import math
      +from typing import Any
      +from dataclasses import dataclass
      +
      +from bittensor.utils.balance import Balance, fixed_to_float
      +
      +# These three constants are unchangeable at the level of Uniswap math
      +MIN_TICK = -887272
      +MAX_TICK = 887272
      +PRICE_STEP = 1.0001
      +
      +
      +
      +[docs] +@dataclass +class LiquidityPosition: + id: int + price_low: Balance # RAO + price_high: Balance # RAO + liquidity: Balance # TAO + ALPHA (sqrt by TAO balance * Alpha Balance -> math under the hood) + fees_tao: Balance # RAO + fees_alpha: Balance # RAO + netuid: int + +
      +[docs] + def to_token_amounts( + self, current_subnet_price: Balance + ) -> tuple[Balance, Balance]: + """Convert a position to token amounts. + + Arguments: + current_subnet_price: current subnet price in Alpha. + + Returns: + tuple[int, int]: + Amount of Alpha in liquidity + Amount of TAO in liquidity + + Liquidity is a combination of TAO and Alpha depending on the price of the subnet at the moment. + """ + sqrt_price_low = math.sqrt(self.price_low) + sqrt_price_high = math.sqrt(self.price_high) + sqrt_current_subnet_price = math.sqrt(current_subnet_price) + + if sqrt_current_subnet_price < sqrt_price_low: + amount_alpha = self.liquidity * (1 / sqrt_price_low - 1 / sqrt_price_high) + amount_tao = 0 + elif sqrt_current_subnet_price > sqrt_price_high: + amount_alpha = 0 + amount_tao = self.liquidity * (sqrt_price_high - sqrt_price_low) + else: + amount_alpha = self.liquidity * ( + 1 / sqrt_current_subnet_price - 1 / sqrt_price_high + ) + amount_tao = self.liquidity * (sqrt_current_subnet_price - sqrt_price_low) + return Balance.from_rao(int(amount_alpha), self.netuid), Balance.from_rao( + int(amount_tao) + )
      +
      + + + +
      +[docs] +def price_to_tick(price: float) -> int: + """Converts a float price to the nearest Uniswap V3 tick index.""" + if price <= 0: + raise ValueError(f"Price must be positive, got `{price}`.") + + tick = int(math.log(price) / math.log(PRICE_STEP)) + + if not (MIN_TICK <= tick <= MAX_TICK): + raise ValueError( + f"Resulting tick {tick} is out of allowed range ({MIN_TICK} to {MAX_TICK})" + ) + return tick
      + + + +
      +[docs] +def tick_to_price(tick: int) -> float: + """Convert an integer Uniswap V3 tick index to float price.""" + if not (MIN_TICK <= tick <= MAX_TICK): + raise ValueError("Tick is out of allowed range") + return PRICE_STEP**tick
      + + + +
      +[docs] +def get_fees( + current_tick: int, + tick: dict, + tick_index: int, + quote: bool, + global_fees_tao: float, + global_fees_alpha: float, + above: bool, +) -> float: + """Returns the liquidity fee.""" + tick_fee_key = "fees_out_tao" if quote else "fees_out_alpha" + tick_fee_value = fixed_to_float(tick.get(tick_fee_key)) + global_fee_value = global_fees_tao if quote else global_fees_alpha + + if above: + return ( + global_fee_value - tick_fee_value + if tick_index <= current_tick + else tick_fee_value + ) + return ( + tick_fee_value + if tick_index <= current_tick + else global_fee_value - tick_fee_value + )
      + + + +
      +[docs] +def get_fees_in_range( + quote: bool, + global_fees_tao: float, + global_fees_alpha: float, + fees_below_low: float, + fees_above_high: float, +) -> float: + """Returns the liquidity fee value in a range.""" + global_fees = global_fees_tao if quote else global_fees_alpha + return global_fees - fees_below_low - fees_above_high
      + + + +# Calculate fees for a position +
      +[docs] +def calculate_fees( + position: dict[str, Any], + global_fees_tao: float, + global_fees_alpha: float, + tao_fees_below_low: float, + tao_fees_above_high: float, + alpha_fees_below_low: float, + alpha_fees_above_high: float, + netuid: int, +) -> tuple[Balance, Balance]: + fee_tao_agg = get_fees_in_range( + quote=True, + global_fees_tao=global_fees_tao, + global_fees_alpha=global_fees_alpha, + fees_below_low=tao_fees_below_low, + fees_above_high=tao_fees_above_high, + ) + + fee_alpha_agg = get_fees_in_range( + quote=False, + global_fees_tao=global_fees_tao, + global_fees_alpha=global_fees_alpha, + fees_below_low=alpha_fees_below_low, + fees_above_high=alpha_fees_above_high, + ) + + fee_tao = fee_tao_agg - fixed_to_float(position["fees_tao"]) + fee_alpha = fee_alpha_agg - fixed_to_float(position["fees_alpha"]) + liquidity_frac = position["liquidity"] + + fee_tao = liquidity_frac * fee_tao + fee_alpha = liquidity_frac * fee_alpha + + return Balance.from_rao(int(fee_tao)), Balance.from_rao(int(fee_alpha), netuid)
      + +
      + +
      + + + + + + +
      + +
      +
      +
      + +
      + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/utils/mock/subtensor_mock.html b/static/python-api/html/_modules/bittensor/utils/mock/subtensor_mock.html deleted file mode 100644 index 81f0f6174d..0000000000 --- a/static/python-api/html/_modules/bittensor/utils/mock/subtensor_mock.html +++ /dev/null @@ -1,1465 +0,0 @@ - - - - - - - - - - bittensor.utils.mock.subtensor_mock — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - - - - - - - - -
      - -
      - - - - - -
      -
      - - - - - - - - -
      - - - -
      - -
      -
      - -
      -
      - -
      - -
      - -
      - - -
      - -
      - -
      - - - - - - - - - - - - - - - - - - - -
      - -
      - -
      -
      - - - -
      -

      - -
      -
      - -
      -
      -
      - - - - -
      - -

      Source code for bittensor.utils.mock.subtensor_mock

      -from collections.abc import Mapping
      -from dataclasses import dataclass
      -from hashlib import sha256
      -from types import SimpleNamespace
      -from typing import Any, Optional, Union, TypedDict
      -from unittest.mock import MagicMock, patch
      -
      -from async_substrate_interface import SubstrateInterface
      -from bittensor_wallet import Wallet
      -
      -import bittensor.core.subtensor as subtensor_module
      -from bittensor.core.chain_data import (
      -    NeuronInfo,
      -    NeuronInfoLite,
      -    PrometheusInfo,
      -    AxonInfo,
      -)
      -from bittensor.core.errors import ChainQueryError
      -from bittensor.core.subtensor import Subtensor
      -from bittensor.core.types import AxonServeCallParams, PrometheusServeCallParams
      -from bittensor.utils import RAOPERTAO, u16_normalized_float
      -from bittensor.utils.balance import Balance
      -
      -# Mock Testing Constant
      -__GLOBAL_MOCK_STATE__ = {}
      -
      -
      -BlockNumber = int
      -
      -
      -
      -[docs] -class InfoDict(Mapping): -
      -[docs] - @classmethod - def default(cls): - raise NotImplementedError
      - - - def __getitem__(self, key): - return getattr(self, key) - - def __setitem__(self, key, value): - return setattr(self, key, value) - - def __iter__(self): - return iter(self.__dict__) - - def __len__(self): - return len(self.__dict__)
      - - - -
      -[docs] -@dataclass -class AxonInfoDict(InfoDict): - block: int - version: int - ip: int # integer representation of ip address - port: int - ip_type: int - protocol: int - placeholder1: int # placeholder for future use - placeholder2: int - -
      -[docs] - @classmethod - def default(cls): - return cls( - block=0, - version=0, - ip=0, - port=0, - ip_type=0, - protocol=0, - placeholder1=0, - placeholder2=0, - )
      -
      - - - -
      -[docs] -@dataclass -class PrometheusInfoDict(InfoDict): - block: int - version: int - ip: int # integer representation of ip address - port: int - ip_type: int - -
      -[docs] - @classmethod - def default(cls): - return cls(block=0, version=0, ip=0, port=0, ip_type=0)
      -
      - - - -
      -[docs] -@dataclass -class MockSubtensorValue: - value: Optional[Any]
      - - - -
      -[docs] -class MockMapResult: - records: Optional[list[tuple[MockSubtensorValue, MockSubtensorValue]]] - - def __init__( - self, - records: Optional[ - list[tuple[Union[Any, MockSubtensorValue], Union[Any, MockSubtensorValue]]] - ] = None, - ): - _records = [ - ( - ( - MockSubtensorValue(value=record[0]), - MockSubtensorValue(value=record[1]), - ) - # Make sure record is a tuple of MockSubtensorValue (dict with value attr) - if not ( - isinstance(record, tuple) - and all( - isinstance(item, dict) and hasattr(item, "value") - for item in record - ) - ) - else record - ) - for record in records - ] - - self.records = _records - - def __iter__(self): - return iter(self.records)
      - - - -
      -[docs] -class MockSystemState(TypedDict): - Account: dict[str, dict[int, int]] # address -> block -> balance
      - - - -
      -[docs] -class MockSubtensorState(TypedDict): - Rho: dict[int, dict[BlockNumber, int]] # netuid -> block -> rho - Kappa: dict[int, dict[BlockNumber, int]] # netuid -> block -> kappa - Difficulty: dict[int, dict[BlockNumber, int]] # netuid -> block -> difficulty - ImmunityPeriod: dict[ - int, dict[BlockNumber, int] - ] # netuid -> block -> immunity_period - ValidatorBatchSize: dict[ - int, dict[BlockNumber, int] - ] # netuid -> block -> validator_batch_size - Active: dict[int, dict[BlockNumber, bool]] # (netuid, uid), block -> active - Stake: dict[str, dict[str, dict[int, int]]] # (hotkey, coldkey) -> block -> stake - - Delegates: dict[str, dict[int, float]] # address -> block -> delegate_take - - NetworksAdded: dict[int, dict[BlockNumber, bool]] # netuid -> block -> added
      - - - -
      -[docs] -class MockChainState(TypedDict): - System: MockSystemState - SubtensorModule: MockSubtensorState
      - - - -
      -[docs] -class ReusableCoroutine: - def __init__(self, coroutine): - self.coroutine = coroutine - - def __await__(self): - return self.reset().__await__() - -
      -[docs] - def reset(self): - return self.coroutine()
      -
      - - - -async def _async_block(): - return 1 - - -
      -[docs] -class MockSubtensor(Subtensor): - """ - A Mock Subtensor class for running tests. - This should mock only methods that make queries to the chain. - e.g. We mock `Subtensor.query_subtensor` instead of all query methods. - - This class will also store a local (mock) state of the chain. - """ - - chain_state: MockChainState - block_number: int - -
      -[docs] - @classmethod - def reset(cls) -> None: - __GLOBAL_MOCK_STATE__.clear() - - _ = cls()
      - - -
      -[docs] - def setup(self) -> None: - if not hasattr(self, "chain_state") or getattr(self, "chain_state") is None: - self.chain_state = { - "System": {"Account": {}}, - "Balances": {"ExistentialDeposit": {0: 500}}, - "SubtensorModule": { - "NetworksAdded": {}, - "Rho": {}, - "Kappa": {}, - "Difficulty": {}, - "ImmunityPeriod": {}, - "ValidatorBatchSize": {}, - "ValidatorSequenceLength": {}, - "ValidatorEpochsPerReset": {}, - "ValidatorEpochLength": {}, - "MaxAllowedValidators": {}, - "MinAllowedWeights": {}, - "MaxWeightLimit": {}, - "SynergyScalingLawPower": {}, - "ScalingLawPower": {}, - "SubnetworkN": {}, - "MaxAllowedUids": {}, - "NetworkModality": {}, - "BlocksSinceLastStep": {}, - "Tempo": {}, - "NetworkConnect": {}, - "EmissionValues": {}, - "Burn": {}, - "Active": {}, - "Uids": {}, - "Keys": {}, - "Owner": {}, - "IsNetworkMember": {}, - "LastUpdate": {}, - "Rank": {}, - "Emission": {}, - "Incentive": {}, - "Consensus": {}, - "Trust": {}, - "ValidatorTrust": {}, - "Dividends": {}, - "PruningScores": {}, - "ValidatorPermit": {}, - "Weights": {}, - "Bonds": {}, - "Stake": {}, - "TotalStake": {0: 0}, - "TotalIssuance": {0: 0}, - "TotalHotkeyStake": {}, - "TotalColdkeyStake": {}, - "TxRateLimit": {0: 0}, # No limit - "Delegates": {}, - "Axons": {}, - "Prometheus": {}, - "SubnetOwner": {}, - "Commits": {}, - "AdjustmentAlpha": {}, - "BondsMovingAverage": {}, - }, - } - - self.block_number = 0 - - self.network = "mock" - self.chain_endpoint = "ws://mock_endpoint.bt" - self.substrate = MagicMock(autospec=SubstrateInterface)
      - - - def __init__(self, *args, **kwargs) -> None: - mock_substrate_interface = MagicMock(autospec=SubstrateInterface) - with patch.object( - subtensor_module, - "SubstrateInterface", - return_value=mock_substrate_interface, - ): - super().__init__() - self.__dict__ = __GLOBAL_MOCK_STATE__ - - if not hasattr(self, "chain_state") or getattr(self, "chain_state") is None: - self.setup() - -
      -[docs] - def get_block_hash(self, block: Optional[int] = None) -> str: - return "0x" + sha256(str(block).encode()).hexdigest()[:64]
      - - -
      -[docs] - def create_subnet(self, netuid: int) -> None: - subtensor_state = self.chain_state["SubtensorModule"] - if netuid not in subtensor_state["NetworksAdded"]: - # Per Subnet - subtensor_state["Rho"][netuid] = {} - subtensor_state["Rho"][netuid][0] = 10 - subtensor_state["Kappa"][netuid] = {} - subtensor_state["Kappa"][netuid][0] = 32_767 - subtensor_state["Difficulty"][netuid] = {} - subtensor_state["Difficulty"][netuid][0] = 10_000_000 - subtensor_state["ImmunityPeriod"][netuid] = {} - subtensor_state["ImmunityPeriod"][netuid][0] = 4096 - subtensor_state["ValidatorBatchSize"][netuid] = {} - subtensor_state["ValidatorBatchSize"][netuid][0] = 32 - subtensor_state["ValidatorSequenceLength"][netuid] = {} - subtensor_state["ValidatorSequenceLength"][netuid][0] = 256 - subtensor_state["ValidatorEpochsPerReset"][netuid] = {} - subtensor_state["ValidatorEpochsPerReset"][netuid][0] = 60 - subtensor_state["ValidatorEpochLength"][netuid] = {} - subtensor_state["ValidatorEpochLength"][netuid][0] = 100 - subtensor_state["MaxAllowedValidators"][netuid] = {} - subtensor_state["MaxAllowedValidators"][netuid][0] = 128 - subtensor_state["MinAllowedWeights"][netuid] = {} - subtensor_state["MinAllowedWeights"][netuid][0] = 1024 - subtensor_state["MaxWeightLimit"][netuid] = {} - subtensor_state["MaxWeightLimit"][netuid][0] = 1_000 - subtensor_state["SynergyScalingLawPower"][netuid] = {} - subtensor_state["SynergyScalingLawPower"][netuid][0] = 50 - subtensor_state["ScalingLawPower"][netuid] = {} - subtensor_state["ScalingLawPower"][netuid][0] = 50 - subtensor_state["SubnetworkN"][netuid] = {} - subtensor_state["SubnetworkN"][netuid][0] = 0 - subtensor_state["MaxAllowedUids"][netuid] = {} - subtensor_state["MaxAllowedUids"][netuid][0] = 4096 - subtensor_state["NetworkModality"][netuid] = {} - subtensor_state["NetworkModality"][netuid][0] = 0 - subtensor_state["BlocksSinceLastStep"][netuid] = {} - subtensor_state["BlocksSinceLastStep"][netuid][0] = 0 - subtensor_state["Tempo"][netuid] = {} - subtensor_state["Tempo"][netuid][0] = 99 - - # subtensor_state['NetworkConnect'][netuid] = {} - # subtensor_state['NetworkConnect'][netuid][0] = {} - subtensor_state["EmissionValues"][netuid] = {} - subtensor_state["EmissionValues"][netuid][0] = 0 - subtensor_state["Burn"][netuid] = {} - subtensor_state["Burn"][netuid][0] = 0 - subtensor_state["Commits"][netuid] = {} - - # Per-UID/Hotkey - - subtensor_state["Uids"][netuid] = {} - subtensor_state["Keys"][netuid] = {} - subtensor_state["Owner"][netuid] = {} - - subtensor_state["LastUpdate"][netuid] = {} - subtensor_state["Active"][netuid] = {} - subtensor_state["Rank"][netuid] = {} - subtensor_state["Emission"][netuid] = {} - subtensor_state["Incentive"][netuid] = {} - subtensor_state["Consensus"][netuid] = {} - subtensor_state["Trust"][netuid] = {} - subtensor_state["ValidatorTrust"][netuid] = {} - subtensor_state["Dividends"][netuid] = {} - subtensor_state["PruningScores"][netuid] = {} - subtensor_state["PruningScores"][netuid][0] = {} - subtensor_state["ValidatorPermit"][netuid] = {} - - subtensor_state["Weights"][netuid] = {} - subtensor_state["Bonds"][netuid] = {} - - subtensor_state["Axons"][netuid] = {} - subtensor_state["Prometheus"][netuid] = {} - - subtensor_state["NetworksAdded"][netuid] = {} - subtensor_state["NetworksAdded"][netuid][0] = True - - subtensor_state["AdjustmentAlpha"][netuid] = {} - subtensor_state["AdjustmentAlpha"][netuid][0] = 1000 - - subtensor_state["BondsMovingAverage"][netuid] = {} - subtensor_state["BondsMovingAverage"][netuid][0] = 1000 - else: - raise Exception("Subnet already exists")
      - - -
      -[docs] - def set_difficulty(self, netuid: int, difficulty: int) -> None: - subtensor_state = self.chain_state["SubtensorModule"] - if netuid not in subtensor_state["NetworksAdded"]: - raise Exception("Subnet does not exist") - - subtensor_state["Difficulty"][netuid][self.block_number] = difficulty
      - - - @staticmethod - def _convert_to_balance(balance: Union["Balance", float, int]) -> "Balance": - if isinstance(balance, float): - balance = Balance.from_tao(balance) - - if isinstance(balance, int): - balance = Balance.from_rao(balance) - - return balance - -
      -[docs] - def force_set_balance( - self, ss58_address: str, balance: Union["Balance", float, int] = Balance(0) - ) -> tuple[bool, Optional[str]]: - """ - Returns: - tuple[bool, Optional[str]]: (success, err_msg) - """ - balance = self._convert_to_balance(balance) - - if ss58_address not in self.chain_state["System"]["Account"]: - self.chain_state["System"]["Account"][ss58_address] = { - "data": {"free": {0: 0}} - } - - old_balance = self.get_balance(ss58_address, self.block_number) - diff = balance.rao - old_balance.rao - - # Update total issuance - self.chain_state["SubtensorModule"]["TotalIssuance"][self.block_number] = ( - self._get_most_recent_storage( - self.chain_state["SubtensorModule"]["TotalIssuance"] - ) - + diff - ) - - self.chain_state["System"]["Account"][ss58_address] = { - "data": {"free": {self.block_number: balance.rao}} - } - - return True, None
      - - - # Alias for force_set_balance - sudo_force_set_balance = force_set_balance - -
      -[docs] - def do_block_step(self) -> None: - self.block_number += 1 - - # Doesn't do epoch - subtensor_state = self.chain_state["SubtensorModule"] - for subnet in subtensor_state["NetworksAdded"]: - subtensor_state["BlocksSinceLastStep"][subnet][self.block_number] = ( - self._get_most_recent_storage( - subtensor_state["BlocksSinceLastStep"][subnet] - ) - + 1 - )
      - - - def _handle_type_default(self, name: str, params: list[object]) -> object: - defaults_mapping = { - "TotalStake": 0, - "TotalHotkeyStake": 0, - "TotalColdkeyStake": 0, - "Stake": 0, - } - - return defaults_mapping.get(name, None) - -
      -[docs] - def commit(self, wallet: "Wallet", netuid: int, data: str) -> None: - uid = self.get_uid_for_hotkey_on_subnet( - hotkey_ss58=wallet.hotkey.ss58_address, - netuid=netuid, - ) - if uid is None: - raise Exception("Neuron not found") - subtensor_state = self.chain_state["SubtensorModule"] - subtensor_state["Commits"][netuid].setdefault(self.block_number, {})[uid] = data
      - - -
      -[docs] - def get_commitment(self, netuid: int, uid: int, block: Optional[int] = None) -> str: - if block and self.block_number < block: - raise Exception("Cannot query block in the future") - block = block or self.block_number - - subtensor_state = self.chain_state["SubtensorModule"] - return subtensor_state["Commits"][netuid][block][uid]
      - - -
      -[docs] - def query_subtensor( - self, - name: str, - block: Optional[int] = None, - params: Optional[list[object]] = None, - ) -> MockSubtensorValue: - if params is None: - params = [] - if block: - if self.block_number < block: - raise Exception("Cannot query block in the future") - - else: - block = self.block_number - - state = self.chain_state["SubtensorModule"][name] - if state is not None: - # Use prefix - if len(params) > 0: - while state is not None and len(params) > 0: - state = state.get(params.pop(0), None) - if state is None: - return SimpleNamespace( - value=self._handle_type_default(name, params) - ) - - # Use block - state_at_block = state.get(block, None) - while state_at_block is None and block > 0: - block -= 1 - state_at_block = state.get(block, None) - if state_at_block is not None: - return SimpleNamespace(value=state_at_block) - - return SimpleNamespace(value=self._handle_type_default(name, params)) - else: - return SimpleNamespace(value=self._handle_type_default(name, params))
      - - -
      -[docs] - def query_map_subtensor( - self, - name: str, - block: Optional[int] = None, - params: Optional[list[object]] = None, - ) -> Optional[MockMapResult]: - """ - Note: Double map requires one param - """ - if params is None: - params = [] - if block: - if self.block_number < block: - raise Exception("Cannot query block in the future") - - else: - block = self.block_number - - state = self.chain_state["SubtensorModule"][name] - if state is not None: - # Use prefix - if len(params) > 0: - while state is not None and len(params) > 0: - state = state.get(params.pop(0), None) - if state is None: - return MockMapResult([]) - - # Check if single map or double map - if len(state.keys()) == 0: - return MockMapResult([]) - - inner = list(state.values())[0] - # Should have at least one key - if len(inner.keys()) == 0: - raise Exception("Invalid state") - - # Check if double map - if isinstance(list(inner.values())[0], dict): - # is double map - raise ChainQueryError("Double map requires one param") - - # Iterate over each key and add value to list, max at block - records = [] - for key in state: - result = self._get_most_recent_storage(state[key], block) - if result is None: - continue # Skip if no result for this key at `block` or earlier - - records.append((key, result)) - - return MockMapResult(records) - else: - return MockMapResult([])
      - - -
      -[docs] - def query_constant( - self, module_name: str, constant_name: str, block: Optional[int] = None - ) -> Optional[object]: - if block: - if self.block_number < block: - raise Exception("Cannot query block in the future") - - else: - block = self.block_number - - state: Optional[dict] = self.chain_state.get(module_name, None) - if state is not None: - if constant_name in state: - state = state[constant_name] - else: - return None - - # Use block - state_at_block = self._get_most_recent_storage(state, block) - if state_at_block is not None: - return SimpleNamespace(value=state_at_block) - - return state_at_block["data"]["free"] # Can be None - else: - return None
      - - -
      -[docs] - def get_current_block(self) -> int: - return self.block_number
      - - - # ==== Balance RPC methods ==== - -
      -[docs] - def get_balance(self, address: str, block: int = None) -> "Balance": - if block: - if self.block_number < block: - raise Exception("Cannot query block in the future") - - else: - block = self.block_number - - state = self.chain_state["System"]["Account"] - if state is not None: - if address in state: - state = state[address] - else: - return Balance(0) - - # Use block - balance_state = state["data"]["free"] - state_at_block = self._get_most_recent_storage( - balance_state, block - ) # Can be None - if state_at_block is not None: - bal_as_int = state_at_block - return Balance.from_rao(bal_as_int) - else: - return Balance(0) - else: - return Balance(0)
      - - - # ==== Neuron RPC methods ==== - -
      -[docs] - def neuron_for_uid( - self, uid: int, netuid: int, block: Optional[int] = None - ) -> Optional[NeuronInfo]: - if uid is None: - return NeuronInfo.get_null_neuron() - - if block: - if self.block_number < block: - raise Exception("Cannot query block in the future") - - else: - block = self.block_number - - if netuid not in self.chain_state["SubtensorModule"]["NetworksAdded"]: - return None - - neuron_info = self._neuron_subnet_exists(uid, netuid, block) - if neuron_info is None: - return None - - else: - return neuron_info
      - - -
      -[docs] - def neurons(self, netuid: int, block: Optional[int] = None) -> list[NeuronInfo]: - if netuid not in self.chain_state["SubtensorModule"]["NetworksAdded"]: - raise Exception("Subnet does not exist") - - neurons = [] - subnet_n = self._get_most_recent_storage( - self.chain_state["SubtensorModule"]["SubnetworkN"][netuid], block - ) - for uid in range(subnet_n): - neuron_info = self.neuron_for_uid(uid, netuid, block) - if neuron_info is not None: - neurons.append(neuron_info) - - return neurons
      - - - @staticmethod - def _get_most_recent_storage( - storage: dict[BlockNumber, Any], block_number: Optional[int] = None - ) -> Any: - if block_number is None: - items = list(storage.items()) - items.sort(key=lambda x: x[0], reverse=True) - if len(items) == 0: - return None - - return items[0][1] - - else: - while block_number >= 0: - if block_number in storage: - return storage[block_number] - - block_number -= 1 - - return None - - def _get_axon_info( - self, netuid: int, hotkey: str, block: Optional[int] = None - ) -> AxonInfoDict: - # Axons [netuid][hotkey][block_number] - subtensor_state = self.chain_state["SubtensorModule"] - if netuid not in subtensor_state["Axons"]: - return AxonInfoDict.default() - - if hotkey not in subtensor_state["Axons"][netuid]: - return AxonInfoDict.default() - - result = self._get_most_recent_storage( - subtensor_state["Axons"][netuid][hotkey], block - ) - if not result: - return AxonInfoDict.default() - - return result - - def _get_prometheus_info( - self, netuid: int, hotkey: str, block: Optional[int] = None - ) -> PrometheusInfoDict: - subtensor_state = self.chain_state["SubtensorModule"] - if netuid not in subtensor_state["Prometheus"]: - return PrometheusInfoDict.default() - - if hotkey not in subtensor_state["Prometheus"][netuid]: - return PrometheusInfoDict.default() - - result = self._get_most_recent_storage( - subtensor_state["Prometheus"][netuid][hotkey], block - ) - if not result: - return PrometheusInfoDict.default() - - return result - - def _neuron_subnet_exists( - self, uid: int, netuid: int, block: Optional[int] = None - ) -> Optional[NeuronInfo]: - subtensor_state = self.chain_state["SubtensorModule"] - if netuid not in subtensor_state["NetworksAdded"]: - return None - - if self._get_most_recent_storage(subtensor_state["SubnetworkN"][netuid]) <= uid: - return None - - hotkey = self._get_most_recent_storage(subtensor_state["Keys"][netuid][uid]) - if hotkey is None: - return None - - axon_info_ = self._get_axon_info(netuid, hotkey, block) - - prometheus_info = self._get_prometheus_info(netuid, hotkey, block) - - coldkey = self._get_most_recent_storage(subtensor_state["Owner"][hotkey], block) - active = self._get_most_recent_storage( - subtensor_state["Active"][netuid][uid], block - ) - rank = self._get_most_recent_storage( - subtensor_state["Rank"][netuid][uid], block - ) - emission = self._get_most_recent_storage( - subtensor_state["Emission"][netuid][uid], block - ) - incentive = self._get_most_recent_storage( - subtensor_state["Incentive"][netuid][uid], block - ) - consensus = self._get_most_recent_storage( - subtensor_state["Consensus"][netuid][uid], block - ) - trust = self._get_most_recent_storage( - subtensor_state["Trust"][netuid][uid], block - ) - validator_trust = self._get_most_recent_storage( - subtensor_state["ValidatorTrust"][netuid][uid], block - ) - dividends = self._get_most_recent_storage( - subtensor_state["Dividends"][netuid][uid], block - ) - pruning_score = self._get_most_recent_storage( - subtensor_state["PruningScores"][netuid][uid], block - ) - last_update = self._get_most_recent_storage( - subtensor_state["LastUpdate"][netuid][uid], block - ) - validator_permit = self._get_most_recent_storage( - subtensor_state["ValidatorPermit"][netuid][uid], block - ) - - weights = self._get_most_recent_storage( - subtensor_state["Weights"][netuid][uid], block - ) - bonds = self._get_most_recent_storage( - subtensor_state["Bonds"][netuid][uid], block - ) - - stake_dict = { - coldkey: Balance.from_rao( - self._get_most_recent_storage( - subtensor_state["Stake"][hotkey][coldkey], block - ) - ) - for coldkey in subtensor_state["Stake"][hotkey] - } - - stake = sum(stake_dict.values()) - - weights = [[int(weight[0]), int(weight[1])] for weight in weights] - bonds = [[int(bond[0]), int(bond[1])] for bond in bonds] - rank = u16_normalized_float(rank) - emission = emission / RAOPERTAO - incentive = u16_normalized_float(incentive) - consensus = u16_normalized_float(consensus) - trust = u16_normalized_float(trust) - validator_trust = u16_normalized_float(validator_trust) - dividends = u16_normalized_float(dividends) - prometheus_info = PrometheusInfo.from_dict(prometheus_info) - axon_info_ = AxonInfo.from_neuron_info( - {"hotkey": hotkey, "coldkey": coldkey, "axon_info": axon_info_} - ) - - neuron_info = NeuronInfo( - hotkey=hotkey, - coldkey=coldkey, - uid=uid, - netuid=netuid, - active=active, - rank=rank, - emission=emission, - incentive=incentive, - consensus=consensus, - trust=trust, - validator_trust=validator_trust, - dividends=dividends, - pruning_score=pruning_score, - last_update=last_update, - validator_permit=validator_permit, - stake=stake, - stake_dict=stake_dict, - total_stake=stake, - prometheus_info=prometheus_info, - axon_info=axon_info_, - weights=weights, - bonds=bonds, - is_null=False, - ) - - return neuron_info - -
      -[docs] - def neurons_lite( - self, netuid: int, block: Optional[int] = None - ) -> list[NeuronInfoLite]: - if netuid not in self.chain_state["SubtensorModule"]["NetworksAdded"]: - raise Exception("Subnet does not exist") - - neurons = [] - subnet_n = self._get_most_recent_storage( - self.chain_state["SubtensorModule"]["SubnetworkN"][netuid] - ) - for uid in range(subnet_n): - neuron_info = self.neuron_for_uid_lite(uid, netuid, block) - if neuron_info is not None: - neurons.append(neuron_info) - - return neurons
      - - -
      -[docs] - def neuron_for_uid_lite( - self, uid: int, netuid: int, block: Optional[int] = None - ) -> Optional[NeuronInfoLite]: - if uid is None: - return NeuronInfoLite.get_null_neuron() - - if block: - if self.block_number < block: - raise Exception("Cannot query block in the future") - - else: - block = self.block_number - - if netuid not in self.chain_state["SubtensorModule"]["NetworksAdded"]: - return None - - neuron_info = self._neuron_subnet_exists(uid, netuid, block) - if neuron_info is None: - # TODO Why does this return None here but a null neuron earlier? - return None - - else: - return NeuronInfoLite( - hotkey=neuron_info.hotkey, - coldkey=neuron_info.coldkey, - uid=neuron_info.uid, - netuid=neuron_info.netuid, - active=neuron_info.active, - stake=neuron_info.stake, - stake_dict=neuron_info.stake_dict, - total_stake=neuron_info.total_stake, - rank=neuron_info.rank, - emission=neuron_info.emission, - incentive=neuron_info.incentive, - consensus=neuron_info.consensus, - trust=neuron_info.trust, - validator_trust=neuron_info.validator_trust, - dividends=neuron_info.dividends, - last_update=neuron_info.last_update, - validator_permit=neuron_info.validator_permit, - prometheus_info=neuron_info.prometheus_info, - axon_info=neuron_info.axon_info, - pruning_score=neuron_info.pruning_score, - is_null=neuron_info.is_null, - )
      - - -
      -[docs] - def get_transfer_fee( - self, wallet: "Wallet", dest: str, value: Union["Balance", float, int] - ) -> "Balance": - return Balance(700)
      - - -
      -[docs] - def do_transfer( - self, - wallet: "Wallet", - dest: str, - transfer_balance: "Balance", - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - ) -> tuple[bool, Optional[str], Optional[str]]: - bal = self.get_balance(wallet.coldkeypub.ss58_address) - dest_bal = self.get_balance(dest) - transfer_fee = self.get_transfer_fee(wallet, dest, transfer_balance) - - existential_deposit = self.get_existential_deposit() - - if bal < transfer_balance + existential_deposit + transfer_fee: - raise Exception("Insufficient balance") - - # Remove from the free balance - self.chain_state["System"]["Account"][wallet.coldkeypub.ss58_address]["data"][ - "free" - ][self.block_number] = (bal - transfer_balance - transfer_fee).rao - - # Add to the free balance - if dest not in self.chain_state["System"]["Account"]: - self.chain_state["System"]["Account"][dest] = {"data": {"free": {}}} - - self.chain_state["System"]["Account"][dest]["data"]["free"][ - self.block_number - ] = (dest_bal + transfer_balance).rao - - return True, None, None
      - - -
      -[docs] - @staticmethod - def min_required_stake(): - """ - As the minimum required stake may change, this method allows us to dynamically - update the amount in the mock without updating the tests - """ - # valid minimum threshold as of 2024/05/01 - return 100_000_000 # RAO
      - - -
      -[docs] - def do_serve_prometheus( - self, - wallet: "Wallet", - call_params: "PrometheusServeCallParams", - wait_for_inclusion: bool = False, - wait_for_finalization: bool = True, - ) -> tuple[bool, Optional[str]]: - return True, None
      - - -
      -[docs] - def do_set_weights( - self, - wallet: "Wallet", - netuid: int, - uids: int, - vals: list[int], - version_key: int, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = True, - ) -> tuple[bool, Optional[str]]: - return True, None
      - - -
      -[docs] - def do_serve_axon( - self, - wallet: "Wallet", - call_params: "AxonServeCallParams", - wait_for_inclusion: bool = False, - wait_for_finalization: bool = True, - ) -> tuple[bool, Optional[str]]: - return True, None
      -
      - -
      - -
      - - - - - - -
      - -
      -
      -
      - -
      - - - - -
      -
      - - -
      - - -
      -
      -
      - - - - - -
      -
      - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/utils/networking.html b/static/python-api/html/_modules/bittensor/utils/networking.html index 486775c47d..39c931e821 100644 --- a/static/python-api/html/_modules/bittensor/utils/networking.html +++ b/static/python-api/html/_modules/bittensor/utils/networking.html @@ -175,7 +175,6 @@
    1189. bittensor.utils.easy_imports
    1190. bittensor.utils.formatting
    1191. bittensor.utils.liquidity
    1192. -
    1193. bittensor.utils.mock
    1194. bittensor.utils.networking
    1195. bittensor.utils.registration
    1196. bittensor.utils.subnets
    1197. diff --git a/static/python-api/html/_modules/bittensor/utils/registration/async_pow.html b/static/python-api/html/_modules/bittensor/utils/registration/async_pow.html index d548cd377b..80df7ed154 100644 --- a/static/python-api/html/_modules/bittensor/utils/registration/async_pow.html +++ b/static/python-api/html/_modules/bittensor/utils/registration/async_pow.html @@ -175,7 +175,6 @@
    1198. bittensor.utils.easy_imports
    1199. bittensor.utils.formatting
    1200. bittensor.utils.liquidity
    1201. -
    1202. bittensor.utils.mock
    1203. bittensor.utils.networking
    1204. bittensor.utils.registration
    1205. bittensor.utils.subnets
    1206. diff --git a/static/python-api/html/_modules/bittensor/utils/registration/pow.html b/static/python-api/html/_modules/bittensor/utils/registration/pow.html index 035eba1843..ee99b43184 100644 --- a/static/python-api/html/_modules/bittensor/utils/registration/pow.html +++ b/static/python-api/html/_modules/bittensor/utils/registration/pow.html @@ -175,7 +175,6 @@
    1207. bittensor.utils.easy_imports
    1208. bittensor.utils.formatting
    1209. bittensor.utils.liquidity
    1210. -
    1211. bittensor.utils.mock
    1212. bittensor.utils.networking
    1213. bittensor.utils.registration
    1214. bittensor.utils.subnets
    1215. @@ -354,8 +353,6 @@

      Source code for bittensor.utils.registration.pow

      import numpy from Crypto.Hash import keccak -from rich import console as rich_console, status as rich_status -from rich.console import Console from bittensor.utils.btlogging import logging from bittensor.utils.formatting import get_human_readable, millify @@ -898,16 +895,61 @@

      Source code for bittensor.utils.registration.pow

      +
      +[docs] +class Status: + def __init__(self, status: str): + self._status = status + +
      +[docs] + def start(self): + pass
      + + +
      +[docs] + def stop(self): + pass
      + + +
      +[docs] + def update(self, status: str): + self._status = status
      +
      + + + +
      +[docs] +class Console: +
      +[docs] + @staticmethod + def status(status: str): + return Status(status)
      + + +
      +[docs] + @staticmethod + def log(text: str): + print(text)
      +
      + + +
      [docs] class RegistrationStatisticsLogger: """Logs statistics for a registration.""" - status: Optional[rich_status.Status] + status: Optional["Status"] def __init__( self, - console: Optional[rich_console.Console] = None, + console: Optional["Console"] = None, output_in_place: bool = True, ) -> None: if console is None: diff --git a/static/python-api/html/_modules/bittensor/utils/registration/register_cuda.html b/static/python-api/html/_modules/bittensor/utils/registration/register_cuda.html index 275aa43f6e..ce974c6580 100644 --- a/static/python-api/html/_modules/bittensor/utils/registration/register_cuda.html +++ b/static/python-api/html/_modules/bittensor/utils/registration/register_cuda.html @@ -175,7 +175,6 @@
    1216. bittensor.utils.easy_imports
    1217. bittensor.utils.formatting
    1218. bittensor.utils.liquidity
    1219. -
    1220. bittensor.utils.mock
    1221. bittensor.utils.networking
    1222. bittensor.utils.registration
    1223. bittensor.utils.subnets
    1224. diff --git a/static/python-api/html/_modules/bittensor/utils/subnets.html b/static/python-api/html/_modules/bittensor/utils/subnets.html index dc50d6d9dd..7808de498e 100644 --- a/static/python-api/html/_modules/bittensor/utils/subnets.html +++ b/static/python-api/html/_modules/bittensor/utils/subnets.html @@ -175,7 +175,6 @@
    1225. bittensor.utils.easy_imports
    1226. bittensor.utils.formatting
    1227. bittensor.utils.liquidity
    1228. -
    1229. bittensor.utils.mock
    1230. bittensor.utils.networking
    1231. bittensor.utils.registration
    1232. bittensor.utils.subnets
    1233. diff --git a/static/python-api/html/_modules/bittensor/utils/substrate_utils/hasher.html b/static/python-api/html/_modules/bittensor/utils/substrate_utils/hasher.html index 135571dd8e..1a1401feff 100644 --- a/static/python-api/html/_modules/bittensor/utils/substrate_utils/hasher.html +++ b/static/python-api/html/_modules/bittensor/utils/substrate_utils/hasher.html @@ -175,7 +175,6 @@
    1234. bittensor.utils.easy_imports
    1235. bittensor.utils.formatting
    1236. bittensor.utils.liquidity
    1237. -
    1238. bittensor.utils.mock
    1239. bittensor.utils.networking
    1240. bittensor.utils.registration
    1241. bittensor.utils.subnets
    1242. diff --git a/static/python-api/html/_modules/bittensor/utils/substrate_utils/storage.html b/static/python-api/html/_modules/bittensor/utils/substrate_utils/storage.html index 2fe29c6d4b..9289d6ad63 100644 --- a/static/python-api/html/_modules/bittensor/utils/substrate_utils/storage.html +++ b/static/python-api/html/_modules/bittensor/utils/substrate_utils/storage.html @@ -175,7 +175,6 @@
    1243. bittensor.utils.easy_imports
    1244. bittensor.utils.formatting
    1245. bittensor.utils.liquidity
    1246. -
    1247. bittensor.utils.mock
    1248. bittensor.utils.networking
    1249. bittensor.utils.registration
    1250. bittensor.utils.subnets
    1251. diff --git a/static/python-api/html/_modules/bittensor/utils/weight_utils.html b/static/python-api/html/_modules/bittensor/utils/weight_utils.html index 83f413fe9b..4314372f90 100644 --- a/static/python-api/html/_modules/bittensor/utils/weight_utils.html +++ b/static/python-api/html/_modules/bittensor/utils/weight_utils.html @@ -175,7 +175,6 @@
    1252. bittensor.utils.easy_imports
    1253. bittensor.utils.formatting
    1254. bittensor.utils.liquidity
    1255. -
    1256. bittensor.utils.mock
    1257. bittensor.utils.networking
    1258. bittensor.utils.registration
    1259. bittensor.utils.subnets
    1260. @@ -599,7 +598,6 @@

      Source code for bittensor.utils.weight_utils

          """
       
           logging.debug("process_weights_for_netuid()")
      -    logging.debug(f"weights: {weights}")
           logging.debug(f"netuid {netuid}")
           logging.debug(f"subtensor: {subtensor}")
           logging.debug(f"metagraph: {metagraph}")
      @@ -608,6 +606,51 @@ 

      Source code for bittensor.utils.weight_utils

      if metagraph is None:
               metagraph = subtensor.metagraph(netuid)
       
      +    return process_weights(
      +        uids=uids,
      +        weights=weights,
      +        num_neurons=metagraph.n,
      +        min_allowed_weights=subtensor.min_allowed_weights(netuid=netuid),
      +        max_weight_limit=subtensor.max_weight_limit(netuid=netuid),
      +        exclude_quantile=exclude_quantile,
      +    )
      + + + +
      +[docs] +def process_weights( + uids: Union[NDArray[np.int64], "torch.Tensor"], + weights: Union[NDArray[np.float32], "torch.Tensor"], + num_neurons: int, + min_allowed_weights: Optional[int], + max_weight_limit: Optional[float], + exclude_quantile: int = 0, +) -> Union[ + tuple["torch.Tensor", "torch.FloatTensor"], + tuple[NDArray[np.int64], NDArray[np.float32]], +]: + """ + Processes weight tensors for a given weights and UID arrays and hyperparams, applying constraints + and normalization based on the subtensor and metagraph data. This function can handle both NumPy arrays and PyTorch + tensors. + + Args: + uids (Union[NDArray[np.int64], "torch.Tensor"]): Array of unique identifiers of the neurons. + weights (Union[NDArray[np.float32], "torch.Tensor"]): Array of weights associated with the user IDs. + num_neurons (int): The number of neurons in the network. + min_allowed_weights (Optional[int]): Subnet hyperparam Minimum number of allowed weights. + max_weight_limit (Optional[float]): Subnet hyperparam Maximum weight limit. + exclude_quantile (int): Quantile threshold for excluding lower weights. Defaults to ``0``. + + Returns: + Union[tuple["torch.Tensor", "torch.FloatTensor"], tuple[NDArray[np.int64], NDArray[np.float32]]]: tuple + containing the array of user IDs and the corresponding normalized weights. The data type of the return + matches the type of the input weights (NumPy or PyTorch). + """ + logging.debug("process_weights()") + logging.debug(f"weights: {weights}") + # Cast weights to floats. if use_torch(): if not isinstance(weights, torch.FloatTensor): @@ -619,8 +662,6 @@

      Source code for bittensor.utils.weight_utils

      # Network configuration parameters from an subtensor.
           # These parameters determine the range of acceptable weights for each neuron.
           quantile = exclude_quantile / U16_MAX
      -    min_allowed_weights = subtensor.min_allowed_weights(netuid=netuid)
      -    max_weight_limit = subtensor.max_weight_limit(netuid=netuid)
           logging.debug(f"quantile: {quantile}")
           logging.debug(f"min_allowed_weights: {min_allowed_weights}")
           logging.debug(f"max_weight_limit: {max_weight_limit}")
      @@ -634,12 +675,12 @@ 

      Source code for bittensor.utils.weight_utils

      non_zero_weight_uids = uids[non_zero_weight_idx]
           non_zero_weights = weights[non_zero_weight_idx]
           nzw_size = non_zero_weights.numel() if use_torch() else non_zero_weights.size
      -    if nzw_size == 0 or metagraph.n < min_allowed_weights:
      +    if nzw_size == 0 or num_neurons < min_allowed_weights:
               logging.warning("No non-zero weights returning all ones.")
               final_weights = (
      -            torch.ones((metagraph.n)).to(metagraph.n) / metagraph.n
      +            torch.ones(num_neurons).to(num_neurons) / num_neurons
                   if use_torch()
      -            else np.ones((metagraph.n), dtype=np.int64) / metagraph.n
      +            else np.ones(num_neurons, dtype=np.int64) / num_neurons
               )
               logging.debug(f"final_weights: {final_weights}")
               final_weights_count = (
      @@ -657,11 +698,11 @@ 

      Source code for bittensor.utils.weight_utils

      logging.warning(
                   "No non-zero weights less then min allowed weight, returning all ones."
               )
      -        # ( const ): Should this be np.zeros( ( metagraph.n ) ) to reset everyone to build up weight?
      +        # ( const ): Should this be np.zeros( ( num_neurons ) ) to reset everyone to build up weight?
               weights = (
      -            torch.ones((metagraph.n)).to(metagraph.n) * 1e-5
      +            torch.ones(num_neurons).to(num_neurons) * 1e-5
                   if use_torch()
      -            else np.ones((metagraph.n), dtype=np.int64) * 1e-5
      +            else np.ones(num_neurons, dtype=np.int64) * 1e-5
               )  # creating minimum even non-zero weights
               weights[non_zero_weight_idx] += non_zero_weights
               logging.debug(f"final_weights: {weights}")
      @@ -759,6 +800,51 @@ 

      Source code for bittensor.utils.weight_utils

      return commit_hash
      + + +
      +[docs] +def convert_uids_and_weights( + uids: Union[NDArray[np.int64], list], + weights: Union[NDArray[np.float32], list], +) -> tuple[np.ndarray, np.ndarray]: + """Converts netuids and weights to numpy arrays if they are not already. + + Arguments: + uids (Union[NDArray[np.int64], list]): The uint64 uids of destination neurons. + weights (Union[NDArray[np.float32], list]): The weights to set. These must be floated. + + Returns: + tuple[ndarray, ndarray]: Bytes converted netuids and weights. + """ + if isinstance(uids, list): + uids = np.array(uids, dtype=np.int64) + if isinstance(weights, list): + weights = np.array(weights, dtype=np.float32) + return uids, weights
      + + + +
      +[docs] +def convert_and_normalize_weights_and_uids( + uids: Union[NDArray[np.int64], "torch.LongTensor", list], + weights: Union[NDArray[np.float32], "torch.FloatTensor", list], +) -> tuple[list[int], list[int]]: + """Converts weights and uids to numpy arrays if they are not already. + + Arguments: + uids (Union[NDArray[np.int64], torch.LongTensor, list]): The ``uint64`` uids of destination neurons. + weights (Union[NDArray[np.float32], torch.FloatTensor, list]): The weights to set. These must be ``float`` s + and correspond to the passed ``uid`` s. + + Returns: + weight_uids, weight_vals: Bytes converted weights and uids + """ + + # Reformat and normalize and return + return convert_weights_and_uids_for_emit(*convert_uids_and_weights(uids, weights))
      +
      diff --git a/static/python-api/html/_modules/index.html b/static/python-api/html/_modules/index.html index c06bb01a75..ff3ff70f19 100644 --- a/static/python-api/html/_modules/index.html +++ b/static/python-api/html/_modules/index.html @@ -175,7 +175,6 @@
    1261. bittensor.utils.easy_imports
    1262. bittensor.utils.formatting
    1263. bittensor.utils.liquidity
    1264. -
    1265. bittensor.utils.mock
    1266. bittensor.utils.networking
    1267. bittensor.utils.registration
    1268. bittensor.utils.subnets
    1269. @@ -362,32 +361,53 @@

      All modules for which code is available

    1270. bittensor.core.config
    1271. bittensor.core.dendrite
    1272. bittensor.core.errors
    1273. +
    1274. bittensor.core.extrinsics.asyncex.children
    1275. bittensor.core.extrinsics.asyncex.commit_reveal
    1276. +
    1277. bittensor.core.extrinsics.asyncex.liquidity
    1278. bittensor.core.extrinsics.asyncex.move_stake
    1279. bittensor.core.extrinsics.asyncex.registration
    1280. bittensor.core.extrinsics.asyncex.root
    1281. bittensor.core.extrinsics.asyncex.serving
    1282. bittensor.core.extrinsics.asyncex.staking
    1283. +
    1284. bittensor.core.extrinsics.asyncex.start_call
    1285. +
    1286. bittensor.core.extrinsics.asyncex.take
    1287. bittensor.core.extrinsics.asyncex.transfer
    1288. bittensor.core.extrinsics.asyncex.unstaking
    1289. bittensor.core.extrinsics.asyncex.weights
    1290. +
    1291. bittensor.core.extrinsics.children
    1292. bittensor.core.extrinsics.commit_reveal
    1293. bittensor.core.extrinsics.commit_weights
    1294. +
    1295. bittensor.core.extrinsics.liquidity
    1296. bittensor.core.extrinsics.move_stake
    1297. bittensor.core.extrinsics.registration
    1298. bittensor.core.extrinsics.root
    1299. bittensor.core.extrinsics.serving
    1300. bittensor.core.extrinsics.set_weights
    1301. bittensor.core.extrinsics.staking
    1302. +
    1303. bittensor.core.extrinsics.start_call
    1304. +
    1305. bittensor.core.extrinsics.take
    1306. bittensor.core.extrinsics.transfer
    1307. bittensor.core.extrinsics.unstaking
    1308. bittensor.core.extrinsics.utils
    1309. bittensor.core.metagraph
    1310. bittensor.core.stream
    1311. bittensor.core.subtensor
    1312. -
    1313. bittensor.core.synapse
    1314. +
    1315. bittensor.core.subtensor_api
    1316. +
    1317. bittensor.core.synapse
    1318. bittensor.core.tensor
    1319. bittensor.core.threadpool
    1320. +
    1321. bittensor.core.timelock
    1322. bittensor.core.types
    1323. bittensor.utils
    1324. builtins
    1325. -
    1326. rich.console
    1327. scalecodec.utils.ss58
    1328. diff --git a/static/python-api/html/_modules/rich/console.html b/static/python-api/html/_modules/rich/console.html deleted file mode 100644 index 7dc4524db7..0000000000 --- a/static/python-api/html/_modules/rich/console.html +++ /dev/null @@ -1,3076 +0,0 @@ - - - - - - - - - - rich.console — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - - - - - - - - -
      - -
      - - - - - -
      -
      - - - - - - - - -
      - - - -
      - -
      -
      - -
      -
      - -
      - -
      - -
      - - -
      - -
      - -
      - - - - - - - - - - - - - - - - - - - -
      - -
      - -
      -
      - - - -
      -

      - -
      -
      - -
      -
      -
      - - - - -
      - -

      Source code for rich.console

      -import inspect
      -import os
      -import sys
      -import threading
      -import zlib
      -from abc import ABC, abstractmethod
      -from dataclasses import dataclass, field
      -from datetime import datetime
      -from functools import wraps
      -from getpass import getpass
      -from html import escape
      -from inspect import isclass
      -from itertools import islice
      -from math import ceil
      -from time import monotonic
      -from types import FrameType, ModuleType, TracebackType
      -from typing import (
      -    IO,
      -    TYPE_CHECKING,
      -    Any,
      -    Callable,
      -    Dict,
      -    Iterable,
      -    List,
      -    Mapping,
      -    NamedTuple,
      -    Optional,
      -    TextIO,
      -    Tuple,
      -    Type,
      -    Union,
      -    cast,
      -)
      -
      -from rich._null_file import NULL_FILE
      -
      -if sys.version_info >= (3, 8):
      -    from typing import Literal, Protocol, runtime_checkable
      -else:
      -    from typing_extensions import (
      -        Literal,
      -        Protocol,
      -        runtime_checkable,
      -    )  # pragma: no cover
      -
      -from . import errors, themes
      -from ._emoji_replace import _emoji_replace
      -from ._export_format import CONSOLE_HTML_FORMAT, CONSOLE_SVG_FORMAT
      -from ._fileno import get_fileno
      -from ._log_render import FormatTimeCallable, LogRender
      -from .align import Align, AlignMethod
      -from .color import ColorSystem, blend_rgb
      -from .control import Control
      -from .emoji import EmojiVariant
      -from .highlighter import NullHighlighter, ReprHighlighter
      -from .markup import render as render_markup
      -from .measure import Measurement, measure_renderables
      -from .pager import Pager, SystemPager
      -from .pretty import Pretty, is_expandable
      -from .protocol import rich_cast
      -from .region import Region
      -from .scope import render_scope
      -from .screen import Screen
      -from .segment import Segment
      -from .style import Style, StyleType
      -from .styled import Styled
      -from .terminal_theme import DEFAULT_TERMINAL_THEME, SVG_EXPORT_THEME, TerminalTheme
      -from .text import Text, TextType
      -from .theme import Theme, ThemeStack
      -
      -if TYPE_CHECKING:
      -    from ._windows import WindowsConsoleFeatures
      -    from .live import Live
      -    from .status import Status
      -
      -JUPYTER_DEFAULT_COLUMNS = 115
      -JUPYTER_DEFAULT_LINES = 100
      -WINDOWS = sys.platform == "win32"
      -
      -HighlighterType = Callable[[Union[str, "Text"]], "Text"]
      -JustifyMethod = Literal["default", "left", "center", "right", "full"]
      -OverflowMethod = Literal["fold", "crop", "ellipsis", "ignore"]
      -
      -
      -class NoChange:
      -    pass
      -
      -
      -NO_CHANGE = NoChange()
      -
      -try:
      -    _STDIN_FILENO = sys.__stdin__.fileno()  # type: ignore[union-attr]
      -except Exception:
      -    _STDIN_FILENO = 0
      -try:
      -    _STDOUT_FILENO = sys.__stdout__.fileno()  # type: ignore[union-attr]
      -except Exception:
      -    _STDOUT_FILENO = 1
      -try:
      -    _STDERR_FILENO = sys.__stderr__.fileno()  # type: ignore[union-attr]
      -except Exception:
      -    _STDERR_FILENO = 2
      -
      -_STD_STREAMS = (_STDIN_FILENO, _STDOUT_FILENO, _STDERR_FILENO)
      -_STD_STREAMS_OUTPUT = (_STDOUT_FILENO, _STDERR_FILENO)
      -
      -
      -_TERM_COLORS = {
      -    "kitty": ColorSystem.EIGHT_BIT,
      -    "256color": ColorSystem.EIGHT_BIT,
      -    "16color": ColorSystem.STANDARD,
      -}
      -
      -
      -class ConsoleDimensions(NamedTuple):
      -    """Size of the terminal."""
      -
      -    width: int
      -    """The width of the console in 'cells'."""
      -    height: int
      -    """The height of the console in lines."""
      -
      -
      -@dataclass
      -class ConsoleOptions:
      -    """Options for __rich_console__ method."""
      -
      -    size: ConsoleDimensions
      -    """Size of console."""
      -    legacy_windows: bool
      -    """legacy_windows: flag for legacy windows."""
      -    min_width: int
      -    """Minimum width of renderable."""
      -    max_width: int
      -    """Maximum width of renderable."""
      -    is_terminal: bool
      -    """True if the target is a terminal, otherwise False."""
      -    encoding: str
      -    """Encoding of terminal."""
      -    max_height: int
      -    """Height of container (starts as terminal)"""
      -    justify: Optional[JustifyMethod] = None
      -    """Justify value override for renderable."""
      -    overflow: Optional[OverflowMethod] = None
      -    """Overflow value override for renderable."""
      -    no_wrap: Optional[bool] = False
      -    """Disable wrapping for text."""
      -    highlight: Optional[bool] = None
      -    """Highlight override for render_str."""
      -    markup: Optional[bool] = None
      -    """Enable markup when rendering strings."""
      -    height: Optional[int] = None
      -
      -    @property
      -    def ascii_only(self) -> bool:
      -        """Check if renderables should use ascii only."""
      -        return not self.encoding.startswith("utf")
      -
      -    def copy(self) -> "ConsoleOptions":
      -        """Return a copy of the options.
      -
      -        Returns:
      -            ConsoleOptions: a copy of self.
      -        """
      -        options: ConsoleOptions = ConsoleOptions.__new__(ConsoleOptions)
      -        options.__dict__ = self.__dict__.copy()
      -        return options
      -
      -    def update(
      -        self,
      -        *,
      -        width: Union[int, NoChange] = NO_CHANGE,
      -        min_width: Union[int, NoChange] = NO_CHANGE,
      -        max_width: Union[int, NoChange] = NO_CHANGE,
      -        justify: Union[Optional[JustifyMethod], NoChange] = NO_CHANGE,
      -        overflow: Union[Optional[OverflowMethod], NoChange] = NO_CHANGE,
      -        no_wrap: Union[Optional[bool], NoChange] = NO_CHANGE,
      -        highlight: Union[Optional[bool], NoChange] = NO_CHANGE,
      -        markup: Union[Optional[bool], NoChange] = NO_CHANGE,
      -        height: Union[Optional[int], NoChange] = NO_CHANGE,
      -    ) -> "ConsoleOptions":
      -        """Update values, return a copy."""
      -        options = self.copy()
      -        if not isinstance(width, NoChange):
      -            options.min_width = options.max_width = max(0, width)
      -        if not isinstance(min_width, NoChange):
      -            options.min_width = min_width
      -        if not isinstance(max_width, NoChange):
      -            options.max_width = max_width
      -        if not isinstance(justify, NoChange):
      -            options.justify = justify
      -        if not isinstance(overflow, NoChange):
      -            options.overflow = overflow
      -        if not isinstance(no_wrap, NoChange):
      -            options.no_wrap = no_wrap
      -        if not isinstance(highlight, NoChange):
      -            options.highlight = highlight
      -        if not isinstance(markup, NoChange):
      -            options.markup = markup
      -        if not isinstance(height, NoChange):
      -            if height is not None:
      -                options.max_height = height
      -            options.height = None if height is None else max(0, height)
      -        return options
      -
      -    def update_width(self, width: int) -> "ConsoleOptions":
      -        """Update just the width, return a copy.
      -
      -        Args:
      -            width (int): New width (sets both min_width and max_width)
      -
      -        Returns:
      -            ~ConsoleOptions: New console options instance.
      -        """
      -        options = self.copy()
      -        options.min_width = options.max_width = max(0, width)
      -        return options
      -
      -    def update_height(self, height: int) -> "ConsoleOptions":
      -        """Update the height, and return a copy.
      -
      -        Args:
      -            height (int): New height
      -
      -        Returns:
      -            ~ConsoleOptions: New Console options instance.
      -        """
      -        options = self.copy()
      -        options.max_height = options.height = height
      -        return options
      -
      -    def reset_height(self) -> "ConsoleOptions":
      -        """Return a copy of the options with height set to ``None``.
      -
      -        Returns:
      -            ~ConsoleOptions: New console options instance.
      -        """
      -        options = self.copy()
      -        options.height = None
      -        return options
      -
      -    def update_dimensions(self, width: int, height: int) -> "ConsoleOptions":
      -        """Update the width and height, and return a copy.
      -
      -        Args:
      -            width (int): New width (sets both min_width and max_width).
      -            height (int): New height.
      -
      -        Returns:
      -            ~ConsoleOptions: New console options instance.
      -        """
      -        options = self.copy()
      -        options.min_width = options.max_width = max(0, width)
      -        options.height = options.max_height = height
      -        return options
      -
      -
      -@runtime_checkable
      -class RichCast(Protocol):
      -    """An object that may be 'cast' to a console renderable."""
      -
      -    def __rich__(
      -        self,
      -    ) -> Union["ConsoleRenderable", "RichCast", str]:  # pragma: no cover
      -        ...
      -
      -
      -@runtime_checkable
      -class ConsoleRenderable(Protocol):
      -    """An object that supports the console protocol."""
      -
      -    def __rich_console__(
      -        self, console: "Console", options: "ConsoleOptions"
      -    ) -> "RenderResult":  # pragma: no cover
      -        ...
      -
      -
      -# A type that may be rendered by Console.
      -RenderableType = Union[ConsoleRenderable, RichCast, str]
      -"""A string or any object that may be rendered by Rich."""
      -
      -# The result of calling a __rich_console__ method.
      -RenderResult = Iterable[Union[RenderableType, Segment]]
      -
      -_null_highlighter = NullHighlighter()
      -
      -
      -class CaptureError(Exception):
      -    """An error in the Capture context manager."""
      -
      -
      -class NewLine:
      -    """A renderable to generate new line(s)"""
      -
      -    def __init__(self, count: int = 1) -> None:
      -        self.count = count
      -
      -    def __rich_console__(
      -        self, console: "Console", options: "ConsoleOptions"
      -    ) -> Iterable[Segment]:
      -        yield Segment("\n" * self.count)
      -
      -
      -class ScreenUpdate:
      -    """Render a list of lines at a given offset."""
      -
      -    def __init__(self, lines: List[List[Segment]], x: int, y: int) -> None:
      -        self._lines = lines
      -        self.x = x
      -        self.y = y
      -
      -    def __rich_console__(
      -        self, console: "Console", options: ConsoleOptions
      -    ) -> RenderResult:
      -        x = self.x
      -        move_to = Control.move_to
      -        for offset, line in enumerate(self._lines, self.y):
      -            yield move_to(x, offset)
      -            yield from line
      -
      -
      -class Capture:
      -    """Context manager to capture the result of printing to the console.
      -    See :meth:`~rich.console.Console.capture` for how to use.
      -
      -    Args:
      -        console (Console): A console instance to capture output.
      -    """
      -
      -    def __init__(self, console: "Console") -> None:
      -        self._console = console
      -        self._result: Optional[str] = None
      -
      -    def __enter__(self) -> "Capture":
      -        self._console.begin_capture()
      -        return self
      -
      -    def __exit__(
      -        self,
      -        exc_type: Optional[Type[BaseException]],
      -        exc_val: Optional[BaseException],
      -        exc_tb: Optional[TracebackType],
      -    ) -> None:
      -        self._result = self._console.end_capture()
      -
      -    def get(self) -> str:
      -        """Get the result of the capture."""
      -        if self._result is None:
      -            raise CaptureError(
      -                "Capture result is not available until context manager exits."
      -            )
      -        return self._result
      -
      -
      -class ThemeContext:
      -    """A context manager to use a temporary theme. See :meth:`~rich.console.Console.use_theme` for usage."""
      -
      -    def __init__(self, console: "Console", theme: Theme, inherit: bool = True) -> None:
      -        self.console = console
      -        self.theme = theme
      -        self.inherit = inherit
      -
      -    def __enter__(self) -> "ThemeContext":
      -        self.console.push_theme(self.theme)
      -        return self
      -
      -    def __exit__(
      -        self,
      -        exc_type: Optional[Type[BaseException]],
      -        exc_val: Optional[BaseException],
      -        exc_tb: Optional[TracebackType],
      -    ) -> None:
      -        self.console.pop_theme()
      -
      -
      -class PagerContext:
      -    """A context manager that 'pages' content. See :meth:`~rich.console.Console.pager` for usage."""
      -
      -    def __init__(
      -        self,
      -        console: "Console",
      -        pager: Optional[Pager] = None,
      -        styles: bool = False,
      -        links: bool = False,
      -    ) -> None:
      -        self._console = console
      -        self.pager = SystemPager() if pager is None else pager
      -        self.styles = styles
      -        self.links = links
      -
      -    def __enter__(self) -> "PagerContext":
      -        self._console._enter_buffer()
      -        return self
      -
      -    def __exit__(
      -        self,
      -        exc_type: Optional[Type[BaseException]],
      -        exc_val: Optional[BaseException],
      -        exc_tb: Optional[TracebackType],
      -    ) -> None:
      -        if exc_type is None:
      -            with self._console._lock:
      -                buffer: List[Segment] = self._console._buffer[:]
      -                del self._console._buffer[:]
      -                segments: Iterable[Segment] = buffer
      -                if not self.styles:
      -                    segments = Segment.strip_styles(segments)
      -                elif not self.links:
      -                    segments = Segment.strip_links(segments)
      -                content = self._console._render_buffer(segments)
      -            self.pager.show(content)
      -        self._console._exit_buffer()
      -
      -
      -class ScreenContext:
      -    """A context manager that enables an alternative screen. See :meth:`~rich.console.Console.screen` for usage."""
      -
      -    def __init__(
      -        self, console: "Console", hide_cursor: bool, style: StyleType = ""
      -    ) -> None:
      -        self.console = console
      -        self.hide_cursor = hide_cursor
      -        self.screen = Screen(style=style)
      -        self._changed = False
      -
      -    def update(
      -        self, *renderables: RenderableType, style: Optional[StyleType] = None
      -    ) -> None:
      -        """Update the screen.
      -
      -        Args:
      -            renderable (RenderableType, optional): Optional renderable to replace current renderable,
      -                or None for no change. Defaults to None.
      -            style: (Style, optional): Replacement style, or None for no change. Defaults to None.
      -        """
      -        if renderables:
      -            self.screen.renderable = (
      -                Group(*renderables) if len(renderables) > 1 else renderables[0]
      -            )
      -        if style is not None:
      -            self.screen.style = style
      -        self.console.print(self.screen, end="")
      -
      -    def __enter__(self) -> "ScreenContext":
      -        self._changed = self.console.set_alt_screen(True)
      -        if self._changed and self.hide_cursor:
      -            self.console.show_cursor(False)
      -        return self
      -
      -    def __exit__(
      -        self,
      -        exc_type: Optional[Type[BaseException]],
      -        exc_val: Optional[BaseException],
      -        exc_tb: Optional[TracebackType],
      -    ) -> None:
      -        if self._changed:
      -            self.console.set_alt_screen(False)
      -            if self.hide_cursor:
      -                self.console.show_cursor(True)
      -
      -
      -class Group:
      -    """Takes a group of renderables and returns a renderable object that renders the group.
      -
      -    Args:
      -        renderables (Iterable[RenderableType]): An iterable of renderable objects.
      -        fit (bool, optional): Fit dimension of group to contents, or fill available space. Defaults to True.
      -    """
      -
      -    def __init__(self, *renderables: "RenderableType", fit: bool = True) -> None:
      -        self._renderables = renderables
      -        self.fit = fit
      -        self._render: Optional[List[RenderableType]] = None
      -
      -    @property
      -    def renderables(self) -> List["RenderableType"]:
      -        if self._render is None:
      -            self._render = list(self._renderables)
      -        return self._render
      -
      -    def __rich_measure__(
      -        self, console: "Console", options: "ConsoleOptions"
      -    ) -> "Measurement":
      -        if self.fit:
      -            return measure_renderables(console, options, self.renderables)
      -        else:
      -            return Measurement(options.max_width, options.max_width)
      -
      -    def __rich_console__(
      -        self, console: "Console", options: "ConsoleOptions"
      -    ) -> RenderResult:
      -        yield from self.renderables
      -
      -
      -def group(fit: bool = True) -> Callable[..., Callable[..., Group]]:
      -    """A decorator that turns an iterable of renderables in to a group.
      -
      -    Args:
      -        fit (bool, optional): Fit dimension of group to contents, or fill available space. Defaults to True.
      -    """
      -
      -    def decorator(
      -        method: Callable[..., Iterable[RenderableType]]
      -    ) -> Callable[..., Group]:
      -        """Convert a method that returns an iterable of renderables in to a Group."""
      -
      -        @wraps(method)
      -        def _replace(*args: Any, **kwargs: Any) -> Group:
      -            renderables = method(*args, **kwargs)
      -            return Group(*renderables, fit=fit)
      -
      -        return _replace
      -
      -    return decorator
      -
      -
      -def _is_jupyter() -> bool:  # pragma: no cover
      -    """Check if we're running in a Jupyter notebook."""
      -    try:
      -        get_ipython  # type: ignore[name-defined]
      -    except NameError:
      -        return False
      -    ipython = get_ipython()  # type: ignore[name-defined]
      -    shell = ipython.__class__.__name__
      -    if (
      -        "google.colab" in str(ipython.__class__)
      -        or os.getenv("DATABRICKS_RUNTIME_VERSION")
      -        or shell == "ZMQInteractiveShell"
      -    ):
      -        return True  # Jupyter notebook or qtconsole
      -    elif shell == "TerminalInteractiveShell":
      -        return False  # Terminal running IPython
      -    else:
      -        return False  # Other type (?)
      -
      -
      -COLOR_SYSTEMS = {
      -    "standard": ColorSystem.STANDARD,
      -    "256": ColorSystem.EIGHT_BIT,
      -    "truecolor": ColorSystem.TRUECOLOR,
      -    "windows": ColorSystem.WINDOWS,
      -}
      -
      -_COLOR_SYSTEMS_NAMES = {system: name for name, system in COLOR_SYSTEMS.items()}
      -
      -
      -@dataclass
      -class ConsoleThreadLocals(threading.local):
      -    """Thread local values for Console context."""
      -
      -    theme_stack: ThemeStack
      -    buffer: List[Segment] = field(default_factory=list)
      -    buffer_index: int = 0
      -
      -
      -class RenderHook(ABC):
      -    """Provides hooks in to the render process."""
      -
      -    @abstractmethod
      -    def process_renderables(
      -        self, renderables: List[ConsoleRenderable]
      -    ) -> List[ConsoleRenderable]:
      -        """Called with a list of objects to render.
      -
      -        This method can return a new list of renderables, or modify and return the same list.
      -
      -        Args:
      -            renderables (List[ConsoleRenderable]): A number of renderable objects.
      -
      -        Returns:
      -            List[ConsoleRenderable]: A replacement list of renderables.
      -        """
      -
      -
      -_windows_console_features: Optional["WindowsConsoleFeatures"] = None
      -
      -
      -def get_windows_console_features() -> "WindowsConsoleFeatures":  # pragma: no cover
      -    global _windows_console_features
      -    if _windows_console_features is not None:
      -        return _windows_console_features
      -    from ._windows import get_windows_console_features
      -
      -    _windows_console_features = get_windows_console_features()
      -    return _windows_console_features
      -
      -
      -def detect_legacy_windows() -> bool:
      -    """Detect legacy Windows."""
      -    return WINDOWS and not get_windows_console_features().vt
      -
      -
      -
      -[docs] -class Console: - """A high level console interface. - - Args: - color_system (str, optional): The color system supported by your terminal, - either ``"standard"``, ``"256"`` or ``"truecolor"``. Leave as ``"auto"`` to autodetect. - force_terminal (Optional[bool], optional): Enable/disable terminal control codes, or None to auto-detect terminal. Defaults to None. - force_jupyter (Optional[bool], optional): Enable/disable Jupyter rendering, or None to auto-detect Jupyter. Defaults to None. - force_interactive (Optional[bool], optional): Enable/disable interactive mode, or None to auto detect. Defaults to None. - soft_wrap (Optional[bool], optional): Set soft wrap default on print method. Defaults to False. - theme (Theme, optional): An optional style theme object, or ``None`` for default theme. - stderr (bool, optional): Use stderr rather than stdout if ``file`` is not specified. Defaults to False. - file (IO, optional): A file object where the console should write to. Defaults to stdout. - quiet (bool, Optional): Boolean to suppress all output. Defaults to False. - width (int, optional): The width of the terminal. Leave as default to auto-detect width. - height (int, optional): The height of the terminal. Leave as default to auto-detect height. - style (StyleType, optional): Style to apply to all output, or None for no style. Defaults to None. - no_color (Optional[bool], optional): Enabled no color mode, or None to auto detect. Defaults to None. - tab_size (int, optional): Number of spaces used to replace a tab character. Defaults to 8. - record (bool, optional): Boolean to enable recording of terminal output, - required to call :meth:`export_html`, :meth:`export_svg`, and :meth:`export_text`. Defaults to False. - markup (bool, optional): Boolean to enable :ref:`console_markup`. Defaults to True. - emoji (bool, optional): Enable emoji code. Defaults to True. - emoji_variant (str, optional): Optional emoji variant, either "text" or "emoji". Defaults to None. - highlight (bool, optional): Enable automatic highlighting. Defaults to True. - log_time (bool, optional): Boolean to enable logging of time by :meth:`log` methods. Defaults to True. - log_path (bool, optional): Boolean to enable the logging of the caller by :meth:`log`. Defaults to True. - log_time_format (Union[str, TimeFormatterCallable], optional): If ``log_time`` is enabled, either string for strftime or callable that formats the time. Defaults to "[%X] ". - highlighter (HighlighterType, optional): Default highlighter. - legacy_windows (bool, optional): Enable legacy Windows mode, or ``None`` to auto detect. Defaults to ``None``. - safe_box (bool, optional): Restrict box options that don't render on legacy Windows. - get_datetime (Callable[[], datetime], optional): Callable that gets the current time as a datetime.datetime object (used by Console.log), - or None for datetime.now. - get_time (Callable[[], time], optional): Callable that gets the current time in seconds, default uses time.monotonic. - """ - - _environ: Mapping[str, str] = os.environ - - def __init__( - self, - *, - color_system: Optional[ - Literal["auto", "standard", "256", "truecolor", "windows"] - ] = "auto", - force_terminal: Optional[bool] = None, - force_jupyter: Optional[bool] = None, - force_interactive: Optional[bool] = None, - soft_wrap: bool = False, - theme: Optional[Theme] = None, - stderr: bool = False, - file: Optional[IO[str]] = None, - quiet: bool = False, - width: Optional[int] = None, - height: Optional[int] = None, - style: Optional[StyleType] = None, - no_color: Optional[bool] = None, - tab_size: int = 8, - record: bool = False, - markup: bool = True, - emoji: bool = True, - emoji_variant: Optional[EmojiVariant] = None, - highlight: bool = True, - log_time: bool = True, - log_path: bool = True, - log_time_format: Union[str, FormatTimeCallable] = "[%X]", - highlighter: Optional["HighlighterType"] = ReprHighlighter(), - legacy_windows: Optional[bool] = None, - safe_box: bool = True, - get_datetime: Optional[Callable[[], datetime]] = None, - get_time: Optional[Callable[[], float]] = None, - _environ: Optional[Mapping[str, str]] = None, - ): - # Copy of os.environ allows us to replace it for testing - if _environ is not None: - self._environ = _environ - - self.is_jupyter = _is_jupyter() if force_jupyter is None else force_jupyter - if self.is_jupyter: - if width is None: - jupyter_columns = self._environ.get("JUPYTER_COLUMNS") - if jupyter_columns is not None and jupyter_columns.isdigit(): - width = int(jupyter_columns) - else: - width = JUPYTER_DEFAULT_COLUMNS - if height is None: - jupyter_lines = self._environ.get("JUPYTER_LINES") - if jupyter_lines is not None and jupyter_lines.isdigit(): - height = int(jupyter_lines) - else: - height = JUPYTER_DEFAULT_LINES - - self.tab_size = tab_size - self.record = record - self._markup = markup - self._emoji = emoji - self._emoji_variant: Optional[EmojiVariant] = emoji_variant - self._highlight = highlight - self.legacy_windows: bool = ( - (detect_legacy_windows() and not self.is_jupyter) - if legacy_windows is None - else legacy_windows - ) - - if width is None: - columns = self._environ.get("COLUMNS") - if columns is not None and columns.isdigit(): - width = int(columns) - self.legacy_windows - if height is None: - lines = self._environ.get("LINES") - if lines is not None and lines.isdigit(): - height = int(lines) - - self.soft_wrap = soft_wrap - self._width = width - self._height = height - - self._color_system: Optional[ColorSystem] - - self._force_terminal = None - if force_terminal is not None: - self._force_terminal = force_terminal - - self._file = file - self.quiet = quiet - self.stderr = stderr - - if color_system is None: - self._color_system = None - elif color_system == "auto": - self._color_system = self._detect_color_system() - else: - self._color_system = COLOR_SYSTEMS[color_system] - - self._lock = threading.RLock() - self._log_render = LogRender( - show_time=log_time, - show_path=log_path, - time_format=log_time_format, - ) - self.highlighter: HighlighterType = highlighter or _null_highlighter - self.safe_box = safe_box - self.get_datetime = get_datetime or datetime.now - self.get_time = get_time or monotonic - self.style = style - self.no_color = ( - no_color if no_color is not None else "NO_COLOR" in self._environ - ) - self.is_interactive = ( - (self.is_terminal and not self.is_dumb_terminal) - if force_interactive is None - else force_interactive - ) - - self._record_buffer_lock = threading.RLock() - self._thread_locals = ConsoleThreadLocals( - theme_stack=ThemeStack(themes.DEFAULT if theme is None else theme) - ) - self._record_buffer: List[Segment] = [] - self._render_hooks: List[RenderHook] = [] - self._live: Optional["Live"] = None - self._is_alt_screen = False - - def __repr__(self) -> str: - return f"<console width={self.width} {self._color_system!s}>" - - @property - def file(self) -> IO[str]: - """Get the file object to write to.""" - file = self._file or (sys.stderr if self.stderr else sys.stdout) - file = getattr(file, "rich_proxied_file", file) - if file is None: - file = NULL_FILE - return file - - @file.setter - def file(self, new_file: IO[str]) -> None: - """Set a new file object.""" - self._file = new_file - - @property - def _buffer(self) -> List[Segment]: - """Get a thread local buffer.""" - return self._thread_locals.buffer - - @property - def _buffer_index(self) -> int: - """Get a thread local buffer.""" - return self._thread_locals.buffer_index - - @_buffer_index.setter - def _buffer_index(self, value: int) -> None: - self._thread_locals.buffer_index = value - - @property - def _theme_stack(self) -> ThemeStack: - """Get the thread local theme stack.""" - return self._thread_locals.theme_stack - - def _detect_color_system(self) -> Optional[ColorSystem]: - """Detect color system from env vars.""" - if self.is_jupyter: - return ColorSystem.TRUECOLOR - if not self.is_terminal or self.is_dumb_terminal: - return None - if WINDOWS: # pragma: no cover - if self.legacy_windows: # pragma: no cover - return ColorSystem.WINDOWS - windows_console_features = get_windows_console_features() - return ( - ColorSystem.TRUECOLOR - if windows_console_features.truecolor - else ColorSystem.EIGHT_BIT - ) - else: - color_term = self._environ.get("COLORTERM", "").strip().lower() - if color_term in ("truecolor", "24bit"): - return ColorSystem.TRUECOLOR - term = self._environ.get("TERM", "").strip().lower() - _term_name, _hyphen, colors = term.rpartition("-") - color_system = _TERM_COLORS.get(colors, ColorSystem.STANDARD) - return color_system - - def _enter_buffer(self) -> None: - """Enter in to a buffer context, and buffer all output.""" - self._buffer_index += 1 - - def _exit_buffer(self) -> None: - """Leave buffer context, and render content if required.""" - self._buffer_index -= 1 - self._check_buffer() - - def set_live(self, live: "Live") -> None: - """Set Live instance. Used by Live context manager. - - Args: - live (Live): Live instance using this Console. - - Raises: - errors.LiveError: If this Console has a Live context currently active. - """ - with self._lock: - if self._live is not None: - raise errors.LiveError("Only one live display may be active at once") - self._live = live - - def clear_live(self) -> None: - """Clear the Live instance.""" - with self._lock: - self._live = None - - def push_render_hook(self, hook: RenderHook) -> None: - """Add a new render hook to the stack. - - Args: - hook (RenderHook): Render hook instance. - """ - with self._lock: - self._render_hooks.append(hook) - - def pop_render_hook(self) -> None: - """Pop the last renderhook from the stack.""" - with self._lock: - self._render_hooks.pop() - - def __enter__(self) -> "Console": - """Own context manager to enter buffer context.""" - self._enter_buffer() - return self - - def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: - """Exit buffer context.""" - self._exit_buffer() - - def begin_capture(self) -> None: - """Begin capturing console output. Call :meth:`end_capture` to exit capture mode and return output.""" - self._enter_buffer() - - def end_capture(self) -> str: - """End capture mode and return captured string. - - Returns: - str: Console output. - """ - render_result = self._render_buffer(self._buffer) - del self._buffer[:] - self._exit_buffer() - return render_result - - def push_theme(self, theme: Theme, *, inherit: bool = True) -> None: - """Push a new theme on to the top of the stack, replacing the styles from the previous theme. - Generally speaking, you should call :meth:`~rich.console.Console.use_theme` to get a context manager, rather - than calling this method directly. - - Args: - theme (Theme): A theme instance. - inherit (bool, optional): Inherit existing styles. Defaults to True. - """ - self._theme_stack.push_theme(theme, inherit=inherit) - - def pop_theme(self) -> None: - """Remove theme from top of stack, restoring previous theme.""" - self._theme_stack.pop_theme() - - def use_theme(self, theme: Theme, *, inherit: bool = True) -> ThemeContext: - """Use a different theme for the duration of the context manager. - - Args: - theme (Theme): Theme instance to user. - inherit (bool, optional): Inherit existing console styles. Defaults to True. - - Returns: - ThemeContext: [description] - """ - return ThemeContext(self, theme, inherit) - - @property - def color_system(self) -> Optional[str]: - """Get color system string. - - Returns: - Optional[str]: "standard", "256" or "truecolor". - """ - - if self._color_system is not None: - return _COLOR_SYSTEMS_NAMES[self._color_system] - else: - return None - - @property - def encoding(self) -> str: - """Get the encoding of the console file, e.g. ``"utf-8"``. - - Returns: - str: A standard encoding string. - """ - return (getattr(self.file, "encoding", "utf-8") or "utf-8").lower() - - @property - def is_terminal(self) -> bool: - """Check if the console is writing to a terminal. - - Returns: - bool: True if the console writing to a device capable of - understanding terminal codes, otherwise False. - """ - if self._force_terminal is not None: - return self._force_terminal - - if hasattr(sys.stdin, "__module__") and sys.stdin.__module__.startswith( - "idlelib" - ): - # Return False for Idle which claims to be a tty but can't handle ansi codes - return False - - if self.is_jupyter: - # return False for Jupyter, which may have FORCE_COLOR set - return False - - # If FORCE_COLOR env var has any value at all, we assume a terminal. - force_color = self._environ.get("FORCE_COLOR") - if force_color is not None: - self._force_terminal = True - return True - - isatty: Optional[Callable[[], bool]] = getattr(self.file, "isatty", None) - try: - return False if isatty is None else isatty() - except ValueError: - # in some situation (at the end of a pytest run for example) isatty() can raise - # ValueError: I/O operation on closed file - # return False because we aren't in a terminal anymore - return False - - @property - def is_dumb_terminal(self) -> bool: - """Detect dumb terminal. - - Returns: - bool: True if writing to a dumb terminal, otherwise False. - - """ - _term = self._environ.get("TERM", "") - is_dumb = _term.lower() in ("dumb", "unknown") - return self.is_terminal and is_dumb - - @property - def options(self) -> ConsoleOptions: - """Get default console options.""" - return ConsoleOptions( - max_height=self.size.height, - size=self.size, - legacy_windows=self.legacy_windows, - min_width=1, - max_width=self.width, - encoding=self.encoding, - is_terminal=self.is_terminal, - ) - - @property - def size(self) -> ConsoleDimensions: - """Get the size of the console. - - Returns: - ConsoleDimensions: A named tuple containing the dimensions. - """ - - if self._width is not None and self._height is not None: - return ConsoleDimensions(self._width - self.legacy_windows, self._height) - - if self.is_dumb_terminal: - return ConsoleDimensions(80, 25) - - width: Optional[int] = None - height: Optional[int] = None - - streams = _STD_STREAMS_OUTPUT if WINDOWS else _STD_STREAMS - for file_descriptor in streams: - try: - width, height = os.get_terminal_size(file_descriptor) - except (AttributeError, ValueError, OSError): # Probably not a terminal - pass - else: - break - - columns = self._environ.get("COLUMNS") - if columns is not None and columns.isdigit(): - width = int(columns) - lines = self._environ.get("LINES") - if lines is not None and lines.isdigit(): - height = int(lines) - - # get_terminal_size can report 0, 0 if run from pseudo-terminal - width = width or 80 - height = height or 25 - return ConsoleDimensions( - width - self.legacy_windows if self._width is None else self._width, - height if self._height is None else self._height, - ) - - @size.setter - def size(self, new_size: Tuple[int, int]) -> None: - """Set a new size for the terminal. - - Args: - new_size (Tuple[int, int]): New width and height. - """ - width, height = new_size - self._width = width - self._height = height - - @property - def width(self) -> int: - """Get the width of the console. - - Returns: - int: The width (in characters) of the console. - """ - return self.size.width - - @width.setter - def width(self, width: int) -> None: - """Set width. - - Args: - width (int): New width. - """ - self._width = width - - @property - def height(self) -> int: - """Get the height of the console. - - Returns: - int: The height (in lines) of the console. - """ - return self.size.height - - @height.setter - def height(self, height: int) -> None: - """Set height. - - Args: - height (int): new height. - """ - self._height = height - - def bell(self) -> None: - """Play a 'bell' sound (if supported by the terminal).""" - self.control(Control.bell()) - - def capture(self) -> Capture: - """A context manager to *capture* the result of print() or log() in a string, - rather than writing it to the console. - - Example: - >>> from rich.console import Console - >>> console = Console() - >>> with console.capture() as capture: - ... console.print("[bold magenta]Hello World[/]") - >>> print(capture.get()) - - Returns: - Capture: Context manager with disables writing to the terminal. - """ - capture = Capture(self) - return capture - - def pager( - self, pager: Optional[Pager] = None, styles: bool = False, links: bool = False - ) -> PagerContext: - """A context manager to display anything printed within a "pager". The pager application - is defined by the system and will typically support at least pressing a key to scroll. - - Args: - pager (Pager, optional): A pager object, or None to use :class:`~rich.pager.SystemPager`. Defaults to None. - styles (bool, optional): Show styles in pager. Defaults to False. - links (bool, optional): Show links in pager. Defaults to False. - - Example: - >>> from rich.console import Console - >>> from rich.__main__ import make_test_card - >>> console = Console() - >>> with console.pager(): - console.print(make_test_card()) - - Returns: - PagerContext: A context manager. - """ - return PagerContext(self, pager=pager, styles=styles, links=links) - - def line(self, count: int = 1) -> None: - """Write new line(s). - - Args: - count (int, optional): Number of new lines. Defaults to 1. - """ - - assert count >= 0, "count must be >= 0" - self.print(NewLine(count)) - - def clear(self, home: bool = True) -> None: - """Clear the screen. - - Args: - home (bool, optional): Also move the cursor to 'home' position. Defaults to True. - """ - if home: - self.control(Control.clear(), Control.home()) - else: - self.control(Control.clear()) - -
      -[docs] - def status( - self, - status: RenderableType, - *, - spinner: str = "dots", - spinner_style: StyleType = "status.spinner", - speed: float = 1.0, - refresh_per_second: float = 12.5, - ) -> "Status": - """Display a status and spinner. - - Args: - status (RenderableType): A status renderable (str or Text typically). - spinner (str, optional): Name of spinner animation (see python -m rich.spinner). Defaults to "dots". - spinner_style (StyleType, optional): Style of spinner. Defaults to "status.spinner". - speed (float, optional): Speed factor for spinner animation. Defaults to 1.0. - refresh_per_second (float, optional): Number of refreshes per second. Defaults to 12.5. - - Returns: - Status: A Status object that may be used as a context manager. - """ - from .status import Status - - status_renderable = Status( - status, - console=self, - spinner=spinner, - spinner_style=spinner_style, - speed=speed, - refresh_per_second=refresh_per_second, - ) - return status_renderable
      - - - def show_cursor(self, show: bool = True) -> bool: - """Show or hide the cursor. - - Args: - show (bool, optional): Set visibility of the cursor. - """ - if self.is_terminal: - self.control(Control.show_cursor(show)) - return True - return False - - def set_alt_screen(self, enable: bool = True) -> bool: - """Enables alternative screen mode. - - Note, if you enable this mode, you should ensure that is disabled before - the application exits. See :meth:`~rich.Console.screen` for a context manager - that handles this for you. - - Args: - enable (bool, optional): Enable (True) or disable (False) alternate screen. Defaults to True. - - Returns: - bool: True if the control codes were written. - - """ - changed = False - if self.is_terminal and not self.legacy_windows: - self.control(Control.alt_screen(enable)) - changed = True - self._is_alt_screen = enable - return changed - - @property - def is_alt_screen(self) -> bool: - """Check if the alt screen was enabled. - - Returns: - bool: True if the alt screen was enabled, otherwise False. - """ - return self._is_alt_screen - - def set_window_title(self, title: str) -> bool: - """Set the title of the console terminal window. - - Warning: There is no means within Rich of "resetting" the window title to its - previous value, meaning the title you set will persist even after your application - exits. - - ``fish`` shell resets the window title before and after each command by default, - negating this issue. Windows Terminal and command prompt will also reset the title for you. - Most other shells and terminals, however, do not do this. - - Some terminals may require configuration changes before you can set the title. - Some terminals may not support setting the title at all. - - Other software (including the terminal itself, the shell, custom prompts, plugins, etc.) - may also set the terminal window title. This could result in whatever value you write - using this method being overwritten. - - Args: - title (str): The new title of the terminal window. - - Returns: - bool: True if the control code to change the terminal title was - written, otherwise False. Note that a return value of True - does not guarantee that the window title has actually changed, - since the feature may be unsupported/disabled in some terminals. - """ - if self.is_terminal: - self.control(Control.title(title)) - return True - return False - - def screen( - self, hide_cursor: bool = True, style: Optional[StyleType] = None - ) -> "ScreenContext": - """Context manager to enable and disable 'alternative screen' mode. - - Args: - hide_cursor (bool, optional): Also hide the cursor. Defaults to False. - style (Style, optional): Optional style for screen. Defaults to None. - - Returns: - ~ScreenContext: Context which enables alternate screen on enter, and disables it on exit. - """ - return ScreenContext(self, hide_cursor=hide_cursor, style=style or "") - - def measure( - self, renderable: RenderableType, *, options: Optional[ConsoleOptions] = None - ) -> Measurement: - """Measure a renderable. Returns a :class:`~rich.measure.Measurement` object which contains - information regarding the number of characters required to print the renderable. - - Args: - renderable (RenderableType): Any renderable or string. - options (Optional[ConsoleOptions], optional): Options to use when measuring, or None - to use default options. Defaults to None. - - Returns: - Measurement: A measurement of the renderable. - """ - measurement = Measurement.get(self, options or self.options, renderable) - return measurement - - def render( - self, renderable: RenderableType, options: Optional[ConsoleOptions] = None - ) -> Iterable[Segment]: - """Render an object in to an iterable of `Segment` instances. - - This method contains the logic for rendering objects with the console protocol. - You are unlikely to need to use it directly, unless you are extending the library. - - Args: - renderable (RenderableType): An object supporting the console protocol, or - an object that may be converted to a string. - options (ConsoleOptions, optional): An options object, or None to use self.options. Defaults to None. - - Returns: - Iterable[Segment]: An iterable of segments that may be rendered. - """ - - _options = options or self.options - if _options.max_width < 1: - # No space to render anything. This prevents potential recursion errors. - return - render_iterable: RenderResult - - renderable = rich_cast(renderable) - if hasattr(renderable, "__rich_console__") and not isclass(renderable): - render_iterable = renderable.__rich_console__(self, _options) - elif isinstance(renderable, str): - text_renderable = self.render_str( - renderable, highlight=_options.highlight, markup=_options.markup - ) - render_iterable = text_renderable.__rich_console__(self, _options) - else: - raise errors.NotRenderableError( - f"Unable to render {renderable!r}; " - "A str, Segment or object with __rich_console__ method is required" - ) - - try: - iter_render = iter(render_iterable) - except TypeError: - raise errors.NotRenderableError( - f"object {render_iterable!r} is not renderable" - ) - _Segment = Segment - _options = _options.reset_height() - for render_output in iter_render: - if isinstance(render_output, _Segment): - yield render_output - else: - yield from self.render(render_output, _options) - - def render_lines( - self, - renderable: RenderableType, - options: Optional[ConsoleOptions] = None, - *, - style: Optional[Style] = None, - pad: bool = True, - new_lines: bool = False, - ) -> List[List[Segment]]: - """Render objects in to a list of lines. - - The output of render_lines is useful when further formatting of rendered console text - is required, such as the Panel class which draws a border around any renderable object. - - Args: - renderable (RenderableType): Any object renderable in the console. - options (Optional[ConsoleOptions], optional): Console options, or None to use self.options. Default to ``None``. - style (Style, optional): Optional style to apply to renderables. Defaults to ``None``. - pad (bool, optional): Pad lines shorter than render width. Defaults to ``True``. - new_lines (bool, optional): Include "\n" characters at end of lines. - - Returns: - List[List[Segment]]: A list of lines, where a line is a list of Segment objects. - """ - with self._lock: - render_options = options or self.options - _rendered = self.render(renderable, render_options) - if style: - _rendered = Segment.apply_style(_rendered, style) - - render_height = render_options.height - if render_height is not None: - render_height = max(0, render_height) - - lines = list( - islice( - Segment.split_and_crop_lines( - _rendered, - render_options.max_width, - include_new_lines=new_lines, - pad=pad, - style=style, - ), - None, - render_height, - ) - ) - if render_options.height is not None: - extra_lines = render_options.height - len(lines) - if extra_lines > 0: - pad_line = [ - ( - [ - Segment(" " * render_options.max_width, style), - Segment("\n"), - ] - if new_lines - else [Segment(" " * render_options.max_width, style)] - ) - ] - lines.extend(pad_line * extra_lines) - - return lines - - def render_str( - self, - text: str, - *, - style: Union[str, Style] = "", - justify: Optional[JustifyMethod] = None, - overflow: Optional[OverflowMethod] = None, - emoji: Optional[bool] = None, - markup: Optional[bool] = None, - highlight: Optional[bool] = None, - highlighter: Optional[HighlighterType] = None, - ) -> "Text": - """Convert a string to a Text instance. This is called automatically if - you print or log a string. - - Args: - text (str): Text to render. - style (Union[str, Style], optional): Style to apply to rendered text. - justify (str, optional): Justify method: "default", "left", "center", "full", or "right". Defaults to ``None``. - overflow (str, optional): Overflow method: "crop", "fold", or "ellipsis". Defaults to ``None``. - emoji (Optional[bool], optional): Enable emoji, or ``None`` to use Console default. - markup (Optional[bool], optional): Enable markup, or ``None`` to use Console default. - highlight (Optional[bool], optional): Enable highlighting, or ``None`` to use Console default. - highlighter (HighlighterType, optional): Optional highlighter to apply. - Returns: - ConsoleRenderable: Renderable object. - - """ - emoji_enabled = emoji or (emoji is None and self._emoji) - markup_enabled = markup or (markup is None and self._markup) - highlight_enabled = highlight or (highlight is None and self._highlight) - - if markup_enabled: - rich_text = render_markup( - text, - style=style, - emoji=emoji_enabled, - emoji_variant=self._emoji_variant, - ) - rich_text.justify = justify - rich_text.overflow = overflow - else: - rich_text = Text( - ( - _emoji_replace(text, default_variant=self._emoji_variant) - if emoji_enabled - else text - ), - justify=justify, - overflow=overflow, - style=style, - ) - - _highlighter = (highlighter or self.highlighter) if highlight_enabled else None - if _highlighter is not None: - highlight_text = _highlighter(str(rich_text)) - highlight_text.copy_styles(rich_text) - return highlight_text - - return rich_text - - def get_style( - self, name: Union[str, Style], *, default: Optional[Union[Style, str]] = None - ) -> Style: - """Get a Style instance by its theme name or parse a definition. - - Args: - name (str): The name of a style or a style definition. - - Returns: - Style: A Style object. - - Raises: - MissingStyle: If no style could be parsed from name. - - """ - if isinstance(name, Style): - return name - - try: - style = self._theme_stack.get(name) - if style is None: - style = Style.parse(name) - return style.copy() if style.link else style - except errors.StyleSyntaxError as error: - if default is not None: - return self.get_style(default) - raise errors.MissingStyle( - f"Failed to get style {name!r}; {error}" - ) from None - - def _collect_renderables( - self, - objects: Iterable[Any], - sep: str, - end: str, - *, - justify: Optional[JustifyMethod] = None, - emoji: Optional[bool] = None, - markup: Optional[bool] = None, - highlight: Optional[bool] = None, - ) -> List[ConsoleRenderable]: - """Combine a number of renderables and text into one renderable. - - Args: - objects (Iterable[Any]): Anything that Rich can render. - sep (str): String to write between print data. - end (str): String to write at end of print data. - justify (str, optional): One of "left", "right", "center", or "full". Defaults to ``None``. - emoji (Optional[bool], optional): Enable emoji code, or ``None`` to use console default. - markup (Optional[bool], optional): Enable markup, or ``None`` to use console default. - highlight (Optional[bool], optional): Enable automatic highlighting, or ``None`` to use console default. - - Returns: - List[ConsoleRenderable]: A list of things to render. - """ - renderables: List[ConsoleRenderable] = [] - _append = renderables.append - text: List[Text] = [] - append_text = text.append - - append = _append - if justify in ("left", "center", "right"): - - def align_append(renderable: RenderableType) -> None: - _append(Align(renderable, cast(AlignMethod, justify))) - - append = align_append - - _highlighter: HighlighterType = _null_highlighter - if highlight or (highlight is None and self._highlight): - _highlighter = self.highlighter - - def check_text() -> None: - if text: - sep_text = Text(sep, justify=justify, end=end) - append(sep_text.join(text)) - text.clear() - - for renderable in objects: - renderable = rich_cast(renderable) - if isinstance(renderable, str): - append_text( - self.render_str( - renderable, - emoji=emoji, - markup=markup, - highlight=highlight, - highlighter=_highlighter, - ) - ) - elif isinstance(renderable, Text): - append_text(renderable) - elif isinstance(renderable, ConsoleRenderable): - check_text() - append(renderable) - elif is_expandable(renderable): - check_text() - append(Pretty(renderable, highlighter=_highlighter)) - else: - append_text(_highlighter(str(renderable))) - - check_text() - - if self.style is not None: - style = self.get_style(self.style) - renderables = [Styled(renderable, style) for renderable in renderables] - - return renderables - - def rule( - self, - title: TextType = "", - *, - characters: str = "─", - style: Union[str, Style] = "rule.line", - align: AlignMethod = "center", - ) -> None: - """Draw a line with optional centered title. - - Args: - title (str, optional): Text to render over the rule. Defaults to "". - characters (str, optional): Character(s) to form the line. Defaults to "─". - style (str, optional): Style of line. Defaults to "rule.line". - align (str, optional): How to align the title, one of "left", "center", or "right". Defaults to "center". - """ - from .rule import Rule - - rule = Rule(title=title, characters=characters, style=style, align=align) - self.print(rule) - - def control(self, *control: Control) -> None: - """Insert non-printing control codes. - - Args: - control_codes (str): Control codes, such as those that may move the cursor. - """ - if not self.is_dumb_terminal: - with self: - self._buffer.extend(_control.segment for _control in control) - - def out( - self, - *objects: Any, - sep: str = " ", - end: str = "\n", - style: Optional[Union[str, Style]] = None, - highlight: Optional[bool] = None, - ) -> None: - """Output to the terminal. This is a low-level way of writing to the terminal which unlike - :meth:`~rich.console.Console.print` won't pretty print, wrap text, or apply markup, but will - optionally apply highlighting and a basic style. - - Args: - sep (str, optional): String to write between print data. Defaults to " ". - end (str, optional): String to write at end of print data. Defaults to "\\\\n". - style (Union[str, Style], optional): A style to apply to output. Defaults to None. - highlight (Optional[bool], optional): Enable automatic highlighting, or ``None`` to use - console default. Defaults to ``None``. - """ - raw_output: str = sep.join(str(_object) for _object in objects) - self.print( - raw_output, - style=style, - highlight=highlight, - emoji=False, - markup=False, - no_wrap=True, - overflow="ignore", - crop=False, - end=end, - ) - - def print( - self, - *objects: Any, - sep: str = " ", - end: str = "\n", - style: Optional[Union[str, Style]] = None, - justify: Optional[JustifyMethod] = None, - overflow: Optional[OverflowMethod] = None, - no_wrap: Optional[bool] = None, - emoji: Optional[bool] = None, - markup: Optional[bool] = None, - highlight: Optional[bool] = None, - width: Optional[int] = None, - height: Optional[int] = None, - crop: bool = True, - soft_wrap: Optional[bool] = None, - new_line_start: bool = False, - ) -> None: - """Print to the console. - - Args: - objects (positional args): Objects to log to the terminal. - sep (str, optional): String to write between print data. Defaults to " ". - end (str, optional): String to write at end of print data. Defaults to "\\\\n". - style (Union[str, Style], optional): A style to apply to output. Defaults to None. - justify (str, optional): Justify method: "default", "left", "right", "center", or "full". Defaults to ``None``. - overflow (str, optional): Overflow method: "ignore", "crop", "fold", or "ellipsis". Defaults to None. - no_wrap (Optional[bool], optional): Disable word wrapping. Defaults to None. - emoji (Optional[bool], optional): Enable emoji code, or ``None`` to use console default. Defaults to ``None``. - markup (Optional[bool], optional): Enable markup, or ``None`` to use console default. Defaults to ``None``. - highlight (Optional[bool], optional): Enable automatic highlighting, or ``None`` to use console default. Defaults to ``None``. - width (Optional[int], optional): Width of output, or ``None`` to auto-detect. Defaults to ``None``. - crop (Optional[bool], optional): Crop output to width of terminal. Defaults to True. - soft_wrap (bool, optional): Enable soft wrap mode which disables word wrapping and cropping of text or ``None`` for - Console default. Defaults to ``None``. - new_line_start (bool, False): Insert a new line at the start if the output contains more than one line. Defaults to ``False``. - """ - if not objects: - objects = (NewLine(),) - - if soft_wrap is None: - soft_wrap = self.soft_wrap - if soft_wrap: - if no_wrap is None: - no_wrap = True - if overflow is None: - overflow = "ignore" - crop = False - render_hooks = self._render_hooks[:] - with self: - renderables = self._collect_renderables( - objects, - sep, - end, - justify=justify, - emoji=emoji, - markup=markup, - highlight=highlight, - ) - for hook in render_hooks: - renderables = hook.process_renderables(renderables) - render_options = self.options.update( - justify=justify, - overflow=overflow, - width=min(width, self.width) if width is not None else NO_CHANGE, - height=height, - no_wrap=no_wrap, - markup=markup, - highlight=highlight, - ) - - new_segments: List[Segment] = [] - extend = new_segments.extend - render = self.render - if style is None: - for renderable in renderables: - extend(render(renderable, render_options)) - else: - for renderable in renderables: - extend( - Segment.apply_style( - render(renderable, render_options), self.get_style(style) - ) - ) - if new_line_start: - if ( - len("".join(segment.text for segment in new_segments).splitlines()) - > 1 - ): - new_segments.insert(0, Segment.line()) - if crop: - buffer_extend = self._buffer.extend - for line in Segment.split_and_crop_lines( - new_segments, self.width, pad=False - ): - buffer_extend(line) - else: - self._buffer.extend(new_segments) - - def print_json( - self, - json: Optional[str] = None, - *, - data: Any = None, - indent: Union[None, int, str] = 2, - highlight: bool = True, - skip_keys: bool = False, - ensure_ascii: bool = False, - check_circular: bool = True, - allow_nan: bool = True, - default: Optional[Callable[[Any], Any]] = None, - sort_keys: bool = False, - ) -> None: - """Pretty prints JSON. Output will be valid JSON. - - Args: - json (Optional[str]): A string containing JSON. - data (Any): If json is not supplied, then encode this data. - indent (Union[None, int, str], optional): Number of spaces to indent. Defaults to 2. - highlight (bool, optional): Enable highlighting of output: Defaults to True. - skip_keys (bool, optional): Skip keys not of a basic type. Defaults to False. - ensure_ascii (bool, optional): Escape all non-ascii characters. Defaults to False. - check_circular (bool, optional): Check for circular references. Defaults to True. - allow_nan (bool, optional): Allow NaN and Infinity values. Defaults to True. - default (Callable, optional): A callable that converts values that can not be encoded - in to something that can be JSON encoded. Defaults to None. - sort_keys (bool, optional): Sort dictionary keys. Defaults to False. - """ - from rich.json import JSON - - if json is None: - json_renderable = JSON.from_data( - data, - indent=indent, - highlight=highlight, - skip_keys=skip_keys, - ensure_ascii=ensure_ascii, - check_circular=check_circular, - allow_nan=allow_nan, - default=default, - sort_keys=sort_keys, - ) - else: - if not isinstance(json, str): - raise TypeError( - f"json must be str. Did you mean print_json(data={json!r}) ?" - ) - json_renderable = JSON( - json, - indent=indent, - highlight=highlight, - skip_keys=skip_keys, - ensure_ascii=ensure_ascii, - check_circular=check_circular, - allow_nan=allow_nan, - default=default, - sort_keys=sort_keys, - ) - self.print(json_renderable, soft_wrap=True) - - def update_screen( - self, - renderable: RenderableType, - *, - region: Optional[Region] = None, - options: Optional[ConsoleOptions] = None, - ) -> None: - """Update the screen at a given offset. - - Args: - renderable (RenderableType): A Rich renderable. - region (Region, optional): Region of screen to update, or None for entire screen. Defaults to None. - x (int, optional): x offset. Defaults to 0. - y (int, optional): y offset. Defaults to 0. - - Raises: - errors.NoAltScreen: If the Console isn't in alt screen mode. - - """ - if not self.is_alt_screen: - raise errors.NoAltScreen("Alt screen must be enabled to call update_screen") - render_options = options or self.options - if region is None: - x = y = 0 - render_options = render_options.update_dimensions( - render_options.max_width, render_options.height or self.height - ) - else: - x, y, width, height = region - render_options = render_options.update_dimensions(width, height) - - lines = self.render_lines(renderable, options=render_options) - self.update_screen_lines(lines, x, y) - - def update_screen_lines( - self, lines: List[List[Segment]], x: int = 0, y: int = 0 - ) -> None: - """Update lines of the screen at a given offset. - - Args: - lines (List[List[Segment]]): Rendered lines (as produced by :meth:`~rich.Console.render_lines`). - x (int, optional): x offset (column no). Defaults to 0. - y (int, optional): y offset (column no). Defaults to 0. - - Raises: - errors.NoAltScreen: If the Console isn't in alt screen mode. - """ - if not self.is_alt_screen: - raise errors.NoAltScreen("Alt screen must be enabled to call update_screen") - screen_update = ScreenUpdate(lines, x, y) - segments = self.render(screen_update) - self._buffer.extend(segments) - self._check_buffer() - - def print_exception( - self, - *, - width: Optional[int] = 100, - extra_lines: int = 3, - theme: Optional[str] = None, - word_wrap: bool = False, - show_locals: bool = False, - suppress: Iterable[Union[str, ModuleType]] = (), - max_frames: int = 100, - ) -> None: - """Prints a rich render of the last exception and traceback. - - Args: - width (Optional[int], optional): Number of characters used to render code. Defaults to 100. - extra_lines (int, optional): Additional lines of code to render. Defaults to 3. - theme (str, optional): Override pygments theme used in traceback - word_wrap (bool, optional): Enable word wrapping of long lines. Defaults to False. - show_locals (bool, optional): Enable display of local variables. Defaults to False. - suppress (Iterable[Union[str, ModuleType]]): Optional sequence of modules or paths to exclude from traceback. - max_frames (int): Maximum number of frames to show in a traceback, 0 for no maximum. Defaults to 100. - """ - from .traceback import Traceback - - traceback = Traceback( - width=width, - extra_lines=extra_lines, - theme=theme, - word_wrap=word_wrap, - show_locals=show_locals, - suppress=suppress, - max_frames=max_frames, - ) - self.print(traceback) - - @staticmethod - def _caller_frame_info( - offset: int, - currentframe: Callable[[], Optional[FrameType]] = inspect.currentframe, - ) -> Tuple[str, int, Dict[str, Any]]: - """Get caller frame information. - - Args: - offset (int): the caller offset within the current frame stack. - currentframe (Callable[[], Optional[FrameType]], optional): the callable to use to - retrieve the current frame. Defaults to ``inspect.currentframe``. - - Returns: - Tuple[str, int, Dict[str, Any]]: A tuple containing the filename, the line number and - the dictionary of local variables associated with the caller frame. - - Raises: - RuntimeError: If the stack offset is invalid. - """ - # Ignore the frame of this local helper - offset += 1 - - frame = currentframe() - if frame is not None: - # Use the faster currentframe where implemented - while offset and frame is not None: - frame = frame.f_back - offset -= 1 - assert frame is not None - return frame.f_code.co_filename, frame.f_lineno, frame.f_locals - else: - # Fallback to the slower stack - frame_info = inspect.stack()[offset] - return frame_info.filename, frame_info.lineno, frame_info.frame.f_locals - -
      -[docs] - def log( - self, - *objects: Any, - sep: str = " ", - end: str = "\n", - style: Optional[Union[str, Style]] = None, - justify: Optional[JustifyMethod] = None, - emoji: Optional[bool] = None, - markup: Optional[bool] = None, - highlight: Optional[bool] = None, - log_locals: bool = False, - _stack_offset: int = 1, - ) -> None: - """Log rich content to the terminal. - - Args: - objects (positional args): Objects to log to the terminal. - sep (str, optional): String to write between print data. Defaults to " ". - end (str, optional): String to write at end of print data. Defaults to "\\\\n". - style (Union[str, Style], optional): A style to apply to output. Defaults to None. - justify (str, optional): One of "left", "right", "center", or "full". Defaults to ``None``. - emoji (Optional[bool], optional): Enable emoji code, or ``None`` to use console default. Defaults to None. - markup (Optional[bool], optional): Enable markup, or ``None`` to use console default. Defaults to None. - highlight (Optional[bool], optional): Enable automatic highlighting, or ``None`` to use console default. Defaults to None. - log_locals (bool, optional): Boolean to enable logging of locals where ``log()`` - was called. Defaults to False. - _stack_offset (int, optional): Offset of caller from end of call stack. Defaults to 1. - """ - if not objects: - objects = (NewLine(),) - - render_hooks = self._render_hooks[:] - - with self: - renderables = self._collect_renderables( - objects, - sep, - end, - justify=justify, - emoji=emoji, - markup=markup, - highlight=highlight, - ) - if style is not None: - renderables = [Styled(renderable, style) for renderable in renderables] - - filename, line_no, locals = self._caller_frame_info(_stack_offset) - link_path = None if filename.startswith("<") else os.path.abspath(filename) - path = filename.rpartition(os.sep)[-1] - if log_locals: - locals_map = { - key: value - for key, value in locals.items() - if not key.startswith("__") - } - renderables.append(render_scope(locals_map, title="[i]locals")) - - renderables = [ - self._log_render( - self, - renderables, - log_time=self.get_datetime(), - path=path, - line_no=line_no, - link_path=link_path, - ) - ] - for hook in render_hooks: - renderables = hook.process_renderables(renderables) - new_segments: List[Segment] = [] - extend = new_segments.extend - render = self.render - render_options = self.options - for renderable in renderables: - extend(render(renderable, render_options)) - buffer_extend = self._buffer.extend - for line in Segment.split_and_crop_lines( - new_segments, self.width, pad=False - ): - buffer_extend(line)
      - - - def on_broken_pipe(self) -> None: - """This function is called when a `BrokenPipeError` is raised. - - This can occur when piping Textual output in Linux and macOS. - The default implementation is to exit the app, but you could implement - this method in a subclass to change the behavior. - - See https://docs.python.org/3/library/signal.html#note-on-sigpipe for details. - """ - self.quiet = True - devnull = os.open(os.devnull, os.O_WRONLY) - os.dup2(devnull, sys.stdout.fileno()) - raise SystemExit(1) - - def _check_buffer(self) -> None: - """Check if the buffer may be rendered. Render it if it can (e.g. Console.quiet is False) - Rendering is supported on Windows, Unix and Jupyter environments. For - legacy Windows consoles, the win32 API is called directly. - This method will also record what it renders if recording is enabled via Console.record. - """ - if self.quiet: - del self._buffer[:] - return - - try: - self._write_buffer() - except BrokenPipeError: - self.on_broken_pipe() - - def _write_buffer(self) -> None: - """Write the buffer to the output file.""" - - with self._lock: - if self.record and not self._buffer_index: - with self._record_buffer_lock: - self._record_buffer.extend(self._buffer[:]) - - if self._buffer_index == 0: - if self.is_jupyter: # pragma: no cover - from .jupyter import display - - display(self._buffer, self._render_buffer(self._buffer[:])) - del self._buffer[:] - else: - if WINDOWS: - use_legacy_windows_render = False - if self.legacy_windows: - fileno = get_fileno(self.file) - if fileno is not None: - use_legacy_windows_render = ( - fileno in _STD_STREAMS_OUTPUT - ) - - if use_legacy_windows_render: - from rich._win32_console import LegacyWindowsTerm - from rich._windows_renderer import legacy_windows_render - - buffer = self._buffer[:] - if self.no_color and self._color_system: - buffer = list(Segment.remove_color(buffer)) - - legacy_windows_render(buffer, LegacyWindowsTerm(self.file)) - else: - # Either a non-std stream on legacy Windows, or modern Windows. - text = self._render_buffer(self._buffer[:]) - # https://bugs.python.org/issue37871 - # https://github.com/python/cpython/issues/82052 - # We need to avoid writing more than 32Kb in a single write, due to the above bug - write = self.file.write - # Worse case scenario, every character is 4 bytes of utf-8 - MAX_WRITE = 32 * 1024 // 4 - try: - if len(text) <= MAX_WRITE: - write(text) - else: - batch: List[str] = [] - batch_append = batch.append - size = 0 - for line in text.splitlines(True): - if size + len(line) > MAX_WRITE and batch: - write("".join(batch)) - batch.clear() - size = 0 - batch_append(line) - size += len(line) - if batch: - write("".join(batch)) - batch.clear() - except UnicodeEncodeError as error: - error.reason = f"{error.reason}\n*** You may need to add PYTHONIOENCODING=utf-8 to your environment ***" - raise - else: - text = self._render_buffer(self._buffer[:]) - try: - self.file.write(text) - except UnicodeEncodeError as error: - error.reason = f"{error.reason}\n*** You may need to add PYTHONIOENCODING=utf-8 to your environment ***" - raise - - self.file.flush() - del self._buffer[:] - - def _render_buffer(self, buffer: Iterable[Segment]) -> str: - """Render buffered output, and clear buffer.""" - output: List[str] = [] - append = output.append - color_system = self._color_system - legacy_windows = self.legacy_windows - not_terminal = not self.is_terminal - if self.no_color and color_system: - buffer = Segment.remove_color(buffer) - for text, style, control in buffer: - if style: - append( - style.render( - text, - color_system=color_system, - legacy_windows=legacy_windows, - ) - ) - elif not (not_terminal and control): - append(text) - - rendered = "".join(output) - return rendered - - def input( - self, - prompt: TextType = "", - *, - markup: bool = True, - emoji: bool = True, - password: bool = False, - stream: Optional[TextIO] = None, - ) -> str: - """Displays a prompt and waits for input from the user. The prompt may contain color / style. - - It works in the same way as Python's builtin :func:`input` function and provides elaborate line editing and history features if Python's builtin :mod:`readline` module is previously loaded. - - Args: - prompt (Union[str, Text]): Text to render in the prompt. - markup (bool, optional): Enable console markup (requires a str prompt). Defaults to True. - emoji (bool, optional): Enable emoji (requires a str prompt). Defaults to True. - password: (bool, optional): Hide typed text. Defaults to False. - stream: (TextIO, optional): Optional file to read input from (rather than stdin). Defaults to None. - - Returns: - str: Text read from stdin. - """ - if prompt: - self.print(prompt, markup=markup, emoji=emoji, end="") - if password: - result = getpass("", stream=stream) - else: - if stream: - result = stream.readline() - else: - result = input() - return result - - def export_text(self, *, clear: bool = True, styles: bool = False) -> str: - """Generate text from console contents (requires record=True argument in constructor). - - Args: - clear (bool, optional): Clear record buffer after exporting. Defaults to ``True``. - styles (bool, optional): If ``True``, ansi escape codes will be included. ``False`` for plain text. - Defaults to ``False``. - - Returns: - str: String containing console contents. - - """ - assert ( - self.record - ), "To export console contents set record=True in the constructor or instance" - - with self._record_buffer_lock: - if styles: - text = "".join( - (style.render(text) if style else text) - for text, style, _ in self._record_buffer - ) - else: - text = "".join( - segment.text - for segment in self._record_buffer - if not segment.control - ) - if clear: - del self._record_buffer[:] - return text - - def save_text(self, path: str, *, clear: bool = True, styles: bool = False) -> None: - """Generate text from console and save to a given location (requires record=True argument in constructor). - - Args: - path (str): Path to write text files. - clear (bool, optional): Clear record buffer after exporting. Defaults to ``True``. - styles (bool, optional): If ``True``, ansi style codes will be included. ``False`` for plain text. - Defaults to ``False``. - - """ - text = self.export_text(clear=clear, styles=styles) - with open(path, "w", encoding="utf-8") as write_file: - write_file.write(text) - - def export_html( - self, - *, - theme: Optional[TerminalTheme] = None, - clear: bool = True, - code_format: Optional[str] = None, - inline_styles: bool = False, - ) -> str: - """Generate HTML from console contents (requires record=True argument in constructor). - - Args: - theme (TerminalTheme, optional): TerminalTheme object containing console colors. - clear (bool, optional): Clear record buffer after exporting. Defaults to ``True``. - code_format (str, optional): Format string to render HTML. In addition to '{foreground}', - '{background}', and '{code}', should contain '{stylesheet}' if inline_styles is ``False``. - inline_styles (bool, optional): If ``True`` styles will be inlined in to spans, which makes files - larger but easier to cut and paste markup. If ``False``, styles will be embedded in a style tag. - Defaults to False. - - Returns: - str: String containing console contents as HTML. - """ - assert ( - self.record - ), "To export console contents set record=True in the constructor or instance" - fragments: List[str] = [] - append = fragments.append - _theme = theme or DEFAULT_TERMINAL_THEME - stylesheet = "" - - render_code_format = CONSOLE_HTML_FORMAT if code_format is None else code_format - - with self._record_buffer_lock: - if inline_styles: - for text, style, _ in Segment.filter_control( - Segment.simplify(self._record_buffer) - ): - text = escape(text) - if style: - rule = style.get_html_style(_theme) - if style.link: - text = f'<a href="{style.link}">{text}</a>' - text = f'<span style="{rule}">{text}</span>' if rule else text - append(text) - else: - styles: Dict[str, int] = {} - for text, style, _ in Segment.filter_control( - Segment.simplify(self._record_buffer) - ): - text = escape(text) - if style: - rule = style.get_html_style(_theme) - style_number = styles.setdefault(rule, len(styles) + 1) - if style.link: - text = f'<a class="r{style_number}" href="{style.link}">{text}</a>' - else: - text = f'<span class="r{style_number}">{text}</span>' - append(text) - stylesheet_rules: List[str] = [] - stylesheet_append = stylesheet_rules.append - for style_rule, style_number in styles.items(): - if style_rule: - stylesheet_append(f".r{style_number} {{{style_rule}}}") - stylesheet = "\n".join(stylesheet_rules) - - rendered_code = render_code_format.format( - code="".join(fragments), - stylesheet=stylesheet, - foreground=_theme.foreground_color.hex, - background=_theme.background_color.hex, - ) - if clear: - del self._record_buffer[:] - return rendered_code - - def save_html( - self, - path: str, - *, - theme: Optional[TerminalTheme] = None, - clear: bool = True, - code_format: str = CONSOLE_HTML_FORMAT, - inline_styles: bool = False, - ) -> None: - """Generate HTML from console contents and write to a file (requires record=True argument in constructor). - - Args: - path (str): Path to write html file. - theme (TerminalTheme, optional): TerminalTheme object containing console colors. - clear (bool, optional): Clear record buffer after exporting. Defaults to ``True``. - code_format (str, optional): Format string to render HTML. In addition to '{foreground}', - '{background}', and '{code}', should contain '{stylesheet}' if inline_styles is ``False``. - inline_styles (bool, optional): If ``True`` styles will be inlined in to spans, which makes files - larger but easier to cut and paste markup. If ``False``, styles will be embedded in a style tag. - Defaults to False. - - """ - html = self.export_html( - theme=theme, - clear=clear, - code_format=code_format, - inline_styles=inline_styles, - ) - with open(path, "w", encoding="utf-8") as write_file: - write_file.write(html) - - def export_svg( - self, - *, - title: str = "Rich", - theme: Optional[TerminalTheme] = None, - clear: bool = True, - code_format: str = CONSOLE_SVG_FORMAT, - font_aspect_ratio: float = 0.61, - unique_id: Optional[str] = None, - ) -> str: - """ - Generate an SVG from the console contents (requires record=True in Console constructor). - - Args: - title (str, optional): The title of the tab in the output image - theme (TerminalTheme, optional): The ``TerminalTheme`` object to use to style the terminal - clear (bool, optional): Clear record buffer after exporting. Defaults to ``True`` - code_format (str, optional): Format string used to generate the SVG. Rich will inject a number of variables - into the string in order to form the final SVG output. The default template used and the variables - injected by Rich can be found by inspecting the ``console.CONSOLE_SVG_FORMAT`` variable. - font_aspect_ratio (float, optional): The width to height ratio of the font used in the ``code_format`` - string. Defaults to 0.61, which is the width to height ratio of Fira Code (the default font). - If you aren't specifying a different font inside ``code_format``, you probably don't need this. - unique_id (str, optional): unique id that is used as the prefix for various elements (CSS styles, node - ids). If not set, this defaults to a computed value based on the recorded content. - """ - - from rich.cells import cell_len - - style_cache: Dict[Style, str] = {} - - def get_svg_style(style: Style) -> str: - """Convert a Style to CSS rules for SVG.""" - if style in style_cache: - return style_cache[style] - css_rules = [] - color = ( - _theme.foreground_color - if (style.color is None or style.color.is_default) - else style.color.get_truecolor(_theme) - ) - bgcolor = ( - _theme.background_color - if (style.bgcolor is None or style.bgcolor.is_default) - else style.bgcolor.get_truecolor(_theme) - ) - if style.reverse: - color, bgcolor = bgcolor, color - if style.dim: - color = blend_rgb(color, bgcolor, 0.4) - css_rules.append(f"fill: {color.hex}") - if style.bold: - css_rules.append("font-weight: bold") - if style.italic: - css_rules.append("font-style: italic;") - if style.underline: - css_rules.append("text-decoration: underline;") - if style.strike: - css_rules.append("text-decoration: line-through;") - - css = ";".join(css_rules) - style_cache[style] = css - return css - - _theme = theme or SVG_EXPORT_THEME - - width = self.width - char_height = 20 - char_width = char_height * font_aspect_ratio - line_height = char_height * 1.22 - - margin_top = 1 - margin_right = 1 - margin_bottom = 1 - margin_left = 1 - - padding_top = 40 - padding_right = 8 - padding_bottom = 8 - padding_left = 8 - - padding_width = padding_left + padding_right - padding_height = padding_top + padding_bottom - margin_width = margin_left + margin_right - margin_height = margin_top + margin_bottom - - text_backgrounds: List[str] = [] - text_group: List[str] = [] - classes: Dict[str, int] = {} - style_no = 1 - - def escape_text(text: str) -> str: - """HTML escape text and replace spaces with nbsp.""" - return escape(text).replace(" ", "&#160;") - - def make_tag( - name: str, content: Optional[str] = None, **attribs: object - ) -> str: - """Make a tag from name, content, and attributes.""" - - def stringify(value: object) -> str: - if isinstance(value, (float)): - return format(value, "g") - return str(value) - - tag_attribs = " ".join( - f'{k.lstrip("_").replace("_", "-")}="{stringify(v)}"' - for k, v in attribs.items() - ) - return ( - f"<{name} {tag_attribs}>{content}</{name}>" - if content - else f"<{name} {tag_attribs}/>" - ) - - with self._record_buffer_lock: - segments = list(Segment.filter_control(self._record_buffer)) - if clear: - self._record_buffer.clear() - - if unique_id is None: - unique_id = "terminal-" + str( - zlib.adler32( - ("".join(repr(segment) for segment in segments)).encode( - "utf-8", - "ignore", - ) - + title.encode("utf-8", "ignore") - ) - ) - y = 0 - for y, line in enumerate(Segment.split_and_crop_lines(segments, length=width)): - x = 0 - for text, style, _control in line: - style = style or Style() - rules = get_svg_style(style) - if rules not in classes: - classes[rules] = style_no - style_no += 1 - class_name = f"r{classes[rules]}" - - if style.reverse: - has_background = True - background = ( - _theme.foreground_color.hex - if style.color is None - else style.color.get_truecolor(_theme).hex - ) - else: - bgcolor = style.bgcolor - has_background = bgcolor is not None and not bgcolor.is_default - background = ( - _theme.background_color.hex - if style.bgcolor is None - else style.bgcolor.get_truecolor(_theme).hex - ) - - text_length = cell_len(text) - if has_background: - text_backgrounds.append( - make_tag( - "rect", - fill=background, - x=x * char_width, - y=y * line_height + 1.5, - width=char_width * text_length, - height=line_height + 0.25, - shape_rendering="crispEdges", - ) - ) - - if text != " " * len(text): - text_group.append( - make_tag( - "text", - escape_text(text), - _class=f"{unique_id}-{class_name}", - x=x * char_width, - y=y * line_height + char_height, - textLength=char_width * len(text), - clip_path=f"url(#{unique_id}-line-{y})", - ) - ) - x += cell_len(text) - - line_offsets = [line_no * line_height + 1.5 for line_no in range(y)] - lines = "\n".join( - f"""<clipPath id="{unique_id}-line-{line_no}"> - {make_tag("rect", x=0, y=offset, width=char_width * width, height=line_height + 0.25)} - </clipPath>""" - for line_no, offset in enumerate(line_offsets) - ) - - styles = "\n".join( - f".{unique_id}-r{rule_no} {{ {css} }}" for css, rule_no in classes.items() - ) - backgrounds = "".join(text_backgrounds) - matrix = "".join(text_group) - - terminal_width = ceil(width * char_width + padding_width) - terminal_height = (y + 1) * line_height + padding_height - chrome = make_tag( - "rect", - fill=_theme.background_color.hex, - stroke="rgba(255,255,255,0.35)", - stroke_width="1", - x=margin_left, - y=margin_top, - width=terminal_width, - height=terminal_height, - rx=8, - ) - - title_color = _theme.foreground_color.hex - if title: - chrome += make_tag( - "text", - escape_text(title), - _class=f"{unique_id}-title", - fill=title_color, - text_anchor="middle", - x=terminal_width // 2, - y=margin_top + char_height + 6, - ) - chrome += f""" - <g transform="translate(26,22)"> - <circle cx="0" cy="0" r="7" fill="#ff5f57"/> - <circle cx="22" cy="0" r="7" fill="#febc2e"/> - <circle cx="44" cy="0" r="7" fill="#28c840"/> - </g> - """ - - svg = code_format.format( - unique_id=unique_id, - char_width=char_width, - char_height=char_height, - line_height=line_height, - terminal_width=char_width * width - 1, - terminal_height=(y + 1) * line_height - 1, - width=terminal_width + margin_width, - height=terminal_height + margin_height, - terminal_x=margin_left + padding_left, - terminal_y=margin_top + padding_top, - styles=styles, - chrome=chrome, - backgrounds=backgrounds, - matrix=matrix, - lines=lines, - ) - return svg - - def save_svg( - self, - path: str, - *, - title: str = "Rich", - theme: Optional[TerminalTheme] = None, - clear: bool = True, - code_format: str = CONSOLE_SVG_FORMAT, - font_aspect_ratio: float = 0.61, - unique_id: Optional[str] = None, - ) -> None: - """Generate an SVG file from the console contents (requires record=True in Console constructor). - - Args: - path (str): The path to write the SVG to. - title (str, optional): The title of the tab in the output image - theme (TerminalTheme, optional): The ``TerminalTheme`` object to use to style the terminal - clear (bool, optional): Clear record buffer after exporting. Defaults to ``True`` - code_format (str, optional): Format string used to generate the SVG. Rich will inject a number of variables - into the string in order to form the final SVG output. The default template used and the variables - injected by Rich can be found by inspecting the ``console.CONSOLE_SVG_FORMAT`` variable. - font_aspect_ratio (float, optional): The width to height ratio of the font used in the ``code_format`` - string. Defaults to 0.61, which is the width to height ratio of Fira Code (the default font). - If you aren't specifying a different font inside ``code_format``, you probably don't need this. - unique_id (str, optional): unique id that is used as the prefix for various elements (CSS styles, node - ids). If not set, this defaults to a computed value based on the recorded content. - """ - svg = self.export_svg( - title=title, - theme=theme, - clear=clear, - code_format=code_format, - font_aspect_ratio=font_aspect_ratio, - unique_id=unique_id, - ) - with open(path, "w", encoding="utf-8") as write_file: - write_file.write(svg)
      - - - -def _svg_hash(svg_main_code: str) -> str: - """Returns a unique hash for the given SVG main code. - - Args: - svg_main_code (str): The content we're going to inject in the SVG envelope. - - Returns: - str: a hash of the given content - """ - return str(zlib.adler32(svg_main_code.encode())) - - -if __name__ == "__main__": # pragma: no cover - console = Console(record=True) - - console.log( - "JSONRPC [i]request[/i]", - 5, - 1.3, - True, - False, - None, - { - "jsonrpc": "2.0", - "method": "subtract", - "params": {"minuend": 42, "subtrahend": 23}, - "id": 3, - }, - ) - - console.log("Hello, World!", "{'a': 1}", repr(console)) - - console.print( - { - "name": None, - "empty": [], - "quiz": { - "sport": { - "answered": True, - "q1": { - "question": "Which one is correct team name in NBA?", - "options": [ - "New York Bulls", - "Los Angeles Kings", - "Golden State Warriors", - "Huston Rocket", - ], - "answer": "Huston Rocket", - }, - }, - "maths": { - "answered": False, - "q1": { - "question": "5 + 7 = ?", - "options": [10, 11, 12, 13], - "answer": 12, - }, - "q2": { - "question": "12 - 8 = ?", - "options": [1, 2, 3, 4], - "answer": 4, - }, - }, - }, - } - ) -
      - -
      - - - - - - -
      - -
      -
      -
      - -
      - - - - -
      -
      - - -
      - - -
      -
      -
      - - - - - -
      -
      - - \ No newline at end of file diff --git a/static/python-api/html/_modules/scalecodec/utils/ss58.html b/static/python-api/html/_modules/scalecodec/utils/ss58.html index be5c8c006d..a8f809b412 100644 --- a/static/python-api/html/_modules/scalecodec/utils/ss58.html +++ b/static/python-api/html/_modules/scalecodec/utils/ss58.html @@ -175,7 +175,6 @@
    1329. bittensor.utils.easy_imports
    1330. bittensor.utils.formatting
    1331. bittensor.utils.liquidity
    1332. -
    1333. bittensor.utils.mock
    1334. bittensor.utils.networking
    1335. bittensor.utils.registration
    1336. bittensor.utils.subnets
    1337. diff --git a/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html b/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html index 73970a68a6..c0fc27a90e 100644 --- a/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html +++ b/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html @@ -176,7 +176,6 @@
    1338. bittensor.utils.easy_imports
    1339. bittensor.utils.formatting
    1340. bittensor.utils.liquidity
    1341. -
    1342. bittensor.utils.mock
    1343. bittensor.utils.networking
    1344. bittensor.utils.registration
    1345. bittensor.utils.subnets
    1346. @@ -433,6 +432,7 @@

      Contents

    1347. AsyncSubtensor.get_commitment()
    1348. AsyncSubtensor.get_current_block()
    1349. AsyncSubtensor.get_current_weight_commit_info()
    1350. +
    1351. AsyncSubtensor.get_current_weight_commit_info_v2()
    1352. AsyncSubtensor.get_delegate_by_hotkey()
    1353. AsyncSubtensor.get_delegate_identities()
    1354. AsyncSubtensor.get_delegate_take()
    1355. @@ -462,6 +462,7 @@

      Contents

    1356. AsyncSubtensor.get_stake_info_for_coldkey
    1357. AsyncSubtensor.get_stake_movement_fee()
    1358. AsyncSubtensor.get_stake_operations_fee()
    1359. +
    1360. AsyncSubtensor.get_stake_weight()
    1361. AsyncSubtensor.get_subnet_burn_cost()
    1362. AsyncSubtensor.get_subnet_hyperparameters()
    1363. AsyncSubtensor.get_subnet_info()
    1364. @@ -630,7 +631,7 @@

      Module Contents
      -async add_liquidity(wallet, netuid, liquidity, price_low, price_high, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +async add_liquidity(wallet, netuid, liquidity, price_low, price_high, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#

      Adds liquidity to the specified price range.

      Parameters:
      @@ -758,10 +759,8 @@

      Module Contents

      Example

      -

      Get all subnets at current block:

      -
      subnets = await subtensor.all_subnets()
      -
      -
      +

      # Get all subnets at current block +subnets = await subtensor.all_subnets()

      @@ -773,7 +772,7 @@

      Module Contents
      -async blocks_since_last_step(netuid, block=None, block_hash=None, reuse_block=False)#
      +async blocks_since_last_step(netuid, block=None, block_hash=None, reuse_block=False)[source]#

      Queries the blockchain to determine how many blocks have passed since the last epoch step for a specific subnet.

      @@ -795,14 +794,10 @@

      Module Contents

      Example

      -

      Get blocks since last step for subnet 1:

      -
      blocks = await subtensor.blocks_since_last_step(netuid=1)
      -
      -
      -

      Get blocks since last step at specific block:

      -
      blocks = await subtensor.blocks_since_last_step(netuid=1, block=1000000)
      -
      -
      +

      # Get blocks since last step for subnet 1 +blocks = await subtensor.blocks_since_last_step(netuid=1)

      +

      # Get blocks since last step at specific block +blocks = await subtensor.blocks_since_last_step(netuid=1, block=1000000)

      @@ -826,14 +821,10 @@

      Module Contents

      Example

      -

      Get blocks since last update for UID 5 in subnet 1:

      -
      blocks = await subtensor.blocks_since_last_update(netuid=1, uid=5)
      -
      -
      -

      Check if neuron needs updating:

      -
      blocks_since_update = await subtensor.blocks_since_last_update(netuid=1, uid=10)
      -
      -
      +

      # Get blocks since last update for UID 5 in subnet 1 +blocks = await subtensor.blocks_since_last_update(netuid=1, uid=5)

      +

      # Check if neuron needs updating +blocks_since_update = await subtensor.blocks_since_last_update(netuid=1, uid=10)

      @@ -862,10 +853,8 @@

      Module Contents

      Example

      -

      Get bonds for subnet 1 at block 1000000:

      -
      bonds = await subtensor.bonds(netuid=1, block=1000000)
      -
      -
      +

      # Get bonds for subnet 1 at block 1000000 +bonds = await subtensor.bonds(netuid=1, block=1000000)

      @@ -953,14 +940,10 @@

      Module Contents

      Example

      -

      Commit some data to subnet 1:

      -
      success = await subtensor.commit(wallet=my_wallet, netuid=1, data="Hello Bittensor!")
      -
      -
      -

      Commit with custom period:

      -
      success = await subtensor.commit(wallet=my_wallet, netuid=1, data="Model update v2.0", period=100)
      -
      -
      +

      # Commit some data to subnet 1 +success = await subtensor.commit(wallet=my_wallet, netuid=1, data=”Hello Bittensor!”)

      +

      # Commit with custom period +success = await subtensor.commit(wallet=my_wallet, netuid=1, data=”Model update v2.0”, period=100)

      Note: See <https://docs.learnbittensor.org/glossary#commit-reveal>

      @@ -989,14 +972,10 @@

      Module Contents

      Example

      -

      Check if commit-reveal is enabled for subnet 1:

      -
      enabled = await subtensor.commit_reveal_enabled(netuid=1)
      -
      -
      -

      Check at specific block:

      -
      enabled = await subtensor.commit_reveal_enabled(netuid=1, block=1000000)
      -
      -
      +

      # Check if commit-reveal is enabled for subnet 1 +enabled = await subtensor.commit_reveal_enabled(netuid=1)

      +

      # Check at specific block +enabled = await subtensor.commit_reveal_enabled(netuid=1, block=1000000)

      @@ -1113,14 +1086,10 @@

      Module Contents

      Example

      -

      Get difficulty for subnet 1:

      -
      difficulty = await subtensor.difficulty(netuid=1)
      -
      -
      -

      Get difficulty at specific block:

      -
      difficulty = await subtensor.difficulty(netuid=1, block=1000000)
      -
      -
      +

      # Get difficulty for subnet 1 +difficulty = await subtensor.difficulty(netuid=1)

      +

      # Get difficulty at specific block +difficulty = await subtensor.difficulty(netuid=1, block=1000000)

      @@ -1190,26 +1155,28 @@

      Module Contents

      Example

      -
      # Define parameter types
      -call_def = {
      -    "params": [
      -        {"name": "amount", "type": "u64"},
      -        {"name": "coldkey_ss58", "type": "str"}
      -    ]
      -}
      -
      -# Encode parameters as a dictionary
      -params_dict = {
      -    "amount": 1000000,
      -    "coldkey_ss58": "5F..."
      -}
      -encoded = await subtensor.encode_params(call_definition=call_def, params=params_dict)
      -
      -# Or encode as a list (positional)
      -params_list = [1000000, "5F..."]
      -encoded = await subtensor.encode_params(call_definition=call_def, params=params_list)
      -
      -
      +

      # Define parameter types +call_def = {

      +
      +
      +
      “params”: [

      {“name”: “amount”, “type”: “u64”}, +{“name”: “coldkey_ss58”, “type”: “str”}

      +
      +
      +

      ]

      +
      +

      }

      +

      # Encode parameters as a dictionary +params_dict = {

      +
      +

      “amount”: 1000000, +“coldkey_ss58”: “5F…”

      +
      +

      } +encoded = await subtensor.encode_params(call_definition=call_def, params=params_dict)

      +

      # Or encode as a list (positional) +params_list = [1000000, “5F…”] +encoded = await subtensor.encode_params(call_definition=call_def, params=params_list)

      @@ -1262,14 +1229,13 @@

      Module Contents

      Example

      -
      # Get all commitments for subnet 1
      -commitments = await subtensor.get_all_commitments(netuid=1)
      -
      -# Iterate over all commitments
      -for hotkey, commitment in commitments.items():
      -    print(f"Hotkey {hotkey}: {commitment}")
      -
      -
      +

      # Get all commitments for subnet 1 +commitments = await subtensor.get_all_commitments(netuid=1)

      +

      # Iterate over all commitments +for hotkey, commitment in commitments.items():

      +
      +

      print(f”Hotkey {hotkey}: {commitment}”)

      +

      @@ -1302,7 +1268,7 @@

      Module Contents
      -async get_all_neuron_certificates(netuid, block=None, block_hash=None, reuse_block=False)#
      +async get_all_neuron_certificates(netuid, block=None, block_hash=None, reuse_block=False)[source]#

      Retrieves the TLS certificates for neurons within a specified subnet (netuid) of the Bittensor network.

      Parameters:
      @@ -1326,7 +1292,7 @@

      Module Contents
      -async get_all_revealed_commitments(netuid, block=None, block_hash=None, reuse_block=False)#
      +async get_all_revealed_commitments(netuid, block=None, block_hash=None, reuse_block=False)[source]#

      Returns all revealed commitments for a given netuid.

      Parameters:
      @@ -1344,15 +1310,13 @@

      Module Contents

      result

      -
      -
      Example of result:
      {
      -    "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY": ( (12, "Alice message 1"), (152, "Alice message 2") ),
      -    "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty": ( (12, "Bob message 1"), (147, "Bob message 2") ),
      -}
      -
      -
      -
      -
      +

      Example of result: +{

      +
      +

      “5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY”: ( (12, “Alice message 1”), (152, “Alice message 2”) ), +“5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty”: ( (12, “Bob message 1”), (147, “Bob message 2”) ),

      +
      +

      }

      @@ -1378,17 +1342,15 @@

      Module Contents

      Example

      -
      # Get all subnet information
      -subnets = await subtensor.get_all_subnets_info()
      -
      -# Get at specific block
      -subnets = await subtensor.get_all_subnets_info(block=1000000)
      -
      -# Iterate over subnet information
      -for subnet in subnets:
      -    print(f"Subnet {subnet.netuid}: {subnet.name}")
      -
      -
      +

      # Get all subnet information +subnets = await subtensor.get_all_subnets_info()

      +

      # Get at specific block +subnets = await subtensor.get_all_subnets_info(block=1000000)

      +

      # Iterate over subnet information +for subnet in subnets:

      +
      +

      print(f”Subnet {subnet.netuid}: {subnet.name}”)

      +

      @@ -1462,10 +1420,8 @@

      Module Contents

      Example

      -

      Get balances for multiple addresses:

      -
      balances = await subtensor.get_balances("5F...", "5G...", "5H...")
      -
      -
      +

      # Get balances for multiple addresses +balances = await subtensor.get_balances(“5F…”, “5G…”, “5H…”)

      @@ -1544,7 +1500,7 @@

      Module Contents
      -async get_children_pending(hotkey, netuid, block=None, block_hash=None, reuse_block=False)#
      +async get_children_pending(hotkey, netuid, block=None, block_hash=None, reuse_block=False)[source]#

      Retrieves the pending children of a given hotkey and netuid.

      This method queries the SubtensorModule’s PendingChildKeys storage function to get children that are pending approval or in a cooldown period. These are children that have been proposed but not yet finalized.

      @@ -1597,13 +1553,13 @@

      Module Contents -
      commitment = await subtensor.get_commitment(

      netuid=1, +

      # Get commitment at specific block +commitment = await subtensor.get_commitment(

      +
      +

      netuid=1, uid=5, block=1000000

      -
      - +

      )

      @@ -1625,17 +1581,14 @@

      Module Contents

      Example

      -

      Get current block number:

      -
      current_block = await subtensor.get_current_block()
      -print(f"Current block: {current_block}")
      -
      -
      -

      Check if network has progressed past a milestone:

      -
      block = await subtensor.get_current_block()
      -if block > 1000000:
      -    print("Network has progressed past block 1M")
      -
      -
      +

      # Get current block number +current_block = await subtensor.get_current_block() +print(f”Current block: {current_block}”)

      +

      block = await subtensor.get_current_block() +if block > 1000000:

      +
      +

      print(“Network has progressed past block 1M”)

      +

      Notes

      @@ -1657,11 +1610,55 @@

      Module ContentsReturns: -

      A list of commit details, where each entry is a dictionary with keys ‘who’, ‘serialized_commit’, and -‘reveal_round’, or an empty list if no data is found.

      +

        +
      • +
        ss58_address: The address of the committer.
          +
        • commit_message: The commit message.

        • +
        • reveal_round: The round when the commitment was revealed.

        • +
        +
        +
        +
      • +
      +

      The list may be empty if there are no commits found.

      +

      Return type:
      -

      list

      +

      A list of commit details, where each item contains

      +
      + + + +
      +
      +async get_current_weight_commit_info_v2(netuid, block=None, block_hash=None, reuse_block=False)#
      +

      Retrieves CRV3 weight commit information for a specific subnet.

      +
      +
      Parameters:
      +
        +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query. Default is None.

      • +
      • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

      • +
      • reuse_block (bool) – Whether to reuse the last-used block hash.

      • +
      +
      +
      Returns:
      +

        +
      • +
        ss58_address: The address of the committer.
          +
        • commit_block: The block number when the commitment was made.

        • +
        • commit_message: The commit message.

        • +
        • reveal_round: The round when the commitment was revealed.

        • +
        +
        +
        +
      • +
      +

      The list may be empty if there are no commits found.

      +

      +
      +
      Return type:
      +

      A list of commit details, where each item contains

      @@ -1870,24 +1867,18 @@

      Module Contents

      Example

      -

      Get difficulty for subnet 1:

      -
      difficulty = await subtensor.get_hyperparameter(param_name="Difficulty", netuid=1)
      -
      -
      -

      Get tempo at a specific block:

      -
      tempo = await subtensor.get_hyperparameter(param_name="Tempo", netuid=1, block=1000000)
      -
      -
      -

      Get immunity period using block hash:

      -
      immunity = await subtensor.get_hyperparameter(param_name="ImmunityPeriod", netuid=1, block_hash="0x1234...")
      -
      -
      +

      # Get difficulty for subnet 1 +difficulty = await subtensor.get_hyperparameter(param_name=”Difficulty”, netuid=1)

      +

      # Get tempo at a specific block +tempo = await subtensor.get_hyperparameter(param_name=”Tempo”, netuid=1, block=1000000)

      +

      # Get immunity period using block hash +immunity = await subtensor.get_hyperparameter(param_name=”ImmunityPeriod”, netuid=1, block_hash=”0x1234…”)

      -async get_last_commitment_bonds_reset_block(netuid, uid)#
      +async get_last_commitment_bonds_reset_block(netuid, uid)[source]#

      Retrieves the last block number when the bonds reset were triggered by publish_metadata for a specific neuron.

      Parameters:
      @@ -1907,7 +1898,7 @@

      Module Contents
      -async get_liquidity_list(wallet, netuid, block=None, block_hash=None, reuse_block=False)#
      +async get_liquidity_list(wallet, netuid, block=None, block_hash=None, reuse_block=False)[source]#

      Retrieves all liquidity positions for the given wallet on a specified subnet (netuid). Calculates associated fee rewards based on current global and tick-level fee data.

      @@ -2075,7 +2066,7 @@

      Module Contents
      -async get_next_epoch_start_block(netuid, block=None, block_hash=None, reuse_block=False)#
      +async get_next_epoch_start_block(netuid, block=None, block_hash=None, reuse_block=False)[source]#

      Calculates the first block number of the next epoch for the given subnet.

      If block is not provided, the current chain block will be used. Epochs are determined based on the subnet’s tempo (i.e., blocks per epoch). The result is the block number at which the next epoch will begin.

      @@ -2103,7 +2094,7 @@

      Module Contents
      -async get_owned_hotkeys(coldkey_ss58, block=None, block_hash=None, reuse_block=False)#
      +async get_owned_hotkeys(coldkey_ss58, block=None, block_hash=None, reuse_block=False)[source]#

      Retrieves all hotkeys owned by a specific coldkey address.

      Parameters:
      @@ -2125,7 +2116,7 @@

      Module Contents
      -async get_parents(hotkey, netuid, block=None, block_hash=None, reuse_block=False)#
      +async get_parents(hotkey, netuid, block=None, block_hash=None, reuse_block=False)[source]#

      This method retrieves the parent of a given hotkey and netuid. It queries the SubtensorModule’s ParentKeys storage function to get the children and formats them before returning as a tuple.

      @@ -2149,7 +2140,7 @@

      Module Contents
      -async get_revealed_commitment(netuid, uid, block=None)#
      +async get_revealed_commitment(netuid, uid, block=None)[source]#

      Returns uid related revealed commitment for a given netuid.

      Parameters:
      @@ -2175,7 +2166,7 @@

      Module Contents
      -async get_revealed_commitment_by_hotkey(netuid, hotkey_ss58_address=None, block=None, block_hash=None, reuse_block=False)#
      +async get_revealed_commitment_by_hotkey(netuid, hotkey_ss58_address=None, block=None, block_hash=None, reuse_block=False)[source]#

      Returns hotkey related revealed commitment for a given netuid.

      Parameters:
      @@ -2223,7 +2214,7 @@

      Module Contents
      -async get_stake_add_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block=None)#
      +async get_stake_add_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block=None)[source]#

      Calculates the fee for adding new stake to a hotkey.

      Parameters:
      @@ -2321,7 +2312,7 @@

      Module Contents
      -async get_stake_movement_fee(amount, origin_netuid, origin_hotkey_ss58, origin_coldkey_ss58, destination_netuid, destination_hotkey_ss58, destination_coldkey_ss58, block=None)#
      +async get_stake_movement_fee(amount, origin_netuid, origin_hotkey_ss58, origin_coldkey_ss58, destination_netuid, destination_hotkey_ss58, destination_coldkey_ss58, block=None)[source]#

      Calculates the fee for moving stake between hotkeys/subnets/coldkeys.

      Parameters:
      @@ -2347,7 +2338,7 @@

      Module Contents
      -async get_stake_operations_fee(amount, netuid, block=None, block_hash=None, reuse_block=False)#
      +async get_stake_operations_fee(amount, netuid, block=None, block_hash=None, reuse_block=False)[source]#

      Returns fee for any stake operation in specified subnet.

      Parameters:
      @@ -2368,6 +2359,30 @@

      Module Contents +
      +async get_stake_weight(netuid, block=None, block_hash=None, reuse_block=False)#
      +

      Retrieves the stake weight for all hotkeys in a given subnet.

      +
      +
      Parameters:
      +
        +
      • netuid (int) – Netuid of subnet.

      • +
      • block (Optional[int]) – Block number at which to perform the calculation.

      • +
      • block_hash (Optional[str]) – The hash of the blockchain block number for the query. Do not specify if also specifying block +or reuse_block.

      • +
      • reuse_block (bool) – Whether to reuse for this query the last-used block. Do not specify if also specifying block +or block_hash.

      • +
      +
      +
      Returns:
      +

      A list of stake weights for all hotkeys in the specified subnet.

      +
      +
      Return type:
      +

      list[float]

      +
      +
      +

      +
      async get_subnet_burn_cost(block=None, block_hash=None, reuse_block=False)[source]#
      @@ -2423,7 +2438,7 @@

      Module Contents
      -async get_subnet_info(netuid, block=None, block_hash=None, reuse_block=False)#
      +async get_subnet_info(netuid, block=None, block_hash=None, reuse_block=False)[source]#

      Retrieves detailed information about subnet within the Bittensor network. This function provides comprehensive data on subnet, including its characteristics and operational parameters.

      @@ -2449,7 +2464,7 @@

      Module Contents
      -async get_subnet_owner_hotkey(netuid, block=None)#
      +async get_subnet_owner_hotkey(netuid, block=None)[source]#

      Retrieves the hotkey of the subnet owner for a given network UID.

      This function queries the subtensor network to fetch the hotkey of the owner of a subnet specified by its netuid. If no data is found or the query fails, the function returns None.

      @@ -2471,7 +2486,7 @@

      Module Contents
      -async get_subnet_price(netuid, block=None, block_hash=None, reuse_block=False)#
      +async get_subnet_price(netuid, block=None, block_hash=None, reuse_block=False)[source]#

      Gets the current Alpha price in TAO for all subnets.

      Parameters:
      @@ -2494,7 +2509,7 @@

      Module Contents
      -async get_subnet_prices(block=None, block_hash=None, reuse_block=False)#
      +async get_subnet_prices(block=None, block_hash=None, reuse_block=False)[source]#

      Gets the current Alpha price in TAO for a specified subnet.

      Parameters:
      @@ -2538,7 +2553,7 @@

      Module Contents
      -async get_subnet_validator_permits(netuid, block=None)#
      +async get_subnet_validator_permits(netuid, block=None)[source]#

      Retrieves the list of validator permits for a given subnet as boolean values.

      Parameters:
      @@ -2581,7 +2596,7 @@

      Module Contents
      -async get_timestamp(block=None, block_hash=None, reuse_block=False)#
      +async get_timestamp(block=None, block_hash=None, reuse_block=False)[source]#

      Retrieves the datetime timestamp for a given block.

      Parameters:
      @@ -2627,7 +2642,7 @@

      Module Contents
      -async get_transfer_fee(wallet, dest, value)[source]#
      +async get_transfer_fee(wallet, dest, value, keep_alive=True)[source]#

      Calculates the transaction fee for transferring tokens from a wallet to a specified destination address. This function simulates the transfer to estimate the associated cost, taking into account the current network conditions and transaction complexity.

      @@ -2638,6 +2653,8 @@

      Module Contentsstr) – The SS58 address of the destination account.

    1365. value (bittensor.utils.balance.Balance) – The amount of tokens to be transferred, specified as a Balance object, or in Tao (float) or Rao (int) units.

    1366. +
    1367. keep_alive (bool) – Whether the transfer fee should be calculated based on keeping the wallet alive (existential +deposit) or not.

    1368. Returns:
      @@ -2683,7 +2700,7 @@

      Module Contents
      -async get_unstake_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block=None)#
      +async get_unstake_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block=None)[source]#

      Calculates the fee for unstaking from a hotkey.

      Parameters:
      @@ -2774,23 +2791,19 @@

      Module Contents

      Example

      -

      Initialize the connection:

      -
      subtensor = AsyncSubtensor(network="finney")
      -await subtensor.initialize()
      -
      -balance = await subtensor.get_balance(address="5F...")
      -
      -
      -

      Or chain the initialization:

      -
      subtensor = await AsyncSubtensor(network="finney").initialize()
      -
      -
      +

      subtensor = AsyncSubtensor(network=”finney”)

      +

      # Initialize the connection +await subtensor.initialize()

      +

      # Now you can make queries +balance = await subtensor.get_balance(address=”5F…”)

      +

      # Or chain the initialization +subtensor = await AsyncSubtensor(network=”finney”).initialize()

      -async is_fast_blocks()#
      +async is_fast_blocks()[source]#

      Returns True if the node is running with fast blocks. False if not.

      @@ -2899,7 +2912,7 @@

      Module Contents
      -async is_subnet_active(netuid, block=None, block_hash=None, reuse_block=False)#
      +async is_subnet_active(netuid, block=None, block_hash=None, reuse_block=False)[source]#

      Verify if subnet with provided netuid is active.

      Parameters:
      @@ -3022,7 +3035,7 @@

      Module Contents
      -async modify_liquidity(wallet, netuid, position_id, liquidity_delta, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +async modify_liquidity(wallet, netuid, position_id, liquidity_delta, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#

      Modifies liquidity in liquidity position by adding or removing liquidity from it.

      Parameters:
      @@ -3053,32 +3066,30 @@

      Module Contents

      Example

      -
      import bittensor as bt
      -
      -subtensor = bt.AsyncSubtensor(network="local")
      -await subtensor.initialize()
      -
      -my_wallet = bt.Wallet()
      -
      -# if `liquidity_delta` is negative
      -my_liquidity_delta = Balance.from_tao(100) * -1
      -await subtensor.modify_liquidity(
      -    wallet=my_wallet,
      -    netuid=123,
      -    position_id=2,
      -    liquidity_delta=my_liquidity_delta
      -)
      -
      -# if `liquidity_delta` is positive
      -my_liquidity_delta = Balance.from_tao(120)
      -await subtensor.modify_liquidity(
      -    wallet=my_wallet,
      -    netuid=123,
      -    position_id=2,
      -    liquidity_delta=my_liquidity_delta
      -)
      -
      -
      +

      import bittensor as bt

      +

      subtensor = bt.AsyncSubtensor(network=”local”) +await subtensor.initialize()

      +

      my_wallet = bt.Wallet()

      +

      # if liquidity_delta is negative +my_liquidity_delta = Balance.from_tao(100) * -1 +await subtensor.modify_liquidity(

      +
      +

      wallet=my_wallet, +netuid=123, +position_id=2, +liquidity_delta=my_liquidity_delta

      +
      +

      )

      +

      # if liquidity_delta is positive +my_liquidity_delta = Balance.from_tao(120) +await subtensor.modify_liquidity(

      +
      +

      wallet=my_wallet, +netuid=123, +position_id=2, +liquidity_delta=my_liquidity_delta

      +
      +

      )

      Note: Modifying is allowed even when user liquidity is enabled in specified subnet. Call toggle_user_liquidity

      to enable/disable user liquidity.

      @@ -3223,21 +3234,21 @@

      Module Contents

      Example

      -

      Get existential deposit constant:

      -
      existential_deposit = await subtensor.query_constant(
      -    module_name="Balances",
      -    constant_name="ExistentialDeposit"
      -)
      -
      -
      -

      Get constant at specific block:

      -
      constant = await subtensor.query_constant(
      -    module_name="SubtensorModule",
      -    constant_name="SomeConstant",
      -    block=1000000
      -)
      -
      -
      +

      # Get existential deposit constant +existential_deposit = await subtensor.query_constant(

      +
      +

      module_name=”Balances”, +constant_name=”ExistentialDeposit”

      +
      +

      )

      +

      # Get constant at specific block +constant = await subtensor.query_constant(

      +
      +

      module_name=”SubtensorModule”, +constant_name=”SomeConstant”, +block=1000000

      +
      +

      )

      @@ -3268,8 +3279,10 @@

      Module Contents

      Note

      -

      See the Bittensor CLI documentation for supported identity -parameters.

      +
      +
      See the ``Bittensor CLI documentation <https://docs.bittensor.com/reference/btcli>``_ for supported identity

      parameters.

      +
      +

      @@ -3303,14 +3316,10 @@

      Module Contents

      Example

      -

      Query bonds for subnet 1:

      -
      bonds = await subtensor.query_map(module="SubtensorModule", name="Bonds", params=[1])
      -
      -
      -

      Query weights at specific block:

      -
      weights = await subtensor.query_map(module="SubtensorModule", name="Weights", params=[1], block=1000000)
      -
      -
      +

      # Query bonds for subnet 1 +bonds = await subtensor.query_map(module=”SubtensorModule”, name=”Bonds”, params=[1])

      +

      # Query weights at specific block +weights = await subtensor.query_map(module=”SubtensorModule”, name=”Weights”, params=[1], block=1000000)

      @@ -3519,7 +3528,7 @@

      Module Contents
      -async remove_liquidity(wallet, netuid, position_id, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +async remove_liquidity(wallet, netuid, position_id, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#

      Remove liquidity and credit balances back to wallet’s hotkey stake.

      Parameters:
      @@ -3628,7 +3637,7 @@

      Module Contents
      -async root_set_pending_childkey_cooldown(wallet, cooldown, wait_for_inclusion=True, wait_for_finalization=True, period=None)#
      +async root_set_pending_childkey_cooldown(wallet, cooldown, wait_for_inclusion=True, wait_for_finalization=True, period=None)[source]#

      Sets the pending childkey cooldown.

      Parameters:
      @@ -3716,7 +3725,7 @@

      Module Contents
      -async set_children(wallet, hotkey, netuid, children, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)#
      +async set_children(wallet, hotkey, netuid, children, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)[source]#

      Allows a coldkey to set children-keys.

      Parameters:
      @@ -3768,7 +3777,7 @@

      Module Contents
      -async set_delegate_take(wallet, hotkey_ss58, take, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)#
      +async set_delegate_take(wallet, hotkey_ss58, take, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)[source]#

      Sets the delegate ‘take’ percentage for a neuron identified by its hotkey. The ‘take’ represents the percentage of rewards that the delegate claims from its nominators’ stakes.

      @@ -3815,7 +3824,7 @@

      Module Contents
      -async set_reveal_commitment(wallet, netuid, data, blocks_until_reveal=360, block_time=12, period=None)#
      +async set_reveal_commitment(wallet, netuid, data, blocks_until_reveal=360, block_time=12, period=None)[source]#

      Commits arbitrary data to the Bittensor network by publishing metadata.

      Parameters:
      @@ -3956,7 +3965,7 @@

      Module Contents
      -async start_call(wallet, netuid, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +async start_call(wallet, netuid, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#

      Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start a new subnet’s emission mechanism).

      @@ -4164,7 +4173,7 @@

      Module Contents
      -async toggle_user_liquidity(wallet, netuid, enable, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +async toggle_user_liquidity(wallet, netuid, enable, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#

      Allow to toggle user liquidity for specified subnet.

      Parameters:
      @@ -4202,7 +4211,7 @@

      Module Contents

      Returns:
      @@ -2246,7 +2311,7 @@

      Module Contents
      -get_unstake_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block=None)#
      +get_unstake_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block=None)[source]#

      Calculates the fee for unstaking from a hotkey.

      Parameters:
      @@ -2324,7 +2389,7 @@

      Module Contents
      -is_fast_blocks()#
      +is_fast_blocks()[source]#

      Returns True if the node is running with fast blocks. False if not.

      @@ -2432,7 +2497,7 @@

      Module Contents
      -is_subnet_active(netuid, block=None)#
      +is_subnet_active(netuid, block=None)[source]#

      Verify if subnet with provided netuid is active.

      Parameters:
      @@ -2537,7 +2602,7 @@

      Module Contents
      -modify_liquidity(wallet, netuid, position_id, liquidity_delta, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +modify_liquidity(wallet, netuid, position_id, liquidity_delta, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#

      Modifies liquidity in liquidity position by adding or removing liquidity from it.

      Parameters:
      @@ -3020,7 +3085,7 @@

      Module Contents
      -remove_liquidity(wallet, netuid, position_id, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +remove_liquidity(wallet, netuid, position_id, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#

      Remove liquidity and credit balances back to wallet’s hotkey stake.

      Parameters:
      @@ -3129,7 +3194,7 @@

      Module Contents
      -root_set_pending_childkey_cooldown(wallet, cooldown, wait_for_inclusion=True, wait_for_finalization=True, period=None)#
      +root_set_pending_childkey_cooldown(wallet, cooldown, wait_for_inclusion=True, wait_for_finalization=True, period=None)[source]#

      Sets the pending childkey cooldown.

      Parameters:
      @@ -3224,7 +3289,7 @@

      Module Contents
      -set_children(wallet, hotkey, netuid, children, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)#
      +set_children(wallet, hotkey, netuid, children, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)[source]#

      Allows a coldkey to set children-keys.

      Parameters:
      @@ -3261,7 +3326,7 @@

      Module Contents
      -set_delegate_take(wallet, hotkey_ss58, take, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)#
      +set_delegate_take(wallet, hotkey_ss58, take, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)[source]#

      Sets the delegate ‘take’ percentage for a neuron identified by its hotkey. The ‘take’ represents the percentage of rewards that the delegate claims from its nominators’ stakes.

      @@ -3309,7 +3374,7 @@

      Module Contents
      -set_reveal_commitment(wallet, netuid, data, blocks_until_reveal=360, block_time=12, period=None)#
      +set_reveal_commitment(wallet, netuid, data, blocks_until_reveal=360, block_time=12, period=None)[source]#

      Commits arbitrary data to the Bittensor network by publishing metadata.

      Parameters:
      @@ -3442,7 +3507,7 @@

      Module Contents
      -start_call(wallet, netuid, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +start_call(wallet, netuid, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
      Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start

      a new subnet’s emission mechanism).

      @@ -3647,7 +3712,7 @@

      Module Contents
      -toggle_user_liquidity(wallet, netuid, enable, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +toggle_user_liquidity(wallet, netuid, enable, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#

      Allow to toggle user liquidity for specified subnet.

      Parameters:
      @@ -3802,7 +3867,7 @@

      Module Contents
      -unstake_all(wallet, hotkey, netuid, rate_tolerance=0.005, wait_for_inclusion=True, wait_for_finalization=False, period=None)#
      +unstake_all(wallet, hotkey, netuid, rate_tolerance=0.005, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#

      Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network.

      Parameters:
      @@ -4069,6 +4134,7 @@

      Module ContentsSubtensor.get_commitment()
    1369. Subtensor.get_current_block()
    1370. Subtensor.get_current_weight_commit_info()
    1371. +
    1372. Subtensor.get_current_weight_commit_info_v2()
    1373. Subtensor.get_delegate_by_hotkey()
    1374. Subtensor.get_delegate_identities()
    1375. Subtensor.get_delegate_take()
    1376. @@ -4098,6 +4164,7 @@

      Module ContentsSubtensor.get_stake_info_for_coldkey
    1377. Subtensor.get_stake_movement_fee()
    1378. Subtensor.get_stake_operations_fee()
    1379. +
    1380. Subtensor.get_stake_weight()
    1381. Subtensor.get_subnet_burn_cost()
    1382. Subtensor.get_subnet_hyperparameters()
    1383. Subtensor.get_subnet_info()
    1384. diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/chain/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/chain/index.html index 56a29b5761..2074c79d98 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/chain/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/chain/index.html @@ -176,7 +176,6 @@
    1385. bittensor.utils.easy_imports
    1386. bittensor.utils.formatting
    1387. bittensor.utils.liquidity
    1388. -
    1389. bittensor.utils.mock
    1390. bittensor.utils.networking
    1391. bittensor.utils.registration
    1392. bittensor.utils.subnets
    1393. @@ -444,7 +443,7 @@

      Classes#<

      Module Contents#

      -class bittensor.core.subtensor_api.chain.Chain(subtensor)#
      +class bittensor.core.subtensor_api.chain.Chain(subtensor)[source]#

      Class for managing chain state operations.

      Parameters:
      diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/commitments/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/commitments/index.html index 5a5f77160b..22e3029d00 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/commitments/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/commitments/index.html @@ -176,7 +176,6 @@
    1394. bittensor.utils.easy_imports
    1395. bittensor.utils.formatting
    1396. bittensor.utils.liquidity
    1397. -
    1398. bittensor.utils.mock
    1399. bittensor.utils.networking
    1400. bittensor.utils.registration
    1401. bittensor.utils.subnets
    1402. @@ -406,6 +405,7 @@

      Contents

    1403. Commitments.get_all_revealed_commitments
    1404. Commitments.get_commitment
    1405. Commitments.get_current_weight_commit_info
    1406. +
    1407. Commitments.get_current_weight_commit_info_v2
    1408. Commitments.get_last_commitment_bonds_reset_block
    1409. Commitments.get_revealed_commitment
    1410. Commitments.get_revealed_commitment_by_hotkey
    1411. @@ -443,7 +443,7 @@

      Classes#<

      Module Contents#

      -class bittensor.core.subtensor_api.commitments.Commitments(subtensor)#
      +class bittensor.core.subtensor_api.commitments.Commitments(subtensor)[source]#

      Class for managing any commitment operations.

      Parameters:
      @@ -475,6 +475,11 @@

      Module Contentsget_current_weight_commit_info#

      +
      +
      +get_current_weight_commit_info_v2#
      +
      +
      get_last_commitment_bonds_reset_block#
      @@ -559,6 +564,7 @@

      Module ContentsCommitments.get_all_revealed_commitments
    1412. Commitments.get_commitment
    1413. Commitments.get_current_weight_commit_info
    1414. +
    1415. Commitments.get_current_weight_commit_info_v2
    1416. Commitments.get_last_commitment_bonds_reset_block
    1417. Commitments.get_revealed_commitment
    1418. Commitments.get_revealed_commitment_by_hotkey
    1419. diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/delegates/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/delegates/index.html index 065f627436..06618597f2 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/delegates/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/delegates/index.html @@ -176,7 +176,6 @@
    1420. bittensor.utils.easy_imports
    1421. bittensor.utils.formatting
    1422. bittensor.utils.liquidity
    1423. -
    1424. bittensor.utils.mock
    1425. bittensor.utils.networking
    1426. bittensor.utils.registration
    1427. bittensor.utils.subnets
    1428. @@ -440,7 +439,7 @@

      Classes#<

      Module Contents#

      -class bittensor.core.subtensor_api.delegates.Delegates(subtensor)#
      +class bittensor.core.subtensor_api.delegates.Delegates(subtensor)[source]#

      Class for managing delegate operations.

      Parameters:
      diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/extrinsics/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/extrinsics/index.html index 84cd24fe47..8427a5db9c 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/extrinsics/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/extrinsics/index.html @@ -176,7 +176,6 @@
    1429. bittensor.utils.easy_imports
    1430. bittensor.utils.formatting
    1431. bittensor.utils.liquidity
    1432. -
    1433. bittensor.utils.mock
    1434. bittensor.utils.networking
    1435. bittensor.utils.registration
    1436. bittensor.utils.subnets
    1437. @@ -459,7 +458,7 @@

      Classes#<

      Module Contents#

      -class bittensor.core.subtensor_api.extrinsics.Extrinsics(subtensor)#
      +class bittensor.core.subtensor_api.extrinsics.Extrinsics(subtensor)[source]#

      Class for managing extrinsic operations.

      Parameters:
      diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/index.html index a438ade676..2c45ac571e 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/index.html @@ -176,7 +176,6 @@
    1438. bittensor.utils.easy_imports
    1439. bittensor.utils.formatting
    1440. bittensor.utils.liquidity
    1441. -
    1442. bittensor.utils.mock
    1443. bittensor.utils.networking
    1444. bittensor.utils.registration
    1445. bittensor.utils.subnets
    1446. @@ -479,7 +478,7 @@

      Classes#<

      Package Contents#

      -class bittensor.core.subtensor_api.SubtensorApi(network=None, config=None, async_subtensor=False, legacy_methods=False, fallback_endpoints=None, retry_forever=False, log_verbose=False, mock=False, archive_endpoints=None, websocket_shutdown_timer=5.0)#
      +class bittensor.core.subtensor_api.SubtensorApi(network=None, config=None, async_subtensor=False, legacy_methods=False, fallback_endpoints=None, retry_forever=False, log_verbose=False, mock=False, archive_endpoints=None, websocket_shutdown_timer=5.0)[source]#

      Subtensor API class.

      Parameters:
      @@ -533,7 +532,7 @@

      Package Contents
      -classmethod add_args(parser)#
      +classmethod add_args(parser)[source]#

      diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/metagraphs/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/metagraphs/index.html index f7f4671b91..b307fad052 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/metagraphs/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/metagraphs/index.html @@ -176,7 +176,6 @@
    1447. bittensor.utils.easy_imports
    1448. bittensor.utils.formatting
    1449. bittensor.utils.liquidity
    1450. -
    1451. bittensor.utils.mock
    1452. bittensor.utils.networking
    1453. bittensor.utils.registration
    1454. bittensor.utils.subnets
    1455. @@ -436,7 +435,7 @@

      Classes#<

      Module Contents#

      -class bittensor.core.subtensor_api.metagraphs.Metagraphs(subtensor)#
      +class bittensor.core.subtensor_api.metagraphs.Metagraphs(subtensor)[source]#

      Class for managing metagraph operations.

      Parameters:
      diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/neurons/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/neurons/index.html index b87fa4c163..f43bdbf0a1 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/neurons/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/neurons/index.html @@ -176,7 +176,6 @@
    1456. bittensor.utils.easy_imports
    1457. bittensor.utils.formatting
    1458. bittensor.utils.liquidity
    1459. -
    1460. bittensor.utils.mock
    1461. bittensor.utils.networking
    1462. bittensor.utils.registration
    1463. bittensor.utils.subnets
    1464. @@ -439,7 +438,7 @@

      Classes#<

      Module Contents#

      -class bittensor.core.subtensor_api.neurons.Neurons(subtensor)#
      +class bittensor.core.subtensor_api.neurons.Neurons(subtensor)[source]#

      Class for managing neuron operations.

      Parameters:
      diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/queries/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/queries/index.html index 6e71173fbe..2430f3661b 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/queries/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/queries/index.html @@ -176,7 +176,6 @@
    1465. bittensor.utils.easy_imports
    1466. bittensor.utils.formatting
    1467. bittensor.utils.liquidity
    1468. -
    1469. bittensor.utils.mock
    1470. bittensor.utils.networking
    1471. bittensor.utils.registration
    1472. bittensor.utils.subnets
    1473. @@ -439,7 +438,7 @@

      Classes#<

      Module Contents#

      -class bittensor.core.subtensor_api.queries.Queries(subtensor)#
      +class bittensor.core.subtensor_api.queries.Queries(subtensor)[source]#

      Class for managing subtensor query operations.

      Parameters:
      diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/staking/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/staking/index.html index aae55b8c08..3ab9a1ce15 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/staking/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/staking/index.html @@ -176,7 +176,6 @@
    1474. bittensor.utils.easy_imports
    1475. bittensor.utils.formatting
    1476. bittensor.utils.liquidity
    1477. -
    1478. bittensor.utils.mock
    1479. bittensor.utils.networking
    1480. bittensor.utils.registration
    1481. bittensor.utils.subnets
    1482. @@ -412,6 +411,7 @@

      Contents

    1483. Staking.get_stake_info_for_coldkey
    1484. Staking.get_stake_movement_fee
    1485. Staking.get_stake_operations_fee
    1486. +
    1487. Staking.get_stake_weight
    1488. Staking.get_unstake_fee
    1489. Staking.unstake
    1490. Staking.unstake_all
    1491. @@ -448,7 +448,7 @@

      Classes#<

      Module Contents#

      -class bittensor.core.subtensor_api.staking.Staking(subtensor)#
      +class bittensor.core.subtensor_api.staking.Staking(subtensor)[source]#

      Class for managing staking operations.

      Parameters:
      @@ -510,6 +510,11 @@

      Module Contentsget_stake_operations_fee#

      +
      +
      +get_stake_weight#
      +
      +
      get_unstake_fee#
      @@ -595,6 +600,7 @@

      Module ContentsStaking.get_stake_info_for_coldkey
    1492. Staking.get_stake_movement_fee
    1493. Staking.get_stake_operations_fee
    1494. +
    1495. Staking.get_stake_weight
    1496. Staking.get_unstake_fee
    1497. Staking.unstake
    1498. Staking.unstake_all
    1499. diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/subnets/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/subnets/index.html index 0ebe42dfae..0e72a110d2 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/subnets/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/subnets/index.html @@ -176,7 +176,6 @@
    1500. bittensor.utils.easy_imports
    1501. bittensor.utils.formatting
    1502. bittensor.utils.liquidity
    1503. -
    1504. bittensor.utils.mock
    1505. bittensor.utils.networking
    1506. bittensor.utils.registration
    1507. bittensor.utils.subnets
    1508. @@ -405,6 +404,7 @@

      Contents

    1509. Subnets.blocks_since_last_step
    1510. Subnets.blocks_since_last_update
    1511. Subnets.bonds
    1512. +
    1513. Subnets.commit_reveal_enabled
    1514. Subnets.difficulty
    1515. Subnets.get_all_subnets_info
    1516. Subnets.get_children
    1517. @@ -472,7 +472,7 @@

      Classes#<

      Module Contents#

      -class bittensor.core.subtensor_api.subnets.Subnets(subtensor)#
      +class bittensor.core.subtensor_api.subnets.Subnets(subtensor)[source]#

      Class for managing subnet operations.

      Parameters:
      @@ -499,6 +499,11 @@

      Module Contentsbonds#

      +
      +
      +commit_reveal_enabled#
      +
      +
      difficulty#
      @@ -732,6 +737,7 @@

      Module ContentsSubnets.blocks_since_last_step
    1518. Subnets.blocks_since_last_update
    1519. Subnets.bonds
    1520. +
    1521. Subnets.commit_reveal_enabled
    1522. Subnets.difficulty
    1523. Subnets.get_all_subnets_info
    1524. Subnets.get_children
    1525. diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/utils/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/utils/index.html index dc1741997a..e9f676d232 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/utils/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/utils/index.html @@ -176,7 +176,6 @@
    1526. bittensor.utils.easy_imports
    1527. bittensor.utils.formatting
    1528. bittensor.utils.liquidity
    1529. -
    1530. bittensor.utils.mock
    1531. bittensor.utils.networking
    1532. bittensor.utils.registration
    1533. bittensor.utils.subnets
    1534. @@ -431,7 +430,7 @@

      Functions#

      -bittensor.core.subtensor_api.utils.add_legacy_methods(subtensor)#
      +bittensor.core.subtensor_api.utils.add_legacy_methods(subtensor)[source]#

      If SubtensorApi get subtensor_fields=True arguments, then all classic Subtensor fields added to root level.

      Parameters:
      diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/wallets/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/wallets/index.html index 5c16522534..187595ac57 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/wallets/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/wallets/index.html @@ -176,7 +176,6 @@
    1535. bittensor.utils.easy_imports
    1536. bittensor.utils.formatting
    1537. bittensor.utils.liquidity
    1538. -
    1539. bittensor.utils.mock
    1540. bittensor.utils.networking
    1541. bittensor.utils.registration
    1542. bittensor.utils.subnets
    1543. @@ -459,7 +458,7 @@

      Classes#<

      Module Contents#

      -class bittensor.core.subtensor_api.wallets.Wallets(subtensor)#
      +class bittensor.core.subtensor_api.wallets.Wallets(subtensor)[source]#

      Class for managing coldkey, hotkey, wallet operations.

      Parameters:
      diff --git a/static/python-api/html/autoapi/bittensor/core/synapse/index.html b/static/python-api/html/autoapi/bittensor/core/synapse/index.html index 0d29da3b75..660980e868 100644 --- a/static/python-api/html/autoapi/bittensor/core/synapse/index.html +++ b/static/python-api/html/autoapi/bittensor/core/synapse/index.html @@ -176,7 +176,6 @@
    1544. bittensor.utils.easy_imports
    1545. bittensor.utils.formatting
    1546. bittensor.utils.liquidity
    1547. -
    1548. bittensor.utils.mock
    1549. bittensor.utils.networking
    1550. bittensor.utils.registration
    1551. bittensor.utils.subnets
    1552. diff --git a/static/python-api/html/autoapi/bittensor/core/tensor/index.html b/static/python-api/html/autoapi/bittensor/core/tensor/index.html index 8da244bd11..c91ad4aee5 100644 --- a/static/python-api/html/autoapi/bittensor/core/tensor/index.html +++ b/static/python-api/html/autoapi/bittensor/core/tensor/index.html @@ -176,7 +176,6 @@
    1553. bittensor.utils.easy_imports
    1554. bittensor.utils.formatting
    1555. bittensor.utils.liquidity
    1556. -
    1557. bittensor.utils.mock
    1558. bittensor.utils.networking
    1559. bittensor.utils.registration
    1560. bittensor.utils.subnets
    1561. @@ -541,7 +540,7 @@

      Module Contents

      The deserialized tensor object.

      Return type:
      -

      np.array or torch.Tensor

      +

      np.array or torch.Tensor

      Raises:

      Exception – If the deserialization process encounters an error.

      @@ -577,7 +576,7 @@

      Module Contents
      Parameters:
      @@ -626,7 +625,7 @@

      Module Contentsnumpy data type, or the torch data type if using torch.

      Parameters:
      -

      raw (Union[None, numpy.dtype, torch.dtype, str]) – The raw value to cast.

      +

      raw (Union[None, numpy.dtype, torch.dtype, str]) – The raw value to cast.

      Returns:

      The string representing the numpy/torch data type.

      diff --git a/static/python-api/html/autoapi/bittensor/core/threadpool/index.html b/static/python-api/html/autoapi/bittensor/core/threadpool/index.html index b74d87f0c2..f29ab079c3 100644 --- a/static/python-api/html/autoapi/bittensor/core/threadpool/index.html +++ b/static/python-api/html/autoapi/bittensor/core/threadpool/index.html @@ -176,7 +176,6 @@
    1562. bittensor.utils.easy_imports
    1563. bittensor.utils.formatting
    1564. bittensor.utils.liquidity
    1565. -
    1566. bittensor.utils.mock
    1567. bittensor.utils.networking
    1568. bittensor.utils.registration
    1569. bittensor.utils.subnets
    1570. diff --git a/static/python-api/html/autoapi/bittensor/core/timelock/index.html b/static/python-api/html/autoapi/bittensor/core/timelock/index.html index 99c9b5f6e7..dca07e5504 100644 --- a/static/python-api/html/autoapi/bittensor/core/timelock/index.html +++ b/static/python-api/html/autoapi/bittensor/core/timelock/index.html @@ -176,7 +176,6 @@
    1571. bittensor.utils.easy_imports
    1572. bittensor.utils.formatting
    1573. bittensor.utils.liquidity
    1574. -
    1575. bittensor.utils.mock
    1576. bittensor.utils.networking
    1577. bittensor.utils.registration
    1578. bittensor.utils.subnets
    1579. @@ -484,7 +483,7 @@

      Functions#

      -bittensor.core.timelock.decrypt(encrypted_data, no_errors=True, return_str=False)#
      +bittensor.core.timelock.decrypt(encrypted_data, no_errors=True, return_str=False)[source]#

      Decrypts encrypted data using TimeLock Decryption

      Parameters:
      @@ -514,7 +513,7 @@

      Module Contents
      -bittensor.core.timelock.encrypt(data, n_blocks, block_time=12.0)#
      +bittensor.core.timelock.encrypt(data, n_blocks, block_time=12.0)[source]#

      Encrypts data using TimeLock Encryption

      Parameters:
      @@ -552,7 +551,7 @@

      Module Contents
      -bittensor.core.timelock.wait_reveal_and_decrypt(encrypted_data, reveal_round=None, no_errors=True, return_str=False)#
      +bittensor.core.timelock.wait_reveal_and_decrypt(encrypted_data, reveal_round=None, no_errors=True, return_str=False)[source]#

      Waits for reveal round and decrypts data using TimeLock Decryption.

      Parameters:
      diff --git a/static/python-api/html/autoapi/bittensor/core/types/index.html b/static/python-api/html/autoapi/bittensor/core/types/index.html index 79af6844d3..2a6da0f4e7 100644 --- a/static/python-api/html/autoapi/bittensor/core/types/index.html +++ b/static/python-api/html/autoapi/bittensor/core/types/index.html @@ -176,7 +176,6 @@
    1580. bittensor.utils.easy_imports
    1581. bittensor.utils.formatting
    1582. bittensor.utils.liquidity
    1583. -
    1584. bittensor.utils.mock
    1585. bittensor.utils.networking
    1586. bittensor.utils.registration
    1587. bittensor.utils.subnets
    1588. diff --git a/static/python-api/html/autoapi/bittensor/index.html b/static/python-api/html/autoapi/bittensor/index.html index bcd04fd594..b3e82b73c0 100644 --- a/static/python-api/html/autoapi/bittensor/index.html +++ b/static/python-api/html/autoapi/bittensor/index.html @@ -178,7 +178,6 @@
    1589. bittensor.utils.easy_imports
    1590. bittensor.utils.formatting
    1591. bittensor.utils.liquidity
    1592. -
    1593. bittensor.utils.mock
    1594. bittensor.utils.networking
    1595. bittensor.utils.registration
    1596. bittensor.utils.subnets
    1597. diff --git a/static/python-api/html/autoapi/bittensor/utils/axon_utils/index.html b/static/python-api/html/autoapi/bittensor/utils/axon_utils/index.html index fd99a42e78..27c744183e 100644 --- a/static/python-api/html/autoapi/bittensor/utils/axon_utils/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/axon_utils/index.html @@ -176,7 +176,6 @@
    1598. bittensor.utils.easy_imports
    1599. bittensor.utils.formatting
    1600. bittensor.utils.liquidity
    1601. -
    1602. bittensor.utils.mock
    1603. bittensor.utils.networking
    1604. bittensor.utils.registration
    1605. bittensor.utils.subnets
    1606. diff --git a/static/python-api/html/autoapi/bittensor/utils/balance/index.html b/static/python-api/html/autoapi/bittensor/utils/balance/index.html index 3c910cae0f..523f560a12 100644 --- a/static/python-api/html/autoapi/bittensor/utils/balance/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/balance/index.html @@ -176,7 +176,6 @@
    1607. bittensor.utils.easy_imports
    1608. bittensor.utils.formatting
    1609. bittensor.utils.liquidity
    1610. -
    1611. bittensor.utils.mock
    1612. bittensor.utils.networking
    1613. bittensor.utils.registration
    1614. bittensor.utils.subnets
    1615. diff --git a/static/python-api/html/autoapi/bittensor/utils/btlogging/console/index.html b/static/python-api/html/autoapi/bittensor/utils/btlogging/console/index.html index 9c4407b874..6568f77bf6 100644 --- a/static/python-api/html/autoapi/bittensor/utils/btlogging/console/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/btlogging/console/index.html @@ -176,7 +176,6 @@
    1616. bittensor.utils.easy_imports
    1617. bittensor.utils.formatting
    1618. bittensor.utils.liquidity
    1619. -
    1620. bittensor.utils.mock
    1621. bittensor.utils.networking
    1622. bittensor.utils.registration
    1623. bittensor.utils.subnets
    1624. diff --git a/static/python-api/html/autoapi/bittensor/utils/btlogging/defines/index.html b/static/python-api/html/autoapi/bittensor/utils/btlogging/defines/index.html index 893f00c097..15e77620b9 100644 --- a/static/python-api/html/autoapi/bittensor/utils/btlogging/defines/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/btlogging/defines/index.html @@ -176,7 +176,6 @@
    1625. bittensor.utils.easy_imports
    1626. bittensor.utils.formatting
    1627. bittensor.utils.liquidity
    1628. -
    1629. bittensor.utils.mock
    1630. bittensor.utils.networking
    1631. bittensor.utils.registration
    1632. bittensor.utils.subnets
    1633. diff --git a/static/python-api/html/autoapi/bittensor/utils/btlogging/format/index.html b/static/python-api/html/autoapi/bittensor/utils/btlogging/format/index.html index b0a16fa3b4..c6bc7fd224 100644 --- a/static/python-api/html/autoapi/bittensor/utils/btlogging/format/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/btlogging/format/index.html @@ -176,7 +176,6 @@
    1634. bittensor.utils.easy_imports
    1635. bittensor.utils.formatting
    1636. bittensor.utils.liquidity
    1637. -
    1638. bittensor.utils.mock
    1639. bittensor.utils.networking
    1640. bittensor.utils.registration
    1641. bittensor.utils.subnets
    1642. diff --git a/static/python-api/html/autoapi/bittensor/utils/btlogging/helpers/index.html b/static/python-api/html/autoapi/bittensor/utils/btlogging/helpers/index.html index c4eda182e0..2ee1a51cf2 100644 --- a/static/python-api/html/autoapi/bittensor/utils/btlogging/helpers/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/btlogging/helpers/index.html @@ -176,7 +176,6 @@
    1643. bittensor.utils.easy_imports
    1644. bittensor.utils.formatting
    1645. bittensor.utils.liquidity
    1646. -
    1647. bittensor.utils.mock
    1648. bittensor.utils.networking
    1649. bittensor.utils.registration
    1650. bittensor.utils.subnets
    1651. diff --git a/static/python-api/html/autoapi/bittensor/utils/btlogging/index.html b/static/python-api/html/autoapi/bittensor/utils/btlogging/index.html index a85c8216c3..2b7ec67703 100644 --- a/static/python-api/html/autoapi/bittensor/utils/btlogging/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/btlogging/index.html @@ -176,7 +176,6 @@
    1652. bittensor.utils.easy_imports
    1653. bittensor.utils.formatting
    1654. bittensor.utils.liquidity
    1655. -
    1656. bittensor.utils.mock
    1657. bittensor.utils.networking
    1658. bittensor.utils.registration
    1659. bittensor.utils.subnets
    1660. diff --git a/static/python-api/html/autoapi/bittensor/utils/btlogging/loggingmachine/index.html b/static/python-api/html/autoapi/bittensor/utils/btlogging/loggingmachine/index.html index 39ec3632cc..6b44fa0acd 100644 --- a/static/python-api/html/autoapi/bittensor/utils/btlogging/loggingmachine/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/btlogging/loggingmachine/index.html @@ -176,7 +176,6 @@
    1661. bittensor.utils.easy_imports
    1662. bittensor.utils.formatting
    1663. bittensor.utils.liquidity
    1664. -
    1665. bittensor.utils.mock
    1666. bittensor.utils.networking
    1667. bittensor.utils.registration
    1668. bittensor.utils.subnets
    1669. diff --git a/static/python-api/html/autoapi/bittensor/utils/easy_imports/index.html b/static/python-api/html/autoapi/bittensor/utils/easy_imports/index.html index dc9fd4cbff..9e258f3860 100644 --- a/static/python-api/html/autoapi/bittensor/utils/easy_imports/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/easy_imports/index.html @@ -176,7 +176,6 @@
    1670. bittensor.utils.easy_imports
    1671. bittensor.utils.formatting
    1672. bittensor.utils.liquidity
    1673. -
    1674. bittensor.utils.mock
    1675. bittensor.utils.networking
    1676. bittensor.utils.registration
    1677. bittensor.utils.subnets
    1678. diff --git a/static/python-api/html/autoapi/bittensor/utils/formatting/index.html b/static/python-api/html/autoapi/bittensor/utils/formatting/index.html index 66e8c7cb8a..03c0fc0d63 100644 --- a/static/python-api/html/autoapi/bittensor/utils/formatting/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/formatting/index.html @@ -176,7 +176,6 @@
    1679. bittensor.utils.easy_imports
    1680. bittensor.utils.formatting
    1681. bittensor.utils.liquidity
    1682. -
    1683. bittensor.utils.mock
    1684. bittensor.utils.networking
    1685. bittensor.utils.registration
    1686. bittensor.utils.subnets
    1687. diff --git a/static/python-api/html/autoapi/bittensor/utils/index.html b/static/python-api/html/autoapi/bittensor/utils/index.html index cc8362c7bc..76c656f47e 100644 --- a/static/python-api/html/autoapi/bittensor/utils/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/index.html @@ -176,7 +176,6 @@
    1688. bittensor.utils.easy_imports
    1689. bittensor.utils.formatting
    1690. bittensor.utils.liquidity
    1691. -
    1692. bittensor.utils.mock
    1693. bittensor.utils.networking
    1694. bittensor.utils.registration
    1695. bittensor.utils.subnets
    1696. @@ -416,11 +415,13 @@

      Contents

    1697. VersionCheckError
    1698. check_version
    1699. decode_hex_identity_dict()
    1700. +
    1701. deprecated_message()
    1702. determine_chain_endpoint_and_network()
    1703. float_to_u64()
    1704. format_error_message()
    1705. get_explorer_url_for_network()
    1706. get_hash()
    1707. +
    1708. get_transfer_fn_params()
    1709. hex_to_bytes
    1710. is_valid_bittensor_address_or_public_key()
    1711. is_valid_ss58_address()
    1712. @@ -461,7 +462,6 @@

      Submodulesbittensor.utils.easy_imports
    1713. bittensor.utils.formatting
    1714. bittensor.utils.liquidity
    1715. -
    1716. bittensor.utils.mock
    1717. bittensor.utils.networking
    1718. bittensor.utils.registration
    1719. bittensor.utils.subnets
    1720. @@ -536,21 +536,27 @@

      Functions

      decode_hex_identity_dict(info_dictionary)

      Decodes a dictionary of hexadecimal identities.

      -

      determine_chain_endpoint_and_network(network)

      +

      deprecated_message(message)

      +

      Shows a deprecation warning message with the given message.

      + +

      determine_chain_endpoint_and_network(network)

      Determines the chain endpoint and network from the passed network or chain_endpoint.

      -

      float_to_u64(value)

      +

      float_to_u64(value)

      Converts a float to a u64 int

      -

      format_error_message(error_message)

      +

      format_error_message(error_message)

      Formats an error message from the Subtensor error information for use in extrinsics.

      -

      get_explorer_url_for_network(network, block_hash, ...)

      +

      get_explorer_url_for_network(network, block_hash, ...)

      Returns the explorer url for the given block hash and network.

      -

      get_hash(content[, encoding])

      +

      get_hash(content[, encoding])

      +

      get_transfer_fn_params(amount, destination, keep_alive)

      +

      Helper function to get the transfer call function and call params, depending on the value and keep_alive flag

      +

      is_valid_bittensor_address_or_public_key(address)

      Checks if the given address is a valid destination address.

      @@ -638,12 +644,12 @@

      Package Contents
      -bittensor.utils.VersionCheckError[source]#
      +bittensor.utils.VersionCheckError#

      -bittensor.utils.check_version[source]#
      +bittensor.utils.check_version#
      @@ -660,6 +666,20 @@

      Package Contents +
      +bittensor.utils.deprecated_message(message)#
      +

      Shows a deprecation warning message with the given message.

      +
      +
      Parameters:
      +

      message (str)

      +
      +
      Return type:
      +

      None

      +
      +
      +

      +
      bittensor.utils.determine_chain_endpoint_and_network(network)[source]#
      @@ -684,7 +704,7 @@

      Package Contents
      -bittensor.utils.float_to_u64(value)#
      +bittensor.utils.float_to_u64(value)[source]#

      Converts a float to a u64 int

      Parameters:
      @@ -741,6 +761,30 @@

      Package Contentsbittensor.utils.get_hash(content, encoding='utf-8')[source]#

      +
      +
      +bittensor.utils.get_transfer_fn_params(amount, destination, keep_alive)#
      +
      +
      Helper function to get the transfer call function and call params, depending on the value and keep_alive flag

      provided

      +
      +
      +
      +
      Parameters:
      +
        +
      • amount (Optional[balance.Balance]) – the amount of Tao to transfer. None if transferring all.

      • +
      • destination (str) – the destination SS58 of the transfer

      • +
      • keep_alive (bool) – whether to enforce a retention of the existential deposit in the account after transfer.

      • +
      +
      +
      Returns:
      +

      tuple[call function, call params]

      +
      +
      Return type:
      +

      tuple[str, dict[str, Union[str, int, bool]]]

      +
      +
      +
      +
      bittensor.utils.hex_to_bytes[source]#
      @@ -913,7 +957,7 @@

      Package Contents
      -bittensor.utils.version_checking[source]#
      +bittensor.utils.version_checking#

      @@ -983,11 +1027,13 @@

      Package ContentsVersionCheckError
    1721. check_version
    1722. decode_hex_identity_dict()
    1723. +
    1724. deprecated_message()
    1725. determine_chain_endpoint_and_network()
    1726. float_to_u64()
    1727. format_error_message()
    1728. get_explorer_url_for_network()
    1729. get_hash()
    1730. +
    1731. get_transfer_fn_params()
    1732. hex_to_bytes
    1733. is_valid_bittensor_address_or_public_key()
    1734. is_valid_ss58_address()
    1735. diff --git a/static/python-api/html/autoapi/bittensor/utils/liquidity/index.html b/static/python-api/html/autoapi/bittensor/utils/liquidity/index.html index c138036e54..cd32cec088 100644 --- a/static/python-api/html/autoapi/bittensor/utils/liquidity/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/liquidity/index.html @@ -48,7 +48,7 @@ - + @@ -176,7 +176,6 @@
    1736. bittensor.utils.easy_imports
    1737. bittensor.utils.formatting
    1738. bittensor.utils.liquidity
    1739. -
    1740. bittensor.utils.mock
    1741. bittensor.utils.networking
    1742. bittensor.utils.registration
    1743. bittensor.utils.subnets
    1744. @@ -494,7 +493,7 @@

      Functions#

      -class bittensor.utils.liquidity.LiquidityPosition#
      +class bittensor.utils.liquidity.LiquidityPosition[source]#
      fees_alpha: bittensor.utils.balance.Balance#
      @@ -532,7 +531,7 @@

      Module Contents
      -to_token_amounts(current_subnet_price)#
      +to_token_amounts(current_subnet_price)[source]#

      Convert a position to token amounts.

      Parameters:
      @@ -568,7 +567,7 @@

      Module Contents
      -bittensor.utils.liquidity.calculate_fees(position, global_fees_tao, global_fees_alpha, tao_fees_below_low, tao_fees_above_high, alpha_fees_below_low, alpha_fees_above_high, netuid)#
      +bittensor.utils.liquidity.calculate_fees(position, global_fees_tao, global_fees_alpha, tao_fees_below_low, tao_fees_above_high, alpha_fees_below_low, alpha_fees_above_high, netuid)[source]#
      Parameters:
    1745. version_as_int (in module bittensor.core.settings) diff --git a/static/python-api/html/index.html b/static/python-api/html/index.html index 23848e771f..4b3064a719 100644 --- a/static/python-api/html/index.html +++ b/static/python-api/html/index.html @@ -179,7 +179,6 @@
    1746. bittensor.utils.easy_imports
    1747. bittensor.utils.formatting
    1748. bittensor.utils.liquidity
    1749. -
    1750. bittensor.utils.mock
    1751. bittensor.utils.networking
    1752. bittensor.utils.registration
    1753. bittensor.utils.subnets
    1754. diff --git a/static/python-api/html/objects.inv b/static/python-api/html/objects.inv index 46ce8eb9a8ca88f02264ff0107438848978cb93c..65b73b6e4d3cd50b6c6ede587257228d926e4e65 100644 GIT binary patch delta 15396 zcmV+asMa$c}#5|S{c2!e*D{q_V2S87jUEs_K8$Ivxw}o7?A2&iW;x?q=**IY=6#vUv^>RG$Q2Vj~b}T zaI+{$K#KmXP=d-mZ!;{nIB|$h%IF39Lk7DlEm59&ppd5Qj~Oh9bL{67$1e;uFK`YE zI`j^42_PtoA)wQ|q=Nu+Kg~a)QRPWgx}O8jI7>W?epO^J0R`M3+Wm!d{5ZwLeP73T zw?m~TSlZdIFn>w`%%bNMCcap_LA2R=kT(gW^K6GQ2>8+i+lXx4lR)b=imAAFztJTa z60pVP3)}_eC60l9U zUK=}@mHs$T&}dUc`IZ2bt+6*A8LSGNftcz9h%OeoCx80ulUiib2@=8p2~Ex4=sZVh zMAa3a*nWE7)0%l&pK@PJ7Wg9;v+U4g5zA9)Bhns^<7E(0oTH=N zuFBXUQZ1X@<5O@%rO|)fcRZph8#~#neYt$Vi@D#Nc6+37aHa@?1hu;MVG!{rmna>v zTSsw;Ufs_Qe(aqT%m6NMmARi8Dc*orSbsbVUq9Ej<}P|~Zb(z)!||^@UU!d-GUl^_ z-{=bPlKd9oJWLDX6>ZO438M&G{J9~KT5tvgusGM$mkts9-uw?=#n${Sl4C_ z@$PR(4kzRuT>?nw=Ej#6=5+<4O;-EpP^kpqJDr6YL9u%t+&L$v=BE#6x(56}`%whM zgy$Zw#1r}(E?z+91DuqFICga|bbsHNz2imNmT;H5zn3oYW|Klt(S6>d+S%NCc?0$} z=I?;bbWi7);&#m!F7P4G8*FdEA>JZX@&iOaZmzzx7=i0_y7L#F=fPjrRTeYPFk`Td zaWocGhJGg*Nrrwon~Q44g2tTGdZ{`d93?6?a>K7wah}U=*GkovWfX6XvwwX~qxglr z&H(HBG~G1scnjkfc4oas8{_OPRhz(dM1>-|*+c8S@#?AJ0*j2AlE}(TX{*n1QQ81l z*N=^wuD4P>KWr(iRF8|ds7L@8CZOEskl2K=w5--unlfkj0un3rZ(*7npZL=5rb?As zSwuUOBq^jLNR92(N)KnaiGMa=x@KGJJ}(e1m?M^@IbGnYw6o^9G%-H&_%V>3T5BgK z&IhO7!XQ+si29DZHkT@%nk*37m;qJ7y45)_yI zc*t7~#_ozUU%lQ$0XXJ6*A3tZw@`WVDGJ~dDR z5WY$WHpbDZGD(oM`9BT5{_)5YPhQ_SF08Ed92cKmv0raGOyt#{VIukr*zGD}I%}k{ z7_1OVAc+f`!njXQc zIGVP%f|TY2IpZ{$%;6gYTZILB#C9p7Py(*Y^~5Ux$RmYXh3k;U}btMw!qQ! zrmRYFPmO03Ygv$;qUwUbQ+Re=|DvG|3{cR+o<(WCjp#pX41paY0DtZf(K{=(!U$Jo zI7~w89Fn3u*E$rlLZ`%_j8yNKEiwUbsN5cPl0RO<>3_WrTrd+F5g`8Noyv=M2I0() z9cH)Jhe+67$!Ocn#%b`E|J|sc{x_-G*3tGivcg8!iO_Q84GuR~## z{JSD`KGasX3yT(e`Cq*1_&?iW#`VsG4kfj36T+{1bq{SU65OKAHYh?m2A)+q6AV3z zyi)uY6d$e2M1Q+{!W=kFw=g@5-nATLtZ->VQij3>L`^z?+LI_GZU$~U?U2K4s}na{ z(d#A@T3XIRR;Y+uBoYiA7F+)~7j2N#ni#Gyi=I;$4#$kpVpS-^nV|I=#Z_AFgCQjJ z-$3{TrV`W!K`5OgZsHIOj8G_(xhF4f2&||gkg@ZNP=7}4CCc+q&IdwMkT{1842FplME2TbP3dx3I#OTB#0nur_^Ft!lD7I~0f)IH1 zr}_!tdB)}&+;acPr)UA#whg_@V zCc5R?;eUqTj*feq4KNgXMa3fQ0v5t36j544St#0Oz#~^|aUe`Yz{Hb0SRoJ-87IS% z2orsB`uU z3+4(;5DM3iu$N$v-h_f_X!nVNR*=q5f?GfyM}kqfUNwSXSiUtKQh`qYQ2lH=^g=sa z=zmZP(8;A?7pkjEhhKQ>G(fi(K`rcSTtPB?f}z}53O=FUTnc(&Ut2UJ!@0Z=j6ywp zKA{)X5%eRjuYWzC6j2s|z1Qwg3g#^`=Mlua_tdJR8m0@D+w(*HyHa_~jFMpGv z_6iH=xTPHSUDM?W|C@_PgjkNX?S+3V3g)?5MrP4&cJH z2`RsCC_v4F^7`)IN#+7Op@`ply?+ZG~zvmFAWqjHJVC@W> zMmfB9#=##A9$3OJ1??!xW=Uv!^_ZkFAw!W#8u}55OtRqFr<-?gbp(_sOMv(~MWt#w zY?I{J6U(fk+erO)k4$vKoSNj&rv33ugYYr&OJY)19g{?KlM9&SK!5cdwk%*p0@&;( zhAlTqMK4;pNd}t1T8&d^)6M(iF)4bjQ6hSFx=9M&CC2n%xpvqDFgDsDVWyHeC|gR{uhB+BC zz|MG~ajF`+v%ed1jiF0b|WDB~zxGXdhFL0VnW)|&r9$?#M1+yePQrsA76fy-<$Tlz3 zgl7z^yRv8>;LIww1teRXI-Xx7-a;lmk|uvQAa7Bwqjg-UNm*K5sB5-t{wCgpE$Ls> z^%6<8=4sBNf`3*h0*q^FG5*LWFvbZ4Q5@rnXfp6 z{!`~P|9>(I%S4V;=Y*$ZO?6JT-VtBc)@A2UuW z#TyK&BB046{v6}1jN&plUYStA@8;WNd!H^P7}*$ncSb5zJtrLutR;*$6!W#BNu2#?0`haJgP&@UHLcLYYr zOuGUwLV+DVHm7-i22ME|eH$l#q8-J^Fp~+PiwrZF;I(gu z2-wn@i;KN?LR;Oe(uR4U2`PsSQ<)U>$1s1 z?}w}r&cXSAZ{2%E=M1i43O96edh3FQK;nvRqqD1S@Bt z^`k2u!Gb-)Vi&W%@xdD^x8M-m*gh8?`GB3#LjW^>N{gDL-he?x*ne4=Icg>p&Zsnr z;zSHm2lG%|A&S?38eSvk6)4*~=T(S|f>-=s)ICWqbDB)1c`K>;&d3qFtxjw*+uZcy zT03M0UVjRVoOqR6&^hTj;)#DLDTnyCv#Yl9F)?#i_gJMYm<@q) z0e#eeE8oFl11;5EV);-+3bkLubyTILl`cQ3o9Z|GH`5Kc$@n2;4e}YKy#L{Q4D*p~ zS^;Cl>f{>0wCdO$T_Ks!r}5Rt6tk!*I z?^=VR+J9;tfOQ#+c6M=`b=evhZ&Ce(!x~1;X0kAe_F0tErcqe#zzpTWa!!C2xUhJI z43gx`_rfYBZB^|xU<=_6z1IO2Ey*5UzY_t}AX%3}HINxm)SGK+2+_@Cm?Zg7@((3{ zoQVPuCI6I%Gc#U4O9R695*8UX(xg)*OdGd};uj_VB@Oig_j!a0C(TOn1{^eL>$Bg^ z27{7c6&Td;uqY_-j{X>Jpo@kZ-QH00|D>TO2{x4c_@gvZXZf=j@~|lPw)(S~J!-Ch z(=aP}?=e-NW>*+LdRDC&zOvhe6yuzK1?4EJER#N6mxSUgNy<~F{!-4`t-qapN~8FN z#e|2+qAR8(tp9VgOE5ToxyR+_=EU!^8LCn>zfrtuUjr`KzglPkhp}IIeQpaIoH3E2 z4DvrrSXphxip3>~td2$F&a;YM;0og}BL1sgl-oLZt1XcCC;H!8_VSIbLzvWmp;1hu zRe6eH3UswasSSX|JG)&ZD7LfKzu@vK+zVem3bA;nl8abqN8^-XYX;wBwRXMa>WV#- z`dru2V2kRXYUT1i+Cf_lxr^TCC41IY5}Ugeg;`cH(<7~-2$u|7opq0QD2r^$-+P?R z3BfU9E|tuq>}%~*VH~Dx#G}1`mXwPOSDP*ONn7D1Ect3_o|%}3dur1_SZvdGSfDks ztI|DUQa;vJmsOYo;ettGs~DK&Jf!tKP-(nQt?cwqodqqoqWzpvj$Ut>rb#l=Qzs%Jib{!nbnN5f*U zJ@x58W4_b<09u^@7vN@{BPNN10}WUQE%VWu=7`50)MHdIw?kVicV$s3PmzUy1OY)>`1ip!}A-WcV#>=9ZvB zO6j7_;?C^VfNhFT#-9~`RQX^oV<4vzoH-)LLdOO%rq%9*!<#` zQ8#&s?(lW%&>zEYEhkA;UjJdDlZI%@@oNJLYxYuGUb~0d8d$W{Zh+&-UDL}=l@x6Y zTJOW-Rlps7h2ilk@n(}ka2l=JCpq3x?UQ+pNq(q6dzK%n==^AZpj-N>DRbf}as%Vk z1ZWR}*J=16jak&KLVF%{E8$T@VbW$sHPA&v95u)V&PoJ*2#OrjpH2e(`X@+rPu&Sm zi|S8wTDVqxO-`f}MhaBe*l;>+Dm+hYM9LM-F%hM;heed1CAfAK0?~Ud5Vd-shm9Hy zmK=qLaO&iQ^vgyL?ZL1O7J2oYBC-vD$zhXg85tn;aMC5StI`tXsc%+A30e-q!}lF2LsJOPxO$IV^d|*#A;h!yFc0*#7_{IS+Tv$bSVW!$Dp*I zz^fCPUSsBn(%SPzly44&&Dj+_#MBs_CjIu$h*@7A>1f^rY2N_3x%pAQUom~tqrqUp z&CawN9cwo^nm0JdVneShbVb;4adQ%En3fVBWAaOvkM6CS{%x9n`CBxN3l}T5W|Mdr zyd|5&!}P6~1{v*JunD(crf{d&M$Anv~Nw-&)ZmslgHca1AnPf5f zR>}Ywv$s&1gw$`Hv~HV>-ZH7(=a{}#QbX6fMbf=JGIMLBeDH4cmS_^X_FarN>f~D> zZDb?2J`>TM0_z%oVV#m1E9zkGm^mC7U^7BP>+Dtc#MR^#mhz#Yl`AV97J64y6RxIA zUrFg)MQPYAS{94ZDlJ-@S$txuFt0UbjBmJu)(^o_qcOE9Mgp9x& zke)g`WV1GPVdS$mog#7N52s?sAnGlYh~B03 zQh;FZ>tdN0F6uxmKPKB7wmvVu?CIfwPgmdKx=h_j@!V%7mBb+BkIIiaP$`y{Y2E950 z`rQ$ZQbO^6>1at(KtgIY$3^RSp7J*FG|T_l$x!5^#mbq|r$fHujJN_*$!KE+Of%KH z8E^s!OHEy$6_XO?&d{-Z;`GU2b~@?@6I8Yga65p<2{Y;RJI9}xDLE6^g!UYt!E61_qv(wb~> z#V&|{#L2powz)j8AS^q%bl%A6aMg4DowN4schBw?UKwGpCteKS>GWYy%ds=Cq9V@r zU6-364>TW@xL{Lehf4RjPP_IM7A}uQI_`f~;O=p@!bQBbd&_%`voe8O-JXxE-O z$8%w6^q@MH=JpMMb4>eMaStXgqtrdBRW5mD)}BXe5dNYQ{CRVV((n5cdgPp*XKPb^By#LXKK7tmD;Hw zX6szV^q^llRW4m>mcGw5zsX-f4{YgaCdXRcv{-&B{4^r)@lZee?8tlJT0EU-TcuWij~SAZyx8@*H4S3 zh3c1_i;Q4g3qFcf8;mM8&{e6CWyI5J0&%z7=5dq?%lb!lWo+5+Qmj#S=Qra#5Qc}0& z-_Aa*mi!0G;|Y?Sogd!e1f~)P&F5(9FtZZBK-yvak5Kl8P6fHeT^_PC8*JEV^?fb% z04cs@f06B43S)n~x<$Zu9wU*+m%>4SgVTwI7H6mg=L4V25zhE`ZvQ zQPvUDR7AifwxQa~$?+$ylVN(Fw_9)A5$fTlf6FRva|vq|$)GrD-$rC>9TTnBD5fIPy68_ZB;wr(fbWP{pD{3t zsqO&|PxNhqtx?M2fYumwtj^Q ze`2}^B07!PJ(VlyS`g8}_0Zcw&2ZM$&rurD-Pj?Nldg0pWjCG7S1z%d3}8+$+jZas zttx2y#2C5+taSm=T4yV87#+O+T%>7XRt0T)h=M-63j_g za!rqo9aY*Bm}7#RhzFr(@`wr!@l+h&e4k*^91WwRdOaGL@J6T0c+?GkS)_rJSOL$e_S{? z9!|$%xW?p0#Yt~FP-nzt4St1u?KquV>=K0s4km7KYirI4UY(keT|dxqB`z_K^;F^z z*_FB`;7-H0IfBg#B!Y&hZD5kyYu^FcAc9eiq5H?e+bNFAB{MI z0Zk--n^=EVu-G$)T{>L$&(3PJZkh@EXuBwP1_X|sh3!Mu?#NECiYjBq1E7_=0d&@v z1&sHx{cd#S2HM~_QhN%>#l5r5MH~<~+Byr2OJ@$e9E{zs3P+yWvxn)kF~(_v-!f+m z9Ca^&1)V!AVV!*>cTQR4f6PJ3va(EEyRneNNu9f!H_|!mb)-VLTncED)pyc#@gHYA zw+hQIqho53I6$Ja(+QH3jZaKP?(;<4fbk4KnFB1IThoP^Pu`f;>_TL&5hXuRG5n}cpnf5c(BBN*U71~yQx9z?!HsO0A`e@^_G9PP;h#`Z*P zZED%q#jJqh3u9K~(6V_ADErX(6i*3=zs`+{joN5UgVcF5I}MSiOm>f`nxxqjcB*j; zFcI?j<(0c`Rtjcd2J^^i-&sqCUZlEf_t_&(htQ3|<+jhaFwNaI6lI9L&p`iiynYb@ zkwRV(L#PujEvEq=f8NMColk06X^nxl_hQZ(%I*k|V*yEES>?dThH&9<$RP=8P>AQH z?z;Twc*hM5h7R|M3nMCSRysi=(EI1+uE|jCkcp)?{VsXnCFoY@i=jg@50o?+@Y+F zoI8}BEsjViNxFUxdf?{~)0GFoI34|C8#`2voQ(W(>Iu2+m(Y1oX}^5>-U9k&)O{`J zmrFSFrsoxpZ$jtqe0(!HeF@~5&*@vC0O*XqCJKaOe=vi1{36LWm*Y1}{@L_Azwu8h zoVhd2S-~uqqlXoKxeUIF@Jy@oZXygOp$u5(IYbadKoCo+?@5I#M#t`iY9{%itd2>3 zC_TG7BB5lG_jAw#zm$hWc|430I}af3m(x*T8&_1iky4cAswk*4QAN?&{Q+BPiuORO zVveP%e^Ks!Q=Ix^ZhN6~9~+iKE56x5LpqUh{@4%kZ4 zp$A$OvnSY+a(A1fA>tzWWpEti$0wIIl9ERfCn1(RGI2jFoyP@gGC>s7kqM&cYWX4sgZGBvr5Q6dJtrA<)^e}q9dAB1Nn6H*u0Wpk22!ZWd{X&x+4 zI!*rIna+7u2+xEL=_0%lISDcDg~ybmNQ3y=Cy*vNxZj^Uq5IX8vbvy_QdSpb?*toc zHKptvS`~BFNxQ4p*9JJ$Z-W3qSqy8ZYf{2IAUai^=$<1PA;kR7y`h_XxMG6Mab9;X ze-wtYReK{d>EhfpiEe6Ue`L%)fiXqvJhiDeD(C4&y-^vaNv zx#pWpPck;&l)Ouuf%I*@`Luc6f*=yaR2j+y=bKk=ia5`t{Bk(U^X84orG#u=NcChh z^TT5_HI^@0XF0RH5a~-d<%dXrdMGbke>#a#JmF7&17U)PDbHskTs(KhY0!I*EDq7| zy^v@F%6mcgEgSknV>_Wzl_=FXljg;APNaFk`W-0TMDZTfL9982b(O{J)=0L!XCy|^ zJ0bGa+A9j`v{)3K{eHk!I)m?lR>hnp7`8eK7dKk-%LJ1(O4%kv=P6Y$2@818f6<|8 zhQu2=9`G+pqfFC$G|a(oM@%~NHBDmDnXf4_hQf3hr=xwRYnn;ol|^HxveT##h!F4N zV$kc#6s1P+9}X70(qWS&jD5%d&`ftnGs|SEinWb_tMS>zjf8~wUg|yG2yiVycY82O>N}9p-$Ft?3{xQS%y!!Ea zXMhF0V0{CCR8}l45S1VnS^&>D*|%}#CF1v=gP`PxahMqIa>_mdM|jp+l~A*-PYi(1tW7>Du%FW?ercSXY)uCq<{qV00WG7DDvlu`mQmQ- zJX~4rF}gFsR58Pl7El)L?9Q<~DhO<30bM^-&89+JUn=}_9I}-NY>ViK1#4|&_kye= zLAlSNJpt62ch;Ih2WYC?fBsnpr7K2_H)h4t7e?uga56Khx^*j`sTr^OI4HM|VO{1N zp=DU%ra~Vk$3^J?rNC_8;X8wUG?oM|D#dPU8HySw6#*<8r!%k}?a6540IyPrJED(5 zb#8(z8DKGcf3r?;R7&1KtJf}43Y)H*pK%HKZ>sJ?q=K=tfb+E6f5S%s;^*rX-P>hu zz@<`tA5}`X!y=ZoWmT$QwH;!Rb6x4|xmwGI%+sh}(J%FW|Nh3iQCT0ak;2mciZJ=>*kcXaO8>fjMQ106<*tdnl(Ab zsnq_^el592wBOG@e--!zW-I;=j{*+9$1or1?Ow#oQ1{<%Z^7bz_4J2C&ui5GSRh=W za(`&d;vL4ceyLG03dp_gqGBUul^TXVh;YZihyb|DYaiqBgC@h^WLuR@Y;eczCe^cW zBeemX;?1U3TuiMPYVr zN=ur}XSDa(hmu{-74!K!&Xz0?{8f~ukL&@Zlm&1Kqf-A&JvQe=JSA_3saTTA>Lio| z#ie}|rK7)TP|~M=Q(=ILNi+$o_N8+Im8Ve*w{(`n;z!qjKe+*vKjfSURNxZFICTQ1 zc5o(-#jF1vf0bM56CKT}RW8@GF|4fE#{x6q2`gfA_Zvj9A@DAN0k@rKOZW`~S`iS# zaJE+NvhfhRL+>avIv0wsL3rwT05fW2pscjqTPkL(F2ok5xm5sayD=Z8XH1~& z?h@}xZNm^M3UXjCAhu0fB$;XWFC3XSl4!SY}yPjUa8ui z<`0jHr`7ynIQ#3funbiFz1~Nz zwlIEK6a_A(_bc;-1@f!p@VVrIITV=9Z*L!dUtELh#qDY?!Mq=91mu2x|FB$KJ=|X} z!OcCWe}A+E*2JUWz8m0;7Q}BL8-M>i0Wyx#xJubeK^EH(5EwV%9*rV)Ue1or3GuDu zgb-iPJ{=Io)^ZPkM9sC+ZR-qhVI!H2QbgD~MrjwLeoTU__LZ!jKM6#Pgm|t z=rXy4t_M4d3sh1gCzTUq76>Hpx!QO`hmEH01-%I@>IM98w=5+*EimX9U|xFQEh@4` zf4*46Pv9D5kSGcmQA%0Bh;p+}^W_5EKKuqgKRn&dR}yB{MQlmXo7HM@zkGON$iFR~ z!2SGg;RgD8zFIhK>-FOE{M+q{_wlFs)z@#2;OgPqy$AHqH@6FyJuRT`=Klgu53Bj= z=Ki+>kLAt(cf@1$G{15;#n-sl32Rk;e-YP(l-F=wZ1$=Aj8gcS|01Hy%c}_I&^nmi zX3L96qu49)PQ?ZOvMgYBM>me(*uDPPPg^1SFP`Yyjo|2f5G9@OHISD!bL8~A z>7CRwT;l=;D7#LGbsa4NqZZE87sSNe?|O}d#Voj47NE>OW)_UlKc*Gx)DKDQ3ub}I z{n~X<>Ywohnoz%%p}C3h0od zN5Kn;R=Gt*0`jOR_uZ?Ye_-ZUNN24rskgAsiq7@nfLH}3AkOvRfLMhjwHp05Q0Z{0 zo(I%rp~(gf?|Ms2+Ng#hu;Cdu!%@i@9q#NB44XeIScPHwN`#4ULnN3(3cOy2!6S^d z9I~B6V0jzNx+Y->JwYd!LtMi1`-Wow*KEQ$uw{ILk$}4X>Gs%!e{>|P_o~khmvBbO z#R%2M&Ygf})56arkfl-qTlfx80<#iPJFE#;D&Z+RT6rqpS9U>FL1v`snupsF&k})DBoHI z!Bpb985Sq&zLTTa7DT%z+nir@MrNDM=xpeQ8^WW%urM&yFaI>NQ`JwA06&g1yW7?^ zm$Fe>4xdZze}@A6TxeVEq71NH2kf|0vI+g5BWOF6rf9u4e-6P~0pIf!7q9?Tkpf!O ztXjhRN#vV0QycfLSW~|1j2*{|(8|;6W|}37skARg^6^O3h6s3#Qj~!94Q>Ov-JR*;y0(L zR7#dCRTqeMxXMbo!xar=7Sd&Pb0rf#S*P}!dyBO{KHXd`z;d;Cv{U~fx+{|-lA>M% zhwZp-5CEdORFp~Uf*Mfua$(aK#V__?SnUjj!x@K>e}1<;Qjt*eWR>N^=aO6dp}=hM zUc!Q9^?kg@eL7BMl!I2QHQUQtdiCvkzQpOPT=cC=sETm21ik`!CDtTzQOWr-n8Yme zXLn7Nk8x`XYbGK#IOx+RnrWN=!anA0^q>7LjuM!xnsn^eJNEJ6cRF<{*@FU;c(Z4g zwgY6=MrOtq#I{(1Z z)6ic~Oq{H|4jyknh6Q~4#L)$E?b*zRn4Ofv zf^etiw+Qho5dhzjvrZ_RbElCjvB^O7$^~&%e-waQg05Ov5eV8=+6HW2k;PRKsh_tW z71ud=KdOMwaP~tzyNON*3^G!rQb7JtOZ18_7KG^lZdi2v$&S3^raPALs_R!B(=W4m zWt875j6wCQA%bO5;%AIgL)BH!8I*jRA-u7JH^LSjIWHpPL;mE>fUEPVkd5 z^3%IpiXZWbC(WvWbtdDUh1N(=2{n}slm?w|Fw41m)KIrIOu`T znxxO-PxZqGSV~5Au*j>n@p;;LuEB*vr|GJ8w)&;k^p4~fY>P$xikigi68$wwE9kjf zHZX&Q>|vNa8ti#y7$ej$>7BoRspYDAq%|JRtFI7v0GP2gmH6jVR2jd?JUnOjf6FJl z8C+r(K*F=E;bK>a;Bucs%iSV-Hab#G_2VxfW1j9Q`VUM1e->=!V5Fk@w56Ie?yO_% zndQ+T?6mIW&o%i`@=;t6Gdw%4?xT9M_*PO+7GKZ4FP@e+5BK2e%i`)QSbcd~EWbS5 zUQ6^#58g$f`u|rfn9QQN-H>@Xf1-#}N2_5Esz}*96<{xt@_l_gBQYpih-$AA6d~As z7`u}p(JMS@n;pQW<9OTT;}NK#9MwK;6}~~V*_H|?Slt4WOQu_7_Kix>yZOH)m=7V1 zL;T|>+YpU4%7Yj+k{i^Y)VF{YN@TAICbM|P0+1t9!OCwc4$(VkANc!g? zoLUEEy9KX>$F`Kl9WLCYqSN&si^shs%uZA&($7LjFCXl%Ul~B72dny_uX-yfu=jQ#xm+GVN9&&9pA0#6r!Nf7ijOl>e-Q%{woRqYQhtk^rpu}7a7wzH zu56H(3X<|*if*Q+lPTz8lXNge-AhI1QaiuwFF4BQ()pz<^dQnu#qAxWG{i}X-e$Gm z48c+f!;%om_vvwgUeM-~LCms%(M}$*^LalW|6mYJ*+)pmJ80A|sQrLF9lL!wLTsI&wz@%6gAbWNvk9$<0A60xZh`G-d zq*v$bel+&?9w>?W`zrk~8q3D1$_Y(NWPcM&e@$Ms;2(9YWobV|?mwCFpEnnoIhf zT`W3ANPH~8NP~$C0|{jD|6LSs>0s&*>8oL^XO7E!kk9TcLv0`@^v6qSr$5MMAeJG} zo3;4ka8l$C7vFr!AP&QPkWAAjgEDdxe{qsL@PlkZG8yRJBxWCn)1-aS$=oGFWHj^F zN4d;nALMhYDbtc9^Fb}*sxl3gev$5xo|vD?#D?OAew2?~`avq@pbWE%#?w(C#1A?l z$|NaV4srHTF0R@KrD%yd%;YJ3(26~x!|6PD$w$dhDj%ex2*_|c4?FO2AmqRYcKO$( zGQb0GQa@gL3ENT_MCnw-Lcl)3H7p=g$2TxL6iTCKn6hHczt$yg*pDC1>h65;sUi1q zdHwa{HI6HG&RWaF9Zq@>^8MeMKh#y+)!`Lttj=FYiaqYjEzXWh6Bw~LEJp?Ff2+$Z O>%Tv;3G=_{0(2NHGVk61 delta 15910 zcmV+>KH0(FdBuH@l7GqUoc*S@)oHKzwk36Ea$c}#5|S`Y5ez}v*8KVnfZ#=UVaW)V4LF(B286g6J&Nf9la*?*kw z;bu{ifE4{%p#+r&-ey?taN-c1l+kzS4;k#Mv_yI8fkK+HKW4Bb&aq!o9Dir1d4Y3S z(4lvTO8`Mx3;~_yB^?Bq`)U3WjVe!~()}EG!CB&A^s6F+2`Jze(e5vt!P3rtg?~{BU>3ckF!9CW4WjMNgS<%~oo9QLLBN+D*hOULo&?%#P)x$S0mS?P}h1&y{vlY*#>*#k-@6K8HlM)faqeOdw-(8KB+|}ogg6$kkHipjm}Gy zMpRw#iS4KNJ?0anhfNp9$J(`2IEy zYJj7CwWp&&dxKeC#GA-$EWr&feC}cA=8jJqtTXcJg^7_UON7bciO@S0?KzHjY>pH@ zmoAg&e$NP~K=o#N4%on<@bIjD`jcJty%D=X+J8Ww44AlxahiA?fj$c^wR}$r-&;ye zg6;9A1LQ*^6nC8X74jwPcfzu(#;8O%BmRi+Jr%GUFgi4zR6#-FSX(DPsd!UK1wJ?1 zysp}sM_!;9dMDs@Du|0pIyDhaY8}ukpVufwNmMe`m|Y>3KFRpOF3}!R0lLrqpyM)1 z{eQNWo)hLO>T}Rpx$Xq<9NnVeujy+gzJ^`{=#7oqtS`4==a&blW{L%9w)&exobEmwVeDCuno< z=t#{Bd`~B0y|ZiDcu(-e7cL!h51Zki6)X-Q#!MCTa3Ea6i);UbC-{Ao`$Il?C*pxa z{WQf7cu{4{CIuAD69a$UU%>bfd+2#@&iW0oFWs_$d~@@+w~7NXU%Ewsap~`=27gCq zz8k^;vGz!0hDVHXn&7w0A0=NSLSR8BWb}?R56~VRQpuSwsB1Hacz5?B-3htJ8+p>Z zx$&iid0l~Mo7FBdR4M`ZPG@08Q0$%u_l=3E`RN0it^q&LeiQ*Q;km;p@r3?{i|-)w z0Zz(79J@Lfx^K+h@gi+YxX<0+OMjPmyGJyjKFm|-T8CI^GGL~DvOz8mND4IIJy==g?=X)HidpU zn~Q3%MMycR^-^^_5=c~R<%VCW;yjn#u9d1S%P8I%XZw;y@ptw(0&MEjbbr&l;~k8@ zvoq@r+8SqXsoDf?A}SQw%^unuj8{($7g%J}ltfl$N?U!7i_!+brhe5+fZ3vNvR<0UW z=(~zrE5sW0PHQ$jtUZhbkvuBRtNcBPynuOuW1&J=1F3fnix5SXS%0jZTEJ0GAfS?n zYFjzZ2(*Z1-sbpB_38QZ-I~j3n5GX`T;Gx-Mo3;YCrU{&%r3zI91 zDcuqRSQNN85(5%PXn&Fr%$JzIq~%MchBAf_?;<)&+xHt+&gZ(Xri9$gJ1BbUB4)M|s{_PWXwXm~hvlYa1t!Q;P)ds0@O|kAJ>8p~vATZye;$zRY76 zxWuvaF^F+|YM=xle3cGtjH6R!k|1gGe;R!KSXt>gE{k4yZr6>n(1o96c#kp`lZ2>`gLyV0LWe@&QJZu=MFe^t zA4Xx;#A78t{}M>A%<3pdAu+1o6^Wo+lTipCe>NDd$s@7E^L~-k8wL+|8$wsiJnj?S zV|h&#f>$t2kKk1tP1}1xN^^poahgn~`^LalVS%18?Z*N)V_U2RZYDQdEA&imyA}u< z5L`A`ncj*ma5TLst5Q5r;~B+T7G$rey5R2>p54~JXs81t6!frXQJU`}`p+6eV222R ze|tpq&PuH?!c`d#lh8Vcq$tm|4#lj{DKRJ`)jMX3Ou!o|cSoJ%kJosvTdxBb%!Eb+ zh`)KK^4&XwaOTGzv)k(~61G<|+IF*X8vNydKkBFdO{%tawEc~&u+jB+F-)e3R#fi| z!HB$u77t+*4yz!RdN7*JKwzB^_~_j~f7;>liqk3tHi!L-j+c#L8cgpDz@DpVgdBSTFDz90BC3;Ik#GFRGIJ1)kFA0oYon_?v=bWu+EET}Cx)4QY|L{^2Y9g;OX z^30&u;T;+Z#3hII^%ocup>mz$MNvw9Hr3^3chBnQi36A_U^AG-I8hZAQ$eSDfAmjf zpySOx9aGbpd@8WM2k}(oslLO?_yc)y<=5|VVdZ6fTzvM>{HngF$BF1On03iC)aHOa zGA!srOz}6HP*^4Zsz{xVwAJmxqQzeR7q2@0&vuw`y)&UhN$uN&@ataPLmP_(cWAo{ zijaEe9DZT-uP7p>P3FlMbNvBnpX} zf!j_yF(b5C70PfX zXtP0am6nHK2nqc+5I%va1hqjBO6Q21I0OSD6v|{C$cq~SE2;=&?EE5>e^L7$<#{OQ z1EDEMoKKY}@+l^)GvbLC8V8P`c2|~cH6YcE(FtyYWu&N;QlBq{WJ57xbYhW!=(OJX zA(3hn+cqyj2)u?<{RYA;B$2?r3Qizb>u2pgq-E!@4f5UG_$Gy!47z(|jVi9%$3t<$BC@rEa6m2u$kt=pM5GEpE z;z=H?5QvG4lVM4Oi9XnNIB9xfTOq?dYy)<1&~+ELNG7x?&Rxd?x{xlTV#^ahivx|o ze0nrpx9xD55{%3aqoN|A>?o&!7($~Jid8k78Z#hb+Tmqwuv!S|e@*=RthQ7_^;0_~ z7@k8`$1r50`J82d)^kTPNL9Y07o-~Y%-#V6AX91{VLG5U+=6sNKPMNK;@a>F%;Wor zRxl3Df>oHVj19S9uD}GLaQz4e2?ps+D42$JpD1Vr>HH+P1>|ug7=`OqBM64&Thk*I z==2ZO&!$H&w8MoSf3*OeTpD(vy1MlEg||)vbbArh!oJ28B*P~d%AKX)6Y9;SpcnSF zMME;2%L~CM)Whc!dO;mQKjZrP*YimcWf9nW?H;9I-Xe2O;kjdSS^;`Da9*Bo?N=~` zJQ_%k8Li37k{jVNoBIt{a*-A)4>x{~jYsLVr?YdfC&$>|H=k5>d2i9LB#IIa;3dq`Ja{g+0md5w!Q#_E&T zQ^$*}=H)VkNGTUNk`;R?eIJo>6s=rT%;JE3qpE7Yz1A$ku|v!uKN z-rFfVYHzUvxG-%(%I_-*Q1hU?zWH~Oxxh{+;`d(fe?mw3p=@6JD*W!*QRV`}Fr^8~ zLY5}{(BawZ{p1+8N1uUXMoIY%A#;Hi3nsH{W68|JlOd1QKFFQniA8d`@f=*{BDp}X z+Mer2X|<9Ws$nlkE-?=GI^-F@_0Q1fp1lG`Y1VOQR$jxOWvqmmd8+ z$2hHOf1l4KwXDO`hgaN#Dp-M1)BEPvziX77-#9j7wAK;+4{&dxECX~Q;jDsP4U}D& zz6NXVJ1&lMg7y4bdvzWkWyNCP1UjrNsc|S%qqH#)PMKLL^sT-Ne*q=AI~%h9}~YMCS}zzNkliffJqKi zf6rmd0#+n|&2D1Ya+6f_qLrIupc$;yIE6Odygwe3qSqQFqGzX@q~Kj*Ob?c8hfM%u zqa6}vDv3_n(lQu%@hMg#ub|fx_kxa=`FO@=5)Bi^q-jP*OiRP0OjvowDVebO43jcr z0U9P{#2z%v$(R9l#tS7sOk!rhAT!)oe`d@x)1(X-YlbPAGTltmLX;Li4S9tzsD3dx z*QXIPU|||&WYXR=PR*3{X_(k#ThuV0>4umMLeuS3!>mkMt)^*Bwv!AK3QR&7wQsF) zb3Td#f?L7ZJSnYgYo3&!J-5HB-&9`UGKIuUGtRFqIw%i`3n&jc42MvTi!vNGf7&r4 zrx409q1)3dE+PLX^#y%WfzFyfse<(j|EF*CUv32{rGDVRdGd7&meV_4mlMTY=qR=F!6+2Pdj{37uVGVzf#`MUvmi*g;U<3df!(&|E8 zvsLpq@g{6V|Dvv!NU}9ga~2h}e?k#pTvLnjM?QfuP9TWl7*{NpQUcgBL_)hOd9~ zVT^*Vu49ZqeV^fbCLkhGX|TuS9(l0+%PRrhLw92YG>;s$@awqnJ8Ik)e>qEp0O{}( zRe?NMiMntetVX`j!6}OBhq~Y{HR4Xy32c86N z_n6uWbi0Ci1_=qA_4EXz9_SX3uClyW_eS)V*1T@pXV}_jv*cdkYEZnvV4^yv*>K zV%!^HK$mO=dCWN~W&TBV?vs0T`jc4j-G- zJOd}D#yDmEDHu7EHN(c>k*gU(IH7aJw_MTo-ZIDmvlJe>{(J^`On*7tG(v#HbVg)b zkVbDHr!%$iOo#u-(&qRUCDTstv?!1=QjRgyFRH7c^1`C+tA>NJih4#t4|_K8NZJ^U z+KEZi(bFs!uDFA!1jVGR?uJ>#+S$I16VZ-hWSGf>&_#xsOz_&bLj>&T%*DmQJE5I! zR%ydL(1eu3hN(;n`hR1X%S7$a6pe|YY7Dc{i%(;iL>b{g_QOeWUrck+3ln0P#q^LW zdW5PHrK*onco}6~m6w{`uzz4rr`ICbg}j=22CIxWo7XR3?=-}d3H0|aYlL%f{#*ZE z(K&-#n8GccoZh;iA&~fEaLA%PioN0AJ$r-hWv}tX;5coIM}PPx^sjRYmx3_3C)0l& z?jC*Y$)hJGUM2JK-KHn__Tb6^{#if_8EF0Jibt?ukFeOq ztZ#hqhRPl2f*afC!XqEBGkOSMMrl!#)Eh9U2>UM!Ge^yY!Woq&QJjcD>R=v z)mhN`B-5h|QCE5%#TY0}nbzki(#1|`2JFsR{SQBdGL{W01?7Y#SM zy`kj)NkdN(Y$*BhM`@(q@@Ik2VNo7z^=C7C)cn_`VOH`kP^v)9u5kVQRJCUK%8tlW zjB^%QqNuV=`iNK(imxOoca!={IcvB6cJ?Wa;_oc5IZPIPF(qOBpQBxZ!SVM;Tz+m& z{C_T+p(<7LYq6X5N!x<`tA!SD82gpihqkc6xh7JSLH>scE33^|v)~$$)v;)NQr6LT zxW@R42x4j%<-U$UY769jN&kD#o^P>r2$MR#hiSAbPf<*PZgwcO0kC*yS7ZdmcGmhA zT>b_R!Xb@9EZ(W)A{N@wcox{2!FO4$U4O5*x?&HdKG(H0*rNJntz14vduXd657GO) zWN(v7Vsn?GFsmwNdZbkp;a6a*vmWstWsyz!`-rnSAvi|NFOa!K{Z@Mh7>6kv@o29l zo+v3}rtiy>(g7aOgqUikP!u_+%7i^2BPrvr`oPWJ<7bpl*~oAr*EBn}QV zU>&r~M{AlR9(z#FQNeuYY^~h2MSrP4?Y)O6J8)f~fHp>cEn-kwYk?Dk@@w`z!*5wL zw=A{gYewvB0gbgPce>VoEqTJ$em{%oT8nEJK?M|1N*8Sw_hzpKY*TzP{;Z(N2Xh$% zIhEkdn>H3YHi$8`9_R!DZE?AyQ%SmtJQ>C27r%`988~!@uV07$81`#9$$t#;`Zp7u zG)7a7UmF!yvzOZP+C9|Pz(RiZqx4Shnn7-=q-a~v<`5pQ0`BoE43Afdx7!qg(~!$P z$?=YA-+gOL@~#5yS>9FA`_VwR3{z9)#Phrc#;J)i9t5w`7&;oWs9%NlJnC1%Lt(Lo>F z7XXuPh8S2ahS>NdLRF6mE4MDKzjEvH+{!YgQ4Mg?C9|*666L9HR+Fb04hHW>Go3O( zle-xwf1QD5peF`M$+4-jX=1f4uiYPQ4dN#V%&gc!X1bIDqhnCoPvF%HudXq3L}~4L zBg!|2!shIX0b**5PBT~gXT+>8k90I|g0ydd+}!-A->;ay>Cs>?;bv#rjgGaO9L*b? zW3i#v6}lqqxVSk9Hcm^4k1_eB%SZQCP5(B{fBY?)#)XTOTeC?#4BnDW;$iw$OoNQ} zE!c$HFVnYPIyX3`Z@DINFm|h@!(+lN)}-4jOSe{fHyfsJsZ6q%d@E&ujM-Z#O+xCo zPFlB3MsJza?sH7vDygCC-6HAU9+|l{Qa*S$dP_73UHdLZ8+Gz6kT$ZBTc3&OPJwle zf3RLjjTP0IJ7x|?M%Y}Tp>_7Ed*W*H3QPIW(8`sS4hy|2stH$9rmv)QuA(&T7A=d# z=#`V2a&GjBNfBD_N=f@F$>bH1`qh!{m685ck?AWUjXMvMS3*YM4M386 zDW^ir<}0~CV3UD9Il{Sdgmdc%XW^A;tU<4ifPQy`qm&hUe>z%{ z6p)Zw&2iB>o@~3#p3IV1_R{P)X|Zy;@9B{5I3upW+N4p=z%=ufn*k?)u>8vPSurVL z?hGBvXaAlIR_9!yD<;P%E1jYC^1eHe4XWAQCj+V`ai0vRn5*3wp0ft_Qm#9gFgu=+ z(OKif%_@Sf5uNRgZKirxfX<~he+R7cL_US&bV%e73rC3yTb}~~9=A7-%AFI)ee@10 z;<_ffkvhU8O4T)Z%6KPF$xMCMX;$+=Pf7@IhSP+(C zTRLy#bhzrJ{?1wZ4*M5(3$Ki@*Ap*>?{xaGsO8uhSWyvY`>xAPkO!KNN?fohvqzGp4HRdb3FTJq34+P zk3-Kft)GaVL)t&&I>&Tzf9y1X>fn&(9M$DmT0UVo2efO?oa4E$GzL%|OLO}Mz&WOU zt#|+vmr?2-)v6kIj%QU#K8JIrCtreg-N&}I<#R;q3Ujs34^IV0wc&2LZUv0-n(gcP zZk2ow8opEY-l=ZyT(Nhq)w@>do$K=+lz9)DyfZc4sY>lsvvsaw9D2|%ohp|uHA`P= zr6--zu|nxso8)2Rz|k|S>y!E&9e)ObZHix_l$gaJuq;uwm3qY2d@J|Zt@(O3U*3GV z`?dg!$My1$=cl{J^>tN$2S!ndSK5Bm*#7}pRXx#aDTV9y9nqSn1A0}MR>S- zTr5|1dP&UDm9?6|;-Am=Ps_y;Jj|c%p;)Q>`R;jsd%Ik$EOgIu{sdNkJbZe(w@~+D zehZ!+@Bgq-^*1^f7r<)2FQ1;)V9h#cJ^yV1eqY@E`o+S!TCINm1&9F#_lw70*Iz7w ze12L!%x$#b>!)u|%k|=)R)6Ks+Tv7Q|M9#4%f+vEE6U$|^divoJ$IM1XkcWT$?Tr^sOSWdWnTly=L%l+{75{(_wkaigVBb2?NQ$cQVS6y~ygAF^aeyF7$AjP*VvVUDm;o6~|c@9eX zu#LkzpIS2(si}kll6gZr>wXp?CW^}z5d4dXfUY)C_iPD+7-t)_bZ4o}4MQMuwI7H6mg=L4U|l$A7eH;uDC>x6Dk9(#+feQ0;0`WKbNn?;^6Zj)^uK6jKptUGygy67lW?z;{Hf&ls4+RQCYg6MdUt8#l0-GGzT@c%a>RG#oS?LV2y@z2|^9H+utzV&nn1Akph)!d6Pvr`_7DRM# zJ@mFvGn{qxOO!@*H+Bf+q$}M?*=;ZLl}oH91DF%cb{#lDs|wmaF@`PyYh6IJ*4YZA zHZljj}|jwr=p>seH_FyaRP^31@4FiAASIAr(`u%##7L z$P=tvRmqu%5Sbv71Ztuqy}(|Fp?ZuA&|d8{`QhsdtfCjoaF&CC&OUZ5Dd#&bE0;s%7yB7~D# zfpH0c`YOdCwiBol?I9IQ``igw{angn>zdSAjsz{WW_r6QV194T6#OP!X_DEqH~+3nnfOAz3tPaT$>!2M!p=8RKjMp^V*f;x{@s9eG~t zae_7ncW!XZ&T?~P&^u)lajNX25l1kf32bi@>wnJ*76<0PN{7q-SyqkK&$?hAZ6D>% zfWWcutbNGZJJ$(TQDw|{0JL&9fX@1|fbk)=-;J)kA{!h>YEJ>VxOcX>hywygTW5iB z>CB&%gR%Qg;nz|-x-fk<#yCyzTjq>`qwXcJpmT@iZ?li&&PR!y`3qTAmWgY(64IU2 zxqrI}BfZ03M=FHNrGU0seMd|e|8W9vtFZiXIHnef10*^-ogg{c_{3D?K1jq37*B|k zIl$tnCS92M~E<{$FG{Gte-fmL}D!Q+^(} zU<2jqec)S!N`4OG#Lvjlo-AN&PsG-ymVbS0%L*tyxMfAUmd$HG*>|_6cuGM0v1(Lo z)kbR?q|Ou4X^1?7uzN(+oW-WFQ;l1IiIB$+k=%8&(%XJBm`6_Z&RRP5K+|2j&)zgT zgl-Hjw|%~YY3{b6C`0VM1p2q*^@|9I6w+)MLY;7FISsgbGU{|bsU>MO2HM_>Ie%*? zyCXo31tfuGl>;9e!iB>jha{*$AzoX$>++-HDTi(CoYvg6RrlOw8tl2{<`O$i9dvW6 zoU2(_yqJ!i#S6}E8dN1S>kL!{ZQ$Xz@?cIUaQ1rH1Ba2vy&jm1JW}<*Wc=ly2Qo*V z$R6;I99kXYpF5p8CNShX=$OLsb$^g!@Uz2Z7x*WURMfVjuCUgI)D@rI9P?1yoQ7%W z;*W>DQXdb)%toRO1;cABKu-_^^_?H=QMwr5BnXO95fFl4I`RxURBp#_rMDl6lgp#Bi=AZ|D9-3Qu5RB8&KM=7)<;Z=pe6Gf(Qs= zNew+#aK-4@QBTbz@5<_!n|I=YBNrwSwRm_1fM#|l7j)sUhHWpk1%!85U`34aYNP&!R>;F->O{sV7>PGV+z;W6a|&>+6{!JkPE?zhEWEP6Fv zs4l3b3)My0!?y-oO&2eHc-mc!)1~`o8TMvXzmx$dDp(aDS7xd#y*`py?;^aZUV~Z2Jd^Uv;Ve~{Hzt>IdU+u=kPyockE_|0 ze9<~fyX1w)P{txZM20gAdEwH_t>FoOy0gCt9;RG;jd1bY6{m62J+kNms(T^P#w7QG z?prntM^|=2rGF|>s&NX;i|L#J^Mdt*N4SmR1E}L5a|)X(i`n&vYFO$N$hw_q#I7WU4QbH8xZIuFMk)hKvy>Ftd~OwkXQC??-xM~#FpGum+^~bYSSN}D`_q_V+_09l`?!fv6 z0I9@ET7Mua(HgV>UT|_~LzPQ}fIkO8$q(0IV!Y2O`ve@}S!-27&9*|}`I#mNfkl_e zMPmY>xZh@REXep?D801`6I(w-$^0DDG>VH=>jCBwiZOu*tG`3R>l&sq42TL7fdjQBT zvN-@fabTW%i5sKYWaV7qw)673TvV>R?Q*kqbIM#e@?302>MYF)uU$dSnjGU)YJX_I zmfR!S?`NM1{2gX%{twRr4!*}QztY=-h?k)rzuw=2#p8PUheXe7)c;%{T%hvMHGgLD z4r5xs)TkH*P5Jb+5k@R zc3UehrdA9!`kJSYR|SjsR#L2puc3*Zz+rT&?E5Xy;oO5P4ru_Tq%Nhk@5OZzBF zM}O0xq)-2*!T=SMXcAWKOXmbCPoo&_=q!iDkFEiKasw!T$T<I6*f;7lHi zSN}UIchV<1npLY@u4!XfS+UOrX2KIz#OCfdief|HT>=AcJJFW#8wa!^Ab-Z;Y^~f? z<01Bd-ce?BE*@8{W^U?&@a*FNX4J?)S!ubqRLodih#gFGs{qt?V?InTm_XazCEk_V zh9OiGHK6zUo&ulfGb8ue#@eWuWSB^*(a5gYox8 zQQ%^FzcOD~Aiqkw&m|X3S70{3zkm9DaSLu2_v^U?^I@zjAdmCMr`6)->G5_2?jAw? zqb;x|9tHQ^0B^J)egoO{_slhU_`{E zx_Fy13BY1MeMavvd2UPv!$PF1eD)$0%1jF-W;;2*2cTk{D)P*sz8|$fLZ&MsZdkh* zikz2}7KT`X<|{6ZSASfx+pp_+L`0>{*Roq(^F6aQ2~MFRiYTRvHv80kanr$HT_%^% z^35*ME!0)zgw8|GHR$$N9s; z4fO4Ny>Qyr+r{Vk*ZVc^<4^OO-@ZPBo2Rdj9?(DE-7j4Bw19q?{}U{q*7Nn<q5$FxGpyPRDMP&{LFt5QRd}UgmY*e%zm@wMWj*e zwRorE0)JH&Fn`*+?(q{;$9+DG?y=Xoaa|Ts?2SMRuBI7j;vb1}bxAf6wU(mpaJyEn zT*395=md22_2y==T7mn;x5Yhp{QBSmRBVSXA!D54qRBpM8w~F8zmO|1c6pn^SNQ2U2+E`NMeqG4({awW z<<35b-f@=nBvP$>AH_SW*D6k;A3jp=Id(x^w3y<4~zAer(3XEQxmC{PD&jx zPECo^ef{fA>$@PY*4bdtoqDNh7*@E*rMGcHMf?#Ys0f5n0b^VwOkM;+NK-d8%jKaH zGrks*pnovC4Phm9WHwQimch_LBzj3<5(=NY03=PrWgXBun*H9LM2A2}(xcQ7nGFkM zpVU(s=v)`M;H7h3VUrikg6yuARx2mNBBpU8=YUn9lS}XZ%qB4&`WH13BfXP)fg4=F z0A<$+vA&~4VAR5y`hu94`+cvGu$Tom%L0`7$A8R%5&FlpLY?{{iG9H=Fu7m54oW?g zaYQI6DvjU_!PL?8f3rg-9MPS?HjiaqpnX&vK<6*!pWUfK6~atvNTGlZIR+HGkZ6@V zR3speit^CE3JPX^g>=^1l6nj4tms@H4v1Ay0^(c`4v1AqQmfH_1CUlt27Mg6( z@PDqi#H5XC7y=ufaWfp1oYCRVF2S(*vw~F^rmsYp2scE6Ii$dwO&C1FSj!>XNd%Vn z!K`Z%me3P)f;q$`Jil)!_J7SLoC90NCm0E+>z{6qO-M(wdawHIa0zFWT#QhC?A!}z zHZA;20$C~*u!HXaB`_-ywZoclr4pX9SAT0SdFBxajzf#_7x%q@R@0GSL=FJ$SzI|e z@9KU5NoUx8ks19ti$R+rRAMB?5U)eMOO3R4{oRIb3!&ZfBnEl{NS7YdRzu)BHMlc^ zVwT$PC6D6oB5su}z-B+R*>T_DVS`eu&7k5i+7?m1vkHQ#WOOquPS$-dm#{5}c7N}* zIlt=6$u^tO+jtE(ghy#%;aaMH{N2n>RX-U5{Mf9YTFg|Xy)n=lM|1#OSg6m1U1Ay_Nmd!FKgn)X$Z0$S9pTEhEDq4e*UEaGE;Sm{;W`f>bxXZ zr+xdi$*~<=WGTK{!R6*#<%aqBP${vZwy$U`zRMZbm@m|JDNPs zP}KtQ8G+0T6jMVFZFe4EQ~c%>l}gEyrM&{t9#>f@cTk~$%)+Cr?`~v55r6B{e)njx z_UGl@%>t~}i)TCacac(=9FY|D8aQl^b%Ov9)pw#yT3^$Es+S9!z9{}~4~EswP&k}% z80k0AS1Q_HPhwTqvzN(W)z#UVZ$J&=xST#BPcOnA%H4{iwrg6%6?7fg*-MinOhzi( zAfR&hU;|$!sfSH;$t)lCD1WFWB67mxC$BuDvXWTDm(FHnkArlo6r&VAFvAb+zI={FhlNF%|Z zo*GmtyW!6Y760f|hJx!p;HTzZwwMl??k_QO?s44y=k_ej!~M}YxR-1E z0U91Iv<6r>ztSJ%;NxO{fQX0d>;V>jE|iy)0&`2h!3CyYWiI8^8TKshv+&sqcFjfM zIxqVGq5E9YlYgo!Fk8Hru*jnH?)edypXoNhRkbbx$d8JsSK#WG0yQM4g^Yy9oHmqr z!T=NSM!H9nRgu~RW)LN|+&U^80VxXrEQ7FyWTj=0o@g_QQs3(oQ5(zV+DhsdkX%ds zBH}S?UOQ>4p|wRP;Wqcb^hdz|QL<03Q@P4PtJRwAWq&Qb`FcBF;q+B5^WY^^ML4RW zy#o112PTn=O73#fBxaevxNE9>es5D)Gm)*vL7z66oTRYp^FI3b;T}f`OxC!F zcTPI?`RR8$bt>71T_*9g{E>_jNR$sIjlv_sZa^iY^jJaewjH$bdq@FVZ>@ki#N}W#xU@%nD}k z5^Cg>{<)NBPlYGdxI`QS?_5X@^F@=xm;5%qN^Dz0A0?_ zuLNb=RUW;uB~p|RHK2>}>`n=F&Iff6x#x0Tf%c}^1t@b@iVswADB>NU2+W5&kKDoI zEy%EdZ^OI0K(3=jvLR+C<**<;P~=;L_>~BN@5osvl+C%*mA9yqf$EjZ-Qzpoco!|K z2!8}^D{TX|PgUY7iPX>AkBaM@ydPD-XE^(zp4~*J14bDsQsEb}ZLj!ZL6{EUhDAUA z*HJXH>4Cs_)pbPM>A^>MWt875j6wB_A%bO5;unllL)G!ul5+8G#kZ1cM|{oRYP0{( zpYLS$_W=yK%8z2V%GewFNO=MCsGzoa7k^yys>U=04YN4efKK+Dn!b=&#;czt&^j&S zbRj*>jusaw5b)n+r**%K{PgaZ;zxYqIj1UMU33!e>?Mu9!=J#9Kgo)j>m;<$*(0A= zTFf@z1BIGJccUr3mrMCx5&dTw<0y$Fr>AVpoV@mA5CFjAYM7uT)e0_z#dV zPxlo48zz9KS}=1kQc-={Qq386)-e_q|L72QT6ezIuOm-$Et%ojb9KL}H;Zp2^Hb!tUk30l0@eS&VTrUB&FzNF%MnGKI)76a3xG|^ z=BWUSAe|rT;~9xT(Lz*vm7oa0?!(xf42fRhN!#oIHXX;?CZFR)4dtlzX{)e~Po{8! z)h{5qWco#BU#S#*nEz9P`54l5h`;@08=|pBd1AOmayP-=_`g;tk-a9E%;E(LK#oiW zE5E7eLcO@)P+;6dyYo$@g@5k_-*bT*M(a-}VSN?7m%fVDCeRqNO+P3k64J)(*4{pP z7r?eLn@bW$v+D$|N%|z>o=rqPFB9Ve{`DkVWL@ebDU<(BaQyKvLs;YGINHaqjqJQy(ta+(E7u;aqoP+i<+5YcrZv?jHdMnke#d1bXo{$sx*X4n zUnAHnpvF#HbPU&_z<*O#Y;=*ZwYzh$ifdF)3du3eF^N*}im7PS6)9u2Nbo%=CqbD| zGn^T{35ao;e1``>-Xi@)f3>=6jkr*OOlw%sG=1_XrLS^rzn7uL9df|#z+SX9_r64n z=7pNBQXVWTPk)N)HduuuVFl%_DWN+FPK(PjRGJ1n`@{r#y?^qO{CEiof;|&UjoGPf zc7YQARDz4J`s#4%+9Ntv%Qcqg8o`N^J+`YM5$R*N`-7aWeWHTqjVDE z^NOTt_lqiUpMStsg`WbWlO&jW+=en~O7vn|Oo8tnzrs4Xz!bu#wa7B=$|+Dj4`!uD zdL$^81nquF72+6|lL)uvrHRrK3Itg)pEmrM9>=39WNC^*Dop8|naZ?Zg*4N;kQ&p1 z?#oe{P9%F&ivnL!PJ!}NX`n6#6eU2DpJfusqdKICihoiHWUI`;WId@wmTp^2fv>ps zn8Nm`3R$kAkOb2y>Xn*WrJzntR--i3Csnmcd_Q4?hiZ^yDL=j%ykv+-AWzcX6ty-L zZEc#CrmCGOX=PKjF?B6WQTx)>y5zMjNiA!FcBQ0M$!k-+e2IFj6eU5gfDAkRZBuEp zl;0w!>3?#nI-HX3rYjrdrGlh9n4+7h>0}DJ*d!fHQTI~Oxzx@thYMcibLsq27J3wE ztm5_#QX1l<#9*`9Z^mG$gehs)%lGMVfkDvblTpmFfYDwavG@5f9{*qzP1#3C#yjY$ zUr-n5pZ$>^JgXBpEqj>?`?@~jmL%0CG9|jyPJe5VA=s6XquF?)=#o4sFF~;_AxBU{ z6Te)61jXxG`Z0taF-bOZ6k1uN+fAnxNOV(IM2@3K5UNS=sI&w-@x2^17Ks9BFM^}e z64b=^a@16Hg$t!6s9n((PAcz5%220v7H8uMwfcKGYHGU7Xjutb7d4vWit9Key0nf; zOMeg(-;YwOL(0gL>3=^AUw<(MsHiAh)e<07;{bM{?F1Yb-2uF18T4N?yFI7k@Z#{ z`KZ7!toURcvrO@J%jB^LEv$e(Ty%s-^M7#@!dQY)0yijwM2FE)(QAyv#}bU{yiz)Z z`X#UNslSz=vx8|a>34Rq=ruy(V+lqYOk@~HAdCO+qj*OLQ-{b<4cB_+xXdU`7?A@& zdzMg8VYJRm4b$m=H%dXIL{l21(=x;G-B%wjzWJ0v9ETaLTj@?>u*h(;F5N%$GJpI@ zgYHN7(=Pwu2jygf(#WHk2tP_BLi`|`lTC)sU>>)R|KI?UuLeb5TOqQmJtet*kH$!Ibkqyj0(a5|5?@Np#S!Uy>WwlcsY&vHLr zdJNoB7)9w-#G>FX;RY6vStMJSb%oOC1*WW6^RIP@JNDy;v$}gIbJ%^&J29_k1aHCFGhSBgC!${o&*OA{EeP&7vc>wl}utPASDKeGw* Izi9ml4gOgK7XSbN diff --git a/static/python-api/html/py-modindex.html b/static/python-api/html/py-modindex.html index bdaba07c41..1f92ebf59b 100644 --- a/static/python-api/html/py-modindex.html +++ b/static/python-api/html/py-modindex.html @@ -178,7 +178,6 @@
    1755. bittensor.utils.easy_imports
    1756. bittensor.utils.formatting
    1757. bittensor.utils.liquidity
    1758. -
    1759. bittensor.utils.mock
    1760. bittensor.utils.networking
    1761. bittensor.utils.registration
    1762. bittensor.utils.subnets
    1763. @@ -804,16 +803,6 @@

      Python Module Index

          bittensor.utils.liquidity - - -     - bittensor.utils.mock - - - -     - bittensor.utils.mock.subtensor_mock -     diff --git a/static/python-api/html/search.html b/static/python-api/html/search.html index 2ba8db3c27..ed150a2779 100644 --- a/static/python-api/html/search.html +++ b/static/python-api/html/search.html @@ -177,7 +177,6 @@
    1764. bittensor.utils.easy_imports
    1765. bittensor.utils.formatting
    1766. bittensor.utils.liquidity
    1767. -
    1768. bittensor.utils.mock
    1769. bittensor.utils.networking
    1770. bittensor.utils.registration
    1771. bittensor.utils.subnets
    1772. diff --git a/static/python-api/html/searchindex.js b/static/python-api/html/searchindex.js index 4eb5c5725e..5813ca7e80 100644 --- a/static/python-api/html/searchindex.js +++ b/static/python-api/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API Reference": [[104, null]], "Attributes": [[1, "attributes"], [8, "attributes"], [23, "attributes"], [24, "attributes"], [25, "attributes"], [57, "attributes"], [58, "attributes"], [74, "attributes"], [75, "attributes"], [79, "attributes"], [82, "attributes"], [83, "attributes"], [85, "attributes"], [86, "attributes"], [87, "attributes"], [89, "attributes"], [90, "attributes"], [92, "attributes"], [96, "attributes"], [102, "attributes"], [103, "attributes"]], "Bittensor SDK Documentation": [[105, null]], "Classes": [[0, "classes"], [1, "classes"], [2, "classes"], [3, "classes"], [4, "classes"], [5, "classes"], [6, "classes"], [8, "classes"], [9, "classes"], [10, "classes"], [11, "classes"], [12, "classes"], [13, "classes"], [14, "classes"], [15, "classes"], [16, "classes"], [17, "classes"], [18, "classes"], [19, "classes"], [20, "classes"], [21, "classes"], [22, "classes"], [23, "classes"], [24, "classes"], [57, "classes"], [59, "classes"], [60, "classes"], [61, "classes"], [62, "classes"], [63, "classes"], [64, "classes"], [65, "classes"], [66, "classes"], [67, "classes"], [68, "classes"], [69, "classes"], [70, "classes"], [72, "classes"], [73, "classes"], [74, "classes"], [75, "classes"], [77, "classes"], [80, "classes"], [81, "classes"], [83, "classes"], [86, "classes"], [89, "classes"], [90, "classes"], [92, "classes"], [96, "classes"], [98, "classes"], [101, "classes"]], "Example": [[0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [23, null], [24, null], [24, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [60, null], [60, null], [60, null], [60, null], [65, null], [77, null], [81, null]], "Exceptions": [[23, "exceptions"], [25, "exceptions"], [75, "exceptions"], [93, "exceptions"], [102, "exceptions"]], "Functions": [[0, "functions"], [1, "functions"], [10, "functions"], [21, "functions"], [24, "functions"], [26, "functions"], [27, "functions"], [29, "functions"], [30, "functions"], [31, "functions"], [32, "functions"], [33, "functions"], [34, "functions"], [35, "functions"], [36, "functions"], [37, "functions"], [38, "functions"], [39, "functions"], [40, "functions"], [41, "functions"], [42, "functions"], [44, "functions"], [45, "functions"], [46, "functions"], [47, "functions"], [48, "functions"], [49, "functions"], [50, "functions"], [51, "functions"], [52, "functions"], [53, "functions"], [54, "functions"], [55, "functions"], [57, "functions"], [71, "functions"], [73, "functions"], [74, "functions"], [76, "functions"], [79, "functions"], [80, "functions"], [84, "functions"], [87, "functions"], [88, "functions"], [89, "functions"], [90, "functions"], [93, "functions"], [94, "functions"], [96, "functions"], [97, "functions"], [99, "functions"], [102, "functions"], [103, "functions"]], "Module Contents": [[0, "module-contents"], [1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [6, "module-contents"], [8, "module-contents"], [9, "module-contents"], [10, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"], [16, "module-contents"], [17, "module-contents"], [18, "module-contents"], [19, "module-contents"], [20, "module-contents"], [21, "module-contents"], [22, "module-contents"], [23, "module-contents"], [24, "module-contents"], [25, "module-contents"], [26, "module-contents"], [27, "module-contents"], [29, "module-contents"], [30, "module-contents"], [31, "module-contents"], [32, "module-contents"], [33, "module-contents"], [34, "module-contents"], [35, "module-contents"], [36, "module-contents"], [37, "module-contents"], [38, "module-contents"], [39, "module-contents"], [40, "module-contents"], [41, "module-contents"], [42, "module-contents"], [44, "module-contents"], [45, "module-contents"], [46, "module-contents"], [47, "module-contents"], [48, "module-contents"], [49, "module-contents"], [50, "module-contents"], [51, "module-contents"], [52, "module-contents"], [53, "module-contents"], [54, "module-contents"], [55, "module-contents"], [57, "module-contents"], [58, "module-contents"], [59, "module-contents"], [60, "module-contents"], [61, "module-contents"], [62, "module-contents"], [63, "module-contents"], [64, "module-contents"], [66, "module-contents"], [67, "module-contents"], [68, "module-contents"], [69, "module-contents"], [70, "module-contents"], [71, "module-contents"], [72, "module-contents"], [73, "module-contents"], [74, "module-contents"], [75, "module-contents"], [76, "module-contents"], [77, "module-contents"], [79, "module-contents"], [80, "module-contents"], [81, "module-contents"], [82, "module-contents"], [83, "module-contents"], [84, "module-contents"], [86, "module-contents"], [87, "module-contents"], [88, "module-contents"], [90, "module-contents"], [92, "module-contents"], [93, "module-contents"], [94, "module-contents"], [96, "module-contents"], [97, "module-contents"], [98, "module-contents"], [99, "module-contents"], [101, "module-contents"], [102, "module-contents"], [103, "module-contents"]], "Notes": [[0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null]], "Package Contents": [[65, "package-contents"], [85, "package-contents"], [89, "package-contents"]], "Submodules": [[7, "submodules"], [28, "submodules"], [43, "submodules"], [56, "submodules"], [65, "submodules"], [78, "submodules"], [85, "submodules"], [89, "submodules"], [91, "submodules"], [95, "submodules"], [100, "submodules"]], "Table of Contents": [[105, null]], "bittensor": [[78, null]], "bittensor.core": [[56, null]], "bittensor.core.async_subtensor": [[0, null]], "bittensor.core.axon": [[1, null]], "bittensor.core.chain_data": [[7, null]], "bittensor.core.chain_data.axon_info": [[2, null]], "bittensor.core.chain_data.chain_identity": [[3, null]], "bittensor.core.chain_data.delegate_info": [[4, null]], "bittensor.core.chain_data.delegate_info_lite": [[5, null]], "bittensor.core.chain_data.dynamic_info": [[6, null]], "bittensor.core.chain_data.info_base": [[8, null]], "bittensor.core.chain_data.ip_info": [[9, null]], "bittensor.core.chain_data.metagraph_info": [[10, null]], "bittensor.core.chain_data.neuron_info": [[11, null]], "bittensor.core.chain_data.neuron_info_lite": [[12, null]], "bittensor.core.chain_data.prometheus_info": [[13, null]], "bittensor.core.chain_data.proposal_vote_data": [[14, null]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, null]], "bittensor.core.chain_data.stake_info": [[16, null]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, null]], "bittensor.core.chain_data.subnet_identity": [[18, null]], "bittensor.core.chain_data.subnet_info": [[19, null]], "bittensor.core.chain_data.subnet_state": [[20, null]], "bittensor.core.chain_data.utils": [[21, null]], "bittensor.core.chain_data.weight_commit_info": [[22, null]], "bittensor.core.config": [[23, null]], "bittensor.core.dendrite": [[24, null]], "bittensor.core.errors": [[25, null]], "bittensor.core.extrinsics": [[43, null]], "bittensor.core.extrinsics.asyncex": [[28, null]], "bittensor.core.extrinsics.asyncex.children": [[26, null]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[27, null]], "bittensor.core.extrinsics.asyncex.liquidity": [[29, null]], "bittensor.core.extrinsics.asyncex.move_stake": [[30, null]], "bittensor.core.extrinsics.asyncex.registration": [[31, null]], "bittensor.core.extrinsics.asyncex.root": [[32, null]], "bittensor.core.extrinsics.asyncex.serving": [[33, null]], "bittensor.core.extrinsics.asyncex.staking": [[34, null]], "bittensor.core.extrinsics.asyncex.start_call": [[35, null]], "bittensor.core.extrinsics.asyncex.take": [[36, null]], "bittensor.core.extrinsics.asyncex.transfer": [[37, null]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, null]], "bittensor.core.extrinsics.asyncex.weights": [[39, null]], "bittensor.core.extrinsics.children": [[40, null]], "bittensor.core.extrinsics.commit_reveal": [[41, null]], "bittensor.core.extrinsics.commit_weights": [[42, null]], "bittensor.core.extrinsics.liquidity": [[44, null]], "bittensor.core.extrinsics.move_stake": [[45, null]], "bittensor.core.extrinsics.registration": [[46, null]], "bittensor.core.extrinsics.root": [[47, null]], "bittensor.core.extrinsics.serving": [[48, null]], "bittensor.core.extrinsics.set_weights": [[49, null]], "bittensor.core.extrinsics.staking": [[50, null]], "bittensor.core.extrinsics.start_call": [[51, null]], "bittensor.core.extrinsics.take": [[52, null]], "bittensor.core.extrinsics.transfer": [[53, null]], "bittensor.core.extrinsics.unstaking": [[54, null]], "bittensor.core.extrinsics.utils": [[55, null]], "bittensor.core.metagraph": [[57, null]], "bittensor.core.settings": [[58, null]], "bittensor.core.stream": [[59, null]], "bittensor.core.subtensor": [[60, null]], "bittensor.core.subtensor_api": [[65, null]], "bittensor.core.subtensor_api.chain": [[61, null]], "bittensor.core.subtensor_api.commitments": [[62, null]], "bittensor.core.subtensor_api.delegates": [[63, null]], "bittensor.core.subtensor_api.extrinsics": [[64, null]], "bittensor.core.subtensor_api.metagraphs": [[66, null]], "bittensor.core.subtensor_api.neurons": [[67, null]], "bittensor.core.subtensor_api.queries": [[68, null]], "bittensor.core.subtensor_api.staking": [[69, null]], "bittensor.core.subtensor_api.subnets": [[70, null]], "bittensor.core.subtensor_api.utils": [[71, null]], "bittensor.core.subtensor_api.wallets": [[72, null]], "bittensor.core.synapse": [[73, null]], "bittensor.core.tensor": [[74, null]], "bittensor.core.threadpool": [[75, null]], "bittensor.core.timelock": [[76, null]], "bittensor.core.types": [[77, null]], "bittensor.utils": [[89, null]], "bittensor.utils.axon_utils": [[79, null]], "bittensor.utils.balance": [[80, null]], "bittensor.utils.btlogging": [[85, null]], "bittensor.utils.btlogging.console": [[81, null]], "bittensor.utils.btlogging.defines": [[82, null]], "bittensor.utils.btlogging.format": [[83, null]], "bittensor.utils.btlogging.helpers": [[84, null]], "bittensor.utils.btlogging.loggingmachine": [[86, null]], "bittensor.utils.easy_imports": [[87, null]], "bittensor.utils.formatting": [[88, null]], "bittensor.utils.liquidity": [[90, null]], "bittensor.utils.mock": [[91, null]], "bittensor.utils.mock.subtensor_mock": [[92, null]], "bittensor.utils.networking": [[93, null]], "bittensor.utils.registration": [[95, null]], "bittensor.utils.registration.async_pow": [[94, null]], "bittensor.utils.registration.pow": [[96, null]], "bittensor.utils.registration.register_cuda": [[97, null]], "bittensor.utils.subnets": [[98, null]], "bittensor.utils.substrate_utils": [[100, null]], "bittensor.utils.substrate_utils.hasher": [[99, null]], "bittensor.utils.substrate_utils.storage": [[101, null]], "bittensor.utils.version": [[102, null]], "bittensor.utils.weight_utils": [[103, null]]}, "docnames": ["autoapi/bittensor/core/async_subtensor/index", "autoapi/bittensor/core/axon/index", "autoapi/bittensor/core/chain_data/axon_info/index", "autoapi/bittensor/core/chain_data/chain_identity/index", "autoapi/bittensor/core/chain_data/delegate_info/index", "autoapi/bittensor/core/chain_data/delegate_info_lite/index", "autoapi/bittensor/core/chain_data/dynamic_info/index", "autoapi/bittensor/core/chain_data/index", "autoapi/bittensor/core/chain_data/info_base/index", "autoapi/bittensor/core/chain_data/ip_info/index", "autoapi/bittensor/core/chain_data/metagraph_info/index", "autoapi/bittensor/core/chain_data/neuron_info/index", "autoapi/bittensor/core/chain_data/neuron_info_lite/index", "autoapi/bittensor/core/chain_data/prometheus_info/index", "autoapi/bittensor/core/chain_data/proposal_vote_data/index", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index", "autoapi/bittensor/core/chain_data/stake_info/index", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index", "autoapi/bittensor/core/chain_data/subnet_identity/index", "autoapi/bittensor/core/chain_data/subnet_info/index", "autoapi/bittensor/core/chain_data/subnet_state/index", "autoapi/bittensor/core/chain_data/utils/index", "autoapi/bittensor/core/chain_data/weight_commit_info/index", "autoapi/bittensor/core/config/index", "autoapi/bittensor/core/dendrite/index", "autoapi/bittensor/core/errors/index", "autoapi/bittensor/core/extrinsics/asyncex/children/index", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index", "autoapi/bittensor/core/extrinsics/asyncex/index", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index", "autoapi/bittensor/core/extrinsics/asyncex/registration/index", "autoapi/bittensor/core/extrinsics/asyncex/root/index", "autoapi/bittensor/core/extrinsics/asyncex/serving/index", "autoapi/bittensor/core/extrinsics/asyncex/staking/index", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index", "autoapi/bittensor/core/extrinsics/asyncex/take/index", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index", "autoapi/bittensor/core/extrinsics/asyncex/weights/index", "autoapi/bittensor/core/extrinsics/children/index", "autoapi/bittensor/core/extrinsics/commit_reveal/index", "autoapi/bittensor/core/extrinsics/commit_weights/index", "autoapi/bittensor/core/extrinsics/index", "autoapi/bittensor/core/extrinsics/liquidity/index", "autoapi/bittensor/core/extrinsics/move_stake/index", "autoapi/bittensor/core/extrinsics/registration/index", "autoapi/bittensor/core/extrinsics/root/index", "autoapi/bittensor/core/extrinsics/serving/index", "autoapi/bittensor/core/extrinsics/set_weights/index", "autoapi/bittensor/core/extrinsics/staking/index", "autoapi/bittensor/core/extrinsics/start_call/index", "autoapi/bittensor/core/extrinsics/take/index", "autoapi/bittensor/core/extrinsics/transfer/index", "autoapi/bittensor/core/extrinsics/unstaking/index", "autoapi/bittensor/core/extrinsics/utils/index", "autoapi/bittensor/core/index", "autoapi/bittensor/core/metagraph/index", "autoapi/bittensor/core/settings/index", "autoapi/bittensor/core/stream/index", "autoapi/bittensor/core/subtensor/index", "autoapi/bittensor/core/subtensor_api/chain/index", "autoapi/bittensor/core/subtensor_api/commitments/index", "autoapi/bittensor/core/subtensor_api/delegates/index", "autoapi/bittensor/core/subtensor_api/extrinsics/index", "autoapi/bittensor/core/subtensor_api/index", "autoapi/bittensor/core/subtensor_api/metagraphs/index", "autoapi/bittensor/core/subtensor_api/neurons/index", "autoapi/bittensor/core/subtensor_api/queries/index", "autoapi/bittensor/core/subtensor_api/staking/index", "autoapi/bittensor/core/subtensor_api/subnets/index", "autoapi/bittensor/core/subtensor_api/utils/index", "autoapi/bittensor/core/subtensor_api/wallets/index", "autoapi/bittensor/core/synapse/index", "autoapi/bittensor/core/tensor/index", "autoapi/bittensor/core/threadpool/index", "autoapi/bittensor/core/timelock/index", "autoapi/bittensor/core/types/index", "autoapi/bittensor/index", "autoapi/bittensor/utils/axon_utils/index", "autoapi/bittensor/utils/balance/index", "autoapi/bittensor/utils/btlogging/console/index", "autoapi/bittensor/utils/btlogging/defines/index", "autoapi/bittensor/utils/btlogging/format/index", "autoapi/bittensor/utils/btlogging/helpers/index", "autoapi/bittensor/utils/btlogging/index", "autoapi/bittensor/utils/btlogging/loggingmachine/index", "autoapi/bittensor/utils/easy_imports/index", "autoapi/bittensor/utils/formatting/index", "autoapi/bittensor/utils/index", "autoapi/bittensor/utils/liquidity/index", "autoapi/bittensor/utils/mock/index", "autoapi/bittensor/utils/mock/subtensor_mock/index", "autoapi/bittensor/utils/networking/index", "autoapi/bittensor/utils/registration/async_pow/index", "autoapi/bittensor/utils/registration/index", "autoapi/bittensor/utils/registration/pow/index", "autoapi/bittensor/utils/registration/register_cuda/index", "autoapi/bittensor/utils/subnets/index", "autoapi/bittensor/utils/substrate_utils/hasher/index", "autoapi/bittensor/utils/substrate_utils/index", "autoapi/bittensor/utils/substrate_utils/storage/index", "autoapi/bittensor/utils/version/index", "autoapi/bittensor/utils/weight_utils/index", "autoapi/index", "index"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1}, "filenames": ["autoapi/bittensor/core/async_subtensor/index.rst", "autoapi/bittensor/core/axon/index.rst", "autoapi/bittensor/core/chain_data/axon_info/index.rst", "autoapi/bittensor/core/chain_data/chain_identity/index.rst", "autoapi/bittensor/core/chain_data/delegate_info/index.rst", "autoapi/bittensor/core/chain_data/delegate_info_lite/index.rst", "autoapi/bittensor/core/chain_data/dynamic_info/index.rst", "autoapi/bittensor/core/chain_data/index.rst", "autoapi/bittensor/core/chain_data/info_base/index.rst", "autoapi/bittensor/core/chain_data/ip_info/index.rst", "autoapi/bittensor/core/chain_data/metagraph_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info_lite/index.rst", "autoapi/bittensor/core/chain_data/prometheus_info/index.rst", "autoapi/bittensor/core/chain_data/proposal_vote_data/index.rst", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.rst", "autoapi/bittensor/core/chain_data/stake_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.rst", "autoapi/bittensor/core/chain_data/subnet_identity/index.rst", "autoapi/bittensor/core/chain_data/subnet_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_state/index.rst", "autoapi/bittensor/core/chain_data/utils/index.rst", "autoapi/bittensor/core/chain_data/weight_commit_info/index.rst", "autoapi/bittensor/core/config/index.rst", "autoapi/bittensor/core/dendrite/index.rst", "autoapi/bittensor/core/errors/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/children/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/registration/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/root/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/serving/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/staking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/take/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/weights/index.rst", "autoapi/bittensor/core/extrinsics/children/index.rst", "autoapi/bittensor/core/extrinsics/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/commit_weights/index.rst", "autoapi/bittensor/core/extrinsics/index.rst", "autoapi/bittensor/core/extrinsics/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/registration/index.rst", "autoapi/bittensor/core/extrinsics/root/index.rst", "autoapi/bittensor/core/extrinsics/serving/index.rst", "autoapi/bittensor/core/extrinsics/set_weights/index.rst", "autoapi/bittensor/core/extrinsics/staking/index.rst", "autoapi/bittensor/core/extrinsics/start_call/index.rst", "autoapi/bittensor/core/extrinsics/take/index.rst", "autoapi/bittensor/core/extrinsics/transfer/index.rst", "autoapi/bittensor/core/extrinsics/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/utils/index.rst", "autoapi/bittensor/core/index.rst", "autoapi/bittensor/core/metagraph/index.rst", "autoapi/bittensor/core/settings/index.rst", "autoapi/bittensor/core/stream/index.rst", "autoapi/bittensor/core/subtensor/index.rst", "autoapi/bittensor/core/subtensor_api/chain/index.rst", "autoapi/bittensor/core/subtensor_api/commitments/index.rst", "autoapi/bittensor/core/subtensor_api/delegates/index.rst", "autoapi/bittensor/core/subtensor_api/extrinsics/index.rst", "autoapi/bittensor/core/subtensor_api/index.rst", "autoapi/bittensor/core/subtensor_api/metagraphs/index.rst", "autoapi/bittensor/core/subtensor_api/neurons/index.rst", "autoapi/bittensor/core/subtensor_api/queries/index.rst", "autoapi/bittensor/core/subtensor_api/staking/index.rst", "autoapi/bittensor/core/subtensor_api/subnets/index.rst", "autoapi/bittensor/core/subtensor_api/utils/index.rst", "autoapi/bittensor/core/subtensor_api/wallets/index.rst", "autoapi/bittensor/core/synapse/index.rst", "autoapi/bittensor/core/tensor/index.rst", "autoapi/bittensor/core/threadpool/index.rst", "autoapi/bittensor/core/timelock/index.rst", "autoapi/bittensor/core/types/index.rst", "autoapi/bittensor/index.rst", "autoapi/bittensor/utils/axon_utils/index.rst", "autoapi/bittensor/utils/balance/index.rst", "autoapi/bittensor/utils/btlogging/console/index.rst", "autoapi/bittensor/utils/btlogging/defines/index.rst", "autoapi/bittensor/utils/btlogging/format/index.rst", "autoapi/bittensor/utils/btlogging/helpers/index.rst", "autoapi/bittensor/utils/btlogging/index.rst", "autoapi/bittensor/utils/btlogging/loggingmachine/index.rst", "autoapi/bittensor/utils/easy_imports/index.rst", "autoapi/bittensor/utils/formatting/index.rst", "autoapi/bittensor/utils/index.rst", "autoapi/bittensor/utils/liquidity/index.rst", "autoapi/bittensor/utils/mock/index.rst", "autoapi/bittensor/utils/mock/subtensor_mock/index.rst", "autoapi/bittensor/utils/networking/index.rst", "autoapi/bittensor/utils/registration/async_pow/index.rst", "autoapi/bittensor/utils/registration/index.rst", "autoapi/bittensor/utils/registration/pow/index.rst", "autoapi/bittensor/utils/registration/register_cuda/index.rst", "autoapi/bittensor/utils/subnets/index.rst", "autoapi/bittensor/utils/substrate_utils/hasher/index.rst", "autoapi/bittensor/utils/substrate_utils/index.rst", "autoapi/bittensor/utils/substrate_utils/storage/index.rst", "autoapi/bittensor/utils/version/index.rst", "autoapi/bittensor/utils/weight_utils/index.rst", "autoapi/index.rst", "index.rst"], "indexentries": {"__repr__() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.__repr__", false]], "__repr__() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.__repr__", false]], "__setattr__() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.__setattr__", false]], "__str__() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.__str__", false]], "__str__() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.__str__", false]], "account (bittensor.utils.mock.subtensor_mock.mocksystemstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSystemState.Account", false]], "accountid (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.AccountId", false]], "aclose_session() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.aclose_session", false]], "aclose_session() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.aclose_session", false], [24, "id0", false]], "active (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.active", false]], "active (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Active", false]], "active (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.active", false]], "active (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.active", false]], "active (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.active", false]], "active (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.active", false]], "active (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.active", false]], "active (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.active", false]], "active (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Active", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.activity_cutoff", false]], "activitycutoff (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ActivityCutoff", false]], "add_args() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.add_args", false]], "add_args() (bittensor.core.subtensor_api.subtensorapi class method)": [[65, "bittensor.core.subtensor_api.SubtensorApi.add_args", false]], "add_args() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.add_args", false]], "add_args() (bittensor.core.types.subtensormixin class method)": [[77, "bittensor.core.types.SubtensorMixin.add_args", false]], "add_args() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.add_args", false]], "add_legacy_methods() (in module bittensor.core.subtensor_api.utils)": [[71, "bittensor.core.subtensor_api.utils.add_legacy_methods", false]], "add_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_liquidity", false]], "add_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_liquidity", false]], "add_liquidity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.add_liquidity", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.add_liquidity_extrinsic", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[44, "bittensor.core.extrinsics.liquidity.add_liquidity_extrinsic", false]], "add_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake", false]], "add_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.add_stake", false]], "add_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake", false]], "add_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.add_stake", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[34, "bittensor.core.extrinsics.asyncex.staking.add_stake_extrinsic", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.staking)": [[50, "bittensor.core.extrinsics.staking.add_stake_extrinsic", false]], "add_stake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake_multiple", false]], "add_stake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.add_stake_multiple", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[34, "bittensor.core.extrinsics.asyncex.staking.add_stake_multiple_extrinsic", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.staking)": [[50, "bittensor.core.extrinsics.staking.add_stake_multiple_extrinsic", false]], "additional (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.additional", false]], "additional (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.additional", false]], "addresses (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.addresses", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_alpha", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_interval", false]], "adjustmentalpha (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentAlpha", false]], "adjustmentinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentInterval", false]], "after_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_debug", false]], "after_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_trace", false]], "after_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_debug", false]], "after_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_default", false]], "after_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_info", false]], "after_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_trace", false]], "after_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_warning", false]], "after_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_transition", false]], "all_indices() (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex static method)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.all_indices", false]], "all_logger_names() (in module bittensor.utils.btlogging.helpers)": [[84, "bittensor.utils.btlogging.helpers.all_logger_names", false]], "all_loggers() (in module bittensor.utils.btlogging.helpers)": [[84, "bittensor.utils.btlogging.helpers.all_loggers", false]], "all_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.all_subnets", false]], "all_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.all_subnets", false]], "all_subnets() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.all_subnets", false]], "allowed_delta (in module bittensor.utils.axon_utils)": [[79, "bittensor.utils.axon_utils.ALLOWED_DELTA", false]], "allowed_nonce_window_ns() (in module bittensor.utils.axon_utils)": [[79, "bittensor.utils.axon_utils.allowed_nonce_window_ns", false]], "alpha_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_dividends_per_hotkey", false]], "alpha_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.alpha_dividends_per_hotkey", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_high", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_high", false]], "alpha_high (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_high", false]], "alpha_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_in", false]], "alpha_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_in_emission", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_low", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_low", false]], "alpha_low (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_low", false]], "alpha_out (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_out", false]], "alpha_out_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_out_emission", false]], "alpha_sigmoid_steepness (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_sigmoid_steepness", false]], "alpha_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_slippage", false]], "alpha_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_stake", false]], "alpha_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.alpha_stake", false]], "alpha_to_tao() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao", false]], "alpha_to_tao_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao_with_slippage", false]], "alphadividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaDividendsPerHotkey", false]], "alphahigh (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaHigh", false]], "alphain (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaIn", false]], "alphainemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaInEmission", false]], "alphalow (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaLow", false]], "alphaout (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOut", false]], "alphaoutemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOutEmission", false]], "alphastake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaStake", false]], "app (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.app", false]], "aquery() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.aquery", false]], "arbitration_block (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.arbitration_block", false]], "archive_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.ARCHIVE_ENTRYPOINT", false]], "as (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.AS", false]], "async_metagraph() (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.async_metagraph", false]], "async_subtensor (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.async_subtensor", false]], "asyncmetagraph (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.AsyncMetagraph", false]], "asyncsubtensor (class in bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor", false]], "attach() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.attach", false]], "axon (bittensor.core.axon.axonmiddleware attribute)": [[1, "bittensor.core.axon.AxonMiddleware.axon", false]], "axon (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.axon", false]], "axon (class in bittensor.core.axon)": [[1, "bittensor.core.axon.Axon", false]], "axon (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.axon", false]], "axon_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.axon_info", false]], "axon_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.axon_info", false]], "axoninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.AxonInfo", false]], "axoninfo (class in bittensor.core.chain_data.axon_info)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo", false]], "axoninfodict (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict", false]], "axonmiddleware (class in bittensor.core.axon)": [[1, "bittensor.core.axon.AxonMiddleware", false]], "axons (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.axons", false]], "axons (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Axons", false]], "axons (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.axons", false]], "axonservecallparams (class in bittensor.core.types)": [[77, "bittensor.core.types.AxonServeCallParams", false]], "ayes (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.ayes", false]], "b (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.B", false]], "balance (class in bittensor.utils.balance)": [[80, "bittensor.utils.balance.Balance", false]], "base_log_format (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.BASE_LOG_FORMAT", false]], "baseclass (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.BaseClass", false]], "basemodel (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.BaseModel", false]], "before_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_debug", false]], "before_disable_logging() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_logging", false]], "before_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_trace", false]], "before_enable_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_console", false]], "before_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_debug", false]], "before_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_default", false]], "before_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_info", false]], "before_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_trace", false]], "before_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_warning", false]], "before_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_transition", false]], "bits (bittensor.utils.balance.fixedpoint attribute)": [[80, "bittensor.utils.balance.FixedPoint.bits", false]], "bittensor": [[78, "module-bittensor", false]], "bittensor.core": [[56, "module-bittensor.core", false]], "bittensor.core.async_subtensor": [[0, "module-bittensor.core.async_subtensor", false]], "bittensor.core.axon": [[1, "module-bittensor.core.axon", false]], "bittensor.core.chain_data": [[7, "module-bittensor.core.chain_data", false]], "bittensor.core.chain_data.axon_info": [[2, "module-bittensor.core.chain_data.axon_info", false]], "bittensor.core.chain_data.chain_identity": [[3, "module-bittensor.core.chain_data.chain_identity", false]], "bittensor.core.chain_data.delegate_info": [[4, "module-bittensor.core.chain_data.delegate_info", false]], "bittensor.core.chain_data.delegate_info_lite": [[5, "module-bittensor.core.chain_data.delegate_info_lite", false]], "bittensor.core.chain_data.dynamic_info": [[6, "module-bittensor.core.chain_data.dynamic_info", false]], "bittensor.core.chain_data.info_base": [[8, "module-bittensor.core.chain_data.info_base", false]], "bittensor.core.chain_data.ip_info": [[9, "module-bittensor.core.chain_data.ip_info", false]], "bittensor.core.chain_data.metagraph_info": [[10, "module-bittensor.core.chain_data.metagraph_info", false]], "bittensor.core.chain_data.neuron_info": [[11, "module-bittensor.core.chain_data.neuron_info", false]], "bittensor.core.chain_data.neuron_info_lite": [[12, "module-bittensor.core.chain_data.neuron_info_lite", false]], "bittensor.core.chain_data.prometheus_info": [[13, "module-bittensor.core.chain_data.prometheus_info", false]], "bittensor.core.chain_data.proposal_vote_data": [[14, "module-bittensor.core.chain_data.proposal_vote_data", false]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false]], "bittensor.core.chain_data.stake_info": [[16, "module-bittensor.core.chain_data.stake_info", false]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, "module-bittensor.core.chain_data.subnet_hyperparameters", false]], "bittensor.core.chain_data.subnet_identity": [[18, "module-bittensor.core.chain_data.subnet_identity", false]], "bittensor.core.chain_data.subnet_info": [[19, "module-bittensor.core.chain_data.subnet_info", false]], "bittensor.core.chain_data.subnet_state": [[20, "module-bittensor.core.chain_data.subnet_state", false]], "bittensor.core.chain_data.utils": [[21, "module-bittensor.core.chain_data.utils", false]], "bittensor.core.chain_data.weight_commit_info": [[22, "module-bittensor.core.chain_data.weight_commit_info", false]], "bittensor.core.config": [[23, "module-bittensor.core.config", false]], "bittensor.core.dendrite": [[24, "module-bittensor.core.dendrite", false]], "bittensor.core.errors": [[25, "module-bittensor.core.errors", false]], "bittensor.core.extrinsics": [[43, "module-bittensor.core.extrinsics", false]], "bittensor.core.extrinsics.asyncex": [[28, "module-bittensor.core.extrinsics.asyncex", false]], "bittensor.core.extrinsics.asyncex.children": [[26, "module-bittensor.core.extrinsics.asyncex.children", false]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[27, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false]], "bittensor.core.extrinsics.asyncex.liquidity": [[29, "module-bittensor.core.extrinsics.asyncex.liquidity", false]], "bittensor.core.extrinsics.asyncex.move_stake": [[30, "module-bittensor.core.extrinsics.asyncex.move_stake", false]], "bittensor.core.extrinsics.asyncex.registration": [[31, "module-bittensor.core.extrinsics.asyncex.registration", false]], "bittensor.core.extrinsics.asyncex.root": [[32, "module-bittensor.core.extrinsics.asyncex.root", false]], "bittensor.core.extrinsics.asyncex.serving": [[33, "module-bittensor.core.extrinsics.asyncex.serving", false]], "bittensor.core.extrinsics.asyncex.staking": [[34, "module-bittensor.core.extrinsics.asyncex.staking", false]], "bittensor.core.extrinsics.asyncex.start_call": [[35, "module-bittensor.core.extrinsics.asyncex.start_call", false]], "bittensor.core.extrinsics.asyncex.take": [[36, "module-bittensor.core.extrinsics.asyncex.take", false]], "bittensor.core.extrinsics.asyncex.transfer": [[37, "module-bittensor.core.extrinsics.asyncex.transfer", false]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, "module-bittensor.core.extrinsics.asyncex.unstaking", false]], "bittensor.core.extrinsics.asyncex.weights": [[39, "module-bittensor.core.extrinsics.asyncex.weights", false]], "bittensor.core.extrinsics.children": [[40, "module-bittensor.core.extrinsics.children", false]], "bittensor.core.extrinsics.commit_reveal": [[41, "module-bittensor.core.extrinsics.commit_reveal", false]], "bittensor.core.extrinsics.commit_weights": [[42, "module-bittensor.core.extrinsics.commit_weights", false]], "bittensor.core.extrinsics.liquidity": [[44, "module-bittensor.core.extrinsics.liquidity", false]], "bittensor.core.extrinsics.move_stake": [[45, "module-bittensor.core.extrinsics.move_stake", false]], "bittensor.core.extrinsics.registration": [[46, "module-bittensor.core.extrinsics.registration", false]], "bittensor.core.extrinsics.root": [[47, "module-bittensor.core.extrinsics.root", false]], "bittensor.core.extrinsics.serving": [[48, "module-bittensor.core.extrinsics.serving", false]], "bittensor.core.extrinsics.set_weights": [[49, "module-bittensor.core.extrinsics.set_weights", false]], "bittensor.core.extrinsics.staking": [[50, "module-bittensor.core.extrinsics.staking", false]], "bittensor.core.extrinsics.start_call": [[51, "module-bittensor.core.extrinsics.start_call", false]], "bittensor.core.extrinsics.take": [[52, "module-bittensor.core.extrinsics.take", false]], "bittensor.core.extrinsics.transfer": [[53, "module-bittensor.core.extrinsics.transfer", false]], "bittensor.core.extrinsics.unstaking": [[54, "module-bittensor.core.extrinsics.unstaking", false]], "bittensor.core.extrinsics.utils": [[55, "module-bittensor.core.extrinsics.utils", false]], "bittensor.core.metagraph": [[57, "module-bittensor.core.metagraph", false]], "bittensor.core.settings": [[58, "module-bittensor.core.settings", false]], "bittensor.core.stream": [[59, "module-bittensor.core.stream", false]], "bittensor.core.subtensor": [[60, "module-bittensor.core.subtensor", false]], "bittensor.core.subtensor_api": [[65, "module-bittensor.core.subtensor_api", false]], "bittensor.core.subtensor_api.chain": [[61, "module-bittensor.core.subtensor_api.chain", false]], "bittensor.core.subtensor_api.commitments": [[62, "module-bittensor.core.subtensor_api.commitments", false]], "bittensor.core.subtensor_api.delegates": [[63, "module-bittensor.core.subtensor_api.delegates", false]], "bittensor.core.subtensor_api.extrinsics": [[64, "module-bittensor.core.subtensor_api.extrinsics", false]], "bittensor.core.subtensor_api.metagraphs": [[66, "module-bittensor.core.subtensor_api.metagraphs", false]], "bittensor.core.subtensor_api.neurons": [[67, "module-bittensor.core.subtensor_api.neurons", false]], "bittensor.core.subtensor_api.queries": [[68, "module-bittensor.core.subtensor_api.queries", false]], "bittensor.core.subtensor_api.staking": [[69, "module-bittensor.core.subtensor_api.staking", false]], "bittensor.core.subtensor_api.subnets": [[70, "module-bittensor.core.subtensor_api.subnets", false]], "bittensor.core.subtensor_api.utils": [[71, "module-bittensor.core.subtensor_api.utils", false]], "bittensor.core.subtensor_api.wallets": [[72, "module-bittensor.core.subtensor_api.wallets", false]], "bittensor.core.synapse": [[73, "module-bittensor.core.synapse", false]], "bittensor.core.tensor": [[74, "module-bittensor.core.tensor", false]], "bittensor.core.threadpool": [[75, "module-bittensor.core.threadpool", false]], "bittensor.core.timelock": [[76, "module-bittensor.core.timelock", false]], "bittensor.core.types": [[77, "module-bittensor.core.types", false]], "bittensor.utils": [[89, "module-bittensor.utils", false]], "bittensor.utils.axon_utils": [[79, "module-bittensor.utils.axon_utils", false]], "bittensor.utils.balance": [[80, "module-bittensor.utils.balance", false]], "bittensor.utils.btlogging": [[85, "module-bittensor.utils.btlogging", false]], "bittensor.utils.btlogging.console": [[81, "module-bittensor.utils.btlogging.console", false]], "bittensor.utils.btlogging.defines": [[82, "module-bittensor.utils.btlogging.defines", false]], "bittensor.utils.btlogging.format": [[83, "module-bittensor.utils.btlogging.format", false]], "bittensor.utils.btlogging.helpers": [[84, "module-bittensor.utils.btlogging.helpers", false]], "bittensor.utils.btlogging.loggingmachine": [[86, "module-bittensor.utils.btlogging.loggingmachine", false]], "bittensor.utils.easy_imports": [[87, "module-bittensor.utils.easy_imports", false]], "bittensor.utils.formatting": [[88, "module-bittensor.utils.formatting", false]], "bittensor.utils.liquidity": [[90, "module-bittensor.utils.liquidity", false]], "bittensor.utils.mock": [[91, "module-bittensor.utils.mock", false]], "bittensor.utils.mock.subtensor_mock": [[92, "module-bittensor.utils.mock.subtensor_mock", false]], "bittensor.utils.networking": [[93, "module-bittensor.utils.networking", false]], "bittensor.utils.registration": [[95, "module-bittensor.utils.registration", false]], "bittensor.utils.registration.async_pow": [[94, "module-bittensor.utils.registration.async_pow", false]], "bittensor.utils.registration.pow": [[96, "module-bittensor.utils.registration.pow", false]], "bittensor.utils.registration.register_cuda": [[97, "module-bittensor.utils.registration.register_cuda", false]], "bittensor.utils.subnets": [[98, "module-bittensor.utils.subnets", false]], "bittensor.utils.substrate_utils": [[100, "module-bittensor.utils.substrate_utils", false]], "bittensor.utils.substrate_utils.hasher": [[99, "module-bittensor.utils.substrate_utils.hasher", false]], "bittensor.utils.substrate_utils.storage": [[101, "module-bittensor.utils.substrate_utils.storage", false]], "bittensor.utils.version": [[102, "module-bittensor.utils.version", false]], "bittensor.utils.weight_utils": [[103, "module-bittensor.utils.weight_utils", false]], "bittensor_logger_name (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.BITTENSOR_LOGGER_NAME", false]], "bittensorconsole (class in bittensor.utils.btlogging.console)": [[81, "bittensor.utils.btlogging.console.BittensorConsole", false]], "blacklist() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.blacklist", false]], "blacklist_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.blacklist_fns", false]], "blacklistedexception": [[25, "bittensor.core.errors.BlacklistedException", false]], "blake2_128() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.blake2_128", false]], "blake2_128_concat() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.blake2_128_concat", false]], "blake2_256() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.blake2_256", false]], "block (bittensor.core.async_subtensor.asyncsubtensor property)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.block", false]], "block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block", false]], "block (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Block", false]], "block (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.block", false]], "block (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.block", false]], "block (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.block", false]], "block (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.block", false]], "block (bittensor.core.subtensor.subtensor property)": [[60, "bittensor.core.subtensor.Subtensor.block", false]], "block (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.block", false]], "block (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.block", false]], "block (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.block", false]], "block_at_registration (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block_at_registration", false]], "block_at_registration (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.block_at_registration", false]], "block_at_registration (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.block_at_registration", false]], "block_hash (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.block_hash", false]], "block_number (bittensor.utils.mock.subtensor_mock.mocksubtensor attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.block_number", false]], "block_number (bittensor.utils.registration.pow.powsolution attribute)": [[96, "bittensor.utils.registration.pow.POWSolution.block_number", false]], "block_number (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.block_number", false]], "blockatregistration (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlockAtRegistration", false]], "blocknotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.BlockNotFound", false]], "blocknumber (in module bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.BlockNumber", false]], "blocks_since_epoch (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.blocks_since_epoch", false]], "blocks_since_last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.blocks_since_last_step", false]], "blocks_since_last_update (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.blocks_since_last_update", false]], "blockssincelaststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlocksSinceLastStep", false]], "blocktime (in module bittensor.core.settings)": [[58, "bittensor.core.settings.BLOCKTIME", false]], "body_hash (bittensor.core.synapse.synapse property)": [[73, "id0", false]], "body_hash() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.body_hash", false]], "bonds (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.bonds", false]], "bonds (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.bonds", false]], "bonds (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.bonds", false]], "bonds (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.bonds", false]], "bonds (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.bonds", false]], "bonds() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.bonds", false]], "bonds() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.bonds", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_moving_avg", false]], "bonds_reset_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_reset_enabled", false]], "bondsmovingavg (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BondsMovingAvg", false]], "brokenthreadpool": [[75, "bittensor.core.threadpool.BrokenThreadPool", false]], "bt_docs_link (in module bittensor.utils)": [[89, "bittensor.utils.BT_DOCS_LINK", false]], "btfileformatter (class in bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.BtFileFormatter", false]], "btstreamformatter (class in bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter", false]], "btstreamingresponsemodel (class in bittensor.core.stream)": [[59, "bittensor.core.stream.BTStreamingResponseModel", false]], "buffer (bittensor.core.tensor.tensor attribute)": [[74, "bittensor.core.tensor.Tensor.buffer", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Burn", false]], "burn (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.burn", false]], "burned_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.burned_register", false]], "burned_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.burned_register", false]], "burned_register() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.burned_register", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.burned_register_extrinsic", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[46, "bittensor.core.extrinsics.registration.burned_register_extrinsic", false]], "c (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.C", false]], "calculate_diff_seconds() (in module bittensor.utils.axon_utils)": [[79, "bittensor.utils.axon_utils.calculate_diff_seconds", false]], "calculate_fees() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.calculate_fees", false]], "call() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.call", false]], "call() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.call", false], [24, "id3", false]], "call() (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.call", false]], "call_stream() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.call_stream", false]], "call_stream() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.call_stream", false], [24, "id4", false]], "cast_dtype() (in module bittensor.core.tensor)": [[74, "bittensor.core.tensor.cast_dtype", false]], "cast_float() (in module bittensor.core.synapse)": [[73, "bittensor.core.synapse.cast_float", false]], "cast_int() (in module bittensor.core.synapse)": [[73, "bittensor.core.synapse.cast_int", false]], "cast_shape() (in module bittensor.core.tensor)": [[74, "bittensor.core.tensor.cast_shape", false]], "certificate (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.certificate", false]], "certificate (class in bittensor.utils)": [[89, "bittensor.utils.Certificate", false]], "chain (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.chain", false]], "chain (class in bittensor.core.subtensor_api.chain)": [[61, "bittensor.core.subtensor_api.chain.Chain", false]], "chain_endpoint (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.chain_endpoint", false]], "chain_endpoint (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.chain_endpoint", false]], "chain_endpoint (bittensor.core.types.subtensormixin attribute)": [[77, "bittensor.core.types.SubtensorMixin.chain_endpoint", false]], "chain_state (bittensor.utils.mock.subtensor_mock.mocksubtensor attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.chain_state", false]], "chainconnectionerror": [[25, "bittensor.core.errors.ChainConnectionError", false]], "chaindatatype (class in bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.ChainDataType", false]], "chainerror": [[25, "bittensor.core.errors.ChainError", false]], "chainidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.ChainIdentity", false]], "chainidentity (class in bittensor.core.chain_data.chain_identity)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity", false]], "chainqueryerror": [[25, "bittensor.core.errors.ChainQueryError", false]], "chaintransactionerror": [[25, "bittensor.core.errors.ChainTransactionError", false]], "check_and_convert_to_balance() (in module bittensor.utils.balance)": [[80, "bittensor.utils.balance.check_and_convert_to_balance", false]], "check_config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.check_config", false]], "check_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.check_config", false]], "check_latest_version_in_pypi() (in module bittensor.utils.version)": [[102, "bittensor.utils.version.check_latest_version_in_pypi", false]], "check_version (in module bittensor.utils)": [[89, "bittensor.utils.check_version", false]], "check_version() (in module bittensor.utils.version)": [[102, "bittensor.utils.version.check_version", false]], "close (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.close", false]], "close() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.close", false]], "close() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.close", false]], "close_session() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.close_session", false]], "close_session() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.close_session", false], [24, "id5", false]], "coldkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.coldkey", false]], "coldkey (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.coldkey", false]], "coldkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.coldkey_ss58", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.coldkeys", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Coldkeys", false]], "coldkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.coldkeys", false]], "coldkeys (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.coldkeys", false]], "color_map (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.color_map", false]], "commit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit", false]], "commit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.commit", false]], "commit() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.commit", false]], "commit_hex (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_hex", false]], "commit_reveal_enabled (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.commit_reveal_enabled", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_period", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.asyncex.commit_reveal)": [[27, "bittensor.core.extrinsics.asyncex.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.commit_reveal)": [[41, "bittensor.core.extrinsics.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_weights_enabled", false]], "commit_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.commit_weights", false]], "commit_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_weights", false]], "commit_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.commit_weights", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[39, "bittensor.core.extrinsics.asyncex.weights.commit_weights_extrinsic", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[42, "bittensor.core.extrinsics.commit_weights.commit_weights_extrinsic", false]], "commitments (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.commitments", false]], "commitments (class in bittensor.core.subtensor_api.commitments)": [[62, "bittensor.core.subtensor_api.commitments.Commitments", false]], "commitrevealperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealPeriod", false]], "commitrevealweightsenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealWeightsEnabled", false]], "computed_body_hash (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.computed_body_hash", false]], "config (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.config", false]], "config (class in bittensor.core.config)": [[23, "bittensor.core.config.Config", false]], "config (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.config", false]], "config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.config", false]], "config() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.config", false]], "config() (bittensor.core.types.subtensormixin static method)": [[77, "bittensor.core.types.SubtensorMixin.config", false]], "config() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.config", false]], "connection_requirements (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.connection_requirements", false]], "consensus (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.consensus", false]], "consensus (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Consensus", false]], "consensus (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.consensus", false]], "consensus (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.consensus", false]], "consensus (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.consensus", false]], "consensus (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.consensus", false]], "consensus (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.consensus", false]], "consensus (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.consensus", false]], "console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.console", false]], "console (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.console", false]], "console (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.Console", false]], "convert_and_normalize_weights_and_uids() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.convert_and_normalize_weights_and_uids", false]], "convert_bond_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.convert_bond_uids_and_vals_to_tensor", false]], "convert_root_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.convert_root_weight_uids_and_vals_to_tensor", false]], "convert_storage_parameter() (bittensor.utils.substrate_utils.storage.storagekey method)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.convert_storage_parameter", false]], "convert_uids_and_weights() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.convert_uids_and_weights", false]], "convert_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.convert_weight_uids_and_vals_to_tensor", false]], "convert_weights_and_uids_for_emit() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.convert_weights_and_uids_for_emit", false]], "copy() (bittensor.core.types.axonservecallparams method)": [[77, "bittensor.core.types.AxonServeCallParams.copy", false]], "coroutine (bittensor.utils.mock.subtensor_mock.reusablecoroutine attribute)": [[92, "bittensor.utils.mock.subtensor_mock.ReusableCoroutine.coroutine", false]], "create_error_response() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.create_error_response", false]], "create_from_data() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_data", false]], "create_from_storage_function() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_storage_function", false]], "create_pow() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.create_pow", false]], "create_pow_async() (in module bittensor.utils.registration.async_pow)": [[94, "bittensor.utils.registration.async_pow.create_pow_async", false]], "create_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[59, "bittensor.core.stream.StreamingSynapse.create_streaming_response", false]], "create_subnet() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.create_subnet", false]], "critical() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.critical", false]], "critical() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.critical", false]], "cudasolver (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.CUDASolver", false]], "custom_logger_method_stack_level (in module bittensor.utils.btlogging.loggingmachine)": [[86, "bittensor.utils.btlogging.loggingmachine.CUSTOM_LOGGER_METHOD_STACK_LEVEL", false]], "d (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.D", false]], "data (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.data", false]], "date_format (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.DATE_FORMAT", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.debug", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Debug", false]], "debug() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.debug", false]], "debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.debug", false]], "debug() (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.debug", false]], "decode_account_id() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_account_id", false]], "decode_account_id_list() (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo class method)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.decode_account_id_list", false]], "decode_block() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_block", false]], "decode_hex_identity_dict() (in module bittensor.utils)": [[89, "bittensor.utils.decode_hex_identity_dict", false]], "decode_metadata() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_metadata", false]], "decode_revealed_commitment() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_revealed_commitment", false]], "decode_revealed_commitment_with_hotkey() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_revealed_commitment_with_hotkey", false]], "decode_scale_value() (bittensor.utils.substrate_utils.storage.storagekey method)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.decode_scale_value", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[36, "bittensor.core.extrinsics.asyncex.take.decrease_take_extrinsic", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[52, "bittensor.core.extrinsics.take.decrease_take_extrinsic", false]], "decrypt() (in module bittensor.core.timelock)": [[76, "bittensor.core.timelock.decrypt", false]], "default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Default", false]], "default() (bittensor.core.config.defaultconfig class method)": [[23, "bittensor.core.config.DefaultConfig.default", false]], "default() (bittensor.utils.mock.subtensor_mock.axoninfodict class method)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.default", false]], "default() (bittensor.utils.mock.subtensor_mock.infodict class method)": [[92, "bittensor.utils.mock.subtensor_mock.InfoDict.default", false]], "default() (bittensor.utils.mock.subtensor_mock.prometheusinfodict class method)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.default", false]], "default_endpoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.DEFAULT_ENDPOINT", false]], "default_log_backup_count (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.DEFAULT_LOG_BACKUP_COUNT", false]], "default_log_file_name (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.DEFAULT_LOG_FILE_NAME", false]], "default_log_format (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.DEFAULT_LOG_FORMAT", false]], "default_max_rotating_log_file_size (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.DEFAULT_MAX_ROTATING_LOG_FILE_SIZE", false]], "default_network (in module bittensor.core.settings)": [[58, "bittensor.core.settings.DEFAULT_NETWORK", false]], "default_trace_format (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.DEFAULT_TRACE_FORMAT", false]], "default_verify() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.default_verify", false]], "defaultconfig (class in bittensor.core.config)": [[23, "bittensor.core.config.DefaultConfig", false]], "defaults (in module bittensor.core.settings)": [[58, "bittensor.core.settings.DEFAULTS", false]], "delegate_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.delegate_ss58", false]], "delegatedinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DelegatedInfo", false]], "delegatedinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo", false]], "delegateinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DelegateInfo", false]], "delegateinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo", false]], "delegateinfobase (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase", false]], "delegateinfolite (class in bittensor.core.chain_data.delegate_info_lite)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite", false]], "delegates (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.delegates", false]], "delegates (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Delegates", false]], "delegates (class in bittensor.core.subtensor_api.delegates)": [[63, "bittensor.core.subtensor_api.delegates.Delegates", false]], "delegatetaketoohigh": [[25, "bittensor.core.errors.DelegateTakeTooHigh", false]], "delegatetaketoolow": [[25, "bittensor.core.errors.DelegateTakeTooLow", false]], "delegatetxratelimitexceeded": [[25, "bittensor.core.errors.DelegateTxRateLimitExceeded", false]], "dendrite (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.dendrite", false]], "dendrite (bittensor.utils.subnets.subnetsapi attribute)": [[98, "bittensor.utils.subnets.SubnetsAPI.dendrite", false]], "dendrite (class in bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.Dendrite", false]], "dendrite (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.dendrite", false]], "dendrite_default_error (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DENDRITE_DEFAULT_ERROR", false]], "dendrite_error_mapping (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DENDRITE_ERROR_MAPPING", false]], "dendritemixin (class in bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DendriteMixin", false]], "deregister_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.deregister_primary_logger", false]], "description (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.description", false]], "description (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.description", false]], "deserialize() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.deserialize", false], [73, "id1", false]], "deserialize() (bittensor.core.tensor.tensor method)": [[74, "bittensor.core.tensor.Tensor.deserialize", false]], "determine_block_hash (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.determine_block_hash", false]], "determine_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.determine_block_hash", false]], "determine_block_hash() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.determine_block_hash", false]], "determine_chain_endpoint_and_network() (in module bittensor.utils)": [[89, "bittensor.utils.determine_chain_endpoint_and_network", false]], "dev_id (bittensor.utils.registration.pow.cudasolver attribute)": [[96, "bittensor.utils.registration.pow.CUDASolver.dev_id", false]], "dict() (bittensor.core.types.axonservecallparams method)": [[77, "bittensor.core.types.AxonServeCallParams.dict", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.difficulty", false]], "difficulty (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.difficulty", false]], "difficulty (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Difficulty", false]], "difficulty (bittensor.utils.registration.pow.powsolution attribute)": [[96, "bittensor.utils.registration.pow.POWSolution.difficulty", false]], "difficulty (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.difficulty", false]], "difficulty() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.difficulty", false]], "difficulty() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.difficulty", false]], "disable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_debug", false]], "disable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_info", false]], "disable_logging (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_logging", false]], "disable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_third_party_loggers", false]], "disable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_trace", false]], "disable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_warning", false]], "disabled (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Disabled", false]], "discord (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.discord", false]], "discord (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.discord", false]], "dispatch() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.dispatch", false]], "dividends (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.dividends", false]], "dividends (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Dividends", false]], "dividends (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.dividends", false]], "dividends (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.dividends", false]], "dividends (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.dividends", false]], "dividends (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.dividends", false]], "dividends (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.dividends", false]], "dividends (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.dividends", false]], "do_block_step() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_block_step", false]], "do_serve_axon() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_serve_axon", false]], "do_serve_axon() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.do_serve_axon", false]], "do_serve_axon() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.do_serve_axon", false]], "do_serve_prometheus() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_serve_prometheus", false]], "do_set_weights() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_set_weights", false]], "do_transfer() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.do_transfer", false]], "does_hotkey_exist (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.does_hotkey_exist", false]], "drain (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.drain", false]], "dtype (bittensor.core.tensor.tensor attribute)": [[74, "bittensor.core.tensor.Tensor.dtype", false]], "dtypes (class in bittensor.core.tensor)": [[74, "bittensor.core.tensor.DTypes", false]], "dtypes (in module bittensor.core.tensor)": [[74, "bittensor.core.tensor.dtypes", false]], "duplicatechild": [[25, "bittensor.core.errors.DuplicateChild", false]], "dynamicinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DynamicInfo", false]], "dynamicinfo (class in bittensor.core.chain_data.dynamic_info)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo", false]], "e (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.E", false]], "emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Emission", false]], "emission (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.emission", false]], "emission (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.emission", false]], "emission (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.emission", false]], "emission (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.emission", false]], "emission (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.emission", false]], "emission (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.emission", false]], "emission (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.emission", false]], "emission_history (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.emission_history", false]], "emission_value (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.emission_value", false]], "emissions (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.emissions", false]], "emoji_map (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.emoji_map", false]], "enable_console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_console", false]], "enable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_debug", false]], "enable_default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_default", false]], "enable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_info", false]], "enable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_third_party_loggers", false]], "enable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_trace", false]], "enable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_warning", false]], "encode() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.encode", false]], "encode_params (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.encode_params", false]], "encode_params() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.encode_params", false]], "encode_params() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.encode_params", false]], "encrypt() (in module bittensor.core.timelock)": [[76, "bittensor.core.timelock.encrypt", false]], "end (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.end", false]], "error() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.error", false]], "error() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.error", false]], "event_loop_is_running() (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.event_loop_is_running", false]], "exception() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.exception", false]], "external_ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_ip", false]], "external_ip (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.external_ip", false]], "external_port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_port", false]], "externalipnotfound": [[93, "bittensor.utils.networking.ExternalIPNotFound", false]], "extract_response_json() (bittensor.core.stream.streamingsynapse method)": [[59, "bittensor.core.stream.StreamingSynapse.extract_response_json", false]], "extrinsicnotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.ExtrinsicNotFound", false]], "extrinsics (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.extrinsics", false]], "extrinsics (class in bittensor.core.subtensor_api.extrinsics)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics", false]], "extrinsics_subpackage (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.extrinsics_subpackage", false]], "failed_verification (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.failed_verification", false]], "fast_config (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_config", false]], "fast_server (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_server", false]], "fastapithreadedserver (class in bittensor.core.axon)": [[1, "bittensor.core.axon.FastAPIThreadedServer", false]], "fees_alpha (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.fees_alpha", false]], "fees_tao (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.fees_tao", false]], "filter_netuids_by_registered_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.filter_netuids_by_registered_hotkeys", false]], "finney_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.FINNEY_ENTRYPOINT", false]], "finney_test_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.FINNEY_TEST_ENTRYPOINT", false]], "fixed_to_float() (in module bittensor.utils.balance)": [[80, "bittensor.utils.balance.fixed_to_float", false]], "fixedpoint (class in bittensor.utils.balance)": [[80, "bittensor.utils.balance.FixedPoint", false]], "float_to_u64() (in module bittensor.utils)": [[89, "bittensor.utils.float_to_u64", false]], "force_register_neuron() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.force_register_neuron", false]], "force_set_balance() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.force_set_balance", false]], "format() (bittensor.utils.btlogging.format.btfileformatter method)": [[83, "bittensor.utils.btlogging.format.BtFileFormatter.format", false]], "format() (bittensor.utils.btlogging.format.btstreamformatter method)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter.format", false]], "format_error_message() (in module bittensor.utils)": [[89, "bittensor.utils.format_error_message", false]], "formattime() (bittensor.utils.btlogging.format.btfileformatter method)": [[83, "bittensor.utils.btlogging.format.BtFileFormatter.formatTime", false]], "formattime() (bittensor.utils.btlogging.format.btstreamformatter method)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter.formatTime", false]], "forward() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.forward", false]], "forward() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.forward", false], [24, "id7", false]], "forward_class_types (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_class_types", false]], "forward_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_fns", false]], "from_dict() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.from_dict", false]], "from_dict() (bittensor.core.chain_data.proposal_vote_data.proposalvotedata class method)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.from_dict", false]], "from_dict() (bittensor.core.chain_data.stake_info.stakeinfo class method)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.from_dict", false]], "from_error() (bittensor.core.errors.chainerror class method)": [[25, "bittensor.core.errors.ChainError.from_error", false]], "from_float() (bittensor.utils.balance.balance static method)": [[80, "bittensor.utils.balance.Balance.from_float", false]], "from_headers() (bittensor.core.synapse.synapse class method)": [[73, "id2", false]], "from_headers() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.from_headers", false]], "from_neuron_info() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_neuron_info", false]], "from_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_parameter_dict", false]], "from_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo class method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.from_parameter_dict", false]], "from_rao() (bittensor.utils.balance.balance static method)": [[80, "bittensor.utils.balance.Balance.from_rao", false]], "from_scale_encoding() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.from_scale_encoding", false]], "from_scale_encoding_using_type_string() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.from_scale_encoding_using_type_string", false]], "from_string() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_string", false]], "from_tao() (bittensor.utils.balance.balance static method)": [[80, "bittensor.utils.balance.Balance.from_tao", false]], "from_vec_u8() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8", false]], "from_weights_bonds_and_neuron_lite() (bittensor.core.chain_data.neuron_info.neuroninfo class method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.from_weights_bonds_and_neuron_lite", false]], "full_address (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.full_address", false]], "generate() (bittensor.utils.substrate_utils.storage.storagekey method)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.generate", false]], "generate_weight_hash() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.generate_weight_hash", false]], "get_all_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_all_commitments", false]], "get_all_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_commitments", false]], "get_all_commitments() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_commitments", false]], "get_all_metagraphs_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[66, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_metagraphs_info", false]], "get_all_neuron_certificates (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_neuron_certificates", false]], "get_all_revealed_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_revealed_commitments", false]], "get_all_subnets_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_subnets_info", false]], "get_and_save_latest_version() (in module bittensor.utils.version)": [[102, "bittensor.utils.version.get_and_save_latest_version", false]], "get_async_subtensor() (in module bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.get_async_subtensor", false]], "get_balance (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_balance", false]], "get_balance() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balance", false]], "get_balance() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_balance", false]], "get_balance() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_balance", false]], "get_balances (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_balances", false]], "get_balances() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balances", false]], "get_balances() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_balances", false]], "get_block_hash (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_block_hash", false]], "get_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_block_hash", false]], "get_block_hash() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_block_hash", false]], "get_block_hash() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_block_hash", false]], "get_children (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_children", false]], "get_children (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_children", false]], "get_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children", false]], "get_children() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_children", false]], "get_children_pending (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_children_pending", false]], "get_children_pending (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_children_pending", false]], "get_children_pending() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children_pending", false]], "get_children_pending() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_children_pending", false]], "get_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_commitment", false]], "get_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_commitment", false]], "get_commitment() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_commitment", false]], "get_commitment() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_commitment", false]], "get_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_config", false]], "get_cpu_count() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.get_cpu_count", false]], "get_current_block (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_current_block", false]], "get_current_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_block", false]], "get_current_block() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_current_block", false]], "get_current_block() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_current_block", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_current_weight_commit_info", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_current_weight_commit_info", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegate_by_hotkey", false]], "get_delegate_identities (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_delegate_identities", false]], "get_delegate_identities (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegate_identities", false]], "get_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_take", false]], "get_delegate_take (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_take", false]], "get_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_take", false]], "get_delegate_take() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegate_take", false]], "get_delegated (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegated", false]], "get_delegated (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_delegated", false]], "get_delegated() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegated", false]], "get_delegated() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegated", false]], "get_delegates (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegates", false]], "get_delegates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegates", false]], "get_delegates() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegates", false]], "get_existential_deposit (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_existential_deposit", false]], "get_explorer_url_for_network() (in module bittensor.utils)": [[89, "bittensor.utils.get_explorer_url_for_network", false]], "get_external_ip() (in module bittensor.utils.networking)": [[93, "bittensor.utils.networking.get_external_ip", false]], "get_fees() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.get_fees", false]], "get_fees_in_range() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.get_fees_in_range", false]], "get_formatted_ws_endpoint_url() (in module bittensor.utils.networking)": [[93, "bittensor.utils.networking.get_formatted_ws_endpoint_url", false]], "get_hash() (in module bittensor.utils)": [[89, "bittensor.utils.get_hash", false]], "get_hotkey_owner (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_hotkey_owner", false]], "get_hotkey_stake (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_stake", false]], "get_human_readable() (in module bittensor.utils.formatting)": [[88, "bittensor.utils.formatting.get_human_readable", false]], "get_hyperparameter (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_hyperparameter", false]], "get_last_bonds_reset() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.get_last_bonds_reset", false]], "get_last_bonds_reset() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.get_last_bonds_reset", false]], "get_last_commitment_bonds_reset_block (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_last_commitment_bonds_reset_block", false]], "get_level() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_level", false]], "get_liquidity_list (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_liquidity_list", false]], "get_max_logger_name_length() (in module bittensor.utils.btlogging.helpers)": [[84, "bittensor.utils.btlogging.helpers.get_max_logger_name_length", false]], "get_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.get_metadata", false]], "get_metadata() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.get_metadata", false]], "get_metagraph_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[66, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_metagraph_info", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_minimum_required_stake", false]], "get_netuids_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_netuids_for_hotkey", false]], "get_neuron_certificate (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_neuron_certificate", false]], "get_neuron_for_pubkey_and_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_neuron_for_pubkey_and_subnet", false]], "get_next_epoch_start_block (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_next_epoch_start_block", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info.neuroninfo static method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite static method)": [[12, "id0", false]], "get_old_stakes() (in module bittensor.core.extrinsics.utils)": [[55, "bittensor.core.extrinsics.utils.get_old_stakes", false]], "get_owned_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_owned_hotkeys", false]], "get_parents (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_parents", false]], "get_parents() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_parents", false]], "get_parents() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_parents", false]], "get_queue() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_queue", false]], "get_required_fields() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.get_required_fields", false]], "get_revealed_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_revealed_commitment", false]], "get_revealed_commitment_by_hotkey (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_revealed_commitment_by_hotkey", false]], "get_save_dir() (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.get_save_dir", false]], "get_size() (in module bittensor.core.synapse)": [[73, "bittensor.core.synapse.get_size", false]], "get_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake", false]], "get_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake", false]], "get_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake", false]], "get_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake", false]], "get_stake_add_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_add_fee", false]], "get_stake_add_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_add_fee", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_for_hotkey", false]], "get_stake_info_for_coldkey (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_info_for_coldkey", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_movement_fee", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_movement_fee", false]], "get_stake_operations_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_operations_fee", false]], "get_stake_operations_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_operations_fee", false]], "get_stake_operations_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_operations_fee", false]], "get_status_message() (bittensor.utils.registration.pow.registrationstatisticslogger class method)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.get_status_message", false]], "get_subnet_burn_cost (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_burn_cost", false]], "get_subnet_hyperparameters (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_hyperparameters", false]], "get_subnet_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_info", false]], "get_subnet_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_info", false]], "get_subnet_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_info", false]], "get_subnet_owner_hotkey (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_owner_hotkey", false]], "get_subnet_price (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_price", false]], "get_subnet_price() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_price", false]], "get_subnet_price() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_price", false]], "get_subnet_prices (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_prices", false]], "get_subnet_reveal_period_epochs (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_validator_permits (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_validator_permits", false]], "get_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnets", false]], "get_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnets", false]], "get_subnets() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnets", false]], "get_timestamp (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_timestamp", false]], "get_timestamp() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_timestamp", false]], "get_timestamp() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_timestamp", false]], "get_total_size() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.get_total_size", false], [73, "id3", false]], "get_total_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_total_subnets", false]], "get_total_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_total_subnets", false]], "get_total_subnets() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_total_subnets", false]], "get_transfer_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_transfer_fee", false]], "get_transfer_fee() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.get_transfer_fee", false]], "get_uid_for_hotkey_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_uid_for_hotkey_on_subnet", false]], "get_unit() (bittensor.utils.balance.balance static method)": [[80, "bittensor.utils.balance.Balance.get_unit", false]], "get_unstake_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_unstake_fee", false]], "get_unstake_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_unstake_fee", false]], "get_vote_data (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_vote_data", false]], "get_vote_data() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_vote_data", false]], "get_vote_data() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_vote_data", false]], "github (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.github", false]], "github_repo (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.github_repo", false]], "hash_rate (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate", false]], "hash_rate_perpetual (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate_perpetual", false]], "header_size (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.header_size", false]], "help (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.help", false]], "help() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.help", false]], "help() (bittensor.core.types.subtensormixin class method)": [[77, "bittensor.core.types.SubtensorMixin.help", false]], "help() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.help", false]], "hex_to_bytes (in module bittensor.utils)": [[89, "bittensor.utils.hex_to_bytes", false]], "home_dir (in module bittensor.core.settings)": [[58, "bittensor.core.settings.HOME_DIR", false]], "hotkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.hotkey", false]], "hotkey (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.hotkey", false]], "hotkey (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.hotkey", false]], "hotkey_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.hotkey_ss58", false]], "hotkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.hotkey_ss58", false]], "hotkeyaccountnotexists": [[25, "bittensor.core.errors.HotKeyAccountNotExists", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.hotkeys", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Hotkeys", false]], "hotkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.hotkeys", false]], "hotkeys (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.hotkeys", false]], "hparams (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.hparams", false]], "i (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.I", false]], "id (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.id", false]], "identities (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identities", false]], "identities (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identities", false]], "identities (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.identities", false]], "identity (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identity", false]], "identity (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identity", false]], "identity (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.identity", false]], "identity() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.identity", false]], "identityerror": [[25, "bittensor.core.errors.IdentityError", false]], "image (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.image", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.immunity_period", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.immunity_period", false]], "immunity_period (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.immunity_period", false]], "immunity_period() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.immunity_period", false]], "immunity_period() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.immunity_period", false]], "immunityperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ImmunityPeriod", false]], "immunityperiod (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.ImmunityPeriod", false]], "incentive (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.incentive", false]], "incentive (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.incentive", false]], "incentive (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.incentive", false]], "incentive (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.incentive", false]], "incentive (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.incentive", false]], "incentives (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.incentives", false]], "incentives (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Incentives", false]], "incentives (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.incentives", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[36, "bittensor.core.extrinsics.asyncex.take.increase_take_extrinsic", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[52, "bittensor.core.extrinsics.take.increase_take_extrinsic", false]], "index (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.index", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.info", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Info", false]], "info() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.info", false]], "info() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.info", false]], "info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.info", false]], "info() (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.info", false]], "infobase (class in bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.InfoBase", false]], "infodict (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.InfoDict", false]], "initialize (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.initialize", false]], "initialize() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.initialize", false]], "install_signal_handlers() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.install_signal_handlers", false]], "int_to_ip() (in module bittensor.utils.networking)": [[93, "bittensor.utils.networking.int_to_ip", false]], "internalservererror": [[25, "bittensor.core.errors.InternalServerError", false]], "invalidchild": [[25, "bittensor.core.errors.InvalidChild", false]], "invalidconfigfile": [[23, "bittensor.core.config.InvalidConfigFile", false]], "invalidrequestnameerror": [[25, "bittensor.core.errors.InvalidRequestNameError", false]], "ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.ip", false]], "ip (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip", false]], "ip (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip", false]], "ip (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip", false]], "ip (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.ip", false]], "ip (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.ip", false]], "ip (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.ip", false]], "ip (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.ip", false]], "ip (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.ip", false]], "ip__str__() (in module bittensor.utils.networking)": [[93, "bittensor.utils.networking.ip__str__", false]], "ip_str() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_str", false]], "ip_to_int() (in module bittensor.utils.networking)": [[93, "bittensor.utils.networking.ip_to_int", false]], "ip_type (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip_type", false]], "ip_type (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.ip_type", false]], "ip_type (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.ip_type", false]], "ip_type (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.ip_type", false]], "ip_type (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.ip_type", false]], "ip_version() (in module bittensor.utils.networking)": [[93, "bittensor.utils.networking.ip_version", false]], "ipinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.IPInfo", false]], "ipinfo (class in bittensor.core.chain_data.ip_info)": [[9, "bittensor.core.chain_data.ip_info.IPInfo", false]], "is_async (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.is_async", false]], "is_blacklist (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.is_blacklist", false]], "is_dynamic (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.is_dynamic", false]], "is_empty (bittensor.core.threadpool.prioritythreadpoolexecutor property)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.is_empty", false]], "is_failure (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.is_failure", false]], "is_fast_blocks (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_fast_blocks", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.is_hotkey_delegate", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_hotkey_delegate", false]], "is_hotkey_registered (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_hotkey_registered", false]], "is_hotkey_registered_any (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_on_subnet", false]], "is_null (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.is_null", false]], "is_null (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.is_null", false]], "is_registered (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.is_registered", false]], "is_running (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.is_running", false]], "is_serving (bittensor.core.chain_data.axon_info.axoninfo property)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.is_serving", false]], "is_set() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.is_set", false]], "is_stale() (bittensor.utils.registration.pow.powsolution method)": [[96, "bittensor.utils.registration.pow.POWSolution.is_stale", false]], "is_stale_async() (bittensor.utils.registration.pow.powsolution method)": [[96, "bittensor.utils.registration.pow.POWSolution.is_stale_async", false]], "is_subnet_active (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.is_subnet_active", false]], "is_subnet_active() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_subnet_active", false]], "is_subnet_active() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_subnet_active", false]], "is_success (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.is_success", false]], "is_timeout (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.is_timeout", false]], "is_valid_bittensor_address_or_public_key() (in module bittensor.utils)": [[89, "bittensor.utils.is_valid_bittensor_address_or_public_key", false]], "is_valid_ss58_address() (in module bittensor.utils)": [[89, "bittensor.utils.is_valid_ss58_address", false]], "k (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.k", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Kappa", false]], "kappa (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.kappa", false]], "kappa (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.kappa", false]], "kappa (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Kappa", false]], "keyfile (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.keyfile", false]], "keypair (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.keypair", false]], "last_drand_round (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.last_drand_round", false]], "last_drand_round() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.last_drand_round", false]], "last_drand_round() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.last_drand_round", false]], "last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.last_step", false]], "last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_step", false]], "last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.last_step", false]], "last_update (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.last_update", false]], "last_update (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.last_update", false]], "last_update (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.last_update", false]], "last_update (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.last_update", false]], "last_update (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.last_update", false]], "laststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastStep", false]], "lastupdate (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastUpdate", false]], "latent_lite_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.LATENT_LITE_ENTRYPOINT", false]], "latest_block_path() (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.latest_block_path", false]], "lazyloadedtorch (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.LazyLoadedTorch", false]], "legacy_torch_api_compat() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.legacy_torch_api_compat", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.liquid_alpha_enabled", false]], "liquidalphaenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LiquidAlphaEnabled", false]], "liquidity (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.liquidity", false]], "liquidityposition (class in bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.LiquidityPosition", false]], "list_from_dicts() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.list_from_dicts", false]], "list_from_vec_u8() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.list_from_vec_u8", false]], "lite (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.lite", false]], "load() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.load", false]], "load_from_path() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.nontorchmetagraph method)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.torchmetagraph method)": [[57, "bittensor.core.metagraph.TorchMetagraph.load_from_path", false]], "local_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.LOCAL_ENTRYPOINT", false]], "locked (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.locked", false]], "log() (bittensor.utils.registration.pow.console static method)": [[96, "bittensor.utils.registration.pow.Console.log", false]], "log_and_handle_error() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.log_and_handle_error", false]], "log_cuda_errors() (in module bittensor.utils.registration.register_cuda)": [[97, "bittensor.utils.registration.register_cuda.log_cuda_errors", false]], "log_exception() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.log_exception", false]], "log_formats (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.LOG_FORMATS", false]], "log_level_color_prefix (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.log_level_color_prefix", false]], "log_no_torch_error() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.log_no_torch_error", false]], "log_trace_formats (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.LOG_TRACE_FORMATS", false]], "log_verbose (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.log_verbose", false]], "log_verbose (bittensor.core.types.subtensormixin attribute)": [[77, "bittensor.core.types.SubtensorMixin.log_verbose", false]], "logger (bittensor.utils.btlogging.console.bittensorconsole attribute)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.logger", false]], "logger (in module bittensor.core.threadpool)": [[75, "bittensor.core.threadpool.logger", false]], "logging (in module bittensor.utils)": [[89, "bittensor.utils.logging", false]], "logging (in module bittensor.utils.btlogging)": [[85, "bittensor.utils.btlogging.logging", false]], "logging_dir (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.logging_dir", false]], "loggingconfig (class in bittensor.utils.btlogging.loggingmachine)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig", false]], "loggingmachine (class in bittensor.utils.btlogging.loggingmachine)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine", false]], "logo_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.logo_url", false]], "max_allowed_validators (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_allowed_validators", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_burn", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_burn", false]], "max_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_burn", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_difficulty", false]], "max_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_n", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_regs_per_block", false]], "max_tick (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.MAX_TICK", false]], "max_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_uids", false]], "max_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.max_uids", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_validators", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_validators", false]], "max_validators (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_validators", false]], "max_weight_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_weight_limit", false]], "max_weight_limit (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_weight_limit", false]], "max_weight_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.max_weight_limit", false]], "max_weight_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.max_weight_limit", false]], "max_weight_limit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.max_weight_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_weights_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_weights_limit", false]], "maxattemptsexception": [[25, "bittensor.core.errors.MaxAttemptsException", false]], "maxburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxBurn", false]], "maxdifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxDifficulty", false]], "maxregsperblock (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxRegsPerBlock", false]], "maxsuccessexception": [[25, "bittensor.core.errors.MaxSuccessException", false]], "maxuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxUids", false]], "maxvalidators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxValidators", false]], "maxweightslimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxWeightsLimit", false]], "merge() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.merge", false]], "message (bittensor.core.errors.synapsedendritenoneexception attribute)": [[25, "bittensor.core.errors.SynapseDendriteNoneException.message", false]], "message (bittensor.core.errors.synapseexception attribute)": [[25, "bittensor.core.errors.SynapseException.message", false]], "message (bittensor.utils.unlockstatus attribute)": [[89, "bittensor.utils.UnlockStatus.message", false]], "metadata (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.metadata", false]], "metadata() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.metadata", false]], "metadata_storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.metadata_storage_function", false]], "metadataerror": [[25, "bittensor.core.errors.MetadataError", false]], "metagraph (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[66, "bittensor.core.subtensor_api.metagraphs.Metagraphs.metagraph", false]], "metagraph (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.Metagraph", false]], "metagraph (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.metagraph", false]], "metagraph() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.metagraph", false]], "metagraph() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.metagraph", false]], "metagraph_state_dict_ndarray_keys (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.METAGRAPH_STATE_DICT_NDARRAY_KEYS", false]], "metagraphinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.MetagraphInfo", false]], "metagraphinfo (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo", false]], "metagraphinfoemissions (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions", false]], "metagraphinfoparams (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams", false]], "metagraphinfopool (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool", false]], "metagraphmixin (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.MetagraphMixin", false]], "metagraphs (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.metagraphs", false]], "metagraphs (class in bittensor.core.subtensor_api.metagraphs)": [[66, "bittensor.core.subtensor_api.metagraphs.Metagraphs", false]], "middleware_cls (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.middleware_cls", false]], "millify() (in module bittensor.utils.formatting)": [[88, "bittensor.utils.formatting.millify", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.min_allowed_weights", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_burn", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_burn", false]], "min_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_burn", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_difficulty", false]], "min_required_stake() (bittensor.utils.mock.subtensor_mock.mocksubtensor static method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.min_required_stake", false]], "min_tick (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.MIN_TICK", false]], "minallowedweights (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinAllowedWeights", false]], "minburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinBurn", false]], "mindifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinDifficulty", false]], "miners_dir (in module bittensor.core.settings)": [[58, "bittensor.core.settings.MINERS_DIR", false]], "mock_subpackage (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.mock_subpackage", false]], "mockchainstate (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.MockChainState", false]], "mockmapresult (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.MockMapResult", false]], "mocksubtensor (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor", false]], "mocksubtensorstate (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState", false]], "mocksubtensorvalue (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorValue", false]], "mocksystemstate (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.MockSystemState", false]], "modality (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.modality", false]], "model_config (bittensor.core.stream.streamingsynapse attribute)": [[59, "bittensor.core.stream.StreamingSynapse.model_config", false]], "model_config (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.model_config", false]], "model_config (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.model_config", false]], "model_config (bittensor.core.tensor.tensor attribute)": [[74, "bittensor.core.tensor.Tensor.model_config", false]], "modify_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.modify_liquidity", false]], "modify_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.modify_liquidity", false]], "modify_liquidity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.modify_liquidity", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.modify_liquidity_extrinsic", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[44, "bittensor.core.extrinsics.liquidity.modify_liquidity_extrinsic", false]], "module": [[0, "module-bittensor.core.async_subtensor", false], [1, "module-bittensor.core.axon", false], [2, "module-bittensor.core.chain_data.axon_info", false], [3, "module-bittensor.core.chain_data.chain_identity", false], [4, "module-bittensor.core.chain_data.delegate_info", false], [5, "module-bittensor.core.chain_data.delegate_info_lite", false], [6, "module-bittensor.core.chain_data.dynamic_info", false], [7, "module-bittensor.core.chain_data", false], [8, "module-bittensor.core.chain_data.info_base", false], [9, "module-bittensor.core.chain_data.ip_info", false], [10, "module-bittensor.core.chain_data.metagraph_info", false], [11, "module-bittensor.core.chain_data.neuron_info", false], [12, "module-bittensor.core.chain_data.neuron_info_lite", false], [13, "module-bittensor.core.chain_data.prometheus_info", false], [14, "module-bittensor.core.chain_data.proposal_vote_data", false], [15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false], [16, "module-bittensor.core.chain_data.stake_info", false], [17, "module-bittensor.core.chain_data.subnet_hyperparameters", false], [18, "module-bittensor.core.chain_data.subnet_identity", false], [19, "module-bittensor.core.chain_data.subnet_info", false], [20, "module-bittensor.core.chain_data.subnet_state", false], [21, "module-bittensor.core.chain_data.utils", false], [22, "module-bittensor.core.chain_data.weight_commit_info", false], [23, "module-bittensor.core.config", false], [24, "module-bittensor.core.dendrite", false], [25, "module-bittensor.core.errors", false], [26, "module-bittensor.core.extrinsics.asyncex.children", false], [27, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false], [28, "module-bittensor.core.extrinsics.asyncex", false], [29, "module-bittensor.core.extrinsics.asyncex.liquidity", false], [30, "module-bittensor.core.extrinsics.asyncex.move_stake", false], [31, "module-bittensor.core.extrinsics.asyncex.registration", false], [32, "module-bittensor.core.extrinsics.asyncex.root", false], [33, "module-bittensor.core.extrinsics.asyncex.serving", false], [34, "module-bittensor.core.extrinsics.asyncex.staking", false], [35, "module-bittensor.core.extrinsics.asyncex.start_call", false], [36, "module-bittensor.core.extrinsics.asyncex.take", false], [37, "module-bittensor.core.extrinsics.asyncex.transfer", false], [38, "module-bittensor.core.extrinsics.asyncex.unstaking", false], [39, "module-bittensor.core.extrinsics.asyncex.weights", false], [40, "module-bittensor.core.extrinsics.children", false], [41, "module-bittensor.core.extrinsics.commit_reveal", false], [42, "module-bittensor.core.extrinsics.commit_weights", false], [43, "module-bittensor.core.extrinsics", false], [44, "module-bittensor.core.extrinsics.liquidity", false], [45, "module-bittensor.core.extrinsics.move_stake", false], [46, "module-bittensor.core.extrinsics.registration", false], [47, "module-bittensor.core.extrinsics.root", false], [48, "module-bittensor.core.extrinsics.serving", false], [49, "module-bittensor.core.extrinsics.set_weights", false], [50, "module-bittensor.core.extrinsics.staking", false], [51, "module-bittensor.core.extrinsics.start_call", false], [52, "module-bittensor.core.extrinsics.take", false], [53, "module-bittensor.core.extrinsics.transfer", false], [54, "module-bittensor.core.extrinsics.unstaking", false], [55, "module-bittensor.core.extrinsics.utils", false], [56, "module-bittensor.core", false], [57, "module-bittensor.core.metagraph", false], [58, "module-bittensor.core.settings", false], [59, "module-bittensor.core.stream", false], [60, "module-bittensor.core.subtensor", false], [61, "module-bittensor.core.subtensor_api.chain", false], [62, "module-bittensor.core.subtensor_api.commitments", false], [63, "module-bittensor.core.subtensor_api.delegates", false], [64, "module-bittensor.core.subtensor_api.extrinsics", false], [65, "module-bittensor.core.subtensor_api", false], [66, "module-bittensor.core.subtensor_api.metagraphs", false], [67, "module-bittensor.core.subtensor_api.neurons", false], [68, "module-bittensor.core.subtensor_api.queries", false], [69, "module-bittensor.core.subtensor_api.staking", false], [70, "module-bittensor.core.subtensor_api.subnets", false], [71, "module-bittensor.core.subtensor_api.utils", false], [72, "module-bittensor.core.subtensor_api.wallets", false], [73, "module-bittensor.core.synapse", false], [74, "module-bittensor.core.tensor", false], [75, "module-bittensor.core.threadpool", false], [76, "module-bittensor.core.timelock", false], [77, "module-bittensor.core.types", false], [78, "module-bittensor", false], [79, "module-bittensor.utils.axon_utils", false], [80, "module-bittensor.utils.balance", false], [81, "module-bittensor.utils.btlogging.console", false], [82, "module-bittensor.utils.btlogging.defines", false], [83, "module-bittensor.utils.btlogging.format", false], [84, "module-bittensor.utils.btlogging.helpers", false], [85, "module-bittensor.utils.btlogging", false], [86, "module-bittensor.utils.btlogging.loggingmachine", false], [87, "module-bittensor.utils.easy_imports", false], [88, "module-bittensor.utils.formatting", false], [89, "module-bittensor.utils", false], [90, "module-bittensor.utils.liquidity", false], [91, "module-bittensor.utils.mock", false], [92, "module-bittensor.utils.mock.subtensor_mock", false], [93, "module-bittensor.utils.networking", false], [94, "module-bittensor.utils.registration.async_pow", false], [95, "module-bittensor.utils.registration", false], [96, "module-bittensor.utils.registration.pow", false], [97, "module-bittensor.utils.registration.register_cuda", false], [98, "module-bittensor.utils.subnets", false], [99, "module-bittensor.utils.substrate_utils.hasher", false], [100, "module-bittensor.utils.substrate_utils", false], [101, "module-bittensor.utils.substrate_utils.storage", false], [102, "module-bittensor.utils.version", false], [103, "module-bittensor.utils.weight_utils", false]], "move_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.move_stake", false]], "move_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.move_stake", false]], "move_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.move_stake", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[30, "bittensor.core.extrinsics.asyncex.move_stake.move_stake_extrinsic", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[45, "bittensor.core.extrinsics.move_stake.move_stake_extrinsic", false]], "moving_price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.moving_price", false]], "movingprice (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MovingPrice", false]], "n (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.n", false]], "n (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.n", false]], "n (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.n", false]], "name (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.name", false]], "name (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.name", false]], "name (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Name", false]], "name (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.name", false]], "name (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.name", false]], "name (bittensor.core.types.paramwithtypes attribute)": [[77, "bittensor.core.types.ParamWithTypes.name", false]], "nanoseconds_in_second (in module bittensor.utils.axon_utils)": [[79, "bittensor.utils.axon_utils.NANOSECONDS_IN_SECOND", false]], "nays (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.nays", false]], "netuid (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.netuid", false]], "netuid (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Netuid", false]], "netuid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.netuid", false]], "netuid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.netuid", false]], "netuid (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.netuid", false]], "netuid (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.netuid", false]], "netuid (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.netuid", false]], "netuid (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.netuid", false]], "netuid (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.netuid", false]], "netuid (bittensor.utils.balance.balance attribute)": [[80, "bittensor.utils.balance.Balance.netuid", false]], "netuid (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.netuid", false]], "network (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.network", false]], "network (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.network", false]], "network (bittensor.core.types.subtensormixin attribute)": [[77, "bittensor.core.types.SubtensorMixin.network", false]], "network_explorer_map (in module bittensor.core.settings)": [[58, "bittensor.core.settings.NETWORK_EXPLORER_MAP", false]], "network_map (in module bittensor.core.settings)": [[58, "bittensor.core.settings.NETWORK_MAP", false]], "network_registered_at (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.network_registered_at", false]], "network_registered_at (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.network_registered_at", false]], "network_registered_at (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.network_registered_at", false]], "networkregisteredat (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NetworkRegisteredAt", false]], "networks (in module bittensor.core.settings)": [[58, "bittensor.core.settings.NETWORKS", false]], "networksadded (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.NetworksAdded", false]], "neuron_for_uid (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.neuron_for_uid", false]], "neuron_for_uid() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.neuron_for_uid", false]], "neuron_for_uid_lite() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.neuron_for_uid_lite", false]], "neuroninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfo", false]], "neuroninfo (class in bittensor.core.chain_data.neuron_info)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo", false]], "neuroninfolite (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfoLite", false]], "neuroninfolite (class in bittensor.core.chain_data.neuron_info_lite)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite", false]], "neurons (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.neurons", false]], "neurons (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.neurons", false]], "neurons (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.neurons", false]], "neurons (class in bittensor.core.subtensor_api.neurons)": [[67, "bittensor.core.subtensor_api.neurons.Neurons", false]], "neurons() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons", false]], "neurons() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.neurons", false]], "neurons() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.neurons", false]], "neurons_lite (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.neurons_lite", false]], "neurons_lite() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons_lite", false]], "neurons_lite() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.neurons_lite", false]], "neurons_lite() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.neurons_lite", false]], "new_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.new_coldkey", false]], "nominationerror": [[25, "bittensor.core.errors.NominationError", false]], "nominators (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.nominators", false]], "nominators (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.nominators", false]], "nonassociatedcoldkey": [[25, "bittensor.core.errors.NonAssociatedColdKey", false]], "nonce (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.nonce", false]], "nonce (bittensor.utils.registration.pow.powsolution attribute)": [[96, "bittensor.utils.registration.pow.POWSolution.nonce", false]], "nonces (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.nonces", false]], "nontorchmetagraph (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.NonTorchMetagraph", false]], "normalize_max_weight() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.normalize_max_weight", false]], "notdelegateerror": [[25, "bittensor.core.errors.NotDelegateError", false]], "notenoughstaketosetchildkeys": [[25, "bittensor.core.errors.NotEnoughStakeToSetChildkeys", false]], "notregisterederror": [[25, "bittensor.core.errors.NotRegisteredError", false]], "notverifiedexception": [[25, "bittensor.core.errors.NotVerifiedException", false]], "null_entry (in module bittensor.core.threadpool)": [[75, "bittensor.core.threadpool.NULL_ENTRY", false]], "num_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.num_uids", false]], "num_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.num_uids", false]], "numpy() (bittensor.core.tensor.tensor method)": [[74, "bittensor.core.tensor.Tensor.numpy", false]], "numpyortorch (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.NumpyOrTorch", false]], "numuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NumUids", false]], "off() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.off", false]], "old_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.old_coldkey", false]], "on() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.on", false]], "owner_coldkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.owner_coldkey", false]], "owner_hotkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.owner_hotkey", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.owner_ss58", false]], "ownercoldkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerColdkey", false]], "ownerhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerHotkey", false]], "pallet (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.pallet", false]], "params (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.params", false]], "params_encoded (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.params_encoded", false]], "paramwithtypes (class in bittensor.core.types)": [[77, "bittensor.core.types.ParamWithTypes", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse class method)": [[73, "id4", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.parse_headers_to_inputs", false]], "pending_alpha_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_alpha_emission", false]], "pending_root_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_root_emission", false]], "pendingalphaemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingAlphaEmission", false]], "pendingrootemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingRootEmission", false]], "pipaddress (in module bittensor.core.settings)": [[58, "bittensor.core.settings.PIPADDRESS", false]], "placeholder1 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder1", false]], "placeholder1 (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.placeholder1", false]], "placeholder1 (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.placeholder1", false]], "placeholder2 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder2", false]], "placeholder2 (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.placeholder2", false]], "placeholder2 (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.placeholder2", false]], "pool (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.pool", false]], "port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.port", false]], "port (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.port", false]], "port (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.port", false]], "port (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.port", false]], "port (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.port", false]], "port (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.port", false]], "port (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.port", false]], "port (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.port", false]], "postprocessexception": [[25, "bittensor.core.errors.PostProcessException", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pow_registration_allowed", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.pow_registration_allowed", false]], "powregistrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PowRegistrationAllowed", false]], "powsolution (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.POWSolution", false]], "prepare_synapse() (bittensor.utils.subnets.subnetsapi method)": [[98, "bittensor.utils.subnets.SubnetsAPI.prepare_synapse", false]], "preprocess() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.preprocess", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.preprocess_synapse_for_request", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.preprocess_synapse_for_request", false], [24, "id8", false]], "price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.price", false]], "price_high (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.price_high", false]], "price_low (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.price_low", false]], "price_step (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.PRICE_STEP", false]], "price_to_tick() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.price_to_tick", false]], "priority() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.priority", false]], "priority_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.priority_fns", false]], "priorityexception": [[25, "bittensor.core.errors.PriorityException", false]], "prioritythreadpoolexecutor (class in bittensor.core.threadpool)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor", false]], "process_error_message() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.process_error_message", false]], "process_nested() (in module bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.process_nested", false]], "process_responses() (bittensor.utils.subnets.subnetsapi method)": [[98, "bittensor.utils.subnets.SubnetsAPI.process_responses", false]], "process_server_response() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.process_server_response", false]], "process_server_response() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.process_server_response", false], [24, "id9", false]], "process_stake_data() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.process_stake_data", false]], "process_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[59, "bittensor.core.stream.StreamingSynapse.process_streaming_response", false]], "process_time (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.process_time", false]], "process_weights() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.process_weights", false]], "process_weights_for_netuid() (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.process_weights_for_netuid", false]], "prometheus_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.prometheus_info", false]], "prometheus_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.prometheus_info", false]], "prometheusinfo (class in bittensor.core.chain_data.prometheus_info)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo", false]], "prometheusinfodict (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict", false]], "prometheusservecallparams (class in bittensor.core.types)": [[77, "bittensor.core.types.PrometheusServeCallParams", false]], "proportionoverflow": [[25, "bittensor.core.errors.ProportionOverflow", false]], "proposalvotedata (class in bittensor.core.chain_data.proposal_vote_data)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData", false]], "protocol (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.protocol", false]], "protocol (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.protocol", false]], "protocol (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.protocol", false]], "protocol (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.protocol", false]], "pruning_score (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.pruning_score", false]], "pruning_score (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.pruning_score", false]], "pruning_score (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.pruning_score", false]], "pruningscore (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PruningScore", false]], "publish_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.publish_metadata", false]], "publish_metadata() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.publish_metadata", false]], "queries (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.queries", false]], "queries (class in bittensor.core.subtensor_api.queries)": [[68, "bittensor.core.subtensor_api.queries.Queries", false]], "query() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.query", false]], "query() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.query", false], [24, "id11", false]], "query_api() (bittensor.utils.subnets.subnetsapi method)": [[98, "bittensor.utils.subnets.SubnetsAPI.query_api", false]], "query_constant (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_constant", false]], "query_constant() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_constant", false]], "query_constant() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_constant", false]], "query_constant() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.query_constant", false]], "query_identity (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.query_identity", false]], "query_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_identity", false]], "query_identity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_identity", false]], "query_map (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_map", false]], "query_map() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map", false]], "query_map() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_map", false]], "query_map_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_map_subtensor", false]], "query_map_subtensor() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.query_map_subtensor", false]], "query_module (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_module", false]], "query_module() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_module", false]], "query_module() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_module", false]], "query_runtime_api (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_runtime_api", false]], "query_runtime_api() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_runtime_api", false]], "query_runtime_api() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_runtime_api", false]], "query_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_subtensor", false]], "query_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_subtensor", false]], "query_subtensor() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_subtensor", false]], "query_subtensor() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.query_subtensor", false]], "r (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.R", false]], "rank (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rank", false]], "rank (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rank", false]], "rank (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.rank", false]], "rank (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.rank", false]], "rank (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.rank", false]], "ranks (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.ranks", false]], "ranks (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.ranks", false]], "ranks (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.ranks", false]], "rao (bittensor.utils.balance.balance attribute)": [[80, "bittensor.utils.balance.Balance.rao", false]], "rao() (in module bittensor.utils.balance)": [[80, "bittensor.utils.balance.rao", false]], "rao_symbol (in module bittensor.core.settings)": [[58, "bittensor.core.settings.RAO_SYMBOL", false]], "rao_unit (bittensor.utils.balance.balance attribute)": [[80, "bittensor.utils.balance.Balance.rao_unit", false]], "raopertao (in module bittensor.utils)": [[89, "bittensor.utils.RAOPERTAO", false]], "read_only (in module bittensor.core.settings)": [[58, "bittensor.core.settings.READ_ONLY", false]], "record_log (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.record_log", false]], "records (bittensor.utils.mock.subtensor_mock.mockmapresult attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockMapResult.records", false]], "recycle (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.recycle", false]], "recycle() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.recycle", false]], "recycle() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.recycle", false]], "register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register", false]], "register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register", false]], "register() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.register", false]], "register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.register_extrinsic", false]], "register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[46, "bittensor.core.extrinsics.registration.register_extrinsic", false]], "register_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.register_primary_logger", false]], "register_subnet (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register_subnet", false]], "register_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.register_subnet", false]], "register_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register_subnet", false]], "register_subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.register_subnet", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.register_subnet_extrinsic", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.registration)": [[46, "bittensor.core.extrinsics.registration.register_subnet_extrinsic", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.registration_allowed", false]], "registrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.RegistrationAllowed", false]], "registrationerror": [[25, "bittensor.core.errors.RegistrationError", false]], "registrationnotpermittedonrootsubnet": [[25, "bittensor.core.errors.RegistrationNotPermittedOnRootSubnet", false]], "registrations (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.registrations", false]], "registrations (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.registrations", false]], "registrationstatistics (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics", false]], "registrationstatisticslogger (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger", false]], "remove_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.remove_liquidity", false]], "remove_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.remove_liquidity", false]], "remove_liquidity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.remove_liquidity", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.remove_liquidity_extrinsic", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[44, "bittensor.core.extrinsics.liquidity.remove_liquidity_extrinsic", false]], "required_hash_fields (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.required_hash_fields", false]], "reset() (bittensor.utils.mock.subtensor_mock.mocksubtensor class method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.reset", false]], "reset() (bittensor.utils.mock.subtensor_mock.reusablecoroutine method)": [[92, "bittensor.utils.mock.subtensor_mock.ReusableCoroutine.reset", false]], "reset_cuda() (in module bittensor.utils.registration.register_cuda)": [[97, "bittensor.utils.registration.register_cuda.reset_cuda", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.return_per_1000", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.return_per_1000", false]], "reusablecoroutine (class in bittensor.utils.mock.subtensor_mock)": [[92, "bittensor.utils.mock.subtensor_mock.ReusableCoroutine", false]], "reveal_round (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.reveal_round", false]], "reveal_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.reveal_weights", false]], "reveal_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.reveal_weights", false]], "reveal_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.reveal_weights", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[39, "bittensor.core.extrinsics.asyncex.weights.reveal_weights_extrinsic", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[42, "bittensor.core.extrinsics.commit_weights.reveal_weights_extrinsic", false]], "reverse_network_map (in module bittensor.core.settings)": [[58, "bittensor.core.settings.REVERSE_NETWORK_MAP", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rho", false]], "rho (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.rho", false]], "rho (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.rho", false]], "rho (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Rho", false]], "root_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_register", false]], "root_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_register", false]], "root_register() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.root_register", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[32, "bittensor.core.extrinsics.asyncex.root.root_register_extrinsic", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.root)": [[47, "bittensor.core.extrinsics.root.root_register_extrinsic", false]], "root_set_pending_childkey_cooldown (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[26, "bittensor.core.extrinsics.asyncex.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.children)": [[40, "bittensor.core.extrinsics.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_weights", false]], "root_set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_weights", false]], "root_set_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.root_set_weights", false]], "root_tao_stake_weight (in module bittensor.core.settings)": [[58, "bittensor.core.settings.ROOT_TAO_STAKE_WEIGHT", false]], "rounds_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.rounds_total", false]], "router (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.router", false]], "run() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.run", false]], "run() (bittensor.utils.registration.pow.cudasolver method)": [[96, "bittensor.utils.registration.pow.CUDASolver.run", false]], "run() (bittensor.utils.registration.pow.solver method)": [[96, "bittensor.utils.registration.pow.Solver.run", false]], "run_in_thread() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.run_in_thread", false]], "runexception": [[25, "bittensor.core.errors.RunException", false]], "runtime_config (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.runtime_config", false]], "s (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.S", false]], "safe_globals() (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.safe_globals", false]], "save() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.save", false]], "scaling_law_power (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.scaling_law_power", false]], "scheduledcoldkeyswapinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.ScheduledColdkeySwapInfo", false]], "scheduledcoldkeyswapinfo (class in bittensor.core.chain_data.scheduled_coldkey_swap_info)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo", false]], "seal (bittensor.utils.registration.pow.powsolution attribute)": [[96, "bittensor.utils.registration.pow.POWSolution.seal", false]], "selectivemetagraphindex (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex", false]], "serialize() (bittensor.core.tensor.tensor static method)": [[74, "bittensor.core.tensor.Tensor.serialize", false]], "serve() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.serve", false]], "serve_axon (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.serve_axon", false]], "serve_axon() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.serve_axon", false]], "serve_axon() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.serve_axon", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.serve_axon_extrinsic", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.serve_axon_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.serve_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.serve_extrinsic", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.serving_rate_limit", false]], "servingratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ServingRateLimit", false]], "session (bittensor.core.dendrite.dendritemixin property)": [[24, "bittensor.core.dendrite.DendriteMixin.session", false]], "set_children (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_children", false]], "set_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_children", false]], "set_children() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_children", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[26, "bittensor.core.extrinsics.asyncex.children.set_children_extrinsic", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.children)": [[40, "bittensor.core.extrinsics.children.set_children_extrinsic", false]], "set_commitment (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.set_commitment", false]], "set_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_config", false]], "set_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_console", false]], "set_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_debug", false]], "set_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_default", false]], "set_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.set_delegate_take", false]], "set_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_delegate_take", false]], "set_delegate_take() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_delegate_take", false]], "set_difficulty() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.set_difficulty", false]], "set_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_info", false]], "set_name_type() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.set_name_type", false]], "set_reveal_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_reveal_commitment", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[32, "bittensor.core.extrinsics.asyncex.root.set_root_weights_extrinsic", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.root)": [[47, "bittensor.core.extrinsics.root.set_root_weights_extrinsic", false]], "set_subnet_identity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_subnet_identity", false]], "set_subnet_identity (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_subnet_identity", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.set_subnet_identity_extrinsic", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.registration)": [[46, "bittensor.core.extrinsics.registration.set_subnet_identity_extrinsic", false]], "set_trace() (bittensor.utils.btlogging.format.btstreamformatter method)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter.set_trace", false]], "set_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_trace", false]], "set_unit() (bittensor.utils.balance.balance method)": [[80, "bittensor.utils.balance.Balance.set_unit", false]], "set_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_warning", false]], "set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_weights", false]], "set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_weights", false]], "set_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_weights", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[39, "bittensor.core.extrinsics.asyncex.weights.set_weights_extrinsic", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.set_weights)": [[49, "bittensor.core.extrinsics.set_weights.set_weights_extrinsic", false]], "setlevel() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.setLevel", false]], "setup() (bittensor.utils.mock.subtensor_mock.mocksubtensor method)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.setup", false]], "setup_config (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.setup_config", false]], "setup_config() (bittensor.core.types.subtensormixin static method)": [[77, "bittensor.core.types.SubtensorMixin.setup_config", false]], "shape (bittensor.core.tensor.tensor attribute)": [[74, "bittensor.core.tensor.Tensor.shape", false]], "should_exit (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.should_exit", false]], "should_sync (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.should_sync", false]], "should_sync (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.should_sync", false]], "shutdown() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.shutdown", false]], "sign_and_send_extrinsic (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.sign_and_send_extrinsic", false]], "signature (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.signature", false]], "slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.slippage", false]], "solve_cuda() (in module bittensor.utils.registration.register_cuda)": [[97, "bittensor.utils.registration.register_cuda.solve_cuda", false]], "solver (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.Solver", false]], "ss58 (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.ss58", false]], "ss58_address_length (in module bittensor.core.settings)": [[58, "bittensor.core.settings.SS58_ADDRESS_LENGTH", false]], "ss58_address_to_bytes() (in module bittensor.utils)": [[89, "bittensor.utils.ss58_address_to_bytes", false]], "ss58_decode (in module bittensor.utils)": [[89, "bittensor.utils.ss58_decode", false]], "ss58_format (in module bittensor.core.settings)": [[58, "bittensor.core.settings.SS58_FORMAT", false]], "ss58_to_vec_u8() (in module bittensor.utils)": [[89, "bittensor.utils.ss58_to_vec_u8", false]], "stake (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake", false]], "stake (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.stake", false]], "stake (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.stake", false]], "stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.stake", false]], "stake (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.stake", false]], "stake (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.Stake", false]], "stake_dict (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake_dict", false]], "stake_dict (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake_dict", false]], "stakeerror": [[25, "bittensor.core.errors.StakeError", false]], "stakeinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.StakeInfo", false]], "stakeinfo (class in bittensor.core.chain_data.stake_info)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo", false]], "staking (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.staking", false]], "staking (class in bittensor.core.subtensor_api.staking)": [[69, "bittensor.core.subtensor_api.staking.Staking", false]], "start() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.start", false]], "start() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.start", false]], "start() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.start", false]], "start() (bittensor.utils.registration.pow.status method)": [[96, "bittensor.utils.registration.pow.Status.start", false]], "start_call (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.start_call", false]], "start_call (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.start_call", false]], "start_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.start_call", false]], "start_call() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.start_call", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.asyncex.start_call)": [[35, "bittensor.core.extrinsics.asyncex.start_call.start_call_extrinsic", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.start_call)": [[51, "bittensor.core.extrinsics.start_call.start_call_extrinsic", false]], "started (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.started", false]], "state_call (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.state_call", false]], "state_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.state_call", false]], "state_call() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.state_call", false]], "state_dict() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.state_dict", false]], "status (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.status", false]], "status (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.Status", false]], "status() (bittensor.utils.registration.pow.console static method)": [[96, "bittensor.utils.registration.pow.Console.status", false]], "status_code (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.status_code", false]], "status_message (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.status_message", false]], "stop() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.stop", false]], "stop() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.stop", false]], "stop() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.stop", false]], "stop() (bittensor.utils.registration.pow.status method)": [[96, "bittensor.utils.registration.pow.Status.stop", false]], "storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.storage_function", false]], "storagefunctionnotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.StorageFunctionNotFound", false]], "storagekey (class in bittensor.utils.substrate_utils.storage)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey", false]], "stream_response() (bittensor.core.stream.streamingsynapse.btstreamingresponse method)": [[59, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.stream_response", false]], "streamingsynapse (class in bittensor.core.stream)": [[59, "bittensor.core.stream.StreamingSynapse", false]], "streamingsynapse.btstreamingresponse (class in bittensor.core.stream)": [[59, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse", false]], "strtobool() (in module bittensor.utils)": [[89, "bittensor.utils.strtobool", false]], "submit() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.submit", false]], "subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.subnet", false]], "subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet", false]], "subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.subnet", false]], "subnet_contact (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_contact", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_emission", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.subnet_emission", false]], "subnet_exists (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.subnet_exists", false]], "subnet_exists() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet_exists", false]], "subnet_exists() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.subnet_exists", false]], "subnet_identity (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_identity", false]], "subnet_is_active (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.subnet_is_active", false]], "subnet_name (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_name", false]], "subnet_name (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_name", false]], "subnet_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_url", false]], "subnet_volume (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.subnet_volume", false]], "subnetemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetEmission", false]], "subnethyperparameters (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetHyperparameters", false]], "subnethyperparameters (class in bittensor.core.chain_data.subnet_hyperparameters)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters", false]], "subnetidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetIdentity", false]], "subnetidentity (class in bittensor.core.chain_data.subnet_identity)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity", false]], "subnetinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetInfo", false]], "subnetinfo (class in bittensor.core.chain_data.subnet_info)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo", false]], "subnets (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.subnets", false]], "subnets (class in bittensor.core.subtensor_api.subnets)": [[70, "bittensor.core.subtensor_api.subnets.Subnets", false]], "subnetsapi (class in bittensor.utils.subnets)": [[98, "bittensor.utils.subnets.SubnetsAPI", false]], "subnetstate (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetState", false]], "subnetstate (class in bittensor.core.chain_data.subnet_state)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState", false]], "subnetvolume (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetVolume", false]], "subnetwork_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.subnetwork_n", false]], "subnetwork_n (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.subnetwork_n", false]], "subnetwork_n() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnetwork_n", false]], "subnetwork_n() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.subnetwork_n", false]], "subnetworkdoesnotexist": [[25, "bittensor.core.errors.SubNetworkDoesNotExist", false]], "substrate (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.substrate", false]], "substrate (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.substrate", false]], "substrate (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.substrate", false]], "substraterequestexception (in module bittensor.core.errors)": [[25, "bittensor.core.errors.SubstrateRequestException", false]], "subtensor (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.subtensor", false]], "subtensor (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.subtensor", false]], "subtensor (class in bittensor.core.subtensor)": [[60, "bittensor.core.subtensor.Subtensor", false]], "subtensor (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.subtensor", false]], "subtensorapi (class in bittensor.core.subtensor_api)": [[65, "bittensor.core.subtensor_api.SubtensorApi", false]], "subtensormixin (class in bittensor.core.types)": [[77, "bittensor.core.types.SubtensorMixin", false]], "subtensormodule (bittensor.utils.mock.subtensor_mock.mockchainstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockChainState.SubtensorModule", false]], "subvortex_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.SUBVORTEX_ENTRYPOINT", false]], "success (bittensor.utils.unlockstatus attribute)": [[89, "bittensor.utils.UnlockStatus.success", false]], "success() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.success", false]], "success() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.success", false]], "success_level_num (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.SUCCESS_LEVEL_NUM", false]], "sudo_force_set_balance (bittensor.utils.mock.subtensor_mock.mocksubtensor attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensor.sudo_force_set_balance", false]], "swap_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.swap_stake", false]], "swap_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.swap_stake", false]], "swap_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.swap_stake", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[30, "bittensor.core.extrinsics.asyncex.move_stake.swap_stake_extrinsic", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[45, "bittensor.core.extrinsics.move_stake.swap_stake_extrinsic", false]], "symbol (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Symbol", false]], "symbol (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.symbol", false]], "synapse (bittensor.core.errors.synapseexception attribute)": [[25, "bittensor.core.errors.SynapseException.synapse", false]], "synapse (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[59, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.synapse", false]], "synapse (class in bittensor.core.synapse)": [[73, "bittensor.core.synapse.Synapse", false]], "synapse (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.synapse", false]], "synapse_history (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.synapse_history", false]], "synapse_to_response() (bittensor.core.axon.axonmiddleware class method)": [[1, "bittensor.core.axon.AxonMiddleware.synapse_to_response", false]], "synapsedendritenoneexception": [[25, "bittensor.core.errors.SynapseDendriteNoneException", false]], "synapseexception": [[25, "bittensor.core.errors.SynapseException", false]], "synapseparsingerror": [[25, "bittensor.core.errors.SynapseParsingError", false]], "sync() (bittensor.core.metagraph.asyncmetagraph method)": [[57, "bittensor.core.metagraph.AsyncMetagraph.sync", false]], "sync() (bittensor.core.metagraph.metagraph method)": [[57, "bittensor.core.metagraph.Metagraph.sync", false]], "system (bittensor.utils.mock.subtensor_mock.mockchainstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockChainState.System", false]], "t (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.T", false]], "t (in module bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.T", false]], "t (in module bittensor.core.config)": [[23, "bittensor.core.config.T", false]], "take (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.take", false]], "take (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.take", false]], "takeerror": [[25, "bittensor.core.errors.TakeError", false]], "tao (bittensor.utils.balance.balance property)": [[80, "bittensor.utils.balance.Balance.tao", false]], "tao() (in module bittensor.utils.balance)": [[80, "bittensor.utils.balance.tao", false]], "tao_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_dividends_per_hotkey", false]], "tao_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.tao_dividends_per_hotkey", false]], "tao_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.tao_in", false]], "tao_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.tao_in_emission", false]], "tao_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_slippage", false]], "tao_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_stake", false]], "tao_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.tao_stake", false]], "tao_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.tao_stake", false]], "tao_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.tao_stake", false]], "tao_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.tao_stake", false]], "tao_symbol (in module bittensor.core.settings)": [[58, "bittensor.core.settings.TAO_SYMBOL", false]], "tao_to_alpha() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha", false]], "tao_to_alpha_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha_with_slippage", false]], "taodividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoDividendsPerHotkey", false]], "taoin (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoIn", false]], "taoinemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoInEmission", false]], "taostake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoStake", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.target_regs_per_interval", false]], "targetregsperinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TargetRegsPerInterval", false]], "tempo (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Tempo", false]], "tempo (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.tempo", false]], "tempo (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.tempo", false]], "tempo (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.tempo", false]], "tempo (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.tempo", false]], "tempo() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tempo", false]], "tempo() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.tempo", false]], "tensor (class in bittensor.core.tensor)": [[74, "bittensor.core.tensor.Tensor", false], [74, "bittensor.core.tensor.tensor", false]], "tensor (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.Tensor", false]], "tensor() (bittensor.core.tensor.tensor method)": [[74, "bittensor.core.tensor.Tensor.tensor", false]], "terminalinfo (class in bittensor.core.synapse)": [[73, "bittensor.core.synapse.TerminalInfo", false]], "terminate_workers_and_wait_for_exit() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.terminate_workers_and_wait_for_exit", false]], "thread_pool (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.thread_pool", false]], "threshold (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.threshold", false]], "tick_to_price() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.tick_to_price", false]], "time_average (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.time_average", false]], "time_spent (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent", false]], "time_spent_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[96, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent_total", false]], "timeout (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.timeout", false]], "to_dict() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.to_dict", false]], "to_headers() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.to_headers", false], [73, "id5", false]], "to_hex() (bittensor.utils.substrate_utils.storage.storagekey method)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.to_hex", false]], "to_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_parameter_dict", false]], "to_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.to_parameter_dict", false]], "to_string() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.to_string", false]], "to_string() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_string", false]], "to_token_amounts() (bittensor.utils.liquidity.liquidityposition method)": [[90, "bittensor.utils.liquidity.LiquidityPosition.to_token_amounts", false]], "toggle_user_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.toggle_user_liquidity", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.toggle_user_liquidity_extrinsic", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[44, "bittensor.core.extrinsics.liquidity.toggle_user_liquidity_extrinsic", false]], "token_streamer (bittensor.core.stream.btstreamingresponsemodel attribute)": [[59, "bittensor.core.stream.BTStreamingResponseModel.token_streamer", false]], "token_streamer (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[59, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.token_streamer", false]], "tolist() (bittensor.core.tensor.tensor method)": [[74, "bittensor.core.tensor.Tensor.tolist", false]], "toomanychildren": [[25, "bittensor.core.errors.TooManyChildren", false]], "torch (bittensor.core.tensor.dtypes attribute)": [[74, "bittensor.core.tensor.DTypes.torch", false]], "torch (in module bittensor.utils)": [[89, "bittensor.utils.torch", false]], "torch (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.torch", false]], "torchmetagraph (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.TorchMetagraph", false]], "total_daily_return (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.total_daily_return", false]], "total_daily_return (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.total_daily_return", false]], "total_size (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.total_size", false]], "total_stake (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.total_stake", false]], "total_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.total_stake", false]], "total_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.total_stake", false]], "total_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.total_stake", false]], "totalstake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TotalStake", false]], "tpb (bittensor.utils.registration.pow.cudasolver attribute)": [[96, "bittensor.utils.registration.pow.CUDASolver.tpb", false]], "trace (bittensor.utils.btlogging.format.btstreamformatter attribute)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Trace", false]], "trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.trace", false]], "trace() (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.trace", false]], "trace_level_num (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.TRACE_LEVEL_NUM", false]], "trace_log_format (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.TRACE_LOG_FORMAT", false]], "transfer (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer", false]], "transfer() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer", false]], "transfer() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.transfer", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.asyncex.transfer)": [[37, "bittensor.core.extrinsics.asyncex.transfer.transfer_extrinsic", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.transfer)": [[53, "bittensor.core.extrinsics.transfer.transfer_extrinsic", false]], "transfer_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer_stake", false]], "transfer_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer_stake", false]], "transfer_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.transfer_stake", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[30, "bittensor.core.extrinsics.asyncex.move_stake.transfer_stake_extrinsic", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[45, "bittensor.core.extrinsics.move_stake.transfer_stake_extrinsic", false]], "transfererror": [[25, "bittensor.core.errors.TransferError", false]], "transfers_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.transfers_enabled", false]], "trust (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.trust", false]], "trust (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Trust", false]], "trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.trust", false]], "trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.trust", false]], "trust (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.trust", false]], "trust (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.trust", false]], "trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.trust", false]], "trust (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.trust", false]], "ts (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.TS", false]], "tv (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.Tv", false]], "two_x64_concat() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.two_x64_concat", false]], "tx_rate_limit (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.tx_rate_limit", false]], "txratelimitexceeded": [[25, "bittensor.core.errors.TxRateLimitExceeded", false]], "type (bittensor.core.types.paramwithtypes attribute)": [[77, "bittensor.core.types.ParamWithTypes.type", false]], "type_registry (in module bittensor.core.settings)": [[58, "bittensor.core.settings.TYPE_REGISTRY", false]], "u16_max (in module bittensor.utils)": [[89, "bittensor.utils.U16_MAX", false]], "u16_max (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.U16_MAX", false]], "u16_normalized_float() (in module bittensor.utils)": [[89, "bittensor.utils.u16_normalized_float", false]], "u32_max (in module bittensor.utils.weight_utils)": [[103, "bittensor.utils.weight_utils.U32_MAX", false]], "u64_max (in module bittensor.utils)": [[89, "bittensor.utils.U64_MAX", false]], "u64_normalized_float() (in module bittensor.utils)": [[89, "bittensor.utils.u64_normalized_float", false]], "uid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.uid", false]], "uid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.uid", false]], "uids (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.uids", false]], "uids (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.uids", false]], "uids (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.uids", false]], "unit (bittensor.utils.balance.balance attribute)": [[80, "bittensor.utils.balance.Balance.unit", false]], "unknownsynapseerror": [[25, "bittensor.core.errors.UnknownSynapseError", false]], "unlock_key() (in module bittensor.utils)": [[89, "bittensor.utils.unlock_key", false]], "unlockstatus (class in bittensor.utils)": [[89, "bittensor.utils.UnlockStatus", false]], "unstake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake", false]], "unstake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.unstake", false]], "unstake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake", false]], "unstake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.unstake", false]], "unstake_all (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_all", false]], "unstake_all (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.unstake_all", false]], "unstake_all() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_all", false]], "unstake_all() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.unstake_all", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_all_extrinsic", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[54, "bittensor.core.extrinsics.unstaking.unstake_all_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[54, "bittensor.core.extrinsics.unstaking.unstake_extrinsic", false]], "unstake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_multiple", false]], "unstake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.unstake_multiple", false]], "unstake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_multiple", false]], "unstake_multiple() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.unstake_multiple", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_multiple_extrinsic", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[54, "bittensor.core.extrinsics.unstaking.unstake_multiple_extrinsic", false]], "unstakeerror": [[25, "bittensor.core.errors.UnstakeError", false]], "update() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[96, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.update", false]], "update() (bittensor.utils.registration.pow.status method)": [[96, "bittensor.utils.registration.pow.Status.update", false]], "update_curr_block() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.update_curr_block", false]], "url (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.url", false]], "use_torch (in module bittensor.utils)": [[89, "bittensor.utils.use_torch", false]], "use_torch() (in module bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.use_torch", false]], "user_bittensor_dir (in module bittensor.core.settings)": [[58, "bittensor.core.settings.USER_BITTENSOR_DIR", false]], "user_liquidity_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.user_liquidity_enabled", false]], "usingspawnstartmethod (class in bittensor.utils.registration.pow)": [[96, "bittensor.utils.registration.pow.UsingSpawnStartMethod", false]], "uuid (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.uuid", false]], "uuid (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.uuid", false]], "uuid (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.uuid", false]], "v_7_2_0 (in module bittensor.core.axon)": [[1, "bittensor.core.axon.V_7_2_0", false]], "validate_chain_endpoint() (in module bittensor.utils)": [[89, "bittensor.utils.validate_chain_endpoint", false]], "validator_permit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_permit", false]], "validator_permit (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.validator_permit", false]], "validator_permit (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.validator_permit", false]], "validator_permit (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.validator_permit", false]], "validator_permit (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.validator_permit", false]], "validator_permits (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.validator_permits", false]], "validator_permits (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.validator_permits", false]], "validator_trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_trust", false]], "validator_trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_trust", false]], "validator_trust (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.validator_trust", false]], "validator_trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.validator_trust", false]], "validator_trust (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.validator_trust", false]], "validatorbatchsize (bittensor.utils.mock.subtensor_mock.mocksubtensorstate attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorState.ValidatorBatchSize", false]], "validatorpermit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ValidatorPermit", false]], "validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validators", false]], "validators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Validators", false]], "value (bittensor.utils.mock.subtensor_mock.mocksubtensorvalue attribute)": [[92, "bittensor.utils.mock.subtensor_mock.MockSubtensorValue.value", false]], "value_scale_type (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[101, "bittensor.utils.substrate_utils.storage.StorageKey.value_scale_type", false]], "verify() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.verify", false]], "verify_body_integrity() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.verify_body_integrity", false]], "verify_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.verify_fns", false]], "version (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.version", false]], "version (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.version", false]], "version (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.version", false]], "version (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.version", false]], "version (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.version", false]], "version (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.version", false]], "version (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.version", false]], "version (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.version", false]], "version (bittensor.utils.mock.subtensor_mock.axoninfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.AxonInfoDict.version", false]], "version (bittensor.utils.mock.subtensor_mock.prometheusinfodict attribute)": [[92, "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict.version", false]], "version_as_int (in module bittensor.core.settings)": [[58, "bittensor.core.settings.version_as_int", false]], "version_check_threshold (in module bittensor.utils.version)": [[102, "bittensor.utils.version.VERSION_CHECK_THRESHOLD", false]], "version_checking (in module bittensor.utils)": [[89, "bittensor.utils.version_checking", false]], "version_checking() (in module bittensor.utils.version)": [[102, "bittensor.utils.version.version_checking", false]], "version_split (in module bittensor.core.settings)": [[58, "bittensor.core.settings.version_split", false]], "versioncheckerror": [[102, "bittensor.utils.version.VersionCheckError", false]], "versioncheckerror (in module bittensor.utils)": [[89, "bittensor.utils.VersionCheckError", false]], "w (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.W", false]], "wait_for_block (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.wait_for_block", false]], "wait_for_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.wait_for_block", false]], "wait_for_block() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.wait_for_block", false]], "wait_reveal_and_decrypt() (in module bittensor.core.timelock)": [[76, "bittensor.core.timelock.wait_reveal_and_decrypt", false]], "wallet (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.wallet", false]], "wallet (bittensor.utils.subnets.subnetsapi attribute)": [[98, "bittensor.utils.subnets.SubnetsAPI.wallet", false]], "wallet (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.wallet", false]], "wallets (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.wallets", false]], "wallets (class in bittensor.core.subtensor_api.wallets)": [[72, "bittensor.core.subtensor_api.wallets.Wallets", false]], "wallets_dir (in module bittensor.core.settings)": [[58, "bittensor.core.settings.WALLETS_DIR", false]], "warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Warning", false]], "warning() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.warning", false]], "warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.warning", false]], "warning() (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.warning", false]], "weightcommitinfo (class in bittensor.core.chain_data.weight_commit_info)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo", false]], "weights (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.weights", false]], "weights (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.weights", false]], "weights (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.weights", false]], "weights (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.weights", false]], "weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.weights", false]], "weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights", false]], "weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.weights", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.weights_rate_limit", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_version", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_version", false]], "weights_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_version", false]], "weightsratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsRateLimit", false]], "weightsversion (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsVersion", false]], "xxh128() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.xxh128", false]], "xxh64() (in module bittensor.utils.substrate_utils.hasher)": [[99, "bittensor.utils.substrate_utils.hasher.xxh64", false]], "yuma_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.yuma_version", false]]}, "objects": {"": [[78, 0, 0, "-", "bittensor"]], "bittensor": [[56, 0, 0, "-", "core"], [89, 0, 0, "-", "utils"]], "bittensor.core": [[0, 0, 0, "-", "async_subtensor"], [1, 0, 0, "-", "axon"], [7, 0, 0, "-", "chain_data"], [23, 0, 0, "-", "config"], [24, 0, 0, "-", "dendrite"], [25, 0, 0, "-", "errors"], [43, 0, 0, "-", "extrinsics"], [57, 0, 0, "-", "metagraph"], [58, 0, 0, "-", "settings"], [59, 0, 0, "-", "stream"], [60, 0, 0, "-", "subtensor"], [65, 0, 0, "-", "subtensor_api"], [73, 0, 0, "-", "synapse"], [74, 0, 0, "-", "tensor"], [75, 0, 0, "-", "threadpool"], [76, 0, 0, "-", "timelock"], [77, 0, 0, "-", "types"]], "bittensor.core.async_subtensor": [[0, 1, 1, "", "AsyncSubtensor"], [0, 5, 1, "", "get_async_subtensor"]], "bittensor.core.async_subtensor.AsyncSubtensor": [[0, 2, 1, "", "add_liquidity"], [0, 2, 1, "", "add_stake"], [0, 2, 1, "", "add_stake_multiple"], [0, 2, 1, "", "all_subnets"], [0, 3, 1, "", "block"], [0, 2, 1, "", "blocks_since_last_step"], [0, 2, 1, "", "blocks_since_last_update"], [0, 2, 1, "", "bonds"], [0, 2, 1, "", "burned_register"], [0, 2, 1, "", "close"], [0, 2, 1, "", "commit"], [0, 2, 1, "", "commit_reveal_enabled"], [0, 2, 1, "", "commit_weights"], [0, 2, 1, "", "determine_block_hash"], [0, 2, 1, "", "difficulty"], [0, 2, 1, "", "does_hotkey_exist"], [0, 2, 1, "", "encode_params"], [0, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [0, 2, 1, "", "get_all_commitments"], [0, 2, 1, "", "get_all_metagraphs_info"], [0, 2, 1, "", "get_all_neuron_certificates"], [0, 2, 1, "", "get_all_revealed_commitments"], [0, 2, 1, "", "get_all_subnets_info"], [0, 2, 1, "", "get_balance"], [0, 2, 1, "", "get_balances"], [0, 2, 1, "", "get_block_hash"], [0, 2, 1, "", "get_children"], [0, 2, 1, "", "get_children_pending"], [0, 2, 1, "", "get_commitment"], [0, 2, 1, "", "get_current_block"], [0, 2, 1, "", "get_current_weight_commit_info"], [0, 2, 1, "", "get_delegate_by_hotkey"], [0, 2, 1, "", "get_delegate_identities"], [0, 2, 1, "", "get_delegate_take"], [0, 2, 1, "", "get_delegated"], [0, 2, 1, "", "get_delegates"], [0, 2, 1, "", "get_existential_deposit"], [0, 2, 1, "", "get_hotkey_owner"], [0, 4, 1, "", "get_hotkey_stake"], [0, 2, 1, "", "get_hyperparameter"], [0, 2, 1, "", "get_last_commitment_bonds_reset_block"], [0, 2, 1, "", "get_liquidity_list"], [0, 2, 1, "", "get_metagraph_info"], [0, 2, 1, "", "get_minimum_required_stake"], [0, 2, 1, "", "get_netuids_for_hotkey"], [0, 2, 1, "", "get_neuron_certificate"], [0, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [0, 2, 1, "", "get_next_epoch_start_block"], [0, 2, 1, "", "get_owned_hotkeys"], [0, 2, 1, "", "get_parents"], [0, 2, 1, "", "get_revealed_commitment"], [0, 2, 1, "", "get_revealed_commitment_by_hotkey"], [0, 2, 1, "", "get_stake"], [0, 2, 1, "", "get_stake_add_fee"], [0, 2, 1, "", "get_stake_for_coldkey"], [0, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [0, 2, 1, "", "get_stake_for_hotkey"], [0, 4, 1, "", "get_stake_info_for_coldkey"], [0, 2, 1, "", "get_stake_movement_fee"], [0, 2, 1, "", "get_stake_operations_fee"], [0, 2, 1, "", "get_subnet_burn_cost"], [0, 2, 1, "", "get_subnet_hyperparameters"], [0, 2, 1, "", "get_subnet_info"], [0, 2, 1, "", "get_subnet_owner_hotkey"], [0, 2, 1, "", "get_subnet_price"], [0, 2, 1, "", "get_subnet_prices"], [0, 2, 1, "", "get_subnet_reveal_period_epochs"], [0, 2, 1, "", "get_subnet_validator_permits"], [0, 2, 1, "", "get_subnets"], [0, 2, 1, "", "get_timestamp"], [0, 2, 1, "", "get_total_subnets"], [0, 2, 1, "", "get_transfer_fee"], [0, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [0, 2, 1, "", "get_unstake_fee"], [0, 2, 1, "", "get_vote_data"], [0, 2, 1, "", "immunity_period"], [0, 2, 1, "", "initialize"], [0, 2, 1, "", "is_fast_blocks"], [0, 2, 1, "", "is_hotkey_delegate"], [0, 2, 1, "", "is_hotkey_registered"], [0, 2, 1, "", "is_hotkey_registered_any"], [0, 2, 1, "", "is_hotkey_registered_on_subnet"], [0, 2, 1, "", "is_subnet_active"], [0, 2, 1, "", "last_drand_round"], [0, 4, 1, "", "log_verbose"], [0, 2, 1, "", "max_weight_limit"], [0, 2, 1, "", "metagraph"], [0, 2, 1, "", "min_allowed_weights"], [0, 2, 1, "", "modify_liquidity"], [0, 2, 1, "", "move_stake"], [0, 2, 1, "", "neuron_for_uid"], [0, 2, 1, "", "neurons"], [0, 2, 1, "", "neurons_lite"], [0, 2, 1, "", "query_constant"], [0, 2, 1, "", "query_identity"], [0, 2, 1, "", "query_map"], [0, 2, 1, "", "query_map_subtensor"], [0, 2, 1, "", "query_module"], [0, 2, 1, "", "query_runtime_api"], [0, 2, 1, "", "query_subtensor"], [0, 2, 1, "", "recycle"], [0, 2, 1, "", "register"], [0, 2, 1, "", "register_subnet"], [0, 2, 1, "", "remove_liquidity"], [0, 2, 1, "", "reveal_weights"], [0, 2, 1, "", "root_register"], [0, 2, 1, "", "root_set_pending_childkey_cooldown"], [0, 2, 1, "", "root_set_weights"], [0, 2, 1, "", "serve_axon"], [0, 2, 1, "", "set_children"], [0, 4, 1, "", "set_commitment"], [0, 2, 1, "", "set_delegate_take"], [0, 2, 1, "", "set_reveal_commitment"], [0, 2, 1, "", "set_subnet_identity"], [0, 2, 1, "", "set_weights"], [0, 2, 1, "", "sign_and_send_extrinsic"], [0, 2, 1, "", "start_call"], [0, 2, 1, "", "state_call"], [0, 2, 1, "", "subnet"], [0, 2, 1, "", "subnet_exists"], [0, 2, 1, "", "subnetwork_n"], [0, 4, 1, "", "substrate"], [0, 2, 1, "", "swap_stake"], [0, 2, 1, "", "tempo"], [0, 2, 1, "", "toggle_user_liquidity"], [0, 2, 1, "", "transfer"], [0, 2, 1, "", "transfer_stake"], [0, 2, 1, "", "tx_rate_limit"], [0, 2, 1, "", "unstake"], [0, 2, 1, "", "unstake_all"], [0, 2, 1, "", "unstake_multiple"], [0, 2, 1, "", "wait_for_block"], [0, 2, 1, "", "weights"], [0, 2, 1, "", "weights_rate_limit"]], "bittensor.core.axon": [[1, 1, 1, "", "Axon"], [1, 1, 1, "", "AxonMiddleware"], [1, 1, 1, "", "FastAPIThreadedServer"], [1, 6, 1, "", "V_7_2_0"], [1, 5, 1, "", "create_error_response"], [1, 5, 1, "", "log_and_handle_error"]], "bittensor.core.axon.Axon": [[1, 2, 1, "", "add_args"], [1, 4, 1, "", "app"], [1, 2, 1, "", "attach"], [1, 4, 1, "", "blacklist_fns"], [1, 2, 1, "", "check_config"], [1, 2, 1, "", "config"], [1, 2, 1, "", "default_verify"], [1, 4, 1, "", "external_ip"], [1, 4, 1, "", "external_port"], [1, 4, 1, "", "fast_config"], [1, 4, 1, "", "fast_server"], [1, 4, 1, "", "forward_class_types"], [1, 4, 1, "", "forward_fns"], [1, 4, 1, "", "full_address"], [1, 2, 1, "", "help"], [1, 2, 1, "", "info"], [1, 4, 1, "", "ip"], [1, 4, 1, "", "middleware_cls"], [1, 4, 1, "", "nonces"], [1, 4, 1, "", "port"], [1, 4, 1, "", "priority_fns"], [1, 4, 1, "", "router"], [1, 2, 1, "", "serve"], [1, 2, 1, "", "start"], [1, 4, 1, "", "started"], [1, 2, 1, "", "stop"], [1, 4, 1, "", "thread_pool"], [1, 2, 1, "", "to_string"], [1, 4, 1, "", "uuid"], [1, 2, 1, "", "verify_body_integrity"], [1, 4, 1, "", "verify_fns"], [1, 4, 1, "", "wallet"]], "bittensor.core.axon.AxonMiddleware": [[1, 4, 1, "", "axon"], [1, 2, 1, "", "blacklist"], [1, 2, 1, "", "dispatch"], [1, 2, 1, "", "preprocess"], [1, 2, 1, "", "priority"], [1, 2, 1, "", "run"], [1, 2, 1, "", "synapse_to_response"], [1, 2, 1, "", "verify"]], "bittensor.core.axon.FastAPIThreadedServer": [[1, 2, 1, "", "install_signal_handlers"], [1, 4, 1, "", "is_running"], [1, 2, 1, "", "run_in_thread"], [1, 4, 1, "", "should_exit"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"]], "bittensor.core.chain_data": [[2, 0, 0, "-", "axon_info"], [3, 0, 0, "-", "chain_identity"], [4, 0, 0, "-", "delegate_info"], [5, 0, 0, "-", "delegate_info_lite"], [6, 0, 0, "-", "dynamic_info"], [8, 0, 0, "-", "info_base"], [9, 0, 0, "-", "ip_info"], [10, 0, 0, "-", "metagraph_info"], [11, 0, 0, "-", "neuron_info"], [12, 0, 0, "-", "neuron_info_lite"], [13, 0, 0, "-", "prometheus_info"], [14, 0, 0, "-", "proposal_vote_data"], [15, 0, 0, "-", "scheduled_coldkey_swap_info"], [16, 0, 0, "-", "stake_info"], [17, 0, 0, "-", "subnet_hyperparameters"], [18, 0, 0, "-", "subnet_identity"], [19, 0, 0, "-", "subnet_info"], [20, 0, 0, "-", "subnet_state"], [21, 0, 0, "-", "utils"], [22, 0, 0, "-", "weight_commit_info"]], "bittensor.core.chain_data.axon_info": [[2, 1, 1, "", "AxonInfo"]], "bittensor.core.chain_data.axon_info.AxonInfo": [[2, 4, 1, "", "coldkey"], [2, 2, 1, "", "from_neuron_info"], [2, 2, 1, "", "from_parameter_dict"], [2, 2, 1, "", "from_string"], [2, 4, 1, "", "hotkey"], [2, 4, 1, "", "ip"], [2, 2, 1, "", "ip_str"], [2, 4, 1, "", "ip_type"], [2, 3, 1, "", "is_serving"], [2, 4, 1, "", "placeholder1"], [2, 4, 1, "", "placeholder2"], [2, 4, 1, "", "port"], [2, 4, 1, "", "protocol"], [2, 2, 1, "", "to_parameter_dict"], [2, 2, 1, "", "to_string"], [2, 4, 1, "", "version"]], "bittensor.core.chain_data.chain_identity": [[3, 1, 1, "", "ChainIdentity"]], "bittensor.core.chain_data.chain_identity.ChainIdentity": [[3, 4, 1, "", "additional"], [3, 4, 1, "", "description"], [3, 4, 1, "", "discord"], [3, 4, 1, "", "github"], [3, 4, 1, "", "image"], [3, 4, 1, "", "name"], [3, 4, 1, "", "url"]], "bittensor.core.chain_data.delegate_info": [[4, 1, 1, "", "DelegateInfo"], [4, 1, 1, "", "DelegateInfoBase"], [4, 1, 1, "", "DelegatedInfo"]], "bittensor.core.chain_data.delegate_info.DelegateInfo": [[4, 4, 1, "", "nominators"], [4, 4, 1, "", "total_stake"]], "bittensor.core.chain_data.delegate_info.DelegateInfoBase": [[4, 4, 1, "", "hotkey_ss58"], [4, 4, 1, "", "owner_ss58"], [4, 4, 1, "", "registrations"], [4, 4, 1, "", "return_per_1000"], [4, 4, 1, "", "take"], [4, 4, 1, "", "total_daily_return"], [4, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.delegate_info.DelegatedInfo": [[4, 4, 1, "", "netuid"], [4, 4, 1, "", "stake"]], "bittensor.core.chain_data.delegate_info_lite": [[5, 1, 1, "", "DelegateInfoLite"]], "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite": [[5, 4, 1, "", "delegate_ss58"], [5, 4, 1, "", "nominators"], [5, 4, 1, "", "owner_ss58"], [5, 4, 1, "", "registrations"], [5, 4, 1, "", "return_per_1000"], [5, 4, 1, "", "take"], [5, 4, 1, "", "total_daily_return"], [5, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.dynamic_info": [[6, 1, 1, "", "DynamicInfo"]], "bittensor.core.chain_data.dynamic_info.DynamicInfo": [[6, 4, 1, "", "alpha_in"], [6, 4, 1, "", "alpha_in_emission"], [6, 4, 1, "", "alpha_out"], [6, 4, 1, "", "alpha_out_emission"], [6, 4, 1, "", "alpha_slippage"], [6, 2, 1, "", "alpha_to_tao"], [6, 2, 1, "", "alpha_to_tao_with_slippage"], [6, 4, 1, "", "blocks_since_last_step"], [6, 4, 1, "", "emission"], [6, 4, 1, "", "is_dynamic"], [6, 4, 1, "", "k"], [6, 4, 1, "", "last_step"], [6, 4, 1, "", "moving_price"], [6, 4, 1, "", "netuid"], [6, 4, 1, "", "network_registered_at"], [6, 4, 1, "", "owner_coldkey"], [6, 4, 1, "", "owner_hotkey"], [6, 4, 1, "", "pending_alpha_emission"], [6, 4, 1, "", "pending_root_emission"], [6, 4, 1, "", "price"], [6, 4, 1, "", "slippage"], [6, 4, 1, "", "subnet_identity"], [6, 4, 1, "", "subnet_name"], [6, 4, 1, "", "subnet_volume"], [6, 4, 1, "", "symbol"], [6, 4, 1, "", "tao_in"], [6, 4, 1, "", "tao_in_emission"], [6, 4, 1, "", "tao_slippage"], [6, 2, 1, "", "tao_to_alpha"], [6, 2, 1, "", "tao_to_alpha_with_slippage"], [6, 4, 1, "", "tempo"]], "bittensor.core.chain_data.info_base": [[8, 1, 1, "", "InfoBase"], [8, 6, 1, "", "T"]], "bittensor.core.chain_data.info_base.InfoBase": [[8, 2, 1, "", "from_dict"], [8, 2, 1, "", "list_from_dicts"]], "bittensor.core.chain_data.ip_info": [[9, 1, 1, "", "IPInfo"]], "bittensor.core.chain_data.ip_info.IPInfo": [[9, 2, 1, "", "encode"], [9, 2, 1, "", "from_parameter_dict"], [9, 4, 1, "", "ip"], [9, 4, 1, "", "ip_type"], [9, 4, 1, "", "protocol"], [9, 2, 1, "", "to_parameter_dict"]], "bittensor.core.chain_data.metagraph_info": [[10, 1, 1, "", "MetagraphInfo"], [10, 1, 1, "", "MetagraphInfoEmissions"], [10, 1, 1, "", "MetagraphInfoParams"], [10, 1, 1, "", "MetagraphInfoPool"], [10, 1, 1, "", "SelectiveMetagraphIndex"], [10, 5, 1, "", "process_nested"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfo": [[10, 4, 1, "", "active"], [10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_dividends_per_hotkey"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "alpha_stake"], [10, 4, 1, "", "axons"], [10, 4, 1, "", "block"], [10, 4, 1, "", "block_at_registration"], [10, 4, 1, "", "blocks_since_last_step"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "coldkeys"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "consensus"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "dividends"], [10, 4, 1, "", "emission"], [10, 4, 1, "", "hotkeys"], [10, 4, 1, "", "identities"], [10, 4, 1, "", "identity"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "incentives"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "last_step"], [10, 4, 1, "", "last_update"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_uids"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "name"], [10, 4, 1, "", "netuid"], [10, 4, 1, "", "network_registered_at"], [10, 4, 1, "", "num_uids"], [10, 4, 1, "", "owner_coldkey"], [10, 4, 1, "", "owner_hotkey"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "pruning_score"], [10, 4, 1, "", "rank"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "symbol"], [10, 4, 1, "", "tao_dividends_per_hotkey"], [10, 4, 1, "", "tao_in"], [10, 4, 1, "", "tao_in_emission"], [10, 4, 1, "", "tao_stake"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "total_stake"], [10, 4, 1, "", "trust"], [10, 4, 1, "", "validator_permit"], [10, 4, 1, "", "validators"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions": [[10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "tao_in_emission"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams": [[10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool": [[10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "tao_in"]], "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex": [[10, 4, 1, "", "Active"], [10, 4, 1, "", "ActivityCutoff"], [10, 4, 1, "", "AdjustmentAlpha"], [10, 4, 1, "", "AdjustmentInterval"], [10, 4, 1, "", "AlphaDividendsPerHotkey"], [10, 4, 1, "", "AlphaHigh"], [10, 4, 1, "", "AlphaIn"], [10, 4, 1, "", "AlphaInEmission"], [10, 4, 1, "", "AlphaLow"], [10, 4, 1, "", "AlphaOut"], [10, 4, 1, "", "AlphaOutEmission"], [10, 4, 1, "", "AlphaStake"], [10, 4, 1, "", "Axons"], [10, 4, 1, "", "Block"], [10, 4, 1, "", "BlockAtRegistration"], [10, 4, 1, "", "BlocksSinceLastStep"], [10, 4, 1, "", "BondsMovingAvg"], [10, 4, 1, "", "Burn"], [10, 4, 1, "", "Coldkeys"], [10, 4, 1, "", "CommitRevealPeriod"], [10, 4, 1, "", "CommitRevealWeightsEnabled"], [10, 4, 1, "", "Consensus"], [10, 4, 1, "", "Difficulty"], [10, 4, 1, "", "Dividends"], [10, 4, 1, "", "Emission"], [10, 4, 1, "", "Hotkeys"], [10, 4, 1, "", "Identities"], [10, 4, 1, "", "Identity"], [10, 4, 1, "", "ImmunityPeriod"], [10, 4, 1, "", "Incentives"], [10, 4, 1, "", "Kappa"], [10, 4, 1, "", "LastStep"], [10, 4, 1, "", "LastUpdate"], [10, 4, 1, "", "LiquidAlphaEnabled"], [10, 4, 1, "", "MaxBurn"], [10, 4, 1, "", "MaxDifficulty"], [10, 4, 1, "", "MaxRegsPerBlock"], [10, 4, 1, "", "MaxUids"], [10, 4, 1, "", "MaxValidators"], [10, 4, 1, "", "MaxWeightsLimit"], [10, 4, 1, "", "MinAllowedWeights"], [10, 4, 1, "", "MinBurn"], [10, 4, 1, "", "MinDifficulty"], [10, 4, 1, "", "MovingPrice"], [10, 4, 1, "", "Name"], [10, 4, 1, "", "Netuid"], [10, 4, 1, "", "NetworkRegisteredAt"], [10, 4, 1, "", "NumUids"], [10, 4, 1, "", "OwnerColdkey"], [10, 4, 1, "", "OwnerHotkey"], [10, 4, 1, "", "PendingAlphaEmission"], [10, 4, 1, "", "PendingRootEmission"], [10, 4, 1, "", "PowRegistrationAllowed"], [10, 4, 1, "", "PruningScore"], [10, 4, 1, "", "Rank"], [10, 4, 1, "", "RegistrationAllowed"], [10, 4, 1, "", "Rho"], [10, 4, 1, "", "ServingRateLimit"], [10, 4, 1, "", "SubnetEmission"], [10, 4, 1, "", "SubnetVolume"], [10, 4, 1, "", "Symbol"], [10, 4, 1, "", "TaoDividendsPerHotkey"], [10, 4, 1, "", "TaoIn"], [10, 4, 1, "", "TaoInEmission"], [10, 4, 1, "", "TaoStake"], [10, 4, 1, "", "TargetRegsPerInterval"], [10, 4, 1, "", "Tempo"], [10, 4, 1, "", "TotalStake"], [10, 4, 1, "", "Trust"], [10, 4, 1, "", "ValidatorPermit"], [10, 4, 1, "", "Validators"], [10, 4, 1, "", "WeightsRateLimit"], [10, 4, 1, "", "WeightsVersion"], [10, 2, 1, "", "all_indices"]], "bittensor.core.chain_data.neuron_info": [[11, 1, 1, "", "NeuronInfo"]], "bittensor.core.chain_data.neuron_info.NeuronInfo": [[11, 4, 1, "", "active"], [11, 4, 1, "", "axon_info"], [11, 4, 1, "", "bonds"], [11, 4, 1, "", "coldkey"], [11, 4, 1, "", "consensus"], [11, 4, 1, "", "dividends"], [11, 4, 1, "", "emission"], [11, 2, 1, "", "from_weights_bonds_and_neuron_lite"], [11, 2, 1, "", "get_null_neuron"], [11, 4, 1, "", "hotkey"], [11, 4, 1, "", "incentive"], [11, 4, 1, "", "is_null"], [11, 4, 1, "", "last_update"], [11, 4, 1, "", "netuid"], [11, 4, 1, "", "prometheus_info"], [11, 4, 1, "", "pruning_score"], [11, 4, 1, "", "rank"], [11, 4, 1, "", "stake"], [11, 4, 1, "", "stake_dict"], [11, 4, 1, "", "total_stake"], [11, 4, 1, "", "trust"], [11, 4, 1, "", "uid"], [11, 4, 1, "", "validator_permit"], [11, 4, 1, "", "validator_trust"], [11, 4, 1, "", "weights"]], "bittensor.core.chain_data.neuron_info_lite": [[12, 1, 1, "", "NeuronInfoLite"]], "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite": [[12, 4, 1, "", "active"], [12, 4, 1, "", "axon_info"], [12, 4, 1, "", "coldkey"], [12, 4, 1, "", "consensus"], [12, 4, 1, "", "dividends"], [12, 4, 1, "", "emission"], [12, 2, 1, "id0", "get_null_neuron"], [12, 4, 1, "", "hotkey"], [12, 4, 1, "", "incentive"], [12, 4, 1, "", "is_null"], [12, 4, 1, "", "last_update"], [12, 2, 1, "", "list_from_vec_u8"], [12, 4, 1, "", "netuid"], [12, 4, 1, "", "prometheus_info"], [12, 4, 1, "", "pruning_score"], [12, 4, 1, "", "rank"], [12, 4, 1, "", "stake"], [12, 4, 1, "", "stake_dict"], [12, 4, 1, "", "total_stake"], [12, 4, 1, "", "trust"], [12, 4, 1, "", "uid"], [12, 4, 1, "", "validator_permit"], [12, 4, 1, "", "validator_trust"]], "bittensor.core.chain_data.prometheus_info": [[13, 1, 1, "", "PrometheusInfo"]], "bittensor.core.chain_data.prometheus_info.PrometheusInfo": [[13, 4, 1, "", "block"], [13, 4, 1, "", "ip"], [13, 4, 1, "", "ip_type"], [13, 4, 1, "", "port"], [13, 4, 1, "", "version"]], "bittensor.core.chain_data.proposal_vote_data": [[14, 1, 1, "", "ProposalVoteData"]], "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData": [[14, 4, 1, "", "ayes"], [14, 4, 1, "", "end"], [14, 2, 1, "", "from_dict"], [14, 4, 1, "", "index"], [14, 4, 1, "", "nays"], [14, 4, 1, "", "threshold"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, 1, 1, "", "ScheduledColdkeySwapInfo"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo": [[15, 4, 1, "", "arbitration_block"], [15, 2, 1, "", "decode_account_id_list"], [15, 4, 1, "", "new_coldkey"], [15, 4, 1, "", "old_coldkey"]], "bittensor.core.chain_data.stake_info": [[16, 1, 1, "", "StakeInfo"]], "bittensor.core.chain_data.stake_info.StakeInfo": [[16, 4, 1, "", "coldkey_ss58"], [16, 4, 1, "", "drain"], [16, 4, 1, "", "emission"], [16, 2, 1, "", "from_dict"], [16, 4, 1, "", "hotkey_ss58"], [16, 4, 1, "", "is_registered"], [16, 4, 1, "", "locked"], [16, 4, 1, "", "netuid"], [16, 4, 1, "", "stake"]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, 1, 1, "", "SubnetHyperparameters"]], "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters": [[17, 4, 1, "", "activity_cutoff"], [17, 4, 1, "", "adjustment_alpha"], [17, 4, 1, "", "adjustment_interval"], [17, 4, 1, "", "alpha_high"], [17, 4, 1, "", "alpha_low"], [17, 4, 1, "", "alpha_sigmoid_steepness"], [17, 4, 1, "", "bonds_moving_avg"], [17, 4, 1, "", "bonds_reset_enabled"], [17, 4, 1, "", "commit_reveal_period"], [17, 4, 1, "", "commit_reveal_weights_enabled"], [17, 4, 1, "", "difficulty"], [17, 4, 1, "", "immunity_period"], [17, 4, 1, "", "kappa"], [17, 4, 1, "", "liquid_alpha_enabled"], [17, 4, 1, "", "max_burn"], [17, 4, 1, "", "max_difficulty"], [17, 4, 1, "", "max_regs_per_block"], [17, 4, 1, "", "max_validators"], [17, 4, 1, "", "max_weight_limit"], [17, 4, 1, "", "min_allowed_weights"], [17, 4, 1, "", "min_burn"], [17, 4, 1, "", "min_difficulty"], [17, 4, 1, "", "registration_allowed"], [17, 4, 1, "", "rho"], [17, 4, 1, "", "serving_rate_limit"], [17, 4, 1, "", "subnet_is_active"], [17, 4, 1, "", "target_regs_per_interval"], [17, 4, 1, "", "tempo"], [17, 4, 1, "", "transfers_enabled"], [17, 4, 1, "", "user_liquidity_enabled"], [17, 4, 1, "", "weights_rate_limit"], [17, 4, 1, "", "weights_version"], [17, 4, 1, "", "yuma_version"]], "bittensor.core.chain_data.subnet_identity": [[18, 1, 1, "", "SubnetIdentity"]], "bittensor.core.chain_data.subnet_identity.SubnetIdentity": [[18, 4, 1, "", "additional"], [18, 4, 1, "", "description"], [18, 4, 1, "", "discord"], [18, 4, 1, "", "github_repo"], [18, 4, 1, "", "logo_url"], [18, 4, 1, "", "subnet_contact"], [18, 4, 1, "", "subnet_name"], [18, 4, 1, "", "subnet_url"]], "bittensor.core.chain_data.subnet_info": [[19, 1, 1, "", "SubnetInfo"]], "bittensor.core.chain_data.subnet_info.SubnetInfo": [[19, 4, 1, "", "blocks_since_epoch"], [19, 4, 1, "", "burn"], [19, 4, 1, "", "connection_requirements"], [19, 4, 1, "", "difficulty"], [19, 4, 1, "", "emission_value"], [19, 4, 1, "", "immunity_period"], [19, 4, 1, "", "kappa"], [19, 4, 1, "", "max_allowed_validators"], [19, 4, 1, "", "max_n"], [19, 4, 1, "", "max_weight_limit"], [19, 4, 1, "", "min_allowed_weights"], [19, 4, 1, "", "modality"], [19, 4, 1, "", "netuid"], [19, 4, 1, "", "owner_ss58"], [19, 4, 1, "", "rho"], [19, 4, 1, "", "scaling_law_power"], [19, 4, 1, "", "subnetwork_n"], [19, 4, 1, "", "tempo"]], "bittensor.core.chain_data.subnet_state": [[20, 1, 1, "", "SubnetState"]], "bittensor.core.chain_data.subnet_state.SubnetState": [[20, 4, 1, "", "active"], [20, 4, 1, "", "alpha_stake"], [20, 4, 1, "", "block_at_registration"], [20, 4, 1, "", "coldkeys"], [20, 4, 1, "", "consensus"], [20, 4, 1, "", "dividends"], [20, 4, 1, "", "emission"], [20, 4, 1, "", "emission_history"], [20, 4, 1, "", "hotkeys"], [20, 4, 1, "", "incentives"], [20, 4, 1, "", "last_update"], [20, 4, 1, "", "netuid"], [20, 4, 1, "", "pruning_score"], [20, 4, 1, "", "rank"], [20, 4, 1, "", "tao_stake"], [20, 4, 1, "", "total_stake"], [20, 4, 1, "", "trust"], [20, 4, 1, "", "validator_permit"]], "bittensor.core.chain_data.utils": [[21, 1, 1, "", "ChainDataType"], [21, 5, 1, "", "decode_account_id"], [21, 5, 1, "", "decode_block"], [21, 5, 1, "", "decode_metadata"], [21, 5, 1, "", "decode_revealed_commitment"], [21, 5, 1, "", "decode_revealed_commitment_with_hotkey"], [21, 5, 1, "", "from_scale_encoding"], [21, 5, 1, "", "from_scale_encoding_using_type_string"], [21, 5, 1, "", "process_stake_data"]], "bittensor.core.chain_data.utils.ChainDataType": [[21, 4, 1, "", "AccountId"], [21, 4, 1, "", "AxonInfo"], [21, 4, 1, "", "ChainIdentity"], [21, 4, 1, "", "DelegateInfo"], [21, 4, 1, "", "DelegatedInfo"], [21, 4, 1, "", "DynamicInfo"], [21, 4, 1, "", "IPInfo"], [21, 4, 1, "", "MetagraphInfo"], [21, 4, 1, "", "NeuronInfo"], [21, 4, 1, "", "NeuronInfoLite"], [21, 4, 1, "", "ScheduledColdkeySwapInfo"], [21, 4, 1, "", "StakeInfo"], [21, 4, 1, "", "SubnetHyperparameters"], [21, 4, 1, "", "SubnetIdentity"], [21, 4, 1, "", "SubnetInfo"], [21, 4, 1, "", "SubnetState"]], "bittensor.core.chain_data.weight_commit_info": [[22, 1, 1, "", "WeightCommitInfo"]], "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo": [[22, 4, 1, "", "commit_hex"], [22, 2, 1, "", "from_vec_u8"], [22, 4, 1, "", "reveal_round"], [22, 4, 1, "", "ss58"]], "bittensor.core.config": [[23, 1, 1, "", "Config"], [23, 1, 1, "", "DefaultConfig"], [23, 7, 1, "", "InvalidConfigFile"], [23, 6, 1, "", "T"]], "bittensor.core.config.Config": [[23, 2, 1, "", "is_set"], [23, 2, 1, "", "merge"], [23, 2, 1, "", "to_dict"]], "bittensor.core.config.DefaultConfig": [[23, 2, 1, "", "default"]], "bittensor.core.dendrite": [[24, 6, 1, "", "BaseModel"], [24, 6, 1, "", "DENDRITE_DEFAULT_ERROR"], [24, 6, 1, "", "DENDRITE_ERROR_MAPPING"], [24, 1, 1, "", "Dendrite"], [24, 1, 1, "", "DendriteMixin"], [24, 5, 1, "", "call"], [24, 5, 1, "", "event_loop_is_running"]], "bittensor.core.dendrite.Dendrite": [[24, 2, 1, "", "__repr__"], [24, 2, 1, "", "__str__"], [24, 2, 1, "", "aclose_session"], [24, 2, 1, "", "call"], [24, 2, 1, "", "call_stream"], [24, 2, 1, "", "close_session"], [24, 2, 1, "", "forward"], [24, 2, 1, "", "preprocess_synapse_for_request"], [24, 2, 1, "", "process_server_response"], [24, 2, 1, "", "query"]], "bittensor.core.dendrite.DendriteMixin": [[24, 2, 1, "", "__repr__"], [24, 2, 1, "", "__str__"], [24, 2, 1, "id0", "aclose_session"], [24, 2, 1, "", "aquery"], [24, 2, 1, "id3", "call"], [24, 2, 1, "id4", "call_stream"], [24, 2, 1, "id5", "close_session"], [24, 4, 1, "", "external_ip"], [24, 2, 1, "id7", "forward"], [24, 4, 1, "", "keypair"], [24, 2, 1, "", "log_exception"], [24, 2, 1, "id8", "preprocess_synapse_for_request"], [24, 2, 1, "", "process_error_message"], [24, 2, 1, "id9", "process_server_response"], [24, 2, 1, "id11", "query"], [24, 3, 1, "", "session"], [24, 4, 1, "", "synapse_history"], [24, 4, 1, "", "uuid"]], "bittensor.core.errors": [[25, 7, 1, "", "BlacklistedException"], [25, 6, 1, "", "BlockNotFound"], [25, 7, 1, "", "ChainConnectionError"], [25, 7, 1, "", "ChainError"], [25, 7, 1, "", "ChainQueryError"], [25, 7, 1, "", "ChainTransactionError"], [25, 7, 1, "", "DelegateTakeTooHigh"], [25, 7, 1, "", "DelegateTakeTooLow"], [25, 7, 1, "", "DelegateTxRateLimitExceeded"], [25, 7, 1, "", "DuplicateChild"], [25, 6, 1, "", "ExtrinsicNotFound"], [25, 7, 1, "", "HotKeyAccountNotExists"], [25, 7, 1, "", "IdentityError"], [25, 7, 1, "", "InternalServerError"], [25, 7, 1, "", "InvalidChild"], [25, 7, 1, "", "InvalidRequestNameError"], [25, 7, 1, "", "MaxAttemptsException"], [25, 7, 1, "", "MaxSuccessException"], [25, 7, 1, "", "MetadataError"], [25, 7, 1, "", "NominationError"], [25, 7, 1, "", "NonAssociatedColdKey"], [25, 7, 1, "", "NotDelegateError"], [25, 7, 1, "", "NotEnoughStakeToSetChildkeys"], [25, 7, 1, "", "NotRegisteredError"], [25, 7, 1, "", "NotVerifiedException"], [25, 7, 1, "", "PostProcessException"], [25, 7, 1, "", "PriorityException"], [25, 7, 1, "", "ProportionOverflow"], [25, 7, 1, "", "RegistrationError"], [25, 7, 1, "", "RegistrationNotPermittedOnRootSubnet"], [25, 7, 1, "", "RunException"], [25, 7, 1, "", "StakeError"], [25, 6, 1, "", "StorageFunctionNotFound"], [25, 7, 1, "", "SubNetworkDoesNotExist"], [25, 6, 1, "", "SubstrateRequestException"], [25, 7, 1, "", "SynapseDendriteNoneException"], [25, 7, 1, "", "SynapseException"], [25, 7, 1, "", "SynapseParsingError"], [25, 7, 1, "", "TakeError"], [25, 7, 1, "", "TooManyChildren"], [25, 7, 1, "", "TransferError"], [25, 7, 1, "", "TxRateLimitExceeded"], [25, 7, 1, "", "UnknownSynapseError"], [25, 7, 1, "", "UnstakeError"]], "bittensor.core.errors.ChainError": [[25, 2, 1, "", "from_error"]], "bittensor.core.errors.SynapseDendriteNoneException": [[25, 4, 1, "", "message"]], "bittensor.core.errors.SynapseException": [[25, 4, 1, "", "message"], [25, 4, 1, "", "synapse"]], "bittensor.core.extrinsics": [[28, 0, 0, "-", "asyncex"], [40, 0, 0, "-", "children"], [41, 0, 0, "-", "commit_reveal"], [42, 0, 0, "-", "commit_weights"], [44, 0, 0, "-", "liquidity"], [45, 0, 0, "-", "move_stake"], [46, 0, 0, "-", "registration"], [47, 0, 0, "-", "root"], [48, 0, 0, "-", "serving"], [49, 0, 0, "-", "set_weights"], [50, 0, 0, "-", "staking"], [51, 0, 0, "-", "start_call"], [52, 0, 0, "-", "take"], [53, 0, 0, "-", "transfer"], [54, 0, 0, "-", "unstaking"], [55, 0, 0, "-", "utils"]], "bittensor.core.extrinsics.asyncex": [[26, 0, 0, "-", "children"], [27, 0, 0, "-", "commit_reveal"], [29, 0, 0, "-", "liquidity"], [30, 0, 0, "-", "move_stake"], [31, 0, 0, "-", "registration"], [32, 0, 0, "-", "root"], [33, 0, 0, "-", "serving"], [34, 0, 0, "-", "staking"], [35, 0, 0, "-", "start_call"], [36, 0, 0, "-", "take"], [37, 0, 0, "-", "transfer"], [38, 0, 0, "-", "unstaking"], [39, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.asyncex.children": [[26, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [26, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[27, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.asyncex.liquidity": [[29, 5, 1, "", "add_liquidity_extrinsic"], [29, 5, 1, "", "modify_liquidity_extrinsic"], [29, 5, 1, "", "remove_liquidity_extrinsic"], [29, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.asyncex.move_stake": [[30, 5, 1, "", "move_stake_extrinsic"], [30, 5, 1, "", "swap_stake_extrinsic"], [30, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.asyncex.registration": [[31, 5, 1, "", "burned_register_extrinsic"], [31, 5, 1, "", "register_extrinsic"], [31, 5, 1, "", "register_subnet_extrinsic"], [31, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.asyncex.root": [[32, 5, 1, "", "root_register_extrinsic"], [32, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.asyncex.serving": [[33, 5, 1, "", "do_serve_axon"], [33, 5, 1, "", "get_last_bonds_reset"], [33, 5, 1, "", "get_metadata"], [33, 5, 1, "", "publish_metadata"], [33, 5, 1, "", "serve_axon_extrinsic"], [33, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.asyncex.staking": [[34, 5, 1, "", "add_stake_extrinsic"], [34, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.start_call": [[35, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.asyncex.take": [[36, 5, 1, "", "decrease_take_extrinsic"], [36, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.asyncex.transfer": [[37, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, 5, 1, "", "unstake_all_extrinsic"], [38, 5, 1, "", "unstake_extrinsic"], [38, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.weights": [[39, 5, 1, "", "commit_weights_extrinsic"], [39, 5, 1, "", "reveal_weights_extrinsic"], [39, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.children": [[40, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [40, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.commit_reveal": [[41, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.commit_weights": [[42, 5, 1, "", "commit_weights_extrinsic"], [42, 5, 1, "", "reveal_weights_extrinsic"]], "bittensor.core.extrinsics.liquidity": [[44, 5, 1, "", "add_liquidity_extrinsic"], [44, 5, 1, "", "modify_liquidity_extrinsic"], [44, 5, 1, "", "remove_liquidity_extrinsic"], [44, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.move_stake": [[45, 5, 1, "", "move_stake_extrinsic"], [45, 5, 1, "", "swap_stake_extrinsic"], [45, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.registration": [[46, 5, 1, "", "burned_register_extrinsic"], [46, 5, 1, "", "register_extrinsic"], [46, 5, 1, "", "register_subnet_extrinsic"], [46, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.root": [[47, 5, 1, "", "root_register_extrinsic"], [47, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.serving": [[48, 5, 1, "", "do_serve_axon"], [48, 5, 1, "", "get_last_bonds_reset"], [48, 5, 1, "", "get_metadata"], [48, 5, 1, "", "publish_metadata"], [48, 5, 1, "", "serve_axon_extrinsic"], [48, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.set_weights": [[49, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.staking": [[50, 5, 1, "", "add_stake_extrinsic"], [50, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.start_call": [[51, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.take": [[52, 5, 1, "", "decrease_take_extrinsic"], [52, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.transfer": [[53, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.unstaking": [[54, 5, 1, "", "unstake_all_extrinsic"], [54, 5, 1, "", "unstake_extrinsic"], [54, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.utils": [[55, 5, 1, "", "get_old_stakes"]], "bittensor.core.metagraph": [[57, 1, 1, "", "AsyncMetagraph"], [57, 6, 1, "", "BaseClass"], [57, 6, 1, "", "METAGRAPH_STATE_DICT_NDARRAY_KEYS"], [57, 1, 1, "", "Metagraph"], [57, 1, 1, "", "MetagraphMixin"], [57, 1, 1, "", "NonTorchMetagraph"], [57, 6, 1, "", "NumpyOrTorch"], [57, 6, 1, "", "Tensor"], [57, 1, 1, "", "TorchMetagraph"], [57, 5, 1, "", "async_metagraph"], [57, 5, 1, "", "get_save_dir"], [57, 5, 1, "", "latest_block_path"], [57, 5, 1, "", "safe_globals"]], "bittensor.core.metagraph.AsyncMetagraph": [[57, 2, 1, "", "sync"]], "bittensor.core.metagraph.Metagraph": [[57, 2, 1, "", "sync"]], "bittensor.core.metagraph.MetagraphMixin": [[57, 3, 1, "", "AS"], [57, 3, 1, "", "B"], [57, 3, 1, "", "C"], [57, 3, 1, "", "D"], [57, 3, 1, "", "E"], [57, 3, 1, "", "I"], [57, 3, 1, "", "R"], [57, 3, 1, "", "S"], [57, 3, 1, "", "T"], [57, 3, 1, "", "TS"], [57, 3, 1, "", "Tv"], [57, 3, 1, "", "W"], [57, 4, 1, "", "active"], [57, 3, 1, "", "addresses"], [57, 4, 1, "", "alpha_dividends_per_hotkey"], [57, 4, 1, "", "alpha_stake"], [57, 4, 1, "", "axons"], [57, 4, 1, "", "block"], [57, 4, 1, "", "block_at_registration"], [57, 4, 1, "", "blocks_since_last_step"], [57, 4, 1, "", "bonds"], [57, 4, 1, "", "chain_endpoint"], [57, 3, 1, "", "coldkeys"], [57, 4, 1, "", "consensus"], [57, 4, 1, "", "dividends"], [57, 4, 1, "", "emission"], [57, 4, 1, "", "emissions"], [57, 3, 1, "", "hotkeys"], [57, 4, 1, "", "hparams"], [57, 4, 1, "", "identities"], [57, 4, 1, "", "identity"], [57, 4, 1, "", "incentive"], [57, 4, 1, "", "last_step"], [57, 4, 1, "", "last_update"], [57, 4, 1, "", "lite"], [57, 2, 1, "", "load"], [57, 2, 1, "", "load_from_path"], [57, 4, 1, "", "max_uids"], [57, 2, 1, "", "metadata"], [57, 4, 1, "", "n"], [57, 4, 1, "", "name"], [57, 4, 1, "", "netuid"], [57, 4, 1, "", "network"], [57, 4, 1, "", "network_registered_at"], [57, 4, 1, "", "neurons"], [57, 4, 1, "", "num_uids"], [57, 4, 1, "", "owner_coldkey"], [57, 4, 1, "", "owner_hotkey"], [57, 4, 1, "", "pool"], [57, 4, 1, "", "pruning_score"], [57, 4, 1, "", "ranks"], [57, 2, 1, "", "save"], [57, 4, 1, "", "should_sync"], [57, 4, 1, "", "stake"], [57, 2, 1, "", "state_dict"], [57, 4, 1, "", "subtensor"], [57, 4, 1, "", "symbol"], [57, 4, 1, "", "tao_dividends_per_hotkey"], [57, 4, 1, "", "tao_stake"], [57, 4, 1, "", "tempo"], [57, 4, 1, "", "trust"], [57, 4, 1, "", "uids"], [57, 4, 1, "", "validator_permit"], [57, 4, 1, "", "validator_trust"], [57, 4, 1, "", "version"], [57, 4, 1, "", "weights"]], "bittensor.core.metagraph.NonTorchMetagraph": [[57, 4, 1, "", "active"], [57, 4, 1, "", "alpha_stake"], [57, 4, 1, "", "block"], [57, 4, 1, "", "bonds"], [57, 4, 1, "", "consensus"], [57, 4, 1, "", "dividends"], [57, 4, 1, "", "emission"], [57, 4, 1, "", "incentive"], [57, 4, 1, "", "last_update"], [57, 2, 1, "", "load_from_path"], [57, 4, 1, "", "n"], [57, 4, 1, "", "netuid"], [57, 4, 1, "", "ranks"], [57, 4, 1, "", "should_sync"], [57, 4, 1, "", "stake"], [57, 4, 1, "", "subtensor"], [57, 4, 1, "", "tao_stake"], [57, 4, 1, "", "total_stake"], [57, 4, 1, "", "trust"], [57, 4, 1, "", "uids"], [57, 4, 1, "", "validator_permit"], [57, 4, 1, "", "validator_trust"], [57, 4, 1, "", "version"], [57, 4, 1, "", "weights"]], "bittensor.core.metagraph.TorchMetagraph": [[57, 4, 1, "", "active"], [57, 4, 1, "", "alpha_stake"], [57, 4, 1, "", "block"], [57, 4, 1, "", "bonds"], [57, 4, 1, "", "consensus"], [57, 4, 1, "", "dividends"], [57, 4, 1, "", "emission"], [57, 4, 1, "", "incentive"], [57, 4, 1, "", "last_update"], [57, 2, 1, "", "load_from_path"], [57, 4, 1, "", "n"], [57, 4, 1, "", "ranks"], [57, 4, 1, "", "stake"], [57, 4, 1, "", "tao_stake"], [57, 4, 1, "", "total_stake"], [57, 4, 1, "", "trust"], [57, 4, 1, "", "uids"], [57, 4, 1, "", "validator_permit"], [57, 4, 1, "", "validator_trust"], [57, 4, 1, "", "version"], [57, 4, 1, "", "weights"]], "bittensor.core.settings": [[58, 6, 1, "", "ARCHIVE_ENTRYPOINT"], [58, 6, 1, "", "BLOCKTIME"], [58, 6, 1, "", "DEFAULTS"], [58, 6, 1, "", "DEFAULT_ENDPOINT"], [58, 6, 1, "", "DEFAULT_NETWORK"], [58, 6, 1, "", "FINNEY_ENTRYPOINT"], [58, 6, 1, "", "FINNEY_TEST_ENTRYPOINT"], [58, 6, 1, "", "HOME_DIR"], [58, 6, 1, "", "LATENT_LITE_ENTRYPOINT"], [58, 6, 1, "", "LOCAL_ENTRYPOINT"], [58, 6, 1, "", "MINERS_DIR"], [58, 6, 1, "", "NETWORKS"], [58, 6, 1, "", "NETWORK_EXPLORER_MAP"], [58, 6, 1, "", "NETWORK_MAP"], [58, 6, 1, "", "PIPADDRESS"], [58, 6, 1, "", "RAO_SYMBOL"], [58, 6, 1, "", "READ_ONLY"], [58, 6, 1, "", "REVERSE_NETWORK_MAP"], [58, 6, 1, "", "ROOT_TAO_STAKE_WEIGHT"], [58, 6, 1, "", "SS58_ADDRESS_LENGTH"], [58, 6, 1, "", "SS58_FORMAT"], [58, 6, 1, "", "SUBVORTEX_ENTRYPOINT"], [58, 6, 1, "", "TAO_SYMBOL"], [58, 6, 1, "", "TYPE_REGISTRY"], [58, 6, 1, "", "USER_BITTENSOR_DIR"], [58, 6, 1, "", "WALLETS_DIR"], [58, 6, 1, "", "version_as_int"], [58, 6, 1, "", "version_split"]], "bittensor.core.stream": [[59, 1, 1, "", "BTStreamingResponseModel"], [59, 1, 1, "", "StreamingSynapse"]], "bittensor.core.stream.BTStreamingResponseModel": [[59, 4, 1, "", "token_streamer"]], "bittensor.core.stream.StreamingSynapse": [[59, 1, 1, "", "BTStreamingResponse"], [59, 2, 1, "", "create_streaming_response"], [59, 2, 1, "", "extract_response_json"], [59, 4, 1, "", "model_config"], [59, 2, 1, "", "process_streaming_response"]], "bittensor.core.stream.StreamingSynapse.BTStreamingResponse": [[59, 2, 1, "", "stream_response"], [59, 4, 1, "", "synapse"], [59, 4, 1, "", "token_streamer"]], "bittensor.core.subtensor": [[60, 1, 1, "", "Subtensor"]], "bittensor.core.subtensor.Subtensor": [[60, 2, 1, "", "add_liquidity"], [60, 2, 1, "", "add_stake"], [60, 2, 1, "", "add_stake_multiple"], [60, 2, 1, "", "all_subnets"], [60, 3, 1, "", "block"], [60, 2, 1, "", "blocks_since_last_step"], [60, 2, 1, "", "blocks_since_last_update"], [60, 2, 1, "", "bonds"], [60, 2, 1, "", "burned_register"], [60, 2, 1, "", "close"], [60, 2, 1, "", "commit"], [60, 2, 1, "", "commit_reveal_enabled"], [60, 2, 1, "", "commit_weights"], [60, 2, 1, "", "determine_block_hash"], [60, 2, 1, "", "difficulty"], [60, 2, 1, "", "does_hotkey_exist"], [60, 2, 1, "", "encode_params"], [60, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [60, 2, 1, "", "get_all_commitments"], [60, 2, 1, "", "get_all_metagraphs_info"], [60, 2, 1, "", "get_all_neuron_certificates"], [60, 2, 1, "", "get_all_revealed_commitments"], [60, 2, 1, "", "get_all_subnets_info"], [60, 2, 1, "", "get_balance"], [60, 2, 1, "", "get_balances"], [60, 2, 1, "", "get_block_hash"], [60, 2, 1, "", "get_children"], [60, 2, 1, "", "get_children_pending"], [60, 2, 1, "", "get_commitment"], [60, 2, 1, "", "get_current_block"], [60, 2, 1, "", "get_current_weight_commit_info"], [60, 2, 1, "", "get_delegate_by_hotkey"], [60, 2, 1, "", "get_delegate_identities"], [60, 2, 1, "", "get_delegate_take"], [60, 2, 1, "", "get_delegated"], [60, 2, 1, "", "get_delegates"], [60, 2, 1, "", "get_existential_deposit"], [60, 2, 1, "", "get_hotkey_owner"], [60, 4, 1, "", "get_hotkey_stake"], [60, 2, 1, "", "get_hyperparameter"], [60, 2, 1, "", "get_last_commitment_bonds_reset_block"], [60, 2, 1, "", "get_liquidity_list"], [60, 2, 1, "", "get_metagraph_info"], [60, 2, 1, "", "get_minimum_required_stake"], [60, 2, 1, "", "get_netuids_for_hotkey"], [60, 2, 1, "", "get_neuron_certificate"], [60, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [60, 2, 1, "", "get_next_epoch_start_block"], [60, 2, 1, "", "get_owned_hotkeys"], [60, 2, 1, "", "get_parents"], [60, 2, 1, "", "get_revealed_commitment"], [60, 2, 1, "", "get_revealed_commitment_by_hotkey"], [60, 2, 1, "", "get_stake"], [60, 2, 1, "", "get_stake_add_fee"], [60, 2, 1, "", "get_stake_for_coldkey"], [60, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [60, 2, 1, "", "get_stake_for_hotkey"], [60, 4, 1, "", "get_stake_info_for_coldkey"], [60, 2, 1, "", "get_stake_movement_fee"], [60, 2, 1, "", "get_stake_operations_fee"], [60, 2, 1, "", "get_subnet_burn_cost"], [60, 2, 1, "", "get_subnet_hyperparameters"], [60, 2, 1, "", "get_subnet_info"], [60, 2, 1, "", "get_subnet_owner_hotkey"], [60, 2, 1, "", "get_subnet_price"], [60, 2, 1, "", "get_subnet_prices"], [60, 2, 1, "", "get_subnet_reveal_period_epochs"], [60, 2, 1, "", "get_subnet_validator_permits"], [60, 2, 1, "", "get_subnets"], [60, 2, 1, "", "get_timestamp"], [60, 2, 1, "", "get_total_subnets"], [60, 2, 1, "", "get_transfer_fee"], [60, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [60, 2, 1, "", "get_unstake_fee"], [60, 2, 1, "", "get_vote_data"], [60, 2, 1, "", "immunity_period"], [60, 2, 1, "", "is_fast_blocks"], [60, 2, 1, "", "is_hotkey_delegate"], [60, 2, 1, "", "is_hotkey_registered"], [60, 2, 1, "", "is_hotkey_registered_any"], [60, 2, 1, "", "is_hotkey_registered_on_subnet"], [60, 2, 1, "", "is_subnet_active"], [60, 2, 1, "", "last_drand_round"], [60, 4, 1, "", "log_verbose"], [60, 2, 1, "", "max_weight_limit"], [60, 2, 1, "", "metagraph"], [60, 2, 1, "", "min_allowed_weights"], [60, 2, 1, "", "modify_liquidity"], [60, 2, 1, "", "move_stake"], [60, 2, 1, "", "neuron_for_uid"], [60, 2, 1, "", "neurons"], [60, 2, 1, "", "neurons_lite"], [60, 2, 1, "", "query_constant"], [60, 2, 1, "", "query_identity"], [60, 2, 1, "", "query_map"], [60, 2, 1, "", "query_map_subtensor"], [60, 2, 1, "", "query_module"], [60, 2, 1, "", "query_runtime_api"], [60, 2, 1, "", "query_subtensor"], [60, 2, 1, "", "recycle"], [60, 2, 1, "", "register"], [60, 2, 1, "", "register_subnet"], [60, 2, 1, "", "remove_liquidity"], [60, 2, 1, "", "reveal_weights"], [60, 2, 1, "", "root_register"], [60, 2, 1, "", "root_set_pending_childkey_cooldown"], [60, 2, 1, "", "root_set_weights"], [60, 2, 1, "", "serve_axon"], [60, 2, 1, "", "set_children"], [60, 4, 1, "", "set_commitment"], [60, 2, 1, "", "set_delegate_take"], [60, 2, 1, "", "set_reveal_commitment"], [60, 2, 1, "", "set_subnet_identity"], [60, 2, 1, "", "set_weights"], [60, 2, 1, "", "sign_and_send_extrinsic"], [60, 2, 1, "", "start_call"], [60, 2, 1, "", "state_call"], [60, 2, 1, "", "subnet"], [60, 2, 1, "", "subnet_exists"], [60, 2, 1, "", "subnetwork_n"], [60, 4, 1, "", "substrate"], [60, 2, 1, "", "swap_stake"], [60, 2, 1, "", "tempo"], [60, 2, 1, "", "toggle_user_liquidity"], [60, 2, 1, "", "transfer"], [60, 2, 1, "", "transfer_stake"], [60, 2, 1, "", "tx_rate_limit"], [60, 2, 1, "", "unstake"], [60, 2, 1, "", "unstake_all"], [60, 2, 1, "", "unstake_multiple"], [60, 2, 1, "", "wait_for_block"], [60, 2, 1, "", "weights"], [60, 2, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api": [[65, 1, 1, "", "SubtensorApi"], [61, 0, 0, "-", "chain"], [62, 0, 0, "-", "commitments"], [63, 0, 0, "-", "delegates"], [64, 0, 0, "-", "extrinsics"], [66, 0, 0, "-", "metagraphs"], [67, 0, 0, "-", "neurons"], [68, 0, 0, "-", "queries"], [69, 0, 0, "-", "staking"], [70, 0, 0, "-", "subnets"], [71, 0, 0, "-", "utils"], [72, 0, 0, "-", "wallets"]], "bittensor.core.subtensor_api.SubtensorApi": [[65, 2, 1, "", "add_args"], [65, 3, 1, "", "block"], [65, 3, 1, "", "chain"], [65, 4, 1, "", "chain_endpoint"], [65, 4, 1, "", "close"], [65, 3, 1, "", "commitments"], [65, 4, 1, "", "config"], [65, 3, 1, "", "delegates"], [65, 4, 1, "", "determine_block_hash"], [65, 4, 1, "", "encode_params"], [65, 3, 1, "", "extrinsics"], [65, 4, 1, "", "help"], [65, 4, 1, "", "initialize"], [65, 4, 1, "", "is_async"], [65, 4, 1, "", "log_verbose"], [65, 3, 1, "", "metagraphs"], [65, 4, 1, "", "network"], [65, 3, 1, "", "neurons"], [65, 3, 1, "", "queries"], [65, 4, 1, "", "setup_config"], [65, 4, 1, "", "sign_and_send_extrinsic"], [65, 3, 1, "", "staking"], [65, 4, 1, "", "start_call"], [65, 3, 1, "", "subnets"], [65, 4, 1, "", "substrate"], [65, 4, 1, "", "wait_for_block"], [65, 3, 1, "", "wallets"]], "bittensor.core.subtensor_api.chain": [[61, 1, 1, "", "Chain"]], "bittensor.core.subtensor_api.chain.Chain": [[61, 4, 1, "", "get_block_hash"], [61, 4, 1, "", "get_current_block"], [61, 4, 1, "", "get_delegate_identities"], [61, 4, 1, "", "get_existential_deposit"], [61, 4, 1, "", "get_minimum_required_stake"], [61, 4, 1, "", "get_timestamp"], [61, 4, 1, "", "get_vote_data"], [61, 4, 1, "", "is_fast_blocks"], [61, 4, 1, "", "last_drand_round"], [61, 4, 1, "", "state_call"], [61, 4, 1, "", "tx_rate_limit"]], "bittensor.core.subtensor_api.commitments": [[62, 1, 1, "", "Commitments"]], "bittensor.core.subtensor_api.commitments.Commitments": [[62, 4, 1, "", "commit_reveal_enabled"], [62, 4, 1, "", "get_all_commitments"], [62, 4, 1, "", "get_all_revealed_commitments"], [62, 4, 1, "", "get_commitment"], [62, 4, 1, "", "get_current_weight_commit_info"], [62, 4, 1, "", "get_last_commitment_bonds_reset_block"], [62, 4, 1, "", "get_revealed_commitment"], [62, 4, 1, "", "get_revealed_commitment_by_hotkey"], [62, 4, 1, "", "set_commitment"], [62, 4, 1, "", "set_reveal_commitment"]], "bittensor.core.subtensor_api.delegates": [[63, 1, 1, "", "Delegates"]], "bittensor.core.subtensor_api.delegates.Delegates": [[63, 4, 1, "", "get_delegate_by_hotkey"], [63, 4, 1, "", "get_delegate_identities"], [63, 4, 1, "", "get_delegate_take"], [63, 4, 1, "", "get_delegated"], [63, 4, 1, "", "get_delegates"], [63, 4, 1, "", "is_hotkey_delegate"], [63, 4, 1, "", "set_delegate_take"]], "bittensor.core.subtensor_api.extrinsics": [[64, 1, 1, "", "Extrinsics"]], "bittensor.core.subtensor_api.extrinsics.Extrinsics": [[64, 4, 1, "", "add_liquidity"], [64, 4, 1, "", "add_stake"], [64, 4, 1, "", "add_stake_multiple"], [64, 4, 1, "", "burned_register"], [64, 4, 1, "", "commit_weights"], [64, 4, 1, "", "modify_liquidity"], [64, 4, 1, "", "move_stake"], [64, 4, 1, "", "register"], [64, 4, 1, "", "register_subnet"], [64, 4, 1, "", "remove_liquidity"], [64, 4, 1, "", "reveal_weights"], [64, 4, 1, "", "root_register"], [64, 4, 1, "", "root_set_pending_childkey_cooldown"], [64, 4, 1, "", "root_set_weights"], [64, 4, 1, "", "serve_axon"], [64, 4, 1, "", "set_children"], [64, 4, 1, "", "set_subnet_identity"], [64, 4, 1, "", "set_weights"], [64, 4, 1, "", "start_call"], [64, 4, 1, "", "swap_stake"], [64, 4, 1, "", "toggle_user_liquidity"], [64, 4, 1, "", "transfer"], [64, 4, 1, "", "transfer_stake"], [64, 4, 1, "", "unstake"], [64, 4, 1, "", "unstake_all"], [64, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.metagraphs": [[66, 1, 1, "", "Metagraphs"]], "bittensor.core.subtensor_api.metagraphs.Metagraphs": [[66, 4, 1, "", "get_all_metagraphs_info"], [66, 4, 1, "", "get_metagraph_info"], [66, 4, 1, "", "metagraph"]], "bittensor.core.subtensor_api.neurons": [[67, 1, 1, "", "Neurons"]], "bittensor.core.subtensor_api.neurons.Neurons": [[67, 4, 1, "", "get_all_neuron_certificates"], [67, 4, 1, "", "get_neuron_certificate"], [67, 4, 1, "", "neuron_for_uid"], [67, 4, 1, "", "neurons"], [67, 4, 1, "", "neurons_lite"], [67, 4, 1, "", "query_identity"]], "bittensor.core.subtensor_api.queries": [[68, 1, 1, "", "Queries"]], "bittensor.core.subtensor_api.queries.Queries": [[68, 4, 1, "", "query_constant"], [68, 4, 1, "", "query_map"], [68, 4, 1, "", "query_map_subtensor"], [68, 4, 1, "", "query_module"], [68, 4, 1, "", "query_runtime_api"], [68, 4, 1, "", "query_subtensor"]], "bittensor.core.subtensor_api.staking": [[69, 1, 1, "", "Staking"]], "bittensor.core.subtensor_api.staking.Staking": [[69, 4, 1, "", "add_stake"], [69, 4, 1, "", "add_stake_multiple"], [69, 4, 1, "", "get_hotkey_stake"], [69, 4, 1, "", "get_minimum_required_stake"], [69, 4, 1, "", "get_stake"], [69, 4, 1, "", "get_stake_add_fee"], [69, 4, 1, "", "get_stake_for_coldkey"], [69, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [69, 4, 1, "", "get_stake_info_for_coldkey"], [69, 4, 1, "", "get_stake_movement_fee"], [69, 4, 1, "", "get_stake_operations_fee"], [69, 4, 1, "", "get_unstake_fee"], [69, 4, 1, "", "unstake"], [69, 4, 1, "", "unstake_all"], [69, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.subnets": [[70, 1, 1, "", "Subnets"]], "bittensor.core.subtensor_api.subnets.Subnets": [[70, 4, 1, "", "all_subnets"], [70, 4, 1, "", "blocks_since_last_step"], [70, 4, 1, "", "blocks_since_last_update"], [70, 4, 1, "", "bonds"], [70, 4, 1, "", "difficulty"], [70, 4, 1, "", "get_all_subnets_info"], [70, 4, 1, "", "get_children"], [70, 4, 1, "", "get_children_pending"], [70, 4, 1, "", "get_current_weight_commit_info"], [70, 4, 1, "", "get_hyperparameter"], [70, 4, 1, "", "get_liquidity_list"], [70, 4, 1, "", "get_neuron_for_pubkey_and_subnet"], [70, 4, 1, "", "get_next_epoch_start_block"], [70, 4, 1, "", "get_parents"], [70, 4, 1, "", "get_subnet_burn_cost"], [70, 4, 1, "", "get_subnet_hyperparameters"], [70, 4, 1, "", "get_subnet_info"], [70, 4, 1, "", "get_subnet_owner_hotkey"], [70, 4, 1, "", "get_subnet_price"], [70, 4, 1, "", "get_subnet_prices"], [70, 4, 1, "", "get_subnet_reveal_period_epochs"], [70, 4, 1, "", "get_subnet_validator_permits"], [70, 4, 1, "", "get_subnets"], [70, 4, 1, "", "get_total_subnets"], [70, 4, 1, "", "get_uid_for_hotkey_on_subnet"], [70, 4, 1, "", "immunity_period"], [70, 4, 1, "", "is_hotkey_registered_on_subnet"], [70, 4, 1, "", "is_subnet_active"], [70, 4, 1, "", "max_weight_limit"], [70, 4, 1, "", "min_allowed_weights"], [70, 4, 1, "", "recycle"], [70, 4, 1, "", "register_subnet"], [70, 4, 1, "", "set_subnet_identity"], [70, 4, 1, "", "subnet"], [70, 4, 1, "", "subnet_exists"], [70, 4, 1, "", "subnetwork_n"], [70, 4, 1, "", "tempo"], [70, 4, 1, "", "weights"], [70, 4, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api.utils": [[71, 5, 1, "", "add_legacy_methods"]], "bittensor.core.subtensor_api.wallets": [[72, 1, 1, "", "Wallets"]], "bittensor.core.subtensor_api.wallets.Wallets": [[72, 4, 1, "", "does_hotkey_exist"], [72, 4, 1, "", "filter_netuids_by_registered_hotkeys"], [72, 4, 1, "", "get_balance"], [72, 4, 1, "", "get_balances"], [72, 4, 1, "", "get_children"], [72, 4, 1, "", "get_children_pending"], [72, 4, 1, "", "get_delegate_by_hotkey"], [72, 4, 1, "", "get_delegate_take"], [72, 4, 1, "", "get_delegated"], [72, 4, 1, "", "get_hotkey_owner"], [72, 4, 1, "", "get_hotkey_stake"], [72, 4, 1, "", "get_minimum_required_stake"], [72, 4, 1, "", "get_netuids_for_hotkey"], [72, 4, 1, "", "get_owned_hotkeys"], [72, 4, 1, "", "get_stake"], [72, 4, 1, "", "get_stake_add_fee"], [72, 4, 1, "", "get_stake_for_coldkey"], [72, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [72, 4, 1, "", "get_stake_for_hotkey"], [72, 4, 1, "", "get_stake_info_for_coldkey"], [72, 4, 1, "", "get_stake_movement_fee"], [72, 4, 1, "", "get_transfer_fee"], [72, 4, 1, "", "get_unstake_fee"], [72, 4, 1, "", "is_hotkey_delegate"], [72, 4, 1, "", "is_hotkey_registered"], [72, 4, 1, "", "is_hotkey_registered_any"]], "bittensor.core.synapse": [[73, 1, 1, "", "Synapse"], [73, 1, 1, "", "TerminalInfo"], [73, 5, 1, "", "cast_float"], [73, 5, 1, "", "cast_int"], [73, 5, 1, "", "get_size"]], "bittensor.core.synapse.Synapse": [[73, 2, 1, "", "__setattr__"], [73, 4, 1, "", "axon"], [73, 3, 1, "id0", "body_hash"], [73, 4, 1, "", "computed_body_hash"], [73, 4, 1, "", "dendrite"], [73, 2, 1, "id1", "deserialize"], [73, 3, 1, "", "failed_verification"], [73, 2, 1, "id2", "from_headers"], [73, 2, 1, "", "get_required_fields"], [73, 2, 1, "id3", "get_total_size"], [73, 4, 1, "", "header_size"], [73, 3, 1, "", "is_blacklist"], [73, 3, 1, "", "is_failure"], [73, 3, 1, "", "is_success"], [73, 3, 1, "", "is_timeout"], [73, 4, 1, "", "model_config"], [73, 4, 1, "", "name"], [73, 2, 1, "id4", "parse_headers_to_inputs"], [73, 4, 1, "", "required_hash_fields"], [73, 2, 1, "", "set_name_type"], [73, 4, 1, "", "timeout"], [73, 2, 1, "id5", "to_headers"], [73, 4, 1, "", "total_size"]], "bittensor.core.synapse.TerminalInfo": [[73, 4, 1, "", "hotkey"], [73, 4, 1, "", "ip"], [73, 4, 1, "", "model_config"], [73, 4, 1, "", "nonce"], [73, 4, 1, "", "port"], [73, 4, 1, "", "process_time"], [73, 4, 1, "", "signature"], [73, 4, 1, "", "status_code"], [73, 4, 1, "", "status_message"], [73, 4, 1, "", "uuid"], [73, 4, 1, "", "version"]], "bittensor.core.tensor": [[74, 1, 1, "", "DTypes"], [74, 1, 1, "", "Tensor"], [74, 5, 1, "", "cast_dtype"], [74, 5, 1, "", "cast_shape"], [74, 6, 1, "", "dtypes"], [74, 1, 1, "", "tensor"]], "bittensor.core.tensor.DTypes": [[74, 4, 1, "", "torch"]], "bittensor.core.tensor.Tensor": [[74, 4, 1, "", "buffer"], [74, 2, 1, "", "deserialize"], [74, 4, 1, "", "dtype"], [74, 4, 1, "", "model_config"], [74, 2, 1, "", "numpy"], [74, 2, 1, "", "serialize"], [74, 4, 1, "", "shape"], [74, 2, 1, "", "tensor"], [74, 2, 1, "", "tolist"]], "bittensor.core.threadpool": [[75, 7, 1, "", "BrokenThreadPool"], [75, 6, 1, "", "NULL_ENTRY"], [75, 1, 1, "", "PriorityThreadPoolExecutor"], [75, 6, 1, "", "logger"]], "bittensor.core.threadpool.PriorityThreadPoolExecutor": [[75, 2, 1, "", "add_args"], [75, 2, 1, "", "config"], [75, 3, 1, "", "is_empty"], [75, 2, 1, "", "shutdown"], [75, 2, 1, "", "submit"]], "bittensor.core.timelock": [[76, 5, 1, "", "decrypt"], [76, 5, 1, "", "encrypt"], [76, 5, 1, "", "wait_reveal_and_decrypt"]], "bittensor.core.types": [[77, 1, 1, "", "AxonServeCallParams"], [77, 1, 1, "", "ParamWithTypes"], [77, 1, 1, "", "PrometheusServeCallParams"], [77, 1, 1, "", "SubtensorMixin"]], "bittensor.core.types.AxonServeCallParams": [[77, 4, 1, "", "certificate"], [77, 4, 1, "", "coldkey"], [77, 2, 1, "", "copy"], [77, 2, 1, "", "dict"], [77, 4, 1, "", "hotkey"], [77, 4, 1, "", "ip"], [77, 4, 1, "", "ip_type"], [77, 4, 1, "", "netuid"], [77, 4, 1, "", "placeholder1"], [77, 4, 1, "", "placeholder2"], [77, 4, 1, "", "port"], [77, 4, 1, "", "protocol"], [77, 4, 1, "", "version"]], "bittensor.core.types.ParamWithTypes": [[77, 4, 1, "", "name"], [77, 4, 1, "", "type"]], "bittensor.core.types.PrometheusServeCallParams": [[77, 4, 1, "", "ip"], [77, 4, 1, "", "ip_type"], [77, 4, 1, "", "netuid"], [77, 4, 1, "", "port"], [77, 4, 1, "", "version"]], "bittensor.core.types.SubtensorMixin": [[77, 2, 1, "", "add_args"], [77, 4, 1, "", "chain_endpoint"], [77, 2, 1, "", "config"], [77, 2, 1, "", "help"], [77, 4, 1, "", "log_verbose"], [77, 4, 1, "", "network"], [77, 2, 1, "", "setup_config"]], "bittensor.utils": [[89, 6, 1, "", "BT_DOCS_LINK"], [89, 1, 1, "", "Certificate"], [89, 6, 1, "", "RAOPERTAO"], [89, 6, 1, "", "U16_MAX"], [89, 6, 1, "", "U64_MAX"], [89, 1, 1, "", "UnlockStatus"], [89, 6, 1, "", "VersionCheckError"], [79, 0, 0, "-", "axon_utils"], [80, 0, 0, "-", "balance"], [85, 0, 0, "-", "btlogging"], [89, 6, 1, "", "check_version"], [89, 5, 1, "", "decode_hex_identity_dict"], [89, 5, 1, "", "determine_chain_endpoint_and_network"], [87, 0, 0, "-", "easy_imports"], [89, 5, 1, "", "float_to_u64"], [89, 5, 1, "", "format_error_message"], [88, 0, 0, "-", "formatting"], [89, 5, 1, "", "get_explorer_url_for_network"], [89, 5, 1, "", "get_hash"], [89, 6, 1, "", "hex_to_bytes"], [89, 5, 1, "", "is_valid_bittensor_address_or_public_key"], [89, 5, 1, "", "is_valid_ss58_address"], [90, 0, 0, "-", "liquidity"], [89, 6, 1, "", "logging"], [91, 0, 0, "-", "mock"], [93, 0, 0, "-", "networking"], [95, 0, 0, "-", "registration"], [89, 5, 1, "", "ss58_address_to_bytes"], [89, 6, 1, "", "ss58_decode"], [89, 5, 1, "", "ss58_to_vec_u8"], [89, 5, 1, "", "strtobool"], [98, 0, 0, "-", "subnets"], [100, 0, 0, "-", "substrate_utils"], [89, 6, 1, "", "torch"], [89, 5, 1, "", "u16_normalized_float"], [89, 5, 1, "", "u64_normalized_float"], [89, 5, 1, "", "unlock_key"], [89, 6, 1, "", "use_torch"], [89, 5, 1, "", "validate_chain_endpoint"], [102, 0, 0, "-", "version"], [89, 6, 1, "", "version_checking"], [103, 0, 0, "-", "weight_utils"]], "bittensor.utils.UnlockStatus": [[89, 4, 1, "", "message"], [89, 4, 1, "", "success"]], "bittensor.utils.axon_utils": [[79, 6, 1, "", "ALLOWED_DELTA"], [79, 6, 1, "", "NANOSECONDS_IN_SECOND"], [79, 5, 1, "", "allowed_nonce_window_ns"], [79, 5, 1, "", "calculate_diff_seconds"]], "bittensor.utils.balance": [[80, 1, 1, "", "Balance"], [80, 1, 1, "", "FixedPoint"], [80, 5, 1, "", "check_and_convert_to_balance"], [80, 5, 1, "", "fixed_to_float"], [80, 5, 1, "", "rao"], [80, 5, 1, "", "tao"]], "bittensor.utils.balance.Balance": [[80, 2, 1, "", "from_float"], [80, 2, 1, "", "from_rao"], [80, 2, 1, "", "from_tao"], [80, 2, 1, "", "get_unit"], [80, 4, 1, "", "netuid"], [80, 4, 1, "", "rao"], [80, 4, 1, "", "rao_unit"], [80, 2, 1, "", "set_unit"], [80, 3, 1, "", "tao"], [80, 4, 1, "", "unit"]], "bittensor.utils.balance.FixedPoint": [[80, 4, 1, "", "bits"]], "bittensor.utils.btlogging": [[81, 0, 0, "-", "console"], [82, 0, 0, "-", "defines"], [83, 0, 0, "-", "format"], [84, 0, 0, "-", "helpers"], [85, 6, 1, "", "logging"], [86, 0, 0, "-", "loggingmachine"]], "bittensor.utils.btlogging.console": [[81, 1, 1, "", "BittensorConsole"]], "bittensor.utils.btlogging.console.BittensorConsole": [[81, 2, 1, "", "critical"], [81, 2, 1, "", "debug"], [81, 2, 1, "", "error"], [81, 2, 1, "", "info"], [81, 4, 1, "", "logger"], [81, 2, 1, "", "success"], [81, 2, 1, "", "warning"]], "bittensor.utils.btlogging.defines": [[82, 6, 1, "", "BASE_LOG_FORMAT"], [82, 6, 1, "", "BITTENSOR_LOGGER_NAME"], [82, 6, 1, "", "DATE_FORMAT"], [82, 6, 1, "", "DEFAULT_LOG_BACKUP_COUNT"], [82, 6, 1, "", "DEFAULT_LOG_FILE_NAME"], [82, 6, 1, "", "DEFAULT_MAX_ROTATING_LOG_FILE_SIZE"], [82, 6, 1, "", "TRACE_LOG_FORMAT"]], "bittensor.utils.btlogging.format": [[83, 1, 1, "", "BtFileFormatter"], [83, 1, 1, "", "BtStreamFormatter"], [83, 6, 1, "", "DEFAULT_LOG_FORMAT"], [83, 6, 1, "", "DEFAULT_TRACE_FORMAT"], [83, 6, 1, "", "LOG_FORMATS"], [83, 6, 1, "", "LOG_TRACE_FORMATS"], [83, 6, 1, "", "SUCCESS_LEVEL_NUM"], [83, 6, 1, "", "TRACE_LEVEL_NUM"], [83, 6, 1, "", "color_map"], [83, 6, 1, "", "emoji_map"], [83, 6, 1, "", "log_level_color_prefix"]], "bittensor.utils.btlogging.format.BtFileFormatter": [[83, 2, 1, "", "format"], [83, 2, 1, "", "formatTime"]], "bittensor.utils.btlogging.format.BtStreamFormatter": [[83, 2, 1, "", "format"], [83, 2, 1, "", "formatTime"], [83, 2, 1, "", "set_trace"], [83, 4, 1, "", "trace"]], "bittensor.utils.btlogging.helpers": [[84, 5, 1, "", "all_logger_names"], [84, 5, 1, "", "all_loggers"], [84, 5, 1, "", "get_max_logger_name_length"]], "bittensor.utils.btlogging.loggingmachine": [[86, 6, 1, "", "CUSTOM_LOGGER_METHOD_STACK_LEVEL"], [86, 1, 1, "", "LoggingConfig"], [86, 1, 1, "", "LoggingMachine"]], "bittensor.utils.btlogging.loggingmachine.LoggingConfig": [[86, 4, 1, "", "debug"], [86, 4, 1, "", "info"], [86, 4, 1, "", "logging_dir"], [86, 4, 1, "", "record_log"], [86, 4, 1, "", "trace"]], "bittensor.utils.btlogging.loggingmachine.LoggingMachine": [[86, 4, 1, "", "Debug"], [86, 4, 1, "", "Default"], [86, 4, 1, "", "Disabled"], [86, 4, 1, "", "Info"], [86, 4, 1, "", "Trace"], [86, 4, 1, "", "Warning"], [86, 2, 1, "", "add_args"], [86, 2, 1, "", "after_disable_debug"], [86, 2, 1, "", "after_disable_trace"], [86, 2, 1, "", "after_enable_debug"], [86, 2, 1, "", "after_enable_default"], [86, 2, 1, "", "after_enable_info"], [86, 2, 1, "", "after_enable_trace"], [86, 2, 1, "", "after_enable_warning"], [86, 2, 1, "", "after_transition"], [86, 2, 1, "", "before_disable_debug"], [86, 2, 1, "", "before_disable_logging"], [86, 2, 1, "", "before_disable_trace"], [86, 2, 1, "", "before_enable_console"], [86, 2, 1, "", "before_enable_debug"], [86, 2, 1, "", "before_enable_default"], [86, 2, 1, "", "before_enable_info"], [86, 2, 1, "", "before_enable_trace"], [86, 2, 1, "", "before_enable_warning"], [86, 2, 1, "", "before_transition"], [86, 2, 1, "", "check_config"], [86, 2, 1, "", "config"], [86, 4, 1, "", "console"], [86, 2, 1, "", "critical"], [86, 2, 1, "", "debug"], [86, 2, 1, "", "deregister_primary_logger"], [86, 4, 1, "", "disable_debug"], [86, 4, 1, "", "disable_info"], [86, 4, 1, "", "disable_logging"], [86, 2, 1, "", "disable_third_party_loggers"], [86, 4, 1, "", "disable_trace"], [86, 4, 1, "", "disable_warning"], [86, 4, 1, "", "enable_console"], [86, 4, 1, "", "enable_debug"], [86, 4, 1, "", "enable_default"], [86, 4, 1, "", "enable_info"], [86, 2, 1, "", "enable_third_party_loggers"], [86, 4, 1, "", "enable_trace"], [86, 4, 1, "", "enable_warning"], [86, 2, 1, "", "error"], [86, 2, 1, "", "exception"], [86, 2, 1, "", "get_config"], [86, 2, 1, "", "get_level"], [86, 2, 1, "", "get_queue"], [86, 2, 1, "", "help"], [86, 2, 1, "", "info"], [86, 2, 1, "", "off"], [86, 2, 1, "", "on"], [86, 2, 1, "", "register_primary_logger"], [86, 2, 1, "", "setLevel"], [86, 2, 1, "", "set_config"], [86, 2, 1, "", "set_console"], [86, 2, 1, "", "set_debug"], [86, 2, 1, "", "set_default"], [86, 2, 1, "", "set_info"], [86, 2, 1, "", "set_trace"], [86, 2, 1, "", "set_warning"], [86, 2, 1, "", "success"], [86, 2, 1, "", "trace"], [86, 2, 1, "", "warning"]], "bittensor.utils.easy_imports": [[87, 6, 1, "", "async_subtensor"], [87, 6, 1, "", "axon"], [87, 6, 1, "", "config"], [87, 5, 1, "", "debug"], [87, 6, 1, "", "dendrite"], [87, 6, 1, "", "extrinsics_subpackage"], [87, 5, 1, "", "info"], [87, 6, 1, "", "keyfile"], [87, 6, 1, "", "metagraph"], [87, 6, 1, "", "mock_subpackage"], [87, 6, 1, "", "subtensor"], [87, 6, 1, "", "synapse"], [87, 5, 1, "", "trace"], [87, 6, 1, "", "wallet"], [87, 5, 1, "", "warning"]], "bittensor.utils.formatting": [[88, 5, 1, "", "get_human_readable"], [88, 5, 1, "", "millify"]], "bittensor.utils.liquidity": [[90, 1, 1, "", "LiquidityPosition"], [90, 6, 1, "", "MAX_TICK"], [90, 6, 1, "", "MIN_TICK"], [90, 6, 1, "", "PRICE_STEP"], [90, 5, 1, "", "calculate_fees"], [90, 5, 1, "", "get_fees"], [90, 5, 1, "", "get_fees_in_range"], [90, 5, 1, "", "price_to_tick"], [90, 5, 1, "", "tick_to_price"]], "bittensor.utils.liquidity.LiquidityPosition": [[90, 4, 1, "", "fees_alpha"], [90, 4, 1, "", "fees_tao"], [90, 4, 1, "", "id"], [90, 4, 1, "", "liquidity"], [90, 4, 1, "", "netuid"], [90, 4, 1, "", "price_high"], [90, 4, 1, "", "price_low"], [90, 2, 1, "", "to_token_amounts"]], "bittensor.utils.mock": [[92, 0, 0, "-", "subtensor_mock"]], "bittensor.utils.mock.subtensor_mock": [[92, 1, 1, "", "AxonInfoDict"], [92, 6, 1, "", "BlockNumber"], [92, 1, 1, "", "InfoDict"], [92, 1, 1, "", "MockChainState"], [92, 1, 1, "", "MockMapResult"], [92, 1, 1, "", "MockSubtensor"], [92, 1, 1, "", "MockSubtensorState"], [92, 1, 1, "", "MockSubtensorValue"], [92, 1, 1, "", "MockSystemState"], [92, 1, 1, "", "PrometheusInfoDict"], [92, 1, 1, "", "ReusableCoroutine"]], "bittensor.utils.mock.subtensor_mock.AxonInfoDict": [[92, 4, 1, "", "block"], [92, 2, 1, "", "default"], [92, 4, 1, "", "ip"], [92, 4, 1, "", "ip_type"], [92, 4, 1, "", "placeholder1"], [92, 4, 1, "", "placeholder2"], [92, 4, 1, "", "port"], [92, 4, 1, "", "protocol"], [92, 4, 1, "", "version"]], "bittensor.utils.mock.subtensor_mock.InfoDict": [[92, 2, 1, "", "default"]], "bittensor.utils.mock.subtensor_mock.MockChainState": [[92, 4, 1, "", "SubtensorModule"], [92, 4, 1, "", "System"]], "bittensor.utils.mock.subtensor_mock.MockMapResult": [[92, 4, 1, "", "records"]], "bittensor.utils.mock.subtensor_mock.MockSubtensor": [[92, 4, 1, "", "block_number"], [92, 4, 1, "", "chain_state"], [92, 2, 1, "", "commit"], [92, 2, 1, "", "create_subnet"], [92, 2, 1, "", "do_block_step"], [92, 2, 1, "", "do_serve_axon"], [92, 2, 1, "", "do_serve_prometheus"], [92, 2, 1, "", "do_set_weights"], [92, 2, 1, "", "do_transfer"], [92, 2, 1, "", "force_register_neuron"], [92, 2, 1, "", "force_set_balance"], [92, 2, 1, "", "get_balance"], [92, 2, 1, "", "get_block_hash"], [92, 2, 1, "", "get_commitment"], [92, 2, 1, "", "get_current_block"], [92, 2, 1, "", "get_transfer_fee"], [92, 2, 1, "", "min_required_stake"], [92, 2, 1, "", "neuron_for_uid"], [92, 2, 1, "", "neuron_for_uid_lite"], [92, 2, 1, "", "neurons"], [92, 2, 1, "", "neurons_lite"], [92, 2, 1, "", "query_constant"], [92, 2, 1, "", "query_map_subtensor"], [92, 2, 1, "", "query_subtensor"], [92, 2, 1, "", "reset"], [92, 2, 1, "", "set_difficulty"], [92, 2, 1, "", "setup"], [92, 4, 1, "", "sudo_force_set_balance"]], "bittensor.utils.mock.subtensor_mock.MockSubtensorState": [[92, 4, 1, "", "Active"], [92, 4, 1, "", "Delegates"], [92, 4, 1, "", "Difficulty"], [92, 4, 1, "", "ImmunityPeriod"], [92, 4, 1, "", "Kappa"], [92, 4, 1, "", "NetworksAdded"], [92, 4, 1, "", "Rho"], [92, 4, 1, "", "Stake"], [92, 4, 1, "", "ValidatorBatchSize"]], "bittensor.utils.mock.subtensor_mock.MockSubtensorValue": [[92, 4, 1, "", "value"]], "bittensor.utils.mock.subtensor_mock.MockSystemState": [[92, 4, 1, "", "Account"]], "bittensor.utils.mock.subtensor_mock.PrometheusInfoDict": [[92, 4, 1, "", "block"], [92, 2, 1, "", "default"], [92, 4, 1, "", "ip"], [92, 4, 1, "", "ip_type"], [92, 4, 1, "", "port"], [92, 4, 1, "", "version"]], "bittensor.utils.mock.subtensor_mock.ReusableCoroutine": [[92, 4, 1, "", "coroutine"], [92, 2, 1, "", "reset"]], "bittensor.utils.networking": [[93, 7, 1, "", "ExternalIPNotFound"], [93, 5, 1, "", "get_external_ip"], [93, 5, 1, "", "get_formatted_ws_endpoint_url"], [93, 5, 1, "", "int_to_ip"], [93, 5, 1, "", "ip__str__"], [93, 5, 1, "", "ip_to_int"], [93, 5, 1, "", "ip_version"]], "bittensor.utils.registration": [[94, 0, 0, "-", "async_pow"], [96, 0, 0, "-", "pow"], [97, 0, 0, "-", "register_cuda"]], "bittensor.utils.registration.async_pow": [[94, 5, 1, "", "create_pow_async"]], "bittensor.utils.registration.pow": [[96, 1, 1, "", "CUDASolver"], [96, 1, 1, "", "Console"], [96, 1, 1, "", "LazyLoadedTorch"], [96, 1, 1, "", "POWSolution"], [96, 1, 1, "", "RegistrationStatistics"], [96, 1, 1, "", "RegistrationStatisticsLogger"], [96, 1, 1, "", "Solver"], [96, 1, 1, "", "Status"], [96, 1, 1, "", "UsingSpawnStartMethod"], [96, 5, 1, "", "create_pow"], [96, 5, 1, "", "get_cpu_count"], [96, 5, 1, "", "legacy_torch_api_compat"], [96, 5, 1, "", "log_no_torch_error"], [96, 5, 1, "", "terminate_workers_and_wait_for_exit"], [96, 6, 1, "", "torch"], [96, 5, 1, "", "update_curr_block"], [96, 5, 1, "", "use_torch"]], "bittensor.utils.registration.pow.CUDASolver": [[96, 4, 1, "", "dev_id"], [96, 2, 1, "", "run"], [96, 4, 1, "", "tpb"]], "bittensor.utils.registration.pow.Console": [[96, 2, 1, "", "log"], [96, 2, 1, "", "status"]], "bittensor.utils.registration.pow.POWSolution": [[96, 4, 1, "", "block_number"], [96, 4, 1, "", "difficulty"], [96, 2, 1, "", "is_stale"], [96, 2, 1, "", "is_stale_async"], [96, 4, 1, "", "nonce"], [96, 4, 1, "", "seal"]], "bittensor.utils.registration.pow.RegistrationStatistics": [[96, 4, 1, "", "block_hash"], [96, 4, 1, "", "block_number"], [96, 4, 1, "", "difficulty"], [96, 4, 1, "", "hash_rate"], [96, 4, 1, "", "hash_rate_perpetual"], [96, 4, 1, "", "rounds_total"], [96, 4, 1, "", "time_average"], [96, 4, 1, "", "time_spent"], [96, 4, 1, "", "time_spent_total"]], "bittensor.utils.registration.pow.RegistrationStatisticsLogger": [[96, 4, 1, "", "console"], [96, 2, 1, "", "get_status_message"], [96, 2, 1, "", "start"], [96, 4, 1, "", "status"], [96, 2, 1, "", "stop"], [96, 2, 1, "", "update"]], "bittensor.utils.registration.pow.Solver": [[96, 2, 1, "", "run"]], "bittensor.utils.registration.pow.Status": [[96, 2, 1, "", "start"], [96, 2, 1, "", "stop"], [96, 2, 1, "", "update"]], "bittensor.utils.registration.register_cuda": [[97, 5, 1, "", "log_cuda_errors"], [97, 5, 1, "", "reset_cuda"], [97, 5, 1, "", "solve_cuda"]], "bittensor.utils.subnets": [[98, 1, 1, "", "SubnetsAPI"]], "bittensor.utils.subnets.SubnetsAPI": [[98, 4, 1, "", "dendrite"], [98, 2, 1, "", "prepare_synapse"], [98, 2, 1, "", "process_responses"], [98, 2, 1, "", "query_api"], [98, 4, 1, "", "wallet"]], "bittensor.utils.substrate_utils": [[99, 0, 0, "-", "hasher"], [101, 0, 0, "-", "storage"]], "bittensor.utils.substrate_utils.hasher": [[99, 5, 1, "", "blake2_128"], [99, 5, 1, "", "blake2_128_concat"], [99, 5, 1, "", "blake2_256"], [99, 5, 1, "", "identity"], [99, 5, 1, "", "two_x64_concat"], [99, 5, 1, "", "xxh128"], [99, 5, 1, "", "xxh64"]], "bittensor.utils.substrate_utils.storage": [[101, 1, 1, "", "StorageKey"]], "bittensor.utils.substrate_utils.storage.StorageKey": [[101, 2, 1, "", "convert_storage_parameter"], [101, 2, 1, "", "create_from_data"], [101, 2, 1, "", "create_from_storage_function"], [101, 4, 1, "", "data"], [101, 2, 1, "", "decode_scale_value"], [101, 2, 1, "", "generate"], [101, 4, 1, "", "metadata"], [101, 4, 1, "", "metadata_storage_function"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "params"], [101, 4, 1, "", "params_encoded"], [101, 4, 1, "", "runtime_config"], [101, 4, 1, "", "storage_function"], [101, 2, 1, "", "to_hex"], [101, 4, 1, "", "value_scale_type"]], "bittensor.utils.version": [[102, 6, 1, "", "VERSION_CHECK_THRESHOLD"], [102, 7, 1, "", "VersionCheckError"], [102, 5, 1, "", "check_latest_version_in_pypi"], [102, 5, 1, "", "check_version"], [102, 5, 1, "", "get_and_save_latest_version"], [102, 5, 1, "", "version_checking"]], "bittensor.utils.weight_utils": [[103, 6, 1, "", "U16_MAX"], [103, 6, 1, "", "U32_MAX"], [103, 5, 1, "", "convert_and_normalize_weights_and_uids"], [103, 5, 1, "", "convert_bond_uids_and_vals_to_tensor"], [103, 5, 1, "", "convert_root_weight_uids_and_vals_to_tensor"], [103, 5, 1, "", "convert_uids_and_weights"], [103, 5, 1, "", "convert_weight_uids_and_vals_to_tensor"], [103, 5, 1, "", "convert_weights_and_uids_for_emit"], [103, 5, 1, "", "generate_weight_hash"], [103, 5, 1, "", "normalize_max_weight"], [103, 5, 1, "", "process_weights"], [103, 5, 1, "", "process_weights_for_netuid"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"], "7": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:function", "6": "py:data", "7": "py:exception"}, "terms": {"": [0, 1, 4, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 73, 74, 77, 80, 82, 83, 84, 89, 92, 94, 96, 98, 101, 103], "0": [0, 1, 2, 10, 24, 27, 30, 31, 32, 33, 34, 38, 39, 41, 45, 46, 47, 48, 49, 50, 54, 58, 60, 65, 73, 76, 79, 80, 87, 89, 92, 93, 94, 96, 97, 103], "0001": 90, "005": [0, 30, 34, 38, 45, 50, 54, 60], "0x0813029319030129u4120u10841824y0182u091u230912u": 73, "0x1234": 0, "1": [0, 1, 10, 21, 57, 60, 73, 74, 75, 76, 77, 86, 89, 90, 92, 97, 103, 104], "10": [0, 10, 21, 24, 73, 76, 80, 82], "100": [0, 60], "1000": [4, 5], "1000000": 0, "1000000000": [79, 89], "1024": 1, "11": [10, 21], "111": 73, "111111": 73, "113": 1, "11ee": 73, "12": [0, 10, 21, 24, 27, 41, 58, 60, 76, 98], "120": [0, 60], "1200": 57, "122": [33, 48], "123": [0, 57, 60, 73, 76], "1234": [0, 60], "12345": 57, "127": 73, "128": [33, 48, 80], "13": [10, 21], "137": 83, "14": [0, 10, 21, 60], "147": [0, 60], "15": [10, 21, 73, 76, 102], "152": [0, 60], "16": [0, 10, 21, 60, 99], "17": 10, "18": [10, 58], "18446744073709551615": 89, "19": 10, "192": [1, 33, 48], "198": 73, "1cec": 73, "1m": 0, "2": [0, 1, 10, 21, 57, 60, 73, 74, 77, 83, 86, 92, 99], "20": 10, "200": 73, "203": 1, "21": [10, 83], "22": 10, "23": [10, 73], "24": 10, "25": [10, 76], "256": [0, 31, 46, 60, 73, 94, 96], "26": 10, "26214400": 82, "27": 10, "28": 10, "29": 10, "3": [0, 10, 21, 31, 46, 60, 73, 76, 77, 83, 86, 87, 93, 96], "30": [10, 73], "300": [57, 89], "31": [10, 33, 48], "32": [10, 94, 96, 99], "33": 10, "3339": 83, "34": [10, 83], "35": 10, "36": 10, "360": [0, 60], "37": 10, "38": [10, 93], "39": 10, "3rd": 86, "4": [2, 10, 21, 33, 48, 73, 77, 93], "40": 10, "400": 1, "4000000000": 79, "401": 73, "4028237e": 93, "403": 73, "408": 73, "41": 10, "42": [10, 58], "422": 24, "4294967295": 103, "43": 10, "44": 10, "443": 58, "45": 10, "46": 10, "47": 10, "48": [10, 58], "49": 10, "5": [0, 10, 21, 25, 30, 34, 38, 45, 50, 54, 60, 65, 76, 77, 83], "50": 10, "51": 10, "52": 10, "53": 10, "54": 10, "55": 10, "56": 10, "57": 10, "58": 10, "59": 10, "5ecbd69c": 73, "5enjdgnqqwnul2hcadxeetn2oqtxzw6bmbe936kfy2pfz1j1": 73, "5f": 0, "5fhnew46xgxgs5muiveu4sbtygbzmstuspzc92uhjjm694ti": [0, 60], "5g": 0, "5grwvaef5zxb26fz9rcqpdws57cterhpnehxcpcnohgkutqi": [0, 60], "5h": 0, "6": [10, 21, 57, 93], "60": 10, "61": 10, "62": 10, "63": 10, "64": [10, 80, 97], "65": 10, "65535": [1, 89, 103], "66": 10, "67": 10, "68": 10, "69": 10, "7": [10, 21, 87], "70": 10, "7002000": 1, "7070": 1, "71": 10, "72": 10, "8": [0, 10, 21, 39, 49, 60, 73, 89], "8080": 73, "86400": 102, "887272": 90, "9": [10, 21, 80], "9090": 1, "9221": [33, 48], "9282": 73, "9944": 58, "9945": 65, "A": [0, 1, 2, 11, 12, 17, 21, 22, 23, 24, 25, 26, 27, 31, 33, 38, 40, 41, 46, 48, 54, 55, 57, 59, 60, 73, 75, 76, 77, 79, 80, 83, 86, 89, 92, 96, 101], "AS": 57, "And": [0, 60], "As": 92, "Being": [0, 60], "But": 24, "By": [0, 1, 38, 54, 60, 73], "For": [0, 24, 38, 54, 57, 60, 73, 74, 76, 77, 92], "If": [0, 1, 2, 6, 21, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 60, 65, 71, 73, 74, 75, 76, 77, 79, 80, 83, 87, 89, 92, 94, 96, 103], "In": [0, 24, 57, 60, 73, 93], "It": [0, 1, 24, 33, 48, 57, 59, 60, 73, 75, 76, 77, 80, 84, 85, 86, 92, 96], "Not": 73, "Of": 93, "Or": [0, 89], "The": [0, 1, 2, 9, 11, 12, 13, 15, 16, 17, 21, 22, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 65, 73, 74, 75, 76, 77, 79, 80, 83, 84, 87, 89, 90, 92, 93, 94, 96, 97, 98, 102, 103], "Then": 60, "There": [0, 26, 40], "These": [0, 1, 32, 39, 47, 49, 57, 60, 73, 103], "To": [0, 60, 86], "Will": [0, 60, 65, 92], "With": [0, 60], "__repr__": 24, "__setattr__": 73, "__str__": [24, 89], "_base": 75, "_do_reveal_weight": [39, 42], "_mock": [0, 60, 77, 92], "_primary_logg": 86, "_solverbas": 96, "abc": [57, 59, 77, 92, 98], "abil": [1, 57, 81], "abl": 24, "about": [0, 1, 2, 15, 57, 60, 73, 92], "abov": [24, 37, 53, 83, 90], "absolut": 24, "abstract": [24, 57, 59, 98, 101], "abstractmethod": [23, 92], "abus": 1, "accept": [1, 75, 86], "access": [0, 1, 24, 57, 60, 65, 73, 92, 103], "accord": [1, 33, 48, 59, 73], "account": [0, 21, 25, 32, 34, 37, 39, 47, 49, 50, 53, 60, 92, 103], "account_id_byt": 21, "accountid": [15, 21, 22], "accru": 57, "accrual": [0, 60], "accumul": [57, 59], "accur": [23, 25, 57, 73, 74, 75, 77, 80, 89, 92, 93, 102], "achiev": 57, "aclose_sess": 24, "across": [0, 55, 57, 60, 73, 96], "act": [0, 1, 24, 57, 60], "action": [0, 60, 86], "activ": [0, 1, 10, 11, 12, 17, 20, 24, 34, 50, 57, 60, 84, 92, 98], "activity_cutoff": [10, 17], "activitycutoff": 10, "actual": [0, 1, 33, 48, 60], "ad": [0, 1, 29, 44, 60, 65, 71, 77, 83, 86], "adapt": [1, 57], "add": [0, 1, 29, 34, 44, 50, 60, 73, 77, 83, 86, 103], "add_arg": [1, 23, 65, 75, 77, 86], "add_legacy_method": 71, "add_liquid": [0, 60, 64], "add_liquidity_extrins": [29, 44], "add_stak": [0, 60, 64, 69], "add_stake_extrins": [34, 50], "add_stake_multipl": [0, 60, 64, 69], "add_stake_multiple_extrins": [34, 50], "addit": [0, 3, 4, 18, 26, 31, 40, 46, 57, 59, 60, 73, 103], "addition": [1, 73], "additional_data": 73, "address": [0, 1, 2, 4, 9, 13, 16, 21, 22, 24, 26, 30, 34, 36, 37, 38, 40, 45, 50, 52, 53, 54, 55, 57, 60, 73, 87, 89, 92, 103], "adher": 24, "adjust": [0, 17, 60], "adjustment_alpha": [10, 17], "adjustment_interv": [10, 17], "adjustmentalpha": 10, "adjustmentinterv": 10, "advanc": [0, 60], "adversari": 1, "advis": [1, 24, 57], "after": [0, 1, 15, 17, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 65, 73, 75, 76, 86, 92, 96, 103], "after_disable_debug": 86, "after_disable_trac": 86, "after_enable_debug": 86, "after_enable_default": 86, "after_enable_info": 86, "after_enable_trac": 86, "after_enable_warn": 86, "after_transit": 86, "ag": 76, "against": [0, 1, 30, 45, 60], "agre": 57, "agreement": 57, "ai": [57, 58], "aid": [0, 60, 73], "aiohttp": [24, 59], "akin": 57, "algorithm": [0, 1, 33, 48, 57, 60], "alic": [0, 60], "align": [0, 57, 60], "aliv": [0, 37, 53, 60], "all": [0, 1, 24, 25, 34, 37, 38, 50, 53, 54, 55, 57, 60, 65, 71, 75, 84, 86, 92, 93, 96, 101], "all_hotkei": [0, 60], "all_indic": 10, "all_logg": 84, "all_logger_nam": 84, "all_netuid": [0, 60], "all_stak": 55, "all_subnet": [0, 60, 70], "alloc": [0, 57, 60], "allow": [0, 1, 4, 5, 17, 26, 29, 30, 34, 38, 40, 44, 45, 50, 54, 57, 59, 60, 73, 74, 79, 83, 87, 92, 103], "allow_partial_stak": [0, 30, 34, 38, 45, 50, 54, 60], "allowed_delta": 79, "allowed_nonce_window_n": 79, "along": [31, 46, 76], "alpha": [0, 6, 17, 29, 38, 44, 54, 57, 60, 80, 90], "alpha_dividends_per_hotkei": [10, 57], "alpha_fees_above_high": 90, "alpha_fees_below_low": 90, "alpha_high": [10, 17], "alpha_in": [6, 10], "alpha_in_emiss": [6, 10], "alpha_low": [10, 17], "alpha_out": [6, 10], "alpha_out_emiss": [6, 10], "alpha_sigmoid_steep": 17, "alpha_slippag": 6, "alpha_stak": [10, 20, 57], "alpha_to_tao": 6, "alpha_to_tao_with_slippag": 6, "alphadividendsperhotkei": 10, "alphahigh": 10, "alphain": 10, "alphainemiss": 10, "alphalow": 10, "alphaout": 10, "alphaoutemiss": 10, "alphastak": 10, "alreadi": [1, 94, 96, 103], "also": [0, 1, 24, 59, 60, 73, 79, 80, 86, 92], "alter": 1, "alwai": [34, 50, 60, 92], "among": [0, 57, 60], "amount": [0, 4, 6, 11, 12, 29, 30, 34, 37, 38, 44, 45, 50, 53, 54, 55, 57, 60, 65, 76, 80, 90, 92], "an": [0, 1, 2, 6, 11, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 74, 75, 77, 80, 83, 84, 86, 89, 90, 92, 93], "analogi": 24, "analys": 57, "analysi": [0, 57, 60, 73, 92], "analyz": [0, 57, 60, 92], "ani": [0, 1, 2, 8, 9, 23, 24, 25, 31, 34, 46, 50, 57, 59, 60, 62, 73, 74, 76, 89, 90, 92, 96, 97, 98, 101], "announc": [33, 48], "anoth": [0, 23, 30, 45, 57, 60], "any_list": 8, "anyth": 89, "api": [0, 1, 60, 65, 96, 98, 105], "app": 1, "appear": 76, "appli": [1, 10, 73, 83, 103], "applic": [0, 1, 24, 57, 59, 60, 65, 73, 84], "approach": 60, "appropri": [0, 1, 24, 57, 59, 77], "approv": 0, "aqueri": 24, "ar": [0, 1, 17, 23, 24, 25, 26, 39, 40, 42, 55, 57, 60, 65, 73, 74, 75, 76, 77, 84, 89, 92, 101, 103], "arbitr": 15, "arbitrari": [0, 24, 60, 92], "arbitration_block": 15, "architectur": [0, 1, 57, 60], "archiv": [0, 57, 58, 60, 65, 77, 89, 92], "archive_endpoint": [0, 60, 65, 92], "archive_entrypoint": 58, "arg": [23, 24, 74, 75, 83, 86, 89, 92, 98], "argpars": [1, 23, 75, 77, 86], "argument": [0, 1, 23, 57, 59, 71, 73, 74, 75, 77, 83, 86, 89, 92, 98], "argumentpars": [1, 23, 75, 77, 86], "aris": 1, "arithmet": 80, "around": [39, 42], "arrai": [0, 57, 60, 74, 96, 103], "asctim": [82, 83], "asgi": 59, "aspect": [0, 1, 57, 60, 73, 92], "assert": [1, 76], "assertionerror": 1, "assess": [0, 1, 57, 60], "asset": 57, "assign": [0, 1, 31, 46, 57, 60, 73], "assist": [0, 60], "associ": [0, 1, 2, 6, 9, 11, 12, 13, 16, 20, 24, 25, 27, 30, 33, 38, 39, 41, 42, 45, 48, 54, 55, 57, 60, 73, 75, 86, 92, 103], "assum": [1, 57, 80], "assur": 1, "asymmetr": 1, "async": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 57, 59, 65, 94, 96, 98], "async_metagraph": 57, "async_pow": [95, 104], "async_substrate_interfac": [0, 21, 60, 92], "async_subtensor": [23, 26, 27, 29, 31, 32, 33, 34, 37, 38, 39, 49, 56, 57, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 87, 94, 96, 104], "asyncex": [43, 104], "asyncgener": 24, "asynchron": [0, 1, 24, 31, 59, 96], "asyncio": [0, 24], "asyncmetagraph": 57, "asyncquerymapresult": 0, "asyncsubtensor": [0, 26, 27, 29, 30, 31, 32, 33, 34, 37, 38, 39, 49, 57, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 92, 94, 96], "attach": [1, 73], "attack": 1, "attain": 93, "attempt": [0, 25, 26, 31, 40, 46, 57, 60, 73, 89, 93], "attribut": [0, 4, 11, 60, 73], "authent": [1, 33, 48, 57, 73], "author": [0, 30, 57, 60], "auto": 104, "autoapi": 104, "automat": [0, 24, 57, 60, 73], "avail": [0, 1, 60, 65, 92], "averag": [17, 96], "aw": 93, "await": [0, 24, 59, 60, 65], "axon": [0, 2, 10, 11, 12, 23, 24, 25, 33, 48, 56, 57, 60, 73, 87, 98, 104], "axon_hotkei": 73, "axon_info": [7, 10, 11, 12, 24, 104], "axon_util": [89, 104], "axoninfo": [1, 2, 10, 11, 12, 21, 24, 57], "axoninfodict": 92, "axonmiddlewar": 1, "axonserv": 1, "axonservecallparam": [33, 48, 77, 92], "ay": 14, "b": 57, "b0dc": 73, "b64decod": 73, "back": [0, 1, 24, 29, 44, 59, 60, 73, 76, 101], "backbon": 57, "background": 1, "backward": [1, 80, 102], "balanc": [0, 4, 5, 6, 10, 11, 12, 16, 19, 20, 21, 29, 30, 34, 37, 38, 44, 45, 50, 53, 54, 55, 60, 65, 89, 90, 92, 104], "bandwidth": 73, "base": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 57, 59, 60, 73, 74, 75, 76, 77, 80, 83, 86, 89, 92, 93, 96, 98, 101, 102, 103], "base64": [21, 73], "base_log_format": 82, "baseclass": 57, "basehttpmiddlewar": 1, "basemodel": [24, 59, 73, 74], "basic": [11, 57, 73], "batch": [0, 60], "becaus": 73, "becom": [0, 60], "been": [0, 1, 24, 59, 73, 75], "befor": [0, 1, 15, 24, 31, 32, 33, 34, 36, 37, 38, 39, 45, 46, 47, 48, 49, 50, 52, 53, 54, 60, 86, 94, 96, 97], "before_disable_debug": 86, "before_disable_log": 86, "before_disable_trac": 86, "before_enable_consol": 86, "before_enable_debug": 86, "before_enable_default": 86, "before_enable_info": 86, "before_enable_trac": 86, "before_enable_warn": 86, "before_transit": 86, "begin": [0, 1, 60], "behavior": [0, 1, 57, 60, 73], "being": [0, 1, 5, 21, 29, 33, 35, 39, 42, 44, 48, 51, 59, 60, 86, 96], "belief": 57, "belong": [0, 34, 50, 60], "below": [0, 60], "benefici": 57, "benefit": [24, 57], "bespok": 98, "between": [0, 1, 6, 31, 45, 46, 57, 60, 73, 79, 80, 86, 90, 103], "beyond": 57, "bind": 1, "bit": 80, "bittensor": 104, "bittensor_logger_nam": [82, 86], "bittensor_wallet": [0, 1, 24, 26, 27, 29, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 50, 53, 54, 55, 60, 89, 92, 94, 96, 98], "bittensorconsol": 81, "blacklist": [1, 25, 73], "blacklist_custom": 1, "blacklist_fn": 1, "blacklist_my_synaps": 1, "blacklist_my_synapse_2": 1, "blacklistedexcept": 25, "blake256": [33, 48], "blake2_128": 99, "blake2_128_concat": 99, "blake2_256": 99, "blake2b": 99, "block": [0, 1, 10, 13, 15, 17, 21, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 76, 89, 92, 94, 96, 97], "block_and_hotkey_hash_byt": 97, "block_at_registr": [10, 20, 57], "block_byt": 96, "block_hash": [0, 33, 60, 89, 96], "block_numb": [0, 92, 96], "block_tim": [0, 27, 41, 60, 76], "blockatregistr": 10, "blockchain": [0, 26, 29, 30, 31, 33, 35, 36, 38, 39, 40, 42, 44, 46, 48, 51, 52, 54, 57, 60, 92, 103], "blocknotfound": 25, "blocknumb": 92, "blocks_since_epoch": 19, "blocks_since_last_step": [0, 6, 10, 57, 60, 70], "blocks_since_last_upd": [0, 60, 70], "blocks_since_upd": 0, "blocks_until_rev": [0, 60], "blockssincelaststep": 10, "blocktim": 58, "bob": [0, 60], "bodi": [0, 1, 24, 59, 60, 73], "body_hash": 73, "bond": [0, 11, 12, 17, 33, 48, 57, 60, 65, 70, 103], "bonds_as_dict": 11, "bonds_moving_avg": [10, 17], "bonds_reset_en": 17, "bondsmovingavg": 10, "bool": [0, 1, 2, 6, 10, 11, 12, 16, 17, 20, 21, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 74, 76, 77, 83, 86, 87, 89, 90, 92, 94, 96, 98], "boolean": [0, 1, 26, 27, 29, 40, 41, 44, 57, 60, 89], "both": [0, 1, 60, 86, 92, 103], "bound": [0, 29, 44, 60], "brain": 24, "bridg": 24, "broadcast": 1, "broader": 1, "broken": 25, "brokenexecutor": 75, "brokenthreadpool": 75, "bt": [0, 1, 23, 60, 65, 76, 98], "bt_docs_link": 89, "bt_header_axon_address": 73, "bt_header_dendrite_port": 73, "btfileformatt": 83, "btlog": [89, 104], "btstreamformatt": 83, "btstreamingrespons": 59, "btstreamingresponsemodel": 59, "buffer": [24, 74, 89], "build": 24, "built": 101, "bulk": [0, 60], "burn": [0, 10, 17, 19, 60], "burned_regist": [0, 60, 64], "burned_register_extrins": [31, 46], "byte": [0, 12, 21, 33, 48, 60, 73, 76, 89, 96, 97, 99, 101, 103], "byte_data": 76, "bytes_or_buff": 89, "c": 57, "calcul": [0, 1, 17, 57, 60, 73, 79, 84, 90, 92, 96, 99], "calculate_diff_second": 79, "calculate_fe": 90, "call": [0, 1, 17, 24, 29, 33, 35, 44, 48, 51, 59, 60, 73, 75, 77, 86, 102], "call_def": 0, "call_definit": [0, 60], "call_next": 1, "call_param": [33, 48, 92], "call_stream": 24, "callabl": [1, 59, 75], "caller": 1, "can": [0, 1, 9, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 75, 76, 92, 96, 103], "cancel": 75, "cancel_futur": 75, "cannot": [0, 25, 29, 35, 44, 51, 59, 60, 73, 74, 93], "capabl": [1, 33, 48], "captur": 57, "carrier": 73, "case": [0, 1, 24, 60, 65, 92, 101], "cast": 74, "cast_dtyp": 74, "cast_float": 73, "cast_int": 73, "cast_shap": 74, "categori": 73, "caught": [24, 89], "ceas": 1, "center": 83, "central": [1, 57], "certain": [0, 1, 60, 96], "certif": [0, 1, 33, 48, 60, 77, 89], "chain": [0, 1, 3, 16, 21, 25, 31, 32, 33, 34, 37, 38, 39, 46, 47, 48, 49, 50, 53, 54, 58, 60, 65, 77, 89, 92, 103, 104], "chain_data": [0, 1, 24, 55, 56, 57, 60, 92, 104], "chain_endpoint": [57, 65, 77, 89], "chain_ident": [0, 7, 10, 60, 104], "chain_stat": 92, "chainconnectionerror": 25, "chaindatatyp": 21, "chainerror": 25, "chainident": [0, 3, 10, 21, 57, 60], "chainqueryerror": 25, "chaintransactionerror": 25, "challeng": [0, 60, 94, 96], "chang": [0, 38, 45, 54, 60, 81, 83, 87, 92], "characterist": [0, 60, 92], "check": [0, 1, 23, 24, 30, 34, 38, 45, 50, 54, 60, 73, 80, 89, 93, 94, 96, 102], "check_and_convert_to_bal": 80, "check_block": 96, "check_config": [1, 86], "check_latest_version_in_pypi": 102, "check_vers": [89, 102], "child": [0, 25, 26, 40, 60], "child_hotkei": 0, "childkei": [0, 25, 60], "children": [0, 25, 28, 43, 60, 104], "choic": 89, "chr_transform": 10, "chunk": [24, 59], "claim": [0, 1, 36, 52, 60], "class": [25, 31, 46, 76], "classic": 71, "classmethod": [1, 2, 8, 9, 11, 14, 15, 16, 22, 23, 25, 65, 73, 75, 77, 86, 92, 96, 101], "classvar": 73, "clean": [0, 75], "cleanup": 24, "clear": 59, "cli": [0, 60], "client": [1, 24, 29, 35, 44, 51, 59], "clientrespons": [24, 59], "clientsess": 24, "close": [0, 24, 60, 65], "close_sess": 24, "closur": 24, "code": [0, 1, 24, 73], "cold": [15, 65], "coldkei": [0, 2, 4, 5, 10, 11, 12, 16, 20, 25, 26, 30, 34, 38, 40, 45, 50, 54, 55, 57, 60, 72, 77, 89, 92], "coldkey_ss58": [0, 16, 60], "coldkeypub": [0, 1, 60], "collabor": [0, 57, 60], "collat": 24, "collect": [0, 23, 55, 57, 60, 92], "color": 83, "color_map": 83, "com": 89, "combin": [55, 90], "come": 1, "command": [1, 77], "commit": [0, 17, 21, 22, 25, 27, 33, 39, 41, 42, 48, 60, 65, 92, 103, 104], "commit_data": 22, "commit_hash": [39, 42], "commit_hex": 22, "commit_rev": [28, 43, 104], "commit_reveal_en": [0, 60, 62], "commit_reveal_period": [10, 17], "commit_reveal_v3_extrins": [27, 41], "commit_reveal_weights_en": [10, 17], "commit_weight": [0, 43, 60, 64, 104], "commit_weights_extrins": [39, 42], "commitrevealperiod": 10, "commitrevealweightsen": 10, "committ": 22, "committe": [0, 60], "common": [4, 24, 25, 34, 38, 50, 54], "commun": [0, 1, 57, 60, 73, 98], "compar": [1, 55], "comparison": [1, 80], "compat": [0, 39, 42, 60, 73, 80, 87, 102], "complet": [1, 24, 57, 75], "complex": [0, 1, 57, 60, 73, 92], "compon": [0, 1, 57, 60], "composit": [0, 60], "comprehend": [0, 60, 92], "comprehens": [0, 60, 92], "compress": 73, "comput": [0, 33, 48, 57, 60, 73], "computed_body_hash": 73, "concaten": [73, 99], "concept": 57, "concern": 1, "concurr": [1, 24, 75], "condit": [0, 1, 60, 92], "confid": 1, "config": [0, 1, 56, 57, 59, 60, 65, 73, 74, 75, 77, 86, 87, 92, 104], "configdict": [59, 73, 74], "configur": [0, 1, 23, 57, 59, 60, 65, 73, 74, 77, 86, 92], "confirm": 1, "conflict": 1, "conform": [59, 73, 74], "congest": [0, 60], "connect": [0, 1, 24, 25, 33, 34, 36, 48, 50, 52, 57, 60, 65, 73, 77, 92], "connection_requir": 19, "connectionerror": 0, "consensu": [0, 10, 11, 12, 20, 57, 60, 92], "conserv": [0, 60], "consist": [0, 57, 60, 73, 85, 92], "consol": [0, 31, 46, 60, 85, 86, 94, 96, 104], "constant": [0, 17, 60, 82, 92], "constant_nam": [0, 60, 92], "constantli": 57, "constrain": 73, "constraint": 103, "construct": [23, 57, 73], "contact": [0, 31, 46, 60], "contain": [0, 1, 2, 4, 11, 21, 22, 24, 30, 31, 33, 38, 46, 48, 54, 55, 57, 59, 60, 73, 76, 77, 79, 89, 92, 96, 103, 104], "context": [0, 1, 24, 57, 60, 73], "continu": [1, 57], "contribut": [0, 1, 57, 60, 92], "control": [0, 1, 60, 73], "conveni": 73, "convers": [73, 90, 103], "convert": [1, 2, 21, 73, 76, 80, 88, 89, 90, 96, 103], "convert_and_normalize_weights_and_uid": 103, "convert_bond_uids_and_vals_to_tensor": 103, "convert_root_weight_uids_and_vals_to_tensor": 103, "convert_storage_paramet": 101, "convert_uids_and_weight": 103, "convert_weight_uids_and_vals_to_tensor": 103, "convert_weights_and_uids_for_emit": 103, "cool": [0, 60], "cooldown": [0, 26, 40, 60], "copi": [0, 57, 77], "copier": 0, "core": [78, 86, 92, 94, 96, 98, 104], "cornerston": [1, 73], "coroutin": 92, "correct": [1, 57, 73], "correctli": [1, 57], "correl": [0, 60], "correspond": [0, 1, 21, 24, 32, 39, 42, 47, 49, 55, 57, 60, 97, 103], "corrupt": 89, "cortex": 76, "cost": [0, 60, 92], "count": 5, "counterpart": 24, "cover": [0, 24, 57, 60, 92], "cpu": [94, 96], "creat": [0, 1, 2, 9, 11, 22, 24, 33, 48, 57, 59, 60, 73, 74, 77, 80, 89, 94, 96, 101, 104], "create_error_respons": 1, "create_from_data": 101, "create_from_storage_funct": 101, "create_pow": 96, "create_pow_async": 94, "create_streaming_respons": 59, "create_subnet": 92, "creation": [1, 73], "credit": [0, 29, 44, 60], "criteria": 1, "critic": [0, 1, 57, 60, 73, 81, 86, 92], "crucial": [0, 1, 24, 33, 48, 57, 60, 73, 92], "crv3": [0, 60], "cryptocurr": 57, "cryptograph": [0, 1, 57, 60, 92], "cuda": [0, 31, 46, 60, 94, 96, 97], "cudasolv": 96, "cumul": 57, "curl": 93, "curr_block": 96, "curr_block_num": 96, "curr_diff": 96, "currenc": 80, "current": [0, 1, 6, 57, 60, 65, 73, 79, 90, 92, 96, 101, 102], "current_block": [0, 57], "current_subnet_pric": 90, "current_tick": 90, "current_tim": 79, "current_time_n": 79, "custom": [0, 1, 7, 57, 73, 76, 83, 85], "custom_logger_method_stack_level": 86, "custom_synaps": 73, "customiz": 1, "customsynaps": 73, "cutoff": 17, "d": [24, 57, 74, 77, 82, 92], "dai": [4, 5], "daili": [4, 5], "data": [0, 1, 2, 6, 7, 10, 13, 14, 16, 20, 21, 22, 24, 26, 33, 40, 48, 55, 57, 59, 60, 73, 74, 76, 89, 92, 96, 99, 101, 103], "data_typ": [33, 48], "databas": 101, "dataclass": [0, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 18, 19, 20, 60, 76], "date": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 83, 92, 102], "date_format": 82, "datefmt": 83, "datetim": [0, 60], "de": 86, "deal": 1, "debug": [73, 81, 86, 87], "decai": 17, "deceiv": 1, "decentr": [0, 1, 33, 48, 57, 60, 73, 92], "decis": [0, 57, 60], "decod": [0, 1, 2, 6, 7, 8, 12, 15, 16, 20, 21, 22, 26, 40, 60, 73, 76, 89, 101], "decode_account_id": 21, "decode_account_id_list": 15, "decode_block": 21, "decode_hex_identity_dict": 89, "decode_metadata": 21, "decode_revealed_commit": 21, "decode_revealed_commitment_with_hotkei": 21, "decode_scale_valu": 101, "decor": 96, "decreas": [0, 25, 38, 54, 60], "decrease_take_extrins": [36, 52], "decrypt": [0, 26, 40, 60, 76, 89], "decrypted_data": 76, "deepcopi": 57, "deeper": [0, 60, 92], "def": [0, 1, 73], "default": [0, 1, 2, 21, 23, 24, 25, 27, 29, 30, 31, 33, 34, 35, 36, 38, 41, 44, 46, 48, 50, 51, 52, 54, 55, 57, 58, 60, 65, 73, 76, 77, 79, 80, 83, 86, 87, 89, 92, 96, 97, 98, 102, 103], "default_endpoint": 58, "default_log_backup_count": 82, "default_log_file_nam": 82, "default_log_format": 83, "default_max_rotating_log_file_s": 82, "default_network": [57, 58], "default_trace_format": 83, "default_verifi": 1, "defaultconfig": 23, "defaultdict": 23, "defaultmunch": 23, "defin": [0, 1, 2, 6, 10, 20, 21, 57, 60, 73, 83, 85, 89, 92, 104], "definit": [0, 82], "deiniti": 86, "delai": 1, "deleg": [0, 4, 5, 25, 36, 52, 57, 60, 65, 92, 104], "delegate_info": [7, 104], "delegate_info_lit": [7, 104], "delegate_ss58": 5, "delegatedinfo": [4, 21], "delegateinfo": [0, 4, 5, 21, 60], "delegateinfobas": 4, "delegateinfolit": 5, "delegateliteinfo": 5, "delegatetaketoohigh": [0, 25, 60], "delegatetaketoolow": [0, 25, 60], "delegatetxratelimitexceed": [0, 25, 60], "delta": [1, 79], "dendrit": [1, 25, 56, 73, 87, 98, 104], "dendrite_default_error": 24, "dendrite_error_map": 24, "dendrite_hotkei": 73, "dendrite_inst": 24, "dendritemixin": 24, "denot": 57, "depart": 0, "depend": [2, 90], "deposit": [0, 37, 53, 60], "deprec": [80, 87, 102], "deregister_primary_logg": 86, "deriv": [10, 21], "describ": [0, 39, 42, 60, 83], "descript": [0, 1, 3, 18, 31, 46, 60, 73], "deseri": [24, 57, 59, 73, 74, 98], "deserialized_synaps": 73, "design": [0, 1, 24, 59, 60, 73, 87], "desir": [73, 86], "dest": [0, 37, 53, 60, 92], "destin": [0, 30, 37, 39, 45, 49, 53, 60, 89, 92, 103], "destination_coldkey_ss58": [0, 30, 45, 60], "destination_hotkei": [0, 30, 45, 60], "destination_hotkey_ss58": [0, 60], "destination_netuid": [0, 30, 45, 60], "destination_pric": [0, 60], "destination_subnet_pric": [0, 60], "detail": [0, 1, 57, 60, 73, 92, 101], "detect": 73, "determin": [0, 1, 24, 57, 60, 73, 77, 84, 89], "determine_block_hash": [0, 60, 65], "determine_chain_endpoint_and_network": 89, "dev_id": [0, 31, 46, 60, 94, 96, 97], "develop": [1, 59, 73, 105], "devic": [0, 31, 46, 60, 94, 96, 97], "dict": [0, 1, 2, 4, 8, 9, 10, 11, 12, 14, 16, 19, 21, 23, 24, 33, 48, 57, 58, 59, 60, 73, 74, 77, 83, 89, 90, 92, 96], "dictionari": [0, 1, 2, 9, 11, 21, 23, 25, 57, 59, 60, 73, 74, 77, 84, 89, 92], "did": [31, 32, 33, 34, 37, 46, 47, 48, 49, 50, 53], "diff": 96, "differ": [0, 1, 6, 23, 24, 45, 57, 60, 73, 79, 80, 86, 94, 96], "difficulti": [0, 10, 17, 19, 60, 70, 92, 96, 97], "digit": [1, 57, 73], "dir": 57, "dir_path": 57, "direct": [0, 57, 60], "directli": [0, 24, 59, 60, 73], "directori": 57, "disabl": [0, 29, 44, 60, 65, 86, 87, 92], "disable_debug": 86, "disable_info": 86, "disable_log": 86, "disable_third_party_logg": 86, "disable_trac": 86, "disable_warn": 86, "disallow": 1, "discord": [0, 3, 18, 31, 46, 60], "discoveri": [0, 60], "disk": 57, "dispatch": 1, "distinguish": 57, "distribut": [0, 57, 60, 73, 90, 92], "divers": [0, 60], "dividend": [10, 11, 12, 20, 57], "do": [0, 1, 60], "do_block_step": 92, "do_commit_weight": [39, 42], "do_serve_axon": [33, 48, 92], "do_serve_prometheu": 92, "do_set_weight": 92, "do_transf": 92, "doc": [0, 89], "docstr": 57, "document": [0, 60, 104], "doe": [0, 1, 25, 26, 40, 60, 73, 76, 94, 96], "does_hotkey_exist": [0, 60, 72], "doesn": [0, 1, 25, 26, 40, 57, 60, 86], "don": 0, "doubl": 92, "down": [0, 1, 60], "drain": 16, "drand": [0, 60, 76], "dtype": 74, "due": [0, 1], "dummy_input": 73, "dump": 76, "duplic": [0, 25, 26, 40], "duplicatechild": [0, 25, 26, 40], "durat": [0, 24, 27, 41, 60, 73], "dure": [0, 1, 17, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 73, 76, 92, 96], "dust": [0, 60], "dynam": [0, 1, 6, 57, 60, 92], "dynamic_info": [7, 104], "dynamicinfo": [0, 6, 21, 60], "e": [0, 2, 9, 13, 31, 33, 46, 48, 57, 60, 73, 92], "e29ce36fec1a": 73, "each": [0, 1, 21, 24, 34, 38, 39, 42, 50, 54, 55, 57, 60, 73, 76, 77, 86, 92, 96], "earn": [0, 34, 50, 57, 60], "easi": 73, "easy_import": [89, 104], "econom": [0, 60], "ecosystem": [0, 57, 60, 73, 92], "ed25519": [37, 53], "effect": [0, 1, 60], "effici": [0, 1, 24, 57, 60, 73, 92], "effort": [0, 60], "either": [0, 60, 80, 83, 93], "element": [0, 10, 24, 26, 27, 31, 40, 41, 46, 57, 60, 74], "elig": [0, 60], "ellipsi": 73, "els": 89, "email": [31, 46], "embodi": 57, "emiss": [0, 6, 10, 11, 12, 16, 20, 35, 51, 57, 60], "emission_histori": 20, "emission_valu": 19, "emit": [0, 60], "emoji": 83, "emoji_map": 83, "emploi": 57, "empti": [0, 60, 74, 77, 92], "enabl": [0, 1, 17, 29, 30, 33, 34, 38, 44, 45, 48, 50, 54, 57, 60, 65, 73, 86, 87, 92], "enable_consol": 86, "enable_debug": 86, "enable_default": 86, "enable_info": 86, "enable_third_party_logg": 86, "enable_trac": 86, "enable_warn": 86, "encapsul": [1, 24, 59, 73], "encod": [0, 7, 9, 16, 21, 60, 73, 76, 89], "encode_param": [0, 60, 65], "encoded_data": 21, "encompass": 73, "encount": [1, 74], "encourag": 57, "encrypt": [1, 76], "encrypted_data": 76, "end": [1, 14, 24, 73], "endpoint": [0, 1, 2, 24, 33, 48, 60, 65, 73, 77, 89, 92, 93], "endpoint_url": [89, 93], "enforc": 73, "enhanc": [0, 33, 48, 57, 60, 73], "enough": 25, "ensur": [0, 1, 24, 39, 42, 57, 59, 60, 73, 85, 86, 87, 92, 96], "enter": [0, 31, 32, 33, 34, 37, 38, 39, 46, 47, 48, 49, 50, 53, 54, 60], "entir": [0, 24, 60], "entiti": [1, 57], "entri": [0, 57, 60, 101], "entrypoint": 58, "enum": [10, 21], "enumer": [10, 21], "environ": [0, 1, 57, 60, 73, 97], "epoch": [0, 60], "equal": [94, 96], "equip": 1, "err_msg": 92, "error": [0, 1, 2, 23, 24, 26, 29, 33, 35, 36, 38, 39, 40, 42, 44, 48, 51, 52, 54, 56, 57, 60, 65, 73, 74, 76, 81, 86, 89, 92, 94, 96, 97, 102, 104], "error_messag": 89, "especi": [1, 24, 73], "essenti": [0, 1, 24, 57, 60, 73, 92], "establish": [0, 1, 24, 60, 73], "estim": [0, 6, 60, 92], "etc": [1, 59, 65, 73], "evalu": [0, 1, 77], "even": [0, 29, 44, 60], "event": [24, 59, 86, 96], "event_loop_is_run": 24, "everi": 73, "everyth": 57, "evolut": 57, "exact": 57, "examin": 57, "exampl": [1, 38, 54, 73, 74, 76, 92], "examplerout": 73, "examplesynaps": 73, "exce": [0, 26, 30, 40, 45, 60], "exceed": [0, 25, 34, 38, 50, 54, 60], "except": [0, 1, 24, 26, 40, 60, 74, 86, 89, 92], "exchang": [1, 57, 73], "exclud": 103, "exclude_quantil": 103, "execut": [0, 1, 25, 57, 60, 75, 92], "executor": 75, "exhaust": 24, "exist": [0, 1, 24, 25, 26, 40, 60, 89, 94, 96], "existenti": [0, 37, 53, 60], "existential_deposit": 0, "existentialdeposit": 0, "exit": [1, 25], "expect": [1, 24, 57, 59], "expir": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 92], "explicitli": [0, 23, 57, 59, 73, 74], "explor": 89, "expos": 89, "express": 76, "extend": 1, "extent": [0, 60], "extern": [1, 24, 93], "external_ip": [1, 24, 93], "external_port": 1, "externalipnotfound": 93, "extract": [1, 24, 59], "extract_response_json": 59, "extrem": 1, "extrins": [0, 56, 60, 65, 89, 104], "extrinsicnotfound": 25, "extrinsics_subpackag": 87, "f": [0, 89], "face": [0, 1, 60, 93], "facilit": [0, 1, 57, 60, 73, 92], "factor": [0, 60], "factori": [0, 57], "fail": [0, 1, 2, 21, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 44, 46, 47, 48, 49, 50, 51, 53, 54, 60, 73, 75, 76, 93, 102], "failed_verif": 73, "failur": [0, 1, 26, 27, 31, 33, 36, 40, 41, 46, 48, 52, 60, 73], "fallback": [0, 24, 60, 65, 92], "fallback_endpoint": [0, 60, 65, 92], "fals": [0, 1, 6, 11, 12, 21, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 74, 76, 83, 87, 89, 92, 94, 96, 98], "fast": [0, 60, 76], "fast_config": 1, "fast_serv": 1, "fastapi": 1, "fastapithreadedserv": 1, "feasibl": 24, "featur": [0, 1, 60, 73, 87], "fee": [0, 60, 90, 92], "fees_above_high": 90, "fees_alpha": 90, "fees_below_low": 90, "fees_tao": 90, "fetch": [0, 5, 33, 48, 60, 103], "field": [0, 1, 2, 4, 59, 60, 71, 73, 74], "field_indic": [0, 60], "file": [23, 57], "filenam": [82, 83], "fill": [1, 24], "filter": [0, 1, 60], "filter_for_netuid": [0, 60], "filter_netuids_by_registered_hotkei": [0, 60, 72], "final": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 73, 96], "financi": [0, 60, 92], "find": [55, 73], "fingerprint": 73, "finish": [24, 75, 96], "finished_queu": 96, "finnei": [0, 57, 58, 65, 77, 89], "finney_entrypoint": 58, "finney_test_entrypoint": 58, "first": [0, 1, 6, 23, 24, 26, 27, 31, 34, 40, 41, 46, 50, 57, 60, 73], "fix": [0, 60, 80, 92], "fixed_to_float": 80, "fixedpoint": [60, 80], "flag": [0, 1, 2, 17, 24, 31, 33, 34, 36, 37, 46, 48, 49, 50, 52, 53, 57, 60, 77, 83, 89], "flexibl": [0, 1, 60], "float": [0, 1, 4, 5, 6, 10, 11, 12, 17, 19, 20, 24, 26, 27, 30, 32, 34, 38, 39, 40, 41, 45, 47, 49, 50, 54, 57, 60, 65, 73, 76, 79, 80, 89, 90, 92, 96, 103], "float32": [0, 27, 32, 39, 41, 47, 49, 60, 103], "float_to_u64": 89, "floattensor": [0, 27, 39, 41, 49, 60, 103], "flow": [1, 73], "fluctuat": [0, 60], "fmt": 83, "fn": [57, 75], "focus": [0, 60, 92], "follow": [33, 48, 73, 77, 86], "forbidden": 73, "forc": [92, 96], "force_register_neuron": 92, "force_set_bal": 92, "forev": [0, 60, 65, 92], "form": [1, 57, 59, 73, 74, 76, 93], "format": [0, 1, 24, 33, 48, 57, 59, 60, 73, 77, 85, 89, 92, 93, 104], "format_error_messag": 89, "formatt": [83, 85, 86], "formatted_endpoint_url": 93, "formattim": 83, "forward": [1, 24], "forward_class_typ": 1, "forward_custom": 1, "forward_fn": [1, 25], "forward_my_synaps": 1, "forward_my_synapse_2": 1, "foster": 1, "found": [0, 1, 25, 55, 60, 92, 96, 97], "foundat": [0, 1], "frac_bit": 80, "frame": [0, 60], "framework": [1, 24, 73, 86, 87], "frequent": [0, 60], "fresh": 1, "friendli": [1, 39, 42], "fro": 86, "from": [0, 1, 2, 9, 10, 11, 15, 16, 21, 24, 29, 30, 33, 34, 36, 37, 38, 44, 45, 48, 50, 52, 53, 54, 57, 59, 60, 65, 73, 74, 75, 76, 77, 80, 81, 86, 89, 92, 93, 96, 98, 103], "from_dict": [8, 14, 16], "from_error": 25, "from_float": 80, "from_head": 73, "from_neuron_info": 2, "from_parameter_dict": [2, 9], "from_rao": 80, "from_scale_encod": 21, "from_scale_encoding_using_type_str": 21, "from_str": 2, "from_tao": [0, 60, 80], "from_vec_u8": 22, "from_weights_bonds_and_neuron_lit": 11, "full": [0, 30, 45, 57, 60], "full_address": 1, "func": [5, 96, 102], "function": [7, 25, 59, 60, 85, 86, 92, 98, 101], "fund": [0, 37, 53, 60, 92], "fundament": [0, 1, 34, 50, 57, 60, 73, 92], "further": 1, "futur": [33, 48, 57, 75], "g": [0, 2, 9, 13, 31, 46, 73, 92], "gain": [0, 60], "garbag": 0, "gather": 1, "gener": [0, 1, 10, 21, 24, 59, 60, 84, 96, 101, 103, 104], "generate_weight_hash": 103, "genericcal": [0, 60], "genericmetadatavers": 101, "genuin": 1, "get": [0, 23, 24, 57, 60, 71, 73, 75, 76, 83, 86, 89, 96], "get_all_commit": [0, 60, 62], "get_all_metagraphs_info": [0, 60, 66], "get_all_neuron_certif": [0, 60, 67], "get_all_revealed_commit": [0, 60, 62], "get_all_subnets_info": [0, 60, 70], "get_and_save_latest_vers": 102, "get_async_subtensor": 0, "get_bal": [0, 60, 72, 92], "get_block_hash": [0, 60, 61, 92], "get_children": [0, 60, 70, 72], "get_children_pend": [0, 60, 70, 72], "get_commit": [0, 60, 62, 92], "get_config": 86, "get_cpu_count": 96, "get_current_block": [0, 57, 60, 61, 92], "get_current_weight_commit_info": [0, 60, 62, 70], "get_deleg": [0, 60, 63, 72], "get_delegate_by_hotkei": [0, 60, 63, 72], "get_delegate_ident": [0, 60, 61, 63, 65], "get_delegate_tak": [0, 60, 63, 72], "get_existential_deposit": [0, 60, 61], "get_explorer_url_for_network": 89, "get_external_ip": 93, "get_fe": 90, "get_fees_in_rang": 90, "get_formatted_ws_endpoint_url": 93, "get_hash": 89, "get_hotkey_own": [0, 60, 72], "get_hotkey_stak": [0, 60, 69, 72], "get_human_read": 88, "get_hyperparamet": [0, 60, 70], "get_last_bonds_reset": [33, 48], "get_last_commitment_bonds_reset_block": [0, 60, 62], "get_level": 86, "get_liquidity_list": [0, 60, 70], "get_max_logger_name_length": 84, "get_metadata": [33, 48], "get_metagraph_info": [0, 60, 66], "get_minimum_required_stak": [0, 60, 61, 69, 72], "get_netuids_for_hotkei": [0, 60, 72], "get_neuron_certif": [0, 60, 67], "get_neuron_for_pubkey_and_subnet": [0, 60, 70], "get_next_epoch_start_block": [0, 60, 70], "get_null_neuron": [11, 12], "get_old_stak": 55, "get_owned_hotkei": [0, 60, 72], "get_par": [0, 60, 70], "get_queu": 86, "get_required_field": 73, "get_revealed_commit": [0, 60, 62], "get_revealed_commitment_by_hotkei": [0, 60, 62], "get_save_dir": 57, "get_siz": 73, "get_stak": [0, 60, 69, 72], "get_stake_add_fe": [0, 60, 69, 72], "get_stake_for_coldkei": [0, 60, 69, 72], "get_stake_for_coldkey_and_hotkei": [0, 60, 69, 72], "get_stake_for_hotkei": [0, 60, 72], "get_stake_info_for_coldkei": [0, 60, 69, 72], "get_stake_movement_fe": [0, 60, 69, 72], "get_stake_operations_fe": [0, 60, 69], "get_status_messag": 96, "get_subnet": [0, 60, 70], "get_subnet_burn_cost": [0, 60, 70], "get_subnet_hyperparamet": [0, 60, 70], "get_subnet_info": [0, 60, 70], "get_subnet_owner_hotkei": [0, 60, 70], "get_subnet_pric": [0, 60, 70], "get_subnet_reveal_period_epoch": [0, 60, 70], "get_subnet_validator_permit": [0, 60, 70], "get_timestamp": [0, 60, 61], "get_total_s": 73, "get_total_subnet": [0, 60, 70], "get_transfer_fe": [0, 60, 72, 92], "get_uid_for_hotkey_on_subnet": [0, 60, 70], "get_unit": 80, "get_unstake_fe": [0, 60, 69, 72], "get_vote_data": [0, 60, 61], "getdefaultencod": 89, "github": [0, 3, 31, 46, 60], "github_repo": [18, 31, 46], "give": [0, 75, 80, 81], "given": [0, 1, 21, 27, 30, 31, 32, 33, 39, 41, 46, 47, 48, 49, 55, 57, 59, 60, 73, 74, 75, 80, 89, 92, 94, 96, 98, 103], "global": [0, 60], "global_fees_alpha": 90, "global_fees_tao": 90, "glorifi": 73, "glossari": 0, "go": 1, "goe": [0, 31, 38, 46, 54, 60], "govern": [0, 57, 60, 92], "grace": [0, 60], "gracefulli": 1, "graph": 57, "great": 1, "greater": [57, 103], "growth": [0, 60], "grpc": 1, "guard": 1, "h": [82, 88], "ha": [0, 1, 12, 24, 25, 57, 59, 60, 92, 96], "halt": 1, "handl": [0, 1, 6, 20, 24, 39, 42, 59, 60, 73, 76, 86, 90, 93, 103], "handler": [1, 85, 86, 89], "hash": [0, 1, 33, 39, 42, 48, 60, 73, 89, 92, 96, 97, 99, 103], "hash_rat": 96, "hash_rate_perpetu": 96, "hash_valu": 73, "hasher": [100, 104], "hasn": 1, "have": [0, 1, 25, 26, 40, 60, 73, 75], "header": [1, 24, 25, 59, 73], "header_s": 73, "height": [0, 60], "held": [0, 57], "hello": [0, 73], "help": [0, 1, 23, 25, 60, 65, 73, 74, 75, 77, 80, 86, 89, 92, 93, 102], "helper": [0, 21, 55, 60, 73, 77, 80, 85, 99, 104], "here": 24, "hex": [0, 22, 60, 101], "hex_to_byt": 89, "hexadecim": [73, 89], "high": [0, 17, 25, 60], "higher": [57, 101], "histor": [24, 57], "history_block": 57, "hit": [0, 26, 40], "hold": [1, 57, 86], "holder": [0, 60], "home_dir": 58, "honest": 0, "hop": [0, 60], "host": [1, 33, 48], "hot": [0, 60], "hotkei": [0, 1, 2, 4, 5, 10, 11, 12, 16, 20, 21, 24, 25, 26, 29, 30, 32, 33, 34, 36, 38, 39, 40, 44, 45, 47, 48, 49, 50, 52, 54, 55, 57, 60, 65, 72, 73, 77, 89, 92, 96, 97], "hotkey_byt": 96, "hotkey_ss58": [0, 4, 16, 30, 34, 36, 38, 45, 50, 52, 54, 55, 60], "hotkey_ss58_address": [0, 60], "hotkeyaccountnotexist": [0, 25, 60], "how": [0, 1, 6, 57, 60], "howev": [24, 57], "hparam": 57, "http": [0, 1, 24, 58, 73, 89], "human": [1, 88], "hyperparam": 103, "hyperparamet": [0, 17, 60], "i": [0, 1, 2, 4, 5, 6, 11, 12, 15, 17, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 65, 73, 74, 75, 76, 77, 80, 83, 86, 87, 89, 90, 92, 93, 94, 96, 97, 98, 101, 102, 103, 105], "id": [0, 1, 4, 21, 24, 27, 29, 31, 41, 44, 46, 54, 60, 73, 90, 94, 96, 97, 103], "ideal": 6, "ident": [0, 3, 10, 18, 25, 31, 46, 57, 60, 73, 89, 99], "identif": [57, 73], "identifi": [0, 1, 11, 12, 24, 33, 34, 36, 38, 39, 42, 48, 50, 52, 54, 55, 57, 60, 73, 92, 103], "identityerror": 25, "ignor": [0, 24, 60], "ij": 57, "imag": 3, "immedi": [0, 1, 60], "immun": [0, 17], "immunity_period": [0, 10, 17, 19, 60, 70], "immunityperiod": [0, 10, 60, 92], "immut": [0, 60, 92], "impact": [0, 30, 45, 57, 60], "implement": [1, 23, 24, 59, 73, 75, 96, 101], "impli": 57, "import": [0, 1, 23, 24, 57, 60, 65, 73, 76, 81], "importerror": 57, "improv": 73, "inact": 57, "incent": [0, 10, 11, 12, 20, 34, 50, 57, 60], "incentiv": [0, 57], "includ": [0, 1, 2, 7, 11, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 76, 77, 83, 85, 87, 92], "inclus": [0, 27, 30, 31, 32, 33, 34, 36, 37, 41, 45, 46, 47, 48, 49, 50, 52, 53, 60], "incom": [0, 1, 60], "incorrect": 89, "increas": [0, 1, 25, 30, 34, 45, 50, 60, 73], "increase_take_extrins": [36, 52], "inde": 1, "index": [14, 90], "indexerror": 76, "indic": [0, 1, 11, 12, 17, 24, 25, 26, 27, 29, 31, 33, 40, 41, 44, 46, 48, 57, 60, 73, 86, 92], "indispens": 73, "individu": [0, 24, 57, 60, 92], "infer": 57, "inflat": [0, 60, 92], "influenc": [0, 57, 60], "info": [0, 1, 2, 6, 8, 9, 10, 19, 20, 58, 81, 86, 87], "info_bas": [2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 104], "info_dictionari": 89, "infobas": [2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20], "infodict": 92, "inform": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 18, 22, 24, 26, 31, 33, 40, 46, 48, 55, 57, 60, 73, 86, 89, 92, 96, 97], "infrastructur": [0, 57, 60], "inherit": [73, 77], "init": 57, "initarg": 75, "initi": [0, 1, 23, 24, 25, 29, 31, 33, 34, 35, 37, 44, 48, 50, 51, 57, 59, 60, 65, 74, 75, 76, 77, 80, 83, 86, 89, 92, 93, 102], "input": [0, 1, 21, 24, 57, 59, 60, 73, 74, 96, 103], "input_": 21, "input_obj": 73, "insight": [0, 60, 92], "inspect": 1, "instal": 57, "install_signal_handl": 1, "instanc": [0, 1, 2, 9, 11, 12, 22, 24, 26, 27, 29, 30, 31, 33, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 48, 50, 51, 54, 57, 59, 60, 65, 73, 75, 76, 84, 86, 92, 94, 101, 103], "instanti": [0, 57, 59], "instead": [0, 1, 59, 92, 102], "instrument": [57, 60], "insuffici": [0, 60], "int": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 60, 73, 74, 76, 77, 79, 80, 83, 84, 86, 88, 89, 90, 92, 93, 94, 96, 97, 98, 102, 103], "int64": [0, 27, 32, 39, 41, 47, 49, 60, 97, 103], "int_to_ip": 93, "int_val": 93, "intact": 1, "integ": [0, 60, 73, 80, 90, 93, 103], "integr": [0, 1, 57, 60, 73, 87, 92], "intellig": [0, 1, 57, 60], "intend": [0, 59, 60, 73], "intent": [0, 1], "inter": 57, "interact": [0, 1, 24, 29, 30, 31, 35, 39, 42, 44, 46, 51, 57, 60, 65, 73, 80, 92], "intercept": 1, "interconnect": 0, "interconnected": 57, "interfac": [0, 1, 31, 39, 42, 46, 57, 59, 60], "interfer": 1, "intermediari": 1, "intern": [1, 24, 33, 48, 59], "internalservererror": 25, "interneuron": [0, 60], "interpret": [24, 38, 73], "interv": 17, "invalid": [0, 25, 74], "invalidchild": [0, 25, 26, 40], "invalidconfigfil": 23, "invalidrequestnameerror": 25, "invers": 103, "invest": [0, 57, 60], "invok": 1, "involv": [0, 1, 57, 60, 73], "ip": [1, 2, 9, 13, 24, 33, 48, 57, 73, 77, 92, 93], "ip__str__": 93, "ip_address": 73, "ip_info": [7, 104], "ip_str": [2, 93], "ip_to_int": 93, "ip_typ": [2, 9, 13, 77, 92, 93], "ip_vers": 93, "ipifi": 93, "ipinfo": [9, 21], "ipv4": [2, 9, 13, 93], "ipv6": [2, 9, 13, 93], "is_async": 65, "is_blacklist": 73, "is_dynam": 6, "is_empti": 75, "is_failur": 73, "is_fast_block": [0, 60, 61], "is_hotkey_deleg": [0, 60, 63, 72], "is_hotkey_regist": [0, 60, 72], "is_hotkey_registered_ani": [0, 60, 72], "is_hotkey_registered_on_subnet": [0, 60, 70], "is_nul": [11, 12], "is_opt": 21, "is_regist": 16, "is_run": 1, "is_serv": 2, "is_set": 23, "is_stal": 96, "is_stale_async": 96, "is_subnet_act": [0, 60, 70], "is_success": 73, "is_timeout": 73, "is_valid_bittensor_address_or_public_kei": 89, "is_valid_ss58_address": 89, "is_vec": 21, "iso8601": 83, "issu": [1, 24], "item": [0, 73, 99], "iter": [0, 24, 57, 60, 73, 74, 77, 84, 92], "its": [0, 1, 2, 24, 34, 36, 37, 50, 52, 53, 57, 60, 73, 86, 92, 96], "itself": [1, 73], "j": 57, "json": [1, 2, 24, 58, 59, 73], "json_respons": 24, "json_str": 2, "jsondecodeerror": 2, "jsonrespons": 1, "judgment": 57, "just": [0, 57, 60, 65, 92], "k": [6, 74, 77, 92], "kappa": [10, 17, 19, 92], "keccak": 97, "keccak256": [33, 48], "keep": [0, 37, 45, 53, 60, 73], "keep_al": [0, 37, 53, 60], "kei": [0, 1, 2, 11, 15, 21, 26, 27, 32, 37, 39, 40, 41, 42, 47, 49, 53, 57, 60, 73, 74, 77, 89, 92, 99, 101, 103], "kept": 102, "keyfil": [0, 26, 40, 60, 87, 89], "keyfileerror": [0, 26, 40, 60, 89], "keypair": [0, 24, 60], "keyword": [59, 73, 74, 77, 92, 98], "know": [0, 1, 60, 92], "known": [0, 60, 89], "kwarg": [24, 59, 74, 75, 77, 83, 86, 92, 98], "lack": 93, "larg": 24, "larger": 1, "last": [0, 1, 11, 12, 33, 48, 57, 60, 65], "last_drand_round": [0, 60, 61], "last_step": [6, 10, 57], "last_upd": [10, 11, 12, 20, 57], "laststep": 10, "lastupd": 10, "latenc": 73, "latent": 58, "latent_lite_entrypoint": 58, "later": 57, "latest": [0, 48, 57, 60, 92, 102], "latest_block_path": 57, "latest_hash": 0, "layer": [0, 1, 57, 60], "lazi": 96, "lazili": 24, "lazyloadedtorch": 96, "lead": 1, "leakag": 24, "learn": [57, 60, 73], "learnbittensor": 0, "least": 1, "ledger": 57, "left": 93, "legaci": [87, 96], "legacy_method": 65, "legacy_torch_api_compat": 96, "length": [33, 48, 73, 84], "less": 57, "level": [0, 1, 17, 57, 60, 65, 71, 81, 83, 86, 87, 101], "levelnam": [82, 83], "leverag": [57, 86], "librari": 86, "lifecycl": 1, "lifespan": 73, "light": 57, "lighter": 5, "lightweight": 0, "like": [0, 1, 23, 24, 60, 73, 83], "limit": [0, 17, 25, 26, 38, 40, 54, 60, 96, 97, 103], "line": [0, 1, 60, 77, 94, 96], "lineno": [82, 83], "link": [0, 1, 16, 31, 46, 60], "liquid": [0, 17, 28, 43, 60, 89, 104], "liquid_alpha_en": [10, 17], "liquidalphaen": 10, "liquidity_delta": [0, 29, 44, 60], "liquidityposit": [0, 60, 90], "list": [0, 1, 4, 5, 8, 10, 11, 12, 14, 15, 20, 21, 23, 24, 26, 27, 31, 32, 34, 38, 39, 40, 41, 42, 46, 47, 49, 50, 54, 55, 57, 60, 65, 73, 74, 77, 89, 92, 94, 96, 98, 101, 103], "list_from_dict": 8, "list_from_vec_u8": 12, "listen": [1, 86], "lite": [0, 11, 57, 58, 60, 65, 92], "liter": 89, "live": 57, "load": [0, 1, 23, 57, 60, 76, 96], "load_from_path": 57, "local": [0, 1, 24, 57, 58, 60, 77, 89, 92, 93], "local_entrypoint": 58, "local_synaps": 24, "localhost": 65, "locat": 57, "lock": [0, 16, 60, 96], "log": [0, 1, 23, 24, 31, 46, 60, 65, 81, 82, 83, 84, 85, 86, 87, 89, 92, 96, 97], "log_and_handle_error": 1, "log_cuda_error": 97, "log_except": 24, "log_format": 83, "log_level": 1, "log_level_color_prefix": 83, "log_no_torch_error": 96, "log_trace_format": 83, "log_verbos": [0, 31, 46, 60, 65, 77, 92, 94, 96], "logger": [75, 81, 84, 85, 86], "logging_dir": 86, "loggingconfig": 86, "loggingmachin": [81, 85, 104], "logic": [1, 59, 73, 76], "logo": [31, 46], "logo_url": [18, 31, 46], "logrecord": 83, "long": [0, 60], "longer": 24, "longest": 84, "longtensor": [0, 27, 39, 41, 49, 60, 103], "loop": 24, "low": [0, 17, 25, 60], "lower": [0, 29, 44, 60, 103], "lynch": 76, "m": 82, "machin": [1, 57, 60, 73], "made": [0, 17, 25, 60], "mai": [57, 92], "main": [0, 1, 60, 76, 89, 96], "mainli": [0, 57, 60, 65, 92], "maintain": [0, 1, 57, 60, 73, 87, 90, 92], "mainten": 1, "major": 57, "make": [0, 1, 24, 37, 53, 57, 60, 73, 76, 92], "malici": 1, "manag": [0, 1, 23, 24, 57, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 72, 73, 84, 86, 90, 92], "mani": [0, 25, 26, 40], "manipul": 1, "manner": [1, 96], "map": [0, 4, 11, 12, 60, 74, 77, 89, 92, 93, 101], "mark": 1, "market": 60, "match": [1, 55, 80, 103], "math": 57, "matrix": [0, 57], "max": [1, 25, 33, 48, 103], "max_allowed_attempt": [0, 31, 46, 60], "max_allowed_valid": 19, "max_burn": [10, 17], "max_difficulti": [10, 17], "max_int_weight": 103, "max_length": 84, "max_n": 19, "max_regs_per_block": [10, 17], "max_retri": [0, 60], "max_tick": 90, "max_uid": [10, 57], "max_valid": [10, 17], "max_valu": 103, "max_weight_limit": [0, 17, 19, 60, 70, 103], "max_weights_limit": 10, "max_work": [1, 75], "maxattemptsexcept": 25, "maxburn": 10, "maxdifficulti": 10, "maximum": [0, 17, 24, 30, 31, 34, 38, 45, 46, 50, 54, 60, 73, 75, 103], "maxregsperblock": 10, "maxsiz": 75, "maxsuccessexcept": 25, "maxuid": 10, "maxvalid": 10, "maxweightslimit": [0, 10, 60], "mean": [0, 1, 60, 73, 94, 96], "measur": [57, 60], "mechan": [0, 1, 35, 51, 57, 60, 73, 76, 92], "meet": 1, "member": [0, 60], "merg": [23, 24], "merkl": 101, "messag": [0, 1, 21, 24, 25, 26, 27, 29, 31, 33, 35, 36, 38, 40, 41, 44, 46, 48, 51, 52, 54, 60, 73, 81, 82, 83, 86, 89, 96], "met": 25, "meta_info": [0, 60], "metadata": [0, 11, 12, 21, 25, 31, 33, 46, 48, 57, 60, 73, 92, 101], "metadata_storage_funct": 101, "metadataerror": [25, 33, 48], "metagraph": [0, 24, 56, 60, 65, 87, 103, 104], "metagraph_info": [7, 104], "metagraph_state_dict_ndarray_kei": 57, "metagraphinfo": [0, 10, 21, 60], "metagraphinfoemiss": [10, 57], "metagraphinfoparam": [10, 57], "metagraphinfopool": [10, 57], "metagraphmixin": 57, "method": [0, 1, 6, 20, 24, 33, 39, 42, 48, 57, 59, 60, 65, 73, 75, 77, 80, 83, 86, 92, 96], "metric": [57, 73], "middlewar": 1, "middleware_cl": 1, "might": 1, "mileston": 0, "millifi": 88, "millisecond": 83, "min_allowed_weight": [0, 10, 17, 19, 60, 70, 103], "min_burn": [10, 17], "min_difficulti": [10, 17], "min_required_stak": 92, "min_tick": 90, "minallowedweight": [0, 10, 60], "minburn": 10, "mindifficulti": 10, "mine": [0, 60], "miner": [0, 23, 57], "miners_dir": 58, "minimum": [0, 17, 26, 40, 60, 92, 103], "mismatch": 1, "miss": 0, "ml": 73, "mock": [0, 60, 65, 77, 89, 104], "mock_subpackag": 87, "mockchainst": 92, "mockmapresult": 92, "mocksubtensor": 92, "mocksubtensorst": 92, "mocksubtensorvalu": 92, "mocksystemst": 92, "modal": 19, "mode": [0, 60, 86], "model": [0, 57, 59, 73, 74], "model_config": [59, 73, 74], "model_dump_json": 73, "model_validate_json": 73, "modern": 1, "modif": 73, "modifi": [0, 21, 29, 44, 59, 60, 101], "modify_liquid": [0, 60, 64], "modify_liquidity_extrins": [29, 44], "modul": [7, 85], "module_nam": [0, 60, 92], "moment": 90, "monitor": 73, "monoton": 73, "more": [0, 31, 46, 57, 60, 88, 94, 96], "most": [0, 57, 60, 92], "mostli": 60, "move": [0, 17, 30, 45, 60], "move_stak": [0, 28, 43, 60, 64, 104], "move_stake_extrins": [30, 45], "movement": [0, 60], "moving_pric": [6, 10], "movingpric": 10, "msg": [0, 39, 42, 60, 86, 89], "much": [6, 57], "multi": 1, "multipl": [0, 1, 24, 57, 60, 94, 96], "multipli": 17, "multiprocess": 96, "munch": 23, "must": [0, 29, 32, 35, 39, 44, 47, 49, 51, 57, 59, 60, 86, 89, 93, 103], "mutat": 1, "mutual": [0, 60], "my_axon": 1, "my_config": 1, "my_liquidity_delta": [0, 60], "my_wallet": [0, 1, 60], "mycustomsynaps": 1, "mysynaps": [1, 73], "n": [57, 88, 89, 103], "n_block": 76, "nai": 14, "name": [0, 1, 3, 10, 21, 24, 25, 31, 46, 57, 59, 60, 73, 74, 75, 76, 77, 82, 83, 84, 86, 92, 101], "namedtupl": 86, "namespac": 23, "nanosecond": 79, "nanoseconds_in_second": 79, "nativ": 73, "natur": [0, 24, 57, 60], "ndarrai": [0, 27, 32, 39, 41, 47, 49, 57, 60, 74, 103], "nearest": 90, "necessari": [1, 24, 57, 73], "need": [0, 1, 21, 60, 73, 76], "neg": [0, 29, 44, 60], "nest": [10, 23], "netuid": [0, 1, 4, 6, 10, 11, 12, 16, 19, 20, 24, 26, 27, 29, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 57, 60, 77, 80, 90, 92, 94, 96, 103], "network": [0, 1, 2, 4, 6, 7, 11, 12, 20, 24, 25, 26, 27, 30, 31, 32, 33, 34, 38, 39, 40, 41, 42, 46, 47, 48, 50, 54, 55, 57, 58, 59, 60, 65, 73, 77, 89, 90, 92, 94, 96, 98, 103, 104], "network_explorer_map": 58, "network_map": [58, 89], "network_registered_at": [6, 10, 57], "networkregisteredat": 10, "networksad": 92, "neural": 57, "neurip": 57, "neuron": [0, 1, 2, 7, 11, 12, 24, 25, 26, 33, 34, 36, 39, 40, 42, 48, 49, 50, 52, 57, 60, 65, 73, 92, 103, 104], "neuron_for_uid": [0, 60, 67, 92], "neuron_for_uid_lit": 92, "neuron_incent": 57, "neuron_info": [0, 2, 7, 60, 104], "neuron_info_lit": [7, 104], "neuron_lit": 11, "neuron_rank": 57, "neuroninfo": [0, 11, 21, 57, 60, 92], "neuroninfolit": [0, 11, 12, 21, 57, 60, 92], "neurons_lit": [0, 60, 67, 92], "new": [0, 1, 10, 15, 21, 22, 23, 24, 31, 35, 46, 51, 57, 59, 60, 73, 74, 75, 77, 89, 92, 94, 96], "new_coldkei": 15, "newblockev": 96, "next": [0, 1, 60], "nich": 60, "nn": [2, 9, 24, 57], "no_error": 76, "node": [0, 1, 57, 60, 65, 73, 76, 92, 98], "nomin": [0, 4, 5, 25, 36, 52, 60], "nominationerror": 25, "non": [0, 1, 25, 26, 40, 73, 89], "nonassociatedcoldkei": [0, 25, 26, 40, 60], "nonc": [0, 1, 31, 46, 60, 73, 79, 94, 96, 97], "nonce_kei": [0, 60], "nonce_start": 97, "none": [0, 1, 6, 10, 11, 12, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 57, 59, 60, 65, 73, 74, 75, 76, 77, 79, 83, 84, 86, 89, 92, 94, 96, 97, 101, 103], "nontorchmetagraph": 57, "normal": 103, "normalize_max_weight": 103, "notdelegateerror": 25, "note": [29, 33, 44, 48, 60, 76, 92, 93], "notenoughstaketosetchildkei": [0, 25, 26, 40], "notic": 80, "notregisterederror": 25, "notverifiedexcept": 25, "now": [0, 1, 57, 60, 73], "np": [32, 39, 47, 49, 60, 74, 103], "null": [0, 11, 12, 60, 92], "null_entri": 75, "num": 88, "num_neuron": 103, "num_proc": 96, "num_process": [0, 31, 46, 60, 94, 96], "num_uid": [10, 57], "number": [0, 1, 2, 13, 15, 17, 21, 22, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 75, 76, 80, 88, 92, 94, 96, 97, 103], "numer": 1, "numpi": [0, 27, 41, 57, 60, 74, 96, 97, 103], "numpyortorch": 57, "numuid": 10, "o": 0, "obj": 73, "object": [0, 1, 2, 6, 8, 9, 10, 12, 16, 20, 21, 24, 30, 31, 32, 33, 34, 37, 38, 39, 46, 47, 48, 49, 50, 53, 54, 57, 59, 60, 65, 73, 74, 75, 77, 80, 86, 89, 92], "occur": [0, 1, 24, 60], "off": [24, 86, 89], "offer": [0, 1, 24, 60, 92], "offlin": [1, 57], "often": 57, "old": [0, 15, 60, 65, 92], "old_bal": 34, "old_coldkei": 15, "older": 87, "omit": 83, "on_error": 0, "onc": [0, 60], "one": [0, 1, 23, 24, 30, 33, 45, 48, 57, 60, 74, 75, 77, 83, 92], "ongo": 1, "onli": [0, 1, 24, 57, 59, 60, 65, 73, 74, 76, 86, 92], "open": 24, "opentensor": 58, "oper": [0, 1, 17, 24, 25, 26, 38, 40, 54, 57, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 72, 73, 80, 92, 96, 103], "optim": 73, "option": [0, 1, 10, 11, 12, 15, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 74, 75, 76, 77, 79, 80, 83, 86, 89, 92, 93, 96, 98, 101, 103], "order": [73, 77], "org": [0, 58], "origin": [1, 30, 60, 73, 83], "origin_coldkey_ss58": [0, 60], "origin_hotkei": [0, 30, 45, 60], "origin_hotkey_ss58": [0, 60], "origin_netuid": [0, 30, 45, 60], "origin_pric": [0, 60], "origin_subnet_pric": [0, 60], "other": [0, 1, 11, 23, 24, 57, 60, 65, 73, 75, 84, 92], "otherwis": [0, 24, 30, 31, 33, 38, 39, 42, 46, 48, 54, 60, 73, 75, 89, 92], "our": 75, "out": 1, "outcom": 73, "outlin": 57, "output": [1, 31, 46, 96], "output_in_plac": [0, 31, 46, 60, 94, 96], "over": [0, 4, 5, 24, 57, 73, 96], "overal": [0, 60], "overflow": 25, "overhead": 57, "overload": 73, "overrid": [1, 73, 77, 83, 89], "overridden": [73, 96], "overview": [0, 60, 92], "own": [0, 25, 26, 40, 57, 60, 73], "owner": [0, 4, 5, 38, 45, 54, 60], "owner_coldkei": [6, 10, 57], "owner_hotkei": [6, 10, 57], "owner_ss58": [4, 5, 19], "ownercoldkei": 10, "ownerhotkei": [0, 10, 60], "ownership": [0, 45, 60], "pack": 96, "packag": [73, 86, 98, 102], "page": 104, "pair": [0, 16, 45, 60, 73, 74, 77, 92], "pallet": 101, "paper": 57, "param": [0, 24, 60, 80, 87, 92, 101, 103], "param_nam": [0, 23, 60], "paramet": [0, 1, 2, 5, 6, 8, 9, 10, 11, 14, 15, 16, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 86, 87, 88, 89, 90, 92, 93, 94, 96, 97, 98, 101, 102, 103], "parameter_dict": [2, 9], "parameterdict": [2, 9], "params_dict": 0, "params_encod": 101, "params_list": 0, "paramwithtyp": [0, 60, 77], "parent": [0, 25, 26, 40, 59, 60], "parentkei": [0, 60], "pars": [1, 24, 25, 59, 73, 74, 76], "parse_headers_to_input": 73, "parser": [1, 23, 65, 75, 77, 86], "part": [0, 1, 6, 57, 60, 73], "parti": 86, "partial": [0, 30, 34, 38, 45, 50, 54, 60], "partial_meta_info": [0, 60], "particip": [0, 1, 34, 50, 57, 60, 92], "particular": [0, 4, 55, 60], "particularli": [0, 57, 60, 73], "pass": [0, 1, 24, 29, 32, 38, 39, 44, 47, 49, 54, 59, 60, 75, 76, 89, 92, 103], "password": [0, 26, 40, 60, 89], "passworderror": [0, 26, 40, 60, 89], "past": [0, 57], "path": [1, 57], "pattern": 0, "payload": [1, 73, 98], "peer": 57, "penalti": [0, 60], "pend": [0, 60, 75], "pending_alpha_emiss": [6, 10], "pending_root_emiss": [6, 10], "pendingalphaemiss": 10, "pendingchildkei": [0, 60], "pendingrootemiss": 10, "per": [0, 1, 4, 5, 17, 31, 46, 57, 60, 94, 96, 97], "perceiv": 60, "percentag": [0, 4, 5, 6, 34, 36, 38, 50, 52, 54, 60], "perform": [0, 1, 24, 57, 60, 73, 80, 86, 92], "period": [0, 17, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 92], "permit": [0, 11, 12, 25, 57, 60], "persist": 57, "person": 76, "pickl": [57, 76], "piec": 24, "ping": 24, "pipaddress": 58, "pipelin": 1, "pivot": [1, 57, 73], "place": [0, 1, 15, 24, 57, 60, 94, 96], "placehold": [33, 48, 84], "placeholder1": [2, 33, 48, 77, 92], "placeholder2": [2, 33, 48, 77, 92], "plai": [1, 57, 73], "plan": [0, 60, 92], "point": [0, 57, 60, 80, 92], "pool": [0, 1, 6, 10, 29, 44, 57, 60], "popul": [0, 11, 60, 92], "port": [1, 2, 13, 33, 48, 73, 77, 92, 93], "portal": [31, 46], "posit": [0, 1, 29, 44, 59, 60, 73, 74, 90], "position_id": [0, 29, 44, 60], "possibl": 77, "post": 24, "postprocess": 1, "postprocessexcept": 25, "potenti": [0, 1, 39, 42, 57, 60], "pow": [25, 31, 46, 80, 94, 95, 97, 104], "pow_registration_allow": 10, "power": 76, "powregistrationallow": 10, "powsolut": [94, 96], "practic": 57, "preced": 77, "precis": 90, "predefin": 1, "prefix": [1, 73, 75, 77, 86], "prepar": [0, 60, 86, 98], "prepare_synaps": 98, "prepare_synapse_fn": 98, "prepend": 77, "preprocess": [1, 24], "preprocess_synapse_for_request": 24, "presenc": [0, 1, 60], "present": [0, 10, 60, 73], "preserv": 73, "presum": [0, 60, 65, 92], "prevent": [0, 1, 24, 60, 96], "previou": [1, 55, 57], "previous": [0, 60], "price": [0, 6, 29, 30, 34, 38, 44, 45, 50, 54, 60, 90], "price_high": [0, 29, 44, 60, 90], "price_low": [0, 29, 44, 60, 90], "price_step": 90, "price_to_tick": 90, "primari": [31, 46, 73, 86], "primarili": 57, "principl": 57, "print": [0, 1, 23, 24, 60, 65, 73, 77, 94, 96], "prior": [34, 73], "priorit": 1, "prioriti": [1, 25, 75], "prioritize_my_synaps": 1, "prioritize_my_synapse_2": 1, "priority_custom": 1, "priority_fn": 1, "priorityexcept": 25, "prioritythreadpoolexecutor": [23, 75], "privat": 1, "privileg": [0, 60], "problem": [0, 96, 97], "proc_num": 96, "proce": 1, "process": [0, 1, 10, 17, 21, 24, 29, 31, 34, 35, 44, 46, 50, 51, 57, 59, 60, 73, 74, 76, 86, 92, 94, 96, 98, 102, 103], "process_error_messag": 24, "process_nest": 10, "process_respons": 98, "process_responses_fn": 98, "process_server_respons": 24, "process_stake_data": 21, "process_streaming_respons": 59, "process_tim": 73, "process_weight": 103, "process_weights_for_netuid": 103, "processing_dur": 73, "processor": 1, "produc": 73, "program": 1, "progress": [0, 60, 94, 96], "prohibit": 1, "project": [83, 85, 87], "prolifer": [0, 60], "prometheu": [11, 12, 13, 77], "prometheus_info": [7, 11, 12, 104], "prometheusinfo": [11, 12, 13], "prometheusinfodict": 92, "prometheusservecallparam": [77, 92], "promptli": 1, "proof": [0, 31, 46, 60, 94, 96, 97], "propag": 57, "proper": [24, 39, 42, 57, 73], "properli": [1, 24], "properti": [0, 2, 24, 57, 60, 65, 73, 75, 80], "proport": [0, 25, 26, 40, 57, 60], "proportionoverflow": [0, 25, 26, 40], "propos": [0, 14, 60], "proposal_dict": 14, "proposal_hash": [0, 60], "proposal_vote_data": [7, 104], "proposalvotedata": [0, 14, 60], "protect": [0, 30, 45, 57, 60], "protocol": [1, 2, 9, 33, 48, 73, 77, 92], "provid": [0, 1, 7, 11, 21, 24, 26, 27, 31, 39, 40, 41, 42, 46, 55, 57, 59, 60, 65, 73, 76, 77, 80, 84, 85, 86, 89, 90, 92, 94, 96, 97, 99, 101, 103], "provis": 90, "proxi": 96, "prune": [11, 12], "pruning_scor": [10, 11, 12, 20, 57], "pruningscor": 10, "public": [0, 1, 37, 53, 57, 60], "publish": [0, 33, 48, 60, 86, 92], "publish_metadata": [0, 33, 48, 60], "punit": [0, 60], "purpos": 0, "put": 96, "pydant": [59, 73, 74], "pydantic_cor": [59, 73, 74], "pypi": [58, 102], "python": [0, 76], "pytorch": [57, 103], "pyvalueerror": 76, "qualiti": 0, "quantil": 103, "queri": [0, 24, 25, 48, 57, 60, 65, 73, 92, 98, 104], "query_api": 98, "query_const": [0, 60, 68, 92], "query_ident": [0, 60, 67], "query_map": [0, 60, 68], "query_map_subtensor": [0, 60, 68, 92], "query_modul": [0, 60, 68], "query_respons": [0, 60, 92], "query_runtime_api": [0, 60, 68], "query_subtensor": [0, 60, 68, 92], "querymapresult": [21, 60], "queue": [1, 75, 86, 96], "queuehandl": 86, "queuelisten": 86, "quick": [0, 60, 73, 92], "quicker": 57, "quicknet": 76, "quot": 90, "r": 57, "rais": [0, 1, 2, 21, 23, 24, 25, 26, 33, 34, 36, 40, 48, 50, 52, 57, 59, 60, 73, 74, 75, 76, 89, 92, 93, 94, 96, 102], "raise_error": [0, 26, 36, 40, 52, 60, 89], "randomli": [0, 60], "rang": [0, 1, 29, 44, 60, 90, 93], "rank": [0, 1, 10, 11, 12, 20, 57, 60, 92], "rao": [0, 21, 60, 80, 92], "rao_symbol": 58, "rao_unit": 80, "raopertao": 89, "rate": [0, 11, 17, 25, 26, 40, 57, 60, 92], "rate_toler": [0, 30, 34, 38, 45, 50, 54, 60], "rather": [0, 24, 26, 40, 60, 73], "ratio": [0, 30, 38, 45, 54, 60], "raw": [73, 74, 101], "raw0": [33, 48], "re": [0, 60, 73], "reach": [0, 25, 60, 76], "read": 73, "read_onli": 58, "readabl": [1, 88, 89], "readi": [1, 59], "real": [0, 60, 92], "realli": 1, "realloc": [0, 60], "reap": [0, 60], "receiv": [0, 1, 6, 24, 57, 60, 73], "received_head": 73, "receiver_hotkei": 1, "recent": [0, 60, 87, 92], "recipi": [37, 53], "reclaim": 75, "recogn": 60, "recommend": [24, 73], "recomput": 1, "reconstitut": 57, "reconstruct": [1, 73], "record": [0, 29, 44, 57, 60, 83, 92], "record_log": 86, "recurs": 73, "recycl": [0, 31, 46, 60, 70], "redeploi": 1, "reduc": [0, 57, 60], "refer": [0, 57, 60, 92, 105], "reflect": [0, 57, 60], "refus": 0, "regardless": [37, 53], "regist": [0, 1, 4, 5, 25, 26, 31, 32, 40, 46, 47, 60, 64, 86, 92, 94, 96], "register_cuda": [95, 104], "register_extrins": [31, 46], "register_primary_logg": 86, "register_subnet": [0, 60, 64, 70], "register_subnet_extrins": [31, 46], "registr": [0, 1, 2, 4, 5, 9, 17, 24, 25, 27, 28, 41, 43, 57, 60, 74, 89, 103, 104], "registration_allow": [10, 17], "registrationallow": 10, "registrationerror": 25, "registrationnotpermittedonrootsubnet": [0, 25, 26, 40], "registrationstatist": 96, "registrationstatisticslogg": 96, "registri": 7, "reject": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 92], "relat": [0, 11, 13, 25, 31, 46, 60], "relationship": [0, 57, 60], "releas": [1, 24, 57], "relev": [0, 1, 2, 26, 40, 60], "reli": 1, "reliabl": [1, 57, 73], "relianc": 1, "reload": 57, "remain": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 92], "remov": [0, 1, 29, 38, 44, 54, 60, 86], "remove_liquid": [0, 60, 64], "remove_liquidity_extrins": [29, 44], "replac": 83, "replai": 1, "replic": 73, "repositori": [0, 31, 46, 60], "repr": 89, "repres": [0, 1, 2, 4, 6, 9, 11, 12, 13, 15, 16, 17, 22, 24, 33, 48, 55, 57, 60, 73, 74, 75, 80, 92], "represent": [0, 1, 2, 24, 33, 48, 57, 60, 73, 77, 80, 93, 101, 103], "reput": 57, "request": [0, 1, 24, 25, 26, 33, 40, 48, 60, 65, 73, 92, 102], "request_nam": 24, "requestresponseendpoint": 1, "requir": [0, 1, 25, 33, 39, 42, 48, 57, 59, 60, 73, 92], "required_hash_field": 73, "reserv": 2, "reset": [0, 17, 33, 48, 60, 92, 97], "reset_bond": [33, 48], "reset_cuda": 97, "resourc": [0, 1, 24, 57, 60, 75], "respect": 57, "respond": 1, "respons": [0, 1, 24, 25, 31, 32, 33, 34, 37, 46, 47, 48, 49, 50, 53, 57, 59, 65, 73, 98], "response_overrid": 1, "restart": 57, "restor": 57, "restrict": [0, 60], "result": [0, 1, 27, 41, 60, 73, 83, 89, 98, 101], "retri": [0, 60, 65, 92], "retriev": [0, 1, 55, 57, 59, 60, 92, 102], "retry_forev": [0, 60, 65, 92], "return": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 21, 22, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 65, 73, 74, 75, 76, 77, 79, 80, 83, 84, 86, 89, 90, 92, 93, 94, 96, 97, 98, 101, 102, 103], "return_per_1000": [4, 5], "return_str": 76, "reus": [0, 1, 24, 60], "reusablecoroutin": 92, "reuse_block": [0, 33, 60], "reveal": [0, 17, 21, 22, 27, 39, 41, 42, 60, 76], "reveal_round": [0, 22, 60, 76], "reveal_weight": [0, 60, 64], "reveal_weights_extrins": [39, 42], "revel": [0, 60, 76], "reverse_network_map": 58, "reward": [0, 36, 52, 57, 60], "rfc": 83, "rho": [10, 17, 19, 92], "robust": 73, "role": [0, 1, 57, 60, 73, 92], "root": [0, 25, 26, 28, 40, 43, 57, 60, 65, 71, 73, 84, 103, 104], "root_dir": 57, "root_regist": [0, 60, 64], "root_register_extrins": [32, 47], "root_set_pending_childkey_cooldown": [0, 60, 64], "root_set_pending_childkey_cooldown_extrins": [26, 40], "root_set_weight": [0, 60, 64], "root_tao_stake_weight": 58, "round": [0, 22, 60, 76], "round_numb": 22, "rounds_tot": 96, "rout": 73, "router": [1, 93], "row": [57, 103], "row_bond": 103, "row_weight": 103, "rpc": [0, 7, 60], "rule": [0, 1, 60, 92], "run": [0, 1, 60, 73, 75, 89, 92, 94, 96], "run_async": 24, "run_in_thread": 1, "runexcept": 25, "runtim": [0, 1, 57, 60], "runtime_api": [0, 60], "runtime_config": 101, "runtimeconfigurationobject": 101, "runtimeerror": 57, "s0": 83, "s39": 83, "safe": [0, 24, 60, 73, 75, 96], "safe_glob": 57, "safe_stak": [0, 30, 34, 38, 45, 50, 54, 60], "safeti": [0, 30, 34, 38, 45, 50, 54, 60], "salt": [0, 39, 42, 60, 103], "same": [0, 1, 23, 26, 40, 45, 60, 73, 76, 94, 96], "sanit": 73, "save": [57, 83, 102], "scalabl": [0, 1, 60], "scale": [0, 7, 21, 60], "scale_typ": 101, "scalebyt": [21, 101], "scalecodec": [0, 21, 60, 80, 101], "scaleobj": [0, 60, 92], "scaletyp": [80, 101], "scaling_law_pow": 19, "scenario": [1, 24], "schedul": [15, 75], "scheduled_coldkey_swap_info": [7, 104], "scheduledcoldkeyswapinfo": [15, 21], "schema": 73, "score": [11, 12, 57], "seal": [96, 97], "seamless": [1, 87], "seamlessli": 1, "search": 55, "second": [0, 6, 24, 26, 27, 31, 40, 41, 46, 60, 65, 76, 79, 98, 102], "secur": [0, 1, 57, 60, 73, 92], "see": [0, 23, 25, 60, 74, 75, 77, 80, 89, 92, 93, 102], "seen": [1, 73], "selectivemetagraphindex": [0, 10, 60], "self": [0, 1, 23, 24, 25, 59, 73, 74, 75, 77, 80, 89, 92, 93, 102], "senat": [0, 14, 60], "send": [24, 31, 46, 57, 59, 73], "sender": 1, "sensit": [0, 57, 60, 73, 92], "sent": [1, 24, 59, 73], "separ": [1, 73, 86], "sequenti": 24, "serial": [1, 22, 57, 73, 74], "serialized_commit": [0, 60], "serialized_data": 73, "serv": [0, 1, 2, 28, 43, 57, 60, 73, 77, 92, 104], "serve_axon": [0, 60, 64], "serve_axon_extrins": [33, 48], "serve_extrins": [33, 48], "server": [1, 24, 25, 31, 46, 59], "server_respons": 24, "servic": [1, 17, 33, 48], "serving_rate_limit": [10, 17], "servingratelimit": 10, "session": [24, 57], "set": [0, 1, 2, 23, 24, 25, 26, 31, 32, 33, 34, 36, 37, 38, 39, 40, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 60, 73, 76, 77, 80, 86, 87, 96, 103, 104], "set_children": [0, 60, 64], "set_children_extrins": [26, 40], "set_commit": [0, 60, 62], "set_config": 86, "set_consol": 86, "set_debug": 86, "set_default": 86, "set_delegate_tak": [0, 60, 63], "set_difficulti": 92, "set_info": 86, "set_name_typ": 73, "set_reveal_commit": [0, 60, 62], "set_root_weights_extrins": [32, 47], "set_subnet_ident": [0, 60, 64, 70], "set_subnet_identity_extrins": [31, 46], "set_trac": [83, 86], "set_unit": 80, "set_warn": 86, "set_weight": [0, 43, 60, 64, 104], "set_weights_extrins": [39, 49], "setlevel": 86, "setup": [0, 1, 60, 92], "setup_config": [65, 77], "sever": [1, 75, 99], "sgvsbg8gv29ybgq": 73, "sha256": [33, 48], "sha3": 73, "shape": [60, 74], "share": [0, 57, 80, 96], "should": [0, 1, 24, 31, 33, 46, 48, 57, 59, 60, 73, 74, 92, 94, 96], "should_exit": 1, "should_sync": 57, "shut": 1, "shutdown": [1, 75], "side": 1, "sign": [0, 1, 24, 29, 31, 35, 36, 44, 46, 51, 52, 57, 60], "sign_and_send_extrins": [0, 60, 65], "sign_with": [0, 60], "signal": [1, 24], "signatur": [1, 23, 25, 59, 73, 74, 75, 77, 80, 89, 92, 93, 102], "signifi": 57, "signific": [0, 60], "silent": 24, "similar": [0, 24, 57, 60, 65, 92], "simpl": [73, 101], "simpli": 73, "simplifi": [0, 57, 60, 92], "simul": [0, 60, 92], "sinc": [0, 60], "singl": [0, 24, 60, 101], "size": [57, 73], "skip": 84, "slippag": 6, "snapshot": [0, 57, 60, 92], "so": [73, 103], "softwar": 57, "solut": [25, 94, 96, 97], "solution_queu": 96, "solv": [0, 31, 46, 60, 94, 96, 97], "solve_cuda": 97, "solver": [25, 96], "some": [0, 17, 60, 65], "some_hotkei": 60, "some_hotkey_where_is_your_stake_now": [0, 60], "someconst": 0, "someth": 1, "sort": 1, "sourc": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 30, 31, 32, 33, 34, 37, 38, 39, 41, 42, 45, 46, 47, 48, 49, 50, 53, 54, 55, 57, 59, 60, 73, 74, 75, 77, 79, 80, 81, 83, 84, 86, 87, 88, 89, 92, 93, 94, 96, 97, 98, 99, 101, 102, 103], "spam": 1, "special": [1, 57, 59, 83], "specif": [0, 1, 4, 39, 42, 57, 59, 60, 65, 73, 75, 76, 86, 87, 92, 98], "specifi": [0, 1, 21, 24, 29, 33, 34, 38, 44, 48, 50, 54, 55, 57, 60, 73, 83, 86, 89, 92, 101], "specul": 57, "sphinx": 104, "ss58": [0, 4, 16, 21, 22, 26, 30, 34, 36, 38, 40, 45, 50, 52, 54, 55, 60, 89, 92], "ss58_address": [0, 37, 53, 60, 89, 92, 103], "ss58_address_length": 58, "ss58_address_to_byt": 89, "ss58_decod": 89, "ss58_format": 58, "ss58_to_vec_u8": 89, "stabil": [0, 57, 60], "stabl": 1, "stacklevel": 86, "stage": 1, "stake": [0, 4, 6, 11, 12, 16, 21, 25, 26, 28, 29, 30, 37, 38, 40, 43, 44, 45, 53, 54, 55, 57, 60, 65, 92, 104], "stake_data": 21, "stake_dict": [11, 12], "stake_info": [7, 104], "stakeerror": 25, "stakeinfo": [0, 16, 21, 55, 60], "staker": 6, "stale": [0, 96], "standard": [0, 57, 60, 73, 77, 85], "starlett": [1, 59], "start": [0, 1, 17, 35, 51, 60, 73, 86, 96, 97], "start_cal": [0, 28, 43, 60, 64, 65, 104], "start_call_extrins": [35, 51], "start_tim": 1, "stat": 96, "state": [0, 1, 6, 20, 24, 57, 60, 61, 73, 83, 86, 92, 101], "state_cal": [0, 60, 61], "state_dict": 57, "statemachin": 86, "static": [10, 11, 12, 57, 74, 77, 80, 92, 96], "statist": 96, "statu": [0, 1, 11, 24, 36, 52, 57, 60, 73, 86, 89, 92, 96], "status_cod": [1, 73], "status_messag": 73, "stdout": [1, 77], "step": [0, 1, 60], "stop": [1, 86, 96], "stopev": 96, "storag": [0, 60, 92, 99, 100, 104], "storage_funct": 101, "storagefunctionnotfound": 25, "storagekei": 101, "store": [57, 73, 80, 92, 96, 101], "str": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 58, 60, 65, 73, 74, 75, 76, 77, 80, 81, 83, 84, 86, 89, 90, 92, 93, 96, 97, 101, 102, 103], "str_val": 93, "strateg": [0, 60], "stream": [24, 56, 86, 104], "stream_respons": 59, "streamer": 59, "streamingrespons": 59, "streamingsynaps": [1, 24, 59], "streamlin": [0, 60, 92], "strict": [23, 89], "string": [0, 2, 9, 12, 21, 22, 24, 39, 42, 57, 60, 73, 74, 76, 77, 80, 83, 89, 92, 93, 101], "stronger": 57, "strtobool": 89, "struct": 76, "structur": [0, 2, 7, 10, 21, 57, 59, 60, 73, 92], "style": 83, "sub": [58, 85, 96], "subclass": [59, 73], "submiss": [0, 29, 35, 44, 51, 60], "submit": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 75, 92], "subnet": [0, 1, 2, 4, 5, 7, 9, 17, 18, 19, 24, 25, 29, 30, 31, 32, 34, 35, 38, 39, 42, 44, 45, 46, 47, 49, 50, 51, 54, 60, 65, 80, 89, 90, 92, 94, 96, 103, 104], "subnet_contact": [18, 31, 46], "subnet_emiss": 10, "subnet_exist": [0, 60, 70], "subnet_hyperparamet": [7, 104], "subnet_ident": [0, 6, 7, 10, 60, 104], "subnet_info": [7, 104], "subnet_is_act": 17, "subnet_nam": [6, 18, 31, 46], "subnet_st": [7, 104], "subnet_url": [18, 31, 46], "subnet_volum": [6, 10], "subnetemiss": 10, "subnethyperparamet": [0, 17, 21, 60], "subnetident": [0, 6, 10, 18, 21, 57, 60], "subnetinfo": [0, 19, 21, 60], "subnetrevealperiodepoch": [0, 60], "subnetsapi": 98, "subnetst": [20, 21], "subnetvolum": 10, "subnetwork": [0, 20, 31, 46, 60, 92], "subnetwork_n": [0, 19, 60, 70], "subnetworkdoesnotexist": [0, 25, 26, 40], "subnetworkn": [0, 60], "subscrib": [0, 25, 33, 48, 60], "subsequ": [1, 23, 24], "subset": [0, 60], "substrat": [0, 60, 65, 99, 101], "substrate_util": [89, 104], "substraterequestexcept": [0, 25, 34, 50, 60, 89], "subtensor": [0, 1, 23, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 77, 87, 89, 92, 94, 96, 103, 104], "subtensor_api": [56, 104], "subtensor_field": 71, "subtensor_mock": [91, 104], "subtensorapi": [65, 71], "subtensorinterfac": [34, 50], "subtensormixin": [0, 60, 77], "subtensormodul": [0, 60, 92], "subvortex": 58, "subvortex_entrypoint": 58, "succeed": [0, 38, 54, 60, 73], "success": [0, 1, 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 60, 73, 81, 86, 89, 92], "success_level_num": 83, "successfulli": [0, 29, 33, 35, 44, 48, 51, 60], "sudo_force_set_bal": 92, "suffici": [0, 60, 92], "suffix": [86, 88], "suggest": 57, "suitabl": 73, "sum": [0, 26, 40, 57, 73, 103], "superclass": 73, "suppli": 57, "support": [0, 1, 23, 60, 80], "supress": 89, "sure": 76, "swap": [0, 15, 30, 45, 60], "swap_stak": [0, 60, 64], "swap_stake_extrins": [30, 45], "sy": 89, "symbol": [6, 10, 57, 80], "synaps": [1, 24, 25, 56, 59, 79, 87, 98, 104], "synapse_dict": 73, "synapse_histori": 24, "synapse_nonc": 79, "synapse_timeout": 79, "synapse_to_respons": 1, "synapsedendritenoneexcept": 25, "synapseexcept": 25, "synapseparsingerror": 25, "sync": [0, 39, 41, 42, 49, 57, 65], "sync_substr": [21, 60], "synchron": [0, 24, 57, 60, 92, 96], "system": [0, 24, 57, 60, 84, 86, 87, 92, 96], "t": [0, 1, 8, 23, 25, 26, 40, 57, 60, 86, 89], "tailor": [1, 73], "take": [0, 1, 4, 5, 15, 25, 28, 43, 59, 60, 92, 104], "takeerror": 25, "taken": 73, "tamper": [0, 1, 60, 73], "tao": [0, 4, 5, 6, 10, 29, 31, 34, 38, 44, 46, 50, 54, 57, 60, 80, 90, 92], "tao_dividends_per_hotkei": [10, 57], "tao_fees_above_high": 90, "tao_fees_below_low": 90, "tao_in": [6, 10], "tao_in_emiss": [6, 10], "tao_slippag": 6, "tao_stak": [10, 20, 57], "tao_symbol": 58, "tao_to_alpha": 6, "tao_to_alpha_with_slippag": 6, "taodividendsperhotkei": 10, "taoin": 10, "taoinemiss": 10, "taostak": 10, "target": [0, 17, 24, 29, 35, 44, 51, 60], "target_axon": 24, "target_axon_info": 24, "target_regs_per_interv": [10, 17], "targetregsperinterv": 10, "task": [0, 1, 60, 73], "tcp": 9, "technic": [0, 60], "techniqu": 1, "technologi": [0, 60, 92], "templat": 83, "tempo": [0, 6, 10, 17, 19, 57, 60, 70], "temporarili": 1, "tensor": [2, 9, 56, 57, 73, 103, 104], "tensor_": 74, "term": [0, 60], "termin": [1, 73, 81], "terminal_info": 73, "terminalinfo": 73, "terminate_workers_and_wait_for_exit": 96, "test": [0, 57, 58, 60, 65, 77, 81, 89, 92], "text": [1, 83, 96], "textual": [31, 46], "th": 57, "than": [0, 1, 24, 26, 40, 60, 103], "thei": [0, 1, 6, 57, 60, 73, 103], "them": [0, 1, 24, 59, 60, 73], "themselv": [0, 60], "therebi": [0, 1, 60], "thereof": 93, "thi": [0, 1, 2, 4, 5, 6, 7, 10, 11, 12, 17, 20, 21, 23, 24, 25, 27, 31, 33, 37, 39, 41, 42, 46, 48, 53, 55, 57, 59, 60, 65, 73, 75, 76, 77, 80, 83, 84, 85, 86, 87, 90, 92, 94, 96, 97, 98, 101, 103, 104, 105], "thin": [0, 60], "think": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 73, 92], "third": 86, "those": [23, 24], "thread": [0, 1, 31, 46, 60, 75, 94, 96, 97], "thread_name_prefix": 75, "thread_pool": 1, "threadpool": [1, 56, 104], "threadpoolexecutor": 75, "threshold": [0, 14, 17, 60, 92, 103], "through": [1, 24, 55, 60, 84, 92], "throughout": 85, "tick": [0, 29, 44, 60, 90], "tick_index": 90, "tick_to_pric": 90, "time": [0, 1, 57, 60, 65, 73, 75, 76, 79, 83, 92, 96], "time_averag": 96, "time_sp": 96, "time_spent_tot": 96, "timelock": [56, 104], "timeout": [0, 1, 24, 31, 32, 33, 34, 37, 38, 39, 46, 47, 48, 49, 50, 53, 54, 60, 73, 79, 98, 102], "timestamp": [0, 1, 11, 12, 57, 60], "tl": [0, 33, 48, 60], "tle": 76, "tmp": 57, "to_dict": 23, "to_head": 73, "to_hex": 101, "to_parameter_dict": [2, 9], "to_str": [1, 2], "to_token_amount": 90, "todo": 57, "toggl": [0, 29, 44, 60], "toggle_user_liquid": [0, 60, 64], "toggle_user_liquidity_extrins": [29, 44], "token": [0, 38, 54, 57, 59, 60, 90, 92], "token_stream": 59, "toler": [0, 30, 34, 38, 45, 50, 54, 60], "tolist": 74, "too": [0, 25, 26, 40, 60, 65, 92], "tool": [0, 60, 73, 92], "toomanychildren": [0, 25, 26, 40], "toon_kei": 0, "top": 101, "topologi": [0, 1], "torch": [0, 2, 9, 24, 27, 39, 41, 49, 57, 60, 74, 89, 96, 103], "torchmetagraph": 57, "total": [0, 4, 5, 11, 12, 57, 60, 73, 96], "total_bit": 80, "total_daily_return": [4, 5], "total_s": 73, "total_stak": [4, 10, 11, 12, 20, 57], "totalstak": 10, "toward": [57, 60], "tpb": [0, 31, 46, 60, 94, 96, 97], "trace": [1, 83, 86, 87], "trace_level_num": 83, "trace_log_format": 82, "track": [0, 57, 60, 73], "transact": [0, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 73, 92], "transactor": [0, 25, 60], "transfer": [0, 17, 25, 28, 30, 43, 45, 60, 64, 92, 104], "transfer_al": [0, 37, 53, 60], "transfer_bal": 92, "transfer_extrins": [37, 53], "transfer_stak": [0, 60, 64], "transfer_stake_extrins": [30, 45], "transfererror": 25, "transfers_en": 17, "transform": [10, 73], "transit": [1, 86], "transmiss": [1, 73], "transmit": [24, 73], "transpar": [0, 60, 73], "transport": 73, "travers": 73, "tree": 101, "trigger": [0, 1, 33, 35, 48, 51, 60], "true": [0, 1, 2, 6, 24, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 71, 73, 75, 76, 77, 83, 86, 87, 89, 92, 94, 96], "trust": [0, 1, 10, 11, 12, 20, 57, 60], "trustworthi": [0, 1, 57, 60, 92], "truth": 89, "try": [25, 96], "tupl": [0, 1, 6, 10, 11, 21, 22, 24, 26, 27, 29, 31, 33, 35, 36, 38, 39, 40, 41, 42, 44, 46, 48, 51, 52, 54, 57, 60, 73, 75, 76, 77, 79, 86, 89, 90, 92, 97, 103], "tv": 57, "two": [74, 77, 80, 92], "two_x64_concat": 99, "tx_rate_limit": [0, 60, 61, 65], "txratelimitexceed": [0, 25, 26, 40], "type": [0, 1, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 73, 74, 75, 76, 79, 80, 83, 84, 86, 87, 89, 90, 92, 93, 94, 96, 97, 98, 101, 102, 103, 104], "type_nam": 21, "type_registri": 58, "type_str": 21, "typeddict": [77, 80, 92], "typeerror": [2, 21, 76], "typic": [0, 1, 57, 59, 60, 73], "u": 92, "u128": 80, "u16_max": [89, 103], "u16_normalized_float": 89, "u32": 103, "u32_max": 103, "u64": [0, 89], "u64_max": 89, "u64_normalized_float": 89, "u64f64": 80, "udp": 9, "uid": [0, 11, 12, 27, 29, 30, 33, 35, 38, 39, 41, 42, 44, 45, 48, 49, 51, 54, 57, 60, 80, 92, 103], "uint64": [0, 26, 39, 40, 49, 103], "unabl": [0, 25], "unauthor": [1, 73], "unchang": 93, "under": 0, "underli": [0, 1, 24, 57, 60, 86], "understand": [0, 57, 60, 92], "undesir": 1, "unifi": 24, "union": [0, 2, 6, 9, 10, 21, 24, 27, 31, 32, 33, 39, 41, 45, 46, 47, 48, 49, 57, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 72, 74, 76, 80, 89, 92, 94, 96, 97, 98, 103], "uniqu": [0, 1, 11, 12, 24, 31, 34, 38, 39, 42, 46, 50, 54, 55, 57, 60, 73, 92, 93, 103], "uniswap": 90, "unit": [0, 1, 57, 60, 80, 92], "unknownsynapseerror": 25, "unless": 24, "unlock": [0, 29, 35, 44, 51, 60, 89], "unlock_kei": 89, "unlock_typ": 89, "unlockstatu": 89, "unmet": 1, "unpickl": 57, "unpicklingerror": 57, "unsaf": [0, 60], "unstak": [0, 6, 25, 28, 34, 43, 50, 60, 64, 69, 104], "unstake_al": [0, 38, 54, 60, 64, 69], "unstake_all_extrins": [38, 54], "unstake_extrins": [38, 54], "unstake_multipl": [0, 60, 64, 69], "unstake_multiple_extrins": [38, 54], "unstakeerror": 25, "unsuccess": [0, 26, 40, 60, 89], "until": [0, 60, 75], "up": [0, 1, 24, 57, 60, 75, 77, 86, 87, 102], "updat": [0, 1, 11, 12, 24, 25, 31, 46, 57, 59, 60, 92, 96, 97], "update_curr_block": 96, "update_interv": [0, 31, 46, 60, 94, 96, 97], "upon": [0, 24, 57, 60], "upper": [0, 29, 44, 60, 97], "urgenc": 1, "url": [0, 1, 3, 24, 25, 31, 46, 60, 77, 89, 93], "urllib": 93, "us": [0, 1, 2, 6, 17, 21, 24, 27, 29, 31, 33, 34, 35, 37, 38, 39, 41, 42, 44, 46, 48, 50, 51, 53, 54, 57, 59, 60, 65, 73, 74, 75, 76, 77, 80, 83, 89, 92, 94, 96, 97, 98, 99, 101, 102, 103], "usag": [0, 1, 24, 60, 73, 76], "use_nonc": [0, 60], "use_torch": [2, 89, 96], "user": [0, 1, 17, 24, 29, 39, 42, 44, 57, 60, 73, 87, 103], "user_bittensor_dir": 58, "user_liquidity_en": 17, "using_new_loop": 24, "usingspawnstartmethod": 96, "usual": 25, "utf": [73, 89], "util": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 16, 19, 20, 24, 27, 29, 33, 34, 37, 38, 41, 43, 44, 48, 50, 53, 54, 57, 60, 65, 74, 77, 78, 104], "uuid": [1, 24, 73], "uvicorn": 1, "v": [74, 77, 92], "v10": 0, "v2": 0, "v3": 90, "v_7_2_0": 1, "val": [89, 92], "valid": [0, 1, 4, 5, 10, 11, 12, 17, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 74, 83, 89, 92, 96, 103], "validate_chain_endpoint": 89, "validationerror": [59, 73, 74], "validator_permit": [4, 5, 10, 11, 12, 20, 57], "validator_trust": [11, 12, 57], "validatorbatchs": 92, "validatorpermit": 10, "valu": [0, 1, 2, 10, 11, 12, 17, 21, 23, 26, 32, 39, 40, 42, 47, 49, 57, 60, 73, 74, 77, 79, 89, 90, 92, 96, 101, 103], "valuabl": [0, 57, 60, 73, 92], "value_scale_typ": 101, "valueerror": [0, 2, 89, 94, 96], "variabl": [0, 1, 2, 4, 9, 11, 12, 13, 15, 16, 17, 22, 57, 59, 73, 80], "variou": [0, 1, 57, 60], "vec_u8": 15, "vector": [0, 21], "verbos": [0, 60, 65, 92, 94, 96], "verif": [1, 73], "verifi": [0, 1, 25, 60, 73, 92], "verify_body_integr": 1, "verify_custom": 1, "verify_fn": 1, "verify_my_synaps": 1, "verify_my_synapse_2": 1, "versatil": [0, 60], "version": [0, 2, 5, 11, 13, 17, 27, 32, 39, 41, 42, 47, 49, 57, 60, 65, 73, 77, 83, 87, 89, 92, 93, 103, 104], "version_as_int": [0, 27, 41, 58, 60], "version_check": [89, 102], "version_check_threshold": 102, "version_kei": [0, 27, 32, 39, 41, 42, 47, 49, 60, 92, 103], "version_split": 58, "versioncheckerror": [89, 102], "via": [1, 60, 74, 77, 92], "viabil": [0, 60], "view": [0, 60, 92], "vital": [1, 57, 73], "vote": [0, 60], "w": [57, 58, 93], "w_": 57, "wa": [0, 1, 6, 23, 30, 31, 32, 33, 34, 37, 45, 46, 47, 48, 49, 50, 53, 57, 60, 73, 92], "wai": [0, 24, 60, 73, 77, 80], "wait": [0, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 65, 75, 76], "wait_for_block": [0, 60, 65], "wait_for_fin": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 92], "wait_for_inclus": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 92], "wait_reveal_and_decrypt": 76, "wallet": [0, 1, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 60, 65, 73, 80, 87, 89, 92, 94, 96, 98, 103, 104], "wallet_stak": [0, 60], "wallets_dir": 58, "want": [0, 57, 83], "warn": [81, 86, 87], "we": [31, 32, 33, 34, 37, 46, 47, 48, 49, 50, 53, 92, 93], "web": [31, 46], "websocket": [60, 77, 89, 93], "websocket_shutdown_tim": [0, 65], "weight": [0, 11, 12, 17, 22, 27, 28, 32, 41, 42, 47, 49, 57, 60, 70, 103, 104], "weight_commit_info": [7, 104], "weight_uid": 103, "weight_util": [89, 104], "weight_val": 103, "weightcommitinfo": 22, "weights_as_dict": 11, "weights_rate_limit": [0, 10, 17, 60, 70], "weights_vers": [10, 17], "weightsratelimit": 10, "weightssetratelimit": [0, 60], "weightsvers": 10, "well": [57, 80], "were": [0, 60], "when": [0, 1, 2, 23, 24, 25, 29, 30, 38, 39, 42, 44, 45, 54, 57, 60, 73, 75, 76, 86, 94, 96], "where": [0, 1, 6, 11, 21, 24, 26, 27, 31, 40, 41, 46, 57, 60, 65, 80, 92], "whether": [0, 1, 12, 21, 24, 27, 29, 31, 35, 37, 41, 44, 46, 51, 53, 57, 60, 65, 92, 98], "which": [0, 1, 5, 15, 17, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 73, 77, 92], "while": [0, 1, 45, 57, 60, 80, 90, 96], "who": [0, 60, 73], "whole": 2, "whose": [0, 60], "wide": [0, 57, 60], "window": 79, "withdraw": [0, 60], "withdrawn": [0, 60], "within": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 92, 96, 98], "without": [0, 1, 12, 24, 38, 54, 60, 73, 81, 92], "work": [0, 7, 24, 31, 39, 46, 60, 94, 96, 97], "worker": [1, 75, 96], "world": 73, "would": [0, 6, 30, 45, 60, 73], "wrap": 86, "wrapper": [39, 42, 73], "writabl": 89, "wrong": [0, 26, 40, 60, 76], "wss": [58, 65, 93], "x": [76, 89, 103], "x_person": 76, "x_person_2": 76, "xxh128": 99, "xxh64": 99, "y": [82, 89, 103], "ye": 89, "yet": 0, "yield": [1, 24, 84], "you": [0, 1, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 76, 83, 92], "your": [0, 1, 24, 57, 60, 65, 73, 76, 83, 92, 93], "yoursynaps": 1, "yuma": [0, 17, 57], "yuma_vers": 17, "zero": [0, 55, 60]}, "titles": ["bittensor.core.async_subtensor", "bittensor.core.axon", "bittensor.core.chain_data.axon_info", "bittensor.core.chain_data.chain_identity", "bittensor.core.chain_data.delegate_info", "bittensor.core.chain_data.delegate_info_lite", "bittensor.core.chain_data.dynamic_info", "bittensor.core.chain_data", "bittensor.core.chain_data.info_base", "bittensor.core.chain_data.ip_info", "bittensor.core.chain_data.metagraph_info", "bittensor.core.chain_data.neuron_info", "bittensor.core.chain_data.neuron_info_lite", "bittensor.core.chain_data.prometheus_info", "bittensor.core.chain_data.proposal_vote_data", "bittensor.core.chain_data.scheduled_coldkey_swap_info", "bittensor.core.chain_data.stake_info", "bittensor.core.chain_data.subnet_hyperparameters", "bittensor.core.chain_data.subnet_identity", "bittensor.core.chain_data.subnet_info", "bittensor.core.chain_data.subnet_state", "bittensor.core.chain_data.utils", "bittensor.core.chain_data.weight_commit_info", "bittensor.core.config", "bittensor.core.dendrite", "bittensor.core.errors", "bittensor.core.extrinsics.asyncex.children", "bittensor.core.extrinsics.asyncex.commit_reveal", "bittensor.core.extrinsics.asyncex", "bittensor.core.extrinsics.asyncex.liquidity", "bittensor.core.extrinsics.asyncex.move_stake", "bittensor.core.extrinsics.asyncex.registration", "bittensor.core.extrinsics.asyncex.root", "bittensor.core.extrinsics.asyncex.serving", "bittensor.core.extrinsics.asyncex.staking", "bittensor.core.extrinsics.asyncex.start_call", "bittensor.core.extrinsics.asyncex.take", "bittensor.core.extrinsics.asyncex.transfer", "bittensor.core.extrinsics.asyncex.unstaking", "bittensor.core.extrinsics.asyncex.weights", "bittensor.core.extrinsics.children", "bittensor.core.extrinsics.commit_reveal", "bittensor.core.extrinsics.commit_weights", "bittensor.core.extrinsics", "bittensor.core.extrinsics.liquidity", "bittensor.core.extrinsics.move_stake", "bittensor.core.extrinsics.registration", "bittensor.core.extrinsics.root", "bittensor.core.extrinsics.serving", "bittensor.core.extrinsics.set_weights", "bittensor.core.extrinsics.staking", "bittensor.core.extrinsics.start_call", "bittensor.core.extrinsics.take", "bittensor.core.extrinsics.transfer", "bittensor.core.extrinsics.unstaking", "bittensor.core.extrinsics.utils", "bittensor.core", "bittensor.core.metagraph", "bittensor.core.settings", "bittensor.core.stream", "bittensor.core.subtensor", "bittensor.core.subtensor_api.chain", "bittensor.core.subtensor_api.commitments", "bittensor.core.subtensor_api.delegates", "bittensor.core.subtensor_api.extrinsics", "bittensor.core.subtensor_api", "bittensor.core.subtensor_api.metagraphs", "bittensor.core.subtensor_api.neurons", "bittensor.core.subtensor_api.queries", "bittensor.core.subtensor_api.staking", "bittensor.core.subtensor_api.subnets", "bittensor.core.subtensor_api.utils", "bittensor.core.subtensor_api.wallets", "bittensor.core.synapse", "bittensor.core.tensor", "bittensor.core.threadpool", "bittensor.core.timelock", "bittensor.core.types", "bittensor", "bittensor.utils.axon_utils", "bittensor.utils.balance", "bittensor.utils.btlogging.console", "bittensor.utils.btlogging.defines", "bittensor.utils.btlogging.format", "bittensor.utils.btlogging.helpers", "bittensor.utils.btlogging", "bittensor.utils.btlogging.loggingmachine", "bittensor.utils.easy_imports", "bittensor.utils.formatting", "bittensor.utils", "bittensor.utils.liquidity", "bittensor.utils.mock", "bittensor.utils.mock.subtensor_mock", "bittensor.utils.networking", "bittensor.utils.registration.async_pow", "bittensor.utils.registration", "bittensor.utils.registration.pow", "bittensor.utils.registration.register_cuda", "bittensor.utils.subnets", "bittensor.utils.substrate_utils.hasher", "bittensor.utils.substrate_utils", "bittensor.utils.substrate_utils.storage", "bittensor.utils.version", "bittensor.utils.weight_utils", "API Reference", "Bittensor SDK Documentation"], "titleterms": {"api": 104, "async_pow": 94, "async_subtensor": 0, "asyncex": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "attribut": [1, 8, 23, 24, 25, 57, 58, 74, 75, 79, 82, 83, 85, 86, 87, 89, 90, 92, 96, 102, 103], "axon": 1, "axon_info": 2, "axon_util": 79, "balanc": 80, "bittensor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105], "btlog": [81, 82, 83, 84, 85, 86], "chain": 61, "chain_data": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "chain_ident": 3, "children": [26, 40], "class": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 77, 80, 81, 83, 86, 89, 90, 92, 96, 98, 101], "commit": 62, "commit_rev": [27, 41], "commit_weight": 42, "config": 23, "consol": 81, "content": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 94, 96, 97, 98, 99, 101, 102, 103, 105], "core": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "defin": 82, "deleg": 63, "delegate_info": 4, "delegate_info_lit": 5, "dendrit": 24, "document": 105, "dynamic_info": 6, "easy_import": 87, "error": 25, "exampl": [0, 23, 24, 57, 60, 65, 77, 81], "except": [23, 25, 75, 93, 102], "extrins": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 64], "format": [83, 88], "function": [0, 1, 10, 21, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 71, 73, 74, 76, 79, 80, 84, 87, 88, 89, 90, 93, 94, 96, 97, 99, 102, 103], "hasher": 99, "helper": 84, "info_bas": 8, "ip_info": 9, "liquid": [29, 44, 90], "loggingmachin": 86, "metagraph": [57, 66], "metagraph_info": 10, "mock": [91, 92], "modul": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 86, 87, 88, 90, 92, 93, 94, 96, 97, 98, 99, 101, 102, 103], "move_stak": [30, 45], "network": 93, "neuron": 67, "neuron_info": 11, "neuron_info_lit": 12, "note": 0, "packag": [65, 85, 89], "pow": 96, "prometheus_info": 13, "proposal_vote_data": 14, "queri": 68, "refer": 104, "register_cuda": 97, "registr": [31, 46, 94, 95, 96, 97], "root": [32, 47], "scheduled_coldkey_swap_info": 15, "sdk": 105, "serv": [33, 48], "set": 58, "set_weight": 49, "stake": [34, 50, 69], "stake_info": 16, "start_cal": [35, 51], "storag": 101, "stream": 59, "submodul": [7, 28, 43, 56, 65, 78, 85, 89, 91, 95, 100], "subnet": [70, 98], "subnet_hyperparamet": 17, "subnet_ident": 18, "subnet_info": 19, "subnet_st": 20, "substrate_util": [99, 100, 101], "subtensor": 60, "subtensor_api": [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72], "subtensor_mock": 92, "synaps": 73, "tabl": 105, "take": [36, 52], "tensor": 74, "threadpool": 75, "timelock": 76, "transfer": [37, 53], "type": 77, "unstak": [38, 54], "util": [21, 55, 71, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103], "version": 102, "wallet": 72, "weight": 39, "weight_commit_info": 22, "weight_util": 103}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API Reference": [[102, null]], "Attributes": [[1, "attributes"], [8, "attributes"], [23, "attributes"], [24, "attributes"], [25, "attributes"], [57, "attributes"], [58, "attributes"], [74, "attributes"], [75, "attributes"], [79, "attributes"], [82, "attributes"], [83, "attributes"], [85, "attributes"], [86, "attributes"], [87, "attributes"], [89, "attributes"], [90, "attributes"], [94, "attributes"], [100, "attributes"], [101, "attributes"]], "Bittensor SDK Documentation": [[103, null]], "Classes": [[0, "classes"], [1, "classes"], [2, "classes"], [3, "classes"], [4, "classes"], [5, "classes"], [6, "classes"], [8, "classes"], [9, "classes"], [10, "classes"], [11, "classes"], [12, "classes"], [13, "classes"], [14, "classes"], [15, "classes"], [16, "classes"], [17, "classes"], [18, "classes"], [19, "classes"], [20, "classes"], [21, "classes"], [22, "classes"], [23, "classes"], [24, "classes"], [57, "classes"], [59, "classes"], [60, "classes"], [61, "classes"], [62, "classes"], [63, "classes"], [64, "classes"], [65, "classes"], [66, "classes"], [67, "classes"], [68, "classes"], [69, "classes"], [70, "classes"], [72, "classes"], [73, "classes"], [74, "classes"], [75, "classes"], [77, "classes"], [80, "classes"], [81, "classes"], [83, "classes"], [86, "classes"], [89, "classes"], [90, "classes"], [94, "classes"], [96, "classes"], [99, "classes"]], "Example": [[0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [23, null], [24, null], [24, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [60, null], [60, null], [60, null], [60, null], [65, null], [77, null], [81, null]], "Exceptions": [[23, "exceptions"], [25, "exceptions"], [75, "exceptions"], [91, "exceptions"], [100, "exceptions"]], "Functions": [[0, "functions"], [1, "functions"], [10, "functions"], [21, "functions"], [24, "functions"], [26, "functions"], [27, "functions"], [29, "functions"], [30, "functions"], [31, "functions"], [32, "functions"], [33, "functions"], [34, "functions"], [35, "functions"], [36, "functions"], [37, "functions"], [38, "functions"], [39, "functions"], [40, "functions"], [41, "functions"], [42, "functions"], [44, "functions"], [45, "functions"], [46, "functions"], [47, "functions"], [48, "functions"], [49, "functions"], [50, "functions"], [51, "functions"], [52, "functions"], [53, "functions"], [54, "functions"], [55, "functions"], [57, "functions"], [71, "functions"], [73, "functions"], [74, "functions"], [76, "functions"], [79, "functions"], [80, "functions"], [84, "functions"], [87, "functions"], [88, "functions"], [89, "functions"], [90, "functions"], [91, "functions"], [92, "functions"], [94, "functions"], [95, "functions"], [97, "functions"], [100, "functions"], [101, "functions"]], "Module Contents": [[0, "module-contents"], [1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [6, "module-contents"], [8, "module-contents"], [9, "module-contents"], [10, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"], [16, "module-contents"], [17, "module-contents"], [18, "module-contents"], [19, "module-contents"], [20, "module-contents"], [21, "module-contents"], [22, "module-contents"], [23, "module-contents"], [24, "module-contents"], [25, "module-contents"], [26, "module-contents"], [27, "module-contents"], [29, "module-contents"], [30, "module-contents"], [31, "module-contents"], [32, "module-contents"], [33, "module-contents"], [34, "module-contents"], [35, "module-contents"], [36, "module-contents"], [37, "module-contents"], [38, "module-contents"], [39, "module-contents"], [40, "module-contents"], [41, "module-contents"], [42, "module-contents"], [44, "module-contents"], [45, "module-contents"], [46, "module-contents"], [47, "module-contents"], [48, "module-contents"], [49, "module-contents"], [50, "module-contents"], [51, "module-contents"], [52, "module-contents"], [53, "module-contents"], [54, "module-contents"], [55, "module-contents"], [57, "module-contents"], [58, "module-contents"], [59, "module-contents"], [60, "module-contents"], [61, "module-contents"], [62, "module-contents"], [63, "module-contents"], [64, "module-contents"], [66, "module-contents"], [67, "module-contents"], [68, "module-contents"], [69, "module-contents"], [70, "module-contents"], [71, "module-contents"], [72, "module-contents"], [73, "module-contents"], [74, "module-contents"], [75, "module-contents"], [76, "module-contents"], [77, "module-contents"], [79, "module-contents"], [80, "module-contents"], [81, "module-contents"], [82, "module-contents"], [83, "module-contents"], [84, "module-contents"], [86, "module-contents"], [87, "module-contents"], [88, "module-contents"], [90, "module-contents"], [91, "module-contents"], [92, "module-contents"], [94, "module-contents"], [95, "module-contents"], [96, "module-contents"], [97, "module-contents"], [99, "module-contents"], [100, "module-contents"], [101, "module-contents"]], "Notes": [[0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null]], "Package Contents": [[65, "package-contents"], [85, "package-contents"], [89, "package-contents"]], "Submodules": [[7, "submodules"], [28, "submodules"], [43, "submodules"], [56, "submodules"], [65, "submodules"], [78, "submodules"], [85, "submodules"], [89, "submodules"], [93, "submodules"], [98, "submodules"]], "Table of Contents": [[103, null]], "bittensor": [[78, null]], "bittensor.core": [[56, null]], "bittensor.core.async_subtensor": [[0, null]], "bittensor.core.axon": [[1, null]], "bittensor.core.chain_data": [[7, null]], "bittensor.core.chain_data.axon_info": [[2, null]], "bittensor.core.chain_data.chain_identity": [[3, null]], "bittensor.core.chain_data.delegate_info": [[4, null]], "bittensor.core.chain_data.delegate_info_lite": [[5, null]], "bittensor.core.chain_data.dynamic_info": [[6, null]], "bittensor.core.chain_data.info_base": [[8, null]], "bittensor.core.chain_data.ip_info": [[9, null]], "bittensor.core.chain_data.metagraph_info": [[10, null]], "bittensor.core.chain_data.neuron_info": [[11, null]], "bittensor.core.chain_data.neuron_info_lite": [[12, null]], "bittensor.core.chain_data.prometheus_info": [[13, null]], "bittensor.core.chain_data.proposal_vote_data": [[14, null]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, null]], "bittensor.core.chain_data.stake_info": [[16, null]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, null]], "bittensor.core.chain_data.subnet_identity": [[18, null]], "bittensor.core.chain_data.subnet_info": [[19, null]], "bittensor.core.chain_data.subnet_state": [[20, null]], "bittensor.core.chain_data.utils": [[21, null]], "bittensor.core.chain_data.weight_commit_info": [[22, null]], "bittensor.core.config": [[23, null]], "bittensor.core.dendrite": [[24, null]], "bittensor.core.errors": [[25, null]], "bittensor.core.extrinsics": [[43, null]], "bittensor.core.extrinsics.asyncex": [[28, null]], "bittensor.core.extrinsics.asyncex.children": [[26, null]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[27, null]], "bittensor.core.extrinsics.asyncex.liquidity": [[29, null]], "bittensor.core.extrinsics.asyncex.move_stake": [[30, null]], "bittensor.core.extrinsics.asyncex.registration": [[31, null]], "bittensor.core.extrinsics.asyncex.root": [[32, null]], "bittensor.core.extrinsics.asyncex.serving": [[33, null]], "bittensor.core.extrinsics.asyncex.staking": [[34, null]], "bittensor.core.extrinsics.asyncex.start_call": [[35, null]], "bittensor.core.extrinsics.asyncex.take": [[36, null]], "bittensor.core.extrinsics.asyncex.transfer": [[37, null]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, null]], "bittensor.core.extrinsics.asyncex.weights": [[39, null]], "bittensor.core.extrinsics.children": [[40, null]], "bittensor.core.extrinsics.commit_reveal": [[41, null]], "bittensor.core.extrinsics.commit_weights": [[42, null]], "bittensor.core.extrinsics.liquidity": [[44, null]], "bittensor.core.extrinsics.move_stake": [[45, null]], "bittensor.core.extrinsics.registration": [[46, null]], "bittensor.core.extrinsics.root": [[47, null]], "bittensor.core.extrinsics.serving": [[48, null]], "bittensor.core.extrinsics.set_weights": [[49, null]], "bittensor.core.extrinsics.staking": [[50, null]], "bittensor.core.extrinsics.start_call": [[51, null]], "bittensor.core.extrinsics.take": [[52, null]], "bittensor.core.extrinsics.transfer": [[53, null]], "bittensor.core.extrinsics.unstaking": [[54, null]], "bittensor.core.extrinsics.utils": [[55, null]], "bittensor.core.metagraph": [[57, null]], "bittensor.core.settings": [[58, null]], "bittensor.core.stream": [[59, null]], "bittensor.core.subtensor": [[60, null]], "bittensor.core.subtensor_api": [[65, null]], "bittensor.core.subtensor_api.chain": [[61, null]], "bittensor.core.subtensor_api.commitments": [[62, null]], "bittensor.core.subtensor_api.delegates": [[63, null]], "bittensor.core.subtensor_api.extrinsics": [[64, null]], "bittensor.core.subtensor_api.metagraphs": [[66, null]], "bittensor.core.subtensor_api.neurons": [[67, null]], "bittensor.core.subtensor_api.queries": [[68, null]], "bittensor.core.subtensor_api.staking": [[69, null]], "bittensor.core.subtensor_api.subnets": [[70, null]], "bittensor.core.subtensor_api.utils": [[71, null]], "bittensor.core.subtensor_api.wallets": [[72, null]], "bittensor.core.synapse": [[73, null]], "bittensor.core.tensor": [[74, null]], "bittensor.core.threadpool": [[75, null]], "bittensor.core.timelock": [[76, null]], "bittensor.core.types": [[77, null]], "bittensor.utils": [[89, null]], "bittensor.utils.axon_utils": [[79, null]], "bittensor.utils.balance": [[80, null]], "bittensor.utils.btlogging": [[85, null]], "bittensor.utils.btlogging.console": [[81, null]], "bittensor.utils.btlogging.defines": [[82, null]], "bittensor.utils.btlogging.format": [[83, null]], "bittensor.utils.btlogging.helpers": [[84, null]], "bittensor.utils.btlogging.loggingmachine": [[86, null]], "bittensor.utils.easy_imports": [[87, null]], "bittensor.utils.formatting": [[88, null]], "bittensor.utils.liquidity": [[90, null]], "bittensor.utils.networking": [[91, null]], "bittensor.utils.registration": [[93, null]], "bittensor.utils.registration.async_pow": [[92, null]], "bittensor.utils.registration.pow": [[94, null]], "bittensor.utils.registration.register_cuda": [[95, null]], "bittensor.utils.subnets": [[96, null]], "bittensor.utils.substrate_utils": [[98, null]], "bittensor.utils.substrate_utils.hasher": [[97, null]], "bittensor.utils.substrate_utils.storage": [[99, null]], "bittensor.utils.version": [[100, null]], "bittensor.utils.weight_utils": [[101, null]]}, "docnames": ["autoapi/bittensor/core/async_subtensor/index", "autoapi/bittensor/core/axon/index", "autoapi/bittensor/core/chain_data/axon_info/index", "autoapi/bittensor/core/chain_data/chain_identity/index", "autoapi/bittensor/core/chain_data/delegate_info/index", "autoapi/bittensor/core/chain_data/delegate_info_lite/index", "autoapi/bittensor/core/chain_data/dynamic_info/index", "autoapi/bittensor/core/chain_data/index", "autoapi/bittensor/core/chain_data/info_base/index", "autoapi/bittensor/core/chain_data/ip_info/index", "autoapi/bittensor/core/chain_data/metagraph_info/index", "autoapi/bittensor/core/chain_data/neuron_info/index", "autoapi/bittensor/core/chain_data/neuron_info_lite/index", "autoapi/bittensor/core/chain_data/prometheus_info/index", "autoapi/bittensor/core/chain_data/proposal_vote_data/index", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index", "autoapi/bittensor/core/chain_data/stake_info/index", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index", "autoapi/bittensor/core/chain_data/subnet_identity/index", "autoapi/bittensor/core/chain_data/subnet_info/index", "autoapi/bittensor/core/chain_data/subnet_state/index", "autoapi/bittensor/core/chain_data/utils/index", "autoapi/bittensor/core/chain_data/weight_commit_info/index", "autoapi/bittensor/core/config/index", "autoapi/bittensor/core/dendrite/index", "autoapi/bittensor/core/errors/index", "autoapi/bittensor/core/extrinsics/asyncex/children/index", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index", "autoapi/bittensor/core/extrinsics/asyncex/index", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index", "autoapi/bittensor/core/extrinsics/asyncex/registration/index", "autoapi/bittensor/core/extrinsics/asyncex/root/index", "autoapi/bittensor/core/extrinsics/asyncex/serving/index", "autoapi/bittensor/core/extrinsics/asyncex/staking/index", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index", "autoapi/bittensor/core/extrinsics/asyncex/take/index", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index", "autoapi/bittensor/core/extrinsics/asyncex/weights/index", "autoapi/bittensor/core/extrinsics/children/index", "autoapi/bittensor/core/extrinsics/commit_reveal/index", "autoapi/bittensor/core/extrinsics/commit_weights/index", "autoapi/bittensor/core/extrinsics/index", "autoapi/bittensor/core/extrinsics/liquidity/index", "autoapi/bittensor/core/extrinsics/move_stake/index", "autoapi/bittensor/core/extrinsics/registration/index", "autoapi/bittensor/core/extrinsics/root/index", "autoapi/bittensor/core/extrinsics/serving/index", "autoapi/bittensor/core/extrinsics/set_weights/index", "autoapi/bittensor/core/extrinsics/staking/index", "autoapi/bittensor/core/extrinsics/start_call/index", "autoapi/bittensor/core/extrinsics/take/index", "autoapi/bittensor/core/extrinsics/transfer/index", "autoapi/bittensor/core/extrinsics/unstaking/index", "autoapi/bittensor/core/extrinsics/utils/index", "autoapi/bittensor/core/index", "autoapi/bittensor/core/metagraph/index", "autoapi/bittensor/core/settings/index", "autoapi/bittensor/core/stream/index", "autoapi/bittensor/core/subtensor/index", "autoapi/bittensor/core/subtensor_api/chain/index", "autoapi/bittensor/core/subtensor_api/commitments/index", "autoapi/bittensor/core/subtensor_api/delegates/index", "autoapi/bittensor/core/subtensor_api/extrinsics/index", "autoapi/bittensor/core/subtensor_api/index", "autoapi/bittensor/core/subtensor_api/metagraphs/index", "autoapi/bittensor/core/subtensor_api/neurons/index", "autoapi/bittensor/core/subtensor_api/queries/index", "autoapi/bittensor/core/subtensor_api/staking/index", "autoapi/bittensor/core/subtensor_api/subnets/index", "autoapi/bittensor/core/subtensor_api/utils/index", "autoapi/bittensor/core/subtensor_api/wallets/index", "autoapi/bittensor/core/synapse/index", "autoapi/bittensor/core/tensor/index", "autoapi/bittensor/core/threadpool/index", "autoapi/bittensor/core/timelock/index", "autoapi/bittensor/core/types/index", "autoapi/bittensor/index", "autoapi/bittensor/utils/axon_utils/index", "autoapi/bittensor/utils/balance/index", "autoapi/bittensor/utils/btlogging/console/index", "autoapi/bittensor/utils/btlogging/defines/index", "autoapi/bittensor/utils/btlogging/format/index", "autoapi/bittensor/utils/btlogging/helpers/index", "autoapi/bittensor/utils/btlogging/index", "autoapi/bittensor/utils/btlogging/loggingmachine/index", "autoapi/bittensor/utils/easy_imports/index", "autoapi/bittensor/utils/formatting/index", "autoapi/bittensor/utils/index", "autoapi/bittensor/utils/liquidity/index", "autoapi/bittensor/utils/networking/index", "autoapi/bittensor/utils/registration/async_pow/index", "autoapi/bittensor/utils/registration/index", "autoapi/bittensor/utils/registration/pow/index", "autoapi/bittensor/utils/registration/register_cuda/index", "autoapi/bittensor/utils/subnets/index", "autoapi/bittensor/utils/substrate_utils/hasher/index", "autoapi/bittensor/utils/substrate_utils/index", "autoapi/bittensor/utils/substrate_utils/storage/index", "autoapi/bittensor/utils/version/index", "autoapi/bittensor/utils/weight_utils/index", "autoapi/index", "index"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1}, "filenames": ["autoapi/bittensor/core/async_subtensor/index.rst", "autoapi/bittensor/core/axon/index.rst", "autoapi/bittensor/core/chain_data/axon_info/index.rst", "autoapi/bittensor/core/chain_data/chain_identity/index.rst", "autoapi/bittensor/core/chain_data/delegate_info/index.rst", "autoapi/bittensor/core/chain_data/delegate_info_lite/index.rst", "autoapi/bittensor/core/chain_data/dynamic_info/index.rst", "autoapi/bittensor/core/chain_data/index.rst", "autoapi/bittensor/core/chain_data/info_base/index.rst", "autoapi/bittensor/core/chain_data/ip_info/index.rst", "autoapi/bittensor/core/chain_data/metagraph_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info_lite/index.rst", "autoapi/bittensor/core/chain_data/prometheus_info/index.rst", "autoapi/bittensor/core/chain_data/proposal_vote_data/index.rst", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.rst", "autoapi/bittensor/core/chain_data/stake_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.rst", "autoapi/bittensor/core/chain_data/subnet_identity/index.rst", "autoapi/bittensor/core/chain_data/subnet_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_state/index.rst", "autoapi/bittensor/core/chain_data/utils/index.rst", "autoapi/bittensor/core/chain_data/weight_commit_info/index.rst", "autoapi/bittensor/core/config/index.rst", "autoapi/bittensor/core/dendrite/index.rst", "autoapi/bittensor/core/errors/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/children/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/registration/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/root/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/serving/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/staking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/take/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/weights/index.rst", "autoapi/bittensor/core/extrinsics/children/index.rst", "autoapi/bittensor/core/extrinsics/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/commit_weights/index.rst", "autoapi/bittensor/core/extrinsics/index.rst", "autoapi/bittensor/core/extrinsics/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/registration/index.rst", "autoapi/bittensor/core/extrinsics/root/index.rst", "autoapi/bittensor/core/extrinsics/serving/index.rst", "autoapi/bittensor/core/extrinsics/set_weights/index.rst", "autoapi/bittensor/core/extrinsics/staking/index.rst", "autoapi/bittensor/core/extrinsics/start_call/index.rst", "autoapi/bittensor/core/extrinsics/take/index.rst", "autoapi/bittensor/core/extrinsics/transfer/index.rst", "autoapi/bittensor/core/extrinsics/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/utils/index.rst", "autoapi/bittensor/core/index.rst", "autoapi/bittensor/core/metagraph/index.rst", "autoapi/bittensor/core/settings/index.rst", "autoapi/bittensor/core/stream/index.rst", "autoapi/bittensor/core/subtensor/index.rst", "autoapi/bittensor/core/subtensor_api/chain/index.rst", "autoapi/bittensor/core/subtensor_api/commitments/index.rst", "autoapi/bittensor/core/subtensor_api/delegates/index.rst", "autoapi/bittensor/core/subtensor_api/extrinsics/index.rst", "autoapi/bittensor/core/subtensor_api/index.rst", "autoapi/bittensor/core/subtensor_api/metagraphs/index.rst", "autoapi/bittensor/core/subtensor_api/neurons/index.rst", "autoapi/bittensor/core/subtensor_api/queries/index.rst", "autoapi/bittensor/core/subtensor_api/staking/index.rst", "autoapi/bittensor/core/subtensor_api/subnets/index.rst", "autoapi/bittensor/core/subtensor_api/utils/index.rst", "autoapi/bittensor/core/subtensor_api/wallets/index.rst", "autoapi/bittensor/core/synapse/index.rst", "autoapi/bittensor/core/tensor/index.rst", "autoapi/bittensor/core/threadpool/index.rst", "autoapi/bittensor/core/timelock/index.rst", "autoapi/bittensor/core/types/index.rst", "autoapi/bittensor/index.rst", "autoapi/bittensor/utils/axon_utils/index.rst", "autoapi/bittensor/utils/balance/index.rst", "autoapi/bittensor/utils/btlogging/console/index.rst", "autoapi/bittensor/utils/btlogging/defines/index.rst", "autoapi/bittensor/utils/btlogging/format/index.rst", "autoapi/bittensor/utils/btlogging/helpers/index.rst", "autoapi/bittensor/utils/btlogging/index.rst", "autoapi/bittensor/utils/btlogging/loggingmachine/index.rst", "autoapi/bittensor/utils/easy_imports/index.rst", "autoapi/bittensor/utils/formatting/index.rst", "autoapi/bittensor/utils/index.rst", "autoapi/bittensor/utils/liquidity/index.rst", "autoapi/bittensor/utils/networking/index.rst", "autoapi/bittensor/utils/registration/async_pow/index.rst", "autoapi/bittensor/utils/registration/index.rst", "autoapi/bittensor/utils/registration/pow/index.rst", "autoapi/bittensor/utils/registration/register_cuda/index.rst", "autoapi/bittensor/utils/subnets/index.rst", "autoapi/bittensor/utils/substrate_utils/hasher/index.rst", "autoapi/bittensor/utils/substrate_utils/index.rst", "autoapi/bittensor/utils/substrate_utils/storage/index.rst", "autoapi/bittensor/utils/version/index.rst", "autoapi/bittensor/utils/weight_utils/index.rst", "autoapi/index.rst", "index.rst"], "indexentries": {"__repr__() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.__repr__", false]], "__repr__() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.__repr__", false]], "__setattr__() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.__setattr__", false]], "__str__() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.__str__", false]], "__str__() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.__str__", false]], "accountid (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.AccountId", false]], "aclose_session() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.aclose_session", false]], "aclose_session() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.aclose_session", false], [24, "id0", false]], "active (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.active", false]], "active (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Active", false]], "active (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.active", false]], "active (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.active", false]], "active (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.active", false]], "active (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.active", false]], "active (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.active", false]], "active (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.active", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.activity_cutoff", false]], "activitycutoff (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ActivityCutoff", false]], "add_args() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.add_args", false]], "add_args() (bittensor.core.subtensor_api.subtensorapi class method)": [[65, "bittensor.core.subtensor_api.SubtensorApi.add_args", false]], "add_args() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.add_args", false]], "add_args() (bittensor.core.types.subtensormixin class method)": [[77, "bittensor.core.types.SubtensorMixin.add_args", false]], "add_args() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.add_args", false]], "add_legacy_methods() (in module bittensor.core.subtensor_api.utils)": [[71, "bittensor.core.subtensor_api.utils.add_legacy_methods", false]], "add_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_liquidity", false]], "add_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_liquidity", false]], "add_liquidity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.add_liquidity", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.add_liquidity_extrinsic", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[44, "bittensor.core.extrinsics.liquidity.add_liquidity_extrinsic", false]], "add_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake", false]], "add_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.add_stake", false]], "add_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake", false]], "add_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.add_stake", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[34, "bittensor.core.extrinsics.asyncex.staking.add_stake_extrinsic", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.staking)": [[50, "bittensor.core.extrinsics.staking.add_stake_extrinsic", false]], "add_stake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake_multiple", false]], "add_stake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.add_stake_multiple", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[34, "bittensor.core.extrinsics.asyncex.staking.add_stake_multiple_extrinsic", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.staking)": [[50, "bittensor.core.extrinsics.staking.add_stake_multiple_extrinsic", false]], "additional (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.additional", false]], "additional (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.additional", false]], "addresses (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.addresses", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_alpha", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_interval", false]], "adjustmentalpha (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentAlpha", false]], "adjustmentinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentInterval", false]], "after_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_debug", false]], "after_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_trace", false]], "after_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_debug", false]], "after_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_default", false]], "after_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_info", false]], "after_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_trace", false]], "after_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_warning", false]], "after_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_transition", false]], "all_indices() (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex static method)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.all_indices", false]], "all_logger_names() (in module bittensor.utils.btlogging.helpers)": [[84, "bittensor.utils.btlogging.helpers.all_logger_names", false]], "all_loggers() (in module bittensor.utils.btlogging.helpers)": [[84, "bittensor.utils.btlogging.helpers.all_loggers", false]], "all_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.all_subnets", false]], "all_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.all_subnets", false]], "all_subnets() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.all_subnets", false]], "allowed_delta (in module bittensor.utils.axon_utils)": [[79, "bittensor.utils.axon_utils.ALLOWED_DELTA", false]], "allowed_nonce_window_ns() (in module bittensor.utils.axon_utils)": [[79, "bittensor.utils.axon_utils.allowed_nonce_window_ns", false]], "alpha_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_dividends_per_hotkey", false]], "alpha_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.alpha_dividends_per_hotkey", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_high", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_high", false]], "alpha_high (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_high", false]], "alpha_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_in", false]], "alpha_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_in_emission", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_low", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_low", false]], "alpha_low (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_low", false]], "alpha_out (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_out", false]], "alpha_out_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_out_emission", false]], "alpha_sigmoid_steepness (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_sigmoid_steepness", false]], "alpha_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_slippage", false]], "alpha_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_stake", false]], "alpha_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.alpha_stake", false]], "alpha_to_tao() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao", false]], "alpha_to_tao_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao_with_slippage", false]], "alphadividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaDividendsPerHotkey", false]], "alphahigh (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaHigh", false]], "alphain (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaIn", false]], "alphainemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaInEmission", false]], "alphalow (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaLow", false]], "alphaout (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOut", false]], "alphaoutemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOutEmission", false]], "alphastake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaStake", false]], "app (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.app", false]], "aquery() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.aquery", false]], "arbitration_block (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.arbitration_block", false]], "archive_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.ARCHIVE_ENTRYPOINT", false]], "as (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.AS", false]], "async_metagraph() (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.async_metagraph", false]], "async_subtensor (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.async_subtensor", false]], "asyncmetagraph (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.AsyncMetagraph", false]], "asyncsubtensor (class in bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor", false]], "attach() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.attach", false]], "axon (bittensor.core.axon.axonmiddleware attribute)": [[1, "bittensor.core.axon.AxonMiddleware.axon", false]], "axon (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.axon", false]], "axon (class in bittensor.core.axon)": [[1, "bittensor.core.axon.Axon", false]], "axon (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.axon", false]], "axon_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.axon_info", false]], "axon_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.axon_info", false]], "axoninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.AxonInfo", false]], "axoninfo (class in bittensor.core.chain_data.axon_info)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo", false]], "axonmiddleware (class in bittensor.core.axon)": [[1, "bittensor.core.axon.AxonMiddleware", false]], "axons (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.axons", false]], "axons (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Axons", false]], "axons (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.axons", false]], "axonservecallparams (class in bittensor.core.types)": [[77, "bittensor.core.types.AxonServeCallParams", false]], "ayes (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.ayes", false]], "b (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.B", false]], "balance (class in bittensor.utils.balance)": [[80, "bittensor.utils.balance.Balance", false]], "base_log_format (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.BASE_LOG_FORMAT", false]], "baseclass (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.BaseClass", false]], "basemodel (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.BaseModel", false]], "before_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_debug", false]], "before_disable_logging() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_logging", false]], "before_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_trace", false]], "before_enable_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_console", false]], "before_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_debug", false]], "before_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_default", false]], "before_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_info", false]], "before_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_trace", false]], "before_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_warning", false]], "before_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_transition", false]], "bits (bittensor.utils.balance.fixedpoint attribute)": [[80, "bittensor.utils.balance.FixedPoint.bits", false]], "bittensor": [[78, "module-bittensor", false]], "bittensor.core": [[56, "module-bittensor.core", false]], "bittensor.core.async_subtensor": [[0, "module-bittensor.core.async_subtensor", false]], "bittensor.core.axon": [[1, "module-bittensor.core.axon", false]], "bittensor.core.chain_data": [[7, "module-bittensor.core.chain_data", false]], "bittensor.core.chain_data.axon_info": [[2, "module-bittensor.core.chain_data.axon_info", false]], "bittensor.core.chain_data.chain_identity": [[3, "module-bittensor.core.chain_data.chain_identity", false]], "bittensor.core.chain_data.delegate_info": [[4, "module-bittensor.core.chain_data.delegate_info", false]], "bittensor.core.chain_data.delegate_info_lite": [[5, "module-bittensor.core.chain_data.delegate_info_lite", false]], "bittensor.core.chain_data.dynamic_info": [[6, "module-bittensor.core.chain_data.dynamic_info", false]], "bittensor.core.chain_data.info_base": [[8, "module-bittensor.core.chain_data.info_base", false]], "bittensor.core.chain_data.ip_info": [[9, "module-bittensor.core.chain_data.ip_info", false]], "bittensor.core.chain_data.metagraph_info": [[10, "module-bittensor.core.chain_data.metagraph_info", false]], "bittensor.core.chain_data.neuron_info": [[11, "module-bittensor.core.chain_data.neuron_info", false]], "bittensor.core.chain_data.neuron_info_lite": [[12, "module-bittensor.core.chain_data.neuron_info_lite", false]], "bittensor.core.chain_data.prometheus_info": [[13, "module-bittensor.core.chain_data.prometheus_info", false]], "bittensor.core.chain_data.proposal_vote_data": [[14, "module-bittensor.core.chain_data.proposal_vote_data", false]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false]], "bittensor.core.chain_data.stake_info": [[16, "module-bittensor.core.chain_data.stake_info", false]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, "module-bittensor.core.chain_data.subnet_hyperparameters", false]], "bittensor.core.chain_data.subnet_identity": [[18, "module-bittensor.core.chain_data.subnet_identity", false]], "bittensor.core.chain_data.subnet_info": [[19, "module-bittensor.core.chain_data.subnet_info", false]], "bittensor.core.chain_data.subnet_state": [[20, "module-bittensor.core.chain_data.subnet_state", false]], "bittensor.core.chain_data.utils": [[21, "module-bittensor.core.chain_data.utils", false]], "bittensor.core.chain_data.weight_commit_info": [[22, "module-bittensor.core.chain_data.weight_commit_info", false]], "bittensor.core.config": [[23, "module-bittensor.core.config", false]], "bittensor.core.dendrite": [[24, "module-bittensor.core.dendrite", false]], "bittensor.core.errors": [[25, "module-bittensor.core.errors", false]], "bittensor.core.extrinsics": [[43, "module-bittensor.core.extrinsics", false]], "bittensor.core.extrinsics.asyncex": [[28, "module-bittensor.core.extrinsics.asyncex", false]], "bittensor.core.extrinsics.asyncex.children": [[26, "module-bittensor.core.extrinsics.asyncex.children", false]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[27, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false]], "bittensor.core.extrinsics.asyncex.liquidity": [[29, "module-bittensor.core.extrinsics.asyncex.liquidity", false]], "bittensor.core.extrinsics.asyncex.move_stake": [[30, "module-bittensor.core.extrinsics.asyncex.move_stake", false]], "bittensor.core.extrinsics.asyncex.registration": [[31, "module-bittensor.core.extrinsics.asyncex.registration", false]], "bittensor.core.extrinsics.asyncex.root": [[32, "module-bittensor.core.extrinsics.asyncex.root", false]], "bittensor.core.extrinsics.asyncex.serving": [[33, "module-bittensor.core.extrinsics.asyncex.serving", false]], "bittensor.core.extrinsics.asyncex.staking": [[34, "module-bittensor.core.extrinsics.asyncex.staking", false]], "bittensor.core.extrinsics.asyncex.start_call": [[35, "module-bittensor.core.extrinsics.asyncex.start_call", false]], "bittensor.core.extrinsics.asyncex.take": [[36, "module-bittensor.core.extrinsics.asyncex.take", false]], "bittensor.core.extrinsics.asyncex.transfer": [[37, "module-bittensor.core.extrinsics.asyncex.transfer", false]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, "module-bittensor.core.extrinsics.asyncex.unstaking", false]], "bittensor.core.extrinsics.asyncex.weights": [[39, "module-bittensor.core.extrinsics.asyncex.weights", false]], "bittensor.core.extrinsics.children": [[40, "module-bittensor.core.extrinsics.children", false]], "bittensor.core.extrinsics.commit_reveal": [[41, "module-bittensor.core.extrinsics.commit_reveal", false]], "bittensor.core.extrinsics.commit_weights": [[42, "module-bittensor.core.extrinsics.commit_weights", false]], "bittensor.core.extrinsics.liquidity": [[44, "module-bittensor.core.extrinsics.liquidity", false]], "bittensor.core.extrinsics.move_stake": [[45, "module-bittensor.core.extrinsics.move_stake", false]], "bittensor.core.extrinsics.registration": [[46, "module-bittensor.core.extrinsics.registration", false]], "bittensor.core.extrinsics.root": [[47, "module-bittensor.core.extrinsics.root", false]], "bittensor.core.extrinsics.serving": [[48, "module-bittensor.core.extrinsics.serving", false]], "bittensor.core.extrinsics.set_weights": [[49, "module-bittensor.core.extrinsics.set_weights", false]], "bittensor.core.extrinsics.staking": [[50, "module-bittensor.core.extrinsics.staking", false]], "bittensor.core.extrinsics.start_call": [[51, "module-bittensor.core.extrinsics.start_call", false]], "bittensor.core.extrinsics.take": [[52, "module-bittensor.core.extrinsics.take", false]], "bittensor.core.extrinsics.transfer": [[53, "module-bittensor.core.extrinsics.transfer", false]], "bittensor.core.extrinsics.unstaking": [[54, "module-bittensor.core.extrinsics.unstaking", false]], "bittensor.core.extrinsics.utils": [[55, "module-bittensor.core.extrinsics.utils", false]], "bittensor.core.metagraph": [[57, "module-bittensor.core.metagraph", false]], "bittensor.core.settings": [[58, "module-bittensor.core.settings", false]], "bittensor.core.stream": [[59, "module-bittensor.core.stream", false]], "bittensor.core.subtensor": [[60, "module-bittensor.core.subtensor", false]], "bittensor.core.subtensor_api": [[65, "module-bittensor.core.subtensor_api", false]], "bittensor.core.subtensor_api.chain": [[61, "module-bittensor.core.subtensor_api.chain", false]], "bittensor.core.subtensor_api.commitments": [[62, "module-bittensor.core.subtensor_api.commitments", false]], "bittensor.core.subtensor_api.delegates": [[63, "module-bittensor.core.subtensor_api.delegates", false]], "bittensor.core.subtensor_api.extrinsics": [[64, "module-bittensor.core.subtensor_api.extrinsics", false]], "bittensor.core.subtensor_api.metagraphs": [[66, "module-bittensor.core.subtensor_api.metagraphs", false]], "bittensor.core.subtensor_api.neurons": [[67, "module-bittensor.core.subtensor_api.neurons", false]], "bittensor.core.subtensor_api.queries": [[68, "module-bittensor.core.subtensor_api.queries", false]], "bittensor.core.subtensor_api.staking": [[69, "module-bittensor.core.subtensor_api.staking", false]], "bittensor.core.subtensor_api.subnets": [[70, "module-bittensor.core.subtensor_api.subnets", false]], "bittensor.core.subtensor_api.utils": [[71, "module-bittensor.core.subtensor_api.utils", false]], "bittensor.core.subtensor_api.wallets": [[72, "module-bittensor.core.subtensor_api.wallets", false]], "bittensor.core.synapse": [[73, "module-bittensor.core.synapse", false]], "bittensor.core.tensor": [[74, "module-bittensor.core.tensor", false]], "bittensor.core.threadpool": [[75, "module-bittensor.core.threadpool", false]], "bittensor.core.timelock": [[76, "module-bittensor.core.timelock", false]], "bittensor.core.types": [[77, "module-bittensor.core.types", false]], "bittensor.utils": [[89, "module-bittensor.utils", false]], "bittensor.utils.axon_utils": [[79, "module-bittensor.utils.axon_utils", false]], "bittensor.utils.balance": [[80, "module-bittensor.utils.balance", false]], "bittensor.utils.btlogging": [[85, "module-bittensor.utils.btlogging", false]], "bittensor.utils.btlogging.console": [[81, "module-bittensor.utils.btlogging.console", false]], "bittensor.utils.btlogging.defines": [[82, "module-bittensor.utils.btlogging.defines", false]], "bittensor.utils.btlogging.format": [[83, "module-bittensor.utils.btlogging.format", false]], "bittensor.utils.btlogging.helpers": [[84, "module-bittensor.utils.btlogging.helpers", false]], "bittensor.utils.btlogging.loggingmachine": [[86, "module-bittensor.utils.btlogging.loggingmachine", false]], "bittensor.utils.easy_imports": [[87, "module-bittensor.utils.easy_imports", false]], "bittensor.utils.formatting": [[88, "module-bittensor.utils.formatting", false]], "bittensor.utils.liquidity": [[90, "module-bittensor.utils.liquidity", false]], "bittensor.utils.networking": [[91, "module-bittensor.utils.networking", false]], "bittensor.utils.registration": [[93, "module-bittensor.utils.registration", false]], "bittensor.utils.registration.async_pow": [[92, "module-bittensor.utils.registration.async_pow", false]], "bittensor.utils.registration.pow": [[94, "module-bittensor.utils.registration.pow", false]], "bittensor.utils.registration.register_cuda": [[95, "module-bittensor.utils.registration.register_cuda", false]], "bittensor.utils.subnets": [[96, "module-bittensor.utils.subnets", false]], "bittensor.utils.substrate_utils": [[98, "module-bittensor.utils.substrate_utils", false]], "bittensor.utils.substrate_utils.hasher": [[97, "module-bittensor.utils.substrate_utils.hasher", false]], "bittensor.utils.substrate_utils.storage": [[99, "module-bittensor.utils.substrate_utils.storage", false]], "bittensor.utils.version": [[100, "module-bittensor.utils.version", false]], "bittensor.utils.weight_utils": [[101, "module-bittensor.utils.weight_utils", false]], "bittensor_logger_name (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.BITTENSOR_LOGGER_NAME", false]], "bittensorconsole (class in bittensor.utils.btlogging.console)": [[81, "bittensor.utils.btlogging.console.BittensorConsole", false]], "blacklist() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.blacklist", false]], "blacklist_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.blacklist_fns", false]], "blacklistedexception": [[25, "bittensor.core.errors.BlacklistedException", false]], "blake2_128() (in module bittensor.utils.substrate_utils.hasher)": [[97, "bittensor.utils.substrate_utils.hasher.blake2_128", false]], "blake2_128_concat() (in module bittensor.utils.substrate_utils.hasher)": [[97, "bittensor.utils.substrate_utils.hasher.blake2_128_concat", false]], "blake2_256() (in module bittensor.utils.substrate_utils.hasher)": [[97, "bittensor.utils.substrate_utils.hasher.blake2_256", false]], "block (bittensor.core.async_subtensor.asyncsubtensor property)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.block", false]], "block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block", false]], "block (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Block", false]], "block (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.block", false]], "block (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.block", false]], "block (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.block", false]], "block (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.block", false]], "block (bittensor.core.subtensor.subtensor property)": [[60, "bittensor.core.subtensor.Subtensor.block", false]], "block (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.block", false]], "block_at_registration (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block_at_registration", false]], "block_at_registration (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.block_at_registration", false]], "block_at_registration (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.block_at_registration", false]], "block_hash (bittensor.utils.registration.pow.registrationstatistics attribute)": [[94, "bittensor.utils.registration.pow.RegistrationStatistics.block_hash", false]], "block_number (bittensor.utils.registration.pow.powsolution attribute)": [[94, "bittensor.utils.registration.pow.POWSolution.block_number", false]], "block_number (bittensor.utils.registration.pow.registrationstatistics attribute)": [[94, "bittensor.utils.registration.pow.RegistrationStatistics.block_number", false]], "blockatregistration (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlockAtRegistration", false]], "blocknotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.BlockNotFound", false]], "blocks_since_epoch (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.blocks_since_epoch", false]], "blocks_since_last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.blocks_since_last_step", false]], "blocks_since_last_update (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.blocks_since_last_update", false]], "blockssincelaststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlocksSinceLastStep", false]], "blocktime (in module bittensor.core.settings)": [[58, "bittensor.core.settings.BLOCKTIME", false]], "body_hash (bittensor.core.synapse.synapse property)": [[73, "id0", false]], "body_hash() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.body_hash", false]], "bonds (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.bonds", false]], "bonds (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.bonds", false]], "bonds (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.bonds", false]], "bonds (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.bonds", false]], "bonds (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.bonds", false]], "bonds() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.bonds", false]], "bonds() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.bonds", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_moving_avg", false]], "bonds_reset_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_reset_enabled", false]], "bondsmovingavg (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BondsMovingAvg", false]], "brokenthreadpool": [[75, "bittensor.core.threadpool.BrokenThreadPool", false]], "bt_docs_link (in module bittensor.utils)": [[89, "bittensor.utils.BT_DOCS_LINK", false]], "btfileformatter (class in bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.BtFileFormatter", false]], "btstreamformatter (class in bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter", false]], "btstreamingresponsemodel (class in bittensor.core.stream)": [[59, "bittensor.core.stream.BTStreamingResponseModel", false]], "buffer (bittensor.core.tensor.tensor attribute)": [[74, "bittensor.core.tensor.Tensor.buffer", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Burn", false]], "burn (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.burn", false]], "burned_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.burned_register", false]], "burned_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.burned_register", false]], "burned_register() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.burned_register", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.burned_register_extrinsic", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[46, "bittensor.core.extrinsics.registration.burned_register_extrinsic", false]], "c (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.C", false]], "calculate_diff_seconds() (in module bittensor.utils.axon_utils)": [[79, "bittensor.utils.axon_utils.calculate_diff_seconds", false]], "calculate_fees() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.calculate_fees", false]], "call() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.call", false]], "call() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.call", false], [24, "id3", false]], "call() (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.call", false]], "call_stream() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.call_stream", false]], "call_stream() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.call_stream", false], [24, "id4", false]], "cast_dtype() (in module bittensor.core.tensor)": [[74, "bittensor.core.tensor.cast_dtype", false]], "cast_float() (in module bittensor.core.synapse)": [[73, "bittensor.core.synapse.cast_float", false]], "cast_int() (in module bittensor.core.synapse)": [[73, "bittensor.core.synapse.cast_int", false]], "cast_shape() (in module bittensor.core.tensor)": [[74, "bittensor.core.tensor.cast_shape", false]], "certificate (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.certificate", false]], "certificate (class in bittensor.utils)": [[89, "bittensor.utils.Certificate", false]], "chain (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.chain", false]], "chain (class in bittensor.core.subtensor_api.chain)": [[61, "bittensor.core.subtensor_api.chain.Chain", false]], "chain_endpoint (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.chain_endpoint", false]], "chain_endpoint (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.chain_endpoint", false]], "chain_endpoint (bittensor.core.types.subtensormixin attribute)": [[77, "bittensor.core.types.SubtensorMixin.chain_endpoint", false]], "chainconnectionerror": [[25, "bittensor.core.errors.ChainConnectionError", false]], "chaindatatype (class in bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.ChainDataType", false]], "chainerror": [[25, "bittensor.core.errors.ChainError", false]], "chainidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.ChainIdentity", false]], "chainidentity (class in bittensor.core.chain_data.chain_identity)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity", false]], "chainqueryerror": [[25, "bittensor.core.errors.ChainQueryError", false]], "chaintransactionerror": [[25, "bittensor.core.errors.ChainTransactionError", false]], "check_and_convert_to_balance() (in module bittensor.utils.balance)": [[80, "bittensor.utils.balance.check_and_convert_to_balance", false]], "check_config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.check_config", false]], "check_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.check_config", false]], "check_latest_version_in_pypi() (in module bittensor.utils.version)": [[100, "bittensor.utils.version.check_latest_version_in_pypi", false]], "check_version (in module bittensor.utils)": [[89, "bittensor.utils.check_version", false]], "check_version() (in module bittensor.utils.version)": [[100, "bittensor.utils.version.check_version", false]], "close (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.close", false]], "close() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.close", false]], "close() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.close", false]], "close_session() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.close_session", false]], "close_session() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.close_session", false], [24, "id5", false]], "coldkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.coldkey", false]], "coldkey (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.coldkey", false]], "coldkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.coldkey_ss58", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.coldkeys", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Coldkeys", false]], "coldkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.coldkeys", false]], "coldkeys (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.coldkeys", false]], "color_map (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.color_map", false]], "commit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit", false]], "commit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.commit", false]], "commit_block (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_block", false]], "commit_hex (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_hex", false]], "commit_reveal_enabled (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.commit_reveal_enabled", false]], "commit_reveal_enabled (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.commit_reveal_enabled", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_period", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.asyncex.commit_reveal)": [[27, "bittensor.core.extrinsics.asyncex.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.commit_reveal)": [[41, "bittensor.core.extrinsics.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_weights_enabled", false]], "commit_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.commit_weights", false]], "commit_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_weights", false]], "commit_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.commit_weights", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[39, "bittensor.core.extrinsics.asyncex.weights.commit_weights_extrinsic", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[42, "bittensor.core.extrinsics.commit_weights.commit_weights_extrinsic", false]], "commitments (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.commitments", false]], "commitments (class in bittensor.core.subtensor_api.commitments)": [[62, "bittensor.core.subtensor_api.commitments.Commitments", false]], "commitrevealperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealPeriod", false]], "commitrevealweightsenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealWeightsEnabled", false]], "computed_body_hash (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.computed_body_hash", false]], "config (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.config", false]], "config (class in bittensor.core.config)": [[23, "bittensor.core.config.Config", false]], "config (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.config", false]], "config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.config", false]], "config() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.config", false]], "config() (bittensor.core.types.subtensormixin static method)": [[77, "bittensor.core.types.SubtensorMixin.config", false]], "config() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.config", false]], "connection_requirements (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.connection_requirements", false]], "consensus (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.consensus", false]], "consensus (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Consensus", false]], "consensus (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.consensus", false]], "consensus (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.consensus", false]], "consensus (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.consensus", false]], "consensus (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.consensus", false]], "consensus (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.consensus", false]], "consensus (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.consensus", false]], "console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.console", false]], "console (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[94, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.console", false]], "console (class in bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.Console", false]], "convert_and_normalize_weights_and_uids() (in module bittensor.utils.weight_utils)": [[101, "bittensor.utils.weight_utils.convert_and_normalize_weights_and_uids", false]], "convert_bond_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[101, "bittensor.utils.weight_utils.convert_bond_uids_and_vals_to_tensor", false]], "convert_root_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[101, "bittensor.utils.weight_utils.convert_root_weight_uids_and_vals_to_tensor", false]], "convert_storage_parameter() (bittensor.utils.substrate_utils.storage.storagekey method)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.convert_storage_parameter", false]], "convert_uids_and_weights() (in module bittensor.utils.weight_utils)": [[101, "bittensor.utils.weight_utils.convert_uids_and_weights", false]], "convert_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[101, "bittensor.utils.weight_utils.convert_weight_uids_and_vals_to_tensor", false]], "convert_weights_and_uids_for_emit() (in module bittensor.utils.weight_utils)": [[101, "bittensor.utils.weight_utils.convert_weights_and_uids_for_emit", false]], "copy() (bittensor.core.types.axonservecallparams method)": [[77, "bittensor.core.types.AxonServeCallParams.copy", false]], "create_error_response() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.create_error_response", false]], "create_from_data() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_data", false]], "create_from_storage_function() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_storage_function", false]], "create_pow() (in module bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.create_pow", false]], "create_pow_async() (in module bittensor.utils.registration.async_pow)": [[92, "bittensor.utils.registration.async_pow.create_pow_async", false]], "create_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[59, "bittensor.core.stream.StreamingSynapse.create_streaming_response", false]], "critical() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.critical", false]], "critical() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.critical", false]], "cudasolver (class in bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.CUDASolver", false]], "custom_logger_method_stack_level (in module bittensor.utils.btlogging.loggingmachine)": [[86, "bittensor.utils.btlogging.loggingmachine.CUSTOM_LOGGER_METHOD_STACK_LEVEL", false]], "d (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.D", false]], "data (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.data", false]], "date_format (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.DATE_FORMAT", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.debug", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Debug", false]], "debug() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.debug", false]], "debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.debug", false]], "debug() (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.debug", false]], "decode_account_id() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_account_id", false]], "decode_account_id_list() (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo class method)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.decode_account_id_list", false]], "decode_block() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_block", false]], "decode_hex_identity_dict() (in module bittensor.utils)": [[89, "bittensor.utils.decode_hex_identity_dict", false]], "decode_metadata() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_metadata", false]], "decode_revealed_commitment() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_revealed_commitment", false]], "decode_revealed_commitment_with_hotkey() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_revealed_commitment_with_hotkey", false]], "decode_scale_value() (bittensor.utils.substrate_utils.storage.storagekey method)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.decode_scale_value", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[36, "bittensor.core.extrinsics.asyncex.take.decrease_take_extrinsic", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[52, "bittensor.core.extrinsics.take.decrease_take_extrinsic", false]], "decrypt() (in module bittensor.core.timelock)": [[76, "bittensor.core.timelock.decrypt", false]], "default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Default", false]], "default() (bittensor.core.config.defaultconfig class method)": [[23, "bittensor.core.config.DefaultConfig.default", false]], "default_endpoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.DEFAULT_ENDPOINT", false]], "default_log_backup_count (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.DEFAULT_LOG_BACKUP_COUNT", false]], "default_log_file_name (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.DEFAULT_LOG_FILE_NAME", false]], "default_log_format (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.DEFAULT_LOG_FORMAT", false]], "default_max_rotating_log_file_size (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.DEFAULT_MAX_ROTATING_LOG_FILE_SIZE", false]], "default_network (in module bittensor.core.settings)": [[58, "bittensor.core.settings.DEFAULT_NETWORK", false]], "default_trace_format (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.DEFAULT_TRACE_FORMAT", false]], "default_verify() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.default_verify", false]], "defaultconfig (class in bittensor.core.config)": [[23, "bittensor.core.config.DefaultConfig", false]], "defaults (in module bittensor.core.settings)": [[58, "bittensor.core.settings.DEFAULTS", false]], "delegate_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.delegate_ss58", false]], "delegatedinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DelegatedInfo", false]], "delegatedinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo", false]], "delegateinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DelegateInfo", false]], "delegateinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo", false]], "delegateinfobase (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase", false]], "delegateinfolite (class in bittensor.core.chain_data.delegate_info_lite)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite", false]], "delegates (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.delegates", false]], "delegates (class in bittensor.core.subtensor_api.delegates)": [[63, "bittensor.core.subtensor_api.delegates.Delegates", false]], "delegatetaketoohigh": [[25, "bittensor.core.errors.DelegateTakeTooHigh", false]], "delegatetaketoolow": [[25, "bittensor.core.errors.DelegateTakeTooLow", false]], "delegatetxratelimitexceeded": [[25, "bittensor.core.errors.DelegateTxRateLimitExceeded", false]], "dendrite (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.dendrite", false]], "dendrite (bittensor.utils.subnets.subnetsapi attribute)": [[96, "bittensor.utils.subnets.SubnetsAPI.dendrite", false]], "dendrite (class in bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.Dendrite", false]], "dendrite (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.dendrite", false]], "dendrite_default_error (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DENDRITE_DEFAULT_ERROR", false]], "dendrite_error_mapping (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DENDRITE_ERROR_MAPPING", false]], "dendritemixin (class in bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DendriteMixin", false]], "deprecated_message() (in module bittensor.utils)": [[89, "bittensor.utils.deprecated_message", false]], "deregister_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.deregister_primary_logger", false]], "description (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.description", false]], "description (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.description", false]], "deserialize() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.deserialize", false], [73, "id1", false]], "deserialize() (bittensor.core.tensor.tensor method)": [[74, "bittensor.core.tensor.Tensor.deserialize", false]], "determine_block_hash (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.determine_block_hash", false]], "determine_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.determine_block_hash", false]], "determine_block_hash() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.determine_block_hash", false]], "determine_chain_endpoint_and_network() (in module bittensor.utils)": [[89, "bittensor.utils.determine_chain_endpoint_and_network", false]], "dev_id (bittensor.utils.registration.pow.cudasolver attribute)": [[94, "bittensor.utils.registration.pow.CUDASolver.dev_id", false]], "dict() (bittensor.core.types.axonservecallparams method)": [[77, "bittensor.core.types.AxonServeCallParams.dict", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.difficulty", false]], "difficulty (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.difficulty", false]], "difficulty (bittensor.utils.registration.pow.powsolution attribute)": [[94, "bittensor.utils.registration.pow.POWSolution.difficulty", false]], "difficulty (bittensor.utils.registration.pow.registrationstatistics attribute)": [[94, "bittensor.utils.registration.pow.RegistrationStatistics.difficulty", false]], "difficulty() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.difficulty", false]], "difficulty() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.difficulty", false]], "disable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_debug", false]], "disable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_info", false]], "disable_logging (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_logging", false]], "disable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_third_party_loggers", false]], "disable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_trace", false]], "disable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_warning", false]], "disabled (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Disabled", false]], "discord (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.discord", false]], "discord (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.discord", false]], "dispatch() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.dispatch", false]], "dividends (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.dividends", false]], "dividends (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Dividends", false]], "dividends (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.dividends", false]], "dividends (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.dividends", false]], "dividends (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.dividends", false]], "dividends (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.dividends", false]], "dividends (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.dividends", false]], "dividends (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.dividends", false]], "do_serve_axon() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.do_serve_axon", false]], "do_serve_axon() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.do_serve_axon", false]], "does_hotkey_exist (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.does_hotkey_exist", false]], "drain (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.drain", false]], "dtype (bittensor.core.tensor.tensor attribute)": [[74, "bittensor.core.tensor.Tensor.dtype", false]], "dtypes (class in bittensor.core.tensor)": [[74, "bittensor.core.tensor.DTypes", false]], "dtypes (in module bittensor.core.tensor)": [[74, "bittensor.core.tensor.dtypes", false]], "duplicatechild": [[25, "bittensor.core.errors.DuplicateChild", false]], "dynamicinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DynamicInfo", false]], "dynamicinfo (class in bittensor.core.chain_data.dynamic_info)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo", false]], "e (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.E", false]], "emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Emission", false]], "emission (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.emission", false]], "emission (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.emission", false]], "emission (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.emission", false]], "emission (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.emission", false]], "emission (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.emission", false]], "emission (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.emission", false]], "emission (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.emission", false]], "emission_history (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.emission_history", false]], "emission_value (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.emission_value", false]], "emissions (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.emissions", false]], "emoji_map (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.emoji_map", false]], "enable_console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_console", false]], "enable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_debug", false]], "enable_default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_default", false]], "enable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_info", false]], "enable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_third_party_loggers", false]], "enable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_trace", false]], "enable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_warning", false]], "encode() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.encode", false]], "encode_params (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.encode_params", false]], "encode_params() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.encode_params", false]], "encode_params() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.encode_params", false]], "encrypt() (in module bittensor.core.timelock)": [[76, "bittensor.core.timelock.encrypt", false]], "end (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.end", false]], "error() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.error", false]], "error() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.error", false]], "event_loop_is_running() (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.event_loop_is_running", false]], "exception() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.exception", false]], "external_ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_ip", false]], "external_ip (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.external_ip", false]], "external_port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_port", false]], "externalipnotfound": [[91, "bittensor.utils.networking.ExternalIPNotFound", false]], "extract_response_json() (bittensor.core.stream.streamingsynapse method)": [[59, "bittensor.core.stream.StreamingSynapse.extract_response_json", false]], "extrinsicnotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.ExtrinsicNotFound", false]], "extrinsics (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.extrinsics", false]], "extrinsics (class in bittensor.core.subtensor_api.extrinsics)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics", false]], "extrinsics_subpackage (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.extrinsics_subpackage", false]], "failed_verification (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.failed_verification", false]], "fast_config (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_config", false]], "fast_server (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_server", false]], "fastapithreadedserver (class in bittensor.core.axon)": [[1, "bittensor.core.axon.FastAPIThreadedServer", false]], "fees_alpha (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.fees_alpha", false]], "fees_tao (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.fees_tao", false]], "filter_netuids_by_registered_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.filter_netuids_by_registered_hotkeys", false]], "finney_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.FINNEY_ENTRYPOINT", false]], "finney_test_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.FINNEY_TEST_ENTRYPOINT", false]], "fixed_to_float() (in module bittensor.utils.balance)": [[80, "bittensor.utils.balance.fixed_to_float", false]], "fixedpoint (class in bittensor.utils.balance)": [[80, "bittensor.utils.balance.FixedPoint", false]], "float_to_u64() (in module bittensor.utils)": [[89, "bittensor.utils.float_to_u64", false]], "format() (bittensor.utils.btlogging.format.btfileformatter method)": [[83, "bittensor.utils.btlogging.format.BtFileFormatter.format", false]], "format() (bittensor.utils.btlogging.format.btstreamformatter method)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter.format", false]], "format_error_message() (in module bittensor.utils)": [[89, "bittensor.utils.format_error_message", false]], "formattime() (bittensor.utils.btlogging.format.btfileformatter method)": [[83, "bittensor.utils.btlogging.format.BtFileFormatter.formatTime", false]], "formattime() (bittensor.utils.btlogging.format.btstreamformatter method)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter.formatTime", false]], "forward() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.forward", false]], "forward() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.forward", false], [24, "id7", false]], "forward_class_types (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_class_types", false]], "forward_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_fns", false]], "from_dict() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.from_dict", false]], "from_dict() (bittensor.core.chain_data.proposal_vote_data.proposalvotedata class method)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.from_dict", false]], "from_dict() (bittensor.core.chain_data.stake_info.stakeinfo class method)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.from_dict", false]], "from_error() (bittensor.core.errors.chainerror class method)": [[25, "bittensor.core.errors.ChainError.from_error", false]], "from_float() (bittensor.utils.balance.balance static method)": [[80, "bittensor.utils.balance.Balance.from_float", false]], "from_headers() (bittensor.core.synapse.synapse class method)": [[73, "id2", false]], "from_headers() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.from_headers", false]], "from_neuron_info() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_neuron_info", false]], "from_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_parameter_dict", false]], "from_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo class method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.from_parameter_dict", false]], "from_rao() (bittensor.utils.balance.balance static method)": [[80, "bittensor.utils.balance.Balance.from_rao", false]], "from_scale_encoding() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.from_scale_encoding", false]], "from_scale_encoding_using_type_string() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.from_scale_encoding_using_type_string", false]], "from_string() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_string", false]], "from_tao() (bittensor.utils.balance.balance static method)": [[80, "bittensor.utils.balance.Balance.from_tao", false]], "from_vec_u8() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8", false]], "from_vec_u8_v2() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8_v2", false]], "from_weights_bonds_and_neuron_lite() (bittensor.core.chain_data.neuron_info.neuroninfo class method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.from_weights_bonds_and_neuron_lite", false]], "full_address (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.full_address", false]], "generate() (bittensor.utils.substrate_utils.storage.storagekey method)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.generate", false]], "generate_weight_hash() (in module bittensor.utils.weight_utils)": [[101, "bittensor.utils.weight_utils.generate_weight_hash", false]], "get_all_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_all_commitments", false]], "get_all_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_commitments", false]], "get_all_commitments() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_commitments", false]], "get_all_metagraphs_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[66, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_metagraphs_info", false]], "get_all_neuron_certificates (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_neuron_certificates", false]], "get_all_revealed_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_revealed_commitments", false]], "get_all_subnets_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_all_subnets_info", false]], "get_and_save_latest_version() (in module bittensor.utils.version)": [[100, "bittensor.utils.version.get_and_save_latest_version", false]], "get_async_subtensor() (in module bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.get_async_subtensor", false]], "get_balance (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_balance", false]], "get_balance() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balance", false]], "get_balance() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_balance", false]], "get_balances (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_balances", false]], "get_balances() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balances", false]], "get_balances() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_balances", false]], "get_block_hash (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_block_hash", false]], "get_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_block_hash", false]], "get_block_hash() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_block_hash", false]], "get_children (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_children", false]], "get_children (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_children", false]], "get_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children", false]], "get_children() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_children", false]], "get_children_pending (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_children_pending", false]], "get_children_pending (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_children_pending", false]], "get_children_pending() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children_pending", false]], "get_children_pending() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_children_pending", false]], "get_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_commitment", false]], "get_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_commitment", false]], "get_commitment() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_commitment", false]], "get_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_config", false]], "get_cpu_count() (in module bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.get_cpu_count", false]], "get_current_block (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_current_block", false]], "get_current_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_block", false]], "get_current_block() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_current_block", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_current_weight_commit_info", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_current_weight_commit_info", false]], "get_current_weight_commit_info_v2 (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_current_weight_commit_info_v2", false]], "get_current_weight_commit_info_v2() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_weight_commit_info_v2", false]], "get_current_weight_commit_info_v2() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_current_weight_commit_info_v2", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegate_by_hotkey", false]], "get_delegate_identities (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_delegate_identities", false]], "get_delegate_identities (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegate_identities", false]], "get_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_take", false]], "get_delegate_take (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_take", false]], "get_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_take", false]], "get_delegate_take() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegate_take", false]], "get_delegated (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegated", false]], "get_delegated (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_delegated", false]], "get_delegated() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegated", false]], "get_delegated() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegated", false]], "get_delegates (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.get_delegates", false]], "get_delegates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegates", false]], "get_delegates() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_delegates", false]], "get_existential_deposit (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_existential_deposit", false]], "get_explorer_url_for_network() (in module bittensor.utils)": [[89, "bittensor.utils.get_explorer_url_for_network", false]], "get_external_ip() (in module bittensor.utils.networking)": [[91, "bittensor.utils.networking.get_external_ip", false]], "get_fees() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.get_fees", false]], "get_fees_in_range() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.get_fees_in_range", false]], "get_formatted_ws_endpoint_url() (in module bittensor.utils.networking)": [[91, "bittensor.utils.networking.get_formatted_ws_endpoint_url", false]], "get_hash() (in module bittensor.utils)": [[89, "bittensor.utils.get_hash", false]], "get_hotkey_owner (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_hotkey_owner", false]], "get_hotkey_stake (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_stake", false]], "get_human_readable() (in module bittensor.utils.formatting)": [[88, "bittensor.utils.formatting.get_human_readable", false]], "get_hyperparameter (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_hyperparameter", false]], "get_last_bonds_reset() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.get_last_bonds_reset", false]], "get_last_bonds_reset() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.get_last_bonds_reset", false]], "get_last_commitment_bonds_reset_block (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_last_commitment_bonds_reset_block", false]], "get_level() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_level", false]], "get_liquidity_list (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_liquidity_list", false]], "get_max_logger_name_length() (in module bittensor.utils.btlogging.helpers)": [[84, "bittensor.utils.btlogging.helpers.get_max_logger_name_length", false]], "get_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.get_metadata", false]], "get_metadata() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.get_metadata", false]], "get_metagraph_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[66, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_metagraph_info", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_minimum_required_stake", false]], "get_netuids_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_netuids_for_hotkey", false]], "get_neuron_certificate (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_neuron_certificate", false]], "get_neuron_for_pubkey_and_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_neuron_for_pubkey_and_subnet", false]], "get_next_epoch_start_block (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_next_epoch_start_block", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info.neuroninfo static method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite static method)": [[12, "id0", false]], "get_old_stakes() (in module bittensor.core.extrinsics.utils)": [[55, "bittensor.core.extrinsics.utils.get_old_stakes", false]], "get_owned_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_owned_hotkeys", false]], "get_parents (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_parents", false]], "get_parents() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_parents", false]], "get_parents() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_parents", false]], "get_queue() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_queue", false]], "get_required_fields() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.get_required_fields", false]], "get_revealed_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_revealed_commitment", false]], "get_revealed_commitment_by_hotkey (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_revealed_commitment_by_hotkey", false]], "get_save_dir() (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.get_save_dir", false]], "get_size() (in module bittensor.core.synapse)": [[73, "bittensor.core.synapse.get_size", false]], "get_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake", false]], "get_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake", false]], "get_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake", false]], "get_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake", false]], "get_stake_add_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_add_fee", false]], "get_stake_add_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_add_fee", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_for_hotkey", false]], "get_stake_info_for_coldkey (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_info_for_coldkey", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_movement_fee", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_movement_fee", false]], "get_stake_operations_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_operations_fee", false]], "get_stake_operations_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_operations_fee", false]], "get_stake_operations_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_operations_fee", false]], "get_stake_weight (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_stake_weight", false]], "get_stake_weight() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_weight", false]], "get_stake_weight() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_stake_weight", false]], "get_status_message() (bittensor.utils.registration.pow.registrationstatisticslogger class method)": [[94, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.get_status_message", false]], "get_subnet_burn_cost (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_burn_cost", false]], "get_subnet_hyperparameters (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_hyperparameters", false]], "get_subnet_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_info", false]], "get_subnet_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_info", false]], "get_subnet_info() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_info", false]], "get_subnet_owner_hotkey (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_owner_hotkey", false]], "get_subnet_price (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_price", false]], "get_subnet_price() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_price", false]], "get_subnet_price() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_price", false]], "get_subnet_prices (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_prices", false]], "get_subnet_reveal_period_epochs (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_validator_permits (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnet_validator_permits", false]], "get_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_subnets", false]], "get_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnets", false]], "get_subnets() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_subnets", false]], "get_timestamp (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_timestamp", false]], "get_timestamp() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_timestamp", false]], "get_timestamp() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_timestamp", false]], "get_total_size() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.get_total_size", false], [73, "id3", false]], "get_total_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_total_subnets", false]], "get_total_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_total_subnets", false]], "get_total_subnets() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_total_subnets", false]], "get_transfer_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_transfer_fee", false]], "get_transfer_fn_params() (in module bittensor.utils)": [[89, "bittensor.utils.get_transfer_fn_params", false]], "get_uid_for_hotkey_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_uid_for_hotkey_on_subnet", false]], "get_unit() (bittensor.utils.balance.balance static method)": [[80, "bittensor.utils.balance.Balance.get_unit", false]], "get_unstake_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.get_unstake_fee", false]], "get_unstake_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_unstake_fee", false]], "get_vote_data (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.get_vote_data", false]], "get_vote_data() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_vote_data", false]], "get_vote_data() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.get_vote_data", false]], "github (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.github", false]], "github_repo (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.github_repo", false]], "hash_rate (bittensor.utils.registration.pow.registrationstatistics attribute)": [[94, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate", false]], "hash_rate_perpetual (bittensor.utils.registration.pow.registrationstatistics attribute)": [[94, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate_perpetual", false]], "header_size (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.header_size", false]], "help (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.help", false]], "help() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.help", false]], "help() (bittensor.core.types.subtensormixin class method)": [[77, "bittensor.core.types.SubtensorMixin.help", false]], "help() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.help", false]], "hex_to_bytes (in module bittensor.utils)": [[89, "bittensor.utils.hex_to_bytes", false]], "home_dir (in module bittensor.core.settings)": [[58, "bittensor.core.settings.HOME_DIR", false]], "hotkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.hotkey", false]], "hotkey (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.hotkey", false]], "hotkey (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.hotkey", false]], "hotkey_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.hotkey_ss58", false]], "hotkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.hotkey_ss58", false]], "hotkeyaccountnotexists": [[25, "bittensor.core.errors.HotKeyAccountNotExists", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.hotkeys", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Hotkeys", false]], "hotkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.hotkeys", false]], "hotkeys (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.hotkeys", false]], "hparams (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.hparams", false]], "i (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.I", false]], "id (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.id", false]], "identities (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identities", false]], "identities (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identities", false]], "identities (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.identities", false]], "identity (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identity", false]], "identity (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identity", false]], "identity (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.identity", false]], "identity() (in module bittensor.utils.substrate_utils.hasher)": [[97, "bittensor.utils.substrate_utils.hasher.identity", false]], "identityerror": [[25, "bittensor.core.errors.IdentityError", false]], "image (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.image", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.immunity_period", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.immunity_period", false]], "immunity_period (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.immunity_period", false]], "immunity_period() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.immunity_period", false]], "immunity_period() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.immunity_period", false]], "immunityperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ImmunityPeriod", false]], "incentive (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.incentive", false]], "incentive (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.incentive", false]], "incentive (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.incentive", false]], "incentive (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.incentive", false]], "incentive (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.incentive", false]], "incentives (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.incentives", false]], "incentives (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Incentives", false]], "incentives (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.incentives", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[36, "bittensor.core.extrinsics.asyncex.take.increase_take_extrinsic", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[52, "bittensor.core.extrinsics.take.increase_take_extrinsic", false]], "index (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.index", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.info", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Info", false]], "info() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.info", false]], "info() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.info", false]], "info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.info", false]], "info() (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.info", false]], "infobase (class in bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.InfoBase", false]], "initialize (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.initialize", false]], "initialize() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.initialize", false]], "install_signal_handlers() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.install_signal_handlers", false]], "int_to_ip() (in module bittensor.utils.networking)": [[91, "bittensor.utils.networking.int_to_ip", false]], "internalservererror": [[25, "bittensor.core.errors.InternalServerError", false]], "invalidchild": [[25, "bittensor.core.errors.InvalidChild", false]], "invalidconfigfile": [[23, "bittensor.core.config.InvalidConfigFile", false]], "invalidrequestnameerror": [[25, "bittensor.core.errors.InvalidRequestNameError", false]], "ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.ip", false]], "ip (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip", false]], "ip (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip", false]], "ip (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip", false]], "ip (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.ip", false]], "ip (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.ip", false]], "ip (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.ip", false]], "ip__str__() (in module bittensor.utils.networking)": [[91, "bittensor.utils.networking.ip__str__", false]], "ip_str() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_str", false]], "ip_to_int() (in module bittensor.utils.networking)": [[91, "bittensor.utils.networking.ip_to_int", false]], "ip_type (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip_type", false]], "ip_type (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.ip_type", false]], "ip_type (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.ip_type", false]], "ip_version() (in module bittensor.utils.networking)": [[91, "bittensor.utils.networking.ip_version", false]], "ipinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.IPInfo", false]], "ipinfo (class in bittensor.core.chain_data.ip_info)": [[9, "bittensor.core.chain_data.ip_info.IPInfo", false]], "is_async (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.is_async", false]], "is_blacklist (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.is_blacklist", false]], "is_dynamic (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.is_dynamic", false]], "is_empty (bittensor.core.threadpool.prioritythreadpoolexecutor property)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.is_empty", false]], "is_failure (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.is_failure", false]], "is_fast_blocks (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_fast_blocks", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.is_hotkey_delegate", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_hotkey_delegate", false]], "is_hotkey_registered (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_hotkey_registered", false]], "is_hotkey_registered_any (bittensor.core.subtensor_api.wallets.wallets attribute)": [[72, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_on_subnet", false]], "is_null (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.is_null", false]], "is_null (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.is_null", false]], "is_registered (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.is_registered", false]], "is_running (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.is_running", false]], "is_serving (bittensor.core.chain_data.axon_info.axoninfo property)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.is_serving", false]], "is_set() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.is_set", false]], "is_stale() (bittensor.utils.registration.pow.powsolution method)": [[94, "bittensor.utils.registration.pow.POWSolution.is_stale", false]], "is_stale_async() (bittensor.utils.registration.pow.powsolution method)": [[94, "bittensor.utils.registration.pow.POWSolution.is_stale_async", false]], "is_subnet_active (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.is_subnet_active", false]], "is_subnet_active() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_subnet_active", false]], "is_subnet_active() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.is_subnet_active", false]], "is_success (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.is_success", false]], "is_timeout (bittensor.core.synapse.synapse property)": [[73, "bittensor.core.synapse.Synapse.is_timeout", false]], "is_valid_bittensor_address_or_public_key() (in module bittensor.utils)": [[89, "bittensor.utils.is_valid_bittensor_address_or_public_key", false]], "is_valid_ss58_address() (in module bittensor.utils)": [[89, "bittensor.utils.is_valid_ss58_address", false]], "k (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.k", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Kappa", false]], "kappa (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.kappa", false]], "kappa (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.kappa", false]], "keyfile (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.keyfile", false]], "keypair (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.keypair", false]], "last_drand_round (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.last_drand_round", false]], "last_drand_round() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.last_drand_round", false]], "last_drand_round() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.last_drand_round", false]], "last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.last_step", false]], "last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_step", false]], "last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.last_step", false]], "last_update (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.last_update", false]], "last_update (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.last_update", false]], "last_update (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.last_update", false]], "last_update (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.last_update", false]], "last_update (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.last_update", false]], "laststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastStep", false]], "lastupdate (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastUpdate", false]], "latent_lite_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.LATENT_LITE_ENTRYPOINT", false]], "latest_block_path() (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.latest_block_path", false]], "lazyloadedtorch (class in bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.LazyLoadedTorch", false]], "legacy_torch_api_compat() (in module bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.legacy_torch_api_compat", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.liquid_alpha_enabled", false]], "liquidalphaenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LiquidAlphaEnabled", false]], "liquidity (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.liquidity", false]], "liquidityposition (class in bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.LiquidityPosition", false]], "list_from_dicts() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.list_from_dicts", false]], "list_from_vec_u8() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.list_from_vec_u8", false]], "lite (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.lite", false]], "load() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.load", false]], "load_from_path() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.nontorchmetagraph method)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.torchmetagraph method)": [[57, "bittensor.core.metagraph.TorchMetagraph.load_from_path", false]], "local_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.LOCAL_ENTRYPOINT", false]], "locked (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.locked", false]], "log() (bittensor.utils.registration.pow.console static method)": [[94, "bittensor.utils.registration.pow.Console.log", false]], "log_and_handle_error() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.log_and_handle_error", false]], "log_cuda_errors() (in module bittensor.utils.registration.register_cuda)": [[95, "bittensor.utils.registration.register_cuda.log_cuda_errors", false]], "log_exception() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.log_exception", false]], "log_formats (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.LOG_FORMATS", false]], "log_level_color_prefix (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.log_level_color_prefix", false]], "log_no_torch_error() (in module bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.log_no_torch_error", false]], "log_trace_formats (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.LOG_TRACE_FORMATS", false]], "log_verbose (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.log_verbose", false]], "log_verbose (bittensor.core.types.subtensormixin attribute)": [[77, "bittensor.core.types.SubtensorMixin.log_verbose", false]], "logger (bittensor.utils.btlogging.console.bittensorconsole attribute)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.logger", false]], "logger (in module bittensor.core.threadpool)": [[75, "bittensor.core.threadpool.logger", false]], "logging (in module bittensor.utils)": [[89, "bittensor.utils.logging", false]], "logging (in module bittensor.utils.btlogging)": [[85, "bittensor.utils.btlogging.logging", false]], "logging_dir (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.logging_dir", false]], "loggingconfig (class in bittensor.utils.btlogging.loggingmachine)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig", false]], "loggingmachine (class in bittensor.utils.btlogging.loggingmachine)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine", false]], "logo_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.logo_url", false]], "max_allowed_validators (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_allowed_validators", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_burn", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_burn", false]], "max_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_burn", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_difficulty", false]], "max_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_n", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_regs_per_block", false]], "max_tick (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.MAX_TICK", false]], "max_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_uids", false]], "max_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.max_uids", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_validators", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_validators", false]], "max_validators (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_validators", false]], "max_weight_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_weight_limit", false]], "max_weight_limit (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_weight_limit", false]], "max_weight_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.max_weight_limit", false]], "max_weight_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.max_weight_limit", false]], "max_weight_limit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.max_weight_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_weights_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_weights_limit", false]], "maxattemptsexception": [[25, "bittensor.core.errors.MaxAttemptsException", false]], "maxburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxBurn", false]], "maxdifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxDifficulty", false]], "maxregsperblock (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxRegsPerBlock", false]], "maxsuccessexception": [[25, "bittensor.core.errors.MaxSuccessException", false]], "maxuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxUids", false]], "maxvalidators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxValidators", false]], "maxweightslimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxWeightsLimit", false]], "merge() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.merge", false]], "message (bittensor.core.errors.synapsedendritenoneexception attribute)": [[25, "bittensor.core.errors.SynapseDendriteNoneException.message", false]], "message (bittensor.core.errors.synapseexception attribute)": [[25, "bittensor.core.errors.SynapseException.message", false]], "message (bittensor.utils.unlockstatus attribute)": [[89, "bittensor.utils.UnlockStatus.message", false]], "metadata (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.metadata", false]], "metadata() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.metadata", false]], "metadata_storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.metadata_storage_function", false]], "metadataerror": [[25, "bittensor.core.errors.MetadataError", false]], "metagraph (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[66, "bittensor.core.subtensor_api.metagraphs.Metagraphs.metagraph", false]], "metagraph (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.Metagraph", false]], "metagraph (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.metagraph", false]], "metagraph() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.metagraph", false]], "metagraph() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.metagraph", false]], "metagraph_state_dict_ndarray_keys (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.METAGRAPH_STATE_DICT_NDARRAY_KEYS", false]], "metagraphinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.MetagraphInfo", false]], "metagraphinfo (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo", false]], "metagraphinfoemissions (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions", false]], "metagraphinfoparams (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams", false]], "metagraphinfopool (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool", false]], "metagraphmixin (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.MetagraphMixin", false]], "metagraphs (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.metagraphs", false]], "metagraphs (class in bittensor.core.subtensor_api.metagraphs)": [[66, "bittensor.core.subtensor_api.metagraphs.Metagraphs", false]], "middleware_cls (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.middleware_cls", false]], "millify() (in module bittensor.utils.formatting)": [[88, "bittensor.utils.formatting.millify", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.min_allowed_weights", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_burn", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_burn", false]], "min_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_burn", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_difficulty", false]], "min_tick (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.MIN_TICK", false]], "minallowedweights (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinAllowedWeights", false]], "minburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinBurn", false]], "mindifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinDifficulty", false]], "miners_dir (in module bittensor.core.settings)": [[58, "bittensor.core.settings.MINERS_DIR", false]], "mock_subpackage (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.mock_subpackage", false]], "modality (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.modality", false]], "model_config (bittensor.core.stream.streamingsynapse attribute)": [[59, "bittensor.core.stream.StreamingSynapse.model_config", false]], "model_config (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.model_config", false]], "model_config (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.model_config", false]], "model_config (bittensor.core.tensor.tensor attribute)": [[74, "bittensor.core.tensor.Tensor.model_config", false]], "modify_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.modify_liquidity", false]], "modify_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.modify_liquidity", false]], "modify_liquidity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.modify_liquidity", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.modify_liquidity_extrinsic", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[44, "bittensor.core.extrinsics.liquidity.modify_liquidity_extrinsic", false]], "module": [[0, "module-bittensor.core.async_subtensor", false], [1, "module-bittensor.core.axon", false], [2, "module-bittensor.core.chain_data.axon_info", false], [3, "module-bittensor.core.chain_data.chain_identity", false], [4, "module-bittensor.core.chain_data.delegate_info", false], [5, "module-bittensor.core.chain_data.delegate_info_lite", false], [6, "module-bittensor.core.chain_data.dynamic_info", false], [7, "module-bittensor.core.chain_data", false], [8, "module-bittensor.core.chain_data.info_base", false], [9, "module-bittensor.core.chain_data.ip_info", false], [10, "module-bittensor.core.chain_data.metagraph_info", false], [11, "module-bittensor.core.chain_data.neuron_info", false], [12, "module-bittensor.core.chain_data.neuron_info_lite", false], [13, "module-bittensor.core.chain_data.prometheus_info", false], [14, "module-bittensor.core.chain_data.proposal_vote_data", false], [15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false], [16, "module-bittensor.core.chain_data.stake_info", false], [17, "module-bittensor.core.chain_data.subnet_hyperparameters", false], [18, "module-bittensor.core.chain_data.subnet_identity", false], [19, "module-bittensor.core.chain_data.subnet_info", false], [20, "module-bittensor.core.chain_data.subnet_state", false], [21, "module-bittensor.core.chain_data.utils", false], [22, "module-bittensor.core.chain_data.weight_commit_info", false], [23, "module-bittensor.core.config", false], [24, "module-bittensor.core.dendrite", false], [25, "module-bittensor.core.errors", false], [26, "module-bittensor.core.extrinsics.asyncex.children", false], [27, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false], [28, "module-bittensor.core.extrinsics.asyncex", false], [29, "module-bittensor.core.extrinsics.asyncex.liquidity", false], [30, "module-bittensor.core.extrinsics.asyncex.move_stake", false], [31, "module-bittensor.core.extrinsics.asyncex.registration", false], [32, "module-bittensor.core.extrinsics.asyncex.root", false], [33, "module-bittensor.core.extrinsics.asyncex.serving", false], [34, "module-bittensor.core.extrinsics.asyncex.staking", false], [35, "module-bittensor.core.extrinsics.asyncex.start_call", false], [36, "module-bittensor.core.extrinsics.asyncex.take", false], [37, "module-bittensor.core.extrinsics.asyncex.transfer", false], [38, "module-bittensor.core.extrinsics.asyncex.unstaking", false], [39, "module-bittensor.core.extrinsics.asyncex.weights", false], [40, "module-bittensor.core.extrinsics.children", false], [41, "module-bittensor.core.extrinsics.commit_reveal", false], [42, "module-bittensor.core.extrinsics.commit_weights", false], [43, "module-bittensor.core.extrinsics", false], [44, "module-bittensor.core.extrinsics.liquidity", false], [45, "module-bittensor.core.extrinsics.move_stake", false], [46, "module-bittensor.core.extrinsics.registration", false], [47, "module-bittensor.core.extrinsics.root", false], [48, "module-bittensor.core.extrinsics.serving", false], [49, "module-bittensor.core.extrinsics.set_weights", false], [50, "module-bittensor.core.extrinsics.staking", false], [51, "module-bittensor.core.extrinsics.start_call", false], [52, "module-bittensor.core.extrinsics.take", false], [53, "module-bittensor.core.extrinsics.transfer", false], [54, "module-bittensor.core.extrinsics.unstaking", false], [55, "module-bittensor.core.extrinsics.utils", false], [56, "module-bittensor.core", false], [57, "module-bittensor.core.metagraph", false], [58, "module-bittensor.core.settings", false], [59, "module-bittensor.core.stream", false], [60, "module-bittensor.core.subtensor", false], [61, "module-bittensor.core.subtensor_api.chain", false], [62, "module-bittensor.core.subtensor_api.commitments", false], [63, "module-bittensor.core.subtensor_api.delegates", false], [64, "module-bittensor.core.subtensor_api.extrinsics", false], [65, "module-bittensor.core.subtensor_api", false], [66, "module-bittensor.core.subtensor_api.metagraphs", false], [67, "module-bittensor.core.subtensor_api.neurons", false], [68, "module-bittensor.core.subtensor_api.queries", false], [69, "module-bittensor.core.subtensor_api.staking", false], [70, "module-bittensor.core.subtensor_api.subnets", false], [71, "module-bittensor.core.subtensor_api.utils", false], [72, "module-bittensor.core.subtensor_api.wallets", false], [73, "module-bittensor.core.synapse", false], [74, "module-bittensor.core.tensor", false], [75, "module-bittensor.core.threadpool", false], [76, "module-bittensor.core.timelock", false], [77, "module-bittensor.core.types", false], [78, "module-bittensor", false], [79, "module-bittensor.utils.axon_utils", false], [80, "module-bittensor.utils.balance", false], [81, "module-bittensor.utils.btlogging.console", false], [82, "module-bittensor.utils.btlogging.defines", false], [83, "module-bittensor.utils.btlogging.format", false], [84, "module-bittensor.utils.btlogging.helpers", false], [85, "module-bittensor.utils.btlogging", false], [86, "module-bittensor.utils.btlogging.loggingmachine", false], [87, "module-bittensor.utils.easy_imports", false], [88, "module-bittensor.utils.formatting", false], [89, "module-bittensor.utils", false], [90, "module-bittensor.utils.liquidity", false], [91, "module-bittensor.utils.networking", false], [92, "module-bittensor.utils.registration.async_pow", false], [93, "module-bittensor.utils.registration", false], [94, "module-bittensor.utils.registration.pow", false], [95, "module-bittensor.utils.registration.register_cuda", false], [96, "module-bittensor.utils.subnets", false], [97, "module-bittensor.utils.substrate_utils.hasher", false], [98, "module-bittensor.utils.substrate_utils", false], [99, "module-bittensor.utils.substrate_utils.storage", false], [100, "module-bittensor.utils.version", false], [101, "module-bittensor.utils.weight_utils", false]], "move_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.move_stake", false]], "move_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.move_stake", false]], "move_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.move_stake", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[30, "bittensor.core.extrinsics.asyncex.move_stake.move_stake_extrinsic", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[45, "bittensor.core.extrinsics.move_stake.move_stake_extrinsic", false]], "moving_price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.moving_price", false]], "movingprice (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MovingPrice", false]], "n (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.n", false]], "n (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.n", false]], "n (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.n", false]], "name (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.name", false]], "name (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.name", false]], "name (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Name", false]], "name (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.name", false]], "name (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.name", false]], "name (bittensor.core.types.paramwithtypes attribute)": [[77, "bittensor.core.types.ParamWithTypes.name", false]], "nanoseconds_in_second (in module bittensor.utils.axon_utils)": [[79, "bittensor.utils.axon_utils.NANOSECONDS_IN_SECOND", false]], "nays (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.nays", false]], "netuid (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.netuid", false]], "netuid (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Netuid", false]], "netuid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.netuid", false]], "netuid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.netuid", false]], "netuid (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.netuid", false]], "netuid (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.netuid", false]], "netuid (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.netuid", false]], "netuid (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.netuid", false]], "netuid (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.netuid", false]], "netuid (bittensor.utils.balance.balance attribute)": [[80, "bittensor.utils.balance.Balance.netuid", false]], "netuid (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.netuid", false]], "network (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.network", false]], "network (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.network", false]], "network (bittensor.core.types.subtensormixin attribute)": [[77, "bittensor.core.types.SubtensorMixin.network", false]], "network_explorer_map (in module bittensor.core.settings)": [[58, "bittensor.core.settings.NETWORK_EXPLORER_MAP", false]], "network_map (in module bittensor.core.settings)": [[58, "bittensor.core.settings.NETWORK_MAP", false]], "network_registered_at (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.network_registered_at", false]], "network_registered_at (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.network_registered_at", false]], "network_registered_at (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.network_registered_at", false]], "networkregisteredat (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NetworkRegisteredAt", false]], "networks (in module bittensor.core.settings)": [[58, "bittensor.core.settings.NETWORKS", false]], "neuron_for_uid (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.neuron_for_uid", false]], "neuroninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfo", false]], "neuroninfo (class in bittensor.core.chain_data.neuron_info)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo", false]], "neuroninfolite (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfoLite", false]], "neuroninfolite (class in bittensor.core.chain_data.neuron_info_lite)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite", false]], "neurons (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.neurons", false]], "neurons (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.neurons", false]], "neurons (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.neurons", false]], "neurons (class in bittensor.core.subtensor_api.neurons)": [[67, "bittensor.core.subtensor_api.neurons.Neurons", false]], "neurons() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons", false]], "neurons() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.neurons", false]], "neurons_lite (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.neurons_lite", false]], "neurons_lite() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons_lite", false]], "neurons_lite() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.neurons_lite", false]], "new_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.new_coldkey", false]], "nominationerror": [[25, "bittensor.core.errors.NominationError", false]], "nominators (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.nominators", false]], "nominators (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.nominators", false]], "nonassociatedcoldkey": [[25, "bittensor.core.errors.NonAssociatedColdKey", false]], "nonce (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.nonce", false]], "nonce (bittensor.utils.registration.pow.powsolution attribute)": [[94, "bittensor.utils.registration.pow.POWSolution.nonce", false]], "nonces (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.nonces", false]], "nontorchmetagraph (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.NonTorchMetagraph", false]], "normalize_max_weight() (in module bittensor.utils.weight_utils)": [[101, "bittensor.utils.weight_utils.normalize_max_weight", false]], "notdelegateerror": [[25, "bittensor.core.errors.NotDelegateError", false]], "notenoughstaketosetchildkeys": [[25, "bittensor.core.errors.NotEnoughStakeToSetChildkeys", false]], "notregisterederror": [[25, "bittensor.core.errors.NotRegisteredError", false]], "notverifiedexception": [[25, "bittensor.core.errors.NotVerifiedException", false]], "null_entry (in module bittensor.core.threadpool)": [[75, "bittensor.core.threadpool.NULL_ENTRY", false]], "num_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.num_uids", false]], "num_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.num_uids", false]], "numpy() (bittensor.core.tensor.tensor method)": [[74, "bittensor.core.tensor.Tensor.numpy", false]], "numpyortorch (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.NumpyOrTorch", false]], "numuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NumUids", false]], "off() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.off", false]], "old_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.old_coldkey", false]], "on() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.on", false]], "owner_coldkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.owner_coldkey", false]], "owner_hotkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.owner_hotkey", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.owner_ss58", false]], "ownercoldkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerColdkey", false]], "ownerhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerHotkey", false]], "pallet (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.pallet", false]], "params (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.params", false]], "params_encoded (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.params_encoded", false]], "paramwithtypes (class in bittensor.core.types)": [[77, "bittensor.core.types.ParamWithTypes", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse class method)": [[73, "id4", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.parse_headers_to_inputs", false]], "pending_alpha_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_alpha_emission", false]], "pending_root_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_root_emission", false]], "pendingalphaemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingAlphaEmission", false]], "pendingrootemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingRootEmission", false]], "pipaddress (in module bittensor.core.settings)": [[58, "bittensor.core.settings.PIPADDRESS", false]], "placeholder1 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder1", false]], "placeholder1 (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.placeholder1", false]], "placeholder2 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder2", false]], "placeholder2 (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.placeholder2", false]], "pool (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.pool", false]], "port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.port", false]], "port (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.port", false]], "port (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.port", false]], "port (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.port", false]], "port (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.port", false]], "port (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.port", false]], "postprocessexception": [[25, "bittensor.core.errors.PostProcessException", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pow_registration_allowed", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.pow_registration_allowed", false]], "powregistrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PowRegistrationAllowed", false]], "powsolution (class in bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.POWSolution", false]], "prepare_synapse() (bittensor.utils.subnets.subnetsapi method)": [[96, "bittensor.utils.subnets.SubnetsAPI.prepare_synapse", false]], "preprocess() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.preprocess", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.preprocess_synapse_for_request", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.preprocess_synapse_for_request", false], [24, "id8", false]], "price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.price", false]], "price_high (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.price_high", false]], "price_low (bittensor.utils.liquidity.liquidityposition attribute)": [[90, "bittensor.utils.liquidity.LiquidityPosition.price_low", false]], "price_step (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.PRICE_STEP", false]], "price_to_tick() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.price_to_tick", false]], "priority() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.priority", false]], "priority_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.priority_fns", false]], "priorityexception": [[25, "bittensor.core.errors.PriorityException", false]], "prioritythreadpoolexecutor (class in bittensor.core.threadpool)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor", false]], "process_error_message() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.process_error_message", false]], "process_nested() (in module bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.process_nested", false]], "process_responses() (bittensor.utils.subnets.subnetsapi method)": [[96, "bittensor.utils.subnets.SubnetsAPI.process_responses", false]], "process_server_response() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.process_server_response", false]], "process_server_response() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.process_server_response", false], [24, "id9", false]], "process_stake_data() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.process_stake_data", false]], "process_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[59, "bittensor.core.stream.StreamingSynapse.process_streaming_response", false]], "process_time (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.process_time", false]], "process_weights() (in module bittensor.utils.weight_utils)": [[101, "bittensor.utils.weight_utils.process_weights", false]], "process_weights_for_netuid() (in module bittensor.utils.weight_utils)": [[101, "bittensor.utils.weight_utils.process_weights_for_netuid", false]], "prometheus_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.prometheus_info", false]], "prometheus_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.prometheus_info", false]], "prometheusinfo (class in bittensor.core.chain_data.prometheus_info)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo", false]], "prometheusservecallparams (class in bittensor.core.types)": [[77, "bittensor.core.types.PrometheusServeCallParams", false]], "proportionoverflow": [[25, "bittensor.core.errors.ProportionOverflow", false]], "proposalvotedata (class in bittensor.core.chain_data.proposal_vote_data)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData", false]], "protocol (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.protocol", false]], "protocol (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.protocol", false]], "protocol (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.protocol", false]], "pruning_score (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.pruning_score", false]], "pruning_score (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.pruning_score", false]], "pruning_score (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.pruning_score", false]], "pruningscore (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PruningScore", false]], "publish_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.publish_metadata", false]], "publish_metadata() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.publish_metadata", false]], "queries (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.queries", false]], "queries (class in bittensor.core.subtensor_api.queries)": [[68, "bittensor.core.subtensor_api.queries.Queries", false]], "query() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.query", false]], "query() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.query", false], [24, "id11", false]], "query_api() (bittensor.utils.subnets.subnetsapi method)": [[96, "bittensor.utils.subnets.SubnetsAPI.query_api", false]], "query_constant (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_constant", false]], "query_constant() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_constant", false]], "query_constant() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_constant", false]], "query_identity (bittensor.core.subtensor_api.neurons.neurons attribute)": [[67, "bittensor.core.subtensor_api.neurons.Neurons.query_identity", false]], "query_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_identity", false]], "query_identity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_identity", false]], "query_map (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_map", false]], "query_map() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map", false]], "query_map() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_map", false]], "query_map_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_map_subtensor", false]], "query_module (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_module", false]], "query_module() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_module", false]], "query_module() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_module", false]], "query_runtime_api (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_runtime_api", false]], "query_runtime_api() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_runtime_api", false]], "query_runtime_api() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_runtime_api", false]], "query_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[68, "bittensor.core.subtensor_api.queries.Queries.query_subtensor", false]], "query_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_subtensor", false]], "query_subtensor() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.query_subtensor", false]], "r (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.R", false]], "rank (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rank", false]], "rank (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rank", false]], "rank (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.rank", false]], "rank (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.rank", false]], "rank (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.rank", false]], "ranks (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.ranks", false]], "ranks (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.ranks", false]], "ranks (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.ranks", false]], "rao (bittensor.utils.balance.balance attribute)": [[80, "bittensor.utils.balance.Balance.rao", false]], "rao() (in module bittensor.utils.balance)": [[80, "bittensor.utils.balance.rao", false]], "rao_symbol (in module bittensor.core.settings)": [[58, "bittensor.core.settings.RAO_SYMBOL", false]], "rao_unit (bittensor.utils.balance.balance attribute)": [[80, "bittensor.utils.balance.Balance.rao_unit", false]], "raopertao (in module bittensor.utils)": [[89, "bittensor.utils.RAOPERTAO", false]], "read_only (in module bittensor.core.settings)": [[58, "bittensor.core.settings.READ_ONLY", false]], "record_log (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.record_log", false]], "recycle (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.recycle", false]], "recycle() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.recycle", false]], "recycle() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.recycle", false]], "register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register", false]], "register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register", false]], "register() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.register", false]], "register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.register_extrinsic", false]], "register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[46, "bittensor.core.extrinsics.registration.register_extrinsic", false]], "register_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.register_primary_logger", false]], "register_subnet (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register_subnet", false]], "register_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.register_subnet", false]], "register_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register_subnet", false]], "register_subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.register_subnet", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.register_subnet_extrinsic", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.registration)": [[46, "bittensor.core.extrinsics.registration.register_subnet_extrinsic", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.registration_allowed", false]], "registrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.RegistrationAllowed", false]], "registrationerror": [[25, "bittensor.core.errors.RegistrationError", false]], "registrationnotpermittedonrootsubnet": [[25, "bittensor.core.errors.RegistrationNotPermittedOnRootSubnet", false]], "registrations (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.registrations", false]], "registrations (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.registrations", false]], "registrationstatistics (class in bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.RegistrationStatistics", false]], "registrationstatisticslogger (class in bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.RegistrationStatisticsLogger", false]], "remove_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.remove_liquidity", false]], "remove_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.remove_liquidity", false]], "remove_liquidity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.remove_liquidity", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.remove_liquidity_extrinsic", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[44, "bittensor.core.extrinsics.liquidity.remove_liquidity_extrinsic", false]], "required_hash_fields (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.required_hash_fields", false]], "reset_cuda() (in module bittensor.utils.registration.register_cuda)": [[95, "bittensor.utils.registration.register_cuda.reset_cuda", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.return_per_1000", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.return_per_1000", false]], "reveal_round (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.reveal_round", false]], "reveal_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.reveal_weights", false]], "reveal_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.reveal_weights", false]], "reveal_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.reveal_weights", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[39, "bittensor.core.extrinsics.asyncex.weights.reveal_weights_extrinsic", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[42, "bittensor.core.extrinsics.commit_weights.reveal_weights_extrinsic", false]], "reverse_network_map (in module bittensor.core.settings)": [[58, "bittensor.core.settings.REVERSE_NETWORK_MAP", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rho", false]], "rho (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.rho", false]], "rho (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.rho", false]], "root_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_register", false]], "root_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_register", false]], "root_register() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.root_register", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[32, "bittensor.core.extrinsics.asyncex.root.root_register_extrinsic", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.root)": [[47, "bittensor.core.extrinsics.root.root_register_extrinsic", false]], "root_set_pending_childkey_cooldown (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[26, "bittensor.core.extrinsics.asyncex.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.children)": [[40, "bittensor.core.extrinsics.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_weights", false]], "root_set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_weights", false]], "root_set_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.root_set_weights", false]], "root_tao_stake_weight (in module bittensor.core.settings)": [[58, "bittensor.core.settings.ROOT_TAO_STAKE_WEIGHT", false]], "rounds_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[94, "bittensor.utils.registration.pow.RegistrationStatistics.rounds_total", false]], "router (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.router", false]], "run() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.run", false]], "run() (bittensor.utils.registration.pow.cudasolver method)": [[94, "bittensor.utils.registration.pow.CUDASolver.run", false]], "run() (bittensor.utils.registration.pow.solver method)": [[94, "bittensor.utils.registration.pow.Solver.run", false]], "run_in_thread() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.run_in_thread", false]], "runexception": [[25, "bittensor.core.errors.RunException", false]], "runtime_config (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.runtime_config", false]], "s (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.S", false]], "safe_globals() (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.safe_globals", false]], "save() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.save", false]], "scaling_law_power (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.scaling_law_power", false]], "scheduledcoldkeyswapinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.ScheduledColdkeySwapInfo", false]], "scheduledcoldkeyswapinfo (class in bittensor.core.chain_data.scheduled_coldkey_swap_info)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo", false]], "seal (bittensor.utils.registration.pow.powsolution attribute)": [[94, "bittensor.utils.registration.pow.POWSolution.seal", false]], "selectivemetagraphindex (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex", false]], "serialize() (bittensor.core.tensor.tensor static method)": [[74, "bittensor.core.tensor.Tensor.serialize", false]], "serve() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.serve", false]], "serve_axon (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.serve_axon", false]], "serve_axon() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.serve_axon", false]], "serve_axon() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.serve_axon", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.serve_axon_extrinsic", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.serve_axon_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.serve_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.serving)": [[48, "bittensor.core.extrinsics.serving.serve_extrinsic", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.serving_rate_limit", false]], "servingratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ServingRateLimit", false]], "session (bittensor.core.dendrite.dendritemixin property)": [[24, "bittensor.core.dendrite.DendriteMixin.session", false]], "set_children (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_children", false]], "set_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_children", false]], "set_children() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_children", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[26, "bittensor.core.extrinsics.asyncex.children.set_children_extrinsic", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.children)": [[40, "bittensor.core.extrinsics.children.set_children_extrinsic", false]], "set_commitment (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.set_commitment", false]], "set_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_config", false]], "set_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_console", false]], "set_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_debug", false]], "set_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_default", false]], "set_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[63, "bittensor.core.subtensor_api.delegates.Delegates.set_delegate_take", false]], "set_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_delegate_take", false]], "set_delegate_take() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_delegate_take", false]], "set_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_info", false]], "set_name_type() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.set_name_type", false]], "set_reveal_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[62, "bittensor.core.subtensor_api.commitments.Commitments.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_reveal_commitment", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[32, "bittensor.core.extrinsics.asyncex.root.set_root_weights_extrinsic", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.root)": [[47, "bittensor.core.extrinsics.root.set_root_weights_extrinsic", false]], "set_subnet_identity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_subnet_identity", false]], "set_subnet_identity (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_subnet_identity", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.set_subnet_identity_extrinsic", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.registration)": [[46, "bittensor.core.extrinsics.registration.set_subnet_identity_extrinsic", false]], "set_trace() (bittensor.utils.btlogging.format.btstreamformatter method)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter.set_trace", false]], "set_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_trace", false]], "set_unit() (bittensor.utils.balance.balance method)": [[80, "bittensor.utils.balance.Balance.set_unit", false]], "set_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_warning", false]], "set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_weights", false]], "set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_weights", false]], "set_weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.set_weights", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[39, "bittensor.core.extrinsics.asyncex.weights.set_weights_extrinsic", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.set_weights)": [[49, "bittensor.core.extrinsics.set_weights.set_weights_extrinsic", false]], "setlevel() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.setLevel", false]], "setup_config (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.setup_config", false]], "setup_config() (bittensor.core.types.subtensormixin static method)": [[77, "bittensor.core.types.SubtensorMixin.setup_config", false]], "shape (bittensor.core.tensor.tensor attribute)": [[74, "bittensor.core.tensor.Tensor.shape", false]], "should_exit (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.should_exit", false]], "should_sync (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.should_sync", false]], "should_sync (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.should_sync", false]], "shutdown() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.shutdown", false]], "sign_and_send_extrinsic (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.sign_and_send_extrinsic", false]], "signature (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.signature", false]], "slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.slippage", false]], "solve_cuda() (in module bittensor.utils.registration.register_cuda)": [[95, "bittensor.utils.registration.register_cuda.solve_cuda", false]], "solver (class in bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.Solver", false]], "ss58 (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.ss58", false]], "ss58_address_length (in module bittensor.core.settings)": [[58, "bittensor.core.settings.SS58_ADDRESS_LENGTH", false]], "ss58_address_to_bytes() (in module bittensor.utils)": [[89, "bittensor.utils.ss58_address_to_bytes", false]], "ss58_decode (in module bittensor.utils)": [[89, "bittensor.utils.ss58_decode", false]], "ss58_format (in module bittensor.core.settings)": [[58, "bittensor.core.settings.SS58_FORMAT", false]], "ss58_to_vec_u8() (in module bittensor.utils)": [[89, "bittensor.utils.ss58_to_vec_u8", false]], "stake (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake", false]], "stake (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.stake", false]], "stake (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.stake", false]], "stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.stake", false]], "stake (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.stake", false]], "stake_dict (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake_dict", false]], "stake_dict (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake_dict", false]], "stakeerror": [[25, "bittensor.core.errors.StakeError", false]], "stakeinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.StakeInfo", false]], "stakeinfo (class in bittensor.core.chain_data.stake_info)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo", false]], "staking (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.staking", false]], "staking (class in bittensor.core.subtensor_api.staking)": [[69, "bittensor.core.subtensor_api.staking.Staking", false]], "start() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.start", false]], "start() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.start", false]], "start() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[94, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.start", false]], "start() (bittensor.utils.registration.pow.status method)": [[94, "bittensor.utils.registration.pow.Status.start", false]], "start_call (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.start_call", false]], "start_call (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.start_call", false]], "start_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.start_call", false]], "start_call() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.start_call", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.asyncex.start_call)": [[35, "bittensor.core.extrinsics.asyncex.start_call.start_call_extrinsic", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.start_call)": [[51, "bittensor.core.extrinsics.start_call.start_call_extrinsic", false]], "started (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.started", false]], "state_call (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.state_call", false]], "state_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.state_call", false]], "state_call() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.state_call", false]], "state_dict() (bittensor.core.metagraph.metagraphmixin method)": [[57, "bittensor.core.metagraph.MetagraphMixin.state_dict", false]], "status (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[94, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.status", false]], "status (class in bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.Status", false]], "status() (bittensor.utils.registration.pow.console static method)": [[94, "bittensor.utils.registration.pow.Console.status", false]], "status_code (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.status_code", false]], "status_message (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.status_message", false]], "stop() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.stop", false]], "stop() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.stop", false]], "stop() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[94, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.stop", false]], "stop() (bittensor.utils.registration.pow.status method)": [[94, "bittensor.utils.registration.pow.Status.stop", false]], "storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.storage_function", false]], "storagefunctionnotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.StorageFunctionNotFound", false]], "storagekey (class in bittensor.utils.substrate_utils.storage)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey", false]], "stream_response() (bittensor.core.stream.streamingsynapse.btstreamingresponse method)": [[59, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.stream_response", false]], "streamingsynapse (class in bittensor.core.stream)": [[59, "bittensor.core.stream.StreamingSynapse", false]], "streamingsynapse.btstreamingresponse (class in bittensor.core.stream)": [[59, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse", false]], "strtobool() (in module bittensor.utils)": [[89, "bittensor.utils.strtobool", false]], "submit() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[75, "bittensor.core.threadpool.PriorityThreadPoolExecutor.submit", false]], "subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.subnet", false]], "subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet", false]], "subnet() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.subnet", false]], "subnet_contact (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_contact", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_emission", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.subnet_emission", false]], "subnet_exists (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.subnet_exists", false]], "subnet_exists() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet_exists", false]], "subnet_exists() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.subnet_exists", false]], "subnet_identity (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_identity", false]], "subnet_is_active (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.subnet_is_active", false]], "subnet_name (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_name", false]], "subnet_name (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_name", false]], "subnet_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_url", false]], "subnet_volume (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.subnet_volume", false]], "subnetemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetEmission", false]], "subnethyperparameters (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetHyperparameters", false]], "subnethyperparameters (class in bittensor.core.chain_data.subnet_hyperparameters)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters", false]], "subnetidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetIdentity", false]], "subnetidentity (class in bittensor.core.chain_data.subnet_identity)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity", false]], "subnetinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetInfo", false]], "subnetinfo (class in bittensor.core.chain_data.subnet_info)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo", false]], "subnets (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.subnets", false]], "subnets (class in bittensor.core.subtensor_api.subnets)": [[70, "bittensor.core.subtensor_api.subnets.Subnets", false]], "subnetsapi (class in bittensor.utils.subnets)": [[96, "bittensor.utils.subnets.SubnetsAPI", false]], "subnetstate (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetState", false]], "subnetstate (class in bittensor.core.chain_data.subnet_state)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState", false]], "subnetvolume (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetVolume", false]], "subnetwork_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.subnetwork_n", false]], "subnetwork_n (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.subnetwork_n", false]], "subnetwork_n() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnetwork_n", false]], "subnetwork_n() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.subnetwork_n", false]], "subnetworkdoesnotexist": [[25, "bittensor.core.errors.SubNetworkDoesNotExist", false]], "substrate (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.substrate", false]], "substrate (bittensor.core.subtensor.subtensor attribute)": [[60, "bittensor.core.subtensor.Subtensor.substrate", false]], "substrate (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.substrate", false]], "substraterequestexception (in module bittensor.core.errors)": [[25, "bittensor.core.errors.SubstrateRequestException", false]], "subtensor (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.subtensor", false]], "subtensor (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.subtensor", false]], "subtensor (class in bittensor.core.subtensor)": [[60, "bittensor.core.subtensor.Subtensor", false]], "subtensor (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.subtensor", false]], "subtensorapi (class in bittensor.core.subtensor_api)": [[65, "bittensor.core.subtensor_api.SubtensorApi", false]], "subtensormixin (class in bittensor.core.types)": [[77, "bittensor.core.types.SubtensorMixin", false]], "subvortex_entrypoint (in module bittensor.core.settings)": [[58, "bittensor.core.settings.SUBVORTEX_ENTRYPOINT", false]], "success (bittensor.utils.unlockstatus attribute)": [[89, "bittensor.utils.UnlockStatus.success", false]], "success() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.success", false]], "success() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.success", false]], "success_level_num (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.SUCCESS_LEVEL_NUM", false]], "swap_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.swap_stake", false]], "swap_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.swap_stake", false]], "swap_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.swap_stake", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[30, "bittensor.core.extrinsics.asyncex.move_stake.swap_stake_extrinsic", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[45, "bittensor.core.extrinsics.move_stake.swap_stake_extrinsic", false]], "symbol (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Symbol", false]], "symbol (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.symbol", false]], "synapse (bittensor.core.errors.synapseexception attribute)": [[25, "bittensor.core.errors.SynapseException.synapse", false]], "synapse (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[59, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.synapse", false]], "synapse (class in bittensor.core.synapse)": [[73, "bittensor.core.synapse.Synapse", false]], "synapse (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.synapse", false]], "synapse_history (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.synapse_history", false]], "synapse_to_response() (bittensor.core.axon.axonmiddleware class method)": [[1, "bittensor.core.axon.AxonMiddleware.synapse_to_response", false]], "synapsedendritenoneexception": [[25, "bittensor.core.errors.SynapseDendriteNoneException", false]], "synapseexception": [[25, "bittensor.core.errors.SynapseException", false]], "synapseparsingerror": [[25, "bittensor.core.errors.SynapseParsingError", false]], "sync() (bittensor.core.metagraph.asyncmetagraph method)": [[57, "bittensor.core.metagraph.AsyncMetagraph.sync", false]], "sync() (bittensor.core.metagraph.metagraph method)": [[57, "bittensor.core.metagraph.Metagraph.sync", false]], "t (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.T", false]], "t (in module bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.T", false]], "t (in module bittensor.core.config)": [[23, "bittensor.core.config.T", false]], "take (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.take", false]], "take (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.take", false]], "takeerror": [[25, "bittensor.core.errors.TakeError", false]], "tao (bittensor.utils.balance.balance property)": [[80, "bittensor.utils.balance.Balance.tao", false]], "tao() (in module bittensor.utils.balance)": [[80, "bittensor.utils.balance.tao", false]], "tao_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_dividends_per_hotkey", false]], "tao_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.tao_dividends_per_hotkey", false]], "tao_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.tao_in", false]], "tao_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.tao_in_emission", false]], "tao_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_slippage", false]], "tao_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_stake", false]], "tao_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.tao_stake", false]], "tao_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.tao_stake", false]], "tao_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.tao_stake", false]], "tao_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.tao_stake", false]], "tao_symbol (in module bittensor.core.settings)": [[58, "bittensor.core.settings.TAO_SYMBOL", false]], "tao_to_alpha() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha", false]], "tao_to_alpha_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha_with_slippage", false]], "taodividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoDividendsPerHotkey", false]], "taoin (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoIn", false]], "taoinemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoInEmission", false]], "taostake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoStake", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.target_regs_per_interval", false]], "targetregsperinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TargetRegsPerInterval", false]], "tempo (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Tempo", false]], "tempo (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.tempo", false]], "tempo (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.tempo", false]], "tempo (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.tempo", false]], "tempo (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.tempo", false]], "tempo() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tempo", false]], "tempo() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.tempo", false]], "tensor (class in bittensor.core.tensor)": [[74, "bittensor.core.tensor.Tensor", false], [74, "bittensor.core.tensor.tensor", false]], "tensor (in module bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.Tensor", false]], "tensor() (bittensor.core.tensor.tensor method)": [[74, "bittensor.core.tensor.Tensor.tensor", false]], "terminalinfo (class in bittensor.core.synapse)": [[73, "bittensor.core.synapse.TerminalInfo", false]], "terminate_workers_and_wait_for_exit() (in module bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.terminate_workers_and_wait_for_exit", false]], "thread_pool (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.thread_pool", false]], "threshold (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.threshold", false]], "tick_to_price() (in module bittensor.utils.liquidity)": [[90, "bittensor.utils.liquidity.tick_to_price", false]], "time_average (bittensor.utils.registration.pow.registrationstatistics attribute)": [[94, "bittensor.utils.registration.pow.RegistrationStatistics.time_average", false]], "time_spent (bittensor.utils.registration.pow.registrationstatistics attribute)": [[94, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent", false]], "time_spent_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[94, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent_total", false]], "timeout (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.timeout", false]], "to_dict() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.to_dict", false]], "to_headers() (bittensor.core.synapse.synapse method)": [[73, "bittensor.core.synapse.Synapse.to_headers", false], [73, "id5", false]], "to_hex() (bittensor.utils.substrate_utils.storage.storagekey method)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.to_hex", false]], "to_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_parameter_dict", false]], "to_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.to_parameter_dict", false]], "to_string() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.to_string", false]], "to_string() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_string", false]], "to_token_amounts() (bittensor.utils.liquidity.liquidityposition method)": [[90, "bittensor.utils.liquidity.LiquidityPosition.to_token_amounts", false]], "toggle_user_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.toggle_user_liquidity", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.toggle_user_liquidity_extrinsic", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[44, "bittensor.core.extrinsics.liquidity.toggle_user_liquidity_extrinsic", false]], "token_streamer (bittensor.core.stream.btstreamingresponsemodel attribute)": [[59, "bittensor.core.stream.BTStreamingResponseModel.token_streamer", false]], "token_streamer (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[59, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.token_streamer", false]], "tolist() (bittensor.core.tensor.tensor method)": [[74, "bittensor.core.tensor.Tensor.tolist", false]], "toomanychildren": [[25, "bittensor.core.errors.TooManyChildren", false]], "torch (bittensor.core.tensor.dtypes attribute)": [[74, "bittensor.core.tensor.DTypes.torch", false]], "torch (in module bittensor.utils)": [[89, "bittensor.utils.torch", false]], "torch (in module bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.torch", false]], "torchmetagraph (class in bittensor.core.metagraph)": [[57, "bittensor.core.metagraph.TorchMetagraph", false]], "total_daily_return (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.total_daily_return", false]], "total_daily_return (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.total_daily_return", false]], "total_size (bittensor.core.synapse.synapse attribute)": [[73, "bittensor.core.synapse.Synapse.total_size", false]], "total_stake (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.total_stake", false]], "total_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.total_stake", false]], "total_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.total_stake", false]], "total_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.total_stake", false]], "totalstake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TotalStake", false]], "tpb (bittensor.utils.registration.pow.cudasolver attribute)": [[94, "bittensor.utils.registration.pow.CUDASolver.tpb", false]], "trace (bittensor.utils.btlogging.format.btstreamformatter attribute)": [[83, "bittensor.utils.btlogging.format.BtStreamFormatter.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Trace", false]], "trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.trace", false]], "trace() (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.trace", false]], "trace_level_num (in module bittensor.utils.btlogging.format)": [[83, "bittensor.utils.btlogging.format.TRACE_LEVEL_NUM", false]], "trace_log_format (in module bittensor.utils.btlogging.defines)": [[82, "bittensor.utils.btlogging.defines.TRACE_LOG_FORMAT", false]], "transfer (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer", false]], "transfer() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer", false]], "transfer() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.transfer", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.asyncex.transfer)": [[37, "bittensor.core.extrinsics.asyncex.transfer.transfer_extrinsic", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.transfer)": [[53, "bittensor.core.extrinsics.transfer.transfer_extrinsic", false]], "transfer_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer_stake", false]], "transfer_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer_stake", false]], "transfer_stake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.transfer_stake", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[30, "bittensor.core.extrinsics.asyncex.move_stake.transfer_stake_extrinsic", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[45, "bittensor.core.extrinsics.move_stake.transfer_stake_extrinsic", false]], "transfererror": [[25, "bittensor.core.errors.TransferError", false]], "transfers_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.transfers_enabled", false]], "trust (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.trust", false]], "trust (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Trust", false]], "trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.trust", false]], "trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.trust", false]], "trust (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.trust", false]], "trust (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.trust", false]], "trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.trust", false]], "trust (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.trust", false]], "ts (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.TS", false]], "tv (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.Tv", false]], "two_x64_concat() (in module bittensor.utils.substrate_utils.hasher)": [[97, "bittensor.utils.substrate_utils.hasher.two_x64_concat", false]], "tx_rate_limit (bittensor.core.subtensor_api.chain.chain attribute)": [[61, "bittensor.core.subtensor_api.chain.Chain.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.tx_rate_limit", false]], "txratelimitexceeded": [[25, "bittensor.core.errors.TxRateLimitExceeded", false]], "type (bittensor.core.types.paramwithtypes attribute)": [[77, "bittensor.core.types.ParamWithTypes.type", false]], "type_registry (in module bittensor.core.settings)": [[58, "bittensor.core.settings.TYPE_REGISTRY", false]], "u16_max (in module bittensor.utils)": [[89, "bittensor.utils.U16_MAX", false]], "u16_max (in module bittensor.utils.weight_utils)": [[101, "bittensor.utils.weight_utils.U16_MAX", false]], "u16_normalized_float() (in module bittensor.utils)": [[89, "bittensor.utils.u16_normalized_float", false]], "u32_max (in module bittensor.utils.weight_utils)": [[101, "bittensor.utils.weight_utils.U32_MAX", false]], "u64_max (in module bittensor.utils)": [[89, "bittensor.utils.U64_MAX", false]], "u64_normalized_float() (in module bittensor.utils)": [[89, "bittensor.utils.u64_normalized_float", false]], "uid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.uid", false]], "uid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.uid", false]], "uids (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.uids", false]], "uids (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.uids", false]], "uids (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.uids", false]], "unit (bittensor.utils.balance.balance attribute)": [[80, "bittensor.utils.balance.Balance.unit", false]], "unknownsynapseerror": [[25, "bittensor.core.errors.UnknownSynapseError", false]], "unlock_key() (in module bittensor.utils)": [[89, "bittensor.utils.unlock_key", false]], "unlockstatus (class in bittensor.utils)": [[89, "bittensor.utils.UnlockStatus", false]], "unstake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake", false]], "unstake (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.unstake", false]], "unstake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake", false]], "unstake() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.unstake", false]], "unstake_all (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_all", false]], "unstake_all (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.unstake_all", false]], "unstake_all() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_all", false]], "unstake_all() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.unstake_all", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_all_extrinsic", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[54, "bittensor.core.extrinsics.unstaking.unstake_all_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[54, "bittensor.core.extrinsics.unstaking.unstake_extrinsic", false]], "unstake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[64, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_multiple", false]], "unstake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[69, "bittensor.core.subtensor_api.staking.Staking.unstake_multiple", false]], "unstake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_multiple", false]], "unstake_multiple() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.unstake_multiple", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_multiple_extrinsic", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[54, "bittensor.core.extrinsics.unstaking.unstake_multiple_extrinsic", false]], "unstakeerror": [[25, "bittensor.core.errors.UnstakeError", false]], "update() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[94, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.update", false]], "update() (bittensor.utils.registration.pow.status method)": [[94, "bittensor.utils.registration.pow.Status.update", false]], "update_curr_block() (in module bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.update_curr_block", false]], "url (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.url", false]], "use_torch (in module bittensor.utils)": [[89, "bittensor.utils.use_torch", false]], "use_torch() (in module bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.use_torch", false]], "user_bittensor_dir (in module bittensor.core.settings)": [[58, "bittensor.core.settings.USER_BITTENSOR_DIR", false]], "user_liquidity_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.user_liquidity_enabled", false]], "usingspawnstartmethod (class in bittensor.utils.registration.pow)": [[94, "bittensor.utils.registration.pow.UsingSpawnStartMethod", false]], "uuid (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.uuid", false]], "uuid (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.uuid", false]], "uuid (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.uuid", false]], "v_7_2_0 (in module bittensor.core.axon)": [[1, "bittensor.core.axon.V_7_2_0", false]], "validate_chain_endpoint() (in module bittensor.utils)": [[89, "bittensor.utils.validate_chain_endpoint", false]], "validator_permit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_permit", false]], "validator_permit (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.validator_permit", false]], "validator_permit (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.validator_permit", false]], "validator_permit (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.validator_permit", false]], "validator_permit (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.validator_permit", false]], "validator_permits (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.validator_permits", false]], "validator_permits (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.validator_permits", false]], "validator_trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_trust", false]], "validator_trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_trust", false]], "validator_trust (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.validator_trust", false]], "validator_trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.validator_trust", false]], "validator_trust (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.validator_trust", false]], "validatorpermit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ValidatorPermit", false]], "validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validators", false]], "validators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Validators", false]], "value_scale_type (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[99, "bittensor.utils.substrate_utils.storage.StorageKey.value_scale_type", false]], "verify() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.verify", false]], "verify_body_integrity() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.verify_body_integrity", false]], "verify_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.verify_fns", false]], "version (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.version", false]], "version (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.version", false]], "version (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.version", false]], "version (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.version", false]], "version (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.version", false]], "version (bittensor.core.synapse.terminalinfo attribute)": [[73, "bittensor.core.synapse.TerminalInfo.version", false]], "version (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.version", false]], "version (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.version", false]], "version_as_int (in module bittensor.core.settings)": [[58, "bittensor.core.settings.version_as_int", false]], "version_check_threshold (in module bittensor.utils.version)": [[100, "bittensor.utils.version.VERSION_CHECK_THRESHOLD", false]], "version_checking (in module bittensor.utils)": [[89, "bittensor.utils.version_checking", false]], "version_checking() (in module bittensor.utils.version)": [[100, "bittensor.utils.version.version_checking", false]], "version_split (in module bittensor.core.settings)": [[58, "bittensor.core.settings.version_split", false]], "versioncheckerror": [[100, "bittensor.utils.version.VersionCheckError", false]], "versioncheckerror (in module bittensor.utils)": [[89, "bittensor.utils.VersionCheckError", false]], "w (bittensor.core.metagraph.metagraphmixin property)": [[57, "bittensor.core.metagraph.MetagraphMixin.W", false]], "wait_for_block (bittensor.core.subtensor_api.subtensorapi attribute)": [[65, "bittensor.core.subtensor_api.SubtensorApi.wait_for_block", false]], "wait_for_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.wait_for_block", false]], "wait_for_block() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.wait_for_block", false]], "wait_reveal_and_decrypt() (in module bittensor.core.timelock)": [[76, "bittensor.core.timelock.wait_reveal_and_decrypt", false]], "wallet (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.wallet", false]], "wallet (bittensor.utils.subnets.subnetsapi attribute)": [[96, "bittensor.utils.subnets.SubnetsAPI.wallet", false]], "wallet (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.wallet", false]], "wallets (bittensor.core.subtensor_api.subtensorapi property)": [[65, "bittensor.core.subtensor_api.SubtensorApi.wallets", false]], "wallets (class in bittensor.core.subtensor_api.wallets)": [[72, "bittensor.core.subtensor_api.wallets.Wallets", false]], "wallets_dir (in module bittensor.core.settings)": [[58, "bittensor.core.settings.WALLETS_DIR", false]], "warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Warning", false]], "warning() (bittensor.utils.btlogging.console.bittensorconsole method)": [[81, "bittensor.utils.btlogging.console.BittensorConsole.warning", false]], "warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[86, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.warning", false]], "warning() (in module bittensor.utils.easy_imports)": [[87, "bittensor.utils.easy_imports.warning", false]], "weightcommitinfo (class in bittensor.core.chain_data.weight_commit_info)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo", false]], "weights (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.weights", false]], "weights (bittensor.core.metagraph.metagraphmixin attribute)": [[57, "bittensor.core.metagraph.MetagraphMixin.weights", false]], "weights (bittensor.core.metagraph.nontorchmetagraph attribute)": [[57, "bittensor.core.metagraph.NonTorchMetagraph.weights", false]], "weights (bittensor.core.metagraph.torchmetagraph attribute)": [[57, "bittensor.core.metagraph.TorchMetagraph.weights", false]], "weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.weights", false]], "weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights", false]], "weights() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.weights", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[70, "bittensor.core.subtensor_api.subnets.Subnets.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.subtensor.subtensor method)": [[60, "bittensor.core.subtensor.Subtensor.weights_rate_limit", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_version", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_version", false]], "weights_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_version", false]], "weightsratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsRateLimit", false]], "weightsversion (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsVersion", false]], "xxh128() (in module bittensor.utils.substrate_utils.hasher)": [[97, "bittensor.utils.substrate_utils.hasher.xxh128", false]], "xxh64() (in module bittensor.utils.substrate_utils.hasher)": [[97, "bittensor.utils.substrate_utils.hasher.xxh64", false]], "yuma_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.yuma_version", false]]}, "objects": {"": [[78, 0, 0, "-", "bittensor"]], "bittensor": [[56, 0, 0, "-", "core"], [89, 0, 0, "-", "utils"]], "bittensor.core": [[0, 0, 0, "-", "async_subtensor"], [1, 0, 0, "-", "axon"], [7, 0, 0, "-", "chain_data"], [23, 0, 0, "-", "config"], [24, 0, 0, "-", "dendrite"], [25, 0, 0, "-", "errors"], [43, 0, 0, "-", "extrinsics"], [57, 0, 0, "-", "metagraph"], [58, 0, 0, "-", "settings"], [59, 0, 0, "-", "stream"], [60, 0, 0, "-", "subtensor"], [65, 0, 0, "-", "subtensor_api"], [73, 0, 0, "-", "synapse"], [74, 0, 0, "-", "tensor"], [75, 0, 0, "-", "threadpool"], [76, 0, 0, "-", "timelock"], [77, 0, 0, "-", "types"]], "bittensor.core.async_subtensor": [[0, 1, 1, "", "AsyncSubtensor"], [0, 5, 1, "", "get_async_subtensor"]], "bittensor.core.async_subtensor.AsyncSubtensor": [[0, 2, 1, "", "add_liquidity"], [0, 2, 1, "", "add_stake"], [0, 2, 1, "", "add_stake_multiple"], [0, 2, 1, "", "all_subnets"], [0, 3, 1, "", "block"], [0, 2, 1, "", "blocks_since_last_step"], [0, 2, 1, "", "blocks_since_last_update"], [0, 2, 1, "", "bonds"], [0, 2, 1, "", "burned_register"], [0, 2, 1, "", "close"], [0, 2, 1, "", "commit"], [0, 2, 1, "", "commit_reveal_enabled"], [0, 2, 1, "", "commit_weights"], [0, 2, 1, "", "determine_block_hash"], [0, 2, 1, "", "difficulty"], [0, 2, 1, "", "does_hotkey_exist"], [0, 2, 1, "", "encode_params"], [0, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [0, 2, 1, "", "get_all_commitments"], [0, 2, 1, "", "get_all_metagraphs_info"], [0, 2, 1, "", "get_all_neuron_certificates"], [0, 2, 1, "", "get_all_revealed_commitments"], [0, 2, 1, "", "get_all_subnets_info"], [0, 2, 1, "", "get_balance"], [0, 2, 1, "", "get_balances"], [0, 2, 1, "", "get_block_hash"], [0, 2, 1, "", "get_children"], [0, 2, 1, "", "get_children_pending"], [0, 2, 1, "", "get_commitment"], [0, 2, 1, "", "get_current_block"], [0, 2, 1, "", "get_current_weight_commit_info"], [0, 2, 1, "", "get_current_weight_commit_info_v2"], [0, 2, 1, "", "get_delegate_by_hotkey"], [0, 2, 1, "", "get_delegate_identities"], [0, 2, 1, "", "get_delegate_take"], [0, 2, 1, "", "get_delegated"], [0, 2, 1, "", "get_delegates"], [0, 2, 1, "", "get_existential_deposit"], [0, 2, 1, "", "get_hotkey_owner"], [0, 4, 1, "", "get_hotkey_stake"], [0, 2, 1, "", "get_hyperparameter"], [0, 2, 1, "", "get_last_commitment_bonds_reset_block"], [0, 2, 1, "", "get_liquidity_list"], [0, 2, 1, "", "get_metagraph_info"], [0, 2, 1, "", "get_minimum_required_stake"], [0, 2, 1, "", "get_netuids_for_hotkey"], [0, 2, 1, "", "get_neuron_certificate"], [0, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [0, 2, 1, "", "get_next_epoch_start_block"], [0, 2, 1, "", "get_owned_hotkeys"], [0, 2, 1, "", "get_parents"], [0, 2, 1, "", "get_revealed_commitment"], [0, 2, 1, "", "get_revealed_commitment_by_hotkey"], [0, 2, 1, "", "get_stake"], [0, 2, 1, "", "get_stake_add_fee"], [0, 2, 1, "", "get_stake_for_coldkey"], [0, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [0, 2, 1, "", "get_stake_for_hotkey"], [0, 4, 1, "", "get_stake_info_for_coldkey"], [0, 2, 1, "", "get_stake_movement_fee"], [0, 2, 1, "", "get_stake_operations_fee"], [0, 2, 1, "", "get_stake_weight"], [0, 2, 1, "", "get_subnet_burn_cost"], [0, 2, 1, "", "get_subnet_hyperparameters"], [0, 2, 1, "", "get_subnet_info"], [0, 2, 1, "", "get_subnet_owner_hotkey"], [0, 2, 1, "", "get_subnet_price"], [0, 2, 1, "", "get_subnet_prices"], [0, 2, 1, "", "get_subnet_reveal_period_epochs"], [0, 2, 1, "", "get_subnet_validator_permits"], [0, 2, 1, "", "get_subnets"], [0, 2, 1, "", "get_timestamp"], [0, 2, 1, "", "get_total_subnets"], [0, 2, 1, "", "get_transfer_fee"], [0, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [0, 2, 1, "", "get_unstake_fee"], [0, 2, 1, "", "get_vote_data"], [0, 2, 1, "", "immunity_period"], [0, 2, 1, "", "initialize"], [0, 2, 1, "", "is_fast_blocks"], [0, 2, 1, "", "is_hotkey_delegate"], [0, 2, 1, "", "is_hotkey_registered"], [0, 2, 1, "", "is_hotkey_registered_any"], [0, 2, 1, "", "is_hotkey_registered_on_subnet"], [0, 2, 1, "", "is_subnet_active"], [0, 2, 1, "", "last_drand_round"], [0, 4, 1, "", "log_verbose"], [0, 2, 1, "", "max_weight_limit"], [0, 2, 1, "", "metagraph"], [0, 2, 1, "", "min_allowed_weights"], [0, 2, 1, "", "modify_liquidity"], [0, 2, 1, "", "move_stake"], [0, 2, 1, "", "neuron_for_uid"], [0, 2, 1, "", "neurons"], [0, 2, 1, "", "neurons_lite"], [0, 2, 1, "", "query_constant"], [0, 2, 1, "", "query_identity"], [0, 2, 1, "", "query_map"], [0, 2, 1, "", "query_map_subtensor"], [0, 2, 1, "", "query_module"], [0, 2, 1, "", "query_runtime_api"], [0, 2, 1, "", "query_subtensor"], [0, 2, 1, "", "recycle"], [0, 2, 1, "", "register"], [0, 2, 1, "", "register_subnet"], [0, 2, 1, "", "remove_liquidity"], [0, 2, 1, "", "reveal_weights"], [0, 2, 1, "", "root_register"], [0, 2, 1, "", "root_set_pending_childkey_cooldown"], [0, 2, 1, "", "root_set_weights"], [0, 2, 1, "", "serve_axon"], [0, 2, 1, "", "set_children"], [0, 4, 1, "", "set_commitment"], [0, 2, 1, "", "set_delegate_take"], [0, 2, 1, "", "set_reveal_commitment"], [0, 2, 1, "", "set_subnet_identity"], [0, 2, 1, "", "set_weights"], [0, 2, 1, "", "sign_and_send_extrinsic"], [0, 2, 1, "", "start_call"], [0, 2, 1, "", "state_call"], [0, 2, 1, "", "subnet"], [0, 2, 1, "", "subnet_exists"], [0, 2, 1, "", "subnetwork_n"], [0, 4, 1, "", "substrate"], [0, 2, 1, "", "swap_stake"], [0, 2, 1, "", "tempo"], [0, 2, 1, "", "toggle_user_liquidity"], [0, 2, 1, "", "transfer"], [0, 2, 1, "", "transfer_stake"], [0, 2, 1, "", "tx_rate_limit"], [0, 2, 1, "", "unstake"], [0, 2, 1, "", "unstake_all"], [0, 2, 1, "", "unstake_multiple"], [0, 2, 1, "", "wait_for_block"], [0, 2, 1, "", "weights"], [0, 2, 1, "", "weights_rate_limit"]], "bittensor.core.axon": [[1, 1, 1, "", "Axon"], [1, 1, 1, "", "AxonMiddleware"], [1, 1, 1, "", "FastAPIThreadedServer"], [1, 6, 1, "", "V_7_2_0"], [1, 5, 1, "", "create_error_response"], [1, 5, 1, "", "log_and_handle_error"]], "bittensor.core.axon.Axon": [[1, 2, 1, "", "add_args"], [1, 4, 1, "", "app"], [1, 2, 1, "", "attach"], [1, 4, 1, "", "blacklist_fns"], [1, 2, 1, "", "check_config"], [1, 2, 1, "", "config"], [1, 2, 1, "", "default_verify"], [1, 4, 1, "", "external_ip"], [1, 4, 1, "", "external_port"], [1, 4, 1, "", "fast_config"], [1, 4, 1, "", "fast_server"], [1, 4, 1, "", "forward_class_types"], [1, 4, 1, "", "forward_fns"], [1, 4, 1, "", "full_address"], [1, 2, 1, "", "help"], [1, 2, 1, "", "info"], [1, 4, 1, "", "ip"], [1, 4, 1, "", "middleware_cls"], [1, 4, 1, "", "nonces"], [1, 4, 1, "", "port"], [1, 4, 1, "", "priority_fns"], [1, 4, 1, "", "router"], [1, 2, 1, "", "serve"], [1, 2, 1, "", "start"], [1, 4, 1, "", "started"], [1, 2, 1, "", "stop"], [1, 4, 1, "", "thread_pool"], [1, 2, 1, "", "to_string"], [1, 4, 1, "", "uuid"], [1, 2, 1, "", "verify_body_integrity"], [1, 4, 1, "", "verify_fns"], [1, 4, 1, "", "wallet"]], "bittensor.core.axon.AxonMiddleware": [[1, 4, 1, "", "axon"], [1, 2, 1, "", "blacklist"], [1, 2, 1, "", "dispatch"], [1, 2, 1, "", "preprocess"], [1, 2, 1, "", "priority"], [1, 2, 1, "", "run"], [1, 2, 1, "", "synapse_to_response"], [1, 2, 1, "", "verify"]], "bittensor.core.axon.FastAPIThreadedServer": [[1, 2, 1, "", "install_signal_handlers"], [1, 4, 1, "", "is_running"], [1, 2, 1, "", "run_in_thread"], [1, 4, 1, "", "should_exit"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"]], "bittensor.core.chain_data": [[2, 0, 0, "-", "axon_info"], [3, 0, 0, "-", "chain_identity"], [4, 0, 0, "-", "delegate_info"], [5, 0, 0, "-", "delegate_info_lite"], [6, 0, 0, "-", "dynamic_info"], [8, 0, 0, "-", "info_base"], [9, 0, 0, "-", "ip_info"], [10, 0, 0, "-", "metagraph_info"], [11, 0, 0, "-", "neuron_info"], [12, 0, 0, "-", "neuron_info_lite"], [13, 0, 0, "-", "prometheus_info"], [14, 0, 0, "-", "proposal_vote_data"], [15, 0, 0, "-", "scheduled_coldkey_swap_info"], [16, 0, 0, "-", "stake_info"], [17, 0, 0, "-", "subnet_hyperparameters"], [18, 0, 0, "-", "subnet_identity"], [19, 0, 0, "-", "subnet_info"], [20, 0, 0, "-", "subnet_state"], [21, 0, 0, "-", "utils"], [22, 0, 0, "-", "weight_commit_info"]], "bittensor.core.chain_data.axon_info": [[2, 1, 1, "", "AxonInfo"]], "bittensor.core.chain_data.axon_info.AxonInfo": [[2, 4, 1, "", "coldkey"], [2, 2, 1, "", "from_neuron_info"], [2, 2, 1, "", "from_parameter_dict"], [2, 2, 1, "", "from_string"], [2, 4, 1, "", "hotkey"], [2, 4, 1, "", "ip"], [2, 2, 1, "", "ip_str"], [2, 4, 1, "", "ip_type"], [2, 3, 1, "", "is_serving"], [2, 4, 1, "", "placeholder1"], [2, 4, 1, "", "placeholder2"], [2, 4, 1, "", "port"], [2, 4, 1, "", "protocol"], [2, 2, 1, "", "to_parameter_dict"], [2, 2, 1, "", "to_string"], [2, 4, 1, "", "version"]], "bittensor.core.chain_data.chain_identity": [[3, 1, 1, "", "ChainIdentity"]], "bittensor.core.chain_data.chain_identity.ChainIdentity": [[3, 4, 1, "", "additional"], [3, 4, 1, "", "description"], [3, 4, 1, "", "discord"], [3, 4, 1, "", "github"], [3, 4, 1, "", "image"], [3, 4, 1, "", "name"], [3, 4, 1, "", "url"]], "bittensor.core.chain_data.delegate_info": [[4, 1, 1, "", "DelegateInfo"], [4, 1, 1, "", "DelegateInfoBase"], [4, 1, 1, "", "DelegatedInfo"]], "bittensor.core.chain_data.delegate_info.DelegateInfo": [[4, 4, 1, "", "nominators"], [4, 4, 1, "", "total_stake"]], "bittensor.core.chain_data.delegate_info.DelegateInfoBase": [[4, 4, 1, "", "hotkey_ss58"], [4, 4, 1, "", "owner_ss58"], [4, 4, 1, "", "registrations"], [4, 4, 1, "", "return_per_1000"], [4, 4, 1, "", "take"], [4, 4, 1, "", "total_daily_return"], [4, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.delegate_info.DelegatedInfo": [[4, 4, 1, "", "netuid"], [4, 4, 1, "", "stake"]], "bittensor.core.chain_data.delegate_info_lite": [[5, 1, 1, "", "DelegateInfoLite"]], "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite": [[5, 4, 1, "", "delegate_ss58"], [5, 4, 1, "", "nominators"], [5, 4, 1, "", "owner_ss58"], [5, 4, 1, "", "registrations"], [5, 4, 1, "", "return_per_1000"], [5, 4, 1, "", "take"], [5, 4, 1, "", "total_daily_return"], [5, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.dynamic_info": [[6, 1, 1, "", "DynamicInfo"]], "bittensor.core.chain_data.dynamic_info.DynamicInfo": [[6, 4, 1, "", "alpha_in"], [6, 4, 1, "", "alpha_in_emission"], [6, 4, 1, "", "alpha_out"], [6, 4, 1, "", "alpha_out_emission"], [6, 4, 1, "", "alpha_slippage"], [6, 2, 1, "", "alpha_to_tao"], [6, 2, 1, "", "alpha_to_tao_with_slippage"], [6, 4, 1, "", "blocks_since_last_step"], [6, 4, 1, "", "emission"], [6, 4, 1, "", "is_dynamic"], [6, 4, 1, "", "k"], [6, 4, 1, "", "last_step"], [6, 4, 1, "", "moving_price"], [6, 4, 1, "", "netuid"], [6, 4, 1, "", "network_registered_at"], [6, 4, 1, "", "owner_coldkey"], [6, 4, 1, "", "owner_hotkey"], [6, 4, 1, "", "pending_alpha_emission"], [6, 4, 1, "", "pending_root_emission"], [6, 4, 1, "", "price"], [6, 4, 1, "", "slippage"], [6, 4, 1, "", "subnet_identity"], [6, 4, 1, "", "subnet_name"], [6, 4, 1, "", "subnet_volume"], [6, 4, 1, "", "symbol"], [6, 4, 1, "", "tao_in"], [6, 4, 1, "", "tao_in_emission"], [6, 4, 1, "", "tao_slippage"], [6, 2, 1, "", "tao_to_alpha"], [6, 2, 1, "", "tao_to_alpha_with_slippage"], [6, 4, 1, "", "tempo"]], "bittensor.core.chain_data.info_base": [[8, 1, 1, "", "InfoBase"], [8, 6, 1, "", "T"]], "bittensor.core.chain_data.info_base.InfoBase": [[8, 2, 1, "", "from_dict"], [8, 2, 1, "", "list_from_dicts"]], "bittensor.core.chain_data.ip_info": [[9, 1, 1, "", "IPInfo"]], "bittensor.core.chain_data.ip_info.IPInfo": [[9, 2, 1, "", "encode"], [9, 2, 1, "", "from_parameter_dict"], [9, 4, 1, "", "ip"], [9, 4, 1, "", "ip_type"], [9, 4, 1, "", "protocol"], [9, 2, 1, "", "to_parameter_dict"]], "bittensor.core.chain_data.metagraph_info": [[10, 1, 1, "", "MetagraphInfo"], [10, 1, 1, "", "MetagraphInfoEmissions"], [10, 1, 1, "", "MetagraphInfoParams"], [10, 1, 1, "", "MetagraphInfoPool"], [10, 1, 1, "", "SelectiveMetagraphIndex"], [10, 5, 1, "", "process_nested"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfo": [[10, 4, 1, "", "active"], [10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_dividends_per_hotkey"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "alpha_stake"], [10, 4, 1, "", "axons"], [10, 4, 1, "", "block"], [10, 4, 1, "", "block_at_registration"], [10, 4, 1, "", "blocks_since_last_step"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "coldkeys"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "consensus"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "dividends"], [10, 4, 1, "", "emission"], [10, 4, 1, "", "hotkeys"], [10, 4, 1, "", "identities"], [10, 4, 1, "", "identity"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "incentives"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "last_step"], [10, 4, 1, "", "last_update"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_uids"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "name"], [10, 4, 1, "", "netuid"], [10, 4, 1, "", "network_registered_at"], [10, 4, 1, "", "num_uids"], [10, 4, 1, "", "owner_coldkey"], [10, 4, 1, "", "owner_hotkey"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "pruning_score"], [10, 4, 1, "", "rank"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "symbol"], [10, 4, 1, "", "tao_dividends_per_hotkey"], [10, 4, 1, "", "tao_in"], [10, 4, 1, "", "tao_in_emission"], [10, 4, 1, "", "tao_stake"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "total_stake"], [10, 4, 1, "", "trust"], [10, 4, 1, "", "validator_permit"], [10, 4, 1, "", "validators"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions": [[10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "tao_in_emission"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams": [[10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool": [[10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "tao_in"]], "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex": [[10, 4, 1, "", "Active"], [10, 4, 1, "", "ActivityCutoff"], [10, 4, 1, "", "AdjustmentAlpha"], [10, 4, 1, "", "AdjustmentInterval"], [10, 4, 1, "", "AlphaDividendsPerHotkey"], [10, 4, 1, "", "AlphaHigh"], [10, 4, 1, "", "AlphaIn"], [10, 4, 1, "", "AlphaInEmission"], [10, 4, 1, "", "AlphaLow"], [10, 4, 1, "", "AlphaOut"], [10, 4, 1, "", "AlphaOutEmission"], [10, 4, 1, "", "AlphaStake"], [10, 4, 1, "", "Axons"], [10, 4, 1, "", "Block"], [10, 4, 1, "", "BlockAtRegistration"], [10, 4, 1, "", "BlocksSinceLastStep"], [10, 4, 1, "", "BondsMovingAvg"], [10, 4, 1, "", "Burn"], [10, 4, 1, "", "Coldkeys"], [10, 4, 1, "", "CommitRevealPeriod"], [10, 4, 1, "", "CommitRevealWeightsEnabled"], [10, 4, 1, "", "Consensus"], [10, 4, 1, "", "Difficulty"], [10, 4, 1, "", "Dividends"], [10, 4, 1, "", "Emission"], [10, 4, 1, "", "Hotkeys"], [10, 4, 1, "", "Identities"], [10, 4, 1, "", "Identity"], [10, 4, 1, "", "ImmunityPeriod"], [10, 4, 1, "", "Incentives"], [10, 4, 1, "", "Kappa"], [10, 4, 1, "", "LastStep"], [10, 4, 1, "", "LastUpdate"], [10, 4, 1, "", "LiquidAlphaEnabled"], [10, 4, 1, "", "MaxBurn"], [10, 4, 1, "", "MaxDifficulty"], [10, 4, 1, "", "MaxRegsPerBlock"], [10, 4, 1, "", "MaxUids"], [10, 4, 1, "", "MaxValidators"], [10, 4, 1, "", "MaxWeightsLimit"], [10, 4, 1, "", "MinAllowedWeights"], [10, 4, 1, "", "MinBurn"], [10, 4, 1, "", "MinDifficulty"], [10, 4, 1, "", "MovingPrice"], [10, 4, 1, "", "Name"], [10, 4, 1, "", "Netuid"], [10, 4, 1, "", "NetworkRegisteredAt"], [10, 4, 1, "", "NumUids"], [10, 4, 1, "", "OwnerColdkey"], [10, 4, 1, "", "OwnerHotkey"], [10, 4, 1, "", "PendingAlphaEmission"], [10, 4, 1, "", "PendingRootEmission"], [10, 4, 1, "", "PowRegistrationAllowed"], [10, 4, 1, "", "PruningScore"], [10, 4, 1, "", "Rank"], [10, 4, 1, "", "RegistrationAllowed"], [10, 4, 1, "", "Rho"], [10, 4, 1, "", "ServingRateLimit"], [10, 4, 1, "", "SubnetEmission"], [10, 4, 1, "", "SubnetVolume"], [10, 4, 1, "", "Symbol"], [10, 4, 1, "", "TaoDividendsPerHotkey"], [10, 4, 1, "", "TaoIn"], [10, 4, 1, "", "TaoInEmission"], [10, 4, 1, "", "TaoStake"], [10, 4, 1, "", "TargetRegsPerInterval"], [10, 4, 1, "", "Tempo"], [10, 4, 1, "", "TotalStake"], [10, 4, 1, "", "Trust"], [10, 4, 1, "", "ValidatorPermit"], [10, 4, 1, "", "Validators"], [10, 4, 1, "", "WeightsRateLimit"], [10, 4, 1, "", "WeightsVersion"], [10, 2, 1, "", "all_indices"]], "bittensor.core.chain_data.neuron_info": [[11, 1, 1, "", "NeuronInfo"]], "bittensor.core.chain_data.neuron_info.NeuronInfo": [[11, 4, 1, "", "active"], [11, 4, 1, "", "axon_info"], [11, 4, 1, "", "bonds"], [11, 4, 1, "", "coldkey"], [11, 4, 1, "", "consensus"], [11, 4, 1, "", "dividends"], [11, 4, 1, "", "emission"], [11, 2, 1, "", "from_weights_bonds_and_neuron_lite"], [11, 2, 1, "", "get_null_neuron"], [11, 4, 1, "", "hotkey"], [11, 4, 1, "", "incentive"], [11, 4, 1, "", "is_null"], [11, 4, 1, "", "last_update"], [11, 4, 1, "", "netuid"], [11, 4, 1, "", "prometheus_info"], [11, 4, 1, "", "pruning_score"], [11, 4, 1, "", "rank"], [11, 4, 1, "", "stake"], [11, 4, 1, "", "stake_dict"], [11, 4, 1, "", "total_stake"], [11, 4, 1, "", "trust"], [11, 4, 1, "", "uid"], [11, 4, 1, "", "validator_permit"], [11, 4, 1, "", "validator_trust"], [11, 4, 1, "", "weights"]], "bittensor.core.chain_data.neuron_info_lite": [[12, 1, 1, "", "NeuronInfoLite"]], "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite": [[12, 4, 1, "", "active"], [12, 4, 1, "", "axon_info"], [12, 4, 1, "", "coldkey"], [12, 4, 1, "", "consensus"], [12, 4, 1, "", "dividends"], [12, 4, 1, "", "emission"], [12, 2, 1, "id0", "get_null_neuron"], [12, 4, 1, "", "hotkey"], [12, 4, 1, "", "incentive"], [12, 4, 1, "", "is_null"], [12, 4, 1, "", "last_update"], [12, 2, 1, "", "list_from_vec_u8"], [12, 4, 1, "", "netuid"], [12, 4, 1, "", "prometheus_info"], [12, 4, 1, "", "pruning_score"], [12, 4, 1, "", "rank"], [12, 4, 1, "", "stake"], [12, 4, 1, "", "stake_dict"], [12, 4, 1, "", "total_stake"], [12, 4, 1, "", "trust"], [12, 4, 1, "", "uid"], [12, 4, 1, "", "validator_permit"], [12, 4, 1, "", "validator_trust"]], "bittensor.core.chain_data.prometheus_info": [[13, 1, 1, "", "PrometheusInfo"]], "bittensor.core.chain_data.prometheus_info.PrometheusInfo": [[13, 4, 1, "", "block"], [13, 4, 1, "", "ip"], [13, 4, 1, "", "ip_type"], [13, 4, 1, "", "port"], [13, 4, 1, "", "version"]], "bittensor.core.chain_data.proposal_vote_data": [[14, 1, 1, "", "ProposalVoteData"]], "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData": [[14, 4, 1, "", "ayes"], [14, 4, 1, "", "end"], [14, 2, 1, "", "from_dict"], [14, 4, 1, "", "index"], [14, 4, 1, "", "nays"], [14, 4, 1, "", "threshold"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, 1, 1, "", "ScheduledColdkeySwapInfo"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo": [[15, 4, 1, "", "arbitration_block"], [15, 2, 1, "", "decode_account_id_list"], [15, 4, 1, "", "new_coldkey"], [15, 4, 1, "", "old_coldkey"]], "bittensor.core.chain_data.stake_info": [[16, 1, 1, "", "StakeInfo"]], "bittensor.core.chain_data.stake_info.StakeInfo": [[16, 4, 1, "", "coldkey_ss58"], [16, 4, 1, "", "drain"], [16, 4, 1, "", "emission"], [16, 2, 1, "", "from_dict"], [16, 4, 1, "", "hotkey_ss58"], [16, 4, 1, "", "is_registered"], [16, 4, 1, "", "locked"], [16, 4, 1, "", "netuid"], [16, 4, 1, "", "stake"]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, 1, 1, "", "SubnetHyperparameters"]], "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters": [[17, 4, 1, "", "activity_cutoff"], [17, 4, 1, "", "adjustment_alpha"], [17, 4, 1, "", "adjustment_interval"], [17, 4, 1, "", "alpha_high"], [17, 4, 1, "", "alpha_low"], [17, 4, 1, "", "alpha_sigmoid_steepness"], [17, 4, 1, "", "bonds_moving_avg"], [17, 4, 1, "", "bonds_reset_enabled"], [17, 4, 1, "", "commit_reveal_period"], [17, 4, 1, "", "commit_reveal_weights_enabled"], [17, 4, 1, "", "difficulty"], [17, 4, 1, "", "immunity_period"], [17, 4, 1, "", "kappa"], [17, 4, 1, "", "liquid_alpha_enabled"], [17, 4, 1, "", "max_burn"], [17, 4, 1, "", "max_difficulty"], [17, 4, 1, "", "max_regs_per_block"], [17, 4, 1, "", "max_validators"], [17, 4, 1, "", "max_weight_limit"], [17, 4, 1, "", "min_allowed_weights"], [17, 4, 1, "", "min_burn"], [17, 4, 1, "", "min_difficulty"], [17, 4, 1, "", "registration_allowed"], [17, 4, 1, "", "rho"], [17, 4, 1, "", "serving_rate_limit"], [17, 4, 1, "", "subnet_is_active"], [17, 4, 1, "", "target_regs_per_interval"], [17, 4, 1, "", "tempo"], [17, 4, 1, "", "transfers_enabled"], [17, 4, 1, "", "user_liquidity_enabled"], [17, 4, 1, "", "weights_rate_limit"], [17, 4, 1, "", "weights_version"], [17, 4, 1, "", "yuma_version"]], "bittensor.core.chain_data.subnet_identity": [[18, 1, 1, "", "SubnetIdentity"]], "bittensor.core.chain_data.subnet_identity.SubnetIdentity": [[18, 4, 1, "", "additional"], [18, 4, 1, "", "description"], [18, 4, 1, "", "discord"], [18, 4, 1, "", "github_repo"], [18, 4, 1, "", "logo_url"], [18, 4, 1, "", "subnet_contact"], [18, 4, 1, "", "subnet_name"], [18, 4, 1, "", "subnet_url"]], "bittensor.core.chain_data.subnet_info": [[19, 1, 1, "", "SubnetInfo"]], "bittensor.core.chain_data.subnet_info.SubnetInfo": [[19, 4, 1, "", "blocks_since_epoch"], [19, 4, 1, "", "burn"], [19, 4, 1, "", "connection_requirements"], [19, 4, 1, "", "difficulty"], [19, 4, 1, "", "emission_value"], [19, 4, 1, "", "immunity_period"], [19, 4, 1, "", "kappa"], [19, 4, 1, "", "max_allowed_validators"], [19, 4, 1, "", "max_n"], [19, 4, 1, "", "max_weight_limit"], [19, 4, 1, "", "min_allowed_weights"], [19, 4, 1, "", "modality"], [19, 4, 1, "", "netuid"], [19, 4, 1, "", "owner_ss58"], [19, 4, 1, "", "rho"], [19, 4, 1, "", "scaling_law_power"], [19, 4, 1, "", "subnetwork_n"], [19, 4, 1, "", "tempo"]], "bittensor.core.chain_data.subnet_state": [[20, 1, 1, "", "SubnetState"]], "bittensor.core.chain_data.subnet_state.SubnetState": [[20, 4, 1, "", "active"], [20, 4, 1, "", "alpha_stake"], [20, 4, 1, "", "block_at_registration"], [20, 4, 1, "", "coldkeys"], [20, 4, 1, "", "consensus"], [20, 4, 1, "", "dividends"], [20, 4, 1, "", "emission"], [20, 4, 1, "", "emission_history"], [20, 4, 1, "", "hotkeys"], [20, 4, 1, "", "incentives"], [20, 4, 1, "", "last_update"], [20, 4, 1, "", "netuid"], [20, 4, 1, "", "pruning_score"], [20, 4, 1, "", "rank"], [20, 4, 1, "", "tao_stake"], [20, 4, 1, "", "total_stake"], [20, 4, 1, "", "trust"], [20, 4, 1, "", "validator_permit"]], "bittensor.core.chain_data.utils": [[21, 1, 1, "", "ChainDataType"], [21, 5, 1, "", "decode_account_id"], [21, 5, 1, "", "decode_block"], [21, 5, 1, "", "decode_metadata"], [21, 5, 1, "", "decode_revealed_commitment"], [21, 5, 1, "", "decode_revealed_commitment_with_hotkey"], [21, 5, 1, "", "from_scale_encoding"], [21, 5, 1, "", "from_scale_encoding_using_type_string"], [21, 5, 1, "", "process_stake_data"]], "bittensor.core.chain_data.utils.ChainDataType": [[21, 4, 1, "", "AccountId"], [21, 4, 1, "", "AxonInfo"], [21, 4, 1, "", "ChainIdentity"], [21, 4, 1, "", "DelegateInfo"], [21, 4, 1, "", "DelegatedInfo"], [21, 4, 1, "", "DynamicInfo"], [21, 4, 1, "", "IPInfo"], [21, 4, 1, "", "MetagraphInfo"], [21, 4, 1, "", "NeuronInfo"], [21, 4, 1, "", "NeuronInfoLite"], [21, 4, 1, "", "ScheduledColdkeySwapInfo"], [21, 4, 1, "", "StakeInfo"], [21, 4, 1, "", "SubnetHyperparameters"], [21, 4, 1, "", "SubnetIdentity"], [21, 4, 1, "", "SubnetInfo"], [21, 4, 1, "", "SubnetState"]], "bittensor.core.chain_data.weight_commit_info": [[22, 1, 1, "", "WeightCommitInfo"]], "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo": [[22, 4, 1, "", "commit_block"], [22, 4, 1, "", "commit_hex"], [22, 2, 1, "", "from_vec_u8"], [22, 2, 1, "", "from_vec_u8_v2"], [22, 4, 1, "", "reveal_round"], [22, 4, 1, "", "ss58"]], "bittensor.core.config": [[23, 1, 1, "", "Config"], [23, 1, 1, "", "DefaultConfig"], [23, 7, 1, "", "InvalidConfigFile"], [23, 6, 1, "", "T"]], "bittensor.core.config.Config": [[23, 2, 1, "", "is_set"], [23, 2, 1, "", "merge"], [23, 2, 1, "", "to_dict"]], "bittensor.core.config.DefaultConfig": [[23, 2, 1, "", "default"]], "bittensor.core.dendrite": [[24, 6, 1, "", "BaseModel"], [24, 6, 1, "", "DENDRITE_DEFAULT_ERROR"], [24, 6, 1, "", "DENDRITE_ERROR_MAPPING"], [24, 1, 1, "", "Dendrite"], [24, 1, 1, "", "DendriteMixin"], [24, 5, 1, "", "call"], [24, 5, 1, "", "event_loop_is_running"]], "bittensor.core.dendrite.Dendrite": [[24, 2, 1, "", "__repr__"], [24, 2, 1, "", "__str__"], [24, 2, 1, "", "aclose_session"], [24, 2, 1, "", "call"], [24, 2, 1, "", "call_stream"], [24, 2, 1, "", "close_session"], [24, 2, 1, "", "forward"], [24, 2, 1, "", "preprocess_synapse_for_request"], [24, 2, 1, "", "process_server_response"], [24, 2, 1, "", "query"]], "bittensor.core.dendrite.DendriteMixin": [[24, 2, 1, "", "__repr__"], [24, 2, 1, "", "__str__"], [24, 2, 1, "id0", "aclose_session"], [24, 2, 1, "", "aquery"], [24, 2, 1, "id3", "call"], [24, 2, 1, "id4", "call_stream"], [24, 2, 1, "id5", "close_session"], [24, 4, 1, "", "external_ip"], [24, 2, 1, "id7", "forward"], [24, 4, 1, "", "keypair"], [24, 2, 1, "", "log_exception"], [24, 2, 1, "id8", "preprocess_synapse_for_request"], [24, 2, 1, "", "process_error_message"], [24, 2, 1, "id9", "process_server_response"], [24, 2, 1, "id11", "query"], [24, 3, 1, "", "session"], [24, 4, 1, "", "synapse_history"], [24, 4, 1, "", "uuid"]], "bittensor.core.errors": [[25, 7, 1, "", "BlacklistedException"], [25, 6, 1, "", "BlockNotFound"], [25, 7, 1, "", "ChainConnectionError"], [25, 7, 1, "", "ChainError"], [25, 7, 1, "", "ChainQueryError"], [25, 7, 1, "", "ChainTransactionError"], [25, 7, 1, "", "DelegateTakeTooHigh"], [25, 7, 1, "", "DelegateTakeTooLow"], [25, 7, 1, "", "DelegateTxRateLimitExceeded"], [25, 7, 1, "", "DuplicateChild"], [25, 6, 1, "", "ExtrinsicNotFound"], [25, 7, 1, "", "HotKeyAccountNotExists"], [25, 7, 1, "", "IdentityError"], [25, 7, 1, "", "InternalServerError"], [25, 7, 1, "", "InvalidChild"], [25, 7, 1, "", "InvalidRequestNameError"], [25, 7, 1, "", "MaxAttemptsException"], [25, 7, 1, "", "MaxSuccessException"], [25, 7, 1, "", "MetadataError"], [25, 7, 1, "", "NominationError"], [25, 7, 1, "", "NonAssociatedColdKey"], [25, 7, 1, "", "NotDelegateError"], [25, 7, 1, "", "NotEnoughStakeToSetChildkeys"], [25, 7, 1, "", "NotRegisteredError"], [25, 7, 1, "", "NotVerifiedException"], [25, 7, 1, "", "PostProcessException"], [25, 7, 1, "", "PriorityException"], [25, 7, 1, "", "ProportionOverflow"], [25, 7, 1, "", "RegistrationError"], [25, 7, 1, "", "RegistrationNotPermittedOnRootSubnet"], [25, 7, 1, "", "RunException"], [25, 7, 1, "", "StakeError"], [25, 6, 1, "", "StorageFunctionNotFound"], [25, 7, 1, "", "SubNetworkDoesNotExist"], [25, 6, 1, "", "SubstrateRequestException"], [25, 7, 1, "", "SynapseDendriteNoneException"], [25, 7, 1, "", "SynapseException"], [25, 7, 1, "", "SynapseParsingError"], [25, 7, 1, "", "TakeError"], [25, 7, 1, "", "TooManyChildren"], [25, 7, 1, "", "TransferError"], [25, 7, 1, "", "TxRateLimitExceeded"], [25, 7, 1, "", "UnknownSynapseError"], [25, 7, 1, "", "UnstakeError"]], "bittensor.core.errors.ChainError": [[25, 2, 1, "", "from_error"]], "bittensor.core.errors.SynapseDendriteNoneException": [[25, 4, 1, "", "message"]], "bittensor.core.errors.SynapseException": [[25, 4, 1, "", "message"], [25, 4, 1, "", "synapse"]], "bittensor.core.extrinsics": [[28, 0, 0, "-", "asyncex"], [40, 0, 0, "-", "children"], [41, 0, 0, "-", "commit_reveal"], [42, 0, 0, "-", "commit_weights"], [44, 0, 0, "-", "liquidity"], [45, 0, 0, "-", "move_stake"], [46, 0, 0, "-", "registration"], [47, 0, 0, "-", "root"], [48, 0, 0, "-", "serving"], [49, 0, 0, "-", "set_weights"], [50, 0, 0, "-", "staking"], [51, 0, 0, "-", "start_call"], [52, 0, 0, "-", "take"], [53, 0, 0, "-", "transfer"], [54, 0, 0, "-", "unstaking"], [55, 0, 0, "-", "utils"]], "bittensor.core.extrinsics.asyncex": [[26, 0, 0, "-", "children"], [27, 0, 0, "-", "commit_reveal"], [29, 0, 0, "-", "liquidity"], [30, 0, 0, "-", "move_stake"], [31, 0, 0, "-", "registration"], [32, 0, 0, "-", "root"], [33, 0, 0, "-", "serving"], [34, 0, 0, "-", "staking"], [35, 0, 0, "-", "start_call"], [36, 0, 0, "-", "take"], [37, 0, 0, "-", "transfer"], [38, 0, 0, "-", "unstaking"], [39, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.asyncex.children": [[26, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [26, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[27, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.asyncex.liquidity": [[29, 5, 1, "", "add_liquidity_extrinsic"], [29, 5, 1, "", "modify_liquidity_extrinsic"], [29, 5, 1, "", "remove_liquidity_extrinsic"], [29, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.asyncex.move_stake": [[30, 5, 1, "", "move_stake_extrinsic"], [30, 5, 1, "", "swap_stake_extrinsic"], [30, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.asyncex.registration": [[31, 5, 1, "", "burned_register_extrinsic"], [31, 5, 1, "", "register_extrinsic"], [31, 5, 1, "", "register_subnet_extrinsic"], [31, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.asyncex.root": [[32, 5, 1, "", "root_register_extrinsic"], [32, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.asyncex.serving": [[33, 5, 1, "", "do_serve_axon"], [33, 5, 1, "", "get_last_bonds_reset"], [33, 5, 1, "", "get_metadata"], [33, 5, 1, "", "publish_metadata"], [33, 5, 1, "", "serve_axon_extrinsic"], [33, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.asyncex.staking": [[34, 5, 1, "", "add_stake_extrinsic"], [34, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.start_call": [[35, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.asyncex.take": [[36, 5, 1, "", "decrease_take_extrinsic"], [36, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.asyncex.transfer": [[37, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, 5, 1, "", "unstake_all_extrinsic"], [38, 5, 1, "", "unstake_extrinsic"], [38, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.weights": [[39, 5, 1, "", "commit_weights_extrinsic"], [39, 5, 1, "", "reveal_weights_extrinsic"], [39, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.children": [[40, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [40, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.commit_reveal": [[41, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.commit_weights": [[42, 5, 1, "", "commit_weights_extrinsic"], [42, 5, 1, "", "reveal_weights_extrinsic"]], "bittensor.core.extrinsics.liquidity": [[44, 5, 1, "", "add_liquidity_extrinsic"], [44, 5, 1, "", "modify_liquidity_extrinsic"], [44, 5, 1, "", "remove_liquidity_extrinsic"], [44, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.move_stake": [[45, 5, 1, "", "move_stake_extrinsic"], [45, 5, 1, "", "swap_stake_extrinsic"], [45, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.registration": [[46, 5, 1, "", "burned_register_extrinsic"], [46, 5, 1, "", "register_extrinsic"], [46, 5, 1, "", "register_subnet_extrinsic"], [46, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.root": [[47, 5, 1, "", "root_register_extrinsic"], [47, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.serving": [[48, 5, 1, "", "do_serve_axon"], [48, 5, 1, "", "get_last_bonds_reset"], [48, 5, 1, "", "get_metadata"], [48, 5, 1, "", "publish_metadata"], [48, 5, 1, "", "serve_axon_extrinsic"], [48, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.set_weights": [[49, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.staking": [[50, 5, 1, "", "add_stake_extrinsic"], [50, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.start_call": [[51, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.take": [[52, 5, 1, "", "decrease_take_extrinsic"], [52, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.transfer": [[53, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.unstaking": [[54, 5, 1, "", "unstake_all_extrinsic"], [54, 5, 1, "", "unstake_extrinsic"], [54, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.utils": [[55, 5, 1, "", "get_old_stakes"]], "bittensor.core.metagraph": [[57, 1, 1, "", "AsyncMetagraph"], [57, 6, 1, "", "BaseClass"], [57, 6, 1, "", "METAGRAPH_STATE_DICT_NDARRAY_KEYS"], [57, 1, 1, "", "Metagraph"], [57, 1, 1, "", "MetagraphMixin"], [57, 1, 1, "", "NonTorchMetagraph"], [57, 6, 1, "", "NumpyOrTorch"], [57, 6, 1, "", "Tensor"], [57, 1, 1, "", "TorchMetagraph"], [57, 5, 1, "", "async_metagraph"], [57, 5, 1, "", "get_save_dir"], [57, 5, 1, "", "latest_block_path"], [57, 5, 1, "", "safe_globals"]], "bittensor.core.metagraph.AsyncMetagraph": [[57, 2, 1, "", "sync"]], "bittensor.core.metagraph.Metagraph": [[57, 2, 1, "", "sync"]], "bittensor.core.metagraph.MetagraphMixin": [[57, 3, 1, "", "AS"], [57, 3, 1, "", "B"], [57, 3, 1, "", "C"], [57, 3, 1, "", "D"], [57, 3, 1, "", "E"], [57, 3, 1, "", "I"], [57, 3, 1, "", "R"], [57, 3, 1, "", "S"], [57, 3, 1, "", "T"], [57, 3, 1, "", "TS"], [57, 3, 1, "", "Tv"], [57, 3, 1, "", "W"], [57, 4, 1, "", "active"], [57, 3, 1, "", "addresses"], [57, 4, 1, "", "alpha_dividends_per_hotkey"], [57, 4, 1, "", "alpha_stake"], [57, 4, 1, "", "axons"], [57, 4, 1, "", "block"], [57, 4, 1, "", "block_at_registration"], [57, 4, 1, "", "blocks_since_last_step"], [57, 4, 1, "", "bonds"], [57, 4, 1, "", "chain_endpoint"], [57, 3, 1, "", "coldkeys"], [57, 4, 1, "", "consensus"], [57, 4, 1, "", "dividends"], [57, 4, 1, "", "emission"], [57, 4, 1, "", "emissions"], [57, 3, 1, "", "hotkeys"], [57, 4, 1, "", "hparams"], [57, 4, 1, "", "identities"], [57, 4, 1, "", "identity"], [57, 4, 1, "", "incentive"], [57, 4, 1, "", "last_step"], [57, 4, 1, "", "last_update"], [57, 4, 1, "", "lite"], [57, 2, 1, "", "load"], [57, 2, 1, "", "load_from_path"], [57, 4, 1, "", "max_uids"], [57, 2, 1, "", "metadata"], [57, 4, 1, "", "n"], [57, 4, 1, "", "name"], [57, 4, 1, "", "netuid"], [57, 4, 1, "", "network"], [57, 4, 1, "", "network_registered_at"], [57, 4, 1, "", "neurons"], [57, 4, 1, "", "num_uids"], [57, 4, 1, "", "owner_coldkey"], [57, 4, 1, "", "owner_hotkey"], [57, 4, 1, "", "pool"], [57, 4, 1, "", "pruning_score"], [57, 4, 1, "", "ranks"], [57, 2, 1, "", "save"], [57, 4, 1, "", "should_sync"], [57, 4, 1, "", "stake"], [57, 2, 1, "", "state_dict"], [57, 4, 1, "", "subtensor"], [57, 4, 1, "", "symbol"], [57, 4, 1, "", "tao_dividends_per_hotkey"], [57, 4, 1, "", "tao_stake"], [57, 4, 1, "", "tempo"], [57, 4, 1, "", "trust"], [57, 4, 1, "", "uids"], [57, 4, 1, "", "validator_permit"], [57, 4, 1, "", "validator_trust"], [57, 4, 1, "", "version"], [57, 4, 1, "", "weights"]], "bittensor.core.metagraph.NonTorchMetagraph": [[57, 4, 1, "", "active"], [57, 4, 1, "", "alpha_stake"], [57, 4, 1, "", "block"], [57, 4, 1, "", "bonds"], [57, 4, 1, "", "consensus"], [57, 4, 1, "", "dividends"], [57, 4, 1, "", "emission"], [57, 4, 1, "", "incentive"], [57, 4, 1, "", "last_update"], [57, 2, 1, "", "load_from_path"], [57, 4, 1, "", "n"], [57, 4, 1, "", "netuid"], [57, 4, 1, "", "ranks"], [57, 4, 1, "", "should_sync"], [57, 4, 1, "", "stake"], [57, 4, 1, "", "subtensor"], [57, 4, 1, "", "tao_stake"], [57, 4, 1, "", "total_stake"], [57, 4, 1, "", "trust"], [57, 4, 1, "", "uids"], [57, 4, 1, "", "validator_permit"], [57, 4, 1, "", "validator_trust"], [57, 4, 1, "", "version"], [57, 4, 1, "", "weights"]], "bittensor.core.metagraph.TorchMetagraph": [[57, 4, 1, "", "active"], [57, 4, 1, "", "alpha_stake"], [57, 4, 1, "", "block"], [57, 4, 1, "", "bonds"], [57, 4, 1, "", "consensus"], [57, 4, 1, "", "dividends"], [57, 4, 1, "", "emission"], [57, 4, 1, "", "incentive"], [57, 4, 1, "", "last_update"], [57, 2, 1, "", "load_from_path"], [57, 4, 1, "", "n"], [57, 4, 1, "", "ranks"], [57, 4, 1, "", "stake"], [57, 4, 1, "", "tao_stake"], [57, 4, 1, "", "total_stake"], [57, 4, 1, "", "trust"], [57, 4, 1, "", "uids"], [57, 4, 1, "", "validator_permit"], [57, 4, 1, "", "validator_trust"], [57, 4, 1, "", "version"], [57, 4, 1, "", "weights"]], "bittensor.core.settings": [[58, 6, 1, "", "ARCHIVE_ENTRYPOINT"], [58, 6, 1, "", "BLOCKTIME"], [58, 6, 1, "", "DEFAULTS"], [58, 6, 1, "", "DEFAULT_ENDPOINT"], [58, 6, 1, "", "DEFAULT_NETWORK"], [58, 6, 1, "", "FINNEY_ENTRYPOINT"], [58, 6, 1, "", "FINNEY_TEST_ENTRYPOINT"], [58, 6, 1, "", "HOME_DIR"], [58, 6, 1, "", "LATENT_LITE_ENTRYPOINT"], [58, 6, 1, "", "LOCAL_ENTRYPOINT"], [58, 6, 1, "", "MINERS_DIR"], [58, 6, 1, "", "NETWORKS"], [58, 6, 1, "", "NETWORK_EXPLORER_MAP"], [58, 6, 1, "", "NETWORK_MAP"], [58, 6, 1, "", "PIPADDRESS"], [58, 6, 1, "", "RAO_SYMBOL"], [58, 6, 1, "", "READ_ONLY"], [58, 6, 1, "", "REVERSE_NETWORK_MAP"], [58, 6, 1, "", "ROOT_TAO_STAKE_WEIGHT"], [58, 6, 1, "", "SS58_ADDRESS_LENGTH"], [58, 6, 1, "", "SS58_FORMAT"], [58, 6, 1, "", "SUBVORTEX_ENTRYPOINT"], [58, 6, 1, "", "TAO_SYMBOL"], [58, 6, 1, "", "TYPE_REGISTRY"], [58, 6, 1, "", "USER_BITTENSOR_DIR"], [58, 6, 1, "", "WALLETS_DIR"], [58, 6, 1, "", "version_as_int"], [58, 6, 1, "", "version_split"]], "bittensor.core.stream": [[59, 1, 1, "", "BTStreamingResponseModel"], [59, 1, 1, "", "StreamingSynapse"]], "bittensor.core.stream.BTStreamingResponseModel": [[59, 4, 1, "", "token_streamer"]], "bittensor.core.stream.StreamingSynapse": [[59, 1, 1, "", "BTStreamingResponse"], [59, 2, 1, "", "create_streaming_response"], [59, 2, 1, "", "extract_response_json"], [59, 4, 1, "", "model_config"], [59, 2, 1, "", "process_streaming_response"]], "bittensor.core.stream.StreamingSynapse.BTStreamingResponse": [[59, 2, 1, "", "stream_response"], [59, 4, 1, "", "synapse"], [59, 4, 1, "", "token_streamer"]], "bittensor.core.subtensor": [[60, 1, 1, "", "Subtensor"]], "bittensor.core.subtensor.Subtensor": [[60, 2, 1, "", "add_liquidity"], [60, 2, 1, "", "add_stake"], [60, 2, 1, "", "add_stake_multiple"], [60, 2, 1, "", "all_subnets"], [60, 3, 1, "", "block"], [60, 2, 1, "", "blocks_since_last_step"], [60, 2, 1, "", "blocks_since_last_update"], [60, 2, 1, "", "bonds"], [60, 2, 1, "", "burned_register"], [60, 2, 1, "", "close"], [60, 2, 1, "", "commit"], [60, 2, 1, "", "commit_reveal_enabled"], [60, 2, 1, "", "commit_weights"], [60, 2, 1, "", "determine_block_hash"], [60, 2, 1, "", "difficulty"], [60, 2, 1, "", "does_hotkey_exist"], [60, 2, 1, "", "encode_params"], [60, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [60, 2, 1, "", "get_all_commitments"], [60, 2, 1, "", "get_all_metagraphs_info"], [60, 2, 1, "", "get_all_neuron_certificates"], [60, 2, 1, "", "get_all_revealed_commitments"], [60, 2, 1, "", "get_all_subnets_info"], [60, 2, 1, "", "get_balance"], [60, 2, 1, "", "get_balances"], [60, 2, 1, "", "get_block_hash"], [60, 2, 1, "", "get_children"], [60, 2, 1, "", "get_children_pending"], [60, 2, 1, "", "get_commitment"], [60, 2, 1, "", "get_current_block"], [60, 2, 1, "", "get_current_weight_commit_info"], [60, 2, 1, "", "get_current_weight_commit_info_v2"], [60, 2, 1, "", "get_delegate_by_hotkey"], [60, 2, 1, "", "get_delegate_identities"], [60, 2, 1, "", "get_delegate_take"], [60, 2, 1, "", "get_delegated"], [60, 2, 1, "", "get_delegates"], [60, 2, 1, "", "get_existential_deposit"], [60, 2, 1, "", "get_hotkey_owner"], [60, 4, 1, "", "get_hotkey_stake"], [60, 2, 1, "", "get_hyperparameter"], [60, 2, 1, "", "get_last_commitment_bonds_reset_block"], [60, 2, 1, "", "get_liquidity_list"], [60, 2, 1, "", "get_metagraph_info"], [60, 2, 1, "", "get_minimum_required_stake"], [60, 2, 1, "", "get_netuids_for_hotkey"], [60, 2, 1, "", "get_neuron_certificate"], [60, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [60, 2, 1, "", "get_next_epoch_start_block"], [60, 2, 1, "", "get_owned_hotkeys"], [60, 2, 1, "", "get_parents"], [60, 2, 1, "", "get_revealed_commitment"], [60, 2, 1, "", "get_revealed_commitment_by_hotkey"], [60, 2, 1, "", "get_stake"], [60, 2, 1, "", "get_stake_add_fee"], [60, 2, 1, "", "get_stake_for_coldkey"], [60, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [60, 2, 1, "", "get_stake_for_hotkey"], [60, 4, 1, "", "get_stake_info_for_coldkey"], [60, 2, 1, "", "get_stake_movement_fee"], [60, 2, 1, "", "get_stake_operations_fee"], [60, 2, 1, "", "get_stake_weight"], [60, 2, 1, "", "get_subnet_burn_cost"], [60, 2, 1, "", "get_subnet_hyperparameters"], [60, 2, 1, "", "get_subnet_info"], [60, 2, 1, "", "get_subnet_owner_hotkey"], [60, 2, 1, "", "get_subnet_price"], [60, 2, 1, "", "get_subnet_prices"], [60, 2, 1, "", "get_subnet_reveal_period_epochs"], [60, 2, 1, "", "get_subnet_validator_permits"], [60, 2, 1, "", "get_subnets"], [60, 2, 1, "", "get_timestamp"], [60, 2, 1, "", "get_total_subnets"], [60, 2, 1, "", "get_transfer_fee"], [60, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [60, 2, 1, "", "get_unstake_fee"], [60, 2, 1, "", "get_vote_data"], [60, 2, 1, "", "immunity_period"], [60, 2, 1, "", "is_fast_blocks"], [60, 2, 1, "", "is_hotkey_delegate"], [60, 2, 1, "", "is_hotkey_registered"], [60, 2, 1, "", "is_hotkey_registered_any"], [60, 2, 1, "", "is_hotkey_registered_on_subnet"], [60, 2, 1, "", "is_subnet_active"], [60, 2, 1, "", "last_drand_round"], [60, 4, 1, "", "log_verbose"], [60, 2, 1, "", "max_weight_limit"], [60, 2, 1, "", "metagraph"], [60, 2, 1, "", "min_allowed_weights"], [60, 2, 1, "", "modify_liquidity"], [60, 2, 1, "", "move_stake"], [60, 2, 1, "", "neuron_for_uid"], [60, 2, 1, "", "neurons"], [60, 2, 1, "", "neurons_lite"], [60, 2, 1, "", "query_constant"], [60, 2, 1, "", "query_identity"], [60, 2, 1, "", "query_map"], [60, 2, 1, "", "query_map_subtensor"], [60, 2, 1, "", "query_module"], [60, 2, 1, "", "query_runtime_api"], [60, 2, 1, "", "query_subtensor"], [60, 2, 1, "", "recycle"], [60, 2, 1, "", "register"], [60, 2, 1, "", "register_subnet"], [60, 2, 1, "", "remove_liquidity"], [60, 2, 1, "", "reveal_weights"], [60, 2, 1, "", "root_register"], [60, 2, 1, "", "root_set_pending_childkey_cooldown"], [60, 2, 1, "", "root_set_weights"], [60, 2, 1, "", "serve_axon"], [60, 2, 1, "", "set_children"], [60, 4, 1, "", "set_commitment"], [60, 2, 1, "", "set_delegate_take"], [60, 2, 1, "", "set_reveal_commitment"], [60, 2, 1, "", "set_subnet_identity"], [60, 2, 1, "", "set_weights"], [60, 2, 1, "", "sign_and_send_extrinsic"], [60, 2, 1, "", "start_call"], [60, 2, 1, "", "state_call"], [60, 2, 1, "", "subnet"], [60, 2, 1, "", "subnet_exists"], [60, 2, 1, "", "subnetwork_n"], [60, 4, 1, "", "substrate"], [60, 2, 1, "", "swap_stake"], [60, 2, 1, "", "tempo"], [60, 2, 1, "", "toggle_user_liquidity"], [60, 2, 1, "", "transfer"], [60, 2, 1, "", "transfer_stake"], [60, 2, 1, "", "tx_rate_limit"], [60, 2, 1, "", "unstake"], [60, 2, 1, "", "unstake_all"], [60, 2, 1, "", "unstake_multiple"], [60, 2, 1, "", "wait_for_block"], [60, 2, 1, "", "weights"], [60, 2, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api": [[65, 1, 1, "", "SubtensorApi"], [61, 0, 0, "-", "chain"], [62, 0, 0, "-", "commitments"], [63, 0, 0, "-", "delegates"], [64, 0, 0, "-", "extrinsics"], [66, 0, 0, "-", "metagraphs"], [67, 0, 0, "-", "neurons"], [68, 0, 0, "-", "queries"], [69, 0, 0, "-", "staking"], [70, 0, 0, "-", "subnets"], [71, 0, 0, "-", "utils"], [72, 0, 0, "-", "wallets"]], "bittensor.core.subtensor_api.SubtensorApi": [[65, 2, 1, "", "add_args"], [65, 3, 1, "", "block"], [65, 3, 1, "", "chain"], [65, 4, 1, "", "chain_endpoint"], [65, 4, 1, "", "close"], [65, 3, 1, "", "commitments"], [65, 4, 1, "", "config"], [65, 3, 1, "", "delegates"], [65, 4, 1, "", "determine_block_hash"], [65, 4, 1, "", "encode_params"], [65, 3, 1, "", "extrinsics"], [65, 4, 1, "", "help"], [65, 4, 1, "", "initialize"], [65, 4, 1, "", "is_async"], [65, 4, 1, "", "log_verbose"], [65, 3, 1, "", "metagraphs"], [65, 4, 1, "", "network"], [65, 3, 1, "", "neurons"], [65, 3, 1, "", "queries"], [65, 4, 1, "", "setup_config"], [65, 4, 1, "", "sign_and_send_extrinsic"], [65, 3, 1, "", "staking"], [65, 4, 1, "", "start_call"], [65, 3, 1, "", "subnets"], [65, 4, 1, "", "substrate"], [65, 4, 1, "", "wait_for_block"], [65, 3, 1, "", "wallets"]], "bittensor.core.subtensor_api.chain": [[61, 1, 1, "", "Chain"]], "bittensor.core.subtensor_api.chain.Chain": [[61, 4, 1, "", "get_block_hash"], [61, 4, 1, "", "get_current_block"], [61, 4, 1, "", "get_delegate_identities"], [61, 4, 1, "", "get_existential_deposit"], [61, 4, 1, "", "get_minimum_required_stake"], [61, 4, 1, "", "get_timestamp"], [61, 4, 1, "", "get_vote_data"], [61, 4, 1, "", "is_fast_blocks"], [61, 4, 1, "", "last_drand_round"], [61, 4, 1, "", "state_call"], [61, 4, 1, "", "tx_rate_limit"]], "bittensor.core.subtensor_api.commitments": [[62, 1, 1, "", "Commitments"]], "bittensor.core.subtensor_api.commitments.Commitments": [[62, 4, 1, "", "commit_reveal_enabled"], [62, 4, 1, "", "get_all_commitments"], [62, 4, 1, "", "get_all_revealed_commitments"], [62, 4, 1, "", "get_commitment"], [62, 4, 1, "", "get_current_weight_commit_info"], [62, 4, 1, "", "get_current_weight_commit_info_v2"], [62, 4, 1, "", "get_last_commitment_bonds_reset_block"], [62, 4, 1, "", "get_revealed_commitment"], [62, 4, 1, "", "get_revealed_commitment_by_hotkey"], [62, 4, 1, "", "set_commitment"], [62, 4, 1, "", "set_reveal_commitment"]], "bittensor.core.subtensor_api.delegates": [[63, 1, 1, "", "Delegates"]], "bittensor.core.subtensor_api.delegates.Delegates": [[63, 4, 1, "", "get_delegate_by_hotkey"], [63, 4, 1, "", "get_delegate_identities"], [63, 4, 1, "", "get_delegate_take"], [63, 4, 1, "", "get_delegated"], [63, 4, 1, "", "get_delegates"], [63, 4, 1, "", "is_hotkey_delegate"], [63, 4, 1, "", "set_delegate_take"]], "bittensor.core.subtensor_api.extrinsics": [[64, 1, 1, "", "Extrinsics"]], "bittensor.core.subtensor_api.extrinsics.Extrinsics": [[64, 4, 1, "", "add_liquidity"], [64, 4, 1, "", "add_stake"], [64, 4, 1, "", "add_stake_multiple"], [64, 4, 1, "", "burned_register"], [64, 4, 1, "", "commit_weights"], [64, 4, 1, "", "modify_liquidity"], [64, 4, 1, "", "move_stake"], [64, 4, 1, "", "register"], [64, 4, 1, "", "register_subnet"], [64, 4, 1, "", "remove_liquidity"], [64, 4, 1, "", "reveal_weights"], [64, 4, 1, "", "root_register"], [64, 4, 1, "", "root_set_pending_childkey_cooldown"], [64, 4, 1, "", "root_set_weights"], [64, 4, 1, "", "serve_axon"], [64, 4, 1, "", "set_children"], [64, 4, 1, "", "set_subnet_identity"], [64, 4, 1, "", "set_weights"], [64, 4, 1, "", "start_call"], [64, 4, 1, "", "swap_stake"], [64, 4, 1, "", "toggle_user_liquidity"], [64, 4, 1, "", "transfer"], [64, 4, 1, "", "transfer_stake"], [64, 4, 1, "", "unstake"], [64, 4, 1, "", "unstake_all"], [64, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.metagraphs": [[66, 1, 1, "", "Metagraphs"]], "bittensor.core.subtensor_api.metagraphs.Metagraphs": [[66, 4, 1, "", "get_all_metagraphs_info"], [66, 4, 1, "", "get_metagraph_info"], [66, 4, 1, "", "metagraph"]], "bittensor.core.subtensor_api.neurons": [[67, 1, 1, "", "Neurons"]], "bittensor.core.subtensor_api.neurons.Neurons": [[67, 4, 1, "", "get_all_neuron_certificates"], [67, 4, 1, "", "get_neuron_certificate"], [67, 4, 1, "", "neuron_for_uid"], [67, 4, 1, "", "neurons"], [67, 4, 1, "", "neurons_lite"], [67, 4, 1, "", "query_identity"]], "bittensor.core.subtensor_api.queries": [[68, 1, 1, "", "Queries"]], "bittensor.core.subtensor_api.queries.Queries": [[68, 4, 1, "", "query_constant"], [68, 4, 1, "", "query_map"], [68, 4, 1, "", "query_map_subtensor"], [68, 4, 1, "", "query_module"], [68, 4, 1, "", "query_runtime_api"], [68, 4, 1, "", "query_subtensor"]], "bittensor.core.subtensor_api.staking": [[69, 1, 1, "", "Staking"]], "bittensor.core.subtensor_api.staking.Staking": [[69, 4, 1, "", "add_stake"], [69, 4, 1, "", "add_stake_multiple"], [69, 4, 1, "", "get_hotkey_stake"], [69, 4, 1, "", "get_minimum_required_stake"], [69, 4, 1, "", "get_stake"], [69, 4, 1, "", "get_stake_add_fee"], [69, 4, 1, "", "get_stake_for_coldkey"], [69, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [69, 4, 1, "", "get_stake_info_for_coldkey"], [69, 4, 1, "", "get_stake_movement_fee"], [69, 4, 1, "", "get_stake_operations_fee"], [69, 4, 1, "", "get_stake_weight"], [69, 4, 1, "", "get_unstake_fee"], [69, 4, 1, "", "unstake"], [69, 4, 1, "", "unstake_all"], [69, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.subnets": [[70, 1, 1, "", "Subnets"]], "bittensor.core.subtensor_api.subnets.Subnets": [[70, 4, 1, "", "all_subnets"], [70, 4, 1, "", "blocks_since_last_step"], [70, 4, 1, "", "blocks_since_last_update"], [70, 4, 1, "", "bonds"], [70, 4, 1, "", "commit_reveal_enabled"], [70, 4, 1, "", "difficulty"], [70, 4, 1, "", "get_all_subnets_info"], [70, 4, 1, "", "get_children"], [70, 4, 1, "", "get_children_pending"], [70, 4, 1, "", "get_current_weight_commit_info"], [70, 4, 1, "", "get_hyperparameter"], [70, 4, 1, "", "get_liquidity_list"], [70, 4, 1, "", "get_neuron_for_pubkey_and_subnet"], [70, 4, 1, "", "get_next_epoch_start_block"], [70, 4, 1, "", "get_parents"], [70, 4, 1, "", "get_subnet_burn_cost"], [70, 4, 1, "", "get_subnet_hyperparameters"], [70, 4, 1, "", "get_subnet_info"], [70, 4, 1, "", "get_subnet_owner_hotkey"], [70, 4, 1, "", "get_subnet_price"], [70, 4, 1, "", "get_subnet_prices"], [70, 4, 1, "", "get_subnet_reveal_period_epochs"], [70, 4, 1, "", "get_subnet_validator_permits"], [70, 4, 1, "", "get_subnets"], [70, 4, 1, "", "get_total_subnets"], [70, 4, 1, "", "get_uid_for_hotkey_on_subnet"], [70, 4, 1, "", "immunity_period"], [70, 4, 1, "", "is_hotkey_registered_on_subnet"], [70, 4, 1, "", "is_subnet_active"], [70, 4, 1, "", "max_weight_limit"], [70, 4, 1, "", "min_allowed_weights"], [70, 4, 1, "", "recycle"], [70, 4, 1, "", "register_subnet"], [70, 4, 1, "", "set_subnet_identity"], [70, 4, 1, "", "subnet"], [70, 4, 1, "", "subnet_exists"], [70, 4, 1, "", "subnetwork_n"], [70, 4, 1, "", "tempo"], [70, 4, 1, "", "weights"], [70, 4, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api.utils": [[71, 5, 1, "", "add_legacy_methods"]], "bittensor.core.subtensor_api.wallets": [[72, 1, 1, "", "Wallets"]], "bittensor.core.subtensor_api.wallets.Wallets": [[72, 4, 1, "", "does_hotkey_exist"], [72, 4, 1, "", "filter_netuids_by_registered_hotkeys"], [72, 4, 1, "", "get_balance"], [72, 4, 1, "", "get_balances"], [72, 4, 1, "", "get_children"], [72, 4, 1, "", "get_children_pending"], [72, 4, 1, "", "get_delegate_by_hotkey"], [72, 4, 1, "", "get_delegate_take"], [72, 4, 1, "", "get_delegated"], [72, 4, 1, "", "get_hotkey_owner"], [72, 4, 1, "", "get_hotkey_stake"], [72, 4, 1, "", "get_minimum_required_stake"], [72, 4, 1, "", "get_netuids_for_hotkey"], [72, 4, 1, "", "get_owned_hotkeys"], [72, 4, 1, "", "get_stake"], [72, 4, 1, "", "get_stake_add_fee"], [72, 4, 1, "", "get_stake_for_coldkey"], [72, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [72, 4, 1, "", "get_stake_for_hotkey"], [72, 4, 1, "", "get_stake_info_for_coldkey"], [72, 4, 1, "", "get_stake_movement_fee"], [72, 4, 1, "", "get_transfer_fee"], [72, 4, 1, "", "get_unstake_fee"], [72, 4, 1, "", "is_hotkey_delegate"], [72, 4, 1, "", "is_hotkey_registered"], [72, 4, 1, "", "is_hotkey_registered_any"]], "bittensor.core.synapse": [[73, 1, 1, "", "Synapse"], [73, 1, 1, "", "TerminalInfo"], [73, 5, 1, "", "cast_float"], [73, 5, 1, "", "cast_int"], [73, 5, 1, "", "get_size"]], "bittensor.core.synapse.Synapse": [[73, 2, 1, "", "__setattr__"], [73, 4, 1, "", "axon"], [73, 3, 1, "id0", "body_hash"], [73, 4, 1, "", "computed_body_hash"], [73, 4, 1, "", "dendrite"], [73, 2, 1, "id1", "deserialize"], [73, 3, 1, "", "failed_verification"], [73, 2, 1, "id2", "from_headers"], [73, 2, 1, "", "get_required_fields"], [73, 2, 1, "id3", "get_total_size"], [73, 4, 1, "", "header_size"], [73, 3, 1, "", "is_blacklist"], [73, 3, 1, "", "is_failure"], [73, 3, 1, "", "is_success"], [73, 3, 1, "", "is_timeout"], [73, 4, 1, "", "model_config"], [73, 4, 1, "", "name"], [73, 2, 1, "id4", "parse_headers_to_inputs"], [73, 4, 1, "", "required_hash_fields"], [73, 2, 1, "", "set_name_type"], [73, 4, 1, "", "timeout"], [73, 2, 1, "id5", "to_headers"], [73, 4, 1, "", "total_size"]], "bittensor.core.synapse.TerminalInfo": [[73, 4, 1, "", "hotkey"], [73, 4, 1, "", "ip"], [73, 4, 1, "", "model_config"], [73, 4, 1, "", "nonce"], [73, 4, 1, "", "port"], [73, 4, 1, "", "process_time"], [73, 4, 1, "", "signature"], [73, 4, 1, "", "status_code"], [73, 4, 1, "", "status_message"], [73, 4, 1, "", "uuid"], [73, 4, 1, "", "version"]], "bittensor.core.tensor": [[74, 1, 1, "", "DTypes"], [74, 1, 1, "", "Tensor"], [74, 5, 1, "", "cast_dtype"], [74, 5, 1, "", "cast_shape"], [74, 6, 1, "", "dtypes"], [74, 1, 1, "", "tensor"]], "bittensor.core.tensor.DTypes": [[74, 4, 1, "", "torch"]], "bittensor.core.tensor.Tensor": [[74, 4, 1, "", "buffer"], [74, 2, 1, "", "deserialize"], [74, 4, 1, "", "dtype"], [74, 4, 1, "", "model_config"], [74, 2, 1, "", "numpy"], [74, 2, 1, "", "serialize"], [74, 4, 1, "", "shape"], [74, 2, 1, "", "tensor"], [74, 2, 1, "", "tolist"]], "bittensor.core.threadpool": [[75, 7, 1, "", "BrokenThreadPool"], [75, 6, 1, "", "NULL_ENTRY"], [75, 1, 1, "", "PriorityThreadPoolExecutor"], [75, 6, 1, "", "logger"]], "bittensor.core.threadpool.PriorityThreadPoolExecutor": [[75, 2, 1, "", "add_args"], [75, 2, 1, "", "config"], [75, 3, 1, "", "is_empty"], [75, 2, 1, "", "shutdown"], [75, 2, 1, "", "submit"]], "bittensor.core.timelock": [[76, 5, 1, "", "decrypt"], [76, 5, 1, "", "encrypt"], [76, 5, 1, "", "wait_reveal_and_decrypt"]], "bittensor.core.types": [[77, 1, 1, "", "AxonServeCallParams"], [77, 1, 1, "", "ParamWithTypes"], [77, 1, 1, "", "PrometheusServeCallParams"], [77, 1, 1, "", "SubtensorMixin"]], "bittensor.core.types.AxonServeCallParams": [[77, 4, 1, "", "certificate"], [77, 4, 1, "", "coldkey"], [77, 2, 1, "", "copy"], [77, 2, 1, "", "dict"], [77, 4, 1, "", "hotkey"], [77, 4, 1, "", "ip"], [77, 4, 1, "", "ip_type"], [77, 4, 1, "", "netuid"], [77, 4, 1, "", "placeholder1"], [77, 4, 1, "", "placeholder2"], [77, 4, 1, "", "port"], [77, 4, 1, "", "protocol"], [77, 4, 1, "", "version"]], "bittensor.core.types.ParamWithTypes": [[77, 4, 1, "", "name"], [77, 4, 1, "", "type"]], "bittensor.core.types.PrometheusServeCallParams": [[77, 4, 1, "", "ip"], [77, 4, 1, "", "ip_type"], [77, 4, 1, "", "netuid"], [77, 4, 1, "", "port"], [77, 4, 1, "", "version"]], "bittensor.core.types.SubtensorMixin": [[77, 2, 1, "", "add_args"], [77, 4, 1, "", "chain_endpoint"], [77, 2, 1, "", "config"], [77, 2, 1, "", "help"], [77, 4, 1, "", "log_verbose"], [77, 4, 1, "", "network"], [77, 2, 1, "", "setup_config"]], "bittensor.utils": [[89, 6, 1, "", "BT_DOCS_LINK"], [89, 1, 1, "", "Certificate"], [89, 6, 1, "", "RAOPERTAO"], [89, 6, 1, "", "U16_MAX"], [89, 6, 1, "", "U64_MAX"], [89, 1, 1, "", "UnlockStatus"], [89, 6, 1, "", "VersionCheckError"], [79, 0, 0, "-", "axon_utils"], [80, 0, 0, "-", "balance"], [85, 0, 0, "-", "btlogging"], [89, 6, 1, "", "check_version"], [89, 5, 1, "", "decode_hex_identity_dict"], [89, 5, 1, "", "deprecated_message"], [89, 5, 1, "", "determine_chain_endpoint_and_network"], [87, 0, 0, "-", "easy_imports"], [89, 5, 1, "", "float_to_u64"], [89, 5, 1, "", "format_error_message"], [88, 0, 0, "-", "formatting"], [89, 5, 1, "", "get_explorer_url_for_network"], [89, 5, 1, "", "get_hash"], [89, 5, 1, "", "get_transfer_fn_params"], [89, 6, 1, "", "hex_to_bytes"], [89, 5, 1, "", "is_valid_bittensor_address_or_public_key"], [89, 5, 1, "", "is_valid_ss58_address"], [90, 0, 0, "-", "liquidity"], [89, 6, 1, "", "logging"], [91, 0, 0, "-", "networking"], [93, 0, 0, "-", "registration"], [89, 5, 1, "", "ss58_address_to_bytes"], [89, 6, 1, "", "ss58_decode"], [89, 5, 1, "", "ss58_to_vec_u8"], [89, 5, 1, "", "strtobool"], [96, 0, 0, "-", "subnets"], [98, 0, 0, "-", "substrate_utils"], [89, 6, 1, "", "torch"], [89, 5, 1, "", "u16_normalized_float"], [89, 5, 1, "", "u64_normalized_float"], [89, 5, 1, "", "unlock_key"], [89, 6, 1, "", "use_torch"], [89, 5, 1, "", "validate_chain_endpoint"], [100, 0, 0, "-", "version"], [89, 6, 1, "", "version_checking"], [101, 0, 0, "-", "weight_utils"]], "bittensor.utils.UnlockStatus": [[89, 4, 1, "", "message"], [89, 4, 1, "", "success"]], "bittensor.utils.axon_utils": [[79, 6, 1, "", "ALLOWED_DELTA"], [79, 6, 1, "", "NANOSECONDS_IN_SECOND"], [79, 5, 1, "", "allowed_nonce_window_ns"], [79, 5, 1, "", "calculate_diff_seconds"]], "bittensor.utils.balance": [[80, 1, 1, "", "Balance"], [80, 1, 1, "", "FixedPoint"], [80, 5, 1, "", "check_and_convert_to_balance"], [80, 5, 1, "", "fixed_to_float"], [80, 5, 1, "", "rao"], [80, 5, 1, "", "tao"]], "bittensor.utils.balance.Balance": [[80, 2, 1, "", "from_float"], [80, 2, 1, "", "from_rao"], [80, 2, 1, "", "from_tao"], [80, 2, 1, "", "get_unit"], [80, 4, 1, "", "netuid"], [80, 4, 1, "", "rao"], [80, 4, 1, "", "rao_unit"], [80, 2, 1, "", "set_unit"], [80, 3, 1, "", "tao"], [80, 4, 1, "", "unit"]], "bittensor.utils.balance.FixedPoint": [[80, 4, 1, "", "bits"]], "bittensor.utils.btlogging": [[81, 0, 0, "-", "console"], [82, 0, 0, "-", "defines"], [83, 0, 0, "-", "format"], [84, 0, 0, "-", "helpers"], [85, 6, 1, "", "logging"], [86, 0, 0, "-", "loggingmachine"]], "bittensor.utils.btlogging.console": [[81, 1, 1, "", "BittensorConsole"]], "bittensor.utils.btlogging.console.BittensorConsole": [[81, 2, 1, "", "critical"], [81, 2, 1, "", "debug"], [81, 2, 1, "", "error"], [81, 2, 1, "", "info"], [81, 4, 1, "", "logger"], [81, 2, 1, "", "success"], [81, 2, 1, "", "warning"]], "bittensor.utils.btlogging.defines": [[82, 6, 1, "", "BASE_LOG_FORMAT"], [82, 6, 1, "", "BITTENSOR_LOGGER_NAME"], [82, 6, 1, "", "DATE_FORMAT"], [82, 6, 1, "", "DEFAULT_LOG_BACKUP_COUNT"], [82, 6, 1, "", "DEFAULT_LOG_FILE_NAME"], [82, 6, 1, "", "DEFAULT_MAX_ROTATING_LOG_FILE_SIZE"], [82, 6, 1, "", "TRACE_LOG_FORMAT"]], "bittensor.utils.btlogging.format": [[83, 1, 1, "", "BtFileFormatter"], [83, 1, 1, "", "BtStreamFormatter"], [83, 6, 1, "", "DEFAULT_LOG_FORMAT"], [83, 6, 1, "", "DEFAULT_TRACE_FORMAT"], [83, 6, 1, "", "LOG_FORMATS"], [83, 6, 1, "", "LOG_TRACE_FORMATS"], [83, 6, 1, "", "SUCCESS_LEVEL_NUM"], [83, 6, 1, "", "TRACE_LEVEL_NUM"], [83, 6, 1, "", "color_map"], [83, 6, 1, "", "emoji_map"], [83, 6, 1, "", "log_level_color_prefix"]], "bittensor.utils.btlogging.format.BtFileFormatter": [[83, 2, 1, "", "format"], [83, 2, 1, "", "formatTime"]], "bittensor.utils.btlogging.format.BtStreamFormatter": [[83, 2, 1, "", "format"], [83, 2, 1, "", "formatTime"], [83, 2, 1, "", "set_trace"], [83, 4, 1, "", "trace"]], "bittensor.utils.btlogging.helpers": [[84, 5, 1, "", "all_logger_names"], [84, 5, 1, "", "all_loggers"], [84, 5, 1, "", "get_max_logger_name_length"]], "bittensor.utils.btlogging.loggingmachine": [[86, 6, 1, "", "CUSTOM_LOGGER_METHOD_STACK_LEVEL"], [86, 1, 1, "", "LoggingConfig"], [86, 1, 1, "", "LoggingMachine"]], "bittensor.utils.btlogging.loggingmachine.LoggingConfig": [[86, 4, 1, "", "debug"], [86, 4, 1, "", "info"], [86, 4, 1, "", "logging_dir"], [86, 4, 1, "", "record_log"], [86, 4, 1, "", "trace"]], "bittensor.utils.btlogging.loggingmachine.LoggingMachine": [[86, 4, 1, "", "Debug"], [86, 4, 1, "", "Default"], [86, 4, 1, "", "Disabled"], [86, 4, 1, "", "Info"], [86, 4, 1, "", "Trace"], [86, 4, 1, "", "Warning"], [86, 2, 1, "", "add_args"], [86, 2, 1, "", "after_disable_debug"], [86, 2, 1, "", "after_disable_trace"], [86, 2, 1, "", "after_enable_debug"], [86, 2, 1, "", "after_enable_default"], [86, 2, 1, "", "after_enable_info"], [86, 2, 1, "", "after_enable_trace"], [86, 2, 1, "", "after_enable_warning"], [86, 2, 1, "", "after_transition"], [86, 2, 1, "", "before_disable_debug"], [86, 2, 1, "", "before_disable_logging"], [86, 2, 1, "", "before_disable_trace"], [86, 2, 1, "", "before_enable_console"], [86, 2, 1, "", "before_enable_debug"], [86, 2, 1, "", "before_enable_default"], [86, 2, 1, "", "before_enable_info"], [86, 2, 1, "", "before_enable_trace"], [86, 2, 1, "", "before_enable_warning"], [86, 2, 1, "", "before_transition"], [86, 2, 1, "", "check_config"], [86, 2, 1, "", "config"], [86, 4, 1, "", "console"], [86, 2, 1, "", "critical"], [86, 2, 1, "", "debug"], [86, 2, 1, "", "deregister_primary_logger"], [86, 4, 1, "", "disable_debug"], [86, 4, 1, "", "disable_info"], [86, 4, 1, "", "disable_logging"], [86, 2, 1, "", "disable_third_party_loggers"], [86, 4, 1, "", "disable_trace"], [86, 4, 1, "", "disable_warning"], [86, 4, 1, "", "enable_console"], [86, 4, 1, "", "enable_debug"], [86, 4, 1, "", "enable_default"], [86, 4, 1, "", "enable_info"], [86, 2, 1, "", "enable_third_party_loggers"], [86, 4, 1, "", "enable_trace"], [86, 4, 1, "", "enable_warning"], [86, 2, 1, "", "error"], [86, 2, 1, "", "exception"], [86, 2, 1, "", "get_config"], [86, 2, 1, "", "get_level"], [86, 2, 1, "", "get_queue"], [86, 2, 1, "", "help"], [86, 2, 1, "", "info"], [86, 2, 1, "", "off"], [86, 2, 1, "", "on"], [86, 2, 1, "", "register_primary_logger"], [86, 2, 1, "", "setLevel"], [86, 2, 1, "", "set_config"], [86, 2, 1, "", "set_console"], [86, 2, 1, "", "set_debug"], [86, 2, 1, "", "set_default"], [86, 2, 1, "", "set_info"], [86, 2, 1, "", "set_trace"], [86, 2, 1, "", "set_warning"], [86, 2, 1, "", "success"], [86, 2, 1, "", "trace"], [86, 2, 1, "", "warning"]], "bittensor.utils.easy_imports": [[87, 6, 1, "", "async_subtensor"], [87, 6, 1, "", "axon"], [87, 6, 1, "", "config"], [87, 5, 1, "", "debug"], [87, 6, 1, "", "dendrite"], [87, 6, 1, "", "extrinsics_subpackage"], [87, 5, 1, "", "info"], [87, 6, 1, "", "keyfile"], [87, 6, 1, "", "metagraph"], [87, 6, 1, "", "mock_subpackage"], [87, 6, 1, "", "subtensor"], [87, 6, 1, "", "synapse"], [87, 5, 1, "", "trace"], [87, 6, 1, "", "wallet"], [87, 5, 1, "", "warning"]], "bittensor.utils.formatting": [[88, 5, 1, "", "get_human_readable"], [88, 5, 1, "", "millify"]], "bittensor.utils.liquidity": [[90, 1, 1, "", "LiquidityPosition"], [90, 6, 1, "", "MAX_TICK"], [90, 6, 1, "", "MIN_TICK"], [90, 6, 1, "", "PRICE_STEP"], [90, 5, 1, "", "calculate_fees"], [90, 5, 1, "", "get_fees"], [90, 5, 1, "", "get_fees_in_range"], [90, 5, 1, "", "price_to_tick"], [90, 5, 1, "", "tick_to_price"]], "bittensor.utils.liquidity.LiquidityPosition": [[90, 4, 1, "", "fees_alpha"], [90, 4, 1, "", "fees_tao"], [90, 4, 1, "", "id"], [90, 4, 1, "", "liquidity"], [90, 4, 1, "", "netuid"], [90, 4, 1, "", "price_high"], [90, 4, 1, "", "price_low"], [90, 2, 1, "", "to_token_amounts"]], "bittensor.utils.networking": [[91, 7, 1, "", "ExternalIPNotFound"], [91, 5, 1, "", "get_external_ip"], [91, 5, 1, "", "get_formatted_ws_endpoint_url"], [91, 5, 1, "", "int_to_ip"], [91, 5, 1, "", "ip__str__"], [91, 5, 1, "", "ip_to_int"], [91, 5, 1, "", "ip_version"]], "bittensor.utils.registration": [[92, 0, 0, "-", "async_pow"], [94, 0, 0, "-", "pow"], [95, 0, 0, "-", "register_cuda"]], "bittensor.utils.registration.async_pow": [[92, 5, 1, "", "create_pow_async"]], "bittensor.utils.registration.pow": [[94, 1, 1, "", "CUDASolver"], [94, 1, 1, "", "Console"], [94, 1, 1, "", "LazyLoadedTorch"], [94, 1, 1, "", "POWSolution"], [94, 1, 1, "", "RegistrationStatistics"], [94, 1, 1, "", "RegistrationStatisticsLogger"], [94, 1, 1, "", "Solver"], [94, 1, 1, "", "Status"], [94, 1, 1, "", "UsingSpawnStartMethod"], [94, 5, 1, "", "create_pow"], [94, 5, 1, "", "get_cpu_count"], [94, 5, 1, "", "legacy_torch_api_compat"], [94, 5, 1, "", "log_no_torch_error"], [94, 5, 1, "", "terminate_workers_and_wait_for_exit"], [94, 6, 1, "", "torch"], [94, 5, 1, "", "update_curr_block"], [94, 5, 1, "", "use_torch"]], "bittensor.utils.registration.pow.CUDASolver": [[94, 4, 1, "", "dev_id"], [94, 2, 1, "", "run"], [94, 4, 1, "", "tpb"]], "bittensor.utils.registration.pow.Console": [[94, 2, 1, "", "log"], [94, 2, 1, "", "status"]], "bittensor.utils.registration.pow.POWSolution": [[94, 4, 1, "", "block_number"], [94, 4, 1, "", "difficulty"], [94, 2, 1, "", "is_stale"], [94, 2, 1, "", "is_stale_async"], [94, 4, 1, "", "nonce"], [94, 4, 1, "", "seal"]], "bittensor.utils.registration.pow.RegistrationStatistics": [[94, 4, 1, "", "block_hash"], [94, 4, 1, "", "block_number"], [94, 4, 1, "", "difficulty"], [94, 4, 1, "", "hash_rate"], [94, 4, 1, "", "hash_rate_perpetual"], [94, 4, 1, "", "rounds_total"], [94, 4, 1, "", "time_average"], [94, 4, 1, "", "time_spent"], [94, 4, 1, "", "time_spent_total"]], "bittensor.utils.registration.pow.RegistrationStatisticsLogger": [[94, 4, 1, "", "console"], [94, 2, 1, "", "get_status_message"], [94, 2, 1, "", "start"], [94, 4, 1, "", "status"], [94, 2, 1, "", "stop"], [94, 2, 1, "", "update"]], "bittensor.utils.registration.pow.Solver": [[94, 2, 1, "", "run"]], "bittensor.utils.registration.pow.Status": [[94, 2, 1, "", "start"], [94, 2, 1, "", "stop"], [94, 2, 1, "", "update"]], "bittensor.utils.registration.register_cuda": [[95, 5, 1, "", "log_cuda_errors"], [95, 5, 1, "", "reset_cuda"], [95, 5, 1, "", "solve_cuda"]], "bittensor.utils.subnets": [[96, 1, 1, "", "SubnetsAPI"]], "bittensor.utils.subnets.SubnetsAPI": [[96, 4, 1, "", "dendrite"], [96, 2, 1, "", "prepare_synapse"], [96, 2, 1, "", "process_responses"], [96, 2, 1, "", "query_api"], [96, 4, 1, "", "wallet"]], "bittensor.utils.substrate_utils": [[97, 0, 0, "-", "hasher"], [99, 0, 0, "-", "storage"]], "bittensor.utils.substrate_utils.hasher": [[97, 5, 1, "", "blake2_128"], [97, 5, 1, "", "blake2_128_concat"], [97, 5, 1, "", "blake2_256"], [97, 5, 1, "", "identity"], [97, 5, 1, "", "two_x64_concat"], [97, 5, 1, "", "xxh128"], [97, 5, 1, "", "xxh64"]], "bittensor.utils.substrate_utils.storage": [[99, 1, 1, "", "StorageKey"]], "bittensor.utils.substrate_utils.storage.StorageKey": [[99, 2, 1, "", "convert_storage_parameter"], [99, 2, 1, "", "create_from_data"], [99, 2, 1, "", "create_from_storage_function"], [99, 4, 1, "", "data"], [99, 2, 1, "", "decode_scale_value"], [99, 2, 1, "", "generate"], [99, 4, 1, "", "metadata"], [99, 4, 1, "", "metadata_storage_function"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "params"], [99, 4, 1, "", "params_encoded"], [99, 4, 1, "", "runtime_config"], [99, 4, 1, "", "storage_function"], [99, 2, 1, "", "to_hex"], [99, 4, 1, "", "value_scale_type"]], "bittensor.utils.version": [[100, 6, 1, "", "VERSION_CHECK_THRESHOLD"], [100, 7, 1, "", "VersionCheckError"], [100, 5, 1, "", "check_latest_version_in_pypi"], [100, 5, 1, "", "check_version"], [100, 5, 1, "", "get_and_save_latest_version"], [100, 5, 1, "", "version_checking"]], "bittensor.utils.weight_utils": [[101, 6, 1, "", "U16_MAX"], [101, 6, 1, "", "U32_MAX"], [101, 5, 1, "", "convert_and_normalize_weights_and_uids"], [101, 5, 1, "", "convert_bond_uids_and_vals_to_tensor"], [101, 5, 1, "", "convert_root_weight_uids_and_vals_to_tensor"], [101, 5, 1, "", "convert_uids_and_weights"], [101, 5, 1, "", "convert_weight_uids_and_vals_to_tensor"], [101, 5, 1, "", "convert_weights_and_uids_for_emit"], [101, 5, 1, "", "generate_weight_hash"], [101, 5, 1, "", "normalize_max_weight"], [101, 5, 1, "", "process_weights"], [101, 5, 1, "", "process_weights_for_netuid"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"], "7": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:function", "6": "py:data", "7": "py:exception"}, "terms": {"": [0, 1, 4, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 73, 74, 77, 80, 82, 83, 84, 89, 92, 94, 96, 99, 101], "0": [0, 1, 2, 10, 24, 27, 30, 31, 32, 33, 34, 38, 39, 41, 45, 46, 47, 48, 49, 50, 54, 58, 60, 65, 73, 76, 79, 80, 87, 89, 91, 92, 94, 95, 101], "0001": 90, "005": [0, 30, 34, 38, 45, 50, 54, 60], "0x0813029319030129u4120u10841824y0182u091u230912u": 73, "0x1234": 0, "1": [0, 1, 10, 21, 57, 60, 73, 74, 75, 76, 77, 86, 89, 90, 95, 101, 102], "10": [0, 10, 21, 24, 73, 76, 80, 82], "100": [0, 60], "1000": [4, 5], "1000000": 0, "1000000000": [79, 89], "1024": 1, "11": [10, 21], "111": 73, "111111": 73, "113": 1, "11ee": 73, "12": [0, 10, 21, 24, 27, 41, 58, 60, 76, 96], "120": [0, 60], "1200": 57, "122": [33, 48], "123": [0, 57, 60, 73, 76], "1234": [0, 60], "12345": 57, "127": 73, "128": [33, 48, 80], "13": [10, 21], "137": 83, "14": [0, 10, 21, 60], "147": [0, 60], "15": [10, 21, 73, 76, 100], "152": [0, 60], "16": [0, 10, 21, 60, 97], "17": 10, "18": [10, 58], "18446744073709551615": 89, "19": 10, "192": [1, 33, 48], "198": 73, "1cec": 73, "1m": 0, "2": [0, 1, 10, 21, 57, 60, 73, 74, 77, 83, 86, 97], "20": 10, "200": 73, "203": 1, "21": [10, 83], "22": 10, "23": [10, 73], "24": 10, "25": [10, 76], "256": [0, 31, 46, 60, 73, 92, 94], "26": 10, "26214400": 82, "27": 10, "28": 10, "29": 10, "3": [0, 10, 21, 31, 46, 60, 73, 76, 77, 83, 86, 87, 91, 94], "30": [10, 73], "300": [57, 89], "31": [10, 33, 48], "32": [10, 92, 94, 97], "33": 10, "3339": 83, "34": [10, 83], "35": 10, "36": 10, "360": [0, 60], "37": 10, "38": [10, 91], "39": 10, "3rd": 86, "4": [2, 10, 21, 33, 48, 73, 77, 91], "40": 10, "400": 1, "4000000000": 79, "401": 73, "4028237e": 91, "403": 73, "408": 73, "41": 10, "42": [10, 58], "422": 24, "4294967295": 101, "43": 10, "44": 10, "443": 58, "45": 10, "46": 10, "47": 10, "48": [10, 58], "49": 10, "5": [0, 10, 21, 25, 30, 34, 38, 45, 50, 54, 60, 65, 76, 77, 83], "50": 10, "51": 10, "52": 10, "53": 10, "54": 10, "55": 10, "56": 10, "57": 10, "58": 10, "59": 10, "5ecbd69c": 73, "5enjdgnqqwnul2hcadxeetn2oqtxzw6bmbe936kfy2pfz1j1": 73, "5f": 0, "5fhnew46xgxgs5muiveu4sbtygbzmstuspzc92uhjjm694ti": [0, 60], "5g": 0, "5grwvaef5zxb26fz9rcqpdws57cterhpnehxcpcnohgkutqi": [0, 60], "5h": 0, "6": [10, 21, 57, 91], "60": 10, "61": 10, "62": 10, "63": 10, "64": [10, 80, 95], "65": 10, "65535": [1, 89, 101], "66": 10, "67": 10, "68": 10, "69": 10, "7": [10, 21, 87], "70": 10, "7002000": 1, "7070": 1, "71": 10, "72": 10, "8": [0, 10, 21, 39, 49, 60, 73, 89], "8080": 73, "86400": 100, "887272": 90, "9": [10, 21, 80], "9090": 1, "9221": [33, 48], "9282": 73, "9944": 58, "9945": 65, "A": [0, 1, 2, 11, 12, 17, 21, 22, 23, 24, 25, 26, 27, 31, 33, 38, 40, 41, 46, 48, 54, 55, 57, 59, 60, 73, 75, 76, 77, 79, 80, 83, 86, 89, 94, 99], "AS": 57, "And": [0, 60], "Being": [0, 60], "But": 24, "By": [0, 1, 38, 54, 60, 73], "For": [0, 24, 38, 54, 57, 60, 73, 74, 76, 77], "If": [0, 1, 2, 6, 21, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 60, 65, 71, 73, 74, 75, 76, 77, 79, 80, 83, 87, 89, 92, 94, 101], "In": [0, 24, 57, 60, 73, 91], "It": [0, 1, 24, 33, 48, 57, 59, 60, 73, 75, 76, 77, 80, 84, 85, 86, 94], "Not": 73, "Of": 91, "Or": [0, 89], "The": [0, 1, 2, 9, 11, 12, 13, 15, 16, 17, 21, 22, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 65, 73, 74, 75, 76, 77, 79, 80, 83, 84, 87, 89, 90, 91, 92, 94, 95, 96, 100, 101], "Then": 60, "There": [0, 26, 40], "These": [0, 1, 32, 39, 47, 49, 57, 60, 73, 101], "To": [0, 60, 86], "Will": [0, 60, 65], "With": [0, 60], "_": 0, "__repr__": 24, "__setattr__": 73, "__str__": [24, 89], "_base": 75, "_do_reveal_weight": [39, 42], "_mock": [0, 60, 77], "_primary_logg": 86, "_solverbas": 94, "abc": [57, 59, 77, 96], "abil": [1, 57, 81], "abl": 24, "about": [0, 1, 2, 15, 57, 60, 73], "abov": [24, 37, 53, 83, 90], "absolut": 24, "abstract": [24, 57, 59, 96, 99], "abstractmethod": 23, "abus": 1, "accept": [1, 75, 86], "access": [0, 1, 24, 57, 60, 65, 73, 101], "accord": [1, 33, 48, 59, 73], "account": [0, 21, 25, 32, 34, 37, 39, 47, 49, 50, 53, 60, 89, 101], "account_id_byt": 21, "accountid": [15, 21, 22], "accru": 57, "accrual": [0, 60], "accumul": [57, 59], "accur": [23, 25, 57, 73, 74, 75, 77, 80, 89, 91, 100], "achiev": 57, "aclose_sess": 24, "across": [0, 55, 57, 60, 73, 94], "act": [0, 1, 24, 57, 60], "action": [0, 60, 86], "activ": [0, 1, 10, 11, 12, 17, 20, 24, 34, 50, 57, 60, 84, 96], "activity_cutoff": [10, 17], "activitycutoff": 10, "actual": [0, 1, 33, 48, 60], "ad": [0, 1, 29, 44, 60, 65, 71, 77, 83, 86], "adapt": [1, 57], "add": [0, 1, 29, 34, 44, 50, 60, 73, 77, 83, 86, 101], "add_arg": [1, 23, 65, 75, 77, 86], "add_legacy_method": 71, "add_liquid": [0, 60, 64], "add_liquidity_extrins": [29, 44], "add_stak": [0, 60, 64, 69], "add_stake_extrins": [34, 50], "add_stake_multipl": [0, 60, 64, 69], "add_stake_multiple_extrins": [34, 50], "addit": [0, 3, 4, 18, 26, 31, 40, 46, 57, 59, 60, 73, 101], "addition": [1, 73], "additional_data": 73, "address": [0, 1, 2, 4, 9, 13, 16, 21, 22, 24, 26, 30, 34, 36, 37, 38, 40, 45, 50, 52, 53, 54, 55, 57, 60, 73, 87, 89, 101], "adher": 24, "adjust": [0, 17, 60], "adjustment_alpha": [10, 17], "adjustment_interv": [10, 17], "adjustmentalpha": 10, "adjustmentinterv": 10, "advanc": [0, 60], "adversari": 1, "advis": [1, 24, 57], "after": [0, 1, 15, 17, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 65, 73, 75, 76, 86, 89, 94, 101], "after_disable_debug": 86, "after_disable_trac": 86, "after_enable_debug": 86, "after_enable_default": 86, "after_enable_info": 86, "after_enable_trac": 86, "after_enable_warn": 86, "after_transit": 86, "ag": 76, "against": [0, 1, 30, 45, 60], "agre": 57, "agreement": 57, "ai": [57, 58], "aid": [0, 60, 73], "aiohttp": [24, 59], "akin": 57, "algorithm": [0, 1, 33, 48, 57, 60], "alic": [0, 60], "align": [0, 57, 60], "aliv": [0, 37, 53, 60], "all": [0, 1, 24, 25, 34, 37, 38, 50, 53, 54, 55, 57, 60, 65, 71, 75, 84, 86, 89, 91, 94, 99], "all_hotkei": [0, 60], "all_indic": 10, "all_logg": 84, "all_logger_nam": 84, "all_netuid": [0, 60], "all_stak": 55, "all_subnet": [0, 60, 70], "alloc": [0, 57, 60], "allow": [0, 1, 4, 5, 17, 26, 29, 30, 34, 38, 40, 44, 45, 50, 54, 57, 59, 60, 73, 74, 79, 83, 87, 101], "allow_partial_stak": [0, 30, 34, 38, 45, 50, 54, 60], "allowed_delta": 79, "allowed_nonce_window_n": 79, "along": [31, 46, 76], "alpha": [0, 6, 17, 29, 38, 44, 54, 57, 60, 80, 90], "alpha_dividends_per_hotkei": [10, 57], "alpha_fees_above_high": 90, "alpha_fees_below_low": 90, "alpha_high": [10, 17], "alpha_in": [6, 10], "alpha_in_emiss": [6, 10], "alpha_low": [10, 17], "alpha_out": [6, 10], "alpha_out_emiss": [6, 10], "alpha_sigmoid_steep": 17, "alpha_slippag": 6, "alpha_stak": [10, 20, 57], "alpha_to_tao": 6, "alpha_to_tao_with_slippag": 6, "alphadividendsperhotkei": 10, "alphahigh": 10, "alphain": 10, "alphainemiss": 10, "alphalow": 10, "alphaout": 10, "alphaoutemiss": 10, "alphastak": 10, "alreadi": [1, 92, 94, 101], "also": [0, 1, 24, 59, 60, 73, 79, 80, 86], "alter": 1, "alwai": [34, 50, 60], "among": [0, 57, 60], "amount": [0, 4, 6, 11, 12, 29, 30, 34, 37, 38, 44, 45, 50, 53, 54, 55, 57, 60, 65, 76, 80, 89, 90], "an": [0, 1, 2, 6, 11, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 74, 75, 77, 80, 83, 84, 86, 89, 90, 91], "analogi": 24, "analys": 57, "analysi": [0, 57, 60, 73], "analyz": [0, 57, 60], "ani": [0, 1, 2, 8, 9, 23, 24, 25, 31, 34, 46, 50, 57, 59, 60, 62, 73, 74, 76, 89, 90, 94, 95, 96, 99], "announc": [33, 48], "anoth": [0, 23, 30, 45, 57, 60], "any_list": 8, "anyth": 89, "api": [0, 1, 60, 65, 94, 96, 103], "app": 1, "appear": 76, "appli": [1, 10, 73, 83, 101], "applic": [0, 1, 24, 57, 59, 60, 65, 73, 84], "approach": 60, "appropri": [0, 1, 24, 57, 59, 77], "approv": 0, "aqueri": 24, "ar": [0, 1, 17, 23, 24, 25, 26, 39, 40, 42, 55, 57, 60, 65, 73, 74, 75, 76, 77, 84, 89, 99, 101], "arbitr": 15, "arbitrari": [0, 24, 60], "arbitration_block": 15, "architectur": [0, 1, 57, 60], "archiv": [0, 57, 58, 60, 65, 77, 89], "archive_endpoint": [0, 60, 65], "archive_entrypoint": 58, "arg": [23, 24, 74, 75, 83, 86, 89, 96], "argpars": [1, 23, 75, 77, 86], "argument": [0, 1, 23, 57, 59, 71, 73, 74, 75, 77, 83, 86, 89, 96], "argumentpars": [1, 23, 75, 77, 86], "aris": 1, "arithmet": 80, "around": [39, 42], "arrai": [0, 57, 60, 74, 94, 101], "asctim": [82, 83], "asgi": 59, "aspect": [0, 1, 57, 60, 73], "assert": [1, 76], "assertionerror": 1, "assess": [0, 1, 57, 60], "asset": 57, "assign": [0, 1, 31, 46, 57, 60, 73], "assist": [0, 60], "associ": [0, 1, 2, 6, 9, 11, 12, 13, 16, 20, 24, 25, 27, 30, 33, 38, 39, 41, 42, 45, 48, 54, 55, 57, 60, 73, 75, 86, 101], "assum": [1, 57, 80], "assur": 1, "asymmetr": 1, "async": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 57, 59, 65, 92, 94, 96], "async_metagraph": 57, "async_pow": [93, 102], "async_substrate_interfac": [0, 21, 60], "async_subtensor": [23, 26, 27, 29, 31, 32, 33, 34, 37, 38, 39, 49, 56, 57, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 87, 92, 94, 102], "asyncex": [43, 102], "asyncgener": 24, "asynchron": [0, 1, 24, 31, 59, 94], "asyncio": [0, 24], "asyncmetagraph": 57, "asyncquerymapresult": 0, "asyncsubtensor": [0, 26, 27, 29, 30, 31, 32, 33, 34, 37, 38, 39, 49, 57, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 92, 94], "attach": [1, 73], "attack": 1, "attain": 91, "attempt": [0, 25, 26, 31, 40, 46, 57, 60, 73, 89, 91], "attribut": [0, 4, 11, 60, 73], "authent": [1, 33, 48, 57, 73], "author": [0, 30, 57, 60], "auto": 102, "autoapi": 102, "automat": [0, 24, 57, 60, 73], "avail": [0, 1, 60, 65], "averag": [17, 94], "aw": 91, "await": [0, 24, 59, 60, 65], "axon": [0, 2, 10, 11, 12, 23, 24, 25, 33, 48, 56, 57, 60, 73, 87, 96, 102], "axon_hotkei": 73, "axon_info": [7, 10, 11, 12, 24, 102], "axon_util": [89, 102], "axoninfo": [1, 2, 10, 11, 12, 21, 24, 57], "axonmiddlewar": 1, "axonserv": 1, "axonservecallparam": [33, 48, 77], "ay": 14, "b": 57, "b0dc": 73, "b64decod": 73, "back": [0, 1, 24, 29, 44, 59, 60, 73, 76, 99], "backbon": 57, "background": 1, "backward": [1, 80, 100], "balanc": [0, 4, 5, 6, 10, 11, 12, 16, 19, 20, 21, 29, 30, 34, 37, 38, 44, 45, 50, 53, 54, 55, 60, 65, 89, 90, 102], "bandwidth": 73, "base": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 57, 59, 60, 73, 74, 75, 76, 77, 80, 83, 86, 89, 91, 94, 96, 99, 100, 101], "base64": [21, 73], "base_log_format": 82, "baseclass": 57, "basehttpmiddlewar": 1, "basemodel": [24, 59, 73, 74], "basic": [11, 57, 73], "batch": [0, 60], "becaus": 73, "becom": [0, 60], "been": [0, 1, 24, 59, 73, 75], "befor": [0, 1, 15, 24, 31, 32, 33, 34, 36, 37, 38, 39, 45, 46, 47, 48, 49, 50, 52, 53, 54, 60, 86, 92, 94, 95], "before_disable_debug": 86, "before_disable_log": 86, "before_disable_trac": 86, "before_enable_consol": 86, "before_enable_debug": 86, "before_enable_default": 86, "before_enable_info": 86, "before_enable_trac": 86, "before_enable_warn": 86, "before_transit": 86, "begin": [0, 1, 60], "behavior": [0, 1, 57, 60, 73], "being": [0, 1, 5, 21, 29, 33, 35, 39, 42, 44, 48, 51, 59, 60, 86, 94], "belief": 57, "belong": [0, 34, 50, 60], "below": [0, 60], "benefici": 57, "benefit": [24, 57], "bespok": 96, "between": [0, 1, 6, 31, 45, 46, 57, 60, 73, 79, 80, 86, 90, 101], "beyond": 57, "bind": 1, "bit": 80, "bittensor": 102, "bittensor_logger_nam": [82, 86], "bittensor_wallet": [0, 1, 24, 26, 27, 29, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 50, 53, 54, 55, 60, 89, 92, 94, 96], "bittensorconsol": 81, "blacklist": [1, 25, 73], "blacklist_custom": 1, "blacklist_fn": 1, "blacklist_my_synaps": 1, "blacklist_my_synapse_2": 1, "blacklistedexcept": 25, "blake256": [33, 48], "blake2_128": 97, "blake2_128_concat": 97, "blake2_256": 97, "blake2b": 97, "block": [0, 1, 10, 13, 15, 17, 21, 22, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 76, 89, 92, 94, 95], "block_and_hotkey_hash_byt": 95, "block_at_registr": [10, 20, 57], "block_byt": 94, "block_hash": [0, 33, 60, 89, 94], "block_numb": [0, 94], "block_tim": [0, 27, 41, 60, 76], "blockatregistr": 10, "blockchain": [0, 26, 29, 30, 31, 33, 35, 36, 38, 39, 40, 42, 44, 46, 48, 51, 52, 54, 57, 60, 101], "blocknotfound": 25, "blocks_since_epoch": 19, "blocks_since_last_step": [0, 6, 10, 57, 60, 70], "blocks_since_last_upd": [0, 60, 70], "blocks_since_upd": 0, "blocks_until_rev": [0, 60], "blockssincelaststep": 10, "blocktim": 58, "bob": [0, 60], "bodi": [0, 1, 24, 59, 60, 73], "body_hash": 73, "bond": [0, 11, 12, 17, 33, 48, 57, 60, 65, 70, 101], "bonds_as_dict": 11, "bonds_moving_avg": [10, 17], "bonds_reset_en": 17, "bondsmovingavg": 10, "bool": [0, 1, 2, 6, 10, 11, 12, 16, 17, 20, 21, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 74, 76, 77, 83, 86, 87, 89, 90, 92, 94, 96], "boolean": [0, 1, 26, 27, 29, 40, 41, 44, 57, 60, 89], "both": [0, 1, 60, 86, 101], "bound": [0, 29, 44, 60], "brain": 24, "bridg": 24, "broadcast": 1, "broader": 1, "broken": 25, "brokenexecutor": 75, "brokenthreadpool": 75, "bt": [0, 1, 23, 60, 65, 76, 96], "bt_docs_link": 89, "bt_header_axon_address": 73, "bt_header_dendrite_port": 73, "btcli": 0, "btfileformatt": 83, "btlog": [89, 102], "btstreamformatt": 83, "btstreamingrespons": 59, "btstreamingresponsemodel": 59, "buffer": [24, 74, 89], "build": 24, "built": 99, "bulk": [0, 60], "burn": [0, 10, 17, 19, 60], "burned_regist": [0, 60, 64], "burned_register_extrins": [31, 46], "byte": [0, 12, 21, 33, 48, 60, 73, 76, 89, 94, 95, 97, 99, 101], "byte_data": 76, "bytes_or_buff": 89, "c": 57, "calcul": [0, 1, 17, 57, 60, 73, 79, 84, 90, 94, 97], "calculate_diff_second": 79, "calculate_fe": 90, "call": [0, 1, 17, 24, 29, 33, 35, 44, 48, 51, 59, 60, 73, 75, 77, 86, 89, 100], "call_def": 0, "call_definit": [0, 60], "call_next": 1, "call_param": [33, 48], "call_stream": 24, "callabl": [1, 59, 75], "caller": 1, "can": [0, 1, 9, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 75, 76, 94, 101], "cancel": 75, "cancel_futur": 75, "cannot": [0, 25, 29, 35, 44, 51, 59, 60, 73, 74, 91], "capabl": [1, 33, 48], "captur": 57, "carrier": 73, "case": [0, 1, 24, 60, 65, 99], "cast": 74, "cast_dtyp": 74, "cast_float": 73, "cast_int": 73, "cast_shap": 74, "categori": 73, "caught": [24, 89], "ceas": 1, "center": 83, "central": [1, 57], "certain": [0, 1, 60, 94], "certif": [0, 1, 33, 48, 60, 77, 89], "chain": [0, 1, 3, 16, 21, 25, 31, 32, 33, 34, 37, 38, 39, 46, 47, 48, 49, 50, 53, 54, 58, 60, 65, 77, 89, 101, 102], "chain_data": [0, 1, 24, 55, 56, 57, 60, 102], "chain_endpoint": [57, 65, 77, 89], "chain_ident": [0, 7, 10, 60, 102], "chainconnectionerror": 25, "chaindatatyp": 21, "chainerror": 25, "chainident": [0, 3, 10, 21, 57, 60], "chainqueryerror": 25, "chaintransactionerror": 25, "challeng": [0, 60, 92, 94], "chang": [0, 38, 45, 54, 60, 81, 83, 87], "characterist": [0, 60], "check": [0, 1, 23, 24, 30, 34, 38, 45, 50, 54, 60, 73, 80, 89, 91, 92, 94, 100], "check_and_convert_to_bal": 80, "check_block": 94, "check_config": [1, 86], "check_latest_version_in_pypi": 100, "check_vers": [89, 100], "child": [0, 25, 26, 40, 60], "child_hotkei": 0, "childkei": [0, 25, 60], "children": [0, 25, 28, 43, 60, 102], "choic": 89, "chr_transform": 10, "chunk": [24, 59], "claim": [0, 1, 36, 52, 60], "class": [25, 31, 46, 76], "classic": 71, "classmethod": [1, 2, 8, 9, 11, 14, 15, 16, 22, 23, 25, 65, 73, 75, 77, 86, 94, 99], "classvar": 73, "clean": [0, 75], "cleanup": 24, "clear": 59, "cli": [0, 60], "client": [1, 24, 29, 35, 44, 51, 59], "clientrespons": [24, 59], "clientsess": 24, "close": [0, 24, 60, 65], "close_sess": 24, "closur": 24, "code": [1, 24, 73], "cold": [15, 65], "coldkei": [0, 2, 4, 5, 10, 11, 12, 16, 20, 25, 26, 30, 34, 38, 40, 45, 50, 54, 55, 57, 60, 72, 77, 89], "coldkey_ss58": [0, 16, 60], "coldkeypub": [0, 1, 60], "collabor": [0, 57, 60], "collat": 24, "collect": [0, 23, 55, 57, 60], "color": 83, "color_map": 83, "com": [0, 89], "combin": [55, 90], "come": 1, "command": [1, 77], "commit": [0, 17, 21, 22, 25, 27, 33, 39, 41, 42, 48, 60, 65, 101, 102], "commit_block": [0, 22, 60], "commit_data": 22, "commit_hash": [39, 42], "commit_hex": 22, "commit_messag": [0, 60], "commit_rev": [28, 43, 102], "commit_reveal_en": [0, 60, 62, 70], "commit_reveal_period": [10, 17], "commit_reveal_v3_extrins": [27, 41], "commit_reveal_weights_en": [10, 17], "commit_weight": [0, 43, 60, 64, 102], "commit_weights_extrins": [39, 42], "commitrevealperiod": 10, "commitrevealweightsen": 10, "committ": [0, 22, 60], "committe": [0, 60], "common": [4, 24, 25, 34, 38, 50, 54], "commun": [0, 1, 57, 60, 73, 96], "compar": [1, 55], "comparison": [1, 80], "compat": [0, 39, 42, 60, 73, 80, 87, 100], "complet": [1, 24, 57, 75], "complex": [0, 1, 57, 60, 73], "compon": [0, 1, 57, 60], "composit": [0, 60], "comprehend": [0, 60], "comprehens": [0, 60], "compress": 73, "comput": [0, 33, 48, 57, 60, 73], "computed_body_hash": 73, "concaten": [73, 97], "concept": 57, "concern": 1, "concurr": [1, 24, 75], "condit": [0, 1, 60], "confid": 1, "config": [0, 1, 56, 57, 59, 60, 65, 73, 74, 75, 77, 86, 87, 102], "configdict": [59, 73, 74], "configur": [0, 1, 23, 57, 59, 60, 65, 73, 74, 77, 86], "confirm": 1, "conflict": 1, "conform": [59, 73, 74], "congest": [0, 60], "connect": [0, 1, 24, 25, 33, 34, 36, 48, 50, 52, 57, 60, 65, 73, 77], "connection_requir": 19, "connectionerror": 0, "consensu": [0, 10, 11, 12, 20, 57, 60], "conserv": [0, 60], "consist": [0, 57, 60, 73, 85], "consol": [0, 31, 46, 60, 85, 86, 92, 94, 102], "constant": [0, 17, 60, 82], "constant_nam": [0, 60], "constantli": 57, "constrain": 73, "constraint": 101, "construct": [23, 57, 73], "contact": [0, 31, 46, 60], "contain": [0, 1, 2, 4, 11, 21, 22, 24, 30, 31, 33, 38, 46, 48, 54, 55, 57, 59, 60, 73, 76, 77, 79, 89, 94, 101, 102], "context": [0, 1, 24, 57, 60, 73], "continu": [1, 57], "contribut": [0, 1, 57, 60], "control": [0, 1, 60, 73], "conveni": 73, "convers": [73, 90, 101], "convert": [1, 2, 21, 73, 76, 80, 88, 89, 90, 94, 101], "convert_and_normalize_weights_and_uid": 101, "convert_bond_uids_and_vals_to_tensor": 101, "convert_root_weight_uids_and_vals_to_tensor": 101, "convert_storage_paramet": 99, "convert_uids_and_weight": 101, "convert_weight_uids_and_vals_to_tensor": 101, "convert_weights_and_uids_for_emit": 101, "cool": [0, 60], "cooldown": [0, 26, 40, 60], "copi": [0, 57, 77], "copier": 0, "core": [78, 86, 92, 94, 96, 102], "cornerston": [1, 73], "correct": [1, 57, 73], "correctli": [1, 57], "correl": [0, 60], "correspond": [0, 1, 21, 24, 32, 39, 42, 47, 49, 55, 57, 60, 95, 101], "corrupt": 89, "cortex": 76, "cost": [0, 60], "count": 5, "counterpart": 24, "cover": [0, 24, 57, 60], "cpu": [92, 94], "creat": [0, 1, 2, 9, 11, 22, 24, 33, 48, 57, 59, 60, 73, 74, 77, 80, 89, 92, 94, 99, 102], "create_error_respons": 1, "create_from_data": 99, "create_from_storage_funct": 99, "create_pow": 94, "create_pow_async": 92, "create_streaming_respons": 59, "creation": [1, 73], "credit": [0, 29, 44, 60], "criteria": 1, "critic": [0, 1, 57, 60, 73, 81, 86], "crucial": [0, 1, 24, 33, 48, 57, 60, 73], "crv3": [0, 60], "crv3weightcommitsv2": 22, "cryptocurr": 57, "cryptograph": [0, 1, 57, 60], "cuda": [0, 31, 46, 60, 92, 94, 95], "cudasolv": 94, "cumul": 57, "curl": 91, "curr_block": 94, "curr_block_num": 94, "curr_diff": 94, "currenc": 80, "current": [0, 1, 6, 57, 60, 65, 73, 79, 90, 94, 99, 100], "current_block": [0, 57], "current_subnet_pric": 90, "current_tick": 90, "current_tim": 79, "current_time_n": 79, "custom": [0, 1, 7, 57, 73, 76, 83, 85], "custom_logger_method_stack_level": 86, "custom_synaps": 73, "customiz": 1, "customsynaps": 73, "cutoff": 17, "d": [24, 57, 74, 77, 82], "dai": [4, 5], "daili": [4, 5], "data": [0, 1, 2, 6, 7, 10, 13, 14, 16, 20, 21, 22, 24, 26, 33, 40, 48, 55, 57, 59, 60, 73, 74, 76, 89, 94, 97, 99, 101], "data_typ": [33, 48], "databas": 99, "dataclass": [0, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 18, 19, 20, 60, 76], "date": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 83, 100], "date_format": 82, "datefmt": 83, "datetim": [0, 60], "de": 86, "deal": 1, "debug": [73, 81, 86, 87], "decai": 17, "deceiv": 1, "decentr": [0, 1, 33, 48, 57, 60, 73], "decis": [0, 57, 60], "decod": [0, 1, 2, 6, 7, 8, 12, 15, 16, 20, 21, 22, 26, 40, 60, 73, 76, 89, 99], "decode_account_id": 21, "decode_account_id_list": 15, "decode_block": 21, "decode_hex_identity_dict": 89, "decode_metadata": 21, "decode_revealed_commit": 21, "decode_revealed_commitment_with_hotkei": 21, "decode_scale_valu": 99, "decor": 94, "decreas": [0, 25, 38, 54, 60], "decrease_take_extrins": [36, 52], "decrypt": [0, 26, 40, 60, 76, 89], "decrypted_data": 76, "deepcopi": 57, "deeper": [0, 60], "def": [0, 1, 73], "default": [0, 1, 2, 21, 23, 24, 25, 27, 29, 30, 31, 33, 34, 35, 36, 38, 41, 44, 46, 48, 50, 51, 52, 54, 55, 57, 58, 60, 65, 73, 76, 77, 79, 80, 83, 86, 87, 89, 94, 95, 96, 100, 101], "default_endpoint": 58, "default_log_backup_count": 82, "default_log_file_nam": 82, "default_log_format": 83, "default_max_rotating_log_file_s": 82, "default_network": [57, 58], "default_trace_format": 83, "default_verifi": 1, "defaultconfig": 23, "defaultdict": 23, "defaultmunch": 23, "defin": [0, 1, 2, 6, 10, 20, 21, 57, 60, 73, 83, 85, 89, 102], "definit": [0, 82], "deiniti": 86, "delai": 1, "deleg": [0, 4, 5, 25, 36, 52, 57, 60, 65, 102], "delegate_info": [7, 102], "delegate_info_lit": [7, 102], "delegate_ss58": 5, "delegatedinfo": [4, 21], "delegateinfo": [0, 4, 5, 21, 60], "delegateinfobas": 4, "delegateinfolit": 5, "delegateliteinfo": 5, "delegatetaketoohigh": [0, 25, 60], "delegatetaketoolow": [0, 25, 60], "delegatetxratelimitexceed": [0, 25, 60], "delta": [1, 79], "dendrit": [1, 25, 56, 73, 87, 96, 102], "dendrite_default_error": 24, "dendrite_error_map": 24, "dendrite_hotkei": 73, "dendrite_inst": 24, "dendritemixin": 24, "denot": 57, "depart": 0, "depend": [2, 89, 90], "deposit": [0, 37, 53, 60, 89], "deprec": [80, 87, 89, 100], "deprecated_messag": 89, "deregister_primary_logg": 86, "deriv": [10, 21], "describ": [0, 39, 42, 60, 83], "descript": [0, 1, 3, 18, 31, 46, 60, 73], "deseri": [24, 57, 59, 73, 74, 96], "deserialized_synaps": 73, "design": [0, 1, 24, 59, 60, 73, 87], "desir": [73, 86], "dest": [0, 37, 53, 60], "destin": [0, 30, 37, 39, 45, 49, 53, 60, 89, 101], "destination_coldkey_ss58": [0, 30, 45, 60], "destination_hotkei": [0, 30, 45, 60], "destination_hotkey_ss58": [0, 60], "destination_netuid": [0, 30, 45, 60], "destination_pric": [0, 60], "destination_subnet_pric": [0, 60], "detail": [0, 1, 57, 60, 73, 99], "detect": 73, "determin": [0, 1, 24, 57, 60, 73, 77, 84, 89], "determine_block_hash": [0, 60, 65], "determine_chain_endpoint_and_network": 89, "dev_id": [0, 31, 46, 60, 92, 94, 95], "develop": [1, 59, 73, 103], "devic": [0, 31, 46, 60, 92, 94, 95], "dict": [0, 1, 2, 4, 8, 9, 10, 11, 12, 14, 16, 19, 21, 23, 24, 33, 48, 57, 58, 59, 60, 73, 74, 77, 83, 89, 90, 94], "dictionari": [0, 1, 2, 9, 11, 21, 23, 25, 57, 59, 60, 73, 74, 77, 84, 89], "did": [31, 32, 33, 34, 37, 46, 47, 48, 49, 50, 53], "diff": 94, "differ": [0, 1, 6, 23, 24, 45, 57, 60, 73, 79, 80, 86, 92, 94], "difficulti": [0, 10, 17, 19, 60, 70, 94, 95], "digit": [1, 57, 73], "dir": 57, "dir_path": 57, "direct": [0, 57, 60], "directli": [0, 24, 59, 60, 73], "directori": 57, "disabl": [0, 29, 44, 60, 65, 86, 87], "disable_debug": 86, "disable_info": 86, "disable_log": 86, "disable_third_party_logg": 86, "disable_trac": 86, "disable_warn": 86, "disallow": 1, "discord": [0, 3, 18, 31, 46, 60], "discoveri": [0, 60], "disk": 57, "dispatch": 1, "distinguish": 57, "distribut": [0, 57, 60, 73, 90], "divers": [0, 60], "dividend": [10, 11, 12, 20, 57], "do": [0, 1, 60], "do_commit_weight": [39, 42], "do_serve_axon": [33, 48], "doc": [0, 89], "docstr": 57, "document": [0, 60, 102], "doe": [0, 1, 22, 25, 26, 40, 60, 73, 76, 92, 94], "does_hotkey_exist": [0, 60, 72], "doesn": [0, 1, 25, 26, 40, 57, 60, 86], "don": 0, "done": 0, "down": [0, 1, 60], "drain": 16, "drand": [0, 60, 76], "dtype": 74, "due": [0, 1], "dummy_input": 73, "dump": 76, "duplic": [0, 25, 26, 40], "duplicatechild": [0, 25, 26, 40], "durat": [0, 24, 27, 41, 60, 73], "dure": [0, 1, 17, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 73, 76, 94], "dust": [0, 60], "dynam": [0, 1, 6, 57, 60], "dynamic_info": [7, 102], "dynamicinfo": [0, 6, 21, 60], "e": [0, 2, 9, 13, 31, 33, 46, 48, 57, 60, 73], "e29ce36fec1a": 73, "each": [0, 1, 21, 24, 34, 38, 39, 42, 50, 54, 55, 57, 60, 73, 76, 77, 86, 94], "earn": [0, 34, 50, 57, 60], "easi": 73, "easy_import": [89, 102], "econom": [0, 60], "ecosystem": [0, 57, 60, 73], "ed25519": [37, 53], "effect": [0, 1, 60], "effici": [0, 1, 24, 57, 60, 73], "effort": [0, 60], "either": [0, 60, 80, 83, 91], "element": [0, 10, 24, 26, 27, 31, 40, 41, 46, 57, 60, 74], "elig": [0, 60], "ellipsi": 73, "els": 89, "email": [31, 46], "embodi": 57, "emiss": [0, 6, 10, 11, 12, 16, 20, 35, 51, 57, 60], "emission_histori": 20, "emission_valu": 19, "emit": [0, 60], "emoji": 83, "emoji_map": 83, "emploi": 57, "empti": [0, 60, 74, 77], "enabl": [0, 1, 17, 29, 30, 33, 34, 38, 44, 45, 48, 50, 54, 57, 60, 65, 73, 86, 87], "enable_consol": 86, "enable_debug": 86, "enable_default": 86, "enable_info": 86, "enable_third_party_logg": 86, "enable_trac": 86, "enable_warn": 86, "encapsul": [1, 24, 59, 73], "encod": [0, 7, 9, 16, 21, 60, 73, 76, 89], "encode_param": [0, 60, 65], "encoded_data": 21, "encompass": 73, "encount": [1, 74], "encourag": 57, "encrypt": [1, 76], "encrypted_data": 76, "end": [1, 14, 24, 73], "endpoint": [0, 1, 2, 24, 33, 48, 60, 65, 73, 77, 89, 91], "endpoint_url": [89, 91], "enforc": [73, 89], "enhanc": [0, 33, 48, 57, 60, 73], "enough": 25, "ensur": [0, 1, 24, 39, 42, 57, 59, 60, 73, 85, 86, 87, 94], "enter": [0, 31, 32, 33, 34, 37, 38, 39, 46, 47, 48, 49, 50, 53, 54, 60], "entir": [0, 24, 60], "entiti": [1, 57], "entri": [0, 57, 60, 99], "entrypoint": 58, "enum": [10, 21], "enumer": [10, 21], "environ": [0, 1, 57, 60, 73, 95], "epoch": [0, 60], "equal": [92, 94], "equip": 1, "error": [0, 1, 2, 23, 24, 26, 29, 33, 35, 36, 38, 39, 40, 42, 44, 48, 51, 52, 54, 56, 57, 60, 65, 73, 74, 76, 81, 86, 89, 92, 94, 95, 100, 102], "error_messag": 89, "especi": [1, 24, 73], "essenti": [0, 1, 24, 57, 60, 73], "establish": [0, 1, 24, 60, 73], "estim": [0, 6, 60], "etc": [1, 59, 65, 73], "evalu": [0, 1, 77], "even": [0, 29, 44, 60], "event": [24, 59, 86, 94], "event_loop_is_run": 24, "everi": 73, "everyth": 57, "evolut": 57, "exact": 57, "examin": 57, "exampl": [1, 38, 54, 73, 74, 76], "examplerout": 73, "examplesynaps": 73, "exce": [0, 26, 30, 40, 45, 60], "exceed": [0, 25, 34, 38, 50, 54, 60], "except": [0, 1, 24, 26, 40, 60, 74, 86, 89], "exchang": [1, 57, 73], "exclud": 101, "exclude_quantil": 101, "execut": [0, 1, 25, 57, 60, 75], "executor": 75, "exhaust": 24, "exist": [0, 1, 22, 24, 25, 26, 40, 60, 89, 92, 94], "existenti": [0, 37, 53, 60, 89], "existential_deposit": 0, "existentialdeposit": 0, "exit": [1, 25], "expect": [1, 24, 57, 59], "expir": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60], "explicitli": [0, 23, 57, 59, 73, 74], "explor": 89, "expos": 89, "express": 76, "extend": 1, "extent": [0, 60], "extern": [1, 24, 91], "external_ip": [1, 24, 91], "external_port": 1, "externalipnotfound": 91, "extract": [1, 24, 59], "extract_response_json": 59, "extrem": 1, "extrins": [0, 56, 60, 65, 89, 102], "extrinsicnotfound": 25, "extrinsics_subpackag": 87, "f": [0, 89], "face": [0, 1, 60, 91], "facilit": [0, 1, 57, 60, 73], "factor": [0, 60], "factori": [0, 57], "fail": [0, 1, 2, 21, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 44, 46, 47, 48, 49, 50, 51, 53, 54, 60, 73, 75, 76, 91, 100], "failed_verif": 73, "failur": [0, 1, 26, 27, 31, 33, 36, 40, 41, 46, 48, 52, 60, 73], "fallback": [0, 24, 60, 65], "fallback_endpoint": [0, 60, 65], "fals": [0, 1, 6, 11, 12, 21, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 74, 76, 83, 87, 89, 92, 94, 96], "fast": [0, 60, 76], "fast_config": 1, "fast_serv": 1, "fastapi": 1, "fastapithreadedserv": 1, "feasibl": 24, "featur": [0, 1, 60, 73, 87], "fee": [0, 60, 90], "fees_above_high": 90, "fees_alpha": 90, "fees_below_low": 90, "fees_tao": 90, "fetch": [0, 5, 33, 48, 60, 101], "field": [0, 1, 2, 4, 59, 60, 71, 73, 74], "field_indic": [0, 60], "file": [23, 57], "filenam": [82, 83], "fill": [1, 24], "filter": [0, 1, 60], "filter_for_netuid": [0, 60], "filter_netuids_by_registered_hotkei": [0, 60, 72], "final": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 73, 94], "financi": [0, 60], "find": [55, 73], "fingerprint": 73, "finish": [24, 75, 94], "finished_queu": 94, "finnei": [0, 57, 58, 65, 77, 89], "finney_entrypoint": 58, "finney_test_entrypoint": 58, "first": [0, 1, 6, 23, 24, 26, 27, 31, 34, 40, 41, 46, 50, 57, 60, 73], "fix": [0, 60, 80], "fixed_to_float": 80, "fixedpoint": [60, 80], "flag": [0, 1, 2, 17, 24, 31, 33, 34, 36, 37, 46, 48, 49, 50, 52, 53, 57, 60, 77, 83, 89], "flexibl": [0, 1, 60], "float": [0, 1, 4, 5, 6, 10, 11, 12, 17, 19, 20, 24, 26, 27, 30, 32, 34, 38, 39, 40, 41, 45, 47, 49, 50, 54, 57, 60, 65, 73, 76, 79, 80, 89, 90, 94, 101], "float32": [0, 27, 32, 39, 41, 47, 49, 60, 101], "float_to_u64": 89, "floattensor": [0, 27, 39, 41, 49, 60, 101], "flow": [1, 73], "fluctuat": [0, 60], "fmt": 83, "fn": [57, 75], "focus": [0, 60], "follow": [33, 48, 73, 77, 86], "forbidden": 73, "forc": 94, "forev": [0, 60, 65], "form": [1, 57, 59, 73, 74, 76, 91], "format": [0, 1, 24, 33, 48, 57, 59, 60, 73, 77, 85, 89, 91, 102], "format_error_messag": 89, "formatt": [83, 85, 86], "formatted_endpoint_url": 91, "formattim": 83, "forward": [1, 24], "forward_class_typ": 1, "forward_custom": 1, "forward_fn": [1, 25], "forward_my_synaps": 1, "forward_my_synapse_2": 1, "foster": 1, "found": [0, 1, 25, 55, 60, 94, 95], "foundat": [0, 1], "frac_bit": 80, "frame": [0, 60], "framework": [1, 24, 73, 86, 87], "frequent": [0, 60], "fresh": 1, "friendli": [1, 39, 42], "fro": 86, "from": [0, 1, 2, 9, 10, 11, 15, 16, 21, 24, 29, 30, 33, 34, 36, 37, 38, 44, 45, 48, 50, 52, 53, 54, 57, 59, 60, 65, 73, 74, 75, 76, 77, 80, 81, 86, 89, 91, 94, 96, 101], "from_dict": [8, 14, 16], "from_error": 25, "from_float": 80, "from_head": 73, "from_neuron_info": 2, "from_parameter_dict": [2, 9], "from_rao": 80, "from_scale_encod": 21, "from_scale_encoding_using_type_str": 21, "from_str": 2, "from_tao": [0, 60, 80], "from_vec_u8": 22, "from_vec_u8_v2": 22, "from_weights_bonds_and_neuron_lit": 11, "full": [0, 30, 45, 57, 60], "full_address": 1, "func": [5, 94, 100], "function": [7, 22, 25, 59, 60, 85, 86, 96, 99], "fund": [0, 37, 53, 60], "fundament": [0, 1, 34, 50, 57, 60, 73], "further": 1, "futur": [33, 48, 57, 75], "g": [0, 2, 9, 13, 31, 46, 73], "gain": [0, 60], "garbag": 0, "gather": 1, "gener": [0, 1, 10, 21, 24, 59, 60, 84, 94, 99, 101, 102], "generate_weight_hash": 101, "genericcal": [0, 60], "genericmetadatavers": 99, "genuin": 1, "get": [0, 23, 24, 57, 60, 71, 73, 75, 76, 83, 86, 89, 94], "get_all_commit": [0, 60, 62], "get_all_metagraphs_info": [0, 60, 66], "get_all_neuron_certif": [0, 60, 67], "get_all_revealed_commit": [0, 60, 62], "get_all_subnets_info": [0, 60, 70], "get_and_save_latest_vers": 100, "get_async_subtensor": 0, "get_bal": [0, 60, 72], "get_block_hash": [0, 60, 61], "get_children": [0, 60, 70, 72], "get_children_pend": [0, 60, 70, 72], "get_commit": [0, 60, 62], "get_config": 86, "get_cpu_count": 94, "get_current_block": [0, 57, 60, 61], "get_current_weight_commit_info": [0, 60, 62, 70], "get_current_weight_commit_info_v2": [0, 60, 62], "get_deleg": [0, 60, 63, 72], "get_delegate_by_hotkei": [0, 60, 63, 72], "get_delegate_ident": [0, 60, 61, 63, 65], "get_delegate_tak": [0, 60, 63, 72], "get_existential_deposit": [0, 60, 61], "get_explorer_url_for_network": 89, "get_external_ip": 91, "get_fe": 90, "get_fees_in_rang": 90, "get_formatted_ws_endpoint_url": 91, "get_hash": 89, "get_hotkey_own": [0, 60, 72], "get_hotkey_stak": [0, 60, 69, 72], "get_human_read": 88, "get_hyperparamet": [0, 60, 70], "get_last_bonds_reset": [33, 48], "get_last_commitment_bonds_reset_block": [0, 60, 62], "get_level": 86, "get_liquidity_list": [0, 60, 70], "get_max_logger_name_length": 84, "get_metadata": [33, 48], "get_metagraph_info": [0, 60, 66], "get_minimum_required_stak": [0, 60, 61, 69, 72], "get_netuids_for_hotkei": [0, 60, 72], "get_neuron_certif": [0, 60, 67], "get_neuron_for_pubkey_and_subnet": [0, 60, 70], "get_next_epoch_start_block": [0, 60, 70], "get_null_neuron": [11, 12], "get_old_stak": 55, "get_owned_hotkei": [0, 60, 72], "get_par": [0, 60, 70], "get_queu": 86, "get_required_field": 73, "get_revealed_commit": [0, 60, 62], "get_revealed_commitment_by_hotkei": [0, 60, 62], "get_save_dir": 57, "get_siz": 73, "get_stak": [0, 60, 69, 72], "get_stake_add_fe": [0, 60, 69, 72], "get_stake_for_coldkei": [0, 60, 69, 72], "get_stake_for_coldkey_and_hotkei": [0, 60, 69, 72], "get_stake_for_hotkei": [0, 60, 72], "get_stake_info_for_coldkei": [0, 60, 69, 72], "get_stake_movement_fe": [0, 60, 69, 72], "get_stake_operations_fe": [0, 60, 69], "get_stake_weight": [0, 60, 69], "get_status_messag": 94, "get_subnet": [0, 60, 70], "get_subnet_burn_cost": [0, 60, 70], "get_subnet_hyperparamet": [0, 60, 70], "get_subnet_info": [0, 60, 70], "get_subnet_owner_hotkei": [0, 60, 70], "get_subnet_pric": [0, 60, 70], "get_subnet_reveal_period_epoch": [0, 60, 70], "get_subnet_validator_permit": [0, 60, 70], "get_timestamp": [0, 60, 61], "get_total_s": 73, "get_total_subnet": [0, 60, 70], "get_transfer_fe": [0, 60, 72], "get_transfer_fn_param": 89, "get_uid_for_hotkey_on_subnet": [0, 60, 70], "get_unit": 80, "get_unstake_fe": [0, 60, 69, 72], "get_vote_data": [0, 60, 61], "getdefaultencod": 89, "github": [0, 3, 31, 46, 60], "github_repo": [18, 31, 46], "give": [0, 75, 80, 81], "given": [0, 1, 21, 27, 30, 31, 32, 33, 39, 41, 46, 47, 48, 49, 55, 57, 59, 60, 73, 74, 75, 80, 89, 92, 94, 96, 101], "global": [0, 60], "global_fees_alpha": 90, "global_fees_tao": 90, "glorifi": 73, "glossari": 0, "go": 1, "goe": [0, 31, 38, 46, 54, 60], "govern": [0, 57, 60], "grace": [0, 60], "gracefulli": 1, "graph": 57, "great": 1, "greater": [57, 101], "growth": [0, 60], "grpc": 1, "guard": 1, "h": [82, 88], "ha": [0, 1, 12, 24, 25, 57, 59, 60, 94], "halt": 1, "handl": [0, 1, 6, 20, 24, 39, 42, 59, 60, 73, 76, 86, 90, 91, 101], "handler": [1, 85, 86, 89], "hash": [0, 1, 22, 33, 39, 42, 48, 60, 73, 89, 94, 95, 97, 101], "hash_rat": 94, "hash_rate_perpetu": 94, "hash_valu": 73, "hasher": [98, 102], "hasn": 1, "have": [0, 1, 25, 26, 40, 60, 73, 75], "header": [1, 24, 25, 59, 73], "header_s": 73, "height": [0, 60], "held": [0, 57], "hello": [0, 73], "help": [0, 1, 23, 25, 60, 65, 73, 74, 75, 77, 80, 86, 89, 91, 100], "helper": [0, 21, 55, 60, 73, 77, 80, 85, 89, 97, 102], "here": 24, "hex": [0, 22, 60, 99], "hex_to_byt": 89, "hexadecim": [73, 89], "high": [0, 17, 25, 60], "higher": [57, 99], "histor": [24, 57], "history_block": 57, "hit": [0, 26, 40], "hold": [1, 57, 86], "holder": [0, 60], "home_dir": 58, "honest": 0, "hop": [0, 60], "host": [1, 33, 48], "hot": [0, 60], "hotkei": [0, 1, 2, 4, 5, 10, 11, 12, 16, 20, 21, 24, 25, 26, 29, 30, 32, 33, 34, 36, 38, 39, 40, 44, 45, 47, 48, 49, 50, 52, 54, 55, 57, 60, 65, 72, 73, 77, 89, 94, 95], "hotkey_byt": 94, "hotkey_ss58": [0, 4, 16, 30, 34, 36, 38, 45, 50, 52, 54, 55, 60], "hotkey_ss58_address": [0, 60], "hotkeyaccountnotexist": [0, 25, 60], "how": [0, 1, 6, 57, 60], "howev": [24, 57], "hparam": 57, "http": [0, 1, 24, 58, 73, 89], "human": [1, 88], "hyperparam": 101, "hyperparamet": [0, 17, 60], "i": [0, 1, 2, 4, 5, 6, 11, 12, 15, 17, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 65, 73, 74, 75, 76, 77, 80, 83, 86, 87, 89, 90, 91, 92, 94, 95, 96, 99, 100, 101, 103], "id": [0, 1, 4, 21, 24, 27, 29, 31, 41, 44, 46, 54, 60, 73, 90, 92, 94, 95, 101], "ideal": 6, "ident": [0, 3, 10, 18, 25, 31, 46, 57, 60, 73, 89, 97], "identif": [57, 73], "identifi": [0, 1, 11, 12, 24, 33, 34, 36, 38, 39, 42, 48, 50, 52, 54, 55, 57, 60, 73, 101], "identityerror": 25, "ignor": [0, 24, 60], "ij": 57, "imag": 3, "immedi": [0, 1, 60], "immun": [0, 17], "immunity_period": [0, 10, 17, 19, 60, 70], "immunityperiod": [0, 10, 60], "immut": [0, 60], "impact": [0, 30, 45, 57, 60], "implement": [1, 23, 24, 59, 73, 75, 94, 99], "impli": 57, "import": [0, 1, 23, 24, 57, 60, 65, 73, 76, 81], "importerror": 57, "improv": 73, "inact": 57, "incent": [0, 10, 11, 12, 20, 34, 50, 57, 60], "incentiv": [0, 57], "includ": [0, 1, 2, 7, 11, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 76, 77, 83, 85, 87], "inclus": [0, 27, 30, 31, 32, 33, 34, 36, 37, 41, 45, 46, 47, 48, 49, 50, 52, 53, 60], "incom": [0, 1, 60], "incorrect": 89, "increas": [0, 1, 25, 30, 34, 45, 50, 60, 73], "increase_take_extrins": [36, 52], "inde": 1, "index": [14, 90], "indexerror": 76, "indic": [0, 1, 11, 12, 17, 24, 25, 26, 27, 29, 31, 33, 40, 41, 44, 46, 48, 57, 60, 73, 86], "indispens": 73, "individu": [0, 24, 57, 60], "infer": 57, "inflat": [0, 60], "influenc": [0, 57, 60], "info": [0, 1, 2, 6, 8, 9, 10, 19, 20, 58, 81, 86, 87], "info_bas": [2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 102], "info_dictionari": 89, "infobas": [2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20], "inform": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 18, 22, 24, 26, 31, 33, 40, 46, 48, 55, 57, 60, 73, 86, 89, 94, 95], "infrastructur": [0, 57, 60], "inherit": [73, 77], "init": 57, "initarg": 75, "initi": [0, 1, 23, 24, 25, 29, 31, 33, 34, 35, 37, 44, 48, 50, 51, 57, 59, 60, 65, 74, 75, 76, 77, 80, 83, 86, 89, 91, 100], "input": [0, 1, 21, 24, 57, 59, 60, 73, 74, 94, 101], "input_": 21, "input_obj": 73, "insight": [0, 60], "inspect": 1, "instal": 57, "install_signal_handl": 1, "instanc": [0, 1, 2, 9, 11, 12, 22, 24, 26, 27, 29, 30, 31, 33, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 48, 50, 51, 54, 57, 59, 60, 65, 73, 75, 76, 84, 86, 92, 99, 101], "instanti": [0, 57, 59], "instead": [0, 1, 59, 100], "instrument": [57, 60], "insuffici": [0, 60], "int": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 60, 73, 74, 76, 77, 79, 80, 83, 84, 86, 88, 89, 90, 91, 92, 94, 95, 96, 100, 101], "int64": [0, 27, 32, 39, 41, 47, 49, 60, 95, 101], "int_to_ip": 91, "int_val": 91, "intact": 1, "integ": [0, 60, 73, 80, 90, 91, 101], "integr": [0, 1, 57, 60, 73, 87], "intellig": [0, 1, 57, 60], "intend": [0, 59, 60, 73], "intent": [0, 1], "inter": 57, "interact": [0, 1, 24, 29, 30, 31, 35, 39, 42, 44, 46, 51, 57, 60, 65, 73, 80], "intercept": 1, "interconnect": 0, "interconnected": 57, "interfac": [0, 1, 31, 39, 42, 46, 57, 59, 60], "interfer": 1, "intermediari": 1, "intern": [1, 24, 33, 48, 59], "internalservererror": 25, "interneuron": [0, 60], "interpret": [24, 38, 73], "interv": 17, "invalid": [0, 25, 74], "invalidchild": [0, 25, 26, 40], "invalidconfigfil": 23, "invalidrequestnameerror": 25, "invers": 101, "invest": [0, 57, 60], "invok": 1, "involv": [0, 1, 57, 60, 73], "ip": [1, 2, 9, 13, 24, 33, 48, 57, 73, 77, 91], "ip__str__": 91, "ip_address": 73, "ip_info": [7, 102], "ip_str": [2, 91], "ip_to_int": 91, "ip_typ": [2, 9, 13, 77, 91], "ip_vers": 91, "ipifi": 91, "ipinfo": [9, 21], "ipv4": [2, 9, 13, 91], "ipv6": [2, 9, 13, 91], "is_async": 65, "is_blacklist": 73, "is_dynam": 6, "is_empti": 75, "is_failur": 73, "is_fast_block": [0, 60, 61], "is_hotkey_deleg": [0, 60, 63, 72], "is_hotkey_regist": [0, 60, 72], "is_hotkey_registered_ani": [0, 60, 72], "is_hotkey_registered_on_subnet": [0, 60, 70], "is_nul": [11, 12], "is_opt": 21, "is_regist": 16, "is_run": 1, "is_serv": 2, "is_set": 23, "is_stal": 94, "is_stale_async": 94, "is_subnet_act": [0, 60, 70], "is_success": 73, "is_timeout": 73, "is_valid_bittensor_address_or_public_kei": 89, "is_valid_ss58_address": 89, "is_vec": 21, "iso8601": 83, "issu": [1, 24], "item": [0, 60, 73, 97], "iter": [0, 24, 57, 60, 73, 74, 77, 84], "its": [0, 1, 2, 24, 34, 36, 37, 50, 52, 53, 57, 60, 73, 86, 94], "itself": [1, 73], "j": 57, "json": [1, 2, 24, 58, 59, 73], "json_respons": 24, "json_str": 2, "jsondecodeerror": 2, "jsonrespons": 1, "judgment": 57, "just": [0, 57, 60, 65], "k": [6, 74, 77], "kappa": [10, 17, 19], "keccak": 95, "keccak256": [33, 48], "keep": [0, 37, 45, 53, 60, 73], "keep_al": [0, 37, 53, 60, 89], "kei": [0, 1, 2, 11, 15, 21, 26, 27, 32, 37, 39, 40, 41, 42, 47, 49, 53, 57, 60, 73, 74, 77, 89, 97, 99, 101], "kept": 100, "keyfil": [0, 26, 40, 60, 87, 89], "keyfileerror": [0, 26, 40, 60, 89], "keypair": [0, 24, 60], "keyword": [59, 73, 74, 77, 96], "know": [0, 1, 60], "known": [0, 60, 89], "kwarg": [24, 59, 74, 75, 77, 83, 86, 96], "lack": 91, "larg": 24, "larger": 1, "last": [0, 1, 11, 12, 33, 48, 57, 60, 65], "last_drand_round": [0, 60, 61], "last_step": [6, 10, 57], "last_upd": [10, 11, 12, 20, 57], "laststep": 10, "lastupd": 10, "latenc": 73, "latent": 58, "latent_lite_entrypoint": 58, "later": 57, "latest": [0, 48, 57, 60, 100], "latest_block_path": 57, "latest_hash": 0, "layer": [0, 1, 57, 60], "lazi": 94, "lazili": 24, "lazyloadedtorch": 94, "lead": 1, "leakag": 24, "learn": [57, 60, 73], "learnbittensor": 0, "least": 1, "ledger": 57, "left": 91, "legaci": [87, 94], "legacy_method": 65, "legacy_torch_api_compat": 94, "length": [33, 48, 73, 84], "less": 57, "level": [0, 1, 17, 57, 60, 65, 71, 81, 83, 86, 87, 99], "levelnam": [82, 83], "leverag": [57, 86], "librari": 86, "lifecycl": 1, "lifespan": 73, "light": 57, "lighter": 5, "lightweight": 0, "like": [0, 1, 23, 24, 60, 73, 83], "limit": [0, 17, 25, 26, 38, 40, 54, 60, 94, 95, 101], "line": [0, 1, 60, 77, 92, 94], "lineno": [82, 83], "link": [0, 1, 16, 31, 46, 60], "liquid": [0, 17, 28, 43, 60, 89, 102], "liquid_alpha_en": [10, 17], "liquidalphaen": 10, "liquidity_delta": [0, 29, 44, 60], "liquidityposit": [0, 60, 90], "list": [0, 1, 4, 5, 8, 10, 11, 12, 14, 15, 20, 21, 23, 24, 26, 27, 31, 32, 34, 38, 39, 40, 41, 42, 46, 47, 49, 50, 54, 55, 57, 60, 65, 73, 74, 77, 89, 92, 94, 96, 99, 101], "list_from_dict": 8, "list_from_vec_u8": 12, "listen": [1, 86], "lite": [0, 11, 57, 58, 60, 65], "liter": 89, "live": 57, "load": [0, 1, 23, 57, 60, 76, 94], "load_from_path": 57, "local": [0, 1, 24, 57, 58, 60, 77, 89, 91], "local_entrypoint": 58, "local_synaps": 24, "localhost": 65, "locat": 57, "lock": [0, 16, 60, 94], "log": [0, 1, 23, 24, 31, 46, 60, 65, 81, 82, 83, 84, 85, 86, 87, 89, 94, 95], "log_and_handle_error": 1, "log_cuda_error": 95, "log_except": 24, "log_format": 83, "log_level": 1, "log_level_color_prefix": 83, "log_no_torch_error": 94, "log_trace_format": 83, "log_verbos": [0, 31, 46, 60, 65, 77, 92, 94], "logger": [75, 81, 84, 85, 86], "logging_dir": 86, "loggingconfig": 86, "loggingmachin": [81, 85, 102], "logic": [1, 59, 73, 76], "logo": [31, 46], "logo_url": [18, 31, 46], "logrecord": 83, "long": [0, 60], "longer": 24, "longest": 84, "longtensor": [0, 27, 39, 41, 49, 60, 101], "loop": 24, "low": [0, 17, 25, 60], "lower": [0, 29, 44, 60, 101], "lynch": 76, "m": 82, "machin": [1, 57, 60, 73], "made": [0, 17, 25, 60], "mai": [0, 57, 60], "main": [0, 1, 60, 76, 89, 94], "mainli": [0, 57, 60, 65], "maintain": [0, 1, 57, 60, 73, 87, 90], "mainten": 1, "major": 57, "make": [0, 1, 24, 37, 53, 57, 60, 73, 76], "malici": 1, "manag": [0, 1, 23, 24, 57, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 72, 73, 84, 86, 90], "mani": [0, 25, 26, 40], "manipul": 1, "manner": [1, 94], "map": [0, 4, 11, 12, 60, 74, 77, 89, 91, 99], "mark": 1, "market": 60, "match": [1, 55, 80, 101], "math": 57, "matrix": [0, 57], "max": [1, 25, 33, 48, 101], "max_allowed_attempt": [0, 31, 46, 60], "max_allowed_valid": 19, "max_burn": [10, 17], "max_difficulti": [10, 17], "max_int_weight": 101, "max_length": 84, "max_n": 19, "max_regs_per_block": [10, 17], "max_retri": [0, 60], "max_tick": 90, "max_uid": [10, 57], "max_valid": [10, 17], "max_valu": 101, "max_weight_limit": [0, 17, 19, 60, 70, 101], "max_weights_limit": 10, "max_work": [1, 75], "maxattemptsexcept": 25, "maxburn": 10, "maxdifficulti": 10, "maximum": [0, 17, 24, 30, 31, 34, 38, 45, 46, 50, 54, 60, 73, 75, 101], "maxregsperblock": 10, "maxsiz": 75, "maxsuccessexcept": 25, "maxuid": 10, "maxvalid": 10, "maxweightslimit": [0, 10, 60], "mean": [0, 1, 60, 73, 92, 94], "measur": [57, 60], "mechan": [0, 1, 35, 51, 57, 60, 73, 76], "meet": 1, "member": [0, 60], "merg": [23, 24], "merkl": 99, "messag": [0, 1, 21, 24, 25, 26, 27, 29, 31, 33, 35, 36, 38, 40, 41, 44, 46, 48, 51, 52, 54, 60, 73, 81, 82, 83, 86, 89, 94], "met": 25, "meta_info": [0, 60], "metadata": [0, 11, 12, 21, 25, 31, 33, 46, 48, 57, 60, 73, 99], "metadata_storage_funct": 99, "metadataerror": [25, 33, 48], "metagraph": [0, 24, 56, 60, 65, 87, 101, 102], "metagraph_info": [7, 102], "metagraph_state_dict_ndarray_kei": 57, "metagraphinfo": [0, 10, 21, 60], "metagraphinfoemiss": [10, 57], "metagraphinfoparam": [10, 57], "metagraphinfopool": [10, 57], "metagraphmixin": 57, "method": [0, 1, 6, 20, 22, 24, 33, 39, 42, 48, 57, 59, 60, 65, 73, 75, 77, 80, 83, 86, 94], "metric": [57, 73], "middlewar": 1, "middleware_cl": 1, "might": 1, "millifi": 88, "millisecond": 83, "min_allowed_weight": [0, 10, 17, 19, 60, 70, 101], "min_burn": [10, 17], "min_difficulti": [10, 17], "min_tick": 90, "minallowedweight": [0, 10, 60], "minburn": 10, "mindifficulti": 10, "mine": [0, 60], "miner": [0, 23, 57], "miners_dir": 58, "minimum": [0, 17, 26, 40, 60, 101], "mismatch": 1, "miss": 0, "ml": 73, "mock": [0, 60, 65, 77], "mock_subpackag": 87, "modal": 19, "mode": [0, 60, 86], "model": [0, 57, 59, 73, 74], "model_config": [59, 73, 74], "model_dump_json": 73, "model_validate_json": 73, "modern": 1, "modif": 73, "modifi": [0, 21, 29, 44, 59, 60, 99], "modify_liquid": [0, 60, 64], "modify_liquidity_extrins": [29, 44], "modul": [7, 85], "module_nam": [0, 60], "moment": 90, "monitor": 73, "monoton": 73, "more": [0, 31, 46, 57, 60, 88, 92, 94], "most": [0, 57, 60], "mostli": 60, "move": [0, 17, 30, 45, 60], "move_stak": [0, 28, 43, 60, 64, 102], "move_stake_extrins": [30, 45], "movement": [0, 60], "moving_pric": [6, 10], "movingpric": 10, "msg": [0, 39, 42, 60, 86, 89], "much": [6, 57], "multi": 1, "multipl": [0, 1, 24, 57, 60, 92, 94], "multipli": 17, "multiprocess": 94, "munch": 23, "must": [0, 29, 32, 35, 39, 44, 47, 49, 51, 57, 59, 60, 86, 89, 91, 101], "mutat": 1, "mutual": [0, 60], "my_axon": 1, "my_config": 1, "my_liquidity_delta": [0, 60], "my_wallet": [0, 1, 60], "mycustomsynaps": 1, "mysynaps": [1, 73], "n": [57, 88, 89, 101], "n_block": 76, "nai": 14, "name": [0, 1, 3, 10, 21, 24, 25, 31, 46, 57, 59, 60, 73, 74, 75, 76, 77, 82, 83, 84, 86, 99], "namedtupl": 86, "namespac": 23, "nanosecond": 79, "nanoseconds_in_second": 79, "nativ": 73, "natur": [0, 24, 57, 60], "ndarrai": [0, 27, 32, 39, 41, 47, 49, 57, 60, 74, 101], "nearest": 90, "necessari": [1, 24, 57, 73], "need": [0, 1, 21, 60, 73, 76], "neg": [0, 29, 44, 60], "nest": [10, 23], "netuid": [0, 1, 4, 6, 10, 11, 12, 16, 19, 20, 24, 26, 27, 29, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 57, 60, 77, 80, 90, 92, 94, 101], "network": [0, 1, 2, 4, 6, 7, 11, 12, 20, 24, 25, 26, 27, 30, 31, 32, 33, 34, 38, 39, 40, 41, 42, 46, 47, 48, 50, 54, 55, 57, 58, 59, 60, 65, 73, 77, 89, 90, 92, 94, 96, 101, 102], "network_explorer_map": 58, "network_map": [58, 89], "network_registered_at": [6, 10, 57], "networkregisteredat": 10, "neural": 57, "neurip": 57, "neuron": [0, 1, 2, 7, 11, 12, 24, 25, 26, 33, 34, 36, 39, 40, 42, 48, 49, 50, 52, 57, 60, 65, 73, 101, 102], "neuron_for_uid": [0, 60, 67], "neuron_incent": 57, "neuron_info": [0, 2, 7, 60, 102], "neuron_info_lit": [7, 102], "neuron_lit": 11, "neuron_rank": 57, "neuroninfo": [0, 11, 21, 57, 60], "neuroninfolit": [0, 11, 12, 21, 57, 60], "neurons_lit": [0, 60, 67], "new": [0, 1, 10, 15, 21, 22, 23, 24, 31, 35, 46, 51, 57, 59, 60, 73, 74, 75, 77, 89, 92, 94], "new_coldkei": 15, "newblockev": 94, "next": [0, 1, 60], "nich": 60, "nn": [2, 9, 24, 57], "no_error": 76, "node": [0, 1, 57, 60, 65, 73, 76, 96], "nomin": [0, 4, 5, 25, 36, 52, 60], "nominationerror": 25, "non": [0, 1, 25, 26, 40, 73, 89], "nonassociatedcoldkei": [0, 25, 26, 40, 60], "nonc": [0, 1, 31, 46, 60, 73, 79, 92, 94, 95], "nonce_kei": [0, 60], "nonce_start": 95, "none": [0, 1, 6, 10, 11, 12, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 57, 59, 60, 65, 73, 74, 75, 76, 77, 79, 83, 84, 86, 89, 92, 94, 95, 99, 101], "nontorchmetagraph": 57, "normal": 101, "normalize_max_weight": 101, "notdelegateerror": 25, "note": [29, 33, 44, 48, 60, 76, 91], "notenoughstaketosetchildkei": [0, 25, 26, 40], "notic": 80, "notregisterederror": 25, "notverifiedexcept": 25, "now": [0, 1, 57, 60, 73], "np": [32, 39, 47, 49, 60, 74, 101], "null": [0, 11, 12, 60], "null_entri": 75, "num": 88, "num_neuron": 101, "num_proc": 94, "num_process": [0, 31, 46, 60, 92, 94], "num_uid": [10, 57], "number": [0, 1, 2, 13, 15, 17, 21, 22, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 75, 76, 80, 88, 92, 94, 95, 101], "numer": 1, "numpi": [0, 27, 41, 57, 60, 74, 94, 95, 101], "numpyortorch": 57, "numuid": 10, "o": 0, "obj": 73, "object": [0, 1, 2, 6, 8, 9, 10, 12, 16, 20, 21, 24, 30, 31, 32, 33, 34, 37, 38, 39, 46, 47, 48, 49, 50, 53, 54, 57, 59, 60, 65, 73, 74, 75, 77, 80, 86, 89], "occur": [0, 1, 24, 60], "off": [24, 86, 89], "offer": [0, 1, 24, 60], "offlin": [1, 57], "often": 57, "old": [0, 15, 60, 65], "old_bal": 34, "old_coldkei": 15, "older": 87, "omit": 83, "on_error": 0, "onc": [0, 60], "one": [0, 1, 23, 24, 30, 33, 45, 48, 57, 60, 74, 75, 77, 83], "ongo": 1, "onli": [0, 1, 24, 57, 59, 60, 65, 73, 74, 76, 86], "open": 24, "opentensor": 58, "oper": [0, 1, 17, 24, 25, 26, 38, 40, 54, 57, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 72, 73, 80, 94, 101], "optim": 73, "option": [0, 1, 10, 11, 12, 15, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 74, 75, 76, 77, 79, 80, 83, 86, 89, 91, 94, 96, 99, 101], "order": [73, 77], "org": [0, 58], "origin": [1, 30, 60, 73, 83], "origin_coldkey_ss58": [0, 60], "origin_hotkei": [0, 30, 45, 60], "origin_hotkey_ss58": [0, 60], "origin_netuid": [0, 30, 45, 60], "origin_pric": [0, 60], "origin_subnet_pric": [0, 60], "other": [0, 1, 11, 23, 24, 57, 60, 65, 73, 75, 84], "otherwis": [0, 24, 30, 31, 33, 38, 39, 42, 46, 48, 54, 60, 73, 75, 89], "our": 75, "out": 1, "outcom": 73, "outlin": 57, "output": [1, 31, 46, 94], "output_in_plac": [0, 31, 46, 60, 92, 94], "over": [0, 4, 5, 24, 57, 73, 94], "overal": [0, 60], "overflow": 25, "overhead": 57, "overload": 73, "overrid": [1, 73, 77, 83, 89], "overridden": [73, 94], "overview": [0, 60], "own": [0, 25, 26, 40, 57, 60, 73], "owner": [0, 4, 5, 38, 45, 54, 60], "owner_coldkei": [6, 10, 57], "owner_hotkei": [6, 10, 57], "owner_ss58": [4, 5, 19], "ownercoldkei": 10, "ownerhotkei": [0, 10, 60], "ownership": [0, 45, 60], "pack": 94, "packag": [73, 86, 96, 100], "page": 102, "pair": [0, 16, 45, 60, 73, 74, 77], "pallet": 99, "paper": 57, "param": [0, 24, 60, 80, 87, 89, 99, 101], "param_nam": [0, 23, 60], "paramet": [0, 1, 2, 5, 6, 8, 9, 10, 11, 14, 15, 16, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 99, 100, 101], "parameter_dict": [2, 9], "parameterdict": [2, 9], "params_dict": 0, "params_encod": 99, "params_list": 0, "paramwithtyp": [0, 60, 77], "parent": [0, 25, 26, 40, 59, 60], "parentkei": [0, 60], "pars": [1, 24, 25, 59, 73, 74, 76], "parse_headers_to_input": 73, "parser": [1, 23, 65, 75, 77, 86], "part": [0, 1, 6, 57, 60, 73], "parti": 86, "partial": [0, 30, 34, 38, 45, 50, 54, 60], "partial_meta_info": [0, 60], "particip": [0, 1, 34, 50, 57, 60], "particular": [0, 4, 55, 60], "particularli": [0, 57, 60, 73], "pass": [0, 1, 24, 29, 32, 38, 39, 44, 47, 49, 54, 59, 60, 75, 76, 89, 101], "password": [0, 26, 40, 60, 89], "passworderror": [0, 26, 40, 60, 89], "past": [0, 57], "path": [1, 57], "pattern": 0, "payload": [1, 73, 96], "peer": 57, "penalti": [0, 60], "pend": [0, 60, 75], "pending_alpha_emiss": [6, 10], "pending_root_emiss": [6, 10], "pendingalphaemiss": 10, "pendingchildkei": [0, 60], "pendingrootemiss": 10, "per": [0, 1, 4, 5, 17, 31, 46, 57, 60, 92, 94, 95], "perceiv": 60, "percentag": [0, 4, 5, 6, 34, 36, 38, 50, 52, 54, 60], "perform": [0, 1, 24, 57, 60, 73, 80, 86], "period": [0, 17, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60], "permit": [0, 11, 12, 25, 57, 60], "persist": 57, "person": 76, "pickl": [57, 76], "piec": 24, "ping": 24, "pipaddress": 58, "pipelin": 1, "pivot": [1, 57, 73], "place": [0, 1, 15, 24, 57, 60, 92, 94], "placehold": [33, 48, 84], "placeholder1": [2, 33, 48, 77], "placeholder2": [2, 33, 48, 77], "plai": [1, 57, 73], "plan": [0, 60], "point": [0, 57, 60, 80], "pool": [0, 1, 6, 10, 29, 44, 57, 60], "popul": [0, 11, 60], "port": [1, 2, 13, 33, 48, 73, 77, 91], "portal": [31, 46], "posit": [0, 1, 29, 44, 59, 60, 73, 74, 90], "position_id": [0, 29, 44, 60], "possibl": 77, "post": 24, "postprocess": 1, "postprocessexcept": 25, "potenti": [0, 1, 39, 42, 57, 60], "pow": [25, 31, 46, 80, 92, 93, 95, 102], "pow_registration_allow": 10, "power": 76, "powregistrationallow": 10, "powsolut": [92, 94], "practic": 57, "preced": 77, "precis": 90, "predefin": 1, "prefix": [1, 73, 75, 77, 86], "prepar": [0, 60, 86, 96], "prepare_synaps": 96, "prepare_synapse_fn": 96, "prepend": 77, "preprocess": [1, 24], "preprocess_synapse_for_request": 24, "presenc": [0, 1, 60], "present": [0, 10, 60, 73], "preserv": 73, "presum": [0, 60, 65], "prevent": [0, 1, 24, 60, 94], "previou": [1, 55, 57], "previous": [0, 60], "price": [0, 6, 29, 30, 34, 38, 44, 45, 50, 54, 60, 90], "price_high": [0, 29, 44, 60, 90], "price_low": [0, 29, 44, 60, 90], "price_step": 90, "price_to_tick": 90, "primari": [31, 46, 73, 86], "primarili": 57, "principl": 57, "print": [0, 1, 23, 24, 60, 65, 73, 77, 92, 94], "prior": [34, 73], "priorit": 1, "prioriti": [1, 25, 75], "prioritize_my_synaps": 1, "prioritize_my_synapse_2": 1, "priority_custom": 1, "priority_fn": 1, "priorityexcept": 25, "prioritythreadpoolexecutor": [23, 75], "privat": 1, "privileg": [0, 60], "problem": [0, 94, 95], "proc_num": 94, "proce": 1, "process": [0, 1, 10, 17, 21, 24, 29, 31, 34, 35, 44, 46, 50, 51, 57, 59, 60, 73, 74, 76, 86, 92, 94, 96, 100, 101], "process_error_messag": 24, "process_nest": 10, "process_respons": 96, "process_responses_fn": 96, "process_server_respons": 24, "process_stake_data": 21, "process_streaming_respons": 59, "process_tim": 73, "process_weight": 101, "process_weights_for_netuid": 101, "processing_dur": 73, "processor": 1, "produc": 73, "program": 1, "progress": [0, 60, 92, 94], "prohibit": 1, "project": [83, 85, 87], "prolifer": [0, 60], "prometheu": [11, 12, 13, 77], "prometheus_info": [7, 11, 12, 102], "prometheusinfo": [11, 12, 13], "prometheusservecallparam": 77, "promptli": 1, "proof": [0, 31, 46, 60, 92, 94, 95], "propag": 57, "proper": [24, 39, 42, 57, 73], "properli": [1, 24], "properti": [0, 2, 24, 57, 60, 65, 73, 75, 80], "proport": [0, 25, 26, 40, 57, 60], "proportionoverflow": [0, 25, 26, 40], "propos": [0, 14, 60], "proposal_dict": 14, "proposal_hash": [0, 60], "proposal_vote_data": [7, 102], "proposalvotedata": [0, 14, 60], "protect": [0, 30, 45, 57, 60], "protocol": [1, 2, 9, 33, 48, 73, 77], "provid": [0, 1, 7, 11, 21, 24, 26, 27, 31, 39, 40, 41, 42, 46, 55, 57, 59, 60, 65, 73, 76, 77, 80, 84, 85, 86, 89, 90, 92, 94, 95, 97, 99, 101], "provis": 90, "proxi": 94, "prune": [11, 12], "pruning_scor": [10, 11, 12, 20, 57], "pruningscor": 10, "public": [0, 1, 37, 53, 57, 60], "publish": [0, 33, 48, 60, 86], "publish_metadata": [0, 33, 48, 60], "punit": [0, 60], "purpos": 0, "put": 94, "pydant": [59, 73, 74], "pydantic_cor": [59, 73, 74], "pypi": [58, 100], "python": 76, "pytorch": [57, 101], "pyvalueerror": 76, "qualiti": 0, "quantil": 101, "queri": [0, 22, 24, 25, 48, 57, 60, 65, 73, 96, 102], "query_api": 96, "query_const": [0, 60, 68], "query_ident": [0, 60, 67], "query_map": [0, 60, 68], "query_map_subtensor": [0, 60, 68], "query_modul": [0, 60, 68], "query_respons": [0, 60], "query_runtime_api": [0, 60, 68], "query_subtensor": [0, 60, 68], "querymapresult": [21, 60], "queue": [1, 75, 86, 94], "queuehandl": 86, "queuelisten": 86, "quick": [0, 60, 73], "quicker": 57, "quicknet": 76, "quot": 90, "r": 57, "rais": [0, 1, 2, 21, 23, 24, 25, 26, 33, 34, 36, 40, 48, 50, 52, 57, 59, 60, 73, 74, 75, 76, 89, 91, 92, 94, 100], "raise_error": [0, 26, 36, 40, 52, 60, 89], "randomli": [0, 60], "rang": [0, 1, 29, 44, 60, 90, 91], "rank": [0, 1, 10, 11, 12, 20, 57, 60], "rao": [0, 21, 60, 80], "rao_symbol": 58, "rao_unit": 80, "raopertao": 89, "rate": [0, 11, 17, 25, 26, 40, 57, 60], "rate_toler": [0, 30, 34, 38, 45, 50, 54, 60], "rather": [0, 24, 26, 40, 60, 73], "ratio": [0, 30, 38, 45, 54, 60], "raw": [73, 74, 99], "raw0": [33, 48], "re": [0, 60, 73], "reach": [0, 25, 60, 76], "read": 73, "read_onli": 58, "readabl": [1, 88, 89], "readi": [1, 59], "real": [0, 60], "realli": 1, "realloc": [0, 60], "reap": [0, 60], "receiv": [0, 1, 6, 24, 57, 60, 73], "received_head": 73, "receiver_hotkei": 1, "recent": [0, 60, 87], "recipi": [37, 53], "reclaim": 75, "recogn": 60, "recommend": [24, 73], "recomput": 1, "reconstitut": 57, "reconstruct": [1, 73], "record": [0, 29, 44, 57, 60, 83], "record_log": 86, "recurs": 73, "recycl": [0, 31, 46, 60, 70], "redeploi": 1, "reduc": [0, 57, 60], "refer": [0, 57, 60, 103], "reflect": [0, 57, 60], "refus": 0, "regardless": [37, 53], "regist": [0, 1, 4, 5, 25, 26, 31, 32, 40, 46, 47, 60, 64, 86, 92, 94], "register_cuda": [93, 102], "register_extrins": [31, 46], "register_primary_logg": 86, "register_subnet": [0, 60, 64, 70], "register_subnet_extrins": [31, 46], "registr": [0, 1, 2, 4, 5, 9, 17, 24, 25, 27, 28, 41, 43, 57, 60, 74, 89, 101, 102], "registration_allow": [10, 17], "registrationallow": 10, "registrationerror": 25, "registrationnotpermittedonrootsubnet": [0, 25, 26, 40], "registrationstatist": 94, "registrationstatisticslogg": 94, "registri": 7, "reject": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60], "relat": [0, 11, 13, 25, 31, 46, 60], "relationship": [0, 57, 60], "releas": [1, 24, 57], "relev": [0, 1, 2, 26, 40, 60], "reli": 1, "reliabl": [1, 57, 73], "relianc": 1, "reload": 57, "remain": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60], "remov": [0, 1, 29, 38, 44, 54, 60, 86], "remove_liquid": [0, 60, 64], "remove_liquidity_extrins": [29, 44], "replac": 83, "replai": 1, "replic": 73, "repositori": [0, 31, 46, 60], "repr": 89, "repres": [0, 1, 2, 4, 6, 9, 11, 12, 13, 15, 16, 17, 22, 24, 33, 48, 55, 57, 60, 73, 74, 75, 80], "represent": [0, 1, 2, 24, 33, 48, 57, 60, 73, 77, 80, 91, 99, 101], "reput": 57, "request": [0, 1, 24, 25, 26, 33, 40, 48, 60, 65, 73, 100], "request_nam": 24, "requestresponseendpoint": 1, "requir": [0, 1, 25, 33, 39, 42, 48, 57, 59, 60, 73], "required_hash_field": 73, "reserv": 2, "reset": [0, 17, 33, 48, 60, 95], "reset_bond": [33, 48], "reset_cuda": 95, "resourc": [0, 1, 24, 57, 60, 75], "respect": 57, "respond": 1, "respons": [0, 1, 24, 25, 31, 32, 33, 34, 37, 46, 47, 48, 49, 50, 53, 57, 59, 65, 73, 96], "response_overrid": 1, "restart": 57, "restor": 57, "restrict": [0, 60], "result": [0, 1, 27, 41, 60, 73, 83, 89, 96, 99], "retent": 89, "retri": [0, 60, 65], "retriev": [0, 1, 55, 57, 59, 60, 100], "retry_forev": [0, 60, 65], "return": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 21, 22, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 65, 73, 74, 75, 76, 77, 79, 80, 83, 84, 86, 89, 90, 91, 92, 94, 95, 96, 99, 100, 101], "return_per_1000": [4, 5], "return_str": 76, "reus": [0, 1, 24, 60], "reuse_block": [0, 33, 60], "reveal": [0, 17, 21, 22, 27, 39, 41, 42, 60, 76], "reveal_round": [0, 22, 60, 76], "reveal_weight": [0, 60, 64], "reveal_weights_extrins": [39, 42], "revel": [0, 60, 76], "reverse_network_map": 58, "reward": [0, 36, 52, 57, 60], "rfc": 83, "rho": [10, 17, 19], "robust": 73, "role": [0, 1, 57, 60, 73], "root": [0, 25, 26, 28, 40, 43, 57, 60, 65, 71, 73, 84, 101, 102], "root_dir": 57, "root_regist": [0, 60, 64], "root_register_extrins": [32, 47], "root_set_pending_childkey_cooldown": [0, 60, 64], "root_set_pending_childkey_cooldown_extrins": [26, 40], "root_set_weight": [0, 60, 64], "root_tao_stake_weight": 58, "round": [0, 22, 60, 76], "round_numb": 22, "rounds_tot": 94, "rout": 73, "router": [1, 91], "row": [57, 101], "row_bond": 101, "row_weight": 101, "rpc": [0, 7, 60], "rule": [0, 1, 60], "run": [0, 1, 60, 73, 75, 89, 92, 94], "run_async": 24, "run_in_thread": 1, "runexcept": 25, "runtim": [0, 1, 57, 60], "runtime_api": [0, 60], "runtime_config": 99, "runtimeconfigurationobject": 99, "runtimeerror": 57, "s0": 83, "s39": 83, "safe": [0, 24, 60, 73, 75, 94], "safe_glob": 57, "safe_stak": [0, 30, 34, 38, 45, 50, 54, 60], "safeti": [0, 30, 34, 38, 45, 50, 54, 60], "salt": [0, 39, 42, 60, 101], "same": [0, 1, 23, 26, 40, 45, 60, 73, 76, 92, 94], "sanit": 73, "save": [57, 83, 100], "scalabl": [0, 1, 60], "scale": [0, 7, 21, 60], "scale_typ": 99, "scalebyt": [21, 99], "scalecodec": [0, 21, 60, 80, 99], "scaleobj": [0, 60], "scaletyp": [80, 99], "scaling_law_pow": 19, "scenario": [1, 24], "schedul": [15, 75], "scheduled_coldkey_swap_info": [7, 102], "scheduledcoldkeyswapinfo": [15, 21], "schema": 73, "score": [11, 12, 57], "seal": [94, 95], "seamless": [1, 87], "seamlessli": 1, "search": 55, "second": [0, 6, 24, 26, 27, 31, 40, 41, 46, 60, 65, 76, 79, 96, 100], "secur": [0, 1, 57, 60, 73], "see": [0, 23, 25, 60, 74, 75, 77, 80, 89, 91, 100], "seen": [1, 73], "selectivemetagraphindex": [0, 10, 60], "self": [0, 1, 23, 24, 25, 59, 73, 74, 75, 77, 80, 89, 91, 100], "senat": [0, 14, 60], "send": [24, 31, 46, 57, 59, 73], "sender": 1, "sensit": [0, 57, 60, 73], "sent": [1, 24, 59, 73], "separ": [1, 73, 86], "sequenti": 24, "serial": [1, 22, 57, 73, 74], "serialized_data": 73, "serv": [0, 1, 2, 28, 43, 57, 60, 73, 77, 102], "serve_axon": [0, 60, 64], "serve_axon_extrins": [33, 48], "serve_extrins": [33, 48], "server": [1, 24, 25, 31, 46, 59], "server_respons": 24, "servic": [1, 17, 33, 48], "serving_rate_limit": [10, 17], "servingratelimit": 10, "session": [24, 57], "set": [0, 1, 2, 23, 24, 25, 26, 31, 32, 33, 34, 36, 37, 38, 39, 40, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 60, 73, 76, 77, 80, 86, 87, 94, 101, 102], "set_children": [0, 60, 64], "set_children_extrins": [26, 40], "set_commit": [0, 60, 62], "set_config": 86, "set_consol": 86, "set_debug": 86, "set_default": 86, "set_delegate_tak": [0, 60, 63], "set_info": 86, "set_name_typ": 73, "set_reveal_commit": [0, 60, 62], "set_root_weights_extrins": [32, 47], "set_subnet_ident": [0, 60, 64, 70], "set_subnet_identity_extrins": [31, 46], "set_trac": [83, 86], "set_unit": 80, "set_warn": 86, "set_weight": [0, 43, 60, 64, 102], "set_weights_extrins": [39, 49], "setlevel": 86, "setup": [0, 1, 60], "setup_config": [65, 77], "sever": [1, 75, 97], "sgvsbg8gv29ybgq": 73, "sha256": [33, 48], "sha3": 73, "shape": [60, 74], "share": [0, 57, 80, 94], "should": [0, 1, 24, 31, 33, 46, 48, 57, 59, 60, 73, 74, 92, 94], "should_exit": 1, "should_sync": 57, "show": 89, "shut": 1, "shutdown": [1, 75], "side": 1, "sign": [0, 1, 24, 29, 31, 35, 36, 44, 46, 51, 52, 57, 60], "sign_and_send_extrins": [0, 60, 65], "sign_with": [0, 60], "signal": [1, 24], "signatur": [1, 23, 25, 59, 73, 74, 75, 77, 80, 89, 91, 100], "signifi": 57, "signific": [0, 60], "silent": 24, "similar": [0, 24, 57, 60, 65], "simpl": [73, 99], "simpli": 73, "simplifi": [0, 57, 60], "simul": [0, 60], "sinc": [0, 60], "singl": [0, 24, 60, 99], "size": [57, 73], "skip": 84, "slippag": 6, "snapshot": [0, 57, 60], "so": [73, 101], "softwar": 57, "solut": [25, 92, 94, 95], "solution_queu": 94, "solv": [0, 31, 46, 60, 92, 94, 95], "solve_cuda": 95, "solver": [25, 94], "some": [0, 17, 60, 65], "some_hotkei": 60, "some_hotkey_where_is_your_stake_now": [0, 60], "someconst": 0, "someth": 1, "sort": 1, "sourc": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 84, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97, 99, 101], "spam": 1, "special": [1, 57, 59, 83], "specif": [0, 1, 4, 39, 42, 57, 59, 60, 65, 73, 75, 76, 86, 87, 96], "specifi": [0, 1, 21, 24, 29, 33, 34, 38, 44, 48, 50, 54, 55, 57, 60, 73, 83, 86, 89, 99], "specul": 57, "sphinx": 102, "ss58": [0, 4, 16, 21, 22, 26, 30, 34, 36, 38, 40, 45, 50, 52, 54, 55, 60, 89], "ss58_address": [0, 37, 53, 60, 89, 101], "ss58_address_length": 58, "ss58_address_to_byt": 89, "ss58_decod": 89, "ss58_format": 58, "ss58_to_vec_u8": 89, "stabil": [0, 57, 60], "stabl": 1, "stacklevel": 86, "stage": 1, "stake": [0, 4, 6, 11, 12, 16, 21, 25, 26, 28, 29, 30, 37, 38, 40, 43, 44, 45, 53, 54, 55, 57, 60, 65, 102], "stake_data": 21, "stake_dict": [11, 12], "stake_info": [7, 102], "stakeerror": 25, "stakeinfo": [0, 16, 21, 55, 60], "staker": 6, "stale": [0, 94], "standard": [0, 57, 60, 73, 77, 85], "starlett": [1, 59], "start": [0, 1, 17, 35, 51, 60, 73, 86, 94, 95], "start_cal": [0, 28, 43, 60, 64, 65, 102], "start_call_extrins": [35, 51], "start_tim": 1, "stat": 94, "state": [0, 1, 6, 20, 24, 57, 60, 61, 73, 83, 86, 99], "state_cal": [0, 60, 61], "state_dict": 57, "statemachin": 86, "static": [10, 11, 12, 57, 74, 77, 80, 94], "statist": 94, "statu": [0, 1, 11, 24, 36, 52, 57, 60, 73, 86, 89, 94], "status_cod": [1, 73], "status_messag": 73, "stdout": [1, 77], "step": [0, 1, 60], "stop": [1, 86, 94], "stopev": 94, "storag": [0, 22, 60, 97, 98, 102], "storage_funct": 99, "storagefunctionnotfound": 25, "storagekei": 99, "store": [57, 73, 80, 94, 99], "str": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 58, 60, 65, 73, 74, 75, 76, 77, 80, 81, 83, 84, 86, 89, 90, 91, 94, 95, 99, 100, 101], "str_val": 91, "strateg": [0, 60], "stream": [24, 56, 86, 102], "stream_respons": 59, "streamer": 59, "streamingrespons": 59, "streamingsynaps": [1, 24, 59], "streamlin": [0, 60], "strict": [23, 89], "string": [0, 2, 9, 12, 21, 22, 24, 39, 42, 57, 60, 73, 74, 76, 77, 80, 83, 89, 91, 99], "stronger": 57, "strtobool": 89, "struct": 76, "structur": [0, 2, 7, 10, 21, 57, 59, 60, 73], "style": 83, "sub": [58, 85, 94], "subclass": [59, 73], "submiss": [0, 29, 35, 44, 51, 60], "submit": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 75], "subnet": [0, 1, 2, 4, 5, 7, 9, 17, 18, 19, 24, 25, 29, 30, 31, 32, 34, 35, 38, 39, 42, 44, 45, 46, 47, 49, 50, 51, 54, 60, 65, 80, 89, 90, 92, 94, 101, 102], "subnet_contact": [18, 31, 46], "subnet_emiss": 10, "subnet_exist": [0, 60, 70], "subnet_hyperparamet": [7, 102], "subnet_ident": [0, 6, 7, 10, 60, 102], "subnet_info": [7, 102], "subnet_is_act": 17, "subnet_nam": [6, 18, 31, 46], "subnet_st": [7, 102], "subnet_url": [18, 31, 46], "subnet_volum": [6, 10], "subnetemiss": 10, "subnethyperparamet": [0, 17, 21, 60], "subnetident": [0, 6, 10, 18, 21, 57, 60], "subnetinfo": [0, 19, 21, 60], "subnetrevealperiodepoch": [0, 60], "subnetsapi": 96, "subnetst": [20, 21], "subnetvolum": 10, "subnetwork": [0, 20, 31, 46, 60], "subnetwork_n": [0, 19, 60, 70], "subnetworkdoesnotexist": [0, 25, 26, 40], "subnetworkn": [0, 60], "subscrib": [0, 25, 33, 48, 60], "subsequ": [1, 23, 24], "subset": [0, 60], "substrat": [0, 60, 65, 97, 99], "substrate_util": [89, 102], "substraterequestexcept": [0, 25, 34, 50, 60, 89], "subtensor": [0, 1, 22, 23, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 77, 87, 89, 92, 94, 101, 102], "subtensor_api": [56, 102], "subtensor_field": 71, "subtensorapi": [65, 71], "subtensorinterfac": [34, 50], "subtensormixin": [0, 60, 77], "subtensormodul": [0, 60], "subvortex": 58, "subvortex_entrypoint": 58, "succeed": [0, 38, 54, 60, 73], "success": [0, 1, 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 60, 73, 81, 86, 89], "success_level_num": 83, "successfulli": [0, 29, 33, 35, 44, 48, 51, 60], "suffici": [0, 60], "suffix": [86, 88], "suggest": 57, "suitabl": 73, "sum": [0, 26, 40, 57, 73, 101], "superclass": 73, "suppli": 57, "support": [0, 1, 23, 60, 80], "supress": 89, "sure": 76, "swap": [0, 15, 30, 45, 60], "swap_stak": [0, 60, 64], "swap_stake_extrins": [30, 45], "sy": 89, "symbol": [6, 10, 57, 80], "synaps": [1, 24, 25, 56, 59, 79, 87, 96, 102], "synapse_dict": 73, "synapse_histori": 24, "synapse_nonc": 79, "synapse_timeout": 79, "synapse_to_respons": 1, "synapsedendritenoneexcept": 25, "synapseexcept": 25, "synapseparsingerror": 25, "sync": [0, 39, 41, 42, 49, 57, 65], "sync_substr": [21, 60], "synchron": [0, 24, 57, 60, 94], "system": [0, 24, 57, 60, 84, 86, 87, 94], "t": [0, 1, 8, 23, 25, 26, 40, 57, 60, 86, 89], "tailor": [1, 73], "take": [0, 1, 4, 5, 15, 25, 28, 43, 59, 60, 102], "takeerror": 25, "taken": 73, "tamper": [0, 1, 60, 73], "tao": [0, 4, 5, 6, 10, 29, 31, 34, 38, 44, 46, 50, 54, 57, 60, 80, 89, 90], "tao_dividends_per_hotkei": [10, 57], "tao_fees_above_high": 90, "tao_fees_below_low": 90, "tao_in": [6, 10], "tao_in_emiss": [6, 10], "tao_slippag": 6, "tao_stak": [10, 20, 57], "tao_symbol": 58, "tao_to_alpha": 6, "tao_to_alpha_with_slippag": 6, "taodividendsperhotkei": 10, "taoin": 10, "taoinemiss": 10, "taostak": 10, "target": [0, 17, 24, 29, 35, 44, 51, 60], "target_axon": 24, "target_axon_info": 24, "target_regs_per_interv": [10, 17], "targetregsperinterv": 10, "task": [0, 1, 60, 73], "tcp": 9, "technic": [0, 60], "techniqu": 1, "technologi": [0, 60], "templat": 83, "tempo": [0, 6, 10, 17, 19, 57, 60, 70], "temporarili": 1, "tensor": [2, 9, 56, 57, 73, 101, 102], "tensor_": 74, "term": [0, 60], "termin": [1, 73, 81], "terminal_info": 73, "terminalinfo": 73, "terminate_workers_and_wait_for_exit": 94, "test": [0, 57, 58, 60, 65, 77, 81, 89], "text": [1, 83, 94], "textual": [31, 46], "th": 57, "than": [0, 1, 24, 26, 40, 60, 101], "thei": [0, 1, 6, 57, 60, 73, 101], "them": [0, 1, 24, 59, 60, 73], "themselv": [0, 60], "therebi": [0, 1, 60], "thereof": 91, "thi": [0, 1, 2, 4, 5, 6, 7, 10, 11, 12, 17, 20, 21, 22, 23, 24, 25, 27, 31, 33, 37, 39, 41, 42, 46, 48, 53, 55, 57, 59, 60, 65, 73, 75, 76, 77, 80, 83, 84, 85, 86, 87, 90, 92, 94, 95, 96, 99, 101, 102, 103], "thin": [0, 60], "think": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 73], "third": 86, "those": [23, 24], "thread": [0, 1, 31, 46, 60, 75, 92, 94, 95], "thread_name_prefix": 75, "thread_pool": 1, "threadpool": [1, 56, 102], "threadpoolexecutor": 75, "threshold": [0, 14, 17, 60, 101], "through": [1, 24, 55, 60, 84], "throughout": 85, "tick": [0, 29, 44, 60, 90], "tick_index": 90, "tick_to_pric": 90, "time": [0, 1, 57, 60, 65, 73, 75, 76, 79, 83, 94], "time_averag": 94, "time_sp": 94, "time_spent_tot": 94, "timelock": [56, 102], "timeout": [0, 1, 24, 31, 32, 33, 34, 37, 38, 39, 46, 47, 48, 49, 50, 53, 54, 60, 73, 79, 96, 100], "timestamp": [0, 1, 11, 12, 57, 60], "tl": [0, 33, 48, 60], "tle": 76, "tmp": 57, "to_dict": 23, "to_head": 73, "to_hex": 99, "to_parameter_dict": [2, 9], "to_str": [1, 2], "to_token_amount": 90, "todo": 57, "toggl": [0, 29, 44, 60], "toggle_user_liquid": [0, 60, 64], "toggle_user_liquidity_extrins": [29, 44], "token": [0, 38, 54, 57, 59, 60, 90], "token_stream": 59, "toler": [0, 30, 34, 38, 45, 50, 54, 60], "tolist": 74, "too": [0, 25, 26, 40, 60, 65], "tool": [0, 60, 73], "toomanychildren": [0, 25, 26, 40], "toon_kei": 0, "top": 99, "topologi": [0, 1], "torch": [0, 2, 9, 24, 27, 39, 41, 49, 57, 60, 74, 89, 94, 101], "torchmetagraph": 57, "total": [0, 4, 5, 11, 12, 57, 60, 73, 94], "total_bit": 80, "total_daily_return": [4, 5], "total_s": 73, "total_stak": [4, 10, 11, 12, 20, 57], "totalstak": 10, "toward": [57, 60], "tpb": [0, 31, 46, 60, 92, 94, 95], "trace": [1, 83, 86, 87], "trace_level_num": 83, "trace_log_format": 82, "track": [0, 57, 60, 73], "transact": [0, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 73], "transactor": [0, 25, 60], "transfer": [0, 17, 25, 28, 30, 43, 45, 60, 64, 89, 102], "transfer_al": [0, 37, 53, 60], "transfer_extrins": [37, 53], "transfer_stak": [0, 60, 64], "transfer_stake_extrins": [30, 45], "transfererror": 25, "transfers_en": 17, "transform": [10, 73], "transit": [1, 86], "transmiss": [1, 73], "transmit": [24, 73], "transpar": [0, 60, 73], "transport": 73, "travers": 73, "tree": 99, "trigger": [0, 1, 33, 35, 48, 51, 60], "true": [0, 1, 2, 6, 24, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 71, 73, 75, 76, 77, 83, 86, 87, 89, 92, 94], "trust": [0, 1, 10, 11, 12, 20, 57, 60], "trustworthi": [0, 1, 57, 60], "truth": 89, "try": [25, 94], "tupl": [0, 1, 6, 10, 11, 21, 22, 24, 26, 27, 29, 31, 33, 35, 36, 38, 39, 40, 41, 42, 44, 46, 48, 51, 52, 54, 57, 60, 73, 75, 76, 77, 79, 86, 89, 90, 95, 101], "tv": 57, "two": [74, 77, 80], "two_x64_concat": 97, "tx_rate_limit": [0, 60, 61, 65], "txratelimitexceed": [0, 25, 26, 40], "type": [0, 1, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 73, 74, 75, 76, 79, 80, 83, 84, 86, 87, 89, 90, 91, 92, 94, 95, 96, 99, 100, 101, 102], "type_nam": 21, "type_registri": 58, "type_str": 21, "typeddict": [77, 80], "typeerror": [2, 21, 76], "typic": [0, 1, 57, 59, 60, 73], "u128": 80, "u16_max": [89, 101], "u16_normalized_float": 89, "u32": 101, "u32_max": 101, "u64": [0, 89], "u64_max": 89, "u64_normalized_float": 89, "u64f64": 80, "udp": 9, "uid": [0, 11, 12, 27, 29, 30, 33, 35, 38, 39, 41, 42, 44, 45, 48, 49, 51, 54, 57, 60, 80, 101], "uint64": [0, 26, 39, 40, 49, 101], "unabl": [0, 25], "unauthor": [1, 73], "unchang": 91, "under": 0, "underli": [0, 1, 24, 57, 60, 86], "understand": [0, 57, 60], "undesir": 1, "unifi": 24, "union": [0, 2, 6, 9, 10, 21, 24, 27, 31, 32, 33, 39, 41, 45, 46, 47, 48, 49, 57, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 72, 74, 76, 80, 89, 92, 94, 95, 96, 101], "uniqu": [0, 1, 11, 12, 24, 31, 34, 38, 39, 42, 46, 50, 54, 55, 57, 60, 73, 91, 101], "uniswap": 90, "unit": [0, 1, 57, 60, 80], "unknownsynapseerror": 25, "unless": 24, "unlock": [0, 29, 35, 44, 51, 60, 89], "unlock_kei": 89, "unlock_typ": 89, "unlockstatu": 89, "unmet": 1, "unpickl": 57, "unpicklingerror": 57, "unsaf": [0, 60], "unstak": [0, 6, 25, 28, 34, 43, 50, 60, 64, 69, 102], "unstake_al": [0, 38, 54, 60, 64, 69], "unstake_all_extrins": [38, 54], "unstake_extrins": [38, 54], "unstake_multipl": [0, 60, 64, 69], "unstake_multiple_extrins": [38, 54], "unstakeerror": 25, "unsuccess": [0, 26, 40, 60, 89], "until": [0, 60, 75], "up": [0, 1, 24, 57, 60, 75, 77, 86, 87, 100], "updat": [0, 1, 11, 12, 24, 25, 31, 46, 57, 59, 60, 94, 95], "update_curr_block": 94, "update_interv": [0, 31, 46, 60, 92, 94, 95], "upon": [0, 24, 57, 60], "upper": [0, 29, 44, 60, 95], "urgenc": 1, "url": [0, 1, 3, 24, 25, 31, 46, 60, 77, 89, 91], "urllib": 91, "us": [0, 1, 2, 6, 17, 21, 22, 24, 27, 29, 31, 33, 34, 35, 37, 38, 39, 41, 42, 44, 46, 48, 50, 51, 53, 54, 57, 59, 60, 65, 73, 74, 75, 76, 77, 80, 83, 89, 92, 94, 95, 96, 97, 99, 100, 101], "usag": [0, 1, 24, 60, 73, 76], "use_nonc": [0, 60], "use_torch": [2, 89, 94], "user": [0, 1, 17, 24, 29, 39, 42, 44, 57, 60, 73, 87, 101], "user_bittensor_dir": 58, "user_liquidity_en": 17, "using_new_loop": 24, "usingspawnstartmethod": 94, "usual": 25, "utf": [73, 89], "util": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 16, 19, 20, 24, 27, 29, 33, 34, 37, 38, 41, 43, 44, 48, 50, 53, 54, 57, 60, 65, 74, 77, 78, 102], "uuid": [1, 24, 73], "uvicorn": 1, "v": [74, 77], "v10": 0, "v2": 0, "v3": 90, "v_7_2_0": 1, "val": 89, "valid": [0, 1, 4, 5, 10, 11, 12, 17, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 74, 83, 89, 94, 101], "validate_chain_endpoint": 89, "validationerror": [59, 73, 74], "validator_permit": [4, 5, 10, 11, 12, 20, 57], "validator_trust": [11, 12, 57], "validatorpermit": 10, "valu": [0, 1, 2, 10, 11, 12, 17, 21, 23, 26, 32, 39, 40, 42, 47, 49, 57, 60, 73, 74, 77, 79, 89, 90, 94, 99, 101], "valuabl": [0, 57, 60, 73], "value_scale_typ": 99, "valueerror": [0, 2, 89, 92, 94], "variabl": [0, 1, 2, 4, 9, 11, 12, 13, 15, 16, 17, 22, 57, 59, 73, 80], "variou": [0, 1, 57, 60], "vec_u8": 15, "vector": [0, 21], "verbos": [0, 60, 65, 92, 94], "verif": [1, 73], "verifi": [0, 1, 25, 60, 73], "verify_body_integr": 1, "verify_custom": 1, "verify_fn": 1, "verify_my_synaps": 1, "verify_my_synapse_2": 1, "versatil": [0, 60], "version": [0, 2, 5, 11, 13, 17, 27, 32, 39, 41, 42, 47, 49, 57, 60, 65, 73, 77, 83, 87, 89, 91, 101, 102], "version_as_int": [0, 27, 41, 58, 60], "version_check": [89, 100], "version_check_threshold": 100, "version_kei": [0, 27, 32, 39, 41, 42, 47, 49, 60, 101], "version_split": 58, "versioncheckerror": [89, 100], "via": [1, 60, 74, 77], "viabil": [0, 60], "view": [0, 60], "vital": [1, 57, 73], "vote": [0, 60], "w": [57, 58, 91], "w_": 57, "wa": [0, 1, 6, 23, 30, 31, 32, 33, 34, 37, 45, 46, 47, 48, 49, 50, 53, 57, 60, 73], "wai": [0, 24, 60, 73, 77, 80], "wait": [0, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60, 65, 75, 76], "wait_for_block": [0, 60, 65], "wait_for_fin": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60], "wait_for_inclus": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 60], "wait_reveal_and_decrypt": 76, "wallet": [0, 1, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 60, 65, 73, 80, 87, 89, 92, 94, 96, 101, 102], "wallet_stak": [0, 60], "wallets_dir": 58, "want": [0, 57, 83], "warn": [81, 86, 87, 89], "we": [31, 32, 33, 34, 37, 46, 47, 48, 49, 50, 53, 91], "web": [31, 46], "websocket": [60, 77, 89, 91], "websocket_shutdown_tim": [0, 65], "weight": [0, 11, 12, 17, 22, 27, 28, 32, 41, 42, 47, 49, 57, 60, 70, 101, 102], "weight_commit_info": [7, 102], "weight_uid": 101, "weight_util": [89, 102], "weight_val": 101, "weightcommitinfo": 22, "weights_as_dict": 11, "weights_rate_limit": [0, 10, 17, 60, 70], "weights_vers": [10, 17], "weightsratelimit": 10, "weightssetratelimit": [0, 60], "weightsvers": 10, "well": [57, 80], "were": [0, 60], "when": [0, 1, 2, 22, 23, 24, 25, 29, 30, 38, 39, 42, 44, 45, 54, 57, 60, 73, 75, 76, 86, 92, 94], "where": [0, 1, 6, 11, 21, 22, 24, 26, 27, 31, 40, 41, 46, 57, 60, 65, 80], "whether": [0, 1, 12, 21, 24, 27, 29, 31, 35, 37, 41, 44, 46, 51, 53, 57, 60, 65, 89, 96], "which": [0, 1, 5, 15, 17, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 73, 77], "while": [0, 1, 45, 57, 60, 80, 90, 94], "who": [0, 60, 73], "whole": 2, "whose": [0, 60], "wide": [0, 57, 60], "window": 79, "withdraw": [0, 60], "withdrawn": [0, 60], "within": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 59, 60, 73, 94, 96], "without": [0, 1, 12, 24, 38, 54, 60, 73, 81], "work": [0, 7, 24, 31, 39, 46, 60, 92, 94, 95], "worker": [1, 75, 94], "world": 73, "would": [0, 6, 30, 45, 60, 73], "wrap": 86, "wrapper": [39, 42, 73], "writabl": 89, "wrong": [0, 26, 40, 60, 76], "wss": [58, 65, 91], "x": [76, 89, 101], "x_person": 76, "x_person_2": 76, "xxh128": 97, "xxh64": 97, "y": [82, 89, 101], "ye": 89, "yet": 0, "yield": [1, 24, 84], "you": [0, 1, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 60, 65, 73, 76, 83], "your": [0, 1, 24, 57, 60, 65, 73, 76, 83, 91], "yoursynaps": 1, "yuma": [0, 17, 57], "yuma_vers": 17, "zero": [0, 55, 60]}, "titles": ["bittensor.core.async_subtensor", "bittensor.core.axon", "bittensor.core.chain_data.axon_info", "bittensor.core.chain_data.chain_identity", "bittensor.core.chain_data.delegate_info", "bittensor.core.chain_data.delegate_info_lite", "bittensor.core.chain_data.dynamic_info", "bittensor.core.chain_data", "bittensor.core.chain_data.info_base", "bittensor.core.chain_data.ip_info", "bittensor.core.chain_data.metagraph_info", "bittensor.core.chain_data.neuron_info", "bittensor.core.chain_data.neuron_info_lite", "bittensor.core.chain_data.prometheus_info", "bittensor.core.chain_data.proposal_vote_data", "bittensor.core.chain_data.scheduled_coldkey_swap_info", "bittensor.core.chain_data.stake_info", "bittensor.core.chain_data.subnet_hyperparameters", "bittensor.core.chain_data.subnet_identity", "bittensor.core.chain_data.subnet_info", "bittensor.core.chain_data.subnet_state", "bittensor.core.chain_data.utils", "bittensor.core.chain_data.weight_commit_info", "bittensor.core.config", "bittensor.core.dendrite", "bittensor.core.errors", "bittensor.core.extrinsics.asyncex.children", "bittensor.core.extrinsics.asyncex.commit_reveal", "bittensor.core.extrinsics.asyncex", "bittensor.core.extrinsics.asyncex.liquidity", "bittensor.core.extrinsics.asyncex.move_stake", "bittensor.core.extrinsics.asyncex.registration", "bittensor.core.extrinsics.asyncex.root", "bittensor.core.extrinsics.asyncex.serving", "bittensor.core.extrinsics.asyncex.staking", "bittensor.core.extrinsics.asyncex.start_call", "bittensor.core.extrinsics.asyncex.take", "bittensor.core.extrinsics.asyncex.transfer", "bittensor.core.extrinsics.asyncex.unstaking", "bittensor.core.extrinsics.asyncex.weights", "bittensor.core.extrinsics.children", "bittensor.core.extrinsics.commit_reveal", "bittensor.core.extrinsics.commit_weights", "bittensor.core.extrinsics", "bittensor.core.extrinsics.liquidity", "bittensor.core.extrinsics.move_stake", "bittensor.core.extrinsics.registration", "bittensor.core.extrinsics.root", "bittensor.core.extrinsics.serving", "bittensor.core.extrinsics.set_weights", "bittensor.core.extrinsics.staking", "bittensor.core.extrinsics.start_call", "bittensor.core.extrinsics.take", "bittensor.core.extrinsics.transfer", "bittensor.core.extrinsics.unstaking", "bittensor.core.extrinsics.utils", "bittensor.core", "bittensor.core.metagraph", "bittensor.core.settings", "bittensor.core.stream", "bittensor.core.subtensor", "bittensor.core.subtensor_api.chain", "bittensor.core.subtensor_api.commitments", "bittensor.core.subtensor_api.delegates", "bittensor.core.subtensor_api.extrinsics", "bittensor.core.subtensor_api", "bittensor.core.subtensor_api.metagraphs", "bittensor.core.subtensor_api.neurons", "bittensor.core.subtensor_api.queries", "bittensor.core.subtensor_api.staking", "bittensor.core.subtensor_api.subnets", "bittensor.core.subtensor_api.utils", "bittensor.core.subtensor_api.wallets", "bittensor.core.synapse", "bittensor.core.tensor", "bittensor.core.threadpool", "bittensor.core.timelock", "bittensor.core.types", "bittensor", "bittensor.utils.axon_utils", "bittensor.utils.balance", "bittensor.utils.btlogging.console", "bittensor.utils.btlogging.defines", "bittensor.utils.btlogging.format", "bittensor.utils.btlogging.helpers", "bittensor.utils.btlogging", "bittensor.utils.btlogging.loggingmachine", "bittensor.utils.easy_imports", "bittensor.utils.formatting", "bittensor.utils", "bittensor.utils.liquidity", "bittensor.utils.networking", "bittensor.utils.registration.async_pow", "bittensor.utils.registration", "bittensor.utils.registration.pow", "bittensor.utils.registration.register_cuda", "bittensor.utils.subnets", "bittensor.utils.substrate_utils.hasher", "bittensor.utils.substrate_utils", "bittensor.utils.substrate_utils.storage", "bittensor.utils.version", "bittensor.utils.weight_utils", "API Reference", "Bittensor SDK Documentation"], "titleterms": {"api": 102, "async_pow": 92, "async_subtensor": 0, "asyncex": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "attribut": [1, 8, 23, 24, 25, 57, 58, 74, 75, 79, 82, 83, 85, 86, 87, 89, 90, 94, 100, 101], "axon": 1, "axon_info": 2, "axon_util": 79, "balanc": 80, "bittensor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103], "btlog": [81, 82, 83, 84, 85, 86], "chain": 61, "chain_data": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "chain_ident": 3, "children": [26, 40], "class": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 77, 80, 81, 83, 86, 89, 90, 94, 96, 99], "commit": 62, "commit_rev": [27, 41], "commit_weight": 42, "config": 23, "consol": 81, "content": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97, 99, 100, 101, 103], "core": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "defin": 82, "deleg": 63, "delegate_info": 4, "delegate_info_lit": 5, "dendrit": 24, "document": 103, "dynamic_info": 6, "easy_import": 87, "error": 25, "exampl": [0, 23, 24, 57, 60, 65, 77, 81], "except": [23, 25, 75, 91, 100], "extrins": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 64], "format": [83, 88], "function": [0, 1, 10, 21, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 71, 73, 74, 76, 79, 80, 84, 87, 88, 89, 90, 91, 92, 94, 95, 97, 100, 101], "hasher": 97, "helper": 84, "info_bas": 8, "ip_info": 9, "liquid": [29, 44, 90], "loggingmachin": 86, "metagraph": [57, 66], "metagraph_info": 10, "modul": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97, 99, 100, 101], "move_stak": [30, 45], "network": 91, "neuron": 67, "neuron_info": 11, "neuron_info_lit": 12, "note": 0, "packag": [65, 85, 89], "pow": 94, "prometheus_info": 13, "proposal_vote_data": 14, "queri": 68, "refer": 102, "register_cuda": 95, "registr": [31, 46, 92, 93, 94, 95], "root": [32, 47], "scheduled_coldkey_swap_info": 15, "sdk": 103, "serv": [33, 48], "set": 58, "set_weight": 49, "stake": [34, 50, 69], "stake_info": 16, "start_cal": [35, 51], "storag": 99, "stream": 59, "submodul": [7, 28, 43, 56, 65, 78, 85, 89, 93, 98], "subnet": [70, 96], "subnet_hyperparamet": 17, "subnet_ident": 18, "subnet_info": 19, "subnet_st": 20, "substrate_util": [97, 98, 99], "subtensor": 60, "subtensor_api": [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72], "synaps": 73, "tabl": 103, "take": [36, 52], "tensor": 74, "threadpool": 75, "timelock": 76, "transfer": [37, 53], "type": 77, "unstak": [38, 54], "util": [21, 55, 71, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "version": 100, "wallet": 72, "weight": 39, "weight_commit_info": 22, "weight_util": 101}}) \ No newline at end of file From ec610782be8e6e28cd70f79a4e15759c806e9cde Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 13 Aug 2025 15:54:53 +0100 Subject: [PATCH 187/303] typo fixes --- docs/learn/ema.md | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/docs/learn/ema.md b/docs/learn/ema.md index f9f4535613..924d7538df 100644 --- a/docs/learn/ema.md +++ b/docs/learn/ema.md @@ -1,19 +1,19 @@ --- title: "Exponential Moving Averages (EMAs)in Bittensor" --- + # Exponential Moving Averages (EMAs) in Bittensor -The exponential moving average (EMA) is a [mathematical technique](https://en.wikipedia.org/wiki/Exponential_smoothing) for tracking a dynamic quantity, such as a token price, over time. Specifically, EMA is a weighted moving average that exponentially decreases the weight of older data point. This extracts a signal reflecting where the value has spent *most* of its time *most recently*, stabilizing or 'smoothing' the constant noise of rapid, largely random fluctuations. +The exponential moving average (EMA) is a [mathematical technique](https://en.wikipedia.org/wiki/Exponential_smoothing) for tracking a dynamic quantity, such as a token price, over time. Specifically, EMA is a weighted moving average that exponentially decreases the weight of older data point. This extracts a signal reflecting where the value has spent _most_ of its time _most recently_, stabilizing or 'smoothing' the constant noise of rapid, largely random fluctuations. Bittensor uses EMAs to smooth two critical dynamical values during the emission process: - Emissions to each subnet are determined by an EMA-smoothed representation of subnet price each tempo. This protects emissions from price volatility or intentional manipulation. -- Emissions to participants of each subnet are determined by EMAs of instantaneous validator-miner bond-strengths. This plays an important roll in ensuring that validators and miners are fairly rewarded for innovation, as measured by eventual consensus (rather than immediate consensus) about miner weights. +- Emissions to participants of each subnet are determined by EMAs of instantaneous validator-miner bond-strengths. This plays an important role in ensuring that validators and miners are fairly rewarded for innovation, as measured by eventual consensus (rather than immediate consensus) about miner weights. ## Mathematical definition - The EMA of a changing value at a given time is determined by weighted average of the current value and the EMA at the last time step. The parameter factor, or 'smoothing factor' is called $\alpha$. $$ @@ -30,14 +30,12 @@ The alpha parameter controls how quickly the EMA responds to changes: Note that this alpha parameter is distinct from and unrelated to the usage of 'alpha' to refer to subnet-specific currencies. ::: - - ## Subnet Price Emission Smoothing This use of EMA smoothing protects the network's economic model from price manipulation by making emissions extremely slow to respond to price changes. **How It Works**: -The price EMA uses a sophisticated dynamic alpha calculation to ensures that new subnets have even slower price adaptation than mature ones. +The price EMA uses a sophisticated dynamic alpha calculation to ensure that new subnets have even slower price adaptation than mature ones. $$ \alpha = \frac{ \mathrm{base\_alpha} \times \mathrm{blocks\_since\_start}}{\mathrm{blocks\_since\_start} + \mathrm{halving\_blocks}} @@ -48,6 +46,7 @@ The value for **base_alpha** in the above is currently ~0.0003 for Bittensor mai ::: See: + - [Yuma Consensus/Coinbase emission source code](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L223) - [Default alpha value for subnet price smoothing](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/lib.rs#L828) @@ -56,20 +55,24 @@ See: This smoothing function ensures that relationships between validators and miners evolve gradually, preventing sudden manipulation while rewarding validators who discover promising miners early. ### Basic Bond EMA (Liquid Alpha Disabled) + **Default Mode**: Single $\alpha$ for all validator-miner pairs + - **Default $\alpha$**: ~0.1 (10%) - **Response Time**: 7-22 blocks for significant changes (~1-4 minutes) - **Formula** - The EMA of the bond (BondEMA)of a validator i for a miner j, at time t, is the $\alpha$-weighted average of the instantaneous bond and the previous timestep's BondEMA: - $$ - BondEMA_{ij}^{(t)} = \alpha \times \, InstantBond_{ij} + (1-\alpha)\,BondEMA_{ij}^{(t-1)} - $$ + The EMA of the bond (BondEMA)of a validator i for a miner j, at time t, is the $\alpha$-weighted average of the instantaneous bond and the previous timestep's BondEMA: + $$ + BondEMA_{ij}^{(t)} = \alpha \times \, InstantBond_{ij} + (1-\alpha)\,BondEMA_{ij}^{(t-1)} + $$ ### Advanced Bond EMA (Liquid Alpha Enabled) + **Consensus-Based Mode**: Dynamic $\alpha$ per validator-miner pair based on consensus alignment -- **$\alpha$ Range**: Dynamic between $\alpha$_low and $\alpha$_high (default: 0.7 to 0.9) -- **Sigmoid Steepness**: Controls transition rate between $\alpha$_low and $\alpha$_high (default: 1000) + +- **$\alpha$ Range**: Dynamic between $\alpha$\_low and $\alpha$\_high (default: 0.7 to 0.9) +- **Sigmoid Steepness**: Controls transition rate between $\alpha$\_low and $\alpha$\_high (default: 1000) - **Individual Alpha**: Each validator-miner pair gets its own $\alpha$ value - **Response Time**: 1-13 blocks depending on consensus alignment (~12 seconds to 2.6 minutes) -See [Liquid Alpha/Consensus-Based Weights](../subnets/consensus-based-weights) \ No newline at end of file +See [Liquid Alpha/Consensus-Based Weights](../subnets/consensus-based-weights) From 8b6fc508142d689b4f7518f444529360af20e0a0 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 13 Aug 2025 20:35:42 +0100 Subject: [PATCH 188/303] minor edits --- docs/local-build/mine-validate.md | 7 ++++--- docusaurus.config.js | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/local-build/mine-validate.md b/docs/local-build/mine-validate.md index 7ad47ce1c2..1390c08bda 100644 --- a/docs/local-build/mine-validate.md +++ b/docs/local-build/mine-validate.md @@ -109,7 +109,7 @@ Subnet 2: New subnet ## 2. Acquire validator permit -To qualify as a validator on a subnet, a registered node must have a validator permit. This permit allows nodes to submit miner evaluations and set weights on a subnet. For more information, see [validator permits] +To qualify as a validator on a subnet, a registered node must have a validator permit. This permit allows nodes to submit miner evaluations and set weights on a subnet. For more information, see [validator permits](../validators/index.md#requirements-for-validation). To get validator permits on the demo subnet, you need to stake sufficient TAO to the validator hotkey. To do this, run the following command in the terminal: @@ -297,7 +297,8 @@ Insufficient balance 0.0000 τ to register neuron. Current recycle is 0.0970 τ -**Unregistered miner or validator**: +**Unregistered miner or validator** + This occurs when you attempt to run a miner or validator on a subnet where it is not registered.
      @@ -323,7 +324,7 @@ Failed set weights. Error: Subtensor returned `NeuronNoValidatorPermit(Module)`
      -**`WeightVecLengthIsLow`**: +**`WeightVecLengthIsLow`** This error occurs when the validator attempts to set weights for fewer elements than allowed. It often happens when all neurons in the subnet are unresponsive, causing the validator to try setting zero weights for each of them. diff --git a/docusaurus.config.js b/docusaurus.config.js index c08b6e4c0c..dfc319b768 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -190,7 +190,7 @@ const config = { alt: "Bittensor", src: "img/logo.svg", srcDark: "img/logo-dark-mode.svg", - href: "https://learnbittensor.org", + href: "https://docs.learnbittensor.org", style: { objectFit: "contain", width: 21, From 6299e7403cbd3e95998bac537a003a4d7a542735 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Thu, 14 Aug 2025 22:23:18 +0100 Subject: [PATCH 189/303] updates --- docs/local-build/mine-validate.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/local-build/mine-validate.md b/docs/local-build/mine-validate.md index 1390c08bda..e1ac9b63f5 100644 --- a/docs/local-build/mine-validate.md +++ b/docs/local-build/mine-validate.md @@ -194,7 +194,11 @@ cd subnet-template After getting the validator permits, you can now run the validator alongside the miner to begin participating in the subnet. -Begin by starting the miner process to produce and submit work to the subnet. Then, run the validator process to evaluate miner outputs and set weights for the network. +Begin by starting the miner process to produce and submit work to the subnet. Then, run the validator process on a different terminal tab to evaluate miner outputs and set weights for the network. + +:::info +To ensure proper operation, run the miner and validator processes concurrently, each in a separate terminal tab or session. +::: ### Start the miner process From f694ac140a4eaa3db1271d7dd4ecf31df238bf34 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 19 Aug 2025 15:24:07 +0100 Subject: [PATCH 190/303] btcli doc updates --- docs/btcli.md | 132 ++++++++++++++++++++++++++++++++++++++++++++-- docs/emissions.md | 2 +- 2 files changed, 130 insertions(+), 4 deletions(-) diff --git a/docs/btcli.md b/docs/btcli.md index 9e013acab4..c596148e25 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -38,7 +38,8 @@ btcli [OPTIONS] COMMAND [ARGS]... - `subnets`: Subnets commands, alias: `s`, `subnet` - `weights`: Weights commands, aliases: `wt`, `weight` - `utils` -- `view` +- `view`: HTML view commands +- `liquidity`: Liquidity commands, aliases: `l` ## `btcli config` @@ -2322,6 +2323,131 @@ btcli utils convert [OPTIONS] | `--tao` | FLOAT | Convert amount from Tao | | `--help` | | Show this message and exit. | ---- +## `btcli liquidity` + +**Usage:** + +```sh +btcli liquidity [OPTIONS] COMMAND [ARGS]... + +alias: l +``` + +Options: + +`--help`: Show this message and exit. + +Commands: + +- `add`: Add liquidity to the swap (as a combination of TAO + Alpha). +- `list`: Displays liquidity positions in given subnet. +- `modify`: Modifies the liquidity position for the given subnet. +- `remove`: Remove liquidity from the swap (as a combination of TAO + Alpha). + +### `btcli liquidity add` + +Add liquidity to the swap (as a combination of TAO + Alpha). + +**Usage:** + +```bash +btcli liquidity add [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| ---------------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--liquidity` | FLOAT | Amount of liquidity to add to the subnet. | +| `--price-low`, `--price_low`, `--liquidity-price-low`, `--liquidity_price_low` | FLOAT | Low price for the adding liquidity position. | +| `--price-high`, `--price_high`, `--liquidity-price-high`, `--liquidity_price_high` | FLOAT | High price for the adding liquidity position. | +| `--prompt/--no-prompt`, ` /--yes`, ` /--no_prompt`, ` /-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + +### `btcli liquidity list` + +Displays liquidity positions in given subnet. + +**Usage:** + +```bash +btcli liquidity list [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + +### `btcli liquidity modify` + +Modifies the liquidity position for the given subnet. + +**Usage:** + +```bash +btcli liquidity modify [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--position-id`, `--position_id` | INTEGER | Position ID for modification or removing. | +| `--liquidity-delta`, `--liquidity_delta` | FLOAT | Liquidity amount for modification. | +| `--prompt/--no-prompt`, ` /--yes`, ` /--no_prompt`, ` /-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | -Made with :heart: by The Openτensor Foundaτion +### `btcli liquidity remove` + +Remove liquidity from the swap (as a combination of TAO + Alpha). + +**Usage:** + +```bash +btcli liquidity remove [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--position-id`, `--position_id` | INTEGER | Position ID for modification or removal. | +| `--all`, `--a` | | Whether to remove all liquidity positions for given subnet. | +| `--prompt/--no-prompt`, ` /--yes`, ` /--no_prompt`, ` /-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + +--- diff --git a/docs/emissions.md b/docs/emissions.md index dd37f5b2eb..1a79d2831b 100644 --- a/docs/emissions.md +++ b/docs/emissions.md @@ -102,7 +102,7 @@ Each block, liquidity is also set aside to be emitted to participants (validator At the end of each tempo (360 blocks), the quantity of alpha accumulated over each block of the tempo is extracted by network participants in the following proportions: 1. 18% by subnet owner -1. 41% of emissions go to miners. The allocation to particular miners is determined by [Yuma Consensus: Miner emissions#miner-emissions](./yuma-consensus). +1. 41% of emissions go to miners. The allocation to particular miners is determined by [Yuma Consensus: Miner emissions#miner-emissions](../yuma-consensus). 1. 41% by validators and their stakers. 1. First, the allocation to validators miners is determined by [Yuma Consensus: Validator Emissions](./yuma-consensus#validator-emissions). From 1a04b83a417496153c42c8063cf517774667102a Mon Sep 17 00:00:00 2001 From: Dera Okeke <63825182+chideraao@users.noreply.github.com> Date: Tue, 19 Aug 2025 16:36:55 +0100 Subject: [PATCH 191/303] btcli 9.10.0 (#55) * btcli 9.10.0 * removed slippage * slippage pt.2 --- docs/btcli.md | 230 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 203 insertions(+), 27 deletions(-) diff --git a/docs/btcli.md b/docs/btcli.md index 9e013acab4..3c3b364aa8 100644 --- a/docs/btcli.md +++ b/docs/btcli.md @@ -97,7 +97,7 @@ btcli config set [OPTIONS] | `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | | `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | | `--cache`, `--cache`/`--no-cache`, `--no_cache` | | Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. | -| `--slippage`, `--slippage-tolerance`, `--tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | +| `--tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | | `--safe-staking`, `--safe`/`--no-safe-staking`, `--unsafe` | | Enable or disable safe staking mode. | | `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent partial stakes | | `--dashboard-path`, `--dashboard_path`, `--dash_path`, `--dash.path` | TEXT | Path to save the dashboard HTML file. For example: `~/.bittensor/dashboard`. | @@ -143,19 +143,19 @@ btcli config clear [OPTIONS] **Options**: -| Option | Type | Description | -| --------------------------------------------------------------------------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | -| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | -| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | -| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | -| `--cache` | | Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. | -| `--slippage`, `--slippage-tolerance`, `--tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | -| `--safe-staking`, `--safe`/`--no-safe-staking`, `--unsafe` | | Enable or disable safe staking mode. | -| `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent partial stakes | -| `--all` | | Clears the entire config. | -| `--dashboard-path`, `--dashboard_path`, `--dash_path`, `--dash.path` | TEXT | Path to save the dashboard HTML file. For example: `~/.bittensor/dashboard`. | -| `--help` | | Show this message and exit. | +| Option | Type | Description | +| --------------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--cache` | | Disable caching of some commands. This will disable the `--reuse-last` and `--html` flags on commands such as `subnets metagraph`, `stake show` and `subnets list`. | +| `--tolerance` | | | +| `--safe-staking`, `--safe`/`--no-safe-staking`, `--unsafe` | | Enable or disable safe staking mode. | +| `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent partial stakes | +| `--all` | | Clears the entire config. | +| `--dashboard-path`, `--dashboard_path`, `--dash_path`, `--dash.path` | TEXT | Path to save the dashboard HTML file. For example: `~/.bittensor/dashboard`. | +| `--help` | | Show this message and exit. | ## `btcli view` @@ -208,10 +208,14 @@ aliases: w, wallets **Commands**: - `list`: Displays all the wallets and their corresponding hotkeys that are located in the wallet path specified in the config. +- `associate_hotkey`: Associate a hotkey with a wallet(coldkey). - `swap-hotkey`: Swap hotkeys of a given wallet on the blockchain. +- `swap-coldkey`: Schedule a coldkey swap for a wallet. +- `swap-check`: Check the status of scheduled coldkey swaps. - `regen-coldkey`: Regenerate a coldkey for a wallet on the Bittensor blockchain network. - `regen-coldkeypub`: Regenerates the public part of a coldkey (`coldkeypub.txt`) for a wallet. - `regen-hotkey`: Regenerates a hotkey for a wallet. +- `regen-hotkeypub`: Regenerates the public part of a hotkey (`hotkeypub.txt`) for a wallet. - `new-hotkey`: Create a new hotkey for a wallet. - `new-coldkey`: Create a new coldkey. - `create`: Create a complete wallet by setting up both coldkey and hotkeys. @@ -253,6 +257,42 @@ btcli wallet list [OPTIONS] | `--verbose` | | Enable verbose output. | | `--help` | | Show this message and exit. | +### `btcli wallet associate-hotkey` + +This command is used to associate a hotkey with a wallet(coldkey). + +**Example** + +```sh +btcli wallet associate-hotkey --hotkey-name hotkey_name +``` + +```sh +btcli wallet associate-hotkey --hotkey-ss58 5DkQ4... +``` + +**Usage:** + +```sh +btcli w associate-hotkey [OPTIONS] + +alias: associate_hotkey +``` + +**Options** + +| Option | Type | Description | +| --------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey name or SS58 address of the hotkey. | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--help` | | Show this message and exit. | +| | + ### `btcli wallet swap-hotkey` Swap hotkeys of a given wallet on the blockchain. For a registered key pair, for example, a (coldkeyA, hotkeyA) pair, this command swaps the hotkeyA with a new, unregistered, hotkeyB to move the original registration to the (coldkeyA, hotkeyB) pair. @@ -297,6 +337,100 @@ alias: swap_hotkey | `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | | `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | | `--help` | | Show this message and exit. | +| | + +### `btcli wallet swap-coldkey` + +This command allows you to schedule a coldkey swap for a wallet. You can either provide a new wallet name, or SS58 address. + +**Example** + +```sh +btcli wallet swap-coldkey --new-wallet my_new_wallet +``` + +```sh +btcli wallet swap-coldkey --new-coldkey-ss58 5Dk...X3q +``` + +**Usage:** + +```sh +btcli wallet swap-coldkey [OPTIONS] + +alias: swap_coldkey +``` + +**Options** + +| Option | Type | Description | +| --------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--new-coldkey`, `--new-coldkey-ss58`, `--new-wallet`, `--new` | TEXT | SS58 address of the new coldkey that will replace the current one. | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--force`, `--force-swap`, `-f` | | Force the swap even if the new coldkey is already scheduled for a swap. | +| `--help` | | Show this message and exit. | +| | + +### `btcli wallet swap-check` + +This command checks the status of scheduled coldkey swaps. It can be used in one of three ways: + +- Show all pending swaps using the `--all` flag. +- Check status of a specific wallet's swap or SS58 address. +- Check detailed swap status with block number using the `--block` flag. + +**Example** + +Show all pending swaps: + +```sh +btcli wallet swap-check --all +``` + +Check specific wallet's swap: + +```sh + btcli wallet swap-check --wallet-name my_wallet +``` + +Check swap using SS58 address: + +```sh + btcli wallet swap-check --ss58 5DkQ4... +``` + +Check swap details with block number: + +```sh + btcli wallet swap-check --wallet-name my_wallet --block 12345 +``` + +**Usage:** + +```sh +btcli wallet swap-check [OPTIONS] + +alias: swap_check +``` + +**Options** +| Option | Type | Description | +| --------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--block` | INTEGER | Block number where the swap was scheduled. | +| `--all` | | Show all pending coldkey swaps | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--help` | | Show this message and exit. | +| | ### `btcli wallet regen-coldkey` @@ -431,6 +565,46 @@ alias: regen_hotkey | `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | | `--help` | | Show this message and exit. | +### `btcli wallet regen-hotkeypub` + +This command regenerates the public part of a hotkey (hotkeypub.txt) for a wallet. Use this command when you need to move machine for subnet mining. Use the public key or SS58 address from your hotkeypub.txt that you have on another machine to regenerate the hotkeypub.txt on this new machine. + +**Usage** +The command requires either a public key in hexadecimal format or an `SS58` address from the existing `hotkeypub.txt` from old machine to regenerate the coldkeypub on the new machine. + +**Example:** + +```sh +btcli wallet regen-hotkeypub --ss58_address 5DkQ4... +``` + +**Usage** + +```sh +btcli wallet regen-hotkeypub [OPTIONS] + +alias: regen_hotkeypub +``` + +:::info +This command is particularly useful for users who need to regenerate their hotkeypub, perhaps due to file corruption or loss. You will need either ss58 address or public hex key from your old `hotkeypub.txt` for the wallet. It is a recovery-focused utility that ensures continued access to your wallet functionalities. +::: + +**Options** + +| Option | Type | Description | +| ------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--public-key-hex`, | TEXT | The public key in hex format. | +| `--ss58`, `--ss58-address`, | TEXT | The SS58 address of the coldkey. | +| `--overwrite`/`--no-overwrite` | | Overwrite the existing wallet file with the new one. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + ### `btcli wallet new-hotkey` Create a new hotkey for a wallet. @@ -942,8 +1116,8 @@ Common Examples: ``` Safe Staking Parameters:--safe: Enables rate tolerance checks ---tolerance: Maximum % rate change allowed (0.05 = 5%) ---partial: Complete partial stake if rates exceed tolerance +`--tolerance`: Maximum % rate change allowed (0.05 = 5%) +`--partial`: Complete partial stake if rates exceed tolerance **Usage**: @@ -966,7 +1140,7 @@ btcli stake add [OPTIONS] | `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | | `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | | `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | -| `--slippage`, `--slippage-tolerance`, `--tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | +| `--tolerance`, `--rate-tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | | `--safe-staking`, `--safe`/`--no-safe-staking`, `--unsafe` | | Enable or disable safe staking mode. | | `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent partial stakes | | `--period`, `-era` | INTEGER | Length (in blocks) for which the transaction should be valid. | @@ -1020,9 +1194,9 @@ Common Examples: ``` Safe Staking Parameters: ---safe: Enables rate tolerance checks during unstaking ---tolerance: Max allowed rate change (0.05 = 5%) ---partial: Complete partial unstake if rates exceed tolerance +`--safe`: Enables rate tolerance checks during unstaking +`--tolerance`: Max allowed rate change (0.05 = 5%) +`--partial`: Complete partial unstake if rates exceed tolerance **Usage**: @@ -1047,7 +1221,7 @@ btcli stake remove [OPTIONS] | `--include-hotkeys`, `-in` | TEXT | Specifies hotkeys by name or ss58 address to unstake from. For example, `-in hk1,hk2` | | `--exclude-hotkeys`, `-ex` | TEXT | Specifies hotkeys by name or ss58 address to not to unstake from (use this option only with `--all-hotkeys`) i.e. `--all-hotkeys -ex hk3,hk4` | | `--all-hotkeys`/ `--no-all-hotkeys` | | When set, this command unstakes from all hotkeys associated with the wallet. Do not use if specifying hotkeys in `--include-hotkeys`. | -| `--slippage`, `--slippage-tolerance`, `--tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | +| `--tolerance`, `--rate-tolerance` | FLOAT | Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%) | | `--safe-staking`, `--safe`/`--no-safe-staking`, `--unsafe` | | Enable or disable safe staking mode. | | `--allow-partial-stake`, `--partial`, `--allow`/`--no-allow-partial-stake`, `--no-partial`, `--not-allow` | | Allow or prevent partial stakes | | `--period`, `-era` | INTEGER | Length (in blocks) for which the transaction should be valid. | @@ -1735,7 +1909,7 @@ aliases: subnet, s - `register`: Register a neuron (a subnet validator or a subnet miner) in the specified subnet by recycling some TAO. - `metagraph`: Displays detailed information about a... - `show`: Displays detailed information about a subnet including participants and their state. -- `price`: Shows the historical price of a subnet for the past 24 hours. +- `price`: Shows the historical price of a subnet for the past 4 hours. - `check-start`: Checks if a subnet's emission schedule can be started. - `set-identity`: Get the identity information for a subnet. - `get-identity`: Set or update the identity information for a subnet. @@ -2042,13 +2216,14 @@ btcli subnets show [OPTIONS] ### `btcli subnets price` -Shows the historical price of a subnet for the past 24 hours. +Shows the historical price of a subnet for the past 4 hours. This command displays the historical price of a subnet for the past 4 hours. -If the `--all` flag is used, the command will display the price for all subnets in html format. -If the `--html` flag is used, the command will display the price in an HTML chart. -If the `--log-scale` flag is used, the command will display the price in log scale. -If no html flag is used, the command will display the price in the cli. + +- If the `--all` flag is used, the command will display the price for all subnets in html format. +- If the `--html` flag is used, the command will display the price in an HTML chart. +- If the `--log-scale` flag is used, the command will display the price in log scale. +- If no html flag is used, the command will display the price in the cli. **Example:** @@ -2083,6 +2258,7 @@ btcli subnets price [OPTIONS] | `--interval-hours`, `--interval` | INTEGER | The number of hours to show the historical price for. | | `--all-netuids`, `--all` | | Show the price for all subnets. | | `--log-scale`, `--log` | | Show the price in log scale. | +| `--current` | | Show only the current data, and no historical data. | | `--html` | | Display the table as HTML in the browser. | | `--quiet` | | Display only critical information on the console. | | `--verbose` | | Enable verbose output. | From fbc3c332f2e5152bf4dda375c62932a38ab7afe0 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 19 Aug 2025 08:38:09 -0700 Subject: [PATCH 192/303] fee updates from subtensor v3.2.4 (#58) * wip * wip * wip --- docs/fees.md | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/docs/fees.md b/docs/fees.md index ef5ab4583f..861fb1d24a 100644 --- a/docs/fees.md +++ b/docs/fees.md @@ -18,8 +18,8 @@ Many extrinsics in Bittensor are subject to a flat **weight-based fee**. In Polk **Fee Details**: - **Current rate**: $\approx0.0013 \tau$ -- **Payment source**: Free balance of the transaction sender -- **Denomination**: TAO +- **Payment source**: Sender's TAO free balance by default. For specific extrinsics, if TAO is insufficient to cover fees, the chain will charge fees in Alpha instead (see "Smart Fee Payments (Alpha Fallback)" below). +- **Denomination**: TAO by default. When fees are paid in Alpha, the TAO fee amount is converted to Alpha using the current Alpha price (no slippage). - **Impact on liquidity**: Fees are *recycled* (deducted from `TotalIssuance`) See: [Recycling and Burning](./glossary#recycling-and-burning) @@ -47,6 +47,11 @@ It is currently planned that the fee coefficient will be reduced to $0.005%$ (10 - [`try_associate_hotkey`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1938) - [`schedule_swap_coldkey`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1333) +### Registration + +- [`register`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L895) +- [`burned_register`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L930) + ### Subnet Management - [`start_call`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L1963) @@ -88,6 +93,32 @@ It is currently planned that the fee coefficient will be reduced to $0.005%$ (10 +## Alpha Fallback + +For extrinsics that charge fees by swapping Alpha for TAO, if the sender's TAO balance cannot cover the weight-based transaction fee, the chain will fall back to charging the fee in Alpha. If both TAO and Alpha balances are insufficient to cover the anticipated fee, the transaction fails validation and will not be included in the mempool. When fees are paid in Alpha, the TAO fee is converted to Alpha using the current Alpha price with no slippage. + +### Affected extrinsics + +- `remove_stake` +- `remove_stake_limit` +- `remove_stake_full_limit` +- `unstake_all` +- `unstake_all_alpha` +- `move_stake` +- `transfer_stake` +- `swap_stake` +- `swap_stake_limit` +- `recycle_alpha` +- `burn_alpha` + +### Complete unstaking handling + +For `remove_stake`, `remove_stake_limit`, `recycle_alpha`, and `burn_alpha`: after withdrawing Alpha fees, if the remaining Alpha balance is too small to keep as a dust balance, the transaction will consume and process the entire remaining Alpha balance in the same call. + +### Updated handling of `NotEnoughStakeToWithdraw` + +For `remove_stake`, `remove_stake_limit`, `recycle_alpha`, and `burn_alpha`: if the requested amount exceeds the available Alpha, the amount is capped at the available Alpha and the extrinsic succeeds (assuming no other errors). + ## Swap Fees for Stake and Unstake Operations In addition to the weight-based fee above, staking and unstaking operations are subject to fees based on a percentage of the quantity of transacted liquidity. From 0d6d239841dc91d3c40e23c08f94a2895edd0835 Mon Sep 17 00:00:00 2001 From: open-junius <165236073+open-junius@users.noreply.github.com> Date: Wed, 20 Aug 2025 07:57:53 +0800 Subject: [PATCH 193/303] add staking v2 precompile (#64) Co-authored-by: Your Name --- docs/evm-tutorials/staking-precompile.md | 69 +++++++++--------------- 1 file changed, 24 insertions(+), 45 deletions(-) diff --git a/docs/evm-tutorials/staking-precompile.md b/docs/evm-tutorials/staking-precompile.md index 0fabbf9644..8ec0629c7d 100644 --- a/docs/evm-tutorials/staking-precompile.md +++ b/docs/evm-tutorials/staking-precompile.md @@ -27,10 +27,9 @@ In this tutorial you will learn how to interact with staking precompile in two w ```sh btcli subnet create --network ws://127.0.0.1:9944 -btcli subnet register --network ws://127.0.0.1:9944 +btcli subnet register --network ws://127.0.0.1:9944 ``` - 3. Save the delegate hotkey address. You will use this in the staking pool use case below. 4. Disable staking rate limits by setting `targetStakesPerInterval` to 1000. Follow these below steps: @@ -40,13 +39,17 @@ btcli subnet register --network ws://127.0.0.1:9944 - Click on **Submit Transaction** at the bottom right. This will open the **authorize transaction** window. - On this **authorize transaction** window, make sure the **sign and submit** toggle is ON and click on the **Sign and Submit** on the bottom right. +## Staking V1 and V2. + +There are two versions of staking precompile implemenation, V1 and V2. The contract address for V1 is `0x0000000000000000000000000000000000000801`. The address for V2 is `0x0000000000000000000000000000000000000805`. The V1 is deprecated, just being kept for compatiable with old interface. The major difference between V1 and V2 is, the staking amount is fetched from the msg.value in V1. Then precompile transfer the token back to caller. It is misleading and confuses the solidity developers. In V2 implementation, all amount parameters are defined as parameter of transaction. + ## Call the staking precompile from another smart contract (staking pool use case) -In this interaction you will compile [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol), a smart contract Solidity code and execute it on the subtensor EVM. This `stake.sol` will, in turn, call the staking precompile that is already deployed in the subtensor EVM. +In this interaction you will compile [`stakeV2.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stakeV2.sol), a smart contract Solidity code and execute it on the subtensor EVM. This `stakeV2.sol` will, in turn, call the staking precompile that is already deployed in the subtensor EVM. -Before you proceed, familiarize yourself with the Solidity code of the [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol) smart contract. +Before you proceed, familiarize yourself with the Solidity code of the [`stakeV2.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stakeV2.sol) smart contract. -1. Copy the text of [`stake.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stake.sol) contract to Remix IDE. +1. Copy the text of [`stakeV2.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stakeV2.sol) contract to Remix IDE. 2. You will now convert your delegate hotkey ss58 from the above [Setup EVM localnet, subnet and delegate](#setup-evm-localnet-subnet-and-delegate) step into its corresponding public key. Use the [ss58.org](https://ss58.org/) site to obtain the public key for your delegate hotkey ss58. @@ -64,48 +67,11 @@ Before you proceed, familiarize yourself with the Solidity code of the [`stake.s In this tutorial, you will interact directly with the staking precompile by using its ABI, and use your Metamask wallet as the source of TAO to stake. -1. Copy this below ABI of staking precompile contract into Remix IDE as a new file: - - ```json - [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "hotkey", - "type": "bytes32" - } - ], - "name": "addStake", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "hotkey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "removeStake", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } - ] - ``` - -2. Copy staking precompile address `0x0000000000000000000000000000000000000801` to the **At Address** field in Remix IDE, and click **At Address** button. +1. Copy this below ABI from https://github.com/opentensor/subtensor/blob/main/precompiles/src/solidity/stakingV2.abi into Remix IDE as a new file. -3. Remix IDE will find the precompile at the precompile address on the subtensor EVM and show it in the list of deployed contracts. Expand the contract, then expand the `addStake` method, and paste the public key of your delegate hotkey into the `hotkey` field. Then click **transact** and wait for the transaction to be completed. +2. Copy staking precompile address `0x0000000000000000000000000000000000000805` to the **At Address** field in Remix IDE, and click **At Address** button. +3. Remix IDE will find the precompile at the precompile address on the subtensor EVM and show it in the list of deployed contracts. Expand the contract, then expand the `addStake` method, and paste the public key of your delegate hotkey into the `hotkey` field. Then click **transact** and wait for the transaction to be completed. 4. Follow these steps to see that the stake record is updated in [Polkadot JS app](https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/chainstate): @@ -114,3 +80,16 @@ In this tutorial, you will interact directly with the staking precompile by usin 3. Toggle **include option** OFF for the second parameter. 4. Click the **+** button and find the new stake record. +## Questions about Call the staking precompile from another smart contract. + +1. which one is the coldkey? + Since the precompile can't get the orginal caller, the precompile takes the contract's address as coldkey. +2. is the token subtracted from contract or original caller if calling the addStake + The contract need to pay the token. so must guarantee the balance of contract is enough to call addStake. +3. any security issue for the contract + Because the token for addStake is subtracted from contract. We must set the transaction as priviledged one. + like the example in [the link will be available after a PR merged in subtensor side] +4. the unit of amount in addStake, removeStake + As the function parameter indicates, all these are aligned with the decimal of TAO +5. If transfer token to contract in msg.value, and trigger the contract to call precompile. should the function in contract do the decimal convert. + Yes. the decimal in msg.value is 18. need conversion like `uint256 amount = msg.value / 1e9` From 4ac6f4675a19873fd51a7a38ae2e3ae35bf858e3 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 19 Aug 2025 17:07:20 -0700 Subject: [PATCH 194/303] finishing polish on #64 --- docs/evm-tutorials/staking-precompile.md | 29 ++++++++++-------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/docs/evm-tutorials/staking-precompile.md b/docs/evm-tutorials/staking-precompile.md index 8ec0629c7d..fe0f10a7cf 100644 --- a/docs/evm-tutorials/staking-precompile.md +++ b/docs/evm-tutorials/staking-precompile.md @@ -39,13 +39,13 @@ btcli subnet register --network ws://127.0.0.1:9944 - Click on **Submit Transaction** at the bottom right. This will open the **authorize transaction** window. - On this **authorize transaction** window, make sure the **sign and submit** toggle is ON and click on the **Sign and Submit** on the bottom right. -## Staking V1 and V2. +## Staking V1 and V2 -There are two versions of staking precompile implemenation, V1 and V2. The contract address for V1 is `0x0000000000000000000000000000000000000801`. The address for V2 is `0x0000000000000000000000000000000000000805`. The V1 is deprecated, just being kept for compatiable with old interface. The major difference between V1 and V2 is, the staking amount is fetched from the msg.value in V1. Then precompile transfer the token back to caller. It is misleading and confuses the solidity developers. In V2 implementation, all amount parameters are defined as parameter of transaction. +There are two versions of staking precompile implemenation, V1 and V2. The contract address for V1 is `0x0000000000000000000000000000000000000801`. The address for V2 is `0x0000000000000000000000000000000000000805`. V1 is deprecated, but is kept for backwards-compatibility. The major difference between V1 and V2 is that the staking amount is fetched from the `msg.value` in V1. Then precompile transfers the token back to the caller. It is misleading and confuses solidity developers. In the V2 implementation, all amount parameters are defined as parameter of transaction. ## Call the staking precompile from another smart contract (staking pool use case) -In this interaction you will compile [`stakeV2.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stakeV2.sol), a smart contract Solidity code and execute it on the subtensor EVM. This `stakeV2.sol` will, in turn, call the staking precompile that is already deployed in the subtensor EVM. +In this interaction you will compile [`stakeV2.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stakeV2.sol), a Solidity smart contract code, and execute it on the Subtensor EVM. This `stakeV2.sol` will, in turn, call the staking precompile that is already deployed on the Subtensor EVM. Before you proceed, familiarize yourself with the Solidity code of the [`stakeV2.sol`](https://github.com/opentensor/evm-bittensor/blob/main/solidity/stakeV2.sol) smart contract. @@ -67,7 +67,7 @@ Before you proceed, familiarize yourself with the Solidity code of the [`stakeV2 In this tutorial, you will interact directly with the staking precompile by using its ABI, and use your Metamask wallet as the source of TAO to stake. -1. Copy this below ABI from https://github.com/opentensor/subtensor/blob/main/precompiles/src/solidity/stakingV2.abi into Remix IDE as a new file. +1. Copy the ABI from https://github.com/opentensor/subtensor/blob/main/precompiles/src/solidity/stakingV2.abi into Remix IDE as a new file. 2. Copy staking precompile address `0x0000000000000000000000000000000000000805` to the **At Address** field in Remix IDE, and click **At Address** button. @@ -80,16 +80,11 @@ In this tutorial, you will interact directly with the staking precompile by usin 3. Toggle **include option** OFF for the second parameter. 4. Click the **+** button and find the new stake record. -## Questions about Call the staking precompile from another smart contract. - -1. which one is the coldkey? - Since the precompile can't get the orginal caller, the precompile takes the contract's address as coldkey. -2. is the token subtracted from contract or original caller if calling the addStake - The contract need to pay the token. so must guarantee the balance of contract is enough to call addStake. -3. any security issue for the contract - Because the token for addStake is subtracted from contract. We must set the transaction as priviledged one. - like the example in [the link will be available after a PR merged in subtensor side] -4. the unit of amount in addStake, removeStake - As the function parameter indicates, all these are aligned with the decimal of TAO -5. If transfer token to contract in msg.value, and trigger the contract to call precompile. should the function in contract do the decimal convert. - Yes. the decimal in msg.value is 18. need conversion like `uint256 amount = msg.value / 1e9` +## Notes: Calling the staking precompile from another smart contract + + - The precompile takes the contract's address as the **coldkey**, since the precompile can't get the original caller. + - The **contract** (not the caller's coldkey) must have sufficient liquidity or the transaction will fail. + - The transaction must be *privileged* because the liquidity for `addStake` is subtracted from contract. + + - As the function parameter indicates, `amount` in `addStake` and `removeStake` are specified in TAO $\tau$. + - That when transferring liquidity to the contract, `msg.value` is in denominations of 1/1e18 TAO $\tau$ . The staking precompile, however, expects RAO, 1/1e9 TAO $\tau$. You must convert before calling it: **uint256 amount = msg.value / 1e9**. From 8969b9725954aa4421293da9265b93503f1670af Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Thu, 21 Aug 2025 09:34:04 -0700 Subject: [PATCH 195/303] add community links page (#68) --- docs/community-links.md | 35 +++++++++++++++++++++++++++++++++++ sidebars.js | 1 + 2 files changed, 36 insertions(+) create mode 100644 docs/community-links.md diff --git a/docs/community-links.md b/docs/community-links.md new file mode 100644 index 0000000000..7719a84bc7 --- /dev/null +++ b/docs/community-links.md @@ -0,0 +1,35 @@ +--- +title: "Bittensor Community Links" +--- + +# Bittensor Community Links + +Welcome to the Bittensor ecosystem! This page provides links to essential community tools and resources to help you navigate the Bittensor network. + +You can also explore Bittensor's many Subnets and find links to their websites and repositories through [our Subnet listings](https://learnbittensor.org/subnets). + +## Opentensor Foundation (OTF) + +- **Twitter**: [@opentensor](https://x.com/opentensor) - Official announcements and updates +- **Podcast**: [Novelty Search](https://www.youtube.com/@Opentensor/podcasts) - Official Opentensor Foundation podcast +- **Discord**: [Join the Bittensor Discord Server](https://discord.com/invite/bittensor) - Connect with the community, ask questions, and stay updated + + +## Block Explorers + +- **[TAO.app](https://tao.app)** - Recommended (maintained by [Latent](https://latent.to/), the team behind these docs and core contributors to the Bittensor ecosystem). Includes [Savant](https://tao.app/savant), the chain explorer AI assistant. +- **[Taostats](https://taostats.io/)** +- **[Taomarketcap](https://taomarketcap.com/)** + +## Wallet Applications + +- **[Bittensor Wallet](https://bittensor.com/wallet)** - Recommended (maintained by OTF). +- **[Other Polkadot Wallets](https://polkadot.com/get-started/wallets/)** - Multi-chain wallets capable of interacting with Bittensor. + +## Development Resources + +- **[BTCLI](https://github.com/opentensor/btcli)**, the Bittensor CLI +- The **[Bittensor SDK](https://github.com/opentensor/bittensor)** +- **[Subtensor](https://github.com/opentensor/subtensor)**, Bittensor's substrate blockchain + + diff --git a/sidebars.js b/sidebars.js index 7497fb2b3e..a52a82341b 100644 --- a/sidebars.js +++ b/sidebars.js @@ -44,6 +44,7 @@ const sidebars = { "yuma-consensus", "subnets/yc3-blog", "fees", + "community-links", ], }, { From 5a808381ec31aec6542267526541d817f2367d6b Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Thu, 21 Aug 2025 09:44:42 -0700 Subject: [PATCH 196/303] update transaction fee --- docs/fees.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/fees.md b/docs/fees.md index 861fb1d24a..0630a938da 100644 --- a/docs/fees.md +++ b/docs/fees.md @@ -17,15 +17,12 @@ Reading the state of the chain is always free. Many extrinsics in Bittensor are subject to a flat **weight-based fee**. In Polkadot-based chains like Subtensor (Bittensor's layer 1 blockchain), [weight](https://docs.polkadot.com/polkadot-protocol/glossary/#weight) is a measure of compute time. **Fee Details**: -- **Current rate**: $\approx0.0013 \tau$ +- **Current rate**: $\approx0.00013 \tau$ (reduced from $\approx0.0013 \tau$) - **Payment source**: Sender's TAO free balance by default. For specific extrinsics, if TAO is insufficient to cover fees, the chain will charge fees in Alpha instead (see "Smart Fee Payments (Alpha Fallback)" below). - **Denomination**: TAO by default. When fees are paid in Alpha, the TAO fee amount is converted to Alpha using the current Alpha price (no slippage). - **Impact on liquidity**: Fees are *recycled* (deducted from `TotalIssuance`) See: [Recycling and Burning](./glossary#recycling-and-burning) -:::tip Planned reduction -It is currently planned that the fee coefficient will be reduced to $0.005%$ (10x reduction). -::: ### Staking Operations - [`add_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L591) @@ -81,7 +78,7 @@ It is currently planned that the fee coefficient will be reduced to $0.005%$ (10 fn polynomial() -> WeightToFeeCoefficients { let coefficient = WeightToFeeCoefficient { coeff_integer: 0, - coeff_frac: Perbill::from_parts(500_000), // 0.05% + coeff_frac: Perbill::from_parts(50_000), // 0.005% negative: false, degree: 1, }; @@ -89,7 +86,7 @@ It is currently planned that the fee coefficient will be reduced to $0.005%$ (10 } } ``` - **Source code reference:** [`runtime/src/lib.rs:448-463`](https://github.com/opentensor/subtensor/blob/main/runtime/src/lib.rs#L448-L463) + **Source code reference:** [`pallets/transaction-fee/src/lib.rs:44-56`](https://github.com/opentensor/subtensor/blob/main/pallets/transaction-fee/src/lib.rs#L44-L56) From 2f1a9fa272949b8cfb60f05a5c8c564b676e0536 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Thu, 21 Aug 2025 09:52:34 -0700 Subject: [PATCH 197/303] Fee quick fix 2025 08 21 (#71) --- docs/fees.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/fees.md b/docs/fees.md index 0630a938da..6770710a88 100644 --- a/docs/fees.md +++ b/docs/fees.md @@ -12,13 +12,11 @@ Staking and unstaking operations incur weight-based fees as well as amount-based Reading the state of the chain is always free. -## Weight-Based Transaction Fees - -Many extrinsics in Bittensor are subject to a flat **weight-based fee**. In Polkadot-based chains like Subtensor (Bittensor's layer 1 blockchain), [weight](https://docs.polkadot.com/polkadot-protocol/glossary/#weight) is a measure of compute time. +## Flat Transaction Fees **Fee Details**: - **Current rate**: $\approx0.00013 \tau$ (reduced from $\approx0.0013 \tau$) -- **Payment source**: Sender's TAO free balance by default. For specific extrinsics, if TAO is insufficient to cover fees, the chain will charge fees in Alpha instead (see "Smart Fee Payments (Alpha Fallback)" below). +- **Payment source**: Sender's TAO free balance by default. For specific extrinsics, if TAO is insufficient to cover fees, the chain will charge fees in Alpha instead (see [Alpha Fallback](#alpha-fallback)) - **Denomination**: TAO by default. When fees are paid in Alpha, the TAO fee amount is converted to Alpha using the current Alpha price (no slippage). - **Impact on liquidity**: Fees are *recycled* (deducted from `TotalIssuance`) See: [Recycling and Burning](./glossary#recycling-and-burning) From 54e05bd6f9a1333127eadb1773286368951d72e0 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 21 Aug 2025 17:57:13 -0700 Subject: [PATCH 198/303] wip --- docs/fees.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/fees.md b/docs/fees.md index 6770710a88..eaaa8176af 100644 --- a/docs/fees.md +++ b/docs/fees.md @@ -12,7 +12,9 @@ Staking and unstaking operations incur weight-based fees as well as amount-based Reading the state of the chain is always free. -## Flat Transaction Fees +## Weight-Based Transaction Fees + +Many extrinsics in Bittensor are subject to **weight-based fee**. In Polkadot-based chains like Subtensor (Bittensor's layer 1 blockchain), [weight](https://docs.polkadot.com/polkadot-protocol/glossary/#weight) is a measure of compute time. **Fee Details**: - **Current rate**: $\approx0.00013 \tau$ (reduced from $\approx0.0013 \tau$) @@ -21,7 +23,6 @@ Reading the state of the chain is always free. - **Impact on liquidity**: Fees are *recycled* (deducted from `TotalIssuance`) See: [Recycling and Burning](./glossary#recycling-and-burning) - ### Staking Operations - [`add_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L591) - [`remove_stake`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L635) From a8cd7709485a1615d038f66d957717270aa74f29 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 21 Aug 2025 18:01:16 -0700 Subject: [PATCH 199/303] wip --- docs/fees.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/fees.md b/docs/fees.md index eaaa8176af..11d9d13525 100644 --- a/docs/fees.md +++ b/docs/fees.md @@ -6,9 +6,7 @@ title: "Transaction Fees in Bittensor" This page describes the blockchain transaction fees charged by Bittensor. -Many extrinsic transactions that change the state of the blockchain are subject to a flat fee of approximately 0.0013 $\tau$. - -Staking and unstaking operations incur weight-based fees as well as amount-based fees of 0.05% of the transacted liquidity. +Many extrinsic transactions that change the state of the blockchain are subject to a small, weight-based fee. Staking and unstaking operations incur weight-based fees as well as amount-based fees of 0.05% of the transacted liquidity. Reading the state of the chain is always free. @@ -16,8 +14,7 @@ Reading the state of the chain is always free. Many extrinsics in Bittensor are subject to **weight-based fee**. In Polkadot-based chains like Subtensor (Bittensor's layer 1 blockchain), [weight](https://docs.polkadot.com/polkadot-protocol/glossary/#weight) is a measure of compute time. -**Fee Details**: -- **Current rate**: $\approx0.00013 \tau$ (reduced from $\approx0.0013 \tau$) +**Fee Details**: - **Payment source**: Sender's TAO free balance by default. For specific extrinsics, if TAO is insufficient to cover fees, the chain will charge fees in Alpha instead (see [Alpha Fallback](#alpha-fallback)) - **Denomination**: TAO by default. When fees are paid in Alpha, the TAO fee amount is converted to Alpha using the current Alpha price (no slippage). - **Impact on liquidity**: Fees are *recycled* (deducted from `TotalIssuance`) @@ -117,7 +114,7 @@ For `remove_stake`, `remove_stake_limit`, `recycle_alpha`, and `burn_alpha`: if ## Swap Fees for Stake and Unstake Operations -In addition to the weight-based fee above, staking and unstaking operations are subject to fees based on a percentage of the quantity of transacted liquidity. +In addition to the weight-based fee above, staking and unstaking operations are subject to fees based on a percentage of the quantity of transacted liquidity. Transfer, swap, and move incur these 0.05% fees when moving stake between different subnets. If the move happens within the same subnet, no additional fee is incurred, only the weight-based fee. **Fee Details:** - **Rate**: 0.05% From 09f5da5ff6bef3bd77ec224514986e3305433160 Mon Sep 17 00:00:00 2001 From: Dera Okeke <63825182+chideraao@users.noreply.github.com> Date: Fri, 22 Aug 2025 12:45:06 +0100 Subject: [PATCH 200/303] Update fees.md --- docs/fees.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/fees.md b/docs/fees.md index 11d9d13525..bbbc0495df 100644 --- a/docs/fees.md +++ b/docs/fees.md @@ -114,7 +114,7 @@ For `remove_stake`, `remove_stake_limit`, `recycle_alpha`, and `burn_alpha`: if ## Swap Fees for Stake and Unstake Operations -In addition to the weight-based fee above, staking and unstaking operations are subject to fees based on a percentage of the quantity of transacted liquidity. Transfer, swap, and move incur these 0.05% fees when moving stake between different subnets. If the move happens within the same subnet, no additional fee is incurred, only the weight-based fee. +In addition to the weight-based fee above, staking and unstaking operations are subject to fees based on a percentage of the quantity of transacted liquidity. When moving stake between subnets—whether through a transfer, swap, or move—a 0.05% fee is applied. If the move happens within the same subnet, no additional fee is incurred, only the weight-based fee. **Fee Details:** - **Rate**: 0.05% From 075be27579857dc73adbfffb00f0bba34ed23238 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Mon, 25 Aug 2025 13:09:39 -0700 Subject: [PATCH 201/303] Clean up cruft 2025 08 25 (#73) --- docs/_subnet-pages/index.md | 207 -------------------------------- docs/_subnet-pages/subnet-0.md | 50 -------- docs/_subnet-pages/subnet-1.md | 50 -------- docs/_subnet-pages/subnet-10.md | 50 -------- docs/_subnet-pages/subnet-11.md | 50 -------- docs/_subnet-pages/subnet-12.md | 50 -------- docs/_subnet-pages/subnet-13.md | 52 -------- docs/_subnet-pages/subnet-14.md | 50 -------- docs/_subnet-pages/subnet-15.md | 50 -------- docs/_subnet-pages/subnet-16.md | 50 -------- docs/_subnet-pages/subnet-17.md | 50 -------- docs/_subnet-pages/subnet-18.md | 52 -------- docs/_subnet-pages/subnet-19.md | 50 -------- docs/_subnet-pages/subnet-2.md | 56 --------- docs/_subnet-pages/subnet-20.md | 60 --------- docs/_subnet-pages/subnet-21.md | 50 -------- docs/_subnet-pages/subnet-22.md | 50 -------- docs/_subnet-pages/subnet-23.md | 51 -------- docs/_subnet-pages/subnet-24.md | 51 -------- docs/_subnet-pages/subnet-25.md | 48 -------- docs/_subnet-pages/subnet-26.md | 50 -------- docs/_subnet-pages/subnet-27.md | 52 -------- docs/_subnet-pages/subnet-28.md | 51 -------- docs/_subnet-pages/subnet-29.md | 50 -------- docs/_subnet-pages/subnet-3.md | 54 --------- docs/_subnet-pages/subnet-30.md | 50 -------- docs/_subnet-pages/subnet-31.md | 53 -------- docs/_subnet-pages/subnet-32.md | 77 ------------ docs/_subnet-pages/subnet-4.md | 50 -------- docs/_subnet-pages/subnet-5.md | 56 --------- docs/_subnet-pages/subnet-6.md | 52 -------- docs/_subnet-pages/subnet-7.md | 51 -------- docs/_subnet-pages/subnet-8.md | 53 -------- docs/_subnet-pages/subnet-9.md | 54 --------- docs/questions-and-answers.md | 4 +- 35 files changed, 2 insertions(+), 1932 deletions(-) delete mode 100644 docs/_subnet-pages/index.md delete mode 100644 docs/_subnet-pages/subnet-0.md delete mode 100644 docs/_subnet-pages/subnet-1.md delete mode 100644 docs/_subnet-pages/subnet-10.md delete mode 100644 docs/_subnet-pages/subnet-11.md delete mode 100644 docs/_subnet-pages/subnet-12.md delete mode 100644 docs/_subnet-pages/subnet-13.md delete mode 100644 docs/_subnet-pages/subnet-14.md delete mode 100644 docs/_subnet-pages/subnet-15.md delete mode 100644 docs/_subnet-pages/subnet-16.md delete mode 100644 docs/_subnet-pages/subnet-17.md delete mode 100644 docs/_subnet-pages/subnet-18.md delete mode 100644 docs/_subnet-pages/subnet-19.md delete mode 100644 docs/_subnet-pages/subnet-2.md delete mode 100644 docs/_subnet-pages/subnet-20.md delete mode 100644 docs/_subnet-pages/subnet-21.md delete mode 100644 docs/_subnet-pages/subnet-22.md delete mode 100644 docs/_subnet-pages/subnet-23.md delete mode 100644 docs/_subnet-pages/subnet-24.md delete mode 100644 docs/_subnet-pages/subnet-25.md delete mode 100644 docs/_subnet-pages/subnet-26.md delete mode 100644 docs/_subnet-pages/subnet-27.md delete mode 100644 docs/_subnet-pages/subnet-28.md delete mode 100644 docs/_subnet-pages/subnet-29.md delete mode 100644 docs/_subnet-pages/subnet-3.md delete mode 100644 docs/_subnet-pages/subnet-30.md delete mode 100644 docs/_subnet-pages/subnet-31.md delete mode 100644 docs/_subnet-pages/subnet-32.md delete mode 100644 docs/_subnet-pages/subnet-4.md delete mode 100644 docs/_subnet-pages/subnet-5.md delete mode 100644 docs/_subnet-pages/subnet-6.md delete mode 100644 docs/_subnet-pages/subnet-7.md delete mode 100644 docs/_subnet-pages/subnet-8.md delete mode 100644 docs/_subnet-pages/subnet-9.md diff --git a/docs/_subnet-pages/index.md b/docs/_subnet-pages/index.md deleted file mode 100644 index 0c7c57692c..0000000000 --- a/docs/_subnet-pages/index.md +++ /dev/null @@ -1,207 +0,0 @@ ---- -title: "Subnet Pages" -hide_table_of_contents: true ---- - -import { HiAcademicCap } from "react-icons/hi2"; -import { SiRootssage } from "react-icons/si"; - -# Subnet Pages - -This section presents key information for each subnet. Click on a subnet card to go to its details page. - -:::tip Updating subnet details page -If your subnet details page need updates, then [submit a GitHub issue](https://github.com/latent-to/developer-docs/issues/new). -::: - - - - - - - α} - title='Subnet 1' - link='/subnet-pages/subnet-1' - body='text prompting' /> - β} - title='Subnet 2' - link='/subnet-pages/subnet-2' - body='Omron' /> - γ} - title='Subnet 3' - link='/subnet-pages/subnet-3' - body='data scraping' /> - Δ} - title='Subnet 4' - link='/subnet-pages/subnet-4' - body='Targon' /> - - - - ε} - title='Subnet 5' - link='/subnet-pages/subnet-5' - body='OpenKaito Search' /> - ζ} - title='Subnet 6' - link='/subnet-pages/subnet-6' - body='Nous Finetuning' /> - η} - title='Subnet 7' - link='/subnet-pages/subnet-7' - body='storage subnet' /> - θ} - title='Subnet 8' - link='/subnet-pages/subnet-8' - body='PTN' /> - - - - ι} - title='Subnet 9' - link='/subnet-pages/subnet-9' - body='pretraining' /> - κ} - title='Subnet 10' - link='/subnet-pages/subnet-10' - body='Map reduce' /> - λ} - title='Subnet 11' - link='/subnet-pages/subnet-11' - body='transcription' /> - μ} - title='Subnet 12' - link='/subnet-pages/subnet-12' - body='Compute Horde' /> - - - - ν} - title='Subnet 13' - link='/subnet-pages/subnet-13' - body='data universe' /> - ξ} - title='Subnet 14' - link='/subnet-pages/subnet-14' - body='llm defender' /> - ο} - title='Subnet 15' - link='/subnet-pages/subnet-15' - body='blockchain insights' /> - π} - title='Subnet 16' - link='/subnet-pages/subnet-16' - body='audio subnet' /> - - - - ρ} - title='Subnet 17' - link='/subnet-pages/subnet-17' - body='flavia inference' /> - σ} - title='Subnet 18' - link='/subnet-pages/subnet-18' - body='cortex.t' /> - τ} - title='Subnet 19' - link='/subnet-pages/subnet-19' - body='vision' /> - υ} - title='Subnet 20' - link='/subnet-pages/subnet-20' - body='bitagent' /> - - - - φ} - title='Subnet 21' - link='/subnet-pages/subnet-21' - body='filetao' /> - χ} - title='Subnet 22' - link='/subnet-pages/subnet-22' - body='smart-scrape' /> - ψ} - title='Subnet 23' - link='/subnet-pages/subnet-23' - body='NicheImage' /> - ω} - title='Subnet 24' - link='/subnet-pages/subnet-24' - body='cellular automata' /> - - - - א} - title='Subnet 25' - link='/subnet-pages/subnet-25' - body='distributed training' /> - ב} - title='Subnet 26' - link='/subnet-pages/subnet-26' - body='ImageAlchemy' /> - ג} - title='Subnet 27' - link='/subnet-pages/subnet-27' - body='compute subnet' /> - ד} - title='Subnet 28' - link='/subnet-pages/subnet-28' - body='S&P 500 Oracle' /> - - - - ה} - title='Subnet 29' - link='/subnet-pages/subnet-29' - body='Fractal' /> - ו} - title='Subnet 30' - link='/subnet-pages/subnet-30' - body='Unknown' /> - ז} - title='Subnet 31' - link='/subnet-pages/subnet-31' - body='healthcare' /> - ח} - title='Subnet 32' - link='/subnet-pages/subnet-32' - body='It's AI: LLM Detection' /> - diff --git a/docs/_subnet-pages/subnet-0.md b/docs/_subnet-pages/subnet-0.md deleted file mode 100644 index 7713934d50..0000000000 --- a/docs/_subnet-pages/subnet-0.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 0" ---- - -# Subnet 0 - -## Name - -Root network - -## Netuid -0 - -## Description - -The weights for the subnets are set by the root network validators. These root network weights determine the emissions for all the subnets. See more at [Root network](../emissions.md#root-network). - -## Subnet owner - -Opentensor Foundation - -## GitHub - -https://github.com/opentensor/bittensor - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-1.md b/docs/_subnet-pages/subnet-1.md deleted file mode 100644 index 8c8adb7600..0000000000 --- a/docs/_subnet-pages/subnet-1.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 1" ---- - -# Subnet 1 - -## Name - -Text prompting - -## Netuid -1 - -## Description - -Incentivizes subnet miners who produce the best prompt completions in response to the prompts sent by the subnet validators in that subnet. - -## Subnet owner - -Macrocosmos - -## GitHub - -https://github.com/opentensor/prompting - - diff --git a/docs/_subnet-pages/subnet-10.md b/docs/_subnet-pages/subnet-10.md deleted file mode 100644 index a07db36ede..0000000000 --- a/docs/_subnet-pages/subnet-10.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 10" ---- - -# Subnet 10 - -## Name - -Map Reduce - -## Netuid -10 - -## Description - -This subnet (Map Reduce Subnet) incentivizes miners by offering rewards for contributing network bandwidth and memory resources. - -## Subnet owner - -https://github.com/dream-well/map-reduce-subnet/ - -## GitHub - -https://github.com/dream-well/map-reduce-subnet/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-11.md b/docs/_subnet-pages/subnet-11.md deleted file mode 100644 index 4af96fe40b..0000000000 --- a/docs/_subnet-pages/subnet-11.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 11" ---- - -# Subnet 11 - -## Name - -Transcription Subnet - -## Netuid -11 - -## Description - -Miners are responsible for transcribing spoken language into accurate written text using advanced speech-to-text models, while validators ensure the quality and reliability of these transcriptions. This synergetic process not only makes audio content universally accessible and searchable but also significantly amplifies its value across diverse sectors. - -## Subnet owner - -https://github.com/Cazure8/transcription-subnet - -## GitHub - -https://github.com/Cazure8/transcription-subnet - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-12.md b/docs/_subnet-pages/subnet-12.md deleted file mode 100644 index 03a7db0d7b..0000000000 --- a/docs/_subnet-pages/subnet-12.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 12" ---- - -# Subnet 12 - -## Name - -ComputeHorde - -## Netuid -12 - -## Description - -A subnet that provides compute resources. - -## Subnet owner - -https://github.com/backend-developers-ltd/ComputeHorde - -## GitHub - -https://github.com/backend-developers-ltd/ComputeHorde - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-13.md b/docs/_subnet-pages/subnet-13.md deleted file mode 100644 index 35c7e399fd..0000000000 --- a/docs/_subnet-pages/subnet-13.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: "Subnet 13" ---- - -# Subnet 13 - -## Name - -Data Universe - -## Netuid -13 - -## Description - -Data Universe subnet collects and stores large amounts of data from across a wide-range of sources, for use by other Subnets. This subnet is built from the ground-up with a focus on decentralization and scalability. There is no centralized entity that controls the data; the data is stored across all Miner's on the network and is queryable via the Validators. - -At launch, Data Universe is able to support up to 50 Petabytes of data across 200 miners, while only requiring ~10GB of storage on the Validator. - -## Subnet owner - -https://github.com/RusticLuftig/data-universe/ - -## GitHub - -https://github.com/RusticLuftig/data-universe/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-14.md b/docs/_subnet-pages/subnet-14.md deleted file mode 100644 index ef037ae626..0000000000 --- a/docs/_subnet-pages/subnet-14.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 14" ---- - -# Subnet 14 - -## Name - -Bittensor LLM Defender Subnet - -## Netuid -14 - -## Description - -The LLM Defender subnet provides Large Language Model (LLM) developers a way to decentralize the computing required to detect and prevent various attacks and exploits against LLM applications. - -## Subnet owner - -https://github.com/ceterum1/llm-defender-subnet/ - -## GitHub - -https://github.com/ceterum1/llm-defender-subnet/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-15.md b/docs/_subnet-pages/subnet-15.md deleted file mode 100644 index eb9f566647..0000000000 --- a/docs/_subnet-pages/subnet-15.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 15" ---- - -# Subnet 15 - -## Name - -Bittensor Blockchain Insights Subnet - -## Netuid -15 - -## Description - -Blockchain Insights Subnet is an innovative project focusing on transforming raw blockchain data into structured graph models. This project aims to provide comprehensive insights into various blockchain activities, including simple transactions, DeFi protocol transactions, and NFT exchanges. - -## Subnet owner - -https://github.com/blockchain-insights/blockchain-data-subnet/ - -## GitHub - -https://github.com/blockchain-insights/blockchain-data-subnet/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-16.md b/docs/_subnet-pages/subnet-16.md deleted file mode 100644 index 52101bf4fa..0000000000 --- a/docs/_subnet-pages/subnet-16.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 16" ---- - -# Subnet 16 - -## Name - -Audio Generation Subnetwork - -## Netuid -16 - -## Description - -This subnetwork is a decentralized system designed for text-to-audio applications within the Bittensor network. - -## Subnet owner - -https://github.com/UncleTensor/AudioSubnet/ - -## GitHub - -https://github.com/UncleTensor/AudioSubnet/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-17.md b/docs/_subnet-pages/subnet-17.md deleted file mode 100644 index 5b05013bda..0000000000 --- a/docs/_subnet-pages/subnet-17.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 17" ---- - -# Subnet 17 - -## Name - -Flavia - Model Inference Subnet - -## Netuid -17 - -## Description - -The Flavia subnet focuses on decentralized model inference at different scales. - -## Subnet owner - -https://github.com/CortexLM/flavia/ - -## GitHub - -https://github.com/CortexLM/flavia/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-18.md b/docs/_subnet-pages/subnet-18.md deleted file mode 100644 index 28d809165c..0000000000 --- a/docs/_subnet-pages/subnet-18.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: "Subnet 18" ---- - -# Subnet 18 - -## Name - -Cortex.t Subnet for AI Development and Synthetic Data Generation. - -## Netuid -18 - -## Description - -Cortex.t offers a dual-purpose solution that caters to the needs of app developers and innovators in the AI space. - -This subnet is meticulously designed to deliver reliable, high-quality text and image responses through API usage, utilising the decentralised Bittensor network. This subnet serves as a cornerstone for creating a fair, transparent, and manipulation-free environment for the incentivised production of intelligence (mining) and generation and fulfilment of diverse user prompts. - -## Subnet owner - -https://github.com/corcel-api/cortex.t/ - -## GitHub - -https://github.com/corcel-api/cortex.t/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-19.md b/docs/_subnet-pages/subnet-19.md deleted file mode 100644 index 9a5048e994..0000000000 --- a/docs/_subnet-pages/subnet-19.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 19" ---- - -# Subnet 19 - -## Name - -Vision - -## Netuid -19 - -## Description - -This subnet is a world of images unlocked. Recognition, Embeddings, Object detection, Segmentation. Here, we will do it all. Starting with Meta's Segment Anything Model. - -## Subnet owner - -https://github.com/namoray/vision/ - -## GitHub - -https://github.com/namoray/vision/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-2.md b/docs/_subnet-pages/subnet-2.md deleted file mode 100644 index 4a9deb59e2..0000000000 --- a/docs/_subnet-pages/subnet-2.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Subnet 2" ---- - -# Subnet 2 - -## Name - -Omron (𝜏, β) - -## Netuid -2 - -## Description - -The purpose of the Omron subnet is to provide verified AI inferences in order to optimize staking and re-staking yields. - -Omron allows a variety of yield optimization models to be hosted and run against the Bittensor network while being zk-verified. - -In specific, this subnet enhances the Bittensor network by providing utility to protocols and networks outside the Bittensor ecosystem. As a result, this subnet amplifies Bittensor’s mission throughout a variety of such external protocols and networks. - -Furthermore, this subnet provides internal benefits by guiding Bittensor users towards the most profitable validators to delegate to. This, in turn, benefits delegators and thereby benefits the Bittensor network as a whole. - -## Subnet owner - -https://twitter.com/omron_ai - -## GitHub - -https://github.com/inference-labs-inc/omron-subnet - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-20.md b/docs/_subnet-pages/subnet-20.md deleted file mode 100644 index 43694dd109..0000000000 --- a/docs/_subnet-pages/subnet-20.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: "Subnet 20" ---- - -# Subnet 20 - -## Name - -BitAgent - -## Netuid - -20 - -## Description - -BitAgent has 2 core thrusts: - -1. **Q&A/Tasking**, available in a few flavors: -- a) with your data in real time (BYOD) -- b) summarization of large data (BYOD) -- c) logic-based reasoning -- d) agency (tool execution, operation performance) - -2. **Integrated Orchestration** - this is task completion initiated by natural language for application. - -## Subnet owner - -https://github.com/RogueTensor/bitagent_subnet - - -## GitHub - -https://github.com/RogueTensor/bitagent_subnet - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-21.md b/docs/_subnet-pages/subnet-21.md deleted file mode 100644 index 7f171ec06d..0000000000 --- a/docs/_subnet-pages/subnet-21.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 21" ---- - -# Subnet 21 - -## Name - -FileTAO - -## Netuid -21 - -## Description - -FileTAO implements a novel, multi-layered zero-knowledge interactive proof-of-spacetime algorithm. It cleverly uses Pedersen commitments, random challenges leveraging elliptic curve cryptography, sequential seed-based chained hash verification, and merkle proofs to achieve an efficient, robust, secure, and highly available decentralized storage system on the Bittensor network. - -## Subnet owner - -https://github.com/ifrit98/storage-subnet/ - -## GitHub - -https://github.com/ifrit98/storage-subnet/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-22.md b/docs/_subnet-pages/subnet-22.md deleted file mode 100644 index 5c92286bfd..0000000000 --- a/docs/_subnet-pages/subnet-22.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 22" ---- - -# Subnet 22 - -## Name - -Smart-Scrape - -## Netuid -22 - -## Description - -Smart-Scrape subnet is a cutting-edge tool hosted, designed for effective and simplified analysis of Twitter data. This subnet is ideal for researchers, marketers, and data analysts who seek to extract insightful information from Twitter with ease. - -## Subnet owner - -https://github.com/surcyf123/smart-scrape/ - -## GitHub - -https://github.com/surcyf123/smart-scrape/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-23.md b/docs/_subnet-pages/subnet-23.md deleted file mode 100644 index e11fddd3de..0000000000 --- a/docs/_subnet-pages/subnet-23.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: "Subnet 23" ---- - -# Subnet 23 - -## Name - -NicheImage - -## Netuid - -23 - -## Description - -Image Generating Subnet - -## Subnet owner - -https://github.com/NicheTensor/NicheImage/ - -## GitHub - -https://github.com/NicheTensor/NicheImage/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-24.md b/docs/_subnet-pages/subnet-24.md deleted file mode 100644 index 75f8494750..0000000000 --- a/docs/_subnet-pages/subnet-24.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: "Subnet 24" ---- - -# Subnet 24 - -## Name - -Cellular Automata - -## Netuid -24 - -## Description - -The primary focus of this subnet is to run, analyze, and store cellular automata to serve as a research and science accelerator. The subnet will serve as a conduit between cellular automata researchers in the scientific community and the computational resources available through the Bittensor community of miners and validators. - - -## Subnet owner - -https://github.com/vn-automata/bt-automata - -## GitHub - -https://github.com/vn-automata/bt-automata - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-25.md b/docs/_subnet-pages/subnet-25.md deleted file mode 100644 index eb32b5c566..0000000000 --- a/docs/_subnet-pages/subnet-25.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: "Subnet 25" ---- - -# Subnet 25 - -## Name - -Distributed Training Subnet - -## Netuid -25 - -## Description - -Distributed Training. - -## Subnet owner -https://github.com/bit-current/DistributedTraining - -## GitHub -https://github.com/bit-current/DistributedTraining - - diff --git a/docs/_subnet-pages/subnet-26.md b/docs/_subnet-pages/subnet-26.md deleted file mode 100644 index 9544317121..0000000000 --- a/docs/_subnet-pages/subnet-26.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 26" ---- - -# Subnet 26 - -## Name - -Image Alchemy - -## Netuid -26 - -## Description - -Image Alchemy - -## Subnet owner - -https://github.com/Supreme-Emperor-Wang/ImageAlchemy/ - -## GitHub - -https://github.com/Supreme-Emperor-Wang/ImageAlchemy/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-27.md b/docs/_subnet-pages/subnet-27.md deleted file mode 100644 index 3255f93e33..0000000000 --- a/docs/_subnet-pages/subnet-27.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: "Subnet 27" ---- - -# Subnet 27 - -## Name - -Compute Subnet - -## Netuid -27 - -## Description - -This is a compute-composable subnet, integrating various cloud platforms (e.g., Runpod, Lambda, AWS) into a cohesive unit. Its purpose is to enable higher-level cloud platforms to offer seamless compute composability across different underlying platforms. - -With the proliferation of cloud platforms, there's a growing need for a subnet that can seamlessly integrate these platforms, allowing efficient resource sharing and allocation. This compute-composable subnet empowers nodes to contribute computational power, with validators ensuring the integrity and efficiency of the shared resources. - -## Subnet owner - -https://github.com/neuralinternet/compute-subnet/ - -## GitHub - -https://github.com/neuralinternet/compute-subnet/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-28.md b/docs/_subnet-pages/subnet-28.md deleted file mode 100644 index e097541916..0000000000 --- a/docs/_subnet-pages/subnet-28.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: "Subnet 28" ---- - -# Subnet 28 - -## Name - -Foundry S&P 500 Oracle - -## Netuid -28 - -## Description - -The Foundry S&P 500 Oracle incentivizes miners to frequently predict the S&P 500 price index during trading hours (9:30 AM - 4 PM Eastern Standard Time). This subnet serves as a suitable starting point for the traditional financial markets predictions given the S&P 500 index’s utility, accessibility, and world-wide acceptance. - -In this subnet, subnet validators send subnet miners a timestamp of a future time, for which the miners must make an S&P 500 price prediction. The miners must immediately respond with their price prediction for that given timestamp. Validators store these predictions and calculate the scores of the miners once the predictions mature. Miners then receive ranks to stack up against one another, naturally incentivizing competition. - -## Subnet owner -https://foundrydigital.com/accelerate/ - -## GitHub - -https://github.com/teast21/snpOracle - - diff --git a/docs/_subnet-pages/subnet-29.md b/docs/_subnet-pages/subnet-29.md deleted file mode 100644 index ea7dbe6d10..0000000000 --- a/docs/_subnet-pages/subnet-29.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 29" ---- - -# Subnet 29 - -## Name - -Fractal: Text-to-Video Generation Grid for Edge-Node Inference - -## Netuid -29 - -## Description - -Fractal, taking inspiration from Manifold Labs' Deterministic Verification Network, is utilizing deterministic verification to create a grid of decentralized nodes to perform inference for video generation. By incentivizing users to host text-to-video models, this subnet allows Fractal to develop a mechanism that optimizes how end-user inference requests are handled to minimize latency. Additionally, the subnet is incredibly gamification-resistant, as a random seed is generated for each inference request, and if the Verifier and Prover seeds do not match, the Prover will be penalized. - -## Subnet owner - -https://github.com/fractal-net/fractal - -## GitHub - -https://github.com/fractal-net/fractal - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-3.md b/docs/_subnet-pages/subnet-3.md deleted file mode 100644 index 333247b738..0000000000 --- a/docs/_subnet-pages/subnet-3.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: "Subnet 3" ---- - -# Subnet 3 - -## Name - -Scraping Subnet - -## Netuid -3 - -## Description - -Data scraping is a critical component in numerous AI and machine learning models, often acting as the foundational layer for various subnets, including [Subnet 1](./subnet-1.md). - -The objective of this subnet is to harvest data from platforms such as Reddit, Twitter, and other social media sites, and aggregate this information into shared storage solutions like Wasabi s3 storage. - -Looking ahead, the developers of this subnet intend to leverage the storage subnet of Bittensor to augment the data storage capabilities. - -## Subnet owner - -https://github.com/gitphantomman/scraping_subnet/ - -## GitHub - -https://github.com/gitphantomman/scraping_subnet/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-30.md b/docs/_subnet-pages/subnet-30.md deleted file mode 100644 index 16addc2186..0000000000 --- a/docs/_subnet-pages/subnet-30.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 30" ---- - -# Subnet 30 - -## Name - -TBD - -## Netuid -30 - -## Description - -TBD - -## Subnet owner - -TBD - -## GitHub - -TBD - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-31.md b/docs/_subnet-pages/subnet-31.md deleted file mode 100644 index 9f5e56653b..0000000000 --- a/docs/_subnet-pages/subnet-31.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: "Subnet 31" ---- - -# Subnet 31 - -## Name - -Healthcare subnet - -## Netuid -31 - -## Description - -In this innovative healthcare subnet, miners play a crucial role in contributing to disease diagnosis by predicting from medical images. Through continuous training, miners strive to improve their models, with more accurate models earning substantial rewards. Miners have the flexibility to adapt and enhance the structure of their models, datasets, and other factors influencing model accuracy. This collaborative effort aims to advance disease prediction and underscores the vital role miners play in shaping the future of medical diagnostics. - -Validators play a pivotal role in evaluating miner's models by periodically sending diverse images for assessment. They meticulously score miners based on their responses, contributing to the ongoing refinement of models and ensuring the highest standards of performance and accuracy in our collaborative network. - - -## Subnet owner - -https://github.com/bthealthcare/healthcare-subnet - -## GitHub - -https://github.com/bthealthcare/healthcare-subnet - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-32.md b/docs/_subnet-pages/subnet-32.md deleted file mode 100644 index da6bed0b18..0000000000 --- a/docs/_subnet-pages/subnet-32.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: "Subnet 32" ---- - -# Subnet 32 - -## Name - -It's AI: LLM Detection solution - -## Netuid -32 - -## Description - -This subnet focuses on the detection of AI-generated content. Given the rapid growth of LLM-generated text, such as -ChatGPT's output of 100 billion words daily compared to humans' 100 trillion, -we believe that the ability to accurately determine AI-generated text will become increasingly necessary. - -For example, here are some scenarios where LLM detection is important: - -* **For ML-engineers**. Whether you are sourcing training data, developing a foundational LLM, or fine-tuning on your own data, -you need to ensure that generative text does not make it into your training set. We can help. -* **For teachers**. While tools like ChatGPT offer numerous benefits for the educational sector, these tools also present opportunities for students to cheat on assignments and exams. -Therefore, it is crucial to differentiate between responses authored by genuine students and those generated by LLMs. -* **For bloggers**. Many bloggers are now faced with a lot of AI-generated comments in -their social networks. These comments are not really meaningful, yet they attract the attention of their audience and promote unrelated products. -With our subnet, you can easily identify which comments are ai-generated and automatically ban them. - -And many more, like: -* **For writers**. By utilizing an LLM detection system, writers can assess their text, segment by segment, to identify sections that appear -machine-generated. This enables the writers to refine these areas to enhance the overall human-like quality of their writing. -* **For recruiting**. Have you noticed these days you are receiving far more applications with lower candidate quality? -AI has enabled people to spam the hiring teams with artificially written cover -letters and assessments. We help you find the candidates who care about your mission and your quality standards. -* **For cybersecurity**. Scammers can leverage LLMs to quickly and easily create realistic and personalized phishing emails. -We can help you determine the provenance of any document or email you are reviewing. - -As you can see there are a lot of areas where AI detection can -be very helpful. We believe that this LLM-detection subnet -not only is a useful tool at a good price for people to use, -but it also encourages competition to make better and smarter ways to spot AI-generated content. - -## Subnet owner - -[https://github.com/It-s-AI/llm-detection](https://github.com/It-s-AI/llm-detection.git) - -## GitHub - -[https://github.com/It-s-AI/llm-detection](https://github.com/It-s-AI/llm-detection.git) - - diff --git a/docs/_subnet-pages/subnet-4.md b/docs/_subnet-pages/subnet-4.md deleted file mode 100644 index bf594d0a6f..0000000000 --- a/docs/_subnet-pages/subnet-4.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Subnet 4" ---- - -# Subnet 4 - -## Name - -**TARGON**: A Redundant Deterministic Verification of Large Language Models. - -## Netuid -4 - -## Description - -TARGON is a redundant deterministic verification mechanism that can be used to interpret and analyze ground truth sources and a query. - -## Subnet owner - -https://github.com/manifold-inc/targon/ - -## GitHub - -https://github.com/manifold-inc/targon/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-5.md b/docs/_subnet-pages/subnet-5.md deleted file mode 100644 index 37c9df1a6b..0000000000 --- a/docs/_subnet-pages/subnet-5.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Subnet 5" ---- - -# Subnet 5 - -## Name - -OpenKaito - -## Netuid -5 - -## Description - -A search index plays a crucial role in accessing information within Web3 and serves as the foundation for RAG applications. OpenKaito is dedicated to constructing a decentralized search index for Web3, and its incentive mechanism can be outlined as follows: - -1. Miners are encouraged to develop high-quality and efficient indexing and ranking schemes for Web3 data. - -2. Validators will submit structured or vector retrieval queries to perform spot checks on the indexing quality of the miners, using LLM. For instance, for a query "optimism", validators should anticipate receiving high quality content from miners. Miners are incentivized to differentiate between the English word "optimism" and the crypto project "optimism" within massive amounts of X (Twitter) data. The final reward will be determined based on the quality, ranking, recency, and uniqueness of the data indexed by miners. - -3. By collectively executing large-scale content understanding, indexing, and ranking, a decentralized search engine and data analytics platform can be established on top of OpenKaito. - -## Subnet owner - -https://www.kaito.ai - -## GitHub - -https://github.com/OpenKaito/openkaito - - diff --git a/docs/_subnet-pages/subnet-6.md b/docs/_subnet-pages/subnet-6.md deleted file mode 100644 index 5c97e45cb7..0000000000 --- a/docs/_subnet-pages/subnet-6.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: "Subnet 6" ---- - -# Subnet 6 - -## Name - -Nous Finetuning Subnet - -## Netuid -6 - -## Description - -The Nous-Bittensor subnet rewards miners for fine-tuning Large Language Models (LLMs) with data generated from a continuous stream of synthetic data provided by subnet 18 (also on Bittensor). It is the first-ever continuous fine-tuning benchmark, with new data generated daily, and the first incentivized fine-tuning benchmark. - -Additionally, it is the first Bittensor subnet to perform true cross-boundary communication, where data from one subnet is utilized in a secondary subnet. - -## Subnet owner - -[Nous Research](https://nousresearch.com/) - -## GitHub - -https://github.com/NousResearch/finetuning-subnet - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-7.md b/docs/_subnet-pages/subnet-7.md deleted file mode 100644 index d6d0562147..0000000000 --- a/docs/_subnet-pages/subnet-7.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: "Subnet 7" ---- - -# Subnet 7 - -## Name - -Storage subnet. - -## Netuid - -7 - -## Description - -The storage subnet will allow nodes to contribute storage space, employing a prototype incentive mechanism similar to Filecoin. It will offer decentralized storage solutions, allowing nodes to serve their hard drive space to the network, proven to validators utilizing Yuma consensus. - -## Subnet owner - -https://github.com/tensorage/tensorage/ - -## GitHub - -https://github.com/tensorage/tensorage/ - - \ No newline at end of file diff --git a/docs/_subnet-pages/subnet-8.md b/docs/_subnet-pages/subnet-8.md deleted file mode 100644 index fad6e64ce0..0000000000 --- a/docs/_subnet-pages/subnet-8.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: "Subnet 8" ---- - -# Subnet 8 - -## Name - -Proprietary Trading Network (PTN) - -## Netuid - -8 - -## Description - -The PTN subnet receives signals from quant and machine learning trading systems, and delivers world's most complete trading signals across a variety of asset classes. - -PTN is the most challenging & competitive subnet in the world. Our subnet miners must provide futures-based signals (long and short) that are highly efficient and effective across various markets (forex, crypto, indices). The top subnet miners provide most returns while never exceeding the drawdown limits. - -## Subnet owner - -[https://www.taoshi.io/](https://www.taoshi.io/) - -## GitHub - -https://github.com/taoshidev/proprietary-trading-network - - diff --git a/docs/_subnet-pages/subnet-9.md b/docs/_subnet-pages/subnet-9.md deleted file mode 100644 index 467f515eb7..0000000000 --- a/docs/_subnet-pages/subnet-9.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: "Subnet 9" ---- - -# Subnet 9 - -## Name - -Pretrain Subnet - -## Netuid -9 - -## Description - -This subnet rewards miners for producing pretrained Foundation-Models on the Falcon Refined Web dataset. It acts like a continuous benchmark whereby miners are rewarded for attaining the best losses on randomly sampled pages of Falcon given a consistent model architecture. The reward mechanism works as follows: - -1. Miners train and periodically host trained model weights linked to their miner key as exampled by the code in neurons/miner.py. -2. Validators run a continuous eval on the hosted models, performing the validation system outlined in neurons/validator.py and setting weights to the chain based on the performance of each miner on the Falcon dataset. -3. The chain aggregates weights from all active validators and runs Yuma Consensus to determine the proportion of TAO emission rewarded to miners and validators. - -## Subnet owner - -Macrocosmos & collaborators - -## GitHub - -https://github.com/RaoFoundation/pretraining - - diff --git a/docs/questions-and-answers.md b/docs/questions-and-answers.md index ff1772f9bd..7815d89731 100644 --- a/docs/questions-and-answers.md +++ b/docs/questions-and-answers.md @@ -58,9 +58,9 @@ At the same time, validators are also incentivized to do their best work, becaus ### What exactly is the task of a subnet miner? -The task of miners is different in each subnet. For example, subnet 1 produces LLM inference, and the miner task is to respond to a text prompt with a completion. Subnet 2 serves machine translation, and subnet 21 serves storage. +The task of miners is different in each subnet. Some subnets provide AI services like specialized inference, training, or prediction. Other provide infrastructure as a service, including storage or compute. -Browse the subnets on [TAO.app](https://tao.app) +Browse tokenomic information about the subnets on [TAO.app](https://tao.app), and learn more about the projects and services they support on the [Learnbittensor.org subnet listings](learnbittensor.org/subnets). ### So where does the blockchain come in? From 345fb3a9ae0a7688449694723bd65831bf39a8f6 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 26 Aug 2025 07:46:00 -0700 Subject: [PATCH 202/303] quickfix --- docs/questions-and-answers.md | 2 +- docs/subnets/walkthrough-prompting.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/questions-and-answers.md b/docs/questions-and-answers.md index 7815d89731..305e429243 100644 --- a/docs/questions-and-answers.md +++ b/docs/questions-and-answers.md @@ -60,7 +60,7 @@ At the same time, validators are also incentivized to do their best work, becaus The task of miners is different in each subnet. Some subnets provide AI services like specialized inference, training, or prediction. Other provide infrastructure as a service, including storage or compute. -Browse tokenomic information about the subnets on [TAO.app](https://tao.app), and learn more about the projects and services they support on the [Learnbittensor.org subnet listings](learnbittensor.org/subnets). +Browse tokenomic information about the subnets on [TAO.app](https://tao.app), and learn more about the projects and services they support on the [Learnbittensor.org subnet listings](https://learnbittensor.org/subnets). ### So where does the blockchain come in? diff --git a/docs/subnets/walkthrough-prompting.md b/docs/subnets/walkthrough-prompting.md index da6d2cd26d..101c7b5b33 100644 --- a/docs/subnets/walkthrough-prompting.md +++ b/docs/subnets/walkthrough-prompting.md @@ -1,13 +1,13 @@ --- -title: "Walkthrough of Subnet 1" +title: "Walkthrough of Example Subnet" --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# Walkthrough of Subnet 1 +# Walkthrough of Example Subnet -In this section we present a high-level walkthrough of the [Subnet 1: Prompting](https://github.com/opentensor/prompting/tree/main). This subnet contains multiple incentive mechanisms which produce an internet-scale conversational intelligence. Below are a few examples of the intelligence produced by this subnet: +In this section we present a high-level walkthrough of an example architecture for a subnet based on LLM inference. This architecture was originally based on [Subnet 1, Apex](https://github.com/opentensor/prompting/tree/main), although subnets rapidly evolve and that subnet now has a more complicated architecture. This subnet contains multiple incentive mechanisms which produce an internet-scale conversational intelligence. Below are a few examples of the intelligence produced by this subnet: - Answering questions. - Summarizing a given text. From a928698362cd2f5daef6b25c8a17eb2372a9ffd6 Mon Sep 17 00:00:00 2001 From: "Mateus F. Melo" Date: Tue, 26 Aug 2025 13:33:34 -0300 Subject: [PATCH 203/303] fix: typos in miners-btcli-guide.md (#63) --- docs/miners/miners-btcli-guide.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/miners/miners-btcli-guide.md b/docs/miners/miners-btcli-guide.md index f55f820400..072b763a9f 100644 --- a/docs/miners/miners-btcli-guide.md +++ b/docs/miners/miners-btcli-guide.md @@ -16,7 +16,7 @@ See also: ## Intro -Miners in Bittensor work to produce digital commondities. To securely serve these commodities to validators, miners use their registered hotkey to sign requests. Therefore, miners primarily rely on **hotkeys** for daily operations. +Miners in Bittensor work to produce digital commodities. To securely serve these commodities to validators, miners use their registered hotkey to sign requests. Therefore, miners primarily rely on **hotkeys** for daily operations. The **coldkey** is only needed when you need to create or fund that hotkey, or if you want to stake additional TAO or pay the burn for registrations. @@ -56,9 +56,9 @@ See [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey- Miners will need coldkeys to manage their TAO and alpha currency, as well as hotkeys to serve requests. Ensure there is a clear boundary: The coldkey should **never** be on an environment with untrusted ML code from containers, frameworks, or libraries that might exfiltrate secrets. ::: -## `btcli` commandsfor miners: +## `btcli` commands for miners: -### Hotkey Managementd +### Hotkey Management `btcli wallet new-hotkey` , `btcli wallet regen-hotkey`, : Create and register a hotkey on a secure coldkey workstation then transfer the hotkey file or mnemonic to the mining workstation. From 3755f3ea21fb90e0103cbde4280f5e27e8ef5b79 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 26 Aug 2025 23:46:28 +0100 Subject: [PATCH 204/303] multisig doc updates --- docs/keys/multisig.md | 126 +++++++++++++++++++++++++++--------------- 1 file changed, 80 insertions(+), 46 deletions(-) diff --git a/docs/keys/multisig.md b/docs/keys/multisig.md index da1bc86bcd..c2a48d09c5 100644 --- a/docs/keys/multisig.md +++ b/docs/keys/multisig.md @@ -1,8 +1,8 @@ --- -title: "Secure your Coldkey with a Multisig" +title: "Secure your Coldkey with a Multisig Wallet" --- -# Secure a Coldkey with a Multisig +# Secure a Coldkey with a Multisig Wallet A multisig (multiple signatories) wallet is a way of distributing responsibility for a coldkey across a set of wallets, referred to as signatories. Any signatory can propose a transaction, but the action must be agreed by some threshold of others before it will execute. Conventionally, a multisig is described as "$M$ out of $N$", where $M$ is the threshold number of signatories required to sign a transaction and $N$ is the total number of signatories. The signatories on a multisig may be seperate people, or a set of keys controlled by a single individual. This gives multisigs great versatility in providing security against single points of failure, including the loss of a single key or the decision of a team-mate to act irresponsibly. @@ -14,7 +14,7 @@ This page will guide the user through an example practice workflow of creating a - [Install the latest version of BTCLI](../getting-started/install-btcli) - Acquire some Testnet TAO. -- Polkadot-JS: This tutorial will employ the Polkadot-JS browser app, which allows users to submit transactions to Polkadot-based chains, including Bittensor. To use your coldkey private keys with the Polkadot-JS app, you must install the wallet browser extension, which is available for Firefox or Chrome. +- Polkadot-JS: This tutorial will employ the Polkadot-JS browser app, which allows users to submit transactions to Polkadot-based chains, including Bittensor. To use your coldkey private keys with the Polkadot-JS app, you must install the wallet browser extension, which is available for [Firefox](https://addons.mozilla.org/en-US/firefox/addon/polkadot-js-extension/) or [Chrome](https://chrome.google.com/webstore/detail/polkadot%7Bjs%7D-extension/mopnmbcafieddcagagdcbnhejhlodfdd). ## Provision and configure your workstation @@ -28,17 +28,20 @@ Coldkeys private keys and seed phrases for wallets with real (mainnet) TAO are * In a realistic scenario, using wallets with real (mainnet) TAO, it would be crucial to follow proper workstation security. This implies that each coldkey would be provisioned to its own secure coldkey workstation, as maintaining separate workstations for each coldkey is important for minimizing the risk that multiple of the keys are lost or leaked; storing or handling the keys together undermines the purpose of having multiple keys. -See [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security). +See [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security.md). -In the current *practice* scenario, using testnet TAO, we will forego full workstation security for ease, and handle all three keys on a single workstation, which can be an ordinary laptop rather than a secure workstation. +In the current _practice_ scenario, using testnet TAO, we will forego full workstation security for ease, and handle all three keys on a single workstation, which can be an ordinary laptop rather than a secure workstation. ### Configure the target network in the Polkadot-JS web app. 1. Visit the [Polkadot-JS explorer web app](https://polkadot.js.org/apps). -1. Click the blockchain selector tab in the upper lefthand corner of the web page, next to **Accounts**. This is set to **Polkadot** main chain by default. -1. Scroll down and open **Development** at the bottom of the Chains menu, and paste the address for the Bittensor test chain into **custom endpoint**: `wss://test.finney.opentensor.ai:443`. +1. Click the blockchain selector dropdown in the upper lefthand corner of the web page, next to **Accounts**. This is set to **Polkadot** main chain by default. +1. Scroll down and open **Development** at the bottom of the Chains menu, and paste the address for the Bittensor test chain into **custom endpoint** field: `wss://test.finney.opentensor.ai:443`. +1. After pasting the link to the Bittensor test chain, click on the **Switch** button at the top of the menu. - You should see the page update and display live information about Bittensor testnet. + :::tip success + You should see the page update and display live information about Bittensor testnet. + ::: ### Create and import 3 coldkey pairs ("accounts") in the Polkadot-JS browser extension @@ -46,52 +49,80 @@ Each of our 3 signatories needs a wallet. Either create them or re-use available 1. Use `btcli` to create three coldkeys/wallets, or use practice wallets you already have access to. Alternatively, you can create wallets in the Polkadot-JS browser extension. - See [Creating/Importing a Bittensor Wallet](../working-with-keys). + See [Creating/Importing a Bittensor Wallet](../working-with-keys). -1. Load each key into the Polkadot-JS wallet browser extension: - 1. Click to open the browser extension. - 1. Click **+**, then select **Import account from pre-existing seed**. - 1. Provide your seed phrase to regenerate your wallet's coldkey private key. +1. Load each wallet key into the Polkadot-JS wallet browser extension: -1. Configure your keys to use the custom network (Bittensor's test net). For each key/**account**: - 1. Click the menu (three dots) to configure the account. - 1. Open the network dropdown selector, and choose **Allow use on any chain**. + 1. Click the `polkadot{.js}` extension icon in your browser to open the extension. + 1. Click the **+** icon, then select **Import account from pre-existing seed**. + 1. Provide your Bittensor wallet's seed phrase to regenerate your wallet's coldkey private key. + 1. Open the **NETWORK** dropdown selector, and choose **Allow use on any chain**. + 1. Click **Next**. After clicking **Next**, you will be prompted to provide a name and password for the account created. -1. You may need to allow the PolkadotJS webapp to use specific wallets by clicking **connect** in the extension. +1. You will need to allow the PolkadotJS webapp to use specific wallets connecting the imported accounts. To do this: -1. You may need to refresh the PolkadotJS webapp to show updated accounts information. + 1. Click the `polkadot{.js}` extension icon in your browser toolbar to open the extension. -1. Confirm success by visiting the [accounts page](https://polkadot.js.org/apps/#/accounts). You should see all three wallets/accounts listed as **accounts available via browser extensions**. + :::info + Make sure you perform this action while on the same browser tab where the Polkadot-JS Explorer is open. + ::: + + 2. Click the **Connect Accounts** button at the top of the extension. + 3. Select the accounts that you want to connect to the Polkadot-JS browser app—for this walkthrough, select the three signatory accounts created. + 4. Confirm success by visiting the [Accounts page](https://polkadot.js.org/apps/#/accounts). You should see all three wallets/accounts listed as **accounts available via browser extensions**. + + :::info + You may need to refresh the PolkadotJS webapp to show updated accounts information. + ::: ## Create the multisig In this step, we'll create the multisig wallet, specifying the signatory wallets. -1. Navigate to the [accounts page](https://polkadot.js.org/apps/#/accounts). +1. Navigate to the [accounts page](https://polkadot.js.org/apps/#/accounts). + +1. Click **+ Multisig** to create a new multisig. In the **add multisig** modal: + + 1. Select from the available signatories, which must be in your address book (if they are not, add them from the Accounts/Address book tab). + 1. Set the **threshold**. + 1. Set a name for the multisig address on the Polkadot-JS web app. + 1. Click **+ Create**. + + :::info + You should see the newly created multisig account listed under the **multisig** section on the Accounts page. Select the new account to view its name, balance, and SS58 address. + ::: + +1. Use the `btcli w regen_coldkeypub` command to add the wallet's public key to BTCLI. To do this, run the following command in your terminal: + + ```sh + btcli w regen_coldkeypub --wallet-name WALLET_NAME --ss58 MULTISIG_ADDRESS + ``` + + Replace `WALLET_NAME` and `MULTISIG_ADDRESS` with the name and ss58 address of the multisig address created in the Polkadot-JS browser app. + +:::info +This command regenerates the public part of a coldkey for the multisig wallet named. You can view its balance information as shown: -1. Click **+ Multisig**. In the **add multisig** modal: - 1. Select from the available signatories, which must be in your address book (if they are not, add them from the Accounts/Address book tab). - 1. Set the **threshold**. - 1. Set a name. - 1. Click **create**. +```sh +btcli view dashboard --wallet.name WALLET_NAME +``` -1. Use `btcli w regen_coldkeypub --wallet.name multisig` to add the wallet's public key to BTCLI. -1. View its balance information with `btcli view dashboard --wallet.name multisig`. +::: ## Transfer TAO to the multisig wallet. -1. Find the multisig wallet's coldkey public key on the [accounts page](https://polkadot.js.org/apps/#/accounts), listed under **multisig**. Click on the wallet/account to open it's show modal, then click **Copy** by the account name and address/public key to copy it out. -1. Use BTCLI to transfer testnet TAO to the mutlisig wallet. - 1. Run `btcli wallet transfer`. - 1. Provide the multisig wallet's coldkey public key. - 1. Specify the amount. It's recommended to do a small transfer first to confirm the address, even with testnet TAO. +1. Find the multisig wallet's coldkey public key on the [accounts page](https://polkadot.js.org/apps/#/accounts), listed under **multisig**. Click on the wallet/account to open it's show modal, then click **Copy** by the account name and address/public key to copy it out. +1. Use BTCLI to transfer testnet TAO to the multisig wallet. + 1. Run `btcli wallet transfer`. + 1. Provide the multisig wallet's coldkey public key. + 1. Specify the amount. It's recommended to do a small transfer first to confirm the address, even with testnet TAO. 1. To confirm the transfer, view the multisig wallet in the accounts page or the BTCLI dashboard. It should show the TAO from the transfer almost immediately. -## Transfer TAO from the multisig +## Transfer TAO from the multisig Let's try executing a sensitive operation with the multisig wallet: transferring TAO. Choose any destination wallet that you control. It can be one of the signatories. Note this wallet's balance, so you can confirm the transaction's ultimate success by seeing the increase in that balance. -To transfer TAO out of the multisig wallet requires a multisig transaction, meaning it must be approved by threshold $M$ of the $N$ total signatories. First, one wallet must propose the transaction. This proposal will exist on the blockchain where it can be signed by other signatories, which will execute the proposed transaction. +Transferring TAO out of the multisig wallet requires a multisig transaction, meaning it must be approved by threshold $M$ of the $N$ total signatories. First, one wallet must propose the transaction. This proposal will exist on the blockchain where it can be signed by other signatories, which will execute the proposed transaction. Note that the signatory that proposes a multisig action must make a deposit that will be returned upon approval or rejection of the transaction, the amount of which will be displayed in the multisig transaction modal. The wallet that will propose the multisig transaction must have a balance above this amount. @@ -100,33 +131,36 @@ Note that the signatory that proposes a multisig action must make a deposit that 1. In the Polkadot-JS web app, click the **Developer** tab and select Extrinsics, or navigate to the extrinsics page at [polkadot.js.org/apps/#/extrinsics](https://polkadot.js.org/apps/#/extrinsics). 1. Under **using the selected account**, select the multisig wallet. Note that the multisig wallet's TAO balance is displayed. 1. Under **submit the following extrinsic**: - 1. Select the `balances` module (from the lefthand dropdown menu). - 1. Select `transferKeepAlive`. + 1. Select the `balances` module (from the lefthand dropdown menu). + 1. Then, select `transferKeepAlive` from the righthand menu. 1. Under **Id: AccountId**, paste in the coldkey public key for the destination wallet. -1. Under **value**, put the amount of TAO to transfer. This amount must be available in the multisig wallet. -A wallet with a test TAO balance sufficient to pay the fee +1. Under **value**, put the amount of TAO to transfer. This amount must be available in the multisig wallet. A wallet with a test TAO balance sufficient to pay the fee. + :::info + The `value` field accepts amounts in RAO, the smallest unit of TAO (`1 rao = 10⁻⁹ TAO`). + For example, to transfer `2 TAO`, you must set `value` to `2,000,000,000`. + ::: 1. Copy out the **encoded call data**, which other signatories will need to sign the transaction. 1. Copy out the **encoded call hash**, which other signatories will need to confirm the details of the transaction. 1. Copy out the **link** under **encoding details**, which will allow other signatories to view the details of the transaction and confirm it against the encoded call hash. 1. Click **Submit Transaction**. 1. In the **authorize transaction** modal, select the signatory. - Note that this should be selected as a **multisig signatory**, not as a **proxy account**. You may need to toggle the **Use a proxy for this call** switch to **Don't use a proxy for this call**. + Note that this should be selected as a **multisig signatory**, not as a **proxy account**. You may need to toggle the **Use a proxy for this call** switch to **Don't use a proxy for this call**. -1. Select **Multisig approval with hash (non-final approval)**, not **Multisig message with call (for final approval)**. +1. Click the toggle to select **Multisig approval with hash (non-final approval)** instead of **Multisig message with call (for final approval)**. 1. Click **Sign and Submit**. ### Approve the transaction 1. Return to the [accounts page](https://polkadot.js.org/apps/#/accounts). -1. Find the multisig wallet, noting that it should now display a clickable element for **view pending approvals**. You can also click on the wallets three dot menu and select **Multisig approvals**. +1. Find the multisig wallet; the wallet should now display a clickable element to **View pending approvals**. You can also click on the wallet's menu icon and select **Multisig approvals**. 1. The approval modal will display the **encoded call hash**, allowing signatories to confirm the identity of the proposed transaction, but it does not display details about the call. - To view details of the call, visit the link provided under **encoding details** when creating the transaction proposal. + To view details of the call, visit the link provided under **encoding details** when creating the transaction proposal. - :::caution - Confirm that the **call hash** in the details link matches the **call hash** in the transaction you are approving. This is the only way to be certain you are approving the correct transaction. - ::: + :::caution + Confirm that the **call hash** in the details link matches the **call hash** in the transaction you are approving. This is the only way to be certain you are approving the correct transaction. + ::: 1. Select the approving signatory, which cannot be the signatory who proposed the transaction. 1. If you are the final approver, enter the **encoded call data**, which was provided when the transaction was created, and is displayed at the top of the page at the **encoding details** link. @@ -136,4 +170,4 @@ A wallet with a test TAO balance sufficient to pay the fee ### Confirm success -Check the multisig wallet's balance, which should have decreased by the transfer amount, and the destination wallet, which should have increased. \ No newline at end of file +Check the multisig wallet's balance, which should have decreased by the transfer amount, and the destination wallet, which should have increased. From 443721af4259eae35ed72507dace611daed6d8dd Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 26 Aug 2025 23:53:07 +0100 Subject: [PATCH 205/303] fixed broken link --- docs/questions-and-answers.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/questions-and-answers.md b/docs/questions-and-answers.md index 7815d89731..eee67acf79 100644 --- a/docs/questions-and-answers.md +++ b/docs/questions-and-answers.md @@ -1,7 +1,8 @@ --- title: "Frequently asked questions (FAQ)" -hide_table_of_contents: false +hide_table_of_contents: false --- + import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; @@ -50,7 +51,7 @@ Anyone with the funds and technical know-how can create a subnet, or participate ### How does competition work in a subnet? -The work to be performed by miners is set by the subnet creator in the form of the subnet's incentive mechanism. The miners compete to best perform the task, submitting their work to the validators. +The work to be performed by miners is set by the subnet creator in the form of the subnet's incentive mechanism. The miners compete to best perform the task, submitting their work to the validators. The validators then rank the quality of the work done by the miners within the subnet. The aggregated scores of the validators determine the quantity of TAO emitted to each miner. @@ -60,7 +61,7 @@ At the same time, validators are also incentivized to do their best work, becaus The task of miners is different in each subnet. Some subnets provide AI services like specialized inference, training, or prediction. Other provide infrastructure as a service, including storage or compute. -Browse tokenomic information about the subnets on [TAO.app](https://tao.app), and learn more about the projects and services they support on the [Learnbittensor.org subnet listings](learnbittensor.org/subnets). +Browse tokenomic information about the subnets on [TAO.app](https://tao.app), and learn more about the projects and services they support on the [Learnbittensor.org subnet listings](https://learnbittensor.org/subnets). ### So where does the blockchain come in? @@ -68,7 +69,7 @@ The blockchain records all the key activity of the subnets in its ledger. It als ### Do subnets talk to each other? -A new abstract base class, called `SubnetsAPI` is released in Bittensor `6.8.0` and your application can use this to enable cross subnet communication. Normally, however, if you are not using the `SubnetsAPI`, then the subtensor blockchain does not mix data from one subnet with another subnet data and a subnet does not communicate with another subnet. +A new abstract base class, called `SubnetsAPI` is released in Bittensor `6.8.0` and your application can use this to enable cross subnet communication. Normally, however, if you are not using the `SubnetsAPI`, then the subtensor blockchain does not mix data from one subnet with another subnet data and a subnet does not communicate with another subnet. :::tip See also See [Bittensor Subnets API](https://github.com/opentensor/bittensor/blob/master/README.md#bittensor-subnets-api). @@ -86,7 +87,7 @@ In Bittensor, "mining", within subnets, has nothing to do with adding blocks to Yes indeed. In Bittensor, the work of validating the blockchain is performed by the Opentensor Foundation on a Proof-of-Authority model. -### What is the incentive to be a miner or a validator, or create a subnet? +### What is the incentive to be a miner or a validator, or create a subnet? Bittensor incentivizes participation through emission of TAO. Each day, 7200 TAO are emitted into the network (one TAO every 12 seconds). @@ -102,14 +103,14 @@ See [Emissions](./emissions.md). Yes! Most participants will not create their own subnets, there are lots to choose from. -See: +See: - [Validating in Bittensor](./validators/index.md) - [Mining in Bittensor](./miners/index.md). ### Is there a central place where I can see compute requirements for mining and validating for all subnets? -Unfortunately no. Subnets are not run or managed by Opentensor Foundation, and the landscape of subnets is constantly evolving. +Unfortunately no. Subnets are not run or managed by Opentensor Foundation, and the landscape of subnets is constantly evolving. Browse the subnets at [TAO.app](https://tao.app), or on [Discord](https://discord.com/channels/799672011265015819/830068283314929684). @@ -117,4 +118,4 @@ Browse the subnets at [TAO.app](https://tao.app), or on [Discord](https://discor You can keep trying forever, but your success depends on your performance. Mining and validating in a subnet is competitive. If a miner or validator is one of the three lowest in the subnet, it may be de-registered at the end of the tempo, and have to register again. -See [miner deregistration](./miners/index.md#miner-deregistration). +See [miner deregistration](./miners/index.md#miner-deregistration). From 33e8ab157bf928fef1923e13dd88d3f065cc66c4 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Wed, 27 Aug 2025 10:21:35 -0700 Subject: [PATCH 206/303] Revamp subnet walkthrough (final touches) (#76) --- docs/subnets/walkthrough-prompting.md | 82 ++++++++++++--------------- 1 file changed, 36 insertions(+), 46 deletions(-) diff --git a/docs/subnets/walkthrough-prompting.md b/docs/subnets/walkthrough-prompting.md index 101c7b5b33..93ee6be98e 100644 --- a/docs/subnets/walkthrough-prompting.md +++ b/docs/subnets/walkthrough-prompting.md @@ -7,7 +7,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Walkthrough of Example Subnet -In this section we present a high-level walkthrough of an example architecture for a subnet based on LLM inference. This architecture was originally based on [Subnet 1, Apex](https://github.com/opentensor/prompting/tree/main), although subnets rapidly evolve and that subnet now has a more complicated architecture. This subnet contains multiple incentive mechanisms which produce an internet-scale conversational intelligence. Below are a few examples of the intelligence produced by this subnet: +This page presents a high-level walkthrough of an example architecture for a subnet based on LLM inference. This architecture was originally based on [Subnet 1, Apex](https://github.com/opentensor/prompting/tree/main), although subnets rapidly evolve and that subnet now has a more complicated architecture. This example subnet contains several incentive mechanisms which produce conversational intelligence capable of: - Answering questions. - Summarizing a given text. @@ -15,26 +15,24 @@ In this section we present a high-level walkthrough of an example architecture f - Translating languages. - Solve mathematics problems, and more. -This subnet is driven by large language models (LLMs). These LLMs search the internet and utilize specialized simulator modules to produce factually accurate and mathematically correct responses. +Our example subnet is driven by large language models (LLMs). These LLMs search the internet and utilize specialized simulator modules to produce factually accurate and mathematically correct responses. -:::tip Subnet 1 Explorer -You can see the prompting subnet in action on the [TAO.app explorer (select Subnet 01: Text Prompting from the top menu)](https://tao.app). +:::tip Explore the Subnets +Browse tokenomic information about the subnets on [TAO.app](https://tao.app), and learn more about the projects and services they support on the [Learnbittensor.org subnet listings](https://learnbittensor.org/subnets). ::: -## Before you proceed +**Prerequisites** If you are new to Bittensor subnets and building blocks, read the following sections before you proceed further: -- [Bittensor Building Blocks](../learn/neurons). +- [Understanding Neurons](../learn/neurons). - [Anatomy of Incentive Mechanism](../learn/anatomy-of-incentive-mechanism). -The below diagram shows a typical subnet with many subnet miners and subnet validators together executing the subnet incentive mechanism code. On the [TAO.app explorer (select Subnet 01: Text Prompting from the top menu)](https://tao.app) the **Metagraph** view for this Subnet 1: Prompting shows the performance details for each subnet miner and validator. - -For easier understanding, in this document we will focus on how a **single** subnet validator interacts with **multiple** subnet miners in this subnet. +The below diagram shows a typical subnet with many miners and validators together executing the incentive mechanism code. On the [TAO.app explorer](https://tao.app) the **Metagraph** view within a subnet's page shows the performance details for each subnet miner and validator. For example, visit [tao.app/subnets/14?active_tab=metagraph](https://www.tao.app/subnets/14?active_tab=metagraph) to view subnet 14's metagraph.
      -## Subnet 1 summary +## Subnet Summary -See the below diagram showing a high-level view of how this Prompting subnet works. +See the below diagram showing a high-level view of how an example subnet works.
      -The challenge generation works like this (see the above diagram): - The subnet validator generates a **prompt** consisting of a clearly stated question or a task description, for a given task type. - The subnet validator also generates one or more **reference** answers to the above prompt. The subnet validator also provides the context to generate this reference answer. -- A requirement for this prompting subnet is that the entire conversation should be human-like. To accomplish this, the subnet validator takes on a human persona and wraps the above prompt in the persona's style and tone. The introduction of such random persona's style and tone creates a lossy, corrupted, version of the original clear instruction. This corrupted prompt is called a **challenge**. -- The subnet validator prompts the subnet miners with this challenge. Note that the **reference** is not sent to the subnet miners. +- A requirement for this example subnet is that the entire conversation should be human-like. To accomplish this, the subnet validator takes on a human persona and wraps the above prompt in the persona's style and tone. The introduction of such random persona's style and tone creates a lossy, corrupted, version of the original clear instruction. This corrupted prompt is called a **challenge**. +- The subnet validator prompts the miners with this challenge. Note that the **reference** is not sent to the miners. -## Score the subnet miner responses +## Scoring the miners' responses -The responses from the subnet miners are compared to the reference answers by the subnet validator. The closer a subnet miner's response is to the reference answer, the higher is the subnet miner's score. +The responses from the miners are compared to the reference answers by the subnet validator. The closer a subnet miner's response is to the reference answer, the higher is the subnet miner's score. :::tip Measuring subnet miner's response -This Prompting Subnet 1 presently uses a combination of string literal similarity and semantic similarity as the basis for measuring the closeness of a subnet miner's response to the reference answer. +This example subnet uses a combination of string literal similarity and semantic similarity as the basis for measuring the closeness of a subnet miner's response to the reference answer. ::: -## Key innovations in this subnet +## Key subnet features -This subnet has developed a few innovative techniques to get to a real human-like conversational AI that actually produces intelligence instead of copying from the internet. Refer to the diagram in the above [Challenge generation](#challenge-generation) section: +This subnet demonstrates several design features that favor actually producing intelligence instead of copying from the internet. Refer to the diagram in the above [Challenge generation](#challenge-generation) section: ### Achieving human-like conversation To deliver to a user of this subnet an experience of a human-like conversation: -- Subnet validators perform a roleplay where they take on the persona of **random** human users before they prompt the subnet miners. There are several tangible benefits to this role playing flow, such as: - - Subnet validators can engage the subnet miners in a real, random, human-like conversation throughout the subnet operation. - - Subnet miners become adept at handling ambiguous instructions. +- Validators perform a roleplay where they take on the persona of **random** human users before they prompt the miners. There are several tangible benefits to this role playing flow, such as: + - Validators can engage the miners in a real, random, human-like conversation throughout the subnet operation. + - Miners become adept at handling ambiguous instructions. - This generates, as a byproduct, interesting synthetic datasets that can be used to finetune other LLMs. -- Subnet miners are required to produce completions that are as close as possible to the reference. To accomplish this a subnet miner must: +- Miners are required to produce completions that are as close as possible to the reference. To accomplish this a subnet miner must: - Extract clear instruction from the lossy challenge. - Find the appropriate context, for example, using Wikipedia. - Generate a completion that matches the tone and style of the reference. -- This means that throughout the subnet validation process the subnet miners become better and better at handling ambiguous, "fuzzy" instructions. +- This means that throughout the subnet validation process the miners become better and better at handling ambiguous, "fuzzy" instructions. - A subnet validator could increase the corruption of the instruction to increase the difficulty of the tasks. - To change the subnet miner completions, a subnet validator may modify the style and tone of the reference answers or change the scoring function, or both. +### Prevent miners from looking up the answers -:::tip Class HumanAgent -See [class HumanAgent](https://github.com/opentensor/prompting/blob/main/prompting/agent.py#L30). -::: - -### Prevent subnet miners from looking up the answers - -To prevent the subnet miners from simply looking up the answers on the internet, this subnet incorporates a novel approach—it introduces fuzziness into the prompt and requires that the subnet miners use semantic intelligence to understand the instructions contained in the prompt. +To prevent the miners from simply looking up the answers on the internet, this subnet introduces fuzziness into the prompt and requires that the miners use semantic intelligence to understand the instructions contained in the prompt. ### Evolve subnet as a mixture of experts (MoE) The subnet validator composes a challenge based on whether the task is answering questions, summarizing a given text, debugging code, solve mathematics problems, and so on. The motivation behind using multiple tasks is several fold: -- Using multiple tasks in the prompts continuously benchmarks the capabilities of the subnet miners across a broad range of tasks that are challenging but are still common use-cases. -- Using multiple tasks, prompts can be routed to specialized subnet miners, thereby providing an effective mixture of experts system. -- This approach also serves as a precursor to Bittensor's inter-subnet bridging mechanism that will enable Subnet 1 to interact with other subnets and access the useful work provided by these subnets. -- Finally, the subnet miners in this subnet must become adept at using tools and APIs in order to fulfill validation tasks. We are building an API layer for inter-subnet communication, which is a natural extension of 'agentic' models. +- Using multiple tasks in the prompts continuously benchmarks the capabilities of the miners across a broad range of tasks that are challenging but are still common use-cases. +- Using multiple tasks, prompts can be routed to specialized miners, thereby providing an effective mixture of experts system. +- Finally, the miners in this subnet must become adept at using tools and APIs in order to fulfill validation tasks. We are building an API layer for inter-subnet communication, which is a natural extension of 'agentic' models. :::tip Continuously improving performance -One objective of this subnet is to achieve full coverage of the distributions across different personas (representing different users), and different tasks (representing different use-cases). See the arXiv paper [Super-Natural Instructions](https://arxiv.org/abs/2204.07705) [(PDF)](https://arxiv.org/pdf/2204.07705.pdf). - +This example subnet is designed to achieve full coverage of the distributions across different personas (representing different users), and different tasks (representing different use-cases). See the arXiv paper [Super-Natural Instructions](https://arxiv.org/abs/2204.07705) [(PDF)](https://arxiv.org/pdf/2204.07705.pdf). ::: From 1469a8c839ce3ffaf6dd292376f5b0511ad57b97 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 27 Aug 2025 20:56:16 +0100 Subject: [PATCH 207/303] second level nesting styling --- src/css/style.css | 1720 +++++++++++++++++++++++---------------------- 1 file changed, 885 insertions(+), 835 deletions(-) diff --git a/src/css/style.css b/src/css/style.css index f020351b1d..abed8f7db4 100644 --- a/src/css/style.css +++ b/src/css/style.css @@ -6,1508 +6,1558 @@ /* You can override the default Infima variables here. */ :root { - --ifm-color-primary: rgba(14, 16, 19, 1); - --ifm-color-primary-dark: #29784c; - --ifm-color-primary-darker: #277148; - --ifm-color-primary-darkest: #205d3b; - --ifm-color-primary-light: black; - --ifm-color-primary-lighter: #359962; - --ifm-color-primary-lightest: #3cad6e; - --ifm-code-font-size: 95%; - --ifm-h1-font-size: 1.8rem; - --ifm-h2-font-size: 1.5rem; - --ifm-h3-font-size: 1.2rem; - --ifm-h4-font-size: 1rem; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); - --text-primary: #5f6368; - --text-secondary: #5f6368; - --grey-100: #f8f9fa; /* --contrast-100 */ - --grey-900: #0e1013; /* --border-dashed-primary-hk */ - --ifm-menu-color-background-hover: var(--grey-100) + --ifm-color-primary: rgba(14, 16, 19, 1); + --ifm-color-primary-dark: #29784c; + --ifm-color-primary-darker: #277148; + --ifm-color-primary-darkest: #205d3b; + --ifm-color-primary-light: black; + --ifm-color-primary-lighter: #359962; + --ifm-color-primary-lightest: #3cad6e; + --ifm-code-font-size: 95%; + --ifm-h1-font-size: 1.8rem; + --ifm-h2-font-size: 1.5rem; + --ifm-h3-font-size: 1.2rem; + --ifm-h4-font-size: 1rem; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); + --text-primary: #5f6368; + --text-secondary: #5f6368; + --grey-100: #f8f9fa; /* --contrast-100 */ + --grey-900: #0e1013; /* --border-dashed-primary-hk */ + --ifm-menu-color-background-hover: var(--grey-100); } /* For readability concerns, you should choose a lighter palette in dark mode. */ [data-theme="dark"] { - --ifm-color-primary: white; - --ifm-color-primary-dark: white; - --ifm-color-primary-darker: #1fa588; - --ifm-color-primary-darkest: #1a8870; - --ifm-color-primary-light: #29d5b0; - --ifm-color-primary-lighter: #32d8b4; - --ifm-color-primary-lightest: #4fddbf; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); - --ifm-background-surface-color: #000000 !important; - --ifm-background-color: #000000 !important; - --ifm-navbar-active-color: white; - --ifm-navbar-item-color: #a5abaf; - --ifm-footer-div-color: black; - --ifm-table-of-contents-border: rgba(40, 42, 45, 1); - --ifm-table-of-contents-border-active: rgba(248, 249, 250, 1); - --ifm-table-of-contents-text: #a5abaf; - --ifm-table-of-contents-text-active: white; - --ifm-breadcrumbs__item--active: rgba(248, 249, 250, 1); - --ifm-menu__link--active: #5f6368; - --ifm-dropdown-background-color: #242526 !important; - --ifm-footer-bg: #0E1013; - --ifm-footer-company-name-color: white; - --ifm-algolia-bg: #242526; - --ifm-algolia-border: #7f8497; - --ifm-navbar-border: #282A2D; - --ifm-alert-secondary: rgba(235, 237, 240, 0.15); - --ifm-alert-success: rgba(0, 164, 0, 0.15); - --ifm-alert-info: rgba(84, 199, 236, 0.15); - --ifm-alert-warning: rgba(255, 186, 0, 0.15); - --ifm-alert-danger: rgba(250, 56, 62, 0.15); - --ifm-blockquote-border: #606770; - --ifm-tab-container-active-bg: white; - --ifm-tab-container-active-color: black; - --ifm-ul: #f5f6f7; - --ifm-hr: rgba(95, 99, 104, 1); - --ifm-search-icon-color: #a5abaf; - --ifm-doc-search-border-color: #000000; - --ifm-table-header-bg: #2B2B2D; - --ifm-table-header-color: white; - --ifm-table-body-color: #D7E3E3; - --ifm-table-tr-border: #3c3e42; - --ifm-doc-search-title-color: white; - --ifm-dock-search-active-a-bg: #000000; - --ifm-dock-search-active-a-color: white; - --ifm-dock-search-svg-color: white; - --ifm-doc-search-title-bg: #242526; + --ifm-color-primary: white; + --ifm-color-primary-dark: white; + --ifm-color-primary-darker: #1fa588; + --ifm-color-primary-darkest: #1a8870; + --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); + --ifm-background-surface-color: #000000 !important; + --ifm-background-color: #000000 !important; + --ifm-navbar-active-color: white; + --ifm-navbar-item-color: #a5abaf; + --ifm-footer-div-color: black; + --ifm-table-of-contents-border: rgba(40, 42, 45, 1); + --ifm-table-of-contents-border-active: rgba(248, 249, 250, 1); + --ifm-table-of-contents-text: #a5abaf; + --ifm-table-of-contents-text-active: white; + --ifm-breadcrumbs__item--active: rgba(248, 249, 250, 1); + --ifm-menu__link--active: #5f6368; + --ifm-dropdown-background-color: #242526 !important; + --ifm-footer-bg: #0e1013; + --ifm-footer-company-name-color: white; + --ifm-algolia-bg: #242526; + --ifm-algolia-border: #7f8497; + --ifm-navbar-border: #282a2d; + --ifm-alert-secondary: rgba(235, 237, 240, 0.15); + --ifm-alert-success: rgba(0, 164, 0, 0.15); + --ifm-alert-info: rgba(84, 199, 236, 0.15); + --ifm-alert-warning: rgba(255, 186, 0, 0.15); + --ifm-alert-danger: rgba(250, 56, 62, 0.15); + --ifm-blockquote-border: #606770; + --ifm-tab-container-active-bg: white; + --ifm-tab-container-active-color: black; + --ifm-ul: #f5f6f7; + --ifm-hr: rgba(95, 99, 104, 1); + --ifm-search-icon-color: #a5abaf; + --ifm-doc-search-border-color: #000000; + --ifm-table-header-bg: #2b2b2d; + --ifm-table-header-color: white; + --ifm-table-body-color: #d7e3e3; + --ifm-table-tr-border: #3c3e42; + --ifm-doc-search-title-color: white; + --ifm-dock-search-active-a-bg: #000000; + --ifm-dock-search-active-a-color: white; + --ifm-dock-search-svg-color: white; + --ifm-doc-search-title-bg: #242526; } [data-theme="light"] { - --ifm-color-primary: black; - --ifm-color-primary-dark: white; - --ifm-color-primary-darker: #1fa588; - --ifm-color-primary-darkest: #1a8870; - --ifm-color-primary-light: black; - --ifm-color-primary-lighter: #32d8b4; - --ifm-color-primary-lightest: #4fddbf; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); - --ifm-navbar-active-color: black; - --ifm-navbar-item-color: rgb(111, 112, 114); - --ifm-footer-div-color: white; - --ifm-table-of-contents-border: rgba(219, 221, 225, 1); - --ifm-table-of-contents-border-active: black; - --ifm-table-of-contents-text: #5F6368; - --ifm-table-of-contents-text-active: #0E1013; - --ifm-breadcrumbs__item--active: rgba(14, 16, 19, 1); - --ifm-menu__link--active: rgb(111, 112, 114); - --ifm-footer-bg: #0E1013; - --ifm-footer-company-name-color: white; - --ifm-algolia-bg: white; - --ifm-algolia-border: #0E1013; - --ifm-navbar-border: #DBDDE1; - --ifm-alert-secondary: #F8F9FA; - --ifm-alert-success: #E6F5E6; - --ifm-alert-info: #EEF9FC; - --ifm-alert-warning: #FFF8E6; - --ifm-alert-danger: #FFEBEC; - --ifm-blockquote-border: #DBDDE1; - --ifm-tab-container-active-bg: black; - --ifm-tab-container-active-color: white; - --ifm-ul: rgba(95, 99, 104, 1); - --ifm-hr: rgba(14, 16, 19, 1); - --ifm-search-icon-color: #1c1e21; - --ifm-doc-search-border-color: rgba(219, 221, 225, 1); - --ifm-table-header-bg: #F8F9FA; - --ifm-table-header-color: #5F6368; - --ifm-table-body-color: rgba(95, 99, 104, 1); - --ifm-table-tr-border: rgba(14, 16, 19, 1); - --ifm-doc-search-title-color: rgba(14, 16, 19, 1); - --ifm-dock-search-active-a-bg: white; - --ifm-dock-search-active-a-color: #000000; - --ifm-dock-search-svg-color: rgba(14, 16, 19, 1); - --ifm-doc-search-title-bg: white; + --ifm-color-primary: black; + --ifm-color-primary-dark: white; + --ifm-color-primary-darker: #1fa588; + --ifm-color-primary-darkest: #1a8870; + --ifm-color-primary-light: black; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); + --ifm-navbar-active-color: black; + --ifm-navbar-item-color: rgb(111, 112, 114); + --ifm-footer-div-color: white; + --ifm-table-of-contents-border: rgba(219, 221, 225, 1); + --ifm-table-of-contents-border-active: black; + --ifm-table-of-contents-text: #5f6368; + --ifm-table-of-contents-text-active: #0e1013; + --ifm-breadcrumbs__item--active: rgba(14, 16, 19, 1); + --ifm-menu__link--active: rgb(111, 112, 114); + --ifm-footer-bg: #0e1013; + --ifm-footer-company-name-color: white; + --ifm-algolia-bg: white; + --ifm-algolia-border: #0e1013; + --ifm-navbar-border: #dbdde1; + --ifm-alert-secondary: #f8f9fa; + --ifm-alert-success: #e6f5e6; + --ifm-alert-info: #eef9fc; + --ifm-alert-warning: #fff8e6; + --ifm-alert-danger: #ffebec; + --ifm-blockquote-border: #dbdde1; + --ifm-tab-container-active-bg: black; + --ifm-tab-container-active-color: white; + --ifm-ul: rgba(95, 99, 104, 1); + --ifm-hr: rgba(14, 16, 19, 1); + --ifm-search-icon-color: #1c1e21; + --ifm-doc-search-border-color: rgba(219, 221, 225, 1); + --ifm-table-header-bg: #f8f9fa; + --ifm-table-header-color: #5f6368; + --ifm-table-body-color: rgba(95, 99, 104, 1); + --ifm-table-tr-border: rgba(14, 16, 19, 1); + --ifm-doc-search-title-color: rgba(14, 16, 19, 1); + --ifm-dock-search-active-a-bg: white; + --ifm-dock-search-active-a-color: #000000; + --ifm-dock-search-svg-color: rgba(14, 16, 19, 1); + --ifm-doc-search-title-bg: white; } - @font-face { - font-family: "Haffer"; - src: url(../../static/fonts/Haffer-Light.ttf); - font-weight: 200; - font-style: normal; + font-family: "Haffer"; + src: url(../../static/fonts/Haffer-Light.ttf); + font-weight: 200; + font-style: normal; } @font-face { - font-family: "Haffer"; - src: url(../../static/fonts/Haffer-Medium.ttf); - font-weight: 400; - font-style: normal; + font-family: "Haffer"; + src: url(../../static/fonts/Haffer-Medium.ttf); + font-weight: 400; + font-style: normal; } @font-face { - font-family: "Haffer"; - src: url(../../static/fonts/Haffer-Regular.ttf); - font-weight: normal; - font-style: normal; + font-family: "Haffer"; + src: url(../../static/fonts/Haffer-Regular.ttf); + font-weight: normal; + font-style: normal; } @font-face { - font-family: "Haffer"; - src: url(../../static/fonts/Haffer-SemiBold.ttf); - font-weight: bold; - font-style: normal; + font-family: "Haffer"; + src: url(../../static/fonts/Haffer-SemiBold.ttf); + font-weight: bold; + font-style: normal; } @font-face { - font-family: "HafferSQ"; - src: url(../../static/fonts/HafferSQ-Light.ttf); - font-weight: 200; - font-style: normal; + font-family: "HafferSQ"; + src: url(../../static/fonts/HafferSQ-Light.ttf); + font-weight: 200; + font-style: normal; } @font-face { - font-family: "HafferSQ"; - src: url(../../static/fonts/HafferSQ-Medium.ttf); - font-weight: 400; - font-style: normal; + font-family: "HafferSQ"; + src: url(../../static/fonts/HafferSQ-Medium.ttf); + font-weight: 400; + font-style: normal; } @font-face { - font-family: "HafferSQ"; - src: url(../../static/fonts/HafferSQ-Regular.ttf); - font-weight: normal; - font-style: normal; + font-family: "HafferSQ"; + src: url(../../static/fonts/HafferSQ-Regular.ttf); + font-weight: normal; + font-style: normal; } @font-face { - font-family: "HafferSQ"; - src: url(../../static/fonts/HafferSQ-SemiBold.ttf); - font-weight: bold; - font-style: normal; + font-family: "HafferSQ"; + src: url(../../static/fonts/HafferSQ-SemiBold.ttf); + font-weight: bold; + font-style: normal; } @font-face { - font-family: "TTCommonsPro"; - src: url(../../static/fonts/TTCommonsProMonoMedium.ttf); - font-weight: 200; - font-style: normal; + font-family: "TTCommonsPro"; + src: url(../../static/fonts/TTCommonsProMonoMedium.ttf); + font-weight: 200; + font-style: normal; } @font-face { - font-family: "TTCommonsPro"; - src: url(../../static/fonts/TTCommonsProMonoRegular.ttf); - font-weight: 100; - font-style: normal; + font-family: "TTCommonsPro"; + src: url(../../static/fonts/TTCommonsProMonoRegular.ttf); + font-weight: 100; + font-style: normal; } @font-face { - font-family: "FiraCode"; - src: url(../../static/fonts/FiraCode_VariableFont_wght.ttf); + font-family: "FiraCode"; + src: url(../../static/fonts/FiraCode_VariableFont_wght.ttf); } @font-face { - font-family: "DM Mono"; - src: url(../../static/fonts/DMMono-Regular.ttf); - font-weight: normal; - font-style: normal; + font-family: "DM Mono"; + src: url(../../static/fonts/DMMono-Regular.ttf); + font-weight: normal; + font-style: normal; } @font-face { - font-family: "DM Mono"; - src: url(../../static/fonts/DMMono-Medium.ttf); - font-weight: 500; - font-style: normal; + font-family: "DM Mono"; + src: url(../../static/fonts/DMMono-Medium.ttf); + font-weight: 500; + font-style: normal; } body { - font-family: "Haffer"; - font-size: 16px; - font-weight: 200; - letter-spacing: 0%; - line-height: 160%; + font-family: "Haffer"; + font-size: 16px; + font-weight: 200; + letter-spacing: 0%; + line-height: 160%; } .h1 { - font-family: "Haffer"; - font-size: 32px; - font-weight: 400; - letter-spacing: calc(-0.01 * 20px); - line-height: 120%; + font-family: "Haffer"; + font-size: 32px; + font-weight: 400; + letter-spacing: calc(-0.01 * 20px); + line-height: 120%; } .h2 { - font-family: "Haffer"; - font-size: 24px; - font-weight: 400; - letter-spacing: calc(-0.01 * 20px); - line-height: 120%; + font-family: "Haffer"; + font-size: 24px; + font-weight: 400; + letter-spacing: calc(-0.01 * 20px); + line-height: 120%; } .h3 { - font-family: "Haffer"; - font-size: 20px; - font-weight: 400; - letter-spacing: 0%; - line-height: 120%; + font-family: "Haffer"; + font-size: 20px; + font-weight: 400; + letter-spacing: 0%; + line-height: 120%; } .h4 { - font-family: "Haffer"; - font-size: 16px; - font-weight: bold; - letter-spacing: 0%; - line-height: 140%; + font-family: "Haffer"; + font-size: 16px; + font-weight: bold; + letter-spacing: 0%; + line-height: 140%; } a { - /* color: rgb(0, 49, 0); */ - color: none; - font-weight: 400; + /* color: rgb(0, 49, 0); */ + color: none; + font-weight: 400; } - h1 { - font-weight: 400 !important; - font-size: 32px !important; - padding-bottom: 22px !important; - margin-top: -16px !important; + font-weight: 400 !important; + font-size: 32px !important; + padding-bottom: 22px !important; + margin-top: -16px !important; } h1.anchor { - font-weight: 400 !important; - font-size: 32px !important; + font-weight: 400 !important; + font-size: 32px !important; } h2 { - font-weight: 400 !important; - font-size: 24px !important; + font-weight: 400 !important; + font-size: 24px !important; } h2.anchor { - font-weight: 400 !important; - font-size: 24px !important; + font-weight: 400 !important; + font-size: 24px !important; } h3 { - font-weight: 400 !important; - font-size: 20px !important; + font-weight: 400 !important; + font-size: 20px !important; } h3.anchor { - font-weight: 400 !important; - font-size: 20px !important; + font-weight: 400 !important; + font-size: 20px !important; } h4 { - font-size: 16px !important; - font-weight: bold !important; + font-size: 16px !important; + font-weight: bold !important; } h4.anchor { - font-size: 16px !important; - font-weight: bold !important; + font-size: 16px !important; + font-weight: bold !important; } p { - font-size: 16px !important; - font-weight: 400 !important; + font-size: 16px !important; + font-weight: 400 !important; } .menu__list { - list-style: none; - margin: 0 !important; - padding-left: 0 !important; - font-family: "FiraCode"; - font-size: 12px; - font-weight: 400; - letter-spacing: calc(0.05 * 12px); - line-height: 150%; - text-transform: uppercase; + list-style: none; + margin: 0 !important; + padding-left: 0 !important; + font-family: "FiraCode"; + font-size: 12px; + font-weight: 400; + letter-spacing: calc(0.05 * 12px); + line-height: 150%; + text-transform: uppercase; } .theme-doc-sidebar-item-category > ul > li > a { - padding-left: 48px; + padding-left: 48px; } .theme-doc-sidebar-container > div > div { - padding-top: 96px !important; - margin-top: -96px !important; + padding-top: 96px !important; + margin-top: -96px !important; +} + +li.theme-doc-sidebar-item-category.theme-doc-sidebar-item-category-level-2 + > div + a.menu__link { + padding-left: 3rem !important; +} + +li.theme-doc-sidebar-item-category.theme-doc-sidebar-item-category-level-2 { + position: relative; +} + +li.theme-doc-sidebar-item-category.theme-doc-sidebar-item-category-level-2::after { + content: ""; + background-position: 0 0; + background-image: linear-gradient( + to right, + var(--grey-900), + 1.5px, + transparent 1.5px + ); + background-repeat: repeat-x; + background-size: 6px; + display: block; + width: 100%; + height: 1.5px; + position: absolute; + bottom: 0px; + left: 0; +} + +li.theme-doc-sidebar-item-link-level-3 a { + padding-left: 4.5rem !important; } .table-of-contents, .table-of-contents ul { - font-family: "FiraCode"; + font-family: "FiraCode"; } [class*="tableOfContents"] { - padding-top: 20px; + padding-top: 20px; } .pagination-nav__link--prev .pagination-nav__label::before { - content: ""; + content: ""; } .pagination-nav__link--next .pagination-nav__label::after { - content: ""; + content: ""; } .pagination-nav__link { - border: none; + border: none; } .navbar__link { - font-size: 12px; - font-weight: 500; - font-family: 'DM Mono', monospace; - color: var(--text-secondary); - letter-spacing: 0.6px; + font-size: 12px; + font-weight: 500; + font-family: "DM Mono", monospace; + color: var(--text-secondary); + letter-spacing: 0.6px; } [data-theme="dark"] .navbar__link:hover { - color:#e3e3e3 !important; + color: #e3e3e3 !important; } .navbar__link:hover { - color: #000 !important; + color: #000 !important; } .theme-last-updated { - font-style: normal; - font-weight: 400; - font-size: 9px; - text-transform: uppercase; - font-family: "FiraCode"; + font-style: normal; + font-weight: 400; + font-size: 9px; + text-transform: uppercase; + font-family: "FiraCode"; } .parameter-label { - display: inline-block; - position: relative; - top: 3px; - color: #fff; - text-transform: uppercase; - font-size: 11px; - font-weight: 700; - padding: 1px 5px; + display: inline-block; + position: relative; + top: 3px; + color: #fff; + text-transform: uppercase; + font-size: 11px; + font-weight: 700; + padding: 1px 5px; } .success { - background: #859900; + background: #859900; } .important { - background: #dc322f; + background: #dc322f; } - ul { - font-family: "Haffer"; - font-weight: 200; - text-transform: none; + font-family: "Haffer"; + font-weight: 200; + text-transform: none; } .navbar { - margin-bottom: 10px; + margin-bottom: 10px; } .sidebar-title { - font-size: 1rem; - font-family: "Haffer"; - font-weight: 500; - letter-spacing: 0.05em; - margin: 0.7rem; - text-transform: uppercase; + font-size: 1rem; + font-family: "Haffer"; + font-weight: 500; + letter-spacing: 0.05em; + margin: 0.7rem; + text-transform: uppercase; } #bittensor-img { - width: 80%; - display: block; - margin-left: auto; - margin-right: auto; + width: 80%; + display: block; + margin-left: auto; + margin-right: auto; } /* ALGOLIA SEARCH INPUT */ /* NAVBAR LINKS */ .navbar__item.navbar__link { - font-family: 'DM Mono', monospace; - color: var(--text-secondary); - font-size: 12px !important; - align-items: center; - letter-spacing: 0.6px; - margin-left: 32px; + font-family: "DM Mono", monospace; + color: var(--text-secondary); + font-size: 12px !important; + align-items: center; + letter-spacing: 0.6px; + margin-left: 32px; } @media (min-width: 997) { - .navbar__item.navbar__link { - display: flex; - } + .navbar__item.navbar__link { + display: flex; + } } .dropdown--right { - margin-right: auto; - margin-bottom: 0 !important; + margin-right: auto; + margin-bottom: 0 !important; } /* NAV TITLE */ .navbar__title.text--truncate { - font-size: 16px !important; - line-height: 27.2px !important; - font-weight: 400 !important; - font-family: "Haffer"; - letter-spacing: 0.32px; + font-size: 16px !important; + line-height: 27.2px !important; + font-weight: 400 !important; + font-family: "Haffer"; + letter-spacing: 0.32px; } /* Bread Crumb */ .breadcrumbs__item .breadcrumbs__link { - color: var(--text-secondary); - line-height: 130%; - letter-spacing: 0.6px; + color: var(--text-secondary); + line-height: 130%; + letter-spacing: 0.6px; } .breadcrumbs__item.breadcrumbs__item--active .breadcrumbs__link { - background: initial !important; - color: var(--text-primary); - font-family: 'DM Mono', monospace; + background: initial !important; + color: var(--text-primary); + font-family: "DM Mono", monospace; } /* Footer */ .footer__copyright.footer__copyright__custom .container { - max-width: 100%; + max-width: 100%; } @media (min-width: 1440px) { - .footer .container { - max-width: 100% !important; - padding: 0; - } + .footer .container { + max-width: 100% !important; + padding: 0; + } } -.theme-doc-sidebar-container>div>div { - width: 100% !important; +.theme-doc-sidebar-container > div > div { + width: 100% !important; } .theme-doc-sidebar-container nav { - padding: 16px 16px 16px 16px !important; - margin-top: 80px; + padding: 16px 16px 16px 16px !important; + margin-top: 80px; } .menu__link { - padding: 15px; - font-size: 15px !important; + padding: 15px; + font-size: 15px !important; } -.menu__link--sublist-caret::after{ - background: url('data:image/svg+xml;utf8,'); - transform: rotate(90deg); +.menu__link--sublist-caret::after { + background: url('data:image/svg+xml;utf8,'); + transform: rotate(90deg); } -.menu__caret::before{ - background: url('data:image/svg+xml;utf8,'); +.menu__caret::before { + background: url('data:image/svg+xml;utf8,'); } -.menu__caret{ - transform: rotate(270deg); - margin-right: 2px; +.menu__caret { + transform: rotate(270deg); + margin-right: 2px; } -.menu__list-item--collapsed .menu__link--sublist::after, .menu__list-item--collapsed.menu__caret::before{ - transform: rotateZ(0deg) !important; +.menu__list-item--collapsed .menu__link--sublist::after, +.menu__list-item--collapsed.menu__caret::before { + transform: rotateZ(0deg) !important; } .theme-doc-sidebar-menu.menu__list > li { - position: relative; + position: relative; } .theme-doc-sidebar-menu.menu__list > li::after { - content: ''; - background-position: 0 0; - background-image: linear-gradient(to right, var(--grey-900), 1.5px, transparent 1.5px); - background-repeat: repeat-x; - background-size: 6px; - display: block; - width: 100%; - height: 1.5px; - position: absolute; - bottom: 0px; - left: 0; + content: ""; + background-position: 0 0; + background-image: linear-gradient( + to right, + var(--grey-900), + 1.5px, + transparent 1.5px + ); + background-repeat: repeat-x; + background-size: 6px; + display: block; + width: 100%; + height: 1.5px; + position: absolute; + bottom: 0px; + left: 0; } .menu__list-item-collapsible { - position: relative; + position: relative; } .menu__list-item-collapsible::after { - content: ''; - background-position: 0 0; - background-image: linear-gradient(to right, var(--grey-900), 1.5px, transparent 1.5px); - background-repeat: repeat-x; - background-size: 6px; - display: block; - width: 100%; - height: 1.5px; - position: absolute; - bottom: 0px; - left: 0; -} - -.theme-doc-sidebar-item-link-level-2 { - position: relative; -} -.theme-doc-sidebar-item-link-level-2:not(:last-child)::after { - content: ''; - background-position: 0 0; - background-image: linear-gradient(to right, var(--grey-900), 1.5px, transparent 1.5px); - background-repeat: repeat-x; - background-size: 6px; - display: block; - width: 100%; - height: 1.5px; - position: absolute; - bottom: 0px; - left: 0; + content: ""; + background-position: 0 0; + background-image: linear-gradient( + to right, + var(--grey-900), + 1.5px, + transparent 1.5px + ); + background-repeat: repeat-x; + background-size: 6px; + display: block; + width: 100%; + height: 1.5px; + position: absolute; + bottom: 0px; + left: 0; +} + +.theme-doc-sidebar-item-link-level-2, +.theme-doc-sidebar-item-link-level-3 { + position: relative; +} +.theme-doc-sidebar-item-link-level-2:not(:last-child)::after, +.theme-doc-sidebar-item-link-level-3:not(:last-child)::after { + content: ""; + background-position: 0 0; + background-image: linear-gradient( + to right, + var(--grey-900), + 1.5px, + transparent 1.5px + ); + background-repeat: repeat-x; + background-size: 6px; + display: block; + width: 100%; + height: 1.5px; + position: absolute; + bottom: 0px; + left: 0; } .theme-doc-sidebar-menu.menu__list li { - margin: 0 !important; + margin: 0 !important; } .theme-doc-sidebar-menu.menu__list li > a { - height: 48px; + height: 48px; } .menu__link.menu__link--sublist.menu__link--sublist-caret { - height: 48px; + height: 48px; } .menu__link { - border-radius: 0 !important; - color: var(--ifm-navbar-item-color); - font-size: 12px !important; - font-family: 'DM Mono', monospace; - letter-spacing: 0.6px !important; + border-radius: 0 !important; + color: var(--ifm-navbar-item-color); + font-size: 12px !important; + font-family: "DM Mono", monospace; + letter-spacing: 0.6px !important; } [data-theme="dark"] .menu__link:hover { - color:var(--ifm-table-of-contents-text-active); - background-color: transparent; + color: var(--ifm-table-of-contents-text-active); + background-color: transparent; } [data-theme="dark"] .menu__list-item-collapsible { - background-color: transparent !important; - color:var(--ifm-table-of-contents-text-active) !important; + background-color: transparent !important; + color: var(--ifm-table-of-contents-text-active) !important; } .menu__link--active { - background-color: transparent !important; - color: var(--ifm-navbar-active-color) !important; - font-weight: 600; + background-color: transparent !important; + color: var(--ifm-navbar-active-color) !important; + font-weight: 600; } /* custom style for navbar - Change the Class name if you want stick with it (custom_algolia) */ -.custom__algolia__search__container_xfkw>div>div { - width: 353px !important; - min-width: 353px !important; - max-width: 353px !important; - height: 50px; +.custom__algolia__search__container_xfkw > div > div { + width: 353px !important; + min-width: 353px !important; + max-width: 353px !important; + height: 50px; } -.custom__algolia__search__container_xfkw>div { - width: 353px !important; - min-width: 353px !important; - max-width: 353px !important; - height: 50px; +.custom__algolia__search__container_xfkw > div { + width: 353px !important; + min-width: 353px !important; + max-width: 353px !important; + height: 50px; } @media screen and (min-width: 996px) { - .custom_algolia { - position: absolute; - left: 178px; - top: 200px; - } - .custom_algolia > div { - display: block !important; - } + .custom_algolia { + position: absolute; + left: 178px; + top: 200px; + } + .custom_algolia > div { + display: block !important; + } } - .search_container > div { - width: 268px !important; - height: 50px; + width: 268px !important; + height: 50px; } .navbar__inner { - align-content: center; + align-content: center; } .navbar__item { - padding: 0; + padding: 0; } .navbar__items--right { - gap: 0 32px !important; - height: 48px; + gap: 0 32px !important; + height: 48px; } /* right bar style */ .table-of-contents__link { - color: #5F6368; - font-family: 'DM Mono', monospace; - font-size: 0.75rem; - line-height: 130%; - letter-spacing: 0.6px; + color: #5f6368; + font-family: "DM Mono", monospace; + font-size: 0.75rem; + line-height: 130%; + letter-spacing: 0.6px; } .table-of-contents__link--active { - font-weight: bold; + font-weight: bold; } .table-of-contents.table-of-contents__left-border { - border: none !important; + border: none !important; } .table-of-contents.table-of-contents__left-border li { - margin: 0 !important; + margin: 0 !important; } .table-of-contents.table-of-contents__left-border li a { - padding: 10px 0; - padding-left: 15px; + padding: 10px 0; + padding-left: 15px; } .table-of-contents.table-of-contents__left-border ul { - padding: 0 !important; + padding: 0 !important; } -.table-of-contents>li>ul>li>a { - padding-left: 30px !important; - display: table !important; +.table-of-contents > li > ul > li > a { + padding-left: 30px !important; + display: table !important; } -.table-of-contents>li>ul>li>ul>li>a { - margin-left: 45px !important; +.table-of-contents > li > ul > li > ul > li > a { + margin-left: 45px !important; } .table-of-contents .table-of-contents__link:hover { - color: var(--ifm-table-of-contents-text-active) !important; + color: var(--ifm-table-of-contents-text-active) !important; } .container.padding-top--md { - position: relative; + position: relative; } -.container.padding-top--md>div>div:last-child { - padding-left: 1rem !important; +.container.padding-top--md > div > div:last-child { + padding-left: 1rem !important; } -.container.padding-top--md>div>div:first-child { - padding: 32px 32px 48px 56px !important; +.container.padding-top--md > div > div:first-child { + padding: 32px 32px 48px 56px !important; } /* */ @media screen and (max-width: 550px) { - .container.padding-top--md>div>div:first-child { - padding: 32px 32px 48px 32px !important; - } + .container.padding-top--md > div > div:first-child { + padding: 32px 32px 48px 32px !important; + } } .breadcrumbs:first-child svg { - top: 0px !important; - height: 1rem; - width: 1rem; + top: 0px !important; + height: 1rem; + width: 1rem; } .breadcrumbs__item--active span { - padding: 5px; + padding: 5px; } /* dropdown */ .dropdown { - z-index: 9999 !important; - padding-bottom: 10px; - margin-bottom: -10px !important; + z-index: 9999 !important; + padding-bottom: 10px; + margin-bottom: -10px !important; } .dropdown_menu_container { - position: relative; + position: relative; } .dropdown_menu_container li { - list-style: none; + list-style: none; } .dropdown_menu_container .dropdownNavbarItemNested { - position: absolute; - left: 100%; + position: absolute; + left: 100%; } .dropdown__menu { - padding: 0; - min-width: 200px !important; - border: 1px solid var(--ifm-navbar-border); - box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.08); - border-radius: var(--border-radius-border-radius-base, 4px); + padding: 0; + min-width: 200px !important; + border: 1px solid var(--ifm-navbar-border); + box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.08); + border-radius: var(--border-radius-border-radius-base, 4px); } -.dropdown--right .dropdown__menu{ - right: unset; +.dropdown--right .dropdown__menu { + right: unset; } .dropdown__menu .dropdown__link { - padding: 7px 20px !important; - border-radius: 0 !important; - margin: 0 !important; - cursor: pointer; - color: var(--text-secondary, #5F6368); - font-family: 'DM Mono', monospace; - font-size: 12px; - letter-spacing: 0.6px; - text-transform: uppercase; + padding: 7px 20px !important; + border-radius: 0 !important; + margin: 0 !important; + cursor: pointer; + color: var(--text-secondary, #5f6368); + font-family: "DM Mono", monospace; + font-size: 12px; + letter-spacing: 0.6px; + text-transform: uppercase; } /* Custom bottom border mixin */ .dropdown__menu > li { - position: relative; + position: relative; } .dropdown__menu > li:not(:last-child)::after { - content: ''; - background-position: 0 0; - background-image: linear-gradient(to right, var(--grey-900), 1.5px, transparent 1.5px); - background-repeat: repeat-x; - background-size: 6px; - display: block; - width: 100%; - height: 1.5px; - position: absolute; - bottom: 0; - left: 0; + content: ""; + background-position: 0 0; + background-image: linear-gradient( + to right, + var(--grey-900), + 1.5px, + transparent 1.5px + ); + background-repeat: repeat-x; + background-size: 6px; + display: block; + width: 100%; + height: 1.5px; + position: absolute; + bottom: 0; + left: 0; } .dropdown__link:hover { - background-color: var(--grey-100); + background-color: var(--grey-100); } .dropdown__menu ul { - padding-left: 15px !important; - height: 0; - overflow: hidden; - transition: all ease 0.3s !important; + padding-left: 15px !important; + height: 0; + overflow: hidden; + transition: all ease 0.3s !important; } @keyframes heightAnimation { - 0% { - height: 0px; - border-bottom: 1px dashed rgba(95, 99, 104, 1); - } + 0% { + height: 0px; + border-bottom: 1px dashed rgba(95, 99, 104, 1); + } - 100% { - border-bottom: 1px dashed rgba(95, 99, 104, 1); - height: 100%; - } + 100% { + border-bottom: 1px dashed rgba(95, 99, 104, 1); + height: 100%; + } } .dropdown__menu .active-nested-dropdown { - animation-name: heightAnimation; - animation-duration: 1s; - animation-fill-mode: both; + animation-name: heightAnimation; + animation-duration: 1s; + animation-fill-mode: both; } .dropdown__menu_nested_items { - border-bottom: 1px dashed rgba(95, 99, 104, 1) !important; + border-bottom: 1px dashed rgba(95, 99, 104, 1) !important; } .dropdown__menu li:last-child a { - border-bottom: 0 !important; + border-bottom: 0 !important; } .dropdown__menu li:last-child ul { - border-bottom: 0 !important; + border-bottom: 0 !important; } .dropdown__menu li:last-child { - border-bottom: 0 !important; + border-bottom: 0 !important; } .dropdown__menu ul li { - list-style: none !important; + list-style: none !important; } .dropdown__menu .has-dropdown { - display: flex; - width: 100% !important; - position: relative; + display: flex; + width: 100% !important; + position: relative; } .dropdown__menu .has-dropdown a { - width: 100% !important; + width: 100% !important; } .dropdown__menu .has-dropdown .arrow { - position: absolute; - right: 15px; - top: 12px; + position: absolute; + right: 15px; + top: 12px; } .navbar__item.dropdown a { - /* margin-top: 6px; */ - display: block; + /* margin-top: 6px; */ + display: block; } .navbar__item.dropdown a::after { - margin-left: 8px !important; - margin-bottom: 2px !important; + margin-left: 8px !important; + margin-bottom: 2px !important; } /* Dropdown caret */ .dropdown > .navbar__link::after { - border-width: 0.3em 0.3em 0; - top: 1px; + border-width: 0.3em 0.3em 0; + top: 1px; } /* breadcrumbs styles */ .breadcrumbs { - display: flex; - flex-wrap: wrap; + display: flex; + flex-wrap: wrap; } .breadcrumbs .breadcrumbs__item::after { - background: url("../../static//img/slice.svg"); - height: 15px; - background-size: cover; - background-repeat: no-repeat; + background: url("../../static//img/slice.svg"); + height: 15px; + background-size: cover; + background-repeat: no-repeat; } .breadcrumbs .breadcrumbs__item span { - padding: 0 !important; - display: table; + padding: 0 !important; + display: table; } .breadcrumbs .breadcrumbs__item { - display: flex; - align-items: center; + display: flex; + align-items: center; } .breadcrumbs .breadcrumbs__item:first-child { - display: flex !important; + display: flex !important; } .breadcrumbs .breadcrumbs__item .breadcrumbs__link { - padding: 0 !important; - font-size: 0.75rem; + padding: 0 !important; + font-size: 0.75rem; } .breadcrumbs__item--active span { - color: var(--ifm-breadcrumbs__item--active) !important; + color: var(--ifm-breadcrumbs__item--active) !important; } /* Feedback */ .feedback { - display: flex !important; - align-items: center; - gap: 0 20px; + display: flex !important; + align-items: center; + gap: 0 20px; } .feedback span { - font-weight: 400 !important; - text-transform: uppercase; - font-size: 0.7rem; - font-family: 'DM Mono', monospace; - letter-spacing:0.6; + font-weight: 400 !important; + text-transform: uppercase; + font-size: 0.7rem; + font-family: "DM Mono", monospace; + letter-spacing: 0.6; } .feedback .feelings { - display: flex; - align-items: center; - gap: 0 16px; + display: flex; + align-items: center; + gap: 0 16px; } .feeling { - width:32px; - height:32px; - border: 1px solid rgba(219,221,225,1); - border-radius:4px; - display: flex; - align-items: center; - justify-content: center; - cursor: pointer; + width: 32px; + height: 32px; + border: 1px solid rgba(219, 221, 225, 1); + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; } .feedbackAndName { - display: flex; - align-items: center; - width: 100%; - justify-content: space-between; - margin-top: 80px; + display: flex; + align-items: center; + width: 100%; + justify-content: space-between; + margin-top: 80px; } .feeling-symbol { - cursor: pointer !important; + cursor: pointer !important; } .footer-line div { - position: absolute; - left: 0; - right: 0; - width: 100% !important; - border-top: 2px solid var(--ifm-navbar-border); - margin-top: -10px; - height: 110px; - z-index: 9 !important; - background-color: var(--ifm-footer-div-color); + position: absolute; + left: 0; + right: 0; + width: 100% !important; + border-top: 2px solid var(--ifm-navbar-border); + margin-top: -10px; + height: 110px; + z-index: 9 !important; + background-color: var(--ifm-footer-div-color); } /* pagination */ .pagination-nav { - display: flex !important; - justify-content: space-between; - z-index: 99 !important; - position: relative; + display: flex !important; + justify-content: space-between; + z-index: 99 !important; + position: relative; } .pagination-nav .pagination-nav__link { - max-width: 30% !important; + max-width: 30% !important; } -.pagination-nav:has(.pagination-nav__link:first-child.pagination-nav__link--next) { - justify-content: end; +.pagination-nav:has( + .pagination-nav__link:first-child.pagination-nav__link--next + ) { + justify-content: end; } - .table-of-contents.table-of-contents__left-border li a { - border-left: 1px solid var(--ifm-table-of-contents-border); + border-left: 1px solid var(--ifm-table-of-contents-border); } .table-of-contents.table-of-contents__left-border li a { - font-weight: 400; - color: var(--ifm-table-of-contents-text); + font-weight: 400; + color: var(--ifm-table-of-contents-text); } .table-of-contents__link--active { - border-left: 1px solid var(--ifm-table-of-contents-border-active) !important; - color: var(--ifm-table-of-contents-text-active) !important; + border-left: 1px solid var(--ifm-table-of-contents-border-active) !important; + color: var(--ifm-table-of-contents-text-active) !important; } .menu__link--sublist-caret.menu__link--active { - color: var(--ifm-menu__link--active) !important + color: var(--ifm-menu__link--active) !important; } .footer { - padding: 25px 30px !important; - background-color: var(--ifm-footer-bg) !important; + padding: 25px 30px !important; + background-color: var(--ifm-footer-bg) !important; } .footer .footer__copyright { - font-family: TTCommonsPro !important; - font-size: 14px !important; - text-transform: uppercase !important; - display: flex; - align-items: center; - justify-content: space-between; + font-family: TTCommonsPro !important; + font-size: 14px !important; + text-transform: uppercase !important; + display: flex; + align-items: center; + justify-content: space-between; } - .footer .footer__copyright a { - color: var(--ifm-footer-company-name-color) !important; + color: var(--ifm-footer-company-name-color) !important; } - /* Algolia Search */ .DocSearch { - position: fixed !important; - left: 0; - top: 0; - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: center; + position: fixed !important; + left: 0; + top: 0; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; } .DocSearch .DocSearch-Modal { - background-color: var(--ifm-algolia-bg) !important; - border-radius: 10px !important; - min-width: 40% !important; + background-color: var(--ifm-algolia-bg) !important; + border-radius: 10px !important; + min-width: 40% !important; } .DocSearch .DocSearch-Footer { - display: none !important; + display: none !important; } .DocSearch .DocSearch-Form { - background-color: var(--ifm-algolia-bg) !important; - box-shadow: inset 0 0 0 1px var(--ifm-algolia-border) !important; + background-color: var(--ifm-algolia-bg) !important; + box-shadow: inset 0 0 0 1px var(--ifm-algolia-border) !important; } .DocSearch .DocSearch-Form label { - color: var(--ifm-algolia-border) !important; + color: var(--ifm-algolia-border) !important; } .DocSearch .DocSearch-Form label svg { - width: 20px !important; - height: 20px !important; + width: 20px !important; + height: 20px !important; } .DocSearch .DocSearch-Form input::placeholder { - font-size: 16px !important; + font-size: 16px !important; } .DocSearch .DocSearch-Form input { - font-size: 16px !important; + font-size: 16px !important; } .DocSearch-Modal .DocSearch-Hit-source { - font-size: 14px !important; - text-transform: uppercase !important; - font-family: TTCommonsPro !important; + font-size: 14px !important; + text-transform: uppercase !important; + font-family: TTCommonsPro !important; } .DocSearch-Modal #docsearch-list li { - margin: 0 !important; + margin: 0 !important; } .navbar { - border-bottom: none !important; - box-shadow: none !important; + border-bottom: none !important; + box-shadow: none !important; } .navbar__logo { - margin-right: 13rem; + margin-right: 13rem; } - + /* Components design */ .alert { - position: relative; - border-left-width: 3px !important; - border-radius: 0 !important; - font-family: Haffer !important; - box-shadow: 0 !important; + position: relative; + border-left-width: 3px !important; + border-radius: 0 !important; + font-family: Haffer !important; + box-shadow: 0 !important; } .alert.alert--secondary { - background-color: var(--ifm-alert-secondary) !important; + background-color: var(--ifm-alert-secondary) !important; } .alert.alert--success { - background-color: var(--ifm-alert-success) !important; + background-color: var(--ifm-alert-success) !important; } .alert.alert--info { - background-color: var(--ifm-alert-info) !important; + background-color: var(--ifm-alert-info) !important; } .alert.alert--warning { - background-color: var(--ifm-alert-warning) !important; + background-color: var(--ifm-alert-warning) !important; } .alert.alert--warning span svg { - width: 18px !important; + width: 18px !important; } .alert.alert--danger { - background-color: var(--ifm-alert-danger) !important; + background-color: var(--ifm-alert-danger) !important; } .alert.alert--success svg, .alert.alert--info svg, .alert.alert--secondary svg { - width: 1.1rem !important; - height: 1.1rem !important; + width: 1.1rem !important; + height: 1.1rem !important; } blockquote { - border-left: 3px solid var(--ifm-blockquote-border) !important; + border-left: 3px solid var(--ifm-blockquote-border) !important; } -.language-bash>div span>span.token.plain { - font-family: FiraCode !important; +.language-bash > div span > span.token.plain { + font-family: FiraCode !important; } .theme-code-block div:first-child { - display: flex !important; - align-items: center; - gap: 0 10px !important; - font-family: FiraCode !important; + display: flex !important; + align-items: center; + gap: 0 10px !important; + font-family: FiraCode !important; } .theme-code-block div:first-child svg { - margin-top: -1px !important; + margin-top: -1px !important; } code { - font-family: FiraCode !important; + font-family: FiraCode !important; } -.tabs-container>ul { - display: flex !important; - gap: 0 5px; +.tabs-container > ul { + display: flex !important; + gap: 0 5px; } -.tabs-container>ul li { - border-radius: 5px !important; - font-weight: 400 !important; - letter-spacing: 2px; - font-size: 14px !important; - padding: 8px 10px !important; - padding-bottom: 5px !important; +.tabs-container > ul li { + border-radius: 5px !important; + font-weight: 400 !important; + letter-spacing: 2px; + font-size: 14px !important; + padding: 8px 10px !important; + padding-bottom: 5px !important; } -.tabs-container>ul li.tabs__item--active { - border-bottom: 0 !important; - background-color: var(--ifm-tab-container-active-bg) !important; - color: var(--ifm-tab-container-active-color) !important; +.tabs-container > ul li.tabs__item--active { + border-bottom: 0 !important; + background-color: var(--ifm-tab-container-active-bg) !important; + color: var(--ifm-tab-container-active-color) !important; } table { - background-color: transparent !important; - border-color: transparent !important; - border-spacing: 0 !important; - border: 0 !important; - width: 100% !important; - min-width: 100% !important; - display: table !important; + background-color: transparent !important; + border-color: transparent !important; + border-spacing: 0 !important; + border: 0 !important; + width: 100% !important; + min-width: 100% !important; + display: table !important; } table thead { - background-color: var(--ifm-table-header-bg) !important; + background-color: var(--ifm-table-header-bg) !important; } - table tr { - border-bottom: 1px dotted var(--ifm-table-tr-border) !important; - border: 0 !important; - border-spacing: 10px !important; - background-color: transparent !important; - background-image: linear-gradient(to right, var(--ifm-table-tr-border) 50%, transparent 50%); - background-size: 7px 1px; - background-repeat: repeat-x; - background-position: 0 bottom; + border-bottom: 1px dotted var(--ifm-table-tr-border) !important; + border: 0 !important; + border-spacing: 10px !important; + background-color: transparent !important; + background-image: linear-gradient( + to right, + var(--ifm-table-tr-border) 50%, + transparent 50% + ); + background-size: 7px 1px; + background-repeat: repeat-x; + background-position: 0 bottom; } table tbody tr:last-child { - border-bottom: 0 !important; - background-image: none !important; + border-bottom: 0 !important; + background-image: none !important; } table tbody { - background-color: transparent !important; + background-color: transparent !important; } table tr td, th { - border: 0 !important; - font-weight: 400 !important; + border: 0 !important; + font-weight: 400 !important; } table tr th { - color: var(--ifm-table-header-color) !important; - font-size: 15px !important; - /* text-align: center !important; */ - font-family: TTCommonsPro !important; - font-weight: 600 !important; + color: var(--ifm-table-header-color) !important; + font-size: 15px !important; + /* text-align: center !important; */ + font-family: TTCommonsPro !important; + font-weight: 600 !important; } table tr th:first-child { - text-align: start !important; + text-align: start !important; } table tr th:last-child { - text-align: start !important; + text-align: start !important; } table tr td { - color: var(--ifm-table-body-color) !important; - font-size: 14px !important; + color: var(--ifm-table-body-color) !important; + font-size: 14px !important; } table tr td:first-child { - font-weight: 400 !important; + font-weight: 400 !important; } hr { - background-color: transparent !important; - background-image: linear-gradient(to right, var(--ifm-hr) 10%, transparent 30%); - background-size: 5px 7px; - background-repeat: repeat-x; - background-position: 0 bottom; + background-color: transparent !important; + background-image: linear-gradient( + to right, + var(--ifm-hr) 10%, + transparent 30% + ); + background-size: 5px 7px; + background-repeat: repeat-x; + background-position: 0 bottom; } ol:not([class]) li { - font-size: 16px !important; - font-weight: 400 !important; - font-family: "Haffer"; + font-size: 16px !important; + font-weight: 400 !important; + font-family: "Haffer"; } ul.dashed_ul { - list-style-type: none !important; - padding: 0 !important; - padding-left: 25px !important; + list-style-type: none !important; + padding: 0 !important; + padding-left: 25px !important; } -ul.dashed_ul>li { - font-size: 16px !important; - position: relative; - font-weight: 400 !important; +ul.dashed_ul > li { + font-size: 16px !important; + position: relative; + font-weight: 400 !important; } -ul.dashed_ul>li::before { - content: "" !important; - display: block; - width: 8px !important; - background-color: var(--ifm-ul) !important; - height: 1px !important; - margin-top: 12px !important; - margin-right: 10px !important; - position: absolute; - left: -15px; +ul.dashed_ul > li::before { + content: "" !important; + display: block; + width: 8px !important; + background-color: var(--ifm-ul) !important; + height: 1px !important; + margin-top: 12px !important; + margin-right: 10px !important; + position: absolute; + left: -15px; } - -p>a>img[loading="lazy"] { - width: 100% !important; +p > a > img[loading="lazy"] { + width: 100% !important; } .open_grepper_editor { - display: none !important; + display: none !important; } - -.theme-doc-sidebar-menu.menu__list li:first-child>div { - display: none !important; +.theme-doc-sidebar-menu.menu__list li:first-child > div { + display: none !important; } .navbar .navbar__inner .navbar__items .navbar__brand { - display: flex; + display: flex; } .lastEdit { - width: 100%; - text-align: right; - font-size: 12px !important; - font-family: TTCommonsPro !important; - color: #5f6368; - position: absolute !important; - top: -15px !important; + width: 100%; + text-align: right; + font-size: 12px !important; + font-family: TTCommonsPro !important; + color: #5f6368; + position: absolute !important; + top: -15px !important; } .navbar.navbar--fixed-top { - margin-bottom: 0 !important; + margin-bottom: 0 !important; } main article { - position: relative !important; + position: relative !important; } main article a { - text-decoration: underline !important; + text-decoration: underline !important; } footer .container.container-fluid { - margin: 0 !important; - max-width: 100% !important; + margin: 0 !important; + max-width: 100% !important; } #docsearch-list { - border: 2px solid var(--ifm-doc-search-border-color) !important; - border-radius: 5px !important; + border: 2px solid var(--ifm-doc-search-border-color) !important; + border-radius: 5px !important; } #docsearch-list li { - padding: 0 !important; + padding: 0 !important; } #docsearch-list li a { - box-shadow: none !important; - border-bottom: 1px dashed var(--ifm-doc-search-border-color) !important; - background-color: transparent !important; + box-shadow: none !important; + border-bottom: 1px dashed var(--ifm-doc-search-border-color) !important; + background-color: transparent !important; } #docsearch-list li:last-child a { - border-bottom: 0 !important; + border-bottom: 0 !important; } #docsearch-list li a .DocSearch-Hit-icon svg { - color: var(--ifm-dock-search-svg-color) !important; + color: var(--ifm-dock-search-svg-color) !important; } .DocSearch-Hits .DocSearch-Hit-source { - font-weight: 600 !important; - color: var(--ifm-doc-search-title-color) !important; - font-size: 13px !important; - letter-spacing: 1px !important; - background: var(--ifm-doc-search-title-bg) !important; + font-weight: 600 !important; + color: var(--ifm-doc-search-title-color) !important; + font-size: 13px !important; + letter-spacing: 1px !important; + background: var(--ifm-doc-search-title-bg) !important; } -.DocSearch-Hit[aria-selected=true] a { - background-color: var(--ifm-dock-search-active-a-bg) !important; - border-radius: 0 !important; +.DocSearch-Hit[aria-selected="true"] a { + background-color: var(--ifm-dock-search-active-a-bg) !important; + border-radius: 0 !important; } -.DocSearch-Hit[aria-selected=true] a .DocSearch-Hit-title { - font-weight: bold !important; - color: var(--ifm-dock-search-active-a-color) !important; +.DocSearch-Hit[aria-selected="true"] a .DocSearch-Hit-title { + font-weight: bold !important; + color: var(--ifm-dock-search-active-a-color) !important; } -.DocSearch-Hit[aria-selected=true] a .DocSearch-Hit-title mark { - font-weight: bold !important; - color: var(--ifm-dock-search-active-a-color) !important; - background-color: rgba(233, 244, 164, 1) !important; - color: #000000 !important; +.DocSearch-Hit[aria-selected="true"] a .DocSearch-Hit-title mark { + font-weight: bold !important; + color: var(--ifm-dock-search-active-a-color) !important; + background-color: rgba(233, 244, 164, 1) !important; + color: #000000 !important; } -.DocSearch-Hit[aria-selected=true] a .DocSearch-Hit-path { - font-weight: 400 !important; - color: var(--ifm-dock-search-active-a-color) !important; +.DocSearch-Hit[aria-selected="true"] a .DocSearch-Hit-path { + font-weight: 400 !important; + color: var(--ifm-dock-search-active-a-color) !important; } -.DocSearch-Hit[aria-selected=true] a .DocSearch-Hit-path mark { - font-weight: 600 !important; - color: var(--ifm-dock-search-active-a-color) !important; - background-color: rgba(233, 244, 164, 1) !important; - color: #000000 !important; +.DocSearch-Hit[aria-selected="true"] a .DocSearch-Hit-path mark { + font-weight: 600 !important; + color: var(--ifm-dock-search-active-a-color) !important; + background-color: rgba(233, 244, 164, 1) !important; + color: #000000 !important; } -.DocSearch-Hit[aria-selected=true] a .DocSearch-Hit-Tree { - color: var(--docsearch-muted-color) !important; +.DocSearch-Hit[aria-selected="true"] a .DocSearch-Hit-Tree { + color: var(--docsearch-muted-color) !important; } - [data-theme="dark"] { - .theme-doc-sidebar-menu li:first-child>div>div { - border: 1px solid #282a2d !important; - } + .theme-doc-sidebar-menu li:first-child > div > div { + border: 1px solid #282a2d !important; + } } [data-theme="light"] { - .menu__link--sublist-caret.menu__link--active { - font-weight: 400; - } + .menu__link--sublist-caret.menu__link--active { + font-weight: 400; + } - .footer__copyright.footer__copyright__custom { - color: var(--grey-100) !important; - } + .footer__copyright.footer__copyright__custom { + color: var(--grey-100) !important; + } } @media screen and (max-width: 1310px) { - .navbar__inner .navbar__items--right a:nth-child(3) { - margin-right: 20px !important; - } + .navbar__inner .navbar__items--right a:nth-child(3) { + margin-right: 20px !important; + } } @media screen and (max-width: 996px) { - .navbar__inner .navbar__items:first-child div { - right: 0 !important; - } + .navbar__inner .navbar__items:first-child div { + right: 0 !important; + } - .navbar.navbar--fixed-top { - padding: 10px 15px !important; - } + .navbar.navbar--fixed-top { + padding: 10px 15px !important; + } - .navbar__inner .search_container div:last-child { - margin-right: 0px !important; - } + .navbar__inner .search_container div:last-child { + margin-right: 0px !important; + } - .theme-doc-sidebar-menu.menu__list li:first-child>div { - display: block !important; - } + .theme-doc-sidebar-menu.menu__list li:first-child > div { + display: block !important; + } - .navbar__inner .search_container { - width: 100%; - } + .navbar__inner .search_container { + width: 100%; + } - .navbar__toggle.clean-btn { - margin-bottom: 5px; - } + .navbar__toggle.clean-btn { + margin-bottom: 5px; + } - .navbar__items.navbar__items--right { - display: none; - } + .navbar__items.navbar__items--right { + display: none; + } } - @media screen and (max-width: 600px) { + .pagination-nav .pagination-nav__link { + max-width: 45% !important; + width: 100% !important; + padding: 0 !important; + } - .pagination-nav .pagination-nav__link { - max-width: 45% !important; - width: 100% !important; - padding: 0 !important; - } + .footer-line div { + height: 2px !important; + } - .footer-line div { - height: 2px !important; - } + .footer { + padding: 20px 10px !important; + } - .footer { - padding: 20px 10px !important; - } + .footer .footer__copyright { + gap: 0 20px !important; + } - .footer .footer__copyright { - gap: 0 20px !important; - } - - .navbar { - padding: 5px 20px !important; - } + .navbar { + padding: 5px 20px !important; + } } @media screen and (max-width: 550px) { - .pagination-nav.docusaurus-mt-lg { - margin-top: 80px !important; - } + .pagination-nav.docusaurus-mt-lg { + margin-top: 80px !important; + } } @media screen and (max-width: 500px) { - .navbar-sidebar { - width: 100% !important; - } + .navbar-sidebar { + width: 100% !important; + } - .navbar-sidebar__item:last-child { - width: 100% !important; - } + .navbar-sidebar__item:last-child { + width: 100% !important; + } - .pagination-nav .pagination-nav__link { - max-width: 489 !important; - } + .pagination-nav .pagination-nav__link { + max-width: 489 !important; + } - .navbar-sidebar__item menu{ - width: 100% !important; - } - + .navbar-sidebar__item menu { + width: 100% !important; + } } - @media screen and (max-width: 420px) { + .navbar { + padding: 5px 10px !important; + } - .navbar { - padding: 5px 10px !important; - } - - .footer { - padding: 20px 0 !important; - } + .footer { + padding: 20px 0 !important; + } } -.pagination-nav__link--next > .pagination-nav__label{ - text-align: right; +.pagination-nav__link--next > .pagination-nav__label { + text-align: right; } .pagination-nav__link--next > .pagination-nav__sublabel { - font-family: 'DM Mono', monospace; - position: relative; - padding-right: 12px; - text-align: right; + font-family: "DM Mono", monospace; + position: relative; + padding-right: 12px; + text-align: right; } .pagination-nav__link--next > .pagination-nav__sublabel::before { - content: ""; - position: absolute; - right: 0px; - top: 4.5px; - width: 0; - height: 0; - border-top: 4px solid transparent; /* Adjust the size of the arrow */ - border-bottom: 4px solid transparent; /* Adjust the size of the arrow */ - border-left: 6px solid rgb(82, 88, 96); /* Adjust the size and color of the arrow */ + content: ""; + position: absolute; + right: 0px; + top: 4.5px; + width: 0; + height: 0; + border-top: 4px solid transparent; /* Adjust the size of the arrow */ + border-bottom: 4px solid transparent; /* Adjust the size of the arrow */ + border-left: 6px solid rgb(82, 88, 96); /* Adjust the size and color of the arrow */ } .pagination-nav__link--prev > .pagination-nav__sublabel { - font-family: 'DM Mono', monospace; - position: relative; - padding-left: 12px; + font-family: "DM Mono", monospace; + position: relative; + padding-left: 12px; } .pagination-nav__link--prev > .pagination-nav__sublabel::before { - content: ""; - position: absolute; - left: 0px; - top: 4.5px; - width: 0; - height: 0; - border-top: 4px solid transparent; - border-bottom: 4px solid transparent; - border-right: 6px solid rgb(82, 88, 96); + content: ""; + position: absolute; + left: 0px; + top: 4.5px; + width: 0; + height: 0; + border-top: 4px solid transparent; + border-bottom: 4px solid transparent; + border-right: 6px solid rgb(82, 88, 96); } .important { - background: none; + background: none; } From 0ae3e465e5170934d6d310033eb251eeedd79aca Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Sat, 30 Aug 2025 19:12:03 +0100 Subject: [PATCH 208/303] added localnet information --- docs/bittensor-networks.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/bittensor-networks.md b/docs/bittensor-networks.md index cb3a23d2a2..7b66ae2177 100644 --- a/docs/bittensor-networks.md +++ b/docs/bittensor-networks.md @@ -6,14 +6,15 @@ title: "Bittensor Networks" The below table presents Bittensor networks and a few details: +| DESCRIPTION | MAINNET | TESTNET | LOCALNET | +| :---------------------------- | :------------------------------------------ | :--------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| **Chain URL** | wss://entrypoint-finney.opentensor.ai:443 | wss://test.finney.opentensor.ai:443 | ws://127.0.0.1:9944 | +| **Example Usage** | `btcli wallet swap_hotkey --network finney` | `btcli wallet swap_hotkey --network test` | `btcli wallet swap_hotkey --network local` | +| **Block processing** | One block every 12 seconds | One block every 12 seconds | One block every 0.25s seconds in fast blocks mode and one block every 12s in non-fast blocks mode. | +| **Mainnet Archive** | wss://archive.chain.opentensor.ai:443 | None | None | +| **Mainnet Lite** | wss://lite.chain.opentensor.ai:443 | None | None | +| **Experimental Mainnet Lite** | wss://lite.finney.test.opentensor.ai:443 | None | None | +| **Network Purpose** | Transactions with financial value | Test transactions with no value, constrained by tokenomics | Development and testing in fully user-controlled environment | +| **Test TAO** | None | Available on request (not compatible with devnet test TAO) | Available in Alice wallet. See [Access the Alice account | -| DESCRIPTION | MAINNET | TESTNET -| :---------------------------- | :---------------------------------------- | :----------------------------------------------------------------------- -| **Chain URL** | wss://entrypoint-finney.opentensor.ai:443 | wss://test.finney.opentensor.ai:443 -| **Example Usage** | Default | `btcli wallet swap_hotkey --network wss://test.finney.opentensor.ai:443` -| **Block processing** | One block every 12 seconds | One block every 12 seconds -| **Mainnet Archive** | wss://archive.chain.opentensor.ai:443 | None -| **Mainnet Lite** | wss://lite.chain.opentensor.ai:443 | None -| **Experimental Mainnet Lite** | wss://lite.finney.test.opentensor.ai:443 | None -| **Network Purpose** | Transactions with financial value | Test transactions with no value, constrained by tokenomics | Development and testing in fully user-controlled environment | -| **Test TAO** | None | Available on request (not compatible with devnet test TAO) +](./local-build/provision-wallets#access-the-alice-account) From 7382870f4629f2f2dba422d8c110fd2d65dc6f4d Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Sat, 30 Aug 2025 19:20:45 +0100 Subject: [PATCH 209/303] minor edits --- docs/bittensor-networks.md | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/docs/bittensor-networks.md b/docs/bittensor-networks.md index 7b66ae2177..911613145f 100644 --- a/docs/bittensor-networks.md +++ b/docs/bittensor-networks.md @@ -6,15 +6,13 @@ title: "Bittensor Networks" The below table presents Bittensor networks and a few details: -| DESCRIPTION | MAINNET | TESTNET | LOCALNET | -| :---------------------------- | :------------------------------------------ | :--------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| **Chain URL** | wss://entrypoint-finney.opentensor.ai:443 | wss://test.finney.opentensor.ai:443 | ws://127.0.0.1:9944 | -| **Example Usage** | `btcli wallet swap_hotkey --network finney` | `btcli wallet swap_hotkey --network test` | `btcli wallet swap_hotkey --network local` | -| **Block processing** | One block every 12 seconds | One block every 12 seconds | One block every 0.25s seconds in fast blocks mode and one block every 12s in non-fast blocks mode. | -| **Mainnet Archive** | wss://archive.chain.opentensor.ai:443 | None | None | -| **Mainnet Lite** | wss://lite.chain.opentensor.ai:443 | None | None | -| **Experimental Mainnet Lite** | wss://lite.finney.test.opentensor.ai:443 | None | None | -| **Network Purpose** | Transactions with financial value | Test transactions with no value, constrained by tokenomics | Development and testing in fully user-controlled environment | -| **Test TAO** | None | Available on request (not compatible with devnet test TAO) | Available in Alice wallet. See [Access the Alice account | - -](./local-build/provision-wallets#access-the-alice-account) +| DESCRIPTION | MAINNET | TESTNET | LOCALNET | +| :---------------------------- | :------------------------------------------ | :--------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| **Chain URL** | wss://entrypoint-finney.opentensor.ai:443 | wss://test.finney.opentensor.ai:443 | ws://127.0.0.1:9944 | +| **Example Usage** | `btcli wallet swap_hotkey --network finney` | `btcli wallet swap_hotkey --network test` | `btcli wallet swap_hotkey --network local` | +| **Block processing** | One block every 12 seconds | One block every 12 seconds | One block every 0.25s seconds in fast blocks mode and one block every 12s in non-fast blocks mode. | +| **Mainnet Archive** | wss://archive.chain.opentensor.ai:443 | None | None | +| **Mainnet Lite** | wss://lite.chain.opentensor.ai:443 | None | None | +| **Experimental Mainnet Lite** | wss://lite.finney.test.opentensor.ai:443 | None | None | +| **Network Purpose** | Transactions with financial value | Test transactions with no value, constrained by tokenomics | Development and testing in fully user-controlled environment | +| **Test TAO** | None | Available on request (not compatible with devnet test TAO) | Available in Alice wallet. See [Access the Alice account](./local-build/provision-wallets#access-the-alice-account). | From a1decf127095680e699bc4b387f55c4e4ad822fb Mon Sep 17 00:00:00 2001 From: Dera Okeke <63825182+chideraao@users.noreply.github.com> Date: Thu, 4 Sep 2025 01:58:20 +0100 Subject: [PATCH 210/303] Docs file restructuring (#69) * restructure wip * restructure wip * fixed broken links * fixed broken links pt. 2 * new changes * fixed broken links pt. 3 * fixed broken links and anchors * trailing slash test * Update docs/subnets/metagraph.md Co-authored-by: Michael Trestman * fix broken links * wip --------- Co-authored-by: Michael Trestman Co-authored-by: michael trestman --- docs/{ => btcli}/btcli-permissions.md | 34 +- docs/btcli/btcli-playground.md | 2 +- docs/{ => btcli}/btcli.md | 4 +- docs/btcli/overview.md | 6 +- docs/{ => concepts}/bittensor-networks.md | 2 +- .../bt-logging-levels.md | 0 docs/{subnets => concepts}/commit-reveal.md | 21 +- .../consensus-based-weights.md | 0 docs/{ => concepts}/root-network.md | 2 +- docs/{ => concepts}/tools.md | 14 +- docs/dynamic-tao/dtao-faq.md | 4 +- docs/dynamic-tao/index.md | 2 +- docs/dynamic-tao/sdk-cheat-sheet.md | 150 +++++---- docs/errors/index.md | 13 +- .../troubleshooting.md} | 26 +- docs/evm-tutorials/convert-h160-to-ss58.md | 2 +- docs/evm-tutorials/index.md | 8 +- docs/evm-tutorials/subnet-precompile.md | 172 ++++++++++- docs/getting-started/install-btcli.md | 2 +- docs/getting-started/installation.md | 2 +- docs/{ => governance}/governance.md | 4 +- docs/{ => governance}/senate.md | 6 +- docs/governance/senators-btcli-guide.md | 22 +- docs/index.md | 16 +- .../coldkey-hotkey-security.md | 8 +- docs/keys/handle-seed-phrase.md | 2 +- docs/keys/multisig.md | 5 +- .../schedule-coldkey-swap.md | 32 +- docs/{getting-started => keys}/wallets.md | 16 +- docs/{ => keys}/working-with-keys.md | 8 +- docs/learn/ema.md | 2 +- docs/{ => learn}/emissions.md | 2 +- docs/{ => learn}/fees.md | 17 +- docs/learn/neurons.md | 18 +- docs/{subnets => learn}/yc3-blog.md | 5 +- docs/{ => learn}/yuma-consensus.md | 7 +- .../yuma3-migration-guide.md | 22 +- .../liquidity-positions.md | 5 +- .../managing-liquidity-positions.md | 2 +- docs/local-build/create-subnet.md | 7 +- docs/local-build/deploy.md | 2 +- docs/local-build/mine-validate.md | 4 +- docs/miners/index.md | 2 +- docs/miners/miners-btcli-guide.md | 23 +- docs/{ => misc}/_components.md | 0 docs/{ => misc}/_sphinx-gen.md | 0 docs/{ => resources}/bittensor-rel-notes.md | 0 docs/{ => resources}/community-links.md | 0 docs/{ => resources}/glossary.md | 191 ++++++------ docs/{ => resources}/media-assets.md | 0 docs/{ => resources}/questions-and-answers.md | 10 +- docs/{ => resources}/utilities.md | 0 docs/{ => sdk}/bt-api-ref.md | 7 +- docs/sdk/env-vars.md | 6 +- .../migration-guide.md} | 33 +- docs/staking-and-delegation/delegation.md | 4 +- .../managing-stake-btcli.md | 3 +- .../stakers-btcli-guide.md | 46 +-- docs/subnets/create-a-subnet.md | 4 +- docs/subnets/metagraph.md | 290 +++++++++--------- docs/subnets/subnet-creators-btcli-guide.md | 14 +- docs/subnets/subnet-hyperparameters.md | 16 +- docs/subnets/understanding-subnets.md | 6 +- docs/subnets/working-with-subnets.md | 13 +- docs/subtensor-nodes/subtensor-rate-limits.md | 2 +- docs/subtensor-nodes/using-docker.md | 2 - docs/{subnets => validators}/child-hotkeys.md | 71 +++-- docs/validators/index.md | 4 +- docs/validators/validators-btcli-guide.md | 21 +- docusaurus.config.js | 13 +- sidebars.js | 60 ++-- 71 files changed, 856 insertions(+), 663 deletions(-) rename docs/{ => btcli}/btcli-permissions.md (91%) rename docs/{ => btcli}/btcli.md (99%) rename docs/{ => concepts}/bittensor-networks.md (97%) rename docs/{subnets => concepts}/bt-logging-levels.md (100%) rename docs/{subnets => concepts}/commit-reveal.md (80%) rename docs/{subnets => concepts}/consensus-based-weights.md (100%) rename docs/{ => concepts}/root-network.md (92%) rename docs/{ => concepts}/tools.md (76%) rename docs/{errors-and-troubleshooting.md => errors/troubleshooting.md} (86%) rename docs/{ => governance}/governance.md (96%) rename docs/{ => governance}/senate.md (94%) rename docs/{getting-started => keys}/coldkey-hotkey-security.md (97%) rename docs/{subnets => keys}/schedule-coldkey-swap.md (78%) rename docs/{getting-started => keys}/wallets.md (94%) rename docs/{ => keys}/working-with-keys.md (98%) rename docs/{ => learn}/emissions.md (99%) rename docs/{ => learn}/fees.md (98%) rename docs/{subnets => learn}/yc3-blog.md (99%) rename docs/{ => learn}/yuma-consensus.md (95%) rename docs/{subnets => learn}/yuma3-migration-guide.md (92%) rename docs/{ => misc}/_components.md (100%) rename docs/{ => misc}/_sphinx-gen.md (100%) rename docs/{ => resources}/bittensor-rel-notes.md (100%) rename docs/{ => resources}/community-links.md (100%) rename docs/{ => resources}/glossary.md (79%) rename docs/{ => resources}/media-assets.md (100%) rename docs/{ => resources}/questions-and-answers.md (95%) rename docs/{ => resources}/utilities.md (100%) rename docs/{ => sdk}/bt-api-ref.md (96%) rename docs/{migration_guide.md => sdk/migration-guide.md} (83%) rename docs/{subnets => validators}/child-hotkeys.md (91%) diff --git a/docs/btcli-permissions.md b/docs/btcli/btcli-permissions.md similarity index 91% rename from docs/btcli-permissions.md rename to docs/btcli/btcli-permissions.md index cf3f3068b1..456b4e8261 100644 --- a/docs/btcli-permissions.md +++ b/docs/btcli/btcli-permissions.md @@ -8,16 +8,16 @@ This page details the requirements for all of the `btcli` commands. See also the `btcli` permissions guides for specific Bittensor personas: -- [Staker's Guide to `BTCLI`](./staking-and-delegation/stakers-btcli-guide) -- [Miner's Guide to `BTCLI`](./miners/miners-btcli-guide) -- [Validator's Guide to `BTCLI`](./validators/validators-btcli-guide) -- [Subnet Creator's Guide to `BTCLI`](./subnets/subnet-creators-btcli-guide) -- [Senator's Guide to `BTCLI`](./governance/senators-btcli-guide) +- [Staker's Guide to `BTCLI`](../staking-and-delegation/stakers-btcli-guide) +- [Miner's Guide to `BTCLI`](../miners/miners-btcli-guide) +- [Validator's Guide to `BTCLI`](../validators/validators-btcli-guide) +- [Subnet Creator's Guide to `BTCLI`](../subnets/subnet-creators-btcli-guide) +- [Senator's Guide to `BTCLI`](../governance/senators-btcli-guide) Other resources: -- [Introduction to Wallets, Coldkeys and Hotkeys in Bittensor](./getting-started/wallets) -- [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-security) +- [Introduction to Wallets, Coldkeys and Hotkeys in Bittensor](../keys/wallets) +- [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security) ## Bittensor work environments and security requirements @@ -28,19 +28,19 @@ The workstations you use to do this work can be referred to as a permissionless 1. A **permissionless workstation** has only coldkey _public keys_ on it. Public keys are sufficient for viewing all information about a wallet, such as TAO and alpha stake balances. Information about wallets, subnets, miners, and validators can and should be viewed without initializing your private keys on a device, to avoid the security risk of compromising your keys. :::tip coldkey workstation security - See [Permissionless workstation](./getting-started/coldkey-hotkey-security#permissionless-workstation) + See [Permissionless workstation](../keys/coldkey-hotkey-security#permissionless-workstation) ::: 1. A **coldkey workstation** contains one or more coldkey private key in the `wallet_path`. For any coldkey associated with mainnet TAO, the coldkey workstation should be held to the highest possible security standards. :::tip coldkey workstation security - See [Coldkey workstation](./getting-started/coldkey-hotkey-security#coldkey-workstation) + See [Coldkey workstation](../keys/coldkey-hotkey-security#coldkey-workstation) ::: 1. **A hotkey workstation**—which is generally a server used for mining or validation—contains a hotkey private key in the `wallet_path` located in the `btcli config`, as well as a coldkey public key for the corresponding coldkey. Compromised hotkeys can damage your reputation if they are used to maliciously to submit inaccurate weights as a validator, or bad work as a miner. However, ownership of TAO or alpha stake can only be transferred with a coldkey, and a leaked hotkey can be swapped using the coldkey; therefore hotkey leaks are far less dangerous than coldkey leaks. :::tip hotkey workstation - See [Hotkey workstation security](./getting-started/coldkey-hotkey-security#hotkey-workstation) + See [Hotkey workstation security](../keys/coldkey-hotkey-security#hotkey-workstation) ::: ## Requirements for `btcli` functions @@ -49,7 +49,7 @@ The workstations you use to do this work can be referred to as a permissionless Your coldkey is your primary, fully privileged key; important for all users. This key should be handled on a maximum security **coldkey workstation** only, to avoid catastrophic loss or malicious actions if compromised. -See [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security). +See [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security). Required for: @@ -85,11 +85,11 @@ Some operations require a TAO balance or alpha stake balance to execute. ### Validator Permit -To set weights, a validator must meet several requirements. See [Requirements for validation](./validators/#requirements-for-validation). +To set weights, a validator must meet several requirements. See [Requirements for validation](../validators/#requirements-for-validation). ### Senate requirements -See [Senate: Requirements](./senate#requirements) +See [Senate: Requirements](../governance/senate#requirements) ## `btcli` commands @@ -102,7 +102,7 @@ The `btcli config ...` commands are used to configure `btcli`, including: These commands don't require any permissions to run. Rather, you run these commands on all `btcli` workstations to initialize them. -See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-security) +See: [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security)
      btcli config @@ -129,7 +129,7 @@ See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey- The `wallet` command is required to provision keys to `btcli`, so it can access your wallet. This is essentially the equivalent of logging in/authentication. This is true for both coldkeys, which all users require, and hotkeys, which are required only by miners and validators as well as for advanced functions. :::tip mind your keys -See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-security) +See: [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security) ::: #### Provisioning keys @@ -288,7 +288,7 @@ See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey- Read operations require public keys. Write operations (stake add, move, remove...) require a coldkey private key. :::tip mind your keys -See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-security) +See: [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security) :::
      @@ -442,7 +442,7 @@ Miner and validator registering a hotkey uses a coldkey, has a TAO cost unless p Reading weights with `reveal` is permissionless. -To set weights with `commit`, a validator must meet several requirements. See [Requirements for validation](./#requirements-for-validation). +To set weights with `commit`, a validator must meet several requirements. See [Requirements for validation](#validator-permit).
      `btcli weight` diff --git a/docs/btcli/btcli-playground.md b/docs/btcli/btcli-playground.md index a155ddc9ae..f437c26809 100644 --- a/docs/btcli/btcli-playground.md +++ b/docs/btcli/btcli-playground.md @@ -20,7 +20,7 @@ This is not a secure code execution environment. This page is for practice/educa See: - [Handle your Seed Phrase/Mnemonic Securely](../keys/handle-seed-phrase) -- [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security) +- [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security) ::: ## Import wallets and check balances. diff --git a/docs/btcli.md b/docs/btcli/btcli.md similarity index 99% rename from docs/btcli.md rename to docs/btcli/btcli.md index adddc37323..8546ab0ea8 100644 --- a/docs/btcli.md +++ b/docs/btcli/btcli.md @@ -6,10 +6,10 @@ title: "Bittensor CLI: btcli Reference Document" Command line interface (CLI) for Bittensor. Uses the values in the configuration file. These values can be overriden by passing them explicitly in the command line. -See [Getting Started](./getting-started/install-btcli.md) to install `btcli`. +See [Getting Started](../getting-started/install-btcli.md) to install `btcli`. :::note Transaction Fees -Many btcli operations incur transaction fees. See [Transaction Fees in Bittensor](./fees.md) for details. +Many BTCLI operations incur transaction fees. See [Transaction Fees in Bittensor](../learn/fees.md) for details. ::: Command line interface (CLI) for Bittensor. Uses the values in the configuration file. These values can be diff --git a/docs/btcli/overview.md b/docs/btcli/overview.md index 20cc4c597b..d15782ddfe 100644 --- a/docs/btcli/overview.md +++ b/docs/btcli/overview.md @@ -4,10 +4,10 @@ title: "Bittensor CLI Overview" # Bittensor CLI Overview -The Bittensor command line interface (CLI), `btcli`, provides the simplest way to interact with the Bittensor network and its subnets from the command line. This includes managing [wallets (coldkeys and hotkeys)](../getting-started/wallets), TAO balances, transfer, staking and unstaking functions, node registration, governance functions, and more. - +The Bittensor command line interface (CLI), `btcli`, provides the simplest way to interact with the Bittensor network and its subnets from the command line. This includes managing [wallets (coldkeys and hotkeys)](../keys/wallets), TAO balances, transfer, staking and unstaking functions, node registration, governance functions, and more. See: + - [Install `btcli`](../getting-started/install-btcli) - [Managing Stake with BTCLI](../staking-and-delegation/managing-stake-btcli.md) -- [`btcli reference document`](../btcli.md) \ No newline at end of file +- [`btcli reference document`](./btcli.md) diff --git a/docs/bittensor-networks.md b/docs/concepts/bittensor-networks.md similarity index 97% rename from docs/bittensor-networks.md rename to docs/concepts/bittensor-networks.md index 911613145f..bb7a16c8ed 100644 --- a/docs/bittensor-networks.md +++ b/docs/concepts/bittensor-networks.md @@ -15,4 +15,4 @@ The below table presents Bittensor networks and a few details: | **Mainnet Lite** | wss://lite.chain.opentensor.ai:443 | None | None | | **Experimental Mainnet Lite** | wss://lite.finney.test.opentensor.ai:443 | None | None | | **Network Purpose** | Transactions with financial value | Test transactions with no value, constrained by tokenomics | Development and testing in fully user-controlled environment | -| **Test TAO** | None | Available on request (not compatible with devnet test TAO) | Available in Alice wallet. See [Access the Alice account](./local-build/provision-wallets#access-the-alice-account). | +| **Test TAO** | None | Available on request (not compatible with devnet test TAO) | Available in Alice wallet. See [Access the Alice account](../local-build/provision-wallets#access-the-alice-account). | diff --git a/docs/subnets/bt-logging-levels.md b/docs/concepts/bt-logging-levels.md similarity index 100% rename from docs/subnets/bt-logging-levels.md rename to docs/concepts/bt-logging-levels.md diff --git a/docs/subnets/commit-reveal.md b/docs/concepts/commit-reveal.md similarity index 80% rename from docs/subnets/commit-reveal.md rename to docs/concepts/commit-reveal.md index fed26eede2..f79e27912e 100644 --- a/docs/subnets/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -1,4 +1,3 @@ - import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; @@ -6,11 +5,11 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; This page describes the **commit reveal** feature: a configurable waiting period that elapses between a) when consensus weights set by subnet validators are first committed, and b) when they are revealed publicly and included in Yuma Consensus. -This feature was designed to address the issue of *weight copying* by validators. +This feature was designed to address the issue of _weight copying_ by validators. ## Weight copying -In each Bittensor subnet, each validator scores—or *'weights'*—each miner, producing what is referred to as a [weight vector](../glossary.md#weight-vector). The weight vectors for each validator in a subnet are combined into a weight matrix. This matrix determines emissions to miners in the subnet based on the consensus evaluation of their performance, according to [Yuma Consensus](../glossary.md#yuma-consensus). +In each Bittensor subnet, each validator scores—or _'weights'_—each miner, producing what is referred to as a [weight vector](../resources/glossary.md#weight-vector). The weight vectors for each validator in a subnet are combined into a weight matrix. This matrix determines emissions to miners in the subnet based on the consensus evaluation of their performance, according to [Yuma Consensus](../resources/glossary.md#yuma-consensus). The weight matrix is public information, and must be, so that emissions in the Bittensor platform can be transparently fair. However, this transparency makes it possible for subnet validators to free-ride on the work of other validators by copying the latest consensus rather than independently evaluating subnet miners. This is unfair and potentially degrades the quality of validation work, undermining Bittensor's ability to incentivize the best miners and produce the best digital commodities overall. @@ -18,7 +17,7 @@ The commit reveal feature is designed to solve the weight copying problem by giv ## Commit Reveal and Immunity Period -The [Immunity Period](../glossary.md#immunity-period) is the interval (measured in blocks) during which a miner or validator newly registered on a subnet is 'immune' from deregistration due to performance. The duration of this period value should always be larger than the Commit Reveal interval, otherwise the immunity period will expire before a given miner's scores are available, and they may be deregistered without having their work counted. +The [Immunity Period](../resources/glossary.md#immunity-period) is the interval (measured in blocks) during which a miner or validator newly registered on a subnet is 'immune' from deregistration due to performance. The duration of this period value should always be larger than the Commit Reveal interval, otherwise the immunity period will expire before a given miner's scores are available, and they may be deregistered without having their work counted. When creating a new subnet, ensure that the miner immunity period is larger than the commit reveal interval. When updating the immunity period or commit reveal interval hyperparameters for a subnet, use the following formula: @@ -26,13 +25,13 @@ When creating a new subnet, ensure that the miner immunity period is larger than new_immunity_period = (new_commit_reveal_period x tempo - old_commit_reveal_period x tempo) + old_immunity_period ``` -See [Subnet Hyperparameters](./subnet-hyperparameters.md). +See [Subnet Hyperparameters](../subnets/subnet-hyperparameters.md). ## Commit reveal in detail -When commit reveal is enabled, it works as follows: +When commit reveal is enabled, it works as follows: -1. A subnet validator sets the weights normally by using [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html). +1. A subnet validator sets the weights normally by using [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html). 2. Instead of publishing weights openly, an encrypted copy of these weights is committed to the blockchain, using an internal method called [`commit_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html). @@ -62,7 +61,6 @@ style={{width: 750}} /> - ## How to use the commit reveal feature As a subnet owner, set the below hyperparameters to use the commit reveal feature: @@ -70,14 +68,13 @@ As a subnet owner, set the below hyperparameters to use the commit reveal featur 1. `commit_reveal_weights_enabled` (boolean): Set this to `True` to activate the commit reveal feature for the subnet. Default value is `False`. 2. `commit_reveal_period` (int): Set this to an integer number. This is the number of subnet tempos to elapse before revealing the weights by submitting them again to the blockchain, but now openly for everyone to see. Default value is `1`. -See [Setting subnet hyperparameters](subnet-hyperparameters#setting-the-hyperparameters). +See [Setting subnet hyperparameters](../subnets/subnet-hyperparameters.md#set-hyperparameters). :::danger Ensure that the commit reveal interval is less than your immunity period to avoid unintended miner de-registration! See [Commit Reveal and Immunity Period](#commit-reveal-and-immunity-period). ::: - -Weights will be revealed immediately at the beginning of the tempo after the `commit_reveal_period`. For example, if `commit_reveal_period` value is set to `3`, then the reveal will occur at the beginning of the fourth tempo from the current tempo. The current tempo is counted as the first tempo. See the below diagram for this example: +Weights will be revealed immediately at the beginning of the tempo after the `commit_reveal_period`. For example, if `commit_reveal_period` value is set to `3`, then the reveal will occur at the beginning of the fourth tempo from the current tempo. The current tempo is counted as the first tempo. See the below diagram for this example:
      - ## Technical papers and blog - ACM CCS2024 Poster PDF [Solving the Free-rider Problem In Bittensor](pathname:///papers/ACM_CCS2024_Poster.pdf). - See [Weight Copying in Bittensor, a technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf). - Blog post, [Weight Copying in Bittensor](https://blog.bittensor.com/weight-copying-in-bittensor-422585ab8fa5). - diff --git a/docs/subnets/consensus-based-weights.md b/docs/concepts/consensus-based-weights.md similarity index 100% rename from docs/subnets/consensus-based-weights.md rename to docs/concepts/consensus-based-weights.md diff --git a/docs/root-network.md b/docs/concepts/root-network.md similarity index 92% rename from docs/root-network.md rename to docs/concepts/root-network.md index 1c2a2a4a3c..0359579aab 100644 --- a/docs/root-network.md +++ b/docs/concepts/root-network.md @@ -6,7 +6,7 @@ title: "Root Network" :::tip -The Root Network no longer is in operation, so this doc is a kind of historical artifact. The Root Network was decommisioned with the [Dynamic TAO](./dynamic-tao) upgrade in February 2025 +The Root Network no longer is in operation, so this doc is a kind of historical artifact. The Root Network was decommisioned with the [Dynamic TAO](../dynamic-tao/index.md) upgrade in February 2025 ::: The root network was a special kind of subnet. The root network has the `netuid` of 0. diff --git a/docs/tools.md b/docs/concepts/tools.md similarity index 76% rename from docs/tools.md rename to docs/concepts/tools.md index a83587fb09..d5d8c0a773 100644 --- a/docs/tools.md +++ b/docs/concepts/tools.md @@ -11,36 +11,38 @@ Bittensor provides several tools to help developers, miners, and validators inte ## Bittensor SDK The Bittensor SDK is a Python-based library that allows developers to interact programmatically with the Bittensor network. You can use the SDK to: + - Create and manage wallets - Register miners and validators - Query and monitor network activity - Build applications on top of Bittensor’s decentralized AI infrastructure -**Learn more in the [Bittensor SDK documentation](./bt-api-ref.md)** (link for illustration). +**Learn more in the [Bittensor SDK documentation](../sdk/bt-api-ref.md)** (link for illustration). --- ## Bittensor CLI The Bittensor command-line interface (`btcli`) provides a straightforward way to: + - Create, manage, and encrypt wallet keys - Transfer and stake TAO - Perform subnet management operations (e.g., creating subnets, registering miners/validators) - View wallet information and network status It is designed for users who prefer quick terminal commands or those managing multiple nodes and subnet interactions. -**See [Bittensor CLI reference](./btcli.md)** for detailed usage instructions. +**See [Bittensor CLI reference](../btcli/btcli.md)** for detailed usage instructions. --- ## Wallets and Keys -In Bittensor (like other cryptocurrency applications), a *wallet* is a tool for managing the cryptographic key-pairs required to prove your identity, sign transactions, and access your currency +In Bittensor (like other cryptocurrency applications), a _wallet_ is a tool for managing the cryptographic key-pairs required to prove your identity, sign transactions, and access your currency Bittensor uses a dual-key wallet structure: -- **Coldkey** for secure storage of TAO and high-security operations + +- **Coldkey** for secure storage of TAO and high-security operations - **Hotkey** for operational tasks like validation, mining, and day-to-day transactions Both keys are crucial for safeguarding and participating in the network. -**For a complete guide, see [Wallets & Keys](./getting-started/wallets)** and [Working with Keys](./working-with-keys). - +**For a complete guide, see [Wallets & Keys](../keys/wallets)** and [Working with Keys](../keys/working-with-keys). diff --git a/docs/dynamic-tao/dtao-faq.md b/docs/dynamic-tao/dtao-faq.md index 70bb355190..a33a03942a 100644 --- a/docs/dynamic-tao/dtao-faq.md +++ b/docs/dynamic-tao/dtao-faq.md @@ -35,7 +35,7 @@ Held stake (alpha tokens) may increase or decrease in TAO value as the price of **Network-wide Impact**: Your stake contributes weight across all subnets where your validator operates. This means your stake extracts emissions from multiple subnets simultaneously. See [Validator stake weight](../subnets/understanding-subnets.md#validator-stake-weight) for more details. -**Proportional emission and TAO weight**: TAO and alpha are emitted to a validator's stakers in proportion to the validators' holdings in each token. See [Emission: Extraction](../emissions.md#extraction) +**Proportional emission and TAO weight**: TAO and alpha are emitted to a validator's stakers in proportion to the validators' holdings in each token. See [Emission: Extraction](../learn/emissions.md#extraction) ### Can users transfer alpha tokens (subnet tokens)? @@ -81,7 +81,7 @@ Currently, the protocol does not automatically deregister subnets. Abandoned sub **No**. Emissions are calculated by protocol logic (e.g., in `run_coinbase.rs`) and are based on network-wide parameters. Subnet founders cannot arbitrarily print tokens—emission follows the same consistent rules across all subnets. -See [Emissions](../emissions.md) +See [Emissions](../learn/emissions.md) ### What happens to previously locked registration costs from pre-Dynamic-TAO subnets? diff --git a/docs/dynamic-tao/index.md b/docs/dynamic-tao/index.md index 523a6c37ef..3122163c48 100644 --- a/docs/dynamic-tao/index.md +++ b/docs/dynamic-tao/index.md @@ -32,7 +32,7 @@ See: - [Bittensor SDK release page](https://pypi.org/project/bittensor/) - [Bittensor CLI release page](https://pypi.org/project/bittensor-cli/) -- [Upgrade the Bittensor SDK](../getting-started/installation.md#upgrade) +- [Upgrade the Bittensor SDK](../getting-started/installation.md#upgrade-the-bittensor-sdk) ### Subnet tokens/liquidity pools diff --git a/docs/dynamic-tao/sdk-cheat-sheet.md b/docs/dynamic-tao/sdk-cheat-sheet.md index 152301fa4b..e9f1605a65 100644 --- a/docs/dynamic-tao/sdk-cheat-sheet.md +++ b/docs/dynamic-tao/sdk-cheat-sheet.md @@ -2,8 +2,7 @@ title: "Dynamic TAO SDK Cheat Sheet" --- -This page provides a quick reference for the core functionalities for the Bittensor Python SDK that have changed for [Dynamic TAO](./index.md), and some example scripts to demonstrate functionality such as [viewing exchange rates](#example-viewing-exchange-rates) and [staking and unstaking](#example-staking-and-unstaking) into subnets. - +This page provides a quick reference for the core functionalities for the Bittensor Python SDK that have changed for [Dynamic TAO](./index.md), and some example scripts to demonstrate functionality such as [viewing exchange rates](#display-current-exchange-rates) and [manage staking and unstaking](#managing-stake) into subnets. Updates to the `subtensor` and `async_subtensor` modules and the `DynamicInfo` class provide new ways to view information related to new Dynamic TAO features, such as alpha token prices, token reserve amounts, and wallet balances. Functionality around staking and unstaking has been updated to reflect the new nature of staking/unstaking in Dynamic TAO. @@ -43,7 +42,6 @@ Or the following configuration for synchronous calls to Bittensor test network: sub = bt.Subtensor(network="test") ``` - ## The `DynamicInfo` object The state of a subnet, with all of the new attributes, is encapsulated in a `DynamicInfo` object. This is what is returned by the `subnet` and `all_subnets` methods. @@ -75,10 +73,13 @@ class DynamicInfo: subnet_identity: Optional[SubnetIdentity] ``` + ## Viewing subnets + Subnets evolve substantially in Dynamic TAO! Each subnet has its own currency, known as its alpha token, and an internal economy comprising a currency reserve of TAO, a reserve of its own alpha token, and a ledger of staked balances, to keep track of all of its stakers—those who have put TAO into its reserve in exchange for alpha. #### `all_subnets` + ```python all_subnets( block_number: Optional[int] = None @@ -91,88 +92,99 @@ Description: Fetches information about all subnets at a certain block height (or Returns: A list of DynamicInfo objects (detailed below). #### `subnet` + ```python subnet( - netuid: int, + netuid: int, block_number: Optional[int] = None ) -> DynamicInfo ``` + Fetches information about a single subnet identified by netuid. Returns a DynamicInfo object describing the subnet’s current state. - #### `metagraph` + ```python metagraph( - netuid: int, + netuid: int, block: Optional[int] = None ) -> bittensor.Metagraph ``` - Returns the metagraph for a specified subnet netuid. The metagraph includes detailed data on the neurons in the subnet. ## Exchange rates + You can query the DynamicInfo object for the exchange rates between TAO and alpha tokens. You can use `all_subnets` or `subnet` to get the DynamicInfo object. ```python subnet = sub.subnet(netuid=1) ``` + ### Calculate exhange rates + #### `tao_to_alpha` ```python tao_to_alpha(self, tao: Union[Balance, float, int]) -> Balance: ``` -Description: Returns an 'ideal' estimate of how much Alpha a staker would receive at the current price, *ignoring slippage*. + +Description: Returns an 'ideal' estimate of how much Alpha a staker would receive at the current price, _ignoring slippage_. Parameters: - `tao`: Amount of TAO to stake. +`tao`: Amount of TAO to stake. #### `alpha_to_tao` + ```python alpha_to_tao(self, alpha: Union[Balance, float, int]) -> Balance: ``` -Description: Returns an 'ideal' estimate of how much TAO would be yielded by unstaking at the current price, *ignoring slippage*. + +Description: Returns an 'ideal' estimate of how much TAO would be yielded by unstaking at the current price, _ignoring slippage_. Parameters: - `alpha`: Amount of Alpha to unstake. +`alpha`: Amount of Alpha to unstake. #### `tao_to_alpha_with_slippage` + ```python tao_to_alpha_with_slippage(tao: Union[Balance, float, int], percentage: bool = False) -> Union[tuple[Balance, Balance], float]: ``` + Returns an estimate of how much Alpha would a staker receive if they stake their TAO using the current pool state. Parameters: - `tao`: Amount of TAO to stake. - `percentage`: If True, returns the percentage difference between the estimated amount and ideal amount as if there was no slippage. +`tao`: Amount of TAO to stake. +`percentage`: If True, returns the percentage difference between the estimated amount and ideal amount as if there was no slippage. Returns: - Tuple of balances where the first part is the amount of Alpha received, and the - second part (slippage) is the difference between the estimated amount and ideal - amount as if there was no slippage - OR - Percentage of the slippage as a float +Tuple of balances where the first part is the amount of Alpha received, and the +second part (slippage) is the difference between the estimated amount and ideal +amount as if there was no slippage +OR +Percentage of the slippage as a float #### `alpha_to_tao_with_slippage` + ```python alpha_to_tao_with_slippage(alpha: Union[Balance, float, int], percentage: bool = False) -> Union[tuple[Balance, Balance], float]: ``` + Returns an estimate of how much TAO would a staker receive if they unstake their alpha using the current pool state. Parameters: - `alpha`: Amount of Alpha to unstake. - `percentage`: If True, returns the percentage difference between the estimated amount and ideal amount as if there was no slippage. +`alpha`: Amount of Alpha to unstake. +`percentage`: If True, returns the percentage difference between the estimated amount and ideal amount as if there was no slippage. Returns: - Tuple of balances where the first part is the amount of TAO received, and the - second part (slippage) is the difference between the estimated amount and ideal - amount as if there was no slippage - OR - Percentage of the slippage as a float +Tuple of balances where the first part is the amount of TAO received, and the +second part (slippage) is the difference between the estimated amount and ideal +amount as if there was no slippage +OR +Percentage of the slippage as a float ### Display current exchange rates @@ -197,10 +209,11 @@ print("alpha_to_tao", subnet.alpha_to_tao(100)) ## Managing stake #### `get_stake` + ```python get_stake( - hotkey_ss58: str, - coldkey_ss58: str, + hotkey_ss58: str, + coldkey_ss58: str, netuid: int ) -> bittensor.Balance @@ -208,36 +221,38 @@ get_stake( Description: Retrieves the staked balance for a given (hotkey, coldkey) pair on a specific subnet. Returns a `bittensor.Balance` object with the staked amount. Parameters: + - hotkey_ss58: Hotkey SS58 address. - coldkey_ss58: Coldkey SS58 address (owner). - netuid: Unique ID of the subnet. - - #### `add_stake` ```python async add_stake( - wallet, - hotkey: str, - netuid: int, + wallet, + hotkey: str, + netuid: int, tao_amount: Union[float, bittensor.Balance, int] ) ``` + Description: Adds (stakes) an amount of TAO (tao_amount) to a specific subnet (netuid) under the provided hotkey. Parameters: + - wallet: Your Bittensor wallet object. - hotkey: The SS58 address (hotkey) to be staked. - netuid: Unique ID of the subnet on which you want to stake. - tao_amount: Amount to stake, can be a float, integer, or bittensor.Balance object. #### `unstake` + ```python unstake( - wallet, - hotkey: str, - netuid: int, + wallet, + hotkey: str, + netuid: int, amount: Union[float, bittensor.Balance, int] ) @@ -246,16 +261,17 @@ unstake( Description: Unstakes amount of TAO from the specified hotkey on a given netuid. Parameters: + - wallet: Your Bittensor wallet object. - hotkey: The SS58 address (hotkey) from which you want to remove stake. - netuid: Unique ID of the subnet. - amount: Amount to unstake. - #### `get_balance` + ```python get_balance( - address: str, + address: str, block: Optional[int] = None ) -> bittensor.Balance @@ -264,32 +280,38 @@ get_balance( Description: Returns the current (or specified block’s) coldkey TAO balance for an address. Parameters: + - address: SS58 address to check. - block: Optional block number at which to fetch the balance. Uses the latest block if None. - #### `get_current_block` + ```python get_current_block() -> int ``` + Description: Returns the current chain block number. + #### `wait_for_block` + ```python wait_for_block( block: Optional[int] = None ) ``` + Description: Waits for the next block to arrive or waits until a specified block number is reached if provided. Update: we have added proper nonce protection allowing you to run gather operations on stake/unstake/transfers, such as: + ```python scatter_stake = await asyncio.gather(*[ sub.add_stake( hotkey, coldkey, netuid, amount ) for netuid in range(64) ] ) ``` - ### Staking + The following script incrementally stakes 3 TAO into several subnets over many blocks: ```python @@ -308,11 +330,11 @@ while total_spend < 3: for netuid in to_buy: subnet = sub.subnet(netuid) print(f"slippage for subnet {netuid}", subnet.slippage(increment)) - sub.add_stake( - wallet = wallet, - netuid = netuid, - hotkey = subnet.owner_hotkey, - tao_amount = increment, + sub.add_stake( + wallet = wallet, + netuid = netuid, + hotkey = subnet.owner_hotkey, + tao_amount = increment, ) current_stake = sub.get_stake( @@ -325,6 +347,7 @@ while total_spend < 3: print (f'netuid {netuid} price {subnet.price} stake {current_stake}') sub.wait_for_block() ``` + ```console Enter your password: Decrypting... @@ -345,6 +368,7 @@ netuid 5 price τ0.001784484 stake ε11.208213619 ... ``` + ### Unstaking The below script will reverse the effects of the above, by incrementally unstaking alpha tokens from the list of subnets to yield TAO. @@ -366,11 +390,11 @@ while total_sell < 3: subnet = sub.subnet(netuid) print(f"slippage for subnet {netuid}", subnet.alpha_slippage(increment)) - sub.remove_stake( - wallet = wallet, - netuid = netuid, - hotkey = subnet.owner_hotkey, - amount = increment, + sub.remove_stake( + wallet = wallet, + netuid = netuid, + hotkey = subnet.owner_hotkey, + amount = increment, ) current_stake = sub.get_stake( coldkey_ss58 = wallet.coldkeypub.ss58_address, @@ -382,6 +406,7 @@ while total_sell < 3: print (f'netuid {netuid} price {subnet.price} stake {current_stake}') sub.wait_for_block() ``` + ```console Enter your password: Decrypting... @@ -410,23 +435,27 @@ netuid 5 price τ0.001785179 stake ε33.619312896 You can register your hotkey on a subnet using the `burned_register` method. This is necessary for staking, mining or validating. #### `burned_register` + ```python burned_register( - wallet, - netuid: int, + wallet, + netuid: int, ) -> bool ``` Description: Registers a hotkey on a subnet. Parameters: + - wallet: Your Bittensor wallet object. - netuid: Unique ID of the subnet. Returns: + - bool: True if the registration was successful, False otherwise. Sample script: + ```python import bittensor as bt logging = bt.logging @@ -440,13 +469,13 @@ wallet.unlock_coldkey() reg = sub.burned_register(wallet=wallet, netuid=3) ``` - ### View registered subnets #### `get_netuids_for_hotkey` + ```python get_netuids_for_hotkey( - hotkey: str, + hotkey: str, ) -> list[int] ``` @@ -454,9 +483,11 @@ get_netuids_for_hotkey( Description: Returns the netuids in which a hotkey is registered. Parameters: + - hotkey: SS58 address to check. Example usage: + ```python import bittensor as bt sub = bt.Subtensor(network="test") @@ -470,10 +501,10 @@ print(netuids) ``` #### `btcli wallet overview` + You can also use the `btcli` to check subnet registrations using `btcli wallet overview`. This displays the registrations to subnets by hotkeys controlled by the wallet: - ```shell Wallet @@ -505,14 +536,13 @@ Subnet: 119: vidac Ⲃ ``` - ## View a hotkey's emissions This script displays the last day's emissions for a specified hotkey on all subnets on which the hotkey is registered. This could be useful for a miner to see how much they've been extracting from the different subnets, if they've been mining on several. -Be aware that daily emissions can fluctuate widely. See [Emissions](../emissions.md). +Be aware that daily emissions can fluctuate widely. See [Emissions](../learn/emissions.md). ```python from bittensor.core.async_subtensor import AsyncSubtensor @@ -534,7 +564,7 @@ async def main(): all_sn_dynamic_info = {info.netuid: info for info in all_sn_dynamic_info_list} daily_blocks = (60 * 60 * 24) / BLOCKTIME # Number of blocks per day - + print(f"Hotkey: {HOTKEY}") @@ -542,10 +572,10 @@ async def main(): metagraphs = await asyncio.gather(*[ subtensor.metagraph(netuid=id) for id in NETUIDS]) for id in NETUIDS: print(f"UID: {id}") - + metagraph = metagraphs[id] tempo_multiplier = daily_blocks / metagraph.tempo - + subnet_info = all_sn_dynamic_info.get(id) uid = metagraph.hotkeys.index(HOTKEY) if HOTKEY in metagraph.hotkeys else None @@ -565,4 +595,4 @@ async def main(): asyncio.run(main()) -``` \ No newline at end of file +``` diff --git a/docs/errors/index.md b/docs/errors/index.md index aaa6b7e49a..e2fef265a2 100644 --- a/docs/errors/index.md +++ b/docs/errors/index.md @@ -7,6 +7,7 @@ title: "Subtensor Error Codes" This section documents the various types of errors that can arise from Subtensor, the blockchain underlying the Bittensor network. These errors can surface through different interfaces including the Bittensor CLI (`btcli`), the Bittensor Python SDK, or extrinsic transaction interfaces such as PolkadotJS. + Subtensor errors can be categorized into three main types: @@ -21,14 +22,14 @@ Most errors from the Bittensor network are returned in the following format: ```json { - "code": 1010, - "message": "Invalid Transaction", - "data": "Custom error: [Error Code]" + "code": 1010, + "message": "Invalid Transaction", + "data": "Custom error: [Error Code]" } ``` ## Related -- [Bittensor CLI](../btcli.md) - Command line interface documentation -- [Bittensor Python SDK](../bt-api-ref.md) - Python SDK documentation -- [Subtensor Nodes](../subtensor-nodes/index.md) - Information about running Subtensor nodes \ No newline at end of file +- [Bittensor CLI](../btcli/btcli.md) - Command line interface documentation +- [Bittensor Python SDK](../sdk/bt-api-ref.md) - Python SDK documentation +- [Subtensor Nodes](../subtensor-nodes/index.md) - Information about running Subtensor nodes diff --git a/docs/errors-and-troubleshooting.md b/docs/errors/troubleshooting.md similarity index 86% rename from docs/errors-and-troubleshooting.md rename to docs/errors/troubleshooting.md index 34922ec656..64a420f117 100644 --- a/docs/errors-and-troubleshooting.md +++ b/docs/errors/troubleshooting.md @@ -4,7 +4,7 @@ title: "Troubleshooting" # Troubleshooting -This document presents helpful hints to troubleshoot the errors you may get while working in the Bittensor ecosystem. +This document presents helpful hints to troubleshoot the errors you may get while working in the Bittensor ecosystem. ## Priority is too low @@ -16,7 +16,6 @@ Running a `btcli` command sometimes gives me the below error: **Likely cause and remedy**: This means that you are submitting the same, duplicate transaction that you have already submitted. For example, if you are running a script, it is trying to submit transactions too quickly, most likely. You just have to wait for a few minutes before you run the command again. - ## SSLCertVerificationError Running any `btcli` command gives the following error, on macOS: @@ -36,14 +35,14 @@ Go to the folder where Python is installed, e.g., in my case (Mac OS) it is inst **Remedy 2**: Run the below commands: -- On macOS when not using any Python virtual environment: - ```bash - brew reinstall openssl - ``` +- On macOS when not using any Python virtual environment: + ```bash + brew reinstall openssl + ``` - On macOS when using a virtual environment: - ```bash - pip install urllib3 --force-reinstall - ``` + ```bash + pip install urllib3 --force-reinstall + ``` ## KeyFileError @@ -55,8 +54,8 @@ KeyFileError: Keyfile at: /path/to/.bittensor/wallets/some-coldkey/hotkeys/someh See: -- [Miner registration](./miners/index.md#miner-registration) -- [Validator registration](./validators/index.md#validator-registration) +- [Miner registration](../miners/index.md#miner-registration) +- [Validator registration](../validators/index.md#validator-registration) ## Balances.transfer not found @@ -64,8 +63,7 @@ See: ValueError: Call function 'Balances.transfer' not found ``` -**Likely cause and remedy**: You are working with an older version of Bittensor. Update your Bittensor to the latest version. See [Install Bittensor](./getting-started/installation.md). - +**Likely cause and remedy**: You are working with an older version of Bittensor. Update your Bittensor to the latest version. See [Install Bittensor](../getting-started/installation.md). ## Genesis mismatch @@ -75,4 +73,4 @@ Reason: Genesis mismatch. Banned, disconnecting. These messages are mostly harmless and you can ignore them. Your lite node will sync properly. See the "best" block numbers in the terminal log. If these block numbers are closer or approaching the current block as seen on either [https://bittensor.com/scan](https://bittensor.com/scan) or [Polkadot JS](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-finney.opentensor.ai%3A443#/explorer), then your local node is syncing properly. -You get these error messages very often because one or the other Bittensor blockchain validator nodes is running an older version of Polkadot SDK. When it says, "Banned, disconnecting", it is saying the mismatched blockchain validator node is being disconnected. This usually is fine because you don't need to be connected to all the blockchain validator nodes. +You get these error messages very often because one or the other Bittensor blockchain validator nodes is running an older version of Polkadot SDK. When it says, "Banned, disconnecting", it is saying the mismatched blockchain validator node is being disconnected. This usually is fine because you don't need to be connected to all the blockchain validator nodes. diff --git a/docs/evm-tutorials/convert-h160-to-ss58.md b/docs/evm-tutorials/convert-h160-to-ss58.md index 9d83e00a13..bb46fecefa 100644 --- a/docs/evm-tutorials/convert-h160-to-ss58.md +++ b/docs/evm-tutorials/convert-h160-to-ss58.md @@ -7,7 +7,7 @@ import { CreatePartial } from "./\_create-mm-wallet.mdx"; # Convert Ethereum (H160) Address to Substrate (SS58) -This tutorial demonstrates how to convert between Ethereum (H160) and Substrate (SS58) addresses. This is useful for moving across the boundary between [EVM wallets and Subtensor Wallets on the Bittensor blockchain](./#evm-wallets-and-subtensor-wallets-on-the-bittensor-blockchain). +This tutorial demonstrates how to convert between Ethereum (H160) and Substrate (SS58) addresses. This is useful for moving across the boundary between [EVM wallets and Subtensor Wallets on the Bittensor blockchain](./index.md#evm-and-subtensor-wallets-on-the-bittensor-blockchian). In what follows, we'll create a wallet in Metamask and convert it's public key to ss58 format in order to target it with a balance transfer using BTCLI. diff --git a/docs/evm-tutorials/index.md b/docs/evm-tutorials/index.md index 75684fdac1..e1f882a2b1 100644 --- a/docs/evm-tutorials/index.md +++ b/docs/evm-tutorials/index.md @@ -38,9 +38,9 @@ Bittensor EVM smart contracts are executed solely on the **Bittensor blockchain, See: - [Examples and Precompiles](./examples.md) -- [EVM on Testnet](./evm-testnet-with-metamask-wallet) -- [EVM on Local Chain](./evm-localnet-with-metamask-wallet) -- [EVM on Mainnet](./evm-mainnet-with-metamask-wallet) +- [EVM on Testnet](./evm-testnet-with-metamask-wallet.md) +- [EVM on Local Chain](./evm-localnet-with-metamask-wallet.md) +- [EVM on Mainnet](./evm-mainnet-with-metamask-wallet.md) - [Opentensor Foundation Blogpost: EVM on Bittensor](https://blog.bittensor.com/evm-on-bittensor-draft-6f323e69aff7) ## EVM and Subtensor wallets on the Bittensor blockchian @@ -52,7 +52,7 @@ The holder of a private key for an ss58 address based on the corresponding publi Similarly, creating an Ethereum wallet gives you control of the h160 private key for the corresponding public key. :::info -You can easily [convert an h160 address to an ss58 address](./convert-h160-to-ss58), or vice versa, but this does _not_ yield the corresponding private key. This means that if you create a wallet in Bittensor, you will not be able to sign Ethereum contracts with it, nor versa. +You can easily [convert an h160 address to an ss58 address](./convert-h160-to-ss58.md), or vice versa, but this does _not_ yield the corresponding private key. This means that if you create a wallet in Bittensor, you will not be able to sign Ethereum contracts with it, nor versa. ::: Hence, in the context of Bittensor EVM we can distinguish between: diff --git a/docs/evm-tutorials/subnet-precompile.md b/docs/evm-tutorials/subnet-precompile.md index 914311c8a4..ac94cb1759 100644 --- a/docs/evm-tutorials/subnet-precompile.md +++ b/docs/evm-tutorials/subnet-precompile.md @@ -10,30 +10,25 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; This precompile allows you to interact with Bittensor subnets through EVM smart contracts, affording functionality for registering networks, viewing and setting network parameters, and querying network state. This page: -- described the precompile's [available functions](#available-functions) on the precompile -- demonstrates the precompile's usage with [example scripts](#example-script). - +- described the precompile's [available functions](#available-functions) on the precompile +- demonstrates the precompile's usage with [example scripts](#example-scripts). The subnet precompile is available at address `0x803` (2051 in decimal). View the [source on GitHub](https://github.com/opentensor/subtensor/blob/main/precompiles/src/subnet.rs) - - - :::info permissions Subnet operations have distinct requirements! - Creating a subnet, i.e. [`registerNetwork`,](#registernetwork) requires a coldkey with sufficient TAO to cover the current burn cost. - See [burn cost for subnet creation](../local-build/create-subnet#burn-cost). + See [burn cost for subnet creation](../local-build/create-subnet#subnet-creation-cost). - Setting subnet hyperparameters requires the private key for the coldkey that owns the subnet (the one that created it, unless this has been transferred). ::: - ## Available Functions The subnet precompile provides comprehensive functionality for subnet management and configuration. All functions are categorized below: @@ -45,28 +40,33 @@ The subnet precompile provides comprehensive functionality for subnet management Create/register a new subnet, without setting identity information. **Parameters:** + - `hotkey` (bytes32): The hotkey (32 bytes) that will own the network **Returns:** + - None (payable function) **Description:** Registers a new subnet on the Bittensor network. The caller becomes the subnet owner and can manage subnet parameters. -#### `registerNetworkWithIdentity` +#### `registerNetworkWithIdentity` + Registers a new subnet with detailed identity information. **Parameters:** + - `hotkey` (bytes32): The hotkey that will own the network - `subnetName` (string): Name of the subnet (max 256 chars) - `githubRepo` (string): GitHub repository URL (max 1024 chars) - `subnetContact` (string): Contact information (max 1024 chars) -- `subnetUrl` (string): Subnet website URL (max 1024 chars) +- `subnetUrl` (string): Subnet website URL (max 1024 chars) - `discord` (string): Discord server invite (max 256 chars) - `description` (string): Subnet description (max 1024 chars) - `additional` (string): Additional information (max 1024 chars) **Returns:** + - None (payable function) **Description:** @@ -75,384 +75,498 @@ Registers a new subnet with comprehensive identity metadata that helps users und ### Rate Limiting #### `getServingRateLimit` + Gets the serving rate limit for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint64`: The serving rate limit value #### `setServingRateLimit` + Sets the serving rate limit for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `servingRateLimit` (uint64): The new serving rate limit value **Returns:** + - None (payable function) ### Difficulty Management #### `getMinDifficulty` + Gets the minimum difficulty for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint64`: The minimum difficulty value #### `setMinDifficulty` + Sets the minimum difficulty for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `minDifficulty` (uint64): The new minimum difficulty value **Returns:** + - None (payable function) #### `getMaxDifficulty` + Gets the maximum difficulty for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint64`: The maximum difficulty value #### `setMaxDifficulty` + Sets the maximum difficulty for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `maxDifficulty` (uint64): The new maximum difficulty value **Returns:** + - None (payable function) #### `getDifficulty` + Gets the current difficulty for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint64`: The current difficulty value #### `setDifficulty` + Sets the current difficulty for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `difficulty` (uint64): The new difficulty value **Returns:** + - None (payable function) ### Weight Management #### `getWeightsVersionKey` + Gets the weights version key for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint64`: The weights version key value #### `setWeightsVersionKey` + Sets the weights version key for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `weightsVersionKey` (uint64): The new weights version key value **Returns:** + - None (payable function) #### `getWeightsSetRateLimit` + Gets the weights set rate limit for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint64`: The weights set rate limit value #### `setWeightsSetRateLimit` ⚠️ **DEPRECATED** + Sets the weights set rate limit for a subnet. **This function is deprecated. Subnet owners cannot set weight setting rate limits.** **Parameters:** + - `netuid` (uint16): The subnetwork ID - `weightsSetRateLimit` (uint64): The weights set rate limit value (ignored) **Returns:** + - None (payable function) **Description:** This function still exists for backward compatibility but performs no operation and returns successfully. #### `getMaxWeightLimit` + Gets the maximum weight limit for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint16`: The maximum weight limit value #### `setMaxWeightLimit` + Sets the maximum weight limit for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `maxWeightLimit` (uint16): The new maximum weight limit value **Returns:** + - None (payable function) #### `getMinAllowedWeights` + Gets the minimum allowed weights for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint16`: The minimum allowed weights value #### `setMinAllowedWeights` + Sets the minimum allowed weights for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `minAllowedWeights` (uint16): The new minimum allowed weights value **Returns:** + - None (payable function) ### Consensus Parameters #### `getAdjustmentAlpha` + Gets the adjustment alpha parameter for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint64`: The adjustment alpha value #### `setAdjustmentAlpha` + Sets the adjustment alpha parameter for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `adjustmentAlpha` (uint64): The new adjustment alpha value **Returns:** + - None (payable function) #### `getKappa` + Gets the kappa parameter for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint16`: The kappa value #### `setKappa` + Sets the kappa parameter for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `kappa` (uint16): The new kappa value **Returns:** + - None (payable function) #### `getRho` + Gets the rho parameter for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint16`: The rho value #### `setRho` + Sets the rho parameter for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `rho` (uint16): The new rho value **Returns:** + - None (payable function) #### `getAlphaSigmoidSteepness` + Gets the alpha sigmoid steepness parameter for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint16`: The alpha sigmoid steepness value #### `setAlphaSigmoidSteepness` + Sets the alpha sigmoid steepness parameter for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `steepness` (uint16): The new alpha sigmoid steepness value **Returns:** + - None (payable function) #### `getAlphaValues` + Gets the alpha low and high values for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint16`: The alpha low value - `uint16`: The alpha high value #### `setAlphaValues` + Sets the alpha low and high values for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `alphaLow` (uint16): The new alpha low value - `alphaHigh` (uint16): The new alpha high value **Returns:** + - None (payable function) ### Network Activity #### `getImmunityPeriod` + Gets the immunity period for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint16`: The immunity period value #### `setImmunityPeriod` + Sets the immunity period for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `immunityPeriod` (uint16): The new immunity period value **Returns:** + - None (payable function) #### `getActivityCutoff` + Gets the activity cutoff for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint16`: The activity cutoff value #### `setActivityCutoff` + Sets the activity cutoff for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `activityCutoff` (uint16): The new activity cutoff value **Returns:** + - None (payable function) ### Registration Control #### `getNetworkRegistrationAllowed` + Gets whether network registration is allowed for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `bool`: Whether network registration is allowed #### `setNetworkRegistrationAllowed` + Sets whether network registration is allowed for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `registrationAllowed` (bool): Whether to allow network registration **Returns:** + - None (payable function) #### `getNetworkPowRegistrationAllowed` + Gets whether PoW registration is allowed for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `bool`: Whether PoW registration is allowed #### `setNetworkPowRegistrationAllowed` + Sets whether PoW registration is allowed for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `registrationAllowed` (bool): Whether to allow PoW registration **Returns:** + - None (payable function) ### Burn Management #### `getMinBurn` + Gets the minimum burn amount for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint64`: The minimum burn amount #### `setMinBurn` ⚠️ **DEPRECATED** + Sets the minimum burn amount for a subnet. **This function is deprecated. Subnet owners cannot set the minimum burn anymore.** **Parameters:** + - `netuid` (uint16): The subnetwork ID - `minBurn` (uint64): The minimum burn amount (ignored) **Returns:** + - None (payable function) **Description:** This function still exists for backward compatibility but performs no operation and returns successfully. #### `getMaxBurn` + Gets the maximum burn amount for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint64`: The maximum burn amount #### `setMaxBurn` ⚠️ **DEPRECATED** + Sets the maximum burn amount for a subnet. **This function is deprecated. Subnet owners cannot set the maximum burn anymore.** **Parameters:** + - `netuid` (uint16): The subnetwork ID - `maxBurn` (uint64): The maximum burn amount (ignored) **Returns:** + - None (payable function) **Description:** @@ -461,117 +575,153 @@ This function still exists for backward compatibility but performs no operation ### Bonds and Moving Averages #### `getBondsMovingAverage` + Gets the bonds moving average for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint64`: The bonds moving average value #### `setBondsMovingAverage` + Sets the bonds moving average for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `bondsMovingAverage` (uint64): The new bonds moving average value **Returns:** + - None (payable function) ### Feature Toggles #### `getCommitRevealWeightsEnabled` + Gets whether commit-reveal weights are enabled for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `bool`: Whether commit-reveal weights are enabled #### `setCommitRevealWeightsEnabled` + Sets whether commit-reveal weights are enabled for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `enabled` (bool): Whether to enable commit-reveal weights **Returns:** + - None (payable function) #### `getCommitRevealWeightsInterval` + Gets the commit-reveal weights interval for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `uint64`: The commit-reveal weights interval value #### `setCommitRevealWeightsInterval` + Sets the commit-reveal weights interval for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `interval` (uint64): The new commit-reveal weights interval value **Returns:** + - None (payable function) #### `getLiquidAlphaEnabled` + Gets whether liquid alpha is enabled for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `bool`: Whether liquid alpha is enabled #### `setLiquidAlphaEnabled` + Sets whether liquid alpha is enabled for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `enabled` (bool): Whether to enable liquid alpha **Returns:** + - None (payable function) #### `getYuma3Enabled` + Gets whether Yuma3 consensus is enabled for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID **Returns:** + - `bool`: Whether Yuma3 consensus is enabled #### `setYuma3Enabled` + Sets whether Yuma3 consensus is enabled for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `enabled` (bool): Whether to enable Yuma3 consensus **Returns:** + - None (payable function) ### Transfer Control #### `toggleTransfers` + Toggles transfers on/off for a subnet. **Parameters:** + - `netuid` (uint16): The subnetwork ID - `toggle` (bool): Whether to enable or disable transfers **Returns:** + - None (payable function) ## Example Scripts + [Example source on GitHub](https://github.com/opentensor/evm-bittensor/blob/main/examples/subnet.js) + ### Javascript + ```js const { ethers, assert } = require("ethers"); const { ApiPromise, WsProvider, Keyring } = require("@polkadot/api"); @@ -867,8 +1017,8 @@ async function main() { } main().catch(console.error); - ``` + ### Solidity [Example source on GitHub](https://github.com/opentensor/evm-bittensor/blob/main/solidity/subnet.sol) diff --git a/docs/getting-started/install-btcli.md b/docs/getting-started/install-btcli.md index 82590c01f9..9bc3b90f0e 100644 --- a/docs/getting-started/install-btcli.md +++ b/docs/getting-started/install-btcli.md @@ -21,7 +21,7 @@ To install `btcli`, you must have Python version 3.9-3.12. See config file on [G ## Developer reference -For a full developer reference, see the [Bittensor CLI reference document](../btcli.md). +For a full developer reference, see the [Bittensor CLI reference document](../btcli/btcli.md). ## Install on macOS and Linux diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index c3ee27c8b8..b2150e6f22 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -216,4 +216,4 @@ The Python interpreter output will look like below. ## Developer reference -For a full developer reference of the Bittensor SDK, see the [Bittensor SDK section](../bt-api-ref.md). +For a full developer reference of the Bittensor SDK, see the [Bittensor SDK section](../sdk/bt-api-ref.md). diff --git a/docs/governance.md b/docs/governance/governance.md similarity index 96% rename from docs/governance.md rename to docs/governance/governance.md index 31104c694f..f9b7e6bbcd 100644 --- a/docs/governance.md +++ b/docs/governance/governance.md @@ -6,7 +6,7 @@ title: "Governance Overview" Bittensor's governance protocol transitions the management of the network from centralization within the foundation to community ownership over time. -The first stage of this transition to decentralized management is the creation of a bicameral legislature. In this stage, the [Triumvirate](./glossary.md#triumvirate) creates proposals for the [Senate](./senate.md) to approve. +The first stage of this transition to decentralized management is the creation of a bicameral legislature. In this stage, the [Triumvirate](../resources/glossary.md#triumvirate) creates proposals for the [Senate](./senate.md) to approve. Triumvirate members are Opentensor Foundation employees, while the Senate is formed from the top K delegate hotkeys. @@ -39,9 +39,11 @@ Consider the following: **Triumvirate** `Bob` has a novel concept for a subnet and wishes to deploy it on the Bittensor network. `Bob` creates a proposal with the calldata: + ```python SubtensorModule.SudoAddNetwork(netuid, tempo, modality) ``` + and sends the transaction to the network in order to broadcast the proposal. **Senate** diff --git a/docs/senate.md b/docs/governance/senate.md similarity index 94% rename from docs/senate.md rename to docs/governance/senate.md index 232be41196..e103388b4e 100644 --- a/docs/senate.md +++ b/docs/governance/senate.md @@ -4,7 +4,7 @@ title: "Senate" # Senate -The Senate is a group of delegates who have elected to participate in proposals, and who control a significant portion of total network stake. +The Senate is a group of delegates who have elected to participate in proposals, and who control a significant portion of total network stake. All members of the network who have delegated stake to any of these Senate members are represented by the party that controls the delegate they've chosen to stake with. This allows any holder within the network to be represented, and to make their opinion known by delegating with organizations who represent their interests. @@ -14,10 +14,10 @@ In order to participate in the Senate, a coldkey must: - Have registered with any subnetwork as a hotkey-coldkey pair. - Have a hotkey stake value is greater than 2% of the network's total stake amount, through delegation or self-stake. -- Have elected to participate in the Senate. +- Have elected to participate in the Senate. -Once all four of the requirements have been fulfilled by a coldkey-hotkey pair, they can vote on any proposal created by the [Triumvirate](glossary#triumvirate). +Once all four of the requirements have been fulfilled by a coldkey-hotkey pair, they can vote on any proposal created by the [Triumvirate](../resources/glossary#triumvirate). In the case that the Senate has all twelve seats filled, and a delegate wishes to join, they will replace the lowest stake member as long as they have more stake in the network. diff --git a/docs/governance/senators-btcli-guide.md b/docs/governance/senators-btcli-guide.md index 00b2a24235..0d897ed9d5 100644 --- a/docs/governance/senators-btcli-guide.md +++ b/docs/governance/senators-btcli-guide.md @@ -6,25 +6,25 @@ title: "Senator's Guide to `BTCLI`" Governance participants (senate members, sudo-level accounts) can propose changes, cast votes, or execute privileged commands that affect the entire network. They must have a **coldkey** with the relevant governance role (senate membership or sudo privileges). -See [Requirements for Senate participation](../senate) +See [Requirements for Senate participation](./senate) -This page discusses btcli considerations specifically for Senators. For general coverage of BTCLI and permissions stuff, see: [Bittensor CLI: Permissions Guide](../btcli-permissions) +This page discusses btcli considerations specifically for Senators. For general coverage of BTCLI and permissions stuff, see: [Bittensor CLI: Permissions Guide](../btcli/btcli-permissions) -See also: [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security). +See also: [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security). - -See: [Senate](../senate). +See: [Senate](./senate). ## **Commands most relevant to governance:** + **Senate / Proposals** (coldkey with senator role): - - `btcli sudo senate` - - `btcli sudo proposals` - - `btcli sudo senate-vote` - - `btcli sudo senate_vote` + +- `btcli sudo senate` +- `btcli sudo proposals` +- `btcli sudo senate-vote` +- `btcli sudo senate_vote` ## Key rotation If you suspect your coldkey may have been leaked, you can request to swap it out of your wallet, using an extrinsic blockchain transaction. This operation has a 5 day waiting period, during which your coldkey will be locked. The cost of this coldkey swap transaction is 0.1 TAO. -See [Rotate/Swap your Coldkey](../subnets/schedule-coldkey-swap) - +See [Rotate/Swap your Coldkey](../keys/schedule-coldkey-swap) diff --git a/docs/index.md b/docs/index.md index acd733296d..ac0d501fa8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -30,7 +30,6 @@ import { SiFuturelearn } from "react-icons/si"; import { GoNumber } from "react-icons/go"; import { VscFileMedia } from "react-icons/vsc"; - # Bittensor Documentation Bittensor is an open source platform where participants produce best-in-class digital commodities, including compute power, storage space, artificial intelligence (AI) inference and training, protein folding, financial markets prediction, and many more. @@ -52,7 +51,7 @@ Browse the subnets and explore links to their code repositories on [TAO.app](htt ## Participate - You can participate in an existing subnet as either a subnet validator or a subnet miner, or by staking your TAO to running validators. @@ -168,7 +166,7 @@ See [Legacy Bittensor 7.4.0 Documentation](pathname:///legacy-python-api/html/in **Extrinsics** option on the [polkadot.js.org/apps](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-finney.opentensor.ai%3A443#/extrinsics) website. - ::: +:::danger If you do not do this step, then you will not see **Developer** > **Extrinsics** option on the [polkadot.js.org/apps](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-finney.opentensor.ai%3A443#/extrinsics) website. +::: ## Steps for Polkadot JS @@ -73,7 +73,7 @@ Open your web browser and navigate to the Polkadot.js Apps website (https://polk ### Step 2: Navigate to the Extrinsics page -From the top navigation menu, proceed to **Developer** > **Extrinsics** to open the Extrinsics page. If you do not see this option, then make sure you successfully imported your source coldkey into the Polkadot JS extension, and connected this source coldkey account to the Polkadot.js Apps website. +From the top navigation menu, proceed to **Developer** > **Extrinsics** to open the Extrinsics page. If you do not see this option, then make sure you successfully imported your source coldkey into the Polkadot JS extension, and connected this source coldkey account to the Polkadot.js Apps website. ### Step 3: Select your source coldkey account @@ -83,17 +83,17 @@ Locate the drop-down section labeled **using the selected account** and select y Locate the drop-down section labeled **submit the following extrinsic** and select `subtensorModule`. -### Step 5: Choose the `scheduleSwapColdkey` function +### Step 5: Choose the `scheduleSwapColdkey` function -After selecting the `subtensorModule`, a second drop-down menu will appear on the right side of it. From this drop-down select the `scheduleSwapColdkey` option. +After selecting the `subtensorModule`, a second drop-down menu will appear on the right side of it. From this drop-down select the `scheduleSwapColdkey` option. -### Step 6: Provide the destination coldkey +### Step 6: Provide the destination coldkey Provide your destination coldkey in the `newColdkey: AccountId32` field. ### Step 7: Submit the transaction -Check again that you have provided the correct source and destination coldkeys. +Check again that you have provided the correct source and destination coldkeys. Scroll down to the bottom of the page and click on the **Submit Transaction** button. Polkadot.js will prompt you to sign the transaction using the selected account. After you sign the transaction, the signed transaction will be broadcast to the Subtensor. diff --git a/docs/getting-started/wallets.md b/docs/keys/wallets.md similarity index 94% rename from docs/getting-started/wallets.md rename to docs/keys/wallets.md index 3a1c20afb0..357ed3f06b 100644 --- a/docs/getting-started/wallets.md +++ b/docs/keys/wallets.md @@ -10,7 +10,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; In Bittensor (like other cryptocurrency applications), a _wallet_ is a tool for proving your identity, signing transactions, accessing your TAO, and managing your stake in subnets. This page introduces the core concepts involved. -For detailed procedures for handling wallets and keys, see: [Working with keys](../working-with-keys.md) +For detailed procedures for handling wallets and keys, see: [Working with keys](./working-with-keys.md) For detailed security considerations, see: [Coldkey and Hotkey Workstation Security](./coldkey-hotkey-security.md) @@ -52,23 +52,23 @@ Different wallet applications have different levels of functionality: - The mobile app and Chrome extension allow for staking and transfer of TAO balalnces, but do not include any hotkey management or advanced functionality. - - Note that the Chome extension is compatible with a hardware wallet, which can be a strong security option. This implies using a laptop as your [coldkey workstation](../getting-started/coldkey-hotkey-security). + - Note that the Chome extension is compatible with a hardware wallet, which can be a strong security option. This implies using a laptop as your [coldkey workstation](./coldkey-hotkey-security). - - The mobile app depends on using a secure phone as a [coldkey workstation](../getting-started/coldkey-hotkey-security). + - The mobile app depends on using a secure phone as a [coldkey workstation](./coldkey-hotkey-security). -- `btcli` and the SDK allow for hotkey management and other advanced functionality. These require a laptop as a [coldkey workstation](../getting-started/coldkey-hotkey-security). +- `btcli` and the SDK allow for hotkey management and other advanced functionality. These require a laptop as a [coldkey workstation](./coldkey-hotkey-security). :::tip Note that you can also check balances on an unsecure device without entering your coldkey private key. For example, using [https://bittensor.com/scan](https://bittensor.com/scan). These website can be considered permissionless wallet applications. -See [Coldkey and Hotkey Workstation Security: Permissionless workstation](../getting-started/coldkey-hotkey-security#permissionless-workstation) +See [Coldkey and Hotkey Workstation Security: Permissionless workstation](./coldkey-hotkey-security#permissionless-workstation) ::: ## The seed phrase a.k.a. mnemonic The **_seed phrase_** (a.k.a. 'menemonic' or 'recovery phrase') is a series of (at least 12) words that is generated together with your wallet's cryptographic key pair, and which can be used to recover the coldkey private key. This seed phrase is therefore a human-usable way to save access to the cryptographic wallet offline, and to import the cryptographic wallet into a wallet application. -Arguably the most important operational goal when handling Bittensor wallets is to avoid losing or leaking your seed phrase. Make sure you [Handle your Seed Phrase/Mnemonic Securely](../keys/handle-seed-phrase). +Arguably the most important operational goal when handling Bittensor wallets is to avoid losing or leaking your seed phrase. Make sure you [Handle your Seed Phrase/Mnemonic Securely](./handle-seed-phrase). ## Wallet applications @@ -113,7 +113,7 @@ It is also required for creating and registering hotkeys, and for subnet managem **Encryption**: A coldkey is only stored on your disk in an encrypted form, and requires an encryption password. -See [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security) for concrete security details about working with coldkeys. +See [Coldkey and Hotkey Workstation Security](./coldkey-hotkey-security) for concrete security details about working with coldkeys.
      Metagraph Properties @@ -134,28 +133,28 @@ In the Bittensor Python SDK, the `Metagraph` class encapsulates the following in | `version` | Bittensor version number | | `n` | Total number of neurons registered on the subnet | | `block` | Block number when the metagraph record was retrieved | -| `total_stake` | Total [stake weight](../glossary.md#stake-weight) (α + τ × 0.18) across all neurons | -| **Stake** / `S` | Total [stake weight](../glossary.md#stake-weight) (α + τ × 0.18) of each neuron, determining consensus power and emissions | +| `total_stake` | Total [stake weight](../resources/glossary.md#stake-weight) (α + τ × 0.18) across all neurons | +| **Stake** / `S` | Total [stake weight](../resources/glossary.md#stake-weight) (α + τ × 0.18) of each neuron, determining consensus power and emissions | | **Alpha Stake** / `AS` | Alpha token stake (α) for each neuron | -| **Tao Stake** / `TS` | [TAO](../glossary.md#tao-τ) token stake (τ) for each neuron | -| **Ranks** / `R` | Final performance scores after [consensus](../glossary.md#consensus-score) weight clipping - [stake-weighted](../glossary.md#stake-weight) sum of clipped weights that directly determine emissions to miners | -| **Trust** / `T` | [Consensus alignment](../glossary.md#trust) ratio (final rank / pre-rank) - measures how much consensus clipping affected the rank, where 1.0 indicates perfect consensus alignment | -| **Validator Trust** / `Tv` | [Validator trust](../glossary.md#validator-trust) - sum of clipped weights set by each validator, measuring validator influence in consensus | -| **Consensus** / `C` | [Consensus score](../glossary.md#consensus-score) - stake-weighted median of weights per neuron, serving as consensus threshold for weight clipping | -| **Incentive** / `I` | Normalized ranks representing [incentive](../glossary.md#incentives) allocation for miners based on performance | -| **Emission** / `E` | Token [emission](../glossary.md#emission) amounts in [RAO](../glossary.md#rao) (10^-9 TAO) per block | -| **Dividends** / `D` | [Bond](../glossary.md#validator-miner-bonds)-based rewards for validators from their investments in miners | -| **Bonds** / `B` | Inter-neuronal [bond matrix](../glossary.md#validator-miner-bonds) representing validator investments in miners, used to calculate validator emissions | -| **Weights** / `W` | [Weight matrix](../glossary.md#weight-matrix) (validator → miner assignments) formed from validator weight vectors, input for [Yuma Consensus](../glossary.md#yuma-consensus) | -| `uids` | Unique [UID](../glossary.md#uid-slot) identifiers for each neuron | -| `hotkeys` | Neuron [hotkey](../glossary.md#hotkey) addresses | -| `coldkeys` | Neuron [coldkey](../glossary.md#coldkey) addresses | +| **Tao Stake** / `TS` | [TAO](../resources/glossary.md#tao-tau) token stake (τ) for each neuron | +| **Ranks** / `R` | Final performance scores after [consensus](../resources/glossary.md#consensus-score) weight clipping - [stake-weighted](../resources/glossary.md#stake-weight) sum of clipped weights that directly determine emissions to miners | +| **Trust** / `T` | [Consensus alignment](../resources/glossary.md#trust) ratio (final rank / pre-rank) - measures how much consensus clipping affected the rank, where 1.0 indicates perfect consensus alignment | +| **Validator Trust** / `Tv` | [Validator trust](../resources/glossary.md#validator-trust) - sum of clipped weights set by each validator, measuring validator influence in consensus | +| **Consensus** / `C` | [Consensus score](../resources/glossary.md#consensus-score) - stake-weighted median of weights per neuron, serving as consensus threshold for weight clipping | +| **Incentive** / `I` | Normalized ranks representing [incentive](../resources/glossary.md#incentives) allocation for miners based on performance | +| **Emission** / `E` | Token [emission](../resources/glossary.md#emission) amounts in [RAO](../resources/glossary.md#rao) (10^-9 TAO) per block | +| **Dividends** / `D` | [Bond](../resources/glossary.md#validator-miner-bonds)-based rewards for validators from their investments in miners | +| **Bonds** / `B` | Inter-neuronal [bond matrix](../resources/glossary.md#validator-miner-bonds) representing validator investments in miners, used to calculate validator emissions | +| **Weights** / `W` | [Weight matrix](../resources/glossary.md#weight-matrix) (validator → miner assignments) formed from validator weight vectors, input for [Yuma Consensus](../resources/glossary.md#yuma-consensus) | +| `uids` | Unique [UID](../resources/glossary.md#uid-slot) identifiers for each neuron | +| `hotkeys` | Neuron [hotkey](../resources/glossary.md#hotkey) addresses | +| `coldkeys` | Neuron [coldkey](../resources/glossary.md#coldkey) addresses | | `addresses` | Network IP addresses | -| `axons` | Network connection details for [axon](../glossary.md#axon) servers | -| `neurons` | Complete [neuron](../glossary.md#neuron) objects with all metadata | -| `active` | Neuron activity status within the [`activity_cutoff`](./subnet-hyperparameters.md#activity_cutoff) window | +| `axons` | Network connection details for [axon](../resources/glossary.md#axon) servers | +| `neurons` | Complete [neuron](../resources/glossary.md#neuron) objects with all metadata | +| `active` | Neuron activity status within the [`activity_cutoff`](./subnet-hyperparameters.md#activitycutoff) window | | `last_update` | Last update block numbers for staleness detection | -| `validator_permit` | Boolean array indicating whether each neuron has [validator permits](../glossary.md#validator-permit) to set weights and participate in consensus | +| `validator_permit` | Boolean array indicating whether each neuron has [validator permits](../resources/glossary.md#validator-permit) to set weights and participate in consensus | | `name` | Subnet name | | `symbol` | Subnet token symbol | | `network_registered_at` | Registration block when subnet was created | @@ -163,28 +162,26 @@ In the Bittensor Python SDK, the `Metagraph` class encapsulates the following in | `max_uids` | Maximum allowed neurons (typically 256) | | `identities` | List of chain identities | | `identity` | Subnet identity information | -| `pruning_score` | List of pruning scores based on emissions, used for [deregistration](../glossary.md#deregistration) when subnet is full | -| `block_at_registration` | List of registration blocks for each neuron, used for [immunity period](../glossary.md#immunity-period) calculations | -| `tao_dividends_per_hotkey` | [TAO](../glossary.md#tao-τ) dividends by hotkey | +| `pruning_score` | List of pruning scores based on emissions, used for [deregistration](../resources/glossary.md#deregistration) when subnet is full | +| `block_at_registration` | List of registration blocks for each neuron, used for [immunity period](../resources/glossary.md#immunity-period) calculations | +| `tao_dividends_per_hotkey` | [TAO](../resources/glossary.md#tao-tau) dividends by hotkey | | `alpha_dividends_per_hotkey` | Alpha dividends by hotkey | | `last_step` | Last step block number | -| `tempo` | [Tempo](../glossary.md#tempo) - block interval for updates (360 blocks = 72 minutes) | +| `tempo` | [Tempo](../resources/glossary.md#tempo) - block interval for updates (360 blocks = 72 minutes) | | `blocks_since_last_step` | Blocks since last step | -| `owner_coldkey` | Subnet owner [coldkey](../glossary.md#coldkey) | -| `owner_hotkey` | Subnet owner [hotkey](../glossary.md#hotkey) | +| `owner_coldkey` | Subnet owner [coldkey](../resources/glossary.md#coldkey) | +| `owner_hotkey` | Subnet owner [hotkey](../resources/glossary.md#hotkey) | | `hparams` | Subnet [hyperparameters](./subnet-hyperparameters.md) (`MetagraphInfoParams`) | | `pool` | Liquidity pool information (`MetagraphInfoPool`) | | `emissions` | Emission configuration (`MetagraphInfoEmissions`) |
      - - - ### Neuron Info A neuron represents any registered participant on the subnet, whether a miner or a validator. See also: + - [Understanding Neurons](../learn/neurons.md) - [NeuronInfo class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/chain_data/neuron_info/index.html#bittensor.core.chain_data.neuron_info.NeuronInfo) @@ -192,31 +189,31 @@ See also: Neuron Info Properties | Name | Description | --|-- -`uid` | Unique [UID](../glossary.md#uid-slot) identifier for the neuron within the subnet -`hotkey` | [Hotkey](../glossary.md#hotkey) address for network operations and signing -`coldkey` | [Coldkey](../glossary.md#coldkey) address for secure storage and high-risk operations -`stake` | Total [stake weight](../glossary.md#stake-weight) (α + τ × 0.18) determining consensus power and emissions -`rank` | Final [performance rank](../glossary.md#rank) after consensus weight clipping, directly determining emissions -`trust` | [Consensus alignment](../glossary.md#trust) ratio (final rank / pre-rank) measuring impact of consensus filtering -`consensus` | [Consensus score](../glossary.md#consensus-score) - stake-weighted median of weights serving as clipping threshold -`incentive` | Normalized [incentive](../glossary.md#incentives) score representing reward allocation for miners -`emission` | Token [emission](../glossary.md#emission) rate in [RAO](../glossary.md#rao) per block -`dividends` | [Bond](../glossary.md#validator-miner-bonds)-based dividend amount for validators -`validator_trust` | [Validator trust](../glossary.md#validator-trust) measuring validator influence in consensus -`active` | Activity status within the [`activity_cutoff`](./subnet-hyperparameters.md#activity_cutoff) window +`uid` | Unique [UID](../resources/glossary.md#uid-slot) identifier for the neuron within the subnet +`hotkey` | [Hotkey](../resources/glossary.md#hotkey) address for network operations and signing +`coldkey` | [Coldkey](../resources/glossary.md#coldkey) address for secure storage and high-risk operations +`stake` | Total [stake weight](../resources/glossary.md#stake-weight) (α + τ × 0.18) determining consensus power and emissions +`rank` | Final [performance rank](../resources/glossary.md#rank) after consensus weight clipping, directly determining emissions +`trust` | [Consensus alignment](../resources/glossary.md#trust) ratio (final rank / pre-rank) measuring impact of consensus filtering +`consensus` | [Consensus score](../resources/glossary.md#consensus-score) - stake-weighted median of weights serving as clipping threshold +`incentive` | Normalized [incentive](../resources/glossary.md#incentives) score representing reward allocation for miners +`emission` | Token [emission](../resources/glossary.md#emission) rate in [RAO](../resources/glossary.md#rao) per block +`dividends` | [Bond](../resources/glossary.md#validator-miner-bonds)-based dividend amount for validators +`validator_trust` | [Validator trust](../resources/glossary.md#validator-trust) measuring validator influence in consensus +`active` | Activity status within the [`activity_cutoff`](./subnet-hyperparameters.md#activitycutoff) window `last_update` | Last update block number for staleness detection -`validator_permit` | Boolean indicating [validator permit](../glossary.md#validator-permit) status for weight setting and consensus participation -`weights` | [Weight vector](../glossary.md#weight-vector) assignments from this neuron to others -`bonds` | [Bond](../glossary.md#validator-miner-bonds) investments from this neuron to others -`axon_info` | Network connection details for the [axon](../glossary.md#axon) server +`validator_permit` | Boolean indicating [validator permit](../resources/glossary.md#validator-permit) status for weight setting and consensus participation +`weights` | [Weight vector](../resources/glossary.md#weight-vector) assignments from this neuron to others +`bonds` | [Bond](../resources/glossary.md#validator-miner-bonds) investments from this neuron to others +`axon_info` | Network connection details for the [axon](../resources/glossary.md#axon) server
      - ### Axons An axon represents a server run by a registered miner, capable of answering requests by validators. See also: + - [Understanding Neurons](../learn/neurons.md) - [Axon class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/axon/index.html#module-bittensor.core.axon) - [Axon class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/axon/index.html#module-bittensor.core.axon) @@ -224,16 +221,17 @@ See also:
      Axon Properties -| Name | Description | ---|-- -`hotkey` | Neuron [hotkey](../glossary.md#hotkey) address -`coldkey` | Neuron [coldkey](../glossary.md#coldkey) address -`ip` | IP address for the [axon](../glossary.md#axon) server -`port` | Port number for the axon server -`ip_type` | IP type (IPv4/IPv6) -`version` | Protocol version for axon-dendrite communication -`placeholder1` | Reserved field for future use -`placeholder2` | Reserved field for future use +| Name | Description | +| -------------- | --------------------------------------------------------------- | +| `hotkey` | Neuron [hotkey](../resources/glossary.md#hotkey) address | +| `coldkey` | Neuron [coldkey](../resources/glossary.md#coldkey) address | +| `ip` | IP address for the [axon](../resources/glossary.md#axon) server | +| `port` | Port number for the axon server | +| `ip_type` | IP type (IPv4/IPv6) | +| `version` | Protocol version for axon-dendrite communication | +| `placeholder1` | Reserved field for future use | +| `placeholder2` | Reserved field for future use | +
      ### MetagraphInfoParams @@ -241,43 +239,45 @@ See also: Represents the hyperparameters of a subnet. See also: + - [Subnet Hyperparameters](./subnet-hyperparameters) - [MetagraphInfoParams class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/chain_data/metagraph_info/index.html#bittensor.core.chain_data.metagraph_info.MetagraphInfoParams)
      MetagraphInfoParams (Hyperparams) Properties -| Name | Description | ----|---- -`activity_cutoff` | Activity cutoff threshold -`adjustment_alpha` | Adjustment alpha parameter -`adjustment_interval` | Adjustment interval -`alpha_high` | Alpha high threshold -`alpha_low` | Alpha low threshold -`bonds_moving_avg` | Bonds moving average -`burn` | Burn amount -`commit_reveal_period` | Commit reveal period -`commit_reveal_weights_enabled` | Commit reveal weights enabled -`difficulty` | Network difficulty -`immunity_period` | Immunity period -`kappa` | Kappa parameter -`liquid_alpha_enabled` | Liquid alpha enabled -`max_burn` | Maximum burn -`max_difficulty` | Maximum difficulty -`max_regs_per_block` | Max registrations per block -`max_validators` | Maximum validators -`max_weights_limit` | Maximum weights limit -`min_allowed_weights` | Minimum allowed weights -`min_burn` | Minimum burn -`min_difficulty` | Minimum difficulty -`pow_registration_allowed` | POW registration allowed -`registration_allowed` | Registration allowed -`rho` | Rho parameter -`serving_rate_limit` | Serving rate limit -`target_regs_per_interval` | Target registrations per interval -`tempo` | [Tempo](../glossary.md#tempo) - block interval for updates (360 blocks = 72 minutes) -`weights_rate_limit` | [Weights](../glossary.md#weight-vector) rate limit for submissions -`weights_version` | [Weights](../glossary.md#weight-vector) version for protocol compatibility +| Name | Description | +| ------------------------------- | ---------------------------------------------------------------------------------------------- | +| `activity_cutoff` | Activity cutoff threshold | +| `adjustment_alpha` | Adjustment alpha parameter | +| `adjustment_interval` | Adjustment interval | +| `alpha_high` | Alpha high threshold | +| `alpha_low` | Alpha low threshold | +| `bonds_moving_avg` | Bonds moving average | +| `burn` | Burn amount | +| `commit_reveal_period` | Commit reveal period | +| `commit_reveal_weights_enabled` | Commit reveal weights enabled | +| `difficulty` | Network difficulty | +| `immunity_period` | Immunity period | +| `kappa` | Kappa parameter | +| `liquid_alpha_enabled` | Liquid alpha enabled | +| `max_burn` | Maximum burn | +| `max_difficulty` | Maximum difficulty | +| `max_regs_per_block` | Max registrations per block | +| `max_validators` | Maximum validators | +| `max_weights_limit` | Maximum weights limit | +| `min_allowed_weights` | Minimum allowed weights | +| `min_burn` | Minimum burn | +| `min_difficulty` | Minimum difficulty | +| `pow_registration_allowed` | POW registration allowed | +| `registration_allowed` | Registration allowed | +| `rho` | Rho parameter | +| `serving_rate_limit` | Serving rate limit | +| `target_regs_per_interval` | Target registrations per interval | +| `tempo` | [Tempo](../resources/glossary.md#tempo) - block interval for updates (360 blocks = 72 minutes) | +| `weights_rate_limit` | [Weights](../resources/glossary.md#weight-vector) rate limit for submissions | +| `weights_version` | [Weights](../resources/glossary.md#weight-vector) version for protocol compatibility | +
      ### MetagraphInfoPool @@ -285,10 +285,10 @@ See also: Contains information about the subnet's liquidity pool See also: + - [Understanding Subnets: Liquidity pools](./understanding-subnets#liquidity-pools). - [MetagraphInfoPool class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/chain_data/metagraph_info/index.html#bittensor.core.chain_data.metagraph_info.MetagraphInfoPool) -
      MetagraphInfoPool properties | Name | Description | @@ -305,36 +305,33 @@ See also: Contains detailed information about the subnet's emissions. See also: -- [Emissions](../emissions). -- [MetagraphInfoEmissions class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/chain_data/metagraph_info/index.html#bittensor.core.chain_data.metagraph_info.MetagraphInfoPool) +- [Emissions](../learn/emissions). +- [MetagraphInfoEmissions class specification, SDK reference](pathname:///python-api/html/autoapi/bittensor/core/chain_data/metagraph_info/index.html#bittensor.core.chain_data.metagraph_info.MetagraphInfoPool)
      MetagraphInfoEmissions properties | Name | Description | --|-- -`alpha_out_emission` | Alpha token outflow [emission](../glossary.md#emission) rate -`alpha_in_emission` | Alpha token inflow [emission](../glossary.md#emission) rate -`subnet_emission` | Subnet [emission](../glossary.md#emission) rate to participants -`tao_in_emission` | [TAO](../glossary.md#tao-τ) token inflow [emission](../glossary.md#emission) rate -`pending_alpha_emission` | Pending alpha token [emission](../glossary.md#emission) amount -`pending_root_emission` | Pending root network [emission](../glossary.md#emission) amount +`alpha_out_emission` | Alpha token outflow [emission](../resources/glossary.md#emission) rate +`alpha_in_emission` | Alpha token inflow [emission](../resources/glossary.md#emission) rate +`subnet_emission` | Subnet [emission](../resources/glossary.md#emission) rate to participants +`tao_in_emission` | [TAO](../resources/glossary.md#tao-tau) token inflow [emission](../resources/glossary.md#emission) rate +`pending_alpha_emission` | Pending alpha token [emission](../resources/glossary.md#emission) amount +`pending_root_emission` | Pending root network [emission](../resources/glossary.md#emission) amount
      - - ## Python Code Examples This section provides practical examples of working with the Bittensor metagraph using the Python SDK. Each example demonstrates different aspects of metagraph analysis and data extraction. -Code examples can be found [here](https://github.com/latent-to/developer-docs/tree/main/static/code-examples/) **Prerequisites**: + - Bittensor Python SDK installed (`pip install bittensor`) - Network connection to access Bittensor blockchain - Python 3.7+ environment - ### Basic Metagraph Information This example shows how to access basic metagraph metadata and subnet information: @@ -348,7 +345,7 @@ def main(): # Initialize metagraph for subnet 1 print("Initializing metagraph for subnet 1...") metagraph = Metagraph(netuid=1, network="finney", sync=True) - + # Get basic metagraph metadata print("\n=== Basic Metagraph Metadata ===") print(f"Network: {metagraph.network}") @@ -366,10 +363,9 @@ def main(): print(f"Owner: {metagraph.owner_coldkey}") if __name__ == "__main__": - main() + main() ``` - ### Neuron Metrics Analysis This example demonstrates stake distribution and neuron metrics analysis: @@ -383,7 +379,7 @@ def main(): # Initialize metagraph for subnet 1 print("Initializing metagraph for subnet 1...") metagraph = Metagraph(netuid=1, network="finney", sync=True) - + # Get all neuron UIDs uids = metagraph.uids print(f"\nNeuron UIDs: {uids.tolist()}") @@ -408,10 +404,9 @@ def main(): print(f" {i+1}. UID {uid}: {stake:.2f} τ") if __name__ == "__main__": - main() + main() ``` - ### Performance and Ranking Analysis This example shows how to analyze neuron performance, ranks, and trust scores: @@ -425,7 +420,7 @@ def main(): # Initialize metagraph for subnet 1 print("Initializing metagraph for subnet 1...") metagraph = Metagraph(netuid=1, network="finney", sync=True) - + # Get performance metrics ranks = metagraph.R # Performance ranks trust = metagraph.T # Trust scores @@ -464,10 +459,9 @@ def main(): print("\nNo validators found in this subnet.") if __name__ == "__main__": - main() + main() ``` - ### Economic Analysis This example demonstrates analysis of economic metrics like incentives, emissions, and dividends: @@ -481,7 +475,7 @@ def main(): # Initialize metagraph for subnet 1 print("Initializing metagraph for subnet 1...") metagraph = Metagraph(netuid=1, network="finney", sync=True) - + # Get economic metrics incentives = metagraph.I # Incentive scores emissions = metagraph.E # Emission rates @@ -511,10 +505,9 @@ def main(): print(f"Dividend std dev: {dividends.std().item():.4f}") if __name__ == "__main__": - main() + main() ``` - ### Network Connectivity Analysis This example shows how to analyze network addresses and axon information: @@ -528,7 +521,7 @@ def main(): # Initialize metagraph for subnet 1 print("Initializing metagraph for subnet 1...") metagraph = Metagraph(netuid=1, network="finney", sync=True) - + # Get network information axons = metagraph.axons uids = metagraph.uids @@ -565,11 +558,9 @@ def main(): print(f" UID {uid}: IP={axon.ip}, Port={axon.port}, Hotkey={hotkey}") if __name__ == "__main__": - main() + main() ``` - - ### Weight Matrix Analysis This example demonstrates weight matrix analysis (requires `lite=False`): @@ -583,19 +574,19 @@ def main(): # Initialize metagraph for subnet 1 with full sync (not lite) print("Initializing metagraph for subnet 1 (full sync)...") metagraph = Metagraph(netuid=1, network="finney", lite=False, sync=True) - + uids = metagraph.uids - + # Get weight matrix (requires lite=False) if not metagraph.lite and hasattr(metagraph, 'weights') and metagraph.weights.size > 0: weights = metagraph.W # Weight matrix - + print(f"\n=== Weight Matrix Analysis ===") print(f"Weight matrix shape: {weights.shape}") print(f"Total weights: {weights.sum().item():.4f}") print(f"Average weight: {weights.mean().item():.4f}") print(f"Max weight: {weights.max().item():.4f}") - + # Find miners receiving most weights weight_received = weights.sum(axis=0) # Sum of incoming weights top_receivers = weight_received.argsort()[::-1][:10] @@ -604,7 +595,7 @@ def main(): uid = uids[idx].item() total_weight = weight_received[idx].item() print(f" {i+1}. UID {uid}: {total_weight:.4f}") - + # Find validators sending most weights weight_sent = weights.sum(axis=1) # Sum of outgoing weights top_senders = weight_sent.argsort()[::-1][:10] @@ -613,7 +604,7 @@ def main(): uid = uids[idx].item() total_weight = weight_sent[idx].item() print(f" {i+1}. UID {uid}: {total_weight:.4f}") - + # Find highest set weight max_weight_idx = weights.argmax() sender_idx = max_weight_idx // weights.shape[1] @@ -625,7 +616,7 @@ def main(): print("Weights not available. Make sure to use lite=False when initializing the metagraph.") if __name__ == "__main__": - main() + main() ``` ### Bond Analysis @@ -641,18 +632,18 @@ def main(): # Initialize metagraph for subnet 1 with full sync (not lite) print("Initializing metagraph for subnet 1 (full sync)...") metagraph = Metagraph(netuid=1, network="finney", lite=False, sync=True) - + uids = metagraph.uids - + # Get bond matrix (requires lite=False) if not metagraph.lite and hasattr(metagraph, 'bonds') and metagraph.bonds.size > 0: bonds = metagraph.B # Bond matrix - + print(f"\n=== Bond Matrix Analysis ===") print(f"Bond matrix shape: {bonds.shape}") print(f"Total bonds: {bonds.sum().item():.4f}") print(f"Average bond: {bonds.mean().item():.4f}") - + # Find miners with most bonds bonds_received = bonds.sum(axis=0) # Sum of incoming bonds top_bonded = bonds_received.argsort()[::-1][:10] @@ -665,10 +656,9 @@ def main(): print("Bonds not available. Make sure to use lite=False when initializing the metagraph.") if __name__ == "__main__": - main() + main() ``` - ### Neuron Activity Analysis This example demonstrates analyzing validator activity: @@ -682,7 +672,7 @@ def main(): # Initialize metagraph for subnet 1 print("Initializing metagraph for subnet 1...") metagraph = Metagraph(netuid=1, network="finney", sync=True) - + # Get activity information active = metagraph.active # Activity status last_update = metagraph.last_update # Last update blocks @@ -716,7 +706,7 @@ def main(): print("\nNo validators found in this subnet.") if __name__ == "__main__": - main() + main() ``` ### Subnet Economics @@ -732,7 +722,7 @@ def main(): # Initialize metagraph for subnet 1 print("Initializing metagraph for subnet 1...") metagraph = Metagraph(netuid=1, network="finney", sync=True) - + # Get subnet hyperparameters hparams = metagraph.hparams print(f"\n=== Subnet Hyperparameters ===") @@ -771,11 +761,9 @@ def main(): print(f" Pending root emission: {emissions.pending_root_emission}") if __name__ == "__main__": - main() + main() ``` - - ### Advanced Analysis Examples This example demonstrates advanced analysis techniques including correlations and [Gini coefficient](https://en.wikipedia.org/wiki/Gini_coefficient) of stake distribution. @@ -790,7 +778,7 @@ def main(): # Initialize metagraph for subnet 1 print("Initializing metagraph for subnet 1...") metagraph = Metagraph(netuid=1, network="finney", sync=True) - + # Get basic metrics stakes = metagraph.S ranks = metagraph.R @@ -815,7 +803,7 @@ def main(): # Network efficiency analysis (if weights are available) if not metagraph.lite and hasattr(metagraph, 'weights') and metagraph.weights.size > 0: weights = metagraph.W - + print("\n=== Network Efficiency Analysis ===") # Calculate network efficiency (average path length) non_zero_weights = weights[weights > 0] @@ -848,10 +836,9 @@ def main(): print(f"Could not calculate stake concentration metrics: {e}") if __name__ == "__main__": - main() + main() ``` - ### Async Usage This example demonstrates async metagraph usage: @@ -866,11 +853,11 @@ async def analyze_metagraph(): # Create async metagraph print("Creating async metagraph...") metagraph = await async_metagraph(netuid=1, network="finney", lite=False) - + # Perform analysis stakes = metagraph.S print(f"Total stake: {stakes.sum().item():.2f}") - + # Sync to latest block print("Syncing to latest block...") await metagraph.sync() @@ -882,7 +869,7 @@ async def main(): if __name__ == "__main__": # Run async analysis - asyncio.run(main()) + asyncio.run(main()) ``` ### Complete Neuron Information @@ -898,10 +885,10 @@ def main(): # Initialize metagraph for subnet 1 print("Initializing metagraph for subnet 1...") metagraph = Metagraph(netuid=1, network="finney", sync=True) - + # Get complete neuron information for first 5 neurons print("=== Complete Neuron Information (First 5 Neurons) ===") - + for i in range(min(5, metagraph.n.item())): neuron = metagraph.neurons[i] print(f"\nNeuron {i}:") @@ -924,19 +911,22 @@ def main(): print(f" ---") if __name__ == "__main__": - main() + main() ``` ## Source Code References ### Core Implementation + - **Metagraph Class**: [`bittensor/bittensor/core/metagraph.py`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/metagraph.py) - **Chain Data**: [`bittensor/bittensor/core/chain_data/metagraph_info.py`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/chain_data/metagraph_info.py) - **Subtensor RPC**: [`subtensor/pallets/subtensor/src/rpc_info/metagraph.rs`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/rpc_info/metagraph.rs) ### Consensus Algorithm + - **Yuma Consensus**: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs) - **Mathematical Operations**: [`subtensor/pallets/subtensor/src/epoch/math.rs`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/math.rs) ### Key Constants + - **TAO Stake Weight**: [`bittensor/bittensor/core/settings.py:7`](https://github.com/opentensor/bittensor/blob/main/bittensor/core/settings.py#L7) - `ROOT_TAO_STAKE_WEIGHT = 0.18` diff --git a/docs/subnets/subnet-creators-btcli-guide.md b/docs/subnets/subnet-creators-btcli-guide.md index 4a796cd44d..cab7f0bc64 100644 --- a/docs/subnets/subnet-creators-btcli-guide.md +++ b/docs/subnets/subnet-creators-btcli-guide.md @@ -4,23 +4,26 @@ title: "Subnet Creator's Guide to `BTCLI`" # Subnet Creator's Guide to `BTCLI` -Subnet creators define and manage new subnets, specifying parameters like burn cost, hyperparameters, or other chain-level configurations. This role inherently requires a **coldkey** with sufficient balance/permissions to create or update subnets. +Subnet creators define and manage new subnets, specifying parameters like burn cost, hyperparameters, or other chain-level configurations. This role inherently requires a **coldkey** with sufficient balance/permissions to create or update subnets. -This page discusses btcli stuff specifically for Subnet Creators. For general coverage of BTCLI and permissions stuff, see: [Bittensor CLI: Permissions Guide](../btcli-permissions) +This page discusses btcli stuff specifically for Subnet Creators. For general coverage of BTCLI and permissions stuff, see: [Bittensor CLI: Permissions Guide](../btcli/btcli-permissions) -See also: [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security). +See also: [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security). ## Subnet Creator Requirements -To create a new subnet, you need a coldkey with sufficient TAO to pay the burn cost for creating a subnet +To create a new subnet, you need a coldkey with sufficient TAO to pay the burn cost for creating a subnet To modify a subnet, you need the coldkey associated with ownership of the subnet ## `btcli` commands for subnet creators + ### monitor subnet + Permissionless, use `btcli subnet show` or `btcli view dashboard`. ### create subnet + Requires coldkey with sufficient TAO. `btcli subnet create` @@ -32,5 +35,4 @@ Configure your subnet's hyperparameters with `btcli sudo set`. Requires the cold If you suspect your coldkey may have been leaked, you can request to swap it out of your wallet, using an extrinsic blockchain transaction. This operation has a 5 day waiting period, during which your coldkey will be locked. The cost of this coldkey swap transaction is 0.1 TAO. -See [Rotate/Swap your Coldkey](../subnets/schedule-coldkey-swap) - +See [Rotate/Swap your Coldkey](../keys/schedule-coldkey-swap) diff --git a/docs/subnets/subnet-hyperparameters.md b/docs/subnets/subnet-hyperparameters.md index 2f9b2210e7..322533f931 100644 --- a/docs/subnets/subnet-hyperparameters.md +++ b/docs/subnets/subnet-hyperparameters.md @@ -171,7 +171,7 @@ The number of blocks for the stake to become inactive for the purpose of epoch i The moving average of bonds. The higher bonds yield to higher dividends for validators. -See [Yuma Consensus: bonding mechanics](../yuma-consensus#bonding-mechanics). +See [Yuma Consensus: bonding mechanics](../learn/yuma-consensus#bonding-mechanics). ### BondsPenalty @@ -190,7 +190,7 @@ See [Yuma Consensus: bonding mechanics](../yuma-consensus#bonding-mechanics). **Description**: The magnitude of the penalty subtracted from weights for exceeding consensus, for a specific subnet. -See [Yuma Consensus: Penalizing out-of-consensus bonds](../yuma-consensus#penalizing-out-of-consensus-bonds). +See [Yuma Consensus: Penalizing out-of-consensus bonds](../learn/yuma-consensus#penalizing-out-of-consensus-bonds). ### BondsResetEnabled @@ -226,7 +226,7 @@ Determines whether or not bonds are reset-enabled. How long, in blocks, the consensus weights for a subnet remain time-lock encrypted, preventing weight-copying. -See [Commit Reveal](./commit-reveal) +See [Commit Reveal](../concepts/commit-reveal) ### CommitRevealWeightsEnabled @@ -242,7 +242,7 @@ See [Commit Reveal](./commit-reveal) **Description**: -Enables [Commit Reveal](./commit-reveal) +Enables [Commit Reveal](../concepts/commit-reveal) ### Difficulty @@ -294,7 +294,7 @@ The number of blocks after registration when a miner is protected from deregistr The consensus majority ratio: The weights set by validators who have lower normalized stake than Kappa are not used in calculating consensus, which affects ranks, which affect incentives. -the consensus threshold for bond-clipping during [Yuma Consensus](../yuma-consensus) +the consensus threshold for bond-clipping during [Yuma Consensus](../learn/yuma-consensus) ### LiquidAlphaEnabled @@ -310,7 +310,7 @@ the consensus threshold for bond-clipping during [Yuma Consensus](../yuma-consen **Description**: -Enables the [liquid alpha ](./consensus-based-weights) feature. +Enables the [liquid alpha ](../concepts/consensus-based-weights) feature. ### MaxAllowedValidators @@ -567,7 +567,7 @@ Maximum number of neuron registrations allowed per interval. Interval is `Adjust **Description**: Length of subnet tempo in blocks. -See [Emission](../emissions.md) +See [Emission](../learn/emissions.md) ### ToggleTransfer @@ -671,7 +671,7 @@ The following variables are global and/or can only be configured with `root` per The duration in blocks of the waiting period before a coldkey swap. -See [Rotate/Swap your Coldkey](./schedule-coldkey-swap) +See [Rotate/Swap your Coldkey](../keys/schedule-coldkey-swap) diff --git a/docs/subnets/understanding-subnets.md b/docs/subnets/understanding-subnets.md index c643eda022..6d1f1cb357 100644 --- a/docs/subnets/understanding-subnets.md +++ b/docs/subnets/understanding-subnets.md @@ -64,8 +64,6 @@ Run the `btcli subnet list` command with the Dynamic TAO-enabled `btcli` to view ... ``` -See: [Using Dynamic TAO](./index.md#using-dynamic-tao) - ## Price/rate of alpha tokens ### Ideal price @@ -107,7 +105,7 @@ Each block: - the subnet's alpha reserve (increasing available liquidity) - alpha outstanding (incentives for miners, validators, and subnet creators) -See [Emissions](../emissions.md). +See [Emissions](../learn/emissions.md). ## Decentralized evaluation of subnets @@ -119,7 +117,7 @@ In Dynamic TAO, the relative weight is determined organically according to the e In Dynamic TAO, Subnet Zero—or _Root Subnet_—is a special subnet. It is the only subnet that does not have its own $\alpha$ currency. No miners can register on subnet zero, and no validation work is performed. However validators can register, and $\tau$-holders can stake to those validators, as with any other subnet. This offers a mechanism for $\tau$-holders to stake $\tau$ into validators in a subnet-agnostic way. This works because the weight of a validator in a subnet includes both their share of that subnet's $\alpha$ and their share of TAO staked into the root subnet. -Over time, the emissions generated by TAO staked into Subnet Zero will decrease, relative to stake held in the alpha currency of active subnets. See [Note on evolution of Bittensor token economy](../emissions.md#note-on-evolution-of-bittensor-token-economy). +Over time, the emissions generated by TAO staked into Subnet Zero will decrease, relative to stake held in the alpha currency of active subnets. See [Note on evolution of Bittensor token economy](../learn/emissions.md#note-on-evolution-of-bittensor-token-economy). ## Validator stake weight diff --git a/docs/subnets/working-with-subnets.md b/docs/subnets/working-with-subnets.md index 761a6114b8..8aa8dbfee6 100644 --- a/docs/subnets/working-with-subnets.md +++ b/docs/subnets/working-with-subnets.md @@ -4,10 +4,10 @@ title: "Working with Subnets" # Working with Subnets -Subnets are composed of a discrete number of UIDs. The subnet validators and subnet miners are associated with these UIDs. Each UID in the subnet belongs to a unique [hotkey](../getting-started/wallets.md#coldkey-and-hotkey) which in turn is connected to a unique **coldkey** which was used during registration. The Yuma Consensus runs on these UIDs. This section presents a few examples showing how to work with subnets. +Subnets are composed of a discrete number of UIDs. The subnet validators and subnet miners are associated with these UIDs. Each UID in the subnet belongs to a unique [hotkey](../keys/wallets.md#what-are-wallets-and-keys) which in turn is connected to a unique **coldkey** which was used during registration. The Yuma Consensus runs on these UIDs. This section presents a few examples showing how to work with subnets. -Transfer is transfer from cold to cold -Registration takes tao from cold +Transfer is transfer from cold to cold +Registration takes tao from cold Hotkey Tao movement is only stake add and remove and it’s loaded by emissions while mining Root delegation/undelegation is hotkey Tao movement to a strangers hotkey and it’s loaded by the activities of the strangers emission validation activities @@ -15,7 +15,7 @@ Root delegation/undelegation is hotkey Tao movement to a strangers hotkey and it Show all currently running subnets on Bittensor: -```bash +```bash btcli subnets list ``` @@ -41,7 +41,6 @@ assert subnet.uids.tolist() == [ 0, 1, 2, ... 1022, 1023 ] ## Extracting UID information - ```python import bittensor as bt subnet = bt.metagraph( netuid = 1 ) @@ -51,7 +50,7 @@ print ('uid', uid, ' owned by hotkey:', subnet.hotkeys[ uid ], 'associated with ## Viewing parameters -The below code prints stake `S` on the subnet and the weights `W` set by the subnet validators in the subnet. +The below code prints stake `S` on the subnet and the weights `W` set by the subnet validators in the subnet. ```python numbered dark import bittensor as bt @@ -62,7 +61,7 @@ print ('subnet 1 validator weights', subnet.W ) ## Viewing dividends -The below code prints the subnet validator dividends, `D`. +The below code prints the subnet validator dividends, `D`. ```python import bittensor as bt diff --git a/docs/subtensor-nodes/subtensor-rate-limits.md b/docs/subtensor-nodes/subtensor-rate-limits.md index e80734e3fb..c662b9502d 100644 --- a/docs/subtensor-nodes/subtensor-rate-limits.md +++ b/docs/subtensor-nodes/subtensor-rate-limits.md @@ -9,4 +9,4 @@ We strongly encourage you to run your own local lite node. If you must query an - Any OTF-provided lite node will rate limit the requests to one request per second, per IP address. Note that this rate limit may change dynamically based on the network or application requirements. - A request can be either WS/WSS or HTTP/HTTPS. - If you exceed the rate limit, you will receive 429 error code. You will then have to wait until the rate limit window has expired. -- You can avoid OTF-lite node rate limits by running your own local lite node. You can run a lite node either [Using Docker](./using-docker.md#run-a-lite-node-on-mainchain) or [Using Source](./using-source.md#lite-node-on-mainchain). +- You can avoid OTF-lite node rate limits by running your own local lite node. You can run a lite node either [Using Docker](./using-docker.md#using-lite-nodes) or [Using Source](./using-source#lite-node-on-mainchain). diff --git a/docs/subtensor-nodes/using-docker.md b/docs/subtensor-nodes/using-docker.md index d3f50a3086..21f8a49df5 100644 --- a/docs/subtensor-nodes/using-docker.md +++ b/docs/subtensor-nodes/using-docker.md @@ -15,8 +15,6 @@ To run a subtensor node with Docker, follow the below steps. We have not tested subtensor node installation scripts on any cloud service. In addition, if you are using Runpod cloud service, then note that this service is already [containerized](https://docs.runpod.io/pods/overview). Hence, the only option available to you for Runpod is to install a subtensor node by [compiling from source](using-source.md). **Note that we have not tested any subtensor installation steps on Runpod.** ::: -If you are already running a subtensor node using Docker, then go directly to [Step 5 Prepare to Run ](#step-5-prepare-to-run). The below steps 1 through 4 are for first time users only. - ## Prerequisites Before you begin, make sure you have installed the following on your machine: diff --git a/docs/subnets/child-hotkeys.md b/docs/validators/child-hotkeys.md similarity index 91% rename from docs/subnets/child-hotkeys.md rename to docs/validators/child-hotkeys.md index 9f2bf7d4bb..3df8686e0f 100644 --- a/docs/subnets/child-hotkeys.md +++ b/docs/validators/child-hotkeys.md @@ -7,12 +7,10 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Child Hotkeys -This guide describes the **child hotkeys** feature and how to use it. With the child hotkeys, a subnet validator is no longer required to use the same delegate hotkey for every subnet they validate in. The subnet validator can use a separate **child hotkey** per subnet. The subnet validator does this by re-delegating a portion of their stake from their delegate hotkey to this separate child hotkey on a subnet. The originating delegate hotkey is called the **parent hotkey**. +This guide describes the **child hotkeys** feature and how to use it. With the child hotkeys, a subnet validator is no longer required to use the same delegate hotkey for every subnet they validate in. The subnet validator can use a separate **child hotkey** per subnet. The subnet validator does this by re-delegating a portion of their stake from their delegate hotkey to this separate child hotkey on a subnet. The originating delegate hotkey is called the **parent hotkey**. The owner of this child hotkey would then validate in the subnet on behalf of the parent hotkey. The child hotkey would receive a percentage `take` from the resulting dividends. - -
      -See the above diagram. Without the child hotkeys, a subnet validator's delegate hotkey would have to sign all the validation operations in all the subnets. This exposes the delegate hotkey in all the subnets. An attacker can get hold of the delegate hotkey from any one subnet in order to take over the validation operations with this hotkey, thereby crippling this subnet validator in all their subnets across the entire Bittensor network. +See the above diagram. Without the child hotkeys, a subnet validator's delegate hotkey would have to sign all the validation operations in all the subnets. This exposes the delegate hotkey in all the subnets. An attacker can get hold of the delegate hotkey from any one subnet in order to take over the validation operations with this hotkey, thereby crippling this subnet validator in all their subnets across the entire Bittensor network.
      - See the above diagram. With the child hotkeys, if an attacker steals a child hotkey, then only those subnets are at risk where this child hotkey is used as the delegate hotkey. -## Benefits of child hotkeys +## Benefits of child hotkeys - **Security for parent hotkeys**: Re-delegating stake to multiple child hotkeys enhances the security of the parent hotkey. Each child hotkey can validate on a specific subnet using a different machine. The child hotkey would sign the validation operations on behalf of the parent hotkey: There is no need to use the parent hotkey on any of these subnets. As a consequence, the exposure of the parent hotkey can be minimized. The parent hotkey can even be moved to a secure location until it is needed, for example, to revoke a child hotkey. - **Validators can easily scale up**: As Bittensor scales up towards hundreds of subnets, it is not practical for a single delegate to validate in every single subnet. With child hotkeys, a validator can easily make this feasible by re-delegating and offloading the validating operations to multiple child hotkeys. - **Increased bandwidth for a subnet owner**: A validator can also re-delegate to a subnet owner's hotkey. The subnet owner would then do the validation work on the subnet, in exchange for a percentage `take` from the resulting dividends. A subnet owner can increase their access bandwidth into their own subnet in this way. - A child hotkey and a parent hotkey need not be owned by the same entity. -- A validator can re-delegate to a hotkey of any other validator on any subnet. After re-delegation, the hotkey that is the source of the stake is called **parent hotkey** and the hotkey that receives this re-delegated stake is called **child hotkey**. +- A validator can re-delegate to a hotkey of any other validator on any subnet. After re-delegation, the hotkey that is the source of the stake is called **parent hotkey** and the hotkey that receives this re-delegated stake is called **child hotkey**. :::tip "Child hotkey" and "parent hotkey" are terms of convenience The terms "child hotkey" and "parent hotkey" are only terms of convenience. There is nothing inherently different about a "child hotkey" that separates it from a "parent hotkey". Neither have any special attributes compared to a normal hotkey. ::: @@ -59,25 +56,26 @@ See the above diagram. With the child hotkeys, if an attacker steals a child hot The child hotkey features are as follows: -- A hotkey must be registered on a subnet before it can be used as a parent hotkey. The hotkey can be registered on any subnet. +- A hotkey must be registered on a subnet before it can be used as a parent hotkey. The hotkey can be registered on any subnet. - A parent hotkey can have multiple child hotkeys. Similarly, a child hotkey can have more than one parent hotkey. - A child hotkey can exist as a registered hotkey in multiple netuids simultaneously. -- **IMPORTANT**: For a given `netuid`, say, `netuid 5`, a single parent hotkey can have at most five (`5`) child hotkeys. Moreover, the same parent hotkey on a different `netuid 11` can have another set of `5` child hotkeys. Alternately, on this `netuid 11` the same parent hotkey can also have the same (`5`) child hotkeys that are in the netuid `5`. -- While setting the child hotkeys, the proportion field can have proportions that add to less than `1.0`. The proportion that was not assigned to the child hotkeys will remain with the parent hotkey. However, a proportion cannot be zero. A `0` proportion value will result in an error. Furthermore, in a given subnet, the sum of all proportions must not exceed `1.0`. +- **IMPORTANT**: For a given `netuid`, say, `netuid 5`, a single parent hotkey can have at most five (`5`) child hotkeys. Moreover, the same parent hotkey on a different `netuid 11` can have another set of `5` child hotkeys. Alternately, on this `netuid 11` the same parent hotkey can also have the same (`5`) child hotkeys that are in the netuid `5`. +- While setting the child hotkeys, the proportion field can have proportions that add to less than `1.0`. The proportion that was not assigned to the child hotkeys will remain with the parent hotkey. However, a proportion cannot be zero. A `0` proportion value will result in an error. Furthermore, in a given subnet, the sum of all proportions must not exceed `1.0`. ## Rate limits The following rate limits apply for child hotkeys: - A child hotkey's take rate can only be adjusted once per 30 days. -- One successful execution of `set_children` or `revoke_children` is allowed for every 720 blocks. +- One successful execution of `set_children` or `revoke_children` is allowed for every 720 blocks. ## Minimum stake The minimum stake you can redelegate to a child hotkey is as follows: + - **Testnet**: 100 testnet TAO. - **Mainnet**: 1000 TAO. - + --- ## Installing @@ -100,20 +98,21 @@ btcli stake set_children --netuid --children \ @@ -216,17 +215,18 @@ or ```bash btcli stake revoke_children ``` + and follow the prompts. ## Setting child hotkey take -This command sets the take percentage of the child hotkey for a given `netuid`. The `take` can be between `0` (0%) and `0.18` (18%). +This command sets the take percentage of the child hotkey for a given `netuid`. The `take` can be between `0` (0%) and `0.18` (18%). -A child hotkey's `take` is subnet-specific, i.e., a child hotkey can have one `take` in one `netuid` and a different `take` in another `netuid`. +A child hotkey's `take` is subnet-specific, i.e., a child hotkey can have one `take` in one `netuid` and a different `take` in another `netuid`. -The child hotkey take rate is an attribute of the child hotkey and this take rate applies to all the parent hotkeys for which this hotkey is the child hotkey. +The child hotkey take rate is an attribute of the child hotkey and this take rate applies to all the parent hotkeys for which this hotkey is the child hotkey. -The child hotkey can also set its delegate take separately from the child hotkey take. That is, a child hotkey can carry two separate take rates: the child hotkey take rate and the delegate take rate. For the delegate take rate, see [Set delegate take](../btcli.md#set-delegate-take). +The child hotkey can also set its delegate take separately from the child hotkey take. That is, a child hotkey can carry two separate take rates: the child hotkey take rate and the delegate take rate. For the delegate take rate, see [Set delegate take](../btcli/btcli.md#btcli-sudo-set-take). ### Usage @@ -242,7 +242,7 @@ btcli stake set_childkey_take \ - `--hotkey`: SS58. A single SS58 of the child hotkey. Note that this `--hotkey` parameter expects child hotkey whereas the `--hotkey` parameter of the [Setting a child hotkey](#parameters) expects parent hotkey. - `--take`: Floating. A value between `0` (0%) and `0.18` (18%). Default value is `0`. -- `--netuid`: Integer. The `netuid` in which this child hotkey's `take` is applicable. Note that a child hotkey's `take` is subnet-specific, i.e., a child hotkey can have one `take` in one `netuid` and a different `take` in another `netuid`. +- `--netuid`: Integer. The `netuid` in which this child hotkey's `take` is applicable. Note that a child hotkey's `take` is subnet-specific, i.e., a child hotkey can have one `take` in one `netuid` and a different `take` in another `netuid`. ### Example @@ -267,7 +267,6 @@ btcli stake get_childkey_take \ --wallet.name ``` - ### Example ```bash diff --git a/docs/validators/index.md b/docs/validators/index.md index 1e7a4e27e2..20490592cb 100644 --- a/docs/validators/index.md +++ b/docs/validators/index.md @@ -7,7 +7,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Validating in Bittensor -All validating in Bittensor occurs within a subnet. Each subnet independently produces the digital commodities that are its purpose, with each subnet creator defining a different _incentive mechanism_ for validators to use in judging miners' work. The validator's work is to apply this incentive mechanism to miners, using it to score their performance, and then to submit these weights to the Bittensor blockchain.  The validator scores of miners' performance determine the proportion of the subnet's emissions allocated to each miner, according to the Yuma Consensus algorithm. See [Emissions](../emissions.md). +All validating in Bittensor occurs within a subnet. Each subnet independently produces the digital commodities that are its purpose, with each subnet creator defining a different _incentive mechanism_ for validators to use in judging miners' work. The validator's work is to apply this incentive mechanism to miners, using it to score their performance, and then to submit these weights to the Bittensor blockchain.  The validator scores of miners' performance determine the proportion of the subnet's emissions allocated to each miner, according to the Yuma Consensus algorithm. See [Emissions](../learn/emissions.md). Browse the subnets and explore links to their code repositories on [TAO.app' subnets listings](https://tao.app). @@ -222,7 +222,7 @@ After providing your wallet name at the prompt, you will see output like: ### Meaning of ACTIVE -In the above table, the `ACTIVE` row applies only to UIDs that are subnet validators. It shows whether the UID is actively setting weights within the [`activity_cutoff`](../subnets/subnet-hyperparameters#activity_cutoff) window. If the UID has not set weights on the blockchain for the `activity_cutoff` duration, then the Yuma Consensus will consider this subnet validator offline, i.e., turned off (`False`). +In the above table, the `ACTIVE` row applies only to UIDs that are subnet validators. It shows whether the UID is actively setting weights within the [`activity_cutoff`](../subnets/subnet-hyperparameters#activitycutoff) window. If the UID has not set weights on the blockchain for the `activity_cutoff` duration, then the Yuma Consensus will consider this subnet validator offline, i.e., turned off (`False`). ## Checking the registration status diff --git a/docs/validators/validators-btcli-guide.md b/docs/validators/validators-btcli-guide.md index 98e6ec4f8a..c100c9207c 100644 --- a/docs/validators/validators-btcli-guide.md +++ b/docs/validators/validators-btcli-guide.md @@ -7,30 +7,32 @@ title: "Validator's Guide to `BTCLI`" Validators evaluate miner performance, and post their evaluations to the blockchain. This page discusses considerations specific to validators when using `btcli`. :::note Transaction Fees -Certain validator operations incur transaction fees. See [Transaction Fees in Bittensor](../fees.md) for details. +Certain validator operations incur transaction fees. See [Transaction Fees in Bittensor](../learn/fees.md) for details. ::: -For general coverage of `btcli` permissions and requirements, see: [Bittensor CLI: Permissions Guide](../btcli-permissions) +For general coverage of `btcli` permissions and requirements, see: [Bittensor CLI: Permissions Guide](../btcli/btcli-permissions) -See also: [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security). +See also: [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security). :::tip tips It is highly recommended to use a unique hotkey per subnet. -Note that hotkeys are not encrypted by default, but can be password [optionally encrypted](../working-with-keys#encrypting-the-hotkey). +Note that hotkeys are not encrypted by default, but can be password [optionally encrypted](../keys/working-with-keys#encrypting-the-hotkey). ::: ## Requirements for validator functions ### Unpermissioned workstation (public keys only): + - Check balances - Monitor emissions and other metagraph info - Check subnet alpha prices across Bittensor ### Coldkey workstation: + - Create/import coldkey - Manage TAO and alpha stake -- Create and register a hotkey on a secure coldkey workstation then transfer the hotkey file or mnemonic to the validator workstation: `btcli wallet new-hotkey` , `btcli wallet regen-hotkey` +- Create and register a hotkey on a secure coldkey workstation then transfer the hotkey file or mnemonic to the validator workstation: `btcli wallet new-hotkey` , `btcli wallet regen-hotkey` - Transfer/rotate TAO and alpha stake in case of key compromise - Rotate hotkeys in case of compromise - Register a hotkey on a subnet with `btcli subnets register`, `btcli subnets pow-register` @@ -40,9 +42,9 @@ Note that hotkeys are not encrypted by default, but can be password [optionally These require a hotkey with an active validator permit on the subnet. Run in a live environment (the validator node), which is a hotkey workstation. -- `btcli weights reveal`, `btcli weights commit` -- `btcli wt reveal`, `btcli wt commit` -- `btcli weight reveal`, `btcli weight commit` +- `btcli weights reveal`, `btcli weights commit` +- `btcli wt reveal`, `btcli wt commit` +- `btcli weight reveal`, `btcli weight commit` ### Weight-setting requirements @@ -52,5 +54,4 @@ To set weights, a validator must meet several requirements. See [Requirements fo If you suspect your coldkey may have been leaked, you can request to swap it out of your wallet, using an extrinsic blockchain transaction. This operation has a 5 day waiting period, during which your coldkey will be locked. The cost of this coldkey swap transaction is 0.1 TAO. -See [Rotate/Swap your Coldkey](../subnets/schedule-coldkey-swap) - +See [Rotate/Swap your Coldkey](../keys/schedule-coldkey-swap) diff --git a/docusaurus.config.js b/docusaurus.config.js index dfc319b768..3294e41898 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -18,6 +18,7 @@ const config = { title: "Bittensor", tagline: "Developer Documentation", favicon: "img/favicon.ico", + trailingSlash: false, // Set the production url of your site here url: "https://docs.learnbittensor.org", // Set the // pathname under which your site is served @@ -98,7 +99,7 @@ const config = { }, { from: "/recycled-tao", - to: "/glossary", + to: "/resources/glossary", }, { to: "/subnets/walkthrough-prompting", @@ -113,15 +114,15 @@ const config = { from: "/subnet-pages", }, { - to: "/subnets/schedule-coldkey-swap", + to: "/keys/schedule-coldkey-swap", from: "/schedule-key-swap", }, { - to: "/subnets/schedule-coldkey-swap", + to: "/keys/schedule-coldkey-swap", from: "/subnets/schedule-key-swap", }, { - to: "/bt-api-ref", + to: "/sdk/bt-api-ref", from: "/reference/bittensor-api-ref", }, { @@ -210,7 +211,7 @@ const config = { { position: "left", label: "Bittensor SDK Reference", - to: "bt-api-ref", + to: "sdk/bt-api-ref", }, { position: "left", @@ -229,7 +230,7 @@ const config = { className: "custom_algolia", }, { - to: "bittensor-rel-notes", + to: "resources/bittensor-rel-notes", label: "Releases", position: "left", }, diff --git a/sidebars.js b/sidebars.js index a52a82341b..b4d27ef213 100644 --- a/sidebars.js +++ b/sidebars.js @@ -23,7 +23,7 @@ const sidebars = { "index", { type: "doc", - id: "bittensor-rel-notes", + id: "resources/bittensor-rel-notes", label: "Releases", }, "btcli/btcli-playground", @@ -35,16 +35,16 @@ const sidebars = { collapsed: true, items: [ "learn/introduction", - "questions-and-answers", + "resources/questions-and-answers", "subnets/understanding-subnets", "learn/neurons", "learn/anatomy-of-incentive-mechanism", - "emissions", + "learn/emissions", "learn/ema", - "yuma-consensus", - "subnets/yc3-blog", - "fees", - "community-links", + "learn/yuma-consensus", + "learn/yc3-blog", + "learn/yuma3-migration-guide", + "learn/fees", ], }, { @@ -55,7 +55,7 @@ const sidebars = { link: { type: "doc", id: "staking-and-delegation/delegation" }, items: [ "staking-and-delegation/delegation", - "staking-and-delegation/stakers-btcli-guide", + "staking-and-delegation/stakers-btcli-guide", "staking-and-delegation/managing-stake-btcli", "staking-and-delegation/managing-stake-sdk", "learn/price-protection", @@ -81,7 +81,7 @@ const sidebars = { link: { type: "doc", id: "validators/index" }, items: [ "validators/index", - "subnets/child-hotkeys", + "validators/child-hotkeys", "validators/validators-btcli-guide", ], }, @@ -109,7 +109,6 @@ const sidebars = { "subnets/walkthrough-prompting", "tutorials/basic-subnet-tutorials", "tutorials/ocr-subnet-tutorial", - "subnets/yuma3-migration-guide", ], }, { @@ -121,8 +120,8 @@ const sidebars = { items: [ "getting-started/install-btcli", "btcli/btcli-playground", - "btcli-permissions", - "btcli", + "btcli/btcli-permissions", + "btcli/btcli", "staking-and-delegation/managing-stake-btcli", ], }, @@ -134,10 +133,10 @@ const sidebars = { items: [ "getting-started/installation", "sdk/env-vars", - "bt-api-ref", + "sdk/bt-api-ref", "sdk/subtensor-api", "getting-started/install-wallet-sdk", - "migration_guide", + "sdk/migration-guide", "subnets/asyncio", "sdk/managing-subtensor-connections", ], @@ -149,26 +148,26 @@ const sidebars = { collapsible: true, collapsed: true, items: [ - "getting-started/wallets", + "keys/wallets", "keys/handle-seed-phrase", - "getting-started/coldkey-hotkey-security", - "working-with-keys", + "keys/coldkey-hotkey-security", + "keys/working-with-keys", "keys/multisig", - "subnets/schedule-coldkey-swap", + "keys/schedule-coldkey-swap", ], }, { type: "category", label: "Tools and Special Features", - link: { type: "doc", id: "tools" }, + link: { type: "doc", id: "concepts/tools" }, collapsible: true, collapsed: true, items: [ - "bittensor-networks", - "subnets/commit-reveal", - "subnets/consensus-based-weights", - "subnets/bt-logging-levels", - "utilities", + "concepts/bittensor-networks", + "concepts/commit-reveal", + "concepts/consensus-based-weights", + "concepts/bt-logging-levels", + "resources/utilities", ], }, @@ -250,7 +249,11 @@ const sidebars = { label: "Governance", collapsible: true, collapsed: true, - items: ["governance", "senate", "governance/senators-btcli-guide"], + items: [ + "governance/governance", + "governance/senate", + "governance/senators-btcli-guide", + ], }, { type: "category", @@ -271,11 +274,12 @@ const sidebars = { "errors/index", "errors/custom", "errors/subtensor", - "errors-and-troubleshooting", + "errors/troubleshooting", ], }, - "media-assets", - "glossary", + "resources/glossary", + "resources/community-links", + "resources/media-assets", ], }; From 03172f5fa09d4fae34be9b8009dba3bb2fb8aecc Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 9 Sep 2025 01:26:38 +0100 Subject: [PATCH 211/303] wip --- docs/errors/custom.md | 20 ++++++++++ docs/errors/subtensor.md | 84 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 100 insertions(+), 4 deletions(-) diff --git a/docs/errors/custom.md b/docs/errors/custom.md index 725ad61b3c..2129193f5d 100644 --- a/docs/errors/custom.md +++ b/docs/errors/custom.md @@ -100,6 +100,26 @@ Related: **Error**: `ZeroMaxAmount` **Description**: The executable amount must be greater than zero. +### Error Code 15 + +**Error**: `InvalidRevealRound` +**Description**: The executable amount must be greater than zero. + +### Error Code 16 + +**Error**: `CommitNotFound` +**Description**: The executable amount must be greater than zero. + +### Error Code 17 + +**Error**: `CommitBlockNotInRevealRange` +**Description**: The executable amount must be greater than zero. + +### Error Code 18 + +**Error**: `InputLengthsUnequal` +**Description**: Attempted to batch reveal weights with mismatched vector input lenghts. + ### Error Code 255 **Error**: `BadRequest` diff --git a/docs/errors/subtensor.md b/docs/errors/subtensor.md index c3d5a5e6e0..800a81beec 100644 --- a/docs/errors/subtensor.md +++ b/docs/errors/subtensor.md @@ -6,12 +6,12 @@ title: "Subtensor Standard Errors" This page documents the standard errors that can arise from Subtensor, the blockchain underlying the Bittensor network. -Related: +Related: + - [Source code in GitHub](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/errors.rs) - [Subtensor Custom Errors](./custom.md) -- [Substrate Errors](https://polkadot.js.org/docs/substrate/errors/) - Errors from the underlying Substrate framework +- [Substrate Errors](https://polkadot.js.org/docs/substrate/errors/) - Errors from the underlying Substrate framework - ## Network and Subnet Errors ### `SubNetworkDoesNotExist` @@ -21,6 +21,7 @@ The specified subnet does not exist. ### `RootNetworkDoesNotExist` The root network does not exist. + ### `SubnetNotExists` @@ -42,11 +43,13 @@ Operation is not permitted on the root subnet. ### `AllNetworksInImmunity` All subnets are in the immunity period. + ### `MechanismDoesNotExist` Trying to register a subnet into a mechanism that does not exist. + ### `SubNetRegistrationDisabled` @@ -111,6 +114,10 @@ Public key cannot be recovered. Recovered public key is invalid. +### `HotKeySwapOnSubnetIntervalNotPassed` + +Attempting a hotkey swap on subnet too frequently. + ## Stake and Balance Errors ### `NotEnoughStake` @@ -185,6 +192,10 @@ Transaction slippage is above your limit. Transfers are disallowed on this subnet. +### `InsufficientBalance` + +The caller does not have enough balance for the operation. + ## Weight Setting Errors ### `NeuronNoValidatorPermit` @@ -271,6 +282,18 @@ Alpha high value is too low (> 0.8 required). Alpha low value is out of allowed range (0 < alpha_low < 0.8). +### `IncorrectCommitRevealVersion` + +Incorrect commit-reveal version. + +### `RevealPeriodTooLarge` + +Reveal period is too large. + +### `RevealPeriodTooSmall` + +Reveal period is too small. + ## Rate Limiting Errors ### `ServingRateLimitExceeded` @@ -301,6 +324,10 @@ Default transaction rate limit exceeded. Childkey take rate limit exceeded. +### `StakingOperationRateLimitExceeded` + +Attempting staking operations too frequently. + ## Registration and Network Management ### `TooManyRegistrationsThisBlock` @@ -355,12 +382,50 @@ Proportion overflow when setting children. ### `TooManyChildren` -Too many children. +Too many children. ### `InvalidChildkeyTake` Childkey take is invalid. +## Subnet Leasing Errors + +### `InvalidLeaseBeneficiary` + +Invalid lease beneficiary to register the leased network. + +### `LeaseCannotEndInThePast` + +Lease cannot end in the past. + +### `LeaseNetuidNotFound` + +Couldn't find the lease netuid. + +### `LeaseDoesNotExist` + +Lease does not exist. + +### `LeaseHasNoEndBlock` + +Lease has no end block. + +### `LeaseHasNotEnded` + +Lease has not ended. + +### `Overflow` + +An overflow occurred. + +### `BeneficiaryDoesNotOwnHotkey` + +Beneficiary does not own hotkey. + +### `ExpectedBeneficiaryOrigin` + +Expected beneficiary origin. + ## Other Errors ### `InvalidIpType` @@ -419,3 +484,14 @@ SubToken disabled. Invalid netuid duplication. +### `SymbolDoesNotExist` + +Symbol does not exist. + +### `SymbolAlreadyInUse` + +Symbol already in use. + +### `InvalidValue` + +Generic error for out-of-range parameter value From 8fbebf6484c5e14fbb71034a0eea7ae7a56adf0d Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 9 Sep 2025 12:54:16 +0100 Subject: [PATCH 212/303] added new errors --- docs/errors/custom.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/errors/custom.md b/docs/errors/custom.md index 2129193f5d..fab2aced6a 100644 --- a/docs/errors/custom.md +++ b/docs/errors/custom.md @@ -103,17 +103,17 @@ Related: ### Error Code 15 **Error**: `InvalidRevealRound` -**Description**: The executable amount must be greater than zero. +**Description**: The provided reveal round is outdated or invalid. ### Error Code 16 **Error**: `CommitNotFound` -**Description**: The executable amount must be greater than zero. +**Description**: The referenced validator commit does not exist. ### Error Code 17 **Error**: `CommitBlockNotInRevealRange` -**Description**: The executable amount must be greater than zero. +**Description**: The referenced commit cannot be revealed in the current block range. ### Error Code 18 From 2dd606c00f4fc92600e86b0aacd64b6a340592e2 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 9 Sep 2025 10:01:30 -0700 Subject: [PATCH 213/303] Document core files and functions in subtensor codebase related to emissions (#74) * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Apply suggestions from code review Co-authored-by: Maciej Kula * edits from review --------- Co-authored-by: Maciej Kula --- docs/learn/ema.md | 2 +- docs/learn/emissions.md | 20 +- docs/learn/yuma-consensus.md | 1 + .../emissions-coinbase.md | 307 ++++++++++ docs/navigating-subtensor/epoch.md | 554 ++++++++++++++++++ .../function-reference.md | 504 ++++++++++++++++ docs/navigating-subtensor/index.md | 52 ++ docs/navigating-subtensor/swap-stake.md | 184 ++++++ docs/validators/index.md | 13 +- sidebars.js | 14 + 10 files changed, 1643 insertions(+), 8 deletions(-) create mode 100644 docs/navigating-subtensor/emissions-coinbase.md create mode 100644 docs/navigating-subtensor/epoch.md create mode 100644 docs/navigating-subtensor/function-reference.md create mode 100644 docs/navigating-subtensor/index.md create mode 100644 docs/navigating-subtensor/swap-stake.md diff --git a/docs/learn/ema.md b/docs/learn/ema.md index bb43fa0543..7e4faaaa14 100644 --- a/docs/learn/ema.md +++ b/docs/learn/ema.md @@ -35,7 +35,7 @@ Note that this alpha parameter is distinct from and unrelated to the usage of 'a This use of EMA smoothing protects the network's economic model from price manipulation by making emissions extremely slow to respond to price changes. **How It Works**: -The price EMA uses a sophisticated dynamic alpha calculation to ensure that new subnets have even slower price adaptation than mature ones. +The price EMA uses a dynamic alpha calculation to ensure that new subnets have even slower price adaptation than mature ones. $$ \alpha = \frac{ \mathrm{base\_alpha} \times \mathrm{blocks\_since\_start}}{\mathrm{blocks\_since\_start} + \mathrm{halving\_blocks}} diff --git a/docs/learn/emissions.md b/docs/learn/emissions.md index dd37f5b2eb..c0679dcf8a 100644 --- a/docs/learn/emissions.md +++ b/docs/learn/emissions.md @@ -7,14 +7,24 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Emission -Emission is the process by which the Bittensor network allocates TAO and alpha to participants, including miners, validators, stakers, and subnet creators. +Emission is the economic heartbeat of Bittensor—the process that continuously distributes newly created [TAO](../resources/glossary.md#tao-τ) and subnet-specific alpha tokens to network participants who contribute value through [mining](../resources/glossary.md#subnet-miner), [validation](../resources/glossary.md#validator), [staking](../resources/glossary.md#staking), and [subnet creation](../resources/glossary.md#subnet-creator). -It unfolds in two stages: +## Understanding the Two-Stage Process -- Injection into subnets -- Extraction by participants +Bittensor's emission system operates through two coordinated stages that work together to ensure fair, market-driven distribution: -See the [Dynamic TAO White Paper](https://drive.google.com/file/d/1vkuxOFPJyUyoY6dQzfIWwZm2_XL3AEOx/view) for a full explanation. +### Stage 1: Injection into Subnets +Every [block](../resources/glossary.md#block), new liquidity flows into [subnet](../resources/glossary.md#subnet) pools based on market performance. [Subnets](../resources/glossary.md#subnet) with higher-value alpha tokens attract more TAO, creating a competitive marketplace for innovation. + +### Stage 2: Extraction by Participants +Every [tempo](../resources/glossary.md#tempo) (360 blocks, ~72 minutes), accumulated rewards are distributed to participants through [Yuma Consensus](../resources/glossary.md#yuma-consensus), which evaluates performance and determines who deserves what share. + +This two-stage approach creates stability while maintaining responsiveness—rewards accumulate gradually but are distributed based on demonstrated value creation. + +## Technical References +- **Implementation Details**: [Coinbase Implementation](../navigating-subtensor/emissions-coinbase.md) +- **Consensus Mechanics**: [Yuma Consensus](./yuma-consensus.md) +- **Mathematical Framework**: [Dynamic TAO White Paper](https://drive.google.com/file/d/1vkuxOFPJyUyoY6dQzfIWwZm2_XL3AEOx/view) ### Injection diff --git a/docs/learn/yuma-consensus.md b/docs/learn/yuma-consensus.md index d308a1ada7..20e002d74c 100644 --- a/docs/learn/yuma-consensus.md +++ b/docs/learn/yuma-consensus.md @@ -17,6 +17,7 @@ See: - [How Yuma Consensus 3 Makes Bittensor More Fair](./yc3-blog) - [Yuma Consensus 3 Migration Guide](./yuma3-migration-guide.md) - [Emissions](./emissions) +- [Epoch Implementation](../navigating-subtensor/epoch.md) - Implementation details - [Subtensor Docs: Yuma Consensus](https://github.com/opentensor/subtensor/blob/main/docs/consensus.md) ## Clipping diff --git a/docs/navigating-subtensor/emissions-coinbase.md b/docs/navigating-subtensor/emissions-coinbase.md new file mode 100644 index 0000000000..8feb443108 --- /dev/null +++ b/docs/navigating-subtensor/emissions-coinbase.md @@ -0,0 +1,307 @@ +--- +title: "Coinbase Implementation" +--- + +# Coinbase Implementation + +This document provides a technical deep dive into the `run_coinbase()` function that orchestrates [TAO](../resources/glossary.md#tao-τ) and alpha [emission](../resources/glossary.md#emission) distribution across [subnets](../resources/glossary.md#subnet). The coinbase mechanism serves as Bittensor's economic heartbeat, connecting [subnet validators](../resources/glossary.md#validator), [subnet miners](../resources/glossary.md#subnet-miner), and [stakers](../resources/glossary.md#staking) through emission distribution. + +For conceptual understanding of emission mechanisms, see [Emissions](../learn/emissions.md). + +The coinbase mechanism orchestrates Bittensor's tokenomic engine, running every 12-second [block](../resources/glossary.md#block) to ensure continuous flow of liquidity into the network. + +Every block, the coinbase mechanism performs three critical functions: + +1. **Liquidity Injection**: Adds TAO and subnet-specific alpha tokens to each subnet's liquidity pools. +2. **Accumulation**: Builds up pending [emissions](../resources/glossary.md#emission) (also known as "alpha outstanding") bound for distribution to [subnet miners](../resources/glossary.md#subnet-miner) and [validators](../resources/glossary.md#validator) during the next [epoch](../resources/glossary.md#tempo). +3. **Consensus Triggering**: Initiates each subnet's [Yuma Consensus](../resources/glossary.md#yuma-consensus) epochs, the process that distributes emissions to participants within each subnet. Epochs are staggered to avoid overloading the blockchain with the computation involved. + +For broader conceptual understanding of emission mechanisms, see [Emissions](../learn/emissions.md). + +## Core Function: `run_coinbase()` + +**Location**: [`run_coinbase.rs`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/coinbase/run_coinbase.rs) + +```rust +pub fn run_coinbase(block_emission: U96F32) +``` + +**Parameters**: +- `block_emission`: Total TAO to distribute across all subnets this block. Currently 1 $\tau$, this amount will follow a halving schedule. + +The function implements a multistep process that handles liquidity injection, reward accumulation, epoch triggering, and EMA updates. + +## Implementation Flow + +### 1. Subnet Discovery and Filtering + +The process begins with identifying subnets eligible for emissions, applying filters to ensure only active, established subnets participate in the reward distribution. + +```rust +// Get all netuids (filter out root) +let subnets: Vec = Self::get_all_subnet_netuids() + .into_iter() + .filter(|netuid| *netuid != NetUid::ROOT) + .collect(); + +// Filter out subnets with no first emission block number +let subnets_to_emit_to: Vec = subnets + .clone() + .into_iter() + .filter(|netuid| FirstEmissionBlockNumber::::get(*netuid).is_some()) + .collect(); +``` + +**Subnet Eligibility Rules:** +- **[Root Subnet](../resources/glossary.md#root-subnetsubnet-zero) Exclusion**: [Subnet Zero](../resources/glossary.md#root-subnetsubnet-zero) operates differently—it has no [subnet miners](../resources/glossary.md#subnet-miner) and serves as a TAO staking pool for [delegates](../resources/glossary.md#delegate), so it's excluded from direct alpha emissions +- **Emission Readiness**: Only subnets that have been started (and hence been assigned a `FirstEmissionBlockNumber`) receive emissions. +### 2. Emission Allocation to Subnets + +Each subnet's share of the block's TAO emission depends on its alpha token's price, smoothed with an [exponential moving average (EMA)](../learn/ema) function to prevent price manipulation while maintaining market responsiveness. + +```rust +let mut total_moving_prices = U96F32::saturating_from_num(0.0); +for netuid_i in subnets_to_emit_to.iter() { + total_moving_prices = total_moving_prices + .saturating_add(Self::get_moving_alpha_price(*netuid_i)); +} +``` + +**EMA Price Smoothing Implementation:** +The moving price for each subnet is calculated using a custom [EMA](../learn/ema) that adapts its responsiveness based on subnet maturity. This creates a **double-smoothing effect**: new subnets have extremely slow price adaptation (preventing launch manipulation), while mature subnets respond more quickly to legitimate market signals. + +**Price-Driven Distribution:** +Each subnet receives TAO emissions proportional to its EMA-smoothed alpha token price: + +$$ +\text{tao\_allocation}_i = \text{block\_emission} \times \frac{\text{moving\_price}_i}{\sum_{j} \text{moving\_price}_j} +$$ + +**EMA Update Timing:** The EMA is updated **after** being used for emission calculations in each `run_coinbase()` call ([Line 246](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/coinbase/run_coinbase.rs#L246)), ensuring that current block emissions are based on the previous block's smoothed prices while continuously updating the moving average for future calculations. + +### 3. Token Pool Injections and Emissions + +For each subnet, the coinbase calculates critical values that govern the subnet's token economics and determine how fresh liquidity flows into the system. + +#### TAO In (`tao_in`): Fresh Liquidity Injection +- Represents new TAO flowing into the subnet's liquidity pool +- Calculated from the subnet's proportional share of block emissions +- May be reduced through the subsidy mechanism to maintain price stability + +#### Alpha In (`alpha_in`): Liquidity Pool Balance +- Alpha tokens injected to maintain healthy AMM pool ratios +- Ensures the TAO injection doesn't create excessive [slippage](../resources/glossary.md#slippage) for [stakers](../resources/glossary.md#staking) +- Calculated as: `tao_in / current_price` during normal operations + +#### Alpha Out (`alpha_out`): Participant Emissions +- Alpha tokens emitted for distribution to [miners](../resources/glossary.md#subnet-miner) and [subnet validators](../resources/glossary.md#validator) +- Represents the subnet's emission budget for [incentives](../resources/glossary.md#incentives) and validator dividends +- Forms the reward pool that will be processed during [epochs](../resources/glossary.md#tempo) + +#### Subsidy Mechanism + +When a subnet's alpha price falls below its expected emission proportion, the mechanism automatically intervenes to maintain market stability: +1. **Price Neutral Injection**: Downscales both TAO and ALPHA injected to provide a price neutral injection +2. **Market Making**: Uses the excess TAO for buying pressure on alpha tokens + +This encourages alpha prices to move towards their emission ratio, or to encourage the sum of prices to be at/above 1. + +```rust +for netuid_i in subnets_to_emit_to.iter() { + let price_i = T::SwapInterface::current_alpha_price((*netuid_i).into()); + let moving_price_i: U96F32 = Self::get_moving_alpha_price(*netuid_i); + + let default_tao_in_i: U96F32 = block_emission + .saturating_mul(moving_price_i) + .checked_div(total_moving_prices) + .unwrap_or(asfloat!(0.0)); + + let alpha_emission_i: U96F32 = asfloat!( + Self::get_block_emission_for_issuance( + Self::get_alpha_issuance(*netuid_i).into() + ).unwrap_or(0) + ); + + + let tao_in_ratio: U96F32 = default_tao_in_i.safe_div_or( + U96F32::saturating_from_num(block_emission), + U96F32::saturating_from_num(0.0), + ); + + if price_i < tao_in_ratio { + tao_in_i = price_i.saturating_mul(block_emission); + alpha_in_i = block_emission; + let difference_tao: U96F32 = default_tao_in_i.saturating_sub(tao_in_i); + + let buy_swap_result = Self::swap_tao_for_alpha( + *netuid_i, + tou64!(difference_tao).into(), + T::SwapInterface::max_price().into(), + true, // skip fees + ); + } else { + // Normal operation + tao_in_i = default_tao_in_i; + alpha_in_i = tao_in_i.safe_div_or(price_i, alpha_emission_i); + } +} +``` + +### 4. Liquidity Pool Updates + +The coinbase updates each subnet's liquidity pools. + + +**Critical State Updates:** +- **`SubnetAlphaIn`**: Alpha reserves backing the AMM, enabling liquid [staking](../resources/glossary.md#staking) and unstaking operations. +- **`SubnetAlphaOut`**: Accumulated emissions and/or ALPHA outside the pool (ALPHA emissions + ALPHA taken out from pool). +- **`SubnetTAO`**: TAO reserves backing the AMM, providing price stability and liquidity for unstaking. +- **`TotalIssuance`**: Global TAO supply (see [Issuance](../resources/glossary.md#issuance)). + +```rust +for netuid_i in subnets_to_emit_to.iter() { + // Inject Alpha in (AMM liquidity) + let alpha_in_i = AlphaCurrency::from( + tou64!(*alpha_in.get(netuid_i).unwrap_or(&asfloat!(0))) + ); + SubnetAlphaIn::::mutate(*netuid_i, |total| { + *total = total.saturating_add(alpha_in_i); + }); + + // Inject Alpha outstanding + let alpha_out_i = AlphaCurrency::from( + tou64!(*alpha_out.get(netuid_i).unwrap_or(&asfloat!(0))) + ); + SubnetAlphaOut::::mutate(*netuid_i, |total| { + *total = total.saturating_add(alpha_out_i); + }); + + // Inject TAO in (AMM liquidity) + let tao_in_i: TaoCurrency = + tou64!(*tao_in.get(netuid_i).unwrap_or(&asfloat!(0))).into(); + SubnetTAO::::mutate(*netuid_i, |total| { + *total = total.saturating_add(tao_in_i.into()); + }); + + // Update global TAO supply tracking + TotalIssuance::::mutate(|total| { + *total = total.saturating_add(tao_in_i.into()); + }); + + // Notify AMM of new liquidity + T::SwapInterface::adjust_protocol_liquidity(*netuid_i, tao_in_i, alpha_in_i); +} +``` + +### 5. Subnet Owner Emissions + +Before distributing rewards to [miners](../resources/glossary.md#subnet-miner) and [subnet validators](../resources/glossary.md#validator), the system allocates a percentage to [subnet owners](../resources/glossary.md#subnet-creator). + +[Subnet owners](../resources/glossary.md#subnet-creator) receive 18% of alpha emissions. The subnet owner cut is calculated before other distributions so that the owner cut can be passed to `drain_pending_emission` (there was a bug before where the owner cut was incorrectly calculated after). Subnet owner emissions accumulate in `PendingOwnerCut` until the next [epoch](../resources/glossary.md#tempo). + + +```rust +let cut_percent: U96F32 = Self::get_float_subnet_owner_cut(); // Default: ~18% +let mut owner_cuts: BTreeMap = BTreeMap::new(); + +for netuid_i in subnets_to_emit_to.iter() { + let alpha_out_i: U96F32 = *alpha_out.get(netuid_i).unwrap_or(&asfloat!(0)); + let owner_cut_i: U96F32 = alpha_out_i.saturating_mul(cut_percent); + + owner_cuts.insert(*netuid_i, owner_cut_i); + alpha_out.insert(*netuid_i, alpha_out_i.saturating_sub(owner_cut_i)); + + PendingOwnerCut::::mutate(*netuid_i, |total| { + *total = total.saturating_add(tou64!(owner_cut_i).into()); + }); +} +``` + + +### 6. Calculating Root Proportion + +The root proportion on each subnet determines how much of the dividends (41% of ALPHA emissions) are being sold for each block and being distributed to stakers on root. + +$$ +\text{root\_proportion} = \frac{\text{root\_tao} \times \text{tao\_weight}}{\text{root\_tao} \times \text{tao\_weight} + \text{alpha\_issuance}} +$$ + +Where: +- `root_tao`: Total TAO [staked](../resources/glossary.md#staking) in [Root Subnet](../resources/glossary.md#root-subnetsubnet-zero) +- `tao_weight`: Global parameter ([TAO Weight](../resources/glossary.md#tao-weight)) determining TAO vs alpha influence +- `alpha_issuance`: Total alpha tokens for this specific subnet + + +```rust +for netuid_i in subnets_to_emit_to.iter() { + let alpha_out_i: U96F32 = *alpha_out.get(netuid_i).unwrap_or(&asfloat!(0.0)); + let root_tao: U96F32 = asfloat!(SubnetTAO::::get(NetUid::ROOT)); + let alpha_issuance: U96F32 = asfloat!(Self::get_alpha_issuance(*netuid_i)); + let tao_weight: U96F32 = root_tao.saturating_mul(Self::get_tao_weight()); + + // Calculate root subnet's proportional share + let root_proportion: U96F32 = tao_weight + .checked_div(tao_weight.saturating_add(alpha_issuance)) + .unwrap_or(asfloat!(0.0)); + + // 50% of proportional alpha goes to root validators + let root_alpha: U96F32 = root_proportion + .saturating_mul(alpha_out_i) + .saturating_mul(asfloat!(0.5)); + + let pending_alpha: U96F32 = alpha_out_i.saturating_sub(root_alpha); + + // Convert root alpha to TAO through AMM (if not subsidized) + // If the subnet is subsidized by the Subsidy Mechanism then no ALPHA will be sold - so the dividends for root are stopped. + if !subsidized { + let swap_result = Self::swap_alpha_for_tao( + *netuid_i, + tou64!(root_alpha).into(), + T::SwapInterface::min_price().into(), + true, // skip fees + ); + + if let Ok(ok_result) = swap_result { + PendingRootDivs::::mutate(*netuid_i, |total| { + *total = total.saturating_add(ok_result.amount_paid_out.into()); + }); + } + } + + PendingEmission::::mutate(*netuid_i, |total| { + *total = total.saturating_add(tou64!(pending_alpha).into()); + }); +} +``` + + +### 7. Epoch Execution + +When each subnet's [tempo](../resources/glossary.md#tempo) interval completes, the coinbase triggers execution of its Yuma Consensus *epoch*. Epochs execute when `(block_number + netuid + 1) % (tempo + 1) == 0`, creating a predictable, staggered schedule of epoch execution. + +The coinbase passes accumulated emissions to `drain_pending_emission()`, which executes the [full Yuma Consensus algorithm](./epoch.md) including validator weight processing, consensus calculation, bond updates, and final emission distribution to participants. + +For detailed implementation of the consensus mechanism, validator weight processing, and emission distribution, see [Epoch Implementation](./epoch.md). + +```rust +for &netuid in subnets.iter() { + // Process matured commit-reveal weight submissions + if let Err(e) = Self::reveal_crv3_commits(netuid) { + log::warn!("Failed to reveal commits for subnet {netuid} due to error: {e:?}"); + } + + if Self::should_run_epoch(netuid, current_block) { + // Reset epoch timing and collect accumulated emissions + BlocksSinceLastStep::::insert(netuid, 0); + LastMechansimStepBlock::::insert(netuid, current_block); + + // Execute Yuma Consensus with accumulated rewards + Self::drain_pending_emission(netuid, pending_alpha, pending_tao, pending_swapped, owner_cut); + } else { + BlocksSinceLastStep::::mutate(netuid, |total| *total = total.saturating_add(1)); + } +} +``` + + + diff --git a/docs/navigating-subtensor/epoch.md b/docs/navigating-subtensor/epoch.md new file mode 100644 index 0000000000..bddd87142f --- /dev/null +++ b/docs/navigating-subtensor/epoch.md @@ -0,0 +1,554 @@ +--- +title: "Implementation of the Yuma Consensus Epoch" +--- + +# Implementation of the Yuma Consensus Epoch + +If [Yuma Consensus (YC](../resources/glossary.md#yuma-consensus) is the heart of Bittensor, the epoch is the heartbeat, a regular pulse of calculations that processes [validator](../resources/glossary.md#validator) weights and determines [emissions](../resources/glossary.md#emission) for participants. This page takes a deep dive into how the code accomplishes its purpose. + +The epoch function takes as its input the matrix of values assigned to each miner by each validator, and returns emission tuples of hotkey, emission for mining, and emission for validating. + +It derives these by performing stake-weighted consensus (YC) over them in order to derive the aggregated miner ratings and miner-validator bonds. Miners gain emissions (incentives) based on their aggregate ratings, and validators gain emissions (dividends) based on their bonds to highly rated miners. + +The basic flow of the epoch is: + +1. Validator weights are submitted during the preceding [tempo](../resources/glossary.md#tempo). +2. [Stake weight](../resources/glossary.md#stake-weight) determines validator influence during consensus. +3. [Consensus](../resources/glossary.md#consensus-score) computation clips validator-miner ratings that outlie the stake-weighted median. +4. Bonds update via [exponential moving averages](../resources/glossary.md#exponential-moving-average-ema). +5. Emissions are allocated to miners and validators. + + +## Core Function: `epoch()` + +Source code: [`run_epoch.rs`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs). + +### Function Signature +```rust +pub fn epoch( + netuid: NetUid, + rao_emission: AlphaCurrency, +) -> Vec<(T::AccountId, AlphaCurrency, AlphaCurrency)> +``` + +## Implementation Flow + +### 1. Network State Collection + +```rust +// Get subnetwork size +let n = Self::get_subnetwork_n(netuid); + +// Get current block and timing +let current_block: u64 = Self::get_current_block_as_u64(); +let tempo: u64 = Self::get_tempo(netuid).into(); +let activity_cutoff: u64 = Self::get_activity_cutoff(netuid) as u64; + +// Get neuron activity data +let last_update: Vec = Self::get_last_update(netuid); +let block_at_registration: Vec = Self::get_block_at_registration(netuid); + +// Calculate inactive neurons +let inactive: Vec = last_update + .iter() + .map(|updated| updated.saturating_add(activity_cutoff) < current_block) + .collect(); + +let active: Vec = inactive.iter().map(|&b| !b).collect(); +``` + +**Activity Determination:** +A [neuron](../resources/glossary.md#neuron) is considered inactive if: +``` +last_update + activity_cutoff < current_block +``` + +This ensures only recently active participants influence consensus. + +### 2. Stake Processing and Validation + +First, get hotkeys mapped to stake-weights. + +```rust + +let hotkeys: Vec<(u16, T::AccountId)> = + as IterableStorageDoubleMap>::iter_prefix(netuid) + .collect(); + +let (total_stake, _alpha_stake, _tao_stake): (Vec, Vec, Vec) = + Self::get_stake_weights_for_network(netuid); + +let min_stake = Self::get_stake_threshold(); +``` + +Filter out hotkeys below minimum stake threshold. +```rust +let mut filtered_stake: Vec = total_stake + .iter() + .map(|&s| { + if fixed64_to_u64(s) < min_stake { + return I64F64::from(0); + } + s + }) + .collect(); + +// Normalize stake +inplace_normalize_64(&mut filtered_stake); +let stake: Vec = vec_fixed64_to_fixed32(filtered_stake); +``` + +:::info Stake-Weight Calculation +**Stake-Weight** = alpha_stake + (tao_stake × tao_weight) + +The `get_stake_weights_for_network()` function combines: +- **Alpha stake**: Subnet-specific token holdings +- **TAO stake**: [Root subnet](../resources/glossary.md#root-subnetsubnet-zero) holdings weighted by `[tao_weight](../resources/glossary.md#tao-weight)` (default: 18%) +::: + + +Filter validator permit candidates for minimum stake-weight. + +```rust +// Get the minimum stake required +let min_stake = Self::get_stake_threshold(); + +let mut filtered_stake: Vec = total_stake + .iter() + .map(|&s| { + if fixed64_to_u64(s) < min_stake { + return I64F64::from(0); + } + s + }) + .collect(); +``` + + +### 3. Validator Permit Management + +Validator permits are dynamically calculated every epoch based on stake distribution. This system ensures that only the most committed (highest-staked) participants can influence consensus. + +```rust +// Get current validator permits +let validator_permits: Vec = Self::get_validator_permit(netuid); +let validator_forbids: Vec = validator_permits.iter().map(|&b| !b).collect(); + +// Get max allowed validators +let max_allowed_validators: u16 = Self::get_max_allowed_validators(netuid); + +// Calculate new validator permits based on top-k stake +let new_validator_permits: Vec = + is_topk_nonzero(&stake, max_allowed_validators as usize); +``` + +**Validator Selection Algorithm:** + +The `is_topk_nonzero()` function implements a filtering process: + +1. **Stake Filtering**: Only neurons with stake ≥ `stake_threshold` (minimum 1000 stake weight) are considered +2. **Top-K Selection**: The top K neurons by stake weight receive validator permits (default: top 64) +3. **Non-Zero Requirement**: Neurons with zero stake are automatically excluded +4. **Stable Sorting**: Uses ascending stable sort to ensure deterministic selection when stakes are equal + +**Algorithm Details:** +```rust +pub fn is_topk_nonzero(vector: &[I32F32], k: usize) -> Vec { + let n: usize = vector.len(); + let mut result: Vec = vector.iter().map(|&elem| elem != I32F32::from(0)).collect(); + if n < k { + return result; // All non-zero elements get permits if total < k + } + let mut idxs: Vec = (0..n).collect(); + idxs.sort_by_key(|&idx| &vector[idx]); // ascending stable sort + for &idx in idxs.iter().take(n.saturating_sub(k)) { + result[idx] = false; // Mark bottom (n-k) elements as false + } + result +} +``` + +This ensures that exactly K neurons (or fewer if insufficient candidates) receive validator permits, with deterministic tie-breaking through stable sorting. + +**Permit Lifecycle:** + +```rust +// Bonds are cleared when permits are lost +new_validator_permits + .iter() + .zip(validator_permits) + .zip(ema_bonds) + .enumerate() + .for_each(|(i, ((new_permit, validator_permit), ema_bond))| { + if *new_permit { + // Retain bonds if permit is maintained + let new_bonds_row: Vec<(u16, u16)> = ema_bond + .iter() + .map(|(j, value)| (*j, fixed_proportion_to_u16(*value))) + .collect(); + Bonds::::insert(netuid, i as u16, new_bonds_row); + } else if validator_permit { + // Clear bonds if permit is lost + let new_empty_bonds_row: Vec<(u16, u16)> = vec![]; + Bonds::::insert(netuid, i as u16, new_empty_bonds_row); + } + }); +``` + +**Key Features:** +- **Dynamic Updates**: Permits are recalculated every epoch based on current stake distribution +- **Bond Preservation**: Neurons retain their bonds only while holding validator permits +- **Automatic Cleanup**: Bonds are cleared when permits are lost, preventing stale relationships +- **Stake Threshold**: Minimum stake requirement (typically 1000 stake weight) filters out low-commitment participants + +**Related Documentation:** +- For validator setup and requirements, see [Validating in Bittensor](../validators/index.md) +- For detailed permit lifecycle management, see [Validator Permits section](../validators/index.md#validator-permits) + +**Code References:** +- Validator permit calculation: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:520-537`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L520-537) +- Top-K selection algorithm: [`subtensor/pallets/subtensor/src/epoch/math.rs:250-263`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/math.rs#L250-263) +- Bond cleanup logic: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:903-921`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L903-921) + +### 4. Active Stake Calculation + +```rust +let mut active_stake: Vec = stake.clone(); + +// Remove inactive stake +inplace_mask_vector(&inactive, &mut active_stake); + +// Remove non-validator stake +inplace_mask_vector(&validator_forbids, &mut active_stake); + +// Normalize active stake +inplace_normalize(&mut active_stake); +``` + +**Active stake** represents the consensus power of validators who are: +1. Recently active (within `activity_cutoff`) +2. Hold validator permits +3. Meet minimum stake requirements + +### 5. Weight Processing + +```rust +// Access network weights (sparse format) +let mut weights: Vec> = Self::get_weights_sparse(netuid); + +// Mask weights from non-permitted validators +weights = mask_rows_sparse(&validator_forbids, &weights); + +// Remove self-weights (except subnet owner if exists) +let owner_uid: Option = Self::get_owner_uid(netuid); +if let Some(owner_uid) = owner_uid { + weights = mask_diag_sparse_except_index(&weights, owner_uid); +} else { + weights = mask_diag_sparse(&weights); +} + +// Remove weights to deregistered neurons +weights = vec_mask_sparse_matrix( + &weights, + &last_update, + &block_at_registration, + &|updated, registered| updated <= registered, +); +``` + +**Weight Filtering:** +Weights are filtered to remove: +- **Self-weights**: Prevent validators from voting for themselves (except [subnet creator](../resources/glossary.md#subnet-creator)) +- **Outdated weights**: Weights set before target neuron's latest registration +- **Non-validator weights**: Only permitted validators can influence consensus + +#### Commit-Reveal Weight Processing + +```rust +if Self::get_commit_reveal_weights_enabled(netuid) { + let mut commit_blocks: Vec = vec![u64::MAX; n as usize]; + + // Process v2 commits + for (who, q) in WeightCommits::::iter_prefix(netuid) { + for (_, cb, _, _) in q.iter() { + if !Self::is_commit_expired(netuid, *cb) { + if let Some(i) = uid_of(&who) { + commit_blocks[i] = commit_blocks[i].min(*cb); + } + break; + } + } + } + + // Process v3 commits + for (_epoch, q) in CRV3WeightCommitsV2::::iter_prefix(netuid) { + for (who, cb, ..) in q.iter() { + if !Self::is_commit_expired(netuid, *cb) { + if let Some(i) = uid_of(who) { + commit_blocks[i] = commit_blocks[i].min(*cb); + } + } + } + } + + // Mask weights from validators with active commits + weights = vec_mask_sparse_matrix( + &weights, + &commit_blocks, + &block_at_registration, + &|cb, reg| cb < reg, + ); +} +``` + +**[Commit Reveal](../resources/glossary.md#commit-reveal) Logic:** +When enabled, validators must commit to weights before revealing them. Weights are masked if: +- Validator has an active (non-expired) commit +- Commit was made before target neuron's registration + +### 6. Weight Normalization + +```rust +// Normalize remaining weights by row +inplace_row_normalize_sparse(&mut weights); +``` + +After filtering, each validator's weights are normalized so they sum to 1.0, ensuring equal influence regardless of absolute weight values. + +### 7. Consensus Calculation + +```rust +// Compute preranks (before consensus clipping) +let preranks: Vec = matmul_sparse(&weights, &active_stake, n); + +// Get consensus threshold (default: 51%) +let kappa: I32F32 = Self::get_float_kappa(netuid); + +// Calculate consensus as stake-weighted median +let consensus: Vec = weighted_median_col_sparse(&active_stake, &weights, n, kappa); + +// Clip weights at consensus level +let clipped_weights: Vec> = col_clip_sparse(&weights, &consensus); +``` + +**Consensus Computation:** +For each miner j, consensus $\overline{W_j}$ is the maximum weight level supported by at least fraction κ of total stake: + +$$ +\overline{W_j} = \arg \max_{w} \left( \sum_{i \in \mathbb{V}} S_i \cdot \mathbf{1}_{W_{ij} \geq w} \geq \kappa \right) +$$ + +**Weight Clipping:** +Any weight above consensus is clipped: $\overline{W_{ij}} = \min(W_{ij}, \overline{W_j})$ + +### 8. Trust and Rank Calculation + +```rust +// Calculate validator trust (sum of clipped weights) +let validator_trust: Vec = row_sum_sparse(&clipped_weights); + +// Compute final ranks using clipped weights +let mut ranks: Vec = matmul_sparse(&clipped_weights, &active_stake, n); + +// Compute server trust (rank after / rank before clipping) +let trust: Vec = vecdiv(&ranks, &preranks); + +// Normalize ranks to get incentives +inplace_normalize(&mut ranks); +let incentive: Vec = ranks.clone(); +``` + +**[Trust](../resources/glossary.md#trust) Calculation:** +- **[Validator trust](../resources/glossary.md#validator-trust)**: Sum of a validator's clipped weights (measures alignment with consensus) +- **Server trust**: Ratio of post-clip to pre-clip [rank](../resources/glossary.md#rank) (measures consensus adherence) + +**Rank → [Incentive](../resources/glossary.md#incentives):** +Final normalized ranks become miner incentives, ensuring total incentives sum to 1.0. + +### 9. Bond Processing + +The bond mechanism depends on whether Yuma3 is enabled: + +#### Yuma3 Bonds (Liquid Alpha) + +```rust +if Yuma3On::::get(netuid) { + // Get existing bonds + let mut bonds = Self::get_bonds_sparse_fixed_proportion(netuid); + + // Remove bonds to recently registered neurons + let last_tempo: u64 = current_block.saturating_sub(tempo); + bonds = scalar_vec_mask_sparse_matrix( + &bonds, + last_tempo, + &block_at_registration, + &|last_tempo, registered| last_tempo <= registered, + ); + + // Compute new bonds with liquid alpha + ema_bonds = Self::compute_bonds_sparse(netuid, &weights_for_bonds, &bonds, &consensus); + + // Normalize bonds and calculate validator emissions + let mut ema_bonds_norm = ema_bonds.clone(); + inplace_col_normalize_sparse(&mut ema_bonds_norm, n); + + let total_bonds_per_validator: Vec = + row_sum_sparse(&mat_vec_mul_sparse(&ema_bonds_norm, &incentive)); + + dividends = vec_mul(&total_bonds_per_validator, &active_stake); + inplace_normalize(&mut dividends); +} +``` + +#### Original Yuma Bonds + +```rust +else { + // Get existing bonds + let mut bonds: Vec> = Self::get_bonds_sparse(netuid); + + // Remove bonds to recently registered neurons + bonds = scalar_vec_mask_sparse_matrix(/* ... */); + inplace_col_normalize_sparse(&mut bonds, n); + + // Compute bond deltas from weights and stake + let mut bonds_delta: Vec> = + row_hadamard_sparse(&weights_for_bonds, &active_stake); + inplace_col_normalize_sparse(&mut bonds_delta, n); + + // Apply EMA to bonds + ema_bonds = Self::compute_ema_bonds_normal_sparse(&bonds_delta, &bonds, netuid); + inplace_col_normalize_sparse(&mut ema_bonds, n); + + // Calculate dividends: d_i = SUM(j) b_ij * incentive_j + dividends = matmul_transpose_sparse(&ema_bonds, &incentive); + inplace_normalize(&mut dividends); +} +``` + +**Bond Dynamics:** +- **[Bonds](../resources/glossary.md#validator-miner-bonds)**: Measure validator-miner relationships over time +- **EMA Updates**: $B_{ij}^{(t)} = \alpha \Delta B_{ij} + (1-\alpha) B_{ij}^{(t-1)}$ +- **Validator Emissions**: Validators earn based on bonds to high-incentive miners + +### 10. Emission Distribution + +```rust +// Calculate combined emissions for pruning scores +let combined_emission: Vec = incentive + .iter() + .zip(dividends.clone()) + .map(|(ii, di)| ii.saturating_add(di)) + .collect(); + +let emission_sum: I32F32 = combined_emission.iter().sum(); + +// Separate server and validator emissions +let mut normalized_server_emission: Vec = incentive.clone(); +let mut normalized_validator_emission: Vec = dividends.clone(); +let mut normalized_combined_emission: Vec = combined_emission.clone(); + +// Normalize based on total emission sum +inplace_normalize_using_sum(&mut normalized_server_emission, emission_sum); +inplace_normalize_using_sum(&mut normalized_validator_emission, emission_sum); +inplace_normalize(&mut normalized_combined_emission); + +// Handle zero emission case +if emission_sum == I32F32::from(0) { + if is_zero(&active_stake) { + normalized_validator_emission.clone_from(&stake); + normalized_combined_emission.clone_from(&stake); + } else { + normalized_validator_emission.clone_from(&active_stake); + normalized_combined_emission.clone_from(&active_stake); + } +} +``` + +**Emission Fallback:** +When no weights are set (emission_sum = 0), emissions default to stake proportions. + +### 11. RAO Conversion + +```rust +// Convert to actual currency amounts +let float_rao_emission: I96F32 = I96F32::saturating_from_num(rao_emission); + +let server_emission: Vec = normalized_server_emission + .iter() + .map(|se| { + let scaled = I96F32::saturating_from_num(*se) + .saturating_mul(float_rao_emission); + scaled.saturating_to_num::().into() + }) + .collect(); + +let validator_emission: Vec = normalized_validator_emission + .iter() + .map(|ve| { + let scaled = I96F32::saturating_from_num(*ve) + .saturating_mul(float_rao_emission); + scaled.saturating_to_num::().into() + }) + .collect(); +``` + +**[RAO](../resources/glossary.md#rao) Scaling:** +Normalized emission proportions are scaled by the total RAO emission amount to get actual currency values. + +### 12. State Updates + +```rust +// Store computed values +StakeWeight::::insert(netuid, cloned_stake_weight); +Active::::insert(netuid, active); +Emission::::insert(netuid, combined_emission); +Rank::::insert(netuid, cloned_ranks); +Trust::::insert(netuid, cloned_trust); +Consensus::::insert(netuid, cloned_consensus); +Incentive::::insert(netuid, cloned_incentive); +Dividends::::insert(netuid, cloned_dividends); +PruningScores::::insert(netuid, cloned_pruning_scores); +ValidatorTrust::::insert(netuid, cloned_validator_trust); +ValidatorPermit::::insert(netuid, new_validator_permits); + +// Update bonds for validators with permits +new_validator_permits + .iter() + .zip(validator_permits) + .zip(ema_bonds) + .enumerate() + .for_each(|(i, ((new_permit, validator_permit), ema_bond))| { + if *new_permit { + let new_bonds_row: Vec<(u16, u16)> = ema_bond + .iter() + .map(|(j, value)| (*j, fixed_proportion_to_u16(*value))) + .collect(); + Bonds::::insert(netuid, i as u16, new_bonds_row); + } else if validator_permit { + Bonds::::insert(netuid, i as u16, vec![]); + } + }); +``` + +**Storage Updates:** +All computed values are stored for: +- **External queries**: Allow inspection of consensus state +- **Next epoch**: Bonds and permits carry forward +- **Pruning**: Combined emission determines neuron removal + +### 13. Return Emission Tuples + +```rust +// Create final emission mapping +hotkeys + .into_iter() + .map(|(uid_i, hotkey)| { + ( + hotkey, + server_emission[uid_i as usize], // Miner emission + validator_emission[uid_i as usize], // Validator emission + ) + }) + .collect() +``` diff --git a/docs/navigating-subtensor/function-reference.md b/docs/navigating-subtensor/function-reference.md new file mode 100644 index 0000000000..337b21516e --- /dev/null +++ b/docs/navigating-subtensor/function-reference.md @@ -0,0 +1,504 @@ +--- +title: "Function Reference & Architecture Guide" +--- + +# Function Reference & Architecture Guide + +This page explains how the core Yuma Consensus and emission functions work together, and provides a comprehensive reference for all key functions in the system. + +## How run_epoch and run_coinbase Relate + +A common source of confusion is understanding how `run_epoch.rs` and `run_coinbase.rs` work together despite neither file directly importing the other. + +### The Architecture + +Both files are part of the **same Substrate pallet implementation**: + +```rust +// In lib.rs +pub mod coinbase; // Contains run_coinbase.rs +pub mod epoch; // Contains run_epoch.rs + +// Both files use: +impl Pallet { + // Functions from both files become methods on the same struct +} +``` + +The `use super::*;` at the top of each file imports everything from the parent module, giving both files access to: +- The same `Pallet` struct +- All storage items (shared blockchain state) +- All other modules in the pallet + +### The Call Chain + +```rust +// Every block: coinbase accumulates emissions +Self::run_coinbase(block_emission) + +// Every tempo: coinbase calls epoch for consensus +if Self::should_run_epoch(netuid, current_block) { + Self::drain_pending_emission(/* accumulated emissions */); + // Inside drain_pending_emission: + let hotkey_emission = Self::epoch(netuid, pending_alpha); + // ^^^^^^^^^^^^ + // Calls function defined in run_epoch.rs! +} +``` + +### Timing Relationship + +The architecture creates a **batch processing pattern**: + +1. **Every Block (Fast)**: `run_coinbase()` injects liquidity and accumulates emissions +2. **Every Tempo (Slow)**: `epoch()` processes accumulated emissions through consensus + +**Example**: If tempo = 360 blocks (~60 minutes): +- 359 blocks: Only coinbase runs, accumulating emissions +- 1 block: Coinbase triggers epoch, which processes all accumulated emissions + +--- + +## Core Function Reference + +### Epoch Functions (`run_epoch.rs`) + +#### `epoch(netuid, rao_emission) -> Vec<(AccountId, AlphaCurrency, AlphaCurrency)>` +**Main Yuma Consensus Implementation** + +Processes validator weights and distributes emissions through the complete [Yuma Consensus](../learn/yuma-consensus.md) algorithm: + +1. **Activity filtering** - Only recently active validators influence consensus +2. **Stake calculation** - Validator permit assignment based on top-k stake +3. **Weight processing** - Consensus calculation with κ-clipping +4. **Miner ranking** - Aggregate rankings weighted by validator stake +5. **Bond formation** - EMA bond updates between validators and miners +6. **Emission distribution** - Final allocation to miners and validators + +**Called by:** `drain_pending_emission()` in coinbase during epoch timing + +--- + +#### `epoch_dense(netuid, rao_emission) -> Vec<(T::AccountId, AlphaCurrency, AlphaCurrency)>` +**Dense Matrix Version (Testing Only)** + +Alternative implementation using dense matrices instead of sparse ones. Contains identical consensus logic but with different data structures for testing and validation purposes. + +**Use Case:** Unit tests, consensus algorithm verification, debugging + +--- + +### Configuration & Parameter Functions + +#### `get_float_rho(netuid) -> I32F32` +**Bond EMA Parameter Retrieval** + +Retrieves the rho parameter used in exponential moving average calculations for bond updates. + +**Connection:** Implements the α parameter in bond EMA formula: `B_ij^(t) = α ΔB_ij + (1-α) B_ij^(t-1)` + +--- + +#### `get_float_kappa(netuid) -> I32F32` +**Consensus Threshold Parameter** + +Gets the consensus threshold κ (kappa) that determines what fraction of stake must agree for consensus. + +**Default:** 0.5 (51% of stake must agree) +**Related:** [Consensus clipping mechanism](../learn/yuma-consensus.md#clipping) + +--- + +#### `get_float_bonds_penalty(netuid) -> I32F32` +**Bond Penalty Factor** + +Retrieves the penalty factor β applied when validator weights exceed consensus. + +**Formula:** `W̃_ij = (1-β) W_ij + β W̄_ij` +**Purpose:** [Penalizes out-of-consensus bonds](../learn/yuma-consensus.md#penalizing-out-of-consensus-bonds) + +--- + +### Data Retrieval Functions + +#### `get_block_at_registration(netuid) -> Vec` +**Registration Block History** + +Returns when each neuron was last registered, used to filter outdated weights. + +**Usage:** Prevents validators from voting on miners that re-registered after the weight was set + +--- + +#### `get_weights_sparse(netuid) -> Vec>` +**Sparse Weight Matrix Retrieval** + +Fetches the weight matrix W_ij in sparse format for memory efficiency. + +**Format:** `Vec` where `validator_weights = Vec<(miner_uid, weight)>` + +--- + +#### `get_weights(netuid) -> Vec>` +**Dense Weight Matrix Retrieval** + +Fetches the complete weight matrix as a dense n×n matrix. + +**Usage:** Testing and small subnets where memory efficiency is less critical + +--- + +#### `get_bonds_sparse(netuid) -> Vec>` +**Sparse Bond Matrix Retrieval** + +Gets the bond matrix B_ij in sparse format, representing validator-miner relationships. + +**Connection:** [Bond mechanics](../learn/yuma-consensus.md#bonding-mechanics) in Yuma Consensus + +--- + +#### `get_bonds(netuid) -> Vec>` +**Dense Bond Matrix Retrieval** + +Retrieves the complete bond matrix as a dense n×n matrix. + +--- + +#### `get_bonds_fixed_proportion(netuid) -> Vec>` +**Proportional Bond Matrix** + +Returns bonds normalized to fixed proportions (0-1 scale). + +--- + +#### `get_bonds_sparse_fixed_proportion(netuid) -> Vec>` +**Sparse Proportional Bonds** + +Sparse version of proportional bond matrix. + +--- + +### Bond Computation Functions + +#### `compute_ema_bonds_normal_sparse(bonds_delta, bonds, netuid) -> Vec>` +**Original Yuma Bond EMA (Sparse)** + +Computes exponential moving average of bonds using a fixed α parameter for all validator-miner pairs. + +**Algorithm:** Traditional EMA with single learning rate +**Used When:** Liquid Alpha is disabled + +--- + +#### `compute_ema_bonds_normal(bonds_delta, bonds, netuid) -> Vec>` +**Original Yuma Bond EMA (Dense)** + +Dense matrix version of the original bond EMA calculation. + +--- + +#### `compute_bonds(netuid, weights, bonds, consensus) -> Vec>` +**Liquid Alpha Bond Computation (Dense)** + +Advanced bond calculation with consensus-based α parameters. Each validator-miner pair gets a unique EMA rate. + +**Algorithm:** `α_ij = f(consensus_j, weight_ij, bond_ij)` +**Used When:** Liquid Alpha is enabled (Yuma3) + +--- + +#### `compute_bonds_sparse(netuid, weights, bonds, consensus) -> Vec>` +**Liquid Alpha Bond Computation (Sparse)** + +Sparse matrix version of the liquid alpha bond computation for better performance. + +--- + +### Liquid Alpha Functions + +#### `compute_liquid_alpha_values(netuid, weights, bonds, consensus) -> Vec>` +**Consensus-Based Alpha Matrix (Dense)** + +Calculates individual α parameters for each validator-miner bond based on consensus alignment. + +**Innovation:** Variable learning rates that adapt to consensus agreement + +--- + +#### `compute_liquid_alpha_values_sparse(netuid, weights, bonds, consensus) -> Vec>` +**Consensus-Based Alpha Matrix (Sparse)** + +Sparse version of the liquid alpha calculation, outputting dense alpha matrix. + +--- + +#### `alpha_sigmoid(consensus, weight, bond, alpha_low, alpha_high, steepness) -> I32F32` +**Alpha Parameter Calculation** + +Sigmoid function that determines EMA learning rate based on consensus deviation. + +**Formula:** `α = α_low + sigmoid(deviation) × (α_high - α_low)` +**Purpose:** Faster adaptation when validators diverge from consensus + +--- + +#### `compute_disabled_liquid_alpha(netuid) -> I32F32` +**Fallback Alpha Calculation** + +Computes traditional fixed α parameter when liquid alpha is disabled. + +--- + +### Administrative Functions + +#### `do_set_alpha_values(origin, netuid, alpha_low, alpha_high) -> DispatchResult` +**Alpha Parameter Configuration** + +Allows subnet owners to configure liquid alpha parameters. + +**Validation:** Ensures parameters are within acceptable ranges to prevent system instability + +--- + +#### `do_reset_bonds(netuid, account_id) -> DispatchResult` +**Bond Reset Mechanism** + +Resets bonds for a specific account, typically used during deregistration. + +--- + +### Complete Coinbase Function Reference (`run_coinbase.rs`) + +### Primary Emission Functions + +#### `run_coinbase(block_emission: U96F32)` +**Core Emission Distribution Engine** + +Main function that runs every block to implement the [injection phase](../learn/emissions.md#injection) of the emission system. + +**Process Flow:** +1. Calculate price-proportional TAO distribution across subnets +2. Inject TAO and alpha liquidity into AMM pools +3. Accumulate pending emissions for epoch distribution +4. Execute epochs when tempo timing is reached + +**Related:** [Price-based distribution](../learn/emissions.md#tao-reserve-injection), [alpha injection](../learn/emissions.md#alpha-reserve-injection) + +--- + +### Emission Calculation Functions + +#### `calculate_dividends_and_incentives(netuid, hotkey_emission) -> (BTreeMap, BTreeMap)` +**Emission Type Separation** + +Separates epoch results into miner incentives and validator dividends, handling child key delegation. + +**Output:** +- Incentives: Direct miner rewards in alpha +- Dividends: Validator rewards (subject to take and delegation) + +--- + +#### `calculate_dividend_distribution(pending_alpha, pending_tao, tao_weight, stake_map, dividends) -> (BTreeMap, BTreeMap)` +**Dividend Type Allocation** + +Splits validator dividends between alpha (subnet-specific) and TAO (root) distributions based on stake composition. + +**Algorithm:** Proportional split based on alpha vs. TAO stake holdings +**Connection:** [Validator stake weight](../learn/emissions.md#extraction) calculations + +--- + +#### `calculate_dividend_and_incentive_distribution(netuid, pending_tao, pending_validator_alpha, hotkey_emission, tao_weight) -> (BTreeMap, (BTreeMap, BTreeMap))` +**Comprehensive Distribution Calculation** + +Orchestrates the complete emission distribution process combining incentives and dividend calculations. + +--- + +### Distribution Functions + +#### `distribute_dividends_and_incentives(netuid, owner_cut, incentives, alpha_dividends, tao_dividends)` +**Final Emission Distribution** + +Executes the actual distribution of rewards to participants, applying takes and delegation rules. + +**Process:** +1. Distribute subnet owner cut (configurable %, default 18%) +2. Distribute miner incentives (50% of total when miners active) +3. Apply validator take percentages +4. Distribute remaining rewards to stakers proportionally + +--- + +#### `get_parent_child_dividends_distribution(hotkey, netuid, dividends) -> Vec<(T::AccountId, AlphaCurrency)>` +**Child Key Delegation Distribution** + +Handles complex validator dividend distribution when child keys (delegation) are involved. + +**Features:** +- Proportional distribution based on delegation amounts +- Validator take extraction before delegation +- Support for multi-level delegation hierarchies + +--- + +### Utility Functions + +#### `get_stake_map(netuid, hotkeys) -> BTreeMap` +**Stake Information Aggregation** + +Collects alpha and TAO stake information for all provided hotkeys. + +**Output:** `(alpha_stake, tao_stake)` pairs for dividend calculations + +--- + +#### `get_self_contribution(hotkey, netuid) -> u64` +**Self-Stake Calculation** + +Calculates how much stake a validator contributes themselves (vs. delegated stake). + +**Usage:** Determines validator's share of their own emissions before delegation splits + +--- + +### Epoch Timing Functions + +#### `should_run_epoch(netuid, current_block) -> bool` +**Epoch Timing Check** + +Determines if a subnet should run its epoch based on tempo scheduling. + +**Formula:** `(block_number + netuid + 1) % (tempo + 1) == 0` +**Connection:** [Tempo-based extraction](../learn/emissions.md#extraction) timing + +--- + +#### `blocks_until_next_epoch(netuid, tempo, block_number) -> u64` +**Epoch Countdown** + +Calculates how many blocks remain until the next epoch for a subnet. + +**Usage:** Monitoring and prediction of epoch timing + +--- + +### Primary Orchestration Function + +#### `drain_pending_emission(netuid, pending_alpha, pending_tao, pending_swapped, owner_cut)` +**Epoch Execution Orchestrator** + +Coordinates the complete emission distribution process by: +1. Calling `epoch()` to run Yuma Consensus +2. Calculating emission splits (50%/50% miner/validator when miners active) +3. Processing delegation and takes +4. Distributing final rewards + +**Critical Bridge:** Connects coinbase injection with epoch consensus and final distribution + +--- + +### Timing Coordination Functions + +#### `should_run_epoch(netuid, current_block) -> bool` +**Epoch Timing Logic** + +**Formula**: `(block_number + netuid + 1) % (tempo + 1) == 0` + +This staggered timing ensures: +- Different subnets run epochs at different blocks (load balancing) +- Predictable tempo-based scheduling +- Synchronized network behavior + +--- + +## System Integration + +### Data Flow Architecture + +```mermaid +graph TD + A[run_coinbase] --> B[Price Calculation] + B --> C[TAO/Alpha Injection] + C --> D[Accumulate Pending] + D --> E{Epoch Time?} + E -->|No| F[Continue Next Block] + E -->|Yes| G[drain_pending_emission] + G --> H[Self::epoch - Yuma Consensus] + H --> I[calculate_dividends_and_incentives] + I --> J[distribute_dividends_and_incentives] + F --> A + J --> A +``` + +### Shared Storage + +Both modules read/write the same blockchain storage: + +- **`PendingEmission`**: Accumulated alpha for distribution +- **`Bonds`**: Validator-miner EMA relationships +- **`ValidatorPermit`**: Top-k stake validation rights +- **`Weights`**: Validator rankings of miners + +### Key Integration Points + +1. **Temporal coordination**: Coinbase accumulates, epoch processes, distribution executes +2. **Economic consistency**: Mathematical formulas from docs implemented across both modules +3. **State synchronization**: Shared storage ensures consistent view of network state +4. **Performance optimization**: Sparse matrices for large subnets, batched processing + +--- + +## Essential Function Categories + +### Configuration & Parameters +- `get_float_kappa(netuid)` - Consensus threshold (default 51%) +- `get_float_bonds_penalty(netuid)` - Penalty factor for out-of-consensus weights +- `do_set_alpha_values()` - Configure liquid alpha parameters + +### Data Retrieval +- `get_weights_sparse(netuid)` - Validator weight matrix (memory efficient) +- `get_bonds_sparse(netuid)` - Validator-miner bond matrix +- `get_block_at_registration(netuid)` - Filter outdated weights + +### Economic Distribution +- `calculate_dividends_and_incentives()` - Separate miner vs validator rewards +- `get_self_contribution()` - Calculate validator's own stake contribution +- `blocks_until_next_epoch()` - Timing prediction for monitoring + +--- + +## Real-World Analogy + +Think of the system like a **payroll company**: + +- **Coinbase** = **Accounting Department** + - Tracks company revenue daily (price calculations) + - Allocates funds to divisions (subnet injection) + - Accumulates amounts owed (pending emissions) + +- **Epoch** = **HR Department** + - Evaluates employee performance periodically (consensus) + - Determines merit-based bonuses (miner incentives) + - Calculates manager commissions (validator dividends) + +Both departments work for the same company (Pallet), share the same database (Storage), but have different responsibilities and timing. + +--- + +## Why This Architecture Matters + +Understanding this relationship is crucial for: + +- **Debugging**: Issues could originate in either injection or consensus phases +- **Development**: Features often need both accumulation and distribution logic +- **Performance**: Timing affects network scalability and economic security +- **Economics**: Coordination between modules affects token incentive alignment + +This architecture elegantly coordinates complex economic mechanisms while maintaining clean separation of concerns and code organization. + +## Documentation Links + +- **Conceptual**: [Yuma Consensus](../learn/yuma-consensus.md) | [Emissions](../learn/emissions.md) | [Staking](../staking-and-delegation/delegation.md) +- **Implementation**: [Epoch Details](./epoch.md) | [Coinbase Details](./emissions-coinbase.md) | [Swap Mechanics](./swap-stake.md) \ No newline at end of file diff --git a/docs/navigating-subtensor/index.md b/docs/navigating-subtensor/index.md new file mode 100644 index 0000000000..42ec6a3805 --- /dev/null +++ b/docs/navigating-subtensor/index.md @@ -0,0 +1,52 @@ +--- +title: "Navigating the Subtensor Codebase" +--- + + +# Navigating the Subtensor Codebase + +The heart of Bittensor is Subtensor, the L1 substrate blockchain that computes and records all transactions, as well as the internal tokenomic processes (Yuma Consensus and liquidity emission) that drive the system. + +This section of the docs is designed make the codebase more accessible by guiding the reader through the implementation of these critical functions in code. Each implementation page traces the complete flow of operations from initial function calls through to final state changes. + +We recommend reading our conceptual explainer docs before diving into the implementation details: + +- [Emissions](../learn/emissions.md) +- [Yuma Consensus](../learn/yuma-consensus.md) +- [Staking/Delegation](../staking-and-delegation/delegation.md) + +## Implementation Topics + +This section covers the following implementation-focused topics: + +### [Emissions and Coinbase](./emissions-coinbase.md) +Deep dive into the coinbase mechanism that drives TAO and alpha emissions across subnets. Learn how `run_coinbase()` calculates and distributes emissions, manages liquidity pools, and orchestrates the emission cycles of the subnets within the overall network by triggering their epochs. + +**Key areas covered:** +- Block emission calculation and distribution +- TAO and alpha injection mechanics +- Subnet price-based emission allocation +- Pending emission accumulation and drainage +- Owner cuts and root dividends +- Triggering of the epoch + +### [Epoch Mechanism](./epoch.md) +Comprehensive exploration of the epoch function that implements Yuma Consensus. Understand how validator weights are processed, consensus is computed, and emissions are allocated to participants. + +**Key areas covered:** +- Weight processing and validation +- Consensus calculation and clipping +- Bond computation and EMA updates +- Rank, trust, and incentive calculations +- Emission distribution to miners and validators + +### [Swap and Staking](./swap-stake.md) +Detailed examination of the staking and unstaking mechanisms, including the automated market maker (AMM) functionality that enables TAO ↔ alpha conversions. + +**Key areas covered:** +- Stake addition and removal flows +- AMM price calculations +- TAO to alpha conversions +- Liquidity pool management +- Slippage and price protection + diff --git a/docs/navigating-subtensor/swap-stake.md b/docs/navigating-subtensor/swap-stake.md new file mode 100644 index 0000000000..0f1293c8e1 --- /dev/null +++ b/docs/navigating-subtensor/swap-stake.md @@ -0,0 +1,184 @@ +--- +title: "Staking Implementation" +--- + +# Staking Implementation + +This page provides a detailed examination of how staking is implemented in the Subtensor codebase. + +Each subnet maintains its own AMM pool with TAO and Alpha reserves. When you stake, your TAO enters the subnet's TAO reserve and you receive Alpha tokens that represent your stake in that specific subnet. Alpha stake determines consensus weight and emission share for validators within a given subnet. + +See [Staking/Delegation Overview](../staking-and-delegation/delegation) + +:::tip Key Concept +**Stake is held in Alpha (α) token denominations** on each subnet. The exception is the Root Subnet (subnet 0), in which stake is held in TAO. +::: + +## Core Staking Operations + +### Stake Addition: `do_add_stake()` + +Located in `subtensor/pallets/subtensor/src/staking/add_stake.rs`, this function converts TAO to Alpha through the subnet's AMM. + +#### Function Signature +```rust +pub fn do_add_stake( + origin: T::RuntimeOrigin, + hotkey: T::AccountId, + netuid: NetUid, + stake_to_be_added: TaoCurrency, +) -> DispatchResult +``` + +#### Implementation Flow + +##### 1. Validation and Fee Calculation +```rust +// Ensure the caller is signed +let coldkey = ensure_signed(origin)?; + +// Ensure subnet exists and is enabled for staking +ensure!(Self::if_subnet_exist(netuid), Error::::SubnetNotExists); +Self::ensure_subtoken_enabled(netuid)?; + +// Calculate minimum amount including swap fees +let min_stake = DefaultMinStake::::get(); +let fee = T::SwapInterface::sim_swap(netuid.into(), OrderType::Buy, min_stake.into()) + .map(|res| res.fee_paid) + .unwrap_or(T::SwapInterface::approx_fee_amount(netuid.into(), min_stake.into())); +let min_amount = min_stake.saturating_add(fee.into()); + +// Validate minimum stake amount (must cover both stake and fees) +ensure!(stake_to_be_added >= min_amount, Error::::AmountTooLow); +``` + +##### 2. Balance Verification +```rust +// Check coldkey has sufficient TAO balance +let current_balance = Self::get_coldkey_balance(&coldkey); +ensure!( + current_balance >= stake_to_be_added.into(), + Error::::NotEnoughBalanceToStake +); +``` + +##### 3. TAO Removal and Alpha Conversion +```rust +// Remove TAO from coldkey balance +let tao_staked = Self::remove_balance_from_coldkey_account(&coldkey, stake_to_be_added.into())?; + +// Convert TAO to Alpha through subnet AMM +Self::stake_into_subnet( + &hotkey, + &coldkey, + netuid, + tao_staked.to_u64().into(), + T::SwapInterface::max_price().into(), // Accept market price + true, // drop_fees = true for add_stake +)?; +``` + +The `stake_into_subnet` function handles the AMM conversion: +- Uses 1:1 conversion for Stable subnets (mechanism_id = 0) +- Calls `swap_tao_for_alpha()` for dynamic subnets (mechanism_id = 1) +- Updates subnet TAO and Alpha reserves +- Credits Alpha tokens to the hotkey's stake + +The `swap_tao_for_alpha()` function: +- Executes the actual AMM swap operation +- Calculates the amount of Alpha tokens received for the given TAO input +- Handles slippage and fee calculations +- Updates the subnet's liquidity pool reserves + +##### 4. Event Emission +```rust +// Emit staking event with actual amounts +Self::deposit_event(Event::StakeAdded { + account_id: hotkey.clone(), + balance_staked: stake_to_be_added, + balance_increased: Self::get_total_stake_for_hotkey(&hotkey), +}); +``` + +### Stake Removal: `do_remove_stake()` + +The unstaking process converts Alpha stake back to TAO through the subnet's AMM. + +#### Function Signature +```rust +pub fn do_remove_stake( + origin: T::RuntimeOrigin, + hotkey: T::AccountId, + netuid: NetUid, + alpha_unstaked: AlphaCurrency, +) -> DispatchResult +``` + +#### Implementation Flow + +##### 1. Validation +```rust +let coldkey = ensure_signed(origin)?; + +// Ensure subnet exists and is enabled +ensure!(Self::if_subnet_exist(netuid), Error::::SubnetNotExists); +Self::ensure_subtoken_enabled(netuid)?; + +// Verify sufficient Alpha stake exists on this subnet +let alpha_on_subnet = Self::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid); +ensure!( + alpha_on_subnet >= alpha_unstaked, + Error::::NotEnoughStakeToWithdraw +); +``` + +##### 2. Alpha to TAO Conversion +```rust +// Convert Alpha back to TAO through subnet AMM +let tao_received = Self::unstake_from_subnet( + &hotkey, + &coldkey, + netuid, + alpha_unstaked, + TaoCurrency::ZERO, // min_price = 0 (accept any price) + true, // drop_fees = true for remove_stake +)?; + +// Add the received TAO back to coldkey balance +Self::add_balance_to_coldkey_account(&coldkey, tao_received.into())?; +``` + +The `unstake_from_subnet` function: +- Removes Alpha from hotkey's stake +- Calls `swap_alpha_for_tao()` to convert Alpha → TAO +- Updates subnet reserves (Alpha increases, TAO decreases) +- Returns the TAO amount received after fees + +The `swap_alpha_for_tao()` function: +- Executes the actual AMM swap operation +- Calculates the amount of TAO tokens received for the given Alpha input +- Handles slippage and fee calculations +- Updates the subnet's liquidity pool reserves + +## Price Protection + +The staking system includes price protection mechanisms to prevent excessive slippage during AMM operations. Each staking operation has a corresponding `_limit` variant that accepts price protection parameters: + +- `do_add_stake_limit()` - Staking with price protection +- `do_remove_stake_limit()` - Unstaking with price protection + +These functions accept `limit_price` and `allow_partial` parameters to control protection behavior. See [Price Protection Guide](../learn/price-protection.md) for detailed usage and examples. + +## Error Handling + +### Common Error Types + +```rust +Error::::SubnetNotExists // Subnet doesn't exist +Error::::AmountTooLow // Below minimum stake + fees +Error::::NotEnoughBalanceToStake // Insufficient TAO balance +Error::::NotEnoughStakeToWithdraw // Insufficient Alpha stake +Error::::SlippageTooHigh // Price protection triggered (strict mode) +Error::::ZeroMaxStakeAmount // No amount executable within price limit +Error::::InsufficientLiquidity // AMM simulation failed +``` diff --git a/docs/validators/index.md b/docs/validators/index.md index 20490592cb..7afb7a02de 100644 --- a/docs/validators/index.md +++ b/docs/validators/index.md @@ -185,10 +185,19 @@ To obtain a validator permit, a neuron must meet these criteria: - **Top K Ranking**: Be among the top K neurons by stake weight - **Active Status**: Maintain active participation in the subnet +### Permit Lifecycle and Bond Management + +When validator permits are lost, associated bonds are deleted. This ensures that only currently qualified validators can influence consensus. + +### Implementation Details + +For implementation details of how validator permits are calculated, managed, and cleaned up in the codebase, see the [Validator Permit Management section](../navigating-subtensor/epoch.md#validator-permit-management) in the Epoch Implementation documentation. + ### Code References -- Validator permit calculation: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:520-523`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L520-523) -- Top-K selection algorithm: [`subtensor/pallets/subtensor/src/epoch/math.rs:250-260`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/math.rs#L250-260) +- Validator permit calculation: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:520-537`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L520-537) +- Top-K selection algorithm: [`subtensor/pallets/subtensor/src/epoch/math.rs:250-263`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/math.rs#L250-263) +- Bond cleanup logic: [`subtensor/pallets/subtensor/src/epoch/run_epoch.rs:903-921`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/epoch/run_epoch.rs#L903-921) - Access control: [`subtensor/pallets/subtensor/src/subnets/weights.rs:745-748`](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/subnets/weights.rs#L745-748) ## Inspecting UIDs diff --git a/sidebars.js b/sidebars.js index b4d27ef213..0edd456e87 100644 --- a/sidebars.js +++ b/sidebars.js @@ -45,6 +45,19 @@ const sidebars = { "learn/yc3-blog", "learn/yuma3-migration-guide", "learn/fees", + { + type: "category", + label: "Navigating Subtensor Codebase", + link: { type: "doc", id: "navigating-subtensor/index" }, + collapsible: true, + collapsed: true, + items: [ + "navigating-subtensor/emissions-coinbase", + "navigating-subtensor/epoch", + "navigating-subtensor/swap-stake", + ], + }, + "resources/community-links", ], }, { @@ -199,6 +212,7 @@ const sidebars = { "subtensor-nodes/subtensor-storage-query-examples", ], }, + { type: "category", label: "Bittensor EVM", From b66fa8b580a2b9be6ffd149d23df9072047689b6 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 9 Sep 2025 21:42:43 +0100 Subject: [PATCH 214/303] btcli 9.11 updates --- docs/btcli/btcli.md | 71 +++++++++++++++++++++++++-- docs/getting-started/install-btcli.md | 22 +++++++++ 2 files changed, 90 insertions(+), 3 deletions(-) diff --git a/docs/btcli/btcli.md b/docs/btcli/btcli.md index 8546ab0ea8..96bdf928bd 100644 --- a/docs/btcli/btcli.md +++ b/docs/btcli/btcli.md @@ -23,8 +23,9 @@ btcli [OPTIONS] COMMAND [ARGS]... **Options**: -- `--version`: Show BTCLI version -- `--commands`: Show BTCLI commands +- `--version`: Show BTCLI version. +- `--commands`: Show BTCLI commands. +- `--debug`: Saves the debug log from the last used command. - `--install-completion`: Install completion for the current shell. - `--show-completion`: Show completion for the current shell, to copy it or customize the installation. - `--help`: Show this message and exit. @@ -1914,6 +1915,7 @@ aliases: subnet, s - `check-start`: Checks if a subnet's emission schedule can be started. - `set-identity`: Get the identity information for a subnet. - `get-identity`: Set or update the identity information for a subnet. +- `set-symbol`: Allows the user to update their subnet symbol to a different available symbol. The full list of available symbols can be found here: https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/subnets/symbols.rs#L8 ### `btcli subnets hyperparameters` @@ -2371,6 +2373,43 @@ alias: get_identity | `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | | `--help` | | Show this message and exit. | +### `btcli subnets set-symbol` + +Allows the user to update their subnet symbol to a different available symbol. The full list of available symbols can be found here: +https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/subnets/symbols.rs#L8 + +**EXAMPLE** + +```bash +btcli subnets set-symbol --netuid 1 シ +``` + +:::info +JSON OUTPUT: +If --json-output is used, the output will be in the following schema: `{success: bool, message: str}` +::: + +**Usage:** + +```bash +btcli subnets set-symbol [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | | The subtensor network to connect to. Default: finney. | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--prompt/--no-prompt`, ` /--yes`, ` /--no_prompt`, ` /-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--help` | | Show this message and exit. | + ## `btcli weights` **Usage**: @@ -2480,6 +2519,7 @@ btcli utils [OPTIONS] COMMAND [ARGS]... **Commands**: - `convert`: Allows for converting between tao and rao... +- `latency`: This command will give you the latency of all finney-like network in additional to any additional networks you specify via the '--network' flag. ### `btcli utils convert` @@ -2487,7 +2527,7 @@ Allows for converting between tao and rao using the specified flags **Usage**: -```console +```sh btcli utils convert [OPTIONS] ``` @@ -2499,6 +2539,31 @@ btcli utils convert [OPTIONS] | `--tao` | FLOAT | Convert amount from Tao | | `--help` | | Show this message and exit. | +### `btcli utils latency` + +This command will give you the latency of all finney-like network in addition to any additional networks you specify via the `--network` flag + +The results are three-fold. One column is the overall time to initialise a connection, send the requests, and wait for the results. The second column measures single ping-pong speed once connected. The third makes a real world call to fetch the chain head. + +**Example:** + +```sh +btcli utils latency --network ws://189.234.12.45 --network wss://mysubtensor.duckdns.org +``` + +**Usage**: + +```sh +btcli utils latency [OPTIONS] +``` + +**Options**: + +| Option | Type | Description | +| ----------- | ---- | ---------------------------------------------------------- | +| `--network` | TEXT | Network(s) to test for the best connection [default: None] | +| `--help` | | Show this message and exit. | + ## `btcli liquidity` **Usage:** diff --git a/docs/getting-started/install-btcli.md b/docs/getting-started/install-btcli.md index 9bc3b90f0e..1b4efe7711 100644 --- a/docs/getting-started/install-btcli.md +++ b/docs/getting-started/install-btcli.md @@ -179,3 +179,25 @@ If both `chain` and `network` config values are present in the `config.yml`, the ```bash btcli config --help ``` + +### Environment variables + +The Bittensor CLI also accepts environment variables that can change how it works: + +- `USE_TORCH` (default 0): If set to 1, will use torch instead of numpy +- `DISK_CACHE` (default 0, also settable in config): If set to 1 (or set in config), will use disk caching for various safe-cachable substrate + calls (such as block number to block hash mapping), which can speed up subsequent calls. +- `BTCLI_CONFIG_PATH` (default `~/.bittensor/config.yml`): This will set the config file location, creating if it does not exist. +- `BTCLI_DEBUG_FILE` (default `~/.bittensor/debug.txt`): The file stores the most recent's command's debug log. + +## Debugging + +BTCLI stores a debug log for every command you run. Debug logging is enabled by default if `use_cache` is on. All logs are written to `~/.bittensor/debug.txt` and overwritten after each BTCLI command. + +You can change the location with the [`BTCLI_DEBUG_FILE` environment variable](#environment-variables). + +:::info +The debug log does not contain sensitive data (such as private keys). It is intended to be shared with developers for troubleshooting. The file includes details about the executed command, configuration, and request/response interactions with the chain. +::: + +If you encounter an issue and want to preserve the log before it is overwritten, run `btcli --debug` and specify a new location to save the file. We recommend doing this first before starting your debugging with us on [Discord](https://discord.gg/bittensor) or opening an issue on [GitHub](https://github.com/opentensor/btcli/issues/new), where you can also upload your debug file. From 8233f58c034f1ecd73c34bc0fd99eb275b7b057e Mon Sep 17 00:00:00 2001 From: michael trestman Date: Tue, 9 Sep 2025 14:30:46 -0700 Subject: [PATCH 215/303] wip --- .../bittensor/core/async_subtensor/index.html | 281 +++++---- .../core/extrinsics/asyncex/index.html | 1 + .../extrinsics/asyncex/move_stake/index.html | 15 +- .../extrinsics/asyncex/unstaking/index.html | 6 +- .../core/extrinsics/asyncex/utils/index.html | 558 ++++++++++++++++++ .../extrinsics/asyncex/weights/index.html | 6 +- .../core/extrinsics/move_stake/index.html | 19 +- .../core/extrinsics/utils/index.html | 26 +- .../bittensor/core/subtensor/index.html | 41 +- .../core/subtensor_api/commitments/index.html | 7 + .../core/subtensor_api/staking/index.html | 7 + static/python-api/html/autoapi/index.html | 1 + static/python-api/html/genindex.html | 35 +- static/python-api/html/objects.inv | Bin 15583 -> 15657 bytes static/python-api/html/py-modindex.html | 5 + static/python-api/html/searchindex.js | 2 +- 16 files changed, 875 insertions(+), 135 deletions(-) create mode 100644 static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/utils/index.html diff --git a/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html b/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html index c0fc27a90e..d70fc8ea4b 100644 --- a/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html +++ b/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html @@ -472,6 +472,7 @@

      Contents

    1773. AsyncSubtensor.get_subnet_reveal_period_epochs()
    1774. AsyncSubtensor.get_subnet_validator_permits()
    1775. AsyncSubtensor.get_subnets()
    1776. +
    1777. AsyncSubtensor.get_timelocked_weight_commits()
    1778. AsyncSubtensor.get_timestamp()
    1779. AsyncSubtensor.get_total_subnets()
    1780. AsyncSubtensor.get_transfer_fee()
    1781. @@ -759,8 +760,10 @@

      Module Contents

      Example

      -

      # Get all subnets at current block -subnets = await subtensor.all_subnets()

      +
      # Get all subnets at current block
      +subnets = await subtensor.all_subnets()
      +
      +

      @@ -794,10 +797,13 @@

      Module Contents

      Example

      -

      # Get blocks since last step for subnet 1 -blocks = await subtensor.blocks_since_last_step(netuid=1)

      -

      # Get blocks since last step at specific block -blocks = await subtensor.blocks_since_last_step(netuid=1, block=1000000)

      +
      # Get blocks since last step for subnet 1
      +blocks = await subtensor.blocks_since_last_step(netuid=1)
      +
      +# Get blocks since last step at specific block
      +blocks = await subtensor.blocks_since_last_step(netuid=1, block=1000000)
      +
      +

      @@ -821,10 +827,13 @@

      Module Contents

      Example

      -

      # Get blocks since last update for UID 5 in subnet 1 -blocks = await subtensor.blocks_since_last_update(netuid=1, uid=5)

      -

      # Check if neuron needs updating -blocks_since_update = await subtensor.blocks_since_last_update(netuid=1, uid=10)

      +
      # Get blocks since last update for UID 5 in subnet 1
      +blocks = await subtensor.blocks_since_last_update(netuid=1, uid=5)
      +
      +# Check if neuron needs updating
      +blocks_since_update = await subtensor.blocks_since_last_update(netuid=1, uid=10)
      +
      +

      @@ -853,8 +862,10 @@

      Module Contents

      Example

      -

      # Get bonds for subnet 1 at block 1000000 -bonds = await subtensor.bonds(netuid=1, block=1000000)

      +
      # Get bonds for subnet 1 at block 1000000
      +bonds = await subtensor.bonds(netuid=1, block=1000000)
      +
      +

      @@ -940,10 +955,13 @@

      Module Contents

      Example

      -

      # Commit some data to subnet 1 -success = await subtensor.commit(wallet=my_wallet, netuid=1, data=”Hello Bittensor!”)

      -

      # Commit with custom period -success = await subtensor.commit(wallet=my_wallet, netuid=1, data=”Model update v2.0”, period=100)

      +
      # Commit some data to subnet 1
      +success = await subtensor.commit(wallet=my_wallet, netuid=1, data="Hello Bittensor!")
      +
      +# Commit with custom period
      +success = await subtensor.commit(wallet=my_wallet, netuid=1, data="Model update v2.0", period=100)
      +
      +

      Note: See <https://docs.learnbittensor.org/glossary#commit-reveal>

      @@ -1048,12 +1066,16 @@

      Module Contents

      Example

      -

      # Get hash for specific block -block_hash = await subtensor.determine_block_hash(block=1000000)

      -

      # Use provided block hash -hash = await subtensor.determine_block_hash(block_hash=”0x1234…”)

      -

      # Reuse last block hash -hash = await subtensor.determine_block_hash(reuse_block=True)

      +
      # Get hash for specific block
      +block_hash = await subtensor.determine_block_hash(block=1000000)
      +
      +# Use provided block hash
      +hash = await subtensor.determine_block_hash(block_hash="0x1234...")
      +
      +# Reuse last block hash
      +hash = await subtensor.determine_block_hash(reuse_block=True)
      +
      +

      @@ -1155,28 +1177,26 @@

      Module Contents

      Example

      -

      # Define parameter types -call_def = {

      -
      -
      -
      “params”: [

      {“name”: “amount”, “type”: “u64”}, -{“name”: “coldkey_ss58”, “type”: “str”}

      -
      -
      -

      ]

      -
      -

      }

      -

      # Encode parameters as a dictionary -params_dict = {

      -
      -

      “amount”: 1000000, -“coldkey_ss58”: “5F…”

      -
      -

      } -encoded = await subtensor.encode_params(call_definition=call_def, params=params_dict)

      -

      # Or encode as a list (positional) -params_list = [1000000, “5F…”] -encoded = await subtensor.encode_params(call_definition=call_def, params=params_list)

      +
      # Define parameter types
      +call_def = {
      +    "params": [
      +        {"name": "amount", "type": "u64"},
      +        {"name": "coldkey_ss58", "type": "str"}
      +    ]
      +}
      +
      +# Encode parameters as a dictionary
      +params_dict = {
      +    "amount": 1000000,
      +    "coldkey_ss58": "5F..."
      +}
      +encoded = await subtensor.encode_params(call_definition=call_def, params=params_dict)
      +
      +# Or encode as a list (positional)
      +params_list = [1000000, "5F..."]
      +encoded = await subtensor.encode_params(call_definition=call_def, params=params_list)
      +
      +

      @@ -1229,13 +1249,14 @@

      Module Contents

      Example

      -

      # Get all commitments for subnet 1 -commitments = await subtensor.get_all_commitments(netuid=1)

      -

      # Iterate over all commitments -for hotkey, commitment in commitments.items():

      -
      -

      print(f”Hotkey {hotkey}: {commitment}”)

      -
      +
      # Get all commitments for subnet 1
      +commitments = await subtensor.get_all_commitments(netuid=1)
      +
      +# Iterate over all commitments
      +for hotkey, commitment in commitments.items():
      +    print(f"Hotkey {hotkey}: {commitment}")
      +
      +

      @@ -1310,13 +1331,15 @@

      Module Contents

      result

      -

      Example of result: -{

      -
      -

      “5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY”: ( (12, “Alice message 1”), (152, “Alice message 2”) ), -“5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty”: ( (12, “Bob message 1”), (147, “Bob message 2”) ),

      -
      -

      }

      +
      +
      Example of result:
      {
      +    "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY": ( (12, "Alice message 1"), (152, "Alice message 2") ),
      +    "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty": ( (12, "Bob message 1"), (147, "Bob message 2") ),
      +}
      +
      +
      +
      +
      @@ -1749,10 +1772,10 @@

      Module ContentsReturns: -

      A list of tuples, each containing a delegate’s information and staked amount.

      +

      A list containing the delegated information for the specified coldkey.

      Return type:
      -

      list[tuple[bittensor.core.chain_data.DelegateInfo, bittensor.utils.balance.Balance]]

      +

      list[bittensor.core.chain_data.delegate_info.DelegatedInfo]

      This function is important for account holders to understand their stake allocations and their involvement in @@ -1867,12 +1890,16 @@

      Module Contents

      Example

      -

      # Get difficulty for subnet 1 -difficulty = await subtensor.get_hyperparameter(param_name=”Difficulty”, netuid=1)

      -

      # Get tempo at a specific block -tempo = await subtensor.get_hyperparameter(param_name=”Tempo”, netuid=1, block=1000000)

      -

      # Get immunity period using block hash -immunity = await subtensor.get_hyperparameter(param_name=”ImmunityPeriod”, netuid=1, block_hash=”0x1234…”)

      +
      # Get difficulty for subnet 1
      +difficulty = await subtensor.get_hyperparameter(param_name="Difficulty", netuid=1)
      +
      +# Get tempo at a specific block
      +tempo = await subtensor.get_hyperparameter(param_name="Tempo", netuid=1, block=1000000)
      +
      +# Get immunity period using block hash
      +immunity = await subtensor.get_hyperparameter(param_name="ImmunityPeriod", netuid=1, block_hash="0x1234...")
      +
      +

      @@ -2157,9 +2184,11 @@

      Module Contents

      result (Optional[tuple[int, str]]

      -
      -
      Example of result:

      ( (12, “Alice message 1”), (152, “Alice message 2”) ) -( (12, “Bob message 1”), (147, “Bob message 2”) )

      +
      +
      Example of result:
      ( (12, "Alice message 1"), (152, "Alice message 2") )
      +( (12, "Bob message 1"), (147, "Bob message 2") )
      +
      +
      @@ -2594,6 +2623,41 @@

      Module Contents +
      +async get_timelocked_weight_commits(netuid, block=None, block_hash=None, reuse_block=False)#
      +

      Retrieves CRv4 weight commit information for a specific subnet.

      +
      +
      Parameters:
      +
        +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query. Default is None.

      • +
      • block_hash (Optional[str]) – The hash of the block to retrieve the stake from. Do not specify if using block +or reuse_block

      • +
      • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

      • +
      +
      +
      Returns:
      +

        +
      • +
        ss58_address: The address of the committer.
          +
        • commit_block: The block number when the commitment was made.

        • +
        • commit_message: The commit message.

        • +
        • reveal_round: The round when the commitment was revealed.

        • +
        +
        +
        +
      • +
      +

      The list may be empty if there are no commits found.

      +

      +
      +
      Return type:
      +

      A list of commit details, where each item contains

      +
      +
      +
      +
      async get_timestamp(block=None, block_hash=None, reuse_block=False)[source]#
      @@ -2791,13 +2855,18 @@

      Module Contents

      Example

      -

      subtensor = AsyncSubtensor(network=”finney”)

      -

      # Initialize the connection -await subtensor.initialize()

      -

      # Now you can make queries -balance = await subtensor.get_balance(address=”5F…”)

      -

      # Or chain the initialization -subtensor = await AsyncSubtensor(network=”finney”).initialize()

      +
      subtensor = AsyncSubtensor(network="finney")
      +
      +# Initialize the connection
      +await subtensor.initialize()
      +
      +# Now you can make queries
      +balance = await subtensor.get_balance(address="5F...")
      +
      +# Or chain the initialization
      +subtensor = await AsyncSubtensor(network="finney").initialize()
      +
      +

      @@ -3099,7 +3168,7 @@

      Module Contents
      -async move_stake(wallet, origin_hotkey, origin_netuid, destination_hotkey, destination_netuid, amount, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
      +async move_stake(wallet, origin_hotkey, origin_netuid, destination_hotkey, destination_netuid, amount=None, wait_for_inclusion=True, wait_for_finalization=False, period=None, move_all_stake=False)[source]#

      Moves stake to a different hotkey and/or subnet.

      Parameters:
      @@ -3109,12 +3178,13 @@

      Module Contentsint) – The netuid of the source subnet.

    1782. destination_hotkey (str) – The SS58 address of the destination hotkey.

    1783. destination_netuid (int) – The netuid of the destination subnet.

    1784. -
    1785. amount (bittensor.utils.balance.Balance) – Amount of stake to move.

    1786. +
    1787. amount (Optional[bittensor.utils.balance.Balance]) – Amount of stake to move.

    1788. wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

    1789. wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

    1790. period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

    1791. +
    1792. move_all_stake (bool) – If true, moves all stake from the source hotkey to the destination hotkey.

    1793. Returns:
      @@ -3234,21 +3304,20 @@

      Module Contents

      Example

      -

      # Get existential deposit constant -existential_deposit = await subtensor.query_constant(

      -
      -

      module_name=”Balances”, -constant_name=”ExistentialDeposit”

      -
      -

      )

      -

      # Get constant at specific block -constant = await subtensor.query_constant(

      -
      -

      module_name=”SubtensorModule”, -constant_name=”SomeConstant”, -block=1000000

      -
      -

      )

      +
      # Get existential deposit constant
      +existential_deposit = await subtensor.query_constant(
      +    module_name="Balances",
      +    constant_name="ExistentialDeposit"
      +)
      +
      +# Get constant at specific block
      +constant = await subtensor.query_constant(
      +    module_name="SubtensorModule",
      +    constant_name="SomeConstant",
      +    block=1000000
      +)
      +
      +

      @@ -3280,7 +3349,7 @@

      Module Contents

      Note

      -
      See the ``Bittensor CLI documentation <https://docs.bittensor.com/reference/btcli>``_ for supported identity

      parameters.

      +
      See the Bittensor CLI documentation for supported identity

      parameters.

      @@ -3316,10 +3385,13 @@

      Module Contents

      Example

      -

      # Query bonds for subnet 1 -bonds = await subtensor.query_map(module=”SubtensorModule”, name=”Bonds”, params=[1])

      -

      # Query weights at specific block -weights = await subtensor.query_map(module=”SubtensorModule”, name=”Weights”, params=[1], block=1000000)

      +
      # Query bonds for subnet 1
      +bonds = await subtensor.query_map(module="SubtensorModule", name="Bonds", params=[1])
      +
      +# Query weights at specific block
      +weights = await subtensor.query_map(module="SubtensorModule", name="Weights", params=[1], block=1000000)
      +
      +

      @@ -4649,6 +4721,7 @@

      Module ContentsAsyncSubtensor.get_subnet_reveal_period_epochs()
    1794. AsyncSubtensor.get_subnet_validator_permits()
    1795. AsyncSubtensor.get_subnets()
    1796. +
    1797. AsyncSubtensor.get_timelocked_weight_commits()
    1798. AsyncSubtensor.get_timestamp()
    1799. AsyncSubtensor.get_total_subnets()
    1800. AsyncSubtensor.get_transfer_fee()
    1801. diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/index.html index 90cc57297c..56d4027788 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/index.html @@ -427,6 +427,7 @@

      Submodulesbittensor.core.extrinsics.asyncex.take
    1802. bittensor.core.extrinsics.asyncex.transfer
    1803. bittensor.core.extrinsics.asyncex.unstaking
    1804. +
    1805. bittensor.core.extrinsics.asyncex.utils
    1806. bittensor.core.extrinsics.asyncex.weights
    1807. diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.html index cd0a823277..cbc1c86a75 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.html @@ -438,23 +438,24 @@

      Functions#

      -async bittensor.core.extrinsics.asyncex.move_stake.move_stake_extrinsic(subtensor, wallet, origin_hotkey, origin_netuid, destination_hotkey, destination_netuid, amount, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
      +async bittensor.core.extrinsics.asyncex.move_stake.move_stake_extrinsic(subtensor, wallet, origin_hotkey, origin_netuid, destination_hotkey, destination_netuid, amount, wait_for_inclusion=True, wait_for_finalization=False, period=None, move_all_stake=False)[source]#

      Moves stake from one hotkey to another within subnets in the Bittensor network.

      Parameters:
        -
      • subtensor (Subtensor) – The subtensor instance to interact with the blockchain.

      • -
      • wallet (Wallet) – The wallet containing the coldkey to authorize the move.

      • +
      • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – The subtensor instance to interact with the blockchain.

      • +
      • wallet (bittensor_wallet.Wallet) – The wallet containing the coldkey to authorize the move.

      • origin_hotkey (str) – SS58 address of the origin hotkey associated with the stake.

      • origin_netuid (int) – Network UID of the origin subnet.

      • destination_hotkey (str) – SS58 address of the destination hotkey.

      • destination_netuid (int) – Network UID of the destination subnet.

      • -
      • amount (Balance) – The amount of stake to move as a Balance object.

      • +
      • amount (bittensor.utils.balance.Balance) – The amount of stake to move as a Balance object.

      • wait_for_inclusion (bool) – If True, waits for transaction inclusion in a block. Defaults to True.

      • wait_for_finalization (bool) – If True, waits for transaction finalization. Defaults to False.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

      • +
      • move_all_stake (bool) – If true, moves all stake from the source hotkey to the destination hotkey.

      Returns:
      diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.html index fef0f99697..9ae562adb7 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.html @@ -48,7 +48,7 @@ - + @@ -560,11 +560,11 @@

      Module Contents

      next

      -

      bittensor.core.extrinsics.asyncex.weights

      +

      bittensor.core.extrinsics.asyncex.utils

      diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/utils/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/utils/index.html new file mode 100644 index 0000000000..6f6e12790a --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/utils/index.html @@ -0,0 +1,558 @@ + + + + + + + + + + + bittensor.core.extrinsics.asyncex.utils — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + +
      +

      bittensor.core.extrinsics.asyncex.utils

      + +
      +
      + +
      +

      Contents

      +
      + +
      +
      +
      + + + + +
      + +
      +

      bittensor.core.extrinsics.asyncex.utils#

      +
      +

      Functions#

      +
      + + + + + +

      get_extrinsic_fee(subtensor, call, keypair[, netuid])

      Get extrinsic fee for a given extrinsic call and keypair for a given SN's netuid.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +async bittensor.core.extrinsics.asyncex.utils.get_extrinsic_fee(subtensor, call, keypair, netuid=None)#
      +

      Get extrinsic fee for a given extrinsic call and keypair for a given SN’s netuid.

      +
      +
      Parameters:
      +
        +
      • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – The Subtensor instance.

      • +
      • netuid (Optional[int]) – The SN’s netuid.

      • +
      • call (scalecodec.GenericCall) – The extrinsic call.

      • +
      • keypair (bittensor_wallet.Keypair) – The keypair associated with the extrinsic.

      • +
      +
      +
      Returns:
      +

      Balance object representing the extrinsic fee in RAO.

      +
      +
      +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + +
      + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/weights/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/weights/index.html index 67dbc023b7..e49a073407 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/weights/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/weights/index.html @@ -49,7 +49,7 @@ - + @@ -555,12 +555,12 @@

      Module Contents

      previous

      -

      bittensor.core.extrinsics.asyncex.unstaking

      +

      bittensor.core.extrinsics.asyncex.utils

      Functions#

      -bittensor.core.extrinsics.move_stake.move_stake_extrinsic(subtensor, wallet, origin_hotkey, origin_netuid, destination_hotkey, destination_netuid, amount=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
      +bittensor.core.extrinsics.move_stake.move_stake_extrinsic(subtensor, wallet, origin_hotkey, origin_netuid, destination_hotkey, destination_netuid, amount=None, wait_for_inclusion=True, wait_for_finalization=False, period=None, move_all_stake=False)[source]#

      Moves stake to a different hotkey and/or subnet while keeping the same coldkey owner.

      Parameters:
        -
      • subtensor (Subtensor) – Subtensor instance.

      • -
      • wallet (bittensor.wallet) – The wallet to move stake from.

      • +
      • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

      • +
      • wallet (bittensor_wallet.Wallet) – The wallet to move stake from.

      • origin_hotkey (str) – The SS58 address of the source hotkey.

      • origin_netuid (int) – The netuid of the source subnet.

      • destination_hotkey (str) – The SS58 address of the destination hotkey.

      • destination_netuid (int) – The netuid of the destination subnet.

      • -
      • amount (Union[Balance, float]) – Amount to move.

      • +
      • amount (Optional[bittensor.utils.balance.Balance]) – Amount to move.

      • wait_for_inclusion (bool) – If true, waits for inclusion before returning.

      • wait_for_finalization (bool) – If true, waits for finalization before returning.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

      • +
      • move_all_stake (bool) – If true, moves all stake from the source hotkey to the destination hotkey.

      Returns:
      -

      True if the move was successful.

      +

      True if the move was successful. Otherwise, False.

      Return type:
      -

      success (bool)

      +

      success

      diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/utils/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/utils/index.html index 88e61cab33..ef40fb8c9e 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/utils/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/utils/index.html @@ -399,6 +399,7 @@

      Contents

      + + + + + + + +
      +
      + + +
      + + + +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.html index cbc1c86a75..108294caee 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.html @@ -49,7 +49,7 @@ - + @@ -169,6 +169,12 @@
    1808. bittensor.core.types
    1809. +
    1810. bittensor.extras
      +
    1811. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -445,24 +451,24 @@

        Module Contents
        • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – The subtensor instance to interact with the blockchain.

        • wallet (bittensor_wallet.Wallet) – The wallet containing the coldkey to authorize the move.

        • -
        • origin_hotkey (str) – SS58 address of the origin hotkey associated with the stake.

        • -
        • origin_netuid (int) – Network UID of the origin subnet.

        • -
        • destination_hotkey (str) – SS58 address of the destination hotkey.

        • -
        • destination_netuid (int) – Network UID of the destination subnet.

        • +
        • origin_hotkey (str) – SS58 address of the origin hotkey associated with the stake.

        • +
        • origin_netuid (int) – Network UID of the origin subnet.

        • +
        • destination_hotkey (str) – SS58 address of the destination hotkey.

        • +
        • destination_netuid (int) – Network UID of the destination subnet.

        • amount (bittensor.utils.balance.Balance) – The amount of stake to move as a Balance object.

        • -
        • wait_for_inclusion (bool) – If True, waits for transaction inclusion in a block. Defaults to True.

        • -
        • wait_for_finalization (bool) – If True, waits for transaction finalization. Defaults to False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +

        • wait_for_inclusion (bool) – If True, waits for transaction inclusion in a block. Defaults to True.

        • +
        • wait_for_finalization (bool) – If True, waits for transaction finalization. Defaults to False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        • -
        • move_all_stake (bool) – If true, moves all stake from the source hotkey to the destination hotkey.

        • +
        • move_all_stake (bool) – If true, moves all stake from the source hotkey to the destination hotkey.

        Returns:

        True if the move was successful, False otherwise.

        Return type:
        -

        bool

        +

        bool

        @@ -476,16 +482,16 @@

        Module Contents
        • subtensor (AsyncSubtensor) – The subtensor instance to interact with the blockchain.

        • wallet (Wallet) – The wallet containing the coldkey to authorize the swap.

        • -
        • hotkey_ss58 (str) – SS58 address of the hotkey associated with the stake.

        • -
        • origin_netuid (int) – Network UID of the origin subnet.

        • -
        • destination_netuid (int) – Network UID of the destination subnet.

        • +
        • hotkey_ss58 (str) – SS58 address of the hotkey associated with the stake.

        • +
        • origin_netuid (int) – Network UID of the origin subnet.

        • +
        • destination_netuid (int) – Network UID of the destination subnet.

        • amount (Balance) – The amount of stake to swap as a Balance object.

        • -
        • wait_for_inclusion (bool) – If True, waits for transaction inclusion in a block. Defaults to True.

        • -
        • wait_for_finalization (bool) – If True, waits for transaction finalization. Defaults to False.

        • -
        • safe_staking (bool) – If true, enables price safety checks to protect against price impact.

        • -
        • allow_partial_stake (bool) – If true, allows partial stake swaps when the full amount would exceed the price tolerance.

        • -
        • rate_tolerance (float) – Maximum allowed increase in a price ratio (0.005 = 0.5%).

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • wait_for_inclusion (bool) – If True, waits for transaction inclusion in a block. Defaults to True.

        • +
        • wait_for_finalization (bool) – If True, waits for transaction finalization. Defaults to False.

        • +
        • safe_staking (bool) – If true, enables price safety checks to protect against price impact.

        • +
        • allow_partial_stake (bool) – If true, allows partial stake swaps when the full amount would exceed the price tolerance.

        • +
        • rate_tolerance (float) – Maximum allowed increase in a price ratio (0.005 = 0.5%).

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -494,7 +500,7 @@

        Module Contents

        True if the swap was successful, False otherwise.

        Return type:
        -

        bool

        +

        bool

        @@ -508,14 +514,14 @@

        Module Contents
        • subtensor (AsyncSubtensor) – The subtensor instance to interact with the blockchain.

        • wallet (Wallet) – The wallet containing the coldkey to authorize the transfer.

        • -
        • destination_coldkey_ss58 (str) – SS58 address of the destination coldkey.

        • -
        • hotkey_ss58 (str) – SS58 address of the hotkey associated with the stake.

        • -
        • origin_netuid (int) – Network UID of the origin subnet.

        • -
        • destination_netuid (int) – Network UID of the destination subnet.

        • +
        • destination_coldkey_ss58 (str) – SS58 address of the destination coldkey.

        • +
        • hotkey_ss58 (str) – SS58 address of the hotkey associated with the stake.

        • +
        • origin_netuid (int) – Network UID of the origin subnet.

        • +
        • destination_netuid (int) – Network UID of the destination subnet.

        • amount (Balance) – The amount of stake to transfer as a Balance object.

        • -
        • wait_for_inclusion (bool) – If True, waits for transaction inclusion in a block. Defaults to True.

        • -
        • wait_for_finalization (bool) – If True, waits for transaction finalization. Defaults to False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • wait_for_inclusion (bool) – If True, waits for transaction inclusion in a block. Defaults to True.

        • +
        • wait_for_finalization (bool) – If True, waits for transaction finalization. Defaults to False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -524,7 +530,7 @@

        Module Contents

        True if the transfer was successful, False otherwise.

        Return type:
        -

        bool

        +

        bool

        @@ -544,12 +550,12 @@

        Module Contents

        previous

        -

        bittensor.core.extrinsics.asyncex.liquidity

        +

        bittensor.core.extrinsics.asyncex.mechanism

        bittensor.core.types

    1812. +
    1813. bittensor.extras
      +
    1814. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -454,12 +460,12 @@

        Module Contents
        • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – Subtensor instance.

        • wallet (bittensor.wallet) – Bittensor wallet object.

        • -
        • netuid (int) – The netuid of the subnet to register on.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or +

        • netuid (int) – The netuid of the subnet to register on.

        • +
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -472,7 +478,7 @@

        Module ContentsReturn type: -

        success (bool)

        +

        success (bool)

        @@ -487,20 +493,20 @@

        Module Contentsbittensor.core.async_subtensor.AsyncSubtensor) – initialized AsyncSubtensor object to use for chain interactions

      • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

      • -
      • netuid (int) – The netuid of the subnet to register on.

      • -
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns +

      • netuid (int) – The netuid of the subnet to register on.

      • +
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

      • -
      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

      • -
      • max_allowed_attempts (int) – Maximum number of attempts to register the wallet.

      • -
      • output_in_place (bool) – Whether the POW solving should be outputted to the console as it goes along.

      • -
      • cuda (bool) – If True, the wallet should be registered using CUDA device(s).

      • -
      • dev_id (Union[list[int], int]) – The CUDA device id to use, or a list of device ids.

      • -
      • tpb (int) – The number of threads per block (CUDA).

      • -
      • num_processes (Optional[int]) – The number of processes to use to register.

      • -
      • update_interval (Optional[int]) – The number of nonces to solve between updates.

      • -
      • log_verbose (bool) – If True, the registration process will log more information.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • max_allowed_attempts (int) – Maximum number of attempts to register the wallet.

      • +
      • output_in_place (bool) – Whether the POW solving should be outputted to the console as it goes along.

      • +
      • cuda (bool) – If True, the wallet should be registered using CUDA device(s).

      • +
      • dev_id (Union[list[int], int]) – The CUDA device id to use, or a list of device ids.

      • +
      • tpb (int) – The number of threads per block (CUDA).

      • +
      • num_processes (Optional[int]) – The number of processes to use to register.

      • +
      • update_interval (Optional[int]) – The number of nonces to solve between updates.

      • +
      • log_verbose (bool) – If True, the registration process will log more information.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -513,7 +519,7 @@

      Module ContentsReturn type: -

      bool

      +

      bool

      @@ -527,9 +533,9 @@

      Module Contents
      • subtensor (AsyncSubtensor) – The async subtensor interface to send the extrinsic.

      • wallet (Wallet) – The wallet to be used for subnet registration.

      • -
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning true.

      • -
      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning true.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning true.

      • +
      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning true.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -538,7 +544,7 @@

      Module Contents

      True if the subnet registration was successful, False otherwise.

      Return type:
      -

      bool

      +

      bool

      @@ -552,18 +558,18 @@

      Module Contents
      • subtensor (AsyncSubtensor) – An instance of the Subtensor class to interact with the blockchain.

      • wallet (Wallet) – A wallet instance used to sign and submit the extrinsic.

      • -
      • netuid (int) – The unique ID for the subnet.

      • -
      • subnet_name (str) – The name of the subnet to assign the identity information.

      • -
      • github_repo (str) – URL of the GitHub repository related to the subnet.

      • -
      • subnet_contact (str) – Subnet’s contact information, e.g., email or contact link.

      • -
      • subnet_url (str) – The URL of the subnet’s primary web portal.

      • -
      • logo_url (str) – The URL of the logo’s primary web portal.

      • -
      • discord (str) – Discord server or contact for the subnet.

      • -
      • description (str) – A textual description of the subnet.

      • -
      • additional (str) – Any additional metadata or information related to the subnet.

      • -
      • wait_for_inclusion (bool) – Whether to wait for the extrinsic inclusion in a block (default: False).

      • -
      • wait_for_finalization (bool) – Whether to wait for the extrinsic finalization in a block (default: True).

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • netuid (int) – The unique ID for the subnet.

      • +
      • subnet_name (str) – The name of the subnet to assign the identity information.

      • +
      • github_repo (str) – URL of the GitHub repository related to the subnet.

      • +
      • subnet_contact (str) – Subnet’s contact information, e.g., email or contact link.

      • +
      • subnet_url (str) – The URL of the subnet’s primary web portal.

      • +
      • logo_url (str) – The URL of the logo’s primary web portal.

      • +
      • discord (str) – Discord server or contact for the subnet.

      • +
      • description (str) – A textual description of the subnet.

      • +
      • additional (str) – Any additional metadata or information related to the subnet.

      • +
      • wait_for_inclusion (bool) – Whether to wait for the extrinsic inclusion in a block (default: False).

      • +
      • wait_for_finalization (bool) – Whether to wait for the extrinsic finalization in a block (default: True).

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -576,7 +582,7 @@

      Module ContentsReturn type: -

      tuple[bool, str]

      +

      tuple[bool, str]

      diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/root/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/root/index.html index de5d556e72..c5808a9a46 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/root/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/root/index.html @@ -169,6 +169,12 @@
    1815. bittensor.core.types
    1816. +
    1817. bittensor.extras
      +
    1818. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -441,11 +447,11 @@

        Module Contents
        • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – The AsyncSubtensor object

        • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns +

        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -458,7 +464,7 @@

        Module ContentsReturn type: -

        bool

        +

        bool

        @@ -472,15 +478,15 @@

        Module Contents
        • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – The AsyncSubtensor object

        • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

        • -
        • netuids (Union[NDArray[np.int64], list[int]]) – The netuid of the subnet to set weights for.

        • -
        • weights (Union[NDArray[np.float32], list[Float]]) – Weights to set. These must be Float`s and must correspond +

        • netuids (Union[NDArray[np.int64], list[int]]) – The netuid of the subnet to set weights for.

        • +
        • weights (Union[NDArray[np.float32], list[Float]]) – Weights to set. These must be Float`s and must correspond to the passed `netuid s.

        • -
        • version_key (int) – The version key of the validator.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns +

        • version_key (int) – The version key of the validator.

        • +
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning ` +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning ` True`, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -493,7 +499,7 @@

        Module ContentsReturn type: -

        bool

        +

        bool

        diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/serving/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/serving/index.html index cb05770331..e0b40aef12 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/serving/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/serving/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    1819. +
    1820. bittensor.extras
      +
    1821. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -461,9 +467,9 @@

        Module Contentsbittensor.core.async_subtensor.AsyncSubtensor) – Subtensor instance object.

      • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron.

      • call_params (bittensor.core.types.AxonServeCallParams) – Parameters required for the serve axon call.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -472,7 +478,7 @@

      Module Contents

      A tuple containing a success flag and an optional error message.

      Return type:
      -

      tuple[bool, str]

      +

      tuple[bool, str]

      @@ -489,15 +495,15 @@

      Module ContentsParameters:
      Return type:
      -

      bytes

      +

      bytes

      @@ -510,15 +516,15 @@

      Module ContentsParameters:
      Return type:
      -

      Union[str, dict]

      +

      Union[str, dict]

      @@ -532,27 +538,27 @@

      Module Contents
      • subtensor (bittensor.subtensor) – The subtensor instance representing the Bittensor blockchain connection.

      • wallet (bittensor.wallet) – The wallet object used for authentication in the transaction.

      • -
      • netuid (int) – Network UID on which the metadata is to be published.

      • -
      • data_type (str) – The data type of the information being submitted. It should be one of the following: +

      • netuid (int) – Network UID on which the metadata is to be published.

      • +
      • data_type (str) – The data type of the information being submitted. It should be one of the following: 'Sha256', 'Blake256', 'Keccak256', or 'Raw0-128'. This specifies the format or hashing algorithm used for the data.

      • -
      • data (Union[bytes, dict]) – The actual metadata content to be published. This should be formatted or hashed +

      • data (Union[bytes, dict]) – The actual metadata content to be published. This should be formatted or hashed according to the type specified. (Note: max str length is 128 bytes for 'Raw0-128'.)

      • -
      • wait_for_inclusion (bool, optional) – If True, the function will wait for the extrinsic to be included in a +

      • wait_for_inclusion (bool, optional) – If True, the function will wait for the extrinsic to be included in a block before returning. Defaults to False.

      • -
      • wait_for_finalization (bool, optional) – If True, the function will wait for the extrinsic to be finalized +

      • wait_for_finalization (bool, optional) – If True, the function will wait for the extrinsic to be finalized on the chain before returning. Defaults to True.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      • -
      • reset_bonds (bool) – If True, the function will reset the bonds for the neuron. Defaults to False.

      • +
      • reset_bonds (bool) – If True, the function will reset the bonds for the neuron. Defaults to False.

      Returns:

      True if the metadata was successfully published (and finalized if specified). False otherwise.

      Return type:
      -

      bool

      +

      bool

      Raises:

      MetadataError – If there is an error in submitting the extrinsic, or if the response from the blockchain indicates @@ -569,15 +575,15 @@

      Module ContentsParameters:
      • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – Subtensor instance object.

      • -
      • netuid (int) – The netuid being served on.

      • +
      • netuid (int) – The netuid being served on.

      • axon (bittensor.core.axon.Axon) – Axon to serve.

      • -
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or +

      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

      • -
      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

      • certificate (bittensor.utils.Certificate) – Certificate to use for TLS. If None, no TLS will be used. Defaults to None.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -590,7 +596,7 @@

      Module ContentsReturn type: -

      success (bool)

      +

      success (bool)

      @@ -604,19 +610,19 @@

      Module Contents
      • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – Subtensor instance object.

      • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

      • -
      • ip (str) – Endpoint host port i.e., 192.122.31.4.

      • -
      • port (int) – Endpoint port number i.e., 9221.

      • -
      • protocol (int) – An int representation of the protocol.

      • -
      • netuid (int) – The network uid to serve on.

      • -
      • placeholder1 (int) – A placeholder for future use.

      • -
      • placeholder2 (int) – A placeholder for future use.

      • -
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or +

      • ip (str) – Endpoint host port i.e., 192.122.31.4.

      • +
      • port (int) – Endpoint port number i.e., 9221.

      • +
      • protocol (int) – An int representation of the protocol.

      • +
      • netuid (int) – The network uid to serve on.

      • +
      • placeholder1 (int) – A placeholder for future use.

      • +
      • placeholder2 (int) – A placeholder for future use.

      • +
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

      • -
      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

      • certificate (bittensor.utils.Certificate) – Certificate to use for TLS. If None, no TLS will be used. Defaults to None.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -629,7 +635,7 @@

      Module ContentsReturn type: -

      success (bool)

      +

      success (bool)

      diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/staking/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/staking/index.html index 052df03f9f..85845604ec 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/staking/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/staking/index.html @@ -169,6 +169,12 @@
    1822. bittensor.core.types
    1823. +
    1824. bittensor.extras
      +
    1825. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -443,18 +449,18 @@

        Module Contentsbittensor.core.async_subtensor.AsyncSubtensor) – Subtensor instance with the connection to the chain.

      • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

      • old_balance (Optional[bittensor.utils.balance.Balance]) – the balance prior to the staking

      • -
      • hotkey_ss58 (Optional[str]) – The ss58 address of the hotkey account to stake to default to the wallet’s hotkey. If not +

      • hotkey_ss58 (Optional[str]) – The ss58 address of the hotkey account to stake to default to the wallet’s hotkey. If not specified, the wallet’s hotkey will be used. Defaults to None.

      • -
      • netuid (Optional[int]) – The unique identifier of the subnet to which the neuron belongs.

      • +
      • netuid (Optional[int]) – The unique identifier of the subnet to which the neuron belongs.

      • amount (Optional[bittensor.utils.balance.Balance]) – Amount to stake as Bittensor balance in TAO always, None if staking all. Defaults is None.

      • -
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns +

      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout. Defaults to True.

      • -
      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, +

      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout. Defaults to False.

      • -
      • safe_staking (bool) – If True, enables price safety checks. Default is False.

      • -
      • allow_partial_stake (bool) – If True, allows partial unstaking if price tolerance exceeded. Default is False.

      • -
      • rate_tolerance (float) – Maximum allowed price increase percentage (0.005 = 0.5%). Default is 0.005.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • safe_staking (bool) – If True, enables price safety checks. Default is False.

      • +
      • allow_partial_stake (bool) – If True, allows partial unstaking if price tolerance exceeded. Default is False.

      • +
      • rate_tolerance (float) – Maximum allowed price increase percentage (0.005 = 0.5%). Default is 0.005.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction. Defaults to None.

      @@ -485,14 +491,14 @@

      Module Contentsbittensor.core.async_subtensor.AsyncSubtensor) – The initialized SubtensorInterface object.

    1826. wallet (bittensor_wallet.Wallet) – Bittensor wallet object for the coldkey.

    1827. old_balance (Optional[bittensor.utils.balance.Balance]) – The balance of the wallet prior to staking.

    1828. -
    1829. hotkey_ss58s (list[str]) – List of hotkeys to stake to.

    1830. -
    1831. netuids (list[int]) – List of netuids to stake to.

    1832. -
    1833. amounts (Optional[list[bittensor.utils.balance.Balance]]) – List of amounts to stake. If None, stake all to the first hotkey.

    1834. -
    1835. wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False +

    1836. hotkey_ss58s (list[str]) – List of hotkeys to stake to.

    1837. +
    1838. netuids (bittensor.core.types.UIDs) – List of netuids to stake to.

    1839. +
    1840. amounts (Optional[list[bittensor.utils.balance.Balance]]) – List of amounts to stake. If None, stake all to the first hotkey.

    1841. +
    1842. wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

    1843. -
    1844. wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or +

    1845. wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

    1846. -
    1847. period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

    1848. period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

    1849. diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/start_call/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/start_call/index.html index a7f4555e23..cddf7cc7c1 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/start_call/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/start_call/index.html @@ -48,7 +48,7 @@ - + @@ -169,6 +169,12 @@
    1850. bittensor.core.types
    1851. +
    1852. bittensor.extras
      +
    1853. bittensor.utils
    1854. +
    1855. bittensor.extras
      +
    1856. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -441,12 +447,12 @@

        Module Contents
        • subtensor (Subtensor) – Blockchain connection.

        • wallet (Wallet) – The wallet to sign the extrinsic.

        • -
        • hotkey_ss58 (str) – SS58 address of the hotkey to set take for.

        • -
        • take (int) – The percentage of rewards that the delegate claims from nominators.

        • -
        • wait_for_inclusion (bool, optional) – Wait for inclusion before returning. Defaults to True.

        • -
        • wait_for_finalization (bool, optional) – Wait for finalization before returning. Defaults to True.

        • -
        • raise_error (bool, optional) – Raise error on failure. Defaults to False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • hotkey_ss58 (str) – SS58 address of the hotkey to set take for.

        • +
        • take (int) – The percentage of rewards that the delegate claims from nominators.

        • +
        • wait_for_inclusion (bool, optional) – Wait for inclusion before returning. Defaults to True.

        • +
        • wait_for_finalization (bool, optional) – Wait for finalization before returning. Defaults to True.

        • +
        • raise_error (bool, optional) – Raise error on failure. Defaults to False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -455,7 +461,7 @@

        Module Contents

        Success flag and status message.

        Return type:
        -

        tuple[bool, str]

        +

        tuple[bool, str]

        @@ -469,12 +475,12 @@

        Module Contents
        • subtensor (Subtensor) – Blockchain connection.

        • wallet (Wallet) – The wallet to sign the extrinsic.

        • -
        • hotkey_ss58 (str) – SS58 address of the hotkey to set take for.

        • -
        • take (int) – The percentage of rewards that the delegate claims from nominators.

        • -
        • wait_for_inclusion (bool, optional) – Wait for inclusion before returning. Defaults to True.

        • -
        • wait_for_finalization (bool, optional) – Wait for finalization before returning. Defaults to True.

        • -
        • raise_error (bool, optional) – Raise error on failure. Defaults to False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • hotkey_ss58 (str) – SS58 address of the hotkey to set take for.

        • +
        • take (int) – The percentage of rewards that the delegate claims from nominators.

        • +
        • wait_for_inclusion (bool, optional) – Wait for inclusion before returning. Defaults to True.

        • +
        • wait_for_finalization (bool, optional) – Wait for finalization before returning. Defaults to True.

        • +
        • raise_error (bool, optional) – Raise error on failure. Defaults to False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -483,7 +489,7 @@

        Module Contents

        Success flag and status message.

        Return type:
        -

        tuple[bool, str]

        +

        tuple[bool, str]

        @@ -503,12 +509,12 @@

        Module Contents

        previous

        -

        bittensor.core.extrinsics.asyncex.start_call

        +

        bittensor.core.extrinsics.asyncex.sudo

        bittensor.core.types

    1857. +
    1858. bittensor.extras
      +
    1859. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -437,16 +443,16 @@

        Module Contents
        • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – initialized AsyncSubtensor object used for transfer

        • wallet (bittensor_wallet.Wallet) – Bittensor wallet object to make transfer from.

        • -
        • dest (str) – Destination public key address (ss58_address or ed25519) of recipient.

        • +
        • dest (str) – Destination public key address (ss58_address or ed25519) of recipient.

        • amount (Optional[bittensor.utils.balance.Balance]) – Amount to stake as Bittensor balance. None if transferring all.

        • -
        • transfer_all (bool) – Whether to transfer all funds from this wallet to the destination address.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns +

        • transfer_all (bool) – Whether to transfer all funds from this wallet to the destination address.

        • +
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • keep_alive (bool) – If set, keeps the account alive by keeping the balance above the existential deposit.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. +

        • keep_alive (bool) – If set, keeps the account alive by keeping the balance above the existential deposit.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -459,7 +465,7 @@

        Module ContentsReturn type: -

        success (bool)

        +

        success (bool)

        diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.html index 9ae562adb7..89646df580 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    1860. +
    1861. bittensor.extras
      +
    1862. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -445,13 +451,13 @@

        Module Contents
        • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – Subtensor instance.

        • wallet (bittensor_wallet.Wallet) – The wallet of the stake owner.

        • -
        • hotkey (str) – The SS58 address of the hotkey to unstake from.

        • -
        • netuid (int) – The unique identifier of the subnet.

        • -
        • rate_tolerance (Optional[float]) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum +

        • hotkey (str) – The SS58 address of the hotkey to unstake from.

        • +
        • netuid (int) – The unique identifier of the subnet.

        • +
        • rate_tolerance (Optional[float]) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum price decrease. If not passed (None), then unstaking goes without price limit. Default is 0.005.

        • -
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

        • -
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +

        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

        • +
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction. Default is None.

        @@ -462,7 +468,7 @@

        Module ContentsReturn type: -

        tuple[bool, str]

        +

        tuple[bool, str]

        @@ -476,20 +482,20 @@

        Module Contents
        • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – AsyncSubtensor instance.

        • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

        • -
        • hotkey_ss58 (Optional[str]) – The ss58 address of the hotkey to unstake from. By default, the wallet hotkey is used.

        • -
        • netuid (Optional[int]) – The subnet uid to unstake from.

        • +
        • hotkey_ss58 (Optional[str]) – The ss58 address of the hotkey to unstake from. By default, the wallet hotkey is used.

        • +
        • netuid (Optional[int]) – The subnet uid to unstake from.

        • amount (Optional[bittensor.utils.balance.Balance]) – Amount to stake as Bittensor balance, or float interpreted as Tao.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns +

        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • safe_staking (bool) – If true, enables price safety checks

        • -
        • allow_partial_stake (bool) – If true, allows partial unstaking if price tolerance exceeded

        • -
        • rate_tolerance (float) – Maximum allowed price decrease percentage (0.005 = 0.5%)

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +

        • safe_staking (bool) – If true, enables price safety checks

        • +
        • allow_partial_stake (bool) – If true, allows partial unstaking if price tolerance exceeded

        • +
        • rate_tolerance (float) – Maximum allowed price decrease percentage (0.005 = 0.5%)

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        • -
        • unstake_all (bool) – If true, unstakes all tokens. Default is False.

        • +
        • unstake_all (bool) – If true, unstakes all tokens. Default is False.

        Returns:
        @@ -498,7 +504,7 @@

        Module ContentsReturn type: -

        tuple[bool, str]

        +

        tuple[bool, str]

        @@ -512,17 +518,17 @@

        Module Contents
        • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – Subtensor instance.

        • wallet (bittensor_wallet.Wallet) – The wallet with the coldkey to unstake to.

        • -
        • hotkey_ss58s (list[str]) – List of hotkeys to unstake from.

        • -
        • netuids (list[int]) – List of netuids to unstake from.

        • -
        • amounts (Optional[list[bittensor.utils.balance.Balance]]) – List of amounts to unstake. If None, unstake all.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or +

        • hotkey_ss58s (list[str]) – List of hotkeys to unstake from.

        • +
        • netuids (bittensor.core.types.UIDs) – List of netuids to unstake from.

        • +
        • amounts (Optional[list[bittensor.utils.balance.Balance]]) – List of amounts to unstake. If None, unstake all.

        • +
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +

        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        • -
        • unstake_all (bool) – If true, unstakes all tokens. Default is False.

        • +
        • unstake_all (bool) – If true, unstakes all tokens. Default is False.

        Returns:
        @@ -531,7 +537,7 @@

        Module ContentsReturn type: -

        tuple[bool, str]

        +

        tuple[bool, str]

        diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/utils/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/utils/index.html index 6f6e12790a..c117f002fa 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/utils/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/utils/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    1863. +
    1864. bittensor.extras
      +
    1865. bittensor.utils
      @@ -422,6 +429,9 @@

      Functions

      get_extrinsic_fee(subtensor, call, keypair[, netuid])

      Get extrinsic fee for a given extrinsic call and keypair for a given SN's netuid.

      +

      sudo_call_extrinsic(subtensor, wallet, call_function, ...)

      +

      Execute a sudo call extrinsic.

      +

    1866. @@ -436,7 +446,7 @@

      Module ContentsParameters:
      • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – The Subtensor instance.

      • -
      • netuid (Optional[int]) – The SN’s netuid.

      • +
      • netuid (Optional[int]) – The SN’s netuid.

      • call (scalecodec.GenericCall) – The extrinsic call.

      • keypair (bittensor_wallet.Keypair) – The keypair associated with the extrinsic.

      @@ -447,6 +457,39 @@

      Module Contents +
      +async bittensor.core.extrinsics.asyncex.utils.sudo_call_extrinsic(subtensor, wallet, call_function, call_params, call_module='AdminUtils', sign_with='coldkey', use_nonce=False, nonce_key='hotkey', period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
      +

      Execute a sudo call extrinsic.

      +
      +
      Parameters:
      +
        +
      • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – AsyncSubtensor instance.

      • +
      • wallet (bittensor_wallet.Wallet) – The wallet instance.

      • +
      • call_function (str) – The call function to execute.

      • +
      • call_params (dict) – The call parameters.

      • +
      • call_module (str) – The call module.

      • +
      • sign_with (str) – The keypair to sign the extrinsic with.

      • +
      • use_nonce (bool) – Whether to use a nonce.

      • +
      • nonce_key (str) – The key to use for the nonce.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

      • +
      • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

      • +
      • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

      • +
      • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

      • +
      +
      +
      Returns:
      +

      True if the extrinsic executed successfully, False otherwise. +message is a string value describing the success or potential error.

      +
      +
      Return type:
      +

      tuple[bool, str]

      +
      +
      +
      + @@ -499,6 +542,7 @@

      Module ContentsFunctions
    1867. Module Contents
    1868. diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/weights/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/weights/index.html index e49a073407..4f6c18e357 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/weights/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/weights/index.html @@ -169,6 +169,12 @@
    1869. bittensor.core.types
    1870. +
    1871. bittensor.extras
      +
    1872. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -448,11 +454,11 @@

        Module Contentsbittensor.core.async_subtensor.AsyncSubtensor) – The subtensor instance used for blockchain interaction.

      • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron committing the weights.

      • -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • commit_hash (str) – The hash of the neuron’s weights to be committed.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • netuid (int) – The unique identifier of the subnet.

      • +
      • commit_hash (str) – The hash of the neuron’s weights to be committed.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -462,7 +468,7 @@

      Module ContentsReturn type: -

      tuple[bool, str]

      +

      tuple[bool, str]

      @@ -481,14 +487,14 @@

      Module Contents
      • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – The subtensor instance used for blockchain interaction.

      • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron revealing the weights.

      • -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • uids (list[int]) – List of neuron UIDs for which weights are being revealed.

      • -
      • weights (list[int]) – List of weight values corresponding to each UID.

      • -
      • salt (list[int]) – List of salt values corresponding to the hash function.

      • -
      • version_key (int) – Version key for compatibility with the network.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • netuid (int) – The unique identifier of the subnet.

      • +
      • uids (list[int]) – List of neuron UIDs for which weights are being revealed.

      • +
      • weights (list[int]) – List of weight values corresponding to each UID.

      • +
      • salt (list[int]) – List of salt values corresponding to the hash function.

      • +
      • version_key (int) – Version key for compatibility with the network.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -498,7 +504,7 @@

      Module ContentsReturn type: -

      tuple[bool, str]

      +

      tuple[bool, str]

      @@ -516,16 +522,16 @@

      Module Contents
      • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – Bittensor subtensor object.

      • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

      • -
      • netuid (int) – The netuid of the subnet to set weights for.

      • -
      • uids (Union[NDArray[np.int64], torch.LongTensor, list]) – The uint64 uids of destination neurons.

      • -
      • weights (Union[NDArray[np.float32], torch.FloatTensor, list]) – The weights to set. These must be float s and +

      • netuid (int) – The netuid of the subnet to set weights for.

      • +
      • uids (Union[NDArray[np.int64], torch.LongTensor, list]) – The uint64 uids of destination neurons.

      • +
      • weights (Union[NDArray[np.float32], torch.FloatTensor, list]) – The weights to set. These must be float s and correspond to the passed uid s.

      • -
      • version_key (int) – The version key of the validator.

      • -
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or +

      • version_key (int) – The version key of the validator.

      • +
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

      • -
      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -535,7 +541,7 @@

      Module ContentsReturn type: -

      tuple[bool, str]

      +

      tuple[bool, str]

    1873. diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/children/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/children/index.html index 53c0444aac..43b622d415 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/children/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/children/index.html @@ -169,6 +169,12 @@
    1874. bittensor.core.types
    1875. +
    1876. bittensor.extras
      +
    1877. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -441,14 +447,14 @@

        Module Contents
        Return type:
        -

        tuple[bool, str]

        +

        tuple[bool, str]

        @@ -462,13 +468,13 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – bittensor subtensor.

        • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

        • -
        • hotkey (str) – The SS58 address of the neuron’s hotkey.

        • -
        • netuid (int) – The netuid value.

        • -
        • children (list[tuple[float, str]]) – A list of children with their proportions.

        • -
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

        • -
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

        • -
        • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +

        • hotkey (str) – The SS58 address of the neuron’s hotkey.

        • +
        • netuid (int) – The netuid value.

        • +
        • children (list[tuple[float, str]]) – A list of children with their proportions.

        • +
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

        • +
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

        • +
        • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -481,7 +487,7 @@

        Module ContentsReturn type: -

        tuple[bool, str]

        +

        tuple[bool, str]

        Raises:
          @@ -491,7 +497,7 @@

          Module ContentsNotEnoughStakeToSetChildkeys – Parent key doesn’t have minimum own stake.

        • ProportionOverflow – The sum of the proportions does exceed uint64.

        • RegistrationNotPermittedOnRootSubnet – Attempting to register a child on the root network.

        • -
        • SubNetworkDoesNotExist – Attempting to register to a non-existent network.

        • +
        • SubNetworkDoesNotExist – Attempting to register to a non-existent network.

        • TooManyChildren – Too many children in request.

        • TxRateLimitExceeded – Hotkey hit the rate limit.

        • bittensor_wallet.errors.KeyFileError – Failed to decode keyfile data.

        • diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/commit_reveal/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/commit_reveal/index.html index d071ef28f8..81cbadf838 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/commit_reveal/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/commit_reveal/index.html @@ -169,6 +169,12 @@
        • bittensor.core.types

    1878. +
    1879. bittensor.extras
      +
    1880. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -438,14 +444,14 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – The Subtensor instance.

        • wallet (bittensor_wallet.Wallet) – The wallet to use for committing and revealing.

        • -
        • netuid (int) – The id of the network.

        • -
        • uids (Union[numpy.typing.NDArray[numpy.int64], bittensor.utils.registration.torch.LongTensor, list]) – The uids to commit.

        • -
        • weights (Union[numpy.typing.NDArray[numpy.float32], bittensor.utils.registration.torch.FloatTensor, list]) – The weights associated with the uids.

        • -
        • version_key (int) – The version key to use for committing and revealing. Default is version_as_int.

        • -
        • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction. Default is False.

        • -
        • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction. Default is False.

        • -
        • block_time (float) – The number of seconds for block duration. Default is 12.0 seconds.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. +

        • netuid (int) – The id of the network.

        • +
        • uids (Union[numpy.typing.NDArray[numpy.int64], bittensor.utils.registration.torch.LongTensor, list]) – The uids to commit.

        • +
        • weights (Union[numpy.typing.NDArray[numpy.float32], bittensor.utils.registration.torch.FloatTensor, list]) – The weights associated with the uids.

        • +
        • version_key (int) – The version key to use for committing and revealing. Default is version_as_int.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction. Default is False.

        • +
        • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction. Default is False.

        • +
        • block_time (float) – The number of seconds for block duration. Default is 12.0 seconds.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -458,7 +464,7 @@

        Module ContentsReturn type: -

        tuple[bool, str]

        +

        tuple[bool, str]

        diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html index 590ec66d9b..448bd6d69c 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    1881. +
    1882. bittensor.extras
      +
    1883. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -443,11 +449,11 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – The subtensor instance used for blockchain interaction.

        • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron committing the weights.

        • -
        • netuid (int) – The unique identifier of the subnet.

        • -
        • commit_hash (str) – The hash of the neuron’s weights to be committed.

        • -
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

        • -
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • netuid (int) – The unique identifier of the subnet.

        • +
        • commit_hash (str) – The hash of the neuron’s weights to be committed.

        • +
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

        • +
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -457,7 +463,7 @@

        Module ContentsReturn type: -

        tuple[bool, str]

        +

        tuple[bool, str]

        @@ -476,14 +482,14 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – The subtensor instance used for blockchain interaction.

        • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron revealing the weights.

        • -
        • netuid (int) – The unique identifier of the subnet.

        • -
        • uids (list[int]) – List of neuron UIDs for which weights are being revealed.

        • -
        • weights (list[int]) – List of weight values corresponding to each UID.

        • -
        • salt (list[int]) – List of salt values corresponding to the hash function.

        • -
        • version_key (int) – Version key for compatibility with the network.

        • -
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

        • -
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • netuid (int) – The unique identifier of the subnet.

        • +
        • uids (list[int]) – List of neuron UIDs for which weights are being revealed.

        • +
        • weights (list[int]) – List of weight values corresponding to each UID.

        • +
        • salt (list[int]) – List of salt values corresponding to the hash function.

        • +
        • version_key (int) – Version key for compatibility with the network.

        • +
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

        • +
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -493,7 +499,7 @@

        Module ContentsReturn type: -

        tuple[bool, str]

        +

        tuple[bool, str]

        diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/index.html index 1d1a021288..f62653d448 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    1884. +
    1885. bittensor.extras
      +
    1886. bittensor.utils
    1887. diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/liquidity/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/liquidity/index.html index a4201e6864..006d9470f3 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/liquidity/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/liquidity/index.html @@ -48,7 +48,7 @@ - + @@ -169,6 +169,12 @@
    1888. bittensor.core.types
    1889. +
    1890. bittensor.extras
      +
    1891. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -449,14 +455,14 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – The Subtensor client instance used for blockchain interaction.

        • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

        • -
        • netuid (int) – The UID of the target subnet for which the call is being initiated.

        • +
        • netuid (int) – The UID of the target subnet for which the call is being initiated.

        • liquidity (bittensor.utils.balance.Balance) – The amount of liquidity to be added.

        • price_low (bittensor.utils.balance.Balance) – The lower bound of the price tick range.

        • price_high (bittensor.utils.balance.Balance) – The upper bound of the price tick range.

        • -
        • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to None.

        • -
        • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

        • -
        • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to None.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

        • +
        • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -469,7 +475,7 @@

        Module ContentsReturn type: -

        Tuple[bool, str]

        +

        Tuple[bool, str]

        @@ -487,13 +493,13 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – The Subtensor client instance used for blockchain interaction.

        • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

        • -
        • netuid (int) – The UID of the target subnet for which the call is being initiated.

        • -
        • position_id (int) – The id of the position record in the pool.

        • +
        • netuid (int) – The UID of the target subnet for which the call is being initiated.

        • +
        • position_id (int) – The id of the position record in the pool.

        • liquidity_delta (bittensor.utils.balance.Balance) – The amount of liquidity to be added or removed (add if positive or remove if negative).

        • -
        • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to None.

        • -
        • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

        • -
        • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to None.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

        • +
        • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -506,7 +512,7 @@

        Module ContentsReturn type: -

        Tuple[bool, str]

        +

        Tuple[bool, str]

        @@ -524,12 +530,12 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – The Subtensor client instance used for blockchain interaction.

        • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

        • -
        • netuid (int) – The UID of the target subnet for which the call is being initiated.

        • -
        • position_id (int) – The id of the position record in the pool.

        • -
        • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to None.

        • -
        • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

        • -
        • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • netuid (int) – The UID of the target subnet for which the call is being initiated.

        • +
        • position_id (int) – The id of the position record in the pool.

        • +
        • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to None.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

        • +
        • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -542,7 +548,7 @@

        Module ContentsReturn type: -

        Tuple[bool, str]

        +

        Tuple[bool, str]

        @@ -560,11 +566,11 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – The Subtensor client instance used for blockchain interaction.

        • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

        • -
        • netuid (int) – The UID of the target subnet for which the call is being initiated.

        • -
        • enable (bool) – Boolean indicating whether to enable user liquidity.

        • -
        • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

        • -
        • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • netuid (int) – The UID of the target subnet for which the call is being initiated.

        • +
        • enable (bool) – Boolean indicating whether to enable user liquidity.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

        • +
        • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -577,7 +583,7 @@

        Module ContentsReturn type: -

        Tuple[bool, str]

        +

        Tuple[bool, str]

        @@ -606,11 +612,11 @@

        Module Contents

        next

        -

        bittensor.core.extrinsics.move_stake

        +

        bittensor.core.extrinsics.mechanism

        diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/mechanism/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/mechanism/index.html new file mode 100644 index 0000000000..a72143c2d4 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/mechanism/index.html @@ -0,0 +1,692 @@ + + + + + + + + + + + bittensor.core.extrinsics.mechanism — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + + + + + + +
        + +
        +

        bittensor.core.extrinsics.mechanism#

        +
        +

        Functions#

        +
        + + + + + + + + + + + + + + +

        commit_mechanism_weights_extrinsic(subtensor, wallet, ...)

        Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

        commit_timelocked_mechanism_weights_extrinsic(...[, ...])

        Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

        reveal_mechanism_weights_extrinsic(subtensor, wallet, ...)

        Reveals the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

        set_mechanism_weights_extrinsic(subtensor, wallet, ...)

        Sets the passed weights in the chain for hotkeys in the sub-subnet of the passed subnet.

        +
        +
        +
        +

        Module Contents#

        +
        +
        +bittensor.core.extrinsics.mechanism.commit_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, salt, version_key=version_as_int, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
        +

        Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

        +
        +
        Parameters:
        +
          +
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

        • +
        • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

        • +
        • netuid (int) – The subnet unique identifier.

        • +
        • mechid (int) – The subnet mechanism unique identifier.

        • +
        • uids (bittensor.core.types.UIDs) – NumPy array of neuron UIDs for which weights are being committed.

        • +
        • weights (bittensor.core.types.Weights) – NumPy array of weight values corresponding to each UID.

        • +
        • salt (bittensor.core.types.Salt) – list of randomly generated integers as salt to generated weighted hash.

        • +
        • version_key (int) – Version key for compatibility with the network.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

        • +
        • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

        • +
        • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

        • +
        +
        +
        Returns:
        +

        True if the extrinsic executed successfully, False otherwise. +message is a string value describing the success or potential error.

        +
        +
        Return type:
        +

        tuple[bool, str]

        +
        +
        +
        + +
        +
        +bittensor.core.extrinsics.mechanism.commit_timelocked_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, block_time, commit_reveal_version=4, version_key=version_as_int, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
        +

        Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

        +
        +
        Parameters:
        +
          +
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

        • +
        • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

        • +
        • netuid (int) – The unique identifier of the subnet.

        • +
        • mechid (int) – The sub-subnet unique identifier.

        • +
        • uids (bittensor.core.types.UIDs) – The list of neuron UIDs that the weights are being set for.

        • +
        • weights (bittensor.core.types.Weights) – The corresponding weights to be set for each UID.

        • +
        • block_time (Union[int, float]) – The number of seconds for block duration.

        • +
        • commit_reveal_version (int) – The version of the commit-reveal in the chain.

        • +
        • version_key (int) – Version key for compatibility with the network.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

        • +
        • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

        • +
        • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

        • +
        +
        +
        Returns:
        +

        True if the extrinsic executed successfully, False otherwise. +message is a string value describing the success or potential error.

        +
        +
        Return type:
        +

        tuple[bool, str]

        +
        +
        +
        + +
        +
        +bittensor.core.extrinsics.mechanism.reveal_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, salt, version_key, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
        +

        Reveals the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

        +
        +
        Parameters:
        +
          +
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

        • +
        • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

        • +
        • netuid (int) – The unique identifier of the subnet.

        • +
        • mechid (int) – The subnet mechanism unique identifier.

        • +
        • uids (bittensor.core.types.UIDs) – List of neuron UIDs for which weights are being revealed.

        • +
        • weights (bittensor.core.types.Weights) – List of weight values corresponding to each UID.

        • +
        • salt (bittensor.core.types.Salt) – List of salt values corresponding to the hash function.

        • +
        • version_key (int) – Version key for compatibility with the network.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

        • +
        • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

        • +
        • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

        • +
        +
        +
        Returns:
        +

        True if the extrinsic executed successfully, False otherwise. +message is a string value describing the success or potential error.

        +
        +
        Return type:
        +

        tuple[bool, str]

        +
        +
        +
        + +
        +
        +bittensor.core.extrinsics.mechanism.set_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, version_key, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
        +

        Sets the passed weights in the chain for hotkeys in the sub-subnet of the passed subnet.

        +
        +
        Parameters:
        +
          +
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

        • +
        • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

        • +
        • netuid (int) – The unique identifier of the subnet.

        • +
        • mechid (int) – The subnet mechanism unique identifier.

        • +
        • uids (bittensor.core.types.UIDs) – List of neuron UIDs for which weights are being revealed.

        • +
        • weights (bittensor.core.types.Weights) – List of weight values corresponding to each UID.

        • +
        • version_key (int) – Version key for compatibility with the network.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

        • +
        • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

        • +
        • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

        • +
        +
        +
        Returns:
        +

        True if the extrinsic executed successfully, False otherwise. +message is a string value describing the success or potential error.

        +
        +
        Return type:
        +

        tuple[bool, str]

        +
        +
        +
        + +
        +
        + + +
        + + + + + + + + +
        + + + + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/move_stake/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/move_stake/index.html index d096924037..d764e58683 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/move_stake/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/move_stake/index.html @@ -48,8 +48,8 @@ - - + + @@ -169,6 +169,12 @@
      • bittensor.core.types
    1892. +
    1893. bittensor.extras
      +
    1894. bittensor.utils
    1895. +
    1896. bittensor.extras
      +
    1897. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -453,12 +459,12 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

        • wallet (bittensor.wallet) – Bittensor wallet object.

        • -
        • netuid (int) – The netuid of the subnet to register on.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or +

        • netuid (int) – The netuid of the subnet to register on.

        • +
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -471,7 +477,7 @@

        Module ContentsReturn type: -

        success (bool)

        +

        success (bool)

        @@ -485,20 +491,20 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor object to use for chain interactions

        • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

        • -
        • netuid (int) – The netuid of the subnet to register on.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns +

        • netuid (int) – The netuid of the subnet to register on.

        • +
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • max_allowed_attempts (int) – Maximum number of attempts to register the wallet.

        • -
        • output_in_place (bool) – Whether the POW solving should be outputted to the console as it goes along.

        • -
        • cuda (bool) – If True, the wallet should be registered using CUDA device(s).

        • -
        • dev_id (Union[list[int], int]) – The CUDA device id to use, or a list of device ids.

        • -
        • tpb (int) – The number of threads per block (CUDA).

        • -
        • num_processes (Optional[int]) – The number of processes to use to register.

        • -
        • update_interval (Optional[int]) – The number of nonces to solve between updates.

        • -
        • log_verbose (bool) – If True, the registration process will log more information.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • max_allowed_attempts (int) – Maximum number of attempts to register the wallet.

        • +
        • output_in_place (bool) – Whether the POW solving should be outputted to the console as it goes along.

        • +
        • cuda (bool) – If True, the wallet should be registered using CUDA device(s).

        • +
        • dev_id (Union[list[int], int]) – The CUDA device id to use, or a list of device ids.

        • +
        • tpb (int) – The number of threads per block (CUDA).

        • +
        • num_processes (Optional[int]) – The number of processes to use to register.

        • +
        • update_interval (Optional[int]) – The number of nonces to solve between updates.

        • +
        • log_verbose (bool) – If True, the registration process will log more information.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -511,7 +517,7 @@

        Module ContentsReturn type: -

        bool

        +

        bool

        @@ -525,9 +531,9 @@

        Module Contents
        • subtensor (Subtensor) – The subtensor interface to send the extrinsic.

        • wallet (Wallet) – The wallet to be used for subnet registration.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning true.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning true.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning true.

        • +
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning true.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -536,7 +542,7 @@

        Module Contents

        True if the subnet registration was successful, False otherwise.

        Return type:
        -

        bool

        +

        bool

        @@ -550,18 +556,18 @@

        Module Contents
        • subtensor (Subtensor) – An instance of the Subtensor class to interact with the blockchain.

        • wallet (Wallet) – A wallet instance used to sign and submit the extrinsic.

        • -
        • netuid (int) – The unique ID for the subnet.

        • -
        • subnet_name (str) – The name of the subnet to assign the identity information.

        • -
        • github_repo (str) – URL of the GitHub repository related to the subnet.

        • -
        • subnet_contact (str) – Subnet’s contact information, e.g., email or contact link.

        • -
        • subnet_url (str) – The URL of the subnet’s primary web portal.

        • -
        • logo_url (str) – The URL of the logo’s primary web portal.

        • -
        • discord (str) – Discord server or contact for the subnet.

        • -
        • description (str) – A textual description of the subnet.

        • -
        • additional (str) – Any additional metadata or information related to the subnet.

        • -
        • wait_for_inclusion (bool) – Whether to wait for the extrinsic inclusion in a block (default: False).

        • -
        • wait_for_finalization (bool) – Whether to wait for the extrinsic finalization in a block (default: True).

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • netuid (int) – The unique ID for the subnet.

        • +
        • subnet_name (str) – The name of the subnet to assign the identity information.

        • +
        • github_repo (str) – URL of the GitHub repository related to the subnet.

        • +
        • subnet_contact (str) – Subnet’s contact information, e.g., email or contact link.

        • +
        • subnet_url (str) – The URL of the subnet’s primary web portal.

        • +
        • logo_url (str) – The URL of the logo’s primary web portal.

        • +
        • discord (str) – Discord server or contact for the subnet.

        • +
        • description (str) – A textual description of the subnet.

        • +
        • additional (str) – Any additional metadata or information related to the subnet.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the extrinsic inclusion in a block (default: False).

        • +
        • wait_for_finalization (bool) – Whether to wait for the extrinsic finalization in a block (default: True).

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -574,7 +580,7 @@

        Module ContentsReturn type: -

        tuple[bool, str]

        +

        tuple[bool, str]

        @@ -594,12 +600,12 @@

        Module Contents

        previous

        -

        bittensor.core.extrinsics.move_stake

        +

        bittensor.core.extrinsics.params.weights

        bittensor.core.types

    1898. +
    1899. bittensor.extras
      +
    1900. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -441,11 +447,11 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – The Subtensor object

        • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns +

        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -458,7 +464,7 @@

        Module ContentsReturn type: -

        bool

        +

        bool

        @@ -472,15 +478,15 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – The Subtensor object

        • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

        • -
        • netuids (Union[NDArray[np.int64], list[int]]) – The netuid of the subnet to set weights for.

        • -
        • weights (Union[NDArray[np.float32], list[float]]) – Weights to set. These must be floats and must correspond +

        • netuids (Union[NDArray[np.int64], list[int]]) – The netuid of the subnet to set weights for.

        • +
        • weights (Union[NDArray[np.float32], list[float]]) – Weights to set. These must be floats and must correspond to the passed netuid s.

        • -
        • version_key (int) – The version key of the validator.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns +

        • version_key (int) – The version key of the validator.

        • +
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True`, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -493,7 +499,7 @@

        Module ContentsReturn type: -

        bool

        +

        bool

        diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/serving/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/serving/index.html index 495855d023..1361089fa5 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/serving/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/serving/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    1901. +
    1902. bittensor.extras
      +
    1903. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -461,9 +467,9 @@

        Module Contentsbittensor.core.subtensor.Subtensor) – Subtensor instance object.

      • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron.

      • call_params (bittensor.core.types.AxonServeCallParams) – Parameters required for the serve axon call.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -472,7 +478,7 @@

      Module Contents

      A tuple containing a success flag and an optional error message.

      Return type:
      -

      tuple[bool, Optional[str]]

      +

      tuple[bool, Optional[str]]

      @@ -489,16 +495,16 @@

      Module ContentsParameters:
      • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance object.

      • -
      • netuid (int) – The network uid to fetch from.

      • -
      • hotkey (str) – The hotkey of the neuron for which to fetch the last bonds reset.

      • -
      • block (Optional[int]) – The block number to query. If None, the latest block is used.

      • +
      • netuid (int) – The network uid to fetch from.

      • +
      • hotkey (str) – The hotkey of the neuron for which to fetch the last bonds reset.

      • +
      • block (Optional[int]) – The block number to query. If None, the latest block is used.

      Returns:

      The last bonds reset data for the specified hotkey and netuid.

      Return type:
      -

      bytes

      +

      bytes

      @@ -511,13 +517,13 @@

      Module ContentsParameters:
      Return type:
      -

      bytes

      +

      bytes

      @@ -531,27 +537,27 @@

      Module Contents
      • subtensor (bittensor.subtensor) – The subtensor instance representing the Bittensor blockchain connection.

      • wallet (bittensor.wallet) – The wallet object used for authentication in the transaction.

      • -
      • netuid (int) – Network UID on which the metadata is to be published.

      • -
      • data_type (str) – The data type of the information being submitted. It should be one of the following: +

      • netuid (int) – Network UID on which the metadata is to be published.

      • +
      • data_type (str) – The data type of the information being submitted. It should be one of the following: 'Sha256', 'Blake256', 'Keccak256', or 'Raw0-128'. This specifies the format or hashing algorithm used for the data.

      • -
      • data (Union[bytes, dict]) – The actual metadata content to be published. This should be formatted or hashed +

      • data (Union[bytes, dict]) – The actual metadata content to be published. This should be formatted or hashed according to the type specified. (Note: max str length is 128 bytes for 'Raw0-128'.)

      • -
      • wait_for_inclusion (bool, optional) – If True, the function will wait for the extrinsic to be included in a +

      • wait_for_inclusion (bool, optional) – If True, the function will wait for the extrinsic to be included in a block before returning. Defaults to False.

      • -
      • wait_for_finalization (bool, optional) – If True, the function will wait for the extrinsic to be finalized +

      • wait_for_finalization (bool, optional) – If True, the function will wait for the extrinsic to be finalized on the chain before returning. Defaults to True.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      • -
      • reset_bonds (bool) – If True, the function will reset the bonds for the neuron. Defaults to False.

      • +
      • reset_bonds (bool) – If True, the function will reset the bonds for the neuron. Defaults to False.

      Returns:

      True if the metadata was successfully published (and finalized if specified). False otherwise.

      Return type:
      -

      bool

      +

      bool

      Raises:

      MetadataError – If there is an error in submitting the extrinsic, or if the response from the blockchain indicates @@ -568,15 +574,15 @@

      Module ContentsParameters:
      • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance object.

      • -
      • netuid (int) – The netuid being served on.

      • +
      • netuid (int) – The netuid being served on.

      • axon (bittensor.core.axon.Axon) – Axon to serve.

      • -
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or +

      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

      • -
      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

      • certificate (bittensor.utils.Certificate) – Certificate to use for TLS. If None, no TLS will be used. Defaults to None.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -589,7 +595,7 @@

      Module ContentsReturn type: -

      success (bool)

      +

      success (bool)

      @@ -603,19 +609,19 @@

      Module Contents
      • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance object.

      • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

      • -
      • ip (str) – Endpoint host port i.e., 192.122.31.4.

      • -
      • port (int) – Endpoint port number i.e., 9221.

      • -
      • protocol (int) – An int representation of the protocol.

      • -
      • netuid (int) – The network uid to serve on.

      • -
      • placeholder1 (int) – A placeholder for future use.

      • -
      • placeholder2 (int) – A placeholder for future use.

      • -
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or +

      • ip (str) – Endpoint host port i.e., 192.122.31.4.

      • +
      • port (int) – Endpoint port number i.e., 9221.

      • +
      • protocol (int) – An int representation of the protocol.

      • +
      • netuid (int) – The network uid to serve on.

      • +
      • placeholder1 (int) – A placeholder for future use.

      • +
      • placeholder2 (int) – A placeholder for future use.

      • +
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

      • -
      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

      • certificate (bittensor.utils.Certificate) – Certificate to use for TLS. If None, no TLS will be used. Defaults to None.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -628,7 +634,7 @@

      Module ContentsReturn type: -

      success (bool)

      +

      success (bool)

      diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html index 41ff57b75b..5ffaff2cf6 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html @@ -169,6 +169,12 @@
    1904. bittensor.core.types
    1905. +
    1906. bittensor.extras
      +
    1907. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -438,16 +444,16 @@

        Module Contents
        • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – Bittensor subtensor object.

        • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

        • -
        • netuid (int) – The netuid of the subnet to set weights for.

        • -
        • uids (Union[NDArray[np.int64], torch.LongTensor, list]) – The uint64 uids of destination neurons.

        • -
        • weights (Union[NDArray[np.float32], torch.FloatTensor, list]) – The weights to set. These must be float s +

        • netuid (int) – The netuid of the subnet to set weights for.

        • +
        • uids (Union[NDArray[np.int64], torch.LongTensor, list]) – The uint64 uids of destination neurons.

        • +
        • weights (Union[NDArray[np.float32], torch.FloatTensor, list]) – The weights to set. These must be float s and correspond to the passed uid s.

        • -
        • version_key (int) – The version key of the validator.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or +

        • version_key (int) – The version key of the validator.

        • +
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. +

        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -460,7 +466,7 @@

        Module ContentsReturn type: -

        success (bool)

        +

        success (bool)

        diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/staking/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/staking/index.html index eb406ac485..5a0e5a7d6b 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/staking/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/staking/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    1908. +
    1909. bittensor.extras
      +
    1910. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -442,18 +448,18 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance with the connection to the chain.

        • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

        • -
        • hotkey_ss58 (Optional[str]) – The ss58 address of the hotkey account to stake to default to the wallet’s hotkey. If not +

        • hotkey_ss58 (Optional[str]) – The ss58 address of the hotkey account to stake to default to the wallet’s hotkey. If not specified, the wallet’s hotkey will be used. Defaults to None.

        • -
        • netuid (Optional[int]) – The unique identifier of the subnet to which the neuron belongs.

        • +
        • netuid (Optional[int]) – The unique identifier of the subnet to which the neuron belongs.

        • amount (Optional[bittensor.utils.balance.Balance]) – Amount to stake as Bittensor balance in TAO always, None if staking all. Defaults is None.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns +

        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout. Defaults to True.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout. Defaults to False.

        • -
        • safe_staking (bool) – If True, enables price safety checks. Default is False.

        • -
        • allow_partial_stake (bool) – If True, allows partial unstaking if price tolerance exceeded. Default is False.

        • -
        • rate_tolerance (float) – Maximum allowed price increase percentage (0.005 = 0.5%). Default is 0.005.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • safe_staking (bool) – If True, enables price safety checks. Default is False.

        • +
        • allow_partial_stake (bool) – If True, allows partial unstaking if price tolerance exceeded. Default is False.

        • +
        • rate_tolerance (float) – Maximum allowed price increase percentage (0.005 = 0.5%). Default is 0.005.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction. Defaults to None.

        @@ -483,14 +489,14 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – The initialized SubtensorInterface object.

        • wallet (bittensor_wallet.Wallet) – Bittensor wallet object for the coldkey.

        • -
        • hotkey_ss58s (list[str]) – List of hotkeys to stake to.

        • -
        • netuids (list[int]) – List of netuids to stake to.

        • -
        • amounts (Optional[list[bittensor.utils.balance.Balance]]) – List of amounts to stake. If None, stake all to the first hotkey.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False +

        • hotkey_ss58s (list[str]) – List of hotkeys to stake to.

        • +
        • netuids (bittensor.core.types.UIDs) – List of netuids to stake to.

        • +
        • amounts (Optional[list[bittensor.utils.balance.Balance]]) – List of amounts to stake. If None, stake all to the first hotkey.

        • +
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/start_call/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/start_call/index.html index bf21550107..fd187923ce 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/start_call/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/start_call/index.html @@ -48,7 +48,7 @@ - + @@ -169,6 +169,12 @@
      • bittensor.core.types
    1911. +
    1912. bittensor.extras
      +
    1913. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -438,10 +444,10 @@

        Module Contents
        • subtensor (Subtensor) – The Subtensor client instance used for blockchain interaction.

        • wallet (Wallet) – The wallet used to sign the extrinsic (must be unlocked).

        • -
        • netuid (int) – The UID of the target subnet for which the call is being initiated.

        • -
        • wait_for_inclusion (bool, optional) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

        • -
        • wait_for_finalization (bool, optional) – Whether to wait for finalization of the extrinsic. Defaults to False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • netuid (int) – The UID of the target subnet for which the call is being initiated.

        • +
        • wait_for_inclusion (bool, optional) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

        • +
        • wait_for_finalization (bool, optional) – Whether to wait for finalization of the extrinsic. Defaults to False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -454,7 +460,7 @@

        Module ContentsReturn type: -

        Tuple[bool, str]

        +

        Tuple[bool, str]

        @@ -483,11 +489,11 @@

        Module Contents

        next

        -

        bittensor.core.extrinsics.take

        +

        bittensor.core.extrinsics.sudo

        diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/sudo/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/sudo/index.html new file mode 100644 index 0000000000..7b39f8726f --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/sudo/index.html @@ -0,0 +1,648 @@ + + + + + + + + + + + bittensor.core.extrinsics.sudo — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        + + + + + +
        +
        + + + + + + +
        + + + +
        + +
        +
        + +
        +
        + +
        + +
        + +
        + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + +
        + +
        +
        + + + + + + + + +
        + +
        +

        bittensor.core.extrinsics.sudo#

        +
        +

        Functions#

        +
        + + + + + + + + + + + +

        sudo_set_admin_freeze_window_extrinsic(subtensor, ...)

        Sets the admin freeze window length (in blocks) at the end of a tempo.

        sudo_set_mechanism_count_extrinsic(subtensor, wallet, ...)

        Sets the number of subnet mechanisms.

        sudo_set_mechanism_emission_split_extrinsic(subtensor, ...)

        Sets the emission split between mechanisms in a provided subnet.

        +
        +
        +
        +

        Module Contents#

        +
        +
        +bittensor.core.extrinsics.sudo.sudo_set_admin_freeze_window_extrinsic(subtensor, wallet, window, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
        +

        Sets the admin freeze window length (in blocks) at the end of a tempo.

        +
        +
        Parameters:
        +
          +
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

        • +
        • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

        • +
        • window (int) – The amount of blocks to freeze in the end of a tempo.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

        • +
        • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

        • +
        • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

        • +
        +
        +
        Returns:
        +

        True if the extrinsic executed successfully, False otherwise. +message is a string value describing the success or potential error.

        +
        +
        Return type:
        +

        tuple[bool, str]

        +
        +
        +
        + +
        +
        +bittensor.core.extrinsics.sudo.sudo_set_mechanism_count_extrinsic(subtensor, wallet, netuid, mech_count, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
        +

        Sets the number of subnet mechanisms.

        +
        +
        Parameters:
        +
          +
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

        • +
        • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

        • +
        • netuid (int) – The subnet unique identifier.

        • +
        • mech_count (int) – The amount of subnet mechanism to be set.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

        • +
        • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

        • +
        • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

        • +
        +
        +
        Returns:
        +

        True if the extrinsic executed successfully, False otherwise. +message is a string value describing the success or potential error.

        +
        +
        Return type:
        +

        tuple[bool, str]

        +
        +
        +
        + +
        +
        +bittensor.core.extrinsics.sudo.sudo_set_mechanism_emission_split_extrinsic(subtensor, wallet, netuid, maybe_split, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
        +

        Sets the emission split between mechanisms in a provided subnet.

        +
        +
        Parameters:
        +
          +
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

        • +
        • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

        • +
        • netuid (int) – The subnet unique identifier.

        • +
        • maybe_split (bittensor.core.types.Weights) – List of emission weights (positive integers) for each subnet mechanism.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

        • +
        • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

        • +
        • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

        • +
        • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

        • +
        +
        +
        Returns:
        +

        True if the extrinsic executed successfully, False otherwise. +message is a string value describing the success or potential error.

        +
        +
        Return type:
        +

        tuple[bool, str]

        +
        +
        +
        +

        Note

        +

        The maybe_split list defines the relative emission share for each subnet mechanism. +Its length must match the number of active mechanisms in the subnet or be shorter, but not equal to zero. For +example, [3, 1, 1] distributes emissions in a 3:1:1 ratio across subnet mechanisms 0, 1, and 2. Each mechanism’s +emission share is calculated as: share[i] = maybe_split[i] / sum(maybe_split)

        +
        +
        + +
        +
        + + +
        + + + + + + + + +
        + + + + + + + +
        +
        + + +
        + + +
        +
        +
        + + + + + +
        +
        + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/take/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/take/index.html index 74d9ba9ccc..de2859e9f0 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/take/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/take/index.html @@ -49,7 +49,7 @@ - + @@ -169,6 +169,12 @@
      • bittensor.core.types
    1914. +
    1915. bittensor.extras
      +
    1916. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -441,12 +447,12 @@

        Module Contents
        • subtensor (Subtensor) – Blockchain connection.

        • wallet (Wallet) – The wallet to sign the extrinsic.

        • -
        • hotkey_ss58 (str) – SS58 address of the hotkey to set take for.

        • -
        • take (int) – The percentage of rewards that the delegate claims from nominators.

        • -
        • wait_for_inclusion (bool, optional) – Wait for inclusion before returning. Defaults to True.

        • -
        • wait_for_finalization (bool, optional) – Wait for finalization before returning. Defaults to True.

        • -
        • raise_error (bool, optional) – Raise error on failure. Defaults to False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. +

        • hotkey_ss58 (str) – SS58 address of the hotkey to set take for.

        • +
        • take (int) – The percentage of rewards that the delegate claims from nominators.

        • +
        • wait_for_inclusion (bool, optional) – Wait for inclusion before returning. Defaults to True.

        • +
        • wait_for_finalization (bool, optional) – Wait for finalization before returning. Defaults to True.

        • +
        • raise_error (bool, optional) – Raise error on failure. Defaults to False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -455,7 +461,7 @@

        Module Contents

        Success flag and status message.

        Return type:
        -

        tuple[bool, str]

        +

        tuple[bool, str]

        @@ -469,12 +475,12 @@

        Module Contents
        • subtensor (Subtensor) – Blockchain connection.

        • wallet (Wallet) – The wallet to sign the extrinsic.

        • -
        • hotkey_ss58 (str) – SS58 address of the hotkey to set take for.

        • -
        • take (int) – The percentage of rewards that the delegate claims from nominators.

        • -
        • wait_for_inclusion (bool, optional) – Wait for inclusion before returning. Defaults to True.

        • -
        • wait_for_finalization (bool, optional) – Wait for finalization before returning. Defaults to True.

        • -
        • raise_error (bool, optional) – Raise error on failure. Defaults to False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • hotkey_ss58 (str) – SS58 address of the hotkey to set take for.

        • +
        • take (int) – The percentage of rewards that the delegate claims from nominators.

        • +
        • wait_for_inclusion (bool, optional) – Wait for inclusion before returning. Defaults to True.

        • +
        • wait_for_finalization (bool, optional) – Wait for finalization before returning. Defaults to True.

        • +
        • raise_error (bool, optional) – Raise error on failure. Defaults to False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -483,7 +489,7 @@

        Module Contents

        Success flag and status message.

        Return type:
        -

        tuple[bool, str]

        +

        tuple[bool, str]

        @@ -503,12 +509,12 @@

        Module Contents

        previous

        -

        bittensor.core.extrinsics.start_call

        +

        bittensor.core.extrinsics.sudo

        bittensor.core.types

    1917. +
    1918. bittensor.extras
      +
    1919. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -437,15 +443,15 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – the Subtensor object used for transfer

        • wallet (bittensor_wallet.Wallet) – Bittensor wallet object to make transfer from.

        • -
        • dest (str) – Destination public key address (ss58_address or ed25519) of recipient.

        • +
        • dest (str) – Destination public key address (ss58_address or ed25519) of recipient.

        • amount (bittensor.utils.balance.Balance) – Amount to stake as Bittensor balance. None if transferring all.

        • -
        • transfer_all (bool) – Whether to transfer all funds from this wallet to the destination address.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns +

        • transfer_all (bool) – Whether to transfer all funds from this wallet to the destination address.

        • +
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • keep_alive (bool) – If set, keeps the account alive by keeping the balance above the existential deposit.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. +

        • keep_alive (bool) – If set, keeps the account alive by keeping the balance above the existential deposit.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -458,7 +464,7 @@

        Module ContentsReturn type: -

        success (bool)

        +

        success (bool)

        diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/unstaking/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/unstaking/index.html index 90d4f068d5..49bd6fd43f 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/unstaking/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/unstaking/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    1920. +
    1921. bittensor.extras
      +
    1922. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -445,13 +451,13 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

        • wallet (bittensor_wallet.Wallet) – The wallet of the stake owner.

        • -
        • hotkey (str) – The SS58 address of the hotkey to unstake from.

        • -
        • netuid (int) – The unique identifier of the subnet.

        • -
        • rate_tolerance (Optional[float]) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum +

        • hotkey (str) – The SS58 address of the hotkey to unstake from.

        • +
        • netuid (int) – The unique identifier of the subnet.

        • +
        • rate_tolerance (Optional[float]) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum price decrease. If not passed (None), then unstaking goes without price limit. Default is 0.005.

        • -
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

        • -
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +

        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

        • +
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction. Default is None.

        @@ -462,7 +468,7 @@

        Module ContentsReturn type: -

        tuple[bool, str]

        +

        tuple[bool, str]

        @@ -476,20 +482,20 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

        • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

        • -
        • hotkey_ss58 (Optional[str]) – The ss58 address of the hotkey to unstake from. By default, the wallet hotkey is used.

        • -
        • netuid (Optional[int]) – Subnet unique id.

        • +
        • hotkey_ss58 (Optional[str]) – The ss58 address of the hotkey to unstake from. By default, the wallet hotkey is used.

        • +
        • netuid (Optional[int]) – Subnet unique id.

        • amount (Optional[bittensor.utils.balance.Balance]) – Amount to stake as Bittensor balance.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns +

        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • safe_staking (bool) – If true, enables price safety checks.

        • -
        • allow_partial_stake (bool) – If true, allows partial unstaking if price tolerance exceeded

        • -
        • rate_tolerance (float) – Maximum allowed price decrease percentage (0.005 = 0.5%)

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +

        • safe_staking (bool) – If true, enables price safety checks.

        • +
        • allow_partial_stake (bool) – If true, allows partial unstaking if price tolerance exceeded

        • +
        • rate_tolerance (float) – Maximum allowed price decrease percentage (0.005 = 0.5%)

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        • -
        • unstake_all (bool) – If true, unstakes all tokens. Default is False.

        • +
        • unstake_all (bool) – If true, unstakes all tokens. Default is False.

        Returns:
        @@ -498,7 +504,7 @@

        Module ContentsReturn type: -

        tuple[bool, str]

        +

        tuple[bool, str]

        @@ -512,17 +518,17 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

        • wallet (bittensor_wallet.Wallet) – The wallet with the coldkey to unstake to.

        • -
        • hotkey_ss58s (list[str]) – List of hotkeys to unstake from.

        • -
        • netuids (list[int]) – List of subnets unique IDs to unstake from.

        • -
        • amounts (Optional[list[bittensor.utils.balance.Balance]]) – List of amounts to unstake. If None, unstake all.

        • -
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or +

        • hotkey_ss58s (list[str]) – List of hotkeys to unstake from.

        • +
        • netuids (bittensor.core.types.UIDs) – List of subnets unique IDs to unstake from.

        • +
        • amounts (Optional[list[bittensor.utils.balance.Balance]]) – List of amounts to unstake. If None, unstake all.

        • +
        • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout.

        • -
        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, +

        • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +

        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        • -
        • unstake_all (bool) – If true, unstakes all tokens. Default is False.

        • +
        • unstake_all (bool) – If true, unstakes all tokens. Default is False.

        Returns:
        @@ -531,7 +537,7 @@

        Module ContentsReturn type: -

        tuple[bool, str]

        +

        tuple[bool, str]

        diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/utils/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/utils/index.html index ef40fb8c9e..466a467a41 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/utils/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/utils/index.html @@ -48,7 +48,7 @@ - + @@ -169,6 +169,12 @@
      • bittensor.core.types
    1923. +
    1924. bittensor.extras
      +
    1925. bittensor.utils
      @@ -427,6 +434,9 @@

      Functions

      get_old_stakes(wallet, hotkey_ss58s, netuids, all_stakes)

      Retrieve the previous staking balances for a wallet's hotkeys across given netuids.

      +

      sudo_call_extrinsic(subtensor, wallet, call_function, ...)

      +

      Execute a sudo call extrinsic.

      +

    1926. @@ -443,7 +453,7 @@

      Module Contentsbittensor.core.subtensor.Subtensor) – The Subtensor instance.

    1927. call (scalecodec.GenericCall) – The extrinsic call.

    1928. keypair (bittensor_wallet.Keypair) – The keypair associated with the extrinsic.

    1929. -
    1930. netuid (Optional[int]) – The SN’s netuid.

    1931. +
    1932. netuid (Optional[int]) – The SN’s netuid.

    1933. Returns:
      @@ -463,16 +473,49 @@

      Module ContentsParameters:
      Returns:

      A list of Balances, each representing the stake for a given hotkey and netuid.

      Return type:
      -

      list[Balance]

      +

      list[Balance]

      +
      + + + +
      +
      +bittensor.core.extrinsics.utils.sudo_call_extrinsic(subtensor, wallet, call_function, call_params, call_module='AdminUtils', sign_with='coldkey', use_nonce=False, nonce_key='hotkey', period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
      +

      Execute a sudo call extrinsic.

      +
      +
      Parameters:
      +
        +
      • subtensor (bittensor.core.subtensor.Subtensor) – The Subtensor instance.

      • +
      • wallet (bittensor_wallet.Wallet) – The wallet instance.

      • +
      • call_function (str) – The call function to execute.

      • +
      • call_params (dict) – The call parameters.

      • +
      • call_module (str) – The call module.

      • +
      • sign_with (str) – The keypair to sign the extrinsic with.

      • +
      • use_nonce (bool) – Whether to use a nonce.

      • +
      • nonce_key (str) – The key to use for the nonce.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

      • +
      • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

      • +
      • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

      • +
      • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

      • +
      +
      +
      Returns:
      +

      True if the extrinsic executed successfully, False otherwise. +message is a string value describing the success or potential error.

      +
      +
      Return type:
      +

      tuple[bool, str]

      @@ -501,11 +544,11 @@

      Module Contents

      next

      -

      bittensor.core.metagraph

      +

      bittensor.core.extrinsics.weights

      @@ -530,6 +573,7 @@

      Module ContentsModule Contents diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/weights/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/weights/index.html new file mode 100644 index 0000000000..6e057080b9 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/weights/index.html @@ -0,0 +1,689 @@ + + + + + + + + + + + bittensor.core.extrinsics.weights — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.core.extrinsics.weights#

      +

      Module provides sync commit and reveal weights extrinsic.

      +
      +

      Functions#

      +
      + + + + + + + + + + + + + + +

      commit_timelocked_weights_extrinsic(subtensor, wallet, ...)

      Commits the weights for a specific sub subnet mechanism on the Bittensor blockchain using the provided wallet.

      commit_weights_extrinsic(subtensor, wallet, netuid, ...)

      Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

      reveal_weights_extrinsic(subtensor, wallet, netuid, ...)

      Reveals the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

      set_weights_extrinsic(subtensor, wallet, netuid, ...)

      Sets the passed weights in the chain for hotkeys in the sub-subnet of the passed subnet.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +bittensor.core.extrinsics.weights.commit_timelocked_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, block_time, commit_reveal_version=4, version_key=version_as_int, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
      +

      Commits the weights for a specific sub subnet mechanism on the Bittensor blockchain using the provided wallet.

      +
      +
      Parameters:
      +
        +
      • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

      • +
      • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

      • +
      • netuid (int) – The subnet unique identifier.

      • +
      • mechid (int) – The subnet mechanism unique identifier

      • +
      • uids (bittensor.core.types.UIDs) – The list of neuron UIDs that the weights are being set for.

      • +
      • weights (bittensor.core.types.Weights) – The corresponding weights to be set for each UID.

      • +
      • block_time (Union[int, float]) – The number of seconds for block duration.

      • +
      • commit_reveal_version (int) – The version of the commit-reveal in the chain.

      • +
      • version_key (int) – Version key for compatibility with the network.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

      • +
      • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

      • +
      • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

      • +
      • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

      • +
      +
      +
      Returns:
      +

      The result object of the extrinsic execution.

      +
      +
      Return type:
      +

      ExtrinsicResponse

      +
      +
      +
      + +
      +
      +bittensor.core.extrinsics.weights.commit_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, salt, version_key=version_as_int, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
      +

      Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

      +
      +
      Parameters:
      +
        +
      • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

      • +
      • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

      • +
      • netuid (int) – The subnet unique identifier.

      • +
      • mechid (int) – The subnet mechanism unique identifier.

      • +
      • uids (bittensor.core.types.UIDs) – NumPy array of neuron UIDs for which weights are being committed.

      • +
      • weights (bittensor.core.types.Weights) – NumPy array of weight values corresponding to each UID.

      • +
      • salt (bittensor.core.types.Salt) – list of randomly generated integers as salt to generated weighted hash.

      • +
      • version_key (int) – Version key for compatibility with the network.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

      • +
      • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

      • +
      • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

      • +
      • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

      • +
      +
      +
      Returns:
      +

      The result object of the extrinsic execution.

      +
      +
      Return type:
      +

      ExtrinsicResponse

      +
      +
      +
      + +
      +
      +bittensor.core.extrinsics.weights.reveal_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, salt, version_key, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
      +

      Reveals the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

      +
      +
      Parameters:
      +
        +
      • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

      • +
      • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • mechid (int) – The subnet mechanism unique identifier.

      • +
      • uids (bittensor.core.types.UIDs) – List of neuron UIDs for which weights are being revealed.

      • +
      • weights (bittensor.core.types.Weights) – List of weight values corresponding to each UID.

      • +
      • salt (bittensor.core.types.Salt) – List of salt values corresponding to the hash function.

      • +
      • version_key (int) – Version key for compatibility with the network.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

      • +
      • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

      • +
      • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

      • +
      • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

      • +
      +
      +
      Returns:
      +

      The result object of the extrinsic execution.

      +
      +
      Return type:
      +

      ExtrinsicResponse

      +
      +
      +
      + +
      +
      +bittensor.core.extrinsics.weights.set_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, version_key, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
      +

      Sets the passed weights in the chain for hotkeys in the sub-subnet of the passed subnet.

      +
      +
      Parameters:
      +
        +
      • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

      • +
      • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • mechid (int) – The subnet mechanism unique identifier.

      • +
      • uids (bittensor.core.types.UIDs) – List of neuron UIDs for which weights are being revealed.

      • +
      • weights (bittensor.core.types.Weights) – List of weight values corresponding to each UID.

      • +
      • version_key (int) – Version key for compatibility with the network.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

      • +
      • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

      • +
      • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

      • +
      • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

      • +
      +
      +
      Returns:
      +

      The result object of the extrinsic execution.

      +
      +
      Return type:
      +

      ExtrinsicResponse

      +
      +
      +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/index.html b/static/python-api/html/autoapi/bittensor/core/index.html index d1aed06358..a45d01dcaf 100644 --- a/static/python-api/html/autoapi/bittensor/core/index.html +++ b/static/python-api/html/autoapi/bittensor/core/index.html @@ -171,6 +171,12 @@
    1934. bittensor.core.types
    1935. +
    1936. bittensor.extras
      +
    1937. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/core/metagraph/index.html b/static/python-api/html/autoapi/bittensor/core/metagraph/index.html index 0f7a651c66..05e4d10b79 100644 --- a/static/python-api/html/autoapi/bittensor/core/metagraph/index.html +++ b/static/python-api/html/autoapi/bittensor/core/metagraph/index.html @@ -51,7 +51,7 @@ - + @@ -171,6 +171,12 @@
      • bittensor.core.types
    1938. +
    1939. bittensor.extras
      +
    1940. bittensor.utils
    1941. @@ -662,9 +670,9 @@

      Module Contents
      Parameters:
        -
      • block (Optional[int]) – A specific block number to synchronize with. If None, the metagraph syncs with the +

      • block (Optional[int]) – A specific block number to synchronize with. If None, the metagraph syncs with the latest block. This allows for historical analysis or specific state examination of the network.

      • -
      • lite (Optional[bool]) – If True, a lite version of the metagraph is used for quicker synchronization. This is +

      • lite (Optional[bool]) – If True, a lite version of the metagraph is used for quicker synchronization. This is beneficial when full detail is not necessary, allowing for reduced computational and time overhead. Defaults to True.

      • subtensor (Optional[bittensor.core.subtensor.Subtensor]) – An instance of the subtensor class from Bittensor, @@ -745,7 +753,7 @@

        Module Contents
        -class bittensor.core.metagraph.Metagraph(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None)[source]#
        +class bittensor.core.metagraph.Metagraph(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None, mechid=0)[source]#

      Bases: NumpyOrTorch

      The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the backbone of the decentralized machine learning system.

      @@ -762,11 +770,12 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – A unique identifier that distinguishes between different instances or versions of the Bittensor network.

      • -
      • network (str) – The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem.

      • -
      • lite (bool)

      • -
      • sync (bool)

      • +
      • netuid (int) – A unique identifier that distinguishes between different instances or versions of the Bittensor network.

      • +
      • network (str) – The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem.

      • +
      • lite (bool)

      • +
      • sync (bool)

      • subtensor (Optional[bittensor.core.subtensor.Subtensor])

      • +
      • mechid (int)

      Variables:
      @@ -828,14 +837,14 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier for the network, distinguishing this instance of the metagraph within -potentially multiple network configurations.

      • -
      • network (str) – The name of the network, which can indicate specific configurations or versions of the -Bittensor network.

      • -
      • lite (bool) – A flag indicating whether to use a lite version of the metagraph. The lite version may contain -less detailed information but can be quicker to initialize and sync.

      • -
      • sync (bool) – A flag indicating whether to synchronize the metagraph with the network upon initialization. +

      • netuid (int) – Subnet unique identifier.

      • +
      • network (str) – The name of the network, which can indicate specific configurations or versions of the Bittensor

      • +
      • network.

      • +
      • lite (bool) – A flag indicating whether to use a lite version of the metagraph. The lite version may contain less +detailed information but can be quicker to initialize and sync.

      • +
      • sync (bool) – A flag indicating whether to synchronize the metagraph with the network upon initialization. Synchronization involves updating the metagraph’s parameters to reflect the current state of the network.

      • +
      • mechid (int) – Subnet mechanism unique identifier.

      • subtensor (Optional[bittensor.core.subtensor.Subtensor])

      @@ -843,11 +852,10 @@

      Module Contents

      Example

      Initializing a metagraph object for the Bittensor network with a specific network UID:

      -
      from bittensor.core.metagraph import Metagraph
      -
      -metagraph = Metagraph(netuid=123, network="finney", lite=True, sync=True)
      -
      -
      +
      +

      from bittensor.core.metagraph import Metagraph

      +

      metagraph = Metagraph(netuid=123, network=”finney”, lite=True, sync=True)

      +

      @@ -860,9 +868,9 @@

      Module Contents
      Parameters:
        -
      • block (Optional[int]) – A specific block number to synchronize with. If None, the metagraph syncs with the +

      • block (Optional[int]) – A specific block number to synchronize with. If None, the metagraph syncs with the latest block. This allows for historical analysis or specific state examination of the network.

      • -
      • lite (Optional[bool]) – If True, a lite version of the metagraph is used for quicker synchronization. This is +

      • lite (Optional[bool]) – If True, a lite version of the metagraph is used for quicker synchronization. This is beneficial when full detail is not necessary, allowing for reduced computational and time overhead. Defaults to True.

      • subtensor (Optional[bittensor.core.subtensor.Subtensor]) – An instance of the subtensor class from Bittensor, @@ -912,8 +920,8 @@

        Module Contents
        -class bittensor.core.metagraph.MetagraphMixin(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None)[source]#
        -

        Bases: abc.ABC

        +class bittensor.core.metagraph.MetagraphMixin(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None, mechid=0)[source]#

      +

      Bases: abc.ABC

      The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the backbone of the decentralized machine learning system.

      @@ -929,11 +937,12 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – A unique identifier that distinguishes between different instances or versions of the Bittensor network.

      • -
      • network (str) – The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem.

      • -
      • lite (bool)

      • -
      • sync (bool)

      • +
      • netuid (int) – A unique identifier that distinguishes between different instances or versions of the Bittensor network.

      • +
      • network (str) – The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem.

      • +
      • lite (bool)

      • +
      • sync (bool)

      • subtensor (Optional[Union[bittensor.core.async_subtensor.AsyncSubtensor, bittensor.core.subtensor.Subtensor]])

      • +
      • mechid (int)

      Variables:
      @@ -995,24 +1004,25 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier for the network, distinguishing this instance of the metagraph within +

      • netuid (int) – The unique identifier for the network, distinguishing this instance of the metagraph within potentially multiple network configurations.

      • -
      • network (str) – The name of the network, which can indicate specific configurations or versions of the -Bittensor network.

      • -
      • lite (bool) – A flag indicating whether to use a lite version of the metagraph. The lite version may contain -less detailed information but can be quicker to initialize and sync.

      • -
      • sync (bool) – A flag indicating whether to synchronize the metagraph with the network upon initialization. +

      • network (str) – The name of the network, which can indicate specific configurations or versions of the Bittensor +network.

      • +
      • lite (bool) – A flag indicating whether to use a lite version of the metagraph. The lite version may contain less +detailed information but can be quicker to initialize and sync.

      • +
      • sync (bool) – A flag indicating whether to synchronize the metagraph with the network upon initialization. Synchronization involves updating the metagraph’s parameters to reflect the current state of the network.

      • subtensor (Optional[Union[bittensor.core.async_subtensor.AsyncSubtensor, bittensor.core.subtensor.Subtensor]])

      • +
      • mechid (int)

      Example

      Initializing a metagraph object for the Bittensor network with a specific network UID:

      -
      metagraph = Metagraph(netuid=123, network="finney", lite=True, sync=True)
      -
      -
      +
      +

      metagraph = Metagraph(netuid=123, network=”finney”, lite=True, sync=True)

      +
      @@ -1268,7 +1278,7 @@

      Module Contents
      -property addresses: list[str]#
      +property addresses: list[str]#

      Provides a list of IP addresses for each neuron in the Bittensor network. These addresses are used for network communication, allowing neurons to connect, interact, and exchange information with each other. IP addresses are fundamental for the network’s peer-to-peer communication infrastructure.

      @@ -1282,7 +1292,7 @@

      Module ContentsReturn type: -

      List[str]

      +

      List[str]

      @@ -1295,7 +1305,7 @@

      Module Contents
      -alpha_dividends_per_hotkey: list[tuple[str, float]]#
      +alpha_dividends_per_hotkey: list[tuple[str, float]]#

      @@ -1305,7 +1315,7 @@

      Module Contents
      -axons: list[bittensor.core.chain_data.AxonInfo]#
      +axons: list[bittensor.core.chain_data.AxonInfo]#

      @@ -1315,12 +1325,12 @@

      Module Contents
      -block_at_registration: list[int]#
      +block_at_registration: list[int]#

      -blocks_since_last_step: int#
      +blocks_since_last_step: int#
      @@ -1330,12 +1340,12 @@

      Module Contents
      -chain_endpoint: str | None#
      +chain_endpoint: str | None#

      -property coldkeys: list[str]#
      +property coldkeys: list[str]#

      Contains a list of coldkeys for each neuron in the Bittensor network.

      Coldkeys are similar to hotkeys but are typically used for more secure, offline activities such as storing assets or offline signing of transactions. They are an important aspect of a neuron’s security, providing an @@ -1349,7 +1359,7 @@

      Module ContentsReturn type: -

      List[str]

      +

      List[str]

      @@ -1383,7 +1393,7 @@

      Module Contents
      -property hotkeys: list[str]#
      +property hotkeys: list[str]#

      Represents a list of hotkeys for each neuron in the Bittensor network.

      Hotkeys are unique identifiers used by neurons for active participation in the network, such as sending and receiving information or transactions. They are akin to public keys in cryptographic systems and are essential @@ -1398,7 +1408,7 @@

      Module ContentsReturn type: -

      List[str]

      +

      List[str]

      @@ -1418,12 +1428,12 @@

      Module Contents
      -identities: list[bittensor.core.chain_data.ChainIdentity | None]#
      +identities: list[bittensor.core.chain_data.ChainIdentity | None]#
      -identity: bittensor.core.chain_data.SubnetIdentity | None#
      +identity: bittensor.core.chain_data.SubnetIdentity | None#
      @@ -1433,7 +1443,7 @@

      Module Contents
      -last_step: int#
      +last_step: int#

      @@ -1461,7 +1471,7 @@

      Module Contents
      Parameters:
      -

      root_dir (Optional[list[str]]) – list to the file path for the root directory of your metagraph saves +

      root_dir (Optional[list[str]]) – list to the file path for the root directory of your metagraph saves (i.e. [‘/’, ‘tmp’, ‘metagraphs’], defaults to [“~”, “.bittensor”, “metagraphs”]

      Returns:
      @@ -1504,7 +1514,7 @@

      Module Contents
      Parameters:
      -

      dir_path (str) – The directory path where the metagraph’s state files are stored. This path should contain +

      dir_path (str) – The directory path where the metagraph’s state files are stored. This path should contain one or more saved state files, typically named in a format that includes the block number.

      Returns:
      @@ -1538,7 +1548,22 @@

      Module Contents
      -max_uids: int#
      +max_uids: int# +

      + +
      +
      +mechanism_count: int#
      +
      + +
      +
      +mechanisms_emissions_split: list[int]#
      +
      + +
      +
      +mechid: int#
      @@ -1560,7 +1585,7 @@

      Module ContentsReturn type: -

      dict

      +

      dict

      @@ -1579,42 +1604,42 @@

      Module Contents
      -name: str#
      +name: str#
      -netuid: int#
      +netuid: int#
      -network: str#
      +network: str#
      -network_registered_at: int#
      +network_registered_at: int#
      -neurons: list[bittensor.core.chain_data.NeuronInfo | bittensor.core.chain_data.NeuronInfoLite]#
      +neurons: list[bittensor.core.chain_data.NeuronInfo | bittensor.core.chain_data.NeuronInfoLite]#
      -num_uids: int#
      +num_uids: int#
      -owner_coldkey: str#
      +owner_coldkey: str#
      -owner_hotkey: str#
      +owner_hotkey: str#
      @@ -1624,7 +1649,7 @@

      Module Contents
      -pruning_score: list[float]#
      +pruning_score: list[float]#

      @@ -1642,7 +1667,7 @@

      Module Contents
      Parameters:
      -

      root_dir (Optional[list[str]]) – list to the file path for the root directory of your metagraph saves +

      root_dir (Optional[list[str]]) – list to the file path for the root directory of your metagraph saves (i.e. [‘/’, ‘tmp’, ‘metagraphs’], defaults to [“~”, “.bittensor”, “metagraphs”]

      Returns:
      @@ -1687,17 +1712,17 @@

      Module Contents
      -subtensor: bittensor.core.async_subtensor.AsyncSubtensor | bittensor.core.subtensor.Subtensor | None#
      +subtensor: bittensor.core.async_subtensor.AsyncSubtensor | bittensor.core.subtensor.Subtensor | None#

      -symbol: str#
      +symbol: str#
      -tao_dividends_per_hotkey: list[tuple[str, float]]#
      +tao_dividends_per_hotkey: list[tuple[str, float]]#
      @@ -1707,7 +1732,7 @@

      Module Contents
      -tempo: int#
      +tempo: int#

      @@ -1732,7 +1757,7 @@

      Module Contents
      -version: bittensor.utils.registration.torch.nn.Parameter | tuple[numpy.typing.NDArray]#
      +version: bittensor.utils.registration.torch.nn.Parameter | tuple[numpy.typing.NDArray]#

      @@ -1744,7 +1769,7 @@

      Module Contents
      -class bittensor.core.metagraph.NonTorchMetagraph(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None)[source]#
      +class bittensor.core.metagraph.NonTorchMetagraph(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None, mechid=0)[source]#

      Bases: MetagraphMixin

      The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the backbone of the decentralized machine learning system.

      @@ -1761,11 +1786,12 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – A unique identifier that distinguishes between different instances or versions of the Bittensor network.

      • -
      • network (str) – The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem.

      • -
      • lite (bool)

      • -
      • sync (bool)

      • +
      • netuid (int) – A unique identifier that distinguishes between different instances or versions of the Bittensor network.

      • +
      • network (str) – The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem.

      • +
      • lite (bool)

      • +
      • sync (bool)

      • subtensor (Optional[Union[bittensor.core.async_subtensor.AsyncSubtensor, bittensor.core.subtensor.Subtensor]])

      • +
      • mechid (int)

      Variables:
      @@ -1827,14 +1853,14 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier for the network, distinguishing this instance of the metagraph within -potentially multiple network configurations.

      • -
      • network (str) – The name of the network, which can indicate specific configurations or versions of the -Bittensor network.

      • -
      • lite (bool) – A flag indicating whether to use a lite version of the metagraph. The lite version may contain -less detailed information but can be quicker to initialize and sync.

      • -
      • sync (bool) – A flag indicating whether to synchronize the metagraph with the network upon initialization. +

      • netuid (int) – Subnet unique identifier.

      • +
      • network (str) – The name of the network, which can indicate specific configurations or versions of the Bittensor

      • +
      • network.

      • +
      • lite (bool) – A flag indicating whether to use a lite version of the metagraph. The lite version may contain less +detailed information but can be quicker to initialize and sync.

      • +
      • sync (bool) – A flag indicating whether to synchronize the metagraph with the network upon initialization. Synchronization involves updating the metagraph’s parameters to reflect the current state of the network.

      • +
      • mechid (int) – Subnet mechanism unique identifier.

      • subtensor (Optional[Union[bittensor.core.async_subtensor.AsyncSubtensor, bittensor.core.subtensor.Subtensor]])

      @@ -1899,7 +1925,7 @@

      Module Contents
      Parameters:
      -

      dir_path (str) – The directory path where the metagraph’s state file is located.

      +

      dir_path (str) – The directory path where the metagraph’s state file is located.

      Returns:

      @@ -1913,9 +1939,9 @@

      Module ContentsRaises:

      @@ -2005,7 +2031,7 @@

      Module Contents
      -class bittensor.core.metagraph.TorchMetagraph(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None)[source]#
      +class bittensor.core.metagraph.TorchMetagraph(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None, mechid=0)[source]#

      Bases: MetagraphMixin, BaseClass

      The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the backbone of the decentralized machine learning system.

      @@ -2022,11 +2048,12 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – A unique identifier that distinguishes between different instances or versions of the Bittensor network.

      • -
      • network (str) – The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem.

      • -
      • lite (bool)

      • -
      • sync (bool)

      • +
      • netuid (int) – A unique identifier that distinguishes between different instances or versions of the Bittensor network.

      • +
      • network (str) – The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem.

      • +
      • lite (bool)

      • +
      • sync (bool)

      • subtensor (Optional[Union[bittensor.core.async_subtensor.AsyncSubtensor, bittensor.core.subtensor.Subtensor]])

      • +
      • mechid (int)

      Variables:
      @@ -2088,14 +2115,14 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier for the network, distinguishing this instance of the metagraph within -potentially multiple network configurations.

      • -
      • network (str) – The name of the network, which can indicate specific configurations or versions of the -Bittensor network.

      • -
      • lite (bool) – A flag indicating whether to use a lite version of the metagraph. The lite version may contain -less detailed information but can be quicker to initialize and sync.

      • -
      • sync (bool) – A flag indicating whether to synchronize the metagraph with the network upon initialization. +

      • netuid (int) – Subnet unique identifier.

      • +
      • network (str) – The name of the network, which can indicate specific configurations or versions of the Bittensor

      • +
      • network.

      • +
      • lite (bool) – A flag indicating whether to use a lite version of the metagraph. The lite version may contain less +detailed information but can be quicker to initialize and sync.

      • +
      • sync (bool) – A flag indicating whether to synchronize the metagraph with the network upon initialization. Synchronization involves updating the metagraph’s parameters to reflect the current state of the network.

      • +
      • mechid (int) – Subnet mechanism unique identifier.

      • subtensor (Optional[Union[bittensor.core.async_subtensor.AsyncSubtensor, bittensor.core.subtensor.Subtensor]])

      @@ -2103,11 +2130,10 @@

      Module Contents

      Example

      Initializing a metagraph object for the Bittensor network with a specific network UID:

      -
      from bittensor.core.metagraph import Metagraph
      -
      -metagraph = Metagraph(netuid=123, network="finney", lite=True, sync=True)
      -
      -
      +
      +

      from bittensor.core.metagraph import Metagraph

      +

      metagraph = Metagraph(netuid=123, network=”finney”, lite=True, sync=True)

      +

      @@ -2160,7 +2186,7 @@

      Module Contents
      Parameters:
      -

      dir_path (str) – The directory path where the state file is located.

      +

      dir_path (str) – The directory path where the state file is located.

      Returns:

      The current metagraph instance with the loaded state.

      @@ -2242,10 +2268,10 @@

      Module Contents
      Parameters:
      @@ -2262,9 +2288,9 @@

      Module Contents
      Parameters:
        -
      • network (str) – Network name.

      • -
      • netuid (int) – Network UID.

      • -
      • root_dir (Optional[list[str]]) – list to the file path for the root directory of your metagraph saves (i.e. [‘/’, ‘tmp’, ‘metagraphs’], +

      • network (str) – Network name.

      • +
      • netuid (int) – Network UID.

      • +
      • root_dir (Optional[list[str]]) – list to the file path for the root directory of your metagraph saves (i.e. [‘/’, ‘tmp’, ‘metagraphs’], defaults to [“~”, “.bittensor”, “metagraphs”]

      @@ -2272,7 +2298,7 @@

      Module Contents

      Directory path.

      Return type:
      -

      str

      +

      str

      @@ -2283,13 +2309,13 @@

      Module Contents
      Parameters:
      -

      dir_path (str) – Directory path.

      +

      dir_path (str) – Directory path.

      Returns:

      Latest block path.

      Return type:
      -

      str

      +

      str

      @@ -2315,12 +2341,12 @@

      Module Contents

      previous

      -

      bittensor.core.extrinsics.utils

      +

      bittensor.core.extrinsics.weights

      Module ContentsMetagraphMixin.load()
    1942. MetagraphMixin.load_from_path()
    1943. MetagraphMixin.max_uids
    1944. +
    1945. MetagraphMixin.mechanism_count
    1946. +
    1947. MetagraphMixin.mechanisms_emissions_split
    1948. +
    1949. MetagraphMixin.mechid
    1950. MetagraphMixin.metadata()
    1951. MetagraphMixin.n
    1952. MetagraphMixin.name
    1953. diff --git a/static/python-api/html/autoapi/bittensor/core/settings/index.html b/static/python-api/html/autoapi/bittensor/core/settings/index.html index c885297a39..5212571c2d 100644 --- a/static/python-api/html/autoapi/bittensor/core/settings/index.html +++ b/static/python-api/html/autoapi/bittensor/core/settings/index.html @@ -169,6 +169,12 @@
    1954. bittensor.core.types
    1955. +
    1956. bittensor.extras
      +
    1957. bittensor.utils
    1958. +
    1959. bittensor.extras
      +
    1960. bittensor.utils
    1961. +
    1962. bittensor.extras
      +
    1963. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -418,6 +424,7 @@

        Contents

      • Subtensor.does_hotkey_exist()
      • Subtensor.encode_params()
      • Subtensor.filter_netuids_by_registered_hotkeys()
      • +
      • Subtensor.get_admin_freeze_window()
      • Subtensor.get_all_commitments()
      • Subtensor.get_all_metagraphs_info()
      • Subtensor.get_all_neuron_certificates()
      • @@ -443,6 +450,8 @@

        Contents

      • Subtensor.get_hyperparameter()
      • Subtensor.get_last_commitment_bonds_reset_block()
      • Subtensor.get_liquidity_list()
      • +
      • Subtensor.get_mechanism_count()
      • +
      • Subtensor.get_mechanism_emission_split()
      • Subtensor.get_metagraph_info()
      • Subtensor.get_minimum_required_stake()
      • Subtensor.get_netuids_for_hotkey()
      • @@ -484,6 +493,7 @@

        Contents

      • Subtensor.is_hotkey_registered()
      • Subtensor.is_hotkey_registered_any()
      • Subtensor.is_hotkey_registered_on_subnet()
      • +
      • Subtensor.is_in_admin_freeze_window()
      • Subtensor.is_subnet_active()
      • Subtensor.last_drand_round()
      • Subtensor.log_verbose
      • @@ -575,14 +585,14 @@

        Module Contents
        Parameters:
          -
        • network (Optional[str]) – The network name or type to connect to.

        • +
        • network (Optional[str]) – The network name or type to connect to.

        • config (Optional[bittensor.core.config.Config]) – Configuration object for the AsyncSubtensor instance.

        • -
        • log_verbose (bool) – Enables or disables verbose logging.

        • -
        • fallback_endpoints (Optional[list[str]]) – List of fallback endpoints to use if default or provided network is not available. +

        • log_verbose (bool) – Enables or disables verbose logging.

        • +
        • fallback_endpoints (Optional[list[str]]) – List of fallback endpoints to use if default or provided network is not available. Defaults to None.

        • -
        • retry_forever (bool) – Whether to retry forever on connection errors. Defaults to False.

        • -
        • _mock (bool) – Whether this is a mock instance. Mainly just for use in testing.

        • -
        • archive_endpoints (Optional[list[str]]) – Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases +

        • retry_forever (bool) – Whether to retry forever on connection errors. Defaults to False.

        • +
        • _mock (bool) – Whether this is a mock instance. Mainly just for use in testing.

        • +
        • archive_endpoints (Optional[list[str]]) – Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases where you are requesting a block that is too old for your current (presumably lite) node. Defaults to None

        @@ -599,15 +609,15 @@

        Module ContentsParameters:
        • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

        • -
        • netuid (int) – The UID of the target subnet for which the call is being initiated.

        • +
        • netuid (int) – The UID of the target subnet for which the call is being initiated.

        • liquidity (bittensor.utils.balance.Balance) – The amount of liquidity to be added.

        • price_low (bittensor.utils.balance.Balance) – The lower bound of the price tick range. In TAO.

        • price_high (bittensor.utils.balance.Balance) – The upper bound of the price tick range. In TAO.

        • -
        • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to +

        • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to None.

        • -
        • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

        • -
        • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

        • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

        • +
        • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -620,7 +630,7 @@

        Module ContentsReturn type: -

        Tuple[bool, str]

        +

        Tuple[bool, str]

        @@ -641,20 +651,20 @@

        Module ContentsParameters:
        • wallet (bittensor_wallet.Wallet) – The wallet to be used for staking.

        • -
        • hotkey_ss58 (Optional[str]) – The SS58 address of the hotkey associated with the neuron to which you intend to delegate your +

        • hotkey_ss58 (Optional[str]) – The SS58 address of the hotkey associated with the neuron to which you intend to delegate your stake. If not specified, the wallet’s hotkey will be used. Defaults to None.

        • -
        • netuid (Optional[int]) – The unique identifier of the subnet to which the neuron belongs.

        • +
        • netuid (Optional[int]) – The unique identifier of the subnet to which the neuron belongs.

        • amount (Optional[bittensor.utils.balance.Balance]) – The amount of TAO to stake.

        • -
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to True.

        • -
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to False.

        • -
        • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The stake will +

        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to True.

        • +
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to False.

        • +
        • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The stake will only execute if the price change doesn’t exceed the rate tolerance. Default is False.

        • -
        • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial staking when the full amount would +

        • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial staking when the full amount would exceed the price tolerance. If false, the entire stake fails if it would exceed the tolerance. Default is False.

        • -
        • rate_tolerance (float) – The maximum allowed price change ratio when staking. For example, +

        • rate_tolerance (float) – The maximum allowed price change ratio when staking. For example, 0.005 = 0.5% maximum price increase. Only used when safe_staking is True. Default is 0.005.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +

        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction. Defaults to None.

        @@ -663,7 +673,7 @@

        Module Contents

        True if the staking is successful, False otherwise.

        Return type:
        -

        bool

        +

        bool

        @@ -683,12 +693,12 @@

        Module ContentsParameters:
        • wallet (bittensor_wallet.Wallet) – The wallet used for staking.

        • -
        • hotkey_ss58s (list[str]) – List of SS58 addresses of hotkeys to stake to.

        • -
        • netuids (list[int]) – List of network UIDs to stake to.

        • -
        • amounts (list[Balance]) – Corresponding amounts of TAO to stake for each hotkey.

        • -
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

        • -
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

        • hotkey_ss58s (list[str]) – List of SS58 addresses of hotkeys to stake to.

        • +
        • netuids (list[int]) – List of network UIDs to stake to.

        • +
        • amounts (list[Balance]) – Corresponding amounts of TAO to stake for each hotkey.

        • +
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

        • +
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -697,7 +707,7 @@

        Module Contents

        True if the staking is successful for all specified neurons, False otherwise.

        Return type:
        -

        bool

        +

        bool

        @@ -712,7 +722,7 @@

        Module Contents
        Parameters:
        -

        block (Optional[int]) – The block number to query the subnet information from.

        +

        block (Optional[int]) – The block number to query the subnet information from.

        Returns:

        A list of DynamicInfo objects, each containing detailed information about a subnet.

        @@ -725,10 +735,10 @@

        Module Contents
        -property block: int#
        +property block: int#
        Return type:
        -

        int

        +

        int

        @@ -740,15 +750,15 @@

        Module Contents
        Parameters:
          -
        • netuid (int) – The unique identifier of the subnetwork.

        • -
        • block (Optional[int]) – the block number for this query.

        • +
        • netuid (int) – The unique identifier of the subnetwork.

        • +
        • block (Optional[int]) – the block number for this query.

        Returns:

        block number of the last step in the subnet.

        Return type:
        -

        Optional[int]

        +

        Optional[int]

        @@ -760,8 +770,8 @@

        Module Contents
        Parameters:
          -
        • netuid (int) – The unique identifier of the subnetwork.

        • -
        • uid (int) – The unique identifier of the neuron.

        • +
        • netuid (int) – The unique identifier of the subnetwork.

        • +
        • uid (int) – The unique identifier of the neuron.

        Returns:
        @@ -772,14 +782,14 @@

        Module ContentsReturn type: -

        Optional[int]

        +

        Optional[int]

        -bonds(netuid, block=None)[source]#
        +bonds(netuid, block=None, mechid=0)[source]#
        Retrieves the bond distribution set by neurons within a specific subnet of the Bittensor network.

        Bonds represent the investments or commitments made by neurons in one another, indicating a level of trust and perceived value. This bonding mechanism is integral to the network’s market-based approach to @@ -789,15 +799,16 @@

        Module Contents
        Parameters:
          -
        • netuid (int) – The network UID of the subnet to query.

        • -
        • block (Optional[int]) – the block number for this query.

        • +
        • netuid (int) – Subnet identifier.

        • +
        • block (Optional[int]) – the block number for this query.

        • +
        • mechid (int) – Subnet mechanism identifier.

        Returns:

        List of tuples mapping each neuron’s UID to its bonds with other neurons.

        Return type:
        -

        list[tuple[int, list[tuple[int, int]]]]

        +

        list[tuple[int, list[tuple[int, int]]]]

        @@ -818,12 +829,12 @@

        Module ContentsParameters:
        • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron to be registered.

        • -
        • netuid (int) – The unique identifier of the subnet.

        • -
        • wait_for_inclusion (bool, optional) – Waits for the transaction to be included in a block. Defaults to +

        • netuid (int) – The unique identifier of the subnet.

        • +
        • wait_for_inclusion (bool, optional) – Waits for the transaction to be included in a block. Defaults to False.

        • -
        • wait_for_finalization (bool, optional) – Waits for the transaction to be finalized on the blockchain. +

        • wait_for_finalization (bool, optional) – Waits for the transaction to be finalized on the blockchain. Defaults to True.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -832,7 +843,7 @@

        Module Contents

        True if the registration is successful, False otherwise.

        Return type:
        -

        bool

        +

        bool

        @@ -851,9 +862,9 @@

        Module ContentsParameters:
        • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron committing the data.

        • -
        • netuid (int) – The unique identifier of the subnetwork.

        • -
        • data (str) – The data to be committed to the network.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

        • netuid (int) – The unique identifier of the subnetwork.

        • +
        • data (str) – The data to be committed to the network.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -862,7 +873,7 @@

        Module Contents

        True if the commitment was successful, False otherwise.

        Return type:
        -

        bool

        +

        bool

        @@ -874,41 +885,40 @@

        Module Contents
        Parameters:
          -
        • netuid (int) – The network identifier for which to check the commit-reveal mechanism.

        • -
        • block (Optional[int]) – The block number to query.

        • +
        • netuid (int) – The network identifier for which to check the commit-reveal mechanism.

        • +
        • block (Optional[int]) – The block number to query.

        Returns:

        Returns the integer value of the hyperparameter if available; otherwise, returns None.

        Return type:
        -

        Optional[bool]

        +

        Optional[bool]

        -commit_weights(wallet, netuid, salt, uids, weights, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, period=16)[source]#
        +commit_weights(wallet, netuid, salt, uids, weights, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, period=16, mechid=0)[source]#

        Commits a hash of the neuron’s weights to the Bittensor blockchain using the provided wallet. This action serves as a commitment or snapshot of the neuron’s current weight distribution.

        Parameters:
        • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron committing the weights.

        • -
        • netuid (int) – The unique identifier of the subnet.

        • -
        • salt (list[int]) – list of randomly generated integers as salt to generated weighted hash.

        • -
        • uids (np.ndarray) – NumPy array of neuron UIDs for which weights are being committed.

        • -
        • weights (np.ndarray) – NumPy array of weight values corresponding to each UID.

        • -
        • version_key (int) – Version key for compatibility with the network. Default is int representation of -a Bittensor version..

        • -
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

        • -
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is -False.

        • -
        • max_retries (int) – The number of maximum attempts to commit weights. Default is 5.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

        • +
        • netuid (int) – The unique identifier of the subnet.

        • +
        • salt (bittensor.core.types.Salt) – list of randomly generated integers as salt to generated weighted hash.

        • +
        • uids (bittensor.core.types.UIDs) – Array/list of neuron UIDs for which weights are being committed.

        • +
        • weights (bittensor.core.types.Weights) – Array/list of weight values corresponding to each UID.

        • +
        • version_key (int) – Version key for compatibility with the network.

        • +
        • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

        • +
        • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

        • +
        • max_retries (int) – The number of maximum attempts to commit weights.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

        • +
        • mechid (int) – The subnet mechanism unique identifier.

        Returns:
        @@ -916,7 +926,7 @@

        Module ContentsReturn type: -

        tuple[bool, str]

        +

        tuple[bool, str]

        @@ -930,10 +940,10 @@

        Module Contentsdetermine_block_hash(block)[source]#
        Parameters:
        -

        block (Optional[int])

        +

        block (Optional[int])

        Return type:
        -

        Optional[str]

        +

        Optional[str]

        @@ -949,15 +959,15 @@

        Module Contents
        Parameters:
          -
        • netuid (int) – The unique identifier of the subnet.

        • -
        • block (Optional[int]) – The blockchain block number for the query.

        • +
        • netuid (int) – The unique identifier of the subnet.

        • +
        • block (Optional[int]) – The blockchain block number for the query.

        Returns:

        The value of the ‘Difficulty’ hyperparameter if the subnet exists, None otherwise.

        Return type:
        -

        Optional[int]

        +

        Optional[int]

        @@ -973,15 +983,15 @@

        Module Contents
        Parameters:
          -
        • hotkey_ss58 (str) – The SS58 address of the hotkey.

        • -
        • block (Optional[int]) – the block number for this query.

        • +
        • hotkey_ss58 (str) – The SS58 address of the hotkey.

        • +
        • block (Optional[int]) – the block number for this query.

        Returns:

        True if the hotkey is known by the chain and there are accounts, False otherwise.

        Return type:
        -

        bool

        +

        bool

        @@ -993,12 +1003,12 @@

        Module Contents
        Parameters:
        Return type:
        -

        str

        +

        str

        @@ -1010,17 +1020,34 @@

        Module Contents
        Parameters:
          -
        • all_netuids (Iterable[int]) – A list of netuids to filter.

        • -
        • filter_for_netuids (Iterable[int]) – A subset of all_netuids to filter from the main list.

        • +
        • all_netuids (Iterable[int]) – A list of netuids to filter.

        • +
        • filter_for_netuids (Iterable[int]) – A subset of all_netuids to filter from the main list.

        • all_hotkeys (Iterable[Wallet]) – Hotkeys to filter from the main list.

        • -
        • block (Optional[int]) – The blockchain block number for the query.

        • +
        • block (Optional[int]) – The blockchain block number for the query.

        Returns:

        The filtered list of netuids.

        Return type:
        -

        list[int]

        +

        list[int]

        +
        + + + +
        +
        +get_admin_freeze_window(block=None)#
        +

        Returns the number of blocks when dependent transactions will be frozen for execution.

        +
        +
        Parameters:
        +

        block (Optional[int]) – The block number for which the children are to be retrieved.

        +
        +
        Returns:
        +

        AdminFreezeWindow as integer. The number of blocks are frozen.

        +
        +
        Return type:
        +

        int

        @@ -1031,32 +1058,38 @@

        Module Contents
        Parameters:
        Return type:
        -

        dict[str, str]

        +

        dict[str, str]

        -get_all_metagraphs_info(block=None)[source]#
        +get_all_metagraphs_info(block=None, all_mechanisms=False)[source]#

        Retrieves a list of MetagraphInfo objects for all subnets

        Parameters:
        -

        block (Optional[int]) – the block number at which to retrieve the hyperparameter. Do not specify if using block_hash or -reuse_block

        +
          +
        • block (Optional[int]) – The blockchain block number for the query.

        • +
        • all_mechanisms (bool) – If True then returns all mechanisms, otherwise only those with index 0 for all subnets.

        • +
        Returns:
        -

        MetagraphInfo dataclass

        +

        List of MetagraphInfo objects for all existing subnets.

        Return type:
        -

        list[bittensor.core.chain_data.MetagraphInfo]

        +

        Optional[list[bittensor.core.chain_data.MetagraphInfo]]

        +
        @@ -1066,8 +1099,8 @@

        Module Contents
        Parameters:
          -
        • netuid (int) – The unique identifier of the subnet.

        • -
        • block (Optional[int]) – The blockchain block number for the query.

        • +
        • netuid (int) – The unique identifier of the subnet.

        • +
        • block (Optional[int]) – The blockchain block number for the query.

        Returns:
        @@ -1087,8 +1120,8 @@

        Module Contents
        Parameters:
          -
        • netuid (int) – The unique identifier of the subnetwork.

        • -
        • block (Optional[int]) – The block number to retrieve the commitment from. Default is None.

        • +
        • netuid (int) – The unique identifier of the subnetwork.

        • +
        • block (Optional[int]) – The block number to retrieve the commitment from. Default is None.

        Returns:
        @@ -1099,7 +1132,7 @@

        Module ContentsReturn type: -

        result (dict)

        +

        result (dict)

        Example of result: @@ -1120,13 +1153,13 @@

        Module Contents
        Parameters:
        -

        block (Optional[int]) – The blockchain block number for the query.

        +

        block (Optional[int]) – The blockchain block number for the query.

        Returns:

        A list of SubnetInfo objects, each containing detailed information about a subnet.

        Return type:
        -

        list[SubnetInfo]

        +

        list[SubnetInfo]

        @@ -1142,8 +1175,8 @@

        Module Contents
        Parameters:
          -
        • address (str) – coldkey address.

        • -
        • block (Optional[int]) – The blockchain block number for the query.

        • +
        • address (str) – coldkey address.

        • +
        • block (Optional[int]) – The blockchain block number for the query.

        Returns:
        @@ -1162,8 +1195,8 @@

        Module Contents
        Parameters:
          -
        • addresses (str) – coldkey addresses(s).

        • -
        • block (Optional[int]) – The blockchain block number for the query.

        • +
        • addresses (str) – coldkey addresses(s).

        • +
        • block (Optional[int]) – The blockchain block number for the query.

        Returns:
        @@ -1184,13 +1217,13 @@

        Module Contents
        Parameters:
        -

        block (int) – The block number for which the hash is to be retrieved.

        +

        block (int) – The block number for which the hash is to be retrieved.

        Returns:

        The cryptographic hash of the specified block.

        Return type:
        -

        str

        +

        str

        @@ -1210,9 +1243,9 @@

        Module Contents
        Parameters:
          -
        • hotkey (str) – The hotkey value.

        • -
        • netuid (int) – The netuid value.

        • -
        • block (Optional[int]) – The block number for which the children are to be retrieved.

        • +
        • hotkey (str) – The hotkey value.

        • +
        • netuid (int) – The netuid value.

        • +
        • block (Optional[int]) – The block number for which the children are to be retrieved.

        Returns:
        @@ -1223,7 +1256,7 @@

        Module ContentsReturn type: -

        tuple[bool, list[tuple[float, str]], str]

        +

        tuple[bool, list[tuple[float, str]], str]

        @@ -1236,9 +1269,9 @@

        Module Contents
        Parameters:
          -
        • hotkey (str) – The hotkey value.

        • -
        • netuid (int) – The netuid value.

        • -
        • block (Optional[int]) – The block number for which the children are to be retrieved.

        • +
        • hotkey (str) – The hotkey value.

        • +
        • netuid (int) – The netuid value.

        • +
        • block (Optional[int]) – The block number for which the children are to be retrieved.

        Returns:
        @@ -1246,7 +1279,7 @@

        Module ContentsReturn type: -

        list[tuple[float, str]]

        +

        list[tuple[float, str]]

        @@ -1258,9 +1291,9 @@

        Module Contents
        Parameters:
          -
        • netuid (int) – The unique identifier of the subnetwork.

        • -
        • uid (int) – The unique identifier of the neuron.

        • -
        • block (Optional[int]) – The block number to retrieve the commitment from. If None, the latest block is used. +

        • netuid (int) – The unique identifier of the subnetwork.

        • +
        • uid (int) – The unique identifier of the neuron.

        • +
        • block (Optional[int]) – The block number to retrieve the commitment from. If None, the latest block is used. Default is None.

        @@ -1268,7 +1301,7 @@

        Module Contents

        The commitment data as a string.

        Return type:
        -

        str

        +

        str

        @@ -1285,7 +1318,7 @@

        Module Contents

        The current chain block number.

        Return type:
        -

        int

        +

        int

        @@ -1302,8 +1335,8 @@

        Module Contents
        Parameters:
          -
        • netuid (int) – The unique identifier of the subnet.

        • -
        • block (Optional[int]) – The blockchain block number for the query. Default is None.

        • +
        • netuid (int) – The unique identifier of the subnet.

        • +
        • block (Optional[int]) – The blockchain block number for the query. Default is None.

        Returns:
        @@ -1333,8 +1366,8 @@

        Module Contents
        Parameters:
          -
        • netuid (int) – The unique identifier of the subnet.

        • -
        • block (Optional[int]) – The blockchain block number for the query. Default is None.

        • +
        • netuid (int) – The unique identifier of the subnet.

        • +
        • block (Optional[int]) – The blockchain block number for the query. Default is None.

        Returns:
        @@ -1368,8 +1401,8 @@

        Module Contents
        Parameters:
          -
        • hotkey_ss58 (str) – The SS58 address of the delegate’s hotkey.

        • -
        • block (Optional[int]) – The blockchain block number for the query.

        • +
        • hotkey_ss58 (str) – The SS58 address of the delegate’s hotkey.

        • +
        • block (Optional[int]) – The blockchain block number for the query.

        Returns:
        @@ -1391,7 +1424,7 @@

        Module Contents
        Parameters:
        -

        block (Optional[int]) – The blockchain block number for the query.

        +

        block (Optional[int]) – The blockchain block number for the query.

        Returns:

        ChainIdentity, …}

        @@ -1412,15 +1445,15 @@

        Module Contents
        Parameters:
          -
        • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

        • -
        • block (Optional[int]) – The blockchain block number for the query.

        • +
        • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

        • +
        • block (Optional[int]) – The blockchain block number for the query.

        Returns:

        The delegate take percentage.

        Return type:
        -

        float

        +

        float

        @@ -1437,15 +1470,15 @@

        Module Contents
        Parameters:
          -
        • coldkey_ss58 (str) – The SS58 address of the account’s coldkey.

        • -
        • block (Optional[int]) – The blockchain block number for the query.

        • +
        • coldkey_ss58 (str) – The SS58 address of the account’s coldkey.

        • +
        • block (Optional[int]) – The blockchain block number for the query.

        Returns:

        A list containing the delegated information for the specified coldkey.

        Return type:
        -

        list[bittensor.core.chain_data.DelegatedInfo]

        +

        list[bittensor.core.chain_data.DelegatedInfo]

        @@ -1460,13 +1493,13 @@

        Module Contents
        Parameters:
        -

        block (Optional[int]) – The blockchain block number for the query.

        +

        block (Optional[int]) – The blockchain block number for the query.

        Returns:

        List of DelegateInfo objects, or an empty list if there are no delegates.

        Return type:
        -

        list[bittensor.core.chain_data.DelegateInfo]

        +

        list[bittensor.core.chain_data.DelegateInfo]

        @@ -1479,7 +1512,7 @@

        Module Contents
        Parameters:
        -

        block (Optional[int]) – The blockchain block number for the query.

        +

        block (Optional[int]) – The blockchain block number for the query.

        Returns:

        The existential deposit amount. Always in TAO.

        @@ -1505,15 +1538,15 @@

        Module Contents
        Parameters:
          -
        • hotkey_ss58 (str) – The SS58 address of the hotkey.

        • -
        • block (Optional[int]) – The blockchain block number for the query.

        • +
        • hotkey_ss58 (str) – The SS58 address of the hotkey.

        • +
        • block (Optional[int]) – The blockchain block number for the query.

        Returns:

        The SS58 address of the owner if the hotkey exists, or None if it doesn’t.

        Return type:
        -

        Optional[str]

        +

        Optional[str]

        @@ -1530,9 +1563,9 @@

        Module Contents
        Parameters:
          -
        • param_name (str) – The name of the hyperparameter to retrieve.

        • -
        • netuid (int) – The unique identifier of the subnet.

        • -
        • block (Optional[int]) – the block number at which to retrieve the hyperparameter.

        • +
        • param_name (str) – The name of the hyperparameter to retrieve.

        • +
        • netuid (int) – The unique identifier of the subnet.

        • +
        • block (Optional[int]) – the block number at which to retrieve the hyperparameter.

        Returns:
        @@ -1551,15 +1584,15 @@

        Module Contents
        Parameters:
          -
        • netuid (int) – The unique identifier of the subnetwork.

        • -
        • uid (int) – The unique identifier of the neuron.

        • +
        • netuid (int) – The unique identifier of the subnetwork.

        • +
        • uid (int) – The unique identifier of the neuron.

        Returns:

        The block number when the bonds were last reset, or None if not found.

        Return type:
        -

        Optional[int]

        +

        Optional[int]

        @@ -1573,54 +1606,109 @@

        Module ContentsParameters:
        Returns:

        List of liquidity positions, or None if subnet does not exist.

        Return type:
        -

        Optional[list[bittensor.utils.liquidity.LiquidityPosition]]

        +

        Optional[list[bittensor.utils.liquidity.LiquidityPosition]]

        -
        -get_metagraph_info(netuid, field_indices=None, block=None)[source]#
        -

        Retrieves full or partial metagraph information for the specified subnet (netuid).

        +
        +get_mechanism_count(netuid, block=None)#
        +

        Retrieves the number of mechanisms for the given subnet.

        Parameters:
          -
        • netuid (int) – The NetUID of the subnet to query.

        • -
        • field_indices (Optional[Union[list[bittensor.core.chain_data.SelectiveMetagraphIndex], list[int]]]) – An optional list of SelectiveMetagraphIndex or int values specifying which fields to retrieve. -If not provided, all available fields will be returned.

        • -
        • block (Optional[int]) – The block number at which to query the data. If not specified, the current block or one determined -via reuse_block or block_hash will be used.

        • +
        • netuid (int) – Subnet identifier.

        • +
        • block (Optional[int]) – The blockchain block number for the query.

        Returns:
        -

        -
        A MetagraphInfo object containing the requested subnet data, or None if the subnet

        with the given netuid does not exist.

        +

        The number of mechanisms for the given subnet.

        +
        +
        Return type:
        +

        int

        -

        +
        + +
        +
        +get_mechanism_emission_split(netuid, block=None)#
        +

        Returns the emission percentages allocated to each subnet mechanism.

        +
        +
        Parameters:
        +
          +
        • netuid (int) – The unique identifier of the subnet.

        • +
        • block (Optional[int]) – The blockchain block number for the query.

        • +
        +
        +
        Returns:
        +

        A list of integers representing the percentage of emission allocated to each subnet mechanism (rounded to +whole numbers). Returns None if emission is evenly split or if the data is unavailable.

        Return type:
        -

        Optional[MetagraphInfo]

        +

        Optional[list[int]]

        +
        +
        +
        + +
        +
        +get_metagraph_info(netuid, field_indices=None, block=None, mechid=0)[source]#
        +

        Retrieves full or partial metagraph information for the specified subnet mechanism (netuid, mechid).

        +
        +
        Parameters:
        +
          +
        • netuid (int) – Subnet unique identifier.

        • +
        • field_indices (Optional[Union[list[bittensor.core.chain_data.SelectiveMetagraphIndex], list[int]]]) – Optional list of SelectiveMetagraphIndex or int values specifying which fields to retrieve. +If not provided, all available fields will be returned.

        • +
        • block (Optional[int]) – The block number at which to query the data.

        • +
        • mechid (int) – Subnet mechanism unique identifier.

        • +
        +
        +
        Returns:
        +

        MetagraphInfo object with the requested subnet mechanism data, None if the subnet mechanism does not exist.

        +
        +
        Return type:
        +

        Optional[bittensor.core.chain_data.MetagraphInfo]

        Example

        -

        meta_info = subtensor.get_metagraph_info(netuid=2)

        -
        -
        partial_meta_info = subtensor.get_metagraph_info(

        netuid=2, +

        # Retrieve all fields from the metagraph from subnet 2 mechanism 0 +meta_info = subtensor.get_metagraph_info(netuid=2)

        +

        # Retrieve all fields from the metagraph from subnet 2 mechanism 1 +meta_info = subtensor.get_metagraph_info(netuid=2, mechid=1)

        +

        # Retrieve selective data from the metagraph from subnet 2 mechanism 0 +partial_meta_info = subtensor.get_metagraph_info(

        +
        +

        netuid=2, field_indices=[SelectiveMetagraphIndex.Name, SelectiveMetagraphIndex.OwnerHotkeys]

        -
        -
        +
        +

        )

        +

        # Retrieve selective data from the metagraph from subnet 2 mechanism 1 +partial_meta_info = subtensor.get_metagraph_info(

        +
        +

        netuid=2, +mechid=1, +field_indices=[SelectiveMetagraphIndex.Name, SelectiveMetagraphIndex.OwnerHotkeys]

        +

        )

    1964. +
      @@ -1647,15 +1735,15 @@

      Module Contents
      Parameters:
        -
      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:

      A list of netuids where the neuron is a member.

      Return type:
      -

      list[int]

      +

      list[int]

      @@ -1670,9 +1758,9 @@

      Module Contents
      Parameters:
        -
      • hotkey (str) – The hotkey to query.

      • -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • hotkey (str) – The hotkey to query.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -1696,9 +1784,9 @@

      Module Contents
      Parameters:
        -
      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -1728,8 +1816,8 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int], optional) – The reference block to calculate from. +

      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int], optional) – The reference block to calculate from. If None, uses the current chain block height.

      @@ -1737,7 +1825,7 @@

      Module Contents

      The block number at which the next epoch will start.

      Return type:
      -

      int

      +

      int

      @@ -1749,16 +1837,16 @@

      Module Contents
      Parameters:
        -
      • coldkey_ss58 (str) – The SS58 address of the coldkey to query.

      • -
      • block (int) – The blockchain block number for the query.

      • -
      • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

      • +
      • coldkey_ss58 (str) – The SS58 address of the coldkey to query.

      • +
      • block (int) – The blockchain block number for the query.

      • +
      • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

      Returns:

      A list of hotkey SS58 addresses owned by the coldkey.

      Return type:
      -

      list[str]

      +

      list[str]

      @@ -1773,16 +1861,16 @@

      Module Contents
      Parameters:
        -
      • hotkey (str) – The child hotkey SS58.

      • -
      • netuid (int) – The netuid.

      • -
      • block (Optional[int]) – The block number for which the children are to be retrieved.

      • +
      • hotkey (str) – The child hotkey SS58.

      • +
      • netuid (int) – The netuid.

      • +
      • block (Optional[int]) – The block number for which the children are to be retrieved.

      Returns:

      A list of formatted parents [(proportion, parent)]

      Return type:
      -

      list[tuple[float, str]]

      +

      list[tuple[float, str]]

      @@ -1794,16 +1882,16 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnetwork.

      • -
      • uid (int) – The neuron uid to retrieve the commitment from.

      • -
      • block (Optional[int]) – The block number to retrieve the commitment from. Default is None.

      • +
      • netuid (int) – The unique identifier of the subnetwork.

      • +
      • uid (int) – The neuron uid to retrieve the commitment from.

      • +
      • block (Optional[int]) – The block number to retrieve the commitment from. Default is None.

      Returns:

      A tuple of reveal block and commitment message.

      Return type:
      -

      result (Optional[tuple[int, str]]

      +

      result (Optional[tuple[int, str]]

      @@ -1820,16 +1908,16 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnetwork.

      • -
      • hotkey_ss58_address (str) – The ss58 address of the committee member.

      • -
      • block (Optional[int]) – The block number to retrieve the commitment from. Default is None.

      • +
      • netuid (int) – The unique identifier of the subnetwork.

      • +
      • hotkey_ss58_address (str) – The ss58 address of the committee member.

      • +
      • block (Optional[int]) – The block number to retrieve the commitment from. Default is None.

      Returns:

      A tuple of reveal block and commitment message.

      Return type:
      -

      result (tuple[int, str)

      +

      result (tuple[int, str)

      @@ -1842,10 +1930,10 @@

      Module Contents
      Parameters:
        -
      • coldkey_ss58 (str) – The SS58 address of the coldkey that delegated the stake. This address owns the stake.

      • -
      • hotkey_ss58 (str) – The ss58 address of the hotkey which the stake is on.

      • -
      • netuid (int) – The unique identifier of the subnet to query.

      • -
      • block (Optional[int]) – The specific block number at which to retrieve the stake information. If None, the current stake at +

      • coldkey_ss58 (str) – The SS58 address of the coldkey that delegated the stake. This address owns the stake.

      • +
      • hotkey_ss58 (str) – The ss58 address of the hotkey which the stake is on.

      • +
      • netuid (int) – The unique identifier of the subnet to query.

      • +
      • block (Optional[int]) – The specific block number at which to retrieve the stake information. If None, the current stake at the latest block is returned. Defaults to None.

      @@ -1870,10 +1958,10 @@

      Module ContentsParameters:
      • amount (bittensor.utils.balance.Balance) – Amount of stake to add in TAO

      • -
      • netuid (int) – Netuid of subnet

      • -
      • coldkey_ss58 (str) – SS58 address of coldkey

      • -
      • hotkey_ss58 (str) – SS58 address of hotkey

      • -
      • block (Optional[int]) – Block number at which to perform the calculation

      • +
      • netuid (int) – Netuid of subnet

      • +
      • coldkey_ss58 (str) – SS58 address of coldkey

      • +
      • hotkey_ss58 (str) – SS58 address of hotkey

      • +
      • block (Optional[int]) – Block number at which to perform the calculation

      Returns:
      @@ -1892,15 +1980,15 @@

      Module Contents
      Parameters:
        -
      • coldkey_ss58 (str) – The SS58 address of the coldkey.

      • -
      • block (Optional[int]) – The block number at which to query the stake information.

      • +
      • coldkey_ss58 (str) – The SS58 address of the coldkey.

      • +
      • block (Optional[int]) – The block number at which to query the stake information.

      Returns:

      A list of StakeInfo objects, or None if no stake information is found.

      Return type:
      -

      Optional[list[StakeInfo]]

      +

      Optional[list[StakeInfo]]

      @@ -1912,10 +2000,10 @@

      Module Contents
      Parameters:
        -
      • coldkey_ss58 (str) – The SS58 address of the coldkey.

      • -
      • hotkey_ss58 (str) – The SS58 address of the hotkey.

      • -
      • netuids (Optional[list[int]]) – The subnet IDs to query for. Set to None for all subnets.

      • -
      • block (Optional[int]) – The block number at which to query the stake information.

      • +
      • coldkey_ss58 (str) – The SS58 address of the coldkey.

      • +
      • hotkey_ss58 (str) – The SS58 address of the hotkey.

      • +
      • netuids (Optional[list[int]]) – The subnet IDs to query for. Set to None for all subnets.

      • +
      • block (Optional[int]) – The block number at which to query the stake information.

      Returns:
      @@ -1934,9 +2022,9 @@

      Module Contents
      Parameters:
        -
      • hotkey_ss58 (str) – The SS58 address of the hotkey.

      • -
      • netuid (int) – The subnet ID to query for.

      • -
      • block (Optional[int]) – The block number at which to query the stake information. Do not specify if also specifying +

      • hotkey_ss58 (str) – The SS58 address of the hotkey.

      • +
      • netuid (int) – The subnet ID to query for.

      • +
      • block (Optional[int]) – The block number at which to query the stake information. Do not specify if also specifying block_hash or reuse_block

      @@ -1949,7 +2037,18 @@

      Module Contents
      get_stake_info_for_coldkey#
      -
      +
      +
      Parameters:
      +
        +
      • coldkey_ss58 (str)

      • +
      • block (Optional[int])

      • +
      +
      +
      Return type:
      +

      list[bittensor.core.chain_data.StakeInfo]

      +
      +
      +
      @@ -1959,13 +2058,13 @@

      Module ContentsParameters:

      • amount (bittensor.utils.balance.Balance) – Amount of stake to move in TAO

      • -
      • origin_netuid (int) – Netuid of origin subnet

      • -
      • origin_hotkey_ss58 (str) – SS58 address of origin hotkey

      • -
      • origin_coldkey_ss58 (str) – SS58 address of origin coldkey

      • -
      • destination_netuid (int) – Netuid of destination subnet

      • -
      • destination_hotkey_ss58 (str) – SS58 address of destination hotkey

      • -
      • destination_coldkey_ss58 (str) – SS58 address of destination coldkey

      • -
      • block (Optional[int]) – Block number at which to perform the calculation

      • +
      • origin_netuid (int) – Netuid of origin subnet

      • +
      • origin_hotkey_ss58 (str) – SS58 address of origin hotkey

      • +
      • origin_coldkey_ss58 (str) – SS58 address of origin coldkey

      • +
      • destination_netuid (int) – Netuid of destination subnet

      • +
      • destination_hotkey_ss58 (str) – SS58 address of destination hotkey

      • +
      • destination_coldkey_ss58 (str) – SS58 address of destination coldkey

      • +
      • block (Optional[int]) – Block number at which to perform the calculation

      Returns:
      @@ -1985,8 +2084,8 @@

      Module ContentsParameters:
      • amount (bittensor.utils.balance.Balance) – Amount of stake to add in Alpha/TAO.

      • -
      • netuid (int) – Netuid of subnet.

      • -
      • block (Optional[int]) – Block number at which to perform the calculation.

      • +
      • netuid (int) – Netuid of subnet.

      • +
      • block (Optional[int]) – Block number at which to perform the calculation.

      Returns:
      @@ -2002,15 +2101,15 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – Netuid of subnet.

      • -
      • block (Optional[int]) – Block number at which to perform the calculation.

      • +
      • netuid (int) – Netuid of subnet.

      • +
      • block (Optional[int]) – Block number at which to perform the calculation.

      Returns:

      A list of stake weights for all hotkeys in the specified subnet.

      Return type:
      -

      list[float]

      +

      list[float]

      @@ -2024,13 +2123,13 @@

      Module Contents
      Parameters:
      -

      block (Optional[int]) – The blockchain block number for the query.

      +

      block (Optional[int]) – The blockchain block number for the query.

      Returns:

      The burn cost for subnet registration.

      Return type:
      -

      int

      +

      int

      @@ -2049,15 +2148,15 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The network UID of the subnet to query.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The network UID of the subnet to query.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:

      The subnet’s hyperparameters, or None if not available.

      Return type:
      -

      Optional[Union[list, bittensor.core.chain_data.SubnetHyperparameters]]

      +

      Optional[Union[list, bittensor.core.chain_data.SubnetHyperparameters]]

      @@ -2074,8 +2173,8 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -2100,15 +2199,15 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The network UID of the subnet to fetch the owner’s hotkey for.

      • -
      • block (Optional[int]) – The specific block number to query the data from.

      • +
      • netuid (int) – The network UID of the subnet to fetch the owner’s hotkey for.

      • +
      • block (Optional[int]) – The specific block number to query the data from.

      Returns:

      The hotkey of the subnet owner if available; None otherwise.

      Return type:
      -

      Optional[str]

      +

      Optional[str]

      @@ -2120,8 +2219,8 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -2139,7 +2238,7 @@

      Module Contents
      Parameters:
      -

      block (Optional[int]) – The blockchain block number for the query. Default to None.

      +

      block (Optional[int]) – The blockchain block number for the query. Default to None.

      Returns:

      @@ -2161,12 +2260,12 @@

      Module Contents
      Parameters:
      Return type:
      -

      int

      +

      int

      @@ -2178,15 +2277,15 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnetwork.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnetwork.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:

      A list of boolean values representing validator permits, or None if not available.

      Return type:
      -

      Optional[list[bool]]

      +

      Optional[list[bool]]

      @@ -2197,13 +2296,13 @@

      Module Contents
      Parameters:
      -

      block (Optional[int]) – The blockchain block number for the query.

      +

      block (Optional[int]) – The blockchain block number for the query.

      Returns:

      A list of subnet netuids.

      Return type:
      -

      list[int]

      +

      bittensor.core.types.UIDs

      This function provides a comprehensive view of the subnets within the Bittensor network, @@ -2212,13 +2311,14 @@

      Module Contents
      -get_timelocked_weight_commits(netuid, block=None)#
      +get_timelocked_weight_commits(netuid, block=None, mechid=0)#

      Retrieves CRv4 weight commit information for a specific subnet.

      Parameters:
        -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query. Default is None.

      • +
      • netuid (int) – Subnet identifier.

      • +
      • block (Optional[int]) – The blockchain block number for the query. Default is None.

      • +
      • mechid (int) – Subnet mechanism identifier.

      Returns:
      @@ -2248,13 +2348,13 @@

      Module Contents
      Parameters:
      -

      block (Optional[int]) – The blockchain block number for the query.

      +

      block (Optional[int]) – The blockchain block number for the query.

      Returns:

      datetime object for the timestamp of the block

      Return type:
      -

      datetime.datetime

      +

      datetime.datetime

      @@ -2265,13 +2365,13 @@

      Module Contents
      Parameters:
      -

      block (Optional[int]) – The blockchain block number for the query.

      +

      block (Optional[int]) – The blockchain block number for the query.

      Returns:

      The total number of subnets in the network.

      Return type:
      -

      Optional[str]

      +

      Optional[str]

      @@ -2292,10 +2392,10 @@

      Module ContentsParameters:
      @@ -2324,16 +2424,16 @@

      Module Contents
      Parameters:
        -
      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:

      The UID of the neuron if it is registered on the subnet, None otherwise.

      Return type:
      -

      Optional[int]

      +

      Optional[int]

      @@ -2350,10 +2450,10 @@

      Module ContentsParameters:
      • amount (bittensor.utils.balance.Balance) – Amount of stake to unstake in TAO

      • -
      • netuid (int) – Netuid of subnet

      • -
      • coldkey_ss58 (str) – SS58 address of coldkey

      • -
      • hotkey_ss58 (str) – SS58 address of hotkey

      • -
      • block (Optional[int]) – Block number at which to perform the calculation

      • +
      • netuid (int) – Netuid of subnet

      • +
      • coldkey_ss58 (str) – SS58 address of coldkey

      • +
      • hotkey_ss58 (str) – SS58 address of hotkey

      • +
      • block (Optional[int]) – Block number at which to perform the calculation

      Returns:
      @@ -2375,8 +2475,8 @@

      Module Contents
      Parameters:
        -
      • proposal_hash (str) – The hash of the proposal for which voting data is requested.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • proposal_hash (str) – The hash of the proposal for which voting data is requested.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -2402,15 +2502,15 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:

      The value of the ‘ImmunityPeriod’ hyperparameter if the subnet exists, None otherwise.

      Return type:
      -

      Optional[int]

      +

      Optional[int]

      @@ -2436,15 +2536,15 @@

      Module Contents
      Parameters:
        -
      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:

      True if the hotkey is a delegate, False otherwise.

      Return type:
      -

      bool

      +

      bool

      @@ -2465,10 +2565,10 @@

      Module Contents
      Parameters:
        -
      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • -
      • netuid (Optional[int]) – The unique identifier of the subnet to check the registration. If None, the +

      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • +
      • netuid (Optional[int]) – The unique identifier of the subnet to check the registration. If None, the registration is checked across all subnets.

      • -
      • block (Optional[int]) – The blockchain block number at which to perform the query.

      • +
      • block (Optional[int]) – The blockchain block number at which to perform the query.

      Returns:
      @@ -2479,7 +2579,7 @@

      Module ContentsReturn type: -

      bool

      +

      bool

      @@ -2496,15 +2596,15 @@

      Module Contents
      Parameters:
        -
      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:

      True if the hotkey is registered on any subnet, False otherwise.

      Return type:
      -

      bool

      +

      bool

      This function is essential for determining the network-wide presence and participation of a neuron.

      @@ -2517,13 +2617,35 @@

      Module Contents
      Parameters:
      Return type:
      -

      bool

      +

      bool

      +
      + + + +
      +
      +is_in_admin_freeze_window(netuid, block=None)#
      +

      Returns True if the current block is within the terminal freeze window of the tempo +for the given subnet. During this window, admin ops are prohibited to avoid interference +with validator weight submissions.

      +
      +
      Parameters:
      +
        +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      +
      +
      Returns:
      +

      True if in freeze window, else False.

      +
      +
      Return type:
      +

      bool

      @@ -2535,15 +2657,15 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:

      True if subnet is active, False otherwise.

      Return type:
      -

      bool

      +

      bool

      This means whether the start_call was initiated or not.

      @@ -2558,7 +2680,7 @@

      Module Contents

      The latest Drand round emitted in bittensor.

      Return type:
      -

      int

      +

      int

      @@ -2575,8 +2697,8 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnetwork.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnetwork.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -2587,26 +2709,34 @@

      Module ContentsReturn type: -

      Optional[float]

      +

      Optional[float]

      -metagraph(netuid, lite=True, block=None)[source]#
      -
      +metagraph(netuid, lite=True, block=None, mechid=0)[source]# +

      Returns a synced metagraph for a specified subnet within the Bittensor network. +The metagraph represents the network’s structure, including neuron connections and interactions.

      +
      Parameters:
        -
      • netuid (int)

      • -
      • lite (bool)

      • -
      • block (Optional[int])

      • +
      • netuid (int) – The network UID of the subnet to query.

      • +
      • lite (bool) – If true, returns a metagraph using a lightweight sync (no weights, no bonds).

      • +
      • block (Optional[int]) – Block number for synchronization, or None for the latest block.

      • +
      • mechid (int) – Subnet mechanism identifier.

      -
      Return type:
      -

      bittensor.core.metagraph.Metagraph

      +
      Returns:
      +

      The metagraph representing the subnet’s structure and neuron relationships.

      +
      +
      Return type:
      +

      bittensor.core.metagraph.Metagraph

      +

      The metagraph is an essential tool for understanding the topology and dynamics of the Bittensor network’s +decentralized architecture, particularly in relation to neuron interconnectivity and consensus processes.

      @@ -2616,8 +2746,8 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnetwork.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnetwork.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -2628,7 +2758,7 @@

      Module ContentsReturn type: -

      Optional[int]

      +

      Optional[int]

      @@ -2641,14 +2771,14 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

      • -
      • netuid (int) – The UID of the target subnet for which the call is being initiated.

      • -
      • position_id (int) – The id of the position record in the pool.

      • +
      • netuid (int) – The UID of the target subnet for which the call is being initiated.

      • +
      • position_id (int) – The id of the position record in the pool.

      • liquidity_delta (bittensor.utils.balance.Balance) – The amount of liquidity to be added or removed (add if positive or remove if negative).

      • -
      • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to +

      • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to None.

      • -
      • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

      • -
      • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

      • +
      • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -2661,7 +2791,7 @@

      Module ContentsReturn type: -

      Tuple[bool, str]

      +

      Tuple[bool, str]

      @@ -2704,24 +2834,24 @@

      Module ContentsParameters:
      • wallet (bittensor.wallet) – The wallet to move stake from.

      • -
      • origin_hotkey (str) – The SS58 address of the source hotkey.

      • -
      • origin_netuid (int) – The netuid of the source subnet.

      • -
      • destination_hotkey (str) – The SS58 address of the destination hotkey.

      • -
      • destination_netuid (int) – The netuid of the destination subnet.

      • +
      • origin_hotkey (str) – The SS58 address of the source hotkey.

      • +
      • origin_netuid (int) – The netuid of the source subnet.

      • +
      • destination_hotkey (str) – The SS58 address of the destination hotkey.

      • +
      • destination_netuid (int) – The netuid of the destination subnet.

      • amount (Balance) – Amount of stake to move.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      • -
      • move_all_stake (bool) – If true, moves all stake from the source hotkey to the destination hotkey.

      • +
      • move_all_stake (bool) – If true, moves all stake from the source hotkey to the destination hotkey.

      Returns:

      True if the stake movement was successful.

      Return type:
      -

      success (bool)

      +

      success (bool)

      @@ -2737,9 +2867,9 @@

      Module Contents
      Parameters:
        -
      • uid (int) – The unique identifier of the neuron.

      • -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • uid (int) – The unique identifier of the neuron.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -2766,15 +2896,15 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:

      A list of NeuronInfo objects detailing each neuron’s characteristics in the subnet.

      Return type:
      -

      list[bittensor.core.chain_data.NeuronInfo]

      +

      list[bittensor.core.chain_data.NeuronInfo]

      @@ -2794,15 +2924,15 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:

      A list of simplified neuron information for the subnet.

      Return type:
      -

      list[bittensor.core.chain_data.NeuronInfoLite]

      +

      list[bittensor.core.chain_data.NeuronInfoLite]

      @@ -2822,9 +2952,9 @@

      Module Contents
      Parameters:
        -
      • module_name (str) – The name of the module containing the constant.

      • -
      • constant_name (str) – The name of the constant to retrieve.

      • -
      • block (Optional[int]) – The blockchain block number at which to query the constant.

      • +
      • module_name (str) – The name of the module containing the constant.

      • +
      • constant_name (str) – The name of the constant to retrieve.

      • +
      • block (Optional[int]) – The blockchain block number at which to query the constant.

      Returns:
      @@ -2852,9 +2982,9 @@

      Module Contents
      Parameters:
        -
      • coldkey_ss58 (str) – The coldkey used to query the neuron’s identity (technically the neuron’s coldkey SS58 +

      • coldkey_ss58 (str) – The coldkey used to query the neuron’s identity (technically the neuron’s coldkey SS58 address).

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -2888,10 +3018,10 @@

      Module Contents
      Parameters:
        -
      • module (str) – The name of the module from which to query the map storage.

      • -
      • name (str) – The specific storage function within the module to query.

      • -
      • block (Optional[int]) – The blockchain block number at which to perform the query.

      • -
      • params (Optional[list]) – Parameters to be passed to the query.

      • +
      • module (str) – The name of the module from which to query the map storage.

      • +
      • name (str) – The specific storage function within the module to query.

      • +
      • block (Optional[int]) – The blockchain block number at which to perform the query.

      • +
      • params (Optional[list]) – Parameters to be passed to the query.

      Returns:
      @@ -2917,9 +3047,9 @@

      Module Contents
      Parameters:
        -
      • name (str) – The name of the map storage function to query.

      • -
      • block (Optional[int]) – The blockchain block number at which to perform the query.

      • -
      • params (Optional[list]) – A list of parameters to pass to the query function.

      • +
      • name (str) – The name of the map storage function to query.

      • +
      • block (Optional[int]) – The blockchain block number at which to perform the query.

      • +
      • params (Optional[list]) – A list of parameters to pass to the query function.

      Returns:
      @@ -2946,10 +3076,10 @@

      Module Contents
      Parameters:
        -
      • module (str) – The name of the module from which to query data.

      • -
      • name (str) – The name of the storage function within the module.

      • -
      • block (Optional[int]) – The blockchain block number at which to perform the query.

      • -
      • params (Optional[list[object]]) – A list of parameters to pass to the query function.

      • +
      • module (str) – The name of the module from which to query data.

      • +
      • name (str) – The name of the storage function within the module.

      • +
      • block (Optional[int]) – The blockchain block number at which to perform the query.

      • +
      • params (Optional[list[object]]) – A list of parameters to pass to the query function.

      Returns:
      @@ -2976,10 +3106,10 @@

      Module Contents
      Parameters:
        -
      • runtime_api (str) – The name of the runtime API to query.

      • -
      • method (str) – The specific method within the runtime API to call.

      • -
      • params (Optional[Union[list[Any], dict[str, Any]]]) – The parameters to pass to the method call.

      • -
      • block (Optional[int]) – the block number for this query.

      • +
      • runtime_api (str) – The name of the runtime API to query.

      • +
      • method (str) – The specific method within the runtime API to call.

      • +
      • params (Optional[Union[list[Any], dict[str, Any]]]) – The parameters to pass to the method call.

      • +
      • block (Optional[int]) – the block number for this query.

      Returns:
      @@ -3005,9 +3135,9 @@

      Module Contents
      Parameters:
        -
      • name (str) – The name of the storage function to query.

      • -
      • block (Optional[int]) – The blockchain block number at which to perform the query.

      • -
      • params (Optional[list]) – A list of parameters to pass to the query function.

      • +
      • name (str) – The name of the storage function to query.

      • +
      • block (Optional[int]) – The blockchain block number at which to perform the query.

      • +
      • params (Optional[list]) – A list of parameters to pass to the query function.

      Returns:
      @@ -3033,8 +3163,8 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -3062,20 +3192,20 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron to be registered.

      • -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to False.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to +

      • netuid (int) – The unique identifier of the subnet.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to False.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to True.

      • -
      • max_allowed_attempts (int) – Maximum number of attempts to register the wallet.

      • -
      • output_in_place (bool) – If true, prints the progress of the proof of work to the console in-place. Meaning +

      • max_allowed_attempts (int) – Maximum number of attempts to register the wallet.

      • +
      • output_in_place (bool) – If true, prints the progress of the proof of work to the console in-place. Meaning the progress is printed on the same lines. Defaults to True.

      • -
      • cuda (bool) – If true, the wallet should be registered using CUDA device(s). Defaults to False.

      • -
      • dev_id (Union[List[int], int]) – The CUDA device id to use, or a list of device ids. Defaults to 0 (zero).

      • -
      • tpb (int) – The number of threads per block (CUDA). Default to 256.

      • -
      • num_processes (Optional[int]) – The number of processes to use to register. Default to None.

      • -
      • update_interval (Optional[int]) – The number of nonces to solve between updates. Default to None.

      • -
      • log_verbose (bool) – If true, the registration process will log more information. Default to False.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • cuda (bool) – If true, the wallet should be registered using CUDA device(s). Defaults to False.

      • +
      • dev_id (Union[List[int], int]) – The CUDA device id to use, or a list of device ids. Defaults to 0 (zero).

      • +
      • tpb (int) – The number of threads per block (CUDA). Default to 256.

      • +
      • num_processes (Optional[int]) – The number of processes to use to register. Default to None.

      • +
      • update_interval (Optional[int]) – The number of nonces to solve between updates. Default to None.

      • +
      • log_verbose (bool) – If true, the registration process will log more information. Default to False.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3084,7 +3214,7 @@

      Module Contents

      True if the registration is successful, False otherwise.

      Return type:
      -

      bool

      +

      bool

      This function facilitates the entry of new neurons into the network, supporting the decentralized @@ -3099,11 +3229,11 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – The wallet to be used for subnet registration.

      • -
      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or +

      • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False if the extrinsic fails to enter the block within the timeout. Default is False.

      • -
      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning +

      • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or returns False if the extrinsic fails to be finalized within the timeout. Default is True.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3112,7 +3242,7 @@

      Module Contents

      True if the subnet registration was successful, False otherwise.

      Return type:
      -

      bool

      +

      bool

      @@ -3125,13 +3255,13 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

      • -
      • netuid (int) – The UID of the target subnet for which the call is being initiated.

      • -
      • position_id (int) – The id of the position record in the pool.

      • -
      • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to +

      • netuid (int) – The UID of the target subnet for which the call is being initiated.

      • +
      • position_id (int) – The id of the position record in the pool.

      • +
      • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to None.

      • -
      • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

      • -
      • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

      • +
      • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3144,7 +3274,7 @@

      Module ContentsReturn type: -

      Tuple[bool, str]

      +

      Tuple[bool, str]

      @@ -3162,43 +3292,38 @@

      Module Contents
      -reveal_weights(wallet, netuid, uids, weights, salt, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, period=16)[source]#
      +reveal_weights(wallet, netuid, uids, weights, salt, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, period=16, mechid=0)[source]#

      Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet. This action serves as a revelation of the neuron’s previously committed weight distribution.

      Parameters:
        -
      • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron revealing the weights.

      • -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • uids (np.ndarray) – NumPy array of neuron UIDs for which weights are being revealed.

      • -
      • weights (np.ndarray) – NumPy array of weight values corresponding to each UID.

      • -
      • salt (np.ndarray) – NumPy array of salt values corresponding to the hash function.

      • -
      • version_key (int) – Version key for compatibility with the network. Default is int representation of -the Bittensor version.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is -False.

      • -
      • max_retries (int) – The number of maximum attempts to reveal weights. Default is 5.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

      • +
      • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • uids (bittensor.core.types.UIDs) – NumPy array of neuron UIDs for which weights are being revealed.

      • +
      • weights (bittensor.core.types.Weights) – NumPy array of weight values corresponding to each UID.

      • +
      • salt (bittensor.core.types.Salt) – NumPy array of salt values corresponding to the hash function.

      • +
      • version_key (int) – Version key for compatibility with the network.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • max_retries (int) – The number of maximum attempts to reveal weights.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

      • +
      • mechid (int) – The subnet mechanism unique identifier.

      Returns:
      -

      -
      True if the weight revelation is successful, False otherwise. And msg, a string

      value describing the success or potential error.

      -
      -
      -

      +

      True if the extrinsic executed successfully, False otherwise. +message is a string value describing the success or potential error.

      Return type:
      -

      tuple[bool, str]

      -
      -
      -
      -
      This function allows neurons to reveal their previously committed weight distribution, ensuring transparency

      and accountability within the Bittensor network.

      +

      tuple[bool, str]

      +

      This function allows neurons to reveal their previously committed weight distribution, ensuring transparency and +accountability within the Bittensor network.

      +

      See also: <https://docs.learnbittensor.org/glossary#commit-reveal>,

      @@ -3209,10 +3334,10 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – Bittensor wallet instance.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is +

      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3221,7 +3346,7 @@

      Module Contents

      True if registration was successful, otherwise False.

      Return type:
      -

      bool

      +

      bool

      @@ -3234,11 +3359,11 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

      • -
      • cooldown (int) – the number of blocks to setting pending childkey cooldown.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is +

      • cooldown (int) – the number of blocks to setting pending childkey cooldown.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3251,7 +3376,7 @@

      Module ContentsReturn type: -

      tuple[bool, str]

      +

      tuple[bool, str]

      Note: This operation can only be successfully performed if your wallet has root privileges.

      @@ -3265,14 +3390,14 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

      • -
      • netuids (list[int]) – The list of subnet uids.

      • -
      • weights (list[float]) – The list of weights to be set.

      • -
      • version_key (int, optional) – Version key for compatibility with the network. Default is 0.

      • -
      • wait_for_inclusion (bool, optional) – Waits for the transaction to be included in a block. Defaults to +

      • netuids (list[int]) – The list of subnet uids.

      • +
      • weights (list[float]) – The list of weights to be set.

      • +
      • version_key (int, optional) – Version key for compatibility with the network. Default is 0.

      • +
      • wait_for_inclusion (bool, optional) – Waits for the transaction to be included in a block. Defaults to False.

      • -
      • wait_for_finalization (bool, optional) – Waits for the transaction to be finalized on the blockchain. +

      • wait_for_finalization (bool, optional) – Waits for the transaction to be finalized on the blockchain. Defaults to False.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3281,7 +3406,7 @@

      Module Contents

      True if the setting of weights is successful, False otherwise.

      Return type:
      -

      bool

      +

      bool

      @@ -3296,14 +3421,14 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnetwork.

      • +
      • netuid (int) – The unique identifier of the subnetwork.

      • axon (bittensor.core.axon.Axon) – The Axon instance to be registered for serving.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is +

      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is True.

      • certificate (bittensor.utils.Certificate) – Certificate to use for TLS. If None, no TLS will be used. Defaults to None.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3312,7 +3437,7 @@

      Module Contents

      True if the Axon serve registration is successful, False otherwise.

      Return type:
      -

      bool

      +

      bool

      @@ -3329,13 +3454,13 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

      • -
      • hotkey (str) – The SS58 address of the neuron’s hotkey.

      • -
      • netuid (int) – The netuid value.

      • -
      • children (list[tuple[float, str]]) – A list of children with their proportions.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • hotkey (str) – The SS58 address of the neuron’s hotkey.

      • +
      • netuid (int) – The netuid value.

      • +
      • children (list[tuple[float, str]]) – A list of children with their proportions.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3348,7 +3473,7 @@

      Module ContentsReturn type: -

      tuple[bool, str]

      +

      tuple[bool, str]

      @@ -3356,7 +3481,23 @@

      Module Contents
      set_commitment#
      -
      +
      +
      Parameters:
      +
        +
      • wallet (bittensor_wallet.Wallet)

      • +
      • netuid (int)

      • +
      • data (str)

      • +
      • period (Optional[int])

      • +
      • raise_error (bool)

      • +
      • wait_for_inclusion (bool)

      • +
      • wait_for_finalization (bool)

      • +
      +
      +
      Return type:
      +

      bittensor.core.types.ExtrinsicResponse

      +
      +
      +
      @@ -3367,12 +3508,12 @@

      Module ContentsParameters:

      • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

      • -
      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • -
      • take (float) – Percentage reward for the delegate.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

      • +
      • take (float) – Percentage reward for the delegate.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3385,7 +3526,7 @@

      Module ContentsReturn type: -

      tuple[bool, str]

      +

      tuple[bool, str]

      Raises:
        @@ -3414,12 +3555,12 @@

        Module ContentsParameters:
        • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron committing the data.

        • -
        • netuid (int) – The unique identifier of the subnetwork.

        • -
        • data (str) – The data to be committed to the network.

        • -
        • blocks_until_reveal (int) – The number of blocks from now after which the data will be revealed. Defaults to +

        • netuid (int) – The unique identifier of the subnetwork.

        • +
        • data (str) – The data to be committed to the network.

        • +
        • blocks_until_reveal (int) – The number of blocks from now after which the data will be revealed. Defaults to 360. Then number of blocks in one epoch.

        • -
        • block_time (Union[int, float]) – The number of seconds between each block. Defaults to 12.

        • -
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

        • block_time (Union[int, float]) – The number of seconds between each block. Defaults to 12.

        • +
        • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

        @@ -3428,7 +3569,7 @@

        Module Contents

        True if the commitment was successful, False otherwise.

        Return type:
        -

        bool

        +

        bool

      Note: A commitment can be set once per subnet epoch and is reset at the next epoch in the chain automatically.

      @@ -3442,14 +3583,14 @@

      Module ContentsParameters:
      • wallet (Wallet) – The wallet instance that will authorize the transaction.

      • -
      • netuid (int) – The unique ID of the network on which the operation takes place.

      • +
      • netuid (int) – The unique ID of the network on which the operation takes place.

      • subnet_identity (SubnetIdentity) – The identity data of the subnet including attributes like name, GitHub repository, contact, URL, discord, description, and any additional metadata.

      • -
      • wait_for_inclusion (bool) – Indicates if the function should wait for the transaction to be included in the +

      • wait_for_inclusion (bool) – Indicates if the function should wait for the transaction to be included in the block.

      • -
      • wait_for_finalization (bool) – Indicates if the function should wait for the transaction to reach +

      • wait_for_finalization (bool) – Indicates if the function should wait for the transaction to reach finalization.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3462,14 +3603,14 @@

      Module ContentsReturn type: -

      tuple[bool, str]

      +

      tuple[bool, str]

      -set_weights(wallet, netuid, uids, weights, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, block_time=12.0, period=8)[source]#
      +set_weights(wallet, netuid, uids, weights, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, block_time=12.0, period=8, mechid=0, commit_reveal_version=4)[source]#
      Sets the interneuronal weights for the specified neuron. This process involves specifying the influence or

      trust a neuron places on other neurons in the network, which is a fundamental aspect of Bittensor’s decentralized learning architecture.

      @@ -3479,18 +3620,19 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron setting the weights.

      • -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • uids (Union[numpy.typing.NDArray[numpy.int64], bittensor.utils.torch.LongTensor, list]) – The list of neuron UIDs that the weights are being set for.

      • -
      • weights (Union[numpy.typing.NDArray[numpy.float32], bittensor.utils.torch.FloatTensor, list]) – The corresponding weights to be set for each UID.

      • -
      • version_key (int) – Version key for compatibility with the network. Default is int representation of a Bittensor -version.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

      • -
      • max_retries (int) – The number of maximum attempts to set weights. Default is 5.

      • -
      • block_time (float) – The number of seconds for block duration. Default is 12.0 seconds.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction. Default is 8.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • uids (bittensor.core.types.UIDs) – The list of neuron UIDs that the weights are being set for.

      • +
      • weights (bittensor.core.types.Weights) – The corresponding weights to be set for each UID.

      • +
      • version_key (int) – Version key for compatibility with the network.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • max_retries (int) – The number of maximum attempts to set weights.

      • +
      • block_time (float) – The number of seconds for block duration.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

      • +
      • mechid (int) – The subnet mechanism unique identifier.

      • +
      • commit_reveal_version (int) – The version of the commit-reveal in the chain.

      Returns:
      @@ -3498,13 +3640,15 @@

      Module ContentsReturn type: -

      tuple

      -
      -

      -
      -
      This function is crucial in shaping the network’s collective intelligence, where each neuron’s learning and

      contribution are influenced by the weights it sets towards others.

      +

      tuple

      +

      This function is crucial in the Yuma Consensus mechanism, where each validator’s weight vector contributes to +the overall weight matrix used to calculate emissions and maintain network consensus.

      +
      @@ -3516,15 +3660,15 @@

      Module Contents
      • call (scalecodec.types.GenericCall) – a prepared Call object

      • wallet (bittensor_wallet.Wallet) – the wallet whose coldkey will be used to sign the extrinsic

      • -
      • wait_for_inclusion (bool) – whether to wait until the extrinsic call is included on the chain

      • -
      • wait_for_finalization (bool) – whether to wait until the extrinsic call is finalized on the chain

      • -
      • sign_with (str) – the wallet’s keypair to use for the signing. Options are “coldkey”, “hotkey”, “coldkeypub”

      • -
      • use_nonce (bool) – unique identifier for the transaction related with hot/coldkey.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • wait_for_inclusion (bool) – whether to wait until the extrinsic call is included on the chain

      • +
      • wait_for_finalization (bool) – whether to wait until the extrinsic call is finalized on the chain

      • +
      • sign_with (str) – the wallet’s keypair to use for the signing. Options are “coldkey”, “hotkey”, “coldkeypub”

      • +
      • use_nonce (bool) – unique identifier for the transaction related with hot/coldkey.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      • -
      • nonce_key (str) – the type on nonce to use. Options are “hotkey” or “coldkey”.

      • -
      • raise_error (bool) – raises the relevant exception rather than returning False if unsuccessful.

      • +
      • nonce_key (str) – the type on nonce to use. Options are “hotkey” or “coldkey”.

      • +
      • raise_error (bool) – raises the relevant exception rather than returning False if unsuccessful.

      Returns:
      @@ -3534,7 +3678,7 @@

      Module Contents

      SubstrateRequestException – Substrate request exception.

      Return type:
      -

      tuple[bool, str]

      +

      tuple[bool, str]

      @@ -3550,12 +3694,12 @@

      Module ContentsParameters:
      • wallet (Wallet) – The wallet used to sign the extrinsic (must be unlocked).

      • -
      • netuid (int) – The UID of the target subnet for which the call is being initiated.

      • -
      • wait_for_inclusion (bool, optional) – Whether to wait for the extrinsic to be included in a block. +

      • netuid (int) – The UID of the target subnet for which the call is being initiated.

      • +
      • wait_for_inclusion (bool, optional) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

      • -
      • wait_for_finalization (bool, optional) – Whether to wait for finalization of the extrinsic. +

      • wait_for_finalization (bool, optional) – Whether to wait for finalization of the extrinsic. Defaults to False.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3568,7 +3712,7 @@

      Module ContentsReturn type: -

      Tuple[bool, str]

      +

      Tuple[bool, str]

      @@ -3583,16 +3727,16 @@

      Module Contents
      Parameters:
        -
      • method (str) – The method name for the state call.

      • -
      • data (str) – The data to be passed to the method.

      • -
      • block (Optional[int]) – The blockchain block number at which to perform the state call.

      • +
      • method (str) – The method name for the state call.

      • +
      • data (str) – The data to be passed to the method.

      • +
      • block (Optional[int]) – The blockchain block number at which to perform the state call.

      Returns:

      The result of the rpc call.

      Return type:
      -

      result (dict[Any, Any])

      +

      result (dict[Any, Any])

      @@ -3608,8 +3752,8 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The block number to query the subnet information from.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The block number to query the subnet information from.

      Returns:
      @@ -3628,15 +3772,15 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:

      True if the subnet exists, False otherwise.

      Return type:
      -

      bool

      +

      bool

      This function is critical for verifying the presence of specific subnets in the network, @@ -3650,8 +3794,8 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnetwork.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnetwork.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -3662,7 +3806,7 @@

      Module ContentsReturn type: -

      Optional[int]

      +

      Optional[int]

      @@ -3681,22 +3825,22 @@

      Module ContentsParameters:
      • wallet (bittensor.wallet) – The wallet to swap stake from.

      • -
      • hotkey_ss58 (str) – The SS58 address of the hotkey whose stake is being swapped.

      • -
      • origin_netuid (int) – The netuid from which stake is removed.

      • -
      • destination_netuid (int) – The netuid to which stake is added.

      • -
      • amount (Union[Balance, float]) – The amount to swap.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The swap +

      • hotkey_ss58 (str) – The SS58 address of the hotkey whose stake is being swapped.

      • +
      • origin_netuid (int) – The netuid from which stake is removed.

      • +
      • destination_netuid (int) – The netuid to which stake is added.

      • +
      • amount (Union[Balance, float]) – The amount to swap.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The swap will only execute if the price ratio between subnets doesn’t exceed the rate tolerance. Default is False.

      • -
      • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial stake swaps when +

      • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial stake swaps when the full amount would exceed the price tolerance. If false, the entire swap fails if it would exceed the tolerance. Default is False.

      • -
      • rate_tolerance (float) – The maximum allowed increase in the price ratio between subnets +

      • rate_tolerance (float) – The maximum allowed increase in the price ratio between subnets (origin_price/destination_price). For example, 0.005 = 0.5% maximum increase. Only used when safe_staking is True. Default is 0.005.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3705,7 +3849,7 @@

      Module Contents

      True if the extrinsic was successful.

      Return type:
      -

      success (bool)

      +

      success (bool)

      The price ratio for swap_stake in safe mode is calculated as: origin_subnet_price / destination_subnet_price @@ -3727,8 +3871,8 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnetwork.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnetwork.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -3739,7 +3883,7 @@

      Module ContentsReturn type: -

      Optional[int]

      +

      Optional[int]

      @@ -3752,11 +3896,11 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

      • -
      • netuid (int) – The UID of the target subnet for which the call is being initiated.

      • -
      • enable (bool) – Boolean indicating whether to enable user liquidity.

      • -
      • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

      • -
      • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +

      • netuid (int) – The UID of the target subnet for which the call is being initiated.

      • +
      • enable (bool) – Boolean indicating whether to enable user liquidity.

      • +
      • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

      • +
      • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3769,7 +3913,7 @@

      Module ContentsReturn type: -

      Tuple[bool, str]

      +

      Tuple[bool, str]

      Note: The call can be executed successfully by the subnet owner only.

      @@ -3783,14 +3927,14 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – Source wallet for the transfer.

      • -
      • dest (str) – Destination address for the transfer.

      • -
      • amount (float) – Amount of tao to transfer.

      • -
      • transfer_all (bool) – Flag to transfer all tokens. Default is False.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is +

      • dest (str) – Destination address for the transfer.

      • +
      • amount (float) – Amount of tao to transfer.

      • +
      • transfer_all (bool) – Flag to transfer all tokens. Default is False.

      • +
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

      • -
      • keep_alive (bool) – Flag to keep the connection alive. Default is True.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • keep_alive (bool) – Flag to keep the connection alive. Default is True.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3799,7 +3943,7 @@

      Module Contents

      True if the transferring was successful, otherwise False.

      Return type:
      -

      bool

      +

      bool

      @@ -3812,14 +3956,14 @@

      Module ContentsParameters:
      • wallet (bittensor.wallet) – The wallet to transfer stake from.

      • -
      • destination_coldkey_ss58 (str) – The destination coldkey SS58 address.

      • -
      • hotkey_ss58 (str) – The hotkey SS58 address associated with the stake.

      • -
      • origin_netuid (int) – The source subnet UID.

      • -
      • destination_netuid (int) – The destination subnet UID.

      • -
      • amount (Union[Balance, float, int]) – Amount to transfer.

      • -
      • wait_for_inclusion (bool) – If true, waits for inclusion before returning.

      • -
      • wait_for_finalization (bool) – If true, waits for finalization before returning.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • destination_coldkey_ss58 (str) – The destination coldkey SS58 address.

      • +
      • hotkey_ss58 (str) – The hotkey SS58 address associated with the stake.

      • +
      • origin_netuid (int) – The source subnet UID.

      • +
      • destination_netuid (int) – The destination subnet UID.

      • +
      • amount (Union[Balance, float, int]) – Amount to transfer.

      • +
      • wait_for_inclusion (bool) – If true, waits for inclusion before returning.

      • +
      • wait_for_finalization (bool) – If true, waits for finalization before returning.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      @@ -3828,7 +3972,7 @@

      Module Contents

      True if the transfer was successful.

      Return type:
      -

      success (bool)

      +

      success (bool)

      @@ -3840,13 +3984,13 @@

      Module Contents
      Parameters:
      -

      block (Optional[int]) – The blockchain block number for the query.

      +

      block (Optional[int]) – The blockchain block number for the query.

      Returns:

      The transaction rate limit of the network, None if not available.

      Return type:
      -

      Optional[int]

      +

      Optional[int]

      @@ -3867,29 +4011,29 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron from which the stake is being removed.

      • -
      • hotkey_ss58 (Optional[str]) – The SS58 address of the hotkey account to unstake from.

      • -
      • netuid (Optional[int]) – The unique identifier of the subnet.

      • +
      • hotkey_ss58 (Optional[str]) – The SS58 address of the hotkey account to unstake from.

      • +
      • netuid (Optional[int]) – The unique identifier of the subnet.

      • amount (Optional[bittensor.utils.balance.Balance]) – The amount of alpha to unstake. If not specified, unstakes all. Alpha amount.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The unstake +

      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The unstake will only execute if the price change doesn’t exceed the rate tolerance. Default is False.

      • -
      • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial unstaking when +

      • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial unstaking when the full amount would exceed the price tolerance. If false, the entire unstake fails if it would exceed the tolerance. Default is False.

      • -
      • rate_tolerance (float) – The maximum allowed price change ratio when unstaking. For example, +

      • rate_tolerance (float) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum price decrease. Only used when safe_staking is True. Default is 0.005.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      • -
      • unstake_all (bool) – If True, unstakes all tokens, and amount is ignored. Default is False.

      • +
      • unstake_all (bool) – If True, unstakes all tokens, and amount is ignored. Default is False.

      Returns:

      True if the unstaking process is successful, False otherwise.

      Return type:
      -

      bool

      +

      bool

      @@ -3907,13 +4051,13 @@

      Module ContentsParameters:
      • wallet (bittensor_wallet.Wallet) – The wallet of the stake owner.

      • -
      • hotkey (str) – The SS58 address of the hotkey to unstake from.

      • -
      • netuid (int) – The unique identifier of the subnet.

      • -
      • rate_tolerance (Optional[float]) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum +

      • hotkey (str) – The SS58 address of the hotkey to unstake from.

      • +
      • netuid (int) – The unique identifier of the subnet.

      • +
      • rate_tolerance (Optional[float]) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum price decrease. If not passed (None), then unstaking goes without price limit. Default is 0.005.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +

      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction. Default is None.

      @@ -3924,7 +4068,7 @@

      Module ContentsReturn type: -

      tuple[bool, str]

      +

      tuple[bool, str]

      @@ -3981,23 +4125,23 @@

      Module Contents
      • wallet (bittensor_wallet.Wallet) – The wallet linked to the coldkey from which the stakes are being withdrawn.

      • -
      • hotkey_ss58s (List[str]) – A list of hotkey SS58 addresses to unstake from.

      • -
      • netuids (List[int]) – The list of subnet uids.

      • +
      • hotkey_ss58s (List[str]) – A list of hotkey SS58 addresses to unstake from.

      • +
      • netuids (List[int]) – The list of subnet uids.

      • amounts (List[Balance]) – The amounts of TAO to unstake from each hotkey. If not provided, unstakes all available stakes.

      • -
      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • -
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • -
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +

      • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

      • +
      • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

      • +
      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

      • -
      • unstake_all (bool) – If True, unstakes all tokens, and amounts is ignored. Default is False.

      • +
      • unstake_all (bool) – If True, unstakes all tokens, and amounts is ignored. Default is False.

      Returns:

      True if the batch unstaking is successful, False otherwise.

      Return type:
      -

      bool

      +

      bool

      @@ -4013,13 +4157,13 @@

      Module Contents
      Parameters:
      -

      block (Optional[int]) – The block number to wait for. If None, waits for the next block.

      +

      block (Optional[int]) – The block number to wait for. If None, waits for the next block.

      Returns:

      True if the target block was reached, False if timeout occurred.

      Return type:
      -

      bool

      +

      bool

      @@ -4033,7 +4177,7 @@

      Module Contents
      -weights(netuid, block=None)[source]#
      +weights(netuid, block=None, mechid=0)[source]#

      Retrieves the weight distribution set by neurons within a specific subnet of the Bittensor network. This function maps each neuron’s UID to the weights it assigns to other neurons, reflecting the network’s trust

      @@ -4042,15 +4186,16 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The network UID of the subnet to query.

      • -
      • block (Optional[int]) – Block number for synchronization, or None for the latest block.

      • +
      • netuid (int) – The network UID of the subnet to query.

      • +
      • block (Optional[int]) – Block number for synchronization, or None for the latest block.

      • +
      • mechid (int) – Subnet mechanism identifier.

      Returns:

      A list of tuples mapping each neuron’s UID to its assigned weights.

      Return type:
      -

      list[tuple[int, list[tuple[int, int]]]]

      +

      list[tuple[int, list[tuple[int, int]]]]

      @@ -4066,8 +4211,8 @@

      Module Contents
      Parameters:
        -
      • netuid (int) – The unique identifier of the subnetwork.

      • -
      • block (Optional[int]) – The blockchain block number for the query.

      • +
      • netuid (int) – The unique identifier of the subnetwork.

      • +
      • block (Optional[int]) – The blockchain block number for the query.

      Returns:
      @@ -4078,7 +4223,7 @@

      Module ContentsReturn type: -

      Optional[int]

      +

      Optional[int]

      @@ -4155,6 +4300,7 @@

      Module ContentsSubtensor.does_hotkey_exist()
    1965. Subtensor.encode_params()
    1966. Subtensor.filter_netuids_by_registered_hotkeys()
    1967. +
    1968. Subtensor.get_admin_freeze_window()
    1969. Subtensor.get_all_commitments()
    1970. Subtensor.get_all_metagraphs_info()
    1971. Subtensor.get_all_neuron_certificates()
    1972. @@ -4180,6 +4326,8 @@

      Module ContentsSubtensor.get_hyperparameter()
    1973. Subtensor.get_last_commitment_bonds_reset_block()
    1974. Subtensor.get_liquidity_list()
    1975. +
    1976. Subtensor.get_mechanism_count()
    1977. +
    1978. Subtensor.get_mechanism_emission_split()
    1979. Subtensor.get_metagraph_info()
    1980. Subtensor.get_minimum_required_stake()
    1981. Subtensor.get_netuids_for_hotkey()
    1982. @@ -4221,6 +4369,7 @@

      Module ContentsSubtensor.is_hotkey_registered()
    1983. Subtensor.is_hotkey_registered_any()
    1984. Subtensor.is_hotkey_registered_on_subnet()
    1985. +
    1986. Subtensor.is_in_admin_freeze_window()
    1987. Subtensor.is_subnet_active()
    1988. Subtensor.last_drand_round()
    1989. Subtensor.log_verbose
    1990. diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/chain/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/chain/index.html index 2074c79d98..8a8fe1b68a 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/chain/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/chain/index.html @@ -169,6 +169,12 @@
    1991. bittensor.core.types
    1992. +
    1993. bittensor.extras
      +
    1994. bittensor.utils
    1995. +
    1996. bittensor.extras
      +
    1997. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/delegates/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/delegates/index.html index 06618597f2..98e7aa444a 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/delegates/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/delegates/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    1998. +
    1999. bittensor.extras
      +
    2000. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/extrinsics/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/extrinsics/index.html index 8427a5db9c..670b953e27 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/extrinsics/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/extrinsics/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2001. +
    2002. bittensor.extras
      +
    2003. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/index.html index 2c45ac571e..8ace9118fb 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2004. +
    2005. bittensor.extras
      +
    2006. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -483,18 +489,18 @@

        Package Contents
        Parameters:
          -
        • network (Optional[str]) – The network to connect to. Defaults to None -> “finney”.

        • +
        • network (Optional[str]) – The network to connect to. Defaults to None -> “finney”.

        • config (Optional[bittensor.core.config.Config]) – Bittensor configuration object. Defaults to None.

        • -
        • legacy_methods (bool) – If True, all methods from the Subtensor class will be added to the root level of this class.

        • -
        • fallback_endpoints (Optional[list[str]]) – List of fallback endpoints to use if default or provided network is not available. Defaults to None.

        • -
        • retry_forever (bool) – Whether to retry forever on connection errors. Defaults to False.

        • -
        • log_verbose (bool) – Enables or disables verbose logging.

        • -
        • mock (bool) – Whether this is a mock instance. Mainly just for use in testing.

        • -
        • archive_endpoints (Optional[list[str]]) – Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases +

        • legacy_methods (bool) – If True, all methods from the Subtensor class will be added to the root level of this class.

        • +
        • fallback_endpoints (Optional[list[str]]) – List of fallback endpoints to use if default or provided network is not available. Defaults to None.

        • +
        • retry_forever (bool) – Whether to retry forever on connection errors. Defaults to False.

        • +
        • log_verbose (bool) – Enables or disables verbose logging.

        • +
        • mock (bool) – Whether this is a mock instance. Mainly just for use in testing.

        • +
        • archive_endpoints (Optional[list[str]]) – Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases where you are requesting a block that is too old for your current (presumably lite) node. Defaults to None

        • -
        • websocket_shutdown_timer (float) – Amount of time, in seconds, to wait after the last response from the chain to close +

        • websocket_shutdown_timer (float) – Amount of time, in seconds, to wait after the last response from the chain to close the connection. Only applicable to AsyncSubtensor.

        • -
        • async_subtensor (bool)

        • +
        • async_subtensor (bool)

        diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/metagraphs/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/metagraphs/index.html index b307fad052..76e0fe3cbb 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/metagraphs/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/metagraphs/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2007. +
    2008. bittensor.extras
      +
    2009. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/neurons/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/neurons/index.html index f43bdbf0a1..bd8998d8c8 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/neurons/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/neurons/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2010. +
    2011. bittensor.extras
      +
    2012. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/queries/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/queries/index.html index 2430f3661b..fe01cc2776 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/queries/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/queries/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2013. +
    2014. bittensor.extras
      +
    2015. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/staking/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/staking/index.html index eb78dcb7ef..c6523fa047 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/staking/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/staking/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2016. +
    2017. bittensor.extras
      +
    2018. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/subnets/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/subnets/index.html index 0e72a110d2..0628154183 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/subnets/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/subnets/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2019. +
    2020. bittensor.extras
      +
    2021. bittensor.utils
    2022. +
    2023. bittensor.extras
      +
    2024. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/wallets/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/wallets/index.html index 187595ac57..707ec44c91 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/wallets/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor_api/wallets/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2025. +
    2026. bittensor.extras
      +
    2027. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/core/synapse/index.html b/static/python-api/html/autoapi/bittensor/core/synapse/index.html index 660980e868..7d71240be8 100644 --- a/static/python-api/html/autoapi/bittensor/core/synapse/index.html +++ b/static/python-api/html/autoapi/bittensor/core/synapse/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2028. +
    2029. bittensor.extras
      +
    2030. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -500,7 +506,7 @@

        Module Contents
        class bittensor.core.synapse.Synapse(/, **data)[source]#
        -

        Bases: pydantic.BaseModel

        +

        Bases: pydantic.BaseModel

        Represents a Synapse in the Bittensor network, serving as a communication schema between neurons (nodes).

        Synapses ensure the format and correctness of transmission tensors according to the Bittensor protocol. Each Synapse type is tailored for a specific machine learning (ML) task, following unique compression and @@ -602,14 +608,14 @@

        Module Contents
        Parameters:
          -
        • name (str) – HTTP route name, set on axon.attach().

        • -
        • timeout (float) – Total query length, set by the dendrite terminal.

        • -
        • total_size (int) – Total size of request body in bytes.

        • -
        • header_size (int) – Size of request header in bytes.

        • +
        • name (str) – HTTP route name, set on axon.attach().

        • +
        • timeout (float) – Total query length, set by the dendrite terminal.

        • +
        • total_size (int) – Total size of request body in bytes.

        • +
        • header_size (int) – Size of request header in bytes.

        • dendrite (TerminalInfo()) – Information about the dendrite terminal.

        • axon (TerminalInfo()) – Information about the axon terminal.

        • -
        • computed_body_hash (str) – Computed hash of the request body.

        • -
        • required_hash_fields (list[str]) – Fields required to compute the body hash.

        • +
        • computed_body_hash (str) – Computed hash of the request body.

        • +
        • required_hash_fields (list[str]) – Fields required to compute the body hash.

        • data (Any)

        @@ -632,7 +638,7 @@

        Module Contents
        Parameters:
        @@ -645,7 +651,7 @@

        Module Contents
        Return type:
        -

        int

        +

        int

        @@ -656,7 +662,7 @@

        Module Contents
        Return type:
        -

        dict

        +

        dict

        @@ -667,7 +673,7 @@

        Module Contents
        Return type:
        -

        str

        +

        str

        @@ -678,10 +684,10 @@

        Module Contents
        Parameters:
        -

        headers (dict)

        +

        headers (dict)

        Return type:
        -

        dict

        +

        dict

        @@ -692,7 +698,7 @@

        Module Contents
        Parameters:
        -

        headers (dict)

        +

        headers (dict)

        Return type:

        Synapse

        @@ -708,12 +714,12 @@

        Module Contents
        -axon: TerminalInfo | None = None#
        +axon: TerminalInfo | None = None#
        -property body_hash: str#
        +property body_hash: str#

        Computes a SHA3-256 hash of the serialized body of the Synapse instance.

        This hash is used to ensure the data integrity and security of the Synapse instance when it’s transmitted across the @@ -739,19 +745,19 @@

        Module ContentsReturn type: -

        str

        +

        str

        -computed_body_hash: str | None = None#
        +computed_body_hash: str | None = None#
        -dendrite: TerminalInfo | None = None#
        +dendrite: TerminalInfo | None = None#
        @@ -797,7 +803,7 @@

        Module Contents
        -property failed_verification: bool#
        +property failed_verification: bool#

        Checks if the dendrite’s status code indicates failed verification.

        This method returns True if the status code of the dendrite is 401, which is the HTTP status code for unauthorized access.

        @@ -806,7 +812,7 @@

        Module Contents

        True if dendrite’s status code is 401, False otherwise.

        Return type:
        -

        bool

        +

        bool

        @@ -831,7 +837,7 @@

        Module Contents
        Parameters:
        -

        headers (dict) – The dictionary of headers containing serialized Synapse information.

        +

        headers (dict) – The dictionary of headers containing serialized Synapse information.

        Returns:

        @@ -863,19 +869,19 @@

        Module Contents

        The total size of the current object.

        Return type:
        -

        int

        +

        int

        -header_size: int | None = None#
        +header_size: int | None = None#
        -property is_blacklist: bool#
        +property is_blacklist: bool#

        Checks if the dendrite’s status code indicates a blacklisted request.

        This method returns True if the status code of the dendrite is 403, which is the HTTP status code for a forbidden request.

        @@ -884,14 +890,14 @@

        Module Contents

        True if dendrite’s status code is 403, False otherwise.

        Return type:
        -

        bool

        +

        bool

        -property is_failure: bool#
        +property is_failure: bool#

        Checks if the dendrite’s status code indicates failure.

        This method returns True if the status code of the dendrite is not 200, which would mean the HTTP request was not successful.

        @@ -900,14 +906,14 @@

        Module Contents

        True if dendrite’s status code is not 200, False otherwise.

        Return type:
        -

        bool

        +

        bool

        -property is_success: bool#
        +property is_success: bool#

        Checks if the dendrite’s status code indicates success.

        This method returns True if the status code of the dendrite is 200, which typically represents a successful HTTP request.

        @@ -916,14 +922,14 @@

        Module Contents

        True if dendrite’s status code is 200, False otherwise.

        Return type:
        -

        bool

        +

        bool

        -property is_timeout: bool#
        +property is_timeout: bool#

        Checks if the dendrite’s status code indicates a timeout.

        This method returns True if the status code of the dendrite is 408, which is the HTTP status code for a request timeout.

        @@ -932,7 +938,7 @@

        Module Contents

        True if dendrite’s status code is 408, False otherwise.

        Return type:
        -

        bool

        +

        bool

        @@ -945,7 +951,7 @@

        Module Contents
        -name: str | None = None#
        +name: str | None = None#
        @@ -980,20 +986,20 @@

        Module Contents
        Parameters:
        -

        headers (dict) – The headers dictionary to parse.

        +

        headers (dict) – The headers dictionary to parse.

        Returns:

        A structured dictionary representing the inputs for constructing a Synapse instance.

        Return type:
        -

        dict

        +

        dict

        -required_hash_fields: ClassVar[tuple[str, Ellipsis]] = ()#
        +required_hash_fields: ClassVar[tuple[str, Ellipsis]] = ()#
        @@ -1001,17 +1007,17 @@

        Module Contentsset_name_type(values)[source]#
        Parameters:
        -

        values (dict)

        +

        values (dict)

        Return type:
        -

        dict

        +

        dict

        -timeout: float | None = None#
        +timeout: float | None = None#
        @@ -1041,14 +1047,14 @@

        Module ContentsReturn type: -

        dict

        +

        dict

        -total_size: int | None = None#
        +total_size: int | None = None#
        @@ -1056,7 +1062,7 @@

        Module Contents
        class bittensor.core.synapse.TerminalInfo(/, **data)[source]#
        -

        Bases: pydantic.BaseModel

        +

        Bases: pydantic.BaseModel

        TerminalInfo encapsulates detailed information about a network synapse (node) involved in a communication process.

        This class serves as a metadata carrier, providing essential details about the state and configuration of a terminal during network interactions. This is a

        @@ -1072,22 +1078,22 @@

        Module Contents
        Parameters:
          -
        • status_code (int) – HTTP status code indicating the result of a network request. Essential for identifying the +

        • status_code (int) – HTTP status code indicating the result of a network request. Essential for identifying the outcome of network interactions.

        • -
        • status_message (str) – Descriptive message associated with the status code, providing additional context about +

        • status_message (str) – Descriptive message associated with the status code, providing additional context about the request’s result.

        • -
        • process_time (float) – Time taken by the terminal to process the call, important for performance monitoring and +

        • process_time (float) – Time taken by the terminal to process the call, important for performance monitoring and optimization.

        • -
        • ip (str) – IP address of the terminal, crucial for network routing and data transmission.

        • -
        • port (int) – Network port used by the terminal, key for establishing network connections.

        • -
        • version (int) – Bittensor version running on the terminal, ensuring compatibility between different nodes in the +

        • ip (str) – IP address of the terminal, crucial for network routing and data transmission.

        • +
        • port (int) – Network port used by the terminal, key for establishing network connections.

        • +
        • version (int) – Bittensor version running on the terminal, ensuring compatibility between different nodes in the network.

        • -
        • nonce (int) – Unique, monotonically increasing number for each terminal, aiding in identifying and ordering +

        • nonce (int) – Unique, monotonically increasing number for each terminal, aiding in identifying and ordering network interactions.

        • -
        • uuid (str) – Unique identifier for the terminal, fundamental for network security and identification.

        • -
        • hotkey (str) – Encoded hotkey string of the terminal wallet, important for transaction and identity verification +

        • uuid (str) – Unique identifier for the terminal, fundamental for network security and identification.

        • +
        • hotkey (str) – Encoded hotkey string of the terminal wallet, important for transaction and identity verification in the network.

        • -
        • signature (str) – Digital signature verifying the tuple of nonce, axon_hotkey, dendrite_hotkey, and uuid, +

        • signature (str) – Digital signature verifying the tuple of nonce, axon_hotkey, dendrite_hotkey, and uuid, critical for ensuring data authenticity and security.

        • data (Any)

        @@ -1126,12 +1132,12 @@

        Module Contents
        -hotkey: str | None = None#
        +hotkey: str | None = None#
        -ip: str | None = None#
        +ip: str | None = None#
        @@ -1142,42 +1148,42 @@

        Module Contents
        -nonce: int | None = None#
        +nonce: int | None = None#

        -port: int | None = None#
        +port: int | None = None#
        -process_time: float | None = None#
        +process_time: float | None = None#
        -signature: str | None = None#
        +signature: str | None = None#
        -status_code: int | None = None#
        +status_code: int | None = None#
        -status_message: str | None = None#
        +status_message: str | None = None#
        -uuid: str | None = None#
        +uuid: str | None = None#
        -version: int | None = None#
        +version: int | None = None#

        @@ -1189,13 +1195,13 @@

        Module ContentsNone, it simply returns None.

        Parameters:
        -

        raw (str) – The string to convert.

        +

        raw (str) – The string to convert.

        Returns:

        The converted float, or None if the input was None.

        Return type:
        -

        float or None

        +

        float or None

        @@ -1207,13 +1213,13 @@

        Module ContentsNone, it simply returns None.

        Parameters:
        -

        raw (str) – The string to convert.

        +

        raw (str) – The string to convert.

        Returns:

        The converted integer, or None if the input was None.

        Return type:
        -

        int or None

        +

        int or None

        @@ -1227,14 +1233,14 @@

        Module ContentsParameters:
        Returns:

        The total size of the object.

        Return type:
        -

        int

        +

        int

        diff --git a/static/python-api/html/autoapi/bittensor/core/tensor/index.html b/static/python-api/html/autoapi/bittensor/core/tensor/index.html index c91ad4aee5..3521bc5d57 100644 --- a/static/python-api/html/autoapi/bittensor/core/tensor/index.html +++ b/static/python-api/html/autoapi/bittensor/core/tensor/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2031. +
    2032. bittensor.extras
      +
    2033. bittensor.utils
    2034. +
    2035. bittensor.extras
      +
    2036. bittensor.utils
    2037. +
    2038. bittensor.extras
      +
    2039. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -488,9 +494,9 @@

        Module Contents
        Parameters:
          -
        • encrypted_data (bytes) – Encrypted data to be decrypted.

        • -
        • no_errors (bool) – If True, no errors will be raised during decryption.

        • -
        • return_str (bool) – convert decrypted data to string if True. Default is False.

        • +
        • encrypted_data (bytes) – Encrypted data to be decrypted.

        • +
        • no_errors (bool) – If True, no errors will be raised during decryption.

        • +
        • return_str (bool) – convert decrypted data to string if True. Default is False.

        Returns:
        @@ -518,16 +524,16 @@

        Module Contents
        Parameters:
          -
        • data (Union[bytes, str]) – Any bytes data to be encrypted.

        • -
        • n_blocks (int) – Number of blocks to encrypt.

        • -
        • block_time (Union[int, float]) – Time in seconds for each block. Default is 12.0 seconds.

        • +
        • data (Union[bytes, str]) – Any bytes data to be encrypted.

        • +
        • n_blocks (int) – Number of blocks to encrypt.

        • +
        • block_time (Union[int, float]) – Time in seconds for each block. Default is 12.0 seconds.

        Returns:

        A tuple containing the encrypted data and reveal TimeLock reveal round.

        Return type:
        -

        tuple

        +

        tuple

        Raises:

        PyValueError – If failed to encrypt data.

        @@ -556,24 +562,24 @@

        Module Contents
        Parameters:
          -
        • encrypted_data (bytes) – Encrypted data to be decrypted.

        • -
        • reveal_round (Optional[int]) – Reveal round to wait for. If None, will be parsed from encrypted data.

        • -
        • no_errors (bool) – If True, no errors will be raised during decryption.

        • -
        • return_str (bool) – convert decrypted data to string if True. Default is False.

        • +
        • encrypted_data (bytes) – Encrypted data to be decrypted.

        • +
        • reveal_round (Optional[int]) – Reveal round to wait for. If None, will be parsed from encrypted data.

        • +
        • no_errors (bool) – If True, no errors will be raised during decryption.

        • +
        • return_str (bool) – convert decrypted data to string if True. Default is False.

        Raises:
          -
        • struct.error – If failed to parse reveal round from encrypted data.

        • -
        • TypeError – If reveal_round is None or wrong type.

        • -
        • IndexError – If provided encrypted_data does not contain reveal round.

        • +
        • struct.error – If failed to parse reveal round from encrypted data.

        • +
        • TypeError – If reveal_round is None or wrong type.

        • +
        • IndexError – If provided encrypted_data does not contain reveal round.

        Returns:

        Decrypted data.

        Return type:
        -

        bytes

        +

        bytes

        diff --git a/static/python-api/html/autoapi/bittensor/core/types/index.html b/static/python-api/html/autoapi/bittensor/core/types/index.html index 2a6da0f4e7..b2c1d20014 100644 --- a/static/python-api/html/autoapi/bittensor/core/types/index.html +++ b/static/python-api/html/autoapi/bittensor/core/types/index.html @@ -48,7 +48,7 @@ - + @@ -169,6 +169,12 @@
      • bittensor.core.types
    2040. +
    2041. bittensor.extras
      +
    2042. bittensor.utils
    2043. + + + + + + + +

      +
      + + +
      + + + +
      + + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index.html b/static/python-api/html/autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index.html new file mode 100644 index 0000000000..fff18a343e --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index.html @@ -0,0 +1,8931 @@ + + + + + + + + + + + bittensor.extras.dev_framework.calls.non_sudo_calls — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + +
      +

      bittensor.extras.dev_framework.calls.non_sudo_calls

      + +
      +
      + +
      +

      Contents

      +
      + +
      +
      +
      + + + + +
      + +
      +

      bittensor.extras.dev_framework.calls.non_sudo_calls#

      +

      This file is auto-generated. Do not edit manually.

      +

      For developers: +- Use the function recreate_calls_subpackage() to regenerate this file. +- The command lists are built dynamically from the current Subtensor metadata (Subtensor.substrate.metadata). +- Each command is represented as a namedtuple with fields:

      +
      +
        +
      • System arguments: wallet, pallet (and sudo for sudo calls).

      • +
      • Additional arguments: taken from the extrinsic definition (with type hints for reference).

      • +
      +
      +
        +
      • These namedtuples are intended as convenient templates for building commands in tests and end-to-end scenarios.

      • +
      +
      +

      Note

      +

      Any manual changes will be overwritten the next time the generator is run. +Subtensor spec version: 325

      +
      +
      +

      Classes#

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      ADD_LIQUIDITY

      ADD_MEMBER

      ADD_MEMBER

      ADD_PROXY

      ADD_STAKE

      ADD_STAKE_LIMIT

      ADJUST_SENATE

      ANNOUNCE

      APPLY_AUTHORIZED_UPGRADE

      APPROVE_AS_MULTI

      ASSOCIATE_EVM_KEY

      AS_DERIVATIVE

      AS_MULTI

      AS_MULTI_THRESHOLD_1

      AUTHORIZE_UPGRADE

      AUTHORIZE_UPGRADE_WITHOUT_CHECKS

      BATCH

      BATCH_ALL

      BATCH_COMMIT_WEIGHTS

      BATCH_REVEAL_WEIGHTS

      BATCH_SET_WEIGHTS

      BURN

      BURNED_REGISTER

      BURN_ALPHA

      CALL

      CANCEL

      CANCEL_AS_MULTI

      CANCEL_NAMED

      CANCEL_RETRY

      CANCEL_RETRY_NAMED

      CHANGE_KEY

      CHANGE_KEY

      CLEAR_IDENTITY

      CLEAR_PRIME

      CLEAR_PRIME

      CLOSE

      COMMIT_CRV3_MECHANISM_WEIGHTS

      COMMIT_MECHANISM_WEIGHTS

      COMMIT_TIMELOCKED_MECHANISM_WEIGHTS

      COMMIT_TIMELOCKED_WEIGHTS

      COMMIT_WEIGHTS

      CONTRIBUTE

      CREATE

      CREATE

      CREATE2

      CREATE_PURE

      DECREASE_TAKE

      DISABLE_WHITELIST

      DISAPPROVE_PROPOSAL

      DISPATCH_AS

      DISPATCH_AS_FALLIBLE

      DISSOLVE

      DISSOLVE_NETWORK

      ENSURE_UPDATED

      ENTER

      EXECUTE

      EXTEND

      FAUCET

      FINALIZE

      FORCE_ADJUST_TOTAL_ISSUANCE

      FORCE_BATCH

      FORCE_ENTER

      FORCE_EXIT

      FORCE_EXTEND

      FORCE_RELEASE_DEPOSIT

      FORCE_SET_BALANCE

      FORCE_SLASH_DEPOSIT

      FORCE_TRANSFER

      FORCE_UNRESERVE

      IF_ELSE

      INCREASE_TAKE

      KILL_PREFIX

      KILL_PURE

      KILL_STORAGE

      MODIFY_POSITION

      MOVE_STAKE

      NOTE_PREIMAGE

      NOTE_STALLED

      POKE_DEPOSIT

      POKE_DEPOSIT

      PROPOSE

      PROXY

      PROXY_ANNOUNCED

      RECYCLE_ALPHA

      REFUND

      REGISTER

      REGISTER_LEASED_NETWORK

      REGISTER_NETWORK

      REGISTER_NETWORK_WITH_IDENTITY

      REJECT_ANNOUNCEMENT

      RELEASE_DEPOSIT

      REMARK

      REMARK_WITH_EVENT

      REMOVE_ANNOUNCEMENT

      REMOVE_KEY

      REMOVE_LIQUIDITY

      REMOVE_MEMBER

      REMOVE_MEMBER

      REMOVE_PROXIES

      REMOVE_PROXY

      REMOVE_STAKE

      REMOVE_STAKE_FULL_LIMIT

      REMOVE_STAKE_LIMIT

      REPORT_EQUIVOCATION

      REPORT_EQUIVOCATION_UNSIGNED

      REQUEST_PREIMAGE

      RESET_MEMBERS

      RESET_MEMBERS

      REVEAL_MECHANISM_WEIGHTS

      REVEAL_WEIGHTS

      ROOT_DISSOLVE_NETWORK

      ROOT_REGISTER

      SCHEDULE

      SCHEDULE_AFTER

      SCHEDULE_GRANDPA_CHANGE

      SCHEDULE_NAMED

      SCHEDULE_NAMED_AFTER

      SCHEDULE_SWAP_COLDKEY

      SERVE_AXON

      SERVE_AXON_TLS

      SERVE_PROMETHEUS

      SET

      SET_BASE_FEE_PER_GAS

      SET_BEACON_CONFIG

      SET_CHILDKEY_TAKE

      SET_CHILDREN

      SET_CODE

      SET_CODE_WITHOUT_CHECKS

      SET_COLDKEY_AUTO_STAKE_HOTKEY

      SET_COMMITMENT

      SET_ELASTICITY

      SET_FEE_RATE

      SET_HEAP_PAGES

      SET_IDENTITY

      SET_IDENTITY

      SET_KEY

      SET_MAX_SPACE

      SET_MECHANISM_WEIGHTS

      SET_MEMBERS

      SET_OLDEST_STORED_ROUND

      SET_PENDING_CHILDKEY_COOLDOWN

      SET_PRIME

      SET_PRIME

      SET_RETRY

      SET_RETRY_NAMED

      SET_STORAGE

      SET_SUBNET_IDENTITY

      SET_WEIGHTS

      SET_WHITELIST

      START_CALL

      SUDO

      SUDO

      SWAP_AUTHORITIES

      SWAP_COLDKEY

      SWAP_HOTKEY

      SWAP_MEMBER

      SWAP_MEMBER

      SWAP_STAKE

      SWAP_STAKE_LIMIT

      TERMINATE_LEASE

      TOGGLE_USER_LIQUIDITY

      TRANSACT

      TRANSFER_ALL

      TRANSFER_ALLOW_DEATH

      TRANSFER_KEEP_ALIVE

      TRANSFER_STAKE

      TRY_ASSOCIATE_HOTKEY

      UNNOTE_PREIMAGE

      UNREQUEST_PREIMAGE

      UNSTAKE_ALL

      UNSTAKE_ALL_ALPHA

      UPDATE_CAP

      UPDATE_END

      UPDATE_MIN_CONTRIBUTION

      UPDATE_SYMBOL

      UPGRADE_ACCOUNTS

      VOTE

      VOTE

      WITHDRAW

      WITHDRAW

      WITH_WEIGHT

      WRITE_PULSE

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +liquidity#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +tick_high#
      +
      + +
      +
      +tick_low#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +who#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +who#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY#
      +

      Bases: tuple

      +
      +
      +delay#
      +
      + +
      +
      +delegate#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +proxy_type#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE#
      +

      Bases: tuple

      +
      +
      +amount_staked#
      +
      + +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT#
      +

      Bases: tuple

      +
      +
      +allow_partial#
      +
      + +
      +
      +amount_staked#
      +
      + +
      +
      +hotkey#
      +
      + +
      +
      +limit_price#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE#
      +

      Bases: tuple

      +
      +
      +call_hash#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +real#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE#
      +

      Bases: tuple

      +
      +
      +code#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI#
      +

      Bases: tuple

      +
      +
      +call_hash#
      +
      + +
      +
      +max_weight#
      +
      + +
      +
      +maybe_timepoint#
      +
      + +
      +
      +other_signatories#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +threshold#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY#
      +

      Bases: tuple

      +
      +
      +block_number#
      +
      + +
      +
      +evm_key#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +signature#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +index#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +max_weight#
      +
      + +
      +
      +maybe_timepoint#
      +
      + +
      +
      +other_signatories#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +threshold#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +other_signatories#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE#
      +

      Bases: tuple

      +
      +
      +code_hash#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS#
      +

      Bases: tuple

      +
      +
      +code_hash#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH#
      +

      Bases: tuple

      +
      +
      +calls#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL#
      +

      Bases: tuple

      +
      +
      +calls#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +commit_hashes#
      +
      + +
      +
      +netuids#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +salts_list#
      +
      + +
      +
      +uids_list#
      +
      + +
      +
      +values_list#
      +
      + +
      +
      +version_keys#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +netuids#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +version_keys#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +weights#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.BURN#
      +

      Bases: tuple

      +
      +
      +keep_alive#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +value#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA#
      +

      Bases: tuple

      +
      +
      +amount#
      +
      + +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CALL#
      +

      Bases: tuple

      +
      +
      +access_list#
      +
      + +
      +
      +authorization_list#
      +
      + +
      +
      +gas_limit#
      +
      + +
      +
      +input#
      +
      + +
      +
      +max_fee_per_gas#
      +
      + +
      +
      +max_priority_fee_per_gas#
      +
      + +
      +
      +nonce#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +source#
      +
      + +
      +
      +target#
      +
      + +
      +
      +value#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL#
      +

      Bases: tuple

      +
      +
      +index#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +when#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI#
      +

      Bases: tuple

      +
      +
      +call_hash#
      +
      + +
      +
      +other_signatories#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +threshold#
      +
      + +
      +
      +timepoint#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED#
      +

      Bases: tuple

      +
      +
      +id#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +task#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED#
      +

      Bases: tuple

      +
      +
      +id#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY#
      +

      Bases: tuple

      +
      +
      +new#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY#
      +

      Bases: tuple

      +
      +
      +new#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY#
      +

      Bases: tuple

      +
      +
      +identified#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE#
      +

      Bases: tuple

      +
      +
      +index#
      +
      + +
      +
      +length_bound#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +proposal_hash#
      +
      + +
      +
      +proposal_weight_bound#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +commit#
      +
      + +
      +
      +mecid#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +reveal_round#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +commit_hash#
      +
      + +
      +
      +mecid#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +commit#
      +
      + +
      +
      +commit_reveal_version#
      +
      + +
      +
      +mecid#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +reveal_round#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +commit#
      +
      + +
      +
      +commit_reveal_version#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +reveal_round#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +commit_hash#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE#
      +

      Bases: tuple

      +
      +
      +amount#
      +
      + +
      +
      +crowdloan_id#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +cap#
      +
      + +
      +
      +deposit#
      +
      + +
      +
      +end#
      +
      + +
      +
      +min_contribution#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +target_address#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE#
      +

      Bases: tuple

      +
      +
      +access_list#
      +
      + +
      +
      +authorization_list#
      +
      + +
      +
      +gas_limit#
      +
      + +
      +
      +init#
      +
      + +
      +
      +max_fee_per_gas#
      +
      + +
      +
      +max_priority_fee_per_gas#
      +
      + +
      +
      +nonce#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +source#
      +
      + +
      +
      +value#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2#
      +

      Bases: tuple

      +
      +
      +access_list#
      +
      + +
      +
      +authorization_list#
      +
      + +
      +
      +gas_limit#
      +
      + +
      +
      +init#
      +
      + +
      +
      +max_fee_per_gas#
      +
      + +
      +
      +max_priority_fee_per_gas#
      +
      + +
      +
      +nonce#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +salt#
      +
      + +
      +
      +source#
      +
      + +
      +
      +value#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE#
      +

      Bases: tuple

      +
      +
      +delay#
      +
      + +
      +
      +index#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +proxy_type#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +take#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST#
      +

      Bases: tuple

      +
      +
      +disabled#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +proposal_hash#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS#
      +

      Bases: tuple

      +
      +
      +as_origin#
      +
      + +
      +
      +call#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE#
      +

      Bases: tuple

      +
      +
      +as_origin#
      +
      + +
      +
      +call#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE#
      +

      Bases: tuple

      +
      +
      +crowdloan_id#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK#
      +

      Bases: tuple

      +
      +
      +coldkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED#
      +

      Bases: tuple

      +
      +
      +hashes#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE#
      +

      Bases: tuple

      +
      +
      +length_bound#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +proposal#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET#
      +

      Bases: tuple

      +
      +
      +block_number#
      +
      + +
      +
      +nonce#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +work#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE#
      +

      Bases: tuple

      +
      +
      +crowdloan_id#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE#
      +

      Bases: tuple

      +
      +
      +delta#
      +
      + +
      +
      +direction#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH#
      +

      Bases: tuple

      +
      +
      +calls#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT#
      +

      Bases: tuple

      +
      +
      +account#
      +
      + +
      +
      +block#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE#
      +

      Bases: tuple

      +
      +
      +new_free#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +who#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT#
      +

      Bases: tuple

      +
      +
      +account#
      +
      + +
      +
      +block#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER#
      +

      Bases: tuple

      +
      +
      +dest#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +source#
      +
      + +
      +
      +value#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE#
      +

      Bases: tuple

      +
      +
      +amount#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +who#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE#
      +

      Bases: tuple

      +
      +
      +fallback#
      +
      + +
      +
      +main#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +take#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +prefix#
      +
      + +
      +
      +subkeys#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE#
      +

      Bases: tuple

      +
      +
      +ext_index#
      +
      + +
      +
      +height#
      +
      + +
      +
      +index#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +proxy_type#
      +
      + +
      +
      +spawner#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE#
      +

      Bases: tuple

      +
      +
      +keys#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +liquidity_delta#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +position_id#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE#
      +

      Bases: tuple

      +
      +
      +alpha_amount#
      +
      + +
      +
      +destination_hotkey#
      +
      + +
      +
      +destination_netuid#
      +
      + +
      +
      +origin_hotkey#
      +
      + +
      +
      +origin_netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE#
      +

      Bases: tuple

      +
      +
      +bytes#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED#
      +

      Bases: tuple

      +
      +
      +best_finalized_block_number#
      +
      + +
      +
      +delay#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT#
      +

      Bases: tuple

      +
      +
      +call_hash#
      +
      + +
      +
      +other_signatories#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +threshold#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE#
      +

      Bases: tuple

      +
      +
      +duration#
      +
      + +
      +
      +length_bound#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +proposal#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +force_proxy_type#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +real#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +delegate#
      +
      + +
      +
      +force_proxy_type#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +real#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA#
      +

      Bases: tuple

      +
      +
      +amount#
      +
      + +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND#
      +

      Bases: tuple

      +
      +
      +crowdloan_id#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER#
      +

      Bases: tuple

      +
      +
      +block_number#
      +
      + +
      +
      +coldkey#
      +
      + +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +nonce#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +work#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK#
      +

      Bases: tuple

      +
      +
      +emissions_share#
      +
      + +
      +
      +end_block#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +identity#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT#
      +

      Bases: tuple

      +
      +
      +call_hash#
      +
      + +
      +
      +delegate#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT#
      +

      Bases: tuple

      +
      +
      +account#
      +
      + +
      +
      +block#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +remark#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +remark#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT#
      +

      Bases: tuple

      +
      +
      +call_hash#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +real#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +position_id#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +who#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +who#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY#
      +

      Bases: tuple

      +
      +
      +delay#
      +
      + +
      +
      +delegate#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +proxy_type#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE#
      +

      Bases: tuple

      +
      +
      +amount_unstaked#
      +
      + +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +limit_price#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT#
      +

      Bases: tuple

      +
      +
      +allow_partial#
      +
      + +
      +
      +amount_unstaked#
      +
      + +
      +
      +hotkey#
      +
      + +
      +
      +limit_price#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION#
      +

      Bases: tuple

      +
      +
      +equivocation_proof#
      +
      + +
      +
      +key_owner_proof#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED#
      +

      Bases: tuple

      +
      +
      +equivocation_proof#
      +
      + +
      +
      +key_owner_proof#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE#
      +

      Bases: tuple

      +
      +
      +hash#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS#
      +

      Bases: tuple

      +
      +
      +members#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS#
      +

      Bases: tuple

      +
      +
      +members#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +mecid#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +salt#
      +
      + +
      +
      +uids#
      +
      + +
      +
      +values#
      +
      + +
      +
      +version_key#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +salt#
      +
      + +
      +
      +uids#
      +
      + +
      +
      +values#
      +
      + +
      +
      +version_key#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +maybe_periodic#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +priority#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +when#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER#
      +

      Bases: tuple

      +
      +
      +after#
      +
      + +
      +
      +call#
      +
      + +
      +
      +maybe_periodic#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +priority#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE#
      +

      Bases: tuple

      +
      +
      +forced#
      +
      + +
      +
      +in_blocks#
      +
      + +
      +
      +next_authorities#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +id#
      +
      + +
      +
      +maybe_periodic#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +priority#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +when#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER#
      +

      Bases: tuple

      +
      +
      +after#
      +
      + +
      +
      +call#
      +
      + +
      +
      +id#
      +
      + +
      +
      +maybe_periodic#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +priority#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY#
      +

      Bases: tuple

      +
      +
      +new_coldkey#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON#
      +

      Bases: tuple

      +
      +
      +ip#
      +
      + +
      +
      +ip_type#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +placeholder1#
      +
      + +
      +
      +placeholder2#
      +
      + +
      +
      +port#
      +
      + +
      +
      +protocol#
      +
      + +
      +
      +version#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS#
      +

      Bases: tuple

      +
      +
      +certificate#
      +
      + +
      +
      +ip#
      +
      + +
      +
      +ip_type#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +placeholder1#
      +
      + +
      +
      +placeholder2#
      +
      + +
      +
      +port#
      +
      + +
      +
      +protocol#
      +
      + +
      +
      +version#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS#
      +

      Bases: tuple

      +
      +
      +ip#
      +
      + +
      +
      +ip_type#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +port#
      +
      + +
      +
      +version#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET#
      +

      Bases: tuple

      +
      +
      +now#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS#
      +

      Bases: tuple

      +
      +
      +fee#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG#
      +

      Bases: tuple

      +
      +
      +config_payload#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +signature#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +take#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN#
      +

      Bases: tuple

      +
      +
      +children#
      +
      + +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE#
      +

      Bases: tuple

      +
      +
      +code#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS#
      +

      Bases: tuple

      +
      +
      +code#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT#
      +

      Bases: tuple

      +
      +
      +info#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY#
      +

      Bases: tuple

      +
      +
      +elasticity#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +rate#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES#
      +

      Bases: tuple

      +
      +
      +pages#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY#
      +

      Bases: tuple

      +
      +
      +identified#
      +
      + +
      +
      +info#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY#
      +

      Bases: tuple

      +
      +
      +additional#
      +
      + +
      +
      +description#
      +
      + +
      +
      +discord#
      +
      + +
      +
      +github_repo#
      +
      + +
      +
      +image#
      +
      + +
      +
      +name#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +url#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY#
      +

      Bases: tuple

      +
      +
      +new#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE#
      +

      Bases: tuple

      +
      +
      +new_limit#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +dests#
      +
      + +
      +
      +mecid#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +version_key#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +weights#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS#
      +

      Bases: tuple

      +
      +
      +new_members#
      +
      + +
      +
      +old_count#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +prime#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND#
      +

      Bases: tuple

      +
      +
      +oldest_round#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN#
      +

      Bases: tuple

      +
      +
      +cooldown#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +who#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +who#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +period#
      +
      + +
      +
      +retries#
      +
      + +
      +
      +task#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED#
      +

      Bases: tuple

      +
      +
      +id#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +period#
      +
      + +
      +
      +retries#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE#
      +

      Bases: tuple

      +
      +
      +items#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY#
      +

      Bases: tuple

      +
      +
      +additional#
      +
      + +
      +
      +description#
      +
      + +
      +
      +discord#
      +
      + +
      +
      +github_repo#
      +
      + +
      +
      +logo_url#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +subnet_contact#
      +
      + +
      +
      +subnet_name#
      +
      + +
      +
      +subnet_url#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +dests#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +version_key#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +weights#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST#
      +

      Bases: tuple

      +
      +
      +new#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES#
      +

      Bases: tuple

      +
      +
      +new_authorities#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY#
      +

      Bases: tuple

      +
      +
      +new_coldkey#
      +
      + +
      +
      +old_coldkey#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +swap_cost#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +new_hotkey#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER#
      +

      Bases: tuple

      +
      +
      +add#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +remove#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER#
      +

      Bases: tuple

      +
      +
      +add#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +remove#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE#
      +

      Bases: tuple

      +
      +
      +alpha_amount#
      +
      + +
      +
      +destination_netuid#
      +
      + +
      +
      +hotkey#
      +
      + +
      +
      +origin_netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT#
      +

      Bases: tuple

      +
      +
      +allow_partial#
      +
      + +
      +
      +alpha_amount#
      +
      + +
      +
      +destination_netuid#
      +
      + +
      +
      +hotkey#
      +
      + +
      +
      +limit_price#
      +
      + +
      +
      +origin_netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +lease_id#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY#
      +

      Bases: tuple

      +
      +
      +enable#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +transaction#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL#
      +

      Bases: tuple

      +
      +
      +dest#
      +
      + +
      +
      +keep_alive#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH#
      +

      Bases: tuple

      +
      +
      +dest#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +value#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE#
      +

      Bases: tuple

      +
      +
      +dest#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +value#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE#
      +

      Bases: tuple

      +
      +
      +alpha_amount#
      +
      + +
      +
      +destination_coldkey#
      +
      + +
      +
      +destination_netuid#
      +
      + +
      +
      +hotkey#
      +
      + +
      +
      +origin_netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE#
      +

      Bases: tuple

      +
      +
      +hash#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE#
      +

      Bases: tuple

      +
      +
      +hash#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP#
      +

      Bases: tuple

      +
      +
      +crowdloan_id#
      +
      + +
      +
      +new_cap#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END#
      +

      Bases: tuple

      +
      +
      +crowdloan_id#
      +
      + +
      +
      +new_end#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION#
      +

      Bases: tuple

      +
      +
      +crowdloan_id#
      +
      + +
      +
      +new_min_contribution#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +symbol#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +who#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE#
      +

      Bases: tuple

      +
      +
      +approve#
      +
      + +
      +
      +hotkey#
      +
      + +
      +
      +index#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +proposal#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE#
      +

      Bases: tuple

      +
      +
      +approve#
      +
      + +
      +
      +index#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +proposal#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW#
      +

      Bases: tuple

      +
      +
      +address#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +value#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW#
      +

      Bases: tuple

      +
      +
      +crowdloan_id#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +weight#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +pulses_payload#
      +
      + +
      +
      +signature#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + +
      + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/dev_framework/calls/pallets/index.html b/static/python-api/html/autoapi/bittensor/extras/dev_framework/calls/pallets/index.html new file mode 100644 index 0000000000..69a9f60992 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/dev_framework/calls/pallets/index.html @@ -0,0 +1,782 @@ + + + + + + + + + + + bittensor.extras.dev_framework.calls.pallets — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.dev_framework.calls.pallets#

      +

      ” +Subtensor spec version: 325

      +
      +

      Attributes#

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      AdminUtils

      Balances

      BaseFee

      Commitments

      Crowdloan

      Drand

      EVM

      Ethereum

      Grandpa

      Multisig

      Preimage

      Proxy

      Registry

      SafeMode

      Scheduler

      SenateMembers

      SubtensorModule

      Sudo

      Swap

      System

      Timestamp

      Triumvirate

      TriumvirateMembers

      Utility

      +
      +
      +
      +

      Module Contents#

      +
      +
      +bittensor.extras.dev_framework.calls.pallets.AdminUtils = 'AdminUtils'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Balances = 'Balances'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.BaseFee = 'BaseFee'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Commitments = 'Commitments'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Crowdloan = 'Crowdloan'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Drand = 'Drand'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.EVM = 'EVM'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Ethereum = 'Ethereum'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Grandpa = 'Grandpa'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Multisig = 'Multisig'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Preimage = 'Preimage'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Proxy = 'Proxy'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Registry = 'Registry'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.SafeMode = 'SafeMode'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Scheduler = 'Scheduler'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.SenateMembers = 'SenateMembers'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.SubtensorModule = 'SubtensorModule'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Sudo = 'Sudo'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Swap = 'Swap'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.System = 'System'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Timestamp = 'Timestamp'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Triumvirate = 'Triumvirate'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.TriumvirateMembers = 'TriumvirateMembers'#
      +
      + +
      +
      +bittensor.extras.dev_framework.calls.pallets.Utility = 'Utility'#
      +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index.html b/static/python-api/html/autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index.html new file mode 100644 index 0000000000..d703dcb5c0 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index.html @@ -0,0 +1,3998 @@ + + + + + + + + + + + bittensor.extras.dev_framework.calls.sudo_calls — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + +
      +

      bittensor.extras.dev_framework.calls.sudo_calls

      + +
      +
      + +
      +

      Contents

      +
      + +
      +
      +
      + + + + +
      + +
      +

      bittensor.extras.dev_framework.calls.sudo_calls#

      +

      This file is auto-generated. Do not edit manually.

      +

      For developers: +- Use the function recreate_calls_subpackage() to regenerate this file. +- The command lists are built dynamically from the current Subtensor metadata (Subtensor.substrate.metadata). +- Each command is represented as a namedtuple with fields:

      +
      +
        +
      • System arguments: wallet, pallet (and sudo for sudo calls).

      • +
      • Additional arguments: taken from the extrinsic definition (with type hints for reference).

      • +
      +
      +
        +
      • These namedtuples are intended as convenient templates for building commands in tests and end-to-end scenarios.

      • +
      +
      +

      Note

      +

      Any manual changes will be overwritten the next time the generator is run. +Subtensor spec version: 325

      +
      +
      +

      Classes#

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      SUDO_AS

      SUDO_SET_ACTIVITY_CUTOFF

      SUDO_SET_ADJUSTMENT_ALPHA

      SUDO_SET_ADJUSTMENT_INTERVAL

      SUDO_SET_ADMIN_FREEZE_WINDOW

      SUDO_SET_ALPHA_SIGMOID_STEEPNESS

      SUDO_SET_ALPHA_VALUES

      SUDO_SET_BONDS_MOVING_AVERAGE

      SUDO_SET_BONDS_PENALTY

      SUDO_SET_BONDS_RESET_ENABLED

      SUDO_SET_CK_BURN

      SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION

      SUDO_SET_COMMIT_REVEAL_VERSION

      SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED

      SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL

      SUDO_SET_DEFAULT_TAKE

      SUDO_SET_DIFFICULTY

      SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION

      SUDO_SET_EMA_PRICE_HALVING_PERIOD

      SUDO_SET_EVM_CHAIN_ID

      SUDO_SET_IMMUNITY_PERIOD

      SUDO_SET_KAPPA

      SUDO_SET_LIQUID_ALPHA_ENABLED

      SUDO_SET_LOCK_REDUCTION_INTERVAL

      SUDO_SET_MAX_ALLOWED_UIDS

      SUDO_SET_MAX_ALLOWED_VALIDATORS

      SUDO_SET_MAX_BURN

      SUDO_SET_MAX_CHILDKEY_TAKE

      SUDO_SET_MAX_DIFFICULTY

      SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK

      SUDO_SET_MAX_WEIGHT_LIMIT

      SUDO_SET_MECHANISM_COUNT

      SUDO_SET_MECHANISM_EMISSION_SPLIT

      SUDO_SET_MIN_ALLOWED_UIDS

      SUDO_SET_MIN_ALLOWED_WEIGHTS

      SUDO_SET_MIN_BURN

      SUDO_SET_MIN_CHILDKEY_TAKE

      SUDO_SET_MIN_DELEGATE_TAKE

      SUDO_SET_MIN_DIFFICULTY

      SUDO_SET_NETWORK_IMMUNITY_PERIOD

      SUDO_SET_NETWORK_MIN_LOCK_COST

      SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED

      SUDO_SET_NETWORK_RATE_LIMIT

      SUDO_SET_NETWORK_REGISTRATION_ALLOWED

      SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE

      SUDO_SET_OWNER_HPARAM_RATE_LIMIT

      SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT

      SUDO_SET_RAO_RECYCLED

      SUDO_SET_RECYCLE_OR_BURN

      SUDO_SET_RHO

      SUDO_SET_SERVING_RATE_LIMIT

      SUDO_SET_SN_OWNER_HOTKEY

      SUDO_SET_STAKE_THRESHOLD

      SUDO_SET_SUBNET_LIMIT

      SUDO_SET_SUBNET_MOVING_ALPHA

      SUDO_SET_SUBNET_OWNER_CUT

      SUDO_SET_SUBNET_OWNER_HOTKEY

      SUDO_SET_SUBTOKEN_ENABLED

      SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL

      SUDO_SET_TEMPO

      SUDO_SET_TOGGLE_TRANSFER

      SUDO_SET_TOTAL_ISSUANCE

      SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT

      SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT

      SUDO_SET_TX_RATE_LIMIT

      SUDO_SET_WEIGHTS_SET_RATE_LIMIT

      SUDO_SET_WEIGHTS_VERSION_KEY

      SUDO_SET_YUMA3_ENABLED

      SUDO_TOGGLE_EVM_PRECOMPILE

      SUDO_TRIM_TO_MAX_ALLOWED_UIDS

      SUDO_UNCHECKED_WEIGHT

      SUDO_UNCHECKED_WEIGHT

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +who#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF#
      +

      Bases: tuple

      +
      +
      +activity_cutoff#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA#
      +

      Bases: tuple

      +
      +
      +adjustment_alpha#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL#
      +

      Bases: tuple

      +
      +
      +adjustment_interval#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +window#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +steepness#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES#
      +

      Bases: tuple

      +
      +
      +alpha_high#
      +
      + +
      +
      +alpha_low#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE#
      +

      Bases: tuple

      +
      +
      +bonds_moving_average#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY#
      +

      Bases: tuple

      +
      +
      +bonds_penalty#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED#
      +

      Bases: tuple

      +
      +
      +enabled#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN#
      +

      Bases: tuple

      +
      +
      +burn#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION#
      +

      Bases: tuple

      +
      +
      +duration#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +version#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED#
      +

      Bases: tuple

      +
      +
      +enabled#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL#
      +

      Bases: tuple

      +
      +
      +interval#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE#
      +

      Bases: tuple

      +
      +
      +default_take#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY#
      +

      Bases: tuple

      +
      +
      +difficulty#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION#
      +

      Bases: tuple

      +
      +
      +duration#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD#
      +

      Bases: tuple

      +
      +
      +ema_halving#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID#
      +

      Bases: tuple

      +
      +
      +chain_id#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD#
      +

      Bases: tuple

      +
      +
      +immunity_period#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA#
      +

      Bases: tuple

      +
      +
      +kappa#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED#
      +

      Bases: tuple

      +
      +
      +enabled#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL#
      +

      Bases: tuple

      +
      +
      +interval#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS#
      +

      Bases: tuple

      +
      +
      +max_allowed_uids#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS#
      +

      Bases: tuple

      +
      +
      +max_allowed_validators#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN#
      +

      Bases: tuple

      +
      +
      +max_burn#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +take#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY#
      +

      Bases: tuple

      +
      +
      +max_difficulty#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK#
      +

      Bases: tuple

      +
      +
      +max_registrations_per_block#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT#
      +

      Bases: tuple

      +
      +
      +max_weight_limit#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT#
      +

      Bases: tuple

      +
      +
      +mechanism_count#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT#
      +

      Bases: tuple

      +
      +
      +maybe_split#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS#
      +

      Bases: tuple

      +
      +
      +min_allowed_uids#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS#
      +

      Bases: tuple

      +
      +
      +min_allowed_weights#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN#
      +

      Bases: tuple

      +
      +
      +min_burn#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +take#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +take#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY#
      +

      Bases: tuple

      +
      +
      +min_difficulty#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD#
      +

      Bases: tuple

      +
      +
      +immunity_period#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST#
      +

      Bases: tuple

      +
      +
      +lock_cost#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +registration_allowed#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +rate_limit#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +registration_allowed#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE#
      +

      Bases: tuple

      +
      +
      +min_stake#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT#
      +

      Bases: tuple

      +
      +
      +epochs#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT#
      +

      Bases: tuple

      +
      +
      +immune_neurons#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +rao_recycled#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +recycle_or_burn#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +rho#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +serving_rate_limit#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD#
      +

      Bases: tuple

      +
      +
      +min_stake#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT#
      +

      Bases: tuple

      +
      +
      +max_subnets#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA#
      +

      Bases: tuple

      +
      +
      +alpha#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +subnet_owner_cut#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY#
      +

      Bases: tuple

      +
      +
      +hotkey#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +subtoken_enabled#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +target_registrations_per_interval#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +tempo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +toggle#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +total_issuance#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +tx_rate_limit#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +tx_rate_limit#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT#
      +

      Bases: tuple

      +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +tx_rate_limit#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +weights_set_rate_limit#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY#
      +

      Bases: tuple

      +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +weights_version_key#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED#
      +

      Bases: tuple

      +
      +
      +enabled#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE#
      +

      Bases: tuple

      +
      +
      +enabled#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +precompile_id#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS#
      +

      Bases: tuple

      +
      +
      +max_n#
      +
      + +
      +
      +netuid#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +weight#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT#
      +

      Bases: tuple

      +
      +
      +call#
      +
      + +
      +
      +pallet#
      +
      + +
      +
      +sudo#
      +
      + +
      +
      +wallet#
      +
      + +
      +
      +weight#
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + +
      + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/dev_framework/index.html b/static/python-api/html/autoapi/bittensor/extras/dev_framework/index.html new file mode 100644 index 0000000000..941bda71eb --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/dev_framework/index.html @@ -0,0 +1,533 @@ + + + + + + + + + + + bittensor.extras.dev_framework — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + +
      +

      bittensor.extras.dev_framework

      + +
      +
      + +
      +

      Contents

      +
      + +
      +
      +
      + + + + + + + + + + + + + +
      + + + + +
      + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/dev_framework/subnet/index.html b/static/python-api/html/autoapi/bittensor/extras/dev_framework/subnet/index.html new file mode 100644 index 0000000000..f8e0e7f1fd --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/dev_framework/subnet/index.html @@ -0,0 +1,829 @@ + + + + + + + + + + + bittensor.extras.dev_framework.subnet — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.dev_framework.subnet#

      +
      +

      Attributes#

      +
      + + + + + +

      NETUID

      +
      +
      +
      +

      Classes#

      +
      + + + + + + + + +

      CALL_RECORD

      TestSubnet

      Class for managing test subnet operations.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.dev_framework.subnet.CALL_RECORD#
      +

      Bases: tuple

      +
      +
      +idx#
      +
      + +
      +
      +operation#
      +
      + +
      +
      +response#
      +
      + +
      + +
      +
      +bittensor.extras.dev_framework.subnet.NETUID = 'SN_NETUID'#
      +
      + +
      +
      +class bittensor.extras.dev_framework.subnet.TestSubnet(subtensor, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
      +

      Class for managing test subnet operations.

      +
      +
      Parameters:
      +
        +
      • subtensor (bittensor.extras.SubtensorApi)

      • +
      • period (Optional[int])

      • +
      • raise_error (bool)

      • +
      • wait_for_inclusion (bool)

      • +
      • wait_for_finalization (bool)

      • +
      +
      +
      +
      +
      +async async_execute_one(step)#
      +

      Executes one step asynchronously.

      +
      +
      Parameters:
      +

      step (Union[bittensor.extras.dev_framework.utils.STEPS, tuple])

      +
      +
      Return type:
      +

      bittensor.core.types.ExtrinsicResponse

      +
      +
      +
      + +
      +
      +async async_execute_steps(steps)#
      +

      Executes a multiple steps asynchronously.

      +
      +
      Parameters:
      +

      steps (list[Union[bittensor.extras.dev_framework.utils.STEPS, tuple]])

      +
      +
      +
      + +
      +
      +async async_set_hyperparameter(sudo_or_owner_wallet, call_function, call_module, call_params, sudo_call=False, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
      +

      Set hyperparameter for the chain or subnet.

      +
      +
      Parameters:
      +
        +
      • sudo_or_owner_wallet (bittensor_wallet.Wallet)

      • +
      • call_function (str)

      • +
      • call_module (str)

      • +
      • call_params (dict)

      • +
      • sudo_call (bool)

      • +
      • period (Optional[int])

      • +
      • raise_error (bool)

      • +
      • wait_for_inclusion (bool)

      • +
      • wait_for_finalization (bool)

      • +
      +
      +
      Return type:
      +

      bittensor.core.types.ExtrinsicResponse

      +
      +
      +
      + +
      +
      +async async_wait_next_epoch(netuid=None)#
      +

      Async wait until the next epoch first block is reached.

      +
      +
      Parameters:
      +

      netuid (Optional[int])

      +
      +
      +
      + +
      +
      +property calls: list[CALL_RECORD]#
      +
      +
      Return type:
      +

      list[CALL_RECORD]

      +
      +
      +
      + +
      +
      +execute_one(step)#
      +

      Executes one step synchronously.

      +
      +
      Parameters:
      +

      step (Union[bittensor.extras.dev_framework.utils.STEPS, tuple])

      +
      +
      Return type:
      +

      bittensor.core.types.ExtrinsicResponse

      +
      +
      +
      + +
      +
      +execute_steps(steps)#
      +

      Executes a multiple steps synchronously.

      +
      +
      Parameters:
      +

      steps (list[Union[bittensor.extras.dev_framework.utils.STEPS, tuple]])

      +
      +
      +
      + +
      +
      +property netuid: int#
      +
      +
      Return type:
      +

      int

      +
      +
      +
      + +
      +
      +property owner: bittensor_wallet.Wallet#
      +
      +
      Return type:
      +

      bittensor_wallet.Wallet

      +
      +
      +
      + +
      +
      +period = None#
      +
      + +
      +
      +raise_error = False#
      +
      + +
      +
      +s: bittensor.extras.SubtensorApi#
      +
      + +
      +
      +set_hyperparameter(sudo_or_owner_wallet, call_function, call_module, call_params, sudo_call=False, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
      +

      Set hyperparameter for the chain or subnet.

      +
      +
      Parameters:
      +
        +
      • sudo_or_owner_wallet (bittensor_wallet.Wallet)

      • +
      • call_function (str)

      • +
      • call_module (str)

      • +
      • call_params (dict)

      • +
      • sudo_call (bool)

      • +
      • period (Optional[int])

      • +
      • raise_error (bool)

      • +
      • wait_for_inclusion (bool)

      • +
      • wait_for_finalization (bool)

      • +
      +
      +
      Return type:
      +

      bittensor.core.types.ExtrinsicResponse

      +
      +
      +
      + +
      +
      +wait_for_finalization = True#
      +
      + +
      +
      +wait_for_inclusion = True#
      +
      + +
      +
      +wait_next_epoch(netuid=None)#
      +

      Sync wait until the next epoch first block is reached.

      +
      +
      Parameters:
      +

      netuid (Optional[int])

      +
      +
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/dev_framework/utils/index.html b/static/python-api/html/autoapi/bittensor/extras/dev_framework/utils/index.html new file mode 100644 index 0000000000..acb9f4f618 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/dev_framework/utils/index.html @@ -0,0 +1,699 @@ + + + + + + + + + + + bittensor.extras.dev_framework.utils — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.dev_framework.utils#

      +
      +

      Attributes#

      + +
      +
      +

      Classes#

      + +
      +
      +

      Functions#

      +
      + + + + + + + + +

      is_instance_namedtuple(obj)

      Check if the object is an instance of a namedtuple.

      split_command(command)

      Parse command and return four objects (wallet, pallet, sudo, kwargs).

      +
      +
      +
      +

      Module Contents#

      +
      +
      +bittensor.extras.dev_framework.utils.ACTIVATE_SUBNET#
      +
      + +
      +
      +class bittensor.extras.dev_framework.utils.ActivateSubnet#
      +
      +
      +netuid: int | None = None#
      +
      + +
      +
      +wallet: bittensor_wallet.Wallet#
      +
      + +
      + +
      +
      +bittensor.extras.dev_framework.utils.REGISTER_NEURON#
      +
      + +
      +
      +bittensor.extras.dev_framework.utils.REGISTER_SUBNET#
      +
      + +
      +
      +class bittensor.extras.dev_framework.utils.RegisterNeuron#
      +
      +
      +netuid: int | None = None#
      +
      + +
      +
      +wallet: bittensor_wallet.Wallet#
      +
      + +
      + +
      +
      +class bittensor.extras.dev_framework.utils.RegisterSubnet#
      +
      +
      +wallet: bittensor_wallet.Wallet#
      +
      + +
      + +
      +
      +bittensor.extras.dev_framework.utils.STEPS#
      +
      + +
      +
      +bittensor.extras.dev_framework.utils.is_instance_namedtuple(obj)#
      +

      Check if the object is an instance of a namedtuple.

      +
      + +
      +
      +bittensor.extras.dev_framework.utils.split_command(command)#
      +

      Parse command and return four objects (wallet, pallet, sudo, kwargs).

      +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/index.html b/static/python-api/html/autoapi/bittensor/extras/index.html new file mode 100644 index 0000000000..e70addf89c --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/index.html @@ -0,0 +1,539 @@ + + + + + + + + + + + bittensor.extras — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + +
      +

      bittensor.extras

      + +
      +
      + +
      +

      Contents

      +
      + +
      +
      +
      + + + + +
      + +
      +

      bittensor.extras#

      +

      The addons sub-package contains optional extensions and logic augmentations for the core functionality of the project.

      +

      Modules placed in this package may include experimental features, alternative implementations, developer tools, or +enhancements that extend or customize core behavior. These components are not always critical for the main application, +but can be enabled or imported as needed for advanced use cases, internal tooling, or feature expansion.

      +

      Use this package to keep optional, modular, or feature-gated logic separate from the primary codebase while maintaining +discoverability and structure.

      +
      +

      Submodules#

      + +
      +
      + + +
      + + + + + + + + +
      + + + + +
      + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/subtensor_api/chain/index.html b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/chain/index.html new file mode 100644 index 0000000000..153e092ad9 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/chain/index.html @@ -0,0 +1,658 @@ + + + + + + + + + + + bittensor.extras.subtensor_api.chain — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.subtensor_api.chain#

      +
      +

      Classes#

      +
      + + + + + +

      Chain

      Class for managing chain state operations.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.subtensor_api.chain.Chain(subtensor)#
      +

      Class for managing chain state operations.

      +
      +
      Parameters:
      +

      subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

      +
      +
      +
      +
      +get_admin_freeze_window#
      +
      + +
      +
      +get_block_hash#
      +
      + +
      +
      +get_block_info#
      +
      + +
      +
      +get_current_block#
      +
      + +
      +
      +get_delegate_identities#
      +
      + +
      +
      +get_existential_deposit#
      +
      + +
      +
      +get_minimum_required_stake#
      +
      + +
      +
      +get_timestamp#
      +
      + +
      +
      +get_vote_data#
      +
      + +
      +
      +is_fast_blocks#
      +
      + +
      +
      +is_in_admin_freeze_window#
      +
      + +
      +
      +last_drand_round#
      +
      + +
      +
      +state_call#
      +
      + +
      +
      +tx_rate_limit#
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/subtensor_api/commitments/index.html b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/commitments/index.html new file mode 100644 index 0000000000..92d73971b9 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/commitments/index.html @@ -0,0 +1,644 @@ + + + + + + + + + + + bittensor.extras.subtensor_api.commitments — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.subtensor_api.commitments#

      +
      +

      Classes#

      +
      + + + + + +

      Commitments

      Class for managing any commitment operations.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.subtensor_api.commitments.Commitments(subtensor)#
      +

      Class for managing any commitment operations.

      +
      +
      Parameters:
      +

      subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

      +
      +
      +
      +
      +commit_reveal_enabled#
      +
      + +
      +
      +get_all_commitments#
      +
      + +
      +
      +get_all_revealed_commitments#
      +
      + +
      +
      +get_commitment#
      +
      + +
      +
      +get_commitment_metadata#
      +
      + +
      +
      +get_last_bonds_reset#
      +
      + +
      +
      +get_last_commitment_bonds_reset_block#
      +
      + +
      +
      +get_revealed_commitment#
      +
      + +
      +
      +get_revealed_commitment_by_hotkey#
      +
      + +
      +
      +get_timelocked_weight_commits#
      +
      + +
      +
      +set_commitment#
      +
      + +
      +
      +set_reveal_commitment#
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/subtensor_api/delegates/index.html b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/delegates/index.html new file mode 100644 index 0000000000..e402611f34 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/delegates/index.html @@ -0,0 +1,609 @@ + + + + + + + + + + + bittensor.extras.subtensor_api.delegates — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.subtensor_api.delegates#

      +
      +

      Classes#

      +
      + + + + + +

      Delegates

      Class for managing delegate operations.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.subtensor_api.delegates.Delegates(subtensor)#
      +

      Class for managing delegate operations.

      +
      +
      Parameters:
      +

      subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

      +
      +
      +
      +
      +get_delegate_by_hotkey#
      +
      + +
      +
      +get_delegate_identities#
      +
      + +
      +
      +get_delegate_take#
      +
      + +
      +
      +get_delegated#
      +
      + +
      +
      +get_delegates#
      +
      + +
      +
      +is_hotkey_delegate#
      +
      + +
      +
      +set_delegate_take#
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/subtensor_api/extrinsics/index.html b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/extrinsics/index.html new file mode 100644 index 0000000000..0b752f5c93 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/extrinsics/index.html @@ -0,0 +1,756 @@ + + + + + + + + + + + bittensor.extras.subtensor_api.extrinsics — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.subtensor_api.extrinsics#

      +
      +

      Classes#

      +
      + + + + + +

      Extrinsics

      Class for managing extrinsic operations.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.subtensor_api.extrinsics.Extrinsics(subtensor)#
      +

      Class for managing extrinsic operations.

      +
      +
      Parameters:
      +

      subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

      +
      +
      +
      +
      +add_liquidity#
      +
      + +
      +
      +add_stake#
      +
      + +
      +
      +add_stake_multiple#
      +
      + +
      +
      +burned_register#
      +
      + +
      +
      +commit_weights#
      +
      + +
      +
      +get_extrinsic_fee#
      +
      + +
      +
      +modify_liquidity#
      +
      + +
      +
      +move_stake#
      +
      + +
      +
      +register#
      +
      + +
      +
      +register_subnet#
      +
      + +
      +
      +remove_liquidity#
      +
      + +
      +
      +reveal_weights#
      +
      + +
      +
      +root_register#
      +
      + +
      +
      +root_set_pending_childkey_cooldown#
      +
      + +
      +
      +serve_axon#
      +
      + +
      +
      +set_children#
      +
      + +
      +
      +set_commitment#
      +
      + +
      +
      +set_subnet_identity#
      +
      + +
      +
      +set_weights#
      +
      + +
      +
      +start_call#
      +
      + +
      +
      +swap_stake#
      +
      + +
      +
      +toggle_user_liquidity#
      +
      + +
      +
      +transfer#
      +
      + +
      +
      +transfer_stake#
      +
      + +
      +
      +unstake#
      +
      + +
      +
      +unstake_all#
      +
      + +
      +
      +unstake_multiple#
      +
      + +
      +
      +validate_extrinsic_params#
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/subtensor_api/index.html b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/index.html new file mode 100644 index 0000000000..fb3f3881f0 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/index.html @@ -0,0 +1,840 @@ + + + + + + + + + + + bittensor.extras.subtensor_api — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.subtensor_api#

      +
      +

      Submodules#

      + +
      +
      +

      Classes#

      +
      + + + + + +

      SubtensorApi

      Subtensor API class.

      +
      +
      +
      +

      Package Contents#

      +
      +
      +class bittensor.extras.subtensor_api.SubtensorApi(network=None, config=None, async_subtensor=False, legacy_methods=False, fallback_endpoints=None, retry_forever=False, log_verbose=False, mock=False, archive_endpoints=None, websocket_shutdown_timer=5.0)#
      +

      Subtensor API class.

      +
      +
      Parameters:
      +
        +
      • network (Optional[str]) – The network to connect to.

      • +
      • config (Optional[bittensor.core.config.Config]) – Bittensor configuration object.

      • +
      • legacy_methods (bool) – If True, all methods from the Subtensor class will be added to the root level of this class.

      • +
      • fallback_endpoints (Optional[list[str]]) – List of fallback endpoints to use if default or provided network is not available.

      • +
      • retry_forever (bool) – Whether to retry forever on connection errors.

      • +
      • log_verbose (bool) – Enables or disables verbose logging.

      • +
      • mock (bool) – Whether this is a mock instance. Mainly just for use in testing.

      • +
      • archive_endpoints (Optional[list[str]]) – Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases +where you are requesting a block that is too old for your current (presumably lite) node.

      • +
      • websocket_shutdown_timer (Optional[float]) – Amount of time, in seconds, to wait after the last response from the chain to close +the connection. Only applicable to AsyncSubtensor. If None is passed to this, the automatic shutdown +process is disabled.

      • +
      • async_subtensor (bool)

      • +
      +
      +
      +
      +

      Example

      +

      # sync version +import bittensor as bt

      +

      subtensor = bt.SubtensorApi() +print(subtensor.block) +print(subtensor.delegates.get_delegate_identities()) +subtensor.chain.tx_rate_limit()

      +

      # async version +import bittensor as bt

      +

      subtensor = bt.SubtensorApi(async_subtensor=True) +async with subtensor:

      +
      +

      print(await subtensor.block) +print(await subtensor.delegates.get_delegate_identities()) +print(await subtensor.chain.tx_rate_limit())

      +
      +

      # using legacy_methods +import bittensor as bt

      +

      subtensor = bt.SubtensorApi(legacy_methods=True) +print(subtensor.bonds(0))

      +

      # using fallback_endpoints or retry_forever +import bittensor as bt

      +
      +
      subtensor = bt.SubtensorApi(

      network=”finney”, +fallback_endpoints=[“wss://localhost:9945”, “wss://some-other-endpoint:9945”], +retry_forever=True,

      +
      +
      +

      ) +print(subtensor.block)

      +
      +
      +
      +classmethod add_args(parser)#
      +
      + +
      +
      +property block#
      +

      Returns current chain block number.

      +
      + +
      +
      +property chain#
      +

      Property of interaction with chain methods.

      +
      + +
      +
      +chain_endpoint = None#
      +
      + +
      +
      +close#
      +
      + +
      +
      +property commitments#
      +

      Property to access commitments methods.

      +
      + +
      +
      +compose_call#
      +
      + +
      +
      +config#
      +
      + +
      +
      +property delegates#
      +

      Property to access delegates methods.

      +
      + +
      +
      +determine_block_hash#
      +
      + +
      +
      +encode_params#
      +
      + +
      +
      +property extrinsics#
      +

      Property to access extrinsics methods.

      +
      + +
      +
      +help#
      +
      + +
      +
      +initialize = None#
      +
      + +
      +
      +inner_subtensor#
      +
      + +
      +
      +is_async = False#
      +
      + +
      +
      +log_verbose = False#
      +
      + +
      +
      +property metagraphs#
      +

      Property to access metagraphs methods.

      +
      + +
      +
      +network = None#
      +
      + +
      +
      +property neurons#
      +

      Property to access neurons methods.

      +
      + +
      +
      +property queries#
      +

      Property to access subtensor queries methods.

      +
      + +
      +
      +setup_config#
      +
      + +
      +
      +sign_and_send_extrinsic#
      +
      + +
      +
      +property staking#
      +

      Property to access staking methods.

      +
      + +
      +
      +start_call#
      +
      + +
      +
      +property subnets#
      +

      Property of interaction with subnets methods.

      +
      + +
      +
      +substrate#
      +
      + +
      +
      +wait_for_block#
      +
      + +
      +
      +property wallets#
      +

      Property of interaction methods with cold/hotkeys, and balances, etc.

      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/subtensor_api/metagraphs/index.html b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/metagraphs/index.html new file mode 100644 index 0000000000..c1ce13b87d --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/metagraphs/index.html @@ -0,0 +1,581 @@ + + + + + + + + + + + bittensor.extras.subtensor_api.metagraphs — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + +
      +

      bittensor.extras.subtensor_api.metagraphs

      + +
      + +
      +
      + + + + +
      + +
      +

      bittensor.extras.subtensor_api.metagraphs#

      +
      +

      Classes#

      +
      + + + + + +

      Metagraphs

      Class for managing metagraph operations.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.subtensor_api.metagraphs.Metagraphs(subtensor)#
      +

      Class for managing metagraph operations.

      +
      +
      Parameters:
      +

      subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

      +
      +
      +
      +
      +get_all_metagraphs_info#
      +
      + +
      +
      +get_metagraph_info#
      +
      + +
      +
      +metagraph#
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/subtensor_api/neurons/index.html b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/neurons/index.html new file mode 100644 index 0000000000..b19c9602e1 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/neurons/index.html @@ -0,0 +1,602 @@ + + + + + + + + + + + bittensor.extras.subtensor_api.neurons — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.subtensor_api.neurons#

      +
      +

      Classes#

      +
      + + + + + +

      Neurons

      Class for managing neuron operations.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.subtensor_api.neurons.Neurons(subtensor)#
      +

      Class for managing neuron operations.

      +
      +
      Parameters:
      +

      subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

      +
      +
      +
      +
      +get_all_neuron_certificates#
      +
      + +
      +
      +get_neuron_certificate#
      +
      + +
      +
      +neuron_for_uid#
      +
      + +
      +
      +neurons#
      +
      + +
      +
      +neurons_lite#
      +
      + +
      +
      +query_identity#
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/subtensor_api/queries/index.html b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/queries/index.html new file mode 100644 index 0000000000..32e487dc22 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/queries/index.html @@ -0,0 +1,602 @@ + + + + + + + + + + + bittensor.extras.subtensor_api.queries — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.subtensor_api.queries#

      +
      +

      Classes#

      +
      + + + + + +

      Queries

      Class for managing subtensor query operations.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.subtensor_api.queries.Queries(subtensor)#
      +

      Class for managing subtensor query operations.

      +
      +
      Parameters:
      +

      subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

      +
      +
      +
      +
      +query_constant#
      +
      + +
      +
      +query_map#
      +
      + +
      +
      +query_map_subtensor#
      +
      + +
      +
      +query_module#
      +
      + +
      +
      +query_runtime_api#
      +
      + +
      +
      +query_subtensor#
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/subtensor_api/staking/index.html b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/staking/index.html new file mode 100644 index 0000000000..d76e60c88e --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/staking/index.html @@ -0,0 +1,700 @@ + + + + + + + + + + + bittensor.extras.subtensor_api.staking — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.subtensor_api.staking#

      +
      +

      Classes#

      +
      + + + + + +

      Staking

      Class for managing staking operations.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.subtensor_api.staking.Staking(subtensor)#
      +

      Class for managing staking operations.

      +
      +
      Parameters:
      +

      subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

      +
      +
      +
      +
      +add_stake#
      +
      + +
      +
      +add_stake_multiple#
      +
      + +
      +
      +get_auto_stakes#
      +
      + +
      +
      +get_hotkey_stake#
      +
      + +
      +
      +get_minimum_required_stake#
      +
      + +
      +
      +get_stake#
      +
      + +
      +
      +get_stake_add_fee#
      +
      + +
      +
      +get_stake_for_coldkey_and_hotkey#
      +
      + +
      +
      +get_stake_info_for_coldkey#
      +
      + +
      +
      +get_stake_movement_fee#
      +
      + +
      +
      +get_stake_weight#
      +
      + +
      +
      +get_unstake_fee#
      +
      + +
      +
      +move_stake#
      +
      + +
      +
      +set_auto_stake#
      +
      + +
      +
      +sim_swap#
      +
      + +
      +
      +swap_stake#
      +
      + +
      +
      +transfer_stake#
      +
      + +
      +
      +unstake#
      +
      + +
      +
      +unstake_all#
      +
      + +
      +
      +unstake_multiple#
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/subtensor_api/subnets/index.html b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/subnets/index.html new file mode 100644 index 0000000000..14c4a1e847 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/subnets/index.html @@ -0,0 +1,868 @@ + + + + + + + + + + + bittensor.extras.subtensor_api.subnets — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.subtensor_api.subnets#

      +
      +

      Classes#

      +
      + + + + + +

      Subnets

      Class for managing subnet operations.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.subtensor_api.subnets.Subnets(subtensor)#
      +

      Class for managing subnet operations.

      +
      +
      Parameters:
      +

      subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

      +
      +
      +
      +
      +all_subnets#
      +
      + +
      +
      +blocks_since_last_step#
      +
      + +
      +
      +blocks_since_last_update#
      +
      + +
      +
      +bonds#
      +
      + +
      +
      +burned_register#
      +
      + +
      +
      +commit_reveal_enabled#
      +
      + +
      +
      +difficulty#
      +
      + +
      +
      +get_all_subnets_info#
      +
      + +
      +
      +get_all_subnets_netuid#
      +
      + +
      +
      +get_children#
      +
      + +
      +
      +get_children_pending#
      +
      + +
      +
      +get_hyperparameter#
      +
      + +
      +
      +get_liquidity_list#
      +
      + +
      +
      +get_mechanism_count#
      +
      + +
      +
      +get_mechanism_emission_split#
      +
      + +
      +
      +get_neuron_for_pubkey_and_subnet#
      +
      + +
      +
      +get_next_epoch_start_block#
      +
      + +
      +
      +get_parents#
      +
      + +
      +
      +get_subnet_burn_cost#
      +
      + +
      +
      +get_subnet_hyperparameters#
      +
      + +
      +
      +get_subnet_info#
      +
      + +
      +
      +get_subnet_owner_hotkey#
      +
      + +
      +
      +get_subnet_price#
      +
      + +
      +
      +get_subnet_prices#
      +
      + +
      +
      +get_subnet_reveal_period_epochs#
      +
      + +
      +
      +get_subnet_validator_permits#
      +
      + +
      +
      +get_total_subnets#
      +
      + +
      +
      +get_uid_for_hotkey_on_subnet#
      +
      + +
      +
      +immunity_period#
      +
      + +
      +
      +is_hotkey_registered_on_subnet#
      +
      + +
      +
      +is_subnet_active#
      +
      + +
      +
      +max_weight_limit#
      +
      + +
      +
      +min_allowed_weights#
      +
      + +
      +
      +recycle#
      +
      + +
      +
      +register#
      +
      + +
      +
      +register_subnet#
      +
      + +
      +
      +set_subnet_identity#
      +
      + +
      +
      +start_call#
      +
      + +
      +
      +subnet#
      +
      + +
      +
      +subnet_exists#
      +
      + +
      +
      +subnetwork_n#
      +
      + +
      +
      +tempo#
      +
      + +
      +
      +weights#
      +
      + +
      +
      +weights_rate_limit#
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/subtensor_api/utils/index.html b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/utils/index.html new file mode 100644 index 0000000000..042bb03be4 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/utils/index.html @@ -0,0 +1,556 @@ + + + + + + + + + + + bittensor.extras.subtensor_api.utils — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + +
      +

      bittensor.extras.subtensor_api.utils

      + +
      +
      + +
      +

      Contents

      +
      + +
      +
      +
      + + + + +
      + +
      +

      bittensor.extras.subtensor_api.utils#

      +
      +

      Functions#

      +
      + + + + + +

      add_legacy_methods(subtensor)

      If SubtensorApi get subtensor_fields=True arguments, then all classic Subtensor fields added to root level.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +bittensor.extras.subtensor_api.utils.add_legacy_methods(subtensor)#
      +

      If SubtensorApi get subtensor_fields=True arguments, then all classic Subtensor fields added to root level.

      +
      +
      Parameters:
      +

      subtensor (bittensor.extras.SubtensorApi)

      +
      +
      +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + +
      + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/subtensor_api/wallets/index.html b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/wallets/index.html new file mode 100644 index 0000000000..69a9ffd75e --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/subtensor_api/wallets/index.html @@ -0,0 +1,763 @@ + + + + + + + + + + + bittensor.extras.subtensor_api.wallets — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + + + + + + +
      + +
      +

      bittensor.extras.subtensor_api.wallets#

      +
      +

      Classes#

      +
      + + + + + +

      Wallets

      Class for managing coldkey, hotkey, wallet operations.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +class bittensor.extras.subtensor_api.wallets.Wallets(subtensor)#
      +

      Class for managing coldkey, hotkey, wallet operations.

      +
      +
      Parameters:
      +

      subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

      +
      +
      +
      +
      +does_hotkey_exist#
      +
      + +
      +
      +filter_netuids_by_registered_hotkeys#
      +
      + +
      +
      +get_balance#
      +
      + +
      +
      +get_balances#
      +
      + +
      +
      +get_children#
      +
      + +
      +
      +get_children_pending#
      +
      + +
      +
      +get_delegate_by_hotkey#
      +
      + +
      +
      +get_delegate_take#
      +
      + +
      +
      +get_delegated#
      +
      + +
      +
      +get_hotkey_owner#
      +
      + +
      +
      +get_hotkey_stake#
      +
      + +
      +
      +get_minimum_required_stake#
      +
      + +
      +
      +get_netuids_for_hotkey#
      +
      + +
      +
      +get_owned_hotkeys#
      +
      + +
      +
      +get_parents#
      +
      + +
      +
      +get_stake#
      +
      + +
      +
      +get_stake_add_fee#
      +
      + +
      +
      +get_stake_for_coldkey_and_hotkey#
      +
      + +
      +
      +get_stake_for_hotkey#
      +
      + +
      +
      +get_stake_info_for_coldkey#
      +
      + +
      +
      +get_stake_movement_fee#
      +
      + +
      +
      +get_transfer_fee#
      +
      + +
      +
      +get_unstake_fee#
      +
      + +
      +
      +is_hotkey_delegate#
      +
      + +
      +
      +is_hotkey_registered#
      +
      + +
      +
      +is_hotkey_registered_any#
      +
      + +
      +
      +is_hotkey_registered_on_subnet#
      +
      + +
      +
      +set_children#
      +
      + +
      +
      +transfer#
      +
      + +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + + + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/extras/timelock/index.html b/static/python-api/html/autoapi/bittensor/extras/timelock/index.html new file mode 100644 index 0000000000..14eeaecd05 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/extras/timelock/index.html @@ -0,0 +1,702 @@ + + + + + + + + + + + bittensor.extras.timelock — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + +
      +

      bittensor.extras.timelock

      + +
      + +
      +
      + + + + +
      + +
      +

      bittensor.extras.timelock#

      +

      This module provides functionality for TimeLock Encryption (TLE), a mechanism that encrypts data such that it can +only be decrypted after a specific amount of time (expressed in the form of Drand rounds). It includes functions +for encryption, decryption, and handling the decryption process by waiting for the reveal round. The logic is based on +Drand QuickNet.

      +
      +
      Main Functions:
        +
      • encrypt: Encrypts data and returns the encrypted data along with the reveal round.

      • +
      • decrypt: Decrypts the provided encrypted data when the reveal round is reached.

      • +
      • wait_reveal_and_decrypt: Waits for the reveal round and decrypts the encrypted data.

      • +
      +
      +
      Usage Example:

      `python +from bittensor import timelock +data = "From Cortex to Bittensor" +encrypted_data, reveal_round = timelock.encrypt(data, n_blocks=5) +decrypted_data = timelock.wait_reveal_and_decrypt(encrypted_data) +`

      +
      +
      Usage Example with custom data:

      ```python +import pickle +from dataclasses import dataclass

      +

      from bittensor import timelock

      +

      @dataclass +class Person:

      +
      +

      name: str +age: int

      +
      +

      # get instance of your data +x_person = Person(“X Lynch”, 123)

      +

      # get bytes of your instance +byte_data = pickle.dumps(x_person)

      +

      # get TLE encoded bytes +encrypted, reveal_round = timelock.encrypt(byte_data, 1)

      +

      # wait when reveal round appears in Drand QuickNet and get decrypted data +decrypted = timelock.wait_reveal_and_decrypt(encrypted_data=encrypted)

      +

      # convert bytes into your instance back +x_person_2 = pickle.loads(decrypted)

      +

      # make sure initial and decoded instances are the same +assert x_person == x_person_2 +```

      +
      +
      +

      Note: +For handling fast-block nodes, set the block_time parameter to 0.25 seconds during encryption.

      +
      +

      Functions#

      +
      + + + + + + + + + + + +

      decrypt(encrypted_data[, no_errors, return_str])

      Decrypts encrypted data using TimeLock Decryption

      encrypt(data, n_blocks[, block_time])

      Encrypts data using TimeLock Encryption

      wait_reveal_and_decrypt(encrypted_data[, ...])

      Waits for reveal round and decrypts data using TimeLock Decryption.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +bittensor.extras.timelock.decrypt(encrypted_data, no_errors=True, return_str=False)#
      +

      Decrypts encrypted data using TimeLock Decryption

      +
      +
      Parameters:
      +
        +
      • encrypted_data (bytes) – Encrypted data to be decrypted.

      • +
      • no_errors (bool) – If True, no errors will be raised during decryption.

      • +
      • return_str (bool) – convert decrypted data to string if True.

      • +
      +
      +
      Returns:
      +

      Decrypted data, when reveled round is reached.

      +
      +
      Return type:
      +

      decrypted_data

      +
      +
      +
      +
      Usage:

      # default usage +decrypted_data = decrypt(encrypted_data)

      +

      # passing no_errors=False for raising errors during decryption +decrypted_data = decrypt(encrypted_data, no_errors=False)

      +

      # passing return_str=True for returning decrypted data as string +decrypted_data = decrypt(encrypted_data, return_str=True)

      +
      +
      +
      + +
      +
      +bittensor.extras.timelock.encrypt(data, n_blocks, block_time=12.0)#
      +

      Encrypts data using TimeLock Encryption

      +
      +
      Parameters:
      +
        +
      • data (Union[bytes, str]) – Any bytes data to be encrypted.

      • +
      • n_blocks (int) – Number of blocks to encrypt.

      • +
      • block_time (Union[int, float]) – Time in seconds for each block.

      • +
      +
      +
      Returns:
      +

      A tuple containing the encrypted data and reveal TimeLock reveal round.

      +
      +
      Return type:
      +

      tuple

      +
      +
      Raises:
      +

      PyValueError – If failed to encrypt data.

      +
      +
      +
      +
      Usage:

      data = “From Cortex to Bittensor”

      +

      # default usage +encrypted_data, reveal_round = encrypt(data, 10)

      +

      # passing block_time for fast-blocks node +encrypted_data, reveal_round = encrypt(data, 15, block_time=0.25)

      +

      encrypted_data, reveal_round = encrypt(data, 5)

      +
      +
      +
      +

      Note

      +

      For using this function with fast-blocks node you need to set block_time to 0.25 seconds. +data, round = encrypt(data, n_blocks, block_time=0.25)

      +
      +
      + +
      +
      +bittensor.extras.timelock.wait_reveal_and_decrypt(encrypted_data, reveal_round=None, no_errors=True, return_str=False)#
      +

      Waits for reveal round and decrypts data using TimeLock Decryption.

      +
      +
      Parameters:
      +
        +
      • encrypted_data (bytes) – Encrypted data to be decrypted.

      • +
      • reveal_round (Optional[int]) – Reveal round to wait for. If None, will be parsed from encrypted data.

      • +
      • no_errors (bool) – If True, no errors will be raised during decryption.

      • +
      • return_str (bool) – convert decrypted data to string if True.

      • +
      +
      +
      Raises:
      +
        +
      • struct.error – If failed to parse reveal round from encrypted data.

      • +
      • TypeError – If reveal_round is None or wrong type.

      • +
      • IndexError – If provided encrypted_data does not contain reveal round.

      • +
      +
      +
      Returns:
      +

      Decrypted data.

      +
      +
      Return type:
      +

      bytes

      +
      +
      +
      +
      Usage:

      import bittensor as bt +encrypted, reveal_round = bt.timelock.encrypt(“Cortex is power”, 3)

      +
      +
      +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + +
      + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/index.html b/static/python-api/html/autoapi/bittensor/index.html index b3e82b73c0..59c08b2b35 100644 --- a/static/python-api/html/autoapi/bittensor/index.html +++ b/static/python-api/html/autoapi/bittensor/index.html @@ -171,6 +171,12 @@
    2044. bittensor.core.types
    2045. +
    2046. bittensor.extras
      +
    2047. bittensor.utils
    2048. +
    2049. bittensor.extras
      +
    2050. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -466,15 +472,15 @@

        Module Contents
        Parameters:
          -
        • current_time_ns (int) – The current time in nanoseconds.

        • -
        • synapse_timeout (Optional[float]) – The optional timeout for the synapse in seconds. If None, it defaults to 0.

        • +
        • current_time_ns (int) – The current time in nanoseconds.

        • +
        • synapse_timeout (Optional[float]) – The optional timeout for the synapse in seconds. If None, it defaults to 0.

        Returns:

        The allowed nonce window in nanoseconds.

        Return type:
        -

        int

        +

        int

        @@ -487,16 +493,16 @@

        Module Contents
        Parameters:
          -
        • current_time (int) – The current time in nanoseconds.

        • -
        • synapse_timeout (Optional[float]) – The optional timeout for the synapse in seconds.

        • -
        • synapse_nonce (int) – The nonce value for the synapse in nanoseconds.

        • +
        • current_time (int) – The current time in nanoseconds.

        • +
        • synapse_timeout (Optional[float]) – The optional timeout for the synapse in seconds.

        • +
        • synapse_nonce (int) – The nonce value for the synapse in nanoseconds.

        Returns:

        A tuple containing the difference in seconds (float) and the allowed delta in seconds (float).

        Return type:
        -

        tuple

        +

        tuple

        diff --git a/static/python-api/html/autoapi/bittensor/utils/balance/index.html b/static/python-api/html/autoapi/bittensor/utils/balance/index.html index 523f560a12..d30ff565c8 100644 --- a/static/python-api/html/autoapi/bittensor/utils/balance/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/balance/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2051. +
    2052. bittensor.extras
      +
    2053. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -481,21 +487,21 @@

        Module Contents
        Variables:
          -
        • unit (str) – A string representing the symbol for the tao unit.

        • -
        • rao_unit (str) – A string representing the symbol for the rao unit.

        • -
        • rao (int) – An integer that stores the balance in rao units.

        • -
        • tao (float) – A float property that gives the balance in tao units.

        • +
        • unit (str) – A string representing the symbol for the tao unit.

        • +
        • rao_unit (str) – A string representing the symbol for the rao unit.

        • +
        • rao (int) – An integer that stores the balance in rao units.

        • +
        • tao (float) – A float property that gives the balance in tao units.

        Parameters:
        -

        balance (Union[int, float])

        +

        balance (Union[int, float])

        Initialize a Balance object. If balance is an int, it’s assumed to be in rao. If balance is a float, it’s assumed to be in tao.

        Parameters:
        -

        balance (Union[int, float]) – The initial balance, in either rao (if an int) or tao (if a float).

        +

        balance (Union[int, float]) – The initial balance, in either rao (if an int) or tao (if a float).

        @@ -512,8 +518,8 @@

        Module ContentsParameters:
        Return type:
        @@ -529,8 +535,8 @@

        Module Contents
        Parameters:
          -
        • amount (int) – The amount in rao.

        • -
        • netuid (int) – The subnet uid for set currency unit. Defaults to 0.

        • +
        • amount (int) – The amount in rao.

        • +
        • netuid (int) – The subnet uid for set currency unit. Defaults to 0.

        Returns:
        @@ -549,8 +555,8 @@

        Module Contents
        Parameters:
          -
        • amount (float) – The amount in tao.

        • -
        • netuid (int) – The subnet uid for set currency unit. Defaults to 0.

        • +
        • amount (float) – The amount in tao.

        • +
        • netuid (int) – The subnet uid for set currency unit. Defaults to 0.

        Returns:
        @@ -567,27 +573,27 @@

        Module Contentsstatic get_unit(netuid)[source]#
        Parameters:
        -

        netuid (int)

        +

        netuid (int)

        Return type:
        -

        str

        +

        str

        -netuid: int = 0#
        +netuid: int = 0#
        -rao: int#
        +rao: int#
        -rao_unit: str#
        +rao_unit: str#
        @@ -595,7 +601,7 @@

        Module Contentsset_unit(netuid)[source]#
        Parameters:
        -

        netuid (int)

        +

        netuid (int)

        @@ -607,7 +613,7 @@

        Module Contents
        -unit: str#
        +unit: str#
        @@ -622,7 +628,7 @@

        Module Contents
        -bits: int#
        +bits: int#
        @@ -634,7 +640,7 @@

        Module Contents
        Parameters:
        -

        amount (Union[float, int, Optional[Balance]])

        +

        amount (Union[float, int, Optional[Balance]])

        Return type:

        Balance

        @@ -649,12 +655,12 @@

        Module ContentsParameters:
        Return type:
        -

        float

        +

        float

        @@ -666,8 +672,8 @@

        Module Contents
        Parameters:
        Return type:
        @@ -683,8 +689,8 @@

        Module Contents
        Parameters:
        Return type:
        diff --git a/static/python-api/html/autoapi/bittensor/utils/btlogging/console/index.html b/static/python-api/html/autoapi/bittensor/utils/btlogging/console/index.html index 6568f77bf6..9eaca212ca 100644 --- a/static/python-api/html/autoapi/bittensor/utils/btlogging/console/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/btlogging/console/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2054. +
    2055. bittensor.extras
      +
    2056. bittensor.utils
    2057. +
    2058. bittensor.extras
      +
    2059. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/utils/btlogging/format/index.html b/static/python-api/html/autoapi/bittensor/utils/btlogging/format/index.html index c6bc7fd224..1bb6426c6f 100644 --- a/static/python-api/html/autoapi/bittensor/utils/btlogging/format/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/btlogging/format/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2060. +
    2061. bittensor.extras
      +
    2062. bittensor.utils
    2063. +
    2064. bittensor.extras
      +
    2065. bittensor.utils
    2066. +
    2067. bittensor.extras
      +
    2068. bittensor.utils
      diff --git a/static/python-api/html/autoapi/bittensor/utils/btlogging/levels/index.html b/static/python-api/html/autoapi/bittensor/utils/btlogging/levels/index.html new file mode 100644 index 0000000000..dcd471d0a8 --- /dev/null +++ b/static/python-api/html/autoapi/bittensor/utils/btlogging/levels/index.html @@ -0,0 +1,604 @@ + + + + + + + + + + + bittensor.utils.btlogging.levels — Bittensor SDK Docs documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + +
      + +
      + + + + + +
      +
      + + + + + + +
      + + + +
      + +
      +
      + +
      +
      + +
      + +
      + +
      + + +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      +
      + + + +
      +

      bittensor.utils.btlogging.levels

      + +
      +
      + +
      +

      Contents

      +
      + +
      +
      +
      + + + + +
      + +
      +

      bittensor.utils.btlogging.levels#

      +
      +

      Functions#

      +
      + + + + + + + + + + + + + + +

      debug([on])

      Enables or disables debug logging.

      info([on])

      Enables or disables info logging.

      trace([on])

      Enables or disables trace logging.

      warning([on])

      Enables or disables warning logging.

      +
      +
      +
      +

      Module Contents#

      +
      +
      +bittensor.utils.btlogging.levels.debug(on=True)#
      +

      Enables or disables debug logging.

      +
      +
      Parameters:
      +

      on (bool) – If True, enables debug logging. If False, disables debug logging.

      +
      +
      +
      + +
      +
      +bittensor.utils.btlogging.levels.info(on=True)#
      +

      Enables or disables info logging.

      +
      +
      Parameters:
      +

      on (bool) – If True, enables info logging. If False, disables info logging and sets default (WARNING) level.

      +
      +
      +
      + +
      +
      +bittensor.utils.btlogging.levels.trace(on=True)#
      +

      Enables or disables trace logging.

      +
      +
      Parameters:
      +

      on (bool) – If True, enables trace logging. If False, disables trace logging.

      +
      +
      +
      + +
      +
      +bittensor.utils.btlogging.levels.warning(on=True)#
      +

      Enables or disables warning logging.

      +
      +
      Parameters:
      +

      on (bool) – If True, enables warning logging. If False, disables warning logging and sets default (WARNING) level.

      +
      +
      +
      + +
      +
      + + +
      + + + + + + + + +
      + + + + +
      + + +
      +
      + + +
      + + +
      +
      +
      + + + + + +
      +
      + + \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/utils/btlogging/loggingmachine/index.html b/static/python-api/html/autoapi/bittensor/utils/btlogging/loggingmachine/index.html index 6b44fa0acd..cbe5d83988 100644 --- a/static/python-api/html/autoapi/bittensor/utils/btlogging/loggingmachine/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/btlogging/loggingmachine/index.html @@ -49,7 +49,7 @@ - + @@ -169,6 +169,12 @@
    2069. bittensor.core.types
    2070. +
    2071. bittensor.extras
      +
    2072. bittensor.utils
    2073. +
    2074. bittensor.extras
      +
    2075. bittensor.utils
    2076. +
    2077. bittensor.extras
      +
    2078. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -444,7 +450,7 @@

        Module Contents
        Parameters:
        -

        n (int)

        +

        n (int)

        diff --git a/static/python-api/html/autoapi/bittensor/utils/index.html b/static/python-api/html/autoapi/bittensor/utils/index.html index 76c656f47e..f7543e3aa3 100644 --- a/static/python-api/html/autoapi/bittensor/utils/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/index.html @@ -49,7 +49,7 @@ - + @@ -169,6 +169,12 @@
      • bittensor.core.types
    2079. +
    2080. bittensor.extras
      +
    2081. bittensor.utils
    2082. +
    2083. bittensor.extras
      +
    2084. bittensor.utils
    2085. +
    2086. bittensor.extras
      +
    2087. bittensor.utils
    2088. +
    2089. bittensor.extras
      +
    2090. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -438,24 +444,24 @@

        Module Contents
        • subtensor (bittensor.core.async_subtensor.AsyncSubtensor) – The subtensor instance.

        • wallet (bittensor_wallet.Wallet) – The wallet to create a proof of work for.

        • -
        • netuid (int) – The netuid for the subnet to create a proof of work for.

        • -
        • output_in_place (bool) – If true, prints the progress of the proof of work to the console in-place. Meaning the +

        • netuid (int) – The netuid for the subnet to create a proof of work for.

        • +
        • output_in_place (bool) – If true, prints the progress of the proof of work to the console in-place. Meaning the progress is printed on the same lines.

        • -
        • cuda (bool) – If true, uses CUDA to solve the proof of work.

        • -
        • dev_id (Union[list[int], int]) – The CUDA device id(s) to use. If cuda is true and dev_id is a list, then +

        • cuda (bool) – If true, uses CUDA to solve the proof of work.

        • +
        • dev_id (Union[list[int], int]) – The CUDA device id(s) to use. If cuda is true and dev_id is a list, then multiple CUDA devices will be used to solve the proof of work.

        • -
        • tpb (int) – The number of threads per block to use when solving the proof of work. Should be a multiple of 32.

        • -
        • num_processes (int) – The number of processes to use when solving the proof of work. If None, then the number of +

        • tpb (int) – The number of threads per block to use when solving the proof of work. Should be a multiple of 32.

        • +
        • num_processes (int) – The number of processes to use when solving the proof of work. If None, then the number of processes is equal to the number of CPU cores.

        • -
        • update_interval (int) – The number of nonces to run before checking for a new block.

        • -
        • log_verbose (bool) – If true, prints the progress of the proof of work more verbosely.

        • +
        • update_interval (int) – The number of nonces to run before checking for a new block.

        • +
        • log_verbose (bool) – If true, prints the progress of the proof of work more verbosely.

        Returns:

        The proof of work solution or None if the wallet is already registered or there is a different error.

        Raises:
        -

        ValueError – If the subnet does not exist.

        +

        ValueError – If the subnet does not exist.

        Return type:

        bittensor.utils.registration.POWSolution

        diff --git a/static/python-api/html/autoapi/bittensor/utils/registration/index.html b/static/python-api/html/autoapi/bittensor/utils/registration/index.html index b22945bf0e..95b8a70482 100644 --- a/static/python-api/html/autoapi/bittensor/utils/registration/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/registration/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2091. +
    2092. bittensor.extras
      +
    2093. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/utils/registration/pow/index.html b/static/python-api/html/autoapi/bittensor/utils/registration/pow/index.html index 040fc511db..d6404bfe1c 100644 --- a/static/python-api/html/autoapi/bittensor/utils/registration/pow/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/registration/pow/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2094. +
    2095. bittensor.extras
      +
    2096. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -563,13 +569,13 @@

        Module Contents
        Parameters:
          -
        • proc_num (int) – The number of the process being created.

        • -
        • num_proc (int) – The total number of processes running.

        • -
        • update_interval (int) – The number of nonces to try to solve before checking for a new block.

        • -
        • finished_queue (multiprocessing.Queue) – The queue to put the process number when a process finishes each +

        • proc_num (int) – The number of the process being created.

        • +
        • num_proc (int) – The total number of processes running.

        • +
        • update_interval (int) – The number of nonces to try to solve before checking for a new block.

        • +
        • finished_queue (multiprocessing.Queue) – The queue to put the process number when a process finishes each update_interval. Used for calculating the average time per update_interval across all processes.

        • -
        • solution_queue (multiprocessing.Queue) – The queue to put the solution the process has found during the pow solve.

        • -
        • stopEvent (multiprocessing.Event) – The event to set by the main process when all the solver processes should +

        • solution_queue (multiprocessing.Queue) – The queue to put the solution the process has found during the pow solve.

        • +
        • stopEvent (multiprocessing.Event) – The event to set by the main process when all the solver processes should stop. The solver process will check for the event after each update_interval. The solver process will stop when the event is set. Used to stop the solver processes when a solution is found.

        • curr_block (multiprocessing.Array) – The array containing this process’s current block hash. The main process @@ -581,17 +587,17 @@

          Module Contentsmultiprocessing.Lock) – The lock to prevent this process from getting the new block data while the +
        • check_block (multiprocessing.Lock) – The lock to prevent this process from getting the new block data while the main process is updating the data.

        • -
        • limit (int) – The limit of the pow solve for a valid solution.

        • -
        • dev_id (int)

        • -
        • tpb (int)

        • +
        • limit (int) – The limit of the pow solve for a valid solution.

        • +
        • dev_id (int)

        • +
        • tpb (int)

        -dev_id: int#
        +dev_id: int#
        @@ -602,7 +608,7 @@

        Module Contents
        -tpb: int#
        +tpb: int#

        @@ -615,7 +621,7 @@

        Module Contentsstatic log(text)[source]#
        Parameters:
        -

        text (str)

        +

        text (str)

        @@ -625,7 +631,7 @@

        Module Contentsstatic status(status)[source]#
        Parameters:
        -

        status (str)

        +

        status (str)

        @@ -644,12 +650,12 @@

        Module Contents
        -block_number: int#
        +block_number: int#
        -difficulty: int#
        +difficulty: int#
        @@ -662,7 +668,7 @@

        Module Contents

        subtensor (bittensor.core.subtensor.Subtensor)

        Return type:
        -

        bool

        +

        bool

        @@ -677,19 +683,19 @@

        Module Contents

        subtensor (bittensor.core.async_subtensor.AsyncSubtensor)

        Return type:
        -

        bool

        +

        bool

        -nonce: int#
        +nonce: int#
        -seal: bytes#
        +seal: bytes#
        @@ -700,47 +706,47 @@

        Module Contents
        -block_hash: str#
        +block_hash: str#
        -block_number: int#
        +block_number: int#
        -difficulty: int#
        +difficulty: int#
        -hash_rate: float#
        +hash_rate: float#
        -hash_rate_perpetual: float#
        +hash_rate_perpetual: float#
        -rounds_total: int#
        +rounds_total: int#
        -time_average: float#
        +time_average: float#
        -time_spent: float#
        +time_spent: float#
        -time_spent_total: float#
        +time_spent_total: float#
        @@ -753,7 +759,7 @@

        Module ContentsParameters:
        @@ -770,11 +776,11 @@

        Module ContentsParameters:
        Return type:
        -

        str

        +

        str

        @@ -791,7 +797,7 @@

        Module Contents
        -status: Status | None#
        +status: Status | None#
        @@ -811,7 +817,7 @@

        Module ContentsParameters:
        Return type:
        @@ -830,13 +836,13 @@

        Module Contents
        Parameters:
          -
        • proc_num (int) – The number of the process being created.

        • -
        • num_proc (int) – The total number of processes running.

        • -
        • update_interval (int) – The number of nonces to try to solve before checking for a new block.

        • -
        • finished_queue (multiprocessing.Queue) – The queue to put the process number when a process finishes each +

        • proc_num (int) – The number of the process being created.

        • +
        • num_proc (int) – The total number of processes running.

        • +
        • update_interval (int) – The number of nonces to try to solve before checking for a new block.

        • +
        • finished_queue (multiprocessing.Queue) – The queue to put the process number when a process finishes each update_interval. Used for calculating the average time per update_interval across all processes.

        • -
        • solution_queue (multiprocessing.Queue) – The queue to put the solution the process has found during the pow solve.

        • -
        • stopEvent (multiprocessing.Event) – The event to set by the main process when all the solver processes should +

        • solution_queue (multiprocessing.Queue) – The queue to put the solution the process has found during the pow solve.

        • +
        • stopEvent (multiprocessing.Event) – The event to set by the main process when all the solver processes should stop. The solver process will check for the event after each update_interval. The solver process will stop when the event is set. Used to stop the solver processes when a solution is found.

        • curr_block (multiprocessing.Array) – The array containing this process’s current block hash. The main process @@ -848,9 +854,9 @@

          Module Contentsmultiprocessing.Lock) – The lock to prevent this process from getting the new block data while the +
        • check_block (multiprocessing.Lock) – The lock to prevent this process from getting the new block data while the main process is updating the data.

        • -
        • limit (int) – The limit of the pow solve for a valid solution.

        • +
        • limit (int) – The limit of the pow solve for a valid solution.

        @@ -867,7 +873,7 @@

        Module Contentsclass bittensor.utils.registration.pow.Status(status)[source]#
        Parameters:
        -

        status (str)

        +

        status (str)

        @@ -885,7 +891,7 @@

        Module Contentsupdate(status)[source]#
        Parameters:
        -

        status (str)

        +

        status (str)

        @@ -897,7 +903,7 @@

        Module Contentsclass bittensor.utils.registration.pow.UsingSpawnStartMethod(force=False)[source]#
        Parameters:
        -

        force (bool)

        +

        force (bool)

        @@ -911,18 +917,18 @@

        Module Contents
        • subtensor (bittensor.core.subtensor.Subtensor) – The subtensor to create a proof of work for.

        • wallet (bittensor_wallet.Wallet) – The wallet to create a proof of work for.

        • -
        • netuid (int) – The netuid for the subnet to create a proof of work for.

        • -
        • output_in_place (bool) – If true, prints the progress of the proof of work to the console in-place. Meaning the +

        • netuid (int) – The netuid for the subnet to create a proof of work for.

        • +
        • output_in_place (bool) – If true, prints the progress of the proof of work to the console in-place. Meaning the progress is printed on the same lines. Default is True.

        • -
        • cuda (bool) – If true, uses CUDA to solve the proof of work. Default is False.

        • -
        • dev_id (Union[List[int], int]) – The CUDA device id(s) to use. If cuda is true and dev_id is a list, then +

        • cuda (bool) – If true, uses CUDA to solve the proof of work. Default is False.

        • +
        • dev_id (Union[List[int], int]) – The CUDA device id(s) to use. If cuda is true and dev_id is a list, then multiple CUDA devices will be used to solve the proof of work. Default is 0.

        • -
        • tpb (int) – The number of threads per block to use when solving the proof of work. Should be a multiple of 32. +

        • tpb (int) – The number of threads per block to use when solving the proof of work. Should be a multiple of 32. Default is 256.

        • -
        • num_processes (Optional[int]) – The number of processes to use when solving the proof of work. If None, then the +

        • num_processes (Optional[int]) – The number of processes to use when solving the proof of work. If None, then the number of processes is equal to the number of CPU cores. Default is None.

        • -
        • update_interval (Optional[int]) – The number of nonces to run before checking for a new block. Default is None.

        • -
        • log_verbose (bool) – If true, prints the progress of the proof of work more verbosely. Default is False.

        • +
        • update_interval (Optional[int]) – The number of nonces to run before checking for a new block. Default is None.

        • +
        • log_verbose (bool) – If true, prints the progress of the proof of work more verbosely. Default is False.

        Returns:
        @@ -933,10 +939,10 @@

        Module ContentsReturn type: -

        Optional[Dict[str, Any]]

        +

        Optional[Dict[str, Any]]

        Raises:
        -

        ValueError – If the subnet does not exist.

        +

        ValueError – If the subnet does not exist.

        @@ -947,7 +953,7 @@

        Module Contents
        Return type:
        -

        int

        +

        int

        @@ -979,7 +985,7 @@

        Module Contentsbittensor.utils.registration.pow.terminate_workers_and_wait_for_exit(workers)[source]#
        Parameters:
        -

        workers (list[Union[multiprocessing.Process, multiprocessing.queues.Queue]])

        +

        workers (list[Union[multiprocessing.Process, multiprocessing.queues.Queue]])

        Return type:

        None

        @@ -1004,11 +1010,11 @@

        Module Contentsint) – The block number to set as the current block number.

        -
      • block_bytes (bytes) – The block data bytes to be hashed with the hotkey.

      • -
      • diff (int) – The difficulty value to be packed into the current difficulty array.

      • -
      • hotkey_bytes (bytes) – The hotkey bytes used for hashing the block.

      • -
      • lock (multiprocessing.Lock) – A lock to ensure thread-safe updates.

      • +
      • block_number (int) – The block number to set as the current block number.

      • +
      • block_bytes (bytes) – The block data bytes to be hashed with the hotkey.

      • +
      • diff (int) – The difficulty value to be packed into the current difficulty array.

      • +
      • hotkey_bytes (bytes) – The hotkey bytes used for hashing the block.

      • +
      • lock (multiprocessing.Lock) – A lock to ensure thread-safe updates.

      @@ -1020,7 +1026,7 @@

      Module Contents
      Return type:
      -

      bool

      +

      bool

      diff --git a/static/python-api/html/autoapi/bittensor/utils/registration/register_cuda/index.html b/static/python-api/html/autoapi/bittensor/utils/registration/register_cuda/index.html index 1d26fa30ca..c5773f9133 100644 --- a/static/python-api/html/autoapi/bittensor/utils/registration/register_cuda/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/registration/register_cuda/index.html @@ -169,6 +169,12 @@
    2097. bittensor.core.types
    2098. +
    2099. bittensor.extras
      +
    2100. bittensor.utils
    2101. +
    2102. bittensor.extras
      +
    2103. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -438,7 +444,7 @@

        Module Contents
        class bittensor.utils.subnets.SubnetsAPI(wallet)[source]#
        -

        Bases: abc.ABC

        +

        Bases: abc.ABC

        This class is not used within the bittensor package, but is actively used by the community.

        Parameters:
        @@ -467,7 +473,7 @@

        Module Contents
        Parameters:
        -

        responses (list[Union[bittensor.core.synapse.Synapse, Any]])

        +

        responses (list[Union[bittensor.core.synapse.Synapse, Any]])

        Return type:

        Any

        @@ -482,9 +488,9 @@

        Module Contents
        Parameters:
          -
        • axons (Union[bt.axon, list[bt.axon]]) – The list of axon(s) to query.

        • -
        • deserialize (Optional[bool]) – Whether to deserialize the responses. Defaults to False.

        • -
        • timeout (Optional[int]) – The timeout in seconds for the query. Defaults to 12.

        • +
        • axons (Union[bt.axon, list[bt.axon]]) – The list of axon(s) to query.

        • +
        • deserialize (Optional[bool]) – Whether to deserialize the responses. Defaults to False.

        • +
        • timeout (Optional[int]) – The timeout in seconds for the query. Defaults to 12.

        • **kwargs – Keyword arguments for the prepare_synapse_fn.

        diff --git a/static/python-api/html/autoapi/bittensor/utils/substrate_utils/hasher/index.html b/static/python-api/html/autoapi/bittensor/utils/substrate_utils/hasher/index.html index a9ac9fa1a7..913ef549d6 100644 --- a/static/python-api/html/autoapi/bittensor/utils/substrate_utils/hasher/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/substrate_utils/hasher/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2104. +
    2105. bittensor.extras
      +
    2106. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/utils/substrate_utils/index.html b/static/python-api/html/autoapi/bittensor/utils/substrate_utils/index.html index 27ad4a6416..64370aa236 100644 --- a/static/python-api/html/autoapi/bittensor/utils/substrate_utils/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/substrate_utils/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2107. +
    2108. bittensor.extras
      +
    2109. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • diff --git a/static/python-api/html/autoapi/bittensor/utils/substrate_utils/storage/index.html b/static/python-api/html/autoapi/bittensor/utils/substrate_utils/storage/index.html index efaec07d95..54073b9652 100644 --- a/static/python-api/html/autoapi/bittensor/utils/substrate_utils/storage/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/substrate_utils/storage/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2110. +
    2111. bittensor.extras
      +
    2112. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -454,11 +460,11 @@

        Module Contents
        Parameters:
          -
        • pallet (Optional[str])

        • -
        • storage_function (Optional[str])

        • -
        • params (Optional[list])

        • -
        • data (Optional[bytes])

        • -
        • value_scale_type (Optional[str])

        • +
        • pallet (Optional[str])

        • +
        • storage_function (Optional[str])

        • +
        • params (Optional[list])

        • +
        • data (Optional[bytes])

        • +
        • value_scale_type (Optional[str])

        • metadata (scalecodec.GenericMetadataVersioned)

        • runtime_config (scalecodec.base.RuntimeConfigurationObject)

        @@ -470,7 +476,7 @@

        Module Contents
        Parameters:
        @@ -484,12 +490,12 @@

        Module Contents
        Parameters:
          -
        • data (bytes) – bytes representation of the storage key

        • +
        • data (bytes) – bytes representation of the storage key

        • runtime_config (scalecodec.base.RuntimeConfigurationObject) – RuntimeConfigurationObject

        • metadata (scalecodec.GenericMetadataVersioned) – GenericMetadataVersioned

        • -
        • value_scale_type (str) – type string of to decode result data

        • -
        • pallet (str) – name of pallet

        • -
        • storage_function (str) – name of storage function

        • +
        • value_scale_type (str) – type string of to decode result data

        • +
        • pallet (str) – name of pallet

        • +
        • storage_function (str) – name of storage function

        Returns:
        @@ -508,9 +514,9 @@

        Module Contents
        Parameters:
          -
        • pallet (str) – name of pallet

        • -
        • storage_function (str) – name of storage function

        • -
        • params (list) – Optional list of parameters in case of a Mapped storage function

        • +
        • pallet (str) – name of pallet

        • +
        • storage_function (str) – name of storage function

        • +
        • params (list) – Optional list of parameters in case of a Mapped storage function

        • runtime_config (scalecodec.base.RuntimeConfigurationObject) – RuntimeConfigurationObject

        • metadata (scalecodec.GenericMetadataVersioned) – GenericMetadataVersioned

        @@ -548,7 +554,7 @@

        Module Contents
        Return type:
        -

        bytes

        +

        bytes

        @@ -597,7 +603,7 @@

        Module Contents

        Hex string

        Return type:
        -

        Optional[str]

        +

        Optional[str]

        diff --git a/static/python-api/html/autoapi/bittensor/utils/version/index.html b/static/python-api/html/autoapi/bittensor/utils/version/index.html index 7229d3ec75..fe4882c0ea 100644 --- a/static/python-api/html/autoapi/bittensor/utils/version/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/version/index.html @@ -169,6 +169,12 @@
      • bittensor.core.types
    2113. +
    2114. bittensor.extras
      +
    2115. bittensor.utils
      • bittensor.utils.axon_utils
      • bittensor.utils.balance
      • @@ -474,7 +480,7 @@

        Module Contents
        exception bittensor.utils.version.VersionCheckError#
        -

        Bases: Exception

        +

        Bases: Exception

        Exception raised for errors in the version check process.

        Initialize self. See help(type(self)) for accurate signature.

        @@ -492,7 +498,7 @@

        Module Contents
        Parameters:
        -

        timeout (int) – The timeout for the request to PyPI in seconds. Default is 15.

        +

        timeout (int) – The timeout for the request to PyPI in seconds. Default is 15.

        @@ -503,13 +509,13 @@

        Module Contents
        Parameters:
        -

        timeout (int) – The timeout for the request to PyPI in seconds. Default is 15.

        +

        timeout (int) – The timeout for the request to PyPI in seconds. Default is 15.

        Returns:

        The latest version of Bittensor.

        Return type:
        -

        str

        +

        str

        @@ -520,7 +526,7 @@

        Module Contents
        Parameters:
        -

        timeout (int) – The timeout for calling :func:check_version function. Default is 15.

        +

        timeout (int) – The timeout for calling :func:check_version function. Default is 15.

        diff --git a/static/python-api/html/autoapi/bittensor/utils/weight_utils/index.html b/static/python-api/html/autoapi/bittensor/utils/weight_utils/index.html index bb37777b28..bd78364a89 100644 --- a/static/python-api/html/autoapi/bittensor/utils/weight_utils/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/weight_utils/index.html @@ -168,6 +168,12 @@
      • bittensor.core.types
    2116. +
    2117. bittensor.extras
      +
    2118. bittensor.utils
    2119. +
    2120. bittensor.extras
      +
    2121. bittensor.utils
    2122. bittensor.core.metagraph
    2123. @@ -496,6 +523,35 @@

      API Referencebittensor.core.types +
    2124. bittensor.extras +
    2125. bittensor.utils
    2126. diff --git a/static/python-api/html/genindex.html b/static/python-api/html/genindex.html index 5ad1392fe4..8bbe106cf5 100644 --- a/static/python-api/html/genindex.html +++ b/static/python-api/html/genindex.html @@ -168,6 +168,12 @@
    2127. bittensor.core.types
    2128. +
    2129. bittensor.extras
      +
    2130. bittensor.utils
    2131. +
    2132. call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE attribute) + +
    2133. +
    2134. CALL_RECORD (class in bittensor.extras.dev_framework.subnet) +
    2135. call_stream() (bittensor.core.dendrite.Dendrite method)
    2136. +
    2137. calls (bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH attribute) + +
    2138. +
    2139. CANCEL (class in bittensor.extras.dev_framework.calls.non_sudo_calls) +
    2140. +
    2141. CANCEL_AS_MULTI (class in bittensor.extras.dev_framework.calls.non_sudo_calls) +
    2142. +
    2143. CANCEL_NAMED (class in bittensor.extras.dev_framework.calls.non_sudo_calls) +
    2144. +
    2145. CANCEL_RETRY (class in bittensor.extras.dev_framework.calls.non_sudo_calls) +
    2146. +
    2147. CANCEL_RETRY_NAMED (class in bittensor.extras.dev_framework.calls.non_sudo_calls) +
    2148. +
    2149. cap (bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE attribute) +
    2150. cast_dtype() (in module bittensor.core.tensor)
    2151. cast_float() (in module bittensor.core.synapse) @@ -1651,21 +2254,37 @@

      C

    2152. cast_shape() (in module bittensor.core.tensor)
    2153. certificate (bittensor.core.types.AxonServeCallParams attribute) + +
    2154. Certificate (class in bittensor.utils)
    2155. chain (bittensor.core.subtensor_api.SubtensorApi property) + +
    2156. Chain (class in bittensor.core.subtensor_api.chain) + +
    2157. chain_endpoint (bittensor.core.metagraph.MetagraphMixin attribute)
    2158. +
    2159. chain_id (bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID attribute) +
    2160. ChainConnectionError
    2161. ChainDataType (class in bittensor.core.chain_data.utils) @@ -1681,6 +2300,8 @@

      C

    2162. ChainQueryError
    2163. ChainTransactionError +
    2164. +
    2165. CHANGE_KEY (class in bittensor.extras.dev_framework.calls.non_sudo_calls), [1]
    2166. check_and_convert_to_balance() (in module bittensor.utils.balance)
    2167. @@ -1695,8 +2316,22 @@

      C

    2168. check_version (in module bittensor.utils)
    2169. check_version() (in module bittensor.utils.version) +
    2170. +
    2171. children (bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN attribute) +
    2172. +
    2173. ChildrenParams (class in bittensor.core.extrinsics.params.children) +
    2174. +
    2175. CLEAR_IDENTITY (class in bittensor.extras.dev_framework.calls.non_sudo_calls) +
    2176. +
    2177. CLEAR_PRIME (class in bittensor.extras.dev_framework.calls.non_sudo_calls), [1]
    2178. close (bittensor.core.subtensor_api.SubtensorApi attribute) + +
    2179. +
    2180. CLOSE (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
    2181. close() (bittensor.core.async_subtensor.AsyncSubtensor method) @@ -1708,6 +2343,20 @@

      C

    2182. +
    2183. code (bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE attribute) + +
    2184. +
    2185. code_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE attribute) + +
    2186. coldkey (bittensor.core.chain_data.axon_info.AxonInfo attribute) @@ -1718,6 +2367,10 @@

      C

    2187. (bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite attribute)
    2188. (bittensor.core.types.AxonServeCallParams attribute) +
    2189. +
    2190. (bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK attribute) +
    2191. +
    2192. (bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER attribute)
    2193. coldkey_ss58 (bittensor.core.chain_data.stake_info.StakeInfo attribute) @@ -1734,20 +2387,54 @@

      C

    2194. color_map (in module bittensor.utils.btlogging.format)
    2195. +
    2196. commit (bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS attribute) + +
    2197. commit() (bittensor.core.async_subtensor.AsyncSubtensor method)
    2198. -
    2199. commit_block (bittensor.core.chain_data.weight_commit_info.WeightCommitInfo attribute) + +
    2200. - - +
    2201. config_payload (bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG attribute) +
    2202. connection_requirements (bittensor.core.chain_data.subnet_info.SubnetInfo attribute)
    2203. consensus (bittensor.core.chain_data.metagraph_info.MetagraphInfo attribute) @@ -1847,10 +2582,14 @@

      C

    2204. Console (class in bittensor.utils.registration.pow) +
    2205. +
    2206. CONTRIBUTE (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
    2207. convert_and_normalize_weights_and_uids() (in module bittensor.utils.weight_utils)
    2208. convert_bond_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils) +
    2209. +
    2210. convert_maybe_split_to_u16() (in module bittensor.utils.weight_utils)
    2211. convert_root_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)
    2212. @@ -1861,8 +2600,14 @@

      C

    2213. convert_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)
    2214. convert_weights_and_uids_for_emit() (in module bittensor.utils.weight_utils) +
    2215. +
    2216. cooldown (bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN attribute)
    2217. copy() (bittensor.core.types.AxonServeCallParams method) +
    2218. +
    2219. CREATE (class in bittensor.extras.dev_framework.calls.non_sudo_calls), [1] +
    2220. +
    2221. CREATE2 (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
    2222. create_error_response() (in module bittensor.core.axon)
    2223. @@ -1873,6 +2618,8 @@

      C

    2224. create_pow() (in module bittensor.utils.registration.pow)
    2225. create_pow_async() (in module bittensor.utils.registration.async_pow) +
    2226. +
    2227. CREATE_PURE (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
    2228. create_streaming_response() (bittensor.core.stream.StreamingSynapse method)
    2229. @@ -1880,6 +2627,26 @@

      C

      +
    2230. Crowdloan (in module bittensor.extras.dev_framework.calls.pallets) +
    2231. +
    2232. crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE attribute) + +
    2233. CUDASolver (class in bittensor.utils.registration.pow) @@ -1906,6 +2673,8 @@

      D

    2234. decrypt() (in module bittensor.core.timelock) + +
    2235. Default (bittensor.utils.btlogging.loggingmachine.LoggingMachine attribute)
    2236. default() (bittensor.core.config.DefaultConfig class method) @@ -1949,6 +2724,8 @@

      D

    2237. DEFAULT_MAX_ROTATING_LOG_FILE_SIZE (in module bittensor.utils.btlogging.defines)
    2238. DEFAULT_NETWORK (in module bittensor.core.settings) +
    2239. +
    2240. default_take (bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE attribute)
    2241. DEFAULT_TRACE_FORMAT (in module bittensor.utils.btlogging.format)
    2242. @@ -1958,6 +2735,26 @@

      D

    2243. DEFAULTS (in module bittensor.core.settings)
    2244. +
    2245. delay (bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY attribute) + +
    2246. +
    2247. delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY attribute) + +
    2248. delegate_ss58 (bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite attribute)
    2249. DelegatedInfo (bittensor.core.chain_data.utils.ChainDataType attribute) @@ -1977,14 +2774,24 @@

      D

    2250. DelegateInfoLite (class in bittensor.core.chain_data.delegate_info_lite)
    2251. delegates (bittensor.core.subtensor_api.SubtensorApi property) + +
    2252. Delegates (class in bittensor.core.subtensor_api.delegates) + +
    2253. DelegateTakeTooHigh
    2254. DelegateTakeTooLow
    2255. DelegateTxRateLimitExceeded +
    2256. +
    2257. delta (bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE attribute)
    2258. dendrite (bittensor.core.synapse.Synapse attribute) @@ -2001,27 +2808,67 @@

      D

    2259. DENDRITE_ERROR_MAPPING (in module bittensor.core.dendrite)
    2260. DendriteMixin (class in bittensor.core.dendrite) +
    2261. +
    2262. deposit (bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE attribute)
    2263. deprecated_message() (in module bittensor.utils)
    2264. - - +
    2265. does_hotkey_exist (bittensor.core.subtensor_api.wallets.Wallets attribute) + +
    2266. does_hotkey_exist() (bittensor.core.async_subtensor.AsyncSubtensor method)
        @@ -2115,6 +2990,8 @@

        D

    2267. drain (bittensor.core.chain_data.stake_info.StakeInfo attribute) +
    2268. +
    2269. Drand (in module bittensor.extras.dev_framework.calls.pallets)
    2270. dtype (bittensor.core.tensor.Tensor attribute)
    2271. @@ -2124,6 +3001,14 @@

      D

    2272. DuplicateChild
    2273. +
    2274. duration (bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE attribute) + +
    2275. DynamicInfo (bittensor.core.chain_data.utils.ChainDataType attribute)
    2276. NANOSECONDS_IN_SECOND (in module bittensor.utils.axon_utils) @@ -3938,54 +5751,238 @@

      N

    2277. (bittensor.core.types.PrometheusServeCallParams attribute)
    2278. -
    2279. (bittensor.utils.balance.Balance attribute) +
    2280. (bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY attribute)
    2281. -
    2282. (bittensor.utils.liquidity.LiquidityPosition attribute) +
    2283. (bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE attribute)
    2284. - -
    2285. network (bittensor.core.metagraph.MetagraphMixin attribute) - -
    2286. -
    2287. NETWORK_EXPLORER_MAP (in module bittensor.core.settings) +
    2288. (bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS attribute)
    2289. -
    2290. NETWORK_MAP (in module bittensor.core.settings) +
    2291. (bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA attribute)
    2292. -
    2293. network_registered_at (bittensor.core.chain_data.dynamic_info.DynamicInfo attribute) - -
    2294. -
    2295. NetworkRegisteredAt (bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex attribute) +
    2296. (bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS attribute)
    2297. -
    2298. NETWORKS (in module bittensor.core.settings) +
    2299. (bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS attribute)
    2300. - - +
    2301. Neurons (class in bittensor.core.subtensor_api.neurons) + +
    2302. neurons() (bittensor.core.async_subtensor.AsyncSubtensor method)
        @@ -4006,14 +6011,50 @@

        N

    2303. neurons_lite (bittensor.core.subtensor_api.neurons.Neurons attribute) + +
    2304. neurons_lite() (bittensor.core.async_subtensor.AsyncSubtensor method)
    2305. +
    2306. new (bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY attribute), [1] + +
    2307. +
    2308. new_authorities (bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES attribute) +
    2309. +
    2310. new_cap (bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP attribute) +
    2311. new_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo attribute) + +
    2312. +
    2313. new_end (bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END attribute) +
    2314. +
    2315. new_free (bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE attribute) +
    2316. +
    2317. new_hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY attribute) +
    2318. +
    2319. new_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE attribute) +
    2320. +
    2321. new_members (bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS attribute) +
    2322. +
    2323. new_min_contribution (bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION attribute) +
    2324. +
    2325. next_authorities (bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE attribute)
    2326. NominationError
    2327. @@ -4028,6 +6069,16 @@

      N

    2328. nonce (bittensor.core.synapse.TerminalInfo attribute)
    2329. @@ -4038,12 +6089,18 @@

      N

    2330. normalize_max_weight() (in module bittensor.utils.weight_utils)
    2331. NotDelegateError +
    2332. +
    2333. NOTE_PREIMAGE (class in bittensor.extras.dev_framework.calls.non_sudo_calls) +
    2334. +
    2335. NOTE_STALLED (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
    2336. NotEnoughStakeToSetChildkeys
    2337. NotRegisteredError
    2338. NotVerifiedException +
    2339. +
    2340. now (bittensor.extras.dev_framework.calls.non_sudo_calls.SET attribute)
    2341. NULL_ENTRY (in module bittensor.core.threadpool)
    2342. @@ -4068,8 +6125,46 @@

      O

    2343. off() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method)
    2344. old_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo attribute) + +
    2345. +
    2346. old_count (bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS attribute) +
    2347. +
    2348. oldest_round (bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND attribute)
    2349. on() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method) +
    2350. +
    2351. operation (bittensor.extras.dev_framework.subnet.CALL_RECORD attribute) +
    2352. +
    2353. origin_hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE attribute) +
    2354. +
    2355. origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE attribute) + +
    2356. +
    2357. other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI attribute) + +
    2358. + + - -
      • owner_ss58 (bittensor.core.chain_data.delegate_info.DelegateInfoBase attribute)
          @@ -4107,1530 +6200,3646 @@

          O

          P

          - + +
          +
          + +

          Q

          + + + +
          + +

          R

          + + + +
          + +

          S

          + + + +
          + +

          T

          + + -
          +
        • tempo() (bittensor.core.async_subtensor.AsyncSubtensor method) -

          Q

          - - + - -
          +
        • TotalStake (bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex attribute) +
        • +
        • tpb (bittensor.utils.registration.pow.CUDASolver attribute) +
        • +
        • trace (bittensor.utils.btlogging.format.BtStreamFormatter attribute) -

          R

          - - - +
          + +

          U

          + + -
          +
        • unstake (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) -

          S

          - - + +
          +
        • unstake_multiple() (bittensor.core.async_subtensor.AsyncSubtensor method)
        • -
        • set_children_extrinsic() (in module bittensor.core.extrinsics.asyncex.children) +
        • unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)
        • -
        • set_commitment (bittensor.core.async_subtensor.AsyncSubtensor attribute) +
        • UnstakeError +
        • +
        • UnstakingParams (class in bittensor.core.extrinsics.params.unstaking) +
        • +
        • update() (bittensor.utils.registration.pow.RegistrationStatisticsLogger method)
        • -
        • set_config() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method) +
        • UPDATE_CAP (class in bittensor.extras.dev_framework.calls.non_sudo_calls) +
        • +
        • update_curr_block() (in module bittensor.utils.registration.pow)
        • -
        • set_console() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method) +
        • UPDATE_END (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
        • -
        • set_debug() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method) +
        • UPDATE_MIN_CONTRIBUTION (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
        • -
        • set_default() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method) +
        • UPDATE_SYMBOL (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
        • -
        • set_delegate_take (bittensor.core.subtensor_api.delegates.Delegates attribute) +
        • UPGRADE_ACCOUNTS (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
        • -
        • set_delegate_take() (bittensor.core.async_subtensor.AsyncSubtensor method) +
        • url (bittensor.core.chain_data.chain_identity.ChainIdentity attribute)
        • -
        • set_info() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method) +
        • use_torch (in module bittensor.utils)
        • -
        • set_name_type() (bittensor.core.synapse.Synapse method) +
        • use_torch() (in module bittensor.utils.registration.pow)
        • -
        • set_reveal_commitment (bittensor.core.subtensor_api.commitments.Commitments attribute) +
        • USER_BITTENSOR_DIR (in module bittensor.core.settings)
        • -
        • set_reveal_commitment() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
        • -
        • set_root_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.root) +
        • UsingSpawnStartMethod (class in bittensor.utils.registration.pow) +
        • +
        • Utility (in module bittensor.extras.dev_framework.calls.pallets) +
        • +
        • uuid (bittensor.core.axon.Axon attribute)
        • -
        • set_subnet_identity (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) +
        • -
        • +
        • bittensor.extras
          +
        • bittensor.utils
          • bittensor.utils.axon_utils
          • bittensor.utils.balance
          • diff --git a/static/python-api/html/objects.inv b/static/python-api/html/objects.inv index 705773e2dbc87f3183f4f05649a326d89aba0a92..fb917172942a375d6e945ad7f13e3cccbd855e60 100644 GIT binary patch literal 28187 zcmV)qK$^cJAX9K?X>NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGkHX>@dD zZgX#PAX7w3AVhCta|$CMR%LQ?X>V>iAPOTORA^-&a%F8{X>Md?av*PJAarPHb0B7E zY-J#6b0A}HZE$jBb8}^6Aa!$TZf78RY-wUH3V7PoolBS7IFhLM^(*R}d$-N0a#eL# z-<_AGUm_(+0zo{2iiodwB%}SoPf6q(K=6I`j{!~-?Xq9|(EY)rMsXP7n0CEJxd}>0;9^9F zc}hD0M`nJ01LF{RPO5(lyo7;gp!W}PfISrBEuqaHYnSi(VWPjS-EhArsUfknv0t&{ zBOEv{KK4veykWB48L&4VrsHf+0*o@%Lpvwg>4zYj4RNWt*FVvDAx_XPOn=}b!tYe; zv=iXK4Lyt^CwBJw`+q}xIsg!z>!_!ZpqFE1e5f7D+eJUr7N^MZ=%_@S7~}t7^hT=- z-^_4OXCT+nJr2^u7y}jRY-1l^~p40unHgwVA|68XdwOtAL?!4~O> zu{osNG}wf($w~ckMQRd*HAZxJVRqFCykb>o2)0UadWmSKVoEujT>x|fSC(7^gW|JP^ZYOmgym3dP>P5vIX;52bpk@i{tR{ z6=y1IcEGYzX(y#_SYj9?-`p?*kWK1{oz~K^kr;(&uAdTW9I);_ph-nY>tMS@qJ`Q zdYC%C+1`kqAlXoBWoizk3-_9nh1jl&xs~c6D7-#Hjqw_$7*X@!XqQg*`$NF?_;O3B zUp^I1sBQd@{)Q*ifn*!6dB~p$@x|CL4X?+ zj+>HK{o^z{AMs+gF%XA`K>rx^!!3Hn@kfJkod%uT-xUbrsaPhaD1ezBj%JE*s0IO7Xd0q zL*n;NWKQzgT`vO+`Smh0!sA20R>z1+Gelsn`D5%JT>~v|?7~ec*p!zW<7{#>H@6lW zg{FLqI1E#B*R3+?EXt?|-p!+V*%HVNL!YiS0&_^FdL+Ry9gxm@7#I+3Fqk{Jh@;lM z%t?#~rY5J81B0OwN$o_-low`H1IaeXW0$B^LinAI!XP28evT|?$)(Fr6QZdOm=SHp z5hw}zp?%EaoX?b8WWt`8vW;akd2>jbZ6KNn|25^s6mqo=_v|Y0WwxTtA#hp5 zoHViJ;^Ej^>LdE4H7csTm*wcJ)?3wO*?gRM%h&y#Dvl!F>AF+3Y3jH;>9jAt z?y&oV?OAWgRyw_+YCXJhs8M7mdt`HzUOip7;5eX5Nup$=RMkge zoT?D8$#12VO|PW-Y_la+QhgY|IkAT_V}jCSgcFrw6sgtb;QQ>7K#UV5_3yABNgw#! zVYr0W+7pU#&jGWQZ+iCSrh3aFWUxE zQ)?b>CA}HaP`*;9yBIqjooqs11#=qG1!>HiKcq{|hazr4HgWDXpqJ1)A`+x{8}sfX z2uM++if?p5id7hqS!GuxJM^cDt5t|H^pn>tyIX5AJd#9CD&OU=iHKqx#i3ic5Xyw) zvxY(u@gY!HJ6!=gQGyY*MAX}g!XUv4rO97&e4_sJ=xMUf>@@aPm1iwU`&#R#z8;;( zSn@HlWowb06VP86C(3^q3reNqAt+`Hi8i2J9F@hwar0SF{jW=Q;lXETUnJG?^Q8MY z*Tl&6OunLjpbzL5R%Ld3qIZQZ#Z587aU8}CGr+Nh#wmiu5@%POGgZk&Nt59296Cy? zn62Z-p3 z1n;N~!tt-B8llGU!59Po-j{sYahQfK_cn-h`E-E-!1#9Bu#qmEI+H9Do0cxf|JaDc zlhdtd4*(C;{?t;>ILOg~o;&B9hSWJs>n& zlI{*KKw!w;*#kCWinoGrPXd;! zCF$M|@@a}(AstfWs>J!|B-n8OFa)d29Gv{|Cy-XL^6XELi1K?yMYc3JP$^4WMpsVg z*I$151qv1*{VG)6bBND!QLyHMLe`qb${?6$c)sxR2_wrx452A3gY(4cvb>-RkyX&o zkI1TM4BKe|B{)DXn0mvUzL79hD8Q5E{U~6QHpMDnlR4Qc!IL@dDgcyVxKvQdo{AMP z%ASLkfok zTH_=>i6Ws*F(o)@h*GEP8M8tX^hVNMqmj&UU4O6IXvcvW&?G^{zZpmQVVnTY_}GW+ z^!k(`+$fCjx>-6#cJsfUf7JXWm9KS#5s9*qjKTa)0PDFN1CCi?JYbZX!O$f_HXoQ>7Su@~ zEmx{sJ39I)+eCUPPKrAPp%>*k?*&yQEwMxDR>@sO<^jn95qWZ?=jk0vghVI9`u+`! zo}wa=?Zu*0_tBJ>vnEg7_Y+%Wb`fUbzzw~w#-gv#{t^9s2}GjV`^yvzChsd)Jc78d zxg z5Evez!$h?_Fgs2#EKCj2yHJ3P5|%0@B@`Cql+OX=kwlQ#B%F4tfeYDGSDb7)uUjZs zLcu~xP>NHe1Pl(#t>1j37bIGl!xab4i;rP3GWQcshXx5Pc7Vd;k~Zw5o4qOM86c2uDB+7Bm+pzK&cbJ;SUL*(&4dZC;s zdkUfqDFHR#v*%v{Ig<{sjDFFf(c6S7f z6=;7683-99`^3HiXPmGe%h<6R1NkS@FtB z;d(|bt6>Y@8oS};1PBE$KClGDh-G+!VoGBtfa3ZB?zwmu0wF2#NuE6u1_7*ikQ0_g z=ozA}hDk6`T?q^eKn5KDAsS7u5C+;1&m!vqo!6&Myv^RlE_PRdg**vHwyR<3ldDY) zQG7_C%qZu1DxhIOSyi>a90~|bIQy;&D!Z`WiTRM;3I%Ey-#H+>c(oHDgI z+%U^lK#;+f1u3-i!~zRsBv!!&DEz4)f*ayf0Ky9NsX+l9{!oK{YIx8#7iwq#BW_AM zsG%-3K6rWxFzls3gMEx!K*9%va%NfZKs~uE@L(TXl#p-^FA5^4o6l!>pthi&!u0Ct_dh6LuScE$uR95cfL7~PO@89udN*;9MGo_w{@%wCT^FGo+0XuO!sChM6! zU$4;O)2Ef)EeDk>GVJ3ljZ3Y~XiY|p!4(#3WH!&tO)Qcg$7VOQui{nv#v`M9+V}Y; zrX8EBh^*lr%2=c)96y?kM7qiOXmSVsCfOu_%4M5AvAfAPHF$V&6KrA76}kroyGvI_ zBde~W8BJ(&jq0P({m`3KqjU)&#m!B|WW_F&Pn{%PnY=cAm64r<&azd^$ly8XRXmfs zqt~FurnBH&2V>`;%j_8R$?QoU58}6c55_ipf_59#Yr*nYXR|qZuA*h3 zJJ}i#s@pMh-a&f3lne0OPU+}ckZlgaT(45TX9Cdkpj=o109xa}~;L;+-2Agky6{aG*0>{_h4!MDy0l zWT+mMGK`UAePR}(*PBf;K}27RkjX&(9HtidkN}wMdgh^*i6WMMUM7KH_Fd@+h%OLP zvmCwB5laOT+d`0uVBBK#&wi|i20-5k=lJOhadNhV7K~Z(KC8y8f?7*V3ml>4;{{DG z3>k|_*+f#7mXe`ltn#EI$yoDAhLW=alnfBgtC2$;KiSE87iu#V$JhDRHd#1Cy}AluRUZy(t|{*6LF-Snsu{WS;&DF%>}l z*Qt`JWUX3dWA$DqNd^LDp`@;Fm9c5>#TLWeVX=8uy7OA|ti1J9{df11${Q?wAS}Ve z&8l!n1c?Qu#|Xm#io!UBLnE97v=2}eCUkmw4O5)`RdsErv>mtiw`BH5VzfTEc3sz&QdOS?Mmu$u9IYkFUht zVP-zO@e$8@wi=I{gjhJ^Rt&0*93G>uL6S+TA*p(xhf02BqS71^_9SmNa1 zryW(iMYxF6A{V){XG30~{pDh8FgC~_>S{;>U`fS|_XLB`)eqTjo5*xr73{8jRZ%Ou zTp}>LwhHeq)v8QZ^2eV7%`FSViye_n_R{2wA2~`x5Y~KI0Qo_p>5)K^;!z@&V8S2= za~zEVh@N&y0}$Nn7m}a9u(3NvIF8tpGMILM($yfhR?^)#w^mc!c7D7h>|nI-0?H%n z|1_~)+TM>9o5B@;z)CN1j|YtnfC@cvY=AQ%+kHqE>2$inQGk;KICcN0nhoH_IH4tk zpN7>+Ea!D+gUG$#d)CU{=V?u?puOLO)=De*O0-r+IqybmMHYWaT07=o6idcy)7pXi zyg#iSHlGnhUmewpE8~f3?ZiVc2|b^&)(R`<&1k*IBKh&O63Td2S}$<^F-effWhuS$l_F6sq>m~5-(mb5gCJcvm!&{Hl;=C~s#MfKww<5Wd_d;$POIDMF8k{&t3 zB$M=r+E)XDc68*1@zFTYPV}XD$sDA|Gvty{dS%;^%+k|4l!ehVN0ek5vBXf4A=u3` z81rGTgiEqn#Pah^+_M~@K>C>C9k8WW5T3H$#nzaw2H z#M)5G7aEJ?zZ%A2afDdh{u78AxvZe`dgro=;+4^H_BY)lNp3UshAHn#3f?o)M7I-3 z3aFY*JfXZsGW7ZZ7+i5HH>Pv22d`7b&X&7Vg~5hwxy)1cC8r(AzO}|x<@e0YMcwx* zWyx$3%$Lxod*yo^Z?U4f(~v(EQHRw*YV`p?R=Sy1Uw|tsYer-gbPr#IsLlUsBz!$!Pcf8~}`Q-Ah&1CG<9 zs`e~LPq)y&elidI(PLc&m9xVAt>>;a<5zaN;D=$vl5)g{AmH9z=M7{w3dP zH~-f9=sWHY_80^9?7EraSp8p0yCo)cf6T-5Q@P`Jdl}lL>g+^uT-^q=+21Po1(_K2 zmFN4mxRi6xq;wYYFJ`Qi{){!tOX4W)i!z*N?fk&&FnlcXzp9lo&6BsP67s&J|9{GE zzA-(-UY;67wzNa!6PF4a?})ELfc?%+7Zc*D(e=kL{eq80EFTqNzf;SVDEJ*^P==}z zJPC5|dX>2=>ZIiRx{5lxsD7C{mvd*2RsE2e^FB)1wXQT#IZIJ7tAoq@NTpJWkPKCg zH4pbBa8%mgc^Hh6By0;8-JgWO8sU3ue?JkQ+TZb#0X4+C-Gm$TD zSv>=x@Hc(MG1(BcF5Od@q)+*(OR1QcgfX+kN@axXu~Ayzf?DH^uVkiQ)-C|5>iW72 zIt-q&3k6h17r`&Tvh1f%&vU@V!RMliFy1aF^_*1c3Q{%VfEw9pHp%Su=$Hi>i z=nsiMB;OV&*X?v7z)E}mhB&LXx5TkyARt!5FEjCL%Do+RqMn?X#T%+p*|kD*Ko@#5 zCpczKK#W!N{JO~7sq7bMSxG(zKZ5WrD94tf-|`$JYHWYGOy%2FtG?#kTC2Xd9I9(> z9=O;+N>NHwn&s9;uYlOHcyIYuOuY^kD~2L!!C3^dTR7Lq4e7Fh4j@z&=i4*o#O=t* z5X=8COH_ZgM6~!ODkGurtEokU`*v3 z1t7T2GjIuvqIwm=X2Zc6s3i`r6_NCVID1qocG)y3bjBBO*aho zK2Vm$toAIbS({&CN@TYi?dX+i#HNQME9M z!t4)zN+RDhRh**g5`a)26&3X9rlN}4ALTSk3mPZW!3#xOgccQV3tBk)f7v#$#+jwwf4?dlOA?s>?9aTGJRsp z$P9%9AW(|swP=qN#l?H2sNl5Dm(UU|P<%9ppx^9Vl^1T0s)piE7|AjGtz@D|z;Glw z4Sl$HlcBbW(yEsQwXcFcxnFj(ka1F|vtAlD8rVQhRMhpf8Hj!o5+HFHaNX zZ4|VCbt5Vc4FC}_2gM+cV331waD$$phVG#QvV#}|2zmr9^b1x{7Nj5;oX|8IVof1x z!kWe9S+MI^op_|#FHs)RfD!RP5%~ck020z!ImNDKh!#UVT3LjXoJz(YK+Luo*V zzyZIm0FGX03IaBI@yHI)5P=a5$mkJ>Av*v=B$z;Uz(r36X#o}@99jDGu3k=FsB_=v z#YCO{La4CseuaGP51)j^drsbb{ zj2;1B;~q!TNfqlI6c$iH5DLjX9EA%4YexT=T_f$G zbK+Cv4U+R_>fAwUs7}5OOsdlx;ZWF`o|tyB9>J}J@LsX4EfkH*=snafm;F|B}N0k0>yqVcX51gw?fbWH!$ZzOk) za=lA(-b^ChBT6N{1n#r=%@!%^ek)#~mB^XkQ>bJkd{e9!#DK)2BukN^L6T?EtGq9L z`lEAfZW8x!rc_g*&B6EkxK_#mjj)Nua1~-jW4M~Ki`6%xj?}5ZGG7N;HA>*uU|{GoMZ@{_a3DtKj7iI5o#p`H0l)eFXxKT6`DI3LJL#T^{C9u44qdjN-{BsP>5|r_t=4!ooPX2 zmscROf>1^Um6;T}B?C~EIYADEv`h)za0GVwg|_#lW@uL4pZ0HyMN}@-mjO+#- z1&g`gqOSMZ-QU_?Xn!ZXvjZ;uBC;@nw5!L$1aj6veB#-%dK){@j%UzSAM=g1>T_$v z(l*TMqVAkcv`XqAg1uVf@@z(T7xa<3Gvkc@?psOSE1%ix(dXsp=@G5gqqU75CgU}l zKa7^k(RcL4{=QNoRB6ZP=#xrD_B6EGpOL>lJzDX-tKD1BM@@3Zn&doal4EOL~}eivT8UZHx|{81SC+GNFtfaOw4*k`(g#!m1<+ptL-zB_gO1?|EE zJAN(>Ftq$Oo%=#mSc;KH+*D6<9$xbAwEe#0{zaeSrA}ycW0A?%I($;Rk3wz2;zOcs z-qkq?zB)dk{%07oA+y)#WuN3~ZQ55H>)e5=#nvbhHxGk#7`r>Qhv^qmRG-qc2-I+F zaVb^pVM2>MrJL%P^3-oRU&>U!>wGCw`Ns35NcDS(mojzi?zKqOuoreIRcBu+-eI^D zsCGSbDNn~rqeZG_Yp#9)a4A#0SKJ~qOdVgpRHbg*r97oh@})R!e)28Ry4zT_w|ps4 zxx;+eN5@5+NmUWmx~>e2^qSTC`Ffpv10KFs_g<@SuidfN?$zsd>9zaw2Ap{Vp1d|U zUaL#3)w9*^VjA!-wK|tNJxfz=r6HeEvqP!bo6H^tMvdES_ixK}7sD>1vQtOokyw=s zpUyKZ$4?f~T$+Csf)Zzg(bf-N96ymOBf)7(f-Tog*794vJB8)f)@V6?oP4#BJzp=s zKP@Kn^?g^rP1G$JAE%4)m-S?3%dh&u{xo`?u2;%xrVaC;s98!0b9?=5vHT)mz^BQ4 zZhu$WwS|bay;>`k^SGF?TbxVzHBU!t3XZ0ewOS>hIxw0ll`xyk?d3{MD-~mOrL1OT z|MfIoEbS$ljh@s=QBwKSqkXGJ}s8Bk&0jN{PF8zxwijO zYJb)WhwA$KlZ}@4=gErl%dh@&jPVKcK`&=wTkdvU|KAD>O ztGIPJ)u%CbxSnCpzvT37vu~}B>s9s#%CW>r#P$zop@)5rjpj>f-NjgG_yf}h%l;Ab zp3rrXT*+M>11Czb*IpSl_R`fSc$NSsnkd#rh`HB{skOid;JN5~@Aycube*-2TxqWuUbS??ziwzc{`_ zodAuZv^1qY$Ho!;Hk@C*TjVjqapqIwRL_sh_5e<1zW&yjK093PkkLOSTEyeZNjN7+(%l3 zl zobpOrqCr|QR?0n4eG*Tn&?aP3cm8NZt~RA4>^RiKsXG;1Or57(94h5yyRcr&)@N~e z2$T;eKir~M9KVE#j-73mLBE)neWD?nsrkyKNf7-!~Q+vL)Gd|SD+Fif=thiAgrA$k$5 zm4|OJN7@ZTpSrMtHUdq}o8Xv^9ros=dP({s?~;osIK|F#qB~Y8IqgsCJ8w*CTilvl z2%V}xwn2UpPn93BtAQj)h^t&|b_DOz6^RB(baZNwq-EkOhGG`jmgo_dy)G4Kkd-}; zt7Dm;yfLp?hsmm5AW4A=Mk0L?YiV>>aTai#-N_vpJEqZlNhAI29~09 zUABF5NSf`#Xo=?1G$$8gR1d^zP0f3AofYVKdz}?I{jyOmkoOY%xx7w-vYX#dyzSOo z{X~k~$L=RFd-Ytu#IEnG%aZL2oC5R|*}Pt-ubDd~%8(NxzxFD=i zbh+Tt+vYp$M|yuK2?)D{L;j;#e@TLz4sX^-lG@|YvY+77MQE+#soRUk(u7v$V%mNv zJ0l>P4P=7TLxfCB2sbu|G(yk?MRA8%Uz0bsr!@Z7Q?#7E-zvKA(ogK=%1x(i-`CL0 zm2=*0g_RW(S!ZPht#K)}(=zKqXcuX>GLCfa)&3+s{mA|R7uf*}FkHF2Zh+*<9c%+6 z*Kc|nfN2C{8<5|K>D4U%GVWGC!1ZuV%`9yZm6{Qnhh&1Hw`;D|-WBM_8aDN#U> zUP%-Hm93dg00iaDn}fy)6L^;9YP6U(vSzBQPCiCeRK&xm3R@3#f==E=D}adP8~NKh zcZ4FSo=ap!RKjahH9Q_57SsLIev{K6P-1Z4G|w=*nYmM05j%G(ZP^WoPL{5nK}`7N zD+--EK{}53CYKtNMsS!}rj|7PW`Qmf&70+EyTfUksD8`SEDM}*({lUDG|=V!EYn2i zH@FP*oZs;RfOGd27!XDW?8P@W-*La zyYB*n1WJe1uCagsK_FDB?JA5eqGlLqwy!%e5LS`-u+s6|n0ev;j3h_;CCD)ZhuQk|P$7E^nMcq2HMsg?|4 zB&Ow8$(f8mT;@^If>DdP?`9o}f+E(TC~E!dB)gM!Xc662W=oQ+&dn_kqsV7vmY|uO z$s|ja0m~r7S!yhUB>KChb}6KrO(+VA*o2~}wK~b}WD{CMca_=mJVz=)zlDtql)f)t zNd=J@TP_O;2tobz62l}t9@hJj9xn-~K*%Sms9 zqvz?c41_+rp%Uc_Z-UBX(C;GDo}1|A7v=?p{KC8_yJA|(?&cR>itZ}Ysy)js*47dj z^2=N(A%TnY$n+$|5g?pHNl<~}(HP0CR~C&xwLDR1 zhU4ygcc!o|-lH=D()N^_8Ibm;*Nm{#9vw0yzyCcI862{r)1|N&Zi@2v3nXsf3H6JP` zOpL*0DJ&h|2?Upqk{Qf4M6XS8*$}-p#bv=rN~IzlNBGcNHi>7HqFkr4-6#kkiSd4s z7#SxEsWkkjjRm7PY_PzXcg%N9|ByksBz?o+l+pAJ8I%tO21ZK!qFkij@r$x>s>{Qs zLHdRZ%HWWc$4f5CX(<8J?xHyVlye!Je{8Kz_1|0gURHmN78}1`Y@1ce~WxvX!%eJ_~%}GHa z364)sTnP*S;{AGG%*G)sRqZR4m0isxVIbUB9KUK4hkLZcj#oq*2>q-N_vPeyc#8$X zhG5@I)TvSJgtJd?{dQkc-g1=~WrL3z>=)m0f0R*Rs)j@Ma0BrVF;*-kIk+xP62(&3 z{mJm4w8iMmg#C`McL@m!oW0sH7CCW(OItwohq~F+h>Kf=-|vg8ECQP%YGy&%Z)E3! ztRYc)jIcTbR2z57ehTfNzIOW$9w~J*D*eZ-v!_8Fe^LaQNp;=om0R5wui|n@q+W({ zo70dMgdI*Q#KlBmoNAB~hiu--W(M`r*aM4BTFj=3MbX8{Awle=TW!Mjv?ZOb26=}L zxnabmP@g*?iWXolyP&l3Lnq}tgYI5?@m#m;y0bm5!v4#u`;<-M-d@1vllRxR0*XIB ztm)j&a{_)@_q|H#bQrt5YuPTVJw!7?bpP`Z4x9c4_@wy&_d$7Io*uTdq~9WYH%Ru30ci5Z*_5jPd=ACdtB+-61XW zw`>00$>F64BUK^T54YRgagn7l#S?2>hNbwH)2tLYg>_1TAJu1xl_Jz`2+%^;_NZr}mWBDcYg0 zEKX;&mlThfcXX8F_*dNmKj;z2zscEC zP#mVA8~R#=b=x@Omz7ojjifv79UZ}{yBw|w%TS`RPjSeMCq5)9XTPgbR2aNl!jRrZ zRAv0G3shntu8UKpxhuy{IUINX`pSs28F?px)Un;Hy4&(qREWECNPuua7cC@^-{0rb z_?N|^B6ir1lnS70K^7DB5++!6a~1bgRf|ceX^D`EzImQJBr=un+v(zJuPWJNH_pA~ zU;feErCN^&0HFGTpJ zmhgiF!d<8g@3$U!Ps_z$(5B*yiGJ)m5a+jwj`MDuAwaM*TY(pc??=v^DMN^0XN%Q( z^u-3Ivl)}+>{*)Q{CckkwdLSC_&FX}w>ig)K&u6Ct)hh zuv>8$)}~;EZF369EWsUbl4hf%ux(@k84bV`LA96v{k&SEl|3J=VRZo0`W=m)*N=nUTzs|BXoY6a)Aa<_5N)8rHRI=?r$+ZTPD}f% zJ(_}5rzRfEBg0nGXeeE7C61pa$mewLr7)QwQ$twofSU^>nk!8~~ zM6frgO=dsPx%l&BwN{c%MiLp!i*x6YFqbrEkkJ4JB3x}jqv_M*2$-VeP{rkTu#E;+ zhYLQi>Ra$du$2O)(vD#rYA_tj$sT2fxR;RQ9nxJGlmBF|qJyQ}I;;hYcX6P>Wp6q| z1Y;qr8;nteW3+V=sEASV7!q_=&PRLogGEqnv6X~}7-pNLPP~QLW)N4kW3Y$IurYvkYo_^8Jv-UO=ob<2|cL&oENY%!@qKW!3p#()j20% zD~aZ#nf(CI5M@{v@c=g(XkE?;ArHKzUAzSiYv5&Apu09FOr7KhWIpgi531#>!GX1Z zb;f8I9Sw9qK91&}ZAE!`i1&MMEGxio%3iwoqd%VF$4vg-pHT5*CjSs6oZ6!$nmpL^ zHLTaWnqbrf;($Fd4lX7587E9L*kpWz%lNdM%xon#@X!8Ss;$gFB_Jv`Gr#^K%(z(D zpv(*9fw|qAk@+~-raSZ!9s&;}AW%b>p~YboCJxMv%O+tSZ40=YVa^r#eXsHI>u+dg zGbd}ZngP53aFesRtT?2mwf5MBw-&ug3^HKsHgYsLm9t{}im5e=A)2w9;E>JR04&=z zqXu&3y@m|fs13`W4a<}b%NVTb;%>Saf3Y8iU>9!Dg7$kjz)>;T6_*bO_&Wd_yqnyR zZQo7sXrP8=0Dj#~{DBzsA(-)j8Si16?134)ftk5M8n+>sG_ZDTFpJY6DE<(%9k{m4 z*UQPrXHak8o}ggfQLgd1arox>p%Wm0DpFBKu!kN{)mYkUo`xpgufO(Uf_x#k00e&} zIOhcTPC`W%!36Vg6ea{{e`0vva}Eaf_IZv+0;pubFQA_whj0bGpd|rv!yv~3xCN0@ zg1jo9qbUx(`}IRVJeW7;bGH1>JaRlQrXCDTMv%AXb2QZvmB01E`v7STnG=C`l|Kx{ zSN;Iphxq{4iTN-HFXqFr+?Wr5J%kTHcU%fMmi8Sg8eHGy17OGC1LQ3<^z^*6!MO$* z75&_Ij&NHI=B1DtUj%&EvD*#rN0c5T3>Xrm@;=xMab=_R=nEwEZE(R%65B+K!1pd) zmjA$@0by#$WHtIYwb8f7$=aSyR%=LFa?WOXBynDRaCeq3L8C$RHQXWj^t4=jr8CQN z@w8ZtroaZ}86Di-z5oS$le3K%>iB%hpPF338kZ%NMK$(96gTMpu}bsaAPKJvh; z2KqFbPA7D_fvF=E-Vl`K1PfbhPMpzDMkiQ3S}mquf$2_$1UX!=VvHbnD(oSL=JxvA zV)+H&&@0g_H}pM#J0|CtAfwJND5D{aMwmKd&sWb&8$CZgjMkuXUN*rjkngvjF-Gt^ z80sK|^^9T01GPKBKD1~5WshOqU@3?oXHF{-Bfvdc?YRNP1F8*cdk$(s&48c|w2Td8 zM}8VTk8Mb2N;#1A;)m`J6dd+1I0o5dAS1&Hv`v4l*WImcs{s)rZQ6fR! zXsQ@tszONzQyCV^v5iI#|NXpLqxE7vnj*T`e`YTWKpKVDDOtc>>I|n;%-H13mpTN#RaDO-{%<-T(!x zi|anZKgJ1v7s| z6EOncyAbnNGyy?s$d}18!rN_5pYwgoe-1Ac?-Zrr=R%X+Pu|zu^fE{XZ8v#3+h}} z@{X_aL{V>PPqfE()1t`iA6(6-1VIh#i1;=1V-lS-DC? zkh5I{2Qw>IiT4Jy?f&`>OI82+4lyNm4z>wn7bCDIjX7ilcA!}?c3^faT;)Wg`F!y_ zAA?$2o{@o7*cu{TN#d=OV&IrVurM{;XaITx*6P#{LE4|CJ^ntP+GsR=dK>|=J`FCI z_gb2WAP+~Hh#(I}nurm29f7LGpPoUbfysd&Cxa{qBe>lOb*O!wtYBpbE0G}Q2d)@l zzJgNW0iDMRI-pZnNe3|ba|IVcHYTu59mEvSB^%0eFg*Z#|LF>$h4&;$NEjq2**P&D zM!Q-#C{EM|!V6m6&tXApKV;P^8xZuYJ&-XusKJQ7P1cWS@?g)`ll6DNL$e7wjDdQ_ zOgtQU_+YPSb?6|w4p`=8J$qo2x>axVI(ph zLJH$SBrhIB+Tx`>8v$E#Fd(Qsnz6-r?*QDV$=Co7vfKx=ze4kC&e$Liy*eh~QCP=> zIw09SG_bDr1sz~l`;s*pNS8wl=4r!(tU_Px@9;E-LV+HHj1O|BPAC6*o;*O??`xt# z-Qhc<1bUEsMi~uZFapl~ae)e1yJz<7qmr;1;{Ey$8EDEc_Wdb^QuU>|f6Ad$mb;sH zAAaeF$Rd{~_6puCQ-FcCizVY5aK`U2yZ1ZDd;sTwFpn&1jL6ETjW|K8grLGaeSDHGkPxd55 zQA}Js5MuBeUx$qbq*?>81E5Vn-iY+?!#5N;aY~?W)i-bl>)4#lPp#hik+ zq)&_G8rlDPo_t-5N5FErx6oPm-v{ya!#cojN2CMP1-K@?0t<8neT5dNeZNARIR0Q*=^#jk!usm?2Rs~FI$5#h3B=vM zE68tv)eP)JFa(P_1Um}fdcwDvL$H*Cv5&B=;$pEz50lkuG5u;o%xlxe2h>KkqDF)1 zb-)7@Vur~&7tqt$24V!hcVP~|)%ekVc%DMqTP=|wX5g>b_RjGIqX@?&^oR?UGJ-th ztcW&V3@^`A#Rpnpt+yQxfU=>{Cs@;26U=fpDY$&eXNZ7pUqLts3s|s%wu2=jY-?Ch zg0_k1^KvwQcp4$LW%n7PPjg0?KaJxJqd6@Sj3Pjm3X1})Lya# zj(>r=4|amGNCdXQC>z8?Ej2)pAp$kN2)0I8k?**8N39`_e;own2f&nJ47sP{Fb(Ov z2bZu2@q!Boe0oFc=?df&$G|KX$0^wm7he9fGf=?ualr?BPR<~K&&wHO1YezpF+ZP^ zegIAid7jP*q0iMBCG`0^g9JQhKP?wCd;MrX!<)5FXi%ra1|i%Dv4#nFN~}>vL(mtv zCcMT7**w-Tff~p)D4V#ZfAt2hji74l8tkY-AK43lpKPiE_7Z&_!J2w6@vIHT187CC z1M!j+?#Q%9W9qch|NAug3~gA}*(^5VLbidE9%2lh6s!u3 zA1B#CBm$No|AGzXO~Ok|plgk-(B=X>+!!6`p_V;+y?ADtVUNG80FJyf zLdXO095otH&qE%jx$8B0UN4Fq`;Ut?urS(NoPb@5tH^MDjH}4e;07>cotw=jYxa^m zI3+8=ED~%&&`k$fi7Lhj{t$$#CiZl+T2IEXUY&1(S(s9##07YXr^y+??_{_Gk)7Tw zM{8&+#}W&!C9DV|=v`~Y5W|9Nd|;L1(H=dar_pB{+Vb`UMu*=PUeb|sMDYC!cMMJ* zs3W7sPaxihKO~S@j^`2f{FCDYZa?~c;>ILOA%>0BF-hWvu?HD(OVZup1;scDA!8B` z2kcf12HlusPYpO|K$xrLiZ7s_LgrKb3en$XKptYywp;ZZN&n~p32#5SNW=iJLqYGh zg5Fo1js8Nbr_mVNLcQY3Qh#JGS3_<+xTEic2zLwuehRLYkNNy*GK7`{`C?r=DcBvk zfxK1Mjtch)o_5~h7%A%wlkEx>7h1y`j4%a7p{xF$; zKHW+fFDU=w8??CptDKe_(!m?P1w(3FxP$jPGTb4&oXl)BhhcyA#Ztc4`_JBlig!|f z`=vkOE>ws2YY)7oydlzo+Lr<^%dia=FUAxKWDG^lmpaK0uyAjnhaSAQS(;=P z@nAO{aMMykf;KP(ByckW`qdLVUto%=b+I*tf`e8UTC8tHw;q89S|_k zpu;P)!_Y3UE&$AE7w9oA;NwNWM~Mt0HUxY`2>dvZZ;z9;J)Nwe-I=erfQA#F_~7br zg$PqW)}!SbjYrcdq@hWwDl&X~*8o1$ansjtkT5om0Mnr3Cn#??7Jh ztz+h)zu++==)=%T-kgZGWC9uzt~SF;Ldp~z%Qtr_~?9b0)0lJ2XaGYIsJ<*df1cXtd1WuDTL0^L@&GF=y_L_xf%D?y zAv7h-4as)YXfOj5s4gu>^VMh!X^l}L0qxt8jur?K#|3zIqe6r`;yzK$fE998$I2F8 zfSb+wfpLT!pS)tolo9md2VX%J-_V0ST0a6+loAiR!c?5mP&(Xtb^HS!0w`=9`eNHp z6nFB~hNwa(I?x(a!;A*f+pzVg#tB<}pq+U(!60wwpOMzL^I=Bp-2jHUAJF85xi#5j zguJ1Dh8n>)OHfVccQjh97UK!qMFkfa*@g#IcUnlJp>#RS!TCI&FDT;E(w@v`q}14gjN9%$W|P3CC4n6H2ep+^H6yr4C0^?mknF@>jJITy?z(k5aAzIUzUxPJ+K(1<{F zY- z2h7sFLjzn+SbWO!6x2oc8WqriR|h=!2~JSt9O=yF0R~OTHgM8Ii~%#k(Bgc|Wp30y z^bS7$`Il}CMFn-?c}0Kg%3zJWJqeyu;%7LXlR8}+qy?rk#Ye|?0v8)*Nbo0&O(KlL z{hp+I9Hd5DVqE&sCLtbTCqFeb1z>-j85N)IaEuRolMJ6(A4HBxgxSGQ37uL@GCakY z?42z(%MiXFO#&?OmLzFxlwsv;@GSIzEw&uOz1W0R#hpnlcBUq(*FajNKU1 zR>;>&bm{aGIqr{QHr*V8Jf}`aAQ6z$qD_3^)xPlSy7oGIQ3#F153GBxL@!DDZxqT$ zlCVc3A1W!P8$d{J5ZkHm8NFm8_DJDqyqR+KvQjDXZZ=A1AV2JkW3hNu-p+KkmXB(jU=Uhep&mGzB zAU9uu=|eU51tnwyS|CQ?RRyr+DF9)bn~#h6!wSt7Unld=X!O-y_DKq-iO+fo11~}Q z@RbBx_^6O?y1&r5dbI`UnS(pB_QCA!s!( z86)^(5wK#Hgpf6QX|q35(2rC50iIqr@QPRZyaBW%Xzgy2Mnf5$fHl3z2~*$4U(m_IH%OK0SW4AD*W+dU#%rdL_iuPHK6F z*y){FPCs@uz)=BH&2A$@)xOzmvZnLpS9>%?bj7;@r*tiVUiocv8xW{2H4q_cP6H6Ao=iS{nv9=; z9gUu-ERSq9#618!6sy%Xl}2+EtX$k?+V|i1-moM zfgTNXgaFmNyVx)_(w>db({eJl(c@^E1xG#E%gF-NhSoJk3-2AYb9@$dIFxn;I`dw| zjRrMpLE46^us|)s*BKf=jwW+7fn^11T$a0YNbg+ssv#rr{R>lH>VPnHWHOsQ&snk$ zc$4KBnnm{eL%`DHL^vj)2fQVLPLJo5(GW%@Naa3fgsIlfoM zXlXw@kJ(ll$UurKh+rcquJJ}g8UQf$>Iy4N)tZg|q9$Ov_+~#KY7Ri@p^JSPp~WEjmm z0QIlIMgtnS;7vgd6|O;mc1g8l%9I}BP1Onzu3`heNn7DTRbIe%X&K)5agyIdgcc)w z0S9;hHaVe=#3m)gaO+D-xQYWaX1Ga~&3SNRhtFW)&VS%zh|eIQS|IST#0+w2f1a$? zd4MHL0<}aR+3p)OEx&@9seGJ29-2iFvvg`PdhtW|$ADTJurats91U$mgEbS^c;VWN z{5~L>PG*xeG(%Bm%dEp2Cfi+#e6lCt8xyb{XkbQz7@A-;z5xkT&F%5yXg*oZ(0K7Y zho$9BG;5FDofD8`kKFJOKyOK?Dt<;84PjKmRPZxK==yEXCM%XR2(6x`6QGLTWTeyj z@dcwK^2uP@6};M?;YNcRwZIL*87xqXFqy-RVmV{8_9TEE#c~b|RQ=B}qd^Q!nCgBG z317{NygpDhy})ZId%l`a2GFVlQ2CNH8p=ooulOY=T-^s3uu?E(S`IQ`r38el&yWLF zN<65V3prqg;=v7AIfny000$7TazP0)VC8}muHrn{Q~UF1ZG%*t1{`3;X>vkUoF*ky z#c5IkRveg-UJbI$Sp*#E)r5uXIKq$gYC?jwK+q$-%A9(Dv+i6$gr0rp8g?|KaR5@W zuCc<_FlG+2>&xTCY7J4p8h{oHltgZr45K}PYgLmKvQ9NgVQbXW;#(s|vfONis9e`r zf%<@Vv71+iFfA9xB|V zjs`a%U@F}$V3cp0#$2vB!dYAfBXgpgMPz7rM?}1qZ8hV6|)r zdIevT2BbUSwWWB+thlrdQEl1@fo_*vfsF>#_aL?Y3hIz_$|_#8L47wq>zn3o%3xlEn2GoD~=PEE)`(N-uLI(=r@RwPz^8(XuM7n z5~fjVGQu=RO-6`@s7VOV1Qmxk_SYGDTH52q>}fIub4t<*2T`ZnL8D>xwiU(L4fhf8 zF(LzKR%mM8P6<%emy;QVMYGXg)!XFHlZO=;ZNI{o-8Kz|(2@XW@~f!PV8$mrg}(+0 zPv@WK<41e^g#za549U7qykBIIWuGZ%I^z8*4N;lS5buLDNJZL0yx*iDzNu@+-{nDO zi*O~7f82-6?~yX;`_Mc1_~&1EMdu~!0`nUF_J4V$T4QR}Sn9^bQe&qetBb>*=8|H{{5`{s64PeaeHJ#d+V9!Y%Ju=rgNmteQ*Esr4f-NUG1}?(y*riR4 z!XRt=Jx+I_XP6~Pag-RRVJ8#2Bh`<{Vc(`WHjeb>kQ4>92+H0JG02mdd?r7NnF&dc z+6iC`Tqr~Kv@A2$Az4BQqXfO4N|(eCJ0!sf$8i{&1xXBxhh#l7ySWKtv>}1xlmD3V zc-oLi;QEII29JTM<&ctmBI&va$O?+B0kWdjXuO_$WdR9!eunN2-~|D{Xg4LVPKt$H zKv|;uZRbg&=(SoFr^v6?+RNgt9i1bf60LvmEwdZYIG$%uVrdj>0U*^N2U`-6AcBTcHi zb4XxDD#C#mg(Tp&81m%%VTUb3d19%ul5~%QG|}JW;Xa~28g)85k|;gckga~X9`^B; z`iJ`4+ha@BJqa+%6dUcFWT*f49)jIy__^4FbPOX*vcpub*QNG&gWlhKc**k18L(*8 zo^rJ&(Jh~CBxq^!YW>r7QJWPMTiRwtt#K*2=B<$jPZXkdZTrP zZ-TungQmBGEDwSNo6sPHdx&GYI_#x)GC0a*6CxhPp)M^>4AS6tw#yhW$C{GSRV+yj z(ooGI`@Q-W3S^|Sn`2Vvd5HR9~oqL4e4OX_Fv5~(51)5NeabD%t27A3dgqk ztVO(-IgW972s}d=bZn-*_MQ3yh^4cTz|h?8>+E5iiVOM~rwXiblclTA(T*a{Q2aeL zqOX`*^{)5SRMTZXlJBFl9t6dfHyxdSphBMh4Ja03J2!nMEhT)J)qV*BFQHwW;1nKQ ztp#hG{hU@Mv@I$Eoe#YnQOB2ubdWM1lXWj;%`bZt$Z#x90@LCoRX3ZYYaD}h^+T${ zVqQp9+E2z^GEqxs0Lr~p7Eh6hsf zM7pafJe3x+g{ShC-2mxm4cj?H0kViEpZxnkJd%pqK?O*CHr7<(p#8y5N#q0JdO5@a z^~vHQ5EBMev9>Q#bHQNB_mPYLL>mmG|ETF8nzG-X#q>T|9>Xm311h zfmEz~Kv{w~3{zkRGecsYQG^4J1Y6|pi0?7a%?(4}3*Q15oC%KU7<1l3Fg$7AR56A` z)OVe)fT?(Ey;xHo;edfM4ZXvRWb?c^5u|xIe_RV4s2zYd)6frtWCO*Zmo$(%?-0O) zL10v^1cJ4^dv$!`v7M6B(xq1@zc5}i#<}aZ$*Hv1w#liyHEV!$+%{?F5Cy1CVo(3t zCw@!;T=g%2xT?R^jZ+I*?>c^qqGE%$C~VD7@;eUO7V+KXR--lld*tFcB^%=Q*sPYv zb;)EDslZ_o&|U78t3yd3Fi@AzaKEtIAIH9n7%`OE#gneqqbMq7J&MBCzfSTyT8|d- z-Q^Zd?}pjEchQBdOq9J7!Jz1U<4!71J~qvR#D{>zjFc$@4AYqDqS|e#t~R46DrPf^ z!q(~}zoX4)5#L>I?=w8f6n)ora&R&?j0((|65}jIh=BQil76>B9u^=9#D=r@@uh4U z<|4acepbQm8T1OJk`2cey>&t$SnQxK3-yH4jU5wstAZ&v;Y>G7@AGdt7)fKQFpEO= zh@D25h3I=6A_qgt=Dr-1etY^-8G3Bx%jGcR<(-lQbawUgqJpk|Uf5clRS{sP8yA+Q6{wGQZ%gvWvR$&RXfgv3tPke_{5)`|)W0pWlja<`#Z0Ip29GTS}MBgp#Pgq4RywXVmVaCsa> z>>-=*=`aVNbp=qygMtAwbP5MHf4(NSNMP8CP&Q`3 zSzcTKb}0>02ga&3+xsM5HoX<+F>K~FKf96r{tz&4spE@CN?5AvtmT@KE+2t3Q&Ns{ zhrLH));h5#po<(0eG(o?f?)}3Zb*T;q#0Bm{4xx^-iMcxG!Nj!b8 zfk?st&@*|jWC<7(03;AET6a@25@9Z2>q?EFgR1t2i)b^SSh2#Ir}ow;h-7ynS4whsAh> zrjz-Xo3DM}*;>nM8#hx8T;I>)s_pZ1@o_Xov(aB@_55*euhDq%JYV<6T#gn`_HsR1 z^snmq*S|AB2^IbQcS#imYy_=RCp{z*I-y>jwZ}=~Y&j;+?o}rT*QK>fs`@LAS)AQ? zhut4`9OqY*`?V`e(1-Zd@ANsRCY}mdqv>?<&3-@+_H;esAa9p-N636MU##r$V*ao~ zlR3)&s7hFQS{;NeUO#`o2?h6e`Fn_T9p63pY@dsTeWL`sWput&iM74pyJMpGmUBQ9 zUt1qf67K18ivW(AtxX*6(Z&y*Y@*6fU=&G-olv=qRIQABVMCO*6>kK7FCj%=sFhGP zl|nIzh8`&f)y*Wf5YvYfj@t5Z(?#&{}(mze6w$7F=M6+G8YHss(=>}UpTU@8H;~E2~gm?3d1m!nOd3Q_JQ)+HS z^~pW`%9Sp0^`EFk=<0bqwpS}OwZGa^G=HAy5L!%!Iz_snAI4<{U)93!KKx&zOBnr6 z=+@?%urEX>+C1FT0e^dup>+tW?GvaKciQjd zwlZBS-#hM(E_}LiwCq?(=~KHeRXPp>u8;rrul!4 z!(cPA1Hor**#^^V(pbmXVX1^cCPQ02qUS4B7inIS{yt`Sm}<$9!n~c9_wd? zV8$1uz19lq4c1=Kr9TXa3Y3Ak^n(FWL9$w<{|nSQoV(|Mnhct45V(G!h~(YH5t#Ks zmRJyuOP;;B!-5&W(ER&=4=|R#EDQ()2$)TZaI=BI0YjG|uagp-PQmDP0?X(XIAAt$ zlPq;9l=Xj3182iFslB)a0tU|JETe(6B`bFAQwlAdk4bnG5dL9>tjD_3}_H36zX_Q}%FGfRVd%NPuwQMJ$&@mg=E+n?jBx>?B7- z_E8w8d|}`90-Qm%^&%GibKs&X;T}g1Uz2!W)H~M*60ZN`2&j_KB{sf?kid&co|{h9 z4`G@7NRSXWd%Y@h+#iLms1n#A&|g@_4}9DZU+K@FX4cupPP9`hB%~HsPq%2%dum~v zC{g-5y4>v$7Lw;7Rrxcz-5Tj4CQA>*@&q0J{=1x+D!;3Svh6szvu$2;%A3aL^f~AJ zcPfxSVsO|y0gAEXvF%RIpU^J!j5BX?#xXj?ewKY)s#}t^lauV^ z)yAHiChU!dFs1_sWhLa*o@b`Z+_OT^%TblAQ!euWWlstxa_VM2GD{zJO!F(2{Ty$S zL1u612NTGls~NP6BiZP>ie@-(vswlKTAP!s;-`K=Q0k}*POPY`rewBe|ic} zQ9$=DrnHLdD974hoFK=Kb`I~Ei#)L@f3`&_Liy82N)gu>Jldpo%abWZWcD~U+L7(f zfLK3#(<+r($u#_d1LW+(L-CZ%-3<`|$t-)(dNSroK`v7JWUjFGr{!d9qt)7eQd9pa zkukF)oTgqt4x4fHNT7ZKqEkD!S1TYYR~I&XiTgvH7*;!zl8KWphWiHkor(&FmDlY* zea<OlzK;8?w{u(5s5f^Kv-0?1u!YVj;CXb*WPF!{gYgB2(^ZQoR7DF4c<^TgXv9 z>35S>740S0a_Q=w&OG#wDEmv!HocE>mqF-P3;tgAOUKU-qgCj?@+F$PCAFhC%fqjT z--(qeIX>`3WyqA7Mlbq)Dt|g>S+cAm_k@NvEfe=vPray@Id%SXoQ95vy>%G7J1q_S zwD?Ac&VhHMK&CwFg}qRNg2VoWKRL5h0QPnXq3%Ebx>~AulCU=pIb&{=NIp$FdgW&? z)fj2>1n2jgvBu;0!Kpp*g+9ed(9~6<8-N}m%$YsZpx`eW)7!E?Irw>OH5?7TNB$VNE(Lq56_kp{R*)Db1d z*_E@RRZLMN%m>gzQI98UM91|HEX%6S@2B)X%+4yKe6QF=hd(6&rg0j+grP5~y2DF= zId7R1-*W0s@wK(e|9A8>;hEoCWbjqqxG}-A-Vm1*#W-?ex;8(BwBPlZ`bZ1etv5sm zdqkJMI8iL`-v=BYnaiM9&MA;yZf|8K1?MlK^A78J8UEp2FO_Za6_>NS3e1c4l54&A z&JX+n{rZ8|%-n|%lFn{EyWD=J3WyJX{N04~@*<-N+38z|-v9o)!M1;Y-x(TuR5JHv z7CC~88w5hCUX&Ho^`bOguxJ1KB@fi+m{RXChzYmK_sz>Y71_lHoO0%`zc8LD!_y=sbS++R9G4E!WIt+Hv6h;q~B(3Au zELzmnk5tA{-ui;TfpEZd$}`UsAA;;8^K>!aEDyX9oQ5nFhGAQinccz!r^g5@ZWi9X z(L2=~e*HTNSfsm8{)0V~U2vAOF>;{(w4$1WELca{HOs~(Y`^Bru4`sn$&CyrayV;#*EXx%k@pYA;ul#T<YyH*oCSjEw2i&8%fbI-=5*<6d{S-ZY6XS!Op|jnM~rm;B^|tk6wL zqxODU_=d@Lmv-2}su$o?nR*fHnOf1==r0cPYm)AZ`0ayg5#?$$OUG1NZj^tLp8_6; z$9qiBo8l!b1ZI+{Va-k|PI*>zFzlV<3kxChNuKrN*T3tM9EV|w%6~E22$lF^Bsj1MP`AXk}u1+ zVT}LlEIV9Y>gOc&{+}1RKmV;w*7b6kw4YDEk$ridf9@*CdpRBRNPln4-4`P1KVOrR zd%tX+%4*5-gL2EgUbvOx^tn}i&cT)cu{?ATforSb9$~W#2d0NvAX18jo3N#VdytJH zT^SLbD{*hoS}mPuvvNGh$H3VWSG-j(%HPGTmEZsrVB*2xl1!WN#YwOjL!kuUVi~V)@B6nRyI5 zx5WDAt@82@u1c%&j^|qh_?`AA@x2)HukP>G(au$svWikxS*i;+qu=f5J=Fbvr2ezt72VvJ1tUfSHR7AYthmoqBwx-L)oZ;m$N9uLE6Ws?&eE( z@S%JA&H_GjS6{jKzDEzY)xb%~-@gJ}JRlsBd%5f#UG*+5dN0?!qf6e!74PSQcXhox zx!ifQcrRPgTE#ucyiga*QHT)-?7+p3(@PcF>)>pNgIrRKkfXGAjG71Fu%Y z$=q=jSc(%|1YQ*9rQ}-z7S;Dy0k+k^$;iL{D}{(VtZg;$Vsg8xCm}u7epf2thvi@S z6{33TerK)krtf_gRjpOIdR-4~kXK#dykFSg3_sO~}k$Na;C*9;%$$k??*O{Wz6d}4P$iErL zxd|vbN%7B4oYPXD`Ka4O)L{ndHT86ybGl46!kcy-HtTpd>3UeCPS)s-CE^u-Ro1nN zs~}2l5oaY@e^~X+HL=wAvX^N2+qGGsRcQIiRhemw9sUiS`seNPvJb9G>wL+9=X%54 ziw)HWEbmqx+|nK3yzFfh_H`Z(!wHpbPwsKhL9Oo8zyo+H!-rXh(~Cl$mFGaLO7H;+ zY~bFmfCKUV=5AAj7#JrFA3|k|M4Rcn0*+=n72#vdBd|pQ8>KnuitqW*SQ0-XtOSkH z9B9S&d}v+0mm8%y(C+vzXO-8J40cDmNKtqPE&rYmt($jswJZnLO&_aSah}3a6su91 z1FZP|Dq5b6lOLx3eY^Pli)#WqItq8agxfAcx}$!J7lk4J!tuOFyVUBVtCGncvy3JD zavKHOr52xDm3fRhSg+dG?b6u4w}@i%qLcg=d(?2lg5_Dp@c&|~WiHY8N}r?T-&>9E zt?c`5Xh9etwvt9NNZTso2e+EVyZw%c-+J)Y(t$j>YE5nklh*7#n!I~+i=uLq@q*+t zo-j|nI9G$^1$gPWr`UU?x!A5vvqk0n7&k;-uU>G$d9U=9U(UDaY_GiAvXie4KFpg- z&sIU57N0ydaDm=hfVK+hwgly>f(!KKGPG5UC>}QxFG#oLC|4C+O?Goh+A5~QqV#@w zF2?H%(^df;mZta1a{*pop0*0;ut2?Eo(u5$BDGxr|1$M{c|O3aOVw5ZU1w76P?oudyVu*xod1eE-_hx-tHNI# z-w9mIFS${mU2O5mb(yIjZnsR!i{~giNN+ECg`@nqeD;!q$io{F;6#L|QS=^B@i7O{ zhUMi-MS$uh@A2f{a^UQ+A8}sJzghGiQ1LMbkpKw~0f%HCzhYmgDe5KfwM70c4^IBS zd&k|;u_c7nQo~)mMwzRa*h!9v?4vMFJG9tksdk+DcUKYeF`jlBGv{U6#h1Nte z9*Nh*T&=rP9Cd4v_MdetN;bq2fk^xe<=kMI4&^=uXo+0C^<<1MeBL|)n9 zM7aG*&(C~M1O3$L!7mXqex#p-(&vjXUFP5ane#P(pSTiX^Dtdz&i?sI*6g47)0FZE zzLMPZ=UXXND}<|3Y8A0p43~I=W6V|uTO6DU`OXXWS+VkO^AZ#G$Dc0hu6^;bg!_5* z@a5-+&^@qC$J{3FL$5_bbo^WS4|x@{JVW^ZAH*&sSpwPuDoZl*^H6mcrzV1~5NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGkHX>@dD zZgX#PAX7w3AVhCta|$CMR%LQ?X>V>iAPOTORA^-&a%F8{X>Md?av*PJAarPHb0B7E zY-J#6b0A}HZE$jBb8}^6Aa!$TZf78RY-wUH3V7PpeOq_qHnQ$}|B7DgoY&DLnMroe zepB1(v{(DKEp=ydUa)8qk}#$Sh9GTge*FeOkfJ0~1VG&KlGtqm--lbF3Mf=Pqq2k< z!NtdX|KB^DR4M%U!^fy9ag?LKKR18(Ek#l(GI$9T6xr6*Y0*{?840nDQ36ehk{ zyg{_tdXP5>r1NZtG6?w61KWsf-IGA;HHxXYcfZjk7!t6>oMERBgl&!Hh z9vQ3(oPn6?1c)vcx+nVUlUiib2@=8p2~Ex4=sZVhMAa3a*nWE7)0%l&p zK@PJ7Wg9;v+U4g5zA9)BhpZwWm%x-s)Q~% z>~mOfqXU+nx`ChX9QH84&s?Z-NubX?r9E_|KM_9@w6!_>ZDl)@pD9f2+jF13753Ex{vO@iBpCj;a|BNVr;_!aUc z>vzJk%g?ApI3u2k)V91I0(?^k>{5`<4dRu=vAIBeQt_q}3w&-jdKDWrkGw#hPMy01 zyiNsicT1-x!bz=!dgb#Pr6`F?rkk@{)zT*!KiDPOL8kvx_3!8u)E^rv#&@|NbX-QM z-_aQ1K8sM@PF|m9ZnOT2i{lr{IXn z#{anQctjOQcFtIPmid4ebH6!z_ekO3+7Sc^Y6I@WAmUFhQ943*h~g5xx}P2V5I!lG zIbPr@b3ZduyaBJUcov?At}WkP^xkMHDe~cl*dF$~M@AX*puumgvgTes?r?(Edyk&( z?7YL%0b%DTpElkTJn@A~$K1na_-6%+J+(=gD(K;SyoMKE5PMJXyD0aEeDaXT1Bd$U zkRR}(%9u?GD4Hh*{<^<_@jmv@^WI)lG{C-e%L4Mv&EMWCj^}*o76rzozqd3Tow>3I z57F9Xlo=i|#%Y4zGJlkOjR=7SosiKx&OAVS^cW^*&bqG69OB*kksQwJJvu0m&OMSZ zEzIi*M4PPk7@|@Mz;`+eGlF9GJh-b+OwCUp&~y#>f%c;ahzZaAZ;2=LH(b1c%m+9r z3vuk~T7LFp#qF9eT;M~V zH`v}nRlG&04&E*iu-j9v5#> zkpM1CK)KH$u?b^oS*@!yWv=-JBv$I*!ZbHN@ui(#l`6Heh;}GRQbQ&oY>*0-nk(VAV488QHGpTF>;cM3xG7}M5j0RNEyXu#kU|?m9f-Vud4Xf0LRbT-cMXdWMU`2som#+AP9UI?h-zCo&Iq)K zX5QxbO!evc#d*adUPXW5w6gN*&^F0qb)3m^@cI0R5~9rv11sN z0sU|ki%NM=?}GMQN4B_1+1(c^oixw5jxz*fRx|ky{tNsBeqdGdHw%+1j49m`0$3Ed zI1&RAM`)4|%$JxyEapq4hBAf_ZzDQO+xHtI=W~azxhTC6 z&?CZa3|SR&ruP2XIQ+W6yC%GbteI_xMElMbBq%QZ@sPI~jN>1k*ZP2eCqj`F;>3oU^^gKR{!mJ5TOMd<} zkY1V9F_%JORKF_{G0MUrRkC1V)N%qp{_w*Oq0kCweTgNXL?~quAXs;W!mKxVlt*HT z=lvq7Hw+&AH-xU3dE6%skL5L02wuT7J%U$pG;MDMDa{FT#%VH{!#4)D3Jdg%X+IXY z8QWqla5K5tTA^oh+qFQ@fZ(#h%Jf!jfure7S(W0R8qX-!vLHJ})dhd2@a($&MME7J zprD66i_&}>(SOz$0y{(i+##ZOR%(S2uF7zjgw{DEMR~4uC}xFDi9s2u-Z5Kb0^U%$ zJ?bQXyoQqzdmXr7CNv^I{LMR+7w-(hnIAjMZm$n(qD>{2x zZONJ5C3P>dDrD`Dtl^Po2E7jN&`=;QIjqKCU`&L{b&eNBDfQV@mz&)@s-GwJV5)%4 zU>4&;m4S{o`*ciAXY#4Q`X0nnk*E3&E93X136@{K$Ay)b@p19lUGuB@ zq8=uq&tP^)rlB?m?2%zXA7YBXUWdXe`FBO??5wSB7Zxq{^1pc1@qf0%jO(2V9ZG87 zCWK%2>K@uyB)CPJZBT@C3_PoJCK!4ad8PO*C_Y-3iFWyfIdGb8VRjh3YdOeR;nIer z4227bnsflQCs9b;4BU3wA&1#kCvLW)*G(w2w48;kP!YFCBp5m@w*GNu+#snnFIK2@H`rgeZCZu z4aJDjiA4gU(|YHJM59a9duR>@6t%eBJ|za1U-HXC3l^ooi_*aa+vQ7EFch_X<$ z&45R)*y2E#h=7SFd9XqtCNfTjB@rh2VB6uO>4|NH4D+xJ*ug>9UECs>(55(d9S`V2 zx{QhqPy8$nGy?PK(RAIm!(~b^GCPcliiEPGoCabDjaDdDRex&CfQV^_m$kuaA*46) z@3Y!c3Dr;Slwf!cSqFw88_nk|1GJtGB!g7t5A=dm!yef?fBAJGcNp;@pB)0MFy7t9ryAQY}2VK2cTy$J==(C!ljtstGB1h;@Zjs&A{ zy=nx(uzYJeqynA(q59c$=!JH;(4iKflS{)cR9BY{zwp*+fNn2>TG-dPf@JsvL%FjQ zd_ujs6!gNrwrEI(b9o^cg?jjWLNBNz=to>%|9U(%v)s6DLi*fPAfp~ z2F}a#t^E?FkVgaQFrzhjS#kqhW^=#cN-oku<^Ia=vGE|i_H=gc_2hV*-;HneVUQy0 zxa-E_=MffP{QCP`7QXMrF7mtectvoL*n>xfV~kkXL%Q_pzcfhA zYh08eR-e3{I$mToFP}n)lyZ?HS+bYXw-G6qKHmcma%A_7cidK(d%SHNr04Sta){KG z?_es!#Mo`)6TfVH^m|_>L-F_eq+{Xvo@$t??2j%tMzmv=bc0v)q^?DaN$PZ=n+E?Ls&yF$| z7=|fLP!_T@;fD^7UhgM|xZV2<95YDDZwQ$Sv{*2ir#6<%JUkh4U+se286H?9mn+Y~ zWiFBn^s4Q#ew0=#nV}l?g5(p%;a-P4;cdO!K^3e(sp)<9>)$m<&Tkx>AzG^l{{`GzD9Zp{NI0ut zR|91irmw+@`;Lp_oM1h_R$iUQ2U)QgIDrnU*I+n9tlHDBN54^VM)`$jA&N7vaMck( z@Vn>N3PbdwG^HOTD2A%}a19a53rw*I$RH_e6?|P~G51%p$s&VQfis<)o1K!%2{$`s zXZQSP^;DY!_&UJa88(e_c<+pZKN>u+gkK8UQIyS+(Dv#vNn=8WB9k=qBNCZp!Lv^{ z@80SNC{dOG@pXzy)pXb<$+0JvSw**z`tKf@=!Q8p$)QdA~xb9yi1Jf!E)`e z31DorL&8iYaZt9j3`Smjiq*&~==8*`prd6zp0Sxk!-O$unvoIH(l99#R-SQ6CTu># zq|8`=hDjN*2Mu#FW`LdXLdg%4m>Dq04EL28^UO3U1IC(RN~TOV)3gw!#ZNWqleZHrW<6%xAhGW`odlJJm2NQ&y{KT9fT0!-N8pP)6-r zYuucVVvpcfFg8z0E8ChU$p&pvb4HT z*KFDRO}q(P(!Z$dC6a8-)0{;GtxyCQ*VJPCkxyWZ69}R>#udw@lmK=dqbPU$(a+$U zex7=NwCS(DX>+4rM=G=h)rCM?bjBUYH5Pdlhhd@=8GW(A^jT%_B!G{5mfDmKyg(&JrO&I{ZXc zAoo_HE}VO-5ic9RoHJAq+M@)`F`J%H(=FS{DK>r4)la+Pmhpr%oF0g3CFbY3s%4am%rYGP0&W{YBKoimo+KtGCQz z_-l|hkyqCXVQsG|r)>AtF7i$lbrNr=AIvwUbx-7*@}h^jSwNJ};QP2tAu)>*x>o7f zOc2<{IVF(91;Kn+)xLrHDn%BrXruHEMeAnYw9pldqTzwk1{XNqxegaKW$ z8RRkNsF0&dWdYg6CGktjz+r+B9*yGT1h z`KMsyOx6q=gGa7r2;qdz72k42+k49(2h37<==$>+pJ?z=UBWYtaY9}U5M^Cd{ zxZ)0?5)_lNx*KK{YiIj5PDDG3kzpniLKhikGQn%#4iT`WGZzTWT=#OD86SYHAG$w|sG0a9UK8;}#WrPFS4=2TaG0jCUOo(9?(?hE05vod*sy;^H zWt4SQUTSv5{((K6UWs5A@@ncCtTNtgUcZ37(GX82(BBVPBb<$0s(HnFpdyOXs$7x$U!Z)FRom03Jguy+T?(1;(=tEB)Ju&er znUC)_J;ApJR}S#c0%9mql2Sf(3ho#V%%jHdy-t{G?`5ER#Nkwkt23no!Dfyx#`EXcE}98{uCHF@hZ2VdvFropz7T% ztFyw{8f~P+6aP|D4)JeiS8e5EV&<&wu}WDm8v^A5`lwgFgT)3~s=LJUp@r<>IRTrWP)zum6D;_2z($s!J~AKc9!A8+n|vw+hX zjgeWeTlEYuFZKcenOQ#pgzCkXF`_udgeu^$z23D3MYaFbIsof3813xhIP0=CF5aU0 z35PX|oXuom6791nr%j`<+<_U&h2@+8EpTD+3K=BHneT;FOxmj2Yrq!59eS?=ELxI1 zynZJFs6nzWg=!!(qNq35)DWVZ$uLRsq2wP*I1>dRO8zMiXJ)*9mIj3HB`h*(q)Der zm^N+`#V<@keQ-&hlq5S2reRj{-eamj&8{$h^sHJld}X%_DaJVq z%28BVCVjdt3B^~El&4PprJS`}e>?k>M)3=a2@jJ+S4>G*|L16zU~v3$kIT=^iQi>2 zRHbTuqj=T623)Xzwa@|%W54qH+!i)CV5ayGT%MXRUw19`8^V*_6NcIGYoKW5ir4nMc{z+Nr`gOxcJ>do3v!8Ll>4 z?vu8{OIY&N(mXRU5BJojfw0)7@325?WLKqo#H4(ztuCuD1;PcB#8xpd%Xvuad!W*I zom$!HpE?f!Z4G@FgHD4-{-A)a(TD5_k3fuDu7W=C(K zJ%3-njlRZ^G>VIj)>O}Y{Gr&CkA}ryd+O7H#(byy0kk>+F2Kz?M@$k22O6*rTIQoQ z%@L11sK=;aZilv3?#iN6p!VKflf8`IZqo zTR>y2%AKyYUrU~_wcpPoy4K>_e^CKNl+s0;#hux!0oxRxj6W-=^1)ojKu#q%b3~4X zjtyc=tp_@RKwDhy=v0!fB2PxK`Nc1zZt@b{;p^6+KZe~}PLis;{=-Bk4bhb2*9H{U z?4`E6b`P~RuxP2>0LPQNrk9&4DcTma-iODlfIIvO!{b%r%_fE5G+MP!a=fG3C-WMU z{7`}REI(Ay`O!eP^ixyj#8c!3#;FO=9t5w`@IxB2s9S~hJnB}$qlm(!&5UZGi-tIA zkPDoZ2>K8dIi^3I1p4()km{bg6P^~;pXju3t@xUpNGFUGsIal&blOySp4f<#E1F{> zN^1{`C_hVZ?J5MK_gWxo^*|3BH5x2A3J>Ab$qDI~joO1@8!YnbIYnd}0F%QEF|b+; zvGGZSsvZ+oZe3b`<<{l7m1Rn!>fxkIW>=*p%2VI0iW0OQ&{|_8Dwr}%qKeLsW;&&Z znjEJIrqd*&iJJilj0+eM2n@|xJ^i0kL0J$~gk7XNBBHqdsE7&<2AYAM=piM?rpl&? z)waBLf3!7-pCB-^VtbkCQVNWYL1{mQmuv{XK3MrsenZGyUu^#f))4Ah^a9;&3f*i5i>tM($TyM)4l?8bM>Wu!DRZXOM}6LtF38Q zTGpY*N7T7PFAiBC-E?NO*n~% z>1#m^GTPUG6R!VEU;F7?VVS<>o5;b~wVn=-3DdS+GJUP4hOT#wrh9#6=Gsj8=E3MS*(7xB%P4Ks$=6`o$VRTc zCZan9)-}R9B{f#m!Q3%(I5NOygof7Pv+j|z$vZsdQ&TH1qk-8F_wv) zqYlIZ17C6WqpxYzE5BQ;=D$77AHRU*YR)1A-(0Q0{q_9mY5oWJy7*&h1=Q-mxEPZb zLpB!ZREXJpDHnikGSDYSI9HBvt{vel9O2wJ!g+Fp<7!^7T;Vut(5oY$-yPv7C32sR zmLvrvq*ilWw2tS8ZxepAysMqeP)=H`oS}X? z@cM|FlrVROj^z{9PX?=V-Ov@2W0aN7Q1Kxemjl@lv#7xtshss{D~4PF!X0X(2)o2{ z*1%enyP7atojKUa)^ba#D%TTfdG$} zoJZx>3FIz%2NiNBth<-L)*I(+OUR;~v)P!zQa-G_2{abv&oNx<`vMcH2fG7jY0aH2 zg{;~+U3&N}qjsTCKiz`5HAZucQ)gI3#quKn!aj2aT1454vuQ)3SLj4qlP#{;1(7&e zchWYO2Nr~7g_q9PIUTNguD^5EzWwgm-NGv)?DfQp;X9o^ELuEv23AzW*}m&?6XXH@ zqY@Wv%Ir|-9@lBtzQV%g(MZSZ&Y{o~McOzS72=aBXfxy~_N96R-(Iyj^`M|C-tmQNVY0qxo|=XfqGjUH6T z(%ilQaE@tTEAGL>Wt6%{wW`LQ<5^Xb&*7Zu$(NvA_pxnl`5e)@!d&h0{X@Y~ZMa*m zS^;CcX8U@+TP5FvhVN9pcdFYvSL~f@^{!QV=lZ+{W!{4(?@Wz%s!}`EY@Mr^9`sA6 z%B4%q(wAE4NvCwIP&(Eod9*rk^vr7f5tlj)dn(3m9YKN$TNo+bXIS_J?rPhJe;Ys~ zT0^i&@pF_Cvls-HCCWBZZwH%igH}?zUu46=lQqW)zVtcv}3LL%D@q*P-mL5{0=fp~w^kAEZtfRPOFO+J=IGK|&0z7b$J>Xe#S^%j zKiWgFQu*V}Jx}uou>9lh)5EQWx)<|n@Nj?ohmESg)48|+R{QCKgm;M zu==uq(N0RcyV0s5`cVL5#CC+PLW7yudLe#A*k3odrhaZS%3D$ZbBKExRaVqM;8&uJ+@I z<5GPz5$q7f+67P>smeNHnu@@?#5PoWIXV8sbuvuv^LFcvJ3>9&bXmo1E@7>L97oT# z4Hu`FSns$x&4L@0CS?cAqURJQjzGHsVlAR2uw)lK85BqD+lXwfW1{sM#Z*LE7ySu_ zM7%oz@EsBBGX`cc)jh!BiM~y+HA-3d@!B1ffaiVpS!O3FflUtVE{N?y^{m~&taJw1 z-or4fd5vAc)~`@OO!q)Ur!l*yas^!rB09JpdRwR&&bs1#O=gLzjTHE+AU#Yy}RZgVTHgp+^~ZSy0aY~k2*s=j(p<` z)`g|o1x#FmIq6ES>9Mh+N_zrxOpp`tAoNTgQNbaeisRd4$UQavxpE6jH;v@R_(9Bf z^Rc*-!-xE9sRJ9L$^OE1TW8Xq+JIwMwa&a%CU&*kztz-Kt8?M1;tIkt9t%1UGiRer0V?M3$C+8Nzug)b_mvB6OW$` zCIvH-3S4E@M>WM8@Cu7(OkA9}ve@5ZdrXl7cbDV*d^Ukl#_p8yTf6^TmpVI~p!MFJ z(;+h|-JFkfjub^yF#Bl45e#V32-w8>vx3E*c?;9wvVU+_qjhs!*hkw%xicVe?5S)Y zvi5~`f>l%*Gadk~+zp_!zARw8kL`D(D<9Mb$C27oKrZf`Z7$+;!qL`QU|c%$9_C=| za#wf})ow*hpN%n26a1DrW8kQJ2`uQ`VcGKRBf0YkBWK=OmX&4V+J}Z5jtSje`;pE` zvm+J4O;KSL1aCGe1Qp%a+-XG3skbW}N8|Ml*c^0o`Xdh09l-zxGO&Si^&0an zLM1e3*)JAI>q|Srg zX^1>uvwK9<4AG{rQ;l1IiIB(7zT9=QQX~a4m`5)LoV9f5Ijp;OpS>V;2;CT5Zu@)- z)7))CQHI##5cD6%>lYCaDI_&9ggW8UavJdAfv(f}q?Qub7-)Mh=B%OYjsQ6pkOY=h z4t#6~7Y>IUlAs2Kc-!i(%a4wy9Jck~wC1j@y5}y_V9zZ#m)L3QpqpFeT+PDb#dPc} zUT}8RpemVJXP_!*J1_JDun(CQff z-09RYfj-|s#}tmQgB*jO9WJ}TKZ#qTwiO);Yi&q};LX!4!lecmD}<2^&nVYe5&T1Aqh{? z4EjYmV|E;DNJ+i$upnR*GvJ>8GY{*2*+Rs z@%YV@Z!X8Ls{FI*c_8GUR5){InmdJAE=Ny4{Bjw5x8a#q=VeD2OhOs3&V!90h=3rL zRNtcySB#Dw9@R|pLs=b@{7`y!cSJ(TB=6^-2Yx9{i}H9FCw3lR+b^f1&^xZEbYrd64t=NM%$&9E^+WoqsrqeKk)bDN?R2!n3A49`p^ zWOlI2<|M&}XJS*cU|67Znj6D2o%5s_o(UbYX?P=Y5(M1~kBPU#CMZlf4K;|beF$oj zgL@UBlixs1FRTk{>4kMs_L#E4R?`d5p;a+woy5p`eQkh4{eTJ(l*O?2OeZDG1EN#q ziSALB5kky4-y6EQ*F7fKBxt=xF_jK`Zxn{|iF+e6>F(Y%iEi?2e`L(Q6Ea2XJo&6Q zD(4Ady-^vaNvisze5Pr5wcl)OuufdqTL`Lvn$f*=yaR2j?XNkqU5b4Xw<%dXr4lOTSI@x19 z;ZJ{tVSY4k-h?kZ7asdqMXt8~WpiJE2mQDAhQV=EZbQq#hfJ=wmJ(J zH(K+{1d}yN*(OBiDOE2Ci@DIzp=yT28#x{oF-oIM(|k0{!EZ-QI`cJ6V$zwfDKds4 zg&3!!eWz=hN#d17W2dsys1S${@8e?7@yisYM(`gF7QE77lO>FO$N$hw_lPsgWU7~! zH8xW{;>;5ZhKv#SJhPN0yXTpr)4q-MO=PM!oCzL=!c>{1axg`LB17ek)rGXrqP)&~ zGHMjppGum+^~ba2q5d($_q_V?dS`&e-C%tKfK=)*EfAGB8d?C)IN7(s_$87YoP(g` zhjEw~?{dmM0Y`Y&T9r_jLk<7DkEiHqdI;Pvbasm|0;UtPxBTVs9CBZaAlm)<4FP>Yi(1tW7>Du%FW?ercSX zY)uEA3jn260WG7DDvlu`mQmRAKwMevF}gFsR51;c7El)L?9Q<~DhO<30bM^-&89+J zUn=}_9I}-NY>ViK1#4|&_kye=LAlSNJpt62ch;Ih2WYC?{#gd4D@KhsX2o+nM(K@k zGBc{Wbt|8#8L#>{D7TMcUFIC2Wmw^+LLVl_Md<*gz--^)JA-{RmMJeP#cpaDiW(;s z0W4*yGq4@)$!OyMuTltoqK`s#Zh|ZsU@?1tvrchTO5Q=M*Dmrdo35LmaS8cvs_sLu zgt4=L^W5dbM*-sJ>lNMGWp2Qw@}eJAO1HxzmbGP7s$aDoVvuuP>Fl{$%SY|gs9(`A z)Fr*`%TV{< zZg0Wje)aT+M9*u~|5zYgpmKj`%;Fu!w0@~kF$&1N?xJENWtAF+K8SF~z=#02%WEIw z@q;GA;AC5sO?Yz0?IzW;a3i$=oZ`)P)b<0(?i9iJ|ag0+ZU}^_v@>sn3-%+`hKGD&vTIF(08^g+qeJn5&p0FY|cfUat8v^eV z7;xK(wuIj>pcMfz3}PhGNu=ES$NI73rxmzFtCYPIWU&nafpHV= z(I{f)@E%yLO)Lc8=w$1<-Hj?QmMTD(mly))d$0W#VU&-qE zlR(5+*hOf&$|4MLFd|}7UA#@11YohBKBIS-JT|6+VIgv;eD*9A%1jF-W;;2*2cTk{ zD)P*sz8kebLZ&Msu35Vnikz2}7KT`X<|{6ZS6s5&ukj2oqSEGT*{!bmp4plNr%(|^ zl+s0;eQLhAI>3)ElS}A&u(P;8B{gzVIYDNDKmwnujW=}IXzE_jo4}%8zz=uJQo_>$ zgN^~_r3c=kB5UM}Mf?P=Q3i>kfDxsX1&k;+`!ruJ!0p3t;Pb=N-FzisW?jUV1ie|U z7Wd1CCx-mn;tAZ(?-p*Luji|U)3#nOKF`11u6Q4RnqPhW_6V*XzTJC3|9o@1aM{xW z`fmO&@bs{nuWs&tJMdWE{C`J0R!{RQcT;?gi=D7mW|v?^ImiFUtZ(JJ&sag6g=>`_Vo2IybJ%B8t5cXu;JqBTf7x zQLZk@CZg6-)E(}jl}lG}-6lE#U4FZ|S}d2~cJY023+}(&xd0X0p-adZr?_bH0^0_I zJN$3t3XEOertpv!iJ&9B+-$n73>a~iK=(w=*Tskg3yZW|VJ=`@G;N4>N z<>4AESJXtRrIS(z3{z9$bX)&=)%q^Tt93RQ98SH|Gz=?Ty1jsDLpp z5+*MKA*89Bn&onL5Hr3OlAtiV4q+u7$gHC(ErX$hh-8jOH+*gakTeaKRY2=#_WR)^ zIs`hB9;J@RtXUxYq@Kz^=eo!RFP-xWo4o4muEBLzORJTWVG+}~k#oQ*(8;BDe`b>y z5B-aph>_k&J;OCFV1TmggjmAy{NLb8*n`HsY{9|Up2>oMPp-%mf z#J*q_nB1>j2c;g$I3g4jl}2!eVCrc4zu6%Zj_6Kco5wOQ&@L+W;NUOjpWUfK6~atv zNTGlZIeHYlkZ6@#R3speigMq*3JPX^g>=^1l6nj4tms@H4v1Ay0^(c`4v1AqQmfH_ z1CUlt27Mg6(@UFMSq>XAA0vn!jGaQwi(c#W6!La$Wf>ju%uSA##H$;Ltq`>QS z7(BvQ%OTrI1eUkKtZNdM&=YimIm9JAzi%k^f6XSG16#%?7zwEBpKgy$NJp}Iulnq8 z31^gCj8J{-+zDtlE&NOZSt=EJ5)~8mmOP^g z1jixE_)GpypseXgFd}<^b}U|~llrmcp+cWTII1jQ_6;By|uFJi6O0&MnKn;rK8_iL0|Z3Y#y(WZ#< ztyK_AC9a!cakB0^If`vTw0pA6`Bi6Rw%Lr%hHkhaJo*a@15^F-Pcu7J{S*oC<2bXs zZC!II8>Qv&x#a$LD8SE!w$(1m0Lyj2jyolr&<{F-wnJ%()_da+tQGJ*PjLYYP!%bl zMa`-uyq`qAX*0EP?}|0$yUy5gya=s4y>6yivY1NyawH#*RBecW*C<5^X#W7BBq>;` zL-v5LdQMRcL=^n#+*>q4e*U!qGE;Sm{;W`f>Rc+LORD`^az(Y@&u*Ka9`V6rFim7pmHd_y{DSmT` zN~L7UQgwl7hpViVJ6zE~W+7cxH&-&@lXYspxwlyRLhSkncIGk}9>37>B6$v#@R#`rLF1fWI3d|Po zB`jE0-^Y7gex@=b8PDx^33UXn)@o}=P$$HY7y)f4p>D$jyph8JAJwL90y79Y#q72Y z&CNoW9CM-@1gV2scaME09-WO(GYSoG*h(%rbv= z*Hrl!x2CXWB4UGsK5e3zw)rpYW8Oyp+27(Qfyt^#$8No2A0K|FQ>T(WC@_gPduC}n zKvwOZvY8dk;3d?^DgAR{ zd7(i>H7%zZP%hV0i|A^`3P6{0^BY0gW|>ECY>5=* zT@C1BJP)UYI_HBri2Nm6UV)fhOS%G0;U;PD1zSirYW99x8m7cN)18n+#O1To6}90k|dTs)ZGSplzjX!1fhc zTqTkEdHYduos;*Y3iu3XKh(3E=ybp!BSk6&M_S|2y!r}(2Y?w{Q;B~*MV0ZJ%)@hb zzkI@*!6jw^Bs|L+E_Q_oF84XK+%2+aqa)Q+KmGzT=INfI|G)(BXTfF;Mk=aLTdFzZ z&N{}PSsoq2PU}woT$3LqAH@YR!?WY+KB_m1Zzc6)@%8Nc;%RyFa1XA&EUvzS)t9Hm z^2@{RwM4)4;9Uf&|9{1T$t;@N4VjlCia2$&8up-yl+9BC_97|Y*T*vwgQA6~_9{UU zg58I)I~fwa!jrby0c<*sw@p4Cff~wD?bBA_8$_FJsc?eTEg-pMxGX@f-Gn@v#${rzYMJ%glw z9>S@0P_|p}T6kp$AzvD6zG&5Kg6J+pN@iBs(0&48EMMr-f3Or@S z22~!|IUlTuc6atxF-G;IkQ~z-lPCqRn2JVSkup?^1mBZ#5|jxw!}j1pi7({Es zQ`gowe5d1y(xia$hV*D1{k+;zGf`^Rlu{vEPniO~!YG}@_`D)%+TEfG+$XSA;itgp zB&eDmx4y`161~_KQ{cP9uMlwEU<%>WT4Wg?$|+Dj4`!uDdLSs41nq7~72+6|lL)uv zrHRrK3Iqu(Ufb|vdK{0ckfkXKsW7E;W-8Ne71B)WLTXG4x-Um*I+5&AEed=^IR(m7 zrGdH}P?P{oJnl&(kLr*nDoQDktuh0X^`sJ6x@|EPzDhdv*5)~>Xn%Wvb; z^i5SgQ%S$nl@0PzK~f$}(I3_HMg@IwlAfrjAFAku+WMe^9(YmzlZ75c8mhRxCzXac zDbd@k_M0JCDq&cnB>6r)F3=0wd@_hx7BJe$BX&OT$KxLiqAB|^$#^i0`YyE}um|q- zp}IPO)3TSTu&?W5cu7)R&)mUGVK*D8L5AR=j2z9zV@8+cNqGs1Z3#Jo8k+d!3M43w zYw5=jdc-8z$Wdrzk#0AgRv^($haz$uYbOg`f=8t#*op7usIh1nNP7_+m6o6;zL%q> zsw-S5EkSKWTR5q_8_h$V+F2}+5o-1Ka@5pxnZdFWv@U8i#}(JHQgmq@m6jkTz8|Dk zhrN*})BV05zW!neP*G7B)eKEw)9HvFLT;}+Oz-g)gbtDltx($<&lpH^uvlz zK8&Zk7vYZ;(EE!H@Mu16!YoTLO5hr0kmxWvDmunUd@RAJ&V8jrs9SQ3PyMX~oh?jr zN#D4OMaKwi7m`heB!e3{zID`PaI{4g2xKS>2s4J~iY% zF0a3SyvA|G&RJ`jxWh>gLcaf7^M|^MyE+6!jn(<I(N13pwh diff --git a/static/python-api/html/py-modindex.html b/static/python-api/html/py-modindex.html index 8c65a091e0..63cdc47e94 100644 --- a/static/python-api/html/py-modindex.html +++ b/static/python-api/html/py-modindex.html @@ -171,6 +171,12 @@
          • bittensor.core.types
        • +
        • bittensor.extras
          +
        • bittensor.utils
        • +
        • bittensor.extras
          +
        • bittensor.utils
          • bittensor.utils.axon_utils
          • bittensor.utils.balance
          • diff --git a/static/python-api/html/searchindex.js b/static/python-api/html/searchindex.js index dc4954b2aa..be0ffc4299 100644 --- a/static/python-api/html/searchindex.js +++ b/static/python-api/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API Reference": [[103, null]], "Attributes": [[1, "attributes"], [8, "attributes"], [23, "attributes"], [24, "attributes"], [25, "attributes"], [58, "attributes"], [59, "attributes"], [75, "attributes"], [76, "attributes"], [80, "attributes"], [83, "attributes"], [84, "attributes"], [86, "attributes"], [87, "attributes"], [88, "attributes"], [90, "attributes"], [91, "attributes"], [95, "attributes"], [101, "attributes"], [102, "attributes"]], "Bittensor SDK Documentation": [[104, null]], "Classes": [[0, "classes"], [1, "classes"], [2, "classes"], [3, "classes"], [4, "classes"], [5, "classes"], [6, "classes"], [8, "classes"], [9, "classes"], [10, "classes"], [11, "classes"], [12, "classes"], [13, "classes"], [14, "classes"], [15, "classes"], [16, "classes"], [17, "classes"], [18, "classes"], [19, "classes"], [20, "classes"], [21, "classes"], [22, "classes"], [23, "classes"], [24, "classes"], [58, "classes"], [60, "classes"], [61, "classes"], [62, "classes"], [63, "classes"], [64, "classes"], [65, "classes"], [66, "classes"], [67, "classes"], [68, "classes"], [69, "classes"], [70, "classes"], [71, "classes"], [73, "classes"], [74, "classes"], [75, "classes"], [76, "classes"], [78, "classes"], [81, "classes"], [82, "classes"], [84, "classes"], [87, "classes"], [90, "classes"], [91, "classes"], [95, "classes"], [97, "classes"], [100, "classes"]], "Example": [[0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [23, null], [24, null], [24, null], [58, null], [58, null], [58, null], [58, null], [58, null], [58, null], [58, null], [58, null], [58, null], [58, null], [58, null], [58, null], [58, null], [58, null], [58, null], [61, null], [61, null], [61, null], [61, null], [66, null], [78, null], [82, null]], "Exceptions": [[23, "exceptions"], [25, "exceptions"], [76, "exceptions"], [92, "exceptions"], [101, "exceptions"]], "Functions": [[0, "functions"], [1, "functions"], [10, "functions"], [21, "functions"], [24, "functions"], [26, "functions"], [27, "functions"], [29, "functions"], [30, "functions"], [31, "functions"], [32, "functions"], [33, "functions"], [34, "functions"], [35, "functions"], [36, "functions"], [37, "functions"], [38, "functions"], [39, "functions"], [40, "functions"], [41, "functions"], [42, "functions"], [43, "functions"], [45, "functions"], [46, "functions"], [47, "functions"], [48, "functions"], [49, "functions"], [50, "functions"], [51, "functions"], [52, "functions"], [53, "functions"], [54, "functions"], [55, "functions"], [56, "functions"], [58, "functions"], [72, "functions"], [74, "functions"], [75, "functions"], [77, "functions"], [80, "functions"], [81, "functions"], [85, "functions"], [88, "functions"], [89, "functions"], [90, "functions"], [91, "functions"], [92, "functions"], [93, "functions"], [95, "functions"], [96, "functions"], [98, "functions"], [101, "functions"], [102, "functions"]], "Module Contents": [[0, "module-contents"], [1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [6, "module-contents"], [8, "module-contents"], [9, "module-contents"], [10, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"], [16, "module-contents"], [17, "module-contents"], [18, "module-contents"], [19, "module-contents"], [20, "module-contents"], [21, "module-contents"], [22, "module-contents"], [23, "module-contents"], [24, "module-contents"], [25, "module-contents"], [26, "module-contents"], [27, "module-contents"], [29, "module-contents"], [30, "module-contents"], [31, "module-contents"], [32, "module-contents"], [33, "module-contents"], [34, "module-contents"], [35, "module-contents"], [36, "module-contents"], [37, "module-contents"], [38, "module-contents"], [39, "module-contents"], [40, "module-contents"], [41, "module-contents"], [42, "module-contents"], [43, "module-contents"], [45, "module-contents"], [46, "module-contents"], [47, "module-contents"], [48, "module-contents"], [49, "module-contents"], [50, "module-contents"], [51, "module-contents"], [52, "module-contents"], [53, "module-contents"], [54, "module-contents"], [55, "module-contents"], [56, "module-contents"], [58, "module-contents"], [59, "module-contents"], [60, "module-contents"], [61, "module-contents"], [62, "module-contents"], [63, "module-contents"], [64, "module-contents"], [65, "module-contents"], [67, "module-contents"], [68, "module-contents"], [69, "module-contents"], [70, "module-contents"], [71, "module-contents"], [72, "module-contents"], [73, "module-contents"], [74, "module-contents"], [75, "module-contents"], [76, "module-contents"], [77, "module-contents"], [78, "module-contents"], [80, "module-contents"], [81, "module-contents"], [82, "module-contents"], [83, "module-contents"], [84, "module-contents"], [85, "module-contents"], [87, "module-contents"], [88, "module-contents"], [89, "module-contents"], [91, "module-contents"], [92, "module-contents"], [93, "module-contents"], [95, "module-contents"], [96, "module-contents"], [97, "module-contents"], [98, "module-contents"], [100, "module-contents"], [101, "module-contents"], [102, "module-contents"]], "Notes": [[0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null]], "Package Contents": [[66, "package-contents"], [86, "package-contents"], [90, "package-contents"]], "Submodules": [[7, "submodules"], [28, "submodules"], [44, "submodules"], [57, "submodules"], [66, "submodules"], [79, "submodules"], [86, "submodules"], [90, "submodules"], [94, "submodules"], [99, "submodules"]], "Table of Contents": [[104, null]], "bittensor": [[79, null]], "bittensor.core": [[57, null]], "bittensor.core.async_subtensor": [[0, null]], "bittensor.core.axon": [[1, null]], "bittensor.core.chain_data": [[7, null]], "bittensor.core.chain_data.axon_info": [[2, null]], "bittensor.core.chain_data.chain_identity": [[3, null]], "bittensor.core.chain_data.delegate_info": [[4, null]], "bittensor.core.chain_data.delegate_info_lite": [[5, null]], "bittensor.core.chain_data.dynamic_info": [[6, null]], "bittensor.core.chain_data.info_base": [[8, null]], "bittensor.core.chain_data.ip_info": [[9, null]], "bittensor.core.chain_data.metagraph_info": [[10, null]], "bittensor.core.chain_data.neuron_info": [[11, null]], "bittensor.core.chain_data.neuron_info_lite": [[12, null]], "bittensor.core.chain_data.prometheus_info": [[13, null]], "bittensor.core.chain_data.proposal_vote_data": [[14, null]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, null]], "bittensor.core.chain_data.stake_info": [[16, null]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, null]], "bittensor.core.chain_data.subnet_identity": [[18, null]], "bittensor.core.chain_data.subnet_info": [[19, null]], "bittensor.core.chain_data.subnet_state": [[20, null]], "bittensor.core.chain_data.utils": [[21, null]], "bittensor.core.chain_data.weight_commit_info": [[22, null]], "bittensor.core.config": [[23, null]], "bittensor.core.dendrite": [[24, null]], "bittensor.core.errors": [[25, null]], "bittensor.core.extrinsics": [[44, null]], "bittensor.core.extrinsics.asyncex": [[28, null]], "bittensor.core.extrinsics.asyncex.children": [[26, null]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[27, null]], "bittensor.core.extrinsics.asyncex.liquidity": [[29, null]], "bittensor.core.extrinsics.asyncex.move_stake": [[30, null]], "bittensor.core.extrinsics.asyncex.registration": [[31, null]], "bittensor.core.extrinsics.asyncex.root": [[32, null]], "bittensor.core.extrinsics.asyncex.serving": [[33, null]], "bittensor.core.extrinsics.asyncex.staking": [[34, null]], "bittensor.core.extrinsics.asyncex.start_call": [[35, null]], "bittensor.core.extrinsics.asyncex.take": [[36, null]], "bittensor.core.extrinsics.asyncex.transfer": [[37, null]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, null]], "bittensor.core.extrinsics.asyncex.utils": [[39, null]], "bittensor.core.extrinsics.asyncex.weights": [[40, null]], "bittensor.core.extrinsics.children": [[41, null]], "bittensor.core.extrinsics.commit_reveal": [[42, null]], "bittensor.core.extrinsics.commit_weights": [[43, null]], "bittensor.core.extrinsics.liquidity": [[45, null]], "bittensor.core.extrinsics.move_stake": [[46, null]], "bittensor.core.extrinsics.registration": [[47, null]], "bittensor.core.extrinsics.root": [[48, null]], "bittensor.core.extrinsics.serving": [[49, null]], "bittensor.core.extrinsics.set_weights": [[50, null]], "bittensor.core.extrinsics.staking": [[51, null]], "bittensor.core.extrinsics.start_call": [[52, null]], "bittensor.core.extrinsics.take": [[53, null]], "bittensor.core.extrinsics.transfer": [[54, null]], "bittensor.core.extrinsics.unstaking": [[55, null]], "bittensor.core.extrinsics.utils": [[56, null]], "bittensor.core.metagraph": [[58, null]], "bittensor.core.settings": [[59, null]], "bittensor.core.stream": [[60, null]], "bittensor.core.subtensor": [[61, null]], "bittensor.core.subtensor_api": [[66, null]], "bittensor.core.subtensor_api.chain": [[62, null]], "bittensor.core.subtensor_api.commitments": [[63, null]], "bittensor.core.subtensor_api.delegates": [[64, null]], "bittensor.core.subtensor_api.extrinsics": [[65, null]], "bittensor.core.subtensor_api.metagraphs": [[67, null]], "bittensor.core.subtensor_api.neurons": [[68, null]], "bittensor.core.subtensor_api.queries": [[69, null]], "bittensor.core.subtensor_api.staking": [[70, null]], "bittensor.core.subtensor_api.subnets": [[71, null]], "bittensor.core.subtensor_api.utils": [[72, null]], "bittensor.core.subtensor_api.wallets": [[73, null]], "bittensor.core.synapse": [[74, null]], "bittensor.core.tensor": [[75, null]], "bittensor.core.threadpool": [[76, null]], "bittensor.core.timelock": [[77, null]], "bittensor.core.types": [[78, null]], "bittensor.utils": [[90, null]], "bittensor.utils.axon_utils": [[80, null]], "bittensor.utils.balance": [[81, null]], "bittensor.utils.btlogging": [[86, null]], "bittensor.utils.btlogging.console": [[82, null]], "bittensor.utils.btlogging.defines": [[83, null]], "bittensor.utils.btlogging.format": [[84, null]], "bittensor.utils.btlogging.helpers": [[85, null]], "bittensor.utils.btlogging.loggingmachine": [[87, null]], "bittensor.utils.easy_imports": [[88, null]], "bittensor.utils.formatting": [[89, null]], "bittensor.utils.liquidity": [[91, null]], "bittensor.utils.networking": [[92, null]], "bittensor.utils.registration": [[94, null]], "bittensor.utils.registration.async_pow": [[93, null]], "bittensor.utils.registration.pow": [[95, null]], "bittensor.utils.registration.register_cuda": [[96, null]], "bittensor.utils.subnets": [[97, null]], "bittensor.utils.substrate_utils": [[99, null]], "bittensor.utils.substrate_utils.hasher": [[98, null]], "bittensor.utils.substrate_utils.storage": [[100, null]], "bittensor.utils.version": [[101, null]], "bittensor.utils.weight_utils": [[102, null]]}, "docnames": ["autoapi/bittensor/core/async_subtensor/index", "autoapi/bittensor/core/axon/index", "autoapi/bittensor/core/chain_data/axon_info/index", "autoapi/bittensor/core/chain_data/chain_identity/index", "autoapi/bittensor/core/chain_data/delegate_info/index", "autoapi/bittensor/core/chain_data/delegate_info_lite/index", "autoapi/bittensor/core/chain_data/dynamic_info/index", "autoapi/bittensor/core/chain_data/index", "autoapi/bittensor/core/chain_data/info_base/index", "autoapi/bittensor/core/chain_data/ip_info/index", "autoapi/bittensor/core/chain_data/metagraph_info/index", "autoapi/bittensor/core/chain_data/neuron_info/index", "autoapi/bittensor/core/chain_data/neuron_info_lite/index", "autoapi/bittensor/core/chain_data/prometheus_info/index", "autoapi/bittensor/core/chain_data/proposal_vote_data/index", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index", "autoapi/bittensor/core/chain_data/stake_info/index", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index", "autoapi/bittensor/core/chain_data/subnet_identity/index", "autoapi/bittensor/core/chain_data/subnet_info/index", "autoapi/bittensor/core/chain_data/subnet_state/index", "autoapi/bittensor/core/chain_data/utils/index", "autoapi/bittensor/core/chain_data/weight_commit_info/index", "autoapi/bittensor/core/config/index", "autoapi/bittensor/core/dendrite/index", "autoapi/bittensor/core/errors/index", "autoapi/bittensor/core/extrinsics/asyncex/children/index", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index", "autoapi/bittensor/core/extrinsics/asyncex/index", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index", "autoapi/bittensor/core/extrinsics/asyncex/registration/index", "autoapi/bittensor/core/extrinsics/asyncex/root/index", "autoapi/bittensor/core/extrinsics/asyncex/serving/index", "autoapi/bittensor/core/extrinsics/asyncex/staking/index", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index", "autoapi/bittensor/core/extrinsics/asyncex/take/index", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index", "autoapi/bittensor/core/extrinsics/asyncex/utils/index", "autoapi/bittensor/core/extrinsics/asyncex/weights/index", "autoapi/bittensor/core/extrinsics/children/index", "autoapi/bittensor/core/extrinsics/commit_reveal/index", "autoapi/bittensor/core/extrinsics/commit_weights/index", "autoapi/bittensor/core/extrinsics/index", "autoapi/bittensor/core/extrinsics/liquidity/index", "autoapi/bittensor/core/extrinsics/move_stake/index", "autoapi/bittensor/core/extrinsics/registration/index", "autoapi/bittensor/core/extrinsics/root/index", "autoapi/bittensor/core/extrinsics/serving/index", "autoapi/bittensor/core/extrinsics/set_weights/index", "autoapi/bittensor/core/extrinsics/staking/index", "autoapi/bittensor/core/extrinsics/start_call/index", "autoapi/bittensor/core/extrinsics/take/index", "autoapi/bittensor/core/extrinsics/transfer/index", "autoapi/bittensor/core/extrinsics/unstaking/index", "autoapi/bittensor/core/extrinsics/utils/index", "autoapi/bittensor/core/index", "autoapi/bittensor/core/metagraph/index", "autoapi/bittensor/core/settings/index", "autoapi/bittensor/core/stream/index", "autoapi/bittensor/core/subtensor/index", "autoapi/bittensor/core/subtensor_api/chain/index", "autoapi/bittensor/core/subtensor_api/commitments/index", "autoapi/bittensor/core/subtensor_api/delegates/index", "autoapi/bittensor/core/subtensor_api/extrinsics/index", "autoapi/bittensor/core/subtensor_api/index", "autoapi/bittensor/core/subtensor_api/metagraphs/index", "autoapi/bittensor/core/subtensor_api/neurons/index", "autoapi/bittensor/core/subtensor_api/queries/index", "autoapi/bittensor/core/subtensor_api/staking/index", "autoapi/bittensor/core/subtensor_api/subnets/index", "autoapi/bittensor/core/subtensor_api/utils/index", "autoapi/bittensor/core/subtensor_api/wallets/index", "autoapi/bittensor/core/synapse/index", "autoapi/bittensor/core/tensor/index", "autoapi/bittensor/core/threadpool/index", "autoapi/bittensor/core/timelock/index", "autoapi/bittensor/core/types/index", "autoapi/bittensor/index", "autoapi/bittensor/utils/axon_utils/index", "autoapi/bittensor/utils/balance/index", "autoapi/bittensor/utils/btlogging/console/index", "autoapi/bittensor/utils/btlogging/defines/index", "autoapi/bittensor/utils/btlogging/format/index", "autoapi/bittensor/utils/btlogging/helpers/index", "autoapi/bittensor/utils/btlogging/index", "autoapi/bittensor/utils/btlogging/loggingmachine/index", "autoapi/bittensor/utils/easy_imports/index", "autoapi/bittensor/utils/formatting/index", "autoapi/bittensor/utils/index", "autoapi/bittensor/utils/liquidity/index", "autoapi/bittensor/utils/networking/index", "autoapi/bittensor/utils/registration/async_pow/index", "autoapi/bittensor/utils/registration/index", "autoapi/bittensor/utils/registration/pow/index", "autoapi/bittensor/utils/registration/register_cuda/index", "autoapi/bittensor/utils/subnets/index", "autoapi/bittensor/utils/substrate_utils/hasher/index", "autoapi/bittensor/utils/substrate_utils/index", "autoapi/bittensor/utils/substrate_utils/storage/index", "autoapi/bittensor/utils/version/index", "autoapi/bittensor/utils/weight_utils/index", "autoapi/index", "index"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1}, "filenames": ["autoapi/bittensor/core/async_subtensor/index.rst", "autoapi/bittensor/core/axon/index.rst", "autoapi/bittensor/core/chain_data/axon_info/index.rst", "autoapi/bittensor/core/chain_data/chain_identity/index.rst", "autoapi/bittensor/core/chain_data/delegate_info/index.rst", "autoapi/bittensor/core/chain_data/delegate_info_lite/index.rst", "autoapi/bittensor/core/chain_data/dynamic_info/index.rst", "autoapi/bittensor/core/chain_data/index.rst", "autoapi/bittensor/core/chain_data/info_base/index.rst", "autoapi/bittensor/core/chain_data/ip_info/index.rst", "autoapi/bittensor/core/chain_data/metagraph_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info_lite/index.rst", "autoapi/bittensor/core/chain_data/prometheus_info/index.rst", "autoapi/bittensor/core/chain_data/proposal_vote_data/index.rst", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.rst", "autoapi/bittensor/core/chain_data/stake_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.rst", "autoapi/bittensor/core/chain_data/subnet_identity/index.rst", "autoapi/bittensor/core/chain_data/subnet_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_state/index.rst", "autoapi/bittensor/core/chain_data/utils/index.rst", "autoapi/bittensor/core/chain_data/weight_commit_info/index.rst", "autoapi/bittensor/core/config/index.rst", "autoapi/bittensor/core/dendrite/index.rst", "autoapi/bittensor/core/errors/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/children/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/registration/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/root/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/serving/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/staking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/take/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/utils/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/weights/index.rst", "autoapi/bittensor/core/extrinsics/children/index.rst", "autoapi/bittensor/core/extrinsics/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/commit_weights/index.rst", "autoapi/bittensor/core/extrinsics/index.rst", "autoapi/bittensor/core/extrinsics/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/registration/index.rst", "autoapi/bittensor/core/extrinsics/root/index.rst", "autoapi/bittensor/core/extrinsics/serving/index.rst", "autoapi/bittensor/core/extrinsics/set_weights/index.rst", "autoapi/bittensor/core/extrinsics/staking/index.rst", "autoapi/bittensor/core/extrinsics/start_call/index.rst", "autoapi/bittensor/core/extrinsics/take/index.rst", "autoapi/bittensor/core/extrinsics/transfer/index.rst", "autoapi/bittensor/core/extrinsics/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/utils/index.rst", "autoapi/bittensor/core/index.rst", "autoapi/bittensor/core/metagraph/index.rst", "autoapi/bittensor/core/settings/index.rst", "autoapi/bittensor/core/stream/index.rst", "autoapi/bittensor/core/subtensor/index.rst", "autoapi/bittensor/core/subtensor_api/chain/index.rst", "autoapi/bittensor/core/subtensor_api/commitments/index.rst", "autoapi/bittensor/core/subtensor_api/delegates/index.rst", "autoapi/bittensor/core/subtensor_api/extrinsics/index.rst", "autoapi/bittensor/core/subtensor_api/index.rst", "autoapi/bittensor/core/subtensor_api/metagraphs/index.rst", "autoapi/bittensor/core/subtensor_api/neurons/index.rst", "autoapi/bittensor/core/subtensor_api/queries/index.rst", "autoapi/bittensor/core/subtensor_api/staking/index.rst", "autoapi/bittensor/core/subtensor_api/subnets/index.rst", "autoapi/bittensor/core/subtensor_api/utils/index.rst", "autoapi/bittensor/core/subtensor_api/wallets/index.rst", "autoapi/bittensor/core/synapse/index.rst", "autoapi/bittensor/core/tensor/index.rst", "autoapi/bittensor/core/threadpool/index.rst", "autoapi/bittensor/core/timelock/index.rst", "autoapi/bittensor/core/types/index.rst", "autoapi/bittensor/index.rst", "autoapi/bittensor/utils/axon_utils/index.rst", "autoapi/bittensor/utils/balance/index.rst", "autoapi/bittensor/utils/btlogging/console/index.rst", "autoapi/bittensor/utils/btlogging/defines/index.rst", "autoapi/bittensor/utils/btlogging/format/index.rst", "autoapi/bittensor/utils/btlogging/helpers/index.rst", "autoapi/bittensor/utils/btlogging/index.rst", "autoapi/bittensor/utils/btlogging/loggingmachine/index.rst", "autoapi/bittensor/utils/easy_imports/index.rst", "autoapi/bittensor/utils/formatting/index.rst", "autoapi/bittensor/utils/index.rst", "autoapi/bittensor/utils/liquidity/index.rst", "autoapi/bittensor/utils/networking/index.rst", "autoapi/bittensor/utils/registration/async_pow/index.rst", "autoapi/bittensor/utils/registration/index.rst", "autoapi/bittensor/utils/registration/pow/index.rst", "autoapi/bittensor/utils/registration/register_cuda/index.rst", "autoapi/bittensor/utils/subnets/index.rst", "autoapi/bittensor/utils/substrate_utils/hasher/index.rst", "autoapi/bittensor/utils/substrate_utils/index.rst", "autoapi/bittensor/utils/substrate_utils/storage/index.rst", "autoapi/bittensor/utils/version/index.rst", "autoapi/bittensor/utils/weight_utils/index.rst", "autoapi/index.rst", "index.rst"], "indexentries": {"__repr__() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.__repr__", false]], "__repr__() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.__repr__", false]], "__setattr__() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.__setattr__", false]], "__str__() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.__str__", false]], "__str__() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.__str__", false]], "accountid (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.AccountId", false]], "aclose_session() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.aclose_session", false]], "aclose_session() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.aclose_session", false], [24, "id0", false]], "active (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.active", false]], "active (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Active", false]], "active (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.active", false]], "active (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.active", false]], "active (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.active", false]], "active (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.active", false]], "active (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.active", false]], "active (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.active", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.activity_cutoff", false]], "activitycutoff (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ActivityCutoff", false]], "add_args() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.add_args", false]], "add_args() (bittensor.core.subtensor_api.subtensorapi class method)": [[66, "bittensor.core.subtensor_api.SubtensorApi.add_args", false]], "add_args() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[76, "bittensor.core.threadpool.PriorityThreadPoolExecutor.add_args", false]], "add_args() (bittensor.core.types.subtensormixin class method)": [[78, "bittensor.core.types.SubtensorMixin.add_args", false]], "add_args() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.add_args", false]], "add_legacy_methods() (in module bittensor.core.subtensor_api.utils)": [[72, "bittensor.core.subtensor_api.utils.add_legacy_methods", false]], "add_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_liquidity", false]], "add_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_liquidity", false]], "add_liquidity() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.add_liquidity", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.add_liquidity_extrinsic", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[45, "bittensor.core.extrinsics.liquidity.add_liquidity_extrinsic", false]], "add_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake", false]], "add_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.add_stake", false]], "add_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake", false]], "add_stake() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.add_stake", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[34, "bittensor.core.extrinsics.asyncex.staking.add_stake_extrinsic", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.staking)": [[51, "bittensor.core.extrinsics.staking.add_stake_extrinsic", false]], "add_stake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake_multiple", false]], "add_stake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.add_stake_multiple", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[34, "bittensor.core.extrinsics.asyncex.staking.add_stake_multiple_extrinsic", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.staking)": [[51, "bittensor.core.extrinsics.staking.add_stake_multiple_extrinsic", false]], "additional (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.additional", false]], "additional (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.additional", false]], "addresses (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.addresses", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_alpha", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_interval", false]], "adjustmentalpha (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentAlpha", false]], "adjustmentinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentInterval", false]], "after_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_debug", false]], "after_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_trace", false]], "after_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_debug", false]], "after_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_default", false]], "after_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_info", false]], "after_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_trace", false]], "after_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_warning", false]], "after_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_transition", false]], "all_indices() (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex static method)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.all_indices", false]], "all_logger_names() (in module bittensor.utils.btlogging.helpers)": [[85, "bittensor.utils.btlogging.helpers.all_logger_names", false]], "all_loggers() (in module bittensor.utils.btlogging.helpers)": [[85, "bittensor.utils.btlogging.helpers.all_loggers", false]], "all_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.all_subnets", false]], "all_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.all_subnets", false]], "all_subnets() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.all_subnets", false]], "allowed_delta (in module bittensor.utils.axon_utils)": [[80, "bittensor.utils.axon_utils.ALLOWED_DELTA", false]], "allowed_nonce_window_ns() (in module bittensor.utils.axon_utils)": [[80, "bittensor.utils.axon_utils.allowed_nonce_window_ns", false]], "alpha_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_dividends_per_hotkey", false]], "alpha_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.alpha_dividends_per_hotkey", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_high", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_high", false]], "alpha_high (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_high", false]], "alpha_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_in", false]], "alpha_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_in_emission", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_low", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_low", false]], "alpha_low (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_low", false]], "alpha_out (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_out", false]], "alpha_out_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_out_emission", false]], "alpha_sigmoid_steepness (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_sigmoid_steepness", false]], "alpha_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_slippage", false]], "alpha_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_stake", false]], "alpha_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.alpha_stake", false]], "alpha_to_tao() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao", false]], "alpha_to_tao_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao_with_slippage", false]], "alphadividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaDividendsPerHotkey", false]], "alphahigh (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaHigh", false]], "alphain (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaIn", false]], "alphainemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaInEmission", false]], "alphalow (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaLow", false]], "alphaout (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOut", false]], "alphaoutemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOutEmission", false]], "alphastake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaStake", false]], "app (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.app", false]], "aquery() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.aquery", false]], "arbitration_block (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.arbitration_block", false]], "archive_entrypoint (in module bittensor.core.settings)": [[59, "bittensor.core.settings.ARCHIVE_ENTRYPOINT", false]], "as (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.AS", false]], "async_metagraph() (in module bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.async_metagraph", false]], "async_subtensor (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.async_subtensor", false]], "asyncmetagraph (class in bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.AsyncMetagraph", false]], "asyncsubtensor (class in bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor", false]], "attach() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.attach", false]], "axon (bittensor.core.axon.axonmiddleware attribute)": [[1, "bittensor.core.axon.AxonMiddleware.axon", false]], "axon (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.axon", false]], "axon (class in bittensor.core.axon)": [[1, "bittensor.core.axon.Axon", false]], "axon (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.axon", false]], "axon_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.axon_info", false]], "axon_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.axon_info", false]], "axoninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.AxonInfo", false]], "axoninfo (class in bittensor.core.chain_data.axon_info)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo", false]], "axonmiddleware (class in bittensor.core.axon)": [[1, "bittensor.core.axon.AxonMiddleware", false]], "axons (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.axons", false]], "axons (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Axons", false]], "axons (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.axons", false]], "axonservecallparams (class in bittensor.core.types)": [[78, "bittensor.core.types.AxonServeCallParams", false]], "ayes (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.ayes", false]], "b (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.B", false]], "balance (class in bittensor.utils.balance)": [[81, "bittensor.utils.balance.Balance", false]], "base_log_format (in module bittensor.utils.btlogging.defines)": [[83, "bittensor.utils.btlogging.defines.BASE_LOG_FORMAT", false]], "baseclass (in module bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.BaseClass", false]], "basemodel (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.BaseModel", false]], "before_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_debug", false]], "before_disable_logging() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_logging", false]], "before_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_trace", false]], "before_enable_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_console", false]], "before_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_debug", false]], "before_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_default", false]], "before_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_info", false]], "before_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_trace", false]], "before_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_warning", false]], "before_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_transition", false]], "bits (bittensor.utils.balance.fixedpoint attribute)": [[81, "bittensor.utils.balance.FixedPoint.bits", false]], "bittensor": [[79, "module-bittensor", false]], "bittensor.core": [[57, "module-bittensor.core", false]], "bittensor.core.async_subtensor": [[0, "module-bittensor.core.async_subtensor", false]], "bittensor.core.axon": [[1, "module-bittensor.core.axon", false]], "bittensor.core.chain_data": [[7, "module-bittensor.core.chain_data", false]], "bittensor.core.chain_data.axon_info": [[2, "module-bittensor.core.chain_data.axon_info", false]], "bittensor.core.chain_data.chain_identity": [[3, "module-bittensor.core.chain_data.chain_identity", false]], "bittensor.core.chain_data.delegate_info": [[4, "module-bittensor.core.chain_data.delegate_info", false]], "bittensor.core.chain_data.delegate_info_lite": [[5, "module-bittensor.core.chain_data.delegate_info_lite", false]], "bittensor.core.chain_data.dynamic_info": [[6, "module-bittensor.core.chain_data.dynamic_info", false]], "bittensor.core.chain_data.info_base": [[8, "module-bittensor.core.chain_data.info_base", false]], "bittensor.core.chain_data.ip_info": [[9, "module-bittensor.core.chain_data.ip_info", false]], "bittensor.core.chain_data.metagraph_info": [[10, "module-bittensor.core.chain_data.metagraph_info", false]], "bittensor.core.chain_data.neuron_info": [[11, "module-bittensor.core.chain_data.neuron_info", false]], "bittensor.core.chain_data.neuron_info_lite": [[12, "module-bittensor.core.chain_data.neuron_info_lite", false]], "bittensor.core.chain_data.prometheus_info": [[13, "module-bittensor.core.chain_data.prometheus_info", false]], "bittensor.core.chain_data.proposal_vote_data": [[14, "module-bittensor.core.chain_data.proposal_vote_data", false]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false]], "bittensor.core.chain_data.stake_info": [[16, "module-bittensor.core.chain_data.stake_info", false]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, "module-bittensor.core.chain_data.subnet_hyperparameters", false]], "bittensor.core.chain_data.subnet_identity": [[18, "module-bittensor.core.chain_data.subnet_identity", false]], "bittensor.core.chain_data.subnet_info": [[19, "module-bittensor.core.chain_data.subnet_info", false]], "bittensor.core.chain_data.subnet_state": [[20, "module-bittensor.core.chain_data.subnet_state", false]], "bittensor.core.chain_data.utils": [[21, "module-bittensor.core.chain_data.utils", false]], "bittensor.core.chain_data.weight_commit_info": [[22, "module-bittensor.core.chain_data.weight_commit_info", false]], "bittensor.core.config": [[23, "module-bittensor.core.config", false]], "bittensor.core.dendrite": [[24, "module-bittensor.core.dendrite", false]], "bittensor.core.errors": [[25, "module-bittensor.core.errors", false]], "bittensor.core.extrinsics": [[44, "module-bittensor.core.extrinsics", false]], "bittensor.core.extrinsics.asyncex": [[28, "module-bittensor.core.extrinsics.asyncex", false]], "bittensor.core.extrinsics.asyncex.children": [[26, "module-bittensor.core.extrinsics.asyncex.children", false]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[27, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false]], "bittensor.core.extrinsics.asyncex.liquidity": [[29, "module-bittensor.core.extrinsics.asyncex.liquidity", false]], "bittensor.core.extrinsics.asyncex.move_stake": [[30, "module-bittensor.core.extrinsics.asyncex.move_stake", false]], "bittensor.core.extrinsics.asyncex.registration": [[31, "module-bittensor.core.extrinsics.asyncex.registration", false]], "bittensor.core.extrinsics.asyncex.root": [[32, "module-bittensor.core.extrinsics.asyncex.root", false]], "bittensor.core.extrinsics.asyncex.serving": [[33, "module-bittensor.core.extrinsics.asyncex.serving", false]], "bittensor.core.extrinsics.asyncex.staking": [[34, "module-bittensor.core.extrinsics.asyncex.staking", false]], "bittensor.core.extrinsics.asyncex.start_call": [[35, "module-bittensor.core.extrinsics.asyncex.start_call", false]], "bittensor.core.extrinsics.asyncex.take": [[36, "module-bittensor.core.extrinsics.asyncex.take", false]], "bittensor.core.extrinsics.asyncex.transfer": [[37, "module-bittensor.core.extrinsics.asyncex.transfer", false]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, "module-bittensor.core.extrinsics.asyncex.unstaking", false]], "bittensor.core.extrinsics.asyncex.utils": [[39, "module-bittensor.core.extrinsics.asyncex.utils", false]], "bittensor.core.extrinsics.asyncex.weights": [[40, "module-bittensor.core.extrinsics.asyncex.weights", false]], "bittensor.core.extrinsics.children": [[41, "module-bittensor.core.extrinsics.children", false]], "bittensor.core.extrinsics.commit_reveal": [[42, "module-bittensor.core.extrinsics.commit_reveal", false]], "bittensor.core.extrinsics.commit_weights": [[43, "module-bittensor.core.extrinsics.commit_weights", false]], "bittensor.core.extrinsics.liquidity": [[45, "module-bittensor.core.extrinsics.liquidity", false]], "bittensor.core.extrinsics.move_stake": [[46, "module-bittensor.core.extrinsics.move_stake", false]], "bittensor.core.extrinsics.registration": [[47, "module-bittensor.core.extrinsics.registration", false]], "bittensor.core.extrinsics.root": [[48, "module-bittensor.core.extrinsics.root", false]], "bittensor.core.extrinsics.serving": [[49, "module-bittensor.core.extrinsics.serving", false]], "bittensor.core.extrinsics.set_weights": [[50, "module-bittensor.core.extrinsics.set_weights", false]], "bittensor.core.extrinsics.staking": [[51, "module-bittensor.core.extrinsics.staking", false]], "bittensor.core.extrinsics.start_call": [[52, "module-bittensor.core.extrinsics.start_call", false]], "bittensor.core.extrinsics.take": [[53, "module-bittensor.core.extrinsics.take", false]], "bittensor.core.extrinsics.transfer": [[54, "module-bittensor.core.extrinsics.transfer", false]], "bittensor.core.extrinsics.unstaking": [[55, "module-bittensor.core.extrinsics.unstaking", false]], "bittensor.core.extrinsics.utils": [[56, "module-bittensor.core.extrinsics.utils", false]], "bittensor.core.metagraph": [[58, "module-bittensor.core.metagraph", false]], "bittensor.core.settings": [[59, "module-bittensor.core.settings", false]], "bittensor.core.stream": [[60, "module-bittensor.core.stream", false]], "bittensor.core.subtensor": [[61, "module-bittensor.core.subtensor", false]], "bittensor.core.subtensor_api": [[66, "module-bittensor.core.subtensor_api", false]], "bittensor.core.subtensor_api.chain": [[62, "module-bittensor.core.subtensor_api.chain", false]], "bittensor.core.subtensor_api.commitments": [[63, "module-bittensor.core.subtensor_api.commitments", false]], "bittensor.core.subtensor_api.delegates": [[64, "module-bittensor.core.subtensor_api.delegates", false]], "bittensor.core.subtensor_api.extrinsics": [[65, "module-bittensor.core.subtensor_api.extrinsics", false]], "bittensor.core.subtensor_api.metagraphs": [[67, "module-bittensor.core.subtensor_api.metagraphs", false]], "bittensor.core.subtensor_api.neurons": [[68, "module-bittensor.core.subtensor_api.neurons", false]], "bittensor.core.subtensor_api.queries": [[69, "module-bittensor.core.subtensor_api.queries", false]], "bittensor.core.subtensor_api.staking": [[70, "module-bittensor.core.subtensor_api.staking", false]], "bittensor.core.subtensor_api.subnets": [[71, "module-bittensor.core.subtensor_api.subnets", false]], "bittensor.core.subtensor_api.utils": [[72, "module-bittensor.core.subtensor_api.utils", false]], "bittensor.core.subtensor_api.wallets": [[73, "module-bittensor.core.subtensor_api.wallets", false]], "bittensor.core.synapse": [[74, "module-bittensor.core.synapse", false]], "bittensor.core.tensor": [[75, "module-bittensor.core.tensor", false]], "bittensor.core.threadpool": [[76, "module-bittensor.core.threadpool", false]], "bittensor.core.timelock": [[77, "module-bittensor.core.timelock", false]], "bittensor.core.types": [[78, "module-bittensor.core.types", false]], "bittensor.utils": [[90, "module-bittensor.utils", false]], "bittensor.utils.axon_utils": [[80, "module-bittensor.utils.axon_utils", false]], "bittensor.utils.balance": [[81, "module-bittensor.utils.balance", false]], "bittensor.utils.btlogging": [[86, "module-bittensor.utils.btlogging", false]], "bittensor.utils.btlogging.console": [[82, "module-bittensor.utils.btlogging.console", false]], "bittensor.utils.btlogging.defines": [[83, "module-bittensor.utils.btlogging.defines", false]], "bittensor.utils.btlogging.format": [[84, "module-bittensor.utils.btlogging.format", false]], "bittensor.utils.btlogging.helpers": [[85, "module-bittensor.utils.btlogging.helpers", false]], "bittensor.utils.btlogging.loggingmachine": [[87, "module-bittensor.utils.btlogging.loggingmachine", false]], "bittensor.utils.easy_imports": [[88, "module-bittensor.utils.easy_imports", false]], "bittensor.utils.formatting": [[89, "module-bittensor.utils.formatting", false]], "bittensor.utils.liquidity": [[91, "module-bittensor.utils.liquidity", false]], "bittensor.utils.networking": [[92, "module-bittensor.utils.networking", false]], "bittensor.utils.registration": [[94, "module-bittensor.utils.registration", false]], "bittensor.utils.registration.async_pow": [[93, "module-bittensor.utils.registration.async_pow", false]], "bittensor.utils.registration.pow": [[95, "module-bittensor.utils.registration.pow", false]], "bittensor.utils.registration.register_cuda": [[96, "module-bittensor.utils.registration.register_cuda", false]], "bittensor.utils.subnets": [[97, "module-bittensor.utils.subnets", false]], "bittensor.utils.substrate_utils": [[99, "module-bittensor.utils.substrate_utils", false]], "bittensor.utils.substrate_utils.hasher": [[98, "module-bittensor.utils.substrate_utils.hasher", false]], "bittensor.utils.substrate_utils.storage": [[100, "module-bittensor.utils.substrate_utils.storage", false]], "bittensor.utils.version": [[101, "module-bittensor.utils.version", false]], "bittensor.utils.weight_utils": [[102, "module-bittensor.utils.weight_utils", false]], "bittensor_logger_name (in module bittensor.utils.btlogging.defines)": [[83, "bittensor.utils.btlogging.defines.BITTENSOR_LOGGER_NAME", false]], "bittensorconsole (class in bittensor.utils.btlogging.console)": [[82, "bittensor.utils.btlogging.console.BittensorConsole", false]], "blacklist() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.blacklist", false]], "blacklist_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.blacklist_fns", false]], "blacklistedexception": [[25, "bittensor.core.errors.BlacklistedException", false]], "blake2_128() (in module bittensor.utils.substrate_utils.hasher)": [[98, "bittensor.utils.substrate_utils.hasher.blake2_128", false]], "blake2_128_concat() (in module bittensor.utils.substrate_utils.hasher)": [[98, "bittensor.utils.substrate_utils.hasher.blake2_128_concat", false]], "blake2_256() (in module bittensor.utils.substrate_utils.hasher)": [[98, "bittensor.utils.substrate_utils.hasher.blake2_256", false]], "block (bittensor.core.async_subtensor.asyncsubtensor property)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.block", false]], "block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block", false]], "block (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Block", false]], "block (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.block", false]], "block (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.block", false]], "block (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.block", false]], "block (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.block", false]], "block (bittensor.core.subtensor.subtensor property)": [[61, "bittensor.core.subtensor.Subtensor.block", false]], "block (bittensor.core.subtensor_api.subtensorapi property)": [[66, "bittensor.core.subtensor_api.SubtensorApi.block", false]], "block_at_registration (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block_at_registration", false]], "block_at_registration (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.block_at_registration", false]], "block_at_registration (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.block_at_registration", false]], "block_hash (bittensor.utils.registration.pow.registrationstatistics attribute)": [[95, "bittensor.utils.registration.pow.RegistrationStatistics.block_hash", false]], "block_number (bittensor.utils.registration.pow.powsolution attribute)": [[95, "bittensor.utils.registration.pow.POWSolution.block_number", false]], "block_number (bittensor.utils.registration.pow.registrationstatistics attribute)": [[95, "bittensor.utils.registration.pow.RegistrationStatistics.block_number", false]], "blockatregistration (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlockAtRegistration", false]], "blocknotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.BlockNotFound", false]], "blocks_since_epoch (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.blocks_since_epoch", false]], "blocks_since_last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.blocks_since_last_step", false]], "blocks_since_last_update (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.blocks_since_last_update", false]], "blockssincelaststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlocksSinceLastStep", false]], "blocktime (in module bittensor.core.settings)": [[59, "bittensor.core.settings.BLOCKTIME", false]], "body_hash (bittensor.core.synapse.synapse property)": [[74, "id0", false]], "body_hash() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.body_hash", false]], "bonds (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.bonds", false]], "bonds (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.bonds", false]], "bonds (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.bonds", false]], "bonds (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.bonds", false]], "bonds (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.bonds", false]], "bonds() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.bonds", false]], "bonds() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.bonds", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_moving_avg", false]], "bonds_reset_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_reset_enabled", false]], "bondsmovingavg (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BondsMovingAvg", false]], "brokenthreadpool": [[76, "bittensor.core.threadpool.BrokenThreadPool", false]], "bt_docs_link (in module bittensor.utils)": [[90, "bittensor.utils.BT_DOCS_LINK", false]], "btfileformatter (class in bittensor.utils.btlogging.format)": [[84, "bittensor.utils.btlogging.format.BtFileFormatter", false]], "btstreamformatter (class in bittensor.utils.btlogging.format)": [[84, "bittensor.utils.btlogging.format.BtStreamFormatter", false]], "btstreamingresponsemodel (class in bittensor.core.stream)": [[60, "bittensor.core.stream.BTStreamingResponseModel", false]], "buffer (bittensor.core.tensor.tensor attribute)": [[75, "bittensor.core.tensor.Tensor.buffer", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Burn", false]], "burn (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.burn", false]], "burned_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.burned_register", false]], "burned_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.burned_register", false]], "burned_register() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.burned_register", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.burned_register_extrinsic", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[47, "bittensor.core.extrinsics.registration.burned_register_extrinsic", false]], "c (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.C", false]], "calculate_diff_seconds() (in module bittensor.utils.axon_utils)": [[80, "bittensor.utils.axon_utils.calculate_diff_seconds", false]], "calculate_fees() (in module bittensor.utils.liquidity)": [[91, "bittensor.utils.liquidity.calculate_fees", false]], "call() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.call", false]], "call() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.call", false], [24, "id3", false]], "call() (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.call", false]], "call_stream() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.call_stream", false]], "call_stream() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.call_stream", false], [24, "id4", false]], "cast_dtype() (in module bittensor.core.tensor)": [[75, "bittensor.core.tensor.cast_dtype", false]], "cast_float() (in module bittensor.core.synapse)": [[74, "bittensor.core.synapse.cast_float", false]], "cast_int() (in module bittensor.core.synapse)": [[74, "bittensor.core.synapse.cast_int", false]], "cast_shape() (in module bittensor.core.tensor)": [[75, "bittensor.core.tensor.cast_shape", false]], "certificate (bittensor.core.types.axonservecallparams attribute)": [[78, "bittensor.core.types.AxonServeCallParams.certificate", false]], "certificate (class in bittensor.utils)": [[90, "bittensor.utils.Certificate", false]], "chain (bittensor.core.subtensor_api.subtensorapi property)": [[66, "bittensor.core.subtensor_api.SubtensorApi.chain", false]], "chain (class in bittensor.core.subtensor_api.chain)": [[62, "bittensor.core.subtensor_api.chain.Chain", false]], "chain_endpoint (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.chain_endpoint", false]], "chain_endpoint (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.chain_endpoint", false]], "chain_endpoint (bittensor.core.types.subtensormixin attribute)": [[78, "bittensor.core.types.SubtensorMixin.chain_endpoint", false]], "chainconnectionerror": [[25, "bittensor.core.errors.ChainConnectionError", false]], "chaindatatype (class in bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.ChainDataType", false]], "chainerror": [[25, "bittensor.core.errors.ChainError", false]], "chainidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.ChainIdentity", false]], "chainidentity (class in bittensor.core.chain_data.chain_identity)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity", false]], "chainqueryerror": [[25, "bittensor.core.errors.ChainQueryError", false]], "chaintransactionerror": [[25, "bittensor.core.errors.ChainTransactionError", false]], "check_and_convert_to_balance() (in module bittensor.utils.balance)": [[81, "bittensor.utils.balance.check_and_convert_to_balance", false]], "check_config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.check_config", false]], "check_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.check_config", false]], "check_latest_version_in_pypi() (in module bittensor.utils.version)": [[101, "bittensor.utils.version.check_latest_version_in_pypi", false]], "check_version (in module bittensor.utils)": [[90, "bittensor.utils.check_version", false]], "check_version() (in module bittensor.utils.version)": [[101, "bittensor.utils.version.check_version", false]], "close (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.close", false]], "close() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.close", false]], "close() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.close", false]], "close_session() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.close_session", false]], "close_session() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.close_session", false], [24, "id5", false]], "coldkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.coldkey", false]], "coldkey (bittensor.core.types.axonservecallparams attribute)": [[78, "bittensor.core.types.AxonServeCallParams.coldkey", false]], "coldkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.coldkey_ss58", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.coldkeys", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Coldkeys", false]], "coldkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.coldkeys", false]], "coldkeys (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.coldkeys", false]], "color_map (in module bittensor.utils.btlogging.format)": [[84, "bittensor.utils.btlogging.format.color_map", false]], "commit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit", false]], "commit() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.commit", false]], "commit_block (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_block", false]], "commit_hex (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_hex", false]], "commit_reveal_enabled (bittensor.core.subtensor_api.commitments.commitments attribute)": [[63, "bittensor.core.subtensor_api.commitments.Commitments.commit_reveal_enabled", false]], "commit_reveal_enabled (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.commit_reveal_enabled", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_period", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.asyncex.commit_reveal)": [[27, "bittensor.core.extrinsics.asyncex.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.commit_reveal)": [[42, "bittensor.core.extrinsics.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_weights_enabled", false]], "commit_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.commit_weights", false]], "commit_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_weights", false]], "commit_weights() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.commit_weights", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[40, "bittensor.core.extrinsics.asyncex.weights.commit_weights_extrinsic", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[43, "bittensor.core.extrinsics.commit_weights.commit_weights_extrinsic", false]], "commitments (bittensor.core.subtensor_api.subtensorapi property)": [[66, "bittensor.core.subtensor_api.SubtensorApi.commitments", false]], "commitments (class in bittensor.core.subtensor_api.commitments)": [[63, "bittensor.core.subtensor_api.commitments.Commitments", false]], "commitrevealperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealPeriod", false]], "commitrevealweightsenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealWeightsEnabled", false]], "computed_body_hash (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.computed_body_hash", false]], "config (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.config", false]], "config (class in bittensor.core.config)": [[23, "bittensor.core.config.Config", false]], "config (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.config", false]], "config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.config", false]], "config() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[76, "bittensor.core.threadpool.PriorityThreadPoolExecutor.config", false]], "config() (bittensor.core.types.subtensormixin static method)": [[78, "bittensor.core.types.SubtensorMixin.config", false]], "config() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.config", false]], "connection_requirements (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.connection_requirements", false]], "consensus (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.consensus", false]], "consensus (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Consensus", false]], "consensus (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.consensus", false]], "consensus (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.consensus", false]], "consensus (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.consensus", false]], "consensus (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.consensus", false]], "consensus (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.consensus", false]], "consensus (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.consensus", false]], "console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.console", false]], "console (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[95, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.console", false]], "console (class in bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.Console", false]], "convert_and_normalize_weights_and_uids() (in module bittensor.utils.weight_utils)": [[102, "bittensor.utils.weight_utils.convert_and_normalize_weights_and_uids", false]], "convert_bond_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[102, "bittensor.utils.weight_utils.convert_bond_uids_and_vals_to_tensor", false]], "convert_root_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[102, "bittensor.utils.weight_utils.convert_root_weight_uids_and_vals_to_tensor", false]], "convert_storage_parameter() (bittensor.utils.substrate_utils.storage.storagekey method)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.convert_storage_parameter", false]], "convert_uids_and_weights() (in module bittensor.utils.weight_utils)": [[102, "bittensor.utils.weight_utils.convert_uids_and_weights", false]], "convert_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[102, "bittensor.utils.weight_utils.convert_weight_uids_and_vals_to_tensor", false]], "convert_weights_and_uids_for_emit() (in module bittensor.utils.weight_utils)": [[102, "bittensor.utils.weight_utils.convert_weights_and_uids_for_emit", false]], "copy() (bittensor.core.types.axonservecallparams method)": [[78, "bittensor.core.types.AxonServeCallParams.copy", false]], "create_error_response() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.create_error_response", false]], "create_from_data() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_data", false]], "create_from_storage_function() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_storage_function", false]], "create_pow() (in module bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.create_pow", false]], "create_pow_async() (in module bittensor.utils.registration.async_pow)": [[93, "bittensor.utils.registration.async_pow.create_pow_async", false]], "create_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[60, "bittensor.core.stream.StreamingSynapse.create_streaming_response", false]], "critical() (bittensor.utils.btlogging.console.bittensorconsole method)": [[82, "bittensor.utils.btlogging.console.BittensorConsole.critical", false]], "critical() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.critical", false]], "cudasolver (class in bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.CUDASolver", false]], "custom_logger_method_stack_level (in module bittensor.utils.btlogging.loggingmachine)": [[87, "bittensor.utils.btlogging.loggingmachine.CUSTOM_LOGGER_METHOD_STACK_LEVEL", false]], "d (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.D", false]], "data (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.data", false]], "date_format (in module bittensor.utils.btlogging.defines)": [[83, "bittensor.utils.btlogging.defines.DATE_FORMAT", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.debug", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Debug", false]], "debug() (bittensor.utils.btlogging.console.bittensorconsole method)": [[82, "bittensor.utils.btlogging.console.BittensorConsole.debug", false]], "debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.debug", false]], "debug() (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.debug", false]], "decode_account_id() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_account_id", false]], "decode_account_id_list() (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo class method)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.decode_account_id_list", false]], "decode_block() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_block", false]], "decode_hex_identity_dict() (in module bittensor.utils)": [[90, "bittensor.utils.decode_hex_identity_dict", false]], "decode_metadata() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_metadata", false]], "decode_revealed_commitment() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_revealed_commitment", false]], "decode_revealed_commitment_with_hotkey() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_revealed_commitment_with_hotkey", false]], "decode_scale_value() (bittensor.utils.substrate_utils.storage.storagekey method)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.decode_scale_value", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[36, "bittensor.core.extrinsics.asyncex.take.decrease_take_extrinsic", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[53, "bittensor.core.extrinsics.take.decrease_take_extrinsic", false]], "decrypt() (in module bittensor.core.timelock)": [[77, "bittensor.core.timelock.decrypt", false]], "default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Default", false]], "default() (bittensor.core.config.defaultconfig class method)": [[23, "bittensor.core.config.DefaultConfig.default", false]], "default_endpoint (in module bittensor.core.settings)": [[59, "bittensor.core.settings.DEFAULT_ENDPOINT", false]], "default_log_backup_count (in module bittensor.utils.btlogging.defines)": [[83, "bittensor.utils.btlogging.defines.DEFAULT_LOG_BACKUP_COUNT", false]], "default_log_file_name (in module bittensor.utils.btlogging.defines)": [[83, "bittensor.utils.btlogging.defines.DEFAULT_LOG_FILE_NAME", false]], "default_log_format (in module bittensor.utils.btlogging.format)": [[84, "bittensor.utils.btlogging.format.DEFAULT_LOG_FORMAT", false]], "default_max_rotating_log_file_size (in module bittensor.utils.btlogging.defines)": [[83, "bittensor.utils.btlogging.defines.DEFAULT_MAX_ROTATING_LOG_FILE_SIZE", false]], "default_network (in module bittensor.core.settings)": [[59, "bittensor.core.settings.DEFAULT_NETWORK", false]], "default_trace_format (in module bittensor.utils.btlogging.format)": [[84, "bittensor.utils.btlogging.format.DEFAULT_TRACE_FORMAT", false]], "default_verify() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.default_verify", false]], "defaultconfig (class in bittensor.core.config)": [[23, "bittensor.core.config.DefaultConfig", false]], "defaults (in module bittensor.core.settings)": [[59, "bittensor.core.settings.DEFAULTS", false]], "delegate_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.delegate_ss58", false]], "delegatedinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DelegatedInfo", false]], "delegatedinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo", false]], "delegateinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DelegateInfo", false]], "delegateinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo", false]], "delegateinfobase (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase", false]], "delegateinfolite (class in bittensor.core.chain_data.delegate_info_lite)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite", false]], "delegates (bittensor.core.subtensor_api.subtensorapi property)": [[66, "bittensor.core.subtensor_api.SubtensorApi.delegates", false]], "delegates (class in bittensor.core.subtensor_api.delegates)": [[64, "bittensor.core.subtensor_api.delegates.Delegates", false]], "delegatetaketoohigh": [[25, "bittensor.core.errors.DelegateTakeTooHigh", false]], "delegatetaketoolow": [[25, "bittensor.core.errors.DelegateTakeTooLow", false]], "delegatetxratelimitexceeded": [[25, "bittensor.core.errors.DelegateTxRateLimitExceeded", false]], "dendrite (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.dendrite", false]], "dendrite (bittensor.utils.subnets.subnetsapi attribute)": [[97, "bittensor.utils.subnets.SubnetsAPI.dendrite", false]], "dendrite (class in bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.Dendrite", false]], "dendrite (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.dendrite", false]], "dendrite_default_error (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DENDRITE_DEFAULT_ERROR", false]], "dendrite_error_mapping (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DENDRITE_ERROR_MAPPING", false]], "dendritemixin (class in bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DendriteMixin", false]], "deprecated_message() (in module bittensor.utils)": [[90, "bittensor.utils.deprecated_message", false]], "deregister_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.deregister_primary_logger", false]], "description (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.description", false]], "description (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.description", false]], "deserialize() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.deserialize", false], [74, "id1", false]], "deserialize() (bittensor.core.tensor.tensor method)": [[75, "bittensor.core.tensor.Tensor.deserialize", false]], "determine_block_hash (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.determine_block_hash", false]], "determine_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.determine_block_hash", false]], "determine_block_hash() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.determine_block_hash", false]], "determine_chain_endpoint_and_network() (in module bittensor.utils)": [[90, "bittensor.utils.determine_chain_endpoint_and_network", false]], "dev_id (bittensor.utils.registration.pow.cudasolver attribute)": [[95, "bittensor.utils.registration.pow.CUDASolver.dev_id", false]], "dict() (bittensor.core.types.axonservecallparams method)": [[78, "bittensor.core.types.AxonServeCallParams.dict", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.difficulty", false]], "difficulty (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.difficulty", false]], "difficulty (bittensor.utils.registration.pow.powsolution attribute)": [[95, "bittensor.utils.registration.pow.POWSolution.difficulty", false]], "difficulty (bittensor.utils.registration.pow.registrationstatistics attribute)": [[95, "bittensor.utils.registration.pow.RegistrationStatistics.difficulty", false]], "difficulty() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.difficulty", false]], "difficulty() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.difficulty", false]], "disable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_debug", false]], "disable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_info", false]], "disable_logging (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_logging", false]], "disable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_third_party_loggers", false]], "disable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_trace", false]], "disable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_warning", false]], "disabled (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Disabled", false]], "discord (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.discord", false]], "discord (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.discord", false]], "dispatch() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.dispatch", false]], "dividends (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.dividends", false]], "dividends (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Dividends", false]], "dividends (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.dividends", false]], "dividends (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.dividends", false]], "dividends (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.dividends", false]], "dividends (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.dividends", false]], "dividends (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.dividends", false]], "dividends (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.dividends", false]], "do_serve_axon() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.do_serve_axon", false]], "do_serve_axon() (in module bittensor.core.extrinsics.serving)": [[49, "bittensor.core.extrinsics.serving.do_serve_axon", false]], "does_hotkey_exist (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.does_hotkey_exist", false]], "drain (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.drain", false]], "dtype (bittensor.core.tensor.tensor attribute)": [[75, "bittensor.core.tensor.Tensor.dtype", false]], "dtypes (class in bittensor.core.tensor)": [[75, "bittensor.core.tensor.DTypes", false]], "dtypes (in module bittensor.core.tensor)": [[75, "bittensor.core.tensor.dtypes", false]], "duplicatechild": [[25, "bittensor.core.errors.DuplicateChild", false]], "dynamicinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DynamicInfo", false]], "dynamicinfo (class in bittensor.core.chain_data.dynamic_info)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo", false]], "e (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.E", false]], "emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Emission", false]], "emission (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.emission", false]], "emission (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.emission", false]], "emission (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.emission", false]], "emission (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.emission", false]], "emission (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.emission", false]], "emission (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.emission", false]], "emission (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.emission", false]], "emission_history (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.emission_history", false]], "emission_value (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.emission_value", false]], "emissions (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.emissions", false]], "emoji_map (in module bittensor.utils.btlogging.format)": [[84, "bittensor.utils.btlogging.format.emoji_map", false]], "enable_console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_console", false]], "enable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_debug", false]], "enable_default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_default", false]], "enable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_info", false]], "enable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_third_party_loggers", false]], "enable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_trace", false]], "enable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_warning", false]], "encode() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.encode", false]], "encode_params (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.encode_params", false]], "encode_params() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.encode_params", false]], "encode_params() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.encode_params", false]], "encrypt() (in module bittensor.core.timelock)": [[77, "bittensor.core.timelock.encrypt", false]], "end (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.end", false]], "error() (bittensor.utils.btlogging.console.bittensorconsole method)": [[82, "bittensor.utils.btlogging.console.BittensorConsole.error", false]], "error() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.error", false]], "event_loop_is_running() (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.event_loop_is_running", false]], "exception() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.exception", false]], "external_ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_ip", false]], "external_ip (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.external_ip", false]], "external_port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_port", false]], "externalipnotfound": [[92, "bittensor.utils.networking.ExternalIPNotFound", false]], "extract_response_json() (bittensor.core.stream.streamingsynapse method)": [[60, "bittensor.core.stream.StreamingSynapse.extract_response_json", false]], "extrinsicnotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.ExtrinsicNotFound", false]], "extrinsics (bittensor.core.subtensor_api.subtensorapi property)": [[66, "bittensor.core.subtensor_api.SubtensorApi.extrinsics", false]], "extrinsics (class in bittensor.core.subtensor_api.extrinsics)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics", false]], "extrinsics_subpackage (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.extrinsics_subpackage", false]], "failed_verification (bittensor.core.synapse.synapse property)": [[74, "bittensor.core.synapse.Synapse.failed_verification", false]], "fast_config (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_config", false]], "fast_server (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_server", false]], "fastapithreadedserver (class in bittensor.core.axon)": [[1, "bittensor.core.axon.FastAPIThreadedServer", false]], "fees_alpha (bittensor.utils.liquidity.liquidityposition attribute)": [[91, "bittensor.utils.liquidity.LiquidityPosition.fees_alpha", false]], "fees_tao (bittensor.utils.liquidity.liquidityposition attribute)": [[91, "bittensor.utils.liquidity.LiquidityPosition.fees_tao", false]], "filter_netuids_by_registered_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.filter_netuids_by_registered_hotkeys", false]], "finney_entrypoint (in module bittensor.core.settings)": [[59, "bittensor.core.settings.FINNEY_ENTRYPOINT", false]], "finney_test_entrypoint (in module bittensor.core.settings)": [[59, "bittensor.core.settings.FINNEY_TEST_ENTRYPOINT", false]], "fixed_to_float() (in module bittensor.utils.balance)": [[81, "bittensor.utils.balance.fixed_to_float", false]], "fixedpoint (class in bittensor.utils.balance)": [[81, "bittensor.utils.balance.FixedPoint", false]], "float_to_u64() (in module bittensor.utils)": [[90, "bittensor.utils.float_to_u64", false]], "format() (bittensor.utils.btlogging.format.btfileformatter method)": [[84, "bittensor.utils.btlogging.format.BtFileFormatter.format", false]], "format() (bittensor.utils.btlogging.format.btstreamformatter method)": [[84, "bittensor.utils.btlogging.format.BtStreamFormatter.format", false]], "format_error_message() (in module bittensor.utils)": [[90, "bittensor.utils.format_error_message", false]], "formattime() (bittensor.utils.btlogging.format.btfileformatter method)": [[84, "bittensor.utils.btlogging.format.BtFileFormatter.formatTime", false]], "formattime() (bittensor.utils.btlogging.format.btstreamformatter method)": [[84, "bittensor.utils.btlogging.format.BtStreamFormatter.formatTime", false]], "forward() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.forward", false]], "forward() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.forward", false], [24, "id7", false]], "forward_class_types (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_class_types", false]], "forward_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_fns", false]], "from_dict() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.from_dict", false]], "from_dict() (bittensor.core.chain_data.proposal_vote_data.proposalvotedata class method)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.from_dict", false]], "from_dict() (bittensor.core.chain_data.stake_info.stakeinfo class method)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.from_dict", false]], "from_error() (bittensor.core.errors.chainerror class method)": [[25, "bittensor.core.errors.ChainError.from_error", false]], "from_float() (bittensor.utils.balance.balance static method)": [[81, "bittensor.utils.balance.Balance.from_float", false]], "from_headers() (bittensor.core.synapse.synapse class method)": [[74, "id2", false]], "from_headers() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.from_headers", false]], "from_neuron_info() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_neuron_info", false]], "from_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_parameter_dict", false]], "from_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo class method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.from_parameter_dict", false]], "from_rao() (bittensor.utils.balance.balance static method)": [[81, "bittensor.utils.balance.Balance.from_rao", false]], "from_scale_encoding() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.from_scale_encoding", false]], "from_scale_encoding_using_type_string() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.from_scale_encoding_using_type_string", false]], "from_string() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_string", false]], "from_tao() (bittensor.utils.balance.balance static method)": [[81, "bittensor.utils.balance.Balance.from_tao", false]], "from_vec_u8() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8", false]], "from_vec_u8_v2() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8_v2", false]], "from_weights_bonds_and_neuron_lite() (bittensor.core.chain_data.neuron_info.neuroninfo class method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.from_weights_bonds_and_neuron_lite", false]], "full_address (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.full_address", false]], "generate() (bittensor.utils.substrate_utils.storage.storagekey method)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.generate", false]], "generate_weight_hash() (in module bittensor.utils.weight_utils)": [[102, "bittensor.utils.weight_utils.generate_weight_hash", false]], "get_all_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[63, "bittensor.core.subtensor_api.commitments.Commitments.get_all_commitments", false]], "get_all_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_commitments", false]], "get_all_commitments() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_all_commitments", false]], "get_all_metagraphs_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[67, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_all_metagraphs_info", false]], "get_all_neuron_certificates (bittensor.core.subtensor_api.neurons.neurons attribute)": [[68, "bittensor.core.subtensor_api.neurons.Neurons.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_all_neuron_certificates", false]], "get_all_revealed_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[63, "bittensor.core.subtensor_api.commitments.Commitments.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_all_revealed_commitments", false]], "get_all_subnets_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_all_subnets_info", false]], "get_and_save_latest_version() (in module bittensor.utils.version)": [[101, "bittensor.utils.version.get_and_save_latest_version", false]], "get_async_subtensor() (in module bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.get_async_subtensor", false]], "get_balance (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_balance", false]], "get_balance() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balance", false]], "get_balance() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_balance", false]], "get_balances (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_balances", false]], "get_balances() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balances", false]], "get_balances() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_balances", false]], "get_block_hash (bittensor.core.subtensor_api.chain.chain attribute)": [[62, "bittensor.core.subtensor_api.chain.Chain.get_block_hash", false]], "get_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_block_hash", false]], "get_block_hash() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_block_hash", false]], "get_children (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_children", false]], "get_children (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_children", false]], "get_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children", false]], "get_children() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_children", false]], "get_children_pending (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_children_pending", false]], "get_children_pending (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_children_pending", false]], "get_children_pending() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children_pending", false]], "get_children_pending() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_children_pending", false]], "get_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[63, "bittensor.core.subtensor_api.commitments.Commitments.get_commitment", false]], "get_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_commitment", false]], "get_commitment() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_commitment", false]], "get_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_config", false]], "get_cpu_count() (in module bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.get_cpu_count", false]], "get_current_block (bittensor.core.subtensor_api.chain.chain attribute)": [[62, "bittensor.core.subtensor_api.chain.Chain.get_current_block", false]], "get_current_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_block", false]], "get_current_block() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_current_block", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.commitments.commitments attribute)": [[63, "bittensor.core.subtensor_api.commitments.Commitments.get_current_weight_commit_info", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_current_weight_commit_info", false]], "get_current_weight_commit_info_v2 (bittensor.core.subtensor_api.commitments.commitments attribute)": [[63, "bittensor.core.subtensor_api.commitments.Commitments.get_current_weight_commit_info_v2", false]], "get_current_weight_commit_info_v2() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_weight_commit_info_v2", false]], "get_current_weight_commit_info_v2() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_current_weight_commit_info_v2", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.delegates.delegates attribute)": [[64, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_delegate_by_hotkey", false]], "get_delegate_identities (bittensor.core.subtensor_api.chain.chain attribute)": [[62, "bittensor.core.subtensor_api.chain.Chain.get_delegate_identities", false]], "get_delegate_identities (bittensor.core.subtensor_api.delegates.delegates attribute)": [[64, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_delegate_identities", false]], "get_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[64, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_take", false]], "get_delegate_take (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_take", false]], "get_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_take", false]], "get_delegate_take() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_delegate_take", false]], "get_delegated (bittensor.core.subtensor_api.delegates.delegates attribute)": [[64, "bittensor.core.subtensor_api.delegates.Delegates.get_delegated", false]], "get_delegated (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_delegated", false]], "get_delegated() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegated", false]], "get_delegated() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_delegated", false]], "get_delegates (bittensor.core.subtensor_api.delegates.delegates attribute)": [[64, "bittensor.core.subtensor_api.delegates.Delegates.get_delegates", false]], "get_delegates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegates", false]], "get_delegates() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_delegates", false]], "get_existential_deposit (bittensor.core.subtensor_api.chain.chain attribute)": [[62, "bittensor.core.subtensor_api.chain.Chain.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_existential_deposit", false]], "get_explorer_url_for_network() (in module bittensor.utils)": [[90, "bittensor.utils.get_explorer_url_for_network", false]], "get_external_ip() (in module bittensor.utils.networking)": [[92, "bittensor.utils.networking.get_external_ip", false]], "get_extrinsic_fee() (in module bittensor.core.extrinsics.asyncex.utils)": [[39, "bittensor.core.extrinsics.asyncex.utils.get_extrinsic_fee", false]], "get_extrinsic_fee() (in module bittensor.core.extrinsics.utils)": [[56, "bittensor.core.extrinsics.utils.get_extrinsic_fee", false]], "get_fees() (in module bittensor.utils.liquidity)": [[91, "bittensor.utils.liquidity.get_fees", false]], "get_fees_in_range() (in module bittensor.utils.liquidity)": [[91, "bittensor.utils.liquidity.get_fees_in_range", false]], "get_formatted_ws_endpoint_url() (in module bittensor.utils.networking)": [[92, "bittensor.utils.networking.get_formatted_ws_endpoint_url", false]], "get_hash() (in module bittensor.utils)": [[90, "bittensor.utils.get_hash", false]], "get_hotkey_owner (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_hotkey_owner", false]], "get_hotkey_stake (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor.subtensor attribute)": [[61, "bittensor.core.subtensor.Subtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_stake", false]], "get_human_readable() (in module bittensor.utils.formatting)": [[89, "bittensor.utils.formatting.get_human_readable", false]], "get_hyperparameter (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_hyperparameter", false]], "get_last_bonds_reset() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.get_last_bonds_reset", false]], "get_last_bonds_reset() (in module bittensor.core.extrinsics.serving)": [[49, "bittensor.core.extrinsics.serving.get_last_bonds_reset", false]], "get_last_commitment_bonds_reset_block (bittensor.core.subtensor_api.commitments.commitments attribute)": [[63, "bittensor.core.subtensor_api.commitments.Commitments.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_last_commitment_bonds_reset_block", false]], "get_level() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_level", false]], "get_liquidity_list (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_liquidity_list", false]], "get_max_logger_name_length() (in module bittensor.utils.btlogging.helpers)": [[85, "bittensor.utils.btlogging.helpers.get_max_logger_name_length", false]], "get_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.get_metadata", false]], "get_metadata() (in module bittensor.core.extrinsics.serving)": [[49, "bittensor.core.extrinsics.serving.get_metadata", false]], "get_metagraph_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[67, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_metagraph_info", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.chain.chain attribute)": [[62, "bittensor.core.subtensor_api.chain.Chain.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_minimum_required_stake", false]], "get_netuids_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_netuids_for_hotkey", false]], "get_neuron_certificate (bittensor.core.subtensor_api.neurons.neurons attribute)": [[68, "bittensor.core.subtensor_api.neurons.Neurons.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_neuron_certificate", false]], "get_neuron_for_pubkey_and_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_neuron_for_pubkey_and_subnet", false]], "get_next_epoch_start_block (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_next_epoch_start_block", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info.neuroninfo static method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite static method)": [[12, "id0", false]], "get_old_stakes() (in module bittensor.core.extrinsics.utils)": [[56, "bittensor.core.extrinsics.utils.get_old_stakes", false]], "get_owned_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_owned_hotkeys", false]], "get_parents (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_parents", false]], "get_parents() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_parents", false]], "get_parents() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_parents", false]], "get_queue() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_queue", false]], "get_required_fields() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.get_required_fields", false]], "get_revealed_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[63, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_revealed_commitment", false]], "get_revealed_commitment_by_hotkey (bittensor.core.subtensor_api.commitments.commitments attribute)": [[63, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_revealed_commitment_by_hotkey", false]], "get_save_dir() (in module bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.get_save_dir", false]], "get_size() (in module bittensor.core.synapse)": [[74, "bittensor.core.synapse.get_size", false]], "get_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.get_stake", false]], "get_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_stake", false]], "get_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake", false]], "get_stake() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_stake", false]], "get_stake_add_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.get_stake_add_fee", false]], "get_stake_add_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_stake_add_fee", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_stake_for_hotkey", false]], "get_stake_info_for_coldkey (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor.subtensor attribute)": [[61, "bittensor.core.subtensor.Subtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_info_for_coldkey", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.get_stake_movement_fee", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_stake_movement_fee", false]], "get_stake_operations_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.get_stake_operations_fee", false]], "get_stake_operations_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_operations_fee", false]], "get_stake_operations_fee() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_stake_operations_fee", false]], "get_stake_weight (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.get_stake_weight", false]], "get_stake_weight() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_weight", false]], "get_stake_weight() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_stake_weight", false]], "get_status_message() (bittensor.utils.registration.pow.registrationstatisticslogger class method)": [[95, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.get_status_message", false]], "get_subnet_burn_cost (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_subnet_burn_cost", false]], "get_subnet_hyperparameters (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_subnet_hyperparameters", false]], "get_subnet_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_info", false]], "get_subnet_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_info", false]], "get_subnet_info() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_subnet_info", false]], "get_subnet_owner_hotkey (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_subnet_owner_hotkey", false]], "get_subnet_price (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_price", false]], "get_subnet_price() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_price", false]], "get_subnet_price() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_subnet_price", false]], "get_subnet_prices (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_subnet_prices", false]], "get_subnet_reveal_period_epochs (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_validator_permits (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_subnet_validator_permits", false]], "get_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_subnets", false]], "get_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnets", false]], "get_subnets() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_subnets", false]], "get_timelocked_weight_commits (bittensor.core.subtensor_api.commitments.commitments attribute)": [[63, "bittensor.core.subtensor_api.commitments.Commitments.get_timelocked_weight_commits", false]], "get_timelocked_weight_commits() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_timelocked_weight_commits", false]], "get_timelocked_weight_commits() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_timelocked_weight_commits", false]], "get_timestamp (bittensor.core.subtensor_api.chain.chain attribute)": [[62, "bittensor.core.subtensor_api.chain.Chain.get_timestamp", false]], "get_timestamp() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_timestamp", false]], "get_timestamp() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_timestamp", false]], "get_total_size() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.get_total_size", false], [74, "id3", false]], "get_total_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_total_subnets", false]], "get_total_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_total_subnets", false]], "get_total_subnets() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_total_subnets", false]], "get_transfer_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_transfer_fee", false]], "get_transfer_fn_params() (in module bittensor.utils)": [[90, "bittensor.utils.get_transfer_fn_params", false]], "get_uid_for_hotkey_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_uid_for_hotkey_on_subnet", false]], "get_unit() (bittensor.utils.balance.balance static method)": [[81, "bittensor.utils.balance.Balance.get_unit", false]], "get_unstake_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.get_unstake_fee", false]], "get_unstake_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_unstake_fee", false]], "get_vote_data (bittensor.core.subtensor_api.chain.chain attribute)": [[62, "bittensor.core.subtensor_api.chain.Chain.get_vote_data", false]], "get_vote_data() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_vote_data", false]], "get_vote_data() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.get_vote_data", false]], "github (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.github", false]], "github_repo (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.github_repo", false]], "hash_rate (bittensor.utils.registration.pow.registrationstatistics attribute)": [[95, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate", false]], "hash_rate_perpetual (bittensor.utils.registration.pow.registrationstatistics attribute)": [[95, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate_perpetual", false]], "header_size (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.header_size", false]], "help (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.help", false]], "help() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.help", false]], "help() (bittensor.core.types.subtensormixin class method)": [[78, "bittensor.core.types.SubtensorMixin.help", false]], "help() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.help", false]], "hex_to_bytes (in module bittensor.utils)": [[90, "bittensor.utils.hex_to_bytes", false]], "home_dir (in module bittensor.core.settings)": [[59, "bittensor.core.settings.HOME_DIR", false]], "hotkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.hotkey", false]], "hotkey (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.hotkey", false]], "hotkey (bittensor.core.types.axonservecallparams attribute)": [[78, "bittensor.core.types.AxonServeCallParams.hotkey", false]], "hotkey_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.hotkey_ss58", false]], "hotkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.hotkey_ss58", false]], "hotkeyaccountnotexists": [[25, "bittensor.core.errors.HotKeyAccountNotExists", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.hotkeys", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Hotkeys", false]], "hotkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.hotkeys", false]], "hotkeys (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.hotkeys", false]], "hparams (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.hparams", false]], "i (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.I", false]], "id (bittensor.utils.liquidity.liquidityposition attribute)": [[91, "bittensor.utils.liquidity.LiquidityPosition.id", false]], "identities (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identities", false]], "identities (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identities", false]], "identities (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.identities", false]], "identity (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identity", false]], "identity (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identity", false]], "identity (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.identity", false]], "identity() (in module bittensor.utils.substrate_utils.hasher)": [[98, "bittensor.utils.substrate_utils.hasher.identity", false]], "identityerror": [[25, "bittensor.core.errors.IdentityError", false]], "image (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.image", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.immunity_period", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.immunity_period", false]], "immunity_period (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.immunity_period", false]], "immunity_period() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.immunity_period", false]], "immunity_period() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.immunity_period", false]], "immunityperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ImmunityPeriod", false]], "incentive (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.incentive", false]], "incentive (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.incentive", false]], "incentive (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.incentive", false]], "incentive (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.incentive", false]], "incentive (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.incentive", false]], "incentives (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.incentives", false]], "incentives (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Incentives", false]], "incentives (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.incentives", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[36, "bittensor.core.extrinsics.asyncex.take.increase_take_extrinsic", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[53, "bittensor.core.extrinsics.take.increase_take_extrinsic", false]], "index (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.index", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.info", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Info", false]], "info() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.info", false]], "info() (bittensor.utils.btlogging.console.bittensorconsole method)": [[82, "bittensor.utils.btlogging.console.BittensorConsole.info", false]], "info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.info", false]], "info() (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.info", false]], "infobase (class in bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.InfoBase", false]], "initialize (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.initialize", false]], "initialize() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.initialize", false]], "install_signal_handlers() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.install_signal_handlers", false]], "int_to_ip() (in module bittensor.utils.networking)": [[92, "bittensor.utils.networking.int_to_ip", false]], "internalservererror": [[25, "bittensor.core.errors.InternalServerError", false]], "invalidchild": [[25, "bittensor.core.errors.InvalidChild", false]], "invalidconfigfile": [[23, "bittensor.core.config.InvalidConfigFile", false]], "invalidrequestnameerror": [[25, "bittensor.core.errors.InvalidRequestNameError", false]], "ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.ip", false]], "ip (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip", false]], "ip (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip", false]], "ip (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip", false]], "ip (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.ip", false]], "ip (bittensor.core.types.axonservecallparams attribute)": [[78, "bittensor.core.types.AxonServeCallParams.ip", false]], "ip (bittensor.core.types.prometheusservecallparams attribute)": [[78, "bittensor.core.types.PrometheusServeCallParams.ip", false]], "ip__str__() (in module bittensor.utils.networking)": [[92, "bittensor.utils.networking.ip__str__", false]], "ip_str() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_str", false]], "ip_to_int() (in module bittensor.utils.networking)": [[92, "bittensor.utils.networking.ip_to_int", false]], "ip_type (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip_type", false]], "ip_type (bittensor.core.types.axonservecallparams attribute)": [[78, "bittensor.core.types.AxonServeCallParams.ip_type", false]], "ip_type (bittensor.core.types.prometheusservecallparams attribute)": [[78, "bittensor.core.types.PrometheusServeCallParams.ip_type", false]], "ip_version() (in module bittensor.utils.networking)": [[92, "bittensor.utils.networking.ip_version", false]], "ipinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.IPInfo", false]], "ipinfo (class in bittensor.core.chain_data.ip_info)": [[9, "bittensor.core.chain_data.ip_info.IPInfo", false]], "is_async (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.is_async", false]], "is_blacklist (bittensor.core.synapse.synapse property)": [[74, "bittensor.core.synapse.Synapse.is_blacklist", false]], "is_dynamic (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.is_dynamic", false]], "is_empty (bittensor.core.threadpool.prioritythreadpoolexecutor property)": [[76, "bittensor.core.threadpool.PriorityThreadPoolExecutor.is_empty", false]], "is_failure (bittensor.core.synapse.synapse property)": [[74, "bittensor.core.synapse.Synapse.is_failure", false]], "is_fast_blocks (bittensor.core.subtensor_api.chain.chain attribute)": [[62, "bittensor.core.subtensor_api.chain.Chain.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.is_fast_blocks", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.delegates.delegates attribute)": [[64, "bittensor.core.subtensor_api.delegates.Delegates.is_hotkey_delegate", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.is_hotkey_delegate", false]], "is_hotkey_registered (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.is_hotkey_registered", false]], "is_hotkey_registered_any (bittensor.core.subtensor_api.wallets.wallets attribute)": [[73, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_on_subnet", false]], "is_null (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.is_null", false]], "is_null (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.is_null", false]], "is_registered (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.is_registered", false]], "is_running (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.is_running", false]], "is_serving (bittensor.core.chain_data.axon_info.axoninfo property)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.is_serving", false]], "is_set() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.is_set", false]], "is_stale() (bittensor.utils.registration.pow.powsolution method)": [[95, "bittensor.utils.registration.pow.POWSolution.is_stale", false]], "is_stale_async() (bittensor.utils.registration.pow.powsolution method)": [[95, "bittensor.utils.registration.pow.POWSolution.is_stale_async", false]], "is_subnet_active (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.is_subnet_active", false]], "is_subnet_active() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_subnet_active", false]], "is_subnet_active() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.is_subnet_active", false]], "is_success (bittensor.core.synapse.synapse property)": [[74, "bittensor.core.synapse.Synapse.is_success", false]], "is_timeout (bittensor.core.synapse.synapse property)": [[74, "bittensor.core.synapse.Synapse.is_timeout", false]], "is_valid_bittensor_address_or_public_key() (in module bittensor.utils)": [[90, "bittensor.utils.is_valid_bittensor_address_or_public_key", false]], "is_valid_ss58_address() (in module bittensor.utils)": [[90, "bittensor.utils.is_valid_ss58_address", false]], "k (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.k", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Kappa", false]], "kappa (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.kappa", false]], "kappa (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.kappa", false]], "keyfile (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.keyfile", false]], "keypair (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.keypair", false]], "last_drand_round (bittensor.core.subtensor_api.chain.chain attribute)": [[62, "bittensor.core.subtensor_api.chain.Chain.last_drand_round", false]], "last_drand_round() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.last_drand_round", false]], "last_drand_round() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.last_drand_round", false]], "last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.last_step", false]], "last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_step", false]], "last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.last_step", false]], "last_update (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.last_update", false]], "last_update (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.last_update", false]], "last_update (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.last_update", false]], "last_update (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.last_update", false]], "last_update (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.last_update", false]], "laststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastStep", false]], "lastupdate (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastUpdate", false]], "latent_lite_entrypoint (in module bittensor.core.settings)": [[59, "bittensor.core.settings.LATENT_LITE_ENTRYPOINT", false]], "latest_block_path() (in module bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.latest_block_path", false]], "lazyloadedtorch (class in bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.LazyLoadedTorch", false]], "legacy_torch_api_compat() (in module bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.legacy_torch_api_compat", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.liquid_alpha_enabled", false]], "liquidalphaenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LiquidAlphaEnabled", false]], "liquidity (bittensor.utils.liquidity.liquidityposition attribute)": [[91, "bittensor.utils.liquidity.LiquidityPosition.liquidity", false]], "liquidityposition (class in bittensor.utils.liquidity)": [[91, "bittensor.utils.liquidity.LiquidityPosition", false]], "list_from_dicts() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.list_from_dicts", false]], "list_from_vec_u8() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.list_from_vec_u8", false]], "lite (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.lite", false]], "load() (bittensor.core.metagraph.metagraphmixin method)": [[58, "bittensor.core.metagraph.MetagraphMixin.load", false]], "load_from_path() (bittensor.core.metagraph.metagraphmixin method)": [[58, "bittensor.core.metagraph.MetagraphMixin.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.nontorchmetagraph method)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.torchmetagraph method)": [[58, "bittensor.core.metagraph.TorchMetagraph.load_from_path", false]], "local_entrypoint (in module bittensor.core.settings)": [[59, "bittensor.core.settings.LOCAL_ENTRYPOINT", false]], "locked (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.locked", false]], "log() (bittensor.utils.registration.pow.console static method)": [[95, "bittensor.utils.registration.pow.Console.log", false]], "log_and_handle_error() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.log_and_handle_error", false]], "log_cuda_errors() (in module bittensor.utils.registration.register_cuda)": [[96, "bittensor.utils.registration.register_cuda.log_cuda_errors", false]], "log_exception() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.log_exception", false]], "log_formats (in module bittensor.utils.btlogging.format)": [[84, "bittensor.utils.btlogging.format.LOG_FORMATS", false]], "log_level_color_prefix (in module bittensor.utils.btlogging.format)": [[84, "bittensor.utils.btlogging.format.log_level_color_prefix", false]], "log_no_torch_error() (in module bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.log_no_torch_error", false]], "log_trace_formats (in module bittensor.utils.btlogging.format)": [[84, "bittensor.utils.btlogging.format.LOG_TRACE_FORMATS", false]], "log_verbose (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor.subtensor attribute)": [[61, "bittensor.core.subtensor.Subtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.log_verbose", false]], "log_verbose (bittensor.core.types.subtensormixin attribute)": [[78, "bittensor.core.types.SubtensorMixin.log_verbose", false]], "logger (bittensor.utils.btlogging.console.bittensorconsole attribute)": [[82, "bittensor.utils.btlogging.console.BittensorConsole.logger", false]], "logger (in module bittensor.core.threadpool)": [[76, "bittensor.core.threadpool.logger", false]], "logging (in module bittensor.utils)": [[90, "bittensor.utils.logging", false]], "logging (in module bittensor.utils.btlogging)": [[86, "bittensor.utils.btlogging.logging", false]], "logging_dir (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.logging_dir", false]], "loggingconfig (class in bittensor.utils.btlogging.loggingmachine)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingConfig", false]], "loggingmachine (class in bittensor.utils.btlogging.loggingmachine)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine", false]], "logo_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.logo_url", false]], "max_allowed_validators (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_allowed_validators", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_burn", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_burn", false]], "max_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_burn", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_difficulty", false]], "max_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_n", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_regs_per_block", false]], "max_tick (in module bittensor.utils.liquidity)": [[91, "bittensor.utils.liquidity.MAX_TICK", false]], "max_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_uids", false]], "max_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.max_uids", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_validators", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_validators", false]], "max_validators (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_validators", false]], "max_weight_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_weight_limit", false]], "max_weight_limit (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_weight_limit", false]], "max_weight_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.max_weight_limit", false]], "max_weight_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.max_weight_limit", false]], "max_weight_limit() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.max_weight_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_weights_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_weights_limit", false]], "maxattemptsexception": [[25, "bittensor.core.errors.MaxAttemptsException", false]], "maxburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxBurn", false]], "maxdifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxDifficulty", false]], "maxregsperblock (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxRegsPerBlock", false]], "maxsuccessexception": [[25, "bittensor.core.errors.MaxSuccessException", false]], "maxuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxUids", false]], "maxvalidators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxValidators", false]], "maxweightslimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxWeightsLimit", false]], "merge() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.merge", false]], "message (bittensor.core.errors.synapsedendritenoneexception attribute)": [[25, "bittensor.core.errors.SynapseDendriteNoneException.message", false]], "message (bittensor.core.errors.synapseexception attribute)": [[25, "bittensor.core.errors.SynapseException.message", false]], "message (bittensor.utils.unlockstatus attribute)": [[90, "bittensor.utils.UnlockStatus.message", false]], "metadata (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.metadata", false]], "metadata() (bittensor.core.metagraph.metagraphmixin method)": [[58, "bittensor.core.metagraph.MetagraphMixin.metadata", false]], "metadata_storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.metadata_storage_function", false]], "metadataerror": [[25, "bittensor.core.errors.MetadataError", false]], "metagraph (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[67, "bittensor.core.subtensor_api.metagraphs.Metagraphs.metagraph", false]], "metagraph (class in bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.Metagraph", false]], "metagraph (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.metagraph", false]], "metagraph() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.metagraph", false]], "metagraph() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.metagraph", false]], "metagraph_state_dict_ndarray_keys (in module bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.METAGRAPH_STATE_DICT_NDARRAY_KEYS", false]], "metagraphinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.MetagraphInfo", false]], "metagraphinfo (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo", false]], "metagraphinfoemissions (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions", false]], "metagraphinfoparams (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams", false]], "metagraphinfopool (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool", false]], "metagraphmixin (class in bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.MetagraphMixin", false]], "metagraphs (bittensor.core.subtensor_api.subtensorapi property)": [[66, "bittensor.core.subtensor_api.SubtensorApi.metagraphs", false]], "metagraphs (class in bittensor.core.subtensor_api.metagraphs)": [[67, "bittensor.core.subtensor_api.metagraphs.Metagraphs", false]], "middleware_cls (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.middleware_cls", false]], "millify() (in module bittensor.utils.formatting)": [[89, "bittensor.utils.formatting.millify", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.min_allowed_weights", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_burn", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_burn", false]], "min_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_burn", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_difficulty", false]], "min_tick (in module bittensor.utils.liquidity)": [[91, "bittensor.utils.liquidity.MIN_TICK", false]], "minallowedweights (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinAllowedWeights", false]], "minburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinBurn", false]], "mindifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinDifficulty", false]], "miners_dir (in module bittensor.core.settings)": [[59, "bittensor.core.settings.MINERS_DIR", false]], "mock_subpackage (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.mock_subpackage", false]], "modality (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.modality", false]], "model_config (bittensor.core.stream.streamingsynapse attribute)": [[60, "bittensor.core.stream.StreamingSynapse.model_config", false]], "model_config (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.model_config", false]], "model_config (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.model_config", false]], "model_config (bittensor.core.tensor.tensor attribute)": [[75, "bittensor.core.tensor.Tensor.model_config", false]], "modify_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.modify_liquidity", false]], "modify_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.modify_liquidity", false]], "modify_liquidity() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.modify_liquidity", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.modify_liquidity_extrinsic", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[45, "bittensor.core.extrinsics.liquidity.modify_liquidity_extrinsic", false]], "module": [[0, "module-bittensor.core.async_subtensor", false], [1, "module-bittensor.core.axon", false], [2, "module-bittensor.core.chain_data.axon_info", false], [3, "module-bittensor.core.chain_data.chain_identity", false], [4, "module-bittensor.core.chain_data.delegate_info", false], [5, "module-bittensor.core.chain_data.delegate_info_lite", false], [6, "module-bittensor.core.chain_data.dynamic_info", false], [7, "module-bittensor.core.chain_data", false], [8, "module-bittensor.core.chain_data.info_base", false], [9, "module-bittensor.core.chain_data.ip_info", false], [10, "module-bittensor.core.chain_data.metagraph_info", false], [11, "module-bittensor.core.chain_data.neuron_info", false], [12, "module-bittensor.core.chain_data.neuron_info_lite", false], [13, "module-bittensor.core.chain_data.prometheus_info", false], [14, "module-bittensor.core.chain_data.proposal_vote_data", false], [15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false], [16, "module-bittensor.core.chain_data.stake_info", false], [17, "module-bittensor.core.chain_data.subnet_hyperparameters", false], [18, "module-bittensor.core.chain_data.subnet_identity", false], [19, "module-bittensor.core.chain_data.subnet_info", false], [20, "module-bittensor.core.chain_data.subnet_state", false], [21, "module-bittensor.core.chain_data.utils", false], [22, "module-bittensor.core.chain_data.weight_commit_info", false], [23, "module-bittensor.core.config", false], [24, "module-bittensor.core.dendrite", false], [25, "module-bittensor.core.errors", false], [26, "module-bittensor.core.extrinsics.asyncex.children", false], [27, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false], [28, "module-bittensor.core.extrinsics.asyncex", false], [29, "module-bittensor.core.extrinsics.asyncex.liquidity", false], [30, "module-bittensor.core.extrinsics.asyncex.move_stake", false], [31, "module-bittensor.core.extrinsics.asyncex.registration", false], [32, "module-bittensor.core.extrinsics.asyncex.root", false], [33, "module-bittensor.core.extrinsics.asyncex.serving", false], [34, "module-bittensor.core.extrinsics.asyncex.staking", false], [35, "module-bittensor.core.extrinsics.asyncex.start_call", false], [36, "module-bittensor.core.extrinsics.asyncex.take", false], [37, "module-bittensor.core.extrinsics.asyncex.transfer", false], [38, "module-bittensor.core.extrinsics.asyncex.unstaking", false], [39, "module-bittensor.core.extrinsics.asyncex.utils", false], [40, "module-bittensor.core.extrinsics.asyncex.weights", false], [41, "module-bittensor.core.extrinsics.children", false], [42, "module-bittensor.core.extrinsics.commit_reveal", false], [43, "module-bittensor.core.extrinsics.commit_weights", false], [44, "module-bittensor.core.extrinsics", false], [45, "module-bittensor.core.extrinsics.liquidity", false], [46, "module-bittensor.core.extrinsics.move_stake", false], [47, "module-bittensor.core.extrinsics.registration", false], [48, "module-bittensor.core.extrinsics.root", false], [49, "module-bittensor.core.extrinsics.serving", false], [50, "module-bittensor.core.extrinsics.set_weights", false], [51, "module-bittensor.core.extrinsics.staking", false], [52, "module-bittensor.core.extrinsics.start_call", false], [53, "module-bittensor.core.extrinsics.take", false], [54, "module-bittensor.core.extrinsics.transfer", false], [55, "module-bittensor.core.extrinsics.unstaking", false], [56, "module-bittensor.core.extrinsics.utils", false], [57, "module-bittensor.core", false], [58, "module-bittensor.core.metagraph", false], [59, "module-bittensor.core.settings", false], [60, "module-bittensor.core.stream", false], [61, "module-bittensor.core.subtensor", false], [62, "module-bittensor.core.subtensor_api.chain", false], [63, "module-bittensor.core.subtensor_api.commitments", false], [64, "module-bittensor.core.subtensor_api.delegates", false], [65, "module-bittensor.core.subtensor_api.extrinsics", false], [66, "module-bittensor.core.subtensor_api", false], [67, "module-bittensor.core.subtensor_api.metagraphs", false], [68, "module-bittensor.core.subtensor_api.neurons", false], [69, "module-bittensor.core.subtensor_api.queries", false], [70, "module-bittensor.core.subtensor_api.staking", false], [71, "module-bittensor.core.subtensor_api.subnets", false], [72, "module-bittensor.core.subtensor_api.utils", false], [73, "module-bittensor.core.subtensor_api.wallets", false], [74, "module-bittensor.core.synapse", false], [75, "module-bittensor.core.tensor", false], [76, "module-bittensor.core.threadpool", false], [77, "module-bittensor.core.timelock", false], [78, "module-bittensor.core.types", false], [79, "module-bittensor", false], [80, "module-bittensor.utils.axon_utils", false], [81, "module-bittensor.utils.balance", false], [82, "module-bittensor.utils.btlogging.console", false], [83, "module-bittensor.utils.btlogging.defines", false], [84, "module-bittensor.utils.btlogging.format", false], [85, "module-bittensor.utils.btlogging.helpers", false], [86, "module-bittensor.utils.btlogging", false], [87, "module-bittensor.utils.btlogging.loggingmachine", false], [88, "module-bittensor.utils.easy_imports", false], [89, "module-bittensor.utils.formatting", false], [90, "module-bittensor.utils", false], [91, "module-bittensor.utils.liquidity", false], [92, "module-bittensor.utils.networking", false], [93, "module-bittensor.utils.registration.async_pow", false], [94, "module-bittensor.utils.registration", false], [95, "module-bittensor.utils.registration.pow", false], [96, "module-bittensor.utils.registration.register_cuda", false], [97, "module-bittensor.utils.subnets", false], [98, "module-bittensor.utils.substrate_utils.hasher", false], [99, "module-bittensor.utils.substrate_utils", false], [100, "module-bittensor.utils.substrate_utils.storage", false], [101, "module-bittensor.utils.version", false], [102, "module-bittensor.utils.weight_utils", false]], "move_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.move_stake", false]], "move_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.move_stake", false]], "move_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.move_stake", false]], "move_stake() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.move_stake", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[30, "bittensor.core.extrinsics.asyncex.move_stake.move_stake_extrinsic", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[46, "bittensor.core.extrinsics.move_stake.move_stake_extrinsic", false]], "moving_price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.moving_price", false]], "movingprice (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MovingPrice", false]], "n (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.n", false]], "n (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.n", false]], "n (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.n", false]], "name (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.name", false]], "name (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.name", false]], "name (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Name", false]], "name (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.name", false]], "name (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.name", false]], "name (bittensor.core.types.paramwithtypes attribute)": [[78, "bittensor.core.types.ParamWithTypes.name", false]], "nanoseconds_in_second (in module bittensor.utils.axon_utils)": [[80, "bittensor.utils.axon_utils.NANOSECONDS_IN_SECOND", false]], "nays (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.nays", false]], "netuid (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.netuid", false]], "netuid (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Netuid", false]], "netuid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.netuid", false]], "netuid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.netuid", false]], "netuid (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.netuid", false]], "netuid (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.netuid", false]], "netuid (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.netuid", false]], "netuid (bittensor.core.types.axonservecallparams attribute)": [[78, "bittensor.core.types.AxonServeCallParams.netuid", false]], "netuid (bittensor.core.types.prometheusservecallparams attribute)": [[78, "bittensor.core.types.PrometheusServeCallParams.netuid", false]], "netuid (bittensor.utils.balance.balance attribute)": [[81, "bittensor.utils.balance.Balance.netuid", false]], "netuid (bittensor.utils.liquidity.liquidityposition attribute)": [[91, "bittensor.utils.liquidity.LiquidityPosition.netuid", false]], "network (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.network", false]], "network (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.network", false]], "network (bittensor.core.types.subtensormixin attribute)": [[78, "bittensor.core.types.SubtensorMixin.network", false]], "network_explorer_map (in module bittensor.core.settings)": [[59, "bittensor.core.settings.NETWORK_EXPLORER_MAP", false]], "network_map (in module bittensor.core.settings)": [[59, "bittensor.core.settings.NETWORK_MAP", false]], "network_registered_at (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.network_registered_at", false]], "network_registered_at (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.network_registered_at", false]], "network_registered_at (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.network_registered_at", false]], "networkregisteredat (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NetworkRegisteredAt", false]], "networks (in module bittensor.core.settings)": [[59, "bittensor.core.settings.NETWORKS", false]], "neuron_for_uid (bittensor.core.subtensor_api.neurons.neurons attribute)": [[68, "bittensor.core.subtensor_api.neurons.Neurons.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.neuron_for_uid", false]], "neuroninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfo", false]], "neuroninfo (class in bittensor.core.chain_data.neuron_info)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo", false]], "neuroninfolite (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfoLite", false]], "neuroninfolite (class in bittensor.core.chain_data.neuron_info_lite)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite", false]], "neurons (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.neurons", false]], "neurons (bittensor.core.subtensor_api.neurons.neurons attribute)": [[68, "bittensor.core.subtensor_api.neurons.Neurons.neurons", false]], "neurons (bittensor.core.subtensor_api.subtensorapi property)": [[66, "bittensor.core.subtensor_api.SubtensorApi.neurons", false]], "neurons (class in bittensor.core.subtensor_api.neurons)": [[68, "bittensor.core.subtensor_api.neurons.Neurons", false]], "neurons() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons", false]], "neurons() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.neurons", false]], "neurons_lite (bittensor.core.subtensor_api.neurons.neurons attribute)": [[68, "bittensor.core.subtensor_api.neurons.Neurons.neurons_lite", false]], "neurons_lite() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons_lite", false]], "neurons_lite() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.neurons_lite", false]], "new_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.new_coldkey", false]], "nominationerror": [[25, "bittensor.core.errors.NominationError", false]], "nominators (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.nominators", false]], "nominators (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.nominators", false]], "nonassociatedcoldkey": [[25, "bittensor.core.errors.NonAssociatedColdKey", false]], "nonce (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.nonce", false]], "nonce (bittensor.utils.registration.pow.powsolution attribute)": [[95, "bittensor.utils.registration.pow.POWSolution.nonce", false]], "nonces (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.nonces", false]], "nontorchmetagraph (class in bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.NonTorchMetagraph", false]], "normalize_max_weight() (in module bittensor.utils.weight_utils)": [[102, "bittensor.utils.weight_utils.normalize_max_weight", false]], "notdelegateerror": [[25, "bittensor.core.errors.NotDelegateError", false]], "notenoughstaketosetchildkeys": [[25, "bittensor.core.errors.NotEnoughStakeToSetChildkeys", false]], "notregisterederror": [[25, "bittensor.core.errors.NotRegisteredError", false]], "notverifiedexception": [[25, "bittensor.core.errors.NotVerifiedException", false]], "null_entry (in module bittensor.core.threadpool)": [[76, "bittensor.core.threadpool.NULL_ENTRY", false]], "num_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.num_uids", false]], "num_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.num_uids", false]], "numpy() (bittensor.core.tensor.tensor method)": [[75, "bittensor.core.tensor.Tensor.numpy", false]], "numpyortorch (in module bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.NumpyOrTorch", false]], "numuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NumUids", false]], "off() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.off", false]], "old_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.old_coldkey", false]], "on() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.on", false]], "owner_coldkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.owner_coldkey", false]], "owner_hotkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.owner_hotkey", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.owner_ss58", false]], "ownercoldkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerColdkey", false]], "ownerhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerHotkey", false]], "pallet (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.pallet", false]], "params (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.params", false]], "params_encoded (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.params_encoded", false]], "paramwithtypes (class in bittensor.core.types)": [[78, "bittensor.core.types.ParamWithTypes", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse class method)": [[74, "id4", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.parse_headers_to_inputs", false]], "pending_alpha_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_alpha_emission", false]], "pending_root_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_root_emission", false]], "pendingalphaemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingAlphaEmission", false]], "pendingrootemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingRootEmission", false]], "pipaddress (in module bittensor.core.settings)": [[59, "bittensor.core.settings.PIPADDRESS", false]], "placeholder1 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder1", false]], "placeholder1 (bittensor.core.types.axonservecallparams attribute)": [[78, "bittensor.core.types.AxonServeCallParams.placeholder1", false]], "placeholder2 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder2", false]], "placeholder2 (bittensor.core.types.axonservecallparams attribute)": [[78, "bittensor.core.types.AxonServeCallParams.placeholder2", false]], "pool (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.pool", false]], "port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.port", false]], "port (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.port", false]], "port (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.port", false]], "port (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.port", false]], "port (bittensor.core.types.axonservecallparams attribute)": [[78, "bittensor.core.types.AxonServeCallParams.port", false]], "port (bittensor.core.types.prometheusservecallparams attribute)": [[78, "bittensor.core.types.PrometheusServeCallParams.port", false]], "postprocessexception": [[25, "bittensor.core.errors.PostProcessException", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pow_registration_allowed", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.pow_registration_allowed", false]], "powregistrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PowRegistrationAllowed", false]], "powsolution (class in bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.POWSolution", false]], "prepare_synapse() (bittensor.utils.subnets.subnetsapi method)": [[97, "bittensor.utils.subnets.SubnetsAPI.prepare_synapse", false]], "preprocess() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.preprocess", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.preprocess_synapse_for_request", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.preprocess_synapse_for_request", false], [24, "id8", false]], "price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.price", false]], "price_high (bittensor.utils.liquidity.liquidityposition attribute)": [[91, "bittensor.utils.liquidity.LiquidityPosition.price_high", false]], "price_low (bittensor.utils.liquidity.liquidityposition attribute)": [[91, "bittensor.utils.liquidity.LiquidityPosition.price_low", false]], "price_step (in module bittensor.utils.liquidity)": [[91, "bittensor.utils.liquidity.PRICE_STEP", false]], "price_to_tick() (in module bittensor.utils.liquidity)": [[91, "bittensor.utils.liquidity.price_to_tick", false]], "priority() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.priority", false]], "priority_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.priority_fns", false]], "priorityexception": [[25, "bittensor.core.errors.PriorityException", false]], "prioritythreadpoolexecutor (class in bittensor.core.threadpool)": [[76, "bittensor.core.threadpool.PriorityThreadPoolExecutor", false]], "process_error_message() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.process_error_message", false]], "process_nested() (in module bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.process_nested", false]], "process_responses() (bittensor.utils.subnets.subnetsapi method)": [[97, "bittensor.utils.subnets.SubnetsAPI.process_responses", false]], "process_server_response() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.process_server_response", false]], "process_server_response() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.process_server_response", false], [24, "id9", false]], "process_stake_data() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.process_stake_data", false]], "process_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[60, "bittensor.core.stream.StreamingSynapse.process_streaming_response", false]], "process_time (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.process_time", false]], "process_weights() (in module bittensor.utils.weight_utils)": [[102, "bittensor.utils.weight_utils.process_weights", false]], "process_weights_for_netuid() (in module bittensor.utils.weight_utils)": [[102, "bittensor.utils.weight_utils.process_weights_for_netuid", false]], "prometheus_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.prometheus_info", false]], "prometheus_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.prometheus_info", false]], "prometheusinfo (class in bittensor.core.chain_data.prometheus_info)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo", false]], "prometheusservecallparams (class in bittensor.core.types)": [[78, "bittensor.core.types.PrometheusServeCallParams", false]], "proportionoverflow": [[25, "bittensor.core.errors.ProportionOverflow", false]], "proposalvotedata (class in bittensor.core.chain_data.proposal_vote_data)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData", false]], "protocol (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.protocol", false]], "protocol (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.protocol", false]], "protocol (bittensor.core.types.axonservecallparams attribute)": [[78, "bittensor.core.types.AxonServeCallParams.protocol", false]], "pruning_score (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.pruning_score", false]], "pruning_score (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.pruning_score", false]], "pruning_score (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.pruning_score", false]], "pruningscore (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PruningScore", false]], "publish_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.publish_metadata", false]], "publish_metadata() (in module bittensor.core.extrinsics.serving)": [[49, "bittensor.core.extrinsics.serving.publish_metadata", false]], "queries (bittensor.core.subtensor_api.subtensorapi property)": [[66, "bittensor.core.subtensor_api.SubtensorApi.queries", false]], "queries (class in bittensor.core.subtensor_api.queries)": [[69, "bittensor.core.subtensor_api.queries.Queries", false]], "query() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.query", false]], "query() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.query", false], [24, "id11", false]], "query_api() (bittensor.utils.subnets.subnetsapi method)": [[97, "bittensor.utils.subnets.SubnetsAPI.query_api", false]], "query_constant (bittensor.core.subtensor_api.queries.queries attribute)": [[69, "bittensor.core.subtensor_api.queries.Queries.query_constant", false]], "query_constant() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_constant", false]], "query_constant() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.query_constant", false]], "query_identity (bittensor.core.subtensor_api.neurons.neurons attribute)": [[68, "bittensor.core.subtensor_api.neurons.Neurons.query_identity", false]], "query_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_identity", false]], "query_identity() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.query_identity", false]], "query_map (bittensor.core.subtensor_api.queries.queries attribute)": [[69, "bittensor.core.subtensor_api.queries.Queries.query_map", false]], "query_map() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map", false]], "query_map() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.query_map", false]], "query_map_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[69, "bittensor.core.subtensor_api.queries.Queries.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.query_map_subtensor", false]], "query_module (bittensor.core.subtensor_api.queries.queries attribute)": [[69, "bittensor.core.subtensor_api.queries.Queries.query_module", false]], "query_module() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_module", false]], "query_module() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.query_module", false]], "query_runtime_api (bittensor.core.subtensor_api.queries.queries attribute)": [[69, "bittensor.core.subtensor_api.queries.Queries.query_runtime_api", false]], "query_runtime_api() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_runtime_api", false]], "query_runtime_api() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.query_runtime_api", false]], "query_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[69, "bittensor.core.subtensor_api.queries.Queries.query_subtensor", false]], "query_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_subtensor", false]], "query_subtensor() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.query_subtensor", false]], "r (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.R", false]], "rank (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rank", false]], "rank (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rank", false]], "rank (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.rank", false]], "rank (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.rank", false]], "rank (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.rank", false]], "ranks (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.ranks", false]], "ranks (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.ranks", false]], "ranks (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.ranks", false]], "rao (bittensor.utils.balance.balance attribute)": [[81, "bittensor.utils.balance.Balance.rao", false]], "rao() (in module bittensor.utils.balance)": [[81, "bittensor.utils.balance.rao", false]], "rao_symbol (in module bittensor.core.settings)": [[59, "bittensor.core.settings.RAO_SYMBOL", false]], "rao_unit (bittensor.utils.balance.balance attribute)": [[81, "bittensor.utils.balance.Balance.rao_unit", false]], "raopertao (in module bittensor.utils)": [[90, "bittensor.utils.RAOPERTAO", false]], "read_only (in module bittensor.core.settings)": [[59, "bittensor.core.settings.READ_ONLY", false]], "record_log (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.record_log", false]], "recycle (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.recycle", false]], "recycle() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.recycle", false]], "recycle() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.recycle", false]], "register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register", false]], "register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register", false]], "register() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.register", false]], "register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.register_extrinsic", false]], "register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[47, "bittensor.core.extrinsics.registration.register_extrinsic", false]], "register_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.register_primary_logger", false]], "register_subnet (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register_subnet", false]], "register_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.register_subnet", false]], "register_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register_subnet", false]], "register_subnet() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.register_subnet", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.register_subnet_extrinsic", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.registration)": [[47, "bittensor.core.extrinsics.registration.register_subnet_extrinsic", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.registration_allowed", false]], "registrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.RegistrationAllowed", false]], "registrationerror": [[25, "bittensor.core.errors.RegistrationError", false]], "registrationnotpermittedonrootsubnet": [[25, "bittensor.core.errors.RegistrationNotPermittedOnRootSubnet", false]], "registrations (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.registrations", false]], "registrations (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.registrations", false]], "registrationstatistics (class in bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.RegistrationStatistics", false]], "registrationstatisticslogger (class in bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.RegistrationStatisticsLogger", false]], "remove_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.remove_liquidity", false]], "remove_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.remove_liquidity", false]], "remove_liquidity() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.remove_liquidity", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.remove_liquidity_extrinsic", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[45, "bittensor.core.extrinsics.liquidity.remove_liquidity_extrinsic", false]], "required_hash_fields (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.required_hash_fields", false]], "reset_cuda() (in module bittensor.utils.registration.register_cuda)": [[96, "bittensor.utils.registration.register_cuda.reset_cuda", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.return_per_1000", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.return_per_1000", false]], "reveal_round (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.reveal_round", false]], "reveal_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.reveal_weights", false]], "reveal_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.reveal_weights", false]], "reveal_weights() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.reveal_weights", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[40, "bittensor.core.extrinsics.asyncex.weights.reveal_weights_extrinsic", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[43, "bittensor.core.extrinsics.commit_weights.reveal_weights_extrinsic", false]], "reverse_network_map (in module bittensor.core.settings)": [[59, "bittensor.core.settings.REVERSE_NETWORK_MAP", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rho", false]], "rho (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.rho", false]], "rho (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.rho", false]], "root_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_register", false]], "root_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_register", false]], "root_register() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.root_register", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[32, "bittensor.core.extrinsics.asyncex.root.root_register_extrinsic", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.root)": [[48, "bittensor.core.extrinsics.root.root_register_extrinsic", false]], "root_set_pending_childkey_cooldown (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[26, "bittensor.core.extrinsics.asyncex.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.children)": [[41, "bittensor.core.extrinsics.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_weights", false]], "root_set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_weights", false]], "root_set_weights() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.root_set_weights", false]], "root_tao_stake_weight (in module bittensor.core.settings)": [[59, "bittensor.core.settings.ROOT_TAO_STAKE_WEIGHT", false]], "rounds_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[95, "bittensor.utils.registration.pow.RegistrationStatistics.rounds_total", false]], "router (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.router", false]], "run() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.run", false]], "run() (bittensor.utils.registration.pow.cudasolver method)": [[95, "bittensor.utils.registration.pow.CUDASolver.run", false]], "run() (bittensor.utils.registration.pow.solver method)": [[95, "bittensor.utils.registration.pow.Solver.run", false]], "run_in_thread() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.run_in_thread", false]], "runexception": [[25, "bittensor.core.errors.RunException", false]], "runtime_config (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.runtime_config", false]], "s (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.S", false]], "safe_globals() (in module bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.safe_globals", false]], "save() (bittensor.core.metagraph.metagraphmixin method)": [[58, "bittensor.core.metagraph.MetagraphMixin.save", false]], "scaling_law_power (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.scaling_law_power", false]], "scheduledcoldkeyswapinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.ScheduledColdkeySwapInfo", false]], "scheduledcoldkeyswapinfo (class in bittensor.core.chain_data.scheduled_coldkey_swap_info)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo", false]], "seal (bittensor.utils.registration.pow.powsolution attribute)": [[95, "bittensor.utils.registration.pow.POWSolution.seal", false]], "selectivemetagraphindex (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex", false]], "serialize() (bittensor.core.tensor.tensor static method)": [[75, "bittensor.core.tensor.Tensor.serialize", false]], "serve() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.serve", false]], "serve_axon (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.serve_axon", false]], "serve_axon() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.serve_axon", false]], "serve_axon() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.serve_axon", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.serve_axon_extrinsic", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.serving)": [[49, "bittensor.core.extrinsics.serving.serve_axon_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[33, "bittensor.core.extrinsics.asyncex.serving.serve_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.serving)": [[49, "bittensor.core.extrinsics.serving.serve_extrinsic", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.serving_rate_limit", false]], "servingratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ServingRateLimit", false]], "session (bittensor.core.dendrite.dendritemixin property)": [[24, "bittensor.core.dendrite.DendriteMixin.session", false]], "set_children (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_children", false]], "set_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_children", false]], "set_children() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.set_children", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[26, "bittensor.core.extrinsics.asyncex.children.set_children_extrinsic", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.children)": [[41, "bittensor.core.extrinsics.children.set_children_extrinsic", false]], "set_commitment (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor.subtensor attribute)": [[61, "bittensor.core.subtensor.Subtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[63, "bittensor.core.subtensor_api.commitments.Commitments.set_commitment", false]], "set_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_config", false]], "set_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_console", false]], "set_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_debug", false]], "set_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_default", false]], "set_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[64, "bittensor.core.subtensor_api.delegates.Delegates.set_delegate_take", false]], "set_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_delegate_take", false]], "set_delegate_take() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.set_delegate_take", false]], "set_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_info", false]], "set_name_type() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.set_name_type", false]], "set_reveal_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[63, "bittensor.core.subtensor_api.commitments.Commitments.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.set_reveal_commitment", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[32, "bittensor.core.extrinsics.asyncex.root.set_root_weights_extrinsic", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.root)": [[48, "bittensor.core.extrinsics.root.set_root_weights_extrinsic", false]], "set_subnet_identity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_subnet_identity", false]], "set_subnet_identity (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.set_subnet_identity", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[31, "bittensor.core.extrinsics.asyncex.registration.set_subnet_identity_extrinsic", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.registration)": [[47, "bittensor.core.extrinsics.registration.set_subnet_identity_extrinsic", false]], "set_trace() (bittensor.utils.btlogging.format.btstreamformatter method)": [[84, "bittensor.utils.btlogging.format.BtStreamFormatter.set_trace", false]], "set_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_trace", false]], "set_unit() (bittensor.utils.balance.balance method)": [[81, "bittensor.utils.balance.Balance.set_unit", false]], "set_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_warning", false]], "set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_weights", false]], "set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_weights", false]], "set_weights() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.set_weights", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[40, "bittensor.core.extrinsics.asyncex.weights.set_weights_extrinsic", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.set_weights)": [[50, "bittensor.core.extrinsics.set_weights.set_weights_extrinsic", false]], "setlevel() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.setLevel", false]], "setup_config (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.setup_config", false]], "setup_config() (bittensor.core.types.subtensormixin static method)": [[78, "bittensor.core.types.SubtensorMixin.setup_config", false]], "shape (bittensor.core.tensor.tensor attribute)": [[75, "bittensor.core.tensor.Tensor.shape", false]], "should_exit (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.should_exit", false]], "should_sync (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.should_sync", false]], "should_sync (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.should_sync", false]], "shutdown() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[76, "bittensor.core.threadpool.PriorityThreadPoolExecutor.shutdown", false]], "sign_and_send_extrinsic (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.sign_and_send_extrinsic", false]], "signature (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.signature", false]], "slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.slippage", false]], "solve_cuda() (in module bittensor.utils.registration.register_cuda)": [[96, "bittensor.utils.registration.register_cuda.solve_cuda", false]], "solver (class in bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.Solver", false]], "ss58 (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.ss58", false]], "ss58_address_length (in module bittensor.core.settings)": [[59, "bittensor.core.settings.SS58_ADDRESS_LENGTH", false]], "ss58_address_to_bytes() (in module bittensor.utils)": [[90, "bittensor.utils.ss58_address_to_bytes", false]], "ss58_decode (in module bittensor.utils)": [[90, "bittensor.utils.ss58_decode", false]], "ss58_format (in module bittensor.core.settings)": [[59, "bittensor.core.settings.SS58_FORMAT", false]], "ss58_to_vec_u8() (in module bittensor.utils)": [[90, "bittensor.utils.ss58_to_vec_u8", false]], "stake (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake", false]], "stake (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.stake", false]], "stake (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.stake", false]], "stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.stake", false]], "stake (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.stake", false]], "stake_dict (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake_dict", false]], "stake_dict (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake_dict", false]], "stakeerror": [[25, "bittensor.core.errors.StakeError", false]], "stakeinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.StakeInfo", false]], "stakeinfo (class in bittensor.core.chain_data.stake_info)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo", false]], "staking (bittensor.core.subtensor_api.subtensorapi property)": [[66, "bittensor.core.subtensor_api.SubtensorApi.staking", false]], "staking (class in bittensor.core.subtensor_api.staking)": [[70, "bittensor.core.subtensor_api.staking.Staking", false]], "start() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.start", false]], "start() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.start", false]], "start() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[95, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.start", false]], "start() (bittensor.utils.registration.pow.status method)": [[95, "bittensor.utils.registration.pow.Status.start", false]], "start_call (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.start_call", false]], "start_call (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.start_call", false]], "start_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.start_call", false]], "start_call() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.start_call", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.asyncex.start_call)": [[35, "bittensor.core.extrinsics.asyncex.start_call.start_call_extrinsic", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.start_call)": [[52, "bittensor.core.extrinsics.start_call.start_call_extrinsic", false]], "started (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.started", false]], "state_call (bittensor.core.subtensor_api.chain.chain attribute)": [[62, "bittensor.core.subtensor_api.chain.Chain.state_call", false]], "state_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.state_call", false]], "state_call() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.state_call", false]], "state_dict() (bittensor.core.metagraph.metagraphmixin method)": [[58, "bittensor.core.metagraph.MetagraphMixin.state_dict", false]], "status (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[95, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.status", false]], "status (class in bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.Status", false]], "status() (bittensor.utils.registration.pow.console static method)": [[95, "bittensor.utils.registration.pow.Console.status", false]], "status_code (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.status_code", false]], "status_message (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.status_message", false]], "stop() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.stop", false]], "stop() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.stop", false]], "stop() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[95, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.stop", false]], "stop() (bittensor.utils.registration.pow.status method)": [[95, "bittensor.utils.registration.pow.Status.stop", false]], "storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.storage_function", false]], "storagefunctionnotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.StorageFunctionNotFound", false]], "storagekey (class in bittensor.utils.substrate_utils.storage)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey", false]], "stream_response() (bittensor.core.stream.streamingsynapse.btstreamingresponse method)": [[60, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.stream_response", false]], "streamingsynapse (class in bittensor.core.stream)": [[60, "bittensor.core.stream.StreamingSynapse", false]], "streamingsynapse.btstreamingresponse (class in bittensor.core.stream)": [[60, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse", false]], "strtobool() (in module bittensor.utils)": [[90, "bittensor.utils.strtobool", false]], "submit() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[76, "bittensor.core.threadpool.PriorityThreadPoolExecutor.submit", false]], "subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.subnet", false]], "subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet", false]], "subnet() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.subnet", false]], "subnet_contact (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_contact", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_emission", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.subnet_emission", false]], "subnet_exists (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.subnet_exists", false]], "subnet_exists() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet_exists", false]], "subnet_exists() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.subnet_exists", false]], "subnet_identity (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_identity", false]], "subnet_is_active (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.subnet_is_active", false]], "subnet_name (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_name", false]], "subnet_name (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_name", false]], "subnet_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_url", false]], "subnet_volume (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.subnet_volume", false]], "subnetemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetEmission", false]], "subnethyperparameters (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetHyperparameters", false]], "subnethyperparameters (class in bittensor.core.chain_data.subnet_hyperparameters)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters", false]], "subnetidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetIdentity", false]], "subnetidentity (class in bittensor.core.chain_data.subnet_identity)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity", false]], "subnetinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetInfo", false]], "subnetinfo (class in bittensor.core.chain_data.subnet_info)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo", false]], "subnets (bittensor.core.subtensor_api.subtensorapi property)": [[66, "bittensor.core.subtensor_api.SubtensorApi.subnets", false]], "subnets (class in bittensor.core.subtensor_api.subnets)": [[71, "bittensor.core.subtensor_api.subnets.Subnets", false]], "subnetsapi (class in bittensor.utils.subnets)": [[97, "bittensor.utils.subnets.SubnetsAPI", false]], "subnetstate (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetState", false]], "subnetstate (class in bittensor.core.chain_data.subnet_state)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState", false]], "subnetvolume (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetVolume", false]], "subnetwork_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.subnetwork_n", false]], "subnetwork_n (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.subnetwork_n", false]], "subnetwork_n() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnetwork_n", false]], "subnetwork_n() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.subnetwork_n", false]], "subnetworkdoesnotexist": [[25, "bittensor.core.errors.SubNetworkDoesNotExist", false]], "substrate (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.substrate", false]], "substrate (bittensor.core.subtensor.subtensor attribute)": [[61, "bittensor.core.subtensor.Subtensor.substrate", false]], "substrate (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.substrate", false]], "substraterequestexception (in module bittensor.core.errors)": [[25, "bittensor.core.errors.SubstrateRequestException", false]], "subtensor (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.subtensor", false]], "subtensor (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.subtensor", false]], "subtensor (class in bittensor.core.subtensor)": [[61, "bittensor.core.subtensor.Subtensor", false]], "subtensor (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.subtensor", false]], "subtensorapi (class in bittensor.core.subtensor_api)": [[66, "bittensor.core.subtensor_api.SubtensorApi", false]], "subtensormixin (class in bittensor.core.types)": [[78, "bittensor.core.types.SubtensorMixin", false]], "subvortex_entrypoint (in module bittensor.core.settings)": [[59, "bittensor.core.settings.SUBVORTEX_ENTRYPOINT", false]], "success (bittensor.utils.unlockstatus attribute)": [[90, "bittensor.utils.UnlockStatus.success", false]], "success() (bittensor.utils.btlogging.console.bittensorconsole method)": [[82, "bittensor.utils.btlogging.console.BittensorConsole.success", false]], "success() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.success", false]], "success_level_num (in module bittensor.utils.btlogging.format)": [[84, "bittensor.utils.btlogging.format.SUCCESS_LEVEL_NUM", false]], "swap_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.swap_stake", false]], "swap_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.swap_stake", false]], "swap_stake() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.swap_stake", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[30, "bittensor.core.extrinsics.asyncex.move_stake.swap_stake_extrinsic", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[46, "bittensor.core.extrinsics.move_stake.swap_stake_extrinsic", false]], "symbol (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Symbol", false]], "symbol (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.symbol", false]], "synapse (bittensor.core.errors.synapseexception attribute)": [[25, "bittensor.core.errors.SynapseException.synapse", false]], "synapse (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[60, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.synapse", false]], "synapse (class in bittensor.core.synapse)": [[74, "bittensor.core.synapse.Synapse", false]], "synapse (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.synapse", false]], "synapse_history (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.synapse_history", false]], "synapse_to_response() (bittensor.core.axon.axonmiddleware class method)": [[1, "bittensor.core.axon.AxonMiddleware.synapse_to_response", false]], "synapsedendritenoneexception": [[25, "bittensor.core.errors.SynapseDendriteNoneException", false]], "synapseexception": [[25, "bittensor.core.errors.SynapseException", false]], "synapseparsingerror": [[25, "bittensor.core.errors.SynapseParsingError", false]], "sync() (bittensor.core.metagraph.asyncmetagraph method)": [[58, "bittensor.core.metagraph.AsyncMetagraph.sync", false]], "sync() (bittensor.core.metagraph.metagraph method)": [[58, "bittensor.core.metagraph.Metagraph.sync", false]], "t (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.T", false]], "t (in module bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.T", false]], "t (in module bittensor.core.config)": [[23, "bittensor.core.config.T", false]], "take (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.take", false]], "take (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.take", false]], "takeerror": [[25, "bittensor.core.errors.TakeError", false]], "tao (bittensor.utils.balance.balance property)": [[81, "bittensor.utils.balance.Balance.tao", false]], "tao() (in module bittensor.utils.balance)": [[81, "bittensor.utils.balance.tao", false]], "tao_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_dividends_per_hotkey", false]], "tao_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.tao_dividends_per_hotkey", false]], "tao_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.tao_in", false]], "tao_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.tao_in_emission", false]], "tao_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_slippage", false]], "tao_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_stake", false]], "tao_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.tao_stake", false]], "tao_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.tao_stake", false]], "tao_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.tao_stake", false]], "tao_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.tao_stake", false]], "tao_symbol (in module bittensor.core.settings)": [[59, "bittensor.core.settings.TAO_SYMBOL", false]], "tao_to_alpha() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha", false]], "tao_to_alpha_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha_with_slippage", false]], "taodividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoDividendsPerHotkey", false]], "taoin (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoIn", false]], "taoinemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoInEmission", false]], "taostake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoStake", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.target_regs_per_interval", false]], "targetregsperinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TargetRegsPerInterval", false]], "tempo (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Tempo", false]], "tempo (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.tempo", false]], "tempo (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.tempo", false]], "tempo (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.tempo", false]], "tempo (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.tempo", false]], "tempo() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tempo", false]], "tempo() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.tempo", false]], "tensor (class in bittensor.core.tensor)": [[75, "bittensor.core.tensor.Tensor", false], [75, "bittensor.core.tensor.tensor", false]], "tensor (in module bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.Tensor", false]], "tensor() (bittensor.core.tensor.tensor method)": [[75, "bittensor.core.tensor.Tensor.tensor", false]], "terminalinfo (class in bittensor.core.synapse)": [[74, "bittensor.core.synapse.TerminalInfo", false]], "terminate_workers_and_wait_for_exit() (in module bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.terminate_workers_and_wait_for_exit", false]], "thread_pool (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.thread_pool", false]], "threshold (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.threshold", false]], "tick_to_price() (in module bittensor.utils.liquidity)": [[91, "bittensor.utils.liquidity.tick_to_price", false]], "time_average (bittensor.utils.registration.pow.registrationstatistics attribute)": [[95, "bittensor.utils.registration.pow.RegistrationStatistics.time_average", false]], "time_spent (bittensor.utils.registration.pow.registrationstatistics attribute)": [[95, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent", false]], "time_spent_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[95, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent_total", false]], "timeout (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.timeout", false]], "to_dict() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.to_dict", false]], "to_headers() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.to_headers", false], [74, "id5", false]], "to_hex() (bittensor.utils.substrate_utils.storage.storagekey method)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.to_hex", false]], "to_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_parameter_dict", false]], "to_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.to_parameter_dict", false]], "to_string() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.to_string", false]], "to_string() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_string", false]], "to_token_amounts() (bittensor.utils.liquidity.liquidityposition method)": [[91, "bittensor.utils.liquidity.LiquidityPosition.to_token_amounts", false]], "toggle_user_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.toggle_user_liquidity", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[29, "bittensor.core.extrinsics.asyncex.liquidity.toggle_user_liquidity_extrinsic", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[45, "bittensor.core.extrinsics.liquidity.toggle_user_liquidity_extrinsic", false]], "token_streamer (bittensor.core.stream.btstreamingresponsemodel attribute)": [[60, "bittensor.core.stream.BTStreamingResponseModel.token_streamer", false]], "token_streamer (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[60, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.token_streamer", false]], "tolist() (bittensor.core.tensor.tensor method)": [[75, "bittensor.core.tensor.Tensor.tolist", false]], "toomanychildren": [[25, "bittensor.core.errors.TooManyChildren", false]], "torch (bittensor.core.tensor.dtypes attribute)": [[75, "bittensor.core.tensor.DTypes.torch", false]], "torch (in module bittensor.utils)": [[90, "bittensor.utils.torch", false]], "torch (in module bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.torch", false]], "torchmetagraph (class in bittensor.core.metagraph)": [[58, "bittensor.core.metagraph.TorchMetagraph", false]], "total_daily_return (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.total_daily_return", false]], "total_daily_return (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.total_daily_return", false]], "total_size (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.total_size", false]], "total_stake (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.total_stake", false]], "total_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.total_stake", false]], "total_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.total_stake", false]], "total_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.total_stake", false]], "totalstake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TotalStake", false]], "tpb (bittensor.utils.registration.pow.cudasolver attribute)": [[95, "bittensor.utils.registration.pow.CUDASolver.tpb", false]], "trace (bittensor.utils.btlogging.format.btstreamformatter attribute)": [[84, "bittensor.utils.btlogging.format.BtStreamFormatter.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Trace", false]], "trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.trace", false]], "trace() (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.trace", false]], "trace_level_num (in module bittensor.utils.btlogging.format)": [[84, "bittensor.utils.btlogging.format.TRACE_LEVEL_NUM", false]], "trace_log_format (in module bittensor.utils.btlogging.defines)": [[83, "bittensor.utils.btlogging.defines.TRACE_LOG_FORMAT", false]], "transfer (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer", false]], "transfer() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer", false]], "transfer() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.transfer", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.asyncex.transfer)": [[37, "bittensor.core.extrinsics.asyncex.transfer.transfer_extrinsic", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.transfer)": [[54, "bittensor.core.extrinsics.transfer.transfer_extrinsic", false]], "transfer_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer_stake", false]], "transfer_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer_stake", false]], "transfer_stake() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.transfer_stake", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[30, "bittensor.core.extrinsics.asyncex.move_stake.transfer_stake_extrinsic", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[46, "bittensor.core.extrinsics.move_stake.transfer_stake_extrinsic", false]], "transfererror": [[25, "bittensor.core.errors.TransferError", false]], "transfers_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.transfers_enabled", false]], "trust (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.trust", false]], "trust (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Trust", false]], "trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.trust", false]], "trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.trust", false]], "trust (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.trust", false]], "trust (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.trust", false]], "trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.trust", false]], "trust (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.trust", false]], "ts (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.TS", false]], "tv (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.Tv", false]], "two_x64_concat() (in module bittensor.utils.substrate_utils.hasher)": [[98, "bittensor.utils.substrate_utils.hasher.two_x64_concat", false]], "tx_rate_limit (bittensor.core.subtensor_api.chain.chain attribute)": [[62, "bittensor.core.subtensor_api.chain.Chain.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.tx_rate_limit", false]], "txratelimitexceeded": [[25, "bittensor.core.errors.TxRateLimitExceeded", false]], "type (bittensor.core.types.paramwithtypes attribute)": [[78, "bittensor.core.types.ParamWithTypes.type", false]], "type_registry (in module bittensor.core.settings)": [[59, "bittensor.core.settings.TYPE_REGISTRY", false]], "u16_max (in module bittensor.utils)": [[90, "bittensor.utils.U16_MAX", false]], "u16_max (in module bittensor.utils.weight_utils)": [[102, "bittensor.utils.weight_utils.U16_MAX", false]], "u16_normalized_float() (in module bittensor.utils)": [[90, "bittensor.utils.u16_normalized_float", false]], "u32_max (in module bittensor.utils.weight_utils)": [[102, "bittensor.utils.weight_utils.U32_MAX", false]], "u64_max (in module bittensor.utils)": [[90, "bittensor.utils.U64_MAX", false]], "u64_normalized_float() (in module bittensor.utils)": [[90, "bittensor.utils.u64_normalized_float", false]], "uid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.uid", false]], "uid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.uid", false]], "uids (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.uids", false]], "uids (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.uids", false]], "uids (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.uids", false]], "unit (bittensor.utils.balance.balance attribute)": [[81, "bittensor.utils.balance.Balance.unit", false]], "unknownsynapseerror": [[25, "bittensor.core.errors.UnknownSynapseError", false]], "unlock_key() (in module bittensor.utils)": [[90, "bittensor.utils.unlock_key", false]], "unlockstatus (class in bittensor.utils)": [[90, "bittensor.utils.UnlockStatus", false]], "unstake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake", false]], "unstake (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.unstake", false]], "unstake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake", false]], "unstake() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.unstake", false]], "unstake_all (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_all", false]], "unstake_all (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.unstake_all", false]], "unstake_all() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_all", false]], "unstake_all() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.unstake_all", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_all_extrinsic", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[55, "bittensor.core.extrinsics.unstaking.unstake_all_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[55, "bittensor.core.extrinsics.unstaking.unstake_extrinsic", false]], "unstake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[65, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_multiple", false]], "unstake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[70, "bittensor.core.subtensor_api.staking.Staking.unstake_multiple", false]], "unstake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_multiple", false]], "unstake_multiple() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.unstake_multiple", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_multiple_extrinsic", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[55, "bittensor.core.extrinsics.unstaking.unstake_multiple_extrinsic", false]], "unstakeerror": [[25, "bittensor.core.errors.UnstakeError", false]], "update() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[95, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.update", false]], "update() (bittensor.utils.registration.pow.status method)": [[95, "bittensor.utils.registration.pow.Status.update", false]], "update_curr_block() (in module bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.update_curr_block", false]], "url (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.url", false]], "use_torch (in module bittensor.utils)": [[90, "bittensor.utils.use_torch", false]], "use_torch() (in module bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.use_torch", false]], "user_bittensor_dir (in module bittensor.core.settings)": [[59, "bittensor.core.settings.USER_BITTENSOR_DIR", false]], "user_liquidity_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.user_liquidity_enabled", false]], "usingspawnstartmethod (class in bittensor.utils.registration.pow)": [[95, "bittensor.utils.registration.pow.UsingSpawnStartMethod", false]], "uuid (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.uuid", false]], "uuid (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.uuid", false]], "uuid (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.uuid", false]], "v_7_2_0 (in module bittensor.core.axon)": [[1, "bittensor.core.axon.V_7_2_0", false]], "validate_chain_endpoint() (in module bittensor.utils)": [[90, "bittensor.utils.validate_chain_endpoint", false]], "validator_permit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_permit", false]], "validator_permit (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.validator_permit", false]], "validator_permit (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.validator_permit", false]], "validator_permit (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.validator_permit", false]], "validator_permit (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.validator_permit", false]], "validator_permits (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.validator_permits", false]], "validator_permits (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.validator_permits", false]], "validator_trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_trust", false]], "validator_trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_trust", false]], "validator_trust (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.validator_trust", false]], "validator_trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.validator_trust", false]], "validator_trust (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.validator_trust", false]], "validatorpermit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ValidatorPermit", false]], "validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validators", false]], "validators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Validators", false]], "value_scale_type (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[100, "bittensor.utils.substrate_utils.storage.StorageKey.value_scale_type", false]], "verify() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.verify", false]], "verify_body_integrity() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.verify_body_integrity", false]], "verify_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.verify_fns", false]], "version (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.version", false]], "version (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.version", false]], "version (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.version", false]], "version (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.version", false]], "version (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.version", false]], "version (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.version", false]], "version (bittensor.core.types.axonservecallparams attribute)": [[78, "bittensor.core.types.AxonServeCallParams.version", false]], "version (bittensor.core.types.prometheusservecallparams attribute)": [[78, "bittensor.core.types.PrometheusServeCallParams.version", false]], "version_as_int (in module bittensor.core.settings)": [[59, "bittensor.core.settings.version_as_int", false]], "version_check_threshold (in module bittensor.utils.version)": [[101, "bittensor.utils.version.VERSION_CHECK_THRESHOLD", false]], "version_checking (in module bittensor.utils)": [[90, "bittensor.utils.version_checking", false]], "version_checking() (in module bittensor.utils.version)": [[101, "bittensor.utils.version.version_checking", false]], "version_split (in module bittensor.core.settings)": [[59, "bittensor.core.settings.version_split", false]], "versioncheckerror": [[101, "bittensor.utils.version.VersionCheckError", false]], "versioncheckerror (in module bittensor.utils)": [[90, "bittensor.utils.VersionCheckError", false]], "w (bittensor.core.metagraph.metagraphmixin property)": [[58, "bittensor.core.metagraph.MetagraphMixin.W", false]], "wait_for_block (bittensor.core.subtensor_api.subtensorapi attribute)": [[66, "bittensor.core.subtensor_api.SubtensorApi.wait_for_block", false]], "wait_for_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.wait_for_block", false]], "wait_for_block() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.wait_for_block", false]], "wait_reveal_and_decrypt() (in module bittensor.core.timelock)": [[77, "bittensor.core.timelock.wait_reveal_and_decrypt", false]], "wallet (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.wallet", false]], "wallet (bittensor.utils.subnets.subnetsapi attribute)": [[97, "bittensor.utils.subnets.SubnetsAPI.wallet", false]], "wallet (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.wallet", false]], "wallets (bittensor.core.subtensor_api.subtensorapi property)": [[66, "bittensor.core.subtensor_api.SubtensorApi.wallets", false]], "wallets (class in bittensor.core.subtensor_api.wallets)": [[73, "bittensor.core.subtensor_api.wallets.Wallets", false]], "wallets_dir (in module bittensor.core.settings)": [[59, "bittensor.core.settings.WALLETS_DIR", false]], "warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Warning", false]], "warning() (bittensor.utils.btlogging.console.bittensorconsole method)": [[82, "bittensor.utils.btlogging.console.BittensorConsole.warning", false]], "warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[87, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.warning", false]], "warning() (in module bittensor.utils.easy_imports)": [[88, "bittensor.utils.easy_imports.warning", false]], "weightcommitinfo (class in bittensor.core.chain_data.weight_commit_info)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo", false]], "weights (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.weights", false]], "weights (bittensor.core.metagraph.metagraphmixin attribute)": [[58, "bittensor.core.metagraph.MetagraphMixin.weights", false]], "weights (bittensor.core.metagraph.nontorchmetagraph attribute)": [[58, "bittensor.core.metagraph.NonTorchMetagraph.weights", false]], "weights (bittensor.core.metagraph.torchmetagraph attribute)": [[58, "bittensor.core.metagraph.TorchMetagraph.weights", false]], "weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.weights", false]], "weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights", false]], "weights() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.weights", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[71, "bittensor.core.subtensor_api.subnets.Subnets.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.subtensor.subtensor method)": [[61, "bittensor.core.subtensor.Subtensor.weights_rate_limit", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_version", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_version", false]], "weights_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_version", false]], "weightsratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsRateLimit", false]], "weightsversion (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsVersion", false]], "xxh128() (in module bittensor.utils.substrate_utils.hasher)": [[98, "bittensor.utils.substrate_utils.hasher.xxh128", false]], "xxh64() (in module bittensor.utils.substrate_utils.hasher)": [[98, "bittensor.utils.substrate_utils.hasher.xxh64", false]], "yuma_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.yuma_version", false]]}, "objects": {"": [[79, 0, 0, "-", "bittensor"]], "bittensor": [[57, 0, 0, "-", "core"], [90, 0, 0, "-", "utils"]], "bittensor.core": [[0, 0, 0, "-", "async_subtensor"], [1, 0, 0, "-", "axon"], [7, 0, 0, "-", "chain_data"], [23, 0, 0, "-", "config"], [24, 0, 0, "-", "dendrite"], [25, 0, 0, "-", "errors"], [44, 0, 0, "-", "extrinsics"], [58, 0, 0, "-", "metagraph"], [59, 0, 0, "-", "settings"], [60, 0, 0, "-", "stream"], [61, 0, 0, "-", "subtensor"], [66, 0, 0, "-", "subtensor_api"], [74, 0, 0, "-", "synapse"], [75, 0, 0, "-", "tensor"], [76, 0, 0, "-", "threadpool"], [77, 0, 0, "-", "timelock"], [78, 0, 0, "-", "types"]], "bittensor.core.async_subtensor": [[0, 1, 1, "", "AsyncSubtensor"], [0, 5, 1, "", "get_async_subtensor"]], "bittensor.core.async_subtensor.AsyncSubtensor": [[0, 2, 1, "", "add_liquidity"], [0, 2, 1, "", "add_stake"], [0, 2, 1, "", "add_stake_multiple"], [0, 2, 1, "", "all_subnets"], [0, 3, 1, "", "block"], [0, 2, 1, "", "blocks_since_last_step"], [0, 2, 1, "", "blocks_since_last_update"], [0, 2, 1, "", "bonds"], [0, 2, 1, "", "burned_register"], [0, 2, 1, "", "close"], [0, 2, 1, "", "commit"], [0, 2, 1, "", "commit_reveal_enabled"], [0, 2, 1, "", "commit_weights"], [0, 2, 1, "", "determine_block_hash"], [0, 2, 1, "", "difficulty"], [0, 2, 1, "", "does_hotkey_exist"], [0, 2, 1, "", "encode_params"], [0, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [0, 2, 1, "", "get_all_commitments"], [0, 2, 1, "", "get_all_metagraphs_info"], [0, 2, 1, "", "get_all_neuron_certificates"], [0, 2, 1, "", "get_all_revealed_commitments"], [0, 2, 1, "", "get_all_subnets_info"], [0, 2, 1, "", "get_balance"], [0, 2, 1, "", "get_balances"], [0, 2, 1, "", "get_block_hash"], [0, 2, 1, "", "get_children"], [0, 2, 1, "", "get_children_pending"], [0, 2, 1, "", "get_commitment"], [0, 2, 1, "", "get_current_block"], [0, 2, 1, "", "get_current_weight_commit_info"], [0, 2, 1, "", "get_current_weight_commit_info_v2"], [0, 2, 1, "", "get_delegate_by_hotkey"], [0, 2, 1, "", "get_delegate_identities"], [0, 2, 1, "", "get_delegate_take"], [0, 2, 1, "", "get_delegated"], [0, 2, 1, "", "get_delegates"], [0, 2, 1, "", "get_existential_deposit"], [0, 2, 1, "", "get_hotkey_owner"], [0, 4, 1, "", "get_hotkey_stake"], [0, 2, 1, "", "get_hyperparameter"], [0, 2, 1, "", "get_last_commitment_bonds_reset_block"], [0, 2, 1, "", "get_liquidity_list"], [0, 2, 1, "", "get_metagraph_info"], [0, 2, 1, "", "get_minimum_required_stake"], [0, 2, 1, "", "get_netuids_for_hotkey"], [0, 2, 1, "", "get_neuron_certificate"], [0, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [0, 2, 1, "", "get_next_epoch_start_block"], [0, 2, 1, "", "get_owned_hotkeys"], [0, 2, 1, "", "get_parents"], [0, 2, 1, "", "get_revealed_commitment"], [0, 2, 1, "", "get_revealed_commitment_by_hotkey"], [0, 2, 1, "", "get_stake"], [0, 2, 1, "", "get_stake_add_fee"], [0, 2, 1, "", "get_stake_for_coldkey"], [0, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [0, 2, 1, "", "get_stake_for_hotkey"], [0, 4, 1, "", "get_stake_info_for_coldkey"], [0, 2, 1, "", "get_stake_movement_fee"], [0, 2, 1, "", "get_stake_operations_fee"], [0, 2, 1, "", "get_stake_weight"], [0, 2, 1, "", "get_subnet_burn_cost"], [0, 2, 1, "", "get_subnet_hyperparameters"], [0, 2, 1, "", "get_subnet_info"], [0, 2, 1, "", "get_subnet_owner_hotkey"], [0, 2, 1, "", "get_subnet_price"], [0, 2, 1, "", "get_subnet_prices"], [0, 2, 1, "", "get_subnet_reveal_period_epochs"], [0, 2, 1, "", "get_subnet_validator_permits"], [0, 2, 1, "", "get_subnets"], [0, 2, 1, "", "get_timelocked_weight_commits"], [0, 2, 1, "", "get_timestamp"], [0, 2, 1, "", "get_total_subnets"], [0, 2, 1, "", "get_transfer_fee"], [0, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [0, 2, 1, "", "get_unstake_fee"], [0, 2, 1, "", "get_vote_data"], [0, 2, 1, "", "immunity_period"], [0, 2, 1, "", "initialize"], [0, 2, 1, "", "is_fast_blocks"], [0, 2, 1, "", "is_hotkey_delegate"], [0, 2, 1, "", "is_hotkey_registered"], [0, 2, 1, "", "is_hotkey_registered_any"], [0, 2, 1, "", "is_hotkey_registered_on_subnet"], [0, 2, 1, "", "is_subnet_active"], [0, 2, 1, "", "last_drand_round"], [0, 4, 1, "", "log_verbose"], [0, 2, 1, "", "max_weight_limit"], [0, 2, 1, "", "metagraph"], [0, 2, 1, "", "min_allowed_weights"], [0, 2, 1, "", "modify_liquidity"], [0, 2, 1, "", "move_stake"], [0, 2, 1, "", "neuron_for_uid"], [0, 2, 1, "", "neurons"], [0, 2, 1, "", "neurons_lite"], [0, 2, 1, "", "query_constant"], [0, 2, 1, "", "query_identity"], [0, 2, 1, "", "query_map"], [0, 2, 1, "", "query_map_subtensor"], [0, 2, 1, "", "query_module"], [0, 2, 1, "", "query_runtime_api"], [0, 2, 1, "", "query_subtensor"], [0, 2, 1, "", "recycle"], [0, 2, 1, "", "register"], [0, 2, 1, "", "register_subnet"], [0, 2, 1, "", "remove_liquidity"], [0, 2, 1, "", "reveal_weights"], [0, 2, 1, "", "root_register"], [0, 2, 1, "", "root_set_pending_childkey_cooldown"], [0, 2, 1, "", "root_set_weights"], [0, 2, 1, "", "serve_axon"], [0, 2, 1, "", "set_children"], [0, 4, 1, "", "set_commitment"], [0, 2, 1, "", "set_delegate_take"], [0, 2, 1, "", "set_reveal_commitment"], [0, 2, 1, "", "set_subnet_identity"], [0, 2, 1, "", "set_weights"], [0, 2, 1, "", "sign_and_send_extrinsic"], [0, 2, 1, "", "start_call"], [0, 2, 1, "", "state_call"], [0, 2, 1, "", "subnet"], [0, 2, 1, "", "subnet_exists"], [0, 2, 1, "", "subnetwork_n"], [0, 4, 1, "", "substrate"], [0, 2, 1, "", "swap_stake"], [0, 2, 1, "", "tempo"], [0, 2, 1, "", "toggle_user_liquidity"], [0, 2, 1, "", "transfer"], [0, 2, 1, "", "transfer_stake"], [0, 2, 1, "", "tx_rate_limit"], [0, 2, 1, "", "unstake"], [0, 2, 1, "", "unstake_all"], [0, 2, 1, "", "unstake_multiple"], [0, 2, 1, "", "wait_for_block"], [0, 2, 1, "", "weights"], [0, 2, 1, "", "weights_rate_limit"]], "bittensor.core.axon": [[1, 1, 1, "", "Axon"], [1, 1, 1, "", "AxonMiddleware"], [1, 1, 1, "", "FastAPIThreadedServer"], [1, 6, 1, "", "V_7_2_0"], [1, 5, 1, "", "create_error_response"], [1, 5, 1, "", "log_and_handle_error"]], "bittensor.core.axon.Axon": [[1, 2, 1, "", "add_args"], [1, 4, 1, "", "app"], [1, 2, 1, "", "attach"], [1, 4, 1, "", "blacklist_fns"], [1, 2, 1, "", "check_config"], [1, 2, 1, "", "config"], [1, 2, 1, "", "default_verify"], [1, 4, 1, "", "external_ip"], [1, 4, 1, "", "external_port"], [1, 4, 1, "", "fast_config"], [1, 4, 1, "", "fast_server"], [1, 4, 1, "", "forward_class_types"], [1, 4, 1, "", "forward_fns"], [1, 4, 1, "", "full_address"], [1, 2, 1, "", "help"], [1, 2, 1, "", "info"], [1, 4, 1, "", "ip"], [1, 4, 1, "", "middleware_cls"], [1, 4, 1, "", "nonces"], [1, 4, 1, "", "port"], [1, 4, 1, "", "priority_fns"], [1, 4, 1, "", "router"], [1, 2, 1, "", "serve"], [1, 2, 1, "", "start"], [1, 4, 1, "", "started"], [1, 2, 1, "", "stop"], [1, 4, 1, "", "thread_pool"], [1, 2, 1, "", "to_string"], [1, 4, 1, "", "uuid"], [1, 2, 1, "", "verify_body_integrity"], [1, 4, 1, "", "verify_fns"], [1, 4, 1, "", "wallet"]], "bittensor.core.axon.AxonMiddleware": [[1, 4, 1, "", "axon"], [1, 2, 1, "", "blacklist"], [1, 2, 1, "", "dispatch"], [1, 2, 1, "", "preprocess"], [1, 2, 1, "", "priority"], [1, 2, 1, "", "run"], [1, 2, 1, "", "synapse_to_response"], [1, 2, 1, "", "verify"]], "bittensor.core.axon.FastAPIThreadedServer": [[1, 2, 1, "", "install_signal_handlers"], [1, 4, 1, "", "is_running"], [1, 2, 1, "", "run_in_thread"], [1, 4, 1, "", "should_exit"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"]], "bittensor.core.chain_data": [[2, 0, 0, "-", "axon_info"], [3, 0, 0, "-", "chain_identity"], [4, 0, 0, "-", "delegate_info"], [5, 0, 0, "-", "delegate_info_lite"], [6, 0, 0, "-", "dynamic_info"], [8, 0, 0, "-", "info_base"], [9, 0, 0, "-", "ip_info"], [10, 0, 0, "-", "metagraph_info"], [11, 0, 0, "-", "neuron_info"], [12, 0, 0, "-", "neuron_info_lite"], [13, 0, 0, "-", "prometheus_info"], [14, 0, 0, "-", "proposal_vote_data"], [15, 0, 0, "-", "scheduled_coldkey_swap_info"], [16, 0, 0, "-", "stake_info"], [17, 0, 0, "-", "subnet_hyperparameters"], [18, 0, 0, "-", "subnet_identity"], [19, 0, 0, "-", "subnet_info"], [20, 0, 0, "-", "subnet_state"], [21, 0, 0, "-", "utils"], [22, 0, 0, "-", "weight_commit_info"]], "bittensor.core.chain_data.axon_info": [[2, 1, 1, "", "AxonInfo"]], "bittensor.core.chain_data.axon_info.AxonInfo": [[2, 4, 1, "", "coldkey"], [2, 2, 1, "", "from_neuron_info"], [2, 2, 1, "", "from_parameter_dict"], [2, 2, 1, "", "from_string"], [2, 4, 1, "", "hotkey"], [2, 4, 1, "", "ip"], [2, 2, 1, "", "ip_str"], [2, 4, 1, "", "ip_type"], [2, 3, 1, "", "is_serving"], [2, 4, 1, "", "placeholder1"], [2, 4, 1, "", "placeholder2"], [2, 4, 1, "", "port"], [2, 4, 1, "", "protocol"], [2, 2, 1, "", "to_parameter_dict"], [2, 2, 1, "", "to_string"], [2, 4, 1, "", "version"]], "bittensor.core.chain_data.chain_identity": [[3, 1, 1, "", "ChainIdentity"]], "bittensor.core.chain_data.chain_identity.ChainIdentity": [[3, 4, 1, "", "additional"], [3, 4, 1, "", "description"], [3, 4, 1, "", "discord"], [3, 4, 1, "", "github"], [3, 4, 1, "", "image"], [3, 4, 1, "", "name"], [3, 4, 1, "", "url"]], "bittensor.core.chain_data.delegate_info": [[4, 1, 1, "", "DelegateInfo"], [4, 1, 1, "", "DelegateInfoBase"], [4, 1, 1, "", "DelegatedInfo"]], "bittensor.core.chain_data.delegate_info.DelegateInfo": [[4, 4, 1, "", "nominators"], [4, 4, 1, "", "total_stake"]], "bittensor.core.chain_data.delegate_info.DelegateInfoBase": [[4, 4, 1, "", "hotkey_ss58"], [4, 4, 1, "", "owner_ss58"], [4, 4, 1, "", "registrations"], [4, 4, 1, "", "return_per_1000"], [4, 4, 1, "", "take"], [4, 4, 1, "", "total_daily_return"], [4, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.delegate_info.DelegatedInfo": [[4, 4, 1, "", "netuid"], [4, 4, 1, "", "stake"]], "bittensor.core.chain_data.delegate_info_lite": [[5, 1, 1, "", "DelegateInfoLite"]], "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite": [[5, 4, 1, "", "delegate_ss58"], [5, 4, 1, "", "nominators"], [5, 4, 1, "", "owner_ss58"], [5, 4, 1, "", "registrations"], [5, 4, 1, "", "return_per_1000"], [5, 4, 1, "", "take"], [5, 4, 1, "", "total_daily_return"], [5, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.dynamic_info": [[6, 1, 1, "", "DynamicInfo"]], "bittensor.core.chain_data.dynamic_info.DynamicInfo": [[6, 4, 1, "", "alpha_in"], [6, 4, 1, "", "alpha_in_emission"], [6, 4, 1, "", "alpha_out"], [6, 4, 1, "", "alpha_out_emission"], [6, 4, 1, "", "alpha_slippage"], [6, 2, 1, "", "alpha_to_tao"], [6, 2, 1, "", "alpha_to_tao_with_slippage"], [6, 4, 1, "", "blocks_since_last_step"], [6, 4, 1, "", "emission"], [6, 4, 1, "", "is_dynamic"], [6, 4, 1, "", "k"], [6, 4, 1, "", "last_step"], [6, 4, 1, "", "moving_price"], [6, 4, 1, "", "netuid"], [6, 4, 1, "", "network_registered_at"], [6, 4, 1, "", "owner_coldkey"], [6, 4, 1, "", "owner_hotkey"], [6, 4, 1, "", "pending_alpha_emission"], [6, 4, 1, "", "pending_root_emission"], [6, 4, 1, "", "price"], [6, 4, 1, "", "slippage"], [6, 4, 1, "", "subnet_identity"], [6, 4, 1, "", "subnet_name"], [6, 4, 1, "", "subnet_volume"], [6, 4, 1, "", "symbol"], [6, 4, 1, "", "tao_in"], [6, 4, 1, "", "tao_in_emission"], [6, 4, 1, "", "tao_slippage"], [6, 2, 1, "", "tao_to_alpha"], [6, 2, 1, "", "tao_to_alpha_with_slippage"], [6, 4, 1, "", "tempo"]], "bittensor.core.chain_data.info_base": [[8, 1, 1, "", "InfoBase"], [8, 6, 1, "", "T"]], "bittensor.core.chain_data.info_base.InfoBase": [[8, 2, 1, "", "from_dict"], [8, 2, 1, "", "list_from_dicts"]], "bittensor.core.chain_data.ip_info": [[9, 1, 1, "", "IPInfo"]], "bittensor.core.chain_data.ip_info.IPInfo": [[9, 2, 1, "", "encode"], [9, 2, 1, "", "from_parameter_dict"], [9, 4, 1, "", "ip"], [9, 4, 1, "", "ip_type"], [9, 4, 1, "", "protocol"], [9, 2, 1, "", "to_parameter_dict"]], "bittensor.core.chain_data.metagraph_info": [[10, 1, 1, "", "MetagraphInfo"], [10, 1, 1, "", "MetagraphInfoEmissions"], [10, 1, 1, "", "MetagraphInfoParams"], [10, 1, 1, "", "MetagraphInfoPool"], [10, 1, 1, "", "SelectiveMetagraphIndex"], [10, 5, 1, "", "process_nested"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfo": [[10, 4, 1, "", "active"], [10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_dividends_per_hotkey"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "alpha_stake"], [10, 4, 1, "", "axons"], [10, 4, 1, "", "block"], [10, 4, 1, "", "block_at_registration"], [10, 4, 1, "", "blocks_since_last_step"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "coldkeys"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "consensus"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "dividends"], [10, 4, 1, "", "emission"], [10, 4, 1, "", "hotkeys"], [10, 4, 1, "", "identities"], [10, 4, 1, "", "identity"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "incentives"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "last_step"], [10, 4, 1, "", "last_update"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_uids"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "name"], [10, 4, 1, "", "netuid"], [10, 4, 1, "", "network_registered_at"], [10, 4, 1, "", "num_uids"], [10, 4, 1, "", "owner_coldkey"], [10, 4, 1, "", "owner_hotkey"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "pruning_score"], [10, 4, 1, "", "rank"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "symbol"], [10, 4, 1, "", "tao_dividends_per_hotkey"], [10, 4, 1, "", "tao_in"], [10, 4, 1, "", "tao_in_emission"], [10, 4, 1, "", "tao_stake"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "total_stake"], [10, 4, 1, "", "trust"], [10, 4, 1, "", "validator_permit"], [10, 4, 1, "", "validators"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions": [[10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "tao_in_emission"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams": [[10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool": [[10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "tao_in"]], "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex": [[10, 4, 1, "", "Active"], [10, 4, 1, "", "ActivityCutoff"], [10, 4, 1, "", "AdjustmentAlpha"], [10, 4, 1, "", "AdjustmentInterval"], [10, 4, 1, "", "AlphaDividendsPerHotkey"], [10, 4, 1, "", "AlphaHigh"], [10, 4, 1, "", "AlphaIn"], [10, 4, 1, "", "AlphaInEmission"], [10, 4, 1, "", "AlphaLow"], [10, 4, 1, "", "AlphaOut"], [10, 4, 1, "", "AlphaOutEmission"], [10, 4, 1, "", "AlphaStake"], [10, 4, 1, "", "Axons"], [10, 4, 1, "", "Block"], [10, 4, 1, "", "BlockAtRegistration"], [10, 4, 1, "", "BlocksSinceLastStep"], [10, 4, 1, "", "BondsMovingAvg"], [10, 4, 1, "", "Burn"], [10, 4, 1, "", "Coldkeys"], [10, 4, 1, "", "CommitRevealPeriod"], [10, 4, 1, "", "CommitRevealWeightsEnabled"], [10, 4, 1, "", "Consensus"], [10, 4, 1, "", "Difficulty"], [10, 4, 1, "", "Dividends"], [10, 4, 1, "", "Emission"], [10, 4, 1, "", "Hotkeys"], [10, 4, 1, "", "Identities"], [10, 4, 1, "", "Identity"], [10, 4, 1, "", "ImmunityPeriod"], [10, 4, 1, "", "Incentives"], [10, 4, 1, "", "Kappa"], [10, 4, 1, "", "LastStep"], [10, 4, 1, "", "LastUpdate"], [10, 4, 1, "", "LiquidAlphaEnabled"], [10, 4, 1, "", "MaxBurn"], [10, 4, 1, "", "MaxDifficulty"], [10, 4, 1, "", "MaxRegsPerBlock"], [10, 4, 1, "", "MaxUids"], [10, 4, 1, "", "MaxValidators"], [10, 4, 1, "", "MaxWeightsLimit"], [10, 4, 1, "", "MinAllowedWeights"], [10, 4, 1, "", "MinBurn"], [10, 4, 1, "", "MinDifficulty"], [10, 4, 1, "", "MovingPrice"], [10, 4, 1, "", "Name"], [10, 4, 1, "", "Netuid"], [10, 4, 1, "", "NetworkRegisteredAt"], [10, 4, 1, "", "NumUids"], [10, 4, 1, "", "OwnerColdkey"], [10, 4, 1, "", "OwnerHotkey"], [10, 4, 1, "", "PendingAlphaEmission"], [10, 4, 1, "", "PendingRootEmission"], [10, 4, 1, "", "PowRegistrationAllowed"], [10, 4, 1, "", "PruningScore"], [10, 4, 1, "", "Rank"], [10, 4, 1, "", "RegistrationAllowed"], [10, 4, 1, "", "Rho"], [10, 4, 1, "", "ServingRateLimit"], [10, 4, 1, "", "SubnetEmission"], [10, 4, 1, "", "SubnetVolume"], [10, 4, 1, "", "Symbol"], [10, 4, 1, "", "TaoDividendsPerHotkey"], [10, 4, 1, "", "TaoIn"], [10, 4, 1, "", "TaoInEmission"], [10, 4, 1, "", "TaoStake"], [10, 4, 1, "", "TargetRegsPerInterval"], [10, 4, 1, "", "Tempo"], [10, 4, 1, "", "TotalStake"], [10, 4, 1, "", "Trust"], [10, 4, 1, "", "ValidatorPermit"], [10, 4, 1, "", "Validators"], [10, 4, 1, "", "WeightsRateLimit"], [10, 4, 1, "", "WeightsVersion"], [10, 2, 1, "", "all_indices"]], "bittensor.core.chain_data.neuron_info": [[11, 1, 1, "", "NeuronInfo"]], "bittensor.core.chain_data.neuron_info.NeuronInfo": [[11, 4, 1, "", "active"], [11, 4, 1, "", "axon_info"], [11, 4, 1, "", "bonds"], [11, 4, 1, "", "coldkey"], [11, 4, 1, "", "consensus"], [11, 4, 1, "", "dividends"], [11, 4, 1, "", "emission"], [11, 2, 1, "", "from_weights_bonds_and_neuron_lite"], [11, 2, 1, "", "get_null_neuron"], [11, 4, 1, "", "hotkey"], [11, 4, 1, "", "incentive"], [11, 4, 1, "", "is_null"], [11, 4, 1, "", "last_update"], [11, 4, 1, "", "netuid"], [11, 4, 1, "", "prometheus_info"], [11, 4, 1, "", "pruning_score"], [11, 4, 1, "", "rank"], [11, 4, 1, "", "stake"], [11, 4, 1, "", "stake_dict"], [11, 4, 1, "", "total_stake"], [11, 4, 1, "", "trust"], [11, 4, 1, "", "uid"], [11, 4, 1, "", "validator_permit"], [11, 4, 1, "", "validator_trust"], [11, 4, 1, "", "weights"]], "bittensor.core.chain_data.neuron_info_lite": [[12, 1, 1, "", "NeuronInfoLite"]], "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite": [[12, 4, 1, "", "active"], [12, 4, 1, "", "axon_info"], [12, 4, 1, "", "coldkey"], [12, 4, 1, "", "consensus"], [12, 4, 1, "", "dividends"], [12, 4, 1, "", "emission"], [12, 2, 1, "id0", "get_null_neuron"], [12, 4, 1, "", "hotkey"], [12, 4, 1, "", "incentive"], [12, 4, 1, "", "is_null"], [12, 4, 1, "", "last_update"], [12, 2, 1, "", "list_from_vec_u8"], [12, 4, 1, "", "netuid"], [12, 4, 1, "", "prometheus_info"], [12, 4, 1, "", "pruning_score"], [12, 4, 1, "", "rank"], [12, 4, 1, "", "stake"], [12, 4, 1, "", "stake_dict"], [12, 4, 1, "", "total_stake"], [12, 4, 1, "", "trust"], [12, 4, 1, "", "uid"], [12, 4, 1, "", "validator_permit"], [12, 4, 1, "", "validator_trust"]], "bittensor.core.chain_data.prometheus_info": [[13, 1, 1, "", "PrometheusInfo"]], "bittensor.core.chain_data.prometheus_info.PrometheusInfo": [[13, 4, 1, "", "block"], [13, 4, 1, "", "ip"], [13, 4, 1, "", "ip_type"], [13, 4, 1, "", "port"], [13, 4, 1, "", "version"]], "bittensor.core.chain_data.proposal_vote_data": [[14, 1, 1, "", "ProposalVoteData"]], "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData": [[14, 4, 1, "", "ayes"], [14, 4, 1, "", "end"], [14, 2, 1, "", "from_dict"], [14, 4, 1, "", "index"], [14, 4, 1, "", "nays"], [14, 4, 1, "", "threshold"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, 1, 1, "", "ScheduledColdkeySwapInfo"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo": [[15, 4, 1, "", "arbitration_block"], [15, 2, 1, "", "decode_account_id_list"], [15, 4, 1, "", "new_coldkey"], [15, 4, 1, "", "old_coldkey"]], "bittensor.core.chain_data.stake_info": [[16, 1, 1, "", "StakeInfo"]], "bittensor.core.chain_data.stake_info.StakeInfo": [[16, 4, 1, "", "coldkey_ss58"], [16, 4, 1, "", "drain"], [16, 4, 1, "", "emission"], [16, 2, 1, "", "from_dict"], [16, 4, 1, "", "hotkey_ss58"], [16, 4, 1, "", "is_registered"], [16, 4, 1, "", "locked"], [16, 4, 1, "", "netuid"], [16, 4, 1, "", "stake"]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, 1, 1, "", "SubnetHyperparameters"]], "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters": [[17, 4, 1, "", "activity_cutoff"], [17, 4, 1, "", "adjustment_alpha"], [17, 4, 1, "", "adjustment_interval"], [17, 4, 1, "", "alpha_high"], [17, 4, 1, "", "alpha_low"], [17, 4, 1, "", "alpha_sigmoid_steepness"], [17, 4, 1, "", "bonds_moving_avg"], [17, 4, 1, "", "bonds_reset_enabled"], [17, 4, 1, "", "commit_reveal_period"], [17, 4, 1, "", "commit_reveal_weights_enabled"], [17, 4, 1, "", "difficulty"], [17, 4, 1, "", "immunity_period"], [17, 4, 1, "", "kappa"], [17, 4, 1, "", "liquid_alpha_enabled"], [17, 4, 1, "", "max_burn"], [17, 4, 1, "", "max_difficulty"], [17, 4, 1, "", "max_regs_per_block"], [17, 4, 1, "", "max_validators"], [17, 4, 1, "", "max_weight_limit"], [17, 4, 1, "", "min_allowed_weights"], [17, 4, 1, "", "min_burn"], [17, 4, 1, "", "min_difficulty"], [17, 4, 1, "", "registration_allowed"], [17, 4, 1, "", "rho"], [17, 4, 1, "", "serving_rate_limit"], [17, 4, 1, "", "subnet_is_active"], [17, 4, 1, "", "target_regs_per_interval"], [17, 4, 1, "", "tempo"], [17, 4, 1, "", "transfers_enabled"], [17, 4, 1, "", "user_liquidity_enabled"], [17, 4, 1, "", "weights_rate_limit"], [17, 4, 1, "", "weights_version"], [17, 4, 1, "", "yuma_version"]], "bittensor.core.chain_data.subnet_identity": [[18, 1, 1, "", "SubnetIdentity"]], "bittensor.core.chain_data.subnet_identity.SubnetIdentity": [[18, 4, 1, "", "additional"], [18, 4, 1, "", "description"], [18, 4, 1, "", "discord"], [18, 4, 1, "", "github_repo"], [18, 4, 1, "", "logo_url"], [18, 4, 1, "", "subnet_contact"], [18, 4, 1, "", "subnet_name"], [18, 4, 1, "", "subnet_url"]], "bittensor.core.chain_data.subnet_info": [[19, 1, 1, "", "SubnetInfo"]], "bittensor.core.chain_data.subnet_info.SubnetInfo": [[19, 4, 1, "", "blocks_since_epoch"], [19, 4, 1, "", "burn"], [19, 4, 1, "", "connection_requirements"], [19, 4, 1, "", "difficulty"], [19, 4, 1, "", "emission_value"], [19, 4, 1, "", "immunity_period"], [19, 4, 1, "", "kappa"], [19, 4, 1, "", "max_allowed_validators"], [19, 4, 1, "", "max_n"], [19, 4, 1, "", "max_weight_limit"], [19, 4, 1, "", "min_allowed_weights"], [19, 4, 1, "", "modality"], [19, 4, 1, "", "netuid"], [19, 4, 1, "", "owner_ss58"], [19, 4, 1, "", "rho"], [19, 4, 1, "", "scaling_law_power"], [19, 4, 1, "", "subnetwork_n"], [19, 4, 1, "", "tempo"]], "bittensor.core.chain_data.subnet_state": [[20, 1, 1, "", "SubnetState"]], "bittensor.core.chain_data.subnet_state.SubnetState": [[20, 4, 1, "", "active"], [20, 4, 1, "", "alpha_stake"], [20, 4, 1, "", "block_at_registration"], [20, 4, 1, "", "coldkeys"], [20, 4, 1, "", "consensus"], [20, 4, 1, "", "dividends"], [20, 4, 1, "", "emission"], [20, 4, 1, "", "emission_history"], [20, 4, 1, "", "hotkeys"], [20, 4, 1, "", "incentives"], [20, 4, 1, "", "last_update"], [20, 4, 1, "", "netuid"], [20, 4, 1, "", "pruning_score"], [20, 4, 1, "", "rank"], [20, 4, 1, "", "tao_stake"], [20, 4, 1, "", "total_stake"], [20, 4, 1, "", "trust"], [20, 4, 1, "", "validator_permit"]], "bittensor.core.chain_data.utils": [[21, 1, 1, "", "ChainDataType"], [21, 5, 1, "", "decode_account_id"], [21, 5, 1, "", "decode_block"], [21, 5, 1, "", "decode_metadata"], [21, 5, 1, "", "decode_revealed_commitment"], [21, 5, 1, "", "decode_revealed_commitment_with_hotkey"], [21, 5, 1, "", "from_scale_encoding"], [21, 5, 1, "", "from_scale_encoding_using_type_string"], [21, 5, 1, "", "process_stake_data"]], "bittensor.core.chain_data.utils.ChainDataType": [[21, 4, 1, "", "AccountId"], [21, 4, 1, "", "AxonInfo"], [21, 4, 1, "", "ChainIdentity"], [21, 4, 1, "", "DelegateInfo"], [21, 4, 1, "", "DelegatedInfo"], [21, 4, 1, "", "DynamicInfo"], [21, 4, 1, "", "IPInfo"], [21, 4, 1, "", "MetagraphInfo"], [21, 4, 1, "", "NeuronInfo"], [21, 4, 1, "", "NeuronInfoLite"], [21, 4, 1, "", "ScheduledColdkeySwapInfo"], [21, 4, 1, "", "StakeInfo"], [21, 4, 1, "", "SubnetHyperparameters"], [21, 4, 1, "", "SubnetIdentity"], [21, 4, 1, "", "SubnetInfo"], [21, 4, 1, "", "SubnetState"]], "bittensor.core.chain_data.weight_commit_info": [[22, 1, 1, "", "WeightCommitInfo"]], "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo": [[22, 4, 1, "", "commit_block"], [22, 4, 1, "", "commit_hex"], [22, 2, 1, "", "from_vec_u8"], [22, 2, 1, "", "from_vec_u8_v2"], [22, 4, 1, "", "reveal_round"], [22, 4, 1, "", "ss58"]], "bittensor.core.config": [[23, 1, 1, "", "Config"], [23, 1, 1, "", "DefaultConfig"], [23, 7, 1, "", "InvalidConfigFile"], [23, 6, 1, "", "T"]], "bittensor.core.config.Config": [[23, 2, 1, "", "is_set"], [23, 2, 1, "", "merge"], [23, 2, 1, "", "to_dict"]], "bittensor.core.config.DefaultConfig": [[23, 2, 1, "", "default"]], "bittensor.core.dendrite": [[24, 6, 1, "", "BaseModel"], [24, 6, 1, "", "DENDRITE_DEFAULT_ERROR"], [24, 6, 1, "", "DENDRITE_ERROR_MAPPING"], [24, 1, 1, "", "Dendrite"], [24, 1, 1, "", "DendriteMixin"], [24, 5, 1, "", "call"], [24, 5, 1, "", "event_loop_is_running"]], "bittensor.core.dendrite.Dendrite": [[24, 2, 1, "", "__repr__"], [24, 2, 1, "", "__str__"], [24, 2, 1, "", "aclose_session"], [24, 2, 1, "", "call"], [24, 2, 1, "", "call_stream"], [24, 2, 1, "", "close_session"], [24, 2, 1, "", "forward"], [24, 2, 1, "", "preprocess_synapse_for_request"], [24, 2, 1, "", "process_server_response"], [24, 2, 1, "", "query"]], "bittensor.core.dendrite.DendriteMixin": [[24, 2, 1, "", "__repr__"], [24, 2, 1, "", "__str__"], [24, 2, 1, "id0", "aclose_session"], [24, 2, 1, "", "aquery"], [24, 2, 1, "id3", "call"], [24, 2, 1, "id4", "call_stream"], [24, 2, 1, "id5", "close_session"], [24, 4, 1, "", "external_ip"], [24, 2, 1, "id7", "forward"], [24, 4, 1, "", "keypair"], [24, 2, 1, "", "log_exception"], [24, 2, 1, "id8", "preprocess_synapse_for_request"], [24, 2, 1, "", "process_error_message"], [24, 2, 1, "id9", "process_server_response"], [24, 2, 1, "id11", "query"], [24, 3, 1, "", "session"], [24, 4, 1, "", "synapse_history"], [24, 4, 1, "", "uuid"]], "bittensor.core.errors": [[25, 7, 1, "", "BlacklistedException"], [25, 6, 1, "", "BlockNotFound"], [25, 7, 1, "", "ChainConnectionError"], [25, 7, 1, "", "ChainError"], [25, 7, 1, "", "ChainQueryError"], [25, 7, 1, "", "ChainTransactionError"], [25, 7, 1, "", "DelegateTakeTooHigh"], [25, 7, 1, "", "DelegateTakeTooLow"], [25, 7, 1, "", "DelegateTxRateLimitExceeded"], [25, 7, 1, "", "DuplicateChild"], [25, 6, 1, "", "ExtrinsicNotFound"], [25, 7, 1, "", "HotKeyAccountNotExists"], [25, 7, 1, "", "IdentityError"], [25, 7, 1, "", "InternalServerError"], [25, 7, 1, "", "InvalidChild"], [25, 7, 1, "", "InvalidRequestNameError"], [25, 7, 1, "", "MaxAttemptsException"], [25, 7, 1, "", "MaxSuccessException"], [25, 7, 1, "", "MetadataError"], [25, 7, 1, "", "NominationError"], [25, 7, 1, "", "NonAssociatedColdKey"], [25, 7, 1, "", "NotDelegateError"], [25, 7, 1, "", "NotEnoughStakeToSetChildkeys"], [25, 7, 1, "", "NotRegisteredError"], [25, 7, 1, "", "NotVerifiedException"], [25, 7, 1, "", "PostProcessException"], [25, 7, 1, "", "PriorityException"], [25, 7, 1, "", "ProportionOverflow"], [25, 7, 1, "", "RegistrationError"], [25, 7, 1, "", "RegistrationNotPermittedOnRootSubnet"], [25, 7, 1, "", "RunException"], [25, 7, 1, "", "StakeError"], [25, 6, 1, "", "StorageFunctionNotFound"], [25, 7, 1, "", "SubNetworkDoesNotExist"], [25, 6, 1, "", "SubstrateRequestException"], [25, 7, 1, "", "SynapseDendriteNoneException"], [25, 7, 1, "", "SynapseException"], [25, 7, 1, "", "SynapseParsingError"], [25, 7, 1, "", "TakeError"], [25, 7, 1, "", "TooManyChildren"], [25, 7, 1, "", "TransferError"], [25, 7, 1, "", "TxRateLimitExceeded"], [25, 7, 1, "", "UnknownSynapseError"], [25, 7, 1, "", "UnstakeError"]], "bittensor.core.errors.ChainError": [[25, 2, 1, "", "from_error"]], "bittensor.core.errors.SynapseDendriteNoneException": [[25, 4, 1, "", "message"]], "bittensor.core.errors.SynapseException": [[25, 4, 1, "", "message"], [25, 4, 1, "", "synapse"]], "bittensor.core.extrinsics": [[28, 0, 0, "-", "asyncex"], [41, 0, 0, "-", "children"], [42, 0, 0, "-", "commit_reveal"], [43, 0, 0, "-", "commit_weights"], [45, 0, 0, "-", "liquidity"], [46, 0, 0, "-", "move_stake"], [47, 0, 0, "-", "registration"], [48, 0, 0, "-", "root"], [49, 0, 0, "-", "serving"], [50, 0, 0, "-", "set_weights"], [51, 0, 0, "-", "staking"], [52, 0, 0, "-", "start_call"], [53, 0, 0, "-", "take"], [54, 0, 0, "-", "transfer"], [55, 0, 0, "-", "unstaking"], [56, 0, 0, "-", "utils"]], "bittensor.core.extrinsics.asyncex": [[26, 0, 0, "-", "children"], [27, 0, 0, "-", "commit_reveal"], [29, 0, 0, "-", "liquidity"], [30, 0, 0, "-", "move_stake"], [31, 0, 0, "-", "registration"], [32, 0, 0, "-", "root"], [33, 0, 0, "-", "serving"], [34, 0, 0, "-", "staking"], [35, 0, 0, "-", "start_call"], [36, 0, 0, "-", "take"], [37, 0, 0, "-", "transfer"], [38, 0, 0, "-", "unstaking"], [39, 0, 0, "-", "utils"], [40, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.asyncex.children": [[26, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [26, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[27, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.asyncex.liquidity": [[29, 5, 1, "", "add_liquidity_extrinsic"], [29, 5, 1, "", "modify_liquidity_extrinsic"], [29, 5, 1, "", "remove_liquidity_extrinsic"], [29, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.asyncex.move_stake": [[30, 5, 1, "", "move_stake_extrinsic"], [30, 5, 1, "", "swap_stake_extrinsic"], [30, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.asyncex.registration": [[31, 5, 1, "", "burned_register_extrinsic"], [31, 5, 1, "", "register_extrinsic"], [31, 5, 1, "", "register_subnet_extrinsic"], [31, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.asyncex.root": [[32, 5, 1, "", "root_register_extrinsic"], [32, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.asyncex.serving": [[33, 5, 1, "", "do_serve_axon"], [33, 5, 1, "", "get_last_bonds_reset"], [33, 5, 1, "", "get_metadata"], [33, 5, 1, "", "publish_metadata"], [33, 5, 1, "", "serve_axon_extrinsic"], [33, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.asyncex.staking": [[34, 5, 1, "", "add_stake_extrinsic"], [34, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.start_call": [[35, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.asyncex.take": [[36, 5, 1, "", "decrease_take_extrinsic"], [36, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.asyncex.transfer": [[37, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, 5, 1, "", "unstake_all_extrinsic"], [38, 5, 1, "", "unstake_extrinsic"], [38, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.utils": [[39, 5, 1, "", "get_extrinsic_fee"]], "bittensor.core.extrinsics.asyncex.weights": [[40, 5, 1, "", "commit_weights_extrinsic"], [40, 5, 1, "", "reveal_weights_extrinsic"], [40, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.children": [[41, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [41, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.commit_reveal": [[42, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.commit_weights": [[43, 5, 1, "", "commit_weights_extrinsic"], [43, 5, 1, "", "reveal_weights_extrinsic"]], "bittensor.core.extrinsics.liquidity": [[45, 5, 1, "", "add_liquidity_extrinsic"], [45, 5, 1, "", "modify_liquidity_extrinsic"], [45, 5, 1, "", "remove_liquidity_extrinsic"], [45, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.move_stake": [[46, 5, 1, "", "move_stake_extrinsic"], [46, 5, 1, "", "swap_stake_extrinsic"], [46, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.registration": [[47, 5, 1, "", "burned_register_extrinsic"], [47, 5, 1, "", "register_extrinsic"], [47, 5, 1, "", "register_subnet_extrinsic"], [47, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.root": [[48, 5, 1, "", "root_register_extrinsic"], [48, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.serving": [[49, 5, 1, "", "do_serve_axon"], [49, 5, 1, "", "get_last_bonds_reset"], [49, 5, 1, "", "get_metadata"], [49, 5, 1, "", "publish_metadata"], [49, 5, 1, "", "serve_axon_extrinsic"], [49, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.set_weights": [[50, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.staking": [[51, 5, 1, "", "add_stake_extrinsic"], [51, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.start_call": [[52, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.take": [[53, 5, 1, "", "decrease_take_extrinsic"], [53, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.transfer": [[54, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.unstaking": [[55, 5, 1, "", "unstake_all_extrinsic"], [55, 5, 1, "", "unstake_extrinsic"], [55, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.utils": [[56, 5, 1, "", "get_extrinsic_fee"], [56, 5, 1, "", "get_old_stakes"]], "bittensor.core.metagraph": [[58, 1, 1, "", "AsyncMetagraph"], [58, 6, 1, "", "BaseClass"], [58, 6, 1, "", "METAGRAPH_STATE_DICT_NDARRAY_KEYS"], [58, 1, 1, "", "Metagraph"], [58, 1, 1, "", "MetagraphMixin"], [58, 1, 1, "", "NonTorchMetagraph"], [58, 6, 1, "", "NumpyOrTorch"], [58, 6, 1, "", "Tensor"], [58, 1, 1, "", "TorchMetagraph"], [58, 5, 1, "", "async_metagraph"], [58, 5, 1, "", "get_save_dir"], [58, 5, 1, "", "latest_block_path"], [58, 5, 1, "", "safe_globals"]], "bittensor.core.metagraph.AsyncMetagraph": [[58, 2, 1, "", "sync"]], "bittensor.core.metagraph.Metagraph": [[58, 2, 1, "", "sync"]], "bittensor.core.metagraph.MetagraphMixin": [[58, 3, 1, "", "AS"], [58, 3, 1, "", "B"], [58, 3, 1, "", "C"], [58, 3, 1, "", "D"], [58, 3, 1, "", "E"], [58, 3, 1, "", "I"], [58, 3, 1, "", "R"], [58, 3, 1, "", "S"], [58, 3, 1, "", "T"], [58, 3, 1, "", "TS"], [58, 3, 1, "", "Tv"], [58, 3, 1, "", "W"], [58, 4, 1, "", "active"], [58, 3, 1, "", "addresses"], [58, 4, 1, "", "alpha_dividends_per_hotkey"], [58, 4, 1, "", "alpha_stake"], [58, 4, 1, "", "axons"], [58, 4, 1, "", "block"], [58, 4, 1, "", "block_at_registration"], [58, 4, 1, "", "blocks_since_last_step"], [58, 4, 1, "", "bonds"], [58, 4, 1, "", "chain_endpoint"], [58, 3, 1, "", "coldkeys"], [58, 4, 1, "", "consensus"], [58, 4, 1, "", "dividends"], [58, 4, 1, "", "emission"], [58, 4, 1, "", "emissions"], [58, 3, 1, "", "hotkeys"], [58, 4, 1, "", "hparams"], [58, 4, 1, "", "identities"], [58, 4, 1, "", "identity"], [58, 4, 1, "", "incentive"], [58, 4, 1, "", "last_step"], [58, 4, 1, "", "last_update"], [58, 4, 1, "", "lite"], [58, 2, 1, "", "load"], [58, 2, 1, "", "load_from_path"], [58, 4, 1, "", "max_uids"], [58, 2, 1, "", "metadata"], [58, 4, 1, "", "n"], [58, 4, 1, "", "name"], [58, 4, 1, "", "netuid"], [58, 4, 1, "", "network"], [58, 4, 1, "", "network_registered_at"], [58, 4, 1, "", "neurons"], [58, 4, 1, "", "num_uids"], [58, 4, 1, "", "owner_coldkey"], [58, 4, 1, "", "owner_hotkey"], [58, 4, 1, "", "pool"], [58, 4, 1, "", "pruning_score"], [58, 4, 1, "", "ranks"], [58, 2, 1, "", "save"], [58, 4, 1, "", "should_sync"], [58, 4, 1, "", "stake"], [58, 2, 1, "", "state_dict"], [58, 4, 1, "", "subtensor"], [58, 4, 1, "", "symbol"], [58, 4, 1, "", "tao_dividends_per_hotkey"], [58, 4, 1, "", "tao_stake"], [58, 4, 1, "", "tempo"], [58, 4, 1, "", "trust"], [58, 4, 1, "", "uids"], [58, 4, 1, "", "validator_permit"], [58, 4, 1, "", "validator_trust"], [58, 4, 1, "", "version"], [58, 4, 1, "", "weights"]], "bittensor.core.metagraph.NonTorchMetagraph": [[58, 4, 1, "", "active"], [58, 4, 1, "", "alpha_stake"], [58, 4, 1, "", "block"], [58, 4, 1, "", "bonds"], [58, 4, 1, "", "consensus"], [58, 4, 1, "", "dividends"], [58, 4, 1, "", "emission"], [58, 4, 1, "", "incentive"], [58, 4, 1, "", "last_update"], [58, 2, 1, "", "load_from_path"], [58, 4, 1, "", "n"], [58, 4, 1, "", "netuid"], [58, 4, 1, "", "ranks"], [58, 4, 1, "", "should_sync"], [58, 4, 1, "", "stake"], [58, 4, 1, "", "subtensor"], [58, 4, 1, "", "tao_stake"], [58, 4, 1, "", "total_stake"], [58, 4, 1, "", "trust"], [58, 4, 1, "", "uids"], [58, 4, 1, "", "validator_permit"], [58, 4, 1, "", "validator_trust"], [58, 4, 1, "", "version"], [58, 4, 1, "", "weights"]], "bittensor.core.metagraph.TorchMetagraph": [[58, 4, 1, "", "active"], [58, 4, 1, "", "alpha_stake"], [58, 4, 1, "", "block"], [58, 4, 1, "", "bonds"], [58, 4, 1, "", "consensus"], [58, 4, 1, "", "dividends"], [58, 4, 1, "", "emission"], [58, 4, 1, "", "incentive"], [58, 4, 1, "", "last_update"], [58, 2, 1, "", "load_from_path"], [58, 4, 1, "", "n"], [58, 4, 1, "", "ranks"], [58, 4, 1, "", "stake"], [58, 4, 1, "", "tao_stake"], [58, 4, 1, "", "total_stake"], [58, 4, 1, "", "trust"], [58, 4, 1, "", "uids"], [58, 4, 1, "", "validator_permit"], [58, 4, 1, "", "validator_trust"], [58, 4, 1, "", "version"], [58, 4, 1, "", "weights"]], "bittensor.core.settings": [[59, 6, 1, "", "ARCHIVE_ENTRYPOINT"], [59, 6, 1, "", "BLOCKTIME"], [59, 6, 1, "", "DEFAULTS"], [59, 6, 1, "", "DEFAULT_ENDPOINT"], [59, 6, 1, "", "DEFAULT_NETWORK"], [59, 6, 1, "", "FINNEY_ENTRYPOINT"], [59, 6, 1, "", "FINNEY_TEST_ENTRYPOINT"], [59, 6, 1, "", "HOME_DIR"], [59, 6, 1, "", "LATENT_LITE_ENTRYPOINT"], [59, 6, 1, "", "LOCAL_ENTRYPOINT"], [59, 6, 1, "", "MINERS_DIR"], [59, 6, 1, "", "NETWORKS"], [59, 6, 1, "", "NETWORK_EXPLORER_MAP"], [59, 6, 1, "", "NETWORK_MAP"], [59, 6, 1, "", "PIPADDRESS"], [59, 6, 1, "", "RAO_SYMBOL"], [59, 6, 1, "", "READ_ONLY"], [59, 6, 1, "", "REVERSE_NETWORK_MAP"], [59, 6, 1, "", "ROOT_TAO_STAKE_WEIGHT"], [59, 6, 1, "", "SS58_ADDRESS_LENGTH"], [59, 6, 1, "", "SS58_FORMAT"], [59, 6, 1, "", "SUBVORTEX_ENTRYPOINT"], [59, 6, 1, "", "TAO_SYMBOL"], [59, 6, 1, "", "TYPE_REGISTRY"], [59, 6, 1, "", "USER_BITTENSOR_DIR"], [59, 6, 1, "", "WALLETS_DIR"], [59, 6, 1, "", "version_as_int"], [59, 6, 1, "", "version_split"]], "bittensor.core.stream": [[60, 1, 1, "", "BTStreamingResponseModel"], [60, 1, 1, "", "StreamingSynapse"]], "bittensor.core.stream.BTStreamingResponseModel": [[60, 4, 1, "", "token_streamer"]], "bittensor.core.stream.StreamingSynapse": [[60, 1, 1, "", "BTStreamingResponse"], [60, 2, 1, "", "create_streaming_response"], [60, 2, 1, "", "extract_response_json"], [60, 4, 1, "", "model_config"], [60, 2, 1, "", "process_streaming_response"]], "bittensor.core.stream.StreamingSynapse.BTStreamingResponse": [[60, 2, 1, "", "stream_response"], [60, 4, 1, "", "synapse"], [60, 4, 1, "", "token_streamer"]], "bittensor.core.subtensor": [[61, 1, 1, "", "Subtensor"]], "bittensor.core.subtensor.Subtensor": [[61, 2, 1, "", "add_liquidity"], [61, 2, 1, "", "add_stake"], [61, 2, 1, "", "add_stake_multiple"], [61, 2, 1, "", "all_subnets"], [61, 3, 1, "", "block"], [61, 2, 1, "", "blocks_since_last_step"], [61, 2, 1, "", "blocks_since_last_update"], [61, 2, 1, "", "bonds"], [61, 2, 1, "", "burned_register"], [61, 2, 1, "", "close"], [61, 2, 1, "", "commit"], [61, 2, 1, "", "commit_reveal_enabled"], [61, 2, 1, "", "commit_weights"], [61, 2, 1, "", "determine_block_hash"], [61, 2, 1, "", "difficulty"], [61, 2, 1, "", "does_hotkey_exist"], [61, 2, 1, "", "encode_params"], [61, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [61, 2, 1, "", "get_all_commitments"], [61, 2, 1, "", "get_all_metagraphs_info"], [61, 2, 1, "", "get_all_neuron_certificates"], [61, 2, 1, "", "get_all_revealed_commitments"], [61, 2, 1, "", "get_all_subnets_info"], [61, 2, 1, "", "get_balance"], [61, 2, 1, "", "get_balances"], [61, 2, 1, "", "get_block_hash"], [61, 2, 1, "", "get_children"], [61, 2, 1, "", "get_children_pending"], [61, 2, 1, "", "get_commitment"], [61, 2, 1, "", "get_current_block"], [61, 2, 1, "", "get_current_weight_commit_info"], [61, 2, 1, "", "get_current_weight_commit_info_v2"], [61, 2, 1, "", "get_delegate_by_hotkey"], [61, 2, 1, "", "get_delegate_identities"], [61, 2, 1, "", "get_delegate_take"], [61, 2, 1, "", "get_delegated"], [61, 2, 1, "", "get_delegates"], [61, 2, 1, "", "get_existential_deposit"], [61, 2, 1, "", "get_hotkey_owner"], [61, 4, 1, "", "get_hotkey_stake"], [61, 2, 1, "", "get_hyperparameter"], [61, 2, 1, "", "get_last_commitment_bonds_reset_block"], [61, 2, 1, "", "get_liquidity_list"], [61, 2, 1, "", "get_metagraph_info"], [61, 2, 1, "", "get_minimum_required_stake"], [61, 2, 1, "", "get_netuids_for_hotkey"], [61, 2, 1, "", "get_neuron_certificate"], [61, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [61, 2, 1, "", "get_next_epoch_start_block"], [61, 2, 1, "", "get_owned_hotkeys"], [61, 2, 1, "", "get_parents"], [61, 2, 1, "", "get_revealed_commitment"], [61, 2, 1, "", "get_revealed_commitment_by_hotkey"], [61, 2, 1, "", "get_stake"], [61, 2, 1, "", "get_stake_add_fee"], [61, 2, 1, "", "get_stake_for_coldkey"], [61, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [61, 2, 1, "", "get_stake_for_hotkey"], [61, 4, 1, "", "get_stake_info_for_coldkey"], [61, 2, 1, "", "get_stake_movement_fee"], [61, 2, 1, "", "get_stake_operations_fee"], [61, 2, 1, "", "get_stake_weight"], [61, 2, 1, "", "get_subnet_burn_cost"], [61, 2, 1, "", "get_subnet_hyperparameters"], [61, 2, 1, "", "get_subnet_info"], [61, 2, 1, "", "get_subnet_owner_hotkey"], [61, 2, 1, "", "get_subnet_price"], [61, 2, 1, "", "get_subnet_prices"], [61, 2, 1, "", "get_subnet_reveal_period_epochs"], [61, 2, 1, "", "get_subnet_validator_permits"], [61, 2, 1, "", "get_subnets"], [61, 2, 1, "", "get_timelocked_weight_commits"], [61, 2, 1, "", "get_timestamp"], [61, 2, 1, "", "get_total_subnets"], [61, 2, 1, "", "get_transfer_fee"], [61, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [61, 2, 1, "", "get_unstake_fee"], [61, 2, 1, "", "get_vote_data"], [61, 2, 1, "", "immunity_period"], [61, 2, 1, "", "is_fast_blocks"], [61, 2, 1, "", "is_hotkey_delegate"], [61, 2, 1, "", "is_hotkey_registered"], [61, 2, 1, "", "is_hotkey_registered_any"], [61, 2, 1, "", "is_hotkey_registered_on_subnet"], [61, 2, 1, "", "is_subnet_active"], [61, 2, 1, "", "last_drand_round"], [61, 4, 1, "", "log_verbose"], [61, 2, 1, "", "max_weight_limit"], [61, 2, 1, "", "metagraph"], [61, 2, 1, "", "min_allowed_weights"], [61, 2, 1, "", "modify_liquidity"], [61, 2, 1, "", "move_stake"], [61, 2, 1, "", "neuron_for_uid"], [61, 2, 1, "", "neurons"], [61, 2, 1, "", "neurons_lite"], [61, 2, 1, "", "query_constant"], [61, 2, 1, "", "query_identity"], [61, 2, 1, "", "query_map"], [61, 2, 1, "", "query_map_subtensor"], [61, 2, 1, "", "query_module"], [61, 2, 1, "", "query_runtime_api"], [61, 2, 1, "", "query_subtensor"], [61, 2, 1, "", "recycle"], [61, 2, 1, "", "register"], [61, 2, 1, "", "register_subnet"], [61, 2, 1, "", "remove_liquidity"], [61, 2, 1, "", "reveal_weights"], [61, 2, 1, "", "root_register"], [61, 2, 1, "", "root_set_pending_childkey_cooldown"], [61, 2, 1, "", "root_set_weights"], [61, 2, 1, "", "serve_axon"], [61, 2, 1, "", "set_children"], [61, 4, 1, "", "set_commitment"], [61, 2, 1, "", "set_delegate_take"], [61, 2, 1, "", "set_reveal_commitment"], [61, 2, 1, "", "set_subnet_identity"], [61, 2, 1, "", "set_weights"], [61, 2, 1, "", "sign_and_send_extrinsic"], [61, 2, 1, "", "start_call"], [61, 2, 1, "", "state_call"], [61, 2, 1, "", "subnet"], [61, 2, 1, "", "subnet_exists"], [61, 2, 1, "", "subnetwork_n"], [61, 4, 1, "", "substrate"], [61, 2, 1, "", "swap_stake"], [61, 2, 1, "", "tempo"], [61, 2, 1, "", "toggle_user_liquidity"], [61, 2, 1, "", "transfer"], [61, 2, 1, "", "transfer_stake"], [61, 2, 1, "", "tx_rate_limit"], [61, 2, 1, "", "unstake"], [61, 2, 1, "", "unstake_all"], [61, 2, 1, "", "unstake_multiple"], [61, 2, 1, "", "wait_for_block"], [61, 2, 1, "", "weights"], [61, 2, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api": [[66, 1, 1, "", "SubtensorApi"], [62, 0, 0, "-", "chain"], [63, 0, 0, "-", "commitments"], [64, 0, 0, "-", "delegates"], [65, 0, 0, "-", "extrinsics"], [67, 0, 0, "-", "metagraphs"], [68, 0, 0, "-", "neurons"], [69, 0, 0, "-", "queries"], [70, 0, 0, "-", "staking"], [71, 0, 0, "-", "subnets"], [72, 0, 0, "-", "utils"], [73, 0, 0, "-", "wallets"]], "bittensor.core.subtensor_api.SubtensorApi": [[66, 2, 1, "", "add_args"], [66, 3, 1, "", "block"], [66, 3, 1, "", "chain"], [66, 4, 1, "", "chain_endpoint"], [66, 4, 1, "", "close"], [66, 3, 1, "", "commitments"], [66, 4, 1, "", "config"], [66, 3, 1, "", "delegates"], [66, 4, 1, "", "determine_block_hash"], [66, 4, 1, "", "encode_params"], [66, 3, 1, "", "extrinsics"], [66, 4, 1, "", "help"], [66, 4, 1, "", "initialize"], [66, 4, 1, "", "is_async"], [66, 4, 1, "", "log_verbose"], [66, 3, 1, "", "metagraphs"], [66, 4, 1, "", "network"], [66, 3, 1, "", "neurons"], [66, 3, 1, "", "queries"], [66, 4, 1, "", "setup_config"], [66, 4, 1, "", "sign_and_send_extrinsic"], [66, 3, 1, "", "staking"], [66, 4, 1, "", "start_call"], [66, 3, 1, "", "subnets"], [66, 4, 1, "", "substrate"], [66, 4, 1, "", "wait_for_block"], [66, 3, 1, "", "wallets"]], "bittensor.core.subtensor_api.chain": [[62, 1, 1, "", "Chain"]], "bittensor.core.subtensor_api.chain.Chain": [[62, 4, 1, "", "get_block_hash"], [62, 4, 1, "", "get_current_block"], [62, 4, 1, "", "get_delegate_identities"], [62, 4, 1, "", "get_existential_deposit"], [62, 4, 1, "", "get_minimum_required_stake"], [62, 4, 1, "", "get_timestamp"], [62, 4, 1, "", "get_vote_data"], [62, 4, 1, "", "is_fast_blocks"], [62, 4, 1, "", "last_drand_round"], [62, 4, 1, "", "state_call"], [62, 4, 1, "", "tx_rate_limit"]], "bittensor.core.subtensor_api.commitments": [[63, 1, 1, "", "Commitments"]], "bittensor.core.subtensor_api.commitments.Commitments": [[63, 4, 1, "", "commit_reveal_enabled"], [63, 4, 1, "", "get_all_commitments"], [63, 4, 1, "", "get_all_revealed_commitments"], [63, 4, 1, "", "get_commitment"], [63, 4, 1, "", "get_current_weight_commit_info"], [63, 4, 1, "", "get_current_weight_commit_info_v2"], [63, 4, 1, "", "get_last_commitment_bonds_reset_block"], [63, 4, 1, "", "get_revealed_commitment"], [63, 4, 1, "", "get_revealed_commitment_by_hotkey"], [63, 4, 1, "", "get_timelocked_weight_commits"], [63, 4, 1, "", "set_commitment"], [63, 4, 1, "", "set_reveal_commitment"]], "bittensor.core.subtensor_api.delegates": [[64, 1, 1, "", "Delegates"]], "bittensor.core.subtensor_api.delegates.Delegates": [[64, 4, 1, "", "get_delegate_by_hotkey"], [64, 4, 1, "", "get_delegate_identities"], [64, 4, 1, "", "get_delegate_take"], [64, 4, 1, "", "get_delegated"], [64, 4, 1, "", "get_delegates"], [64, 4, 1, "", "is_hotkey_delegate"], [64, 4, 1, "", "set_delegate_take"]], "bittensor.core.subtensor_api.extrinsics": [[65, 1, 1, "", "Extrinsics"]], "bittensor.core.subtensor_api.extrinsics.Extrinsics": [[65, 4, 1, "", "add_liquidity"], [65, 4, 1, "", "add_stake"], [65, 4, 1, "", "add_stake_multiple"], [65, 4, 1, "", "burned_register"], [65, 4, 1, "", "commit_weights"], [65, 4, 1, "", "modify_liquidity"], [65, 4, 1, "", "move_stake"], [65, 4, 1, "", "register"], [65, 4, 1, "", "register_subnet"], [65, 4, 1, "", "remove_liquidity"], [65, 4, 1, "", "reveal_weights"], [65, 4, 1, "", "root_register"], [65, 4, 1, "", "root_set_pending_childkey_cooldown"], [65, 4, 1, "", "root_set_weights"], [65, 4, 1, "", "serve_axon"], [65, 4, 1, "", "set_children"], [65, 4, 1, "", "set_subnet_identity"], [65, 4, 1, "", "set_weights"], [65, 4, 1, "", "start_call"], [65, 4, 1, "", "swap_stake"], [65, 4, 1, "", "toggle_user_liquidity"], [65, 4, 1, "", "transfer"], [65, 4, 1, "", "transfer_stake"], [65, 4, 1, "", "unstake"], [65, 4, 1, "", "unstake_all"], [65, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.metagraphs": [[67, 1, 1, "", "Metagraphs"]], "bittensor.core.subtensor_api.metagraphs.Metagraphs": [[67, 4, 1, "", "get_all_metagraphs_info"], [67, 4, 1, "", "get_metagraph_info"], [67, 4, 1, "", "metagraph"]], "bittensor.core.subtensor_api.neurons": [[68, 1, 1, "", "Neurons"]], "bittensor.core.subtensor_api.neurons.Neurons": [[68, 4, 1, "", "get_all_neuron_certificates"], [68, 4, 1, "", "get_neuron_certificate"], [68, 4, 1, "", "neuron_for_uid"], [68, 4, 1, "", "neurons"], [68, 4, 1, "", "neurons_lite"], [68, 4, 1, "", "query_identity"]], "bittensor.core.subtensor_api.queries": [[69, 1, 1, "", "Queries"]], "bittensor.core.subtensor_api.queries.Queries": [[69, 4, 1, "", "query_constant"], [69, 4, 1, "", "query_map"], [69, 4, 1, "", "query_map_subtensor"], [69, 4, 1, "", "query_module"], [69, 4, 1, "", "query_runtime_api"], [69, 4, 1, "", "query_subtensor"]], "bittensor.core.subtensor_api.staking": [[70, 1, 1, "", "Staking"]], "bittensor.core.subtensor_api.staking.Staking": [[70, 4, 1, "", "add_stake"], [70, 4, 1, "", "add_stake_multiple"], [70, 4, 1, "", "get_hotkey_stake"], [70, 4, 1, "", "get_minimum_required_stake"], [70, 4, 1, "", "get_stake"], [70, 4, 1, "", "get_stake_add_fee"], [70, 4, 1, "", "get_stake_for_coldkey"], [70, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [70, 4, 1, "", "get_stake_info_for_coldkey"], [70, 4, 1, "", "get_stake_movement_fee"], [70, 4, 1, "", "get_stake_operations_fee"], [70, 4, 1, "", "get_stake_weight"], [70, 4, 1, "", "get_unstake_fee"], [70, 4, 1, "", "move_stake"], [70, 4, 1, "", "unstake"], [70, 4, 1, "", "unstake_all"], [70, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.subnets": [[71, 1, 1, "", "Subnets"]], "bittensor.core.subtensor_api.subnets.Subnets": [[71, 4, 1, "", "all_subnets"], [71, 4, 1, "", "blocks_since_last_step"], [71, 4, 1, "", "blocks_since_last_update"], [71, 4, 1, "", "bonds"], [71, 4, 1, "", "commit_reveal_enabled"], [71, 4, 1, "", "difficulty"], [71, 4, 1, "", "get_all_subnets_info"], [71, 4, 1, "", "get_children"], [71, 4, 1, "", "get_children_pending"], [71, 4, 1, "", "get_current_weight_commit_info"], [71, 4, 1, "", "get_hyperparameter"], [71, 4, 1, "", "get_liquidity_list"], [71, 4, 1, "", "get_neuron_for_pubkey_and_subnet"], [71, 4, 1, "", "get_next_epoch_start_block"], [71, 4, 1, "", "get_parents"], [71, 4, 1, "", "get_subnet_burn_cost"], [71, 4, 1, "", "get_subnet_hyperparameters"], [71, 4, 1, "", "get_subnet_info"], [71, 4, 1, "", "get_subnet_owner_hotkey"], [71, 4, 1, "", "get_subnet_price"], [71, 4, 1, "", "get_subnet_prices"], [71, 4, 1, "", "get_subnet_reveal_period_epochs"], [71, 4, 1, "", "get_subnet_validator_permits"], [71, 4, 1, "", "get_subnets"], [71, 4, 1, "", "get_total_subnets"], [71, 4, 1, "", "get_uid_for_hotkey_on_subnet"], [71, 4, 1, "", "immunity_period"], [71, 4, 1, "", "is_hotkey_registered_on_subnet"], [71, 4, 1, "", "is_subnet_active"], [71, 4, 1, "", "max_weight_limit"], [71, 4, 1, "", "min_allowed_weights"], [71, 4, 1, "", "recycle"], [71, 4, 1, "", "register_subnet"], [71, 4, 1, "", "set_subnet_identity"], [71, 4, 1, "", "subnet"], [71, 4, 1, "", "subnet_exists"], [71, 4, 1, "", "subnetwork_n"], [71, 4, 1, "", "tempo"], [71, 4, 1, "", "weights"], [71, 4, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api.utils": [[72, 5, 1, "", "add_legacy_methods"]], "bittensor.core.subtensor_api.wallets": [[73, 1, 1, "", "Wallets"]], "bittensor.core.subtensor_api.wallets.Wallets": [[73, 4, 1, "", "does_hotkey_exist"], [73, 4, 1, "", "filter_netuids_by_registered_hotkeys"], [73, 4, 1, "", "get_balance"], [73, 4, 1, "", "get_balances"], [73, 4, 1, "", "get_children"], [73, 4, 1, "", "get_children_pending"], [73, 4, 1, "", "get_delegate_by_hotkey"], [73, 4, 1, "", "get_delegate_take"], [73, 4, 1, "", "get_delegated"], [73, 4, 1, "", "get_hotkey_owner"], [73, 4, 1, "", "get_hotkey_stake"], [73, 4, 1, "", "get_minimum_required_stake"], [73, 4, 1, "", "get_netuids_for_hotkey"], [73, 4, 1, "", "get_owned_hotkeys"], [73, 4, 1, "", "get_stake"], [73, 4, 1, "", "get_stake_add_fee"], [73, 4, 1, "", "get_stake_for_coldkey"], [73, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [73, 4, 1, "", "get_stake_for_hotkey"], [73, 4, 1, "", "get_stake_info_for_coldkey"], [73, 4, 1, "", "get_stake_movement_fee"], [73, 4, 1, "", "get_transfer_fee"], [73, 4, 1, "", "get_unstake_fee"], [73, 4, 1, "", "is_hotkey_delegate"], [73, 4, 1, "", "is_hotkey_registered"], [73, 4, 1, "", "is_hotkey_registered_any"]], "bittensor.core.synapse": [[74, 1, 1, "", "Synapse"], [74, 1, 1, "", "TerminalInfo"], [74, 5, 1, "", "cast_float"], [74, 5, 1, "", "cast_int"], [74, 5, 1, "", "get_size"]], "bittensor.core.synapse.Synapse": [[74, 2, 1, "", "__setattr__"], [74, 4, 1, "", "axon"], [74, 3, 1, "id0", "body_hash"], [74, 4, 1, "", "computed_body_hash"], [74, 4, 1, "", "dendrite"], [74, 2, 1, "id1", "deserialize"], [74, 3, 1, "", "failed_verification"], [74, 2, 1, "id2", "from_headers"], [74, 2, 1, "", "get_required_fields"], [74, 2, 1, "id3", "get_total_size"], [74, 4, 1, "", "header_size"], [74, 3, 1, "", "is_blacklist"], [74, 3, 1, "", "is_failure"], [74, 3, 1, "", "is_success"], [74, 3, 1, "", "is_timeout"], [74, 4, 1, "", "model_config"], [74, 4, 1, "", "name"], [74, 2, 1, "id4", "parse_headers_to_inputs"], [74, 4, 1, "", "required_hash_fields"], [74, 2, 1, "", "set_name_type"], [74, 4, 1, "", "timeout"], [74, 2, 1, "id5", "to_headers"], [74, 4, 1, "", "total_size"]], "bittensor.core.synapse.TerminalInfo": [[74, 4, 1, "", "hotkey"], [74, 4, 1, "", "ip"], [74, 4, 1, "", "model_config"], [74, 4, 1, "", "nonce"], [74, 4, 1, "", "port"], [74, 4, 1, "", "process_time"], [74, 4, 1, "", "signature"], [74, 4, 1, "", "status_code"], [74, 4, 1, "", "status_message"], [74, 4, 1, "", "uuid"], [74, 4, 1, "", "version"]], "bittensor.core.tensor": [[75, 1, 1, "", "DTypes"], [75, 1, 1, "", "Tensor"], [75, 5, 1, "", "cast_dtype"], [75, 5, 1, "", "cast_shape"], [75, 6, 1, "", "dtypes"], [75, 1, 1, "", "tensor"]], "bittensor.core.tensor.DTypes": [[75, 4, 1, "", "torch"]], "bittensor.core.tensor.Tensor": [[75, 4, 1, "", "buffer"], [75, 2, 1, "", "deserialize"], [75, 4, 1, "", "dtype"], [75, 4, 1, "", "model_config"], [75, 2, 1, "", "numpy"], [75, 2, 1, "", "serialize"], [75, 4, 1, "", "shape"], [75, 2, 1, "", "tensor"], [75, 2, 1, "", "tolist"]], "bittensor.core.threadpool": [[76, 7, 1, "", "BrokenThreadPool"], [76, 6, 1, "", "NULL_ENTRY"], [76, 1, 1, "", "PriorityThreadPoolExecutor"], [76, 6, 1, "", "logger"]], "bittensor.core.threadpool.PriorityThreadPoolExecutor": [[76, 2, 1, "", "add_args"], [76, 2, 1, "", "config"], [76, 3, 1, "", "is_empty"], [76, 2, 1, "", "shutdown"], [76, 2, 1, "", "submit"]], "bittensor.core.timelock": [[77, 5, 1, "", "decrypt"], [77, 5, 1, "", "encrypt"], [77, 5, 1, "", "wait_reveal_and_decrypt"]], "bittensor.core.types": [[78, 1, 1, "", "AxonServeCallParams"], [78, 1, 1, "", "ParamWithTypes"], [78, 1, 1, "", "PrometheusServeCallParams"], [78, 1, 1, "", "SubtensorMixin"]], "bittensor.core.types.AxonServeCallParams": [[78, 4, 1, "", "certificate"], [78, 4, 1, "", "coldkey"], [78, 2, 1, "", "copy"], [78, 2, 1, "", "dict"], [78, 4, 1, "", "hotkey"], [78, 4, 1, "", "ip"], [78, 4, 1, "", "ip_type"], [78, 4, 1, "", "netuid"], [78, 4, 1, "", "placeholder1"], [78, 4, 1, "", "placeholder2"], [78, 4, 1, "", "port"], [78, 4, 1, "", "protocol"], [78, 4, 1, "", "version"]], "bittensor.core.types.ParamWithTypes": [[78, 4, 1, "", "name"], [78, 4, 1, "", "type"]], "bittensor.core.types.PrometheusServeCallParams": [[78, 4, 1, "", "ip"], [78, 4, 1, "", "ip_type"], [78, 4, 1, "", "netuid"], [78, 4, 1, "", "port"], [78, 4, 1, "", "version"]], "bittensor.core.types.SubtensorMixin": [[78, 2, 1, "", "add_args"], [78, 4, 1, "", "chain_endpoint"], [78, 2, 1, "", "config"], [78, 2, 1, "", "help"], [78, 4, 1, "", "log_verbose"], [78, 4, 1, "", "network"], [78, 2, 1, "", "setup_config"]], "bittensor.utils": [[90, 6, 1, "", "BT_DOCS_LINK"], [90, 1, 1, "", "Certificate"], [90, 6, 1, "", "RAOPERTAO"], [90, 6, 1, "", "U16_MAX"], [90, 6, 1, "", "U64_MAX"], [90, 1, 1, "", "UnlockStatus"], [90, 6, 1, "", "VersionCheckError"], [80, 0, 0, "-", "axon_utils"], [81, 0, 0, "-", "balance"], [86, 0, 0, "-", "btlogging"], [90, 6, 1, "", "check_version"], [90, 5, 1, "", "decode_hex_identity_dict"], [90, 5, 1, "", "deprecated_message"], [90, 5, 1, "", "determine_chain_endpoint_and_network"], [88, 0, 0, "-", "easy_imports"], [90, 5, 1, "", "float_to_u64"], [90, 5, 1, "", "format_error_message"], [89, 0, 0, "-", "formatting"], [90, 5, 1, "", "get_explorer_url_for_network"], [90, 5, 1, "", "get_hash"], [90, 5, 1, "", "get_transfer_fn_params"], [90, 6, 1, "", "hex_to_bytes"], [90, 5, 1, "", "is_valid_bittensor_address_or_public_key"], [90, 5, 1, "", "is_valid_ss58_address"], [91, 0, 0, "-", "liquidity"], [90, 6, 1, "", "logging"], [92, 0, 0, "-", "networking"], [94, 0, 0, "-", "registration"], [90, 5, 1, "", "ss58_address_to_bytes"], [90, 6, 1, "", "ss58_decode"], [90, 5, 1, "", "ss58_to_vec_u8"], [90, 5, 1, "", "strtobool"], [97, 0, 0, "-", "subnets"], [99, 0, 0, "-", "substrate_utils"], [90, 6, 1, "", "torch"], [90, 5, 1, "", "u16_normalized_float"], [90, 5, 1, "", "u64_normalized_float"], [90, 5, 1, "", "unlock_key"], [90, 6, 1, "", "use_torch"], [90, 5, 1, "", "validate_chain_endpoint"], [101, 0, 0, "-", "version"], [90, 6, 1, "", "version_checking"], [102, 0, 0, "-", "weight_utils"]], "bittensor.utils.UnlockStatus": [[90, 4, 1, "", "message"], [90, 4, 1, "", "success"]], "bittensor.utils.axon_utils": [[80, 6, 1, "", "ALLOWED_DELTA"], [80, 6, 1, "", "NANOSECONDS_IN_SECOND"], [80, 5, 1, "", "allowed_nonce_window_ns"], [80, 5, 1, "", "calculate_diff_seconds"]], "bittensor.utils.balance": [[81, 1, 1, "", "Balance"], [81, 1, 1, "", "FixedPoint"], [81, 5, 1, "", "check_and_convert_to_balance"], [81, 5, 1, "", "fixed_to_float"], [81, 5, 1, "", "rao"], [81, 5, 1, "", "tao"]], "bittensor.utils.balance.Balance": [[81, 2, 1, "", "from_float"], [81, 2, 1, "", "from_rao"], [81, 2, 1, "", "from_tao"], [81, 2, 1, "", "get_unit"], [81, 4, 1, "", "netuid"], [81, 4, 1, "", "rao"], [81, 4, 1, "", "rao_unit"], [81, 2, 1, "", "set_unit"], [81, 3, 1, "", "tao"], [81, 4, 1, "", "unit"]], "bittensor.utils.balance.FixedPoint": [[81, 4, 1, "", "bits"]], "bittensor.utils.btlogging": [[82, 0, 0, "-", "console"], [83, 0, 0, "-", "defines"], [84, 0, 0, "-", "format"], [85, 0, 0, "-", "helpers"], [86, 6, 1, "", "logging"], [87, 0, 0, "-", "loggingmachine"]], "bittensor.utils.btlogging.console": [[82, 1, 1, "", "BittensorConsole"]], "bittensor.utils.btlogging.console.BittensorConsole": [[82, 2, 1, "", "critical"], [82, 2, 1, "", "debug"], [82, 2, 1, "", "error"], [82, 2, 1, "", "info"], [82, 4, 1, "", "logger"], [82, 2, 1, "", "success"], [82, 2, 1, "", "warning"]], "bittensor.utils.btlogging.defines": [[83, 6, 1, "", "BASE_LOG_FORMAT"], [83, 6, 1, "", "BITTENSOR_LOGGER_NAME"], [83, 6, 1, "", "DATE_FORMAT"], [83, 6, 1, "", "DEFAULT_LOG_BACKUP_COUNT"], [83, 6, 1, "", "DEFAULT_LOG_FILE_NAME"], [83, 6, 1, "", "DEFAULT_MAX_ROTATING_LOG_FILE_SIZE"], [83, 6, 1, "", "TRACE_LOG_FORMAT"]], "bittensor.utils.btlogging.format": [[84, 1, 1, "", "BtFileFormatter"], [84, 1, 1, "", "BtStreamFormatter"], [84, 6, 1, "", "DEFAULT_LOG_FORMAT"], [84, 6, 1, "", "DEFAULT_TRACE_FORMAT"], [84, 6, 1, "", "LOG_FORMATS"], [84, 6, 1, "", "LOG_TRACE_FORMATS"], [84, 6, 1, "", "SUCCESS_LEVEL_NUM"], [84, 6, 1, "", "TRACE_LEVEL_NUM"], [84, 6, 1, "", "color_map"], [84, 6, 1, "", "emoji_map"], [84, 6, 1, "", "log_level_color_prefix"]], "bittensor.utils.btlogging.format.BtFileFormatter": [[84, 2, 1, "", "format"], [84, 2, 1, "", "formatTime"]], "bittensor.utils.btlogging.format.BtStreamFormatter": [[84, 2, 1, "", "format"], [84, 2, 1, "", "formatTime"], [84, 2, 1, "", "set_trace"], [84, 4, 1, "", "trace"]], "bittensor.utils.btlogging.helpers": [[85, 5, 1, "", "all_logger_names"], [85, 5, 1, "", "all_loggers"], [85, 5, 1, "", "get_max_logger_name_length"]], "bittensor.utils.btlogging.loggingmachine": [[87, 6, 1, "", "CUSTOM_LOGGER_METHOD_STACK_LEVEL"], [87, 1, 1, "", "LoggingConfig"], [87, 1, 1, "", "LoggingMachine"]], "bittensor.utils.btlogging.loggingmachine.LoggingConfig": [[87, 4, 1, "", "debug"], [87, 4, 1, "", "info"], [87, 4, 1, "", "logging_dir"], [87, 4, 1, "", "record_log"], [87, 4, 1, "", "trace"]], "bittensor.utils.btlogging.loggingmachine.LoggingMachine": [[87, 4, 1, "", "Debug"], [87, 4, 1, "", "Default"], [87, 4, 1, "", "Disabled"], [87, 4, 1, "", "Info"], [87, 4, 1, "", "Trace"], [87, 4, 1, "", "Warning"], [87, 2, 1, "", "add_args"], [87, 2, 1, "", "after_disable_debug"], [87, 2, 1, "", "after_disable_trace"], [87, 2, 1, "", "after_enable_debug"], [87, 2, 1, "", "after_enable_default"], [87, 2, 1, "", "after_enable_info"], [87, 2, 1, "", "after_enable_trace"], [87, 2, 1, "", "after_enable_warning"], [87, 2, 1, "", "after_transition"], [87, 2, 1, "", "before_disable_debug"], [87, 2, 1, "", "before_disable_logging"], [87, 2, 1, "", "before_disable_trace"], [87, 2, 1, "", "before_enable_console"], [87, 2, 1, "", "before_enable_debug"], [87, 2, 1, "", "before_enable_default"], [87, 2, 1, "", "before_enable_info"], [87, 2, 1, "", "before_enable_trace"], [87, 2, 1, "", "before_enable_warning"], [87, 2, 1, "", "before_transition"], [87, 2, 1, "", "check_config"], [87, 2, 1, "", "config"], [87, 4, 1, "", "console"], [87, 2, 1, "", "critical"], [87, 2, 1, "", "debug"], [87, 2, 1, "", "deregister_primary_logger"], [87, 4, 1, "", "disable_debug"], [87, 4, 1, "", "disable_info"], [87, 4, 1, "", "disable_logging"], [87, 2, 1, "", "disable_third_party_loggers"], [87, 4, 1, "", "disable_trace"], [87, 4, 1, "", "disable_warning"], [87, 4, 1, "", "enable_console"], [87, 4, 1, "", "enable_debug"], [87, 4, 1, "", "enable_default"], [87, 4, 1, "", "enable_info"], [87, 2, 1, "", "enable_third_party_loggers"], [87, 4, 1, "", "enable_trace"], [87, 4, 1, "", "enable_warning"], [87, 2, 1, "", "error"], [87, 2, 1, "", "exception"], [87, 2, 1, "", "get_config"], [87, 2, 1, "", "get_level"], [87, 2, 1, "", "get_queue"], [87, 2, 1, "", "help"], [87, 2, 1, "", "info"], [87, 2, 1, "", "off"], [87, 2, 1, "", "on"], [87, 2, 1, "", "register_primary_logger"], [87, 2, 1, "", "setLevel"], [87, 2, 1, "", "set_config"], [87, 2, 1, "", "set_console"], [87, 2, 1, "", "set_debug"], [87, 2, 1, "", "set_default"], [87, 2, 1, "", "set_info"], [87, 2, 1, "", "set_trace"], [87, 2, 1, "", "set_warning"], [87, 2, 1, "", "success"], [87, 2, 1, "", "trace"], [87, 2, 1, "", "warning"]], "bittensor.utils.easy_imports": [[88, 6, 1, "", "async_subtensor"], [88, 6, 1, "", "axon"], [88, 6, 1, "", "config"], [88, 5, 1, "", "debug"], [88, 6, 1, "", "dendrite"], [88, 6, 1, "", "extrinsics_subpackage"], [88, 5, 1, "", "info"], [88, 6, 1, "", "keyfile"], [88, 6, 1, "", "metagraph"], [88, 6, 1, "", "mock_subpackage"], [88, 6, 1, "", "subtensor"], [88, 6, 1, "", "synapse"], [88, 5, 1, "", "trace"], [88, 6, 1, "", "wallet"], [88, 5, 1, "", "warning"]], "bittensor.utils.formatting": [[89, 5, 1, "", "get_human_readable"], [89, 5, 1, "", "millify"]], "bittensor.utils.liquidity": [[91, 1, 1, "", "LiquidityPosition"], [91, 6, 1, "", "MAX_TICK"], [91, 6, 1, "", "MIN_TICK"], [91, 6, 1, "", "PRICE_STEP"], [91, 5, 1, "", "calculate_fees"], [91, 5, 1, "", "get_fees"], [91, 5, 1, "", "get_fees_in_range"], [91, 5, 1, "", "price_to_tick"], [91, 5, 1, "", "tick_to_price"]], "bittensor.utils.liquidity.LiquidityPosition": [[91, 4, 1, "", "fees_alpha"], [91, 4, 1, "", "fees_tao"], [91, 4, 1, "", "id"], [91, 4, 1, "", "liquidity"], [91, 4, 1, "", "netuid"], [91, 4, 1, "", "price_high"], [91, 4, 1, "", "price_low"], [91, 2, 1, "", "to_token_amounts"]], "bittensor.utils.networking": [[92, 7, 1, "", "ExternalIPNotFound"], [92, 5, 1, "", "get_external_ip"], [92, 5, 1, "", "get_formatted_ws_endpoint_url"], [92, 5, 1, "", "int_to_ip"], [92, 5, 1, "", "ip__str__"], [92, 5, 1, "", "ip_to_int"], [92, 5, 1, "", "ip_version"]], "bittensor.utils.registration": [[93, 0, 0, "-", "async_pow"], [95, 0, 0, "-", "pow"], [96, 0, 0, "-", "register_cuda"]], "bittensor.utils.registration.async_pow": [[93, 5, 1, "", "create_pow_async"]], "bittensor.utils.registration.pow": [[95, 1, 1, "", "CUDASolver"], [95, 1, 1, "", "Console"], [95, 1, 1, "", "LazyLoadedTorch"], [95, 1, 1, "", "POWSolution"], [95, 1, 1, "", "RegistrationStatistics"], [95, 1, 1, "", "RegistrationStatisticsLogger"], [95, 1, 1, "", "Solver"], [95, 1, 1, "", "Status"], [95, 1, 1, "", "UsingSpawnStartMethod"], [95, 5, 1, "", "create_pow"], [95, 5, 1, "", "get_cpu_count"], [95, 5, 1, "", "legacy_torch_api_compat"], [95, 5, 1, "", "log_no_torch_error"], [95, 5, 1, "", "terminate_workers_and_wait_for_exit"], [95, 6, 1, "", "torch"], [95, 5, 1, "", "update_curr_block"], [95, 5, 1, "", "use_torch"]], "bittensor.utils.registration.pow.CUDASolver": [[95, 4, 1, "", "dev_id"], [95, 2, 1, "", "run"], [95, 4, 1, "", "tpb"]], "bittensor.utils.registration.pow.Console": [[95, 2, 1, "", "log"], [95, 2, 1, "", "status"]], "bittensor.utils.registration.pow.POWSolution": [[95, 4, 1, "", "block_number"], [95, 4, 1, "", "difficulty"], [95, 2, 1, "", "is_stale"], [95, 2, 1, "", "is_stale_async"], [95, 4, 1, "", "nonce"], [95, 4, 1, "", "seal"]], "bittensor.utils.registration.pow.RegistrationStatistics": [[95, 4, 1, "", "block_hash"], [95, 4, 1, "", "block_number"], [95, 4, 1, "", "difficulty"], [95, 4, 1, "", "hash_rate"], [95, 4, 1, "", "hash_rate_perpetual"], [95, 4, 1, "", "rounds_total"], [95, 4, 1, "", "time_average"], [95, 4, 1, "", "time_spent"], [95, 4, 1, "", "time_spent_total"]], "bittensor.utils.registration.pow.RegistrationStatisticsLogger": [[95, 4, 1, "", "console"], [95, 2, 1, "", "get_status_message"], [95, 2, 1, "", "start"], [95, 4, 1, "", "status"], [95, 2, 1, "", "stop"], [95, 2, 1, "", "update"]], "bittensor.utils.registration.pow.Solver": [[95, 2, 1, "", "run"]], "bittensor.utils.registration.pow.Status": [[95, 2, 1, "", "start"], [95, 2, 1, "", "stop"], [95, 2, 1, "", "update"]], "bittensor.utils.registration.register_cuda": [[96, 5, 1, "", "log_cuda_errors"], [96, 5, 1, "", "reset_cuda"], [96, 5, 1, "", "solve_cuda"]], "bittensor.utils.subnets": [[97, 1, 1, "", "SubnetsAPI"]], "bittensor.utils.subnets.SubnetsAPI": [[97, 4, 1, "", "dendrite"], [97, 2, 1, "", "prepare_synapse"], [97, 2, 1, "", "process_responses"], [97, 2, 1, "", "query_api"], [97, 4, 1, "", "wallet"]], "bittensor.utils.substrate_utils": [[98, 0, 0, "-", "hasher"], [100, 0, 0, "-", "storage"]], "bittensor.utils.substrate_utils.hasher": [[98, 5, 1, "", "blake2_128"], [98, 5, 1, "", "blake2_128_concat"], [98, 5, 1, "", "blake2_256"], [98, 5, 1, "", "identity"], [98, 5, 1, "", "two_x64_concat"], [98, 5, 1, "", "xxh128"], [98, 5, 1, "", "xxh64"]], "bittensor.utils.substrate_utils.storage": [[100, 1, 1, "", "StorageKey"]], "bittensor.utils.substrate_utils.storage.StorageKey": [[100, 2, 1, "", "convert_storage_parameter"], [100, 2, 1, "", "create_from_data"], [100, 2, 1, "", "create_from_storage_function"], [100, 4, 1, "", "data"], [100, 2, 1, "", "decode_scale_value"], [100, 2, 1, "", "generate"], [100, 4, 1, "", "metadata"], [100, 4, 1, "", "metadata_storage_function"], [100, 4, 1, "", "pallet"], [100, 4, 1, "", "params"], [100, 4, 1, "", "params_encoded"], [100, 4, 1, "", "runtime_config"], [100, 4, 1, "", "storage_function"], [100, 2, 1, "", "to_hex"], [100, 4, 1, "", "value_scale_type"]], "bittensor.utils.version": [[101, 6, 1, "", "VERSION_CHECK_THRESHOLD"], [101, 7, 1, "", "VersionCheckError"], [101, 5, 1, "", "check_latest_version_in_pypi"], [101, 5, 1, "", "check_version"], [101, 5, 1, "", "get_and_save_latest_version"], [101, 5, 1, "", "version_checking"]], "bittensor.utils.weight_utils": [[102, 6, 1, "", "U16_MAX"], [102, 6, 1, "", "U32_MAX"], [102, 5, 1, "", "convert_and_normalize_weights_and_uids"], [102, 5, 1, "", "convert_bond_uids_and_vals_to_tensor"], [102, 5, 1, "", "convert_root_weight_uids_and_vals_to_tensor"], [102, 5, 1, "", "convert_uids_and_weights"], [102, 5, 1, "", "convert_weight_uids_and_vals_to_tensor"], [102, 5, 1, "", "convert_weights_and_uids_for_emit"], [102, 5, 1, "", "generate_weight_hash"], [102, 5, 1, "", "normalize_max_weight"], [102, 5, 1, "", "process_weights"], [102, 5, 1, "", "process_weights_for_netuid"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"], "7": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:function", "6": "py:data", "7": "py:exception"}, "terms": {"": [0, 1, 4, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 60, 61, 74, 75, 78, 81, 83, 84, 85, 90, 93, 95, 97, 100, 102], "0": [0, 1, 2, 10, 24, 27, 30, 31, 32, 33, 34, 38, 40, 42, 46, 47, 48, 49, 50, 51, 55, 59, 61, 66, 74, 77, 80, 81, 88, 90, 92, 93, 95, 96, 102], "0001": 91, "005": [0, 30, 34, 38, 46, 51, 55, 61], "0x0813029319030129u4120u10841824y0182u091u230912u": 74, "0x1234": 0, "1": [0, 1, 10, 21, 58, 61, 74, 75, 76, 77, 78, 87, 90, 91, 96, 102, 103], "10": [0, 10, 21, 24, 74, 77, 81, 83], "100": [0, 61], "1000": [4, 5], "1000000": 0, "1000000000": [80, 90], "1024": 1, "11": [10, 21], "111": 74, "111111": 74, "113": 1, "11ee": 74, "12": [0, 10, 21, 24, 27, 42, 59, 61, 77, 97], "120": [0, 61], "1200": 58, "122": [33, 49], "123": [0, 58, 61, 74, 77], "1234": [0, 61], "12345": 58, "127": 74, "128": [33, 49, 81], "13": [10, 21], "137": 84, "14": [0, 10, 21, 61], "147": [0, 61], "15": [10, 21, 74, 77, 101], "152": [0, 61], "16": [0, 10, 21, 61, 98], "17": 10, "18": [10, 59], "18446744073709551615": 90, "19": 10, "192": [1, 33, 49], "198": 74, "1cec": 74, "1m": 0, "2": [0, 1, 10, 21, 58, 61, 74, 75, 78, 84, 87, 98], "20": 10, "200": 74, "203": 1, "21": [10, 84], "22": 10, "23": [10, 74], "24": 10, "25": [10, 77], "256": [0, 31, 47, 61, 74, 93, 95], "26": 10, "26214400": 83, "27": 10, "28": 10, "29": 10, "3": [0, 10, 21, 31, 47, 61, 74, 77, 78, 84, 87, 88, 92, 95], "30": [10, 74], "300": [58, 90], "31": [10, 33, 49], "32": [10, 93, 95, 98], "33": 10, "3339": 84, "34": [10, 84], "35": 10, "36": 10, "360": [0, 61], "37": 10, "38": [10, 92], "39": 10, "3rd": 87, "4": [2, 10, 21, 33, 49, 74, 78, 92], "40": 10, "400": 1, "4000000000": 80, "401": 74, "4028237e": 92, "403": 74, "408": 74, "41": 10, "42": [10, 59], "422": 24, "4294967295": 102, "43": 10, "44": 10, "443": 59, "45": 10, "46": 10, "47": 10, "48": [10, 59], "49": 10, "5": [0, 10, 21, 25, 30, 34, 38, 46, 51, 55, 61, 66, 77, 78, 84], "50": 10, "51": 10, "52": 10, "53": 10, "54": 10, "55": 10, "56": 10, "57": 10, "58": 10, "59": 10, "5ecbd69c": 74, "5enjdgnqqwnul2hcadxeetn2oqtxzw6bmbe936kfy2pfz1j1": 74, "5f": 0, "5fhnew46xgxgs5muiveu4sbtygbzmstuspzc92uhjjm694ti": [0, 61], "5g": 0, "5grwvaef5zxb26fz9rcqpdws57cterhpnehxcpcnohgkutqi": [0, 61], "5h": 0, "6": [10, 21, 58, 92], "60": 10, "61": 10, "62": 10, "63": 10, "64": [10, 81, 96], "65": 10, "65535": [1, 90, 102], "66": 10, "67": 10, "68": 10, "69": 10, "7": [10, 21, 88], "70": 10, "7002000": 1, "7070": 1, "71": 10, "72": 10, "8": [0, 10, 21, 40, 50, 61, 74, 90], "8080": 74, "86400": 101, "887272": 91, "9": [10, 21, 81], "9090": 1, "9221": [33, 49], "9282": 74, "9944": 59, "9945": 66, "A": [0, 1, 2, 11, 12, 17, 21, 22, 23, 24, 25, 26, 27, 31, 33, 38, 41, 42, 47, 49, 55, 56, 58, 60, 61, 74, 76, 77, 78, 80, 81, 84, 87, 90, 95, 100], "AS": 58, "And": [0, 61], "Being": [0, 61], "But": 24, "By": [0, 1, 38, 55, 61, 74], "For": [0, 24, 38, 55, 58, 61, 74, 75, 77, 78], "If": [0, 1, 2, 6, 21, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 61, 66, 72, 74, 75, 76, 77, 78, 80, 81, 84, 88, 90, 93, 95, 102], "In": [0, 24, 58, 61, 74, 92], "It": [0, 1, 24, 33, 49, 58, 60, 61, 74, 76, 77, 78, 81, 85, 86, 87, 95], "Not": 74, "Of": 92, "Or": [0, 90], "The": [0, 1, 2, 9, 11, 12, 13, 15, 16, 17, 21, 22, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 60, 61, 66, 74, 75, 76, 77, 78, 80, 81, 84, 85, 88, 90, 91, 92, 93, 95, 96, 97, 101, 102], "Then": 61, "There": [0, 26, 41], "These": [0, 1, 32, 40, 48, 50, 58, 61, 74, 102], "To": [0, 61, 87], "Will": [0, 61, 66], "With": [0, 61], "__repr__": 24, "__setattr__": 74, "__str__": [24, 90], "_base": 76, "_do_reveal_weight": [40, 43], "_mock": [0, 61, 78], "_primary_logg": 87, "_solverbas": 95, "abc": [58, 60, 78, 97], "abil": [1, 58, 82], "abl": 24, "about": [0, 1, 2, 15, 58, 61, 74], "abov": [24, 37, 54, 84, 91], "absolut": 24, "abstract": [24, 58, 60, 97, 100], "abstractmethod": 23, "abus": 1, "accept": [1, 76, 87], "access": [0, 1, 24, 58, 61, 66, 74, 102], "accord": [1, 33, 49, 60, 74], "account": [0, 21, 25, 32, 34, 37, 40, 48, 50, 51, 54, 61, 90, 102], "account_id_byt": 21, "accountid": [15, 21, 22], "accru": 58, "accrual": [0, 61], "accumul": [58, 60], "accur": [23, 25, 58, 74, 75, 76, 78, 81, 90, 92, 101], "achiev": 58, "aclose_sess": 24, "across": [0, 56, 58, 61, 74, 95], "act": [0, 1, 24, 58, 61], "action": [0, 61, 87], "activ": [0, 1, 10, 11, 12, 17, 20, 24, 34, 51, 58, 61, 85, 97], "activity_cutoff": [10, 17], "activitycutoff": 10, "actual": [0, 1, 33, 49, 61], "ad": [0, 1, 29, 45, 61, 66, 72, 78, 84, 87], "adapt": [1, 58], "add": [0, 1, 29, 34, 45, 51, 61, 74, 78, 84, 87, 102], "add_arg": [1, 23, 66, 76, 78, 87], "add_legacy_method": 72, "add_liquid": [0, 61, 65], "add_liquidity_extrins": [29, 45], "add_stak": [0, 61, 65, 70], "add_stake_extrins": [34, 51], "add_stake_multipl": [0, 61, 65, 70], "add_stake_multiple_extrins": [34, 51], "addit": [0, 3, 4, 18, 26, 31, 41, 47, 58, 60, 61, 74, 102], "addition": [1, 74], "additional_data": 74, "address": [0, 1, 2, 4, 9, 13, 16, 21, 22, 24, 26, 30, 34, 36, 37, 38, 41, 46, 51, 53, 54, 55, 56, 58, 61, 74, 88, 90, 102], "adher": 24, "adjust": [0, 17, 61], "adjustment_alpha": [10, 17], "adjustment_interv": [10, 17], "adjustmentalpha": 10, "adjustmentinterv": 10, "advanc": [0, 61], "adversari": 1, "advis": [1, 24, 58], "after": [0, 1, 15, 17, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 60, 61, 66, 74, 76, 77, 87, 90, 95, 102], "after_disable_debug": 87, "after_disable_trac": 87, "after_enable_debug": 87, "after_enable_default": 87, "after_enable_info": 87, "after_enable_trac": 87, "after_enable_warn": 87, "after_transit": 87, "ag": 77, "against": [0, 1, 30, 46, 61], "agre": 58, "agreement": 58, "ai": [58, 59], "aid": [0, 61, 74], "aiohttp": [24, 60], "akin": 58, "algorithm": [0, 1, 33, 49, 58, 61], "alic": [0, 61], "align": [0, 58, 61], "aliv": [0, 37, 54, 61], "all": [0, 1, 24, 25, 30, 34, 37, 38, 46, 51, 54, 55, 56, 58, 61, 66, 72, 76, 85, 87, 90, 92, 95, 100], "all_hotkei": [0, 61], "all_indic": 10, "all_logg": 85, "all_logger_nam": 85, "all_netuid": [0, 61], "all_stak": 56, "all_subnet": [0, 61, 71], "alloc": [0, 58, 61], "allow": [0, 1, 4, 5, 17, 26, 29, 30, 34, 38, 41, 45, 46, 51, 55, 58, 60, 61, 74, 75, 80, 84, 88, 102], "allow_partial_stak": [0, 30, 34, 38, 46, 51, 55, 61], "allowed_delta": 80, "allowed_nonce_window_n": 80, "along": [31, 47, 77], "alpha": [0, 6, 17, 29, 38, 45, 55, 58, 61, 81, 91], "alpha_dividends_per_hotkei": [10, 58], "alpha_fees_above_high": 91, "alpha_fees_below_low": 91, "alpha_high": [10, 17], "alpha_in": [6, 10], "alpha_in_emiss": [6, 10], "alpha_low": [10, 17], "alpha_out": [6, 10], "alpha_out_emiss": [6, 10], "alpha_sigmoid_steep": 17, "alpha_slippag": 6, "alpha_stak": [10, 20, 58], "alpha_to_tao": 6, "alpha_to_tao_with_slippag": 6, "alphadividendsperhotkei": 10, "alphahigh": 10, "alphain": 10, "alphainemiss": 10, "alphalow": 10, "alphaout": 10, "alphaoutemiss": 10, "alphastak": 10, "alreadi": [1, 93, 95, 102], "also": [0, 1, 24, 60, 61, 74, 80, 81, 87], "alter": 1, "alwai": [34, 51, 61], "among": [0, 58, 61], "amount": [0, 4, 6, 11, 12, 29, 30, 34, 37, 38, 45, 46, 51, 54, 55, 56, 58, 61, 66, 77, 81, 90, 91], "an": [0, 1, 2, 6, 11, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 60, 61, 74, 75, 76, 78, 81, 84, 85, 87, 90, 91, 92], "analogi": 24, "analys": 58, "analysi": [0, 58, 61, 74], "analyz": [0, 58, 61], "ani": [0, 1, 2, 8, 9, 23, 24, 25, 31, 34, 47, 51, 58, 60, 61, 63, 74, 75, 77, 90, 91, 95, 96, 97, 100], "announc": [33, 49], "anoth": [0, 23, 30, 46, 58, 61], "any_list": 8, "anyth": 90, "api": [0, 1, 61, 66, 95, 97, 104], "app": 1, "appear": 77, "appli": [1, 10, 74, 84, 102], "applic": [0, 1, 24, 58, 60, 61, 66, 74, 85], "approach": 61, "appropri": [0, 1, 24, 58, 60, 78], "approv": 0, "aqueri": 24, "ar": [0, 1, 17, 23, 24, 25, 26, 40, 41, 43, 56, 58, 61, 66, 74, 75, 76, 77, 78, 85, 90, 100, 102], "arbitr": 15, "arbitrari": [0, 24, 61], "arbitration_block": 15, "architectur": [0, 1, 58, 61], "archiv": [0, 58, 59, 61, 66, 78, 90], "archive_endpoint": [0, 61, 66], "archive_entrypoint": 59, "arg": [23, 24, 75, 76, 84, 87, 90, 97], "argpars": [1, 23, 76, 78, 87], "argument": [0, 1, 23, 58, 60, 72, 74, 75, 76, 78, 84, 87, 90, 97], "argumentpars": [1, 23, 76, 78, 87], "aris": 1, "arithmet": 81, "around": [40, 43], "arrai": [0, 58, 61, 75, 95, 102], "asctim": [83, 84], "asgi": 60, "aspect": [0, 1, 58, 61, 74], "assert": [1, 77], "assertionerror": 1, "assess": [0, 1, 58, 61], "asset": 58, "assign": [0, 1, 31, 47, 58, 61, 74], "assist": [0, 61], "associ": [0, 1, 2, 6, 9, 11, 12, 13, 16, 20, 24, 25, 27, 30, 33, 38, 39, 40, 42, 43, 46, 49, 55, 56, 58, 61, 74, 76, 87, 102], "assum": [1, 58, 81], "assur": 1, "asymmetr": 1, "async": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 58, 60, 66, 93, 95, 97], "async_metagraph": 58, "async_pow": [94, 103], "async_substrate_interfac": [0, 21, 61], "async_subtensor": [23, 26, 27, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 50, 57, 58, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 73, 88, 93, 95, 103], "asyncex": [44, 103], "asyncgener": 24, "asynchron": [0, 1, 24, 31, 60, 95], "asyncio": [0, 24], "asyncmetagraph": 58, "asyncquerymapresult": 0, "asyncsubtensor": [0, 26, 27, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 50, 58, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 73, 93, 95], "attach": [1, 74], "attack": 1, "attain": 92, "attempt": [0, 25, 26, 31, 41, 47, 58, 61, 74, 90, 92], "attribut": [0, 4, 11, 61, 74], "authent": [1, 33, 49, 58, 74], "author": [0, 30, 58, 61], "auto": 103, "autoapi": 103, "automat": [0, 24, 58, 61, 74], "avail": [0, 1, 61, 66], "averag": [17, 95], "aw": 92, "await": [0, 24, 60, 61, 66], "axon": [0, 2, 10, 11, 12, 23, 24, 25, 33, 49, 57, 58, 61, 74, 88, 97, 103], "axon_hotkei": 74, "axon_info": [7, 10, 11, 12, 24, 103], "axon_util": [90, 103], "axoninfo": [1, 2, 10, 11, 12, 21, 24, 58], "axonmiddlewar": 1, "axonserv": 1, "axonservecallparam": [33, 49, 78], "ay": 14, "b": 58, "b0dc": 74, "b64decod": 74, "back": [0, 1, 24, 29, 45, 60, 61, 74, 77, 100], "backbon": 58, "background": 1, "backward": [1, 81, 101], "balanc": [0, 4, 5, 6, 10, 11, 12, 16, 19, 20, 21, 29, 30, 34, 37, 38, 39, 45, 46, 51, 54, 55, 56, 61, 66, 90, 91, 103], "bandwidth": 74, "base": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 58, 60, 61, 74, 75, 76, 77, 78, 81, 84, 87, 90, 92, 95, 97, 100, 101, 102], "base64": [21, 74], "base_log_format": 83, "baseclass": 58, "basehttpmiddlewar": 1, "basemodel": [24, 60, 74, 75], "basic": [11, 58, 74], "batch": [0, 61], "becaus": 74, "becom": [0, 61], "been": [0, 1, 24, 60, 74, 76], "befor": [0, 1, 15, 24, 31, 32, 33, 34, 36, 37, 38, 40, 46, 47, 48, 49, 50, 51, 53, 54, 55, 61, 87, 93, 95, 96], "before_disable_debug": 87, "before_disable_log": 87, "before_disable_trac": 87, "before_enable_consol": 87, "before_enable_debug": 87, "before_enable_default": 87, "before_enable_info": 87, "before_enable_trac": 87, "before_enable_warn": 87, "before_transit": 87, "begin": [0, 1, 61], "behavior": [0, 1, 58, 61, 74], "being": [0, 1, 5, 21, 29, 33, 35, 40, 43, 45, 49, 52, 60, 61, 87, 95], "belief": 58, "belong": [0, 34, 51, 61], "below": [0, 61], "benefici": 58, "benefit": [24, 58], "bespok": 97, "between": [0, 1, 6, 31, 46, 47, 58, 61, 74, 80, 81, 87, 91, 102], "beyond": 58, "bind": 1, "bit": 81, "bittensor": 103, "bittensor_logger_nam": [83, 87], "bittensor_wallet": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 61, 90, 93, 95, 97], "bittensorconsol": 82, "blacklist": [1, 25, 74], "blacklist_custom": 1, "blacklist_fn": 1, "blacklist_my_synaps": 1, "blacklist_my_synapse_2": 1, "blacklistedexcept": 25, "blake256": [33, 49], "blake2_128": 98, "blake2_128_concat": 98, "blake2_256": 98, "blake2b": 98, "block": [0, 1, 10, 13, 15, 17, 21, 22, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 61, 66, 77, 90, 93, 95, 96], "block_and_hotkey_hash_byt": 96, "block_at_registr": [10, 20, 58], "block_byt": 95, "block_hash": [0, 33, 61, 90, 95], "block_numb": [0, 95], "block_tim": [0, 27, 42, 61, 77], "blockatregistr": 10, "blockchain": [0, 26, 29, 30, 31, 33, 35, 36, 38, 40, 41, 43, 45, 47, 49, 52, 53, 55, 58, 61, 102], "blocknotfound": 25, "blocks_since_epoch": 19, "blocks_since_last_step": [0, 6, 10, 58, 61, 71], "blocks_since_last_upd": [0, 61, 71], "blocks_since_upd": 0, "blocks_until_rev": [0, 61], "blockssincelaststep": 10, "blocktim": 59, "bob": [0, 61], "bodi": [0, 1, 24, 60, 61, 74], "body_hash": 74, "bond": [0, 11, 12, 17, 33, 49, 58, 61, 66, 71, 102], "bonds_as_dict": 11, "bonds_moving_avg": [10, 17], "bonds_reset_en": 17, "bondsmovingavg": 10, "bool": [0, 1, 2, 6, 10, 11, 12, 16, 17, 20, 21, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 61, 66, 74, 75, 77, 78, 84, 87, 88, 90, 91, 93, 95, 97], "boolean": [0, 1, 26, 27, 29, 41, 42, 45, 58, 61, 90], "both": [0, 1, 61, 87, 102], "bound": [0, 29, 45, 61], "brain": 24, "bridg": 24, "broadcast": 1, "broader": 1, "broken": 25, "brokenexecutor": 76, "brokenthreadpool": 76, "bt": [0, 1, 23, 61, 66, 77, 97], "bt_docs_link": 90, "bt_header_axon_address": 74, "bt_header_dendrite_port": 74, "btfileformatt": 84, "btlog": [90, 103], "btstreamformatt": 84, "btstreamingrespons": 60, "btstreamingresponsemodel": 60, "buffer": [24, 75, 90], "build": 24, "built": 100, "bulk": [0, 61], "burn": [0, 10, 17, 19, 61], "burned_regist": [0, 61, 65], "burned_register_extrins": [31, 47], "byte": [0, 12, 21, 33, 49, 61, 74, 77, 90, 95, 96, 98, 100, 102], "byte_data": 77, "bytes_or_buff": 90, "c": 58, "calcul": [0, 1, 17, 58, 61, 74, 80, 85, 91, 95, 98], "calculate_diff_second": 80, "calculate_fe": 91, "call": [0, 1, 17, 24, 29, 33, 35, 39, 45, 49, 52, 56, 60, 61, 74, 76, 78, 87, 90, 101], "call_def": 0, "call_definit": [0, 61], "call_next": 1, "call_param": [33, 49], "call_stream": 24, "callabl": [1, 60, 76], "caller": 1, "can": [0, 1, 9, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 60, 61, 74, 76, 77, 95, 102], "cancel": 76, "cancel_futur": 76, "cannot": [0, 25, 29, 35, 45, 52, 60, 61, 74, 75, 92], "capabl": [1, 33, 49], "captur": 58, "carrier": 74, "case": [0, 1, 24, 61, 66, 100], "cast": 75, "cast_dtyp": 75, "cast_float": 74, "cast_int": 74, "cast_shap": 75, "categori": 74, "caught": [24, 90], "ceas": 1, "center": 84, "central": [1, 58], "certain": [0, 1, 61, 95], "certif": [0, 1, 33, 49, 61, 78, 90], "chain": [0, 1, 3, 16, 21, 25, 31, 32, 33, 34, 37, 38, 40, 47, 48, 49, 50, 51, 54, 55, 59, 61, 66, 78, 90, 102, 103], "chain_data": [0, 1, 24, 56, 57, 58, 61, 103], "chain_endpoint": [58, 66, 78, 90], "chain_ident": [0, 7, 10, 61, 103], "chainconnectionerror": 25, "chaindatatyp": 21, "chainerror": 25, "chainident": [0, 3, 10, 21, 58, 61], "chainqueryerror": 25, "chaintransactionerror": 25, "challeng": [0, 61, 93, 95], "chang": [0, 38, 46, 55, 61, 82, 84, 88], "characterist": [0, 61], "check": [0, 1, 23, 24, 30, 34, 38, 46, 51, 55, 61, 74, 81, 90, 92, 93, 95, 101], "check_and_convert_to_bal": 81, "check_block": 95, "check_config": [1, 87], "check_latest_version_in_pypi": 101, "check_vers": [90, 101], "child": [0, 25, 26, 41, 61], "child_hotkei": 0, "childkei": [0, 25, 61], "children": [0, 25, 28, 44, 61, 103], "choic": 90, "chr_transform": 10, "chunk": [24, 60], "claim": [0, 1, 36, 53, 61], "class": [25, 31, 47, 77], "classic": 72, "classmethod": [1, 2, 8, 9, 11, 14, 15, 16, 22, 23, 25, 66, 74, 76, 78, 87, 95, 100], "classvar": 74, "clean": [0, 76], "cleanup": 24, "clear": 60, "cli": [0, 61], "client": [1, 24, 29, 35, 45, 52, 60], "clientrespons": [24, 60], "clientsess": 24, "close": [0, 24, 61, 66], "close_sess": 24, "closur": 24, "code": [1, 24, 74], "cold": [15, 66], "coldkei": [0, 2, 4, 5, 10, 11, 12, 16, 20, 25, 26, 30, 34, 38, 41, 46, 51, 55, 56, 58, 61, 73, 78, 90], "coldkey_ss58": [0, 16, 61], "coldkeypub": [0, 1, 61], "collabor": [0, 58, 61], "collat": 24, "collect": [0, 23, 56, 58, 61], "color": 84, "color_map": 84, "com": 90, "combin": [56, 91], "come": 1, "command": [1, 78], "commit": [0, 17, 21, 22, 25, 27, 33, 40, 42, 43, 49, 61, 66, 102, 103], "commit_block": [0, 22, 61], "commit_data": 22, "commit_hash": [40, 43], "commit_hex": 22, "commit_messag": [0, 61], "commit_rev": [28, 44, 103], "commit_reveal_en": [0, 61, 63, 71], "commit_reveal_period": [10, 17], "commit_reveal_v3_extrins": [27, 42], "commit_reveal_weights_en": [10, 17], "commit_weight": [0, 44, 61, 65, 103], "commit_weights_extrins": [40, 43], "commitrevealperiod": 10, "commitrevealweightsen": 10, "committ": [0, 22, 61], "committe": [0, 61], "common": [4, 24, 25, 34, 38, 51, 55], "commun": [0, 1, 58, 61, 74, 97], "compar": [1, 56], "comparison": [1, 81], "compat": [0, 40, 43, 61, 74, 81, 88, 101], "complet": [1, 24, 58, 76], "complex": [0, 1, 58, 61, 74], "compon": [0, 1, 58, 61], "composit": [0, 61], "comprehend": [0, 61], "comprehens": [0, 61], "compress": 74, "comput": [0, 33, 49, 58, 61, 74], "computed_body_hash": 74, "concaten": [74, 98], "concept": 58, "concern": 1, "concurr": [1, 24, 76], "condit": [0, 1, 61], "confid": 1, "config": [0, 1, 57, 58, 60, 61, 66, 74, 75, 76, 78, 87, 88, 103], "configdict": [60, 74, 75], "configur": [0, 1, 23, 58, 60, 61, 66, 74, 75, 78, 87], "confirm": 1, "conflict": 1, "conform": [60, 74, 75], "congest": [0, 61], "connect": [0, 1, 24, 25, 33, 34, 36, 49, 51, 53, 58, 61, 66, 74, 78], "connection_requir": 19, "connectionerror": 0, "consensu": [0, 10, 11, 12, 20, 58, 61], "conserv": [0, 61], "consist": [0, 58, 61, 74, 86], "consol": [0, 31, 47, 61, 86, 87, 93, 95, 103], "constant": [0, 17, 61, 83], "constant_nam": [0, 61], "constantli": 58, "constrain": 74, "constraint": 102, "construct": [23, 58, 74], "contact": [0, 31, 47, 61], "contain": [0, 1, 2, 4, 11, 21, 22, 24, 30, 31, 33, 38, 47, 49, 55, 56, 58, 60, 61, 74, 77, 78, 80, 90, 95, 102, 103], "context": [0, 1, 24, 58, 61, 74], "continu": [1, 58], "contribut": [0, 1, 58, 61], "control": [0, 1, 61, 74], "conveni": 74, "convers": [74, 91, 102], "convert": [1, 2, 21, 74, 77, 81, 89, 90, 91, 95, 102], "convert_and_normalize_weights_and_uid": 102, "convert_bond_uids_and_vals_to_tensor": 102, "convert_root_weight_uids_and_vals_to_tensor": 102, "convert_storage_paramet": 100, "convert_uids_and_weight": 102, "convert_weight_uids_and_vals_to_tensor": 102, "convert_weights_and_uids_for_emit": 102, "cool": [0, 61], "cooldown": [0, 26, 41, 61], "copi": [0, 58, 78], "copier": 0, "core": [79, 87, 93, 95, 97, 103], "cornerston": [1, 74], "correct": [1, 58, 74], "correctli": [1, 58], "correl": [0, 61], "correspond": [0, 1, 21, 24, 32, 40, 43, 48, 50, 56, 58, 61, 96, 102], "corrupt": 90, "cortex": 77, "cost": [0, 61], "count": 5, "counterpart": 24, "cover": [0, 24, 58, 61], "cpu": [93, 95], "creat": [0, 1, 2, 9, 11, 22, 24, 33, 49, 58, 60, 61, 74, 75, 78, 81, 90, 93, 95, 100, 103], "create_error_respons": 1, "create_from_data": 100, "create_from_storage_funct": 100, "create_pow": 95, "create_pow_async": 93, "create_streaming_respons": 60, "creation": [1, 74], "credit": [0, 29, 45, 61], "criteria": 1, "critic": [0, 1, 58, 61, 74, 82, 87], "crucial": [0, 1, 24, 33, 49, 58, 61, 74], "crv3": [0, 61], "crv3weightcommitsv2": 22, "crv4": [0, 61], "cryptocurr": 58, "cryptograph": [0, 1, 58, 61], "cuda": [0, 31, 47, 61, 93, 95, 96], "cudasolv": 95, "cumul": 58, "curl": 92, "curr_block": 95, "curr_block_num": 95, "curr_diff": 95, "currenc": 81, "current": [0, 1, 6, 58, 61, 66, 74, 80, 91, 95, 100, 101], "current_block": [0, 58], "current_subnet_pric": 91, "current_tick": 91, "current_tim": 80, "current_time_n": 80, "custom": [0, 1, 7, 58, 74, 77, 84, 86], "custom_logger_method_stack_level": 87, "custom_synaps": 74, "customiz": 1, "customsynaps": 74, "cutoff": 17, "d": [24, 58, 75, 78, 83], "dai": [4, 5], "daili": [4, 5], "data": [0, 1, 2, 6, 7, 10, 13, 14, 16, 20, 21, 22, 24, 26, 33, 41, 49, 56, 58, 60, 61, 74, 75, 77, 90, 95, 98, 100, 102], "data_typ": [33, 49], "databas": 100, "dataclass": [0, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 18, 19, 20, 61, 77], "date": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 61, 84, 101], "date_format": 83, "datefmt": 84, "datetim": [0, 61], "de": 87, "deal": 1, "debug": [74, 82, 87, 88], "decai": 17, "deceiv": 1, "decentr": [0, 1, 33, 49, 58, 61, 74], "decis": [0, 58, 61], "decod": [0, 1, 2, 6, 7, 8, 12, 15, 16, 20, 21, 22, 26, 41, 61, 74, 77, 90, 100], "decode_account_id": 21, "decode_account_id_list": 15, "decode_block": 21, "decode_hex_identity_dict": 90, "decode_metadata": 21, "decode_revealed_commit": 21, "decode_revealed_commitment_with_hotkei": 21, "decode_scale_valu": 100, "decor": 95, "decreas": [0, 25, 38, 55, 61], "decrease_take_extrins": [36, 53], "decrypt": [0, 26, 41, 61, 77, 90], "decrypted_data": 77, "deepcopi": 58, "deeper": [0, 61], "def": [0, 1, 74], "default": [0, 1, 2, 21, 23, 24, 25, 27, 29, 30, 31, 33, 34, 35, 36, 38, 42, 45, 47, 49, 51, 52, 53, 55, 56, 58, 59, 61, 66, 74, 77, 78, 80, 81, 84, 87, 88, 90, 95, 96, 97, 101, 102], "default_endpoint": 59, "default_log_backup_count": 83, "default_log_file_nam": 83, "default_log_format": 84, "default_max_rotating_log_file_s": 83, "default_network": [58, 59], "default_trace_format": 84, "default_verifi": 1, "defaultconfig": 23, "defaultdict": 23, "defaultmunch": 23, "defin": [0, 1, 2, 6, 10, 20, 21, 58, 61, 74, 84, 86, 90, 103], "definit": [0, 83], "deiniti": 87, "delai": 1, "deleg": [0, 4, 5, 25, 36, 53, 58, 61, 66, 103], "delegate_info": [0, 7, 103], "delegate_info_lit": [7, 103], "delegate_ss58": 5, "delegatedinfo": [0, 4, 21, 61], "delegateinfo": [0, 4, 5, 21, 61], "delegateinfobas": 4, "delegateinfolit": 5, "delegateliteinfo": 5, "delegatetaketoohigh": [0, 25, 61], "delegatetaketoolow": [0, 25, 61], "delegatetxratelimitexceed": [0, 25, 61], "delta": [1, 80], "dendrit": [1, 25, 57, 74, 88, 97, 103], "dendrite_default_error": 24, "dendrite_error_map": 24, "dendrite_hotkei": 74, "dendrite_inst": 24, "dendritemixin": 24, "denot": 58, "depart": 0, "depend": [2, 90, 91], "deposit": [0, 37, 54, 61, 90], "deprec": [81, 88, 90, 101], "deprecated_messag": 90, "deregister_primary_logg": 87, "deriv": [10, 21], "describ": [0, 40, 43, 61, 84], "descript": [0, 1, 3, 18, 31, 47, 61, 74], "deseri": [24, 58, 60, 74, 75, 97], "deserialized_synaps": 74, "design": [0, 1, 24, 60, 61, 74, 88], "desir": [74, 87], "dest": [0, 37, 54, 61], "destin": [0, 30, 37, 40, 46, 50, 54, 61, 90, 102], "destination_coldkey_ss58": [0, 30, 46, 61], "destination_hotkei": [0, 30, 46, 61], "destination_hotkey_ss58": [0, 61], "destination_netuid": [0, 30, 46, 61], "destination_pric": [0, 61], "destination_subnet_pric": [0, 61], "detail": [0, 1, 58, 61, 74, 100], "detect": 74, "determin": [0, 1, 24, 58, 61, 74, 78, 85, 90], "determine_block_hash": [0, 61, 66], "determine_chain_endpoint_and_network": 90, "dev_id": [0, 31, 47, 61, 93, 95, 96], "develop": [1, 60, 74, 104], "devic": [0, 31, 47, 61, 93, 95, 96], "dict": [0, 1, 2, 4, 8, 9, 10, 11, 12, 14, 16, 19, 21, 23, 24, 33, 49, 58, 59, 60, 61, 74, 75, 78, 84, 90, 91, 95], "dictionari": [0, 1, 2, 9, 11, 21, 23, 25, 58, 60, 61, 74, 75, 78, 85, 90], "did": [31, 32, 33, 34, 37, 47, 48, 49, 50, 51, 54], "diff": 95, "differ": [0, 1, 6, 23, 24, 46, 58, 61, 74, 80, 81, 87, 93, 95], "difficulti": [0, 10, 17, 19, 61, 71, 95, 96], "digit": [1, 58, 74], "dir": 58, "dir_path": 58, "direct": [0, 58, 61], "directli": [0, 24, 60, 61, 74], "directori": 58, "disabl": [0, 29, 45, 61, 66, 87, 88], "disable_debug": 87, "disable_info": 87, "disable_log": 87, "disable_third_party_logg": 87, "disable_trac": 87, "disable_warn": 87, "disallow": 1, "discord": [0, 3, 18, 31, 47, 61], "discoveri": [0, 61], "disk": 58, "dispatch": 1, "distinguish": 58, "distribut": [0, 58, 61, 74, 91], "divers": [0, 61], "dividend": [10, 11, 12, 20, 58], "do": [0, 1, 61], "do_commit_weight": [40, 43], "do_serve_axon": [33, 49], "doc": [0, 90], "docstr": 58, "document": [0, 61, 103], "doe": [0, 1, 22, 25, 26, 41, 61, 74, 77, 93, 95], "does_hotkey_exist": [0, 61, 73], "doesn": [0, 1, 25, 26, 41, 58, 61, 87], "don": 0, "done": 0, "down": [0, 1, 61], "drain": 16, "drand": [0, 61, 77], "dtype": 75, "due": [0, 1], "dummy_input": 74, "dump": 77, "duplic": [0, 25, 26, 41], "duplicatechild": [0, 25, 26, 41], "durat": [0, 24, 27, 42, 61, 74], "dure": [0, 1, 17, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 61, 74, 77, 95], "dust": [0, 61], "dynam": [0, 1, 6, 58, 61], "dynamic_info": [7, 103], "dynamicinfo": [0, 6, 21, 61], "e": [0, 2, 9, 13, 31, 33, 47, 49, 58, 61, 74], "e29ce36fec1a": 74, "each": [0, 1, 21, 24, 34, 38, 40, 43, 51, 55, 56, 58, 61, 74, 77, 78, 87, 95], "earn": [0, 34, 51, 58, 61], "easi": 74, "easy_import": [90, 103], "econom": [0, 61], "ecosystem": [0, 58, 61, 74], "ed25519": [37, 54], "effect": [0, 1, 61], "effici": [0, 1, 24, 58, 61, 74], "effort": [0, 61], "either": [0, 61, 81, 84, 92], "element": [0, 10, 24, 26, 27, 31, 41, 42, 47, 58, 61, 75], "elig": [0, 61], "ellipsi": 74, "els": 90, "email": [31, 47], "embodi": 58, "emiss": [0, 6, 10, 11, 12, 16, 20, 35, 52, 58, 61], "emission_histori": 20, "emission_valu": 19, "emit": [0, 61], "emoji": 84, "emoji_map": 84, "emploi": 58, "empti": [0, 61, 75, 78], "enabl": [0, 1, 17, 29, 30, 33, 34, 38, 45, 46, 49, 51, 55, 58, 61, 66, 74, 87, 88], "enable_consol": 87, "enable_debug": 87, "enable_default": 87, "enable_info": 87, "enable_third_party_logg": 87, "enable_trac": 87, "enable_warn": 87, "encapsul": [1, 24, 60, 74], "encod": [0, 7, 9, 16, 21, 61, 74, 77, 90], "encode_param": [0, 61, 66], "encoded_data": 21, "encompass": 74, "encount": [1, 75], "encourag": 58, "encrypt": [1, 77], "encrypted_data": 77, "end": [1, 14, 24, 74], "endpoint": [0, 1, 2, 24, 33, 49, 61, 66, 74, 78, 90, 92], "endpoint_url": [90, 92], "enforc": [74, 90], "enhanc": [0, 33, 49, 58, 61, 74], "enough": 25, "ensur": [0, 1, 24, 40, 43, 58, 60, 61, 74, 86, 87, 88, 95], "enter": [0, 31, 32, 33, 34, 37, 38, 40, 47, 48, 49, 50, 51, 54, 55, 61], "entir": [0, 24, 61], "entiti": [1, 58], "entri": [0, 58, 61, 100], "entrypoint": 59, "enum": [10, 21], "enumer": [10, 21], "environ": [0, 1, 58, 61, 74, 96], "epoch": [0, 61], "equal": [93, 95], "equip": 1, "error": [0, 1, 2, 23, 24, 26, 29, 33, 35, 36, 38, 40, 41, 43, 45, 49, 52, 53, 55, 57, 58, 61, 66, 74, 75, 77, 82, 87, 90, 93, 95, 96, 101, 103], "error_messag": 90, "especi": [1, 24, 74], "essenti": [0, 1, 24, 58, 61, 74], "establish": [0, 1, 24, 61, 74], "estim": [0, 6, 61], "etc": [1, 60, 66, 74], "evalu": [0, 1, 78], "even": [0, 29, 45, 61], "event": [24, 60, 87, 95], "event_loop_is_run": 24, "everi": 74, "everyth": 58, "evolut": 58, "exact": 58, "examin": 58, "exampl": [1, 38, 55, 74, 75, 77], "examplerout": 74, "examplesynaps": 74, "exce": [0, 26, 30, 41, 46, 61], "exceed": [0, 25, 34, 38, 51, 55, 61], "except": [0, 1, 24, 26, 41, 61, 75, 87, 90], "exchang": [1, 58, 74], "exclud": 102, "exclude_quantil": 102, "execut": [0, 1, 25, 58, 61, 76], "executor": 76, "exhaust": 24, "exist": [0, 1, 22, 24, 25, 26, 41, 61, 90, 93, 95], "existenti": [0, 37, 54, 61, 90], "existential_deposit": 0, "existentialdeposit": 0, "exit": [1, 25], "expect": [1, 24, 58, 60], "expir": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 61], "explicitli": [0, 23, 58, 60, 74, 75], "explor": 90, "expos": 90, "express": 77, "extend": 1, "extent": [0, 61], "extern": [1, 24, 92], "external_ip": [1, 24, 92], "external_port": 1, "externalipnotfound": 92, "extract": [1, 24, 60], "extract_response_json": 60, "extrem": 1, "extrins": [0, 57, 61, 66, 90, 103], "extrinsicnotfound": 25, "extrinsics_subpackag": 88, "f": [0, 90], "face": [0, 1, 61, 92], "facilit": [0, 1, 58, 61, 74], "factor": [0, 61], "factori": [0, 58], "fail": [0, 1, 2, 21, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 38, 40, 41, 45, 47, 48, 49, 50, 51, 52, 54, 55, 61, 74, 76, 77, 92, 101], "failed_verif": 74, "failur": [0, 1, 26, 27, 31, 33, 36, 41, 42, 47, 49, 53, 61, 74], "fallback": [0, 24, 61, 66], "fallback_endpoint": [0, 61, 66], "fals": [0, 1, 6, 11, 12, 21, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 61, 66, 74, 75, 77, 84, 88, 90, 93, 95, 97], "fast": [0, 61, 77], "fast_config": 1, "fast_serv": 1, "fastapi": 1, "fastapithreadedserv": 1, "feasibl": 24, "featur": [0, 1, 61, 74, 88], "fee": [0, 39, 56, 61, 91], "fees_above_high": 91, "fees_alpha": 91, "fees_below_low": 91, "fees_tao": 91, "fetch": [0, 5, 33, 49, 61, 102], "field": [0, 1, 2, 4, 60, 61, 72, 74, 75], "field_indic": [0, 61], "file": [23, 58], "filenam": [83, 84], "fill": [1, 24], "filter": [0, 1, 61], "filter_for_netuid": [0, 61], "filter_netuids_by_registered_hotkei": [0, 61, 73], "final": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 61, 74, 95], "financi": [0, 61], "find": [56, 74], "fingerprint": 74, "finish": [24, 76, 95], "finished_queu": 95, "finnei": [0, 58, 59, 66, 78, 90], "finney_entrypoint": 59, "finney_test_entrypoint": 59, "first": [0, 1, 6, 23, 24, 26, 27, 31, 34, 41, 42, 47, 51, 58, 61, 74], "fix": [0, 61, 81], "fixed_to_float": 81, "fixedpoint": [61, 81], "flag": [0, 1, 2, 17, 24, 31, 33, 34, 36, 37, 47, 49, 50, 51, 53, 54, 58, 61, 78, 84, 90], "flexibl": [0, 1, 61], "float": [0, 1, 4, 5, 6, 10, 11, 12, 17, 19, 20, 24, 26, 27, 30, 32, 34, 38, 40, 41, 42, 46, 48, 50, 51, 55, 58, 61, 66, 74, 77, 80, 81, 90, 91, 95, 102], "float32": [0, 27, 32, 40, 42, 48, 50, 61, 102], "float_to_u64": 90, "floattensor": [0, 27, 40, 42, 50, 61, 102], "flow": [1, 74], "fluctuat": [0, 61], "fmt": 84, "fn": [58, 76], "focus": [0, 61], "follow": [33, 49, 74, 78, 87], "forbidden": 74, "forc": 95, "forev": [0, 61, 66], "form": [1, 58, 60, 74, 75, 77, 92], "format": [0, 1, 24, 33, 49, 58, 60, 61, 74, 78, 86, 90, 92, 103], "format_error_messag": 90, "formatt": [84, 86, 87], "formatted_endpoint_url": 92, "formattim": 84, "forward": [1, 24], "forward_class_typ": 1, "forward_custom": 1, "forward_fn": [1, 25], "forward_my_synaps": 1, "forward_my_synapse_2": 1, "foster": 1, "found": [0, 1, 25, 56, 61, 95, 96], "foundat": [0, 1], "frac_bit": 81, "frame": [0, 61], "framework": [1, 24, 74, 87, 88], "frequent": [0, 61], "fresh": 1, "friendli": [1, 40, 43], "fro": 87, "from": [0, 1, 2, 9, 10, 11, 15, 16, 21, 24, 29, 30, 33, 34, 36, 37, 38, 45, 46, 49, 51, 53, 54, 55, 58, 60, 61, 66, 74, 75, 76, 77, 78, 81, 82, 87, 90, 92, 95, 97, 102], "from_dict": [8, 14, 16], "from_error": 25, "from_float": 81, "from_head": 74, "from_neuron_info": 2, "from_parameter_dict": [2, 9], "from_rao": 81, "from_scale_encod": 21, "from_scale_encoding_using_type_str": 21, "from_str": 2, "from_tao": [0, 61, 81], "from_vec_u8": 22, "from_vec_u8_v2": 22, "from_weights_bonds_and_neuron_lit": 11, "full": [0, 30, 46, 58, 61], "full_address": 1, "func": [5, 95, 101], "function": [7, 22, 25, 60, 61, 86, 87, 97, 100], "fund": [0, 37, 54, 61], "fundament": [0, 1, 34, 51, 58, 61, 74], "further": 1, "futur": [33, 49, 58, 76], "g": [0, 2, 9, 13, 31, 47, 74], "gain": [0, 61], "garbag": 0, "gather": 1, "gener": [0, 1, 10, 21, 24, 60, 61, 85, 95, 100, 102, 103], "generate_weight_hash": 102, "genericcal": [0, 39, 56, 61], "genericmetadatavers": 100, "genuin": 1, "get": [0, 23, 24, 39, 56, 58, 61, 72, 74, 76, 77, 84, 87, 90, 95], "get_all_commit": [0, 61, 63], "get_all_metagraphs_info": [0, 61, 67], "get_all_neuron_certif": [0, 61, 68], "get_all_revealed_commit": [0, 61, 63], "get_all_subnets_info": [0, 61, 71], "get_and_save_latest_vers": 101, "get_async_subtensor": 0, "get_bal": [0, 61, 73], "get_block_hash": [0, 61, 62], "get_children": [0, 61, 71, 73], "get_children_pend": [0, 61, 71, 73], "get_commit": [0, 61, 63], "get_config": 87, "get_cpu_count": 95, "get_current_block": [0, 58, 61, 62], "get_current_weight_commit_info": [0, 61, 63, 71], "get_current_weight_commit_info_v2": [0, 61, 63], "get_deleg": [0, 61, 64, 73], "get_delegate_by_hotkei": [0, 61, 64, 73], "get_delegate_ident": [0, 61, 62, 64, 66], "get_delegate_tak": [0, 61, 64, 73], "get_existential_deposit": [0, 61, 62], "get_explorer_url_for_network": 90, "get_external_ip": 92, "get_extrinsic_fe": [39, 56], "get_fe": 91, "get_fees_in_rang": 91, "get_formatted_ws_endpoint_url": 92, "get_hash": 90, "get_hotkey_own": [0, 61, 73], "get_hotkey_stak": [0, 61, 70, 73], "get_human_read": 89, "get_hyperparamet": [0, 61, 71], "get_last_bonds_reset": [33, 49], "get_last_commitment_bonds_reset_block": [0, 61, 63], "get_level": 87, "get_liquidity_list": [0, 61, 71], "get_max_logger_name_length": 85, "get_metadata": [33, 49], "get_metagraph_info": [0, 61, 67], "get_minimum_required_stak": [0, 61, 62, 70, 73], "get_netuids_for_hotkei": [0, 61, 73], "get_neuron_certif": [0, 61, 68], "get_neuron_for_pubkey_and_subnet": [0, 61, 71], "get_next_epoch_start_block": [0, 61, 71], "get_null_neuron": [11, 12], "get_old_stak": 56, "get_owned_hotkei": [0, 61, 73], "get_par": [0, 61, 71], "get_queu": 87, "get_required_field": 74, "get_revealed_commit": [0, 61, 63], "get_revealed_commitment_by_hotkei": [0, 61, 63], "get_save_dir": 58, "get_siz": 74, "get_stak": [0, 61, 70, 73], "get_stake_add_fe": [0, 61, 70, 73], "get_stake_for_coldkei": [0, 61, 70, 73], "get_stake_for_coldkey_and_hotkei": [0, 61, 70, 73], "get_stake_for_hotkei": [0, 61, 73], "get_stake_info_for_coldkei": [0, 61, 70, 73], "get_stake_movement_fe": [0, 61, 70, 73], "get_stake_operations_fe": [0, 61, 70], "get_stake_weight": [0, 61, 70], "get_status_messag": 95, "get_subnet": [0, 61, 71], "get_subnet_burn_cost": [0, 61, 71], "get_subnet_hyperparamet": [0, 61, 71], "get_subnet_info": [0, 61, 71], "get_subnet_owner_hotkei": [0, 61, 71], "get_subnet_pric": [0, 61, 71], "get_subnet_reveal_period_epoch": [0, 61, 71], "get_subnet_validator_permit": [0, 61, 71], "get_timelocked_weight_commit": [0, 61, 63], "get_timestamp": [0, 61, 62], "get_total_s": 74, "get_total_subnet": [0, 61, 71], "get_transfer_fe": [0, 61, 73], "get_transfer_fn_param": 90, "get_uid_for_hotkey_on_subnet": [0, 61, 71], "get_unit": 81, "get_unstake_fe": [0, 61, 70, 73], "get_vote_data": [0, 61, 62], "getdefaultencod": 90, "github": [0, 3, 31, 47, 61], "github_repo": [18, 31, 47], "give": [0, 76, 81, 82], "given": [0, 1, 21, 27, 30, 31, 32, 33, 39, 40, 42, 47, 48, 49, 50, 56, 58, 60, 61, 74, 75, 76, 81, 90, 93, 95, 97, 102], "global": [0, 61], "global_fees_alpha": 91, "global_fees_tao": 91, "glorifi": 74, "glossari": 0, "go": 1, "goe": [0, 31, 38, 47, 55, 61], "govern": [0, 58, 61], "grace": [0, 61], "gracefulli": 1, "graph": 58, "great": 1, "greater": [58, 102], "growth": [0, 61], "grpc": 1, "guard": 1, "h": [83, 89], "ha": [0, 1, 12, 24, 25, 58, 60, 61, 95], "halt": 1, "handl": [0, 1, 6, 20, 24, 40, 43, 60, 61, 74, 77, 87, 91, 92, 102], "handler": [1, 86, 87, 90], "hash": [0, 1, 22, 33, 40, 43, 49, 61, 74, 90, 95, 96, 98, 102], "hash_rat": 95, "hash_rate_perpetu": 95, "hash_valu": 74, "hasher": [99, 103], "hasn": 1, "have": [0, 1, 25, 26, 41, 61, 74, 76], "header": [1, 24, 25, 60, 74], "header_s": 74, "height": [0, 61], "held": [0, 58], "hello": [0, 74], "help": [0, 1, 23, 25, 61, 66, 74, 75, 76, 78, 81, 87, 90, 92, 101], "helper": [0, 21, 56, 61, 74, 78, 81, 86, 90, 98, 103], "here": 24, "hex": [0, 22, 61, 100], "hex_to_byt": 90, "hexadecim": [74, 90], "high": [0, 17, 25, 61], "higher": [58, 100], "histor": [24, 58], "history_block": 58, "hit": [0, 26, 41], "hold": [1, 58, 87], "holder": [0, 61], "home_dir": 59, "honest": 0, "hop": [0, 61], "host": [1, 33, 49], "hot": [0, 61], "hotkei": [0, 1, 2, 4, 5, 10, 11, 12, 16, 20, 21, 24, 25, 26, 29, 30, 32, 33, 34, 36, 38, 40, 41, 45, 46, 48, 49, 50, 51, 53, 55, 56, 58, 61, 66, 73, 74, 78, 90, 95, 96], "hotkey_byt": 95, "hotkey_ss58": [0, 4, 16, 30, 34, 36, 38, 46, 51, 53, 55, 56, 61], "hotkey_ss58_address": [0, 61], "hotkeyaccountnotexist": [0, 25, 61], "how": [0, 1, 6, 58, 61], "howev": [24, 58], "hparam": 58, "http": [0, 1, 24, 59, 74, 90], "human": [1, 89], "hyperparam": 102, "hyperparamet": [0, 17, 61], "i": [0, 1, 2, 4, 5, 6, 11, 12, 15, 17, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 60, 61, 66, 74, 75, 76, 77, 78, 81, 84, 87, 88, 90, 91, 92, 93, 95, 96, 97, 100, 101, 102, 104], "id": [0, 1, 4, 21, 24, 27, 29, 31, 42, 45, 47, 55, 61, 74, 91, 93, 95, 96, 102], "ideal": 6, "ident": [0, 3, 10, 18, 25, 31, 47, 58, 61, 74, 90, 98], "identif": [58, 74], "identifi": [0, 1, 11, 12, 24, 33, 34, 36, 38, 40, 43, 49, 51, 53, 55, 56, 58, 61, 74, 102], "identityerror": 25, "ignor": [0, 24, 61], "ij": 58, "imag": 3, "immedi": [0, 1, 61], "immun": [0, 17], "immunity_period": [0, 10, 17, 19, 61, 71], "immunityperiod": [0, 10, 61], "immut": [0, 61], "impact": [0, 30, 46, 58, 61], "implement": [1, 23, 24, 60, 74, 76, 95, 100], "impli": 58, "import": [0, 1, 23, 24, 58, 61, 66, 74, 77, 82], "importerror": 58, "improv": 74, "inact": 58, "incent": [0, 10, 11, 12, 20, 34, 51, 58, 61], "incentiv": [0, 58], "includ": [0, 1, 2, 7, 11, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 60, 61, 74, 77, 78, 84, 86, 88], "inclus": [0, 27, 30, 31, 32, 33, 34, 36, 37, 42, 46, 47, 48, 49, 50, 51, 53, 54, 61], "incom": [0, 1, 61], "incorrect": 90, "increas": [0, 1, 25, 30, 34, 46, 51, 61, 74], "increase_take_extrins": [36, 53], "inde": 1, "index": [14, 91], "indexerror": 77, "indic": [0, 1, 11, 12, 17, 24, 25, 26, 27, 29, 31, 33, 41, 42, 45, 47, 49, 58, 61, 74, 87], "indispens": 74, "individu": [0, 24, 58, 61], "infer": 58, "inflat": [0, 61], "influenc": [0, 58, 61], "info": [0, 1, 2, 6, 8, 9, 10, 19, 20, 59, 82, 87, 88], "info_bas": [2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 103], "info_dictionari": 90, "infobas": [2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20], "inform": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 15, 16, 18, 22, 24, 26, 31, 33, 41, 47, 49, 56, 58, 61, 74, 87, 90, 95, 96], "infrastructur": [0, 58, 61], "inherit": [74, 78], "init": 58, "initarg": 76, "initi": [0, 1, 23, 24, 25, 29, 31, 33, 34, 35, 37, 45, 49, 51, 52, 58, 60, 61, 66, 75, 76, 77, 78, 81, 84, 87, 90, 92, 101], "input": [0, 1, 21, 24, 58, 60, 61, 74, 75, 95, 102], "input_": 21, "input_obj": 74, "insight": [0, 61], "inspect": 1, "instal": 58, "install_signal_handl": 1, "instanc": [0, 1, 2, 9, 11, 12, 22, 24, 26, 27, 29, 30, 31, 33, 34, 35, 38, 39, 40, 41, 42, 43, 45, 46, 47, 49, 51, 52, 55, 56, 58, 60, 61, 66, 74, 76, 77, 85, 87, 93, 100, 102], "instanti": [0, 58, 60], "instead": [0, 1, 60, 101], "instrument": [58, 61], "insuffici": [0, 61], "int": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 59, 61, 74, 75, 77, 78, 80, 81, 84, 85, 87, 89, 90, 91, 92, 93, 95, 96, 97, 101, 102], "int64": [0, 27, 32, 40, 42, 48, 50, 61, 96, 102], "int_to_ip": 92, "int_val": 92, "intact": 1, "integ": [0, 61, 74, 81, 91, 92, 102], "integr": [0, 1, 58, 61, 74, 88], "intellig": [0, 1, 58, 61], "intend": [0, 60, 61, 74], "intent": [0, 1], "inter": 58, "interact": [0, 1, 24, 29, 30, 31, 35, 40, 43, 45, 47, 52, 58, 61, 66, 74, 81], "intercept": 1, "interconnect": 0, "interconnected": 58, "interfac": [0, 1, 31, 40, 43, 47, 58, 60, 61], "interfer": 1, "intermediari": 1, "intern": [1, 24, 33, 49, 60], "internalservererror": 25, "interneuron": [0, 61], "interpret": [24, 38, 74], "interv": 17, "invalid": [0, 25, 75], "invalidchild": [0, 25, 26, 41], "invalidconfigfil": 23, "invalidrequestnameerror": 25, "invers": 102, "invest": [0, 58, 61], "invok": 1, "involv": [0, 1, 58, 61, 74], "ip": [1, 2, 9, 13, 24, 33, 49, 58, 74, 78, 92], "ip__str__": 92, "ip_address": 74, "ip_info": [7, 103], "ip_str": [2, 92], "ip_to_int": 92, "ip_typ": [2, 9, 13, 78, 92], "ip_vers": 92, "ipifi": 92, "ipinfo": [9, 21], "ipv4": [2, 9, 13, 92], "ipv6": [2, 9, 13, 92], "is_async": 66, "is_blacklist": 74, "is_dynam": 6, "is_empti": 76, "is_failur": 74, "is_fast_block": [0, 61, 62], "is_hotkey_deleg": [0, 61, 64, 73], "is_hotkey_regist": [0, 61, 73], "is_hotkey_registered_ani": [0, 61, 73], "is_hotkey_registered_on_subnet": [0, 61, 71], "is_nul": [11, 12], "is_opt": 21, "is_regist": 16, "is_run": 1, "is_serv": 2, "is_set": 23, "is_stal": 95, "is_stale_async": 95, "is_subnet_act": [0, 61, 71], "is_success": 74, "is_timeout": 74, "is_valid_bittensor_address_or_public_kei": 90, "is_valid_ss58_address": 90, "is_vec": 21, "iso8601": 84, "issu": [1, 24], "item": [0, 61, 74, 98], "iter": [0, 24, 58, 61, 74, 75, 78, 85], "its": [0, 1, 2, 24, 34, 36, 37, 51, 53, 54, 58, 61, 74, 87, 95], "itself": [1, 74], "j": 58, "json": [1, 2, 24, 59, 60, 74], "json_respons": 24, "json_str": 2, "jsondecodeerror": 2, "jsonrespons": 1, "judgment": 58, "just": [0, 58, 61, 66], "k": [6, 75, 78], "kappa": [10, 17, 19], "keccak": 96, "keccak256": [33, 49], "keep": [0, 37, 46, 54, 61, 74], "keep_al": [0, 37, 54, 61, 90], "kei": [0, 1, 2, 11, 15, 21, 26, 27, 32, 37, 40, 41, 42, 43, 48, 50, 54, 58, 61, 74, 75, 78, 90, 98, 100, 102], "kept": 101, "keyfil": [0, 26, 41, 61, 88, 90], "keyfileerror": [0, 26, 41, 61, 90], "keypair": [0, 24, 39, 56, 61], "keyword": [60, 74, 75, 78, 97], "know": [0, 1, 61], "known": [0, 61, 90], "kwarg": [24, 60, 75, 76, 78, 84, 87, 97], "lack": 92, "larg": 24, "larger": 1, "last": [0, 1, 11, 12, 33, 49, 58, 61, 66], "last_drand_round": [0, 61, 62], "last_step": [6, 10, 58], "last_upd": [10, 11, 12, 20, 58], "laststep": 10, "lastupd": 10, "latenc": 74, "latent": 59, "latent_lite_entrypoint": 59, "later": 58, "latest": [0, 49, 58, 61, 101], "latest_block_path": 58, "latest_hash": 0, "layer": [0, 1, 58, 61], "lazi": 95, "lazili": 24, "lazyloadedtorch": 95, "lead": 1, "leakag": 24, "learn": [58, 61, 74], "learnbittensor": 0, "least": 1, "ledger": 58, "left": 92, "legaci": [88, 95], "legacy_method": 66, "legacy_torch_api_compat": 95, "length": [33, 49, 74, 85], "less": 58, "level": [0, 1, 17, 58, 61, 66, 72, 82, 84, 87, 88, 100], "levelnam": [83, 84], "leverag": [58, 87], "librari": 87, "lifecycl": 1, "lifespan": 74, "light": 58, "lighter": 5, "lightweight": 0, "like": [0, 1, 23, 24, 61, 74, 84], "limit": [0, 17, 25, 26, 38, 41, 55, 61, 95, 96, 102], "line": [0, 1, 61, 78, 93, 95], "lineno": [83, 84], "link": [0, 1, 16, 31, 47, 61], "liquid": [0, 17, 28, 44, 61, 90, 103], "liquid_alpha_en": [10, 17], "liquidalphaen": 10, "liquidity_delta": [0, 29, 45, 61], "liquidityposit": [0, 61, 91], "list": [0, 1, 4, 5, 8, 10, 11, 12, 14, 15, 20, 21, 23, 24, 26, 27, 31, 32, 34, 38, 40, 41, 42, 43, 47, 48, 50, 51, 55, 56, 58, 61, 66, 74, 75, 78, 90, 93, 95, 97, 100, 102], "list_from_dict": 8, "list_from_vec_u8": 12, "listen": [1, 87], "lite": [0, 11, 58, 59, 61, 66], "liter": 90, "live": 58, "load": [0, 1, 23, 58, 61, 77, 95], "load_from_path": 58, "local": [0, 1, 24, 58, 59, 61, 78, 90, 92], "local_entrypoint": 59, "local_synaps": 24, "localhost": 66, "locat": 58, "lock": [0, 16, 61, 95], "log": [0, 1, 23, 24, 31, 47, 61, 66, 82, 83, 84, 85, 86, 87, 88, 90, 95, 96], "log_and_handle_error": 1, "log_cuda_error": 96, "log_except": 24, "log_format": 84, "log_level": 1, "log_level_color_prefix": 84, "log_no_torch_error": 95, "log_trace_format": 84, "log_verbos": [0, 31, 47, 61, 66, 78, 93, 95], "logger": [76, 82, 85, 86, 87], "logging_dir": 87, "loggingconfig": 87, "loggingmachin": [82, 86, 103], "logic": [1, 60, 74, 77], "logo": [31, 47], "logo_url": [18, 31, 47], "logrecord": 84, "long": [0, 61], "longer": 24, "longest": 85, "longtensor": [0, 27, 40, 42, 50, 61, 102], "loop": 24, "low": [0, 17, 25, 61], "lower": [0, 29, 45, 61, 102], "lynch": 77, "m": 83, "machin": [1, 58, 61, 74], "made": [0, 17, 25, 61], "mai": [0, 58, 61], "main": [0, 1, 61, 77, 90, 95], "mainli": [0, 58, 61, 66], "maintain": [0, 1, 58, 61, 74, 88, 91], "mainten": 1, "major": 58, "make": [0, 1, 24, 37, 54, 58, 61, 74, 77], "malici": 1, "manag": [0, 1, 23, 24, 58, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70, 71, 73, 74, 85, 87, 91], "mani": [0, 25, 26, 41], "manipul": 1, "manner": [1, 95], "map": [0, 4, 11, 12, 61, 75, 78, 90, 92, 100], "mark": 1, "market": 61, "match": [1, 56, 81, 102], "math": 58, "matrix": [0, 58], "max": [1, 25, 33, 49, 102], "max_allowed_attempt": [0, 31, 47, 61], "max_allowed_valid": 19, "max_burn": [10, 17], "max_difficulti": [10, 17], "max_int_weight": 102, "max_length": 85, "max_n": 19, "max_regs_per_block": [10, 17], "max_retri": [0, 61], "max_tick": 91, "max_uid": [10, 58], "max_valid": [10, 17], "max_valu": 102, "max_weight_limit": [0, 17, 19, 61, 71, 102], "max_weights_limit": 10, "max_work": [1, 76], "maxattemptsexcept": 25, "maxburn": 10, "maxdifficulti": 10, "maximum": [0, 17, 24, 30, 31, 34, 38, 46, 47, 51, 55, 61, 74, 76, 102], "maxregsperblock": 10, "maxsiz": 76, "maxsuccessexcept": 25, "maxuid": 10, "maxvalid": 10, "maxweightslimit": [0, 10, 61], "mean": [0, 1, 61, 74, 93, 95], "measur": [58, 61], "mechan": [0, 1, 35, 52, 58, 61, 74, 77], "meet": 1, "member": [0, 61], "merg": [23, 24], "merkl": 100, "messag": [0, 1, 21, 24, 25, 26, 27, 29, 31, 33, 35, 36, 38, 41, 42, 45, 47, 49, 52, 53, 55, 61, 74, 82, 83, 84, 87, 90, 95], "met": 25, "meta_info": [0, 61], "metadata": [0, 11, 12, 21, 25, 31, 33, 47, 49, 58, 61, 74, 100], "metadata_storage_funct": 100, "metadataerror": [25, 33, 49], "metagraph": [0, 24, 57, 61, 66, 88, 102, 103], "metagraph_info": [7, 103], "metagraph_state_dict_ndarray_kei": 58, "metagraphinfo": [0, 10, 21, 61], "metagraphinfoemiss": [10, 58], "metagraphinfoparam": [10, 58], "metagraphinfopool": [10, 58], "metagraphmixin": 58, "method": [0, 1, 6, 20, 22, 24, 33, 40, 43, 49, 58, 60, 61, 66, 74, 76, 78, 81, 84, 87, 95], "metric": [58, 74], "middlewar": 1, "middleware_cl": 1, "might": 1, "millifi": 89, "millisecond": 84, "min_allowed_weight": [0, 10, 17, 19, 61, 71, 102], "min_burn": [10, 17], "min_difficulti": [10, 17], "min_tick": 91, "minallowedweight": [0, 10, 61], "minburn": 10, "mindifficulti": 10, "mine": [0, 61], "miner": [0, 23, 58], "miners_dir": 59, "minimum": [0, 17, 26, 41, 61, 102], "mismatch": 1, "miss": 0, "ml": 74, "mock": [0, 61, 66, 78], "mock_subpackag": 88, "modal": 19, "mode": [0, 61, 87], "model": [0, 58, 60, 74, 75], "model_config": [60, 74, 75], "model_dump_json": 74, "model_validate_json": 74, "modern": 1, "modif": 74, "modifi": [0, 21, 29, 45, 60, 61, 100], "modify_liquid": [0, 61, 65], "modify_liquidity_extrins": [29, 45], "modul": [7, 86], "module_nam": [0, 61], "moment": 91, "monitor": 74, "monoton": 74, "more": [0, 31, 47, 58, 61, 89, 93, 95], "most": [0, 58, 61], "mostli": 61, "move": [0, 17, 30, 46, 61], "move_all_stak": [0, 30, 46, 61], "move_stak": [0, 28, 44, 61, 65, 70, 103], "move_stake_extrins": [30, 46], "movement": [0, 61], "moving_pric": [6, 10], "movingpric": 10, "msg": [0, 40, 43, 61, 87, 90], "much": [6, 58], "multi": 1, "multipl": [0, 1, 24, 58, 61, 93, 95], "multipli": 17, "multiprocess": 95, "munch": 23, "must": [0, 29, 32, 35, 40, 45, 48, 50, 52, 58, 60, 61, 87, 90, 92, 102], "mutat": 1, "mutual": [0, 61], "my_axon": 1, "my_config": 1, "my_liquidity_delta": [0, 61], "my_wallet": [0, 1, 61], "mycustomsynaps": 1, "mysynaps": [1, 74], "n": [58, 89, 90, 102], "n_block": 77, "nai": 14, "name": [0, 1, 3, 10, 21, 24, 25, 31, 47, 58, 60, 61, 74, 75, 76, 77, 78, 83, 84, 85, 87, 100], "namedtupl": 87, "namespac": 23, "nanosecond": 80, "nanoseconds_in_second": 80, "nativ": 74, "natur": [0, 24, 58, 61], "ndarrai": [0, 27, 32, 40, 42, 48, 50, 58, 61, 75, 102], "nearest": 91, "necessari": [1, 24, 58, 74], "need": [0, 1, 21, 61, 74, 77], "neg": [0, 29, 45, 61], "nest": [10, 23], "netuid": [0, 1, 4, 6, 10, 11, 12, 16, 19, 20, 24, 26, 27, 29, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 58, 61, 78, 81, 91, 93, 95, 102], "network": [0, 1, 2, 4, 6, 7, 11, 12, 20, 24, 25, 26, 27, 30, 31, 32, 33, 34, 38, 40, 41, 42, 43, 47, 48, 49, 51, 55, 56, 58, 59, 60, 61, 66, 74, 78, 90, 91, 93, 95, 97, 102, 103], "network_explorer_map": 59, "network_map": [59, 90], "network_registered_at": [6, 10, 58], "networkregisteredat": 10, "neural": 58, "neurip": 58, "neuron": [0, 1, 2, 7, 11, 12, 24, 25, 26, 33, 34, 36, 40, 41, 43, 49, 50, 51, 53, 58, 61, 66, 74, 102, 103], "neuron_for_uid": [0, 61, 68], "neuron_incent": 58, "neuron_info": [0, 2, 7, 61, 103], "neuron_info_lit": [7, 103], "neuron_lit": 11, "neuron_rank": 58, "neuroninfo": [0, 11, 21, 58, 61], "neuroninfolit": [0, 11, 12, 21, 58, 61], "neurons_lit": [0, 61, 68], "new": [0, 1, 10, 15, 21, 22, 23, 24, 31, 35, 47, 52, 58, 60, 61, 74, 75, 76, 78, 90, 93, 95], "new_coldkei": 15, "newblockev": 95, "next": [0, 1, 61], "nich": 61, "nn": [2, 9, 24, 58], "no_error": 77, "node": [0, 1, 58, 61, 66, 74, 77, 97], "nomin": [0, 4, 5, 25, 36, 53, 61], "nominationerror": 25, "non": [0, 1, 25, 26, 41, 74, 90], "nonassociatedcoldkei": [0, 25, 26, 41, 61], "nonc": [0, 1, 31, 47, 61, 74, 80, 93, 95, 96], "nonce_kei": [0, 61], "nonce_start": 96, "none": [0, 1, 6, 10, 11, 12, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 58, 60, 61, 66, 74, 75, 76, 77, 78, 80, 84, 85, 87, 90, 93, 95, 96, 100, 102], "nontorchmetagraph": 58, "normal": 102, "normalize_max_weight": 102, "notdelegateerror": 25, "note": [29, 33, 45, 49, 61, 77, 92], "notenoughstaketosetchildkei": [0, 25, 26, 41], "notic": 81, "notregisterederror": 25, "notverifiedexcept": 25, "now": [0, 1, 58, 61, 74], "np": [32, 40, 48, 50, 61, 75, 102], "null": [0, 11, 12, 61], "null_entri": 76, "num": 89, "num_neuron": 102, "num_proc": 95, "num_process": [0, 31, 47, 61, 93, 95], "num_uid": [10, 58], "number": [0, 1, 2, 13, 15, 17, 21, 22, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 61, 66, 74, 76, 77, 81, 89, 93, 95, 96, 102], "numer": 1, "numpi": [0, 27, 42, 58, 61, 75, 95, 96, 102], "numpyortorch": 58, "numuid": 10, "o": 0, "obj": 74, "object": [0, 1, 2, 6, 8, 9, 10, 12, 16, 20, 21, 24, 30, 31, 32, 33, 34, 37, 38, 39, 40, 47, 48, 49, 50, 51, 54, 55, 56, 58, 60, 61, 66, 74, 75, 76, 78, 81, 87, 90], "occur": [0, 1, 24, 61], "off": [24, 87, 90], "offer": [0, 1, 24, 61], "offlin": [1, 58], "often": 58, "old": [0, 15, 61, 66], "old_bal": 34, "old_coldkei": 15, "older": 88, "omit": 84, "on_error": 0, "onc": [0, 61], "one": [0, 1, 23, 24, 30, 33, 46, 49, 58, 61, 75, 76, 78, 84], "ongo": 1, "onli": [0, 1, 24, 58, 60, 61, 66, 74, 75, 77, 87], "open": 24, "opentensor": 59, "oper": [0, 1, 17, 24, 25, 26, 38, 41, 55, 58, 61, 62, 63, 64, 65, 67, 68, 69, 70, 71, 73, 74, 81, 95, 102], "optim": 74, "option": [0, 1, 10, 11, 12, 15, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 61, 66, 74, 75, 76, 77, 78, 80, 81, 84, 87, 90, 92, 95, 97, 100, 102], "order": [74, 78], "org": [0, 59], "origin": [1, 30, 61, 74, 84], "origin_coldkey_ss58": [0, 61], "origin_hotkei": [0, 30, 46, 61], "origin_hotkey_ss58": [0, 61], "origin_netuid": [0, 30, 46, 61], "origin_pric": [0, 61], "origin_subnet_pric": [0, 61], "other": [0, 1, 11, 23, 24, 58, 61, 66, 74, 76, 85], "otherwis": [0, 24, 30, 31, 33, 38, 40, 43, 46, 47, 49, 55, 61, 74, 76, 90], "our": 76, "out": 1, "outcom": 74, "outlin": 58, "output": [1, 31, 47, 95], "output_in_plac": [0, 31, 47, 61, 93, 95], "over": [0, 4, 5, 24, 58, 74, 95], "overal": [0, 61], "overflow": 25, "overhead": 58, "overload": 74, "overrid": [1, 74, 78, 84, 90], "overridden": [74, 95], "overview": [0, 61], "own": [0, 25, 26, 41, 58, 61, 74], "owner": [0, 4, 5, 38, 46, 55, 61], "owner_coldkei": [6, 10, 58], "owner_hotkei": [6, 10, 58], "owner_ss58": [4, 5, 19], "ownercoldkei": 10, "ownerhotkei": [0, 10, 61], "ownership": [0, 46, 61], "pack": 95, "packag": [74, 87, 97, 101], "page": 103, "pair": [0, 16, 46, 61, 74, 75, 78], "pallet": 100, "paper": 58, "param": [0, 24, 61, 81, 88, 90, 100, 102], "param_nam": [0, 23, 61], "paramet": [0, 1, 2, 5, 6, 8, 9, 10, 11, 14, 15, 16, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 84, 87, 88, 89, 90, 91, 92, 93, 95, 96, 97, 100, 101, 102], "parameter_dict": [2, 9], "parameterdict": [2, 9], "params_dict": 0, "params_encod": 100, "params_list": 0, "paramwithtyp": [0, 61, 78], "parent": [0, 25, 26, 41, 60, 61], "parentkei": [0, 61], "pars": [1, 24, 25, 60, 74, 75, 77], "parse_headers_to_input": 74, "parser": [1, 23, 66, 76, 78, 87], "part": [0, 1, 6, 58, 61, 74], "parti": 87, "partial": [0, 30, 34, 38, 46, 51, 55, 61], "partial_meta_info": [0, 61], "particip": [0, 1, 34, 51, 58, 61], "particular": [0, 4, 56, 61], "particularli": [0, 58, 61, 74], "pass": [0, 1, 24, 29, 32, 38, 40, 45, 48, 50, 55, 60, 61, 76, 77, 90, 102], "password": [0, 26, 41, 61, 90], "passworderror": [0, 26, 41, 61, 90], "past": [0, 58], "path": [1, 58], "pattern": 0, "payload": [1, 74, 97], "peer": 58, "penalti": [0, 61], "pend": [0, 61, 76], "pending_alpha_emiss": [6, 10], "pending_root_emiss": [6, 10], "pendingalphaemiss": 10, "pendingchildkei": [0, 61], "pendingrootemiss": 10, "per": [0, 1, 4, 5, 17, 31, 47, 58, 61, 93, 95, 96], "perceiv": 61, "percentag": [0, 4, 5, 6, 34, 36, 38, 51, 53, 55, 61], "perform": [0, 1, 24, 58, 61, 74, 81, 87], "period": [0, 17, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 61], "permit": [0, 11, 12, 25, 58, 61], "persist": 58, "person": 77, "pickl": [58, 77], "piec": 24, "ping": 24, "pipaddress": 59, "pipelin": 1, "pivot": [1, 58, 74], "place": [0, 1, 15, 24, 58, 61, 93, 95], "placehold": [33, 49, 85], "placeholder1": [2, 33, 49, 78], "placeholder2": [2, 33, 49, 78], "plai": [1, 58, 74], "plan": [0, 61], "point": [0, 58, 61, 81], "pool": [0, 1, 6, 10, 29, 45, 58, 61], "popul": [0, 11, 61], "port": [1, 2, 13, 33, 49, 74, 78, 92], "portal": [31, 47], "posit": [0, 1, 29, 45, 60, 61, 74, 75, 91], "position_id": [0, 29, 45, 61], "possibl": 78, "post": 24, "postprocess": 1, "postprocessexcept": 25, "potenti": [0, 1, 40, 43, 58, 61], "pow": [25, 31, 47, 81, 93, 94, 96, 103], "pow_registration_allow": 10, "power": 77, "powregistrationallow": 10, "powsolut": [93, 95], "practic": 58, "preced": 78, "precis": 91, "predefin": 1, "prefix": [1, 74, 76, 78, 87], "prepar": [0, 61, 87, 97], "prepare_synaps": 97, "prepare_synapse_fn": 97, "prepend": 78, "preprocess": [1, 24], "preprocess_synapse_for_request": 24, "presenc": [0, 1, 61], "present": [0, 10, 61, 74], "preserv": 74, "presum": [0, 61, 66], "prevent": [0, 1, 24, 61, 95], "previou": [1, 56, 58], "previous": [0, 61], "price": [0, 6, 29, 30, 34, 38, 45, 46, 51, 55, 61, 91], "price_high": [0, 29, 45, 61, 91], "price_low": [0, 29, 45, 61, 91], "price_step": 91, "price_to_tick": 91, "primari": [31, 47, 74, 87], "primarili": 58, "principl": 58, "print": [0, 1, 23, 24, 61, 66, 74, 78, 93, 95], "prior": [34, 74], "priorit": 1, "prioriti": [1, 25, 76], "prioritize_my_synaps": 1, "prioritize_my_synapse_2": 1, "priority_custom": 1, "priority_fn": 1, "priorityexcept": 25, "prioritythreadpoolexecutor": [23, 76], "privat": 1, "privileg": [0, 61], "problem": [0, 95, 96], "proc_num": 95, "proce": 1, "process": [0, 1, 10, 17, 21, 24, 29, 31, 34, 35, 45, 47, 51, 52, 58, 60, 61, 74, 75, 77, 87, 93, 95, 97, 101, 102], "process_error_messag": 24, "process_nest": 10, "process_respons": 97, "process_responses_fn": 97, "process_server_respons": 24, "process_stake_data": 21, "process_streaming_respons": 60, "process_tim": 74, "process_weight": 102, "process_weights_for_netuid": 102, "processing_dur": 74, "processor": 1, "produc": 74, "program": 1, "progress": [0, 61, 93, 95], "prohibit": 1, "project": [84, 86, 88], "prolifer": [0, 61], "prometheu": [11, 12, 13, 78], "prometheus_info": [7, 11, 12, 103], "prometheusinfo": [11, 12, 13], "prometheusservecallparam": 78, "promptli": 1, "proof": [0, 31, 47, 61, 93, 95, 96], "propag": 58, "proper": [24, 40, 43, 58, 74], "properli": [1, 24], "properti": [0, 2, 24, 58, 61, 66, 74, 76, 81], "proport": [0, 25, 26, 41, 58, 61], "proportionoverflow": [0, 25, 26, 41], "propos": [0, 14, 61], "proposal_dict": 14, "proposal_hash": [0, 61], "proposal_vote_data": [7, 103], "proposalvotedata": [0, 14, 61], "protect": [0, 30, 46, 58, 61], "protocol": [1, 2, 9, 33, 49, 74, 78], "provid": [0, 1, 7, 11, 21, 24, 26, 27, 31, 40, 41, 42, 43, 47, 56, 58, 60, 61, 66, 74, 77, 78, 81, 85, 86, 87, 90, 91, 93, 95, 96, 98, 100, 102], "provis": 91, "proxi": 95, "prune": [11, 12], "pruning_scor": [10, 11, 12, 20, 58], "pruningscor": 10, "public": [0, 1, 37, 54, 58, 61], "publish": [0, 33, 49, 61, 87], "publish_metadata": [0, 33, 49, 61], "punit": [0, 61], "purpos": 0, "put": 95, "pydant": [60, 74, 75], "pydantic_cor": [60, 74, 75], "pypi": [59, 101], "python": 77, "pytorch": [58, 102], "pyvalueerror": 77, "qualiti": 0, "quantil": 102, "queri": [0, 22, 24, 25, 49, 58, 61, 66, 74, 97, 103], "query_api": 97, "query_const": [0, 61, 69], "query_ident": [0, 61, 68], "query_map": [0, 61, 69], "query_map_subtensor": [0, 61, 69], "query_modul": [0, 61, 69], "query_respons": [0, 61], "query_runtime_api": [0, 61, 69], "query_subtensor": [0, 61, 69], "querymapresult": [21, 61], "queue": [1, 76, 87, 95], "queuehandl": 87, "queuelisten": 87, "quick": [0, 61, 74], "quicker": 58, "quicknet": 77, "quot": 91, "r": 58, "rais": [0, 1, 2, 21, 23, 24, 25, 26, 33, 34, 36, 41, 49, 51, 53, 58, 60, 61, 74, 75, 76, 77, 90, 92, 93, 95, 101], "raise_error": [0, 26, 36, 41, 53, 61, 90], "randomli": [0, 61], "rang": [0, 1, 29, 45, 61, 91, 92], "rank": [0, 1, 10, 11, 12, 20, 58, 61], "rao": [0, 21, 39, 56, 61, 81], "rao_symbol": 59, "rao_unit": 81, "raopertao": 90, "rate": [0, 11, 17, 25, 26, 41, 58, 61], "rate_toler": [0, 30, 34, 38, 46, 51, 55, 61], "rather": [0, 24, 26, 41, 61, 74], "ratio": [0, 30, 38, 46, 55, 61], "raw": [74, 75, 100], "raw0": [33, 49], "re": [0, 61, 74], "reach": [0, 25, 61, 77], "read": 74, "read_onli": 59, "readabl": [1, 89, 90], "readi": [1, 60], "real": [0, 61], "realli": 1, "realloc": [0, 61], "reap": [0, 61], "receiv": [0, 1, 6, 24, 58, 61, 74], "received_head": 74, "receiver_hotkei": 1, "recent": [0, 61, 88], "recipi": [37, 54], "reclaim": 76, "recogn": 61, "recommend": [24, 74], "recomput": 1, "reconstitut": 58, "reconstruct": [1, 74], "record": [0, 29, 45, 58, 61, 84], "record_log": 87, "recurs": 74, "recycl": [0, 31, 47, 61, 71], "redeploi": 1, "reduc": [0, 58, 61], "refer": [0, 58, 61, 104], "reflect": [0, 58, 61], "refus": 0, "regardless": [37, 54], "regist": [0, 1, 4, 5, 25, 26, 31, 32, 41, 47, 48, 61, 65, 87, 93, 95], "register_cuda": [94, 103], "register_extrins": [31, 47], "register_primary_logg": 87, "register_subnet": [0, 61, 65, 71], "register_subnet_extrins": [31, 47], "registr": [0, 1, 2, 4, 5, 9, 17, 24, 25, 27, 28, 42, 44, 58, 61, 75, 90, 102, 103], "registration_allow": [10, 17], "registrationallow": 10, "registrationerror": 25, "registrationnotpermittedonrootsubnet": [0, 25, 26, 41], "registrationstatist": 95, "registrationstatisticslogg": 95, "registri": 7, "reject": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 61], "relat": [0, 11, 13, 25, 31, 47, 61], "relationship": [0, 58, 61], "releas": [1, 24, 58], "relev": [0, 1, 2, 26, 41, 61], "reli": 1, "reliabl": [1, 58, 74], "relianc": 1, "reload": 58, "remain": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 61], "remov": [0, 1, 29, 38, 45, 55, 61, 87], "remove_liquid": [0, 61, 65], "remove_liquidity_extrins": [29, 45], "replac": 84, "replai": 1, "replic": 74, "repositori": [0, 31, 47, 61], "repr": 90, "repres": [0, 1, 2, 4, 6, 9, 11, 12, 13, 15, 16, 17, 22, 24, 33, 39, 49, 56, 58, 61, 74, 75, 76, 81], "represent": [0, 1, 2, 24, 33, 49, 58, 61, 74, 78, 81, 92, 100, 102], "reput": 58, "request": [0, 1, 24, 25, 26, 33, 41, 49, 61, 66, 74, 101], "request_nam": 24, "requestresponseendpoint": 1, "requir": [0, 1, 25, 33, 40, 43, 49, 58, 60, 61, 74], "required_hash_field": 74, "reserv": 2, "reset": [0, 17, 33, 49, 61, 96], "reset_bond": [33, 49], "reset_cuda": 96, "resourc": [0, 1, 24, 58, 61, 76], "respect": 58, "respond": 1, "respons": [0, 1, 24, 25, 31, 32, 33, 34, 37, 47, 48, 49, 50, 51, 54, 58, 60, 66, 74, 97], "response_overrid": 1, "restart": 58, "restor": 58, "restrict": [0, 61], "result": [0, 1, 27, 42, 61, 74, 84, 90, 97, 100], "retent": 90, "retri": [0, 61, 66], "retriev": [0, 1, 56, 58, 60, 61, 101], "retry_forev": [0, 61, 66], "return": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 21, 22, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 60, 61, 66, 74, 75, 76, 77, 78, 80, 81, 84, 85, 87, 90, 91, 92, 93, 95, 96, 97, 100, 101, 102], "return_per_1000": [4, 5], "return_str": 77, "reus": [0, 1, 24, 61], "reuse_block": [0, 33, 61], "reveal": [0, 17, 21, 22, 27, 40, 42, 43, 61, 77], "reveal_round": [0, 22, 61, 77], "reveal_weight": [0, 61, 65], "reveal_weights_extrins": [40, 43], "revel": [0, 61, 77], "reverse_network_map": 59, "reward": [0, 36, 53, 58, 61], "rfc": 84, "rho": [10, 17, 19], "robust": 74, "role": [0, 1, 58, 61, 74], "root": [0, 25, 26, 28, 41, 44, 58, 61, 66, 72, 74, 85, 102, 103], "root_dir": 58, "root_regist": [0, 61, 65], "root_register_extrins": [32, 48], "root_set_pending_childkey_cooldown": [0, 61, 65], "root_set_pending_childkey_cooldown_extrins": [26, 41], "root_set_weight": [0, 61, 65], "root_tao_stake_weight": 59, "round": [0, 22, 61, 77], "round_numb": 22, "rounds_tot": 95, "rout": 74, "router": [1, 92], "row": [58, 102], "row_bond": 102, "row_weight": 102, "rpc": [0, 7, 61], "rule": [0, 1, 61], "run": [0, 1, 61, 74, 76, 90, 93, 95], "run_async": 24, "run_in_thread": 1, "runexcept": 25, "runtim": [0, 1, 58, 61], "runtime_api": [0, 61], "runtime_config": 100, "runtimeconfigurationobject": 100, "runtimeerror": 58, "s0": 84, "s39": 84, "safe": [0, 24, 61, 74, 76, 95], "safe_glob": 58, "safe_stak": [0, 30, 34, 38, 46, 51, 55, 61], "safeti": [0, 30, 34, 38, 46, 51, 55, 61], "salt": [0, 40, 43, 61, 102], "same": [0, 1, 23, 26, 41, 46, 61, 74, 77, 93, 95], "sanit": 74, "save": [58, 84, 101], "scalabl": [0, 1, 61], "scale": [0, 7, 21, 61], "scale_typ": 100, "scalebyt": [21, 100], "scalecodec": [0, 21, 39, 56, 61, 81, 100], "scaleobj": [0, 61], "scaletyp": [81, 100], "scaling_law_pow": 19, "scenario": [1, 24], "schedul": [15, 76], "scheduled_coldkey_swap_info": [7, 103], "scheduledcoldkeyswapinfo": [15, 21], "schema": 74, "score": [11, 12, 58], "seal": [95, 96], "seamless": [1, 88], "seamlessli": 1, "search": 56, "second": [0, 6, 24, 26, 27, 31, 41, 42, 47, 61, 66, 77, 80, 97, 101], "secur": [0, 1, 58, 61, 74], "see": [0, 23, 25, 61, 75, 76, 78, 81, 90, 92, 101], "seen": [1, 74], "selectivemetagraphindex": [0, 10, 61], "self": [0, 1, 23, 24, 25, 60, 74, 75, 76, 78, 81, 90, 92, 101], "senat": [0, 14, 61], "send": [24, 31, 47, 58, 60, 74], "sender": 1, "sensit": [0, 58, 61, 74], "sent": [1, 24, 60, 74], "separ": [1, 74, 87], "sequenti": 24, "serial": [1, 22, 58, 74, 75], "serialized_data": 74, "serv": [0, 1, 2, 28, 44, 58, 61, 74, 78, 103], "serve_axon": [0, 61, 65], "serve_axon_extrins": [33, 49], "serve_extrins": [33, 49], "server": [1, 24, 25, 31, 47, 60], "server_respons": 24, "servic": [1, 17, 33, 49], "serving_rate_limit": [10, 17], "servingratelimit": 10, "session": [24, 58], "set": [0, 1, 2, 23, 24, 25, 26, 31, 32, 33, 34, 36, 37, 38, 40, 41, 47, 48, 49, 50, 51, 53, 54, 55, 57, 58, 61, 74, 77, 78, 81, 87, 88, 95, 102, 103], "set_children": [0, 61, 65], "set_children_extrins": [26, 41], "set_commit": [0, 61, 63], "set_config": 87, "set_consol": 87, "set_debug": 87, "set_default": 87, "set_delegate_tak": [0, 61, 64], "set_info": 87, "set_name_typ": 74, "set_reveal_commit": [0, 61, 63], "set_root_weights_extrins": [32, 48], "set_subnet_ident": [0, 61, 65, 71], "set_subnet_identity_extrins": [31, 47], "set_trac": [84, 87], "set_unit": 81, "set_warn": 87, "set_weight": [0, 44, 61, 65, 103], "set_weights_extrins": [40, 50], "setlevel": 87, "setup": [0, 1, 61], "setup_config": [66, 78], "sever": [1, 76, 98], "sgvsbg8gv29ybgq": 74, "sha256": [33, 49], "sha3": 74, "shape": [61, 75], "share": [0, 58, 81, 95], "should": [0, 1, 24, 31, 33, 47, 49, 58, 60, 61, 74, 75, 93, 95], "should_exit": 1, "should_sync": 58, "show": 90, "shut": 1, "shutdown": [1, 76], "side": 1, "sign": [0, 1, 24, 29, 31, 35, 36, 45, 47, 52, 53, 58, 61], "sign_and_send_extrins": [0, 61, 66], "sign_with": [0, 61], "signal": [1, 24], "signatur": [1, 23, 25, 60, 74, 75, 76, 78, 81, 90, 92, 101], "signifi": 58, "signific": [0, 61], "silent": 24, "similar": [0, 24, 58, 61, 66], "simpl": [74, 100], "simpli": 74, "simplifi": [0, 58, 61], "simul": [0, 61], "sinc": [0, 61], "singl": [0, 24, 61, 100], "size": [58, 74], "skip": 85, "slippag": 6, "sn": [39, 56], "snapshot": [0, 58, 61], "so": [74, 102], "softwar": 58, "solut": [25, 93, 95, 96], "solution_queu": 95, "solv": [0, 31, 47, 61, 93, 95, 96], "solve_cuda": 96, "solver": [25, 95], "some": [0, 17, 61, 66], "some_hotkei": 61, "some_hotkey_where_is_your_stake_now": [0, 61], "someconst": 0, "someth": 1, "sort": 1, "sourc": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 87, 88, 89, 90, 91, 92, 93, 95, 96, 97, 98, 100, 102], "spam": 1, "special": [1, 58, 60, 84], "specif": [0, 1, 4, 40, 43, 58, 60, 61, 66, 74, 76, 77, 87, 88, 97], "specifi": [0, 1, 21, 24, 29, 33, 34, 38, 45, 49, 51, 55, 56, 58, 61, 74, 84, 87, 90, 100], "specul": 58, "sphinx": 103, "ss58": [0, 4, 16, 21, 22, 26, 30, 34, 36, 38, 41, 46, 51, 53, 55, 56, 61, 90], "ss58_address": [0, 37, 54, 61, 90, 102], "ss58_address_length": 59, "ss58_address_to_byt": 90, "ss58_decod": 90, "ss58_format": 59, "ss58_to_vec_u8": 90, "stabil": [0, 58, 61], "stabl": 1, "stacklevel": 87, "stage": 1, "stake": [0, 4, 6, 11, 12, 16, 21, 25, 26, 28, 29, 30, 37, 38, 41, 44, 45, 46, 54, 55, 56, 58, 61, 66, 103], "stake_data": 21, "stake_dict": [11, 12], "stake_info": [7, 103], "stakeerror": 25, "stakeinfo": [0, 16, 21, 56, 61], "staker": 6, "stale": [0, 95], "standard": [0, 58, 61, 74, 78, 86], "starlett": [1, 60], "start": [0, 1, 17, 35, 52, 61, 74, 87, 95, 96], "start_cal": [0, 28, 44, 61, 65, 66, 103], "start_call_extrins": [35, 52], "start_tim": 1, "stat": 95, "state": [0, 1, 6, 20, 24, 58, 61, 62, 74, 84, 87, 100], "state_cal": [0, 61, 62], "state_dict": 58, "statemachin": 87, "static": [10, 11, 12, 58, 75, 78, 81, 95], "statist": 95, "statu": [0, 1, 11, 24, 36, 53, 58, 61, 74, 87, 90, 95], "status_cod": [1, 74], "status_messag": 74, "stdout": [1, 78], "step": [0, 1, 61], "stop": [1, 87, 95], "stopev": 95, "storag": [0, 22, 61, 98, 99, 103], "storage_funct": 100, "storagefunctionnotfound": 25, "storagekei": 100, "store": [58, 74, 81, 95, 100], "str": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 49, 51, 52, 53, 54, 55, 56, 58, 59, 61, 66, 74, 75, 76, 77, 78, 81, 82, 84, 85, 87, 90, 91, 92, 95, 96, 100, 101, 102], "str_val": 92, "strateg": [0, 61], "stream": [24, 57, 87, 103], "stream_respons": 60, "streamer": 60, "streamingrespons": 60, "streamingsynaps": [1, 24, 60], "streamlin": [0, 61], "strict": [23, 90], "string": [0, 2, 9, 12, 21, 22, 24, 40, 43, 58, 61, 74, 75, 77, 78, 81, 84, 90, 92, 100], "stronger": 58, "strtobool": 90, "struct": 77, "structur": [0, 2, 7, 10, 21, 58, 60, 61, 74], "style": 84, "sub": [59, 86, 95], "subclass": [60, 74], "submiss": [0, 29, 35, 45, 52, 61], "submit": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 61, 76], "subnet": [0, 1, 2, 4, 5, 7, 9, 17, 18, 19, 24, 25, 29, 30, 31, 32, 34, 35, 38, 40, 43, 45, 46, 47, 48, 50, 51, 52, 55, 61, 66, 81, 90, 91, 93, 95, 102, 103], "subnet_contact": [18, 31, 47], "subnet_emiss": 10, "subnet_exist": [0, 61, 71], "subnet_hyperparamet": [7, 103], "subnet_ident": [0, 6, 7, 10, 61, 103], "subnet_info": [7, 103], "subnet_is_act": 17, "subnet_nam": [6, 18, 31, 47], "subnet_st": [7, 103], "subnet_url": [18, 31, 47], "subnet_volum": [6, 10], "subnetemiss": 10, "subnethyperparamet": [0, 17, 21, 61], "subnetident": [0, 6, 10, 18, 21, 58, 61], "subnetinfo": [0, 19, 21, 61], "subnetrevealperiodepoch": [0, 61], "subnetsapi": 97, "subnetst": [20, 21], "subnetvolum": 10, "subnetwork": [0, 20, 31, 47, 61], "subnetwork_n": [0, 19, 61, 71], "subnetworkdoesnotexist": [0, 25, 26, 41], "subnetworkn": [0, 61], "subscrib": [0, 25, 33, 49, 61], "subsequ": [1, 23, 24], "subset": [0, 61], "substrat": [0, 61, 66, 98, 100], "substrate_util": [90, 103], "substraterequestexcept": [0, 25, 34, 51, 61, 90], "subtensor": [0, 1, 22, 23, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 78, 88, 90, 93, 95, 102, 103], "subtensor_api": [57, 103], "subtensor_field": 72, "subtensorapi": [66, 72], "subtensorinterfac": [34, 51], "subtensormixin": [0, 61, 78], "subtensormodul": [0, 61], "subvortex": 59, "subvortex_entrypoint": 59, "succeed": [0, 38, 55, 61, 74], "success": [0, 1, 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 61, 74, 82, 87, 90], "success_level_num": 84, "successfulli": [0, 29, 33, 35, 45, 49, 52, 61], "suffici": [0, 61], "suffix": [87, 89], "suggest": 58, "suitabl": 74, "sum": [0, 26, 41, 58, 74, 102], "superclass": 74, "suppli": 58, "support": [0, 1, 23, 61, 81], "supress": 90, "sure": 77, "swap": [0, 15, 30, 46, 61], "swap_stak": [0, 61, 65], "swap_stake_extrins": [30, 46], "sy": 90, "symbol": [6, 10, 58, 81], "synaps": [1, 24, 25, 57, 60, 80, 88, 97, 103], "synapse_dict": 74, "synapse_histori": 24, "synapse_nonc": 80, "synapse_timeout": 80, "synapse_to_respons": 1, "synapsedendritenoneexcept": 25, "synapseexcept": 25, "synapseparsingerror": 25, "sync": [0, 40, 42, 43, 50, 58, 66], "sync_substr": [21, 61], "synchron": [0, 24, 58, 61, 95], "system": [0, 24, 58, 61, 85, 87, 88, 95], "t": [0, 1, 8, 23, 25, 26, 41, 58, 61, 87, 90], "tailor": [1, 74], "take": [0, 1, 4, 5, 15, 25, 28, 44, 60, 61, 103], "takeerror": 25, "taken": 74, "tamper": [0, 1, 61, 74], "tao": [0, 4, 5, 6, 10, 29, 31, 34, 38, 45, 47, 51, 55, 58, 61, 81, 90, 91], "tao_dividends_per_hotkei": [10, 58], "tao_fees_above_high": 91, "tao_fees_below_low": 91, "tao_in": [6, 10], "tao_in_emiss": [6, 10], "tao_slippag": 6, "tao_stak": [10, 20, 58], "tao_symbol": 59, "tao_to_alpha": 6, "tao_to_alpha_with_slippag": 6, "taodividendsperhotkei": 10, "taoin": 10, "taoinemiss": 10, "taostak": 10, "target": [0, 17, 24, 29, 35, 45, 52, 61], "target_axon": 24, "target_axon_info": 24, "target_regs_per_interv": [10, 17], "targetregsperinterv": 10, "task": [0, 1, 61, 74], "tcp": 9, "technic": [0, 61], "techniqu": 1, "technologi": [0, 61], "templat": 84, "tempo": [0, 6, 10, 17, 19, 58, 61, 71], "temporarili": 1, "tensor": [2, 9, 57, 58, 74, 102, 103], "tensor_": 75, "term": [0, 61], "termin": [1, 74, 82], "terminal_info": 74, "terminalinfo": 74, "terminate_workers_and_wait_for_exit": 95, "test": [0, 58, 59, 61, 66, 78, 82, 90], "text": [1, 84, 95], "textual": [31, 47], "th": 58, "than": [0, 1, 24, 26, 41, 61, 102], "thei": [0, 1, 6, 58, 61, 74, 102], "them": [0, 1, 24, 60, 61, 74], "themselv": [0, 61], "therebi": [0, 1, 61], "thereof": 92, "thi": [0, 1, 2, 4, 5, 6, 7, 10, 11, 12, 17, 20, 21, 22, 23, 24, 25, 27, 31, 33, 37, 40, 42, 43, 47, 49, 54, 56, 58, 60, 61, 66, 74, 76, 77, 78, 81, 84, 85, 86, 87, 88, 91, 93, 95, 96, 97, 100, 102, 103, 104], "thin": [0, 61], "think": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 61, 74], "third": 87, "those": [23, 24], "thread": [0, 1, 31, 47, 61, 76, 93, 95, 96], "thread_name_prefix": 76, "thread_pool": 1, "threadpool": [1, 57, 103], "threadpoolexecutor": 76, "threshold": [0, 14, 17, 61, 102], "through": [1, 24, 56, 61, 85], "throughout": 86, "tick": [0, 29, 45, 61, 91], "tick_index": 91, "tick_to_pric": 91, "time": [0, 1, 58, 61, 66, 74, 76, 77, 80, 84, 95], "time_averag": 95, "time_sp": 95, "time_spent_tot": 95, "timelock": [57, 103], "timeout": [0, 1, 24, 31, 32, 33, 34, 37, 38, 40, 47, 48, 49, 50, 51, 54, 55, 61, 74, 80, 97, 101], "timestamp": [0, 1, 11, 12, 58, 61], "tl": [0, 33, 49, 61], "tle": 77, "tmp": 58, "to_dict": 23, "to_head": 74, "to_hex": 100, "to_parameter_dict": [2, 9], "to_str": [1, 2], "to_token_amount": 91, "todo": 58, "toggl": [0, 29, 45, 61], "toggle_user_liquid": [0, 61, 65], "toggle_user_liquidity_extrins": [29, 45], "token": [0, 38, 55, 58, 60, 61, 91], "token_stream": 60, "toler": [0, 30, 34, 38, 46, 51, 55, 61], "tolist": 75, "too": [0, 25, 26, 41, 61, 66], "tool": [0, 61, 74], "toomanychildren": [0, 25, 26, 41], "toon_kei": 0, "top": 100, "topologi": [0, 1], "torch": [0, 2, 9, 24, 27, 40, 42, 50, 58, 61, 75, 90, 95, 102], "torchmetagraph": 58, "total": [0, 4, 5, 11, 12, 58, 61, 74, 95], "total_bit": 81, "total_daily_return": [4, 5], "total_s": 74, "total_stak": [4, 10, 11, 12, 20, 58], "totalstak": 10, "toward": [58, 61], "tpb": [0, 31, 47, 61, 93, 95, 96], "trace": [1, 84, 87, 88], "trace_level_num": 84, "trace_log_format": 83, "track": [0, 58, 61, 74], "transact": [0, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 61, 74], "transactor": [0, 25, 61], "transfer": [0, 17, 25, 28, 30, 44, 46, 61, 65, 90, 103], "transfer_al": [0, 37, 54, 61], "transfer_extrins": [37, 54], "transfer_stak": [0, 61, 65], "transfer_stake_extrins": [30, 46], "transfererror": 25, "transfers_en": 17, "transform": [10, 74], "transit": [1, 87], "transmiss": [1, 74], "transmit": [24, 74], "transpar": [0, 61, 74], "transport": 74, "travers": 74, "tree": 100, "trigger": [0, 1, 33, 35, 49, 52, 61], "true": [0, 1, 2, 6, 24, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 61, 66, 72, 74, 76, 77, 78, 84, 87, 88, 90, 93, 95], "trust": [0, 1, 10, 11, 12, 20, 58, 61], "trustworthi": [0, 1, 58, 61], "truth": 90, "try": [25, 95], "tupl": [0, 1, 6, 10, 11, 21, 22, 24, 26, 27, 29, 31, 33, 35, 36, 38, 40, 41, 42, 43, 45, 47, 49, 52, 53, 55, 58, 61, 74, 76, 77, 78, 80, 87, 90, 91, 96, 102], "tv": 58, "two": [75, 78, 81], "two_x64_concat": 98, "tx_rate_limit": [0, 61, 62, 66], "txratelimitexceed": [0, 25, 26, 41], "type": [0, 1, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 74, 75, 76, 77, 80, 81, 84, 85, 87, 88, 90, 91, 92, 93, 95, 96, 97, 100, 101, 102, 103], "type_nam": 21, "type_registri": 59, "type_str": 21, "typeddict": [78, 81], "typeerror": [2, 21, 77], "typic": [0, 1, 58, 60, 61, 74], "u128": 81, "u16_max": [90, 102], "u16_normalized_float": 90, "u32": 102, "u32_max": 102, "u64": [0, 90], "u64_max": 90, "u64_normalized_float": 90, "u64f64": 81, "udp": 9, "uid": [0, 11, 12, 27, 29, 30, 33, 35, 38, 40, 42, 43, 45, 46, 49, 50, 52, 55, 58, 61, 81, 102], "uint64": [0, 26, 40, 41, 50, 102], "unabl": [0, 25], "unauthor": [1, 74], "unchang": 92, "under": 0, "underli": [0, 1, 24, 58, 61, 87], "understand": [0, 58, 61], "undesir": 1, "unifi": 24, "union": [0, 2, 6, 9, 10, 21, 24, 27, 31, 32, 33, 40, 42, 46, 47, 48, 49, 50, 58, 61, 62, 63, 64, 65, 67, 68, 69, 70, 71, 73, 75, 77, 81, 90, 93, 95, 96, 97, 102], "uniqu": [0, 1, 11, 12, 24, 31, 34, 38, 40, 43, 47, 51, 55, 56, 58, 61, 74, 92, 102], "uniswap": 91, "unit": [0, 1, 58, 61, 81], "unknownsynapseerror": 25, "unless": 24, "unlock": [0, 29, 35, 45, 52, 61, 90], "unlock_kei": 90, "unlock_typ": 90, "unlockstatu": 90, "unmet": 1, "unpickl": 58, "unpicklingerror": 58, "unsaf": [0, 61], "unstak": [0, 6, 25, 28, 34, 44, 51, 61, 65, 70, 103], "unstake_al": [0, 38, 55, 61, 65, 70], "unstake_all_extrins": [38, 55], "unstake_extrins": [38, 55], "unstake_multipl": [0, 61, 65, 70], "unstake_multiple_extrins": [38, 55], "unstakeerror": 25, "unsuccess": [0, 26, 41, 61, 90], "until": [0, 61, 76], "up": [0, 1, 24, 58, 61, 76, 78, 87, 88, 101], "updat": [0, 1, 11, 12, 24, 25, 31, 47, 58, 60, 61, 95, 96], "update_curr_block": 95, "update_interv": [0, 31, 47, 61, 93, 95, 96], "upon": [0, 24, 58, 61], "upper": [0, 29, 45, 61, 96], "urgenc": 1, "url": [0, 1, 3, 24, 25, 31, 47, 61, 78, 90, 92], "urllib": 92, "us": [0, 1, 2, 6, 17, 21, 22, 24, 27, 29, 31, 33, 34, 35, 37, 38, 40, 42, 43, 45, 47, 49, 51, 52, 54, 55, 58, 60, 61, 66, 74, 75, 76, 77, 78, 81, 84, 90, 93, 95, 96, 97, 98, 100, 101, 102], "usag": [0, 1, 24, 61, 74, 77], "use_nonc": [0, 61], "use_torch": [2, 90, 95], "user": [0, 1, 17, 24, 29, 40, 43, 45, 58, 61, 74, 88, 102], "user_bittensor_dir": 59, "user_liquidity_en": 17, "using_new_loop": 24, "usingspawnstartmethod": 95, "usual": 25, "utf": [74, 90], "util": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 16, 19, 20, 24, 27, 28, 29, 30, 33, 34, 37, 38, 42, 44, 45, 46, 49, 51, 54, 55, 58, 61, 66, 75, 78, 79, 103], "uuid": [1, 24, 74], "uvicorn": 1, "v": [75, 78], "v10": 0, "v2": 0, "v3": 91, "v_7_2_0": 1, "val": 90, "valid": [0, 1, 4, 5, 10, 11, 12, 17, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 60, 61, 74, 75, 84, 90, 95, 102], "validate_chain_endpoint": 90, "validationerror": [60, 74, 75], "validator_permit": [4, 5, 10, 11, 12, 20, 58], "validator_trust": [11, 12, 58], "validatorpermit": 10, "valu": [0, 1, 2, 10, 11, 12, 17, 21, 23, 26, 32, 40, 41, 43, 48, 50, 58, 61, 74, 75, 78, 80, 90, 91, 95, 100, 102], "valuabl": [0, 58, 61, 74], "value_scale_typ": 100, "valueerror": [0, 2, 90, 93, 95], "variabl": [0, 1, 2, 4, 9, 11, 12, 13, 15, 16, 17, 22, 58, 60, 74, 81], "variou": [0, 1, 58, 61], "vec_u8": 15, "vector": [0, 21], "verbos": [0, 61, 66, 93, 95], "verif": [1, 74], "verifi": [0, 1, 25, 61, 74], "verify_body_integr": 1, "verify_custom": 1, "verify_fn": 1, "verify_my_synaps": 1, "verify_my_synapse_2": 1, "versatil": [0, 61], "version": [0, 2, 5, 11, 13, 17, 27, 32, 40, 42, 43, 48, 50, 58, 61, 66, 74, 78, 84, 88, 90, 92, 102, 103], "version_as_int": [0, 27, 42, 59, 61], "version_check": [90, 101], "version_check_threshold": 101, "version_kei": [0, 27, 32, 40, 42, 43, 48, 50, 61, 102], "version_split": 59, "versioncheckerror": [90, 101], "via": [1, 61, 75, 78], "viabil": [0, 61], "view": [0, 61], "vital": [1, 58, 74], "vote": [0, 61], "w": [58, 59, 92], "w_": 58, "wa": [0, 1, 6, 23, 30, 31, 32, 33, 34, 37, 46, 47, 48, 49, 50, 51, 54, 58, 61, 74], "wai": [0, 24, 61, 74, 78, 81], "wait": [0, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 61, 66, 76, 77], "wait_for_block": [0, 61, 66], "wait_for_fin": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 61], "wait_for_inclus": [0, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 61], "wait_reveal_and_decrypt": 77, "wallet": [0, 1, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 61, 66, 74, 81, 88, 90, 93, 95, 97, 102, 103], "wallet_stak": [0, 61], "wallets_dir": 59, "want": [0, 58, 84], "warn": [82, 87, 88, 90], "we": [31, 32, 33, 34, 37, 47, 48, 49, 50, 51, 54, 92], "web": [31, 47], "websocket": [61, 78, 90, 92], "websocket_shutdown_tim": [0, 66], "weight": [0, 11, 12, 17, 22, 27, 28, 32, 42, 43, 48, 50, 58, 61, 71, 102, 103], "weight_commit_info": [7, 103], "weight_uid": 102, "weight_util": [90, 103], "weight_val": 102, "weightcommitinfo": 22, "weights_as_dict": 11, "weights_rate_limit": [0, 10, 17, 61, 71], "weights_vers": [10, 17], "weightsratelimit": 10, "weightssetratelimit": [0, 61], "weightsvers": 10, "well": [58, 81], "were": [0, 61], "when": [0, 1, 2, 22, 23, 24, 25, 29, 30, 38, 40, 43, 45, 46, 55, 58, 61, 74, 76, 77, 87, 93, 95], "where": [0, 1, 6, 11, 21, 22, 24, 26, 27, 31, 41, 42, 47, 58, 61, 66, 81], "whether": [0, 1, 12, 21, 24, 27, 29, 31, 35, 37, 42, 45, 47, 52, 54, 58, 61, 66, 90, 97], "which": [0, 1, 5, 15, 17, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 60, 61, 74, 78], "while": [0, 1, 46, 58, 61, 81, 91, 95], "who": [0, 61, 74], "whole": 2, "whose": [0, 61], "wide": [0, 58, 61], "window": 80, "withdraw": [0, 61], "withdrawn": [0, 61], "within": [0, 1, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 60, 61, 74, 95, 97], "without": [0, 1, 12, 24, 38, 55, 61, 74, 82], "work": [0, 7, 24, 31, 40, 47, 61, 93, 95, 96], "worker": [1, 76, 95], "world": 74, "would": [0, 6, 30, 46, 61, 74], "wrap": 87, "wrapper": [40, 43, 74], "writabl": 90, "wrong": [0, 26, 41, 61, 77], "wss": [59, 66, 92], "x": [77, 90, 102], "x_person": 77, "x_person_2": 77, "xxh128": 98, "xxh64": 98, "y": [83, 90, 102], "ye": 90, "yet": 0, "yield": [1, 24, 85], "you": [0, 1, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 61, 66, 74, 77, 84], "your": [0, 1, 24, 58, 61, 66, 74, 77, 84, 92], "yoursynaps": 1, "yuma": [0, 17, 58], "yuma_vers": 17, "zero": [0, 56, 61]}, "titles": ["bittensor.core.async_subtensor", "bittensor.core.axon", "bittensor.core.chain_data.axon_info", "bittensor.core.chain_data.chain_identity", "bittensor.core.chain_data.delegate_info", "bittensor.core.chain_data.delegate_info_lite", "bittensor.core.chain_data.dynamic_info", "bittensor.core.chain_data", "bittensor.core.chain_data.info_base", "bittensor.core.chain_data.ip_info", "bittensor.core.chain_data.metagraph_info", "bittensor.core.chain_data.neuron_info", "bittensor.core.chain_data.neuron_info_lite", "bittensor.core.chain_data.prometheus_info", "bittensor.core.chain_data.proposal_vote_data", "bittensor.core.chain_data.scheduled_coldkey_swap_info", "bittensor.core.chain_data.stake_info", "bittensor.core.chain_data.subnet_hyperparameters", "bittensor.core.chain_data.subnet_identity", "bittensor.core.chain_data.subnet_info", "bittensor.core.chain_data.subnet_state", "bittensor.core.chain_data.utils", "bittensor.core.chain_data.weight_commit_info", "bittensor.core.config", "bittensor.core.dendrite", "bittensor.core.errors", "bittensor.core.extrinsics.asyncex.children", "bittensor.core.extrinsics.asyncex.commit_reveal", "bittensor.core.extrinsics.asyncex", "bittensor.core.extrinsics.asyncex.liquidity", "bittensor.core.extrinsics.asyncex.move_stake", "bittensor.core.extrinsics.asyncex.registration", "bittensor.core.extrinsics.asyncex.root", "bittensor.core.extrinsics.asyncex.serving", "bittensor.core.extrinsics.asyncex.staking", "bittensor.core.extrinsics.asyncex.start_call", "bittensor.core.extrinsics.asyncex.take", "bittensor.core.extrinsics.asyncex.transfer", "bittensor.core.extrinsics.asyncex.unstaking", "bittensor.core.extrinsics.asyncex.utils", "bittensor.core.extrinsics.asyncex.weights", "bittensor.core.extrinsics.children", "bittensor.core.extrinsics.commit_reveal", "bittensor.core.extrinsics.commit_weights", "bittensor.core.extrinsics", "bittensor.core.extrinsics.liquidity", "bittensor.core.extrinsics.move_stake", "bittensor.core.extrinsics.registration", "bittensor.core.extrinsics.root", "bittensor.core.extrinsics.serving", "bittensor.core.extrinsics.set_weights", "bittensor.core.extrinsics.staking", "bittensor.core.extrinsics.start_call", "bittensor.core.extrinsics.take", "bittensor.core.extrinsics.transfer", "bittensor.core.extrinsics.unstaking", "bittensor.core.extrinsics.utils", "bittensor.core", "bittensor.core.metagraph", "bittensor.core.settings", "bittensor.core.stream", "bittensor.core.subtensor", "bittensor.core.subtensor_api.chain", "bittensor.core.subtensor_api.commitments", "bittensor.core.subtensor_api.delegates", "bittensor.core.subtensor_api.extrinsics", "bittensor.core.subtensor_api", "bittensor.core.subtensor_api.metagraphs", "bittensor.core.subtensor_api.neurons", "bittensor.core.subtensor_api.queries", "bittensor.core.subtensor_api.staking", "bittensor.core.subtensor_api.subnets", "bittensor.core.subtensor_api.utils", "bittensor.core.subtensor_api.wallets", "bittensor.core.synapse", "bittensor.core.tensor", "bittensor.core.threadpool", "bittensor.core.timelock", "bittensor.core.types", "bittensor", "bittensor.utils.axon_utils", "bittensor.utils.balance", "bittensor.utils.btlogging.console", "bittensor.utils.btlogging.defines", "bittensor.utils.btlogging.format", "bittensor.utils.btlogging.helpers", "bittensor.utils.btlogging", "bittensor.utils.btlogging.loggingmachine", "bittensor.utils.easy_imports", "bittensor.utils.formatting", "bittensor.utils", "bittensor.utils.liquidity", "bittensor.utils.networking", "bittensor.utils.registration.async_pow", "bittensor.utils.registration", "bittensor.utils.registration.pow", "bittensor.utils.registration.register_cuda", "bittensor.utils.subnets", "bittensor.utils.substrate_utils.hasher", "bittensor.utils.substrate_utils", "bittensor.utils.substrate_utils.storage", "bittensor.utils.version", "bittensor.utils.weight_utils", "API Reference", "Bittensor SDK Documentation"], "titleterms": {"api": 103, "async_pow": 93, "async_subtensor": 0, "asyncex": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "attribut": [1, 8, 23, 24, 25, 58, 59, 75, 76, 80, 83, 84, 86, 87, 88, 90, 91, 95, 101, 102], "axon": 1, "axon_info": 2, "axon_util": 80, "balanc": 81, "bittensor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104], "btlog": [82, 83, 84, 85, 86, 87], "chain": 62, "chain_data": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "chain_ident": 3, "children": [26, 41], "class": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 78, 81, 82, 84, 87, 90, 91, 95, 97, 100], "commit": 63, "commit_rev": [27, 42], "commit_weight": 43, "config": 23, "consol": 82, "content": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 96, 97, 98, 100, 101, 102, 104], "core": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "defin": 83, "deleg": 64, "delegate_info": 4, "delegate_info_lit": 5, "dendrit": 24, "document": 104, "dynamic_info": 6, "easy_import": 88, "error": 25, "exampl": [0, 23, 24, 58, 61, 66, 78, 82], "except": [23, 25, 76, 92, 101], "extrins": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 65], "format": [84, 89], "function": [0, 1, 10, 21, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 72, 74, 75, 77, 80, 81, 85, 88, 89, 90, 91, 92, 93, 95, 96, 98, 101, 102], "hasher": 98, "helper": 85, "info_bas": 8, "ip_info": 9, "liquid": [29, 45, 91], "loggingmachin": 87, "metagraph": [58, 67], "metagraph_info": 10, "modul": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87, 88, 89, 91, 92, 93, 95, 96, 97, 98, 100, 101, 102], "move_stak": [30, 46], "network": 92, "neuron": 68, "neuron_info": 11, "neuron_info_lit": 12, "note": 0, "packag": [66, 86, 90], "pow": 95, "prometheus_info": 13, "proposal_vote_data": 14, "queri": 69, "refer": 103, "register_cuda": 96, "registr": [31, 47, 93, 94, 95, 96], "root": [32, 48], "scheduled_coldkey_swap_info": 15, "sdk": 104, "serv": [33, 49], "set": 59, "set_weight": 50, "stake": [34, 51, 70], "stake_info": 16, "start_cal": [35, 52], "storag": 100, "stream": 60, "submodul": [7, 28, 44, 57, 66, 79, 86, 90, 94, 99], "subnet": [71, 97], "subnet_hyperparamet": 17, "subnet_ident": 18, "subnet_info": 19, "subnet_st": 20, "substrate_util": [98, 99, 100], "subtensor": 61, "subtensor_api": [62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73], "synaps": 74, "tabl": 104, "take": [36, 53], "tensor": 75, "threadpool": 76, "timelock": 77, "transfer": [37, 54], "type": 78, "unstak": [38, 55], "util": [21, 39, 56, 72, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102], "version": 101, "wallet": 73, "weight": 40, "weight_commit_info": 22, "weight_util": 102}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API Reference": [[144, null]], "Attributes": [[1, "attributes"], [8, "attributes"], [10, "attributes"], [24, "attributes"], [25, "attributes"], [26, "attributes"], [77, "attributes"], [78, "attributes"], [94, "attributes"], [95, "attributes"], [97, "attributes"], [98, "attributes"], [100, "attributes"], [103, "attributes"], [104, "attributes"], [120, "attributes"], [123, "attributes"], [124, "attributes"], [126, "attributes"], [128, "attributes"], [129, "attributes"], [131, "attributes"], [132, "attributes"], [136, "attributes"], [142, "attributes"], [143, "attributes"]], "Bittensor SDK Documentation": [[145, null]], "Classes": [[0, "classes"], [1, "classes"], [2, "classes"], [3, "classes"], [4, "classes"], [5, "classes"], [6, "classes"], [8, "classes"], [9, "classes"], [10, "classes"], [11, "classes"], [12, "classes"], [13, "classes"], [14, "classes"], [15, "classes"], [16, "classes"], [17, "classes"], [18, "classes"], [19, "classes"], [20, "classes"], [21, "classes"], [22, "classes"], [23, "classes"], [24, "classes"], [25, "classes"], [51, "classes"], [53, "classes"], [54, "classes"], [55, "classes"], [56, "classes"], [57, "classes"], [58, "classes"], [59, "classes"], [60, "classes"], [61, "classes"], [62, "classes"], [63, "classes"], [77, "classes"], [79, "classes"], [80, "classes"], [81, "classes"], [82, "classes"], [83, "classes"], [84, "classes"], [85, "classes"], [86, "classes"], [87, "classes"], [88, "classes"], [89, "classes"], [90, "classes"], [92, "classes"], [93, "classes"], [94, "classes"], [95, "classes"], [97, "classes"], [99, "classes"], [101, "classes"], [103, "classes"], [104, "classes"], [106, "classes"], [107, "classes"], [108, "classes"], [109, "classes"], [110, "classes"], [111, "classes"], [112, "classes"], [113, "classes"], [114, "classes"], [115, "classes"], [117, "classes"], [121, "classes"], [122, "classes"], [124, "classes"], [128, "classes"], [131, "classes"], [132, "classes"], [136, "classes"], [138, "classes"], [141, "classes"]], "Example": [[0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [24, null], [25, null], [25, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [80, null], [80, null], [80, null], [80, null], [85, null], [97, null], [110, null], [122, null]], "Exceptions": [[24, "exceptions"], [26, "exceptions"], [95, "exceptions"], [133, "exceptions"], [142, "exceptions"]], "Functions": [[0, "functions"], [1, "functions"], [10, "functions"], [22, "functions"], [25, "functions"], [27, "functions"], [28, "functions"], [30, "functions"], [31, "functions"], [32, "functions"], [33, "functions"], [34, "functions"], [35, "functions"], [36, "functions"], [37, "functions"], [38, "functions"], [39, "functions"], [40, "functions"], [41, "functions"], [42, "functions"], [43, "functions"], [44, "functions"], [45, "functions"], [46, "functions"], [48, "functions"], [49, "functions"], [50, "functions"], [61, "functions"], [64, "functions"], [65, "functions"], [66, "functions"], [67, "functions"], [68, "functions"], [69, "functions"], [70, "functions"], [71, "functions"], [72, "functions"], [73, "functions"], [74, "functions"], [75, "functions"], [77, "functions"], [91, "functions"], [93, "functions"], [94, "functions"], [96, "functions"], [98, "functions"], [104, "functions"], [116, "functions"], [118, "functions"], [120, "functions"], [121, "functions"], [125, "functions"], [127, "functions"], [129, "functions"], [130, "functions"], [131, "functions"], [132, "functions"], [133, "functions"], [134, "functions"], [136, "functions"], [137, "functions"], [139, "functions"], [142, "functions"], [143, "functions"]], "Module Contents": [[0, "module-contents"], [1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [6, "module-contents"], [8, "module-contents"], [9, "module-contents"], [10, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"], [16, "module-contents"], [17, "module-contents"], [18, "module-contents"], [19, "module-contents"], [20, "module-contents"], [21, "module-contents"], [22, "module-contents"], [23, "module-contents"], [24, "module-contents"], [25, "module-contents"], [26, "module-contents"], [27, "module-contents"], [28, "module-contents"], [30, "module-contents"], [31, "module-contents"], [32, "module-contents"], [33, "module-contents"], [34, "module-contents"], [35, "module-contents"], [36, "module-contents"], [37, "module-contents"], [38, "module-contents"], [39, "module-contents"], [40, "module-contents"], [41, "module-contents"], [42, "module-contents"], [43, "module-contents"], [44, "module-contents"], [45, "module-contents"], [46, "module-contents"], [48, "module-contents"], [49, "module-contents"], [50, "module-contents"], [51, "module-contents"], [53, "module-contents"], [54, "module-contents"], [55, "module-contents"], [56, "module-contents"], [57, "module-contents"], [58, "module-contents"], [59, "module-contents"], [60, "module-contents"], [61, "module-contents"], [62, "module-contents"], [63, "module-contents"], [64, "module-contents"], [65, "module-contents"], [66, "module-contents"], [67, "module-contents"], [68, "module-contents"], [69, "module-contents"], [70, "module-contents"], [71, "module-contents"], [72, "module-contents"], [73, "module-contents"], [74, "module-contents"], [75, "module-contents"], [77, "module-contents"], [78, "module-contents"], [79, "module-contents"], [80, "module-contents"], [81, "module-contents"], [82, "module-contents"], [83, "module-contents"], [84, "module-contents"], [86, "module-contents"], [87, "module-contents"], [88, "module-contents"], [89, "module-contents"], [90, "module-contents"], [91, "module-contents"], [92, "module-contents"], [93, "module-contents"], [94, "module-contents"], [95, "module-contents"], [96, "module-contents"], [97, "module-contents"], [99, "module-contents"], [100, "module-contents"], [101, "module-contents"], [103, "module-contents"], [104, "module-contents"], [106, "module-contents"], [107, "module-contents"], [108, "module-contents"], [109, "module-contents"], [111, "module-contents"], [112, "module-contents"], [113, "module-contents"], [114, "module-contents"], [115, "module-contents"], [116, "module-contents"], [117, "module-contents"], [118, "module-contents"], [120, "module-contents"], [121, "module-contents"], [122, "module-contents"], [123, "module-contents"], [124, "module-contents"], [125, "module-contents"], [127, "module-contents"], [128, "module-contents"], [129, "module-contents"], [130, "module-contents"], [132, "module-contents"], [133, "module-contents"], [134, "module-contents"], [136, "module-contents"], [137, "module-contents"], [138, "module-contents"], [139, "module-contents"], [141, "module-contents"], [142, "module-contents"], [143, "module-contents"]], "Notes": [[0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [80, null], [80, null], [80, null]], "Package Contents": [[85, "package-contents"], [98, "package-contents"], [110, "package-contents"], [126, "package-contents"], [131, "package-contents"]], "Submodules": [[7, "submodules"], [29, "submodules"], [47, "submodules"], [52, "submodules"], [76, "submodules"], [85, "submodules"], [98, "submodules"], [102, "submodules"], [105, "submodules"], [110, "submodules"], [119, "submodules"], [126, "submodules"], [131, "submodules"], [135, "submodules"], [140, "submodules"]], "Table of Contents": [[145, null]], "bittensor": [[119, null]], "bittensor.core": [[76, null]], "bittensor.core.async_subtensor": [[0, null]], "bittensor.core.axon": [[1, null]], "bittensor.core.chain_data": [[7, null]], "bittensor.core.chain_data.axon_info": [[2, null]], "bittensor.core.chain_data.chain_identity": [[3, null]], "bittensor.core.chain_data.delegate_info": [[4, null]], "bittensor.core.chain_data.delegate_info_lite": [[5, null]], "bittensor.core.chain_data.dynamic_info": [[6, null]], "bittensor.core.chain_data.info_base": [[8, null]], "bittensor.core.chain_data.ip_info": [[9, null]], "bittensor.core.chain_data.metagraph_info": [[10, null]], "bittensor.core.chain_data.neuron_info": [[11, null]], "bittensor.core.chain_data.neuron_info_lite": [[12, null]], "bittensor.core.chain_data.prometheus_info": [[13, null]], "bittensor.core.chain_data.proposal_vote_data": [[14, null]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, null]], "bittensor.core.chain_data.sim_swap": [[16, null]], "bittensor.core.chain_data.stake_info": [[17, null]], "bittensor.core.chain_data.subnet_hyperparameters": [[18, null]], "bittensor.core.chain_data.subnet_identity": [[19, null]], "bittensor.core.chain_data.subnet_info": [[20, null]], "bittensor.core.chain_data.subnet_state": [[21, null]], "bittensor.core.chain_data.utils": [[22, null]], "bittensor.core.chain_data.weight_commit_info": [[23, null]], "bittensor.core.config": [[24, null]], "bittensor.core.dendrite": [[25, null]], "bittensor.core.errors": [[26, null]], "bittensor.core.extrinsics": [[47, null]], "bittensor.core.extrinsics.asyncex": [[29, null]], "bittensor.core.extrinsics.asyncex.children": [[27, null]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[28, null]], "bittensor.core.extrinsics.asyncex.liquidity": [[30, null]], "bittensor.core.extrinsics.asyncex.mechanism": [[31, null]], "bittensor.core.extrinsics.asyncex.move_stake": [[32, null]], "bittensor.core.extrinsics.asyncex.registration": [[33, null]], "bittensor.core.extrinsics.asyncex.root": [[34, null]], "bittensor.core.extrinsics.asyncex.serving": [[35, null]], "bittensor.core.extrinsics.asyncex.staking": [[36, null]], "bittensor.core.extrinsics.asyncex.start_call": [[37, null]], "bittensor.core.extrinsics.asyncex.sudo": [[38, null]], "bittensor.core.extrinsics.asyncex.take": [[39, null]], "bittensor.core.extrinsics.asyncex.transfer": [[40, null]], "bittensor.core.extrinsics.asyncex.unstaking": [[41, null]], "bittensor.core.extrinsics.asyncex.utils": [[42, null]], "bittensor.core.extrinsics.asyncex.weights": [[43, null]], "bittensor.core.extrinsics.children": [[44, null]], "bittensor.core.extrinsics.commit_reveal": [[45, null]], "bittensor.core.extrinsics.commit_weights": [[46, null]], "bittensor.core.extrinsics.liquidity": [[48, null]], "bittensor.core.extrinsics.mechanism": [[49, null]], "bittensor.core.extrinsics.move_stake": [[50, null]], "bittensor.core.extrinsics.params": [[52, null]], "bittensor.core.extrinsics.params.children": [[51, null]], "bittensor.core.extrinsics.params.liquidity": [[53, null]], "bittensor.core.extrinsics.params.move_stake": [[54, null]], "bittensor.core.extrinsics.params.registration": [[55, null]], "bittensor.core.extrinsics.params.root": [[56, null]], "bittensor.core.extrinsics.params.serving": [[57, null]], "bittensor.core.extrinsics.params.staking": [[58, null]], "bittensor.core.extrinsics.params.start_call": [[59, null]], "bittensor.core.extrinsics.params.take": [[60, null]], "bittensor.core.extrinsics.params.transfer": [[61, null]], "bittensor.core.extrinsics.params.unstaking": [[62, null]], "bittensor.core.extrinsics.params.weights": [[63, null]], "bittensor.core.extrinsics.registration": [[64, null]], "bittensor.core.extrinsics.root": [[65, null]], "bittensor.core.extrinsics.serving": [[66, null]], "bittensor.core.extrinsics.set_weights": [[67, null]], "bittensor.core.extrinsics.staking": [[68, null]], "bittensor.core.extrinsics.start_call": [[69, null]], "bittensor.core.extrinsics.sudo": [[70, null]], "bittensor.core.extrinsics.take": [[71, null]], "bittensor.core.extrinsics.transfer": [[72, null]], "bittensor.core.extrinsics.unstaking": [[73, null]], "bittensor.core.extrinsics.utils": [[74, null]], "bittensor.core.extrinsics.weights": [[75, null]], "bittensor.core.metagraph": [[77, null]], "bittensor.core.settings": [[78, null]], "bittensor.core.stream": [[79, null]], "bittensor.core.subtensor": [[80, null]], "bittensor.core.subtensor_api": [[85, null]], "bittensor.core.subtensor_api.chain": [[81, null]], "bittensor.core.subtensor_api.commitments": [[82, null]], "bittensor.core.subtensor_api.delegates": [[83, null]], "bittensor.core.subtensor_api.extrinsics": [[84, null]], "bittensor.core.subtensor_api.metagraphs": [[86, null]], "bittensor.core.subtensor_api.neurons": [[87, null]], "bittensor.core.subtensor_api.queries": [[88, null]], "bittensor.core.subtensor_api.staking": [[89, null]], "bittensor.core.subtensor_api.subnets": [[90, null]], "bittensor.core.subtensor_api.utils": [[91, null]], "bittensor.core.subtensor_api.wallets": [[92, null]], "bittensor.core.synapse": [[93, null]], "bittensor.core.tensor": [[94, null]], "bittensor.core.threadpool": [[95, null]], "bittensor.core.timelock": [[96, null]], "bittensor.core.types": [[97, null]], "bittensor.extras": [[105, null]], "bittensor.extras.dev_framework": [[102, null]], "bittensor.extras.dev_framework.calls": [[98, null]], "bittensor.extras.dev_framework.calls.non_sudo_calls": [[99, null]], "bittensor.extras.dev_framework.calls.pallets": [[100, null]], "bittensor.extras.dev_framework.calls.sudo_calls": [[101, null]], "bittensor.extras.dev_framework.subnet": [[103, null]], "bittensor.extras.dev_framework.utils": [[104, null]], "bittensor.extras.subtensor_api": [[110, null]], "bittensor.extras.subtensor_api.chain": [[106, null]], "bittensor.extras.subtensor_api.commitments": [[107, null]], "bittensor.extras.subtensor_api.delegates": [[108, null]], "bittensor.extras.subtensor_api.extrinsics": [[109, null]], "bittensor.extras.subtensor_api.metagraphs": [[111, null]], "bittensor.extras.subtensor_api.neurons": [[112, null]], "bittensor.extras.subtensor_api.queries": [[113, null]], "bittensor.extras.subtensor_api.staking": [[114, null]], "bittensor.extras.subtensor_api.subnets": [[115, null]], "bittensor.extras.subtensor_api.utils": [[116, null]], "bittensor.extras.subtensor_api.wallets": [[117, null]], "bittensor.extras.timelock": [[118, null]], "bittensor.utils": [[131, null]], "bittensor.utils.axon_utils": [[120, null]], "bittensor.utils.balance": [[121, null]], "bittensor.utils.btlogging": [[126, null]], "bittensor.utils.btlogging.console": [[122, null]], "bittensor.utils.btlogging.defines": [[123, null]], "bittensor.utils.btlogging.format": [[124, null]], "bittensor.utils.btlogging.helpers": [[125, null]], "bittensor.utils.btlogging.levels": [[127, null]], "bittensor.utils.btlogging.loggingmachine": [[128, null]], "bittensor.utils.easy_imports": [[129, null]], "bittensor.utils.formatting": [[130, null]], "bittensor.utils.liquidity": [[132, null]], "bittensor.utils.networking": [[133, null]], "bittensor.utils.registration": [[135, null]], "bittensor.utils.registration.async_pow": [[134, null]], "bittensor.utils.registration.pow": [[136, null]], "bittensor.utils.registration.register_cuda": [[137, null]], "bittensor.utils.subnets": [[138, null]], "bittensor.utils.substrate_utils": [[140, null]], "bittensor.utils.substrate_utils.hasher": [[139, null]], "bittensor.utils.substrate_utils.storage": [[141, null]], "bittensor.utils.version": [[142, null]], "bittensor.utils.weight_utils": [[143, null]]}, "docnames": ["autoapi/bittensor/core/async_subtensor/index", "autoapi/bittensor/core/axon/index", "autoapi/bittensor/core/chain_data/axon_info/index", "autoapi/bittensor/core/chain_data/chain_identity/index", "autoapi/bittensor/core/chain_data/delegate_info/index", "autoapi/bittensor/core/chain_data/delegate_info_lite/index", "autoapi/bittensor/core/chain_data/dynamic_info/index", "autoapi/bittensor/core/chain_data/index", "autoapi/bittensor/core/chain_data/info_base/index", "autoapi/bittensor/core/chain_data/ip_info/index", "autoapi/bittensor/core/chain_data/metagraph_info/index", "autoapi/bittensor/core/chain_data/neuron_info/index", "autoapi/bittensor/core/chain_data/neuron_info_lite/index", "autoapi/bittensor/core/chain_data/prometheus_info/index", "autoapi/bittensor/core/chain_data/proposal_vote_data/index", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index", "autoapi/bittensor/core/chain_data/sim_swap/index", "autoapi/bittensor/core/chain_data/stake_info/index", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index", "autoapi/bittensor/core/chain_data/subnet_identity/index", "autoapi/bittensor/core/chain_data/subnet_info/index", "autoapi/bittensor/core/chain_data/subnet_state/index", "autoapi/bittensor/core/chain_data/utils/index", "autoapi/bittensor/core/chain_data/weight_commit_info/index", "autoapi/bittensor/core/config/index", "autoapi/bittensor/core/dendrite/index", "autoapi/bittensor/core/errors/index", "autoapi/bittensor/core/extrinsics/asyncex/children/index", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index", "autoapi/bittensor/core/extrinsics/asyncex/index", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index", "autoapi/bittensor/core/extrinsics/asyncex/mechanism/index", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index", "autoapi/bittensor/core/extrinsics/asyncex/registration/index", "autoapi/bittensor/core/extrinsics/asyncex/root/index", "autoapi/bittensor/core/extrinsics/asyncex/serving/index", "autoapi/bittensor/core/extrinsics/asyncex/staking/index", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index", "autoapi/bittensor/core/extrinsics/asyncex/sudo/index", "autoapi/bittensor/core/extrinsics/asyncex/take/index", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index", "autoapi/bittensor/core/extrinsics/asyncex/utils/index", "autoapi/bittensor/core/extrinsics/asyncex/weights/index", "autoapi/bittensor/core/extrinsics/children/index", "autoapi/bittensor/core/extrinsics/commit_reveal/index", "autoapi/bittensor/core/extrinsics/commit_weights/index", "autoapi/bittensor/core/extrinsics/index", "autoapi/bittensor/core/extrinsics/liquidity/index", "autoapi/bittensor/core/extrinsics/mechanism/index", "autoapi/bittensor/core/extrinsics/move_stake/index", "autoapi/bittensor/core/extrinsics/params/children/index", "autoapi/bittensor/core/extrinsics/params/index", "autoapi/bittensor/core/extrinsics/params/liquidity/index", "autoapi/bittensor/core/extrinsics/params/move_stake/index", "autoapi/bittensor/core/extrinsics/params/registration/index", "autoapi/bittensor/core/extrinsics/params/root/index", "autoapi/bittensor/core/extrinsics/params/serving/index", "autoapi/bittensor/core/extrinsics/params/staking/index", "autoapi/bittensor/core/extrinsics/params/start_call/index", "autoapi/bittensor/core/extrinsics/params/take/index", "autoapi/bittensor/core/extrinsics/params/transfer/index", "autoapi/bittensor/core/extrinsics/params/unstaking/index", "autoapi/bittensor/core/extrinsics/params/weights/index", "autoapi/bittensor/core/extrinsics/registration/index", "autoapi/bittensor/core/extrinsics/root/index", "autoapi/bittensor/core/extrinsics/serving/index", "autoapi/bittensor/core/extrinsics/set_weights/index", "autoapi/bittensor/core/extrinsics/staking/index", "autoapi/bittensor/core/extrinsics/start_call/index", "autoapi/bittensor/core/extrinsics/sudo/index", "autoapi/bittensor/core/extrinsics/take/index", "autoapi/bittensor/core/extrinsics/transfer/index", "autoapi/bittensor/core/extrinsics/unstaking/index", "autoapi/bittensor/core/extrinsics/utils/index", "autoapi/bittensor/core/extrinsics/weights/index", "autoapi/bittensor/core/index", "autoapi/bittensor/core/metagraph/index", "autoapi/bittensor/core/settings/index", "autoapi/bittensor/core/stream/index", "autoapi/bittensor/core/subtensor/index", "autoapi/bittensor/core/subtensor_api/chain/index", "autoapi/bittensor/core/subtensor_api/commitments/index", "autoapi/bittensor/core/subtensor_api/delegates/index", "autoapi/bittensor/core/subtensor_api/extrinsics/index", "autoapi/bittensor/core/subtensor_api/index", "autoapi/bittensor/core/subtensor_api/metagraphs/index", "autoapi/bittensor/core/subtensor_api/neurons/index", "autoapi/bittensor/core/subtensor_api/queries/index", "autoapi/bittensor/core/subtensor_api/staking/index", "autoapi/bittensor/core/subtensor_api/subnets/index", "autoapi/bittensor/core/subtensor_api/utils/index", "autoapi/bittensor/core/subtensor_api/wallets/index", "autoapi/bittensor/core/synapse/index", "autoapi/bittensor/core/tensor/index", "autoapi/bittensor/core/threadpool/index", "autoapi/bittensor/core/timelock/index", "autoapi/bittensor/core/types/index", "autoapi/bittensor/extras/dev_framework/calls/index", "autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index", "autoapi/bittensor/extras/dev_framework/calls/pallets/index", "autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index", "autoapi/bittensor/extras/dev_framework/index", "autoapi/bittensor/extras/dev_framework/subnet/index", "autoapi/bittensor/extras/dev_framework/utils/index", "autoapi/bittensor/extras/index", "autoapi/bittensor/extras/subtensor_api/chain/index", "autoapi/bittensor/extras/subtensor_api/commitments/index", "autoapi/bittensor/extras/subtensor_api/delegates/index", "autoapi/bittensor/extras/subtensor_api/extrinsics/index", "autoapi/bittensor/extras/subtensor_api/index", "autoapi/bittensor/extras/subtensor_api/metagraphs/index", "autoapi/bittensor/extras/subtensor_api/neurons/index", "autoapi/bittensor/extras/subtensor_api/queries/index", "autoapi/bittensor/extras/subtensor_api/staking/index", "autoapi/bittensor/extras/subtensor_api/subnets/index", "autoapi/bittensor/extras/subtensor_api/utils/index", "autoapi/bittensor/extras/subtensor_api/wallets/index", "autoapi/bittensor/extras/timelock/index", "autoapi/bittensor/index", "autoapi/bittensor/utils/axon_utils/index", "autoapi/bittensor/utils/balance/index", "autoapi/bittensor/utils/btlogging/console/index", "autoapi/bittensor/utils/btlogging/defines/index", "autoapi/bittensor/utils/btlogging/format/index", "autoapi/bittensor/utils/btlogging/helpers/index", "autoapi/bittensor/utils/btlogging/index", "autoapi/bittensor/utils/btlogging/levels/index", "autoapi/bittensor/utils/btlogging/loggingmachine/index", "autoapi/bittensor/utils/easy_imports/index", "autoapi/bittensor/utils/formatting/index", "autoapi/bittensor/utils/index", "autoapi/bittensor/utils/liquidity/index", "autoapi/bittensor/utils/networking/index", "autoapi/bittensor/utils/registration/async_pow/index", "autoapi/bittensor/utils/registration/index", "autoapi/bittensor/utils/registration/pow/index", "autoapi/bittensor/utils/registration/register_cuda/index", "autoapi/bittensor/utils/subnets/index", "autoapi/bittensor/utils/substrate_utils/hasher/index", "autoapi/bittensor/utils/substrate_utils/index", "autoapi/bittensor/utils/substrate_utils/storage/index", "autoapi/bittensor/utils/version/index", "autoapi/bittensor/utils/weight_utils/index", "autoapi/index", "index"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1}, "filenames": ["autoapi/bittensor/core/async_subtensor/index.rst", "autoapi/bittensor/core/axon/index.rst", "autoapi/bittensor/core/chain_data/axon_info/index.rst", "autoapi/bittensor/core/chain_data/chain_identity/index.rst", "autoapi/bittensor/core/chain_data/delegate_info/index.rst", "autoapi/bittensor/core/chain_data/delegate_info_lite/index.rst", "autoapi/bittensor/core/chain_data/dynamic_info/index.rst", "autoapi/bittensor/core/chain_data/index.rst", "autoapi/bittensor/core/chain_data/info_base/index.rst", "autoapi/bittensor/core/chain_data/ip_info/index.rst", "autoapi/bittensor/core/chain_data/metagraph_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info_lite/index.rst", "autoapi/bittensor/core/chain_data/prometheus_info/index.rst", "autoapi/bittensor/core/chain_data/proposal_vote_data/index.rst", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.rst", "autoapi/bittensor/core/chain_data/sim_swap/index.rst", "autoapi/bittensor/core/chain_data/stake_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.rst", "autoapi/bittensor/core/chain_data/subnet_identity/index.rst", "autoapi/bittensor/core/chain_data/subnet_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_state/index.rst", "autoapi/bittensor/core/chain_data/utils/index.rst", "autoapi/bittensor/core/chain_data/weight_commit_info/index.rst", "autoapi/bittensor/core/config/index.rst", "autoapi/bittensor/core/dendrite/index.rst", "autoapi/bittensor/core/errors/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/children/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/mechanism/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/registration/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/root/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/serving/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/staking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/sudo/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/take/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/utils/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/weights/index.rst", "autoapi/bittensor/core/extrinsics/children/index.rst", "autoapi/bittensor/core/extrinsics/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/commit_weights/index.rst", "autoapi/bittensor/core/extrinsics/index.rst", "autoapi/bittensor/core/extrinsics/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/mechanism/index.rst", "autoapi/bittensor/core/extrinsics/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/params/children/index.rst", "autoapi/bittensor/core/extrinsics/params/index.rst", "autoapi/bittensor/core/extrinsics/params/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/params/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/params/registration/index.rst", "autoapi/bittensor/core/extrinsics/params/root/index.rst", "autoapi/bittensor/core/extrinsics/params/serving/index.rst", "autoapi/bittensor/core/extrinsics/params/staking/index.rst", "autoapi/bittensor/core/extrinsics/params/start_call/index.rst", "autoapi/bittensor/core/extrinsics/params/take/index.rst", "autoapi/bittensor/core/extrinsics/params/transfer/index.rst", "autoapi/bittensor/core/extrinsics/params/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/params/weights/index.rst", "autoapi/bittensor/core/extrinsics/registration/index.rst", "autoapi/bittensor/core/extrinsics/root/index.rst", "autoapi/bittensor/core/extrinsics/serving/index.rst", "autoapi/bittensor/core/extrinsics/set_weights/index.rst", "autoapi/bittensor/core/extrinsics/staking/index.rst", "autoapi/bittensor/core/extrinsics/start_call/index.rst", "autoapi/bittensor/core/extrinsics/sudo/index.rst", "autoapi/bittensor/core/extrinsics/take/index.rst", "autoapi/bittensor/core/extrinsics/transfer/index.rst", "autoapi/bittensor/core/extrinsics/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/utils/index.rst", "autoapi/bittensor/core/extrinsics/weights/index.rst", "autoapi/bittensor/core/index.rst", "autoapi/bittensor/core/metagraph/index.rst", "autoapi/bittensor/core/settings/index.rst", "autoapi/bittensor/core/stream/index.rst", "autoapi/bittensor/core/subtensor/index.rst", "autoapi/bittensor/core/subtensor_api/chain/index.rst", "autoapi/bittensor/core/subtensor_api/commitments/index.rst", "autoapi/bittensor/core/subtensor_api/delegates/index.rst", "autoapi/bittensor/core/subtensor_api/extrinsics/index.rst", "autoapi/bittensor/core/subtensor_api/index.rst", "autoapi/bittensor/core/subtensor_api/metagraphs/index.rst", "autoapi/bittensor/core/subtensor_api/neurons/index.rst", "autoapi/bittensor/core/subtensor_api/queries/index.rst", "autoapi/bittensor/core/subtensor_api/staking/index.rst", "autoapi/bittensor/core/subtensor_api/subnets/index.rst", "autoapi/bittensor/core/subtensor_api/utils/index.rst", "autoapi/bittensor/core/subtensor_api/wallets/index.rst", "autoapi/bittensor/core/synapse/index.rst", "autoapi/bittensor/core/tensor/index.rst", "autoapi/bittensor/core/threadpool/index.rst", "autoapi/bittensor/core/timelock/index.rst", "autoapi/bittensor/core/types/index.rst", "autoapi/bittensor/extras/dev_framework/calls/index.rst", "autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index.rst", "autoapi/bittensor/extras/dev_framework/calls/pallets/index.rst", "autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index.rst", "autoapi/bittensor/extras/dev_framework/index.rst", "autoapi/bittensor/extras/dev_framework/subnet/index.rst", "autoapi/bittensor/extras/dev_framework/utils/index.rst", "autoapi/bittensor/extras/index.rst", "autoapi/bittensor/extras/subtensor_api/chain/index.rst", "autoapi/bittensor/extras/subtensor_api/commitments/index.rst", "autoapi/bittensor/extras/subtensor_api/delegates/index.rst", "autoapi/bittensor/extras/subtensor_api/extrinsics/index.rst", "autoapi/bittensor/extras/subtensor_api/index.rst", "autoapi/bittensor/extras/subtensor_api/metagraphs/index.rst", "autoapi/bittensor/extras/subtensor_api/neurons/index.rst", "autoapi/bittensor/extras/subtensor_api/queries/index.rst", "autoapi/bittensor/extras/subtensor_api/staking/index.rst", "autoapi/bittensor/extras/subtensor_api/subnets/index.rst", "autoapi/bittensor/extras/subtensor_api/utils/index.rst", "autoapi/bittensor/extras/subtensor_api/wallets/index.rst", "autoapi/bittensor/extras/timelock/index.rst", "autoapi/bittensor/index.rst", "autoapi/bittensor/utils/axon_utils/index.rst", "autoapi/bittensor/utils/balance/index.rst", "autoapi/bittensor/utils/btlogging/console/index.rst", "autoapi/bittensor/utils/btlogging/defines/index.rst", "autoapi/bittensor/utils/btlogging/format/index.rst", "autoapi/bittensor/utils/btlogging/helpers/index.rst", "autoapi/bittensor/utils/btlogging/index.rst", "autoapi/bittensor/utils/btlogging/levels/index.rst", "autoapi/bittensor/utils/btlogging/loggingmachine/index.rst", "autoapi/bittensor/utils/easy_imports/index.rst", "autoapi/bittensor/utils/formatting/index.rst", "autoapi/bittensor/utils/index.rst", "autoapi/bittensor/utils/liquidity/index.rst", "autoapi/bittensor/utils/networking/index.rst", "autoapi/bittensor/utils/registration/async_pow/index.rst", "autoapi/bittensor/utils/registration/index.rst", "autoapi/bittensor/utils/registration/pow/index.rst", "autoapi/bittensor/utils/registration/register_cuda/index.rst", "autoapi/bittensor/utils/subnets/index.rst", "autoapi/bittensor/utils/substrate_utils/hasher/index.rst", "autoapi/bittensor/utils/substrate_utils/index.rst", "autoapi/bittensor/utils/substrate_utils/storage/index.rst", "autoapi/bittensor/utils/version/index.rst", "autoapi/bittensor/utils/weight_utils/index.rst", "autoapi/index.rst", "index.rst"], "indexentries": {"__repr__() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.__repr__", false]], "__repr__() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.__repr__", false]], "__setattr__() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.__setattr__", false]], "__str__() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.__str__", false]], "__str__() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.__str__", false]], "access_list (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.access_list", false]], "access_list (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.access_list", false]], "access_list (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.access_list", false]], "account (bittensor.extras.dev_framework.calls.non_sudo_calls.force_release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT.account", false]], "account (bittensor.extras.dev_framework.calls.non_sudo_calls.force_slash_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT.account", false]], "account (bittensor.extras.dev_framework.calls.non_sudo_calls.release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT.account", false]], "accountid (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.AccountId", false]], "aclose_session() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.aclose_session", false]], "aclose_session() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.aclose_session", false], [25, "id0", false]], "activate_subnet (in module bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.ACTIVATE_SUBNET", false]], "activatesubnet (class in bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.ActivateSubnet", false]], "active (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.active", false]], "active (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Active", false]], "active (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.active", false]], "active (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.active", false]], "active (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.active", false]], "active (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.active", false]], "active (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.active", false]], "active (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.active", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.activity_cutoff", false]], "activity_cutoff (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.activity_cutoff", false]], "activitycutoff (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ActivityCutoff", false]], "add (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER.add", false], [99, "id37", false]], "add_args() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.add_args", false]], "add_args() (bittensor.core.subtensor_api.subtensorapi class method)": [[85, "bittensor.core.subtensor_api.SubtensorApi.add_args", false]], "add_args() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[95, "bittensor.core.threadpool.PriorityThreadPoolExecutor.add_args", false]], "add_args() (bittensor.core.types.subtensormixin class method)": [[97, "bittensor.core.types.SubtensorMixin.add_args", false]], "add_args() (bittensor.extras.subtensor_api.subtensorapi class method)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.add_args", false]], "add_args() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.add_args", false]], "add_legacy_methods() (in module bittensor.core.subtensor_api.utils)": [[91, "bittensor.core.subtensor_api.utils.add_legacy_methods", false]], "add_legacy_methods() (in module bittensor.extras.subtensor_api.utils)": [[116, "bittensor.extras.subtensor_api.utils.add_legacy_methods", false]], "add_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_liquidity", false]], "add_liquidity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.add_liquidity", false]], "add_liquidity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY", false]], "add_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_liquidity", false]], "add_liquidity() (bittensor.core.extrinsics.params.liquidity.liquidityparams class method)": [[53, "bittensor.core.extrinsics.params.liquidity.LiquidityParams.add_liquidity", false]], "add_liquidity() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.add_liquidity", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[30, "bittensor.core.extrinsics.asyncex.liquidity.add_liquidity_extrinsic", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[48, "bittensor.core.extrinsics.liquidity.add_liquidity_extrinsic", false]], "add_member (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER", false], [99, "id0", false]], "add_proxy (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY", false]], "add_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake", false]], "add_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.add_stake", false]], "add_stake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.add_stake", false]], "add_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.add_stake", false]], "add_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE", false]], "add_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake", false]], "add_stake() (bittensor.core.extrinsics.params.staking.stakingparams class method)": [[58, "bittensor.core.extrinsics.params.staking.StakingParams.add_stake", false]], "add_stake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.add_stake", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[36, "bittensor.core.extrinsics.asyncex.staking.add_stake_extrinsic", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.staking)": [[68, "bittensor.core.extrinsics.staking.add_stake_extrinsic", false]], "add_stake_limit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT", false]], "add_stake_limit() (bittensor.core.extrinsics.params.staking.stakingparams class method)": [[58, "bittensor.core.extrinsics.params.staking.StakingParams.add_stake_limit", false]], "add_stake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake_multiple", false]], "add_stake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.add_stake_multiple", false]], "add_stake_multiple (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.add_stake_multiple", false]], "add_stake_multiple (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.add_stake_multiple", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[36, "bittensor.core.extrinsics.asyncex.staking.add_stake_multiple_extrinsic", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.staking)": [[68, "bittensor.core.extrinsics.staking.add_stake_multiple_extrinsic", false]], "additional (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.additional", false]], "additional (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.additional", false]], "additional (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.additional", false]], "additional (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.additional", false]], "address (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.address", false]], "addresses (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.addresses", false]], "adjust_senate (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_alpha", false]], "adjustment_alpha (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.adjustment_alpha", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_interval", false]], "adjustment_interval (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.adjustment_interval", false]], "adjustmentalpha (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentAlpha", false]], "adjustmentinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentInterval", false]], "adminutils (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.AdminUtils", false]], "after (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.after", false]], "after (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.after", false]], "after_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_debug", false]], "after_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_trace", false]], "after_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_debug", false]], "after_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_default", false]], "after_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_info", false]], "after_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_trace", false]], "after_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_warning", false]], "after_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_transition", false]], "all_indices() (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex static method)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.all_indices", false]], "all_logger_names() (in module bittensor.utils.btlogging.helpers)": [[125, "bittensor.utils.btlogging.helpers.all_logger_names", false]], "all_loggers() (in module bittensor.utils.btlogging.helpers)": [[125, "bittensor.utils.btlogging.helpers.all_loggers", false]], "all_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.all_subnets", false]], "all_subnets (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.all_subnets", false]], "all_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.all_subnets", false]], "all_subnets() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.all_subnets", false]], "allow_partial (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.allow_partial", false]], "allow_partial (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.allow_partial", false]], "allow_partial (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.allow_partial", false]], "allowed_delta (in module bittensor.utils.axon_utils)": [[120, "bittensor.utils.axon_utils.ALLOWED_DELTA", false]], "allowed_nonce_window_ns() (in module bittensor.utils.axon_utils)": [[120, "bittensor.utils.axon_utils.allowed_nonce_window_ns", false]], "alpha (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_moving_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA.alpha", false]], "alpha_amount (bittensor.core.chain_data.sim_swap.simswapresult attribute)": [[16, "bittensor.core.chain_data.sim_swap.SimSwapResult.alpha_amount", false]], "alpha_amount (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.alpha_amount", false]], "alpha_amount (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.alpha_amount", false]], "alpha_amount (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.alpha_amount", false]], "alpha_amount (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.alpha_amount", false]], "alpha_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_dividends_per_hotkey", false]], "alpha_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.alpha_dividends_per_hotkey", false]], "alpha_fee (bittensor.core.chain_data.sim_swap.simswapresult attribute)": [[16, "bittensor.core.chain_data.sim_swap.SimSwapResult.alpha_fee", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_high", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_high", false]], "alpha_high (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_high", false]], "alpha_high (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.alpha_high", false]], "alpha_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_in", false]], "alpha_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_in_emission", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_low", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_low", false]], "alpha_low (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_low", false]], "alpha_low (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.alpha_low", false]], "alpha_out (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_out", false]], "alpha_out_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_out_emission", false]], "alpha_sigmoid_steepness (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_sigmoid_steepness", false]], "alpha_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_slippage", false]], "alpha_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_stake", false]], "alpha_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.alpha_stake", false]], "alpha_to_tao() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao", false]], "alpha_to_tao_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao_with_slippage", false]], "alphadividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaDividendsPerHotkey", false]], "alphahigh (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaHigh", false]], "alphain (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaIn", false]], "alphainemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaInEmission", false]], "alphalow (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaLow", false]], "alphaout (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOut", false]], "alphaoutemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOutEmission", false]], "alphastake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaStake", false]], "amount (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.amount", false]], "amount (bittensor.extras.dev_framework.calls.non_sudo_calls.contribute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE.amount", false]], "amount (bittensor.extras.dev_framework.calls.non_sudo_calls.force_unreserve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE.amount", false]], "amount (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.amount", false]], "amount_staked (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.amount_staked", false]], "amount_staked (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.amount_staked", false]], "amount_unstaked (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.amount_unstaked", false]], "amount_unstaked (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.amount_unstaked", false]], "announce (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE", false]], "app (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.app", false]], "apply_authorized_upgrade (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE", false]], "approve (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.approve", false], [99, "id42", false]], "approve_as_multi (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI", false]], "aquery() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.aquery", false]], "arbitration_block (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.arbitration_block", false]], "archive_entrypoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.ARCHIVE_ENTRYPOINT", false]], "as (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.AS", false]], "as_derivative (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE", false]], "as_multi (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI", false]], "as_multi_threshold_1 (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1", false]], "as_origin (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS.as_origin", false]], "as_origin (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as_fallible attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE.as_origin", false]], "associate_evm_key (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY", false]], "async_execute_one() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.async_execute_one", false]], "async_execute_steps() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.async_execute_steps", false]], "async_metagraph() (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.async_metagraph", false]], "async_set_hyperparameter() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.async_set_hyperparameter", false]], "async_subtensor (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.async_subtensor", false]], "async_wait_next_epoch() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.async_wait_next_epoch", false]], "asyncmetagraph (class in bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.AsyncMetagraph", false]], "asyncsubtensor (class in bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor", false]], "attach() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.attach", false]], "authorization_list (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.authorization_list", false]], "authorization_list (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.authorization_list", false]], "authorization_list (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.authorization_list", false]], "authorize_upgrade (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE", false]], "authorize_upgrade_without_checks (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS", false]], "axon (bittensor.core.axon.axonmiddleware attribute)": [[1, "bittensor.core.axon.AxonMiddleware.axon", false]], "axon (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.axon", false]], "axon (class in bittensor.core.axon)": [[1, "bittensor.core.axon.Axon", false]], "axon (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.axon", false]], "axon_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.axon_info", false]], "axon_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.axon_info", false]], "axoninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.AxonInfo", false]], "axoninfo (class in bittensor.core.chain_data.axon_info)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo", false]], "axonmiddleware (class in bittensor.core.axon)": [[1, "bittensor.core.axon.AxonMiddleware", false]], "axons (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.axons", false]], "axons (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Axons", false]], "axons (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.axons", false]], "axonservecallparams (class in bittensor.core.types)": [[97, "bittensor.core.types.AxonServeCallParams", false]], "ayes (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.ayes", false]], "b (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.B", false]], "balance (class in bittensor.utils.balance)": [[121, "bittensor.utils.balance.Balance", false]], "balances (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Balances", false]], "base_log_format (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.BASE_LOG_FORMAT", false]], "baseclass (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.BaseClass", false]], "basefee (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.BaseFee", false]], "basemodel (in module bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.BaseModel", false]], "batch (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH", false]], "batch_all (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL", false]], "batch_commit_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS", false]], "batch_reveal_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS", false]], "batch_set_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS", false]], "before_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_debug", false]], "before_disable_logging() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_logging", false]], "before_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_trace", false]], "before_enable_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_console", false]], "before_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_debug", false]], "before_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_default", false]], "before_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_info", false]], "before_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_trace", false]], "before_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_warning", false]], "before_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_transition", false]], "best_finalized_block_number (bittensor.extras.dev_framework.calls.non_sudo_calls.note_stalled attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED.best_finalized_block_number", false]], "bits (bittensor.utils.balance.fixedpoint attribute)": [[121, "bittensor.utils.balance.FixedPoint.bits", false]], "bittensor": [[119, "module-bittensor", false]], "bittensor.core": [[76, "module-bittensor.core", false]], "bittensor.core.async_subtensor": [[0, "module-bittensor.core.async_subtensor", false]], "bittensor.core.axon": [[1, "module-bittensor.core.axon", false]], "bittensor.core.chain_data": [[7, "module-bittensor.core.chain_data", false]], "bittensor.core.chain_data.axon_info": [[2, "module-bittensor.core.chain_data.axon_info", false]], "bittensor.core.chain_data.chain_identity": [[3, "module-bittensor.core.chain_data.chain_identity", false]], "bittensor.core.chain_data.delegate_info": [[4, "module-bittensor.core.chain_data.delegate_info", false]], "bittensor.core.chain_data.delegate_info_lite": [[5, "module-bittensor.core.chain_data.delegate_info_lite", false]], "bittensor.core.chain_data.dynamic_info": [[6, "module-bittensor.core.chain_data.dynamic_info", false]], "bittensor.core.chain_data.info_base": [[8, "module-bittensor.core.chain_data.info_base", false]], "bittensor.core.chain_data.ip_info": [[9, "module-bittensor.core.chain_data.ip_info", false]], "bittensor.core.chain_data.metagraph_info": [[10, "module-bittensor.core.chain_data.metagraph_info", false]], "bittensor.core.chain_data.neuron_info": [[11, "module-bittensor.core.chain_data.neuron_info", false]], "bittensor.core.chain_data.neuron_info_lite": [[12, "module-bittensor.core.chain_data.neuron_info_lite", false]], "bittensor.core.chain_data.prometheus_info": [[13, "module-bittensor.core.chain_data.prometheus_info", false]], "bittensor.core.chain_data.proposal_vote_data": [[14, "module-bittensor.core.chain_data.proposal_vote_data", false]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false]], "bittensor.core.chain_data.sim_swap": [[16, "module-bittensor.core.chain_data.sim_swap", false]], "bittensor.core.chain_data.stake_info": [[17, "module-bittensor.core.chain_data.stake_info", false]], "bittensor.core.chain_data.subnet_hyperparameters": [[18, "module-bittensor.core.chain_data.subnet_hyperparameters", false]], "bittensor.core.chain_data.subnet_identity": [[19, "module-bittensor.core.chain_data.subnet_identity", false]], "bittensor.core.chain_data.subnet_info": [[20, "module-bittensor.core.chain_data.subnet_info", false]], "bittensor.core.chain_data.subnet_state": [[21, "module-bittensor.core.chain_data.subnet_state", false]], "bittensor.core.chain_data.utils": [[22, "module-bittensor.core.chain_data.utils", false]], "bittensor.core.chain_data.weight_commit_info": [[23, "module-bittensor.core.chain_data.weight_commit_info", false]], "bittensor.core.config": [[24, "module-bittensor.core.config", false]], "bittensor.core.dendrite": [[25, "module-bittensor.core.dendrite", false]], "bittensor.core.errors": [[26, "module-bittensor.core.errors", false]], "bittensor.core.extrinsics": [[47, "module-bittensor.core.extrinsics", false]], "bittensor.core.extrinsics.asyncex": [[29, "module-bittensor.core.extrinsics.asyncex", false]], "bittensor.core.extrinsics.asyncex.children": [[27, "module-bittensor.core.extrinsics.asyncex.children", false]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[28, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false]], "bittensor.core.extrinsics.asyncex.liquidity": [[30, "module-bittensor.core.extrinsics.asyncex.liquidity", false]], "bittensor.core.extrinsics.asyncex.mechanism": [[31, "module-bittensor.core.extrinsics.asyncex.mechanism", false]], "bittensor.core.extrinsics.asyncex.move_stake": [[32, "module-bittensor.core.extrinsics.asyncex.move_stake", false]], "bittensor.core.extrinsics.asyncex.registration": [[33, "module-bittensor.core.extrinsics.asyncex.registration", false]], "bittensor.core.extrinsics.asyncex.root": [[34, "module-bittensor.core.extrinsics.asyncex.root", false]], "bittensor.core.extrinsics.asyncex.serving": [[35, "module-bittensor.core.extrinsics.asyncex.serving", false]], "bittensor.core.extrinsics.asyncex.staking": [[36, "module-bittensor.core.extrinsics.asyncex.staking", false]], "bittensor.core.extrinsics.asyncex.start_call": [[37, "module-bittensor.core.extrinsics.asyncex.start_call", false]], "bittensor.core.extrinsics.asyncex.sudo": [[38, "module-bittensor.core.extrinsics.asyncex.sudo", false]], "bittensor.core.extrinsics.asyncex.take": [[39, "module-bittensor.core.extrinsics.asyncex.take", false]], "bittensor.core.extrinsics.asyncex.transfer": [[40, "module-bittensor.core.extrinsics.asyncex.transfer", false]], "bittensor.core.extrinsics.asyncex.unstaking": [[41, "module-bittensor.core.extrinsics.asyncex.unstaking", false]], "bittensor.core.extrinsics.asyncex.utils": [[42, "module-bittensor.core.extrinsics.asyncex.utils", false]], "bittensor.core.extrinsics.asyncex.weights": [[43, "module-bittensor.core.extrinsics.asyncex.weights", false]], "bittensor.core.extrinsics.children": [[44, "module-bittensor.core.extrinsics.children", false]], "bittensor.core.extrinsics.commit_reveal": [[45, "module-bittensor.core.extrinsics.commit_reveal", false]], "bittensor.core.extrinsics.commit_weights": [[46, "module-bittensor.core.extrinsics.commit_weights", false]], "bittensor.core.extrinsics.liquidity": [[48, "module-bittensor.core.extrinsics.liquidity", false]], "bittensor.core.extrinsics.mechanism": [[49, "module-bittensor.core.extrinsics.mechanism", false]], "bittensor.core.extrinsics.move_stake": [[50, "module-bittensor.core.extrinsics.move_stake", false]], "bittensor.core.extrinsics.params": [[52, "module-bittensor.core.extrinsics.params", false]], "bittensor.core.extrinsics.params.children": [[51, "module-bittensor.core.extrinsics.params.children", false]], "bittensor.core.extrinsics.params.liquidity": [[53, "module-bittensor.core.extrinsics.params.liquidity", false]], "bittensor.core.extrinsics.params.move_stake": [[54, "module-bittensor.core.extrinsics.params.move_stake", false]], "bittensor.core.extrinsics.params.registration": [[55, "module-bittensor.core.extrinsics.params.registration", false]], "bittensor.core.extrinsics.params.root": [[56, "module-bittensor.core.extrinsics.params.root", false]], "bittensor.core.extrinsics.params.serving": [[57, "module-bittensor.core.extrinsics.params.serving", false]], "bittensor.core.extrinsics.params.staking": [[58, "module-bittensor.core.extrinsics.params.staking", false]], "bittensor.core.extrinsics.params.start_call": [[59, "module-bittensor.core.extrinsics.params.start_call", false]], "bittensor.core.extrinsics.params.take": [[60, "module-bittensor.core.extrinsics.params.take", false]], "bittensor.core.extrinsics.params.transfer": [[61, "module-bittensor.core.extrinsics.params.transfer", false]], "bittensor.core.extrinsics.params.unstaking": [[62, "module-bittensor.core.extrinsics.params.unstaking", false]], "bittensor.core.extrinsics.params.weights": [[63, "module-bittensor.core.extrinsics.params.weights", false]], "bittensor.core.extrinsics.registration": [[64, "module-bittensor.core.extrinsics.registration", false]], "bittensor.core.extrinsics.root": [[65, "module-bittensor.core.extrinsics.root", false]], "bittensor.core.extrinsics.serving": [[66, "module-bittensor.core.extrinsics.serving", false]], "bittensor.core.extrinsics.set_weights": [[67, "module-bittensor.core.extrinsics.set_weights", false]], "bittensor.core.extrinsics.staking": [[68, "module-bittensor.core.extrinsics.staking", false]], "bittensor.core.extrinsics.start_call": [[69, "module-bittensor.core.extrinsics.start_call", false]], "bittensor.core.extrinsics.sudo": [[70, "module-bittensor.core.extrinsics.sudo", false]], "bittensor.core.extrinsics.take": [[71, "module-bittensor.core.extrinsics.take", false]], "bittensor.core.extrinsics.transfer": [[72, "module-bittensor.core.extrinsics.transfer", false]], "bittensor.core.extrinsics.unstaking": [[73, "module-bittensor.core.extrinsics.unstaking", false]], "bittensor.core.extrinsics.utils": [[74, "module-bittensor.core.extrinsics.utils", false]], "bittensor.core.extrinsics.weights": [[75, "module-bittensor.core.extrinsics.weights", false]], "bittensor.core.metagraph": [[77, "module-bittensor.core.metagraph", false]], "bittensor.core.settings": [[78, "module-bittensor.core.settings", false]], "bittensor.core.stream": [[79, "module-bittensor.core.stream", false]], "bittensor.core.subtensor": [[80, "module-bittensor.core.subtensor", false]], "bittensor.core.subtensor_api": [[85, "module-bittensor.core.subtensor_api", false]], "bittensor.core.subtensor_api.chain": [[81, "module-bittensor.core.subtensor_api.chain", false]], "bittensor.core.subtensor_api.commitments": [[82, "module-bittensor.core.subtensor_api.commitments", false]], "bittensor.core.subtensor_api.delegates": [[83, "module-bittensor.core.subtensor_api.delegates", false]], "bittensor.core.subtensor_api.extrinsics": [[84, "module-bittensor.core.subtensor_api.extrinsics", false]], "bittensor.core.subtensor_api.metagraphs": [[86, "module-bittensor.core.subtensor_api.metagraphs", false]], "bittensor.core.subtensor_api.neurons": [[87, "module-bittensor.core.subtensor_api.neurons", false]], "bittensor.core.subtensor_api.queries": [[88, "module-bittensor.core.subtensor_api.queries", false]], "bittensor.core.subtensor_api.staking": [[89, "module-bittensor.core.subtensor_api.staking", false]], "bittensor.core.subtensor_api.subnets": [[90, "module-bittensor.core.subtensor_api.subnets", false]], "bittensor.core.subtensor_api.utils": [[91, "module-bittensor.core.subtensor_api.utils", false]], "bittensor.core.subtensor_api.wallets": [[92, "module-bittensor.core.subtensor_api.wallets", false]], "bittensor.core.synapse": [[93, "module-bittensor.core.synapse", false]], "bittensor.core.tensor": [[94, "module-bittensor.core.tensor", false]], "bittensor.core.threadpool": [[95, "module-bittensor.core.threadpool", false]], "bittensor.core.timelock": [[96, "module-bittensor.core.timelock", false]], "bittensor.core.types": [[97, "module-bittensor.core.types", false]], "bittensor.extras": [[105, "module-bittensor.extras", false]], "bittensor.extras.dev_framework": [[102, "module-bittensor.extras.dev_framework", false]], "bittensor.extras.dev_framework.calls": [[98, "module-bittensor.extras.dev_framework.calls", false]], "bittensor.extras.dev_framework.calls.non_sudo_calls": [[99, "module-bittensor.extras.dev_framework.calls.non_sudo_calls", false]], "bittensor.extras.dev_framework.calls.pallets": [[100, "module-bittensor.extras.dev_framework.calls.pallets", false]], "bittensor.extras.dev_framework.calls.sudo_calls": [[101, "module-bittensor.extras.dev_framework.calls.sudo_calls", false]], "bittensor.extras.dev_framework.subnet": [[103, "module-bittensor.extras.dev_framework.subnet", false]], "bittensor.extras.dev_framework.utils": [[104, "module-bittensor.extras.dev_framework.utils", false]], "bittensor.extras.subtensor_api": [[110, "module-bittensor.extras.subtensor_api", false]], "bittensor.extras.subtensor_api.chain": [[106, "module-bittensor.extras.subtensor_api.chain", false]], "bittensor.extras.subtensor_api.commitments": [[107, "module-bittensor.extras.subtensor_api.commitments", false]], "bittensor.extras.subtensor_api.delegates": [[108, "module-bittensor.extras.subtensor_api.delegates", false]], "bittensor.extras.subtensor_api.extrinsics": [[109, "module-bittensor.extras.subtensor_api.extrinsics", false]], "bittensor.extras.subtensor_api.metagraphs": [[111, "module-bittensor.extras.subtensor_api.metagraphs", false]], "bittensor.extras.subtensor_api.neurons": [[112, "module-bittensor.extras.subtensor_api.neurons", false]], "bittensor.extras.subtensor_api.queries": [[113, "module-bittensor.extras.subtensor_api.queries", false]], "bittensor.extras.subtensor_api.staking": [[114, "module-bittensor.extras.subtensor_api.staking", false]], "bittensor.extras.subtensor_api.subnets": [[115, "module-bittensor.extras.subtensor_api.subnets", false]], "bittensor.extras.subtensor_api.utils": [[116, "module-bittensor.extras.subtensor_api.utils", false]], "bittensor.extras.subtensor_api.wallets": [[117, "module-bittensor.extras.subtensor_api.wallets", false]], "bittensor.extras.timelock": [[118, "module-bittensor.extras.timelock", false]], "bittensor.utils": [[131, "module-bittensor.utils", false]], "bittensor.utils.axon_utils": [[120, "module-bittensor.utils.axon_utils", false]], "bittensor.utils.balance": [[121, "module-bittensor.utils.balance", false]], "bittensor.utils.btlogging": [[126, "module-bittensor.utils.btlogging", false]], "bittensor.utils.btlogging.console": [[122, "module-bittensor.utils.btlogging.console", false]], "bittensor.utils.btlogging.defines": [[123, "module-bittensor.utils.btlogging.defines", false]], "bittensor.utils.btlogging.format": [[124, "module-bittensor.utils.btlogging.format", false]], "bittensor.utils.btlogging.helpers": [[125, "module-bittensor.utils.btlogging.helpers", false]], "bittensor.utils.btlogging.levels": [[127, "module-bittensor.utils.btlogging.levels", false]], "bittensor.utils.btlogging.loggingmachine": [[128, "module-bittensor.utils.btlogging.loggingmachine", false]], "bittensor.utils.easy_imports": [[129, "module-bittensor.utils.easy_imports", false]], "bittensor.utils.formatting": [[130, "module-bittensor.utils.formatting", false]], "bittensor.utils.liquidity": [[132, "module-bittensor.utils.liquidity", false]], "bittensor.utils.networking": [[133, "module-bittensor.utils.networking", false]], "bittensor.utils.registration": [[135, "module-bittensor.utils.registration", false]], "bittensor.utils.registration.async_pow": [[134, "module-bittensor.utils.registration.async_pow", false]], "bittensor.utils.registration.pow": [[136, "module-bittensor.utils.registration.pow", false]], "bittensor.utils.registration.register_cuda": [[137, "module-bittensor.utils.registration.register_cuda", false]], "bittensor.utils.subnets": [[138, "module-bittensor.utils.subnets", false]], "bittensor.utils.substrate_utils": [[140, "module-bittensor.utils.substrate_utils", false]], "bittensor.utils.substrate_utils.hasher": [[139, "module-bittensor.utils.substrate_utils.hasher", false]], "bittensor.utils.substrate_utils.storage": [[141, "module-bittensor.utils.substrate_utils.storage", false]], "bittensor.utils.version": [[142, "module-bittensor.utils.version", false]], "bittensor.utils.weight_utils": [[143, "module-bittensor.utils.weight_utils", false]], "bittensor_logger_name (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.BITTENSOR_LOGGER_NAME", false]], "bittensorconsole (class in bittensor.utils.btlogging.console)": [[122, "bittensor.utils.btlogging.console.BittensorConsole", false]], "blacklist() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.blacklist", false]], "blacklist_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.blacklist_fns", false]], "blacklistedexception": [[26, "bittensor.core.errors.BlacklistedException", false]], "blake2_128() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.blake2_128", false]], "blake2_128_concat() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.blake2_128_concat", false]], "blake2_256() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.blake2_256", false]], "block (bittensor.core.async_subtensor.asyncsubtensor property)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.block", false]], "block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block", false]], "block (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Block", false]], "block (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.block", false]], "block (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.block", false]], "block (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.block", false]], "block (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.block", false]], "block (bittensor.core.subtensor.subtensor property)": [[80, "bittensor.core.subtensor.Subtensor.block", false]], "block (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.block", false]], "block (bittensor.extras.dev_framework.calls.non_sudo_calls.force_release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT.block", false]], "block (bittensor.extras.dev_framework.calls.non_sudo_calls.force_slash_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT.block", false]], "block (bittensor.extras.dev_framework.calls.non_sudo_calls.release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT.block", false]], "block (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.block", false]], "block_at_registration (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block_at_registration", false]], "block_at_registration (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.block_at_registration", false]], "block_at_registration (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.block_at_registration", false]], "block_hash (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.block_hash", false]], "block_number (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.block_number", false]], "block_number (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.block_number", false]], "block_number (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.block_number", false]], "block_number (bittensor.utils.registration.pow.powsolution attribute)": [[136, "bittensor.utils.registration.pow.POWSolution.block_number", false]], "block_number (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.block_number", false]], "blockatregistration (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlockAtRegistration", false]], "blocknotfound (in module bittensor.core.errors)": [[26, "bittensor.core.errors.BlockNotFound", false]], "blocks_since_epoch (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.blocks_since_epoch", false]], "blocks_since_last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.blocks_since_last_step", false]], "blocks_since_last_update (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_update", false]], "blocks_since_last_update (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.blocks_since_last_update", false]], "blockssincelaststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlocksSinceLastStep", false]], "blocktime (in module bittensor.core.settings)": [[78, "bittensor.core.settings.BLOCKTIME", false]], "body_hash (bittensor.core.synapse.synapse property)": [[93, "id0", false]], "body_hash() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.body_hash", false]], "bonds (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.bonds", false]], "bonds (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.bonds", false]], "bonds (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.bonds", false]], "bonds (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.bonds", false]], "bonds (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.bonds", false]], "bonds (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.bonds", false]], "bonds() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.bonds", false]], "bonds() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.bonds", false]], "bonds_moving_average (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.bonds_moving_average", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_moving_avg", false]], "bonds_penalty (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.bonds_penalty", false]], "bonds_reset_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_reset_enabled", false]], "bondsmovingavg (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BondsMovingAvg", false]], "brokenthreadpool": [[95, "bittensor.core.threadpool.BrokenThreadPool", false]], "bt_docs_link (in module bittensor.utils)": [[131, "bittensor.utils.BT_DOCS_LINK", false]], "btfileformatter (class in bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.BtFileFormatter", false]], "btstreamformatter (class in bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.BtStreamFormatter", false]], "btstreamingresponsemodel (class in bittensor.core.stream)": [[79, "bittensor.core.stream.BTStreamingResponseModel", false]], "buffer (bittensor.core.tensor.tensor attribute)": [[94, "bittensor.core.tensor.Tensor.buffer", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Burn", false]], "burn (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.burn", false]], "burn (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ck_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN.burn", false]], "burn (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN", false]], "burn_alpha (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA", false]], "burned_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.burned_register", false]], "burned_register (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.burned_register", false]], "burned_register (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.burned_register", false]], "burned_register (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER", false]], "burned_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.burned_register", false]], "burned_register() (bittensor.core.extrinsics.params.registration.registrationparams class method)": [[55, "bittensor.core.extrinsics.params.registration.RegistrationParams.burned_register", false]], "burned_register() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.burned_register", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[33, "bittensor.core.extrinsics.asyncex.registration.burned_register_extrinsic", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[64, "bittensor.core.extrinsics.registration.burned_register_extrinsic", false]], "bytes (bittensor.extras.dev_framework.calls.non_sudo_calls.note_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE.bytes", false]], "c (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.C", false]], "calculate_diff_seconds() (in module bittensor.utils.axon_utils)": [[120, "bittensor.utils.axon_utils.calculate_diff_seconds", false]], "calculate_fees() (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.calculate_fees", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.as_derivative attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi_threshold_1 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as_fallible attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.sudo attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO.call", false], [99, "id33", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.with_weight attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT.call", false]], "call (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.call", false]], "call (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.call", false], [101, "id1", false]], "call (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL", false]], "call() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.call", false]], "call() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.call", false], [25, "id3", false]], "call() (in module bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.call", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.announce attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.reject_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT.call_hash", false]], "call_record (class in bittensor.extras.dev_framework.subnet)": [[103, "bittensor.extras.dev_framework.subnet.CALL_RECORD", false]], "call_stream() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.call_stream", false]], "call_stream() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.call_stream", false], [25, "id4", false]], "calls (bittensor.extras.dev_framework.calls.non_sudo_calls.batch attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH.calls", false]], "calls (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL.calls", false]], "calls (bittensor.extras.dev_framework.calls.non_sudo_calls.force_batch attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH.calls", false]], "calls (bittensor.extras.dev_framework.subnet.testsubnet property)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.calls", false]], "cancel (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL", false]], "cancel_as_multi (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI", false]], "cancel_named (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED", false]], "cancel_retry (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY", false]], "cancel_retry_named (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED", false]], "cap (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.cap", false]], "cast_dtype() (in module bittensor.core.tensor)": [[94, "bittensor.core.tensor.cast_dtype", false]], "cast_float() (in module bittensor.core.synapse)": [[93, "bittensor.core.synapse.cast_float", false]], "cast_int() (in module bittensor.core.synapse)": [[93, "bittensor.core.synapse.cast_int", false]], "cast_shape() (in module bittensor.core.tensor)": [[94, "bittensor.core.tensor.cast_shape", false]], "certificate (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.certificate", false]], "certificate (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.certificate", false]], "certificate (class in bittensor.utils)": [[131, "bittensor.utils.Certificate", false]], "chain (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.chain", false]], "chain (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.chain", false]], "chain (class in bittensor.core.subtensor_api.chain)": [[81, "bittensor.core.subtensor_api.chain.Chain", false]], "chain (class in bittensor.extras.subtensor_api.chain)": [[106, "bittensor.extras.subtensor_api.chain.Chain", false]], "chain_endpoint (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.chain_endpoint", false]], "chain_endpoint (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.chain_endpoint", false]], "chain_endpoint (bittensor.core.types.subtensormixin attribute)": [[97, "bittensor.core.types.SubtensorMixin.chain_endpoint", false]], "chain_endpoint (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.chain_endpoint", false]], "chain_id (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_evm_chain_id attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID.chain_id", false]], "chainconnectionerror": [[26, "bittensor.core.errors.ChainConnectionError", false]], "chaindatatype (class in bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.ChainDataType", false]], "chainerror": [[26, "bittensor.core.errors.ChainError", false]], "chainidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.ChainIdentity", false]], "chainidentity (class in bittensor.core.chain_data.chain_identity)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity", false]], "chainqueryerror": [[26, "bittensor.core.errors.ChainQueryError", false]], "chaintransactionerror": [[26, "bittensor.core.errors.ChainTransactionError", false]], "change_key (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY", false], [99, "id4", false]], "check_and_convert_to_balance() (in module bittensor.utils.balance)": [[121, "bittensor.utils.balance.check_and_convert_to_balance", false]], "check_config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.check_config", false]], "check_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.check_config", false]], "check_latest_version_in_pypi() (in module bittensor.utils.version)": [[142, "bittensor.utils.version.check_latest_version_in_pypi", false]], "check_version (in module bittensor.utils)": [[131, "bittensor.utils.check_version", false]], "check_version() (in module bittensor.utils.version)": [[142, "bittensor.utils.version.check_version", false]], "children (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.children", false]], "childrenparams (class in bittensor.core.extrinsics.params.children)": [[51, "bittensor.core.extrinsics.params.children.ChildrenParams", false]], "clear_identity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY", false]], "clear_prime (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME", false], [99, "id8", false]], "close (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.close", false]], "close (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.close", false]], "close (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE", false]], "close() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.close", false]], "close() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.close", false]], "close_session() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.close_session", false]], "close_session() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.close_session", false], [25, "id5", false]], "code (bittensor.extras.dev_framework.calls.non_sudo_calls.apply_authorized_upgrade attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE.code", false]], "code (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE.code", false]], "code (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code_without_checks attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS.code", false]], "code_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE.code_hash", false]], "code_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade_without_checks attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS.code_hash", false]], "coldkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.coldkey", false]], "coldkey (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.coldkey", false]], "coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK.coldkey", false]], "coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.coldkey", false]], "coldkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.coldkey_ss58", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.coldkeys", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Coldkeys", false]], "coldkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.coldkeys", false]], "coldkeys (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.coldkeys", false]], "color_map (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.color_map", false]], "commit (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.commit", false]], "commit (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.commit", false]], "commit (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.commit", false]], "commit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit", false]], "commit() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.commit", false]], "commit_block (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_block", false]], "commit_crv3_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS", false]], "commit_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.commit_hash", false]], "commit_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS.commit_hash", false]], "commit_hashes (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS.commit_hashes", false]], "commit_hex (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_hex", false]], "commit_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS", false]], "commit_mechanism_weights() (bittensor.core.extrinsics.params.weights.weightsparams class method)": [[63, "bittensor.core.extrinsics.params.weights.WeightsParams.commit_mechanism_weights", false]], "commit_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.mechanism)": [[31, "bittensor.core.extrinsics.asyncex.mechanism.commit_mechanism_weights_extrinsic", false]], "commit_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.mechanism)": [[49, "bittensor.core.extrinsics.mechanism.commit_mechanism_weights_extrinsic", false]], "commit_reveal_enabled (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.commit_reveal_enabled", false]], "commit_reveal_enabled (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.commit_reveal_enabled", false]], "commit_reveal_enabled (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.commit_reveal_enabled", false]], "commit_reveal_enabled (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.commit_reveal_enabled", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_period", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.asyncex.commit_reveal)": [[28, "bittensor.core.extrinsics.asyncex.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.commit_reveal)": [[45, "bittensor.core.extrinsics.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_version (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.commit_reveal_version", false]], "commit_reveal_version (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.commit_reveal_version", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_weights_enabled", false]], "commit_timelocked_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS", false]], "commit_timelocked_mechanism_weights() (bittensor.core.extrinsics.params.weights.weightsparams class method)": [[63, "bittensor.core.extrinsics.params.weights.WeightsParams.commit_timelocked_mechanism_weights", false]], "commit_timelocked_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.mechanism)": [[31, "bittensor.core.extrinsics.asyncex.mechanism.commit_timelocked_mechanism_weights_extrinsic", false]], "commit_timelocked_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.mechanism)": [[49, "bittensor.core.extrinsics.mechanism.commit_timelocked_mechanism_weights_extrinsic", false]], "commit_timelocked_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS", false]], "commit_timelocked_weights_extrinsic() (in module bittensor.core.extrinsics.weights)": [[75, "bittensor.core.extrinsics.weights.commit_timelocked_weights_extrinsic", false]], "commit_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.commit_weights", false]], "commit_weights (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.commit_weights", false]], "commit_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS", false]], "commit_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_weights", false]], "commit_weights() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.commit_weights", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[43, "bittensor.core.extrinsics.asyncex.weights.commit_weights_extrinsic", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[46, "bittensor.core.extrinsics.commit_weights.commit_weights_extrinsic", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.weights)": [[75, "bittensor.core.extrinsics.weights.commit_weights_extrinsic", false]], "commitments (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commitments", false]], "commitments (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Commitments", false]], "commitments (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.commitments", false]], "commitments (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.commitments", false]], "commitments (class in bittensor.core.subtensor_api.commitments)": [[82, "bittensor.core.subtensor_api.commitments.Commitments", false]], "commitments (class in bittensor.extras.subtensor_api.commitments)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments", false]], "commitments (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Commitments", false]], "commitrevealperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealPeriod", false]], "commitrevealweightsenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealWeightsEnabled", false]], "compose_call (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.compose_call", false]], "computed_body_hash (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.computed_body_hash", false]], "config (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.config", false]], "config (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.config", false]], "config (class in bittensor.core.config)": [[24, "bittensor.core.config.Config", false]], "config (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.config", false]], "config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.config", false]], "config() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[95, "bittensor.core.threadpool.PriorityThreadPoolExecutor.config", false]], "config() (bittensor.core.types.subtensormixin static method)": [[97, "bittensor.core.types.SubtensorMixin.config", false]], "config() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.config", false]], "config_payload (bittensor.extras.dev_framework.calls.non_sudo_calls.set_beacon_config attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG.config_payload", false]], "connection_requirements (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.connection_requirements", false]], "consensus (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.consensus", false]], "consensus (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Consensus", false]], "consensus (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.consensus", false]], "consensus (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.consensus", false]], "consensus (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.consensus", false]], "consensus (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.consensus", false]], "consensus (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.consensus", false]], "consensus (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.consensus", false]], "console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.console", false]], "console (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.console", false]], "console (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.Console", false]], "contribute (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE", false]], "convert_and_normalize_weights_and_uids() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_and_normalize_weights_and_uids", false]], "convert_bond_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_bond_uids_and_vals_to_tensor", false]], "convert_maybe_split_to_u16() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_maybe_split_to_u16", false]], "convert_root_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_root_weight_uids_and_vals_to_tensor", false]], "convert_storage_parameter() (bittensor.utils.substrate_utils.storage.storagekey method)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.convert_storage_parameter", false]], "convert_uids_and_weights() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_uids_and_weights", false]], "convert_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_weight_uids_and_vals_to_tensor", false]], "convert_weights_and_uids_for_emit() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_weights_and_uids_for_emit", false]], "cooldown (bittensor.extras.dev_framework.calls.non_sudo_calls.set_pending_childkey_cooldown attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN.cooldown", false]], "copy() (bittensor.core.types.axonservecallparams method)": [[97, "bittensor.core.types.AxonServeCallParams.copy", false]], "create (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE", false], [99, "id11", false]], "create2 (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2", false]], "create_error_response() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.create_error_response", false]], "create_from_data() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_data", false]], "create_from_storage_function() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_storage_function", false]], "create_pow() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.create_pow", false]], "create_pow_async() (in module bittensor.utils.registration.async_pow)": [[134, "bittensor.utils.registration.async_pow.create_pow_async", false]], "create_pure (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE", false]], "create_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[79, "bittensor.core.stream.StreamingSynapse.create_streaming_response", false]], "critical() (bittensor.utils.btlogging.console.bittensorconsole method)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.critical", false]], "critical() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.critical", false]], "crowdloan (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Crowdloan", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.contribute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.finalize attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.refund attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.update_cap attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.update_end attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.update_min_contribution attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.crowdloan_id", false]], "cudasolver (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.CUDASolver", false]], "custom_logger_method_stack_level (in module bittensor.utils.btlogging.loggingmachine)": [[128, "bittensor.utils.btlogging.loggingmachine.CUSTOM_LOGGER_METHOD_STACK_LEVEL", false]], "d (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.D", false]], "data (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.data", false]], "date_format (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.DATE_FORMAT", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.debug", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Debug", false]], "debug() (bittensor.utils.btlogging.console.bittensorconsole method)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.debug", false]], "debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.debug", false]], "debug() (in module bittensor.utils.btlogging.levels)": [[127, "bittensor.utils.btlogging.levels.debug", false]], "debug() (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.debug", false]], "decode_account_id() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.decode_account_id", false]], "decode_account_id_list() (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo class method)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.decode_account_id_list", false]], "decode_block() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.decode_block", false]], "decode_hex_identity_dict() (in module bittensor.utils)": [[131, "bittensor.utils.decode_hex_identity_dict", false]], "decode_metadata() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.decode_metadata", false]], "decode_revealed_commitment() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.decode_revealed_commitment", false]], "decode_revealed_commitment_with_hotkey() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.decode_revealed_commitment_with_hotkey", false]], "decode_scale_value() (bittensor.utils.substrate_utils.storage.storagekey method)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.decode_scale_value", false]], "decrease_take (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[39, "bittensor.core.extrinsics.asyncex.take.decrease_take_extrinsic", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[71, "bittensor.core.extrinsics.take.decrease_take_extrinsic", false]], "decrypt() (in module bittensor.core.timelock)": [[96, "bittensor.core.timelock.decrypt", false]], "decrypt() (in module bittensor.extras.timelock)": [[118, "bittensor.extras.timelock.decrypt", false]], "default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Default", false]], "default() (bittensor.core.config.defaultconfig class method)": [[24, "bittensor.core.config.DefaultConfig.default", false]], "default_endpoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.DEFAULT_ENDPOINT", false]], "default_log_backup_count (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.DEFAULT_LOG_BACKUP_COUNT", false]], "default_log_file_name (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.DEFAULT_LOG_FILE_NAME", false]], "default_log_format (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.DEFAULT_LOG_FORMAT", false]], "default_max_rotating_log_file_size (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.DEFAULT_MAX_ROTATING_LOG_FILE_SIZE", false]], "default_network (in module bittensor.core.settings)": [[78, "bittensor.core.settings.DEFAULT_NETWORK", false]], "default_take (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_default_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE.default_take", false]], "default_trace_format (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.DEFAULT_TRACE_FORMAT", false]], "default_verify() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.default_verify", false]], "defaultconfig (class in bittensor.core.config)": [[24, "bittensor.core.config.DefaultConfig", false]], "defaults (in module bittensor.core.settings)": [[78, "bittensor.core.settings.DEFAULTS", false]], "delay (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.delay", false]], "delay (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.delay", false]], "delay (bittensor.extras.dev_framework.calls.non_sudo_calls.note_stalled attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED.delay", false]], "delay (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.delay", false]], "delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.delegate", false]], "delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.delegate", false]], "delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.reject_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT.delegate", false]], "delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.delegate", false]], "delegate_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.delegate_ss58", false]], "delegatedinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.DelegatedInfo", false]], "delegatedinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo", false]], "delegateinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.DelegateInfo", false]], "delegateinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo", false]], "delegateinfobase (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase", false]], "delegateinfolite (class in bittensor.core.chain_data.delegate_info_lite)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite", false]], "delegates (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.delegates", false]], "delegates (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.delegates", false]], "delegates (class in bittensor.core.subtensor_api.delegates)": [[83, "bittensor.core.subtensor_api.delegates.Delegates", false]], "delegates (class in bittensor.extras.subtensor_api.delegates)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates", false]], "delegatetaketoohigh": [[26, "bittensor.core.errors.DelegateTakeTooHigh", false]], "delegatetaketoolow": [[26, "bittensor.core.errors.DelegateTakeTooLow", false]], "delegatetxratelimitexceeded": [[26, "bittensor.core.errors.DelegateTxRateLimitExceeded", false]], "delta (bittensor.extras.dev_framework.calls.non_sudo_calls.force_adjust_total_issuance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE.delta", false]], "dendrite (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.dendrite", false]], "dendrite (bittensor.utils.subnets.subnetsapi attribute)": [[138, "bittensor.utils.subnets.SubnetsAPI.dendrite", false]], "dendrite (class in bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.Dendrite", false]], "dendrite (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.dendrite", false]], "dendrite_default_error (in module bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.DENDRITE_DEFAULT_ERROR", false]], "dendrite_error_mapping (in module bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.DENDRITE_ERROR_MAPPING", false]], "dendritemixin (class in bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.DendriteMixin", false]], "deposit (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.deposit", false]], "deprecated_message() (in module bittensor.utils)": [[131, "bittensor.utils.deprecated_message", false]], "deregister_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.deregister_primary_logger", false]], "description (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.description", false]], "description (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.description", false]], "description (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.description", false]], "description (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.description", false]], "deserialize() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.deserialize", false], [93, "id1", false]], "deserialize() (bittensor.core.tensor.tensor method)": [[94, "bittensor.core.tensor.Tensor.deserialize", false]], "dest (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.dest", false]], "dest (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL.dest", false]], "dest (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_allow_death attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH.dest", false]], "dest (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_keep_alive attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE.dest", false]], "destination_coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.destination_coldkey", false]], "destination_hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.destination_hotkey", false]], "destination_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.destination_netuid", false]], "destination_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.destination_netuid", false]], "destination_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.destination_netuid", false]], "destination_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.destination_netuid", false]], "dests (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.dests", false]], "dests (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.dests", false]], "determine_block_hash (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.determine_block_hash", false]], "determine_block_hash (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.determine_block_hash", false]], "determine_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.determine_block_hash", false]], "determine_block_hash() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.determine_block_hash", false]], "determine_chain_endpoint_and_network() (in module bittensor.utils)": [[131, "bittensor.utils.determine_chain_endpoint_and_network", false]], "dev_id (bittensor.utils.registration.pow.cudasolver attribute)": [[136, "bittensor.utils.registration.pow.CUDASolver.dev_id", false]], "dict() (bittensor.core.types.axonservecallparams method)": [[97, "bittensor.core.types.AxonServeCallParams.dict", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.difficulty", false]], "difficulty (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.difficulty", false]], "difficulty (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.difficulty", false]], "difficulty (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.difficulty", false]], "difficulty (bittensor.utils.registration.pow.powsolution attribute)": [[136, "bittensor.utils.registration.pow.POWSolution.difficulty", false]], "difficulty (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.difficulty", false]], "difficulty() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.difficulty", false]], "difficulty() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.difficulty", false]], "direction (bittensor.extras.dev_framework.calls.non_sudo_calls.force_adjust_total_issuance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE.direction", false]], "disable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_debug", false]], "disable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_info", false]], "disable_logging (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_logging", false]], "disable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_third_party_loggers", false]], "disable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_trace", false]], "disable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_warning", false]], "disable_whitelist (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST", false]], "disabled (bittensor.extras.dev_framework.calls.non_sudo_calls.disable_whitelist attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST.disabled", false]], "disabled (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Disabled", false]], "disapprove_proposal (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL", false]], "discord (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.discord", false]], "discord (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.discord", false]], "discord (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.discord", false]], "discord (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.discord", false]], "dispatch() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.dispatch", false]], "dispatch_as (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS", false]], "dispatch_as_fallible (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE", false]], "dissolve (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE", false]], "dissolve_network (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK", false]], "dividends (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.dividends", false]], "dividends (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Dividends", false]], "dividends (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.dividends", false]], "dividends (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.dividends", false]], "dividends (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.dividends", false]], "dividends (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.dividends", false]], "dividends (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.dividends", false]], "dividends (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.dividends", false]], "do_serve_axon() (in module bittensor.core.extrinsics.asyncex.serving)": [[35, "bittensor.core.extrinsics.asyncex.serving.do_serve_axon", false]], "do_serve_axon() (in module bittensor.core.extrinsics.serving)": [[66, "bittensor.core.extrinsics.serving.do_serve_axon", false]], "does_hotkey_exist (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.does_hotkey_exist", false]], "does_hotkey_exist (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.does_hotkey_exist", false]], "drain (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.drain", false]], "drand (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Drand", false]], "dtype (bittensor.core.tensor.tensor attribute)": [[94, "bittensor.core.tensor.Tensor.dtype", false]], "dtypes (class in bittensor.core.tensor)": [[94, "bittensor.core.tensor.DTypes", false]], "dtypes (in module bittensor.core.tensor)": [[94, "bittensor.core.tensor.dtypes", false]], "duplicatechild": [[26, "bittensor.core.errors.DuplicateChild", false]], "duration (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.duration", false]], "duration (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_coldkey_swap_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION.duration", false]], "duration (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_dissolve_network_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION.duration", false]], "dynamicinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.DynamicInfo", false]], "dynamicinfo (class in bittensor.core.chain_data.dynamic_info)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo", false]], "e (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.E", false]], "elasticity (bittensor.extras.dev_framework.calls.non_sudo_calls.set_elasticity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY.elasticity", false]], "ema_halving (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.ema_halving", false]], "emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Emission", false]], "emission (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.emission", false]], "emission (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.emission", false]], "emission (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.emission", false]], "emission (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.emission", false]], "emission (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.emission", false]], "emission (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.emission", false]], "emission (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.emission", false]], "emission_history (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.emission_history", false]], "emission_value (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.emission_value", false]], "emissions (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.emissions", false]], "emissions_share (bittensor.extras.dev_framework.calls.non_sudo_calls.register_leased_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK.emissions_share", false]], "emoji_map (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.emoji_map", false]], "enable (bittensor.extras.dev_framework.calls.non_sudo_calls.toggle_user_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY.enable", false]], "enable_console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_console", false]], "enable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_debug", false]], "enable_default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_default", false]], "enable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_info", false]], "enable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_third_party_loggers", false]], "enable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_trace", false]], "enable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_warning", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.enabled", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.enabled", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.enabled", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.enabled", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.enabled", false]], "encode() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.encode", false]], "encode_params (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.encode_params", false]], "encode_params (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.encode_params", false]], "encode_params() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.encode_params", false]], "encode_params() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.encode_params", false]], "encrypt() (in module bittensor.core.timelock)": [[96, "bittensor.core.timelock.encrypt", false]], "encrypt() (in module bittensor.extras.timelock)": [[118, "bittensor.extras.timelock.encrypt", false]], "end (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.end", false]], "end (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.end", false]], "end_block (bittensor.extras.dev_framework.calls.non_sudo_calls.register_leased_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK.end_block", false]], "ensure_updated (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED", false]], "enter (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER", false]], "epochs (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_hparam_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT.epochs", false]], "equivocation_proof (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION.equivocation_proof", false]], "equivocation_proof (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation_unsigned attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED.equivocation_proof", false]], "error() (bittensor.utils.btlogging.console.bittensorconsole method)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.error", false]], "error() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.error", false]], "ethereum (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Ethereum", false]], "event_loop_is_running() (in module bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.event_loop_is_running", false]], "evm (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.EVM", false]], "evm_key (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.evm_key", false]], "exception() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.exception", false]], "execute (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE", false]], "execute_one() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.execute_one", false]], "execute_steps() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.execute_steps", false]], "ext_index (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.ext_index", false]], "extend (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND", false]], "external_ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_ip", false]], "external_ip (bittensor.core.dendrite.dendritemixin attribute)": [[25, "bittensor.core.dendrite.DendriteMixin.external_ip", false]], "external_port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_port", false]], "externalipnotfound": [[133, "bittensor.utils.networking.ExternalIPNotFound", false]], "extract_response_json() (bittensor.core.stream.streamingsynapse method)": [[79, "bittensor.core.stream.StreamingSynapse.extract_response_json", false]], "extrinsicnotfound (in module bittensor.core.errors)": [[26, "bittensor.core.errors.ExtrinsicNotFound", false]], "extrinsics (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.extrinsics", false]], "extrinsics (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.extrinsics", false]], "extrinsics (class in bittensor.core.subtensor_api.extrinsics)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics", false]], "extrinsics (class in bittensor.extras.subtensor_api.extrinsics)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics", false]], "extrinsics_subpackage (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.extrinsics_subpackage", false]], "failed_verification (bittensor.core.synapse.synapse property)": [[93, "bittensor.core.synapse.Synapse.failed_verification", false]], "fallback (bittensor.extras.dev_framework.calls.non_sudo_calls.if_else attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE.fallback", false]], "fast_config (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_config", false]], "fast_server (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_server", false]], "fastapithreadedserver (class in bittensor.core.axon)": [[1, "bittensor.core.axon.FastAPIThreadedServer", false]], "faucet (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET", false]], "fee (bittensor.extras.dev_framework.calls.non_sudo_calls.set_base_fee_per_gas attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS.fee", false]], "fees_alpha (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.fees_alpha", false]], "fees_tao (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.fees_tao", false]], "filter_netuids_by_registered_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.filter_netuids_by_registered_hotkeys", false]], "finalize (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE", false]], "finney_entrypoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.FINNEY_ENTRYPOINT", false]], "finney_test_entrypoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.FINNEY_TEST_ENTRYPOINT", false]], "fixed_to_float() (in module bittensor.utils.balance)": [[121, "bittensor.utils.balance.fixed_to_float", false]], "fixedpoint (class in bittensor.utils.balance)": [[121, "bittensor.utils.balance.FixedPoint", false]], "float_to_u64() (in module bittensor.utils)": [[131, "bittensor.utils.float_to_u64", false]], "force_adjust_total_issuance (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE", false]], "force_batch (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH", false]], "force_enter (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER", false]], "force_exit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT", false]], "force_extend (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND", false]], "force_proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.force_proxy_type", false]], "force_proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.force_proxy_type", false]], "force_release_deposit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT", false]], "force_set_balance (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE", false]], "force_slash_deposit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT", false]], "force_transfer (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER", false]], "force_unreserve (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE", false]], "forced (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.forced", false]], "format() (bittensor.utils.btlogging.format.btfileformatter method)": [[124, "bittensor.utils.btlogging.format.BtFileFormatter.format", false]], "format() (bittensor.utils.btlogging.format.btstreamformatter method)": [[124, "bittensor.utils.btlogging.format.BtStreamFormatter.format", false]], "format_error_message() (in module bittensor.utils)": [[131, "bittensor.utils.format_error_message", false]], "formattime() (bittensor.utils.btlogging.format.btfileformatter method)": [[124, "bittensor.utils.btlogging.format.BtFileFormatter.formatTime", false]], "formattime() (bittensor.utils.btlogging.format.btstreamformatter method)": [[124, "bittensor.utils.btlogging.format.BtStreamFormatter.formatTime", false]], "forward() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.forward", false]], "forward() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.forward", false], [25, "id7", false]], "forward_class_types (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_class_types", false]], "forward_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_fns", false]], "from_dict() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.from_dict", false]], "from_dict() (bittensor.core.chain_data.proposal_vote_data.proposalvotedata class method)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.from_dict", false]], "from_dict() (bittensor.core.chain_data.sim_swap.simswapresult class method)": [[16, "bittensor.core.chain_data.sim_swap.SimSwapResult.from_dict", false]], "from_dict() (bittensor.core.chain_data.stake_info.stakeinfo class method)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.from_dict", false]], "from_error() (bittensor.core.errors.chainerror class method)": [[26, "bittensor.core.errors.ChainError.from_error", false]], "from_float() (bittensor.utils.balance.balance static method)": [[121, "bittensor.utils.balance.Balance.from_float", false]], "from_headers() (bittensor.core.synapse.synapse class method)": [[93, "id2", false]], "from_headers() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.from_headers", false]], "from_neuron_info() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_neuron_info", false]], "from_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_parameter_dict", false]], "from_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo class method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.from_parameter_dict", false]], "from_rao() (bittensor.utils.balance.balance static method)": [[121, "bittensor.utils.balance.Balance.from_rao", false]], "from_scale_encoding() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.from_scale_encoding", false]], "from_scale_encoding_using_type_string() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.from_scale_encoding_using_type_string", false]], "from_string() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_string", false]], "from_tao() (bittensor.utils.balance.balance static method)": [[121, "bittensor.utils.balance.Balance.from_tao", false]], "from_vec_u8() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8", false]], "from_vec_u8_v2() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8_v2", false]], "from_weights_bonds_and_neuron_lite() (bittensor.core.chain_data.neuron_info.neuroninfo class method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.from_weights_bonds_and_neuron_lite", false]], "full_address (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.full_address", false]], "gas_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.gas_limit", false]], "gas_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.gas_limit", false]], "gas_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.gas_limit", false]], "generate() (bittensor.utils.substrate_utils.storage.storagekey method)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.generate", false]], "generate_weight_hash() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.generate_weight_hash", false]], "get_admin_freeze_window (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_admin_freeze_window", false]], "get_admin_freeze_window (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_admin_freeze_window", false]], "get_admin_freeze_window() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_admin_freeze_window", false]], "get_admin_freeze_window() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_admin_freeze_window", false]], "get_all_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_all_commitments", false]], "get_all_commitments (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_all_commitments", false]], "get_all_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_commitments", false]], "get_all_commitments() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_all_commitments", false]], "get_all_metagraphs_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[86, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_all_metagraphs_info", false]], "get_all_metagraphs_info (bittensor.extras.subtensor_api.metagraphs.metagraphs attribute)": [[111, "bittensor.extras.subtensor_api.metagraphs.Metagraphs.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_all_metagraphs_info", false]], "get_all_neuron_certificates (bittensor.core.subtensor_api.neurons.neurons attribute)": [[87, "bittensor.core.subtensor_api.neurons.Neurons.get_all_neuron_certificates", false]], "get_all_neuron_certificates (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_all_neuron_certificates", false]], "get_all_revealed_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_all_revealed_commitments", false]], "get_all_revealed_commitments (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_all_revealed_commitments", false]], "get_all_subnets_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_all_subnets_info", false]], "get_all_subnets_info (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_all_subnets_info", false]], "get_all_subnets_netuid (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_all_subnets_netuid", false]], "get_and_save_latest_version() (in module bittensor.utils.version)": [[142, "bittensor.utils.version.get_and_save_latest_version", false]], "get_async_subtensor() (in module bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.get_async_subtensor", false]], "get_auto_stakes (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_auto_stakes", false]], "get_balance (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_balance", false]], "get_balance (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_balance", false]], "get_balance() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balance", false]], "get_balance() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_balance", false]], "get_balances (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_balances", false]], "get_balances (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_balances", false]], "get_balances() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balances", false]], "get_balances() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_balances", false]], "get_block_hash (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_block_hash", false]], "get_block_hash (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_block_hash", false]], "get_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_block_hash", false]], "get_block_hash() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_block_hash", false]], "get_block_info (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_block_info", false]], "get_children (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_children", false]], "get_children (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_children", false]], "get_children (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_children", false]], "get_children (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_children", false]], "get_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children", false]], "get_children() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_children", false]], "get_children_pending (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_children_pending", false]], "get_children_pending (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_children_pending", false]], "get_children_pending (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_children_pending", false]], "get_children_pending (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_children_pending", false]], "get_children_pending() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children_pending", false]], "get_children_pending() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_children_pending", false]], "get_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_commitment", false]], "get_commitment (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_commitment", false]], "get_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_commitment", false]], "get_commitment() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_commitment", false]], "get_commitment_metadata (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_commitment_metadata", false]], "get_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_config", false]], "get_cpu_count() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.get_cpu_count", false]], "get_current_block (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_current_block", false]], "get_current_block (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_current_block", false]], "get_current_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_block", false]], "get_current_block() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_current_block", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_current_weight_commit_info", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_current_weight_commit_info", false]], "get_current_weight_commit_info_v2 (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_current_weight_commit_info_v2", false]], "get_current_weight_commit_info_v2() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_weight_commit_info_v2", false]], "get_current_weight_commit_info_v2() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_current_weight_commit_info_v2", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_delegate_by_hotkey", false]], "get_delegate_identities (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_delegate_identities", false]], "get_delegate_identities (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_identities", false]], "get_delegate_identities (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_delegate_identities", false]], "get_delegate_identities (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_delegate_identities", false]], "get_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_take", false]], "get_delegate_take (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_take", false]], "get_delegate_take (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegate_take", false]], "get_delegate_take (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_delegate_take", false]], "get_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_take", false]], "get_delegate_take() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_delegate_take", false]], "get_delegated (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.get_delegated", false]], "get_delegated (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_delegated", false]], "get_delegated (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegated", false]], "get_delegated (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_delegated", false]], "get_delegated() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegated", false]], "get_delegated() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_delegated", false]], "get_delegates (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.get_delegates", false]], "get_delegates (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegates", false]], "get_delegates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegates", false]], "get_delegates() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_delegates", false]], "get_existential_deposit (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_existential_deposit", false]], "get_existential_deposit (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_existential_deposit", false]], "get_explorer_url_for_network() (in module bittensor.utils)": [[131, "bittensor.utils.get_explorer_url_for_network", false]], "get_external_ip() (in module bittensor.utils.networking)": [[133, "bittensor.utils.networking.get_external_ip", false]], "get_extrinsic_fee (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.get_extrinsic_fee", false]], "get_extrinsic_fee() (in module bittensor.core.extrinsics.asyncex.utils)": [[42, "bittensor.core.extrinsics.asyncex.utils.get_extrinsic_fee", false]], "get_extrinsic_fee() (in module bittensor.core.extrinsics.utils)": [[74, "bittensor.core.extrinsics.utils.get_extrinsic_fee", false]], "get_fees() (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.get_fees", false]], "get_fees_in_range() (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.get_fees_in_range", false]], "get_formatted_ws_endpoint_url() (in module bittensor.utils.networking)": [[133, "bittensor.utils.networking.get_formatted_ws_endpoint_url", false]], "get_hash() (in module bittensor.utils)": [[131, "bittensor.utils.get_hash", false]], "get_hotkey_owner (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_owner", false]], "get_hotkey_owner (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_hotkey_owner", false]], "get_hotkey_stake (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor.subtensor attribute)": [[80, "bittensor.core.subtensor.Subtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_hotkey_stake", false]], "get_human_readable() (in module bittensor.utils.formatting)": [[130, "bittensor.utils.formatting.get_human_readable", false]], "get_hyperparameter (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_hyperparameter", false]], "get_hyperparameter (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_hyperparameter", false]], "get_last_bonds_reset (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_last_bonds_reset", false]], "get_last_bonds_reset() (in module bittensor.core.extrinsics.asyncex.serving)": [[35, "bittensor.core.extrinsics.asyncex.serving.get_last_bonds_reset", false]], "get_last_bonds_reset() (in module bittensor.core.extrinsics.serving)": [[66, "bittensor.core.extrinsics.serving.get_last_bonds_reset", false]], "get_last_commitment_bonds_reset_block (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_last_commitment_bonds_reset_block", false]], "get_level() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_level", false]], "get_liquidity_list (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_liquidity_list", false]], "get_liquidity_list (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_liquidity_list", false]], "get_max_logger_name_length() (in module bittensor.utils.btlogging.helpers)": [[125, "bittensor.utils.btlogging.helpers.get_max_logger_name_length", false]], "get_mechanism_count (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_mechanism_count", false]], "get_mechanism_count (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_mechanism_count", false]], "get_mechanism_count() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_mechanism_count", false]], "get_mechanism_count() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_mechanism_count", false]], "get_mechanism_emission_split (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_mechanism_emission_split", false]], "get_mechanism_emission_split (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_mechanism_emission_split", false]], "get_mechanism_emission_split() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_mechanism_emission_split", false]], "get_mechanism_emission_split() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_mechanism_emission_split", false]], "get_mechid_storage_index() (in module bittensor.utils)": [[131, "bittensor.utils.get_mechid_storage_index", false]], "get_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[35, "bittensor.core.extrinsics.asyncex.serving.get_metadata", false]], "get_metadata() (in module bittensor.core.extrinsics.serving)": [[66, "bittensor.core.extrinsics.serving.get_metadata", false]], "get_metagraph_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[86, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_metagraph_info", false]], "get_metagraph_info (bittensor.extras.subtensor_api.metagraphs.metagraphs attribute)": [[111, "bittensor.extras.subtensor_api.metagraphs.Metagraphs.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_metagraph_info", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_minimum_required_stake", false]], "get_netuid_and_mechid_by_storage_index() (in module bittensor.utils)": [[131, "bittensor.utils.get_netuid_and_mechid_by_storage_index", false]], "get_netuids_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_netuids_for_hotkey", false]], "get_neuron_certificate (bittensor.core.subtensor_api.neurons.neurons attribute)": [[87, "bittensor.core.subtensor_api.neurons.Neurons.get_neuron_certificate", false]], "get_neuron_certificate (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_neuron_certificate", false]], "get_neuron_for_pubkey_and_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_neuron_for_pubkey_and_subnet", false]], "get_next_epoch_start_block (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_next_epoch_start_block", false]], "get_next_epoch_start_block (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_next_epoch_start_block", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info.neuroninfo static method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite static method)": [[12, "id0", false]], "get_old_stakes() (in module bittensor.core.extrinsics.utils)": [[74, "bittensor.core.extrinsics.utils.get_old_stakes", false]], "get_owned_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_owned_hotkeys", false]], "get_owned_hotkeys (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_owned_hotkeys", false]], "get_parents (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_parents", false]], "get_parents (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_parents", false]], "get_parents (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_parents", false]], "get_parents() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_parents", false]], "get_parents() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_parents", false]], "get_queue() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_queue", false]], "get_required_fields() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.get_required_fields", false]], "get_revealed_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment", false]], "get_revealed_commitment (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_revealed_commitment", false]], "get_revealed_commitment_by_hotkey (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_revealed_commitment_by_hotkey", false]], "get_save_dir() (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.get_save_dir", false]], "get_selective_metagraph_commitments() (in module bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.get_selective_metagraph_commitments", false]], "get_size() (in module bittensor.core.synapse)": [[93, "bittensor.core.synapse.get_size", false]], "get_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake", false]], "get_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake", false]], "get_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_stake", false]], "get_stake (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake", false]], "get_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake", false]], "get_stake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake", false]], "get_stake_add_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_add_fee", false]], "get_stake_add_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_add_fee", false]], "get_stake_add_fee (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_stake_add_fee", false]], "get_stake_add_fee (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_add_fee", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_hotkey", false]], "get_stake_for_hotkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_for_hotkey", false]], "get_stake_info_for_coldkey (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor.subtensor attribute)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_info_for_coldkey", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_movement_fee", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_movement_fee", false]], "get_stake_movement_fee (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_stake_movement_fee", false]], "get_stake_movement_fee (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_movement_fee", false]], "get_stake_operations_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_operations_fee", false]], "get_stake_operations_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_operations_fee", false]], "get_stake_operations_fee() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_operations_fee", false]], "get_stake_weight (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_weight", false]], "get_stake_weight (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_stake_weight", false]], "get_stake_weight() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_weight", false]], "get_stake_weight() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_weight", false]], "get_status_message() (bittensor.utils.registration.pow.registrationstatisticslogger class method)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.get_status_message", false]], "get_subnet_burn_cost (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_burn_cost", false]], "get_subnet_burn_cost (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_burn_cost", false]], "get_subnet_hyperparameters (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_hyperparameters", false]], "get_subnet_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_info", false]], "get_subnet_info (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_info", false]], "get_subnet_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_info", false]], "get_subnet_info() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_info", false]], "get_subnet_owner_hotkey (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_owner_hotkey", false]], "get_subnet_price (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_price", false]], "get_subnet_price (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_price", false]], "get_subnet_price() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_price", false]], "get_subnet_price() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_price", false]], "get_subnet_prices (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_prices", false]], "get_subnet_prices (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_prices", false]], "get_subnet_reveal_period_epochs (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_validator_permits (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_validator_permits", false]], "get_subnet_validator_permits (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_validator_permits", false]], "get_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnets", false]], "get_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnets", false]], "get_subnets() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnets", false]], "get_timelocked_weight_commits (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_timelocked_weight_commits", false]], "get_timelocked_weight_commits (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_timelocked_weight_commits", false]], "get_timelocked_weight_commits() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_timelocked_weight_commits", false]], "get_timelocked_weight_commits() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_timelocked_weight_commits", false]], "get_timestamp (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_timestamp", false]], "get_timestamp (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_timestamp", false]], "get_timestamp() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_timestamp", false]], "get_timestamp() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_timestamp", false]], "get_total_size() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.get_total_size", false], [93, "id3", false]], "get_total_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_total_subnets", false]], "get_total_subnets (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_total_subnets", false]], "get_total_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_total_subnets", false]], "get_total_subnets() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_total_subnets", false]], "get_transfer_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_transfer_fee", false]], "get_transfer_fee (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_transfer_fee", false]], "get_transfer_fn_params() (in module bittensor.core.extrinsics.params.transfer)": [[61, "bittensor.core.extrinsics.params.transfer.get_transfer_fn_params", false]], "get_transfer_fn_params() (in module bittensor.utils)": [[131, "bittensor.utils.get_transfer_fn_params", false]], "get_uid_for_hotkey_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_uid_for_hotkey_on_subnet", false]], "get_unit() (bittensor.utils.balance.balance static method)": [[121, "bittensor.utils.balance.Balance.get_unit", false]], "get_unstake_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_unstake_fee", false]], "get_unstake_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_unstake_fee", false]], "get_unstake_fee (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_unstake_fee", false]], "get_unstake_fee (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_unstake_fee", false]], "get_vote_data (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_vote_data", false]], "get_vote_data (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_vote_data", false]], "get_vote_data() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_vote_data", false]], "get_vote_data() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_vote_data", false]], "github (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.github", false]], "github_repo (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.github_repo", false]], "github_repo (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.github_repo", false]], "github_repo (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.github_repo", false]], "global_max_subnet_count (in module bittensor.utils)": [[131, "bittensor.utils.GLOBAL_MAX_SUBNET_COUNT", false]], "grandpa (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Grandpa", false]], "hash (bittensor.extras.dev_framework.calls.non_sudo_calls.request_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE.hash", false]], "hash (bittensor.extras.dev_framework.calls.non_sudo_calls.unnote_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE.hash", false]], "hash (bittensor.extras.dev_framework.calls.non_sudo_calls.unrequest_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE.hash", false]], "hash_rate (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate", false]], "hash_rate_perpetual (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate_perpetual", false]], "hashes (bittensor.extras.dev_framework.calls.non_sudo_calls.ensure_updated attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED.hashes", false]], "header (in module bittensor.extras.dev_framework.calls)": [[98, "bittensor.extras.dev_framework.calls.HEADER", false]], "header_size (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.header_size", false]], "height (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.height", false]], "help (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.help", false]], "help (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.help", false]], "help() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.help", false]], "help() (bittensor.core.types.subtensormixin class method)": [[97, "bittensor.core.types.SubtensorMixin.help", false]], "help() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.help", false]], "hex_to_bytes (in module bittensor.utils)": [[131, "bittensor.utils.hex_to_bytes", false]], "home_dir (in module bittensor.core.settings)": [[78, "bittensor.core.settings.HOME_DIR", false]], "hotkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.hotkey", false]], "hotkey (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.hotkey", false]], "hotkey (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.adjust_senate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.burned_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.decrease_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.increase_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network_with_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.root_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.set_coldkey_auto_stake_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.terminate_lease attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.try_associate_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.hotkey", false]], "hotkey_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.hotkey_ss58", false]], "hotkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.hotkey_ss58", false]], "hotkeyaccountnotexists": [[26, "bittensor.core.errors.HotKeyAccountNotExists", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.hotkeys", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Hotkeys", false]], "hotkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.hotkeys", false]], "hotkeys (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.hotkeys", false]], "hparams (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.hparams", false]], "i (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.I", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED.id", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED.id", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.id", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.id", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.id", false]], "id (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.id", false]], "identified (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY.identified", false]], "identified (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.identified", false]], "identities (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identities", false]], "identities (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identities", false]], "identities (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.identities", false]], "identity (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identity", false]], "identity (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identity", false]], "identity (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.identity", false]], "identity (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network_with_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY.identity", false]], "identity() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.identity", false]], "identityerror": [[26, "bittensor.core.errors.IdentityError", false]], "idx (bittensor.extras.dev_framework.subnet.call_record attribute)": [[103, "bittensor.extras.dev_framework.subnet.CALL_RECORD.idx", false]], "if_else (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE", false]], "image (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.image", false]], "image (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.image", false]], "immune_neurons (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.immune_neurons", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.immunity_period", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.immunity_period", false]], "immunity_period (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.immunity_period", false]], "immunity_period (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.immunity_period", false]], "immunity_period (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD.immunity_period", false]], "immunity_period (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.immunity_period", false]], "immunity_period() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.immunity_period", false]], "immunity_period() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.immunity_period", false]], "immunityperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ImmunityPeriod", false]], "import_text (in module bittensor.extras.dev_framework.calls)": [[98, "bittensor.extras.dev_framework.calls.IMPORT_TEXT", false]], "in_blocks (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.in_blocks", false]], "incentive (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.incentive", false]], "incentive (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.incentive", false]], "incentive (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.incentive", false]], "incentive (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.incentive", false]], "incentive (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.incentive", false]], "incentives (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.incentives", false]], "incentives (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Incentives", false]], "incentives (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.incentives", false]], "increase_decrease_take() (bittensor.core.extrinsics.params.take.takeparams class method)": [[60, "bittensor.core.extrinsics.params.take.TakeParams.increase_decrease_take", false]], "increase_take (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[39, "bittensor.core.extrinsics.asyncex.take.increase_take_extrinsic", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[71, "bittensor.core.extrinsics.take.increase_take_extrinsic", false]], "index (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.as_derivative attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.index", false], [99, "id43", false]], "info (bittensor.extras.dev_framework.calls.non_sudo_calls.set_commitment attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT.info", false]], "info (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.info", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.info", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Info", false]], "info() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.info", false]], "info() (bittensor.utils.btlogging.console.bittensorconsole method)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.info", false]], "info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.info", false]], "info() (in module bittensor.utils.btlogging.levels)": [[127, "bittensor.utils.btlogging.levels.info", false]], "info() (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.info", false]], "infobase (class in bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.InfoBase", false]], "init (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.init", false]], "init (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.init", false]], "initialize (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.initialize", false]], "initialize (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.initialize", false]], "initialize() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.initialize", false]], "inner_subtensor (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.inner_subtensor", false]], "input (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.input", false]], "install_signal_handlers() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.install_signal_handlers", false]], "int_to_ip() (in module bittensor.utils.networking)": [[133, "bittensor.utils.networking.int_to_ip", false]], "internalservererror": [[26, "bittensor.core.errors.InternalServerError", false]], "interval (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.interval", false]], "interval (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_lock_reduction_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL.interval", false]], "invalidchild": [[26, "bittensor.core.errors.InvalidChild", false]], "invalidconfigfile": [[24, "bittensor.core.config.InvalidConfigFile", false]], "invalidrequestnameerror": [[26, "bittensor.core.errors.InvalidRequestNameError", false]], "ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.ip", false]], "ip (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip", false]], "ip (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip", false]], "ip (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip", false]], "ip (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.ip", false]], "ip (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.ip", false]], "ip (bittensor.core.types.prometheusservecallparams attribute)": [[97, "bittensor.core.types.PrometheusServeCallParams.ip", false]], "ip (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.ip", false]], "ip (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.ip", false]], "ip (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.ip", false]], "ip__str__() (in module bittensor.utils.networking)": [[133, "bittensor.utils.networking.ip__str__", false]], "ip_str() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_str", false]], "ip_to_int() (in module bittensor.utils.networking)": [[133, "bittensor.utils.networking.ip_to_int", false]], "ip_type (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip_type", false]], "ip_type (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.ip_type", false]], "ip_type (bittensor.core.types.prometheusservecallparams attribute)": [[97, "bittensor.core.types.PrometheusServeCallParams.ip_type", false]], "ip_type (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.ip_type", false]], "ip_type (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.ip_type", false]], "ip_type (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.ip_type", false]], "ip_version() (in module bittensor.utils.networking)": [[133, "bittensor.utils.networking.ip_version", false]], "ipinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.IPInfo", false]], "ipinfo (class in bittensor.core.chain_data.ip_info)": [[9, "bittensor.core.chain_data.ip_info.IPInfo", false]], "is_async (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.is_async", false]], "is_async (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.is_async", false]], "is_blacklist (bittensor.core.synapse.synapse property)": [[93, "bittensor.core.synapse.Synapse.is_blacklist", false]], "is_dynamic (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.is_dynamic", false]], "is_empty (bittensor.core.threadpool.prioritythreadpoolexecutor property)": [[95, "bittensor.core.threadpool.PriorityThreadPoolExecutor.is_empty", false]], "is_failure (bittensor.core.synapse.synapse property)": [[93, "bittensor.core.synapse.Synapse.is_failure", false]], "is_fast_blocks (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.is_fast_blocks", false]], "is_fast_blocks (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_fast_blocks", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.is_hotkey_delegate", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_delegate", false]], "is_hotkey_delegate (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.is_hotkey_delegate", false]], "is_hotkey_delegate (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_hotkey_delegate", false]], "is_hotkey_registered (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered", false]], "is_hotkey_registered (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_hotkey_registered", false]], "is_hotkey_registered_any (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered_any", false]], "is_hotkey_registered_any (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_on_subnet", false]], "is_in_admin_freeze_window (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.is_in_admin_freeze_window", false]], "is_in_admin_freeze_window (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.is_in_admin_freeze_window", false]], "is_in_admin_freeze_window() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_in_admin_freeze_window", false]], "is_in_admin_freeze_window() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_in_admin_freeze_window", false]], "is_instance_namedtuple() (in module bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.is_instance_namedtuple", false]], "is_null (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.is_null", false]], "is_null (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.is_null", false]], "is_registered (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.is_registered", false]], "is_running (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.is_running", false]], "is_serving (bittensor.core.chain_data.axon_info.axoninfo property)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.is_serving", false]], "is_set() (bittensor.core.config.config method)": [[24, "bittensor.core.config.Config.is_set", false]], "is_stale() (bittensor.utils.registration.pow.powsolution method)": [[136, "bittensor.utils.registration.pow.POWSolution.is_stale", false]], "is_stale_async() (bittensor.utils.registration.pow.powsolution method)": [[136, "bittensor.utils.registration.pow.POWSolution.is_stale_async", false]], "is_subnet_active (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.is_subnet_active", false]], "is_subnet_active (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.is_subnet_active", false]], "is_subnet_active() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_subnet_active", false]], "is_subnet_active() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_subnet_active", false]], "is_success (bittensor.core.synapse.synapse property)": [[93, "bittensor.core.synapse.Synapse.is_success", false]], "is_timeout (bittensor.core.synapse.synapse property)": [[93, "bittensor.core.synapse.Synapse.is_timeout", false]], "is_valid_bittensor_address_or_public_key() (in module bittensor.utils)": [[131, "bittensor.utils.is_valid_bittensor_address_or_public_key", false]], "is_valid_ss58_address() (in module bittensor.utils)": [[131, "bittensor.utils.is_valid_ss58_address", false]], "items (bittensor.extras.dev_framework.calls.non_sudo_calls.set_storage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE.items", false]], "k (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.k", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Kappa", false]], "kappa (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.kappa", false]], "kappa (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.kappa", false]], "kappa (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.kappa", false]], "keep_alive (bittensor.extras.dev_framework.calls.non_sudo_calls.burn attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN.keep_alive", false]], "keep_alive (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL.keep_alive", false]], "key_owner_proof (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION.key_owner_proof", false]], "key_owner_proof (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation_unsigned attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED.key_owner_proof", false]], "keyfile (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.keyfile", false]], "keypair (bittensor.core.dendrite.dendritemixin attribute)": [[25, "bittensor.core.dendrite.DendriteMixin.keypair", false]], "keys (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_storage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE.keys", false]], "kill_prefix (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX", false]], "kill_pure (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE", false]], "kill_storage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE", false]], "last_drand_round (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.last_drand_round", false]], "last_drand_round (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.last_drand_round", false]], "last_drand_round() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.last_drand_round", false]], "last_drand_round() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.last_drand_round", false]], "last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.last_step", false]], "last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_step", false]], "last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.last_step", false]], "last_update (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.last_update", false]], "last_update (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.last_update", false]], "last_update (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.last_update", false]], "last_update (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.last_update", false]], "last_update (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.last_update", false]], "laststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastStep", false]], "lastupdate (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastUpdate", false]], "latent_lite_entrypoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.LATENT_LITE_ENTRYPOINT", false]], "latest_block_path() (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.latest_block_path", false]], "lazyloadedtorch (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.LazyLoadedTorch", false]], "lease_id (bittensor.extras.dev_framework.calls.non_sudo_calls.terminate_lease attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE.lease_id", false]], "legacy_torch_api_compat() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.legacy_torch_api_compat", false]], "length_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.length_bound", false]], "length_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.execute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE.length_bound", false]], "length_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.length_bound", false]], "limit_price (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.limit_price", false]], "limit_price (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.limit_price", false]], "limit_price (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.limit_price", false]], "limit_price (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.limit_price", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.liquid_alpha_enabled", false]], "liquidalphaenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LiquidAlphaEnabled", false]], "liquidity (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.liquidity", false]], "liquidity (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.liquidity", false]], "liquidity_delta (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.liquidity_delta", false]], "liquidityparams (class in bittensor.core.extrinsics.params.liquidity)": [[53, "bittensor.core.extrinsics.params.liquidity.LiquidityParams", false]], "liquidityposition (class in bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.LiquidityPosition", false]], "list_from_dicts() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.list_from_dicts", false]], "list_from_vec_u8() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.list_from_vec_u8", false]], "lite (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.lite", false]], "load() (bittensor.core.metagraph.metagraphmixin method)": [[77, "bittensor.core.metagraph.MetagraphMixin.load", false]], "load_from_path() (bittensor.core.metagraph.metagraphmixin method)": [[77, "bittensor.core.metagraph.MetagraphMixin.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.nontorchmetagraph method)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.torchmetagraph method)": [[77, "bittensor.core.metagraph.TorchMetagraph.load_from_path", false]], "local_entrypoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.LOCAL_ENTRYPOINT", false]], "lock_cost (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_min_lock_cost attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST.lock_cost", false]], "locked (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.locked", false]], "log() (bittensor.utils.registration.pow.console static method)": [[136, "bittensor.utils.registration.pow.Console.log", false]], "log_and_handle_error() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.log_and_handle_error", false]], "log_cuda_errors() (in module bittensor.utils.registration.register_cuda)": [[137, "bittensor.utils.registration.register_cuda.log_cuda_errors", false]], "log_exception() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.log_exception", false]], "log_formats (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.LOG_FORMATS", false]], "log_level_color_prefix (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.log_level_color_prefix", false]], "log_no_torch_error() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.log_no_torch_error", false]], "log_trace_formats (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.LOG_TRACE_FORMATS", false]], "log_verbose (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor.subtensor attribute)": [[80, "bittensor.core.subtensor.Subtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.log_verbose", false]], "log_verbose (bittensor.core.types.subtensormixin attribute)": [[97, "bittensor.core.types.SubtensorMixin.log_verbose", false]], "log_verbose (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.log_verbose", false]], "logger (bittensor.utils.btlogging.console.bittensorconsole attribute)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.logger", false]], "logger (in module bittensor.core.threadpool)": [[95, "bittensor.core.threadpool.logger", false]], "logging (in module bittensor.utils)": [[131, "bittensor.utils.logging", false]], "logging (in module bittensor.utils.btlogging)": [[126, "bittensor.utils.btlogging.logging", false]], "logging_dir (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.logging_dir", false]], "loggingconfig (class in bittensor.utils.btlogging.loggingmachine)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingConfig", false]], "loggingmachine (class in bittensor.utils.btlogging.loggingmachine)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine", false]], "logo_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.logo_url", false]], "logo_url (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.logo_url", false]], "main (bittensor.extras.dev_framework.calls.non_sudo_calls.if_else attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE.main", false]], "max_allowed_uids (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.max_allowed_uids", false]], "max_allowed_validators (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_allowed_validators", false]], "max_allowed_validators (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.max_allowed_validators", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_burn", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_burn", false]], "max_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_burn", false]], "max_burn (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.max_burn", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_difficulty", false]], "max_difficulty (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.max_difficulty", false]], "max_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.max_fee_per_gas", false]], "max_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.max_fee_per_gas", false]], "max_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.max_fee_per_gas", false]], "max_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_n", false]], "max_n (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.max_n", false]], "max_priority_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.max_priority_fee_per_gas", false]], "max_priority_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.max_priority_fee_per_gas", false]], "max_priority_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.max_priority_fee_per_gas", false]], "max_registrations_per_block (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.max_registrations_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_regs_per_block", false]], "max_subnets (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT.max_subnets", false]], "max_tick (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.MAX_TICK", false]], "max_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_uids", false]], "max_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.max_uids", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_validators", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_validators", false]], "max_validators (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_validators", false]], "max_weight (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.max_weight", false]], "max_weight (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.max_weight", false]], "max_weight_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_weight_limit", false]], "max_weight_limit (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_weight_limit", false]], "max_weight_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.max_weight_limit", false]], "max_weight_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.max_weight_limit", false]], "max_weight_limit (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.max_weight_limit", false]], "max_weight_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.max_weight_limit", false]], "max_weight_limit() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.max_weight_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_weights_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_weights_limit", false]], "maxattemptsexception": [[26, "bittensor.core.errors.MaxAttemptsException", false]], "maxburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxBurn", false]], "maxdifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxDifficulty", false]], "maxregsperblock (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxRegsPerBlock", false]], "maxsuccessexception": [[26, "bittensor.core.errors.MaxSuccessException", false]], "maxuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxUids", false]], "maxvalidators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxValidators", false]], "maxweightslimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxWeightsLimit", false]], "maybe_periodic (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.maybe_periodic", false]], "maybe_periodic (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.maybe_periodic", false]], "maybe_periodic (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.maybe_periodic", false]], "maybe_periodic (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.maybe_periodic", false]], "maybe_split (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.maybe_split", false]], "maybe_timepoint (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.maybe_timepoint", false]], "maybe_timepoint (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.maybe_timepoint", false]], "mechanism_count (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.mechanism_count", false]], "mechanism_count (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.mechanism_count", false]], "mechanisms_emissions_split (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.mechanisms_emissions_split", false]], "mechid (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.mechid", false]], "mechid (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.mechid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.mecid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.mecid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.mecid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.mecid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.mecid", false]], "members (bittensor.extras.dev_framework.calls.non_sudo_calls.reset_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS.members", false], [99, "id22", false]], "merge() (bittensor.core.config.config method)": [[24, "bittensor.core.config.Config.merge", false]], "message (bittensor.core.errors.synapsedendritenoneexception attribute)": [[26, "bittensor.core.errors.SynapseDendriteNoneException.message", false]], "message (bittensor.core.errors.synapseexception attribute)": [[26, "bittensor.core.errors.SynapseException.message", false]], "message (bittensor.utils.unlockstatus attribute)": [[131, "bittensor.utils.UnlockStatus.message", false]], "metadata (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.metadata", false]], "metadata() (bittensor.core.metagraph.metagraphmixin method)": [[77, "bittensor.core.metagraph.MetagraphMixin.metadata", false]], "metadata_storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.metadata_storage_function", false]], "metadataerror": [[26, "bittensor.core.errors.MetadataError", false]], "metagraph (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[86, "bittensor.core.subtensor_api.metagraphs.Metagraphs.metagraph", false]], "metagraph (bittensor.extras.subtensor_api.metagraphs.metagraphs attribute)": [[111, "bittensor.extras.subtensor_api.metagraphs.Metagraphs.metagraph", false]], "metagraph (class in bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.Metagraph", false]], "metagraph (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.metagraph", false]], "metagraph() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.metagraph", false]], "metagraph() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.metagraph", false]], "metagraph_state_dict_ndarray_keys (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.METAGRAPH_STATE_DICT_NDARRAY_KEYS", false]], "metagraphinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.MetagraphInfo", false]], "metagraphinfo (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo", false]], "metagraphinfoemissions (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions", false]], "metagraphinfoparams (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams", false]], "metagraphinfopool (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool", false]], "metagraphmixin (class in bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.MetagraphMixin", false]], "metagraphs (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.metagraphs", false]], "metagraphs (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.metagraphs", false]], "metagraphs (class in bittensor.core.subtensor_api.metagraphs)": [[86, "bittensor.core.subtensor_api.metagraphs.Metagraphs", false]], "metagraphs (class in bittensor.extras.subtensor_api.metagraphs)": [[111, "bittensor.extras.subtensor_api.metagraphs.Metagraphs", false]], "middleware_cls (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.middleware_cls", false]], "millify() (in module bittensor.utils.formatting)": [[130, "bittensor.utils.formatting.millify", false]], "min_allowed_uids (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.min_allowed_uids", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.min_allowed_weights", false]], "min_allowed_weights (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.min_allowed_weights", false]], "min_allowed_weights (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.min_allowed_weights", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_burn", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_burn", false]], "min_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_burn", false]], "min_burn (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.min_burn", false]], "min_contribution (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.min_contribution", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_difficulty", false]], "min_difficulty (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.min_difficulty", false]], "min_stake (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_nominator_min_required_stake attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE.min_stake", false]], "min_stake (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_stake_threshold attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD.min_stake", false]], "min_tick (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.MIN_TICK", false]], "minallowedweights (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinAllowedWeights", false]], "minburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinBurn", false]], "mindifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinDifficulty", false]], "miners_dir (in module bittensor.core.settings)": [[78, "bittensor.core.settings.MINERS_DIR", false]], "mock_subpackage (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.mock_subpackage", false]], "modality (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.modality", false]], "model_config (bittensor.core.stream.streamingsynapse attribute)": [[79, "bittensor.core.stream.StreamingSynapse.model_config", false]], "model_config (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.model_config", false]], "model_config (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.model_config", false]], "model_config (bittensor.core.tensor.tensor attribute)": [[94, "bittensor.core.tensor.Tensor.model_config", false]], "modify_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.modify_liquidity", false]], "modify_liquidity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.modify_liquidity", false]], "modify_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.modify_liquidity", false]], "modify_liquidity() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.modify_liquidity", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[30, "bittensor.core.extrinsics.asyncex.liquidity.modify_liquidity_extrinsic", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[48, "bittensor.core.extrinsics.liquidity.modify_liquidity_extrinsic", false]], "modify_position (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION", false]], "modify_position() (bittensor.core.extrinsics.params.liquidity.liquidityparams class method)": [[53, "bittensor.core.extrinsics.params.liquidity.LiquidityParams.modify_position", false]], "module": [[0, "module-bittensor.core.async_subtensor", false], [1, "module-bittensor.core.axon", false], [2, "module-bittensor.core.chain_data.axon_info", false], [3, "module-bittensor.core.chain_data.chain_identity", false], [4, "module-bittensor.core.chain_data.delegate_info", false], [5, "module-bittensor.core.chain_data.delegate_info_lite", false], [6, "module-bittensor.core.chain_data.dynamic_info", false], [7, "module-bittensor.core.chain_data", false], [8, "module-bittensor.core.chain_data.info_base", false], [9, "module-bittensor.core.chain_data.ip_info", false], [10, "module-bittensor.core.chain_data.metagraph_info", false], [11, "module-bittensor.core.chain_data.neuron_info", false], [12, "module-bittensor.core.chain_data.neuron_info_lite", false], [13, "module-bittensor.core.chain_data.prometheus_info", false], [14, "module-bittensor.core.chain_data.proposal_vote_data", false], [15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false], [16, "module-bittensor.core.chain_data.sim_swap", false], [17, "module-bittensor.core.chain_data.stake_info", false], [18, "module-bittensor.core.chain_data.subnet_hyperparameters", false], [19, "module-bittensor.core.chain_data.subnet_identity", false], [20, "module-bittensor.core.chain_data.subnet_info", false], [21, "module-bittensor.core.chain_data.subnet_state", false], [22, "module-bittensor.core.chain_data.utils", false], [23, "module-bittensor.core.chain_data.weight_commit_info", false], [24, "module-bittensor.core.config", false], [25, "module-bittensor.core.dendrite", false], [26, "module-bittensor.core.errors", false], [27, "module-bittensor.core.extrinsics.asyncex.children", false], [28, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false], [29, "module-bittensor.core.extrinsics.asyncex", false], [30, "module-bittensor.core.extrinsics.asyncex.liquidity", false], [31, "module-bittensor.core.extrinsics.asyncex.mechanism", false], [32, "module-bittensor.core.extrinsics.asyncex.move_stake", false], [33, "module-bittensor.core.extrinsics.asyncex.registration", false], [34, "module-bittensor.core.extrinsics.asyncex.root", false], [35, "module-bittensor.core.extrinsics.asyncex.serving", false], [36, "module-bittensor.core.extrinsics.asyncex.staking", false], [37, "module-bittensor.core.extrinsics.asyncex.start_call", false], [38, "module-bittensor.core.extrinsics.asyncex.sudo", false], [39, "module-bittensor.core.extrinsics.asyncex.take", false], [40, "module-bittensor.core.extrinsics.asyncex.transfer", false], [41, "module-bittensor.core.extrinsics.asyncex.unstaking", false], [42, "module-bittensor.core.extrinsics.asyncex.utils", false], [43, "module-bittensor.core.extrinsics.asyncex.weights", false], [44, "module-bittensor.core.extrinsics.children", false], [45, "module-bittensor.core.extrinsics.commit_reveal", false], [46, "module-bittensor.core.extrinsics.commit_weights", false], [47, "module-bittensor.core.extrinsics", false], [48, "module-bittensor.core.extrinsics.liquidity", false], [49, "module-bittensor.core.extrinsics.mechanism", false], [50, "module-bittensor.core.extrinsics.move_stake", false], [51, "module-bittensor.core.extrinsics.params.children", false], [52, "module-bittensor.core.extrinsics.params", false], [53, "module-bittensor.core.extrinsics.params.liquidity", false], [54, "module-bittensor.core.extrinsics.params.move_stake", false], [55, "module-bittensor.core.extrinsics.params.registration", false], [56, "module-bittensor.core.extrinsics.params.root", false], [57, "module-bittensor.core.extrinsics.params.serving", false], [58, "module-bittensor.core.extrinsics.params.staking", false], [59, "module-bittensor.core.extrinsics.params.start_call", false], [60, "module-bittensor.core.extrinsics.params.take", false], [61, "module-bittensor.core.extrinsics.params.transfer", false], [62, "module-bittensor.core.extrinsics.params.unstaking", false], [63, "module-bittensor.core.extrinsics.params.weights", false], [64, "module-bittensor.core.extrinsics.registration", false], [65, "module-bittensor.core.extrinsics.root", false], [66, "module-bittensor.core.extrinsics.serving", false], [67, "module-bittensor.core.extrinsics.set_weights", false], [68, "module-bittensor.core.extrinsics.staking", false], [69, "module-bittensor.core.extrinsics.start_call", false], [70, "module-bittensor.core.extrinsics.sudo", false], [71, "module-bittensor.core.extrinsics.take", false], [72, "module-bittensor.core.extrinsics.transfer", false], [73, "module-bittensor.core.extrinsics.unstaking", false], [74, "module-bittensor.core.extrinsics.utils", false], [75, "module-bittensor.core.extrinsics.weights", false], [76, "module-bittensor.core", false], [77, "module-bittensor.core.metagraph", false], [78, "module-bittensor.core.settings", false], [79, "module-bittensor.core.stream", false], [80, "module-bittensor.core.subtensor", false], [81, "module-bittensor.core.subtensor_api.chain", false], [82, "module-bittensor.core.subtensor_api.commitments", false], [83, "module-bittensor.core.subtensor_api.delegates", false], [84, "module-bittensor.core.subtensor_api.extrinsics", false], [85, "module-bittensor.core.subtensor_api", false], [86, "module-bittensor.core.subtensor_api.metagraphs", false], [87, "module-bittensor.core.subtensor_api.neurons", false], [88, "module-bittensor.core.subtensor_api.queries", false], [89, "module-bittensor.core.subtensor_api.staking", false], [90, "module-bittensor.core.subtensor_api.subnets", false], [91, "module-bittensor.core.subtensor_api.utils", false], [92, "module-bittensor.core.subtensor_api.wallets", false], [93, "module-bittensor.core.synapse", false], [94, "module-bittensor.core.tensor", false], [95, "module-bittensor.core.threadpool", false], [96, "module-bittensor.core.timelock", false], [97, "module-bittensor.core.types", false], [98, "module-bittensor.extras.dev_framework.calls", false], [99, "module-bittensor.extras.dev_framework.calls.non_sudo_calls", false], [100, "module-bittensor.extras.dev_framework.calls.pallets", false], [101, "module-bittensor.extras.dev_framework.calls.sudo_calls", false], [102, "module-bittensor.extras.dev_framework", false], [103, "module-bittensor.extras.dev_framework.subnet", false], [104, "module-bittensor.extras.dev_framework.utils", false], [105, "module-bittensor.extras", false], [106, "module-bittensor.extras.subtensor_api.chain", false], [107, "module-bittensor.extras.subtensor_api.commitments", false], [108, "module-bittensor.extras.subtensor_api.delegates", false], [109, "module-bittensor.extras.subtensor_api.extrinsics", false], [110, "module-bittensor.extras.subtensor_api", false], [111, "module-bittensor.extras.subtensor_api.metagraphs", false], [112, "module-bittensor.extras.subtensor_api.neurons", false], [113, "module-bittensor.extras.subtensor_api.queries", false], [114, "module-bittensor.extras.subtensor_api.staking", false], [115, "module-bittensor.extras.subtensor_api.subnets", false], [116, "module-bittensor.extras.subtensor_api.utils", false], [117, "module-bittensor.extras.subtensor_api.wallets", false], [118, "module-bittensor.extras.timelock", false], [119, "module-bittensor", false], [120, "module-bittensor.utils.axon_utils", false], [121, "module-bittensor.utils.balance", false], [122, "module-bittensor.utils.btlogging.console", false], [123, "module-bittensor.utils.btlogging.defines", false], [124, "module-bittensor.utils.btlogging.format", false], [125, "module-bittensor.utils.btlogging.helpers", false], [126, "module-bittensor.utils.btlogging", false], [127, "module-bittensor.utils.btlogging.levels", false], [128, "module-bittensor.utils.btlogging.loggingmachine", false], [129, "module-bittensor.utils.easy_imports", false], [130, "module-bittensor.utils.formatting", false], [131, "module-bittensor.utils", false], [132, "module-bittensor.utils.liquidity", false], [133, "module-bittensor.utils.networking", false], [134, "module-bittensor.utils.registration.async_pow", false], [135, "module-bittensor.utils.registration", false], [136, "module-bittensor.utils.registration.pow", false], [137, "module-bittensor.utils.registration.register_cuda", false], [138, "module-bittensor.utils.subnets", false], [139, "module-bittensor.utils.substrate_utils.hasher", false], [140, "module-bittensor.utils.substrate_utils", false], [141, "module-bittensor.utils.substrate_utils.storage", false], [142, "module-bittensor.utils.version", false], [143, "module-bittensor.utils.weight_utils", false]], "move_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.move_stake", false]], "move_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.move_stake", false]], "move_stake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.move_stake", false]], "move_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.move_stake", false]], "move_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE", false]], "move_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.move_stake", false]], "move_stake() (bittensor.core.extrinsics.params.move_stake.movestakeparams class method)": [[54, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams.move_stake", false]], "move_stake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.move_stake", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[32, "bittensor.core.extrinsics.asyncex.move_stake.move_stake_extrinsic", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[50, "bittensor.core.extrinsics.move_stake.move_stake_extrinsic", false]], "movestakeparams (class in bittensor.core.extrinsics.params.move_stake)": [[54, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams", false]], "moving_price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.moving_price", false]], "movingprice (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MovingPrice", false]], "multisig (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Multisig", false]], "n (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.n", false]], "n (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.n", false]], "n (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.n", false]], "name (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.name", false]], "name (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.name", false]], "name (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Name", false]], "name (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.name", false]], "name (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.name", false]], "name (bittensor.core.types.paramwithtypes attribute)": [[97, "bittensor.core.types.ParamWithTypes.name", false]], "name (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.name", false]], "nanoseconds_in_second (in module bittensor.utils.axon_utils)": [[120, "bittensor.utils.axon_utils.NANOSECONDS_IN_SECOND", false]], "nays (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.nays", false]], "netuid (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.netuid", false]], "netuid (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Netuid", false]], "netuid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.netuid", false]], "netuid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.netuid", false]], "netuid (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.netuid", false]], "netuid (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.netuid", false]], "netuid (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.netuid", false]], "netuid (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.netuid", false]], "netuid (bittensor.core.types.prometheusservecallparams attribute)": [[97, "bittensor.core.types.PrometheusServeCallParams.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.burned_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.root_dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_coldkey_auto_stake_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_commitment attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_fee_rate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.start_call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.toggle_user_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.update_symbol attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.netuid", false]], "netuid (bittensor.extras.dev_framework.subnet.testsubnet property)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.netuid", false]], "netuid (bittensor.extras.dev_framework.utils.activatesubnet attribute)": [[104, "bittensor.extras.dev_framework.utils.ActivateSubnet.netuid", false]], "netuid (bittensor.extras.dev_framework.utils.registerneuron attribute)": [[104, "bittensor.extras.dev_framework.utils.RegisterNeuron.netuid", false]], "netuid (bittensor.utils.balance.balance attribute)": [[121, "bittensor.utils.balance.Balance.netuid", false]], "netuid (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.netuid", false]], "netuid (in module bittensor.extras.dev_framework.subnet)": [[103, "bittensor.extras.dev_framework.subnet.NETUID", false]], "netuids (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS.netuids", false]], "netuids (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.netuids", false]], "network (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.network", false]], "network (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.network", false]], "network (bittensor.core.types.subtensormixin attribute)": [[97, "bittensor.core.types.SubtensorMixin.network", false]], "network (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.network", false]], "network_explorer_map (in module bittensor.core.settings)": [[78, "bittensor.core.settings.NETWORK_EXPLORER_MAP", false]], "network_map (in module bittensor.core.settings)": [[78, "bittensor.core.settings.NETWORK_MAP", false]], "network_registered_at (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.network_registered_at", false]], "network_registered_at (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.network_registered_at", false]], "network_registered_at (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.network_registered_at", false]], "networkregisteredat (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NetworkRegisteredAt", false]], "networks (in module bittensor.core.settings)": [[78, "bittensor.core.settings.NETWORKS", false]], "neuron_for_uid (bittensor.core.subtensor_api.neurons.neurons attribute)": [[87, "bittensor.core.subtensor_api.neurons.Neurons.neuron_for_uid", false]], "neuron_for_uid (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.neuron_for_uid", false]], "neuroninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfo", false]], "neuroninfo (class in bittensor.core.chain_data.neuron_info)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo", false]], "neuroninfolite (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfoLite", false]], "neuroninfolite (class in bittensor.core.chain_data.neuron_info_lite)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite", false]], "neurons (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.neurons", false]], "neurons (bittensor.core.subtensor_api.neurons.neurons attribute)": [[87, "bittensor.core.subtensor_api.neurons.Neurons.neurons", false]], "neurons (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.neurons", false]], "neurons (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons.neurons", false]], "neurons (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.neurons", false]], "neurons (class in bittensor.core.subtensor_api.neurons)": [[87, "bittensor.core.subtensor_api.neurons.Neurons", false]], "neurons (class in bittensor.extras.subtensor_api.neurons)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons", false]], "neurons() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons", false]], "neurons() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.neurons", false]], "neurons_lite (bittensor.core.subtensor_api.neurons.neurons attribute)": [[87, "bittensor.core.subtensor_api.neurons.Neurons.neurons_lite", false]], "neurons_lite (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons.neurons_lite", false]], "neurons_lite() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons_lite", false]], "neurons_lite() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.neurons_lite", false]], "new (bittensor.extras.dev_framework.calls.non_sudo_calls.change_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY.new", false], [99, "id5", false]], "new (bittensor.extras.dev_framework.calls.non_sudo_calls.set_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY.new", false]], "new (bittensor.extras.dev_framework.calls.non_sudo_calls.set_whitelist attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST.new", false]], "new_authorities (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_authorities attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES.new_authorities", false]], "new_cap (bittensor.extras.dev_framework.calls.non_sudo_calls.update_cap attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP.new_cap", false]], "new_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.new_coldkey", false]], "new_coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY.new_coldkey", false]], "new_coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.new_coldkey", false]], "new_end (bittensor.extras.dev_framework.calls.non_sudo_calls.update_end attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END.new_end", false]], "new_free (bittensor.extras.dev_framework.calls.non_sudo_calls.force_set_balance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE.new_free", false]], "new_hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.new_hotkey", false]], "new_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.set_max_space attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE.new_limit", false]], "new_members (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.new_members", false]], "new_min_contribution (bittensor.extras.dev_framework.calls.non_sudo_calls.update_min_contribution attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION.new_min_contribution", false]], "next_authorities (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.next_authorities", false]], "nominationerror": [[26, "bittensor.core.errors.NominationError", false]], "nominators (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.nominators", false]], "nominators (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.nominators", false]], "nonassociatedcoldkey": [[26, "bittensor.core.errors.NonAssociatedColdKey", false]], "nonce (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.nonce", false]], "nonce (bittensor.utils.registration.pow.powsolution attribute)": [[136, "bittensor.utils.registration.pow.POWSolution.nonce", false]], "nonces (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.nonces", false]], "nontorchmetagraph (class in bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.NonTorchMetagraph", false]], "normalize_max_weight() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.normalize_max_weight", false]], "notdelegateerror": [[26, "bittensor.core.errors.NotDelegateError", false]], "note_preimage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE", false]], "note_stalled (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED", false]], "notenoughstaketosetchildkeys": [[26, "bittensor.core.errors.NotEnoughStakeToSetChildkeys", false]], "notregisterederror": [[26, "bittensor.core.errors.NotRegisteredError", false]], "notverifiedexception": [[26, "bittensor.core.errors.NotVerifiedException", false]], "now (bittensor.extras.dev_framework.calls.non_sudo_calls.set attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET.now", false]], "null_entry (in module bittensor.core.threadpool)": [[95, "bittensor.core.threadpool.NULL_ENTRY", false]], "num_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.num_uids", false]], "num_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.num_uids", false]], "numpy() (bittensor.core.tensor.tensor method)": [[94, "bittensor.core.tensor.Tensor.numpy", false]], "numpyortorch (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.NumpyOrTorch", false]], "numuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NumUids", false]], "off() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.off", false]], "old_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.old_coldkey", false]], "old_coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.old_coldkey", false]], "old_count (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.old_count", false]], "oldest_round (bittensor.extras.dev_framework.calls.non_sudo_calls.set_oldest_stored_round attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND.oldest_round", false]], "on() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.on", false]], "operation (bittensor.extras.dev_framework.subnet.call_record attribute)": [[103, "bittensor.extras.dev_framework.subnet.CALL_RECORD.operation", false]], "origin_hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.origin_hotkey", false]], "origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.origin_netuid", false]], "origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.origin_netuid", false]], "origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.origin_netuid", false]], "origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.origin_netuid", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.other_signatories", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.other_signatories", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi_threshold_1 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1.other_signatories", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.other_signatories", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.other_signatories", false]], "owner (bittensor.extras.dev_framework.subnet.testsubnet property)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.owner", false]], "owner_coldkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.owner_coldkey", false]], "owner_hotkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.owner_hotkey", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.owner_ss58", false]], "ownercoldkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerColdkey", false]], "ownerhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerHotkey", false]], "pages (bittensor.extras.dev_framework.calls.non_sudo_calls.set_heap_pages attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES.pages", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER.pallet", false], [99, "id1", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.adjust_senate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.announce attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.apply_authorized_upgrade attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_derivative attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi_threshold_1 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade_without_checks attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burn attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burned_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.change_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY.pallet", false], [99, "id6", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_prime attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME.pallet", false], [99, "id9", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.contribute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.pallet", false], [99, "id12", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.decrease_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.disable_whitelist attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.disapprove_proposal attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as_fallible attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.ensure_updated attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.enter attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.execute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.extend attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.finalize attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_adjust_total_issuance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_batch attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_enter attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_exit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_extend attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_set_balance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_slash_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_unreserve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.if_else attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.increase_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_prefix attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_storage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.note_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.note_stalled attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.pallet", false], [99, "id15", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.refund attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_leased_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network_with_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reject_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remark attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remark_with_event attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER.pallet", false], [99, "id18", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxies attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation_unsigned attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.request_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reset_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS.pallet", false], [99, "id23", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.root_dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.root_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_base_fee_per_gas attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_beacon_config attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code_without_checks attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_coldkey_auto_stake_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_commitment attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_elasticity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_fee_rate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_heap_pages attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.pallet", false], [99, "id26", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_max_space attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_oldest_stored_round attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_pending_childkey_cooldown attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_prime attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME.pallet", false], [99, "id29", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_storage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_whitelist attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.start_call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.sudo attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO.pallet", false], [99, "id34", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_authorities attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER.pallet", false], [99, "id38", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.terminate_lease attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.toggle_user_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transact attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_allow_death attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_keep_alive attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.try_associate_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unnote_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unrequest_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_cap attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_end attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_min_contribution attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_symbol attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.upgrade_accounts attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.pallet", false], [99, "id44", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.with_weight attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.pallet", false], [99, "id48", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.write_pulse attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_admin_freeze_window attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ck_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_coldkey_swap_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_version attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_default_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_dissolve_network_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_evm_chain_id attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_lock_reduction_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_delegate_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_min_lock_cost attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_nominator_min_required_stake attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_hparam_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_stake_threshold attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_moving_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_cut attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_total_issuance attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_childkey_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_delegate_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.pallet", false], [101, "id2", false]], "pallet (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.pallet", false]], "params (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.params", false]], "params_encoded (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.params_encoded", false]], "paramwithtypes (class in bittensor.core.types)": [[97, "bittensor.core.types.ParamWithTypes", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse class method)": [[93, "id4", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.parse_headers_to_inputs", false]], "pending_alpha_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_alpha_emission", false]], "pending_root_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_root_emission", false]], "pendingalphaemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingAlphaEmission", false]], "pendingrootemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingRootEmission", false]], "period (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.period", false]], "period (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.period", false]], "period (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.period", false]], "pipaddress (in module bittensor.core.settings)": [[78, "bittensor.core.settings.PIPADDRESS", false]], "placeholder1 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder1", false]], "placeholder1 (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.placeholder1", false]], "placeholder1 (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.placeholder1", false]], "placeholder1 (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.placeholder1", false]], "placeholder2 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder2", false]], "placeholder2 (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.placeholder2", false]], "placeholder2 (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.placeholder2", false]], "placeholder2 (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.placeholder2", false]], "poke_deposit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT", false], [99, "id14", false]], "pool (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.pool", false]], "port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.port", false]], "port (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.port", false]], "port (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.port", false]], "port (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.port", false]], "port (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.port", false]], "port (bittensor.core.types.prometheusservecallparams attribute)": [[97, "bittensor.core.types.PrometheusServeCallParams.port", false]], "port (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.port", false]], "port (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.port", false]], "port (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.port", false]], "position_id (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.position_id", false]], "position_id (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.position_id", false]], "postprocessexception": [[26, "bittensor.core.errors.PostProcessException", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pow_registration_allowed", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.pow_registration_allowed", false]], "powregistrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PowRegistrationAllowed", false]], "powsolution (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.POWSolution", false]], "precompile_id (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.precompile_id", false]], "prefix (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_prefix attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX.prefix", false]], "preimage (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Preimage", false]], "prepare_synapse() (bittensor.utils.subnets.subnetsapi method)": [[138, "bittensor.utils.subnets.SubnetsAPI.prepare_synapse", false]], "preprocess() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.preprocess", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.preprocess_synapse_for_request", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.preprocess_synapse_for_request", false], [25, "id8", false]], "price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.price", false]], "price_high (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.price_high", false]], "price_low (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.price_low", false]], "price_step (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.PRICE_STEP", false]], "price_to_tick() (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.price_to_tick", false]], "prime (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.prime", false]], "priority (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.priority", false]], "priority (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.priority", false]], "priority (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.priority", false]], "priority (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.priority", false]], "priority() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.priority", false]], "priority_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.priority_fns", false]], "priorityexception": [[26, "bittensor.core.errors.PriorityException", false]], "prioritythreadpoolexecutor (class in bittensor.core.threadpool)": [[95, "bittensor.core.threadpool.PriorityThreadPoolExecutor", false]], "process_error_message() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.process_error_message", false]], "process_nested() (in module bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.process_nested", false]], "process_responses() (bittensor.utils.subnets.subnetsapi method)": [[138, "bittensor.utils.subnets.SubnetsAPI.process_responses", false]], "process_server_response() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.process_server_response", false]], "process_server_response() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.process_server_response", false], [25, "id9", false]], "process_stake_data() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.process_stake_data", false]], "process_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[79, "bittensor.core.stream.StreamingSynapse.process_streaming_response", false]], "process_time (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.process_time", false]], "process_weights() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.process_weights", false]], "process_weights_for_netuid() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.process_weights_for_netuid", false]], "prometheus_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.prometheus_info", false]], "prometheus_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.prometheus_info", false]], "prometheusinfo (class in bittensor.core.chain_data.prometheus_info)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo", false]], "prometheusservecallparams (class in bittensor.core.types)": [[97, "bittensor.core.types.PrometheusServeCallParams", false]], "proportionoverflow": [[26, "bittensor.core.errors.ProportionOverflow", false]], "proposal (bittensor.extras.dev_framework.calls.non_sudo_calls.execute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE.proposal", false]], "proposal (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.proposal", false]], "proposal (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.proposal", false], [99, "id45", false]], "proposal_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.proposal_hash", false]], "proposal_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.disapprove_proposal attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL.proposal_hash", false]], "proposal_weight_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.proposal_weight_bound", false]], "proposalvotedata (class in bittensor.core.chain_data.proposal_vote_data)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData", false]], "propose (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE", false]], "protocol (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.protocol", false]], "protocol (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.protocol", false]], "protocol (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.protocol", false]], "protocol (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.protocol", false]], "protocol (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.protocol", false]], "proxy (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY", false]], "proxy (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Proxy", false]], "proxy_announced (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED", false]], "proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.proxy_type", false]], "proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.proxy_type", false]], "proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.proxy_type", false]], "proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.proxy_type", false]], "pruning_score (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.pruning_score", false]], "pruning_score (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.pruning_score", false]], "pruning_score (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.pruning_score", false]], "pruningscore (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PruningScore", false]], "publish_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[35, "bittensor.core.extrinsics.asyncex.serving.publish_metadata", false]], "publish_metadata() (in module bittensor.core.extrinsics.serving)": [[66, "bittensor.core.extrinsics.serving.publish_metadata", false]], "pulses_payload (bittensor.extras.dev_framework.calls.non_sudo_calls.write_pulse attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE.pulses_payload", false]], "queries (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.queries", false]], "queries (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.queries", false]], "queries (class in bittensor.core.subtensor_api.queries)": [[88, "bittensor.core.subtensor_api.queries.Queries", false]], "queries (class in bittensor.extras.subtensor_api.queries)": [[113, "bittensor.extras.subtensor_api.queries.Queries", false]], "query() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.query", false]], "query() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.query", false], [25, "id11", false]], "query_api() (bittensor.utils.subnets.subnetsapi method)": [[138, "bittensor.utils.subnets.SubnetsAPI.query_api", false]], "query_constant (bittensor.core.subtensor_api.queries.queries attribute)": [[88, "bittensor.core.subtensor_api.queries.Queries.query_constant", false]], "query_constant (bittensor.extras.subtensor_api.queries.queries attribute)": [[113, "bittensor.extras.subtensor_api.queries.Queries.query_constant", false]], "query_constant() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_constant", false]], "query_constant() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_constant", false]], "query_identity (bittensor.core.subtensor_api.neurons.neurons attribute)": [[87, "bittensor.core.subtensor_api.neurons.Neurons.query_identity", false]], "query_identity (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons.query_identity", false]], "query_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_identity", false]], "query_identity() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_identity", false]], "query_map (bittensor.core.subtensor_api.queries.queries attribute)": [[88, "bittensor.core.subtensor_api.queries.Queries.query_map", false]], "query_map (bittensor.extras.subtensor_api.queries.queries attribute)": [[113, "bittensor.extras.subtensor_api.queries.Queries.query_map", false]], "query_map() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map", false]], "query_map() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_map", false]], "query_map_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[88, "bittensor.core.subtensor_api.queries.Queries.query_map_subtensor", false]], "query_map_subtensor (bittensor.extras.subtensor_api.queries.queries attribute)": [[113, "bittensor.extras.subtensor_api.queries.Queries.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_map_subtensor", false]], "query_module (bittensor.core.subtensor_api.queries.queries attribute)": [[88, "bittensor.core.subtensor_api.queries.Queries.query_module", false]], "query_module (bittensor.extras.subtensor_api.queries.queries attribute)": [[113, "bittensor.extras.subtensor_api.queries.Queries.query_module", false]], "query_module() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_module", false]], "query_module() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_module", false]], "query_runtime_api (bittensor.core.subtensor_api.queries.queries attribute)": [[88, "bittensor.core.subtensor_api.queries.Queries.query_runtime_api", false]], "query_runtime_api (bittensor.extras.subtensor_api.queries.queries attribute)": [[113, "bittensor.extras.subtensor_api.queries.Queries.query_runtime_api", false]], "query_runtime_api() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_runtime_api", false]], "query_runtime_api() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_runtime_api", false]], "query_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[88, "bittensor.core.subtensor_api.queries.Queries.query_subtensor", false]], "query_subtensor (bittensor.extras.subtensor_api.queries.queries attribute)": [[113, "bittensor.extras.subtensor_api.queries.Queries.query_subtensor", false]], "query_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_subtensor", false]], "query_subtensor() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_subtensor", false]], "r (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.R", false]], "raise_error (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.raise_error", false]], "rank (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rank", false]], "rank (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rank", false]], "rank (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.rank", false]], "rank (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.rank", false]], "rank (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.rank", false]], "ranks (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.ranks", false]], "ranks (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.ranks", false]], "ranks (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.ranks", false]], "rao (bittensor.utils.balance.balance attribute)": [[121, "bittensor.utils.balance.Balance.rao", false]], "rao() (in module bittensor.utils.balance)": [[121, "bittensor.utils.balance.rao", false]], "rao_recycled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.rao_recycled", false]], "rao_symbol (in module bittensor.core.settings)": [[78, "bittensor.core.settings.RAO_SYMBOL", false]], "rao_unit (bittensor.utils.balance.balance attribute)": [[121, "bittensor.utils.balance.Balance.rao_unit", false]], "raopertao (in module bittensor.utils)": [[131, "bittensor.utils.RAOPERTAO", false]], "rate (bittensor.extras.dev_framework.calls.non_sudo_calls.set_fee_rate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE.rate", false]], "rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT.rate_limit", false]], "read_only (in module bittensor.core.settings)": [[78, "bittensor.core.settings.READ_ONLY", false]], "real (bittensor.extras.dev_framework.calls.non_sudo_calls.announce attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE.real", false]], "real (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.real", false]], "real (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.real", false]], "real (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT.real", false]], "record_log (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.record_log", false]], "recreate_calls_subpackage() (in module bittensor.extras.dev_framework.calls)": [[98, "bittensor.extras.dev_framework.calls.recreate_calls_subpackage", false]], "recycle (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.recycle", false]], "recycle (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.recycle", false]], "recycle() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.recycle", false]], "recycle() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.recycle", false]], "recycle_alpha (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA", false]], "recycle_or_burn (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.recycle_or_burn", false]], "refund (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND", false]], "register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register", false]], "register (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.register", false]], "register (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.register", false]], "register (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER", false]], "register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register", false]], "register() (bittensor.core.extrinsics.params.registration.registrationparams class method)": [[55, "bittensor.core.extrinsics.params.registration.RegistrationParams.register", false]], "register() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.register", false]], "register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[33, "bittensor.core.extrinsics.asyncex.registration.register_extrinsic", false]], "register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[64, "bittensor.core.extrinsics.registration.register_extrinsic", false]], "register_leased_network (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK", false]], "register_network (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK", false]], "register_network() (bittensor.core.extrinsics.params.registration.registrationparams class method)": [[55, "bittensor.core.extrinsics.params.registration.RegistrationParams.register_network", false]], "register_network_with_identity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY", false]], "register_neuron (in module bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.REGISTER_NEURON", false]], "register_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.register_primary_logger", false]], "register_subnet (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register_subnet", false]], "register_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.register_subnet", false]], "register_subnet (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.register_subnet", false]], "register_subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.register_subnet", false]], "register_subnet (in module bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.REGISTER_SUBNET", false]], "register_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register_subnet", false]], "register_subnet() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.register_subnet", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[33, "bittensor.core.extrinsics.asyncex.registration.register_subnet_extrinsic", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.registration)": [[64, "bittensor.core.extrinsics.registration.register_subnet_extrinsic", false]], "registerneuron (class in bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.RegisterNeuron", false]], "registersubnet (class in bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.RegisterSubnet", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.registration_allowed", false]], "registration_allowed (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.registration_allowed", false]], "registration_allowed (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.registration_allowed", false]], "registrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.RegistrationAllowed", false]], "registrationerror": [[26, "bittensor.core.errors.RegistrationError", false]], "registrationnotpermittedonrootsubnet": [[26, "bittensor.core.errors.RegistrationNotPermittedOnRootSubnet", false]], "registrationparams (class in bittensor.core.extrinsics.params.registration)": [[55, "bittensor.core.extrinsics.params.registration.RegistrationParams", false]], "registrations (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.registrations", false]], "registrations (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.registrations", false]], "registrationstatistics (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics", false]], "registrationstatisticslogger (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger", false]], "registry (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Registry", false]], "reject_announcement (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT", false]], "release_deposit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT", false]], "remark (bittensor.extras.dev_framework.calls.non_sudo_calls.remark attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK.remark", false]], "remark (bittensor.extras.dev_framework.calls.non_sudo_calls.remark_with_event attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT.remark", false]], "remark (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK", false]], "remark_with_event (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT", false]], "remove (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER.remove", false], [99, "id39", false]], "remove_announcement (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT", false]], "remove_key (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY", false]], "remove_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.remove_liquidity", false]], "remove_liquidity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.remove_liquidity", false]], "remove_liquidity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY", false]], "remove_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.remove_liquidity", false]], "remove_liquidity() (bittensor.core.extrinsics.params.liquidity.liquidityparams class method)": [[53, "bittensor.core.extrinsics.params.liquidity.LiquidityParams.remove_liquidity", false]], "remove_liquidity() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.remove_liquidity", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[30, "bittensor.core.extrinsics.asyncex.liquidity.remove_liquidity_extrinsic", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[48, "bittensor.core.extrinsics.liquidity.remove_liquidity_extrinsic", false]], "remove_member (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER", false], [99, "id17", false]], "remove_proxies (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES", false]], "remove_proxy (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY", false]], "remove_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE", false]], "remove_stake() (bittensor.core.extrinsics.params.unstaking.unstakingparams class method)": [[62, "bittensor.core.extrinsics.params.unstaking.UnstakingParams.remove_stake", false]], "remove_stake_full_limit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT", false]], "remove_stake_full_limit() (bittensor.core.extrinsics.params.unstaking.unstakingparams class method)": [[62, "bittensor.core.extrinsics.params.unstaking.UnstakingParams.remove_stake_full_limit", false]], "remove_stake_limit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT", false]], "remove_stake_limit() (bittensor.core.extrinsics.params.unstaking.unstakingparams class method)": [[62, "bittensor.core.extrinsics.params.unstaking.UnstakingParams.remove_stake_limit", false]], "report_equivocation (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION", false]], "report_equivocation_unsigned (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED", false]], "request_preimage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE", false]], "required_hash_fields (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.required_hash_fields", false]], "reset_cuda() (in module bittensor.utils.registration.register_cuda)": [[137, "bittensor.utils.registration.register_cuda.reset_cuda", false]], "reset_members (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS", false], [99, "id21", false]], "response (bittensor.extras.dev_framework.subnet.call_record attribute)": [[103, "bittensor.extras.dev_framework.subnet.CALL_RECORD.response", false]], "retries (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.retries", false]], "retries (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.retries", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.return_per_1000", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.return_per_1000", false]], "reveal_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS", false]], "reveal_mechanism_weights() (bittensor.core.extrinsics.params.weights.weightsparams class method)": [[63, "bittensor.core.extrinsics.params.weights.WeightsParams.reveal_mechanism_weights", false]], "reveal_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.mechanism)": [[31, "bittensor.core.extrinsics.asyncex.mechanism.reveal_mechanism_weights_extrinsic", false]], "reveal_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.mechanism)": [[49, "bittensor.core.extrinsics.mechanism.reveal_mechanism_weights_extrinsic", false]], "reveal_round (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.reveal_round", false]], "reveal_round (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.reveal_round", false]], "reveal_round (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.reveal_round", false]], "reveal_round (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.reveal_round", false]], "reveal_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.reveal_weights", false]], "reveal_weights (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.reveal_weights", false]], "reveal_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS", false]], "reveal_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.reveal_weights", false]], "reveal_weights() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.reveal_weights", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[43, "bittensor.core.extrinsics.asyncex.weights.reveal_weights_extrinsic", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[46, "bittensor.core.extrinsics.commit_weights.reveal_weights_extrinsic", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.weights)": [[75, "bittensor.core.extrinsics.weights.reveal_weights_extrinsic", false]], "reverse_network_map (in module bittensor.core.settings)": [[78, "bittensor.core.settings.REVERSE_NETWORK_MAP", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rho", false]], "rho (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.rho", false]], "rho (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.rho", false]], "rho (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.rho", false]], "root_dissolve_network (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK", false]], "root_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_register", false]], "root_register (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.root_register", false]], "root_register (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER", false]], "root_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_register", false]], "root_register() (bittensor.core.extrinsics.params.root.rootparams class method)": [[56, "bittensor.core.extrinsics.params.root.RootParams.root_register", false]], "root_register() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.root_register", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[34, "bittensor.core.extrinsics.asyncex.root.root_register_extrinsic", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.root)": [[65, "bittensor.core.extrinsics.root.root_register_extrinsic", false]], "root_set_pending_childkey_cooldown (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[27, "bittensor.core.extrinsics.asyncex.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.children)": [[44, "bittensor.core.extrinsics.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_weights", false]], "root_set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_weights", false]], "root_set_weights() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.root_set_weights", false]], "root_tao_stake_weight (in module bittensor.core.settings)": [[78, "bittensor.core.settings.ROOT_TAO_STAKE_WEIGHT", false]], "rootparams (class in bittensor.core.extrinsics.params.root)": [[56, "bittensor.core.extrinsics.params.root.RootParams", false]], "rounds_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.rounds_total", false]], "router (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.router", false]], "run() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.run", false]], "run() (bittensor.utils.registration.pow.cudasolver method)": [[136, "bittensor.utils.registration.pow.CUDASolver.run", false]], "run() (bittensor.utils.registration.pow.solver method)": [[136, "bittensor.utils.registration.pow.Solver.run", false]], "run_in_thread() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.run_in_thread", false]], "runexception": [[26, "bittensor.core.errors.RunException", false]], "runtime_config (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.runtime_config", false]], "s (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.S", false]], "s (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.s", false]], "safe_globals() (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.safe_globals", false]], "safemode (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.SafeMode", false]], "salt (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.salt", false]], "salt (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.salt", false]], "salt (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.salt", false]], "salt (in module bittensor.core.types)": [[97, "bittensor.core.types.Salt", false]], "salts_list (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.salts_list", false]], "save() (bittensor.core.metagraph.metagraphmixin method)": [[77, "bittensor.core.metagraph.MetagraphMixin.save", false]], "scaling_law_power (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.scaling_law_power", false]], "schedule (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE", false]], "schedule_after (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER", false]], "schedule_grandpa_change (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE", false]], "schedule_named (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED", false]], "schedule_named_after (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER", false]], "schedule_swap_coldkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY", false]], "scheduledcoldkeyswapinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.ScheduledColdkeySwapInfo", false]], "scheduledcoldkeyswapinfo (class in bittensor.core.chain_data.scheduled_coldkey_swap_info)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo", false]], "scheduler (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Scheduler", false]], "seal (bittensor.utils.registration.pow.powsolution attribute)": [[136, "bittensor.utils.registration.pow.POWSolution.seal", false]], "selective_metagraph_commitments_offset (in module bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.SELECTIVE_METAGRAPH_COMMITMENTS_OFFSET", false]], "selectivemetagraphindex (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex", false]], "senatemembers (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.SenateMembers", false]], "serialize() (bittensor.core.tensor.tensor static method)": [[94, "bittensor.core.tensor.Tensor.serialize", false]], "serve() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.serve", false]], "serve_axon (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.serve_axon", false]], "serve_axon (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.serve_axon", false]], "serve_axon (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON", false]], "serve_axon() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.serve_axon", false]], "serve_axon() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.serve_axon", false]], "serve_axon_and_tls() (bittensor.core.extrinsics.params.serving.servingparams class method)": [[57, "bittensor.core.extrinsics.params.serving.ServingParams.serve_axon_and_tls", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[35, "bittensor.core.extrinsics.asyncex.serving.serve_axon_extrinsic", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.serving)": [[66, "bittensor.core.extrinsics.serving.serve_axon_extrinsic", false]], "serve_axon_tls (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[35, "bittensor.core.extrinsics.asyncex.serving.serve_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.serving)": [[66, "bittensor.core.extrinsics.serving.serve_extrinsic", false]], "serve_prometheus (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.serving_rate_limit", false]], "serving_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.serving_rate_limit", false]], "servingparams (class in bittensor.core.extrinsics.params.serving)": [[57, "bittensor.core.extrinsics.params.serving.ServingParams", false]], "servingratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ServingRateLimit", false]], "session (bittensor.core.dendrite.dendritemixin property)": [[25, "bittensor.core.dendrite.DendriteMixin.session", false]], "set (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET", false]], "set_auto_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.set_auto_stake", false]], "set_base_fee_per_gas (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS", false]], "set_beacon_config (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG", false]], "set_childkey_take (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE", false]], "set_children (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_children", false]], "set_children (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.set_children", false]], "set_children (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.set_children", false]], "set_children (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN", false]], "set_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_children", false]], "set_children() (bittensor.core.extrinsics.params.children.childrenparams class method)": [[51, "bittensor.core.extrinsics.params.children.ChildrenParams.set_children", false]], "set_children() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.set_children", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[27, "bittensor.core.extrinsics.asyncex.children.set_children_extrinsic", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.children)": [[44, "bittensor.core.extrinsics.children.set_children_extrinsic", false]], "set_code (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE", false]], "set_code_without_checks (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS", false]], "set_coldkey_auto_stake_hotkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY", false]], "set_coldkey_auto_stake_hotkey() (bittensor.core.extrinsics.params.staking.stakingparams class method)": [[58, "bittensor.core.extrinsics.params.staking.StakingParams.set_coldkey_auto_stake_hotkey", false]], "set_commitment (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor.subtensor attribute)": [[80, "bittensor.core.subtensor.Subtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.set_commitment", false]], "set_commitment (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.set_commitment", false]], "set_commitment (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.set_commitment", false]], "set_commitment (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT", false]], "set_commitment() (bittensor.core.extrinsics.params.serving.servingparams class method)": [[57, "bittensor.core.extrinsics.params.serving.ServingParams.set_commitment", false]], "set_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_config", false]], "set_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_console", false]], "set_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_debug", false]], "set_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_default", false]], "set_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.set_delegate_take", false]], "set_delegate_take (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.set_delegate_take", false]], "set_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_delegate_take", false]], "set_delegate_take() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.set_delegate_take", false]], "set_elasticity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY", false]], "set_fee_rate (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE", false]], "set_heap_pages (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES", false]], "set_hyperparameter() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.set_hyperparameter", false]], "set_identity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY", false], [99, "id25", false]], "set_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_info", false]], "set_key (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY", false]], "set_max_space (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE", false]], "set_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS", false]], "set_mechanism_weights() (bittensor.core.extrinsics.params.weights.weightsparams class method)": [[63, "bittensor.core.extrinsics.params.weights.WeightsParams.set_mechanism_weights", false]], "set_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.mechanism)": [[31, "bittensor.core.extrinsics.asyncex.mechanism.set_mechanism_weights_extrinsic", false]], "set_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.mechanism)": [[49, "bittensor.core.extrinsics.mechanism.set_mechanism_weights_extrinsic", false]], "set_members (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS", false]], "set_name_type() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.set_name_type", false]], "set_oldest_stored_round (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND", false]], "set_pending_childkey_cooldown (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN", false]], "set_pending_childkey_cooldown() (bittensor.core.extrinsics.params.children.childrenparams class method)": [[51, "bittensor.core.extrinsics.params.children.ChildrenParams.set_pending_childkey_cooldown", false]], "set_prime (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME", false], [99, "id28", false]], "set_retry (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY", false]], "set_retry_named (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED", false]], "set_reveal_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.set_reveal_commitment", false]], "set_reveal_commitment (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.set_reveal_commitment", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[34, "bittensor.core.extrinsics.asyncex.root.set_root_weights_extrinsic", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.root)": [[65, "bittensor.core.extrinsics.root.set_root_weights_extrinsic", false]], "set_storage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE", false]], "set_subnet_identity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_subnet_identity", false]], "set_subnet_identity (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.set_subnet_identity", false]], "set_subnet_identity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.set_subnet_identity", false]], "set_subnet_identity (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.set_subnet_identity", false]], "set_subnet_identity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY", false]], "set_subnet_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.extrinsics.params.registration.registrationparams class method)": [[55, "bittensor.core.extrinsics.params.registration.RegistrationParams.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.set_subnet_identity", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[33, "bittensor.core.extrinsics.asyncex.registration.set_subnet_identity_extrinsic", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.registration)": [[64, "bittensor.core.extrinsics.registration.set_subnet_identity_extrinsic", false]], "set_trace() (bittensor.utils.btlogging.format.btstreamformatter method)": [[124, "bittensor.utils.btlogging.format.BtStreamFormatter.set_trace", false]], "set_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_trace", false]], "set_unit() (bittensor.utils.balance.balance method)": [[121, "bittensor.utils.balance.Balance.set_unit", false]], "set_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_warning", false]], "set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_weights", false]], "set_weights (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.set_weights", false]], "set_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS", false]], "set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_weights", false]], "set_weights() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.set_weights", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[43, "bittensor.core.extrinsics.asyncex.weights.set_weights_extrinsic", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.set_weights)": [[67, "bittensor.core.extrinsics.set_weights.set_weights_extrinsic", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.weights)": [[75, "bittensor.core.extrinsics.weights.set_weights_extrinsic", false]], "set_whitelist (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST", false]], "setlevel() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.setLevel", false]], "setup_config (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.setup_config", false]], "setup_config (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.setup_config", false]], "setup_config() (bittensor.core.types.subtensormixin static method)": [[97, "bittensor.core.types.SubtensorMixin.setup_config", false]], "shape (bittensor.core.tensor.tensor attribute)": [[94, "bittensor.core.tensor.Tensor.shape", false]], "should_exit (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.should_exit", false]], "should_sync (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.should_sync", false]], "should_sync (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.should_sync", false]], "shutdown() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[95, "bittensor.core.threadpool.PriorityThreadPoolExecutor.shutdown", false]], "sign_and_send_extrinsic (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.sign_and_send_extrinsic", false]], "signature (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.signature", false]], "signature (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.signature", false]], "signature (bittensor.extras.dev_framework.calls.non_sudo_calls.set_beacon_config attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG.signature", false]], "signature (bittensor.extras.dev_framework.calls.non_sudo_calls.write_pulse attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE.signature", false]], "sim_swap (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.sim_swap", false]], "simswapresult (class in bittensor.core.chain_data.sim_swap)": [[16, "bittensor.core.chain_data.sim_swap.SimSwapResult", false]], "slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.slippage", false]], "solve_cuda() (in module bittensor.utils.registration.register_cuda)": [[137, "bittensor.utils.registration.register_cuda.solve_cuda", false]], "solver (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.Solver", false]], "source (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.source", false]], "source (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.source", false]], "source (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.source", false]], "source (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.source", false]], "spawner (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.spawner", false]], "split_command() (in module bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.split_command", false]], "ss58 (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.ss58", false]], "ss58_address_length (in module bittensor.core.settings)": [[78, "bittensor.core.settings.SS58_ADDRESS_LENGTH", false]], "ss58_address_to_bytes() (in module bittensor.utils)": [[131, "bittensor.utils.ss58_address_to_bytes", false]], "ss58_decode (in module bittensor.utils)": [[131, "bittensor.utils.ss58_decode", false]], "ss58_format (in module bittensor.core.settings)": [[78, "bittensor.core.settings.SS58_FORMAT", false]], "ss58_to_vec_u8() (in module bittensor.utils)": [[131, "bittensor.utils.ss58_to_vec_u8", false]], "stake (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake", false]], "stake (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.stake", false]], "stake (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.stake", false]], "stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.stake", false]], "stake (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.stake", false]], "stake_dict (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake_dict", false]], "stake_dict (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake_dict", false]], "stakeerror": [[26, "bittensor.core.errors.StakeError", false]], "stakeinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.StakeInfo", false]], "stakeinfo (class in bittensor.core.chain_data.stake_info)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo", false]], "staking (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.staking", false]], "staking (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.staking", false]], "staking (class in bittensor.core.subtensor_api.staking)": [[89, "bittensor.core.subtensor_api.staking.Staking", false]], "staking (class in bittensor.extras.subtensor_api.staking)": [[114, "bittensor.extras.subtensor_api.staking.Staking", false]], "stakingparams (class in bittensor.core.extrinsics.params.staking)": [[58, "bittensor.core.extrinsics.params.staking.StakingParams", false]], "start() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.start", false]], "start() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.start", false]], "start() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.start", false]], "start() (bittensor.utils.registration.pow.status method)": [[136, "bittensor.utils.registration.pow.Status.start", false]], "start_call (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.start_call", false]], "start_call (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.start_call", false]], "start_call (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.start_call", false]], "start_call (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.start_call", false]], "start_call (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.start_call", false]], "start_call (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL", false]], "start_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.start_call", false]], "start_call() (bittensor.core.extrinsics.params.start_call.startcallparams class method)": [[59, "bittensor.core.extrinsics.params.start_call.StartCallParams.start_call", false]], "start_call() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.start_call", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.asyncex.start_call)": [[37, "bittensor.core.extrinsics.asyncex.start_call.start_call_extrinsic", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.start_call)": [[69, "bittensor.core.extrinsics.start_call.start_call_extrinsic", false]], "startcallparams (class in bittensor.core.extrinsics.params.start_call)": [[59, "bittensor.core.extrinsics.params.start_call.StartCallParams", false]], "started (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.started", false]], "state_call (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.state_call", false]], "state_call (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.state_call", false]], "state_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.state_call", false]], "state_call() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.state_call", false]], "state_dict() (bittensor.core.metagraph.metagraphmixin method)": [[77, "bittensor.core.metagraph.MetagraphMixin.state_dict", false]], "status (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.status", false]], "status (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.Status", false]], "status() (bittensor.utils.registration.pow.console static method)": [[136, "bittensor.utils.registration.pow.Console.status", false]], "status_code (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.status_code", false]], "status_message (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.status_message", false]], "steepness (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.steepness", false]], "steps (in module bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.STEPS", false]], "stop() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.stop", false]], "stop() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.stop", false]], "stop() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.stop", false]], "stop() (bittensor.utils.registration.pow.status method)": [[136, "bittensor.utils.registration.pow.Status.stop", false]], "storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.storage_function", false]], "storagefunctionnotfound (in module bittensor.core.errors)": [[26, "bittensor.core.errors.StorageFunctionNotFound", false]], "storagekey (class in bittensor.utils.substrate_utils.storage)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey", false]], "stream_response() (bittensor.core.stream.streamingsynapse.btstreamingresponse method)": [[79, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.stream_response", false]], "streamingsynapse (class in bittensor.core.stream)": [[79, "bittensor.core.stream.StreamingSynapse", false]], "streamingsynapse.btstreamingresponse (class in bittensor.core.stream)": [[79, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse", false]], "strtobool() (in module bittensor.utils)": [[131, "bittensor.utils.strtobool", false]], "subkeys (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_prefix attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX.subkeys", false]], "submit() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[95, "bittensor.core.threadpool.PriorityThreadPoolExecutor.submit", false]], "subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.subnet", false]], "subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.subnet", false]], "subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet", false]], "subnet() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.subnet", false]], "subnet_contact (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_contact", false]], "subnet_contact (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.subnet_contact", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_emission", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.subnet_emission", false]], "subnet_exists (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.subnet_exists", false]], "subnet_exists (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.subnet_exists", false]], "subnet_exists() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet_exists", false]], "subnet_exists() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.subnet_exists", false]], "subnet_identity (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_identity", false]], "subnet_is_active (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.subnet_is_active", false]], "subnet_name (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_name", false]], "subnet_name (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_name", false]], "subnet_name (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.subnet_name", false]], "subnet_owner_cut (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_cut attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT.subnet_owner_cut", false]], "subnet_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_url", false]], "subnet_url (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.subnet_url", false]], "subnet_volume (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.subnet_volume", false]], "subnetemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetEmission", false]], "subnethyperparameters (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.SubnetHyperparameters", false]], "subnethyperparameters (class in bittensor.core.chain_data.subnet_hyperparameters)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters", false]], "subnetidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.SubnetIdentity", false]], "subnetidentity (class in bittensor.core.chain_data.subnet_identity)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity", false]], "subnetinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.SubnetInfo", false]], "subnetinfo (class in bittensor.core.chain_data.subnet_info)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo", false]], "subnetnotexists": [[26, "bittensor.core.errors.SubnetNotExists", false]], "subnets (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.subnets", false]], "subnets (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.subnets", false]], "subnets (class in bittensor.core.subtensor_api.subnets)": [[90, "bittensor.core.subtensor_api.subnets.Subnets", false]], "subnets (class in bittensor.extras.subtensor_api.subnets)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets", false]], "subnetsapi (class in bittensor.utils.subnets)": [[138, "bittensor.utils.subnets.SubnetsAPI", false]], "subnetstate (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.SubnetState", false]], "subnetstate (class in bittensor.core.chain_data.subnet_state)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState", false]], "subnetvolume (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetVolume", false]], "subnetwork_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.subnetwork_n", false]], "subnetwork_n (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.subnetwork_n", false]], "subnetwork_n (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.subnetwork_n", false]], "subnetwork_n() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnetwork_n", false]], "subnetwork_n() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.subnetwork_n", false]], "substrate (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.substrate", false]], "substrate (bittensor.core.subtensor.subtensor attribute)": [[80, "bittensor.core.subtensor.Subtensor.substrate", false]], "substrate (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.substrate", false]], "substrate (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.substrate", false]], "substraterequestexception (in module bittensor.core.errors)": [[26, "bittensor.core.errors.SubstrateRequestException", false]], "subtensor (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.subtensor", false]], "subtensor (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.subtensor", false]], "subtensor (class in bittensor.core.subtensor)": [[80, "bittensor.core.subtensor.Subtensor", false]], "subtensor (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.subtensor", false]], "subtensorapi (class in bittensor.core.subtensor_api)": [[85, "bittensor.core.subtensor_api.SubtensorApi", false]], "subtensorapi (class in bittensor.extras.subtensor_api)": [[110, "bittensor.extras.subtensor_api.SubtensorApi", false]], "subtensormixin (class in bittensor.core.types)": [[97, "bittensor.core.types.SubtensorMixin", false]], "subtensormodule (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.SubtensorModule", false]], "subtoken_enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.subtoken_enabled", false]], "subvortex_entrypoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.SUBVORTEX_ENTRYPOINT", false]], "success (bittensor.utils.unlockstatus attribute)": [[131, "bittensor.utils.UnlockStatus.success", false]], "success() (bittensor.utils.btlogging.console.bittensorconsole method)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.success", false]], "success() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.success", false]], "success_level_num (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.SUCCESS_LEVEL_NUM", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_admin_freeze_window attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ck_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_coldkey_swap_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_version attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_default_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_dissolve_network_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_evm_chain_id attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_lock_reduction_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_delegate_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_min_lock_cost attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_nominator_min_required_stake attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_hparam_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_stake_threshold attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_moving_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_cut attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_total_issuance attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_childkey_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_delegate_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.sudo", false], [101, "id3", false]], "sudo (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO", false], [99, "id32", false]], "sudo (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Sudo", false]], "sudo_as (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS", false]], "sudo_call_extrinsic() (in module bittensor.core.extrinsics.asyncex.utils)": [[42, "bittensor.core.extrinsics.asyncex.utils.sudo_call_extrinsic", false]], "sudo_call_extrinsic() (in module bittensor.core.extrinsics.utils)": [[74, "bittensor.core.extrinsics.utils.sudo_call_extrinsic", false]], "sudo_set_activity_cutoff (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF", false]], "sudo_set_adjustment_alpha (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA", false]], "sudo_set_adjustment_interval (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL", false]], "sudo_set_admin_freeze_window (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW", false]], "sudo_set_admin_freeze_window_extrinsic() (in module bittensor.core.extrinsics.asyncex.sudo)": [[38, "bittensor.core.extrinsics.asyncex.sudo.sudo_set_admin_freeze_window_extrinsic", false]], "sudo_set_admin_freeze_window_extrinsic() (in module bittensor.core.extrinsics.sudo)": [[70, "bittensor.core.extrinsics.sudo.sudo_set_admin_freeze_window_extrinsic", false]], "sudo_set_alpha_sigmoid_steepness (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS", false]], "sudo_set_alpha_values (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES", false]], "sudo_set_bonds_moving_average (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE", false]], "sudo_set_bonds_penalty (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY", false]], "sudo_set_bonds_reset_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED", false]], "sudo_set_ck_burn (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN", false]], "sudo_set_coldkey_swap_schedule_duration (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION", false]], "sudo_set_commit_reveal_version (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION", false]], "sudo_set_commit_reveal_weights_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED", false]], "sudo_set_commit_reveal_weights_interval (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL", false]], "sudo_set_default_take (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE", false]], "sudo_set_difficulty (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY", false]], "sudo_set_dissolve_network_schedule_duration (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION", false]], "sudo_set_ema_price_halving_period (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD", false]], "sudo_set_evm_chain_id (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID", false]], "sudo_set_immunity_period (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD", false]], "sudo_set_kappa (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA", false]], "sudo_set_liquid_alpha_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED", false]], "sudo_set_lock_reduction_interval (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL", false]], "sudo_set_max_allowed_uids (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS", false]], "sudo_set_max_allowed_validators (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS", false]], "sudo_set_max_burn (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN", false]], "sudo_set_max_childkey_take (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE", false]], "sudo_set_max_difficulty (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY", false]], "sudo_set_max_registrations_per_block (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK", false]], "sudo_set_max_weight_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT", false]], "sudo_set_mechanism_count (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT", false]], "sudo_set_mechanism_count_extrinsic() (in module bittensor.core.extrinsics.asyncex.sudo)": [[38, "bittensor.core.extrinsics.asyncex.sudo.sudo_set_mechanism_count_extrinsic", false]], "sudo_set_mechanism_count_extrinsic() (in module bittensor.core.extrinsics.sudo)": [[70, "bittensor.core.extrinsics.sudo.sudo_set_mechanism_count_extrinsic", false]], "sudo_set_mechanism_emission_split (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT", false]], "sudo_set_mechanism_emission_split_extrinsic() (in module bittensor.core.extrinsics.asyncex.sudo)": [[38, "bittensor.core.extrinsics.asyncex.sudo.sudo_set_mechanism_emission_split_extrinsic", false]], "sudo_set_mechanism_emission_split_extrinsic() (in module bittensor.core.extrinsics.sudo)": [[70, "bittensor.core.extrinsics.sudo.sudo_set_mechanism_emission_split_extrinsic", false]], "sudo_set_min_allowed_uids (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS", false]], "sudo_set_min_allowed_weights (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS", false]], "sudo_set_min_burn (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN", false]], "sudo_set_min_childkey_take (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE", false]], "sudo_set_min_delegate_take (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE", false]], "sudo_set_min_difficulty (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY", false]], "sudo_set_network_immunity_period (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD", false]], "sudo_set_network_min_lock_cost (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST", false]], "sudo_set_network_pow_registration_allowed (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED", false]], "sudo_set_network_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT", false]], "sudo_set_network_registration_allowed (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED", false]], "sudo_set_nominator_min_required_stake (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE", false]], "sudo_set_owner_hparam_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT", false]], "sudo_set_owner_immune_neuron_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT", false]], "sudo_set_rao_recycled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED", false]], "sudo_set_recycle_or_burn (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN", false]], "sudo_set_rho (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO", false]], "sudo_set_serving_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT", false]], "sudo_set_sn_owner_hotkey (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY", false]], "sudo_set_stake_threshold (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD", false]], "sudo_set_subnet_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT", false]], "sudo_set_subnet_moving_alpha (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA", false]], "sudo_set_subnet_owner_cut (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT", false]], "sudo_set_subnet_owner_hotkey (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY", false]], "sudo_set_subtoken_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED", false]], "sudo_set_target_registrations_per_interval (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL", false]], "sudo_set_tempo (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO", false]], "sudo_set_toggle_transfer (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER", false]], "sudo_set_total_issuance (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE", false]], "sudo_set_tx_childkey_take_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT", false]], "sudo_set_tx_delegate_take_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT", false]], "sudo_set_tx_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT", false]], "sudo_set_weights_set_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT", false]], "sudo_set_weights_version_key (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY", false]], "sudo_set_yuma3_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED", false]], "sudo_toggle_evm_precompile (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE", false]], "sudo_trim_to_max_allowed_uids (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS", false]], "sudo_unchecked_weight (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT", false], [101, "id0", false]], "swap (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Swap", false]], "swap_authorities (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES", false]], "swap_coldkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY", false]], "swap_cost (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.swap_cost", false]], "swap_hotkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY", false]], "swap_member (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER", false], [99, "id36", false]], "swap_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.swap_stake", false]], "swap_stake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.swap_stake", false]], "swap_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.swap_stake", false]], "swap_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE", false]], "swap_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.swap_stake", false]], "swap_stake() (bittensor.core.extrinsics.params.move_stake.movestakeparams class method)": [[54, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams.swap_stake", false]], "swap_stake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.swap_stake", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[32, "bittensor.core.extrinsics.asyncex.move_stake.swap_stake_extrinsic", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[50, "bittensor.core.extrinsics.move_stake.swap_stake_extrinsic", false]], "swap_stake_limit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT", false]], "swap_stake_limit() (bittensor.core.extrinsics.params.move_stake.movestakeparams class method)": [[54, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams.swap_stake_limit", false]], "symbol (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Symbol", false]], "symbol (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.symbol", false]], "symbol (bittensor.extras.dev_framework.calls.non_sudo_calls.update_symbol attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL.symbol", false]], "synapse (bittensor.core.errors.synapseexception attribute)": [[26, "bittensor.core.errors.SynapseException.synapse", false]], "synapse (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[79, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.synapse", false]], "synapse (class in bittensor.core.synapse)": [[93, "bittensor.core.synapse.Synapse", false]], "synapse (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.synapse", false]], "synapse_history (bittensor.core.dendrite.dendritemixin attribute)": [[25, "bittensor.core.dendrite.DendriteMixin.synapse_history", false]], "synapse_to_response() (bittensor.core.axon.axonmiddleware class method)": [[1, "bittensor.core.axon.AxonMiddleware.synapse_to_response", false]], "synapsedendritenoneexception": [[26, "bittensor.core.errors.SynapseDendriteNoneException", false]], "synapseexception": [[26, "bittensor.core.errors.SynapseException", false]], "synapseparsingerror": [[26, "bittensor.core.errors.SynapseParsingError", false]], "sync() (bittensor.core.metagraph.asyncmetagraph method)": [[77, "bittensor.core.metagraph.AsyncMetagraph.sync", false]], "sync() (bittensor.core.metagraph.metagraph method)": [[77, "bittensor.core.metagraph.Metagraph.sync", false]], "system (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.System", false]], "t (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.T", false]], "t (in module bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.T", false]], "t (in module bittensor.core.config)": [[24, "bittensor.core.config.T", false]], "take (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.take", false]], "take (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.take", false]], "take (bittensor.extras.dev_framework.calls.non_sudo_calls.decrease_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.non_sudo_calls.increase_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_delegate_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE.take", false]], "takeerror": [[26, "bittensor.core.errors.TakeError", false]], "takeparams (class in bittensor.core.extrinsics.params.take)": [[60, "bittensor.core.extrinsics.params.take.TakeParams", false]], "tao (bittensor.utils.balance.balance property)": [[121, "bittensor.utils.balance.Balance.tao", false]], "tao() (in module bittensor.utils.balance)": [[121, "bittensor.utils.balance.tao", false]], "tao_amount (bittensor.core.chain_data.sim_swap.simswapresult attribute)": [[16, "bittensor.core.chain_data.sim_swap.SimSwapResult.tao_amount", false]], "tao_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_dividends_per_hotkey", false]], "tao_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.tao_dividends_per_hotkey", false]], "tao_fee (bittensor.core.chain_data.sim_swap.simswapresult attribute)": [[16, "bittensor.core.chain_data.sim_swap.SimSwapResult.tao_fee", false]], "tao_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.tao_in", false]], "tao_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.tao_in_emission", false]], "tao_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_slippage", false]], "tao_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_stake", false]], "tao_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.tao_stake", false]], "tao_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.tao_stake", false]], "tao_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.tao_stake", false]], "tao_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.tao_stake", false]], "tao_symbol (in module bittensor.core.settings)": [[78, "bittensor.core.settings.TAO_SYMBOL", false]], "tao_to_alpha() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha", false]], "tao_to_alpha_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha_with_slippage", false]], "taodividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoDividendsPerHotkey", false]], "taoin (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoIn", false]], "taoinemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoInEmission", false]], "taostake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoStake", false]], "target (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.target", false]], "target_address (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.target_address", false]], "target_registrations_per_interval (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.target_registrations_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.target_regs_per_interval", false]], "targetregsperinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TargetRegsPerInterval", false]], "task (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY.task", false]], "task (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.task", false]], "tempo (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Tempo", false]], "tempo (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.tempo", false]], "tempo (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.tempo", false]], "tempo (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.tempo", false]], "tempo (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.tempo", false]], "tempo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.tempo", false]], "tempo (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.tempo", false]], "tempo() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tempo", false]], "tempo() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.tempo", false]], "tensor (class in bittensor.core.tensor)": [[94, "bittensor.core.tensor.Tensor", false], [94, "bittensor.core.tensor.tensor", false]], "tensor (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.Tensor", false]], "tensor() (bittensor.core.tensor.tensor method)": [[94, "bittensor.core.tensor.Tensor.tensor", false]], "terminalinfo (class in bittensor.core.synapse)": [[93, "bittensor.core.synapse.TerminalInfo", false]], "terminate_lease (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE", false]], "terminate_workers_and_wait_for_exit() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.terminate_workers_and_wait_for_exit", false]], "testsubnet (class in bittensor.extras.dev_framework.subnet)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet", false]], "thread_pool (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.thread_pool", false]], "threshold (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.threshold", false]], "threshold (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.threshold", false]], "threshold (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.threshold", false]], "threshold (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.threshold", false]], "threshold (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.threshold", false]], "tick_high (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.tick_high", false]], "tick_low (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.tick_low", false]], "tick_to_price() (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.tick_to_price", false]], "time_average (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.time_average", false]], "time_spent (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent", false]], "time_spent_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent_total", false]], "timeout (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.timeout", false]], "timepoint (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.timepoint", false]], "timestamp (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Timestamp", false]], "to_dict() (bittensor.core.config.config method)": [[24, "bittensor.core.config.Config.to_dict", false]], "to_headers() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.to_headers", false], [93, "id5", false]], "to_hex() (bittensor.utils.substrate_utils.storage.storagekey method)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.to_hex", false]], "to_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_parameter_dict", false]], "to_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.to_parameter_dict", false]], "to_string() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.to_string", false]], "to_string() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_string", false]], "to_token_amounts() (bittensor.utils.liquidity.liquidityposition method)": [[132, "bittensor.utils.liquidity.LiquidityPosition.to_token_amounts", false]], "toggle (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.toggle", false]], "toggle_user_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.toggle_user_liquidity", false]], "toggle_user_liquidity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.toggle_user_liquidity", false]], "toggle_user_liquidity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY", false]], "toggle_user_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.extrinsics.params.liquidity.liquidityparams class method)": [[53, "bittensor.core.extrinsics.params.liquidity.LiquidityParams.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.toggle_user_liquidity", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[30, "bittensor.core.extrinsics.asyncex.liquidity.toggle_user_liquidity_extrinsic", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[48, "bittensor.core.extrinsics.liquidity.toggle_user_liquidity_extrinsic", false]], "token_streamer (bittensor.core.stream.btstreamingresponsemodel attribute)": [[79, "bittensor.core.stream.BTStreamingResponseModel.token_streamer", false]], "token_streamer (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[79, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.token_streamer", false]], "tolist() (bittensor.core.tensor.tensor method)": [[94, "bittensor.core.tensor.Tensor.tolist", false]], "toomanychildren": [[26, "bittensor.core.errors.TooManyChildren", false]], "torch (bittensor.core.tensor.dtypes attribute)": [[94, "bittensor.core.tensor.DTypes.torch", false]], "torch (in module bittensor.utils)": [[131, "bittensor.utils.torch", false]], "torch (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.torch", false]], "torchmetagraph (class in bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.TorchMetagraph", false]], "total_daily_return (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.total_daily_return", false]], "total_daily_return (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.total_daily_return", false]], "total_issuance (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_total_issuance attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE.total_issuance", false]], "total_size (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.total_size", false]], "total_stake (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.total_stake", false]], "total_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.total_stake", false]], "total_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.total_stake", false]], "total_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.total_stake", false]], "totalstake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TotalStake", false]], "tpb (bittensor.utils.registration.pow.cudasolver attribute)": [[136, "bittensor.utils.registration.pow.CUDASolver.tpb", false]], "trace (bittensor.utils.btlogging.format.btstreamformatter attribute)": [[124, "bittensor.utils.btlogging.format.BtStreamFormatter.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Trace", false]], "trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.trace", false]], "trace() (in module bittensor.utils.btlogging.levels)": [[127, "bittensor.utils.btlogging.levels.trace", false]], "trace() (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.trace", false]], "trace_level_num (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.TRACE_LEVEL_NUM", false]], "trace_log_format (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.TRACE_LOG_FORMAT", false]], "transact (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT", false]], "transaction (bittensor.extras.dev_framework.calls.non_sudo_calls.transact attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT.transaction", false]], "transfer (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer", false]], "transfer (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.transfer", false]], "transfer (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.transfer", false]], "transfer() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer", false]], "transfer() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.transfer", false]], "transfer_all (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL", false]], "transfer_all() (bittensor.core.extrinsics.params.transfer.transferparams class method)": [[61, "bittensor.core.extrinsics.params.transfer.TransferParams.transfer_all", false]], "transfer_allow_death (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH", false]], "transfer_allow_death() (bittensor.core.extrinsics.params.transfer.transferparams class method)": [[61, "bittensor.core.extrinsics.params.transfer.TransferParams.transfer_allow_death", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.asyncex.transfer)": [[40, "bittensor.core.extrinsics.asyncex.transfer.transfer_extrinsic", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.transfer)": [[72, "bittensor.core.extrinsics.transfer.transfer_extrinsic", false]], "transfer_keep_alive (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE", false]], "transfer_keep_alive() (bittensor.core.extrinsics.params.transfer.transferparams class method)": [[61, "bittensor.core.extrinsics.params.transfer.TransferParams.transfer_keep_alive", false]], "transfer_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer_stake", false]], "transfer_stake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.transfer_stake", false]], "transfer_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.transfer_stake", false]], "transfer_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE", false]], "transfer_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer_stake", false]], "transfer_stake() (bittensor.core.extrinsics.params.move_stake.movestakeparams class method)": [[54, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams.transfer_stake", false]], "transfer_stake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.transfer_stake", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[32, "bittensor.core.extrinsics.asyncex.move_stake.transfer_stake_extrinsic", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[50, "bittensor.core.extrinsics.move_stake.transfer_stake_extrinsic", false]], "transfererror": [[26, "bittensor.core.errors.TransferError", false]], "transferparams (class in bittensor.core.extrinsics.params.transfer)": [[61, "bittensor.core.extrinsics.params.transfer.TransferParams", false]], "transfers_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.transfers_enabled", false]], "triumvirate (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Triumvirate", false]], "triumviratemembers (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.TriumvirateMembers", false]], "trust (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.trust", false]], "trust (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Trust", false]], "trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.trust", false]], "trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.trust", false]], "trust (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.trust", false]], "trust (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.trust", false]], "trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.trust", false]], "trust (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.trust", false]], "try_associate_hotkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY", false]], "ts (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.TS", false]], "tv (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.Tv", false]], "two_x64_concat() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.two_x64_concat", false]], "tx_rate_limit (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.tx_rate_limit", false]], "tx_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_childkey_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT.tx_rate_limit", false]], "tx_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_delegate_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT.tx_rate_limit", false]], "tx_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT.tx_rate_limit", false]], "tx_rate_limit (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.tx_rate_limit", false]], "txratelimitexceeded": [[26, "bittensor.core.errors.TxRateLimitExceeded", false]], "type (bittensor.core.types.paramwithtypes attribute)": [[97, "bittensor.core.types.ParamWithTypes.type", false]], "type_registry (in module bittensor.core.settings)": [[78, "bittensor.core.settings.TYPE_REGISTRY", false]], "u16_max (in module bittensor.utils)": [[131, "bittensor.utils.U16_MAX", false]], "u16_max (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.U16_MAX", false]], "u16_normalized_float() (in module bittensor.utils)": [[131, "bittensor.utils.u16_normalized_float", false]], "u32_max (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.U32_MAX", false]], "u64_max (in module bittensor.utils)": [[131, "bittensor.utils.U64_MAX", false]], "u64_normalized_float() (in module bittensor.utils)": [[131, "bittensor.utils.u64_normalized_float", false]], "uid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.uid", false]], "uid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.uid", false]], "uids (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.uids", false]], "uids (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.uids", false]], "uids (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.uids", false]], "uids (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.uids", false]], "uids (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.uids", false]], "uids (in module bittensor.core.types)": [[97, "bittensor.core.types.UIDs", false]], "uids_list (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.uids_list", false]], "unit (bittensor.utils.balance.balance attribute)": [[121, "bittensor.utils.balance.Balance.unit", false]], "unknownsynapseerror": [[26, "bittensor.core.errors.UnknownSynapseError", false]], "unlock_key() (in module bittensor.utils)": [[131, "bittensor.utils.unlock_key", false]], "unlockstatus (class in bittensor.utils)": [[131, "bittensor.utils.UnlockStatus", false]], "unnote_preimage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE", false]], "unrequest_preimage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE", false]], "unstake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake", false]], "unstake (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.unstake", false]], "unstake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.unstake", false]], "unstake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.unstake", false]], "unstake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake", false]], "unstake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.unstake", false]], "unstake_all (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_all", false]], "unstake_all (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.unstake_all", false]], "unstake_all (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.unstake_all", false]], "unstake_all (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.unstake_all", false]], "unstake_all (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL", false]], "unstake_all() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_all", false]], "unstake_all() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.unstake_all", false]], "unstake_all_alpha (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[41, "bittensor.core.extrinsics.asyncex.unstaking.unstake_all_extrinsic", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[73, "bittensor.core.extrinsics.unstaking.unstake_all_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[41, "bittensor.core.extrinsics.asyncex.unstaking.unstake_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[73, "bittensor.core.extrinsics.unstaking.unstake_extrinsic", false]], "unstake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_multiple", false]], "unstake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.unstake_multiple", false]], "unstake_multiple (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.unstake_multiple", false]], "unstake_multiple (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.unstake_multiple", false]], "unstake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_multiple", false]], "unstake_multiple() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.unstake_multiple", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[41, "bittensor.core.extrinsics.asyncex.unstaking.unstake_multiple_extrinsic", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[73, "bittensor.core.extrinsics.unstaking.unstake_multiple_extrinsic", false]], "unstakeerror": [[26, "bittensor.core.errors.UnstakeError", false]], "unstakingparams (class in bittensor.core.extrinsics.params.unstaking)": [[62, "bittensor.core.extrinsics.params.unstaking.UnstakingParams", false]], "update() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.update", false]], "update() (bittensor.utils.registration.pow.status method)": [[136, "bittensor.utils.registration.pow.Status.update", false]], "update_cap (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP", false]], "update_curr_block() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.update_curr_block", false]], "update_end (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END", false]], "update_min_contribution (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION", false]], "update_symbol (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL", false]], "upgrade_accounts (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS", false]], "url (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.url", false]], "url (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.url", false]], "use_torch (in module bittensor.utils)": [[131, "bittensor.utils.use_torch", false]], "use_torch() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.use_torch", false]], "user_bittensor_dir (in module bittensor.core.settings)": [[78, "bittensor.core.settings.USER_BITTENSOR_DIR", false]], "user_liquidity_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.user_liquidity_enabled", false]], "usingspawnstartmethod (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.UsingSpawnStartMethod", false]], "utility (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Utility", false]], "uuid (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.uuid", false]], "uuid (bittensor.core.dendrite.dendritemixin attribute)": [[25, "bittensor.core.dendrite.DendriteMixin.uuid", false]], "uuid (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.uuid", false]], "v_7_2_0 (in module bittensor.core.axon)": [[1, "bittensor.core.axon.V_7_2_0", false]], "validate_chain_endpoint() (in module bittensor.utils)": [[131, "bittensor.utils.validate_chain_endpoint", false]], "validate_extrinsic_params (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.validate_extrinsic_params", false]], "validator_permit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_permit", false]], "validator_permit (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.validator_permit", false]], "validator_permit (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.validator_permit", false]], "validator_permit (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.validator_permit", false]], "validator_permit (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.validator_permit", false]], "validator_permits (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.validator_permits", false]], "validator_permits (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.validator_permits", false]], "validator_trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_trust", false]], "validator_trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_trust", false]], "validator_trust (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.validator_trust", false]], "validator_trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.validator_trust", false]], "validator_trust (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.validator_trust", false]], "validatorpermit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ValidatorPermit", false]], "validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validators", false]], "validators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Validators", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.burn attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_allow_death attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_keep_alive attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.value", false]], "value_scale_type (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.value_scale_type", false]], "values (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.values", false]], "values (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.values", false]], "values_list (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.values_list", false]], "verify() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.verify", false]], "verify_body_integrity() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.verify_body_integrity", false]], "verify_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.verify_fns", false]], "version (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.version", false]], "version (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.version", false]], "version (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.version", false]], "version (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.version", false]], "version (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.version", false]], "version (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.version", false]], "version (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.version", false]], "version (bittensor.core.types.prometheusservecallparams attribute)": [[97, "bittensor.core.types.PrometheusServeCallParams.version", false]], "version (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.version", false]], "version (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.version", false]], "version (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.version", false]], "version (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_version attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION.version", false]], "version_as_int (in module bittensor.core.settings)": [[78, "bittensor.core.settings.version_as_int", false]], "version_check_threshold (in module bittensor.utils.version)": [[142, "bittensor.utils.version.VERSION_CHECK_THRESHOLD", false]], "version_checking (in module bittensor.utils)": [[131, "bittensor.utils.version_checking", false]], "version_checking() (in module bittensor.utils.version)": [[142, "bittensor.utils.version.version_checking", false]], "version_key (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.version_key", false]], "version_key (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.version_key", false]], "version_key (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.version_key", false]], "version_key (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.version_key", false]], "version_keys (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.version_keys", false]], "version_keys (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.version_keys", false]], "version_split (in module bittensor.core.settings)": [[78, "bittensor.core.settings.version_split", false]], "versioncheckerror": [[142, "bittensor.utils.version.VersionCheckError", false]], "versioncheckerror (in module bittensor.utils)": [[131, "bittensor.utils.VersionCheckError", false]], "vote (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE", false], [99, "id41", false]], "w (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.W", false]], "wait_for_block (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.wait_for_block", false]], "wait_for_block (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.wait_for_block", false]], "wait_for_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.wait_for_block", false]], "wait_for_block() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.wait_for_block", false]], "wait_for_finalization (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.wait_for_finalization", false]], "wait_for_inclusion (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.wait_for_inclusion", false]], "wait_next_epoch() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.wait_next_epoch", false]], "wait_reveal_and_decrypt() (in module bittensor.core.timelock)": [[96, "bittensor.core.timelock.wait_reveal_and_decrypt", false]], "wait_reveal_and_decrypt() (in module bittensor.extras.timelock)": [[118, "bittensor.extras.timelock.wait_reveal_and_decrypt", false]], "wallet (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER.wallet", false], [99, "id2", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.adjust_senate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.announce attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.apply_authorized_upgrade attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_derivative attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi_threshold_1 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade_without_checks attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burn attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burned_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.change_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY.wallet", false], [99, "id7", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_prime attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME.wallet", false], [99, "id10", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.contribute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.wallet", false], [99, "id13", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.decrease_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.disable_whitelist attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.disapprove_proposal attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as_fallible attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.ensure_updated attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.enter attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.execute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.extend attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.finalize attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_adjust_total_issuance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_batch attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_enter attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_exit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_extend attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_set_balance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_slash_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_unreserve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.if_else attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.increase_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_prefix attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_storage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.note_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.note_stalled attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.wallet", false], [99, "id16", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.refund attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_leased_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network_with_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reject_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remark attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remark_with_event attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER.wallet", false], [99, "id19", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxies attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation_unsigned attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.request_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reset_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS.wallet", false], [99, "id24", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.root_dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.root_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_base_fee_per_gas attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_beacon_config attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code_without_checks attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_coldkey_auto_stake_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_commitment attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_elasticity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_fee_rate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_heap_pages attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.wallet", false], [99, "id27", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_max_space attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_oldest_stored_round attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_pending_childkey_cooldown attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_prime attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME.wallet", false], [99, "id30", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_storage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_whitelist attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.start_call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.sudo attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO.wallet", false], [99, "id35", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_authorities attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER.wallet", false], [99, "id40", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.terminate_lease attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.toggle_user_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transact attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_allow_death attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_keep_alive attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.try_associate_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unnote_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unrequest_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_cap attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_end attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_min_contribution attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_symbol attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.upgrade_accounts attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.wallet", false], [99, "id46", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.with_weight attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.wallet", false], [99, "id49", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.write_pulse attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_admin_freeze_window attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ck_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_coldkey_swap_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_version attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_default_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_dissolve_network_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_evm_chain_id attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_lock_reduction_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_delegate_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_min_lock_cost attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_nominator_min_required_stake attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_hparam_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_stake_threshold attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_moving_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_cut attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_total_issuance attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_childkey_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_delegate_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.wallet", false], [101, "id4", false]], "wallet (bittensor.extras.dev_framework.utils.activatesubnet attribute)": [[104, "bittensor.extras.dev_framework.utils.ActivateSubnet.wallet", false]], "wallet (bittensor.extras.dev_framework.utils.registerneuron attribute)": [[104, "bittensor.extras.dev_framework.utils.RegisterNeuron.wallet", false]], "wallet (bittensor.extras.dev_framework.utils.registersubnet attribute)": [[104, "bittensor.extras.dev_framework.utils.RegisterSubnet.wallet", false]], "wallet (bittensor.utils.subnets.subnetsapi attribute)": [[138, "bittensor.utils.subnets.SubnetsAPI.wallet", false]], "wallet (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.wallet", false]], "wallets (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.wallets", false]], "wallets (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.wallets", false]], "wallets (class in bittensor.core.subtensor_api.wallets)": [[92, "bittensor.core.subtensor_api.wallets.Wallets", false]], "wallets (class in bittensor.extras.subtensor_api.wallets)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets", false]], "wallets_dir (in module bittensor.core.settings)": [[78, "bittensor.core.settings.WALLETS_DIR", false]], "warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Warning", false]], "warning() (bittensor.utils.btlogging.console.bittensorconsole method)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.warning", false]], "warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.warning", false]], "warning() (in module bittensor.utils.btlogging.levels)": [[127, "bittensor.utils.btlogging.levels.warning", false]], "warning() (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.warning", false]], "weight (bittensor.extras.dev_framework.calls.non_sudo_calls.with_weight attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT.weight", false]], "weight (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.weight", false], [101, "id5", false]], "weightcommitinfo (class in bittensor.core.chain_data.weight_commit_info)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo", false]], "weights (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.weights", false]], "weights (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.weights", false]], "weights (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.weights", false]], "weights (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.weights", false]], "weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.weights", false]], "weights (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.weights", false]], "weights (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.weights", false]], "weights (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.weights", false]], "weights (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.weights", false]], "weights (in module bittensor.core.types)": [[97, "bittensor.core.types.Weights", false]], "weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights", false]], "weights() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.weights", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.weights_rate_limit", false]], "weights_rate_limit (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.weights_rate_limit", false]], "weights_set_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.weights_set_rate_limit", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_version", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_version", false]], "weights_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_version", false]], "weights_version_key (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.weights_version_key", false]], "weightsparams (class in bittensor.core.extrinsics.params.weights)": [[63, "bittensor.core.extrinsics.params.weights.WeightsParams", false]], "weightsratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsRateLimit", false]], "weightsversion (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsVersion", false]], "when (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL.when", false]], "when (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.when", false]], "when (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.when", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.add_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER.who", false], [99, "id3", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.force_set_balance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE.who", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.force_unreserve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE.who", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER.who", false], [99, "id20", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.set_prime attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME.who", false], [99, "id31", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.upgrade_accounts attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS.who", false]], "who (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.who", false]], "window (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_admin_freeze_window attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW.window", false]], "with_weight (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT", false]], "withdraw (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW", false], [99, "id47", false]], "work (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.work", false]], "work (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.work", false]], "write_pulse (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE", false]], "xxh128() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.xxh128", false]], "xxh64() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.xxh64", false]], "yuma_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.yuma_version", false]]}, "objects": {"": [[119, 0, 0, "-", "bittensor"]], "bittensor": [[76, 0, 0, "-", "core"], [105, 0, 0, "-", "extras"], [131, 0, 0, "-", "utils"]], "bittensor.core": [[0, 0, 0, "-", "async_subtensor"], [1, 0, 0, "-", "axon"], [7, 0, 0, "-", "chain_data"], [24, 0, 0, "-", "config"], [25, 0, 0, "-", "dendrite"], [26, 0, 0, "-", "errors"], [47, 0, 0, "-", "extrinsics"], [77, 0, 0, "-", "metagraph"], [78, 0, 0, "-", "settings"], [79, 0, 0, "-", "stream"], [80, 0, 0, "-", "subtensor"], [85, 0, 0, "-", "subtensor_api"], [93, 0, 0, "-", "synapse"], [94, 0, 0, "-", "tensor"], [95, 0, 0, "-", "threadpool"], [96, 0, 0, "-", "timelock"], [97, 0, 0, "-", "types"]], "bittensor.core.async_subtensor": [[0, 1, 1, "", "AsyncSubtensor"], [0, 5, 1, "", "get_async_subtensor"]], "bittensor.core.async_subtensor.AsyncSubtensor": [[0, 2, 1, "", "add_liquidity"], [0, 2, 1, "", "add_stake"], [0, 2, 1, "", "add_stake_multiple"], [0, 2, 1, "", "all_subnets"], [0, 3, 1, "", "block"], [0, 2, 1, "", "blocks_since_last_step"], [0, 2, 1, "", "blocks_since_last_update"], [0, 2, 1, "", "bonds"], [0, 2, 1, "", "burned_register"], [0, 2, 1, "", "close"], [0, 2, 1, "", "commit"], [0, 2, 1, "", "commit_reveal_enabled"], [0, 2, 1, "", "commit_weights"], [0, 2, 1, "", "determine_block_hash"], [0, 2, 1, "", "difficulty"], [0, 2, 1, "", "does_hotkey_exist"], [0, 2, 1, "", "encode_params"], [0, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [0, 2, 1, "", "get_admin_freeze_window"], [0, 2, 1, "", "get_all_commitments"], [0, 2, 1, "", "get_all_metagraphs_info"], [0, 2, 1, "", "get_all_neuron_certificates"], [0, 2, 1, "", "get_all_revealed_commitments"], [0, 2, 1, "", "get_all_subnets_info"], [0, 2, 1, "", "get_balance"], [0, 2, 1, "", "get_balances"], [0, 2, 1, "", "get_block_hash"], [0, 2, 1, "", "get_children"], [0, 2, 1, "", "get_children_pending"], [0, 2, 1, "", "get_commitment"], [0, 2, 1, "", "get_current_block"], [0, 2, 1, "", "get_current_weight_commit_info"], [0, 2, 1, "", "get_current_weight_commit_info_v2"], [0, 2, 1, "", "get_delegate_by_hotkey"], [0, 2, 1, "", "get_delegate_identities"], [0, 2, 1, "", "get_delegate_take"], [0, 2, 1, "", "get_delegated"], [0, 2, 1, "", "get_delegates"], [0, 2, 1, "", "get_existential_deposit"], [0, 2, 1, "", "get_hotkey_owner"], [0, 4, 1, "", "get_hotkey_stake"], [0, 2, 1, "", "get_hyperparameter"], [0, 2, 1, "", "get_last_commitment_bonds_reset_block"], [0, 2, 1, "", "get_liquidity_list"], [0, 2, 1, "", "get_mechanism_count"], [0, 2, 1, "", "get_mechanism_emission_split"], [0, 2, 1, "", "get_metagraph_info"], [0, 2, 1, "", "get_minimum_required_stake"], [0, 2, 1, "", "get_netuids_for_hotkey"], [0, 2, 1, "", "get_neuron_certificate"], [0, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [0, 2, 1, "", "get_next_epoch_start_block"], [0, 2, 1, "", "get_owned_hotkeys"], [0, 2, 1, "", "get_parents"], [0, 2, 1, "", "get_revealed_commitment"], [0, 2, 1, "", "get_revealed_commitment_by_hotkey"], [0, 2, 1, "", "get_stake"], [0, 2, 1, "", "get_stake_add_fee"], [0, 2, 1, "", "get_stake_for_coldkey"], [0, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [0, 2, 1, "", "get_stake_for_hotkey"], [0, 4, 1, "", "get_stake_info_for_coldkey"], [0, 2, 1, "", "get_stake_movement_fee"], [0, 2, 1, "", "get_stake_operations_fee"], [0, 2, 1, "", "get_stake_weight"], [0, 2, 1, "", "get_subnet_burn_cost"], [0, 2, 1, "", "get_subnet_hyperparameters"], [0, 2, 1, "", "get_subnet_info"], [0, 2, 1, "", "get_subnet_owner_hotkey"], [0, 2, 1, "", "get_subnet_price"], [0, 2, 1, "", "get_subnet_prices"], [0, 2, 1, "", "get_subnet_reveal_period_epochs"], [0, 2, 1, "", "get_subnet_validator_permits"], [0, 2, 1, "", "get_subnets"], [0, 2, 1, "", "get_timelocked_weight_commits"], [0, 2, 1, "", "get_timestamp"], [0, 2, 1, "", "get_total_subnets"], [0, 2, 1, "", "get_transfer_fee"], [0, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [0, 2, 1, "", "get_unstake_fee"], [0, 2, 1, "", "get_vote_data"], [0, 2, 1, "", "immunity_period"], [0, 2, 1, "", "initialize"], [0, 2, 1, "", "is_fast_blocks"], [0, 2, 1, "", "is_hotkey_delegate"], [0, 2, 1, "", "is_hotkey_registered"], [0, 2, 1, "", "is_hotkey_registered_any"], [0, 2, 1, "", "is_hotkey_registered_on_subnet"], [0, 2, 1, "", "is_in_admin_freeze_window"], [0, 2, 1, "", "is_subnet_active"], [0, 2, 1, "", "last_drand_round"], [0, 4, 1, "", "log_verbose"], [0, 2, 1, "", "max_weight_limit"], [0, 2, 1, "", "metagraph"], [0, 2, 1, "", "min_allowed_weights"], [0, 2, 1, "", "modify_liquidity"], [0, 2, 1, "", "move_stake"], [0, 2, 1, "", "neuron_for_uid"], [0, 2, 1, "", "neurons"], [0, 2, 1, "", "neurons_lite"], [0, 2, 1, "", "query_constant"], [0, 2, 1, "", "query_identity"], [0, 2, 1, "", "query_map"], [0, 2, 1, "", "query_map_subtensor"], [0, 2, 1, "", "query_module"], [0, 2, 1, "", "query_runtime_api"], [0, 2, 1, "", "query_subtensor"], [0, 2, 1, "", "recycle"], [0, 2, 1, "", "register"], [0, 2, 1, "", "register_subnet"], [0, 2, 1, "", "remove_liquidity"], [0, 2, 1, "", "reveal_weights"], [0, 2, 1, "", "root_register"], [0, 2, 1, "", "root_set_pending_childkey_cooldown"], [0, 2, 1, "", "root_set_weights"], [0, 2, 1, "", "serve_axon"], [0, 2, 1, "", "set_children"], [0, 4, 1, "", "set_commitment"], [0, 2, 1, "", "set_delegate_take"], [0, 2, 1, "", "set_reveal_commitment"], [0, 2, 1, "", "set_subnet_identity"], [0, 2, 1, "", "set_weights"], [0, 2, 1, "", "sign_and_send_extrinsic"], [0, 2, 1, "", "start_call"], [0, 2, 1, "", "state_call"], [0, 2, 1, "", "subnet"], [0, 2, 1, "", "subnet_exists"], [0, 2, 1, "", "subnetwork_n"], [0, 4, 1, "", "substrate"], [0, 2, 1, "", "swap_stake"], [0, 2, 1, "", "tempo"], [0, 2, 1, "", "toggle_user_liquidity"], [0, 2, 1, "", "transfer"], [0, 2, 1, "", "transfer_stake"], [0, 2, 1, "", "tx_rate_limit"], [0, 2, 1, "", "unstake"], [0, 2, 1, "", "unstake_all"], [0, 2, 1, "", "unstake_multiple"], [0, 2, 1, "", "wait_for_block"], [0, 2, 1, "", "weights"], [0, 2, 1, "", "weights_rate_limit"]], "bittensor.core.axon": [[1, 1, 1, "", "Axon"], [1, 1, 1, "", "AxonMiddleware"], [1, 1, 1, "", "FastAPIThreadedServer"], [1, 6, 1, "", "V_7_2_0"], [1, 5, 1, "", "create_error_response"], [1, 5, 1, "", "log_and_handle_error"]], "bittensor.core.axon.Axon": [[1, 2, 1, "", "add_args"], [1, 4, 1, "", "app"], [1, 2, 1, "", "attach"], [1, 4, 1, "", "blacklist_fns"], [1, 2, 1, "", "check_config"], [1, 2, 1, "", "config"], [1, 2, 1, "", "default_verify"], [1, 4, 1, "", "external_ip"], [1, 4, 1, "", "external_port"], [1, 4, 1, "", "fast_config"], [1, 4, 1, "", "fast_server"], [1, 4, 1, "", "forward_class_types"], [1, 4, 1, "", "forward_fns"], [1, 4, 1, "", "full_address"], [1, 2, 1, "", "help"], [1, 2, 1, "", "info"], [1, 4, 1, "", "ip"], [1, 4, 1, "", "middleware_cls"], [1, 4, 1, "", "nonces"], [1, 4, 1, "", "port"], [1, 4, 1, "", "priority_fns"], [1, 4, 1, "", "router"], [1, 2, 1, "", "serve"], [1, 2, 1, "", "start"], [1, 4, 1, "", "started"], [1, 2, 1, "", "stop"], [1, 4, 1, "", "thread_pool"], [1, 2, 1, "", "to_string"], [1, 4, 1, "", "uuid"], [1, 2, 1, "", "verify_body_integrity"], [1, 4, 1, "", "verify_fns"], [1, 4, 1, "", "wallet"]], "bittensor.core.axon.AxonMiddleware": [[1, 4, 1, "", "axon"], [1, 2, 1, "", "blacklist"], [1, 2, 1, "", "dispatch"], [1, 2, 1, "", "preprocess"], [1, 2, 1, "", "priority"], [1, 2, 1, "", "run"], [1, 2, 1, "", "synapse_to_response"], [1, 2, 1, "", "verify"]], "bittensor.core.axon.FastAPIThreadedServer": [[1, 2, 1, "", "install_signal_handlers"], [1, 4, 1, "", "is_running"], [1, 2, 1, "", "run_in_thread"], [1, 4, 1, "", "should_exit"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"]], "bittensor.core.chain_data": [[2, 0, 0, "-", "axon_info"], [3, 0, 0, "-", "chain_identity"], [4, 0, 0, "-", "delegate_info"], [5, 0, 0, "-", "delegate_info_lite"], [6, 0, 0, "-", "dynamic_info"], [8, 0, 0, "-", "info_base"], [9, 0, 0, "-", "ip_info"], [10, 0, 0, "-", "metagraph_info"], [11, 0, 0, "-", "neuron_info"], [12, 0, 0, "-", "neuron_info_lite"], [13, 0, 0, "-", "prometheus_info"], [14, 0, 0, "-", "proposal_vote_data"], [15, 0, 0, "-", "scheduled_coldkey_swap_info"], [16, 0, 0, "-", "sim_swap"], [17, 0, 0, "-", "stake_info"], [18, 0, 0, "-", "subnet_hyperparameters"], [19, 0, 0, "-", "subnet_identity"], [20, 0, 0, "-", "subnet_info"], [21, 0, 0, "-", "subnet_state"], [22, 0, 0, "-", "utils"], [23, 0, 0, "-", "weight_commit_info"]], "bittensor.core.chain_data.axon_info": [[2, 1, 1, "", "AxonInfo"]], "bittensor.core.chain_data.axon_info.AxonInfo": [[2, 4, 1, "", "coldkey"], [2, 2, 1, "", "from_neuron_info"], [2, 2, 1, "", "from_parameter_dict"], [2, 2, 1, "", "from_string"], [2, 4, 1, "", "hotkey"], [2, 4, 1, "", "ip"], [2, 2, 1, "", "ip_str"], [2, 4, 1, "", "ip_type"], [2, 3, 1, "", "is_serving"], [2, 4, 1, "", "placeholder1"], [2, 4, 1, "", "placeholder2"], [2, 4, 1, "", "port"], [2, 4, 1, "", "protocol"], [2, 2, 1, "", "to_parameter_dict"], [2, 2, 1, "", "to_string"], [2, 4, 1, "", "version"]], "bittensor.core.chain_data.chain_identity": [[3, 1, 1, "", "ChainIdentity"]], "bittensor.core.chain_data.chain_identity.ChainIdentity": [[3, 4, 1, "", "additional"], [3, 4, 1, "", "description"], [3, 4, 1, "", "discord"], [3, 4, 1, "", "github"], [3, 4, 1, "", "image"], [3, 4, 1, "", "name"], [3, 4, 1, "", "url"]], "bittensor.core.chain_data.delegate_info": [[4, 1, 1, "", "DelegateInfo"], [4, 1, 1, "", "DelegateInfoBase"], [4, 1, 1, "", "DelegatedInfo"]], "bittensor.core.chain_data.delegate_info.DelegateInfo": [[4, 4, 1, "", "nominators"], [4, 4, 1, "", "total_stake"]], "bittensor.core.chain_data.delegate_info.DelegateInfoBase": [[4, 4, 1, "", "hotkey_ss58"], [4, 4, 1, "", "owner_ss58"], [4, 4, 1, "", "registrations"], [4, 4, 1, "", "return_per_1000"], [4, 4, 1, "", "take"], [4, 4, 1, "", "total_daily_return"], [4, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.delegate_info.DelegatedInfo": [[4, 4, 1, "", "netuid"], [4, 4, 1, "", "stake"]], "bittensor.core.chain_data.delegate_info_lite": [[5, 1, 1, "", "DelegateInfoLite"]], "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite": [[5, 4, 1, "", "delegate_ss58"], [5, 4, 1, "", "nominators"], [5, 4, 1, "", "owner_ss58"], [5, 4, 1, "", "registrations"], [5, 4, 1, "", "return_per_1000"], [5, 4, 1, "", "take"], [5, 4, 1, "", "total_daily_return"], [5, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.dynamic_info": [[6, 1, 1, "", "DynamicInfo"]], "bittensor.core.chain_data.dynamic_info.DynamicInfo": [[6, 4, 1, "", "alpha_in"], [6, 4, 1, "", "alpha_in_emission"], [6, 4, 1, "", "alpha_out"], [6, 4, 1, "", "alpha_out_emission"], [6, 4, 1, "", "alpha_slippage"], [6, 2, 1, "", "alpha_to_tao"], [6, 2, 1, "", "alpha_to_tao_with_slippage"], [6, 4, 1, "", "blocks_since_last_step"], [6, 4, 1, "", "emission"], [6, 4, 1, "", "is_dynamic"], [6, 4, 1, "", "k"], [6, 4, 1, "", "last_step"], [6, 4, 1, "", "moving_price"], [6, 4, 1, "", "netuid"], [6, 4, 1, "", "network_registered_at"], [6, 4, 1, "", "owner_coldkey"], [6, 4, 1, "", "owner_hotkey"], [6, 4, 1, "", "pending_alpha_emission"], [6, 4, 1, "", "pending_root_emission"], [6, 4, 1, "", "price"], [6, 4, 1, "", "slippage"], [6, 4, 1, "", "subnet_identity"], [6, 4, 1, "", "subnet_name"], [6, 4, 1, "", "subnet_volume"], [6, 4, 1, "", "symbol"], [6, 4, 1, "", "tao_in"], [6, 4, 1, "", "tao_in_emission"], [6, 4, 1, "", "tao_slippage"], [6, 2, 1, "", "tao_to_alpha"], [6, 2, 1, "", "tao_to_alpha_with_slippage"], [6, 4, 1, "", "tempo"]], "bittensor.core.chain_data.info_base": [[8, 1, 1, "", "InfoBase"], [8, 6, 1, "", "T"]], "bittensor.core.chain_data.info_base.InfoBase": [[8, 2, 1, "", "from_dict"], [8, 2, 1, "", "list_from_dicts"]], "bittensor.core.chain_data.ip_info": [[9, 1, 1, "", "IPInfo"]], "bittensor.core.chain_data.ip_info.IPInfo": [[9, 2, 1, "", "encode"], [9, 2, 1, "", "from_parameter_dict"], [9, 4, 1, "", "ip"], [9, 4, 1, "", "ip_type"], [9, 4, 1, "", "protocol"], [9, 2, 1, "", "to_parameter_dict"]], "bittensor.core.chain_data.metagraph_info": [[10, 1, 1, "", "MetagraphInfo"], [10, 1, 1, "", "MetagraphInfoEmissions"], [10, 1, 1, "", "MetagraphInfoParams"], [10, 1, 1, "", "MetagraphInfoPool"], [10, 6, 1, "", "SELECTIVE_METAGRAPH_COMMITMENTS_OFFSET"], [10, 1, 1, "", "SelectiveMetagraphIndex"], [10, 5, 1, "", "get_selective_metagraph_commitments"], [10, 5, 1, "", "process_nested"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfo": [[10, 4, 1, "", "active"], [10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_dividends_per_hotkey"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "alpha_stake"], [10, 4, 1, "", "axons"], [10, 4, 1, "", "block"], [10, 4, 1, "", "block_at_registration"], [10, 4, 1, "", "blocks_since_last_step"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "coldkeys"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "commitments"], [10, 4, 1, "", "consensus"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "dividends"], [10, 4, 1, "", "emission"], [10, 4, 1, "", "hotkeys"], [10, 4, 1, "", "identities"], [10, 4, 1, "", "identity"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "incentives"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "last_step"], [10, 4, 1, "", "last_update"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_uids"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "mechid"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "name"], [10, 4, 1, "", "netuid"], [10, 4, 1, "", "network_registered_at"], [10, 4, 1, "", "num_uids"], [10, 4, 1, "", "owner_coldkey"], [10, 4, 1, "", "owner_hotkey"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "pruning_score"], [10, 4, 1, "", "rank"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "symbol"], [10, 4, 1, "", "tao_dividends_per_hotkey"], [10, 4, 1, "", "tao_in"], [10, 4, 1, "", "tao_in_emission"], [10, 4, 1, "", "tao_stake"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "total_stake"], [10, 4, 1, "", "trust"], [10, 4, 1, "", "validator_permit"], [10, 4, 1, "", "validators"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions": [[10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "tao_in_emission"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams": [[10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool": [[10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "tao_in"]], "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex": [[10, 4, 1, "", "Active"], [10, 4, 1, "", "ActivityCutoff"], [10, 4, 1, "", "AdjustmentAlpha"], [10, 4, 1, "", "AdjustmentInterval"], [10, 4, 1, "", "AlphaDividendsPerHotkey"], [10, 4, 1, "", "AlphaHigh"], [10, 4, 1, "", "AlphaIn"], [10, 4, 1, "", "AlphaInEmission"], [10, 4, 1, "", "AlphaLow"], [10, 4, 1, "", "AlphaOut"], [10, 4, 1, "", "AlphaOutEmission"], [10, 4, 1, "", "AlphaStake"], [10, 4, 1, "", "Axons"], [10, 4, 1, "", "Block"], [10, 4, 1, "", "BlockAtRegistration"], [10, 4, 1, "", "BlocksSinceLastStep"], [10, 4, 1, "", "BondsMovingAvg"], [10, 4, 1, "", "Burn"], [10, 4, 1, "", "Coldkeys"], [10, 4, 1, "", "CommitRevealPeriod"], [10, 4, 1, "", "CommitRevealWeightsEnabled"], [10, 4, 1, "", "Commitments"], [10, 4, 1, "", "Consensus"], [10, 4, 1, "", "Difficulty"], [10, 4, 1, "", "Dividends"], [10, 4, 1, "", "Emission"], [10, 4, 1, "", "Hotkeys"], [10, 4, 1, "", "Identities"], [10, 4, 1, "", "Identity"], [10, 4, 1, "", "ImmunityPeriod"], [10, 4, 1, "", "Incentives"], [10, 4, 1, "", "Kappa"], [10, 4, 1, "", "LastStep"], [10, 4, 1, "", "LastUpdate"], [10, 4, 1, "", "LiquidAlphaEnabled"], [10, 4, 1, "", "MaxBurn"], [10, 4, 1, "", "MaxDifficulty"], [10, 4, 1, "", "MaxRegsPerBlock"], [10, 4, 1, "", "MaxUids"], [10, 4, 1, "", "MaxValidators"], [10, 4, 1, "", "MaxWeightsLimit"], [10, 4, 1, "", "MinAllowedWeights"], [10, 4, 1, "", "MinBurn"], [10, 4, 1, "", "MinDifficulty"], [10, 4, 1, "", "MovingPrice"], [10, 4, 1, "", "Name"], [10, 4, 1, "", "Netuid"], [10, 4, 1, "", "NetworkRegisteredAt"], [10, 4, 1, "", "NumUids"], [10, 4, 1, "", "OwnerColdkey"], [10, 4, 1, "", "OwnerHotkey"], [10, 4, 1, "", "PendingAlphaEmission"], [10, 4, 1, "", "PendingRootEmission"], [10, 4, 1, "", "PowRegistrationAllowed"], [10, 4, 1, "", "PruningScore"], [10, 4, 1, "", "Rank"], [10, 4, 1, "", "RegistrationAllowed"], [10, 4, 1, "", "Rho"], [10, 4, 1, "", "ServingRateLimit"], [10, 4, 1, "", "SubnetEmission"], [10, 4, 1, "", "SubnetVolume"], [10, 4, 1, "", "Symbol"], [10, 4, 1, "", "TaoDividendsPerHotkey"], [10, 4, 1, "", "TaoIn"], [10, 4, 1, "", "TaoInEmission"], [10, 4, 1, "", "TaoStake"], [10, 4, 1, "", "TargetRegsPerInterval"], [10, 4, 1, "", "Tempo"], [10, 4, 1, "", "TotalStake"], [10, 4, 1, "", "Trust"], [10, 4, 1, "", "ValidatorPermit"], [10, 4, 1, "", "Validators"], [10, 4, 1, "", "WeightsRateLimit"], [10, 4, 1, "", "WeightsVersion"], [10, 2, 1, "", "all_indices"]], "bittensor.core.chain_data.neuron_info": [[11, 1, 1, "", "NeuronInfo"]], "bittensor.core.chain_data.neuron_info.NeuronInfo": [[11, 4, 1, "", "active"], [11, 4, 1, "", "axon_info"], [11, 4, 1, "", "bonds"], [11, 4, 1, "", "coldkey"], [11, 4, 1, "", "consensus"], [11, 4, 1, "", "dividends"], [11, 4, 1, "", "emission"], [11, 2, 1, "", "from_weights_bonds_and_neuron_lite"], [11, 2, 1, "", "get_null_neuron"], [11, 4, 1, "", "hotkey"], [11, 4, 1, "", "incentive"], [11, 4, 1, "", "is_null"], [11, 4, 1, "", "last_update"], [11, 4, 1, "", "netuid"], [11, 4, 1, "", "prometheus_info"], [11, 4, 1, "", "pruning_score"], [11, 4, 1, "", "rank"], [11, 4, 1, "", "stake"], [11, 4, 1, "", "stake_dict"], [11, 4, 1, "", "total_stake"], [11, 4, 1, "", "trust"], [11, 4, 1, "", "uid"], [11, 4, 1, "", "validator_permit"], [11, 4, 1, "", "validator_trust"], [11, 4, 1, "", "weights"]], "bittensor.core.chain_data.neuron_info_lite": [[12, 1, 1, "", "NeuronInfoLite"]], "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite": [[12, 4, 1, "", "active"], [12, 4, 1, "", "axon_info"], [12, 4, 1, "", "coldkey"], [12, 4, 1, "", "consensus"], [12, 4, 1, "", "dividends"], [12, 4, 1, "", "emission"], [12, 2, 1, "id0", "get_null_neuron"], [12, 4, 1, "", "hotkey"], [12, 4, 1, "", "incentive"], [12, 4, 1, "", "is_null"], [12, 4, 1, "", "last_update"], [12, 2, 1, "", "list_from_vec_u8"], [12, 4, 1, "", "netuid"], [12, 4, 1, "", "prometheus_info"], [12, 4, 1, "", "pruning_score"], [12, 4, 1, "", "rank"], [12, 4, 1, "", "stake"], [12, 4, 1, "", "stake_dict"], [12, 4, 1, "", "total_stake"], [12, 4, 1, "", "trust"], [12, 4, 1, "", "uid"], [12, 4, 1, "", "validator_permit"], [12, 4, 1, "", "validator_trust"]], "bittensor.core.chain_data.prometheus_info": [[13, 1, 1, "", "PrometheusInfo"]], "bittensor.core.chain_data.prometheus_info.PrometheusInfo": [[13, 4, 1, "", "block"], [13, 4, 1, "", "ip"], [13, 4, 1, "", "ip_type"], [13, 4, 1, "", "port"], [13, 4, 1, "", "version"]], "bittensor.core.chain_data.proposal_vote_data": [[14, 1, 1, "", "ProposalVoteData"]], "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData": [[14, 4, 1, "", "ayes"], [14, 4, 1, "", "end"], [14, 2, 1, "", "from_dict"], [14, 4, 1, "", "index"], [14, 4, 1, "", "nays"], [14, 4, 1, "", "threshold"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, 1, 1, "", "ScheduledColdkeySwapInfo"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo": [[15, 4, 1, "", "arbitration_block"], [15, 2, 1, "", "decode_account_id_list"], [15, 4, 1, "", "new_coldkey"], [15, 4, 1, "", "old_coldkey"]], "bittensor.core.chain_data.sim_swap": [[16, 1, 1, "", "SimSwapResult"]], "bittensor.core.chain_data.sim_swap.SimSwapResult": [[16, 4, 1, "", "alpha_amount"], [16, 4, 1, "", "alpha_fee"], [16, 2, 1, "", "from_dict"], [16, 4, 1, "", "tao_amount"], [16, 4, 1, "", "tao_fee"]], "bittensor.core.chain_data.stake_info": [[17, 1, 1, "", "StakeInfo"]], "bittensor.core.chain_data.stake_info.StakeInfo": [[17, 4, 1, "", "coldkey_ss58"], [17, 4, 1, "", "drain"], [17, 4, 1, "", "emission"], [17, 2, 1, "", "from_dict"], [17, 4, 1, "", "hotkey_ss58"], [17, 4, 1, "", "is_registered"], [17, 4, 1, "", "locked"], [17, 4, 1, "", "netuid"], [17, 4, 1, "", "stake"]], "bittensor.core.chain_data.subnet_hyperparameters": [[18, 1, 1, "", "SubnetHyperparameters"]], "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters": [[18, 4, 1, "", "activity_cutoff"], [18, 4, 1, "", "adjustment_alpha"], [18, 4, 1, "", "adjustment_interval"], [18, 4, 1, "", "alpha_high"], [18, 4, 1, "", "alpha_low"], [18, 4, 1, "", "alpha_sigmoid_steepness"], [18, 4, 1, "", "bonds_moving_avg"], [18, 4, 1, "", "bonds_reset_enabled"], [18, 4, 1, "", "commit_reveal_period"], [18, 4, 1, "", "commit_reveal_weights_enabled"], [18, 4, 1, "", "difficulty"], [18, 4, 1, "", "immunity_period"], [18, 4, 1, "", "kappa"], [18, 4, 1, "", "liquid_alpha_enabled"], [18, 4, 1, "", "max_burn"], [18, 4, 1, "", "max_difficulty"], [18, 4, 1, "", "max_regs_per_block"], [18, 4, 1, "", "max_validators"], [18, 4, 1, "", "max_weight_limit"], [18, 4, 1, "", "min_allowed_weights"], [18, 4, 1, "", "min_burn"], [18, 4, 1, "", "min_difficulty"], [18, 4, 1, "", "registration_allowed"], [18, 4, 1, "", "rho"], [18, 4, 1, "", "serving_rate_limit"], [18, 4, 1, "", "subnet_is_active"], [18, 4, 1, "", "target_regs_per_interval"], [18, 4, 1, "", "tempo"], [18, 4, 1, "", "transfers_enabled"], [18, 4, 1, "", "user_liquidity_enabled"], [18, 4, 1, "", "weights_rate_limit"], [18, 4, 1, "", "weights_version"], [18, 4, 1, "", "yuma_version"]], "bittensor.core.chain_data.subnet_identity": [[19, 1, 1, "", "SubnetIdentity"]], "bittensor.core.chain_data.subnet_identity.SubnetIdentity": [[19, 4, 1, "", "additional"], [19, 4, 1, "", "description"], [19, 4, 1, "", "discord"], [19, 4, 1, "", "github_repo"], [19, 4, 1, "", "logo_url"], [19, 4, 1, "", "subnet_contact"], [19, 4, 1, "", "subnet_name"], [19, 4, 1, "", "subnet_url"]], "bittensor.core.chain_data.subnet_info": [[20, 1, 1, "", "SubnetInfo"]], "bittensor.core.chain_data.subnet_info.SubnetInfo": [[20, 4, 1, "", "blocks_since_epoch"], [20, 4, 1, "", "burn"], [20, 4, 1, "", "connection_requirements"], [20, 4, 1, "", "difficulty"], [20, 4, 1, "", "emission_value"], [20, 4, 1, "", "immunity_period"], [20, 4, 1, "", "kappa"], [20, 4, 1, "", "max_allowed_validators"], [20, 4, 1, "", "max_n"], [20, 4, 1, "", "max_weight_limit"], [20, 4, 1, "", "min_allowed_weights"], [20, 4, 1, "", "modality"], [20, 4, 1, "", "netuid"], [20, 4, 1, "", "owner_ss58"], [20, 4, 1, "", "rho"], [20, 4, 1, "", "scaling_law_power"], [20, 4, 1, "", "subnetwork_n"], [20, 4, 1, "", "tempo"]], "bittensor.core.chain_data.subnet_state": [[21, 1, 1, "", "SubnetState"]], "bittensor.core.chain_data.subnet_state.SubnetState": [[21, 4, 1, "", "active"], [21, 4, 1, "", "alpha_stake"], [21, 4, 1, "", "block_at_registration"], [21, 4, 1, "", "coldkeys"], [21, 4, 1, "", "consensus"], [21, 4, 1, "", "dividends"], [21, 4, 1, "", "emission"], [21, 4, 1, "", "emission_history"], [21, 4, 1, "", "hotkeys"], [21, 4, 1, "", "incentives"], [21, 4, 1, "", "last_update"], [21, 4, 1, "", "netuid"], [21, 4, 1, "", "pruning_score"], [21, 4, 1, "", "rank"], [21, 4, 1, "", "tao_stake"], [21, 4, 1, "", "total_stake"], [21, 4, 1, "", "trust"], [21, 4, 1, "", "validator_permit"]], "bittensor.core.chain_data.utils": [[22, 1, 1, "", "ChainDataType"], [22, 5, 1, "", "decode_account_id"], [22, 5, 1, "", "decode_block"], [22, 5, 1, "", "decode_metadata"], [22, 5, 1, "", "decode_revealed_commitment"], [22, 5, 1, "", "decode_revealed_commitment_with_hotkey"], [22, 5, 1, "", "from_scale_encoding"], [22, 5, 1, "", "from_scale_encoding_using_type_string"], [22, 5, 1, "", "process_stake_data"]], "bittensor.core.chain_data.utils.ChainDataType": [[22, 4, 1, "", "AccountId"], [22, 4, 1, "", "AxonInfo"], [22, 4, 1, "", "ChainIdentity"], [22, 4, 1, "", "DelegateInfo"], [22, 4, 1, "", "DelegatedInfo"], [22, 4, 1, "", "DynamicInfo"], [22, 4, 1, "", "IPInfo"], [22, 4, 1, "", "MetagraphInfo"], [22, 4, 1, "", "NeuronInfo"], [22, 4, 1, "", "NeuronInfoLite"], [22, 4, 1, "", "ScheduledColdkeySwapInfo"], [22, 4, 1, "", "StakeInfo"], [22, 4, 1, "", "SubnetHyperparameters"], [22, 4, 1, "", "SubnetIdentity"], [22, 4, 1, "", "SubnetInfo"], [22, 4, 1, "", "SubnetState"]], "bittensor.core.chain_data.weight_commit_info": [[23, 1, 1, "", "WeightCommitInfo"]], "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo": [[23, 4, 1, "", "commit_block"], [23, 4, 1, "", "commit_hex"], [23, 2, 1, "", "from_vec_u8"], [23, 2, 1, "", "from_vec_u8_v2"], [23, 4, 1, "", "reveal_round"], [23, 4, 1, "", "ss58"]], "bittensor.core.config": [[24, 1, 1, "", "Config"], [24, 1, 1, "", "DefaultConfig"], [24, 7, 1, "", "InvalidConfigFile"], [24, 6, 1, "", "T"]], "bittensor.core.config.Config": [[24, 2, 1, "", "is_set"], [24, 2, 1, "", "merge"], [24, 2, 1, "", "to_dict"]], "bittensor.core.config.DefaultConfig": [[24, 2, 1, "", "default"]], "bittensor.core.dendrite": [[25, 6, 1, "", "BaseModel"], [25, 6, 1, "", "DENDRITE_DEFAULT_ERROR"], [25, 6, 1, "", "DENDRITE_ERROR_MAPPING"], [25, 1, 1, "", "Dendrite"], [25, 1, 1, "", "DendriteMixin"], [25, 5, 1, "", "call"], [25, 5, 1, "", "event_loop_is_running"]], "bittensor.core.dendrite.Dendrite": [[25, 2, 1, "", "__repr__"], [25, 2, 1, "", "__str__"], [25, 2, 1, "", "aclose_session"], [25, 2, 1, "", "call"], [25, 2, 1, "", "call_stream"], [25, 2, 1, "", "close_session"], [25, 2, 1, "", "forward"], [25, 2, 1, "", "preprocess_synapse_for_request"], [25, 2, 1, "", "process_server_response"], [25, 2, 1, "", "query"]], "bittensor.core.dendrite.DendriteMixin": [[25, 2, 1, "", "__repr__"], [25, 2, 1, "", "__str__"], [25, 2, 1, "id0", "aclose_session"], [25, 2, 1, "", "aquery"], [25, 2, 1, "id3", "call"], [25, 2, 1, "id4", "call_stream"], [25, 2, 1, "id5", "close_session"], [25, 4, 1, "", "external_ip"], [25, 2, 1, "id7", "forward"], [25, 4, 1, "", "keypair"], [25, 2, 1, "", "log_exception"], [25, 2, 1, "id8", "preprocess_synapse_for_request"], [25, 2, 1, "", "process_error_message"], [25, 2, 1, "id9", "process_server_response"], [25, 2, 1, "id11", "query"], [25, 3, 1, "", "session"], [25, 4, 1, "", "synapse_history"], [25, 4, 1, "", "uuid"]], "bittensor.core.errors": [[26, 7, 1, "", "BlacklistedException"], [26, 6, 1, "", "BlockNotFound"], [26, 7, 1, "", "ChainConnectionError"], [26, 7, 1, "", "ChainError"], [26, 7, 1, "", "ChainQueryError"], [26, 7, 1, "", "ChainTransactionError"], [26, 7, 1, "", "DelegateTakeTooHigh"], [26, 7, 1, "", "DelegateTakeTooLow"], [26, 7, 1, "", "DelegateTxRateLimitExceeded"], [26, 7, 1, "", "DuplicateChild"], [26, 6, 1, "", "ExtrinsicNotFound"], [26, 7, 1, "", "HotKeyAccountNotExists"], [26, 7, 1, "", "IdentityError"], [26, 7, 1, "", "InternalServerError"], [26, 7, 1, "", "InvalidChild"], [26, 7, 1, "", "InvalidRequestNameError"], [26, 7, 1, "", "MaxAttemptsException"], [26, 7, 1, "", "MaxSuccessException"], [26, 7, 1, "", "MetadataError"], [26, 7, 1, "", "NominationError"], [26, 7, 1, "", "NonAssociatedColdKey"], [26, 7, 1, "", "NotDelegateError"], [26, 7, 1, "", "NotEnoughStakeToSetChildkeys"], [26, 7, 1, "", "NotRegisteredError"], [26, 7, 1, "", "NotVerifiedException"], [26, 7, 1, "", "PostProcessException"], [26, 7, 1, "", "PriorityException"], [26, 7, 1, "", "ProportionOverflow"], [26, 7, 1, "", "RegistrationError"], [26, 7, 1, "", "RegistrationNotPermittedOnRootSubnet"], [26, 7, 1, "", "RunException"], [26, 7, 1, "", "StakeError"], [26, 6, 1, "", "StorageFunctionNotFound"], [26, 7, 1, "", "SubnetNotExists"], [26, 6, 1, "", "SubstrateRequestException"], [26, 7, 1, "", "SynapseDendriteNoneException"], [26, 7, 1, "", "SynapseException"], [26, 7, 1, "", "SynapseParsingError"], [26, 7, 1, "", "TakeError"], [26, 7, 1, "", "TooManyChildren"], [26, 7, 1, "", "TransferError"], [26, 7, 1, "", "TxRateLimitExceeded"], [26, 7, 1, "", "UnknownSynapseError"], [26, 7, 1, "", "UnstakeError"]], "bittensor.core.errors.ChainError": [[26, 2, 1, "", "from_error"]], "bittensor.core.errors.SynapseDendriteNoneException": [[26, 4, 1, "", "message"]], "bittensor.core.errors.SynapseException": [[26, 4, 1, "", "message"], [26, 4, 1, "", "synapse"]], "bittensor.core.extrinsics": [[29, 0, 0, "-", "asyncex"], [44, 0, 0, "-", "children"], [45, 0, 0, "-", "commit_reveal"], [46, 0, 0, "-", "commit_weights"], [48, 0, 0, "-", "liquidity"], [49, 0, 0, "-", "mechanism"], [50, 0, 0, "-", "move_stake"], [52, 0, 0, "-", "params"], [64, 0, 0, "-", "registration"], [65, 0, 0, "-", "root"], [66, 0, 0, "-", "serving"], [67, 0, 0, "-", "set_weights"], [68, 0, 0, "-", "staking"], [69, 0, 0, "-", "start_call"], [70, 0, 0, "-", "sudo"], [71, 0, 0, "-", "take"], [72, 0, 0, "-", "transfer"], [73, 0, 0, "-", "unstaking"], [74, 0, 0, "-", "utils"], [75, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.asyncex": [[27, 0, 0, "-", "children"], [28, 0, 0, "-", "commit_reveal"], [30, 0, 0, "-", "liquidity"], [31, 0, 0, "-", "mechanism"], [32, 0, 0, "-", "move_stake"], [33, 0, 0, "-", "registration"], [34, 0, 0, "-", "root"], [35, 0, 0, "-", "serving"], [36, 0, 0, "-", "staking"], [37, 0, 0, "-", "start_call"], [38, 0, 0, "-", "sudo"], [39, 0, 0, "-", "take"], [40, 0, 0, "-", "transfer"], [41, 0, 0, "-", "unstaking"], [42, 0, 0, "-", "utils"], [43, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.asyncex.children": [[27, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [27, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[28, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.asyncex.liquidity": [[30, 5, 1, "", "add_liquidity_extrinsic"], [30, 5, 1, "", "modify_liquidity_extrinsic"], [30, 5, 1, "", "remove_liquidity_extrinsic"], [30, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.asyncex.mechanism": [[31, 5, 1, "", "commit_mechanism_weights_extrinsic"], [31, 5, 1, "", "commit_timelocked_mechanism_weights_extrinsic"], [31, 5, 1, "", "reveal_mechanism_weights_extrinsic"], [31, 5, 1, "", "set_mechanism_weights_extrinsic"]], "bittensor.core.extrinsics.asyncex.move_stake": [[32, 5, 1, "", "move_stake_extrinsic"], [32, 5, 1, "", "swap_stake_extrinsic"], [32, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.asyncex.registration": [[33, 5, 1, "", "burned_register_extrinsic"], [33, 5, 1, "", "register_extrinsic"], [33, 5, 1, "", "register_subnet_extrinsic"], [33, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.asyncex.root": [[34, 5, 1, "", "root_register_extrinsic"], [34, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.asyncex.serving": [[35, 5, 1, "", "do_serve_axon"], [35, 5, 1, "", "get_last_bonds_reset"], [35, 5, 1, "", "get_metadata"], [35, 5, 1, "", "publish_metadata"], [35, 5, 1, "", "serve_axon_extrinsic"], [35, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.asyncex.staking": [[36, 5, 1, "", "add_stake_extrinsic"], [36, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.start_call": [[37, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.asyncex.sudo": [[38, 5, 1, "", "sudo_set_admin_freeze_window_extrinsic"], [38, 5, 1, "", "sudo_set_mechanism_count_extrinsic"], [38, 5, 1, "", "sudo_set_mechanism_emission_split_extrinsic"]], "bittensor.core.extrinsics.asyncex.take": [[39, 5, 1, "", "decrease_take_extrinsic"], [39, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.asyncex.transfer": [[40, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.asyncex.unstaking": [[41, 5, 1, "", "unstake_all_extrinsic"], [41, 5, 1, "", "unstake_extrinsic"], [41, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.utils": [[42, 5, 1, "", "get_extrinsic_fee"], [42, 5, 1, "", "sudo_call_extrinsic"]], "bittensor.core.extrinsics.asyncex.weights": [[43, 5, 1, "", "commit_weights_extrinsic"], [43, 5, 1, "", "reveal_weights_extrinsic"], [43, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.children": [[44, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [44, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.commit_reveal": [[45, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.commit_weights": [[46, 5, 1, "", "commit_weights_extrinsic"], [46, 5, 1, "", "reveal_weights_extrinsic"]], "bittensor.core.extrinsics.liquidity": [[48, 5, 1, "", "add_liquidity_extrinsic"], [48, 5, 1, "", "modify_liquidity_extrinsic"], [48, 5, 1, "", "remove_liquidity_extrinsic"], [48, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.mechanism": [[49, 5, 1, "", "commit_mechanism_weights_extrinsic"], [49, 5, 1, "", "commit_timelocked_mechanism_weights_extrinsic"], [49, 5, 1, "", "reveal_mechanism_weights_extrinsic"], [49, 5, 1, "", "set_mechanism_weights_extrinsic"]], "bittensor.core.extrinsics.move_stake": [[50, 5, 1, "", "move_stake_extrinsic"], [50, 5, 1, "", "swap_stake_extrinsic"], [50, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.params": [[51, 0, 0, "-", "children"], [53, 0, 0, "-", "liquidity"], [54, 0, 0, "-", "move_stake"], [55, 0, 0, "-", "registration"], [56, 0, 0, "-", "root"], [57, 0, 0, "-", "serving"], [58, 0, 0, "-", "staking"], [59, 0, 0, "-", "start_call"], [60, 0, 0, "-", "take"], [61, 0, 0, "-", "transfer"], [62, 0, 0, "-", "unstaking"], [63, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.params.children": [[51, 1, 1, "", "ChildrenParams"]], "bittensor.core.extrinsics.params.children.ChildrenParams": [[51, 2, 1, "", "set_children"], [51, 2, 1, "", "set_pending_childkey_cooldown"]], "bittensor.core.extrinsics.params.liquidity": [[53, 1, 1, "", "LiquidityParams"]], "bittensor.core.extrinsics.params.liquidity.LiquidityParams": [[53, 2, 1, "", "add_liquidity"], [53, 2, 1, "", "modify_position"], [53, 2, 1, "", "remove_liquidity"], [53, 2, 1, "", "toggle_user_liquidity"]], "bittensor.core.extrinsics.params.move_stake": [[54, 1, 1, "", "MoveStakeParams"]], "bittensor.core.extrinsics.params.move_stake.MoveStakeParams": [[54, 2, 1, "", "move_stake"], [54, 2, 1, "", "swap_stake"], [54, 2, 1, "", "swap_stake_limit"], [54, 2, 1, "", "transfer_stake"]], "bittensor.core.extrinsics.params.registration": [[55, 1, 1, "", "RegistrationParams"]], "bittensor.core.extrinsics.params.registration.RegistrationParams": [[55, 2, 1, "", "burned_register"], [55, 2, 1, "", "register"], [55, 2, 1, "", "register_network"], [55, 2, 1, "", "set_subnet_identity"]], "bittensor.core.extrinsics.params.root": [[56, 1, 1, "", "RootParams"]], "bittensor.core.extrinsics.params.root.RootParams": [[56, 2, 1, "", "root_register"]], "bittensor.core.extrinsics.params.serving": [[57, 1, 1, "", "ServingParams"]], "bittensor.core.extrinsics.params.serving.ServingParams": [[57, 2, 1, "", "serve_axon_and_tls"], [57, 2, 1, "", "set_commitment"]], "bittensor.core.extrinsics.params.staking": [[58, 1, 1, "", "StakingParams"]], "bittensor.core.extrinsics.params.staking.StakingParams": [[58, 2, 1, "", "add_stake"], [58, 2, 1, "", "add_stake_limit"], [58, 2, 1, "", "set_coldkey_auto_stake_hotkey"]], "bittensor.core.extrinsics.params.start_call": [[59, 1, 1, "", "StartCallParams"]], "bittensor.core.extrinsics.params.start_call.StartCallParams": [[59, 2, 1, "", "start_call"]], "bittensor.core.extrinsics.params.take": [[60, 1, 1, "", "TakeParams"]], "bittensor.core.extrinsics.params.take.TakeParams": [[60, 2, 1, "", "increase_decrease_take"]], "bittensor.core.extrinsics.params.transfer": [[61, 1, 1, "", "TransferParams"], [61, 5, 1, "", "get_transfer_fn_params"]], "bittensor.core.extrinsics.params.transfer.TransferParams": [[61, 2, 1, "", "transfer_all"], [61, 2, 1, "", "transfer_allow_death"], [61, 2, 1, "", "transfer_keep_alive"]], "bittensor.core.extrinsics.params.unstaking": [[62, 1, 1, "", "UnstakingParams"]], "bittensor.core.extrinsics.params.unstaking.UnstakingParams": [[62, 2, 1, "", "remove_stake"], [62, 2, 1, "", "remove_stake_full_limit"], [62, 2, 1, "", "remove_stake_limit"]], "bittensor.core.extrinsics.params.weights": [[63, 1, 1, "", "WeightsParams"]], "bittensor.core.extrinsics.params.weights.WeightsParams": [[63, 2, 1, "", "commit_mechanism_weights"], [63, 2, 1, "", "commit_timelocked_mechanism_weights"], [63, 2, 1, "", "reveal_mechanism_weights"], [63, 2, 1, "", "set_mechanism_weights"]], "bittensor.core.extrinsics.registration": [[64, 5, 1, "", "burned_register_extrinsic"], [64, 5, 1, "", "register_extrinsic"], [64, 5, 1, "", "register_subnet_extrinsic"], [64, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.root": [[65, 5, 1, "", "root_register_extrinsic"], [65, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.serving": [[66, 5, 1, "", "do_serve_axon"], [66, 5, 1, "", "get_last_bonds_reset"], [66, 5, 1, "", "get_metadata"], [66, 5, 1, "", "publish_metadata"], [66, 5, 1, "", "serve_axon_extrinsic"], [66, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.set_weights": [[67, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.staking": [[68, 5, 1, "", "add_stake_extrinsic"], [68, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.start_call": [[69, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.sudo": [[70, 5, 1, "", "sudo_set_admin_freeze_window_extrinsic"], [70, 5, 1, "", "sudo_set_mechanism_count_extrinsic"], [70, 5, 1, "", "sudo_set_mechanism_emission_split_extrinsic"]], "bittensor.core.extrinsics.take": [[71, 5, 1, "", "decrease_take_extrinsic"], [71, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.transfer": [[72, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.unstaking": [[73, 5, 1, "", "unstake_all_extrinsic"], [73, 5, 1, "", "unstake_extrinsic"], [73, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.utils": [[74, 5, 1, "", "get_extrinsic_fee"], [74, 5, 1, "", "get_old_stakes"], [74, 5, 1, "", "sudo_call_extrinsic"]], "bittensor.core.extrinsics.weights": [[75, 5, 1, "", "commit_timelocked_weights_extrinsic"], [75, 5, 1, "", "commit_weights_extrinsic"], [75, 5, 1, "", "reveal_weights_extrinsic"], [75, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.metagraph": [[77, 1, 1, "", "AsyncMetagraph"], [77, 6, 1, "", "BaseClass"], [77, 6, 1, "", "METAGRAPH_STATE_DICT_NDARRAY_KEYS"], [77, 1, 1, "", "Metagraph"], [77, 1, 1, "", "MetagraphMixin"], [77, 1, 1, "", "NonTorchMetagraph"], [77, 6, 1, "", "NumpyOrTorch"], [77, 6, 1, "", "Tensor"], [77, 1, 1, "", "TorchMetagraph"], [77, 5, 1, "", "async_metagraph"], [77, 5, 1, "", "get_save_dir"], [77, 5, 1, "", "latest_block_path"], [77, 5, 1, "", "safe_globals"]], "bittensor.core.metagraph.AsyncMetagraph": [[77, 2, 1, "", "sync"]], "bittensor.core.metagraph.Metagraph": [[77, 2, 1, "", "sync"]], "bittensor.core.metagraph.MetagraphMixin": [[77, 3, 1, "", "AS"], [77, 3, 1, "", "B"], [77, 3, 1, "", "C"], [77, 3, 1, "", "D"], [77, 3, 1, "", "E"], [77, 3, 1, "", "I"], [77, 3, 1, "", "R"], [77, 3, 1, "", "S"], [77, 3, 1, "", "T"], [77, 3, 1, "", "TS"], [77, 3, 1, "", "Tv"], [77, 3, 1, "", "W"], [77, 4, 1, "", "active"], [77, 3, 1, "", "addresses"], [77, 4, 1, "", "alpha_dividends_per_hotkey"], [77, 4, 1, "", "alpha_stake"], [77, 4, 1, "", "axons"], [77, 4, 1, "", "block"], [77, 4, 1, "", "block_at_registration"], [77, 4, 1, "", "blocks_since_last_step"], [77, 4, 1, "", "bonds"], [77, 4, 1, "", "chain_endpoint"], [77, 3, 1, "", "coldkeys"], [77, 4, 1, "", "consensus"], [77, 4, 1, "", "dividends"], [77, 4, 1, "", "emission"], [77, 4, 1, "", "emissions"], [77, 3, 1, "", "hotkeys"], [77, 4, 1, "", "hparams"], [77, 4, 1, "", "identities"], [77, 4, 1, "", "identity"], [77, 4, 1, "", "incentive"], [77, 4, 1, "", "last_step"], [77, 4, 1, "", "last_update"], [77, 4, 1, "", "lite"], [77, 2, 1, "", "load"], [77, 2, 1, "", "load_from_path"], [77, 4, 1, "", "max_uids"], [77, 4, 1, "", "mechanism_count"], [77, 4, 1, "", "mechanisms_emissions_split"], [77, 4, 1, "", "mechid"], [77, 2, 1, "", "metadata"], [77, 4, 1, "", "n"], [77, 4, 1, "", "name"], [77, 4, 1, "", "netuid"], [77, 4, 1, "", "network"], [77, 4, 1, "", "network_registered_at"], [77, 4, 1, "", "neurons"], [77, 4, 1, "", "num_uids"], [77, 4, 1, "", "owner_coldkey"], [77, 4, 1, "", "owner_hotkey"], [77, 4, 1, "", "pool"], [77, 4, 1, "", "pruning_score"], [77, 4, 1, "", "ranks"], [77, 2, 1, "", "save"], [77, 4, 1, "", "should_sync"], [77, 4, 1, "", "stake"], [77, 2, 1, "", "state_dict"], [77, 4, 1, "", "subtensor"], [77, 4, 1, "", "symbol"], [77, 4, 1, "", "tao_dividends_per_hotkey"], [77, 4, 1, "", "tao_stake"], [77, 4, 1, "", "tempo"], [77, 4, 1, "", "trust"], [77, 4, 1, "", "uids"], [77, 4, 1, "", "validator_permit"], [77, 4, 1, "", "validator_trust"], [77, 4, 1, "", "version"], [77, 4, 1, "", "weights"]], "bittensor.core.metagraph.NonTorchMetagraph": [[77, 4, 1, "", "active"], [77, 4, 1, "", "alpha_stake"], [77, 4, 1, "", "block"], [77, 4, 1, "", "bonds"], [77, 4, 1, "", "consensus"], [77, 4, 1, "", "dividends"], [77, 4, 1, "", "emission"], [77, 4, 1, "", "incentive"], [77, 4, 1, "", "last_update"], [77, 2, 1, "", "load_from_path"], [77, 4, 1, "", "n"], [77, 4, 1, "", "netuid"], [77, 4, 1, "", "ranks"], [77, 4, 1, "", "should_sync"], [77, 4, 1, "", "stake"], [77, 4, 1, "", "subtensor"], [77, 4, 1, "", "tao_stake"], [77, 4, 1, "", "total_stake"], [77, 4, 1, "", "trust"], [77, 4, 1, "", "uids"], [77, 4, 1, "", "validator_permit"], [77, 4, 1, "", "validator_trust"], [77, 4, 1, "", "version"], [77, 4, 1, "", "weights"]], "bittensor.core.metagraph.TorchMetagraph": [[77, 4, 1, "", "active"], [77, 4, 1, "", "alpha_stake"], [77, 4, 1, "", "block"], [77, 4, 1, "", "bonds"], [77, 4, 1, "", "consensus"], [77, 4, 1, "", "dividends"], [77, 4, 1, "", "emission"], [77, 4, 1, "", "incentive"], [77, 4, 1, "", "last_update"], [77, 2, 1, "", "load_from_path"], [77, 4, 1, "", "n"], [77, 4, 1, "", "ranks"], [77, 4, 1, "", "stake"], [77, 4, 1, "", "tao_stake"], [77, 4, 1, "", "total_stake"], [77, 4, 1, "", "trust"], [77, 4, 1, "", "uids"], [77, 4, 1, "", "validator_permit"], [77, 4, 1, "", "validator_trust"], [77, 4, 1, "", "version"], [77, 4, 1, "", "weights"]], "bittensor.core.settings": [[78, 6, 1, "", "ARCHIVE_ENTRYPOINT"], [78, 6, 1, "", "BLOCKTIME"], [78, 6, 1, "", "DEFAULTS"], [78, 6, 1, "", "DEFAULT_ENDPOINT"], [78, 6, 1, "", "DEFAULT_NETWORK"], [78, 6, 1, "", "FINNEY_ENTRYPOINT"], [78, 6, 1, "", "FINNEY_TEST_ENTRYPOINT"], [78, 6, 1, "", "HOME_DIR"], [78, 6, 1, "", "LATENT_LITE_ENTRYPOINT"], [78, 6, 1, "", "LOCAL_ENTRYPOINT"], [78, 6, 1, "", "MINERS_DIR"], [78, 6, 1, "", "NETWORKS"], [78, 6, 1, "", "NETWORK_EXPLORER_MAP"], [78, 6, 1, "", "NETWORK_MAP"], [78, 6, 1, "", "PIPADDRESS"], [78, 6, 1, "", "RAO_SYMBOL"], [78, 6, 1, "", "READ_ONLY"], [78, 6, 1, "", "REVERSE_NETWORK_MAP"], [78, 6, 1, "", "ROOT_TAO_STAKE_WEIGHT"], [78, 6, 1, "", "SS58_ADDRESS_LENGTH"], [78, 6, 1, "", "SS58_FORMAT"], [78, 6, 1, "", "SUBVORTEX_ENTRYPOINT"], [78, 6, 1, "", "TAO_SYMBOL"], [78, 6, 1, "", "TYPE_REGISTRY"], [78, 6, 1, "", "USER_BITTENSOR_DIR"], [78, 6, 1, "", "WALLETS_DIR"], [78, 6, 1, "", "version_as_int"], [78, 6, 1, "", "version_split"]], "bittensor.core.stream": [[79, 1, 1, "", "BTStreamingResponseModel"], [79, 1, 1, "", "StreamingSynapse"]], "bittensor.core.stream.BTStreamingResponseModel": [[79, 4, 1, "", "token_streamer"]], "bittensor.core.stream.StreamingSynapse": [[79, 1, 1, "", "BTStreamingResponse"], [79, 2, 1, "", "create_streaming_response"], [79, 2, 1, "", "extract_response_json"], [79, 4, 1, "", "model_config"], [79, 2, 1, "", "process_streaming_response"]], "bittensor.core.stream.StreamingSynapse.BTStreamingResponse": [[79, 2, 1, "", "stream_response"], [79, 4, 1, "", "synapse"], [79, 4, 1, "", "token_streamer"]], "bittensor.core.subtensor": [[80, 1, 1, "", "Subtensor"]], "bittensor.core.subtensor.Subtensor": [[80, 2, 1, "", "add_liquidity"], [80, 2, 1, "", "add_stake"], [80, 2, 1, "", "add_stake_multiple"], [80, 2, 1, "", "all_subnets"], [80, 3, 1, "", "block"], [80, 2, 1, "", "blocks_since_last_step"], [80, 2, 1, "", "blocks_since_last_update"], [80, 2, 1, "", "bonds"], [80, 2, 1, "", "burned_register"], [80, 2, 1, "", "close"], [80, 2, 1, "", "commit"], [80, 2, 1, "", "commit_reveal_enabled"], [80, 2, 1, "", "commit_weights"], [80, 2, 1, "", "determine_block_hash"], [80, 2, 1, "", "difficulty"], [80, 2, 1, "", "does_hotkey_exist"], [80, 2, 1, "", "encode_params"], [80, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [80, 2, 1, "", "get_admin_freeze_window"], [80, 2, 1, "", "get_all_commitments"], [80, 2, 1, "", "get_all_metagraphs_info"], [80, 2, 1, "", "get_all_neuron_certificates"], [80, 2, 1, "", "get_all_revealed_commitments"], [80, 2, 1, "", "get_all_subnets_info"], [80, 2, 1, "", "get_balance"], [80, 2, 1, "", "get_balances"], [80, 2, 1, "", "get_block_hash"], [80, 2, 1, "", "get_children"], [80, 2, 1, "", "get_children_pending"], [80, 2, 1, "", "get_commitment"], [80, 2, 1, "", "get_current_block"], [80, 2, 1, "", "get_current_weight_commit_info"], [80, 2, 1, "", "get_current_weight_commit_info_v2"], [80, 2, 1, "", "get_delegate_by_hotkey"], [80, 2, 1, "", "get_delegate_identities"], [80, 2, 1, "", "get_delegate_take"], [80, 2, 1, "", "get_delegated"], [80, 2, 1, "", "get_delegates"], [80, 2, 1, "", "get_existential_deposit"], [80, 2, 1, "", "get_hotkey_owner"], [80, 4, 1, "", "get_hotkey_stake"], [80, 2, 1, "", "get_hyperparameter"], [80, 2, 1, "", "get_last_commitment_bonds_reset_block"], [80, 2, 1, "", "get_liquidity_list"], [80, 2, 1, "", "get_mechanism_count"], [80, 2, 1, "", "get_mechanism_emission_split"], [80, 2, 1, "", "get_metagraph_info"], [80, 2, 1, "", "get_minimum_required_stake"], [80, 2, 1, "", "get_netuids_for_hotkey"], [80, 2, 1, "", "get_neuron_certificate"], [80, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [80, 2, 1, "", "get_next_epoch_start_block"], [80, 2, 1, "", "get_owned_hotkeys"], [80, 2, 1, "", "get_parents"], [80, 2, 1, "", "get_revealed_commitment"], [80, 2, 1, "", "get_revealed_commitment_by_hotkey"], [80, 2, 1, "", "get_stake"], [80, 2, 1, "", "get_stake_add_fee"], [80, 2, 1, "", "get_stake_for_coldkey"], [80, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [80, 2, 1, "", "get_stake_for_hotkey"], [80, 4, 1, "", "get_stake_info_for_coldkey"], [80, 2, 1, "", "get_stake_movement_fee"], [80, 2, 1, "", "get_stake_operations_fee"], [80, 2, 1, "", "get_stake_weight"], [80, 2, 1, "", "get_subnet_burn_cost"], [80, 2, 1, "", "get_subnet_hyperparameters"], [80, 2, 1, "", "get_subnet_info"], [80, 2, 1, "", "get_subnet_owner_hotkey"], [80, 2, 1, "", "get_subnet_price"], [80, 2, 1, "", "get_subnet_prices"], [80, 2, 1, "", "get_subnet_reveal_period_epochs"], [80, 2, 1, "", "get_subnet_validator_permits"], [80, 2, 1, "", "get_subnets"], [80, 2, 1, "", "get_timelocked_weight_commits"], [80, 2, 1, "", "get_timestamp"], [80, 2, 1, "", "get_total_subnets"], [80, 2, 1, "", "get_transfer_fee"], [80, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [80, 2, 1, "", "get_unstake_fee"], [80, 2, 1, "", "get_vote_data"], [80, 2, 1, "", "immunity_period"], [80, 2, 1, "", "is_fast_blocks"], [80, 2, 1, "", "is_hotkey_delegate"], [80, 2, 1, "", "is_hotkey_registered"], [80, 2, 1, "", "is_hotkey_registered_any"], [80, 2, 1, "", "is_hotkey_registered_on_subnet"], [80, 2, 1, "", "is_in_admin_freeze_window"], [80, 2, 1, "", "is_subnet_active"], [80, 2, 1, "", "last_drand_round"], [80, 4, 1, "", "log_verbose"], [80, 2, 1, "", "max_weight_limit"], [80, 2, 1, "", "metagraph"], [80, 2, 1, "", "min_allowed_weights"], [80, 2, 1, "", "modify_liquidity"], [80, 2, 1, "", "move_stake"], [80, 2, 1, "", "neuron_for_uid"], [80, 2, 1, "", "neurons"], [80, 2, 1, "", "neurons_lite"], [80, 2, 1, "", "query_constant"], [80, 2, 1, "", "query_identity"], [80, 2, 1, "", "query_map"], [80, 2, 1, "", "query_map_subtensor"], [80, 2, 1, "", "query_module"], [80, 2, 1, "", "query_runtime_api"], [80, 2, 1, "", "query_subtensor"], [80, 2, 1, "", "recycle"], [80, 2, 1, "", "register"], [80, 2, 1, "", "register_subnet"], [80, 2, 1, "", "remove_liquidity"], [80, 2, 1, "", "reveal_weights"], [80, 2, 1, "", "root_register"], [80, 2, 1, "", "root_set_pending_childkey_cooldown"], [80, 2, 1, "", "root_set_weights"], [80, 2, 1, "", "serve_axon"], [80, 2, 1, "", "set_children"], [80, 4, 1, "", "set_commitment"], [80, 2, 1, "", "set_delegate_take"], [80, 2, 1, "", "set_reveal_commitment"], [80, 2, 1, "", "set_subnet_identity"], [80, 2, 1, "", "set_weights"], [80, 2, 1, "", "sign_and_send_extrinsic"], [80, 2, 1, "", "start_call"], [80, 2, 1, "", "state_call"], [80, 2, 1, "", "subnet"], [80, 2, 1, "", "subnet_exists"], [80, 2, 1, "", "subnetwork_n"], [80, 4, 1, "", "substrate"], [80, 2, 1, "", "swap_stake"], [80, 2, 1, "", "tempo"], [80, 2, 1, "", "toggle_user_liquidity"], [80, 2, 1, "", "transfer"], [80, 2, 1, "", "transfer_stake"], [80, 2, 1, "", "tx_rate_limit"], [80, 2, 1, "", "unstake"], [80, 2, 1, "", "unstake_all"], [80, 2, 1, "", "unstake_multiple"], [80, 2, 1, "", "wait_for_block"], [80, 2, 1, "", "weights"], [80, 2, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api": [[85, 1, 1, "", "SubtensorApi"], [81, 0, 0, "-", "chain"], [82, 0, 0, "-", "commitments"], [83, 0, 0, "-", "delegates"], [84, 0, 0, "-", "extrinsics"], [86, 0, 0, "-", "metagraphs"], [87, 0, 0, "-", "neurons"], [88, 0, 0, "-", "queries"], [89, 0, 0, "-", "staking"], [90, 0, 0, "-", "subnets"], [91, 0, 0, "-", "utils"], [92, 0, 0, "-", "wallets"]], "bittensor.core.subtensor_api.SubtensorApi": [[85, 2, 1, "", "add_args"], [85, 3, 1, "", "block"], [85, 3, 1, "", "chain"], [85, 4, 1, "", "chain_endpoint"], [85, 4, 1, "", "close"], [85, 3, 1, "", "commitments"], [85, 4, 1, "", "config"], [85, 3, 1, "", "delegates"], [85, 4, 1, "", "determine_block_hash"], [85, 4, 1, "", "encode_params"], [85, 3, 1, "", "extrinsics"], [85, 4, 1, "", "help"], [85, 4, 1, "", "initialize"], [85, 4, 1, "", "is_async"], [85, 4, 1, "", "log_verbose"], [85, 3, 1, "", "metagraphs"], [85, 4, 1, "", "network"], [85, 3, 1, "", "neurons"], [85, 3, 1, "", "queries"], [85, 4, 1, "", "setup_config"], [85, 4, 1, "", "sign_and_send_extrinsic"], [85, 3, 1, "", "staking"], [85, 4, 1, "", "start_call"], [85, 3, 1, "", "subnets"], [85, 4, 1, "", "substrate"], [85, 4, 1, "", "wait_for_block"], [85, 3, 1, "", "wallets"]], "bittensor.core.subtensor_api.chain": [[81, 1, 1, "", "Chain"]], "bittensor.core.subtensor_api.chain.Chain": [[81, 4, 1, "", "get_admin_freeze_window"], [81, 4, 1, "", "get_block_hash"], [81, 4, 1, "", "get_current_block"], [81, 4, 1, "", "get_delegate_identities"], [81, 4, 1, "", "get_existential_deposit"], [81, 4, 1, "", "get_minimum_required_stake"], [81, 4, 1, "", "get_timestamp"], [81, 4, 1, "", "get_vote_data"], [81, 4, 1, "", "is_fast_blocks"], [81, 4, 1, "", "is_in_admin_freeze_window"], [81, 4, 1, "", "last_drand_round"], [81, 4, 1, "", "state_call"], [81, 4, 1, "", "tx_rate_limit"]], "bittensor.core.subtensor_api.commitments": [[82, 1, 1, "", "Commitments"]], "bittensor.core.subtensor_api.commitments.Commitments": [[82, 4, 1, "", "commit_reveal_enabled"], [82, 4, 1, "", "get_all_commitments"], [82, 4, 1, "", "get_all_revealed_commitments"], [82, 4, 1, "", "get_commitment"], [82, 4, 1, "", "get_current_weight_commit_info"], [82, 4, 1, "", "get_current_weight_commit_info_v2"], [82, 4, 1, "", "get_last_commitment_bonds_reset_block"], [82, 4, 1, "", "get_revealed_commitment"], [82, 4, 1, "", "get_revealed_commitment_by_hotkey"], [82, 4, 1, "", "get_timelocked_weight_commits"], [82, 4, 1, "", "set_commitment"], [82, 4, 1, "", "set_reveal_commitment"]], "bittensor.core.subtensor_api.delegates": [[83, 1, 1, "", "Delegates"]], "bittensor.core.subtensor_api.delegates.Delegates": [[83, 4, 1, "", "get_delegate_by_hotkey"], [83, 4, 1, "", "get_delegate_identities"], [83, 4, 1, "", "get_delegate_take"], [83, 4, 1, "", "get_delegated"], [83, 4, 1, "", "get_delegates"], [83, 4, 1, "", "is_hotkey_delegate"], [83, 4, 1, "", "set_delegate_take"]], "bittensor.core.subtensor_api.extrinsics": [[84, 1, 1, "", "Extrinsics"]], "bittensor.core.subtensor_api.extrinsics.Extrinsics": [[84, 4, 1, "", "add_liquidity"], [84, 4, 1, "", "add_stake"], [84, 4, 1, "", "add_stake_multiple"], [84, 4, 1, "", "burned_register"], [84, 4, 1, "", "commit_weights"], [84, 4, 1, "", "modify_liquidity"], [84, 4, 1, "", "move_stake"], [84, 4, 1, "", "register"], [84, 4, 1, "", "register_subnet"], [84, 4, 1, "", "remove_liquidity"], [84, 4, 1, "", "reveal_weights"], [84, 4, 1, "", "root_register"], [84, 4, 1, "", "root_set_pending_childkey_cooldown"], [84, 4, 1, "", "root_set_weights"], [84, 4, 1, "", "serve_axon"], [84, 4, 1, "", "set_children"], [84, 4, 1, "", "set_subnet_identity"], [84, 4, 1, "", "set_weights"], [84, 4, 1, "", "start_call"], [84, 4, 1, "", "swap_stake"], [84, 4, 1, "", "toggle_user_liquidity"], [84, 4, 1, "", "transfer"], [84, 4, 1, "", "transfer_stake"], [84, 4, 1, "", "unstake"], [84, 4, 1, "", "unstake_all"], [84, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.metagraphs": [[86, 1, 1, "", "Metagraphs"]], "bittensor.core.subtensor_api.metagraphs.Metagraphs": [[86, 4, 1, "", "get_all_metagraphs_info"], [86, 4, 1, "", "get_metagraph_info"], [86, 4, 1, "", "metagraph"]], "bittensor.core.subtensor_api.neurons": [[87, 1, 1, "", "Neurons"]], "bittensor.core.subtensor_api.neurons.Neurons": [[87, 4, 1, "", "get_all_neuron_certificates"], [87, 4, 1, "", "get_neuron_certificate"], [87, 4, 1, "", "neuron_for_uid"], [87, 4, 1, "", "neurons"], [87, 4, 1, "", "neurons_lite"], [87, 4, 1, "", "query_identity"]], "bittensor.core.subtensor_api.queries": [[88, 1, 1, "", "Queries"]], "bittensor.core.subtensor_api.queries.Queries": [[88, 4, 1, "", "query_constant"], [88, 4, 1, "", "query_map"], [88, 4, 1, "", "query_map_subtensor"], [88, 4, 1, "", "query_module"], [88, 4, 1, "", "query_runtime_api"], [88, 4, 1, "", "query_subtensor"]], "bittensor.core.subtensor_api.staking": [[89, 1, 1, "", "Staking"]], "bittensor.core.subtensor_api.staking.Staking": [[89, 4, 1, "", "add_stake"], [89, 4, 1, "", "add_stake_multiple"], [89, 4, 1, "", "get_hotkey_stake"], [89, 4, 1, "", "get_minimum_required_stake"], [89, 4, 1, "", "get_stake"], [89, 4, 1, "", "get_stake_add_fee"], [89, 4, 1, "", "get_stake_for_coldkey"], [89, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [89, 4, 1, "", "get_stake_info_for_coldkey"], [89, 4, 1, "", "get_stake_movement_fee"], [89, 4, 1, "", "get_stake_operations_fee"], [89, 4, 1, "", "get_stake_weight"], [89, 4, 1, "", "get_unstake_fee"], [89, 4, 1, "", "move_stake"], [89, 4, 1, "", "unstake"], [89, 4, 1, "", "unstake_all"], [89, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.subnets": [[90, 1, 1, "", "Subnets"]], "bittensor.core.subtensor_api.subnets.Subnets": [[90, 4, 1, "", "all_subnets"], [90, 4, 1, "", "blocks_since_last_step"], [90, 4, 1, "", "blocks_since_last_update"], [90, 4, 1, "", "bonds"], [90, 4, 1, "", "commit_reveal_enabled"], [90, 4, 1, "", "difficulty"], [90, 4, 1, "", "get_all_subnets_info"], [90, 4, 1, "", "get_children"], [90, 4, 1, "", "get_children_pending"], [90, 4, 1, "", "get_current_weight_commit_info"], [90, 4, 1, "", "get_hyperparameter"], [90, 4, 1, "", "get_liquidity_list"], [90, 4, 1, "", "get_mechanism_count"], [90, 4, 1, "", "get_mechanism_emission_split"], [90, 4, 1, "", "get_neuron_for_pubkey_and_subnet"], [90, 4, 1, "", "get_next_epoch_start_block"], [90, 4, 1, "", "get_parents"], [90, 4, 1, "", "get_subnet_burn_cost"], [90, 4, 1, "", "get_subnet_hyperparameters"], [90, 4, 1, "", "get_subnet_info"], [90, 4, 1, "", "get_subnet_owner_hotkey"], [90, 4, 1, "", "get_subnet_price"], [90, 4, 1, "", "get_subnet_prices"], [90, 4, 1, "", "get_subnet_reveal_period_epochs"], [90, 4, 1, "", "get_subnet_validator_permits"], [90, 4, 1, "", "get_subnets"], [90, 4, 1, "", "get_total_subnets"], [90, 4, 1, "", "get_uid_for_hotkey_on_subnet"], [90, 4, 1, "", "immunity_period"], [90, 4, 1, "", "is_hotkey_registered_on_subnet"], [90, 4, 1, "", "is_subnet_active"], [90, 4, 1, "", "max_weight_limit"], [90, 4, 1, "", "min_allowed_weights"], [90, 4, 1, "", "recycle"], [90, 4, 1, "", "register_subnet"], [90, 4, 1, "", "set_subnet_identity"], [90, 4, 1, "", "subnet"], [90, 4, 1, "", "subnet_exists"], [90, 4, 1, "", "subnetwork_n"], [90, 4, 1, "", "tempo"], [90, 4, 1, "", "weights"], [90, 4, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api.utils": [[91, 5, 1, "", "add_legacy_methods"]], "bittensor.core.subtensor_api.wallets": [[92, 1, 1, "", "Wallets"]], "bittensor.core.subtensor_api.wallets.Wallets": [[92, 4, 1, "", "does_hotkey_exist"], [92, 4, 1, "", "filter_netuids_by_registered_hotkeys"], [92, 4, 1, "", "get_balance"], [92, 4, 1, "", "get_balances"], [92, 4, 1, "", "get_children"], [92, 4, 1, "", "get_children_pending"], [92, 4, 1, "", "get_delegate_by_hotkey"], [92, 4, 1, "", "get_delegate_take"], [92, 4, 1, "", "get_delegated"], [92, 4, 1, "", "get_hotkey_owner"], [92, 4, 1, "", "get_hotkey_stake"], [92, 4, 1, "", "get_minimum_required_stake"], [92, 4, 1, "", "get_netuids_for_hotkey"], [92, 4, 1, "", "get_owned_hotkeys"], [92, 4, 1, "", "get_stake"], [92, 4, 1, "", "get_stake_add_fee"], [92, 4, 1, "", "get_stake_for_coldkey"], [92, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [92, 4, 1, "", "get_stake_for_hotkey"], [92, 4, 1, "", "get_stake_info_for_coldkey"], [92, 4, 1, "", "get_stake_movement_fee"], [92, 4, 1, "", "get_transfer_fee"], [92, 4, 1, "", "get_unstake_fee"], [92, 4, 1, "", "is_hotkey_delegate"], [92, 4, 1, "", "is_hotkey_registered"], [92, 4, 1, "", "is_hotkey_registered_any"]], "bittensor.core.synapse": [[93, 1, 1, "", "Synapse"], [93, 1, 1, "", "TerminalInfo"], [93, 5, 1, "", "cast_float"], [93, 5, 1, "", "cast_int"], [93, 5, 1, "", "get_size"]], "bittensor.core.synapse.Synapse": [[93, 2, 1, "", "__setattr__"], [93, 4, 1, "", "axon"], [93, 3, 1, "id0", "body_hash"], [93, 4, 1, "", "computed_body_hash"], [93, 4, 1, "", "dendrite"], [93, 2, 1, "id1", "deserialize"], [93, 3, 1, "", "failed_verification"], [93, 2, 1, "id2", "from_headers"], [93, 2, 1, "", "get_required_fields"], [93, 2, 1, "id3", "get_total_size"], [93, 4, 1, "", "header_size"], [93, 3, 1, "", "is_blacklist"], [93, 3, 1, "", "is_failure"], [93, 3, 1, "", "is_success"], [93, 3, 1, "", "is_timeout"], [93, 4, 1, "", "model_config"], [93, 4, 1, "", "name"], [93, 2, 1, "id4", "parse_headers_to_inputs"], [93, 4, 1, "", "required_hash_fields"], [93, 2, 1, "", "set_name_type"], [93, 4, 1, "", "timeout"], [93, 2, 1, "id5", "to_headers"], [93, 4, 1, "", "total_size"]], "bittensor.core.synapse.TerminalInfo": [[93, 4, 1, "", "hotkey"], [93, 4, 1, "", "ip"], [93, 4, 1, "", "model_config"], [93, 4, 1, "", "nonce"], [93, 4, 1, "", "port"], [93, 4, 1, "", "process_time"], [93, 4, 1, "", "signature"], [93, 4, 1, "", "status_code"], [93, 4, 1, "", "status_message"], [93, 4, 1, "", "uuid"], [93, 4, 1, "", "version"]], "bittensor.core.tensor": [[94, 1, 1, "", "DTypes"], [94, 1, 1, "", "Tensor"], [94, 5, 1, "", "cast_dtype"], [94, 5, 1, "", "cast_shape"], [94, 6, 1, "", "dtypes"], [94, 1, 1, "", "tensor"]], "bittensor.core.tensor.DTypes": [[94, 4, 1, "", "torch"]], "bittensor.core.tensor.Tensor": [[94, 4, 1, "", "buffer"], [94, 2, 1, "", "deserialize"], [94, 4, 1, "", "dtype"], [94, 4, 1, "", "model_config"], [94, 2, 1, "", "numpy"], [94, 2, 1, "", "serialize"], [94, 4, 1, "", "shape"], [94, 2, 1, "", "tensor"], [94, 2, 1, "", "tolist"]], "bittensor.core.threadpool": [[95, 7, 1, "", "BrokenThreadPool"], [95, 6, 1, "", "NULL_ENTRY"], [95, 1, 1, "", "PriorityThreadPoolExecutor"], [95, 6, 1, "", "logger"]], "bittensor.core.threadpool.PriorityThreadPoolExecutor": [[95, 2, 1, "", "add_args"], [95, 2, 1, "", "config"], [95, 3, 1, "", "is_empty"], [95, 2, 1, "", "shutdown"], [95, 2, 1, "", "submit"]], "bittensor.core.timelock": [[96, 5, 1, "", "decrypt"], [96, 5, 1, "", "encrypt"], [96, 5, 1, "", "wait_reveal_and_decrypt"]], "bittensor.core.types": [[97, 1, 1, "", "AxonServeCallParams"], [97, 1, 1, "", "ParamWithTypes"], [97, 1, 1, "", "PrometheusServeCallParams"], [97, 6, 1, "", "Salt"], [97, 1, 1, "", "SubtensorMixin"], [97, 6, 1, "", "UIDs"], [97, 6, 1, "", "Weights"]], "bittensor.core.types.AxonServeCallParams": [[97, 4, 1, "", "certificate"], [97, 4, 1, "", "coldkey"], [97, 2, 1, "", "copy"], [97, 2, 1, "", "dict"], [97, 4, 1, "", "hotkey"], [97, 4, 1, "", "ip"], [97, 4, 1, "", "ip_type"], [97, 4, 1, "", "netuid"], [97, 4, 1, "", "placeholder1"], [97, 4, 1, "", "placeholder2"], [97, 4, 1, "", "port"], [97, 4, 1, "", "protocol"], [97, 4, 1, "", "version"]], "bittensor.core.types.ParamWithTypes": [[97, 4, 1, "", "name"], [97, 4, 1, "", "type"]], "bittensor.core.types.PrometheusServeCallParams": [[97, 4, 1, "", "ip"], [97, 4, 1, "", "ip_type"], [97, 4, 1, "", "netuid"], [97, 4, 1, "", "port"], [97, 4, 1, "", "version"]], "bittensor.core.types.SubtensorMixin": [[97, 2, 1, "", "add_args"], [97, 4, 1, "", "chain_endpoint"], [97, 2, 1, "", "config"], [97, 2, 1, "", "help"], [97, 4, 1, "", "log_verbose"], [97, 4, 1, "", "network"], [97, 2, 1, "", "setup_config"]], "bittensor.extras": [[102, 0, 0, "-", "dev_framework"], [110, 0, 0, "-", "subtensor_api"], [118, 0, 0, "-", "timelock"]], "bittensor.extras.dev_framework": [[98, 0, 0, "-", "calls"], [103, 0, 0, "-", "subnet"], [104, 0, 0, "-", "utils"]], "bittensor.extras.dev_framework.calls": [[98, 6, 1, "", "HEADER"], [98, 6, 1, "", "IMPORT_TEXT"], [99, 0, 0, "-", "non_sudo_calls"], [100, 0, 0, "-", "pallets"], [98, 5, 1, "", "recreate_calls_subpackage"], [101, 0, 0, "-", "sudo_calls"]], "bittensor.extras.dev_framework.calls.non_sudo_calls": [[99, 1, 1, "", "ADD_LIQUIDITY"], [99, 1, 1, "id0", "ADD_MEMBER"], [99, 1, 1, "", "ADD_PROXY"], [99, 1, 1, "", "ADD_STAKE"], [99, 1, 1, "", "ADD_STAKE_LIMIT"], [99, 1, 1, "", "ADJUST_SENATE"], [99, 1, 1, "", "ANNOUNCE"], [99, 1, 1, "", "APPLY_AUTHORIZED_UPGRADE"], [99, 1, 1, "", "APPROVE_AS_MULTI"], [99, 1, 1, "", "ASSOCIATE_EVM_KEY"], [99, 1, 1, "", "AS_DERIVATIVE"], [99, 1, 1, "", "AS_MULTI"], [99, 1, 1, "", "AS_MULTI_THRESHOLD_1"], [99, 1, 1, "", "AUTHORIZE_UPGRADE"], [99, 1, 1, "", "AUTHORIZE_UPGRADE_WITHOUT_CHECKS"], [99, 1, 1, "", "BATCH"], [99, 1, 1, "", "BATCH_ALL"], [99, 1, 1, "", "BATCH_COMMIT_WEIGHTS"], [99, 1, 1, "", "BATCH_REVEAL_WEIGHTS"], [99, 1, 1, "", "BATCH_SET_WEIGHTS"], [99, 1, 1, "", "BURN"], [99, 1, 1, "", "BURNED_REGISTER"], [99, 1, 1, "", "BURN_ALPHA"], [99, 1, 1, "", "CALL"], [99, 1, 1, "", "CANCEL"], [99, 1, 1, "", "CANCEL_AS_MULTI"], [99, 1, 1, "", "CANCEL_NAMED"], [99, 1, 1, "", "CANCEL_RETRY"], [99, 1, 1, "", "CANCEL_RETRY_NAMED"], [99, 1, 1, "id4", "CHANGE_KEY"], [99, 1, 1, "", "CLEAR_IDENTITY"], [99, 1, 1, "id8", "CLEAR_PRIME"], [99, 1, 1, "", "CLOSE"], [99, 1, 1, "", "COMMIT_CRV3_MECHANISM_WEIGHTS"], [99, 1, 1, "", "COMMIT_MECHANISM_WEIGHTS"], [99, 1, 1, "", "COMMIT_TIMELOCKED_MECHANISM_WEIGHTS"], [99, 1, 1, "", "COMMIT_TIMELOCKED_WEIGHTS"], [99, 1, 1, "", "COMMIT_WEIGHTS"], [99, 1, 1, "", "CONTRIBUTE"], [99, 1, 1, "id11", "CREATE"], [99, 1, 1, "", "CREATE2"], [99, 1, 1, "", "CREATE_PURE"], [99, 1, 1, "", "DECREASE_TAKE"], [99, 1, 1, "", "DISABLE_WHITELIST"], [99, 1, 1, "", "DISAPPROVE_PROPOSAL"], [99, 1, 1, "", "DISPATCH_AS"], [99, 1, 1, "", "DISPATCH_AS_FALLIBLE"], [99, 1, 1, "", "DISSOLVE"], [99, 1, 1, "", "DISSOLVE_NETWORK"], [99, 1, 1, "", "ENSURE_UPDATED"], [99, 1, 1, "", "ENTER"], [99, 1, 1, "", "EXECUTE"], [99, 1, 1, "", "EXTEND"], [99, 1, 1, "", "FAUCET"], [99, 1, 1, "", "FINALIZE"], [99, 1, 1, "", "FORCE_ADJUST_TOTAL_ISSUANCE"], [99, 1, 1, "", "FORCE_BATCH"], [99, 1, 1, "", "FORCE_ENTER"], [99, 1, 1, "", "FORCE_EXIT"], [99, 1, 1, "", "FORCE_EXTEND"], [99, 1, 1, "", "FORCE_RELEASE_DEPOSIT"], [99, 1, 1, "", "FORCE_SET_BALANCE"], [99, 1, 1, "", "FORCE_SLASH_DEPOSIT"], [99, 1, 1, "", "FORCE_TRANSFER"], [99, 1, 1, "", "FORCE_UNRESERVE"], [99, 1, 1, "", "IF_ELSE"], [99, 1, 1, "", "INCREASE_TAKE"], [99, 1, 1, "", "KILL_PREFIX"], [99, 1, 1, "", "KILL_PURE"], [99, 1, 1, "", "KILL_STORAGE"], [99, 1, 1, "", "MODIFY_POSITION"], [99, 1, 1, "", "MOVE_STAKE"], [99, 1, 1, "", "NOTE_PREIMAGE"], [99, 1, 1, "", "NOTE_STALLED"], [99, 1, 1, "id14", "POKE_DEPOSIT"], [99, 1, 1, "", "PROPOSE"], [99, 1, 1, "", "PROXY"], [99, 1, 1, "", "PROXY_ANNOUNCED"], [99, 1, 1, "", "RECYCLE_ALPHA"], [99, 1, 1, "", "REFUND"], [99, 1, 1, "", "REGISTER"], [99, 1, 1, "", "REGISTER_LEASED_NETWORK"], [99, 1, 1, "", "REGISTER_NETWORK"], [99, 1, 1, "", "REGISTER_NETWORK_WITH_IDENTITY"], [99, 1, 1, "", "REJECT_ANNOUNCEMENT"], [99, 1, 1, "", "RELEASE_DEPOSIT"], [99, 1, 1, "", "REMARK"], [99, 1, 1, "", "REMARK_WITH_EVENT"], [99, 1, 1, "", "REMOVE_ANNOUNCEMENT"], [99, 1, 1, "", "REMOVE_KEY"], [99, 1, 1, "", "REMOVE_LIQUIDITY"], [99, 1, 1, "id17", "REMOVE_MEMBER"], [99, 1, 1, "", "REMOVE_PROXIES"], [99, 1, 1, "", "REMOVE_PROXY"], [99, 1, 1, "", "REMOVE_STAKE"], [99, 1, 1, "", "REMOVE_STAKE_FULL_LIMIT"], [99, 1, 1, "", "REMOVE_STAKE_LIMIT"], [99, 1, 1, "", "REPORT_EQUIVOCATION"], [99, 1, 1, "", "REPORT_EQUIVOCATION_UNSIGNED"], [99, 1, 1, "", "REQUEST_PREIMAGE"], [99, 1, 1, "id21", "RESET_MEMBERS"], [99, 1, 1, "", "REVEAL_MECHANISM_WEIGHTS"], [99, 1, 1, "", "REVEAL_WEIGHTS"], [99, 1, 1, "", "ROOT_DISSOLVE_NETWORK"], [99, 1, 1, "", "ROOT_REGISTER"], [99, 1, 1, "", "SCHEDULE"], [99, 1, 1, "", "SCHEDULE_AFTER"], [99, 1, 1, "", "SCHEDULE_GRANDPA_CHANGE"], [99, 1, 1, "", "SCHEDULE_NAMED"], [99, 1, 1, "", "SCHEDULE_NAMED_AFTER"], [99, 1, 1, "", "SCHEDULE_SWAP_COLDKEY"], [99, 1, 1, "", "SERVE_AXON"], [99, 1, 1, "", "SERVE_AXON_TLS"], [99, 1, 1, "", "SERVE_PROMETHEUS"], [99, 1, 1, "", "SET"], [99, 1, 1, "", "SET_BASE_FEE_PER_GAS"], [99, 1, 1, "", "SET_BEACON_CONFIG"], [99, 1, 1, "", "SET_CHILDKEY_TAKE"], [99, 1, 1, "", "SET_CHILDREN"], [99, 1, 1, "", "SET_CODE"], [99, 1, 1, "", "SET_CODE_WITHOUT_CHECKS"], [99, 1, 1, "", "SET_COLDKEY_AUTO_STAKE_HOTKEY"], [99, 1, 1, "", "SET_COMMITMENT"], [99, 1, 1, "", "SET_ELASTICITY"], [99, 1, 1, "", "SET_FEE_RATE"], [99, 1, 1, "", "SET_HEAP_PAGES"], [99, 1, 1, "id25", "SET_IDENTITY"], [99, 1, 1, "", "SET_KEY"], [99, 1, 1, "", "SET_MAX_SPACE"], [99, 1, 1, "", "SET_MECHANISM_WEIGHTS"], [99, 1, 1, "", "SET_MEMBERS"], [99, 1, 1, "", "SET_OLDEST_STORED_ROUND"], [99, 1, 1, "", "SET_PENDING_CHILDKEY_COOLDOWN"], [99, 1, 1, "id28", "SET_PRIME"], [99, 1, 1, "", "SET_RETRY"], [99, 1, 1, "", "SET_RETRY_NAMED"], [99, 1, 1, "", "SET_STORAGE"], [99, 1, 1, "", "SET_SUBNET_IDENTITY"], [99, 1, 1, "", "SET_WEIGHTS"], [99, 1, 1, "", "SET_WHITELIST"], [99, 1, 1, "", "START_CALL"], [99, 1, 1, "id32", "SUDO"], [99, 1, 1, "", "SWAP_AUTHORITIES"], [99, 1, 1, "", "SWAP_COLDKEY"], [99, 1, 1, "", "SWAP_HOTKEY"], [99, 1, 1, "id36", "SWAP_MEMBER"], [99, 1, 1, "", "SWAP_STAKE"], [99, 1, 1, "", "SWAP_STAKE_LIMIT"], [99, 1, 1, "", "TERMINATE_LEASE"], [99, 1, 1, "", "TOGGLE_USER_LIQUIDITY"], [99, 1, 1, "", "TRANSACT"], [99, 1, 1, "", "TRANSFER_ALL"], [99, 1, 1, "", "TRANSFER_ALLOW_DEATH"], [99, 1, 1, "", "TRANSFER_KEEP_ALIVE"], [99, 1, 1, "", "TRANSFER_STAKE"], [99, 1, 1, "", "TRY_ASSOCIATE_HOTKEY"], [99, 1, 1, "", "UNNOTE_PREIMAGE"], [99, 1, 1, "", "UNREQUEST_PREIMAGE"], [99, 1, 1, "", "UNSTAKE_ALL"], [99, 1, 1, "", "UNSTAKE_ALL_ALPHA"], [99, 1, 1, "", "UPDATE_CAP"], [99, 1, 1, "", "UPDATE_END"], [99, 1, 1, "", "UPDATE_MIN_CONTRIBUTION"], [99, 1, 1, "", "UPDATE_SYMBOL"], [99, 1, 1, "", "UPGRADE_ACCOUNTS"], [99, 1, 1, "id41", "VOTE"], [99, 1, 1, "id47", "WITHDRAW"], [99, 1, 1, "", "WITH_WEIGHT"], [99, 1, 1, "", "WRITE_PULSE"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "liquidity"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "tick_high"], [99, 4, 1, "", "tick_low"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER": [[99, 4, 1, "id1", "pallet"], [99, 4, 1, "id2", "wallet"], [99, 4, 1, "id3", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY": [[99, 4, 1, "", "delay"], [99, 4, 1, "", "delegate"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proxy_type"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE": [[99, 4, 1, "", "amount_staked"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT": [[99, 4, 1, "", "allow_partial"], [99, 4, 1, "", "amount_staked"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "limit_price"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE": [[99, 4, 1, "", "call_hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "real"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE": [[99, 4, 1, "", "code"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI": [[99, 4, 1, "", "call_hash"], [99, 4, 1, "", "max_weight"], [99, 4, 1, "", "maybe_timepoint"], [99, 4, 1, "", "other_signatories"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "threshold"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY": [[99, 4, 1, "", "block_number"], [99, 4, 1, "", "evm_key"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "signature"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE": [[99, 4, 1, "", "call"], [99, 4, 1, "", "index"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI": [[99, 4, 1, "", "call"], [99, 4, 1, "", "max_weight"], [99, 4, 1, "", "maybe_timepoint"], [99, 4, 1, "", "other_signatories"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "threshold"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1": [[99, 4, 1, "", "call"], [99, 4, 1, "", "other_signatories"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE": [[99, 4, 1, "", "code_hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS": [[99, 4, 1, "", "code_hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH": [[99, 4, 1, "", "calls"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL": [[99, 4, 1, "", "calls"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS": [[99, 4, 1, "", "commit_hashes"], [99, 4, 1, "", "netuids"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS": [[99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "salts_list"], [99, 4, 1, "", "uids_list"], [99, 4, 1, "", "values_list"], [99, 4, 1, "", "version_keys"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS": [[99, 4, 1, "", "netuids"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "version_keys"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "weights"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN": [[99, 4, 1, "", "keep_alive"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "value"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA": [[99, 4, 1, "", "amount"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL": [[99, 4, 1, "", "access_list"], [99, 4, 1, "", "authorization_list"], [99, 4, 1, "", "gas_limit"], [99, 4, 1, "", "input"], [99, 4, 1, "", "max_fee_per_gas"], [99, 4, 1, "", "max_priority_fee_per_gas"], [99, 4, 1, "", "nonce"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "source"], [99, 4, 1, "", "target"], [99, 4, 1, "", "value"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL": [[99, 4, 1, "", "index"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "when"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI": [[99, 4, 1, "", "call_hash"], [99, 4, 1, "", "other_signatories"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "threshold"], [99, 4, 1, "", "timepoint"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED": [[99, 4, 1, "", "id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "task"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED": [[99, 4, 1, "", "id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY": [[99, 4, 1, "id5", "new"], [99, 4, 1, "id6", "pallet"], [99, 4, 1, "id7", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY": [[99, 4, 1, "", "identified"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME": [[99, 4, 1, "id9", "pallet"], [99, 4, 1, "id10", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE": [[99, 4, 1, "", "index"], [99, 4, 1, "", "length_bound"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proposal_hash"], [99, 4, 1, "", "proposal_weight_bound"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS": [[99, 4, 1, "", "commit"], [99, 4, 1, "", "mecid"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "reveal_round"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS": [[99, 4, 1, "", "commit_hash"], [99, 4, 1, "", "mecid"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS": [[99, 4, 1, "", "commit"], [99, 4, 1, "", "commit_reveal_version"], [99, 4, 1, "", "mecid"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "reveal_round"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS": [[99, 4, 1, "", "commit"], [99, 4, 1, "", "commit_reveal_version"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "reveal_round"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS": [[99, 4, 1, "", "commit_hash"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE": [[99, 4, 1, "", "amount"], [99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE": [[99, 4, 1, "", "access_list"], [99, 4, 1, "", "authorization_list"], [99, 4, 1, "", "call"], [99, 4, 1, "", "cap"], [99, 4, 1, "", "deposit"], [99, 4, 1, "", "end"], [99, 4, 1, "", "gas_limit"], [99, 4, 1, "", "init"], [99, 4, 1, "", "max_fee_per_gas"], [99, 4, 1, "", "max_priority_fee_per_gas"], [99, 4, 1, "", "min_contribution"], [99, 4, 1, "", "nonce"], [99, 4, 1, "id12", "pallet"], [99, 4, 1, "", "source"], [99, 4, 1, "", "target_address"], [99, 4, 1, "", "value"], [99, 4, 1, "id13", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2": [[99, 4, 1, "", "access_list"], [99, 4, 1, "", "authorization_list"], [99, 4, 1, "", "gas_limit"], [99, 4, 1, "", "init"], [99, 4, 1, "", "max_fee_per_gas"], [99, 4, 1, "", "max_priority_fee_per_gas"], [99, 4, 1, "", "nonce"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "salt"], [99, 4, 1, "", "source"], [99, 4, 1, "", "value"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE": [[99, 4, 1, "", "delay"], [99, 4, 1, "", "index"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proxy_type"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "take"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST": [[99, 4, 1, "", "disabled"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "proposal_hash"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS": [[99, 4, 1, "", "as_origin"], [99, 4, 1, "", "call"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE": [[99, 4, 1, "", "as_origin"], [99, 4, 1, "", "call"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE": [[99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK": [[99, 4, 1, "", "coldkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED": [[99, 4, 1, "", "hashes"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE": [[99, 4, 1, "", "length_bound"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proposal"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET": [[99, 4, 1, "", "block_number"], [99, 4, 1, "", "nonce"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "work"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE": [[99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE": [[99, 4, 1, "", "delta"], [99, 4, 1, "", "direction"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH": [[99, 4, 1, "", "calls"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT": [[99, 4, 1, "", "account"], [99, 4, 1, "", "block"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE": [[99, 4, 1, "", "new_free"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT": [[99, 4, 1, "", "account"], [99, 4, 1, "", "block"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER": [[99, 4, 1, "", "dest"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "source"], [99, 4, 1, "", "value"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE": [[99, 4, 1, "", "amount"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE": [[99, 4, 1, "", "fallback"], [99, 4, 1, "", "main"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "take"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "prefix"], [99, 4, 1, "", "subkeys"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE": [[99, 4, 1, "", "ext_index"], [99, 4, 1, "", "height"], [99, 4, 1, "", "index"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proxy_type"], [99, 4, 1, "", "spawner"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE": [[99, 4, 1, "", "keys"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "liquidity_delta"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "position_id"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE": [[99, 4, 1, "", "alpha_amount"], [99, 4, 1, "", "destination_hotkey"], [99, 4, 1, "", "destination_netuid"], [99, 4, 1, "", "origin_hotkey"], [99, 4, 1, "", "origin_netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE": [[99, 4, 1, "", "bytes"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED": [[99, 4, 1, "", "best_finalized_block_number"], [99, 4, 1, "", "delay"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT": [[99, 4, 1, "", "call_hash"], [99, 4, 1, "", "other_signatories"], [99, 4, 1, "id15", "pallet"], [99, 4, 1, "", "threshold"], [99, 4, 1, "id16", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE": [[99, 4, 1, "", "duration"], [99, 4, 1, "", "length_bound"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proposal"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY": [[99, 4, 1, "", "call"], [99, 4, 1, "", "force_proxy_type"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "real"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED": [[99, 4, 1, "", "call"], [99, 4, 1, "", "delegate"], [99, 4, 1, "", "force_proxy_type"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "real"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA": [[99, 4, 1, "", "amount"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND": [[99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER": [[99, 4, 1, "", "block_number"], [99, 4, 1, "", "coldkey"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "nonce"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "work"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK": [[99, 4, 1, "", "emissions_share"], [99, 4, 1, "", "end_block"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "identity"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT": [[99, 4, 1, "", "call_hash"], [99, 4, 1, "", "delegate"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT": [[99, 4, 1, "", "account"], [99, 4, 1, "", "block"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "remark"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "remark"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT": [[99, 4, 1, "", "call_hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "real"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "position_id"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER": [[99, 4, 1, "id18", "pallet"], [99, 4, 1, "id19", "wallet"], [99, 4, 1, "id20", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY": [[99, 4, 1, "", "delay"], [99, 4, 1, "", "delegate"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proxy_type"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE": [[99, 4, 1, "", "amount_unstaked"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "limit_price"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT": [[99, 4, 1, "", "allow_partial"], [99, 4, 1, "", "amount_unstaked"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "limit_price"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION": [[99, 4, 1, "", "equivocation_proof"], [99, 4, 1, "", "key_owner_proof"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED": [[99, 4, 1, "", "equivocation_proof"], [99, 4, 1, "", "key_owner_proof"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE": [[99, 4, 1, "", "hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS": [[99, 4, 1, "id22", "members"], [99, 4, 1, "id23", "pallet"], [99, 4, 1, "id24", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS": [[99, 4, 1, "", "mecid"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "salt"], [99, 4, 1, "", "uids"], [99, 4, 1, "", "values"], [99, 4, 1, "", "version_key"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS": [[99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "salt"], [99, 4, 1, "", "uids"], [99, 4, 1, "", "values"], [99, 4, 1, "", "version_key"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK": [[99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE": [[99, 4, 1, "", "call"], [99, 4, 1, "", "maybe_periodic"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "priority"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "when"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER": [[99, 4, 1, "", "after"], [99, 4, 1, "", "call"], [99, 4, 1, "", "maybe_periodic"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "priority"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE": [[99, 4, 1, "", "forced"], [99, 4, 1, "", "in_blocks"], [99, 4, 1, "", "next_authorities"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED": [[99, 4, 1, "", "call"], [99, 4, 1, "", "id"], [99, 4, 1, "", "maybe_periodic"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "priority"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "when"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER": [[99, 4, 1, "", "after"], [99, 4, 1, "", "call"], [99, 4, 1, "", "id"], [99, 4, 1, "", "maybe_periodic"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "priority"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY": [[99, 4, 1, "", "new_coldkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON": [[99, 4, 1, "", "ip"], [99, 4, 1, "", "ip_type"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "placeholder1"], [99, 4, 1, "", "placeholder2"], [99, 4, 1, "", "port"], [99, 4, 1, "", "protocol"], [99, 4, 1, "", "version"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS": [[99, 4, 1, "", "certificate"], [99, 4, 1, "", "ip"], [99, 4, 1, "", "ip_type"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "placeholder1"], [99, 4, 1, "", "placeholder2"], [99, 4, 1, "", "port"], [99, 4, 1, "", "protocol"], [99, 4, 1, "", "version"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS": [[99, 4, 1, "", "ip"], [99, 4, 1, "", "ip_type"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "port"], [99, 4, 1, "", "version"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET": [[99, 4, 1, "", "now"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS": [[99, 4, 1, "", "fee"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG": [[99, 4, 1, "", "config_payload"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "signature"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "take"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN": [[99, 4, 1, "", "children"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE": [[99, 4, 1, "", "code"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS": [[99, 4, 1, "", "code"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT": [[99, 4, 1, "", "info"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY": [[99, 4, 1, "", "elasticity"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE": [[99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "rate"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES": [[99, 4, 1, "", "pages"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY": [[99, 4, 1, "", "additional"], [99, 4, 1, "", "description"], [99, 4, 1, "", "discord"], [99, 4, 1, "", "github_repo"], [99, 4, 1, "", "identified"], [99, 4, 1, "", "image"], [99, 4, 1, "", "info"], [99, 4, 1, "", "name"], [99, 4, 1, "id26", "pallet"], [99, 4, 1, "", "url"], [99, 4, 1, "id27", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY": [[99, 4, 1, "", "new"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE": [[99, 4, 1, "", "new_limit"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS": [[99, 4, 1, "", "dests"], [99, 4, 1, "", "mecid"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "version_key"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "weights"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS": [[99, 4, 1, "", "new_members"], [99, 4, 1, "", "old_count"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "prime"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND": [[99, 4, 1, "", "oldest_round"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN": [[99, 4, 1, "", "cooldown"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME": [[99, 4, 1, "id29", "pallet"], [99, 4, 1, "id30", "wallet"], [99, 4, 1, "id31", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "period"], [99, 4, 1, "", "retries"], [99, 4, 1, "", "task"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED": [[99, 4, 1, "", "id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "period"], [99, 4, 1, "", "retries"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE": [[99, 4, 1, "", "items"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY": [[99, 4, 1, "", "additional"], [99, 4, 1, "", "description"], [99, 4, 1, "", "discord"], [99, 4, 1, "", "github_repo"], [99, 4, 1, "", "logo_url"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "subnet_contact"], [99, 4, 1, "", "subnet_name"], [99, 4, 1, "", "subnet_url"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS": [[99, 4, 1, "", "dests"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "version_key"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "weights"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST": [[99, 4, 1, "", "new"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL": [[99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO": [[99, 4, 1, "id33", "call"], [99, 4, 1, "id34", "pallet"], [99, 4, 1, "id35", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES": [[99, 4, 1, "", "new_authorities"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY": [[99, 4, 1, "", "new_coldkey"], [99, 4, 1, "", "old_coldkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "swap_cost"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "new_hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER": [[99, 4, 1, "id37", "add"], [99, 4, 1, "id38", "pallet"], [99, 4, 1, "id39", "remove"], [99, 4, 1, "id40", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE": [[99, 4, 1, "", "alpha_amount"], [99, 4, 1, "", "destination_netuid"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "origin_netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT": [[99, 4, 1, "", "allow_partial"], [99, 4, 1, "", "alpha_amount"], [99, 4, 1, "", "destination_netuid"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "limit_price"], [99, 4, 1, "", "origin_netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "lease_id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY": [[99, 4, 1, "", "enable"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "transaction"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL": [[99, 4, 1, "", "dest"], [99, 4, 1, "", "keep_alive"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH": [[99, 4, 1, "", "dest"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "value"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE": [[99, 4, 1, "", "dest"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "value"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE": [[99, 4, 1, "", "alpha_amount"], [99, 4, 1, "", "destination_coldkey"], [99, 4, 1, "", "destination_netuid"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "origin_netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE": [[99, 4, 1, "", "hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE": [[99, 4, 1, "", "hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP": [[99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "new_cap"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END": [[99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "new_end"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION": [[99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "new_min_contribution"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL": [[99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "symbol"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE": [[99, 4, 1, "id42", "approve"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "id43", "index"], [99, 4, 1, "id44", "pallet"], [99, 4, 1, "id45", "proposal"], [99, 4, 1, "id46", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW": [[99, 4, 1, "", "address"], [99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "id48", "pallet"], [99, 4, 1, "", "value"], [99, 4, 1, "id49", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT": [[99, 4, 1, "", "call"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "weight"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "pulses_payload"], [99, 4, 1, "", "signature"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.pallets": [[100, 6, 1, "", "AdminUtils"], [100, 6, 1, "", "Balances"], [100, 6, 1, "", "BaseFee"], [100, 6, 1, "", "Commitments"], [100, 6, 1, "", "Crowdloan"], [100, 6, 1, "", "Drand"], [100, 6, 1, "", "EVM"], [100, 6, 1, "", "Ethereum"], [100, 6, 1, "", "Grandpa"], [100, 6, 1, "", "Multisig"], [100, 6, 1, "", "Preimage"], [100, 6, 1, "", "Proxy"], [100, 6, 1, "", "Registry"], [100, 6, 1, "", "SafeMode"], [100, 6, 1, "", "Scheduler"], [100, 6, 1, "", "SenateMembers"], [100, 6, 1, "", "SubtensorModule"], [100, 6, 1, "", "Sudo"], [100, 6, 1, "", "Swap"], [100, 6, 1, "", "System"], [100, 6, 1, "", "Timestamp"], [100, 6, 1, "", "Triumvirate"], [100, 6, 1, "", "TriumvirateMembers"], [100, 6, 1, "", "Utility"]], "bittensor.extras.dev_framework.calls.sudo_calls": [[101, 1, 1, "", "SUDO_AS"], [101, 1, 1, "", "SUDO_SET_ACTIVITY_CUTOFF"], [101, 1, 1, "", "SUDO_SET_ADJUSTMENT_ALPHA"], [101, 1, 1, "", "SUDO_SET_ADJUSTMENT_INTERVAL"], [101, 1, 1, "", "SUDO_SET_ADMIN_FREEZE_WINDOW"], [101, 1, 1, "", "SUDO_SET_ALPHA_SIGMOID_STEEPNESS"], [101, 1, 1, "", "SUDO_SET_ALPHA_VALUES"], [101, 1, 1, "", "SUDO_SET_BONDS_MOVING_AVERAGE"], [101, 1, 1, "", "SUDO_SET_BONDS_PENALTY"], [101, 1, 1, "", "SUDO_SET_BONDS_RESET_ENABLED"], [101, 1, 1, "", "SUDO_SET_CK_BURN"], [101, 1, 1, "", "SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION"], [101, 1, 1, "", "SUDO_SET_COMMIT_REVEAL_VERSION"], [101, 1, 1, "", "SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED"], [101, 1, 1, "", "SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL"], [101, 1, 1, "", "SUDO_SET_DEFAULT_TAKE"], [101, 1, 1, "", "SUDO_SET_DIFFICULTY"], [101, 1, 1, "", "SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION"], [101, 1, 1, "", "SUDO_SET_EMA_PRICE_HALVING_PERIOD"], [101, 1, 1, "", "SUDO_SET_EVM_CHAIN_ID"], [101, 1, 1, "", "SUDO_SET_IMMUNITY_PERIOD"], [101, 1, 1, "", "SUDO_SET_KAPPA"], [101, 1, 1, "", "SUDO_SET_LIQUID_ALPHA_ENABLED"], [101, 1, 1, "", "SUDO_SET_LOCK_REDUCTION_INTERVAL"], [101, 1, 1, "", "SUDO_SET_MAX_ALLOWED_UIDS"], [101, 1, 1, "", "SUDO_SET_MAX_ALLOWED_VALIDATORS"], [101, 1, 1, "", "SUDO_SET_MAX_BURN"], [101, 1, 1, "", "SUDO_SET_MAX_CHILDKEY_TAKE"], [101, 1, 1, "", "SUDO_SET_MAX_DIFFICULTY"], [101, 1, 1, "", "SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK"], [101, 1, 1, "", "SUDO_SET_MAX_WEIGHT_LIMIT"], [101, 1, 1, "", "SUDO_SET_MECHANISM_COUNT"], [101, 1, 1, "", "SUDO_SET_MECHANISM_EMISSION_SPLIT"], [101, 1, 1, "", "SUDO_SET_MIN_ALLOWED_UIDS"], [101, 1, 1, "", "SUDO_SET_MIN_ALLOWED_WEIGHTS"], [101, 1, 1, "", "SUDO_SET_MIN_BURN"], [101, 1, 1, "", "SUDO_SET_MIN_CHILDKEY_TAKE"], [101, 1, 1, "", "SUDO_SET_MIN_DELEGATE_TAKE"], [101, 1, 1, "", "SUDO_SET_MIN_DIFFICULTY"], [101, 1, 1, "", "SUDO_SET_NETWORK_IMMUNITY_PERIOD"], [101, 1, 1, "", "SUDO_SET_NETWORK_MIN_LOCK_COST"], [101, 1, 1, "", "SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED"], [101, 1, 1, "", "SUDO_SET_NETWORK_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_NETWORK_REGISTRATION_ALLOWED"], [101, 1, 1, "", "SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE"], [101, 1, 1, "", "SUDO_SET_OWNER_HPARAM_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT"], [101, 1, 1, "", "SUDO_SET_RAO_RECYCLED"], [101, 1, 1, "", "SUDO_SET_RECYCLE_OR_BURN"], [101, 1, 1, "", "SUDO_SET_RHO"], [101, 1, 1, "", "SUDO_SET_SERVING_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_SN_OWNER_HOTKEY"], [101, 1, 1, "", "SUDO_SET_STAKE_THRESHOLD"], [101, 1, 1, "", "SUDO_SET_SUBNET_LIMIT"], [101, 1, 1, "", "SUDO_SET_SUBNET_MOVING_ALPHA"], [101, 1, 1, "", "SUDO_SET_SUBNET_OWNER_CUT"], [101, 1, 1, "", "SUDO_SET_SUBNET_OWNER_HOTKEY"], [101, 1, 1, "", "SUDO_SET_SUBTOKEN_ENABLED"], [101, 1, 1, "", "SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL"], [101, 1, 1, "", "SUDO_SET_TEMPO"], [101, 1, 1, "", "SUDO_SET_TOGGLE_TRANSFER"], [101, 1, 1, "", "SUDO_SET_TOTAL_ISSUANCE"], [101, 1, 1, "", "SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_TX_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_WEIGHTS_SET_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_WEIGHTS_VERSION_KEY"], [101, 1, 1, "", "SUDO_SET_YUMA3_ENABLED"], [101, 1, 1, "", "SUDO_TOGGLE_EVM_PRECOMPILE"], [101, 1, 1, "", "SUDO_TRIM_TO_MAX_ALLOWED_UIDS"], [101, 1, 1, "id0", "SUDO_UNCHECKED_WEIGHT"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS": [[101, 4, 1, "", "call"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"], [101, 4, 1, "", "who"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF": [[101, 4, 1, "", "activity_cutoff"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA": [[101, 4, 1, "", "adjustment_alpha"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL": [[101, 4, 1, "", "adjustment_interval"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"], [101, 4, 1, "", "window"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "steepness"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES": [[101, 4, 1, "", "alpha_high"], [101, 4, 1, "", "alpha_low"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE": [[101, 4, 1, "", "bonds_moving_average"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY": [[101, 4, 1, "", "bonds_penalty"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED": [[101, 4, 1, "", "enabled"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN": [[101, 4, 1, "", "burn"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION": [[101, 4, 1, "", "duration"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "version"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED": [[101, 4, 1, "", "enabled"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL": [[101, 4, 1, "", "interval"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE": [[101, 4, 1, "", "default_take"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY": [[101, 4, 1, "", "difficulty"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION": [[101, 4, 1, "", "duration"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD": [[101, 4, 1, "", "ema_halving"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID": [[101, 4, 1, "", "chain_id"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD": [[101, 4, 1, "", "immunity_period"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA": [[101, 4, 1, "", "kappa"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED": [[101, 4, 1, "", "enabled"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL": [[101, 4, 1, "", "interval"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS": [[101, 4, 1, "", "max_allowed_uids"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS": [[101, 4, 1, "", "max_allowed_validators"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN": [[101, 4, 1, "", "max_burn"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "take"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY": [[101, 4, 1, "", "max_difficulty"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK": [[101, 4, 1, "", "max_registrations_per_block"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT": [[101, 4, 1, "", "max_weight_limit"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT": [[101, 4, 1, "", "mechanism_count"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT": [[101, 4, 1, "", "maybe_split"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS": [[101, 4, 1, "", "min_allowed_uids"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS": [[101, 4, 1, "", "min_allowed_weights"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN": [[101, 4, 1, "", "min_burn"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "take"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "take"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY": [[101, 4, 1, "", "min_difficulty"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD": [[101, 4, 1, "", "immunity_period"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST": [[101, 4, 1, "", "lock_cost"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "registration_allowed"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "rate_limit"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "registration_allowed"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE": [[101, 4, 1, "", "min_stake"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT": [[101, 4, 1, "", "epochs"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT": [[101, 4, 1, "", "immune_neurons"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "rao_recycled"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "recycle_or_burn"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "rho"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "serving_rate_limit"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY": [[101, 4, 1, "", "hotkey"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD": [[101, 4, 1, "", "min_stake"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT": [[101, 4, 1, "", "max_subnets"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA": [[101, 4, 1, "", "alpha"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "subnet_owner_cut"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY": [[101, 4, 1, "", "hotkey"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "subtoken_enabled"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "target_registrations_per_interval"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "tempo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "toggle"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "total_issuance"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "tx_rate_limit"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "tx_rate_limit"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "tx_rate_limit"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"], [101, 4, 1, "", "weights_set_rate_limit"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"], [101, 4, 1, "", "weights_version_key"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED": [[101, 4, 1, "", "enabled"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE": [[101, 4, 1, "", "enabled"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "precompile_id"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS": [[101, 4, 1, "", "max_n"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT": [[101, 4, 1, "id1", "call"], [101, 4, 1, "id2", "pallet"], [101, 4, 1, "id3", "sudo"], [101, 4, 1, "id4", "wallet"], [101, 4, 1, "id5", "weight"]], "bittensor.extras.dev_framework.subnet": [[103, 1, 1, "", "CALL_RECORD"], [103, 6, 1, "", "NETUID"], [103, 1, 1, "", "TestSubnet"]], "bittensor.extras.dev_framework.subnet.CALL_RECORD": [[103, 4, 1, "", "idx"], [103, 4, 1, "", "operation"], [103, 4, 1, "", "response"]], "bittensor.extras.dev_framework.subnet.TestSubnet": [[103, 2, 1, "", "async_execute_one"], [103, 2, 1, "", "async_execute_steps"], [103, 2, 1, "", "async_set_hyperparameter"], [103, 2, 1, "", "async_wait_next_epoch"], [103, 3, 1, "", "calls"], [103, 2, 1, "", "execute_one"], [103, 2, 1, "", "execute_steps"], [103, 3, 1, "", "netuid"], [103, 3, 1, "", "owner"], [103, 4, 1, "", "period"], [103, 4, 1, "", "raise_error"], [103, 4, 1, "", "s"], [103, 2, 1, "", "set_hyperparameter"], [103, 4, 1, "", "wait_for_finalization"], [103, 4, 1, "", "wait_for_inclusion"], [103, 2, 1, "", "wait_next_epoch"]], "bittensor.extras.dev_framework.utils": [[104, 6, 1, "", "ACTIVATE_SUBNET"], [104, 1, 1, "", "ActivateSubnet"], [104, 6, 1, "", "REGISTER_NEURON"], [104, 6, 1, "", "REGISTER_SUBNET"], [104, 1, 1, "", "RegisterNeuron"], [104, 1, 1, "", "RegisterSubnet"], [104, 6, 1, "", "STEPS"], [104, 5, 1, "", "is_instance_namedtuple"], [104, 5, 1, "", "split_command"]], "bittensor.extras.dev_framework.utils.ActivateSubnet": [[104, 4, 1, "", "netuid"], [104, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.utils.RegisterNeuron": [[104, 4, 1, "", "netuid"], [104, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.utils.RegisterSubnet": [[104, 4, 1, "", "wallet"]], "bittensor.extras.subtensor_api": [[110, 1, 1, "", "SubtensorApi"], [106, 0, 0, "-", "chain"], [107, 0, 0, "-", "commitments"], [108, 0, 0, "-", "delegates"], [109, 0, 0, "-", "extrinsics"], [111, 0, 0, "-", "metagraphs"], [112, 0, 0, "-", "neurons"], [113, 0, 0, "-", "queries"], [114, 0, 0, "-", "staking"], [115, 0, 0, "-", "subnets"], [116, 0, 0, "-", "utils"], [117, 0, 0, "-", "wallets"]], "bittensor.extras.subtensor_api.SubtensorApi": [[110, 2, 1, "", "add_args"], [110, 3, 1, "", "block"], [110, 3, 1, "", "chain"], [110, 4, 1, "", "chain_endpoint"], [110, 4, 1, "", "close"], [110, 3, 1, "", "commitments"], [110, 4, 1, "", "compose_call"], [110, 4, 1, "", "config"], [110, 3, 1, "", "delegates"], [110, 4, 1, "", "determine_block_hash"], [110, 4, 1, "", "encode_params"], [110, 3, 1, "", "extrinsics"], [110, 4, 1, "", "help"], [110, 4, 1, "", "initialize"], [110, 4, 1, "", "inner_subtensor"], [110, 4, 1, "", "is_async"], [110, 4, 1, "", "log_verbose"], [110, 3, 1, "", "metagraphs"], [110, 4, 1, "", "network"], [110, 3, 1, "", "neurons"], [110, 3, 1, "", "queries"], [110, 4, 1, "", "setup_config"], [110, 4, 1, "", "sign_and_send_extrinsic"], [110, 3, 1, "", "staking"], [110, 4, 1, "", "start_call"], [110, 3, 1, "", "subnets"], [110, 4, 1, "", "substrate"], [110, 4, 1, "", "wait_for_block"], [110, 3, 1, "", "wallets"]], "bittensor.extras.subtensor_api.chain": [[106, 1, 1, "", "Chain"]], "bittensor.extras.subtensor_api.chain.Chain": [[106, 4, 1, "", "get_admin_freeze_window"], [106, 4, 1, "", "get_block_hash"], [106, 4, 1, "", "get_block_info"], [106, 4, 1, "", "get_current_block"], [106, 4, 1, "", "get_delegate_identities"], [106, 4, 1, "", "get_existential_deposit"], [106, 4, 1, "", "get_minimum_required_stake"], [106, 4, 1, "", "get_timestamp"], [106, 4, 1, "", "get_vote_data"], [106, 4, 1, "", "is_fast_blocks"], [106, 4, 1, "", "is_in_admin_freeze_window"], [106, 4, 1, "", "last_drand_round"], [106, 4, 1, "", "state_call"], [106, 4, 1, "", "tx_rate_limit"]], "bittensor.extras.subtensor_api.commitments": [[107, 1, 1, "", "Commitments"]], "bittensor.extras.subtensor_api.commitments.Commitments": [[107, 4, 1, "", "commit_reveal_enabled"], [107, 4, 1, "", "get_all_commitments"], [107, 4, 1, "", "get_all_revealed_commitments"], [107, 4, 1, "", "get_commitment"], [107, 4, 1, "", "get_commitment_metadata"], [107, 4, 1, "", "get_last_bonds_reset"], [107, 4, 1, "", "get_last_commitment_bonds_reset_block"], [107, 4, 1, "", "get_revealed_commitment"], [107, 4, 1, "", "get_revealed_commitment_by_hotkey"], [107, 4, 1, "", "get_timelocked_weight_commits"], [107, 4, 1, "", "set_commitment"], [107, 4, 1, "", "set_reveal_commitment"]], "bittensor.extras.subtensor_api.delegates": [[108, 1, 1, "", "Delegates"]], "bittensor.extras.subtensor_api.delegates.Delegates": [[108, 4, 1, "", "get_delegate_by_hotkey"], [108, 4, 1, "", "get_delegate_identities"], [108, 4, 1, "", "get_delegate_take"], [108, 4, 1, "", "get_delegated"], [108, 4, 1, "", "get_delegates"], [108, 4, 1, "", "is_hotkey_delegate"], [108, 4, 1, "", "set_delegate_take"]], "bittensor.extras.subtensor_api.extrinsics": [[109, 1, 1, "", "Extrinsics"]], "bittensor.extras.subtensor_api.extrinsics.Extrinsics": [[109, 4, 1, "", "add_liquidity"], [109, 4, 1, "", "add_stake"], [109, 4, 1, "", "add_stake_multiple"], [109, 4, 1, "", "burned_register"], [109, 4, 1, "", "commit_weights"], [109, 4, 1, "", "get_extrinsic_fee"], [109, 4, 1, "", "modify_liquidity"], [109, 4, 1, "", "move_stake"], [109, 4, 1, "", "register"], [109, 4, 1, "", "register_subnet"], [109, 4, 1, "", "remove_liquidity"], [109, 4, 1, "", "reveal_weights"], [109, 4, 1, "", "root_register"], [109, 4, 1, "", "root_set_pending_childkey_cooldown"], [109, 4, 1, "", "serve_axon"], [109, 4, 1, "", "set_children"], [109, 4, 1, "", "set_commitment"], [109, 4, 1, "", "set_subnet_identity"], [109, 4, 1, "", "set_weights"], [109, 4, 1, "", "start_call"], [109, 4, 1, "", "swap_stake"], [109, 4, 1, "", "toggle_user_liquidity"], [109, 4, 1, "", "transfer"], [109, 4, 1, "", "transfer_stake"], [109, 4, 1, "", "unstake"], [109, 4, 1, "", "unstake_all"], [109, 4, 1, "", "unstake_multiple"], [109, 4, 1, "", "validate_extrinsic_params"]], "bittensor.extras.subtensor_api.metagraphs": [[111, 1, 1, "", "Metagraphs"]], "bittensor.extras.subtensor_api.metagraphs.Metagraphs": [[111, 4, 1, "", "get_all_metagraphs_info"], [111, 4, 1, "", "get_metagraph_info"], [111, 4, 1, "", "metagraph"]], "bittensor.extras.subtensor_api.neurons": [[112, 1, 1, "", "Neurons"]], "bittensor.extras.subtensor_api.neurons.Neurons": [[112, 4, 1, "", "get_all_neuron_certificates"], [112, 4, 1, "", "get_neuron_certificate"], [112, 4, 1, "", "neuron_for_uid"], [112, 4, 1, "", "neurons"], [112, 4, 1, "", "neurons_lite"], [112, 4, 1, "", "query_identity"]], "bittensor.extras.subtensor_api.queries": [[113, 1, 1, "", "Queries"]], "bittensor.extras.subtensor_api.queries.Queries": [[113, 4, 1, "", "query_constant"], [113, 4, 1, "", "query_map"], [113, 4, 1, "", "query_map_subtensor"], [113, 4, 1, "", "query_module"], [113, 4, 1, "", "query_runtime_api"], [113, 4, 1, "", "query_subtensor"]], "bittensor.extras.subtensor_api.staking": [[114, 1, 1, "", "Staking"]], "bittensor.extras.subtensor_api.staking.Staking": [[114, 4, 1, "", "add_stake"], [114, 4, 1, "", "add_stake_multiple"], [114, 4, 1, "", "get_auto_stakes"], [114, 4, 1, "", "get_hotkey_stake"], [114, 4, 1, "", "get_minimum_required_stake"], [114, 4, 1, "", "get_stake"], [114, 4, 1, "", "get_stake_add_fee"], [114, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [114, 4, 1, "", "get_stake_info_for_coldkey"], [114, 4, 1, "", "get_stake_movement_fee"], [114, 4, 1, "", "get_stake_weight"], [114, 4, 1, "", "get_unstake_fee"], [114, 4, 1, "", "move_stake"], [114, 4, 1, "", "set_auto_stake"], [114, 4, 1, "", "sim_swap"], [114, 4, 1, "", "swap_stake"], [114, 4, 1, "", "transfer_stake"], [114, 4, 1, "", "unstake"], [114, 4, 1, "", "unstake_all"], [114, 4, 1, "", "unstake_multiple"]], "bittensor.extras.subtensor_api.subnets": [[115, 1, 1, "", "Subnets"]], "bittensor.extras.subtensor_api.subnets.Subnets": [[115, 4, 1, "", "all_subnets"], [115, 4, 1, "", "blocks_since_last_step"], [115, 4, 1, "", "blocks_since_last_update"], [115, 4, 1, "", "bonds"], [115, 4, 1, "", "burned_register"], [115, 4, 1, "", "commit_reveal_enabled"], [115, 4, 1, "", "difficulty"], [115, 4, 1, "", "get_all_subnets_info"], [115, 4, 1, "", "get_all_subnets_netuid"], [115, 4, 1, "", "get_children"], [115, 4, 1, "", "get_children_pending"], [115, 4, 1, "", "get_hyperparameter"], [115, 4, 1, "", "get_liquidity_list"], [115, 4, 1, "", "get_mechanism_count"], [115, 4, 1, "", "get_mechanism_emission_split"], [115, 4, 1, "", "get_neuron_for_pubkey_and_subnet"], [115, 4, 1, "", "get_next_epoch_start_block"], [115, 4, 1, "", "get_parents"], [115, 4, 1, "", "get_subnet_burn_cost"], [115, 4, 1, "", "get_subnet_hyperparameters"], [115, 4, 1, "", "get_subnet_info"], [115, 4, 1, "", "get_subnet_owner_hotkey"], [115, 4, 1, "", "get_subnet_price"], [115, 4, 1, "", "get_subnet_prices"], [115, 4, 1, "", "get_subnet_reveal_period_epochs"], [115, 4, 1, "", "get_subnet_validator_permits"], [115, 4, 1, "", "get_total_subnets"], [115, 4, 1, "", "get_uid_for_hotkey_on_subnet"], [115, 4, 1, "", "immunity_period"], [115, 4, 1, "", "is_hotkey_registered_on_subnet"], [115, 4, 1, "", "is_subnet_active"], [115, 4, 1, "", "max_weight_limit"], [115, 4, 1, "", "min_allowed_weights"], [115, 4, 1, "", "recycle"], [115, 4, 1, "", "register"], [115, 4, 1, "", "register_subnet"], [115, 4, 1, "", "set_subnet_identity"], [115, 4, 1, "", "start_call"], [115, 4, 1, "", "subnet"], [115, 4, 1, "", "subnet_exists"], [115, 4, 1, "", "subnetwork_n"], [115, 4, 1, "", "tempo"], [115, 4, 1, "", "weights"], [115, 4, 1, "", "weights_rate_limit"]], "bittensor.extras.subtensor_api.utils": [[116, 5, 1, "", "add_legacy_methods"]], "bittensor.extras.subtensor_api.wallets": [[117, 1, 1, "", "Wallets"]], "bittensor.extras.subtensor_api.wallets.Wallets": [[117, 4, 1, "", "does_hotkey_exist"], [117, 4, 1, "", "filter_netuids_by_registered_hotkeys"], [117, 4, 1, "", "get_balance"], [117, 4, 1, "", "get_balances"], [117, 4, 1, "", "get_children"], [117, 4, 1, "", "get_children_pending"], [117, 4, 1, "", "get_delegate_by_hotkey"], [117, 4, 1, "", "get_delegate_take"], [117, 4, 1, "", "get_delegated"], [117, 4, 1, "", "get_hotkey_owner"], [117, 4, 1, "", "get_hotkey_stake"], [117, 4, 1, "", "get_minimum_required_stake"], [117, 4, 1, "", "get_netuids_for_hotkey"], [117, 4, 1, "", "get_owned_hotkeys"], [117, 4, 1, "", "get_parents"], [117, 4, 1, "", "get_stake"], [117, 4, 1, "", "get_stake_add_fee"], [117, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [117, 4, 1, "", "get_stake_for_hotkey"], [117, 4, 1, "", "get_stake_info_for_coldkey"], [117, 4, 1, "", "get_stake_movement_fee"], [117, 4, 1, "", "get_transfer_fee"], [117, 4, 1, "", "get_unstake_fee"], [117, 4, 1, "", "is_hotkey_delegate"], [117, 4, 1, "", "is_hotkey_registered"], [117, 4, 1, "", "is_hotkey_registered_any"], [117, 4, 1, "", "is_hotkey_registered_on_subnet"], [117, 4, 1, "", "set_children"], [117, 4, 1, "", "transfer"]], "bittensor.extras.timelock": [[118, 5, 1, "", "decrypt"], [118, 5, 1, "", "encrypt"], [118, 5, 1, "", "wait_reveal_and_decrypt"]], "bittensor.utils": [[131, 6, 1, "", "BT_DOCS_LINK"], [131, 1, 1, "", "Certificate"], [131, 6, 1, "", "GLOBAL_MAX_SUBNET_COUNT"], [131, 6, 1, "", "RAOPERTAO"], [131, 6, 1, "", "U16_MAX"], [131, 6, 1, "", "U64_MAX"], [131, 1, 1, "", "UnlockStatus"], [131, 6, 1, "", "VersionCheckError"], [120, 0, 0, "-", "axon_utils"], [121, 0, 0, "-", "balance"], [126, 0, 0, "-", "btlogging"], [131, 6, 1, "", "check_version"], [131, 5, 1, "", "decode_hex_identity_dict"], [131, 5, 1, "", "deprecated_message"], [131, 5, 1, "", "determine_chain_endpoint_and_network"], [129, 0, 0, "-", "easy_imports"], [131, 5, 1, "", "float_to_u64"], [131, 5, 1, "", "format_error_message"], [130, 0, 0, "-", "formatting"], [131, 5, 1, "", "get_explorer_url_for_network"], [131, 5, 1, "", "get_hash"], [131, 5, 1, "", "get_mechid_storage_index"], [131, 5, 1, "", "get_netuid_and_mechid_by_storage_index"], [131, 5, 1, "", "get_transfer_fn_params"], [131, 6, 1, "", "hex_to_bytes"], [131, 5, 1, "", "is_valid_bittensor_address_or_public_key"], [131, 5, 1, "", "is_valid_ss58_address"], [132, 0, 0, "-", "liquidity"], [131, 6, 1, "", "logging"], [133, 0, 0, "-", "networking"], [135, 0, 0, "-", "registration"], [131, 5, 1, "", "ss58_address_to_bytes"], [131, 6, 1, "", "ss58_decode"], [131, 5, 1, "", "ss58_to_vec_u8"], [131, 5, 1, "", "strtobool"], [138, 0, 0, "-", "subnets"], [140, 0, 0, "-", "substrate_utils"], [131, 6, 1, "", "torch"], [131, 5, 1, "", "u16_normalized_float"], [131, 5, 1, "", "u64_normalized_float"], [131, 5, 1, "", "unlock_key"], [131, 6, 1, "", "use_torch"], [131, 5, 1, "", "validate_chain_endpoint"], [142, 0, 0, "-", "version"], [131, 6, 1, "", "version_checking"], [143, 0, 0, "-", "weight_utils"]], "bittensor.utils.UnlockStatus": [[131, 4, 1, "", "message"], [131, 4, 1, "", "success"]], "bittensor.utils.axon_utils": [[120, 6, 1, "", "ALLOWED_DELTA"], [120, 6, 1, "", "NANOSECONDS_IN_SECOND"], [120, 5, 1, "", "allowed_nonce_window_ns"], [120, 5, 1, "", "calculate_diff_seconds"]], "bittensor.utils.balance": [[121, 1, 1, "", "Balance"], [121, 1, 1, "", "FixedPoint"], [121, 5, 1, "", "check_and_convert_to_balance"], [121, 5, 1, "", "fixed_to_float"], [121, 5, 1, "", "rao"], [121, 5, 1, "", "tao"]], "bittensor.utils.balance.Balance": [[121, 2, 1, "", "from_float"], [121, 2, 1, "", "from_rao"], [121, 2, 1, "", "from_tao"], [121, 2, 1, "", "get_unit"], [121, 4, 1, "", "netuid"], [121, 4, 1, "", "rao"], [121, 4, 1, "", "rao_unit"], [121, 2, 1, "", "set_unit"], [121, 3, 1, "", "tao"], [121, 4, 1, "", "unit"]], "bittensor.utils.balance.FixedPoint": [[121, 4, 1, "", "bits"]], "bittensor.utils.btlogging": [[122, 0, 0, "-", "console"], [123, 0, 0, "-", "defines"], [124, 0, 0, "-", "format"], [125, 0, 0, "-", "helpers"], [127, 0, 0, "-", "levels"], [126, 6, 1, "", "logging"], [128, 0, 0, "-", "loggingmachine"]], "bittensor.utils.btlogging.console": [[122, 1, 1, "", "BittensorConsole"]], "bittensor.utils.btlogging.console.BittensorConsole": [[122, 2, 1, "", "critical"], [122, 2, 1, "", "debug"], [122, 2, 1, "", "error"], [122, 2, 1, "", "info"], [122, 4, 1, "", "logger"], [122, 2, 1, "", "success"], [122, 2, 1, "", "warning"]], "bittensor.utils.btlogging.defines": [[123, 6, 1, "", "BASE_LOG_FORMAT"], [123, 6, 1, "", "BITTENSOR_LOGGER_NAME"], [123, 6, 1, "", "DATE_FORMAT"], [123, 6, 1, "", "DEFAULT_LOG_BACKUP_COUNT"], [123, 6, 1, "", "DEFAULT_LOG_FILE_NAME"], [123, 6, 1, "", "DEFAULT_MAX_ROTATING_LOG_FILE_SIZE"], [123, 6, 1, "", "TRACE_LOG_FORMAT"]], "bittensor.utils.btlogging.format": [[124, 1, 1, "", "BtFileFormatter"], [124, 1, 1, "", "BtStreamFormatter"], [124, 6, 1, "", "DEFAULT_LOG_FORMAT"], [124, 6, 1, "", "DEFAULT_TRACE_FORMAT"], [124, 6, 1, "", "LOG_FORMATS"], [124, 6, 1, "", "LOG_TRACE_FORMATS"], [124, 6, 1, "", "SUCCESS_LEVEL_NUM"], [124, 6, 1, "", "TRACE_LEVEL_NUM"], [124, 6, 1, "", "color_map"], [124, 6, 1, "", "emoji_map"], [124, 6, 1, "", "log_level_color_prefix"]], "bittensor.utils.btlogging.format.BtFileFormatter": [[124, 2, 1, "", "format"], [124, 2, 1, "", "formatTime"]], "bittensor.utils.btlogging.format.BtStreamFormatter": [[124, 2, 1, "", "format"], [124, 2, 1, "", "formatTime"], [124, 2, 1, "", "set_trace"], [124, 4, 1, "", "trace"]], "bittensor.utils.btlogging.helpers": [[125, 5, 1, "", "all_logger_names"], [125, 5, 1, "", "all_loggers"], [125, 5, 1, "", "get_max_logger_name_length"]], "bittensor.utils.btlogging.levels": [[127, 5, 1, "", "debug"], [127, 5, 1, "", "info"], [127, 5, 1, "", "trace"], [127, 5, 1, "", "warning"]], "bittensor.utils.btlogging.loggingmachine": [[128, 6, 1, "", "CUSTOM_LOGGER_METHOD_STACK_LEVEL"], [128, 1, 1, "", "LoggingConfig"], [128, 1, 1, "", "LoggingMachine"]], "bittensor.utils.btlogging.loggingmachine.LoggingConfig": [[128, 4, 1, "", "debug"], [128, 4, 1, "", "info"], [128, 4, 1, "", "logging_dir"], [128, 4, 1, "", "record_log"], [128, 4, 1, "", "trace"]], "bittensor.utils.btlogging.loggingmachine.LoggingMachine": [[128, 4, 1, "", "Debug"], [128, 4, 1, "", "Default"], [128, 4, 1, "", "Disabled"], [128, 4, 1, "", "Info"], [128, 4, 1, "", "Trace"], [128, 4, 1, "", "Warning"], [128, 2, 1, "", "add_args"], [128, 2, 1, "", "after_disable_debug"], [128, 2, 1, "", "after_disable_trace"], [128, 2, 1, "", "after_enable_debug"], [128, 2, 1, "", "after_enable_default"], [128, 2, 1, "", "after_enable_info"], [128, 2, 1, "", "after_enable_trace"], [128, 2, 1, "", "after_enable_warning"], [128, 2, 1, "", "after_transition"], [128, 2, 1, "", "before_disable_debug"], [128, 2, 1, "", "before_disable_logging"], [128, 2, 1, "", "before_disable_trace"], [128, 2, 1, "", "before_enable_console"], [128, 2, 1, "", "before_enable_debug"], [128, 2, 1, "", "before_enable_default"], [128, 2, 1, "", "before_enable_info"], [128, 2, 1, "", "before_enable_trace"], [128, 2, 1, "", "before_enable_warning"], [128, 2, 1, "", "before_transition"], [128, 2, 1, "", "check_config"], [128, 2, 1, "", "config"], [128, 4, 1, "", "console"], [128, 2, 1, "", "critical"], [128, 2, 1, "", "debug"], [128, 2, 1, "", "deregister_primary_logger"], [128, 4, 1, "", "disable_debug"], [128, 4, 1, "", "disable_info"], [128, 4, 1, "", "disable_logging"], [128, 2, 1, "", "disable_third_party_loggers"], [128, 4, 1, "", "disable_trace"], [128, 4, 1, "", "disable_warning"], [128, 4, 1, "", "enable_console"], [128, 4, 1, "", "enable_debug"], [128, 4, 1, "", "enable_default"], [128, 4, 1, "", "enable_info"], [128, 2, 1, "", "enable_third_party_loggers"], [128, 4, 1, "", "enable_trace"], [128, 4, 1, "", "enable_warning"], [128, 2, 1, "", "error"], [128, 2, 1, "", "exception"], [128, 2, 1, "", "get_config"], [128, 2, 1, "", "get_level"], [128, 2, 1, "", "get_queue"], [128, 2, 1, "", "help"], [128, 2, 1, "", "info"], [128, 2, 1, "", "off"], [128, 2, 1, "", "on"], [128, 2, 1, "", "register_primary_logger"], [128, 2, 1, "", "setLevel"], [128, 2, 1, "", "set_config"], [128, 2, 1, "", "set_console"], [128, 2, 1, "", "set_debug"], [128, 2, 1, "", "set_default"], [128, 2, 1, "", "set_info"], [128, 2, 1, "", "set_trace"], [128, 2, 1, "", "set_warning"], [128, 2, 1, "", "success"], [128, 2, 1, "", "trace"], [128, 2, 1, "", "warning"]], "bittensor.utils.easy_imports": [[129, 6, 1, "", "async_subtensor"], [129, 6, 1, "", "axon"], [129, 6, 1, "", "config"], [129, 5, 1, "", "debug"], [129, 6, 1, "", "dendrite"], [129, 6, 1, "", "extrinsics_subpackage"], [129, 5, 1, "", "info"], [129, 6, 1, "", "keyfile"], [129, 6, 1, "", "metagraph"], [129, 6, 1, "", "mock_subpackage"], [129, 6, 1, "", "subtensor"], [129, 6, 1, "", "synapse"], [129, 5, 1, "", "trace"], [129, 6, 1, "", "wallet"], [129, 5, 1, "", "warning"]], "bittensor.utils.formatting": [[130, 5, 1, "", "get_human_readable"], [130, 5, 1, "", "millify"]], "bittensor.utils.liquidity": [[132, 1, 1, "", "LiquidityPosition"], [132, 6, 1, "", "MAX_TICK"], [132, 6, 1, "", "MIN_TICK"], [132, 6, 1, "", "PRICE_STEP"], [132, 5, 1, "", "calculate_fees"], [132, 5, 1, "", "get_fees"], [132, 5, 1, "", "get_fees_in_range"], [132, 5, 1, "", "price_to_tick"], [132, 5, 1, "", "tick_to_price"]], "bittensor.utils.liquidity.LiquidityPosition": [[132, 4, 1, "", "fees_alpha"], [132, 4, 1, "", "fees_tao"], [132, 4, 1, "", "id"], [132, 4, 1, "", "liquidity"], [132, 4, 1, "", "netuid"], [132, 4, 1, "", "price_high"], [132, 4, 1, "", "price_low"], [132, 2, 1, "", "to_token_amounts"]], "bittensor.utils.networking": [[133, 7, 1, "", "ExternalIPNotFound"], [133, 5, 1, "", "get_external_ip"], [133, 5, 1, "", "get_formatted_ws_endpoint_url"], [133, 5, 1, "", "int_to_ip"], [133, 5, 1, "", "ip__str__"], [133, 5, 1, "", "ip_to_int"], [133, 5, 1, "", "ip_version"]], "bittensor.utils.registration": [[134, 0, 0, "-", "async_pow"], [136, 0, 0, "-", "pow"], [137, 0, 0, "-", "register_cuda"]], "bittensor.utils.registration.async_pow": [[134, 5, 1, "", "create_pow_async"]], "bittensor.utils.registration.pow": [[136, 1, 1, "", "CUDASolver"], [136, 1, 1, "", "Console"], [136, 1, 1, "", "LazyLoadedTorch"], [136, 1, 1, "", "POWSolution"], [136, 1, 1, "", "RegistrationStatistics"], [136, 1, 1, "", "RegistrationStatisticsLogger"], [136, 1, 1, "", "Solver"], [136, 1, 1, "", "Status"], [136, 1, 1, "", "UsingSpawnStartMethod"], [136, 5, 1, "", "create_pow"], [136, 5, 1, "", "get_cpu_count"], [136, 5, 1, "", "legacy_torch_api_compat"], [136, 5, 1, "", "log_no_torch_error"], [136, 5, 1, "", "terminate_workers_and_wait_for_exit"], [136, 6, 1, "", "torch"], [136, 5, 1, "", "update_curr_block"], [136, 5, 1, "", "use_torch"]], "bittensor.utils.registration.pow.CUDASolver": [[136, 4, 1, "", "dev_id"], [136, 2, 1, "", "run"], [136, 4, 1, "", "tpb"]], "bittensor.utils.registration.pow.Console": [[136, 2, 1, "", "log"], [136, 2, 1, "", "status"]], "bittensor.utils.registration.pow.POWSolution": [[136, 4, 1, "", "block_number"], [136, 4, 1, "", "difficulty"], [136, 2, 1, "", "is_stale"], [136, 2, 1, "", "is_stale_async"], [136, 4, 1, "", "nonce"], [136, 4, 1, "", "seal"]], "bittensor.utils.registration.pow.RegistrationStatistics": [[136, 4, 1, "", "block_hash"], [136, 4, 1, "", "block_number"], [136, 4, 1, "", "difficulty"], [136, 4, 1, "", "hash_rate"], [136, 4, 1, "", "hash_rate_perpetual"], [136, 4, 1, "", "rounds_total"], [136, 4, 1, "", "time_average"], [136, 4, 1, "", "time_spent"], [136, 4, 1, "", "time_spent_total"]], "bittensor.utils.registration.pow.RegistrationStatisticsLogger": [[136, 4, 1, "", "console"], [136, 2, 1, "", "get_status_message"], [136, 2, 1, "", "start"], [136, 4, 1, "", "status"], [136, 2, 1, "", "stop"], [136, 2, 1, "", "update"]], "bittensor.utils.registration.pow.Solver": [[136, 2, 1, "", "run"]], "bittensor.utils.registration.pow.Status": [[136, 2, 1, "", "start"], [136, 2, 1, "", "stop"], [136, 2, 1, "", "update"]], "bittensor.utils.registration.register_cuda": [[137, 5, 1, "", "log_cuda_errors"], [137, 5, 1, "", "reset_cuda"], [137, 5, 1, "", "solve_cuda"]], "bittensor.utils.subnets": [[138, 1, 1, "", "SubnetsAPI"]], "bittensor.utils.subnets.SubnetsAPI": [[138, 4, 1, "", "dendrite"], [138, 2, 1, "", "prepare_synapse"], [138, 2, 1, "", "process_responses"], [138, 2, 1, "", "query_api"], [138, 4, 1, "", "wallet"]], "bittensor.utils.substrate_utils": [[139, 0, 0, "-", "hasher"], [141, 0, 0, "-", "storage"]], "bittensor.utils.substrate_utils.hasher": [[139, 5, 1, "", "blake2_128"], [139, 5, 1, "", "blake2_128_concat"], [139, 5, 1, "", "blake2_256"], [139, 5, 1, "", "identity"], [139, 5, 1, "", "two_x64_concat"], [139, 5, 1, "", "xxh128"], [139, 5, 1, "", "xxh64"]], "bittensor.utils.substrate_utils.storage": [[141, 1, 1, "", "StorageKey"]], "bittensor.utils.substrate_utils.storage.StorageKey": [[141, 2, 1, "", "convert_storage_parameter"], [141, 2, 1, "", "create_from_data"], [141, 2, 1, "", "create_from_storage_function"], [141, 4, 1, "", "data"], [141, 2, 1, "", "decode_scale_value"], [141, 2, 1, "", "generate"], [141, 4, 1, "", "metadata"], [141, 4, 1, "", "metadata_storage_function"], [141, 4, 1, "", "pallet"], [141, 4, 1, "", "params"], [141, 4, 1, "", "params_encoded"], [141, 4, 1, "", "runtime_config"], [141, 4, 1, "", "storage_function"], [141, 2, 1, "", "to_hex"], [141, 4, 1, "", "value_scale_type"]], "bittensor.utils.version": [[142, 6, 1, "", "VERSION_CHECK_THRESHOLD"], [142, 7, 1, "", "VersionCheckError"], [142, 5, 1, "", "check_latest_version_in_pypi"], [142, 5, 1, "", "check_version"], [142, 5, 1, "", "get_and_save_latest_version"], [142, 5, 1, "", "version_checking"]], "bittensor.utils.weight_utils": [[143, 6, 1, "", "U16_MAX"], [143, 6, 1, "", "U32_MAX"], [143, 5, 1, "", "convert_and_normalize_weights_and_uids"], [143, 5, 1, "", "convert_bond_uids_and_vals_to_tensor"], [143, 5, 1, "", "convert_maybe_split_to_u16"], [143, 5, 1, "", "convert_root_weight_uids_and_vals_to_tensor"], [143, 5, 1, "", "convert_uids_and_weights"], [143, 5, 1, "", "convert_weight_uids_and_vals_to_tensor"], [143, 5, 1, "", "convert_weights_and_uids_for_emit"], [143, 5, 1, "", "generate_weight_hash"], [143, 5, 1, "", "normalize_max_weight"], [143, 5, 1, "", "process_weights"], [143, 5, 1, "", "process_weights_for_netuid"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"], "7": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:function", "6": "py:data", "7": "py:exception"}, "terms": {"": [0, 1, 4, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 94, 97, 103, 121, 123, 124, 125, 131, 134, 136, 138, 141, 143], "0": [0, 1, 2, 10, 25, 28, 32, 33, 34, 35, 36, 38, 41, 43, 45, 50, 64, 65, 66, 67, 68, 70, 73, 77, 78, 80, 85, 93, 96, 110, 118, 120, 121, 129, 131, 133, 134, 136, 137, 143], "0001": 132, "005": [0, 32, 36, 41, 50, 68, 73, 80], "0x0813029319030129u4120u10841824y0182u091u230912u": 93, "0x1234": 0, "1": [0, 1, 10, 22, 38, 70, 77, 80, 93, 94, 95, 96, 97, 118, 128, 131, 132, 137, 143, 144], "10": [0, 10, 22, 25, 93, 96, 118, 121, 123], "100": [0, 80], "1000": [4, 5], "1000000": 0, "1000000000": [120, 131], "1024": 1, "11": [10, 22], "111": 93, "111111": 93, "113": 1, "11ee": 93, "12": [0, 10, 22, 25, 28, 45, 78, 80, 96, 118, 138], "120": [0, 80], "1200": 77, "122": [35, 66], "123": [0, 77, 80, 93, 96, 118], "1234": [0, 80], "12345": 77, "127": 93, "128": [35, 66, 121], "13": [10, 22], "137": 124, "14": [0, 10, 22, 80], "147": [0, 80], "15": [10, 22, 93, 96, 118, 142], "152": [0, 80], "16": [0, 10, 22, 80, 139], "17": 10, "18": [10, 78], "18446744073709551615": 131, "19": 10, "192": [1, 35, 66], "198": 93, "1cec": 93, "1m": 0, "2": [0, 1, 10, 22, 38, 70, 77, 80, 93, 94, 97, 124, 128, 139], "20": 10, "200": 93, "203": 1, "21": [10, 124], "22": 10, "23": [10, 93], "24": 10, "25": [10, 96, 118], "256": [0, 33, 64, 80, 93, 134, 136], "26": 10, "26214400": 123, "27": 10, "28": 10, "29": 10, "3": [0, 10, 22, 33, 38, 64, 70, 80, 93, 96, 97, 118, 124, 128, 129, 133, 136], "30": [10, 93], "300": [77, 131], "31": [10, 35, 66], "32": [10, 134, 136, 139], "325": [99, 100, 101], "33": 10, "3339": 124, "34": [10, 124], "35": 10, "36": 10, "360": [0, 80], "37": 10, "38": [10, 133], "39": 10, "3rd": 128, "4": [0, 2, 10, 22, 31, 35, 49, 66, 75, 80, 93, 97, 133], "40": 10, "400": 1, "4000000000": 120, "401": 93, "4028237e": 133, "403": 93, "408": 93, "4096": 131, "41": 10, "42": [10, 78], "422": 25, "4294967295": 143, "43": 10, "44": 10, "443": 78, "45": 10, "46": 10, "47": 10, "48": [10, 78], "49": 10, "5": [0, 10, 22, 26, 32, 36, 41, 50, 68, 73, 80, 85, 96, 97, 110, 118, 124], "50": 10, "51": 10, "52": 10, "53": 10, "54": 10, "55": 10, "56": 10, "57": 10, "58": 10, "59": 10, "5ecbd69c": 93, "5enjdgnqqwnul2hcadxeetn2oqtxzw6bmbe936kfy2pfz1j1": 93, "5f": 0, "5fhnew46xgxgs5muiveu4sbtygbzmstuspzc92uhjjm694ti": [0, 80], "5g": 0, "5grwvaef5zxb26fz9rcqpdws57cterhpnehxcpcnohgkutqi": [0, 80], "5h": 0, "6": [10, 22, 77, 133], "60": 10, "61": 10, "62": 10, "63": 10, "64": [10, 121, 137], "65": 10, "65535": [1, 131, 143], "66": 10, "67": 10, "68": 10, "69": 10, "7": [10, 22, 129], "70": 10, "7002000": 1, "7070": 1, "71": 10, "72": 10, "73": 10, "8": [0, 10, 22, 43, 67, 80, 93, 131], "8080": 93, "86400": 142, "887272": 132, "9": [10, 22, 121], "9090": 1, "9221": [35, 66], "9282": 93, "9944": 78, "9945": [85, 110], "A": [0, 1, 2, 11, 12, 16, 18, 22, 23, 24, 25, 26, 27, 28, 33, 35, 41, 44, 45, 64, 66, 73, 74, 77, 79, 80, 93, 95, 96, 97, 118, 120, 121, 124, 128, 131, 136, 141], "AS": 77, "Being": [0, 80], "But": 25, "By": [0, 1, 41, 73, 80, 93], "For": [0, 25, 38, 41, 70, 73, 77, 80, 93, 94, 96, 97, 98, 99, 101, 118], "If": [0, 1, 2, 6, 22, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 91, 93, 94, 95, 96, 97, 110, 116, 118, 120, 121, 124, 127, 129, 131, 134, 136, 143], "In": [0, 25, 77, 80, 93, 98, 133], "It": [0, 1, 16, 25, 35, 66, 77, 79, 80, 93, 95, 96, 97, 118, 121, 125, 126, 128, 136], "Its": [38, 70], "Not": 93, "Of": 133, "Or": [0, 131], "The": [0, 1, 2, 9, 11, 12, 13, 15, 16, 17, 18, 22, 23, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 85, 93, 94, 95, 96, 97, 98, 99, 101, 105, 110, 118, 120, 121, 124, 125, 129, 131, 132, 133, 134, 136, 137, 138, 142, 143], "Then": 80, "There": [0, 27, 44], "These": [0, 1, 34, 43, 65, 67, 77, 80, 93, 98, 99, 101, 105, 143], "To": [0, 80, 128], "Will": [0, 80, 85, 110], "With": [0, 80], "_": 0, "__repr__": 25, "__setattr__": 93, "__str__": [25, 131], "_base": 95, "_do_reveal_weight": [43, 46], "_mock": [0, 80, 97], "_primary_logg": 128, "_solverbas": 136, "abc": [77, 79, 97, 138], "abil": [1, 77, 122], "abl": 25, "about": [0, 1, 2, 15, 77, 80, 93], "abov": [25, 40, 72, 124, 132], "absolut": 25, "abstract": [25, 77, 79, 138, 141], "abstractmethod": 24, "abus": 1, "accept": [1, 95, 128], "access": [0, 1, 25, 77, 80, 85, 93, 110, 143], "access_list": 99, "accord": [1, 35, 66, 79, 93], "account": [0, 22, 26, 34, 36, 40, 43, 61, 65, 67, 68, 72, 80, 99, 131, 143], "account_id_byt": 22, "accountid": [15, 22, 23], "accru": 77, "accrual": [0, 80], "accumul": [77, 79], "accur": [24, 26, 77, 93, 94, 95, 97, 98, 121, 131, 133, 142], "achiev": 77, "aclose_sess": 25, "across": [0, 38, 70, 74, 77, 80, 93, 136], "act": [0, 1, 16, 25, 77, 80, 98], "action": [0, 80, 128], "activ": [0, 1, 10, 11, 12, 18, 21, 25, 36, 38, 68, 70, 77, 80, 125, 138], "activate_subnet": 104, "activatesubnet": 104, "activity_cutoff": [10, 18, 101], "activitycutoff": 10, "actual": [0, 1, 35, 66, 80], "ad": [0, 1, 30, 48, 80, 85, 91, 97, 110, 116, 124, 128], "adapt": [1, 77], "add": [0, 1, 30, 36, 48, 68, 80, 93, 97, 99, 124, 128, 143], "add_arg": [1, 24, 85, 95, 97, 110, 128], "add_legacy_method": [91, 116], "add_liquid": [0, 53, 80, 84, 99, 109], "add_liquidity_extrins": [30, 48], "add_memb": 99, "add_proxi": 99, "add_stak": [0, 58, 80, 84, 89, 99, 109, 114], "add_stake_extrins": [36, 68], "add_stake_limit": [58, 99], "add_stake_multipl": [0, 80, 84, 89, 109, 114], "add_stake_multiple_extrins": [36, 68], "addit": [0, 3, 4, 19, 27, 33, 44, 55, 64, 77, 79, 80, 93, 98, 99, 101, 143], "addition": [1, 93], "additional_data": 93, "addon": 105, "address": [0, 1, 2, 4, 9, 13, 17, 22, 23, 25, 27, 32, 36, 39, 40, 41, 44, 50, 68, 71, 72, 73, 74, 77, 80, 93, 99, 129, 131, 143], "adher": 25, "adjust": [0, 18, 80], "adjust_sen": 99, "adjustment_alpha": [10, 18, 101], "adjustment_interv": [10, 18, 101], "adjustmentalpha": 10, "adjustmentinterv": 10, "admin": [0, 38, 70, 80], "adminfreezewindow": [0, 80], "adminutil": [42, 74, 100], "advanc": [0, 80, 105], "adversari": 1, "advis": [1, 25, 77], "after": [0, 1, 15, 18, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 61, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 85, 93, 95, 96, 99, 110, 118, 128, 131, 136, 143], "after_disable_debug": 128, "after_disable_trac": 128, "after_enable_debug": 128, "after_enable_default": 128, "after_enable_info": 128, "after_enable_trac": 128, "after_enable_warn": 128, "after_transit": 128, "ag": [96, 118], "against": [0, 1, 32, 50, 80], "agre": 77, "agreement": 77, "ai": [77, 78], "aid": [0, 80, 93], "aiohttp": [25, 79], "akin": 77, "algorithm": [0, 1, 35, 66, 77, 80], "alic": [0, 80], "align": [0, 77, 80], "aliv": [0, 40, 72, 80], "all": [0, 1, 25, 26, 32, 36, 40, 41, 50, 61, 68, 72, 73, 74, 77, 80, 85, 91, 95, 110, 116, 125, 128, 131, 133, 136, 141], "all_hotkei": [0, 80], "all_indic": 10, "all_logg": 125, "all_logger_nam": 125, "all_mechan": [0, 80], "all_netuid": [0, 80], "all_stak": 74, "all_subnet": [0, 80, 90, 115], "alloc": [0, 77, 80], "allow": [0, 1, 4, 5, 18, 27, 30, 32, 36, 41, 44, 48, 50, 68, 73, 77, 79, 80, 93, 94, 120, 124, 129, 143], "allow_parti": 99, "allow_partial_stak": [0, 32, 36, 41, 50, 54, 58, 62, 68, 73, 80], "allowed_delta": 120, "allowed_nonce_window_n": 120, "along": [33, 64, 96, 118], "alpha": [0, 6, 16, 18, 30, 41, 48, 73, 77, 80, 101, 121, 132], "alpha_amount": [16, 99], "alpha_dividends_per_hotkei": [10, 77], "alpha_fe": 16, "alpha_fees_above_high": 132, "alpha_fees_below_low": 132, "alpha_high": [10, 18, 101], "alpha_in": [6, 10], "alpha_in_emiss": [6, 10], "alpha_low": [10, 18, 101], "alpha_out": [6, 10], "alpha_out_emiss": [6, 10], "alpha_sigmoid_steep": 18, "alpha_slippag": 6, "alpha_stak": [10, 21, 77], "alpha_to_tao": 6, "alpha_to_tao_with_slippag": 6, "alphadividendsperhotkei": 10, "alphahigh": 10, "alphain": 10, "alphainemiss": 10, "alphalow": 10, "alphaout": 10, "alphaoutemiss": 10, "alphastak": 10, "alreadi": [1, 134, 136, 143], "also": [0, 1, 25, 79, 80, 93, 120, 121, 128], "alter": 1, "altern": 105, "although": 98, "alwai": [36, 68, 80, 105], "among": [0, 77, 80], "amount": [0, 4, 6, 11, 12, 16, 30, 32, 36, 38, 40, 41, 48, 50, 54, 58, 61, 62, 68, 70, 72, 73, 74, 77, 80, 85, 96, 99, 110, 118, 121, 131, 132], "amount_stak": 99, "amount_unstak": 99, "an": [0, 1, 2, 6, 11, 16, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 94, 95, 97, 104, 121, 124, 125, 128, 131, 132, 133], "analogi": 25, "analys": 77, "analysi": [0, 77, 80, 93], "analyz": [0, 77, 80], "ani": [0, 1, 2, 8, 9, 24, 25, 26, 33, 36, 64, 68, 77, 79, 80, 82, 93, 94, 96, 98, 99, 101, 107, 118, 131, 132, 136, 137, 138, 141], "announc": [35, 66, 99], "anoth": [0, 24, 32, 50, 77, 80], "any_list": 8, "anyth": 131, "api": [0, 1, 80, 85, 110, 131, 136, 138, 145], "app": 1, "appear": [96, 118], "appli": [1, 10, 93, 124, 143], "applic": [0, 1, 25, 77, 79, 80, 85, 93, 105, 110, 125], "apply_authorized_upgrad": 99, "approach": 80, "appropri": [0, 1, 25, 77, 79, 97], "approv": [0, 99], "approve_as_multi": 99, "aqueri": 25, "ar": [0, 1, 18, 24, 25, 26, 27, 31, 43, 44, 46, 49, 74, 75, 77, 80, 85, 93, 94, 95, 96, 97, 98, 99, 101, 105, 110, 118, 125, 131, 141, 143], "arbitr": 15, "arbitrari": [0, 25, 80], "arbitration_block": 15, "architectur": [0, 1, 77, 80], "archiv": [0, 77, 78, 80, 85, 97, 110, 131], "archive_endpoint": [0, 80, 85, 110], "archive_entrypoint": 78, "arg": [24, 25, 94, 95, 124, 128, 131, 138], "argpars": [1, 24, 95, 97, 128], "argument": [0, 1, 24, 77, 79, 91, 93, 94, 95, 97, 98, 99, 101, 116, 124, 128, 131, 138], "argumentpars": [1, 24, 95, 97, 128], "aris": 1, "arithmet": 121, "around": [43, 46], "arrai": [0, 31, 49, 75, 77, 80, 94, 136, 143], "as_deriv": 99, "as_multi": 99, "as_multi_threshold_1": 99, "as_origin": 99, "asctim": [123, 124], "asgi": 79, "aspect": [0, 1, 77, 80, 93], "assert": [1, 96, 118], "assertionerror": 1, "assess": [0, 1, 77, 80], "asset": 77, "assign": [0, 1, 33, 64, 77, 80, 93], "assist": [0, 80], "associ": [0, 1, 2, 6, 9, 11, 12, 13, 16, 17, 21, 25, 26, 28, 32, 35, 41, 42, 43, 45, 46, 50, 66, 73, 74, 77, 80, 93, 95, 128, 143], "associate_evm_kei": 99, "assum": [1, 77, 121], "assur": 1, "asymmetr": 1, "async": [0, 1, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 77, 79, 85, 103, 110, 134, 136, 138], "async_execute_on": 103, "async_execute_step": 103, "async_metagraph": 77, "async_pow": [135, 144], "async_set_hyperparamet": 103, "async_substrate_interfac": [0, 22, 80], "async_subtensor": [24, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38, 40, 41, 42, 43, 67, 76, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 129, 134, 136, 144], "async_wait_next_epoch": 103, "asyncex": [47, 144], "asyncgener": 25, "asynchron": [0, 1, 25, 33, 79, 103, 136], "asyncio": [0, 25], "asyncmetagraph": [0, 77], "asyncquerymapresult": 0, "asyncsubtensor": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38, 40, 41, 42, 43, 67, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 134, 136], "attach": [1, 93], "attack": 1, "attain": 133, "attempt": [0, 26, 27, 33, 44, 64, 77, 80, 93, 131, 133], "attribut": [0, 4, 11, 80, 93], "augment": 105, "authent": [1, 35, 66, 77, 93], "author": [0, 32, 77, 80], "authorization_list": 99, "authorize_upgrad": 99, "authorize_upgrade_without_check": 99, "auto": [98, 99, 101, 144], "autoapi": 144, "automat": [0, 25, 77, 80, 93, 110], "auxiliari": 98, "avail": [0, 1, 80, 85, 98, 110], "averag": [18, 136], "avoid": [0, 80], "aw": 133, "await": [0, 25, 79, 80, 85, 110], "axon": [0, 2, 10, 11, 12, 24, 25, 26, 35, 66, 76, 77, 80, 93, 129, 138, 144], "axon_hotkei": 93, "axon_info": [7, 10, 11, 12, 25, 144], "axon_util": [131, 144], "axoninfo": [1, 2, 10, 11, 12, 22, 25, 77], "axonmiddlewar": 1, "axonserv": 1, "axonservecallparam": [35, 57, 66, 97], "ay": 14, "b": 77, "b0dc": 93, "b64decod": 93, "back": [0, 1, 25, 30, 48, 79, 80, 93, 96, 118, 141], "backbon": 77, "background": 1, "backward": [1, 121, 142], "balanc": [0, 4, 5, 6, 10, 11, 12, 16, 17, 20, 21, 22, 30, 32, 36, 40, 41, 42, 48, 50, 53, 54, 58, 61, 62, 68, 72, 73, 74, 80, 85, 100, 110, 131, 132, 144], "bandwidth": 93, "base": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 77, 79, 80, 93, 94, 95, 96, 97, 99, 101, 103, 118, 121, 124, 128, 131, 133, 136, 138, 141, 142, 143], "base64": [22, 93], "base_log_format": 123, "baseclass": 77, "basefe": 100, "basehttpmiddlewar": 1, "basemodel": [25, 79, 93, 94], "basic": [11, 77, 93], "batch": [0, 80, 99], "batch_al": 99, "batch_commit_weight": 99, "batch_reveal_weight": 99, "batch_set_weight": 99, "becaus": 93, "becom": [0, 80], "been": [0, 1, 25, 79, 93, 95], "befor": [0, 1, 15, 25, 33, 34, 35, 36, 39, 40, 41, 43, 50, 64, 65, 66, 67, 68, 71, 72, 73, 80, 128, 134, 136, 137], "before_disable_debug": 128, "before_disable_log": 128, "before_disable_trac": 128, "before_enable_consol": 128, "before_enable_debug": 128, "before_enable_default": 128, "before_enable_info": 128, "before_enable_trac": 128, "before_enable_warn": 128, "before_transit": 128, "begin": [0, 1, 80], "behavior": [0, 1, 77, 80, 93, 105], "being": [0, 1, 5, 22, 30, 31, 35, 37, 43, 46, 48, 49, 66, 69, 75, 79, 80, 128, 136], "belief": 77, "belong": [0, 36, 68, 80], "below": [0, 80], "benefici": 77, "benefit": [25, 77], "bespok": 138, "best_finalized_block_numb": 99, "between": [0, 1, 6, 33, 38, 50, 64, 70, 77, 80, 93, 120, 121, 128, 132, 143], "beyond": 77, "bind": 1, "bit": 121, "bittensor": 144, "bittensor_logger_nam": [123, 128], "bittensor_wallet": [0, 1, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 80, 103, 104, 131, 134, 136, 138], "bittensorconsol": 122, "blacklist": [1, 26, 93], "blacklist_custom": 1, "blacklist_fn": 1, "blacklist_my_synaps": 1, "blacklist_my_synapse_2": 1, "blacklistedexcept": 26, "blake256": [35, 66], "blake2_128": 139, "blake2_128_concat": 139, "blake2_256": 139, "blake2b": 139, "block": [0, 1, 10, 13, 15, 18, 22, 23, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 96, 99, 103, 110, 118, 131, 134, 136, 137], "block_and_hotkey_hash_byt": 137, "block_at_registr": [10, 21, 77], "block_byt": 136, "block_hash": [0, 35, 80, 131, 136], "block_numb": [0, 55, 99, 136], "block_tim": [0, 28, 31, 45, 49, 75, 80, 96, 118], "blockatregistr": 10, "blockchain": [0, 27, 30, 31, 32, 33, 35, 37, 39, 41, 43, 44, 46, 48, 49, 64, 66, 69, 71, 73, 75, 77, 80, 143], "blocknotfound": 26, "blocks_since_epoch": 20, "blocks_since_last_step": [0, 6, 10, 77, 80, 90, 115], "blocks_since_last_upd": [0, 80, 90, 115], "blocks_since_upd": 0, "blocks_until_rev": [0, 80], "blockssincelaststep": 10, "blocktim": 78, "blueprint": 98, "bob": [0, 80], "bodi": [0, 1, 25, 79, 80, 93], "body_hash": 93, "bond": [0, 11, 12, 18, 35, 66, 77, 80, 85, 90, 110, 115, 143], "bonds_as_dict": 11, "bonds_moving_averag": 101, "bonds_moving_avg": [10, 18], "bonds_penalti": 101, "bonds_reset_en": 18, "bondsmovingavg": 10, "bool": [0, 1, 2, 6, 10, 11, 12, 17, 18, 21, 22, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 53, 54, 58, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 93, 94, 96, 97, 103, 110, 118, 124, 127, 128, 129, 131, 132, 134, 136, 138], "boolean": [0, 1, 27, 28, 30, 44, 45, 48, 77, 80, 131], "both": [0, 1, 16, 80, 128, 131, 143], "bound": [0, 30, 48, 80], "brain": 25, "bridg": 25, "broadcast": 1, "broader": 1, "broken": 26, "brokenexecutor": 95, "brokenthreadpool": 95, "bt": [0, 1, 24, 80, 85, 96, 110, 118, 138], "bt_docs_link": 131, "bt_header_axon_address": 93, "bt_header_dendrite_port": 93, "btcli": 0, "btfileformatt": 124, "btlog": [131, 144], "btstreamformatt": 124, "btstreamingrespons": 79, "btstreamingresponsemodel": 79, "buffer": [25, 94, 131], "build": [25, 98, 99, 101], "built": [98, 99, 101, 141], "bulk": [0, 80], "burn": [0, 10, 18, 20, 80, 99, 101], "burn_alpha": 99, "burned_regist": [0, 55, 80, 84, 99, 109, 115], "burned_register_extrins": [33, 64], "byte": [0, 12, 22, 35, 63, 66, 80, 93, 96, 99, 118, 131, 136, 137, 139, 141, 143], "byte_data": [96, 118], "bytes_or_buff": 131, "c": 77, "calcul": [0, 1, 18, 38, 70, 77, 80, 93, 120, 125, 132, 136, 139], "calculate_diff_second": 120, "calculate_fe": 132, "call": [0, 1, 18, 25, 30, 35, 37, 42, 48, 61, 66, 69, 74, 79, 80, 93, 95, 97, 102, 103, 128, 131, 142, 144], "call_def": 0, "call_definit": [0, 80], "call_funct": [42, 74, 103], "call_hash": 99, "call_modul": [42, 74, 103], "call_next": 1, "call_param": [35, 42, 66, 74, 103], "call_record": 103, "call_stream": 25, "callabl": [1, 79, 95], "caller": 1, "can": [0, 1, 9, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 95, 96, 98, 105, 118, 136, 143], "cancel": [95, 99], "cancel_as_multi": 99, "cancel_futur": 95, "cancel_nam": 99, "cancel_retri": 99, "cancel_retry_nam": 99, "cannot": [0, 26, 30, 37, 48, 69, 79, 80, 93, 94, 133], "cap": 99, "capabl": [1, 35, 66], "captur": 77, "carrier": 93, "case": [0, 1, 25, 80, 85, 105, 110, 141], "cast": 94, "cast_dtyp": 94, "cast_float": 93, "cast_int": 93, "cast_shap": 94, "categori": [93, 98], "caught": [25, 131], "ceas": 1, "center": 124, "central": [1, 77], "certain": [0, 1, 80, 136], "certif": [0, 1, 35, 57, 66, 80, 97, 99, 131], "chain": [0, 1, 3, 10, 17, 22, 26, 31, 33, 34, 35, 36, 40, 41, 43, 49, 64, 65, 66, 67, 68, 72, 73, 75, 78, 80, 85, 97, 103, 110, 131, 143, 144], "chain_data": [0, 1, 25, 54, 58, 62, 74, 76, 77, 80, 144], "chain_endpoint": [77, 85, 97, 110, 131], "chain_id": 101, "chain_ident": [0, 7, 10, 80, 144], "chainconnectionerror": 26, "chaindatatyp": 22, "chainerror": 26, "chainident": [0, 3, 10, 22, 77, 80], "chainqueryerror": 26, "chaintransactionerror": 26, "challeng": [0, 80, 134, 136], "chang": [0, 41, 50, 73, 80, 98, 99, 101, 122, 124, 129], "change_kei": 99, "characterist": [0, 80], "check": [0, 1, 24, 25, 32, 36, 41, 50, 68, 73, 80, 93, 104, 121, 131, 133, 134, 136, 142], "check_and_convert_to_bal": 121, "check_block": 136, "check_config": [1, 128], "check_latest_version_in_pypi": 142, "check_vers": [131, 142], "child": [0, 26, 27, 44, 80], "child_hotkei": 0, "childkei": [0, 26, 80], "children": [0, 26, 29, 47, 52, 80, 99, 144], "childrenparam": 51, "choic": 131, "chr_transform": 10, "chunk": [25, 79], "claim": [0, 1, 39, 71, 80], "class": [26, 33, 64, 96, 118], "classic": [91, 116], "classmethod": [1, 2, 8, 9, 11, 14, 15, 16, 17, 23, 24, 26, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 85, 93, 95, 97, 110, 128, 136, 141], "classvar": 93, "clean": [0, 95], "cleanup": 25, "clear": 79, "clear_ident": 99, "clear_prim": 99, "cli": [0, 80], "client": [1, 25, 30, 37, 48, 69, 79], "clientrespons": [25, 79], "clientsess": 25, "close": [0, 25, 80, 85, 99, 110], "close_sess": 25, "closur": 25, "code": [1, 25, 93, 99], "code_hash": 99, "codebas": 105, "cold": [15, 85, 110], "coldkei": [0, 2, 4, 5, 10, 11, 12, 17, 21, 26, 27, 32, 36, 41, 42, 44, 50, 68, 73, 74, 77, 80, 92, 97, 99, 117, 131], "coldkey_ss58": [0, 17, 55, 57, 80], "coldkeypub": [0, 1, 80], "collabor": [0, 77, 80], "collat": 25, "collect": [0, 24, 74, 77, 80, 98], "color": 124, "color_map": 124, "com": [0, 131], "combin": [74, 132], "come": 1, "command": [1, 97, 98, 99, 101, 104], "commit": [0, 10, 18, 22, 23, 26, 28, 31, 35, 43, 45, 46, 49, 66, 75, 80, 85, 99, 100, 110, 143, 144], "commit_block": [0, 23, 80], "commit_crv3_mechanism_weight": 99, "commit_data": 23, "commit_for_rev": 63, "commit_hash": [43, 46, 63, 99], "commit_hex": 23, "commit_mechanism_weight": [63, 99], "commit_mechanism_weights_extrins": [31, 49], "commit_messag": [0, 80], "commit_rev": [29, 47, 144], "commit_reveal_en": [0, 80, 82, 90, 107, 115], "commit_reveal_period": [10, 18], "commit_reveal_v3_extrins": [28, 45], "commit_reveal_vers": [0, 31, 49, 63, 75, 80, 99], "commit_reveal_weights_en": [10, 18], "commit_timelocked_mechanism_weight": [63, 99], "commit_timelocked_mechanism_weights_extrins": [31, 49], "commit_timelocked_weight": 99, "commit_timelocked_weights_extrins": 75, "commit_weight": [0, 47, 80, 84, 99, 109, 144], "commit_weights_extrins": [43, 46, 75], "commitrevealperiod": 10, "commitrevealweightsen": 10, "committ": [0, 23, 80], "committe": [0, 80], "common": [4, 25, 26, 36, 41, 68, 73], "commun": [0, 1, 77, 80, 93, 138], "compar": [1, 74], "comparison": [1, 121], "compat": [0, 31, 43, 46, 49, 75, 80, 93, 121, 129, 142], "complet": [1, 25, 77, 95], "complex": [0, 1, 77, 80, 93], "compon": [0, 1, 77, 80, 105, 131], "compos": 98, "compose_cal": 110, "composit": [0, 80], "comprehend": [0, 80], "comprehens": [0, 80], "compress": 93, "comput": [0, 35, 66, 77, 80, 93, 131], "computed_body_hash": 93, "concaten": [93, 139], "concept": 77, "concern": 1, "concurr": [1, 25, 95], "condit": [0, 1, 80], "confid": 1, "config": [0, 1, 76, 77, 79, 80, 85, 93, 94, 95, 97, 110, 128, 129, 144], "config_payload": 99, "configdict": [79, 93, 94], "configur": [0, 1, 24, 77, 79, 80, 85, 93, 94, 97, 110, 128], "confirm": 1, "conflict": 1, "conform": [79, 93, 94], "congest": [0, 80], "connect": [0, 1, 25, 26, 35, 36, 39, 66, 68, 71, 77, 80, 85, 93, 97, 110], "connection_requir": 20, "connectionerror": 0, "consensu": [0, 10, 11, 12, 21, 77, 80], "conserv": [0, 80], "consist": [0, 77, 80, 93, 126], "consol": [0, 33, 64, 80, 126, 128, 134, 136, 144], "constant": [0, 18, 80, 123], "constant_nam": [0, 80], "constantli": 77, "constrain": 93, "constraint": 143, "construct": [24, 77, 93, 98], "contact": [0, 33, 64, 80], "contain": [0, 1, 2, 4, 11, 16, 22, 23, 25, 32, 33, 35, 41, 64, 66, 73, 74, 77, 79, 80, 93, 96, 97, 105, 118, 120, 131, 136, 143, 144], "context": [0, 1, 16, 25, 77, 80, 93], "continu": [1, 77], "contribut": [0, 1, 77, 80, 99], "control": [0, 1, 80, 93], "conveni": [16, 93, 98, 99, 101], "convers": [93, 132, 143], "convert": [1, 2, 16, 22, 93, 96, 118, 121, 130, 131, 132, 136, 143], "convert_and_normalize_weights_and_uid": 143, "convert_bond_uids_and_vals_to_tensor": 143, "convert_maybe_split_to_u16": 143, "convert_root_weight_uids_and_vals_to_tensor": 143, "convert_storage_paramet": 141, "convert_uids_and_weight": 143, "convert_weight_uids_and_vals_to_tensor": 143, "convert_weights_and_uids_for_emit": 143, "cool": [0, 80], "cooldown": [0, 27, 44, 51, 80, 99], "copi": [0, 77, 97], "copier": 0, "core": [103, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 119, 128, 134, 136, 138, 143, 144], "cornerston": [1, 93], "correct": [1, 77, 93], "correctli": [1, 77], "correl": [0, 80], "correspond": [0, 1, 22, 25, 31, 34, 43, 46, 49, 65, 67, 74, 75, 77, 80, 98, 137, 143], "corrupt": 131, "cortex": [96, 118], "cost": [0, 80], "count": 5, "counterpart": 25, "cover": [0, 25, 77, 80], "cpu": [134, 136], "creat": [0, 1, 2, 9, 11, 16, 23, 25, 35, 66, 77, 79, 80, 93, 94, 97, 99, 121, 131, 134, 136, 141, 144], "create2": 99, "create_error_respons": 1, "create_from_data": 141, "create_from_storage_funct": 141, "create_pow": 136, "create_pow_async": 134, "create_pur": 99, "create_streaming_respons": 79, "creation": [1, 93, 98], "credit": [0, 30, 48, 80], "criteria": 1, "critic": [0, 1, 77, 80, 93, 105, 122, 128], "crowdloan": 100, "crowdloan_id": 99, "crucial": [0, 1, 25, 35, 66, 77, 80, 93], "crv3": [0, 80], "crv3weightcommitsv2": 23, "crv4": [0, 80], "cryptocurr": 77, "cryptograph": [0, 1, 77, 80], "cuda": [0, 33, 64, 80, 134, 136, 137], "cudasolv": 136, "cumul": 77, "curl": 133, "curr_block": 136, "curr_block_num": 136, "curr_diff": 136, "currenc": 121, "current": [0, 1, 6, 77, 80, 85, 93, 98, 99, 101, 110, 120, 132, 136, 141, 142], "current_block": [0, 77], "current_subnet_pric": 132, "current_tick": 132, "current_tim": 120, "current_time_n": 120, "custom": [0, 1, 7, 77, 93, 96, 105, 118, 124, 126], "custom_logger_method_stack_level": 128, "custom_synaps": 93, "customiz": 1, "customsynaps": 93, "cutoff": 18, "d": [25, 77, 94, 97, 123], "dai": [4, 5], "daili": [4, 5], "data": [0, 1, 2, 6, 7, 10, 13, 14, 16, 17, 21, 22, 23, 25, 27, 35, 44, 66, 74, 77, 79, 80, 93, 94, 96, 118, 131, 136, 139, 141, 143], "data_typ": [35, 66], "databas": 141, "dataclass": [3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 17, 19, 20, 21, 96, 118], "date": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 124, 142], "date_format": 123, "datefmt": 124, "datetim": [0, 80], "de": 128, "deal": 1, "debug": [93, 122, 127, 128, 129], "decai": 18, "deceiv": 1, "decentr": [0, 1, 35, 66, 77, 80, 93], "decis": [0, 77, 80], "decod": [0, 1, 2, 6, 7, 8, 10, 12, 15, 17, 21, 22, 23, 27, 44, 80, 93, 96, 118, 131, 141], "decode_account_id": 22, "decode_account_id_list": 15, "decode_block": 22, "decode_hex_identity_dict": 131, "decode_metadata": 22, "decode_revealed_commit": 22, "decode_revealed_commitment_with_hotkei": 22, "decode_scale_valu": 141, "decor": 136, "decreas": [0, 26, 41, 73, 80], "decrease_tak": [60, 99], "decrease_take_extrins": [39, 71], "decrypt": [0, 27, 44, 80, 96, 118, 131], "decrypted_data": [96, 118], "deepcopi": 77, "deeper": [0, 80], "def": [0, 1, 93], "default": [0, 1, 2, 22, 24, 25, 26, 28, 30, 32, 33, 35, 36, 37, 39, 41, 45, 48, 64, 66, 68, 69, 71, 73, 74, 77, 78, 80, 85, 93, 96, 97, 110, 118, 120, 121, 124, 127, 128, 129, 131, 136, 137, 138, 142, 143], "default_endpoint": 78, "default_log_backup_count": 123, "default_log_file_nam": 123, "default_log_format": 124, "default_max_rotating_log_file_s": 123, "default_network": [77, 78], "default_tak": 101, "default_trace_format": 124, "default_verifi": 1, "defaultconfig": 24, "defaultdict": 24, "defaultmunch": 24, "defin": [0, 1, 2, 6, 10, 21, 22, 38, 70, 77, 80, 93, 124, 126, 131, 144], "definit": [0, 98, 99, 101, 123], "deiniti": 128, "delai": [1, 99], "deleg": [0, 4, 5, 26, 39, 71, 77, 80, 85, 99, 110, 144], "delegate_info": [0, 7, 144], "delegate_info_lit": [7, 144], "delegate_ss58": 5, "delegatedinfo": [0, 4, 22, 80], "delegateinfo": [0, 4, 5, 22, 80], "delegateinfobas": 4, "delegateinfolit": 5, "delegateliteinfo": 5, "delegatetaketoohigh": [0, 26, 80], "delegatetaketoolow": [0, 26, 80], "delegatetxratelimitexceed": [0, 26, 80], "delta": [1, 99, 120], "dendrit": [1, 26, 76, 93, 129, 138, 144], "dendrite_default_error": 25, "dendrite_error_map": 25, "dendrite_hotkei": 93, "dendrite_inst": 25, "dendritemixin": 25, "denot": 77, "depart": 0, "depend": [0, 2, 61, 80, 131, 132], "deposit": [0, 40, 61, 72, 80, 99, 131], "deprec": [121, 129, 131, 142], "deprecated_messag": 131, "deregister_primary_logg": 128, "deriv": [10, 22], "describ": [0, 31, 38, 42, 43, 46, 49, 70, 74, 80, 124], "descript": [0, 1, 3, 19, 33, 55, 64, 80, 93, 99], "deseri": [25, 77, 79, 93, 94, 138], "deserialized_synaps": 93, "design": [0, 1, 25, 79, 80, 93, 129], "desir": [93, 128], "dest": [0, 40, 72, 80, 99], "destin": [0, 32, 40, 43, 50, 61, 67, 72, 80, 131, 143], "destination_coldkei": 99, "destination_coldkey_ss58": [0, 32, 50, 54, 80], "destination_hotkei": [0, 32, 50, 80, 99], "destination_hotkey_ss58": [0, 54, 80], "destination_netuid": [0, 32, 50, 54, 80, 99], "destination_pool": 54, "destination_pric": [0, 80], "destination_ss58": 61, "destination_subnet_pric": [0, 80], "detail": [0, 1, 77, 80, 93, 141], "detect": 93, "determin": [0, 1, 25, 77, 80, 93, 97, 125, 131], "determine_block_hash": [0, 80, 85, 110], "determine_chain_endpoint_and_network": 131, "dev_framework": [105, 144], "dev_id": [0, 33, 64, 80, 134, 136, 137], "develop": [1, 79, 93, 98, 99, 101, 105, 145], "devic": [0, 33, 64, 80, 134, 136, 137], "dict": [0, 1, 2, 4, 8, 9, 10, 11, 12, 14, 16, 17, 20, 22, 24, 25, 35, 42, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 74, 77, 78, 79, 80, 93, 94, 97, 103, 124, 131, 132, 136], "dictionari": [0, 1, 2, 9, 11, 16, 22, 24, 26, 77, 79, 80, 93, 94, 97, 125, 131], "did": [33, 34, 35, 36, 40, 64, 65, 66, 67, 68, 72], "diff": 136, "differ": [0, 1, 6, 24, 25, 50, 77, 80, 93, 120, 121, 128, 134, 136], "difficulti": [0, 10, 18, 20, 80, 90, 101, 115, 136, 137], "digit": [1, 77, 93], "dir": 77, "dir_path": 77, "direct": [0, 77, 80, 99], "directli": [0, 25, 79, 80, 93, 98], "directori": 77, "disabl": [0, 30, 48, 80, 85, 99, 110, 127, 128, 129], "disable_debug": 128, "disable_info": 128, "disable_log": 128, "disable_third_party_logg": 128, "disable_trac": 128, "disable_warn": 128, "disable_whitelist": 99, "disallow": 1, "disapprove_propos": 99, "discord": [0, 3, 19, 33, 55, 64, 80, 99], "discover": 105, "discoveri": [0, 80], "disk": 77, "dispatch": 1, "dispatch_a": 99, "dispatch_as_fal": 99, "dissolv": 99, "dissolve_network": 99, "distinguish": 77, "distribut": [0, 38, 70, 77, 80, 93, 132], "divers": [0, 80], "divid": 98, "dividend": [10, 11, 12, 21, 77], "do": [0, 1, 80, 98, 99, 101], "do_commit_weight": [43, 46], "do_serve_axon": [35, 66], "doc": [0, 80, 131], "docstr": 77, "document": [0, 80, 144], "doe": [0, 1, 23, 26, 27, 44, 80, 93, 96, 118, 134, 136], "does_hotkey_exist": [0, 80, 92, 117], "doesn": [0, 1, 26, 27, 44, 77, 80, 128], "don": 0, "done": 0, "down": [0, 1, 80], "drain": 17, "drand": [0, 80, 96, 100, 118], "dtype": 94, "due": [0, 1], "dummy_input": 93, "dump": [96, 118], "duplic": [0, 26, 27, 44], "duplicatechild": [0, 26, 27, 44], "durat": [0, 25, 28, 31, 45, 49, 75, 80, 93, 99, 101], "dure": [0, 1, 18, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 93, 96, 118, 136], "dust": [0, 80], "dynam": [0, 1, 6, 77, 80, 98, 99, 101], "dynamic_info": [7, 144], "dynamicinfo": [0, 6, 22, 54, 58, 62, 80], "e": [0, 2, 9, 13, 33, 35, 64, 66, 77, 80, 93, 131], "e29ce36fec1a": 93, "each": [0, 1, 22, 25, 31, 36, 38, 41, 43, 46, 49, 68, 70, 73, 74, 75, 77, 80, 93, 96, 97, 98, 99, 101, 118, 128, 136], "earn": [0, 36, 68, 77, 80], "easi": 93, "easy_import": [131, 144], "econom": [0, 80], "ecosystem": [0, 77, 80, 93], "ed25519": [40, 72], "edit": [98, 99, 101], "effect": [0, 1, 80], "effici": [0, 1, 25, 77, 80, 93], "effort": [0, 80], "either": [0, 80, 121, 124, 133], "elast": 99, "element": [0, 10, 25, 27, 28, 33, 44, 45, 64, 77, 80, 94], "elig": [0, 80], "ellipsi": 93, "els": [0, 10, 80, 131], "ema_halv": 101, "email": [33, 64], "embodi": 77, "emiss": [0, 6, 10, 11, 12, 17, 21, 37, 38, 69, 70, 77, 80], "emission_histori": 21, "emission_valu": 20, "emissions_shar": 99, "emit": [0, 80], "emoji": 124, "emoji_map": 124, "emploi": 77, "empti": [0, 80, 94, 97], "enabl": [0, 1, 18, 30, 32, 35, 36, 41, 48, 50, 53, 66, 68, 73, 77, 80, 85, 93, 99, 101, 105, 110, 127, 128, 129], "enable_consol": 128, "enable_debug": 128, "enable_default": 128, "enable_info": 128, "enable_third_party_logg": 128, "enable_trac": 128, "enable_warn": 128, "encapsul": [1, 16, 25, 79, 93], "encod": [0, 7, 9, 17, 22, 80, 93, 96, 118, 131], "encode_param": [0, 80, 85, 110], "encoded_data": 22, "encompass": 93, "encount": [1, 94], "encourag": 77, "encrypt": [1, 96, 118], "encrypted_data": [96, 118], "end": [1, 14, 25, 38, 70, 93, 98, 99, 101], "end_block": 99, "endpoint": [0, 1, 2, 25, 35, 66, 80, 85, 93, 97, 110, 131, 133], "endpoint_url": [131, 133], "enforc": [61, 93, 131], "enhanc": [0, 35, 66, 77, 80, 93, 105], "enough": 26, "ensur": [0, 1, 25, 43, 46, 77, 79, 80, 93, 126, 128, 129, 136], "ensure_upd": 99, "enter": [0, 33, 34, 35, 36, 40, 41, 43, 64, 65, 66, 67, 68, 72, 73, 80, 99], "entir": [0, 25, 80], "entiti": [1, 77], "entri": [0, 77, 80, 141], "entrypoint": 78, "enum": [10, 22], "enumer": [10, 22], "environ": [0, 1, 77, 80, 93, 137], "epoch": [0, 80, 101, 103], "equal": [38, 70, 134, 136], "equip": 1, "equivocation_proof": 99, "error": [0, 1, 2, 24, 25, 27, 30, 31, 35, 37, 38, 39, 41, 42, 43, 44, 46, 48, 49, 66, 69, 70, 71, 73, 74, 76, 77, 80, 85, 93, 94, 96, 110, 118, 122, 128, 131, 134, 136, 137, 142, 144], "error_messag": 131, "especi": [1, 25, 93], "essenti": [0, 1, 25, 77, 80, 93], "establish": [0, 1, 25, 80, 93], "estim": [0, 6, 80], "etc": [1, 79, 85, 93, 110], "ethereum": 100, "evalu": [0, 1, 97], "even": [0, 30, 48, 80], "evenli": [0, 80], "event": [25, 79, 128, 136], "event_loop_is_run": 25, "everi": 93, "everyth": 77, "evm": 100, "evm_kei": 99, "evolut": 77, "exact": 77, "examin": 77, "exampl": [1, 38, 41, 70, 73, 93, 94, 96, 118], "examplerout": 93, "examplesynaps": 93, "exce": [0, 27, 32, 44, 50, 80], "exceed": [0, 26, 36, 41, 68, 73, 80], "except": [0, 1, 25, 27, 31, 38, 42, 44, 49, 70, 74, 75, 80, 94, 128, 131], "exchang": [1, 77, 93], "exclud": 143, "exclude_quantil": 143, "execut": [0, 1, 26, 31, 38, 42, 49, 70, 74, 75, 77, 80, 95, 99, 103], "execute_on": 103, "execute_step": 103, "executor": 95, "exhaust": 25, "exist": [0, 1, 23, 25, 26, 27, 44, 80, 131, 134, 136], "existenti": [0, 40, 61, 72, 80, 131], "existential_deposit": 0, "existentialdeposit": 0, "exit": [1, 26], "expans": 105, "expect": [1, 25, 77, 79], "experiment": 105, "expir": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80], "explicitli": [0, 24, 77, 79, 93, 94], "explor": 131, "expos": 131, "express": [96, 118], "ext_index": 99, "extend": [1, 99, 105], "extens": 105, "extent": [0, 80], "extern": [1, 25, 133], "external_ip": [1, 25, 133], "external_port": 1, "externalipnotfound": 133, "extra": [119, 144], "extract": [1, 25, 79, 131], "extract_response_json": 79, "extrem": 1, "extrins": [0, 76, 80, 85, 98, 99, 101, 110, 131, 144], "extrinsicnotfound": 26, "extrinsicrespons": [0, 75, 80, 103], "extrinsics_subpackag": 129, "f": [0, 131], "face": [0, 1, 80, 133], "facilit": [0, 1, 77, 80, 93], "factor": [0, 80], "factori": [0, 16, 77], "fail": [0, 1, 2, 22, 25, 26, 27, 30, 33, 34, 35, 36, 37, 40, 41, 43, 44, 48, 64, 65, 66, 67, 68, 69, 72, 73, 80, 93, 95, 96, 118, 133, 142], "failed_verif": 93, "failur": [0, 1, 27, 28, 33, 35, 39, 44, 45, 64, 66, 71, 80, 93], "fallback": [0, 25, 80, 85, 99, 110], "fallback_endpoint": [0, 80, 85, 110], "fals": [0, 1, 6, 11, 12, 22, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 93, 94, 96, 103, 110, 118, 124, 127, 129, 131, 134, 136, 138], "fast": [0, 80, 96, 118], "fast_config": 1, "fast_serv": 1, "fastapi": 1, "fastapithreadedserv": 1, "faucet": 99, "feasibl": 25, "featur": [0, 1, 80, 93, 105, 129], "fee": [0, 16, 42, 74, 80, 99, 132], "fees_above_high": 132, "fees_alpha": 132, "fees_below_low": 132, "fees_tao": 132, "fetch": [0, 5, 35, 66, 80, 98, 143], "field": [0, 1, 2, 4, 79, 80, 91, 93, 94, 98, 99, 101, 116], "field_indic": [0, 80], "file": [24, 77, 98, 99, 101], "filenam": [123, 124], "fill": [1, 25], "filter": [0, 1, 80], "filter_for_netuid": [0, 80], "filter_netuids_by_registered_hotkei": [0, 80, 92, 117], "final": [0, 1, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 93, 99, 136], "financi": [0, 80], "find": [74, 93], "fingerprint": 93, "finish": [25, 95, 136], "finished_queu": 136, "finnei": [0, 77, 78, 85, 97, 110, 131], "finney_entrypoint": 78, "finney_test_entrypoint": 78, "first": [0, 1, 6, 24, 25, 27, 28, 33, 36, 44, 45, 64, 68, 77, 80, 93, 103], "fix": [0, 80, 121], "fixed_to_float": 121, "fixedpoint": [80, 121], "flag": [0, 1, 2, 18, 25, 33, 35, 36, 39, 40, 61, 64, 66, 67, 68, 71, 72, 77, 80, 97, 124, 131], "flexibl": [0, 1, 80], "float": [0, 1, 4, 5, 6, 10, 11, 12, 18, 20, 21, 25, 27, 28, 31, 32, 34, 36, 41, 43, 44, 45, 49, 50, 51, 54, 58, 62, 65, 67, 68, 73, 75, 77, 80, 85, 93, 96, 110, 118, 120, 121, 131, 132, 136, 143], "float32": [28, 34, 43, 45, 65, 67, 143], "float_to_u64": 131, "floattensor": [28, 43, 45, 67, 143], "flow": [1, 93], "fluctuat": [0, 80], "fmt": 124, "fn": [77, 95], "focus": [0, 80], "follow": [35, 66, 93, 97, 128], "forbidden": 93, "forc": [99, 136], "force_adjust_total_issu": 99, "force_batch": 99, "force_ent": 99, "force_exit": 99, "force_extend": 99, "force_proxy_typ": 99, "force_release_deposit": 99, "force_set_bal": 99, "force_slash_deposit": 99, "force_transf": 99, "force_unreserv": 99, "forev": [0, 80, 85, 110], "form": [1, 77, 79, 93, 94, 96, 118, 133], "format": [0, 1, 25, 35, 66, 77, 79, 80, 93, 97, 126, 131, 133, 144], "format_error_messag": 131, "formatt": [124, 126, 128], "formatted_endpoint_url": 133, "formattim": 124, "forward": [1, 25], "forward_class_typ": 1, "forward_custom": 1, "forward_fn": [1, 26], "forward_my_synaps": 1, "forward_my_synapse_2": 1, "foster": 1, "found": [0, 1, 26, 74, 80, 136, 137], "foundat": [0, 1], "four": 104, "frac_bit": 121, "frame": [0, 80], "framework": [1, 25, 93, 128, 129], "freez": [0, 38, 70, 80], "frequent": [0, 80], "fresh": 1, "friendli": [1, 43, 46], "fro": 128, "from": [0, 1, 2, 9, 10, 11, 15, 16, 17, 22, 25, 30, 32, 35, 36, 39, 40, 41, 48, 50, 66, 68, 71, 72, 73, 77, 79, 80, 85, 93, 94, 95, 96, 97, 98, 99, 101, 105, 110, 118, 121, 122, 128, 131, 133, 136, 138, 143], "from_dict": [8, 14, 16, 17], "from_error": 26, "from_float": 121, "from_head": 93, "from_neuron_info": 2, "from_parameter_dict": [2, 9], "from_rao": 121, "from_scale_encod": 22, "from_scale_encoding_using_type_str": 22, "from_str": 2, "from_tao": [0, 80, 121], "from_vec_u8": 23, "from_vec_u8_v2": 23, "from_weights_bonds_and_neuron_lit": 11, "frozen": [0, 80], "full": [0, 32, 50, 77, 80], "full_address": 1, "func": [5, 136, 142], "function": [7, 23, 26, 79, 80, 99, 101, 105, 126, 128, 138, 141], "fund": [0, 40, 72, 80], "fundament": [0, 1, 36, 68, 77, 80, 93], "further": 1, "futur": [35, 66, 77, 95], "g": [0, 2, 9, 13, 33, 64, 93, 131], "gain": [0, 80], "garbag": 0, "gas_limit": 99, "gate": 105, "gather": 1, "gener": [0, 1, 10, 22, 25, 31, 49, 75, 79, 80, 98, 99, 101, 125, 136, 141, 143, 144], "generate_weight_hash": 143, "genericcal": [0, 42, 74, 80], "genericmetadatavers": 141, "genuin": 1, "get": [0, 24, 25, 42, 61, 74, 77, 80, 91, 93, 95, 96, 116, 118, 124, 128, 131, 136], "get_admin_freeze_window": [0, 80, 81, 106], "get_all_commit": [0, 80, 82, 107], "get_all_metagraphs_info": [0, 80, 86, 111], "get_all_neuron_certif": [0, 80, 87, 112], "get_all_revealed_commit": [0, 80, 82, 107], "get_all_subnets_info": [0, 80, 90, 115], "get_all_subnets_netuid": 115, "get_and_save_latest_vers": 142, "get_async_subtensor": 0, "get_auto_stak": 114, "get_bal": [0, 80, 92, 117], "get_block_hash": [0, 80, 81, 106], "get_block_info": 106, "get_children": [0, 80, 90, 92, 115, 117], "get_children_pend": [0, 80, 90, 92, 115, 117], "get_commit": [0, 80, 82, 107], "get_commitment_metadata": 107, "get_config": 128, "get_cpu_count": 136, "get_current_block": [0, 77, 80, 81, 106], "get_current_weight_commit_info": [0, 80, 82, 90], "get_current_weight_commit_info_v2": [0, 80, 82], "get_deleg": [0, 80, 83, 92, 108, 117], "get_delegate_by_hotkei": [0, 80, 83, 92, 108, 117], "get_delegate_ident": [0, 80, 81, 83, 85, 106, 108, 110], "get_delegate_tak": [0, 80, 83, 92, 108, 117], "get_existential_deposit": [0, 80, 81, 106], "get_explorer_url_for_network": 131, "get_external_ip": 133, "get_extrinsic_fe": [42, 74, 109], "get_fe": 132, "get_fees_in_rang": 132, "get_formatted_ws_endpoint_url": 133, "get_hash": 131, "get_hotkey_own": [0, 80, 92, 117], "get_hotkey_stak": [0, 80, 89, 92, 114, 117], "get_human_read": 130, "get_hyperparamet": [0, 80, 90, 115], "get_last_bonds_reset": [35, 66, 107], "get_last_commitment_bonds_reset_block": [0, 80, 82, 107], "get_level": 128, "get_liquidity_list": [0, 80, 90, 115], "get_max_logger_name_length": 125, "get_mechanism_count": [0, 80, 90, 115], "get_mechanism_emission_split": [0, 80, 90, 115], "get_mechid_storage_index": 131, "get_metadata": [35, 66], "get_metagraph_info": [0, 80, 86, 111], "get_minimum_required_stak": [0, 80, 81, 89, 92, 106, 114, 117], "get_netuid_and_mechid_by_storage_index": 131, "get_netuids_for_hotkei": [0, 80, 92, 117], "get_neuron_certif": [0, 80, 87, 112], "get_neuron_for_pubkey_and_subnet": [0, 80, 90, 115], "get_next_epoch_start_block": [0, 80, 90, 115], "get_null_neuron": [11, 12], "get_old_stak": 74, "get_owned_hotkei": [0, 80, 92, 117], "get_par": [0, 80, 90, 115, 117], "get_queu": 128, "get_required_field": 93, "get_revealed_commit": [0, 80, 82, 107], "get_revealed_commitment_by_hotkei": [0, 80, 82, 107], "get_save_dir": 77, "get_selective_metagraph_commit": 10, "get_siz": 93, "get_stak": [0, 80, 89, 92, 114, 117], "get_stake_add_fe": [0, 80, 89, 92, 114, 117], "get_stake_for_coldkei": [0, 80, 89, 92], "get_stake_for_coldkey_and_hotkei": [0, 80, 89, 92, 114, 117], "get_stake_for_hotkei": [0, 80, 92, 117], "get_stake_info_for_coldkei": [0, 80, 89, 92, 114, 117], "get_stake_movement_fe": [0, 80, 89, 92, 114, 117], "get_stake_operations_fe": [0, 80, 89], "get_stake_weight": [0, 80, 89, 114], "get_status_messag": 136, "get_subnet": [0, 80, 90], "get_subnet_burn_cost": [0, 80, 90, 115], "get_subnet_hyperparamet": [0, 80, 90, 115], "get_subnet_info": [0, 80, 90, 115], "get_subnet_owner_hotkei": [0, 80, 90, 115], "get_subnet_pric": [0, 80, 90, 115], "get_subnet_reveal_period_epoch": [0, 80, 90, 115], "get_subnet_validator_permit": [0, 80, 90, 115], "get_timelocked_weight_commit": [0, 80, 82, 107], "get_timestamp": [0, 80, 81, 106], "get_total_s": 93, "get_total_subnet": [0, 80, 90, 115], "get_transfer_fe": [0, 80, 92, 117], "get_transfer_fn_param": [61, 131], "get_uid_for_hotkey_on_subnet": [0, 80, 90, 115], "get_unit": 121, "get_unstake_fe": [0, 80, 89, 92, 114, 117], "get_vote_data": [0, 80, 81, 106], "getdefaultencod": 131, "github": [0, 3, 33, 64, 80], "github_repo": [19, 33, 55, 64, 99], "give": [0, 95, 121, 122], "given": [0, 1, 22, 28, 32, 33, 34, 35, 42, 43, 45, 64, 65, 66, 67, 74, 77, 79, 80, 93, 94, 95, 121, 131, 134, 136, 138, 143], "global": [0, 80], "global_fees_alpha": 132, "global_fees_tao": 132, "global_max_subnet_count": 131, "glorifi": 93, "glossari": [0, 80], "go": 1, "goe": [0, 33, 41, 64, 73, 80], "govern": [0, 77, 80], "grace": [0, 80], "gracefulli": 1, "grandpa": 100, "graph": 77, "great": 1, "greater": [77, 143], "growth": [0, 80], "grpc": 1, "guard": 1, "h": [123, 130], "ha": [0, 1, 12, 25, 26, 77, 79, 80, 136], "halt": 1, "handl": [0, 1, 6, 21, 25, 43, 46, 79, 80, 93, 96, 118, 128, 132, 133, 143], "handler": [1, 126, 128, 131], "hash": [0, 1, 23, 31, 35, 43, 46, 49, 66, 75, 80, 93, 99, 131, 136, 137, 139, 143], "hash_rat": 136, "hash_rate_perpetu": 136, "hash_valu": 93, "hasher": [140, 144], "hasn": 1, "have": [0, 1, 26, 27, 44, 80, 93, 95], "header": [1, 25, 26, 79, 93, 98], "header_s": 93, "height": [0, 80, 99], "held": [0, 77], "hello": [0, 93], "help": [0, 1, 24, 26, 80, 85, 93, 94, 95, 97, 110, 121, 128, 131, 133, 142], "helper": [0, 22, 61, 74, 80, 93, 97, 121, 126, 131, 139, 144], "here": 25, "hex": [0, 23, 80, 141], "hex_to_byt": 131, "hexadecim": [93, 131], "high": [0, 18, 26, 80], "higher": [77, 141], "hint": [98, 99, 101], "histor": [25, 77], "history_block": 77, "hit": [0, 27, 44], "hold": [1, 77, 128], "holder": [0, 80], "home_dir": 78, "honest": 0, "hop": [0, 80], "host": [1, 35, 66], "hot": [0, 80], "hotkei": [0, 1, 2, 4, 5, 10, 11, 12, 17, 21, 22, 25, 26, 27, 30, 31, 32, 34, 35, 36, 39, 41, 42, 43, 44, 48, 49, 50, 65, 66, 67, 68, 71, 73, 74, 75, 77, 80, 85, 92, 93, 97, 99, 101, 110, 117, 131, 136, 137], "hotkey_byt": 136, "hotkey_ss58": [0, 4, 17, 32, 36, 39, 41, 50, 51, 53, 54, 55, 56, 57, 58, 60, 62, 68, 71, 73, 74, 80], "hotkey_ss58_address": [0, 80], "hotkeyaccountnotexist": [0, 26, 80], "how": [0, 1, 6, 77, 80], "howev": [25, 77], "hparam": 77, "http": [0, 1, 25, 78, 80, 93, 131], "human": [1, 130], "hyperparam": 143, "hyperparamet": [0, 18, 80, 103], "i": [0, 1, 2, 4, 5, 6, 11, 12, 15, 16, 18, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 85, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104, 110, 118, 121, 124, 128, 129, 131, 132, 133, 134, 136, 137, 138, 141, 142, 143, 145], "id": [0, 1, 4, 22, 25, 28, 30, 33, 45, 48, 64, 73, 80, 93, 99, 131, 132, 134, 136, 137, 143], "ideal": 6, "ident": [0, 3, 10, 19, 26, 33, 64, 77, 80, 93, 99, 131, 139], "identif": [77, 93], "identifi": [0, 1, 11, 12, 16, 25, 31, 35, 36, 38, 39, 41, 43, 46, 49, 66, 68, 70, 71, 73, 74, 75, 77, 80, 93, 99, 131, 143], "identityerror": 26, "idx": 103, "if_els": 99, "ignor": [0, 25, 80], "ij": 77, "imag": [3, 99], "immedi": [0, 1, 80], "immun": [0, 18], "immune_neuron": 101, "immunity_period": [0, 10, 18, 20, 80, 90, 101, 115], "immunityperiod": [0, 10, 80], "immut": [0, 80], "impact": [0, 32, 50, 77, 80], "implement": [1, 24, 25, 79, 93, 95, 105, 136, 141], "impli": 77, "import": [0, 1, 24, 25, 77, 80, 85, 93, 96, 98, 105, 110, 118, 122], "import_text": 98, "importerror": 77, "improv": 93, "in_block": 99, "inact": 77, "incent": [0, 10, 11, 12, 21, 36, 68, 77, 80], "incentiv": [0, 77], "includ": [0, 1, 2, 7, 11, 16, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 96, 97, 105, 118, 124, 126, 129], "inclus": [0, 28, 31, 32, 33, 34, 35, 36, 38, 39, 40, 42, 45, 49, 50, 64, 65, 66, 67, 68, 70, 71, 72, 74, 75, 80], "incom": [0, 1, 80], "incorrect": 131, "increas": [0, 1, 26, 32, 36, 50, 68, 80, 93], "increase_decrease_tak": 60, "increase_tak": [60, 99], "increase_take_extrins": [39, 71], "inde": 1, "index": [0, 14, 80, 99, 131, 132], "indexerror": [96, 118], "indic": [0, 1, 11, 12, 18, 25, 26, 27, 28, 30, 33, 35, 44, 45, 48, 64, 66, 77, 80, 93, 128], "indispens": 93, "individu": [0, 25, 77, 80], "infer": 77, "inflat": [0, 80], "influenc": [0, 77, 80], "info": [0, 1, 2, 6, 8, 9, 10, 20, 21, 78, 99, 122, 127, 128, 129], "info_bas": [2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 144], "info_dictionari": 131, "info_field": 57, "infobas": [2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21], "inform": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 15, 17, 19, 23, 25, 27, 33, 35, 44, 64, 66, 74, 77, 80, 93, 128, 131, 136, 137], "infrastructur": [0, 77, 80], "inherit": [93, 97], "init": [77, 99], "initarg": 95, "initi": [0, 1, 16, 24, 25, 26, 30, 33, 35, 36, 37, 40, 48, 66, 68, 69, 77, 79, 80, 85, 94, 95, 96, 97, 110, 118, 121, 124, 128, 131, 133, 142], "inner_subtensor": 110, "input": [0, 1, 22, 25, 77, 79, 80, 93, 94, 99, 136, 143], "input_": 22, "input_obj": 93, "insight": [0, 80], "inspect": 1, "instal": 77, "install_signal_handl": 1, "instanc": [0, 1, 2, 9, 11, 12, 16, 23, 25, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 66, 68, 69, 70, 73, 74, 75, 77, 79, 80, 85, 93, 95, 96, 104, 110, 118, 125, 128, 134, 141, 143], "instanti": [0, 77, 79], "instead": [0, 1, 79, 142], "instrument": [77, 80], "insuffici": [0, 80], "int": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 93, 94, 96, 97, 103, 104, 118, 120, 121, 124, 125, 128, 130, 131, 132, 133, 134, 136, 137, 138, 142, 143], "int64": [28, 34, 43, 45, 65, 67, 137, 143], "int_to_ip": 133, "int_val": 133, "intact": 1, "integ": [0, 31, 38, 49, 70, 75, 80, 93, 121, 132, 133, 143], "integr": [0, 1, 77, 80, 93, 129], "intellig": [0, 1, 77, 80], "intend": [0, 79, 80, 93, 98, 99, 101], "intent": [0, 1], "inter": 77, "interact": [0, 1, 25, 30, 32, 33, 37, 43, 46, 48, 64, 69, 77, 80, 85, 93, 110, 121], "intercept": 1, "interconnect": [0, 80], "interconnected": 77, "interfac": [0, 1, 33, 43, 46, 64, 77, 79, 80], "interfer": [0, 1, 80], "intermediari": 1, "intern": [1, 25, 35, 66, 79, 105], "internalservererror": 26, "interneuron": [0, 80], "interpret": [16, 25, 41, 93], "interv": [18, 101], "invalid": [0, 26, 94], "invalidchild": [0, 26, 27, 44], "invalidconfigfil": 24, "invalidrequestnameerror": 26, "invers": 143, "invest": [0, 77, 80], "invok": 1, "involv": [0, 1, 77, 80, 93], "ip": [1, 2, 9, 13, 25, 35, 57, 66, 77, 93, 97, 99, 133], "ip__str__": 133, "ip_address": 93, "ip_info": [7, 144], "ip_str": [2, 133], "ip_to_int": 133, "ip_typ": [2, 9, 13, 97, 99, 133], "ip_vers": 133, "ipifi": 133, "ipinfo": [9, 22], "ipv4": [2, 9, 13, 133], "ipv6": [2, 9, 13, 133], "is_async": [85, 110], "is_blacklist": 93, "is_dynam": 6, "is_empti": 95, "is_failur": 93, "is_fast_block": [0, 80, 81, 106], "is_hotkey_deleg": [0, 80, 83, 92, 108, 117], "is_hotkey_regist": [0, 80, 92, 117], "is_hotkey_registered_ani": [0, 80, 92, 117], "is_hotkey_registered_on_subnet": [0, 80, 90, 115, 117], "is_in_admin_freeze_window": [0, 80, 81, 106], "is_instance_namedtupl": 104, "is_nul": [11, 12], "is_opt": 22, "is_regist": 17, "is_run": 1, "is_serv": 2, "is_set": 24, "is_stal": 136, "is_stale_async": 136, "is_subnet_act": [0, 80, 90, 115], "is_success": 93, "is_timeout": 93, "is_valid_bittensor_address_or_public_kei": 131, "is_valid_ss58_address": 131, "is_vec": 22, "iso8601": 124, "issu": [1, 25], "item": [0, 80, 93, 99, 139], "iter": [0, 25, 77, 80, 93, 94, 97, 125], "its": [0, 1, 2, 25, 36, 39, 40, 68, 71, 72, 77, 80, 93, 128, 136], "itself": [1, 93], "j": 77, "json": [1, 2, 25, 78, 79, 93], "json_respons": 25, "json_str": 2, "jsondecodeerror": 2, "jsonrespons": 1, "judgment": 77, "just": [0, 77, 80, 85, 110], "k": [6, 94, 97], "kappa": [10, 18, 20, 101], "keccak": 137, "keccak256": [35, 66], "keep": [0, 40, 50, 72, 80, 93, 105], "keep_al": [0, 40, 61, 72, 80, 99, 131], "kei": [0, 1, 2, 11, 15, 16, 22, 27, 28, 31, 34, 40, 42, 43, 44, 45, 46, 49, 65, 67, 72, 74, 75, 77, 80, 93, 94, 97, 99, 131, 139, 141, 143], "kept": 142, "key_owner_proof": 99, "keyfil": [0, 27, 44, 80, 129, 131], "keyfileerror": [0, 27, 44, 80, 131], "keypair": [0, 25, 42, 74, 80], "keyword": [79, 93, 94, 97, 138], "kill_prefix": 99, "kill_pur": 99, "kill_storag": 99, "know": [0, 1, 80], "known": [0, 80, 131], "kwarg": [25, 79, 94, 95, 97, 104, 124, 128, 138], "lack": 133, "larg": 25, "larger": 1, "last": [0, 1, 11, 12, 35, 66, 77, 80, 85, 110], "last_drand_round": [0, 80, 81, 106], "last_step": [6, 10, 77], "last_upd": [10, 11, 12, 21, 77], "laststep": 10, "lastupd": 10, "latenc": 93, "latent": 78, "latent_lite_entrypoint": 78, "later": 77, "latest": [0, 66, 77, 80, 142], "latest_block_path": 77, "latest_hash": 0, "layer": [0, 1, 77, 80], "lazi": 136, "lazili": 25, "lazyloadedtorch": 136, "lead": 1, "leakag": 25, "learn": [77, 80, 93], "learnbittensor": [0, 80], "lease_id": 99, "least": 1, "ledger": 77, "left": 133, "legaci": [129, 136], "legacy_method": [85, 110], "legacy_torch_api_compat": 136, "length": [35, 38, 66, 70, 93, 125], "length_bound": 99, "less": 77, "level": [0, 1, 18, 77, 80, 85, 91, 110, 116, 122, 124, 126, 128, 129, 141, 144], "levelnam": [123, 124], "leverag": [77, 128], "librari": 128, "lifecycl": 1, "lifespan": 93, "light": 77, "lighter": 5, "lightweight": [0, 80], "like": [0, 1, 24, 25, 80, 93, 124], "limit": [0, 18, 26, 27, 41, 44, 73, 80, 136, 137, 143], "limit_pric": 99, "line": [0, 1, 80, 97, 134, 136], "lineno": [123, 124], "link": [0, 1, 17, 33, 64, 80], "liquid": [0, 18, 29, 47, 52, 80, 99, 131, 144], "liquid_alpha_en": [10, 18], "liquidalphaen": 10, "liquidity_delta": [0, 30, 48, 53, 80, 99], "liquidityparam": 53, "liquidityposit": [0, 80, 132], "list": [0, 1, 4, 5, 8, 10, 11, 12, 14, 15, 21, 22, 24, 25, 27, 28, 31, 33, 34, 36, 38, 41, 43, 44, 45, 46, 49, 51, 55, 57, 64, 65, 67, 68, 70, 73, 74, 75, 77, 80, 85, 93, 94, 97, 98, 99, 101, 103, 110, 131, 134, 136, 138, 141, 143], "list_from_dict": 8, "list_from_vec_u8": 12, "listen": [1, 128], "lite": [0, 11, 77, 78, 80, 85, 110], "liter": 131, "live": 77, "load": [0, 1, 24, 77, 80, 96, 118, 136], "load_from_path": 77, "local": [0, 1, 25, 77, 78, 80, 97, 98, 131, 133], "local_entrypoint": 78, "local_synaps": 25, "localhost": [85, 110], "locat": 77, "lock": [0, 17, 80, 136], "lock_cost": 101, "log": [0, 1, 24, 25, 33, 64, 80, 85, 110, 122, 123, 124, 125, 126, 127, 128, 129, 131, 136, 137], "log_and_handle_error": 1, "log_cuda_error": 137, "log_except": 25, "log_format": 124, "log_level": 1, "log_level_color_prefix": 124, "log_no_torch_error": 136, "log_trace_format": 124, "log_verbos": [0, 33, 64, 80, 85, 97, 110, 134, 136], "logger": [95, 122, 125, 126, 128], "logging_dir": 128, "loggingconfig": 128, "loggingmachin": [122, 126, 144], "logic": [1, 79, 93, 96, 105, 118], "logo": [33, 64], "logo_url": [19, 33, 55, 64, 99], "logrecord": 124, "long": [0, 80], "longer": 25, "longest": 125, "longtensor": [28, 43, 45, 67, 143], "loop": 25, "low": [0, 18, 26, 80], "lower": [0, 30, 48, 80, 143], "lynch": [96, 118], "m": 123, "machin": [1, 77, 80, 93], "made": [0, 18, 26, 80], "mai": [0, 77, 80, 105], "main": [0, 1, 80, 96, 99, 105, 118, 131, 136], "mainli": [0, 77, 80, 85, 110], "maintain": [0, 1, 77, 80, 93, 98, 105, 129, 132], "mainten": 1, "major": 77, "make": [0, 1, 25, 40, 72, 77, 80, 93, 96, 118], "malici": 1, "manag": [0, 1, 16, 24, 25, 77, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 93, 103, 106, 107, 108, 109, 111, 112, 113, 114, 115, 117, 125, 128, 132], "mani": [0, 26, 27, 44], "manipul": 1, "manner": [1, 136], "manual": [98, 99, 101], "map": [0, 4, 11, 12, 80, 94, 97, 131, 133, 141], "mark": 1, "market": 80, "match": [1, 38, 70, 74, 121, 143], "math": 77, "matrix": [0, 77, 80], "max": [1, 26, 35, 66, 143], "max_allowed_attempt": [0, 33, 64, 80], "max_allowed_uid": 101, "max_allowed_valid": [20, 101], "max_burn": [10, 18, 101], "max_difficulti": [10, 18, 101], "max_fee_per_ga": 99, "max_int_weight": 143, "max_length": 125, "max_n": [20, 101], "max_priority_fee_per_ga": 99, "max_registrations_per_block": 101, "max_regs_per_block": [10, 18], "max_retri": [0, 80], "max_subnet": 101, "max_tick": 132, "max_uid": [10, 77], "max_valid": [10, 18], "max_valu": 143, "max_weight": 99, "max_weight_limit": [0, 18, 20, 80, 90, 101, 115, 143], "max_weights_limit": 10, "max_work": [1, 95], "maxattemptsexcept": 26, "maxburn": 10, "maxdifficulti": 10, "maximum": [0, 18, 25, 32, 33, 36, 41, 50, 64, 68, 73, 80, 93, 95, 143], "maxregsperblock": 10, "maxsiz": 95, "maxsuccessexcept": 26, "maxuid": 10, "maxvalid": 10, "maxweightslimit": [0, 10, 80], "maybe_period": 99, "maybe_split": [38, 70, 101, 143], "maybe_timepoint": 99, "mean": [0, 1, 80, 93, 134, 136], "measur": [77, 80], "mech_count": [38, 70], "mechan": [0, 1, 29, 37, 38, 47, 69, 70, 75, 77, 80, 93, 96, 118, 131, 144], "mechanism_count": [77, 101], "mechanisms_emissions_split": 77, "mechid": [0, 10, 31, 49, 63, 75, 77, 80, 131], "mecid": 99, "meet": 1, "member": [0, 80, 99], "merg": [24, 25], "merkl": 141, "messag": [0, 1, 22, 25, 26, 27, 28, 30, 31, 33, 35, 37, 38, 39, 41, 42, 44, 45, 48, 49, 64, 66, 69, 70, 71, 73, 74, 80, 93, 122, 123, 124, 128, 131, 136], "met": 26, "meta_info": [0, 80], "metadata": [0, 11, 12, 22, 26, 33, 35, 64, 66, 77, 80, 93, 98, 99, 101, 141], "metadata_storage_funct": 141, "metadataerror": [26, 35, 66], "metagraph": [0, 25, 76, 80, 85, 110, 129, 143, 144], "metagraph_info": [7, 144], "metagraph_state_dict_ndarray_kei": 77, "metagraphinfo": [0, 10, 22, 80], "metagraphinfoemiss": [10, 77], "metagraphinfoparam": [10, 77], "metagraphinfopool": [10, 77], "metagraphmixin": 77, "method": [0, 1, 6, 16, 21, 23, 25, 35, 43, 46, 66, 77, 79, 80, 85, 93, 95, 97, 110, 121, 124, 128, 136], "metric": [77, 93], "middlewar": 1, "middleware_cl": 1, "might": 1, "millifi": 130, "millisecond": 124, "min_allowed_uid": 101, "min_allowed_weight": [0, 10, 18, 20, 80, 90, 101, 115, 143], "min_burn": [10, 18, 101], "min_contribut": 99, "min_difficulti": [10, 18, 101], "min_stak": 101, "min_tick": 132, "minallowedweight": [0, 10, 80], "minburn": 10, "mindifficulti": 10, "mine": [0, 80], "miner": [0, 24, 77], "miners_dir": 78, "minimum": [0, 18, 27, 44, 80, 143], "mismatch": 1, "miss": 0, "ml": 93, "mock": [0, 80, 85, 97, 110], "mock_subpackag": 129, "modal": 20, "mode": [0, 80, 128], "model": [0, 77, 79, 93, 94], "model_config": [79, 93, 94], "model_dump_json": 93, "model_validate_json": 93, "modern": 1, "modif": 93, "modifi": [0, 22, 30, 48, 79, 80, 141], "modify_liquid": [0, 80, 84, 109], "modify_liquidity_extrins": [30, 48], "modify_posit": [53, 99], "modul": [7, 98, 105, 126], "modular": 105, "module_nam": [0, 80], "moment": 132, "monitor": 93, "monoton": 93, "more": [0, 33, 64, 77, 80, 130, 134, 136], "most": [0, 77, 80], "mostli": 80, "move": [0, 18, 32, 50, 80], "move_all_stak": [0, 32, 50, 80], "move_stak": [0, 29, 47, 52, 80, 84, 89, 99, 109, 114, 144], "move_stake_extrins": [32, 50], "movement": [0, 80], "movestakeparam": 54, "moving_pric": [6, 10], "movingpric": 10, "msg": [0, 43, 46, 80, 128, 131], "much": [6, 77], "multi": 1, "multilin": 98, "multipl": [0, 1, 25, 77, 80, 103, 134, 136], "multipli": 18, "multiprocess": 136, "multisig": 100, "munch": 24, "must": [0, 16, 30, 34, 37, 38, 43, 48, 65, 67, 69, 70, 77, 79, 80, 128, 131, 133, 143], "mutat": 1, "mutual": [0, 80], "my_axon": 1, "my_config": 1, "my_liquidity_delta": [0, 80], "my_wallet": [0, 1, 80], "mycustomsynaps": 1, "mysynaps": [1, 93], "n": [77, 130, 131, 143], "n_block": [96, 118], "nai": 14, "name": [0, 1, 3, 10, 22, 25, 26, 33, 64, 77, 79, 80, 93, 94, 95, 96, 97, 99, 118, 123, 124, 125, 128, 141], "namedtupl": [98, 99, 101, 104, 128], "namespac": 24, "nanosecond": 120, "nanoseconds_in_second": 120, "nativ": 93, "natur": [0, 25, 77, 80], "ndarrai": [28, 34, 43, 45, 65, 67, 77, 94, 143], "nearest": 132, "necessari": [1, 25, 77, 93], "need": [0, 1, 22, 80, 93, 96, 105, 118], "neg": [0, 30, 48, 80], "nest": [10, 24], "netuid": [0, 1, 4, 6, 10, 11, 12, 16, 17, 20, 21, 25, 27, 28, 30, 31, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 55, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 73, 74, 75, 77, 80, 97, 99, 101, 103, 104, 121, 131, 132, 134, 136, 143], "network": [0, 1, 2, 4, 6, 7, 11, 12, 16, 21, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 41, 43, 44, 45, 46, 49, 64, 65, 66, 68, 73, 74, 75, 77, 78, 79, 80, 85, 93, 97, 98, 110, 131, 132, 134, 136, 138, 143, 144], "network_explorer_map": 78, "network_map": [78, 131], "network_registered_at": [6, 10, 77], "networkregisteredat": 10, "neural": 77, "neurip": 77, "neuron": [0, 1, 2, 7, 11, 12, 25, 26, 27, 31, 35, 36, 39, 43, 44, 46, 49, 66, 67, 68, 71, 75, 77, 80, 85, 93, 110, 143, 144], "neuron_for_uid": [0, 80, 87, 112], "neuron_incent": 77, "neuron_info": [0, 2, 7, 80, 144], "neuron_info_lit": [7, 144], "neuron_lit": 11, "neuron_rank": 77, "neuroninfo": [0, 11, 22, 77, 80], "neuroninfolit": [0, 11, 12, 22, 77, 80], "neurons_lit": [0, 80, 87, 112], "new": [0, 1, 10, 15, 22, 23, 24, 25, 33, 37, 64, 69, 77, 79, 80, 93, 94, 95, 97, 99, 131, 134, 136], "new_author": 99, "new_cap": 99, "new_coldkei": [15, 99], "new_end": 99, "new_fre": 99, "new_hotkei": 99, "new_limit": 99, "new_memb": 99, "new_min_contribut": 99, "newblockev": 136, "next": [0, 1, 80, 98, 99, 101, 103], "next_author": 99, "nich": 80, "nn": [2, 9, 25, 77], "no_error": [96, 118], "node": [0, 1, 77, 80, 85, 93, 96, 110, 118, 138], "nomin": [0, 4, 5, 26, 39, 71, 80], "nominationerror": 26, "non": [0, 1, 26, 27, 44, 93, 98, 131], "non_sudo_cal": [98, 144], "nonassociatedcoldkei": [0, 26, 27, 44, 80], "nonc": [0, 1, 33, 42, 55, 64, 74, 80, 93, 99, 120, 134, 136, 137], "nonce_kei": [0, 42, 74, 80], "nonce_start": 137, "none": [0, 1, 6, 10, 11, 12, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 57, 61, 62, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 85, 93, 94, 95, 96, 97, 103, 104, 110, 118, 120, 124, 125, 128, 131, 134, 136, 137, 141, 143], "nontorchmetagraph": 77, "normal": 143, "normalize_max_weight": 143, "notdelegateerror": 26, "note": [30, 35, 48, 66, 96, 98, 118, 133], "note_preimag": 99, "note_stal": 99, "notenoughstaketosetchildkei": [0, 26, 27, 44], "notic": 121, "notregisterederror": 26, "notverifiedexcept": 26, "now": [0, 1, 77, 80, 93, 99], "np": [34, 43, 65, 67, 94, 143], "null": [0, 11, 12, 80], "null_entri": 95, "num": 130, "num_neuron": 143, "num_proc": 136, "num_process": [0, 33, 64, 80, 134, 136], "num_uid": [10, 77], "number": [0, 1, 2, 13, 15, 18, 22, 23, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 93, 95, 96, 110, 118, 121, 130, 131, 134, 136, 137, 143], "numer": 1, "numpi": [0, 28, 31, 45, 49, 75, 77, 80, 94, 136, 137, 143], "numpyortorch": 77, "numuid": 10, "o": 0, "obj": [93, 104], "object": [0, 1, 2, 6, 8, 9, 10, 12, 16, 17, 21, 22, 25, 32, 33, 34, 35, 36, 40, 41, 42, 43, 64, 65, 66, 67, 68, 72, 73, 74, 75, 77, 79, 80, 85, 93, 94, 95, 97, 104, 110, 121, 128, 131], "obtain": 16, "occur": [0, 1, 25, 80], "off": [25, 128, 131], "offer": [0, 1, 25, 80], "offlin": [1, 77], "often": 77, "old": [0, 15, 80, 85, 110], "old_bal": 36, "old_coldkei": [15, 99], "old_count": 99, "older": 129, "oldest_round": 99, "omit": 124, "on_error": 0, "onc": [0, 80], "one": [0, 1, 24, 25, 32, 35, 50, 66, 77, 80, 94, 95, 97, 103, 124], "ongo": 1, "onli": [0, 1, 25, 77, 79, 80, 85, 93, 94, 96, 110, 118, 128], "op": [0, 80], "open": 25, "opentensor": 78, "oper": [0, 1, 16, 18, 25, 26, 27, 41, 44, 73, 77, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 93, 98, 103, 106, 107, 108, 109, 111, 112, 113, 114, 115, 117, 121, 136, 143], "optim": 93, "option": [0, 1, 10, 11, 12, 15, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 93, 94, 95, 96, 97, 103, 105, 110, 118, 120, 121, 124, 128, 131, 133, 136, 138, 141, 143], "order": [93, 97], "org": [0, 78, 80], "origin": [1, 32, 80, 93, 124], "origin_coldkey_ss58": [0, 80], "origin_hotkei": [0, 32, 50, 80, 99], "origin_hotkey_ss58": [0, 54, 80], "origin_netuid": [0, 32, 50, 54, 80, 99], "origin_pool": 54, "origin_pric": [0, 80], "origin_subnet_pric": [0, 80], "other": [0, 1, 11, 24, 25, 77, 80, 85, 93, 95, 110, 125], "other_signatori": 99, "otherwis": [0, 25, 31, 32, 33, 35, 38, 41, 42, 43, 46, 49, 50, 64, 66, 70, 73, 74, 80, 93, 95, 131], "our": 95, "out": 1, "outcom": 93, "outlin": 77, "output": [1, 33, 64, 136], "output_in_plac": [0, 33, 64, 80, 134, 136], "over": [0, 4, 5, 25, 77, 93, 136], "overal": [0, 80], "overflow": 26, "overhead": 77, "overload": 93, "overrid": [1, 93, 97, 124, 131], "overridden": [93, 136], "overview": [0, 80], "overwritten": [98, 99, 101], "own": [0, 26, 27, 44, 77, 80, 93], "owner": [0, 4, 5, 41, 50, 73, 80, 103], "owner_coldkei": [6, 10, 77], "owner_hotkei": [6, 10, 77], "owner_ss58": [4, 5, 20], "ownercoldkei": 10, "ownerhotkei": [0, 10, 80], "ownership": [0, 50, 80], "pack": 136, "packag": [93, 105, 128, 138, 142], "page": [99, 144], "pair": [0, 17, 50, 80, 93, 94, 97, 131], "pallet": [98, 99, 101, 104, 141, 144], "paper": 77, "param": [0, 25, 47, 80, 121, 129, 131, 141, 143, 144], "param_nam": [0, 24, 80], "paramet": [0, 1, 2, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 103, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 122, 124, 127, 128, 129, 130, 131, 132, 133, 134, 136, 137, 138, 141, 142, 143], "parameter_dict": [2, 9], "parameterdict": [2, 9], "params_dict": 0, "params_encod": 141, "params_list": 0, "paramwithtyp": [0, 80, 97], "parent": [0, 26, 27, 44, 79, 80], "parentkei": [0, 80], "pars": [1, 16, 25, 26, 79, 93, 94, 96, 104, 118], "parse_headers_to_input": 93, "parser": [1, 24, 85, 95, 97, 110, 128], "part": [0, 1, 6, 77, 80, 93], "parti": 128, "partial": [0, 32, 36, 41, 50, 68, 73, 80], "partial_meta_info": [0, 80], "particip": [0, 1, 36, 68, 77, 80], "particular": [0, 4, 74, 80], "particularli": [0, 77, 80, 93], "pass": [0, 1, 25, 30, 31, 34, 41, 43, 48, 49, 65, 67, 73, 75, 79, 80, 95, 96, 110, 118, 131, 143], "password": [0, 27, 44, 80, 131], "passworderror": [0, 27, 44, 80, 131], "past": [0, 77], "path": [1, 77], "pattern": 0, "payload": [1, 93, 138], "peer": 77, "penalti": [0, 80], "pend": [0, 80, 95], "pending_alpha_emiss": [6, 10], "pending_root_emiss": [6, 10], "pendingalphaemiss": 10, "pendingchildkei": [0, 80], "pendingrootemiss": 10, "per": [0, 1, 4, 5, 18, 33, 64, 77, 80, 134, 136, 137], "perceiv": 80, "percentag": [0, 4, 5, 6, 36, 39, 41, 68, 71, 73, 80], "perform": [0, 1, 25, 77, 80, 93, 121, 128], "period": [0, 18, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 99, 103], "permit": [0, 11, 12, 26, 77, 80], "persist": 77, "person": [96, 118], "pickl": [77, 96, 118], "piec": 25, "ping": 25, "pipaddress": 78, "pipelin": 1, "pivot": [1, 77, 93], "place": [0, 1, 15, 25, 77, 80, 105, 134, 136], "placehold": [35, 66, 125], "placeholder1": [2, 35, 57, 66, 97, 99], "placeholder2": [2, 35, 57, 66, 97, 99], "plai": [1, 77, 93], "plan": [0, 80], "point": [0, 77, 80, 121], "poke_deposit": 99, "pool": [0, 1, 6, 10, 30, 48, 58, 62, 77, 80], "popul": [0, 11, 80], "port": [1, 2, 13, 35, 57, 66, 93, 97, 99, 133], "portal": [33, 64], "portion": 16, "posit": [0, 1, 30, 38, 48, 70, 79, 80, 93, 94, 132], "position_id": [0, 30, 48, 53, 80, 99], "possibl": 97, "post": 25, "postprocess": 1, "postprocessexcept": 26, "potenti": [0, 1, 31, 38, 42, 43, 46, 49, 70, 74, 77, 80], "pow": [26, 33, 64, 121, 134, 135, 137, 144], "pow_registration_allow": 10, "power": [96, 118], "powregistrationallow": 10, "powsolut": [134, 136], "practic": [77, 98], "pre": 98, "preced": 97, "precis": 132, "precompile_id": 101, "predefin": 1, "prefix": [1, 93, 95, 97, 99, 128], "preimag": 100, "prepar": [0, 80, 128, 138], "prepare_synaps": 138, "prepare_synapse_fn": 138, "prepend": 97, "preprocess": [1, 25], "preprocess_synapse_for_request": 25, "presenc": [0, 1, 80], "present": [0, 10, 80, 93], "preserv": 93, "presum": [0, 80, 85, 110], "prevent": [0, 1, 25, 80, 136], "previou": [1, 74, 77], "previous": [0, 80], "price": [0, 6, 30, 32, 36, 41, 48, 50, 68, 73, 80, 132], "price_high": [0, 30, 48, 53, 80, 132], "price_low": [0, 30, 48, 53, 80, 132], "price_step": 132, "price_to_tick": 132, "primari": [33, 64, 93, 105, 128], "primarili": [77, 98], "prime": 99, "principl": 77, "print": [0, 1, 24, 25, 80, 85, 93, 97, 110, 134, 136], "prior": [36, 93], "priorit": 1, "prioriti": [1, 26, 95, 99], "prioritize_my_synaps": 1, "prioritize_my_synapse_2": 1, "priority_custom": 1, "priority_fn": 1, "priorityexcept": 26, "prioritythreadpoolexecutor": [24, 95], "privat": 1, "privileg": [0, 80], "problem": [0, 136, 137], "proc_num": 136, "proce": 1, "process": [0, 1, 10, 16, 18, 22, 25, 30, 33, 36, 37, 48, 64, 68, 69, 77, 79, 80, 93, 94, 96, 110, 118, 128, 134, 136, 138, 142, 143], "process_error_messag": 25, "process_nest": 10, "process_respons": 138, "process_responses_fn": 138, "process_server_respons": 25, "process_stake_data": 22, "process_streaming_respons": 79, "process_tim": 93, "process_weight": 143, "process_weights_for_netuid": 143, "processing_dur": 93, "processor": 1, "produc": 93, "program": 1, "progress": [0, 80, 134, 136], "prohibit": [0, 1, 80], "project": [105, 124, 126, 129], "prolifer": [0, 80], "prometheu": [11, 12, 13, 97], "prometheus_info": [7, 11, 12, 144], "prometheusinfo": [11, 12, 13], "prometheusservecallparam": 97, "promptli": 1, "proof": [0, 33, 64, 80, 134, 136, 137], "propag": 77, "proper": [25, 43, 46, 77, 93], "properli": [1, 25], "properti": [0, 2, 25, 77, 80, 85, 93, 95, 103, 110, 121], "proport": [0, 26, 27, 44, 77, 80], "proportionoverflow": [0, 26, 27, 44], "propos": [0, 14, 80, 99], "proposal_dict": 14, "proposal_hash": [0, 80, 99], "proposal_vote_data": [7, 144], "proposal_weight_bound": 99, "proposalvotedata": [0, 14, 80], "protect": [0, 32, 50, 77, 80], "protocol": [1, 2, 9, 35, 57, 66, 93, 97, 99], "provid": [0, 1, 7, 10, 11, 16, 22, 25, 27, 28, 31, 33, 38, 43, 44, 45, 46, 49, 61, 64, 70, 74, 75, 77, 79, 80, 85, 93, 96, 97, 98, 110, 118, 121, 125, 126, 128, 131, 132, 134, 136, 137, 139, 141, 143], "provis": 132, "proxi": [99, 100, 136], "proxy_announc": 99, "proxy_typ": 99, "prune": [11, 12], "pruning_scor": [10, 11, 12, 21, 77], "pruningscor": 10, "public": [0, 1, 40, 72, 77, 80], "publish": [0, 35, 66, 80, 128], "publish_metadata": [0, 35, 66, 80], "pulses_payload": 99, "punit": [0, 80], "purpos": 0, "put": 136, "pydant": [79, 93, 94], "pydantic_cor": [79, 93, 94], "pypi": [78, 142], "python": [96, 118], "pytorch": [77, 143], "pyvalueerror": [96, 118], "qualiti": 0, "quantil": 143, "queri": [0, 23, 25, 26, 66, 77, 80, 85, 93, 110, 138, 144], "query_api": 138, "query_const": [0, 80, 88, 113], "query_ident": [0, 80, 87, 112], "query_map": [0, 80, 88, 113], "query_map_subtensor": [0, 80, 88, 113], "query_modul": [0, 80, 88, 113], "query_respons": [0, 80], "query_runtime_api": [0, 80, 88, 113], "query_subtensor": [0, 80, 88, 113], "querymapresult": [22, 80], "queue": [1, 95, 128, 136], "queuehandl": 128, "queuelisten": 128, "quick": [0, 80, 93], "quicker": 77, "quicknet": [96, 118], "quot": 132, "r": 77, "rais": [0, 1, 2, 22, 24, 25, 26, 27, 31, 35, 36, 38, 39, 42, 44, 49, 66, 68, 70, 71, 74, 75, 77, 79, 80, 93, 94, 95, 96, 118, 131, 133, 134, 136, 142], "raise_error": [0, 27, 31, 38, 39, 42, 44, 49, 70, 71, 74, 75, 80, 103, 131], "randomli": [0, 31, 49, 75, 80], "rang": [0, 1, 30, 48, 80, 132, 133], "rank": [0, 1, 10, 11, 12, 21, 77, 80], "rao": [0, 22, 42, 74, 80, 121], "rao_recycl": 101, "rao_symbol": 78, "rao_unit": 121, "raopertao": 131, "rate": [0, 11, 18, 26, 27, 44, 77, 80, 99], "rate_limit": 101, "rate_toler": [0, 32, 36, 41, 50, 54, 58, 62, 68, 73, 80], "rather": [0, 25, 27, 31, 38, 42, 44, 49, 70, 74, 75, 80, 93], "ratio": [0, 32, 38, 41, 50, 70, 73, 80], "raw": [93, 94, 141], "raw0": [35, 66], "re": [0, 80, 93], "reach": [0, 26, 80, 96, 103, 118], "read": 93, "read_onli": 78, "readabl": [1, 130, 131], "readi": [1, 79], "real": [0, 80, 99], "realli": 1, "realloc": [0, 80], "reap": [0, 80], "receiv": [0, 1, 6, 25, 77, 80, 93], "received_head": 93, "receiver_hotkei": 1, "recent": [0, 80, 129], "recipi": [40, 72], "reclaim": 95, "recogn": 80, "recommend": [25, 93], "recomput": 1, "reconstitut": 77, "reconstruct": [1, 93], "record": [0, 30, 48, 77, 80, 124], "record_log": 128, "recreate_calls_subpackag": [98, 99, 101], "recurs": 93, "recycl": [0, 33, 64, 80, 90, 115], "recycle_alpha": 99, "recycle_or_burn": 101, "redeploi": 1, "reduc": [0, 77, 80], "refer": [0, 77, 80, 98, 99, 101, 145], "reflect": [0, 77, 80], "refund": 99, "refus": 0, "regardless": [40, 72], "regener": [98, 99, 101], "regist": [0, 1, 4, 5, 26, 27, 33, 34, 44, 55, 64, 65, 80, 84, 99, 109, 115, 128, 134, 136], "register_cuda": [135, 144], "register_extrins": [33, 64], "register_leased_network": 99, "register_network": [55, 99], "register_network_with_ident": 99, "register_neuron": 104, "register_primary_logg": 128, "register_subnet": [0, 80, 84, 90, 104, 109, 115], "register_subnet_extrins": [33, 64], "registerneuron": 104, "registersubnet": 104, "registr": [0, 1, 2, 4, 5, 9, 18, 25, 26, 28, 29, 45, 47, 52, 77, 80, 94, 131, 143, 144], "registration_allow": [10, 18, 101], "registrationallow": 10, "registrationerror": 26, "registrationnotpermittedonrootsubnet": [0, 26, 27, 44], "registrationparam": 55, "registrationstatist": 136, "registrationstatisticslogg": 136, "registri": [7, 100], "reject": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80], "reject_announc": 99, "rel": [38, 70], "relat": [0, 11, 13, 16, 26, 33, 64, 80], "relationship": [0, 77, 80], "releas": [1, 25, 77], "release_deposit": 99, "relev": [0, 1, 2, 27, 31, 38, 42, 44, 49, 70, 74, 75, 80], "reli": [1, 98], "reliabl": [1, 77, 93], "relianc": 1, "reload": 77, "remain": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80], "remark": 99, "remark_with_ev": 99, "remov": [0, 1, 30, 41, 48, 73, 80, 99, 128], "remove_announc": 99, "remove_kei": 99, "remove_liquid": [0, 53, 80, 84, 99, 109], "remove_liquidity_extrins": [30, 48], "remove_memb": 99, "remove_proxi": 99, "remove_stak": [62, 99], "remove_stake_full_limit": [62, 99], "remove_stake_limit": [62, 99], "replac": 124, "replai": 1, "replic": 93, "report_equivoc": 99, "report_equivocation_unsign": 99, "repositori": [0, 33, 64, 80], "repr": 131, "repres": [0, 1, 2, 4, 6, 9, 11, 12, 13, 15, 16, 17, 18, 23, 25, 35, 42, 66, 74, 77, 80, 93, 94, 95, 98, 99, 101, 121], "represent": [0, 1, 2, 25, 35, 66, 77, 93, 97, 121, 133, 141, 143], "reput": 77, "request": [0, 1, 25, 26, 27, 35, 44, 66, 80, 85, 93, 110, 142], "request_nam": 25, "request_preimag": 99, "requestresponseendpoint": 1, "requir": [0, 1, 26, 35, 43, 46, 66, 77, 79, 80, 93], "required_hash_field": 93, "reserv": 2, "reset": [0, 18, 35, 66, 80, 137], "reset_bond": [35, 66], "reset_cuda": 137, "reset_memb": 99, "resourc": [0, 1, 25, 77, 80, 95, 98], "respect": [16, 77], "respond": 1, "respons": [0, 1, 25, 26, 33, 34, 35, 36, 40, 64, 65, 66, 67, 68, 72, 77, 79, 85, 93, 103, 110, 131, 138], "response_overrid": 1, "restart": 77, "restor": 77, "restrict": [0, 80], "result": [0, 1, 16, 28, 45, 75, 80, 93, 124, 131, 138, 141], "retent": [61, 131], "retri": [0, 80, 85, 99, 110], "retriev": [0, 1, 74, 77, 79, 80, 142], "retry_forev": [0, 80, 85, 110], "return": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 17, 22, 23, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 85, 93, 94, 95, 96, 97, 103, 104, 110, 118, 120, 121, 124, 125, 128, 131, 132, 133, 134, 136, 137, 138, 141, 142, 143], "return_per_1000": [4, 5], "return_str": [96, 118], "reus": [0, 1, 25, 80], "reuse_block": [0, 35, 80], "reveal": [0, 18, 22, 23, 28, 31, 43, 45, 46, 49, 75, 80, 96, 118], "reveal_mechanism_weight": [63, 99], "reveal_mechanism_weights_extrins": [31, 49], "reveal_round": [0, 23, 63, 80, 96, 99, 118], "reveal_weight": [0, 80, 84, 99, 109], "reveal_weights_extrins": [43, 46, 75], "revel": [0, 80, 96, 118], "revers": 131, "reverse_network_map": 78, "reward": [0, 39, 71, 77, 80], "rfc": 124, "rho": [10, 18, 20, 101], "robust": 93, "role": [0, 1, 77, 80, 93], "root": [0, 26, 27, 29, 44, 47, 52, 77, 80, 85, 91, 93, 110, 116, 125, 143, 144], "root_dir": 77, "root_dissolve_network": 99, "root_regist": [0, 56, 57, 80, 84, 99, 109], "root_register_extrins": [34, 65], "root_set_pending_childkey_cooldown": [0, 80, 84, 109], "root_set_pending_childkey_cooldown_extrins": [27, 44], "root_set_weight": [0, 80, 84], "root_tao_stake_weight": 78, "rootparam": 56, "round": [0, 23, 80, 96, 118], "round_numb": 23, "rounds_tot": 136, "rout": 93, "router": [1, 133], "row": [77, 143], "row_bond": 143, "row_weight": 143, "rpc": [0, 7, 80], "rule": [0, 1, 80], "run": [0, 1, 80, 93, 95, 98, 99, 101, 131, 134, 136], "run_async": 25, "run_in_thread": 1, "runexcept": 26, "runtim": [0, 1, 77, 80], "runtime_api": [0, 80], "runtime_config": 141, "runtimeconfigurationobject": 141, "runtimeerror": 77, "s0": 124, "s39": 124, "safe": [0, 25, 58, 80, 93, 95, 136], "safe_glob": 77, "safe_stak": [0, 32, 36, 41, 50, 68, 73, 80], "safemod": 100, "safeti": [0, 32, 36, 41, 50, 68, 73, 80], "salt": [0, 31, 43, 46, 49, 63, 75, 80, 97, 99, 143], "salts_list": 99, "same": [0, 1, 24, 27, 44, 50, 80, 93, 96, 118, 134, 136], "sanit": 93, "save": [77, 98, 124, 142], "scalabl": [0, 1, 80], "scale": [0, 7, 22, 80], "scale_typ": 141, "scalebyt": [22, 141], "scalecodec": [0, 22, 42, 74, 80, 121, 141], "scaleobj": [0, 80], "scaletyp": [121, 141], "scaling_law_pow": 20, "scenario": [1, 25, 98, 99, 101], "schedul": [15, 95, 99, 100], "schedule_aft": 99, "schedule_grandpa_chang": 99, "schedule_nam": 99, "schedule_named_aft": 99, "schedule_swap_coldkei": 99, "scheduled_coldkey_swap_info": [7, 144], "scheduledcoldkeyswapinfo": [15, 22], "schema": 93, "score": [11, 12, 77], "seal": [136, 137], "seamless": [1, 129], "seamlessli": 1, "search": 74, "second": [0, 6, 25, 27, 28, 31, 33, 44, 45, 49, 64, 75, 80, 85, 96, 110, 118, 120, 138, 142], "secur": [0, 1, 77, 80, 93], "see": [0, 24, 26, 80, 94, 95, 97, 121, 131, 133, 142], "seen": [1, 93], "select": [0, 80], "selective_metagraph_commitments_offset": 10, "selectivemetagraphindex": [0, 10, 80], "self": [0, 1, 24, 25, 26, 79, 93, 94, 95, 97, 121, 131, 133, 142], "senat": [0, 14, 80], "senatememb": 100, "send": [25, 33, 64, 77, 79, 93], "sender": 1, "sensit": [0, 77, 80, 93], "sent": [1, 25, 79, 93], "separ": [1, 93, 105, 128], "sequenti": 25, "serial": [1, 23, 77, 93, 94], "serialized_data": 93, "serv": [0, 1, 2, 29, 47, 52, 77, 80, 93, 97, 98, 144], "serve_axon": [0, 80, 84, 99, 109], "serve_axon_and_tl": 57, "serve_axon_extrins": [35, 66], "serve_axon_tl": 99, "serve_extrins": [35, 66], "serve_prometheu": 99, "server": [1, 25, 26, 33, 64, 79], "server_respons": 25, "servic": [1, 18, 35, 66], "serving_rate_limit": [10, 18, 101], "servingparam": 57, "servingratelimit": 10, "session": [25, 77], "set": [0, 1, 2, 16, 24, 25, 26, 27, 31, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 49, 64, 65, 66, 67, 68, 70, 71, 72, 73, 75, 76, 77, 80, 93, 96, 97, 99, 103, 118, 121, 127, 128, 129, 136, 143, 144], "set_auto_stak": 114, "set_auto_stake_extrins": 58, "set_base_fee_per_ga": 99, "set_beacon_config": 99, "set_childkey_tak": 99, "set_children": [0, 51, 80, 84, 99, 109, 117], "set_children_extrins": [27, 44], "set_cod": 99, "set_code_without_check": 99, "set_coldkey_auto_stake_hotkei": [58, 99], "set_commit": [0, 57, 80, 82, 99, 107, 109], "set_config": 128, "set_consol": 128, "set_debug": 128, "set_default": 128, "set_delegate_tak": [0, 80, 83, 108], "set_elast": 99, "set_fee_r": 99, "set_heap_pag": 99, "set_hyperparamet": 103, "set_ident": 99, "set_info": 128, "set_kei": 99, "set_max_spac": 99, "set_mechanism_weight": [63, 99], "set_mechanism_weights_extrins": [31, 49], "set_memb": 99, "set_name_typ": 93, "set_oldest_stored_round": 99, "set_pending_childkey_cooldown": [51, 99], "set_prim": 99, "set_retri": 99, "set_retry_nam": 99, "set_reveal_commit": [0, 80, 82, 107], "set_root_weights_extrins": [34, 65], "set_storag": 99, "set_subnet_ident": [0, 55, 80, 84, 90, 99, 109, 115], "set_subnet_identity_extrins": [33, 64], "set_trac": [124, 128], "set_unit": 121, "set_warn": 128, "set_weight": [0, 47, 80, 84, 99, 109, 144], "set_weights_extrins": [43, 67, 75], "set_whitelist": 99, "setlevel": 128, "setup": [0, 1, 80], "setup_config": [85, 97, 110], "sever": [1, 95, 139], "sgvsbg8gv29ybgq": 93, "sha256": [35, 66], "sha3": 93, "shape": 94, "share": [0, 38, 70, 77, 121, 136], "shorter": [38, 70], "should": [0, 1, 25, 33, 35, 64, 66, 77, 79, 80, 93, 94, 134, 136], "should_exit": 1, "should_sync": 77, "show": [98, 131], "shut": 1, "shutdown": [1, 95, 110], "side": 1, "sign": [0, 1, 25, 30, 33, 37, 39, 42, 48, 64, 69, 71, 74, 77, 80], "sign_and_send_extrins": [0, 80, 85, 110], "sign_with": [0, 42, 74, 80], "signal": [1, 25], "signatur": [1, 24, 26, 79, 93, 94, 95, 97, 99, 121, 131, 133, 142], "signifi": 77, "signific": [0, 80], "significantli": 98, "silent": 25, "sim_swap": [7, 114, 144], "similar": [0, 25, 77, 80, 85, 110], "simpl": [93, 141], "simpli": 93, "simplifi": [0, 77, 80], "simswapresult": 16, "simul": [0, 16, 80], "sinc": [0, 80], "singl": [0, 25, 80, 141], "size": [77, 93], "skip": 125, "slippag": 6, "sn": [42, 74], "sn_netuid": 103, "snapshot": [0, 77, 80], "so": [93, 143], "softwar": 77, "solut": [26, 134, 136, 137], "solution_queu": 136, "solv": [0, 33, 64, 80, 134, 136, 137], "solve_cuda": 137, "solver": [26, 136], "some": [0, 18, 80, 85, 110], "some_hotkei": 80, "some_hotkey_where_is_your_stake_now": [0, 80], "someconst": 0, "someth": 1, "sort": 1, "sourc": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 43, 44, 45, 46, 48, 50, 64, 65, 66, 67, 68, 69, 71, 72, 73, 74, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 99, 120, 121, 122, 124, 125, 128, 129, 130, 131, 132, 133, 134, 136, 137, 138, 139, 141, 143], "spam": 1, "spawner": 99, "spec": [99, 100, 101], "special": [1, 77, 79, 124], "specif": [0, 1, 4, 16, 31, 43, 46, 49, 75, 77, 79, 80, 85, 93, 95, 96, 110, 118, 128, 129, 138], "specifi": [0, 1, 16, 22, 25, 30, 35, 36, 41, 48, 66, 68, 73, 74, 77, 80, 93, 124, 128, 131, 141], "specul": 77, "sphinx": 144, "split": [0, 38, 70, 80], "split_command": 104, "ss58": [0, 4, 17, 22, 23, 27, 32, 36, 39, 41, 44, 50, 61, 68, 71, 73, 74, 80, 131], "ss58_address": [0, 40, 72, 80, 131, 143], "ss58_address_length": 78, "ss58_address_to_byt": 131, "ss58_decod": 131, "ss58_format": 78, "ss58_to_vec_u8": 131, "stabil": [0, 77, 80], "stabl": 1, "stacklevel": 128, "stage": 1, "stake": [0, 4, 6, 11, 12, 17, 22, 26, 27, 29, 30, 32, 40, 41, 44, 47, 48, 50, 52, 72, 73, 74, 77, 80, 85, 110, 144], "stake_data": 22, "stake_dict": [11, 12], "stake_info": [7, 144], "stakeerror": 26, "stakeinfo": [0, 17, 22, 74, 80], "staker": 6, "stakingparam": 58, "stale": [0, 136], "standard": [0, 77, 80, 93, 97, 126], "starlett": [1, 79], "start": [0, 1, 18, 37, 69, 80, 93, 128, 136, 137], "start_cal": [0, 29, 47, 52, 80, 84, 85, 99, 109, 110, 115, 144], "start_call_extrins": [37, 69], "start_tim": 1, "startcallparam": 59, "stat": 136, "state": [0, 1, 6, 21, 25, 77, 80, 81, 93, 106, 124, 128, 141], "state_cal": [0, 80, 81, 106], "state_dict": 77, "statemachin": 128, "static": [10, 11, 12, 77, 94, 97, 121, 136], "statist": 136, "statu": [0, 1, 11, 25, 39, 71, 77, 80, 93, 128, 131, 136], "status_cod": [1, 93], "status_messag": 93, "stdout": [1, 97], "steep": 101, "step": [0, 1, 80, 103, 104], "stop": [1, 128, 136], "stopev": 136, "storag": [0, 23, 80, 131, 139, 140, 144], "storage_funct": 141, "storage_index": 131, "storagefunctionnotfound": 26, "storagekei": 141, "store": [77, 93, 121, 136, 141], "str": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 17, 19, 20, 21, 22, 23, 24, 25, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 66, 68, 69, 70, 71, 72, 73, 74, 77, 78, 80, 85, 93, 94, 95, 96, 97, 103, 110, 118, 121, 122, 124, 125, 128, 131, 132, 133, 136, 137, 141, 142, 143], "str_val": 133, "strateg": [0, 80], "stream": [25, 76, 128, 144], "stream_respons": 79, "streamer": 79, "streamingrespons": 79, "streamingsynaps": [1, 25, 79], "streamlin": [0, 80, 98], "strict": [24, 131], "string": [0, 2, 9, 12, 22, 23, 25, 31, 38, 42, 43, 46, 49, 70, 74, 77, 80, 93, 94, 96, 97, 98, 118, 121, 124, 131, 133, 141], "stronger": 77, "strtobool": 131, "struct": [96, 118], "structur": [0, 2, 7, 10, 22, 77, 79, 80, 93, 98, 105], "style": 124, "sub": [31, 49, 75, 78, 105, 126, 136], "subclass": [79, 93], "subkei": 99, "submetagraph": 131, "submiss": [0, 30, 37, 48, 69, 80], "submit": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 95], "subnet": [0, 1, 2, 4, 5, 7, 9, 18, 19, 20, 25, 26, 30, 31, 32, 33, 34, 36, 37, 38, 41, 43, 46, 48, 49, 50, 64, 65, 67, 68, 69, 70, 73, 75, 77, 80, 85, 102, 110, 121, 131, 132, 134, 136, 143, 144], "subnet_contact": [19, 33, 55, 64, 99], "subnet_emiss": 10, "subnet_exist": [0, 80, 90, 115], "subnet_hyperparamet": [7, 144], "subnet_ident": [0, 6, 7, 10, 80, 144], "subnet_info": [7, 144], "subnet_is_act": 18, "subnet_nam": [6, 19, 33, 55, 64, 99], "subnet_owner_cut": 101, "subnet_st": [7, 144], "subnet_url": [19, 33, 55, 64, 99], "subnet_volum": [6, 10], "subnetemiss": 10, "subnethyperparamet": [0, 18, 22, 80], "subnetident": [0, 6, 10, 19, 22, 77, 80], "subnetinfo": [0, 20, 22, 80], "subnetnotexist": 26, "subnetrevealperiodepoch": [0, 80], "subnetsapi": 138, "subnetst": [21, 22], "subnetvolum": 10, "subnetwork": [0, 21, 33, 64, 80], "subnetwork_n": [0, 20, 80, 90, 115], "subnetworkdoesnotexist": [0, 27, 44], "subnetworkn": [0, 80], "subscrib": [0, 26, 35, 66, 80], "subsequ": [1, 24, 25], "subset": [0, 80], "substrat": [0, 80, 85, 98, 99, 101, 110, 139, 141], "substrate_util": [131, 144], "substraterequestexcept": [0, 26, 36, 68, 80, 131], "subtensor": [0, 1, 23, 24, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 97, 98, 99, 100, 101, 103, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 129, 131, 134, 136, 143, 144], "subtensor_api": [76, 105, 144], "subtensor_field": [91, 116], "subtensorapi": [85, 91, 103, 110, 116], "subtensorinterfac": [36, 68], "subtensormixin": [0, 80, 97], "subtensormodul": [0, 80, 100], "subtoken_en": 101, "subvortex": 78, "subvortex_entrypoint": 78, "succeed": [0, 41, 73, 80, 93], "success": [0, 1, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 80, 93, 122, 128, 131], "success_level_num": 124, "successfulli": [0, 30, 31, 35, 37, 38, 42, 48, 49, 66, 69, 70, 74, 80], "sudo": [29, 42, 47, 74, 98, 99, 100, 101, 104, 144], "sudo_a": 101, "sudo_cal": [98, 103, 144], "sudo_call_extrins": [42, 74], "sudo_or_owner_wallet": 103, "sudo_set_activity_cutoff": 101, "sudo_set_adjustment_alpha": 101, "sudo_set_adjustment_interv": 101, "sudo_set_admin_freeze_window": 101, "sudo_set_admin_freeze_window_extrins": [38, 70], "sudo_set_alpha_sigmoid_steep": 101, "sudo_set_alpha_valu": 101, "sudo_set_bonds_moving_averag": 101, "sudo_set_bonds_penalti": 101, "sudo_set_bonds_reset_en": 101, "sudo_set_ck_burn": 101, "sudo_set_coldkey_swap_schedule_dur": 101, "sudo_set_commit_reveal_vers": 101, "sudo_set_commit_reveal_weights_en": 101, "sudo_set_commit_reveal_weights_interv": 101, "sudo_set_default_tak": 101, "sudo_set_difficulti": 101, "sudo_set_dissolve_network_schedule_dur": 101, "sudo_set_ema_price_halving_period": 101, "sudo_set_evm_chain_id": 101, "sudo_set_immunity_period": 101, "sudo_set_kappa": 101, "sudo_set_liquid_alpha_en": 101, "sudo_set_lock_reduction_interv": 101, "sudo_set_max_allowed_uid": 101, "sudo_set_max_allowed_valid": 101, "sudo_set_max_burn": 101, "sudo_set_max_childkey_tak": 101, "sudo_set_max_difficulti": 101, "sudo_set_max_registrations_per_block": 101, "sudo_set_max_weight_limit": 101, "sudo_set_mechanism_count": 101, "sudo_set_mechanism_count_extrins": [38, 70], "sudo_set_mechanism_emission_split": 101, "sudo_set_mechanism_emission_split_extrins": [38, 70], "sudo_set_min_allowed_uid": 101, "sudo_set_min_allowed_weight": 101, "sudo_set_min_burn": 101, "sudo_set_min_childkey_tak": 101, "sudo_set_min_delegate_tak": 101, "sudo_set_min_difficulti": 101, "sudo_set_network_immunity_period": 101, "sudo_set_network_min_lock_cost": 101, "sudo_set_network_pow_registration_allow": 101, "sudo_set_network_rate_limit": 101, "sudo_set_network_registration_allow": 101, "sudo_set_nominator_min_required_stak": 101, "sudo_set_owner_hparam_rate_limit": 101, "sudo_set_owner_immune_neuron_limit": 101, "sudo_set_rao_recycl": 101, "sudo_set_recycle_or_burn": 101, "sudo_set_rho": 101, "sudo_set_serving_rate_limit": 101, "sudo_set_sn_owner_hotkei": 101, "sudo_set_stake_threshold": 101, "sudo_set_subnet_limit": 101, "sudo_set_subnet_moving_alpha": 101, "sudo_set_subnet_owner_cut": 101, "sudo_set_subnet_owner_hotkei": 101, "sudo_set_subtoken_en": 101, "sudo_set_target_registrations_per_interv": 101, "sudo_set_tempo": 101, "sudo_set_toggle_transf": 101, "sudo_set_total_issu": 101, "sudo_set_tx_childkey_take_rate_limit": 101, "sudo_set_tx_delegate_take_rate_limit": 101, "sudo_set_tx_rate_limit": 101, "sudo_set_weights_set_rate_limit": 101, "sudo_set_weights_version_kei": 101, "sudo_set_yuma3_en": 101, "sudo_toggle_evm_precompil": 101, "sudo_trim_to_max_allowed_uid": 101, "sudo_unchecked_weight": 101, "suffici": [0, 80], "suffix": [128, 130], "suggest": 77, "suitabl": 93, "sum": [0, 27, 38, 44, 70, 77, 93, 143], "superclass": 93, "suppli": 77, "support": [0, 1, 24, 80, 121], "supress": 131, "sure": [96, 118], "swap": [0, 15, 16, 32, 50, 80, 100], "swap_author": 99, "swap_coldkei": 99, "swap_cost": 99, "swap_hotkei": 99, "swap_memb": 99, "swap_stak": [0, 54, 80, 84, 99, 109, 114], "swap_stake_extrins": [32, 50], "swap_stake_limit": [54, 99], "sy": 131, "symbol": [6, 10, 77, 99, 121], "synaps": [1, 25, 26, 76, 79, 120, 129, 138, 144], "synapse_dict": 93, "synapse_histori": 25, "synapse_nonc": 120, "synapse_timeout": 120, "synapse_to_respons": 1, "synapsedendritenoneexcept": 26, "synapseexcept": 26, "synapseparsingerror": 26, "sync": [0, 43, 45, 46, 67, 75, 77, 80, 85, 103, 110], "sync_substr": [22, 80], "synchron": [0, 25, 77, 80, 103, 136], "system": [0, 25, 77, 80, 98, 99, 100, 101, 125, 128, 129, 136], "t": [0, 1, 8, 24, 26, 27, 44, 77, 80, 128, 131], "tailor": [1, 93], "take": [0, 1, 4, 5, 15, 26, 29, 47, 52, 79, 80, 99, 101, 144], "takeerror": 26, "taken": [93, 98, 99, 101], "takeparam": 60, "tamper": [0, 1, 80, 93], "tao": [0, 4, 5, 6, 10, 16, 30, 33, 36, 41, 48, 61, 64, 68, 73, 77, 80, 121, 131, 132], "tao_amount": 16, "tao_dividends_per_hotkei": [10, 77], "tao_fe": 16, "tao_fees_above_high": 132, "tao_fees_below_low": 132, "tao_in": [6, 10], "tao_in_emiss": [6, 10], "tao_slippag": 6, "tao_stak": [10, 21, 77], "tao_symbol": 78, "tao_to_alpha": 6, "tao_to_alpha_with_slippag": 6, "taodividendsperhotkei": 10, "taoin": 10, "taoinemiss": 10, "taostak": 10, "target": [0, 18, 25, 30, 37, 48, 69, 80, 99], "target_address": 99, "target_axon": 25, "target_axon_info": 25, "target_registrations_per_interv": 101, "target_regs_per_interv": [10, 18], "targetregsperinterv": 10, "task": [0, 1, 80, 93, 99], "tcp": 9, "technic": [0, 80], "techniqu": 1, "technologi": [0, 80], "templat": [98, 99, 101, 124], "tempo": [0, 6, 10, 18, 20, 38, 70, 77, 80, 90, 101, 115], "temporarili": 1, "tensor": [2, 9, 76, 77, 93, 143, 144], "tensor_": 94, "term": [0, 80], "termin": [0, 1, 80, 93, 122], "terminal_info": 93, "terminalinfo": 93, "terminate_leas": 99, "terminate_workers_and_wait_for_exit": 136, "test": [0, 77, 78, 80, 85, 97, 98, 99, 101, 103, 110, 122, 131], "testsubnet": 103, "text": [1, 124, 136], "textual": [33, 64], "th": 77, "than": [0, 1, 25, 27, 31, 38, 42, 44, 49, 70, 74, 75, 80, 143], "thei": [0, 1, 6, 77, 80, 93, 143], "them": [0, 1, 25, 79, 80, 93, 98], "themselv": [0, 80], "therebi": [0, 1, 80], "thereof": 133, "thi": [0, 1, 2, 4, 5, 6, 7, 10, 11, 12, 16, 18, 21, 22, 23, 24, 25, 26, 28, 33, 35, 40, 43, 45, 46, 64, 66, 72, 74, 77, 79, 80, 85, 93, 95, 96, 97, 98, 99, 101, 105, 110, 118, 121, 124, 125, 126, 128, 129, 131, 132, 134, 136, 137, 138, 141, 143, 144, 145], "thin": [0, 80], "think": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 93], "third": 128, "those": [0, 24, 25, 80], "thread": [0, 1, 33, 64, 80, 95, 134, 136, 137], "thread_name_prefix": 95, "thread_pool": 1, "threadpool": [1, 76, 144], "threadpoolexecutor": 95, "threshold": [0, 14, 18, 80, 99, 143], "through": [1, 25, 74, 80, 125], "throughout": 126, "tick": [0, 30, 48, 80, 132], "tick_high": 99, "tick_index": 132, "tick_low": 99, "tick_to_pric": 132, "time": [0, 1, 77, 80, 85, 93, 95, 96, 98, 99, 101, 110, 118, 120, 124, 136], "time_averag": 136, "time_sp": 136, "time_spent_tot": 136, "timelock": [76, 105, 144], "timeout": [0, 1, 25, 33, 34, 35, 36, 40, 41, 43, 64, 65, 66, 67, 68, 72, 73, 80, 93, 120, 138, 142], "timepoint": 99, "timestamp": [0, 1, 11, 12, 77, 80, 100], "tl": [0, 35, 66, 80], "tle": [96, 118], "tmp": 77, "to_dict": 24, "to_head": 93, "to_hex": 141, "to_parameter_dict": [2, 9], "to_str": [1, 2], "to_token_amount": 132, "todo": 77, "togeth": 98, "toggl": [0, 30, 48, 80, 101], "toggle_user_liquid": [0, 53, 80, 84, 99, 109], "toggle_user_liquidity_extrins": [30, 48], "token": [0, 16, 41, 73, 77, 79, 80, 132], "token_stream": 79, "toler": [0, 32, 36, 41, 50, 68, 73, 80], "tolist": 94, "too": [0, 26, 27, 44, 80, 85, 110], "tool": [0, 80, 93, 105], "toomanychildren": [0, 26, 27, 44], "toon_kei": 0, "top": 141, "topologi": [0, 1, 80], "torch": [2, 9, 25, 28, 43, 45, 67, 77, 94, 131, 136, 143], "torchmetagraph": 77, "total": [0, 4, 5, 11, 12, 77, 80, 93, 136], "total_bit": 121, "total_daily_return": [4, 5], "total_issu": 101, "total_s": 93, "total_stak": [4, 10, 11, 12, 21, 77], "totalstak": 10, "toward": 77, "tpb": [0, 33, 64, 80, 134, 136, 137], "trace": [1, 124, 127, 128, 129], "trace_level_num": 124, "trace_log_format": 123, "track": [0, 77, 80, 93], "transact": [0, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 93, 99], "transactor": [0, 26, 80], "transfer": [0, 18, 26, 29, 32, 47, 50, 52, 80, 84, 109, 117, 131, 144], "transfer_al": [0, 40, 61, 72, 80, 99], "transfer_allow_death": [61, 99], "transfer_extrins": [40, 72], "transfer_keep_al": [61, 99], "transfer_stak": [0, 54, 80, 84, 99, 109, 114], "transfer_stake_extrins": [32, 50], "transfererror": 26, "transferparam": 61, "transfers_en": 18, "transform": [10, 93], "transit": [1, 128], "transmiss": [1, 93], "transmit": [25, 93], "transpar": [0, 80, 93], "transport": 93, "travers": 93, "tree": 141, "trigger": [0, 1, 35, 37, 66, 69, 80], "triumvir": 100, "triumviratememb": 100, "true": [0, 1, 2, 6, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 48, 49, 50, 61, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 91, 93, 95, 96, 97, 103, 110, 116, 118, 124, 127, 128, 129, 131, 134, 136], "trust": [0, 1, 10, 11, 12, 21, 77, 80], "trustworthi": [0, 1, 77, 80], "truth": 131, "try": [26, 136], "try_associate_hotkei": 99, "tupl": [0, 1, 6, 10, 11, 22, 23, 25, 27, 28, 30, 31, 33, 35, 37, 38, 39, 41, 42, 43, 44, 45, 46, 48, 49, 51, 61, 64, 66, 69, 70, 71, 73, 74, 77, 80, 93, 95, 96, 97, 99, 101, 103, 118, 120, 128, 131, 132, 137, 143], "tv": 77, "two": [94, 97, 121], "two_x64_concat": 139, "tx_rate_limit": [0, 80, 81, 85, 101, 106, 110], "txratelimitexceed": [0, 26, 27, 44], "type": [0, 1, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 93, 94, 95, 96, 98, 99, 101, 103, 118, 120, 121, 124, 125, 128, 129, 131, 132, 133, 134, 136, 137, 138, 141, 142, 143, 144], "type_nam": 22, "type_registri": 78, "type_str": 22, "typeddict": [97, 121], "typeerror": [2, 22, 96, 118], "typic": [0, 1, 77, 79, 80, 93], "u128": 121, "u16_max": [131, 143], "u16_normalized_float": 131, "u32": 143, "u32_max": 143, "u64": [0, 131], "u64_max": 131, "u64_normalized_float": 131, "u64f64": 121, "udp": 9, "uid": [0, 11, 12, 28, 30, 31, 32, 35, 36, 37, 41, 43, 45, 46, 48, 49, 50, 63, 66, 67, 68, 69, 73, 75, 77, 80, 97, 99, 121, 143], "uids_list": 99, "uint64": [0, 27, 43, 44, 67, 143], "unabl": [0, 26], "unauthor": [1, 93], "unavail": [0, 80], "unchang": 133, "under": 0, "underli": [0, 1, 25, 77, 80, 128], "understand": [0, 77, 80, 98], "undesir": 1, "unifi": 25, "union": [0, 2, 6, 9, 10, 22, 25, 28, 31, 33, 34, 35, 43, 45, 49, 50, 61, 64, 65, 66, 67, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 94, 96, 103, 106, 107, 108, 109, 111, 112, 113, 114, 115, 117, 118, 121, 131, 134, 136, 137, 138, 143], "uniqu": [0, 1, 11, 12, 25, 31, 33, 36, 38, 41, 43, 46, 49, 64, 68, 70, 73, 74, 75, 77, 80, 93, 133, 143], "uniswap": 132, "unit": [0, 1, 16, 77, 80, 121], "unknownsynapseerror": 26, "unless": 25, "unlock": [0, 30, 37, 48, 69, 80, 131], "unlock_kei": 131, "unlock_typ": 131, "unlockstatu": 131, "unmet": 1, "unnote_preimag": 99, "unpickl": 77, "unpicklingerror": 77, "unrequest_preimag": 99, "unsaf": [0, 80], "unstak": [0, 6, 26, 29, 36, 47, 52, 68, 80, 84, 89, 109, 114, 144], "unstake_al": [0, 41, 73, 80, 84, 89, 99, 109, 114], "unstake_all_alpha": 99, "unstake_all_extrins": [41, 73], "unstake_extrins": [41, 73], "unstake_multipl": [0, 80, 84, 89, 109, 114], "unstake_multiple_extrins": [41, 73], "unstakeerror": 26, "unstakingparam": 62, "unsuccess": [0, 27, 31, 38, 42, 44, 49, 70, 74, 75, 80, 131], "until": [0, 80, 95, 103], "up": [0, 1, 25, 77, 80, 95, 97, 128, 129, 142], "updat": [0, 1, 11, 12, 25, 26, 33, 64, 77, 79, 80, 136, 137], "update_cap": 99, "update_curr_block": 136, "update_end": 99, "update_interv": [0, 33, 64, 80, 134, 136, 137], "update_min_contribut": 99, "update_symbol": 99, "upgrade_account": 99, "upon": [0, 25, 77, 80], "upper": [0, 30, 48, 80, 137], "urgenc": 1, "url": [0, 1, 3, 25, 26, 33, 64, 80, 97, 99, 131, 133], "urllib": 133, "us": [0, 1, 2, 6, 16, 18, 22, 23, 25, 28, 30, 31, 33, 35, 36, 37, 40, 41, 42, 43, 45, 46, 48, 49, 64, 66, 68, 69, 72, 73, 74, 75, 77, 79, 80, 85, 93, 94, 95, 96, 97, 98, 99, 101, 105, 110, 118, 121, 124, 131, 134, 136, 137, 138, 139, 141, 142, 143], "usag": [0, 1, 25, 80, 93, 96, 118], "use_nonc": [0, 42, 74, 80], "use_torch": [2, 131, 136], "user": [0, 1, 18, 25, 30, 43, 46, 48, 77, 80, 93, 129, 143], "user_bittensor_dir": 78, "user_liquidity_en": 18, "using_new_loop": 25, "usingspawnstartmethod": 136, "usual": 26, "utf": [93, 131], "util": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 16, 17, 20, 21, 25, 28, 29, 30, 32, 35, 36, 40, 41, 45, 47, 48, 50, 53, 54, 57, 58, 61, 62, 66, 68, 72, 73, 77, 80, 85, 94, 97, 100, 102, 103, 110, 119, 144], "uuid": [1, 25, 93], "uvicorn": 1, "v": [94, 97], "v10": 0, "v2": 0, "v3": 132, "v_7_2_0": 1, "val": 131, "valid": [0, 1, 4, 5, 10, 11, 12, 18, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 94, 124, 131, 136, 143], "validate_chain_endpoint": 131, "validate_extrinsic_param": 109, "validationerror": [79, 93, 94], "validator_permit": [4, 5, 10, 11, 12, 21, 77], "validator_trust": [11, 12, 77], "validatorpermit": 10, "valu": [0, 1, 2, 10, 11, 12, 16, 18, 22, 24, 27, 31, 34, 38, 42, 43, 44, 46, 49, 61, 65, 67, 70, 74, 75, 77, 80, 93, 94, 97, 98, 99, 120, 131, 132, 136, 141, 143], "valuabl": [0, 77, 80, 93], "value_scale_typ": 141, "valueerror": [0, 2, 131, 134, 136], "values_list": 99, "variabl": [0, 1, 2, 4, 9, 11, 12, 13, 15, 16, 17, 18, 23, 77, 79, 93, 121], "variou": [0, 1, 77, 80], "vec_u8": 15, "vector": [0, 22, 80], "verbos": [0, 80, 85, 110, 134, 136], "verif": [1, 93], "verifi": [0, 1, 26, 80, 93], "verify_body_integr": 1, "verify_custom": 1, "verify_fn": 1, "verify_my_synaps": 1, "verify_my_synapse_2": 1, "versatil": [0, 80], "version": [0, 2, 5, 11, 13, 18, 28, 31, 34, 43, 45, 46, 49, 65, 67, 75, 77, 80, 85, 93, 97, 99, 100, 101, 110, 124, 129, 131, 133, 143, 144], "version_as_int": [0, 28, 31, 45, 49, 75, 78, 80], "version_check": [131, 142], "version_check_threshold": 142, "version_kei": [0, 28, 31, 34, 43, 45, 46, 49, 63, 65, 67, 75, 80, 99, 143], "version_split": 78, "versioncheckerror": [131, 142], "via": [1, 94, 97], "viabil": [0, 80], "view": [0, 80], "vital": [1, 77, 93], "vote": [0, 80, 99], "w": [77, 78, 133], "w_": 77, "wa": [0, 1, 6, 24, 32, 33, 34, 35, 36, 40, 50, 64, 65, 66, 67, 68, 72, 77, 80, 93], "wai": [0, 16, 25, 80, 93, 97, 121], "wait": [0, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 85, 95, 96, 103, 110, 118], "wait_for_block": [0, 80, 85, 110], "wait_for_fin": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 103], "wait_for_inclus": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 103], "wait_next_epoch": 103, "wait_reveal_and_decrypt": [96, 118], "wallet": [0, 1, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 85, 93, 98, 99, 101, 103, 104, 110, 121, 129, 131, 134, 136, 138, 143, 144], "wallet_stak": [0, 80], "wallets_dir": 78, "want": [0, 77, 124], "warn": [122, 127, 128, 129, 131], "we": [33, 34, 35, 36, 40, 64, 65, 66, 67, 68, 72, 133], "web": [33, 64], "websocket": [80, 97, 131, 133], "websocket_shutdown_tim": [0, 85, 110], "weight": [0, 11, 12, 18, 23, 28, 29, 31, 34, 38, 45, 46, 47, 49, 52, 65, 67, 70, 77, 80, 90, 97, 99, 101, 115, 143, 144], "weight_commit_info": [7, 144], "weight_uid": 143, "weight_util": [131, 144], "weight_val": 143, "weightcommitinfo": 23, "weights_as_dict": 11, "weights_rate_limit": [0, 10, 18, 80, 90, 115], "weights_set_rate_limit": 101, "weights_vers": [10, 18], "weights_version_kei": 101, "weightsparam": 63, "weightsratelimit": 10, "weightssetratelimit": [0, 80], "weightsvers": 10, "well": [77, 98, 121], "were": [0, 80], "when": [0, 1, 2, 23, 24, 25, 26, 30, 32, 41, 43, 46, 48, 50, 73, 77, 80, 93, 95, 96, 99, 118, 128, 134, 136], "where": [0, 1, 6, 11, 22, 23, 25, 27, 28, 33, 44, 45, 64, 77, 80, 85, 110, 121], "whether": [0, 1, 12, 22, 25, 28, 30, 31, 33, 37, 38, 40, 42, 45, 48, 49, 61, 64, 69, 70, 72, 74, 75, 77, 80, 85, 110, 131, 138], "which": [0, 1, 5, 15, 18, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 97, 131], "while": [0, 1, 50, 77, 80, 105, 121, 132, 136], "who": [0, 80, 93, 99, 101], "whole": [0, 2, 80], "whose": [0, 80], "wide": [0, 77, 80], "window": [0, 38, 70, 80, 101, 120], "with_weight": 99, "withdraw": [0, 80, 99], "withdrawn": [0, 80], "within": [0, 1, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 98, 136, 138], "without": [0, 1, 12, 25, 41, 73, 80, 93, 98, 122], "work": [0, 7, 25, 33, 43, 55, 64, 80, 99, 134, 136, 137], "worker": [1, 95, 136], "world": 93, "would": [0, 6, 32, 50, 80, 93], "wrap": 128, "wrapper": [43, 46, 93], "writabl": 131, "write_puls": 99, "wrong": [0, 27, 44, 80, 96, 118], "wss": [78, 85, 110, 133], "x": [96, 118, 131, 143], "x_person": [96, 118], "x_person_2": [96, 118], "xxh128": 139, "xxh64": 139, "y": [123, 131, 143], "ye": 131, "yet": 0, "yield": [1, 25, 125], "you": [0, 1, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 93, 96, 110, 118, 124], "your": [0, 1, 25, 77, 80, 85, 93, 96, 110, 118, 124, 133], "yoursynaps": 1, "yuma": [0, 18, 77, 80], "yuma_vers": 18, "zero": [0, 38, 70, 74, 80]}, "titles": ["bittensor.core.async_subtensor", "bittensor.core.axon", "bittensor.core.chain_data.axon_info", "bittensor.core.chain_data.chain_identity", "bittensor.core.chain_data.delegate_info", "bittensor.core.chain_data.delegate_info_lite", "bittensor.core.chain_data.dynamic_info", "bittensor.core.chain_data", "bittensor.core.chain_data.info_base", "bittensor.core.chain_data.ip_info", "bittensor.core.chain_data.metagraph_info", "bittensor.core.chain_data.neuron_info", "bittensor.core.chain_data.neuron_info_lite", "bittensor.core.chain_data.prometheus_info", "bittensor.core.chain_data.proposal_vote_data", "bittensor.core.chain_data.scheduled_coldkey_swap_info", "bittensor.core.chain_data.sim_swap", "bittensor.core.chain_data.stake_info", "bittensor.core.chain_data.subnet_hyperparameters", "bittensor.core.chain_data.subnet_identity", "bittensor.core.chain_data.subnet_info", "bittensor.core.chain_data.subnet_state", "bittensor.core.chain_data.utils", "bittensor.core.chain_data.weight_commit_info", "bittensor.core.config", "bittensor.core.dendrite", "bittensor.core.errors", "bittensor.core.extrinsics.asyncex.children", "bittensor.core.extrinsics.asyncex.commit_reveal", "bittensor.core.extrinsics.asyncex", "bittensor.core.extrinsics.asyncex.liquidity", "bittensor.core.extrinsics.asyncex.mechanism", "bittensor.core.extrinsics.asyncex.move_stake", "bittensor.core.extrinsics.asyncex.registration", "bittensor.core.extrinsics.asyncex.root", "bittensor.core.extrinsics.asyncex.serving", "bittensor.core.extrinsics.asyncex.staking", "bittensor.core.extrinsics.asyncex.start_call", "bittensor.core.extrinsics.asyncex.sudo", "bittensor.core.extrinsics.asyncex.take", "bittensor.core.extrinsics.asyncex.transfer", "bittensor.core.extrinsics.asyncex.unstaking", "bittensor.core.extrinsics.asyncex.utils", "bittensor.core.extrinsics.asyncex.weights", "bittensor.core.extrinsics.children", "bittensor.core.extrinsics.commit_reveal", "bittensor.core.extrinsics.commit_weights", "bittensor.core.extrinsics", "bittensor.core.extrinsics.liquidity", "bittensor.core.extrinsics.mechanism", "bittensor.core.extrinsics.move_stake", "bittensor.core.extrinsics.params.children", "bittensor.core.extrinsics.params", "bittensor.core.extrinsics.params.liquidity", "bittensor.core.extrinsics.params.move_stake", "bittensor.core.extrinsics.params.registration", "bittensor.core.extrinsics.params.root", "bittensor.core.extrinsics.params.serving", "bittensor.core.extrinsics.params.staking", "bittensor.core.extrinsics.params.start_call", "bittensor.core.extrinsics.params.take", "bittensor.core.extrinsics.params.transfer", "bittensor.core.extrinsics.params.unstaking", "bittensor.core.extrinsics.params.weights", "bittensor.core.extrinsics.registration", "bittensor.core.extrinsics.root", "bittensor.core.extrinsics.serving", "bittensor.core.extrinsics.set_weights", "bittensor.core.extrinsics.staking", "bittensor.core.extrinsics.start_call", "bittensor.core.extrinsics.sudo", "bittensor.core.extrinsics.take", "bittensor.core.extrinsics.transfer", "bittensor.core.extrinsics.unstaking", "bittensor.core.extrinsics.utils", "bittensor.core.extrinsics.weights", "bittensor.core", "bittensor.core.metagraph", "bittensor.core.settings", "bittensor.core.stream", "bittensor.core.subtensor", "bittensor.core.subtensor_api.chain", "bittensor.core.subtensor_api.commitments", "bittensor.core.subtensor_api.delegates", "bittensor.core.subtensor_api.extrinsics", "bittensor.core.subtensor_api", "bittensor.core.subtensor_api.metagraphs", "bittensor.core.subtensor_api.neurons", "bittensor.core.subtensor_api.queries", "bittensor.core.subtensor_api.staking", "bittensor.core.subtensor_api.subnets", "bittensor.core.subtensor_api.utils", "bittensor.core.subtensor_api.wallets", "bittensor.core.synapse", "bittensor.core.tensor", "bittensor.core.threadpool", "bittensor.core.timelock", "bittensor.core.types", "bittensor.extras.dev_framework.calls", "bittensor.extras.dev_framework.calls.non_sudo_calls", "bittensor.extras.dev_framework.calls.pallets", "bittensor.extras.dev_framework.calls.sudo_calls", "bittensor.extras.dev_framework", "bittensor.extras.dev_framework.subnet", "bittensor.extras.dev_framework.utils", "bittensor.extras", "bittensor.extras.subtensor_api.chain", "bittensor.extras.subtensor_api.commitments", "bittensor.extras.subtensor_api.delegates", "bittensor.extras.subtensor_api.extrinsics", "bittensor.extras.subtensor_api", "bittensor.extras.subtensor_api.metagraphs", "bittensor.extras.subtensor_api.neurons", "bittensor.extras.subtensor_api.queries", "bittensor.extras.subtensor_api.staking", "bittensor.extras.subtensor_api.subnets", "bittensor.extras.subtensor_api.utils", "bittensor.extras.subtensor_api.wallets", "bittensor.extras.timelock", "bittensor", "bittensor.utils.axon_utils", "bittensor.utils.balance", "bittensor.utils.btlogging.console", "bittensor.utils.btlogging.defines", "bittensor.utils.btlogging.format", "bittensor.utils.btlogging.helpers", "bittensor.utils.btlogging", "bittensor.utils.btlogging.levels", "bittensor.utils.btlogging.loggingmachine", "bittensor.utils.easy_imports", "bittensor.utils.formatting", "bittensor.utils", "bittensor.utils.liquidity", "bittensor.utils.networking", "bittensor.utils.registration.async_pow", "bittensor.utils.registration", "bittensor.utils.registration.pow", "bittensor.utils.registration.register_cuda", "bittensor.utils.subnets", "bittensor.utils.substrate_utils.hasher", "bittensor.utils.substrate_utils", "bittensor.utils.substrate_utils.storage", "bittensor.utils.version", "bittensor.utils.weight_utils", "API Reference", "Bittensor SDK Documentation"], "titleterms": {"api": 144, "async_pow": 134, "async_subtensor": 0, "asyncex": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "attribut": [1, 8, 10, 24, 25, 26, 77, 78, 94, 95, 97, 98, 100, 103, 104, 120, 123, 124, 126, 128, 129, 131, 132, 136, 142, 143], "axon": 1, "axon_info": 2, "axon_util": 120, "balanc": 121, "bittensor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145], "btlog": [122, 123, 124, 125, 126, 127, 128], "call": [98, 99, 100, 101], "chain": [81, 106], "chain_data": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "chain_ident": 3, "children": [27, 44, 51], "class": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 94, 95, 97, 99, 101, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 121, 122, 124, 128, 131, 132, 136, 138, 141], "commit": [82, 107], "commit_rev": [28, 45], "commit_weight": 46, "config": 24, "consol": 122, "content": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 136, 137, 138, 139, 141, 142, 143, 145], "core": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "defin": 123, "deleg": [83, 108], "delegate_info": 4, "delegate_info_lit": 5, "dendrit": 25, "dev_framework": [98, 99, 100, 101, 102, 103, 104], "document": 145, "dynamic_info": 6, "easy_import": 129, "error": 26, "exampl": [0, 24, 25, 77, 80, 85, 97, 110, 122], "except": [24, 26, 95, 133, 142], "extra": [98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118], "extrins": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 84, 109], "format": [124, 130], "function": [0, 1, 10, 22, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 61, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 91, 93, 94, 96, 98, 104, 116, 118, 120, 121, 125, 127, 129, 130, 131, 132, 133, 134, 136, 137, 139, 142, 143], "hasher": 139, "helper": 125, "info_bas": 8, "ip_info": 9, "level": 127, "liquid": [30, 48, 53, 132], "loggingmachin": 128, "mechan": [31, 49], "metagraph": [77, 86, 111], "metagraph_info": 10, "modul": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 99, 100, 101, 103, 104, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124, 125, 127, 128, 129, 130, 132, 133, 134, 136, 137, 138, 139, 141, 142, 143], "move_stak": [32, 50, 54], "network": 133, "neuron": [87, 112], "neuron_info": 11, "neuron_info_lit": 12, "non_sudo_cal": 99, "note": [0, 80], "packag": [85, 98, 110, 126, 131], "pallet": 100, "param": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "pow": 136, "prometheus_info": 13, "proposal_vote_data": 14, "queri": [88, 113], "refer": 144, "register_cuda": 137, "registr": [33, 55, 64, 134, 135, 136, 137], "root": [34, 56, 65], "scheduled_coldkey_swap_info": 15, "sdk": 145, "serv": [35, 57, 66], "set": 78, "set_weight": 67, "sim_swap": 16, "stake": [36, 58, 68, 89, 114], "stake_info": 17, "start_cal": [37, 59, 69], "storag": 141, "stream": 79, "submodul": [7, 29, 47, 52, 76, 85, 98, 102, 105, 110, 119, 126, 131, 135, 140], "subnet": [90, 103, 115, 138], "subnet_hyperparamet": 18, "subnet_ident": 19, "subnet_info": 20, "subnet_st": 21, "substrate_util": [139, 140, 141], "subtensor": 80, "subtensor_api": [81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117], "sudo": [38, 70], "sudo_cal": 101, "synaps": 93, "tabl": 145, "take": [39, 60, 71], "tensor": 94, "threadpool": 95, "timelock": [96, 118], "transfer": [40, 61, 72], "type": 97, "unstak": [41, 62, 73], "util": [22, 42, 74, 91, 104, 116, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143], "version": 142, "wallet": [92, 117], "weight": [43, 63, 75], "weight_commit_info": 23, "weight_util": 143}}) \ No newline at end of file From 491a4cd2f3bc54a2bd034d5205efe947cc7362b3 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Tue, 14 Oct 2025 19:28:49 +0100 Subject: [PATCH 267/303] btcli-913 --- docs/btcli/btcli.md | 95 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 73 insertions(+), 22 deletions(-) diff --git a/docs/btcli/btcli.md b/docs/btcli/btcli.md index 2efa69cc0f..896442c0fa 100644 --- a/docs/btcli/btcli.md +++ b/docs/btcli/btcli.md @@ -1153,6 +1153,55 @@ btcli stake add [OPTIONS] | `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | | `--help` | | Show this message and exit. | +### `btcli stake auto` + +Display auto-stake destinations for a wallet across all subnets. + +**Usage:** + +```bash +btcli stake auto [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--ss58`, `--coldkey_ss58`, `--coldkey.ss58_address`, `--coldkey.ss58` | | Coldkey address of the wallet | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + +### `btcli stake set-auto` + +Set the auto-stake destination hotkey for a coldkey. + +**Usage:** + +```bash +btcli stake set-auto [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--netuid` | INTEGER | The netuid of the subnet in the network, (e.g. 1). | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--prompt/--no-prompt`, ` /--yes`, ` /--no_prompt`, ` /-y` | | Enable or disable interactive prompts. | +| `--wait_for_inclusion` | | If `True`, waits until the transaction is included in a block. | +| `--wait_for_finalization` | | If `True`, waits until the transaction is finalized on the blockchain. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + ### `btcli stake remove` Unstake TAO from one or more hotkeys and transfer them back to the user's coldkey wallet. @@ -1322,23 +1371,23 @@ btcli stake move [OPTIONS] **Options**: -| Option | Type | Description | -| ------------------------------------------------------------------------------------------ | ------- | ------------------------------------------------------------------------------------ | -| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | -| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | -| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | -| `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | -| `--origin-netuid` | INTEGER | Origin netuid. | -| `--dest-netuid` | INTEGER | Destination netuid. | -| `--dest-ss58`, `--dest` | TEXT | Destination hotkey. | -| `--amount` | FLOAT | The amount of TAO to stake | -| `--stake-all`, `--all` | | Stake all. | -| `--period`, `-era` | INTEGER | Length (in blocks) for which the transaction should be valid. | -| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | -| `--quiet` | | Display only critical information on the console. | -| `--verbose` | | Enable verbose output. | -| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | -| `--help` | | Show this message and exit. | +| Option | Type | Description | +| -------------------------------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | TEXT | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `from`, `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Validator hotkey or SS58 where the stake is currently located. | +| `--origin-netuid` | INTEGER | Origin netuid. | +| `--dest-netuid` | INTEGER | Destination netuid. | +| `to`, `--dest-ss58`, `--dest` | TEXT | Destination validator hotkey SS58. | +| `--amount` | FLOAT | The amount of TAO to stake | +| `--stake-all`, `--all` | | Stake all. | +| `--period`, `-era` | INTEGER | Length (in blocks) for which the transaction should be valid. | +| `--prompt`, `--prompt`, `--no-prompt`, `--yes`, `--no_prompt`, `-y` | | Enable or disable interactive prompts. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ### `btcli stake transfer` @@ -1971,7 +2020,7 @@ alias: mech - `count`: Display how many mechanisms are registered under a subnet. - `set`: Configure how many mechanisms are registered for a subnet. - `emissions`: Display the current emission split across mechanisms for a subnet. -- `emissions-split`: Update the emission split across mechanisms for a subnet. +- `split-emissions`: Update the emission split across mechanisms for a subnet. #### `btcli subnet mechanisms count` @@ -2067,7 +2116,7 @@ btcli subnet mechanisms emissions [OPTIONS] | `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | | `--help` | | Show this message and exit. | -#### `btcli subnet mechanisms emissions-split` +#### `btcli subnet mechanisms split-emissions` Update the emission split across mechanisms for a subnet. @@ -2078,19 +2127,21 @@ Common Examples: 1. Configure the split interactively: ```bash -btcli subnet mechanisms emissions-split --netuid 12 +btcli subnet mechanisms split-emissions --netuid 12 ``` 2. Apply a 70/30 distribution in one command: ```bash -btcli subnet mechanisms emissions-split --netuid 12 --split 70,30 --wallet.name my_wallet --wallet.hotkey admin +btcli subnet mechanisms split-emissions --netuid 12 --split 70,30 --wallet.name my_wallet --wallet.hotkey admin ``` **Usage:** ```bash -btcli subnet mechanisms emissions-split [OPTIONS] +btcli subnet mechanisms split-emissions [OPTIONS] + +alias: emissions-split ``` **Parameters:** From e34ea66371ad88e3e3dec4a95ced2548b4b3456f Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 14 Oct 2025 12:25:21 -0700 Subject: [PATCH 268/303] regen (#129) --- static/python-api/html/.buildinfo | 2 +- .../async_substrate_interface/errors.html | 4 - .../async_substrate_interface/utils.html | 4 - .../bittensor/core/async_subtensor.html | 6429 ----------------- .../html/_modules/bittensor/core/axon.html | 4 - .../bittensor/core/chain_data/axon_info.html | 4 - .../core/chain_data/chain_identity.html | 4 - .../core/chain_data/delegate_info.html | 4 - .../core/chain_data/delegate_info_lite.html | 4 - .../core/chain_data/dynamic_info.html | 4 - .../bittensor/core/chain_data/info_base.html | 4 - .../bittensor/core/chain_data/ip_info.html | 4 - .../core/chain_data/metagraph_info.html | 4 - .../core/chain_data/neuron_info.html | 4 - .../core/chain_data/neuron_info_lite.html | 4 - .../core/chain_data/prometheus_info.html | 4 - .../core/chain_data/proposal_vote_data.html | 4 - .../scheduled_coldkey_swap_info.html | 4 - .../bittensor/core/chain_data/stake_info.html | 4 - .../chain_data/subnet_hyperparameters.html | 4 - .../core/chain_data/subnet_identity.html | 4 - .../core/chain_data/subnet_info.html | 4 - .../core/chain_data/subnet_state.html | 4 - .../bittensor/core/chain_data/utils.html | 4 - .../core/chain_data/weight_commit_info.html | 4 - .../html/_modules/bittensor/core/config.html | 12 +- .../_modules/bittensor/core/dendrite.html | 4 - .../html/_modules/bittensor/core/errors.html | 4 - .../core/extrinsics/asyncex/children.html | 4 - .../extrinsics/asyncex/commit_reveal.html | 563 -- .../core/extrinsics/asyncex/liquidity.html | 4 - .../core/extrinsics/asyncex/move_stake.html | 4 - .../core/extrinsics/asyncex/registration.html | 4 - .../core/extrinsics/asyncex/root.html | 9 +- .../core/extrinsics/asyncex/serving.html | 24 +- .../core/extrinsics/asyncex/staking.html | 4 - .../core/extrinsics/asyncex/start_call.html | 4 - .../core/extrinsics/asyncex/take.html | 528 -- .../core/extrinsics/asyncex/transfer.html | 4 - .../core/extrinsics/asyncex/unstaking.html | 4 - .../core/extrinsics/asyncex/weights.html | 4 - .../bittensor/core/extrinsics/children.html | 4 - .../core/extrinsics/commit_reveal.html | 564 -- .../core/extrinsics/commit_weights.html | 654 -- .../bittensor/core/extrinsics/liquidity.html | 4 - .../bittensor/core/extrinsics/move_stake.html | 4 - .../core/extrinsics/registration.html | 4 - .../bittensor/core/extrinsics/root.html | 9 +- .../bittensor/core/extrinsics/serving.html | 24 +- .../core/extrinsics/set_weights.html | 564 -- .../bittensor/core/extrinsics/staking.html | 4 - .../bittensor/core/extrinsics/start_call.html | 4 - .../bittensor/core/extrinsics/take.html | 527 -- .../bittensor/core/extrinsics/transfer.html | 4 - .../bittensor/core/extrinsics/unstaking.html | 4 - .../bittensor/core/extrinsics/utils.html | 4 - .../_modules/bittensor/core/metagraph.html | 4 - .../html/_modules/bittensor/core/stream.html | 4 - .../_modules/bittensor/core/subtensor.html | 34 +- .../bittensor/core/subtensor_api.html | 669 -- .../bittensor/core/subtensor_api/chain.html | 434 -- .../core/subtensor_api/commitments.html | 437 -- .../core/subtensor_api/delegates.html | 430 -- .../core/subtensor_api/extrinsics.html | 451 -- .../core/subtensor_api/metagraphs.html | 426 -- .../bittensor/core/subtensor_api/neurons.html | 429 -- .../bittensor/core/subtensor_api/queries.html | 429 -- .../bittensor/core/subtensor_api/staking.html | 440 -- .../bittensor/core/subtensor_api/subnets.html | 465 -- .../bittensor/core/subtensor_api/utils.html | 590 -- .../bittensor/core/subtensor_api/wallets.html | 453 -- .../html/_modules/bittensor/core/synapse.html | 4 - .../html/_modules/bittensor/core/tensor.html | 4 - .../_modules/bittensor/core/threadpool.html | 4 - .../_modules/bittensor/core/timelock.html | 604 -- .../html/_modules/bittensor/core/types.html | 4 - .../html/_modules/bittensor/utils.html | 4 - .../_modules/bittensor/utils/axon_utils.html | 4 - .../_modules/bittensor/utils/balance.html | 9 +- .../bittensor/utils/btlogging/console.html | 4 - .../bittensor/utils/btlogging/format.html | 4 - .../bittensor/utils/btlogging/helpers.html | 4 - .../utils/btlogging/loggingmachine.html | 4 - .../bittensor/utils/easy_imports.html | 725 -- .../_modules/bittensor/utils/formatting.html | 4 - .../_modules/bittensor/utils/liquidity.html | 4 - .../_modules/bittensor/utils/networking.html | 4 - .../utils/registration/async_pow.html | 4 - .../bittensor/utils/registration/pow.html | 4 - .../utils/registration/register_cuda.html | 4 - .../_modules/bittensor/utils/subnets.html | 4 - .../utils/substrate_utils/hasher.html | 494 -- .../utils/substrate_utils/storage.html | 709 -- .../bittensor/utils/weight_utils.html | 4 - static/python-api/html/_modules/index.html | 29 +- .../html/_modules/scalecodec/utils/ss58.html | 4 - .../bittensor/core/async_subtensor/index.rst | 3230 --------- .../autoapi/bittensor/core/axon/index.rst | 941 --- .../core/chain_data/axon_info/index.rst | 162 - .../core/chain_data/chain_identity/index.rst | 53 - .../core/chain_data/delegate_info/index.rst | 112 - .../chain_data/delegate_info_lite/index.rst | 74 - .../core/chain_data/dynamic_info/index.rst | 168 - .../bittensor/core/chain_data/index.rst | 41 - .../core/chain_data/info_base/index.rst | 42 - .../core/chain_data/ip_info/index.rst | 62 - .../core/chain_data/metagraph_info/index.rst | 919 --- .../core/chain_data/neuron_info/index.rst | 199 - .../chain_data/neuron_info_lite/index.rst | 172 - .../core/chain_data/prometheus_info/index.rst | 57 - .../chain_data/proposal_vote_data/index.rst | 50 - .../scheduled_coldkey_swap_info/index.rst | 53 - .../core/chain_data/sim_swap/index.rst | 66 - .../core/chain_data/stake_info/index.rst | 73 - .../subnet_hyperparameters/index.rst | 225 - .../core/chain_data/subnet_identity/index.rst | 54 - .../core/chain_data/subnet_info/index.rst | 97 - .../core/chain_data/subnet_state/index.rst | 103 - .../bittensor/core/chain_data/utils/index.rst | 216 - .../chain_data/weight_commit_info/index.rst | 77 - .../autoapi/bittensor/core/config/index.rst | 119 - .../autoapi/bittensor/core/dendrite/index.rst | 568 -- .../autoapi/bittensor/core/errors/index.rst | 495 -- .../extrinsics/asyncex/children/index.rst | 62 - .../asyncex/commit_reveal/index.rst | 50 - .../core/extrinsics/asyncex/index.rst | 30 - .../extrinsics/asyncex/liquidity/index.rst | 119 - .../extrinsics/asyncex/mechanism/index.rst | 124 - .../extrinsics/asyncex/move_stake/index.rst | 113 - .../extrinsics/asyncex/registration/index.rst | 168 - .../core/extrinsics/asyncex/root/index.rst | 79 - .../core/extrinsics/asyncex/serving/index.rst | 180 - .../core/extrinsics/asyncex/staking/index.rst | 79 - .../extrinsics/asyncex/start_call/index.rst | 43 - .../core/extrinsics/asyncex/sudo/index.rst | 91 - .../core/extrinsics/asyncex/take/index.rst | 74 - .../extrinsics/asyncex/transfer/index.rst | 54 - .../extrinsics/asyncex/unstaking/index.rst | 98 - .../core/extrinsics/asyncex/utils/index.rst | 58 - .../core/extrinsics/asyncex/weights/index.rst | 130 - .../core/extrinsics/children/index.rst | 58 - .../core/extrinsics/commit_reveal/index.rst | 48 - .../core/extrinsics/commit_weights/index.rst | 89 - .../bittensor/core/extrinsics/index.rst | 34 - .../core/extrinsics/liquidity/index.rst | 111 - .../core/extrinsics/mechanism/index.rst | 116 - .../core/extrinsics/move_stake/index.rst | 107 - .../core/extrinsics/params/children/index.rst | 35 - .../core/extrinsics/params/index.rst | 26 - .../extrinsics/params/liquidity/index.rst | 51 - .../extrinsics/params/move_stake/index.rst | 51 - .../extrinsics/params/registration/index.rst | 51 - .../core/extrinsics/params/root/index.rst | 27 - .../core/extrinsics/params/serving/index.rst | 35 - .../core/extrinsics/params/staking/index.rst | 43 - .../extrinsics/params/start_call/index.rst | 27 - .../core/extrinsics/params/take/index.rst | 27 - .../core/extrinsics/params/transfer/index.rst | 63 - .../extrinsics/params/unstaking/index.rst | 43 - .../core/extrinsics/params/weights/index.rst | 51 - .../core/extrinsics/registration/index.rst | 158 - .../bittensor/core/extrinsics/root/index.rst | 75 - .../core/extrinsics/serving/index.rst | 180 - .../core/extrinsics/set_weights/index.rst | 57 - .../core/extrinsics/staking/index.rst | 73 - .../core/extrinsics/start_call/index.rst | 41 - .../bittensor/core/extrinsics/sudo/index.rst | 85 - .../bittensor/core/extrinsics/take/index.rst | 71 - .../core/extrinsics/transfer/index.rst | 51 - .../core/extrinsics/unstaking/index.rst | 92 - .../bittensor/core/extrinsics/utils/index.rst | 77 - .../core/extrinsics/weights/index.rst | 117 - .../_sources/autoapi/bittensor/core/index.rst | 31 - .../bittensor/core/metagraph/index.rst | 1422 ---- .../autoapi/bittensor/core/settings/index.rst | 130 - .../autoapi/bittensor/core/stream/index.rst | 168 - .../bittensor/core/subtensor/index.rst | 2615 ------- .../core/subtensor_api/chain/index.rst | 61 - .../core/subtensor_api/commitments/index.rst | 58 - .../core/subtensor_api/delegates/index.rst | 43 - .../core/subtensor_api/extrinsics/index.rst | 100 - .../bittensor/core/subtensor_api/index.rst | 203 - .../core/subtensor_api/metagraphs/index.rst | 31 - .../core/subtensor_api/neurons/index.rst | 40 - .../core/subtensor_api/queries/index.rst | 40 - .../core/subtensor_api/staking/index.rst | 73 - .../core/subtensor_api/subnets/index.rst | 148 - .../core/subtensor_api/utils/index.rst | 22 - .../core/subtensor_api/wallets/index.rst | 100 - .../autoapi/bittensor/core/synapse/index.rst | 675 -- .../autoapi/bittensor/core/tensor/index.rst | 171 - .../bittensor/core/threadpool/index.rst | 117 - .../autoapi/bittensor/core/timelock/index.rst | 149 - .../autoapi/bittensor/core/types/index.rst | 231 - .../extras/dev_framework/calls/index.rst | 107 - .../calls/non_sudo_calls/index.rst | 3544 --------- .../dev_framework/calls/pallets/index.rst | 142 - .../dev_framework/calls/sudo_calls/index.rst | 1477 ---- .../bittensor/extras/dev_framework/index.rst | 17 - .../extras/dev_framework/subnet/index.rst | 144 - .../extras/dev_framework/utils/index.rst | 87 - .../autoapi/bittensor/extras/index.rst | 29 - .../extras/subtensor_api/chain/index.rst | 64 - .../subtensor_api/commitments/index.rst | 58 - .../extras/subtensor_api/delegates/index.rst | 43 - .../extras/subtensor_api/extrinsics/index.rst | 106 - .../bittensor/extras/subtensor_api/index.rst | 210 - .../extras/subtensor_api/metagraphs/index.rst | 31 - .../extras/subtensor_api/neurons/index.rst | 40 - .../extras/subtensor_api/queries/index.rst | 40 - .../extras/subtensor_api/staking/index.rst | 82 - .../extras/subtensor_api/subnets/index.rst | 154 - .../extras/subtensor_api/utils/index.rst | 22 - .../extras/subtensor_api/wallets/index.rst | 109 - .../bittensor/extras/timelock/index.rst | 149 - .../html/_sources/autoapi/bittensor/index.rst | 17 - .../bittensor/utils/axon_utils/index.rst | 64 - .../autoapi/bittensor/utils/balance/index.rst | 159 - .../utils/btlogging/console/index.rst | 77 - .../utils/btlogging/defines/index.rst | 56 - .../utils/btlogging/format/index.rst | 190 - .../utils/btlogging/helpers/index.rst | 54 - .../bittensor/utils/btlogging/index.rst | 41 - .../utils/btlogging/levels/index.rst | 48 - .../utils/btlogging/loggingmachine/index.rst | 431 -- .../bittensor/utils/easy_imports/index.rst | 95 - .../bittensor/utils/formatting/index.rst | 28 - .../autoapi/bittensor/utils/index.rst | 304 - .../bittensor/utils/liquidity/index.rst | 124 - .../bittensor/utils/networking/index.rst | 109 - .../utils/registration/async_pow/index.rst | 57 - .../bittensor/utils/registration/index.rst | 17 - .../utils/registration/pow/index.rst | 377 - .../registration/register_cuda/index.rst | 60 - .../autoapi/bittensor/utils/subnets/index.rst | 66 - .../utils/substrate_utils/hasher/index.rst | 59 - .../bittensor/utils/substrate_utils/index.rst | 16 - .../utils/substrate_utils/storage/index.rst | 109 - .../autoapi/bittensor/utils/version/index.rst | 83 - .../bittensor/utils/weight_utils/index.rst | 222 - .../html/_sources/autoapi/index.rst | 11 - static/python-api/html/_sources/index.rst | 9 - .../bittensor/core/async_subtensor/index.html | 4945 ------------- .../autoapi/bittensor/core/axon/index.html | 171 +- .../core/chain_data/axon_info/index.html | 18 +- .../core/chain_data/chain_identity/index.html | 4 - .../core/chain_data/delegate_info/index.html | 37 +- .../chain_data/delegate_info_lite/index.html | 26 +- .../core/chain_data/dynamic_info/index.html | 8 +- .../bittensor/core/chain_data/index.html | 33 +- .../core/chain_data/info_base/index.html | 4 - .../core/chain_data/ip_info/index.html | 10 +- .../core/chain_data/metagraph_info/index.html | 6 +- .../core/chain_data/neuron_info/index.html | 60 +- .../chain_data/neuron_info_lite/index.html | 46 +- .../chain_data/prometheus_info/index.html | 14 +- .../chain_data/proposal_vote_data/index.html | 4 - .../scheduled_coldkey_swap_info/index.html | 10 +- .../core/chain_data/sim_swap/index.html | 4 - .../core/chain_data/stake_info/index.html | 10 +- .../subnet_hyperparameters/index.html | 70 +- .../chain_data/subnet_identity/index.html | 4 - .../core/chain_data/subnet_info/index.html | 4 - .../core/chain_data/subnet_state/index.html | 8 +- .../core/chain_data/utils/index.html | 24 +- .../chain_data/weight_commit_info/index.html | 4 - .../autoapi/bittensor/core/config/index.html | 70 +- .../bittensor/core/dendrite/index.html | 153 +- .../autoapi/bittensor/core/errors/index.html | 30 +- .../extrinsics/asyncex/children/index.html | 62 +- .../asyncex/commit_reveal/index.html | 580 -- .../core/extrinsics/asyncex/index.html | 6 - .../extrinsics/asyncex/liquidity/index.html | 126 +- .../extrinsics/asyncex/mechanism/index.html | 692 -- .../extrinsics/asyncex/move_stake/index.html | 93 +- .../asyncex/registration/index.html | 117 +- .../core/extrinsics/asyncex/root/index.html | 77 +- .../extrinsics/asyncex/serving/index.html | 193 +- .../extrinsics/asyncex/staking/index.html | 130 +- .../extrinsics/asyncex/start_call/index.html | 23 +- .../core/extrinsics/asyncex/sudo/index.html | 25 +- .../core/extrinsics/asyncex/take/index.html | 68 +- .../extrinsics/asyncex/transfer/index.html | 38 +- .../extrinsics/asyncex/unstaking/index.html | 97 +- .../core/extrinsics/asyncex/utils/index.html | 40 +- .../extrinsics/asyncex/weights/index.html | 164 +- .../core/extrinsics/children/index.html | 62 +- .../core/extrinsics/commit_reveal/index.html | 580 -- .../core/extrinsics/commit_weights/index.html | 620 -- .../bittensor/core/extrinsics/index.html | 8 - .../core/extrinsics/liquidity/index.html | 124 +- .../core/extrinsics/mechanism/index.html | 692 -- .../core/extrinsics/move_stake/index.html | 85 +- .../extrinsics/params/children/index.html | 4 - .../core/extrinsics/params/index.html | 4 - .../extrinsics/params/liquidity/index.html | 4 - .../extrinsics/params/move_stake/index.html | 4 - .../extrinsics/params/registration/index.html | 4 - .../core/extrinsics/params/root/index.html | 4 - .../core/extrinsics/params/serving/index.html | 4 - .../core/extrinsics/params/staking/index.html | 4 - .../extrinsics/params/start_call/index.html | 4 - .../core/extrinsics/params/take/index.html | 4 - .../extrinsics/params/transfer/index.html | 4 - .../extrinsics/params/unstaking/index.html | 4 - .../core/extrinsics/params/weights/index.html | 4 - .../core/extrinsics/registration/index.html | 109 +- .../bittensor/core/extrinsics/root/index.html | 77 +- .../core/extrinsics/serving/index.html | 194 +- .../core/extrinsics/set_weights/index.html | 582 -- .../core/extrinsics/staking/index.html | 132 +- .../core/extrinsics/start_call/index.html | 19 +- .../bittensor/core/extrinsics/sudo/index.html | 19 +- .../bittensor/core/extrinsics/take/index.html | 68 +- .../core/extrinsics/transfer/index.html | 35 +- .../core/extrinsics/unstaking/index.html | 91 +- .../core/extrinsics/utils/index.html | 42 +- .../core/extrinsics/weights/index.html | 12 +- .../html/autoapi/bittensor/core/index.html | 13 +- .../bittensor/core/metagraph/index.html | 225 +- .../bittensor/core/settings/index.html | 20 +- .../autoapi/bittensor/core/stream/index.html | 37 +- .../bittensor/core/subtensor/index.html | 1885 +++-- .../core/subtensor_api/chain/index.html | 651 -- .../core/subtensor_api/commitments/index.html | 644 -- .../core/subtensor_api/delegates/index.html | 609 -- .../core/subtensor_api/extrinsics/index.html | 742 -- .../bittensor/core/subtensor_api/index.html | 825 --- .../core/subtensor_api/metagraphs/index.html | 581 -- .../core/subtensor_api/neurons/index.html | 602 -- .../core/subtensor_api/queries/index.html | 602 -- .../core/subtensor_api/staking/index.html | 679 -- .../core/subtensor_api/subnets/index.html | 854 --- .../core/subtensor_api/utils/index.html | 556 -- .../core/subtensor_api/wallets/index.html | 742 -- .../autoapi/bittensor/core/synapse/index.html | 139 +- .../autoapi/bittensor/core/tensor/index.html | 38 +- .../bittensor/core/threadpool/index.html | 13 +- .../bittensor/core/timelock/index.html | 702 -- .../autoapi/bittensor/core/types/index.html | 331 +- .../extras/dev_framework/calls/index.html | 4 - .../calls/non_sudo_calls/index.html | 4 - .../dev_framework/calls/pallets/index.html | 4 - .../dev_framework/calls/sudo_calls/index.html | 4 - .../bittensor/extras/dev_framework/index.html | 4 - .../extras/dev_framework/subnet/index.html | 12 +- .../extras/dev_framework/utils/index.html | 4 - .../html/autoapi/bittensor/extras/index.html | 4 - .../extras/subtensor_api/chain/index.html | 6 +- .../subtensor_api/commitments/index.html | 6 +- .../extras/subtensor_api/delegates/index.html | 6 +- .../subtensor_api/extrinsics/index.html | 6 +- .../bittensor/extras/subtensor_api/index.html | 4 - .../subtensor_api/metagraphs/index.html | 6 +- .../extras/subtensor_api/neurons/index.html | 6 +- .../extras/subtensor_api/queries/index.html | 6 +- .../extras/subtensor_api/staking/index.html | 6 +- .../extras/subtensor_api/subnets/index.html | 6 +- .../extras/subtensor_api/utils/index.html | 4 - .../extras/subtensor_api/wallets/index.html | 6 +- .../bittensor/extras/timelock/index.html | 4 - .../html/autoapi/bittensor/index.html | 4 - .../bittensor/utils/axon_utils/index.html | 13 +- .../bittensor/utils/balance/index.html | 107 +- .../utils/btlogging/console/index.html | 4 - .../utils/btlogging/defines/index.html | 4 - .../utils/btlogging/format/index.html | 14 +- .../utils/btlogging/helpers/index.html | 10 +- .../bittensor/utils/btlogging/index.html | 4 - .../utils/btlogging/levels/index.html | 4 - .../utils/btlogging/loggingmachine/index.html | 16 +- .../bittensor/utils/easy_imports/index.html | 251 +- .../bittensor/utils/formatting/index.html | 4 - .../html/autoapi/bittensor/utils/index.html | 140 +- .../bittensor/utils/liquidity/index.html | 4 - .../bittensor/utils/networking/index.html | 18 +- .../utils/registration/async_pow/index.html | 14 +- .../bittensor/utils/registration/index.html | 4 - .../utils/registration/pow/index.html | 133 +- .../registration/register_cuda/index.html | 14 +- .../bittensor/utils/subnets/index.html | 16 +- .../utils/substrate_utils/hasher/index.html | 618 -- .../utils/substrate_utils/index.html | 532 -- .../utils/substrate_utils/storage/index.html | 743 -- .../bittensor/utils/version/index.html | 30 +- .../bittensor/utils/weight_utils/index.html | 95 +- static/python-api/html/autoapi/index.html | 31 - static/python-api/html/genindex.html | 2280 ++---- static/python-api/html/index.html | 4 - static/python-api/html/objects.inv | Bin 28187 -> 25063 bytes static/python-api/html/py-modindex.html | 119 - static/python-api/html/search.html | 4 - static/python-api/html/searchindex.js | 2 +- 393 files changed, 3373 insertions(+), 72114 deletions(-) delete mode 100644 static/python-api/html/_modules/bittensor/core/async_subtensor.html delete mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/commit_reveal.html delete mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/take.html delete mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/commit_reveal.html delete mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/commit_weights.html delete mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/set_weights.html delete mode 100644 static/python-api/html/_modules/bittensor/core/extrinsics/take.html delete mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api.html delete mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/chain.html delete mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/commitments.html delete mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/delegates.html delete mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/extrinsics.html delete mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/metagraphs.html delete mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/neurons.html delete mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/queries.html delete mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/staking.html delete mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/subnets.html delete mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/utils.html delete mode 100644 static/python-api/html/_modules/bittensor/core/subtensor_api/wallets.html delete mode 100644 static/python-api/html/_modules/bittensor/core/timelock.html delete mode 100644 static/python-api/html/_modules/bittensor/utils/easy_imports.html delete mode 100644 static/python-api/html/_modules/bittensor/utils/substrate_utils/hasher.html delete mode 100644 static/python-api/html/_modules/bittensor/utils/substrate_utils/storage.html delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/async_subtensor/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/axon/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/axon_info/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/chain_identity/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/delegate_info/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/delegate_info_lite/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/dynamic_info/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/info_base/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/ip_info/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/metagraph_info/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/neuron_info/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/neuron_info_lite/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/prometheus_info/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/proposal_vote_data/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/sim_swap/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/stake_info/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_identity/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_info/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_state/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/utils/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/chain_data/weight_commit_info/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/config/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/dendrite/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/errors/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/children/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/liquidity/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/mechanism/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/registration/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/root/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/serving/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/staking/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/start_call/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/sudo/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/take/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/transfer/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/utils/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/weights/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/children/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/commit_reveal/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/commit_weights/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/liquidity/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/mechanism/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/move_stake/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/children/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/liquidity/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/move_stake/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/registration/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/root/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/serving/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/staking/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/start_call/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/take/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/transfer/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/unstaking/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/weights/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/registration/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/root/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/serving/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/set_weights/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/staking/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/start_call/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/sudo/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/take/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/transfer/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/unstaking/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/utils/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/weights/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/metagraph/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/settings/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/stream/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/chain/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/commitments/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/delegates/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/extrinsics/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/metagraphs/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/neurons/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/queries/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/staking/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/subnets/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/utils/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/wallets/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/synapse/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/tensor/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/threadpool/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/timelock/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/core/types/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/pallets/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/subnet/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/utils/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/chain/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/commitments/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/delegates/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/extrinsics/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/metagraphs/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/neurons/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/queries/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/staking/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/subnets/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/utils/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/wallets/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/extras/timelock/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/axon_utils/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/balance/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/console/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/defines/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/format/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/helpers/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/levels/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/loggingmachine/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/easy_imports/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/formatting/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/liquidity/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/networking/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/registration/async_pow/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/registration/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/registration/pow/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/registration/register_cuda/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/subnets/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/substrate_utils/hasher/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/substrate_utils/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/substrate_utils/storage/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/version/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/bittensor/utils/weight_utils/index.rst delete mode 100644 static/python-api/html/_sources/autoapi/index.rst delete mode 100644 static/python-api/html/_sources/index.rst delete mode 100644 static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/mechanism/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/extrinsics/commit_reveal/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/extrinsics/mechanism/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/subtensor_api/chain/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/subtensor_api/commitments/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/subtensor_api/delegates/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/subtensor_api/extrinsics/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/subtensor_api/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/subtensor_api/metagraphs/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/subtensor_api/neurons/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/subtensor_api/queries/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/subtensor_api/staking/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/subtensor_api/subnets/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/subtensor_api/utils/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/subtensor_api/wallets/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/core/timelock/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/utils/substrate_utils/hasher/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/utils/substrate_utils/index.html delete mode 100644 static/python-api/html/autoapi/bittensor/utils/substrate_utils/storage/index.html diff --git a/static/python-api/html/.buildinfo b/static/python-api/html/.buildinfo index 3ae243fdbd..03af23f641 100644 --- a/static/python-api/html/.buildinfo +++ b/static/python-api/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: a52a05da02c7b25f2417743a861b5eb7 +config: 596373974aba17ed1e8dbc63aa6bcbab tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/static/python-api/html/_modules/async_substrate_interface/errors.html b/static/python-api/html/_modules/async_substrate_interface/errors.html index cd604ec65f..7e74ed35fa 100644 --- a/static/python-api/html/_modules/async_substrate_interface/errors.html +++ b/static/python-api/html/_modules/async_substrate_interface/errors.html @@ -149,7 +149,6 @@
          • API Reference
            • bittensor
              diff --git a/static/python-api/html/_modules/async_substrate_interface/utils.html b/static/python-api/html/_modules/async_substrate_interface/utils.html index f644dffa29..2d70d08b52 100644 --- a/static/python-api/html/_modules/async_substrate_interface/utils.html +++ b/static/python-api/html/_modules/async_substrate_interface/utils.html @@ -149,7 +149,6 @@
            • API Reference
              • bittensor
                diff --git a/static/python-api/html/_modules/bittensor/core/async_subtensor.html b/static/python-api/html/_modules/bittensor/core/async_subtensor.html deleted file mode 100644 index bce8ca1378..0000000000 --- a/static/python-api/html/_modules/bittensor/core/async_subtensor.html +++ /dev/null @@ -1,6429 +0,0 @@ - - - - - - - - - - bittensor.core.async_subtensor — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                - - - - - - - - - -
                - -
                - - - - - -
                -
                - - - - - - - - -
                - - - -
                - -
                -
                - -
                -
                - -
                - -
                - -
                - - -
                - -
                - -
                - - - - - - - - - - - - - - - - - - - -
                - -
                - -
                -
                - - - -
                -

                - -
                -
                - -
                -
                -
                - - - - -
                - -

                Source code for bittensor.core.async_subtensor

                -import asyncio
                -import copy
                -import ssl
                -from datetime import datetime, timezone
                -from functools import partial
                -from typing import cast, Optional, Any, Union, Iterable, TYPE_CHECKING
                -
                -import asyncstdlib as a
                -import numpy as np
                -import scalecodec
                -from async_substrate_interface import AsyncSubstrateInterface
                -from async_substrate_interface.substrate_addons import RetryAsyncSubstrate
                -from bittensor_drand import get_encrypted_commitment
                -from bittensor_wallet.utils import SS58_FORMAT
                -from numpy.typing import NDArray
                -from scalecodec import GenericCall
                -
                -from bittensor.core.chain_data import (
                -    DelegateInfo,
                -    DynamicInfo,
                -    MetagraphInfo,
                -    NeuronInfoLite,
                -    NeuronInfo,
                -    ProposalVoteData,
                -    SelectiveMetagraphIndex,
                -    StakeInfo,
                -    SubnetHyperparameters,
                -    SubnetIdentity,
                -    SubnetInfo,
                -    WeightCommitInfo,
                -    decode_account_id,
                -)
                -from bittensor.core.chain_data.chain_identity import ChainIdentity
                -from bittensor.core.chain_data.delegate_info import DelegatedInfo
                -from bittensor.core.chain_data.utils import (
                -    decode_block,
                -    decode_metadata,
                -    decode_revealed_commitment,
                -    decode_revealed_commitment_with_hotkey,
                -)
                -from bittensor.core.config import Config
                -from bittensor.core.errors import ChainError, SubstrateRequestException
                -from bittensor.core.extrinsics.asyncex.children import (
                -    root_set_pending_childkey_cooldown_extrinsic,
                -    set_children_extrinsic,
                -)
                -from bittensor.core.extrinsics.asyncex.commit_reveal import commit_reveal_v3_extrinsic
                -from bittensor.core.extrinsics.asyncex.move_stake import (
                -    transfer_stake_extrinsic,
                -    swap_stake_extrinsic,
                -    move_stake_extrinsic,
                -)
                -from bittensor.core.extrinsics.asyncex.registration import (
                -    burned_register_extrinsic,
                -    register_extrinsic,
                -    register_subnet_extrinsic,
                -    set_subnet_identity_extrinsic,
                -)
                -from bittensor.core.extrinsics.asyncex.root import (
                -    set_root_weights_extrinsic,
                -    root_register_extrinsic,
                -)
                -from bittensor.core.extrinsics.asyncex.serving import (
                -    get_last_bonds_reset,
                -    publish_metadata,
                -    get_metadata,
                -)
                -from bittensor.core.extrinsics.asyncex.serving import serve_axon_extrinsic
                -from bittensor.core.extrinsics.asyncex.staking import (
                -    add_stake_extrinsic,
                -    add_stake_multiple_extrinsic,
                -)
                -from bittensor.core.extrinsics.asyncex.start_call import start_call_extrinsic
                -from bittensor.core.extrinsics.asyncex.take import (
                -    decrease_take_extrinsic,
                -    increase_take_extrinsic,
                -)
                -from bittensor.core.extrinsics.asyncex.transfer import transfer_extrinsic
                -from bittensor.core.extrinsics.asyncex.unstaking import (
                -    unstake_all_extrinsic,
                -    unstake_extrinsic,
                -    unstake_multiple_extrinsic,
                -)
                -from bittensor.core.extrinsics.asyncex.weights import (
                -    commit_weights_extrinsic,
                -    set_weights_extrinsic,
                -    reveal_weights_extrinsic,
                -)
                -from bittensor.core.metagraph import AsyncMetagraph
                -from bittensor.core.settings import version_as_int, TYPE_REGISTRY
                -from bittensor.core.types import ParamWithTypes, SubtensorMixin
                -from bittensor.utils import (
                -    Certificate,
                -    decode_hex_identity_dict,
                -    format_error_message,
                -    is_valid_ss58_address,
                -    torch,
                -    u16_normalized_float,
                -    u64_normalized_float,
                -)
                -from bittensor.core.extrinsics.asyncex.liquidity import (
                -    add_liquidity_extrinsic,
                -    modify_liquidity_extrinsic,
                -    remove_liquidity_extrinsic,
                -    toggle_user_liquidity_extrinsic,
                -)
                -from bittensor.utils.balance import (
                -    Balance,
                -    fixed_to_float,
                -    check_and_convert_to_balance,
                -)
                -from bittensor.utils.btlogging import logging
                -from bittensor.utils.liquidity import (
                -    calculate_fees,
                -    get_fees,
                -    tick_to_price,
                -    price_to_tick,
                -    LiquidityPosition,
                -)
                -from bittensor.utils.weight_utils import (
                -    generate_weight_hash,
                -    convert_uids_and_weights,
                -    U16_MAX,
                -)
                -
                -if TYPE_CHECKING:
                -    from async_substrate_interface.types import ScaleObj
                -    from bittensor_wallet import Wallet
                -    from bittensor.core.axon import Axon
                -    from async_substrate_interface import AsyncQueryMapResult
                -
                -
                -
                -[docs] -class AsyncSubtensor(SubtensorMixin): - """Asynchronous interface for interacting with the Bittensor blockchain. - - This class provides a thin layer over the Substrate Interface, offering a collection of frequently-used calls for - querying blockchain data, managing stakes, registering neurons, and interacting with the Bittensor network. - - - """ - - def __init__( - self, - network: Optional[str] = None, - config: Optional["Config"] = None, - log_verbose: bool = False, - fallback_endpoints: Optional[list[str]] = None, - retry_forever: bool = False, - _mock: bool = False, - archive_endpoints: Optional[list[str]] = None, - websocket_shutdown_timer: float = 5.0, - ): - """Initializes an AsyncSubtensor instance for blockchain interaction. - - Arguments: - network: The network name or type to connect to (e.g., "finney", "test"). If ``None``, uses the default - network from config. - config: Configuration object for the AsyncSubtensor instance. If ``None``, uses the default configuration. - log_verbose: Enables or disables verbose logging. Defaults to ``False``. - fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. - Defaults to ``None``. - retry_forever: Whether to retry forever on connection errors. Defaults to ``False``. - _mock: Whether this is a mock instance. Mainly for testing purposes. Defaults to ``False``. - archive_endpoints: Similar to fallback_endpoints, but specifically only archive nodes. Will be used in - cases where you are requesting a block that is too old for your current (presumably lite) node. - Defaults to ``None``. - websocket_shutdown_timer: Amount of time, in seconds, to wait after the last response from the chain to - close the connection. Defaults to ``5.0``. - Returns: - None - - Raises: - ConnectionError: If unable to connect to the specified network. - ValueError: If invalid network or configuration parameters are provided. - Exception: Any other exceptions raised during setup or configuration. - - Typical usage example: - - import bittensor as bt - import asyncio - - async def main(): - async with bt.AsyncSubtensor(network="finney") as subtensor: - block_hash = await subtensor.get_block_hash() - - asyncio.run(main()) - """ - if config is None: - config = AsyncSubtensor.config() - self._config = copy.deepcopy(config) - self.chain_endpoint, self.network = AsyncSubtensor.setup_config( - network, self._config - ) - - self.log_verbose = log_verbose - self._check_and_log_network_settings() - - logging.debug( - f"Connecting to network: [blue]{self.network}[/blue], " - f"chain_endpoint: [blue]{self.chain_endpoint}[/blue]..." - ) - self.substrate = self._get_substrate( - fallback_endpoints=fallback_endpoints, - retry_forever=retry_forever, - _mock=_mock, - archive_endpoints=archive_endpoints, - ws_shutdown_timer=websocket_shutdown_timer, - ) - if self.log_verbose: - logging.info( - f"Connected to {self.network} network and {self.chain_endpoint}." - ) - -
                -[docs] - async def close(self): - """Closes the connection to the blockchain. - - Use this to explicitly clean up resources and close the network connection instead of waiting for garbage - collection. - - Returns: - None - - Example: - subtensor = AsyncSubtensor(network="finney") - await subtensor.initialize() - - # Use the subtensor... - balance = await subtensor.get_balance(address="5F...") - - # Close when done - await subtensor.close() - """ - if self.substrate: - await self.substrate.close()
                - - -
                -[docs] - async def initialize(self): - """Initializes the connection to the blockchain. - - This method establishes the connection to the Bittensor blockchain and should be called after creating an - AsyncSubtensor instance before making any queries. - - Returns: - AsyncSubtensor: The initialized instance (self) for method chaining. - - Raises: - ConnectionError: If unable to connect to the blockchain due to timeout or connection refusal. - - Example: - subtensor = AsyncSubtensor(network="finney") - - # Initialize the connection - await subtensor.initialize() - - # Now you can make queries - balance = await subtensor.get_balance(address="5F...") - - # Or chain the initialization - subtensor = await AsyncSubtensor(network="finney").initialize() - """ - logging.info( - f"[magenta]Connecting to Substrate:[/magenta] [blue]{self}[/blue][magenta]...[/magenta]" - ) - try: - await self.substrate.initialize() - return self - except TimeoutError: - logging.error( - f"[red]Error[/red]: Timeout occurred connecting to substrate." - f" Verify your chain and network settings: {self}" - ) - raise ConnectionError - except (ConnectionRefusedError, ssl.SSLError) as error: - logging.error( - f"[red]Error[/red]: Connection refused when connecting to substrate. " - f"Verify your chain and network settings: {self}. Error: {error}" - ) - raise ConnectionError
                - - - async def __aenter__(self): - logging.info( - f"[magenta]Connecting to Substrate:[/magenta] [blue]{self}[/blue][magenta]...[/magenta]" - ) - try: - await self.substrate.initialize() - return self - except TimeoutError: - logging.error( - f"[red]Error[/red]: Timeout occurred connecting to substrate." - f" Verify your chain and network settings: {self}" - ) - raise ConnectionError - except (ConnectionRefusedError, ssl.SSLError) as error: - logging.error( - f"[red]Error[/red]: Connection refused when connecting to substrate. " - f"Verify your chain and network settings: {self}. Error: {error}" - ) - raise ConnectionError - - async def __aexit__(self, exc_type, exc_val, exc_tb): - await self.substrate.close() - -
                -[docs] - async def determine_block_hash( - self, - block: Optional[int], - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[str]: - """Determine the appropriate block hash based on the provided parameters. - - Ensures that only one of the block specification parameters is used and returns the appropriate block hash - for blockchain queries. - - Arguments: - block: The block number to get the hash for. Do not specify if using block_hash or reuse_block. - block_hash: The hash of the blockchain block. Do not specify if using block or reuse_block. - reuse_block: Whether to reuse the last-used block hash. Do not set if using block or reuse_block. - - Returns: - Optional[str]: The block hash if one can be determined, None otherwise. - - Raises: - ValueError: If more than one of block, block_hash, or reuse_block is specified. - - Example: - # Get hash for specific block - block_hash = await subtensor.determine_block_hash(block=1000000) - - # Use provided block hash - hash = await subtensor.determine_block_hash(block_hash="0x1234...") - - # Reuse last block hash - hash = await subtensor.determine_block_hash(reuse_block=True) - """ - # Ensure that only one of the parameters is specified. - if sum(bool(x) for x in [block, block_hash, reuse_block]) > 1: - raise ValueError( - "Only one of ``block``, ``block_hash``, or ``reuse_block`` can be specified." - ) - - # Return the appropriate value. - if block_hash: - return block_hash - if block: - return await self.get_block_hash(block) - return None
                - - -
                -[docs] - async def encode_params( - self, - call_definition: dict[str, list["ParamWithTypes"]], - params: Union[list[Any], dict[str, Any]], - ) -> str: - """Encodes parameters into a hex string using their type definitions. - - This method takes a call definition (which specifies parameter types) and actual parameter values, then - encodes them into a hex string that can be used for blockchain transactions. - - Arguments: - call_definition: A dictionary containing parameter type definitions. Should have a "params" key with a - list of parameter definitions. - params: The actual parameter values to encode. Can be either a list (for positional parameters) or a - dictionary (for named parameters). - - Returns: - str: A hex-encoded string representation of the parameters. - - Raises: - ValueError: If a required parameter is missing from the params dictionary. - - Example: - # Define parameter types - call_def = { - "params": [ - {"name": "amount", "type": "u64"}, - {"name": "coldkey_ss58", "type": "str"} - ] - } - - # Encode parameters as a dictionary - params_dict = { - "amount": 1000000, - "coldkey_ss58": "5F..." - } - encoded = await subtensor.encode_params(call_definition=call_def, params=params_dict) - - # Or encode as a list (positional) - params_list = [1000000, "5F..."] - encoded = await subtensor.encode_params(call_definition=call_def, params=params_list) - """ - param_data = scalecodec.ScaleBytes(b"") - - for i, param in enumerate(call_definition["params"]): - scale_obj = await self.substrate.create_scale_object(param["type"]) - if isinstance(params, list): - param_data += scale_obj.encode(params[i]) - else: - if param["name"] not in params: - raise ValueError(f"Missing param {param['name']} in params dict.") - - param_data += scale_obj.encode(params[param["name"]]) - - return param_data.to_hex()
                - - -
                -[docs] - async def get_hyperparameter( - self, - param_name: str, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[Any]: - """Retrieves a specified hyperparameter for a specific subnet. - - This method queries the blockchain for subnet-specific hyperparameters such as difficulty, tempo, immunity - period, and other network configuration values. - - Arguments: - param_name: The name of the hyperparameter to retrieve (e.g., "Difficulty", "Tempo", "ImmunityPeriod"). - netuid: The unique identifier of the subnet. - block: The block number at which to retrieve the hyperparameter. Do not specify if using block_hash or - reuse_block. - block_hash: The hash of the blockchain block for the query. Do not specify if using block or reuse_block. - reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. - - Returns: - The value of the specified hyperparameter if the subnet exists, None otherwise. - - Example: - # Get difficulty for subnet 1 - difficulty = await subtensor.get_hyperparameter(param_name="Difficulty", netuid=1) - - # Get tempo at a specific block - tempo = await subtensor.get_hyperparameter(param_name="Tempo", netuid=1, block=1000000) - - # Get immunity period using block hash - immunity = await subtensor.get_hyperparameter(param_name="ImmunityPeriod", netuid=1, block_hash="0x1234...") - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - if not await self.subnet_exists( - netuid, block_hash=block_hash, reuse_block=reuse_block - ): - logging.error(f"subnet {netuid} does not exist") - return None - - result = await self.substrate.query( - module="SubtensorModule", - storage_function=param_name, - params=[netuid], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - - return getattr(result, "value", result)
                - - - def _get_substrate( - self, - fallback_endpoints: Optional[list[str]] = None, - retry_forever: bool = False, - _mock: bool = False, - archive_endpoints: Optional[list[str]] = None, - ws_shutdown_timer: float = 5.0, - ) -> Union[AsyncSubstrateInterface, RetryAsyncSubstrate]: - """Creates the Substrate instance based on provided arguments. - - This internal method creates either a standard AsyncSubstrateInterface or a RetryAsyncSubstrate depending on - the configuration parameters. - - Arguments: - fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. - Defaults to ``None``. - retry_forever: Whether to retry forever on connection errors. Defaults to ``False``. - _mock: Whether this is a mock instance. Mainly for testing purposes. Defaults to ``False``. - archive_endpoints: Similar to fallback_endpoints, but specifically only archive nodes. Will be used in - cases where you are requesting a block that is too old for your current (presumably lite) node. Defaults - to ``None``. - ws_shutdown_timer: Amount of time, in seconds, to wait after the last response from the chain to close the - connection. - - Returns: - Either AsyncSubstrateInterface or RetryAsyncSubstrate. - """ - if fallback_endpoints or retry_forever or archive_endpoints: - return RetryAsyncSubstrate( - url=self.chain_endpoint, - fallback_chains=fallback_endpoints, - ss58_format=SS58_FORMAT, - type_registry=TYPE_REGISTRY, - retry_forever=retry_forever, - use_remote_preset=True, - chain_name="Bittensor", - _mock=_mock, - archive_nodes=archive_endpoints, - ws_shutdown_timer=ws_shutdown_timer, - ) - return AsyncSubstrateInterface( - url=self.chain_endpoint, - ss58_format=SS58_FORMAT, - type_registry=TYPE_REGISTRY, - use_remote_preset=True, - chain_name="Bittensor", - _mock=_mock, - ws_shutdown_timer=ws_shutdown_timer, - ) - - # Subtensor queries =========================================================================================== - -
                -[docs] - async def query_constant( - self, - module_name: str, - constant_name: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional["ScaleObj"]: - """Retrieves a constant from the specified module on the Bittensor blockchain. - - This function is used to access fixed values defined within the blockchain's modules, which are essential for - understanding the network's configuration and rules. These include include critical network parameters such as - inflation rates, consensus rules, or validation thresholds, providing a deeper understanding of the Bittensor - network's operational parameters. - - Arguments: - module_name: The name of the module containing the constant (e.g., "Balances", "SubtensorModule"). - constant_name: The name of the constant to retrieve (e.g., "ExistentialDeposit"). - block: The blockchain block number at which to query the constant. Do not specify if using block_hash or - reuse_block. - block_hash: The hash of the blockchain block at which to query the constant. Do not specify if using - block or reuse_block. - reuse_block: Whether to reuse the blockchain block at which to query the constant. Defaults to ``False``. - - Returns: - Optional[async_substrate_interface.types.ScaleObj]: The value of the constant if found, ``None`` otherwise. - - Example: - # Get existential deposit constant - existential_deposit = await subtensor.query_constant( - module_name="Balances", - constant_name="ExistentialDeposit" - ) - - # Get constant at specific block - constant = await subtensor.query_constant( - module_name="SubtensorModule", - constant_name="SomeConstant", - block=1000000 - ) - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - return await self.substrate.get_constant( - module_name=module_name, - constant_name=constant_name, - block_hash=block_hash, - reuse_block_hash=reuse_block, - )
                - - -
                -[docs] - async def query_map( - self, - module: str, - name: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - params: Optional[list] = None, - ) -> "AsyncQueryMapResult": - """Queries map storage from any module on the Bittensor blockchain. - - This function retrieves data structures that represent key-value mappings, essential for accessing complex and - structured data within the blockchain modules. - - Arguments: - module: The name of the module from which to query the map storage (e.g., "SubtensorModule", "System"). - name: The specific storage function within the module to query (e.g., "Bonds", "Weights"). - block: The blockchain block number at which to perform the query. Defaults to ``None`` (latest block). - block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. Defaults to - ``False``. - params: Parameters to be passed to the query. Defaults to ``None``. - - Returns: - AsyncQueryMapResult: A data structure representing the map storage if found, None otherwise. - - Example: - # Query bonds for subnet 1 - bonds = await subtensor.query_map(module="SubtensorModule", name="Bonds", params=[1]) - - # Query weights at specific block - weights = await subtensor.query_map(module="SubtensorModule", name="Weights", params=[1], block=1000000) - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - result = await self.substrate.query_map( - module=module, - storage_function=name, - params=params, - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - return result
                - - -
                -[docs] - async def query_map_subtensor( - self, - name: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - params: Optional[list] = None, - ) -> "AsyncQueryMapResult": - """Queries map storage from the Subtensor module on the Bittensor blockchain. This function is designed to - retrieve a map-like data structure, which can include various neuron-specific details or network-wide - attributes. - - Arguments: - name: The name of the map storage function to query. - block: The blockchain block number at which to perform the query. - block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - params: A list of parameters to pass to the query function. - - Returns: - An object containing the map-like data structure, or ``None`` if not found. - - This function is particularly useful for analyzing and understanding complex network structures and - relationships within the Bittensor ecosystem, such as interneuronal connections and stake distributions. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - return await self.substrate.query_map( - module="SubtensorModule", - storage_function=name, - params=params, - block_hash=block_hash, - reuse_block_hash=reuse_block, - )
                - - -
                -[docs] - async def query_module( - self, - module: str, - name: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - params: Optional[list] = None, - ) -> Optional[Union["ScaleObj", Any]]: - """Queries any module storage on the Bittensor blockchain with the specified parameters and block number. - This function is a generic query interface that allows for flexible and diverse data retrieval from various - blockchain modules. - - Arguments: - module: The name of the module from which to query data. - name: The name of the storage function within the module. - block: The blockchain block number at which to perform the query. - block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - params: A list of parameters to pass to the query function. - - Returns: - An object containing the requested data if found, ``None`` otherwise. - - This versatile query function is key to accessing a wide range of data and insights from different parts of the - Bittensor blockchain, enhancing the understanding and analysis of the network's state and dynamics. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - return await self.substrate.query( - module=module, - storage_function=name, - params=params, - block_hash=block_hash, - reuse_block_hash=reuse_block, - )
                - - -
                -[docs] - async def query_runtime_api( - self, - runtime_api: str, - method: str, - params: Optional[Union[list[Any], dict[str, Any]]], - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[Any]: - """Queries the runtime API of the Bittensor blockchain, providing a way to interact with the underlying runtime - and retrieve data encoded in Scale Bytes format. This function is essential for advanced users who need to - interact with specific runtime methods and decode complex data types. - - Arguments: - runtime_api: The name of the runtime API to query. - method: The specific method within the runtime API to call. - params: The parameters to pass to the method call. - block: the block number for this query. Do not specify if using block_hash or reuse_block. - block_hash: The hash of the blockchain block number at which to perform the query. Do not specify if using - block or reuse_block. - reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. - - Returns: - The decoded result from the runtime API call, or ``None`` if the call fails. - - This function enables access to the deeper layers of the Bittensor blockchain, allowing for detailed and - specific interactions with the network's runtime environment. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - if not block_hash and reuse_block: - block_hash = self.substrate.last_block_hash - result = await self.substrate.runtime_call( - runtime_api, method, params, block_hash - ) - return result.value
                - - -
                -[docs] - async def query_subtensor( - self, - name: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - params: Optional[list] = None, - ) -> Optional[Union["ScaleObj", Any]]: - """Queries named storage from the Subtensor module on the Bittensor blockchain. This function is used to - retrieve specific data or parameters from the blockchain, such as stake, rank, or other neuron-specific - attributes. - - Arguments: - name: The name of the storage function to query. - block: The blockchain block number at which to perform the query. - block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - params: A list of parameters to pass to the query function. - - Returns: - query_response: An object containing the requested data. - - This query function is essential for accessing detailed information about the network and its neurons, providing - valuable insights into the state and dynamics of the Bittensor ecosystem. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - return await self.substrate.query( - module="SubtensorModule", - storage_function=name, - params=params, - block_hash=block_hash, - reuse_block_hash=reuse_block, - )
                - - -
                -[docs] - async def state_call( - self, - method: str, - data: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> dict[Any, Any]: - """Makes a state call to the Bittensor blockchain, allowing for direct queries of the blockchain's state. - This function is typically used for advanced queries that require specific method calls and data inputs. - - Arguments: - method: The method name for the state call. - data: The data to be passed to the method. - block: The blockchain block number at which to perform the state call. - block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - Returns: - result (dict[Any, Any]): The result of the rpc call. - - The state call function provides a more direct and flexible way of querying blockchain data, useful for specific - use cases where standard queries are insufficient. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - return await self.substrate.rpc_request( - method="state_call", - params=[method, data, block_hash] if block_hash else [method, data], - reuse_block_hash=reuse_block, - )
                - - - # Common subtensor methods ========================================================================================= - - @property - async def block(self): - """Provides an asynchronous property to retrieve the current block.""" - return await self.get_current_block() - -
                -[docs] - async def all_subnets( - self, - block_number: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[list[DynamicInfo]]: - """Queries the blockchain for comprehensive information about all subnets, including their dynamic parameters - and operational status. - - Arguments: - block_number: The block number to query the subnet information from. Do not specify if using block_hash or - reuse_block. - block_hash: The hash of the blockchain block number for the query. Do not specify if using reuse_block or - block. - reuse_block: Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or block. - - Returns: - Optional[list[DynamicInfo]]: A list of DynamicInfo objects, each containing detailed information about a - subnet, or None if the query fails. - - Example: - # Get all subnets at current block - subnets = await subtensor.all_subnets() - """ - block_hash = await self.determine_block_hash( - block=block_number, block_hash=block_hash, reuse_block=reuse_block - ) - if not block_hash and reuse_block: - block_hash = self.substrate.last_block_hash - - query, subnet_prices = await asyncio.gather( - self.substrate.runtime_call( - api="SubnetInfoRuntimeApi", - method="get_all_dynamic_info", - block_hash=block_hash, - ), - self.get_subnet_prices(), - ) - - decoded = query.decode() - - for sn in decoded: - sn.update({"price": subnet_prices.get(sn["netuid"], Balance.from_tao(0))}) - return DynamicInfo.list_from_dicts(decoded)
                - - -
                -[docs] - async def blocks_since_last_step( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[int]: - """Queries the blockchain to determine how many blocks have passed since the last epoch step for a specific - subnet. - - Arguments: - netuid: The unique identifier of the subnetwork. - block: The block number for this query. Do not specify if using block_hash or reuse_block. - block_hash: The hash of the blockchain block number for the query. Do not specify if using reuse_block or - block. - reuse_block: Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or block. - - Returns: - The number of blocks since the last step in the subnet, or None if the query fails. - - Example: - # Get blocks since last step for subnet 1 - blocks = await subtensor.blocks_since_last_step(netuid=1) - - # Get blocks since last step at specific block - blocks = await subtensor.blocks_since_last_step(netuid=1, block=1000000) - """ - query = await self.query_subtensor( - name="BlocksSinceLastStep", - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - params=[netuid], - ) - return query.value if query is not None and hasattr(query, "value") else query
                - - -
                -[docs] - async def blocks_since_last_update(self, netuid: int, uid: int) -> Optional[int]: - """Returns the number of blocks since the last update, or ``None`` if the subnetwork or UID does not exist. - - Arguments: - netuid: The unique identifier of the subnetwork. - uid: The unique identifier of the neuron. - - Returns: - Optional[int]: The number of blocks since the last update, or None if the subnetwork or UID does not exist. - - Example: - # Get blocks since last update for UID 5 in subnet 1 - blocks = await subtensor.blocks_since_last_update(netuid=1, uid=5) - - # Check if neuron needs updating - blocks_since_update = await subtensor.blocks_since_last_update(netuid=1, uid=10) - """ - call = await self.get_hyperparameter(param_name="LastUpdate", netuid=netuid) - return None if call is None else await self.get_current_block() - int(call[uid])
                - - -
                -[docs] - async def bonds( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list[tuple[int, list[tuple[int, int]]]]: - """Retrieves the bond distribution set by subnet validators within a specific subnet. - - Bonds represent the "investment" a subnet validator has made in evaluating a specific subnet miner. This - bonding mechanism is integral to the Yuma Consensus' design intent of incentivizing high-quality performance - by subnet miners, and honest evaluation by subnet validators. - - Arguments: - netuid: The unique identifier of the subnet. - block: The block number for this query. Do not specify if using block_hash or reuse_block. - block_hash: The hash of the block for the query. Do not specify if using reuse_block or block. - reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. - - Returns: - List of tuples mapping each neuron's UID to its bonds with other neurons. - - Example: - # Get bonds for subnet 1 at block 1000000 - bonds = await subtensor.bonds(netuid=1, block=1000000) - - Notes: - - See <https://docs.learnbittensor.org/glossary#validator-miner-bonds> - - See <https://docs.learnbittensor.org/glossary#yuma-consensus> - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - b_map_encoded = await self.substrate.query_map( - module="SubtensorModule", - storage_function="Bonds", - params=[netuid], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - b_map = [] - async for uid, b in b_map_encoded: - if b.value is not None: - b_map.append((uid, b.value)) - - return b_map
                - - -
                -[docs] - async def commit( - self, wallet: "Wallet", netuid: int, data: str, period: Optional[int] = None - ) -> bool: - """Commits arbitrary data to the Bittensor network by publishing metadata. - - This method allows neurons to publish arbitrary data to the blockchain, which can be used for various purposes - such as sharing model updates, configuration data, or other network-relevant information. - - Arguments: - wallet: The wallet associated with the neuron committing the data. - netuid: The unique identifier of the subnet. - data: The data to be committed to the network. - period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - - Returns: - bool: True if the commit was successful, False otherwise. - - Example: - # Commit some data to subnet 1 - success = await subtensor.commit(wallet=my_wallet, netuid=1, data="Hello Bittensor!") - - # Commit with custom period - success = await subtensor.commit(wallet=my_wallet, netuid=1, data="Model update v2.0", period=100) - - Note: See <https://docs.learnbittensor.org/glossary#commit-reveal> - """ - return await publish_metadata( - subtensor=self, - wallet=wallet, - netuid=netuid, - data_type=f"Raw{len(data)}", - data=data.encode(), - period=period, - )
                - - - set_commitment = commit - -
                -[docs] - async def commit_reveal_enabled( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> bool: - """Check if commit-reveal mechanism is enabled for a given subnet at a specific block. - - The commit reveal feature is designed to solve the weight-copying problem by giving would-be weight-copiers - access only to stale weights. Copying stale weights should result in subnet validators departing from consensus. - - Arguments: - netuid: The unique identifier of the subnet for which to check the commit-reveal mechanism. - block: The block number to query. Do not specify if using block_hash or reuse_block. - block_hash: The block hash at which to check the parameter. Do not set if using block or reuse_block. - reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. - - Returns: - bool: True if commit-reveal mechanism is enabled, False otherwise. - - Example: - # Check if commit-reveal is enabled for subnet 1 - enabled = await subtensor.commit_reveal_enabled(netuid=1) - - # Check at specific block - enabled = await subtensor.commit_reveal_enabled(netuid=1, block=1000000) - - Notes: - See also: <https://docs.learnbittensor.org/glossary#commit-reveal> - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - call = await self.get_hyperparameter( - param_name="CommitRevealWeightsEnabled", - block_hash=block_hash, - netuid=netuid, - reuse_block=reuse_block, - ) - return True if call is True else False
                - - -
                -[docs] - async def difficulty( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[int]: - """Retrieves the 'Difficulty' hyperparameter for a specified subnet in the Bittensor network. - - This parameter determines the computational challenge required for neurons to participate in consensus and - validation processes. The difficulty directly impacts the network's security and integrity by setting the - computational effort required for validating transactions and participating in the network's consensus - mechanism. - - Arguments: - netuid: The unique identifier of the subnet. - block: The block number for the query. Do not specify if using block_hash or reuse_block. - block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - Returns: - Optional[int]: The value of the 'Difficulty' hyperparameter if the subnet exists, None otherwise. - - Example: - # Get difficulty for subnet 1 - difficulty = await subtensor.difficulty(netuid=1) - - # Get difficulty at specific block - difficulty = await subtensor.difficulty(netuid=1, block=1000000) - - Notes: - See also: <https://docs.learnbittensor.org/glossary#difficulty> - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - call = await self.get_hyperparameter( - param_name="Difficulty", - netuid=netuid, - block_hash=block_hash, - reuse_block=reuse_block, - ) - if call is None: - return None - return int(call)
                - - -
                -[docs] - async def does_hotkey_exist( - self, - hotkey_ss58: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> bool: - """Returns true if the hotkey is known by the chain and there are accounts. - - This method queries the SubtensorModule's Owner storage function to determine if the hotkey is registered. - - Arguments: - hotkey_ss58: The SS58 address of the hotkey. - block: The block number for this query. Do not specify if using block_hash or reuse_block. - block_hash: The hash of the block number to check the hotkey against. Do not specify if using reuse_block - or block. - reuse_block: Whether to reuse the last-used blockchain hash. Do not set if using block_hash or block. - - Returns: - bool: True if the hotkey is known by the chain and there are accounts, False otherwise. - - Example: - # Check if hotkey exists - exists = await subtensor.does_hotkey_exist(hotkey_ss58="5F...") - - # Check at specific block - exists = await subtensor.does_hotkey_exist(hotkey_ss58="5F...", block=1000000) - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - result = await self.substrate.query( - module="SubtensorModule", - storage_function="Owner", - params=[hotkey_ss58], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - return_val = ( - False - if result is None - # not the default key (0x0) - else result != "5C4hrfjw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM" - ) - return return_val
                - - -
                -[docs] - async def get_all_subnets_info( - self, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list["SubnetInfo"]: - """Retrieves detailed information about all subnets within the Bittensor network. - - This function provides comprehensive data on each subnet, including its characteristics and operational - parameters. - - Arguments: - block: The block number for the query. - block_hash: The block hash for the query. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - list[SubnetInfo]: A list of SubnetInfo objects, each containing detailed information about a subnet. - - Example: - # Get all subnet information - subnets = await subtensor.get_all_subnets_info() - - # Get at specific block - subnets = await subtensor.get_all_subnets_info(block=1000000) - - # Iterate over subnet information - for subnet in subnets: - print(f"Subnet {subnet.netuid}: {subnet.name}") - - Note: - Gaining insights into the subnets' details assists in understanding the network's composition, the roles - of different subnets, and their unique features. - - Notes: - See also: <https://docs.learnbittensor.org/glossary#subnet> - """ - result = await self.query_runtime_api( - runtime_api="SubnetInfoRuntimeApi", - method="get_subnets_info_v2", - params=[], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - if not result: - return [] - - subnets_prices = await self.get_subnet_prices() - - for subnet in result: - subnet.update({"price": subnets_prices.get(subnet["netuid"], 0)}) - - return SubnetInfo.list_from_dicts(result)
                - - -
                -[docs] - async def get_balance( - self, - address: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Balance: - """Retrieves the balance for given coldkey. - - This method queries the System module's Account storage to get the current balance of a coldkey address. The - balance represents the amount of TAO tokens held by the specified address. - - Arguments: - address: The coldkey address in SS58 format. - block: The block number for the query. - block_hash: The block hash for the query. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - Balance: The balance object containing the account's TAO balance. - - Example: - # Get balance for an address - balance = await subtensor.get_balance(address="5F...") - print(f"Balance: {balance.tao} TAO") - - # Get balance at specific block - balance = await subtensor.get_balance(address="5F...", block=1000000) - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - balance = await self.substrate.query( - module="System", - storage_function="Account", - params=[address], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - return Balance(balance["data"]["free"])
                - - -
                -[docs] - async def get_balances( - self, - *addresses: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> dict[str, Balance]: - """Retrieves the balance for given coldkey(s). - - This method efficiently queries multiple coldkey addresses in a single batch operation, returning a dictionary - mapping each address to its corresponding balance. This is more efficient than calling get_balance multiple - times. - - Arguments: - *addresses: Variable number of coldkey addresses in SS58 format. - block: The block number for the query. - block_hash: The block hash for the query. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - dict[str, Balance]: A dictionary mapping each address to its Balance object. - - Example: - # Get balances for multiple addresses - balances = await subtensor.get_balances("5F...", "5G...", "5H...") - """ - if reuse_block: - block_hash = self.substrate.last_block_hash - elif not block_hash: - block_hash = await self.get_block_hash() - else: - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - calls = [ - ( - await self.substrate.create_storage_key( - "System", "Account", [address], block_hash=block_hash - ) - ) - for address in addresses - ] - batch_call = await self.substrate.query_multi(calls, block_hash=block_hash) - results = {} - for item in batch_call: - value = item[1] or {"data": {"free": 0}} - results.update({item[0].params[0]: Balance(value["data"]["free"])}) - return results
                - - -
                -[docs] - async def get_current_block(self) -> int: - """Returns the current block number on the Bittensor blockchain. - - This function provides the latest block number, indicating the most recent state of the blockchain. Knowing - the current block number is essential for querying real-time data and performing time-sensitive operations on - the blockchain. It serves as a reference point for network activities and data synchronization. - - Returns: - int: The current chain block number. - - Example: - # Get current block number - current_block = await subtensor.get_current_block() - print(f"Current block: {current_block}") - - block = await subtensor.get_current_block() - if block > 1000000: - print("Network has progressed past block 1M") - - Notes: - See also: <https://docs.learnbittensor.org/glossary#block> - """ - return await self.substrate.get_block_number(None)
                - - - @a.lru_cache(maxsize=128) - async def _get_block_hash(self, block_id: int): - return await self.substrate.get_block_hash(block_id) - -
                -[docs] - async def get_block_hash(self, block: Optional[int] = None) -> str: - """Retrieves the hash of a specific block on the Bittensor blockchain. - - The block hash is a unique identifier representing the cryptographic hash of the block's content, ensuring its - integrity and immutability. It is a fundamental aspect of blockchain technology, providing a secure reference - to each block's data. It is crucial for verifying transactions, ensuring data consistency, and maintaining the - trustworthiness of the blockchain. - - Arguments: - block: The block number for which the hash is to be retrieved. If ``None``, returns the latest block hash. - - Returns: - str: The cryptographic hash of the specified block. - - Example: - # Get hash for specific block - block_hash = await subtensor.get_block_hash(block=1000000) - print(f"Block 1000000 hash: {block_hash}") - - # Get latest block hash - latest_hash = await subtensor.get_block_hash() - print(f"Latest block hash: {latest_hash}") - - Notes: - See also: <https://docs.learnbittensor.org/glossary#block> - """ - if block: - return await self._get_block_hash(block) - else: - return await self.substrate.get_chain_head()
                - - -
                -[docs] - async def get_parents( - self, - hotkey: str, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list[tuple[float, str]]: - """This method retrieves the parent of a given hotkey and netuid. It queries the SubtensorModule's ParentKeys - storage function to get the children and formats them before returning as a tuple. - - Arguments: - hotkey: The child hotkey SS58. - netuid: The netuid value. - block: The block number for which the children are to be retrieved. - block_hash: The hash of the block to retrieve the subnet unique identifiers from. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - A list of formatted parents [(proportion, parent)] - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - parents = await self.substrate.query( - module="SubtensorModule", - storage_function="ParentKeys", - params=[hotkey, netuid], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - if parents: - formatted_parents = [] - for proportion, parent in parents.value: - # Convert U64 to int - formatted_child = decode_account_id(parent[0]) - normalized_proportion = u64_normalized_float(proportion) - formatted_parents.append((normalized_proportion, formatted_child)) - return formatted_parents - - return []
                - - -
                -[docs] - async def get_children( - self, - hotkey: str, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> tuple[bool, list[tuple[float, str]], str]: - """Retrieves the children of a given hotkey and netuid. - - This method queries the SubtensorModule's ChildKeys storage function to get the children and formats them before - returning as a tuple. It provides information about the child neurons that a validator has set for weight - distribution. - - Arguments: - hotkey: The hotkey value. - netuid: The netuid value. - block: The block number for which the children are to be retrieved. - block_hash: The hash of the block to retrieve the subnet unique identifiers from. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - tuple[bool, list[tuple[float, str]], str]: A tuple containing a boolean indicating success or failure, a - list of formatted children with their proportions, and an error message (if applicable). - - Example: - # Get children for a hotkey in subnet 1 - success, children, error = await subtensor.get_children(hotkey="5F...", netuid=1) - - if success: - for proportion, child_hotkey in children: - print(f"Child {child_hotkey}: {proportion}") - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - try: - children = await self.substrate.query( - module="SubtensorModule", - storage_function="ChildKeys", - params=[hotkey, netuid], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - if children: - formatted_children = [] - for proportion, child in children.value: - # Convert U64 to int - formatted_child = decode_account_id(child[0]) - normalized_proportion = u64_normalized_float(proportion) - formatted_children.append((normalized_proportion, formatted_child)) - return True, formatted_children, "" - else: - return True, [], "" - except SubstrateRequestException as e: - return False, [], format_error_message(e)
                - - -
                -[docs] - async def get_children_pending( - self, - hotkey: str, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> tuple[ - list[tuple[float, str]], - int, - ]: - """Retrieves the pending children of a given hotkey and netuid. - - This method queries the SubtensorModule's PendingChildKeys storage function to get children that are pending - approval or in a cooldown period. These are children that have been proposed but not yet finalized. - - Arguments: - hotkey: The hotkey value. - netuid: The netuid value. - block: The block number for which the children are to be retrieved. - block_hash: The hash of the block to retrieve the subnet unique identifiers from. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - list[tuple[float, str]]: A list of children with their proportions. - int: The cool-down block number. - """ - - response = await self.substrate.query( - module="SubtensorModule", - storage_function="PendingChildKeys", - params=[netuid, hotkey], - block_hash=await self.determine_block_hash( - block, - block_hash, - reuse_block, - ), - reuse_block_hash=reuse_block, - ) - children, cooldown = response.value - - return ( - [ - ( - u64_normalized_float(proportion), - decode_account_id(child[0]), - ) - for proportion, child in children - ], - cooldown, - )
                - - -
                -[docs] - async def get_commitment( - self, - netuid: int, - uid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> str: - """Retrieves the on-chain commitment for a specific neuron in the Bittensor network. - - This method retrieves the commitment data that a neuron has published to the blockchain. Commitments are used in - the commit-reveal mechanism for secure weight setting and other network operations. - - Arguments: - netuid: The unique identifier of the subnetwork. - uid: The unique identifier of the neuron. - block: The block number to retrieve the commitment from. If None, the latest block is used. - Default is None. - block_hash: The hash of the block to retrieve the subnet unique identifiers from. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - str: The commitment data as a string. - - Example: - # Get commitment for UID 5 in subnet 1 - commitment = await subtensor.get_commitment(netuid=1, uid=5) - print(f"Commitment: {commitment}") - - # Get commitment at specific block - commitment = await subtensor.get_commitment( - netuid=1, - uid=5, - block=1000000 - ) - """ - metagraph = await self.metagraph(netuid) - try: - hotkey = metagraph.hotkeys[uid] # type: ignore - except IndexError: - logging.error( - "Your uid is not in the hotkeys. Please double-check your UID." - ) - return "" - - metadata = await get_metadata( - self, netuid, hotkey, block, block_hash, reuse_block - ) - try: - return decode_metadata(metadata) - except TypeError: - return ""
                - - -
                -[docs] - async def get_last_commitment_bonds_reset_block( - self, netuid: int, uid: int - ) -> Optional[int]: - """ - Retrieves the last block number when the bonds reset were triggered by publish_metadata for a specific neuron. - - Arguments: - netuid: The unique identifier of the subnetwork. - uid: The unique identifier of the neuron. - - Returns: - Optional[int]: The block number when the bonds were last reset, or None if not found. - """ - - metagraph = await self.metagraph(netuid) - try: - hotkey = metagraph.hotkeys[uid] - except IndexError: - logging.error( - "Your uid is not in the hotkeys. Please double-check your UID." - ) - return None - block = await get_last_bonds_reset(self, netuid, hotkey) - try: - return decode_block(block) - except TypeError: - return None
                - - -
                -[docs] - async def get_all_commitments( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> dict[str, str]: - """Retrieves the on-chain commitments for a specific subnet in the Bittensor network. - - This method retrieves all commitment data for all neurons in a specific subnet. This is useful for analyzing the - commit-reveal patterns across an entire subnet. - - Arguments: - netuid: The unique identifier of the subnetwork. - block: The block number to retrieve the commitment from. If None, the latest block is used. - Default is None. - block_hash: The hash of the block to retrieve the subnet unique identifiers from. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - dict[str, str]: A mapping of the ss58:commitment with the commitment as a string. - - Example: - # Get all commitments for subnet 1 - commitments = await subtensor.get_all_commitments(netuid=1) - - # Iterate over all commitments - for hotkey, commitment in commitments.items(): - print(f"Hotkey {hotkey}: {commitment}") - """ - query = await self.query_map( - module="Commitments", - name="CommitmentOf", - params=[netuid], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - result = {} - async for id_, value in query: - result[decode_account_id(id_[0])] = decode_metadata(value.value) - return result
                - - -
                -[docs] - async def get_revealed_commitment_by_hotkey( - self, - netuid: int, - hotkey_ss58_address: Optional[str] = None, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[tuple[tuple[int, str], ...]]: - """Returns hotkey related revealed commitment for a given netuid. - - Arguments: - netuid: The unique identifier of the subnetwork. - block: The block number to retrieve the commitment from. Default is ``None``. - hotkey_ss58_address: The ss58 address of the committee member. - block_hash: The hash of the block to retrieve the subnet unique identifiers from. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - result (tuple[int, str): A tuple of reveal block and commitment message. - """ - if not is_valid_ss58_address(address=hotkey_ss58_address): - raise ValueError(f"Invalid ss58 address {hotkey_ss58_address} provided.") - - query = await self.query_module( - module="Commitments", - name="RevealedCommitments", - params=[netuid, hotkey_ss58_address], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - if query is None: - return None - return tuple(decode_revealed_commitment(pair) for pair in query)
                - - -
                -[docs] - async def get_revealed_commitment( - self, - netuid: int, - uid: int, - block: Optional[int] = None, - ) -> Optional[tuple[tuple[int, str], ...]]: - """Returns uid related revealed commitment for a given netuid. - - Arguments: - netuid: The unique identifier of the subnetwork. - uid: The neuron uid to retrieve the commitment from. - block: The block number to retrieve the commitment from. Default is ``None``. - - Returns: - result (Optional[tuple[int, str]]: A tuple of reveal block and commitment message. - - Example of result: - ( (12, "Alice message 1"), (152, "Alice message 2") ) - ( (12, "Bob message 1"), (147, "Bob message 2") ) - """ - try: - meta_info = await self.get_metagraph_info(netuid, block=block) - if meta_info: - hotkey_ss58_address = meta_info.hotkeys[uid] - else: - raise ValueError(f"Subnet with netuid {netuid} does not exist.") - except IndexError: - raise ValueError(f"Subnet {netuid} does not have a neuron with uid {uid}.") - - return await self.get_revealed_commitment_by_hotkey( - netuid=netuid, hotkey_ss58_address=hotkey_ss58_address, block=block - )
                - - -
                -[docs] - async def get_all_revealed_commitments( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> dict[str, tuple[tuple[int, str], ...]]: - """Returns all revealed commitments for a given netuid. - - Arguments: - netuid: The unique identifier of the subnetwork. - block: The block number to retrieve the commitment from. Default is ``None``. - block_hash: The hash of the block to retrieve the subnet unique identifiers from. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - result: A dictionary of all revealed commitments in view {ss58_address: (reveal block, commitment message)}. - - Example of result: - { - "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY": ( (12, "Alice message 1"), (152, "Alice message 2") ), - "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty": ( (12, "Bob message 1"), (147, "Bob message 2") ), - } - """ - query = await self.query_map( - module="Commitments", - name="RevealedCommitments", - params=[netuid], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - - result = {} - async for pair in query: - hotkey_ss58_address, commitment_message = ( - decode_revealed_commitment_with_hotkey(pair) - ) - result[hotkey_ss58_address] = commitment_message - return result
                - - -
                -[docs] - async def get_current_weight_commit_info( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list: - """ - Retrieves CRV3 weight commit information for a specific subnet. - - Arguments: - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. Default is ``None``. - block_hash: The hash of the block to retrieve the subnet unique identifiers from. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - list: A list of commit details, where each entry is a dictionary with keys 'who', 'serialized_commit', and - 'reveal_round', or an empty list if no data is found. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - result = await self.substrate.query_map( - module="SubtensorModule", - storage_function="CRV3WeightCommits", - params=[netuid], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - - commits = result.records[0][1] if result.records else [] - return [WeightCommitInfo.from_vec_u8(commit) for commit in commits]
                - - -
                -[docs] - async def get_delegate_by_hotkey( - self, - hotkey_ss58: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[DelegateInfo]: - """ - Retrieves detailed information about a delegate neuron based on its hotkey. This function provides a - comprehensive view of the delegate's status, including its stakes, nominators, and reward distribution. - - Arguments: - hotkey_ss58: The ``SS58`` address of the delegate's hotkey. - block: The blockchain block number for the query. - block_hash: The hash of the block to retrieve the subnet unique identifiers from. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - Optional[DelegateInfo]: Detailed information about the delegate neuron, ``None`` if not found. - - This function is essential for understanding the roles and influence of delegate neurons within the Bittensor - network's consensus and governance structures. - """ - - result = await self.query_runtime_api( - runtime_api="DelegateInfoRuntimeApi", - method="get_delegate", - params=[hotkey_ss58], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - - if not result: - return None - - return DelegateInfo.from_dict(result)
                - - -
                -[docs] - async def get_delegate_identities( - self, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> dict[str, ChainIdentity]: - """ - Fetches delegates identities from the chain. - - Arguments: - block: The blockchain block number for the query. - block_hash: the hash of the blockchain block for the query - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - Dict {ss58: ChainIdentity, ...} - - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - identities = await self.substrate.query_map( - module="SubtensorModule", - storage_function="IdentitiesV2", - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - - return { - decode_account_id(ss58_address[0]): ChainIdentity.from_dict( - decode_hex_identity_dict(identity.value), - ) - async for ss58_address, identity in identities - }
                - - -
                -[docs] - async def get_delegate_take( - self, - hotkey_ss58: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> float: - """ - Retrieves the delegate 'take' percentage for a neuron identified by its hotkey. The 'take' represents the - percentage of rewards that the delegate claims from its nominators' stakes. - - Arguments: - hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - block: The blockchain block number for the query. - block_hash: The hash of the block to retrieve the subnet unique identifiers from. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - float: The delegate take percentage. - - The delegate take is a critical parameter in the network's incentive structure, influencing the distribution of - rewards among neurons and their nominators. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - result = await self.query_subtensor( - name="Delegates", - block_hash=block_hash, - reuse_block=reuse_block, - params=[hotkey_ss58], - ) - - return u16_normalized_float(result.value) # type: ignore
                - - -
                -[docs] - async def get_delegated( - self, - coldkey_ss58: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list[tuple[DelegateInfo, Balance]]: - """ - Retrieves a list of delegates and their associated stakes for a given coldkey. This function identifies the - delegates that a specific account has staked tokens on. - - Arguments: - coldkey_ss58: The ``SS58`` address of the account's coldkey. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number for the query. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - A list of tuples, each containing a delegate's information and staked amount. - - This function is important for account holders to understand their stake allocations and their involvement in - the network's delegation and consensus mechanisms. - """ - - result = await self.query_runtime_api( - runtime_api="DelegateInfoRuntimeApi", - method="get_delegated", - params=[coldkey_ss58], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - - if not result: - return [] - - return DelegatedInfo.list_from_dicts(result)
                - - -
                -[docs] - async def get_delegates( - self, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list[DelegateInfo]: - """ - Fetches all delegates on the chain - - Arguments: - block: The blockchain block number for the query. - block_hash: hash of the blockchain block number for the query. - reuse_block: whether to reuse the last-used block hash. - - Returns: - List of DelegateInfo objects, or an empty list if there are no delegates. - """ - result = await self.query_runtime_api( - runtime_api="DelegateInfoRuntimeApi", - method="get_delegates", - params=[], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - if result: - return DelegateInfo.list_from_dicts(result) - else: - return []
                - - -
                -[docs] - async def get_existential_deposit( - self, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Balance: - """ - Retrieves the existential deposit amount for the Bittensor blockchain. - The existential deposit is the minimum amount of TAO required for an account to exist on the blockchain. - Accounts with balances below this threshold can be reaped to conserve network resources. - - Arguments: - block: The blockchain block number for the query. - block_hash: Block hash at which to query the deposit amount. If ``None``, the current block is used. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - The existential deposit amount. - - The existential deposit is a fundamental economic parameter in the Bittensor network, ensuring efficient use of - storage and preventing the proliferation of dust accounts. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - result = await self.substrate.get_constant( - module_name="Balances", - constant_name="ExistentialDeposit", - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - - if result is None: - raise Exception("Unable to retrieve existential deposit amount.") - - return Balance.from_rao(getattr(result, "value", 0))
                - - -
                -[docs] - async def get_hotkey_owner( - self, - hotkey_ss58: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[str]: - """ - Retrieves the owner of the given hotkey at a specific block hash. - This function queries the blockchain for the owner of the provided hotkey. If the hotkey does not exist at the - specified block hash, it returns None. - - Arguments: - hotkey_ss58: The SS58 address of the hotkey. - block: The blockchain block number for the query. - block_hash: The hash of the block at which to check the hotkey ownership. - reuse_block: Whether to reuse the last-used blockchain hash. - - Returns: - Optional[str]: The SS58 address of the owner if the hotkey exists, or None if it doesn't. - - Notes: - See also: - - <https://docs.learnbittensor.org/glossary#hotkey> - - <https://docs.learnbittensor.org/glossary#subnet> - - <https://docs.learnbittensor.org/glossary#neuron> - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - hk_owner_query = await self.substrate.query( - module="SubtensorModule", - storage_function="Owner", - params=[hotkey_ss58], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - exists = False - if hk_owner_query: - exists = await self.does_hotkey_exist(hotkey_ss58, block_hash=block_hash) - hotkey_owner = hk_owner_query if exists else None - return hotkey_owner
                - - -
                -[docs] - async def get_minimum_required_stake(self): - """ - Returns the minimum required stake for nominators in the Subtensor network. - - Returns: - Balance: The minimum required stake as a Balance object. - """ - result = await self.substrate.query( - module="SubtensorModule", storage_function="NominatorMinRequiredStake" - ) - - return Balance.from_rao(getattr(result, "value", 0))
                - - -
                -[docs] - async def get_metagraph_info( - self, - netuid: int, - field_indices: Optional[Union[list[SelectiveMetagraphIndex], list[int]]] = None, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[MetagraphInfo]: - """ - Retrieves full or partial metagraph information for the specified subnet (netuid). - - A metagraph is a data structure that contains comprehensive information about the current state of a subnet, - including detailed information on all the nodes (neurons) such as subnet validator stakes and subnet weights - in the subnet. Metagraph aids in calculating emissions. - - Arguments: - netuid: The unique identifier of the subnet to query. - field_indices: An optional list of SelectiveMetagraphIndex or int values specifying which fields to - retrieve. If not provided, all available fields will be returned. - block: the block number at which to retrieve the hyperparameter. Do not specify if using block_hash or - reuse_block - block_hash: The hash of blockchain block number for the query. Do not specify if using - block or reuse_block - reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. - - Returns: - Optional[MetagraphInfo]: A MetagraphInfo object containing the requested subnet data, or None if the subnet - with the given netuid does not exist. - - Example: - meta_info = await subtensor.get_metagraph_info(netuid=2) - - partial_meta_info = await subtensor.get_metagraph_info( - netuid=2, - field_indices=[SelectiveMetagraphIndex.Name, SelectiveMetagraphIndex.OwnerHotkeys] - ) - - Notes: - See also: - - <https://docs.learnbittensor.org/glossary#metagraph> - - <https://docs.learnbittensor.org/glossary#emission> - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - if not block_hash and reuse_block: - block_hash = self.substrate.last_block_hash - - if field_indices: - if isinstance(field_indices, list) and all( - isinstance(f, (SelectiveMetagraphIndex, int)) for f in field_indices - ): - indexes = [ - f.value if isinstance(f, SelectiveMetagraphIndex) else f - for f in field_indices - ] - else: - raise ValueError( - "`field_indices` must be a list of SelectiveMetagraphIndex enums or ints." - ) - - query = await self.substrate.runtime_call( - "SubnetInfoRuntimeApi", - "get_selective_metagraph", - params=[netuid, indexes if 0 in indexes else [0] + indexes], - block_hash=block_hash, - ) - else: - query = await self.substrate.runtime_call( - "SubnetInfoRuntimeApi", - "get_metagraph", - params=[netuid], - ) - - if query.value is None: - logging.error(f"Subnet {netuid} does not exist.") - return None - - return MetagraphInfo.from_dict(query.value)
                - - -
                -[docs] - async def get_all_metagraphs_info( - self, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list[MetagraphInfo]: - """ - Retrieves a list of MetagraphInfo objects for all subnets - - Arguments: - block: the block number at which to retrieve the hyperparameter. Do not specify if using block_hash or - reuse_block - block_hash: The hash of blockchain block number for the query. Do not specify if using - block or reuse_block - reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. - - Returns: - MetagraphInfo dataclass - - Notes: - See also: See <https://docs.learnbittensor.org/glossary#metagraph> - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - if not block_hash and reuse_block: - block_hash = self.substrate.last_block_hash - query = await self.substrate.runtime_call( - "SubnetInfoRuntimeApi", - "get_all_metagraphs", - block_hash=block_hash, - ) - return MetagraphInfo.list_from_dicts(query.decode())
                - - -
                -[docs] - async def get_netuids_for_hotkey( - self, - hotkey_ss58: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list[int]: - """ - Retrieves a list of subnet UIDs (netuids) for which a given hotkey is a member. This function identifies the - specific subnets within the Bittensor network where the neuron associated with the hotkey is active. - - Arguments: - hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number at which to perform the query. - reuse_block: Whether to reuse the last-used block hash when retrieving info. - - Returns: - A list of netuids where the neuron is a member. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - result = await self.substrate.query_map( - module="SubtensorModule", - storage_function="IsNetworkMember", - params=[hotkey_ss58], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - netuids = [] - if result.records: - async for record in result: - if record[1].value: - netuids.append(record[0]) - return netuids
                - - -
                -[docs] - async def get_neuron_certificate( - self, - hotkey: str, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[Certificate]: - """ - Retrieves the TLS certificate for a specific neuron identified by its unique identifier (UID) within a - specified subnet (netuid) of the Bittensor network. - - Arguments: - hotkey: The hotkey to query. - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - Returns: - the certificate of the neuron if found, ``None`` otherwise. - - This function is used for certificate discovery for setting up mutual tls communication between neurons. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - certificate = cast( - Union[str, dict], - await self.query_module( - module="SubtensorModule", - name="NeuronCertificates", - block_hash=block_hash, - reuse_block=reuse_block, - params=[netuid, hotkey], - ), - ) - try: - if certificate: - return Certificate(certificate) - - except AttributeError: - return None - return None
                - - -
                -[docs] - async def get_all_neuron_certificates( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> dict[str, Certificate]: - """ - Retrieves the TLS certificates for neurons within a specified subnet (netuid) of the Bittensor network. - - Arguments: - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - Returns: - {ss58: Certificate} for the key/Certificate pairs on the subnet - - This function is used for certificate discovery for setting up mutual tls communication between neurons. - """ - query_certificates = await self.query_map( - module="SubtensorModule", - name="NeuronCertificates", - params=[netuid], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - output = {} - async for key, item in query_certificates: - output[decode_account_id(key)] = Certificate(item.value) - return output
                - - -
                -[docs] - async def get_liquidity_list( - self, - wallet: "Wallet", - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[list[LiquidityPosition]]: - """ - Retrieves all liquidity positions for the given wallet on a specified subnet (netuid). - Calculates associated fee rewards based on current global and tick-level fee data. - - Arguments: - wallet: Wallet instance to fetch positions for. - netuid: Subnet unique id. - block: The blockchain block number for the query. - block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - Returns: - List of liquidity positions, or None if subnet does not exist. - """ - if not await self.subnet_exists(netuid=netuid): - logging.debug(f"Subnet {netuid} does not exist.") - return None - - if not await self.is_subnet_active(netuid=netuid): - logging.debug(f"Subnet {netuid} is not active.") - return None - - block_hash = await self.determine_block_hash( - block=block, block_hash=block_hash, reuse_block=reuse_block - ) - - query = self.substrate.query - ( - fee_global_tao, - fee_global_alpha, - sqrt_price, - positions_response, - ) = await asyncio.gather( - query( - module="Swap", - storage_function="FeeGlobalTao", - params=[netuid], - block_hash=block_hash, - ), - query( - module="Swap", - storage_function="FeeGlobalAlpha", - params=[netuid], - block_hash=block_hash, - ), - query( - module="Swap", - storage_function="AlphaSqrtPrice", - params=[netuid], - block_hash=block_hash, - ), - self.query_map( - module="Swap", - name="Positions", - block=block, - params=[netuid, wallet.coldkeypub.ss58_address], - ), - ) - # convert to floats - fee_global_tao = fixed_to_float(fee_global_tao) - fee_global_alpha = fixed_to_float(fee_global_alpha) - sqrt_price = fixed_to_float(sqrt_price) - - # Fetch global fees and current price - current_tick = price_to_tick(sqrt_price**2) - - # Fetch positions - positions = [] - async for _, p in positions_response: - position = p.value - - tick_low_idx = position.get("tick_low")[0] - tick_high_idx = position.get("tick_high")[0] - - tick_low, tick_high = await asyncio.gather( - query( - module="Swap", - storage_function="Ticks", - params=[netuid, tick_low_idx], - block_hash=block_hash, - ), - query( - module="Swap", - storage_function="Ticks", - params=[netuid, tick_high_idx], - block_hash=block_hash, - ), - ) - - # Calculate fees above/below range for both tokens - tao_below = get_fees( - current_tick=current_tick, - tick=tick_low, - tick_index=tick_low_idx, - quote=True, - global_fees_tao=fee_global_tao, - global_fees_alpha=fee_global_alpha, - above=False, - ) - tao_above = get_fees( - current_tick=current_tick, - tick=tick_high, - tick_index=tick_high_idx, - quote=True, - global_fees_tao=fee_global_tao, - global_fees_alpha=fee_global_alpha, - above=True, - ) - alpha_below = get_fees( - current_tick=current_tick, - tick=tick_low, - tick_index=tick_low_idx, - quote=False, - global_fees_tao=fee_global_tao, - global_fees_alpha=fee_global_alpha, - above=False, - ) - alpha_above = get_fees( - current_tick=current_tick, - tick=tick_high, - tick_index=tick_high_idx, - quote=False, - global_fees_tao=fee_global_tao, - global_fees_alpha=fee_global_alpha, - above=True, - ) - - # Calculate fees earned by position - fees_tao, fees_alpha = calculate_fees( - position=position, - global_fees_tao=fee_global_tao, - global_fees_alpha=fee_global_alpha, - tao_fees_below_low=tao_below, - tao_fees_above_high=tao_above, - alpha_fees_below_low=alpha_below, - alpha_fees_above_high=alpha_above, - netuid=netuid, - ) - - positions.append( - LiquidityPosition( - **{ - "id": position.get("id")[0], - "price_low": Balance.from_tao( - tick_to_price(position.get("tick_low")[0]) - ), - "price_high": Balance.from_tao( - tick_to_price(position.get("tick_high")[0]) - ), - "liquidity": Balance.from_rao(position.get("liquidity")), - "fees_tao": fees_tao, - "fees_alpha": fees_alpha, - "netuid": position.get("netuid"), - } - ) - ) - - return positions
                - - -
                -[docs] - async def get_neuron_for_pubkey_and_subnet( - self, - hotkey_ss58: str, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> "NeuronInfo": - """ - Retrieves information about a neuron based on its public key (hotkey SS58 address) and the specific subnet UID - (netuid). This function provides detailed neuron information for a particular subnet within the Bittensor - network. - - Arguments: - hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The blockchain block number at which to perform the query. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - Optional[bittensor.core.chain_data.neuron_info.NeuronInfo]: Detailed information about the neuron if found, - ``None`` otherwise. - - This function is crucial for accessing specific neuron data and understanding its status, stake, and other - attributes within a particular subnet of the Bittensor ecosystem. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - uid_query = await self.substrate.query( - module="SubtensorModule", - storage_function="Uids", - params=[netuid, hotkey_ss58], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - if (uid := getattr(uid_query, "value", None)) is None: - return NeuronInfo.get_null_neuron() - else: - return await self.neuron_for_uid( - uid=uid, - netuid=netuid, - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - )
                - - -
                -[docs] - async def get_next_epoch_start_block( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[int]: - """ - Calculates the first block number of the next epoch for the given subnet. - - If ``block`` is not provided, the current chain block will be used. Epochs are determined based on the subnet's - tempo (i.e., blocks per epoch). The result is the block number at which the next epoch will begin. - - Arguments: - netuid: The unique identifier of the subnet. - block: The reference block to calculate from. If None, uses the current chain block height. - block_hash: The blockchain block number at which to perform the query. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - int: The block number at which the next epoch will start. - - Notes: - See also: <https://docs.learnbittensor.org/glossary#tempo> - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - blocks_since_last_step = await self.blocks_since_last_step( - netuid=netuid, block=block, block_hash=block_hash, reuse_block=reuse_block - ) - tempo = await self.tempo( - netuid=netuid, block=block, block_hash=block_hash, reuse_block=reuse_block - ) - - if block and blocks_since_last_step is not None and tempo: - return block - blocks_since_last_step + tempo + 1 - return None
                - - -
                -[docs] - async def get_owned_hotkeys( - self, - coldkey_ss58: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list[str]: - """ - Retrieves all hotkeys owned by a specific coldkey address. - - Arguments: - coldkey_ss58: The SS58 address of the coldkey to query. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number for the query. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - list[str]: A list of hotkey SS58 addresses owned by the coldkey. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - owned_hotkeys = await self.substrate.query( - module="SubtensorModule", - storage_function="OwnedHotkeys", - params=[coldkey_ss58], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - - return [decode_account_id(hotkey[0]) for hotkey in owned_hotkeys or []]
                - - -
                -[docs] - async def get_stake( - self, - coldkey_ss58: str, - hotkey_ss58: str, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Balance: - """ - Returns the stake under a coldkey - hotkey pairing. - - Arguments: - hotkey_ss58: The SS58 address of the hotkey. - coldkey_ss58: The SS58 address of the coldkey. - netuid: The subnet ID. - block: The block number at which to query the stake information. - block_hash: The hash of the block to retrieve the stake from. Do not specify if using block - or reuse_block - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - Returns: - Balance: The stake under the coldkey - hotkey pairing. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - sub_query = partial( - self.query_subtensor, - block_hash=block_hash, - reuse_block=reuse_block, - ) - alpha_shares, hotkey_alpha_result, hotkey_shares = await asyncio.gather( - sub_query( - name="Alpha", - params=[hotkey_ss58, coldkey_ss58, netuid], - ), - sub_query( - name="TotalHotkeyAlpha", - params=[hotkey_ss58, netuid], - ), - sub_query( - name="TotalHotkeyShares", - params=[hotkey_ss58, netuid], - ), - ) - - hotkey_alpha: int = getattr(hotkey_alpha_result, "value", 0) - alpha_shares_as_float = fixed_to_float(alpha_shares) - hotkey_shares_as_float = fixed_to_float(hotkey_shares) - - if hotkey_shares_as_float == 0: - return Balance.from_rao(0).set_unit(netuid=netuid) - - stake = alpha_shares_as_float / hotkey_shares_as_float * hotkey_alpha - - return Balance.from_rao(int(stake)).set_unit(netuid=netuid)
                - - - # TODO: remove unused parameters in SDK.v10 -
                -[docs] - async def get_stake_add_fee( - self, - amount: Balance, - netuid: int, - coldkey_ss58: str, - hotkey_ss58: str, - block: Optional[int] = None, - ) -> Balance: - """ - Calculates the fee for adding new stake to a hotkey. - - Arguments: - amount: Amount of stake to add in TAO - netuid: Netuid of subnet - coldkey_ss58: SS58 address of source coldkey - hotkey_ss58: SS58 address of destination hotkey - block: Block number at which to perform the calculation - - Returns: - The calculated stake fee as a Balance object - """ - return await self.get_stake_operations_fee( - amount=amount, netuid=netuid, block=block - )
                - - -
                -[docs] - async def get_subnet_info( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional["SubnetInfo"]: - """ - Retrieves detailed information about subnet within the Bittensor network. - This function provides comprehensive data on subnet, including its characteristics and operational parameters. - - Arguments: - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The hash of the block to retrieve the stake from. Do not specify if using block - or reuse_block - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - Returns: - SubnetInfo: A SubnetInfo objects, each containing detailed information about a subnet. - - Gaining insights into the subnet's details assists in understanding the network's composition, the roles of - different subnets, and their unique features. - """ - result = await self.query_runtime_api( - runtime_api="SubnetInfoRuntimeApi", - method="get_subnet_info_v2", - params=[netuid], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - if not result: - return None - return SubnetInfo.from_dict(result)
                - - -
                -[docs] - async def get_subnet_price( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Balance: - """Gets the current Alpha price in TAO for all subnets. - - Arguments: - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The hash of the block to retrieve the stake from. Do not specify if using block - or reuse_block - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - Returns: - The current Alpha price in TAO units for the specified subnet. - """ - # SN0 price is always 1 TAO - if netuid == 0: - return Balance.from_tao(1) - - block_hash = await self.determine_block_hash(block=block) - current_sqrt_price = await self.substrate.query( - module="Swap", - storage_function="AlphaSqrtPrice", - params=[netuid], - block_hash=block_hash, - ) - - current_sqrt_price = fixed_to_float(current_sqrt_price) - current_price = current_sqrt_price * current_sqrt_price - return Balance.from_rao(int(current_price * 1e9))
                - - -
                -[docs] - async def get_subnet_prices( - self, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> dict[int, Balance]: - """Gets the current Alpha price in TAO for a specified subnet. - - Arguments: - block: The blockchain block number for the query. - block_hash: The hash of the block to retrieve the stake from. Do not specify if using block - or reuse_block - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - Returns: - dict: - - subnet unique ID - - The current Alpha price in TAO units for the specified subnet. - """ - block_hash = await self.determine_block_hash( - block=block, block_hash=block_hash, reuse_block=reuse_block - ) - - current_sqrt_prices = await self.substrate.query_map( - module="Swap", - storage_function="AlphaSqrtPrice", - block_hash=block_hash, - page_size=129, # total number of subnets - ) - - prices = {} - async for id_, current_sqrt_price in current_sqrt_prices: - current_sqrt_price = fixed_to_float(current_sqrt_price) - current_price = current_sqrt_price * current_sqrt_price - current_price_in_tao = Balance.from_rao(int(current_price * 1e9)) - prices.update({id_: current_price_in_tao}) - - # SN0 price is always 1 TAO - prices.update({0: Balance.from_tao(1)}) - return prices
                - - - # TODO: remove unused parameters in SDK.v10 -
                -[docs] - async def get_unstake_fee( - self, - amount: Balance, - netuid: int, - coldkey_ss58: str, - hotkey_ss58: str, - block: Optional[int] = None, - ) -> Balance: - """ - Calculates the fee for unstaking from a hotkey. - - Arguments: - amount: Amount of stake to unstake in TAO - netuid: Netuid of subnet - coldkey_ss58: SS58 address of source coldkey - hotkey_ss58: SS58 address of destination hotkey - block: Block number at which to perform the calculation - - Returns: - The calculated stake fee as a Balance object - """ - return await self.get_stake_operations_fee( - amount=amount, netuid=netuid, block=block - )
                - - - # TODO: remove unused parameters in SDK.v10 -
                -[docs] - async def get_stake_movement_fee( - self, - amount: Balance, - origin_netuid: int, - origin_hotkey_ss58: str, - origin_coldkey_ss58: str, - destination_netuid: int, - destination_hotkey_ss58: str, - destination_coldkey_ss58: str, - block: Optional[int] = None, - ) -> Balance: - """ - Calculates the fee for moving stake between hotkeys/subnets/coldkeys. - - Arguments: - amount: Amount of stake to move in TAO - origin_netuid: Netuid of source subnet - origin_hotkey_ss58: SS58 address of source hotkey - origin_coldkey_ss58: SS58 address of source coldkey - destination_netuid: Netuid of destination subnet - destination_hotkey_ss58: SS58 address of destination hotkey - destination_coldkey_ss58: SS58 address of destination coldkey - block: Block number at which to perform the calculation - - Returns: - The calculated stake fee as a Balance object - """ - return await self.get_stake_operations_fee( - amount=amount, netuid=origin_netuid, block=block - )
                - - -
                -[docs] - async def get_stake_for_coldkey_and_hotkey( - self, - coldkey_ss58: str, - hotkey_ss58: str, - netuids: Optional[list[int]] = None, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> dict[int, StakeInfo]: - """ - Retrieves all coldkey-hotkey pairing stake across specified (or all) subnets - - Arguments: - coldkey_ss58: The SS58 address of the coldkey. - hotkey_ss58: The SS58 address of the hotkey. - netuids: The subnet IDs to query for. Set to ``None`` for all subnets. - block: The block number at which to query the stake information. - block_hash: The hash of the block to retrieve the stake from. Do not specify if using block - or reuse_block - reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - Returns: - A {netuid: StakeInfo} pairing of all stakes across all subnets. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - if not block_hash and reuse_block: - block_hash = self.substrate.last_block_hash - elif not block_hash: - block_hash = await self.substrate.get_chain_head() - if netuids is None: - all_netuids = await self.get_subnets(block_hash=block_hash) - else: - all_netuids = netuids - results = await asyncio.gather( - *[ - self.query_runtime_api( - "StakeInfoRuntimeApi", - "get_stake_info_for_hotkey_coldkey_netuid", - params=[hotkey_ss58, coldkey_ss58, netuid], - block_hash=block_hash, - ) - for netuid in all_netuids - ] - ) - return { - netuid: StakeInfo.from_dict(result) - for (netuid, result) in zip(all_netuids, results) - }
                - - -
                -[docs] - async def get_stake_for_coldkey( - self, - coldkey_ss58: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[list["StakeInfo"]]: - """ - Retrieves the stake information for a given coldkey. - - Arguments: - coldkey_ss58: The SS58 address of the coldkey. - block: The block number at which to query the stake information. - block_hash: The hash of the blockchain block number for the query. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - An optional list of StakeInfo objects, or ``None`` if no stake information is found. - """ - result = await self.query_runtime_api( - runtime_api="StakeInfoRuntimeApi", - method="get_stake_info_for_coldkey", - params=[coldkey_ss58], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - - if result is None: - return [] - - stakes = StakeInfo.list_from_dicts(result) # type: ignore - return [stake for stake in stakes if stake.stake > 0]
                - - - get_stake_info_for_coldkey = get_stake_for_coldkey - -
                -[docs] - async def get_stake_for_hotkey( - self, - hotkey_ss58: str, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Balance: - """ - Retrieves the stake information for a given hotkey. - - Arguments: - hotkey_ss58: The SS58 address of the hotkey. - netuid: The subnet ID to query for. - block: The block number at which to query the stake information. Do not specify if also specifying - block_hash or reuse_block. - block_hash: The hash of the blockchain block number for the query. Do not specify if also specifying block - or reuse_block. - reuse_block: Whether to reuse for this query the last-used block. Do not specify if also specifying block - or block_hash. - """ - hotkey_alpha_query = await self.query_subtensor( - name="TotalHotkeyAlpha", - params=[hotkey_ss58, netuid], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - balance = Balance.from_rao(hotkey_alpha_query.value) - balance.set_unit(netuid=netuid) - return balance
                - - - get_hotkey_stake = get_stake_for_hotkey - -
                -[docs] - async def get_stake_operations_fee( - self, - amount: Balance, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ): - """Returns fee for any stake operation in specified subnet. - - Args: - amount: Amount of stake to add in Alpha/TAO. - netuid: Netuid of subnet. - block: The block number at which to query the stake information. Do not specify if also specifying - block_hash or reuse_block. - block_hash: The hash of the blockchain block number for the query. Do not specify if also specifying block - or reuse_block. - reuse_block: Whether to reuse for this query the last-used block. Do not specify if also specifying block - or block_hash. - Returns: - The calculated stake fee as a Balance object. - """ - block_hash = await self.determine_block_hash( - block=block, block_hash=block_hash, reuse_block=reuse_block - ) - result = await self.substrate.query( - module="Swap", - storage_function="FeeRate", - params=[netuid], - block_hash=block_hash, - ) - return amount * (result.value / U16_MAX)
                - - -
                -[docs] - async def get_subnet_burn_cost( - self, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[Balance]: - """ - Retrieves the burn cost for registering a new subnet within the Bittensor network. This cost represents the - amount of Tao that needs to be locked or burned to establish a new - - Arguments: - block: The blockchain block number for the query. - block_hash: The blockchain block_hash of the block id. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - int: The burn cost for subnet registration. - - The subnet burn cost is an important economic parameter, reflecting the network's mechanisms for controlling - the proliferation of subnets and ensuring their commitment to the network's long-term viability. - """ - lock_cost = await self.query_runtime_api( - runtime_api="SubnetRegistrationRuntimeApi", - method="get_network_registration_cost", - params=[], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - if lock_cost is not None: - return Balance.from_rao(lock_cost) - else: - return lock_cost
                - - -
                -[docs] - async def get_subnet_hyperparameters( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional["SubnetHyperparameters"]: - """ - Retrieves the hyperparameters for a specific subnet within the Bittensor network. These hyperparameters define - the operational settings and rules governing the subnet's behavior. - - Arguments: - netuid: The network UID of the subnet to query. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number for the query. - reuse_block: Whether to reuse the last-used blockchain hash. - - Returns: - The subnet's hyperparameters, or ``None`` if not available. - - Understanding the hyperparameters is crucial for comprehending how subnets are configured and managed, and how - they interact with the network's consensus and incentive mechanisms. - """ - result = await self.query_runtime_api( - runtime_api="SubnetInfoRuntimeApi", - method="get_subnet_hyperparams_v2", - params=[netuid], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - - if not result: - return None - - return SubnetHyperparameters.from_dict(result)
                - - -
                -[docs] - async def get_subnet_reveal_period_epochs( - self, netuid: int, block: Optional[int] = None, block_hash: Optional[str] = None - ) -> int: - """Retrieve the SubnetRevealPeriodEpochs hyperparameter.""" - block_hash = await self.determine_block_hash(block, block_hash) - return await self.get_hyperparameter( - param_name="RevealPeriodEpochs", block_hash=block_hash, netuid=netuid - )
                - - -
                -[docs] - async def get_subnets( - self, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list[int]: - """ - Retrieves the list of all subnet unique identifiers (netuids) currently present in the Bittensor network. - - Arguments: - block: The blockchain block number for the query. - block_hash: The hash of the block to retrieve the subnet unique identifiers from. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - A list of subnet netuids. - - This function provides a comprehensive view of the subnets within the Bittensor network, offering insights into - its diversity and scale. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - result = await self.substrate.query_map( - module="SubtensorModule", - storage_function="NetworksAdded", - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - subnets = [] - if result.records: - async for netuid, exists in result: - if exists: - subnets.append(netuid) - return subnets
                - - -
                -[docs] - async def get_total_subnets( - self, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[int]: - """ - Retrieves the total number of subnets within the Bittensor network as of a specific blockchain block. - - Arguments: - block: The blockchain block number for the query. - block_hash: The blockchain block_hash representation of block id. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - Optional[str]: The total number of subnets in the network. - - Understanding the total number of subnets is essential for assessing the network's growth and the extent of its - decentralized infrastructure. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - result = await self.substrate.query( - module="SubtensorModule", - storage_function="TotalNetworks", - params=[], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - return getattr(result, "value", None)
                - - -
                -[docs] - async def get_transfer_fee( - self, wallet: "Wallet", dest: str, value: Balance - ) -> Balance: - """ - Calculates the transaction fee for transferring tokens from a wallet to a specified destination address. This - function simulates the transfer to estimate the associated cost, taking into account the current network - conditions and transaction complexity. - - Arguments: - wallet: The wallet from which the transfer is initiated. - dest: The ``SS58`` address of the destination account. - value: The amount of tokens to be transferred, specified as a Balance object, or in Tao (float) or Rao - (int) units. - - Returns: - bittensor.utils.balance.Balance: The estimated transaction fee for the transfer, represented as a Balance - object. - - Estimating the transfer fee is essential for planning and executing token transactions, ensuring that the - wallet has sufficient funds to cover both the transfer amount and the associated costs. This function provides - a crucial tool for managing financial operations within the Bittensor network. - """ - value = check_and_convert_to_balance(value) - - call = await self.substrate.compose_call( - call_module="Balances", - call_function="transfer_keep_alive", - call_params={"dest": dest, "value": value.rao}, - ) - - try: - payment_info = await self.substrate.get_payment_info( - call=call, keypair=wallet.coldkeypub - ) - except Exception as e: - logging.error(f":cross_mark: [red]Failed to get payment info: [/red]{e}") - payment_info = {"partial_fee": int(2e7)} # assume 0.02 Tao - - return Balance.from_rao(payment_info["partial_fee"])
                - - -
                -[docs] - async def get_vote_data( - self, - proposal_hash: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional["ProposalVoteData"]: - """ - Retrieves the voting data for a specific proposal on the Bittensor blockchain. This data includes information - about how senate members have voted on the proposal. - - Arguments: - proposal_hash: The hash of the proposal for which voting data is requested. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number to query the voting data. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - An object containing the proposal's voting data, or ``None`` if not found. - - This function is important for tracking and understanding the decision-making processes within the Bittensor - network, particularly how proposals are received and acted upon by the governing body. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - vote_data: dict[str, Any] = await self.substrate.query( - module="Triumvirate", - storage_function="Voting", - params=[proposal_hash], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - - if vote_data is None: - return None - - return ProposalVoteData.from_dict(vote_data)
                - - -
                -[docs] - async def get_uid_for_hotkey_on_subnet( - self, - hotkey_ss58: str, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[int]: - """ - Retrieves the unique identifier (UID) for a neuron's hotkey on a specific subnet. - - Arguments: - hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The blockchain block_hash representation of the block id. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - Optional[int]: The UID of the neuron if it is registered on the subnet, ``None`` otherwise. - - The UID is a critical identifier within the network, linking the neuron's hotkey to its operational and - governance activities on a particular subnet. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - result = await self.substrate.query( - module="SubtensorModule", - storage_function="Uids", - params=[netuid, hotkey_ss58], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - return getattr(result, "value", result)
                - - -
                -[docs] - async def filter_netuids_by_registered_hotkeys( - self, - all_netuids: Iterable[int], - filter_for_netuids: Iterable[int], - all_hotkeys: Iterable["Wallet"], - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list[int]: - """ - Filters a given list of all netuids for certain specified netuids and hotkeys - - Arguments: - all_netuids: A list of netuids to filter. - filter_for_netuids: A subset of all_netuids to filter from the main list. - all_hotkeys: Hotkeys to filter from the main list. - block: The blockchain block number for the query. - block_hash: hash of the blockchain block number at which to perform the query. - reuse_block: whether to reuse the last-used blockchain hash when retrieving info. - - Returns: - The filtered list of netuids. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - netuids_with_registered_hotkeys = [ - item - for sublist in await asyncio.gather( - *[ - self.get_netuids_for_hotkey( - wallet.hotkey.ss58_address, - reuse_block=reuse_block, - block_hash=block_hash, - ) - for wallet in all_hotkeys - ] - ) - for item in sublist - ] - - if not filter_for_netuids: - all_netuids = netuids_with_registered_hotkeys - - else: - filtered_netuids = [ - netuid for netuid in all_netuids if netuid in filter_for_netuids - ] - - registered_hotkeys_filtered = [ - netuid - for netuid in netuids_with_registered_hotkeys - if netuid in filter_for_netuids - ] - - # Combine both filtered lists - all_netuids = filtered_netuids + registered_hotkeys_filtered - - return list(set(all_netuids))
                - - -
                -[docs] - async def immunity_period( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[int]: - """ - Retrieves the 'ImmunityPeriod' hyperparameter for a specific subnet. This parameter defines the duration during - which new neurons are protected from certain network penalties or restrictions. - - Arguments: - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The blockchain block_hash representation of the block id. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - Optional[int]: The value of the 'ImmunityPeriod' hyperparameter if the subnet exists, ``None`` otherwise. - - The 'ImmunityPeriod' is a critical aspect of the network's governance system, ensuring that new participants - have a grace period to establish themselves and contribute to the network without facing immediate punitive - actions. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - call = await self.get_hyperparameter( - param_name="ImmunityPeriod", - netuid=netuid, - block_hash=block_hash, - reuse_block=reuse_block, - ) - return None if call is None else int(call)
                - - -
                -[docs] - async def is_fast_blocks(self): - """Returns True if the node is running with fast blocks. False if not.""" - return ( - await self.query_constant("SubtensorModule", "DurationOfStartCall") - ).value == 10
                - - -
                -[docs] - async def is_hotkey_delegate( - self, - hotkey_ss58: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> bool: - """ - Determines whether a given hotkey (public key) is a delegate on the Bittensor network. This function checks if - the neuron associated with the hotkey is part of the network's delegation system. - - Arguments: - hotkey_ss58: The SS58 address of the neuron's hotkey. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number for the query. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - ``True`` if the hotkey is a delegate, ``False`` otherwise. - - Being a delegate is a significant status within the Bittensor network, indicating a neuron's involvement in - consensus and governance processes. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - delegates = await self.get_delegates( - block_hash=block_hash, reuse_block=reuse_block - ) - return hotkey_ss58 in [info.hotkey_ss58 for info in delegates]
                - - -
                -[docs] - async def is_hotkey_registered( - self, - hotkey_ss58: str, - netuid: Optional[int] = None, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> bool: - """ - Determines whether a given hotkey (public key) is registered in the Bittensor network, either globally across - any subnet or specifically on a specified subnet. This function checks the registration status of a neuron - identified by its hotkey, which is crucial for validating its participation and activities within the network. - - Arguments: - hotkey_ss58: The SS58 address of the neuron's hotkey. - netuid: The unique identifier of the subnet to check the registration. If ``None``, the - registration is checked across all subnets. - block: The blockchain block number at which to perform the query. - block_hash: The blockchain block_hash representation of the block id. Do not specify if using block or - reuse_block. - reuse_block: Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or - reuse_block. - - Returns: - bool: ``True`` if the hotkey is registered in the specified context (either any subnet or a specific subnet), - ``False`` otherwise. - - This function is important for verifying the active status of neurons in the Bittensor network. It aids in - understanding whether a neuron is eligible to participate in network processes such as consensus, validation, - and incentive distribution based on its registration status. - """ - if netuid is None: - return await self.is_hotkey_registered_any( - hotkey_ss58, block, block_hash, reuse_block - ) - else: - return await self.is_hotkey_registered_on_subnet( - hotkey_ss58, netuid, block, block_hash, reuse_block - )
                - - -
                -[docs] - async def is_hotkey_registered_any( - self, - hotkey_ss58: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> bool: - """ - Checks if a neuron's hotkey is registered on any subnet within the Bittensor network. - - Arguments: - hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - block: The blockchain block number for the query. - block_hash: The blockchain block_hash representation of block id. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - bool: ``True`` if the hotkey is registered on any subnet, False otherwise. - - This function is essential for determining the network-wide presence and participation of a neuron. - """ - hotkeys = await self.get_netuids_for_hotkey( - hotkey_ss58, block, block_hash, reuse_block - ) - return len(hotkeys) > 0
                - - -
                -[docs] - async def is_hotkey_registered_on_subnet( - self, - hotkey_ss58: str, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> bool: - """Checks if the hotkey is registered on a given netuid.""" - return ( - await self.get_uid_for_hotkey_on_subnet( - hotkey_ss58, - netuid, - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - is not None - )
                - - -
                -[docs] - async def is_subnet_active( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> bool: - """Verify if subnet with provided netuid is active. - - Arguments: - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The blockchain block_hash representation of block id. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - ``True`` if subnet is active, ``False`` otherwise. - - Note: This means whether the ``start_call`` was initiated or not. - """ - query = await self.query_subtensor( - name="FirstEmissionBlockNumber", - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - params=[netuid], - ) - return True if query and query.value > 0 else False
                - - -
                -[docs] - async def last_drand_round(self) -> Optional[int]: - """ - Retrieves the last drand round emitted in bittensor. This corresponds when committed weights will be revealed. - - Returns: - int: The latest Drand round emitted in bittensor. - """ - result = await self.substrate.query( - module="Drand", storage_function="LastStoredRound" - ) - return getattr(result, "value", None)
                - - -
                -[docs] - async def max_weight_limit( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[float]: - """ - Returns network MaxWeightsLimit hyperparameter. - - Arguments: - netuid: The unique identifier of the subnetwork. - block: The blockchain block number for the query. - block_hash: The blockchain block_hash representation of block id. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - Optional[float]: The value of the MaxWeightsLimit hyperparameter, or ``None`` if the subnetwork does not - exist or the parameter is not found. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - call = await self.get_hyperparameter( - param_name="MaxWeightsLimit", - netuid=netuid, - block_hash=block_hash, - reuse_block=reuse_block, - ) - return None if call is None else u16_normalized_float(int(call))
                - - -
                -[docs] - async def metagraph( - self, netuid: int, lite: bool = True, block: Optional[int] = None - ) -> "AsyncMetagraph": - """ - Returns a synced metagraph for a specified subnet within the Bittensor network. The metagraph represents the - network's structure, including neuron connections and interactions. - - Arguments: - netuid: The network UID of the subnet to query. - lite: If true, returns a metagraph using a lightweight sync (no weights, no bonds). Default is - ``True``. - block: Block number for synchronization, or `None` for the latest block. - - Returns: - bittensor.core.metagraph.Metagraph: The metagraph representing the subnet's structure and neuron - relationships. - - The metagraph is an essential tool for understanding the topology and dynamics of the Bittensor network's - decentralized architecture, particularly in relation to neuron interconnectivity and consensus processes. - """ - metagraph = AsyncMetagraph( - network=self.chain_endpoint, - netuid=netuid, - lite=lite, - sync=False, - subtensor=self, - ) - await metagraph.sync(block=block, lite=lite, subtensor=self) - - return metagraph
                - - -
                -[docs] - async def min_allowed_weights( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[int]: - """ - Returns network MinAllowedWeights hyperparameter. - - Arguments: - netuid: The unique identifier of the subnetwork. - block: The blockchain block number for the query. - block_hash: The blockchain block_hash representation of block id. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - Optional[int]: The value of the MinAllowedWeights hyperparameter, or ``None`` if the subnetwork does not - exist or the parameter is not found. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - call = await self.get_hyperparameter( - param_name="MinAllowedWeights", - netuid=netuid, - block_hash=block_hash, - reuse_block=reuse_block, - ) - return None if call is None else int(call)
                - - -
                -[docs] - async def neuron_for_uid( - self, - uid: Optional[int], - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> NeuronInfo: - """ - Retrieves detailed information about a specific neuron identified by its unique identifier (UID) within a - specified subnet (netuid) of the Bittensor network. This function provides a comprehensive view of a neuron's - attributes, including its stake, rank, and operational status. - - Arguments: - uid: The unique identifier of the neuron. - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number for the query. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - Detailed information about the neuron if found, a null neuron otherwise - - This function is crucial for analyzing individual neurons' contributions and status within a specific subnet, - offering insights into their roles in the network's consensus and validation mechanisms. - """ - if uid is None: - return NeuronInfo.get_null_neuron() - - result = await self.query_runtime_api( - runtime_api="NeuronInfoRuntimeApi", - method="get_neuron", - params=[netuid, uid], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - - if not result: - return NeuronInfo.get_null_neuron() - - return NeuronInfo.from_dict(result)
                - - -
                -[docs] - async def neurons( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list[NeuronInfo]: - """ - Retrieves a list of all neurons within a specified subnet of the Bittensor network. - This function provides a snapshot of the subnet's neuron population, including each neuron's attributes and - network interactions. - - Arguments: - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number for the query. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - A list of NeuronInfo objects detailing each neuron's characteristics in the subnet. - - Understanding the distribution and status of neurons within a subnet is key to comprehending the network's - decentralized structure and the dynamics of its consensus and governance processes. - """ - result = await self.query_runtime_api( - runtime_api="NeuronInfoRuntimeApi", - method="get_neurons", - params=[netuid], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - - if not result: - return [] - - return NeuronInfo.list_from_dicts(result)
                - - -
                -[docs] - async def neurons_lite( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list[NeuronInfoLite]: - """ - Retrieves a list of neurons in a 'lite' format from a specific subnet of the Bittensor network. - This function provides a streamlined view of the neurons, focusing on key attributes such as stake and network - participation. - - Arguments: - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number for the query. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - A list of simplified neuron information for the subnet. - - This function offers a quick overview of the neuron population within a subnet, facilitating efficient analysis - of the network's decentralized structure and neuron dynamics. - """ - result = await self.query_runtime_api( - runtime_api="NeuronInfoRuntimeApi", - method="get_neurons_lite", - params=[netuid], - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - - if not result: - return [] - - return NeuronInfoLite.list_from_dicts(result)
                - - -
                -[docs] - async def query_identity( - self, - coldkey_ss58: str, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[ChainIdentity]: - """ - Queries the identity of a neuron on the Bittensor blockchain using the given key. This function retrieves - detailed identity information about a specific neuron, which is a crucial aspect of the network's decentralized - identity and governance system. - - Arguments: - coldkey_ss58: The coldkey used to query the neuron's identity (technically the neuron's coldkey SS58 - address). - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number at which to perform the query. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - An object containing the identity information of the neuron if found, ``None`` otherwise. - - The identity information can include various attributes such as the neuron's stake, rank, and other - network-specific details, providing insights into the neuron's role and status within the Bittensor network. - - Note: - See the ``Bittensor CLI documentation <https://docs.bittensor.com/reference/btcli>``_ for supported identity - parameters. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - identity_info = cast( - dict, - await self.substrate.query( - module="SubtensorModule", - storage_function="IdentitiesV2", - params=[coldkey_ss58], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ), - ) - - if not identity_info: - return None - - try: - return ChainIdentity.from_dict( - decode_hex_identity_dict(identity_info), - ) - except TypeError: - return None
                - - -
                -[docs] - async def recycle( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[Balance]: - """ - Retrieves the 'Burn' hyperparameter for a specified subnet. The 'Burn' parameter represents the amount of Tao - that is effectively recycled within the Bittensor network. - - Arguments: - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number for the query. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - Optional[Balance]: The value of the 'Burn' hyperparameter if the subnet exists, ``None`` otherwise. - - Understanding the 'Burn' rate is essential for analyzing the network registration usage, particularly how it is - correlated with user activity and the overall cost of participation in a given subnet. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - call = await self.get_hyperparameter( - param_name="Burn", - netuid=netuid, - block_hash=block_hash, - reuse_block=reuse_block, - ) - return None if call is None else Balance.from_rao(int(call))
                - - -
                -[docs] - async def set_reveal_commitment( - self, - wallet, - netuid: int, - data: str, - blocks_until_reveal: int = 360, - block_time: Union[int, float] = 12, - period: Optional[int] = None, - ) -> tuple[bool, int]: - """ - Commits arbitrary data to the Bittensor network by publishing metadata. - - Arguments: - wallet: The wallet associated with the neuron committing the data. - netuid: The unique identifier of the subnetwork. - data: The data to be committed to the network. - blocks_until_reveal: The number of blocks from now after which the data will be revealed. - Defaults to ``360`` (the number of blocks in one epoch). - block_time: The number of seconds between each block. Defaults to ``12``. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - Returns: - bool: ``True`` if the commitment was successful, ``False`` otherwise. - - Note: A commitment can be set once per subnet epoch and is reset at the next epoch in the chain automatically. - """ - - encrypted, reveal_round = get_encrypted_commitment( - data, blocks_until_reveal, block_time - ) - - # increase reveal_round in return + 1 because we want to fetch data from the chain after that round was revealed - # and stored. - data_ = {"encrypted": encrypted, "reveal_round": reveal_round} - return await publish_metadata( - subtensor=self, - wallet=wallet, - netuid=netuid, - data_type="TimelockEncrypted", - data=data_, - period=period, - ), reveal_round
                - - -
                -[docs] - async def subnet( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[DynamicInfo]: - """ - Retrieves the subnet information for a single subnet in the Bittensor network. - - Arguments: - netuid: The unique identifier of the subnet. - block: The block number to get the subnets at. - block_hash: The hash of the blockchain block number for the query. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - Optional[DynamicInfo]: A DynamicInfo object, containing detailed information about a subnet. - """ - block_hash = await self.determine_block_hash( - block=block, block_hash=block_hash, reuse_block=reuse_block - ) - - if not block_hash and reuse_block: - block_hash = self.substrate.last_block_hash - - query, price = await asyncio.gather( - self.substrate.runtime_call( - "SubnetInfoRuntimeApi", - "get_dynamic_info", - params=[netuid], - block_hash=block_hash, - ), - self.get_subnet_price( - netuid=netuid, - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ), - return_exceptions=True, - ) - - if isinstance(decoded := query.decode(), dict): - if isinstance(price, SubstrateRequestException): - price = None - return DynamicInfo.from_dict({**decoded, "price": price}) - return None
                - - -
                -[docs] - async def subnet_exists( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> bool: - """ - Checks if a subnet with the specified unique identifier (netuid) exists within the Bittensor network. - - Arguments: - netuid: The unique identifier of the subnet. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number at which to check the subnet existence. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - ``True`` if the subnet exists, ``False`` otherwise. - - This function is critical for verifying the presence of specific subnets in the network, enabling a deeper - understanding of the network's structure and composition. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - result = await self.substrate.query( - module="SubtensorModule", - storage_function="NetworksAdded", - params=[netuid], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - return getattr(result, "value", False)
                - - -
                -[docs] - async def subnetwork_n( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[int]: - """ - Returns network SubnetworkN hyperparameter. - - Arguments: - netuid: The unique identifier of the subnetwork. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number at which to check the subnet existence. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - Optional[int]: The value of the SubnetworkN hyperparameter, or ``None`` if the subnetwork does not exist or - the parameter is not found. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - call = await self.get_hyperparameter( - param_name="SubnetworkN", - netuid=netuid, - block_hash=block_hash, - reuse_block=reuse_block, - ) - return None if call is None else int(call)
                - - -
                -[docs] - async def tempo( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[int]: - """ - Returns network Tempo hyperparameter. - - Arguments: - netuid: The unique identifier of the subnetwork. - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number at which to check the subnet existence. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - Optional[int]: The value of the Tempo hyperparameter, or ``None`` if the subnetwork does not exist or the - parameter is not found. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - call = await self.get_hyperparameter( - param_name="Tempo", - netuid=netuid, - block_hash=block_hash, - reuse_block=reuse_block, - ) - return None if call is None else int(call)
                - - -
                -[docs] - async def tx_rate_limit( - self, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[int]: - """ - Retrieves the transaction rate limit for the Bittensor network as of a specific blockchain block. - This rate limit sets the maximum number of transactions that can be processed within a given time frame. - - Arguments: - block: The blockchain block number for the query. - block_hash: The hash of the blockchain block number at which to check the subnet existence. - reuse_block: Whether to reuse the last-used block hash. - - Returns: - Optional[int]: The transaction rate limit of the network, ``None`` if not available. - - The transaction rate limit is an essential parameter for ensuring the stability and scalability of the Bittensor - network. It helps in managing network load and preventing congestion, thereby maintaining efficient and timely - transaction processing. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - result = await self.query_subtensor( - "TxRateLimit", block_hash=block_hash, reuse_block=reuse_block - ) - return getattr(result, "value", None)
                - - -
                -[docs] - async def wait_for_block(self, block: Optional[int] = None): - """ - Waits until a specific block is reached on the chain. If no block is specified, waits for the next block. - - Arguments: - block: The block number to wait for. If ``None``, waits for the next block. - - Returns: - bool: ``True`` if the target block was reached, ``False`` if timeout occurred. - - Example: - import bittensor as bt - subtensor = bt.Subtensor() - - await subtensor.wait_for_block() # Waits for next block - await subtensor.wait_for_block(block=1234) # Waits for a specific block - """ - - async def handler(block_data: dict): - logging.debug( - f"reached block {block_data['header']['number']}. Waiting for block {target_block}" - ) - if block_data["header"]["number"] >= target_block: - return True - return None - - current_block = await self.substrate.get_block() - current_block_hash = current_block.get("header", {}).get("hash") - - if block is not None: - target_block = block - else: - target_block = current_block["header"]["number"] + 1 - - await self.substrate.get_block_handler( - current_block_hash, header_only=True, subscription_handler=handler - ) - return True
                - - -
                -[docs] - async def weights( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> list[tuple[int, list[tuple[int, int]]]]: - """ - Retrieves the weight distribution set by neurons within a specific subnet of the Bittensor network. - This function maps each neuron's UID to the weights it assigns to other neurons, reflecting the network's trust - and value assignment mechanisms. - - Arguments: - netuid: The network UID of the subnet to query. - block: Block number for synchronization, or `None` for the latest block. - block_hash: The hash of the blockchain block for the query. - reuse_block: reuse the last-used blockchain block hash. - - Returns: - A list of tuples mapping each neuron's UID to its assigned weights. - - The weight distribution is a key factor in the network's consensus algorithm and the ranking of neurons, - influencing their influence and reward allocation within the subnet. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - # TODO look into seeing if we can speed this up with storage query - w_map_encoded = await self.substrate.query_map( - module="SubtensorModule", - storage_function="Weights", - params=[netuid], - block_hash=block_hash, - reuse_block_hash=reuse_block, - ) - w_map = [] - async for uid, w in w_map_encoded: - w_map.append((uid, w.value)) - - return w_map
                - - -
                -[docs] - async def weights_rate_limit( - self, - netuid: int, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> Optional[int]: - """ - Returns network WeightsSetRateLimit hyperparameter. - - Arguments: - netuid: The unique identifier of the subnetwork. - block: The blockchain block number for the query. - block_hash: The blockchain block_hash representation of the block id. - reuse_block: Whether to reuse the last-used blockchain block hash. - - Returns: - Optional[int]: The value of the WeightsSetRateLimit hyperparameter, or ``None`` if the subnetwork does not - exist or the parameter is not found. - """ - block_hash = await self.determine_block_hash(block, block_hash, reuse_block) - call = await self.get_hyperparameter( - param_name="WeightsSetRateLimit", - netuid=netuid, - block_hash=block_hash, - reuse_block=reuse_block, - ) - return None if call is None else int(call)
                - - -
                -[docs] - async def get_timestamp( - self, - block: Optional[int] = None, - block_hash: Optional[str] = None, - reuse_block: bool = False, - ) -> datetime: - """ - Retrieves the datetime timestamp for a given block. - - Arguments: - block: The blockchain block number for the query. Do not specify if specifying block_hash or reuse_block. - block_hash: The blockchain block_hash representation of the block id. Do not specify if specifying block - or reuse_block. - reuse_block: Whether to reuse the last-used blockchain block hash. Do not specify if specifying block or - block_hash. - - Returns: - datetime object for the timestamp of the block. - """ - res = await self.query_module( - "Timestamp", - "Now", - block=block, - block_hash=block_hash, - reuse_block=reuse_block, - ) - unix = res.value - return datetime.fromtimestamp(unix / 1000, tz=timezone.utc)
                - - -
                -[docs] - async def get_subnet_owner_hotkey( - self, netuid: int, block: Optional[int] = None - ) -> Optional[str]: - """ - Retrieves the hotkey of the subnet owner for a given network UID. - - This function queries the subtensor network to fetch the hotkey of the owner of a subnet specified by its - netuid. If no data is found or the query fails, the function returns None. - - Arguments: - netuid: The network UID of the subnet to fetch the owner's hotkey for. - block: The specific block number to query the data from. - - Returns: - The hotkey of the subnet owner if available; None otherwise. - """ - return await self.query_subtensor( - name="SubnetOwnerHotkey", params=[netuid], block=block - )
                - - -
                -[docs] - async def get_subnet_validator_permits( - self, netuid: int, block: Optional[int] = None - ) -> Optional[list[bool]]: - """ - Retrieves the list of validator permits for a given subnet as boolean values. - - Arguments: - netuid: The unique identifier of the subnetwork. - block: The blockchain block number for the query. - - Returns: - A list of boolean values representing validator permits, or None if not available. - """ - query = await self.query_subtensor( - name="ValidatorPermit", - params=[netuid], - block=block, - ) - return query.value if query is not None and hasattr(query, "value") else query
                - - - # Extrinsics helper ================================================================================================ - -
                -[docs] - async def sign_and_send_extrinsic( - self, - call: "GenericCall", - wallet: "Wallet", - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - sign_with: str = "coldkey", - use_nonce: bool = False, - period: Optional[int] = None, - nonce_key: str = "hotkey", - raise_error: bool = False, - ) -> tuple[bool, str]: - """ - Helper method to sign and submit an extrinsic call to chain. - - Arguments: - call: a prepared Call object - wallet: the wallet whose coldkey will be used to sign the extrinsic - wait_for_inclusion: whether to wait until the extrinsic call is included on the chain - wait_for_finalization: whether to wait until the extrinsic call is finalized on the chain - sign_with: the wallet's keypair to use for the signing. Options are "coldkey", "hotkey", "coldkeypub" - use_nonce: unique identifier for the transaction related with hot/coldkey. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - nonce_key: the type on nonce to use. Options are "hotkey" or "coldkey". - nonce_key: the type on nonce to use. Options are "hotkey", "coldkey", or "coldkeypub". - raise_error: raises a relevant exception rather than returning ``False`` if unsuccessful. - - Returns: - (success, error message) - - Raises: - SubstrateRequestException: Substrate request exception. - """ - possible_keys = ("coldkey", "hotkey", "coldkeypub") - if sign_with not in possible_keys: - raise AttributeError( - f"'sign_with' must be either 'coldkey', 'hotkey' or 'coldkeypub', not '{sign_with}'" - ) - signing_keypair = getattr(wallet, sign_with) - extrinsic_data = {"call": call, "keypair": signing_keypair} - if use_nonce: - if nonce_key not in possible_keys: - raise AttributeError( - f"'nonce_key' must be either 'coldkey', 'hotkey' or 'coldkeypub', not '{nonce_key}'" - ) - next_nonce = await self.substrate.get_account_next_index( - getattr(wallet, nonce_key).ss58_address - ) - extrinsic_data["nonce"] = next_nonce - if period is not None: - extrinsic_data["era"] = {"period": period} - - extrinsic = await self.substrate.create_signed_extrinsic(**extrinsic_data) - try: - response = await self.substrate.submit_extrinsic( - extrinsic, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - ) - # We only wait here if we expect finalization. - if not wait_for_finalization and not wait_for_inclusion: - message = "Not waiting for finalization or inclusion." - logging.debug(f"{message}. Extrinsic: {extrinsic}") - return True, message - - if await response.is_success: - return True, "" - - if raise_error: - raise ChainError.from_error(await response.error_message) - - return False, format_error_message(await response.error_message) - - except SubstrateRequestException as e: - if raise_error: - raise - - return False, format_error_message(e)
                - - - # Extrinsics ======================================================================================================= - -
                -[docs] - async def add_stake( - self, - wallet: "Wallet", - hotkey_ss58: Optional[str] = None, - netuid: Optional[int] = None, - amount: Optional[Balance] = None, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - safe_staking: bool = False, - allow_partial_stake: bool = False, - rate_tolerance: float = 0.005, - period: Optional[int] = None, - ) -> bool: - """ - Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified - subnet. Staking is a fundamental process in the Bittensor network that enables neurons to participate actively - and earn incentives. - - Arguments: - wallet: The wallet to be used for staking. - hotkey_ss58: The SS58 address of the hotkey associated with the neuron to which you intend to delegate your - stake. If not specified, the wallet's hotkey will be used. Defaults to ``None``. - netuid: The unique identifier of the subnet to which the neuron belongs. - amount: The amount of TAO to stake. - wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `True`. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. - safe_staking: If true, enables price safety checks to protect against fluctuating prices. The stake will - only execute if the price change doesn't exceed the rate tolerance. Default is ``False``. - allow_partial_stake: If true and safe_staking is enabled, allows partial staking when the full amount would - exceed the price tolerance. If false, the entire stake fails if it would exceed the tolerance. - Default is ``False``. - rate_tolerance: The maximum allowed price change ratio when staking. For example, 0.005 = 0.5% maximum price - increase. Only used when safe_staking is True. Default is ``0.005``. - period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. Defaults to ``None``. - - Returns: - bool: ``True`` if the staking is successful, ``False`` otherwise. - - This function enables neurons to increase their stake in the network, enhancing their influence and potential. - When safe_staking is enabled, it provides protection against price fluctuations during the time stake is - executed and the time it is actually processed by the chain. - """ - amount = check_and_convert_to_balance(amount) - return await add_stake_extrinsic( - subtensor=self, - wallet=wallet, - hotkey_ss58=hotkey_ss58, - netuid=netuid, - amount=amount, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - safe_staking=safe_staking, - allow_partial_stake=allow_partial_stake, - rate_tolerance=rate_tolerance, - period=period, - )
                - - -
                -[docs] - async def add_liquidity( - self, - wallet: "Wallet", - netuid: int, - liquidity: Balance, - price_low: Balance, - price_high: Balance, - hotkey: Optional[str] = None, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - period: Optional[int] = None, - ) -> tuple[bool, str]: - """ - Adds liquidity to the specified price range. - - Arguments: - wallet: The wallet used to sign the extrinsic (must be unlocked). - netuid: The UID of the target subnet for which the call is being initiated. - liquidity: The amount of liquidity to be added. - price_low: The lower bound of the price tick range. In TAO. - price_high: The upper bound of the price tick range. In TAO. - hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to - `None`. - wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - Tuple[bool, str]: - - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - - Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call ``toggle_user_liquidity`` - method to enable/disable user liquidity. - """ - return await add_liquidity_extrinsic( - subtensor=self, - wallet=wallet, - netuid=netuid, - liquidity=liquidity, - price_low=price_low, - price_high=price_high, - hotkey=hotkey, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - -
                -[docs] - async def add_stake_multiple( - self, - wallet: "Wallet", - hotkey_ss58s: list[str], - netuids: list[int], - amounts: Optional[list[Balance]] = None, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - ) -> bool: - """ - Adds stakes to multiple neurons identified by their hotkey SS58 addresses. - This bulk operation allows for efficient staking across different neurons from a single wallet. - - Arguments: - wallet: The wallet used for staking. - hotkey_ss58s: List of ``SS58`` addresses of hotkeys to stake to. - netuids: list of subnet UIDs. - amounts: Corresponding amounts of TAO to stake for each hotkey. - wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `True`. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. - - Returns: - bool: ``True`` if the staking is successful for all specified neurons, ``False`` otherwise. - - This function is essential for managing stakes across multiple neurons, reflecting the dynamic and collaborative - nature of the Bittensor network. - """ - return await add_stake_multiple_extrinsic( - subtensor=self, - wallet=wallet, - hotkey_ss58s=hotkey_ss58s, - netuids=netuids, - amounts=amounts, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - )
                - - -
                -[docs] - async def burned_register( - self, - wallet: "Wallet", - netuid: int, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = True, - period: Optional[int] = None, - ) -> bool: - """ - Registers a neuron on the Bittensor network by recycling TAO. This method of registration involves recycling - TAO tokens, allowing them to be re-mined by performing work on the network. - - Arguments: - wallet: The wallet associated with the neuron to be registered. - netuid: The unique identifier of the subnet. - wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to - ``False``. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - Returns: - bool: `True` if the registration is successful, False otherwise. - """ - async with self: - if netuid == 0: - return await root_register_extrinsic( - subtensor=self, - wallet=wallet, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - ) - - return await burned_register_extrinsic( - subtensor=self, - wallet=wallet, - netuid=netuid, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - -
                -[docs] - async def commit_weights( - self, - wallet: "Wallet", - netuid: int, - salt: list[int], - uids: Union[NDArray[np.int64], list], - weights: Union[NDArray[np.int64], list], - version_key: int = version_as_int, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = False, - max_retries: int = 5, - period: Optional[int] = 16, - ) -> tuple[bool, str]: - """ - Commits a hash of the subnet validator's weight vector to the Bittensor blockchain using the provided wallet. - This action serves as a commitment or snapshot of the validator's current weight distribution. - - Arguments: - wallet: The wallet associated with the subnet validator committing the weights. - netuid: The unique identifier of the subnet. - salt: list of randomly generated integers as salt to generated weighted hash. - uids: NumPy array of subnet miner neuron UIDs for which weights are being committed. - weights: of weight values corresponding toon_key - version_key: Integer representation of version key for compatibility with the network. - wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is - `False`. - max_retries: The number of maximum attempts to commit weights. Default is `5`. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: - `True` if the weight commitment is successful, False otherwise. - `msg` is a string value describing the success or potential error. - - This function allows subnet validators to create a tamper-proof record of their weight vector at a specific - point in time, creating a foundation of transparency and accountability for the Bittensor network. - - Notes: - See also: <https://docs.learnbittensor.org/glossary#commit-reveal>, - """ - retries = 0 - success = False - message = "No attempt made. Perhaps it is too soon to commit weights!" - - logging.info( - f"Committing weights with params: " - f"netuid=[blue]{netuid}[/blue], uids=[blue]{uids}[/blue], weights=[blue]{weights}[/blue], " - f"version_key=[blue]{version_key}[/blue]" - ) - - # Generate the hash of the weights - commit_hash = generate_weight_hash( - address=wallet.hotkey.ss58_address, - netuid=netuid, - uids=list(uids), - values=list(weights), - salt=salt, - version_key=version_key, - ) - - while retries < max_retries and success is False: - try: - success, message = await commit_weights_extrinsic( - subtensor=self, - wallet=wallet, - netuid=netuid, - commit_hash=commit_hash, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - ) - if success: - break - except Exception as e: - logging.error(f"Error committing weights: {e}") - retries += 1 - - return success, message
                - - -
                -[docs] - async def modify_liquidity( - self, - wallet: "Wallet", - netuid: int, - position_id: int, - liquidity_delta: Balance, - hotkey: Optional[str] = None, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - period: Optional[int] = None, - ) -> tuple[bool, str]: - """Modifies liquidity in liquidity position by adding or removing liquidity from it. - - Arguments: - wallet: The wallet used to sign the extrinsic (must be unlocked). - netuid: The UID of the target subnet for which the call is being initiated. - position_id: The id of the position record in the pool. - liquidity_delta: The amount of liquidity to be added or removed (add if positive or remove if negative). - hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to - `None`. - wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - Tuple[bool, str]: - - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - - Example: - import bittensor as bt - - subtensor = bt.AsyncSubtensor(network="local") - await subtensor.initialize() - - my_wallet = bt.Wallet() - - # if `liquidity_delta` is negative - my_liquidity_delta = Balance.from_tao(100) * -1 - await subtensor.modify_liquidity( - wallet=my_wallet, - netuid=123, - position_id=2, - liquidity_delta=my_liquidity_delta - ) - - # if `liquidity_delta` is positive - my_liquidity_delta = Balance.from_tao(120) - await subtensor.modify_liquidity( - wallet=my_wallet, - netuid=123, - position_id=2, - liquidity_delta=my_liquidity_delta - ) - - Note: Modifying is allowed even when user liquidity is enabled in specified subnet. Call `toggle_user_liquidity` - to enable/disable user liquidity. - """ - return await modify_liquidity_extrinsic( - subtensor=self, - wallet=wallet, - netuid=netuid, - position_id=position_id, - liquidity_delta=liquidity_delta, - hotkey=hotkey, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - -
                -[docs] - async def move_stake( - self, - wallet: "Wallet", - origin_hotkey: str, - origin_netuid: int, - destination_hotkey: str, - destination_netuid: int, - amount: Balance, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - period: Optional[int] = None, - ) -> bool: - """ - Moves stake to a different hotkey and/or subnet. - - Arguments: - wallet: The wallet to move stake from. - origin_hotkey: The SS58 address of the source hotkey. - origin_netuid: The netuid of the source subnet. - destination_hotkey: The SS58 address of the destination hotkey. - destination_netuid: The netuid of the destination subnet. - amount: Amount of stake to move. - wait_for_inclusion: Waits for the transaction to be included in a block. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - Returns: - success: True if the stake movement was successful. - """ - amount = check_and_convert_to_balance(amount) - return await move_stake_extrinsic( - subtensor=self, - wallet=wallet, - origin_hotkey=origin_hotkey, - origin_netuid=origin_netuid, - destination_hotkey=destination_hotkey, - destination_netuid=destination_netuid, - amount=amount, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - -
                -[docs] - async def register( - self: "AsyncSubtensor", - wallet: "Wallet", - netuid: int, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = True, - max_allowed_attempts: int = 3, - output_in_place: bool = False, - cuda: bool = False, - dev_id: Union[list[int], int] = 0, - tpb: int = 256, - num_processes: Optional[int] = None, - update_interval: Optional[int] = None, - log_verbose: bool = False, - period: Optional[int] = None, - ): - """ - Registers a neuron on the Bittensor network using the provided wallet. - - Registration is a critical step for a neuron to become an active participant in the network, enabling it to - stake, set weights, and receive incentives. - - Arguments: - wallet: The wallet associated with the neuron to be registered. - netuid: unique identifier of the subnet. - wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `False`. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to - max_allowed_attempts: Maximum number of attempts to register the wallet. - output_in_place: If true, prints the progress of the proof of work to the console in-place. Meaning - the progress is printed on the same lines. Defaults to `True`. - cuda: If `true`, the wallet should be registered using CUDA device(s). Defaults to `False`. - dev_id: The CUDA device id to use, or a list of device ids. Defaults to `0` (zero). - tpb: The number of threads per block (CUDA). Default to `256`. - num_processes: The number of processes to use to register. Default to `None`. - update_interval: The number of nonces to solve between updates. Default to `None`. - log_verbose: If `true`, the registration process will log more information. Default to `False`. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - Returns: - bool: `True` if the registration is successful, False otherwise. - - This function facilitates the entry of new neurons into the network, supporting the decentralized growth and - scalability of the Bittensor ecosystem. - """ - return await register_extrinsic( - subtensor=self, - wallet=wallet, - netuid=netuid, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - max_allowed_attempts=max_allowed_attempts, - tpb=tpb, - update_interval=update_interval, - num_processes=num_processes, - cuda=cuda, - dev_id=dev_id, - output_in_place=output_in_place, - log_verbose=log_verbose, - period=period, - )
                - - -
                -[docs] - async def register_subnet( - self: "AsyncSubtensor", - wallet: "Wallet", - wait_for_inclusion: bool = False, - wait_for_finalization: bool = True, - period: Optional[int] = None, - ) -> bool: - """ - Registers a new subnetwork on the Bittensor network. - - Arguments: - wallet: The wallet to be used for subnet registration. - wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, - os `False` if the extrinsic fails to enter the block within the timeout. Default is `False`. - wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - true, or returns false if the extrinsic fails to be finalized within the timeout. Default is `False`. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - Returns: - bool: True if the subnet registration was successful, False otherwise. - """ - return await register_subnet_extrinsic( - subtensor=self, - wallet=wallet, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - -
                -[docs] - async def remove_liquidity( - self, - wallet: "Wallet", - netuid: int, - position_id: int, - hotkey: Optional[str] = None, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - period: Optional[int] = None, - ) -> tuple[bool, str]: - """Remove liquidity and credit balances back to wallet's hotkey stake. - - Arguments: - wallet: The wallet used to sign the extrinsic (must be unlocked). - netuid: The UID of the target subnet for which the call is being initiated. - position_id: The id of the position record in the pool. - hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to - `None`. - wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - Tuple[bool, str]: - - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - - Note: - - Adding is allowed even when user liquidity is enabled in specified subnet. Call `toggle_user_liquidity` - extrinsic to enable/disable user liquidity. - - To get the `position_id` use `get_liquidity_list` method. - """ - return await remove_liquidity_extrinsic( - subtensor=self, - wallet=wallet, - netuid=netuid, - position_id=position_id, - hotkey=hotkey, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - -
                -[docs] - async def reveal_weights( - self, - wallet: "Wallet", - netuid: int, - uids: Union[NDArray[np.int64], list], - weights: Union[NDArray[np.int64], list], - salt: Union[NDArray[np.int64], list], - version_key: int = version_as_int, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = False, - max_retries: int = 5, - period: Optional[int] = None, - ) -> tuple[bool, str]: - """ - Reveals the weight vector for a specific subnet on the Bittensor blockchain using the provided wallet. - This action serves as a revelation of the subnet validator's previously committed weight distribution as part - of the commit-reveal mechanism. - - Arguments: - wallet: The wallet associated with the subnet validator revealing the weights. - netuid: unique identifier of the subnet. - uids: NumPy array of subnet miner neuron UIDs for which weights are being revealed. - weights: NumPy array of weight values corresponding to each UID. - salt: NumPy array of salt values - version_key: Version key for compatibility with the network. Default is `int representation of - the Bittensor version`. - wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is - `False`. - max_retries: The number of maximum attempts to reveal weights. Default is `5`. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: `True` if the weight revelation is successful, False otherwise. And `msg`, a string - value describing the success or potential error. - - This function allows subnet validators to reveal their previously committed weight vector. - - See also: <https://docs.learnbittensor.org/glossary#commit-reveal>, - """ - retries = 0 - success = False - message = "No attempt made. Perhaps it is too soon to reveal weights!" - - while retries < max_retries and success is False: - try: - success, message = await reveal_weights_extrinsic( - subtensor=self, - wallet=wallet, - netuid=netuid, - uids=list(uids), - weights=list(weights), - salt=list(salt), - version_key=version_key, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - ) - if success: - break - except Exception as e: - logging.error(f"Error revealing weights: {e}") - retries += 1 - - return success, message
                - - -
                -[docs] - async def root_set_pending_childkey_cooldown( - self, - wallet: "Wallet", - cooldown: int, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = True, - period: Optional[int] = None, - ) -> tuple[bool, str]: - """Sets the pending childkey cooldown. - - Arguments: - wallet: bittensor wallet instance. - cooldown: the number of blocks to setting pending childkey cooldown. - wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is - `False`. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the - operation, and the second element is a message providing additional information. - - Note: This operation can only be successfully performed if your wallet has root privileges. - """ - return await root_set_pending_childkey_cooldown_extrinsic( - subtensor=self, - wallet=wallet, - cooldown=cooldown, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - - # TODO: remove `block_hash` argument -
                -[docs] - async def root_register( - self, - wallet: "Wallet", - block_hash: Optional[str] = None, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = True, - period: Optional[int] = None, - ) -> bool: - """ - Register neuron by recycling some TAO. - - Arguments: - wallet: Bittensor wallet instance. - block_hash: This argument will be removed in Bittensor v10 - wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is - `False`. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - Returns: - `True` if registration was successful, otherwise `False`. - """ - - return await root_register_extrinsic( - subtensor=self, - wallet=wallet, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - -
                -[docs] - async def root_set_weights( - self, - wallet: "Wallet", - netuids: list[int], - weights: list[float], - version_key: int = 0, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = True, - period: Optional[int] = None, - ) -> bool: - """ - Set weights for the root network. - - Arguments: - wallet: bittensor wallet instance. - netuids: The list of subnet uids. - weights: The list of weights to be set. - version_key: Version key for compatibility with the network. Default is `0`. - wait_for_inclusion: Waits for the transaction to be included in a block. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. - period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - `True` if the setting of weights is successful, `False` otherwise. - """ - netuids_, weights_ = convert_uids_and_weights(netuids, weights) - logging.info(f"Setting weights in network: [blue]{self.network}[/blue]") - # Run the set weights operation. - return await set_root_weights_extrinsic( - subtensor=self, - wallet=wallet, - netuids=netuids_, - weights=weights_, - version_key=version_key, - wait_for_finalization=wait_for_finalization, - wait_for_inclusion=wait_for_inclusion, - period=period, - )
                - - -
                -[docs] - async def set_children( - self, - wallet: "Wallet", - hotkey: str, - netuid: int, - children: list[tuple[float, str]], - wait_for_inclusion: bool = True, - wait_for_finalization: bool = True, - raise_error: bool = False, - period: Optional[int] = None, - ) -> tuple[bool, str]: - """ - Allows a coldkey to set children-keys. - - Arguments: - wallet: bittensor wallet instance. - hotkey: The `SS58` address of the neuron's hotkey. - netuid: The netuid value. - children: A list of children with their proportions. - wait_for_inclusion: Waits for the transaction to be included in a block. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the - operation, and the second element is a message providing additional information. - - Raises: - DuplicateChild: There are duplicates in the list of children. - InvalidChild: Child is the hotkey. - NonAssociatedColdKey: The coldkey does not own the hotkey or the child is the same as the hotkey. - NotEnoughStakeToSetChildkeys: Parent key doesn't have minimum own stake. - ProportionOverflow: The sum of the proportions does exceed uint64. - RegistrationNotPermittedOnRootSubnet: Attempting to register a child on the root network. - SubNetworkDoesNotExist: Attempting to register to a non-existent network. - TooManyChildren: Too many children in request. - TxRateLimitExceeded: Hotkey hit the rate limit. - bittensor_wallet.errors.KeyFileError: Failed to decode keyfile data. - bittensor_wallet.errors.PasswordError: Decryption failed or wrong password for decryption provided. - """ - return await set_children_extrinsic( - subtensor=self, - wallet=wallet, - hotkey=hotkey, - netuid=netuid, - children=children, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - raise_error=raise_error, - period=period, - )
                - - -
                -[docs] - async def set_delegate_take( - self, - wallet: "Wallet", - hotkey_ss58: str, - take: float, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = True, - raise_error: bool = False, - period: Optional[int] = None, - ) -> tuple[bool, str]: - """ - Sets the delegate 'take' percentage for a neuron identified by its hotkey. - The 'take' represents the percentage of rewards that the delegate claims from its nominators' stakes. - - Arguments: - wallet: bittensor wallet instance. - hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - take: Percentage reward for the delegate. - wait_for_inclusion: Waits for the transaction to be included in a block. - wait_for_finalization: Waits for the transaction to be finalized on_error: Raises a relevant exception - rather than returning ``False`` if unsuccessful. - raise_error: raises a relevant exception rather than returning ``False`` if unsuccessful. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the - operation, and the second element is a message providing additional information. - - Raises: - DelegateTakeTooHigh: Delegate take is too high. - DelegateTakeTooLow: Delegate take is too low. - DelegateTxRateLimitExceeded: A transactor exceeded the rate limit for delegate transaction. - HotKeyAccountNotExists: The hotkey does not exist. - NonAssociatedColdKey: Request to stake, unstake, or subscribe is made by a coldkey that is not associated - with the hotkey account. - bittensor_wallet.errors.PasswordError: Decryption failed or wrong password for decryption provided. - bittensor_wallet.errors.KeyFileError: Failed to decode keyfile data. - - The delegate take is a critical parameter in the network's incentive structure, influencing the distribution of - rewards among neurons and their nominators. - """ - - # u16 representation of the take - take_u16 = int(take * 0xFFFF) - - current_take = await self.get_delegate_take(hotkey_ss58) - current_take_u16 = int(current_take * 0xFFFF) - - if current_take_u16 == take_u16: - logging.info(":white_heavy_check_mark: [green]Already Set[/green]") - return True, "" - - logging.info(f"Updating {hotkey_ss58} take: current={current_take} new={take}") - - if current_take_u16 < take_u16: - success, error = await increase_take_extrinsic( - self, - wallet, - hotkey_ss58, - take_u16, - wait_for_finalization=wait_for_finalization, - wait_for_inclusion=wait_for_inclusion, - raise_error=raise_error, - period=period, - ) - else: - success, error = await decrease_take_extrinsic( - self, - wallet, - hotkey_ss58, - take_u16, - wait_for_finalization=wait_for_finalization, - wait_for_inclusion=wait_for_inclusion, - raise_error=raise_error, - period=period, - ) - - if success: - logging.info(":white_heavy_check_mark: [green]Take Updated[/green]") - - return success, error
                - - -
                -[docs] - async def set_subnet_identity( - self, - wallet: "Wallet", - netuid: int, - subnet_identity: SubnetIdentity, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = True, - period: Optional[int] = None, - ) -> tuple[bool, str]: - """ - Sets the identity of a subnet for a specific wallet and network. - - Arguments: - wallet: The wallet instance that will authorize the transaction. - netuid: The unique ID of the network on which the operation takes place. - subnet_identity: The identity data of the subnet including attributes like name, GitHub - repository, contact, URL, discord, description, and any additional metadata. - wait_for_inclusion: Indicates if the function should wait for the transaction to be included in the - block. - wait_for_finalization: Indicates if the function should wait for the transaction to reach - finalization. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure of the - operation, and the second element is a message providing additional information. - """ - return await set_subnet_identity_extrinsic( - subtensor=self, - wallet=wallet, - netuid=netuid, - subnet_name=subnet_identity.subnet_name, - github_repo=subnet_identity.github_repo, - subnet_contact=subnet_identity.subnet_contact, - subnet_url=subnet_identity.subnet_url, - logo_url=subnet_identity.logo_url, - discord=subnet_identity.discord, - description=subnet_identity.description, - additional=subnet_identity.additional, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - -
                -[docs] - async def set_weights( - self, - wallet: "Wallet", - netuid: int, - uids: Union[NDArray[np.int64], "torch.LongTensor", list], - weights: Union[NDArray[np.float32], "torch.FloatTensor", list], - version_key: int = version_as_int, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = False, - max_retries: int = 5, - block_time: float = 12.0, - period: Optional[int] = 8, - ): - """ - Sets the weight vector for a neuron acting as a validator, specifying the weights assigned to subnet miners - based on their performance evaluation. - - This method allows subnet validators to submit their weight vectors, which rank the value of each subnet miner's - work. These weight vectors are used by the Yuma Consensus algorithm to compute emissions for both validators and - miners. - - Arguments: - wallet: The wallet associated with the subnet validator setting the weights. - netuid: The unique identifier of the subnet. - uids: The list of subnet miner neuron UIDs that the weights are being set for. - weights: The corresponding weights to be set for each UID, representing the validator's evaluation of each - miner's performance. - version_key: Version key for compatibility with the network. Default is int representation of - the Bittensor version. - wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is - `False`. - max_retries: The number of maximum attempts to set weights. Default is `5`. - block_time: The number of seconds for block duration. Default is 12.0 seconds. - period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. Default is 8. - - Returns: - tuple[bool, str]: `True` if the setting of weights is successful, False otherwise. And `msg`, a string - value describing the success or potential error. - - This function is crucial in the Yuma Consensus mechanism, where each validator's weight vector contributes to - the overall weight matrix used to calculate emissions and maintain network consensus. - - Notes: - See <https://docs.learnbittensor.org/glossary#yuma-consensus> - """ - - async def _blocks_weight_limit() -> bool: - bslu, wrl = await asyncio.gather( - self.blocks_since_last_update(netuid, uid), - self.weights_rate_limit(netuid), - ) - return bslu > wrl - - retries = 0 - success = False - message = "No attempt made. Perhaps it is too soon to set weights!" - if ( - uid := await self.get_uid_for_hotkey_on_subnet( - wallet.hotkey.ss58_address, netuid - ) - ) is None: - return ( - False, - f"Hotkey {wallet.hotkey.ss58_address} not registered in subnet {netuid}", - ) - - if await self.commit_reveal_enabled(netuid=netuid): - # go with `commit reveal v3` extrinsic - - while ( - retries < max_retries - and success is False - and await _blocks_weight_limit() - ): - logging.info( - f"Committing weights for subnet #{netuid}. Attempt {retries + 1} of {max_retries}." - ) - success, message = await commit_reveal_v3_extrinsic( - subtensor=self, - wallet=wallet, - netuid=netuid, - uids=uids, - weights=weights, - version_key=version_key, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - block_time=block_time, - period=period, - ) - retries += 1 - return success, message - else: - # go with classic `set weights extrinsic` - - while ( - retries < max_retries - and success is False - and await _blocks_weight_limit() - ): - try: - logging.info( - f"Setting weights for subnet #[blue]{netuid}[/blue]. " - f"Attempt [blue]{retries + 1}[/blue] of [green]{max_retries}[/green]." - ) - success, message = await set_weights_extrinsic( - subtensor=self, - wallet=wallet, - netuid=netuid, - uids=uids, - weights=weights, - version_key=version_key, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - ) - except Exception as e: - logging.error(f"Error setting weights: {e}") - retries += 1 - - return success, message
                - - -
                -[docs] - async def serve_axon( - self, - netuid: int, - axon: "Axon", - wait_for_inclusion: bool = False, - wait_for_finalization: bool = True, - certificate: Optional[Certificate] = None, - period: Optional[int] = None, - ) -> bool: - """ - Registers an ``Axon`` serving endpoint on the Bittensor network for a specific neuron. This function is used to - set up the Axon, a key component of a neuron that handles incoming queries and data processing tasks. - - Arguments: - netuid: The unique identifier of the subnetwork. - axon: The Axon instance to be registered for serving. - wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is `True`. - certificate: Certificate to use for TLS. If `None`, no TLS will be used. Defaults to `None`. - period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - - Returns: - bool: `True` if the Axon serve registration is successful, False otherwise. - - By registering an Axon, the neuron becomes an active part of the network's distributed computing infrastructure, - contributing to the collective intelligence of Bittensor. - """ - return await serve_axon_extrinsic( - subtensor=self, - netuid=netuid, - axon=axon, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - certificate=certificate, - period=period, - )
                - - -
                -[docs] - async def start_call( - self, - wallet: "Wallet", - netuid: int, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - period: Optional[int] = None, - ) -> tuple[bool, str]: - """ - Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start - a new subnet's emission mechanism). - - Arguments: - wallet: The wallet used to sign the extrinsic (must be unlocked). - netuid: The UID of the target subnet for which the call is being initiated. - wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to `True`. - wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to `False`. - period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - - Returns: - Tuple[bool, str]: - - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - """ - return await start_call_extrinsic( - subtensor=self, - wallet=wallet, - netuid=netuid, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - -
                -[docs] - async def swap_stake( - self, - wallet: "Wallet", - hotkey_ss58: str, - origin_netuid: int, - destination_netuid: int, - amount: Balance, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - safe_staking: bool = False, - allow_partial_stake: bool = False, - rate_tolerance: float = 0.005, - period: Optional[int] = None, - ) -> bool: - """ - Moves stake between subnets while keeping the same coldkey-hotkey pair ownership. - Like subnet hopping - same owner, same hotkey, just changing which subnet the stake is in. - - Arguments: - wallet: The wallet to swap stake from. - hotkey_ss58: The SS58 address of the hotkey whose stake is being swapped. - origin_netuid: The netuid from which stake is removed. - destination_netuid: The netuid to which stake is added. - amount: The amount to swap. - wait_for_inclusion: Waits for the transaction to be included in a block. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - safe_staking: If true, enables price safety checks to protect against fluctuating prices. The swap will only - execute if the price ratio between subnets doesn't exceed the rate tolerance. Default is False. - allow_partial_stake: If true and safe_staking is enabled, allows partial stake swaps when the full amount - would exceed the price threshold. If false, the entire swap fails if it would exceed the threshold. - Default is False. - rate_tolerance: The maximum allowed increase in the price ratio between subnets - (origin_price/destination_price). For example, 0.005 = 0.5% maximum increase. Only used when - safe_staking is True. Default is 0.005. - period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - - Returns: - success: True if the extrinsic was successful. - - The price ratio for swap_stake in safe mode is calculated as: origin_subnet_price / destination_subnet_price - When safe_staking is enabled, the swap will only execute if: - - With allow_partial_stake=False: The entire swap amount can be executed without the price ratio increasing - more than rate_tolerance. - - With allow_partial_stake=True: A partial amount will be swapped up to the point where the price ratio - would increase by rate_tolerance. - """ - amount = check_and_convert_to_balance(amount) - return await swap_stake_extrinsic( - subtensor=self, - wallet=wallet, - hotkey_ss58=hotkey_ss58, - origin_netuid=origin_netuid, - destination_netuid=destination_netuid, - amount=amount, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - safe_staking=safe_staking, - allow_partial_stake=allow_partial_stake, - rate_tolerance=rate_tolerance, - period=period, - )
                - - -
                -[docs] - async def toggle_user_liquidity( - self, - wallet: "Wallet", - netuid: int, - enable: bool, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - period: Optional[int] = None, - ) -> tuple[bool, str]: - """Allow to toggle user liquidity for specified subnet. - - Arguments: - wallet: The wallet used to sign the extrinsic (must be unlocked). - netuid: The UID of the target subnet for which the call is being initiated. - enable: Boolean indicating whether to enable user liquidity. - wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - - Returns: - Tuple[bool, str]: - - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - - Note: The call can be executed successfully by the subnet owner only. - """ - return await toggle_user_liquidity_extrinsic( - subtensor=self, - wallet=wallet, - netuid=netuid, - enable=enable, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - -
                -[docs] - async def transfer( - self, - wallet: "Wallet", - dest: str, - amount: Balance, - transfer_all: bool = False, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - keep_alive: bool = True, - period: Optional[int] = None, - ) -> bool: - """ - Transfer token of amount to destination. - - Arguments: - wallet: Source wallet for the transfer. - dest: Destination address for the transfer. - amount: Number of tokens to transfer. - transfer_all: Flag to transfer all tokens. Default is `False`. - wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `True`. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. - keep_alive: Flag to keep the connection alive. Default is `True`. - period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - Returns: - `True` if the transferring was successful, otherwise `False`. - """ - amount = check_and_convert_to_balance(amount) - return await transfer_extrinsic( - subtensor=self, - wallet=wallet, - dest=dest, - amount=amount, - transfer_all=transfer_all, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - keep_alive=keep_alive, - period=period, - )
                - - -
                -[docs] - async def transfer_stake( - self, - wallet: "Wallet", - destination_coldkey_ss58: str, - hotkey_ss58: str, - origin_netuid: int, - destination_netuid: int, - amount: Balance, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - period: Optional[int] = None, - ) -> bool: - """ - Transfers stake from one subnet to another while changing the coldkey owner. - - Arguments: - wallet: The wallet to transfer stake from. - destination_coldkey_ss58: The destination coldkey SS58 address. - hotkey_ss58: The hotkey SS58 address associated with the stake. - origin_netuid: The source subnet UID. - destination_netuid: The destination subnet UID. - amount: Amount to transfer. - wait_for_inclusion: If true, waits for inclusion before returning. - wait_for_finalization: If true, waits for finalization before returning. - period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - - Returns: - success: True if the transfer was successful. - """ - amount = check_and_convert_to_balance(amount) - return await transfer_stake_extrinsic( - subtensor=self, - wallet=wallet, - destination_coldkey_ss58=destination_coldkey_ss58, - hotkey_ss58=hotkey_ss58, - origin_netuid=origin_netuid, - destination_netuid=destination_netuid, - amount=amount, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - -
                -[docs] - async def unstake( - self, - wallet: "Wallet", - hotkey_ss58: Optional[str] = None, - netuid: Optional[int] = None, - amount: Optional[Balance] = None, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - safe_staking: bool = False, - allow_partial_stake: bool = False, - rate_tolerance: float = 0.005, - period: Optional[int] = None, - unstake_all: bool = False, - ) -> bool: - """ - Removes a specified amount of stake from a single hotkey account. This function is critical for adjusting - individual neuron stakes within the Bittensor network. - - Arguments: - wallet: The wallet associated with the neuron from which the stake is being - removed. - hotkey_ss58: The `SS58` address of the hotkey account to unstake from. - netuid: The unique identifier of the subnet. - amount: The amount of alpha to unstake. If not specified, unstakes all. - wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `True`. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. - safe_staking: If true, enables price safety checks to protect against fluctuating prices. The unstake will - only execute if the price change doesn't exceed the rate tolerance. Default is False. - allow_partial_stake: If true and safe_staking is enabled, allows partial unstaking when - the full amount would exceed the price threshold. If false, the entire unstake fails if it would exceed - the threshold. Default is False. - rate_tolerance: The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum - price decrease. Only used when safe_staking is True. Default is 0.005. - period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - unstake_all: If `True`, unstakes all tokens and `amount` is ignored. Default is `False` - - Returns: - bool: `True` if the unstaking process is successful, False otherwise. - - This function supports flexible stake management, allowing neurons to adjust their network participation and - potential reward accruals. - """ - amount = check_and_convert_to_balance(amount) - return await unstake_extrinsic( - subtensor=self, - wallet=wallet, - hotkey_ss58=hotkey_ss58, - netuid=netuid, - amount=amount, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - safe_staking=safe_staking, - allow_partial_stake=allow_partial_stake, - rate_tolerance=rate_tolerance, - period=period, - unstake_all=unstake_all, - )
                - - -
                -[docs] - async def unstake_all( - self, - wallet: "Wallet", - hotkey: str, - netuid: int, - rate_tolerance: Optional[float] = 0.005, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - period: Optional[int] = None, - ) -> tuple[bool, str]: - """Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network. - - Arguments: - wallet: The wallet of the stake owner. - hotkey: The SS58 address of the hotkey to unstake from. - netuid: The unique identifier of the subnet. - rate_tolerance: The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum - price decrease. If not passed (None), then unstaking goes without price limit. Default is 0.005. - wait_for_inclusion: Waits for the transaction to be included in a block. Default is `True`. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is `False`. - period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. Default is `None`. - - Returns: - tuple[bool, str]: - A tuple containing: - - `True` and a success message if the unstake operation succeeded; - - `False` and an error message otherwise. - - Example: - # If you would like to unstake all stakes in all subnets safely, use default `rate_tolerance` or pass your - value: - import bittensor as bt - - subtensor = bt.AsyncSubtensor() - wallet = bt.Wallet("my_wallet") - netuid = 14 - hotkey = "5%SOME_HOTKEY_WHERE_IS_YOUR_STAKE_NOW%" - - wallet_stakes = await subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address) - - for stake in wallet_stakes: - result = await subtensor.unstake_all( - wallet=wallet, - hotkey_ss58=stake.hotkey_ss58, - netuid=stake.netuid, - ) - print(result) - - # If you would like to unstake all stakes in all subnets unsafely, use `rate_tolerance=None`: - import bittensor as bt - - subtensor = bt.AsyncSubtensor() - wallet = bt.Wallet("my_wallet") - netuid = 14 - hotkey = "5%SOME_HOTKEY_WHERE_IS_YOUR_STAKE_NOW%" - - wallet_stakes = await subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address) - - for stake in wallet_stakes: - result = await subtensor.unstake_all( - wallet=wallet, - hotkey_ss58=stake.hotkey_ss58, - netuid=stake.netuid, - rate_tolerance=None, - ) - print(result) - """ - if netuid != 0: - logging.debug( - f"Unstaking without Alpha price control from subnet [blue]#{netuid}[/blue]." - ) - return await unstake_all_extrinsic( - subtensor=self, - wallet=wallet, - hotkey=hotkey, - netuid=netuid, - rate_tolerance=rate_tolerance, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - )
                - - -
                -[docs] - async def unstake_multiple( - self, - wallet: "Wallet", - hotkey_ss58s: list[str], - netuids: list[int], - amounts: Optional[list[Balance]] = None, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = False, - period: Optional[int] = None, - unstake_all: bool = False, - ) -> bool: - """ - Performs batch unstaking from multiple hotkey accounts, allowing a neuron to reduce its staked amounts - efficiently. This function is useful for managing the distribution of stakes across multiple neurons. - - Arguments: - wallet: The wallet linked to the coldkey from which the stakes are being withdrawn. - hotkey_ss58s: A list of hotkey `SS58` addresses to unstake from. - netuids: Subnets unique IDs. - amounts: The amounts of TAO to unstake from each hotkey. If not provided, unstakes all. - wait_for_inclusion: Waits for the transaction to be included in a block. - wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - unstake_all: If true, unstakes all tokens. Default is `False`. If `True` amounts are ignored. - - Returns: - bool: `True` if the batch unstaking is successful, False otherwise. - - This function allows for strategic reallocation or withdrawal of stakes, aligning with the dynamic stake - management aspect of the Bittensor network. - """ - return await unstake_multiple_extrinsic( - subtensor=self, - wallet=wallet, - hotkey_ss58s=hotkey_ss58s, - netuids=netuids, - amounts=amounts, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - unstake_all=unstake_all, - )
                -
                - - - -
                -[docs] -async def get_async_subtensor( - network: Optional[str] = None, - config: Optional["Config"] = None, - _mock: bool = False, - log_verbose: bool = False, -) -> "AsyncSubtensor": - """Factory method to create an initialized AsyncSubtensor. - Mainly useful for when you don't want to run `await subtensor.initialize()` after instantiation. - """ - sub = AsyncSubtensor( - network=network, config=config, _mock=_mock, log_verbose=log_verbose - ) - await sub.initialize() - return sub
                - -
                - -
                - - - - - - -
                - -
                -
                -
                - -
                - - - - -
                -
                - - -
                - - -
                -
                -
                - - - - - -
                -
                - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/axon.html b/static/python-api/html/_modules/bittensor/core/axon.html index a443620401..d91711cb28 100644 --- a/static/python-api/html/_modules/bittensor/core/axon.html +++ b/static/python-api/html/_modules/bittensor/core/axon.html @@ -149,7 +149,6 @@
              • API Reference
                • bittensor
                  diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/axon_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/axon_info.html index d28dae68ef..bf2eb62ed1 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/axon_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/axon_info.html @@ -149,7 +149,6 @@
                • API Reference
                  • bittensor
                    diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/chain_identity.html b/static/python-api/html/_modules/bittensor/core/chain_data/chain_identity.html index a29a46c187..55a45250bb 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/chain_identity.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/chain_identity.html @@ -149,7 +149,6 @@
                  • API Reference
                    • bittensor
                      diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info.html index e583d96616..56b20edf55 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info.html @@ -149,7 +149,6 @@
                    • API Reference
                      • bittensor
                        diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info_lite.html b/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info_lite.html index a07a2c79cd..15a7ed4523 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info_lite.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/delegate_info_lite.html @@ -149,7 +149,6 @@
                      • API Reference
                        • bittensor
                          diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/dynamic_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/dynamic_info.html index ed7ea41543..a1d5008526 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/dynamic_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/dynamic_info.html @@ -149,7 +149,6 @@
                        • API Reference
                          • bittensor
                            diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/info_base.html b/static/python-api/html/_modules/bittensor/core/chain_data/info_base.html index daa0ab7e84..2fda0a63f3 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/info_base.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/info_base.html @@ -149,7 +149,6 @@
                          • API Reference
                            • bittensor
                              diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/ip_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/ip_info.html index 134094b773..160c3909d2 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/ip_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/ip_info.html @@ -149,7 +149,6 @@
                            • API Reference
                              • bittensor
                                diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/metagraph_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/metagraph_info.html index 4f3af5a2c8..9c3e45cb90 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/metagraph_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/metagraph_info.html @@ -149,7 +149,6 @@
                              • API Reference
                                • bittensor
                                  diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info.html index 7a0d69b2d0..670a923884 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info.html @@ -149,7 +149,6 @@
                                • API Reference
                                  • bittensor
                                    diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info_lite.html b/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info_lite.html index 0ab8ee6d3f..3145aec998 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info_lite.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/neuron_info_lite.html @@ -149,7 +149,6 @@
                                  • API Reference
                                    • bittensor
                                      diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/prometheus_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/prometheus_info.html index cab89e58b9..cf1dff6f48 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/prometheus_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/prometheus_info.html @@ -149,7 +149,6 @@
                                    • API Reference
                                      • bittensor
                                        diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/proposal_vote_data.html b/static/python-api/html/_modules/bittensor/core/chain_data/proposal_vote_data.html index 31a993405b..e4a1c454e8 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/proposal_vote_data.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/proposal_vote_data.html @@ -149,7 +149,6 @@
                                      • API Reference
                                        • bittensor
                                          diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/scheduled_coldkey_swap_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/scheduled_coldkey_swap_info.html index 4dbcfed6d5..b9854e9ad7 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/scheduled_coldkey_swap_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/scheduled_coldkey_swap_info.html @@ -149,7 +149,6 @@
                                        • API Reference
                                          • bittensor
                                            diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/stake_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/stake_info.html index 4637267d6f..d1376b812c 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/stake_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/stake_info.html @@ -149,7 +149,6 @@
                                          • API Reference
                                            • bittensor
                                              diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_hyperparameters.html b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_hyperparameters.html index 8758c0e54b..57c4e3f5db 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_hyperparameters.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_hyperparameters.html @@ -149,7 +149,6 @@
                                            • API Reference
                                              • bittensor
                                                diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html index 9ab45abcbf..24bcbf865a 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html @@ -149,7 +149,6 @@
                                              • API Reference
                                                • bittensor
                                                  diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_info.html index 02a7035d09..98d2187675 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_info.html @@ -149,7 +149,6 @@
                                                • API Reference
                                                  • bittensor
                                                    diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_state.html b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_state.html index e467d11dea..bcc91c5361 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/subnet_state.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/subnet_state.html @@ -149,7 +149,6 @@
                                                  • API Reference
                                                    • bittensor
                                                      diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/utils.html b/static/python-api/html/_modules/bittensor/core/chain_data/utils.html index 8793c3144e..cbe9ab0d44 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/utils.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/utils.html @@ -149,7 +149,6 @@
                                                    • API Reference
                                                      • bittensor
                                                        diff --git a/static/python-api/html/_modules/bittensor/core/chain_data/weight_commit_info.html b/static/python-api/html/_modules/bittensor/core/chain_data/weight_commit_info.html index b2ae812f82..bbc69efb7f 100644 --- a/static/python-api/html/_modules/bittensor/core/chain_data/weight_commit_info.html +++ b/static/python-api/html/_modules/bittensor/core/chain_data/weight_commit_info.html @@ -149,7 +149,6 @@
                                                      • API Reference
                                                        • bittensor
                                                          diff --git a/static/python-api/html/_modules/bittensor/core/config.html b/static/python-api/html/_modules/bittensor/core/config.html index af93c36005..9a638a5d07 100644 --- a/static/python-api/html/_modules/bittensor/core/config.html +++ b/static/python-api/html/_modules/bittensor/core/config.html @@ -149,7 +149,6 @@
                                                        • API Reference
                                                          • bittensor
                                                            @@ -596,19 +592,13 @@

                                                            Source code for bittensor.core.config

                                                             T = TypeVar("T", bound="DefaultConfig")
                                                             
                                                             
                                                            -
                                                            -[docs] class DefaultConfig(Config): """A Config with a set of default values.""" -
                                                            -[docs] @classmethod def default(cls: Type[T]) -> T: """Get default config.""" - raise NotImplementedError("Function default is not implemented.")
                                                            -
                                                            - + raise NotImplementedError("Function default is not implemented.")
                                                            diff --git a/static/python-api/html/_modules/bittensor/core/dendrite.html b/static/python-api/html/_modules/bittensor/core/dendrite.html index f29d37cf30..6e0a3abae8 100644 --- a/static/python-api/html/_modules/bittensor/core/dendrite.html +++ b/static/python-api/html/_modules/bittensor/core/dendrite.html @@ -149,7 +149,6 @@
                                                          • API Reference
                                                            • bittensor
                                                              diff --git a/static/python-api/html/_modules/bittensor/core/errors.html b/static/python-api/html/_modules/bittensor/core/errors.html index c0f6137ed7..0a91d08707 100644 --- a/static/python-api/html/_modules/bittensor/core/errors.html +++ b/static/python-api/html/_modules/bittensor/core/errors.html @@ -149,7 +149,6 @@
                                                            • API Reference
                                                              • bittensor
                                                                diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/children.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/children.html index d84f5cc572..82732576e3 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/children.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/children.html @@ -149,7 +149,6 @@
                                                              • API Reference
                                                                • bittensor
                                                                  diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/commit_reveal.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/commit_reveal.html deleted file mode 100644 index 766d6f080d..0000000000 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/commit_reveal.html +++ /dev/null @@ -1,563 +0,0 @@ - - - - - - - - - - bittensor.core.extrinsics.asyncex.commit_reveal — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                  - - - - - - - - - -
                                                                  - -
                                                                  - - - - - -
                                                                  -
                                                                  - - - - - - - - -
                                                                  - - - -
                                                                  - -
                                                                  -
                                                                  - -
                                                                  -
                                                                  - -
                                                                  - -
                                                                  - -
                                                                  - - -
                                                                  - -
                                                                  - -
                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                  - -
                                                                  - -
                                                                  -
                                                                  - - - -
                                                                  -

                                                                  - -
                                                                  -
                                                                  - -
                                                                  -
                                                                  -
                                                                  - - - - -
                                                                  - -

                                                                  Source code for bittensor.core.extrinsics.asyncex.commit_reveal

                                                                  -"""This module provides async functionality for commit reveal in the Bittensor network."""
                                                                  -
                                                                  -from typing import Optional, Union, TYPE_CHECKING
                                                                  -
                                                                  -import numpy as np
                                                                  -from bittensor_drand import get_encrypted_commit
                                                                  -from numpy.typing import NDArray
                                                                  -
                                                                  -from bittensor.core.settings import version_as_int
                                                                  -from bittensor.utils.btlogging import logging
                                                                  -from bittensor.utils.weight_utils import convert_and_normalize_weights_and_uids
                                                                  -
                                                                  -if TYPE_CHECKING:
                                                                  -    from bittensor_wallet import Wallet
                                                                  -    from bittensor.core.async_subtensor import AsyncSubtensor
                                                                  -    from bittensor.utils.registration import torch
                                                                  -
                                                                  -
                                                                  -async def _do_commit_reveal_v3(
                                                                  -    subtensor: "AsyncSubtensor",
                                                                  -    wallet: "Wallet",
                                                                  -    netuid: int,
                                                                  -    commit: bytes,
                                                                  -    reveal_round: int,
                                                                  -    wait_for_inclusion: bool = False,
                                                                  -    wait_for_finalization: bool = False,
                                                                  -    period: Optional[int] = None,
                                                                  -) -> tuple[bool, str]:
                                                                  -    """
                                                                  -    Executes commit-reveal phase 3 for a given netuid and commit, and optionally waits for extrinsic inclusion or finalization.
                                                                  -
                                                                  -    Arguments:
                                                                  -        subtensor: An instance of the AsyncSubtensor class.
                                                                  -        wallet: Wallet An instance of the Wallet class containing the user's keypair.
                                                                  -        netuid: int The network unique identifier.
                                                                  -        commit:  bytes The commit data in bytes format.
                                                                  -        reveal_round: int The round number for the reveal phase.
                                                                  -        wait_for_inclusion: bool, optional Flag indicating whether to wait for the extrinsic to be included in a block.
                                                                  -        wait_for_finalization: bool, optional Flag indicating whether to wait for the extrinsic to be finalized.
                                                                  -        period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If
                                                                  -            the transaction is not included in a block within that number of blocks, it will expire and be rejected.
                                                                  -            You can think of it as an expiration date for the transaction.
                                                                  -
                                                                  -    Returns:
                                                                  -        A tuple where the first element is a boolean indicating success or failure, and the second element is a
                                                                  -            string containing an error message if any.
                                                                  -    """
                                                                  -    logging.info(
                                                                  -        f"Committing weights hash [blue]{commit.hex()}[/blue] for subnet #[blue]{netuid}[/blue] with "
                                                                  -        f"reveal round [blue]{reveal_round}[/blue]..."
                                                                  -    )
                                                                  -
                                                                  -    call = await subtensor.substrate.compose_call(
                                                                  -        call_module="SubtensorModule",
                                                                  -        call_function="commit_crv3_weights",
                                                                  -        call_params={
                                                                  -            "netuid": netuid,
                                                                  -            "commit": commit,
                                                                  -            "reveal_round": reveal_round,
                                                                  -        },
                                                                  -    )
                                                                  -    return await subtensor.sign_and_send_extrinsic(
                                                                  -        call=call,
                                                                  -        wallet=wallet,
                                                                  -        wait_for_inclusion=wait_for_inclusion,
                                                                  -        wait_for_finalization=wait_for_finalization,
                                                                  -        sign_with="hotkey",
                                                                  -        period=period,
                                                                  -    )
                                                                  -
                                                                  -
                                                                  -
                                                                  -[docs] -async def commit_reveal_v3_extrinsic( - subtensor: "AsyncSubtensor", - wallet: "Wallet", - netuid: int, - uids: Union[NDArray[np.int64], "torch.LongTensor", list], - weights: Union[NDArray[np.float32], "torch.FloatTensor", list], - version_key: int = version_as_int, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = False, - block_time: Union[int, float] = 12.0, - period: Optional[int] = None, -) -> tuple[bool, str]: - """ - Commits and reveals weights for a given subtensor and wallet with provided uids and weights. - - Arguments: - subtensor: The AsyncSubtensor instance. - wallet: The wallet to use for committing and revealing. - netuid: The id of the network. - uids: The uids to commit. - weights: The weights associated with the uids. - version_key: The version key to use for committing and revealing. Default is version_as_int. - wait_for_inclusion: Whether to wait for the inclusion of the transaction. Default is False. - wait_for_finalization: Whether to wait for the finalization of the transaction. Default is False. - block_time (float): The number of seconds for block duration. Default is 12.0 seconds. - period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure, and the second - element is a message associated with the result - """ - try: - uids, weights = convert_and_normalize_weights_and_uids(uids, weights) - - current_block = await subtensor.substrate.get_block(None) - subnet_hyperparameters = await subtensor.get_subnet_hyperparameters( - netuid, block_hash=current_block["header"]["hash"] - ) - tempo = subnet_hyperparameters.tempo - subnet_reveal_period_epochs = subnet_hyperparameters.commit_reveal_period - - # Encrypt `commit_hash` with t-lock and `get reveal_round` - commit_for_reveal, reveal_round = get_encrypted_commit( - uids=uids, - weights=weights, - version_key=version_key, - tempo=tempo, - current_block=current_block["header"]["number"], - netuid=netuid, - subnet_reveal_period_epochs=subnet_reveal_period_epochs, - block_time=block_time, - ) - - success, message = await _do_commit_reveal_v3( - subtensor=subtensor, - wallet=wallet, - netuid=netuid, - commit=commit_for_reveal, - reveal_round=reveal_round, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - ) - - if success is not True: - logging.error(message) - return False, message - - logging.success( - f"[green]Finalized![/green] Weights committed with reveal round [blue]{reveal_round}[/blue]." - ) - return True, f"reveal_round:{reveal_round}" - - except Exception as e: - logging.error(f":cross_mark: [red]Failed. Error:[/red] {e}") - return False, str(e)
                                                                  - -
                                                                  - -
                                                                  - - - - - - -
                                                                  - -
                                                                  -
                                                                  -
                                                                  - -
                                                                  - - - - -
                                                                  -
                                                                  - - -
                                                                  - - -
                                                                  -
                                                                  -
                                                                  - - - - - -
                                                                  -
                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/liquidity.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/liquidity.html index 62797c85f8..009227c9a2 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/liquidity.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/liquidity.html @@ -149,7 +149,6 @@
                                                                • API Reference
                                                                  • bittensor
                                                                    diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/move_stake.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/move_stake.html index 2940b85ecc..e57883a32d 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/move_stake.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/move_stake.html @@ -149,7 +149,6 @@
                                                                  • API Reference
                                                                    • bittensor
                                                                      diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/registration.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/registration.html index 1f0cfdb871..3613e74571 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/registration.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/registration.html @@ -149,7 +149,6 @@
                                                                    • API Reference
                                                                      • bittensor
                                                                        diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/root.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/root.html index 45b5caacdb..782c71e659 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/root.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/root.html @@ -149,7 +149,6 @@
                                                                      • API Reference
                                                                        • bittensor
                                                                          @@ -561,8 +557,6 @@

                                                                          Source code for bittensor.core.extrinsics.asyncex.root

                                                                          return False, message -
                                                                          -[docs] async def set_root_weights_extrinsic( subtensor: "AsyncSubtensor", wallet: "Wallet", @@ -655,8 +649,7 @@

                                                                          Source code for bittensor.core.extrinsics.asyncex.root

                                                                          except SubstrateRequestException as e: fmt_err = format_error_message(e) logging.error(f":cross_mark: [red]Failed error:[/red] {fmt_err}") - return False
                                                                          - + return False
                                                                          diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/serving.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/serving.html index 424251d05d..69a6d0e4a2 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/serving.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/serving.html @@ -149,7 +149,6 @@
                                                                        • API Reference
                                                                          • bittensor
                                                                            @@ -359,8 +355,6 @@

                                                                            Source code for bittensor.core.extrinsics.asyncex.serving

                                                                            from bittensor_wallet import Wallet -
                                                                            -[docs] async def do_serve_axon( subtensor: "AsyncSubtensor", wallet: "Wallet", @@ -408,8 +402,7 @@

                                                                            Source code for bittensor.core.extrinsics.asyncex.serving

                                                                            sign_with="hotkey", period=period, ) - return success, message
                                                                            - + return success, message
                                                                            @@ -578,8 +571,6 @@

                                                                            Source code for bittensor.core.extrinsics.asyncex.serving

                                                                            -[docs] async def publish_metadata( subtensor: "AsyncSubtensor", wallet: "Wallet", @@ -649,12 +640,9 @@

                                                                            Source code for bittensor.core.extrinsics.asyncex.serving

                                                                            if success: return True - raise MetadataError(message)
                                                                            - + raise MetadataError(message) -
                                                                            -[docs] async def get_metadata( subtensor: "AsyncSubtensor", netuid: int, @@ -675,12 +663,9 @@

                                                                            Source code for bittensor.core.extrinsics.asyncex.serving

                                                                            block_hash=block_hash, reuse_block_hash=reuse_block, ) - return commit_data
                                                                            + return commit_data - -
                                                                            -[docs] async def get_last_bonds_reset( subtensor: "AsyncSubtensor", netuid: int, @@ -697,8 +682,7 @@

                                                                            Source code for bittensor.core.extrinsics.asyncex.serving

                                                                            params=[netuid, hotkey], block_hash=block_hash, ) - return block
                                                                            - + return block
                                                                            diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/staking.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/staking.html index 42d53f67d2..55048a6243 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/staking.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/staking.html @@ -149,7 +149,6 @@
                                                                          • API Reference
                                                                            • bittensor
                                                                              diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/start_call.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/start_call.html index 80c7c488cf..753a5069cc 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/start_call.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/start_call.html @@ -149,7 +149,6 @@
                                                                            • API Reference
                                                                              • bittensor
                                                                                diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/take.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/take.html deleted file mode 100644 index ff2f83cda5..0000000000 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/take.html +++ /dev/null @@ -1,528 +0,0 @@ - - - - - - - - - - bittensor.core.extrinsics.asyncex.take — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                - - - - - - - - - -
                                                                                - -
                                                                                - - - - - -
                                                                                -
                                                                                - - - - - - - - -
                                                                                - - - -
                                                                                - -
                                                                                -
                                                                                - -
                                                                                -
                                                                                - -
                                                                                - -
                                                                                - -
                                                                                - - -
                                                                                - -
                                                                                - -
                                                                                - - - - - - - - - - - - - - - - - - - -
                                                                                - -
                                                                                - -
                                                                                -
                                                                                - - - -
                                                                                -

                                                                                - -
                                                                                -
                                                                                - -
                                                                                -
                                                                                -
                                                                                - - - - -
                                                                                - -

                                                                                Source code for bittensor.core.extrinsics.asyncex.take

                                                                                -from typing import TYPE_CHECKING, Optional
                                                                                -
                                                                                -from bittensor_wallet.bittensor_wallet import Wallet
                                                                                -
                                                                                -from bittensor.utils import unlock_key
                                                                                -
                                                                                -if TYPE_CHECKING:
                                                                                -    from bittensor.core.async_subtensor import AsyncSubtensor
                                                                                -
                                                                                -
                                                                                -
                                                                                -[docs] -async def increase_take_extrinsic( - subtensor: "AsyncSubtensor", - wallet: Wallet, - hotkey_ss58: str, - take: int, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = True, - raise_error: bool = False, - period: Optional[int] = None, -) -> tuple[bool, str]: - """Sets the delegate 'take' percentage for a neuron identified by its hotkey. - - Args: - subtensor (Subtensor): Blockchain connection. - wallet (Wallet): The wallet to sign the extrinsic. - hotkey_ss58 (str): SS58 address of the hotkey to set take for. - take (int): The percentage of rewards that the delegate claims from nominators. - wait_for_inclusion (bool, optional): Wait for inclusion before returning. Defaults to True. - wait_for_finalization (bool, optional): Wait for finalization before returning. Defaults to True. - raise_error (bool, optional): Raise error on failure. Defaults to False. - period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: Success flag and status message. - """ - - unlock = unlock_key(wallet, raise_error=raise_error) - - if not unlock.success: - return False, unlock.message - - call = await subtensor.substrate.compose_call( - call_module="SubtensorModule", - call_function="increase_take", - call_params={ - "hotkey": hotkey_ss58, - "take": take, - }, - ) - - return await subtensor.sign_and_send_extrinsic( - call=call, - wallet=wallet, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - raise_error=raise_error, - )
                                                                                - - - -
                                                                                -[docs] -async def decrease_take_extrinsic( - subtensor: "AsyncSubtensor", - wallet: Wallet, - hotkey_ss58: str, - take: int, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = True, - raise_error: bool = False, - period: Optional[int] = None, -) -> tuple[bool, str]: - """Sets the delegate 'take' percentage for a neuron identified by its hotkey. - - Args: - subtensor (Subtensor): Blockchain connection. - wallet (Wallet): The wallet to sign the extrinsic. - hotkey_ss58 (str): SS58 address of the hotkey to set take for. - take (int): The percentage of rewards that the delegate claims from nominators. - wait_for_inclusion (bool, optional): Wait for inclusion before returning. Defaults to True. - wait_for_finalization (bool, optional): Wait for finalization before returning. Defaults to True. - raise_error (bool, optional): Raise error on failure. Defaults to False. - period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: Success flag and status message. - """ - unlock = unlock_key(wallet, raise_error=raise_error) - - if not unlock.success: - return False, unlock.message - - call = await subtensor.substrate.compose_call( - call_module="SubtensorModule", - call_function="decrease_take", - call_params={ - "hotkey": hotkey_ss58, - "take": take, - }, - ) - - return await subtensor.sign_and_send_extrinsic( - call=call, - wallet=wallet, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - raise_error=raise_error, - )
                                                                                - -
                                                                                - -
                                                                                - - - - - - -
                                                                                - -
                                                                                -
                                                                                -
                                                                                - -
                                                                                - - - - -
                                                                                -
                                                                                - - -
                                                                                - - -
                                                                                -
                                                                                -
                                                                                - - - - - -
                                                                                -
                                                                                - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/transfer.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/transfer.html index fc8fa76d9a..4433034e39 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/transfer.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/transfer.html @@ -149,7 +149,6 @@
                                                                              • API Reference
                                                                                • bittensor
                                                                                  diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/unstaking.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/unstaking.html index 21f2bfed83..22983a67fc 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/unstaking.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/unstaking.html @@ -149,7 +149,6 @@
                                                                                • API Reference
                                                                                  • bittensor
                                                                                    diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/weights.html b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/weights.html index 86d22b98fe..6391008b92 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/weights.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/asyncex/weights.html @@ -149,7 +149,6 @@
                                                                                  • API Reference
                                                                                    • bittensor
                                                                                      diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/children.html b/static/python-api/html/_modules/bittensor/core/extrinsics/children.html index 0e3b2f6d72..50a076b8a3 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/children.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/children.html @@ -149,7 +149,6 @@
                                                                                    • API Reference
                                                                                      • bittensor
                                                                                        diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/commit_reveal.html b/static/python-api/html/_modules/bittensor/core/extrinsics/commit_reveal.html deleted file mode 100644 index e4a6b7dead..0000000000 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/commit_reveal.html +++ /dev/null @@ -1,564 +0,0 @@ - - - - - - - - - - bittensor.core.extrinsics.commit_reveal — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                        - - - - - - - - - -
                                                                                        - -
                                                                                        - - - - - -
                                                                                        -
                                                                                        - - - - - - - - -
                                                                                        - - - -
                                                                                        - -
                                                                                        -
                                                                                        - -
                                                                                        -
                                                                                        - -
                                                                                        - -
                                                                                        - -
                                                                                        - - -
                                                                                        - -
                                                                                        - -
                                                                                        - - - - - - - - - - - - - - - - - - - -
                                                                                        - -
                                                                                        - -
                                                                                        -
                                                                                        - - - -
                                                                                        -

                                                                                        - -
                                                                                        -
                                                                                        - -
                                                                                        -
                                                                                        -
                                                                                        - - - - -
                                                                                        - -

                                                                                        Source code for bittensor.core.extrinsics.commit_reveal

                                                                                        -"""This module provides sync functionality for commit reveal in the Bittensor network."""
                                                                                        -
                                                                                        -from typing import Union, TYPE_CHECKING, Optional
                                                                                        -
                                                                                        -import numpy as np
                                                                                        -from bittensor_drand import get_encrypted_commit
                                                                                        -from numpy.typing import NDArray
                                                                                        -
                                                                                        -from bittensor.core.settings import version_as_int
                                                                                        -from bittensor.utils.btlogging import logging
                                                                                        -from bittensor.utils.weight_utils import convert_and_normalize_weights_and_uids
                                                                                        -
                                                                                        -if TYPE_CHECKING:
                                                                                        -    from bittensor_wallet import Wallet
                                                                                        -    from bittensor.core.subtensor import Subtensor
                                                                                        -    from bittensor.utils.registration import torch
                                                                                        -
                                                                                        -
                                                                                        -def _do_commit_reveal_v3(
                                                                                        -    subtensor: "Subtensor",
                                                                                        -    wallet: "Wallet",
                                                                                        -    netuid: int,
                                                                                        -    commit: bytes,
                                                                                        -    reveal_round: int,
                                                                                        -    wait_for_inclusion: bool = False,
                                                                                        -    wait_for_finalization: bool = False,
                                                                                        -    period: Optional[int] = None,
                                                                                        -) -> tuple[bool, str]:
                                                                                        -    """
                                                                                        -    Executes commit-reveal phase 3 for a given netuid and commit, and optionally waits for extrinsic inclusion or
                                                                                        -        finalization.
                                                                                        -
                                                                                        -    Arguments:
                                                                                        -        subtensor: An instance of the Subtensor class.
                                                                                        -        wallet: Wallet An instance of the Wallet class containing the user's keypair.
                                                                                        -        netuid: int The network unique identifier.
                                                                                        -        commit: bytes The commit data in bytes format.
                                                                                        -        reveal_round: int The round number for the reveal phase.
                                                                                        -        wait_for_inclusion: bool, optional Flag indicating whether to wait for the extrinsic to be included in a block.
                                                                                        -        wait_for_finalization: bool, optional Flag indicating whether to wait for the extrinsic to be finalized.
                                                                                        -        period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If
                                                                                        -            the transaction is not included in a block within that number of blocks, it will expire and be rejected.
                                                                                        -            You can think of it as an expiration date for the transaction.
                                                                                        -
                                                                                        -    Returns:
                                                                                        -        A tuple where the first element is a boolean indicating success or failure, and the second element is a string
                                                                                        -            containing an error message if any.
                                                                                        -    """
                                                                                        -    logging.info(
                                                                                        -        f"Committing weights hash [blue]{commit.hex()}[/blue] for subnet #[blue]{netuid}[/blue] with "
                                                                                        -        f"reveal round [blue]{reveal_round}[/blue]..."
                                                                                        -    )
                                                                                        -
                                                                                        -    call = subtensor.substrate.compose_call(
                                                                                        -        call_module="SubtensorModule",
                                                                                        -        call_function="commit_crv3_weights",
                                                                                        -        call_params={
                                                                                        -            "netuid": netuid,
                                                                                        -            "commit": commit,
                                                                                        -            "reveal_round": reveal_round,
                                                                                        -        },
                                                                                        -    )
                                                                                        -    return subtensor.sign_and_send_extrinsic(
                                                                                        -        call=call,
                                                                                        -        wallet=wallet,
                                                                                        -        wait_for_inclusion=wait_for_inclusion,
                                                                                        -        wait_for_finalization=wait_for_finalization,
                                                                                        -        sign_with="hotkey",
                                                                                        -        period=period,
                                                                                        -    )
                                                                                        -
                                                                                        -
                                                                                        -
                                                                                        -[docs] -def commit_reveal_v3_extrinsic( - subtensor: "Subtensor", - wallet: "Wallet", - netuid: int, - uids: Union[NDArray[np.int64], "torch.LongTensor", list], - weights: Union[NDArray[np.float32], "torch.FloatTensor", list], - version_key: int = version_as_int, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = False, - block_time: Union[int, float] = 12.0, - period: Optional[int] = None, -) -> tuple[bool, str]: - """ - Commits and reveals weights for a given subtensor and wallet with provided uids and weights. - - Arguments: - subtensor: The Subtensor instance. - wallet: The wallet to use for committing and revealing. - netuid: The id of the network. - uids: The uids to commit. - weights: The weights associated with the uids. - version_key: The version key to use for committing and revealing. Default is version_as_int. - wait_for_inclusion: Whether to wait for the inclusion of the transaction. Default is False. - wait_for_finalization: Whether to wait for the finalization of the transaction. Default is False. - block_time (float): The number of seconds for block duration. Default is 12.0 seconds. - period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. - If the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: A tuple where the first element is a boolean indicating success or failure, and the second - element is a message associated with the result - """ - try: - uids, weights = convert_and_normalize_weights_and_uids(uids, weights) - - current_block = subtensor.get_current_block() - subnet_hyperparameters = subtensor.get_subnet_hyperparameters( - netuid, block=current_block - ) - tempo = subnet_hyperparameters.tempo - subnet_reveal_period_epochs = subnet_hyperparameters.commit_reveal_period - - # Encrypt `commit_hash` with t-lock and `get reveal_round` - commit_for_reveal, reveal_round = get_encrypted_commit( - uids=uids, - weights=weights, - version_key=version_key, - tempo=tempo, - current_block=current_block, - netuid=netuid, - subnet_reveal_period_epochs=subnet_reveal_period_epochs, - block_time=block_time, - ) - - success, message = _do_commit_reveal_v3( - subtensor=subtensor, - wallet=wallet, - netuid=netuid, - commit=commit_for_reveal, - reveal_round=reveal_round, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - ) - - if success is not True: - logging.error(message) - return False, message - - logging.success( - f"[green]Finalized![/green] Weights committed with reveal round [blue]{reveal_round}[/blue]." - ) - return True, f"reveal_round:{reveal_round}" - - except Exception as e: - logging.error(f":cross_mark: [red]Failed. Error:[/red] {e}") - return False, str(e)
                                                                                        - -
                                                                                        - -
                                                                                        - - - - - - -
                                                                                        - -
                                                                                        -
                                                                                        -
                                                                                        - -
                                                                                        - - - - -
                                                                                        -
                                                                                        - - -
                                                                                        - - -
                                                                                        -
                                                                                        -
                                                                                        - - - - - -
                                                                                        -
                                                                                        - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/commit_weights.html b/static/python-api/html/_modules/bittensor/core/extrinsics/commit_weights.html deleted file mode 100644 index 987b902b9f..0000000000 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/commit_weights.html +++ /dev/null @@ -1,654 +0,0 @@ - - - - - - - - - - bittensor.core.extrinsics.commit_weights — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                        - - - - - - - - - -
                                                                                        - -
                                                                                        - - - - - -
                                                                                        -
                                                                                        - - - - - - - - -
                                                                                        - - - -
                                                                                        - -
                                                                                        -
                                                                                        - -
                                                                                        -
                                                                                        - -
                                                                                        - -
                                                                                        - -
                                                                                        - - -
                                                                                        - -
                                                                                        - -
                                                                                        - - - - - - - - - - - - - - - - - - - -
                                                                                        - -
                                                                                        - -
                                                                                        -
                                                                                        - - - -
                                                                                        -

                                                                                        - -
                                                                                        -
                                                                                        - -
                                                                                        -
                                                                                        -
                                                                                        - - - - -
                                                                                        - -

                                                                                        Source code for bittensor.core.extrinsics.commit_weights

                                                                                        -"""Module sync commit weights and reveal weights extrinsic."""
                                                                                        -
                                                                                        -from typing import TYPE_CHECKING, Optional
                                                                                        -
                                                                                        -from bittensor.utils.btlogging import logging
                                                                                        -
                                                                                        -if TYPE_CHECKING:
                                                                                        -    from bittensor_wallet import Wallet
                                                                                        -    from bittensor.core.subtensor import Subtensor
                                                                                        -
                                                                                        -
                                                                                        -def _do_commit_weights(
                                                                                        -    subtensor: "Subtensor",
                                                                                        -    wallet: "Wallet",
                                                                                        -    netuid: int,
                                                                                        -    commit_hash: str,
                                                                                        -    wait_for_inclusion: bool = False,
                                                                                        -    wait_for_finalization: bool = False,
                                                                                        -    period: Optional[int] = None,
                                                                                        -) -> tuple[bool, str]:
                                                                                        -    """
                                                                                        -    Internal method to send a transaction to the Bittensor blockchain, committing the hash of a neuron's weights.
                                                                                        -    This method constructs and submits the transaction, handling retries and blockchain communication.
                                                                                        -
                                                                                        -    Args:
                                                                                        -        subtensor (bittensor.core.subtensor.Subtensor): The subtensor instance used for blockchain interaction.
                                                                                        -        wallet (bittensor_wallet.Wallet): The wallet associated with the neuron committing the weights.
                                                                                        -        netuid (int): The unique identifier of the subnet.
                                                                                        -        commit_hash (str): The hash of the neuron's weights to be committed.
                                                                                        -        wait_for_inclusion (bool): Waits for the transaction to be included in a block.
                                                                                        -        wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain.
                                                                                        -        period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If
                                                                                        -            the transaction is not included in a block within that number of blocks, it will expire and be rejected.
                                                                                        -            You can think of it as an expiration date for the transaction.
                                                                                        -
                                                                                        -    Returns:
                                                                                        -        tuple[bool, str]:
                                                                                        -            `True` if the weight commitment is successful, `False` otherwise.
                                                                                        -            `msg` is a string value describing the success or potential error.
                                                                                        -
                                                                                        -    This method ensures that the weight commitment is securely recorded on the Bittensor blockchain, providing a
                                                                                        -        verifiable record of the neuron's weight distribution at a specific point in time.
                                                                                        -    """
                                                                                        -    call = subtensor.substrate.compose_call(
                                                                                        -        call_module="SubtensorModule",
                                                                                        -        call_function="commit_weights",
                                                                                        -        call_params={
                                                                                        -            "netuid": netuid,
                                                                                        -            "commit_hash": commit_hash,
                                                                                        -        },
                                                                                        -    )
                                                                                        -    return subtensor.sign_and_send_extrinsic(
                                                                                        -        call=call,
                                                                                        -        wallet=wallet,
                                                                                        -        wait_for_inclusion=wait_for_inclusion,
                                                                                        -        wait_for_finalization=wait_for_finalization,
                                                                                        -        use_nonce=True,
                                                                                        -        period=period,
                                                                                        -        sign_with="hotkey",
                                                                                        -        nonce_key="hotkey",
                                                                                        -    )
                                                                                        -
                                                                                        -
                                                                                        -
                                                                                        -[docs] -def commit_weights_extrinsic( - subtensor: "Subtensor", - wallet: "Wallet", - netuid: int, - commit_hash: str, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = False, - period: Optional[int] = None, -) -> tuple[bool, str]: - """ - Commits a hash of the neuron's weights to the Bittensor blockchain using the provided wallet. - This function is a wrapper around the `do_commit_weights` method. - - Args: - subtensor (bittensor.core.subtensor.Subtensor): The subtensor instance used for blockchain interaction. - wallet (bittensor_wallet.Wallet): The wallet associated with the neuron committing the weights. - netuid (int): The unique identifier of the subnet. - commit_hash (str): The hash of the neuron's weights to be committed. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. - period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: - `True` if the weight commitment is successful, `False` otherwise. - `msg` is a string value describing the success or potential error. - - This function provides a user-friendly interface for committing weights to the Bittensor blockchain, ensuring proper - error handling and user interaction when required. - """ - - success, error_message = _do_commit_weights( - subtensor=subtensor, - wallet=wallet, - netuid=netuid, - commit_hash=commit_hash, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - ) - - if success: - success_message = "Successfully committed weights." - logging.info(success_message) - return True, success_message - - logging.error(f"Failed to commit weights: {error_message}") - return False, error_message
                                                                                        - - - -def _do_reveal_weights( - subtensor: "Subtensor", - wallet: "Wallet", - netuid: int, - uids: list[int], - values: list[int], - salt: list[int], - version_key: int, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = False, - period: Optional[int] = None, -) -> tuple[bool, str]: - """ - Internal method to send a transaction to the Bittensor blockchain, revealing the weights for a specific subnet. - This method constructs and submits the transaction, handling retries and blockchain communication. - - Args: - subtensor (bittensor.core.subtensor.Subtensor): The subtensor instance used for blockchain interaction. - wallet (bittensor_wallet.Wallet): The wallet associated with the neuron revealing the weights. - netuid (int): The unique identifier of the subnet. - uids (list[int]): List of neuron UIDs for which weights are being revealed. - values (list[int]): List of weight values corresponding to each UID. - salt (list[int]): List of salt values corresponding to the hash function. - version_key (int): Version key for compatibility with the network. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. - period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: - `True` if the weight commitment is successful, `False` otherwise. - `msg` is a string value describing the success or potential error. - - This method ensures that the weight revelation is securely recorded on the Bittensor blockchain, providing - transparency and accountability for the neuron's weight distribution. - """ - - call = subtensor.substrate.compose_call( - call_module="SubtensorModule", - call_function="reveal_weights", - call_params={ - "netuid": netuid, - "uids": uids, - "values": values, - "salt": salt, - "version_key": version_key, - }, - ) - return subtensor.sign_and_send_extrinsic( - call=call, - wallet=wallet, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - use_nonce=True, - period=period, - sign_with="hotkey", - nonce_key="hotkey", - ) - - -
                                                                                        -[docs] -def reveal_weights_extrinsic( - subtensor: "Subtensor", - wallet: "Wallet", - netuid: int, - uids: list[int], - weights: list[int], - salt: list[int], - version_key: int, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = False, - period: Optional[int] = None, -) -> tuple[bool, str]: - """ - Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet. - This function is a wrapper around the `_do_reveal_weights` method. - - Args: - subtensor (bittensor.core.subtensor.Subtensor): The subtensor instance used for blockchain interaction. - wallet (bittensor_wallet.Wallet): The wallet associated with the neuron revealing the weights. - netuid (int): The unique identifier of the subnet. - uids (list[int]): List of neuron UIDs for which weights are being revealed. - weights (list[int]): List of weight values corresponding to each UID. - salt (list[int]): List of salt values corresponding to the hash function. - version_key (int): Version key for compatibility with the network. - wait_for_inclusion (bool): Waits for the transaction to be included in a block. - wait_for_finalization (bool): Waits for the transaction to be finalized on the blockchain. - period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: - `True` if the weight commitment is successful, `False` otherwise. - `msg` is a string value describing the success or potential error. - - This function provides a user-friendly interface for revealing weights on the Bittensor blockchain, ensuring proper - error handling and user interaction when required. - """ - - success, error_message = _do_reveal_weights( - subtensor=subtensor, - wallet=wallet, - netuid=netuid, - uids=uids, - values=weights, - salt=salt, - version_key=version_key, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - ) - - if success: - success_message = "Successfully revealed weights." - logging.info(success_message) - return True, success_message - - error_message = error_message - logging.error(f"Failed to reveal weights: {error_message}") - return False, error_message
                                                                                        - -
                                                                                        - -
                                                                                        - - - - - - -
                                                                                        - -
                                                                                        -
                                                                                        -
                                                                                        - -
                                                                                        - - - - -
                                                                                        -
                                                                                        - - -
                                                                                        - - -
                                                                                        -
                                                                                        -
                                                                                        - - - - - -
                                                                                        -
                                                                                        - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/liquidity.html b/static/python-api/html/_modules/bittensor/core/extrinsics/liquidity.html index d34c1b8fb5..5e24af6115 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/liquidity.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/liquidity.html @@ -149,7 +149,6 @@
                                                                                      • API Reference
                                                                                        • bittensor
                                                                                          diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/move_stake.html b/static/python-api/html/_modules/bittensor/core/extrinsics/move_stake.html index d7f2247fc8..7bc5d97951 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/move_stake.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/move_stake.html @@ -149,7 +149,6 @@
                                                                                        • API Reference
                                                                                          • bittensor
                                                                                            diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/registration.html b/static/python-api/html/_modules/bittensor/core/extrinsics/registration.html index a007bfcd3a..7c37e4d7f0 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/registration.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/registration.html @@ -149,7 +149,6 @@
                                                                                          • API Reference
                                                                                            • bittensor
                                                                                              diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/root.html b/static/python-api/html/_modules/bittensor/core/extrinsics/root.html index 576a07ee60..834ccfd9b2 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/root.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/root.html @@ -149,7 +149,6 @@
                                                                                            • API Reference
                                                                                              • bittensor
                                                                                                @@ -562,8 +558,6 @@

                                                                                                Source code for bittensor.core.extrinsics.root

                                                                                                return False, message -

                                                                                                -[docs] def set_root_weights_extrinsic( subtensor: "Subtensor", wallet: "Wallet", @@ -655,8 +649,7 @@

                                                                                                Source code for bittensor.core.extrinsics.root

                                                                                                except SubstrateRequestException as e: fmt_err = format_error_message(e) logging.error(f":cross_mark: [red]Failed error:[/red] {fmt_err}") - return False

                                                                                                - + return False
                                                                                                diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/serving.html b/static/python-api/html/_modules/bittensor/core/extrinsics/serving.html index 8d6a856576..d0add367b6 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/serving.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/serving.html @@ -149,7 +149,6 @@
                                                                                              • API Reference
                                                                                                • bittensor
                                                                                                  @@ -358,8 +354,6 @@

                                                                                                  Source code for bittensor.core.extrinsics.serving

                                                                                                  from bittensor.core.subtensor import Subtensor -
                                                                                                  -[docs] def do_serve_axon( subtensor: "Subtensor", wallet: "Wallet", @@ -407,8 +401,7 @@

                                                                                                  Source code for bittensor.core.extrinsics.serving

                                                                                                  sign_with="hotkey", period=period, ) - return success, message
                                                                                                  - + return success, message
                                                                                                  @@ -575,8 +568,6 @@

                                                                                                  Source code for bittensor.core.extrinsics.serving

                                                                                                  -[docs] def publish_metadata( subtensor: "Subtensor", wallet: "Wallet", @@ -645,12 +636,9 @@

                                                                                                  Source code for bittensor.core.extrinsics.serving

                                                                                                  if success: return True - raise MetadataError(message)
                                                                                                  - + raise MetadataError(message) -
                                                                                                  -[docs] def get_metadata( subtensor: "Subtensor", netuid: int, hotkey: str, block: Optional[int] = None ) -> bytes: @@ -661,12 +649,9 @@

                                                                                                  Source code for bittensor.core.extrinsics.serving

                                                                                                  params=[netuid, hotkey], block_hash=subtensor.determine_block_hash(block), ) - return commit_data
                                                                                                  - + return commit_data -
                                                                                                  -[docs] def get_last_bonds_reset( subtensor: "Subtensor", netuid: int, hotkey: str, block: Optional[int] = None ) -> bytes: @@ -687,8 +672,7 @@

                                                                                                  Source code for bittensor.core.extrinsics.serving

                                                                                                  storage_function="LastBondsReset", params=[netuid, hotkey], block_hash=subtensor.determine_block_hash(block), - )
                                                                                                  - + )
                                                                                                  diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/set_weights.html b/static/python-api/html/_modules/bittensor/core/extrinsics/set_weights.html deleted file mode 100644 index 8ee6ccde04..0000000000 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/set_weights.html +++ /dev/null @@ -1,564 +0,0 @@ - - - - - - - - - - bittensor.core.extrinsics.set_weights — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                  - - - - - - - - - -
                                                                                                  - -
                                                                                                  - - - - - -
                                                                                                  -
                                                                                                  - - - - - - - - -
                                                                                                  - - - -
                                                                                                  - -
                                                                                                  -
                                                                                                  - -
                                                                                                  -
                                                                                                  - -
                                                                                                  - -
                                                                                                  - -
                                                                                                  - - -
                                                                                                  - -
                                                                                                  - -
                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                  - -
                                                                                                  - -
                                                                                                  -
                                                                                                  - - - -
                                                                                                  -

                                                                                                  - -
                                                                                                  -
                                                                                                  - -
                                                                                                  -
                                                                                                  -
                                                                                                  - - - - -
                                                                                                  - -

                                                                                                  Source code for bittensor.core.extrinsics.set_weights

                                                                                                  -"""Module sync setting weights extrinsic."""
                                                                                                  -
                                                                                                  -from typing import Union, TYPE_CHECKING, Optional
                                                                                                  -
                                                                                                  -import numpy as np
                                                                                                  -from numpy.typing import NDArray
                                                                                                  -
                                                                                                  -from bittensor.core.settings import version_as_int
                                                                                                  -from bittensor.utils.btlogging import logging
                                                                                                  -from bittensor.utils.weight_utils import (
                                                                                                  -    convert_and_normalize_weights_and_uids,
                                                                                                  -    convert_uids_and_weights,
                                                                                                  -)
                                                                                                  -
                                                                                                  -if TYPE_CHECKING:
                                                                                                  -    from bittensor.core.subtensor import Subtensor
                                                                                                  -    from bittensor_wallet import Wallet
                                                                                                  -    from bittensor.utils.registration import torch
                                                                                                  -
                                                                                                  -
                                                                                                  -def _do_set_weights(
                                                                                                  -    subtensor: "Subtensor",
                                                                                                  -    wallet: "Wallet",
                                                                                                  -    netuid: int,
                                                                                                  -    uids: list[int],
                                                                                                  -    vals: list[int],
                                                                                                  -    version_key: int = version_as_int,
                                                                                                  -    wait_for_inclusion: bool = False,
                                                                                                  -    wait_for_finalization: bool = False,
                                                                                                  -    period: Optional[int] = None,
                                                                                                  -) -> tuple[bool, str]:
                                                                                                  -    """
                                                                                                  -    Internal method to send a transaction to the Bittensor blockchain, setting weights
                                                                                                  -    for specified neurons. This method constructs and submits the transaction, handling
                                                                                                  -    retries and blockchain communication.
                                                                                                  -
                                                                                                  -    Args:
                                                                                                  -        subtensor (subtensor.core.subtensor.Subtensor): Subtensor instance.
                                                                                                  -        wallet (bittensor_wallet.Wallet): The wallet associated with the neuron setting the weights.
                                                                                                  -        uids (List[int]): List of neuron UIDs for which weights are being set.
                                                                                                  -        vals (List[int]): List of weight values corresponding to each UID.
                                                                                                  -        netuid (int): Unique identifier for the network.
                                                                                                  -        version_key (int, optional): Version key for compatibility with the network.
                                                                                                  -        wait_for_inclusion (bool, optional): Waits for the transaction to be included in a block.
                                                                                                  -        wait_for_finalization (bool, optional): Waits for the transaction to be finalized on the blockchain.
                                                                                                  -        period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. If
                                                                                                  -            the transaction is not included in a block within that number of blocks, it will expire and be rejected.
                                                                                                  -            You can think of it as an expiration date for the transaction.
                                                                                                  -
                                                                                                  -    Returns:
                                                                                                  -        Tuple[bool, str]: A tuple containing a success flag and an optional error message.
                                                                                                  -
                                                                                                  -    This method is vital for the dynamic weighting mechanism in Bittensor, where neurons adjust their
                                                                                                  -        trust in other neurons based on observed performance and contributions.
                                                                                                  -    """
                                                                                                  -
                                                                                                  -    call = subtensor.substrate.compose_call(
                                                                                                  -        call_module="SubtensorModule",
                                                                                                  -        call_function="set_weights",
                                                                                                  -        call_params={
                                                                                                  -            "dests": uids,
                                                                                                  -            "weights": vals,
                                                                                                  -            "netuid": netuid,
                                                                                                  -            "version_key": version_key,
                                                                                                  -        },
                                                                                                  -    )
                                                                                                  -    success, message = subtensor.sign_and_send_extrinsic(
                                                                                                  -        call=call,
                                                                                                  -        wallet=wallet,
                                                                                                  -        wait_for_inclusion=wait_for_inclusion,
                                                                                                  -        wait_for_finalization=wait_for_finalization,
                                                                                                  -        period=period,
                                                                                                  -        use_nonce=True,
                                                                                                  -        nonce_key="hotkey",
                                                                                                  -        sign_with="hotkey",
                                                                                                  -    )
                                                                                                  -    return success, message
                                                                                                  -
                                                                                                  -
                                                                                                  -
                                                                                                  -[docs] -def set_weights_extrinsic( - subtensor: "Subtensor", - wallet: "Wallet", - netuid: int, - uids: Union[NDArray[np.int64], "torch.LongTensor", list], - weights: Union[NDArray[np.float32], "torch.FloatTensor", list], - version_key: int = 0, - wait_for_inclusion: bool = False, - wait_for_finalization: bool = False, - period: Optional[int] = 8, -) -> tuple[bool, str]: - """Sets the given weights and values on a chain for a wallet hotkey account. - - Args: - subtensor (bittensor.core.async_subtensor.AsyncSubtensor): Bittensor subtensor object. - wallet (bittensor_wallet.Wallet): Bittensor wallet object. - netuid (int): The ``netuid`` of the subnet to set weights for. - uids (Union[NDArray[np.int64], torch.LongTensor, list]): The ``uint64`` uids of destination neurons. - weights (Union[NDArray[np.float32], torch.FloatTensor, list]): The weights to set. These must be ``float`` s - and correspond to the passed ``uid`` s. - version_key (int): The version key of the validator. - wait_for_inclusion (bool): If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - wait_for_finalization (bool): If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. - period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. - If the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - success (bool): Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is ``True``. - """ - # Convert types. - uids, weights = convert_uids_and_weights(uids, weights) - - # Reformat and normalize. - weight_uids, weight_vals = convert_and_normalize_weights_and_uids(uids, weights) - - logging.info( - f":satellite: [magenta]Setting weights on [/magenta]" - f"[blue]{subtensor.network}[/blue] " - f"[magenta]...[/magenta]" - ) - try: - success, message = _do_set_weights( - subtensor=subtensor, - wallet=wallet, - netuid=netuid, - uids=weight_uids, - vals=weight_vals, - version_key=version_key, - wait_for_finalization=wait_for_finalization, - wait_for_inclusion=wait_for_inclusion, - period=period, - ) - - if not wait_for_finalization and not wait_for_inclusion: - return True, message - - if success is True: - message = "Successfully set weights and Finalized." - logging.success(f":white_heavy_check_mark: [green]{message}[/green]") - return True, message - - logging.error(f"[red]Failed[/red] set weights. Error: {message}") - return False, message - - except Exception as error: - logging.error(f":cross_mark: [red]Failed[/red] set weights. Error: {error}") - return False, str(error)
                                                                                                  - -
                                                                                                  - -
                                                                                                  - - - - - - -
                                                                                                  - -
                                                                                                  -
                                                                                                  -
                                                                                                  - -
                                                                                                  - - - - -
                                                                                                  -
                                                                                                  - - -
                                                                                                  - - -
                                                                                                  -
                                                                                                  -
                                                                                                  - - - - - -
                                                                                                  -
                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/staking.html b/static/python-api/html/_modules/bittensor/core/extrinsics/staking.html index ae158246c3..151b277467 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/staking.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/staking.html @@ -149,7 +149,6 @@
                                                                                                • API Reference
                                                                                                  • bittensor
                                                                                                    diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/start_call.html b/static/python-api/html/_modules/bittensor/core/extrinsics/start_call.html index 0b246aef9d..b918b0fb35 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/start_call.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/start_call.html @@ -149,7 +149,6 @@
                                                                                                  • API Reference
                                                                                                    • bittensor
                                                                                                      diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/take.html b/static/python-api/html/_modules/bittensor/core/extrinsics/take.html deleted file mode 100644 index 0a42252726..0000000000 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/take.html +++ /dev/null @@ -1,527 +0,0 @@ - - - - - - - - - - bittensor.core.extrinsics.take — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                      - - - - - - - - - -
                                                                                                      - -
                                                                                                      - - - - - -
                                                                                                      -
                                                                                                      - - - - - - - - -
                                                                                                      - - - -
                                                                                                      - -
                                                                                                      -
                                                                                                      - -
                                                                                                      -
                                                                                                      - -
                                                                                                      - -
                                                                                                      - -
                                                                                                      - - -
                                                                                                      - -
                                                                                                      - -
                                                                                                      - - - - - - - - - - - - - - - - - - - -
                                                                                                      - -
                                                                                                      - -
                                                                                                      -
                                                                                                      - - - -
                                                                                                      -

                                                                                                      - -
                                                                                                      -
                                                                                                      - -
                                                                                                      -
                                                                                                      -
                                                                                                      - - - - -
                                                                                                      - -

                                                                                                      Source code for bittensor.core.extrinsics.take

                                                                                                      -from typing import TYPE_CHECKING, Optional
                                                                                                      -
                                                                                                      -from bittensor_wallet.bittensor_wallet import Wallet
                                                                                                      -
                                                                                                      -from bittensor.utils import unlock_key
                                                                                                      -
                                                                                                      -if TYPE_CHECKING:
                                                                                                      -    from bittensor.core.subtensor import Subtensor
                                                                                                      -
                                                                                                      -
                                                                                                      -
                                                                                                      -[docs] -def increase_take_extrinsic( - subtensor: "Subtensor", - wallet: Wallet, - hotkey_ss58: str, - take: int, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = True, - raise_error: bool = False, - period: Optional[int] = None, -) -> tuple[bool, str]: - """Sets the delegate 'take' percentage for a neuron identified by its hotkey. - - Args: - subtensor (Subtensor): Blockchain connection. - wallet (Wallet): The wallet to sign the extrinsic. - hotkey_ss58 (str): SS58 address of the hotkey to set take for. - take (int): The percentage of rewards that the delegate claims from nominators. - wait_for_inclusion (bool, optional): Wait for inclusion before returning. Defaults to True. - wait_for_finalization (bool, optional): Wait for finalization before returning. Defaults to True. - raise_error (bool, optional): Raise error on failure. Defaults to False. - period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: Success flag and status message. - """ - unlock = unlock_key(wallet, raise_error=raise_error) - - if not unlock.success: - return False, unlock.message - - call = subtensor.substrate.compose_call( - call_module="SubtensorModule", - call_function="increase_take", - call_params={ - "hotkey": hotkey_ss58, - "take": take, - }, - ) - - return subtensor.sign_and_send_extrinsic( - call=call, - wallet=wallet, - wait_for_inclusion=wait_for_inclusion, - wait_for_finalization=wait_for_finalization, - period=period, - raise_error=raise_error, - )
                                                                                                      - - - -
                                                                                                      -[docs] -def decrease_take_extrinsic( - subtensor: "Subtensor", - wallet: Wallet, - hotkey_ss58: str, - take: int, - wait_for_inclusion: bool = True, - wait_for_finalization: bool = True, - raise_error: bool = False, - period: Optional[int] = None, -) -> tuple[bool, str]: - """Sets the delegate `take` percentage for a neuron identified by its hotkey. - - Args: - subtensor (Subtensor): Blockchain connection. - wallet (Wallet): The wallet to sign the extrinsic. - hotkey_ss58 (str): SS58 address of the hotkey to set take for. - take (int): The percentage of rewards that the delegate claims from nominators. - wait_for_inclusion (bool, optional): Wait for inclusion before returning. Defaults to True. - wait_for_finalization (bool, optional): Wait for finalization before returning. Defaults to True. - raise_error (bool, optional): Raise error on failure. Defaults to False. - period (Optional[int]): The number of blocks during which the transaction will remain valid after it's submitted. - If the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - Returns: - tuple[bool, str]: Success flag and status message. - """ - unlock = unlock_key(wallet, raise_error=raise_error) - - if not unlock.success: - return False, unlock.message - - call = subtensor.substrate.compose_call( - call_module="SubtensorModule", - call_function="decrease_take", - call_params={ - "hotkey": hotkey_ss58, - "take": take, - }, - ) - - return subtensor.sign_and_send_extrinsic( - call=call, - wallet=wallet, - wait_for_inclusion=wait_for_inclusion, - raise_error=raise_error, - wait_for_finalization=wait_for_finalization, - period=period, - )
                                                                                                      - -
                                                                                                      - -
                                                                                                      - - - - - - -
                                                                                                      - -
                                                                                                      -
                                                                                                      -
                                                                                                      - -
                                                                                                      - - - - -
                                                                                                      -
                                                                                                      - - -
                                                                                                      - - -
                                                                                                      -
                                                                                                      -
                                                                                                      - - - - - -
                                                                                                      -
                                                                                                      - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/transfer.html b/static/python-api/html/_modules/bittensor/core/extrinsics/transfer.html index e089d8ec5f..462ad910d2 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/transfer.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/transfer.html @@ -149,7 +149,6 @@
                                                                                                    • API Reference
                                                                                                      • bittensor
                                                                                                        diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/unstaking.html b/static/python-api/html/_modules/bittensor/core/extrinsics/unstaking.html index cd0381ce3a..f9f55927e9 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/unstaking.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/unstaking.html @@ -149,7 +149,6 @@
                                                                                                      • API Reference
                                                                                                        • bittensor
                                                                                                          diff --git a/static/python-api/html/_modules/bittensor/core/extrinsics/utils.html b/static/python-api/html/_modules/bittensor/core/extrinsics/utils.html index 57c9b952ae..9ccd2a8410 100644 --- a/static/python-api/html/_modules/bittensor/core/extrinsics/utils.html +++ b/static/python-api/html/_modules/bittensor/core/extrinsics/utils.html @@ -149,7 +149,6 @@
                                                                                                        • API Reference
                                                                                                          • bittensor
                                                                                                            diff --git a/static/python-api/html/_modules/bittensor/core/metagraph.html b/static/python-api/html/_modules/bittensor/core/metagraph.html index 93af9fcfb2..0fb63b9efe 100644 --- a/static/python-api/html/_modules/bittensor/core/metagraph.html +++ b/static/python-api/html/_modules/bittensor/core/metagraph.html @@ -149,7 +149,6 @@
                                                                                                          • API Reference
                                                                                                            • bittensor
                                                                                                              diff --git a/static/python-api/html/_modules/bittensor/core/stream.html b/static/python-api/html/_modules/bittensor/core/stream.html index d2d1a1457a..d91c2c722e 100644 --- a/static/python-api/html/_modules/bittensor/core/stream.html +++ b/static/python-api/html/_modules/bittensor/core/stream.html @@ -149,7 +149,6 @@
                                                                                                            • API Reference
                                                                                                              • bittensor
                                                                                                                diff --git a/static/python-api/html/_modules/bittensor/core/subtensor.html b/static/python-api/html/_modules/bittensor/core/subtensor.html index 36a3241f03..9eac666969 100644 --- a/static/python-api/html/_modules/bittensor/core/subtensor.html +++ b/static/python-api/html/_modules/bittensor/core/subtensor.html @@ -149,7 +149,6 @@
                                                                                                              • API Reference
                                                                                                                • bittensor
                                                                                                                  @@ -906,8 +902,6 @@

                                                                                                                  Source code for bittensor.core.subtensor

                                                                                                                           return b_map
                                                                                                                  -
                                                                                                                  -[docs] def commit( self, wallet, netuid: int, data: str, period: Optional[int] = None ) -> bool: @@ -932,8 +926,7 @@

                                                                                                                  Source code for bittensor.core.subtensor

                                                                                                                               data_type=f"Raw{len(data)}",
                                                                                                                               data=data.encode(),
                                                                                                                               period=period,
                                                                                                                  -        )
                                                                                                                  - + ) # add explicit alias set_commitment = commit @@ -1513,8 +1506,6 @@

                                                                                                                  Source code for bittensor.core.subtensor

                                                                                                                           return result
                                                                                                                  -
                                                                                                                  -[docs] def get_current_weight_commit_info( self, netuid: int, block: Optional[int] = None ) -> list: @@ -1537,8 +1528,7 @@

                                                                                                                  Source code for bittensor.core.subtensor

                                                                                                                           )
                                                                                                                   
                                                                                                                           commits = result.records[0][1] if result.records else []
                                                                                                                  -        return [WeightCommitInfo.from_vec_u8(commit) for commit in commits]
                                                                                                                  - + return [WeightCommitInfo.from_vec_u8(commit) for commit in commits]
                                                                                                                  [docs] @@ -2489,8 +2479,6 @@

                                                                                                                  Source code for bittensor.core.subtensor

                                                                                                                           }
                                                                                                                  -
                                                                                                                  -[docs] def get_stake_for_coldkey( self, coldkey_ss58: str, block: Optional[int] = None ) -> list["StakeInfo"]: @@ -2514,8 +2502,7 @@

                                                                                                                  Source code for bittensor.core.subtensor

                                                                                                                           if result is None:
                                                                                                                               return []
                                                                                                                           stakes = StakeInfo.list_from_dicts(result)  # type: ignore
                                                                                                                  -        return [stake for stake in stakes if stake.stake > 0]
                                                                                                                  - + return [stake for stake in stakes if stake.stake > 0] get_stake_info_for_coldkey = get_stake_for_coldkey @@ -2544,8 +2531,6 @@

                                                                                                                  Source code for bittensor.core.subtensor

                                                                                                                   
                                                                                                                       get_hotkey_stake = get_stake_for_hotkey
                                                                                                                   
                                                                                                                  -
                                                                                                                  -[docs] def get_stake_operations_fee( self, amount: Balance, @@ -2569,8 +2554,7 @@

                                                                                                                  Source code for bittensor.core.subtensor

                                                                                                                               params=[netuid],
                                                                                                                               block_hash=block_hash,
                                                                                                                           )
                                                                                                                  -        return amount * (result.value / U16_MAX)
                                                                                                                  - + return amount * (result.value / U16_MAX)
                                                                                                                  [docs] @@ -2647,8 +2631,6 @@

                                                                                                                  Source code for bittensor.core.subtensor

                                                                                                                           )
                                                                                                                  -
                                                                                                                  -[docs] def get_subnets(self, block: Optional[int] = None) -> list[int]: """ Retrieves the list of all subnet unique identifiers (netuids) currently present in the Bittensor network. @@ -2672,8 +2654,7 @@

                                                                                                                  Source code for bittensor.core.subtensor

                                                                                                                               for netuid, exists in result:
                                                                                                                                   if exists:
                                                                                                                                       subnets.append(netuid)
                                                                                                                  -        return subnets
                                                                                                                  - + return subnets
                                                                                                                  [docs] @@ -4355,8 +4336,6 @@

                                                                                                                  Source code for bittensor.core.subtensor

                                                                                                                           )
                                                                                                                  -
                                                                                                                  -[docs] def root_set_weights( self, wallet: "Wallet", @@ -4397,8 +4376,7 @@

                                                                                                                  Source code for bittensor.core.subtensor

                                                                                                                               wait_for_finalization=wait_for_finalization,
                                                                                                                               wait_for_inclusion=wait_for_inclusion,
                                                                                                                               period=period,
                                                                                                                  -        )
                                                                                                                  - + )
                                                                                                                  [docs] diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api.html b/static/python-api/html/_modules/bittensor/core/subtensor_api.html deleted file mode 100644 index a9db1279f9..0000000000 --- a/static/python-api/html/_modules/bittensor/core/subtensor_api.html +++ /dev/null @@ -1,669 +0,0 @@ - - - - - - - - - - bittensor.core.subtensor_api — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -

                                                                                                                  Source code for bittensor.core.subtensor_api

                                                                                                                  -from typing import Optional, Union, TYPE_CHECKING
                                                                                                                  -
                                                                                                                  -from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
                                                                                                                  -from bittensor.core.subtensor import Subtensor as _Subtensor
                                                                                                                  -from .chain import Chain as _Chain
                                                                                                                  -from .commitments import Commitments as _Commitments
                                                                                                                  -from .delegates import Delegates as _Delegates
                                                                                                                  -from .extrinsics import Extrinsics as _Extrinsics
                                                                                                                  -from .metagraphs import Metagraphs as _Metagraphs
                                                                                                                  -from .neurons import Neurons as _Neurons
                                                                                                                  -from .queries import Queries as _Queries
                                                                                                                  -from .staking import Staking as _Staking
                                                                                                                  -from .subnets import Subnets as _Subnets
                                                                                                                  -from .utils import add_legacy_methods as _add_classic_fields
                                                                                                                  -from .wallets import Wallets as _Wallets
                                                                                                                  -
                                                                                                                  -if TYPE_CHECKING:
                                                                                                                  -    from bittensor.core.config import Config
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -[docs] -class SubtensorApi: - """Subtensor API class. - - Arguments: - network: The network to connect to. Defaults to `None` -> "finney". - config: Bittensor configuration object. Defaults to `None`. - legacy_methods: If `True`, all methods from the Subtensor class will be added to the root level of this class. - fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. Defaults to `None`. - retry_forever: Whether to retry forever on connection errors. Defaults to `False`. - log_verbose: Enables or disables verbose logging. - mock: Whether this is a mock instance. Mainly just for use in testing. - archive_endpoints: Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases - where you are requesting a block that is too old for your current (presumably lite) node. Defaults to `None` - websocket_shutdown_timer: Amount of time, in seconds, to wait after the last response from the chain to close - the connection. Only applicable to AsyncSubtensor. - - Example: - # sync version - import bittensor as bt - - subtensor = bt.SubtensorApi() - print(subtensor.block) - print(subtensor.delegates.get_delegate_identities()) - subtensor.chain.tx_rate_limit() - - # async version - import bittensor as bt - - subtensor = bt.SubtensorApi(async_subtensor=True) - async with subtensor: - print(await subtensor.block) - print(await subtensor.delegates.get_delegate_identities()) - print(await subtensor.chain.tx_rate_limit()) - - # using `legacy_methods` - import bittensor as bt - - subtensor = bt.SubtensorApi(legacy_methods=True) - print(subtensor.bonds(0)) - - # using `fallback_endpoints` or `retry_forever` - import bittensor as bt - - subtensor = bt.SubtensorApi( - network="finney", - fallback_endpoints=["wss://localhost:9945", "wss://some-other-endpoint:9945"], - retry_forever=True, - ) - print(subtensor.block) - """ - - def __init__( - self, - network: Optional[str] = None, - config: Optional["Config"] = None, - async_subtensor: bool = False, - legacy_methods: bool = False, - fallback_endpoints: Optional[list[str]] = None, - retry_forever: bool = False, - log_verbose: bool = False, - mock: bool = False, - archive_endpoints: Optional[list[str]] = None, - websocket_shutdown_timer: float = 5.0, - ): - self.network = network - self._fallback_endpoints = fallback_endpoints - self._archive_endpoints = archive_endpoints - self._retry_forever = retry_forever - self._ws_shutdown_timer = websocket_shutdown_timer - self._mock = mock - self.log_verbose = log_verbose - self.is_async = async_subtensor - self._config = config - - # assigned only for async instance - self.initialize = None - self._subtensor = self._get_subtensor() - - # fix naming collision - self._neurons = _Neurons(self._subtensor) - - # define empty fields - self.substrate = self._subtensor.substrate - self.chain_endpoint = self._subtensor.chain_endpoint - self.close = self._subtensor.close - self.config = self._subtensor.config - self.setup_config = self._subtensor.setup_config - self.help = self._subtensor.help - - self.determine_block_hash = self._subtensor.determine_block_hash - self.encode_params = self._subtensor.encode_params - self.sign_and_send_extrinsic = self._subtensor.sign_and_send_extrinsic - self.start_call = self._subtensor.start_call - self.wait_for_block = self._subtensor.wait_for_block - - # adds all Subtensor methods into main level os SubtensorApi class - if legacy_methods: - _add_classic_fields(self) - - def _get_subtensor(self) -> Union["_Subtensor", "_AsyncSubtensor"]: - """Returns the subtensor instance based on the provided config and subtensor type flag.""" - if self.is_async: - _subtensor = _AsyncSubtensor( - network=self.network, - config=self._config, - log_verbose=self.log_verbose, - fallback_endpoints=self._fallback_endpoints, - retry_forever=self._retry_forever, - _mock=self._mock, - archive_endpoints=self._archive_endpoints, - websocket_shutdown_timer=self._ws_shutdown_timer, - ) - self.initialize = _subtensor.initialize - return _subtensor - else: - return _Subtensor( - network=self.network, - config=self._config, - log_verbose=self.log_verbose, - fallback_endpoints=self._fallback_endpoints, - retry_forever=self._retry_forever, - _mock=self._mock, - archive_endpoints=self._archive_endpoints, - ) - - def _determine_chain_endpoint(self) -> str: - """Determines the connection and mock flag.""" - if self._mock: - return "Mock" - return self.substrate.url - - def __str__(self): - return ( - f"<Network: {self.network}, " - f"Chain: {self._determine_chain_endpoint()}, " - f"{'Async version' if self.is_async else 'Sync version'}>" - ) - - def __repr__(self): - return self.__str__() - - def __enter__(self): - if self.is_async: - raise NotImplementedError( - "Async version of SubtensorApi cannot be used with sync context manager." - ) - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - if self.is_async: - raise NotImplementedError( - "Async version of SubtensorApi cannot be used with sync context manager." - ) - self.close() - - async def __aenter__(self): - if not self.is_async: - raise NotImplementedError( - "Sync version of SubtensorApi cannot be used with async context manager." - ) - return await self._subtensor.__aenter__() - - async def __aexit__(self, exc_type, exc_val, exc_tb): - if not self.is_async: - raise NotImplementedError( - "Sync version of SubtensorApi cannot be used with async context manager." - ) - await self.substrate.close() - -
                                                                                                                  -[docs] - @classmethod - def add_args(cls, parser): - _Subtensor.add_args(parser)
                                                                                                                  - - - @property - def block(self): - """Returns current chain block number.""" - return self._subtensor.block - - @property - def chain(self): - """Property of interaction with chain methods.""" - return _Chain(self._subtensor) - - @property - def commitments(self): - """Property to access commitments methods.""" - return _Commitments(self._subtensor) - - @property - def delegates(self): - """Property to access delegates methods.""" - return _Delegates(self._subtensor) - - @property - def extrinsics(self): - """Property to access extrinsics methods.""" - return _Extrinsics(self._subtensor) - - @property - def metagraphs(self): - """Property to access metagraphs methods.""" - return _Metagraphs(self._subtensor) - - @property - def neurons(self): - """Property to access neurons methods.""" - return self._neurons - - @neurons.setter - def neurons(self, value): - """Setter for neurons property.""" - self._neurons = value - - @property - def queries(self): - """Property to access subtensor queries methods.""" - return _Queries(self._subtensor) - - @property - def staking(self): - """Property to access staking methods.""" - return _Staking(self._subtensor) - - @property - def subnets(self): - """Property of interaction with subnets methods.""" - return _Subnets(self._subtensor) - - @property - def wallets(self): - """Property of interaction methods with cold/hotkeys, and balances, etc.""" - return _Wallets(self._subtensor)
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/chain.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/chain.html deleted file mode 100644 index 00c4bef60a..0000000000 --- a/static/python-api/html/_modules/bittensor/core/subtensor_api/chain.html +++ /dev/null @@ -1,434 +0,0 @@ - - - - - - - - - - bittensor.core.subtensor_api.chain — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -

                                                                                                                  Source code for bittensor.core.subtensor_api.chain

                                                                                                                  -from typing import Union
                                                                                                                  -from bittensor.core.subtensor import Subtensor as _Subtensor
                                                                                                                  -from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -[docs] -class Chain: - """Class for managing chain state operations.""" - - def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): - self.get_block_hash = subtensor.get_block_hash - self.get_current_block = subtensor.get_current_block - self.get_delegate_identities = subtensor.get_delegate_identities - self.get_existential_deposit = subtensor.get_existential_deposit - self.get_minimum_required_stake = subtensor.get_minimum_required_stake - self.get_vote_data = subtensor.get_vote_data - self.get_timestamp = subtensor.get_timestamp - self.is_fast_blocks = subtensor.is_fast_blocks - self.last_drand_round = subtensor.last_drand_round - self.state_call = subtensor.state_call - self.tx_rate_limit = subtensor.tx_rate_limit
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/commitments.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/commitments.html deleted file mode 100644 index 5b14803829..0000000000 --- a/static/python-api/html/_modules/bittensor/core/subtensor_api/commitments.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - - - - - - - bittensor.core.subtensor_api.commitments — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -

                                                                                                                  Source code for bittensor.core.subtensor_api.commitments

                                                                                                                  -from typing import Union
                                                                                                                  -from bittensor.core.subtensor import Subtensor as _Subtensor
                                                                                                                  -from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -[docs] -class Commitments: - """Class for managing any commitment operations.""" - - def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): - self.commit_reveal_enabled = subtensor.commit_reveal_enabled - self.get_all_commitments = subtensor.get_all_commitments - self.get_all_revealed_commitments = subtensor.get_all_revealed_commitments - self.get_commitment = subtensor.get_commitment - self.get_current_weight_commit_info = subtensor.get_current_weight_commit_info - self.get_last_commitment_bonds_reset_block = ( - subtensor.get_last_commitment_bonds_reset_block - ) - self.get_revealed_commitment = subtensor.get_revealed_commitment - self.get_revealed_commitment_by_hotkey = ( - subtensor.get_revealed_commitment_by_hotkey - ) - self.set_commitment = subtensor.set_commitment - self.set_reveal_commitment = subtensor.set_reveal_commitment
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/delegates.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/delegates.html deleted file mode 100644 index 1680ad4a3f..0000000000 --- a/static/python-api/html/_modules/bittensor/core/subtensor_api/delegates.html +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - - - - - bittensor.core.subtensor_api.delegates — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -

                                                                                                                  Source code for bittensor.core.subtensor_api.delegates

                                                                                                                  -from typing import Union
                                                                                                                  -from bittensor.core.subtensor import Subtensor as _Subtensor
                                                                                                                  -from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -[docs] -class Delegates: - """Class for managing delegate operations.""" - - def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): - self.is_hotkey_delegate = subtensor.is_hotkey_delegate - self.get_delegate_by_hotkey = subtensor.get_delegate_by_hotkey - self.set_delegate_take = subtensor.set_delegate_take - self.get_delegate_identities = subtensor.get_delegate_identities - self.get_delegate_take = subtensor.get_delegate_take - self.get_delegated = subtensor.get_delegated - self.get_delegates = subtensor.get_delegates
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/extrinsics.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/extrinsics.html deleted file mode 100644 index 2129155e93..0000000000 --- a/static/python-api/html/_modules/bittensor/core/subtensor_api/extrinsics.html +++ /dev/null @@ -1,451 +0,0 @@ - - - - - - - - - - bittensor.core.subtensor_api.extrinsics — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -

                                                                                                                  Source code for bittensor.core.subtensor_api.extrinsics

                                                                                                                  -from typing import Union
                                                                                                                  -from bittensor.core.subtensor import Subtensor as _Subtensor
                                                                                                                  -from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -[docs] -class Extrinsics: - """Class for managing extrinsic operations.""" - - def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): - self.add_liquidity = subtensor.add_liquidity - self.add_stake = subtensor.add_stake - self.add_stake_multiple = subtensor.add_stake_multiple - self.burned_register = subtensor.burned_register - self.commit_weights = subtensor.commit_weights - self.modify_liquidity = subtensor.modify_liquidity - self.move_stake = subtensor.move_stake - self.register = subtensor.register - self.register_subnet = subtensor.register_subnet - self.remove_liquidity = subtensor.remove_liquidity - self.reveal_weights = subtensor.reveal_weights - self.root_register = subtensor.root_register - self.root_set_weights = subtensor.root_set_weights - self.root_set_pending_childkey_cooldown = ( - subtensor.root_set_pending_childkey_cooldown - ) - self.set_children = subtensor.set_children - self.set_subnet_identity = subtensor.set_subnet_identity - self.set_weights = subtensor.set_weights - self.serve_axon = subtensor.serve_axon - self.start_call = subtensor.start_call - self.swap_stake = subtensor.swap_stake - self.toggle_user_liquidity = subtensor.toggle_user_liquidity - self.transfer = subtensor.transfer - self.transfer_stake = subtensor.transfer_stake - self.unstake = subtensor.unstake - self.unstake_all = subtensor.unstake_all - self.unstake_multiple = subtensor.unstake_multiple
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/metagraphs.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/metagraphs.html deleted file mode 100644 index 42ae2da41c..0000000000 --- a/static/python-api/html/_modules/bittensor/core/subtensor_api/metagraphs.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - - - - bittensor.core.subtensor_api.metagraphs — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -

                                                                                                                  Source code for bittensor.core.subtensor_api.metagraphs

                                                                                                                  -from typing import Union
                                                                                                                  -from bittensor.core.subtensor import Subtensor as _Subtensor
                                                                                                                  -from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -[docs] -class Metagraphs: - """Class for managing metagraph operations.""" - - def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): - self.get_metagraph_info = subtensor.get_metagraph_info - self.get_all_metagraphs_info = subtensor.get_all_metagraphs_info - self.metagraph = subtensor.metagraph
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/neurons.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/neurons.html deleted file mode 100644 index 037e401eb2..0000000000 --- a/static/python-api/html/_modules/bittensor/core/subtensor_api/neurons.html +++ /dev/null @@ -1,429 +0,0 @@ - - - - - - - - - - bittensor.core.subtensor_api.neurons — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -

                                                                                                                  Source code for bittensor.core.subtensor_api.neurons

                                                                                                                  -from typing import Union
                                                                                                                  -from bittensor.core.subtensor import Subtensor as _Subtensor
                                                                                                                  -from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -[docs] -class Neurons: - """Class for managing neuron operations.""" - - def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): - self.get_all_neuron_certificates = subtensor.get_all_neuron_certificates - self.get_neuron_certificate = subtensor.get_neuron_certificate - self.neuron_for_uid = subtensor.neuron_for_uid - self.neurons = subtensor.neurons - self.neurons_lite = subtensor.neurons_lite - self.query_identity = subtensor.query_identity
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/queries.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/queries.html deleted file mode 100644 index 3700460be1..0000000000 --- a/static/python-api/html/_modules/bittensor/core/subtensor_api/queries.html +++ /dev/null @@ -1,429 +0,0 @@ - - - - - - - - - - bittensor.core.subtensor_api.queries — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -

                                                                                                                  Source code for bittensor.core.subtensor_api.queries

                                                                                                                  -from typing import Union
                                                                                                                  -from bittensor.core.subtensor import Subtensor as _Subtensor
                                                                                                                  -from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -[docs] -class Queries: - """Class for managing subtensor query operations.""" - - def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): - self.query_constant = subtensor.query_constant - self.query_map = subtensor.query_map - self.query_map_subtensor = subtensor.query_map_subtensor - self.query_module = subtensor.query_module - self.query_runtime_api = subtensor.query_runtime_api - self.query_subtensor = subtensor.query_subtensor
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/staking.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/staking.html deleted file mode 100644 index 29d846ee3a..0000000000 --- a/static/python-api/html/_modules/bittensor/core/subtensor_api/staking.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - - - - - - bittensor.core.subtensor_api.staking — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -

                                                                                                                  Source code for bittensor.core.subtensor_api.staking

                                                                                                                  -from typing import Union
                                                                                                                  -from bittensor.core.subtensor import Subtensor as _Subtensor
                                                                                                                  -from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -[docs] -class Staking: - """Class for managing staking operations.""" - - def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): - self.add_stake = subtensor.add_stake - self.add_stake_multiple = subtensor.add_stake_multiple - self.get_hotkey_stake = subtensor.get_hotkey_stake - self.get_minimum_required_stake = subtensor.get_minimum_required_stake - self.get_stake = subtensor.get_stake - self.get_stake_add_fee = subtensor.get_stake_add_fee - self.get_stake_for_coldkey = subtensor.get_stake_for_coldkey - self.get_stake_for_coldkey_and_hotkey = ( - subtensor.get_stake_for_coldkey_and_hotkey - ) - self.get_stake_info_for_coldkey = subtensor.get_stake_info_for_coldkey - self.get_stake_movement_fee = subtensor.get_stake_movement_fee - self.get_stake_operations_fee = subtensor.get_stake_operations_fee - self.get_unstake_fee = subtensor.get_unstake_fee - self.unstake = subtensor.unstake - self.unstake_all = subtensor.unstake_all - self.unstake_multiple = subtensor.unstake_multiple
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/subnets.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/subnets.html deleted file mode 100644 index 43b3f245ef..0000000000 --- a/static/python-api/html/_modules/bittensor/core/subtensor_api/subnets.html +++ /dev/null @@ -1,465 +0,0 @@ - - - - - - - - - - bittensor.core.subtensor_api.subnets — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -

                                                                                                                  Source code for bittensor.core.subtensor_api.subnets

                                                                                                                  -from typing import Union
                                                                                                                  -
                                                                                                                  -from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
                                                                                                                  -from bittensor.core.subtensor import Subtensor as _Subtensor
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -[docs] -class Subnets: - """Class for managing subnet operations.""" - - def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): - self.all_subnets = subtensor.all_subnets - self.blocks_since_last_step = subtensor.blocks_since_last_step - self.blocks_since_last_update = subtensor.blocks_since_last_update - self.bonds = subtensor.bonds - self.difficulty = subtensor.difficulty - self.get_all_subnets_info = subtensor.get_all_subnets_info - self.get_parents = subtensor.get_parents - self.get_children = subtensor.get_children - self.get_children_pending = subtensor.get_children_pending - self.get_current_weight_commit_info = subtensor.get_current_weight_commit_info - self.get_hyperparameter = subtensor.get_hyperparameter - self.get_liquidity_list = subtensor.get_liquidity_list - self.get_neuron_for_pubkey_and_subnet = ( - subtensor.get_neuron_for_pubkey_and_subnet - ) - self.get_next_epoch_start_block = subtensor.get_next_epoch_start_block - self.get_subnet_burn_cost = subtensor.get_subnet_burn_cost - self.get_subnet_hyperparameters = subtensor.get_subnet_hyperparameters - self.get_subnet_info = subtensor.get_subnet_info - self.get_subnet_price = subtensor.get_subnet_price - self.get_subnet_prices = subtensor.get_subnet_prices - self.get_subnet_owner_hotkey = subtensor.get_subnet_owner_hotkey - self.get_subnet_reveal_period_epochs = subtensor.get_subnet_reveal_period_epochs - self.get_subnet_validator_permits = subtensor.get_subnet_validator_permits - self.get_subnets = subtensor.get_subnets - self.get_total_subnets = subtensor.get_total_subnets - self.get_uid_for_hotkey_on_subnet = subtensor.get_uid_for_hotkey_on_subnet - self.immunity_period = subtensor.immunity_period - self.is_hotkey_registered_on_subnet = subtensor.is_hotkey_registered_on_subnet - self.is_subnet_active = subtensor.is_subnet_active - self.max_weight_limit = subtensor.max_weight_limit - self.min_allowed_weights = subtensor.min_allowed_weights - self.recycle = subtensor.recycle - self.register_subnet = subtensor.register_subnet - self.set_subnet_identity = subtensor.set_subnet_identity - self.subnet = subtensor.subnet - self.subnet_exists = subtensor.subnet_exists - self.subnetwork_n = subtensor.subnetwork_n - self.tempo = subtensor.tempo - self.weights_rate_limit = subtensor.weights_rate_limit - self.weights = subtensor.weights
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/utils.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/utils.html deleted file mode 100644 index 17b9deb540..0000000000 --- a/static/python-api/html/_modules/bittensor/core/subtensor_api/utils.html +++ /dev/null @@ -1,590 +0,0 @@ - - - - - - - - - - bittensor.core.subtensor_api.utils — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -

                                                                                                                  Source code for bittensor.core.subtensor_api.utils

                                                                                                                  -from typing import TYPE_CHECKING
                                                                                                                  -
                                                                                                                  -if TYPE_CHECKING:
                                                                                                                  -    from bittensor.core.subtensor_api import SubtensorApi
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -[docs] -def add_legacy_methods(subtensor: "SubtensorApi"): - """If SubtensorApi get `subtensor_fields=True` arguments, then all classic Subtensor fields added to root level.""" - subtensor.add_liquidity = subtensor._subtensor.add_liquidity - subtensor.add_stake = subtensor._subtensor.add_stake - subtensor.add_stake_multiple = subtensor._subtensor.add_stake_multiple - subtensor.all_subnets = subtensor._subtensor.all_subnets - subtensor.blocks_since_last_step = subtensor._subtensor.blocks_since_last_step - subtensor.blocks_since_last_update = subtensor._subtensor.blocks_since_last_update - subtensor.bonds = subtensor._subtensor.bonds - subtensor.burned_register = subtensor._subtensor.burned_register - subtensor.chain_endpoint = subtensor._subtensor.chain_endpoint - subtensor.commit = subtensor._subtensor.commit - subtensor.commit_reveal_enabled = subtensor._subtensor.commit_reveal_enabled - subtensor.commit_weights = subtensor._subtensor.commit_weights - subtensor.determine_block_hash = subtensor._subtensor.determine_block_hash - subtensor.difficulty = subtensor._subtensor.difficulty - subtensor.does_hotkey_exist = subtensor._subtensor.does_hotkey_exist - subtensor.encode_params = subtensor._subtensor.encode_params - subtensor.filter_netuids_by_registered_hotkeys = ( - subtensor._subtensor.filter_netuids_by_registered_hotkeys - ) - subtensor.get_all_commitments = subtensor._subtensor.get_all_commitments - subtensor.get_all_metagraphs_info = subtensor._subtensor.get_all_metagraphs_info - subtensor.get_all_neuron_certificates = ( - subtensor._subtensor.get_all_neuron_certificates - ) - subtensor.get_all_revealed_commitments = ( - subtensor._subtensor.get_all_revealed_commitments - ) - subtensor.get_all_subnets_info = subtensor._subtensor.get_all_subnets_info - subtensor.get_balance = subtensor._subtensor.get_balance - subtensor.get_balances = subtensor._subtensor.get_balances - subtensor.get_block_hash = subtensor._subtensor.get_block_hash - subtensor.get_parents = subtensor._subtensor.get_parents - subtensor.get_children = subtensor._subtensor.get_children - subtensor.get_children_pending = subtensor._subtensor.get_children_pending - subtensor.get_commitment = subtensor._subtensor.get_commitment - subtensor.get_current_block = subtensor._subtensor.get_current_block - subtensor.get_last_commitment_bonds_reset_block = ( - subtensor._subtensor.get_last_commitment_bonds_reset_block - ) - subtensor.get_current_weight_commit_info = ( - subtensor._subtensor.get_current_weight_commit_info - ) - subtensor.get_delegate_by_hotkey = subtensor._subtensor.get_delegate_by_hotkey - subtensor.get_delegate_identities = subtensor._subtensor.get_delegate_identities - subtensor.get_delegate_take = subtensor._subtensor.get_delegate_take - subtensor.get_delegated = subtensor._subtensor.get_delegated - subtensor.get_delegates = subtensor._subtensor.get_delegates - subtensor.get_existential_deposit = subtensor._subtensor.get_existential_deposit - subtensor.get_hotkey_owner = subtensor._subtensor.get_hotkey_owner - subtensor.get_hotkey_stake = subtensor._subtensor.get_hotkey_stake - subtensor.get_hyperparameter = subtensor._subtensor.get_hyperparameter - subtensor.get_liquidity_list = subtensor._subtensor.get_liquidity_list - subtensor.get_metagraph_info = subtensor._subtensor.get_metagraph_info - subtensor.get_minimum_required_stake = ( - subtensor._subtensor.get_minimum_required_stake - ) - subtensor.get_netuids_for_hotkey = subtensor._subtensor.get_netuids_for_hotkey - subtensor.get_neuron_certificate = subtensor._subtensor.get_neuron_certificate - subtensor.get_neuron_for_pubkey_and_subnet = ( - subtensor._subtensor.get_neuron_for_pubkey_and_subnet - ) - subtensor.get_next_epoch_start_block = ( - subtensor._subtensor.get_next_epoch_start_block - ) - subtensor.get_owned_hotkeys = subtensor._subtensor.get_owned_hotkeys - subtensor.get_revealed_commitment = subtensor._subtensor.get_revealed_commitment - subtensor.get_revealed_commitment_by_hotkey = ( - subtensor._subtensor.get_revealed_commitment_by_hotkey - ) - subtensor.get_stake = subtensor._subtensor.get_stake - subtensor.get_stake_add_fee = subtensor._subtensor.get_stake_add_fee - subtensor.get_stake_for_coldkey = subtensor._subtensor.get_stake_for_coldkey - subtensor.get_stake_for_coldkey_and_hotkey = ( - subtensor._subtensor.get_stake_for_coldkey_and_hotkey - ) - subtensor.get_stake_for_hotkey = subtensor._subtensor.get_stake_for_hotkey - subtensor.get_stake_info_for_coldkey = ( - subtensor._subtensor.get_stake_info_for_coldkey - ) - subtensor.get_stake_movement_fee = subtensor._subtensor.get_stake_movement_fee - subtensor.get_stake_operations_fee = subtensor._subtensor.get_stake_operations_fee - subtensor.get_subnet_burn_cost = subtensor._subtensor.get_subnet_burn_cost - subtensor.get_subnet_hyperparameters = ( - subtensor._subtensor.get_subnet_hyperparameters - ) - subtensor.get_subnet_info = subtensor._subtensor.get_subnet_info - subtensor.get_subnet_price = subtensor._subtensor.get_subnet_price - subtensor.get_subnet_prices = subtensor._subtensor.get_subnet_prices - subtensor.get_subnet_owner_hotkey = subtensor._subtensor.get_subnet_owner_hotkey - subtensor.get_subnet_reveal_period_epochs = ( - subtensor._subtensor.get_subnet_reveal_period_epochs - ) - subtensor.get_subnet_validator_permits = ( - subtensor._subtensor.get_subnet_validator_permits - ) - subtensor.get_subnets = subtensor._subtensor.get_subnets - subtensor.get_timestamp = subtensor._subtensor.get_timestamp - subtensor.get_total_subnets = subtensor._subtensor.get_total_subnets - subtensor.get_transfer_fee = subtensor._subtensor.get_transfer_fee - subtensor.get_uid_for_hotkey_on_subnet = ( - subtensor._subtensor.get_uid_for_hotkey_on_subnet - ) - subtensor.get_unstake_fee = subtensor._subtensor.get_unstake_fee - subtensor.get_vote_data = subtensor._subtensor.get_vote_data - subtensor.immunity_period = subtensor._subtensor.immunity_period - subtensor.is_fast_blocks = subtensor._subtensor.is_fast_blocks - subtensor.is_hotkey_delegate = subtensor._subtensor.is_hotkey_delegate - subtensor.is_hotkey_registered = subtensor._subtensor.is_hotkey_registered - subtensor.is_hotkey_registered_any = subtensor._subtensor.is_hotkey_registered_any - subtensor.is_hotkey_registered_on_subnet = ( - subtensor._subtensor.is_hotkey_registered_on_subnet - ) - subtensor.is_subnet_active = subtensor._subtensor.is_subnet_active - subtensor.last_drand_round = subtensor._subtensor.last_drand_round - subtensor.log_verbose = subtensor._subtensor.log_verbose - subtensor.max_weight_limit = subtensor._subtensor.max_weight_limit - subtensor.metagraph = subtensor._subtensor.metagraph - subtensor.min_allowed_weights = subtensor._subtensor.min_allowed_weights - subtensor.modify_liquidity = subtensor._subtensor.modify_liquidity - subtensor.move_stake = subtensor._subtensor.move_stake - subtensor.network = subtensor._subtensor.network - subtensor.neurons = subtensor._subtensor.neurons - subtensor.neuron_for_uid = subtensor._subtensor.neuron_for_uid - subtensor.neurons_lite = subtensor._subtensor.neurons_lite - subtensor.query_constant = subtensor._subtensor.query_constant - subtensor.query_identity = subtensor._subtensor.query_identity - subtensor.query_map = subtensor._subtensor.query_map - subtensor.query_map_subtensor = subtensor._subtensor.query_map_subtensor - subtensor.query_module = subtensor._subtensor.query_module - subtensor.query_runtime_api = subtensor._subtensor.query_runtime_api - subtensor.query_subtensor = subtensor._subtensor.query_subtensor - subtensor.recycle = subtensor._subtensor.recycle - subtensor.remove_liquidity = subtensor._subtensor.remove_liquidity - subtensor.register = subtensor._subtensor.register - subtensor.register_subnet = subtensor._subtensor.register_subnet - subtensor.reveal_weights = subtensor._subtensor.reveal_weights - subtensor.root_register = subtensor._subtensor.root_register - subtensor.root_set_pending_childkey_cooldown = ( - subtensor._subtensor.root_set_pending_childkey_cooldown - ) - subtensor.root_set_weights = subtensor._subtensor.root_set_weights - subtensor.serve_axon = subtensor._subtensor.serve_axon - subtensor.set_children = subtensor._subtensor.set_children - subtensor.set_commitment = subtensor._subtensor.set_commitment - subtensor.set_delegate_take = subtensor._subtensor.set_delegate_take - subtensor.set_reveal_commitment = subtensor._subtensor.set_reveal_commitment - subtensor.set_subnet_identity = subtensor._subtensor.set_subnet_identity - subtensor.set_weights = subtensor._subtensor.set_weights - subtensor.setup_config = subtensor._subtensor.setup_config - subtensor.sign_and_send_extrinsic = subtensor._subtensor.sign_and_send_extrinsic - subtensor.start_call = subtensor._subtensor.start_call - subtensor.state_call = subtensor._subtensor.state_call - subtensor.subnet = subtensor._subtensor.subnet - subtensor.subnet_exists = subtensor._subtensor.subnet_exists - subtensor.subnetwork_n = subtensor._subtensor.subnetwork_n - subtensor.substrate = subtensor._subtensor.substrate - subtensor.swap_stake = subtensor._subtensor.swap_stake - subtensor.tempo = subtensor._subtensor.tempo - subtensor.toggle_user_liquidity = subtensor._subtensor.toggle_user_liquidity - subtensor.transfer = subtensor._subtensor.transfer - subtensor.transfer_stake = subtensor._subtensor.transfer_stake - subtensor.tx_rate_limit = subtensor._subtensor.tx_rate_limit - subtensor.unstake = subtensor._subtensor.unstake - subtensor.unstake_all = subtensor._subtensor.unstake_all - subtensor.unstake_multiple = subtensor._subtensor.unstake_multiple - subtensor.wait_for_block = subtensor._subtensor.wait_for_block - subtensor.weights = subtensor._subtensor.weights - subtensor.weights_rate_limit = subtensor._subtensor.weights_rate_limit
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/subtensor_api/wallets.html b/static/python-api/html/_modules/bittensor/core/subtensor_api/wallets.html deleted file mode 100644 index cea783be50..0000000000 --- a/static/python-api/html/_modules/bittensor/core/subtensor_api/wallets.html +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - - - - - bittensor.core.subtensor_api.wallets — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -

                                                                                                                  Source code for bittensor.core.subtensor_api.wallets

                                                                                                                  -from typing import Union
                                                                                                                  -from bittensor.core.subtensor import Subtensor as _Subtensor
                                                                                                                  -from bittensor.core.async_subtensor import AsyncSubtensor as _AsyncSubtensor
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -[docs] -class Wallets: - """Class for managing coldkey, hotkey, wallet operations.""" - - def __init__(self, subtensor: Union["_Subtensor", "_AsyncSubtensor"]): - self.does_hotkey_exist = subtensor.does_hotkey_exist - self.filter_netuids_by_registered_hotkeys = ( - subtensor.filter_netuids_by_registered_hotkeys - ) - self.is_hotkey_registered_any = subtensor.is_hotkey_registered_any - self.is_hotkey_registered = subtensor.is_hotkey_registered - self.is_hotkey_delegate = subtensor.is_hotkey_delegate - self.get_balance = subtensor.get_balance - self.get_balances = subtensor.get_balances - self.get_children = subtensor.get_children - self.get_children_pending = subtensor.get_children_pending - self.get_delegate_by_hotkey = subtensor.get_delegate_by_hotkey - self.get_delegate_take = subtensor.get_delegate_take - self.get_delegated = subtensor.get_delegated - self.get_hotkey_owner = subtensor.get_hotkey_owner - self.get_hotkey_stake = subtensor.get_hotkey_stake - self.get_minimum_required_stake = subtensor.get_minimum_required_stake - self.get_netuids_for_hotkey = subtensor.get_netuids_for_hotkey - self.get_owned_hotkeys = subtensor.get_owned_hotkeys - self.get_stake = subtensor.get_stake - self.get_stake_add_fee = subtensor.get_stake_add_fee - self.get_stake_for_coldkey = subtensor.get_stake_for_coldkey - self.get_stake_for_coldkey_and_hotkey = ( - subtensor.get_stake_for_coldkey_and_hotkey - ) - self.get_stake_for_hotkey = subtensor.get_stake_for_hotkey - self.get_stake_info_for_coldkey = subtensor.get_stake_info_for_coldkey - self.get_stake_movement_fee = subtensor.get_stake_movement_fee - self.get_transfer_fee = subtensor.get_transfer_fee - self.get_unstake_fee = subtensor.get_unstake_fee
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/synapse.html b/static/python-api/html/_modules/bittensor/core/synapse.html index b22459f060..38c5763efe 100644 --- a/static/python-api/html/_modules/bittensor/core/synapse.html +++ b/static/python-api/html/_modules/bittensor/core/synapse.html @@ -149,7 +149,6 @@
                                                                                                                • API Reference
                                                                                                                  • bittensor
                                                                                                                    diff --git a/static/python-api/html/_modules/bittensor/core/tensor.html b/static/python-api/html/_modules/bittensor/core/tensor.html index 559dfdd3d5..320c844f46 100644 --- a/static/python-api/html/_modules/bittensor/core/tensor.html +++ b/static/python-api/html/_modules/bittensor/core/tensor.html @@ -149,7 +149,6 @@
                                                                                                                  • API Reference
                                                                                                                    • bittensor
                                                                                                                      diff --git a/static/python-api/html/_modules/bittensor/core/threadpool.html b/static/python-api/html/_modules/bittensor/core/threadpool.html index 942631b5ae..6d617e8f27 100644 --- a/static/python-api/html/_modules/bittensor/core/threadpool.html +++ b/static/python-api/html/_modules/bittensor/core/threadpool.html @@ -149,7 +149,6 @@
                                                                                                                    • API Reference
                                                                                                                      • bittensor
                                                                                                                        diff --git a/static/python-api/html/_modules/bittensor/core/timelock.html b/static/python-api/html/_modules/bittensor/core/timelock.html deleted file mode 100644 index cd987b82e8..0000000000 --- a/static/python-api/html/_modules/bittensor/core/timelock.html +++ /dev/null @@ -1,604 +0,0 @@ - - - - - - - - - - bittensor.core.timelock — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                        - - - - - - - - - -
                                                                                                                        - -
                                                                                                                        - - - - - -
                                                                                                                        -
                                                                                                                        - - - - - - - - -
                                                                                                                        - - - -
                                                                                                                        - -
                                                                                                                        -
                                                                                                                        - -
                                                                                                                        -
                                                                                                                        - -
                                                                                                                        - -
                                                                                                                        - -
                                                                                                                        - - -
                                                                                                                        - -
                                                                                                                        - -
                                                                                                                        - - - - - - - - - - - - - - - - - - - -
                                                                                                                        - -
                                                                                                                        - -
                                                                                                                        -
                                                                                                                        - - - -
                                                                                                                        -

                                                                                                                        - -
                                                                                                                        -
                                                                                                                        - -
                                                                                                                        -
                                                                                                                        -
                                                                                                                        - - - - -
                                                                                                                        - -

                                                                                                                        Source code for bittensor.core.timelock

                                                                                                                        -"""
                                                                                                                        -This module provides functionality for TimeLock Encryption (TLE), a mechanism that encrypts data such that it can
                                                                                                                        -only be decrypted after a specific amount of time (expressed in the form  of Drand rounds). It includes functions
                                                                                                                        -for encryption, decryption, and handling the decryption process by waiting for the reveal round. The logic is based on
                                                                                                                        -Drand QuickNet.
                                                                                                                        -
                                                                                                                        -Main Functions:
                                                                                                                        -    - encrypt: Encrypts data and returns the encrypted data along with the reveal round.
                                                                                                                        -    - decrypt: Decrypts the provided encrypted data when the reveal round is reached.
                                                                                                                        -    - wait_reveal_and_decrypt: Waits for the reveal round and decrypts the encrypted data.
                                                                                                                        -
                                                                                                                        -Usage Example:
                                                                                                                        -    ```python
                                                                                                                        -    from bittensor import timelock
                                                                                                                        -    data = "From Cortex to Bittensor"
                                                                                                                        -    encrypted_data, reveal_round = timelock.encrypt(data, n_blocks=5)
                                                                                                                        -    decrypted_data = timelock.wait_reveal_and_decrypt(encrypted_data)
                                                                                                                        -    ```
                                                                                                                        -
                                                                                                                        -Usage Example with custom data:
                                                                                                                        -    ```python
                                                                                                                        -    import pickle
                                                                                                                        -    from dataclasses import dataclass
                                                                                                                        -
                                                                                                                        -    from bittensor import timelock
                                                                                                                        -
                                                                                                                        -
                                                                                                                        -    @dataclass
                                                                                                                        -    class Person:
                                                                                                                        -        name: str
                                                                                                                        -        age: int
                                                                                                                        -
                                                                                                                        -    # get instance of your data
                                                                                                                        -    x_person = Person("X Lynch", 123)
                                                                                                                        -
                                                                                                                        -    # get bytes of your instance
                                                                                                                        -    byte_data = pickle.dumps(x_person)
                                                                                                                        -
                                                                                                                        -    # get TLE encoded bytes
                                                                                                                        -    encrypted, reveal_round = timelock.encrypt(byte_data, 1)
                                                                                                                        -
                                                                                                                        -    # wait when reveal round appears in Drand QuickNet and get decrypted data
                                                                                                                        -    decrypted = timelock.wait_reveal_and_decrypt(encrypted_data=encrypted)
                                                                                                                        -
                                                                                                                        -    # convert bytes into your instance back
                                                                                                                        -    x_person_2 = pickle.loads(decrypted)
                                                                                                                        -
                                                                                                                        -    # make sure initial and decoded instances are the same
                                                                                                                        -    assert x_person == x_person_2
                                                                                                                        -    ```
                                                                                                                        -
                                                                                                                        -Note:
                                                                                                                        -For handling fast-block nodes, set the `block_time` parameter to 0.25 seconds during encryption.
                                                                                                                        -"""
                                                                                                                        -
                                                                                                                        -import struct
                                                                                                                        -import time
                                                                                                                        -from typing import Optional, Union
                                                                                                                        -
                                                                                                                        -from bittensor_drand import (
                                                                                                                        -    encrypt as _btr_encrypt,
                                                                                                                        -    decrypt as _btr_decrypt,
                                                                                                                        -    get_latest_round,
                                                                                                                        -)
                                                                                                                        -
                                                                                                                        -TLE_ENCRYPTED_DATA_SUFFIX = b"AES_GCM_"
                                                                                                                        -
                                                                                                                        -
                                                                                                                        -
                                                                                                                        -[docs] -def encrypt( - data: Union[bytes, str], n_blocks: int, block_time: Union[int, float] = 12.0 -) -> tuple[bytes, int]: - """Encrypts data using TimeLock Encryption - - Arguments: - data: Any bytes data to be encrypted. - n_blocks: Number of blocks to encrypt. - block_time: Time in seconds for each block. Default is `12.0` seconds. - - Returns: - tuple: A tuple containing the encrypted data and reveal TimeLock reveal round. - - Raises: - PyValueError: If failed to encrypt data. - - Usage: - data = "From Cortex to Bittensor" - - # default usage - encrypted_data, reveal_round = encrypt(data, 10) - - # passing block_time for fast-blocks node - encrypted_data, reveal_round = encrypt(data, 15, block_time=0.25) - - encrypted_data, reveal_round = encrypt(data, 5) - - - Note: - For using this function with fast-blocks node you need to set block_time to 0.25 seconds. - data, round = encrypt(data, n_blocks, block_time=0.25) - """ - if isinstance(data, str): - data = data.encode() - return _btr_encrypt(data, n_blocks, block_time)
                                                                                                                        - - - -
                                                                                                                        -[docs] -def decrypt( - encrypted_data: bytes, no_errors: bool = True, return_str: bool = False -) -> Optional[Union[bytes, str]]: - """Decrypts encrypted data using TimeLock Decryption - - Arguments: - encrypted_data: Encrypted data to be decrypted. - no_errors: If True, no errors will be raised during decryption. - return_str: convert decrypted data to string if `True`. Default is `False`. - - Returns: - decrypted_data: Decrypted data, when reveled round is reached. - - Usage: - # default usage - decrypted_data = decrypt(encrypted_data) - - # passing no_errors=False for raising errors during decryption - decrypted_data = decrypt(encrypted_data, no_errors=False) - - # passing return_str=True for returning decrypted data as string - decrypted_data = decrypt(encrypted_data, return_str=True) - """ - result = _btr_decrypt(encrypted_data, no_errors) - if result is None: - return None - if return_str: - return result.decode() - return result
                                                                                                                        - - - -
                                                                                                                        -[docs] -def wait_reveal_and_decrypt( - encrypted_data: bytes, - reveal_round: Optional[int] = None, - no_errors: bool = True, - return_str: bool = False, -) -> bytes: - """ - Waits for reveal round and decrypts data using TimeLock Decryption. - - Arguments: - encrypted_data: Encrypted data to be decrypted. - reveal_round: Reveal round to wait for. If None, will be parsed from encrypted data. - no_errors: If True, no errors will be raised during decryption. - return_str: convert decrypted data to string if `True`. Default is `False`. - - Raises: - struct.error: If failed to parse reveal round from encrypted data. - TypeError: If reveal_round is None or wrong type. - IndexError: If provided encrypted_data does not contain reveal round. - - Returns: - bytes: Decrypted data. - - Usage: - import bittensor as bt - encrypted, reveal_round = bt.timelock.encrypt("Cortex is power", 3) - """ - if reveal_round is None: - try: - reveal_round = struct.unpack( - "<Q", encrypted_data.split(TLE_ENCRYPTED_DATA_SUFFIX)[-1] - )[0] - except (struct.error, TypeError, IndexError): - raise ValueError("Failed to parse reveal round from encrypted data.") - - while get_latest_round() <= reveal_round: - # sleep Drand QuickNet period time (3 sec) - time.sleep(3) - - return decrypt(encrypted_data, no_errors, return_str)
                                                                                                                        - - - -__all__ = [ - "decrypt", - "encrypt", - "get_latest_round", - "wait_reveal_and_decrypt", -] -
                                                                                                                        - -
                                                                                                                        - - - - - - -
                                                                                                                        - -
                                                                                                                        -
                                                                                                                        -
                                                                                                                        - -
                                                                                                                        - - - - -
                                                                                                                        -
                                                                                                                        - - -
                                                                                                                        - - -
                                                                                                                        -
                                                                                                                        -
                                                                                                                        - - - - - -
                                                                                                                        -
                                                                                                                        - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/core/types.html b/static/python-api/html/_modules/bittensor/core/types.html index 317f71f340..02f56faec4 100644 --- a/static/python-api/html/_modules/bittensor/core/types.html +++ b/static/python-api/html/_modules/bittensor/core/types.html @@ -149,7 +149,6 @@
                                                                                                                      • API Reference
                                                                                                                        • bittensor
                                                                                                                          diff --git a/static/python-api/html/_modules/bittensor/utils.html b/static/python-api/html/_modules/bittensor/utils.html index 2ed3593d1d..148a504c6f 100644 --- a/static/python-api/html/_modules/bittensor/utils.html +++ b/static/python-api/html/_modules/bittensor/utils.html @@ -149,7 +149,6 @@
                                                                                                                        • API Reference
                                                                                                                          • bittensor
                                                                                                                            diff --git a/static/python-api/html/_modules/bittensor/utils/axon_utils.html b/static/python-api/html/_modules/bittensor/utils/axon_utils.html index 4439c4e2e9..5c75e2774e 100644 --- a/static/python-api/html/_modules/bittensor/utils/axon_utils.html +++ b/static/python-api/html/_modules/bittensor/utils/axon_utils.html @@ -149,7 +149,6 @@
                                                                                                                          • API Reference
                                                                                                                            • bittensor
                                                                                                                              diff --git a/static/python-api/html/_modules/bittensor/utils/balance.html b/static/python-api/html/_modules/bittensor/utils/balance.html index e84c18179a..4908cdf01c 100644 --- a/static/python-api/html/_modules/bittensor/utils/balance.html +++ b/static/python-api/html/_modules/bittensor/utils/balance.html @@ -149,7 +149,6 @@
                                                                                                                            • API Reference
                                                                                                                              • bittensor
                                                                                                                                @@ -1194,8 +1190,6 @@

                                                                                                                                Source code for bittensor.utils.balance

                                                                                                                                 
                                                                                                                                 
                                                                                                                                 
                                                                                                                                -
                                                                                                                                -[docs] def check_and_convert_to_balance( amount: Union[float, int, Optional[Balance]], ) -> Balance: @@ -1212,8 +1206,7 @@

                                                                                                                                Source code for bittensor.utils.balance

                                                                                                                                             stacklevel=2,
                                                                                                                                         )
                                                                                                                                         amount = tao(amount)
                                                                                                                                -    return amount
                                                                                                                                - + return amount
                                                                                                                                diff --git a/static/python-api/html/_modules/bittensor/utils/btlogging/console.html b/static/python-api/html/_modules/bittensor/utils/btlogging/console.html index 87ab515cf3..9e90ed9407 100644 --- a/static/python-api/html/_modules/bittensor/utils/btlogging/console.html +++ b/static/python-api/html/_modules/bittensor/utils/btlogging/console.html @@ -149,7 +149,6 @@
                                                                                                                              • API Reference
                                                                                                                                • bittensor
                                                                                                                                  diff --git a/static/python-api/html/_modules/bittensor/utils/btlogging/format.html b/static/python-api/html/_modules/bittensor/utils/btlogging/format.html index 77cd52e639..958d4fac3b 100644 --- a/static/python-api/html/_modules/bittensor/utils/btlogging/format.html +++ b/static/python-api/html/_modules/bittensor/utils/btlogging/format.html @@ -149,7 +149,6 @@
                                                                                                                                • API Reference
                                                                                                                                  • bittensor
                                                                                                                                    diff --git a/static/python-api/html/_modules/bittensor/utils/btlogging/helpers.html b/static/python-api/html/_modules/bittensor/utils/btlogging/helpers.html index a8dc0210be..cea4cb27c7 100644 --- a/static/python-api/html/_modules/bittensor/utils/btlogging/helpers.html +++ b/static/python-api/html/_modules/bittensor/utils/btlogging/helpers.html @@ -149,7 +149,6 @@
                                                                                                                                  • API Reference
                                                                                                                                    • bittensor
                                                                                                                                      diff --git a/static/python-api/html/_modules/bittensor/utils/btlogging/loggingmachine.html b/static/python-api/html/_modules/bittensor/utils/btlogging/loggingmachine.html index 8bc66f2781..4a4fe6f721 100644 --- a/static/python-api/html/_modules/bittensor/utils/btlogging/loggingmachine.html +++ b/static/python-api/html/_modules/bittensor/utils/btlogging/loggingmachine.html @@ -149,7 +149,6 @@
                                                                                                                                    • API Reference
                                                                                                                                      • bittensor
                                                                                                                                        diff --git a/static/python-api/html/_modules/bittensor/utils/easy_imports.html b/static/python-api/html/_modules/bittensor/utils/easy_imports.html deleted file mode 100644 index 68e7a3f113..0000000000 --- a/static/python-api/html/_modules/bittensor/utils/easy_imports.html +++ /dev/null @@ -1,725 +0,0 @@ - - - - - - - - - - bittensor.utils.easy_imports — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                        - - - - - - - - - -
                                                                                                                                        - -
                                                                                                                                        - - - - - -
                                                                                                                                        -
                                                                                                                                        - - - - - - - - -
                                                                                                                                        - - - -
                                                                                                                                        - -
                                                                                                                                        -
                                                                                                                                        - -
                                                                                                                                        -
                                                                                                                                        - -
                                                                                                                                        - -
                                                                                                                                        - -
                                                                                                                                        - - -
                                                                                                                                        - -
                                                                                                                                        - -
                                                                                                                                        - - - - - - - - - - - - - - - - - - - -
                                                                                                                                        - -
                                                                                                                                        - -
                                                                                                                                        -
                                                                                                                                        - - - -
                                                                                                                                        -

                                                                                                                                        - -
                                                                                                                                        -
                                                                                                                                        - -
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                        - - - - -
                                                                                                                                        - -

                                                                                                                                        Source code for bittensor.utils.easy_imports

                                                                                                                                        -"""
                                                                                                                                        -The Bittensor Compatibility Module is designed to ensure seamless integration and functionality with legacy versions of
                                                                                                                                        -the Bittensor framework, specifically up to and including version 7.3.0. This module addresses changes and deprecated
                                                                                                                                        -features in recent versions, allowing users to maintain compatibility with older systems and projects.
                                                                                                                                        -"""
                                                                                                                                        -
                                                                                                                                        -import importlib
                                                                                                                                        -import sys
                                                                                                                                        -
                                                                                                                                        -from bittensor_wallet import Keypair
                                                                                                                                        -from bittensor_wallet.errors import KeyFileError
                                                                                                                                        -from bittensor_wallet.keyfile import (
                                                                                                                                        -    serialized_keypair_to_keyfile_data,
                                                                                                                                        -    deserialize_keypair_from_keyfile_data,
                                                                                                                                        -    validate_password,
                                                                                                                                        -    ask_password_to_encrypt,
                                                                                                                                        -    keyfile_data_is_encrypted_nacl,
                                                                                                                                        -    keyfile_data_is_encrypted_ansible,
                                                                                                                                        -    keyfile_data_is_encrypted_legacy,
                                                                                                                                        -    keyfile_data_is_encrypted,
                                                                                                                                        -    keyfile_data_encryption_method,
                                                                                                                                        -    legacy_encrypt_keyfile_data,
                                                                                                                                        -    encrypt_keyfile_data,
                                                                                                                                        -    get_coldkey_password_from_environment,
                                                                                                                                        -    decrypt_keyfile_data,
                                                                                                                                        -    Keyfile,
                                                                                                                                        -)
                                                                                                                                        -from bittensor_wallet.wallet import display_mnemonic_msg, Wallet
                                                                                                                                        -
                                                                                                                                        -from bittensor.core import settings, timelock
                                                                                                                                        -from bittensor.core.async_subtensor import AsyncSubtensor
                                                                                                                                        -from bittensor.core.axon import Axon
                                                                                                                                        -from bittensor.core.chain_data import (
                                                                                                                                        -    AxonInfo,
                                                                                                                                        -    ChainIdentity,
                                                                                                                                        -    DelegateInfo,
                                                                                                                                        -    DelegateInfoLite,
                                                                                                                                        -    DynamicInfo,
                                                                                                                                        -    IPInfo,
                                                                                                                                        -    MetagraphInfo,
                                                                                                                                        -    MetagraphInfoEmissions,
                                                                                                                                        -    MetagraphInfoParams,
                                                                                                                                        -    MetagraphInfoPool,
                                                                                                                                        -    NeuronInfo,
                                                                                                                                        -    NeuronInfoLite,
                                                                                                                                        -    PrometheusInfo,
                                                                                                                                        -    ProposalCallData,
                                                                                                                                        -    ProposalVoteData,
                                                                                                                                        -    ScheduledColdkeySwapInfo,
                                                                                                                                        -    SelectiveMetagraphIndex,
                                                                                                                                        -    StakeInfo,
                                                                                                                                        -    SubnetHyperparameters,
                                                                                                                                        -    SubnetIdentity,
                                                                                                                                        -    SubnetInfo,
                                                                                                                                        -    SubnetState,
                                                                                                                                        -    WeightCommitInfo,
                                                                                                                                        -)
                                                                                                                                        -from bittensor.core.config import Config
                                                                                                                                        -from bittensor.core.dendrite import Dendrite
                                                                                                                                        -from bittensor.core.errors import (
                                                                                                                                        -    BlacklistedException,
                                                                                                                                        -    ChainConnectionError,
                                                                                                                                        -    ChainError,
                                                                                                                                        -    ChainQueryError,
                                                                                                                                        -    ChainTransactionError,
                                                                                                                                        -    DelegateTakeTooHigh,
                                                                                                                                        -    DelegateTakeTooLow,
                                                                                                                                        -    DelegateTxRateLimitExceeded,
                                                                                                                                        -    DuplicateChild,
                                                                                                                                        -    HotKeyAccountNotExists,
                                                                                                                                        -    IdentityError,
                                                                                                                                        -    InternalServerError,
                                                                                                                                        -    InvalidChild,
                                                                                                                                        -    InvalidRequestNameError,
                                                                                                                                        -    MetadataError,
                                                                                                                                        -    NominationError,
                                                                                                                                        -    NonAssociatedColdKey,
                                                                                                                                        -    NotDelegateError,
                                                                                                                                        -    NotEnoughStakeToSetChildkeys,
                                                                                                                                        -    NotRegisteredError,
                                                                                                                                        -    NotVerifiedException,
                                                                                                                                        -    PostProcessException,
                                                                                                                                        -    PriorityException,
                                                                                                                                        -    ProportionOverflow,
                                                                                                                                        -    RegistrationError,
                                                                                                                                        -    RegistrationNotPermittedOnRootSubnet,
                                                                                                                                        -    RunException,
                                                                                                                                        -    StakeError,
                                                                                                                                        -    SubNetworkDoesNotExist,
                                                                                                                                        -    SynapseDendriteNoneException,
                                                                                                                                        -    SynapseParsingError,
                                                                                                                                        -    TooManyChildren,
                                                                                                                                        -    TransferError,
                                                                                                                                        -    TxRateLimitExceeded,
                                                                                                                                        -    UnknownSynapseError,
                                                                                                                                        -    UnstakeError,
                                                                                                                                        -)
                                                                                                                                        -from bittensor.core.metagraph import Metagraph
                                                                                                                                        -from bittensor.core.settings import BLOCKTIME
                                                                                                                                        -from bittensor.core.stream import StreamingSynapse
                                                                                                                                        -from bittensor.core.subtensor import Subtensor
                                                                                                                                        -from bittensor.core.subtensor_api import SubtensorApi
                                                                                                                                        -from bittensor.core.synapse import TerminalInfo, Synapse
                                                                                                                                        -from bittensor.core.tensor import Tensor
                                                                                                                                        -from bittensor.core.threadpool import PriorityThreadPoolExecutor
                                                                                                                                        -from bittensor.utils import (
                                                                                                                                        -    ss58_to_vec_u8,
                                                                                                                                        -    version_checking,
                                                                                                                                        -    strtobool,
                                                                                                                                        -    get_explorer_url_for_network,
                                                                                                                                        -    ss58_address_to_bytes,
                                                                                                                                        -    u16_normalized_float,
                                                                                                                                        -    u64_normalized_float,
                                                                                                                                        -    get_hash,
                                                                                                                                        -)
                                                                                                                                        -from bittensor.utils.balance import Balance
                                                                                                                                        -from bittensor.utils.balance import tao, rao
                                                                                                                                        -from bittensor.utils.btlogging import logging
                                                                                                                                        -from bittensor.utils.mock.subtensor_mock import MockSubtensor
                                                                                                                                        -from bittensor.utils.subnets import SubnetsAPI
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                        -# Backwards compatibility with previous bittensor versions.
                                                                                                                                        -async_subtensor = AsyncSubtensor
                                                                                                                                        -axon = Axon
                                                                                                                                        -config = Config
                                                                                                                                        -dendrite = Dendrite
                                                                                                                                        -keyfile = Keyfile
                                                                                                                                        -metagraph = Metagraph
                                                                                                                                        -wallet = Wallet
                                                                                                                                        -subtensor = Subtensor
                                                                                                                                        -synapse = Synapse
                                                                                                                                        -
                                                                                                                                        -# Makes the `bittensor.utils.mock` subpackage available as `bittensor.mock` for backwards compatibility.
                                                                                                                                        -mock_subpackage = importlib.import_module("bittensor.utils.mock")
                                                                                                                                        -sys.modules["bittensor.mock"] = mock_subpackage
                                                                                                                                        -
                                                                                                                                        -# Makes the `bittensor.core.extrinsics` subpackage available as `bittensor.extrinsics` for backwards compatibility.
                                                                                                                                        -extrinsics_subpackage = importlib.import_module("bittensor.core.extrinsics")
                                                                                                                                        -sys.modules["bittensor.extrinsics"] = extrinsics_subpackage
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                        -# Logging helpers.
                                                                                                                                        -
                                                                                                                                        -[docs] -def trace(on: bool = True): - """ - Enables or disables trace logging. - Args: - on (bool): If True, enables trace logging. If False, disables trace logging. - """ - logging.set_trace(on)
                                                                                                                                        - - - -
                                                                                                                                        -[docs] -def debug(on: bool = True): - """ - Enables or disables debug logging. - Args: - on (bool): If True, enables debug logging. If False, disables debug logging. - """ - logging.set_debug(on)
                                                                                                                                        - - - -
                                                                                                                                        -[docs] -def warning(on: bool = True): - """ - Enables or disables warning logging. - Args: - on (bool): If True, enables warning logging. If False, disables warning logging and sets default (WARNING) level. - """ - logging.set_warning(on)
                                                                                                                                        - - - -
                                                                                                                                        -[docs] -def info(on: bool = True): - """ - Enables or disables info logging. - Args: - on (bool): If True, enables info logging. If False, disables info logging and sets default (WARNING) level. - """ - logging.set_info(on)
                                                                                                                                        - - - -__all__ = [ - "Keypair", - "KeyFileError", - "serialized_keypair_to_keyfile_data", - "deserialize_keypair_from_keyfile_data", - "validate_password", - "ask_password_to_encrypt", - "keyfile_data_is_encrypted_nacl", - "keyfile_data_is_encrypted_ansible", - "keyfile_data_is_encrypted_legacy", - "keyfile_data_is_encrypted", - "keyfile_data_encryption_method", - "legacy_encrypt_keyfile_data", - "encrypt_keyfile_data", - "get_coldkey_password_from_environment", - "decrypt_keyfile_data", - "Keyfile", - "display_mnemonic_msg", - "Wallet", - "settings", - "timelock", - "AsyncSubtensor", - "Axon", - "AxonInfo", - "ChainIdentity", - "DelegateInfo", - "DelegateInfoLite", - "DynamicInfo", - "IPInfo", - "MetagraphInfo", - "MetagraphInfoEmissions", - "MetagraphInfoParams", - "MetagraphInfoPool", - "NeuronInfo", - "NeuronInfoLite", - "PrometheusInfo", - "ProposalCallData", - "ProposalVoteData", - "ScheduledColdkeySwapInfo", - "SelectiveMetagraphIndex", - "StakeInfo", - "SubnetHyperparameters", - "SubnetIdentity", - "SubnetInfo", - "SubnetState", - "WeightCommitInfo", - "Config", - "Dendrite", - "BlacklistedException", - "ChainConnectionError", - "ChainError", - "ChainQueryError", - "ChainTransactionError", - "DelegateTakeTooHigh", - "DelegateTakeTooLow", - "DelegateTxRateLimitExceeded", - "DuplicateChild", - "HotKeyAccountNotExists", - "IdentityError", - "InternalServerError", - "InvalidChild", - "InvalidRequestNameError", - "MetadataError", - "NominationError", - "NonAssociatedColdKey", - "NotDelegateError", - "NotEnoughStakeToSetChildkeys", - "NotRegisteredError", - "NotVerifiedException", - "PostProcessException", - "PriorityException", - "ProportionOverflow", - "RegistrationError", - "RegistrationNotPermittedOnRootSubnet", - "RunException", - "StakeError", - "SubNetworkDoesNotExist", - "SynapseDendriteNoneException", - "SynapseParsingError", - "TooManyChildren", - "TransferError", - "TxRateLimitExceeded", - "UnknownSynapseError", - "UnstakeError", - "Metagraph", - "BLOCKTIME", - "StreamingSynapse", - "Subtensor", - "SubtensorApi", - "TerminalInfo", - "Synapse", - "Tensor", - "PriorityThreadPoolExecutor", - "ss58_to_vec_u8", - "version_checking", - "strtobool", - "get_explorer_url_for_network", - "ss58_address_to_bytes", - "u16_normalized_float", - "u64_normalized_float", - "get_hash", - "Balance", - "tao", - "rao", - "logging", - "MockSubtensor", - "SubnetsAPI", - "async_subtensor", - "axon", - "config", - "dendrite", - "keyfile", - "metagraph", - "wallet", - "subtensor", - "synapse", - "trace", - "debug", - "warning", - "info", - "mock_subpackage", - "extrinsics_subpackage", -] -
                                                                                                                                        - -
                                                                                                                                        - - - - - - -
                                                                                                                                        - -
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                        - -
                                                                                                                                        - - - - -
                                                                                                                                        -
                                                                                                                                        - - -
                                                                                                                                        - - -
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                        - - - - - -
                                                                                                                                        -
                                                                                                                                        - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/utils/formatting.html b/static/python-api/html/_modules/bittensor/utils/formatting.html index 41d8527b01..f41c6c31e0 100644 --- a/static/python-api/html/_modules/bittensor/utils/formatting.html +++ b/static/python-api/html/_modules/bittensor/utils/formatting.html @@ -149,7 +149,6 @@
                                                                                                                                      • API Reference
                                                                                                                                        • bittensor
                                                                                                                                          diff --git a/static/python-api/html/_modules/bittensor/utils/liquidity.html b/static/python-api/html/_modules/bittensor/utils/liquidity.html index 3cfa85425d..e11c1e8bc4 100644 --- a/static/python-api/html/_modules/bittensor/utils/liquidity.html +++ b/static/python-api/html/_modules/bittensor/utils/liquidity.html @@ -149,7 +149,6 @@
                                                                                                                                        • API Reference
                                                                                                                                          • bittensor
                                                                                                                                            diff --git a/static/python-api/html/_modules/bittensor/utils/networking.html b/static/python-api/html/_modules/bittensor/utils/networking.html index 686f6b9770..db005275f6 100644 --- a/static/python-api/html/_modules/bittensor/utils/networking.html +++ b/static/python-api/html/_modules/bittensor/utils/networking.html @@ -149,7 +149,6 @@
                                                                                                                                          • API Reference
                                                                                                                                            • bittensor
                                                                                                                                              diff --git a/static/python-api/html/_modules/bittensor/utils/registration/async_pow.html b/static/python-api/html/_modules/bittensor/utils/registration/async_pow.html index e8c8a36ed9..9c58e928d9 100644 --- a/static/python-api/html/_modules/bittensor/utils/registration/async_pow.html +++ b/static/python-api/html/_modules/bittensor/utils/registration/async_pow.html @@ -149,7 +149,6 @@
                                                                                                                                            • API Reference
                                                                                                                                              • bittensor
                                                                                                                                                diff --git a/static/python-api/html/_modules/bittensor/utils/registration/pow.html b/static/python-api/html/_modules/bittensor/utils/registration/pow.html index 70a89eecc2..698533ddf8 100644 --- a/static/python-api/html/_modules/bittensor/utils/registration/pow.html +++ b/static/python-api/html/_modules/bittensor/utils/registration/pow.html @@ -149,7 +149,6 @@
                                                                                                                                              • API Reference
                                                                                                                                                • bittensor
                                                                                                                                                  diff --git a/static/python-api/html/_modules/bittensor/utils/registration/register_cuda.html b/static/python-api/html/_modules/bittensor/utils/registration/register_cuda.html index 94e18d59b3..383b0fc995 100644 --- a/static/python-api/html/_modules/bittensor/utils/registration/register_cuda.html +++ b/static/python-api/html/_modules/bittensor/utils/registration/register_cuda.html @@ -149,7 +149,6 @@
                                                                                                                                                • API Reference
                                                                                                                                                  • bittensor
                                                                                                                                                    diff --git a/static/python-api/html/_modules/bittensor/utils/subnets.html b/static/python-api/html/_modules/bittensor/utils/subnets.html index d166f65e2e..7ea53c28d5 100644 --- a/static/python-api/html/_modules/bittensor/utils/subnets.html +++ b/static/python-api/html/_modules/bittensor/utils/subnets.html @@ -149,7 +149,6 @@
                                                                                                                                                  • API Reference
                                                                                                                                                    • bittensor
                                                                                                                                                      diff --git a/static/python-api/html/_modules/bittensor/utils/substrate_utils/hasher.html b/static/python-api/html/_modules/bittensor/utils/substrate_utils/hasher.html deleted file mode 100644 index 719b400775..0000000000 --- a/static/python-api/html/_modules/bittensor/utils/substrate_utils/hasher.html +++ /dev/null @@ -1,494 +0,0 @@ - - - - - - - - - - bittensor.utils.substrate_utils.hasher — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                      - - - - - - - - - -
                                                                                                                                                      - -
                                                                                                                                                      - - - - - -
                                                                                                                                                      -
                                                                                                                                                      - - - - - - - - -
                                                                                                                                                      - - - -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      - -
                                                                                                                                                      - -
                                                                                                                                                      - -
                                                                                                                                                      - - -
                                                                                                                                                      - -
                                                                                                                                                      - -
                                                                                                                                                      - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                      - -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      - - - -
                                                                                                                                                      -

                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      - - - - -
                                                                                                                                                      - -

                                                                                                                                                      Source code for bittensor.utils.substrate_utils.hasher

                                                                                                                                                      -"""Helper functions used to calculate keys for Substrate storage items"""
                                                                                                                                                      -
                                                                                                                                                      -from hashlib import blake2b
                                                                                                                                                      -
                                                                                                                                                      -import xxhash
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      -[docs] -def blake2_256(data): - """ - Helper function to calculate a 32 bytes Blake2b hash for provided data, used as key for Substrate storage items - """ - return blake2b(data, digest_size=32).digest()
                                                                                                                                                      - - - -
                                                                                                                                                      -[docs] -def blake2_128(data): - """ - Helper function to calculate a 16 bytes Blake2b hash for provided data, used as key for Substrate storage items - """ - return blake2b(data, digest_size=16).digest()
                                                                                                                                                      - - - -
                                                                                                                                                      -[docs] -def blake2_128_concat(data): - """ - Helper function to calculate a 16 bytes Blake2b hash for provided data, concatenated with data, used as key - for Substrate storage items - """ - return blake2b(data, digest_size=16).digest() + data
                                                                                                                                                      - - - -
                                                                                                                                                      -[docs] -def xxh128(data): - """ - Helper function to calculate a 2 concatenated xxh64 hash for provided data, used as key for several Substrate - """ - storage_key1 = bytearray(xxhash.xxh64(data, seed=0).digest()) - storage_key1.reverse() - - storage_key2 = bytearray(xxhash.xxh64(data, seed=1).digest()) - storage_key2.reverse() - - return storage_key1 + storage_key2
                                                                                                                                                      - - - -
                                                                                                                                                      -[docs] -def two_x64_concat(data): - """ - Helper function to calculate a xxh64 hash with concatenated data for provided data, - used as key for several Substrate - """ - storage_key = bytearray(xxhash.xxh64(data, seed=0).digest()) - storage_key.reverse() - - return storage_key + data
                                                                                                                                                      - - - -
                                                                                                                                                      -[docs] -def xxh64(data): - storage_key = bytearray(xxhash.xxh64(data, seed=0).digest()) - storage_key.reverse() - - return storage_key
                                                                                                                                                      - - - -
                                                                                                                                                      -[docs] -def identity(data): - return data
                                                                                                                                                      - -
                                                                                                                                                      - -
                                                                                                                                                      - - - - - - -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      - -
                                                                                                                                                      - - - - -
                                                                                                                                                      -
                                                                                                                                                      - - -
                                                                                                                                                      - - -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      - - - - - -
                                                                                                                                                      -
                                                                                                                                                      - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/utils/substrate_utils/storage.html b/static/python-api/html/_modules/bittensor/utils/substrate_utils/storage.html deleted file mode 100644 index 0596bb049e..0000000000 --- a/static/python-api/html/_modules/bittensor/utils/substrate_utils/storage.html +++ /dev/null @@ -1,709 +0,0 @@ - - - - - - - - - - bittensor.utils.substrate_utils.storage — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                      - - - - - - - - - -
                                                                                                                                                      - -
                                                                                                                                                      - - - - - -
                                                                                                                                                      -
                                                                                                                                                      - - - - - - - - -
                                                                                                                                                      - - - -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      - -
                                                                                                                                                      - -
                                                                                                                                                      - -
                                                                                                                                                      - - -
                                                                                                                                                      - -
                                                                                                                                                      - -
                                                                                                                                                      - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                      - -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      - - - -
                                                                                                                                                      -

                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      - - - - -
                                                                                                                                                      - -

                                                                                                                                                      Source code for bittensor.utils.substrate_utils.storage

                                                                                                                                                      -import binascii
                                                                                                                                                      -from typing import Any, Optional
                                                                                                                                                      -
                                                                                                                                                      -from scalecodec import ScaleBytes, GenericMetadataVersioned, ss58_decode
                                                                                                                                                      -from scalecodec.base import ScaleDecoder, RuntimeConfigurationObject, ScaleType
                                                                                                                                                      -
                                                                                                                                                      -from bittensor.core.errors import StorageFunctionNotFound
                                                                                                                                                      -from bittensor.utils.substrate_utils.hasher import (
                                                                                                                                                      -    blake2_256,
                                                                                                                                                      -    two_x64_concat,
                                                                                                                                                      -    xxh128,
                                                                                                                                                      -    blake2_128,
                                                                                                                                                      -    blake2_128_concat,
                                                                                                                                                      -    identity,
                                                                                                                                                      -)
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      -[docs] -class StorageKey: - """ - A StorageKey instance is a representation of a single state entry. - - Substrate uses a simple key-value data store implemented as a database-backed, modified Merkle tree. - All of Substrate's higher-level storage abstractions are built on top of this simple key-value store. - """ - - def __init__( - self, - pallet: Optional[str], - storage_function: Optional[str], - params: Optional[list], - data: Optional[bytes], - value_scale_type: Optional[str], - metadata: GenericMetadataVersioned, - runtime_config: RuntimeConfigurationObject, - ): - self.pallet = pallet - self.storage_function = storage_function - self.params = params - self.params_encoded = [] - self.data = data - self.metadata = metadata - self.runtime_config = runtime_config - self.value_scale_type = value_scale_type - self.metadata_storage_function = None - -
                                                                                                                                                      -[docs] - @classmethod - def create_from_data( - cls, - data: bytes, - runtime_config: RuntimeConfigurationObject, - metadata: GenericMetadataVersioned, - value_scale_type: str = None, - pallet: str = None, - storage_function: str = None, - ) -> "StorageKey": - """ - Create a StorageKey instance providing raw storage key bytes - - Args: - data: bytes representation of the storage key - runtime_config: RuntimeConfigurationObject - metadata: GenericMetadataVersioned - value_scale_type: type string of to decode result data - pallet: name of pallet - storage_function: name of storage function - - Returns: - StorageKey - """ - if not value_scale_type and pallet and storage_function: - metadata_pallet = metadata.get_metadata_pallet(pallet) - - if not metadata_pallet: - raise StorageFunctionNotFound(f'Pallet "{pallet}" not found') - - storage_item = metadata_pallet.get_storage_function(storage_function) - - if not storage_item: - raise StorageFunctionNotFound( - f'Storage function "{pallet}.{storage_function}" not found' - ) - - # Process specific type of storage function - value_scale_type = storage_item.get_value_type_string() - - return cls( - pallet=None, - storage_function=None, - params=None, - data=data, - metadata=metadata, - value_scale_type=value_scale_type, - runtime_config=runtime_config, - )
                                                                                                                                                      - - -
                                                                                                                                                      -[docs] - @classmethod - def create_from_storage_function( - cls, - pallet: str, - storage_function: str, - params: list, - runtime_config: RuntimeConfigurationObject, - metadata: GenericMetadataVersioned, - ) -> "StorageKey": - """ - Create a StorageKey instance providing storage function details - - Args: - pallet: name of pallet - storage_function: name of storage function - params: Optional list of parameters in case of a Mapped storage function - runtime_config: RuntimeConfigurationObject - metadata: GenericMetadataVersioned - - Returns: - StorageKey - """ - storage_key_obj = cls( - pallet=pallet, - storage_function=storage_function, - params=params, - data=None, - runtime_config=runtime_config, - metadata=metadata, - value_scale_type=None, - ) - - storage_key_obj.generate() - - return storage_key_obj
                                                                                                                                                      - - -
                                                                                                                                                      -[docs] - def convert_storage_parameter(self, scale_type: str, value: Any): - if type(value) is bytes: - value = f"0x{value.hex()}" - - if scale_type == "AccountId": - if value[0:2] != "0x": - return "0x{}".format( - ss58_decode(value, self.runtime_config.ss58_format) - ) - - return value
                                                                                                                                                      - - -
                                                                                                                                                      -[docs] - def to_hex(self) -> Optional[str]: - """ - Returns a Hex-string representation of current StorageKey data - - Returns: - Hex string - """ - if self.data: - return f"0x{self.data.hex()}"
                                                                                                                                                      - - -
                                                                                                                                                      -[docs] - def generate(self) -> bytes: - """ - Generate a storage key for current specified pallet/function/params - """ - - # Search storage call in metadata - metadata_pallet = self.metadata.get_metadata_pallet(self.pallet) - - if not metadata_pallet: - raise StorageFunctionNotFound(f'Pallet "{self.pallet}" not found') - - self.metadata_storage_function = metadata_pallet.get_storage_function( - self.storage_function - ) - - if not self.metadata_storage_function: - raise StorageFunctionNotFound( - f'Storage function "{self.pallet}.{self.storage_function}" not found' - ) - - # Process specific type of storage function - self.value_scale_type = self.metadata_storage_function.get_value_type_string() - param_types = self.metadata_storage_function.get_params_type_string() - - hashers = self.metadata_storage_function.get_param_hashers() - - storage_hash = xxh128( - metadata_pallet.value["storage"]["prefix"].encode() - ) + xxh128(self.storage_function.encode()) - - # Encode parameters - self.params_encoded = [] - if self.params: - for idx, param in enumerate(self.params): - if type(param) is ScaleBytes: - # Already encoded - self.params_encoded.append(param) - else: - param = self.convert_storage_parameter(param_types[idx], param) - param_obj = self.runtime_config.create_scale_object( - type_string=param_types[idx] - ) - self.params_encoded.append(param_obj.encode(param)) - - for idx, param in enumerate(self.params_encoded): - # Get hasher associated with param - try: - param_hasher = hashers[idx] - except IndexError: - raise ValueError(f"No hasher found for param #{idx + 1}") - - params_key = bytes() - - # Convert param to bytes - if type(param) is str: - params_key += binascii.unhexlify(param) - elif type(param) is ScaleBytes: - params_key += param.data - elif isinstance(param, ScaleDecoder): - params_key += param.data.data - - if not param_hasher: - param_hasher = "Twox128" - - if param_hasher == "Blake2_256": - storage_hash += blake2_256(params_key) - - elif param_hasher == "Blake2_128": - storage_hash += blake2_128(params_key) - - elif param_hasher == "Blake2_128Concat": - storage_hash += blake2_128_concat(params_key) - - elif param_hasher == "Twox128": - storage_hash += xxh128(params_key) - - elif param_hasher == "Twox64Concat": - storage_hash += two_x64_concat(params_key) - - elif param_hasher == "Identity": - storage_hash += identity(params_key) - - else: - raise ValueError('Unknown storage hasher "{}"'.format(param_hasher)) - - self.data = storage_hash - - return self.data
                                                                                                                                                      - - -
                                                                                                                                                      -[docs] - def decode_scale_value(self, data: Optional[ScaleBytes] = None) -> ScaleType: - result_found = False - - if data is not None: - change_scale_type = self.value_scale_type - result_found = True - elif self.metadata_storage_function.value["modifier"] == "Default": - # Fallback to default value of storage function if no result - change_scale_type = self.value_scale_type - data = ScaleBytes( - self.metadata_storage_function.value_object["default"].value_object - ) - else: - # No result is interpreted as an Option<...> result - change_scale_type = f"Option<{self.value_scale_type}>" - data = ScaleBytes( - self.metadata_storage_function.value_object["default"].value_object - ) - - # Decode SCALE result data - updated_obj = self.runtime_config.create_scale_object( - type_string=change_scale_type, data=data, metadata=self.metadata - ) - updated_obj.decode() - updated_obj.meta_info = {"result_found": result_found} - - return updated_obj
                                                                                                                                                      - - - def __repr__(self): - if self.pallet and self.storage_function: - return f"<StorageKey(pallet={self.pallet}, storage_function={self.storage_function}, params={self.params})>" - elif self.data: - return f"<StorageKey(data=0x{self.data.hex()})>" - else: - return repr(self)
                                                                                                                                                      - -
                                                                                                                                                      - -
                                                                                                                                                      - - - - - - -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      - -
                                                                                                                                                      - - - - -
                                                                                                                                                      -
                                                                                                                                                      - - -
                                                                                                                                                      - - -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      - - - - - -
                                                                                                                                                      -
                                                                                                                                                      - - \ No newline at end of file diff --git a/static/python-api/html/_modules/bittensor/utils/weight_utils.html b/static/python-api/html/_modules/bittensor/utils/weight_utils.html index 513b9e4df9..628e716366 100644 --- a/static/python-api/html/_modules/bittensor/utils/weight_utils.html +++ b/static/python-api/html/_modules/bittensor/utils/weight_utils.html @@ -149,7 +149,6 @@
                                                                                                                                                    • API Reference
                                                                                                                                                      • bittensor
                                                                                                                                                        diff --git a/static/python-api/html/_modules/index.html b/static/python-api/html/_modules/index.html index ad9699d65f..4cc4acac28 100644 --- a/static/python-api/html/_modules/index.html +++ b/static/python-api/html/_modules/index.html @@ -149,7 +149,6 @@
                                                                                                                                                      • API Reference
                                                                                                                                                        • bittensor
                                                                                                                                                          @@ -342,7 +338,6 @@

                                                                                                                                                          All modules for which code is available

                                                                                                                                                          • async_substrate_interface.errors
                                                                                                                                                          • async_substrate_interface.utils
                                                                                                                                                          • -
                                                                                                                                                          • bittensor.core.async_subtensor
                                                                                                                                                          • bittensor.core.axon
                                                                                                                                                          • bittensor.core.chain_data.axon_info
                                                                                                                                                          • bittensor.core.chain_data.chain_identity
                                                                                                                                                          • @@ -368,7 +363,6 @@

                                                                                                                                                            All modules for which code is available

                                                                                                                                                          • bittensor.core.dendrite
                                                                                                                                                          • bittensor.core.errors
                                                                                                                                                          • bittensor.core.extrinsics.asyncex.children
                                                                                                                                                          • -
                                                                                                                                                          • bittensor.core.extrinsics.asyncex.commit_reveal
                                                                                                                                                          • bittensor.core.extrinsics.asyncex.liquidity
                                                                                                                                                          • bittensor.core.extrinsics.asyncex.move_stake
                                                                                                                                                          • bittensor.core.extrinsics.asyncex.registration
                                                                                                                                                          • @@ -376,44 +370,26 @@

                                                                                                                                                            All modules for which code is available

                                                                                                                                                          • bittensor.core.extrinsics.asyncex.serving
                                                                                                                                                          • bittensor.core.extrinsics.asyncex.staking
                                                                                                                                                          • bittensor.core.extrinsics.asyncex.start_call
                                                                                                                                                          • -
                                                                                                                                                          • bittensor.core.extrinsics.asyncex.take
                                                                                                                                                          • bittensor.core.extrinsics.asyncex.transfer
                                                                                                                                                          • bittensor.core.extrinsics.asyncex.unstaking
                                                                                                                                                          • bittensor.core.extrinsics.asyncex.weights
                                                                                                                                                          • bittensor.core.extrinsics.children
                                                                                                                                                          • -
                                                                                                                                                          • bittensor.core.extrinsics.commit_reveal
                                                                                                                                                          • -
                                                                                                                                                          • bittensor.core.extrinsics.commit_weights
                                                                                                                                                          • bittensor.core.extrinsics.liquidity
                                                                                                                                                          • bittensor.core.extrinsics.move_stake
                                                                                                                                                          • bittensor.core.extrinsics.registration
                                                                                                                                                          • bittensor.core.extrinsics.root
                                                                                                                                                          • bittensor.core.extrinsics.serving
                                                                                                                                                          • -
                                                                                                                                                          • bittensor.core.extrinsics.set_weights
                                                                                                                                                          • bittensor.core.extrinsics.staking
                                                                                                                                                          • bittensor.core.extrinsics.start_call
                                                                                                                                                          • -
                                                                                                                                                          • bittensor.core.extrinsics.take
                                                                                                                                                          • bittensor.core.extrinsics.transfer
                                                                                                                                                          • bittensor.core.extrinsics.unstaking
                                                                                                                                                          • bittensor.core.extrinsics.utils
                                                                                                                                                          • bittensor.core.metagraph
                                                                                                                                                          • bittensor.core.stream
                                                                                                                                                          • bittensor.core.subtensor
                                                                                                                                                          • -
                                                                                                                                                          • bittensor.core.subtensor_api
                                                                                                                                                          • -
                                                                                                                                                          • bittensor.core.synapse
                                                                                                                                                          • +
                                                                                                                                                          • bittensor.core.synapse
                                                                                                                                                          • bittensor.core.tensor
                                                                                                                                                          • bittensor.core.threadpool
                                                                                                                                                          • -
                                                                                                                                                          • bittensor.core.timelock
                                                                                                                                                          • bittensor.core.types
                                                                                                                                                          • bittensor.utils
                                                                                                                                                          • builtins
                                                                                                                                                          • scalecodec.utils.ss58
                                                                                                                                                          • diff --git a/static/python-api/html/_modules/scalecodec/utils/ss58.html b/static/python-api/html/_modules/scalecodec/utils/ss58.html index 7369f7940e..45d7eed11e 100644 --- a/static/python-api/html/_modules/scalecodec/utils/ss58.html +++ b/static/python-api/html/_modules/scalecodec/utils/ss58.html @@ -149,7 +149,6 @@
                                                                                                                                                          • API Reference
                                                                                                                                                            • bittensor
                                                                                                                                                              diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/async_subtensor/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/async_subtensor/index.rst deleted file mode 100644 index 92e2cb8252..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/async_subtensor/index.rst +++ /dev/null @@ -1,3230 +0,0 @@ -bittensor.core.async_subtensor -============================== - -.. py:module:: bittensor.core.async_subtensor - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.async_subtensor.AsyncSubtensor - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.async_subtensor.get_async_subtensor - - -Module Contents ---------------- - -.. py:class:: AsyncSubtensor(network = None, config = None, log_verbose = False, fallback_endpoints = None, retry_forever = False, _mock = False, archive_endpoints = None, websocket_shutdown_timer = 5.0) - - Bases: :py:obj:`bittensor.core.types.SubtensorMixin` - - - Asynchronous interface for interacting with the Bittensor blockchain. - - This class provides a thin layer over the Substrate Interface, offering a collection of frequently-used calls for - querying blockchain data, managing stakes, registering neurons, and interacting with the Bittensor network. - - - - Initializes an AsyncSubtensor instance for blockchain interaction. - - :param network: The network name or type to connect to (e.g., "finney", "test"). If ``None``, uses the default - network from config. - :param config: Configuration object for the AsyncSubtensor instance. If ``None``, uses the default configuration. - :param log_verbose: Enables or disables verbose logging. Defaults to ``False``. - :param fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. - Defaults to ``None``. - :param retry_forever: Whether to retry forever on connection errors. Defaults to ``False``. - :param _mock: Whether this is a mock instance. Mainly for testing purposes. Defaults to ``False``. - :param archive_endpoints: Similar to fallback_endpoints, but specifically only archive nodes. Will be used in - cases where you are requesting a block that is too old for your current (presumably lite) node. - Defaults to ``None``. - :param websocket_shutdown_timer: Amount of time, in seconds, to wait after the last response from the chain to - close the connection. Defaults to ``5.0``. - - :returns: None - - :raises ConnectionError: If unable to connect to the specified network. - :raises ValueError: If invalid network or configuration parameters are provided. - :raises Exception: Any other exceptions raised during setup or configuration. - - Typical usage example: - - import bittensor as bt - import asyncio - - async def main(): - async with bt.AsyncSubtensor(network="finney") as subtensor: - block_hash = await subtensor.get_block_hash() - - asyncio.run(main()) - - - .. py:method:: add_liquidity(wallet, netuid, liquidity, price_low, price_high, hotkey = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Adds liquidity to the specified price range. - - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param liquidity: The amount of liquidity to be added. - :param price_low: The lower bound of the price tick range. In TAO. - :param price_high: The upper bound of the price tick range. In TAO. - :param hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to - `None`. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call ``toggle_user_liquidity`` - method to enable/disable user liquidity. - - - - .. py:method:: add_stake(wallet, hotkey_ss58 = None, netuid = None, amount = None, wait_for_inclusion = True, wait_for_finalization = False, safe_staking = False, allow_partial_stake = False, rate_tolerance = 0.005, period = None) - :async: - - - Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified - subnet. Staking is a fundamental process in the Bittensor network that enables neurons to participate actively - and earn incentives. - - :param wallet: The wallet to be used for staking. - :param hotkey_ss58: The SS58 address of the hotkey associated with the neuron to which you intend to delegate your - stake. If not specified, the wallet's hotkey will be used. Defaults to ``None``. - :param netuid: The unique identifier of the subnet to which the neuron belongs. - :param amount: The amount of TAO to stake. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `True`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. - :param safe_staking: If true, enables price safety checks to protect against fluctuating prices. The stake will - only execute if the price change doesn't exceed the rate tolerance. Default is ``False``. - :param allow_partial_stake: If true and safe_staking is enabled, allows partial staking when the full amount would - exceed the price tolerance. If false, the entire stake fails if it would exceed the tolerance. - Default is ``False``. - :param rate_tolerance: The maximum allowed price change ratio when staking. For example, 0.005 = 0.5% maximum price - increase. Only used when safe_staking is True. Default is ``0.005``. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. Defaults to ``None``. - - :returns: ``True`` if the staking is successful, ``False`` otherwise. - :rtype: bool - - This function enables neurons to increase their stake in the network, enhancing their influence and potential. - When safe_staking is enabled, it provides protection against price fluctuations during the time stake is - executed and the time it is actually processed by the chain. - - - - .. py:method:: add_stake_multiple(wallet, hotkey_ss58s, netuids, amounts = None, wait_for_inclusion = True, wait_for_finalization = False) - :async: - - - Adds stakes to multiple neurons identified by their hotkey SS58 addresses. - This bulk operation allows for efficient staking across different neurons from a single wallet. - - :param wallet: The wallet used for staking. - :param hotkey_ss58s: List of ``SS58`` addresses of hotkeys to stake to. - :param netuids: list of subnet UIDs. - :param amounts: Corresponding amounts of TAO to stake for each hotkey. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `True`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. - - :returns: ``True`` if the staking is successful for all specified neurons, ``False`` otherwise. - :rtype: bool - - This function is essential for managing stakes across multiple neurons, reflecting the dynamic and collaborative - nature of the Bittensor network. - - - - .. py:method:: all_subnets(block_number = None, block_hash = None, reuse_block = False) - :async: - - - Queries the blockchain for comprehensive information about all subnets, including their dynamic parameters - and operational status. - - :param block_number: The block number to query the subnet information from. Do not specify if using block_hash or - reuse_block. - :param block_hash: The hash of the blockchain block number for the query. Do not specify if using reuse_block or - block. - :param reuse_block: Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or block. - - :returns: A list of DynamicInfo objects, each containing detailed information about a - subnet, or None if the query fails. - :rtype: Optional[list[DynamicInfo]] - - .. admonition:: Example - - # Get all subnets at current block - subnets = await subtensor.all_subnets() - - - - .. py:property:: block - - Provides an asynchronous property to retrieve the current block. - - - .. py:method:: blocks_since_last_step(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Queries the blockchain to determine how many blocks have passed since the last epoch step for a specific - subnet. - - :param netuid: The unique identifier of the subnetwork. - :param block: The block number for this query. Do not specify if using block_hash or reuse_block. - :param block_hash: The hash of the blockchain block number for the query. Do not specify if using reuse_block or - block. - :param reuse_block: Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or block. - - :returns: The number of blocks since the last step in the subnet, or None if the query fails. - - .. admonition:: Example - - # Get blocks since last step for subnet 1 - blocks = await subtensor.blocks_since_last_step(netuid=1) - - # Get blocks since last step at specific block - blocks = await subtensor.blocks_since_last_step(netuid=1, block=1000000) - - - - .. py:method:: blocks_since_last_update(netuid, uid) - :async: - - - Returns the number of blocks since the last update, or ``None`` if the subnetwork or UID does not exist. - - :param netuid: The unique identifier of the subnetwork. - :param uid: The unique identifier of the neuron. - - :returns: The number of blocks since the last update, or None if the subnetwork or UID does not exist. - :rtype: Optional[int] - - .. admonition:: Example - - # Get blocks since last update for UID 5 in subnet 1 - blocks = await subtensor.blocks_since_last_update(netuid=1, uid=5) - - # Check if neuron needs updating - blocks_since_update = await subtensor.blocks_since_last_update(netuid=1, uid=10) - - - - .. py:method:: bonds(netuid, block = None, block_hash = None, reuse_block = False, mechid = 0) - :async: - - - Retrieves the bond distribution set by subnet validators within a specific subnet. - - Bonds represent the "investment" a subnet validator has made in evaluating a specific subnet miner. This - bonding mechanism is integral to the Yuma Consensus' design intent of incentivizing high-quality performance - by subnet miners, and honest evaluation by subnet validators. - - :param netuid: Subnet identifier. - :param block: The block number for this query. Do not specify if using block_hash or reuse_block. - :param block_hash: The hash of the block for the query. Do not specify if using reuse_block or block. - :param reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. - :param mechid: Subnet mechanism identifier. - - :returns: List of tuples mapping each neuron's UID to its bonds with other neurons. - - .. admonition:: Example - - # Get bonds for subnet 1 at block 1000000 - bonds = await subtensor.bonds(netuid=1, block=1000000) - - .. admonition:: Notes - - - See - - See - - - - .. py:method:: burned_register(wallet, netuid, wait_for_inclusion = False, wait_for_finalization = True, period = None) - :async: - - - Registers a neuron on the Bittensor network by recycling TAO. This method of registration involves recycling - TAO tokens, allowing them to be re-mined by performing work on the network. - - :param wallet: The wallet associated with the neuron to be registered. - :param netuid: The unique identifier of the subnet. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to - ``False``. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - :returns: `True` if the registration is successful, False otherwise. - :rtype: bool - - - - .. py:method:: close() - :async: - - - Closes the connection to the blockchain. - - Use this to explicitly clean up resources and close the network connection instead of waiting for garbage - collection. - - :returns: None - - .. admonition:: Example - - subtensor = AsyncSubtensor(network="finney") - await subtensor.initialize() - - # Use the subtensor... - balance = await subtensor.get_balance(address="5F...") - - # Close when done - await subtensor.close() - - - - .. py:method:: commit(wallet, netuid, data, period = None) - :async: - - - Commits arbitrary data to the Bittensor network by publishing metadata. - - This method allows neurons to publish arbitrary data to the blockchain, which can be used for various purposes - such as sharing model updates, configuration data, or other network-relevant information. - - :param wallet: The wallet associated with the neuron committing the data. - :param netuid: The unique identifier of the subnet. - :param data: The data to be committed to the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - - :returns: True if the commit was successful, False otherwise. - :rtype: bool - - .. admonition:: Example - - # Commit some data to subnet 1 - success = await subtensor.commit(wallet=my_wallet, netuid=1, data="Hello Bittensor!") - - # Commit with custom period - success = await subtensor.commit(wallet=my_wallet, netuid=1, data="Model update v2.0", period=100) - - Note: See - - - - .. py:method:: commit_reveal_enabled(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Check if commit-reveal mechanism is enabled for a given subnet at a specific block. - - The commit reveal feature is designed to solve the weight-copying problem by giving would-be weight-copiers - access only to stale weights. Copying stale weights should result in subnet validators departing from consensus. - - :param netuid: The unique identifier of the subnet for which to check the commit-reveal mechanism. - :param block: The block number to query. Do not specify if using block_hash or reuse_block. - :param block_hash: The block hash at which to check the parameter. Do not set if using block or reuse_block. - :param reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. - - :returns: True if commit-reveal mechanism is enabled, False otherwise. - :rtype: bool - - .. admonition:: Example - - # Check if commit-reveal is enabled for subnet 1 - enabled = await subtensor.commit_reveal_enabled(netuid=1) - - # Check at specific block - enabled = await subtensor.commit_reveal_enabled(netuid=1, block=1000000) - - .. admonition:: Notes - - See also: - - - - .. py:method:: commit_weights(wallet, netuid, salt, uids, weights, version_key = version_as_int, wait_for_inclusion = False, wait_for_finalization = False, max_retries = 5, period = 16, mechid = 0) - :async: - - - Commits a hash of the subnet validator's weight vector to the Bittensor blockchain using the provided wallet. - This action serves as a commitment or snapshot of the validator's current weight distribution. - - :param wallet: The wallet associated with the subnet validator committing the weights. - :param netuid: The unique identifier of the subnet. - :param salt: list of randomly generated integers as salt to generated weighted hash. - :param uids: NumPy array of subnet miner neuron UIDs for which weights are being committed. - :param weights: of weight values corresponding toon_key - :param version_key: Integer representation of version key for compatibility with the network. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is - `False`. - :param max_retries: The number of maximum attempts to commit weights. Default is `5`. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :param mechid: The subnet mechanism unique identifier. - - :returns: `True` if the weight commitment is successful, False otherwise. - `msg` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - This function allows subnet validators to create a tamper-proof record of their weight vector at a specific - point in time, creating a foundation of transparency and accountability for the Bittensor network. - - .. admonition:: Notes - - See also: , - - - - .. py:method:: determine_block_hash(block, block_hash = None, reuse_block = False) - :async: - - - Determine the appropriate block hash based on the provided parameters. - - Ensures that only one of the block specification parameters is used and returns the appropriate block hash - for blockchain queries. - - :param block: The block number to get the hash for. Do not specify if using block_hash or reuse_block. - :param block_hash: The hash of the blockchain block. Do not specify if using block or reuse_block. - :param reuse_block: Whether to reuse the last-used block hash. Do not set if using block or reuse_block. - - :returns: The block hash if one can be determined, None otherwise. - :rtype: Optional[str] - - :raises ValueError: If more than one of block, block_hash, or reuse_block is specified. - - .. admonition:: Example - - # Get hash for specific block - block_hash = await subtensor.determine_block_hash(block=1000000) - - # Use provided block hash - hash = await subtensor.determine_block_hash(block_hash="0x1234...") - - # Reuse last block hash - hash = await subtensor.determine_block_hash(reuse_block=True) - - - - .. py:method:: difficulty(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the 'Difficulty' hyperparameter for a specified subnet in the Bittensor network. - - This parameter determines the computational challenge required for neurons to participate in consensus and - validation processes. The difficulty directly impacts the network's security and integrity by setting the - computational effort required for validating transactions and participating in the network's consensus - mechanism. - - :param netuid: The unique identifier of the subnet. - :param block: The block number for the query. Do not specify if using block_hash or reuse_block. - :param block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - :returns: The value of the 'Difficulty' hyperparameter if the subnet exists, None otherwise. - :rtype: Optional[int] - - .. admonition:: Example - - # Get difficulty for subnet 1 - difficulty = await subtensor.difficulty(netuid=1) - - # Get difficulty at specific block - difficulty = await subtensor.difficulty(netuid=1, block=1000000) - - .. admonition:: Notes - - See also: - - - - .. py:method:: does_hotkey_exist(hotkey_ss58, block = None, block_hash = None, reuse_block = False) - :async: - - - Returns true if the hotkey is known by the chain and there are accounts. - - This method queries the SubtensorModule's Owner storage function to determine if the hotkey is registered. - - :param hotkey_ss58: The SS58 address of the hotkey. - :param block: The block number for this query. Do not specify if using block_hash or reuse_block. - :param block_hash: The hash of the block number to check the hotkey against. Do not specify if using reuse_block - or block. - :param reuse_block: Whether to reuse the last-used blockchain hash. Do not set if using block_hash or block. - - :returns: True if the hotkey is known by the chain and there are accounts, False otherwise. - :rtype: bool - - .. admonition:: Example - - # Check if hotkey exists - exists = await subtensor.does_hotkey_exist(hotkey_ss58="5F...") - - # Check at specific block - exists = await subtensor.does_hotkey_exist(hotkey_ss58="5F...", block=1000000) - - - - .. py:method:: encode_params(call_definition, params) - :async: - - - Encodes parameters into a hex string using their type definitions. - - This method takes a call definition (which specifies parameter types) and actual parameter values, then - encodes them into a hex string that can be used for blockchain transactions. - - :param call_definition: A dictionary containing parameter type definitions. Should have a "params" key with a - list of parameter definitions. - :param params: The actual parameter values to encode. Can be either a list (for positional parameters) or a - dictionary (for named parameters). - - :returns: A hex-encoded string representation of the parameters. - :rtype: str - - :raises ValueError: If a required parameter is missing from the params dictionary. - - .. admonition:: Example - - # Define parameter types - call_def = { - "params": [ - {"name": "amount", "type": "u64"}, - {"name": "coldkey_ss58", "type": "str"} - ] - } - - # Encode parameters as a dictionary - params_dict = { - "amount": 1000000, - "coldkey_ss58": "5F..." - } - encoded = await subtensor.encode_params(call_definition=call_def, params=params_dict) - - # Or encode as a list (positional) - params_list = [1000000, "5F..."] - encoded = await subtensor.encode_params(call_definition=call_def, params=params_list) - - - - .. py:method:: filter_netuids_by_registered_hotkeys(all_netuids, filter_for_netuids, all_hotkeys, block = None, block_hash = None, reuse_block = False) - :async: - - - Filters a given list of all netuids for certain specified netuids and hotkeys - - :param all_netuids: A list of netuids to filter. - :param filter_for_netuids: A subset of all_netuids to filter from the main list. - :param all_hotkeys: Hotkeys to filter from the main list. - :param block: The blockchain block number for the query. - :param block_hash: hash of the blockchain block number at which to perform the query. - :param reuse_block: whether to reuse the last-used blockchain hash when retrieving info. - - :returns: The filtered list of netuids. - - - - .. py:method:: get_admin_freeze_window(block = None, block_hash = None, reuse_block = False) - :async: - - - Returns the number of blocks when dependent transactions will be frozen for execution. - - :param block: The block number at which to retrieve the hyperparameter. Do not specify if using block_hash or - reuse_block. - :param block_hash: The hash of the blockchain block for the query. Do not specify if using block or reuse_block. - :param reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. - - :returns: AdminFreezeWindow as integer. The number of blocks are frozen. - - - - .. py:method:: get_all_commitments(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the on-chain commitments for a specific subnet in the Bittensor network. - - This method retrieves all commitment data for all neurons in a specific subnet. This is useful for analyzing the - commit-reveal patterns across an entire subnet. - - :param netuid: The unique identifier of the subnetwork. - :param block: The block number to retrieve the commitment from. If None, the latest block is used. - Default is None. - :param block_hash: The hash of the block to retrieve the subnet unique identifiers from. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: A mapping of the ss58:commitment with the commitment as a string. - :rtype: dict[str, str] - - .. admonition:: Example - - # Get all commitments for subnet 1 - commitments = await subtensor.get_all_commitments(netuid=1) - - # Iterate over all commitments - for hotkey, commitment in commitments.items(): - print(f"Hotkey {hotkey}: {commitment}") - - - - .. py:method:: get_all_metagraphs_info(block = None, block_hash = None, reuse_block = False, all_mechanisms = False) - :async: - - - Retrieves a list of MetagraphInfo objects for all subnets - - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number at which to perform the query. - :param reuse_block: Whether to reuse the last-used block hash when retrieving info. - :param all_mechanisms: If True then returns all mechanisms, otherwise only those with index 0 for all subnets. - - :returns: List of MetagraphInfo objects for all existing subnets. - - .. admonition:: Notes - - See also: See - - - - .. py:method:: get_all_neuron_certificates(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the TLS certificates for neurons within a specified subnet (netuid) of the Bittensor network. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - :returns: Certificate} for the key/Certificate pairs on the subnet - :rtype: {ss58 - - This function is used for certificate discovery for setting up mutual tls communication between neurons. - - - - .. py:method:: get_all_revealed_commitments(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Returns all revealed commitments for a given netuid. - - :param netuid: The unique identifier of the subnetwork. - :param block: The block number to retrieve the commitment from. Default is ``None``. - :param block_hash: The hash of the block to retrieve the subnet unique identifiers from. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: A dictionary of all revealed commitments in view {ss58_address: (reveal block, commitment message)}. - :rtype: result - - Example of result: - { - "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY": ( (12, "Alice message 1"), (152, "Alice message 2") ), - "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty": ( (12, "Bob message 1"), (147, "Bob message 2") ), - } - - - - .. py:method:: get_all_subnets_info(block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves detailed information about all subnets within the Bittensor network. - - This function provides comprehensive data on each subnet, including its characteristics and operational - parameters. - - :param block: The block number for the query. - :param block_hash: The block hash for the query. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: A list of SubnetInfo objects, each containing detailed information about a subnet. - :rtype: list[SubnetInfo] - - .. admonition:: Example - - # Get all subnet information - subnets = await subtensor.get_all_subnets_info() - - # Get at specific block - subnets = await subtensor.get_all_subnets_info(block=1000000) - - # Iterate over subnet information - for subnet in subnets: - print(f"Subnet {subnet.netuid}: {subnet.name}") - - .. note:: - - Gaining insights into the subnets' details assists in understanding the network's composition, the roles - of different subnets, and their unique features. - - .. admonition:: Notes - - See also: - - - - .. py:method:: get_balance(address, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the balance for given coldkey. - - This method queries the System module's Account storage to get the current balance of a coldkey address. The - balance represents the amount of TAO tokens held by the specified address. - - :param address: The coldkey address in SS58 format. - :param block: The block number for the query. - :param block_hash: The block hash for the query. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: The balance object containing the account's TAO balance. - :rtype: Balance - - .. admonition:: Example - - # Get balance for an address - balance = await subtensor.get_balance(address="5F...") - print(f"Balance: {balance.tao} TAO") - - # Get balance at specific block - balance = await subtensor.get_balance(address="5F...", block=1000000) - - - - .. py:method:: get_balances(*addresses, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the balance for given coldkey(s). - - This method efficiently queries multiple coldkey addresses in a single batch operation, returning a dictionary - mapping each address to its corresponding balance. This is more efficient than calling get_balance multiple - times. - - :param \*addresses: Variable number of coldkey addresses in SS58 format. - :param block: The block number for the query. - :param block_hash: The block hash for the query. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: A dictionary mapping each address to its Balance object. - :rtype: dict[str, Balance] - - .. admonition:: Example - - # Get balances for multiple addresses - balances = await subtensor.get_balances("5F...", "5G...", "5H...") - - - - .. py:method:: get_block_hash(block = None) - :async: - - - Retrieves the hash of a specific block on the Bittensor blockchain. - - The block hash is a unique identifier representing the cryptographic hash of the block's content, ensuring its - integrity and immutability. It is a fundamental aspect of blockchain technology, providing a secure reference - to each block's data. It is crucial for verifying transactions, ensuring data consistency, and maintaining the - trustworthiness of the blockchain. - - :param block: The block number for which the hash is to be retrieved. If ``None``, returns the latest block hash. - - :returns: The cryptographic hash of the specified block. - :rtype: str - - .. admonition:: Example - - # Get hash for specific block - block_hash = await subtensor.get_block_hash(block=1000000) - print(f"Block 1000000 hash: {block_hash}") - - # Get latest block hash - latest_hash = await subtensor.get_block_hash() - print(f"Latest block hash: {latest_hash}") - - .. admonition:: Notes - - See also: - - - - .. py:method:: get_children(hotkey, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the children of a given hotkey and netuid. - - This method queries the SubtensorModule's ChildKeys storage function to get the children and formats them before - returning as a tuple. It provides information about the child neurons that a validator has set for weight - distribution. - - :param hotkey: The hotkey value. - :param netuid: The netuid value. - :param block: The block number for which the children are to be retrieved. - :param block_hash: The hash of the block to retrieve the subnet unique identifiers from. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: A tuple containing a boolean indicating success or failure, a - list of formatted children with their proportions, and an error message (if applicable). - :rtype: tuple[bool, list[tuple[float, str]], str] - - .. admonition:: Example - - # Get children for a hotkey in subnet 1 - success, children, error = await subtensor.get_children(hotkey="5F...", netuid=1) - - if success: - for proportion, child_hotkey in children: - print(f"Child {child_hotkey}: {proportion}") - - - - .. py:method:: get_children_pending(hotkey, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the pending children of a given hotkey and netuid. - - This method queries the SubtensorModule's PendingChildKeys storage function to get children that are pending - approval or in a cooldown period. These are children that have been proposed but not yet finalized. - - :param hotkey: The hotkey value. - :param netuid: The netuid value. - :param block: The block number for which the children are to be retrieved. - :param block_hash: The hash of the block to retrieve the subnet unique identifiers from. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: A list of children with their proportions. - int: The cool-down block number. - :rtype: list[tuple[float, str]] - - - - .. py:method:: get_commitment(netuid, uid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the on-chain commitment for a specific neuron in the Bittensor network. - - This method retrieves the commitment data that a neuron has published to the blockchain. Commitments are used in - the commit-reveal mechanism for secure weight setting and other network operations. - - :param netuid: The unique identifier of the subnetwork. - :param uid: The unique identifier of the neuron. - :param block: The block number to retrieve the commitment from. If None, the latest block is used. - Default is None. - :param block_hash: The hash of the block to retrieve the subnet unique identifiers from. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: The commitment data as a string. - :rtype: str - - .. admonition:: Example - - # Get commitment for UID 5 in subnet 1 - commitment = await subtensor.get_commitment(netuid=1, uid=5) - print(f"Commitment: {commitment}") - - # Get commitment at specific block - commitment = await subtensor.get_commitment( - netuid=1, - uid=5, - block=1000000 - ) - - - - .. py:method:: get_current_block() - :async: - - - Returns the current block number on the Bittensor blockchain. - - This function provides the latest block number, indicating the most recent state of the blockchain. Knowing - the current block number is essential for querying real-time data and performing time-sensitive operations on - the blockchain. It serves as a reference point for network activities and data synchronization. - - :returns: The current chain block number. - :rtype: int - - .. admonition:: Example - - # Get current block number - current_block = await subtensor.get_current_block() - print(f"Current block: {current_block}") - - block = await subtensor.get_current_block() - if block > 1000000: - print("Network has progressed past block 1M") - - .. admonition:: Notes - - See also: - - - - .. py:method:: get_current_weight_commit_info(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves CRV3 weight commit information for a specific subnet. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. Default is ``None``. - :param block_hash: The hash of the block to retrieve the subnet unique identifiers from. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: - ss58_address: The address of the committer. - - commit_message: The commit message. - - reveal_round: The round when the commitment was revealed. - - The list may be empty if there are no commits found. - :rtype: A list of commit details, where each item contains - - - - .. py:method:: get_current_weight_commit_info_v2(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves CRV3 weight commit information for a specific subnet. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. Default is ``None``. - :param block_hash: The hash of the block to retrieve the subnet unique identifiers from. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: - ss58_address: The address of the committer. - - commit_block: The block number when the commitment was made. - - commit_message: The commit message. - - reveal_round: The round when the commitment was revealed. - - The list may be empty if there are no commits found. - :rtype: A list of commit details, where each item contains - - - - .. py:method:: get_delegate_by_hotkey(hotkey_ss58, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves detailed information about a delegate neuron based on its hotkey. This function provides a - comprehensive view of the delegate's status, including its stakes, nominators, and reward distribution. - - :param hotkey_ss58: The ``SS58`` address of the delegate's hotkey. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the block to retrieve the subnet unique identifiers from. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: Detailed information about the delegate neuron, ``None`` if not found. - :rtype: Optional[DelegateInfo] - - This function is essential for understanding the roles and influence of delegate neurons within the Bittensor - network's consensus and governance structures. - - - - .. py:method:: get_delegate_identities(block = None, block_hash = None, reuse_block = False) - :async: - - - Fetches delegates identities from the chain. - - :param block: The blockchain block number for the query. - :param block_hash: the hash of the blockchain block for the query - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: ChainIdentity, ...} - :rtype: Dict {ss58 - - - - .. py:method:: get_delegate_take(hotkey_ss58, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the delegate 'take' percentage for a neuron identified by its hotkey. The 'take' represents the - percentage of rewards that the delegate claims from its nominators' stakes. - - :param hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the block to retrieve the subnet unique identifiers from. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: The delegate take percentage. - :rtype: float - - The delegate take is a critical parameter in the network's incentive structure, influencing the distribution of - rewards among neurons and their nominators. - - - - .. py:method:: get_delegated(coldkey_ss58, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves a list of delegates and their associated stakes for a given coldkey. This function identifies the - delegates that a specific account has staked tokens on. - - :param coldkey_ss58: The ``SS58`` address of the account's coldkey. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number for the query. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: A list containing the delegated information for the specified coldkey. - - This function is important for account holders to understand their stake allocations and their involvement in - the network's delegation and consensus mechanisms. - - - - .. py:method:: get_delegates(block = None, block_hash = None, reuse_block = False) - :async: - - - Fetches all delegates on the chain - - :param block: The blockchain block number for the query. - :param block_hash: hash of the blockchain block number for the query. - :param reuse_block: whether to reuse the last-used block hash. - - :returns: List of DelegateInfo objects, or an empty list if there are no delegates. - - - - .. py:method:: get_existential_deposit(block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the existential deposit amount for the Bittensor blockchain. - The existential deposit is the minimum amount of TAO required for an account to exist on the blockchain. - Accounts with balances below this threshold can be reaped to conserve network resources. - - :param block: The blockchain block number for the query. - :param block_hash: Block hash at which to query the deposit amount. If ``None``, the current block is used. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: The existential deposit amount. - - The existential deposit is a fundamental economic parameter in the Bittensor network, ensuring efficient use of - storage and preventing the proliferation of dust accounts. - - - - .. py:method:: get_hotkey_owner(hotkey_ss58, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the owner of the given hotkey at a specific block hash. - This function queries the blockchain for the owner of the provided hotkey. If the hotkey does not exist at the - specified block hash, it returns None. - - :param hotkey_ss58: The SS58 address of the hotkey. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the block at which to check the hotkey ownership. - :param reuse_block: Whether to reuse the last-used blockchain hash. - - :returns: The SS58 address of the owner if the hotkey exists, or None if it doesn't. - :rtype: Optional[str] - - .. admonition:: Notes - - See also: - - - - - - - - - - .. py:attribute:: get_hotkey_stake - - - .. py:method:: get_hyperparameter(param_name, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves a specified hyperparameter for a specific subnet. - - This method queries the blockchain for subnet-specific hyperparameters such as difficulty, tempo, immunity - period, and other network configuration values. - - :param param_name: The name of the hyperparameter to retrieve (e.g., "Difficulty", "Tempo", "ImmunityPeriod"). - :param netuid: The unique identifier of the subnet. - :param block: The block number at which to retrieve the hyperparameter. Do not specify if using block_hash or - reuse_block. - :param block_hash: The hash of the blockchain block for the query. Do not specify if using block or reuse_block. - :param reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. - - :returns: The value of the specified hyperparameter if the subnet exists, None otherwise. - - .. admonition:: Example - - # Get difficulty for subnet 1 - difficulty = await subtensor.get_hyperparameter(param_name="Difficulty", netuid=1) - - # Get tempo at a specific block - tempo = await subtensor.get_hyperparameter(param_name="Tempo", netuid=1, block=1000000) - - # Get immunity period using block hash - immunity = await subtensor.get_hyperparameter(param_name="ImmunityPeriod", netuid=1, block_hash="0x1234...") - - - - .. py:method:: get_last_commitment_bonds_reset_block(netuid, uid) - :async: - - - Retrieves the last block number when the bonds reset were triggered by publish_metadata for a specific neuron. - - :param netuid: The unique identifier of the subnetwork. - :param uid: The unique identifier of the neuron. - - :returns: The block number when the bonds were last reset, or None if not found. - :rtype: Optional[int] - - - - .. py:method:: get_liquidity_list(wallet, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves all liquidity positions for the given wallet on a specified subnet (netuid). - Calculates associated fee rewards based on current global and tick-level fee data. - - :param wallet: Wallet instance to fetch positions for. - :param netuid: Subnet unique id. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - :returns: List of liquidity positions, or None if subnet does not exist. - - - - .. py:method:: get_mechanism_count(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the number of mechanisms for the given subnet. - - :param netuid: Subnet identifier. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the block to retrieve the stake from. Do not specify if using block or reuse_block. - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - :returns: The number of mechanisms for the given subnet. - - - - .. py:method:: get_mechanism_emission_split(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Returns the emission percentages allocated to each subnet mechanism. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the block to retrieve the stake from. Do not specify if using block or reuse_block. - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - :returns: A list of integers representing the percentage of emission allocated to each subnet mechanism (rounded to - whole numbers). Returns None if emission is evenly split or if the data is unavailable. - - - - .. py:method:: get_metagraph_info(netuid, field_indices = None, block = None, block_hash = None, reuse_block = False, mechid = 0) - :async: - - - Retrieves full or partial metagraph information for the specified subnet (netuid). - - A metagraph is a data structure that contains comprehensive information about the current state of a subnet, - including detailed information on all the nodes (neurons) such as subnet validator stakes and subnet weights - in the subnet. Metagraph aids in calculating emissions. - - :param netuid: The unique identifier of the subnet to query. - :param field_indices: Optional list of SelectiveMetagraphIndex or int values specifying which fields to retrieve. - If not provided, all available fields will be returned. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number at which to perform the query. - :param reuse_block: Whether to reuse the last-used block hash when retrieving info. - :param mechid: Subnet mechanism unique identifier. - - :returns: MetagraphInfo object with the requested subnet mechanism data, None if the subnet mechanism does not exist. - - .. admonition:: Example - - # Retrieve all fields from the metagraph from subnet 2 mechanism 0 - meta_info = subtensor.get_metagraph_info(netuid=2) - - # Retrieve all fields from the metagraph from subnet 2 mechanism 1 - meta_info = subtensor.get_metagraph_info(netuid=2, mechid=1) - - # Retrieve selective data from the metagraph from subnet 2 mechanism 0 - partial_meta_info = subtensor.get_metagraph_info( - netuid=2, - field_indices=[SelectiveMetagraphIndex.Name, SelectiveMetagraphIndex.OwnerHotkeys] - ) - - # Retrieve selective data from the metagraph from subnet 2 mechanism 1 - partial_meta_info = subtensor.get_metagraph_info( - netuid=2, - mechid=1, - field_indices=[SelectiveMetagraphIndex.Name, SelectiveMetagraphIndex.OwnerHotkeys] - ) - - .. admonition:: Notes - - See also: - - - - - - - - .. py:method:: get_minimum_required_stake() - :async: - - - Returns the minimum required stake for nominators in the Subtensor network. - - :returns: The minimum required stake as a Balance object. - :rtype: Balance - - - - .. py:method:: get_netuids_for_hotkey(hotkey_ss58, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves a list of subnet UIDs (netuids) for which a given hotkey is a member. This function identifies the - specific subnets within the Bittensor network where the neuron associated with the hotkey is active. - - :param hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number at which to perform the query. - :param reuse_block: Whether to reuse the last-used block hash when retrieving info. - - :returns: A list of netuids where the neuron is a member. - - - - .. py:method:: get_neuron_certificate(hotkey, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the TLS certificate for a specific neuron identified by its unique identifier (UID) within a - specified subnet (netuid) of the Bittensor network. - - :param hotkey: The hotkey to query. - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - :returns: the certificate of the neuron if found, ``None`` otherwise. - - This function is used for certificate discovery for setting up mutual tls communication between neurons. - - - - .. py:method:: get_neuron_for_pubkey_and_subnet(hotkey_ss58, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves information about a neuron based on its public key (hotkey SS58 address) and the specific subnet UID - (netuid). This function provides detailed neuron information for a particular subnet within the Bittensor - network. - - :param hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The blockchain block number at which to perform the query. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: - - Detailed information about the neuron if found, - ``None`` otherwise. - :rtype: Optional[bittensor.core.chain_data.neuron_info.NeuronInfo] - - This function is crucial for accessing specific neuron data and understanding its status, stake, and other - attributes within a particular subnet of the Bittensor ecosystem. - - - - .. py:method:: get_next_epoch_start_block(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Calculates the first block number of the next epoch for the given subnet. - - If ``block`` is not provided, the current chain block will be used. Epochs are determined based on the subnet's - tempo (i.e., blocks per epoch). The result is the block number at which the next epoch will begin. - - :param netuid: The unique identifier of the subnet. - :param block: The reference block to calculate from. If None, uses the current chain block height. - :param block_hash: The blockchain block number at which to perform the query. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: The block number at which the next epoch will start. - :rtype: int - - .. admonition:: Notes - - See also: - - - - .. py:method:: get_owned_hotkeys(coldkey_ss58, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves all hotkeys owned by a specific coldkey address. - - :param coldkey_ss58: The SS58 address of the coldkey to query. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number for the query. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: A list of hotkey SS58 addresses owned by the coldkey. - :rtype: list[str] - - - - .. py:method:: get_parents(hotkey, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - This method retrieves the parent of a given hotkey and netuid. It queries the SubtensorModule's ParentKeys - storage function to get the children and formats them before returning as a tuple. - - :param hotkey: The child hotkey SS58. - :param netuid: The netuid value. - :param block: The block number for which the children are to be retrieved. - :param block_hash: The hash of the block to retrieve the subnet unique identifiers from. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: A list of formatted parents [(proportion, parent)] - - - - .. py:method:: get_revealed_commitment(netuid, uid, block = None) - :async: - - - Returns uid related revealed commitment for a given netuid. - - :param netuid: The unique identifier of the subnetwork. - :param uid: The neuron uid to retrieve the commitment from. - :param block: The block number to retrieve the commitment from. Default is ``None``. - - :returns: A tuple of reveal block and commitment message. - :rtype: result (Optional[tuple[int, str]] - - Example of result: - ( (12, "Alice message 1"), (152, "Alice message 2") ) - ( (12, "Bob message 1"), (147, "Bob message 2") ) - - - - .. py:method:: get_revealed_commitment_by_hotkey(netuid, hotkey_ss58_address = None, block = None, block_hash = None, reuse_block = False) - :async: - - - Returns hotkey related revealed commitment for a given netuid. - - :param netuid: The unique identifier of the subnetwork. - :param block: The block number to retrieve the commitment from. Default is ``None``. - :param hotkey_ss58_address: The ss58 address of the committee member. - :param block_hash: The hash of the block to retrieve the subnet unique identifiers from. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: A tuple of reveal block and commitment message. - :rtype: result (tuple[int, str) - - - - .. py:method:: get_stake(coldkey_ss58, hotkey_ss58, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Returns the stake under a coldkey - hotkey pairing. - - :param hotkey_ss58: The SS58 address of the hotkey. - :param coldkey_ss58: The SS58 address of the coldkey. - :param netuid: The subnet ID. - :param block: The block number at which to query the stake information. - :param block_hash: The hash of the block to retrieve the stake from. Do not specify if using block - or reuse_block - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - :returns: The stake under the coldkey - hotkey pairing. - :rtype: Balance - - - - .. py:method:: get_stake_add_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block = None) - :async: - - - Calculates the fee for adding new stake to a hotkey. - - :param amount: Amount of stake to add in TAO - :param netuid: Netuid of subnet - :param coldkey_ss58: SS58 address of source coldkey - :param hotkey_ss58: SS58 address of destination hotkey - :param block: Block number at which to perform the calculation - - :returns: The calculated stake fee as a Balance object - - - - .. py:method:: get_stake_for_coldkey(coldkey_ss58, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the stake information for a given coldkey. - - :param coldkey_ss58: The SS58 address of the coldkey. - :param block: The block number at which to query the stake information. - :param block_hash: The hash of the blockchain block number for the query. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: An optional list of StakeInfo objects, or ``None`` if no stake information is found. - - - - .. py:method:: get_stake_for_coldkey_and_hotkey(coldkey_ss58, hotkey_ss58, netuids = None, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves all coldkey-hotkey pairing stake across specified (or all) subnets - - :param coldkey_ss58: The SS58 address of the coldkey. - :param hotkey_ss58: The SS58 address of the hotkey. - :param netuids: The subnet IDs to query for. Set to ``None`` for all subnets. - :param block: The block number at which to query the stake information. - :param block_hash: The hash of the block to retrieve the stake from. Do not specify if using block - or reuse_block - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - :returns: StakeInfo} pairing of all stakes across all subnets. - :rtype: A {netuid - - - - .. py:method:: get_stake_for_hotkey(hotkey_ss58, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the stake information for a given hotkey. - - :param hotkey_ss58: The SS58 address of the hotkey. - :param netuid: The subnet ID to query for. - :param block: The block number at which to query the stake information. Do not specify if also specifying - block_hash or reuse_block. - :param block_hash: The hash of the blockchain block number for the query. Do not specify if also specifying block - or reuse_block. - :param reuse_block: Whether to reuse for this query the last-used block. Do not specify if also specifying block - or block_hash. - - - - .. py:attribute:: get_stake_info_for_coldkey - - - .. py:method:: get_stake_movement_fee(amount, origin_netuid, origin_hotkey_ss58, origin_coldkey_ss58, destination_netuid, destination_hotkey_ss58, destination_coldkey_ss58, block = None) - :async: - - - Calculates the fee for moving stake between hotkeys/subnets/coldkeys. - - :param amount: Amount of stake to move in TAO - :param origin_netuid: Netuid of source subnet - :param origin_hotkey_ss58: SS58 address of source hotkey - :param origin_coldkey_ss58: SS58 address of source coldkey - :param destination_netuid: Netuid of destination subnet - :param destination_hotkey_ss58: SS58 address of destination hotkey - :param destination_coldkey_ss58: SS58 address of destination coldkey - :param block: Block number at which to perform the calculation - - :returns: The calculated stake fee as a Balance object - - - - .. py:method:: get_stake_operations_fee(amount, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Returns fee for any stake operation in specified subnet. - - :param amount: Amount of stake to add in Alpha/TAO. - :param netuid: Netuid of subnet. - :param block: The block number at which to query the stake information. Do not specify if also specifying - block_hash or reuse_block. - :param block_hash: The hash of the blockchain block number for the query. Do not specify if also specifying block - or reuse_block. - :param reuse_block: Whether to reuse for this query the last-used block. Do not specify if also specifying block - or block_hash. - - :returns: The calculated stake fee as a Balance object. - - - - .. py:method:: get_stake_weight(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the stake weight for all hotkeys in a given subnet. - - :param netuid: Netuid of subnet. - :param block: Block number at which to perform the calculation. - :param block_hash: The hash of the blockchain block number for the query. Do not specify if also specifying block - or reuse_block. - :param reuse_block: Whether to reuse for this query the last-used block. Do not specify if also specifying block - or block_hash. - - :returns: A list of stake weights for all hotkeys in the specified subnet. - - - - .. py:method:: get_subnet_burn_cost(block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the burn cost for registering a new subnet within the Bittensor network. This cost represents the - amount of Tao that needs to be locked or burned to establish a new - - :param block: The blockchain block number for the query. - :param block_hash: The blockchain block_hash of the block id. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: The burn cost for subnet registration. - :rtype: int - - The subnet burn cost is an important economic parameter, reflecting the network's mechanisms for controlling - the proliferation of subnets and ensuring their commitment to the network's long-term viability. - - - - .. py:method:: get_subnet_hyperparameters(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the hyperparameters for a specific subnet within the Bittensor network. These hyperparameters define - the operational settings and rules governing the subnet's behavior. - - :param netuid: The network UID of the subnet to query. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number for the query. - :param reuse_block: Whether to reuse the last-used blockchain hash. - - :returns: The subnet's hyperparameters, or ``None`` if not available. - - Understanding the hyperparameters is crucial for comprehending how subnets are configured and managed, and how - they interact with the network's consensus and incentive mechanisms. - - - - .. py:method:: get_subnet_info(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves detailed information about subnet within the Bittensor network. - This function provides comprehensive data on subnet, including its characteristics and operational parameters. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the block to retrieve the stake from. Do not specify if using block - or reuse_block - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - :returns: A SubnetInfo objects, each containing detailed information about a subnet. - :rtype: SubnetInfo - - Gaining insights into the subnet's details assists in understanding the network's composition, the roles of - different subnets, and their unique features. - - - - .. py:method:: get_subnet_owner_hotkey(netuid, block = None) - :async: - - - Retrieves the hotkey of the subnet owner for a given network UID. - - This function queries the subtensor network to fetch the hotkey of the owner of a subnet specified by its - netuid. If no data is found or the query fails, the function returns None. - - :param netuid: The network UID of the subnet to fetch the owner's hotkey for. - :param block: The specific block number to query the data from. - - :returns: The hotkey of the subnet owner if available; None otherwise. - - - - .. py:method:: get_subnet_price(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Gets the current Alpha price in TAO for all subnets. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the block to retrieve the stake from. Do not specify if using block - or reuse_block - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - :returns: The current Alpha price in TAO units for the specified subnet. - - - - .. py:method:: get_subnet_prices(block = None, block_hash = None, reuse_block = False) - :async: - - - Gets the current Alpha price in TAO for a specified subnet. - - :param block: The blockchain block number for the query. - :param block_hash: The hash of the block to retrieve the stake from. Do not specify if using block - or reuse_block - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - :returns: - subnet unique ID - - The current Alpha price in TAO units for the specified subnet. - :rtype: dict - - - - .. py:method:: get_subnet_reveal_period_epochs(netuid, block = None, block_hash = None) - :async: - - - Retrieve the SubnetRevealPeriodEpochs hyperparameter. - - - - .. py:method:: get_subnet_validator_permits(netuid, block = None) - :async: - - - Retrieves the list of validator permits for a given subnet as boolean values. - - :param netuid: The unique identifier of the subnetwork. - :param block: The blockchain block number for the query. - - :returns: A list of boolean values representing validator permits, or None if not available. - - - - .. py:method:: get_subnets(block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the list of all subnet unique identifiers (netuids) currently present in the Bittensor network. - - :param block: The blockchain block number for the query. - :param block_hash: The hash of the block to retrieve the subnet unique identifiers from. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: A list of subnet netuids. - - This function provides a comprehensive view of the subnets within the Bittensor network, offering insights into - its diversity and scale. - - - - .. py:method:: get_timelocked_weight_commits(netuid, block = None, block_hash = None, reuse_block = False, mechid = 0) - :async: - - - Retrieves CRv4 weight commit information for a specific subnet. - - :param netuid: Subnet identifier. - :param block: The blockchain block number for the query. Default is ``None``. - :type block: Optional[int] - :param block_hash: The hash of the block to retrieve the stake from. Do not specify if using block or reuse_block. - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - :param mechid: Subnet mechanism identifier. - - :returns: - ss58_address: The address of the committer. - - commit_block: The block number when the commitment was made. - - commit_message: The commit message. - - reveal_round: The round when the commitment was revealed. - - The list may be empty if there are no commits found. - :rtype: A list of commit details, where each item contains - - - - .. py:method:: get_timestamp(block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the datetime timestamp for a given block. - - :param block: The blockchain block number for the query. Do not specify if specifying block_hash or reuse_block. - :param block_hash: The blockchain block_hash representation of the block id. Do not specify if specifying block - or reuse_block. - :param reuse_block: Whether to reuse the last-used blockchain block hash. Do not specify if specifying block or - block_hash. - - :returns: datetime object for the timestamp of the block. - - - - .. py:method:: get_total_subnets(block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the total number of subnets within the Bittensor network as of a specific blockchain block. - - :param block: The blockchain block number for the query. - :param block_hash: The blockchain block_hash representation of block id. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: The total number of subnets in the network. - :rtype: Optional[str] - - Understanding the total number of subnets is essential for assessing the network's growth and the extent of its - decentralized infrastructure. - - - - .. py:method:: get_transfer_fee(wallet, dest, value, keep_alive = True) - :async: - - - Calculates the transaction fee for transferring tokens from a wallet to a specified destination address. This - function simulates the transfer to estimate the associated cost, taking into account the current network - conditions and transaction complexity. - - :param wallet: The wallet from which the transfer is initiated. - :param dest: The ``SS58`` address of the destination account. - :param value: The amount of tokens to be transferred, specified as a Balance object, or in Tao (float) or Rao - (int) units. - :param keep_alive: Whether the transfer fee should be calculated based on keeping the wallet alive (existential - deposit) or not. - - :returns: - - The estimated transaction fee for the transfer, represented as a Balance - object. - :rtype: bittensor.utils.balance.Balance - - Estimating the transfer fee is essential for planning and executing token transactions, ensuring that the - wallet has sufficient funds to cover both the transfer amount and the associated costs. This function provides - a crucial tool for managing financial operations within the Bittensor network. - - - - .. py:method:: get_uid_for_hotkey_on_subnet(hotkey_ss58, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the unique identifier (UID) for a neuron's hotkey on a specific subnet. - - :param hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The blockchain block_hash representation of the block id. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: The UID of the neuron if it is registered on the subnet, ``None`` otherwise. - :rtype: Optional[int] - - The UID is a critical identifier within the network, linking the neuron's hotkey to its operational and - governance activities on a particular subnet. - - - - .. py:method:: get_unstake_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block = None) - :async: - - - Calculates the fee for unstaking from a hotkey. - - :param amount: Amount of stake to unstake in TAO - :param netuid: Netuid of subnet - :param coldkey_ss58: SS58 address of source coldkey - :param hotkey_ss58: SS58 address of destination hotkey - :param block: Block number at which to perform the calculation - - :returns: The calculated stake fee as a Balance object - - - - .. py:method:: get_vote_data(proposal_hash, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the voting data for a specific proposal on the Bittensor blockchain. This data includes information - about how senate members have voted on the proposal. - - :param proposal_hash: The hash of the proposal for which voting data is requested. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number to query the voting data. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: An object containing the proposal's voting data, or ``None`` if not found. - - This function is important for tracking and understanding the decision-making processes within the Bittensor - network, particularly how proposals are received and acted upon by the governing body. - - - - .. py:method:: immunity_period(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the 'ImmunityPeriod' hyperparameter for a specific subnet. This parameter defines the duration during - which new neurons are protected from certain network penalties or restrictions. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The blockchain block_hash representation of the block id. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: The value of the 'ImmunityPeriod' hyperparameter if the subnet exists, ``None`` otherwise. - :rtype: Optional[int] - - The 'ImmunityPeriod' is a critical aspect of the network's governance system, ensuring that new participants - have a grace period to establish themselves and contribute to the network without facing immediate punitive - actions. - - - - .. py:method:: initialize() - :async: - - - Initializes the connection to the blockchain. - - This method establishes the connection to the Bittensor blockchain and should be called after creating an - AsyncSubtensor instance before making any queries. - - :returns: The initialized instance (self) for method chaining. - :rtype: AsyncSubtensor - - :raises ConnectionError: If unable to connect to the blockchain due to timeout or connection refusal. - - .. admonition:: Example - - subtensor = AsyncSubtensor(network="finney") - - # Initialize the connection - await subtensor.initialize() - - # Now you can make queries - balance = await subtensor.get_balance(address="5F...") - - # Or chain the initialization - subtensor = await AsyncSubtensor(network="finney").initialize() - - - - .. py:method:: is_fast_blocks() - :async: - - - Returns True if the node is running with fast blocks. False if not. - - - - .. py:method:: is_hotkey_delegate(hotkey_ss58, block = None, block_hash = None, reuse_block = False) - :async: - - - Determines whether a given hotkey (public key) is a delegate on the Bittensor network. This function checks if - the neuron associated with the hotkey is part of the network's delegation system. - - :param hotkey_ss58: The SS58 address of the neuron's hotkey. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number for the query. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: ``True`` if the hotkey is a delegate, ``False`` otherwise. - - Being a delegate is a significant status within the Bittensor network, indicating a neuron's involvement in - consensus and governance processes. - - - - .. py:method:: is_hotkey_registered(hotkey_ss58, netuid = None, block = None, block_hash = None, reuse_block = False) - :async: - - - Determines whether a given hotkey (public key) is registered in the Bittensor network, either globally across - any subnet or specifically on a specified subnet. This function checks the registration status of a neuron - identified by its hotkey, which is crucial for validating its participation and activities within the network. - - :param hotkey_ss58: The SS58 address of the neuron's hotkey. - :param netuid: The unique identifier of the subnet to check the registration. If ``None``, the - registration is checked across all subnets. - :param block: The blockchain block number at which to perform the query. - :param block_hash: The blockchain block_hash representation of the block id. Do not specify if using block or - reuse_block. - :param reuse_block: Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or - reuse_block. - - :returns: - - ``True`` if the hotkey is registered in the specified context (either any subnet or a specific subnet), - ``False`` otherwise. - :rtype: bool - - This function is important for verifying the active status of neurons in the Bittensor network. It aids in - understanding whether a neuron is eligible to participate in network processes such as consensus, validation, - and incentive distribution based on its registration status. - - - - .. py:method:: is_hotkey_registered_any(hotkey_ss58, block = None, block_hash = None, reuse_block = False) - :async: - - - Checks if a neuron's hotkey is registered on any subnet within the Bittensor network. - - :param hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - :param block: The blockchain block number for the query. - :param block_hash: The blockchain block_hash representation of block id. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: ``True`` if the hotkey is registered on any subnet, False otherwise. - :rtype: bool - - This function is essential for determining the network-wide presence and participation of a neuron. - - - - .. py:method:: is_hotkey_registered_on_subnet(hotkey_ss58, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Checks if the hotkey is registered on a given netuid. - - - - .. py:method:: is_in_admin_freeze_window(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Returns True if the current block is within the terminal freeze window of the tempo - for the given subnet. During this window, admin ops are prohibited to avoid interference - with validator weight submissions. - - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - :param block_hash: The blockchain block_hash representation of the block id. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: True if in freeze window, else False. - :rtype: bool - - - - .. py:method:: is_subnet_active(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Verify if subnet with provided netuid is active. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The blockchain block_hash representation of block id. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: ``True`` if subnet is active, ``False`` otherwise. - - Note: This means whether the ``start_call`` was initiated or not. - - - - .. py:method:: last_drand_round() - :async: - - - Retrieves the last drand round emitted in bittensor. This corresponds when committed weights will be revealed. - - :returns: The latest Drand round emitted in bittensor. - :rtype: int - - - - .. py:attribute:: log_verbose - :value: False - - - - .. py:method:: max_weight_limit(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Returns network MaxWeightsLimit hyperparameter. - - :param netuid: The unique identifier of the subnetwork. - :param block: The blockchain block number for the query. - :param block_hash: The blockchain block_hash representation of block id. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: - - The value of the MaxWeightsLimit hyperparameter, or ``None`` if the subnetwork does not - exist or the parameter is not found. - :rtype: Optional[float] - - - - .. py:method:: metagraph(netuid, lite = True, block = None, mechid = 0) - :async: - - - Returns a synced metagraph for a specified subnet within the Bittensor network. - The metagraph represents the network's structure, including neuron connections and interactions. - - :param netuid: The network UID of the subnet to query. - :param lite: If true, returns a metagraph using a lightweight sync (no weights, no bonds). - :param block: Block number for synchronization, or `None` for the latest block. - :param mechid: Subnet mechanism identifier. - - :returns: The metagraph representing the subnet's structure and neuron relationships. - - The metagraph is an essential tool for understanding the topology and dynamics of the Bittensor network's - decentralized architecture, particularly in relation to neuron interconnectivity and consensus processes. - - - - .. py:method:: min_allowed_weights(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Returns network MinAllowedWeights hyperparameter. - - :param netuid: The unique identifier of the subnetwork. - :param block: The blockchain block number for the query. - :param block_hash: The blockchain block_hash representation of block id. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: - - The value of the MinAllowedWeights hyperparameter, or ``None`` if the subnetwork does not - exist or the parameter is not found. - :rtype: Optional[int] - - - - .. py:method:: modify_liquidity(wallet, netuid, position_id, liquidity_delta, hotkey = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Modifies liquidity in liquidity position by adding or removing liquidity from it. - - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param position_id: The id of the position record in the pool. - :param liquidity_delta: The amount of liquidity to be added or removed (add if positive or remove if negative). - :param hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to - `None`. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - .. admonition:: Example - - import bittensor as bt - - subtensor = bt.AsyncSubtensor(network="local") - await subtensor.initialize() - - my_wallet = bt.Wallet() - - # if `liquidity_delta` is negative - my_liquidity_delta = Balance.from_tao(100) * -1 - await subtensor.modify_liquidity( - wallet=my_wallet, - netuid=123, - position_id=2, - liquidity_delta=my_liquidity_delta - ) - - # if `liquidity_delta` is positive - my_liquidity_delta = Balance.from_tao(120) - await subtensor.modify_liquidity( - wallet=my_wallet, - netuid=123, - position_id=2, - liquidity_delta=my_liquidity_delta - ) - - Note: Modifying is allowed even when user liquidity is enabled in specified subnet. Call `toggle_user_liquidity` - to enable/disable user liquidity. - - - - .. py:method:: move_stake(wallet, origin_hotkey, origin_netuid, destination_hotkey, destination_netuid, amount = None, wait_for_inclusion = True, wait_for_finalization = False, period = None, move_all_stake = False) - :async: - - - Moves stake to a different hotkey and/or subnet. - - :param wallet: The wallet to move stake from. - :param origin_hotkey: The SS58 address of the source hotkey. - :param origin_netuid: The netuid of the source subnet. - :param destination_hotkey: The SS58 address of the destination hotkey. - :param destination_netuid: The netuid of the destination subnet. - :param amount: Amount of stake to move. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :param move_all_stake: If true, moves all stake from the source hotkey to the destination hotkey. - - :returns: True if the stake movement was successful. - :rtype: success - - - - .. py:method:: neuron_for_uid(uid, netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves detailed information about a specific neuron identified by its unique identifier (UID) within a - specified subnet (netuid) of the Bittensor network. This function provides a comprehensive view of a neuron's - attributes, including its stake, rank, and operational status. - - :param uid: The unique identifier of the neuron. - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number for the query. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: Detailed information about the neuron if found, a null neuron otherwise - - This function is crucial for analyzing individual neurons' contributions and status within a specific subnet, - offering insights into their roles in the network's consensus and validation mechanisms. - - - - .. py:method:: neurons(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves a list of all neurons within a specified subnet of the Bittensor network. - This function provides a snapshot of the subnet's neuron population, including each neuron's attributes and - network interactions. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number for the query. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: A list of NeuronInfo objects detailing each neuron's characteristics in the subnet. - - Understanding the distribution and status of neurons within a subnet is key to comprehending the network's - decentralized structure and the dynamics of its consensus and governance processes. - - - - .. py:method:: neurons_lite(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves a list of neurons in a 'lite' format from a specific subnet of the Bittensor network. - This function provides a streamlined view of the neurons, focusing on key attributes such as stake and network - participation. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number for the query. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: A list of simplified neuron information for the subnet. - - This function offers a quick overview of the neuron population within a subnet, facilitating efficient analysis - of the network's decentralized structure and neuron dynamics. - - - - .. py:method:: query_constant(module_name, constant_name, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves a constant from the specified module on the Bittensor blockchain. - - This function is used to access fixed values defined within the blockchain's modules, which are essential for - understanding the network's configuration and rules. These include include critical network parameters such as - inflation rates, consensus rules, or validation thresholds, providing a deeper understanding of the Bittensor - network's operational parameters. - - :param module_name: The name of the module containing the constant (e.g., "Balances", "SubtensorModule"). - :param constant_name: The name of the constant to retrieve (e.g., "ExistentialDeposit"). - :param block: The blockchain block number at which to query the constant. Do not specify if using block_hash or - reuse_block. - :param block_hash: The hash of the blockchain block at which to query the constant. Do not specify if using - block or reuse_block. - :param reuse_block: Whether to reuse the blockchain block at which to query the constant. Defaults to ``False``. - - :returns: The value of the constant if found, ``None`` otherwise. - :rtype: Optional[async_substrate_interface.types.ScaleObj] - - .. admonition:: Example - - # Get existential deposit constant - existential_deposit = await subtensor.query_constant( - module_name="Balances", - constant_name="ExistentialDeposit" - ) - - # Get constant at specific block - constant = await subtensor.query_constant( - module_name="SubtensorModule", - constant_name="SomeConstant", - block=1000000 - ) - - - - .. py:method:: query_identity(coldkey_ss58, block = None, block_hash = None, reuse_block = False) - :async: - - - Queries the identity of a neuron on the Bittensor blockchain using the given key. This function retrieves - detailed identity information about a specific neuron, which is a crucial aspect of the network's decentralized - identity and governance system. - - :param coldkey_ss58: The coldkey used to query the neuron's identity (technically the neuron's coldkey SS58 - address). - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number at which to perform the query. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: An object containing the identity information of the neuron if found, ``None`` otherwise. - - The identity information can include various attributes such as the neuron's stake, rank, and other - network-specific details, providing insights into the neuron's role and status within the Bittensor network. - - .. note:: - - See the ``Bittensor CLI documentation ``_ for supported identity - parameters. - - - - .. py:method:: query_map(module, name, block = None, block_hash = None, reuse_block = False, params = None) - :async: - - - Queries map storage from any module on the Bittensor blockchain. - - This function retrieves data structures that represent key-value mappings, essential for accessing complex and - structured data within the blockchain modules. - - :param module: The name of the module from which to query the map storage (e.g., "SubtensorModule", "System"). - :param name: The specific storage function within the module to query (e.g., "Bonds", "Weights"). - :param block: The blockchain block number at which to perform the query. Defaults to ``None`` (latest block). - :param block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. Defaults to - ``False``. - :param params: Parameters to be passed to the query. Defaults to ``None``. - - :returns: A data structure representing the map storage if found, None otherwise. - :rtype: AsyncQueryMapResult - - .. admonition:: Example - - # Query bonds for subnet 1 - bonds = await subtensor.query_map(module="SubtensorModule", name="Bonds", params=[1]) - - # Query weights at specific block - weights = await subtensor.query_map(module="SubtensorModule", name="Weights", params=[1], block=1000000) - - - - .. py:method:: query_map_subtensor(name, block = None, block_hash = None, reuse_block = False, params = None) - :async: - - - Queries map storage from the Subtensor module on the Bittensor blockchain. This function is designed to - retrieve a map-like data structure, which can include various neuron-specific details or network-wide - attributes. - - :param name: The name of the map storage function to query. - :param block: The blockchain block number at which to perform the query. - :param block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - :param params: A list of parameters to pass to the query function. - - :returns: An object containing the map-like data structure, or ``None`` if not found. - - This function is particularly useful for analyzing and understanding complex network structures and - relationships within the Bittensor ecosystem, such as interneuronal connections and stake distributions. - - - - .. py:method:: query_module(module, name, block = None, block_hash = None, reuse_block = False, params = None) - :async: - - - Queries any module storage on the Bittensor blockchain with the specified parameters and block number. - This function is a generic query interface that allows for flexible and diverse data retrieval from various - blockchain modules. - - :param module: The name of the module from which to query data. - :param name: The name of the storage function within the module. - :param block: The blockchain block number at which to perform the query. - :param block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - :param params: A list of parameters to pass to the query function. - - :returns: An object containing the requested data if found, ``None`` otherwise. - - This versatile query function is key to accessing a wide range of data and insights from different parts of the - Bittensor blockchain, enhancing the understanding and analysis of the network's state and dynamics. - - - - .. py:method:: query_runtime_api(runtime_api, method, params, block = None, block_hash = None, reuse_block = False) - :async: - - - Queries the runtime API of the Bittensor blockchain, providing a way to interact with the underlying runtime - and retrieve data encoded in Scale Bytes format. This function is essential for advanced users who need to - interact with specific runtime methods and decode complex data types. - - :param runtime_api: The name of the runtime API to query. - :param method: The specific method within the runtime API to call. - :param params: The parameters to pass to the method call. - :param block: the block number for this query. Do not specify if using block_hash or reuse_block. - :param block_hash: The hash of the blockchain block number at which to perform the query. Do not specify if using - block or reuse_block. - :param reuse_block: Whether to reuse the last-used block hash. Do not set if using block_hash or block. - - :returns: The decoded result from the runtime API call, or ``None`` if the call fails. - - This function enables access to the deeper layers of the Bittensor blockchain, allowing for detailed and - specific interactions with the network's runtime environment. - - - - .. py:method:: query_subtensor(name, block = None, block_hash = None, reuse_block = False, params = None) - :async: - - - Queries named storage from the Subtensor module on the Bittensor blockchain. This function is used to - retrieve specific data or parameters from the blockchain, such as stake, rank, or other neuron-specific - attributes. - - :param name: The name of the storage function to query. - :param block: The blockchain block number at which to perform the query. - :param block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - :param params: A list of parameters to pass to the query function. - - :returns: An object containing the requested data. - :rtype: query_response - - This query function is essential for accessing detailed information about the network and its neurons, providing - valuable insights into the state and dynamics of the Bittensor ecosystem. - - - - .. py:method:: recycle(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the 'Burn' hyperparameter for a specified subnet. The 'Burn' parameter represents the amount of Tao - that is effectively recycled within the Bittensor network. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number for the query. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: The value of the 'Burn' hyperparameter if the subnet exists, ``None`` otherwise. - :rtype: Optional[Balance] - - Understanding the 'Burn' rate is essential for analyzing the network registration usage, particularly how it is - correlated with user activity and the overall cost of participation in a given subnet. - - - - .. py:method:: register(wallet, netuid, wait_for_inclusion = False, wait_for_finalization = True, max_allowed_attempts = 3, output_in_place = False, cuda = False, dev_id = 0, tpb = 256, num_processes = None, update_interval = None, log_verbose = False, period = None) - :async: - - - Registers a neuron on the Bittensor network using the provided wallet. - - Registration is a critical step for a neuron to become an active participant in the network, enabling it to - stake, set weights, and receive incentives. - - :param wallet: The wallet associated with the neuron to be registered. - :param netuid: unique identifier of the subnet. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `False`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to - :param max_allowed_attempts: Maximum number of attempts to register the wallet. - :param output_in_place: If true, prints the progress of the proof of work to the console in-place. Meaning - the progress is printed on the same lines. Defaults to `True`. - :param cuda: If `true`, the wallet should be registered using CUDA device(s). Defaults to `False`. - :param dev_id: The CUDA device id to use, or a list of device ids. Defaults to `0` (zero). - :param tpb: The number of threads per block (CUDA). Default to `256`. - :param num_processes: The number of processes to use to register. Default to `None`. - :param update_interval: The number of nonces to solve between updates. Default to `None`. - :param log_verbose: If `true`, the registration process will log more information. Default to `False`. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - :returns: `True` if the registration is successful, False otherwise. - :rtype: bool - - This function facilitates the entry of new neurons into the network, supporting the decentralized growth and - scalability of the Bittensor ecosystem. - - - - .. py:method:: register_subnet(wallet, wait_for_inclusion = False, wait_for_finalization = True, period = None) - :async: - - - Registers a new subnetwork on the Bittensor network. - - :param wallet: The wallet to be used for subnet registration. - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, - os `False` if the extrinsic fails to enter the block within the timeout. Default is `False`. - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - true, or returns false if the extrinsic fails to be finalized within the timeout. Default is `False`. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - :returns: True if the subnet registration was successful, False otherwise. - :rtype: bool - - - - .. py:method:: remove_liquidity(wallet, netuid, position_id, hotkey = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Remove liquidity and credit balances back to wallet's hotkey stake. - - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param position_id: The id of the position record in the pool. - :param hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to - `None`. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - .. note:: - - - Adding is allowed even when user liquidity is enabled in specified subnet. Call `toggle_user_liquidity` - extrinsic to enable/disable user liquidity. - - To get the `position_id` use `get_liquidity_list` method. - - - - .. py:method:: reveal_weights(wallet, netuid, uids, weights, salt, version_key = version_as_int, wait_for_inclusion = False, wait_for_finalization = False, max_retries = 5, period = None, mechid = 0) - :async: - - - Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet. - This action serves as a revelation of the neuron's previously committed weight distribution. - - :param wallet: Bittensor Wallet instance. - :param netuid: The unique identifier of the subnet. - :param uids: NumPy array of neuron UIDs for which weights are being revealed. - :param weights: NumPy array of weight values corresponding to each UID. - :param salt: NumPy array of salt values corresponding to the hash function. - :param version_key: Version key for compatibility with the network. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param max_retries: The number of maximum attempts to reveal weights. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - :param mechid: The subnet mechanism unique identifier. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - This function allows neurons to reveal their previously committed weight distribution, ensuring transparency and - accountability within the Bittensor network. - - See also: , - - - - .. py:method:: root_register(wallet, block_hash = None, wait_for_inclusion = True, wait_for_finalization = True, period = None) - :async: - - - Register neuron by recycling some TAO. - - :param wallet: Bittensor wallet instance. - :param block_hash: This argument will be removed in Bittensor v10 - :param wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is - `False`. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - :returns: `True` if registration was successful, otherwise `False`. - - - - .. py:method:: root_set_pending_childkey_cooldown(wallet, cooldown, wait_for_inclusion = True, wait_for_finalization = True, period = None) - :async: - - - Sets the pending childkey cooldown. - - :param wallet: bittensor wallet instance. - :param cooldown: the number of blocks to setting pending childkey cooldown. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is - `False`. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - :returns: - - A tuple where the first element is a boolean indicating success or failure of the - operation, and the second element is a message providing additional information. - :rtype: tuple[bool, str] - - Note: This operation can only be successfully performed if your wallet has root privileges. - - - - .. py:method:: root_set_weights(wallet, netuids, weights, version_key = 0, wait_for_inclusion = True, wait_for_finalization = True, period = None) - :async: - - - Set weights for the root network. - - :param wallet: bittensor wallet instance. - :param netuids: The list of subnet uids. - :param weights: The list of weights to be set. - :param version_key: Version key for compatibility with the network. Default is `0`. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - :param transaction is not included in a block within that number of blocks: - :param it will expire and be rejected.: - :param You can think of it as an expiration date for the transaction.: - - :returns: `True` if the setting of weights is successful, `False` otherwise. - - - - .. py:method:: serve_axon(netuid, axon, wait_for_inclusion = False, wait_for_finalization = True, certificate = None, period = None) - :async: - - - Registers an ``Axon`` serving endpoint on the Bittensor network for a specific neuron. This function is used to - set up the Axon, a key component of a neuron that handles incoming queries and data processing tasks. - - :param netuid: The unique identifier of the subnetwork. - :param axon: The Axon instance to be registered for serving. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Default is `False`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is `True`. - :param certificate: Certificate to use for TLS. If `None`, no TLS will be used. Defaults to `None`. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - - :returns: `True` if the Axon serve registration is successful, False otherwise. - :rtype: bool - - By registering an Axon, the neuron becomes an active part of the network's distributed computing infrastructure, - contributing to the collective intelligence of Bittensor. - - - - .. py:method:: set_children(wallet, hotkey, netuid, children, wait_for_inclusion = True, wait_for_finalization = True, raise_error = False, period = None) - :async: - - - Allows a coldkey to set children-keys. - - :param wallet: bittensor wallet instance. - :param hotkey: The `SS58` address of the neuron's hotkey. - :param netuid: The netuid value. - :param children: A list of children with their proportions. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - :returns: - - A tuple where the first element is a boolean indicating success or failure of the - operation, and the second element is a message providing additional information. - :rtype: tuple[bool, str] - - :raises DuplicateChild: There are duplicates in the list of children. - :raises InvalidChild: Child is the hotkey. - :raises NonAssociatedColdKey: The coldkey does not own the hotkey or the child is the same as the hotkey. - :raises NotEnoughStakeToSetChildkeys: Parent key doesn't have minimum own stake. - :raises ProportionOverflow: The sum of the proportions does exceed uint64. - :raises RegistrationNotPermittedOnRootSubnet: Attempting to register a child on the root network. - :raises SubNetworkDoesNotExist: Attempting to register to a non-existent network. - :raises TooManyChildren: Too many children in request. - :raises TxRateLimitExceeded: Hotkey hit the rate limit. - :raises bittensor_wallet.errors.KeyFileError: Failed to decode keyfile data. - :raises bittensor_wallet.errors.PasswordError: Decryption failed or wrong password for decryption provided. - - - - .. py:attribute:: set_commitment - - - .. py:method:: set_delegate_take(wallet, hotkey_ss58, take, wait_for_inclusion = True, wait_for_finalization = True, raise_error = False, period = None) - :async: - - - Sets the delegate 'take' percentage for a neuron identified by its hotkey. - The 'take' represents the percentage of rewards that the delegate claims from its nominators' stakes. - - :param wallet: bittensor wallet instance. - :param hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - :param take: Percentage reward for the delegate. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on_error: Raises a relevant exception - rather than returning ``False`` if unsuccessful. - :param raise_error: raises a relevant exception rather than returning ``False`` if unsuccessful. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - :returns: - - A tuple where the first element is a boolean indicating success or failure of the - operation, and the second element is a message providing additional information. - :rtype: tuple[bool, str] - - :raises DelegateTakeTooHigh: Delegate take is too high. - :raises DelegateTakeTooLow: Delegate take is too low. - :raises DelegateTxRateLimitExceeded: A transactor exceeded the rate limit for delegate transaction. - :raises HotKeyAccountNotExists: The hotkey does not exist. - :raises NonAssociatedColdKey: Request to stake, unstake, or subscribe is made by a coldkey that is not associated - with the hotkey account. - :raises bittensor_wallet.errors.PasswordError: Decryption failed or wrong password for decryption provided. - :raises bittensor_wallet.errors.KeyFileError: Failed to decode keyfile data. - - The delegate take is a critical parameter in the network's incentive structure, influencing the distribution of - rewards among neurons and their nominators. - - - - .. py:method:: set_reveal_commitment(wallet, netuid, data, blocks_until_reveal = 360, block_time = 12, period = None) - :async: - - - Commits arbitrary data to the Bittensor network by publishing metadata. - - :param wallet: The wallet associated with the neuron committing the data. - :param netuid: The unique identifier of the subnetwork. - :param data: The data to be committed to the network. - :param blocks_until_reveal: The number of blocks from now after which the data will be revealed. - Defaults to ``360`` (the number of blocks in one epoch). - :param block_time: The number of seconds between each block. Defaults to ``12``. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - :returns: ``True`` if the commitment was successful, ``False`` otherwise. - :rtype: bool - - Note: A commitment can be set once per subnet epoch and is reset at the next epoch in the chain automatically. - - - - .. py:method:: set_subnet_identity(wallet, netuid, subnet_identity, wait_for_inclusion = False, wait_for_finalization = True, period = None) - :async: - - - Sets the identity of a subnet for a specific wallet and network. - - :param wallet: The wallet instance that will authorize the transaction. - :param netuid: The unique ID of the network on which the operation takes place. - :param subnet_identity: The identity data of the subnet including attributes like name, GitHub - repository, contact, URL, discord, description, and any additional metadata. - :param wait_for_inclusion: Indicates if the function should wait for the transaction to be included in the - block. - :param wait_for_finalization: Indicates if the function should wait for the transaction to reach - finalization. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - :returns: - - A tuple where the first element is a boolean indicating success or failure of the - operation, and the second element is a message providing additional information. - :rtype: tuple[bool, str] - - - - .. py:method:: set_weights(wallet, netuid, uids, weights, version_key = version_as_int, wait_for_inclusion = False, wait_for_finalization = False, max_retries = 5, block_time = 12.0, period = 8, mechid = 0, commit_reveal_version = 4) - :async: - - - Sets the weight vector for a neuron acting as a validator, specifying the weights assigned to subnet miners - based on their performance evaluation. - - This method allows subnet validators to submit their weight vectors, which rank the value of each subnet miner's - work. These weight vectors are used by the Yuma Consensus algorithm to compute emissions for both validators and - miners. - - :param wallet: The wallet associated with the neuron setting the weights. - :param netuid: The unique identifier of the subnet. - :param uids: The list of neuron UIDs that the weights are being set for. - :param weights: The corresponding weights to be set for each UID. - :param version_key: Version key for compatibility with the network. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param max_retries: The number of maximum attempts to set weights. - :param block_time: The number of seconds for block duration. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - :param mechid: The subnet mechanism unique identifier. - :param commit_reveal_version: The version of the commit-reveal in the chain. - - :returns: `True` if the setting of weights is successful, `False` otherwise. - `msg` is a string value describing the success or potential error. - :rtype: tuple - - This function is crucial in the Yuma Consensus mechanism, where each validator's weight vector contributes to - the overall weight matrix used to calculate emissions and maintain network consensus. - - .. admonition:: Notes - - See - - - - .. py:method:: sign_and_send_extrinsic(call, wallet, wait_for_inclusion = True, wait_for_finalization = False, sign_with = 'coldkey', use_nonce = False, period = None, nonce_key = 'hotkey', raise_error = False) - :async: - - - Helper method to sign and submit an extrinsic call to chain. - - :param call: a prepared Call object - :param wallet: the wallet whose coldkey will be used to sign the extrinsic - :param wait_for_inclusion: whether to wait until the extrinsic call is included on the chain - :param wait_for_finalization: whether to wait until the extrinsic call is finalized on the chain - :param sign_with: the wallet's keypair to use for the signing. Options are "coldkey", "hotkey", "coldkeypub" - :param use_nonce: unique identifier for the transaction related with hot/coldkey. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :param nonce_key: the type on nonce to use. Options are "hotkey" or "coldkey". - :param nonce_key: the type on nonce to use. Options are "hotkey", "coldkey", or "coldkeypub". - :param raise_error: raises a relevant exception rather than returning ``False`` if unsuccessful. - - :returns: (success, error message) - - :raises SubstrateRequestException: Substrate request exception. - - - - .. py:method:: start_call(wallet, netuid, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start - a new subnet's emission mechanism). - - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to `True`. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to `False`. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - :param transaction is not included in a block within that number of blocks: - :param it will expire and be rejected. You: - :param can think of it as an expiration date for the transaction.: - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - - - .. py:method:: state_call(method, data, block = None, block_hash = None, reuse_block = False) - :async: - - - Makes a state call to the Bittensor blockchain, allowing for direct queries of the blockchain's state. - This function is typically used for advanced queries that require specific method calls and data inputs. - - :param method: The method name for the state call. - :param data: The data to be passed to the method. - :param block: The blockchain block number at which to perform the state call. - :param block_hash: The hash of the block to retrieve the parameter from. Do not specify if using block or - reuse_block. - :param reuse_block: Whether to use the last-used block. Do not set if using block_hash or block. - - :returns: The result of the rpc call. - :rtype: result (dict[Any, Any]) - - The state call function provides a more direct and flexible way of querying blockchain data, useful for specific - use cases where standard queries are insufficient. - - - - .. py:method:: subnet(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the subnet information for a single subnet in the Bittensor network. - - :param netuid: The unique identifier of the subnet. - :param block: The block number to get the subnets at. - :param block_hash: The hash of the blockchain block number for the query. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: A DynamicInfo object, containing detailed information about a subnet. - :rtype: Optional[DynamicInfo] - - - - .. py:method:: subnet_exists(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Checks if a subnet with the specified unique identifier (netuid) exists within the Bittensor network. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number at which to check the subnet existence. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: ``True`` if the subnet exists, ``False`` otherwise. - - This function is critical for verifying the presence of specific subnets in the network, enabling a deeper - understanding of the network's structure and composition. - - - - .. py:method:: subnetwork_n(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Returns network SubnetworkN hyperparameter. - - :param netuid: The unique identifier of the subnetwork. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number at which to check the subnet existence. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: - - The value of the SubnetworkN hyperparameter, or ``None`` if the subnetwork does not exist or - the parameter is not found. - :rtype: Optional[int] - - - - .. py:attribute:: substrate - - - .. py:method:: swap_stake(wallet, hotkey_ss58, origin_netuid, destination_netuid, amount, wait_for_inclusion = True, wait_for_finalization = False, safe_staking = False, allow_partial_stake = False, rate_tolerance = 0.005, period = None) - :async: - - - Moves stake between subnets while keeping the same coldkey-hotkey pair ownership. - Like subnet hopping - same owner, same hotkey, just changing which subnet the stake is in. - - :param wallet: The wallet to swap stake from. - :param hotkey_ss58: The SS58 address of the hotkey whose stake is being swapped. - :param origin_netuid: The netuid from which stake is removed. - :param destination_netuid: The netuid to which stake is added. - :param amount: The amount to swap. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param safe_staking: If true, enables price safety checks to protect against fluctuating prices. The swap will only - execute if the price ratio between subnets doesn't exceed the rate tolerance. Default is False. - :param allow_partial_stake: If true and safe_staking is enabled, allows partial stake swaps when the full amount - would exceed the price threshold. If false, the entire swap fails if it would exceed the threshold. - Default is False. - :param rate_tolerance: The maximum allowed increase in the price ratio between subnets - (origin_price/destination_price). For example, 0.005 = 0.5% maximum increase. Only used when - safe_staking is True. Default is 0.005. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - - :returns: True if the extrinsic was successful. - :rtype: success - - The price ratio for swap_stake in safe mode is calculated as: origin_subnet_price / destination_subnet_price - When safe_staking is enabled, the swap will only execute if: - - With allow_partial_stake=False: The entire swap amount can be executed without the price ratio increasing - more than rate_tolerance. - - With allow_partial_stake=True: A partial amount will be swapped up to the point where the price ratio - would increase by rate_tolerance. - - - - .. py:method:: tempo(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Returns network Tempo hyperparameter. - - :param netuid: The unique identifier of the subnetwork. - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number at which to check the subnet existence. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: - - The value of the Tempo hyperparameter, or ``None`` if the subnetwork does not exist or the - parameter is not found. - :rtype: Optional[int] - - - - .. py:method:: toggle_user_liquidity(wallet, netuid, enable, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Allow to toggle user liquidity for specified subnet. - - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param enable: Boolean indicating whether to enable user liquidity. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - Note: The call can be executed successfully by the subnet owner only. - - - - .. py:method:: transfer(wallet, dest, amount, transfer_all = False, wait_for_inclusion = True, wait_for_finalization = False, keep_alive = True, period = None) - :async: - - - Transfer token of amount to destination. - - :param wallet: Source wallet for the transfer. - :param dest: Destination address for the transfer. - :param amount: Number of tokens to transfer. `None` is transferring all. - :param transfer_all: Flag to transfer all tokens. Default is `False`. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `True`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. - :param keep_alive: Flag to keep the connection alive. Default is `True`. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - - :returns: `True` if the transferring was successful, otherwise `False`. - - - - .. py:method:: transfer_stake(wallet, destination_coldkey_ss58, hotkey_ss58, origin_netuid, destination_netuid, amount, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Transfers stake from one subnet to another while changing the coldkey owner. - - :param wallet: The wallet to transfer stake from. - :param destination_coldkey_ss58: The destination coldkey SS58 address. - :param hotkey_ss58: The hotkey SS58 address associated with the stake. - :param origin_netuid: The source subnet UID. - :param destination_netuid: The destination subnet UID. - :param amount: Amount to transfer. - :param wait_for_inclusion: If true, waits for inclusion before returning. - :param wait_for_finalization: If true, waits for finalization before returning. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - - :returns: True if the transfer was successful. - :rtype: success - - - - .. py:method:: tx_rate_limit(block = None, block_hash = None, reuse_block = False) - :async: - - - Retrieves the transaction rate limit for the Bittensor network as of a specific blockchain block. - This rate limit sets the maximum number of transactions that can be processed within a given time frame. - - :param block: The blockchain block number for the query. - :param block_hash: The hash of the blockchain block number at which to check the subnet existence. - :param reuse_block: Whether to reuse the last-used block hash. - - :returns: The transaction rate limit of the network, ``None`` if not available. - :rtype: Optional[int] - - The transaction rate limit is an essential parameter for ensuring the stability and scalability of the Bittensor - network. It helps in managing network load and preventing congestion, thereby maintaining efficient and timely - transaction processing. - - - - .. py:method:: unstake(wallet, hotkey_ss58 = None, netuid = None, amount = None, wait_for_inclusion = True, wait_for_finalization = False, safe_staking = False, allow_partial_stake = False, rate_tolerance = 0.005, period = None, unstake_all = False) - :async: - - - Removes a specified amount of stake from a single hotkey account. This function is critical for adjusting - individual neuron stakes within the Bittensor network. - - :param wallet: The wallet associated with the neuron from which the stake is being - removed. - :param hotkey_ss58: The `SS58` address of the hotkey account to unstake from. - :param netuid: The unique identifier of the subnet. - :param amount: The amount of alpha to unstake. If not specified, unstakes all. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `True`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to `False`. - :param safe_staking: If true, enables price safety checks to protect against fluctuating prices. The unstake will - only execute if the price change doesn't exceed the rate tolerance. Default is False. - :param allow_partial_stake: If true and safe_staking is enabled, allows partial unstaking when - the full amount would exceed the price threshold. If false, the entire unstake fails if it would exceed - the threshold. Default is False. - :param rate_tolerance: The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum - price decrease. Only used when safe_staking is True. Default is 0.005. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - :param unstake_all: If `True`, unstakes all tokens and `amount` is ignored. Default is `False` - - :returns: `True` if the unstaking process is successful, False otherwise. - :rtype: bool - - This function supports flexible stake management, allowing neurons to adjust their network participation and - potential reward accruals. - - - - .. py:method:: unstake_all(wallet, hotkey, netuid, rate_tolerance = 0.005, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network. - - :param wallet: The wallet of the stake owner. - :param hotkey: The SS58 address of the hotkey to unstake from. - :param netuid: The unique identifier of the subnet. - :param rate_tolerance: The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum - price decrease. If not passed (None), then unstaking goes without price limit. Default is 0.005. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Default is `True`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is `False`. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. Default is `None`. - - :returns: A tuple containing: - - `True` and a success message if the unstake operation succeeded; - - `False` and an error message otherwise. - :rtype: tuple[bool, str] - - .. admonition:: Example - - # If you would like to unstake all stakes in all subnets safely, use default `rate_tolerance` or pass your - value: - import bittensor as bt - - subtensor = bt.AsyncSubtensor() - wallet = bt.Wallet("my_wallet") - netuid = 14 - hotkey = "5%SOME_HOTKEY_WHERE_IS_YOUR_STAKE_NOW%" - - wallet_stakes = await subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address) - - for stake in wallet_stakes: - result = await subtensor.unstake_all( - wallet=wallet, - hotkey_ss58=stake.hotkey_ss58, - netuid=stake.netuid, - ) - print(result) - - # If you would like to unstake all stakes in all subnets unsafely, use `rate_tolerance=None`: - import bittensor as bt - - subtensor = bt.AsyncSubtensor() - wallet = bt.Wallet("my_wallet") - netuid = 14 - hotkey = "5%SOME_HOTKEY_WHERE_IS_YOUR_STAKE_NOW%" - - wallet_stakes = await subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address) - - for stake in wallet_stakes: - result = await subtensor.unstake_all( - wallet=wallet, - hotkey_ss58=stake.hotkey_ss58, - netuid=stake.netuid, - rate_tolerance=None, - ) - print(result) - - - - .. py:method:: unstake_multiple(wallet, hotkey_ss58s, netuids, amounts = None, wait_for_inclusion = True, wait_for_finalization = False, period = None, unstake_all = False) - :async: - - - Performs batch unstaking from multiple hotkey accounts, allowing a neuron to reduce its staked amounts - efficiently. This function is useful for managing the distribution of stakes across multiple neurons. - - :param wallet: The wallet linked to the coldkey from which the stakes are being withdrawn. - :param hotkey_ss58s: A list of hotkey `SS58` addresses to unstake from. - :param netuids: Subnets unique IDs. - :param amounts: The amounts of TAO to unstake from each hotkey. If not provided, unstakes all. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - :param unstake_all: If true, unstakes all tokens. Default is `False`. If `True` amounts are ignored. - - :returns: `True` if the batch unstaking is successful, False otherwise. - :rtype: bool - - This function allows for strategic reallocation or withdrawal of stakes, aligning with the dynamic stake - management aspect of the Bittensor network. - - - - .. py:method:: wait_for_block(block = None) - :async: - - - Waits until a specific block is reached on the chain. If no block is specified, waits for the next block. - - :param block: The block number to wait for. If ``None``, waits for the next block. - - :returns: ``True`` if the target block was reached, ``False`` if timeout occurred. - :rtype: bool - - .. admonition:: Example - - import bittensor as bt - subtensor = bt.Subtensor() - - await subtensor.wait_for_block() # Waits for next block - await subtensor.wait_for_block(block=1234) # Waits for a specific block - - - - .. py:method:: weights(netuid, block = None, block_hash = None, reuse_block = False, mechid = 0) - :async: - - - Retrieves the weight distribution set by neurons within a specific subnet of the Bittensor network. - This function maps each neuron's UID to the weights it assigns to other neurons, reflecting the network's trust - and value assignment mechanisms. - - :param netuid: The network UID of the subnet to query. - :param block: Block number for synchronization, or `None` for the latest block. - :param block_hash: The hash of the blockchain block for the query. - :param reuse_block: reuse the last-used blockchain block hash. - :param mechid: Subnet mechanism identifier. - - :returns: A list of tuples mapping each neuron's UID to its assigned weights. - - The weight distribution is a key factor in the network's consensus algorithm and the ranking of neurons, - influencing their influence and reward allocation within the subnet. - - - - .. py:method:: weights_rate_limit(netuid, block = None, block_hash = None, reuse_block = False) - :async: - - - Returns network WeightsSetRateLimit hyperparameter. - - :param netuid: The unique identifier of the subnetwork. - :param block: The blockchain block number for the query. - :param block_hash: The blockchain block_hash representation of the block id. - :param reuse_block: Whether to reuse the last-used blockchain block hash. - - :returns: - - The value of the WeightsSetRateLimit hyperparameter, or ``None`` if the subnetwork does not - exist or the parameter is not found. - :rtype: Optional[int] - - - -.. py:function:: get_async_subtensor(network = None, config = None, _mock = False, log_verbose = False) - :async: - - - Factory method to create an initialized AsyncSubtensor. - Mainly useful for when you don't want to run `await subtensor.initialize()` after instantiation. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/axon/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/axon/index.rst deleted file mode 100644 index 2c7e2fbb1c..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/axon/index.rst +++ /dev/null @@ -1,941 +0,0 @@ -bittensor.core.axon -=================== - -.. py:module:: bittensor.core.axon - -.. autoapi-nested-parse:: - - Create and initialize Axon, which services the forward and backward requests from other neurons. - - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.core.axon.V_7_2_0 - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.axon.Axon - bittensor.core.axon.AxonMiddleware - bittensor.core.axon.FastAPIThreadedServer - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.axon.create_error_response - bittensor.core.axon.log_and_handle_error - - -Module Contents ---------------- - -.. py:class:: Axon(wallet = None, config = None, port = None, ip = None, external_ip = None, external_port = None, max_workers = None) - - The ``Axon`` class in Bittensor is a fundamental component that serves as the server-side interface for a neuron - within the Bittensor network. - - This class is responsible for managing - incoming requests from other neurons and implements various mechanisms to ensure efficient - and secure network interactions. - - An axon relies on a FastAPI router to create endpoints for different message types. These - endpoints are crucial for handling various request types that a neuron might receive. The - class is designed to be flexible and customizable, allowing users to specify custom rules - for forwarding, blacklisting, prioritizing, and verifying incoming requests. The class also - includes internal mechanisms to manage a thread pool, supporting concurrent handling of - requests with defined priority levels. - - Methods in this class are equipped to deal with incoming requests from various scenarios in the - network and serve as the server face for a neuron. It accepts multiple arguments, like wallet, - configuration parameters, ip address, server binding port, external ip, external port and max - workers. Key methods involve managing and operating the FastAPI application router, including - the attachment and operation of endpoints. - - Key Features: - - - FastAPI router integration for endpoint creation and management. - - Customizable request handling including forwarding, blacklisting, and prioritization. - - Verification of incoming requests against custom-defined functions. - - Thread pool management for concurrent request handling. - - Command-line argument support for user-friendly program interaction. - - Example Usage:: - - import bittensor - # Define your custom synapse class - class MySynapse( bittensor.Synapse ): - input: int = 1 - output: int = None - - # Define a custom request forwarding function using your synapse class - def forward( synapse: MySynapse ) -> MySynapse: - # Apply custom logic to synapse and return it - synapse.output = 2 - return synapse - - # Define a custom request verification function - def verify_my_synapse( synapse: MySynapse ): - # Apply custom verification logic to synapse - # Optionally raise Exception - assert synapse.input == 1 - ... - - # Define a custom request blacklist function - def blacklist_my_synapse( synapse: MySynapse ) -> bool: - # Apply custom blacklist - return False ( if non blacklisted ) or True ( if blacklisted ) - - # Define a custom request priority function - def prioritize_my_synapse( synapse: MySynapse ) -> float: - # Apply custom priority - return 1.0 - - # Initialize Axon object with a custom configuration - my_axon = bittensor.Axon( - config=my_config, - wallet=my_wallet, - port=9090, - ip="192.0.2.0", - external_ip="203.0.113.0", - external_port=7070 - ) - - # Attach the endpoint with the specified verification and forward functions. - my_axon.attach( - forward_fn = forward_my_synapse, - verify_fn = verify_my_synapse, - blacklist_fn = blacklist_my_synapse, - priority_fn = prioritize_my_synapse - ) - - # Serve and start your axon. - my_axon.serve( - netuid = ... - subtensor = ... - ).start() - - # If you have multiple forwarding functions, you can chain attach them. - my_axon.attach( - forward_fn = forward_my_synapse, - verify_fn = verify_my_synapse, - blacklist_fn = blacklist_my_synapse, - priority_fn = prioritize_my_synapse - ).attach( - forward_fn = forward_my_synapse_2, - verify_fn = verify_my_synapse_2, - blacklist_fn = blacklist_my_synapse_2, - priority_fn = prioritize_my_synapse_2 - ).serve( - netuid = ... - subtensor = ... - ).start() - - :param wallet: Wallet with hotkey and coldkeypub. - :type wallet: Optional[bittensor_wallet.Wallet] - :param config: Configuration parameters for the axon. - :type config: Optional[bittensor.core.config.Config] - :param port: Port for server binding. - :type port: Optional[int] - :param ip: Binding IP address. - :type ip: Optional[str] - :param external_ip: External IP address to broadcast. - :type external_ip: Optional[str] - :param external_port: External port to broadcast. - :type external_port: Optional[int] - :param max_workers: Number of active threads for request handling. - :type max_workers: Optional[int] - - :returns: An instance of the axon class configured as per the provided arguments. - :rtype: bittensor.core.axon.Axon - - .. note:: - - This class is a core part of Bittensor's decentralized network for machine intelligence, - allowing neurons to communicate effectively and securely. - - Importance and Functionality - Endpoint Registration - This method dynamically registers API endpoints based on the Synapse used, allowing the Axon to respond to - specific types of requests and synapses. - - Customization of Request Handling - By attaching different functions, the Axon can customize how it - handles, verifies, prioritizes, and potentially blocks incoming requests, making it adaptable to various - network scenarios. - - Security and Efficiency - The method contributes to both the security (via verification and blacklisting) and efficiency (via - prioritization) of request handling, which are crucial in a decentralized network environment. - - Flexibility - The ability to define custom functions for different aspects of request handling provides great flexibility, - allowing the Axon to be tailored to specific needs and use cases within the Bittensor network. - - Error Handling and Validation - The method ensures that the attached functions meet the required - signatures, providing error handling to prevent runtime issues. - - Creates a new bittensor.Axon object from passed arguments. - - :param config: bittensor.Axon.config() - :type config: :obj:`Optional[bittensor.core.config.Config]` - :param wallet: bittensor wallet with hotkey and coldkeypub. - :type wallet: :obj:`Optional[bittensor_wallet.Wallet]` - :param port: Binding port. - :type port: :type:`Optional[int]` - :param ip: Binding ip. - :type ip: :type:`Optional[str]` - :param external_ip: The external ip of the server to broadcast to the network. - :type external_ip: :type:`Optional[str]` - :param external_port: The external port of the server to broadcast to the network. - :type external_port: :type:`Optional[int]` - :param max_workers: Used to create the threadpool if not passed, specifies the number of - active threads servicing requests. - :type max_workers: :type:`Optional[int]` - - - .. py:method:: add_args(parser, prefix = None) - :classmethod: - - - Adds AxonServer-specific command-line arguments to the argument parser. - - :param parser: Argument parser to which the arguments will be added. - :type parser: argparse.ArgumentParser - :param prefix: Prefix to add to the argument names. Defaults to None. - :type prefix: Optional[str] - - .. note:: Environment variables are used to define default values for the arguments. - - - - .. py:attribute:: app - - - .. py:method:: attach(forward_fn, blacklist_fn = None, priority_fn = None, verify_fn = None) - - Attaches custom functions to the Axon server for handling incoming requests. This method enables - the ``Axon`` to define specific behaviors for request forwarding, verification, blacklisting, and - prioritization, thereby customizing its interaction within the Bittensor network. - - Registers an API endpoint to the FastAPI application router. - It uses the name of the first argument of the :func:`forward_fn` function as the endpoint name. - - The :func:`attach` method in the Bittensor framework's axon class is a crucial function for registering - API endpoints to the Axon's FastAPI application router. This method allows the Axon server to - define how it handles incoming requests by attaching functions for forwarding, verifying, - blacklisting, and prioritizing requests. It's a key part of customizing the server's behavior - and ensuring efficient and secure handling of requests within the Bittensor network. - - :param forward_fn: Function to be called when the API endpoint is accessed. It should have at least one - argument. - :type forward_fn: Callable - :param blacklist_fn: Function to filter out undesired requests. It should take the same - arguments as :func:`forward_fn` and return a boolean value. Defaults to ``None``, meaning no blacklist - filter will be used. - :type blacklist_fn: Optional[Callable] - :param priority_fn: Function to rank requests based on their priority. It should take the same - arguments as :func:`forward_fn` and return a numerical value representing the request's priority. - Defaults to ``None``, meaning no priority sorting will be applied. - :type priority_fn: Optional[Callable] - :param verify_fn: Function to verify requests. It should take the same arguments as - :func:`forward_fn` and return a boolean value. If ``None``, :func:`self.default_verify` function will be - used. - :type verify_fn: Optional[Callable] - - .. note:: - - The methods :func:`forward_fn`, :func:`blacklist_fn`, :func:`priority_fn`, and :func:`verify_fn` should be - designed to receive the same parameters. - - :raises AssertionError: If :func:`forward_fn` does not have the signature: ``forward( synapse: YourSynapse ) -> synapse``. - :raises AssertionError: If :func:`blacklist_fn` does not have the signature: ``blacklist( synapse: YourSynapse ) -> bool``. - :raises AssertionError: If :func:`priority_fn` does not have the signature: ``priority( synapse: YourSynapse ) -> float``. - :raises AssertionError: If :func:`verify_fn` does not have the signature: ``verify( synapse: YourSynapse ) -> None``. - - :returns: Returns the instance of the AxonServer class for potential method chaining. - :rtype: self - - Example Usage:: - - def forward_custom(synapse: MyCustomSynapse) -> MyCustomSynapse: - # Custom logic for processing the request - return synapse - - def blacklist_custom(synapse: MyCustomSynapse) -> tuple[bool, str]: - return True, "Allowed!" - - def priority_custom(synapse: MyCustomSynapse) -> float: - return 1.0 - - def verify_custom(synapse: MyCustomSynapse): - # Custom logic for verifying the request - pass - - my_axon = bittensor.Axon(...) - my_axon.attach(forward_fn=forward_custom, verify_fn=verify_custom) - - .. note:: - - The :func:`attach` method is fundamental in setting up the Axon server's request handling capabilities, - enabling it to participate effectively and securely in the Bittensor network. The flexibility - offered by this method allows developers to tailor the Axon's behavior to specific requirements and - use cases. - - - - .. py:attribute:: blacklist_fns - :type: dict[str, Optional[Callable]] - - - .. py:method:: check_config(config) - :classmethod: - - - This method checks the configuration for the axon's port and wallet. - - :param config: The config object holding axon settings. - :type config: bittensor.core.config.Config - - :raises AssertionError: If the axon or external ports are not in range [1024, 65535] - - - - .. py:method:: config() - :classmethod: - - - Parses the command-line arguments to form a Bittensor configuration object. - - :returns: Configuration object with settings from command-line arguments. - :rtype: bittensor.core.config.Config - - - - .. py:method:: default_verify(synapse) - :async: - - - This method is used to verify the authenticity of a received message using a digital signature. - - It ensures that the message was not tampered with and was sent by the expected sender. - - The :func:`default_verify` method in the Bittensor framework is a critical security function within the - Axon server. It is designed to authenticate incoming messages by verifying their digital - signatures. This verification ensures the integrity of the message and confirms that it was - indeed sent by the claimed sender. The method plays a pivotal role in maintaining the trustworthiness - and reliability of the communication within the Bittensor network. - - Key Features - Security Assurance - The default_verify method is crucial for ensuring the security of the Bittensor network. By verifying - digital signatures, it guards against unauthorized access and data manipulation. - - Preventing Replay Attacks - The method checks for increasing nonce values, which is a vital - step in preventing replay attacks. A replay attack involves an adversary reusing or - delaying the transmission of a valid data transmission to deceive the receiver. - The first time a nonce is seen, it is checked for freshness by ensuring it is - within an acceptable delta time range. - - Authenticity and Integrity Checks - By verifying that the message's digital signature matches - its content, the method ensures the message's authenticity (it comes from the claimed - sender) and integrity (it hasn't been altered during transmission). - - Trust in Communication - This method fosters trust in the network communication. Neurons - (nodes in the Bittensor network) can confidently interact, knowing that the messages they - receive are genuine and have not been tampered with. - - Cryptographic Techniques - The method's reliance on asymmetric encryption techniques is a - cornerstone of modern cryptographic security, ensuring that only entities with the correct - cryptographic keys can participate in secure communication. - - :param synapse: bittensor request synapse. - :type synapse: bittensor.core.synapse.Synapse - - :raises Exception: If the ``receiver_hotkey`` doesn't match with ``self.receiver_hotkey``. - :raises Exception: If the nonce is not larger than the previous nonce for the same endpoint key. - :raises Exception: If the signature verification fails. - - After successful verification, the nonce for the given endpoint key is updated. - - .. note:: - - The verification process assumes the use of an asymmetric encryption algorithm, - where the sender signs the message with their private key and the receiver verifies the - signature using the sender's public key. - - - - .. py:attribute:: external_ip - :type: str - - - .. py:attribute:: external_port - :type: int - - - .. py:attribute:: fast_config - - - .. py:attribute:: fast_server - - - .. py:attribute:: forward_class_types - :type: dict[str, list[inspect.Signature]] - - - .. py:attribute:: forward_fns - :type: dict[str, Optional[Callable]] - - - .. py:attribute:: full_address - :value: ':' - - - - .. py:method:: help() - :classmethod: - - - Prints the help text (list of command-line arguments and their descriptions) to stdout. - - - - .. py:method:: info() - - Returns the axon info object associated with this axon. - - - - .. py:attribute:: ip - :type: str - - - .. py:attribute:: middleware_cls - - - .. py:attribute:: nonces - :type: dict[str, int] - - - .. py:attribute:: port - :type: int - - - .. py:attribute:: priority_fns - :type: dict[str, Optional[Callable]] - - - .. py:attribute:: router - - - .. py:method:: serve(netuid, subtensor = None, certificate = None) - - Serves the Axon on the specified subtensor connection using the configured wallet. This method - registers the Axon with a specific subnet within the Bittensor network, identified by the ``netuid``. - It links the Axon to the broader network, allowing it to participate in the decentralized exchange - of information. - - :param netuid: The unique identifier of the subnet to register on. This ID is essential for the Axon to - correctly position itself within the Bittensor network topology. - :type netuid: int - :param subtensor: The subtensor connection to use for serving. If - not provided, a new connection is established based on default configurations. - :type subtensor: Optional[bittensor.core.subtensor.Subtensor] - - :returns: The Axon instance that is now actively serving on the specified subtensor. - :rtype: bittensor.core.axon.Axon - - Example:: - - my_axon = bittensor.Axon(...) - subtensor = bt.subtensor(network="local") # Local by default - my_axon.serve(netuid=1, subtensor=subtensor) # Serves the axon on subnet with netuid 1 - - .. note:: - - The ``serve`` method is crucial for integrating the Axon into the Bittensor network, allowing it - to start receiving and processing requests from other neurons. - - - - .. py:method:: start() - - Starts the Axon server and its underlying FastAPI server thread, transitioning the state of the - Axon instance to ``started``. This method initiates the server's ability to accept and process - incoming network requests, making it an active participant in the Bittensor network. - - The start method triggers the FastAPI server associated with the Axon to begin listening for - incoming requests. It is a crucial step in making the neuron represented by this Axon operational - within the Bittensor network. - - :returns: The Axon instance in the 'started' state. - :rtype: bittensor.core.axon.Axon - - Example:: - - my_axon = bittensor.Axon(...) - ... # setup axon, attach functions, etc. - my_axon.start() # Starts the axon server - - .. note:: - - After invoking this method, the Axon is ready to handle requests as per its configured endpoints and custom - logic. - - - - .. py:attribute:: started - :value: False - - - - .. py:method:: stop() - - Stops the Axon server and its underlying GRPC server thread, transitioning the state of the Axon - instance to ``stopped``. This method ceases the server's ability to accept new network requests, - effectively removing the neuron's server-side presence in the Bittensor network. - - By stopping the FastAPI server, the Axon ceases to listen for incoming requests, and any existing - connections are gracefully terminated. This function is typically used when the neuron is being - shut down or needs to temporarily go offline. - - :returns: The Axon instance in the 'stopped' state. - :rtype: bittensor.core.axon.Axon - - Example:: - - my_axon = bittensor.Axon(...) - my_axon.start() - ... - my_axon.stop() # Stops the axon server - - - .. note:: - - It is advisable to ensure that all ongoing processes or requests are completed or properly handled before - invoking this method. - - - - .. py:attribute:: thread_pool - - - .. py:method:: to_string() - - Provides a human-readable representation of the AxonInfo for this Axon. - - - - .. py:attribute:: uuid - :value: '' - - - - .. py:method:: verify_body_integrity(request) - :async: - - - The ``verify_body_integrity`` method in the Bittensor framework is a key security function within the - Axon server's middleware. It is responsible for ensuring the integrity of the body of incoming HTTP - requests. - - It asynchronously verifies the integrity of the body of a request by comparing the hash of required fields - with the corresponding hashes provided in the request headers. This method is critical for ensuring - that the incoming request payload has not been altered or tampered with during transmission, establishing - a level of trust and security between the sender and receiver in the network. - - :param request: The incoming FastAPI request object containing both headers and the request body. - :type request: Request - - :returns: - - Returns the parsed body of the request as a dictionary if all the hash comparisons match, indicating - that the body is intact and has not been tampered with. - :rtype: dict - - :raises JSONResponse: Raises a JSONResponse with a 400 status code if any of the hash comparisons fail, indicating - a potential integrity issue with the incoming request payload. The response includes the detailed error - message specifying which field has a hash mismatch. - - This method performs several key functions: - - 1. Decoding and loading the request body for inspection. - 2. Gathering required field names for hash comparison from the Axon configuration. - 3. Loading and parsing the request body into a dictionary. - 4. Reconstructing the Synapse object and recomputing the hash for verification and logging. - 5. Comparing the recomputed hash with the hash provided in the request headers for verification. - - .. note:: - - The integrity verification is an essential step in ensuring the security of the data exchange within the - Bittensor network. It helps prevent tampering and manipulation of data during transit, thereby maintaining - the reliability and trust in the network communication. - - - - .. py:attribute:: verify_fns - :type: dict[str, Optional[Callable]] - - - .. py:attribute:: wallet - :type: bittensor_wallet.Wallet - - -.. py:class:: AxonMiddleware(app, axon) - - Bases: :py:obj:`starlette.middleware.base.BaseHTTPMiddleware` - - - The `AxonMiddleware` class is a key component in the Axon server, responsible for processing all incoming requests. - - It handles the essential tasks of verifying requests, executing blacklist checks, - running priority functions, and managing the logging of messages and errors. Additionally, the class - is responsible for updating the headers of the response and executing the requested functions. - - This middleware acts as an intermediary layer in request handling, ensuring that each request is - processed according to the defined rules and protocols of the Bittensor network. It plays a pivotal - role in maintaining the integrity and security of the network communication. - - :param app: An instance of the FastAPI application to which this middleware is attached. - :type app: FastAPI - :param axon: The Axon instance that will process the requests. - :type axon: bittensor.core.axon.Axon - - The middleware operates by intercepting incoming requests, performing necessary preprocessing - (like verification and priority assessment), executing the request through the Axon's endpoints, and - then handling any postprocessing steps such as response header updating and logging. - - Initialize the AxonMiddleware class. - - :param app: An instance of the application where the middleware processor is - used. - :type app: bittensor.core.axon.AxonMiddleware - :param axon: The axon instance used to process the requests. - :type axon: bittensor.core.axon.Axon - - - .. py:attribute:: axon - - - .. py:method:: blacklist(synapse) - :async: - - - Checks if the request should be blacklisted. This method ensures that requests from disallowed - sources or with malicious intent are blocked from processing. This can be extremely useful for - preventing spam or other forms of abuse. The blacklist is a list of keys or identifiers that - are prohibited from accessing certain resources. - - :param synapse: The Synapse object representing the request. - :type synapse: bittensor.core.synapse.Synapse - - :raises Exception: If the request is found in the blacklist. - - The blacklist check involves: - - 1. Retrieving the blacklist checking function for the request's Synapse type. - 2. Executing the check and handling the case where the request is blacklisted. - - If a request is blacklisted, it is blocked, and an exception is raised to halt further processing. - - - - .. py:method:: dispatch(request, call_next) - :async: - - - Asynchronously processes incoming HTTP requests and returns the corresponding responses. This - method acts as the central processing unit of the AxonMiddleware, handling each step in the - request lifecycle. - - :param request: The incoming HTTP request to be processed. - :type request: Request - :param call_next: A callable that processes the request and returns a response. - :type call_next: RequestResponseEndpoint - - :returns: The HTTP response generated after processing the request. - :rtype: Response - - This method performs several key functions: - - 1. Request Preprocessing: Sets up Synapse object from request headers and fills necessary information. - 2. Logging: Logs the start of request processing. - 3. Blacklist Checking: Verifies if the request is blacklisted. - 4. Request Verification: Ensures the authenticity and integrity of the request. - 5. Priority Assessment: Evaluates and assigns priority to the request. - 6. Request Execution: Calls the next function in the middleware chain to process the request. - 7. Response Postprocessing: Updates response headers and logs the end of the request processing. - - The method also handles exceptions and errors that might occur during each stage, ensuring that - appropriate responses are returned to the client. - - - - .. py:method:: preprocess(request) - :async: - - - Performs the initial processing of the incoming request. This method is responsible for - extracting relevant information from the request and setting up the Synapse object, which - represents the state and context of the request within the Axon server. - - :param request: The incoming request to be preprocessed. - :type request: Request - - :returns: The Synapse object representing the preprocessed state of the request. - :rtype: bittensor.core.synapse.Synapse - - The preprocessing involves: - - 1. Extracting the request name from the URL path. - 2. Creating a Synapse instance from the request headers using the appropriate class type. - 3. Filling in the Axon and Dendrite information into the Synapse object. - 4. Signing the Synapse from the Axon side using the wallet hotkey. - - This method sets the foundation for the subsequent steps in the request handling process, - ensuring that all necessary information is encapsulated within the Synapse object. - - - - .. py:method:: priority(synapse) - :async: - - - Executes the priority function for the request. This method assesses and assigns a priority - level to the request, determining its urgency and importance in the processing queue. - - :param synapse: The Synapse object representing the request. - :type synapse: bittensor.core.synapse.Synapse - - :raises Exception: If the priority assessment process encounters issues, such as timeouts. - - The priority function plays a crucial role in managing the processing load and ensuring that - critical requests are handled promptly. - - - - .. py:method:: run(synapse, call_next, request) - :async: - - - Executes the requested function as part of the request processing pipeline. This method calls - the next function in the middleware chain to process the request and generate a response. - - :param synapse: The Synapse object representing the request. - :type synapse: bittensor.core.synapse.Synapse - :param call_next: The next function in the middleware chain to process requests. - :type call_next: RequestResponseEndpoint - :param request: The original HTTP request. - :type request: Request - - :returns: The HTTP response generated by processing the request. - :rtype: Response - - This method is a critical part of the request lifecycle, where the actual processing of the - request takes place, leading to the generation of a response. - - - - .. py:method:: synapse_to_response(synapse, start_time, *, response_override = None) - :classmethod: - - :async: - - - Converts the Synapse object into a JSON response with HTTP headers. - - :param synapse: The Synapse object representing the request. - :type synapse: bittensor.core.synapse.Synapse - :param start_time: The timestamp when the request processing started. - :type start_time: float - :param response_override: Instead of serializing the synapse, mutate the provided response object. This is only - really useful for StreamingSynapse responses. - - :returns: The final HTTP response, with updated headers, ready to be sent back to the client. - :rtype: Response - - Postprocessing is the last step in the request handling process, ensuring that the response is - properly formatted and contains all necessary information. - - - - .. py:method:: verify(synapse) - :async: - - - Verifies the authenticity and integrity of the request. This method ensures that the incoming - request meets the predefined security and validation criteria. - - :param synapse: The Synapse object representing the request. - :type synapse: bittensor.core.synapse.Synapse - - :raises Exception: If the verification process fails due to unmet criteria or security concerns. - - The verification process involves: - - 1. Retrieving the specific verification function for the request's Synapse type. - 2. Executing the verification function and handling any exceptions that arise. - - Successful verification allows the request to proceed further in the processing pipeline, while - failure results in an appropriate exception being raised. - - - -.. py:class:: FastAPIThreadedServer(config) - - Bases: :py:obj:`uvicorn.Server` - - - The ``FastAPIThreadedServer`` class is a specialized server implementation for the Axon server in the Bittensor - network. - It extends the functionality of :func:`uvicorn.Server` to run the FastAPI application in a separate thread, allowing - the Axon server to handle HTTP requests concurrently and non-blocking. - - This class is designed to facilitate the integration of FastAPI with the Axon's asynchronous architecture, ensuring - efficient and scalable handling of network requests. - - Importance and Functionality - Threaded Execution - The class allows the FastAPI application to run in a separate thread, enabling concurrent handling of HTTP - requests which is crucial for the performance and scalability of the Axon server. - - Seamless Integration - By running FastAPI in a threaded manner, this class ensures seamless integration of FastAPI's capabilities - with the Axon server's asynchronous and multi-threaded architecture. - - Controlled Server Management - The methods start and stop provide controlled management of the server's lifecycle, ensuring that the server - can be started and stopped as needed, which is vital for maintaining the Axon server's reliability and - availability. - - Signal Handling - Overriding the default signal handlers prevents potential conflicts with the Axon server's main application - flow, ensuring stable operation in various network conditions. - - Use Cases - Starting the Server - When the Axon server is initialized, it can use this class to start the FastAPI application in a separate - thread, enabling it to begin handling HTTP requests immediately. - - Stopping the Server - During shutdown or maintenance of the Axon server, this class can be used to stop the FastAPI application - gracefully, ensuring that all resources are properly released. - - Example Usage:: - - self.app = FastAPI() - log_level = "trace" - self.fast_config = uvicorn.Config(self.app, host="0.0.0.0", port=self.config.axon.port, log_level=log_level) - self.fast_server = FastAPIThreadedServer(config=self.fast_config) - self.fast_server.start() - # do something - self.fast_server.stop() - - :param should_exit: Flag to indicate whether the server should stop running. - :type should_exit: bool - :param is_running: Flag to indicate whether the server is currently running. - :type is_running: bool - - The server overrides the default signal handlers to prevent interference with the main application flow and provides - methods to start and stop the server in a controlled manner. - - - .. py:method:: install_signal_handlers() - - Overrides the default signal handlers provided by ``uvicorn.Server``. This method is essential to ensure that - the signal handling in the threaded server does not interfere with the main application's flow, especially in a - complex asynchronous environment like the Axon server. - - - - .. py:attribute:: is_running - :type: bool - :value: False - - - - .. py:method:: run_in_thread() - - Manages the execution of the server in a separate thread, allowing the FastAPI application to run asynchronously - without blocking the main thread of the Axon server. This method is a key component in enabling concurrent - request handling in the Axon server. - - :Yields: *None* -- This method yields control back to the caller while the server is running in the background thread. - - - - .. py:attribute:: should_exit - :type: bool - :value: False - - - - .. py:method:: start() - - Starts the FastAPI server in a separate thread if it is not already running. This method sets up the server to - handle HTTP requests concurrently, enabling the Axon server to efficiently manage incoming network requests. - - The method ensures that the server starts running in a non-blocking manner, allowing the Axon server to continue - its other operations seamlessly. - - - - .. py:method:: stop() - - Signals the FastAPI server to stop running. This method sets the :func:`should_exit` flag to ``True``, - indicating that the server should cease its operations and exit the running thread. - - Stopping the server is essential for controlled shutdowns and resource management in the Axon server, especially - during maintenance or when redeploying with updated configurations. - - - -.. py:data:: V_7_2_0 - :value: 7002000 - - -.. py:function:: create_error_response(synapse) - - Creates an error response based on the provided synapse object. - - :param synapse: The synapse object containing details about the request and the - associated axon. - :type synapse: bittensor.core.synapse.Synapse - - :returns: A JSON response with a status code and content indicating the error message. - :rtype: JSONResponse - - -.. py:function:: log_and_handle_error(synapse, exception, status_code = None, start_time = None) - - Logs the error and updates the synapse object with the appropriate error details. - - :param synapse: The synapse object to be updated with error information. - :type synapse: bittensor.core.synapse.Synapse - :param exception: The exception that was raised and needs to be logged and handled. - :type exception: Exception - :param status_code: The HTTP status code to be set on the synapse object. Defaults to None. - :type status_code: Optional[int] - :param start_time: The timestamp marking the start of the processing, used to calculate process time. - Defaults to None. - :type start_time: Optional[float] - - :returns: The updated synapse object with error details. - :rtype: Synapse - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/axon_info/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/axon_info/index.rst deleted file mode 100644 index c99fbe26e3..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/axon_info/index.rst +++ /dev/null @@ -1,162 +0,0 @@ -bittensor.core.chain_data.axon_info -=================================== - -.. py:module:: bittensor.core.chain_data.axon_info - -.. autoapi-nested-parse:: - - This module defines the `AxonInfo` class, a data structure used to represent information about an axon endpoint - in the bittensor network. - - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.axon_info.AxonInfo - - -Module Contents ---------------- - -.. py:class:: AxonInfo - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - The `AxonInfo` class represents information about an axon endpoint in the bittensor network. This includes - properties such as IP address, ports, and relevant keys. - - :ivar version: The version of the axon endpoint. - :vartype version: int - :ivar ip: The IP address of the axon endpoint. - :vartype ip: str - :ivar port: The port number the axon endpoint uses. - :vartype port: int - :ivar ip_type: The type of IP protocol (e.g., IPv4 or IPv6). - :vartype ip_type: int - :ivar hotkey: The hotkey associated with the axon endpoint. - :vartype hotkey: str - :ivar coldkey: The coldkey associated with the axon endpoint. - :vartype coldkey: str - :ivar protocol: The protocol version (default is 4). - :vartype protocol: int - :ivar placeholder1: Reserved field (default is 0). - :vartype placeholder1: int - :ivar placeholder2: Reserved field (default is 0). - - :vartype placeholder2: int - - - .. py:attribute:: coldkey - :type: str - - - .. py:method:: from_neuron_info(neuron_info) - :classmethod: - - - Converts a dictionary to an `AxonInfo` object. - - :param neuron_info: A dictionary containing the neuron information. - :type neuron_info: dict - - :returns: An instance of AxonInfo created from the dictionary. - :rtype: instance (AxonInfo) - - - - .. py:method:: from_parameter_dict(parameter_dict) - :classmethod: - - - Returns an axon_info object from a torch parameter_dict or a parameter dict. - - - - .. py:method:: from_string(json_string) - :classmethod: - - - Creates an `AxonInfo` object from its string representation using JSON. - - :param json_string: The JSON string representation of the AxonInfo object. - :type json_string: str - - :returns: - - An instance of AxonInfo created from the JSON string. If decoding fails, returns a default - `AxonInfo` object with default values. - :rtype: AxonInfo - - :raises json.JSONDecodeError: If there is an error in decoding the JSON string. - :raises TypeError: If there is a type error when creating the AxonInfo object. - :raises ValueError: If there is a value error when creating the AxonInfo object. - - - - .. py:attribute:: hotkey - :type: str - - - .. py:attribute:: ip - :type: str - - - .. py:method:: ip_str() - - Return the whole IP as string - - - - .. py:attribute:: ip_type - :type: int - - - .. py:property:: is_serving - :type: bool - - - True if the endpoint is serving. - - - .. py:attribute:: placeholder1 - :type: int - :value: 0 - - - - .. py:attribute:: placeholder2 - :type: int - :value: 0 - - - - .. py:attribute:: port - :type: int - - - .. py:attribute:: protocol - :type: int - :value: 4 - - - - .. py:method:: to_parameter_dict() - - Returns a torch tensor or dict of the subnet info, depending on the USE_TORCH flag set. - - - - .. py:method:: to_string() - - Converts the `AxonInfo` object to a string representation using JSON. - - - - .. py:attribute:: version - :type: int - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/chain_identity/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/chain_identity/index.rst deleted file mode 100644 index 0f81c9ffa1..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/chain_identity/index.rst +++ /dev/null @@ -1,53 +0,0 @@ -bittensor.core.chain_data.chain_identity -======================================== - -.. py:module:: bittensor.core.chain_data.chain_identity - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.chain_identity.ChainIdentity - - -Module Contents ---------------- - -.. py:class:: ChainIdentity - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - Dataclass for chain identity information. - - - .. py:attribute:: additional - :type: str - - - .. py:attribute:: description - :type: str - - - .. py:attribute:: discord - :type: str - - - .. py:attribute:: github - :type: str - - - .. py:attribute:: image - :type: str - - - .. py:attribute:: name - :type: str - - - .. py:attribute:: url - :type: str - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/delegate_info/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/delegate_info/index.rst deleted file mode 100644 index f51e5dec0e..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/delegate_info/index.rst +++ /dev/null @@ -1,112 +0,0 @@ -bittensor.core.chain_data.delegate_info -======================================= - -.. py:module:: bittensor.core.chain_data.delegate_info - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.delegate_info.DelegateInfo - bittensor.core.chain_data.delegate_info.DelegateInfoBase - bittensor.core.chain_data.delegate_info.DelegatedInfo - - -Module Contents ---------------- - -.. py:class:: DelegateInfo - - Bases: :py:obj:`DelegateInfoBase` - - - Dataclass for delegate information. - - Additional Attributes: - total_stake (dict[int, Balance]): Total stake of the delegate mapped by netuid. - nominators (dict[str, dict[int, Balance]]): Mapping of nominator SS58 addresses to their stakes per subnet. - - - .. py:attribute:: nominators - :type: dict[str, dict[int, bittensor.utils.balance.Balance]] - - - .. py:attribute:: total_stake - :type: dict[int, bittensor.utils.balance.Balance] - - -.. py:class:: DelegateInfoBase - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - Base class containing common delegate information fields. - - :ivar hotkey_ss58: Hotkey of delegate. - :vartype hotkey_ss58: str - :ivar owner_ss58: Coldkey of owner. - :vartype owner_ss58: str - :ivar take: Take of the delegate as a percentage. - :vartype take: float - :ivar validator_permits: List of subnets that the delegate is allowed to validate on. - :vartype validator_permits: list[int] - :ivar registrations: List of subnets that the delegate is registered on. - :vartype registrations: list[int] - :ivar return_per_1000: Return per 1000 tao of the delegate over a day. - :vartype return_per_1000: Balance - :ivar total_daily_return: Total daily return of the delegate. - - :vartype total_daily_return: Balance - - - .. py:attribute:: hotkey_ss58 - :type: str - - - .. py:attribute:: owner_ss58 - :type: str - - - .. py:attribute:: registrations - :type: list[int] - - - .. py:attribute:: return_per_1000 - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: take - :type: float - - - .. py:attribute:: total_daily_return - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: validator_permits - :type: list[int] - - -.. py:class:: DelegatedInfo - - Bases: :py:obj:`DelegateInfoBase` - - - Dataclass for delegated information. This class represents a delegate's information - specific to a particular subnet. - - Additional Attributes: - netuid (int): Network ID of the subnet. - stake (Balance): Stake amount for this specific delegation. - - - .. py:attribute:: netuid - :type: int - - - .. py:attribute:: stake - :type: bittensor.utils.balance.Balance - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/delegate_info_lite/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/delegate_info_lite/index.rst deleted file mode 100644 index dd5d95df7a..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/delegate_info_lite/index.rst +++ /dev/null @@ -1,74 +0,0 @@ -bittensor.core.chain_data.delegate_info_lite -============================================ - -.. py:module:: bittensor.core.chain_data.delegate_info_lite - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite - - -Module Contents ---------------- - -.. py:class:: DelegateInfoLite - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - Dataclass for `DelegateLiteInfo`. This is a lighter version of :func:``DelegateInfo``. - - :param delegate_ss58: Hotkey of the delegate for which the information is being fetched. - :type delegate_ss58: str - :param take: Take of the delegate as a percentage. - :type take: float - :param nominators: Count of the nominators of the delegate. - :type nominators: int - :param owner_ss58: Coldkey of the owner. - :type owner_ss58: str - :param registrations: List of subnets that the delegate is registered on. - :type registrations: list[int] - :param validator_permits: List of subnets that the delegate is allowed to validate on. - :type validator_permits: list[int] - :param return_per_1000: Return per 1000 TAO, for the delegate over a day. - :type return_per_1000: int - :param total_daily_return: Total daily return of the delegate. - :type total_daily_return: int - - - .. py:attribute:: delegate_ss58 - :type: str - - - .. py:attribute:: nominators - :type: int - - - .. py:attribute:: owner_ss58 - :type: str - - - .. py:attribute:: registrations - :type: list[int] - - - .. py:attribute:: return_per_1000 - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: take - :type: float - - - .. py:attribute:: total_daily_return - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: validator_permits - :type: list[int] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/dynamic_info/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/dynamic_info/index.rst deleted file mode 100644 index bdd4ad29ff..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/dynamic_info/index.rst +++ /dev/null @@ -1,168 +0,0 @@ -bittensor.core.chain_data.dynamic_info -====================================== - -.. py:module:: bittensor.core.chain_data.dynamic_info - -.. autoapi-nested-parse:: - - This module defines the `DynamicInfo` data class and associated methods for handling and decoding - dynamic information in the Bittensor network. - - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.dynamic_info.DynamicInfo - - -Module Contents ---------------- - -.. py:class:: DynamicInfo - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - Base dataclass for info objects. - - - .. py:attribute:: alpha_in - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: alpha_in_emission - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: alpha_out - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: alpha_out_emission - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: alpha_slippage - - - .. py:method:: alpha_to_tao(alpha) - - - .. py:method:: alpha_to_tao_with_slippage(alpha, percentage = False) - - Returns an estimate of how much TAO would a staker receive if they unstake their alpha using the current pool state. - - :param alpha: Amount of Alpha to stake. - :param percentage: percentage - - :returns: If percentage is False, a tuple of balances where the first part is the amount of TAO received, and the - second part (slippage) is the difference between the estimated amount and ideal - amount as if there was no slippage. If percentage is True, a float representing the slippage percentage. - - - - .. py:attribute:: blocks_since_last_step - :type: int - - - .. py:attribute:: emission - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: is_dynamic - :type: bool - - - .. py:attribute:: k - :type: float - - - .. py:attribute:: last_step - :type: int - - - .. py:attribute:: moving_price - :type: float - - - .. py:attribute:: netuid - :type: int - - - .. py:attribute:: network_registered_at - :type: int - - - .. py:attribute:: owner_coldkey - :type: str - - - .. py:attribute:: owner_hotkey - :type: str - - - .. py:attribute:: pending_alpha_emission - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: pending_root_emission - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: price - :type: Optional[bittensor.utils.balance.Balance] - - - .. py:attribute:: slippage - - - .. py:attribute:: subnet_identity - :type: Optional[bittensor.core.chain_data.subnet_identity.SubnetIdentity] - - - .. py:attribute:: subnet_name - :type: str - - - .. py:attribute:: subnet_volume - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: symbol - :type: str - - - .. py:attribute:: tao_in - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: tao_in_emission - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: tao_slippage - - - .. py:method:: tao_to_alpha(tao) - - - .. py:method:: tao_to_alpha_with_slippage(tao, percentage = False) - - Returns an estimate of how much Alpha would a staker receive if they stake their tao using the current pool state. - - :param tao: Amount of TAO to stake. - :param percentage: percentage - - :returns: If percentage is False, a tuple of balances where the first part is the amount of Alpha received, and the - second part (slippage) is the difference between the estimated amount and ideal - amount as if there was no slippage. If percentage is True, a float representing the slippage percentage. - - - - .. py:attribute:: tempo - :type: int - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/index.rst deleted file mode 100644 index f562ab046f..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/index.rst +++ /dev/null @@ -1,41 +0,0 @@ -bittensor.core.chain_data -========================= - -.. py:module:: bittensor.core.chain_data - -.. autoapi-nested-parse:: - - This module provides data structures and functions for working with the Bittensor network, including neuron and subnet - information, SCALE encoding/decoding, and custom RPC type registry. - - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/core/chain_data/axon_info/index - /autoapi/bittensor/core/chain_data/chain_identity/index - /autoapi/bittensor/core/chain_data/delegate_info/index - /autoapi/bittensor/core/chain_data/delegate_info_lite/index - /autoapi/bittensor/core/chain_data/dynamic_info/index - /autoapi/bittensor/core/chain_data/info_base/index - /autoapi/bittensor/core/chain_data/ip_info/index - /autoapi/bittensor/core/chain_data/metagraph_info/index - /autoapi/bittensor/core/chain_data/neuron_info/index - /autoapi/bittensor/core/chain_data/neuron_info_lite/index - /autoapi/bittensor/core/chain_data/prometheus_info/index - /autoapi/bittensor/core/chain_data/proposal_vote_data/index - /autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index - /autoapi/bittensor/core/chain_data/sim_swap/index - /autoapi/bittensor/core/chain_data/stake_info/index - /autoapi/bittensor/core/chain_data/subnet_hyperparameters/index - /autoapi/bittensor/core/chain_data/subnet_identity/index - /autoapi/bittensor/core/chain_data/subnet_info/index - /autoapi/bittensor/core/chain_data/subnet_state/index - /autoapi/bittensor/core/chain_data/utils/index - /autoapi/bittensor/core/chain_data/weight_commit_info/index - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/info_base/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/info_base/index.rst deleted file mode 100644 index 4d4b777626..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/info_base/index.rst +++ /dev/null @@ -1,42 +0,0 @@ -bittensor.core.chain_data.info_base -=================================== - -.. py:module:: bittensor.core.chain_data.info_base - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.core.chain_data.info_base.T - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.info_base.InfoBase - - -Module Contents ---------------- - -.. py:class:: InfoBase - - Base dataclass for info objects. - - - .. py:method:: from_dict(decoded) - :classmethod: - - - - .. py:method:: list_from_dicts(any_list) - :classmethod: - - - -.. py:data:: T - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/ip_info/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/ip_info/index.rst deleted file mode 100644 index 208e3fd8ec..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/ip_info/index.rst +++ /dev/null @@ -1,62 +0,0 @@ -bittensor.core.chain_data.ip_info -================================= - -.. py:module:: bittensor.core.chain_data.ip_info - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.ip_info.IPInfo - - -Module Contents ---------------- - -.. py:class:: IPInfo - - Dataclass representing IP information. - - :ivar ip: The IP address as a string. - :vartype ip: str - :ivar ip_type: The type of the IP address (e.g., IPv4, IPv6). - :vartype ip_type: int - :ivar protocol: The protocol associated with the IP (e.g., TCP, UDP). - - :vartype protocol: int - - - .. py:method:: encode() - - Returns a dictionary of the IPInfo object that can be encoded. - - - - .. py:method:: from_parameter_dict(parameter_dict) - :classmethod: - - - Creates a IPInfo instance from a parameter dictionary. - - - - .. py:attribute:: ip - :type: str - - - .. py:attribute:: ip_type - :type: int - - - .. py:attribute:: protocol - :type: int - - - .. py:method:: to_parameter_dict() - - Returns a torch tensor or dict of the subnet IP info. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/metagraph_info/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/metagraph_info/index.rst deleted file mode 100644 index 9b021dd5a7..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/metagraph_info/index.rst +++ /dev/null @@ -1,919 +0,0 @@ -bittensor.core.chain_data.metagraph_info -======================================== - -.. py:module:: bittensor.core.chain_data.metagraph_info - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.core.chain_data.metagraph_info.SELECTIVE_METAGRAPH_COMMITMENTS_OFFSET - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.metagraph_info.MetagraphInfo - bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions - bittensor.core.chain_data.metagraph_info.MetagraphInfoParams - bittensor.core.chain_data.metagraph_info.MetagraphInfoPool - bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.chain_data.metagraph_info.get_selective_metagraph_commitments - bittensor.core.chain_data.metagraph_info.process_nested - - -Module Contents ---------------- - -.. py:class:: MetagraphInfo - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - Base dataclass for info objects. - - - .. py:attribute:: active - :type: list[bool] - - - .. py:attribute:: activity_cutoff - :type: int - - - .. py:attribute:: adjustment_alpha - :type: float - - - .. py:attribute:: adjustment_interval - :type: int - - - .. py:attribute:: alpha_dividends_per_hotkey - :type: list[tuple[str, bittensor.utils.balance.Balance]] - - - .. py:attribute:: alpha_high - :type: float - - - .. py:attribute:: alpha_in - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: alpha_in_emission - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: alpha_low - :type: float - - - .. py:attribute:: alpha_out - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: alpha_out_emission - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: alpha_stake - :type: list[bittensor.utils.balance.Balance] - - - .. py:attribute:: axons - :type: list[bittensor.core.chain_data.axon_info.AxonInfo] - - - .. py:attribute:: block - :type: int - - - .. py:attribute:: block_at_registration - :type: list[int] - - - .. py:attribute:: blocks_since_last_step - :type: int - - - .. py:attribute:: bonds_moving_avg - :type: float - - - .. py:attribute:: burn - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: coldkeys - :type: list[str] - - - .. py:attribute:: commit_reveal_period - :type: int - - - .. py:attribute:: commit_reveal_weights_enabled - :type: bool - - - .. py:attribute:: commitments - :type: Optional[tuple[tuple[str, str]]] - - - .. py:attribute:: consensus - :type: list[float] - - - .. py:attribute:: difficulty - :type: float - - - .. py:attribute:: dividends - :type: list[float] - - - .. py:attribute:: emission - :type: list[bittensor.utils.balance.Balance] - - - .. py:attribute:: hotkeys - :type: list[str] - - - .. py:attribute:: identities - :type: list[Optional[bittensor.core.chain_data.chain_identity.ChainIdentity]] - - - .. py:attribute:: identity - :type: Optional[bittensor.core.chain_data.subnet_identity.SubnetIdentity] - - - .. py:attribute:: immunity_period - :type: int - - - .. py:attribute:: incentives - :type: list[float] - - - .. py:attribute:: kappa - :type: float - - - .. py:attribute:: last_step - :type: int - - - .. py:attribute:: last_update - :type: list[int] - - - .. py:attribute:: liquid_alpha_enabled - :type: bool - - - .. py:attribute:: max_burn - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: max_difficulty - :type: float - - - .. py:attribute:: max_regs_per_block - :type: int - - - .. py:attribute:: max_uids - :type: int - - - .. py:attribute:: max_validators - :type: int - - - .. py:attribute:: max_weights_limit - :type: float - - - .. py:attribute:: mechid - :type: int - :value: 0 - - - - .. py:attribute:: min_allowed_weights - :type: float - - - .. py:attribute:: min_burn - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: min_difficulty - :type: float - - - .. py:attribute:: moving_price - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: name - :type: str - - - .. py:attribute:: netuid - :type: int - - - .. py:attribute:: network_registered_at - :type: int - - - .. py:attribute:: num_uids - :type: int - - - .. py:attribute:: owner_coldkey - :type: Optional[str] - - - .. py:attribute:: owner_hotkey - :type: Optional[str] - - - .. py:attribute:: pending_alpha_emission - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: pending_root_emission - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: pow_registration_allowed - :type: bool - - - .. py:attribute:: pruning_score - :type: list[float] - - - .. py:attribute:: rank - :type: list[float] - - - .. py:attribute:: registration_allowed - :type: bool - - - .. py:attribute:: rho - :type: int - - - .. py:attribute:: serving_rate_limit - :type: int - - - .. py:attribute:: subnet_emission - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: subnet_volume - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: symbol - :type: str - - - .. py:attribute:: tao_dividends_per_hotkey - :type: list[tuple[str, bittensor.utils.balance.Balance]] - - - .. py:attribute:: tao_in - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: tao_in_emission - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: tao_stake - :type: list[bittensor.utils.balance.Balance] - - - .. py:attribute:: target_regs_per_interval - :type: int - - - .. py:attribute:: tempo - :type: int - - - .. py:attribute:: total_stake - :type: list[bittensor.utils.balance.Balance] - - - .. py:attribute:: trust - :type: list[float] - - - .. py:attribute:: validator_permit - :type: list[bool] - - - .. py:attribute:: validators - :type: Optional[list[str]] - - - .. py:attribute:: weights_rate_limit - :type: int - - - .. py:attribute:: weights_version - :type: int - - -.. py:class:: MetagraphInfoEmissions - - Emissions presented in tao values. - - - .. py:attribute:: alpha_in_emission - :type: float - - - .. py:attribute:: alpha_out_emission - :type: float - - - .. py:attribute:: pending_alpha_emission - :type: float - - - .. py:attribute:: pending_root_emission - :type: float - - - .. py:attribute:: subnet_emission - :type: float - - - .. py:attribute:: tao_in_emission - :type: float - - -.. py:class:: MetagraphInfoParams - - .. py:attribute:: activity_cutoff - :type: int - - - .. py:attribute:: adjustment_alpha - :type: float - - - .. py:attribute:: adjustment_interval - :type: int - - - .. py:attribute:: alpha_high - :type: float - - - .. py:attribute:: alpha_low - :type: float - - - .. py:attribute:: bonds_moving_avg - :type: float - - - .. py:attribute:: burn - :type: float - - - .. py:attribute:: commit_reveal_period - :type: int - - - .. py:attribute:: commit_reveal_weights_enabled - :type: bool - - - .. py:attribute:: difficulty - :type: float - - - .. py:attribute:: immunity_period - :type: int - - - .. py:attribute:: kappa - :type: float - - - .. py:attribute:: liquid_alpha_enabled - :type: bool - - - .. py:attribute:: max_burn - :type: float - - - .. py:attribute:: max_difficulty - :type: float - - - .. py:attribute:: max_regs_per_block - :type: int - - - .. py:attribute:: max_validators - :type: int - - - .. py:attribute:: max_weights_limit - :type: float - - - .. py:attribute:: min_allowed_weights - :type: float - - - .. py:attribute:: min_burn - :type: float - - - .. py:attribute:: min_difficulty - :type: float - - - .. py:attribute:: pow_registration_allowed - :type: bool - - - .. py:attribute:: registration_allowed - :type: bool - - - .. py:attribute:: rho - :type: int - - - .. py:attribute:: serving_rate_limit - :type: int - - - .. py:attribute:: target_regs_per_interval - :type: int - - - .. py:attribute:: tempo - :type: int - - - .. py:attribute:: weights_rate_limit - :type: int - - - .. py:attribute:: weights_version - :type: int - - -.. py:class:: MetagraphInfoPool - - Pool presented in tao values. - - - .. py:attribute:: alpha_in - :type: float - - - .. py:attribute:: alpha_out - :type: float - - - .. py:attribute:: moving_price - :type: float - - - .. py:attribute:: subnet_volume - :type: float - - - .. py:attribute:: tao_in - :type: float - - -.. py:data:: SELECTIVE_METAGRAPH_COMMITMENTS_OFFSET - :value: 14 - - -.. py:class:: SelectiveMetagraphIndex - - Bases: :py:obj:`enum.Enum` - - - Generic enumeration. - - Derive from this class to define new enumerations. - - - .. py:attribute:: Active - :value: 56 - - - - .. py:attribute:: ActivityCutoff - :value: 28 - - - - .. py:attribute:: AdjustmentAlpha - :value: 41 - - - - .. py:attribute:: AdjustmentInterval - :value: 42 - - - - .. py:attribute:: AlphaDividendsPerHotkey - :value: 71 - - - - .. py:attribute:: AlphaHigh - :value: 49 - - - - .. py:attribute:: AlphaIn - :value: 12 - - - - .. py:attribute:: AlphaInEmission - :value: 16 - - - - .. py:attribute:: AlphaLow - :value: 50 - - - - .. py:attribute:: AlphaOut - :value: 13 - - - - .. py:attribute:: AlphaOutEmission - :value: 15 - - - - .. py:attribute:: AlphaStake - :value: 67 - - - - .. py:attribute:: Axons - :value: 55 - - - - .. py:attribute:: Block - :value: 7 - - - - .. py:attribute:: BlockAtRegistration - :value: 66 - - - - .. py:attribute:: BlocksSinceLastStep - :value: 10 - - - - .. py:attribute:: BondsMovingAvg - :value: 51 - - - - .. py:attribute:: Burn - :value: 32 - - - - .. py:attribute:: Coldkeys - :value: 53 - - - - .. py:attribute:: CommitRevealPeriod - :value: 47 - - - - .. py:attribute:: CommitRevealWeightsEnabled - :value: 46 - - - - .. py:attribute:: Commitments - :value: 73 - - - - .. py:attribute:: Consensus - :value: 63 - - - - .. py:attribute:: Difficulty - :value: 33 - - - - .. py:attribute:: Dividends - :value: 61 - - - - .. py:attribute:: Emission - :value: 60 - - - - .. py:attribute:: Hotkeys - :value: 52 - - - - .. py:attribute:: Identities - :value: 54 - - - - .. py:attribute:: Identity - :value: 3 - - - - .. py:attribute:: ImmunityPeriod - :value: 36 - - - - .. py:attribute:: Incentives - :value: 62 - - - - .. py:attribute:: Kappa - :value: 23 - - - - .. py:attribute:: LastStep - :value: 9 - - - - .. py:attribute:: LastUpdate - :value: 59 - - - - .. py:attribute:: LiquidAlphaEnabled - :value: 48 - - - - .. py:attribute:: MaxBurn - :value: 40 - - - - .. py:attribute:: MaxDifficulty - :value: 38 - - - - .. py:attribute:: MaxRegsPerBlock - :value: 44 - - - - .. py:attribute:: MaxUids - :value: 31 - - - - .. py:attribute:: MaxValidators - :value: 29 - - - - .. py:attribute:: MaxWeightsLimit - :value: 25 - - - - .. py:attribute:: MinAllowedWeights - :value: 24 - - - - .. py:attribute:: MinBurn - :value: 39 - - - - .. py:attribute:: MinDifficulty - :value: 37 - - - - .. py:attribute:: MovingPrice - :value: 21 - - - - .. py:attribute:: Name - :value: 1 - - - - .. py:attribute:: Netuid - :value: 0 - - - - .. py:attribute:: NetworkRegisteredAt - :value: 4 - - - - .. py:attribute:: NumUids - :value: 30 - - - - .. py:attribute:: OwnerColdkey - :value: 6 - - - - .. py:attribute:: OwnerHotkey - :value: 5 - - - - .. py:attribute:: PendingAlphaEmission - :value: 18 - - - - .. py:attribute:: PendingRootEmission - :value: 19 - - - - .. py:attribute:: PowRegistrationAllowed - :value: 35 - - - - .. py:attribute:: PruningScore - :value: 58 - - - - .. py:attribute:: Rank - :value: 65 - - - - .. py:attribute:: RegistrationAllowed - :value: 34 - - - - .. py:attribute:: Rho - :value: 22 - - - - .. py:attribute:: ServingRateLimit - :value: 45 - - - - .. py:attribute:: SubnetEmission - :value: 11 - - - - .. py:attribute:: SubnetVolume - :value: 20 - - - - .. py:attribute:: Symbol - :value: 2 - - - - .. py:attribute:: TaoDividendsPerHotkey - :value: 70 - - - - .. py:attribute:: TaoIn - :value: 14 - - - - .. py:attribute:: TaoInEmission - :value: 17 - - - - .. py:attribute:: TaoStake - :value: 68 - - - - .. py:attribute:: TargetRegsPerInterval - :value: 43 - - - - .. py:attribute:: Tempo - :value: 8 - - - - .. py:attribute:: TotalStake - :value: 69 - - - - .. py:attribute:: Trust - :value: 64 - - - - .. py:attribute:: ValidatorPermit - :value: 57 - - - - .. py:attribute:: Validators - :value: 72 - - - - .. py:attribute:: WeightsRateLimit - :value: 27 - - - - .. py:attribute:: WeightsVersion - :value: 26 - - - - .. py:method:: all_indices() - :staticmethod: - - - -.. py:function:: get_selective_metagraph_commitments(decoded) - - Returns a tuple of hotkeys and commitments from decoded chain data if provided, else None. - - -.. py:function:: process_nested(data, chr_transform) - - Processes nested data structures by applying a transformation function to their elements. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/neuron_info/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/neuron_info/index.rst deleted file mode 100644 index cb7d6fd912..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/neuron_info/index.rst +++ /dev/null @@ -1,199 +0,0 @@ -bittensor.core.chain_data.neuron_info -===================================== - -.. py:module:: bittensor.core.chain_data.neuron_info - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.neuron_info.NeuronInfo - - -Module Contents ---------------- - -.. py:class:: NeuronInfo - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - Represents the metadata of a neuron including keys, UID, stake, rankings, and other attributes. - - :ivar hotkey: The hotkey associated with the neuron. - :vartype hotkey: str - :ivar coldkey: The coldkey associated with the neuron. - :vartype coldkey: str - :ivar uid: The unique identifier for the neuron. - :vartype uid: int - :ivar netuid: The network unique identifier for the neuron. - :vartype netuid: int - :ivar active: The active status of the neuron. - :vartype active: int - :ivar stake: The balance staked to this neuron. - :vartype stake: Balance - :ivar stake_dict: A dictionary mapping coldkey to the amount staked. - :vartype stake_dict: dict[str, Balance] - :ivar total_stake: The total amount of stake. - :vartype total_stake: Balance - :ivar rank: The rank score of the neuron. - :vartype rank: float - :ivar emission: The emission rate. - :vartype emission: float - :ivar incentive: The incentive value. - :vartype incentive: float - :ivar consensus: The consensus score. - :vartype consensus: float - :ivar trust: The trust score. - :vartype trust: float - :ivar validator_trust: The validation trust score. - :vartype validator_trust: float - :ivar dividends: The dividends value. - :vartype dividends: float - :ivar last_update: The timestamp of the last update. - :vartype last_update: int - :ivar validator_permit: Validator permit status. - :vartype validator_permit: bool - :ivar weights: List of weights associated with the neuron. - :vartype weights: list[tuple[int]] - :ivar bonds: List of bonds associated with the neuron. - :vartype bonds: list[list[int]] - :ivar pruning_score: The pruning score of the neuron. - :vartype pruning_score: int - :ivar prometheus_info: Information related to Prometheus. - :vartype prometheus_info: Optional[PrometheusInfo] - :ivar axon_info: Information related to Axon. - :vartype axon_info: Optional[AxonInfo] - :ivar is_null: Indicator if this is a null neuron. - - :vartype is_null: bool - - - .. py:attribute:: active - :type: int - - - .. py:attribute:: axon_info - :type: Optional[bittensor.core.chain_data.axon_info.AxonInfo] - :value: None - - - - .. py:attribute:: bonds - :type: list[list[int]] - - - .. py:attribute:: coldkey - :type: str - - - .. py:attribute:: consensus - :type: float - - - .. py:attribute:: dividends - :type: float - - - .. py:attribute:: emission - :type: float - - - .. py:method:: from_weights_bonds_and_neuron_lite(neuron_lite, weights_as_dict, bonds_as_dict) - :classmethod: - - - Creates an instance of NeuronInfo from NeuronInfoLite and dictionaries of weights and bonds. - - :param neuron_lite: A lite version of the neuron containing basic attributes. - :type neuron_lite: NeuronInfoLite - :param weights_as_dict: A dictionary where the key is the UID and the value is - a list of weight tuples associated with the neuron. - :type weights_as_dict: dict[int, list[tuple[int, int]]] - :param bonds_as_dict: A dictionary where the key is the UID and the value is a - list of bond tuples associated with the neuron. - :type bonds_as_dict: dict[int, list[tuple[int, int]]] - - :returns: An instance of NeuronInfo populated with the provided weights and bonds. - :rtype: NeuronInfo - - - - .. py:method:: get_null_neuron() - :staticmethod: - - - Returns a null NeuronInfo instance. - - - - .. py:attribute:: hotkey - :type: str - - - .. py:attribute:: incentive - :type: float - - - .. py:attribute:: is_null - :type: bool - :value: False - - - - .. py:attribute:: last_update - :type: int - - - .. py:attribute:: netuid - :type: int - - - .. py:attribute:: prometheus_info - :type: Optional[bittensor.core.chain_data.prometheus_info.PrometheusInfo] - :value: None - - - - .. py:attribute:: pruning_score - :type: int - - - .. py:attribute:: rank - :type: float - - - .. py:attribute:: stake - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: stake_dict - :type: dict[str, bittensor.utils.balance.Balance] - - - .. py:attribute:: total_stake - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: trust - :type: float - - - .. py:attribute:: uid - :type: int - - - .. py:attribute:: validator_permit - :type: bool - - - .. py:attribute:: validator_trust - :type: float - - - .. py:attribute:: weights - :type: list[tuple[int, int]] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/neuron_info_lite/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/neuron_info_lite/index.rst deleted file mode 100644 index 9ac1cb8cbc..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/neuron_info_lite/index.rst +++ /dev/null @@ -1,172 +0,0 @@ -bittensor.core.chain_data.neuron_info_lite -========================================== - -.. py:module:: bittensor.core.chain_data.neuron_info_lite - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite - - -Module Contents ---------------- - -.. py:class:: NeuronInfoLite - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - NeuronInfoLite is a dataclass representing neuron metadata without weights and bonds. - - :ivar hotkey: The hotkey string for the neuron. - :vartype hotkey: str - :ivar coldkey: The coldkey string for the neuron. - :vartype coldkey: str - :ivar uid: A unique identifier for the neuron. - :vartype uid: int - :ivar netuid: Network unique identifier for the neuron. - :vartype netuid: int - :ivar active: Indicates whether the neuron is active. - :vartype active: int - :ivar stake: The stake amount associated with the neuron. - :vartype stake: Balance - :ivar stake_dict: Mapping of coldkey to the amount staked to this Neuron. - :vartype stake_dict: dict - :ivar total_stake: Total amount of the stake. - :vartype total_stake: Balance - :ivar rank: The rank of the neuron. - :vartype rank: float - :ivar emission: The emission value of the neuron. - :vartype emission: float - :ivar incentive: The incentive value of the neuron. - :vartype incentive: float - :ivar consensus: The consensus value of the neuron. - :vartype consensus: float - :ivar trust: Trust value of the neuron. - :vartype trust: float - :ivar validator_trust: Validator trust value of the neuron. - :vartype validator_trust: float - :ivar dividends: Dividends associated with the neuron. - :vartype dividends: float - :ivar last_update: Timestamp of the last update. - :vartype last_update: int - :ivar validator_permit: Indicates if the neuron has a validator permit. - :vartype validator_permit: bool - :ivar prometheus_info: Prometheus information associated with the neuron. - :vartype prometheus_info: Optional[PrometheusInfo] - :ivar axon_info: Axon information associated with the neuron. - :vartype axon_info: Optional[AxonInfo] - :ivar pruning_score: The pruning score of the neuron. - :vartype pruning_score: int - :ivar is_null: Indicates whether the neuron is null. - - :vartype is_null: bool - - .. method:: get_null_neuron - - Returns a NeuronInfoLite object representing a null neuron. - - .. method:: list_from_vec_u8 - - Decodes a bytes object into a list of NeuronInfoLite instances. - - - - .. py:attribute:: active - :type: int - - - .. py:attribute:: axon_info - :type: Optional[bittensor.core.chain_data.axon_info.AxonInfo] - - - .. py:attribute:: coldkey - :type: str - - - .. py:attribute:: consensus - :type: float - - - .. py:attribute:: dividends - :type: float - - - .. py:attribute:: emission - :type: float - - - .. py:method:: get_null_neuron() - :staticmethod: - - - Returns a null NeuronInfoLite instance. - - - - .. py:attribute:: hotkey - :type: str - - - .. py:attribute:: incentive - :type: float - - - .. py:attribute:: is_null - :type: bool - :value: False - - - - .. py:attribute:: last_update - :type: int - - - .. py:attribute:: netuid - :type: int - - - .. py:attribute:: prometheus_info - :type: Optional[bittensor.core.chain_data.prometheus_info.PrometheusInfo] - - - .. py:attribute:: pruning_score - :type: int - - - .. py:attribute:: rank - :type: float - - - .. py:attribute:: stake - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: stake_dict - :type: dict[str, bittensor.utils.balance.Balance] - - - .. py:attribute:: total_stake - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: trust - :type: float - - - .. py:attribute:: uid - :type: int - - - .. py:attribute:: validator_permit - :type: bool - - - .. py:attribute:: validator_trust - :type: float - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/prometheus_info/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/prometheus_info/index.rst deleted file mode 100644 index 1f934280b1..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/prometheus_info/index.rst +++ /dev/null @@ -1,57 +0,0 @@ -bittensor.core.chain_data.prometheus_info -========================================= - -.. py:module:: bittensor.core.chain_data.prometheus_info - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.prometheus_info.PrometheusInfo - - -Module Contents ---------------- - -.. py:class:: PrometheusInfo - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - Dataclass representing information related to Prometheus. - - :ivar block: The block number associated with the Prometheus data. - :vartype block: int - :ivar version: The version of the Prometheus data. - :vartype version: int - :ivar ip: The IP address associated with Prometheus. - :vartype ip: str - :ivar port: The port number for Prometheus. - :vartype port: int - :ivar ip_type: The type of IP address (e.g., IPv4, IPv6). - - :vartype ip_type: int - - - .. py:attribute:: block - :type: int - - - .. py:attribute:: ip - :type: str - - - .. py:attribute:: ip_type - :type: int - - - .. py:attribute:: port - :type: int - - - .. py:attribute:: version - :type: int - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/proposal_vote_data/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/proposal_vote_data/index.rst deleted file mode 100644 index b48d574088..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/proposal_vote_data/index.rst +++ /dev/null @@ -1,50 +0,0 @@ -bittensor.core.chain_data.proposal_vote_data -============================================ - -.. py:module:: bittensor.core.chain_data.proposal_vote_data - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.proposal_vote_data.ProposalVoteData - - -Module Contents ---------------- - -.. py:class:: ProposalVoteData - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - Senate / Proposal data - - - .. py:attribute:: ayes - :type: list[str] - - - .. py:attribute:: end - :type: int - - - .. py:method:: from_dict(proposal_dict) - :classmethod: - - - - .. py:attribute:: index - :type: int - - - .. py:attribute:: nays - :type: list[str] - - - .. py:attribute:: threshold - :type: int - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.rst deleted file mode 100644 index 0da72e7d09..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.rst +++ /dev/null @@ -1,53 +0,0 @@ -bittensor.core.chain_data.scheduled_coldkey_swap_info -===================================================== - -.. py:module:: bittensor.core.chain_data.scheduled_coldkey_swap_info - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo - - -Module Contents ---------------- - -.. py:class:: ScheduledColdkeySwapInfo - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - The `ScheduledColdkeySwapInfo` class is a dataclass representing information about scheduled cold key swaps. - - :ivar old_coldkey: The old cold key before the swap. - :vartype old_coldkey: str - :ivar new_coldkey: The new cold key after the swap. - :vartype new_coldkey: str - :ivar arbitration_block: The block number at which the arbitration of the swap will take place. - - :vartype arbitration_block: int - - - .. py:attribute:: arbitration_block - :type: int - - - .. py:method:: decode_account_id_list(vec_u8) - :classmethod: - - - Decodes a list of AccountIds from vec_u8. - - - - .. py:attribute:: new_coldkey - :type: str - - - .. py:attribute:: old_coldkey - :type: str - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/sim_swap/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/sim_swap/index.rst deleted file mode 100644 index e1615fac24..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/sim_swap/index.rst +++ /dev/null @@ -1,66 +0,0 @@ -bittensor.core.chain_data.sim_swap -================================== - -.. py:module:: bittensor.core.chain_data.sim_swap - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.sim_swap.SimSwapResult - - -Module Contents ---------------- - -.. py:class:: SimSwapResult - - Represents the result of a simulated swap operation. - - This class is used to encapsulate the amounts and fees for the simulated swap process, including both tao and alpha token values. - It provides a convenient way to manage and interpret the swap results. - - :ivar tao_amount: The amount of tao tokens obtained as the result of the swap. - :ivar alpha_amount: The amount of alpha tokens obtained as the result of the swap. - :ivar tao_fee: The fee associated with the tao token portion of the swap. - :ivar alpha_fee: The fee associated with the alpha token portion of the swap. - - - - .. py:attribute:: alpha_amount - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: alpha_fee - :type: bittensor.utils.balance.Balance - - - .. py:method:: from_dict(data, netuid) - :classmethod: - - - Converts a dictionary to a SimSwapResult instance. - - This method acts as a factory to create a SimSwapResult object using the data - from a dictionary. It parses the specified dictionary, converts values into - Balance objects, and sets associated units based on parameters and context. - - :param data: A dictionary containing the swap result data. It must include the keys "tao_amount", "alpha_amount", - "tao_fee", and "alpha_fee" with their respective values. - :param netuid: A network-specific unit identifier used to set the unit for alpha-related amounts. - - :returns: An instance of SimSwapResult initialized with the parsed and converted data. - :rtype: SimSwapResult - - - - .. py:attribute:: tao_amount - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: tao_fee - :type: bittensor.utils.balance.Balance - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/stake_info/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/stake_info/index.rst deleted file mode 100644 index 17fc33d562..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/stake_info/index.rst +++ /dev/null @@ -1,73 +0,0 @@ -bittensor.core.chain_data.stake_info -==================================== - -.. py:module:: bittensor.core.chain_data.stake_info - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.stake_info.StakeInfo - - -Module Contents ---------------- - -.. py:class:: StakeInfo - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - Dataclass for representing stake information linked to hotkey and coldkey pairs. - - :ivar hotkey_ss58: The SS58 encoded hotkey address. - :vartype hotkey_ss58: str - :ivar coldkey_ss58: The SS58 encoded coldkey address. - :vartype coldkey_ss58: str - :ivar stake: The stake associated with the hotkey-coldkey pair, represented as a Balance object. - - :vartype stake: Balance - - - .. py:attribute:: coldkey_ss58 - :type: str - - - .. py:attribute:: drain - :type: int - - - .. py:attribute:: emission - :type: bittensor.utils.balance.Balance - - - .. py:method:: from_dict(decoded) - :classmethod: - - - Returns a StakeInfo object from decoded chain data. - - - - .. py:attribute:: hotkey_ss58 - :type: str - - - .. py:attribute:: is_registered - :type: bool - - - .. py:attribute:: locked - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: netuid - :type: int - - - .. py:attribute:: stake - :type: bittensor.utils.balance.Balance - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.rst deleted file mode 100644 index f11bb4f505..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.rst +++ /dev/null @@ -1,225 +0,0 @@ -bittensor.core.chain_data.subnet_hyperparameters -================================================ - -.. py:module:: bittensor.core.chain_data.subnet_hyperparameters - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters - - -Module Contents ---------------- - -.. py:class:: SubnetHyperparameters - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - This class represents the hyperparameters for a subnet. - - :ivar rho: The rate of decay of some value. - :vartype rho: int - :ivar kappa: A constant multiplier used in calculations. - :vartype kappa: int - :ivar immunity_period: The period during which immunity is active. - :vartype immunity_period: int - :ivar min_allowed_weights: Minimum allowed weights. - :vartype min_allowed_weights: int - :ivar max_weight_limit: Maximum weight limit. - :vartype max_weight_limit: float - :ivar tempo: The tempo or rate of operation. - :vartype tempo: int - :ivar min_difficulty: Minimum difficulty for some operations. - :vartype min_difficulty: int - :ivar max_difficulty: Maximum difficulty for some operations. - :vartype max_difficulty: int - :ivar weights_version: The version number of the weights used. - :vartype weights_version: int - :ivar weights_rate_limit: Rate limit for processing weights. - :vartype weights_rate_limit: int - :ivar adjustment_interval: Interval at which adjustments are made. - :vartype adjustment_interval: int - :ivar activity_cutoff: Activity cutoff threshold. - :vartype activity_cutoff: int - :ivar registration_allowed: Indicates if registration is allowed. - :vartype registration_allowed: bool - :ivar target_regs_per_interval: Target number of registrations per interval. - :vartype target_regs_per_interval: int - :ivar min_burn: Minimum burn value. - :vartype min_burn: int - :ivar max_burn: Maximum burn value. - :vartype max_burn: int - :ivar bonds_moving_avg: Moving average of bonds. - :vartype bonds_moving_avg: int - :ivar max_regs_per_block: Maximum number of registrations per block. - :vartype max_regs_per_block: int - :ivar serving_rate_limit: Limit on the rate of service. - :vartype serving_rate_limit: int - :ivar max_validators: Maximum number of validators. - :vartype max_validators: int - :ivar adjustment_alpha: Alpha value for adjustments. - :vartype adjustment_alpha: int - :ivar difficulty: Difficulty level. - :vartype difficulty: int - :ivar commit_reveal_period: Interval for commit-reveal weights. - :vartype commit_reveal_period: int - :ivar commit_reveal_weights_enabled: Flag indicating if commit-reveal weights are enabled. - :vartype commit_reveal_weights_enabled: bool - :ivar alpha_high: High value of alpha. - :vartype alpha_high: int - :ivar alpha_low: Low value of alpha. - :vartype alpha_low: int - :ivar liquid_alpha_enabled: Flag indicating if liquid alpha is enabled. - :vartype liquid_alpha_enabled: bool - :ivar alpha_sigmoid_steepness: - :vartype alpha_sigmoid_steepness: float - :ivar yuma_version: Version of yuma. - :vartype yuma_version: int - :ivar subnet_is_active: Indicates if subnet is active after START CALL. - :vartype subnet_is_active: bool - :ivar transfers_enabled: Flag indicating if transfers are enabled. - :vartype transfers_enabled: bool - :ivar bonds_reset_enabled: Flag indicating if bonds are reset enabled. - :vartype bonds_reset_enabled: bool - :ivar user_liquidity_enabled: Flag indicating if user liquidity is enabled. - - :vartype user_liquidity_enabled: bool - - - .. py:attribute:: activity_cutoff - :type: int - - - .. py:attribute:: adjustment_alpha - :type: int - - - .. py:attribute:: adjustment_interval - :type: int - - - .. py:attribute:: alpha_high - :type: int - - - .. py:attribute:: alpha_low - :type: int - - - .. py:attribute:: alpha_sigmoid_steepness - :type: float - - - .. py:attribute:: bonds_moving_avg - :type: int - - - .. py:attribute:: bonds_reset_enabled - :type: bool - - - .. py:attribute:: commit_reveal_period - :type: int - - - .. py:attribute:: commit_reveal_weights_enabled - :type: bool - - - .. py:attribute:: difficulty - :type: int - - - .. py:attribute:: immunity_period - :type: int - - - .. py:attribute:: kappa - :type: int - - - .. py:attribute:: liquid_alpha_enabled - :type: bool - - - .. py:attribute:: max_burn - :type: int - - - .. py:attribute:: max_difficulty - :type: int - - - .. py:attribute:: max_regs_per_block - :type: int - - - .. py:attribute:: max_validators - :type: int - - - .. py:attribute:: max_weight_limit - :type: float - - - .. py:attribute:: min_allowed_weights - :type: int - - - .. py:attribute:: min_burn - :type: int - - - .. py:attribute:: min_difficulty - :type: int - - - .. py:attribute:: registration_allowed - :type: bool - - - .. py:attribute:: rho - :type: int - - - .. py:attribute:: serving_rate_limit - :type: int - - - .. py:attribute:: subnet_is_active - :type: bool - - - .. py:attribute:: target_regs_per_interval - :type: int - - - .. py:attribute:: tempo - :type: int - - - .. py:attribute:: transfers_enabled - :type: bool - - - .. py:attribute:: user_liquidity_enabled - :type: bool - - - .. py:attribute:: weights_rate_limit - :type: int - - - .. py:attribute:: weights_version - :type: int - - - .. py:attribute:: yuma_version - :type: int - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_identity/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_identity/index.rst deleted file mode 100644 index 4e8ddc9a08..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_identity/index.rst +++ /dev/null @@ -1,54 +0,0 @@ -bittensor.core.chain_data.subnet_identity -========================================= - -.. py:module:: bittensor.core.chain_data.subnet_identity - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.subnet_identity.SubnetIdentity - - -Module Contents ---------------- - -.. py:class:: SubnetIdentity - - Dataclass for subnet identity information. - - - .. py:attribute:: additional - :type: str - - - .. py:attribute:: description - :type: str - - - .. py:attribute:: discord - :type: str - - - .. py:attribute:: github_repo - :type: str - - - .. py:attribute:: logo_url - :type: str - - - .. py:attribute:: subnet_contact - :type: str - - - .. py:attribute:: subnet_name - :type: str - - - .. py:attribute:: subnet_url - :type: str - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_info/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_info/index.rst deleted file mode 100644 index d57d525a3f..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_info/index.rst +++ /dev/null @@ -1,97 +0,0 @@ -bittensor.core.chain_data.subnet_info -===================================== - -.. py:module:: bittensor.core.chain_data.subnet_info - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.subnet_info.SubnetInfo - - -Module Contents ---------------- - -.. py:class:: SubnetInfo - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - Dataclass for subnet info. - - - .. py:attribute:: blocks_since_epoch - :type: int - - - .. py:attribute:: burn - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: connection_requirements - :type: dict[str, float] - - - .. py:attribute:: difficulty - :type: int - - - .. py:attribute:: emission_value - :type: float - - - .. py:attribute:: immunity_period - :type: int - - - .. py:attribute:: kappa - :type: int - - - .. py:attribute:: max_allowed_validators - :type: int - - - .. py:attribute:: max_n - :type: int - - - .. py:attribute:: max_weight_limit - :type: float - - - .. py:attribute:: min_allowed_weights - :type: int - - - .. py:attribute:: modality - :type: int - - - .. py:attribute:: netuid - :type: int - - - .. py:attribute:: owner_ss58 - :type: str - - - .. py:attribute:: rho - :type: int - - - .. py:attribute:: scaling_law_power - :type: float - - - .. py:attribute:: subnetwork_n - :type: int - - - .. py:attribute:: tempo - :type: int - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_state/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_state/index.rst deleted file mode 100644 index ca611f1232..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/subnet_state/index.rst +++ /dev/null @@ -1,103 +0,0 @@ -bittensor.core.chain_data.subnet_state -====================================== - -.. py:module:: bittensor.core.chain_data.subnet_state - -.. autoapi-nested-parse:: - - This module defines the `SubnetState` data class and associated methods for handling and decoding - subnetwork states in the Bittensor network. - - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.subnet_state.SubnetState - - -Module Contents ---------------- - -.. py:class:: SubnetState - - Bases: :py:obj:`bittensor.core.chain_data.info_base.InfoBase` - - - Base dataclass for info objects. - - - .. py:attribute:: active - :type: list[bool] - - - .. py:attribute:: alpha_stake - :type: list[bittensor.utils.balance.Balance] - - - .. py:attribute:: block_at_registration - :type: list[int] - - - .. py:attribute:: coldkeys - :type: list[str] - - - .. py:attribute:: consensus - :type: list[float] - - - .. py:attribute:: dividends - :type: list[float] - - - .. py:attribute:: emission - :type: list[bittensor.utils.balance.Balance] - - - .. py:attribute:: emission_history - :type: list[list[int]] - - - .. py:attribute:: hotkeys - :type: list[str] - - - .. py:attribute:: incentives - :type: list[float] - - - .. py:attribute:: last_update - :type: list[int] - - - .. py:attribute:: netuid - :type: int - - - .. py:attribute:: pruning_score - :type: list[float] - - - .. py:attribute:: rank - :type: list[float] - - - .. py:attribute:: tao_stake - :type: list[bittensor.utils.balance.Balance] - - - .. py:attribute:: total_stake - :type: list[bittensor.utils.balance.Balance] - - - .. py:attribute:: trust - :type: list[float] - - - .. py:attribute:: validator_permit - :type: list[bool] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/utils/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/utils/index.rst deleted file mode 100644 index c9ecb6b456..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/utils/index.rst +++ /dev/null @@ -1,216 +0,0 @@ -bittensor.core.chain_data.utils -=============================== - -.. py:module:: bittensor.core.chain_data.utils - -.. autoapi-nested-parse:: - - Chain data helper functions and data. - - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.utils.ChainDataType - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.chain_data.utils.decode_account_id - bittensor.core.chain_data.utils.decode_block - bittensor.core.chain_data.utils.decode_metadata - bittensor.core.chain_data.utils.decode_revealed_commitment - bittensor.core.chain_data.utils.decode_revealed_commitment_with_hotkey - bittensor.core.chain_data.utils.from_scale_encoding - bittensor.core.chain_data.utils.from_scale_encoding_using_type_string - bittensor.core.chain_data.utils.process_stake_data - - -Module Contents ---------------- - -.. py:class:: ChainDataType - - Bases: :py:obj:`enum.Enum` - - - Generic enumeration. - - Derive from this class to define new enumerations. - - - .. py:attribute:: AccountId - :value: 10 - - - - .. py:attribute:: AxonInfo - :value: 16 - - - - .. py:attribute:: ChainIdentity - :value: 15 - - - - .. py:attribute:: DelegateInfo - :value: 3 - - - - .. py:attribute:: DelegatedInfo - :value: 5 - - - - .. py:attribute:: DynamicInfo - :value: 12 - - - - .. py:attribute:: IPInfo - :value: 7 - - - - .. py:attribute:: MetagraphInfo - :value: 14 - - - - .. py:attribute:: NeuronInfo - :value: 1 - - - - .. py:attribute:: NeuronInfoLite - :value: 4 - - - - .. py:attribute:: ScheduledColdkeySwapInfo - :value: 9 - - - - .. py:attribute:: StakeInfo - :value: 6 - - - - .. py:attribute:: SubnetHyperparameters - :value: 8 - - - - .. py:attribute:: SubnetIdentity - :value: 13 - - - - .. py:attribute:: SubnetInfo - :value: 2 - - - - .. py:attribute:: SubnetState - :value: 11 - - - -.. py:function:: decode_account_id(account_id_bytes) - - Decodes an AccountId from bytes to a Base64 string using SS58 encoding. - - :param account_id_bytes: The AccountId in bytes that needs to be decoded. - :type account_id_bytes: bytes - - :returns: The decoded AccountId as a Base64 string. - :rtype: str - - -.. py:function:: decode_block(data) - - Decode the block data from the given input if it is not None. - - :param data: The block data to decode. - :type data: bytes - - :returns: The decoded block. - :rtype: int - - -.. py:function:: decode_metadata(metadata) - -.. py:function:: decode_revealed_commitment(encoded_data) - - Decode the revealed commitment data from the given input if it is not None. - - :param encoded_data: A tuple containing the revealed message and the block number. - :type encoded_data: tuple[bytes, int] - - :returns: A tuple containing the revealed block number and decoded commitment message. - :rtype: tuple[int, str] - - -.. py:function:: decode_revealed_commitment_with_hotkey(encoded_data) - - Decode revealed commitment using a hotkey. - - :returns: - - A tuple containing the hotkey (ss58 address) and a tuple of block - numbers and their corresponding revealed commitments. - :rtype: tuple[str, tuple[tuple[int, str], ...]] - - -.. py:function:: from_scale_encoding(input_, type_name, is_vec = False, is_option = False) - - Decodes input_ data from SCALE encoding based on the specified type name and modifiers. - - :param input_: The input_ data to decode. - :type input_: Union[List[int], bytes, ScaleBytes] - :param type_name: The type of data being decoded. - :type type_name: ChainDataType - :param is_vec: Whether the data is a vector of the specified type. Default is ``False``. - :type is_vec: bool - :param is_option: Whether the data is an optional value of the specified type. Default is ``False``. - :type is_option: bool - - :returns: The decoded data as a dictionary, or ``None`` if the decoding fails. - :rtype: Optional[dict] - - -.. py:function:: from_scale_encoding_using_type_string(input_, type_string) - - Decodes SCALE encoded data to a dictionary based on the provided type string. - - :param input_: The SCALE encoded input data. - :type input_: Union[List[int], bytes, ScaleBytes] - :param type_string: The type string defining the structure of the data. - :type type_string: str - - :returns: The decoded data as a dictionary, or ``None`` if the decoding fails. - :rtype: Optional[dict] - - :raises TypeError: If the input_ is not a list[int], bytes, or ScaleBytes. - - -.. py:function:: process_stake_data(stake_data) - - Processes stake data to decode account IDs and convert stakes from rao to Balance objects. - - :param stake_data: A list of tuples where each tuple contains an account ID in bytes and a stake in rao. - :type stake_data: list - - :returns: A dictionary with account IDs as keys and their corresponding Balance objects as values. - :rtype: dict - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/weight_commit_info/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/weight_commit_info/index.rst deleted file mode 100644 index db8dc64668..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/chain_data/weight_commit_info/index.rst +++ /dev/null @@ -1,77 +0,0 @@ -bittensor.core.chain_data.weight_commit_info -============================================ - -.. py:module:: bittensor.core.chain_data.weight_commit_info - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.chain_data.weight_commit_info.WeightCommitInfo - - -Module Contents ---------------- - -.. py:class:: WeightCommitInfo - - Data class representing weight commit information. - - :ivar ss58: The SS58 address of the committer - :ivar commit_block: The block number of the commitment. - :ivar commit_hex: The serialized weight commit data as hex string - :ivar reveal_round: The round number for reveal - - - - .. py:attribute:: commit_block - :type: Optional[int] - - - .. py:attribute:: commit_hex - :type: str - - - .. py:method:: from_vec_u8(data) - :classmethod: - - - Creates a WeightCommitInfo instance - - :param data: Tuple containing ((AccountId,), (commit_data,), round_number) - :type data: tuple - - :returns: A new instance with the decoded data - :rtype: WeightCommitInfo - - .. note:: - - This method is used when querying a block or block hash where storage functions `CRV3WeightCommitsV2` does - not exist in Subtensor module. - - - - .. py:method:: from_vec_u8_v2(data) - :classmethod: - - - Creates a WeightCommitInfo instance - - :param data: Tuple containing ((AccountId,), (commit_block, ) (commit_data,), round_number) - :type data: tuple - - :returns: A new instance with the decoded data - :rtype: WeightCommitInfo - - - - .. py:attribute:: reveal_round - :type: int - - - .. py:attribute:: ss58 - :type: str - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/config/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/config/index.rst deleted file mode 100644 index 1b81fddfe6..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/config/index.rst +++ /dev/null @@ -1,119 +0,0 @@ -bittensor.core.config -===================== - -.. py:module:: bittensor.core.config - -.. autoapi-nested-parse:: - - Implementation of the config class, which manages the configuration of different Bittensor modules. - - .. admonition:: Example - - import argparse - import bittensor as bt - - parser = argparse.ArgumentParser('Miner') - bt.Axon.add_args(parser) - bt.Subtensor.add_args(parser) - bt.Async_subtensor.add_args(parser) - bt.Wallet.add_args(parser) - bt.logging.add_args(parser) - bt.PriorityThreadPoolExecutor.add_args(parser) - config = bt.config(parser) - - print(config) - - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.core.config.T - - -Exceptions ----------- - -.. autoapisummary:: - - bittensor.core.config.InvalidConfigFile - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.config.Config - bittensor.core.config.DefaultConfig - - -Module Contents ---------------- - -.. py:class:: Config(parser = None, args = None, strict = False, default = None) - - Bases: :py:obj:`munch.DefaultMunch` - - - Manages configuration for Bittensor modules with nested namespace support. - - Construct a new DefaultMunch. Like collections.defaultdict, the - first argument is the default value; subsequent arguments are the - same as those for dict. - - - .. py:method:: is_set(param_name) - - Checks if a parameter was explicitly set. - - - - .. py:method:: merge(other) - - Merges another Config into this one. - - - - .. py:method:: to_dict() - - Returns the configuration as a dictionary. - - - -.. py:class:: DefaultConfig(parser = None, args = None, strict = False, default = None) - - Bases: :py:obj:`Config` - - - A Config with a set of default values. - - Construct a new DefaultMunch. Like collections.defaultdict, the - first argument is the default value; subsequent arguments are the - same as those for dict. - - - .. py:method:: default() - :classmethod: - - :abstractmethod: - - - Get default config. - - - -.. py:exception:: InvalidConfigFile - - Bases: :py:obj:`Exception` - - - Raised when there's an error loading the config file. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:data:: T - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/dendrite/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/dendrite/index.rst deleted file mode 100644 index 729a1977bd..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/dendrite/index.rst +++ /dev/null @@ -1,568 +0,0 @@ -bittensor.core.dendrite -======================= - -.. py:module:: bittensor.core.dendrite - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.core.dendrite.BaseModel - bittensor.core.dendrite.DENDRITE_DEFAULT_ERROR - bittensor.core.dendrite.DENDRITE_ERROR_MAPPING - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.dendrite.Dendrite - bittensor.core.dendrite.DendriteMixin - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.dendrite.call - bittensor.core.dendrite.event_loop_is_running - - -Module Contents ---------------- - -.. py:data:: BaseModel - :type: Union[bittensor.utils.registration.torch.nn.Module, object] - -.. py:data:: DENDRITE_DEFAULT_ERROR - :value: ('422', 'Failed to parse response') - - -.. py:data:: DENDRITE_ERROR_MAPPING - :type: dict[Type[Exception], tuple] - -.. py:class:: Dendrite(wallet = None) - - Bases: :py:obj:`DendriteMixin`, :py:obj:`BaseModel` - - - The Dendrite class represents the abstracted implementation of a network client module. - - In the brain analogy, dendrites receive signals - from other neurons (in this case, network servers or axons), and the Dendrite class here is designed - to send requests to those endpoint to receive inputs. - - This class includes a wallet or keypair used for signing messages, and methods for making - HTTP requests to the network servers. It also provides functionalities such as logging - network requests and processing server responses. - - :param keypair: The wallet or keypair used for - signing messages. - :type keypair: Option[Union[bittensor_wallet.Wallet, bittensor_wallet.Keypair]] - :param external_ip: The external IP address of the local system. - :type external_ip: str - :param synapse_history: A list of Synapse objects representing the historical responses. - :type synapse_history: list - - .. method:: __str__() - - Returns a string representation of the Dendrite object. - - .. method:: __repr__() - - Returns a string representation of the Dendrite object, acting as a fallback for __str__(). - - .. method:: query(self, *args, **kwargs) -> Union[Synapse, list[Synapse]] - - Makes synchronous requests to one or multiple - target Axons and returns responses. - - .. method:: forward(self, axons, synapse=Synapse(), timeout=12, deserialize=True, run_async=True, streaming=False) -> - - - Synapse: Asynchronously sends requests to one or multiple Axons and collates their responses. - - .. method:: call(self, target_axon, synapse=Synapse(), timeout=12.0, deserialize=True) -> Synapse - - Asynchronously sends a - request to a specified Axon and processes the response. - - .. method:: call_stream(self, target_axon, synapse=Synapse(), timeout=12.0, deserialize=True) -> - - - AsyncGenerator[Synapse, None]: Sends a request to a specified Axon and yields an AsyncGenerator that - contains streaming response chunks before finally yielding the filled Synapse as the final element. - - .. method:: preprocess_synapse_for_request(self, target_axon_info, synapse, timeout=12.0) -> Synapse - - Preprocesses the - synapse for making a request, including building headers and signing. - - .. method:: process_server_response(self, server_response, json_response, local_synapse) - - Processes the server response, - updates the local synapse state, and merges headers. - - .. method:: close_session(self) - - Synchronously closes the internal aiohttp client session. - - .. method:: aclose_session(self) - - Asynchronously closes the internal aiohttp client session. - - - .. note:: When working with async `aiohttp `_ client sessions, it is recommended to use a context manager. - - Example with a context manager:: - - async with dendrite(wallet = bittensor_wallet.Wallet()) as d: - print(d) - d( ) # ping axon - d( [] ) # ping multiple - d( Axon(), Synapse ) - - However, you are able to safely call :func:`dendrite.query()` without a context manager in a synchronous setting. - - Example without a context manager:: - - d = dendrite(wallet = bittensor_wallet.Wallet() ) - print(d) - d( ) # ping axon - d( [] ) # ping multiple - d( bittensor.core.axon.Axon, bittensor.core.synapse.Synapse ) - - Initializes the Dendrite object, setting up essential properties. - - :param wallet: The user's wallet or keypair - used for signing messages. Defaults to ``None``, in which case a new - :func:`bittensor_wallet.Wallet().hotkey` is generated and used. - :type wallet: Optional[Union[bittensor_wallet.Wallet, bittensor_wallet.Keypair]] - - -.. py:class:: DendriteMixin(wallet = None) - - The Dendrite class represents the abstracted implementation of a network client module. - - In the brain analogy, dendrites receive signals - from other neurons (in this case, network servers or axons), and the Dendrite class here is designed - to send requests to those endpoint to receive inputs. - - This class includes a wallet or keypair used for signing messages, and methods for making - HTTP requests to the network servers. It also provides functionalities such as logging - network requests and processing server responses. - - :param keypair: The wallet or keypair used for - signing messages. - :type keypair: Option[Union[bittensor_wallet.Wallet, bittensor_wallet.Keypair]] - :param external_ip: The external IP address of the local system. - :type external_ip: str - :param synapse_history: A list of Synapse objects representing the historical responses. - :type synapse_history: list - - .. method:: __str__() - - Returns a string representation of the Dendrite object. - - .. method:: __repr__() - - Returns a string representation of the Dendrite object, acting as a fallback for __str__(). - - .. method:: query(self, *args, **kwargs) -> Union[Synapse, list[Synapse]] - - Makes synchronous requests to one or multiple - target Axons and returns responses. - - .. method:: forward(self, axons, synapse=Synapse(), timeout=12, deserialize=True, run_async=True, streaming=False) -> - - - Synapse: Asynchronously sends requests to one or multiple Axons and collates their responses. - - .. method:: call(self, target_axon, synapse=Synapse(), timeout=12.0, deserialize=True) -> Synapse - - Asynchronously sends a - request to a specified Axon and processes the response. - - .. method:: call_stream(self, target_axon, synapse=Synapse(), timeout=12.0, deserialize=True) -> - - - AsyncGenerator[Synapse, None]: Sends a request to a specified Axon and yields an AsyncGenerator that - contains streaming response chunks before finally yielding the filled Synapse as the final element. - - .. method:: preprocess_synapse_for_request(self, target_axon_info, synapse, timeout=12.0) -> Synapse - - Preprocesses the - synapse for making a request, including building headers and signing. - - .. method:: process_server_response(self, server_response, json_response, local_synapse) - - Processes the server response, - updates the local synapse state, and merges headers. - - .. method:: close_session(self) - - Synchronously closes the internal aiohttp client session. - - .. method:: aclose_session(self) - - Asynchronously closes the internal aiohttp client session. - - - .. note:: When working with async `aiohttp `_ client sessions, it is recommended to use a context manager. - - Example with a context manager:: - - async with dendrite(wallet = bittensor_wallet.Wallet()) as d: - print(d) - d( ) # ping axon - d( [] ) # ping multiple - d( Axon(), Synapse ) - - However, you are able to safely call :func:`dendrite.query()` without a context manager in a synchronous setting. - - Example without a context manager:: - - d = dendrite(wallet = bittensor_wallet.Wallet() ) - print(d) - d( ) # ping axon - d( [] ) # ping multiple - d( bittensor.core.axon.Axon, bittensor.core.synapse.Synapse ) - - Initializes the Dendrite object, setting up essential properties. - - :param wallet: The user's wallet or keypair - used for signing messages. Defaults to ``None``, in which case a new - :func:`bittensor_wallet.Wallet().hotkey` is generated and used. - :type wallet: Optional[Union[bittensor_wallet.Wallet, bittensor_wallet.Keypair]] - - - .. py:method:: aclose_session() - :async: - - - Asynchronously closes the internal `aiohttp `_ client session. - - This method is the asynchronous counterpart to the :func:`close_session` method. It should be used in - asynchronous contexts to ensure that the aiohttp client session is closed properly. The method - releases resources associated with the session, such as open connections and internal buffers, - which is essential for resource management in asynchronous applications. - - .. admonition:: Example - - Usage:: - When finished with dendrite in an asynchronous context - await :func:`dendrite_instance.aclose_session()`. - - .. admonition:: Example - - Usage:: - async with dendrite_instance: - # Operations using dendrite - pass - # The session will be closed automatically after the above block - - - - .. py:method:: aquery(*args, **kwargs) - :async: - - - - .. py:method:: call(target_axon, synapse = Synapse(), timeout = 12.0, deserialize = True) - :async: - - - Asynchronously sends a request to a specified Axon and processes the response. - - This function establishes a connection with a specified Axon, sends the encapsulated data through the Synapse - object, waits for a response, processes it, and then returns the updated Synapse object. - - :param target_axon: The target Axon - to send the request to. - :type target_axon: Union[bittensor.core.chain_data.axon_info.AxonInfo, bittensor.core.axon.Axon] - :param synapse: The Synapse object encapsulating the data. Defaults to a new - :func:`Synapse` instance. - :type synapse: bittensor.core.synapse.Synapse - :param timeout: Maximum duration to wait for a response from the Axon in seconds. Defaults to ``12.0``. - :type timeout: float - :param deserialize: Determines if the received response should be deserialized. Defaults to ``True``. - :type deserialize: bool - - :returns: The Synapse object, updated with the response data from the Axon. - :rtype: bittensor.core.synapse.Synapse - - - - .. py:method:: call_stream(target_axon, synapse = Synapse(), timeout = 12.0, deserialize = True) - :async: - - - Sends a request to a specified Axon and yields streaming responses. - - Similar to ``call``, but designed for scenarios where the Axon sends back data in - multiple chunks or streams. The function yields each chunk as it is received. This is - useful for processing large responses piece by piece without waiting for the entire - data to be transmitted. - - :param target_axon: The target Axon - to send the request to. - :type target_axon: Union[bittensor.core.chain_data.axon_info.AxonInfo, bittensor.core.axon.Axon] - :param synapse: The Synapse object encapsulating the data. Defaults to a new - :func:`Synapse` instance. - :type synapse: bittensor.core.synapse.Synapse - :param timeout: Maximum duration to wait for a response (or a chunk of the response) from the Axon in - seconds. Defaults to ``12.0``. - :type timeout: float - :param deserialize: Determines if each received chunk should be deserialized. Defaults to ``True``. - :type deserialize: bool - - :Yields: *object* -- Each yielded object contains a chunk of the arbitrary response data from the Axon. - bittensor.core.synapse.Synapse: After the AsyncGenerator has been exhausted, yields the final filled Synapse. - - - - .. py:method:: close_session(using_new_loop = False) - - Closes the internal `aiohttp `_ client session synchronously. - - This method ensures the proper closure and cleanup of the aiohttp client session, releasing any - resources like open connections and internal buffers. It is crucial for preventing resource leakage - and should be called when the dendrite instance is no longer in use, especially in synchronous contexts. - - :param using_new_loop: A flag to determine whether this has been called with a new event loop rather than - the default. This will indicate whether to close this event loop at the end of this call. - - .. note:: - - This method utilizes asyncio's event loop to close the session asynchronously from a synchronous context. - It is advisable to use this method only when asynchronous context management is not feasible. - - Usage: - When finished with dendrite in a synchronous context - :func:`dendrite_instance.close_session()`. - - - - .. py:attribute:: external_ip - :value: '' - - - - .. py:method:: forward(axons, synapse = Synapse(), timeout = 12, deserialize = True, run_async = True, streaming = False) - :async: - - - Asynchronously sends requests to one or multiple Axons and collates their responses. - - This function acts as a bridge for sending multiple requests concurrently or sequentially - based on the provided parameters. It checks the type of the target Axons, preprocesses - the requests, and then sends them off. After getting the responses, it processes and - collates them into a unified format. - - When querying an Axon that sends a single response, this function returns a Synapse object - containing the response data. If multiple Axons are queried, a list of Synapse objects is - returned, each containing the response from the corresponding Axon. - - For example:: - - ... - import bittensor - wallet = bittensor.Wallet() # Initialize a wallet - synapse = bittensor.Synapse(...) # Create a synapse object that contains query data - dendrite = bittensor.Dendrite(wallet = wallet) # Initialize a dendrite instance - netuid = ... # Provide subnet ID - metagraph = bittensor.Metagraph(netuid) # Initialize a metagraph instance - axons = metagraph.axons # Create a list of axons to query - responses = await dendrite(axons, synapse) # Send the query to all axons and await the responses - - When querying an Axon that sends back data in chunks using the Dendrite, this function - returns an AsyncGenerator that yields each chunk as it is received. The generator can be - iterated over to process each chunk individually. - - For example:: - - ... - dendrite = bittensor.Dendrite(wallet = wallet) - async for chunk in dendrite.forward(axons, synapse, timeout, deserialize, run_async, streaming): - # Process each chunk here - print(chunk) - - :param axons (Union[list[Union[bittensor.core.chain_data.axon_info.AxonInfo: Union[bittensor.core.chain_data.axon_info.AxonInfo, bittensor.core.axon.Axon]]): The target Axons to - send requests to. Can be a single Axon or a list of Axons. - :param bittensor.core.axon.Axon]]: Union[bittensor.core.chain_data.axon_info.AxonInfo, bittensor.core.axon.Axon]]): The target Axons to - send requests to. Can be a single Axon or a list of Axons. - :param : Union[bittensor.core.chain_data.axon_info.AxonInfo, bittensor.core.axon.Axon]]): The target Axons to - send requests to. Can be a single Axon or a list of Axons. - :param synapse: The Synapse object encapsulating the data. Defaults to a new - :func:`Synapse` instance. - :type synapse: bittensor.core.synapse.Synapse - :param timeout: Maximum duration to wait for a response from an Axon in seconds. Defaults to ``12.0``. - :type timeout: float - :param deserialize: Determines if the received response should be deserialized. Defaults to ``True``. - :type deserialize: bool - :param run_async: If ``True``, sends requests concurrently. Otherwise, sends requests sequentially. - Defaults to ``True``. - :type run_async: bool - :param streaming: Indicates if the response is expected to be in streaming format. Defaults to ``False``. - :type streaming: bool - - :returns: - - If a single - `Axon` is targeted, returns its response. - If multiple Axons are targeted, returns a list of their responses. - :rtype: Union[AsyncGenerator, bittensor.core.synapse.Synapse, list[bittensor.core.synapse.Synapse]] - - - - .. py:attribute:: keypair - - - .. py:method:: log_exception(exception) - - Logs an exception with a unique identifier. - - This method generates a unique UUID for the error, extracts the error type, - and logs the error message using Bittensor's logging system. - - :param exception: The exception object to be logged. - :type exception: Exception - - :returns: None - - - - .. py:method:: preprocess_synapse_for_request(target_axon_info, synapse, timeout = 12.0) - - Preprocesses the synapse for making a request. This includes building headers for Dendrite and Axon and signing - the request. - - :param target_axon_info: The target axon information. - :type target_axon_info: bittensor.core.chain_data.axon_info.AxonInfo - :param synapse: The synapse object to be preprocessed. - :type synapse: bittensor.core.synapse.Synapse - :param timeout: The request timeout duration in seconds. Defaults to ``12.0`` seconds. - :type timeout: float - - :returns: The preprocessed synapse. - :rtype: bittensor.core.synapse.Synapse - - - - .. py:method:: process_error_message(synapse, request_name, exception) - - Handles exceptions that occur during network requests, updating the synapse with appropriate status codes and messages. - - This method interprets different types of exceptions and sets the corresponding status code and - message in the synapse object. It covers common network errors such as connection issues and timeouts. - - :param synapse: The synapse object associated with the request. - :type synapse: bittensor.core.synapse.Synapse - :param request_name: The name of the request during which the exception occurred. - :type request_name: str - :param exception: The exception object caught during the request. - :type exception: Exception - - :returns: The updated synapse object with the error status code and message. - :rtype: Synapse (bittensor.core.synapse.Synapse) - - .. note:: This method updates the synapse object in-place. - - - - .. py:method:: process_server_response(server_response, json_response, local_synapse) - - Processes the server response, updates the local synapse state with the server's state and merges headers set - by the server. - - :param server_response: The `aiohttp `_ response object from the server. - :type server_response: object - :param json_response: The parsed JSON response from the server. - :type json_response: dict - :param local_synapse: The local synapse object to be updated. - :type local_synapse: bittensor.core.synapse.Synapse - - :raises None: But errors in attribute setting are silently ignored. - - - - .. py:method:: query(*args, **kwargs) - - Makes a synchronous request to multiple target Axons and returns the server responses. - - Cleanup is automatically handled and sessions are closed upon completed requests. - - :param axons (Union[list[Union[bittensor.core.chain_data.axon_info.AxonInfo: Union['bittensor.core.chain_data.axon_info.AxonInfo', 'bittensor.core.axon.Axon']]): The list of target - Axon information. - :param 'bittensor.core.axon.Axon']]: Union['bittensor.core.chain_data.axon_info.AxonInfo', 'bittensor.core.axon.Axon']]): The list of target - Axon information. - :param : Union['bittensor.core.chain_data.axon_info.AxonInfo', 'bittensor.core.axon.Axon']]): The list of target - Axon information. - :param synapse: The Synapse object. Defaults to :func:`Synapse()`. - :type synapse: Optional[bittensor.core.synapse.Synapse] - :param timeout: The request timeout duration in seconds. Defaults to ``12.0`` seconds. - :type timeout: Optional[float] - - :returns: If a single target axon is - provided, returns the response from that axon. If multiple target axons are provided, returns a list of - responses from all target axons. - :rtype: Union[bittensor.core.synapse.Synapse, list[bittensor.core.synapse.Synapse]] - - - - .. py:property:: session - :type: aiohttp.ClientSession - - - An asynchronous property that provides access to the internal `aiohttp `_ - client session. - - This property ensures the management of HTTP connections in an efficient way. It lazily - initializes the `aiohttp.ClientSession `_ - on its first use. The session is then reused for subsequent HTTP requests, offering performance benefits by - reusing underlying connections. - - This is used internally by the dendrite when querying axons, and should not be used directly - unless absolutely necessary for your application. - - :returns: The active `aiohttp `_ client session instance. - If no session exists, a new one is created and returned. This session is used for asynchronous HTTP requests - within the dendrite, adhering to the async nature of the network interactions in the Bittensor framework. - :rtype: aiohttp.ClientSession - - Example usage:: - - import bittensor # Import bittensor - wallet = bittensor.Wallet( ... ) # Initialize a wallet - dendrite = bittensor.Dendrite(wallet=wallet) # Initialize a dendrite instance with the wallet - - async with (await dendrite.session).post( # Use the session to make an HTTP POST request - url, # URL to send the request to - headers={...}, # Headers dict to be sent with the request - json={...}, # JSON body data to be sent with the request - timeout=10, # Timeout duration in seconds - ) as response: - json_response = await response.json() # Extract the JSON response from the server - - - .. py:attribute:: synapse_history - :type: list - :value: [] - - - - .. py:attribute:: uuid - :value: '' - - - -.. py:function:: call(self, *args, **kwargs) - :async: - - -.. py:function:: event_loop_is_running() - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/errors/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/errors/index.rst deleted file mode 100644 index 95101ee8c7..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/errors/index.rst +++ /dev/null @@ -1,495 +0,0 @@ -bittensor.core.errors -===================== - -.. py:module:: bittensor.core.errors - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.core.errors.BlockNotFound - bittensor.core.errors.ExtrinsicNotFound - bittensor.core.errors.StorageFunctionNotFound - bittensor.core.errors.SubstrateRequestException - - -Exceptions ----------- - -.. autoapisummary:: - - bittensor.core.errors.BlacklistedException - bittensor.core.errors.ChainConnectionError - bittensor.core.errors.ChainError - bittensor.core.errors.ChainQueryError - bittensor.core.errors.ChainTransactionError - bittensor.core.errors.DelegateTakeTooHigh - bittensor.core.errors.DelegateTakeTooLow - bittensor.core.errors.DelegateTxRateLimitExceeded - bittensor.core.errors.DuplicateChild - bittensor.core.errors.HotKeyAccountNotExists - bittensor.core.errors.IdentityError - bittensor.core.errors.InternalServerError - bittensor.core.errors.InvalidChild - bittensor.core.errors.InvalidRequestNameError - bittensor.core.errors.MaxAttemptsException - bittensor.core.errors.MaxSuccessException - bittensor.core.errors.MetadataError - bittensor.core.errors.NominationError - bittensor.core.errors.NonAssociatedColdKey - bittensor.core.errors.NotDelegateError - bittensor.core.errors.NotEnoughStakeToSetChildkeys - bittensor.core.errors.NotRegisteredError - bittensor.core.errors.NotVerifiedException - bittensor.core.errors.PostProcessException - bittensor.core.errors.PriorityException - bittensor.core.errors.ProportionOverflow - bittensor.core.errors.RegistrationError - bittensor.core.errors.RegistrationNotPermittedOnRootSubnet - bittensor.core.errors.RunException - bittensor.core.errors.StakeError - bittensor.core.errors.SubnetNotExists - bittensor.core.errors.SynapseDendriteNoneException - bittensor.core.errors.SynapseException - bittensor.core.errors.SynapseParsingError - bittensor.core.errors.TakeError - bittensor.core.errors.TooManyChildren - bittensor.core.errors.TransferError - bittensor.core.errors.TxRateLimitExceeded - bittensor.core.errors.UnknownSynapseError - bittensor.core.errors.UnstakeError - - -Module Contents ---------------- - -.. py:exception:: BlacklistedException(message='Synapse Exception', synapse = None) - - Bases: :py:obj:`SynapseException` - - - This exception is raised when the request is blacklisted. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:data:: BlockNotFound - -.. py:exception:: ChainConnectionError - - Bases: :py:obj:`ChainError` - - - Error for any chain connection related errors. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: ChainError - - Bases: :py:obj:`SubstrateRequestException` - - - Base error for any chain related errors. - - Initialize self. See help(type(self)) for accurate signature. - - - .. py:method:: from_error(error) - :classmethod: - - - -.. py:exception:: ChainQueryError - - Bases: :py:obj:`ChainError` - - - Error for any chain query related errors. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: ChainTransactionError - - Bases: :py:obj:`ChainError` - - - Error for any chain transaction related errors. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: DelegateTakeTooHigh - - Bases: :py:obj:`ChainTransactionError` - - - Delegate take is too high. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: DelegateTakeTooLow - - Bases: :py:obj:`ChainTransactionError` - - - Delegate take is too low. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: DelegateTxRateLimitExceeded - - Bases: :py:obj:`TxRateLimitExceeded` - - - A transactor exceeded the rate limit for delegate transaction. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: DuplicateChild - - Bases: :py:obj:`ChainTransactionError` - - - Duplicate child when setting children. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:data:: ExtrinsicNotFound - -.. py:exception:: HotKeyAccountNotExists - - Bases: :py:obj:`ChainTransactionError` - - - The hotkey does not exist. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: IdentityError - - Bases: :py:obj:`ChainTransactionError` - - - Error raised when an identity transaction fails. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: InternalServerError(message='Synapse Exception', synapse = None) - - Bases: :py:obj:`SynapseException` - - - This exception is raised when the requested function fails on the server. Indicates a server error. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: InvalidChild - - Bases: :py:obj:`ChainTransactionError` - - - Attempting to set an invalid child for a hotkey on a network. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: InvalidRequestNameError - - Bases: :py:obj:`Exception` - - - This exception is raised when the request name is invalid. Usually indicates a broken URL. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: MaxAttemptsException - - Bases: :py:obj:`Exception` - - - Raised when the POW Solver has reached the max number of attempts. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: MaxSuccessException - - Bases: :py:obj:`Exception` - - - Raised when the POW Solver has reached the max number of successful solutions. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: MetadataError - - Bases: :py:obj:`ChainTransactionError` - - - Error raised when metadata commitment transaction fails. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: NominationError - - Bases: :py:obj:`ChainTransactionError` - - - Error raised when a nomination transaction fails. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: NonAssociatedColdKey - - Bases: :py:obj:`ChainTransactionError` - - - Request to stake, unstake or subscribe is made by a coldkey that is not associated with the hotkey account. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: NotDelegateError - - Bases: :py:obj:`StakeError` - - - Error raised when a hotkey you are trying to stake to is not a delegate. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: NotEnoughStakeToSetChildkeys - - Bases: :py:obj:`ChainTransactionError` - - - The parent hotkey doesn't have enough own stake to set childkeys. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: NotRegisteredError - - Bases: :py:obj:`ChainTransactionError` - - - Error raised when a neuron is not registered, and the transaction requires it to be. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: NotVerifiedException(message='Synapse Exception', synapse = None) - - Bases: :py:obj:`SynapseException` - - - This exception is raised when the request is not verified. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: PostProcessException(message='Synapse Exception', synapse = None) - - Bases: :py:obj:`SynapseException` - - - This exception is raised when the response headers cannot be updated. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: PriorityException(message='Synapse Exception', synapse = None) - - Bases: :py:obj:`SynapseException` - - - This exception is raised when the request priority is not met. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: ProportionOverflow - - Bases: :py:obj:`ChainTransactionError` - - - Proportion overflow when setting children. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: RegistrationError - - Bases: :py:obj:`ChainTransactionError` - - - Error raised when a neuron registration transaction fails. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: RegistrationNotPermittedOnRootSubnet - - Bases: :py:obj:`ChainTransactionError` - - - Operation is not permitted on the root subnet. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: RunException(message='Synapse Exception', synapse = None) - - Bases: :py:obj:`SynapseException` - - - This exception is raised when the requested function cannot be executed. Indicates a server error. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: StakeError - - Bases: :py:obj:`ChainTransactionError` - - - Error raised when a stake transaction fails. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:data:: StorageFunctionNotFound - -.. py:exception:: SubnetNotExists - - Bases: :py:obj:`ChainTransactionError` - - - The subnet does not exist. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:data:: SubstrateRequestException - -.. py:exception:: SynapseDendriteNoneException(message='Synapse Dendrite is None', synapse = None) - - Bases: :py:obj:`SynapseException` - - - Common base class for all non-exit exceptions. - - Initialize self. See help(type(self)) for accurate signature. - - - .. py:attribute:: message - :value: 'Synapse Dendrite is None' - - - -.. py:exception:: SynapseException(message='Synapse Exception', synapse = None) - - Bases: :py:obj:`Exception` - - - Common base class for all non-exit exceptions. - - Initialize self. See help(type(self)) for accurate signature. - - - .. py:attribute:: message - :value: 'Synapse Exception' - - - - .. py:attribute:: synapse - :value: None - - - -.. py:exception:: SynapseParsingError - - Bases: :py:obj:`Exception` - - - This exception is raised when the request headers are unable to be parsed into the synapse type. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: TakeError - - Bases: :py:obj:`ChainTransactionError` - - - Error raised when an increase / decrease take transaction fails. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: TooManyChildren - - Bases: :py:obj:`ChainTransactionError` - - - Too many children MAX 5. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: TransferError - - Bases: :py:obj:`ChainTransactionError` - - - Error raised when a transfer transaction fails. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: TxRateLimitExceeded - - Bases: :py:obj:`ChainTransactionError` - - - Default transaction rate limit exceeded. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: UnknownSynapseError(message='Synapse Exception', synapse = None) - - Bases: :py:obj:`SynapseException` - - - This exception is raised when the request name is not found in the Axon's forward_fns dictionary. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:exception:: UnstakeError - - Bases: :py:obj:`ChainTransactionError` - - - Error raised when an unstake transaction fails. - - Initialize self. See help(type(self)) for accurate signature. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/children/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/children/index.rst deleted file mode 100644 index c8d63a747c..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/children/index.rst +++ /dev/null @@ -1,62 +0,0 @@ -bittensor.core.extrinsics.asyncex.children -========================================== - -.. py:module:: bittensor.core.extrinsics.asyncex.children - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.children.root_set_pending_childkey_cooldown_extrinsic - bittensor.core.extrinsics.asyncex.children.set_children_extrinsic - - -Module Contents ---------------- - -.. py:function:: root_set_pending_childkey_cooldown_extrinsic(subtensor, wallet, cooldown, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Allows a coldkey to set children-keys. - - -.. py:function:: set_children_extrinsic(subtensor, wallet, hotkey, netuid, children, wait_for_inclusion = True, wait_for_finalization = False, raise_error = False, period = None) - :async: - - - Allows a coldkey to set children-keys. - - :param subtensor: bittensor subtensor. - :param wallet: bittensor wallet instance. - :param hotkey: The ``SS58`` address of the neuron's hotkey. - :param netuid: The netuid value. - :param children: A list of children with their proportions. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - - :returns: - - A tuple where the first element is a boolean indicating success or failure of the operation, - and the second element is a message providing additional information. - :rtype: tuple[bool, str] - - :raises DuplicateChild: There are duplicates in the list of children. - :raises InvalidChild: Child is the hotkey. - :raises NonAssociatedColdKey: The coldkey does not own the hotkey or the child is the same as the hotkey. - :raises NotEnoughStakeToSetChildkeys: Parent key doesn't have minimum own stake. - :raises ProportionOverflow: The sum of the proportions does exceed uint64. - :raises RegistrationNotPermittedOnRootSubnet: Attempting to register a child on the root network. - :raises SubNetworkDoesNotExist: Attempting to register to a non-existent network. - :raises TooManyChildren: Too many children in request. - :raises TxRateLimitExceeded: Hotkey hit the rate limit. - :raises bittensor_wallet.errors.KeyFileError: Failed to decode keyfile data. - :raises bittensor_wallet.errors.PasswordError: Decryption failed or wrong password for decryption provided. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.rst deleted file mode 100644 index 8254e659ad..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.rst +++ /dev/null @@ -1,50 +0,0 @@ -bittensor.core.extrinsics.asyncex.commit_reveal -=============================================== - -.. py:module:: bittensor.core.extrinsics.asyncex.commit_reveal - -.. autoapi-nested-parse:: - - This module provides async functionality for commit reveal in the Bittensor network. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.commit_reveal.commit_reveal_v3_extrinsic - - -Module Contents ---------------- - -.. py:function:: commit_reveal_v3_extrinsic(subtensor, wallet, netuid, uids, weights, version_key = version_as_int, wait_for_inclusion = False, wait_for_finalization = False, block_time = 12.0, period = None) - :async: - - - Commits and reveals weights for a given subtensor and wallet with provided uids and weights. - - :param subtensor: The AsyncSubtensor instance. - :param wallet: The wallet to use for committing and revealing. - :param netuid: The id of the network. - :param uids: The uids to commit. - :param weights: The weights associated with the uids. - :param version_key: The version key to use for committing and revealing. Default is version_as_int. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. Default is False. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. Default is False. - :param block_time: The number of seconds for block duration. Default is 12.0 seconds. - :type block_time: float - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - A tuple where the first element is a boolean indicating success or failure, and the second - element is a message associated with the result - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/index.rst deleted file mode 100644 index 4d0a69cf59..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/index.rst +++ /dev/null @@ -1,30 +0,0 @@ -bittensor.core.extrinsics.asyncex -================================= - -.. py:module:: bittensor.core.extrinsics.asyncex - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/core/extrinsics/asyncex/children/index - /autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index - /autoapi/bittensor/core/extrinsics/asyncex/liquidity/index - /autoapi/bittensor/core/extrinsics/asyncex/mechanism/index - /autoapi/bittensor/core/extrinsics/asyncex/move_stake/index - /autoapi/bittensor/core/extrinsics/asyncex/registration/index - /autoapi/bittensor/core/extrinsics/asyncex/root/index - /autoapi/bittensor/core/extrinsics/asyncex/serving/index - /autoapi/bittensor/core/extrinsics/asyncex/staking/index - /autoapi/bittensor/core/extrinsics/asyncex/start_call/index - /autoapi/bittensor/core/extrinsics/asyncex/sudo/index - /autoapi/bittensor/core/extrinsics/asyncex/take/index - /autoapi/bittensor/core/extrinsics/asyncex/transfer/index - /autoapi/bittensor/core/extrinsics/asyncex/unstaking/index - /autoapi/bittensor/core/extrinsics/asyncex/utils/index - /autoapi/bittensor/core/extrinsics/asyncex/weights/index - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/liquidity/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/liquidity/index.rst deleted file mode 100644 index 2cf17feef6..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/liquidity/index.rst +++ /dev/null @@ -1,119 +0,0 @@ -bittensor.core.extrinsics.asyncex.liquidity -=========================================== - -.. py:module:: bittensor.core.extrinsics.asyncex.liquidity - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.liquidity.add_liquidity_extrinsic - bittensor.core.extrinsics.asyncex.liquidity.modify_liquidity_extrinsic - bittensor.core.extrinsics.asyncex.liquidity.remove_liquidity_extrinsic - bittensor.core.extrinsics.asyncex.liquidity.toggle_user_liquidity_extrinsic - - -Module Contents ---------------- - -.. py:function:: add_liquidity_extrinsic(subtensor, wallet, netuid, liquidity, price_low, price_high, hotkey = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Adds liquidity to the specified price range. - - :param subtensor: The Subtensor client instance used for blockchain interaction. - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param liquidity: The amount of liquidity to be added. - :param price_low: The lower bound of the price tick range. - :param price_high: The upper bound of the price tick range. - :param hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to `None`. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call - `toggle_user_liquidity_extrinsic` to enable/disable user liquidity. - - -.. py:function:: modify_liquidity_extrinsic(subtensor, wallet, netuid, position_id, liquidity_delta, hotkey = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Modifies liquidity in liquidity position by adding or removing liquidity from it. - - :param subtensor: The Subtensor client instance used for blockchain interaction. - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param position_id: The id of the position record in the pool. - :param liquidity_delta: The amount of liquidity to be added or removed (add if positive or remove if negative). - :param hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to `None`. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - Note: Modifying is allowed even when user liquidity is enabled in specified subnet. - Call `toggle_user_liquidity_extrinsic` to enable/disable user liquidity. - - -.. py:function:: remove_liquidity_extrinsic(subtensor, wallet, netuid, position_id, hotkey = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Remove liquidity and credit balances back to wallet's hotkey stake. - - :param subtensor: The Subtensor client instance used for blockchain interaction. - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param position_id: The id of the position record in the pool. - :param hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to `None`. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - Note: Adding is allowed even when user liquidity is enabled in specified subnet. - Call `toggle_user_liquidity_extrinsic` to enable/disable user liquidity. - - -.. py:function:: toggle_user_liquidity_extrinsic(subtensor, wallet, netuid, enable, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Allow to toggle user liquidity for specified subnet. - - :param subtensor: The Subtensor client instance used for blockchain interaction. - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param enable: Boolean indicating whether to enable user liquidity. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/mechanism/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/mechanism/index.rst deleted file mode 100644 index 5f10296222..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/mechanism/index.rst +++ /dev/null @@ -1,124 +0,0 @@ -bittensor.core.extrinsics.asyncex.mechanism -=========================================== - -.. py:module:: bittensor.core.extrinsics.asyncex.mechanism - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.mechanism.commit_mechanism_weights_extrinsic - bittensor.core.extrinsics.asyncex.mechanism.commit_timelocked_mechanism_weights_extrinsic - bittensor.core.extrinsics.asyncex.mechanism.reveal_mechanism_weights_extrinsic - bittensor.core.extrinsics.asyncex.mechanism.set_mechanism_weights_extrinsic - - -Module Contents ---------------- - -.. py:function:: commit_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, salt, version_key = version_as_int, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - :async: - - - Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet. - - :param subtensor: AsyncSubtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The subnet unique identifier. - :param mechid: The subnet mechanism unique identifier. - :param uids: NumPy array of neuron UIDs for which weights are being committed. - :param weights: NumPy array of weight values corresponding to each UID. - :param salt: list of randomly generated integers as salt to generated weighted hash. - :param version_key: Version key for compatibility with the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - -.. py:function:: commit_timelocked_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, block_time, commit_reveal_version = 4, version_key = version_as_int, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - :async: - - - Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet. - - :param subtensor: AsyncSubtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The unique identifier of the subnet. - :param mechid: The subnet mechanism unique identifier. - :param uids: The list of neuron UIDs that the weights are being set for. - :param weights: The corresponding weights to be set for each UID. - :param block_time: The number of seconds for block duration. - :param commit_reveal_version: The version of the commit-reveal in the chain. - :param version_key: Version key for compatibility with the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - -.. py:function:: reveal_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, salt, version_key, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - :async: - - - Reveals the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet. - - :param subtensor: AsyncSubtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The unique identifier of the subnet. - :param mechid: The subnet mechanism unique identifier. - :param uids: List of neuron UIDs for which weights are being revealed. - :param weights: List of weight values corresponding to each UID. - :param salt: List of salt values corresponding to the hash function. - :param version_key: Version key for compatibility with the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - -.. py:function:: set_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, version_key, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - :async: - - - Sets the passed weights in the chain for hotkeys in the sub-subnet of the passed subnet. - - :param subtensor: AsyncSubtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The unique identifier of the subnet. - :param mechid: The subnet mechanism unique identifier. - :param uids: List of neuron UIDs for which weights are being revealed. - :param weights: List of weight values corresponding to each UID. - :param version_key: Version key for compatibility with the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.rst deleted file mode 100644 index e2a84b4a31..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.rst +++ /dev/null @@ -1,113 +0,0 @@ -bittensor.core.extrinsics.asyncex.move_stake -============================================ - -.. py:module:: bittensor.core.extrinsics.asyncex.move_stake - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.move_stake.move_stake_extrinsic - bittensor.core.extrinsics.asyncex.move_stake.swap_stake_extrinsic - bittensor.core.extrinsics.asyncex.move_stake.transfer_stake_extrinsic - - -Module Contents ---------------- - -.. py:function:: move_stake_extrinsic(subtensor, wallet, origin_hotkey, origin_netuid, destination_hotkey, destination_netuid, amount, wait_for_inclusion = True, wait_for_finalization = False, period = None, move_all_stake = False) - :async: - - - Moves stake from one hotkey to another within subnets in the Bittensor network. - - :param subtensor: The subtensor instance to interact with the blockchain. - :param wallet: The wallet containing the coldkey to authorize the move. - :param origin_hotkey: SS58 address of the origin hotkey associated with the stake. - :param origin_netuid: Network UID of the origin subnet. - :param destination_hotkey: SS58 address of the destination hotkey. - :param destination_netuid: Network UID of the destination subnet. - :param amount: The amount of stake to move as a `Balance` object. - :param wait_for_inclusion: If True, waits for transaction inclusion in a block. Defaults to True. - :param wait_for_finalization: If True, waits for transaction finalization. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param move_all_stake: If true, moves all stake from the source hotkey to the destination hotkey. - - :returns: True if the move was successful, False otherwise. - :rtype: bool - - -.. py:function:: swap_stake_extrinsic(subtensor, wallet, hotkey_ss58, origin_netuid, destination_netuid, amount, wait_for_inclusion = True, wait_for_finalization = False, safe_staking = False, allow_partial_stake = False, rate_tolerance = 0.005, period = None) - :async: - - - Swaps stake from one subnet to another for a given hotkey in the Bittensor network. - - :param subtensor: The subtensor instance to interact with the blockchain. - :type subtensor: AsyncSubtensor - :param wallet: The wallet containing the coldkey to authorize the swap. - :type wallet: Wallet - :param hotkey_ss58: SS58 address of the hotkey associated with the stake. - :type hotkey_ss58: str - :param origin_netuid: Network UID of the origin subnet. - :type origin_netuid: int - :param destination_netuid: Network UID of the destination subnet. - :type destination_netuid: int - :param amount: The amount of stake to swap as a `Balance` object. - :type amount: Balance - :param wait_for_inclusion: If True, waits for transaction inclusion in a block. Defaults to True. - :type wait_for_inclusion: bool - :param wait_for_finalization: If True, waits for transaction finalization. Defaults to False. - :type wait_for_finalization: bool - :param safe_staking: If true, enables price safety checks to protect against price impact. - :type safe_staking: bool - :param allow_partial_stake: If true, allows partial stake swaps when the full amount would exceed the price tolerance. - :type allow_partial_stake: bool - :param rate_tolerance: Maximum allowed increase in a price ratio (0.005 = 0.5%). - :type rate_tolerance: float - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: True if the swap was successful, False otherwise. - :rtype: bool - - -.. py:function:: transfer_stake_extrinsic(subtensor, wallet, destination_coldkey_ss58, hotkey_ss58, origin_netuid, destination_netuid, amount, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Transfers stake from one coldkey to another in the Bittensor network. - - :param subtensor: The subtensor instance to interact with the blockchain. - :type subtensor: AsyncSubtensor - :param wallet: The wallet containing the coldkey to authorize the transfer. - :type wallet: Wallet - :param destination_coldkey_ss58: SS58 address of the destination coldkey. - :type destination_coldkey_ss58: str - :param hotkey_ss58: SS58 address of the hotkey associated with the stake. - :type hotkey_ss58: str - :param origin_netuid: Network UID of the origin subnet. - :type origin_netuid: int - :param destination_netuid: Network UID of the destination subnet. - :type destination_netuid: int - :param amount: The amount of stake to transfer as a `Balance` object. - :type amount: Balance - :param wait_for_inclusion: If True, waits for transaction inclusion in a block. Defaults to `True`. - :type wait_for_inclusion: bool - :param wait_for_finalization: If True, waits for transaction finalization. Defaults to `False`. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: True if the transfer was successful, False otherwise. - :rtype: bool - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/registration/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/registration/index.rst deleted file mode 100644 index a8b3e0696e..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/registration/index.rst +++ /dev/null @@ -1,168 +0,0 @@ -bittensor.core.extrinsics.asyncex.registration -============================================== - -.. py:module:: bittensor.core.extrinsics.asyncex.registration - -.. autoapi-nested-parse:: - - This module provides asynchronous functionalities for registering a wallet with the subtensor network using - Proof-of-Work (PoW). - - Extrinsics: - - register_extrinsic: Registers the wallet to the subnet. - - burned_register_extrinsic: Registers the wallet to chain by recycling TAO. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.registration.burned_register_extrinsic - bittensor.core.extrinsics.asyncex.registration.register_extrinsic - bittensor.core.extrinsics.asyncex.registration.register_subnet_extrinsic - bittensor.core.extrinsics.asyncex.registration.set_subnet_identity_extrinsic - - -Module Contents ---------------- - -.. py:function:: burned_register_extrinsic(subtensor, wallet, netuid, wait_for_inclusion = False, wait_for_finalization = True, period = None) - :async: - - - Registers the wallet to chain by recycling TAO. - - :param subtensor: Subtensor instance. - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param wallet: Bittensor wallet object. - :type wallet: bittensor.wallet - :param netuid: The ``netuid`` of the subnet to register on. - :type netuid: int - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is ``True``. - :rtype: success (bool) - - -.. py:function:: register_extrinsic(subtensor, wallet, netuid, wait_for_inclusion = False, wait_for_finalization = True, max_allowed_attempts = 3, output_in_place = True, cuda = False, dev_id = 0, tpb = 256, num_processes = None, update_interval = None, log_verbose = False, period = None) - :async: - - - Registers the wallet to the chain. - - :param subtensor: initialized AsyncSubtensor object to use for chain - interactions - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param wallet: Bittensor wallet object. - :type wallet: bittensor_wallet.Wallet - :param netuid: The ``netuid`` of the subnet to register on. - :type netuid: int - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns - `False` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param max_allowed_attempts: Maximum number of attempts to register the wallet. - :type max_allowed_attempts: int - :param output_in_place: Whether the POW solving should be outputted to the console as it goes along. - :type output_in_place: bool - :param cuda: If `True`, the wallet should be registered using CUDA device(s). - :type cuda: bool - :param dev_id: The CUDA device id to use, or a list of device ids. - :param tpb: The number of threads per block (CUDA). - :param num_processes: The number of processes to use to register. - :param update_interval: The number of nonces to solve between updates. - :param log_verbose: If `True`, the registration process will log more information. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the - response is `True`. - - -.. py:function:: register_subnet_extrinsic(subtensor, wallet, wait_for_inclusion = False, wait_for_finalization = True, period = None) - :async: - - - Registers a new subnetwork on the Bittensor blockchain asynchronously. - - :param subtensor: The async subtensor interface to send the extrinsic. - :type subtensor: AsyncSubtensor - :param wallet: The wallet to be used for subnet registration. - :type wallet: Wallet - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning true. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning true. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: True if the subnet registration was successful, False otherwise. - :rtype: bool - - -.. py:function:: set_subnet_identity_extrinsic(subtensor, wallet, netuid, subnet_name, github_repo, subnet_contact, subnet_url, logo_url, discord, description, additional, wait_for_inclusion = False, wait_for_finalization = True, period = None) - :async: - - - Set the identity information for a given subnet. - - :param subtensor: An instance of the Subtensor class to interact with the blockchain. - :type subtensor: AsyncSubtensor - :param wallet: A wallet instance used to sign and submit the extrinsic. - :type wallet: Wallet - :param netuid: The unique ID for the subnet. - :type netuid: int - :param subnet_name: The name of the subnet to assign the identity information. - :type subnet_name: str - :param github_repo: URL of the GitHub repository related to the subnet. - :type github_repo: str - :param subnet_contact: Subnet's contact information, e.g., email or contact link. - :type subnet_contact: str - :param subnet_url: The URL of the subnet's primary web portal. - :type subnet_url: str - :param logo_url: The URL of the logo's primary web portal. - :type logo_url: str - :param discord: Discord server or contact for the subnet. - :type discord: str - :param description: A textual description of the subnet. - :type description: str - :param additional: Any additional metadata or information related to the subnet. - :type additional: str - :param wait_for_inclusion: Whether to wait for the extrinsic inclusion in a block (default: False). - :type wait_for_inclusion: bool - :param wait_for_finalization: Whether to wait for the extrinsic finalization in a block (default: True). - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - A tuple where the first element indicates success or failure (True/False), and the second - element contains a descriptive message. - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/root/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/root/index.rst deleted file mode 100644 index a80c680989..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/root/index.rst +++ /dev/null @@ -1,79 +0,0 @@ -bittensor.core.extrinsics.asyncex.root -====================================== - -.. py:module:: bittensor.core.extrinsics.asyncex.root - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.root.root_register_extrinsic - bittensor.core.extrinsics.asyncex.root.set_root_weights_extrinsic - - -Module Contents ---------------- - -.. py:function:: root_register_extrinsic(subtensor, wallet, wait_for_inclusion = True, wait_for_finalization = True, period = None) - :async: - - - Registers the wallet to the root network. - - :param subtensor: The AsyncSubtensor object - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param wallet: Bittensor wallet object. - :type wallet: bittensor_wallet.Wallet - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns - `False` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, - the response is `True`. - - -.. py:function:: set_root_weights_extrinsic(subtensor, wallet, netuids, weights, version_key = 0, wait_for_inclusion = False, wait_for_finalization = False, period = None) - :async: - - - Sets the given weights and values on a chain for a wallet hotkey account. - - :param subtensor: The AsyncSubtensor object - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param wallet: Bittensor wallet object. - :type wallet: bittensor_wallet.Wallet - :param netuids: The `netuid` of the subnet to set weights for. - :type netuids: Union[NDArray[np.int64], list[int]] - :param weights: Weights to set. These must be `Float`s and must correspond - to the passed `netuid` s. - :type weights: Union[NDArray[np.float32], list[Float]] - :param version_key: The version key of the validator. - :type version_key: int - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns - `False` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning ` - True`, or returns `False` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the - response is `True`. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/serving/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/serving/index.rst deleted file mode 100644 index 4aa162a383..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/serving/index.rst +++ /dev/null @@ -1,180 +0,0 @@ -bittensor.core.extrinsics.asyncex.serving -========================================= - -.. py:module:: bittensor.core.extrinsics.asyncex.serving - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.serving.do_serve_axon - bittensor.core.extrinsics.asyncex.serving.get_last_bonds_reset - bittensor.core.extrinsics.asyncex.serving.get_metadata - bittensor.core.extrinsics.asyncex.serving.publish_metadata - bittensor.core.extrinsics.asyncex.serving.serve_axon_extrinsic - bittensor.core.extrinsics.asyncex.serving.serve_extrinsic - - -Module Contents ---------------- - -.. py:function:: do_serve_axon(subtensor, wallet, call_params, wait_for_inclusion = False, wait_for_finalization = True, period = None) - :async: - - - Internal method to submit a serve axon transaction to the Bittensor blockchain. This method creates and submits a - transaction, enabling a neuron's ``Axon`` to serve requests on the network. - - :param subtensor: Subtensor instance object. - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param wallet: The wallet associated with the neuron. - :type wallet: bittensor_wallet.Wallet - :param call_params: Parameters required for the serve axon call. - :type call_params: bittensor.core.types.AxonServeCallParams - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: A tuple containing a success flag and an optional error message. - :rtype: tuple[bool, str] - - This function is crucial for initializing and announcing a neuron's ``Axon`` service on the network, enhancing the - decentralized computation capabilities of Bittensor. - - -.. py:function:: get_last_bonds_reset(subtensor, netuid, hotkey, block = None, block_hash = None, reuse_block = False) - :async: - - - Fetches the last bonds reset triggered at commitment from the blockchain for a given hotkey and netuid. - - -.. py:function:: get_metadata(subtensor, netuid, hotkey, block = None, block_hash = None, reuse_block = False) - :async: - - - Fetches metadata from the blockchain for a given hotkey and netuid. - - -.. py:function:: publish_metadata(subtensor, wallet, netuid, data_type, data, wait_for_inclusion = False, wait_for_finalization = True, period = None, reset_bonds = False) - :async: - - - Publishes metadata on the Bittensor network using the specified wallet and network identifier. - - :param subtensor: The subtensor instance representing the Bittensor blockchain connection. - :type subtensor: bittensor.subtensor - :param wallet: The wallet object used for authentication in the transaction. - :type wallet: bittensor.wallet - :param netuid: Network UID on which the metadata is to be published. - :type netuid: int - :param data_type: The data type of the information being submitted. It should be one of the following: - ``'Sha256'``, ``'Blake256'``, ``'Keccak256'``, or ``'Raw0-128'``. This specifies the format or hashing - algorithm used for the data. - :type data_type: str - :param data: The actual metadata content to be published. This should be formatted or hashed - according to the ``type`` specified. (Note: max ``str`` length is 128 bytes for ``'Raw0-128'``.) - :type data: Union[bytes, dict] - :param wait_for_inclusion: If ``True``, the function will wait for the extrinsic to be included in a - block before returning. Defaults to ``False``. - :type wait_for_inclusion: bool, optional - :param wait_for_finalization: If ``True``, the function will wait for the extrinsic to be finalized - on the chain before returning. Defaults to ``True``. - :type wait_for_finalization: bool, optional - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - :param reset_bonds: If `True`, the function will reset the bonds for the neuron. Defaults to `False`. - :type reset_bonds: bool - - :returns: ``True`` if the metadata was successfully published (and finalized if specified). ``False`` otherwise. - :rtype: bool - - :raises MetadataError: If there is an error in submitting the extrinsic, or if the response from the blockchain indicates - failure. - - -.. py:function:: serve_axon_extrinsic(subtensor, netuid, axon, wait_for_inclusion = False, wait_for_finalization = True, certificate = None, period = None) - :async: - - - Serves the axon to the network. - - :param subtensor: Subtensor instance object. - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param netuid: The ``netuid`` being served on. - :type netuid: int - :param axon: Axon to serve. - :type axon: bittensor.core.axon.Axon - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param certificate: Certificate to use for TLS. If ``None``, no TLS will be used. - Defaults to ``None``. - :type certificate: bittensor.utils.Certificate - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is ``True``. - :rtype: success (bool) - - -.. py:function:: serve_extrinsic(subtensor, wallet, ip, port, protocol, netuid, placeholder1 = 0, placeholder2 = 0, wait_for_inclusion = False, wait_for_finalization=True, certificate = None, period = None) - :async: - - - Subscribes a Bittensor endpoint to the subtensor chain. - - :param subtensor: Subtensor instance object. - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param wallet: Bittensor wallet object. - :type wallet: bittensor_wallet.Wallet - :param ip: Endpoint host port i.e., ``192.122.31.4``. - :type ip: str - :param port: Endpoint port number i.e., ``9221``. - :type port: int - :param protocol: An ``int`` representation of the protocol. - :type protocol: int - :param netuid: The network uid to serve on. - :type netuid: int - :param placeholder1: A placeholder for future use. - :type placeholder1: int - :param placeholder2: A placeholder for future use. - :type placeholder2: int - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param certificate: Certificate to use for TLS. If ``None``, no TLS will be used. - Defaults to ``None``. - :type certificate: bittensor.utils.Certificate - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is ``True``. - :rtype: success (bool) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/staking/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/staking/index.rst deleted file mode 100644 index fe5e5b1a9a..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/staking/index.rst +++ /dev/null @@ -1,79 +0,0 @@ -bittensor.core.extrinsics.asyncex.staking -========================================= - -.. py:module:: bittensor.core.extrinsics.asyncex.staking - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.staking.add_stake_extrinsic - bittensor.core.extrinsics.asyncex.staking.add_stake_multiple_extrinsic - - -Module Contents ---------------- - -.. py:function:: add_stake_extrinsic(subtensor, wallet, old_balance = None, hotkey_ss58 = None, netuid = None, amount = None, wait_for_inclusion = True, wait_for_finalization = False, safe_staking = False, allow_partial_stake = False, rate_tolerance = 0.005, period = None) - :async: - - - Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified subnet. - Staking is a fundamental process in the Bittensor network that enables neurons to participate actively and earn incentives. - - :param subtensor: Subtensor instance with the connection to the chain. - :param wallet: Bittensor wallet object. - :param old_balance: the balance prior to the staking - :param hotkey_ss58: The `ss58` address of the hotkey account to stake to default to the wallet's hotkey. If not - specified, the wallet's hotkey will be used. Defaults to ``None``. - :param netuid: The unique identifier of the subnet to which the neuron belongs. - :param amount: Amount to stake as Bittensor balance in TAO always, `None` if staking all. Defaults is ``None``. - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns - `False` if the extrinsic fails to enter the block within the timeout. Defaults to ``True``. - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning `True`, - or returns `False` if the extrinsic fails to be finalized within the timeout. Defaults to ``False``. - :param safe_staking: If True, enables price safety checks. Default is ``False``. - :param allow_partial_stake: If True, allows partial unstaking if price tolerance exceeded. Default is ``False``. - :param rate_tolerance: Maximum allowed price increase percentage (0.005 = 0.5%). Default is ``0.005``. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. Defaults to ``None``. - - :returns: - - Flag is `True` if extrinsic was finalized or included in the block. If we did not wait for - finalization/inclusion, the response is `True`. - :rtype: success - - :raises SubstrateRequestException: Raised if the extrinsic fails to be included in the block within the timeout. - - -.. py:function:: add_stake_multiple_extrinsic(subtensor, wallet, hotkey_ss58s, netuids, old_balance = None, amounts = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Adds a stake to each ``hotkey_ss58`` in the list, using each amount, from a common coldkey. - - :param subtensor: The initialized SubtensorInterface object. - :param wallet: Bittensor wallet object for the coldkey. - :param old_balance: The balance of the wallet prior to staking. - :param hotkey_ss58s: List of hotkeys to stake to. - :param netuids: List of netuids to stake to. - :param amounts: List of amounts to stake. If `None`, stake all to the first hotkey. - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns `False` - if the extrinsic fails to enter the block within the timeout. - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning `True`, or - returns `False` if the extrinsic fails to be finalized within the timeout. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - - `True` if extrinsic was finalized or included in the block. `True` if any wallet was staked. If we did - not wait for finalization/inclusion, the response is `True`. - :rtype: success - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/start_call/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/start_call/index.rst deleted file mode 100644 index 94c35965ba..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/start_call/index.rst +++ /dev/null @@ -1,43 +0,0 @@ -bittensor.core.extrinsics.asyncex.start_call -============================================ - -.. py:module:: bittensor.core.extrinsics.asyncex.start_call - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.start_call.start_call_extrinsic - - -Module Contents ---------------- - -.. py:function:: start_call_extrinsic(subtensor, wallet, netuid, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start a - new subnet's emission mechanism). - - :param subtensor: The Subtensor client instance used for blockchain interaction. - :type subtensor: Subtensor - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :type wallet: Wallet - :param netuid: The UID of the target subnet for which the call is being initiated. - :type netuid: int - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :type wait_for_inclusion: bool, optional - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :type wait_for_finalization: bool, optional - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/sudo/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/sudo/index.rst deleted file mode 100644 index a443f0e372..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/sudo/index.rst +++ /dev/null @@ -1,91 +0,0 @@ -bittensor.core.extrinsics.asyncex.sudo -====================================== - -.. py:module:: bittensor.core.extrinsics.asyncex.sudo - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.sudo.sudo_set_admin_freeze_window_extrinsic - bittensor.core.extrinsics.asyncex.sudo.sudo_set_mechanism_count_extrinsic - bittensor.core.extrinsics.asyncex.sudo.sudo_set_mechanism_emission_split_extrinsic - - -Module Contents ---------------- - -.. py:function:: sudo_set_admin_freeze_window_extrinsic(subtensor, wallet, window, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - :async: - - - Sets the admin freeze window length (in blocks) at the end of a tempo. - - :param subtensor: AsyncSubtensor instance. - :param wallet: Bittensor Wallet instance. - :param window: The amount of blocks to freeze in the end of a tempo. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - -.. py:function:: sudo_set_mechanism_count_extrinsic(subtensor, wallet, netuid, mech_count, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - :async: - - - Sets the number of subnet mechanisms. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The subnet unique identifier. - :param mech_count: The amount of subnet mechanism to be set. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - -.. py:function:: sudo_set_mechanism_emission_split_extrinsic(subtensor, wallet, netuid, maybe_split, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - :async: - - - Sets the emission split between mechanisms in a provided subnet. - - :param subtensor: AsyncSubtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The subnet unique identifier. - :param maybe_split: List of emission weights (positive integers) for each subnet mechanism. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - .. note:: - - The `maybe_split` list defines the relative emission share for each subnet mechanism. - Its length must match the number of active mechanisms in the subnet or be shorter, but not equal to zero. For - example, [3, 1, 1] distributes emissions in a 3:1:1 ratio across subnet mechanisms 0, 1, and 2. Each mechanism's - emission share is calculated as: share[i] = maybe_split[i] / sum(maybe_split) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/take/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/take/index.rst deleted file mode 100644 index 131e5ea9ef..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/take/index.rst +++ /dev/null @@ -1,74 +0,0 @@ -bittensor.core.extrinsics.asyncex.take -====================================== - -.. py:module:: bittensor.core.extrinsics.asyncex.take - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.take.decrease_take_extrinsic - bittensor.core.extrinsics.asyncex.take.increase_take_extrinsic - - -Module Contents ---------------- - -.. py:function:: decrease_take_extrinsic(subtensor, wallet, hotkey_ss58, take, wait_for_inclusion = True, wait_for_finalization = True, raise_error = False, period = None) - :async: - - - Sets the delegate 'take' percentage for a neuron identified by its hotkey. - - :param subtensor: Blockchain connection. - :type subtensor: Subtensor - :param wallet: The wallet to sign the extrinsic. - :type wallet: Wallet - :param hotkey_ss58: SS58 address of the hotkey to set take for. - :type hotkey_ss58: str - :param take: The percentage of rewards that the delegate claims from nominators. - :type take: int - :param wait_for_inclusion: Wait for inclusion before returning. Defaults to True. - :type wait_for_inclusion: bool, optional - :param wait_for_finalization: Wait for finalization before returning. Defaults to True. - :type wait_for_finalization: bool, optional - :param raise_error: Raise error on failure. Defaults to False. - :type raise_error: bool, optional - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: Success flag and status message. - :rtype: tuple[bool, str] - - -.. py:function:: increase_take_extrinsic(subtensor, wallet, hotkey_ss58, take, wait_for_inclusion = True, wait_for_finalization = True, raise_error = False, period = None) - :async: - - - Sets the delegate 'take' percentage for a neuron identified by its hotkey. - - :param subtensor: Blockchain connection. - :type subtensor: Subtensor - :param wallet: The wallet to sign the extrinsic. - :type wallet: Wallet - :param hotkey_ss58: SS58 address of the hotkey to set take for. - :type hotkey_ss58: str - :param take: The percentage of rewards that the delegate claims from nominators. - :type take: int - :param wait_for_inclusion: Wait for inclusion before returning. Defaults to True. - :type wait_for_inclusion: bool, optional - :param wait_for_finalization: Wait for finalization before returning. Defaults to True. - :type wait_for_finalization: bool, optional - :param raise_error: Raise error on failure. Defaults to False. - :type raise_error: bool, optional - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: Success flag and status message. - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/transfer/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/transfer/index.rst deleted file mode 100644 index 43fff1bb24..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/transfer/index.rst +++ /dev/null @@ -1,54 +0,0 @@ -bittensor.core.extrinsics.asyncex.transfer -========================================== - -.. py:module:: bittensor.core.extrinsics.asyncex.transfer - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.transfer.transfer_extrinsic - - -Module Contents ---------------- - -.. py:function:: transfer_extrinsic(subtensor, wallet, dest, amount, transfer_all = False, wait_for_inclusion = True, wait_for_finalization = False, keep_alive = True, period = None) - :async: - - - Transfers funds from this wallet to the destination public key address. - - :param subtensor: initialized AsyncSubtensor object used for transfer - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param wallet: Bittensor wallet object to make transfer from. - :type wallet: bittensor_wallet.Wallet - :param dest: Destination public key address (ss58_address or ed25519) of recipient. - :type dest: str - :param amount: Amount to stake as Bittensor balance. `None` if - transferring all. - :type amount: Optional[bittensor.utils.balance.Balance] - :param transfer_all: Whether to transfer all funds from this wallet to the destination address. - :type transfer_all: bool - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns - `False` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param keep_alive: If set, keeps the account alive by keeping the balance above the existential deposit. - :type keep_alive: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. - If the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - Flag is `True` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is `True`, regardless of its inclusion. - :rtype: success (bool) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.rst deleted file mode 100644 index 997472a357..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.rst +++ /dev/null @@ -1,98 +0,0 @@ -bittensor.core.extrinsics.asyncex.unstaking -=========================================== - -.. py:module:: bittensor.core.extrinsics.asyncex.unstaking - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.unstaking.unstake_all_extrinsic - bittensor.core.extrinsics.asyncex.unstaking.unstake_extrinsic - bittensor.core.extrinsics.asyncex.unstaking.unstake_multiple_extrinsic - - -Module Contents ---------------- - -.. py:function:: unstake_all_extrinsic(subtensor, wallet, hotkey, netuid, rate_tolerance = 0.005, wait_for_inclusion = True, wait_for_finalization = False, period = None) - :async: - - - Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network. - - :param subtensor: Subtensor instance. - :param wallet: The wallet of the stake owner. - :param hotkey: The SS58 address of the hotkey to unstake from. - :param netuid: The unique identifier of the subnet. - :param rate_tolerance: The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum - price decrease. If not passed (None), then unstaking goes without price limit. Default is `0.005`. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Default is `True`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is `False`. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. Default is `None`. - - :returns: A tuple containing: - - `True` and a success message if the unstake operation succeeded; - - `False` and an error message otherwise. - :rtype: tuple[bool, str] - - -.. py:function:: unstake_extrinsic(subtensor, wallet, hotkey_ss58 = None, netuid = None, amount = None, wait_for_inclusion = True, wait_for_finalization = False, safe_staking = False, allow_partial_stake = False, rate_tolerance = 0.005, period = None, unstake_all = False) - :async: - - - Removes stake into the wallet coldkey from the specified hotkey ``uid``. - - :param subtensor: AsyncSubtensor instance. - :param wallet: Bittensor wallet object. - :param hotkey_ss58: The ``ss58`` address of the hotkey to unstake from. By default, the wallet hotkey is used. - :param netuid: The subnet uid to unstake from. - :param amount: Amount to stake as Bittensor balance, or ``float`` interpreted as Tao. - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or returns - ``False`` if the extrinsic fails to enter the block within the timeout. - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning ``True``, - or returns ``False`` if the extrinsic fails to be finalized within the timeout. - :param safe_staking: If true, enables price safety checks - :param allow_partial_stake: If true, allows partial unstaking if price tolerance exceeded - :param rate_tolerance: Maximum allowed price decrease percentage (0.005 = 0.5%) - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param unstake_all: If true, unstakes all tokens. Default is ``False``. - - :returns: A tuple containing: - - `True` and a success message if the unstake operation succeeded; - - `False` and an error message otherwise. - :rtype: tuple[bool, str] - - -.. py:function:: unstake_multiple_extrinsic(subtensor, wallet, hotkey_ss58s, netuids, amounts = None, wait_for_inclusion = True, wait_for_finalization = False, period = None, unstake_all = False) - :async: - - - Removes stake from each ``hotkey_ss58`` in the list, using each amount, to a common coldkey. - - :param subtensor: Subtensor instance. - :param wallet: The wallet with the coldkey to unstake to. - :param hotkey_ss58s: List of hotkeys to unstake from. - :param netuids: List of netuids to unstake from. - :param amounts: List of amounts to unstake. If ``None``, unstake all. - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param unstake_all: If true, unstakes all tokens. Default is ``False``. - - :returns: A tuple containing: - - `True` and a success message if the unstake operation succeeded; - - `False` and an error message otherwise. - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/utils/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/utils/index.rst deleted file mode 100644 index 0a25473510..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/utils/index.rst +++ /dev/null @@ -1,58 +0,0 @@ -bittensor.core.extrinsics.asyncex.utils -======================================= - -.. py:module:: bittensor.core.extrinsics.asyncex.utils - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.utils.get_extrinsic_fee - bittensor.core.extrinsics.asyncex.utils.sudo_call_extrinsic - - -Module Contents ---------------- - -.. py:function:: get_extrinsic_fee(subtensor, call, keypair, netuid = None) - :async: - - - Get extrinsic fee for a given extrinsic call and keypair for a given SN's netuid. - - :param subtensor: The Subtensor instance. - :param netuid: The SN's netuid. - :param call: The extrinsic call. - :param keypair: The keypair associated with the extrinsic. - - :returns: Balance object representing the extrinsic fee in RAO. - - -.. py:function:: sudo_call_extrinsic(subtensor, wallet, call_function, call_params, call_module = 'AdminUtils', sign_with = 'coldkey', use_nonce = False, nonce_key = 'hotkey', period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - :async: - - - Execute a sudo call extrinsic. - - :param subtensor: AsyncSubtensor instance. - :param wallet: The wallet instance. - :param call_function: The call function to execute. - :param call_params: The call parameters. - :param call_module: The call module. - :param sign_with: The keypair to sign the extrinsic with. - :param use_nonce: Whether to use a nonce. - :param nonce_key: The key to use for the nonce. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/weights/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/weights/index.rst deleted file mode 100644 index 676533dde0..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/asyncex/weights/index.rst +++ /dev/null @@ -1,130 +0,0 @@ -bittensor.core.extrinsics.asyncex.weights -========================================= - -.. py:module:: bittensor.core.extrinsics.asyncex.weights - -.. autoapi-nested-parse:: - - This module provides sync functionality for working with weights in the Bittensor network. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.asyncex.weights.commit_weights_extrinsic - bittensor.core.extrinsics.asyncex.weights.reveal_weights_extrinsic - bittensor.core.extrinsics.asyncex.weights.set_weights_extrinsic - - -Module Contents ---------------- - -.. py:function:: commit_weights_extrinsic(subtensor, wallet, netuid, commit_hash, wait_for_inclusion = False, wait_for_finalization = False, period = None) - :async: - - - Commits a hash of the neuron's weights to the Bittensor blockchain using the provided wallet. - This function is a wrapper around the `do_commit_weights` method. - - :param subtensor: The subtensor instance used for blockchain - interaction. - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param wallet: The wallet associated with the neuron committing the weights. - :type wallet: bittensor_wallet.Wallet - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param commit_hash: The hash of the neuron's weights to be committed. - :type commit_hash: str - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: `True` if the weight commitment is successful, `False` otherwise. - `msg` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - This function provides a user-friendly interface for committing weights to the Bittensor blockchain, ensuring proper - error handling and user interaction when required. - - -.. py:function:: reveal_weights_extrinsic(subtensor, wallet, netuid, uids, weights, salt, version_key, wait_for_inclusion = False, wait_for_finalization = False, period = None) - :async: - - - Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet. - This function is a wrapper around the `_do_reveal_weights` method. - - :param subtensor: The subtensor instance used for blockchain interaction. - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param wallet: The wallet associated with the neuron revealing the weights. - :type wallet: bittensor_wallet.Wallet - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param uids: List of neuron UIDs for which weights are being revealed. - :type uids: list[int] - :param weights: List of weight values corresponding to each UID. - :type weights: list[int] - :param salt: List of salt values corresponding to the hash function. - :type salt: list[int] - :param version_key: Version key for compatibility with the network. - :type version_key: int - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: `True` if the weight commitment is successful, `False` otherwise. - `msg` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - This function provides a user-friendly interface for revealing weights on the Bittensor blockchain, ensuring proper - error handling and user interaction when required. - - -.. py:function:: set_weights_extrinsic(subtensor, wallet, netuid, uids, weights, version_key = 0, wait_for_inclusion = False, wait_for_finalization = False, period = 8) - :async: - - - Sets the given weights and values on chain for a given wallet hotkey account. - - :param subtensor: Bittensor subtensor object. - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param wallet: Bittensor wallet object. - :type wallet: bittensor_wallet.Wallet - :param netuid: The ``netuid`` of the subnet to set weights for. - :type netuid: int - :param uids: The ``uint64`` uids of destination neurons. - :type uids: Union[NDArray[np.int64], torch.LongTensor, list] - :param weights: The weights to set. These must be ``float`` s and - correspond to the passed ``uid`` s. - :type weights: Union[NDArray[np.float32], torch.FloatTensor, list] - :param version_key: The version key of the validator. - :type version_key: int - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: `True` if the weight commitment is successful, `False` otherwise. - `msg` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/children/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/children/index.rst deleted file mode 100644 index f660cdf1eb..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/children/index.rst +++ /dev/null @@ -1,58 +0,0 @@ -bittensor.core.extrinsics.children -================================== - -.. py:module:: bittensor.core.extrinsics.children - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.children.root_set_pending_childkey_cooldown_extrinsic - bittensor.core.extrinsics.children.set_children_extrinsic - - -Module Contents ---------------- - -.. py:function:: root_set_pending_childkey_cooldown_extrinsic(subtensor, wallet, cooldown, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Allows a coldkey to set children-keys. - - -.. py:function:: set_children_extrinsic(subtensor, wallet, hotkey, netuid, children, wait_for_inclusion = True, wait_for_finalization = False, raise_error = False, period = None) - - Allows a coldkey to set children-keys. - - :param subtensor: bittensor subtensor. - :param wallet: bittensor wallet instance. - :param hotkey: The ``SS58`` address of the neuron's hotkey. - :param netuid: The netuid value. - :param children: A list of children with their proportions. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - - :returns: - - A tuple where the first element is a boolean indicating success or failure of the operation, - and the second element is a message providing additional information. - :rtype: tuple[bool, str] - - :raises DuplicateChild: There are duplicates in the list of children. - :raises InvalidChild: Child is the hotkey. - :raises NonAssociatedColdKey: The coldkey does not own the hotkey or the child is the same as the hotkey. - :raises NotEnoughStakeToSetChildkeys: Parent key doesn't have minimum own stake. - :raises ProportionOverflow: The sum of the proportions does exceed uint64. - :raises RegistrationNotPermittedOnRootSubnet: Attempting to register a child on the root network. - :raises SubNetworkDoesNotExist: Attempting to register to a non-existent network. - :raises TooManyChildren: Too many children in request. - :raises TxRateLimitExceeded: Hotkey hit the rate limit. - :raises bittensor_wallet.errors.KeyFileError: Failed to decode keyfile data. - :raises bittensor_wallet.errors.PasswordError: Decryption failed or wrong password for decryption provided. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/commit_reveal/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/commit_reveal/index.rst deleted file mode 100644 index fc3db4d4a4..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/commit_reveal/index.rst +++ /dev/null @@ -1,48 +0,0 @@ -bittensor.core.extrinsics.commit_reveal -======================================= - -.. py:module:: bittensor.core.extrinsics.commit_reveal - -.. autoapi-nested-parse:: - - This module provides sync functionality for commit reveal in the Bittensor network. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.commit_reveal.commit_reveal_v3_extrinsic - - -Module Contents ---------------- - -.. py:function:: commit_reveal_v3_extrinsic(subtensor, wallet, netuid, uids, weights, version_key = version_as_int, wait_for_inclusion = False, wait_for_finalization = False, block_time = 12.0, period = None) - - Commits and reveals weights for a given subtensor and wallet with provided uids and weights. - - :param subtensor: The Subtensor instance. - :param wallet: The wallet to use for committing and revealing. - :param netuid: The id of the network. - :param uids: The uids to commit. - :param weights: The weights associated with the uids. - :param version_key: The version key to use for committing and revealing. Default is version_as_int. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. Default is False. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. Default is False. - :param block_time: The number of seconds for block duration. Default is 12.0 seconds. - :type block_time: float - :param period: The number of blocks during which the transaction will remain valid after it's submitted. - If the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - A tuple where the first element is a boolean indicating success or failure, and the second - element is a message associated with the result - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/commit_weights/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/commit_weights/index.rst deleted file mode 100644 index e644535f45..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/commit_weights/index.rst +++ /dev/null @@ -1,89 +0,0 @@ -bittensor.core.extrinsics.commit_weights -======================================== - -.. py:module:: bittensor.core.extrinsics.commit_weights - -.. autoapi-nested-parse:: - - Module sync commit weights and reveal weights extrinsic. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.commit_weights.commit_weights_extrinsic - bittensor.core.extrinsics.commit_weights.reveal_weights_extrinsic - - -Module Contents ---------------- - -.. py:function:: commit_weights_extrinsic(subtensor, wallet, netuid, commit_hash, wait_for_inclusion = False, wait_for_finalization = False, period = None) - - Commits a hash of the neuron's weights to the Bittensor blockchain using the provided wallet. - This function is a wrapper around the `do_commit_weights` method. - - :param subtensor: The subtensor instance used for blockchain interaction. - :type subtensor: bittensor.core.subtensor.Subtensor - :param wallet: The wallet associated with the neuron committing the weights. - :type wallet: bittensor_wallet.Wallet - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param commit_hash: The hash of the neuron's weights to be committed. - :type commit_hash: str - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: `True` if the weight commitment is successful, `False` otherwise. - `msg` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - This function provides a user-friendly interface for committing weights to the Bittensor blockchain, ensuring proper - error handling and user interaction when required. - - -.. py:function:: reveal_weights_extrinsic(subtensor, wallet, netuid, uids, weights, salt, version_key, wait_for_inclusion = False, wait_for_finalization = False, period = None) - - Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet. - This function is a wrapper around the `_do_reveal_weights` method. - - :param subtensor: The subtensor instance used for blockchain interaction. - :type subtensor: bittensor.core.subtensor.Subtensor - :param wallet: The wallet associated with the neuron revealing the weights. - :type wallet: bittensor_wallet.Wallet - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param uids: List of neuron UIDs for which weights are being revealed. - :type uids: list[int] - :param weights: List of weight values corresponding to each UID. - :type weights: list[int] - :param salt: List of salt values corresponding to the hash function. - :type salt: list[int] - :param version_key: Version key for compatibility with the network. - :type version_key: int - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: `True` if the weight commitment is successful, `False` otherwise. - `msg` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - This function provides a user-friendly interface for revealing weights on the Bittensor blockchain, ensuring proper - error handling and user interaction when required. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/index.rst deleted file mode 100644 index 466f3b9637..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/index.rst +++ /dev/null @@ -1,34 +0,0 @@ -bittensor.core.extrinsics -========================= - -.. py:module:: bittensor.core.extrinsics - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/core/extrinsics/asyncex/index - /autoapi/bittensor/core/extrinsics/children/index - /autoapi/bittensor/core/extrinsics/commit_reveal/index - /autoapi/bittensor/core/extrinsics/commit_weights/index - /autoapi/bittensor/core/extrinsics/liquidity/index - /autoapi/bittensor/core/extrinsics/mechanism/index - /autoapi/bittensor/core/extrinsics/move_stake/index - /autoapi/bittensor/core/extrinsics/params/index - /autoapi/bittensor/core/extrinsics/registration/index - /autoapi/bittensor/core/extrinsics/root/index - /autoapi/bittensor/core/extrinsics/serving/index - /autoapi/bittensor/core/extrinsics/set_weights/index - /autoapi/bittensor/core/extrinsics/staking/index - /autoapi/bittensor/core/extrinsics/start_call/index - /autoapi/bittensor/core/extrinsics/sudo/index - /autoapi/bittensor/core/extrinsics/take/index - /autoapi/bittensor/core/extrinsics/transfer/index - /autoapi/bittensor/core/extrinsics/unstaking/index - /autoapi/bittensor/core/extrinsics/utils/index - /autoapi/bittensor/core/extrinsics/weights/index - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/liquidity/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/liquidity/index.rst deleted file mode 100644 index b2c538376a..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/liquidity/index.rst +++ /dev/null @@ -1,111 +0,0 @@ -bittensor.core.extrinsics.liquidity -=================================== - -.. py:module:: bittensor.core.extrinsics.liquidity - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.liquidity.add_liquidity_extrinsic - bittensor.core.extrinsics.liquidity.modify_liquidity_extrinsic - bittensor.core.extrinsics.liquidity.remove_liquidity_extrinsic - bittensor.core.extrinsics.liquidity.toggle_user_liquidity_extrinsic - - -Module Contents ---------------- - -.. py:function:: add_liquidity_extrinsic(subtensor, wallet, netuid, liquidity, price_low, price_high, hotkey = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Adds liquidity to the specified price range. - - :param subtensor: The Subtensor client instance used for blockchain interaction. - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param liquidity: The amount of liquidity to be added. - :param price_low: The lower bound of the price tick range. - :param price_high: The upper bound of the price tick range. - :param hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to `None`. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call - `toggle_user_liquidity_extrinsic` to enable/disable user liquidity. - - -.. py:function:: modify_liquidity_extrinsic(subtensor, wallet, netuid, position_id, liquidity_delta, hotkey = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Modifies liquidity in liquidity position by adding or removing liquidity from it. - - :param subtensor: The Subtensor client instance used for blockchain interaction. - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param position_id: The id of the position record in the pool. - :param liquidity_delta: The amount of liquidity to be added or removed (add if positive or remove if negative). - :param hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to `None`. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - Note: Modifying is allowed even when user liquidity is enabled in specified subnet. Call - `toggle_user_liquidity_extrinsic` to enable/disable user liquidity. - - -.. py:function:: remove_liquidity_extrinsic(subtensor, wallet, netuid, position_id, hotkey = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Remove liquidity and credit balances back to wallet's hotkey stake. - - :param subtensor: The Subtensor client instance used for blockchain interaction. - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param position_id: The id of the position record in the pool. - :param hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to `None`. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - Note: Adding is allowed even when user liquidity is enabled in specified subnet. - Call `toggle_user_liquidity_extrinsic` to enable/disable user liquidity. - - -.. py:function:: toggle_user_liquidity_extrinsic(subtensor, wallet, netuid, enable, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Allow to toggle user liquidity for specified subnet. - - :param subtensor: The Subtensor client instance used for blockchain interaction. - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param enable: Boolean indicating whether to enable user liquidity. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/mechanism/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/mechanism/index.rst deleted file mode 100644 index f1b9d649c0..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/mechanism/index.rst +++ /dev/null @@ -1,116 +0,0 @@ -bittensor.core.extrinsics.mechanism -=================================== - -.. py:module:: bittensor.core.extrinsics.mechanism - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.mechanism.commit_mechanism_weights_extrinsic - bittensor.core.extrinsics.mechanism.commit_timelocked_mechanism_weights_extrinsic - bittensor.core.extrinsics.mechanism.reveal_mechanism_weights_extrinsic - bittensor.core.extrinsics.mechanism.set_mechanism_weights_extrinsic - - -Module Contents ---------------- - -.. py:function:: commit_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, salt, version_key = version_as_int, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The subnet unique identifier. - :param mechid: The subnet mechanism unique identifier. - :param uids: NumPy array of neuron UIDs for which weights are being committed. - :param weights: NumPy array of weight values corresponding to each UID. - :param salt: list of randomly generated integers as salt to generated weighted hash. - :param version_key: Version key for compatibility with the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - -.. py:function:: commit_timelocked_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, block_time, commit_reveal_version = 4, version_key = version_as_int, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The unique identifier of the subnet. - :param mechid: The sub-subnet unique identifier. - :param uids: The list of neuron UIDs that the weights are being set for. - :param weights: The corresponding weights to be set for each UID. - :param block_time: The number of seconds for block duration. - :param commit_reveal_version: The version of the commit-reveal in the chain. - :param version_key: Version key for compatibility with the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - -.. py:function:: reveal_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, salt, version_key, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Reveals the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The unique identifier of the subnet. - :param mechid: The subnet mechanism unique identifier. - :param uids: List of neuron UIDs for which weights are being revealed. - :param weights: List of weight values corresponding to each UID. - :param salt: List of salt values corresponding to the hash function. - :param version_key: Version key for compatibility with the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - -.. py:function:: set_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, version_key, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Sets the passed weights in the chain for hotkeys in the sub-subnet of the passed subnet. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The unique identifier of the subnet. - :param mechid: The subnet mechanism unique identifier. - :param uids: List of neuron UIDs for which weights are being revealed. - :param weights: List of weight values corresponding to each UID. - :param version_key: Version key for compatibility with the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/move_stake/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/move_stake/index.rst deleted file mode 100644 index 264843c8b0..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/move_stake/index.rst +++ /dev/null @@ -1,107 +0,0 @@ -bittensor.core.extrinsics.move_stake -==================================== - -.. py:module:: bittensor.core.extrinsics.move_stake - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.move_stake.move_stake_extrinsic - bittensor.core.extrinsics.move_stake.swap_stake_extrinsic - bittensor.core.extrinsics.move_stake.transfer_stake_extrinsic - - -Module Contents ---------------- - -.. py:function:: move_stake_extrinsic(subtensor, wallet, origin_hotkey, origin_netuid, destination_hotkey, destination_netuid, amount = None, wait_for_inclusion = True, wait_for_finalization = False, period = None, move_all_stake = False) - - Moves stake to a different hotkey and/or subnet while keeping the same coldkey owner. - - :param subtensor: Subtensor instance. - :param wallet: The wallet to move stake from. - :param origin_hotkey: The SS58 address of the source hotkey. - :param origin_netuid: The netuid of the source subnet. - :param destination_hotkey: The SS58 address of the destination hotkey. - :param destination_netuid: The netuid of the destination subnet. - :param amount: Amount to move. - :param wait_for_inclusion: If true, waits for inclusion before returning. - :param wait_for_finalization: If true, waits for finalization before returning. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param move_all_stake: If true, moves all stake from the source hotkey to the destination hotkey. - - :returns: True if the move was successful. Otherwise, False. - :rtype: success - - -.. py:function:: swap_stake_extrinsic(subtensor, wallet, hotkey_ss58, origin_netuid, destination_netuid, amount = None, wait_for_inclusion = True, wait_for_finalization = False, safe_staking = False, allow_partial_stake = False, rate_tolerance = 0.005, period = None) - - Moves stake between subnets while keeping the same coldkey-hotkey pair ownership. - - :param subtensor: Subtensor instance. - :type subtensor: Subtensor - :param wallet: The wallet to swap stake from. - :type wallet: bittensor.wallet - :param hotkey_ss58: The hotkey SS58 address associated with the stake. - :type hotkey_ss58: str - :param origin_netuid: The source subnet UID. - :type origin_netuid: int - :param destination_netuid: The destination subnet UID. - :type destination_netuid: int - :param amount: Amount to swap. - :type amount: Union[Balance, float] - :param wait_for_inclusion: If true, waits for inclusion before returning. - :type wait_for_inclusion: bool - :param wait_for_finalization: If true, waits for finalization before returning. - :type wait_for_finalization: bool - :param safe_staking: If true, enables price safety checks to protect against price impact. - :type safe_staking: bool - :param allow_partial_stake: If true, allows partial stake swaps when the full amount would exceed the price tolerance. - :type allow_partial_stake: bool - :param rate_tolerance: Maximum allowed increase in a price ratio (0.005 = 0.5%). - :type rate_tolerance: float - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: True if the swap was successful. - :rtype: success (bool) - - -.. py:function:: transfer_stake_extrinsic(subtensor, wallet, destination_coldkey_ss58, hotkey_ss58, origin_netuid, destination_netuid, amount = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Transfers stake from one subnet to another while changing the coldkey owner. - - :param subtensor: Subtensor instance. - :type subtensor: Subtensor - :param wallet: The wallet to transfer stake from. - :type wallet: bittensor.wallet - :param destination_coldkey_ss58: The destination coldkey SS58 address. - :type destination_coldkey_ss58: str - :param hotkey_ss58: The hotkey SS58 address associated with the stake. - :type hotkey_ss58: str - :param origin_netuid: The source subnet UID. - :type origin_netuid: int - :param destination_netuid: The destination subnet UID. - :type destination_netuid: int - :param amount: Amount to transfer. - :type amount: Union[Balance, float, int] - :param wait_for_inclusion: If true, waits for inclusion before returning. - :type wait_for_inclusion: bool - :param wait_for_finalization: If true, waits for finalization before returning. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: True if the transfer was successful. - :rtype: success (bool) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/children/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/children/index.rst deleted file mode 100644 index 2fd5307dc8..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/children/index.rst +++ /dev/null @@ -1,35 +0,0 @@ -bittensor.core.extrinsics.params.children -========================================= - -.. py:module:: bittensor.core.extrinsics.params.children - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.children.ChildrenParams - - -Module Contents ---------------- - -.. py:class:: ChildrenParams - - .. py:method:: set_children(hotkey_ss58, netuid, children) - :classmethod: - - - Returns the parameters for the `set_children`. - - - - .. py:method:: set_pending_childkey_cooldown(cooldown) - :classmethod: - - - Returns the parameters for the `set_pending_childkey_cooldown`. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/index.rst deleted file mode 100644 index 1592e6aeff..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/index.rst +++ /dev/null @@ -1,26 +0,0 @@ -bittensor.core.extrinsics.params -================================ - -.. py:module:: bittensor.core.extrinsics.params - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/core/extrinsics/params/children/index - /autoapi/bittensor/core/extrinsics/params/liquidity/index - /autoapi/bittensor/core/extrinsics/params/move_stake/index - /autoapi/bittensor/core/extrinsics/params/registration/index - /autoapi/bittensor/core/extrinsics/params/root/index - /autoapi/bittensor/core/extrinsics/params/serving/index - /autoapi/bittensor/core/extrinsics/params/staking/index - /autoapi/bittensor/core/extrinsics/params/start_call/index - /autoapi/bittensor/core/extrinsics/params/take/index - /autoapi/bittensor/core/extrinsics/params/transfer/index - /autoapi/bittensor/core/extrinsics/params/unstaking/index - /autoapi/bittensor/core/extrinsics/params/weights/index - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/liquidity/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/liquidity/index.rst deleted file mode 100644 index 5f9de3ba5e..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/liquidity/index.rst +++ /dev/null @@ -1,51 +0,0 @@ -bittensor.core.extrinsics.params.liquidity -========================================== - -.. py:module:: bittensor.core.extrinsics.params.liquidity - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.liquidity.LiquidityParams - - -Module Contents ---------------- - -.. py:class:: LiquidityParams - - .. py:method:: add_liquidity(netuid, hotkey_ss58, liquidity, price_low, price_high) - :classmethod: - - - Returns the parameters for the `add_liquidity`. - - - - .. py:method:: modify_position(netuid, hotkey_ss58, position_id, liquidity_delta) - :classmethod: - - - Returns the parameters for the `modify_position`. - - - - .. py:method:: remove_liquidity(netuid, hotkey_ss58, position_id) - :classmethod: - - - Returns the parameters for the `remove_liquidity`. - - - - .. py:method:: toggle_user_liquidity(netuid, enable) - :classmethod: - - - Returns the parameters for the `toggle_user_liquidity`. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/move_stake/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/move_stake/index.rst deleted file mode 100644 index db4e029b2c..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/move_stake/index.rst +++ /dev/null @@ -1,51 +0,0 @@ -bittensor.core.extrinsics.params.move_stake -=========================================== - -.. py:module:: bittensor.core.extrinsics.params.move_stake - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.move_stake.MoveStakeParams - - -Module Contents ---------------- - -.. py:class:: MoveStakeParams - - .. py:method:: move_stake(origin_netuid, origin_hotkey_ss58, destination_netuid, destination_hotkey_ss58, amount) - :classmethod: - - - Returns the parameters for the `move_stake`. - - - - .. py:method:: swap_stake(hotkey_ss58, origin_netuid, destination_netuid, amount) - :classmethod: - - - Returns the parameters for the `swap_stake`. - - - - .. py:method:: swap_stake_limit(hotkey_ss58, origin_netuid, destination_netuid, amount, allow_partial_stake, rate_tolerance, origin_pool, destination_pool) - :classmethod: - - - Returns the parameters for the `swap_stake_limit`. - - - - .. py:method:: transfer_stake(destination_coldkey_ss58, hotkey_ss58, origin_netuid, destination_netuid, amount) - :classmethod: - - - Returns the parameters for the `transfer_stake`. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/registration/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/registration/index.rst deleted file mode 100644 index 65a23c59c1..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/registration/index.rst +++ /dev/null @@ -1,51 +0,0 @@ -bittensor.core.extrinsics.params.registration -============================================= - -.. py:module:: bittensor.core.extrinsics.params.registration - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.registration.RegistrationParams - - -Module Contents ---------------- - -.. py:class:: RegistrationParams - - .. py:method:: burned_register(netuid, hotkey_ss58) - :classmethod: - - - Returns the parameters for the `burned_register`. - - - - .. py:method:: register(netuid, coldkey_ss58, hotkey_ss58, block_number, nonce, work) - :classmethod: - - - Returns the parameters for the `register`. - - - - .. py:method:: register_network(hotkey_ss58) - :classmethod: - - - Returns the parameters for the `register_network`. - - - - .. py:method:: set_subnet_identity(netuid, hotkey_ss58, subnet_name, github_repo, subnet_contact, subnet_url, logo_url, discord, description, additional) - :classmethod: - - - Returns the parameters for the `set_subnet_identity`. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/root/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/root/index.rst deleted file mode 100644 index c8f88cdaef..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/root/index.rst +++ /dev/null @@ -1,27 +0,0 @@ -bittensor.core.extrinsics.params.root -===================================== - -.. py:module:: bittensor.core.extrinsics.params.root - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.root.RootParams - - -Module Contents ---------------- - -.. py:class:: RootParams - - .. py:method:: root_register(hotkey_ss58) - :classmethod: - - - Returns the parameters for the `root_register`. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/serving/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/serving/index.rst deleted file mode 100644 index a0641c074f..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/serving/index.rst +++ /dev/null @@ -1,35 +0,0 @@ -bittensor.core.extrinsics.params.serving -======================================== - -.. py:module:: bittensor.core.extrinsics.params.serving - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.serving.ServingParams - - -Module Contents ---------------- - -.. py:class:: ServingParams - - .. py:method:: serve_axon_and_tls(hotkey_ss58, coldkey_ss58, netuid, ip, port, protocol, placeholder1, placeholder2, certificate = None) - :classmethod: - - - Returns the parameters for the `root_register`. - - - - .. py:method:: set_commitment(netuid, info_fields) - :classmethod: - - - Returns the parameters for the `set_commitment`. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/staking/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/staking/index.rst deleted file mode 100644 index bcdf2bcc99..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/staking/index.rst +++ /dev/null @@ -1,43 +0,0 @@ -bittensor.core.extrinsics.params.staking -======================================== - -.. py:module:: bittensor.core.extrinsics.params.staking - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.staking.StakingParams - - -Module Contents ---------------- - -.. py:class:: StakingParams - - .. py:method:: add_stake(netuid, hotkey_ss58, amount) - :classmethod: - - - Returns the parameters for the `safe` parameters. - - - - .. py:method:: add_stake_limit(netuid, hotkey_ss58, amount, allow_partial_stake, rate_tolerance, pool) - :classmethod: - - - Returns the parameters for the `add_stake_limit`. - - - - .. py:method:: set_coldkey_auto_stake_hotkey(netuid, hotkey_ss58) - :classmethod: - - - Returns the parameters for the `set_auto_stake_extrinsic`. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/start_call/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/start_call/index.rst deleted file mode 100644 index 0ee5d388ab..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/start_call/index.rst +++ /dev/null @@ -1,27 +0,0 @@ -bittensor.core.extrinsics.params.start_call -=========================================== - -.. py:module:: bittensor.core.extrinsics.params.start_call - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.start_call.StartCallParams - - -Module Contents ---------------- - -.. py:class:: StartCallParams - - .. py:method:: start_call(netuid) - :classmethod: - - - Returns the parameters for the `start_call`. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/take/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/take/index.rst deleted file mode 100644 index 5d5782f002..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/take/index.rst +++ /dev/null @@ -1,27 +0,0 @@ -bittensor.core.extrinsics.params.take -===================================== - -.. py:module:: bittensor.core.extrinsics.params.take - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.take.TakeParams - - -Module Contents ---------------- - -.. py:class:: TakeParams - - .. py:method:: increase_decrease_take(hotkey_ss58, take) - :classmethod: - - - Returns the parameters for the `increase_take` and `decrease_take`. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/transfer/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/transfer/index.rst deleted file mode 100644 index 976e93eee1..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/transfer/index.rst +++ /dev/null @@ -1,63 +0,0 @@ -bittensor.core.extrinsics.params.transfer -========================================= - -.. py:module:: bittensor.core.extrinsics.params.transfer - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.transfer.TransferParams - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.transfer.get_transfer_fn_params - - -Module Contents ---------------- - -.. py:class:: TransferParams - - .. py:method:: transfer_all(destination, amount = None, keep_alive = True) - :classmethod: - - - Returns the parameters for the `transfer_all`. - - - - .. py:method:: transfer_allow_death(destination, amount = None, keep_alive = True) - :classmethod: - - - Returns the parameters for the `transfer_allow_death`. - - - - .. py:method:: transfer_keep_alive(destination, amount = None, keep_alive = True) - :classmethod: - - - Returns the parameters for the `transfer_keep_alive`. - - - -.. py:function:: get_transfer_fn_params(amount, destination_ss58, keep_alive) - - Helper function to get the transfer call function and call params, depending on the value and keep_alive flag - provided. - - :param amount: the amount of Tao to transfer. `None` if transferring all. - :param destination_ss58: the destination SS58 of the transfer - :param keep_alive: whether to enforce a retention of the existential deposit in the account after transfer. - - :returns: tuple[call function, call params] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/unstaking/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/unstaking/index.rst deleted file mode 100644 index 64520fb7e2..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/unstaking/index.rst +++ /dev/null @@ -1,43 +0,0 @@ -bittensor.core.extrinsics.params.unstaking -========================================== - -.. py:module:: bittensor.core.extrinsics.params.unstaking - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.unstaking.UnstakingParams - - -Module Contents ---------------- - -.. py:class:: UnstakingParams - - .. py:method:: remove_stake(netuid, hotkey_ss58, amount) - :classmethod: - - - Returns the parameters for the `remove_stake`. - - - - .. py:method:: remove_stake_full_limit(netuid, hotkey_ss58, rate_tolerance = None, pool = None) - :classmethod: - - - Returns the parameters for the `remove_stake_full_limit`. - - - - .. py:method:: remove_stake_limit(netuid, hotkey_ss58, amount, allow_partial_stake, rate_tolerance, pool) - :classmethod: - - - Returns the parameters for the `remove_stake_limit`. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/weights/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/weights/index.rst deleted file mode 100644 index b6c2fa7402..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/params/weights/index.rst +++ /dev/null @@ -1,51 +0,0 @@ -bittensor.core.extrinsics.params.weights -======================================== - -.. py:module:: bittensor.core.extrinsics.params.weights - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.extrinsics.params.weights.WeightsParams - - -Module Contents ---------------- - -.. py:class:: WeightsParams - - .. py:method:: commit_mechanism_weights(netuid, mechid, commit_hash) - :classmethod: - - - Returns the parameters for the `commit_mechanism_weights`. - - - - .. py:method:: commit_timelocked_mechanism_weights(netuid, mechid, commit_for_reveal, reveal_round, commit_reveal_version) - :classmethod: - - - Returns the parameters for the `commit_timelocked_mechanism_weights`. - - - - .. py:method:: reveal_mechanism_weights(netuid, mechid, uids, weights, salt, version_key) - :classmethod: - - - Returns the parameters for the `reveal_mechanism_weights`. - - - - .. py:method:: set_mechanism_weights(netuid, mechid, uids, weights, version_key) - :classmethod: - - - Returns the parameters for the `set_mechanism_weights`. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/registration/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/registration/index.rst deleted file mode 100644 index e6094d0469..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/registration/index.rst +++ /dev/null @@ -1,158 +0,0 @@ -bittensor.core.extrinsics.registration -====================================== - -.. py:module:: bittensor.core.extrinsics.registration - -.. autoapi-nested-parse:: - - This module provides functionalities for registering a wallet with the subtensor network using Proof-of-Work (PoW). - - Extrinsics: - - register_extrinsic: Registers the wallet to the subnet. - - burned_register_extrinsic: Registers the wallet to chain by recycling TAO. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.registration.burned_register_extrinsic - bittensor.core.extrinsics.registration.register_extrinsic - bittensor.core.extrinsics.registration.register_subnet_extrinsic - bittensor.core.extrinsics.registration.set_subnet_identity_extrinsic - - -Module Contents ---------------- - -.. py:function:: burned_register_extrinsic(subtensor, wallet, netuid, wait_for_inclusion = False, wait_for_finalization = True, period = None) - - Registers the wallet to chain by recycling TAO. - - :param subtensor: Subtensor instance. - :type subtensor: bittensor.core.subtensor.Subtensor - :param wallet: Bittensor wallet object. - :type wallet: bittensor.wallet - :param netuid: The ``netuid`` of the subnet to register on. - :type netuid: int - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is ``True``. - :rtype: success (bool) - - -.. py:function:: register_extrinsic(subtensor, wallet, netuid, wait_for_inclusion = False, wait_for_finalization = True, max_allowed_attempts = 3, output_in_place = True, cuda = False, dev_id = 0, tpb = 256, num_processes = None, update_interval = None, log_verbose = False, period = None) - - Registers the wallet to the chain. - - :param subtensor: Subtensor object to use for chain interactions - :type subtensor: bittensor.core.subtensor.Subtensor - :param wallet: Bittensor wallet object. - :type wallet: bittensor_wallet.Wallet - :param netuid: The ``netuid`` of the subnet to register on. - :type netuid: int - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns - `False` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param max_allowed_attempts: Maximum number of attempts to register the wallet. - :type max_allowed_attempts: int - :param output_in_place: Whether the POW solving should be outputted to the console as it goes along. - :type output_in_place: bool - :param cuda: If `True`, the wallet should be registered using CUDA device(s). - :type cuda: bool - :param dev_id: The CUDA device id to use, or a list of device ids. - :param tpb: The number of threads per block (CUDA). - :param num_processes: The number of processes to use to register. - :param update_interval: The number of nonces to solve between updates. - :param log_verbose: If `True`, the registration process will log more information. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the - response is `True`. - - -.. py:function:: register_subnet_extrinsic(subtensor, wallet, wait_for_inclusion = False, wait_for_finalization = True, period = None) - - Registers a new subnetwork on the Bittensor blockchain. - - :param subtensor: The subtensor interface to send the extrinsic. - :type subtensor: Subtensor - :param wallet: The wallet to be used for subnet registration. - :type wallet: Wallet - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning true. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning true. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: True if the subnet registration was successful, False otherwise. - :rtype: bool - - -.. py:function:: set_subnet_identity_extrinsic(subtensor, wallet, netuid, subnet_name, github_repo, subnet_contact, subnet_url, logo_url, discord, description, additional, wait_for_inclusion = False, wait_for_finalization = True, period = None) - - Set the identity information for a given subnet. - - :param subtensor: An instance of the Subtensor class to interact with the blockchain. - :type subtensor: Subtensor - :param wallet: A wallet instance used to sign and submit the extrinsic. - :type wallet: Wallet - :param netuid: The unique ID for the subnet. - :type netuid: int - :param subnet_name: The name of the subnet to assign the identity information. - :type subnet_name: str - :param github_repo: URL of the GitHub repository related to the subnet. - :type github_repo: str - :param subnet_contact: Subnet's contact information, e.g., email or contact link. - :type subnet_contact: str - :param subnet_url: The URL of the subnet's primary web portal. - :type subnet_url: str - :param logo_url: The URL of the logo's primary web portal. - :type logo_url: str - :param discord: Discord server or contact for the subnet. - :type discord: str - :param description: A textual description of the subnet. - :type description: str - :param additional: Any additional metadata or information related to the subnet. - :type additional: str - :param wait_for_inclusion: Whether to wait for the extrinsic inclusion in a block (default: False). - :type wait_for_inclusion: bool - :param wait_for_finalization: Whether to wait for the extrinsic finalization in a block (default: True). - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - A tuple where the first element indicates success or failure (True/False), and the second - element contains a descriptive message. - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/root/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/root/index.rst deleted file mode 100644 index 22d60e0417..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/root/index.rst +++ /dev/null @@ -1,75 +0,0 @@ -bittensor.core.extrinsics.root -============================== - -.. py:module:: bittensor.core.extrinsics.root - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.root.root_register_extrinsic - bittensor.core.extrinsics.root.set_root_weights_extrinsic - - -Module Contents ---------------- - -.. py:function:: root_register_extrinsic(subtensor, wallet, wait_for_inclusion = False, wait_for_finalization = True, period = None) - - Registers the wallet to the root network. - - :param subtensor: The Subtensor object - :type subtensor: bittensor.core.subtensor.Subtensor - :param wallet: Bittensor wallet object. - :type wallet: bittensor_wallet.Wallet - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns - `False` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the - response is `True`. - - -.. py:function:: set_root_weights_extrinsic(subtensor, wallet, netuids, weights, version_key = 0, wait_for_inclusion = False, wait_for_finalization = False, period = None) - - Sets the given weights and values on chain for a given wallet hotkey account. - - :param subtensor: The Subtensor object - :type subtensor: bittensor.core.subtensor.Subtensor - :param wallet: Bittensor wallet object. - :type wallet: bittensor_wallet.Wallet - :param netuids: The `netuid` of the subnet to set weights for. - :type netuids: Union[NDArray[np.int64], list[int]] - :param weights: Weights to set. These must be floats and must correspond - to the passed `netuid` s. - :type weights: Union[NDArray[np.float32], list[float]] - :param version_key: The version key of the validator. - :type version_key: int - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns - `False` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - True`, or returns `False` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - `True` if extrinsic was finalized or included in the block. If we did not wait for finalization/inclusion, the - response is `True`. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/serving/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/serving/index.rst deleted file mode 100644 index 5352a1ef4d..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/serving/index.rst +++ /dev/null @@ -1,180 +0,0 @@ -bittensor.core.extrinsics.serving -================================= - -.. py:module:: bittensor.core.extrinsics.serving - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.serving.do_serve_axon - bittensor.core.extrinsics.serving.get_last_bonds_reset - bittensor.core.extrinsics.serving.get_metadata - bittensor.core.extrinsics.serving.publish_metadata - bittensor.core.extrinsics.serving.serve_axon_extrinsic - bittensor.core.extrinsics.serving.serve_extrinsic - - -Module Contents ---------------- - -.. py:function:: do_serve_axon(subtensor, wallet, call_params, wait_for_inclusion = False, wait_for_finalization = True, period = None) - - Internal method to submit a serve axon transaction to the Bittensor blockchain. This method creates and submits a - transaction, enabling a neuron's ``Axon`` to serve requests on the network. - - :param subtensor: Subtensor instance object. - :type subtensor: bittensor.core.subtensor.Subtensor - :param wallet: The wallet associated with the neuron. - :type wallet: bittensor_wallet.Wallet - :param call_params: Parameters required for the serve axon call. - :type call_params: bittensor.core.types.AxonServeCallParams - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: A tuple containing a success flag and an optional error message. - :rtype: tuple[bool, Optional[str]] - - This function is crucial for initializing and announcing a neuron's ``Axon`` service on the network, enhancing the - decentralized computation capabilities of Bittensor. - - -.. py:function:: get_last_bonds_reset(subtensor, netuid, hotkey, block = None) - - Fetches the last bonds reset triggered at commitment from the blockchain for a given hotkey and netuid. - - :param subtensor: Subtensor instance object. - :type subtensor: bittensor.core.subtensor.Subtensor - :param netuid: The network uid to fetch from. - :type netuid: int - :param hotkey: The hotkey of the neuron for which to fetch the last bonds reset. - :type hotkey: str - :param block: The block number to query. If ``None``, the latest block is used. - :type block: Optional[int] - - :returns: The last bonds reset data for the specified hotkey and netuid. - :rtype: bytes - - -.. py:function:: get_metadata(subtensor, netuid, hotkey, block = None) - - Fetches metadata from the blockchain for a given hotkey and netuid. - - -.. py:function:: publish_metadata(subtensor, wallet, netuid, data_type, data, wait_for_inclusion = False, wait_for_finalization = True, period = None, reset_bonds = False) - - Publishes metadata on the Bittensor network using the specified wallet and network identifier. - - :param subtensor: The subtensor instance representing the Bittensor blockchain connection. - :type subtensor: bittensor.subtensor - :param wallet: The wallet object used for authentication in the transaction. - :type wallet: bittensor.wallet - :param netuid: Network UID on which the metadata is to be published. - :type netuid: int - :param data_type: The data type of the information being submitted. It should be one of the following: - ``'Sha256'``, ``'Blake256'``, ``'Keccak256'``, or ``'Raw0-128'``. This specifies the format or hashing - algorithm used for the data. - :type data_type: str - :param data: The actual metadata content to be published. This should be formatted or hashed - according to the ``type`` specified. (Note: max ``str`` length is 128 bytes for ``'Raw0-128'``.) - :type data: Union[bytes, dict] - :param wait_for_inclusion: If ``True``, the function will wait for the extrinsic to be included in a - block before returning. Defaults to ``False``. - :type wait_for_inclusion: bool, optional - :param wait_for_finalization: If ``True``, the function will wait for the extrinsic to be finalized - on the chain before returning. Defaults to ``True``. - :type wait_for_finalization: bool, optional - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - :param reset_bonds: If `True`, the function will reset the bonds for the neuron. Defaults to `False`. - :type reset_bonds: bool - - :returns: ``True`` if the metadata was successfully published (and finalized if specified). ``False`` otherwise. - :rtype: bool - - :raises MetadataError: If there is an error in submitting the extrinsic, or if the response from the blockchain indicates - failure. - - -.. py:function:: serve_axon_extrinsic(subtensor, netuid, axon, wait_for_inclusion = False, wait_for_finalization = True, certificate = None, period = None) - - Serves the axon to the network. - - :param subtensor: Subtensor instance object. - :type subtensor: bittensor.core.subtensor.Subtensor - :param netuid: The ``netuid`` being served on. - :type netuid: int - :param axon: Axon to serve. - :type axon: bittensor.core.axon.Axon - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param certificate: Certificate to use for TLS. If ``None``, no TLS will be used. - Defaults to ``None``. - :type certificate: bittensor.utils.Certificate - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is ``true``. - :rtype: success (bool) - - -.. py:function:: serve_extrinsic(subtensor, wallet, ip, port, protocol, netuid, placeholder1 = 0, placeholder2 = 0, wait_for_inclusion = False, wait_for_finalization=True, certificate = None, period = None) - - Subscribes a Bittensor endpoint to the subtensor chain. - - :param subtensor: Subtensor instance object. - :type subtensor: bittensor.core.subtensor.Subtensor - :param wallet: Bittensor wallet object. - :type wallet: bittensor_wallet.Wallet - :param ip: Endpoint host port i.e., ``192.122.31.4``. - :type ip: str - :param port: Endpoint port number i.e., ``9221``. - :type port: int - :param protocol: An ``int`` representation of the protocol. - :type protocol: int - :param netuid: The network uid to serve on. - :type netuid: int - :param placeholder1: A placeholder for future use. - :type placeholder1: int - :param placeholder2: A placeholder for future use. - :type placeholder2: int - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param certificate: Certificate to use for TLS. If ``None``, no TLS will be used. - Defaults to ``None``. - :type certificate: bittensor.utils.Certificate - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is ``True``. - :rtype: success (bool) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/set_weights/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/set_weights/index.rst deleted file mode 100644 index b4e148577c..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/set_weights/index.rst +++ /dev/null @@ -1,57 +0,0 @@ -bittensor.core.extrinsics.set_weights -===================================== - -.. py:module:: bittensor.core.extrinsics.set_weights - -.. autoapi-nested-parse:: - - Module sync setting weights extrinsic. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.set_weights.set_weights_extrinsic - - -Module Contents ---------------- - -.. py:function:: set_weights_extrinsic(subtensor, wallet, netuid, uids, weights, version_key = 0, wait_for_inclusion = False, wait_for_finalization = False, period = 8) - - Sets the given weights and values on a chain for a wallet hotkey account. - - :param subtensor: Bittensor subtensor object. - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param wallet: Bittensor wallet object. - :type wallet: bittensor_wallet.Wallet - :param netuid: The ``netuid`` of the subnet to set weights for. - :type netuid: int - :param uids: The ``uint64`` uids of destination neurons. - :type uids: Union[NDArray[np.int64], torch.LongTensor, list] - :param weights: The weights to set. These must be ``float`` s - and correspond to the passed ``uid`` s. - :type weights: Union[NDArray[np.float32], torch.FloatTensor, list] - :param version_key: The version key of the validator. - :type version_key: int - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - ``True``, or returns ``False`` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. - If the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - Flag is ``True`` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is ``True``. - :rtype: success (bool) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/staking/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/staking/index.rst deleted file mode 100644 index 4f8fd7984e..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/staking/index.rst +++ /dev/null @@ -1,73 +0,0 @@ -bittensor.core.extrinsics.staking -================================= - -.. py:module:: bittensor.core.extrinsics.staking - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.staking.add_stake_extrinsic - bittensor.core.extrinsics.staking.add_stake_multiple_extrinsic - - -Module Contents ---------------- - -.. py:function:: add_stake_extrinsic(subtensor, wallet, hotkey_ss58 = None, netuid = None, amount = None, wait_for_inclusion = True, wait_for_finalization = False, safe_staking = False, allow_partial_stake = False, rate_tolerance = 0.005, period = None) - - Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified subnet. - Staking is a fundamental process in the Bittensor network that enables neurons to participate actively and earn incentives. - - :param subtensor: Subtensor instance with the connection to the chain. - :param wallet: Bittensor wallet object. - :param hotkey_ss58: The `ss58` address of the hotkey account to stake to default to the wallet's hotkey. If not - specified, the wallet's hotkey will be used. Defaults to ``None``. - :param netuid: The unique identifier of the subnet to which the neuron belongs. - :param amount: Amount to stake as Bittensor balance in TAO always, `None` if staking all. Defaults is ``None``. - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns - `False` if the extrinsic fails to enter the block within the timeout. Defaults to ``True``. - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning `True`, - or returns `False` if the extrinsic fails to be finalized within the timeout. Defaults to ``False``. - :param safe_staking: If True, enables price safety checks. Default is ``False``. - :param allow_partial_stake: If True, allows partial unstaking if price tolerance exceeded. Default is ``False``. - :param rate_tolerance: Maximum allowed price increase percentage (0.005 = 0.5%). Default is ``0.005``. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. Defaults to ``None``. - - :returns: - - Flag is `True` if extrinsic was finalized or included in the block. If we did not wait for - finalization/inclusion, the response is `True`. - :rtype: success - - :raises SubstrateRequestException: Raised if the extrinsic fails to be included in the block within the timeout. - - -.. py:function:: add_stake_multiple_extrinsic(subtensor, wallet, hotkey_ss58s, netuids, amounts = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Adds stake to each ``hotkey_ss58`` in the list, using each amount, from a common coldkey. - - :param subtensor: The initialized SubtensorInterface object. - :param wallet: Bittensor wallet object for the coldkey. - :param hotkey_ss58s: List of hotkeys to stake to. - :param netuids: List of netuids to stake to. - :param amounts: List of amounts to stake. If `None`, stake all to the first hotkey. - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns `False` - if the extrinsic fails to enter the block within the timeout. - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning `True`, or - returns `False` if the extrinsic fails to be finalized within the timeout. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - - `True` if extrinsic was finalized or included in the block. `True` if any wallet was staked. If we did - not wait for finalization/inclusion, the response is `True`. - :rtype: success - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/start_call/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/start_call/index.rst deleted file mode 100644 index e55eacff20..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/start_call/index.rst +++ /dev/null @@ -1,41 +0,0 @@ -bittensor.core.extrinsics.start_call -==================================== - -.. py:module:: bittensor.core.extrinsics.start_call - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.start_call.start_call_extrinsic - - -Module Contents ---------------- - -.. py:function:: start_call_extrinsic(subtensor, wallet, netuid, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start a - new subnet's emission mechanism). - - :param subtensor: The Subtensor client instance used for blockchain interaction. - :type subtensor: Subtensor - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :type wallet: Wallet - :param netuid: The UID of the target subnet for which the call is being initiated. - :type netuid: int - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :type wait_for_inclusion: bool, optional - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :type wait_for_finalization: bool, optional - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/sudo/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/sudo/index.rst deleted file mode 100644 index f4639c69a8..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/sudo/index.rst +++ /dev/null @@ -1,85 +0,0 @@ -bittensor.core.extrinsics.sudo -============================== - -.. py:module:: bittensor.core.extrinsics.sudo - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.sudo.sudo_set_admin_freeze_window_extrinsic - bittensor.core.extrinsics.sudo.sudo_set_mechanism_count_extrinsic - bittensor.core.extrinsics.sudo.sudo_set_mechanism_emission_split_extrinsic - - -Module Contents ---------------- - -.. py:function:: sudo_set_admin_freeze_window_extrinsic(subtensor, wallet, window, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Sets the admin freeze window length (in blocks) at the end of a tempo. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor Wallet instance. - :param window: The amount of blocks to freeze in the end of a tempo. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - -.. py:function:: sudo_set_mechanism_count_extrinsic(subtensor, wallet, netuid, mech_count, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Sets the number of subnet mechanisms. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The subnet unique identifier. - :param mech_count: The amount of subnet mechanism to be set. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - -.. py:function:: sudo_set_mechanism_emission_split_extrinsic(subtensor, wallet, netuid, maybe_split, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Sets the emission split between mechanisms in a provided subnet. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The subnet unique identifier. - :param maybe_split: List of emission weights (positive integers) for each subnet mechanism. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - .. note:: - - The `maybe_split` list defines the relative emission share for each subnet mechanism. - Its length must match the number of active mechanisms in the subnet or be shorter, but not equal to zero. For - example, [3, 1, 1] distributes emissions in a 3:1:1 ratio across subnet mechanisms 0, 1, and 2. Each mechanism's - emission share is calculated as: share[i] = maybe_split[i] / sum(maybe_split) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/take/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/take/index.rst deleted file mode 100644 index 20415e2219..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/take/index.rst +++ /dev/null @@ -1,71 +0,0 @@ -bittensor.core.extrinsics.take -============================== - -.. py:module:: bittensor.core.extrinsics.take - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.take.decrease_take_extrinsic - bittensor.core.extrinsics.take.increase_take_extrinsic - - -Module Contents ---------------- - -.. py:function:: decrease_take_extrinsic(subtensor, wallet, hotkey_ss58, take, wait_for_inclusion = True, wait_for_finalization = True, raise_error = False, period = None) - - Sets the delegate `take` percentage for a neuron identified by its hotkey. - - :param subtensor: Blockchain connection. - :type subtensor: Subtensor - :param wallet: The wallet to sign the extrinsic. - :type wallet: Wallet - :param hotkey_ss58: SS58 address of the hotkey to set take for. - :type hotkey_ss58: str - :param take: The percentage of rewards that the delegate claims from nominators. - :type take: int - :param wait_for_inclusion: Wait for inclusion before returning. Defaults to True. - :type wait_for_inclusion: bool, optional - :param wait_for_finalization: Wait for finalization before returning. Defaults to True. - :type wait_for_finalization: bool, optional - :param raise_error: Raise error on failure. Defaults to False. - :type raise_error: bool, optional - :param period: The number of blocks during which the transaction will remain valid after it's submitted. - If the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: Success flag and status message. - :rtype: tuple[bool, str] - - -.. py:function:: increase_take_extrinsic(subtensor, wallet, hotkey_ss58, take, wait_for_inclusion = True, wait_for_finalization = True, raise_error = False, period = None) - - Sets the delegate 'take' percentage for a neuron identified by its hotkey. - - :param subtensor: Blockchain connection. - :type subtensor: Subtensor - :param wallet: The wallet to sign the extrinsic. - :type wallet: Wallet - :param hotkey_ss58: SS58 address of the hotkey to set take for. - :type hotkey_ss58: str - :param take: The percentage of rewards that the delegate claims from nominators. - :type take: int - :param wait_for_inclusion: Wait for inclusion before returning. Defaults to True. - :type wait_for_inclusion: bool, optional - :param wait_for_finalization: Wait for finalization before returning. Defaults to True. - :type wait_for_finalization: bool, optional - :param raise_error: Raise error on failure. Defaults to False. - :type raise_error: bool, optional - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: Success flag and status message. - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/transfer/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/transfer/index.rst deleted file mode 100644 index bf5cd704f7..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/transfer/index.rst +++ /dev/null @@ -1,51 +0,0 @@ -bittensor.core.extrinsics.transfer -================================== - -.. py:module:: bittensor.core.extrinsics.transfer - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.transfer.transfer_extrinsic - - -Module Contents ---------------- - -.. py:function:: transfer_extrinsic(subtensor, wallet, dest, amount, transfer_all = False, wait_for_inclusion = True, wait_for_finalization = False, keep_alive = True, period = None) - - Transfers funds from this wallet to the destination public key address. - - :param subtensor: the Subtensor object used for transfer - :type subtensor: bittensor.core.subtensor.Subtensor - :param wallet: Bittensor wallet object to make transfer from. - :type wallet: bittensor_wallet.Wallet - :param dest: Destination public key address (ss58_address or ed25519) of recipient. - :type dest: str - :param amount: Amount to stake as Bittensor balance. `None` if transferring all. - :type amount: bittensor.utils.balance.Balance - :param transfer_all: Whether to transfer all funds from this wallet to the destination address. - :type transfer_all: bool - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or returns - `False` if the extrinsic fails to enter the block within the timeout. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. - :type wait_for_finalization: bool - :param keep_alive: If set, keeps the account alive by keeping the balance above the existential deposit. - :type keep_alive: bool - :param period: The number of blocks during which the transaction will remain valid after it's submitted. - If the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - Flag is `True` if extrinsic was finalized or included in the block. If we did not wait for - finalization / inclusion, the response is `True`, regardless of its inclusion. - :rtype: success (bool) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/unstaking/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/unstaking/index.rst deleted file mode 100644 index 766b731cec..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/unstaking/index.rst +++ /dev/null @@ -1,92 +0,0 @@ -bittensor.core.extrinsics.unstaking -=================================== - -.. py:module:: bittensor.core.extrinsics.unstaking - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.unstaking.unstake_all_extrinsic - bittensor.core.extrinsics.unstaking.unstake_extrinsic - bittensor.core.extrinsics.unstaking.unstake_multiple_extrinsic - - -Module Contents ---------------- - -.. py:function:: unstake_all_extrinsic(subtensor, wallet, hotkey, netuid, rate_tolerance = 0.005, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network. - - :param subtensor: Subtensor instance. - :param wallet: The wallet of the stake owner. - :param hotkey: The SS58 address of the hotkey to unstake from. - :param netuid: The unique identifier of the subnet. - :param rate_tolerance: The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum - price decrease. If not passed (None), then unstaking goes without price limit. Default is `0.005`. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Default is `True`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is `False`. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. Default is `None`. - - :returns: A tuple containing: - - `True` and a success message if the unstake operation succeeded; - - `False` and an error message otherwise. - :rtype: tuple[bool, str] - - -.. py:function:: unstake_extrinsic(subtensor, wallet, hotkey_ss58 = None, netuid = None, amount = None, wait_for_inclusion = True, wait_for_finalization = False, safe_staking = False, allow_partial_stake = False, rate_tolerance = 0.005, period = None, unstake_all = False) - - Removes stake into the wallet coldkey from the specified hotkey ``uid``. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor wallet object. - :param hotkey_ss58: The ``ss58`` address of the hotkey to unstake from. By default, the wallet hotkey is used. - :param netuid: Subnet unique id. - :param amount: Amount to stake as Bittensor balance. - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or returns - ``False`` if the extrinsic fails to enter the block within the timeout. - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning ``True``, - or returns ``False`` if the extrinsic fails to be finalized within the timeout. - :param safe_staking: If true, enables price safety checks. - :param allow_partial_stake: If true, allows partial unstaking if price tolerance exceeded - :param rate_tolerance: Maximum allowed price decrease percentage (0.005 = 0.5%) - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param unstake_all: If true, unstakes all tokens. Default is ``False``. - - :returns: A tuple containing: - - `True` and a success message if the unstake operation succeeded; - - `False` and an error message otherwise. - :rtype: tuple[bool, str] - - -.. py:function:: unstake_multiple_extrinsic(subtensor, wallet, hotkey_ss58s, netuids, amounts = None, wait_for_inclusion = True, wait_for_finalization = False, period = None, unstake_all = False) - - Removes stake from each ``hotkey_ss58`` in the list, using each amount, to a common coldkey. - - :param subtensor: Subtensor instance. - :param wallet: The wallet with the coldkey to unstake to. - :param hotkey_ss58s: List of hotkeys to unstake from. - :param netuids: List of subnets unique IDs to unstake from. - :param amounts: List of amounts to unstake. If ``None``, unstake all. - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning ``True``, or - returns ``False`` if the extrinsic fails to enter the block within the timeout. - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning ``True``, - or returns ``False`` if the extrinsic fails to be finalized within the timeout. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param unstake_all: If true, unstakes all tokens. Default is ``False``. - - :returns: A tuple containing: - - `True` and a success message if the unstake operation succeeded; - - `False` and an error message otherwise. - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/utils/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/utils/index.rst deleted file mode 100644 index fd8b88c27c..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/utils/index.rst +++ /dev/null @@ -1,77 +0,0 @@ -bittensor.core.extrinsics.utils -=============================== - -.. py:module:: bittensor.core.extrinsics.utils - -.. autoapi-nested-parse:: - - Module with helper functions for extrinsics. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.utils.get_extrinsic_fee - bittensor.core.extrinsics.utils.get_old_stakes - bittensor.core.extrinsics.utils.sudo_call_extrinsic - - -Module Contents ---------------- - -.. py:function:: get_extrinsic_fee(call, keypair, subtensor, netuid = None) - - Get extrinsic fee for a given extrinsic call and keypair for a given SN's netuid. - - :param subtensor: The Subtensor instance. - :param call: The extrinsic call. - :param keypair: The keypair associated with the extrinsic. - :param netuid: The SN's netuid. - - :returns: Balance object representing the extrinsic fee in RAO. - - -.. py:function:: get_old_stakes(wallet, hotkey_ss58s, netuids, all_stakes) - - Retrieve the previous staking balances for a wallet's hotkeys across given netuids. - - This function searches through the provided staking data to find the stake amounts for the specified hotkeys and - netuids associated with the wallet's coldkey. If no match is found for a particular hotkey and netuid combination, - a default balance of zero is returned. - - :param wallet: The wallet containing the coldkey to compare with stake data. - :param hotkey_ss58s: List of hotkey SS58 addresses for which stakes are retrieved. - :param netuids: List of network unique identifiers (netuids) corresponding to the hotkeys. - :param all_stakes: A collection of all staking information to search through. - - :returns: A list of Balances, each representing the stake for a given hotkey and netuid. - :rtype: list[Balance] - - -.. py:function:: sudo_call_extrinsic(subtensor, wallet, call_function, call_params, call_module = 'AdminUtils', sign_with = 'coldkey', use_nonce = False, nonce_key = 'hotkey', period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Execute a sudo call extrinsic. - - :param subtensor: The Subtensor instance. - :param wallet: The wallet instance. - :param call_function: The call function to execute. - :param call_params: The call parameters. - :param call_module: The call module. - :param sign_with: The keypair to sign the extrinsic with. - :param use_nonce: Whether to use a nonce. - :param nonce_key: The key to use for the nonce. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/weights/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/weights/index.rst deleted file mode 100644 index 6e2710feff..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/extrinsics/weights/index.rst +++ /dev/null @@ -1,117 +0,0 @@ -bittensor.core.extrinsics.weights -================================= - -.. py:module:: bittensor.core.extrinsics.weights - -.. autoapi-nested-parse:: - - Module provides sync commit and reveal weights extrinsic. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.extrinsics.weights.commit_timelocked_weights_extrinsic - bittensor.core.extrinsics.weights.commit_weights_extrinsic - bittensor.core.extrinsics.weights.reveal_weights_extrinsic - bittensor.core.extrinsics.weights.set_weights_extrinsic - - -Module Contents ---------------- - -.. py:function:: commit_timelocked_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, block_time, commit_reveal_version = 4, version_key = version_as_int, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Commits the weights for a specific sub subnet mechanism on the Bittensor blockchain using the provided wallet. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The subnet unique identifier. - :param mechid: The subnet mechanism unique identifier - :param uids: The list of neuron UIDs that the weights are being set for. - :param weights: The corresponding weights to be set for each UID. - :param block_time: The number of seconds for block duration. - :param commit_reveal_version: The version of the commit-reveal in the chain. - :param version_key: Version key for compatibility with the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: The result object of the extrinsic execution. - :rtype: ExtrinsicResponse - - -.. py:function:: commit_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, salt, version_key = version_as_int, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The subnet unique identifier. - :param mechid: The subnet mechanism unique identifier. - :param uids: NumPy array of neuron UIDs for which weights are being committed. - :param weights: NumPy array of weight values corresponding to each UID. - :param salt: list of randomly generated integers as salt to generated weighted hash. - :param version_key: Version key for compatibility with the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: The result object of the extrinsic execution. - :rtype: ExtrinsicResponse - - -.. py:function:: reveal_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, salt, version_key, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Reveals the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The unique identifier of the subnet. - :param mechid: The subnet mechanism unique identifier. - :param uids: List of neuron UIDs for which weights are being revealed. - :param weights: List of weight values corresponding to each UID. - :param salt: List of salt values corresponding to the hash function. - :param version_key: Version key for compatibility with the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: The result object of the extrinsic execution. - :rtype: ExtrinsicResponse - - -.. py:function:: set_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, version_key, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Sets the passed weights in the chain for hotkeys in the sub-subnet of the passed subnet. - - :param subtensor: Subtensor instance. - :param wallet: Bittensor Wallet instance. - :param netuid: The unique identifier of the subnet. - :param mechid: The subnet mechanism unique identifier. - :param uids: List of neuron UIDs for which weights are being revealed. - :param weights: List of weight values corresponding to each UID. - :param version_key: Version key for compatibility with the network. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You can - think of it as an expiration date for the transaction. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param wait_for_inclusion: Whether to wait for the inclusion of the transaction. - :param wait_for_finalization: Whether to wait for the finalization of the transaction. - - :returns: The result object of the extrinsic execution. - :rtype: ExtrinsicResponse - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/index.rst deleted file mode 100644 index 0b1846b6b4..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/index.rst +++ /dev/null @@ -1,31 +0,0 @@ -bittensor.core -============== - -.. py:module:: bittensor.core - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/core/async_subtensor/index - /autoapi/bittensor/core/axon/index - /autoapi/bittensor/core/chain_data/index - /autoapi/bittensor/core/config/index - /autoapi/bittensor/core/dendrite/index - /autoapi/bittensor/core/errors/index - /autoapi/bittensor/core/extrinsics/index - /autoapi/bittensor/core/metagraph/index - /autoapi/bittensor/core/settings/index - /autoapi/bittensor/core/stream/index - /autoapi/bittensor/core/subtensor/index - /autoapi/bittensor/core/subtensor_api/index - /autoapi/bittensor/core/synapse/index - /autoapi/bittensor/core/tensor/index - /autoapi/bittensor/core/threadpool/index - /autoapi/bittensor/core/timelock/index - /autoapi/bittensor/core/types/index - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/metagraph/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/metagraph/index.rst deleted file mode 100644 index 1ae89a77a8..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/metagraph/index.rst +++ /dev/null @@ -1,1422 +0,0 @@ -bittensor.core.metagraph -======================== - -.. py:module:: bittensor.core.metagraph - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.core.metagraph.BaseClass - bittensor.core.metagraph.METAGRAPH_STATE_DICT_NDARRAY_KEYS - bittensor.core.metagraph.NumpyOrTorch - bittensor.core.metagraph.Tensor - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.metagraph.AsyncMetagraph - bittensor.core.metagraph.Metagraph - bittensor.core.metagraph.MetagraphMixin - bittensor.core.metagraph.NonTorchMetagraph - bittensor.core.metagraph.TorchMetagraph - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.metagraph.async_metagraph - bittensor.core.metagraph.get_save_dir - bittensor.core.metagraph.latest_block_path - bittensor.core.metagraph.safe_globals - - -Module Contents ---------------- - -.. py:class:: AsyncMetagraph(netuid, network = settings.DEFAULT_NETWORK, lite = True, sync = True, subtensor = None, mechid = 0) - - Bases: :py:obj:`NumpyOrTorch` - - - TODO docstring. Advise user to use `async_metagraph` factory fn if they want to sync at init - - Initializes a new instance of the metagraph object, setting up the basic structure and parameters based on the - provided arguments. This class requires Torch to be installed. This method is the entry point for creating a - metagraph object, which is a central component in representing the state of the Bittensor network. - - :param netuid: Subnet unique identifier. - :param network: The name of the network, which can indicate specific configurations or versions of the Bittensor - :param network.: - :param lite: A flag indicating whether to use a lite version of the metagraph. The lite version may contain less - detailed information but can be quicker to initialize and sync. - :param sync: A flag indicating whether to synchronize the metagraph with the network upon initialization. - Synchronization involves updating the metagraph's parameters to reflect the current state of the network. - :param mechid: Subnet mechanism unique identifier. - - .. admonition:: Example - - Initializing a metagraph object for the Bittensor network with a specific network UID: - - from bittensor.core.metagraph import Metagraph - - metagraph = Metagraph(netuid=123, network="finney", lite=True, sync=True) - - - .. py:method:: sync(block = None, lite = None, subtensor = None) - :async: - - - Synchronizes the metagraph with the Bittensor network's current state. It updates the metagraph's attributes to - reflect the latest data from the network, ensuring the metagraph represents the most current state of the - network. - - :param block: A specific block number to synchronize with. If None, the metagraph syncs with the - latest block. This allows for historical analysis or specific state examination of the network. - :type block: Optional[int] - :param lite: If True, a lite version of the metagraph is used for quicker synchronization. This is - beneficial when full detail is not necessary, allowing for reduced computational and time overhead. - Defaults to `True`. - :type lite: Optional[bool] - :param subtensor: An instance of the subtensor class from Bittensor, - providing an interface to the underlying blockchain data. If provided, this instance is used for data - retrieval during synchronization. - :type subtensor: Optional[bittensor.core.subtensor.Subtensor] - - .. admonition:: Example - - Sync the metagraph with the latest block from the subtensor, using the lite version for efficiency:: - - from bittensor.core.subtensor import Subtensor - - subtensor = Subtensor() - metagraph.sync(subtensor=subtensor) - - Sync with a specific block number for detailed analysis:: - - from bittensor.core.subtensor import Subtensor - - subtensor = Subtensor() - metagraph.sync(block=12345, lite=False, subtensor=subtensor) - - .. note:: - - If attempting to access data beyond the previous 300 blocks, you **must** use the ``archive`` network for - subtensor. Light nodes are configured only to store the previous 300 blocks if connecting to finney or - test networks. - - For example:: - - from bittensor.core.subtensor import Subtensor - - subtensor = Subtensor(network='archive') - current_block = subtensor.get_current_block() - history_block = current_block - 1200 - - metagraph.sync(block=history_block, lite=False, subtensor=subtensor) - - - -.. py:data:: BaseClass - -.. py:data:: METAGRAPH_STATE_DICT_NDARRAY_KEYS - :value: ['version', 'n', 'block', 'stake', 'ranks', 'trust', 'consensus', 'validator_trust',... - - - List of keys for the metagraph state dictionary used in NDArray serialization. - - This list defines the set of keys expected in the metagraph's state dictionary when serializing and deserializing NumPy - ndarray objects. Each key corresponds to a specific attribute or metric associated with the nodes in the metagraph. - - - **version** (`str`): The version identifier of the metagraph state. - - **n** (`int`): The total number of nodes in the metagraph. - - **block** (`int`): The current block number in the blockchain or ledger. - - **stake** (`ndarray`): An array representing the stake of each node. - - **total_stake** (`float`): The sum of all individual stakes in the metagraph. - - **ranks** (`ndarray`): An array of rank scores assigned to each node. - - **trust** (`ndarray`): An array of trust scores for the nodes. - - **consensus** (`ndarray`): An array indicating consensus levels among nodes. - - **validator_trust** (`ndarray`): Trust scores specific to validator nodes. - - **incentive** (`ndarray`): Incentive values allocated to nodes. - - **emission** (`float`): The rate of emission for new tokens or units. - - **dividends** (`ndarray`): Dividend amounts distributed to nodes. - - **active** (`ndarray`): Boolean array indicating active (`True`) or inactive (`False`) nodes. - - **last_update** (`int`): Timestamp of the last state update. - - **validator_permit** (`ndarray`): Boolean array indicating nodes permitted to validate. - - **uids** (`ndarray`): Unique identifiers for each node in the metagraph. - -.. py:class:: Metagraph(netuid, network = settings.DEFAULT_NETWORK, lite = True, sync = True, subtensor = None, mechid = 0) - - Bases: :py:obj:`NumpyOrTorch` - - - The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the - backbone of the decentralized machine learning system. - - The metagraph is a dynamic representation of the network's state, capturing the interconnectedness and attributes of - neurons (participants) in the Bittensor ecosystem. This class is not just a static structure but a live - reflection of the network, constantly updated and synchronized with the state of the blockchain. - - In Bittensor, neurons are akin to nodes in a distributed system, each contributing computational resources and - participating in the network's collective intelligence. The metagraph tracks various attributes of these - neurons, such as stake, trust, and consensus, which are crucial for the network's incentive mechanisms and the - Yuma Consensus algorithm as outlined in the `NeurIPS paper - `_. These attributes govern how neurons - interact, how they are incentivized, and their roles within the network's decision-making processes. - - :param netuid: A unique identifier that distinguishes between different instances or versions of the Bittensor network. - :type netuid: int - :param network: The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem. - :type network: str - - :ivar version: The version number of the network, integral for tracking network updates. - :vartype version: NDArray - :ivar n: The total number of neurons in the network, reflecting its size and complexity. - :vartype n: NDArray - :ivar block: The current block number in the blockchain, crucial for synchronizing with the network's latest state. - :vartype block: NDArray - :ivar stake: Represents the cryptocurrency staked by neurons, impacting their influence and earnings within the network. - :ivar total_stake: The cumulative stake across all neurons. - :ivar ranks: Neuron rankings as per the Yuma Consensus algorithm, influencing their incentive distribution and network authority. - :ivar trust: Scores indicating the reliability of neurons, mainly miners, within the network's operational context. - :ivar consensus: Scores reflecting each neuron's alignment with the network's collective decisions. - :ivar validator_trust: Trust scores for validator neurons, crucial for network security and validation. - :ivar incentive: Rewards allocated to neurons, particularly miners, for their network contributions. - :ivar emission: The rate at which rewards are distributed to neurons. - :ivar dividends: Rewards received primarily by validators as part of the incentive mechanism. - :ivar active: Status indicating whether a neuron is actively participating in the network. - :ivar last_update: Timestamp of the latest update to a neuron's data. - :ivar validator_permit: Indicates if a neuron is authorized to act as a validator. - :ivar weights: Inter-neuronal weights set by each neuron, influencing network dynamics. - :ivar bonds: Represents speculative investments by neurons in others, part of the reward mechanism. - :ivar uids: Unique identifiers for each neuron, essential for network operations. - :ivar axons: Details about each neuron's axon, critical for facilitating network communication. - - :vartype axons: List - - The metagraph plays a pivotal role in Bittensor's decentralized AI operations, influencing everything from data - propagation to reward distribution. It embodies the principles of decentralized governance and collaborative - intelligence, ensuring that the network remains adaptive, secure, and efficient. - - .. admonition:: Example - - Initializing the metagraph to represent the current state of the Bittensor network:: - - from bittensor.core.metagraph import Metagraph - metagraph = Metagraph(netuid=config.netuid, network=subtensor.network, sync=False) - - Synchronizing the metagraph with the network to reflect the latest state and neuron data:: - - metagraph.sync(subtensor=subtensor) - - Accessing metagraph properties to inform network interactions and decisions:: - - total_stake = metagraph.S - neuron_ranks = metagraph.R - neuron_incentives = metagraph.I - axons = metagraph.axons - neurons = metagraph.neurons - - Maintaining a local copy of hotkeys for querying and interacting with network entities:: - - hotkeys = deepcopy(metagraph.hotkeys) - - Initializes a new instance of the metagraph object, setting up the basic structure and parameters based on the - provided arguments. This class requires Torch to be installed. This method is the entry point for creating a - metagraph object, which is a central component in representing the state of the Bittensor network. - - :param netuid: Subnet unique identifier. - :param network: The name of the network, which can indicate specific configurations or versions of the Bittensor - :param network.: - :param lite: A flag indicating whether to use a lite version of the metagraph. The lite version may contain less - detailed information but can be quicker to initialize and sync. - :param sync: A flag indicating whether to synchronize the metagraph with the network upon initialization. - Synchronization involves updating the metagraph's parameters to reflect the current state of the network. - :param mechid: Subnet mechanism unique identifier. - - .. admonition:: Example - - Initializing a metagraph object for the Bittensor network with a specific network UID: - - from bittensor.core.metagraph import Metagraph - - metagraph = Metagraph(netuid=123, network="finney", lite=True, sync=True) - - - .. py:method:: sync(block = None, lite = None, subtensor = None) - - Synchronizes the metagraph with the Bittensor network's current state. It updates the metagraph's attributes to - reflect the latest data from the network, ensuring the metagraph represents the most current state of the - network. - - :param block: A specific block number to synchronize with. If None, the metagraph syncs with the - latest block. This allows for historical analysis or specific state examination of the network. - :type block: Optional[int] - :param lite: If True, a lite version of the metagraph is used for quicker synchronization. This is - beneficial when full detail is not necessary, allowing for reduced computational and time overhead. - Defaults to `True`. - :type lite: Optional[bool] - :param subtensor: An instance of the subtensor class from Bittensor, - providing an interface to the underlying blockchain data. If provided, this instance is used for data - retrieval during synchronization. - :type subtensor: Optional[bittensor.core.subtensor.Subtensor] - - .. admonition:: Example - - Sync the metagraph with the latest block from the subtensor, using the lite version for efficiency:: - - from bittensor.core.subtensor import Subtensor - - subtensor = Subtensor() - metagraph.sync(subtensor=subtensor) - - Sync with a specific block number for detailed analysis:: - - from bittensor.core.subtensor import Subtensor - - subtensor = Subtensor() - metagraph.sync(block=12345, lite=False, subtensor=subtensor) - - .. note:: - - If attempting to access data beyond the previous 300 blocks, you **must** use the ``archive`` network for - subtensor. Light nodes are configured only to store the previous 300 blocks if connecting to finney or - test networks. - - For example:: - - from bittensor.core.subtensor import Subtensor - - subtensor = Subtensor(network='archive') - current_block = subtensor.get_current_block() - history_block = current_block - 1200 - - metagraph.sync(block=history_block, lite=False, subtensor=subtensor) - - - -.. py:class:: MetagraphMixin(netuid, network = settings.DEFAULT_NETWORK, lite = True, sync = True, subtensor = None, mechid = 0) - - Bases: :py:obj:`abc.ABC` - - - The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the - backbone of the decentralized machine learning system. - - The metagraph is a dynamic representation of the network's state, capturing the interconnectedness and attributes of - neurons (participants) in the Bittensor ecosystem. This class is not just a static structure but a live - reflection of the network, constantly updated and synchronized with the state of the blockchain. - - In Bittensor, neurons are akin to nodes in a distributed system, each contributing computational resources and - participating in the network's collective intelligence. The metagraph tracks various attributes of these - neurons, such as stake, trust, and consensus, which are crucial for the network's incentive mechanisms and the - Yuma Consensus algorithm as outlined in the `NeurIPS paper - `_. These attributes govern how neurons - interact, how they are incentivized, and their roles within the network's decision-making processes. - - :param netuid: A unique identifier that distinguishes between different instances or versions of the Bittensor network. - :type netuid: int - :param network: The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem. - :type network: str - - :ivar version: The version number of the network, integral for tracking network updates. - :vartype version: NDArray - :ivar n: The total number of neurons in the network, reflecting its size and complexity. - :vartype n: NDArray - :ivar block: The current block number in the blockchain, crucial for synchronizing with the network's latest state. - :vartype block: NDArray - :ivar stake: Represents the cryptocurrency staked by neurons, impacting their influence and earnings within the network. - :ivar total_stake: The cumulative stake across all neurons. - :ivar ranks: Neuron rankings as per the Yuma Consensus algorithm, influencing their incentive distribution and network authority. - :ivar trust: Scores indicating the reliability of neurons, mainly miners, within the network's operational context. - :ivar consensus: Scores reflecting each neuron's alignment with the network's collective decisions. - :ivar validator_trust: Trust scores for validator neurons, crucial for network security and validation. - :ivar incentive: Rewards allocated to neurons, particularly miners, for their network contributions. - :ivar emission: The rate at which rewards are distributed to neurons. - :ivar dividends: Rewards received primarily by validators as part of the incentive mechanism. - :ivar active: Status indicating whether a neuron is actively participating in the network. - :ivar last_update: Timestamp of the latest update to a neuron's data. - :ivar validator_permit: Indicates if a neuron is authorized to act as a validator. - :ivar weights: Inter-neuronal weights set by each neuron, influencing network dynamics. - :ivar bonds: Represents speculative investments by neurons in others, part of the reward mechanism. - :ivar uids: Unique identifiers for each neuron, essential for network operations. - :ivar axons: Details about each neuron's axon, critical for facilitating network communication. - - :vartype axons: List - - The metagraph plays a pivotal role in Bittensor's decentralized AI operations, influencing everything from data - propagation to reward distribution. It embodies the principles of decentralized governance and collaborative - intelligence, ensuring that the network remains adaptive, secure, and efficient. - - .. admonition:: Example - - Initializing the metagraph to represent the current state of the Bittensor network:: - - from bittensor.core.metagraph import Metagraph - metagraph = Metagraph(netuid=config.netuid, network=subtensor.network, sync=False) - - Synchronizing the metagraph with the network to reflect the latest state and neuron data:: - - metagraph.sync(subtensor=subtensor) - - Accessing metagraph properties to inform network interactions and decisions:: - - total_stake = metagraph.S - neuron_ranks = metagraph.R - neuron_incentives = metagraph.I - axons = metagraph.axons - neurons = metagraph.neurons - - Maintaining a local copy of hotkeys for querying and interacting with network entities:: - - hotkeys = deepcopy(metagraph.hotkeys) - - Initializes a new instance of the metagraph object, setting up the basic structure and parameters based on the - provided arguments. This method is the entry point for creating a metagraph object, which is a central component - in representing the state of the Bittensor network. - - :param netuid: The unique identifier for the network, distinguishing this instance of the metagraph within - potentially multiple network configurations. - :param network: The name of the network, which can indicate specific configurations or versions of the Bittensor - network. - :param lite: A flag indicating whether to use a lite version of the metagraph. The lite version may contain less - detailed information but can be quicker to initialize and sync. - :param sync: A flag indicating whether to synchronize the metagraph with the network upon initialization. - Synchronization involves updating the metagraph's parameters to reflect the current state of the network. - - .. admonition:: Example - - Initializing a metagraph object for the Bittensor network with a specific network UID: - - metagraph = Metagraph(netuid=123, network="finney", lite=True, sync=True) - - - .. py:property:: AS - :type: Tensor - - - Represents the alpha stake of each neuron in the Bittensor network. - - :returns: The list of alpha stake of each neuron in the network. - :rtype: Tensor - - - .. py:property:: B - :type: Tensor - - - Bonds in the Bittensor network represent a speculative reward mechanism where neurons can accumulate - bonds in other neurons. Bonds are akin to investments or stakes in other neurons, reflecting a belief in - their future value or performance. This mechanism encourages correct weighting and collaboration - among neurons while providing an additional layer of incentive. - - :returns: - - A tensor representing the bonds held by each neuron, where each value signifies the proportion of - bonds owned by one neuron in another. - :rtype: Tensor - - - .. py:property:: C - :type: Tensor - - - Represents the consensus values of neurons in the Bittensor network. Consensus is a measure of how - much a neuron's contributions are trusted and agreed upon by the majority of the network. It is - calculated based on a staked weighted trust system, where the network leverages the collective - judgment of all participating peers. Higher consensus values indicate that a neuron's contributions - are more widely trusted and valued across the network. - - :returns: - - A tensor of consensus values, where each element reflects the level of trust and agreement a neuron - has achieved within the network. - :rtype: Tensor - - - .. py:property:: D - :type: Tensor - - - Represents the dividends received by neurons in the Bittensor network. Dividends are a form of reward or - distribution, typically given to neurons based on their stake, performance, and contribution to the network. - They are an integral part of the network's incentive structure, encouraging active and beneficial participation. - - :returns: - - A tensor of dividend values, where each element indicates the dividends received by a neuron, - reflecting their share of network rewards. - :rtype: Tensor - - - .. py:property:: E - :type: Tensor - - - Denotes the emission values of neurons in the Bittensor network. Emissions refer to the distribution or - release of rewards (often in the form of cryptocurrency) to neurons, typically based on their stake and - performance. This mechanism is central to the network's incentive model, ensuring that active and - contributing neurons are appropriately rewarded. - - :returns: - - A tensor where each element represents the emission value for a neuron, indicating the amount of - reward distributed to that neuron. - :rtype: Tensor - - - .. py:property:: I - :type: Tensor - - - Incentive values of neurons represent the rewards they receive for their contributions to the network. - The Bittensor network employs an incentive mechanism that rewards neurons based on their - informational value, stake, and consensus with other peers. This ensures that the most valuable and - trusted contributions are incentivized. - - :returns: - - A tensor of incentive values, indicating the rewards or benefits accrued by each neuron based on - their contributions and network consensus. - :rtype: Tensor - - - .. py:property:: R - :type: Tensor - - - Contains the ranks of neurons in the Bittensor network. Ranks are determined by the network based - on each neuron's performance and contributions. Higher ranks typically indicate a greater level of - contribution or performance by a neuron. These ranks are crucial in determining the distribution of - incentives within the network, with higher-ranked neurons receiving more incentive. - - :returns: - - A tensor where each element represents the rank of a neuron. Higher values indicate higher ranks - within the network. - :rtype: Tensor - - - .. py:property:: S - :type: Tensor - - - Represents the stake of each neuron in the Bittensor network. Stake is an important concept in the - Bittensor ecosystem, signifying the amount of network weight (or “stake”) each neuron holds, - represented on a digital ledger. The stake influences a neuron's ability to contribute to and benefit - from the network, playing a crucial role in the distribution of incentives and decision-making processes. - - :returns: - - A tensor representing the stake of each neuron in the network. Higher values signify a greater - stake held by the respective neuron. - :rtype: Tensor - - - .. py:property:: T - :type: Tensor - - - Represents the trust values assigned to each neuron in the Bittensor network. Trust is a key metric that - reflects the reliability and reputation of a neuron based on its past behavior and contributions. It is - an essential aspect of the network's functioning, influencing decision-making processes and interactions - between neurons. - - The trust matrix is inferred from the network's inter-peer weights, indicating the level of trust each neuron - has in others. A higher value in the trust matrix suggests a stronger trust relationship between neurons. - - :returns: - - A tensor of trust values, where each element represents the trust level of a neuron. Higher values - denote a higher level of trust within the network. - :rtype: Tensor - - - .. py:property:: TS - :type: Tensor - - - Represents the tao stake of each neuron in the Bittensor network. - - :returns: The list of tao stake of each neuron in the network. - :rtype: Tensor - - - .. py:property:: Tv - :type: Tensor - - - Contains the validator trust values of neurons in the Bittensor network. Validator trust is specifically - associated with neurons that act as validators within the network. This specialized form of trust reflects - the validators' reliability and integrity in their role, which is crucial for maintaining the network's - stability and security. - - Validator trust values are particularly important for the network's consensus and validation processes, - determining the validators' influence and responsibilities in these critical functions. - - :returns: - - A tensor of validator trust values, specifically applicable to neurons serving as validators, where - higher values denote greater trustworthiness in their validation roles. - :rtype: Tensor - - - .. py:property:: W - :type: Tensor - - - Represents the weights assigned to each neuron in the Bittensor network. In the context of Bittensor, - weights are crucial for determining the influence and interaction between neurons. Each neuron is responsible - for setting its weights, which are then recorded on a digital ledger. These weights are reflective of the - neuron's assessment or judgment of other neurons in the network. - - The weight matrix :math:`W = [w_{ij}]` is a key component of the network's architecture, where the :math: - `i^{th}` row is set by neuron :math:`i` and represents its weights towards other neurons. These weights - influence the ranking and incentive mechanisms within the network. Higher weights from a neuron towards another - can imply greater trust or value placed on that neuron's contributions. - - :returns: - - A tensor of inter-peer weights, where each element :math:`w_{ij}` represents the weight assigned by - neuron :math:`i` to neuron :math:`j`. This matrix is fundamental to the network's functioning, - influencing the distribution of incentives and the inter-neuronal dynamics. - :rtype: Tensor - - - .. py:attribute:: active - :type: Tensor - - - .. py:property:: addresses - :type: list[str] - - - Provides a list of IP addresses for each neuron in the Bittensor network. These addresses are used for - network communication, allowing neurons to connect, interact, and exchange information with each other. - IP addresses are fundamental for the network's peer-to-peer communication infrastructure. - - :returns: - - A list of IP addresses, with each string representing the address of a neuron. These addresses - enable the decentralized, distributed nature of the network, facilitating direct communication and data - exchange among neurons. - :rtype: List[str] - - .. note:: - - While IP addresses are a basic aspect of network communication, specific details about their use in - the Bittensor network may not be covered in the `NeurIPS paper - `_. They are, however, integral to - the functioning of any distributed network. - - - .. py:attribute:: alpha_dividends_per_hotkey - :type: list[tuple[str, float]] - - - .. py:attribute:: alpha_stake - :type: Tensor - - - .. py:attribute:: axons - :type: list[bittensor.core.chain_data.AxonInfo] - - - .. py:attribute:: block - :type: Tensor - - - .. py:attribute:: block_at_registration - :type: list[int] - - - .. py:attribute:: blocks_since_last_step - :type: int - - - .. py:attribute:: bonds - :type: Tensor - - - .. py:attribute:: chain_endpoint - :type: Optional[str] - - - .. py:property:: coldkeys - :type: list[str] - - - Contains a list of ``coldkeys`` for each neuron in the Bittensor network. - - Coldkeys are similar to hotkeys but are typically used for more secure, offline activities such as storing - assets or offline signing of transactions. They are an important aspect of a neuron's security, providing an - additional layer of protection for sensitive operations and assets. - - :returns: - - A list of coldkeys, each string representing the coldkey of a neuron. These keys play a vital - role in the secure management of assets and sensitive operations within the network. - :rtype: List[str] - - .. note:: - - The concept of coldkeys, while not explicitly covered in the NeurIPS paper, is a standard practice in - blockchain and decentralized networks for enhanced security and asset protection. - - - .. py:attribute:: consensus - :type: Tensor - - - .. py:attribute:: dividends - :type: Tensor - - - .. py:attribute:: emission - :type: Tensor - - - .. py:attribute:: emissions - :type: bittensor.core.chain_data.MetagraphInfoEmissions - - - .. py:property:: hotkeys - :type: list[str] - - - Represents a list of ``hotkeys`` for each neuron in the Bittensor network. - - Hotkeys are unique identifiers used by neurons for active participation in the network, such as sending and - receiving information or transactions. They are akin to public keys in cryptographic systems and are essential - for identifying and authenticating neurons within the network's operations. - - :returns: A list of hotkeys, with each string representing the hotkey of a corresponding neuron. - - These keys are crucial for the network's security and integrity, ensuring proper identification and - authorization of network participants. - :rtype: List[str] - - .. note:: - - While the `NeurIPS paper `_ may not - explicitly detail the concept of hotkeys, they are a fundamental of decentralized networks for secure - and authenticated interactions. - - - .. py:attribute:: hparams - :type: bittensor.core.chain_data.MetagraphInfoParams - - - .. py:attribute:: identities - :type: list[Optional[bittensor.core.chain_data.ChainIdentity]] - - - .. py:attribute:: identity - :type: Optional[bittensor.core.chain_data.SubnetIdentity] - - - .. py:attribute:: incentive - :type: Tensor - - - .. py:attribute:: last_step - :type: int - - - .. py:attribute:: last_update - :type: Tensor - - - .. py:attribute:: lite - :value: True - - - - .. py:method:: load(root_dir = None) - - Loads the state of the metagraph from the default save directory. This method is instrumental for restoring the - metagraph to its last saved state. It automatically identifies the save directory based on the ``network`` and - ``netuid`` properties of the metagraph, locates the latest block file in that directory, and loads all metagraph - parameters from it. - - This functionality is particularly beneficial when continuity in the state of the metagraph is necessary - across different runtime sessions, or after a restart of the system. It ensures that the metagraph reflects - the exact state it was in at the last save point, maintaining consistency in the network's representation. - - The method delegates to ``load_from_path``, supplying it with the directory path constructed from the - metagraph's current ``network`` and ``netuid`` properties. This abstraction simplifies the process of loading - the metagraph's state for the user, requiring no direct path specifications. - - :param root_dir: list to the file path for the root directory of your metagraph saves - (i.e. ['/', 'tmp', 'metagraphs'], defaults to ["~", ".bittensor", "metagraphs"] - - :returns: - - The metagraph instance after loading its state from the - default directory. - :rtype: metagraph (bittensor.core.metagraph.Metagraph) - - .. admonition:: Example - - Load the metagraph state from the last saved snapshot in the default directory:: - - metagraph.load() - - After this operation, the metagraph's parameters and neuron data are restored to their state at the time of - the last save in the default directory. - - .. note:: - - The default save directory is determined based on the metagraph's ``network`` and ``netuid`` attributes. It - is important to ensure that these attributes are set correctly and that the default save directory contains - the appropriate state files for the metagraph. - - - - .. py:method:: load_from_path(dir_path) - :abstractmethod: - - - Loads the state of the metagraph from a specified directory path. This method is crucial for restoring the - metagraph to a specific state based on saved data. It locates the latest block file in the given directory and - loads all metagraph parameters from it. This is particularly useful for analyses that require historical states - of the network or for restoring previous states of the metagraph in different execution environments. - - The method first identifies the latest block file in the specified directory, then loads the metagraph state - including neuron attributes and parameters from this file. This ensures that the metagraph is accurately - reconstituted to reflect the network state at the time of the saved block. - - :param dir_path: The directory path where the metagraph's state files are stored. This path should contain - one or more saved state files, typically named in a format that includes the block number. - :type dir_path: str - - :returns: - - The metagraph instance after loading its state from the - specified directory path. - :rtype: metagraph (bittensor.core.metagraph.AsyncMetagraph) - - .. admonition:: Example - - Load the metagraph state from a specific directory:: - - dir_path = "/path/to/saved/metagraph/states" - metagraph.load_from_path(dir_path) - - The metagraph is now restored to the state it was in at the time of the latest saved block in the specified - directory. - - .. note:: - - This method assumes that the state files in the specified directory are correctly formatted and - contain valid data for the metagraph. It is essential to ensure that the directory path and the - state files within it are accurate and consistent with the expected metagraph structure. - - - - .. py:attribute:: max_uids - :type: int - - - .. py:attribute:: mechanism_count - :type: int - - - .. py:attribute:: mechanisms_emissions_split - :type: list[int] - - - .. py:attribute:: mechid - :type: int - - - .. py:method:: metadata() - - Retrieves the metadata of the metagraph, providing key information about the current state of the Bittensor - network. This metadata includes details such as the network's unique identifier (``netuid``), the total number - of neurons (``n``), the current block number, the network's name, and the version of the Bittensor network. - - :returns: A dictionary containing essential metadata about the metagraph, including: - - - ``netuid``: The unique identifier for the network. - - ``n``: The total number of neurons in the network. - - ``block``: The current block number in the network's blockchain. - - ``network``: The name of the Bittensor network. - - ``version``: The version number of the Bittensor software. - :rtype: dict - - .. note:: - - This metadata is crucial for understanding the current state and configuration of the network, as well as - for tracking its evolution over time. - - - - .. py:attribute:: n - :type: Tensor - - - .. py:attribute:: name - :type: str - - - .. py:attribute:: netuid - :type: int - - - .. py:attribute:: network - :type: str - - - .. py:attribute:: network_registered_at - :type: int - - - .. py:attribute:: neurons - :type: list[Union[bittensor.core.chain_data.NeuronInfo, bittensor.core.chain_data.NeuronInfoLite]] - - - .. py:attribute:: num_uids - :type: int - - - .. py:attribute:: owner_coldkey - :type: str - - - .. py:attribute:: owner_hotkey - :type: str - - - .. py:attribute:: pool - :type: bittensor.core.chain_data.MetagraphInfoPool - - - .. py:attribute:: pruning_score - :type: list[float] - - - .. py:attribute:: ranks - :type: Tensor - - - .. py:method:: save(root_dir = None) - - Saves the current state of the metagraph to a file on disk. This function is crucial for persisting the current - state of the network's metagraph, which can later be reloaded or analyzed. The save operation includes all - neuron attributes and parameters, ensuring a complete snapshot of the metagraph's state. - - :param root_dir: list to the file path for the root directory of your metagraph saves - (i.e. ['/', 'tmp', 'metagraphs'], defaults to ["~", ".bittensor", "metagraphs"] - - :returns: The metagraph instance after saving its state. - :rtype: metagraph (bittensor.core.metagraph.Metagraph) - - .. admonition:: Example - - Save the current state of the metagraph to the default directory:: - - metagraph.save() - - The saved state can later be loaded to restore or analyze the metagraph's state at this point. - - If using the default save path:: - - metagraph.load() - - If using a custom save path:: - - metagraph.load_from_path(dir_path) - - - - .. py:attribute:: should_sync - :value: True - - - - .. py:attribute:: stake - :type: Tensor - - - .. py:method:: state_dict() - - - .. py:attribute:: subtensor - :type: Optional[Union[bittensor.core.async_subtensor.AsyncSubtensor, bittensor.core.subtensor.Subtensor]] - - - .. py:attribute:: symbol - :type: str - - - .. py:attribute:: tao_dividends_per_hotkey - :type: list[tuple[str, float]] - - - .. py:attribute:: tao_stake - :type: Tensor - - - .. py:attribute:: tempo - :type: int - - - .. py:attribute:: trust - :type: Tensor - - - .. py:attribute:: uids - :type: Tensor - - - .. py:attribute:: validator_permit - :type: Tensor - - - .. py:attribute:: validator_trust - :type: Tensor - - - .. py:attribute:: version - :type: Union[bittensor.utils.registration.torch.nn.Parameter, tuple[numpy.typing.NDArray]] - - - .. py:attribute:: weights - :type: Tensor - - -.. py:class:: NonTorchMetagraph(netuid, network = settings.DEFAULT_NETWORK, lite = True, sync = True, subtensor = None, mechid = 0) - - Bases: :py:obj:`MetagraphMixin` - - - The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the - backbone of the decentralized machine learning system. - - The metagraph is a dynamic representation of the network's state, capturing the interconnectedness and attributes of - neurons (participants) in the Bittensor ecosystem. This class is not just a static structure but a live - reflection of the network, constantly updated and synchronized with the state of the blockchain. - - In Bittensor, neurons are akin to nodes in a distributed system, each contributing computational resources and - participating in the network's collective intelligence. The metagraph tracks various attributes of these - neurons, such as stake, trust, and consensus, which are crucial for the network's incentive mechanisms and the - Yuma Consensus algorithm as outlined in the `NeurIPS paper - `_. These attributes govern how neurons - interact, how they are incentivized, and their roles within the network's decision-making processes. - - :param netuid: A unique identifier that distinguishes between different instances or versions of the Bittensor network. - :type netuid: int - :param network: The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem. - :type network: str - - :ivar version: The version number of the network, integral for tracking network updates. - :vartype version: NDArray - :ivar n: The total number of neurons in the network, reflecting its size and complexity. - :vartype n: NDArray - :ivar block: The current block number in the blockchain, crucial for synchronizing with the network's latest state. - :vartype block: NDArray - :ivar stake: Represents the cryptocurrency staked by neurons, impacting their influence and earnings within the network. - :ivar total_stake: The cumulative stake across all neurons. - :ivar ranks: Neuron rankings as per the Yuma Consensus algorithm, influencing their incentive distribution and network authority. - :ivar trust: Scores indicating the reliability of neurons, mainly miners, within the network's operational context. - :ivar consensus: Scores reflecting each neuron's alignment with the network's collective decisions. - :ivar validator_trust: Trust scores for validator neurons, crucial for network security and validation. - :ivar incentive: Rewards allocated to neurons, particularly miners, for their network contributions. - :ivar emission: The rate at which rewards are distributed to neurons. - :ivar dividends: Rewards received primarily by validators as part of the incentive mechanism. - :ivar active: Status indicating whether a neuron is actively participating in the network. - :ivar last_update: Timestamp of the latest update to a neuron's data. - :ivar validator_permit: Indicates if a neuron is authorized to act as a validator. - :ivar weights: Inter-neuronal weights set by each neuron, influencing network dynamics. - :ivar bonds: Represents speculative investments by neurons in others, part of the reward mechanism. - :ivar uids: Unique identifiers for each neuron, essential for network operations. - :ivar axons: Details about each neuron's axon, critical for facilitating network communication. - - :vartype axons: List - - The metagraph plays a pivotal role in Bittensor's decentralized AI operations, influencing everything from data - propagation to reward distribution. It embodies the principles of decentralized governance and collaborative - intelligence, ensuring that the network remains adaptive, secure, and efficient. - - .. admonition:: Example - - Initializing the metagraph to represent the current state of the Bittensor network:: - - from bittensor.core.metagraph import Metagraph - metagraph = Metagraph(netuid=config.netuid, network=subtensor.network, sync=False) - - Synchronizing the metagraph with the network to reflect the latest state and neuron data:: - - metagraph.sync(subtensor=subtensor) - - Accessing metagraph properties to inform network interactions and decisions:: - - total_stake = metagraph.S - neuron_ranks = metagraph.R - neuron_incentives = metagraph.I - axons = metagraph.axons - neurons = metagraph.neurons - - Maintaining a local copy of hotkeys for querying and interacting with network entities:: - - hotkeys = deepcopy(metagraph.hotkeys) - - Initializes a new instance of the metagraph object, setting up the basic structure and parameters based on the - provided arguments. This class doesn't require installed Torch. This method is the entry point for creating a - metagraph object, which is a central component in representing the state of the Bittensor network. - - :param netuid: Subnet unique identifier. - :param network: The name of the network, which can indicate specific configurations or versions of the Bittensor - :param network.: - :param lite: A flag indicating whether to use a lite version of the metagraph. The lite version may contain less - detailed information but can be quicker to initialize and sync. - :param sync: A flag indicating whether to synchronize the metagraph with the network upon initialization. - Synchronization involves updating the metagraph's parameters to reflect the current state of the network. - :param mechid: Subnet mechanism unique identifier. - - .. admonition:: Example - - Initializing a metagraph object for the Bittensor network with a specific network UID:: - - from bittensor.core.metagraph import Metagraph - - metagraph = Metagraph(netuid=123, network="finney", lite=True, sync=True) - - - .. py:attribute:: active - - - .. py:attribute:: alpha_stake - :type: Tensor - - - .. py:attribute:: block - - - .. py:attribute:: bonds - - - .. py:attribute:: consensus - - - .. py:attribute:: dividends - - - .. py:attribute:: emission - - - .. py:attribute:: incentive - - - .. py:attribute:: last_update - - - .. py:method:: load_from_path(dir_path) - - Loads the state of the Metagraph from a specified directory path. - - :param dir_path: The directory path where the metagraph's state file is located. - :type dir_path: str - - :returns: - - An instance of the Metagraph with the state - loaded from the file. - :rtype: metagraph (:func:`bittensor.core.metagraph.AsyncMetagraph`) - - :raises pickle.UnpicklingError: If there is an error unpickling the state file. - :raises RuntimeError: If there is an error loading the state file using PyTorch. - :raises ImportError: If there is an error importing PyTorch. - - - - .. py:attribute:: n - - - .. py:attribute:: netuid - - - .. py:attribute:: ranks - - - .. py:attribute:: should_sync - :value: True - - - - .. py:attribute:: stake - :type: Tensor - - - .. py:attribute:: subtensor - :value: None - - - - .. py:attribute:: tao_stake - :type: Tensor - - - .. py:attribute:: total_stake - :type: Tensor - - - .. py:attribute:: trust - - - .. py:attribute:: uids - - - .. py:attribute:: validator_permit - - - .. py:attribute:: validator_trust - - - .. py:attribute:: version - - - .. py:attribute:: weights - - -.. py:data:: NumpyOrTorch - -.. py:data:: Tensor - -.. py:class:: TorchMetagraph(netuid, network = settings.DEFAULT_NETWORK, lite = True, sync = True, subtensor = None, mechid = 0) - - Bases: :py:obj:`MetagraphMixin`, :py:obj:`BaseClass` - - - The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the - backbone of the decentralized machine learning system. - - The metagraph is a dynamic representation of the network's state, capturing the interconnectedness and attributes of - neurons (participants) in the Bittensor ecosystem. This class is not just a static structure but a live - reflection of the network, constantly updated and synchronized with the state of the blockchain. - - In Bittensor, neurons are akin to nodes in a distributed system, each contributing computational resources and - participating in the network's collective intelligence. The metagraph tracks various attributes of these - neurons, such as stake, trust, and consensus, which are crucial for the network's incentive mechanisms and the - Yuma Consensus algorithm as outlined in the `NeurIPS paper - `_. These attributes govern how neurons - interact, how they are incentivized, and their roles within the network's decision-making processes. - - :param netuid: A unique identifier that distinguishes between different instances or versions of the Bittensor network. - :type netuid: int - :param network: The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem. - :type network: str - - :ivar version: The version number of the network, integral for tracking network updates. - :vartype version: NDArray - :ivar n: The total number of neurons in the network, reflecting its size and complexity. - :vartype n: NDArray - :ivar block: The current block number in the blockchain, crucial for synchronizing with the network's latest state. - :vartype block: NDArray - :ivar stake: Represents the cryptocurrency staked by neurons, impacting their influence and earnings within the network. - :ivar total_stake: The cumulative stake across all neurons. - :ivar ranks: Neuron rankings as per the Yuma Consensus algorithm, influencing their incentive distribution and network authority. - :ivar trust: Scores indicating the reliability of neurons, mainly miners, within the network's operational context. - :ivar consensus: Scores reflecting each neuron's alignment with the network's collective decisions. - :ivar validator_trust: Trust scores for validator neurons, crucial for network security and validation. - :ivar incentive: Rewards allocated to neurons, particularly miners, for their network contributions. - :ivar emission: The rate at which rewards are distributed to neurons. - :ivar dividends: Rewards received primarily by validators as part of the incentive mechanism. - :ivar active: Status indicating whether a neuron is actively participating in the network. - :ivar last_update: Timestamp of the latest update to a neuron's data. - :ivar validator_permit: Indicates if a neuron is authorized to act as a validator. - :ivar weights: Inter-neuronal weights set by each neuron, influencing network dynamics. - :ivar bonds: Represents speculative investments by neurons in others, part of the reward mechanism. - :ivar uids: Unique identifiers for each neuron, essential for network operations. - :ivar axons: Details about each neuron's axon, critical for facilitating network communication. - - :vartype axons: List - - The metagraph plays a pivotal role in Bittensor's decentralized AI operations, influencing everything from data - propagation to reward distribution. It embodies the principles of decentralized governance and collaborative - intelligence, ensuring that the network remains adaptive, secure, and efficient. - - .. admonition:: Example - - Initializing the metagraph to represent the current state of the Bittensor network:: - - from bittensor.core.metagraph import Metagraph - metagraph = Metagraph(netuid=config.netuid, network=subtensor.network, sync=False) - - Synchronizing the metagraph with the network to reflect the latest state and neuron data:: - - metagraph.sync(subtensor=subtensor) - - Accessing metagraph properties to inform network interactions and decisions:: - - total_stake = metagraph.S - neuron_ranks = metagraph.R - neuron_incentives = metagraph.I - axons = metagraph.axons - neurons = metagraph.neurons - - Maintaining a local copy of hotkeys for querying and interacting with network entities:: - - hotkeys = deepcopy(metagraph.hotkeys) - - Initializes a new instance of the metagraph object, setting up the basic structure and parameters based on the - provided arguments. This class requires Torch to be installed. This method is the entry point for creating a - metagraph object, which is a central component in representing the state of the Bittensor network. - - :param netuid: Subnet unique identifier. - :param network: The name of the network, which can indicate specific configurations or versions of the Bittensor - :param network.: - :param lite: A flag indicating whether to use a lite version of the metagraph. The lite version may contain less - detailed information but can be quicker to initialize and sync. - :param sync: A flag indicating whether to synchronize the metagraph with the network upon initialization. - Synchronization involves updating the metagraph's parameters to reflect the current state of the network. - :param mechid: Subnet mechanism unique identifier. - - .. admonition:: Example - - Initializing a metagraph object for the Bittensor network with a specific network UID: - - from bittensor.core.metagraph import Metagraph - - metagraph = Metagraph(netuid=123, network="finney", lite=True, sync=True) - - - .. py:attribute:: active - - - .. py:attribute:: alpha_stake - - - .. py:attribute:: block - :type: bittensor.utils.registration.torch.nn.Parameter - - - .. py:attribute:: bonds - :type: bittensor.utils.registration.torch.nn.Parameter - - - .. py:attribute:: consensus - :type: bittensor.utils.registration.torch.nn.Parameter - - - .. py:attribute:: dividends - :type: bittensor.utils.registration.torch.nn.Parameter - - - .. py:attribute:: emission - :type: bittensor.utils.registration.torch.nn.Parameter - - - .. py:attribute:: incentive - :type: bittensor.utils.registration.torch.nn.Parameter - - - .. py:attribute:: last_update - - - .. py:method:: load_from_path(dir_path) - - Loads the metagraph state from a specified directory path. - - :param dir_path: The directory path where the state file is located. - :type dir_path: str - - :returns: The current metagraph instance with the loaded state. - :rtype: metagraph (bittensor.core.metagraph.AsyncMetagraph) - - .. admonition:: Example - - from bittensor.core.metagraph import Metagraph - - netuid = 1 - metagraph = Metagraph(netuid=netuid) - - metagraph.load_from_path("/path/to/dir") - - - - .. py:attribute:: n - :type: bittensor.utils.registration.torch.nn.Parameter - - - .. py:attribute:: ranks - :type: bittensor.utils.registration.torch.nn.Parameter - - - .. py:attribute:: stake - - - .. py:attribute:: tao_stake - - - .. py:attribute:: total_stake - :type: bittensor.utils.registration.torch.nn.Parameter - - - .. py:attribute:: trust - :type: bittensor.utils.registration.torch.nn.Parameter - - - .. py:attribute:: uids - - - .. py:attribute:: validator_permit - - - .. py:attribute:: validator_trust - :type: bittensor.utils.registration.torch.nn.Parameter - - - .. py:attribute:: version - - - .. py:attribute:: weights - :type: bittensor.utils.registration.torch.nn.Parameter - - -.. py:function:: async_metagraph(netuid, network = settings.DEFAULT_NETWORK, lite = True, sync = True, subtensor = None) - :async: - - - Factory function to create an instantiated AsyncMetagraph, mainly for the ability to use sync at instantiation. - - -.. py:function:: get_save_dir(network, netuid, root_dir = None) - - Returns a directory path given ``network`` and ``netuid`` inputs. - - :param network: Network name. - :type network: str - :param netuid: Network UID. - :type netuid: int - :param root_dir: list to the file path for the root directory of your metagraph saves (i.e. ['/', 'tmp', 'metagraphs'], - defaults to ["~", ".bittensor", "metagraphs"] - - :returns: Directory path. - :rtype: str - - -.. py:function:: latest_block_path(dir_path) - - Get the latest block path from the provided directory path. - - :param dir_path: Directory path. - :type dir_path: str - - :returns: Latest block path. - :rtype: str - - -.. py:function:: safe_globals() - - Context manager to load torch files for version 2.6+ - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/settings/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/settings/index.rst deleted file mode 100644 index d96a5d7804..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/settings/index.rst +++ /dev/null @@ -1,130 +0,0 @@ -bittensor.core.settings -======================= - -.. py:module:: bittensor.core.settings - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.core.settings.ARCHIVE_ENTRYPOINT - bittensor.core.settings.BLOCKTIME - bittensor.core.settings.DEFAULTS - bittensor.core.settings.DEFAULT_ENDPOINT - bittensor.core.settings.DEFAULT_NETWORK - bittensor.core.settings.FINNEY_ENTRYPOINT - bittensor.core.settings.FINNEY_TEST_ENTRYPOINT - bittensor.core.settings.HOME_DIR - bittensor.core.settings.LATENT_LITE_ENTRYPOINT - bittensor.core.settings.LOCAL_ENTRYPOINT - bittensor.core.settings.MINERS_DIR - bittensor.core.settings.NETWORKS - bittensor.core.settings.NETWORK_EXPLORER_MAP - bittensor.core.settings.NETWORK_MAP - bittensor.core.settings.PIPADDRESS - bittensor.core.settings.RAO_SYMBOL - bittensor.core.settings.READ_ONLY - bittensor.core.settings.REVERSE_NETWORK_MAP - bittensor.core.settings.ROOT_TAO_STAKE_WEIGHT - bittensor.core.settings.SS58_ADDRESS_LENGTH - bittensor.core.settings.SS58_FORMAT - bittensor.core.settings.SUBVORTEX_ENTRYPOINT - bittensor.core.settings.TAO_SYMBOL - bittensor.core.settings.TYPE_REGISTRY - bittensor.core.settings.USER_BITTENSOR_DIR - bittensor.core.settings.WALLETS_DIR - bittensor.core.settings.version_as_int - bittensor.core.settings.version_split - - -Module Contents ---------------- - -.. py:data:: ARCHIVE_ENTRYPOINT - :value: 'wss://archive.chain.opentensor.ai:443' - - -.. py:data:: BLOCKTIME - :value: 12 - - -.. py:data:: DEFAULTS - -.. py:data:: DEFAULT_ENDPOINT - :value: 'wss://entrypoint-finney.opentensor.ai:443' - - -.. py:data:: DEFAULT_NETWORK - :value: 'finney' - - -.. py:data:: FINNEY_ENTRYPOINT - :value: 'wss://entrypoint-finney.opentensor.ai:443' - - -.. py:data:: FINNEY_TEST_ENTRYPOINT - :value: 'wss://test.finney.opentensor.ai:443' - - -.. py:data:: HOME_DIR - -.. py:data:: LATENT_LITE_ENTRYPOINT - :value: 'wss://lite.sub.latent.to:443' - - -.. py:data:: LOCAL_ENTRYPOINT - -.. py:data:: MINERS_DIR - -.. py:data:: NETWORKS - :value: ['finney', 'test', 'archive', 'local', 'subvortex', 'latent-lite'] - - -.. py:data:: NETWORK_EXPLORER_MAP - -.. py:data:: NETWORK_MAP - -.. py:data:: PIPADDRESS - :value: 'https://pypi.org/pypi/bittensor/json' - - -.. py:data:: RAO_SYMBOL - :type: str - -.. py:data:: READ_ONLY - -.. py:data:: REVERSE_NETWORK_MAP - -.. py:data:: ROOT_TAO_STAKE_WEIGHT - :value: 0.18 - - -.. py:data:: SS58_ADDRESS_LENGTH - :value: 48 - - -.. py:data:: SS58_FORMAT - :value: 42 - - -.. py:data:: SUBVORTEX_ENTRYPOINT - :value: 'ws://subvortex.info:9944' - - -.. py:data:: TAO_SYMBOL - :type: str - -.. py:data:: TYPE_REGISTRY - :type: dict[str, dict] - -.. py:data:: USER_BITTENSOR_DIR - -.. py:data:: WALLETS_DIR - -.. py:data:: version_as_int - :type: int - -.. py:data:: version_split - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/stream/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/stream/index.rst deleted file mode 100644 index d48387ed30..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/stream/index.rst +++ /dev/null @@ -1,168 +0,0 @@ -bittensor.core.stream -===================== - -.. py:module:: bittensor.core.stream - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.stream.BTStreamingResponseModel - bittensor.core.stream.StreamingSynapse - - -Module Contents ---------------- - -.. py:class:: BTStreamingResponseModel(/, **data) - - Bases: :py:obj:`pydantic.BaseModel` - - - :func:`BTStreamingResponseModel` is a Pydantic model that encapsulates the token streamer callable for Pydantic - validation. - It is used within the :func:`StreamingSynapse` class to create a :func:`BTStreamingResponse` object, which is - responsible for handling the streaming of tokens. - - The token streamer is a callable that takes a send function and returns an awaitable. It is responsible for generating - the content of the streaming response, typically by processing tokens and sending them to the client. - - This model ensures that the token streamer conforms to the expected signature and provides a clear interface for - passing the token streamer to the BTStreamingResponse class. - - :ivar token_streamer: Callable[[Send], Awaitable[None]] The token streamer callable, which takes a send function - (provided by the ASGI server) and returns an awaitable. It is responsible for generating the content of the - streaming response. - - - Create a new model by parsing and validating input data from keyword arguments. - - Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be - validated to form a valid model. - - `self` is explicitly positional-only to allow `self` as a field name. - - - .. py:attribute:: token_streamer - :type: Callable[[starlette.types.Send], Awaitable[None]] - - -.. py:class:: StreamingSynapse(/, **data) - - Bases: :py:obj:`bittensor.core.synapse.Synapse`, :py:obj:`abc.ABC` - - - The :func:`StreamingSynapse` class is designed to be subclassed for handling streaming responses in the Bittensor network. - It provides abstract methods that must be implemented by the subclass to deserialize, process streaming responses, - and extract JSON data. It also includes a method to create a streaming response object. - - Create a new model by parsing and validating input data from keyword arguments. - - Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be - validated to form a valid model. - - `self` is explicitly positional-only to allow `self` as a field name. - - - .. py:class:: BTStreamingResponse(model, *, synapse = None, **kwargs) - - Bases: :py:obj:`starlette.responses.StreamingResponse` - - - :func:`BTStreamingResponse` is a specialized subclass of the Starlette StreamingResponse designed to handle the - streaming of tokens within the Bittensor network. It is used internally by the StreamingSynapse class to manage - the response streaming process, including sending headers and calling the token streamer provided by the subclass. - - This class is not intended to be directly instantiated or modified by developers subclassing StreamingSynapse. - Instead, it is used by the :func:`create_streaming_response` method to create a response object based on the - token streamer provided by the subclass. - - Initializes the BTStreamingResponse with the given token streamer model. - - :param model: A BTStreamingResponseModel instance containing - the token streamer callable, which is responsible for generating the content of the response. - :type model: bittensor.core.stream.BTStreamingResponseModel - :param synapse: The response Synapse to be used to update the response - headers etc. - :type synapse: bittensor.core.stream.StreamingSynapse - :param \*\*kwargs: Additional keyword arguments passed to the parent StreamingResponse class. - - - .. py:method:: stream_response(send) - :async: - - - Asynchronously streams the response by sending headers and calling the token streamer. - - This method is responsible for initiating the response by sending the appropriate headers, including the - content type for event-streaming. It then calls the token streamer to generate the content and sends the - response body to the client. - - :param send: A callable to send the response, provided by the ASGI server. - :type send: starlette.types.Send - - - - .. py:attribute:: synapse - :value: None - - - - .. py:attribute:: token_streamer - - - - .. py:method:: create_streaming_response(token_streamer) - - Creates a streaming response using the provided token streamer. - This method can be used by the subclass to create a response object that can be sent back to the client. - The token streamer should be implemented to generate the content of the response according to the specific - requirements of the subclass. - - :param token_streamer: A callable that takes a send function - and returns an awaitable. It's responsible for generating the content of the response. - :type token_streamer: Callable[[starlette.types.Send], Awaitable[None]] - - :returns: The streaming response - object, ready to be sent to the client. - :rtype: BTStreamingResponse (bittensor.core.stream.StreamingSynapse.BTStreamingResponse) - - - - .. py:method:: extract_response_json(response) - :abstractmethod: - - - Abstract method that must be implemented by the subclass. - This method should provide logic to extract JSON data from the response, including headers and content. - It is called after the response has been processed and is responsible for retrieving structured data that can be - used by the application. - - :param response: The response object from which to extract JSON data. - :type response: aiohttp.ClientResponse - - - - .. py:attribute:: model_config - - Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict]. - - - .. py:method:: process_streaming_response(response) - :abstractmethod: - - :async: - - - Abstract method that must be implemented by the subclass. - This method should provide logic to handle the streaming response, such as parsing and accumulating data. - It is called as the response is being streamed from the network, and should be implemented to handle the - specific streaming data format and requirements of the subclass. - - :param response: The response object to be processed, typically containing chunks of data. - :type response: aiohttp.ClientResponse - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor/index.rst deleted file mode 100644 index 3caa1951a9..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor/index.rst +++ /dev/null @@ -1,2615 +0,0 @@ -bittensor.core.subtensor -======================== - -.. py:module:: bittensor.core.subtensor - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.subtensor.Subtensor - - -Module Contents ---------------- - -.. py:class:: Subtensor(network = None, config = None, log_verbose = False, fallback_endpoints = None, retry_forever = False, _mock = False, archive_endpoints = None) - - Bases: :py:obj:`bittensor.core.types.SubtensorMixin` - - - Thin layer for interacting with Substrate Interface. Mostly a collection of frequently used calls. - - Initializes an instance of the Subtensor class. - - :param network: The network name or type to connect to. - :param config: Configuration object for the AsyncSubtensor instance. - :param log_verbose: Enables or disables verbose logging. - :param fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. - Defaults to `None`. - :param retry_forever: Whether to retry forever on connection errors. Defaults to `False`. - :param _mock: Whether this is a mock instance. Mainly just for use in testing. - :param archive_endpoints: Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases - where you are requesting a block that is too old for your current (presumably lite) node. Defaults to - `None` - - :raises Any exceptions raised during the setup, configuration, or connection process.: - - - .. py:method:: add_liquidity(wallet, netuid, liquidity, price_low, price_high, hotkey = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Adds liquidity to the specified price range. - - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param liquidity: The amount of liquidity to be added. - :param price_low: The lower bound of the price tick range. In TAO. - :param price_high: The upper bound of the price tick range. In TAO. - :param hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to - `None`. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call `toggle_user_liquidity` - method to enable/disable user liquidity. - - - - .. py:method:: add_stake(wallet, hotkey_ss58 = None, netuid = None, amount = None, wait_for_inclusion = True, wait_for_finalization = False, safe_staking = False, allow_partial_stake = False, rate_tolerance = 0.005, period = None) - - Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified - subnet. Staking is a fundamental process in the Bittensor network that enables neurons to participate - actively and earn incentives. - - :param wallet: The wallet to be used for staking. - :param hotkey_ss58: The SS58 address of the hotkey associated with the neuron to which you intend to delegate your - stake. If not specified, the wallet's hotkey will be used. Defaults to ``None``. - :param netuid: The unique identifier of the subnet to which the neuron belongs. - :param amount: The amount of TAO to stake. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to ``True``. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to ``False``. - :param safe_staking: If true, enables price safety checks to protect against fluctuating prices. The stake will - only execute if the price change doesn't exceed the rate tolerance. Default is ``False``. - :param allow_partial_stake: If true and safe_staking is enabled, allows partial staking when the full amount would - exceed the price tolerance. If false, the entire stake fails if it would exceed the tolerance. - Default is ``False``. - :param rate_tolerance: The maximum allowed price change ratio when staking. For example, - 0.005 = 0.5% maximum price increase. Only used when safe_staking is True. Default is ``0.005``. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. Defaults to ``None``. - - :returns: True if the staking is successful, False otherwise. - :rtype: bool - - This function enables neurons to increase their stake in the network, enhancing their influence and potential - rewards in line with Bittensor's consensus and reward mechanisms. - When safe_staking is enabled, it provides protection against price fluctuations during the time stake is - executed and the time it is actually processed by the chain. - - - - .. py:method:: add_stake_multiple(wallet, hotkey_ss58s, netuids, amounts = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Adds stakes to multiple neurons identified by their hotkey SS58 addresses. - This bulk operation allows for efficient staking across different neurons from a single wallet. - - :param wallet: The wallet used for staking. - :type wallet: bittensor_wallet.Wallet - :param hotkey_ss58s: List of ``SS58`` addresses of hotkeys to stake to. - :type hotkey_ss58s: list[str] - :param netuids: List of network UIDs to stake to. - :type netuids: list[int] - :param amounts: Corresponding amounts of TAO to stake for each hotkey. - :type amounts: list[Balance] - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: ``True`` if the staking is successful for all specified neurons, False otherwise. - :rtype: bool - - This function is essential for managing stakes across multiple neurons, reflecting the dynamic and collaborative - nature of the Bittensor network. - - - - .. py:method:: all_subnets(block = None) - - Retrieves the subnet information for all subnets in the network. - - :param block: The block number to query the subnet information from. - :type block: Optional[int] - - :returns: A list of DynamicInfo objects, each containing detailed information about a subnet. - :rtype: Optional[DynamicInfo] - - - - .. py:property:: block - :type: int - - - - .. py:method:: blocks_since_last_step(netuid, block = None) - - Returns number of blocks since the last epoch of the subnet. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param block: the block number for this query. - - :returns: block number of the last step in the subnet. - - - - .. py:method:: blocks_since_last_update(netuid, uid) - - Returns the number of blocks since the last update for a specific UID in the subnetwork. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param uid: The unique identifier of the neuron. - :type uid: int - - :returns: - - The number of blocks since the last update, or ``None`` if the subnetwork or UID does not - exist. - :rtype: Optional[int] - - - - .. py:method:: bonds(netuid, block = None, mechid = 0) - - Retrieves the bond distribution set by neurons within a specific subnet of the Bittensor network. - Bonds represent the investments or commitments made by neurons in one another, indicating a level of trust - and perceived value. This bonding mechanism is integral to the network's market-based approach to - measuring and rewarding machine intelligence. - - :param netuid: Subnet identifier. - :param block: the block number for this query. - :param mechid: Subnet mechanism identifier. - - :returns: List of tuples mapping each neuron's UID to its bonds with other neurons. - - Understanding bond distributions is crucial for analyzing the trust dynamics and market behavior within the - subnet. It reflects how neurons recognize and invest in each other's intelligence and contributions, - supporting diverse and niche systems within the Bittensor ecosystem. - - - - .. py:method:: burned_register(wallet, netuid, wait_for_inclusion = False, wait_for_finalization = True, period = None) - - Registers a neuron on the Bittensor network by recycling TAO. This method of registration involves recycling - TAO tokens, allowing them to be re-mined by performing work on the network. - - :param wallet: The wallet associated with the neuron to be registered. - :type wallet: bittensor_wallet.Wallet - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to - `False`. - :type wait_for_inclusion: bool, optional - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - Defaults to `True`. - :type wait_for_finalization: bool, optional - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: ``True`` if the registration is successful, False otherwise. - :rtype: bool - - - - .. py:method:: close() - - Closes the websocket connection. - - - - .. py:method:: commit(wallet, netuid, data, period = None) - - Commits arbitrary data to the Bittensor network by publishing metadata. - - :param wallet: The wallet associated with the neuron committing the data. - :type wallet: bittensor_wallet.Wallet - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param data: The data to be committed to the network. - :type data: str - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: `True` if the commitment was successful, `False` otherwise. - :rtype: bool - - - - .. py:method:: commit_reveal_enabled(netuid, block = None) - - Check if the commit-reveal mechanism is enabled for a given network at a specific block. - - :param netuid: The network identifier for which to check the commit-reveal mechanism. - :param block: The block number to query. - - :returns: Returns the integer value of the hyperparameter if available; otherwise, returns None. - - - - .. py:method:: commit_weights(wallet, netuid, salt, uids, weights, version_key = version_as_int, wait_for_inclusion = False, wait_for_finalization = False, max_retries = 5, period = 16, mechid = 0) - - Commits a hash of the neuron's weights to the Bittensor blockchain using the provided wallet. - This action serves as a commitment or snapshot of the neuron's current weight distribution. - - :param wallet: The wallet associated with the neuron committing the weights. - :param netuid: The unique identifier of the subnet. - :param salt: list of randomly generated integers as salt to generated weighted hash. - :param uids: Array/list of neuron UIDs for which weights are being committed. - :param weights: Array/list of weight values corresponding to each UID. - :param version_key: Version key for compatibility with the network. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param max_retries: The number of maximum attempts to commit weights. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - :param mechid: The subnet mechanism unique identifier. - - :returns: `True` if the weight commitment is successful, False otherwise. - `msg` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - This function allows neurons to create a tamper-proof record of their weight distribution at a specific point - in time, enhancing transparency and accountability within the Bittensor network. - - - - .. py:method:: determine_block_hash(block) - - - .. py:method:: difficulty(netuid, block = None) - - Retrieves the 'Difficulty' hyperparameter for a specified subnet in the Bittensor network. - - This parameter is instrumental in determining the computational challenge required for neurons to participate in - consensus and validation processes. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - - :returns: The value of the 'Difficulty' hyperparameter if the subnet exists, ``None`` otherwise. - :rtype: Optional[int] - - The 'Difficulty' parameter directly impacts the network's security and integrity by setting the computational - effort required for validating transactions and participating in the network's consensus mechanism. - - - - .. py:method:: does_hotkey_exist(hotkey_ss58, block = None) - - Returns true if the hotkey is known by the chain and there are accounts. - - :param hotkey_ss58: The SS58 address of the hotkey. - :param block: the block number for this query. - - :returns: `True` if the hotkey is known by the chain and there are accounts, `False` otherwise. - - - - .. py:method:: encode_params(call_definition, params) - - Returns a hex encoded string of the params using their types. - - - - .. py:method:: filter_netuids_by_registered_hotkeys(all_netuids, filter_for_netuids, all_hotkeys, block) - - Filters a given list of all netuids for certain specified netuids and hotkeys - - :param all_netuids: A list of netuids to filter. - :type all_netuids: Iterable[int] - :param filter_for_netuids: A subset of all_netuids to filter from the main list. - :type filter_for_netuids: Iterable[int] - :param all_hotkeys: Hotkeys to filter from the main list. - :type all_hotkeys: Iterable[Wallet] - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: The filtered list of netuids. - - - - .. py:method:: get_admin_freeze_window(block = None) - - Returns the number of blocks when dependent transactions will be frozen for execution. - - :param block: The block number for which the children are to be retrieved. - - :returns: AdminFreezeWindow as integer. The number of blocks are frozen. - - - - .. py:method:: get_all_commitments(netuid, block = None) - - - .. py:method:: get_all_metagraphs_info(block = None, all_mechanisms = False) - - Retrieves a list of MetagraphInfo objects for all subnets - - :param block: The blockchain block number for the query. - :param all_mechanisms: If True then returns all mechanisms, otherwise only those with index 0 for all subnets. - - :returns: List of MetagraphInfo objects for all existing subnets. - - .. admonition:: Notes - - See also: See - - - - .. py:method:: get_all_neuron_certificates(netuid, block = None) - - Retrieves the TLS certificates for neurons within a specified subnet (netuid) of the Bittensor network. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - - :returns: Certificate} for the key/Certificate pairs on the subnet - :rtype: {ss58 - - This function is used for certificate discovery for setting up mutual tls communication between neurons. - - - - .. py:method:: get_all_revealed_commitments(netuid, block = None) - - Returns all revealed commitments for a given netuid. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param block: The block number to retrieve the commitment from. Default is ``None``. - :type block: Optional[int] - - :returns: - - A dictionary of all revealed commitments in view - {ss58_address: (reveal block, commitment message)}. - :rtype: result (dict) - - Example of result: - { - "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY": ( (12, "Alice message 1"), (152, "Alice message 2") ), - "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty": ( (12, "Bob message 1"), (147, "Bob message 2") ), - } - - - - .. py:method:: get_all_subnets_info(block = None) - - Retrieves detailed information about all subnets within the Bittensor network. This function provides - comprehensive data on each subnet, including its characteristics and operational parameters. - - :param block: The blockchain block number for the query. - - :returns: A list of SubnetInfo objects, each containing detailed information about a subnet. - :rtype: list[SubnetInfo] - - Gaining insights into the subnets' details assists in understanding the network's composition, the roles of - different subnets, and their unique features. - - - - .. py:method:: get_balance(address, block = None) - - Retrieves the balance for given coldkey. Always in TAO. - - :param address: coldkey address. - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: Balance object in TAO. - - - - .. py:method:: get_balances(*addresses, block = None) - - Retrieves the balance for given coldkey(s) - - :param addresses: coldkey addresses(s). - :type addresses: str - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: Balance objects}. - :rtype: Dict of {address - - - - .. py:method:: get_block_hash(block = None) - - Retrieves the hash of a specific block on the Bittensor blockchain. The block hash is a unique identifier - representing the cryptographic hash of the block's content, ensuring its integrity and immutability. - - :param block: The block number for which the hash is to be retrieved. - :type block: int - - :returns: The cryptographic hash of the specified block. - :rtype: str - - The block hash is a fundamental aspect of blockchain technology, providing a secure reference to each block's - data. It is crucial for verifying transactions, ensuring data consistency, and maintaining the - trustworthiness of the blockchain. - - - - .. py:method:: get_children(hotkey, netuid, block = None) - - This method retrieves the children of a given hotkey and netuid. It queries the SubtensorModule's ChildKeys - storage function to get the children and formats them before returning as a tuple. - - :param hotkey: The hotkey value. - :type hotkey: str - :param netuid: The netuid value. - :type netuid: int - :param block: The block number for which the children are to be retrieved. - :type block: Optional[int] - - :returns: - - A tuple containing a boolean indicating success or failure, a list of formatted children, and an error - message (if applicable) - - - - .. py:method:: get_children_pending(hotkey, netuid, block = None) - - This method retrieves the pending children of a given hotkey and netuid. - It queries the SubtensorModule's PendingChildKeys storage function. - - :param hotkey: The hotkey value. - :type hotkey: str - :param netuid: The netuid value. - :type netuid: int - :param block: The block number for which the children are to be retrieved. - :type block: Optional[int] - - :returns: A list of children with their proportions. - int: The cool-down block number. - :rtype: list[tuple[float, str]] - - - - .. py:method:: get_commitment(netuid, uid, block = None) - - Retrieves the on-chain commitment for a specific neuron in the Bittensor network. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param uid: The unique identifier of the neuron. - :type uid: int - :param block: The block number to retrieve the commitment from. If None, the latest block is used. - Default is ``None``. - :type block: Optional[int] - - :returns: The commitment data as a string. - :rtype: str - - - - .. py:method:: get_current_block() - - Returns the current block number on the Bittensor blockchain. This function provides the latest block number, - indicating the most recent state of the blockchain. - - :returns: The current chain block number. - :rtype: int - - Knowing the current block number is essential for querying real-time data and performing time-sensitive - operations on the blockchain. It serves as a reference point for network activities and data - synchronization. - - - - .. py:method:: get_current_weight_commit_info(netuid, block = None) - - Retrieves CRV3 weight commit information for a specific subnet. - - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. Default is ``None``. - :type block: Optional[int] - - :returns: - ss58_address: The address of the committer. - - commit_message: The commit message. - - reveal_round: The round when the commitment was revealed. - - The list may be empty if there are no commits found. - :rtype: A list of commit details, where each item contains - - - - .. py:method:: get_current_weight_commit_info_v2(netuid, block = None) - - Retrieves CRV3 weight commit information for a specific subnet. - - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. Default is ``None``. - :type block: Optional[int] - - :returns: - ss58_address: The address of the committer. - - commit_block: The block number when the commitment was made. - - commit_message: The commit message. - - reveal_round: The round when the commitment was revealed. - - The list may be empty if there are no commits found. - :rtype: A list of commit details, where each item contains - - - - .. py:method:: get_delegate_by_hotkey(hotkey_ss58, block = None) - - Retrieves detailed information about a delegate neuron based on its hotkey. This function provides a - comprehensive view of the delegate's status, including its stakes, nominators, and reward distribution. - - :param hotkey_ss58: The ``SS58`` address of the delegate's hotkey. - :type hotkey_ss58: str - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: Detailed information about the delegate neuron, ``None`` if not found. - :rtype: Optional[DelegateInfo] - - This function is essential for understanding the roles and influence of delegate neurons within the Bittensor - network's consensus and governance structures. - - - - .. py:method:: get_delegate_identities(block = None) - - Fetches delegates identities from the chain. - - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: ChainIdentity, ...} - :rtype: Dict {ss58 - - - - .. py:method:: get_delegate_take(hotkey_ss58, block = None) - - Retrieves the delegate 'take' percentage for a neuron identified by its hotkey. The 'take' represents the - percentage of rewards that the delegate claims from its nominators' stakes. - - :param hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - :type hotkey_ss58: str - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: The delegate take percentage. - :rtype: float - - The delegate take is a critical parameter in the network's incentive structure, influencing the distribution of - rewards among neurons and their nominators. - - - - .. py:method:: get_delegated(coldkey_ss58, block = None) - - Retrieves a list of delegates and their associated stakes for a given coldkey. This function identifies the - delegates that a specific account has staked tokens on. - - :param coldkey_ss58: The `SS58` address of the account's coldkey. - :type coldkey_ss58: str - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: A list containing the delegated information for the specified coldkey. - - This function is important for account holders to understand their stake allocations and their involvement in - the network's delegation and consensus mechanisms. - - - - .. py:method:: get_delegates(block = None) - - Fetches all delegates on the chain - - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: List of DelegateInfo objects, or an empty list if there are no delegates. - - - - .. py:method:: get_existential_deposit(block = None) - - Retrieves the existential deposit amount for the Bittensor blockchain. Always in TAO. - The existential deposit is the minimum amount of TAO required for an account to exist on the blockchain. - Accounts with balances below this threshold can be reaped to conserve network resources. - - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: The existential deposit amount. Always in TAO. - - The existential deposit is a fundamental economic parameter in the Bittensor network, ensuring efficient use of - storage and preventing the proliferation of dust accounts. - - - - .. py:method:: get_hotkey_owner(hotkey_ss58, block = None) - - Retrieves the owner of the given hotkey at a specific block hash. - This function queries the blockchain for the owner of the provided hotkey. If the hotkey does not exist at the - specified block hash, it returns None. - - :param hotkey_ss58: The SS58 address of the hotkey. - :type hotkey_ss58: str - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: The SS58 address of the owner if the hotkey exists, or None if it doesn't. - :rtype: Optional[str] - - - - .. py:attribute:: get_hotkey_stake - - - .. py:method:: get_hyperparameter(param_name, netuid, block = None) - - Retrieves a specified hyperparameter for a specific subnet. - - :param param_name: The name of the hyperparameter to retrieve. - :type param_name: str - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: the block number at which to retrieve the hyperparameter. - - :returns: The value of the specified hyperparameter if the subnet exists, or None - - - - .. py:method:: get_last_commitment_bonds_reset_block(netuid, uid) - - Retrieves the last block number when the bonds reset were triggered by publish_metadata for a specific neuron. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param uid: The unique identifier of the neuron. - :type uid: int - - :returns: The block number when the bonds were last reset, or None if not found. - :rtype: Optional[int] - - - - .. py:method:: get_liquidity_list(wallet, netuid, block = None) - - Retrieves all liquidity positions for the given wallet on a specified subnet (netuid). - Calculates associated fee rewards based on current global and tick-level fee data. - - :param wallet: Wallet instance to fetch positions for. - :param netuid: Subnet unique id. - :param block: The blockchain block number for the query. - - :returns: List of liquidity positions, or None if subnet does not exist. - - - - .. py:method:: get_mechanism_count(netuid, block = None) - - Retrieves the number of mechanisms for the given subnet. - - :param netuid: Subnet identifier. - :param block: The blockchain block number for the query. - - :returns: The number of mechanisms for the given subnet. - - - - .. py:method:: get_mechanism_emission_split(netuid, block = None) - - Returns the emission percentages allocated to each subnet mechanism. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - - :returns: A list of integers representing the percentage of emission allocated to each subnet mechanism (rounded to - whole numbers). Returns None if emission is evenly split or if the data is unavailable. - - - - .. py:method:: get_metagraph_info(netuid, field_indices = None, block = None, mechid = 0) - - Retrieves full or partial metagraph information for the specified subnet mechanism (netuid, mechid). - - :param netuid: Subnet unique identifier. - :param field_indices: Optional list of SelectiveMetagraphIndex or int values specifying which fields to retrieve. - If not provided, all available fields will be returned. - :param block: The block number at which to query the data. - :param mechid: Subnet mechanism unique identifier. - - :returns: MetagraphInfo object with the requested subnet mechanism data, None if the subnet mechanism does not exist. - - .. admonition:: Example - - # Retrieve all fields from the metagraph from subnet 2 mechanism 0 - meta_info = subtensor.get_metagraph_info(netuid=2) - - # Retrieve all fields from the metagraph from subnet 2 mechanism 1 - meta_info = subtensor.get_metagraph_info(netuid=2, mechid=1) - - # Retrieve selective data from the metagraph from subnet 2 mechanism 0 - partial_meta_info = subtensor.get_metagraph_info( - netuid=2, - field_indices=[SelectiveMetagraphIndex.Name, SelectiveMetagraphIndex.OwnerHotkeys] - ) - - # Retrieve selective data from the metagraph from subnet 2 mechanism 1 - partial_meta_info = subtensor.get_metagraph_info( - netuid=2, - mechid=1, - field_indices=[SelectiveMetagraphIndex.Name, SelectiveMetagraphIndex.OwnerHotkeys] - ) - - .. admonition:: Notes - - See also: - - - - - - - - .. py:method:: get_minimum_required_stake() - - Returns the minimum required stake for nominators in the Subtensor network. - - :returns: The minimum required stake as a Balance object in TAO. - - - - .. py:method:: get_netuids_for_hotkey(hotkey_ss58, block = None) - - Retrieves a list of subnet UIDs (netuids) for which a given hotkey is a member. This function identifies the - specific subnets within the Bittensor network where the neuron associated with the hotkey is active. - - :param hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - :type hotkey_ss58: str - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: A list of netuids where the neuron is a member. - - - - .. py:method:: get_neuron_certificate(hotkey, netuid, block = None) - - Retrieves the TLS certificate for a specific neuron identified by its unique identifier (UID) within a - specified subnet (netuid) of the Bittensor network. - - :param hotkey: The hotkey to query. - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - - :returns: the certificate of the neuron if found, `None` otherwise. - - This function is used for certificate discovery for setting up mutual tls communication between neurons. - - - - .. py:method:: get_neuron_for_pubkey_and_subnet(hotkey_ss58, netuid, block = None) - - Retrieves information about a neuron based on its public key (hotkey SS58 address) and the specific subnet UID - (netuid). This function provides detailed neuron information for a particular subnet within the Bittensor - network. - - :param hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - :type hotkey_ss58: str - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: - - Detailed information about the neuron if found, - ``None`` otherwise. - :rtype: Optional[bittensor.core.chain_data.neuron_info.NeuronInfo] - - This function is crucial for accessing specific neuron data and understanding its status, stake, and other - attributes within a particular subnet of the Bittensor ecosystem. - - - - .. py:method:: get_next_epoch_start_block(netuid, block = None) - - Calculates the first block number of the next epoch for the given subnet. - - If `block` is not provided, the current chain block will be used. Epochs are - determined based on the subnet's tempo (i.e., blocks per epoch). The result - is the block number at which the next epoch will begin. - - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The reference block to calculate from. - If None, uses the current chain block height. - :type block: Optional[int], optional - - :returns: The block number at which the next epoch will start. - :rtype: int - - - - .. py:method:: get_owned_hotkeys(coldkey_ss58, block = None, reuse_block = False) - - Retrieves all hotkeys owned by a specific coldkey address. - - :param coldkey_ss58: The SS58 address of the coldkey to query. - :type coldkey_ss58: str - :param block: The blockchain block number for the query. - :type block: int - :param reuse_block: Whether to reuse the last-used blockchain block hash. - :type reuse_block: bool - - :returns: A list of hotkey SS58 addresses owned by the coldkey. - :rtype: list[str] - - - - .. py:method:: get_parents(hotkey, netuid, block = None) - - This method retrieves the parent of a given hotkey and netuid. It queries the SubtensorModule's ParentKeys - storage function to get the children and formats them before returning as a tuple. - - :param hotkey: The child hotkey SS58. - :param netuid: The netuid. - :param block: The block number for which the children are to be retrieved. - - :returns: A list of formatted parents [(proportion, parent)] - - - - .. py:method:: get_revealed_commitment(netuid, uid, block = None) - - Returns uid related revealed commitment for a given netuid. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param uid: The neuron uid to retrieve the commitment from. - :type uid: int - :param block: The block number to retrieve the commitment from. Default is ``None``. - :type block: Optional[int] - - :returns: A tuple of reveal block and commitment message. - :rtype: result (Optional[tuple[int, str]] - - Example of result: - ( (12, "Alice message 1"), (152, "Alice message 2") ) - ( (12, "Bob message 1"), (147, "Bob message 2") ) - - - - .. py:method:: get_revealed_commitment_by_hotkey(netuid, hotkey_ss58_address, block = None) - - Returns hotkey related revealed commitment for a given netuid. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param hotkey_ss58_address: The ss58 address of the committee member. - :type hotkey_ss58_address: str - :param block: The block number to retrieve the commitment from. Default is ``None``. - :type block: Optional[int] - - :returns: A tuple of reveal block and commitment message. - :rtype: result (tuple[int, str) - - - - .. py:method:: get_stake(coldkey_ss58, hotkey_ss58, netuid, block = None) - - Returns the amount of Alpha staked by a specific coldkey to a specific hotkey within a given subnet. - This function retrieves the delegated stake balance, referred to as the 'Alpha' value. - - :param coldkey_ss58: The SS58 address of the coldkey that delegated the stake. This address owns the stake. - :param hotkey_ss58: The ss58 address of the hotkey which the stake is on. - :param netuid: The unique identifier of the subnet to query. - :param block: The specific block number at which to retrieve the stake information. If None, the current stake at - the latest block is returned. Defaults to ``None``. - - :returns: - - An object representing the amount of Alpha (TAO ONLY if the subnet's netuid is 0) currently staked from the - specified coldkey to the specified hotkey within the given subnet. - - - - .. py:method:: get_stake_add_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block = None) - - Calculates the fee for adding new stake to a hotkey. - - :param amount: Amount of stake to add in TAO - :param netuid: Netuid of subnet - :param coldkey_ss58: SS58 address of coldkey - :param hotkey_ss58: SS58 address of hotkey - :param block: Block number at which to perform the calculation - - :returns: The calculated stake fee as a Balance object - - - - .. py:method:: get_stake_for_coldkey(coldkey_ss58, block = None) - - Retrieves the stake information for a given coldkey. - - :param coldkey_ss58: The SS58 address of the coldkey. - :type coldkey_ss58: str - :param block: The block number at which to query the stake information. - :type block: Optional[int] - - :returns: A list of StakeInfo objects, or ``None`` if no stake information is found. - :rtype: Optional[list[StakeInfo]] - - - - .. py:method:: get_stake_for_coldkey_and_hotkey(coldkey_ss58, hotkey_ss58, netuids = None, block = None) - - Retrieves all coldkey-hotkey pairing stake across specified (or all) subnets - - :param coldkey_ss58: The SS58 address of the coldkey. - :type coldkey_ss58: str - :param hotkey_ss58: The SS58 address of the hotkey. - :type hotkey_ss58: str - :param netuids: The subnet IDs to query for. Set to `None` for all subnets. - :type netuids: Optional[list[int]] - :param block: The block number at which to query the stake information. - :type block: Optional[int] - - :returns: StakeInfo} pairing of all stakes across all subnets. - :rtype: A {netuid - - - - .. py:method:: get_stake_for_hotkey(hotkey_ss58, netuid, block = None) - - Retrieves the stake information for a given hotkey. - - :param hotkey_ss58: The SS58 address of the hotkey. - :param netuid: The subnet ID to query for. - :param block: The block number at which to query the stake information. Do not specify if also specifying - block_hash or reuse_block - - - - .. py:attribute:: get_stake_info_for_coldkey - - - .. py:method:: get_stake_movement_fee(amount, origin_netuid, origin_hotkey_ss58, origin_coldkey_ss58, destination_netuid, destination_hotkey_ss58, destination_coldkey_ss58, block = None) - - Calculates the fee for moving stake between hotkeys/subnets/coldkeys. - - :param amount: Amount of stake to move in TAO - :param origin_netuid: Netuid of origin subnet - :param origin_hotkey_ss58: SS58 address of origin hotkey - :param origin_coldkey_ss58: SS58 address of origin coldkey - :param destination_netuid: Netuid of destination subnet - :param destination_hotkey_ss58: SS58 address of destination hotkey - :param destination_coldkey_ss58: SS58 address of destination coldkey - :param block: Block number at which to perform the calculation - - :returns: The calculated stake fee as a Balance object - - - - .. py:method:: get_stake_operations_fee(amount, netuid, block = None) - - Returns fee for any stake operation in specified subnet. - - :param amount: Amount of stake to add in Alpha/TAO. - :param netuid: Netuid of subnet. - :param block: Block number at which to perform the calculation. - - :returns: The calculated stake fee as a Balance object. - - - - .. py:method:: get_stake_weight(netuid, block = None) - - Retrieves the stake weight for all hotkeys in a given subnet. - - :param netuid: Netuid of subnet. - :param block: Block number at which to perform the calculation. - - :returns: A list of stake weights for all hotkeys in the specified subnet. - - - - .. py:method:: get_subnet_burn_cost(block = None) - - Retrieves the burn cost for registering a new subnet within the Bittensor network. This cost represents the - amount of Tao that needs to be locked or burned to establish a new subnet. - - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: The burn cost for subnet registration. - :rtype: int - - The subnet burn cost is an important economic parameter, reflecting the network's mechanisms for controlling - the proliferation of subnets and ensuring their commitment to the network's long-term viability. - - - - .. py:method:: get_subnet_hyperparameters(netuid, block = None) - - Retrieves the hyperparameters for a specific subnet within the Bittensor network. These hyperparameters define - the operational settings and rules governing the subnet's behavior. - - :param netuid: The network UID of the subnet to query. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: The subnet's hyperparameters, or `None` if not available. - - Understanding the hyperparameters is crucial for comprehending how subnets are configured and managed, and how - they interact with the network's consensus and incentive mechanisms. - - - - .. py:method:: get_subnet_info(netuid, block = None) - - Retrieves detailed information about subnet within the Bittensor network. - This function provides comprehensive data on subnet, including its characteristics and operational parameters. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - - :returns: A SubnetInfo objects, each containing detailed information about a subnet. - :rtype: SubnetInfo - - Gaining insights into the subnet's details assists in understanding the network's composition, the roles of - different subnets, and their unique features. - - - - .. py:method:: get_subnet_owner_hotkey(netuid, block = None) - - Retrieves the hotkey of the subnet owner for a given network UID. - - This function queries the subtensor network to fetch the hotkey of the owner of a subnet specified by its - netuid. If no data is found or the query fails, the function returns None. - - :param netuid: The network UID of the subnet to fetch the owner's hotkey for. - :param block: The specific block number to query the data from. - - :returns: The hotkey of the subnet owner if available; None otherwise. - - - - .. py:method:: get_subnet_price(netuid, block = None) - - Gets the current Alpha price in TAO for all subnets. - - :param netuid: The unique identifier of the subnet. - :param block: The blockchain block number for the query. - - :returns: The current Alpha price in TAO units for the specified subnet. - - - - .. py:method:: get_subnet_prices(block = None) - - Gets the current Alpha price in TAO for a specified subnet. - - :param block: The blockchain block number for the query. Default to `None`. - - :returns: - subnet unique ID - - The current Alpha price in TAO units for the specified subnet. - :rtype: dict - - - - .. py:method:: get_subnet_reveal_period_epochs(netuid, block = None) - - Retrieve the SubnetRevealPeriodEpochs hyperparameter. - - - - .. py:method:: get_subnet_validator_permits(netuid, block = None) - - Retrieves the list of validator permits for a given subnet as boolean values. - - :param netuid: The unique identifier of the subnetwork. - :param block: The blockchain block number for the query. - - :returns: A list of boolean values representing validator permits, or None if not available. - - - - .. py:method:: get_subnets(block = None) - - Retrieves the list of all subnet unique identifiers (netuids) currently present in the Bittensor network. - - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: A list of subnet netuids. - - This function provides a comprehensive view of the subnets within the Bittensor network, - offering insights into its diversity and scale. - - - - .. py:method:: get_timelocked_weight_commits(netuid, block = None, mechid = 0) - - Retrieves CRv4 weight commit information for a specific subnet. - - :param netuid: Subnet identifier. - :param block: The blockchain block number for the query. Default is ``None``. - :param mechid: Subnet mechanism identifier. - - :returns: - ss58_address: The address of the committer. - - commit_block: The block number when the commitment was made. - - commit_message: The commit message. - - reveal_round: The round when the commitment was revealed. - - The list may be empty if there are no commits found. - :rtype: A list of commit details, where each item contains - - - - .. py:method:: get_timestamp(block = None) - - Retrieves the datetime timestamp for a given block - - :param block: The blockchain block number for the query. - - :returns: datetime object for the timestamp of the block - - - - .. py:method:: get_total_subnets(block = None) - - Retrieves the total number of subnets within the Bittensor network as of a specific blockchain block. - - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: The total number of subnets in the network. - :rtype: Optional[str] - - Understanding the total number of subnets is essential for assessing the network's growth and the extent of its - decentralized infrastructure. - - - - .. py:method:: get_transfer_fee(wallet, dest, value, keep_alive = True) - - Calculates the transaction fee for transferring tokens from a wallet to a specified destination address. This - function simulates the transfer to estimate the associated cost, taking into account the current network - conditions and transaction complexity. - - :param wallet: The wallet from which the transfer is initiated. - :type wallet: bittensor_wallet.Wallet - :param dest: The ``SS58`` address of the destination account. - :type dest: str - :param value: The amount of tokens to be transferred, - specified as a Balance object, or in Tao (float) or Rao (int) units. - :type value: Union[bittensor.utils.balance.Balance, float, int] - :param keep_alive: Whether the transfer fee should be calculated based on keeping the wallet alive (existential - deposit) or not. - - :returns: - - The estimated transaction fee for the transfer, represented as a Balance - object. - :rtype: bittensor.utils.balance.Balance - - Estimating the transfer fee is essential for planning and executing token transactions, ensuring that the wallet - has sufficient funds to cover both the transfer amount and the associated costs. This function provides a - crucial tool for managing financial operations within the Bittensor network. - - - - .. py:method:: get_uid_for_hotkey_on_subnet(hotkey_ss58, netuid, block = None) - - Retrieves the unique identifier (UID) for a neuron's hotkey on a specific subnet. - - :param hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - :type hotkey_ss58: str - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: The UID of the neuron if it is registered on the subnet, ``None`` otherwise. - :rtype: Optional[int] - - The UID is a critical identifier within the network, linking the neuron's hotkey to its operational and - governance activities on a particular subnet. - - - - .. py:method:: get_unstake_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block = None) - - Calculates the fee for unstaking from a hotkey. - - :param amount: Amount of stake to unstake in TAO - :param netuid: Netuid of subnet - :param coldkey_ss58: SS58 address of coldkey - :param hotkey_ss58: SS58 address of hotkey - :param block: Block number at which to perform the calculation - - :returns: The calculated stake fee as a Balance object - - - - .. py:method:: get_vote_data(proposal_hash, block = None) - - Retrieves the voting data for a specific proposal on the Bittensor blockchain. This data includes information - about how senate members have voted on the proposal. - - :param proposal_hash: The hash of the proposal for which voting data is requested. - :type proposal_hash: str - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: An object containing the proposal's voting data, or `None` if not found. - - This function is important for tracking and understanding the decision-making processes within the Bittensor - network, particularly how proposals are received and acted upon by the governing body. - - - - .. py:method:: immunity_period(netuid, block = None) - - Retrieves the 'ImmunityPeriod' hyperparameter for a specific subnet. This parameter defines the duration during - which new neurons are protected from certain network penalties or restrictions. - - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: The value of the 'ImmunityPeriod' hyperparameter if the subnet exists, ``None`` otherwise. - :rtype: Optional[int] - - The 'ImmunityPeriod' is a critical aspect of the network's governance system, ensuring that new participants - have a grace period to establish themselves and contribute to the network without facing immediate - punitive actions. - - - - .. py:method:: is_fast_blocks() - - Returns True if the node is running with fast blocks. False if not. - - - - .. py:method:: is_hotkey_delegate(hotkey_ss58, block = None) - - Determines whether a given hotkey (public key) is a delegate on the Bittensor network. This function checks if - the neuron associated with the hotkey is part of the network's delegation system. - - :param hotkey_ss58: The SS58 address of the neuron's hotkey. - :type hotkey_ss58: str - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: `True` if the hotkey is a delegate, `False` otherwise. - - Being a delegate is a significant status within the Bittensor network, indicating a neuron's involvement in - consensus and governance processes. - - - - .. py:method:: is_hotkey_registered(hotkey_ss58, netuid = None, block = None) - - Determines whether a given hotkey (public key) is registered in the Bittensor network, either globally across - any subnet or specifically on a specified subnet. This function checks the registration status of a neuron - identified by its hotkey, which is crucial for validating its participation and activities within the - network. - - :param hotkey_ss58: The SS58 address of the neuron's hotkey. - :param netuid: The unique identifier of the subnet to check the registration. If `None`, the - registration is checked across all subnets. - :param block: The blockchain block number at which to perform the query. - - :returns: - - `True` if the hotkey is registered in the specified context (either any subnet or a specific subnet), - `False` otherwise. - :rtype: bool - - This function is important for verifying the active status of neurons in the Bittensor network. It aids in - understanding whether a neuron is eligible to participate in network processes such as consensus, - validation, and incentive distribution based on its registration status. - - - - .. py:method:: is_hotkey_registered_any(hotkey_ss58, block = None) - - Checks if a neuron's hotkey is registered on any subnet within the Bittensor network. - - :param hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - :type hotkey_ss58: str - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: ``True`` if the hotkey is registered on any subnet, False otherwise. - :rtype: bool - - This function is essential for determining the network-wide presence and participation of a neuron. - - - - .. py:method:: is_hotkey_registered_on_subnet(hotkey_ss58, netuid, block = None) - - Checks if the hotkey is registered on a given netuid. - - - - .. py:method:: is_in_admin_freeze_window(netuid, block = None) - - Returns True if the current block is within the terminal freeze window of the tempo - for the given subnet. During this window, admin ops are prohibited to avoid interference - with validator weight submissions. - - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: True if in freeze window, else False. - :rtype: bool - - - - .. py:method:: is_subnet_active(netuid, block = None) - - Verify if subnet with provided netuid is active. - - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: True if subnet is active, False otherwise. - - This means whether the `start_call` was initiated or not. - - - - .. py:method:: last_drand_round() - - Retrieves the last drand round emitted in bittensor. This corresponds when committed weights will be revealed. - - :returns: The latest Drand round emitted in bittensor. - :rtype: int - - - - .. py:attribute:: log_verbose - :value: False - - - - .. py:method:: max_weight_limit(netuid, block = None) - - Returns network MaxWeightsLimit hyperparameter. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: - - The value of the MaxWeightsLimit hyperparameter, or ``None`` if the subnetwork does not - exist or the parameter is not found. - :rtype: Optional[float] - - - - .. py:method:: metagraph(netuid, lite = True, block = None, mechid = 0) - - Returns a synced metagraph for a specified subnet within the Bittensor network. - The metagraph represents the network's structure, including neuron connections and interactions. - - :param netuid: The network UID of the subnet to query. - :param lite: If true, returns a metagraph using a lightweight sync (no weights, no bonds). - :param block: Block number for synchronization, or `None` for the latest block. - :param mechid: Subnet mechanism identifier. - - :returns: The metagraph representing the subnet's structure and neuron relationships. - - The metagraph is an essential tool for understanding the topology and dynamics of the Bittensor network's - decentralized architecture, particularly in relation to neuron interconnectivity and consensus processes. - - - - .. py:method:: min_allowed_weights(netuid, block = None) - - Returns network MinAllowedWeights hyperparameter. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: - - The value of the MinAllowedWeights hyperparameter, or ``None`` if the subnetwork does not - exist or the parameter is not found. - :rtype: Optional[int] - - - - .. py:method:: modify_liquidity(wallet, netuid, position_id, liquidity_delta, hotkey = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Modifies liquidity in liquidity position by adding or removing liquidity from it. - - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param position_id: The id of the position record in the pool. - :param liquidity_delta: The amount of liquidity to be added or removed (add if positive or remove if negative). - :param hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to - `None`. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - .. admonition:: Example - - import bittensor as bt - - subtensor = bt.subtensor(network="local") - my_wallet = bt.Wallet() - - # if `liquidity_delta` is negative - my_liquidity_delta = Balance.from_tao(100) * -1 - - subtensor.modify_liquidity( - wallet=my_wallet, - netuid=123, - position_id=2, - liquidity_delta=my_liquidity_delta - ) - - # if `liquidity_delta` is positive - my_liquidity_delta = Balance.from_tao(120) - - subtensor.modify_liquidity( - wallet=my_wallet, - netuid=123, - position_id=2, - liquidity_delta=my_liquidity_delta - ) - - Note: Modifying is allowed even when user liquidity is enabled in specified subnet. Call `toggle_user_liquidity` - to enable/disable user liquidity. - - - - .. py:method:: move_stake(wallet, origin_hotkey, origin_netuid, destination_hotkey, destination_netuid, amount = None, wait_for_inclusion = True, wait_for_finalization = False, period = None, move_all_stake = False) - - Moves stake to a different hotkey and/or subnet. - - :param wallet: The wallet to move stake from. - :type wallet: bittensor.wallet - :param origin_hotkey: The SS58 address of the source hotkey. - :type origin_hotkey: str - :param origin_netuid: The netuid of the source subnet. - :type origin_netuid: int - :param destination_hotkey: The SS58 address of the destination hotkey. - :type destination_hotkey: str - :param destination_netuid: The netuid of the destination subnet. - :type destination_netuid: int - :param amount: Amount of stake to move. - :type amount: Balance - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - :param move_all_stake: If true, moves all stake from the source hotkey to the destination hotkey. - - :returns: True if the stake movement was successful. - :rtype: success (bool) - - - - .. py:method:: neuron_for_uid(uid, netuid, block = None) - - Retrieves detailed information about a specific neuron identified by its unique identifier (UID) within a - specified subnet (netuid) of the Bittensor network. This function provides a comprehensive view of a - neuron's attributes, including its stake, rank, and operational status. - - :param uid: The unique identifier of the neuron. - :type uid: int - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: Detailed information about the neuron if found, a null neuron otherwise - - This function is crucial for analyzing individual neurons' contributions and status within a specific subnet, - offering insights into their roles in the network's consensus and validation mechanisms. - - - - .. py:method:: neurons(netuid, block = None) - - Retrieves a list of all neurons within a specified subnet of the Bittensor network. - This function provides a snapshot of the subnet's neuron population, including each neuron's attributes and - network interactions. - - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: A list of NeuronInfo objects detailing each neuron's characteristics in the subnet. - - Understanding the distribution and status of neurons within a subnet is key to comprehending the network's - decentralized structure and the dynamics of its consensus and governance processes. - - - - .. py:method:: neurons_lite(netuid, block = None) - - Retrieves a list of neurons in a 'lite' format from a specific subnet of the Bittensor network. - This function provides a streamlined view of the neurons, focusing on key attributes such as stake and network - participation. - - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: A list of simplified neuron information for the subnet. - - This function offers a quick overview of the neuron population within a subnet, facilitating efficient analysis - of the network's decentralized structure and neuron dynamics. - - - - .. py:method:: query_constant(module_name, constant_name, block = None) - - Retrieves a constant from the specified module on the Bittensor blockchain. This function is used to access - fixed parameters or values defined within the blockchain's modules, which are essential for understanding - the network's configuration and rules. - - :param module_name: The name of the module containing the constant. - :param constant_name: The name of the constant to retrieve. - :param block: The blockchain block number at which to query the constant. - - :returns: The value of the constant if found, `None` otherwise. - :rtype: Optional[async_substrate_interface.types.ScaleObj] - - Constants queried through this function can include critical network parameters such as inflation rates, - consensus rules, or validation thresholds, providing a deeper understanding of the Bittensor network's - operational parameters. - - - - .. py:method:: query_identity(coldkey_ss58, block = None) - - Queries the identity of a neuron on the Bittensor blockchain using the given key. This function retrieves - detailed identity information about a specific neuron, which is a crucial aspect of the network's - decentralized identity and governance system. - - :param coldkey_ss58: The coldkey used to query the neuron's identity (technically the neuron's coldkey SS58 - address). - :type coldkey_ss58: str - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: An object containing the identity information of the neuron if found, ``None`` otherwise. - - The identity information can include various attributes such as the neuron's stake, rank, and other - network-specific details, providing insights into the neuron's role and status within the Bittensor network. - - .. note:: - - See the `Bittensor CLI documentation `_ for supported identity - parameters. - - - - .. py:method:: query_map(module, name, block = None, params = None) - - Queries map storage from any module on the Bittensor blockchain. This function retrieves data structures that - represent key-value mappings, essential for accessing complex and structured data within the blockchain - modules. - - :param module: The name of the module from which to query the map storage. - :param name: The specific storage function within the module to query. - :param block: The blockchain block number at which to perform the query. - :param params: Parameters to be passed to the query. - - :returns: A data structure representing the map storage if found, `None` otherwise. - :rtype: result - - This function is particularly useful for retrieving detailed and structured data from various blockchain - modules, offering insights into the network's state and the relationships between its different components. - - - - .. py:method:: query_map_subtensor(name, block = None, params = None) - - Queries map storage from the Subtensor module on the Bittensor blockchain. This function is designed to retrieve - a map-like data structure, which can include various neuron-specific details or network-wide attributes. - - :param name: The name of the map storage function to query. - :param block: The blockchain block number at which to perform the query. - :param params: A list of parameters to pass to the query function. - - :returns: An object containing the map-like data structure, or `None` if not found. - - This function is particularly useful for analyzing and understanding complex network structures and - relationships within the Bittensor ecosystem, such as interneuronal connections and stake distributions. - - - - .. py:method:: query_module(module, name, block = None, params = None) - - Queries any module storage on the Bittensor blockchain with the specified parameters and block number. This - function is a generic query interface that allows for flexible and diverse data retrieval from various - blockchain modules. - - :param module: The name of the module from which to query data. - :type module: str - :param name: The name of the storage function within the module. - :type name: str - :param block: The blockchain block number at which to perform the query. - :type block: Optional[int] - :param params: A list of parameters to pass to the query function. - :type params: Optional[list[object]] - - :returns: An object containing the requested data if found, `None` otherwise. - - This versatile query function is key to accessing a wide range of data and insights from different parts of the - Bittensor blockchain, enhancing the understanding and analysis of the network's state and dynamics. - - - - .. py:method:: query_runtime_api(runtime_api, method, params = None, block = None) - - Queries the runtime API of the Bittensor blockchain, providing a way to interact with the underlying runtime and - retrieve data encoded in Scale Bytes format. This function is essential for advanced users who need to - interact with specific runtime methods and decode complex data types. - - :param runtime_api: The name of the runtime API to query. - :param method: The specific method within the runtime API to call. - :param params: The parameters to pass to the method call. - :param block: the block number for this query. - - :returns: The Scale Bytes encoded result from the runtime API call, or `None` if the call fails. - - This function enables access to the deeper layers of the Bittensor blockchain, allowing for detailed and - specific interactions with the network's runtime environment. - - - - .. py:method:: query_subtensor(name, block = None, params = None) - - Queries named storage from the Subtensor module on the Bittensor blockchain. This function is used to retrieve - specific data or parameters from the blockchain, such as stake, rank, or other neuron-specific attributes. - - :param name: The name of the storage function to query. - :param block: The blockchain block number at which to perform the query. - :param params: A list of parameters to pass to the query function. - - :returns: An object containing the requested data. - :rtype: query_response - - This query function is essential for accessing detailed information about the network and its neurons, providing - valuable insights into the state and dynamics of the Bittensor ecosystem. - - - - .. py:method:: recycle(netuid, block = None) - - Retrieves the 'Burn' hyperparameter for a specified subnet. The 'Burn' parameter represents the amount of Tao - that is effectively recycled within the Bittensor network. - - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: The value of the 'Burn' hyperparameter if the subnet exists, None otherwise. - :rtype: Optional[Balance] - - Understanding the 'Burn' rate is essential for analyzing the network registration usage, particularly how it is - correlated with user activity and the overall cost of participation in a given subnet. - - - - .. py:method:: register(wallet, netuid, wait_for_inclusion = False, wait_for_finalization = True, max_allowed_attempts = 3, output_in_place = True, cuda = False, dev_id = 0, tpb = 256, num_processes = None, update_interval = None, log_verbose = False, period = None) - - Registers a neuron on the Bittensor network using the provided wallet. - - Registration is a critical step for a neuron to become an active participant in the network, enabling it to - stake, set weights, and receive incentives. - - :param wallet: The wallet associated with the neuron to be registered. - :type wallet: bittensor_wallet.Wallet - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to `False`. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Defaults to - `True`. - :type wait_for_finalization: bool - :param max_allowed_attempts: Maximum number of attempts to register the wallet. - :type max_allowed_attempts: int - :param output_in_place: If true, prints the progress of the proof of work to the console in-place. Meaning - the progress is printed on the same lines. Defaults to `True`. - :type output_in_place: bool - :param cuda: If ``true``, the wallet should be registered using CUDA device(s). Defaults to `False`. - :type cuda: bool - :param dev_id: The CUDA device id to use, or a list of device ids. Defaults to `0` (zero). - :type dev_id: Union[List[int], int] - :param tpb: The number of threads per block (CUDA). Default to `256`. - :type tpb: int - :param num_processes: The number of processes to use to register. Default to `None`. - :type num_processes: Optional[int] - :param update_interval: The number of nonces to solve between updates. Default to `None`. - :type update_interval: Optional[int] - :param log_verbose: If ``true``, the registration process will log more information. Default to `False`. - :type log_verbose: bool - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: ``True`` if the registration is successful, False otherwise. - :rtype: bool - - This function facilitates the entry of new neurons into the network, supporting the decentralized - growth and scalability of the Bittensor ecosystem. - - - - .. py:method:: register_subnet(wallet, wait_for_inclusion = False, wait_for_finalization = True, period = None) - - Registers a new subnetwork on the Bittensor network. - - :param wallet: The wallet to be used for subnet registration. - :type wallet: bittensor_wallet.Wallet - :param wait_for_inclusion: If set, waits for the extrinsic to enter a block before returning `True`, or - returns `False` if the extrinsic fails to enter the block within the timeout. Default is `False`. - :type wait_for_inclusion: bool - :param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning - `True`, or returns `False` if the extrinsic fails to be finalized within the timeout. Default is `True`. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: True if the subnet registration was successful, False otherwise. - :rtype: bool - - - - .. py:method:: remove_liquidity(wallet, netuid, position_id, hotkey = None, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Remove liquidity and credit balances back to wallet's hotkey stake. - - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param position_id: The id of the position record in the pool. - :param hotkey: The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to - `None`. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - .. note:: - - - Adding is allowed even when user liquidity is enabled in specified subnet. Call `toggle_user_liquidity` - extrinsic to enable/disable user liquidity. - - To get the `position_id` use `get_liquidity_list` method. - - - - .. py:method:: reveal_weights(wallet, netuid, uids, weights, salt, version_key = version_as_int, wait_for_inclusion = False, wait_for_finalization = False, max_retries = 5, period = 16, mechid = 0) - - Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet. - This action serves as a revelation of the neuron's previously committed weight distribution. - - :param wallet: Bittensor Wallet instance. - :param netuid: The unique identifier of the subnet. - :param uids: NumPy array of neuron UIDs for which weights are being revealed. - :param weights: NumPy array of weight values corresponding to each UID. - :param salt: NumPy array of salt values corresponding to the hash function. - :param version_key: Version key for compatibility with the network. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param max_retries: The number of maximum attempts to reveal weights. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - :param mechid: The subnet mechanism unique identifier. - - :returns: `True` if the extrinsic executed successfully, `False` otherwise. - `message` is a string value describing the success or potential error. - :rtype: tuple[bool, str] - - This function allows neurons to reveal their previously committed weight distribution, ensuring transparency and - accountability within the Bittensor network. - - See also: , - - - - .. py:method:: root_register(wallet, wait_for_inclusion = False, wait_for_finalization = True, period = None) - - Register neuron by recycling some TAO. - - :param wallet: Bittensor wallet instance. - :type wallet: bittensor_wallet.Wallet - :param wait_for_inclusion: Waits for the transaction to be included in a block. Default is ``False``. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is - ``False``. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: `True` if registration was successful, otherwise `False`. - - - - .. py:method:: root_set_pending_childkey_cooldown(wallet, cooldown, wait_for_inclusion = True, wait_for_finalization = True, period = None) - - Sets the pending childkey cooldown. - - :param wallet: bittensor wallet instance. - :param cooldown: the number of blocks to setting pending childkey cooldown. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Default is ``False``. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is - ``False``. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - A tuple where the first element is a boolean indicating success or failure of the - operation, and the second element is a message providing additional information. - :rtype: tuple[bool, str] - - Note: This operation can only be successfully performed if your wallet has root privileges. - - - - .. py:method:: root_set_weights(wallet, netuids, weights, version_key = 0, wait_for_inclusion = False, wait_for_finalization = False, period = None) - - Set weights for the root network. - - :param wallet: bittensor wallet instance. - :type wallet: bittensor_wallet.Wallet - :param netuids: The list of subnet uids. - :type netuids: list[int] - :param weights: The list of weights to be set. - :type weights: list[float] - :param version_key: Version key for compatibility with the network. Default is ``0``. - :type version_key: int, optional - :param wait_for_inclusion: Waits for the transaction to be included in a block. Defaults to - ``False``. - :type wait_for_inclusion: bool, optional - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - Defaults to ``False``. - :type wait_for_finalization: bool, optional - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: `True` if the setting of weights is successful, `False` otherwise. - - - - .. py:method:: serve_axon(netuid, axon, wait_for_inclusion = False, wait_for_finalization = True, certificate = None, period = None) - - Registers an ``Axon`` serving endpoint on the Bittensor network for a specific neuron. This function is used to - set up the Axon, a key component of a neuron that handles incoming queries and data processing tasks. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param axon: The Axon instance to be registered for serving. - :type axon: bittensor.core.axon.Axon - :param wait_for_inclusion: Waits for the transaction to be included in a block. Default is ``False``. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is - ``True``. - :type wait_for_finalization: bool - :param certificate: Certificate to use for TLS. If ``None``, no TLS will be used. - Defaults to ``None``. - :type certificate: bittensor.utils.Certificate - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: ``True`` if the Axon serve registration is successful, False otherwise. - :rtype: bool - - By registering an Axon, the neuron becomes an active part of the network's distributed computing infrastructure, - contributing to the collective intelligence of Bittensor. - - - - .. py:method:: set_children(wallet, hotkey, netuid, children, wait_for_inclusion = True, wait_for_finalization = True, raise_error = False, period = None) - - Allows a coldkey to set children-keys. - - :param wallet: bittensor wallet instance. - :param hotkey: The ``SS58`` address of the neuron's hotkey. - :param netuid: The netuid value. - :param children: A list of children with their proportions. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - - :returns: - - A tuple where the first element is a boolean indicating success or failure of the - operation, and the second element is a message providing additional information. - :rtype: tuple[bool, str] - - - - .. py:attribute:: set_commitment - - - .. py:method:: set_delegate_take(wallet, hotkey_ss58, take, wait_for_inclusion = True, wait_for_finalization = True, raise_error = False, period = None) - - Sets the delegate 'take' percentage for a neuron identified by its hotkey. - The 'take' represents the percentage of rewards that the delegate claims from its nominators' stakes. - - :param wallet: bittensor wallet instance. - :type wallet: bittensor_wallet.Wallet - :param hotkey_ss58: The ``SS58`` address of the neuron's hotkey. - :type hotkey_ss58: str - :param take: Percentage reward for the delegate. - :type take: float - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :type wait_for_finalization: bool - :param raise_error: Raises a relevant exception rather than returning `False` if unsuccessful. - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - A tuple where the first element is a boolean indicating success or failure of the - operation, and the second element is a message providing additional information. - :rtype: tuple[bool, str] - - :raises DelegateTakeTooHigh: Delegate take is too high. - :raises DelegateTakeTooLow: Delegate take is too low. - :raises DelegateTxRateLimitExceeded: A transactor exceeded the rate limit for delegate transaction. - :raises HotKeyAccountNotExists: The hotkey does not exist. - :raises NonAssociatedColdKey: Request to stake, unstake, or subscribe is made by a coldkey that is not associated - with the hotkey account. - :raises bittensor_wallet.errors.PasswordError: Decryption failed or wrong password for decryption provided. - :raises bittensor_wallet.errors.KeyFileError: Failed to decode keyfile data. - - The delegate take is a critical parameter in the network's incentive structure, influencing the distribution of - rewards among neurons and their nominators. - - - - .. py:method:: set_reveal_commitment(wallet, netuid, data, blocks_until_reveal = 360, block_time = 12, period = None) - - Commits arbitrary data to the Bittensor network by publishing metadata. - - :param wallet: The wallet associated with the neuron committing the data. - :type wallet: bittensor_wallet.Wallet - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param data: The data to be committed to the network. - :type data: str - :param blocks_until_reveal: The number of blocks from now after which the data will be revealed. Defaults to - `360`. Then number of blocks in one epoch. - :type blocks_until_reveal: int - :param block_time: The number of seconds between each block. Defaults to `12`. - :type block_time: Union[int, float] - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: `True` if the commitment was successful, `False` otherwise. - :rtype: bool - - Note: A commitment can be set once per subnet epoch and is reset at the next epoch in the chain automatically. - - - - .. py:method:: set_subnet_identity(wallet, netuid, subnet_identity, wait_for_inclusion = False, wait_for_finalization = True, period = None) - - Sets the identity of a subnet for a specific wallet and network. - - :param wallet: The wallet instance that will authorize the transaction. - :type wallet: Wallet - :param netuid: The unique ID of the network on which the operation takes place. - :type netuid: int - :param subnet_identity: The identity data of the subnet including attributes like name, GitHub - repository, contact, URL, discord, description, and any additional metadata. - :type subnet_identity: SubnetIdentity - :param wait_for_inclusion: Indicates if the function should wait for the transaction to be included in the - block. - :type wait_for_inclusion: bool - :param wait_for_finalization: Indicates if the function should wait for the transaction to reach - finalization. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - - A tuple where the first element is a boolean indicating success or failure of the - operation, and the second element is a message providing additional information. - :rtype: tuple[bool, str] - - - - .. py:method:: set_weights(wallet, netuid, uids, weights, version_key = version_as_int, wait_for_inclusion = False, wait_for_finalization = False, max_retries = 5, block_time = 12.0, period = 8, mechid = 0, commit_reveal_version = 4) - - Sets the interneuronal weights for the specified neuron. This process involves specifying the influence or - trust a neuron places on other neurons in the network, which is a fundamental aspect of Bittensor's - decentralized learning architecture. - - :param wallet: The wallet associated with the neuron setting the weights. - :param netuid: The unique identifier of the subnet. - :param uids: The list of neuron UIDs that the weights are being set for. - :param weights: The corresponding weights to be set for each UID. - :param version_key: Version key for compatibility with the network. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param max_retries: The number of maximum attempts to set weights. - :param block_time: The number of seconds for block duration. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. - :param mechid: The subnet mechanism unique identifier. - :param commit_reveal_version: The version of the commit-reveal in the chain. - - :returns: `True` if the setting of weights is successful, `False` otherwise. - `msg` is a string value describing the success or potential error. - :rtype: tuple - - This function is crucial in the Yuma Consensus mechanism, where each validator's weight vector contributes to - the overall weight matrix used to calculate emissions and maintain network consensus. - - .. admonition:: Notes - - See - - - - .. py:method:: sign_and_send_extrinsic(call, wallet, wait_for_inclusion = True, wait_for_finalization = False, sign_with = 'coldkey', use_nonce = False, period = None, nonce_key = 'hotkey', raise_error = False) - - Helper method to sign and submit an extrinsic call to chain. - - :param call: a prepared Call object - :type call: scalecodec.types.GenericCall - :param wallet: the wallet whose coldkey will be used to sign the extrinsic - :type wallet: bittensor_wallet.Wallet - :param wait_for_inclusion: whether to wait until the extrinsic call is included on the chain - :type wait_for_inclusion: bool - :param wait_for_finalization: whether to wait until the extrinsic call is finalized on the chain - :type wait_for_finalization: bool - :param sign_with: the wallet's keypair to use for the signing. Options are "coldkey", "hotkey", "coldkeypub" - :type sign_with: str - :param use_nonce: unique identifier for the transaction related with hot/coldkey. - :type use_nonce: bool - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - :param nonce_key: the type on nonce to use. Options are "hotkey" or "coldkey". - :param raise_error: raises the relevant exception rather than returning `False` if unsuccessful. - - :returns: (success, error message) - - :raises SubstrateRequestException: Substrate request exception. - - - - .. py:method:: start_call(wallet, netuid, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start - a new subnet's emission mechanism). - - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :type wallet: Wallet - :param netuid: The UID of the target subnet for which the call is being initiated. - :type netuid: int - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. - Defaults to `True`. - :type wait_for_inclusion: bool, optional - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. - Defaults to `False`. - :type wait_for_finalization: bool, optional - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - - - .. py:method:: state_call(method, data, block = None) - - Makes a state call to the Bittensor blockchain, allowing for direct queries of the blockchain's state. This - function is typically used for advanced queries that require specific method calls and data inputs. - - :param method: The method name for the state call. - :param data: The data to be passed to the method. - :param block: The blockchain block number at which to perform the state call. - - :returns: The result of the rpc call. - :rtype: result (dict[Any, Any]) - - The state call function provides a more direct and flexible way of querying blockchain data, useful for specific - use cases where standard queries are insufficient. - - - - .. py:method:: subnet(netuid, block = None) - - Retrieves the subnet information for a single subnet in the network. - - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The block number to query the subnet information from. - :type block: Optional[int] - - :returns: A DynamicInfo object, containing detailed information about a subnet. - :rtype: Optional[DynamicInfo] - - - - .. py:method:: subnet_exists(netuid, block = None) - - Checks if a subnet with the specified unique identifier (netuid) exists within the Bittensor network. - - :param netuid: The unique identifier of the subnet. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: `True` if the subnet exists, `False` otherwise. - - This function is critical for verifying the presence of specific subnets in the network, - enabling a deeper understanding of the network's structure and composition. - - - - .. py:method:: subnetwork_n(netuid, block = None) - - Returns network SubnetworkN hyperparameter. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: - - The value of the SubnetworkN hyperparameter, or ``None`` if the subnetwork does not exist or - the parameter is not found. - :rtype: Optional[int] - - - - .. py:attribute:: substrate - - - .. py:method:: swap_stake(wallet, hotkey_ss58, origin_netuid, destination_netuid, amount, wait_for_inclusion = True, wait_for_finalization = False, safe_staking = False, allow_partial_stake = False, rate_tolerance = 0.005, period = None) - - Moves stake between subnets while keeping the same coldkey-hotkey pair ownership. - Like subnet hopping - same owner, same hotkey, just changing which subnet the stake is in. - - :param wallet: The wallet to swap stake from. - :type wallet: bittensor.wallet - :param hotkey_ss58: The SS58 address of the hotkey whose stake is being swapped. - :type hotkey_ss58: str - :param origin_netuid: The netuid from which stake is removed. - :type origin_netuid: int - :param destination_netuid: The netuid to which stake is added. - :type destination_netuid: int - :param amount: The amount to swap. - :type amount: Union[Balance, float] - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :type wait_for_finalization: bool - :param safe_staking: If true, enables price safety checks to protect against fluctuating prices. The swap - will only execute if the price ratio between subnets doesn't exceed the rate tolerance. - Default is False. - :type safe_staking: bool - :param allow_partial_stake: If true and safe_staking is enabled, allows partial stake swaps when - the full amount would exceed the price tolerance. If false, the entire swap fails if it would - exceed the tolerance. Default is False. - :type allow_partial_stake: bool - :param rate_tolerance: The maximum allowed increase in the price ratio between subnets - (origin_price/destination_price). For example, 0.005 = 0.5% maximum increase. Only used - when safe_staking is True. Default is 0.005. - :type rate_tolerance: float - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: True if the extrinsic was successful. - :rtype: success (bool) - - The price ratio for swap_stake in safe mode is calculated as: origin_subnet_price / destination_subnet_price - When safe_staking is enabled, the swap will only execute if: - - With allow_partial_stake=False: The entire swap amount can be executed without the price ratio - increasing more than rate_tolerance - - With allow_partial_stake=True: A partial amount will be swapped up to the point where the - price ratio would increase by rate_tolerance - - - - .. py:method:: tempo(netuid, block = None) - - Returns network Tempo hyperparameter. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: - - The value of the Tempo hyperparameter, or ``None`` if the subnetwork does not exist or the - parameter is not found. - :rtype: Optional[int] - - - - .. py:method:: toggle_user_liquidity(wallet, netuid, enable, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Allow to toggle user liquidity for specified subnet. - - :param wallet: The wallet used to sign the extrinsic (must be unlocked). - :param netuid: The UID of the target subnet for which the call is being initiated. - :param enable: Boolean indicating whether to enable user liquidity. - :param wait_for_inclusion: Whether to wait for the extrinsic to be included in a block. Defaults to True. - :param wait_for_finalization: Whether to wait for finalization of the extrinsic. Defaults to False. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If - the transaction is not included in a block within that number of blocks, it will expire and be rejected. - You can think of it as an expiration date for the transaction. - - :returns: - True and a success message if the extrinsic is successfully submitted or processed. - - False and an error message if the submission fails or the wallet cannot be unlocked. - :rtype: Tuple[bool, str] - - Note: The call can be executed successfully by the subnet owner only. - - - - .. py:method:: transfer(wallet, dest, amount, wait_for_inclusion = True, wait_for_finalization = False, transfer_all = False, keep_alive = True, period = None) - - Transfer token of amount to destination. - - :param wallet: Source wallet for the transfer. - :type wallet: bittensor_wallet.Wallet - :param dest: Destination address for the transfer. - :type dest: str - :param amount: Amount of tao to transfer. - :type amount: float - :param transfer_all: Flag to transfer all tokens. Default is ``False``. - :type transfer_all: bool - :param wait_for_inclusion: Waits for the transaction to be included in a block. Default is ``True``. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is - ``False``. - :type wait_for_finalization: bool - :param keep_alive: Flag to keep the connection alive. Default is ``True``. - :type keep_alive: bool - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: `True` if the transferring was successful, otherwise `False`. - - - - .. py:method:: transfer_stake(wallet, destination_coldkey_ss58, hotkey_ss58, origin_netuid, destination_netuid, amount, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Transfers stake from one subnet to another while changing the coldkey owner. - - :param wallet: The wallet to transfer stake from. - :type wallet: bittensor.wallet - :param destination_coldkey_ss58: The destination coldkey SS58 address. - :type destination_coldkey_ss58: str - :param hotkey_ss58: The hotkey SS58 address associated with the stake. - :type hotkey_ss58: str - :param origin_netuid: The source subnet UID. - :type origin_netuid: int - :param destination_netuid: The destination subnet UID. - :type destination_netuid: int - :param amount: Amount to transfer. - :type amount: Union[Balance, float, int] - :param wait_for_inclusion: If true, waits for inclusion before returning. - :type wait_for_inclusion: bool - :param wait_for_finalization: If true, waits for finalization before returning. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - - :returns: True if the transfer was successful. - :rtype: success (bool) - - - - .. py:method:: tx_rate_limit(block = None) - - Retrieves the transaction rate limit for the Bittensor network as of a specific blockchain block. - This rate limit sets the maximum number of transactions that can be processed within a given time frame. - - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: The transaction rate limit of the network, None if not available. - :rtype: Optional[int] - - The transaction rate limit is an essential parameter for ensuring the stability and scalability of the Bittensor - network. It helps in managing network load and preventing congestion, thereby maintaining efficient and - timely transaction processing. - - - - .. py:method:: unstake(wallet, hotkey_ss58 = None, netuid = None, amount = None, wait_for_inclusion = True, wait_for_finalization = False, safe_staking = False, allow_partial_stake = False, rate_tolerance = 0.005, period = None, unstake_all = False) - - Removes a specified amount of stake from a single hotkey account. This function is critical for adjusting - individual neuron stakes within the Bittensor network. - - :param wallet: The wallet associated with the neuron from which the stake is being removed. - :param hotkey_ss58: The ``SS58`` address of the hotkey account to unstake from. - :param netuid: The unique identifier of the subnet. - :param amount: The amount of alpha to unstake. If not specified, unstakes all. Alpha amount. - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :param safe_staking: If true, enables price safety checks to protect against fluctuating prices. The unstake - will only execute if the price change doesn't exceed the rate tolerance. Default is False. - :param allow_partial_stake: If true and safe_staking is enabled, allows partial unstaking when - the full amount would exceed the price tolerance. If false, the entire unstake fails if it would - exceed the tolerance. Default is False. - :type allow_partial_stake: bool - :param rate_tolerance: The maximum allowed price change ratio when unstaking. For example, - 0.005 = 0.5% maximum price decrease. Only used when safe_staking is True. Default is 0.005. - :type rate_tolerance: float - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - :param unstake_all: If `True`, unstakes all tokens, and `amount` is ignored. Default is `False`. - - :returns: ``True`` if the unstaking process is successful, False otherwise. - :rtype: bool - - This function supports flexible stake management, allowing neurons to adjust their network participation and - potential reward accruals. When safe_staking is enabled, it provides protection against price fluctuations - during the time unstake is executed and the time it is actually processed by the chain. - - - - .. py:method:: unstake_all(wallet, hotkey, netuid, rate_tolerance = 0.005, wait_for_inclusion = True, wait_for_finalization = False, period = None) - - Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network. - - :param wallet: The wallet of the stake owner. - :param hotkey: The SS58 address of the hotkey to unstake from. - :param netuid: The unique identifier of the subnet. - :param rate_tolerance: The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum - price decrease. If not passed (None), then unstaking goes without price limit. Default is 0.005. - :param wait_for_inclusion: Waits for the transaction to be included in a block. Default is `True`. - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. Default is `False`. - :param period: The number of blocks during which the transaction will remain valid after it's submitted. If the - transaction is not included in a block within that number of blocks, it will expire and be rejected. You - can think of it as an expiration date for the transaction. Default is `None`. - - :returns: A tuple containing: - - `True` and a success message if the unstake operation succeeded; - - `False` and an error message otherwise. - :rtype: tuple[bool, str] - - .. admonition:: Example - - # If you would like to unstake all stakes in all subnets safely: - import bittensor as bt - - subtensor = bt.Subtensor() - wallet = bt.Wallet("my_wallet") - netuid = 14 - hotkey = "5%SOME_HOTKEY%" - - wallet_stakes = subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address) - - for stake in wallet_stakes: - result = subtensor.unstake_all( - wallet=wallet, - hotkey_ss58=stake.hotkey_ss58, - netuid=stake.netuid, - ) - print(result) - - # If you would like to unstake all stakes in all subnets unsafely, use `rate_tolerance=None`: - import bittensor as bt - - subtensor = bt.AsyncSubtensor() - wallet = bt.Wallet("my_wallet") - netuid = 14 - hotkey = "5%SOME_HOTKEY_WHERE_IS_YOUR_STAKE_NOW%" - - wallet_stakes = await subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address) - - for stake in wallet_stakes: - result = await subtensor.unstake_all( - wallet=wallet, - hotkey_ss58=stake.hotkey_ss58, - netuid=stake.netuid, - rate_tolerance=None, - ) - print(result) - - - - .. py:method:: unstake_multiple(wallet, hotkey_ss58s, netuids, amounts = None, wait_for_inclusion = True, wait_for_finalization = False, period = None, unstake_all = False) - - Performs batch unstaking from multiple hotkey accounts, allowing a neuron to reduce its staked amounts - efficiently. This function is useful for managing the distribution of stakes across multiple neurons. - - :param wallet: The wallet linked to the coldkey from which the stakes are being - withdrawn. - :param hotkey_ss58s: A list of hotkey ``SS58`` addresses to unstake from. - :type hotkey_ss58s: List[str] - :param netuids: The list of subnet uids. - :type netuids: List[int] - :param amounts: The amounts of TAO to unstake from each hotkey. If not provided, - unstakes all available stakes. - :type amounts: List[Balance] - :param wait_for_inclusion: Waits for the transaction to be included in a block. - :type wait_for_inclusion: bool - :param wait_for_finalization: Waits for the transaction to be finalized on the blockchain. - :type wait_for_finalization: bool - :param period: The number of blocks during which the transaction will remain valid after it's - submitted. If the transaction is not included in a block within that number of blocks, it will expire - and be rejected. You can think of it as an expiration date for the transaction. - :type period: Optional[int] - :param unstake_all: If `True`, unstakes all tokens, and `amounts` is ignored. Default is `False`. - - :returns: ``True`` if the batch unstaking is successful, False otherwise. - :rtype: bool - - This function allows for strategic reallocation or withdrawal of stakes, aligning with the dynamic stake - management aspect of the Bittensor network. - - - - .. py:method:: wait_for_block(block = None) - - Waits until a specific block is reached on the chain. If no block is specified, - waits for the next block. - - :param block: The block number to wait for. If None, waits for the next block. - :type block: Optional[int] - - :returns: True if the target block was reached, False if timeout occurred. - :rtype: bool - - .. admonition:: Example - - import bittensor as bt - subtensor = bt.Subtensor() - - subtensor.wait_for_block() # Waits for the next block - subtensor.wait_for_block(block=1234) # Waits for a specific block - - - - .. py:method:: weights(netuid, block = None, mechid = 0) - - Retrieves the weight distribution set by neurons within a specific subnet of the Bittensor network. - This function maps each neuron's UID to the weights it assigns to other neurons, reflecting the network's trust - and value assignment mechanisms. - - :param netuid: The network UID of the subnet to query. - :type netuid: int - :param block: Block number for synchronization, or ``None`` for the latest block. - :type block: Optional[int] - :param mechid: Subnet mechanism identifier. - - :returns: A list of tuples mapping each neuron's UID to its assigned weights. - - The weight distribution is a key factor in the network's consensus algorithm and the ranking of neurons, - influencing their influence and reward allocation within the subnet. - - - - .. py:method:: weights_rate_limit(netuid, block = None) - - Returns network WeightsSetRateLimit hyperparameter. - - :param netuid: The unique identifier of the subnetwork. - :type netuid: int - :param block: The blockchain block number for the query. - :type block: Optional[int] - - :returns: - - The value of the WeightsSetRateLimit hyperparameter, or ``None`` if the subnetwork does not - exist or the parameter is not found. - :rtype: Optional[int] - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/chain/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/chain/index.rst deleted file mode 100644 index e7d9da4895..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/chain/index.rst +++ /dev/null @@ -1,61 +0,0 @@ -bittensor.core.subtensor_api.chain -================================== - -.. py:module:: bittensor.core.subtensor_api.chain - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.subtensor_api.chain.Chain - - -Module Contents ---------------- - -.. py:class:: Chain(subtensor) - - Class for managing chain state operations. - - - .. py:attribute:: get_admin_freeze_window - - - .. py:attribute:: get_block_hash - - - .. py:attribute:: get_current_block - - - .. py:attribute:: get_delegate_identities - - - .. py:attribute:: get_existential_deposit - - - .. py:attribute:: get_minimum_required_stake - - - .. py:attribute:: get_timestamp - - - .. py:attribute:: get_vote_data - - - .. py:attribute:: is_fast_blocks - - - .. py:attribute:: is_in_admin_freeze_window - - - .. py:attribute:: last_drand_round - - - .. py:attribute:: state_call - - - .. py:attribute:: tx_rate_limit - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/commitments/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/commitments/index.rst deleted file mode 100644 index 1b64775799..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/commitments/index.rst +++ /dev/null @@ -1,58 +0,0 @@ -bittensor.core.subtensor_api.commitments -======================================== - -.. py:module:: bittensor.core.subtensor_api.commitments - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.subtensor_api.commitments.Commitments - - -Module Contents ---------------- - -.. py:class:: Commitments(subtensor) - - Class for managing any commitment operations. - - - .. py:attribute:: commit_reveal_enabled - - - .. py:attribute:: get_all_commitments - - - .. py:attribute:: get_all_revealed_commitments - - - .. py:attribute:: get_commitment - - - .. py:attribute:: get_current_weight_commit_info - - - .. py:attribute:: get_current_weight_commit_info_v2 - - - .. py:attribute:: get_last_commitment_bonds_reset_block - - - .. py:attribute:: get_revealed_commitment - - - .. py:attribute:: get_revealed_commitment_by_hotkey - - - .. py:attribute:: get_timelocked_weight_commits - - - .. py:attribute:: set_commitment - - - .. py:attribute:: set_reveal_commitment - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/delegates/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/delegates/index.rst deleted file mode 100644 index 357d7e7f61..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/delegates/index.rst +++ /dev/null @@ -1,43 +0,0 @@ -bittensor.core.subtensor_api.delegates -====================================== - -.. py:module:: bittensor.core.subtensor_api.delegates - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.subtensor_api.delegates.Delegates - - -Module Contents ---------------- - -.. py:class:: Delegates(subtensor) - - Class for managing delegate operations. - - - .. py:attribute:: get_delegate_by_hotkey - - - .. py:attribute:: get_delegate_identities - - - .. py:attribute:: get_delegate_take - - - .. py:attribute:: get_delegated - - - .. py:attribute:: get_delegates - - - .. py:attribute:: is_hotkey_delegate - - - .. py:attribute:: set_delegate_take - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/extrinsics/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/extrinsics/index.rst deleted file mode 100644 index 51e5764e4c..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/extrinsics/index.rst +++ /dev/null @@ -1,100 +0,0 @@ -bittensor.core.subtensor_api.extrinsics -======================================= - -.. py:module:: bittensor.core.subtensor_api.extrinsics - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.subtensor_api.extrinsics.Extrinsics - - -Module Contents ---------------- - -.. py:class:: Extrinsics(subtensor) - - Class for managing extrinsic operations. - - - .. py:attribute:: add_liquidity - - - .. py:attribute:: add_stake - - - .. py:attribute:: add_stake_multiple - - - .. py:attribute:: burned_register - - - .. py:attribute:: commit_weights - - - .. py:attribute:: modify_liquidity - - - .. py:attribute:: move_stake - - - .. py:attribute:: register - - - .. py:attribute:: register_subnet - - - .. py:attribute:: remove_liquidity - - - .. py:attribute:: reveal_weights - - - .. py:attribute:: root_register - - - .. py:attribute:: root_set_pending_childkey_cooldown - - - .. py:attribute:: root_set_weights - - - .. py:attribute:: serve_axon - - - .. py:attribute:: set_children - - - .. py:attribute:: set_subnet_identity - - - .. py:attribute:: set_weights - - - .. py:attribute:: start_call - - - .. py:attribute:: swap_stake - - - .. py:attribute:: toggle_user_liquidity - - - .. py:attribute:: transfer - - - .. py:attribute:: transfer_stake - - - .. py:attribute:: unstake - - - .. py:attribute:: unstake_all - - - .. py:attribute:: unstake_multiple - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/index.rst deleted file mode 100644 index 85fb2053d9..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/index.rst +++ /dev/null @@ -1,203 +0,0 @@ -bittensor.core.subtensor_api -============================ - -.. py:module:: bittensor.core.subtensor_api - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/core/subtensor_api/chain/index - /autoapi/bittensor/core/subtensor_api/commitments/index - /autoapi/bittensor/core/subtensor_api/delegates/index - /autoapi/bittensor/core/subtensor_api/extrinsics/index - /autoapi/bittensor/core/subtensor_api/metagraphs/index - /autoapi/bittensor/core/subtensor_api/neurons/index - /autoapi/bittensor/core/subtensor_api/queries/index - /autoapi/bittensor/core/subtensor_api/staking/index - /autoapi/bittensor/core/subtensor_api/subnets/index - /autoapi/bittensor/core/subtensor_api/utils/index - /autoapi/bittensor/core/subtensor_api/wallets/index - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.subtensor_api.SubtensorApi - - -Package Contents ----------------- - -.. py:class:: SubtensorApi(network = None, config = None, async_subtensor = False, legacy_methods = False, fallback_endpoints = None, retry_forever = False, log_verbose = False, mock = False, archive_endpoints = None, websocket_shutdown_timer = 5.0) - - Subtensor API class. - - :param network: The network to connect to. Defaults to `None` -> "finney". - :param config: Bittensor configuration object. Defaults to `None`. - :param legacy_methods: If `True`, all methods from the Subtensor class will be added to the root level of this class. - :param fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. Defaults to `None`. - :param retry_forever: Whether to retry forever on connection errors. Defaults to `False`. - :param log_verbose: Enables or disables verbose logging. - :param mock: Whether this is a mock instance. Mainly just for use in testing. - :param archive_endpoints: Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases - where you are requesting a block that is too old for your current (presumably lite) node. Defaults to `None` - :param websocket_shutdown_timer: Amount of time, in seconds, to wait after the last response from the chain to close - the connection. Only applicable to AsyncSubtensor. - - .. admonition:: Example - - # sync version - import bittensor as bt - - subtensor = bt.SubtensorApi() - print(subtensor.block) - print(subtensor.delegates.get_delegate_identities()) - subtensor.chain.tx_rate_limit() - - # async version - import bittensor as bt - - subtensor = bt.SubtensorApi(async_subtensor=True) - async with subtensor: - print(await subtensor.block) - print(await subtensor.delegates.get_delegate_identities()) - print(await subtensor.chain.tx_rate_limit()) - - # using `legacy_methods` - import bittensor as bt - - subtensor = bt.SubtensorApi(legacy_methods=True) - print(subtensor.bonds(0)) - - # using `fallback_endpoints` or `retry_forever` - import bittensor as bt - - subtensor = bt.SubtensorApi( - network="finney", - fallback_endpoints=["wss://localhost:9945", "wss://some-other-endpoint:9945"], - retry_forever=True, - ) - print(subtensor.block) - - - .. py:method:: add_args(parser) - :classmethod: - - - - .. py:property:: block - - Returns current chain block number. - - - .. py:property:: chain - - Property of interaction with chain methods. - - - .. py:attribute:: chain_endpoint - :value: None - - - - .. py:attribute:: close - - - .. py:property:: commitments - - Property to access commitments methods. - - - .. py:attribute:: config - - - .. py:property:: delegates - - Property to access delegates methods. - - - .. py:attribute:: determine_block_hash - - - .. py:attribute:: encode_params - - - .. py:property:: extrinsics - - Property to access extrinsics methods. - - - .. py:attribute:: help - - - .. py:attribute:: initialize - :value: None - - - - .. py:attribute:: is_async - :value: False - - - - .. py:attribute:: log_verbose - :value: False - - - - .. py:property:: metagraphs - - Property to access metagraphs methods. - - - .. py:attribute:: network - :value: None - - - - .. py:property:: neurons - - Property to access neurons methods. - - - .. py:property:: queries - - Property to access subtensor queries methods. - - - .. py:attribute:: setup_config - - - .. py:attribute:: sign_and_send_extrinsic - - - .. py:property:: staking - - Property to access staking methods. - - - .. py:attribute:: start_call - - - .. py:property:: subnets - - Property of interaction with subnets methods. - - - .. py:attribute:: substrate - - - .. py:attribute:: wait_for_block - - - .. py:property:: wallets - - Property of interaction methods with cold/hotkeys, and balances, etc. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/metagraphs/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/metagraphs/index.rst deleted file mode 100644 index 51d1f41f2e..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/metagraphs/index.rst +++ /dev/null @@ -1,31 +0,0 @@ -bittensor.core.subtensor_api.metagraphs -======================================= - -.. py:module:: bittensor.core.subtensor_api.metagraphs - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.subtensor_api.metagraphs.Metagraphs - - -Module Contents ---------------- - -.. py:class:: Metagraphs(subtensor) - - Class for managing metagraph operations. - - - .. py:attribute:: get_all_metagraphs_info - - - .. py:attribute:: get_metagraph_info - - - .. py:attribute:: metagraph - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/neurons/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/neurons/index.rst deleted file mode 100644 index 928f5ebd0e..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/neurons/index.rst +++ /dev/null @@ -1,40 +0,0 @@ -bittensor.core.subtensor_api.neurons -==================================== - -.. py:module:: bittensor.core.subtensor_api.neurons - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.subtensor_api.neurons.Neurons - - -Module Contents ---------------- - -.. py:class:: Neurons(subtensor) - - Class for managing neuron operations. - - - .. py:attribute:: get_all_neuron_certificates - - - .. py:attribute:: get_neuron_certificate - - - .. py:attribute:: neuron_for_uid - - - .. py:attribute:: neurons - - - .. py:attribute:: neurons_lite - - - .. py:attribute:: query_identity - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/queries/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/queries/index.rst deleted file mode 100644 index 61307eddb9..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/queries/index.rst +++ /dev/null @@ -1,40 +0,0 @@ -bittensor.core.subtensor_api.queries -==================================== - -.. py:module:: bittensor.core.subtensor_api.queries - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.subtensor_api.queries.Queries - - -Module Contents ---------------- - -.. py:class:: Queries(subtensor) - - Class for managing subtensor query operations. - - - .. py:attribute:: query_constant - - - .. py:attribute:: query_map - - - .. py:attribute:: query_map_subtensor - - - .. py:attribute:: query_module - - - .. py:attribute:: query_runtime_api - - - .. py:attribute:: query_subtensor - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/staking/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/staking/index.rst deleted file mode 100644 index 0d4e7fe1cb..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/staking/index.rst +++ /dev/null @@ -1,73 +0,0 @@ -bittensor.core.subtensor_api.staking -==================================== - -.. py:module:: bittensor.core.subtensor_api.staking - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.subtensor_api.staking.Staking - - -Module Contents ---------------- - -.. py:class:: Staking(subtensor) - - Class for managing staking operations. - - - .. py:attribute:: add_stake - - - .. py:attribute:: add_stake_multiple - - - .. py:attribute:: get_hotkey_stake - - - .. py:attribute:: get_minimum_required_stake - - - .. py:attribute:: get_stake - - - .. py:attribute:: get_stake_add_fee - - - .. py:attribute:: get_stake_for_coldkey - - - .. py:attribute:: get_stake_for_coldkey_and_hotkey - - - .. py:attribute:: get_stake_info_for_coldkey - - - .. py:attribute:: get_stake_movement_fee - - - .. py:attribute:: get_stake_operations_fee - - - .. py:attribute:: get_stake_weight - - - .. py:attribute:: get_unstake_fee - - - .. py:attribute:: move_stake - - - .. py:attribute:: unstake - - - .. py:attribute:: unstake_all - - - .. py:attribute:: unstake_multiple - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/subnets/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/subnets/index.rst deleted file mode 100644 index b0e23cd6b1..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/subnets/index.rst +++ /dev/null @@ -1,148 +0,0 @@ -bittensor.core.subtensor_api.subnets -==================================== - -.. py:module:: bittensor.core.subtensor_api.subnets - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.subtensor_api.subnets.Subnets - - -Module Contents ---------------- - -.. py:class:: Subnets(subtensor) - - Class for managing subnet operations. - - - .. py:attribute:: all_subnets - - - .. py:attribute:: blocks_since_last_step - - - .. py:attribute:: blocks_since_last_update - - - .. py:attribute:: bonds - - - .. py:attribute:: commit_reveal_enabled - - - .. py:attribute:: difficulty - - - .. py:attribute:: get_all_subnets_info - - - .. py:attribute:: get_children - - - .. py:attribute:: get_children_pending - - - .. py:attribute:: get_current_weight_commit_info - - - .. py:attribute:: get_hyperparameter - - - .. py:attribute:: get_liquidity_list - - - .. py:attribute:: get_mechanism_count - - - .. py:attribute:: get_mechanism_emission_split - - - .. py:attribute:: get_neuron_for_pubkey_and_subnet - - - .. py:attribute:: get_next_epoch_start_block - - - .. py:attribute:: get_parents - - - .. py:attribute:: get_subnet_burn_cost - - - .. py:attribute:: get_subnet_hyperparameters - - - .. py:attribute:: get_subnet_info - - - .. py:attribute:: get_subnet_owner_hotkey - - - .. py:attribute:: get_subnet_price - - - .. py:attribute:: get_subnet_prices - - - .. py:attribute:: get_subnet_reveal_period_epochs - - - .. py:attribute:: get_subnet_validator_permits - - - .. py:attribute:: get_subnets - - - .. py:attribute:: get_total_subnets - - - .. py:attribute:: get_uid_for_hotkey_on_subnet - - - .. py:attribute:: immunity_period - - - .. py:attribute:: is_hotkey_registered_on_subnet - - - .. py:attribute:: is_subnet_active - - - .. py:attribute:: max_weight_limit - - - .. py:attribute:: min_allowed_weights - - - .. py:attribute:: recycle - - - .. py:attribute:: register_subnet - - - .. py:attribute:: set_subnet_identity - - - .. py:attribute:: subnet - - - .. py:attribute:: subnet_exists - - - .. py:attribute:: subnetwork_n - - - .. py:attribute:: tempo - - - .. py:attribute:: weights - - - .. py:attribute:: weights_rate_limit - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/utils/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/utils/index.rst deleted file mode 100644 index 0c5ae511da..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/utils/index.rst +++ /dev/null @@ -1,22 +0,0 @@ -bittensor.core.subtensor_api.utils -================================== - -.. py:module:: bittensor.core.subtensor_api.utils - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.subtensor_api.utils.add_legacy_methods - - -Module Contents ---------------- - -.. py:function:: add_legacy_methods(subtensor) - - If SubtensorApi get `subtensor_fields=True` arguments, then all classic Subtensor fields added to root level. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/wallets/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/wallets/index.rst deleted file mode 100644 index 9398cf2e27..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/subtensor_api/wallets/index.rst +++ /dev/null @@ -1,100 +0,0 @@ -bittensor.core.subtensor_api.wallets -==================================== - -.. py:module:: bittensor.core.subtensor_api.wallets - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.subtensor_api.wallets.Wallets - - -Module Contents ---------------- - -.. py:class:: Wallets(subtensor) - - Class for managing coldkey, hotkey, wallet operations. - - - .. py:attribute:: does_hotkey_exist - - - .. py:attribute:: filter_netuids_by_registered_hotkeys - - - .. py:attribute:: get_balance - - - .. py:attribute:: get_balances - - - .. py:attribute:: get_children - - - .. py:attribute:: get_children_pending - - - .. py:attribute:: get_delegate_by_hotkey - - - .. py:attribute:: get_delegate_take - - - .. py:attribute:: get_delegated - - - .. py:attribute:: get_hotkey_owner - - - .. py:attribute:: get_hotkey_stake - - - .. py:attribute:: get_minimum_required_stake - - - .. py:attribute:: get_netuids_for_hotkey - - - .. py:attribute:: get_owned_hotkeys - - - .. py:attribute:: get_stake - - - .. py:attribute:: get_stake_add_fee - - - .. py:attribute:: get_stake_for_coldkey - - - .. py:attribute:: get_stake_for_coldkey_and_hotkey - - - .. py:attribute:: get_stake_for_hotkey - - - .. py:attribute:: get_stake_info_for_coldkey - - - .. py:attribute:: get_stake_movement_fee - - - .. py:attribute:: get_transfer_fee - - - .. py:attribute:: get_unstake_fee - - - .. py:attribute:: is_hotkey_delegate - - - .. py:attribute:: is_hotkey_registered - - - .. py:attribute:: is_hotkey_registered_any - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/synapse/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/synapse/index.rst deleted file mode 100644 index fbb362ca00..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/synapse/index.rst +++ /dev/null @@ -1,675 +0,0 @@ -bittensor.core.synapse -====================== - -.. py:module:: bittensor.core.synapse - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.synapse.Synapse - bittensor.core.synapse.TerminalInfo - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.synapse.cast_float - bittensor.core.synapse.cast_int - bittensor.core.synapse.get_size - - -Module Contents ---------------- - -.. py:class:: Synapse(/, **data) - - Bases: :py:obj:`pydantic.BaseModel` - - - Represents a Synapse in the Bittensor network, serving as a communication schema between neurons (nodes). - - Synapses ensure the format and correctness of transmission tensors according to the Bittensor protocol. - Each Synapse type is tailored for a specific machine learning (ML) task, following unique compression and - communication processes. This helps maintain sanitized, correct, and useful information flow across the network. - - The Synapse class encompasses essential network properties such as HTTP route names, timeouts, request sizes, and - terminal information. It also includes methods for serialization, deserialization, attribute setting, and hash - computation, ensuring secure and efficient data exchange in the network. - - The class includes Pydantic validators and root validators to enforce data integrity and format. Additionally, - properties like ``is_success``, ``is_failure``, ``is_timeout``, etc., provide convenient status checks based on - dendrite responses. - - Think of Bittensor Synapses as glorified pydantic wrappers that have been designed to be used in a distributed - network. They provide a standardized way to communicate between neurons, and are the primary mechanism for - communication between neurons in Bittensor. - - Key Features: - - 1. HTTP Route Name (``name`` attribute): - Enables the identification and proper routing of requests within the network. Essential for users - defining custom routes for specific machine learning tasks. - - 2. Query Timeout (``timeout`` attribute): - Determines the maximum duration allowed for a query, ensuring timely responses and network - efficiency. Crucial for users to manage network latency and response times, particularly in - time-sensitive applications. - - 3. Request Sizes (``total_size``, ``header_size`` attributes): - Keeps track of the size of request bodies and headers, ensuring efficient data transmission without - overloading the network. Important for users to monitor and optimize the data payload, especially - in bandwidth-constrained environments. - - 4. Terminal Information (``dendrite``, ``axon`` attributes): - Stores information about the dendrite (receiving end) and axon (sending end), facilitating communication - between nodes. Users can access detailed information about the communication endpoints, aiding in - debugging and network analysis. - - 5. Body Hash Computation (``computed_body_hash``, ``required_hash_fields``): - Ensures data integrity and security by computing hashes of transmitted data. Provides users with a - mechanism to verify data integrity and detect any tampering during transmission. - It is recommended that names of fields in `required_hash_fields` are listed in the order they are - defined in the class. - - 6. Serialization and Deserialization Methods: - Facilitates the conversion of Synapse objects to and from a format suitable for network transmission. - Essential for users who need to customize data formats for specific machine learning models or tasks. - - 7. Status Check Properties (``is_success``, ``is_failure``, ``is_timeout``, etc.): - Provides quick and easy methods to check the status of a request, improving error handling and - response management. Users can efficiently handle different outcomes of network requests, enhancing - the robustness of their applications. - - Example usage:: - - # Creating a Synapse instance with default values - from bittensor.core.synapse import Synapse - - synapse = Synapse() - - # Setting properties and input - synapse.timeout = 15.0 - synapse.name = "MySynapse" - - # Not setting fields that are not defined in your synapse class will result in an error, e.g.: - synapse.dummy_input = 1 # This will raise an error because dummy_input is not defined in the Synapse class - - # Get a dictionary of headers and body from the synapse instance - synapse_dict = synapse.model_dump_json() - - # Get a dictionary of headers from the synapse instance - headers = synapse.to_headers() - - # Reconstruct the synapse from headers using the classmethod 'from_headers' - synapse = Synapse.from_headers(headers) - - # Deserialize synapse after receiving it over the network, controlled by `deserialize` method - deserialized_synapse = synapse.deserialize() - - # Checking the status of the request - if synapse.is_success: - print("Request succeeded") - - # Checking and setting the status of the request - print(synapse.axon.status_code) - synapse.axon.status_code = 408 # Timeout - - :param name: HTTP route name, set on :func:`axon.attach`. - :type name: str - :param timeout: Total query length, set by the dendrite terminal. - :type timeout: float - :param total_size: Total size of request body in bytes. - :type total_size: int - :param header_size: Size of request header in bytes. - :type header_size: int - :param dendrite: Information about the dendrite terminal. - :type dendrite: :func:`TerminalInfo` - :param axon: Information about the axon terminal. - :type axon: :func:`TerminalInfo` - :param computed_body_hash: Computed hash of the request body. - :type computed_body_hash: str - :param required_hash_fields: Fields required to compute the body hash. - :type required_hash_fields: list[str] - - .. method:: deserialize - - Custom deserialization logic for subclasses. - - .. method:: __setattr__ - - Override method to make ``required_hash_fields`` read-only. - - .. method:: get_total_size - - Calculates and returns the total size of the object. - - .. method:: to_headers - - Constructs a dictionary of headers from instance properties. - - .. method:: body_hash - - Computes a SHA3-256 hash of the serialized body. - - .. method:: parse_headers_to_inputs - - Parses headers to construct an inputs dictionary. - - .. method:: from_headers - - Creates an instance from a headers dictionary. - - - This class is a cornerstone in the Bittensor framework, providing the necessary tools for secure, efficient, and - standardized communication in a decentralized environment. - - Create a new model by parsing and validating input data from keyword arguments. - - Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be - validated to form a valid model. - - `self` is explicitly positional-only to allow `self` as a field name. - - - .. py:attribute:: axon - :type: Optional[TerminalInfo] - :value: None - - - - .. py:property:: body_hash - :type: str - - - Computes a SHA3-256 hash of the serialized body of the Synapse instance. - - This hash is used to - ensure the data integrity and security of the Synapse instance when it's transmitted across the - network. It is a crucial feature for verifying that the data received is the same as the data sent. - - Process: - - 1. Iterates over each required field as specified in ``required_hash_fields``. - 2. Concatenates the string representation of these fields. - 3. Applies SHA3-256 hashing to the concatenated string to produce a unique fingerprint of the data. - - Example:: - - synapse = Synapse(name="ExampleRoute", timeout=10) - hash_value = synapse.body_hash - # hash_value is the SHA3-256 hash of the serialized body of the Synapse instance - - :returns: - - The SHA3-256 hash as a hexadecimal string, providing a fingerprint of the Synapse instance's data for - integrity checks. - :rtype: str - - - .. py:attribute:: computed_body_hash - :type: Optional[str] - :value: None - - - - .. py:attribute:: dendrite - :type: Optional[TerminalInfo] - :value: None - - - - .. py:method:: deserialize() - - Deserializes the Synapse object. - - This method is intended to be overridden by subclasses for custom deserialization logic. - In the context of the Synapse superclass, this method simply returns the instance itself. - When inheriting from this class, subclasses should provide their own implementation for - deserialization if specific deserialization behavior is desired. - - By default, if a subclass does not provide its own implementation of this method, the - Synapse's deserialize method will be used, returning the object instance as-is. - - In its default form, this method simply returns the instance of the Synapse itself without any modifications. - Subclasses of Synapse can override this method to add specific deserialization behaviors, such as converting - serialized data back into complex object types or performing additional data integrity checks. - - Example:: - - class CustomSynapse(Synapse): - additional_data: str - - def deserialize(self) -> "CustomSynapse": - # Custom deserialization logic - # For example, decoding a base64 encoded string in 'additional_data' - if self.additional_data: - self.additional_data = base64.b64decode(self.additional_data).decode('utf-8') - return self - - serialized_data = '{"additional_data": "SGVsbG8gV29ybGQ="}' # Base64 for 'Hello World' - custom_synapse = CustomSynapse.model_validate_json(serialized_data) - deserialized_synapse = custom_synapse.deserialize() - - # deserialized_synapse.additional_data would now be 'Hello World' - - :returns: The deserialized Synapse object. In this default implementation, it returns the object itself. - :rtype: Synapse - - - - .. py:property:: failed_verification - :type: bool - - - Checks if the dendrite's status code indicates failed verification. - - This method returns ``True`` if the status code of the dendrite is ``401``, - which is the HTTP status code for unauthorized access. - - :returns: ``True`` if dendrite's status code is ``401``, ``False`` otherwise. - :rtype: bool - - - .. py:method:: from_headers(headers) - :classmethod: - - - Constructs a new Synapse instance from a given headers dictionary, enabling the re-creation of the Synapse's - state as it was prior to network transmission. - - This method is a key part of the - deserialization process in the Bittensor network, allowing nodes to accurately reconstruct Synapse - objects from received data. - - Example:: - - received_headers = { - 'bt_header_axon_address': '127.0.0.1', - 'bt_header_dendrite_port': '8080', - # Other headers... - } - synapse = Synapse.from_headers(received_headers) - # synapse is a new Synapse instance reconstructed from the received headers - - :param headers: The dictionary of headers containing serialized Synapse information. - :type headers: dict - - :returns: - - A new instance of Synapse, reconstructed from the parsed header information, - replicating the original instance's state. - :rtype: bittensor.core.synapse.Synapse - - - - .. py:method:: get_required_fields() - - Get the required fields from the model's JSON schema. - - - - .. py:method:: get_total_size() - - Get the total size of the current object. - - This method first calculates the size of the current object, then assigns it - to the instance variable :func:`self.total_size` and finally returns this value. - - :returns: The total size of the current object. - :rtype: int - - - - .. py:attribute:: header_size - :type: Optional[int] - :value: None - - - - .. py:property:: is_blacklist - :type: bool - - - Checks if the dendrite's status code indicates a blacklisted request. - - This method returns ``True`` if the status code of the dendrite is ``403``, - which is the HTTP status code for a forbidden request. - - :returns: ``True`` if dendrite's status code is ``403``, ``False`` otherwise. - :rtype: bool - - - .. py:property:: is_failure - :type: bool - - - Checks if the dendrite's status code indicates failure. - - This method returns ``True`` if the status code of the dendrite is not ``200``, - which would mean the HTTP request was not successful. - - :returns: ``True`` if dendrite's status code is not ``200``, ``False`` otherwise. - :rtype: bool - - - .. py:property:: is_success - :type: bool - - - Checks if the dendrite's status code indicates success. - - This method returns ``True`` if the status code of the dendrite is ``200``, - which typically represents a successful HTTP request. - - :returns: ``True`` if dendrite's status code is ``200``, ``False`` otherwise. - :rtype: bool - - - .. py:property:: is_timeout - :type: bool - - - Checks if the dendrite's status code indicates a timeout. - - This method returns ``True`` if the status code of the dendrite is ``408``, - which is the HTTP status code for a request timeout. - - :returns: ``True`` if dendrite's status code is ``408``, ``False`` otherwise. - :rtype: bool - - - .. py:attribute:: model_config - - Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict]. - - - .. py:attribute:: name - :type: Optional[str] - :value: None - - - - .. py:method:: parse_headers_to_inputs(headers) - :classmethod: - - - Interprets and transforms a given dictionary of headers into a structured dictionary, facilitating the - reconstruction of Synapse objects. - - This method is essential for parsing network-transmitted - data back into a Synapse instance, ensuring data consistency and integrity. - - Process: - - 1. Separates headers into categories based on prefixes (``axon``, ``dendrite``, etc.). - 2. Decodes and deserializes ``input_obj`` headers into their original objects. - 3. Assigns simple fields directly from the headers to the input dictionary. - - Example:: - - received_headers = { - 'bt_header_axon_address': '127.0.0.1', - 'bt_header_dendrite_port': '8080', - # Other headers... - } - inputs = Synapse.parse_headers_to_inputs(received_headers) - # inputs now contains a structured representation of Synapse properties based on the headers - - .. note:: - - This is handled automatically when calling :func:`Synapse.from_headers(headers)` and does not need to be - called directly. - - :param headers: The headers dictionary to parse. - :type headers: dict - - :returns: A structured dictionary representing the inputs for constructing a Synapse instance. - :rtype: dict - - - - .. py:attribute:: required_hash_fields - :type: ClassVar[tuple[str, Ellipsis]] - :value: () - - - - .. py:method:: set_name_type(values) - - - .. py:attribute:: timeout - :type: Optional[float] - :value: None - - - - .. py:method:: to_headers() - - Converts the state of a Synapse instance into a dictionary of HTTP headers. - - This method is essential for - packaging Synapse data for network transmission in the Bittensor framework, ensuring that each key aspect of - the Synapse is represented in a format suitable for HTTP communication. - - Process: - - 1. Basic Information: It starts by including the ``name`` and ``timeout`` of the Synapse, which are fundamental - for identifying the query and managing its lifespan on the network. - 2. Complex Objects: The method serializes the ``axon`` and ``dendrite`` objects, if present, into strings. This - serialization is crucial for preserving the state and structure of these objects over the network. - 3. Encoding: Non-optional complex objects are serialized and encoded in base64, making them safe for HTTP transport. - 4. Size Metrics: The method calculates and adds the size of headers and the total object size, providing - valuable information for network bandwidth management. - - Example Usage:: - - synapse = Synapse(name="ExampleSynapse", timeout=30) - headers = synapse.to_headers() - # headers now contains a dictionary representing the Synapse instance - - :returns: A dictionary containing key-value pairs representing the Synapse's properties, suitable for HTTP - communication. - :rtype: dict - - - - .. py:attribute:: total_size - :type: Optional[int] - :value: None - - - -.. py:class:: TerminalInfo(/, **data) - - Bases: :py:obj:`pydantic.BaseModel` - - - TerminalInfo encapsulates detailed information about a network synapse (node) involved in a communication process. - - This class serves as a metadata carrier, - providing essential details about the state and configuration of a terminal during network interactions. This is a - crucial class in the Bittensor framework. - - The TerminalInfo class contains information such as HTTP status codes and messages, processing times, - IP addresses, ports, Bittensor version numbers, and unique identifiers. These details are vital for - maintaining network reliability, security, and efficient data flow within the Bittensor network. - - This class includes Pydantic validators and root validators to enforce data integrity and format. It is - designed to be used natively within Synapses, so that you will not need to call this directly, but rather - is used as a helper class for Synapses. - - :param status_code: HTTP status code indicating the result of a network request. Essential for identifying the - outcome of network interactions. - :type status_code: int - :param status_message: Descriptive message associated with the status code, providing additional context about - the request's result. - :type status_message: str - :param process_time: Time taken by the terminal to process the call, important for performance monitoring and - optimization. - :type process_time: float - :param ip: IP address of the terminal, crucial for network routing and data transmission. - :type ip: str - :param port: Network port used by the terminal, key for establishing network connections. - :type port: int - :param version: Bittensor version running on the terminal, ensuring compatibility between different nodes in the - network. - :type version: int - :param nonce: Unique, monotonically increasing number for each terminal, aiding in identifying and ordering - network interactions. - :type nonce: int - :param uuid: Unique identifier for the terminal, fundamental for network security and identification. - :type uuid: str - :param hotkey: Encoded hotkey string of the terminal wallet, important for transaction and identity verification - in the network. - :type hotkey: str - :param signature: Digital signature verifying the tuple of nonce, axon_hotkey, dendrite_hotkey, and uuid, - critical for ensuring data authenticity and security. - :type signature: str - - Usage:: - - # Creating a TerminalInfo instance - from bittensor.core.synapse import TerminalInfo - - terminal_info = TerminalInfo( - status_code=200, - status_message="Success", - process_time=0.1, - ip="198.123.23.1", - port=9282, - version=111, - nonce=111111, - uuid="5ecbd69c-1cec-11ee-b0dc-e29ce36fec1a", - hotkey="5EnjDGNqqWnuL2HCAdxeEtN2oqtXZw6BMBe936Kfy2PFz1J1", - signature="0x0813029319030129u4120u10841824y0182u091u230912u" - ) - - # Accessing TerminalInfo attributes - ip_address = terminal_info.ip - processing_duration = terminal_info.process_time - - # TerminalInfo can be used to monitor and verify network interactions, ensuring proper communication and - security within the Bittensor network. - - TerminalInfo plays a pivotal role in providing transparency and control over network operations, making it an - indispensable tool for developers and users interacting with the Bittensor ecosystem. - - Create a new model by parsing and validating input data from keyword arguments. - - Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be - validated to form a valid model. - - `self` is explicitly positional-only to allow `self` as a field name. - - - .. py:attribute:: hotkey - :type: Optional[str] - :value: None - - - - .. py:attribute:: ip - :type: Optional[str] - :value: None - - - - .. py:attribute:: model_config - - Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict]. - - - .. py:attribute:: nonce - :type: Optional[int] - :value: None - - - - .. py:attribute:: port - :type: Optional[int] - :value: None - - - - .. py:attribute:: process_time - :type: Optional[float] - :value: None - - - - .. py:attribute:: signature - :type: Optional[str] - :value: None - - - - .. py:attribute:: status_code - :type: Optional[int] - :value: None - - - - .. py:attribute:: status_message - :type: Optional[str] - :value: None - - - - .. py:attribute:: uuid - :type: Optional[str] - :value: None - - - - .. py:attribute:: version - :type: Optional[int] - :value: None - - - -.. py:function:: cast_float(raw) - - Converts a string to a float, if the string is not ``None``. - - This function attempts to convert a string to a float. If the string is ``None``, it simply returns ``None``. - - :param raw: The string to convert. - :type raw: str - - :returns: The converted float, or ``None`` if the input was ``None``. - :rtype: float or None - - -.. py:function:: cast_int(raw) - - Converts a string to an integer, if the string is not ``None``. - - This function attempts to convert a string to an integer. If the string is ``None``, it simply returns ``None``. - - :param raw: The string to convert. - :type raw: str - - :returns: The converted integer, or ``None`` if the input was ``None``. - :rtype: int or None - - -.. py:function:: get_size(obj, seen = None) - - Recursively finds size of objects. - - This function traverses every item of a given object and sums their sizes to compute the total size. - - :param obj: The object to get the size of. - :type obj: Any - :param seen: Set of object ids that have been calculated. - :type seen: Optional[set] - - :returns: The total size of the object. - :rtype: int - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/tensor/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/tensor/index.rst deleted file mode 100644 index f0616d5bd4..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/tensor/index.rst +++ /dev/null @@ -1,171 +0,0 @@ -bittensor.core.tensor -===================== - -.. py:module:: bittensor.core.tensor - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.core.tensor.dtypes - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.tensor.DTypes - bittensor.core.tensor.Tensor - bittensor.core.tensor.tensor - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.tensor.cast_dtype - bittensor.core.tensor.cast_shape - - -Module Contents ---------------- - -.. py:class:: DTypes(*args, **kwargs) - - Bases: :py:obj:`dict` - - - dict() -> new empty dictionary - dict(mapping) -> new dictionary initialized from a mapping object's - (key, value) pairs - dict(iterable) -> new dictionary initialized as if via: - d = {} - for k, v in iterable: - d[k] = v - dict(**kwargs) -> new dictionary initialized with the name=value pairs - in the keyword argument list. For example: dict(one=1, two=2) - - Initialize self. See help(type(self)) for accurate signature. - - - .. py:attribute:: torch - :type: bool - :value: False - - - -.. py:class:: Tensor(/, **data) - - Bases: :py:obj:`pydantic.BaseModel` - - - Represents a Tensor object. - - :param buffer: Tensor buffer data. - :type buffer: Optional[str] - :param dtype: Tensor data type. - :type dtype: str - :param shape: Tensor shape. - :type shape: list[int] - - Create a new model by parsing and validating input data from keyword arguments. - - Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be - validated to form a valid model. - - `self` is explicitly positional-only to allow `self` as a field name. - - - .. py:attribute:: buffer - :type: Optional[str] - :value: None - - - - .. py:method:: deserialize() - - Deserializes the Tensor object. - - :returns: The deserialized tensor object. - :rtype: np.array or torch.Tensor - - :raises Exception: If the deserialization process encounters an error. - - - - .. py:attribute:: dtype - :type: str - :value: None - - - - .. py:attribute:: model_config - - Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict]. - - - .. py:method:: numpy() - - - .. py:method:: serialize(tensor_) - :staticmethod: - - - Serializes the given tensor. - - :param tensor_: The tensor to serialize. - :type tensor_: np.array or torch.Tensor - - :returns: The serialized tensor. - :rtype: :func:`Tensor` - - :raises Exception: If the serialization process encounters an error. - - - - .. py:attribute:: shape - :type: list[int] - :value: None - - - - .. py:method:: tensor() - - - .. py:method:: tolist() - - -.. py:function:: cast_dtype(raw) - - Casts the raw value to a string representing the `numpy data type `_, or the `torch data type `_ if using torch. - - :param raw: The raw value to cast. - :type raw: Union[None, numpy.dtype, torch.dtype, str] - - :returns: The string representing the numpy/torch data type. - :rtype: str - - :raises Exception: If the raw value is of an invalid type. - - -.. py:function:: cast_shape(raw) - - Casts the raw value to a string representing the tensor shape. - - :param raw: The raw value to cast. - :type raw: Union[None, list[int], str] - - :returns: The string representing the tensor shape. - :rtype: str - - :raises Exception: If the raw value is of an invalid type or if the list elements are not of type int. - - -.. py:data:: dtypes - -.. py:class:: tensor - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/threadpool/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/threadpool/index.rst deleted file mode 100644 index 4823a555d1..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/threadpool/index.rst +++ /dev/null @@ -1,117 +0,0 @@ -bittensor.core.threadpool -========================= - -.. py:module:: bittensor.core.threadpool - -.. autoapi-nested-parse:: - - Implements `ThreadPoolExecutor `_. - - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.core.threadpool.NULL_ENTRY - bittensor.core.threadpool.logger - - -Exceptions ----------- - -.. autoapisummary:: - - bittensor.core.threadpool.BrokenThreadPool - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.threadpool.PriorityThreadPoolExecutor - - -Module Contents ---------------- - -.. py:exception:: BrokenThreadPool - - Bases: :py:obj:`concurrent.futures._base.BrokenExecutor` - - - Raised when a worker thread in a `ThreadPoolExecutor `_ failed initializing. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:data:: NULL_ENTRY - -.. py:class:: PriorityThreadPoolExecutor(maxsize=-1, max_workers=None, thread_name_prefix='', initializer=None, initargs=()) - - Bases: :py:obj:`concurrent.futures._base.Executor` - - - Base threadpool executor with a priority queue. - - Initializes a new `ThreadPoolExecutor `_ instance. - - :param max_workers: The maximum number of threads that can be used to - execute the given calls. - :param thread_name_prefix: An optional name prefix to give our threads. - :param initializer: An callable used to initialize worker threads. - :param initargs: A tuple of arguments to pass to the initializer. - - - .. py:method:: add_args(parser, prefix = None) - :classmethod: - - - Accept specific arguments from parser - - - - .. py:method:: config() - :classmethod: - - - Get config from the argument parser. - - Return: :func:`bittensor.Config` object. - - - - .. py:property:: is_empty - - - .. py:method:: shutdown(wait=True) - - Clean-up the resources associated with the Executor. - - It is safe to call this method several times. Otherwise, no other - methods can be called after this one. - - :param wait: If True then shutdown will not return until all running - futures have finished executing and the resources used by the - executor have been reclaimed. - :param cancel_futures: If True then shutdown will cancel all pending - futures. Futures that are completed or running will not be - cancelled. - - - - .. py:method:: submit(fn, *args, **kwargs) - - Submits a callable to be executed with the given arguments. - - Schedules the callable to be executed as fn(*args, **kwargs) and returns - a Future instance representing the execution of the callable. - - :returns: A Future representing the given call. - - - -.. py:data:: logger - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/timelock/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/timelock/index.rst deleted file mode 100644 index e9e319bdfe..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/timelock/index.rst +++ /dev/null @@ -1,149 +0,0 @@ -bittensor.core.timelock -======================= - -.. py:module:: bittensor.core.timelock - -.. autoapi-nested-parse:: - - This module provides functionality for TimeLock Encryption (TLE), a mechanism that encrypts data such that it can - only be decrypted after a specific amount of time (expressed in the form of Drand rounds). It includes functions - for encryption, decryption, and handling the decryption process by waiting for the reveal round. The logic is based on - Drand QuickNet. - - Main Functions: - - encrypt: Encrypts data and returns the encrypted data along with the reveal round. - - decrypt: Decrypts the provided encrypted data when the reveal round is reached. - - wait_reveal_and_decrypt: Waits for the reveal round and decrypts the encrypted data. - - Usage Example: - ```python - from bittensor import timelock - data = "From Cortex to Bittensor" - encrypted_data, reveal_round = timelock.encrypt(data, n_blocks=5) - decrypted_data = timelock.wait_reveal_and_decrypt(encrypted_data) - ``` - - Usage Example with custom data: - ```python - import pickle - from dataclasses import dataclass - - from bittensor import timelock - - - @dataclass - class Person: - name: str - age: int - - # get instance of your data - x_person = Person("X Lynch", 123) - - # get bytes of your instance - byte_data = pickle.dumps(x_person) - - # get TLE encoded bytes - encrypted, reveal_round = timelock.encrypt(byte_data, 1) - - # wait when reveal round appears in Drand QuickNet and get decrypted data - decrypted = timelock.wait_reveal_and_decrypt(encrypted_data=encrypted) - - # convert bytes into your instance back - x_person_2 = pickle.loads(decrypted) - - # make sure initial and decoded instances are the same - assert x_person == x_person_2 - ``` - - Note: - For handling fast-block nodes, set the `block_time` parameter to 0.25 seconds during encryption. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.core.timelock.decrypt - bittensor.core.timelock.encrypt - bittensor.core.timelock.wait_reveal_and_decrypt - - -Module Contents ---------------- - -.. py:function:: decrypt(encrypted_data, no_errors = True, return_str = False) - - Decrypts encrypted data using TimeLock Decryption - - :param encrypted_data: Encrypted data to be decrypted. - :param no_errors: If True, no errors will be raised during decryption. - :param return_str: convert decrypted data to string if `True`. Default is `False`. - - :returns: Decrypted data, when reveled round is reached. - :rtype: decrypted_data - - Usage: - # default usage - decrypted_data = decrypt(encrypted_data) - - # passing no_errors=False for raising errors during decryption - decrypted_data = decrypt(encrypted_data, no_errors=False) - - # passing return_str=True for returning decrypted data as string - decrypted_data = decrypt(encrypted_data, return_str=True) - - -.. py:function:: encrypt(data, n_blocks, block_time = 12.0) - - Encrypts data using TimeLock Encryption - - :param data: Any bytes data to be encrypted. - :param n_blocks: Number of blocks to encrypt. - :param block_time: Time in seconds for each block. Default is `12.0` seconds. - - :returns: A tuple containing the encrypted data and reveal TimeLock reveal round. - :rtype: tuple - - :raises PyValueError: If failed to encrypt data. - - Usage: - data = "From Cortex to Bittensor" - - # default usage - encrypted_data, reveal_round = encrypt(data, 10) - - # passing block_time for fast-blocks node - encrypted_data, reveal_round = encrypt(data, 15, block_time=0.25) - - encrypted_data, reveal_round = encrypt(data, 5) - - - .. note:: - - For using this function with fast-blocks node you need to set block_time to 0.25 seconds. - data, round = encrypt(data, n_blocks, block_time=0.25) - - -.. py:function:: wait_reveal_and_decrypt(encrypted_data, reveal_round = None, no_errors = True, return_str = False) - - Waits for reveal round and decrypts data using TimeLock Decryption. - - :param encrypted_data: Encrypted data to be decrypted. - :param reveal_round: Reveal round to wait for. If None, will be parsed from encrypted data. - :param no_errors: If True, no errors will be raised during decryption. - :param return_str: convert decrypted data to string if `True`. Default is `False`. - - :raises struct.error: If failed to parse reveal round from encrypted data. - :raises TypeError: If reveal_round is None or wrong type. - :raises IndexError: If provided encrypted_data does not contain reveal round. - - :returns: Decrypted data. - :rtype: bytes - - Usage: - import bittensor as bt - encrypted, reveal_round = bt.timelock.encrypt("Cortex is power", 3) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/core/types/index.rst b/static/python-api/html/_sources/autoapi/bittensor/core/types/index.rst deleted file mode 100644 index b7d0123421..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/core/types/index.rst +++ /dev/null @@ -1,231 +0,0 @@ -bittensor.core.types -==================== - -.. py:module:: bittensor.core.types - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.core.types.Salt - bittensor.core.types.UIDs - bittensor.core.types.Weights - - -Classes -------- - -.. autoapisummary:: - - bittensor.core.types.AxonServeCallParams - bittensor.core.types.ParamWithTypes - bittensor.core.types.PrometheusServeCallParams - bittensor.core.types.SubtensorMixin - - -Module Contents ---------------- - -.. py:class:: AxonServeCallParams(version, ip, port, ip_type, netuid, hotkey, coldkey, protocol, placeholder1, placeholder2, certificate) - - .. py:attribute:: certificate - - - .. py:attribute:: coldkey - - - .. py:method:: copy() - - - .. py:method:: dict() - - Returns a dict representation of this object. If `self.certificate` is `None`, - it is not included in this. - - - - .. py:attribute:: hotkey - - - .. py:attribute:: ip - - - .. py:attribute:: ip_type - - - .. py:attribute:: netuid - - - .. py:attribute:: placeholder1 - - - .. py:attribute:: placeholder2 - - - .. py:attribute:: port - - - .. py:attribute:: protocol - - - .. py:attribute:: version - - -.. py:class:: ParamWithTypes - - Bases: :py:obj:`TypedDict` - - - dict() -> new empty dictionary - dict(mapping) -> new dictionary initialized from a mapping object's - (key, value) pairs - dict(iterable) -> new dictionary initialized as if via: - d = {} - for k, v in iterable: - d[k] = v - dict(**kwargs) -> new dictionary initialized with the name=value pairs - in the keyword argument list. For example: dict(one=1, two=2) - - Initialize self. See help(type(self)) for accurate signature. - - - .. py:attribute:: name - :type: str - - - .. py:attribute:: type - :type: str - - -.. py:class:: PrometheusServeCallParams - - Bases: :py:obj:`TypedDict` - - - Prometheus serve chain call parameters. - - Initialize self. See help(type(self)) for accurate signature. - - - .. py:attribute:: ip - :type: int - - - .. py:attribute:: ip_type - :type: int - - - .. py:attribute:: netuid - :type: int - - - .. py:attribute:: port - :type: int - - - .. py:attribute:: version - :type: int - - -.. py:data:: Salt - -.. py:class:: SubtensorMixin - - Bases: :py:obj:`abc.ABC` - - - Helper class that provides a standard way to create an ABC using - inheritance. - - - .. py:method:: add_args(parser, prefix = None) - :classmethod: - - - Adds command-line arguments to the provided ArgumentParser for configuring the Subtensor settings. - - :param parser: The ArgumentParser object to which the Subtensor arguments will be added. - :type parser: argparse.ArgumentParser - :param prefix: An optional prefix for the argument names. If provided, the prefix is prepended to - each argument name. - :type prefix: Optional[str] - - Arguments added: - --subtensor.network: The Subtensor network flag. Possible values are 'finney', 'test', 'archive', and - 'local'. Overrides the chain endpoint if set. - --subtensor.chain_endpoint: The Subtensor chain endpoint flag. If set, it overrides the network flag. - --subtensor._mock: If true, uses a mocked connection to the chain. - - .. admonition:: Example - - parser = argparse.ArgumentParser() - Subtensor.add_args(parser) - - - - .. py:attribute:: chain_endpoint - :type: str - - - .. py:method:: config() - :staticmethod: - - - Creates and returns a Bittensor configuration object. - - :returns: - - A Bittensor configuration object configured with arguments added by - the `subtensor.add_args` method. - :rtype: config (bittensor.core.config.Config) - - - - .. py:method:: help() - :classmethod: - - - Print help to stdout. - - - - .. py:attribute:: log_verbose - :type: bool - - - .. py:attribute:: network - :type: str - - - .. py:method:: setup_config(network, config) - :staticmethod: - - - Sets up and returns the configuration for the Subtensor network and endpoint. - - This method determines the appropriate network and chain endpoint based on the provided network string or - configuration object. It evaluates the network and endpoint in the following order of precedence: - 1. Provided network string. - 2. Configured chain endpoint in the `config` object. - 3. Configured network in the `config` object. - 4. Default chain endpoint. - 5. Default network. - - :param network: The name of the Subtensor network. If None, the network and endpoint will be - determined from the `config` object. - :type network: Optional[str] - :param config: The configuration object containing the network and chain endpoint - settings. - :type config: bittensor.core.config.Config - - :returns: A tuple containing the formatted WebSocket endpoint URL and the evaluated network name. - :rtype: tuple - - - -.. py:data:: UIDs - -.. py:data:: Weights - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/index.rst deleted file mode 100644 index b13d4e29c2..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/index.rst +++ /dev/null @@ -1,107 +0,0 @@ -bittensor.extras.dev_framework.calls -==================================== - -.. py:module:: bittensor.extras.dev_framework.calls - -.. autoapi-nested-parse:: - - This module serves primarily as a reference and auxiliary resource for developers. - - Although any command can be constructed directly within a test without relying on the pre-generated call definitions, - the provided command lists (divided into sudo and non-sudo categories), together with the pallet reference, - significantly streamline the creation of accurate, maintainable, and well-structured end-to-end tests. - - In practice, these definitions act as convenient blueprints for composing extrinsic calls and understanding the - structure of available Subtensor operations. - - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index - /autoapi/bittensor/extras/dev_framework/calls/pallets/index - /autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.extras.dev_framework.calls.HEADER - bittensor.extras.dev_framework.calls.IMPORT_TEXT - - -Functions ---------- - -.. autoapisummary:: - - bittensor.extras.dev_framework.calls.recreate_calls_subpackage - - -Package Contents ----------------- - -.. py:data:: HEADER - :value: Multiline-String - - .. raw:: html - -
                                                                                                                                                              Show Value - - .. code-block:: python - - """""" - This file is auto-generated. Do not edit manually. - - For developers: - - Use the function `recreate_calls_subpackage()` to regenerate this file. - - The command lists are built dynamically from the current Subtensor metadata (`Subtensor.substrate.metadata`). - - Each command is represented as a `namedtuple` with fields: - * System arguments: wallet, pallet (and `sudo` for sudo calls). - * Additional arguments: taken from the extrinsic definition (with type hints for reference). - - These namedtuples are intended as convenient templates for building commands in tests and end-to-end scenarios. - - Note: - Any manual changes will be overwritten the next time the generator is run. - """ - - .. raw:: html - -
                                                                                                                                                              - - - -.. py:data:: IMPORT_TEXT - :value: Multiline-String - - .. raw:: html - -
                                                                                                                                                              Show Value - - .. code-block:: python - - """ - """ - - from collections import namedtuple - - - """ - - .. raw:: html - -
                                                                                                                                                              - - - -.. py:function:: recreate_calls_subpackage(network='local') - - Fetch the list of pallets and their call and save them to the corresponding modules. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index.rst deleted file mode 100644 index 25a00e8968..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index.rst +++ /dev/null @@ -1,3544 +0,0 @@ -bittensor.extras.dev_framework.calls.non_sudo_calls -=================================================== - -.. py:module:: bittensor.extras.dev_framework.calls.non_sudo_calls - -.. autoapi-nested-parse:: - - This file is auto-generated. Do not edit manually. - - For developers: - - Use the function `recreate_calls_subpackage()` to regenerate this file. - - The command lists are built dynamically from the current Subtensor metadata (`Subtensor.substrate.metadata`). - - Each command is represented as a `namedtuple` with fields: - * System arguments: wallet, pallet (and `sudo` for sudo calls). - * Additional arguments: taken from the extrinsic definition (with type hints for reference). - - These namedtuples are intended as convenient templates for building commands in tests and end-to-end scenarios. - - .. note:: - - Any manual changes will be overwritten the next time the generator is run. - Subtensor spec version: 325 - - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY - bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER - bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER - bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY - bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE - bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT - bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE - bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE - bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE - bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI - bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY - bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE - bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI - bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1 - bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE - bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS - bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH - bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL - bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS - bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS - bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS - bittensor.extras.dev_framework.calls.non_sudo_calls.BURN - bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER - bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA - bittensor.extras.dev_framework.calls.non_sudo_calls.CALL - bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL - bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI - bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED - bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY - bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED - bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY - bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY - bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY - bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME - bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME - bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE - bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS - bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS - bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS - bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS - bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS - bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE - bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE - bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE - bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2 - bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE - bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE - bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST - bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL - bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS - bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE - bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE - bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK - bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED - bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER - bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE - bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND - bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET - bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE - bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE - bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH - bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER - bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT - bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND - bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT - bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE - bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT - bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER - bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE - bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE - bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE - bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX - bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE - bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE - bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION - bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE - bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE - bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED - bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT - bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT - bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE - bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY - bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED - bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA - bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND - bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER - bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK - bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK - bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY - bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT - bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT - bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK - bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT - bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT - bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY - bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY - bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER - bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER - bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES - bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY - bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE - bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT - bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT - bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION - bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED - bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE - bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS - bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS - bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS - bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS - bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK - bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER - bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE - bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER - bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE - bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED - bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER - bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY - bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON - bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS - bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS - bittensor.extras.dev_framework.calls.non_sudo_calls.SET - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS - bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST - bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL - bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO - bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO - bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES - bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY - bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY - bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER - bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER - bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE - bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT - bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE - bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY - bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT - bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL - bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH - bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE - bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE - bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY - bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE - bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE - bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL - bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA - bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP - bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END - bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION - bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL - bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS - bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE - bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE - bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW - bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW - bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT - bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE - - -Module Contents ---------------- - -.. py:class:: ADD_LIQUIDITY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: liquidity - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: tick_high - - - .. py:attribute:: tick_low - - - .. py:attribute:: wallet - - -.. py:class:: ADD_MEMBER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: who - - -.. py:class:: ADD_MEMBER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: who - - -.. py:class:: ADD_PROXY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: delay - - - .. py:attribute:: delegate - - - .. py:attribute:: pallet - - - .. py:attribute:: proxy_type - - - .. py:attribute:: wallet - - -.. py:class:: ADD_STAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: amount_staked - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: ADD_STAKE_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: allow_partial - - - .. py:attribute:: amount_staked - - - .. py:attribute:: hotkey - - - .. py:attribute:: limit_price - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: ADJUST_SENATE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: ANNOUNCE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call_hash - - - .. py:attribute:: pallet - - - .. py:attribute:: real - - - .. py:attribute:: wallet - - -.. py:class:: APPLY_AUTHORIZED_UPGRADE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: code - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: APPROVE_AS_MULTI - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call_hash - - - .. py:attribute:: max_weight - - - .. py:attribute:: maybe_timepoint - - - .. py:attribute:: other_signatories - - - .. py:attribute:: pallet - - - .. py:attribute:: threshold - - - .. py:attribute:: wallet - - -.. py:class:: ASSOCIATE_EVM_KEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: block_number - - - .. py:attribute:: evm_key - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: signature - - - .. py:attribute:: wallet - - -.. py:class:: AS_DERIVATIVE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: index - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: AS_MULTI - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: max_weight - - - .. py:attribute:: maybe_timepoint - - - .. py:attribute:: other_signatories - - - .. py:attribute:: pallet - - - .. py:attribute:: threshold - - - .. py:attribute:: wallet - - -.. py:class:: AS_MULTI_THRESHOLD_1 - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: other_signatories - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: AUTHORIZE_UPGRADE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: code_hash - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: AUTHORIZE_UPGRADE_WITHOUT_CHECKS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: code_hash - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: BATCH - - Bases: :py:obj:`tuple` - - - .. py:attribute:: calls - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: BATCH_ALL - - Bases: :py:obj:`tuple` - - - .. py:attribute:: calls - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: BATCH_COMMIT_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: commit_hashes - - - .. py:attribute:: netuids - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: BATCH_REVEAL_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: salts_list - - - .. py:attribute:: uids_list - - - .. py:attribute:: values_list - - - .. py:attribute:: version_keys - - - .. py:attribute:: wallet - - -.. py:class:: BATCH_SET_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuids - - - .. py:attribute:: pallet - - - .. py:attribute:: version_keys - - - .. py:attribute:: wallet - - - .. py:attribute:: weights - - -.. py:class:: BURN - - Bases: :py:obj:`tuple` - - - .. py:attribute:: keep_alive - - - .. py:attribute:: pallet - - - .. py:attribute:: value - - - .. py:attribute:: wallet - - -.. py:class:: BURNED_REGISTER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: BURN_ALPHA - - Bases: :py:obj:`tuple` - - - .. py:attribute:: amount - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: CALL - - Bases: :py:obj:`tuple` - - - .. py:attribute:: access_list - - - .. py:attribute:: authorization_list - - - .. py:attribute:: gas_limit - - - .. py:attribute:: input - - - .. py:attribute:: max_fee_per_gas - - - .. py:attribute:: max_priority_fee_per_gas - - - .. py:attribute:: nonce - - - .. py:attribute:: pallet - - - .. py:attribute:: source - - - .. py:attribute:: target - - - .. py:attribute:: value - - - .. py:attribute:: wallet - - -.. py:class:: CANCEL - - Bases: :py:obj:`tuple` - - - .. py:attribute:: index - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: when - - -.. py:class:: CANCEL_AS_MULTI - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call_hash - - - .. py:attribute:: other_signatories - - - .. py:attribute:: pallet - - - .. py:attribute:: threshold - - - .. py:attribute:: timepoint - - - .. py:attribute:: wallet - - -.. py:class:: CANCEL_NAMED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: id - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: CANCEL_RETRY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: task - - - .. py:attribute:: wallet - - -.. py:class:: CANCEL_RETRY_NAMED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: id - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: CHANGE_KEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: new - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: CHANGE_KEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: new - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: CLEAR_IDENTITY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: identified - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: CLEAR_PRIME - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: CLEAR_PRIME - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: CLOSE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: index - - - .. py:attribute:: length_bound - - - .. py:attribute:: pallet - - - .. py:attribute:: proposal_hash - - - .. py:attribute:: proposal_weight_bound - - - .. py:attribute:: wallet - - -.. py:class:: COMMIT_CRV3_MECHANISM_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: commit - - - .. py:attribute:: mecid - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: reveal_round - - - .. py:attribute:: wallet - - -.. py:class:: COMMIT_MECHANISM_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: commit_hash - - - .. py:attribute:: mecid - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: COMMIT_TIMELOCKED_MECHANISM_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: commit - - - .. py:attribute:: commit_reveal_version - - - .. py:attribute:: mecid - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: reveal_round - - - .. py:attribute:: wallet - - -.. py:class:: COMMIT_TIMELOCKED_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: commit - - - .. py:attribute:: commit_reveal_version - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: reveal_round - - - .. py:attribute:: wallet - - -.. py:class:: COMMIT_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: commit_hash - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: CONTRIBUTE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: amount - - - .. py:attribute:: crowdloan_id - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: CREATE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: cap - - - .. py:attribute:: deposit - - - .. py:attribute:: end - - - .. py:attribute:: min_contribution - - - .. py:attribute:: pallet - - - .. py:attribute:: target_address - - - .. py:attribute:: wallet - - -.. py:class:: CREATE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: access_list - - - .. py:attribute:: authorization_list - - - .. py:attribute:: gas_limit - - - .. py:attribute:: init - - - .. py:attribute:: max_fee_per_gas - - - .. py:attribute:: max_priority_fee_per_gas - - - .. py:attribute:: nonce - - - .. py:attribute:: pallet - - - .. py:attribute:: source - - - .. py:attribute:: value - - - .. py:attribute:: wallet - - -.. py:class:: CREATE2 - - Bases: :py:obj:`tuple` - - - .. py:attribute:: access_list - - - .. py:attribute:: authorization_list - - - .. py:attribute:: gas_limit - - - .. py:attribute:: init - - - .. py:attribute:: max_fee_per_gas - - - .. py:attribute:: max_priority_fee_per_gas - - - .. py:attribute:: nonce - - - .. py:attribute:: pallet - - - .. py:attribute:: salt - - - .. py:attribute:: source - - - .. py:attribute:: value - - - .. py:attribute:: wallet - - -.. py:class:: CREATE_PURE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: delay - - - .. py:attribute:: index - - - .. py:attribute:: pallet - - - .. py:attribute:: proxy_type - - - .. py:attribute:: wallet - - -.. py:class:: DECREASE_TAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: pallet - - - .. py:attribute:: take - - - .. py:attribute:: wallet - - -.. py:class:: DISABLE_WHITELIST - - Bases: :py:obj:`tuple` - - - .. py:attribute:: disabled - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: DISAPPROVE_PROPOSAL - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: proposal_hash - - - .. py:attribute:: wallet - - -.. py:class:: DISPATCH_AS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: as_origin - - - .. py:attribute:: call - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: DISPATCH_AS_FALLIBLE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: as_origin - - - .. py:attribute:: call - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: DISSOLVE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: crowdloan_id - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: DISSOLVE_NETWORK - - Bases: :py:obj:`tuple` - - - .. py:attribute:: coldkey - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: ENSURE_UPDATED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hashes - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: ENTER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: EXECUTE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: length_bound - - - .. py:attribute:: pallet - - - .. py:attribute:: proposal - - - .. py:attribute:: wallet - - -.. py:class:: EXTEND - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: FAUCET - - Bases: :py:obj:`tuple` - - - .. py:attribute:: block_number - - - .. py:attribute:: nonce - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: work - - -.. py:class:: FINALIZE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: crowdloan_id - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: FORCE_ADJUST_TOTAL_ISSUANCE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: delta - - - .. py:attribute:: direction - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: FORCE_BATCH - - Bases: :py:obj:`tuple` - - - .. py:attribute:: calls - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: FORCE_ENTER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: FORCE_EXIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: FORCE_EXTEND - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: FORCE_RELEASE_DEPOSIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: account - - - .. py:attribute:: block - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: FORCE_SET_BALANCE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: new_free - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: who - - -.. py:class:: FORCE_SLASH_DEPOSIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: account - - - .. py:attribute:: block - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: FORCE_TRANSFER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: dest - - - .. py:attribute:: pallet - - - .. py:attribute:: source - - - .. py:attribute:: value - - - .. py:attribute:: wallet - - -.. py:class:: FORCE_UNRESERVE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: amount - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: who - - -.. py:class:: IF_ELSE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: fallback - - - .. py:attribute:: main - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: INCREASE_TAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: pallet - - - .. py:attribute:: take - - - .. py:attribute:: wallet - - -.. py:class:: KILL_PREFIX - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: prefix - - - .. py:attribute:: subkeys - - - .. py:attribute:: wallet - - -.. py:class:: KILL_PURE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: ext_index - - - .. py:attribute:: height - - - .. py:attribute:: index - - - .. py:attribute:: pallet - - - .. py:attribute:: proxy_type - - - .. py:attribute:: spawner - - - .. py:attribute:: wallet - - -.. py:class:: KILL_STORAGE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: keys - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: MODIFY_POSITION - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: liquidity_delta - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: position_id - - - .. py:attribute:: wallet - - -.. py:class:: MOVE_STAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: alpha_amount - - - .. py:attribute:: destination_hotkey - - - .. py:attribute:: destination_netuid - - - .. py:attribute:: origin_hotkey - - - .. py:attribute:: origin_netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: NOTE_PREIMAGE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: bytes - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: NOTE_STALLED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: best_finalized_block_number - - - .. py:attribute:: delay - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: POKE_DEPOSIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call_hash - - - .. py:attribute:: other_signatories - - - .. py:attribute:: pallet - - - .. py:attribute:: threshold - - - .. py:attribute:: wallet - - -.. py:class:: POKE_DEPOSIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: PROPOSE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: duration - - - .. py:attribute:: length_bound - - - .. py:attribute:: pallet - - - .. py:attribute:: proposal - - - .. py:attribute:: wallet - - -.. py:class:: PROXY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: force_proxy_type - - - .. py:attribute:: pallet - - - .. py:attribute:: real - - - .. py:attribute:: wallet - - -.. py:class:: PROXY_ANNOUNCED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: delegate - - - .. py:attribute:: force_proxy_type - - - .. py:attribute:: pallet - - - .. py:attribute:: real - - - .. py:attribute:: wallet - - -.. py:class:: RECYCLE_ALPHA - - Bases: :py:obj:`tuple` - - - .. py:attribute:: amount - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REFUND - - Bases: :py:obj:`tuple` - - - .. py:attribute:: crowdloan_id - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REGISTER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: block_number - - - .. py:attribute:: coldkey - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: nonce - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: work - - -.. py:class:: REGISTER_LEASED_NETWORK - - Bases: :py:obj:`tuple` - - - .. py:attribute:: emissions_share - - - .. py:attribute:: end_block - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REGISTER_NETWORK - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REGISTER_NETWORK_WITH_IDENTITY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: identity - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REJECT_ANNOUNCEMENT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call_hash - - - .. py:attribute:: delegate - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: RELEASE_DEPOSIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: account - - - .. py:attribute:: block - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REMARK - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: remark - - - .. py:attribute:: wallet - - -.. py:class:: REMARK_WITH_EVENT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: remark - - - .. py:attribute:: wallet - - -.. py:class:: REMOVE_ANNOUNCEMENT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call_hash - - - .. py:attribute:: pallet - - - .. py:attribute:: real - - - .. py:attribute:: wallet - - -.. py:class:: REMOVE_KEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REMOVE_LIQUIDITY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: position_id - - - .. py:attribute:: wallet - - -.. py:class:: REMOVE_MEMBER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: who - - -.. py:class:: REMOVE_MEMBER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: who - - -.. py:class:: REMOVE_PROXIES - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REMOVE_PROXY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: delay - - - .. py:attribute:: delegate - - - .. py:attribute:: pallet - - - .. py:attribute:: proxy_type - - - .. py:attribute:: wallet - - -.. py:class:: REMOVE_STAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: amount_unstaked - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REMOVE_STAKE_FULL_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: limit_price - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REMOVE_STAKE_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: allow_partial - - - .. py:attribute:: amount_unstaked - - - .. py:attribute:: hotkey - - - .. py:attribute:: limit_price - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REPORT_EQUIVOCATION - - Bases: :py:obj:`tuple` - - - .. py:attribute:: equivocation_proof - - - .. py:attribute:: key_owner_proof - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REPORT_EQUIVOCATION_UNSIGNED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: equivocation_proof - - - .. py:attribute:: key_owner_proof - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REQUEST_PREIMAGE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hash - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: RESET_MEMBERS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: members - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: RESET_MEMBERS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: members - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: REVEAL_MECHANISM_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: mecid - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: salt - - - .. py:attribute:: uids - - - .. py:attribute:: values - - - .. py:attribute:: version_key - - - .. py:attribute:: wallet - - -.. py:class:: REVEAL_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: salt - - - .. py:attribute:: uids - - - .. py:attribute:: values - - - .. py:attribute:: version_key - - - .. py:attribute:: wallet - - -.. py:class:: ROOT_DISSOLVE_NETWORK - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: ROOT_REGISTER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SCHEDULE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: maybe_periodic - - - .. py:attribute:: pallet - - - .. py:attribute:: priority - - - .. py:attribute:: wallet - - - .. py:attribute:: when - - -.. py:class:: SCHEDULE_AFTER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: after - - - .. py:attribute:: call - - - .. py:attribute:: maybe_periodic - - - .. py:attribute:: pallet - - - .. py:attribute:: priority - - - .. py:attribute:: wallet - - -.. py:class:: SCHEDULE_GRANDPA_CHANGE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: forced - - - .. py:attribute:: in_blocks - - - .. py:attribute:: next_authorities - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SCHEDULE_NAMED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: id - - - .. py:attribute:: maybe_periodic - - - .. py:attribute:: pallet - - - .. py:attribute:: priority - - - .. py:attribute:: wallet - - - .. py:attribute:: when - - -.. py:class:: SCHEDULE_NAMED_AFTER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: after - - - .. py:attribute:: call - - - .. py:attribute:: id - - - .. py:attribute:: maybe_periodic - - - .. py:attribute:: pallet - - - .. py:attribute:: priority - - - .. py:attribute:: wallet - - -.. py:class:: SCHEDULE_SWAP_COLDKEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: new_coldkey - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SERVE_AXON - - Bases: :py:obj:`tuple` - - - .. py:attribute:: ip - - - .. py:attribute:: ip_type - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: placeholder1 - - - .. py:attribute:: placeholder2 - - - .. py:attribute:: port - - - .. py:attribute:: protocol - - - .. py:attribute:: version - - - .. py:attribute:: wallet - - -.. py:class:: SERVE_AXON_TLS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: certificate - - - .. py:attribute:: ip - - - .. py:attribute:: ip_type - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: placeholder1 - - - .. py:attribute:: placeholder2 - - - .. py:attribute:: port - - - .. py:attribute:: protocol - - - .. py:attribute:: version - - - .. py:attribute:: wallet - - -.. py:class:: SERVE_PROMETHEUS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: ip - - - .. py:attribute:: ip_type - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: port - - - .. py:attribute:: version - - - .. py:attribute:: wallet - - -.. py:class:: SET - - Bases: :py:obj:`tuple` - - - .. py:attribute:: now - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_BASE_FEE_PER_GAS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: fee - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_BEACON_CONFIG - - Bases: :py:obj:`tuple` - - - .. py:attribute:: config_payload - - - .. py:attribute:: pallet - - - .. py:attribute:: signature - - - .. py:attribute:: wallet - - -.. py:class:: SET_CHILDKEY_TAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: take - - - .. py:attribute:: wallet - - -.. py:class:: SET_CHILDREN - - Bases: :py:obj:`tuple` - - - .. py:attribute:: children - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_CODE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: code - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_CODE_WITHOUT_CHECKS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: code - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_COLDKEY_AUTO_STAKE_HOTKEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_COMMITMENT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: info - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_ELASTICITY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: elasticity - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_FEE_RATE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: rate - - - .. py:attribute:: wallet - - -.. py:class:: SET_HEAP_PAGES - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pages - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_IDENTITY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: identified - - - .. py:attribute:: info - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_IDENTITY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: additional - - - .. py:attribute:: description - - - .. py:attribute:: discord - - - .. py:attribute:: github_repo - - - .. py:attribute:: image - - - .. py:attribute:: name - - - .. py:attribute:: pallet - - - .. py:attribute:: url - - - .. py:attribute:: wallet - - -.. py:class:: SET_KEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: new - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_MAX_SPACE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: new_limit - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_MECHANISM_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: dests - - - .. py:attribute:: mecid - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: version_key - - - .. py:attribute:: wallet - - - .. py:attribute:: weights - - -.. py:class:: SET_MEMBERS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: new_members - - - .. py:attribute:: old_count - - - .. py:attribute:: pallet - - - .. py:attribute:: prime - - - .. py:attribute:: wallet - - -.. py:class:: SET_OLDEST_STORED_ROUND - - Bases: :py:obj:`tuple` - - - .. py:attribute:: oldest_round - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_PENDING_CHILDKEY_COOLDOWN - - Bases: :py:obj:`tuple` - - - .. py:attribute:: cooldown - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_PRIME - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: who - - -.. py:class:: SET_PRIME - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: who - - -.. py:class:: SET_RETRY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: period - - - .. py:attribute:: retries - - - .. py:attribute:: task - - - .. py:attribute:: wallet - - -.. py:class:: SET_RETRY_NAMED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: id - - - .. py:attribute:: pallet - - - .. py:attribute:: period - - - .. py:attribute:: retries - - - .. py:attribute:: wallet - - -.. py:class:: SET_STORAGE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: items - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SET_SUBNET_IDENTITY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: additional - - - .. py:attribute:: description - - - .. py:attribute:: discord - - - .. py:attribute:: github_repo - - - .. py:attribute:: logo_url - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: subnet_contact - - - .. py:attribute:: subnet_name - - - .. py:attribute:: subnet_url - - - .. py:attribute:: wallet - - -.. py:class:: SET_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: dests - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: version_key - - - .. py:attribute:: wallet - - - .. py:attribute:: weights - - -.. py:class:: SET_WHITELIST - - Bases: :py:obj:`tuple` - - - .. py:attribute:: new - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: START_CALL - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SUDO - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SUDO - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SWAP_AUTHORITIES - - Bases: :py:obj:`tuple` - - - .. py:attribute:: new_authorities - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SWAP_COLDKEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: new_coldkey - - - .. py:attribute:: old_coldkey - - - .. py:attribute:: pallet - - - .. py:attribute:: swap_cost - - - .. py:attribute:: wallet - - -.. py:class:: SWAP_HOTKEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: new_hotkey - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SWAP_MEMBER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: add - - - .. py:attribute:: pallet - - - .. py:attribute:: remove - - - .. py:attribute:: wallet - - -.. py:class:: SWAP_MEMBER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: add - - - .. py:attribute:: pallet - - - .. py:attribute:: remove - - - .. py:attribute:: wallet - - -.. py:class:: SWAP_STAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: alpha_amount - - - .. py:attribute:: destination_netuid - - - .. py:attribute:: hotkey - - - .. py:attribute:: origin_netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: SWAP_STAKE_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: allow_partial - - - .. py:attribute:: alpha_amount - - - .. py:attribute:: destination_netuid - - - .. py:attribute:: hotkey - - - .. py:attribute:: limit_price - - - .. py:attribute:: origin_netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: TERMINATE_LEASE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: lease_id - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: TOGGLE_USER_LIQUIDITY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: enable - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: TRANSACT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: transaction - - - .. py:attribute:: wallet - - -.. py:class:: TRANSFER_ALL - - Bases: :py:obj:`tuple` - - - .. py:attribute:: dest - - - .. py:attribute:: keep_alive - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: TRANSFER_ALLOW_DEATH - - Bases: :py:obj:`tuple` - - - .. py:attribute:: dest - - - .. py:attribute:: pallet - - - .. py:attribute:: value - - - .. py:attribute:: wallet - - -.. py:class:: TRANSFER_KEEP_ALIVE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: dest - - - .. py:attribute:: pallet - - - .. py:attribute:: value - - - .. py:attribute:: wallet - - -.. py:class:: TRANSFER_STAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: alpha_amount - - - .. py:attribute:: destination_coldkey - - - .. py:attribute:: destination_netuid - - - .. py:attribute:: hotkey - - - .. py:attribute:: origin_netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: TRY_ASSOCIATE_HOTKEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: UNNOTE_PREIMAGE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hash - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: UNREQUEST_PREIMAGE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hash - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: UNSTAKE_ALL - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: UNSTAKE_ALL_ALPHA - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: UPDATE_CAP - - Bases: :py:obj:`tuple` - - - .. py:attribute:: crowdloan_id - - - .. py:attribute:: new_cap - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: UPDATE_END - - Bases: :py:obj:`tuple` - - - .. py:attribute:: crowdloan_id - - - .. py:attribute:: new_end - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: UPDATE_MIN_CONTRIBUTION - - Bases: :py:obj:`tuple` - - - .. py:attribute:: crowdloan_id - - - .. py:attribute:: new_min_contribution - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: UPDATE_SYMBOL - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: symbol - - - .. py:attribute:: wallet - - -.. py:class:: UPGRADE_ACCOUNTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: who - - -.. py:class:: VOTE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: approve - - - .. py:attribute:: hotkey - - - .. py:attribute:: index - - - .. py:attribute:: pallet - - - .. py:attribute:: proposal - - - .. py:attribute:: wallet - - -.. py:class:: VOTE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: approve - - - .. py:attribute:: index - - - .. py:attribute:: pallet - - - .. py:attribute:: proposal - - - .. py:attribute:: wallet - - -.. py:class:: WITHDRAW - - Bases: :py:obj:`tuple` - - - .. py:attribute:: address - - - .. py:attribute:: pallet - - - .. py:attribute:: value - - - .. py:attribute:: wallet - - -.. py:class:: WITHDRAW - - Bases: :py:obj:`tuple` - - - .. py:attribute:: crowdloan_id - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - -.. py:class:: WITH_WEIGHT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: pallet - - - .. py:attribute:: wallet - - - .. py:attribute:: weight - - -.. py:class:: WRITE_PULSE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: pulses_payload - - - .. py:attribute:: signature - - - .. py:attribute:: wallet - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/pallets/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/pallets/index.rst deleted file mode 100644 index 189debe6ab..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/pallets/index.rst +++ /dev/null @@ -1,142 +0,0 @@ -bittensor.extras.dev_framework.calls.pallets -============================================ - -.. py:module:: bittensor.extras.dev_framework.calls.pallets - -.. autoapi-nested-parse:: - - " - Subtensor spec version: 325 - - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.extras.dev_framework.calls.pallets.AdminUtils - bittensor.extras.dev_framework.calls.pallets.Balances - bittensor.extras.dev_framework.calls.pallets.BaseFee - bittensor.extras.dev_framework.calls.pallets.Commitments - bittensor.extras.dev_framework.calls.pallets.Crowdloan - bittensor.extras.dev_framework.calls.pallets.Drand - bittensor.extras.dev_framework.calls.pallets.EVM - bittensor.extras.dev_framework.calls.pallets.Ethereum - bittensor.extras.dev_framework.calls.pallets.Grandpa - bittensor.extras.dev_framework.calls.pallets.Multisig - bittensor.extras.dev_framework.calls.pallets.Preimage - bittensor.extras.dev_framework.calls.pallets.Proxy - bittensor.extras.dev_framework.calls.pallets.Registry - bittensor.extras.dev_framework.calls.pallets.SafeMode - bittensor.extras.dev_framework.calls.pallets.Scheduler - bittensor.extras.dev_framework.calls.pallets.SenateMembers - bittensor.extras.dev_framework.calls.pallets.SubtensorModule - bittensor.extras.dev_framework.calls.pallets.Sudo - bittensor.extras.dev_framework.calls.pallets.Swap - bittensor.extras.dev_framework.calls.pallets.System - bittensor.extras.dev_framework.calls.pallets.Timestamp - bittensor.extras.dev_framework.calls.pallets.Triumvirate - bittensor.extras.dev_framework.calls.pallets.TriumvirateMembers - bittensor.extras.dev_framework.calls.pallets.Utility - - -Module Contents ---------------- - -.. py:data:: AdminUtils - :value: 'AdminUtils' - - -.. py:data:: Balances - :value: 'Balances' - - -.. py:data:: BaseFee - :value: 'BaseFee' - - -.. py:data:: Commitments - :value: 'Commitments' - - -.. py:data:: Crowdloan - :value: 'Crowdloan' - - -.. py:data:: Drand - :value: 'Drand' - - -.. py:data:: EVM - :value: 'EVM' - - -.. py:data:: Ethereum - :value: 'Ethereum' - - -.. py:data:: Grandpa - :value: 'Grandpa' - - -.. py:data:: Multisig - :value: 'Multisig' - - -.. py:data:: Preimage - :value: 'Preimage' - - -.. py:data:: Proxy - :value: 'Proxy' - - -.. py:data:: Registry - :value: 'Registry' - - -.. py:data:: SafeMode - :value: 'SafeMode' - - -.. py:data:: Scheduler - :value: 'Scheduler' - - -.. py:data:: SenateMembers - :value: 'SenateMembers' - - -.. py:data:: SubtensorModule - :value: 'SubtensorModule' - - -.. py:data:: Sudo - :value: 'Sudo' - - -.. py:data:: Swap - :value: 'Swap' - - -.. py:data:: System - :value: 'System' - - -.. py:data:: Timestamp - :value: 'Timestamp' - - -.. py:data:: Triumvirate - :value: 'Triumvirate' - - -.. py:data:: TriumvirateMembers - :value: 'TriumvirateMembers' - - -.. py:data:: Utility - :value: 'Utility' - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index.rst deleted file mode 100644 index dc5769f958..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index.rst +++ /dev/null @@ -1,1477 +0,0 @@ -bittensor.extras.dev_framework.calls.sudo_calls -=============================================== - -.. py:module:: bittensor.extras.dev_framework.calls.sudo_calls - -.. autoapi-nested-parse:: - - This file is auto-generated. Do not edit manually. - - For developers: - - Use the function `recreate_calls_subpackage()` to regenerate this file. - - The command lists are built dynamically from the current Subtensor metadata (`Subtensor.substrate.metadata`). - - Each command is represented as a `namedtuple` with fields: - * System arguments: wallet, pallet (and `sudo` for sudo calls). - * Additional arguments: taken from the extrinsic definition (with type hints for reference). - - These namedtuples are intended as convenient templates for building commands in tests and end-to-end scenarios. - - .. note:: - - Any manual changes will be overwritten the next time the generator is run. - Subtensor spec version: 325 - - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT - bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT - - -Module Contents ---------------- - -.. py:class:: SUDO_AS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - - .. py:attribute:: who - - -.. py:class:: SUDO_SET_ACTIVITY_CUTOFF - - Bases: :py:obj:`tuple` - - - .. py:attribute:: activity_cutoff - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_ADJUSTMENT_ALPHA - - Bases: :py:obj:`tuple` - - - .. py:attribute:: adjustment_alpha - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_ADJUSTMENT_INTERVAL - - Bases: :py:obj:`tuple` - - - .. py:attribute:: adjustment_interval - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_ADMIN_FREEZE_WINDOW - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - - .. py:attribute:: window - - -.. py:class:: SUDO_SET_ALPHA_SIGMOID_STEEPNESS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: steepness - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_ALPHA_VALUES - - Bases: :py:obj:`tuple` - - - .. py:attribute:: alpha_high - - - .. py:attribute:: alpha_low - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_BONDS_MOVING_AVERAGE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: bonds_moving_average - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_BONDS_PENALTY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: bonds_penalty - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_BONDS_RESET_ENABLED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: enabled - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_CK_BURN - - Bases: :py:obj:`tuple` - - - .. py:attribute:: burn - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION - - Bases: :py:obj:`tuple` - - - .. py:attribute:: duration - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_COMMIT_REVEAL_VERSION - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: version - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: enabled - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL - - Bases: :py:obj:`tuple` - - - .. py:attribute:: interval - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_DEFAULT_TAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: default_take - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_DIFFICULTY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: difficulty - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION - - Bases: :py:obj:`tuple` - - - .. py:attribute:: duration - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_EMA_PRICE_HALVING_PERIOD - - Bases: :py:obj:`tuple` - - - .. py:attribute:: ema_halving - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_EVM_CHAIN_ID - - Bases: :py:obj:`tuple` - - - .. py:attribute:: chain_id - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_IMMUNITY_PERIOD - - Bases: :py:obj:`tuple` - - - .. py:attribute:: immunity_period - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_KAPPA - - Bases: :py:obj:`tuple` - - - .. py:attribute:: kappa - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_LIQUID_ALPHA_ENABLED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: enabled - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_LOCK_REDUCTION_INTERVAL - - Bases: :py:obj:`tuple` - - - .. py:attribute:: interval - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MAX_ALLOWED_UIDS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: max_allowed_uids - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MAX_ALLOWED_VALIDATORS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: max_allowed_validators - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MAX_BURN - - Bases: :py:obj:`tuple` - - - .. py:attribute:: max_burn - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MAX_CHILDKEY_TAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: take - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MAX_DIFFICULTY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: max_difficulty - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK - - Bases: :py:obj:`tuple` - - - .. py:attribute:: max_registrations_per_block - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MAX_WEIGHT_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: max_weight_limit - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MECHANISM_COUNT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: mechanism_count - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MECHANISM_EMISSION_SPLIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: maybe_split - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MIN_ALLOWED_UIDS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: min_allowed_uids - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MIN_ALLOWED_WEIGHTS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: min_allowed_weights - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MIN_BURN - - Bases: :py:obj:`tuple` - - - .. py:attribute:: min_burn - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MIN_CHILDKEY_TAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: take - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MIN_DELEGATE_TAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: take - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_MIN_DIFFICULTY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: min_difficulty - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_NETWORK_IMMUNITY_PERIOD - - Bases: :py:obj:`tuple` - - - .. py:attribute:: immunity_period - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_NETWORK_MIN_LOCK_COST - - Bases: :py:obj:`tuple` - - - .. py:attribute:: lock_cost - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: registration_allowed - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_NETWORK_RATE_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: rate_limit - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_NETWORK_REGISTRATION_ALLOWED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: registration_allowed - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: min_stake - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_OWNER_HPARAM_RATE_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: epochs - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: immune_neurons - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_RAO_RECYCLED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: rao_recycled - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_RECYCLE_OR_BURN - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: recycle_or_burn - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_RHO - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: rho - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_SERVING_RATE_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: serving_rate_limit - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_SN_OWNER_HOTKEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_STAKE_THRESHOLD - - Bases: :py:obj:`tuple` - - - .. py:attribute:: min_stake - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_SUBNET_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: max_subnets - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_SUBNET_MOVING_ALPHA - - Bases: :py:obj:`tuple` - - - .. py:attribute:: alpha - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_SUBNET_OWNER_CUT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: subnet_owner_cut - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_SUBNET_OWNER_HOTKEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: hotkey - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_SUBTOKEN_ENABLED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: subtoken_enabled - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: target_registrations_per_interval - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_TEMPO - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: tempo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_TOGGLE_TRANSFER - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: toggle - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_TOTAL_ISSUANCE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: total_issuance - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: tx_rate_limit - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: tx_rate_limit - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_TX_RATE_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: tx_rate_limit - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_SET_WEIGHTS_SET_RATE_LIMIT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - - .. py:attribute:: weights_set_rate_limit - - -.. py:class:: SUDO_SET_WEIGHTS_VERSION_KEY - - Bases: :py:obj:`tuple` - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - - .. py:attribute:: weights_version_key - - -.. py:class:: SUDO_SET_YUMA3_ENABLED - - Bases: :py:obj:`tuple` - - - .. py:attribute:: enabled - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_TOGGLE_EVM_PRECOMPILE - - Bases: :py:obj:`tuple` - - - .. py:attribute:: enabled - - - .. py:attribute:: pallet - - - .. py:attribute:: precompile_id - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_TRIM_TO_MAX_ALLOWED_UIDS - - Bases: :py:obj:`tuple` - - - .. py:attribute:: max_n - - - .. py:attribute:: netuid - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - -.. py:class:: SUDO_UNCHECKED_WEIGHT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - - .. py:attribute:: weight - - -.. py:class:: SUDO_UNCHECKED_WEIGHT - - Bases: :py:obj:`tuple` - - - .. py:attribute:: call - - - .. py:attribute:: pallet - - - .. py:attribute:: sudo - - - .. py:attribute:: wallet - - - .. py:attribute:: weight - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/index.rst deleted file mode 100644 index 2ea2e58a9c..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/index.rst +++ /dev/null @@ -1,17 +0,0 @@ -bittensor.extras.dev_framework -============================== - -.. py:module:: bittensor.extras.dev_framework - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/extras/dev_framework/calls/index - /autoapi/bittensor/extras/dev_framework/subnet/index - /autoapi/bittensor/extras/dev_framework/utils/index - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/subnet/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/subnet/index.rst deleted file mode 100644 index 62b201bcb6..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/subnet/index.rst +++ /dev/null @@ -1,144 +0,0 @@ -bittensor.extras.dev_framework.subnet -===================================== - -.. py:module:: bittensor.extras.dev_framework.subnet - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.extras.dev_framework.subnet.NETUID - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.dev_framework.subnet.CALL_RECORD - bittensor.extras.dev_framework.subnet.TestSubnet - - -Module Contents ---------------- - -.. py:class:: CALL_RECORD - - Bases: :py:obj:`tuple` - - - .. py:attribute:: idx - - - .. py:attribute:: operation - - - .. py:attribute:: response - - -.. py:data:: NETUID - :value: 'SN_NETUID' - - -.. py:class:: TestSubnet(subtensor, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Class for managing test subnet operations. - - - .. py:method:: async_execute_one(step) - :async: - - - Executes one step asynchronously. - - - - .. py:method:: async_execute_steps(steps) - :async: - - - Executes a multiple steps asynchronously. - - - - .. py:method:: async_set_hyperparameter(sudo_or_owner_wallet, call_function, call_module, call_params, sudo_call = False, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - :async: - - - Set hyperparameter for the chain or subnet. - - - - .. py:method:: async_wait_next_epoch(netuid = None) - :async: - - - Async wait until the next epoch first block is reached. - - - - .. py:property:: calls - :type: list[CALL_RECORD] - - - - .. py:method:: execute_one(step) - - Executes one step synchronously. - - - - .. py:method:: execute_steps(steps) - - Executes a multiple steps synchronously. - - - - .. py:property:: netuid - :type: int - - - - .. py:property:: owner - :type: bittensor_wallet.Wallet - - - - .. py:attribute:: period - :value: None - - - - .. py:attribute:: raise_error - :value: False - - - - .. py:attribute:: s - :type: bittensor.extras.SubtensorApi - - - .. py:method:: set_hyperparameter(sudo_or_owner_wallet, call_function, call_module, call_params, sudo_call = False, period = None, raise_error = False, wait_for_inclusion = True, wait_for_finalization = True) - - Set hyperparameter for the chain or subnet. - - - - .. py:attribute:: wait_for_finalization - :value: True - - - - .. py:attribute:: wait_for_inclusion - :value: True - - - - .. py:method:: wait_next_epoch(netuid = None) - - Sync wait until the next epoch first block is reached. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/utils/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/utils/index.rst deleted file mode 100644 index a54ab3cb84..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/dev_framework/utils/index.rst +++ /dev/null @@ -1,87 +0,0 @@ -bittensor.extras.dev_framework.utils -==================================== - -.. py:module:: bittensor.extras.dev_framework.utils - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.extras.dev_framework.utils.ACTIVATE_SUBNET - bittensor.extras.dev_framework.utils.REGISTER_NEURON - bittensor.extras.dev_framework.utils.REGISTER_SUBNET - bittensor.extras.dev_framework.utils.STEPS - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.dev_framework.utils.ActivateSubnet - bittensor.extras.dev_framework.utils.RegisterNeuron - bittensor.extras.dev_framework.utils.RegisterSubnet - - -Functions ---------- - -.. autoapisummary:: - - bittensor.extras.dev_framework.utils.is_instance_namedtuple - bittensor.extras.dev_framework.utils.split_command - - -Module Contents ---------------- - -.. py:data:: ACTIVATE_SUBNET - -.. py:class:: ActivateSubnet - - .. py:attribute:: netuid - :type: Optional[int] - :value: None - - - - .. py:attribute:: wallet - :type: bittensor_wallet.Wallet - - -.. py:data:: REGISTER_NEURON - -.. py:data:: REGISTER_SUBNET - -.. py:class:: RegisterNeuron - - .. py:attribute:: netuid - :type: Optional[int] - :value: None - - - - .. py:attribute:: wallet - :type: bittensor_wallet.Wallet - - -.. py:class:: RegisterSubnet - - .. py:attribute:: wallet - :type: bittensor_wallet.Wallet - - -.. py:data:: STEPS - -.. py:function:: is_instance_namedtuple(obj) - - Check if the object is an instance of a namedtuple. - - -.. py:function:: split_command(command) - - Parse command and return four objects (wallet, pallet, sudo, kwargs). - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/index.rst deleted file mode 100644 index a8affb663c..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/index.rst +++ /dev/null @@ -1,29 +0,0 @@ -bittensor.extras -================ - -.. py:module:: bittensor.extras - -.. autoapi-nested-parse:: - - The `addons` sub-package contains optional extensions and logic augmentations for the core functionality of the project. - - Modules placed in this package may include experimental features, alternative implementations, developer tools, or - enhancements that extend or customize core behavior. These components are not always critical for the main application, - but can be enabled or imported as needed for advanced use cases, internal tooling, or feature expansion. - - Use this package to keep optional, modular, or feature-gated logic separate from the primary codebase while maintaining - discoverability and structure. - - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/extras/dev_framework/index - /autoapi/bittensor/extras/subtensor_api/index - /autoapi/bittensor/extras/timelock/index - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/chain/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/chain/index.rst deleted file mode 100644 index 514e40f3c5..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/chain/index.rst +++ /dev/null @@ -1,64 +0,0 @@ -bittensor.extras.subtensor_api.chain -==================================== - -.. py:module:: bittensor.extras.subtensor_api.chain - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.subtensor_api.chain.Chain - - -Module Contents ---------------- - -.. py:class:: Chain(subtensor) - - Class for managing chain state operations. - - - .. py:attribute:: get_admin_freeze_window - - - .. py:attribute:: get_block_hash - - - .. py:attribute:: get_block_info - - - .. py:attribute:: get_current_block - - - .. py:attribute:: get_delegate_identities - - - .. py:attribute:: get_existential_deposit - - - .. py:attribute:: get_minimum_required_stake - - - .. py:attribute:: get_timestamp - - - .. py:attribute:: get_vote_data - - - .. py:attribute:: is_fast_blocks - - - .. py:attribute:: is_in_admin_freeze_window - - - .. py:attribute:: last_drand_round - - - .. py:attribute:: state_call - - - .. py:attribute:: tx_rate_limit - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/commitments/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/commitments/index.rst deleted file mode 100644 index d0769fdb43..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/commitments/index.rst +++ /dev/null @@ -1,58 +0,0 @@ -bittensor.extras.subtensor_api.commitments -========================================== - -.. py:module:: bittensor.extras.subtensor_api.commitments - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.subtensor_api.commitments.Commitments - - -Module Contents ---------------- - -.. py:class:: Commitments(subtensor) - - Class for managing any commitment operations. - - - .. py:attribute:: commit_reveal_enabled - - - .. py:attribute:: get_all_commitments - - - .. py:attribute:: get_all_revealed_commitments - - - .. py:attribute:: get_commitment - - - .. py:attribute:: get_commitment_metadata - - - .. py:attribute:: get_last_bonds_reset - - - .. py:attribute:: get_last_commitment_bonds_reset_block - - - .. py:attribute:: get_revealed_commitment - - - .. py:attribute:: get_revealed_commitment_by_hotkey - - - .. py:attribute:: get_timelocked_weight_commits - - - .. py:attribute:: set_commitment - - - .. py:attribute:: set_reveal_commitment - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/delegates/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/delegates/index.rst deleted file mode 100644 index ad77ff8d5e..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/delegates/index.rst +++ /dev/null @@ -1,43 +0,0 @@ -bittensor.extras.subtensor_api.delegates -======================================== - -.. py:module:: bittensor.extras.subtensor_api.delegates - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.subtensor_api.delegates.Delegates - - -Module Contents ---------------- - -.. py:class:: Delegates(subtensor) - - Class for managing delegate operations. - - - .. py:attribute:: get_delegate_by_hotkey - - - .. py:attribute:: get_delegate_identities - - - .. py:attribute:: get_delegate_take - - - .. py:attribute:: get_delegated - - - .. py:attribute:: get_delegates - - - .. py:attribute:: is_hotkey_delegate - - - .. py:attribute:: set_delegate_take - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/extrinsics/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/extrinsics/index.rst deleted file mode 100644 index d23d7d8ebb..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/extrinsics/index.rst +++ /dev/null @@ -1,106 +0,0 @@ -bittensor.extras.subtensor_api.extrinsics -========================================= - -.. py:module:: bittensor.extras.subtensor_api.extrinsics - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.subtensor_api.extrinsics.Extrinsics - - -Module Contents ---------------- - -.. py:class:: Extrinsics(subtensor) - - Class for managing extrinsic operations. - - - .. py:attribute:: add_liquidity - - - .. py:attribute:: add_stake - - - .. py:attribute:: add_stake_multiple - - - .. py:attribute:: burned_register - - - .. py:attribute:: commit_weights - - - .. py:attribute:: get_extrinsic_fee - - - .. py:attribute:: modify_liquidity - - - .. py:attribute:: move_stake - - - .. py:attribute:: register - - - .. py:attribute:: register_subnet - - - .. py:attribute:: remove_liquidity - - - .. py:attribute:: reveal_weights - - - .. py:attribute:: root_register - - - .. py:attribute:: root_set_pending_childkey_cooldown - - - .. py:attribute:: serve_axon - - - .. py:attribute:: set_children - - - .. py:attribute:: set_commitment - - - .. py:attribute:: set_subnet_identity - - - .. py:attribute:: set_weights - - - .. py:attribute:: start_call - - - .. py:attribute:: swap_stake - - - .. py:attribute:: toggle_user_liquidity - - - .. py:attribute:: transfer - - - .. py:attribute:: transfer_stake - - - .. py:attribute:: unstake - - - .. py:attribute:: unstake_all - - - .. py:attribute:: unstake_multiple - - - .. py:attribute:: validate_extrinsic_params - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/index.rst deleted file mode 100644 index c9f9b4a32e..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/index.rst +++ /dev/null @@ -1,210 +0,0 @@ -bittensor.extras.subtensor_api -============================== - -.. py:module:: bittensor.extras.subtensor_api - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/extras/subtensor_api/chain/index - /autoapi/bittensor/extras/subtensor_api/commitments/index - /autoapi/bittensor/extras/subtensor_api/delegates/index - /autoapi/bittensor/extras/subtensor_api/extrinsics/index - /autoapi/bittensor/extras/subtensor_api/metagraphs/index - /autoapi/bittensor/extras/subtensor_api/neurons/index - /autoapi/bittensor/extras/subtensor_api/queries/index - /autoapi/bittensor/extras/subtensor_api/staking/index - /autoapi/bittensor/extras/subtensor_api/subnets/index - /autoapi/bittensor/extras/subtensor_api/utils/index - /autoapi/bittensor/extras/subtensor_api/wallets/index - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.subtensor_api.SubtensorApi - - -Package Contents ----------------- - -.. py:class:: SubtensorApi(network = None, config = None, async_subtensor = False, legacy_methods = False, fallback_endpoints = None, retry_forever = False, log_verbose = False, mock = False, archive_endpoints = None, websocket_shutdown_timer = 5.0) - - Subtensor API class. - - :param network: The network to connect to. - :param config: Bittensor configuration object. - :param legacy_methods: If `True`, all methods from the Subtensor class will be added to the root level of this class. - :param fallback_endpoints: List of fallback endpoints to use if default or provided network is not available. - :param retry_forever: Whether to retry forever on connection errors. - :param log_verbose: Enables or disables verbose logging. - :param mock: Whether this is a mock instance. Mainly just for use in testing. - :param archive_endpoints: Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases - where you are requesting a block that is too old for your current (presumably lite) node. - :param websocket_shutdown_timer: Amount of time, in seconds, to wait after the last response from the chain to close - the connection. Only applicable to AsyncSubtensor. If `None` is passed to this, the automatic shutdown - process is disabled. - - .. admonition:: Example - - # sync version - import bittensor as bt - - subtensor = bt.SubtensorApi() - print(subtensor.block) - print(subtensor.delegates.get_delegate_identities()) - subtensor.chain.tx_rate_limit() - - # async version - import bittensor as bt - - subtensor = bt.SubtensorApi(async_subtensor=True) - async with subtensor: - print(await subtensor.block) - print(await subtensor.delegates.get_delegate_identities()) - print(await subtensor.chain.tx_rate_limit()) - - # using `legacy_methods` - import bittensor as bt - - subtensor = bt.SubtensorApi(legacy_methods=True) - print(subtensor.bonds(0)) - - # using `fallback_endpoints` or `retry_forever` - import bittensor as bt - - subtensor = bt.SubtensorApi( - network="finney", - fallback_endpoints=["wss://localhost:9945", "wss://some-other-endpoint:9945"], - retry_forever=True, - ) - print(subtensor.block) - - - .. py:method:: add_args(parser) - :classmethod: - - - - .. py:property:: block - - Returns current chain block number. - - - .. py:property:: chain - - Property of interaction with chain methods. - - - .. py:attribute:: chain_endpoint - :value: None - - - - .. py:attribute:: close - - - .. py:property:: commitments - - Property to access commitments methods. - - - .. py:attribute:: compose_call - - - .. py:attribute:: config - - - .. py:property:: delegates - - Property to access delegates methods. - - - .. py:attribute:: determine_block_hash - - - .. py:attribute:: encode_params - - - .. py:property:: extrinsics - - Property to access extrinsics methods. - - - .. py:attribute:: help - - - .. py:attribute:: initialize - :value: None - - - - .. py:attribute:: inner_subtensor - - - .. py:attribute:: is_async - :value: False - - - - .. py:attribute:: log_verbose - :value: False - - - - .. py:property:: metagraphs - - Property to access metagraphs methods. - - - .. py:attribute:: network - :value: None - - - - .. py:property:: neurons - - Property to access neurons methods. - - - .. py:property:: queries - - Property to access subtensor queries methods. - - - .. py:attribute:: setup_config - - - .. py:attribute:: sign_and_send_extrinsic - - - .. py:property:: staking - - Property to access staking methods. - - - .. py:attribute:: start_call - - - .. py:property:: subnets - - Property of interaction with subnets methods. - - - .. py:attribute:: substrate - - - .. py:attribute:: wait_for_block - - - .. py:property:: wallets - - Property of interaction methods with cold/hotkeys, and balances, etc. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/metagraphs/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/metagraphs/index.rst deleted file mode 100644 index fbea9fe6bf..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/metagraphs/index.rst +++ /dev/null @@ -1,31 +0,0 @@ -bittensor.extras.subtensor_api.metagraphs -========================================= - -.. py:module:: bittensor.extras.subtensor_api.metagraphs - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.subtensor_api.metagraphs.Metagraphs - - -Module Contents ---------------- - -.. py:class:: Metagraphs(subtensor) - - Class for managing metagraph operations. - - - .. py:attribute:: get_all_metagraphs_info - - - .. py:attribute:: get_metagraph_info - - - .. py:attribute:: metagraph - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/neurons/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/neurons/index.rst deleted file mode 100644 index ec91d35700..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/neurons/index.rst +++ /dev/null @@ -1,40 +0,0 @@ -bittensor.extras.subtensor_api.neurons -====================================== - -.. py:module:: bittensor.extras.subtensor_api.neurons - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.subtensor_api.neurons.Neurons - - -Module Contents ---------------- - -.. py:class:: Neurons(subtensor) - - Class for managing neuron operations. - - - .. py:attribute:: get_all_neuron_certificates - - - .. py:attribute:: get_neuron_certificate - - - .. py:attribute:: neuron_for_uid - - - .. py:attribute:: neurons - - - .. py:attribute:: neurons_lite - - - .. py:attribute:: query_identity - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/queries/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/queries/index.rst deleted file mode 100644 index eb8c8ce40a..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/queries/index.rst +++ /dev/null @@ -1,40 +0,0 @@ -bittensor.extras.subtensor_api.queries -====================================== - -.. py:module:: bittensor.extras.subtensor_api.queries - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.subtensor_api.queries.Queries - - -Module Contents ---------------- - -.. py:class:: Queries(subtensor) - - Class for managing subtensor query operations. - - - .. py:attribute:: query_constant - - - .. py:attribute:: query_map - - - .. py:attribute:: query_map_subtensor - - - .. py:attribute:: query_module - - - .. py:attribute:: query_runtime_api - - - .. py:attribute:: query_subtensor - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/staking/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/staking/index.rst deleted file mode 100644 index c2439eac9b..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/staking/index.rst +++ /dev/null @@ -1,82 +0,0 @@ -bittensor.extras.subtensor_api.staking -====================================== - -.. py:module:: bittensor.extras.subtensor_api.staking - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.subtensor_api.staking.Staking - - -Module Contents ---------------- - -.. py:class:: Staking(subtensor) - - Class for managing staking operations. - - - .. py:attribute:: add_stake - - - .. py:attribute:: add_stake_multiple - - - .. py:attribute:: get_auto_stakes - - - .. py:attribute:: get_hotkey_stake - - - .. py:attribute:: get_minimum_required_stake - - - .. py:attribute:: get_stake - - - .. py:attribute:: get_stake_add_fee - - - .. py:attribute:: get_stake_for_coldkey_and_hotkey - - - .. py:attribute:: get_stake_info_for_coldkey - - - .. py:attribute:: get_stake_movement_fee - - - .. py:attribute:: get_stake_weight - - - .. py:attribute:: get_unstake_fee - - - .. py:attribute:: move_stake - - - .. py:attribute:: set_auto_stake - - - .. py:attribute:: sim_swap - - - .. py:attribute:: swap_stake - - - .. py:attribute:: transfer_stake - - - .. py:attribute:: unstake - - - .. py:attribute:: unstake_all - - - .. py:attribute:: unstake_multiple - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/subnets/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/subnets/index.rst deleted file mode 100644 index 3c33fba627..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/subnets/index.rst +++ /dev/null @@ -1,154 +0,0 @@ -bittensor.extras.subtensor_api.subnets -====================================== - -.. py:module:: bittensor.extras.subtensor_api.subnets - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.subtensor_api.subnets.Subnets - - -Module Contents ---------------- - -.. py:class:: Subnets(subtensor) - - Class for managing subnet operations. - - - .. py:attribute:: all_subnets - - - .. py:attribute:: blocks_since_last_step - - - .. py:attribute:: blocks_since_last_update - - - .. py:attribute:: bonds - - - .. py:attribute:: burned_register - - - .. py:attribute:: commit_reveal_enabled - - - .. py:attribute:: difficulty - - - .. py:attribute:: get_all_subnets_info - - - .. py:attribute:: get_all_subnets_netuid - - - .. py:attribute:: get_children - - - .. py:attribute:: get_children_pending - - - .. py:attribute:: get_hyperparameter - - - .. py:attribute:: get_liquidity_list - - - .. py:attribute:: get_mechanism_count - - - .. py:attribute:: get_mechanism_emission_split - - - .. py:attribute:: get_neuron_for_pubkey_and_subnet - - - .. py:attribute:: get_next_epoch_start_block - - - .. py:attribute:: get_parents - - - .. py:attribute:: get_subnet_burn_cost - - - .. py:attribute:: get_subnet_hyperparameters - - - .. py:attribute:: get_subnet_info - - - .. py:attribute:: get_subnet_owner_hotkey - - - .. py:attribute:: get_subnet_price - - - .. py:attribute:: get_subnet_prices - - - .. py:attribute:: get_subnet_reveal_period_epochs - - - .. py:attribute:: get_subnet_validator_permits - - - .. py:attribute:: get_total_subnets - - - .. py:attribute:: get_uid_for_hotkey_on_subnet - - - .. py:attribute:: immunity_period - - - .. py:attribute:: is_hotkey_registered_on_subnet - - - .. py:attribute:: is_subnet_active - - - .. py:attribute:: max_weight_limit - - - .. py:attribute:: min_allowed_weights - - - .. py:attribute:: recycle - - - .. py:attribute:: register - - - .. py:attribute:: register_subnet - - - .. py:attribute:: set_subnet_identity - - - .. py:attribute:: start_call - - - .. py:attribute:: subnet - - - .. py:attribute:: subnet_exists - - - .. py:attribute:: subnetwork_n - - - .. py:attribute:: tempo - - - .. py:attribute:: weights - - - .. py:attribute:: weights_rate_limit - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/utils/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/utils/index.rst deleted file mode 100644 index b782234fc8..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/utils/index.rst +++ /dev/null @@ -1,22 +0,0 @@ -bittensor.extras.subtensor_api.utils -==================================== - -.. py:module:: bittensor.extras.subtensor_api.utils - - -Functions ---------- - -.. autoapisummary:: - - bittensor.extras.subtensor_api.utils.add_legacy_methods - - -Module Contents ---------------- - -.. py:function:: add_legacy_methods(subtensor) - - If SubtensorApi get `subtensor_fields=True` arguments, then all classic Subtensor fields added to root level. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/wallets/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/wallets/index.rst deleted file mode 100644 index af4fafa928..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/subtensor_api/wallets/index.rst +++ /dev/null @@ -1,109 +0,0 @@ -bittensor.extras.subtensor_api.wallets -====================================== - -.. py:module:: bittensor.extras.subtensor_api.wallets - - -Classes -------- - -.. autoapisummary:: - - bittensor.extras.subtensor_api.wallets.Wallets - - -Module Contents ---------------- - -.. py:class:: Wallets(subtensor) - - Class for managing coldkey, hotkey, wallet operations. - - - .. py:attribute:: does_hotkey_exist - - - .. py:attribute:: filter_netuids_by_registered_hotkeys - - - .. py:attribute:: get_balance - - - .. py:attribute:: get_balances - - - .. py:attribute:: get_children - - - .. py:attribute:: get_children_pending - - - .. py:attribute:: get_delegate_by_hotkey - - - .. py:attribute:: get_delegate_take - - - .. py:attribute:: get_delegated - - - .. py:attribute:: get_hotkey_owner - - - .. py:attribute:: get_hotkey_stake - - - .. py:attribute:: get_minimum_required_stake - - - .. py:attribute:: get_netuids_for_hotkey - - - .. py:attribute:: get_owned_hotkeys - - - .. py:attribute:: get_parents - - - .. py:attribute:: get_stake - - - .. py:attribute:: get_stake_add_fee - - - .. py:attribute:: get_stake_for_coldkey_and_hotkey - - - .. py:attribute:: get_stake_for_hotkey - - - .. py:attribute:: get_stake_info_for_coldkey - - - .. py:attribute:: get_stake_movement_fee - - - .. py:attribute:: get_transfer_fee - - - .. py:attribute:: get_unstake_fee - - - .. py:attribute:: is_hotkey_delegate - - - .. py:attribute:: is_hotkey_registered - - - .. py:attribute:: is_hotkey_registered_any - - - .. py:attribute:: is_hotkey_registered_on_subnet - - - .. py:attribute:: set_children - - - .. py:attribute:: transfer - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/extras/timelock/index.rst b/static/python-api/html/_sources/autoapi/bittensor/extras/timelock/index.rst deleted file mode 100644 index 75cf5e0615..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/extras/timelock/index.rst +++ /dev/null @@ -1,149 +0,0 @@ -bittensor.extras.timelock -========================= - -.. py:module:: bittensor.extras.timelock - -.. autoapi-nested-parse:: - - This module provides functionality for TimeLock Encryption (TLE), a mechanism that encrypts data such that it can - only be decrypted after a specific amount of time (expressed in the form of Drand rounds). It includes functions - for encryption, decryption, and handling the decryption process by waiting for the reveal round. The logic is based on - Drand QuickNet. - - Main Functions: - - encrypt: Encrypts data and returns the encrypted data along with the reveal round. - - decrypt: Decrypts the provided encrypted data when the reveal round is reached. - - wait_reveal_and_decrypt: Waits for the reveal round and decrypts the encrypted data. - - Usage Example: - ```python - from bittensor import timelock - data = "From Cortex to Bittensor" - encrypted_data, reveal_round = timelock.encrypt(data, n_blocks=5) - decrypted_data = timelock.wait_reveal_and_decrypt(encrypted_data) - ``` - - Usage Example with custom data: - ```python - import pickle - from dataclasses import dataclass - - from bittensor import timelock - - - @dataclass - class Person: - name: str - age: int - - # get instance of your data - x_person = Person("X Lynch", 123) - - # get bytes of your instance - byte_data = pickle.dumps(x_person) - - # get TLE encoded bytes - encrypted, reveal_round = timelock.encrypt(byte_data, 1) - - # wait when reveal round appears in Drand QuickNet and get decrypted data - decrypted = timelock.wait_reveal_and_decrypt(encrypted_data=encrypted) - - # convert bytes into your instance back - x_person_2 = pickle.loads(decrypted) - - # make sure initial and decoded instances are the same - assert x_person == x_person_2 - ``` - - Note: - For handling fast-block nodes, set the `block_time` parameter to 0.25 seconds during encryption. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.extras.timelock.decrypt - bittensor.extras.timelock.encrypt - bittensor.extras.timelock.wait_reveal_and_decrypt - - -Module Contents ---------------- - -.. py:function:: decrypt(encrypted_data, no_errors = True, return_str = False) - - Decrypts encrypted data using TimeLock Decryption - - :param encrypted_data: Encrypted data to be decrypted. - :param no_errors: If True, no errors will be raised during decryption. - :param return_str: convert decrypted data to string if `True`. - - :returns: Decrypted data, when reveled round is reached. - :rtype: decrypted_data - - Usage: - # default usage - decrypted_data = decrypt(encrypted_data) - - # passing no_errors=False for raising errors during decryption - decrypted_data = decrypt(encrypted_data, no_errors=False) - - # passing return_str=True for returning decrypted data as string - decrypted_data = decrypt(encrypted_data, return_str=True) - - -.. py:function:: encrypt(data, n_blocks, block_time = 12.0) - - Encrypts data using TimeLock Encryption - - :param data: Any bytes data to be encrypted. - :param n_blocks: Number of blocks to encrypt. - :param block_time: Time in seconds for each block. - - :returns: A tuple containing the encrypted data and reveal TimeLock reveal round. - :rtype: tuple - - :raises PyValueError: If failed to encrypt data. - - Usage: - data = "From Cortex to Bittensor" - - # default usage - encrypted_data, reveal_round = encrypt(data, 10) - - # passing block_time for fast-blocks node - encrypted_data, reveal_round = encrypt(data, 15, block_time=0.25) - - encrypted_data, reveal_round = encrypt(data, 5) - - - .. note:: - - For using this function with fast-blocks node you need to set block_time to 0.25 seconds. - data, round = encrypt(data, n_blocks, block_time=0.25) - - -.. py:function:: wait_reveal_and_decrypt(encrypted_data, reveal_round = None, no_errors = True, return_str = False) - - Waits for reveal round and decrypts data using TimeLock Decryption. - - :param encrypted_data: Encrypted data to be decrypted. - :param reveal_round: Reveal round to wait for. If None, will be parsed from encrypted data. - :param no_errors: If True, no errors will be raised during decryption. - :param return_str: convert decrypted data to string if `True`. - - :raises struct.error: If failed to parse reveal round from encrypted data. - :raises TypeError: If reveal_round is None or wrong type. - :raises IndexError: If provided encrypted_data does not contain reveal round. - - :returns: Decrypted data. - :rtype: bytes - - Usage: - import bittensor as bt - encrypted, reveal_round = bt.timelock.encrypt("Cortex is power", 3) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/index.rst b/static/python-api/html/_sources/autoapi/bittensor/index.rst deleted file mode 100644 index 1a13fd7977..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/index.rst +++ /dev/null @@ -1,17 +0,0 @@ -bittensor -========= - -.. py:module:: bittensor - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/core/index - /autoapi/bittensor/extras/index - /autoapi/bittensor/utils/index - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/axon_utils/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/axon_utils/index.rst deleted file mode 100644 index 6acccbd6b3..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/axon_utils/index.rst +++ /dev/null @@ -1,64 +0,0 @@ -bittensor.utils.axon_utils -========================== - -.. py:module:: bittensor.utils.axon_utils - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.utils.axon_utils.ALLOWED_DELTA - bittensor.utils.axon_utils.NANOSECONDS_IN_SECOND - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.axon_utils.allowed_nonce_window_ns - bittensor.utils.axon_utils.calculate_diff_seconds - - -Module Contents ---------------- - -.. py:data:: ALLOWED_DELTA - :value: 4000000000 - - -.. py:data:: NANOSECONDS_IN_SECOND - :value: 1000000000 - - -.. py:function:: allowed_nonce_window_ns(current_time_ns, synapse_timeout = None) - - Calculates the allowed window for a nonce in nanoseconds. - - :param current_time_ns: The current time in nanoseconds. - :type current_time_ns: int - :param synapse_timeout: The optional timeout for the synapse in seconds. If None, it defaults to 0. - :type synapse_timeout: Optional[float] - - :returns: The allowed nonce window in nanoseconds. - :rtype: int - - -.. py:function:: calculate_diff_seconds(current_time, synapse_timeout, synapse_nonce) - - Calculates the difference in seconds between the current time and the synapse nonce, - and also returns the allowed delta in seconds. - - :param current_time: The current time in nanoseconds. - :type current_time: int - :param synapse_timeout: The optional timeout for the synapse in seconds. - :type synapse_timeout: Optional[float] - :param synapse_nonce: The nonce value for the synapse in nanoseconds. - :type synapse_nonce: int - - :returns: A tuple containing the difference in seconds (float) and the allowed delta in seconds (float). - :rtype: tuple - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/balance/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/balance/index.rst deleted file mode 100644 index fd88dbeac2..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/balance/index.rst +++ /dev/null @@ -1,159 +0,0 @@ -bittensor.utils.balance -======================= - -.. py:module:: bittensor.utils.balance - - -Classes -------- - -.. autoapisummary:: - - bittensor.utils.balance.Balance - bittensor.utils.balance.FixedPoint - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.balance.check_and_convert_to_balance - bittensor.utils.balance.fixed_to_float - bittensor.utils.balance.rao - bittensor.utils.balance.tao - - -Module Contents ---------------- - -.. py:class:: Balance(balance) - - Represents the bittensor balance of the wallet, stored as rao (int). - This class provides a way to interact with balances in two different units: rao and tao. - It provides methods to convert between these units, as well as to perform arithmetic and comparison operations. - - :ivar unit: A string representing the symbol for the tao unit. - :vartype unit: str - :ivar rao_unit: A string representing the symbol for the rao unit. - :vartype rao_unit: str - :ivar rao: An integer that stores the balance in rao units. - :vartype rao: int - :ivar tao: A float property that gives the balance in tao units. - - :vartype tao: float - - Initialize a Balance object. If balance is an int, it's assumed to be in rao. - If balance is a float, it's assumed to be in tao. - - :param balance: The initial balance, in either rao (if an int) or tao (if a float). - - - .. py:method:: from_float(amount, netuid = 0) - :staticmethod: - - - Given tao, return :func:`Balance` object with rao(``int``) and tao(``float``), where rao = int(tao*pow(10,9)) - :param amount: The amount in tao. - :type amount: float - :param netuid: The subnet uid for set currency unit. Defaults to `0`. - :type netuid: int - - :returns: A Balance object representing the given amount. - - - - .. py:method:: from_rao(amount, netuid = 0) - :staticmethod: - - - Given rao, return Balance object with rao(``int``) and tao(``float``), where rao = int(tao*pow(10,9)) - - :param amount: The amount in rao. - :type amount: int - :param netuid: The subnet uid for set currency unit. Defaults to `0`. - :type netuid: int - - :returns: A Balance object representing the given amount. - - - - .. py:method:: from_tao(amount, netuid = 0) - :staticmethod: - - - Given tao, return Balance object with rao(``int``) and tao(``float``), where rao = int(tao*pow(10,9)) - - :param amount: The amount in tao. - :type amount: float - :param netuid: The subnet uid for set currency unit. Defaults to `0`. - :type netuid: int - - :returns: A Balance object representing the given amount. - - - - .. py:method:: get_unit(netuid) - :staticmethod: - - - - .. py:attribute:: netuid - :type: int - :value: 0 - - - - .. py:attribute:: rao - :type: int - - - .. py:attribute:: rao_unit - :type: str - - - .. py:method:: set_unit(netuid) - - - .. py:property:: tao - - - .. py:attribute:: unit - :type: str - - -.. py:class:: FixedPoint - - Bases: :py:obj:`TypedDict` - - - Represents a fixed point ``U64F64`` number. - Where ``bits`` is a U128 representation of the fixed point number. - - This matches the type of the Alpha shares. - - Initialize self. See help(type(self)) for accurate signature. - - - .. py:attribute:: bits - :type: int - - -.. py:function:: check_and_convert_to_balance(amount) - - Helper function to check and convert the amount type to a Balance object. - This is used to support backwards compatibility while also providing a deprecation notice. - - -.. py:function:: fixed_to_float(fixed, frac_bits = 64, total_bits = 128) - -.. py:function:: rao(amount, netuid = 0) - - Helper function to create a Balance object from an int (Rao) - - -.. py:function:: tao(amount, netuid = 0) - - Helper function to create a Balance object from a float (Tao) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/console/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/console/index.rst deleted file mode 100644 index 43d0c59747..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/console/index.rst +++ /dev/null @@ -1,77 +0,0 @@ -bittensor.utils.btlogging.console -================================= - -.. py:module:: bittensor.utils.btlogging.console - -.. autoapi-nested-parse:: - - BittensorConsole class gives the ability to log messages to the terminal without changing Bittensor logging level. - - .. admonition:: Example - - from bittensor import logging - - # will be logged - logging.console.info("info message") - logging.console.error("error message") - logging.console.success("success message") - logging.console.warning("warning message") - logging.console.critical("critical message") - - # will not be logged - logging.info("test info") - - - -Classes -------- - -.. autoapisummary:: - - bittensor.utils.btlogging.console.BittensorConsole - - -Module Contents ---------------- - -.. py:class:: BittensorConsole(logger) - - .. py:method:: critical(message) - - Logs a CRITICAL message to the console. - - - - .. py:method:: debug(message) - - Logs a DEBUG message to the console. - - - - .. py:method:: error(message) - - Logs a ERROR message to the console. - - - - .. py:method:: info(message) - - Logs a INFO message to the console. - - - - .. py:attribute:: logger - - - .. py:method:: success(message) - - Logs a SUCCESS message to the console. - - - - .. py:method:: warning(message) - - Logs a WARNING message to the console. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/defines/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/defines/index.rst deleted file mode 100644 index e2b037a7d3..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/defines/index.rst +++ /dev/null @@ -1,56 +0,0 @@ -bittensor.utils.btlogging.defines -================================= - -.. py:module:: bittensor.utils.btlogging.defines - -.. autoapi-nested-parse:: - - Btlogging constant definition module. - - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.utils.btlogging.defines.BASE_LOG_FORMAT - bittensor.utils.btlogging.defines.BITTENSOR_LOGGER_NAME - bittensor.utils.btlogging.defines.DATE_FORMAT - bittensor.utils.btlogging.defines.DEFAULT_LOG_BACKUP_COUNT - bittensor.utils.btlogging.defines.DEFAULT_LOG_FILE_NAME - bittensor.utils.btlogging.defines.DEFAULT_MAX_ROTATING_LOG_FILE_SIZE - bittensor.utils.btlogging.defines.TRACE_LOG_FORMAT - - -Module Contents ---------------- - -.. py:data:: BASE_LOG_FORMAT - :value: '%(asctime)s | %(levelname)s | %(message)s' - - -.. py:data:: BITTENSOR_LOGGER_NAME - :value: 'bittensor' - - -.. py:data:: DATE_FORMAT - :value: '%Y-%m-%d %H:%M:%S' - - -.. py:data:: DEFAULT_LOG_BACKUP_COUNT - :value: 10 - - -.. py:data:: DEFAULT_LOG_FILE_NAME - :value: 'bittensor.log' - - -.. py:data:: DEFAULT_MAX_ROTATING_LOG_FILE_SIZE - :value: 26214400 - - -.. py:data:: TRACE_LOG_FORMAT - :value: '%(asctime)s | %(levelname)s | %(name)s:%(filename)s:%(lineno)s | %(message)s' - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/format/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/format/index.rst deleted file mode 100644 index f810e930d7..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/format/index.rst +++ /dev/null @@ -1,190 +0,0 @@ -bittensor.utils.btlogging.format -================================ - -.. py:module:: bittensor.utils.btlogging.format - -.. autoapi-nested-parse:: - - btlogging.format module - - This module defines custom logging formatters for the Bittensor project. - - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.utils.btlogging.format.DEFAULT_LOG_FORMAT - bittensor.utils.btlogging.format.DEFAULT_TRACE_FORMAT - bittensor.utils.btlogging.format.LOG_FORMATS - bittensor.utils.btlogging.format.LOG_TRACE_FORMATS - bittensor.utils.btlogging.format.SUCCESS_LEVEL_NUM - bittensor.utils.btlogging.format.TRACE_LEVEL_NUM - bittensor.utils.btlogging.format.color_map - bittensor.utils.btlogging.format.emoji_map - bittensor.utils.btlogging.format.log_level_color_prefix - - -Classes -------- - -.. autoapisummary:: - - bittensor.utils.btlogging.format.BtFileFormatter - bittensor.utils.btlogging.format.BtStreamFormatter - - -Module Contents ---------------- - -.. py:class:: BtFileFormatter(fmt=None, datefmt=None, style='%', validate=True) - - Bases: :py:obj:`logging.Formatter` - - - BtFileFormatter - - A custom logging formatter for the Bittensor project that overrides the time formatting to include milliseconds and - centers the level name. - - Initialize the formatter with specified format strings. - - Initialize the formatter either with the specified format string, or a - default as described above. Allow for specialized date formatting with - the optional datefmt argument. If datefmt is omitted, you get an - ISO8601-like (or RFC 3339-like) format. - - Use a style parameter of '%', '{' or '$' to specify that you want to - use one of %-formatting, :meth:`str.format` (``{}``) formatting or - :class:`string.Template` formatting in your format string. - - .. versionchanged:: 3.2 - Added the ``style`` parameter. - - - .. py:method:: format(record) - - Override format to center the level name. - - :param record: The log record. - :type record: logging.LogRecord - - :returns: The formatted log record. - :rtype: formatted record (str) - - - - .. py:method:: formatTime(record, datefmt = None) - - Override formatTime to add milliseconds. - - :param record: The log record. - :type record: logging.LogRecord - :param datefmt: The date format string. - :type datefmt: Optional[str] - - :returns: The formatted time string with milliseconds. - :rtype: s (str) - - - -.. py:class:: BtStreamFormatter(*args, **kwargs) - - Bases: :py:obj:`logging.Formatter` - - - A custom logging formatter for the Bittensor project that overrides the time formatting to include milliseconds, - centers the level name, and applies custom log formats, emojis, and colors. - - Initialize the formatter with specified format strings. - - Initialize the formatter either with the specified format string, or a - default as described above. Allow for specialized date formatting with - the optional datefmt argument. If datefmt is omitted, you get an - ISO8601-like (or RFC 3339-like) format. - - Use a style parameter of '%', '{' or '$' to specify that you want to - use one of %-formatting, :meth:`str.format` (``{}``) formatting or - :class:`string.Template` formatting in your format string. - - .. versionchanged:: 3.2 - Added the ``style`` parameter. - - - .. py:method:: format(record) - - Override format to apply custom formatting including emojis and colors. - - This method saves the original format, applies custom formatting based on the log level and trace flag, replaces - text with emojis and colors, and then returns the formatted log record. - - :param record: The log record. - :type record: logging.LogRecord - - :returns: The formatted log record. - :rtype: result (str) - - - - .. py:method:: formatTime(record, datefmt = None) - - Override formatTime to add milliseconds. - - :param record: The log record. - :type record: logging.LogRecord - :param datefmt: The date format string. - :type datefmt: Optional[str] - - :returns: The formatted time string with milliseconds. - :rtype: s (str) - - - - .. py:method:: set_trace(state = True) - - Change formatter state. - - - - .. py:attribute:: trace - :value: False - - - -.. py:data:: DEFAULT_LOG_FORMAT - :type: str - :value: '34%(asctime)s39 | 137%(levelname)s0 | %(name)s:%(filename)s:%(lineno)s | %(message)s' - - -.. py:data:: DEFAULT_TRACE_FORMAT - :type: str - :value: '34%(asctime)s39 | 137%(levelname)s0 | %(name)s:%(filename)s:%(lineno)s | %(message)s' - - -.. py:data:: LOG_FORMATS - :type: dict[int, str] - -.. py:data:: LOG_TRACE_FORMATS - :type: dict[int, str] - -.. py:data:: SUCCESS_LEVEL_NUM - :type: int - :value: 21 - - -.. py:data:: TRACE_LEVEL_NUM - :type: int - :value: 5 - - -.. py:data:: color_map - :type: dict[str, str] - -.. py:data:: emoji_map - :type: dict[str, str] - -.. py:data:: log_level_color_prefix - :type: dict[int, str] - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/helpers/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/helpers/index.rst deleted file mode 100644 index 76f2664bd0..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/helpers/index.rst +++ /dev/null @@ -1,54 +0,0 @@ -bittensor.utils.btlogging.helpers -================================= - -.. py:module:: bittensor.utils.btlogging.helpers - -.. autoapi-nested-parse:: - - btlogging.helpers module provides helper functions for the Bittensor logging system. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.btlogging.helpers.all_logger_names - bittensor.utils.btlogging.helpers.all_loggers - bittensor.utils.btlogging.helpers.get_max_logger_name_length - - -Module Contents ---------------- - -.. py:function:: all_logger_names() - - Generate the names of all active loggers. - - This function iterates through the logging root manager's logger dictionary and yields the names of all active - `Logger` instances. It skips placeholders and other types that are not instances of `Logger`. - - :Yields: *name (str)* -- The name of an active logger. - - -.. py:function:: all_loggers() - - Generator that yields all logger instances in the application. - - Iterates through the logging root manager's logger dictionary and yields all active `Logger` instances. It skips - placeholders and other types that are not instances of `Logger`. - - :Yields: *logger (logging.Logger)* -- An active logger instance. - - -.. py:function:: get_max_logger_name_length() - - Calculate and return the length of the longest logger name. - - This function iterates through all active logger names and determines the length of the longest name. - - :returns: The length of the longest logger name. - :rtype: max_length (int) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/index.rst deleted file mode 100644 index 50811c2813..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/index.rst +++ /dev/null @@ -1,41 +0,0 @@ -bittensor.utils.btlogging -========================= - -.. py:module:: bittensor.utils.btlogging - -.. autoapi-nested-parse:: - - btlogging sub-package standardized logging for Bittensor. - - This module provides logging functionality for the Bittensor package. It includes custom loggers, handlers, and - formatters to ensure consistent logging throughout the project. - - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/utils/btlogging/console/index - /autoapi/bittensor/utils/btlogging/defines/index - /autoapi/bittensor/utils/btlogging/format/index - /autoapi/bittensor/utils/btlogging/helpers/index - /autoapi/bittensor/utils/btlogging/levels/index - /autoapi/bittensor/utils/btlogging/loggingmachine/index - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.utils.btlogging.logging - - -Package Contents ----------------- - -.. py:data:: logging - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/levels/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/levels/index.rst deleted file mode 100644 index f0b26194c0..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/levels/index.rst +++ /dev/null @@ -1,48 +0,0 @@ -bittensor.utils.btlogging.levels -================================ - -.. py:module:: bittensor.utils.btlogging.levels - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.btlogging.levels.debug - bittensor.utils.btlogging.levels.info - bittensor.utils.btlogging.levels.trace - bittensor.utils.btlogging.levels.warning - - -Module Contents ---------------- - -.. py:function:: debug(on = True) - - Enables or disables debug logging. - - :param on: If True, enables debug logging. If False, disables debug logging. - - -.. py:function:: info(on = True) - - Enables or disables info logging. - - :param on: If True, enables info logging. If False, disables info logging and sets default (WARNING) level. - - -.. py:function:: trace(on = True) - - Enables or disables trace logging. - - :param on: If True, enables trace logging. If False, disables trace logging. - - -.. py:function:: warning(on = True) - - Enables or disables warning logging. - - :param on: If True, enables warning logging. If False, disables warning logging and sets default (WARNING) level. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/loggingmachine/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/loggingmachine/index.rst deleted file mode 100644 index 6898780755..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/btlogging/loggingmachine/index.rst +++ /dev/null @@ -1,431 +0,0 @@ -bittensor.utils.btlogging.loggingmachine -======================================== - -.. py:module:: bittensor.utils.btlogging.loggingmachine - -.. autoapi-nested-parse:: - - Module provides a logging framework for Bittensor, managing both Bittensor-specific and third-party logging states. - It leverages the StateMachine from the statemachine package to transition between different logging states such as - Default, Debug, Trace, and Disabled. - - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.utils.btlogging.loggingmachine.CUSTOM_LOGGER_METHOD_STACK_LEVEL - - -Classes -------- - -.. autoapisummary:: - - bittensor.utils.btlogging.loggingmachine.LoggingConfig - bittensor.utils.btlogging.loggingmachine.LoggingMachine - - -Module Contents ---------------- - -.. py:data:: CUSTOM_LOGGER_METHOD_STACK_LEVEL - :value: 2 - - -.. py:class:: LoggingConfig - - Bases: :py:obj:`NamedTuple` - - - Named tuple to hold the logging configuration. - - - .. py:attribute:: debug - :type: bool - - - .. py:attribute:: info - :type: bool - - - .. py:attribute:: logging_dir - :type: str - - - .. py:attribute:: record_log - :type: bool - - - .. py:attribute:: trace - :type: bool - - -.. py:class:: LoggingMachine(config, name = BITTENSOR_LOGGER_NAME) - - Bases: :py:obj:`statemachine.StateMachine`, :py:obj:`logging.Logger` - - - Handles logger states for bittensor and 3rd party libraries. - - Initialize the logger with a name and an optional level. - - - .. py:attribute:: Debug - - - .. py:attribute:: Default - - - .. py:attribute:: Disabled - - - .. py:attribute:: Info - - - .. py:attribute:: Trace - - - .. py:attribute:: Warning - - - .. py:method:: add_args(parser, prefix = None) - :classmethod: - - - Accept specific arguments fro parser - - - - .. py:method:: after_disable_debug() - - Logs status after disable Debug. - - - - .. py:method:: after_disable_trace() - - Logs status after disable Trace. - - - - .. py:method:: after_enable_debug() - - Logs status after enable Debug. - - - - .. py:method:: after_enable_default() - - - .. py:method:: after_enable_info() - - Logs status after enable info. - - - - .. py:method:: after_enable_trace() - - Logs status after enable Trace. - - - - .. py:method:: after_enable_warning() - - Logs status after enable Warning. - - - - .. py:method:: after_transition(event, state) - - Starts listener after transition. - - - - .. py:method:: before_disable_debug() - - Logs status before disable Debug. - - - - .. py:method:: before_disable_logging() - - Prepares the logging system for disabling. - - This method performs the following actions: - 1. Logs an informational message indicating that logging is being disabled. - 2. Disables trace mode in the stream formatter. - 3. Sets the logging level to CRITICAL for all loggers. - - This ensures that only critical messages will be logged after this method is called. - - - - .. py:method:: before_disable_trace() - - Logs status before disable Trace. - - - - .. py:method:: before_enable_console() - - Logs status before enable Console. - - - - .. py:method:: before_enable_debug() - - Logs status before enable Debug. - - - - .. py:method:: before_enable_default() - - Logs status before enable Default. - - - - .. py:method:: before_enable_info() - - Logs status before enable info. - - - - .. py:method:: before_enable_trace() - - Logs status before enable Trace. - - - - .. py:method:: before_enable_warning() - - Logs status before enable Warning. - - - - .. py:method:: before_transition(event, state) - - Stops listener after transition. - - - - .. py:method:: check_config(config) - - - .. py:method:: config() - :classmethod: - - - Get config from the argument parser. - - :returns: config object - :rtype: config (bittensor.core.config.Config) - - - - .. py:attribute:: console - - - .. py:method:: critical(msg='', prefix='', suffix='', *args, stacklevel=1, **kwargs) - - Wraps critical message with prefix and suffix. - - - - .. py:method:: debug(msg='', prefix='', suffix='', *args, stacklevel=1, **kwargs) - - Wraps debug message with prefix and suffix. - - - - .. py:method:: deregister_primary_logger(name) - - De-registers a primary logger - - This function removes the logger from the _primary_loggers - set and deinitializes its queue handler - - :param name: the name of primary logger. - :type name: str - - - - .. py:attribute:: disable_debug - - - .. py:attribute:: disable_info - - - .. py:attribute:: disable_logging - - - .. py:method:: disable_third_party_loggers() - - Disables logging for third-party loggers by removing all their handlers. - - - - .. py:attribute:: disable_trace - - - .. py:attribute:: disable_warning - - - .. py:attribute:: enable_console - - - .. py:attribute:: enable_debug - - - .. py:attribute:: enable_default - - - .. py:attribute:: enable_info - - - .. py:method:: enable_third_party_loggers() - - Enables logging for third-party loggers by adding a queue handler to each. - - - - .. py:attribute:: enable_trace - - - .. py:attribute:: enable_warning - - - .. py:method:: error(msg='', prefix='', suffix='', *args, stacklevel=1, **kwargs) - - Wraps error message with prefix and suffix. - - - - .. py:method:: exception(msg='', prefix='', suffix='', *args, stacklevel=1, **kwargs) - - Wraps exception message with prefix and suffix. - - - - .. py:method:: get_config() - - - .. py:method:: get_level() - - Returns Logging level. - - - - .. py:method:: get_queue() - - Get the queue the QueueListener is publishing from. - - To set up logging in a separate process, a QueueHandler must be added to all the desired loggers. - - - - .. py:method:: help() - - - .. py:method:: info(msg='', prefix='', suffix='', *args, stacklevel=1, **kwargs) - - Wraps info message with prefix and suffix. - - - - .. py:method:: off() - - Disables all states. - - - - .. py:method:: on() - - Enable default state. - - - - .. py:method:: register_primary_logger(name) - - Register a logger as primary logger - - This adds a logger to the _primary_loggers set to ensure - it doesn't get disabled when disabling third-party loggers. - A queue handler is also associated with it. - - :param name: the name for primary logger. - :type name: str - - - - .. py:method:: setLevel(level) - - Set the specified level on the underlying logger. - - - - .. py:method:: set_config(config) - - Set config after initialization, if desired. - - :param config: Bittensor config instance. - :type config: bittensor.core.config.Config - - - - .. py:method:: set_console() - - Sets Console state. - - - - .. py:method:: set_debug(on = True) - - Sets Debug state. - - - - .. py:method:: set_default() - - Sets Default state. - - - - .. py:method:: set_info(on = True) - - Sets Info state. - - - - .. py:method:: set_trace(on = True) - - Sets Trace state. - - - - .. py:method:: set_warning(on = True) - - Sets Warning state. - - - - .. py:method:: success(msg='', prefix='', suffix='', *args, stacklevel=1, **kwargs) - - Wraps success message with prefix and suffix. - - - - .. py:method:: trace(msg='', prefix='', suffix='', *args, stacklevel=1, **kwargs) - - Wraps trace message with prefix and suffix. - - - - .. py:method:: warning(msg='', prefix='', suffix='', *args, stacklevel=1, **kwargs) - - Wraps warning message with prefix and suffix. - - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/easy_imports/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/easy_imports/index.rst deleted file mode 100644 index 9d3e623feb..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/easy_imports/index.rst +++ /dev/null @@ -1,95 +0,0 @@ -bittensor.utils.easy_imports -============================ - -.. py:module:: bittensor.utils.easy_imports - -.. autoapi-nested-parse:: - - The Bittensor Compatibility Module is designed to ensure seamless integration and functionality with legacy versions of - the Bittensor framework, specifically up to and including version 7.3.0. This module addresses changes and deprecated - features in recent versions, allowing users to maintain compatibility with older systems and projects. - - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.utils.easy_imports.async_subtensor - bittensor.utils.easy_imports.axon - bittensor.utils.easy_imports.config - bittensor.utils.easy_imports.dendrite - bittensor.utils.easy_imports.extrinsics_subpackage - bittensor.utils.easy_imports.keyfile - bittensor.utils.easy_imports.metagraph - bittensor.utils.easy_imports.mock_subpackage - bittensor.utils.easy_imports.subtensor - bittensor.utils.easy_imports.synapse - bittensor.utils.easy_imports.wallet - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.easy_imports.debug - bittensor.utils.easy_imports.info - bittensor.utils.easy_imports.trace - bittensor.utils.easy_imports.warning - - -Module Contents ---------------- - -.. py:data:: async_subtensor - -.. py:data:: axon - -.. py:data:: config - -.. py:function:: debug(on = True) - - Enables or disables debug logging. - :param on: If True, enables debug logging. If False, disables debug logging. - :type on: bool - - -.. py:data:: dendrite - -.. py:data:: extrinsics_subpackage - -.. py:function:: info(on = True) - - Enables or disables info logging. - :param on: If True, enables info logging. If False, disables info logging and sets default (WARNING) level. - :type on: bool - - -.. py:data:: keyfile - -.. py:data:: metagraph - -.. py:data:: mock_subpackage - -.. py:data:: subtensor - -.. py:data:: synapse - -.. py:function:: trace(on = True) - - Enables or disables trace logging. - :param on: If True, enables trace logging. If False, disables trace logging. - :type on: bool - - -.. py:data:: wallet - -.. py:function:: warning(on = True) - - Enables or disables warning logging. - :param on: If True, enables warning logging. If False, disables warning logging and sets default (WARNING) level. - :type on: bool - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/formatting/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/formatting/index.rst deleted file mode 100644 index dc84c897d8..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/formatting/index.rst +++ /dev/null @@ -1,28 +0,0 @@ -bittensor.utils.formatting -========================== - -.. py:module:: bittensor.utils.formatting - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.formatting.get_human_readable - bittensor.utils.formatting.millify - - -Module Contents ---------------- - -.. py:function:: get_human_readable(num, suffix='H') - - Convert a number into a human-readable format with suffixes. - - -.. py:function:: millify(n) - - Converts a number into a more readable format with suffixes. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/index.rst deleted file mode 100644 index 85bb8cc80c..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/index.rst +++ /dev/null @@ -1,304 +0,0 @@ -bittensor.utils -=============== - -.. py:module:: bittensor.utils - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/utils/axon_utils/index - /autoapi/bittensor/utils/balance/index - /autoapi/bittensor/utils/btlogging/index - /autoapi/bittensor/utils/easy_imports/index - /autoapi/bittensor/utils/formatting/index - /autoapi/bittensor/utils/liquidity/index - /autoapi/bittensor/utils/networking/index - /autoapi/bittensor/utils/registration/index - /autoapi/bittensor/utils/subnets/index - /autoapi/bittensor/utils/substrate_utils/index - /autoapi/bittensor/utils/version/index - /autoapi/bittensor/utils/weight_utils/index - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.utils.BT_DOCS_LINK - bittensor.utils.GLOBAL_MAX_SUBNET_COUNT - bittensor.utils.RAOPERTAO - bittensor.utils.U16_MAX - bittensor.utils.U64_MAX - bittensor.utils.VersionCheckError - bittensor.utils.check_version - bittensor.utils.hex_to_bytes - bittensor.utils.logging - bittensor.utils.ss58_decode - bittensor.utils.torch - bittensor.utils.use_torch - bittensor.utils.version_checking - - -Classes -------- - -.. autoapisummary:: - - bittensor.utils.Certificate - bittensor.utils.UnlockStatus - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.decode_hex_identity_dict - bittensor.utils.deprecated_message - bittensor.utils.determine_chain_endpoint_and_network - bittensor.utils.float_to_u64 - bittensor.utils.format_error_message - bittensor.utils.get_explorer_url_for_network - bittensor.utils.get_hash - bittensor.utils.get_mechid_storage_index - bittensor.utils.get_netuid_and_mechid_by_storage_index - bittensor.utils.get_transfer_fn_params - bittensor.utils.is_valid_bittensor_address_or_public_key - bittensor.utils.is_valid_ss58_address - bittensor.utils.ss58_address_to_bytes - bittensor.utils.ss58_to_vec_u8 - bittensor.utils.strtobool - bittensor.utils.u16_normalized_float - bittensor.utils.u64_normalized_float - bittensor.utils.unlock_key - bittensor.utils.validate_chain_endpoint - - -Package Contents ----------------- - -.. py:data:: BT_DOCS_LINK - :value: 'https://docs.bittensor.com' - - -.. py:class:: Certificate - - Bases: :py:obj:`str` - - - str(object='') -> str - str(bytes_or_buffer[, encoding[, errors]]) -> str - - Create a new string object from the given object. If encoding or - errors is specified, then the object must expose a data buffer - that will be decoded using the given encoding and error handler. - Otherwise, returns the result of object.__str__() (if defined) - or repr(object). - encoding defaults to sys.getdefaultencoding(). - errors defaults to 'strict'. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:data:: GLOBAL_MAX_SUBNET_COUNT - :value: 4096 - - -.. py:data:: RAOPERTAO - :value: 1000000000.0 - - -.. py:data:: U16_MAX - :value: 65535 - - -.. py:data:: U64_MAX - :value: 18446744073709551615 - - -.. py:class:: UnlockStatus - - Bases: :py:obj:`tuple` - - - .. py:attribute:: message - - - .. py:attribute:: success - - -.. py:data:: VersionCheckError - -.. py:data:: check_version - -.. py:function:: decode_hex_identity_dict(info_dictionary) - - Decodes a dictionary of hexadecimal identities. - - -.. py:function:: deprecated_message(message) - - Shows a deprecation warning message with the given message. - - -.. py:function:: determine_chain_endpoint_and_network(network) - - Determines the chain endpoint and network from the passed network or chain_endpoint. - - :param network: The network flag. The choices are: ``finney`` (main network), ``archive`` (archive network - +300 blocks), ``local`` (local running network), ``test`` (test network). - :type network: str - - :returns: - - The network and chain endpoint flag. If passed, overrides the - ``network`` argument. - :rtype: tuple[Optional[str], Optional[str]] - - -.. py:function:: float_to_u64(value) - - Converts a float to a u64 int - - -.. py:function:: format_error_message(error_message) - - Formats an error message from the Subtensor error information for use in extrinsics. - - :param error_message: A dictionary containing the error information from Subtensor, or a SubstrateRequestException - containing dictionary literal args. - - :returns: A formatted error message string. - :rtype: str - - -.. py:function:: get_explorer_url_for_network(network, block_hash, network_map) - - Returns the explorer url for the given block hash and network. - - :param network: The network to get the explorer url for. - :type network: str - :param block_hash: The block hash to get the explorer url for. - :type block_hash: str - :param network_map: The network maps to get the explorer urls from. - :type network_map: dict[str, dict[str, str]] - - :returns: The explorer url for the given block hash and network. - Or None if the network is not known. - - -.. py:function:: get_hash(content, encoding='utf-8') - -.. py:function:: get_mechid_storage_index(netuid, mechid) - - Computes the storage index for a given netuid and mechid pair. - - :param netuid: The netuid of the subnet. - :param mechid: The mechid of the subnet. - - :returns: Storage index number for the subnet and mechanism id. - - -.. py:function:: get_netuid_and_mechid_by_storage_index(storage_index) - - Returns the netuid and mechid from the storage index. - - Chain APIs (e.g., SubMetagraph response) returns netuid which is storage index that encodes both the netuid and - mechid. This function reverses the encoding to extract these components. - - :param storage_index: The storage index of the subnet. - - :returns: - netuid - subnet identifier. - - mechid - mechanism identifier. - :rtype: tuple[int, int] - - -.. py:function:: get_transfer_fn_params(amount, destination, keep_alive) - - Helper function to get the transfer call function and call params, depending on the value and keep_alive flag - provided - - :param amount: the amount of Tao to transfer. `None` if transferring all. - :param destination: the destination SS58 of the transfer - :param keep_alive: whether to enforce a retention of the existential deposit in the account after transfer. - - :returns: tuple[call function, call params] - - -.. py:data:: hex_to_bytes - -.. py:function:: is_valid_bittensor_address_or_public_key(address) - - Checks if the given address is a valid destination address. - - :param address: The address to check. - :type address: Union[str, bytes] - - :returns: True if the address is a valid destination address, False otherwise. - - -.. py:function:: is_valid_ss58_address(address) - - Checks if the given address is a valid ss58 address. - - :param address: The address to check. - :type address: str - - :returns: True if the address is a valid ss58 address for Bittensor, False otherwise. - - -.. py:data:: logging - -.. py:function:: ss58_address_to_bytes(ss58_address) - - Converts a ss58 address to a bytes object. - - -.. py:data:: ss58_decode - -.. py:function:: ss58_to_vec_u8(ss58_address) - -.. py:function:: strtobool(val) - - Converts a string to a boolean value. - - truth-y values are 'y', 'yes', 't', 'true', 'on', and '1'; - false-y values are 'n', 'no', 'f', 'false', 'off', and '0'. - - Raises ValueError if 'val' is anything else. - - -.. py:data:: torch - -.. py:function:: u16_normalized_float(x) - -.. py:function:: u64_normalized_float(x) - -.. py:function:: unlock_key(wallet, unlock_type='coldkey', raise_error=False) - - Attempts to decrypt a wallet's coldkey or hotkey - - :param wallet: a Wallet object - :param unlock_type: the key type, 'coldkey' or 'hotkey' - :param raise_error: if False, will return (False, error msg), if True will raise the otherwise-caught exception. - - :returns: UnlockStatus for success status of unlock, with error message if unsuccessful - - :raises bittensor_wallet.errors.PasswordError: incorrect password - :raises bittensor_wallet.errors.KeyFileError: keyfile is corrupt, non-writable, or non-readable, or non-existent - - -.. py:data:: use_torch - -.. py:function:: validate_chain_endpoint(endpoint_url) - - Validates if the provided endpoint URL is a valid WebSocket URL. - - -.. py:data:: version_checking - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/liquidity/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/liquidity/index.rst deleted file mode 100644 index e2294a7c38..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/liquidity/index.rst +++ /dev/null @@ -1,124 +0,0 @@ -bittensor.utils.liquidity -========================= - -.. py:module:: bittensor.utils.liquidity - -.. autoapi-nested-parse:: - - This module provides utilities for managing liquidity positions and price conversions in the Bittensor network. The - module handles conversions between TAO and Alpha tokens while maintaining precise calculations for liquidity - provisioning and fee distribution. - - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.utils.liquidity.MAX_TICK - bittensor.utils.liquidity.MIN_TICK - bittensor.utils.liquidity.PRICE_STEP - - -Classes -------- - -.. autoapisummary:: - - bittensor.utils.liquidity.LiquidityPosition - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.liquidity.calculate_fees - bittensor.utils.liquidity.get_fees - bittensor.utils.liquidity.get_fees_in_range - bittensor.utils.liquidity.price_to_tick - bittensor.utils.liquidity.tick_to_price - - -Module Contents ---------------- - -.. py:class:: LiquidityPosition - - .. py:attribute:: fees_alpha - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: fees_tao - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: id - :type: int - - - .. py:attribute:: liquidity - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: netuid - :type: int - - - .. py:attribute:: price_high - :type: bittensor.utils.balance.Balance - - - .. py:attribute:: price_low - :type: bittensor.utils.balance.Balance - - - .. py:method:: to_token_amounts(current_subnet_price) - - Convert a position to token amounts. - - :param current_subnet_price: current subnet price in Alpha. - - :returns: Amount of Alpha in liquidity - Amount of TAO in liquidity - :rtype: tuple[int, int] - - Liquidity is a combination of TAO and Alpha depending on the price of the subnet at the moment. - - - -.. py:data:: MAX_TICK - :value: 887272 - - -.. py:data:: MIN_TICK - :value: -887272 - - -.. py:data:: PRICE_STEP - :value: 1.0001 - - -.. py:function:: calculate_fees(position, global_fees_tao, global_fees_alpha, tao_fees_below_low, tao_fees_above_high, alpha_fees_below_low, alpha_fees_above_high, netuid) - -.. py:function:: get_fees(current_tick, tick, tick_index, quote, global_fees_tao, global_fees_alpha, above) - - Returns the liquidity fee. - - -.. py:function:: get_fees_in_range(quote, global_fees_tao, global_fees_alpha, fees_below_low, fees_above_high) - - Returns the liquidity fee value in a range. - - -.. py:function:: price_to_tick(price) - - Converts a float price to the nearest Uniswap V3 tick index. - - -.. py:function:: tick_to_price(tick) - - Convert an integer Uniswap V3 tick index to float price. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/networking/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/networking/index.rst deleted file mode 100644 index 1e2852da2f..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/networking/index.rst +++ /dev/null @@ -1,109 +0,0 @@ -bittensor.utils.networking -========================== - -.. py:module:: bittensor.utils.networking - -.. autoapi-nested-parse:: - - Utils for handling local network with ip and ports. - - - -Exceptions ----------- - -.. autoapisummary:: - - bittensor.utils.networking.ExternalIPNotFound - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.networking.get_external_ip - bittensor.utils.networking.get_formatted_ws_endpoint_url - bittensor.utils.networking.int_to_ip - bittensor.utils.networking.ip__str__ - bittensor.utils.networking.ip_to_int - bittensor.utils.networking.ip_version - - -Module Contents ---------------- - -.. py:exception:: ExternalIPNotFound - - Bases: :py:obj:`Exception` - - - Raised if we cannot attain your external ip from CURL/URLLIB/IPIFY/AWS - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:function:: get_external_ip() - - Checks CURL/URLLIB/IPIFY/AWS for your external ip. - - :returns: Your routers external facing ip as a string. - :rtype: external_ip (str) - - :raises ExternalIPNotFound(Exception): Raised if all external ip attempts fail. - - -.. py:function:: get_formatted_ws_endpoint_url(endpoint_url) - - Returns a formatted websocket endpoint url. - - :param endpoint_url: The endpoint url to format. - :type endpoint_url: Optional[str] - - :returns: - - The formatted endpoint url. In the form of ws:// or - wss:// - :rtype: formatted_endpoint_url (Optional[str]) - - Note: The port (or lack thereof) is left unchanged. - - -.. py:function:: int_to_ip(int_val) - - Maps an integer to a unique ip-string - - :param int_val: The integer representation of an ip. Must be in the range (0, 3.4028237e+38). - :type int_val: int - - :returns: The string representation of an ip. Of form *.*.*.* for ipv4 or *::*:*:*:* for ipv6 - :rtype: str_val (str) - - -.. py:function:: ip__str__(ip_type, ip_str, port) - - Return a formatted ip string - - -.. py:function:: ip_to_int(str_val) - - Maps an ip-string to a unique integer. - - :param str_val: The string representation of an ip. Of form *.*.*.* for ipv4 or *::*:*:*:* for ipv6 - :type str_val: str - - :returns: The integer representation of an ip. Must be in the range (0, 3.4028237e+38). - :rtype: int_val (int) - - -.. py:function:: ip_version(str_val) - - Returns the ip version (IPV4 or IPV6). - - :param str_val: The string representation of an ip. Of form *.*.*.* for ipv4 or *::*:*:*:* for ipv6 - :type str_val: str - - :returns: The ip version (Either 4 or 6 for IPv4/IPv6) - :rtype: int_val (int) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/registration/async_pow/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/registration/async_pow/index.rst deleted file mode 100644 index 88ecc04f52..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/registration/async_pow/index.rst +++ /dev/null @@ -1,57 +0,0 @@ -bittensor.utils.registration.async_pow -====================================== - -.. py:module:: bittensor.utils.registration.async_pow - -.. autoapi-nested-parse:: - - This module provides async utilities for solving Proof-of-Work (PoW) challenges in Bittensor network. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.registration.async_pow.create_pow_async - - -Module Contents ---------------- - -.. py:function:: create_pow_async(subtensor, wallet, netuid, output_in_place = True, cuda = False, dev_id = 0, tpb = 256, num_processes = None, update_interval = None, log_verbose = False) - :async: - - - Creates a proof of work for the given subtensor and wallet. - - :param subtensor: The subtensor instance. - :type subtensor: bittensor.core.async_subtensor.AsyncSubtensor - :param wallet: The wallet to create a proof of work for. - :type wallet: bittensor_wallet.Wallet - :param netuid: The netuid for the subnet to create a proof of work for. - :type netuid: int - :param output_in_place: If true, prints the progress of the proof of work to the console in-place. Meaning the - progress is printed on the same lines. - :type output_in_place: bool - :param cuda: If true, uses CUDA to solve the proof of work. - :type cuda: bool - :param dev_id: The CUDA device id(s) to use. If cuda is true and dev_id is a list, then - multiple CUDA devices will be used to solve the proof of work. - :type dev_id: Union[list[int], int] - :param tpb: The number of threads per block to use when solving the proof of work. Should be a multiple of 32. - :type tpb: int - :param num_processes: The number of processes to use when solving the proof of work. If None, then the number of - processes is equal to the number of CPU cores. - :type num_processes: int - :param update_interval: The number of nonces to run before checking for a new block. - :type update_interval: int - :param log_verbose: If true, prints the progress of the proof of work more verbosely. - :type log_verbose: bool - - :returns: The proof of work solution or None if the wallet is already registered or there is a different error. - - :raises ValueError: If the subnet does not exist. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/registration/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/registration/index.rst deleted file mode 100644 index 9c8773138d..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/registration/index.rst +++ /dev/null @@ -1,17 +0,0 @@ -bittensor.utils.registration -============================ - -.. py:module:: bittensor.utils.registration - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/utils/registration/async_pow/index - /autoapi/bittensor/utils/registration/pow/index - /autoapi/bittensor/utils/registration/register_cuda/index - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/registration/pow/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/registration/pow/index.rst deleted file mode 100644 index ddf7a60033..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/registration/pow/index.rst +++ /dev/null @@ -1,377 +0,0 @@ -bittensor.utils.registration.pow -================================ - -.. py:module:: bittensor.utils.registration.pow - -.. autoapi-nested-parse:: - - This module provides utilities for solving Proof-of-Work (PoW) challenges in Bittensor network. - - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.utils.registration.pow.torch - - -Classes -------- - -.. autoapisummary:: - - bittensor.utils.registration.pow.CUDASolver - bittensor.utils.registration.pow.Console - bittensor.utils.registration.pow.LazyLoadedTorch - bittensor.utils.registration.pow.POWSolution - bittensor.utils.registration.pow.RegistrationStatistics - bittensor.utils.registration.pow.RegistrationStatisticsLogger - bittensor.utils.registration.pow.Solver - bittensor.utils.registration.pow.Status - bittensor.utils.registration.pow.UsingSpawnStartMethod - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.registration.pow.create_pow - bittensor.utils.registration.pow.get_cpu_count - bittensor.utils.registration.pow.legacy_torch_api_compat - bittensor.utils.registration.pow.log_no_torch_error - bittensor.utils.registration.pow.terminate_workers_and_wait_for_exit - bittensor.utils.registration.pow.update_curr_block - bittensor.utils.registration.pow.use_torch - - -Module Contents ---------------- - -.. py:class:: CUDASolver(proc_num, num_proc, update_interval, finished_queue, solution_queue, stopEvent, curr_block, curr_block_num, curr_diff, check_block, limit, dev_id, tpb) - - Bases: :py:obj:`_SolverBase` - - - A process that solves the registration PoW problem. - - :param proc_num: The number of the process being created. - :type proc_num: int - :param num_proc: The total number of processes running. - :type num_proc: int - :param update_interval: The number of nonces to try to solve before checking for a new block. - :type update_interval: int - :param finished_queue: The queue to put the process number when a process finishes each - update_interval. Used for calculating the average time per update_interval across all processes. - :type finished_queue: multiprocessing.Queue - :param solution_queue: The queue to put the solution the process has found during the pow solve. - :type solution_queue: multiprocessing.Queue - :param stopEvent: The event to set by the main process when all the solver processes should - stop. The solver process will check for the event after each update_interval. The solver process will stop - when the event is set. Used to stop the solver processes when a solution is found. - :type stopEvent: multiprocessing.Event - :param curr_block: The array containing this process's current block hash. The main process - will set the array to the new block hash when a new block is finalized in the network. The solver process - will get the new block hash from this array when newBlockEvent is set. - :type curr_block: multiprocessing.Array - :param curr_block_num: The value containing this process's current block number. The main - process will set the value to the new block number when a new block is finalized in the network. The - solver process will get the new block number from this value when newBlockEvent is set. - :type curr_block_num: multiprocessing.Value - :param curr_diff: The array containing this process's current difficulty. The main process will - set the array to the new difficulty when a new block is finalized in the network. The solver process will - get the new difficulty from this array when newBlockEvent is set. - :type curr_diff: multiprocessing.Array - :param check_block: The lock to prevent this process from getting the new block data while the - main process is updating the data. - :type check_block: multiprocessing.Lock - :param limit: The limit of the pow solve for a valid solution. - :type limit: int - - - .. py:attribute:: dev_id - :type: int - - - .. py:method:: run() - - Method to be run in sub-process; can be overridden in sub-class - - - - .. py:attribute:: tpb - :type: int - - -.. py:class:: Console - - .. py:method:: log(text) - :staticmethod: - - - - .. py:method:: status(status) - :staticmethod: - - - -.. py:class:: LazyLoadedTorch - - A lazy-loading proxy for the torch module. - - -.. py:class:: POWSolution - - A solution to the registration PoW problem. - - - .. py:attribute:: block_number - :type: int - - - .. py:attribute:: difficulty - :type: int - - - .. py:method:: is_stale(subtensor) - - Synchronous implementation. Returns True if the POW is stale. - - This means the block the POW is solved for is within 3 blocks of the current block. - - - - .. py:method:: is_stale_async(subtensor) - :async: - - - Asynchronous implementation. Returns True if the POW is stale. - - This means the block the POW is solved for is within 3 blocks of the current block. - - - - .. py:attribute:: nonce - :type: int - - - .. py:attribute:: seal - :type: bytes - - -.. py:class:: RegistrationStatistics - - Statistics for a registration. - - - .. py:attribute:: block_hash - :type: str - - - .. py:attribute:: block_number - :type: int - - - .. py:attribute:: difficulty - :type: int - - - .. py:attribute:: hash_rate - :type: float - - - .. py:attribute:: hash_rate_perpetual - :type: float - - - .. py:attribute:: rounds_total - :type: int - - - .. py:attribute:: time_average - :type: float - - - .. py:attribute:: time_spent - :type: float - - - .. py:attribute:: time_spent_total - :type: float - - -.. py:class:: RegistrationStatisticsLogger(console = None, output_in_place = True) - - Logs statistics for a registration. - - - .. py:attribute:: console - :value: None - - - - .. py:method:: get_status_message(stats, verbose = False) - :classmethod: - - - Generates the status message based on registration statistics. - - - - .. py:method:: start() - - - .. py:attribute:: status - :type: Optional[Status] - - - .. py:method:: stop() - - - .. py:method:: update(stats, verbose = False) - - -.. py:class:: Solver(proc_num, num_proc, update_interval, finished_queue, solution_queue, stopEvent, curr_block, curr_block_num, curr_diff, check_block, limit) - - Bases: :py:obj:`_SolverBase` - - - A process that solves the registration PoW problem. - - :param proc_num: The number of the process being created. - :type proc_num: int - :param num_proc: The total number of processes running. - :type num_proc: int - :param update_interval: The number of nonces to try to solve before checking for a new block. - :type update_interval: int - :param finished_queue: The queue to put the process number when a process finishes each - update_interval. Used for calculating the average time per update_interval across all processes. - :type finished_queue: multiprocessing.Queue - :param solution_queue: The queue to put the solution the process has found during the pow solve. - :type solution_queue: multiprocessing.Queue - :param stopEvent: The event to set by the main process when all the solver processes should - stop. The solver process will check for the event after each update_interval. The solver process will stop - when the event is set. Used to stop the solver processes when a solution is found. - :type stopEvent: multiprocessing.Event - :param curr_block: The array containing this process's current block hash. The main process - will set the array to the new block hash when a new block is finalized in the network. The solver process - will get the new block hash from this array when newBlockEvent is set. - :type curr_block: multiprocessing.Array - :param curr_block_num: The value containing this process's current block number. The main - process will set the value to the new block number when a new block is finalized in the network. The - solver process will get the new block number from this value when newBlockEvent is set. - :type curr_block_num: multiprocessing.Value - :param curr_diff: The array containing this process's current difficulty. The main process will - set the array to the new difficulty when a new block is finalized in the network. The solver process will - get the new difficulty from this array when newBlockEvent is set. - :type curr_diff: multiprocessing.Array - :param check_block: The lock to prevent this process from getting the new block data while the - main process is updating the data. - :type check_block: multiprocessing.Lock - :param limit: The limit of the pow solve for a valid solution. - :type limit: int - - - .. py:method:: run() - - Method to be run in sub-process; can be overridden in sub-class - - - -.. py:class:: Status(status) - - .. py:method:: start() - - - .. py:method:: stop() - - - .. py:method:: update(status) - - -.. py:class:: UsingSpawnStartMethod(force = False) - -.. py:function:: create_pow(subtensor, wallet, netuid, output_in_place = True, cuda = False, dev_id = 0, tpb = 256, num_processes = None, update_interval = None, log_verbose = False) - - Creates a proof of work for the given subtensor and wallet. - - :param subtensor: The subtensor to create a proof of work for. - :type subtensor: bittensor.core.subtensor.Subtensor - :param wallet: The wallet to create a proof of work for. - :type wallet: bittensor_wallet.Wallet - :param netuid: The netuid for the subnet to create a proof of work for. - :type netuid: int - :param output_in_place: If true, prints the progress of the proof of work to the console in-place. Meaning the - progress is printed on the same lines. Default is ``True``. - :type output_in_place: bool - :param cuda: If true, uses CUDA to solve the proof of work. Default is ``False``. - :type cuda: bool - :param dev_id: The CUDA device id(s) to use. If cuda is true and dev_id is a list, then - multiple CUDA devices will be used to solve the proof of work. Default is ``0``. - :type dev_id: Union[List[int], int] - :param tpb: The number of threads per block to use when solving the proof of work. Should be a multiple of 32. - Default is ``256``. - :type tpb: int - :param num_processes: The number of processes to use when solving the proof of work. If None, then the - number of processes is equal to the number of CPU cores. Default is None. - :type num_processes: Optional[int] - :param update_interval: The number of nonces to run before checking for a new block. Default is ``None``. - :type update_interval: Optional[int] - :param log_verbose: If true, prints the progress of the proof of work more verbosely. Default is ``False``. - :type log_verbose: bool - - :returns: - - The proof of work solution or None if the wallet is already registered or there is a - different error. - :rtype: Optional[Dict[str, Any]] - - :raises ValueError: If the subnet does not exist. - - -.. py:function:: get_cpu_count() - - Returns the number of CPUs in the system. - - -.. py:function:: legacy_torch_api_compat(func) - - Convert function operating on numpy Input&Output to legacy torch Input&Output API if `use_torch()` is True. - - :param func: Function with numpy Input/Output to be decorated. - :type func: function - - :returns: Decorated function. - :rtype: decorated (function) - - -.. py:function:: log_no_torch_error() - -.. py:function:: terminate_workers_and_wait_for_exit(workers) - -.. py:data:: torch - -.. py:function:: update_curr_block(curr_diff, curr_block, curr_block_num, block_number, block_bytes, diff, hotkey_bytes, lock) - - Update the current block data with the provided block information and difficulty. - - This function updates the current block and its difficulty in a thread-safe manner. It sets the current block - number, hashes the block with the hotkey, updates the current block bytes, and packs the difficulty. - - :param curr_diff: Shared array to store the current difficulty. - :param curr_block: Shared array to store the current block data. - :param curr_block_num: Shared value to store the current block number. - :param block_number: The block number to set as the current block number. - :param block_bytes: The block data bytes to be hashed with the hotkey. - :param diff: The difficulty value to be packed into the current difficulty array. - :param hotkey_bytes: The hotkey bytes used for hashing the block. - :param lock: A lock to ensure thread-safe updates. - - -.. py:function:: use_torch() - - Force the use of torch over numpy for certain operations. - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/registration/register_cuda/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/registration/register_cuda/index.rst deleted file mode 100644 index 7dd4addf54..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/registration/register_cuda/index.rst +++ /dev/null @@ -1,60 +0,0 @@ -bittensor.utils.registration.register_cuda -========================================== - -.. py:module:: bittensor.utils.registration.register_cuda - -.. autoapi-nested-parse:: - - This module provides functions for solving Proof of Work (PoW) problems using CUDA. - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.registration.register_cuda.log_cuda_errors - bittensor.utils.registration.register_cuda.reset_cuda - bittensor.utils.registration.register_cuda.solve_cuda - - -Module Contents ---------------- - -.. py:function:: log_cuda_errors() - - Logs any CUDA errors. - - -.. py:function:: reset_cuda() - - Resets the CUDA environment. - - -.. py:function:: solve_cuda(nonce_start, update_interval, tpb, block_and_hotkey_hash_bytes, difficulty, limit, dev_id = 0) - - Solves the PoW problem using CUDA. - - :param nonce_start: Starting nonce. - :type nonce_start: numpy.int64 - :param update_interval: Number of nonces to solve before updating block information. - :type update_interval: numpy.int64 - :param tpb: Threads per block. - :type tpb: int - :param block_and_hotkey_hash_bytes: Keccak(Bytes of the block hash + bytes of the hotkey) 64 bytes. - :type block_and_hotkey_hash_bytes: bytes - :param difficulty: Difficulty of the PoW problem. - :type difficulty: int - :param limit: Upper limit of the nonce. - :type limit: int - :param dev_id: The CUDA device ID. Defaults to ``0``. - :type dev_id: int - - :returns: - - Tuple of the nonce and the seal corresponding - to the solution. Returns -1 for nonce if no solution is found. - :rtype: (Union[tuple[Any, bytes], tuple[int, bytes], tuple[Any, None]]) - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/subnets/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/subnets/index.rst deleted file mode 100644 index 79eccd0bc5..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/subnets/index.rst +++ /dev/null @@ -1,66 +0,0 @@ -bittensor.utils.subnets -======================= - -.. py:module:: bittensor.utils.subnets - - -Classes -------- - -.. autoapisummary:: - - bittensor.utils.subnets.SubnetsAPI - - -Module Contents ---------------- - -.. py:class:: SubnetsAPI(wallet) - - Bases: :py:obj:`abc.ABC` - - - This class is not used within the bittensor package, but is actively used by the community. - - - .. py:attribute:: dendrite - - - .. py:method:: prepare_synapse(*args, **kwargs) - :abstractmethod: - - - Prepare the synapse-specific payload. - - - - .. py:method:: process_responses(responses) - :abstractmethod: - - - Process the responses from the network. - - - - .. py:method:: query_api(axons, deserialize = False, timeout = 12, **kwargs) - :async: - - - Queries the API nodes of a subnet using the given synapse and bespoke query function. - - :param axons: The list of axon(s) to query. - :type axons: Union[bt.axon, list[bt.axon]] - :param deserialize: Whether to deserialize the responses. Defaults to False. - :type deserialize: Optional[bool] - :param timeout: The timeout in seconds for the query. Defaults to 12. - :type timeout: Optional[int] - :param \*\*kwargs: Keyword arguments for the prepare_synapse_fn. - - :returns: The result of the process_responses_fn. - :rtype: Any - - - - .. py:attribute:: wallet - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/substrate_utils/hasher/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/substrate_utils/hasher/index.rst deleted file mode 100644 index daa1b6618d..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/substrate_utils/hasher/index.rst +++ /dev/null @@ -1,59 +0,0 @@ -bittensor.utils.substrate_utils.hasher -====================================== - -.. py:module:: bittensor.utils.substrate_utils.hasher - -.. autoapi-nested-parse:: - - Helper functions used to calculate keys for Substrate storage items - - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.substrate_utils.hasher.blake2_128 - bittensor.utils.substrate_utils.hasher.blake2_128_concat - bittensor.utils.substrate_utils.hasher.blake2_256 - bittensor.utils.substrate_utils.hasher.identity - bittensor.utils.substrate_utils.hasher.two_x64_concat - bittensor.utils.substrate_utils.hasher.xxh128 - bittensor.utils.substrate_utils.hasher.xxh64 - - -Module Contents ---------------- - -.. py:function:: blake2_128(data) - - Helper function to calculate a 16 bytes Blake2b hash for provided data, used as key for Substrate storage items - - -.. py:function:: blake2_128_concat(data) - - Helper function to calculate a 16 bytes Blake2b hash for provided data, concatenated with data, used as key - for Substrate storage items - - -.. py:function:: blake2_256(data) - - Helper function to calculate a 32 bytes Blake2b hash for provided data, used as key for Substrate storage items - - -.. py:function:: identity(data) - -.. py:function:: two_x64_concat(data) - - Helper function to calculate a xxh64 hash with concatenated data for provided data, - used as key for several Substrate - - -.. py:function:: xxh128(data) - - Helper function to calculate a 2 concatenated xxh64 hash for provided data, used as key for several Substrate - - -.. py:function:: xxh64(data) - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/substrate_utils/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/substrate_utils/index.rst deleted file mode 100644 index 623d95089c..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/substrate_utils/index.rst +++ /dev/null @@ -1,16 +0,0 @@ -bittensor.utils.substrate_utils -=============================== - -.. py:module:: bittensor.utils.substrate_utils - - -Submodules ----------- - -.. toctree:: - :maxdepth: 1 - - /autoapi/bittensor/utils/substrate_utils/hasher/index - /autoapi/bittensor/utils/substrate_utils/storage/index - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/substrate_utils/storage/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/substrate_utils/storage/index.rst deleted file mode 100644 index 9a8cdbe322..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/substrate_utils/storage/index.rst +++ /dev/null @@ -1,109 +0,0 @@ -bittensor.utils.substrate_utils.storage -======================================= - -.. py:module:: bittensor.utils.substrate_utils.storage - - -Classes -------- - -.. autoapisummary:: - - bittensor.utils.substrate_utils.storage.StorageKey - - -Module Contents ---------------- - -.. py:class:: StorageKey(pallet, storage_function, params, data, value_scale_type, metadata, runtime_config) - - A StorageKey instance is a representation of a single state entry. - - Substrate uses a simple key-value data store implemented as a database-backed, modified Merkle tree. - All of Substrate's higher-level storage abstractions are built on top of this simple key-value store. - - - .. py:method:: convert_storage_parameter(scale_type, value) - - - .. py:method:: create_from_data(data, runtime_config, metadata, value_scale_type = None, pallet = None, storage_function = None) - :classmethod: - - - Create a StorageKey instance providing raw storage key bytes - - :param data: bytes representation of the storage key - :param runtime_config: RuntimeConfigurationObject - :param metadata: GenericMetadataVersioned - :param value_scale_type: type string of to decode result data - :param pallet: name of pallet - :param storage_function: name of storage function - - :returns: StorageKey - - - - .. py:method:: create_from_storage_function(pallet, storage_function, params, runtime_config, metadata) - :classmethod: - - - Create a StorageKey instance providing storage function details - - :param pallet: name of pallet - :param storage_function: name of storage function - :param params: Optional list of parameters in case of a Mapped storage function - :param runtime_config: RuntimeConfigurationObject - :param metadata: GenericMetadataVersioned - - :returns: StorageKey - - - - .. py:attribute:: data - - - .. py:method:: decode_scale_value(data = None) - - - .. py:method:: generate() - - Generate a storage key for current specified pallet/function/params - - - - .. py:attribute:: metadata - - - .. py:attribute:: metadata_storage_function - :value: None - - - - .. py:attribute:: pallet - - - .. py:attribute:: params - - - .. py:attribute:: params_encoded - :value: [] - - - - .. py:attribute:: runtime_config - - - .. py:attribute:: storage_function - - - .. py:method:: to_hex() - - Returns a Hex-string representation of current StorageKey data - - :returns: Hex string - - - - .. py:attribute:: value_scale_type - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/version/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/version/index.rst deleted file mode 100644 index f16dfcd729..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/version/index.rst +++ /dev/null @@ -1,83 +0,0 @@ -bittensor.utils.version -======================= - -.. py:module:: bittensor.utils.version - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.utils.version.VERSION_CHECK_THRESHOLD - - -Exceptions ----------- - -.. autoapisummary:: - - bittensor.utils.version.VersionCheckError - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.version.check_latest_version_in_pypi - bittensor.utils.version.check_version - bittensor.utils.version.get_and_save_latest_version - bittensor.utils.version.version_checking - - -Module Contents ---------------- - -.. py:data:: VERSION_CHECK_THRESHOLD - :value: 86400 - - -.. py:exception:: VersionCheckError - - Bases: :py:obj:`Exception` - - - Exception raised for errors in the version check process. - - Initialize self. See help(type(self)) for accurate signature. - - -.. py:function:: check_latest_version_in_pypi() - - Check for the latest version of the package on PyPI. - - -.. py:function:: check_version(timeout = 15) - - Check if the current version of Bittensor is up-to-date with the latest version on PyPi. - Raises a VersionCheckError if the version check fails. - - :param timeout: The timeout for the request to PyPI in seconds. Default is ``15``. - :type timeout: int - - -.. py:function:: get_and_save_latest_version(timeout = 15) - - Retrieves and saves the latest version of Bittensor. - - :param timeout: The timeout for the request to PyPI in seconds. Default is ``15``. - :type timeout: int - - :returns: The latest version of Bittensor. - :rtype: str - - -.. py:function:: version_checking(timeout = 15) - - Deprecated, kept for backwards compatibility. Use check_version() instead. - - :param timeout: The timeout for calling :func:``check_version`` function. Default is ``15``. - :type timeout: int - - diff --git a/static/python-api/html/_sources/autoapi/bittensor/utils/weight_utils/index.rst b/static/python-api/html/_sources/autoapi/bittensor/utils/weight_utils/index.rst deleted file mode 100644 index a22107c494..0000000000 --- a/static/python-api/html/_sources/autoapi/bittensor/utils/weight_utils/index.rst +++ /dev/null @@ -1,222 +0,0 @@ -bittensor.utils.weight_utils -============================ - -.. py:module:: bittensor.utils.weight_utils - -.. autoapi-nested-parse:: - - Conversion for weight between chain representation and np.array or torch.Tensor - - - -Attributes ----------- - -.. autoapisummary:: - - bittensor.utils.weight_utils.U16_MAX - bittensor.utils.weight_utils.U32_MAX - - -Functions ---------- - -.. autoapisummary:: - - bittensor.utils.weight_utils.convert_and_normalize_weights_and_uids - bittensor.utils.weight_utils.convert_bond_uids_and_vals_to_tensor - bittensor.utils.weight_utils.convert_maybe_split_to_u16 - bittensor.utils.weight_utils.convert_root_weight_uids_and_vals_to_tensor - bittensor.utils.weight_utils.convert_uids_and_weights - bittensor.utils.weight_utils.convert_weight_uids_and_vals_to_tensor - bittensor.utils.weight_utils.convert_weights_and_uids_for_emit - bittensor.utils.weight_utils.generate_weight_hash - bittensor.utils.weight_utils.normalize_max_weight - bittensor.utils.weight_utils.process_weights - bittensor.utils.weight_utils.process_weights_for_netuid - - -Module Contents ---------------- - -.. py:data:: U16_MAX - :value: 65535 - - -.. py:data:: U32_MAX - :value: 4294967295 - - -.. py:function:: convert_and_normalize_weights_and_uids(uids, weights) - - Converts weights and uids to numpy arrays if they are not already. - - :param uids: The ``uint64`` uids of destination neurons. - :type uids: Union[NDArray[np.int64], torch.LongTensor, list] - :param weights: The weights to set. These must be ``float`` s - and correspond to the passed ``uid`` s. - :type weights: Union[NDArray[np.float32], torch.FloatTensor, list] - - :returns: Bytes converted weights and uids - :rtype: weight_uids, weight_vals - - -.. py:function:: convert_bond_uids_and_vals_to_tensor(n, uids, bonds) - - Converts bond and uids from chain representation into a np.array. - - :param n: number of neurons on network. - :type n: int - :param uids: Tensor of uids as destinations for passed bonds. - :type uids: list[int] - :param bonds: Tensor of bonds. - :type bonds: list[int] - - :returns: Converted row bonds. - :rtype: row_bonds (np.float32) - - -.. py:function:: convert_maybe_split_to_u16(maybe_split) - -.. py:function:: convert_root_weight_uids_and_vals_to_tensor(n, uids, weights, subnets) - - Converts root weights and uids from chain representation into a np.array or torch FloatTensor - (inverse operation from convert_weights_and_uids_for_emit) - - :param n: number of neurons on network. - :type n: int - :param uids: Tensor of uids as destinations for passed weights. - :type uids: list[int] - :param weights: Tensor of weights. - :type weights: list[int] - :param subnets: list of subnets on the network. - :type subnets: list[int] - - :returns: Converted row weights. - :rtype: row_weights (np.float32) - - -.. py:function:: convert_uids_and_weights(uids, weights) - - Converts netuids and weights to numpy arrays if they are not already. - - :param uids: The uint64 uids of destination neurons. - :type uids: Union[NDArray[np.int64], list] - :param weights: The weights to set. These must be floated. - :type weights: Union[NDArray[np.float32], list] - - :returns: Bytes converted netuids and weights. - :rtype: tuple[ndarray, ndarray] - - -.. py:function:: convert_weight_uids_and_vals_to_tensor(n, uids, weights) - - Converts weights and uids from chain representation into a np.array (inverse operation from - convert_weights_and_uids_for_emit). - - :param n: number of neurons on network. - :type n: int - :param uids: Tensor of uids as destinations for passed weights. - :type uids: list[int] - :param weights: Tensor of weights. - :type weights: list[int] - - :returns: Converted row weights. - :rtype: row_weights (np.float32 or torch.FloatTensor) - - -.. py:function:: convert_weights_and_uids_for_emit(uids, weights) - - Converts weights into integer u32 representation that sum to MAX_INT_WEIGHT. - - :param uids: Tensor of uids as destinations for passed weights. - :type uids: np.int64 - :param weights: Tensor of weights. - :type weights: np.float32 - - :returns: Uids as a list. - weight_vals (list[int]): Weights as a list. - :rtype: weight_uids (list[int]) - - -.. py:function:: generate_weight_hash(address, netuid, uids, values, version_key, salt) - - Generate a valid commit hash from the provided weights. - - :param address: The account identifier. Wallet ss58_address. - :param netuid: The subnet unique identifier. - :param uids: The list of UIDs. - :param salt: The salt to add to hash. - :param values: The list of weight values. - :param version_key: The version key. - - :returns: The generated commit hash. - :rtype: str - - -.. py:function:: normalize_max_weight(x, limit = 0.1) - - Normalizes the tensor x so that sum(x) = 1 and the max value is not greater than the limit. - :param x: Tensor to be max_value normalized. - :type x: :obj:`np.float32` - :param limit: float: Max value after normalization. - - :returns: Normalized x tensor. - :rtype: y (:obj:`np.float32`) - - -.. py:function:: process_weights(uids, weights, num_neurons, min_allowed_weights, max_weight_limit, exclude_quantile = 0) - - Processes weight tensors for a given weights and UID arrays and hyperparams, applying constraints - and normalization based on the subtensor and metagraph data. This function can handle both NumPy arrays and PyTorch - tensors. - - :param uids: Array of unique identifiers of the neurons. - :type uids: Union[NDArray[np.int64], "torch.Tensor"] - :param weights: Array of weights associated with the user IDs. - :type weights: Union[NDArray[np.float32], "torch.Tensor"] - :param num_neurons: The number of neurons in the network. - :type num_neurons: int - :param min_allowed_weights: Subnet hyperparam Minimum number of allowed weights. - :type min_allowed_weights: Optional[int] - :param max_weight_limit: Subnet hyperparam Maximum weight limit. - :type max_weight_limit: Optional[float] - :param exclude_quantile: Quantile threshold for excluding lower weights. Defaults to ``0``. - :type exclude_quantile: int - - :returns: - - tuple - containing the array of user IDs and the corresponding normalized weights. The data type of the return - matches the type of the input weights (NumPy or PyTorch). - :rtype: Union[tuple["torch.Tensor", "torch.FloatTensor"], tuple[NDArray[np.int64], NDArray[np.float32]]] - - -.. py:function:: process_weights_for_netuid(uids, weights, netuid, subtensor, metagraph = None, exclude_quantile = 0) - - Processes weight tensors for a given subnet id using the provided weight and UID arrays, applying constraints - and normalization based on the subtensor and metagraph data. This function can handle both NumPy arrays and PyTorch - tensors. - - :param uids: Array of unique identifiers of the neurons. - :type uids: Union[NDArray[np.int64], "torch.Tensor"] - :param weights: Array of weights associated with the user IDs. - :type weights: Union[NDArray[np.float32], "torch.Tensor"] - :param netuid: The network uid to process weights for. - :type netuid: int - :param subtensor: Subtensor instance to access blockchain data. - :type subtensor: Subtensor - :param metagraph: Metagraph instance for additional network data. If None, it is fetched from - the subtensor using the netuid. - :type metagraph: Optional[Metagraph] - :param exclude_quantile: Quantile threshold for excluding lower weights. Defaults to ``0``. - :type exclude_quantile: int - - :returns: - - tuple - containing the array of user IDs and the corresponding normalized weights. The data type of the return - matches the type of the input weights (NumPy or PyTorch). - :rtype: Union[tuple["torch.Tensor", "torch.FloatTensor"], tuple[NDArray[np.int64], NDArray[np.float32]]] - - diff --git a/static/python-api/html/_sources/autoapi/index.rst b/static/python-api/html/_sources/autoapi/index.rst deleted file mode 100644 index fa8a60cd15..0000000000 --- a/static/python-api/html/_sources/autoapi/index.rst +++ /dev/null @@ -1,11 +0,0 @@ -API Reference -============= - -This page contains auto-generated API reference documentation [#f1]_. - -.. toctree:: - :titlesonly: - - /autoapi/bittensor/index - -.. [#f1] Created with `sphinx-autoapi `_ \ No newline at end of file diff --git a/static/python-api/html/_sources/index.rst b/static/python-api/html/_sources/index.rst deleted file mode 100644 index b5a4198675..0000000000 --- a/static/python-api/html/_sources/index.rst +++ /dev/null @@ -1,9 +0,0 @@ -Bittensor SDK Documentation -=========================== - -This is the developer documentation for the Bittensor SDK. - -.. toctree:: - :maxdepth: 2 - :caption: Table of Contents - diff --git a/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html b/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html deleted file mode 100644 index 6845df0298..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/async_subtensor/index.html +++ /dev/null @@ -1,4945 +0,0 @@ - - - - - - - - - - - bittensor.core.async_subtensor — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                              - - - - - - - - - -
                                                                                                                                                              - -
                                                                                                                                                              - - - - - -
                                                                                                                                                              -
                                                                                                                                                              - - - - - - -
                                                                                                                                                              - - - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              - - -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              - - - -
                                                                                                                                                              -

                                                                                                                                                              bittensor.core.async_subtensor

                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -

                                                                                                                                                              Contents

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - - - - -
                                                                                                                                                              - -
                                                                                                                                                              -

                                                                                                                                                              bittensor.core.async_subtensor#

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Classes#

                                                                                                                                                              -
                                                                                                                                                              - - - - - -

                                                                                                                                                              AsyncSubtensor

                                                                                                                                                              Asynchronous interface for interacting with the Bittensor blockchain.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Functions#

                                                                                                                                                              -
                                                                                                                                                              - - - - - -

                                                                                                                                                              get_async_subtensor([network, config, _mock, log_verbose])

                                                                                                                                                              Factory method to create an initialized AsyncSubtensor.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Module Contents#

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -class bittensor.core.async_subtensor.AsyncSubtensor(network=None, config=None, log_verbose=False, fallback_endpoints=None, retry_forever=False, _mock=False, archive_endpoints=None, websocket_shutdown_timer=5.0)[source]#
                                                                                                                                                              -

                                                                                                                                                              Bases: bittensor.core.types.SubtensorMixin

                                                                                                                                                              -

                                                                                                                                                              Asynchronous interface for interacting with the Bittensor blockchain.

                                                                                                                                                              -

                                                                                                                                                              This class provides a thin layer over the Substrate Interface, offering a collection of frequently-used calls for -querying blockchain data, managing stakes, registering neurons, and interacting with the Bittensor network.

                                                                                                                                                              -

                                                                                                                                                              Initializes an AsyncSubtensor instance for blockchain interaction.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • network (Optional[str]) – The network name or type to connect to (e.g., “finney”, “test”). If None, uses the default -network from config.

                                                                                                                                                              • -
                                                                                                                                                              • config (Optional[bittensor.core.config.Config]) – Configuration object for the AsyncSubtensor instance. If None, uses the default configuration.

                                                                                                                                                              • -
                                                                                                                                                              • log_verbose (bool) – Enables or disables verbose logging. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • fallback_endpoints (Optional[list[str]]) – List of fallback endpoints to use if default or provided network is not available. -Defaults to None.

                                                                                                                                                              • -
                                                                                                                                                              • retry_forever (bool) – Whether to retry forever on connection errors. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • _mock (bool) – Whether this is a mock instance. Mainly for testing purposes. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • archive_endpoints (Optional[list[str]]) – Similar to fallback_endpoints, but specifically only archive nodes. Will be used in -cases where you are requesting a block that is too old for your current (presumably lite) node. -Defaults to None.

                                                                                                                                                              • -
                                                                                                                                                              • websocket_shutdown_timer (float) – Amount of time, in seconds, to wait after the last response from the chain to -close the connection. Defaults to 5.0.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              None

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Raises:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • ConnectionError – If unable to connect to the specified network.

                                                                                                                                                              • -
                                                                                                                                                              • ValueError – If invalid network or configuration parameters are provided.

                                                                                                                                                              • -
                                                                                                                                                              • Exception – Any other exceptions raised during setup or configuration.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Typical usage example:

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              import bittensor as bt -import asyncio

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              async def main():
                                                                                                                                                              -
                                                                                                                                                              async with bt.AsyncSubtensor(network=”finney”) as subtensor:

                                                                                                                                                              block_hash = await subtensor.get_block_hash()

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              asyncio.run(main())

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -async add_liquidity(wallet, netuid, liquidity, price_low, price_high, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Adds liquidity to the specified price range.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The UID of the target subnet for which the call is being initiated.

                                                                                                                                                              • -
                                                                                                                                                              • liquidity (bittensor.utils.balance.Balance) – The amount of liquidity to be added.

                                                                                                                                                              • -
                                                                                                                                                              • price_low (bittensor.utils.balance.Balance) – The lower bound of the price tick range. In TAO.

                                                                                                                                                              • -
                                                                                                                                                              • price_high (bittensor.utils.balance.Balance) – The upper bound of the price tick range. In TAO.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to -None.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                                -
                                                                                                                                                              • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                                                                              • -
                                                                                                                                                              • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                                                                              • -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call toggle_user_liquidity

                                                                                                                                                              method to enable/disable user liquidity.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async add_stake(wallet, hotkey_ss58=None, netuid=None, amount=None, wait_for_inclusion=True, wait_for_finalization=False, safe_staking=False, allow_partial_stake=False, rate_tolerance=0.005, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified -subnet. Staking is a fundamental process in the Bittensor network that enables neurons to participate actively -and earn incentives.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet to be used for staking.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey_ss58 (Optional[str]) – The SS58 address of the hotkey associated with the neuron to which you intend to delegate your -stake. If not specified, the wallet’s hotkey will be used. Defaults to None.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (Optional[int]) – The unique identifier of the subnet to which the neuron belongs.

                                                                                                                                                              • -
                                                                                                                                                              • amount (Optional[bittensor.utils.balance.Balance]) – The amount of TAO to stake.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to True.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The stake will -only execute if the price change doesn’t exceed the rate tolerance. Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial staking when the full amount would -exceed the price tolerance. If false, the entire stake fails if it would exceed the tolerance. -Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • rate_tolerance (float) – The maximum allowed price change ratio when staking. For example, 0.005 = 0.5% maximum price -increase. Only used when safe_staking is True. Default is 0.005.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction. Defaults to None.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the staking is successful, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function enables neurons to increase their stake in the network, enhancing their influence and potential. -When safe_staking is enabled, it provides protection against price fluctuations during the time stake is -executed and the time it is actually processed by the chain.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async add_stake_multiple(wallet, hotkey_ss58s, netuids, amounts=None, wait_for_inclusion=True, wait_for_finalization=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Adds stakes to multiple neurons identified by their hotkey SS58 addresses. -This bulk operation allows for efficient staking across different neurons from a single wallet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet used for staking.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey_ss58s (list[str]) – List of SS58 addresses of hotkeys to stake to.

                                                                                                                                                              • -
                                                                                                                                                              • netuids (bittensor.core.types.UIDs) – list of subnet UIDs.

                                                                                                                                                              • -
                                                                                                                                                              • amounts (Optional[list[bittensor.utils.balance.Balance]]) – Corresponding amounts of TAO to stake for each hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to True.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the staking is successful for all specified neurons, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is essential for managing stakes across multiple neurons, reflecting the dynamic and collaborative -nature of the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async all_subnets(block_number=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Queries the blockchain for comprehensive information about all subnets, including their dynamic parameters -and operational status.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block_number (Optional[int]) – The block number to query the subnet information from. Do not specify if using block_hash or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query. Do not specify if using reuse_block or -block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of DynamicInfo objects, each containing detailed information about a -subnet, or None if the query fails.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[list[DynamicInfo]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get all subnets at current block -subnets = await subtensor.all_subnets()

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -property block#
                                                                                                                                                              -

                                                                                                                                                              Provides an asynchronous property to retrieve the current block.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async blocks_since_last_step(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Queries the blockchain to determine how many blocks have passed since the last epoch step for a specific -subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number for this query. Do not specify if using block_hash or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query. Do not specify if using reuse_block or -block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The number of blocks since the last step in the subnet, or None if the query fails.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get blocks since last step for subnet 1 -blocks = await subtensor.blocks_since_last_step(netuid=1)

                                                                                                                                                              -

                                                                                                                                                              # Get blocks since last step at specific block -blocks = await subtensor.blocks_since_last_step(netuid=1, block=1000000)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async blocks_since_last_update(netuid, uid)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns the number of blocks since the last update, or None if the subnetwork or UID does not exist.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • uid (int) – The unique identifier of the neuron.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The number of blocks since the last update, or None if the subnetwork or UID does not exist.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get blocks since last update for UID 5 in subnet 1 -blocks = await subtensor.blocks_since_last_update(netuid=1, uid=5)

                                                                                                                                                              -

                                                                                                                                                              # Check if neuron needs updating -blocks_since_update = await subtensor.blocks_since_last_update(netuid=1, uid=10)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async bonds(netuid, block=None, block_hash=None, reuse_block=False, mechid=0)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the bond distribution set by subnet validators within a specific subnet.

                                                                                                                                                              -

                                                                                                                                                              Bonds represent the “investment” a subnet validator has made in evaluating a specific subnet miner. This -bonding mechanism is integral to the Yuma Consensus’ design intent of incentivizing high-quality performance -by subnet miners, and honest evaluation by subnet validators.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – Subnet identifier.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number for this query. Do not specify if using block_hash or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block for the query. Do not specify if using reuse_block or block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              • mechid (int) – Subnet mechanism identifier.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              List of tuples mapping each neuron’s UID to its bonds with other neurons.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[tuple[int, list[tuple[int, int]]]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get bonds for subnet 1 at block 1000000 -bonds = await subtensor.bonds(netuid=1, block=1000000)

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async burned_register(wallet, netuid, wait_for_inclusion=False, wait_for_finalization=True, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Registers a neuron on the Bittensor network by recycling TAO. This method of registration involves recycling -TAO tokens, allowing them to be re-mined by performing work on the network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron to be registered.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to -False.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the registration is successful, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async close()[source]#
                                                                                                                                                              -

                                                                                                                                                              Closes the connection to the blockchain.

                                                                                                                                                              -

                                                                                                                                                              Use this to explicitly clean up resources and close the network connection instead of waiting for garbage -collection.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              None

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              subtensor = AsyncSubtensor(network=”finney”) -await subtensor.initialize()

                                                                                                                                                              -

                                                                                                                                                              # Use the subtensor… -balance = await subtensor.get_balance(address=”5F…”)

                                                                                                                                                              -

                                                                                                                                                              # Close when done -await subtensor.close()

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async commit(wallet, netuid, data, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Commits arbitrary data to the Bittensor network by publishing metadata.

                                                                                                                                                              -

                                                                                                                                                              This method allows neurons to publish arbitrary data to the blockchain, which can be used for various purposes -such as sharing model updates, configuration data, or other network-relevant information.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron committing the data.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • data (str) – The data to be committed to the network.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the commit was successful, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Commit some data to subnet 1 -success = await subtensor.commit(wallet=my_wallet, netuid=1, data=”Hello Bittensor!”)

                                                                                                                                                              -

                                                                                                                                                              # Commit with custom period -success = await subtensor.commit(wallet=my_wallet, netuid=1, data=”Model update v2.0”, period=100)

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Note: See <https://docs.learnbittensor.org/glossary#commit-reveal>

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async commit_reveal_enabled(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Check if commit-reveal mechanism is enabled for a given subnet at a specific block.

                                                                                                                                                              -

                                                                                                                                                              The commit reveal feature is designed to solve the weight-copying problem by giving would-be weight-copiers -access only to stale weights. Copying stale weights should result in subnet validators departing from consensus.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet for which to check the commit-reveal mechanism.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number to query. Do not specify if using block_hash or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The block hash at which to check the parameter. Do not set if using block or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if commit-reveal mechanism is enabled, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Check if commit-reveal is enabled for subnet 1 -enabled = await subtensor.commit_reveal_enabled(netuid=1)

                                                                                                                                                              -

                                                                                                                                                              # Check at specific block -enabled = await subtensor.commit_reveal_enabled(netuid=1, block=1000000)

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async commit_weights(wallet, netuid, salt, uids, weights, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, period=16, mechid=0)[source]#
                                                                                                                                                              -

                                                                                                                                                              Commits a hash of the subnet validator’s weight vector to the Bittensor blockchain using the provided wallet. -This action serves as a commitment or snapshot of the validator’s current weight distribution.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet associated with the subnet validator committing the weights.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • salt (bittensor.core.types.Salt) – list of randomly generated integers as salt to generated weighted hash.

                                                                                                                                                              • -
                                                                                                                                                              • uids (bittensor.core.types.UIDs) – NumPy array of subnet miner neuron UIDs for which weights are being committed.

                                                                                                                                                              • -
                                                                                                                                                              • weights (bittensor.core.types.Weights) – of weight values corresponding toon_key

                                                                                                                                                              • -
                                                                                                                                                              • version_key (int) – Integer representation of version key for compatibility with the network.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is -False.

                                                                                                                                                              • -
                                                                                                                                                              • max_retries (int) – The number of maximum attempts to commit weights. Default is 5.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              • mechid (int) – The subnet mechanism unique identifier.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the weight commitment is successful, False otherwise. -msg is a string value describing the success or potential error.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function allows subnet validators to create a tamper-proof record of their weight vector at a specific -point in time, creating a foundation of transparency and accountability for the Bittensor network.

                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async determine_block_hash(block, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Determine the appropriate block hash based on the provided parameters.

                                                                                                                                                              -

                                                                                                                                                              Ensures that only one of the block specification parameters is used and returns the appropriate block hash -for blockchain queries.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The block number to get the hash for. Do not specify if using block_hash or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block. Do not specify if using block or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash. Do not set if using block or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The block hash if one can be determined, None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Raises:
                                                                                                                                                              -

                                                                                                                                                              ValueError – If more than one of block, block_hash, or reuse_block is specified.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get hash for specific block -block_hash = await subtensor.determine_block_hash(block=1000000)

                                                                                                                                                              -

                                                                                                                                                              # Use provided block hash -hash = await subtensor.determine_block_hash(block_hash=”0x1234…”)

                                                                                                                                                              -

                                                                                                                                                              # Reuse last block hash -hash = await subtensor.determine_block_hash(reuse_block=True)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async difficulty(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the ‘Difficulty’ hyperparameter for a specified subnet in the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              This parameter determines the computational challenge required for neurons to participate in consensus and

                                                                                                                                                              validation processes. The difficulty directly impacts the network’s security and integrity by setting the -computational effort required for validating transactions and participating in the network’s consensus -mechanism.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number for the query. Do not specify if using block_hash or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the parameter from. Do not specify if using block or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The value of the ‘Difficulty’ hyperparameter if the subnet exists, None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get difficulty for subnet 1 -difficulty = await subtensor.difficulty(netuid=1)

                                                                                                                                                              -

                                                                                                                                                              # Get difficulty at specific block -difficulty = await subtensor.difficulty(netuid=1, block=1000000)

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async does_hotkey_exist(hotkey_ss58, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns true if the hotkey is known by the chain and there are accounts.

                                                                                                                                                              -

                                                                                                                                                              This method queries the SubtensorModule’s Owner storage function to determine if the hotkey is registered.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number for this query. Do not specify if using block_hash or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block number to check the hotkey against. Do not specify if using reuse_block -or block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain hash. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the hotkey is known by the chain and there are accounts, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Check if hotkey exists -exists = await subtensor.does_hotkey_exist(hotkey_ss58=”5F…”)

                                                                                                                                                              -

                                                                                                                                                              # Check at specific block -exists = await subtensor.does_hotkey_exist(hotkey_ss58=”5F…”, block=1000000)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async encode_params(call_definition, params)[source]#
                                                                                                                                                              -

                                                                                                                                                              Encodes parameters into a hex string using their type definitions.

                                                                                                                                                              -

                                                                                                                                                              This method takes a call definition (which specifies parameter types) and actual parameter values, then -encodes them into a hex string that can be used for blockchain transactions.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • call_definition (dict[str, list[bittensor.core.types.ParamWithTypes]]) – A dictionary containing parameter type definitions. Should have a “params” key with a -list of parameter definitions.

                                                                                                                                                              • -
                                                                                                                                                              • params (Union[list[Any], dict[str, Any]]) – The actual parameter values to encode. Can be either a list (for positional parameters) or a -dictionary (for named parameters).

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A hex-encoded string representation of the parameters.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              str

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Raises:
                                                                                                                                                              -

                                                                                                                                                              ValueError – If a required parameter is missing from the params dictionary.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Define parameter types -call_def = {

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              “params”: [

                                                                                                                                                              {“name”: “amount”, “type”: “u64”}, -{“name”: “coldkey_ss58”, “type”: “str”}

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              ]

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              }

                                                                                                                                                              -

                                                                                                                                                              # Encode parameters as a dictionary -params_dict = {

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              “amount”: 1000000, -“coldkey_ss58”: “5F…”

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              } -encoded = await subtensor.encode_params(call_definition=call_def, params=params_dict)

                                                                                                                                                              -

                                                                                                                                                              # Or encode as a list (positional) -params_list = [1000000, “5F…”] -encoded = await subtensor.encode_params(call_definition=call_def, params=params_list)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async filter_netuids_by_registered_hotkeys(all_netuids, filter_for_netuids, all_hotkeys, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Filters a given list of all netuids for certain specified netuids and hotkeys

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • all_netuids (Iterable[int]) – A list of netuids to filter.

                                                                                                                                                              • -
                                                                                                                                                              • filter_for_netuids (Iterable[int]) – A subset of all_netuids to filter from the main list.

                                                                                                                                                              • -
                                                                                                                                                              • all_hotkeys (Iterable[bittensor_wallet.Wallet]) – Hotkeys to filter from the main list.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – hash of the blockchain block number at which to perform the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – whether to reuse the last-used blockchain hash when retrieving info.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The filtered list of netuids.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_admin_freeze_window(block=None, block_hash=None, reuse_block=False)#
                                                                                                                                                              -

                                                                                                                                                              Returns the number of blocks when dependent transactions will be frozen for execution.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The block number at which to retrieve the hyperparameter. Do not specify if using block_hash or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block for the query. Do not specify if using block or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              AdminFreezeWindow as integer. The number of blocks are frozen.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              int

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_all_commitments(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the on-chain commitments for a specific subnet in the Bittensor network.

                                                                                                                                                              -

                                                                                                                                                              This method retrieves all commitment data for all neurons in a specific subnet. This is useful for analyzing the -commit-reveal patterns across an entire subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number to retrieve the commitment from. If None, the latest block is used. -Default is None.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A mapping of the ss58:commitment with the commitment as a string.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              dict[str, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get all commitments for subnet 1 -commitments = await subtensor.get_all_commitments(netuid=1)

                                                                                                                                                              -

                                                                                                                                                              # Iterate over all commitments -for hotkey, commitment in commitments.items():

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              print(f”Hotkey {hotkey}: {commitment}”)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_all_metagraphs_info(block=None, block_hash=None, reuse_block=False, all_mechanisms=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves a list of MetagraphInfo objects for all subnets

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number at which to perform the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash when retrieving info.

                                                                                                                                                              • -
                                                                                                                                                              • all_mechanisms (bool) – If True then returns all mechanisms, otherwise only those with index 0 for all subnets.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              List of MetagraphInfo objects for all existing subnets.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[list[bittensor.core.chain_data.MetagraphInfo]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_all_neuron_certificates(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the TLS certificates for neurons within a specified subnet (netuid) of the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the parameter from. Do not specify if using block or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              Certificate} for the key/Certificate pairs on the subnet

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              {ss58

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is used for certificate discovery for setting up mutual tls communication between neurons.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_all_revealed_commitments(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns all revealed commitments for a given netuid.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number to retrieve the commitment from. Default is None.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A dictionary of all revealed commitments in view {ss58_address: (reveal block, commitment message)}.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              result

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example of result: -{

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              “5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY”: ( (12, “Alice message 1”), (152, “Alice message 2”) ), -“5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty”: ( (12, “Bob message 1”), (147, “Bob message 2”) ),

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              }

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_all_subnets_info(block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves detailed information about all subnets within the Bittensor network.

                                                                                                                                                              -

                                                                                                                                                              This function provides comprehensive data on each subnet, including its characteristics and operational -parameters.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The block hash for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of SubnetInfo objects, each containing detailed information about a subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[SubnetInfo]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get all subnet information -subnets = await subtensor.get_all_subnets_info()

                                                                                                                                                              -

                                                                                                                                                              # Get at specific block -subnets = await subtensor.get_all_subnets_info(block=1000000)

                                                                                                                                                              -

                                                                                                                                                              # Iterate over subnet information -for subnet in subnets:

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              print(f”Subnet {subnet.netuid}: {subnet.name}”)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Note

                                                                                                                                                              -

                                                                                                                                                              Gaining insights into the subnets’ details assists in understanding the network’s composition, the roles -of different subnets, and their unique features.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_balance(address, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the balance for given coldkey.

                                                                                                                                                              -

                                                                                                                                                              This method queries the System module’s Account storage to get the current balance of a coldkey address. The -balance represents the amount of TAO tokens held by the specified address.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • address (str) – The coldkey address in SS58 format.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The block hash for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The balance object containing the account’s TAO balance.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Balance

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get balance for an address -balance = await subtensor.get_balance(address=”5F…”) -print(f”Balance: {balance.tao} TAO”)

                                                                                                                                                              -

                                                                                                                                                              # Get balance at specific block -balance = await subtensor.get_balance(address=”5F…”, block=1000000)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_balances(*addresses, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the balance for given coldkey(s).

                                                                                                                                                              -

                                                                                                                                                              This method efficiently queries multiple coldkey addresses in a single batch operation, returning a dictionary -mapping each address to its corresponding balance. This is more efficient than calling get_balance multiple -times.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • *addresses (str) – Variable number of coldkey addresses in SS58 format.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The block hash for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A dictionary mapping each address to its Balance object.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              dict[str, Balance]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get balances for multiple addresses -balances = await subtensor.get_balances(“5F…”, “5G…”, “5H…”)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_block_hash(block=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the hash of a specific block on the Bittensor blockchain.

                                                                                                                                                              -

                                                                                                                                                              The block hash is a unique identifier representing the cryptographic hash of the block’s content, ensuring its -integrity and immutability. It is a fundamental aspect of blockchain technology, providing a secure reference -to each block’s data. It is crucial for verifying transactions, ensuring data consistency, and maintaining the -trustworthiness of the blockchain.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -

                                                                                                                                                              block (Optional[int]) – The block number for which the hash is to be retrieved. If None, returns the latest block hash.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The cryptographic hash of the specified block.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              str

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get hash for specific block -block_hash = await subtensor.get_block_hash(block=1000000) -print(f”Block 1000000 hash: {block_hash}”)

                                                                                                                                                              -

                                                                                                                                                              # Get latest block hash -latest_hash = await subtensor.get_block_hash() -print(f”Latest block hash: {latest_hash}”)

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_children(hotkey, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the children of a given hotkey and netuid.

                                                                                                                                                              -

                                                                                                                                                              This method queries the SubtensorModule’s ChildKeys storage function to get the children and formats them before -returning as a tuple. It provides information about the child neurons that a validator has set for weight -distribution.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey (str) – The hotkey value.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The netuid value.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number for which the children are to be retrieved.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A tuple containing a boolean indicating success or failure, a -list of formatted children with their proportions, and an error message (if applicable).

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              tuple[bool, list[tuple[float, str]], str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get children for a hotkey in subnet 1 -success, children, error = await subtensor.get_children(hotkey=”5F…”, netuid=1)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              if success:
                                                                                                                                                              -
                                                                                                                                                              for proportion, child_hotkey in children:

                                                                                                                                                              print(f”Child {child_hotkey}: {proportion}”)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_children_pending(hotkey, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the pending children of a given hotkey and netuid.

                                                                                                                                                              -

                                                                                                                                                              This method queries the SubtensorModule’s PendingChildKeys storage function to get children that are pending -approval or in a cooldown period. These are children that have been proposed but not yet finalized.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey (str) – The hotkey value.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The netuid value.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number for which the children are to be retrieved.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of children with their proportions. -int: The cool-down block number.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[tuple[float, str]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_commitment(netuid, uid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the on-chain commitment for a specific neuron in the Bittensor network.

                                                                                                                                                              -

                                                                                                                                                              This method retrieves the commitment data that a neuron has published to the blockchain. Commitments are used in -the commit-reveal mechanism for secure weight setting and other network operations.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • uid (int) – The unique identifier of the neuron.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number to retrieve the commitment from. If None, the latest block is used. -Default is None.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The commitment data as a string.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              str

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get commitment for UID 5 in subnet 1 -commitment = await subtensor.get_commitment(netuid=1, uid=5) -print(f”Commitment: {commitment}”)

                                                                                                                                                              -

                                                                                                                                                              # Get commitment at specific block -commitment = await subtensor.get_commitment(

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              netuid=1, -uid=5, -block=1000000

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              )

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_current_block()[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns the current block number on the Bittensor blockchain.

                                                                                                                                                              -

                                                                                                                                                              This function provides the latest block number, indicating the most recent state of the blockchain. Knowing -the current block number is essential for querying real-time data and performing time-sensitive operations on -the blockchain. It serves as a reference point for network activities and data synchronization.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The current chain block number.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              int

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get current block number -current_block = await subtensor.get_current_block() -print(f”Current block: {current_block}”)

                                                                                                                                                              -

                                                                                                                                                              block = await subtensor.get_current_block() -if block > 1000000:

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              print(“Network has progressed past block 1M”)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_current_weight_commit_info(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves CRV3 weight commit information for a specific subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query. Default is None.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                                -
                                                                                                                                                              • -
                                                                                                                                                                ss58_address: The address of the committer.
                                                                                                                                                                  -
                                                                                                                                                                • commit_message: The commit message.

                                                                                                                                                                • -
                                                                                                                                                                • reveal_round: The round when the commitment was revealed.

                                                                                                                                                                • -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                              • -
                                                                                                                                                              -

                                                                                                                                                              The list may be empty if there are no commits found.

                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              A list of commit details, where each item contains

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_current_weight_commit_info_v2(netuid, block=None, block_hash=None, reuse_block=False)#
                                                                                                                                                              -

                                                                                                                                                              Retrieves CRV3 weight commit information for a specific subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query. Default is None.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                                -
                                                                                                                                                              • -
                                                                                                                                                                ss58_address: The address of the committer.
                                                                                                                                                                  -
                                                                                                                                                                • commit_block: The block number when the commitment was made.

                                                                                                                                                                • -
                                                                                                                                                                • commit_message: The commit message.

                                                                                                                                                                • -
                                                                                                                                                                • reveal_round: The round when the commitment was revealed.

                                                                                                                                                                • -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                              • -
                                                                                                                                                              -

                                                                                                                                                              The list may be empty if there are no commits found.

                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              A list of commit details, where each item contains

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_delegate_by_hotkey(hotkey_ss58, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves detailed information about a delegate neuron based on its hotkey. This function provides a -comprehensive view of the delegate’s status, including its stakes, nominators, and reward distribution.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the delegate’s hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              Detailed information about the delegate neuron, None if not found.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[DelegateInfo]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is essential for understanding the roles and influence of delegate neurons within the Bittensor -network’s consensus and governance structures.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_delegate_identities(block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Fetches delegates identities from the chain.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – the hash of the blockchain block for the query

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              ChainIdentity, …}

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Dict {ss58

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_delegate_take(hotkey_ss58, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the delegate ‘take’ percentage for a neuron identified by its hotkey. The ‘take’ represents the -percentage of rewards that the delegate claims from its nominators’ stakes.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The delegate take percentage.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              float

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              The delegate take is a critical parameter in the network’s incentive structure, influencing the distribution of -rewards among neurons and their nominators.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_delegated(coldkey_ss58, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves a list of delegates and their associated stakes for a given coldkey. This function identifies the -delegates that a specific account has staked tokens on.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • coldkey_ss58 (str) – The SS58 address of the account’s coldkey.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list containing the delegated information for the specified coldkey.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[bittensor.core.chain_data.delegate_info.DelegatedInfo]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is important for account holders to understand their stake allocations and their involvement in -the network’s delegation and consensus mechanisms.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_delegates(block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Fetches all delegates on the chain

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – hash of the blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              List of DelegateInfo objects, or an empty list if there are no delegates.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[bittensor.core.chain_data.DelegateInfo]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_existential_deposit(block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the existential deposit amount for the Bittensor blockchain. -The existential deposit is the minimum amount of TAO required for an account to exist on the blockchain. -Accounts with balances below this threshold can be reaped to conserve network resources.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – Block hash at which to query the deposit amount. If None, the current block is used.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The existential deposit amount.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bittensor.utils.balance.Balance

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              The existential deposit is a fundamental economic parameter in the Bittensor network, ensuring efficient use of -storage and preventing the proliferation of dust accounts.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_hotkey_owner(hotkey_ss58, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the owner of the given hotkey at a specific block hash. -This function queries the blockchain for the owner of the provided hotkey. If the hotkey does not exist at the -specified block hash, it returns None.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block at which to check the hotkey ownership.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The SS58 address of the owner if the hotkey exists, or None if it doesn’t.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -get_hotkey_stake#
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_hyperparameter(param_name, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves a specified hyperparameter for a specific subnet.

                                                                                                                                                              -

                                                                                                                                                              This method queries the blockchain for subnet-specific hyperparameters such as difficulty, tempo, immunity -period, and other network configuration values.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • param_name (str) – The name of the hyperparameter to retrieve (e.g., “Difficulty”, “Tempo”, “ImmunityPeriod”).

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number at which to retrieve the hyperparameter. Do not specify if using block_hash or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block for the query. Do not specify if using block or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The value of the specified hyperparameter if the subnet exists, None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[Any]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get difficulty for subnet 1 -difficulty = await subtensor.get_hyperparameter(param_name=”Difficulty”, netuid=1)

                                                                                                                                                              -

                                                                                                                                                              # Get tempo at a specific block -tempo = await subtensor.get_hyperparameter(param_name=”Tempo”, netuid=1, block=1000000)

                                                                                                                                                              -

                                                                                                                                                              # Get immunity period using block hash -immunity = await subtensor.get_hyperparameter(param_name=”ImmunityPeriod”, netuid=1, block_hash=”0x1234…”)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_last_commitment_bonds_reset_block(netuid, uid)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the last block number when the bonds reset were triggered by publish_metadata for a specific neuron.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • uid (int) – The unique identifier of the neuron.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The block number when the bonds were last reset, or None if not found.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_liquidity_list(wallet, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves all liquidity positions for the given wallet on a specified subnet (netuid). -Calculates associated fee rewards based on current global and tick-level fee data.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – Wallet instance to fetch positions for.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – Subnet unique id.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the parameter from. Do not specify if using block or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              List of liquidity positions, or None if subnet does not exist.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[list[bittensor.utils.liquidity.LiquidityPosition]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_mechanism_count(netuid, block=None, block_hash=None, reuse_block=False)#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the number of mechanisms for the given subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – Subnet identifier.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the stake from. Do not specify if using block or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The number of mechanisms for the given subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              int

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_mechanism_emission_split(netuid, block=None, block_hash=None, reuse_block=False)#
                                                                                                                                                              -

                                                                                                                                                              Returns the emission percentages allocated to each subnet mechanism.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the stake from. Do not specify if using block or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of integers representing the percentage of emission allocated to each subnet mechanism (rounded to -whole numbers). Returns None if emission is evenly split or if the data is unavailable.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[list[int]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_metagraph_info(netuid, field_indices=None, block=None, block_hash=None, reuse_block=False, mechid=0)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves full or partial metagraph information for the specified subnet (netuid).

                                                                                                                                                              -

                                                                                                                                                              A metagraph is a data structure that contains comprehensive information about the current state of a subnet, -including detailed information on all the nodes (neurons) such as subnet validator stakes and subnet weights -in the subnet. Metagraph aids in calculating emissions.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet to query.

                                                                                                                                                              • -
                                                                                                                                                              • field_indices (Optional[Union[list[bittensor.core.chain_data.SelectiveMetagraphIndex], list[int]]]) – Optional list of SelectiveMetagraphIndex or int values specifying which fields to retrieve. -If not provided, all available fields will be returned.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number at which to perform the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash when retrieving info.

                                                                                                                                                              • -
                                                                                                                                                              • mechid (int) – Subnet mechanism unique identifier.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              MetagraphInfo object with the requested subnet mechanism data, None if the subnet mechanism does not exist.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[bittensor.core.chain_data.MetagraphInfo]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Retrieve all fields from the metagraph from subnet 2 mechanism 0 -meta_info = subtensor.get_metagraph_info(netuid=2)

                                                                                                                                                              -

                                                                                                                                                              # Retrieve all fields from the metagraph from subnet 2 mechanism 1 -meta_info = subtensor.get_metagraph_info(netuid=2, mechid=1)

                                                                                                                                                              -

                                                                                                                                                              # Retrieve selective data from the metagraph from subnet 2 mechanism 0 -partial_meta_info = subtensor.get_metagraph_info(

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              netuid=2, -field_indices=[SelectiveMetagraphIndex.Name, SelectiveMetagraphIndex.OwnerHotkeys]

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              )

                                                                                                                                                              -

                                                                                                                                                              # Retrieve selective data from the metagraph from subnet 2 mechanism 1 -partial_meta_info = subtensor.get_metagraph_info(

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              netuid=2, -mechid=1, -field_indices=[SelectiveMetagraphIndex.Name, SelectiveMetagraphIndex.OwnerHotkeys]

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              )

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_minimum_required_stake()[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns the minimum required stake for nominators in the Subtensor network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The minimum required stake as a Balance object.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Balance

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_netuids_for_hotkey(hotkey_ss58, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves a list of subnet UIDs (netuids) for which a given hotkey is a member. This function identifies the -specific subnets within the Bittensor network where the neuron associated with the hotkey is active.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number at which to perform the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash when retrieving info.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of netuids where the neuron is a member.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_neuron_certificate(hotkey, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the TLS certificate for a specific neuron identified by its unique identifier (UID) within a -specified subnet (netuid) of the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey (str) – The hotkey to query.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the parameter from. Do not specify if using block or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              the certificate of the neuron if found, None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[bittensor.utils.Certificate]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is used for certificate discovery for setting up mutual tls communication between neurons.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_neuron_for_pubkey_and_subnet(hotkey_ss58, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves information about a neuron based on its public key (hotkey SS58 address) and the specific subnet UID -(netuid). This function provides detailed neuron information for a particular subnet within the Bittensor -network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block number at which to perform the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              Detailed information about the neuron if found,

                                                                                                                                                              None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[bittensor.core.chain_data.neuron_info.NeuronInfo]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is crucial for accessing specific neuron data and understanding its status, stake, and other -attributes within a particular subnet of the Bittensor ecosystem.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_next_epoch_start_block(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Calculates the first block number of the next epoch for the given subnet.

                                                                                                                                                              -

                                                                                                                                                              If block is not provided, the current chain block will be used. Epochs are determined based on the subnet’s -tempo (i.e., blocks per epoch). The result is the block number at which the next epoch will begin.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The reference block to calculate from. If None, uses the current chain block height.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block number at which to perform the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The block number at which the next epoch will start.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              int

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_owned_hotkeys(coldkey_ss58, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves all hotkeys owned by a specific coldkey address.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • coldkey_ss58 (str) – The SS58 address of the coldkey to query.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of hotkey SS58 addresses owned by the coldkey.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_parents(hotkey, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              This method retrieves the parent of a given hotkey and netuid. It queries the SubtensorModule’s ParentKeys -storage function to get the children and formats them before returning as a tuple.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey (str) – The child hotkey SS58.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The netuid value.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number for which the children are to be retrieved.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of formatted parents [(proportion, parent)]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[tuple[float, str]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_revealed_commitment(netuid, uid, block=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns uid related revealed commitment for a given netuid.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • uid (int) – The neuron uid to retrieve the commitment from.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number to retrieve the commitment from. Default is None.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A tuple of reveal block and commitment message.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              result (Optional[tuple[int, str]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Example of result:

                                                                                                                                                              ( (12, “Alice message 1”), (152, “Alice message 2”) ) -( (12, “Bob message 1”), (147, “Bob message 2”) )

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_revealed_commitment_by_hotkey(netuid, hotkey_ss58_address=None, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns hotkey related revealed commitment for a given netuid.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number to retrieve the commitment from. Default is None.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey_ss58_address (Optional[str]) – The ss58 address of the committee member.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A tuple of reveal block and commitment message.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              result (tuple[int, str)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_stake(coldkey_ss58, hotkey_ss58, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns the stake under a coldkey - hotkey pairing.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • coldkey_ss58 (str) – The SS58 address of the coldkey.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The subnet ID.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number at which to query the stake information.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the stake from. Do not specify if using block -or reuse_block

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The stake under the coldkey - hotkey pairing.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Balance

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_stake_add_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Calculates the fee for adding new stake to a hotkey.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • amount (bittensor.utils.balance.Balance) – Amount of stake to add in TAO

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – Netuid of subnet

                                                                                                                                                              • -
                                                                                                                                                              • coldkey_ss58 (str) – SS58 address of source coldkey

                                                                                                                                                              • -
                                                                                                                                                              • hotkey_ss58 (str) – SS58 address of destination hotkey

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – Block number at which to perform the calculation

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The calculated stake fee as a Balance object

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bittensor.utils.balance.Balance

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_stake_for_coldkey(coldkey_ss58, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the stake information for a given coldkey.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • coldkey_ss58 (str) – The SS58 address of the coldkey.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number at which to query the stake information.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              An optional list of StakeInfo objects, or None if no stake information is found.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[list[bittensor.core.chain_data.StakeInfo]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_stake_for_coldkey_and_hotkey(coldkey_ss58, hotkey_ss58, netuids=None, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves all coldkey-hotkey pairing stake across specified (or all) subnets

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • coldkey_ss58 (str) – The SS58 address of the coldkey.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • netuids (Optional[bittensor.core.types.UIDs]) – The subnet IDs to query for. Set to None for all subnets.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number at which to query the stake information.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the stake from. Do not specify if using block -or reuse_block

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              StakeInfo} pairing of all stakes across all subnets.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              A {netuid

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_stake_for_hotkey(hotkey_ss58, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the stake information for a given hotkey.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The subnet ID to query for.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number at which to query the stake information. Do not specify if also specifying -block_hash or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query. Do not specify if also specifying block -or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse for this query the last-used block. Do not specify if also specifying block -or block_hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bittensor.utils.balance.Balance

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -get_stake_info_for_coldkey#
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • coldkey_ss58 (str)

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int])

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str])

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool)

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[list[bittensor.core.chain_data.StakeInfo]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_stake_movement_fee(amount, origin_netuid, origin_hotkey_ss58, origin_coldkey_ss58, destination_netuid, destination_hotkey_ss58, destination_coldkey_ss58, block=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Calculates the fee for moving stake between hotkeys/subnets/coldkeys.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • amount (bittensor.utils.balance.Balance) – Amount of stake to move in TAO

                                                                                                                                                              • -
                                                                                                                                                              • origin_netuid (int) – Netuid of source subnet

                                                                                                                                                              • -
                                                                                                                                                              • origin_hotkey_ss58 (str) – SS58 address of source hotkey

                                                                                                                                                              • -
                                                                                                                                                              • origin_coldkey_ss58 (str) – SS58 address of source coldkey

                                                                                                                                                              • -
                                                                                                                                                              • destination_netuid (int) – Netuid of destination subnet

                                                                                                                                                              • -
                                                                                                                                                              • destination_hotkey_ss58 (str) – SS58 address of destination hotkey

                                                                                                                                                              • -
                                                                                                                                                              • destination_coldkey_ss58 (str) – SS58 address of destination coldkey

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – Block number at which to perform the calculation

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The calculated stake fee as a Balance object

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bittensor.utils.balance.Balance

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_stake_operations_fee(amount, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns fee for any stake operation in specified subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • amount (bittensor.utils.balance.Balance) – Amount of stake to add in Alpha/TAO.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – Netuid of subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number at which to query the stake information. Do not specify if also specifying -block_hash or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query. Do not specify if also specifying block -or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse for this query the last-used block. Do not specify if also specifying block -or block_hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The calculated stake fee as a Balance object.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_stake_weight(netuid, block=None, block_hash=None, reuse_block=False)#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the stake weight for all hotkeys in a given subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – Netuid of subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – Block number at which to perform the calculation.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query. Do not specify if also specifying block -or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse for this query the last-used block. Do not specify if also specifying block -or block_hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of stake weights for all hotkeys in the specified subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[float]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_subnet_burn_cost(block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Retrieves the burn cost for registering a new subnet within the Bittensor network. This cost represents the

                                                                                                                                                              amount of Tao that needs to be locked or burned to establish a new

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block_hash of the block id.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The burn cost for subnet registration.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              int

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              The subnet burn cost is an important economic parameter, reflecting the network’s mechanisms for controlling

                                                                                                                                                              the proliferation of subnets and ensuring their commitment to the network’s long-term viability.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_subnet_hyperparameters(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the hyperparameters for a specific subnet within the Bittensor network. These hyperparameters define -the operational settings and rules governing the subnet’s behavior.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The network UID of the subnet to query.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The subnet’s hyperparameters, or None if not available.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[bittensor.core.chain_data.SubnetHyperparameters]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Understanding the hyperparameters is crucial for comprehending how subnets are configured and managed, and how -they interact with the network’s consensus and incentive mechanisms.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_subnet_info(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves detailed information about subnet within the Bittensor network. -This function provides comprehensive data on subnet, including its characteristics and operational parameters.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the stake from. Do not specify if using block -or reuse_block

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A SubnetInfo objects, each containing detailed information about a subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              SubnetInfo

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Gaining insights into the subnet’s details assists in understanding the network’s composition, the roles of -different subnets, and their unique features.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_subnet_owner_hotkey(netuid, block=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the hotkey of the subnet owner for a given network UID.

                                                                                                                                                              -

                                                                                                                                                              This function queries the subtensor network to fetch the hotkey of the owner of a subnet specified by its -netuid. If no data is found or the query fails, the function returns None.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The network UID of the subnet to fetch the owner’s hotkey for.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The specific block number to query the data from.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The hotkey of the subnet owner if available; None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_subnet_price(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Gets the current Alpha price in TAO for all subnets.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the stake from. Do not specify if using block -or reuse_block

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The current Alpha price in TAO units for the specified subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bittensor.utils.balance.Balance

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_subnet_prices(block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Gets the current Alpha price in TAO for a specified subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the stake from. Do not specify if using block -or reuse_block

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                                -
                                                                                                                                                              • subnet unique ID

                                                                                                                                                              • -
                                                                                                                                                              • The current Alpha price in TAO units for the specified subnet.

                                                                                                                                                              • -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              dict

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_subnet_reveal_period_epochs(netuid, block=None, block_hash=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieve the SubnetRevealPeriodEpochs hyperparameter.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int)

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int])

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str])

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              int

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_subnet_validator_permits(netuid, block=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the list of validator permits for a given subnet as boolean values.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of boolean values representing validator permits, or None if not available.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[list[bool]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_subnets(block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the list of all subnet unique identifiers (netuids) currently present in the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the subnet unique identifiers from.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of subnet netuids.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function provides a comprehensive view of the subnets within the Bittensor network, offering insights into -its diversity and scale.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_timelocked_weight_commits(netuid, block=None, block_hash=None, reuse_block=False, mechid=0)#
                                                                                                                                                              -

                                                                                                                                                              Retrieves CRv4 weight commit information for a specific subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – Subnet identifier.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query. Default is None.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the stake from. Do not specify if using block or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              • mechid (int) – Subnet mechanism identifier.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                                -
                                                                                                                                                              • -
                                                                                                                                                                ss58_address: The address of the committer.
                                                                                                                                                                  -
                                                                                                                                                                • commit_block: The block number when the commitment was made.

                                                                                                                                                                • -
                                                                                                                                                                • commit_message: The commit message.

                                                                                                                                                                • -
                                                                                                                                                                • reveal_round: The round when the commitment was revealed.

                                                                                                                                                                • -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                              • -
                                                                                                                                                              -

                                                                                                                                                              The list may be empty if there are no commits found.

                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              A list of commit details, where each item contains

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_timestamp(block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the datetime timestamp for a given block.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query. Do not specify if specifying block_hash or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block_hash representation of the block id. Do not specify if specifying block -or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash. Do not specify if specifying block or -block_hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              datetime object for the timestamp of the block.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              datetime.datetime

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_total_subnets(block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the total number of subnets within the Bittensor network as of a specific blockchain block.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block_hash representation of block id.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The total number of subnets in the network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Understanding the total number of subnets is essential for assessing the network’s growth and the extent of its -decentralized infrastructure.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_transfer_fee(wallet, dest, value, keep_alive=True)[source]#
                                                                                                                                                              -

                                                                                                                                                              Calculates the transaction fee for transferring tokens from a wallet to a specified destination address. This -function simulates the transfer to estimate the associated cost, taking into account the current network -conditions and transaction complexity.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet from which the transfer is initiated.

                                                                                                                                                              • -
                                                                                                                                                              • dest (str) – The SS58 address of the destination account.

                                                                                                                                                              • -
                                                                                                                                                              • value (bittensor.utils.balance.Balance) – The amount of tokens to be transferred, specified as a Balance object, or in Tao (float) or Rao -(int) units.

                                                                                                                                                              • -
                                                                                                                                                              • keep_alive (bool) – Whether the transfer fee should be calculated based on keeping the wallet alive (existential -deposit) or not.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              The estimated transaction fee for the transfer, represented as a Balance

                                                                                                                                                              object.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bittensor.utils.balance.Balance

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Estimating the transfer fee is essential for planning and executing token transactions, ensuring that the -wallet has sufficient funds to cover both the transfer amount and the associated costs. This function provides -a crucial tool for managing financial operations within the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_uid_for_hotkey_on_subnet(hotkey_ss58, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the unique identifier (UID) for a neuron’s hotkey on a specific subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block_hash representation of the block id.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The UID of the neuron if it is registered on the subnet, None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              The UID is a critical identifier within the network, linking the neuron’s hotkey to its operational and -governance activities on a particular subnet.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_unstake_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Calculates the fee for unstaking from a hotkey.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • amount (bittensor.utils.balance.Balance) – Amount of stake to unstake in TAO

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – Netuid of subnet

                                                                                                                                                              • -
                                                                                                                                                              • coldkey_ss58 (str) – SS58 address of source coldkey

                                                                                                                                                              • -
                                                                                                                                                              • hotkey_ss58 (str) – SS58 address of destination hotkey

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – Block number at which to perform the calculation

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The calculated stake fee as a Balance object

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bittensor.utils.balance.Balance

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async get_vote_data(proposal_hash, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the voting data for a specific proposal on the Bittensor blockchain. This data includes information -about how senate members have voted on the proposal.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • proposal_hash (str) – The hash of the proposal for which voting data is requested.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number to query the voting data.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              An object containing the proposal’s voting data, or None if not found.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[bittensor.core.chain_data.ProposalVoteData]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is important for tracking and understanding the decision-making processes within the Bittensor -network, particularly how proposals are received and acted upon by the governing body.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async immunity_period(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the ‘ImmunityPeriod’ hyperparameter for a specific subnet. This parameter defines the duration during -which new neurons are protected from certain network penalties or restrictions.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block_hash representation of the block id.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The value of the ‘ImmunityPeriod’ hyperparameter if the subnet exists, None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              The ‘ImmunityPeriod’ is a critical aspect of the network’s governance system, ensuring that new participants -have a grace period to establish themselves and contribute to the network without facing immediate punitive -actions.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async initialize()[source]#
                                                                                                                                                              -

                                                                                                                                                              Initializes the connection to the blockchain.

                                                                                                                                                              -

                                                                                                                                                              This method establishes the connection to the Bittensor blockchain and should be called after creating an -AsyncSubtensor instance before making any queries.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The initialized instance (self) for method chaining.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              AsyncSubtensor

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Raises:
                                                                                                                                                              -

                                                                                                                                                              ConnectionError – If unable to connect to the blockchain due to timeout or connection refusal.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              subtensor = AsyncSubtensor(network=”finney”)

                                                                                                                                                              -

                                                                                                                                                              # Initialize the connection -await subtensor.initialize()

                                                                                                                                                              -

                                                                                                                                                              # Now you can make queries -balance = await subtensor.get_balance(address=”5F…”)

                                                                                                                                                              -

                                                                                                                                                              # Or chain the initialization -subtensor = await AsyncSubtensor(network=”finney”).initialize()

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async is_fast_blocks()[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns True if the node is running with fast blocks. False if not.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async is_hotkey_delegate(hotkey_ss58, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Determines whether a given hotkey (public key) is a delegate on the Bittensor network. This function checks if -the neuron associated with the hotkey is part of the network’s delegation system.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the hotkey is a delegate, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Being a delegate is a significant status within the Bittensor network, indicating a neuron’s involvement in -consensus and governance processes.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async is_hotkey_registered(hotkey_ss58, netuid=None, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Determines whether a given hotkey (public key) is registered in the Bittensor network, either globally across -any subnet or specifically on a specified subnet. This function checks the registration status of a neuron -identified by its hotkey, which is crucial for validating its participation and activities within the network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (Optional[int]) – The unique identifier of the subnet to check the registration. If None, the -registration is checked across all subnets.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block_hash representation of the block id. Do not specify if using block or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash. Do not set if using block_hash or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              True if the hotkey is registered in the specified context (either any subnet or a specific subnet),

                                                                                                                                                              False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is important for verifying the active status of neurons in the Bittensor network. It aids in -understanding whether a neuron is eligible to participate in network processes such as consensus, validation, -and incentive distribution based on its registration status.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async is_hotkey_registered_any(hotkey_ss58, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Checks if a neuron’s hotkey is registered on any subnet within the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block_hash representation of block id.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the hotkey is registered on any subnet, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is essential for determining the network-wide presence and participation of a neuron.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async is_hotkey_registered_on_subnet(hotkey_ss58, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Checks if the hotkey is registered on a given netuid.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • hotkey_ss58 (str)

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int)

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int])

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str])

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool)

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async is_in_admin_freeze_window(netuid, block=None, block_hash=None, reuse_block=False)#
                                                                                                                                                              -

                                                                                                                                                              Returns True if the current block is within the terminal freeze window of the tempo -for the given subnet. During this window, admin ops are prohibited to avoid interference -with validator weight submissions.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block_hash representation of the block id.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if in freeze window, else False.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async is_subnet_active(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Verify if subnet with provided netuid is active.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block_hash representation of block id.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if subnet is active, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Note: This means whether the start_call was initiated or not.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async last_drand_round()[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the last drand round emitted in bittensor. This corresponds when committed weights will be revealed.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The latest Drand round emitted in bittensor.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              int

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -log_verbose = False#
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async max_weight_limit(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns network MaxWeightsLimit hyperparameter.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block_hash representation of block id.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              The value of the MaxWeightsLimit hyperparameter, or None if the subnetwork does not

                                                                                                                                                              exist or the parameter is not found.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[float]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async metagraph(netuid, lite=True, block=None, mechid=0)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns a synced metagraph for a specified subnet within the Bittensor network. -The metagraph represents the network’s structure, including neuron connections and interactions.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The network UID of the subnet to query.

                                                                                                                                                              • -
                                                                                                                                                              • lite (bool) – If true, returns a metagraph using a lightweight sync (no weights, no bonds).

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – Block number for synchronization, or None for the latest block.

                                                                                                                                                              • -
                                                                                                                                                              • mechid (int) – Subnet mechanism identifier.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The metagraph representing the subnet’s structure and neuron relationships.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bittensor.core.metagraph.AsyncMetagraph

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              The metagraph is an essential tool for understanding the topology and dynamics of the Bittensor network’s -decentralized architecture, particularly in relation to neuron interconnectivity and consensus processes.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async min_allowed_weights(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns network MinAllowedWeights hyperparameter.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block_hash representation of block id.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              The value of the MinAllowedWeights hyperparameter, or None if the subnetwork does not

                                                                                                                                                              exist or the parameter is not found.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async modify_liquidity(wallet, netuid, position_id, liquidity_delta, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Modifies liquidity in liquidity position by adding or removing liquidity from it.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The UID of the target subnet for which the call is being initiated.

                                                                                                                                                              • -
                                                                                                                                                              • position_id (int) – The id of the position record in the pool.

                                                                                                                                                              • -
                                                                                                                                                              • liquidity_delta (bittensor.utils.balance.Balance) – The amount of liquidity to be added or removed (add if positive or remove if negative).

                                                                                                                                                              • -
                                                                                                                                                              • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to -None.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                                -
                                                                                                                                                              • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                                                                              • -
                                                                                                                                                              • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                                                                              • -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              import bittensor as bt

                                                                                                                                                              -

                                                                                                                                                              subtensor = bt.AsyncSubtensor(network=”local”) -await subtensor.initialize()

                                                                                                                                                              -

                                                                                                                                                              my_wallet = bt.Wallet()

                                                                                                                                                              -

                                                                                                                                                              # if liquidity_delta is negative -my_liquidity_delta = Balance.from_tao(100) * -1 -await subtensor.modify_liquidity(

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              wallet=my_wallet, -netuid=123, -position_id=2, -liquidity_delta=my_liquidity_delta

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              )

                                                                                                                                                              -

                                                                                                                                                              # if liquidity_delta is positive -my_liquidity_delta = Balance.from_tao(120) -await subtensor.modify_liquidity(

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              wallet=my_wallet, -netuid=123, -position_id=2, -liquidity_delta=my_liquidity_delta

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              )

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Note: Modifying is allowed even when user liquidity is enabled in specified subnet. Call toggle_user_liquidity

                                                                                                                                                              to enable/disable user liquidity.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async move_stake(wallet, origin_hotkey, origin_netuid, destination_hotkey, destination_netuid, amount=None, wait_for_inclusion=True, wait_for_finalization=False, period=None, move_all_stake=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Moves stake to a different hotkey and/or subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet to move stake from.

                                                                                                                                                              • -
                                                                                                                                                              • origin_hotkey (str) – The SS58 address of the source hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • origin_netuid (int) – The netuid of the source subnet.

                                                                                                                                                              • -
                                                                                                                                                              • destination_hotkey (str) – The SS58 address of the destination hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • destination_netuid (int) – The netuid of the destination subnet.

                                                                                                                                                              • -
                                                                                                                                                              • amount (Optional[bittensor.utils.balance.Balance]) – Amount of stake to move.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              • move_all_stake (bool) – If true, moves all stake from the source hotkey to the destination hotkey.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the stake movement was successful.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              success

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async neuron_for_uid(uid, netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves detailed information about a specific neuron identified by its unique identifier (UID) within a -specified subnet (netuid) of the Bittensor network. This function provides a comprehensive view of a neuron’s -attributes, including its stake, rank, and operational status.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • uid (Optional[int]) – The unique identifier of the neuron.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              Detailed information about the neuron if found, a null neuron otherwise

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bittensor.core.chain_data.NeuronInfo

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is crucial for analyzing individual neurons’ contributions and status within a specific subnet, -offering insights into their roles in the network’s consensus and validation mechanisms.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async neurons(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves a list of all neurons within a specified subnet of the Bittensor network. -This function provides a snapshot of the subnet’s neuron population, including each neuron’s attributes and -network interactions.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of NeuronInfo objects detailing each neuron’s characteristics in the subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[bittensor.core.chain_data.NeuronInfo]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Understanding the distribution and status of neurons within a subnet is key to comprehending the network’s -decentralized structure and the dynamics of its consensus and governance processes.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async neurons_lite(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves a list of neurons in a ‘lite’ format from a specific subnet of the Bittensor network. -This function provides a streamlined view of the neurons, focusing on key attributes such as stake and network -participation.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of simplified neuron information for the subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[bittensor.core.chain_data.NeuronInfoLite]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function offers a quick overview of the neuron population within a subnet, facilitating efficient analysis -of the network’s decentralized structure and neuron dynamics.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async query_constant(module_name, constant_name, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves a constant from the specified module on the Bittensor blockchain.

                                                                                                                                                              -

                                                                                                                                                              This function is used to access fixed values defined within the blockchain’s modules, which are essential for -understanding the network’s configuration and rules. These include include critical network parameters such as -inflation rates, consensus rules, or validation thresholds, providing a deeper understanding of the Bittensor -network’s operational parameters.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • module_name (str) – The name of the module containing the constant (e.g., “Balances”, “SubtensorModule”).

                                                                                                                                                              • -
                                                                                                                                                              • constant_name (str) – The name of the constant to retrieve (e.g., “ExistentialDeposit”).

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number at which to query the constant. Do not specify if using block_hash or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block at which to query the constant. Do not specify if using -block or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the blockchain block at which to query the constant. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The value of the constant if found, None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[async_substrate_interface.types.ScaleObj]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Get existential deposit constant -existential_deposit = await subtensor.query_constant(

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              module_name=”Balances”, -constant_name=”ExistentialDeposit”

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              )

                                                                                                                                                              -

                                                                                                                                                              # Get constant at specific block -constant = await subtensor.query_constant(

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              module_name=”SubtensorModule”, -constant_name=”SomeConstant”, -block=1000000

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              )

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async query_identity(coldkey_ss58, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Queries the identity of a neuron on the Bittensor blockchain using the given key. This function retrieves -detailed identity information about a specific neuron, which is a crucial aspect of the network’s decentralized -identity and governance system.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • coldkey_ss58 (str) – The coldkey used to query the neuron’s identity (technically the neuron’s coldkey SS58 -address).

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number at which to perform the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              An object containing the identity information of the neuron if found, None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[bittensor.core.chain_data.chain_identity.ChainIdentity]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              The identity information can include various attributes such as the neuron’s stake, rank, and other -network-specific details, providing insights into the neuron’s role and status within the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Note

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              See the ``Bittensor CLI documentation <https://docs.bittensor.com/reference/btcli>``_ for supported identity

                                                                                                                                                              parameters.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async query_map(module, name, block=None, block_hash=None, reuse_block=False, params=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Queries map storage from any module on the Bittensor blockchain.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              This function retrieves data structures that represent key-value mappings, essential for accessing complex and

                                                                                                                                                              structured data within the blockchain modules.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • module (str) – The name of the module from which to query the map storage (e.g., “SubtensorModule”, “System”).

                                                                                                                                                              • -
                                                                                                                                                              • name (str) – The specific storage function within the module to query (e.g., “Bonds”, “Weights”).

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number at which to perform the query. Defaults to None (latest block).

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the parameter from. Do not specify if using block or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block. Defaults to -False.

                                                                                                                                                              • -
                                                                                                                                                              • params (Optional[list]) – Parameters to be passed to the query. Defaults to None.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A data structure representing the map storage if found, None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              AsyncQueryMapResult

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              # Query bonds for subnet 1 -bonds = await subtensor.query_map(module=”SubtensorModule”, name=”Bonds”, params=[1])

                                                                                                                                                              -

                                                                                                                                                              # Query weights at specific block -weights = await subtensor.query_map(module=”SubtensorModule”, name=”Weights”, params=[1], block=1000000)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async query_map_subtensor(name, block=None, block_hash=None, reuse_block=False, params=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Queries map storage from the Subtensor module on the Bittensor blockchain. This function is designed to -retrieve a map-like data structure, which can include various neuron-specific details or network-wide -attributes.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • name (str) – The name of the map storage function to query.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the parameter from. Do not specify if using block or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              • params (Optional[list]) – A list of parameters to pass to the query function.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              An object containing the map-like data structure, or None if not found.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              async_substrate_interface.AsyncQueryMapResult

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is particularly useful for analyzing and understanding complex network structures and -relationships within the Bittensor ecosystem, such as interneuronal connections and stake distributions.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async query_module(module, name, block=None, block_hash=None, reuse_block=False, params=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Queries any module storage on the Bittensor blockchain with the specified parameters and block number. -This function is a generic query interface that allows for flexible and diverse data retrieval from various -blockchain modules.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • module (str) – The name of the module from which to query data.

                                                                                                                                                              • -
                                                                                                                                                              • name (str) – The name of the storage function within the module.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the parameter from. Do not specify if using block or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              • params (Optional[list]) – A list of parameters to pass to the query function.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              An object containing the requested data if found, None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[Union[async_substrate_interface.types.ScaleObj, Any]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This versatile query function is key to accessing a wide range of data and insights from different parts of the -Bittensor blockchain, enhancing the understanding and analysis of the network’s state and dynamics.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async query_runtime_api(runtime_api, method, params, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Queries the runtime API of the Bittensor blockchain, providing a way to interact with the underlying runtime -and retrieve data encoded in Scale Bytes format. This function is essential for advanced users who need to -interact with specific runtime methods and decode complex data types.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • runtime_api (str) – The name of the runtime API to query.

                                                                                                                                                              • -
                                                                                                                                                              • method (str) – The specific method within the runtime API to call.

                                                                                                                                                              • -
                                                                                                                                                              • params (Optional[Union[list[Any], dict[str, Any]]]) – The parameters to pass to the method call.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – the block number for this query. Do not specify if using block_hash or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number at which to perform the query. Do not specify if using -block or reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The decoded result from the runtime API call, or None if the call fails.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[Any]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function enables access to the deeper layers of the Bittensor blockchain, allowing for detailed and -specific interactions with the network’s runtime environment.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async query_subtensor(name, block=None, block_hash=None, reuse_block=False, params=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Queries named storage from the Subtensor module on the Bittensor blockchain. This function is used to -retrieve specific data or parameters from the blockchain, such as stake, rank, or other neuron-specific -attributes.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • name (str) – The name of the storage function to query.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the parameter from. Do not specify if using block or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              • params (Optional[list]) – A list of parameters to pass to the query function.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              An object containing the requested data.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              query_response

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This query function is essential for accessing detailed information about the network and its neurons, providing -valuable insights into the state and dynamics of the Bittensor ecosystem.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async recycle(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the ‘Burn’ hyperparameter for a specified subnet. The ‘Burn’ parameter represents the amount of Tao -that is effectively recycled within the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The value of the ‘Burn’ hyperparameter if the subnet exists, None otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[Balance]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Understanding the ‘Burn’ rate is essential for analyzing the network registration usage, particularly how it is -correlated with user activity and the overall cost of participation in a given subnet.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async register(wallet, netuid, wait_for_inclusion=False, wait_for_finalization=True, max_allowed_attempts=3, output_in_place=False, cuda=False, dev_id=0, tpb=256, num_processes=None, update_interval=None, log_verbose=False, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Registers a neuron on the Bittensor network using the provided wallet.

                                                                                                                                                              -

                                                                                                                                                              Registration is a critical step for a neuron to become an active participant in the network, enabling it to -stake, set weights, and receive incentives.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron to be registered.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to

                                                                                                                                                              • -
                                                                                                                                                              • max_allowed_attempts (int) – Maximum number of attempts to register the wallet.

                                                                                                                                                              • -
                                                                                                                                                              • output_in_place (bool) – If true, prints the progress of the proof of work to the console in-place. Meaning -the progress is printed on the same lines. Defaults to True.

                                                                                                                                                              • -
                                                                                                                                                              • cuda (bool) – If true, the wallet should be registered using CUDA device(s). Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • dev_id (Union[list[int], int]) – The CUDA device id to use, or a list of device ids. Defaults to 0 (zero).

                                                                                                                                                              • -
                                                                                                                                                              • tpb (int) – The number of threads per block (CUDA). Default to 256.

                                                                                                                                                              • -
                                                                                                                                                              • num_processes (Optional[int]) – The number of processes to use to register. Default to None.

                                                                                                                                                              • -
                                                                                                                                                              • update_interval (Optional[int]) – The number of nonces to solve between updates. Default to None.

                                                                                                                                                              • -
                                                                                                                                                              • log_verbose (bool) – If true, the registration process will log more information. Default to False.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the registration is successful, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function facilitates the entry of new neurons into the network, supporting the decentralized growth and -scalability of the Bittensor ecosystem.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async register_subnet(wallet, wait_for_inclusion=False, wait_for_finalization=True, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Registers a new subnetwork on the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet to be used for subnet registration.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, -os False if the extrinsic fails to enter the block within the timeout. Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning -true, or returns false if the extrinsic fails to be finalized within the timeout. Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the subnet registration was successful, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async remove_liquidity(wallet, netuid, position_id, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Remove liquidity and credit balances back to wallet’s hotkey stake.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The UID of the target subnet for which the call is being initiated.

                                                                                                                                                              • -
                                                                                                                                                              • position_id (int) – The id of the position record in the pool.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to -None.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                                -
                                                                                                                                                              • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                                                                              • -
                                                                                                                                                              • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                                                                              • -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Note

                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • -
                                                                                                                                                                Adding is allowed even when user liquidity is enabled in specified subnet. Call toggle_user_liquidity

                                                                                                                                                                extrinsic to enable/disable user liquidity.

                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                              • -
                                                                                                                                                              • To get the position_id use get_liquidity_list method.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async reveal_weights(wallet, netuid, uids, weights, salt, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, period=None, mechid=0)[source]#
                                                                                                                                                              -

                                                                                                                                                              Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet. -This action serves as a revelation of the neuron’s previously committed weight distribution.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • uids (bittensor.core.types.UIDs) – NumPy array of neuron UIDs for which weights are being revealed.

                                                                                                                                                              • -
                                                                                                                                                              • weights (bittensor.core.types.Weights) – NumPy array of weight values corresponding to each UID.

                                                                                                                                                              • -
                                                                                                                                                              • salt (bittensor.core.types.Salt) – NumPy array of salt values corresponding to the hash function.

                                                                                                                                                              • -
                                                                                                                                                              • version_key (int) – Version key for compatibility with the network.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                                                                              • -
                                                                                                                                                              • max_retries (int) – The number of maximum attempts to reveal weights.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              • mechid (int) – The subnet mechanism unique identifier.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the extrinsic executed successfully, False otherwise. -message is a string value describing the success or potential error.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function allows neurons to reveal their previously committed weight distribution, ensuring transparency and -accountability within the Bittensor network.

                                                                                                                                                              -

                                                                                                                                                              See also: <https://docs.learnbittensor.org/glossary#commit-reveal>,

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async root_register(wallet, block_hash=None, wait_for_inclusion=True, wait_for_finalization=True, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Register neuron by recycling some TAO.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – Bittensor wallet instance.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – This argument will be removed in Bittensor v10

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is -False.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if registration was successful, otherwise False.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async root_set_pending_childkey_cooldown(wallet, cooldown, wait_for_inclusion=True, wait_for_finalization=True, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Sets the pending childkey cooldown.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

                                                                                                                                                              • -
                                                                                                                                                              • cooldown (int) – the number of blocks to setting pending childkey cooldown.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is -False.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              A tuple where the first element is a boolean indicating success or failure of the

                                                                                                                                                              operation, and the second element is a message providing additional information.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Note: This operation can only be successfully performed if your wallet has root privileges.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async root_set_weights(wallet, netuids, weights, version_key=0, wait_for_inclusion=True, wait_for_finalization=True, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Set weights for the root network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

                                                                                                                                                              • -
                                                                                                                                                              • netuids (bittensor.core.types.UIDs) – The list of subnet uids.

                                                                                                                                                              • -
                                                                                                                                                              • weights (bittensor.core.types.Weights) – The list of weights to be set.

                                                                                                                                                              • -
                                                                                                                                                              • version_key (int) – Version key for compatibility with the network. Default is 0.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the

                                                                                                                                                              • -
                                                                                                                                                              • blocks (transaction is not included in a block within that number of)

                                                                                                                                                              • -
                                                                                                                                                              • rejected. (it will expire and be)

                                                                                                                                                              • -
                                                                                                                                                              • transaction. (You can think of it as an expiration date for the)

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the setting of weights is successful, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async serve_axon(netuid, axon, wait_for_inclusion=False, wait_for_finalization=True, certificate=None, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Registers an Axon serving endpoint on the Bittensor network for a specific neuron. This function is used to -set up the Axon, a key component of a neuron that handles incoming queries and data processing tasks.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • axon (bittensor.core.axon.Axon) – The Axon instance to be registered for serving.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is True.

                                                                                                                                                              • -
                                                                                                                                                              • certificate (Optional[bittensor.utils.Certificate]) – Certificate to use for TLS. If None, no TLS will be used. Defaults to None.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the Axon serve registration is successful, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              By registering an Axon, the neuron becomes an active part of the network’s distributed computing infrastructure, -contributing to the collective intelligence of Bittensor.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async set_children(wallet, hotkey, netuid, children, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Allows a coldkey to set children-keys.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey (str) – The SS58 address of the neuron’s hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The netuid value.

                                                                                                                                                              • -
                                                                                                                                                              • children (list[tuple[float, str]]) – A list of children with their proportions.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                                                                              • -
                                                                                                                                                              • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              A tuple where the first element is a boolean indicating success or failure of the

                                                                                                                                                              operation, and the second element is a message providing additional information.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Raises:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • DuplicateChild – There are duplicates in the list of children.

                                                                                                                                                              • -
                                                                                                                                                              • InvalidChild – Child is the hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • NonAssociatedColdKey – The coldkey does not own the hotkey or the child is the same as the hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • NotEnoughStakeToSetChildkeys – Parent key doesn’t have minimum own stake.

                                                                                                                                                              • -
                                                                                                                                                              • ProportionOverflow – The sum of the proportions does exceed uint64.

                                                                                                                                                              • -
                                                                                                                                                              • RegistrationNotPermittedOnRootSubnet – Attempting to register a child on the root network.

                                                                                                                                                              • -
                                                                                                                                                              • SubNetworkDoesNotExist – Attempting to register to a non-existent network.

                                                                                                                                                              • -
                                                                                                                                                              • TooManyChildren – Too many children in request.

                                                                                                                                                              • -
                                                                                                                                                              • TxRateLimitExceeded – Hotkey hit the rate limit.

                                                                                                                                                              • -
                                                                                                                                                              • bittensor_wallet.errors.KeyFileError – Failed to decode keyfile data.

                                                                                                                                                              • -
                                                                                                                                                              • bittensor_wallet.errors.PasswordError – Decryption failed or wrong password for decryption provided.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -set_commitment#
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet)

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int)

                                                                                                                                                              • -
                                                                                                                                                              • data (str)

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int])

                                                                                                                                                              • -
                                                                                                                                                              • raise_error (bool)

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool)

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool)

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bittensor.core.types.ExtrinsicResponse

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async set_delegate_take(wallet, hotkey_ss58, take, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Sets the delegate ‘take’ percentage for a neuron identified by its hotkey. -The ‘take’ represents the percentage of rewards that the delegate claims from its nominators’ stakes.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

                                                                                                                                                              • -
                                                                                                                                                              • take (float) – Percentage reward for the delegate.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on_error: Raises a relevant exception -rather than returning False if unsuccessful.

                                                                                                                                                              • -
                                                                                                                                                              • raise_error (bool) – raises a relevant exception rather than returning False if unsuccessful.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              A tuple where the first element is a boolean indicating success or failure of the

                                                                                                                                                              operation, and the second element is a message providing additional information.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Raises:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • DelegateTakeTooHigh – Delegate take is too high.

                                                                                                                                                              • -
                                                                                                                                                              • DelegateTakeTooLow – Delegate take is too low.

                                                                                                                                                              • -
                                                                                                                                                              • DelegateTxRateLimitExceeded – A transactor exceeded the rate limit for delegate transaction.

                                                                                                                                                              • -
                                                                                                                                                              • HotKeyAccountNotExists – The hotkey does not exist.

                                                                                                                                                              • -
                                                                                                                                                              • NonAssociatedColdKey – Request to stake, unstake, or subscribe is made by a coldkey that is not associated -with the hotkey account.

                                                                                                                                                              • -
                                                                                                                                                              • bittensor_wallet.errors.PasswordError – Decryption failed or wrong password for decryption provided.

                                                                                                                                                              • -
                                                                                                                                                              • bittensor_wallet.errors.KeyFileError – Failed to decode keyfile data.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              The delegate take is a critical parameter in the network’s incentive structure, influencing the distribution of -rewards among neurons and their nominators.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async set_reveal_commitment(wallet, netuid, data, blocks_until_reveal=360, block_time=12, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Commits arbitrary data to the Bittensor network by publishing metadata.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet – The wallet associated with the neuron committing the data.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • data (str) – The data to be committed to the network.

                                                                                                                                                              • -
                                                                                                                                                              • blocks_until_reveal (int) – The number of blocks from now after which the data will be revealed. -Defaults to 360 (the number of blocks in one epoch).

                                                                                                                                                              • -
                                                                                                                                                              • block_time (Union[int, float]) – The number of seconds between each block. Defaults to 12.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the commitment was successful, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Note: A commitment can be set once per subnet epoch and is reset at the next epoch in the chain automatically.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async set_subnet_identity(wallet, netuid, subnet_identity, wait_for_inclusion=False, wait_for_finalization=True, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Sets the identity of a subnet for a specific wallet and network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet instance that will authorize the transaction.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique ID of the network on which the operation takes place.

                                                                                                                                                              • -
                                                                                                                                                              • subnet_identity (bittensor.core.chain_data.SubnetIdentity) – The identity data of the subnet including attributes like name, GitHub -repository, contact, URL, discord, description, and any additional metadata.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Indicates if the function should wait for the transaction to be included in the -block.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Indicates if the function should wait for the transaction to reach -finalization.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              A tuple where the first element is a boolean indicating success or failure of the

                                                                                                                                                              operation, and the second element is a message providing additional information.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async set_weights(wallet, netuid, uids, weights, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, block_time=12.0, period=8, mechid=0, commit_reveal_version=4)[source]#
                                                                                                                                                              -

                                                                                                                                                              Sets the weight vector for a neuron acting as a validator, specifying the weights assigned to subnet miners -based on their performance evaluation.

                                                                                                                                                              -

                                                                                                                                                              This method allows subnet validators to submit their weight vectors, which rank the value of each subnet miner’s -work. These weight vectors are used by the Yuma Consensus algorithm to compute emissions for both validators and -miners.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron setting the weights.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • uids (bittensor.core.types.UIDs) – The list of neuron UIDs that the weights are being set for.

                                                                                                                                                              • -
                                                                                                                                                              • weights (bittensor.core.types.Weights) – The corresponding weights to be set for each UID.

                                                                                                                                                              • -
                                                                                                                                                              • version_key (int) – Version key for compatibility with the network.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                                                                              • -
                                                                                                                                                              • max_retries (int) – The number of maximum attempts to set weights.

                                                                                                                                                              • -
                                                                                                                                                              • block_time (float) – The number of seconds for block duration.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              • mechid (int) – The subnet mechanism unique identifier.

                                                                                                                                                              • -
                                                                                                                                                              • commit_reveal_version (int) – The version of the commit-reveal in the chain.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the setting of weights is successful, False otherwise. -msg is a string value describing the success or potential error.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              tuple

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is crucial in the Yuma Consensus mechanism, where each validator’s weight vector contributes to -the overall weight matrix used to calculate emissions and maintain network consensus.

                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async sign_and_send_extrinsic(call, wallet, wait_for_inclusion=True, wait_for_finalization=False, sign_with='coldkey', use_nonce=False, period=None, nonce_key='hotkey', raise_error=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Helper method to sign and submit an extrinsic call to chain.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • call (scalecodec.GenericCall) – a prepared Call object

                                                                                                                                                              • -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – the wallet whose coldkey will be used to sign the extrinsic

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – whether to wait until the extrinsic call is included on the chain

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – whether to wait until the extrinsic call is finalized on the chain

                                                                                                                                                              • -
                                                                                                                                                              • sign_with (str) – the wallet’s keypair to use for the signing. Options are “coldkey”, “hotkey”, “coldkeypub”

                                                                                                                                                              • -
                                                                                                                                                              • use_nonce (bool) – unique identifier for the transaction related with hot/coldkey.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              • nonce_key (str) – the type on nonce to use. Options are “hotkey” or “coldkey”.

                                                                                                                                                              • -
                                                                                                                                                              • nonce_key – the type on nonce to use. Options are “hotkey”, “coldkey”, or “coldkeypub”.

                                                                                                                                                              • -
                                                                                                                                                              • raise_error (bool) – raises a relevant exception rather than returning False if unsuccessful.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              (success, error message)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Raises:
                                                                                                                                                              -

                                                                                                                                                              SubstrateRequestException – Substrate request exception.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async start_call(wallet, netuid, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start -a new subnet’s emission mechanism).

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The UID of the target subnet for which the call is being initiated.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the

                                                                                                                                                              • -
                                                                                                                                                              • blocks (transaction is not included in a block within that number of)

                                                                                                                                                              • -
                                                                                                                                                              • You (it will expire and be rejected.)

                                                                                                                                                              • -
                                                                                                                                                              • transaction. (can think of it as an expiration date for the)

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                                -
                                                                                                                                                              • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                                                                              • -
                                                                                                                                                              • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                                                                              • -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async state_call(method, data, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Makes a state call to the Bittensor blockchain, allowing for direct queries of the blockchain’s state. -This function is typically used for advanced queries that require specific method calls and data inputs.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • method (str) – The method name for the state call.

                                                                                                                                                              • -
                                                                                                                                                              • data (str) – The data to be passed to the method.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number at which to perform the state call.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the block to retrieve the parameter from. Do not specify if using block or -reuse_block.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to use the last-used block. Do not set if using block_hash or block.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The result of the rpc call.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              result (dict[Any, Any])

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              The state call function provides a more direct and flexible way of querying blockchain data, useful for specific -use cases where standard queries are insufficient.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async subnet(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the subnet information for a single subnet in the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The block number to get the subnets at.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A DynamicInfo object, containing detailed information about a subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[DynamicInfo]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async subnet_exists(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Checks if a subnet with the specified unique identifier (netuid) exists within the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number at which to check the subnet existence.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the subnet exists, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function is critical for verifying the presence of specific subnets in the network, enabling a deeper -understanding of the network’s structure and composition.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async subnetwork_n(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns network SubnetworkN hyperparameter.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number at which to check the subnet existence.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              The value of the SubnetworkN hyperparameter, or None if the subnetwork does not exist or

                                                                                                                                                              the parameter is not found.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -substrate#
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async swap_stake(wallet, hotkey_ss58, origin_netuid, destination_netuid, amount, wait_for_inclusion=True, wait_for_finalization=False, safe_staking=False, allow_partial_stake=False, rate_tolerance=0.005, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Moves stake between subnets while keeping the same coldkey-hotkey pair ownership. -Like subnet hopping - same owner, same hotkey, just changing which subnet the stake is in.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet to swap stake from.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey_ss58 (str) – The SS58 address of the hotkey whose stake is being swapped.

                                                                                                                                                              • -
                                                                                                                                                              • origin_netuid (int) – The netuid from which stake is removed.

                                                                                                                                                              • -
                                                                                                                                                              • destination_netuid (int) – The netuid to which stake is added.

                                                                                                                                                              • -
                                                                                                                                                              • amount (bittensor.utils.balance.Balance) – The amount to swap.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                                                                              • -
                                                                                                                                                              • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The swap will only -execute if the price ratio between subnets doesn’t exceed the rate tolerance. Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial stake swaps when the full amount -would exceed the price threshold. If false, the entire swap fails if it would exceed the threshold. -Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • rate_tolerance (float) – The maximum allowed increase in the price ratio between subnets -(origin_price/destination_price). For example, 0.005 = 0.5% maximum increase. Only used when -safe_staking is True. Default is 0.005.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the extrinsic was successful.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              success

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              The price ratio for swap_stake in safe mode is calculated as: origin_subnet_price / destination_subnet_price -When safe_staking is enabled, the swap will only execute if:

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • With allow_partial_stake=False: The entire swap amount can be executed without the price ratio increasing

                                                                                                                                                              • -
                                                                                                                                                              -

                                                                                                                                                              more than rate_tolerance. -- With allow_partial_stake=True: A partial amount will be swapped up to the point where the price ratio -would increase by rate_tolerance.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async tempo(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns network Tempo hyperparameter.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number at which to check the subnet existence.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              The value of the Tempo hyperparameter, or None if the subnetwork does not exist or the

                                                                                                                                                              parameter is not found.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async toggle_user_liquidity(wallet, netuid, enable, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Allow to toggle user liquidity for specified subnet.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The UID of the target subnet for which the call is being initiated.

                                                                                                                                                              • -
                                                                                                                                                              • enable (bool) – Boolean indicating whether to enable user liquidity.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                                -
                                                                                                                                                              • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                                                                              • -
                                                                                                                                                              • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                                                                              • -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Note: The call can be executed successfully by the subnet owner only.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async transfer(wallet, dest, amount, transfer_all=False, wait_for_inclusion=True, wait_for_finalization=False, keep_alive=True, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Transfer token of amount to destination.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – Source wallet for the transfer.

                                                                                                                                                              • -
                                                                                                                                                              • dest (str) – Destination address for the transfer.

                                                                                                                                                              • -
                                                                                                                                                              • amount (Optional[bittensor.utils.balance.Balance]) – Number of tokens to transfer. None is transferring all.

                                                                                                                                                              • -
                                                                                                                                                              • transfer_all (bool) – Flag to transfer all tokens. Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to True.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • keep_alive (bool) – Flag to keep the connection alive. Default is True.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the transferring was successful, otherwise False.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async transfer_stake(wallet, destination_coldkey_ss58, hotkey_ss58, origin_netuid, destination_netuid, amount, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Transfers stake from one subnet to another while changing the coldkey owner.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet to transfer stake from.

                                                                                                                                                              • -
                                                                                                                                                              • destination_coldkey_ss58 (str) – The destination coldkey SS58 address.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey_ss58 (str) – The hotkey SS58 address associated with the stake.

                                                                                                                                                              • -
                                                                                                                                                              • origin_netuid (int) – The source subnet UID.

                                                                                                                                                              • -
                                                                                                                                                              • destination_netuid (int) – The destination subnet UID.

                                                                                                                                                              • -
                                                                                                                                                              • amount (bittensor.utils.balance.Balance) – Amount to transfer.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – If true, waits for inclusion before returning.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – If true, waits for finalization before returning.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the transfer was successful.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              success

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async tx_rate_limit(block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the transaction rate limit for the Bittensor network as of a specific blockchain block. -This rate limit sets the maximum number of transactions that can be processed within a given time frame.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block number at which to check the subnet existence.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              The transaction rate limit of the network, None if not available.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              The transaction rate limit is an essential parameter for ensuring the stability and scalability of the Bittensor -network. It helps in managing network load and preventing congestion, thereby maintaining efficient and timely -transaction processing.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async unstake(wallet, hotkey_ss58=None, netuid=None, amount=None, wait_for_inclusion=True, wait_for_finalization=False, safe_staking=False, allow_partial_stake=False, rate_tolerance=0.005, period=None, unstake_all=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Removes a specified amount of stake from a single hotkey account. This function is critical for adjusting -individual neuron stakes within the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron from which the stake is being -removed.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey_ss58 (Optional[str]) – The SS58 address of the hotkey account to unstake from.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (Optional[int]) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • amount (Optional[bittensor.utils.balance.Balance]) – The amount of alpha to unstake. If not specified, unstakes all.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to True.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to False.

                                                                                                                                                              • -
                                                                                                                                                              • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The unstake will -only execute if the price change doesn’t exceed the rate tolerance. Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial unstaking when -the full amount would exceed the price threshold. If false, the entire unstake fails if it would exceed -the threshold. Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • rate_tolerance (float) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum -price decrease. Only used when safe_staking is True. Default is 0.005.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              • unstake_all (bool) – If True, unstakes all tokens and amount is ignored. Default is False

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the unstaking process is successful, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function supports flexible stake management, allowing neurons to adjust their network participation and -potential reward accruals.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async unstake_all(wallet, hotkey, netuid, rate_tolerance=0.005, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet of the stake owner.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey (str) – The SS58 address of the hotkey to unstake from.

                                                                                                                                                              • -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                                                                              • -
                                                                                                                                                              • rate_tolerance (Optional[float]) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum -price decrease. If not passed (None), then unstaking goes without price limit. Default is 0.005.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction. Default is None.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A tuple containing: -- True and a success message if the unstake operation succeeded; -- False and an error message otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              tuple[bool, str]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              # If you would like to unstake all stakes in all subnets safely, use default rate_tolerance or pass your

                                                                                                                                                              value:

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              import bittensor as bt

                                                                                                                                                              -

                                                                                                                                                              subtensor = bt.AsyncSubtensor() -wallet = bt.Wallet(“my_wallet”) -netuid = 14 -hotkey = “5%SOME_HOTKEY_WHERE_IS_YOUR_STAKE_NOW%”

                                                                                                                                                              -

                                                                                                                                                              wallet_stakes = await subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              for stake in wallet_stakes:
                                                                                                                                                              -
                                                                                                                                                              result = await subtensor.unstake_all(

                                                                                                                                                              wallet=wallet, -hotkey_ss58=stake.hotkey_ss58, -netuid=stake.netuid,

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              ) -print(result)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              # If you would like to unstake all stakes in all subnets unsafely, use rate_tolerance=None:

                                                                                                                                                              import bittensor as bt

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              subtensor = bt.AsyncSubtensor() -wallet = bt.Wallet(“my_wallet”) -netuid = 14 -hotkey = “5%SOME_HOTKEY_WHERE_IS_YOUR_STAKE_NOW%”

                                                                                                                                                              -

                                                                                                                                                              wallet_stakes = await subtensor.get_stake_info_for_coldkey(coldkey_ss58=wallet.coldkey.ss58_address)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              for stake in wallet_stakes:
                                                                                                                                                              -
                                                                                                                                                              result = await subtensor.unstake_all(

                                                                                                                                                              wallet=wallet, -hotkey_ss58=stake.hotkey_ss58, -netuid=stake.netuid, -rate_tolerance=None,

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              ) -print(result)

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async unstake_multiple(wallet, hotkey_ss58s, netuids, amounts=None, wait_for_inclusion=True, wait_for_finalization=False, period=None, unstake_all=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Performs batch unstaking from multiple hotkey accounts, allowing a neuron to reduce its staked amounts -efficiently. This function is useful for managing the distribution of stakes across multiple neurons.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • wallet (bittensor_wallet.Wallet) – The wallet linked to the coldkey from which the stakes are being withdrawn.

                                                                                                                                                              • -
                                                                                                                                                              • hotkey_ss58s (list[str]) – A list of hotkey SS58 addresses to unstake from.

                                                                                                                                                              • -
                                                                                                                                                              • netuids (bittensor.core.types.UIDs) – Subnets unique IDs.

                                                                                                                                                              • -
                                                                                                                                                              • amounts (Optional[list[bittensor.utils.balance.Balance]]) – The amounts of TAO to unstake from each hotkey. If not provided, unstakes all.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                                                                              • -
                                                                                                                                                              • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                                                                              • -
                                                                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction.

                                                                                                                                                              • -
                                                                                                                                                              • unstake_all (bool) – If true, unstakes all tokens. Default is False. If True amounts are ignored.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the batch unstaking is successful, False otherwise.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              This function allows for strategic reallocation or withdrawal of stakes, aligning with the dynamic stake -management aspect of the Bittensor network.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async wait_for_block(block=None)[source]#
                                                                                                                                                              -

                                                                                                                                                              Waits until a specific block is reached on the chain. If no block is specified, waits for the next block.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -

                                                                                                                                                              block (Optional[int]) – The block number to wait for. If None, waits for the next block.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              True if the target block was reached, False if timeout occurred.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              bool

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              Example

                                                                                                                                                              -

                                                                                                                                                              import bittensor as bt -subtensor = bt.Subtensor()

                                                                                                                                                              -

                                                                                                                                                              await subtensor.wait_for_block() # Waits for next block -await subtensor.wait_for_block(block=1234) # Waits for a specific block

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async weights(netuid, block=None, block_hash=None, reuse_block=False, mechid=0)[source]#
                                                                                                                                                              -

                                                                                                                                                              Retrieves the weight distribution set by neurons within a specific subnet of the Bittensor network. -This function maps each neuron’s UID to the weights it assigns to other neurons, reflecting the network’s trust -and value assignment mechanisms.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The network UID of the subnet to query.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – Block number for synchronization, or None for the latest block.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The hash of the blockchain block for the query.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              • mechid (int) – Subnet mechanism identifier.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              A list of tuples mapping each neuron’s UID to its assigned weights.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              list[tuple[int, list[tuple[int, int]]]]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              The weight distribution is a key factor in the network’s consensus algorithm and the ranking of neurons, -influencing their influence and reward allocation within the subnet.

                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async weights_rate_limit(netuid, block=None, block_hash=None, reuse_block=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Returns network WeightsSetRateLimit hyperparameter.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • netuid (int) – The unique identifier of the subnetwork.

                                                                                                                                                              • -
                                                                                                                                                              • block (Optional[int]) – The blockchain block number for the query.

                                                                                                                                                              • -
                                                                                                                                                              • block_hash (Optional[str]) – The blockchain block_hash representation of the block id.

                                                                                                                                                              • -
                                                                                                                                                              • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Returns:
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              The value of the WeightsSetRateLimit hyperparameter, or None if the subnetwork does not

                                                                                                                                                              exist or the parameter is not found.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              Optional[int]

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -async bittensor.core.async_subtensor.get_async_subtensor(network=None, config=None, _mock=False, log_verbose=False)[source]#
                                                                                                                                                              -

                                                                                                                                                              Factory method to create an initialized AsyncSubtensor. -Mainly useful for when you don’t want to run await subtensor.initialize() after instantiation.

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Parameters:
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              Return type:
                                                                                                                                                              -

                                                                                                                                                              AsyncSubtensor

                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              - - -
                                                                                                                                                              - - - - - - - - -
                                                                                                                                                              - - - - -
                                                                                                                                                              - - -
                                                                                                                                                              -
                                                                                                                                                              - - -
                                                                                                                                                              - - -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - - - - - -
                                                                                                                                                              -
                                                                                                                                                              - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/axon/index.html b/static/python-api/html/autoapi/bittensor/core/axon/index.html index de4b5a6001..49c6d452a0 100644 --- a/static/python-api/html/autoapi/bittensor/core/axon/index.html +++ b/static/python-api/html/autoapi/bittensor/core/axon/index.html @@ -49,7 +49,7 @@ - + @@ -150,7 +150,6 @@
                                                                                                                                                            • API Reference
                                                                                                                • diff --git a/static/python-api/html/autoapi/bittensor/core/chain_data/info_base/index.html b/static/python-api/html/autoapi/bittensor/core/chain_data/info_base/index.html index b663ead9cd..c893d9a9e6 100644 --- a/static/python-api/html/autoapi/bittensor/core/chain_data/info_base/index.html +++ b/static/python-api/html/autoapi/bittensor/core/chain_data/info_base/index.html @@ -150,7 +150,6 @@
                                                                                                                • API Reference
                                                                                                                • -
                                                                                                                  - - -
                                                                                                                  - - - -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/index.html index ca5b7ed49a..f199b4270f 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/asyncex/index.html @@ -150,7 +150,6 @@
                                                                                                                • API Reference
                                                                                                                • -
                                                                                                                  - - -
                                                                                                                  - - - -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html deleted file mode 100644 index 448bd6d69c..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html +++ /dev/null @@ -1,620 +0,0 @@ - - - - - - - - - - - bittensor.core.extrinsics.commit_weights — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - -
                                                                                                                  - - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - -
                                                                                                                  -

                                                                                                                  bittensor.core.extrinsics.commit_weights

                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - - - -
                                                                                                                  - -
                                                                                                                  -

                                                                                                                  bittensor.core.extrinsics.commit_weights#

                                                                                                                  -

                                                                                                                  Module sync commit weights and reveal weights extrinsic.

                                                                                                                  -
                                                                                                                  -

                                                                                                                  Functions#

                                                                                                                  -
                                                                                                                  - - - - - - - - -

                                                                                                                  commit_weights_extrinsic(subtensor, wallet, netuid, ...)

                                                                                                                  Commits a hash of the neuron's weights to the Bittensor blockchain using the provided wallet.

                                                                                                                  reveal_weights_extrinsic(subtensor, wallet, netuid, ...)

                                                                                                                  Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet.

                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -

                                                                                                                  Module Contents#

                                                                                                                  -
                                                                                                                  -
                                                                                                                  -bittensor.core.extrinsics.commit_weights.commit_weights_extrinsic(subtensor, wallet, netuid, commit_hash, wait_for_inclusion=False, wait_for_finalization=False, period=None)[source]#
                                                                                                                  -

                                                                                                                  Commits a hash of the neuron’s weights to the Bittensor blockchain using the provided wallet. -This function is a wrapper around the do_commit_weights method.

                                                                                                                  -
                                                                                                                  -
                                                                                                                  Parameters:
                                                                                                                  -
                                                                                                                    -
                                                                                                                  • subtensor (bittensor.core.subtensor.Subtensor) – The subtensor instance used for blockchain interaction.

                                                                                                                  • -
                                                                                                                  • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron committing the weights.

                                                                                                                  • -
                                                                                                                  • netuid (int) – The unique identifier of the subnet.

                                                                                                                  • -
                                                                                                                  • commit_hash (str) – The hash of the neuron’s weights to be committed.

                                                                                                                  • -
                                                                                                                  • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                                  • -
                                                                                                                  • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                                  • -
                                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

                                                                                                                  • -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  Returns:
                                                                                                                  -

                                                                                                                  True if the weight commitment is successful, False otherwise. -msg is a string value describing the success or potential error.

                                                                                                                  -
                                                                                                                  -
                                                                                                                  Return type:
                                                                                                                  -

                                                                                                                  tuple[bool, str]

                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  This function provides a user-friendly interface for committing weights to the Bittensor blockchain, ensuring proper

                                                                                                                  error handling and user interaction when required.

                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -bittensor.core.extrinsics.commit_weights.reveal_weights_extrinsic(subtensor, wallet, netuid, uids, weights, salt, version_key, wait_for_inclusion=False, wait_for_finalization=False, period=None)[source]#
                                                                                                                  -

                                                                                                                  Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet. -This function is a wrapper around the _do_reveal_weights method.

                                                                                                                  -
                                                                                                                  -
                                                                                                                  Parameters:
                                                                                                                  -
                                                                                                                    -
                                                                                                                  • subtensor (bittensor.core.subtensor.Subtensor) – The subtensor instance used for blockchain interaction.

                                                                                                                  • -
                                                                                                                  • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron revealing the weights.

                                                                                                                  • -
                                                                                                                  • netuid (int) – The unique identifier of the subnet.

                                                                                                                  • -
                                                                                                                  • uids (list[int]) – List of neuron UIDs for which weights are being revealed.

                                                                                                                  • -
                                                                                                                  • weights (list[int]) – List of weight values corresponding to each UID.

                                                                                                                  • -
                                                                                                                  • salt (list[int]) – List of salt values corresponding to the hash function.

                                                                                                                  • -
                                                                                                                  • version_key (int) – Version key for compatibility with the network.

                                                                                                                  • -
                                                                                                                  • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                                  • -
                                                                                                                  • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                                  • -
                                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

                                                                                                                  • -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  Returns:
                                                                                                                  -

                                                                                                                  True if the weight commitment is successful, False otherwise. -msg is a string value describing the success or potential error.

                                                                                                                  -
                                                                                                                  -
                                                                                                                  Return type:
                                                                                                                  -

                                                                                                                  tuple[bool, str]

                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  This function provides a user-friendly interface for revealing weights on the Bittensor blockchain, ensuring proper

                                                                                                                  error handling and user interaction when required.

                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - - - - - - - -
                                                                                                                  - - - - - - - -
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - - - - - -
                                                                                                                  -
                                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/index.html index f62653d448..3eaf7d5157 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/index.html @@ -150,7 +150,6 @@
                                                                                                                • API Reference
                                                                                                                  Returns:
                                                                                                                  -

                                                                                                                    -
                                                                                                                  • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                                  • -
                                                                                                                  • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                                  • -
                                                                                                                  -

                                                                                                                  +

                                                                                                                  The result object of the extrinsic execution.

                                                                                                                  Return type:
                                                                                                                  -

                                                                                                                  Tuple[bool, str]

                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  Note: Modifying is allowed even when user liquidity is enabled in specified subnet. Call

                                                                                                                  toggle_user_liquidity_extrinsic to enable/disable user liquidity.

                                                                                                                  +

                                                                                                                  ExtrinsicResponse

                                                                                                                  +

                                                                                                                  Note: Modifying is allowed even when user liquidity is enabled in specified subnet. Call +toggle_user_liquidity_extrinsic to enable/disable user liquidity.

                                                                                                                  -bittensor.core.extrinsics.liquidity.remove_liquidity_extrinsic(subtensor, wallet, netuid, position_id, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                                  +bittensor.core.extrinsics.liquidity.remove_liquidity_extrinsic(subtensor, wallet, netuid, position_id, hotkey_ss58=None, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                                  Remove liquidity and credit balances back to wallet’s hotkey stake.

                                                                                                                  Parameters:
                                                                                                                  @@ -532,34 +518,29 @@

                                                                                                                  Module Contentsint) – The UID of the target subnet for which the call is being initiated.

                                                                                                                • position_id (int) – The id of the position record in the pool.

                                                                                                                • -
                                                                                                                • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to None.

                                                                                                                • -
                                                                                                                • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

                                                                                                                • -
                                                                                                                • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

                                                                                                                • -
                                                                                                                • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

                                                                                                                • +
                                                                                                                • hotkey_ss58 (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used.

                                                                                                                • +
                                                                                                                • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

                                                                                                                • +
                                                                                                                • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                                • +
                                                                                                                • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                                • +
                                                                                                                • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                                Returns:
                                                                                                                -

                                                                                                                  -
                                                                                                                • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                                • -
                                                                                                                • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                                • -
                                                                                                                -

                                                                                                                +

                                                                                                                The result object of the extrinsic execution.

                                                                                                                Return type:
                                                                                                                -

                                                                                                                Tuple[bool, str]

                                                                                                                -
                                                                                                                - -
                                                                                                                -
                                                                                                                Note: Adding is allowed even when user liquidity is enabled in specified subnet.

                                                                                                                Call toggle_user_liquidity_extrinsic to enable/disable user liquidity.

                                                                                                                +

                                                                                                                ExtrinsicResponse

                                                                                                                +

                                                                                                                Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call +toggle_user_liquidity_extrinsic to enable/disable user liquidity.

                                                                                                                -bittensor.core.extrinsics.liquidity.toggle_user_liquidity_extrinsic(subtensor, wallet, netuid, enable, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                                +bittensor.core.extrinsics.liquidity.toggle_user_liquidity_extrinsic(subtensor, wallet, netuid, enable, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                                Allow to toggle user liquidity for specified subnet.

                                                                                                                Parameters:
                                                                                                                @@ -568,22 +549,19 @@

                                                                                                                Module Contentsint) – The UID of the target subnet for which the call is being initiated.

                                                                                                              • enable (bool) – Boolean indicating whether to enable user liquidity.

                                                                                                              • -
                                                                                                              • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

                                                                                                              • -
                                                                                                              • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

                                                                                                              • -
                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

                                                                                                              • +
                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

                                                                                                              • +
                                                                                                              • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                              • +
                                                                                                              • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                              • +
                                                                                                              • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                              Returns:
                                                                                                              -

                                                                                                                -
                                                                                                              • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                              • -
                                                                                                              • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                              • -
                                                                                                              -

                                                                                                              +

                                                                                                              The result object of the extrinsic execution.

                                                                                                              Return type:
                                                                                                              -

                                                                                                              Tuple[bool, str]

                                                                                                              +

                                                                                                              ExtrinsicResponse

                                                                                                              @@ -603,20 +581,20 @@

                                                                                                              Module Contents

                                                                                                              previous

                                                                                                              -

                                                                                                              bittensor.core.extrinsics.commit_weights

                                                                                                              +

                                                                                                              bittensor.core.extrinsics.children

                                                                                                              next

                                                                                                              -

                                                                                                              bittensor.core.extrinsics.mechanism

                                                                                                              +

                                                                                                              bittensor.core.extrinsics.move_stake

                                                                                                              diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/mechanism/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/mechanism/index.html deleted file mode 100644 index a72143c2d4..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/mechanism/index.html +++ /dev/null @@ -1,692 +0,0 @@ - - - - - - - - - - - bittensor.core.extrinsics.mechanism — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                              - - - - - - - - - -
                                                                                                              - -
                                                                                                              - - - - - -
                                                                                                              -
                                                                                                              - - - - - - -
                                                                                                              - - - -
                                                                                                              - -
                                                                                                              -
                                                                                                              - -
                                                                                                              -
                                                                                                              - -
                                                                                                              - -
                                                                                                              - -
                                                                                                              - - -
                                                                                                              - -
                                                                                                              - -
                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                              - -
                                                                                                              - -
                                                                                                              -
                                                                                                              - - - - - - - - -
                                                                                                              - -
                                                                                                              -

                                                                                                              bittensor.core.extrinsics.mechanism#

                                                                                                              -
                                                                                                              -

                                                                                                              Functions#

                                                                                                              -
                                                                                                              - - - - - - - - - - - - - - -

                                                                                                              commit_mechanism_weights_extrinsic(subtensor, wallet, ...)

                                                                                                              Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

                                                                                                              commit_timelocked_mechanism_weights_extrinsic(...[, ...])

                                                                                                              Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

                                                                                                              reveal_mechanism_weights_extrinsic(subtensor, wallet, ...)

                                                                                                              Reveals the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

                                                                                                              set_mechanism_weights_extrinsic(subtensor, wallet, ...)

                                                                                                              Sets the passed weights in the chain for hotkeys in the sub-subnet of the passed subnet.

                                                                                                              -
                                                                                                              -
                                                                                                              -
                                                                                                              -

                                                                                                              Module Contents#

                                                                                                              -
                                                                                                              -
                                                                                                              -bittensor.core.extrinsics.mechanism.commit_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, salt, version_key=version_as_int, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
                                                                                                              -

                                                                                                              Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

                                                                                                              -
                                                                                                              -
                                                                                                              Parameters:
                                                                                                              -
                                                                                                                -
                                                                                                              • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

                                                                                                              • -
                                                                                                              • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

                                                                                                              • -
                                                                                                              • netuid (int) – The subnet unique identifier.

                                                                                                              • -
                                                                                                              • mechid (int) – The subnet mechanism unique identifier.

                                                                                                              • -
                                                                                                              • uids (bittensor.core.types.UIDs) – NumPy array of neuron UIDs for which weights are being committed.

                                                                                                              • -
                                                                                                              • weights (bittensor.core.types.Weights) – NumPy array of weight values corresponding to each UID.

                                                                                                              • -
                                                                                                              • salt (bittensor.core.types.Salt) – list of randomly generated integers as salt to generated weighted hash.

                                                                                                              • -
                                                                                                              • version_key (int) – Version key for compatibility with the network.

                                                                                                              • -
                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You can -think of it as an expiration date for the transaction.

                                                                                                              • -
                                                                                                              • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                              • -
                                                                                                              • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                              • -
                                                                                                              • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                              • -
                                                                                                              -
                                                                                                              -
                                                                                                              Returns:
                                                                                                              -

                                                                                                              True if the extrinsic executed successfully, False otherwise. -message is a string value describing the success or potential error.

                                                                                                              -
                                                                                                              -
                                                                                                              Return type:
                                                                                                              -

                                                                                                              tuple[bool, str]

                                                                                                              -
                                                                                                              -
                                                                                                              -
                                                                                                              - -
                                                                                                              -
                                                                                                              -bittensor.core.extrinsics.mechanism.commit_timelocked_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, block_time, commit_reveal_version=4, version_key=version_as_int, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
                                                                                                              -

                                                                                                              Commits the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

                                                                                                              -
                                                                                                              -
                                                                                                              Parameters:
                                                                                                              -
                                                                                                                -
                                                                                                              • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

                                                                                                              • -
                                                                                                              • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

                                                                                                              • -
                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                              • -
                                                                                                              • mechid (int) – The sub-subnet unique identifier.

                                                                                                              • -
                                                                                                              • uids (bittensor.core.types.UIDs) – The list of neuron UIDs that the weights are being set for.

                                                                                                              • -
                                                                                                              • weights (bittensor.core.types.Weights) – The corresponding weights to be set for each UID.

                                                                                                              • -
                                                                                                              • block_time (Union[int, float]) – The number of seconds for block duration.

                                                                                                              • -
                                                                                                              • commit_reveal_version (int) – The version of the commit-reveal in the chain.

                                                                                                              • -
                                                                                                              • version_key (int) – Version key for compatibility with the network.

                                                                                                              • -
                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You can -think of it as an expiration date for the transaction.

                                                                                                              • -
                                                                                                              • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                              • -
                                                                                                              • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                              • -
                                                                                                              • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                              • -
                                                                                                              -
                                                                                                              -
                                                                                                              Returns:
                                                                                                              -

                                                                                                              True if the extrinsic executed successfully, False otherwise. -message is a string value describing the success or potential error.

                                                                                                              -
                                                                                                              -
                                                                                                              Return type:
                                                                                                              -

                                                                                                              tuple[bool, str]

                                                                                                              -
                                                                                                              -
                                                                                                              -
                                                                                                              - -
                                                                                                              -
                                                                                                              -bittensor.core.extrinsics.mechanism.reveal_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, salt, version_key, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
                                                                                                              -

                                                                                                              Reveals the weights for a specific sub subnet on the Bittensor blockchain using the provided wallet.

                                                                                                              -
                                                                                                              -
                                                                                                              Parameters:
                                                                                                              -
                                                                                                                -
                                                                                                              • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

                                                                                                              • -
                                                                                                              • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

                                                                                                              • -
                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                              • -
                                                                                                              • mechid (int) – The subnet mechanism unique identifier.

                                                                                                              • -
                                                                                                              • uids (bittensor.core.types.UIDs) – List of neuron UIDs for which weights are being revealed.

                                                                                                              • -
                                                                                                              • weights (bittensor.core.types.Weights) – List of weight values corresponding to each UID.

                                                                                                              • -
                                                                                                              • salt (bittensor.core.types.Salt) – List of salt values corresponding to the hash function.

                                                                                                              • -
                                                                                                              • version_key (int) – Version key for compatibility with the network.

                                                                                                              • -
                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You can -think of it as an expiration date for the transaction.

                                                                                                              • -
                                                                                                              • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                              • -
                                                                                                              • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                              • -
                                                                                                              • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                              • -
                                                                                                              -
                                                                                                              -
                                                                                                              Returns:
                                                                                                              -

                                                                                                              True if the extrinsic executed successfully, False otherwise. -message is a string value describing the success or potential error.

                                                                                                              -
                                                                                                              -
                                                                                                              Return type:
                                                                                                              -

                                                                                                              tuple[bool, str]

                                                                                                              -
                                                                                                              -
                                                                                                              -
                                                                                                              - -
                                                                                                              -
                                                                                                              -bittensor.core.extrinsics.mechanism.set_mechanism_weights_extrinsic(subtensor, wallet, netuid, mechid, uids, weights, version_key, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
                                                                                                              -

                                                                                                              Sets the passed weights in the chain for hotkeys in the sub-subnet of the passed subnet.

                                                                                                              -
                                                                                                              -
                                                                                                              Parameters:
                                                                                                              -
                                                                                                                -
                                                                                                              • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

                                                                                                              • -
                                                                                                              • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

                                                                                                              • -
                                                                                                              • netuid (int) – The unique identifier of the subnet.

                                                                                                              • -
                                                                                                              • mechid (int) – The subnet mechanism unique identifier.

                                                                                                              • -
                                                                                                              • uids (bittensor.core.types.UIDs) – List of neuron UIDs for which weights are being revealed.

                                                                                                              • -
                                                                                                              • weights (bittensor.core.types.Weights) – List of weight values corresponding to each UID.

                                                                                                              • -
                                                                                                              • version_key (int) – Version key for compatibility with the network.

                                                                                                              • -
                                                                                                              • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You can -think of it as an expiration date for the transaction.

                                                                                                              • -
                                                                                                              • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                              • -
                                                                                                              • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                              • -
                                                                                                              • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                              • -
                                                                                                              -
                                                                                                              -
                                                                                                              Returns:
                                                                                                              -

                                                                                                              True if the extrinsic executed successfully, False otherwise. -message is a string value describing the success or potential error.

                                                                                                              -
                                                                                                              -
                                                                                                              Return type:
                                                                                                              -

                                                                                                              tuple[bool, str]

                                                                                                              -
                                                                                                              -
                                                                                                              -
                                                                                                              - -
                                                                                                              -
                                                                                                              - - -
                                                                                                              - - - - - - - - -
                                                                                                              - - - - - - - -
                                                                                                              -
                                                                                                              - - -
                                                                                                              - - -
                                                                                                              -
                                                                                                              -
                                                                                                              - - - - - -
                                                                                                              -
                                                                                                              - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/move_stake/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/move_stake/index.html index d764e58683..ef297ab112 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/move_stake/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/move_stake/index.html @@ -49,7 +49,7 @@ - + @@ -150,7 +150,6 @@
                                                                                                            • API Reference
                                                                                                              diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/serving/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/serving/index.html index 1361089fa5..4731186188 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/serving/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/serving/index.html @@ -48,7 +48,7 @@ - + @@ -150,7 +150,6 @@
                                                                                                            • API Reference
                                                                                                              • bittensor
                                                                                                                @@ -405,10 +401,7 @@

                                                                                                                Contents

                                                                                                • - - - - -
                                                                                                  - - -
                                                                                                  -
                                                                                                  - - -
                                                                                                  - - - -
                                                                                                  -
                                                                                                  - - - - - -
                                                                                                  -
                                                                                                  - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/staking/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/staking/index.html index 5a0e5a7d6b..263b529681 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/staking/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/staking/index.html @@ -49,7 +49,7 @@ - + @@ -150,7 +150,6 @@
                                                                                                • API Reference
                                                                                                  @@ -426,11 +423,14 @@

                                                                                                  Contents

                                                                                                  Functions#

                                                                                                  - + - + + + +

                                                                                                  add_stake_extrinsic(subtensor, wallet[, hotkey_ss58, ...])

                                                                                                  add_stake_extrinsic(subtensor, wallet, netuid, ...[, ...])

                                                                                                  Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified subnet.

                                                                                                  add_stake_multiple_extrinsic(subtensor, wallet, ...[, ...])

                                                                                                  Adds stake to each hotkey_ss58 in the list, using each amount, from a common coldkey.

                                                                                                  Adds stake to each hotkey_ss58 in the list, using each amount, from a common coldkey on subnet with

                                                                                                  set_auto_stake_extrinsic(subtensor, wallet, netuid, ...)

                                                                                                  Sets the coldkey to automatically stake to the hotkey within specific subnet mechanism.

                                                                                                  @@ -440,76 +440,113 @@

                                                                                                  Functions#

                                                                                                  -bittensor.core.extrinsics.staking.add_stake_extrinsic(subtensor, wallet, hotkey_ss58=None, netuid=None, amount=None, wait_for_inclusion=True, wait_for_finalization=False, safe_staking=False, allow_partial_stake=False, rate_tolerance=0.005, period=None)[source]#
                                                                                                  +bittensor.core.extrinsics.staking.add_stake_extrinsic(subtensor, wallet, netuid, hotkey_ss58, amount, safe_staking=False, allow_partial_stake=False, rate_tolerance=0.005, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                  Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified subnet. -Staking is a fundamental process in the Bittensor network that enables neurons to participate actively and earn incentives.

                                                                                                  +Staking is a fundamental process in the Bittensor network that enables neurons to participate actively and earn +incentives.

                                                                                                  Parameters:
                                                                                                  • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance with the connection to the chain.

                                                                                                  • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

                                                                                                  • -
                                                                                                  • hotkey_ss58 (Optional[str]) – The ss58 address of the hotkey account to stake to default to the wallet’s hotkey. If not -specified, the wallet’s hotkey will be used. Defaults to None.

                                                                                                  • -
                                                                                                  • netuid (Optional[int]) – The unique identifier of the subnet to which the neuron belongs.

                                                                                                  • -
                                                                                                  • amount (Optional[bittensor.utils.balance.Balance]) – Amount to stake as Bittensor balance in TAO always, None if staking all. Defaults is None.

                                                                                                  • -
                                                                                                  • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns -False if the extrinsic fails to enter the block within the timeout. Defaults to True.

                                                                                                  • -
                                                                                                  • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, -or returns False if the extrinsic fails to be finalized within the timeout. Defaults to False.

                                                                                                  • -
                                                                                                  • safe_staking (bool) – If True, enables price safety checks. Default is False.

                                                                                                  • -
                                                                                                  • allow_partial_stake (bool) – If True, allows partial unstaking if price tolerance exceeded. Default is False.

                                                                                                  • -
                                                                                                  • rate_tolerance (float) – Maximum allowed price increase percentage (0.005 = 0.5%). Default is 0.005.

                                                                                                  • -
                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction. Defaults to None.

                                                                                                  • +
                                                                                                  • netuid (int) – The unique identifier of the subnet to which the neuron belongs.

                                                                                                  • +
                                                                                                  • hotkey_ss58 (str) – The ss58 address of the hotkey account to stake to default to the wallet’s hotkey.

                                                                                                  • +
                                                                                                  • amount (bittensor.utils.balance.Balance) – Amount to stake as Bittensor balance in TAO always.

                                                                                                  • +
                                                                                                  • safe_staking (bool) – If True, enables price safety checks.

                                                                                                  • +
                                                                                                  • allow_partial_stake (bool) – If True, allows partial unstaking if price tolerance exceeded.

                                                                                                  • +
                                                                                                  • rate_tolerance (float) – Maximum allowed price increase percentage (0.005 = 0.5%).

                                                                                                  • +
                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

                                                                                                  • +
                                                                                                  • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                  • +
                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                  • +
                                                                                                  • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                  Returns:
                                                                                                  -

                                                                                                  -
                                                                                                  Flag is True if extrinsic was finalized or included in the block. If we did not wait for

                                                                                                  finalization/inclusion, the response is True.

                                                                                                  -
                                                                                                  -
                                                                                                  -

                                                                                                  +

                                                                                                  The result object of the extrinsic execution.

                                                                                                  Return type:
                                                                                                  -

                                                                                                  success

                                                                                                  +

                                                                                                  ExtrinsicResponse

                                                                                                  Raises:

                                                                                                  SubstrateRequestException – Raised if the extrinsic fails to be included in the block within the timeout.

                                                                                                  +
                                                                                                  +

                                                                                                  Notes

                                                                                                  +

                                                                                                  The data field in the returned ExtrinsicResponse contains extra information about the extrinsic execution.

                                                                                                  +
                                                                                                  -bittensor.core.extrinsics.staking.add_stake_multiple_extrinsic(subtensor, wallet, hotkey_ss58s, netuids, amounts=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                  -

                                                                                                  Adds stake to each hotkey_ss58 in the list, using each amount, from a common coldkey.

                                                                                                  +bittensor.core.extrinsics.staking.add_stake_multiple_extrinsic(subtensor, wallet, netuids, hotkey_ss58s, amounts, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]# +

                                                                                                  Adds stake to each hotkey_ss58 in the list, using each amount, from a common coldkey on subnet with +corresponding netuid.

                                                                                                  Parameters:
                                                                                                    -
                                                                                                  • subtensor (bittensor.core.subtensor.Subtensor) – The initialized SubtensorInterface object.

                                                                                                  • +
                                                                                                  • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance with the connection to the chain.

                                                                                                  • wallet (bittensor_wallet.Wallet) – Bittensor wallet object for the coldkey.

                                                                                                  • -
                                                                                                  • hotkey_ss58s (list[str]) – List of hotkeys to stake to.

                                                                                                  • netuids (bittensor.core.types.UIDs) – List of netuids to stake to.

                                                                                                  • -
                                                                                                  • amounts (Optional[list[bittensor.utils.balance.Balance]]) – List of amounts to stake. If None, stake all to the first hotkey.

                                                                                                  • -
                                                                                                  • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns False -if the extrinsic fails to enter the block within the timeout.

                                                                                                  • -
                                                                                                  • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, or -returns False if the extrinsic fails to be finalized within the timeout.

                                                                                                  • -
                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

                                                                                                  • +
                                                                                                  • hotkey_ss58s (list[str]) – List of hotkeys to stake to.

                                                                                                  • +
                                                                                                  • amounts (list[bittensor.utils.balance.Balance]) – List of corresponding TAO amounts to bet for each netuid and hotkey.

                                                                                                  • +
                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

                                                                                                  • +
                                                                                                  • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                  • +
                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                  • +
                                                                                                  • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                  Returns:
                                                                                                  -

                                                                                                  -
                                                                                                  True if extrinsic was finalized or included in the block. True if any wallet was staked. If we did

                                                                                                  not wait for finalization/inclusion, the response is True.

                                                                                                  +

                                                                                                  The result object of the extrinsic execution.

                                                                                                  +
                                                                                                  +
                                                                                                  Return type:
                                                                                                  +

                                                                                                  ExtrinsicResponse

                                                                                                  -

                                                                                                  +
                                                                                                  +

                                                                                                  Note

                                                                                                  +

                                                                                                  The data field in the returned ExtrinsicResponse contains the results of each individual internal +add_stake_extrinsic call. Each entry maps a tuple key (idx, hotkey_ss58, netuid) to either:

                                                                                                  +
                                                                                                  +
                                                                                                    +
                                                                                                  • the corresponding ExtrinsicResponse object if the staking attempt was executed, or

                                                                                                  • +
                                                                                                  • None if the staking was skipped due to failing validation (e.g., wrong balance, zero amount, etc.).

                                                                                                  • +
                                                                                                  +
                                                                                                  +

                                                                                                  In the key, idx is the index the stake attempt. This allows the caller to inspect which specific operations +were attempted and which were not.

                                                                                                  +
                                                                                                  +
                                                                                                  + +
                                                                                                  +
                                                                                                  +bittensor.core.extrinsics.staking.set_auto_stake_extrinsic(subtensor, wallet, netuid, hotkey_ss58, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
                                                                                                  +

                                                                                                  Sets the coldkey to automatically stake to the hotkey within specific subnet mechanism.

                                                                                                  +
                                                                                                  +
                                                                                                  Parameters:
                                                                                                  +
                                                                                                    +
                                                                                                  • subtensor (bittensor.core.subtensor.Subtensor) – AsyncSubtensor instance.

                                                                                                  • +
                                                                                                  • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

                                                                                                  • +
                                                                                                  • netuid (int) – The subnet unique identifier.

                                                                                                  • +
                                                                                                  • hotkey_ss58 (str) – The SS58 address of the validator’s hotkey to which the miner automatically stakes all rewards +received from the specified subnet immediately upon receipt.

                                                                                                  • +
                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

                                                                                                  • +
                                                                                                  • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                  • +
                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                  • +
                                                                                                  • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                  • +
                                                                                                  +
                                                                                                  +
                                                                                                  Returns:
                                                                                                  +

                                                                                                  The result object of the extrinsic execution.

                                                                                                  Return type:
                                                                                                  -

                                                                                                  success

                                                                                                  +

                                                                                                  ExtrinsicResponse

                                                                                                  @@ -529,12 +566,12 @@

                                                                                                  Module Contents

                                                                                                  previous

                                                                                                  -

                                                                                                  bittensor.core.extrinsics.set_weights

                                                                                                  +

                                                                                                  bittensor.core.extrinsics.serving

                                                                                                  Module ContentsModule Contents

                                                                                                diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/start_call/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/start_call/index.html index fd187923ce..87e8538815 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/start_call/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/start_call/index.html @@ -150,7 +150,6 @@
                                                                                              • API Reference
                                                                                                Returns:
                                                                                                -

                                                                                                  -
                                                                                                • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                • -
                                                                                                • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                • -
                                                                                                -

                                                                                                +

                                                                                                The result object of the extrinsic execution.

                                                                                                Return type:
                                                                                                -

                                                                                                Tuple[bool, str]

                                                                                                +

                                                                                                ExtrinsicResponse

                                                                                                diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/sudo/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/sudo/index.html index 7b39f8726f..1ea30a324e 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/sudo/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/sudo/index.html @@ -150,7 +150,6 @@
                                                                                              • API Reference
                                                                                                • bittensor
                                                                                                  @@ -461,11 +457,10 @@

                                                                                                  Module ContentsReturns: -

                                                                                                  True if the extrinsic executed successfully, False otherwise. -message is a string value describing the success or potential error.

                                                                                                  +

                                                                                                  The result object of the extrinsic execution.

                                                                                                  Return type:
                                                                                                  -

                                                                                                  tuple[bool, str]

                                                                                                  +

                                                                                                  ExtrinsicResponse

                                                                                                  @@ -490,11 +485,10 @@

                                                                                                  Module ContentsReturns: -

                                                                                                  True if the extrinsic executed successfully, False otherwise. -message is a string value describing the success or potential error.

                                                                                                  +

                                                                                                  The result object of the extrinsic execution.

                                                                                                  Return type:
                                                                                                  -

                                                                                                  tuple[bool, str]

                                                                                                  +

                                                                                                  ExtrinsicResponse

                                                                                                  @@ -519,11 +513,10 @@

                                                                                                  Module ContentsReturns: -

                                                                                                  True if the extrinsic executed successfully, False otherwise. -message is a string value describing the success or potential error.

                                                                                                  +

                                                                                                  The result object of the extrinsic execution.

                                                                                                  Return type:
                                                                                                  -

                                                                                                  tuple[bool, str]

                                                                                                  +

                                                                                                  ExtrinsicResponse

                                                                                                  diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/take/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/take/index.html index de2859e9f0..01e82e684e 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/take/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/take/index.html @@ -150,7 +150,6 @@
                                                                                                • API Reference
                                                                                                  • bittensor
                                                                                                    @@ -405,8 +401,7 @@

                                                                                                    Contents

                                                                                                    @@ -426,10 +421,7 @@

                                                                                                    Contents

                                                                                                    Functions#

                                                                                                    - - - - + @@ -439,57 +431,30 @@

                                                                                                    Functions

                                                                                                    Module Contents#

                                                                                                    -
                                                                                                    -bittensor.core.extrinsics.take.decrease_take_extrinsic(subtensor, wallet, hotkey_ss58, take, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)[source]#
                                                                                                    -

                                                                                                    Sets the delegate take percentage for a neuron identified by its hotkey.

                                                                                                    -
                                                                                                    -
                                                                                                    Parameters:
                                                                                                    -
                                                                                                      -
                                                                                                    • subtensor (Subtensor) – Blockchain connection.

                                                                                                    • -
                                                                                                    • wallet (Wallet) – The wallet to sign the extrinsic.

                                                                                                    • -
                                                                                                    • hotkey_ss58 (str) – SS58 address of the hotkey to set take for.

                                                                                                    • -
                                                                                                    • take (int) – The percentage of rewards that the delegate claims from nominators.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool, optional) – Wait for inclusion before returning. Defaults to True.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool, optional) – Wait for finalization before returning. Defaults to True.

                                                                                                    • -
                                                                                                    • raise_error (bool, optional) – Raise error on failure. Defaults to False.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. -If the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

                                                                                                    • -
                                                                                                    -
                                                                                                    -
                                                                                                    Returns:
                                                                                                    -

                                                                                                    Success flag and status message.

                                                                                                    -
                                                                                                    -
                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -bittensor.core.extrinsics.take.increase_take_extrinsic(subtensor, wallet, hotkey_ss58, take, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)[source]#
                                                                                                    +
                                                                                                    +bittensor.core.extrinsics.take.set_take_extrinsic(subtensor, wallet, hotkey_ss58, take, action, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#

                                                                                                    Sets the delegate ‘take’ percentage for a neuron identified by its hotkey.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • subtensor (Subtensor) – Blockchain connection.

                                                                                                    • -
                                                                                                    • wallet (Wallet) – The wallet to sign the extrinsic.

                                                                                                    • +
                                                                                                    • subtensor (bittensor.core.subtensor.Subtensor) – The Subtensor instance.

                                                                                                    • +
                                                                                                    • wallet (bittensor_wallet.bittensor_wallet.Wallet) – The wallet to sign the extrinsic.

                                                                                                    • hotkey_ss58 (str) – SS58 address of the hotkey to set take for.

                                                                                                    • take (int) – The percentage of rewards that the delegate claims from nominators.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool, optional) – Wait for inclusion before returning. Defaults to True.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool, optional) – Wait for finalization before returning. Defaults to True.

                                                                                                    • -
                                                                                                    • raise_error (bool, optional) – Raise error on failure. Defaults to False.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If -the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • action (Literal['increase_take', 'decrease_take']) – The call function to use to set the take. Can be either “increase_take” or “decrease_take”.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    Success flag and status message.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    @@ -545,8 +510,7 @@

                                                                                                    Module Contents
                                                                                                  • Functions
                                                                                                  • Module Contents
                                                                                                  • diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/transfer/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/transfer/index.html index a0a1ecb8ad..3f6d000250 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/transfer/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/transfer/index.html @@ -150,7 +150,6 @@
                                                                                                  • API Reference
                                                                                                  • decrease_take_extrinsic(subtensor, wallet, ...[, ...])

                                                                                                    Sets the delegate take percentage for a neuron identified by its hotkey.

                                                                                                    increase_take_extrinsic(subtensor, wallet, ...[, ...])

                                                                                                    set_take_extrinsic(subtensor, wallet, hotkey_ss58, ...)

                                                                                                    Sets the delegate 'take' percentage for a neuron identified by its hotkey.

                                                                                                    - + @@ -436,35 +432,30 @@

                                                                                                    Functions#

                                                                                                    -bittensor.core.extrinsics.transfer.transfer_extrinsic(subtensor, wallet, dest, amount, transfer_all=False, wait_for_inclusion=True, wait_for_finalization=False, keep_alive=True, period=None)[source]#
                                                                                                    +bittensor.core.extrinsics.transfer.transfer_extrinsic(subtensor, wallet, destination_ss58, amount, keep_alive=True, transfer_all=False, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Transfers funds from this wallet to the destination public key address.

                                                                                                    Parameters:
                                                                                                    • subtensor (bittensor.core.subtensor.Subtensor) – the Subtensor object used for transfer

                                                                                                    • -
                                                                                                    • wallet (bittensor_wallet.Wallet) – Bittensor wallet object to make transfer from.

                                                                                                    • -
                                                                                                    • dest (str) – Destination public key address (ss58_address or ed25519) of recipient.

                                                                                                    • -
                                                                                                    • amount (bittensor.utils.balance.Balance) – Amount to stake as Bittensor balance. None if transferring all.

                                                                                                    • +
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet to sign the extrinsic.

                                                                                                    • +
                                                                                                    • destination_ss58 (str) – Destination public key address (ss58_address or ed25519) of recipient.

                                                                                                    • +
                                                                                                    • amount (Optional[bittensor.utils.balance.Balance]) – Amount to stake as Bittensor balance. None if transferring all.

                                                                                                    • transfer_all (bool) – Whether to transfer all funds from this wallet to the destination address.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns -False if the extrinsic fails to enter the block within the timeout.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning -True, or returns False if the extrinsic fails to be finalized within the timeout.

                                                                                                    • keep_alive (bool) – If set, keeps the account alive by keeping the balance above the existential deposit.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. -If the transaction is not included in a block within that number of blocks, it will expire and be rejected. -You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You can +think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    -
                                                                                                    Flag is True if extrinsic was finalized or included in the block. If we did not wait for

                                                                                                    finalization / inclusion, the response is True, regardless of its inclusion.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    True if the subnet registration was successful, False otherwise.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    success (bool)

                                                                                                    +

                                                                                                    bool

                                                                                                    diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/unstaking/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/unstaking/index.html index 49bd6fd43f..5f9c7f89e9 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/unstaking/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/unstaking/index.html @@ -150,7 +150,6 @@
                                                                                                  • API Reference
                                                                                                  • transfer_extrinsic(subtensor, wallet, dest, amount[, ...])

                                                                                                    transfer_extrinsic(subtensor, wallet, ...[, ...])

                                                                                                    Transfers funds from this wallet to the destination public key address.

                                                                                                    - + - + - + @@ -444,102 +440,109 @@

                                                                                                    Functions#

                                                                                                    -bittensor.core.extrinsics.unstaking.unstake_all_extrinsic(subtensor, wallet, hotkey, netuid, rate_tolerance=0.005, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                    +bittensor.core.extrinsics.unstaking.unstake_all_extrinsic(subtensor, wallet, netuid, hotkey_ss58, rate_tolerance=0.005, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network.

                                                                                                    Parameters:
                                                                                                    • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet of the stake owner.

                                                                                                    • -
                                                                                                    • hotkey (str) – The SS58 address of the hotkey to unstake from.

                                                                                                    • netuid (int) – The unique identifier of the subnet.

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The SS58 address of the hotkey to unstake from.

                                                                                                    • rate_tolerance (Optional[float]) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum -price decrease. If not passed (None), then unstaking goes without price limit. Default is 0.005.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

                                                                                                    • +price decrease. If not passed (None), then unstaking goes without price limit.

                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can -think of it as an expiration date for the transaction. Default is None.

                                                                                                    • +think of it as an expiration date for the transaction.

                                                                                                      +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    A tuple containing: -- True and a success message if the unstake operation succeeded; -- False and an error message otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -bittensor.core.extrinsics.unstaking.unstake_extrinsic(subtensor, wallet, hotkey_ss58=None, netuid=None, amount=None, wait_for_inclusion=True, wait_for_finalization=False, safe_staking=False, allow_partial_stake=False, rate_tolerance=0.005, period=None, unstake_all=False)[source]#
                                                                                                    +bittensor.core.extrinsics.unstaking.unstake_extrinsic(subtensor, wallet, netuid, hotkey_ss58, amount, allow_partial_stake=False, rate_tolerance=0.005, safe_unstaking=False, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Removes stake into the wallet coldkey from the specified hotkey uid.

                                                                                                    Parameters:
                                                                                                    • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

                                                                                                    • wallet (bittensor_wallet.Wallet) – Bittensor wallet object.

                                                                                                    • -
                                                                                                    • hotkey_ss58 (Optional[str]) – The ss58 address of the hotkey to unstake from. By default, the wallet hotkey is used.

                                                                                                    • -
                                                                                                    • netuid (Optional[int]) – Subnet unique id.

                                                                                                    • -
                                                                                                    • amount (Optional[bittensor.utils.balance.Balance]) – Amount to stake as Bittensor balance.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or returns -False if the extrinsic fails to enter the block within the timeout.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, -or returns False if the extrinsic fails to be finalized within the timeout.

                                                                                                    • -
                                                                                                    • safe_staking (bool) – If true, enables price safety checks.

                                                                                                    • -
                                                                                                    • allow_partial_stake (bool) – If true, allows partial unstaking if price tolerance exceeded

                                                                                                    • -
                                                                                                    • rate_tolerance (float) – Maximum allowed price decrease percentage (0.005 = 0.5%)

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The ss58 address of the hotkey to unstake from.

                                                                                                    • +
                                                                                                    • netuid (int) – Subnet unique id.

                                                                                                    • +
                                                                                                    • amount (bittensor.utils.balance.Balance) – Amount to stake as Bittensor balance.

                                                                                                    • +
                                                                                                    • allow_partial_stake (bool) – If true, allows partial unstaking if price tolerance exceeded.

                                                                                                    • +
                                                                                                    • rate_tolerance (float) – Maximum allowed price decrease percentage (0.005 = 0.5%).

                                                                                                    • +
                                                                                                    • safe_unstaking (bool) – If true, enables price safety checks.

                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • -
                                                                                                    • unstake_all (bool) – If true, unstakes all tokens. Default is False.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    A tuple containing: -- True and a success message if the unstake operation succeeded; -- False and an error message otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -bittensor.core.extrinsics.unstaking.unstake_multiple_extrinsic(subtensor, wallet, hotkey_ss58s, netuids, amounts=None, wait_for_inclusion=True, wait_for_finalization=False, period=None, unstake_all=False)[source]#
                                                                                                    +bittensor.core.extrinsics.unstaking.unstake_multiple_extrinsic(subtensor, wallet, netuids, hotkey_ss58s, amounts=None, rate_tolerance=0.05, unstake_all=False, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Removes stake from each hotkey_ss58 in the list, using each amount, to a common coldkey.

                                                                                                    Parameters:
                                                                                                    • subtensor (bittensor.core.subtensor.Subtensor) – Subtensor instance.

                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet with the coldkey to unstake to.

                                                                                                    • -
                                                                                                    • hotkey_ss58s (list[str]) – List of hotkeys to unstake from.

                                                                                                    • netuids (bittensor.core.types.UIDs) – List of subnets unique IDs to unstake from.

                                                                                                    • +
                                                                                                    • hotkey_ss58s (list[str]) – List of hotkeys to unstake from.

                                                                                                    • amounts (Optional[list[bittensor.utils.balance.Balance]]) – List of amounts to unstake. If None, unstake all.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or -returns False if the extrinsic fails to enter the block within the timeout.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning True, -or returns False if the extrinsic fails to be finalized within the timeout.

                                                                                                    • +
                                                                                                    • rate_tolerance (Optional[float]) – Maximum allowed price decrease percentage (0.005 = 0.5%).

                                                                                                    • +
                                                                                                    • unstake_all (bool) – If true, unstakes all tokens.

                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • -
                                                                                                    • unstake_all (bool) – If true, unstakes all tokens. Default is False.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    A tuple containing: -- True and a success message if the unstake operation succeeded; -- False and an error message otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    +
                                                                                                    +

                                                                                                    Note

                                                                                                    +

                                                                                                    The data field in the returned ExtrinsicResponse contains the results of each individual internal +unstake_extrinsic or unstake_all_extrinsic call. Each entry maps a tuple key (idx, hotkey_ss58, netuid) to +either:

                                                                                                    +
                                                                                                    +
                                                                                                      +
                                                                                                    • the corresponding ExtrinsicResponse object if the unstaking attempt was executed, or

                                                                                                    • +
                                                                                                    • None if the unstaking was skipped due to failing validation (e.g., wrong balance, zero amount, etc.).

                                                                                                    • +
                                                                                                    +
                                                                                                    +

                                                                                                    In the key, idx is the index the unstake attempt. This allows the caller to inspect which specific operations +were attempted and which were not.

                                                                                                    +
                                                                                                    diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/utils/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/utils/index.html index 466a467a41..cb03424600 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/utils/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/utils/index.html @@ -150,7 +150,6 @@
                                                                                                  • API Reference
                                                                                                  • unstake_all_extrinsic(subtensor, wallet, hotkey, netuid)

                                                                                                    unstake_all_extrinsic(subtensor, wallet, netuid, ...)

                                                                                                    Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network.

                                                                                                    unstake_extrinsic(subtensor, wallet[, hotkey_ss58, ...])

                                                                                                    unstake_extrinsic(subtensor, wallet, netuid, ...[, ...])

                                                                                                    Removes stake into the wallet coldkey from the specified hotkey uid.

                                                                                                    unstake_multiple_extrinsic(subtensor, wallet, ...[, ...])

                                                                                                    unstake_multiple_extrinsic(subtensor, wallet, netuids, ...)

                                                                                                    Removes stake from each hotkey_ss58 in the list, using each amount, to a common coldkey.

                                                                                                    - - - - + - + @@ -443,25 +435,6 @@

                                                                                                    Functions

                                                                                                    Module Contents#

                                                                                                    -
                                                                                                    -
                                                                                                    -bittensor.core.extrinsics.utils.get_extrinsic_fee(call, keypair, subtensor, netuid=None)#
                                                                                                    -

                                                                                                    Get extrinsic fee for a given extrinsic call and keypair for a given SN’s netuid.

                                                                                                    -
                                                                                                    -
                                                                                                    Parameters:
                                                                                                    -
                                                                                                      -
                                                                                                    • subtensor (bittensor.core.subtensor.Subtensor) – The Subtensor instance.

                                                                                                    • -
                                                                                                    • call (scalecodec.GenericCall) – The extrinsic call.

                                                                                                    • -
                                                                                                    • keypair (bittensor_wallet.Keypair) – The keypair associated with the extrinsic.

                                                                                                    • -
                                                                                                    • netuid (Optional[int]) – The SN’s netuid.

                                                                                                    • -
                                                                                                    -
                                                                                                    -
                                                                                                    Returns:
                                                                                                    -

                                                                                                    Balance object representing the extrinsic fee in RAO.

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    bittensor.core.extrinsics.utils.get_old_stakes(wallet, hotkey_ss58s, netuids, all_stakes)[source]#
                                                                                                    @@ -482,14 +455,14 @@

                                                                                                    Module Contents

                                                                                                    A list of Balances, each representing the stake for a given hotkey and netuid.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    list[Balance]

                                                                                                    +

                                                                                                    list[bittensor.utils.balance.Balance]

                                                                                                    -bittensor.core.extrinsics.utils.sudo_call_extrinsic(subtensor, wallet, call_function, call_params, call_module='AdminUtils', sign_with='coldkey', use_nonce=False, nonce_key='hotkey', period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
                                                                                                    +bittensor.core.extrinsics.utils.sudo_call_extrinsic(subtensor, wallet, call_function, call_params, call_module='AdminUtils', sign_with='coldkey', use_nonce=False, nonce_key='hotkey', period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True, root_call=False)#

                                                                                                    Execute a sudo call extrinsic.

                                                                                                    Parameters:
                                                                                                    @@ -508,14 +481,14 @@

                                                                                                    Module Contentsbool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                  • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                  • +
                                                                                                  • root_call (bool) – False, if the subnet owner makes a call.

                                                                                                  • Returns:
                                                                                                    -

                                                                                                    True if the extrinsic executed successfully, False otherwise. -message is a string value describing the success or potential error.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    @@ -571,7 +544,6 @@

                                                                                                    Module Contents
                                                                                                  • Functions
                                                                                                  • Module Contents diff --git a/static/python-api/html/autoapi/bittensor/core/extrinsics/weights/index.html b/static/python-api/html/autoapi/bittensor/core/extrinsics/weights/index.html index 6e057080b9..f003e1c2b2 100644 --- a/static/python-api/html/autoapi/bittensor/core/extrinsics/weights/index.html +++ b/static/python-api/html/autoapi/bittensor/core/extrinsics/weights/index.html @@ -150,7 +150,6 @@
                                                                                                  • API Reference
                                                                                                  • get_extrinsic_fee(call, keypair, subtensor[, netuid])

                                                                                                    Get extrinsic fee for a given extrinsic call and keypair for a given SN's netuid.

                                                                                                    get_old_stakes(wallet, hotkey_ss58s, netuids, all_stakes)

                                                                                                    get_old_stakes(wallet, hotkey_ss58s, netuids, all_stakes)

                                                                                                    Retrieve the previous staking balances for a wallet's hotkeys across given netuids.

                                                                                                    sudo_call_extrinsic(subtensor, wallet, call_function, ...)

                                                                                                    sudo_call_extrinsic(subtensor, wallet, call_function, ...)

                                                                                                    Execute a sudo call extrinsic.

                                                                                                    - + - + @@ -610,7 +606,7 @@

                                                                                                    Classes#<

                                                                                                    Functions#

                                                                                                    AsyncMetagraph

                                                                                                    TODO docstring. Advise user to use async_metagraph factory fn if they want to sync at init

                                                                                                    Asynchronous version of the Metagraph class for non-blocking synchronization with the Bittensor network state.

                                                                                                    Metagraph

                                                                                                    The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the

                                                                                                    Synchronous implementation of the Metagraph, representing the current state of a Bittensor subnet.

                                                                                                    MetagraphMixin

                                                                                                    The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the

                                                                                                    - + @@ -630,9 +626,20 @@

                                                                                                    Functions#

                                                                                                    -class bittensor.core.metagraph.AsyncMetagraph(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None, mechid=0)[source]#
                                                                                                    +class bittensor.core.metagraph.AsyncMetagraph(netuid, mechid=0, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None)[source]#

                                                                                                    Bases: NumpyOrTorch

                                                                                                    -

                                                                                                    TODO docstring. Advise user to use async_metagraph factory fn if they want to sync at init

                                                                                                    +

                                                                                                    Asynchronous version of the Metagraph class for non-blocking synchronization with the Bittensor network state.

                                                                                                    +

                                                                                                    This class allows developers to fetch and update metagraph data using async operations, enabling concurrent +execution in event-driven environments.

                                                                                                    +
                                                                                                    +

                                                                                                    Note

                                                                                                    +

                                                                                                    Prefer using the factory function async_metagraph() for initialization, which handles async synchronization +automatically.

                                                                                                    +
                                                                                                    +
                                                                                                    +

                                                                                                    Example

                                                                                                    +

                                                                                                    metagraph = await async_metagraph(netuid=1, network=”finney”)

                                                                                                    +

                                                                                                    Initializes a new instance of the metagraph object, setting up the basic structure and parameters based on the provided arguments. This class requires Torch to be installed. This method is the entry point for creating a metagraph object, which is a central component in representing the state of the Bittensor network.

                                                                                                    @@ -647,7 +654,7 @@

                                                                                                    Module Contentsbool) – A flag indicating whether to synchronize the metagraph with the network upon initialization. Synchronization involves updating the metagraph’s parameters to reflect the current state of the network.

                                                                                                  • mechid (int) – Subnet mechanism unique identifier.

                                                                                                  • -
                                                                                                  • subtensor (Optional[bittensor.core.async_subtensor.AsyncSubtensor])

                                                                                                  • +
                                                                                                  • subtensor (Optional[bittensor.core.async_subtensor.AsyncSubtensor])

                                                                                                  • @@ -670,14 +677,12 @@

                                                                                                    Module Contents
                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • block (Optional[int]) – A specific block number to synchronize with. If None, the metagraph syncs with the -latest block. This allows for historical analysis or specific state examination of the network.

                                                                                                    • -
                                                                                                    • lite (Optional[bool]) – If True, a lite version of the metagraph is used for quicker synchronization. This is -beneficial when full detail is not necessary, allowing for reduced computational and time overhead. -Defaults to True.

                                                                                                    • -
                                                                                                    • subtensor (Optional[bittensor.core.subtensor.Subtensor]) – An instance of the subtensor class from Bittensor, -providing an interface to the underlying blockchain data. If provided, this instance is used for data -retrieval during synchronization.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – A specific block number to synchronize with. If None, the metagraph syncs with the latest block. This +allows for historical analysis or specific state examination of the network.

                                                                                                    • +
                                                                                                    • lite (Optional[bool]) – If True, a lite version of the metagraph is used for quicker synchronization. This is beneficial when +full detail is not necessary, allowing for reduced computational and time overhead.

                                                                                                    • +
                                                                                                    • subtensor (Optional[bittensor.core.async_subtensor.AsyncSubtensor]) – An instance of the subtensor class from Bittensor, providing an interface to the underlying +blockchain data. If provided, this instance is used for data retrieval during synchronization.

                                                                                                    @@ -753,83 +758,16 @@

                                                                                                    Module Contents
                                                                                                    -class bittensor.core.metagraph.Metagraph(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None, mechid=0)[source]#
                                                                                                    +class bittensor.core.metagraph.Metagraph(netuid, mechid=0, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None)[source]#

                                                                                                    Bases: NumpyOrTorch

                                                                                                    -

                                                                                                    The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the -backbone of the decentralized machine learning system.

                                                                                                    -
                                                                                                    -
                                                                                                    The metagraph is a dynamic representation of the network’s state, capturing the interconnectedness and attributes of

                                                                                                    neurons (participants) in the Bittensor ecosystem. This class is not just a static structure but a live -reflection of the network, constantly updated and synchronized with the state of the blockchain.

                                                                                                    -
                                                                                                    -
                                                                                                    In Bittensor, neurons are akin to nodes in a distributed system, each contributing computational resources and

                                                                                                    participating in the network’s collective intelligence. The metagraph tracks various attributes of these -neurons, such as stake, trust, and consensus, which are crucial for the network’s incentive mechanisms and the -Yuma Consensus algorithm as outlined in the NeurIPS paper. These attributes govern how neurons -interact, how they are incentivized, and their roles within the network’s decision-making processes.

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    Parameters:
                                                                                                    -
                                                                                                      -
                                                                                                    • netuid (int) – A unique identifier that distinguishes between different instances or versions of the Bittensor network.

                                                                                                    • -
                                                                                                    • network (str) – The name of the network, signifying specific configurations or iterations within the Bittensor ecosystem.

                                                                                                    • -
                                                                                                    • lite (bool)

                                                                                                    • -
                                                                                                    • sync (bool)

                                                                                                    • -
                                                                                                    • subtensor (Optional[bittensor.core.subtensor.Subtensor])

                                                                                                    • -
                                                                                                    • mechid (int)

                                                                                                    • -
                                                                                                    -
                                                                                                    -
                                                                                                    Variables:
                                                                                                    -
                                                                                                      -
                                                                                                    • version (NDArray) – The version number of the network, integral for tracking network updates.

                                                                                                    • -
                                                                                                    • n (NDArray) – The total number of neurons in the network, reflecting its size and complexity.

                                                                                                    • -
                                                                                                    • block (NDArray) – The current block number in the blockchain, crucial for synchronizing with the network’s latest state.

                                                                                                    • -
                                                                                                    • stake – Represents the cryptocurrency staked by neurons, impacting their influence and earnings within the network.

                                                                                                    • -
                                                                                                    • total_stake – The cumulative stake across all neurons.

                                                                                                    • -
                                                                                                    • ranks – Neuron rankings as per the Yuma Consensus algorithm, influencing their incentive distribution and network authority.

                                                                                                    • -
                                                                                                    • trust – Scores indicating the reliability of neurons, mainly miners, within the network’s operational context.

                                                                                                    • -
                                                                                                    • consensus – Scores reflecting each neuron’s alignment with the network’s collective decisions.

                                                                                                    • -
                                                                                                    • validator_trust – Trust scores for validator neurons, crucial for network security and validation.

                                                                                                    • -
                                                                                                    • incentive – Rewards allocated to neurons, particularly miners, for their network contributions.

                                                                                                    • -
                                                                                                    • emission – The rate at which rewards are distributed to neurons.

                                                                                                    • -
                                                                                                    • dividends – Rewards received primarily by validators as part of the incentive mechanism.

                                                                                                    • -
                                                                                                    • active – Status indicating whether a neuron is actively participating in the network.

                                                                                                    • -
                                                                                                    • last_update – Timestamp of the latest update to a neuron’s data.

                                                                                                    • -
                                                                                                    • validator_permit – Indicates if a neuron is authorized to act as a validator.

                                                                                                    • -
                                                                                                    • weights – Inter-neuronal weights set by each neuron, influencing network dynamics.

                                                                                                    • -
                                                                                                    • bonds – Represents speculative investments by neurons in others, part of the reward mechanism.

                                                                                                    • -
                                                                                                    • uids – Unique identifiers for each neuron, essential for network operations.

                                                                                                    • -
                                                                                                    • axons (List) – Details about each neuron’s axon, critical for facilitating network communication.

                                                                                                    • -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    The metagraph plays a pivotal role in Bittensor’s decentralized AI operations, influencing everything from data

                                                                                                    propagation to reward distribution. It embodies the principles of decentralized governance and collaborative -intelligence, ensuring that the network remains adaptive, secure, and efficient.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Synchronous implementation of the Metagraph, representing the current state of a Bittensor subnet.

                                                                                                    +

                                                                                                    The Metagraph encapsulates neuron attributes such as stake, trust, incentive, weights, and connectivity, and +provides methods to synchronize these values directly from the blockchain via a Subtensor instance.

                                                                                                    Example

                                                                                                    -

                                                                                                    Initializing the metagraph to represent the current state of the Bittensor network:

                                                                                                    -
                                                                                                    from bittensor.core.metagraph import Metagraph
                                                                                                    -metagraph = Metagraph(netuid=config.netuid, network=subtensor.network, sync=False)
                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    Synchronizing the metagraph with the network to reflect the latest state and neuron data:

                                                                                                    -
                                                                                                    metagraph.sync(subtensor=subtensor)
                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    Accessing metagraph properties to inform network interactions and decisions:

                                                                                                    -
                                                                                                    total_stake = metagraph.S
                                                                                                    -neuron_ranks = metagraph.R
                                                                                                    -neuron_incentives = metagraph.I
                                                                                                    -axons = metagraph.axons
                                                                                                    -neurons = metagraph.neurons
                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    Maintaining a local copy of hotkeys for querying and interacting with network entities:

                                                                                                    -
                                                                                                    hotkeys = deepcopy(metagraph.hotkeys)
                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    from bittensor.core.subtensor import Subtensor +subtensor = Subtensor(network=”finney”) +metagraph = Metagraph(netuid=1, network=”finney”, sync=True, subtensor=subtensor)

                                                                                                    Initializes a new instance of the metagraph object, setting up the basic structure and parameters based on the provided arguments. This class requires Torch to be installed. This method is the entry point for creating a @@ -868,14 +806,12 @@

                                                                                                    Module Contents
                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • block (Optional[int]) – A specific block number to synchronize with. If None, the metagraph syncs with the -latest block. This allows for historical analysis or specific state examination of the network.

                                                                                                    • -
                                                                                                    • lite (Optional[bool]) – If True, a lite version of the metagraph is used for quicker synchronization. This is -beneficial when full detail is not necessary, allowing for reduced computational and time overhead. -Defaults to True.

                                                                                                    • -
                                                                                                    • subtensor (Optional[bittensor.core.subtensor.Subtensor]) – An instance of the subtensor class from Bittensor, -providing an interface to the underlying blockchain data. If provided, this instance is used for data -retrieval during synchronization.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – A specific block number to synchronize with. If None, the metagraph syncs with the latest block. This +allows for historical analysis or specific state examination of the network.

                                                                                                    • +
                                                                                                    • lite (Optional[bool]) – If True, a lite version of the metagraph is used for quicker synchronization. This is beneficial when +full detail is not necessary, allowing for reduced computational and time overhead.

                                                                                                    • +
                                                                                                    • subtensor (Optional[bittensor.core.subtensor.Subtensor]) – An instance of the subtensor class from Bittensor, providing an interface to the underlying +blockchain data. If provided, this instance is used for data retrieval during synchronization.

                                                                                                    @@ -920,7 +856,7 @@

                                                                                                    Module Contents
                                                                                                    -class bittensor.core.metagraph.MetagraphMixin(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None, mechid=0)[source]#
                                                                                                    +class bittensor.core.metagraph.MetagraphMixin(netuid, mechid=0, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None)[source]#

                                                                                                    Bases: abc.ABC

                                                                                                    The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the backbone of the decentralized machine learning system.

                                                                                                    @@ -939,10 +875,10 @@

                                                                                                    Module Contents

                                                                                                    Variables:
                                                                                                    @@ -969,11 +905,9 @@

                                                                                                    Module Contents -
                                                                                                    The metagraph plays a pivotal role in Bittensor’s decentralized AI operations, influencing everything from data

                                                                                                    propagation to reward distribution. It embodies the principles of decentralized governance and collaborative +

                                                                                                    The metagraph plays a pivotal role in Bittensor’s decentralized AI operations, influencing everything from data +propagation to reward distribution. It embodies the principles of decentralized governance and collaborative intelligence, ensuring that the network remains adaptive, secure, and efficient.

                                                                                                    -
                                                                                                    -

                                                                                                    Example

                                                                                                    Initializing the metagraph to represent the current state of the Bittensor network:

                                                                                                    @@ -1012,8 +946,8 @@

                                                                                                    Module Contentsbool) – A flag indicating whether to synchronize the metagraph with the network upon initialization. Synchronization involves updating the metagraph’s parameters to reflect the current state of the network.

                                                                                                    -
                                                                                                  • subtensor (Optional[Union[bittensor.core.async_subtensor.AsyncSubtensor, bittensor.core.subtensor.Subtensor]])

                                                                                                  • mechid (int)

                                                                                                  • +
                                                                                                  • subtensor (Optional[Union[bittensor.core.async_subtensor.AsyncSubtensor, bittensor.core.subtensor.Subtensor]])

                                                                                                  • @@ -1471,18 +1405,14 @@

                                                                                                    Module Contents
                                                                                                    Parameters:
                                                                                                    -

                                                                                                    root_dir (Optional[list[str]]) – list to the file path for the root directory of your metagraph saves -(i.e. [‘/’, ‘tmp’, ‘metagraphs’], defaults to [“~”, “.bittensor”, “metagraphs”]

                                                                                                    +

                                                                                                    root_dir (Optional[list[str]]) – list to the file path for the root directory of your metagraph saves (i.e. [‘/’, ‘tmp’, +‘metagraphs’], defaults to [“~”, “.bittensor”, “metagraphs”]

                                                                                                    Returns:
                                                                                                    -

                                                                                                    -
                                                                                                    The metagraph instance after loading its state from the

                                                                                                    default directory.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    The metagraph instance after loading its state from the default directory.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    metagraph (bittensor.core.metagraph.Metagraph)

                                                                                                    +

                                                                                                    metagraph

                                                                                                    @@ -1514,18 +1444,14 @@

                                                                                                    Module Contents
                                                                                                    Parameters:
                                                                                                    -

                                                                                                    dir_path (str) – The directory path where the metagraph’s state files are stored. This path should contain -one or more saved state files, typically named in a format that includes the block number.

                                                                                                    +

                                                                                                    dir_path (str) – The directory path where the metagraph’s state files are stored. This path should contain one or +more saved state files, typically named in a format that includes the block number.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    -
                                                                                                    The metagraph instance after loading its state from the

                                                                                                    specified directory path.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    The metagraph instance after loading its state from the specified directory path.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    metagraph (bittensor.core.metagraph.AsyncMetagraph)

                                                                                                    +

                                                                                                    metagraph

                                                                                                    @@ -1667,14 +1593,14 @@

                                                                                                    Module Contents
                                                                                                    Parameters:
                                                                                                    -

                                                                                                    root_dir (Optional[list[str]]) – list to the file path for the root directory of your metagraph saves -(i.e. [‘/’, ‘tmp’, ‘metagraphs’], defaults to [“~”, “.bittensor”, “metagraphs”]

                                                                                                    +

                                                                                                    root_dir (Optional[list[str]]) – list to the file path for the root directory of your metagraph saves (i.e. [‘/’, ‘tmp’, +‘metagraphs’], defaults to [“~”, “.bittensor”, “metagraphs”]

                                                                                                    Returns:

                                                                                                    The metagraph instance after saving its state.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    metagraph (bittensor.core.metagraph.Metagraph)

                                                                                                    +

                                                                                                    metagraph

                                                                                                    @@ -1712,7 +1638,7 @@

                                                                                                    Module Contents
                                                                                                    -subtensor: bittensor.core.async_subtensor.AsyncSubtensor | bittensor.core.subtensor.Subtensor | None#
                                                                                                    +subtensor: bittensor.core.async_subtensor.AsyncSubtensor | bittensor.core.subtensor.Subtensor | None#
                                                                                                    @@ -1769,7 +1695,7 @@

                                                                                                    Module Contents
                                                                                                    -class bittensor.core.metagraph.NonTorchMetagraph(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None, mechid=0)[source]#
                                                                                                    +class bittensor.core.metagraph.NonTorchMetagraph(netuid, mechid=0, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None)[source]#

                                                                                                    Bases: MetagraphMixin

                                                                                                    The metagraph class is a core component of the Bittensor network, representing the neural graph that forms the backbone of the decentralized machine learning system.

                                                                                                    @@ -1788,10 +1714,10 @@

                                                                                                    Module Contents

                                                                                                    Variables:
                                                                                                    @@ -1818,11 +1744,9 @@

                                                                                                    Module Contents -
                                                                                                    The metagraph plays a pivotal role in Bittensor’s decentralized AI operations, influencing everything from data

                                                                                                    propagation to reward distribution. It embodies the principles of decentralized governance and collaborative +

                                                                                                    The metagraph plays a pivotal role in Bittensor’s decentralized AI operations, influencing everything from data +propagation to reward distribution. It embodies the principles of decentralized governance and collaborative intelligence, ensuring that the network remains adaptive, secure, and efficient.

                                                                                                    -
                                                                                                    -

                                                                                                    Example

                                                                                                    Initializing the metagraph to represent the current state of the Bittensor network:

                                                                                                    @@ -1861,7 +1785,7 @@

                                                                                                    Module Contentsbool) – A flag indicating whether to synchronize the metagraph with the network upon initialization. Synchronization involves updating the metagraph’s parameters to reflect the current state of the network.

                                                                                                  • mechid (int) – Subnet mechanism unique identifier.

                                                                                                  • -
                                                                                                  • subtensor (Optional[Union[bittensor.core.async_subtensor.AsyncSubtensor, bittensor.core.subtensor.Subtensor]])

                                                                                                  • +
                                                                                                  • subtensor (Optional[Union[bittensor.core.async_subtensor.AsyncSubtensor, bittensor.core.subtensor.Subtensor]])

                                                                                                  • @@ -1928,14 +1852,10 @@

                                                                                                    Module Contents

                                                                                                    dir_path (str) – The directory path where the metagraph’s state file is located.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    -
                                                                                                    An instance of the Metagraph with the state

                                                                                                    loaded from the file.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    An instance of the Metagraph with the state loaded from the file.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    metagraph (bittensor.core.metagraph.AsyncMetagraph())

                                                                                                    +

                                                                                                    metagraph

                                                                                                    Raises:
                                                                                                    @@ -2192,7 +2110,7 @@

                                                                                                    Module Contents

                                                                                                    The current metagraph instance with the loaded state.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    metagraph (bittensor.core.metagraph.AsyncMetagraph)

                                                                                                    +

                                                                                                    metagraph

                                                                                                    @@ -2263,16 +2181,17 @@

                                                                                                    Module Contents
                                                                                                    -async bittensor.core.metagraph.async_metagraph(netuid, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None)[source]#
                                                                                                    +async bittensor.core.metagraph.async_metagraph(netuid, mechid=0, network=settings.DEFAULT_NETWORK, lite=True, sync=True, subtensor=None)[source]#

                                                                                                    Factory function to create an instantiated AsyncMetagraph, mainly for the ability to use sync at instantiation.

                                                                                                    Parameters:
                                                                                                    Return type:
                                                                                                    diff --git a/static/python-api/html/autoapi/bittensor/core/settings/index.html b/static/python-api/html/autoapi/bittensor/core/settings/index.html index 5212571c2d..2ff21d974a 100644 --- a/static/python-api/html/autoapi/bittensor/core/settings/index.html +++ b/static/python-api/html/autoapi/bittensor/core/settings/index.html @@ -150,7 +150,6 @@
                                                                                                  • API Reference
                                                                                                  • - + - + @@ -643,13 +639,13 @@

                                                                                                    Module Contents -
                                                                                                    -bittensor.core.settings.SS58_FORMAT = 42#
                                                                                                    +
                                                                                                    +bittensor.core.settings.SUBVORTEX_ENTRYPOINT = 'ws://subvortex.info:9944'#
                                                                                                    -
                                                                                                    -bittensor.core.settings.SUBVORTEX_ENTRYPOINT = 'ws://subvortex.info:9944'#
                                                                                                    +
                                                                                                    +bittensor.core.settings.TAO_APP_BLOCK_EXPLORER = 'https://www.tao.app/block/'#
                                                                                                    @@ -753,8 +749,8 @@

                                                                                                    Module ContentsREVERSE_NETWORK_MAP
                                                                                                  • ROOT_TAO_STAKE_WEIGHT
                                                                                                  • SS58_ADDRESS_LENGTH
                                                                                                  • -
                                                                                                  • SS58_FORMAT
                                                                                                  • SUBVORTEX_ENTRYPOINT
                                                                                                  • +
                                                                                                  • TAO_APP_BLOCK_EXPLORER
                                                                                                  • TAO_SYMBOL
                                                                                                  • TYPE_REGISTRY
                                                                                                  • USER_BITTENSOR_DIR
                                                                                                  • diff --git a/static/python-api/html/autoapi/bittensor/core/stream/index.html b/static/python-api/html/autoapi/bittensor/core/stream/index.html index 61ef5f93f8..9302be5ebf 100644 --- a/static/python-api/html/autoapi/bittensor/core/stream/index.html +++ b/static/python-api/html/autoapi/bittensor/core/stream/index.html @@ -150,7 +150,6 @@
                                                                                                  • API Reference
                                                                                                  • @@ -581,7 +575,10 @@

                                                                                                    Module Contents
                                                                                                    Parameters:
                                                                                                    -

                                                                                                    response (aiohttp.ClientResponse) – The response object from which to extract JSON data.

                                                                                                    +
                                                                                                      +
                                                                                                    • data. (The response object from which to extract JSON)

                                                                                                    • +
                                                                                                    • response (aiohttp.ClientResponse)

                                                                                                    • +
                                                                                                    Return type:

                                                                                                    dict

                                                                                                    @@ -606,12 +603,16 @@

                                                                                                    Module Contents
                                                                                                    Parameters:
                                                                                                    -

                                                                                                    response (aiohttp.ClientResponse) – The response object to be processed, typically containing chunks of data.

                                                                                                    +
                                                                                                      +
                                                                                                    • processed (The response object to be)

                                                                                                    • +
                                                                                                    • data. (typically containing chunks of)

                                                                                                    • +
                                                                                                    • response (aiohttp.ClientResponse)

                                                                                                    • +

                                                                                                    diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor/index.html index 418c404ba3..d72ae05237 100644 --- a/static/python-api/html/autoapi/bittensor/core/subtensor/index.html +++ b/static/python-api/html/autoapi/bittensor/core/subtensor/index.html @@ -48,7 +48,7 @@ - + @@ -150,7 +150,6 @@
                                                                                                  • API Reference
                                                                                                    Raises:
                                                                                                    @@ -603,7 +600,7 @@

                                                                                                    Module Contents
                                                                                                    -add_liquidity(wallet, netuid, liquidity, price_low, price_high, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                    +add_liquidity(wallet, netuid, liquidity, price_low, price_high, hotkey_ss58=None, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Adds liquidity to the specified price range.

                                                                                                    Parameters:
                                                                                                    @@ -613,107 +610,94 @@

                                                                                                    Module Contentsbittensor.utils.balance.Balance) – The amount of liquidity to be added.

                                                                                                  • price_low (bittensor.utils.balance.Balance) – The lower bound of the price tick range. In TAO.

                                                                                                  • price_high (bittensor.utils.balance.Balance) – The upper bound of the price tick range. In TAO.

                                                                                                  • -
                                                                                                  • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to -None.

                                                                                                  • -
                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

                                                                                                  • -
                                                                                                  • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

                                                                                                  • +
                                                                                                  • hotkey_ss58 (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used.

                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                  • +
                                                                                                  • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                  • +
                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block.

                                                                                                  • +
                                                                                                  • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic.

                                                                                                  • Returns:
                                                                                                    -

                                                                                                      -
                                                                                                    • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                    • -
                                                                                                    • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                    • -
                                                                                                    -

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    Tuple[bool, str]

                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call toggle_user_liquidity

                                                                                                    method to enable/disable user liquidity.

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    +

                                                                                                    Note: Adding is allowed even when user liquidity is enabled in specified subnet. Call toggle_user_liquidity +method to enable/disable user liquidity.

                                                                                                    -add_stake(wallet, hotkey_ss58=None, netuid=None, amount=None, wait_for_inclusion=True, wait_for_finalization=False, safe_staking=False, allow_partial_stake=False, rate_tolerance=0.005, period=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified

                                                                                                    subnet. Staking is a fundamental process in the Bittensor network that enables neurons to participate -actively and earn incentives.

                                                                                                    -
                                                                                                    -
                                                                                                    +add_stake(wallet, netuid, hotkey_ss58, amount, safe_staking=False, allow_partial_stake=False, rate_tolerance=0.005, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]# +

                                                                                                    Adds a stake from the specified wallet to the neuron identified by the SS58 address of its hotkey in specified +subnet. Staking is a fundamental process in the Bittensor network that enables neurons to participate actively +and earn incentives.

                                                                                                    Parameters:
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet to be used for staking.

                                                                                                    • -
                                                                                                    • hotkey_ss58 (Optional[str]) – The SS58 address of the hotkey associated with the neuron to which you intend to delegate your -stake. If not specified, the wallet’s hotkey will be used. Defaults to None.

                                                                                                    • -
                                                                                                    • netuid (Optional[int]) – The unique identifier of the subnet to which the neuron belongs.

                                                                                                    • -
                                                                                                    • amount (Optional[bittensor.utils.balance.Balance]) – The amount of TAO to stake.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to True.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to False.

                                                                                                    • +
                                                                                                    • netuid (int) – The unique identifier of the subnet to which the neuron belongs.

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The ss58 address of the hotkey account to stake to default to the wallet’s hotkey.

                                                                                                    • +
                                                                                                    • amount (bittensor.utils.balance.Balance) – The amount of TAO to stake.

                                                                                                    • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The stake will -only execute if the price change doesn’t exceed the rate tolerance. Default is False.

                                                                                                    • +only execute if the price change doesn’t exceed the rate tolerance.

                                                                                                    • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial staking when the full amount would -exceed the price tolerance. If false, the entire stake fails if it would exceed the tolerance. -Default is False.

                                                                                                    • -
                                                                                                    • rate_tolerance (float) – The maximum allowed price change ratio when staking. For example, -0.005 = 0.5% maximum price increase. Only used when safe_staking is True. Default is 0.005.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction. Defaults to None.

                                                                                                    • +exceed the price tolerance. If false, the entire stake fails if it would exceed the tolerance.

                                                                                                      +
                                                                                                    • rate_tolerance (float) – The maximum allowed price change ratio when staking. For example, 0.005 = 0.5% maximum price +increase. Only used when safe_staking is True.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +the transaction is not included in a block within that number of blocks, it will expire and be rejected. +You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the staking is successful, False otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -
                                                                                                    -
                                                                                                    This function enables neurons to increase their stake in the network, enhancing their influence and potential

                                                                                                    rewards in line with Bittensor’s consensus and reward mechanisms. +

                                                                                                    This function enables neurons to increase their stake in the network, enhancing their influence and potential. When safe_staking is enabled, it provides protection against price fluctuations during the time stake is executed and the time it is actually processed by the chain.

                                                                                                    -
                                                                                                    -
                                                                                                    -add_stake_multiple(wallet, hotkey_ss58s, netuids, amounts=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                    +add_stake_multiple(wallet, netuids, hotkey_ss58s, amounts, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Adds stakes to multiple neurons identified by their hotkey SS58 addresses. This bulk operation allows for efficient staking across different neurons from a single wallet.

                                                                                                    Parameters:
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet used for staking.

                                                                                                    • +
                                                                                                    • netuids (bittensor.core.types.UIDs) – List of subnet UIDs.

                                                                                                    • hotkey_ss58s (list[str]) – List of SS58 addresses of hotkeys to stake to.

                                                                                                    • -
                                                                                                    • netuids (list[int]) – List of network UIDs to stake to.

                                                                                                    • -
                                                                                                    • amounts (list[Balance]) – Corresponding amounts of TAO to stake for each hotkey.

                                                                                                    • +
                                                                                                    • amounts (list[bittensor.utils.balance.Balance]) – List of corresponding TAO amounts to bet for each netuid and hotkey.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the staking is successful for all specified neurons, False otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    This function is essential for managing stakes across multiple neurons, reflecting the dynamic and collaborative

                                                                                                    nature of the Bittensor network.

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    +

                                                                                                    This function is essential for managing stakes across multiple neurons, reflecting the dynamic and collaborative +nature of the Bittensor network.

                                                                                                    @@ -728,7 +712,7 @@

                                                                                                    Module Contents

                                                                                                    A list of DynamicInfo objects, each containing detailed information about a subnet.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    Optional[DynamicInfo]

                                                                                                    +

                                                                                                    Optional[list[bittensor.core.chain_data.DynamicInfo]]

                                                                                                    @@ -765,21 +749,18 @@

                                                                                                    Module Contents
                                                                                                    -blocks_since_last_update(netuid, uid)[source]#
                                                                                                    +blocks_since_last_update(netuid, uid, block=None)[source]#

                                                                                                    Returns the number of blocks since the last update for a specific UID in the subnetwork.

                                                                                                    Parameters:
                                                                                                    • netuid (int) – The unique identifier of the subnetwork.

                                                                                                    • uid (int) – The unique identifier of the neuron.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – the block number for this query.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    -
                                                                                                    The number of blocks since the last update, or None if the subnetwork or UID does not

                                                                                                    exist.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    The number of blocks since the last update, or None if the subnetwork or UID does not exist.

                                                                                                    Return type:

                                                                                                    Optional[int]

                                                                                                    @@ -789,7 +770,7 @@

                                                                                                    Module Contents
                                                                                                    -bonds(netuid, block=None, mechid=0)[source]#
                                                                                                    +bonds(netuid, mechid=0, block=None)[source]#
                                                                                                    Retrieves the bond distribution set by neurons within a specific subnet of the Bittensor network.

                                                                                                    Bonds represent the investments or commitments made by neurons in one another, indicating a level of trust and perceived value. This bonding mechanism is integral to the network’s market-based approach to @@ -800,8 +781,8 @@

                                                                                                    Module ContentsParameters:
                                                                                                    • netuid (int) – Subnet identifier.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – the block number for this query.

                                                                                                    • mechid (int) – Subnet mechanism identifier.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – the block number for this query.

                                                                                                    Returns:
                                                                                                    @@ -820,30 +801,27 @@

                                                                                                    Module Contents
                                                                                                    -burned_register(wallet, netuid, wait_for_inclusion=False, wait_for_finalization=True, period=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Registers a neuron on the Bittensor network by recycling TAO. This method of registration involves recycling

                                                                                                    TAO tokens, allowing them to be re-mined by performing work on the network.

                                                                                                    -
                                                                                                    -
                                                                                                    +burned_register(wallet, netuid, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]# +

                                                                                                    Registers a neuron on the Bittensor network by recycling TAO. This method of registration involves recycling +TAO tokens, allowing them to be re-mined by performing work on the network.

                                                                                                    Parameters:
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron to be registered.

                                                                                                    • netuid (int) – The unique identifier of the subnet.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool, optional) – Waits for the transaction to be included in a block. Defaults to -False.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool, optional) – Waits for the transaction to be finalized on the blockchain. -Defaults to True.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the registration is successful, False otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    @@ -854,30 +832,6 @@

                                                                                                    Module Contents -
                                                                                                    -commit(wallet, netuid, data, period=None)[source]#
                                                                                                    -

                                                                                                    Commits arbitrary data to the Bittensor network by publishing metadata.

                                                                                                    -
                                                                                                    -
                                                                                                    Parameters:
                                                                                                    -
                                                                                                      -
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron committing the data.

                                                                                                    • -
                                                                                                    • netuid (int) – The unique identifier of the subnetwork.

                                                                                                    • -
                                                                                                    • data (str) – The data to be committed to the network.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • -
                                                                                                    -
                                                                                                    -
                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the commitment was successful, False otherwise.

                                                                                                    -
                                                                                                    -
                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    -
                                                                                                    commit_reveal_enabled(netuid, block=None)[source]#
                                                                                                    @@ -900,7 +854,7 @@

                                                                                                    Module Contents
                                                                                                    -commit_weights(wallet, netuid, salt, uids, weights, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, period=16, mechid=0)[source]#
                                                                                                    +commit_weights(wallet, netuid, salt, uids, weights, mechid=0, version_key=version_as_int, max_retries=5, period=16, raise_error=True, wait_for_inclusion=False, wait_for_finalization=False)[source]#

                                                                                                    Commits a hash of the neuron’s weights to the Bittensor blockchain using the provided wallet. This action serves as a commitment or snapshot of the neuron’s current weight distribution.

                                                                                                    @@ -909,28 +863,48 @@

                                                                                                    Module Contentsint) – The unique identifier of the subnet.

                                                                                                  • salt (bittensor.core.types.Salt) – list of randomly generated integers as salt to generated weighted hash.

                                                                                                  • -
                                                                                                  • uids (bittensor.core.types.UIDs) – Array/list of neuron UIDs for which weights are being committed.

                                                                                                  • -
                                                                                                  • weights (bittensor.core.types.Weights) – Array/list of weight values corresponding to each UID.

                                                                                                  • +
                                                                                                  • uids (bittensor.core.types.UIDs) – NumPy array of neuron UIDs for which weights are being committed.

                                                                                                  • +
                                                                                                  • weights (bittensor.core.types.Weights) – NumPy array of weight values corresponding to each UID.

                                                                                                  • +
                                                                                                  • mechid (int) – Subnet mechanism unique identifier.

                                                                                                  • version_key (int) – Version key for compatibility with the network.

                                                                                                  • -
                                                                                                  • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                  • -
                                                                                                  • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                  • max_retries (int) – The number of maximum attempts to commit weights.

                                                                                                  • -
                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction.

                                                                                                  • -
                                                                                                  • mechid (int) – The subnet mechanism unique identifier.

                                                                                                  • +
                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +the transaction is not included in a block within that number of blocks, it will expire and be rejected. +You can think of it as an expiration date for the transaction.

                                                                                                  • +
                                                                                                  • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                  • +
                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block.

                                                                                                  • +
                                                                                                  • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic.

                                                                                                  • Returns:
                                                                                                    -

                                                                                                    True if the weight commitment is successful, False otherwise. -msg is a string value describing the success or potential error.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -
                                                                                                    -
                                                                                                    This function allows neurons to create a tamper-proof record of their weight distribution at a specific point

                                                                                                    in time, enhancing transparency and accountability within the Bittensor network.

                                                                                                    +

                                                                                                    This function allows neurons to create a tamper-proof record of their weight distribution at a specific point in +time, enhancing transparency and accountability within the Bittensor network.

                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    +compose_call(call_module, call_function, call_params, block=None)#
                                                                                                    +

                                                                                                    Dynamically compose a GenericCall using on-chain Substrate metadata after validating the provided parameters.

                                                                                                    +
                                                                                                    +
                                                                                                    Parameters:
                                                                                                    +
                                                                                                      +
                                                                                                    • call_module (str) – Pallet name (e.g. “SubtensorModule”, “AdminUtils”).

                                                                                                    • +
                                                                                                    • call_function (str) – Function name (e.g. “set_weights”, “sudo_set_tempo”).

                                                                                                    • +
                                                                                                    • call_params (dict[str, Any]) – Dictionary of parameters for the call.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – Block number for querying metadata.

                                                                                                    • +
                                                                                                    +
                                                                                                    +
                                                                                                    Returns:
                                                                                                    +

                                                                                                    Composed call object ready for extrinsic submission.

                                                                                                    +
                                                                                                    +
                                                                                                    Return type:
                                                                                                    +

                                                                                                    GenericCall

                                                                                                    @@ -938,12 +912,16 @@

                                                                                                    Module Contents
                                                                                                    determine_block_hash(block)[source]#
                                                                                                    -
                                                                                                    +

                                                                                                    Determine the appropriate block hash based on the provided block.

                                                                                                    +
                                                                                                    Parameters:
                                                                                                    -

                                                                                                    block (Optional[int])

                                                                                                    +

                                                                                                    block (Optional[int]) – The block number to query.

                                                                                                    -
                                                                                                    Return type:
                                                                                                    -

                                                                                                    Optional[str]

                                                                                                    +
                                                                                                    Returns:
                                                                                                    +

                                                                                                    The block hash if one can be determined, None otherwise.

                                                                                                    +
                                                                                                    +
                                                                                                    Return type:
                                                                                                    +

                                                                                                    Optional[str]

                                                                                                    @@ -952,10 +930,8 @@

                                                                                                    Module Contents difficulty(netuid, block=None)[source]#

                                                                                                    Retrieves the ‘Difficulty’ hyperparameter for a specified subnet in the Bittensor network.

                                                                                                    -
                                                                                                    -
                                                                                                    This parameter is instrumental in determining the computational challenge required for neurons to participate in

                                                                                                    consensus and validation processes.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    This parameter is instrumental in determining the computational challenge required for neurons to participate in +consensus and validation processes.

                                                                                                    Parameters:
                                                                                                    -
                                                                                                    -
                                                                                                    The ‘Difficulty’ parameter directly impacts the network’s security and integrity by setting the computational

                                                                                                    effort required for validating transactions and participating in the network’s consensus mechanism.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    The ‘Difficulty’ parameter directly impacts the network’s security and integrity by setting the computational +effort required for validating transactions and participating in the network’s consensus mechanism.

                                                                                                    @@ -1022,7 +996,7 @@

                                                                                                    Module Contents
                                                                                                    • all_netuids (Iterable[int]) – A list of netuids to filter.

                                                                                                    • filter_for_netuids (Iterable[int]) – A subset of all_netuids to filter from the main list.

                                                                                                    • -
                                                                                                    • all_hotkeys (Iterable[Wallet]) – Hotkeys to filter from the main list.

                                                                                                    • +
                                                                                                    • all_hotkeys (Iterable[bittensor_wallet.Wallet]) – Hotkeys to filter from the main list.

                                                                                                    • block (Optional[int]) – The blockchain block number for the query.

                                                                                                    @@ -1055,15 +1029,21 @@

                                                                                                    Module Contents
                                                                                                    get_all_commitments(netuid, block=None)[source]#
                                                                                                    -
                                                                                                    +

                                                                                                    Retrieves raw commitment metadata from a given subnet.

                                                                                                    +

                                                                                                    This method retrieves all commitment data for all neurons in a specific subnet. This is useful for analyzing the +commit-reveal patterns across an entire subnet.

                                                                                                    +
                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • netuid (int)

                                                                                                    • -
                                                                                                    • block (Optional[int])

                                                                                                    • +
                                                                                                    • netuid (int) – The unique subnet identifier.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The blockchain block number for the query.

                                                                                                    -
                                                                                                    Return type:
                                                                                                    -

                                                                                                    dict[str, str]

                                                                                                    +
                                                                                                    Returns:
                                                                                                    +

                                                                                                    The raw on-chain commitment metadata (as SCALE-decoded object or raw bytes) from specific subnet.

                                                                                                    +
                                                                                                    +
                                                                                                    Return type:
                                                                                                    +

                                                                                                    dict[str, str]

                                                                                                    @@ -1116,23 +1096,19 @@

                                                                                                    Module Contents
                                                                                                    get_all_revealed_commitments(netuid, block=None)[source]#
                                                                                                    -

                                                                                                    Returns all revealed commitments for a given netuid.

                                                                                                    +

                                                                                                    Retrieves all revealed commitments for a given subnet.

                                                                                                    Parameters:
                                                                                                    • netuid (int) – The unique identifier of the subnetwork.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – The block number to retrieve the commitment from. Default is None.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The block number to retrieve the commitment from.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    -
                                                                                                    A dictionary of all revealed commitments in view

                                                                                                    {ss58_address: (reveal block, commitment message)}.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    A dictionary of all revealed commitments in view {ss58_address: (reveal block, commitment message)}.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    result (dict)

                                                                                                    +

                                                                                                    result

                                                                                                    Example of result: @@ -1147,23 +1123,62 @@

                                                                                                    Module Contents
                                                                                                    get_all_subnets_info(block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves detailed information about all subnets within the Bittensor network. This function provides

                                                                                                    comprehensive data on each subnet, including its characteristics and operational parameters.

                                                                                                    +

                                                                                                    Retrieves detailed information about all subnets within the Bittensor network. This function provides +comprehensive data on each subnet, including its characteristics and operational parameters.

                                                                                                    +
                                                                                                    +
                                                                                                    Parameters:
                                                                                                    +

                                                                                                    block (Optional[int]) – The blockchain block number for the query.

                                                                                                    +
                                                                                                    +
                                                                                                    Returns:
                                                                                                    +

                                                                                                    A list of SubnetInfo objects, each containing detailed information about a subnet.

                                                                                                    +
                                                                                                    +
                                                                                                    Return type:
                                                                                                    +

                                                                                                    list[bittensor.core.chain_data.SubnetInfo]

                                                                                                    +

                                                                                                    Gaining insights into the subnets’ details assists in understanding the network’s composition, the roles of +different subnets, and their unique features.

                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    +get_all_subnets_netuid(block=None)#
                                                                                                    +

                                                                                                    Retrieves the list of all subnet unique identifiers (netuids) currently present in the Bittensor network.

                                                                                                    Parameters:

                                                                                                    block (Optional[int]) – The blockchain block number for the query.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    A list of SubnetInfo objects, each containing detailed information about a subnet.

                                                                                                    +

                                                                                                    A list of subnet netuids.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    list[SubnetInfo]

                                                                                                    +

                                                                                                    bittensor.core.types.UIDs

                                                                                                    -
                                                                                                    -
                                                                                                    Gaining insights into the subnets’ details assists in understanding the network’s composition, the roles of

                                                                                                    different subnets, and their unique features.

                                                                                                    +

                                                                                                    This function provides a comprehensive view of the subnets within the Bittensor network, +offering insights into its diversity and scale.

                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    +get_auto_stakes(coldkey_ss58, block=None)#
                                                                                                    +

                                                                                                    Fetches auto stake destinations for a given wallet across all subnets.

                                                                                                    +
                                                                                                    +
                                                                                                    Parameters:
                                                                                                    +
                                                                                                      +
                                                                                                    • coldkey_ss58 (str) – Coldkey ss58 address.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The block number for the query.

                                                                                                    • +
                                                                                                    +
                                                                                                    +
                                                                                                    Returns:
                                                                                                    +

                                                                                                      +
                                                                                                    • netuid: The unique identifier of the subnet.

                                                                                                    • +
                                                                                                    • hotkey: The hotkey of the wallet.

                                                                                                    • +
                                                                                                    +

                                                                                                    +
                                                                                                    +
                                                                                                    Return type:
                                                                                                    +

                                                                                                    dict[int, str]

                                                                                                    @@ -1211,13 +1226,11 @@

                                                                                                    Module Contents
                                                                                                    get_block_hash(block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves the hash of a specific block on the Bittensor blockchain. The block hash is a unique identifier

                                                                                                    representing the cryptographic hash of the block’s content, ensuring its integrity and immutability.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Retrieves the hash of a specific block on the Bittensor blockchain. The block hash is a unique identifier +representing the cryptographic hash of the block’s content, ensuring its integrity and immutability.

                                                                                                    Parameters:
                                                                                                    -

                                                                                                    block (int) – The block number for which the hash is to be retrieved.

                                                                                                    +

                                                                                                    block (Optional[int]) – The block number for which the hash is to be retrieved.

                                                                                                    Returns:

                                                                                                    The cryptographic hash of the specified block.

                                                                                                    @@ -1226,24 +1239,48 @@

                                                                                                    Module Contents

                                                                                                    str

                                                                                                    -
                                                                                                    -
                                                                                                    The block hash is a fundamental aspect of blockchain technology, providing a secure reference to each block’s

                                                                                                    data. It is crucial for verifying transactions, ensuring data consistency, and maintaining the -trustworthiness of the blockchain.

                                                                                                    +

                                                                                                    The block hash is a fundamental aspect of blockchain technology, providing a secure reference to each block’s +data. It is crucial for verifying transactions, ensuring data consistency, and maintaining the trustworthiness +of the blockchain.

                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    +get_block_info(block=None, block_hash=None)#
                                                                                                    +

                                                                                                    Retrieve complete information about a specific block from the Subtensor chain.

                                                                                                    +

                                                                                                    This method aggregates multiple low-level RPC calls into a single structured response, returning both the raw +on-chain data and high-level decoded metadata for the given block.

                                                                                                    +
                                                                                                    +
                                                                                                    Parameters:
                                                                                                    +
                                                                                                      +
                                                                                                    • block (Optional[int]) – The block number for which the hash is to be retrieved.

                                                                                                    • +
                                                                                                    • block_hash (Optional[str]) – The hash of the block to retrieve the block from.

                                                                                                    • +
                                                                                                    +
                                                                                                    +
                                                                                                    Returns:
                                                                                                    +

                                                                                                    A dataclass containing all available information about the specified block, including: +- number: The block number. +- hash: The corresponding block hash. +- timestamp: The timestamp of the block (based on the Timestamp.Now extrinsic). +- header: The raw block header returned by the node RPC. +- extrinsics: The list of decoded extrinsics included in the block. +- explorer: The link to block explorer service. Always related with finney block data.

                                                                                                    +
                                                                                                    +
                                                                                                    Return type:
                                                                                                    +

                                                                                                    BlockInfo instance

                                                                                                    -get_children(hotkey, netuid, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    This method retrieves the children of a given hotkey and netuid. It queries the SubtensorModule’s ChildKeys

                                                                                                    storage function to get the children and formats them before returning as a tuple.

                                                                                                    -
                                                                                                    -
                                                                                                    +get_children(hotkey_ss58, netuid, block=None)[source]# +

                                                                                                    This method retrieves the children of a given hotkey and netuid. It queries the SubtensorModule’s ChildKeys +storage function to get the children and formats them before returning as a tuple.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • hotkey (str) – The hotkey value.

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The hotkey value.

                                                                                                    • netuid (int) – The netuid value.

                                                                                                    • block (Optional[int]) – The block number for which the children are to be retrieved.

                                                                                                    @@ -1263,23 +1300,26 @@

                                                                                                    Module Contents
                                                                                                    -get_children_pending(hotkey, netuid, block=None)[source]#
                                                                                                    +get_children_pending(hotkey_ss58, netuid, block=None)[source]#

                                                                                                    This method retrieves the pending children of a given hotkey and netuid. It queries the SubtensorModule’s PendingChildKeys storage function.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • hotkey (str) – The hotkey value.

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The hotkey value.

                                                                                                    • netuid (int) – The netuid value.

                                                                                                    • block (Optional[int]) – The block number for which the children are to be retrieved.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    A list of children with their proportions. -int: The cool-down block number.

                                                                                                    +

                                                                                                      +
                                                                                                    • A list of children with their proportions.

                                                                                                    • +
                                                                                                    • The cool-down block number.

                                                                                                    • +
                                                                                                    +

                                                                                                    Return type:
                                                                                                    -

                                                                                                    list[tuple[float, str]]

                                                                                                    +

                                                                                                    tuple[list[tuple[float, str]], int]

                                                                                                    @@ -1293,8 +1333,7 @@

                                                                                                    Module Contents
                                                                                                    • netuid (int) – The unique identifier of the subnetwork.

                                                                                                    • uid (int) – The unique identifier of the neuron.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – The block number to retrieve the commitment from. If None, the latest block is used. -Default is None.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The block number to retrieve the commitment from. If None, the latest block is used.

                                                                                                    Returns:
                                                                                                    @@ -1307,86 +1346,44 @@

                                                                                                    Module Contents -
                                                                                                    -get_current_block()[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Returns the current block number on the Bittensor blockchain. This function provides the latest block number,

                                                                                                    indicating the most recent state of the blockchain.

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    Returns:
                                                                                                    -

                                                                                                    The current chain block number.

                                                                                                    -
                                                                                                    -
                                                                                                    Return type:
                                                                                                    -

                                                                                                    int

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    Knowing the current block number is essential for querying real-time data and performing time-sensitive

                                                                                                    operations on the blockchain. It serves as a reference point for network activities and data -synchronization.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    - -
                                                                                                    -
                                                                                                    -get_current_weight_commit_info(netuid, block=None)[source]#
                                                                                                    -

                                                                                                    Retrieves CRV3 weight commit information for a specific subnet.

                                                                                                    +
                                                                                                    +get_commitment_metadata(netuid, hotkey_ss58, block=None)#
                                                                                                    +

                                                                                                    Fetches raw commitment metadata from specific subnet for given hotkey.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • netuid (int) – The unique identifier of the subnet.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – The blockchain block number for the query. Default is None.

                                                                                                    • +
                                                                                                    • netuid (int) – The unique subnet identifier.

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The hotkey ss58 address.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The blockchain block number for the query.

                                                                                                    Returns:
                                                                                                    -

                                                                                                      -
                                                                                                    • -
                                                                                                      ss58_address: The address of the committer.
                                                                                                        -
                                                                                                      • commit_message: The commit message.

                                                                                                      • -
                                                                                                      • reveal_round: The round when the commitment was revealed.

                                                                                                      • -
                                                                                                      -
                                                                                                      -
                                                                                                      -
                                                                                                    • -
                                                                                                    -

                                                                                                    The list may be empty if there are no commits found.

                                                                                                    -

                                                                                                    +

                                                                                                    The raw commitment metadata from specific subnet for given hotkey.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    A list of commit details, where each item contains

                                                                                                    +

                                                                                                    Union[str, dict]

                                                                                                    -
                                                                                                    -get_current_weight_commit_info_v2(netuid, block=None)#
                                                                                                    -

                                                                                                    Retrieves CRV3 weight commit information for a specific subnet.

                                                                                                    +
                                                                                                    +get_current_block()[source]#
                                                                                                    +
                                                                                                    +
                                                                                                    Returns the current block number on the Bittensor blockchain. This function provides the latest block number,

                                                                                                    indicating the most recent state of the blockchain.

                                                                                                    +
                                                                                                    +
                                                                                                    -
                                                                                                    Parameters:
                                                                                                    -
                                                                                                      -
                                                                                                    • netuid (int) – The unique identifier of the subnet.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – The blockchain block number for the query. Default is None.

                                                                                                    • -
                                                                                                    +
                                                                                                    Returns:
                                                                                                    +

                                                                                                    The current chain block number.

                                                                                                    -
                                                                                                    Returns:
                                                                                                    -

                                                                                                      -
                                                                                                    • -
                                                                                                      ss58_address: The address of the committer.
                                                                                                        -
                                                                                                      • commit_block: The block number when the commitment was made.

                                                                                                      • -
                                                                                                      • commit_message: The commit message.

                                                                                                      • -
                                                                                                      • reveal_round: The round when the commitment was revealed.

                                                                                                      • -
                                                                                                      +
                                                                                                      Return type:
                                                                                                      +

                                                                                                      int

                                                                                                      -
                                                                                                    • -
                                                                                                    -

                                                                                                    The list may be empty if there are no commits found.

                                                                                                    -

                                                                                                    -
                                                                                                    -
                                                                                                    Return type:
                                                                                                    -

                                                                                                    A list of commit details, where each item contains

                                                                                                    +
                                                                                                    +
                                                                                                    Knowing the current block number is essential for querying real-time data and performing time-sensitive

                                                                                                    operations on the blockchain. It serves as a reference point for network activities and data +synchronization.

                                                                                                    @@ -1394,10 +1391,8 @@

                                                                                                    Module Contents
                                                                                                    get_delegate_by_hotkey(hotkey_ss58, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves detailed information about a delegate neuron based on its hotkey. This function provides a

                                                                                                    comprehensive view of the delegate’s status, including its stakes, nominators, and reward distribution.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Retrieves detailed information about a delegate neuron based on its hotkey. This function provides a +comprehensive view of the delegate’s status, including its stakes, nominators, and reward distribution.

                                                                                                    Parameters:
                                                                                                    Return type:
                                                                                                    -

                                                                                                    Optional[DelegateInfo]

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    This function is essential for understanding the roles and influence of delegate neurons within the Bittensor

                                                                                                    network’s consensus and governance structures.

                                                                                                    +

                                                                                                    Optional[bittensor.core.chain_data.DelegateInfo]

                                                                                                    +

                                                                                                    This function is essential for understanding the roles and influence of delegate neurons within the Bittensor +network’s consensus and governance structures.

                                                                                                    @@ -1438,10 +1431,8 @@

                                                                                                    Module Contents
                                                                                                    get_delegate_take(hotkey_ss58, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves the delegate ‘take’ percentage for a neuron identified by its hotkey. The ‘take’ represents the

                                                                                                    percentage of rewards that the delegate claims from its nominators’ stakes.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Retrieves the delegate ‘take’ percentage for a neuron identified by its hotkey. The ‘take’ represents the +percentage of rewards that the delegate claims from its nominators’ stakes.

                                                                                                    Parameters:
                                                                                                      @@ -1456,10 +1447,8 @@

                                                                                                      Module Contents

                                                                                                      float

                                                                                                    -
                                                                                                    -
                                                                                                    The delegate take is a critical parameter in the network’s incentive structure, influencing the distribution of

                                                                                                    rewards among neurons and their nominators.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    The delegate take is a critical parameter in the network’s incentive structure, influencing the distribution of +rewards among neurons and their nominators.

                                                                                                    @@ -1481,10 +1470,8 @@

                                                                                                    Module Contents

                                                                                                    list[bittensor.core.chain_data.DelegatedInfo]

                                                                                                    -
                                                                                                    -
                                                                                                    This function is important for account holders to understand their stake allocations and their involvement in

                                                                                                    the network’s delegation and consensus mechanisms.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    This function is important for account holders to understand their stake allocations and their involvement in +the network’s delegation and consensus mechanisms.

                                                                                                    @@ -1521,20 +1508,37 @@

                                                                                                    Module Contents

                                                                                                    Optional[bittensor.utils.balance.Balance]

                                                                                                    -
                                                                                                    -
                                                                                                    The existential deposit is a fundamental economic parameter in the Bittensor network, ensuring efficient use of

                                                                                                    storage and preventing the proliferation of dust accounts.

                                                                                                    +

                                                                                                    The existential deposit is a fundamental economic parameter in the Bittensor network, ensuring efficient use of +storage and preventing the proliferation of dust accounts.

                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    +get_extrinsic_fee(call, keypair)#
                                                                                                    +

                                                                                                    Get extrinsic fee for a given extrinsic call and keypair for a given SN’s netuid.

                                                                                                    +
                                                                                                    +
                                                                                                    Parameters:
                                                                                                    +
                                                                                                      +
                                                                                                    • call (scalecodec.types.GenericCall) – The extrinsic GenericCall.

                                                                                                    • +
                                                                                                    • keypair (bittensor_wallet.Keypair) – The keypair associated with the extrinsic.

                                                                                                    • +
                                                                                                    +
                                                                                                    +
                                                                                                    Returns:
                                                                                                    +

                                                                                                    Balance object representing the extrinsic fee in RAO.

                                                                                                    +
                                                                                                    +

                                                                                                    Note

                                                                                                    +

                                                                                                    To create the GenericCall object use compose_call method with proper parameters.

                                                                                                    +
                                                                                                    get_hotkey_owner(hotkey_ss58, block=None)[source]#

                                                                                                    Retrieves the owner of the given hotkey at a specific block hash. -This function queries the blockchain for the owner of the provided hotkey. If the hotkey does not exist at the

                                                                                                    -
                                                                                                    -

                                                                                                    specified block hash, it returns None.

                                                                                                    -
                                                                                                    +This function queries the blockchain for the owner of the provided hotkey. If the hotkey does not exist at the +specified block hash, it returns None.

                                                                                                    Parameters:
                                                                                                      @@ -1577,15 +1581,37 @@

                                                                                                      Module Contents +
                                                                                                      +get_last_bonds_reset(netuid, hotkey_ss58, block=None)#
                                                                                                      +

                                                                                                      Retrieves the last bonds reset triggered at commitment from given subnet for a specific hotkey.

                                                                                                      +
                                                                                                      +
                                                                                                      Parameters:
                                                                                                      +
                                                                                                        +
                                                                                                      • netuid (int) – The network uid to fetch from.

                                                                                                      • +
                                                                                                      • hotkey_ss58 (str) – The hotkey of the neuron for which to fetch the last bonds reset.

                                                                                                      • +
                                                                                                      • block (Optional[int]) – The block number to query.

                                                                                                      • +
                                                                                                      +
                                                                                                      +
                                                                                                      Returns:
                                                                                                      +

                                                                                                      The last bonds reset data from given subnet for the specified hotkey.

                                                                                                      +
                                                                                                      +
                                                                                                      Return type:
                                                                                                      +

                                                                                                      bytes

                                                                                                      +
                                                                                                      +
                                                                                                      +

                                                                                                    +
                                                                                                    -get_last_commitment_bonds_reset_block(netuid, uid)[source]#
                                                                                                    +get_last_commitment_bonds_reset_block(netuid, uid, block=None)[source]#

                                                                                                    Retrieves the last block number when the bonds reset were triggered by publish_metadata for a specific neuron.

                                                                                                    Parameters:
                                                                                                    • netuid (int) – The unique identifier of the subnetwork.

                                                                                                    • uid (int) – The unique identifier of the neuron.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The block number to query.

                                                                                                    Returns:
                                                                                                    @@ -1662,16 +1688,16 @@

                                                                                                    Module Contents
                                                                                                    -get_metagraph_info(netuid, field_indices=None, block=None, mechid=0)[source]#
                                                                                                    +get_metagraph_info(netuid, mechid=0, selected_indices=None, block=None)[source]#

                                                                                                    Retrieves full or partial metagraph information for the specified subnet mechanism (netuid, mechid).

                                                                                                    Parameters:
                                                                                                    • netuid (int) – Subnet unique identifier.

                                                                                                    • -
                                                                                                    • field_indices (Optional[Union[list[bittensor.core.chain_data.SelectiveMetagraphIndex], list[int]]]) – Optional list of SelectiveMetagraphIndex or int values specifying which fields to retrieve. +

                                                                                                    • mechid (int) – Subnet mechanism unique identifier.

                                                                                                    • +
                                                                                                    • selected_indices (Optional[Union[list[bittensor.core.chain_data.SelectiveMetagraphIndex], list[int]]]) – Optional list of SelectiveMetagraphIndex or int values specifying which fields to retrieve. If not provided, all available fields will be returned.

                                                                                                    • block (Optional[int]) – The block number at which to query the data.

                                                                                                    • -
                                                                                                    • mechid (int) – Subnet mechanism unique identifier.

                                                                                                    Returns:
                                                                                                    @@ -1691,7 +1717,7 @@

                                                                                                    Module Contents
                                                                                                    -get_neuron_certificate(hotkey, netuid, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves the TLS certificate for a specific neuron identified by its unique identifier (UID) within a

                                                                                                    specified subnet (netuid) of the Bittensor network.

                                                                                                    -
                                                                                                    -
                                                                                                    +get_neuron_certificate(hotkey_ss58, netuid, block=None)[source]# +

                                                                                                    Retrieves the TLS certificate for a specific neuron identified by its unique identifier (UID) within a specified +subnet (netuid) of the Bittensor network.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • hotkey (str) – The hotkey to query.

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The hotkey to query.

                                                                                                    • netuid (int) – The unique identifier of the subnet.

                                                                                                    • block (Optional[int]) – The blockchain block number for the query.

                                                                                                    @@ -1776,11 +1800,9 @@

                                                                                                    Module Contents
                                                                                                    get_neuron_for_pubkey_and_subnet(hotkey_ss58, netuid, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves information about a neuron based on its public key (hotkey SS58 address) and the specific subnet UID

                                                                                                    (netuid). This function provides detailed neuron information for a particular subnet within the Bittensor +

                                                                                                    Retrieves information about a neuron based on its public key (hotkey SS58 address) and the specific subnet UID +(netuid). This function provides detailed neuron information for a particular subnet within the Bittensor network.

                                                                                                    -
                                                                                                    -
                                                                                                    Parameters:
                                                                                                    -
                                                                                                    -
                                                                                                    This function is crucial for accessing specific neuron data and understanding its status, stake, and other

                                                                                                    attributes within a particular subnet of the Bittensor ecosystem.

                                                                                                    +

                                                                                                    Optional

                                                                                                    +

                                                                                                    This function is crucial for accessing specific neuron data and understanding its status, stake, and other +attributes within a particular subnet of the Bittensor ecosystem.

                                                                                                    @@ -1817,8 +1833,7 @@

                                                                                                    Module ContentsParameters:
                                                                                                    • netuid (int) – The unique identifier of the subnet.

                                                                                                    • -
                                                                                                    • block (Optional[int], optional) – The reference block to calculate from. -If None, uses the current chain block height.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The reference block to calculate from. If None, uses the current chain block height.

                                                                                                    Returns:
                                                                                                    @@ -1832,14 +1847,13 @@

                                                                                                    Module Contents
                                                                                                    -get_owned_hotkeys(coldkey_ss58, block=None, reuse_block=False)[source]#
                                                                                                    +get_owned_hotkeys(coldkey_ss58, block=None)[source]#

                                                                                                    Retrieves all hotkeys owned by a specific coldkey address.

                                                                                                    Parameters:
                                                                                                    • coldkey_ss58 (str) – The SS58 address of the coldkey to query.

                                                                                                    • -
                                                                                                    • block (int) – The blockchain block number for the query.

                                                                                                    • -
                                                                                                    • reuse_block (bool) – Whether to reuse the last-used blockchain block hash.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The blockchain block number for the query.

                                                                                                    Returns:
                                                                                                    @@ -1853,15 +1867,13 @@

                                                                                                    Module Contents
                                                                                                    -get_parents(hotkey, netuid, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    This method retrieves the parent of a given hotkey and netuid. It queries the SubtensorModule’s ParentKeys

                                                                                                    storage function to get the children and formats them before returning as a tuple.

                                                                                                    -
                                                                                                    -
                                                                                                    +get_parents(hotkey_ss58, netuid, block=None)[source]# +

                                                                                                    This method retrieves the parent of a given hotkey and netuid. It queries the SubtensorModule’s ParentKeys +storage function to get the children and formats them before returning as a tuple.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • hotkey (str) – The child hotkey SS58.

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The child hotkey SS58.

                                                                                                    • netuid (int) – The netuid.

                                                                                                    • block (Optional[int]) – The block number for which the children are to be retrieved.

                                                                                                    @@ -1884,14 +1896,14 @@

                                                                                                    Module Contents
                                                                                                    • netuid (int) – The unique identifier of the subnetwork.

                                                                                                    • uid (int) – The neuron uid to retrieve the commitment from.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – The block number to retrieve the commitment from. Default is None.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The block number to retrieve the commitment from.

                                                                                                    Returns:

                                                                                                    A tuple of reveal block and commitment message.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    result (Optional[tuple[int, str]]

                                                                                                    +

                                                                                                    Optional[tuple[tuple[int, str], Ellipsis]]

                                                                                                    @@ -1903,21 +1915,21 @@

                                                                                                    Module Contents
                                                                                                    -get_revealed_commitment_by_hotkey(netuid, hotkey_ss58_address, block=None)[source]#
                                                                                                    -

                                                                                                    Returns hotkey related revealed commitment for a given netuid.

                                                                                                    +get_revealed_commitment_by_hotkey(netuid, hotkey_ss58, block=None)[source]# +

                                                                                                    Retrieves hotkey related revealed commitment for a given subnet.

                                                                                                    Parameters:
                                                                                                    • netuid (int) – The unique identifier of the subnetwork.

                                                                                                    • -
                                                                                                    • hotkey_ss58_address (str) – The ss58 address of the committee member.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – The block number to retrieve the commitment from. Default is None.

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The ss58 address of the committee member.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The block number to retrieve the commitment from.

                                                                                                    Returns:

                                                                                                    A tuple of reveal block and commitment message.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    result (tuple[int, str)

                                                                                                    +

                                                                                                    Optional[tuple[tuple[int, str], Ellipsis]]

                                                                                                    @@ -1933,8 +1945,7 @@

                                                                                                    Module Contentsstr) – The SS58 address of the coldkey that delegated the stake. This address owns the stake.

                                                                                                  • hotkey_ss58 (str) – The ss58 address of the hotkey which the stake is on.

                                                                                                  • netuid (int) – The unique identifier of the subnet to query.

                                                                                                  • -
                                                                                                  • block (Optional[int]) – The specific block number at which to retrieve the stake information. If None, the current stake at -the latest block is returned. Defaults to None.

                                                                                                  • +
                                                                                                  • block (Optional[int]) – The specific block number at which to retrieve the stake information.

                                                                                                  • Returns:
                                                                                                    @@ -1952,20 +1963,18 @@

                                                                                                    Module Contents
                                                                                                    -get_stake_add_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block=None)[source]#
                                                                                                    +get_stake_add_fee(amount, netuid, block=None)[source]#

                                                                                                    Calculates the fee for adding new stake to a hotkey.

                                                                                                    Parameters:
                                                                                                    • amount (bittensor.utils.balance.Balance) – Amount of stake to add in TAO

                                                                                                    • netuid (int) – Netuid of subnet

                                                                                                    • -
                                                                                                    • coldkey_ss58 (str) – SS58 address of coldkey

                                                                                                    • -
                                                                                                    • hotkey_ss58 (str) – SS58 address of hotkey

                                                                                                    • block (Optional[int]) – Block number at which to perform the calculation

                                                                                                    Returns:
                                                                                                    -

                                                                                                    The calculated stake fee as a Balance object

                                                                                                    +

                                                                                                    The calculated stake fee as a Balance object in TAO.

                                                                                                    Return type:

                                                                                                    bittensor.utils.balance.Balance

                                                                                                    @@ -1973,26 +1982,6 @@

                                                                                                    Module Contents -
                                                                                                    -get_stake_for_coldkey(coldkey_ss58, block=None)[source]#
                                                                                                    -

                                                                                                    Retrieves the stake information for a given coldkey.

                                                                                                    -
                                                                                                    -
                                                                                                    Parameters:
                                                                                                    -
                                                                                                      -
                                                                                                    • coldkey_ss58 (str) – The SS58 address of the coldkey.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – The block number at which to query the stake information.

                                                                                                    • -
                                                                                                    -
                                                                                                    -
                                                                                                    Returns:
                                                                                                    -

                                                                                                    A list of StakeInfo objects, or None if no stake information is found.

                                                                                                    -
                                                                                                    -
                                                                                                    Return type:
                                                                                                    -

                                                                                                    Optional[list[StakeInfo]]

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    -
                                                                                                    get_stake_for_coldkey_and_hotkey(coldkey_ss58, hotkey_ss58, netuids=None, block=None)[source]#
                                                                                                    @@ -2002,7 +1991,7 @@

                                                                                                    Module Contents
                                                                                                    • coldkey_ss58 (str) – The SS58 address of the coldkey.

                                                                                                    • hotkey_ss58 (str) – The SS58 address of the hotkey.

                                                                                                    • -
                                                                                                    • netuids (Optional[list[int]]) – The subnet IDs to query for. Set to None for all subnets.

                                                                                                    • +
                                                                                                    • netuids (Optional[bittensor.core.types.UIDs]) – The subnet IDs to query for. Set to None for all subnets.

                                                                                                    • block (Optional[int]) – The block number at which to query the stake information.

                                                                                                    @@ -2024,8 +2013,7 @@

                                                                                                    Module Contents
                                                                                                    • hotkey_ss58 (str) – The SS58 address of the hotkey.

                                                                                                    • netuid (int) – The subnet ID to query for.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – The block number at which to query the stake information. Do not specify if also specifying -block_hash or reuse_block

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The block number at which to query the stake information.

                                                                                                    Return type:
                                                                                                    @@ -2034,37 +2022,37 @@

                                                                                                    Module Contents +
                                                                                                    -get_stake_info_for_coldkey#
                                                                                                    -
                                                                                                    +get_stake_info_for_coldkey(coldkey_ss58, block=None)# +

                                                                                                    Retrieves the stake information for a given coldkey.

                                                                                                    +
                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • coldkey_ss58 (str)

                                                                                                    • -
                                                                                                    • block (Optional[int])

                                                                                                    • +
                                                                                                    • coldkey_ss58 (str) – The SS58 address of the coldkey.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The block number at which to query the stake information.

                                                                                                    -
                                                                                                    Return type:
                                                                                                    -

                                                                                                    list[bittensor.core.chain_data.StakeInfo]

                                                                                                    +
                                                                                                    Returns:
                                                                                                    +

                                                                                                    An optional list of StakeInfo objects, or None if no stake information is found.

                                                                                                    +
                                                                                                    +
                                                                                                    Return type:
                                                                                                    +

                                                                                                    list[bittensor.core.chain_data.StakeInfo]

                                                                                                    -get_stake_movement_fee(amount, origin_netuid, origin_hotkey_ss58, origin_coldkey_ss58, destination_netuid, destination_hotkey_ss58, destination_coldkey_ss58, block=None)[source]#
                                                                                                    +get_stake_movement_fee(origin_netuid, destination_netuid, amount, block=None)[source]#

                                                                                                    Calculates the fee for moving stake between hotkeys/subnets/coldkeys.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • amount (bittensor.utils.balance.Balance) – Amount of stake to move in TAO

                                                                                                    • -
                                                                                                    • origin_netuid (int) – Netuid of origin subnet

                                                                                                    • -
                                                                                                    • origin_hotkey_ss58 (str) – SS58 address of origin hotkey

                                                                                                    • -
                                                                                                    • origin_coldkey_ss58 (str) – SS58 address of origin coldkey

                                                                                                    • -
                                                                                                    • destination_netuid (int) – Netuid of destination subnet

                                                                                                    • -
                                                                                                    • destination_hotkey_ss58 (str) – SS58 address of destination hotkey

                                                                                                    • -
                                                                                                    • destination_coldkey_ss58 (str) – SS58 address of destination coldkey

                                                                                                    • -
                                                                                                    • block (Optional[int]) – Block number at which to perform the calculation

                                                                                                    • +
                                                                                                    • origin_netuid (int) – Netuid of source subnet.

                                                                                                    • +
                                                                                                    • destination_netuid (int) – Netuid of the destination subnet.

                                                                                                    • +
                                                                                                    • amount (bittensor.utils.balance.Balance) – Amount of stake to move.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The block number for which the children are to be retrieved.

                                                                                                    Returns:
                                                                                                    @@ -2076,24 +2064,6 @@

                                                                                                    Module Contents -
                                                                                                    -get_stake_operations_fee(amount, netuid, block=None)[source]#
                                                                                                    -

                                                                                                    Returns fee for any stake operation in specified subnet.

                                                                                                    -
                                                                                                    -
                                                                                                    Parameters:
                                                                                                    -
                                                                                                      -
                                                                                                    • amount (bittensor.utils.balance.Balance) – Amount of stake to add in Alpha/TAO.

                                                                                                    • -
                                                                                                    • netuid (int) – Netuid of subnet.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – Block number at which to perform the calculation.

                                                                                                    • -
                                                                                                    -
                                                                                                    -
                                                                                                    Returns:
                                                                                                    -

                                                                                                    The calculated stake fee as a Balance object.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    -
                                                                                                    get_stake_weight(netuid, block=None)#
                                                                                                    @@ -2117,10 +2087,8 @@

                                                                                                    Module Contents
                                                                                                    get_subnet_burn_cost(block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves the burn cost for registering a new subnet within the Bittensor network. This cost represents the

                                                                                                    amount of Tao that needs to be locked or burned to establish a new subnet.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Retrieves the burn cost for registering a new subnet within the Bittensor network. This cost represents the +amount of Tao that needs to be locked or burned to establish a new subnet.

                                                                                                    Parameters:

                                                                                                    block (Optional[int]) – The blockchain block number for the query.

                                                                                                    @@ -2132,19 +2100,15 @@

                                                                                                    Module Contents

                                                                                                    int

                                                                                                    -
                                                                                                    -
                                                                                                    The subnet burn cost is an important economic parameter, reflecting the network’s mechanisms for controlling

                                                                                                    the proliferation of subnets and ensuring their commitment to the network’s long-term viability.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    The subnet burn cost is an important economic parameter, reflecting the network’s mechanisms for controlling the +proliferation of subnets and ensuring their commitment to the network’s long-term viability.

                                                                                                    get_subnet_hyperparameters(netuid, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves the hyperparameters for a specific subnet within the Bittensor network. These hyperparameters define

                                                                                                    the operational settings and rules governing the subnet’s behavior.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Retrieves the hyperparameters for a specific subnet within the Bittensor network. These hyperparameters define +the operational settings and rules governing the subnet’s behavior.

                                                                                                    Parameters:
                                                                                                      @@ -2159,10 +2123,8 @@

                                                                                                      Module Contents

                                                                                                      Optional[Union[list, bittensor.core.chain_data.SubnetHyperparameters]]

                                                                                                    -
                                                                                                    -
                                                                                                    Understanding the hyperparameters is crucial for comprehending how subnets are configured and managed, and how

                                                                                                    they interact with the network’s consensus and incentive mechanisms.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Understanding the hyperparameters is crucial for comprehending how subnets are configured and managed, and how +they interact with the network’s consensus and incentive mechanisms.

                                                                                                    @@ -2184,10 +2146,8 @@

                                                                                                    Module Contents

                                                                                                    SubnetInfo

                                                                                                    -
                                                                                                    -
                                                                                                    Gaining insights into the subnet’s details assists in understanding the network’s composition, the roles of

                                                                                                    different subnets, and their unique features.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Gaining insights into the subnet’s details assists in understanding the network’s composition, the roles of +different subnets, and their unique features.

                                                                                                    @@ -2238,7 +2198,7 @@

                                                                                                    Module Contents
                                                                                                    Parameters:
                                                                                                    -

                                                                                                    block (Optional[int]) – The blockchain block number for the query. Default to None.

                                                                                                    +

                                                                                                    block (Optional[int]) – The blockchain block number for the query.

                                                                                                    Returns:

                                                                                                      @@ -2290,35 +2250,16 @@

                                                                                                      Module Contents -
                                                                                                      -get_subnets(block=None)[source]#
                                                                                                      -

                                                                                                      Retrieves the list of all subnet unique identifiers (netuids) currently present in the Bittensor network.

                                                                                                      -
                                                                                                      -
                                                                                                      Parameters:
                                                                                                      -

                                                                                                      block (Optional[int]) – The blockchain block number for the query.

                                                                                                      -
                                                                                                      -
                                                                                                      Returns:
                                                                                                      -

                                                                                                      A list of subnet netuids.

                                                                                                      -
                                                                                                      -
                                                                                                      Return type:
                                                                                                      -

                                                                                                      bittensor.core.types.UIDs

                                                                                                      -
                                                                                                      -
                                                                                                      -

                                                                                                      This function provides a comprehensive view of the subnets within the Bittensor network, -offering insights into its diversity and scale.

                                                                                                      -

                                                                                                    -
                                                                                                    -get_timelocked_weight_commits(netuid, block=None, mechid=0)#
                                                                                                    +get_timelocked_weight_commits(netuid, mechid=0, block=None)#

                                                                                                    Retrieves CRv4 weight commit information for a specific subnet.

                                                                                                    Parameters:
                                                                                                    • netuid (int) – Subnet identifier.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – The blockchain block number for the query. Default is None.

                                                                                                    • mechid (int) – Subnet mechanism identifier.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The blockchain block number for the query.

                                                                                                    Returns:
                                                                                                    @@ -2371,50 +2312,39 @@

                                                                                                    Module Contents

                                                                                                    The total number of subnets in the network.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    Optional[str]

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    Understanding the total number of subnets is essential for assessing the network’s growth and the extent of its

                                                                                                    decentralized infrastructure.

                                                                                                    +

                                                                                                    Optional[int]

                                                                                                    +

                                                                                                    Understanding the total number of subnets is essential for assessing the network’s growth and the extent of its +decentralized infrastructure.

                                                                                                    -get_transfer_fee(wallet, dest, value, keep_alive=True)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Calculates the transaction fee for transferring tokens from a wallet to a specified destination address. This

                                                                                                    function simulates the transfer to estimate the associated cost, taking into account the current network +get_transfer_fee(wallet, destination_ss58, amount, keep_alive=True)[source]# +

                                                                                                    Calculates the transaction fee for transferring tokens from a wallet to a specified destination address. This +function simulates the transfer to estimate the associated cost, taking into account the current network conditions and transaction complexity.

                                                                                                    -
                                                                                                    -
                                                                                                    Parameters:
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet from which the transfer is initiated.

                                                                                                    • -
                                                                                                    • dest (str) – The SS58 address of the destination account.

                                                                                                    • -
                                                                                                    • value (Union[bittensor.utils.balance.Balance, float, int]) – The amount of tokens to be transferred, -specified as a Balance object, or in Tao (float) or Rao (int) units.

                                                                                                    • +
                                                                                                    • destination_ss58 (str) – The SS58 address of the destination account.

                                                                                                    • +
                                                                                                    • amount (Optional[bittensor.utils.balance.Balance]) – The amount of tokens to be transferred, specified as a Balance object, or in Tao or Rao units.

                                                                                                    • keep_alive (bool) – Whether the transfer fee should be calculated based on keeping the wallet alive (existential deposit) or not.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    -
                                                                                                    The estimated transaction fee for the transfer, represented as a Balance

                                                                                                    object.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    The estimated transaction fee for the transfer, represented as a Balance object.

                                                                                                    Return type:

                                                                                                    bittensor.utils.balance.Balance

                                                                                                    -
                                                                                                    -
                                                                                                    Estimating the transfer fee is essential for planning and executing token transactions, ensuring that the wallet

                                                                                                    has sufficient funds to cover both the transfer amount and the associated costs. This function provides a +

                                                                                                    Estimating the transfer fee is essential for planning and executing token transactions, ensuring that the wallet +has sufficient funds to cover both the transfer amount and the associated costs. This function provides a crucial tool for managing financial operations within the Bittensor network.

                                                                                                    -
                                                                                                    -
                                                                                                    @@ -2436,28 +2366,24 @@

                                                                                                    Module Contents

                                                                                                    Optional[int]

                                                                                                    -
                                                                                                    -
                                                                                                    The UID is a critical identifier within the network, linking the neuron’s hotkey to its operational and

                                                                                                    governance activities on a particular subnet.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    The UID is a critical identifier within the network, linking the neuron’s hotkey to its operational and +governance activities on a particular subnet.

                                                                                                    -get_unstake_fee(amount, netuid, coldkey_ss58, hotkey_ss58, block=None)[source]#
                                                                                                    +get_unstake_fee(netuid, amount, block=None)[source]#

                                                                                                    Calculates the fee for unstaking from a hotkey.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • amount (bittensor.utils.balance.Balance) – Amount of stake to unstake in TAO

                                                                                                    • -
                                                                                                    • netuid (int) – Netuid of subnet

                                                                                                    • -
                                                                                                    • coldkey_ss58 (str) – SS58 address of coldkey

                                                                                                    • -
                                                                                                    • hotkey_ss58 (str) – SS58 address of hotkey

                                                                                                    • -
                                                                                                    • block (Optional[int]) – Block number at which to perform the calculation

                                                                                                    • +
                                                                                                    • netuid (int) – The unique identifier of the subnet.

                                                                                                    • +
                                                                                                    • amount (bittensor.utils.balance.Balance) – Amount of stake to unstake in TAO.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – Block number at which to perform the calculation.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    The calculated stake fee as a Balance object

                                                                                                    +

                                                                                                    The calculated stake fee as a Balance object in Alpha.

                                                                                                    Return type:

                                                                                                    bittensor.utils.balance.Balance

                                                                                                    @@ -2468,10 +2394,8 @@

                                                                                                    Module Contents
                                                                                                    get_vote_data(proposal_hash, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves the voting data for a specific proposal on the Bittensor blockchain. This data includes information

                                                                                                    about how senate members have voted on the proposal.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Retrieves the voting data for a specific proposal on the Bittensor blockchain. This data includes information +about how senate members have voted on the proposal.

                                                                                                    Parameters:
                                                                                                    -
                                                                                                    -
                                                                                                    This function is important for tracking and understanding the decision-making processes within the Bittensor

                                                                                                    network, particularly how proposals are received and acted upon by the governing body.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    This function is important for tracking and understanding the decision-making processes within the Bittensor +network, particularly how proposals are received and acted upon by the governing body.

                                                                                                    immunity_period(netuid, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves the ‘ImmunityPeriod’ hyperparameter for a specific subnet. This parameter defines the duration during

                                                                                                    which new neurons are protected from certain network penalties or restrictions.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Retrieves the ‘ImmunityPeriod’ hyperparameter for a specific subnet. This parameter defines the duration during +which new neurons are protected from certain network penalties or restrictions.

                                                                                                    Parameters:
                                                                                                    -
                                                                                                    -
                                                                                                    The ‘ImmunityPeriod’ is a critical aspect of the network’s governance system, ensuring that new participants

                                                                                                    have a grace period to establish themselves and contribute to the network without facing immediate -punitive actions.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    The ‘ImmunityPeriod’ is a critical aspect of the network’s governance system, ensuring that new participants +have a grace period to establish themselves and contribute to the network without facing immediate punitive +actions.

                                                                                                    @@ -2529,10 +2447,8 @@

                                                                                                    Module Contents
                                                                                                    is_hotkey_delegate(hotkey_ss58, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Determines whether a given hotkey (public key) is a delegate on the Bittensor network. This function checks if

                                                                                                    the neuron associated with the hotkey is part of the network’s delegation system.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Determines whether a given hotkey (public key) is a delegate on the Bittensor network. This function checks if +the neuron associated with the hotkey is part of the network’s delegation system.

                                                                                                    Parameters:
                                                                                                      @@ -2547,27 +2463,22 @@

                                                                                                      Module Contents

                                                                                                      bool

                                                                                                    -
                                                                                                    -
                                                                                                    Being a delegate is a significant status within the Bittensor network, indicating a neuron’s involvement in

                                                                                                    consensus and governance processes.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Being a delegate is a significant status within the Bittensor network, indicating a neuron’s involvement in +consensus and governance processes.

                                                                                                    is_hotkey_registered(hotkey_ss58, netuid=None, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Determines whether a given hotkey (public key) is registered in the Bittensor network, either globally across

                                                                                                    any subnet or specifically on a specified subnet. This function checks the registration status of a neuron -identified by its hotkey, which is crucial for validating its participation and activities within the -network.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Determines whether a given hotkey (public key) is registered in the Bittensor network, either globally across +any subnet or specifically on a specified subnet. This function checks the registration status of a neuron +identified by its hotkey, which is crucial for validating its participation and activities within the network.

                                                                                                    Parameters:
                                                                                                    • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

                                                                                                    • -
                                                                                                    • netuid (Optional[int]) – The unique identifier of the subnet to check the registration. If None, the -registration is checked across all subnets.

                                                                                                    • +
                                                                                                    • netuid (Optional[int]) – The unique identifier of the subnet to check the registration. If None, the registration is +checked across all subnets.

                                                                                                    • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                    @@ -2582,11 +2493,9 @@

                                                                                                    Module Contents

                                                                                                    bool

                                                                                                    -
                                                                                                    -
                                                                                                    This function is important for verifying the active status of neurons in the Bittensor network. It aids in

                                                                                                    understanding whether a neuron is eligible to participate in network processes such as consensus, -validation, and incentive distribution based on its registration status.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    This function is important for verifying the active status of neurons in the Bittensor network. It aids in +understanding whether a neuron is eligible to participate in network processes such as consensus, validation, +and incentive distribution based on its registration status.

                                                                                                    @@ -2702,11 +2611,8 @@

                                                                                                    Module ContentsReturns: -

                                                                                                    -
                                                                                                    The value of the MaxWeightsLimit hyperparameter, or None if the subnetwork does not

                                                                                                    exist or the parameter is not found.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    The value of the MaxWeightsLimit hyperparameter, or None if the subnetwork does not exist or the +parameter is not found.

                                                                                                    Return type:

                                                                                                    Optional[float]

                                                                                                    @@ -2716,16 +2622,16 @@

                                                                                                    Module Contents
                                                                                                    -metagraph(netuid, lite=True, block=None, mechid=0)[source]#
                                                                                                    +metagraph(netuid, mechid=0, lite=True, block=None)[source]#

                                                                                                    Returns a synced metagraph for a specified subnet within the Bittensor network. The metagraph represents the network’s structure, including neuron connections and interactions.

                                                                                                    Parameters:
                                                                                                    • netuid (int) – The network UID of the subnet to query.

                                                                                                    • +
                                                                                                    • mechid (int) – Subnet mechanism identifier.

                                                                                                    • lite (bool) – If true, returns a metagraph using a lightweight sync (no weights, no bonds).

                                                                                                    • block (Optional[int]) – Block number for synchronization, or None for the latest block.

                                                                                                    • -
                                                                                                    • mechid (int) – Subnet mechanism identifier.

                                                                                                    Returns:
                                                                                                    @@ -2751,11 +2657,8 @@

                                                                                                    Module ContentsReturns: -

                                                                                                    -
                                                                                                    The value of the MinAllowedWeights hyperparameter, or None if the subnetwork does not

                                                                                                    exist or the parameter is not found.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    The value of the MinAllowedWeights hyperparameter, or None if the subnetwork does not exist or the +parameter is not found.

                                                                                                    Return type:

                                                                                                    Optional[int]

                                                                                                    @@ -2765,7 +2668,7 @@

                                                                                                    Module Contents
                                                                                                    -modify_liquidity(wallet, netuid, position_id, liquidity_delta, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                    +modify_liquidity(wallet, netuid, position_id, liquidity_delta, hotkey_ss58=None, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Modifies liquidity in liquidity position by adding or removing liquidity from it.

                                                                                                    Parameters:
                                                                                                    @@ -2774,24 +2677,20 @@

                                                                                                    Module Contentsint) – The UID of the target subnet for which the call is being initiated.

                                                                                                  • position_id (int) – The id of the position record in the pool.

                                                                                                  • liquidity_delta (bittensor.utils.balance.Balance) – The amount of liquidity to be added or removed (add if positive or remove if negative).

                                                                                                  • -
                                                                                                  • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to -None.

                                                                                                  • -
                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

                                                                                                  • -
                                                                                                  • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

                                                                                                  • +
                                                                                                  • hotkey_ss58 (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used.

                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                  • +
                                                                                                  • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                  • +
                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block.

                                                                                                  • +
                                                                                                  • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic.

                                                                                                  • Returns:
                                                                                                    -

                                                                                                      -
                                                                                                    • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                    • -
                                                                                                    • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                    • -
                                                                                                    -

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    Tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    +

                                                                                                    Note: Modifying is allowed even when user liquidity is enabled in specified subnet. Call toggle_user_liquidity +to enable/disable user liquidity.

                                                                                                    -move_stake(wallet, origin_hotkey, origin_netuid, destination_hotkey, destination_netuid, amount=None, wait_for_inclusion=True, wait_for_finalization=False, period=None, move_all_stake=False)[source]#
                                                                                                    +move_stake(wallet, origin_netuid, origin_hotkey_ss58, destination_netuid, destination_hotkey_ss58, amount=None, move_all_stake=False, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Moves stake to a different hotkey and/or subnet.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • wallet (bittensor.wallet) – The wallet to move stake from.

                                                                                                    • -
                                                                                                    • origin_hotkey (str) – The SS58 address of the source hotkey.

                                                                                                    • +
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet to move stake from.

                                                                                                    • origin_netuid (int) – The netuid of the source subnet.

                                                                                                    • -
                                                                                                    • destination_hotkey (str) – The SS58 address of the destination hotkey.

                                                                                                    • +
                                                                                                    • origin_hotkey_ss58 (str) – The SS58 address of the source hotkey.

                                                                                                    • destination_netuid (int) – The netuid of the destination subnet.

                                                                                                    • -
                                                                                                    • amount (Balance) – Amount of stake to move.

                                                                                                    • +
                                                                                                    • destination_hotkey_ss58 (str) – The SS58 address of the destination hotkey.

                                                                                                    • +
                                                                                                    • amount (Optional[bittensor.utils.balance.Balance]) – Amount of stake to move.

                                                                                                    • +
                                                                                                    • move_all_stake (bool) – If true, moves all stake from the source hotkey to the destination hotkey.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • -
                                                                                                    • move_all_stake (bool) – If true, moves all stake from the source hotkey to the destination hotkey.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the stake movement was successful.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    success (bool)

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    @@ -2859,11 +2757,9 @@

                                                                                                    Module Contents
                                                                                                    neuron_for_uid(uid, netuid, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves detailed information about a specific neuron identified by its unique identifier (UID) within a

                                                                                                    specified subnet (netuid) of the Bittensor network. This function provides a comprehensive view of a -neuron’s attributes, including its stake, rank, and operational status.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Retrieves detailed information about a specific neuron identified by its unique identifier (UID) within a +specified subnet (netuid) of the Bittensor network. This function provides a comprehensive view of a neuron’s +attributes, including its stake, rank, and operational status.

                                                                                                    Parameters:
                                                                                                    -
                                                                                                    -
                                                                                                    This function is crucial for analyzing individual neurons’ contributions and status within a specific subnet,

                                                                                                    offering insights into their roles in the network’s consensus and validation mechanisms.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    This function is crucial for analyzing individual neurons’ contributions and status within a specific subnet, +offering insights into their roles in the network’s consensus and validation mechanisms.

                                                                                                    neurons(netuid, block=None)[source]#

                                                                                                    Retrieves a list of all neurons within a specified subnet of the Bittensor network. -This function provides a snapshot of the subnet’s neuron population, including each neuron’s attributes and

                                                                                                    -
                                                                                                    -

                                                                                                    network interactions.

                                                                                                    -
                                                                                                    +This function provides a snapshot of the subnet’s neuron population, including each neuron’s attributes and +network interactions.

                                                                                                    Parameters:
                                                                                                      @@ -2907,20 +2799,16 @@

                                                                                                      Module Contents

                                                                                                      list[bittensor.core.chain_data.NeuronInfo]

                                                                                                    -
                                                                                                    -
                                                                                                    Understanding the distribution and status of neurons within a subnet is key to comprehending the network’s

                                                                                                    decentralized structure and the dynamics of its consensus and governance processes.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Understanding the distribution and status of neurons within a subnet is key to comprehending the network’s +decentralized structure and the dynamics of its consensus and governance processes.

                                                                                                    neurons_lite(netuid, block=None)[source]#

                                                                                                    Retrieves a list of neurons in a ‘lite’ format from a specific subnet of the Bittensor network. -This function provides a streamlined view of the neurons, focusing on key attributes such as stake and network

                                                                                                    -
                                                                                                    -

                                                                                                    participation.

                                                                                                    -
                                                                                                    +This function provides a streamlined view of the neurons, focusing on key attributes such as stake and network +participation.

                                                                                                    Parameters:
                                                                                                      @@ -2935,20 +2823,16 @@

                                                                                                      Module Contents

                                                                                                      list[bittensor.core.chain_data.NeuronInfoLite]

                                                                                                    -
                                                                                                    -
                                                                                                    This function offers a quick overview of the neuron population within a subnet, facilitating efficient analysis

                                                                                                    of the network’s decentralized structure and neuron dynamics.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    This function offers a quick overview of the neuron population within a subnet, facilitating efficient analysis +of the network’s decentralized structure and neuron dynamics.

                                                                                                    query_constant(module_name, constant_name, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves a constant from the specified module on the Bittensor blockchain. This function is used to access

                                                                                                    fixed parameters or values defined within the blockchain’s modules, which are essential for understanding -the network’s configuration and rules.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Retrieves a constant from the specified module on the Bittensor blockchain. This function is used to access +fixed parameters or values defined within the blockchain’s modules, which are essential for understanding the +network’s configuration and rules.

                                                                                                    Parameters:
                                                                                                    -
                                                                                                    -
                                                                                                    Constants queried through this function can include critical network parameters such as inflation rates,

                                                                                                    consensus rules, or validation thresholds, providing a deeper understanding of the Bittensor network’s +

                                                                                                    Constants queried through this function can include critical network parameters such as inflation rates, +consensus rules, or validation thresholds, providing a deeper understanding of the Bittensor network’s operational parameters.

                                                                                                    -
                                                                                                    -
                                                                                                    query_identity(coldkey_ss58, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Queries the identity of a neuron on the Bittensor blockchain using the given key. This function retrieves

                                                                                                    detailed identity information about a specific neuron, which is a crucial aspect of the network’s -decentralized identity and governance system.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Queries the identity of a neuron on the Bittensor blockchain using the given key. This function retrieves +detailed identity information about a specific neuron, which is a crucial aspect of the network’s decentralized +identity and governance system.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • coldkey_ss58 (str) – The coldkey used to query the neuron’s identity (technically the neuron’s coldkey SS58 -address).

                                                                                                    • +
                                                                                                    • coldkey_ss58 (str) – Coldkey used to query the neuron’s identity (technically the neuron’s coldkey SS58 address).

                                                                                                    • block (Optional[int]) – The blockchain block number for the query.

                                                                                                    @@ -2994,62 +2873,51 @@

                                                                                                    Module Contents

                                                                                                    Optional[bittensor.core.chain_data.chain_identity.ChainIdentity]

                                                                                                    -
                                                                                                    -
                                                                                                    The identity information can include various attributes such as the neuron’s stake, rank, and other

                                                                                                    network-specific details, providing insights into the neuron’s role and status within the Bittensor network.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    The identity information can include various attributes such as the neuron’s stake, rank, and other +network-specific details, providing insights into the neuron’s role and status within the Bittensor network.

                                                                                                    Note

                                                                                                    -
                                                                                                    -
                                                                                                    See the Bittensor CLI documentation for supported identity

                                                                                                    parameters.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    See the Bittensor CLI documentation for supported identity +parameters.

                                                                                                    -query_map(module, name, block=None, params=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Queries map storage from any module on the Bittensor blockchain. This function retrieves data structures that

                                                                                                    represent key-value mappings, essential for accessing complex and structured data within the blockchain -modules.

                                                                                                    -
                                                                                                    -
                                                                                                    +query_map(module, name, params=None, block=None)[source]# +

                                                                                                    Queries map storage from any module on the Bittensor blockchain. This function retrieves data structures that +represent key-value mappings, essential for accessing complex and structured data within the blockchain modules.

                                                                                                    Parameters:
                                                                                                    • module (str) – The name of the module from which to query the map storage.

                                                                                                    • name (str) – The specific storage function within the module to query.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                    • params (Optional[list]) – Parameters to be passed to the query.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                    Returns:

                                                                                                    A data structure representing the map storage if found, None otherwise.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    result

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    This function is particularly useful for retrieving detailed and structured data from various blockchain

                                                                                                    modules, offering insights into the network’s state and the relationships between its different components.

                                                                                                    +

                                                                                                    async_substrate_interface.sync_substrate.QueryMapResult

                                                                                                    +

                                                                                                    This function is particularly useful for retrieving detailed and structured data from various blockchain +modules, offering insights into the network’s state and the relationships between its different components.

                                                                                                    -query_map_subtensor(name, block=None, params=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Queries map storage from the Subtensor module on the Bittensor blockchain. This function is designed to retrieve

                                                                                                    a map-like data structure, which can include various neuron-specific details or network-wide attributes.

                                                                                                    -
                                                                                                    -
                                                                                                    +query_map_subtensor(name, params=None, block=None)[source]# +

                                                                                                    Queries map storage from the Subtensor module on the Bittensor blockchain. This function is designed to retrieve +a map-like data structure, which can include various neuron-specific details or network-wide attributes.

                                                                                                    Parameters:
                                                                                                    • name (str) – The name of the map storage function to query.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                    • params (Optional[list]) – A list of parameters to pass to the query function.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                    Returns:
                                                                                                    @@ -3059,27 +2927,23 @@

                                                                                                    Module Contents

                                                                                                    async_substrate_interface.sync_substrate.QueryMapResult

                                                                                                    -
                                                                                                    -
                                                                                                    This function is particularly useful for analyzing and understanding complex network structures and

                                                                                                    relationships within the Bittensor ecosystem, such as interneuronal connections and stake distributions.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    This function is particularly useful for analyzing and understanding complex network structures and +relationships within the Bittensor ecosystem, such as interneuronal connections and stake distributions.

                                                                                                    -query_module(module, name, block=None, params=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Queries any module storage on the Bittensor blockchain with the specified parameters and block number. This

                                                                                                    function is a generic query interface that allows for flexible and diverse data retrieval from various +query_module(module, name, params=None, block=None)[source]# +

                                                                                                    Queries any module storage on the Bittensor blockchain with the specified parameters and block number. This +function is a generic query interface that allows for flexible and diverse data retrieval from various blockchain modules.

                                                                                                    -
                                                                                                    -
                                                                                                    Parameters:
                                                                                                    • module (str) – The name of the module from which to query data.

                                                                                                    • name (str) – The name of the storage function within the module.

                                                                                                    • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                    • -
                                                                                                    • params (Optional[list[object]]) – A list of parameters to pass to the query function.

                                                                                                    • +
                                                                                                    • params (Optional[list]) – A list of parameters to pass to the query function.

                                                                                                    Returns:
                                                                                                    @@ -3098,11 +2962,9 @@

                                                                                                    Module Contents
                                                                                                    query_runtime_api(runtime_api, method, params=None, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Queries the runtime API of the Bittensor blockchain, providing a way to interact with the underlying runtime and

                                                                                                    retrieve data encoded in Scale Bytes format. This function is essential for advanced users who need to -interact with specific runtime methods and decode complex data types.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Queries the runtime API of the Bittensor blockchain, providing a way to interact with the underlying runtime and +retrieve data encoded in Scale Bytes format. This function is essential for advanced users who need to interact +with specific runtime methods and decode complex data types.

                                                                                                    Parameters:
                                                                                                      @@ -3119,47 +2981,39 @@

                                                                                                      Module Contents

                                                                                                      Any

                                                                                                    -
                                                                                                    -
                                                                                                    This function enables access to the deeper layers of the Bittensor blockchain, allowing for detailed and

                                                                                                    specific interactions with the network’s runtime environment.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    This function enables access to the deeper layers of the Bittensor blockchain, allowing for detailed and +specific interactions with the network’s runtime environment.

                                                                                                    -query_subtensor(name, block=None, params=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Queries named storage from the Subtensor module on the Bittensor blockchain. This function is used to retrieve

                                                                                                    specific data or parameters from the blockchain, such as stake, rank, or other neuron-specific attributes.

                                                                                                    -
                                                                                                    -
                                                                                                    +query_subtensor(name, params=None, block=None)[source]# +

                                                                                                    Queries named storage from the Subtensor module on the Bittensor blockchain. This function is used to retrieve +specific data or parameters from the blockchain, such as stake, rank, or other neuron-specific attributes.

                                                                                                    Parameters:
                                                                                                    • name (str) – The name of the storage function to query.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                    • params (Optional[list]) – A list of parameters to pass to the query function.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                    Returns:

                                                                                                    An object containing the requested data.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    query_response

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    This query function is essential for accessing detailed information about the network and its neurons, providing

                                                                                                    valuable insights into the state and dynamics of the Bittensor ecosystem.

                                                                                                    +

                                                                                                    Optional[Union[async_substrate_interface.types.ScaleObj, Any]]

                                                                                                    +

                                                                                                    This query function is essential for accessing detailed information about the network and its neurons, providing +valuable insights into the state and dynamics of the Bittensor ecosystem.

                                                                                                    recycle(netuid, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Retrieves the ‘Burn’ hyperparameter for a specified subnet. The ‘Burn’ parameter represents the amount of Tao

                                                                                                    that is effectively recycled within the Bittensor network.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Retrieves the ‘Burn’ hyperparameter for a specified subnet. The ‘Burn’ parameter represents the amount of Tao +that is effectively recycled within the Bittensor network.

                                                                                                    Parameters:
                                                                                                    Return type:
                                                                                                    -

                                                                                                    Optional[Balance]

                                                                                                    +

                                                                                                    Optional[bittensor.utils.balance.Balance]

                                                                                                    @@ -3182,74 +3036,71 @@

                                                                                                    Module Contents
                                                                                                    -register(wallet, netuid, wait_for_inclusion=False, wait_for_finalization=True, max_allowed_attempts=3, output_in_place=True, cuda=False, dev_id=0, tpb=256, num_processes=None, update_interval=None, log_verbose=False, period=None)[source]#
                                                                                                    -

                                                                                                    Registers a neuron on the Bittensor network using the provided wallet.

                                                                                                    -
                                                                                                    -
                                                                                                    Registration is a critical step for a neuron to become an active participant in the network, enabling it to

                                                                                                    stake, set weights, and receive incentives.

                                                                                                    -
                                                                                                    -
                                                                                                    +register(wallet, netuid, max_allowed_attempts=3, output_in_place=True, cuda=False, dev_id=0, tpb=256, num_processes=None, update_interval=None, log_verbose=False, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]# +

                                                                                                    Registers a neuron on the Bittensor subnet with provided netuid using the provided wallet.

                                                                                                    +

                                                                                                    Registration is a critical step for a neuron to become an active participant in the network, enabling it to +stake, set weights, and receive incentives.

                                                                                                    Parameters:
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron to be registered.

                                                                                                    • netuid (int) – The unique identifier of the subnet.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Defaults to False.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Defaults to -True.

                                                                                                    • max_allowed_attempts (int) – Maximum number of attempts to register the wallet.

                                                                                                    • -
                                                                                                    • output_in_place (bool) – If true, prints the progress of the proof of work to the console in-place. Meaning -the progress is printed on the same lines. Defaults to True.

                                                                                                    • -
                                                                                                    • cuda (bool) – If true, the wallet should be registered using CUDA device(s). Defaults to False.

                                                                                                    • -
                                                                                                    • dev_id (Union[List[int], int]) – The CUDA device id to use, or a list of device ids. Defaults to 0 (zero).

                                                                                                    • -
                                                                                                    • tpb (int) – The number of threads per block (CUDA). Default to 256.

                                                                                                    • -
                                                                                                    • num_processes (Optional[int]) – The number of processes to use to register. Default to None.

                                                                                                    • -
                                                                                                    • update_interval (Optional[int]) – The number of nonces to solve between updates. Default to None.

                                                                                                    • -
                                                                                                    • log_verbose (bool) – If true, the registration process will log more information. Default to False.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • output_in_place (bool) – If true, prints the progress of the proof of work to the console in-place. Meaning the +progress is printed on the same lines.

                                                                                                    • +
                                                                                                    • cuda (bool) – If true, the wallet should be registered using CUDA device(s).

                                                                                                    • +
                                                                                                    • dev_id (Union[list[int], int]) – The CUDA device id to use, or a list of device ids.

                                                                                                    • +
                                                                                                    • tpb (int) – The number of threads per block (CUDA).

                                                                                                    • +
                                                                                                    • num_processes (Optional[int]) – The number of processes to use to register.

                                                                                                    • +
                                                                                                    • update_interval (Optional[int]) – The number of nonces to solve between updates.

                                                                                                    • +
                                                                                                    • log_verbose (bool) – If true, the registration process will log more information.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the registration is successful, False otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -

                                                                                                    This function facilitates the entry of new neurons into the network, supporting the decentralized -growth and scalability of the Bittensor ecosystem.

                                                                                                    +

                                                                                                    This function facilitates the entry of new neurons into the network, supporting the decentralized growth and +scalability of the Bittensor ecosystem.

                                                                                                    -register_subnet(wallet, wait_for_inclusion=False, wait_for_finalization=True, period=None)[source]#
                                                                                                    +register_subnet(wallet, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Registers a new subnetwork on the Bittensor network.

                                                                                                    Parameters:
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet to be used for subnet registration.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning True, or -returns False if the extrinsic fails to enter the block within the timeout. Default is False.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning -True, or returns False if the extrinsic fails to be finalized within the timeout. Default is True.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +the transaction is not included in a block within that number of blocks, it will expire and be rejected. +You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the subnet registration was successful, False otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -remove_liquidity(wallet, netuid, position_id, hotkey=None, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                    +remove_liquidity(wallet, netuid, position_id, hotkey_ss58=None, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Remove liquidity and credit balances back to wallet’s hotkey stake.

                                                                                                    Parameters:
                                                                                                    @@ -3257,42 +3108,39 @@

                                                                                                    Module Contentsint) – The UID of the target subnet for which the call is being initiated.

                                                                                                  • position_id (int) – The id of the position record in the pool.

                                                                                                  • -
                                                                                                  • hotkey (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used. Defaults to -None.

                                                                                                  • -
                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

                                                                                                  • -
                                                                                                  • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

                                                                                                  • +
                                                                                                  • hotkey_ss58 (Optional[str]) – The hotkey with staked TAO in Alpha. If not passed then the wallet hotkey is used.

                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                  • +
                                                                                                  • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                  • +
                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block.

                                                                                                  • +
                                                                                                  • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic.

                                                                                                  • Returns:
                                                                                                    -

                                                                                                      -
                                                                                                    • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                    • -
                                                                                                    • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                    • -
                                                                                                    -

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    Tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    Note

                                                                                                      -
                                                                                                    • -
                                                                                                      Adding is allowed even when user liquidity is enabled in specified subnet. Call toggle_user_liquidity

                                                                                                      extrinsic to enable/disable user liquidity.

                                                                                                      -
                                                                                                      -
                                                                                                      -
                                                                                                    • -
                                                                                                    • To get the position_id use get_liquidity_list method.

                                                                                                    • +
                                                                                                    • Adding is allowed even when user liquidity is enabled in specified subnet. Call toggle_user_liquidity

                                                                                                    +
                                                                                                    +
                                                                                                    extrinsic to enable/disable user liquidity.
                                                                                                      +
                                                                                                    • To get the position_id use get_liquidity_list method.

                                                                                                    • +
                                                                                                    +
                                                                                                    +
                                                                                                    -reveal_weights(wallet, netuid, uids, weights, salt, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, period=16, mechid=0)[source]#
                                                                                                    +reveal_weights(wallet, netuid, uids, weights, salt, mechid=0, max_retries=5, version_key=version_as_int, period=16, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Reveals the weights for a specific subnet on the Bittensor blockchain using the provided wallet. This action serves as a revelation of the neuron’s previously committed weight distribution.

                                                                                                    @@ -3303,22 +3151,22 @@

                                                                                                    Module Contentsint) – Version key for compatibility with the network.

                                                                                                    -
                                                                                                  • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                  • -
                                                                                                  • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                  • +
                                                                                                  • mechid (int) – The subnet mechanism unique identifier.

                                                                                                  • max_retries (int) – The number of maximum attempts to reveal weights.

                                                                                                  • +
                                                                                                  • version_key (int) – Version key for compatibility with the network.

                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                  • -
                                                                                                  • mechid (int) – The subnet mechanism unique identifier.

                                                                                                  • +
                                                                                                  • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                  • +
                                                                                                  • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                  • +
                                                                                                  • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                  • Returns:
                                                                                                    -

                                                                                                    True if the extrinsic executed successfully, False otherwise. -message is a string value describing the success or potential error.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    This function allows neurons to reveal their previously committed weight distribution, ensuring transparency and @@ -3328,175 +3176,182 @@

                                                                                                    Module Contents
                                                                                                    -root_register(wallet, wait_for_inclusion=False, wait_for_finalization=True, period=None)[source]#
                                                                                                    +root_register(wallet, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Register neuron by recycling some TAO.

                                                                                                    Parameters:
                                                                                                    • wallet (bittensor_wallet.Wallet) – Bittensor wallet instance.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is -False.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if registration was successful, otherwise False.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -root_set_pending_childkey_cooldown(wallet, cooldown, wait_for_inclusion=True, wait_for_finalization=True, period=None)[source]#
                                                                                                    +root_set_pending_childkey_cooldown(wallet, cooldown, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Sets the pending childkey cooldown.

                                                                                                    Parameters:
                                                                                                    • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

                                                                                                    • cooldown (int) – the number of blocks to setting pending childkey cooldown.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is -False.

                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    -
                                                                                                    A tuple where the first element is a boolean indicating success or failure of the

                                                                                                    operation, and the second element is a message providing additional information.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    Note: This operation can only be successfully performed if your wallet has root privileges.

                                                                                                    -
                                                                                                    -root_set_weights(wallet, netuids, weights, version_key=0, wait_for_inclusion=False, wait_for_finalization=False, period=None)[source]#
                                                                                                    -

                                                                                                    Set weights for the root network.

                                                                                                    +
                                                                                                    +serve_axon(netuid, axon, certificate=None, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#
                                                                                                    +

                                                                                                    Registers an Axon serving endpoint on the Bittensor network for a specific neuron.

                                                                                                    +

                                                                                                    This function is used to set up the Axon, a key component of a neuron that handles incoming queries and data +processing tasks.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

                                                                                                    • -
                                                                                                    • netuids (list[int]) – The list of subnet uids.

                                                                                                    • -
                                                                                                    • weights (list[float]) – The list of weights to be set.

                                                                                                    • -
                                                                                                    • version_key (int, optional) – Version key for compatibility with the network. Default is 0.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool, optional) – Waits for the transaction to be included in a block. Defaults to -False.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool, optional) – Waits for the transaction to be finalized on the blockchain. -Defaults to False.

                                                                                                    • +
                                                                                                    • netuid (int) – The unique identifier of the subnetwork.

                                                                                                    • +
                                                                                                    • axon (bittensor.core.axon.Axon) – The Axon instance to be registered for serving.

                                                                                                    • +
                                                                                                    • certificate (Optional[bittensor.utils.Certificate]) – Certificate to use for TLS. If None, no TLS will be used.

                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the setting of weights is successful, False otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    +

                                                                                                    By registering an Axon, the neuron becomes an active part of the network’s distributed computing infrastructure, +contributing to the collective intelligence of Bittensor.

                                                                                                    -
                                                                                                    -serve_axon(netuid, axon, wait_for_inclusion=False, wait_for_finalization=True, certificate=None, period=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Registers an Axon serving endpoint on the Bittensor network for a specific neuron. This function is used to

                                                                                                    set up the Axon, a key component of a neuron that handles incoming queries and data processing tasks.

                                                                                                    -
                                                                                                    -
                                                                                                    +
                                                                                                    +set_auto_stake(wallet, netuid, hotkey_ss58, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)#
                                                                                                    +

                                                                                                    Sets the coldkey to automatically stake to the hotkey within specific subnet mechanism.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • netuid (int) – The unique identifier of the subnetwork.

                                                                                                    • -
                                                                                                    • axon (bittensor.core.axon.Axon) – The Axon instance to be registered for serving.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is False.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is -True.

                                                                                                    • -
                                                                                                    • certificate (bittensor.utils.Certificate) – Certificate to use for TLS. If None, no TLS will be used. -Defaults to None.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

                                                                                                    • +
                                                                                                    • netuid (int) – The subnet unique identifier.

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The SS58 address of the validator’s hotkey to which the miner automatically stakes all rewards +received from the specified subnet immediately upon receipt.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the Axon serve registration is successful, False otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    By registering an Axon, the neuron becomes an active part of the network’s distributed computing infrastructure,

                                                                                                    contributing to the collective intelligence of Bittensor.

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    +
                                                                                                    +

                                                                                                    Note

                                                                                                    +

                                                                                                    Use the get_auto_stakes method to get the hotkey address of the validator where auto stake is set.

                                                                                                    +
                                                                                                    -set_children(wallet, hotkey, netuid, children, wait_for_inclusion=True, wait_for_finalization=True, raise_error=False, period=None)[source]#
                                                                                                    +set_children(wallet, netuid, hotkey_ss58, children, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Allows a coldkey to set children-keys.

                                                                                                    Parameters:
                                                                                                    • wallet (bittensor_wallet.Wallet) – bittensor wallet instance.

                                                                                                    • -
                                                                                                    • hotkey (str) – The SS58 address of the neuron’s hotkey.

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The SS58 address of the neuron’s hotkey.

                                                                                                    • netuid (int) – The netuid value.

                                                                                                    • children (list[tuple[float, str]]) – A list of children with their proportions.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    • -
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    -
                                                                                                    A tuple where the first element is a boolean indicating success or failure of the

                                                                                                    operation, and the second element is a message providing additional information.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -
                                                                                                    +
                                                                                                    -set_commitment#
                                                                                                    -
                                                                                                    +set_commitment(wallet, netuid, data, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)# +

                                                                                                    Commits arbitrary data to the Bittensor network by publishing metadata.

                                                                                                    +

                                                                                                    This method allows neurons to publish arbitrary data to the blockchain, which can be used for various purposes +such as sharing model updates, configuration data, or other network-relevant information.

                                                                                                    +
                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • wallet (bittensor_wallet.Wallet)

                                                                                                    • -
                                                                                                    • netuid (int)

                                                                                                    • -
                                                                                                    • data (str)

                                                                                                    • -
                                                                                                    • period (Optional[int])

                                                                                                    • -
                                                                                                    • raise_error (bool)

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool)

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool)

                                                                                                    • +
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron committing the data.

                                                                                                    • +
                                                                                                    • netuid (int) – The unique identifier of the subnetwork.

                                                                                                    • +
                                                                                                    • data (str) – The data to be committed to the network.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                    -
                                                                                                    Return type:
                                                                                                    -

                                                                                                    bittensor.core.types.ExtrinsicResponse

                                                                                                    +
                                                                                                    Returns:
                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    +
                                                                                                    +
                                                                                                    Return type:
                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    +
                                                                                                    +

                                                                                                    Example

                                                                                                    +

                                                                                                    # Commit some data to subnet 1 +success = await subtensor.commit(wallet=my_wallet, netuid=1, data=”Hello Bittensor!”)

                                                                                                    +

                                                                                                    # Commit with custom period +success = await subtensor.commit(wallet=my_wallet, netuid=1, data=”Model update v2.0”, period=100)

                                                                                                    +
                                                                                                    +

                                                                                                    Note: See <https://docs.learnbittensor.org/glossary#commit-reveal>

                                                                                                    @@ -3510,23 +3365,19 @@

                                                                                                    Module Contentsstr) – The SS58 address of the neuron’s hotkey.

                                                                                                  • take (float) – Percentage reward for the delegate.

                                                                                                  • -
                                                                                                  • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                  • -
                                                                                                  • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                  • -
                                                                                                  • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                  • +
                                                                                                  • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                  • +
                                                                                                  • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                  • +
                                                                                                  • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                  • Returns:
                                                                                                    -

                                                                                                    -
                                                                                                    A tuple where the first element is a boolean indicating success or failure of the

                                                                                                    operation, and the second element is a message providing additional information.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    Raises:
                                                                                                      @@ -3549,102 +3400,103 @@

                                                                                                      Module Contents
                                                                                                      -set_reveal_commitment(wallet, netuid, data, blocks_until_reveal=360, block_time=12, period=None)[source]#
                                                                                                      +set_reveal_commitment(wallet, netuid, data, blocks_until_reveal=360, block_time=12, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                      Commits arbitrary data to the Bittensor network by publishing metadata.

                                                                                                      Parameters:
                                                                                                        -
                                                                                                      • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron committing the data.

                                                                                                      • +
                                                                                                      • wallet – The wallet associated with the neuron committing the data.

                                                                                                      • netuid (int) – The unique identifier of the subnetwork.

                                                                                                      • data (str) – The data to be committed to the network.

                                                                                                      • -
                                                                                                      • blocks_until_reveal (int) – The number of blocks from now after which the data will be revealed. Defaults to -360. Then number of blocks in one epoch.

                                                                                                      • -
                                                                                                      • block_time (Union[int, float]) – The number of seconds between each block. Defaults to 12.

                                                                                                      • -
                                                                                                      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                      • +
                                                                                                      • blocks_until_reveal (int) – The number of blocks from now after which the data will be revealed. Then number of +blocks in one epoch.

                                                                                                      • +
                                                                                                      • block_time (Union[int, float]) – The number of seconds between each block.

                                                                                                      • +
                                                                                                      • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

                                                                                                      • +
                                                                                                      • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                      • +
                                                                                                      • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                      • +
                                                                                                      • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                      Returns:
                                                                                                      -

                                                                                                      True if the commitment was successful, False otherwise.

                                                                                                      +

                                                                                                      The result object of the extrinsic execution.

                                                                                                      Return type:
                                                                                                      -

                                                                                                      bool

                                                                                                      +

                                                                                                      ExtrinsicResponse

                                                                                                      -

                                                                                                      Note: A commitment can be set once per subnet epoch and is reset at the next epoch in the chain automatically.

                                                                                                      +
                                                                                                      +

                                                                                                      Note

                                                                                                      +

                                                                                                      A commitment can be set once per subnet epoch and is reset at the next epoch in the chain automatically. +Successful extrinsic’s the “data” field contains {“encrypted”: encrypted, “reveal_round”: reveal_round}.

                                                                                                      +

                                                                                                    -set_subnet_identity(wallet, netuid, subnet_identity, wait_for_inclusion=False, wait_for_finalization=True, period=None)[source]#
                                                                                                    +set_subnet_identity(wallet, netuid, subnet_identity, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Sets the identity of a subnet for a specific wallet and network.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • wallet (Wallet) – The wallet instance that will authorize the transaction.

                                                                                                    • +
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet instance that will authorize the transaction.

                                                                                                    • netuid (int) – The unique ID of the network on which the operation takes place.

                                                                                                    • -
                                                                                                    • subnet_identity (SubnetIdentity) – The identity data of the subnet including attributes like name, GitHub -repository, contact, URL, discord, description, and any additional metadata.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Indicates if the function should wait for the transaction to be included in the -block.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Indicates if the function should wait for the transaction to reach -finalization.

                                                                                                    • +
                                                                                                    • subnet_identity (bittensor.core.chain_data.SubnetIdentity) – The identity data of the subnet including attributes like name, GitHub repository, contact, +URL, discord, description, and any additional metadata.

                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    -
                                                                                                    A tuple where the first element is a boolean indicating success or failure of the

                                                                                                    operation, and the second element is a message providing additional information.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -set_weights(wallet, netuid, uids, weights, version_key=version_as_int, wait_for_inclusion=False, wait_for_finalization=False, max_retries=5, block_time=12.0, period=8, mechid=0, commit_reveal_version=4)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Sets the interneuronal weights for the specified neuron. This process involves specifying the influence or

                                                                                                    trust a neuron places on other neurons in the network, which is a fundamental aspect of Bittensor’s -decentralized learning architecture.

                                                                                                    -
                                                                                                    -
                                                                                                    +set_weights(wallet, netuid, uids, weights, mechid=0, block_time=12.0, commit_reveal_version=4, max_retries=5, version_key=version_as_int, period=8, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]# +

                                                                                                    Sets the interneuronal weights for the specified neuron. This process involves specifying the influence or trust +a neuron places on other neurons in the network, which is a fundamental aspect of Bittensor’s decentralized +learning architecture.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron setting the weights.

                                                                                                    • +
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet associated with the subnet validator setting the weights.

                                                                                                    • netuid (int) – The unique identifier of the subnet.

                                                                                                    • -
                                                                                                    • uids (bittensor.core.types.UIDs) – The list of neuron UIDs that the weights are being set for.

                                                                                                    • -
                                                                                                    • weights (bittensor.core.types.Weights) – The corresponding weights to be set for each UID.

                                                                                                    • +
                                                                                                    • uids (bittensor.core.types.UIDs) – The list of subnet miner neuron UIDs that the weights are being set for.

                                                                                                    • +
                                                                                                    • weights (bittensor.core.types.Weights) – The corresponding weights to be set for each UID, representing the validator’s evaluation of each +miner’s performance.

                                                                                                    • +
                                                                                                    • mechid (int) – The subnet mechanism unique identifier.

                                                                                                    • +
                                                                                                    • block_time (float) – The number of seconds for block duration.

                                                                                                    • +
                                                                                                    • commit_reveal_version (int) – The version of the chain commit-reveal protocol to use.

                                                                                                    • +
                                                                                                    • max_retries (int) – The number of maximum attempts to set weights.

                                                                                                    • version_key (int) – Version key for compatibility with the network.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s +submitted. If the transaction is not included in a block within that number of blocks, it will expire +and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    • -
                                                                                                    • max_retries (int) – The number of maximum attempts to set weights.

                                                                                                    • -
                                                                                                    • block_time (float) – The number of seconds for block duration.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction.

                                                                                                    • -
                                                                                                    • mechid (int) – The subnet mechanism unique identifier.

                                                                                                    • -
                                                                                                    • commit_reveal_version (int) – The version of the commit-reveal in the chain.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the setting of weights is successful, False otherwise. -msg is a string value describing the success or potential error.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -

                                                                                                    This function is crucial in the Yuma Consensus mechanism, where each validator’s weight vector contributes to -the overall weight matrix used to calculate emissions and maintain network consensus.

                                                                                                    +

                                                                                                    This function is crucial in shaping the network’s collective intelligence, where each neuron’s learning and +contribution are influenced by the weights it sets towards others.

                                                                                                    Notes

                                                                                                    See <https://docs.learnbittensor.org/glossary#yuma-consensus>

                                                                                                    @@ -3653,39 +3505,64 @@

                                                                                                    Module Contents
                                                                                                    -sign_and_send_extrinsic(call, wallet, wait_for_inclusion=True, wait_for_finalization=False, sign_with='coldkey', use_nonce=False, period=None, nonce_key='hotkey', raise_error=False)[source]#
                                                                                                    +sign_and_send_extrinsic(call, wallet, sign_with='coldkey', use_nonce=False, nonce_key='hotkey', period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=False, calling_function=None)[source]#

                                                                                                    Helper method to sign and submit an extrinsic call to chain.

                                                                                                    Parameters:
                                                                                                    • call (scalecodec.types.GenericCall) – a prepared Call object

                                                                                                    • wallet (bittensor_wallet.Wallet) – the wallet whose coldkey will be used to sign the extrinsic

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – whether to wait until the extrinsic call is included on the chain

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – whether to wait until the extrinsic call is finalized on the chain

                                                                                                    • sign_with (str) – the wallet’s keypair to use for the signing. Options are “coldkey”, “hotkey”, “coldkeypub”

                                                                                                    • use_nonce (bool) – unique identifier for the transaction related with hot/coldkey.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • nonce_key (str) – the type on nonce to use. Options are “hotkey” or “coldkey”.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

                                                                                                    • raise_error (bool) – raises the relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – whether to wait until the extrinsic call is included on the chain

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – whether to wait until the extrinsic call is finalized on the chain

                                                                                                    • +
                                                                                                    • calling_function (Optional[str]) – the name of the calling function.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    (success, error message)

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    -
                                                                                                    Raises:
                                                                                                    -

                                                                                                    SubstrateRequestException – Substrate request exception.

                                                                                                    +
                                                                                                    Return type:
                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -
                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +
                                                                                                    Raises:
                                                                                                    +

                                                                                                    SubstrateRequestException – Substrate request exception.

                                                                                                    +
                                                                                                    +
                                                                                                    +

                                                                                                    + +
                                                                                                    +
                                                                                                    +sim_swap(origin_netuid, destination_netuid, amount, block=None)#
                                                                                                    +

                                                                                                    Hits the SimSwap Runtime API to calculate the fee and result for a given transaction. The SimSwapResult contains +the staking fees and expected returned amounts of a given transaction. This does not include the transaction +(extrinsic) fee.

                                                                                                    +
                                                                                                    +
                                                                                                    Parameters:
                                                                                                    +
                                                                                                      +
                                                                                                    • origin_netuid (int) – Netuid of the source subnet (0 if add stake).

                                                                                                    • +
                                                                                                    • destination_netuid (int) – Netuid of the destination subnet.

                                                                                                    • +
                                                                                                    • amount (bittensor.utils.balance.Balance) – Amount to stake operation.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – The blockchain block number at which to perform the query.

                                                                                                    • +
                                                                                                    +
                                                                                                    +
                                                                                                    Returns:
                                                                                                    +

                                                                                                    SimSwapResult object representing the result.

                                                                                                    +
                                                                                                    +
                                                                                                    Return type:
                                                                                                    +

                                                                                                    bittensor.core.chain_data.SimSwapResult

                                                                                                    -start_call(wallet, netuid, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                    +start_call(wallet, netuid, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=False)[source]#
                                                                                                    Submits a start_call extrinsic to the blockchain, to trigger the start call process for a subnet (used to start

                                                                                                    a new subnet’s emission mechanism).

                                                                                                    @@ -3693,26 +3570,21 @@

                                                                                                    Module Contents
                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • wallet (Wallet) – The wallet used to sign the extrinsic (must be unlocked).

                                                                                                    • +
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet used to sign the extrinsic (must be unlocked).

                                                                                                    • netuid (int) – The UID of the target subnet for which the call is being initiated.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool, optional) – Whether to wait for the extrinsic to be included in a block. -Defaults to True.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool, optional) – Whether to wait for finalization of the extrinsic. -Defaults to False.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                    Returns:
                                                                                                    -

                                                                                                      -
                                                                                                    • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                    • -
                                                                                                    • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                    • -
                                                                                                    -

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    Tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    @@ -3720,10 +3592,8 @@

                                                                                                    Module Contents
                                                                                                    state_call(method, data, block=None)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Makes a state call to the Bittensor blockchain, allowing for direct queries of the blockchain’s state. This

                                                                                                    function is typically used for advanced queries that require specific method calls and data inputs.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    Makes a state call to the Bittensor blockchain, allowing for direct queries of the blockchain’s state. This +function is typically used for advanced queries that require specific method calls and data inputs.

                                                                                                    Parameters:
                                                                                                    Return type:
                                                                                                    -

                                                                                                    result (dict[Any, Any])

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    The state call function provides a more direct and flexible way of querying blockchain data, useful for specific

                                                                                                    use cases where standard queries are insufficient.

                                                                                                    +

                                                                                                    dict[Any, Any]

                                                                                                    +

                                                                                                    The state call function provides a more direct and flexible way of querying blockchain data, useful for specific +use cases where standard queries are insufficient.

                                                                                                    @@ -3760,7 +3628,7 @@

                                                                                                    Module Contents

                                                                                                    A DynamicInfo object, containing detailed information about a subnet.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    Optional[DynamicInfo]

                                                                                                    +

                                                                                                    Optional[bittensor.core.chain_data.DynamicInfo]

                                                                                                    @@ -3783,8 +3651,8 @@

                                                                                                    Module Contents

                                                                                                    bool

                                                                                                    -

                                                                                                    This function is critical for verifying the presence of specific subnets in the network, -enabling a deeper understanding of the network’s structure and composition.

                                                                                                    +

                                                                                                    This function is critical for verifying the presence of specific subnets in the network, enabling a deeper +understanding of the network’s structure and composition.

                                                                                                    @@ -3800,7 +3668,7 @@

                                                                                                    Module ContentsReturns:

                                                                                                    -
                                                                                                    The value of the SubnetworkN hyperparameter, or None if the subnetwork does not exist or

                                                                                                    the parameter is not found.

                                                                                                    +
                                                                                                    The value of the SubnetworkN hyperparameter, or None if the subnetwork does not exist or the parameter

                                                                                                    is not found.

                                                                                                    @@ -3818,38 +3686,37 @@

                                                                                                    Module Contents
                                                                                                    -swap_stake(wallet, hotkey_ss58, origin_netuid, destination_netuid, amount, wait_for_inclusion=True, wait_for_finalization=False, safe_staking=False, allow_partial_stake=False, rate_tolerance=0.005, period=None)[source]#
                                                                                                    +swap_stake(wallet, hotkey_ss58, origin_netuid, destination_netuid, amount, safe_swapping=False, allow_partial_stake=False, rate_tolerance=0.005, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Moves stake between subnets while keeping the same coldkey-hotkey pair ownership. Like subnet hopping - same owner, same hotkey, just changing which subnet the stake is in.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • wallet (bittensor.wallet) – The wallet to swap stake from.

                                                                                                    • +
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet to swap stake from.

                                                                                                    • hotkey_ss58 (str) – The SS58 address of the hotkey whose stake is being swapped.

                                                                                                    • origin_netuid (int) – The netuid from which stake is removed.

                                                                                                    • destination_netuid (int) – The netuid to which stake is added.

                                                                                                    • -
                                                                                                    • amount (Union[Balance, float]) – The amount to swap.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    • -
                                                                                                    • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The swap -will only execute if the price ratio between subnets doesn’t exceed the rate tolerance. -Default is False.

                                                                                                    • -
                                                                                                    • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial stake swaps when -the full amount would exceed the price tolerance. If false, the entire swap fails if it would -exceed the tolerance. Default is False.

                                                                                                    • +
                                                                                                    • amount (bittensor.utils.balance.Balance) – The amount to swap.

                                                                                                    • +
                                                                                                    • safe_swapping (bool) – If true, enables price safety checks to protect against fluctuating prices. The swap +will only execute if the price ratio between subnets doesn’t exceed the rate tolerance.

                                                                                                    • +
                                                                                                    • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial stake swaps when the full amount +would exceed the price tolerance. If false, the entire swap fails if it would exceed the tolerance.

                                                                                                    • rate_tolerance (float) – The maximum allowed increase in the price ratio between subnets -(origin_price/destination_price). For example, 0.005 = 0.5% maximum increase. Only used -when safe_staking is True. Default is 0.005.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +(origin_price/destination_price). For example, 0.005 = 0.5% maximum increase. Only used when +safe_staking is True.

                                                                                                      +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the +transaction is not included in a block within that number of blocks, it will expire and be rejected. You +can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the inclusion of the transaction.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for the finalization of the transaction.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the extrinsic was successful.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    success (bool)

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    The price ratio for swap_stake in safe mode is calculated as: origin_subnet_price / destination_subnet_price @@ -3877,7 +3744,7 @@

                                                                                                    Module ContentsReturns:

                                                                                                    -
                                                                                                    The value of the Tempo hyperparameter, or None if the subnetwork does not exist or the

                                                                                                    parameter is not found.

                                                                                                    +
                                                                                                    The value of the Tempo hyperparameter, or None if the subnetwork does not exist or the parameter is not

                                                                                                    found.

                                                                                                    @@ -3890,7 +3757,7 @@

                                                                                                    Module Contents
                                                                                                    -toggle_user_liquidity(wallet, netuid, enable, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                    +toggle_user_liquidity(wallet, netuid, enable, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Allow to toggle user liquidity for specified subnet.

                                                                                                    Parameters:
                                                                                                    @@ -3898,22 +3765,19 @@

                                                                                                    Module Contentsint) – The UID of the target subnet for which the call is being initiated.

                                                                                                  • enable (bool) – Boolean indicating whether to enable user liquidity.

                                                                                                  • -
                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block. Defaults to True.

                                                                                                  • -
                                                                                                  • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic. Defaults to False.

                                                                                                  • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the transaction is not included in a block within that number of blocks, it will expire and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                  • +
                                                                                                  • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                  • +
                                                                                                  • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block.

                                                                                                  • +
                                                                                                  • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic.

                                                                                                  • Returns:
                                                                                                    -

                                                                                                      -
                                                                                                    • True and a success message if the extrinsic is successfully submitted or processed.

                                                                                                    • -
                                                                                                    • False and an error message if the submission fails or the wallet cannot be unlocked.

                                                                                                    • -
                                                                                                    -

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    Tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    Note: The call can be executed successfully by the subnet owner only.

                                                                                                    @@ -3921,58 +3785,59 @@

                                                                                                    Module Contents
                                                                                                    -transfer(wallet, dest, amount, wait_for_inclusion=True, wait_for_finalization=False, transfer_all=False, keep_alive=True, period=None)[source]#
                                                                                                    +transfer(wallet, destination_ss58, amount, transfer_all=False, keep_alive=True, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=False)[source]#

                                                                                                    Transfer token of amount to destination.

                                                                                                    Parameters:
                                                                                                    • wallet (bittensor_wallet.Wallet) – Source wallet for the transfer.

                                                                                                    • -
                                                                                                    • dest (str) – Destination address for the transfer.

                                                                                                    • -
                                                                                                    • amount (float) – Amount of tao to transfer.

                                                                                                    • -
                                                                                                    • transfer_all (bool) – Flag to transfer all tokens. Default is False.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is -False.

                                                                                                    • -
                                                                                                    • keep_alive (bool) – Flag to keep the connection alive. Default is True.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • destination_ss58 (str) – Destination address for the transfer.

                                                                                                    • +
                                                                                                    • amount (Optional[bittensor.utils.balance.Balance]) – Number of tokens to transfer. None is transferring all.

                                                                                                    • +
                                                                                                    • transfer_all (bool) – Flag to transfer all tokens.

                                                                                                    • +
                                                                                                    • keep_alive (bool) – Flag to keep the connection alive.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +the transaction is not included in a block within that number of blocks, it will expire and be rejected. +You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the transferring was successful, otherwise False.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -transfer_stake(wallet, destination_coldkey_ss58, hotkey_ss58, origin_netuid, destination_netuid, amount, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                    +transfer_stake(wallet, destination_coldkey_ss58, hotkey_ss58, origin_netuid, destination_netuid, amount, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Transfers stake from one subnet to another while changing the coldkey owner.

                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • wallet (bittensor.wallet) – The wallet to transfer stake from.

                                                                                                    • +
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet to transfer stake from.

                                                                                                    • destination_coldkey_ss58 (str) – The destination coldkey SS58 address.

                                                                                                    • hotkey_ss58 (str) – The hotkey SS58 address associated with the stake.

                                                                                                    • origin_netuid (int) – The source subnet UID.

                                                                                                    • destination_netuid (int) – The destination subnet UID.

                                                                                                    • -
                                                                                                    • amount (Union[Balance, float, int]) – Amount to transfer.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – If true, waits for inclusion before returning.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – If true, waits for finalization before returning.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • amount (bittensor.utils.balance.Balance) – Amount to transfer.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +the transaction is not included in a block within that number of blocks, it will expire and be rejected. +You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the transfer was successful.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    success (bool)

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    @@ -4002,73 +3867,68 @@

                                                                                                    Module Contents
                                                                                                    -unstake(wallet, hotkey_ss58=None, netuid=None, amount=None, wait_for_inclusion=True, wait_for_finalization=False, safe_staking=False, allow_partial_stake=False, rate_tolerance=0.005, period=None, unstake_all=False)[source]#
                                                                                                    -
                                                                                                    -
                                                                                                    Removes a specified amount of stake from a single hotkey account. This function is critical for adjusting

                                                                                                    individual neuron stakes within the Bittensor network.

                                                                                                    -
                                                                                                    -
                                                                                                    +unstake(wallet, netuid, hotkey_ss58, amount, allow_partial_stake=False, rate_tolerance=0.005, safe_unstaking=False, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]# +

                                                                                                    Removes a specified amount of stake from a single hotkey account. This function is critical for adjusting +individual neuron stakes within the Bittensor network.

                                                                                                    Parameters:
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet associated with the neuron from which the stake is being removed.

                                                                                                    • -
                                                                                                    • hotkey_ss58 (Optional[str]) – The SS58 address of the hotkey account to unstake from.

                                                                                                    • -
                                                                                                    • netuid (Optional[int]) – The unique identifier of the subnet.

                                                                                                    • -
                                                                                                    • amount (Optional[bittensor.utils.balance.Balance]) – The amount of alpha to unstake. If not specified, unstakes all. Alpha amount.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    • -
                                                                                                    • safe_staking (bool) – If true, enables price safety checks to protect against fluctuating prices. The unstake -will only execute if the price change doesn’t exceed the rate tolerance. Default is False.

                                                                                                    • +
                                                                                                    • netuid (int) – The unique identifier of the subnet.

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The SS58 address of the hotkey account to unstake from.

                                                                                                    • +
                                                                                                    • amount (bittensor.utils.balance.Balance) – The amount of alpha to unstake. If not specified, unstakes all. Alpha amount.

                                                                                                    • allow_partial_stake (bool) – If true and safe_staking is enabled, allows partial unstaking when the full amount would exceed the price tolerance. If false, the entire unstake fails if it would -exceed the tolerance. Default is False.

                                                                                                    • +exceed the tolerance.

                                                                                                    • rate_tolerance (float) – The maximum allowed price change ratio when unstaking. For example, -0.005 = 0.5% maximum price decrease. Only used when safe_staking is True. Default is 0.005.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • -
                                                                                                    • unstake_all (bool) – If True, unstakes all tokens, and amount is ignored. Default is False.

                                                                                                    • +0.005 = 0.5% maximum price decrease. Only used when safe_staking is True.

                                                                                                      +
                                                                                                    • safe_unstaking (bool) – If true, enables price safety checks to protect against fluctuating prices. The unstake +will only execute if the price change doesn’t exceed the rate tolerance.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +the transaction is not included in a block within that number of blocks, it will expire and be rejected. +You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the unstaking process is successful, False otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -
                                                                                                    -
                                                                                                    This function supports flexible stake management, allowing neurons to adjust their network participation and

                                                                                                    potential reward accruals. When safe_staking is enabled, it provides protection against price fluctuations +

                                                                                                    This function supports flexible stake management, allowing neurons to adjust their network participation and +potential reward accruals. When safe_staking is enabled, it provides protection against price fluctuations during the time unstake is executed and the time it is actually processed by the chain.

                                                                                                    -
                                                                                                    -
                                                                                                    -unstake_all(wallet, hotkey, netuid, rate_tolerance=0.005, wait_for_inclusion=True, wait_for_finalization=False, period=None)[source]#
                                                                                                    +unstake_all(wallet, netuid, hotkey_ss58, rate_tolerance=0.005, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#

                                                                                                    Unstakes all TAO/Alpha associated with a hotkey from the specified subnets on the Bittensor network.

                                                                                                    Parameters:
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet of the stake owner.

                                                                                                    • -
                                                                                                    • hotkey (str) – The SS58 address of the hotkey to unstake from.

                                                                                                    • netuid (int) – The unique identifier of the subnet.

                                                                                                    • +
                                                                                                    • hotkey_ss58 (str) – The SS58 address of the hotkey to unstake from.

                                                                                                    • rate_tolerance (Optional[float]) – The maximum allowed price change ratio when unstaking. For example, 0.005 = 0.5% maximum -price decrease. If not passed (None), then unstaking goes without price limit. Default is 0.005.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block. Default is True.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain. Default is False.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If the -transaction is not included in a block within that number of blocks, it will expire and be rejected. You -can think of it as an expiration date for the transaction. Default is None.

                                                                                                    • +price decrease. If not passed (None), then unstaking goes without price limit.

                                                                                                      +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +the transaction is not included in a block within that number of blocks, it will expire and be rejected. +You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    A tuple containing: -- True and a success message if the unstake operation succeeded; -- False and an error message otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    tuple[bool, str]

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    @@ -4115,7 +3975,7 @@

                                                                                                    Module Contents
                                                                                                    -unstake_multiple(wallet, hotkey_ss58s, netuids, amounts=None, wait_for_inclusion=True, wait_for_finalization=False, period=None, unstake_all=False)[source]#
                                                                                                    +unstake_multiple(wallet, netuids, hotkey_ss58s, amounts=None, unstake_all=False, period=None, raise_error=False, wait_for_inclusion=True, wait_for_finalization=True)[source]#
                                                                                                    Performs batch unstaking from multiple hotkey accounts, allowing a neuron to reduce its staked amounts

                                                                                                    efficiently. This function is useful for managing the distribution of stakes across multiple neurons.

                                                                                                    @@ -4123,31 +3983,61 @@

                                                                                                    Module Contents
                                                                                                    Parameters:
                                                                                                      -
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet linked to the coldkey from which the stakes are being -withdrawn.

                                                                                                    • -
                                                                                                    • hotkey_ss58s (List[str]) – A list of hotkey SS58 addresses to unstake from.

                                                                                                    • -
                                                                                                    • netuids (List[int]) – The list of subnet uids.

                                                                                                    • -
                                                                                                    • amounts (List[Balance]) – The amounts of TAO to unstake from each hotkey. If not provided, -unstakes all available stakes.

                                                                                                    • -
                                                                                                    • wait_for_inclusion (bool) – Waits for the transaction to be included in a block.

                                                                                                    • -
                                                                                                    • wait_for_finalization (bool) – Waits for the transaction to be finalized on the blockchain.

                                                                                                    • -
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s -submitted. If the transaction is not included in a block within that number of blocks, it will expire -and be rejected. You can think of it as an expiration date for the transaction.

                                                                                                    • -
                                                                                                    • unstake_all (bool) – If True, unstakes all tokens, and amounts is ignored. Default is False.

                                                                                                    • +
                                                                                                    • wallet (bittensor_wallet.Wallet) – The wallet linked to the coldkey from which the stakes are being withdrawn.

                                                                                                    • +
                                                                                                    • netuids (bittensor.core.types.UIDs) – Subnets unique IDs.

                                                                                                    • +
                                                                                                    • hotkey_ss58s (list[str]) – A list of hotkey SS58 addresses to unstake from.

                                                                                                    • +
                                                                                                    • amounts (Optional[list[bittensor.utils.balance.Balance]]) – The amounts of TAO to unstake from each hotkey. If not provided, unstakes all.

                                                                                                    • +
                                                                                                    • unstake_all (bool) – If true, unstakes all tokens. If True amounts are ignored.

                                                                                                    • +
                                                                                                    • period (Optional[int]) – The number of blocks during which the transaction will remain valid after it’s submitted. If +the transaction is not included in a block within that number of blocks, it will expire and be rejected. +You can think of it as an expiration date for the transaction.

                                                                                                    • +
                                                                                                    • raise_error (bool) – Raises a relevant exception rather than returning False if unsuccessful.

                                                                                                    • +
                                                                                                    • wait_for_inclusion (bool) – Whether to wait for the extrinsic to be included in a block.

                                                                                                    • +
                                                                                                    • wait_for_finalization (bool) – Whether to wait for finalization of the extrinsic.

                                                                                                    Returns:
                                                                                                    -

                                                                                                    True if the batch unstaking is successful, False otherwise.

                                                                                                    +

                                                                                                    The result object of the extrinsic execution.

                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    +

                                                                                                    ExtrinsicResponse

                                                                                                    -
                                                                                                    -
                                                                                                    This function allows for strategic reallocation or withdrawal of stakes, aligning with the dynamic stake

                                                                                                    management aspect of the Bittensor network.

                                                                                                    +

                                                                                                    This function allows for strategic reallocation or withdrawal of stakes, aligning with the dynamic stake +management aspect of the Bittensor network.

                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    +validate_extrinsic_params(call_module, call_function, call_params, block=None)#
                                                                                                    +

                                                                                                    Validate and filter extrinsic parameters against on-chain metadata.

                                                                                                    +

                                                                                                    This method checks that the provided parameters match the expected signature of the given extrinsic (module and +function) as defined in the Substrate metadata. It raises explicit errors for missing or invalid parameters and +silently ignores any extra keys not present in the function definition.

                                                                                                    +
                                                                                                    +
                                                                                                    Parameters:
                                                                                                    +
                                                                                                      +
                                                                                                    • call_module (str) – The pallet name, e.g. “SubtensorModule” or “AdminUtils”.

                                                                                                    • +
                                                                                                    • call_function (str) – The extrinsic function name, e.g. “set_weights” or “sudo_set_tempo”.

                                                                                                    • +
                                                                                                    • call_params (dict[str, Any]) – A dictionary of parameters to validate.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – Optional block number to query metadata from. If not provided, the latest metadata is used.

                                                                                                    • +
                                                                                                    +
                                                                                                    +
                                                                                                    Returns:
                                                                                                    +

                                                                                                    A filtered dictionary containing only the parameters that are valid for the specified extrinsic.

                                                                                                    +
                                                                                                    +
                                                                                                    Raises:
                                                                                                    +
                                                                                                      +
                                                                                                    • ValueError – If the given module or function is not found in the chain metadata.

                                                                                                    • +
                                                                                                    • KeyError – If one or more required parameters are missing.

                                                                                                    • +
                                                                                                    +
                                                                                                    +

                                                                                                    Notes

                                                                                                    +

                                                                                                    This method does not compose or submit the extrinsic. It only ensures that call_params conforms to the +expected schema derived from on-chain metadata.

                                                                                                    +
                                                                                                    @@ -4162,9 +4052,6 @@

                                                                                                    Module ContentsReturns:

                                                                                                    True if the target block was reached, False if timeout occurred.

                                                                                                    -
                                                                                                    Return type:
                                                                                                    -

                                                                                                    bool

                                                                                                    -

                                                                                                    Example

                                                                                                    @@ -4177,18 +4064,16 @@

                                                                                                    Module Contents
                                                                                                    -weights(netuid, block=None, mechid=0)[source]#
                                                                                                    +weights(netuid, mechid=0, block=None)[source]#

                                                                                                    Retrieves the weight distribution set by neurons within a specific subnet of the Bittensor network. -This function maps each neuron’s UID to the weights it assigns to other neurons, reflecting the network’s trust

                                                                                                    -
                                                                                                    -

                                                                                                    and value assignment mechanisms.

                                                                                                    -
                                                                                                    +This function maps each neuron’s UID to the weights it assigns to other neurons, reflecting the network’s trust +and value assignment mechanisms.

                                                                                                    Parameters:
                                                                                                    • netuid (int) – The network UID of the subnet to query.

                                                                                                    • -
                                                                                                    • block (Optional[int]) – Block number for synchronization, or None for the latest block.

                                                                                                    • mechid (int) – Subnet mechanism identifier.

                                                                                                    • +
                                                                                                    • block (Optional[int]) – Block number for synchronization, or None for the latest block.

                                                                                                    Returns:
                                                                                                    @@ -4198,10 +4083,8 @@

                                                                                                    Module Contents

                                                                                                    list[tuple[int, list[tuple[int, int]]]]

                                                                                                    -
                                                                                                    -
                                                                                                    The weight distribution is a key factor in the network’s consensus algorithm and the ranking of neurons,

                                                                                                    influencing their influence and reward allocation within the subnet.

                                                                                                    -
                                                                                                    -
                                                                                                    +

                                                                                                    The weight distribution is a key factor in the network’s consensus algorithm and the ranking of neurons, +influencing their influence and reward allocation within the subnet.

                                                                                                    @@ -4216,11 +4099,8 @@

                                                                                                    Module ContentsReturns: -

                                                                                                    -
                                                                                                    The value of the WeightsSetRateLimit hyperparameter, or None if the subnetwork does not

                                                                                                    exist or the parameter is not found.

                                                                                                    -
                                                                                                    -
                                                                                                    -

                                                                                                    +

                                                                                                    The value of the WeightsSetRateLimit hyperparameter, or None if the subnetwork does not exist or the +parameter is not found.

                                                                                                    Return type:

                                                                                                    Optional[int]

                                                                                                    @@ -4254,11 +4134,11 @@

                                                                                                    Module Contents

                                                                                                    next

                                                                                                    -

                                                                                                    bittensor.core.subtensor_api

                                                                                                    +

                                                                                                    bittensor.core.synapse

                                                                                                    @@ -4292,9 +4172,9 @@

                                                                                                    Module ContentsSubtensor.bonds()
                                                                                                  • Subtensor.burned_register()
                                                                                                  • Subtensor.close()
                                                                                                  • -
                                                                                                  • Subtensor.commit()
                                                                                                  • Subtensor.commit_reveal_enabled()
                                                                                                  • Subtensor.commit_weights()
                                                                                                  • +
                                                                                                  • Subtensor.compose_call()
                                                                                                  • Subtensor.determine_block_hash()
                                                                                                  • Subtensor.difficulty()
                                                                                                  • Subtensor.does_hotkey_exist()
                                                                                                  • @@ -4306,24 +4186,28 @@

                                                                                                    Module ContentsSubtensor.get_all_neuron_certificates()
                                                                                                  • Subtensor.get_all_revealed_commitments()
                                                                                                  • Subtensor.get_all_subnets_info()
                                                                                                  • +
                                                                                                  • Subtensor.get_all_subnets_netuid()
                                                                                                  • +
                                                                                                  • Subtensor.get_auto_stakes()
                                                                                                  • Subtensor.get_balance()
                                                                                                  • Subtensor.get_balances()
                                                                                                  • Subtensor.get_block_hash()
                                                                                                  • +
                                                                                                  • Subtensor.get_block_info()
                                                                                                  • Subtensor.get_children()
                                                                                                  • Subtensor.get_children_pending()
                                                                                                  • Subtensor.get_commitment()
                                                                                                  • +
                                                                                                  • Subtensor.get_commitment_metadata()
                                                                                                  • Subtensor.get_current_block()
                                                                                                  • -
                                                                                                  • Subtensor.get_current_weight_commit_info()
                                                                                                  • -
                                                                                                  • Subtensor.get_current_weight_commit_info_v2()
                                                                                                  • Subtensor.get_delegate_by_hotkey()
                                                                                                  • Subtensor.get_delegate_identities()
                                                                                                  • Subtensor.get_delegate_take()
                                                                                                  • Subtensor.get_delegated()
                                                                                                  • Subtensor.get_delegates()
                                                                                                  • Subtensor.get_existential_deposit()
                                                                                                  • +
                                                                                                  • Subtensor.get_extrinsic_fee()
                                                                                                  • Subtensor.get_hotkey_owner()
                                                                                                  • Subtensor.get_hotkey_stake
                                                                                                  • Subtensor.get_hyperparameter()
                                                                                                  • +
                                                                                                  • Subtensor.get_last_bonds_reset()
                                                                                                  • Subtensor.get_last_commitment_bonds_reset_block()
                                                                                                  • Subtensor.get_liquidity_list()
                                                                                                  • Subtensor.get_mechanism_count()
                                                                                                  • @@ -4340,12 +4224,10 @@

                                                                                                    Module ContentsSubtensor.get_revealed_commitment_by_hotkey()
                                                                                                  • Subtensor.get_stake()
                                                                                                  • Subtensor.get_stake_add_fee()
                                                                                                  • -
                                                                                                  • Subtensor.get_stake_for_coldkey()
                                                                                                  • Subtensor.get_stake_for_coldkey_and_hotkey()
                                                                                                  • Subtensor.get_stake_for_hotkey()
                                                                                                  • -
                                                                                                  • Subtensor.get_stake_info_for_coldkey
                                                                                                  • +
                                                                                                  • Subtensor.get_stake_info_for_coldkey()
                                                                                                  • Subtensor.get_stake_movement_fee()
                                                                                                  • -
                                                                                                  • Subtensor.get_stake_operations_fee()
                                                                                                  • Subtensor.get_stake_weight()
                                                                                                  • Subtensor.get_subnet_burn_cost()
                                                                                                  • Subtensor.get_subnet_hyperparameters()
                                                                                                  • @@ -4355,7 +4237,6 @@

                                                                                                    Module ContentsSubtensor.get_subnet_prices()
                                                                                                  • Subtensor.get_subnet_reveal_period_epochs()
                                                                                                  • Subtensor.get_subnet_validator_permits()
                                                                                                  • -
                                                                                                  • Subtensor.get_subnets()
                                                                                                  • Subtensor.get_timelocked_weight_commits()
                                                                                                  • Subtensor.get_timestamp()
                                                                                                  • Subtensor.get_total_subnets()
                                                                                                  • @@ -4395,15 +4276,16 @@

                                                                                                    Module ContentsSubtensor.reveal_weights()
                                                                                                  • Subtensor.root_register()
                                                                                                  • Subtensor.root_set_pending_childkey_cooldown()
                                                                                                  • -
                                                                                                  • Subtensor.root_set_weights()
                                                                                                  • Subtensor.serve_axon()
                                                                                                  • +
                                                                                                  • Subtensor.set_auto_stake()
                                                                                                  • Subtensor.set_children()
                                                                                                  • -
                                                                                                  • Subtensor.set_commitment
                                                                                                  • +
                                                                                                  • Subtensor.set_commitment()
                                                                                                  • Subtensor.set_delegate_take()
                                                                                                  • Subtensor.set_reveal_commitment()
                                                                                                  • Subtensor.set_subnet_identity()
                                                                                                  • Subtensor.set_weights()
                                                                                                  • Subtensor.sign_and_send_extrinsic()
                                                                                                  • +
                                                                                                  • Subtensor.sim_swap()
                                                                                                  • Subtensor.start_call()
                                                                                                  • Subtensor.state_call()
                                                                                                  • Subtensor.subnet()
                                                                                                  • @@ -4419,6 +4301,7 @@

                                                                                                    Module ContentsSubtensor.unstake()
                                                                                                  • Subtensor.unstake_all()
                                                                                                  • Subtensor.unstake_multiple()
                                                                                                  • +
                                                                                                  • Subtensor.validate_extrinsic_params()
                                                                                                  • Subtensor.wait_for_block()
                                                                                                  • Subtensor.weights()
                                                                                                  • Subtensor.weights_rate_limit()
                                                                                                  • diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/chain/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/chain/index.html deleted file mode 100644 index 8a8fe1b68a..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/chain/index.html +++ /dev/null @@ -1,651 +0,0 @@ - - - - - - - - - - - bittensor.core.subtensor_api.chain — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                    - - - - - - - - - - Ctrl+K - - - -
                                                                                                    - -
                                                                                                    - - - - - -
                                                                                                    -
                                                                                                    - - - - - - -
                                                                                                    - - - -
                                                                                                    - -
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    - -
                                                                                                    - -
                                                                                                    - -
                                                                                                    - - -
                                                                                                    - -
                                                                                                    - -
                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                    - -
                                                                                                    - -
                                                                                                    -
                                                                                                    - - - - - - - - -
                                                                                                    - -
                                                                                                    -

                                                                                                    bittensor.core.subtensor_api.chain#

                                                                                                    -
                                                                                                    -

                                                                                                    Classes#

                                                                                                    -

                                                                                                    async_metagraph(netuid[, network, lite, sync, subtensor])

                                                                                                    async_metagraph(netuid[, mechid, network, lite, sync, ...])

                                                                                                    Factory function to create an instantiated AsyncMetagraph, mainly for the ability to use sync at instantiation.

                                                                                                    get_save_dir(network, netuid[, root_dir])

                                                                                                    SS58_ADDRESS_LENGTH

                                                                                                    SS58_FORMAT

                                                                                                    SUBVORTEX_ENTRYPOINT

                                                                                                    SUBVORTEX_ENTRYPOINT

                                                                                                    TAO_APP_BLOCK_EXPLORER

                                                                                                    TAO_SYMBOL

                                                                                                    - - - - - -

                                                                                                    Chain

                                                                                                    Class for managing chain state operations.

                                                                                                    -
                                                                                                    - -
                                                                                                    -

                                                                                                    Module Contents#

                                                                                                    -
                                                                                                    -
                                                                                                    -class bittensor.core.subtensor_api.chain.Chain(subtensor)[source]#
                                                                                                    -

                                                                                                    Class for managing chain state operations.

                                                                                                    -
                                                                                                    -
                                                                                                    Parameters:
                                                                                                    -

                                                                                                    subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                    -get_admin_freeze_window#
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -get_block_hash#
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -get_current_block#
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -get_delegate_identities#
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -get_existential_deposit#
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -get_minimum_required_stake#
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -get_timestamp#
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -get_vote_data#
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -is_fast_blocks#
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -is_in_admin_freeze_window#
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -last_drand_round#
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -state_call#
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    -tx_rate_limit#
                                                                                                    -
                                                                                                    - -
                                                                                                    - -
                                                                                                    - - - - - - - - - - - - -
                                                                                                • - - - - - - - -

                                                                                              • -
                                                                                                - - -
                                                                                                - - - -
                                                                          • -
                                                                            - - - - - -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/commitments/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/commitments/index.html deleted file mode 100644 index 14711b1cc4..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/commitments/index.html +++ /dev/null @@ -1,644 +0,0 @@ - - - - - - - - - - - bittensor.core.subtensor_api.commitments — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - - - - - - - - - -
                                                                            - -
                                                                            - - - - - -
                                                                            -
                                                                            - - - - - - -
                                                                            - - - -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - -
                                                                            - -
                                                                            - - -
                                                                            - -
                                                                            - -
                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - - - - - - - -
                                                                            - -
                                                                            -

                                                                            bittensor.core.subtensor_api.commitments#

                                                                            -
                                                                            -

                                                                            Classes#

                                                                            -
                                                                            - - - - - -

                                                                            Commitments

                                                                            Class for managing any commitment operations.

                                                                            -
                                                                            -
                                                                            -
                                                                            -

                                                                            Module Contents#

                                                                            -
                                                                            -
                                                                            -class bittensor.core.subtensor_api.commitments.Commitments(subtensor)[source]#
                                                                            -

                                                                            Class for managing any commitment operations.

                                                                            -
                                                                            -
                                                                            Parameters:
                                                                            -

                                                                            subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

                                                                            -
                                                                            -
                                                                            -
                                                                            -
                                                                            -commit_reveal_enabled#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_all_commitments#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_all_revealed_commitments#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_commitment#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_current_weight_commit_info#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_current_weight_commit_info_v2#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_last_commitment_bonds_reset_block#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_revealed_commitment#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_revealed_commitment_by_hotkey#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_timelocked_weight_commits#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -set_commitment#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -set_reveal_commitment#
                                                                            -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - -
                                                                            - - - - - - - - -
                                                                            - - - - - - - -
                                                                            -
                                                                            - - -
                                                                            - - -
                                                                            -
                                                                            -
                                                                            - - - - - -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/delegates/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/delegates/index.html deleted file mode 100644 index 98e7aa444a..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/delegates/index.html +++ /dev/null @@ -1,609 +0,0 @@ - - - - - - - - - - - bittensor.core.subtensor_api.delegates — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - - - - - - - - - -
                                                                            - -
                                                                            - - - - - -
                                                                            -
                                                                            - - - - - - -
                                                                            - - - -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - -
                                                                            - -
                                                                            - - -
                                                                            - -
                                                                            - -
                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - - - - - - - -
                                                                            - -
                                                                            -

                                                                            bittensor.core.subtensor_api.delegates#

                                                                            -
                                                                            -

                                                                            Classes#

                                                                            -
                                                                            - - - - - -

                                                                            Delegates

                                                                            Class for managing delegate operations.

                                                                            -
                                                                            -
                                                                            -
                                                                            -

                                                                            Module Contents#

                                                                            -
                                                                            -
                                                                            -class bittensor.core.subtensor_api.delegates.Delegates(subtensor)[source]#
                                                                            -

                                                                            Class for managing delegate operations.

                                                                            -
                                                                            -
                                                                            Parameters:
                                                                            -

                                                                            subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

                                                                            -
                                                                            -
                                                                            -
                                                                            -
                                                                            -get_delegate_by_hotkey#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_delegate_identities#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_delegate_take#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_delegated#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_delegates#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -is_hotkey_delegate#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -set_delegate_take#
                                                                            -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - -
                                                                            - - - - - - - - -
                                                                            - - - - - - - -
                                                                            -
                                                                            - - -
                                                                            - - -
                                                                            -
                                                                            -
                                                                            - - - - - -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/extrinsics/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/extrinsics/index.html deleted file mode 100644 index 670b953e27..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/extrinsics/index.html +++ /dev/null @@ -1,742 +0,0 @@ - - - - - - - - - - - bittensor.core.subtensor_api.extrinsics — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - - - - - - - - - -
                                                                            - -
                                                                            - - - - - -
                                                                            -
                                                                            - - - - - - -
                                                                            - - - -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - -
                                                                            - -
                                                                            - - -
                                                                            - -
                                                                            - -
                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - - - - - - - -
                                                                            - -
                                                                            -

                                                                            bittensor.core.subtensor_api.extrinsics#

                                                                            -
                                                                            -

                                                                            Classes#

                                                                            -
                                                                            - - - - - -

                                                                            Extrinsics

                                                                            Class for managing extrinsic operations.

                                                                            -
                                                                            -
                                                                            -
                                                                            -

                                                                            Module Contents#

                                                                            -
                                                                            -
                                                                            -class bittensor.core.subtensor_api.extrinsics.Extrinsics(subtensor)[source]#
                                                                            -

                                                                            Class for managing extrinsic operations.

                                                                            -
                                                                            -
                                                                            Parameters:
                                                                            -

                                                                            subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

                                                                            -
                                                                            -
                                                                            -
                                                                            -
                                                                            -add_liquidity#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -add_stake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -add_stake_multiple#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -burned_register#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -commit_weights#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -modify_liquidity#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -move_stake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -register#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -register_subnet#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -remove_liquidity#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -reveal_weights#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -root_register#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -root_set_pending_childkey_cooldown#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -root_set_weights#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -serve_axon#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -set_children#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -set_subnet_identity#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -set_weights#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -start_call#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -swap_stake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -toggle_user_liquidity#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -transfer#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -transfer_stake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -unstake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -unstake_all#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -unstake_multiple#
                                                                            -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - -
                                                                            - - - - - - - - -
                                                                            - - - - - - - -
                                                                            -
                                                                            - - -
                                                                            - - -
                                                                            -
                                                                            -
                                                                            - - - - - -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/index.html deleted file mode 100644 index 8ace9118fb..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/index.html +++ /dev/null @@ -1,825 +0,0 @@ - - - - - - - - - - - bittensor.core.subtensor_api — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - - - - - - - - - -
                                                                            - -
                                                                            - - - - - -
                                                                            -
                                                                            - - - - - - -
                                                                            - - - -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - -
                                                                            - -
                                                                            - - -
                                                                            - -
                                                                            - -
                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - - - - - - - -
                                                                            - -
                                                                            -

                                                                            bittensor.core.subtensor_api#

                                                                            -
                                                                            -

                                                                            Submodules#

                                                                            - -
                                                                            -
                                                                            -

                                                                            Classes#

                                                                            -
                                                                            - - - - - -

                                                                            SubtensorApi

                                                                            Subtensor API class.

                                                                            -
                                                                            -
                                                                            -
                                                                            -

                                                                            Package Contents#

                                                                            -
                                                                            -
                                                                            -class bittensor.core.subtensor_api.SubtensorApi(network=None, config=None, async_subtensor=False, legacy_methods=False, fallback_endpoints=None, retry_forever=False, log_verbose=False, mock=False, archive_endpoints=None, websocket_shutdown_timer=5.0)[source]#
                                                                            -

                                                                            Subtensor API class.

                                                                            -
                                                                            -
                                                                            Parameters:
                                                                            -
                                                                              -
                                                                            • network (Optional[str]) – The network to connect to. Defaults to None -> “finney”.

                                                                            • -
                                                                            • config (Optional[bittensor.core.config.Config]) – Bittensor configuration object. Defaults to None.

                                                                            • -
                                                                            • legacy_methods (bool) – If True, all methods from the Subtensor class will be added to the root level of this class.

                                                                            • -
                                                                            • fallback_endpoints (Optional[list[str]]) – List of fallback endpoints to use if default or provided network is not available. Defaults to None.

                                                                            • -
                                                                            • retry_forever (bool) – Whether to retry forever on connection errors. Defaults to False.

                                                                            • -
                                                                            • log_verbose (bool) – Enables or disables verbose logging.

                                                                            • -
                                                                            • mock (bool) – Whether this is a mock instance. Mainly just for use in testing.

                                                                            • -
                                                                            • archive_endpoints (Optional[list[str]]) – Similar to fallback_endpoints, but specifically only archive nodes. Will be used in cases -where you are requesting a block that is too old for your current (presumably lite) node. Defaults to None

                                                                            • -
                                                                            • websocket_shutdown_timer (float) – Amount of time, in seconds, to wait after the last response from the chain to close -the connection. Only applicable to AsyncSubtensor.

                                                                            • -
                                                                            • async_subtensor (bool)

                                                                            • -
                                                                            -
                                                                            -
                                                                            -
                                                                            -

                                                                            Example

                                                                            -

                                                                            # sync version -import bittensor as bt

                                                                            -

                                                                            subtensor = bt.SubtensorApi() -print(subtensor.block) -print(subtensor.delegates.get_delegate_identities()) -subtensor.chain.tx_rate_limit()

                                                                            -

                                                                            # async version -import bittensor as bt

                                                                            -

                                                                            subtensor = bt.SubtensorApi(async_subtensor=True) -async with subtensor:

                                                                            -
                                                                            -

                                                                            print(await subtensor.block) -print(await subtensor.delegates.get_delegate_identities()) -print(await subtensor.chain.tx_rate_limit())

                                                                            -
                                                                            -

                                                                            # using legacy_methods -import bittensor as bt

                                                                            -

                                                                            subtensor = bt.SubtensorApi(legacy_methods=True) -print(subtensor.bonds(0))

                                                                            -

                                                                            # using fallback_endpoints or retry_forever -import bittensor as bt

                                                                            -
                                                                            -
                                                                            subtensor = bt.SubtensorApi(

                                                                            network=”finney”, -fallback_endpoints=[“wss://localhost:9945”, “wss://some-other-endpoint:9945”], -retry_forever=True,

                                                                            -
                                                                            -
                                                                            -

                                                                            ) -print(subtensor.block)

                                                                            -
                                                                            -
                                                                            -
                                                                            -classmethod add_args(parser)[source]#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -property block#
                                                                            -

                                                                            Returns current chain block number.

                                                                            -
                                                                            - -
                                                                            -
                                                                            -property chain#
                                                                            -

                                                                            Property of interaction with chain methods.

                                                                            -
                                                                            - -
                                                                            -
                                                                            -chain_endpoint = None#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -close#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -property commitments#
                                                                            -

                                                                            Property to access commitments methods.

                                                                            -
                                                                            - -
                                                                            -
                                                                            -config#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -property delegates#
                                                                            -

                                                                            Property to access delegates methods.

                                                                            -
                                                                            - -
                                                                            -
                                                                            -determine_block_hash#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -encode_params#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -property extrinsics#
                                                                            -

                                                                            Property to access extrinsics methods.

                                                                            -
                                                                            - -
                                                                            -
                                                                            -help#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -initialize = None#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -is_async = False#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -log_verbose = False#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -property metagraphs#
                                                                            -

                                                                            Property to access metagraphs methods.

                                                                            -
                                                                            - -
                                                                            -
                                                                            -network = None#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -property neurons#
                                                                            -

                                                                            Property to access neurons methods.

                                                                            -
                                                                            - -
                                                                            -
                                                                            -property queries#
                                                                            -

                                                                            Property to access subtensor queries methods.

                                                                            -
                                                                            - -
                                                                            -
                                                                            -setup_config#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -sign_and_send_extrinsic#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -property staking#
                                                                            -

                                                                            Property to access staking methods.

                                                                            -
                                                                            - -
                                                                            -
                                                                            -start_call#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -property subnets#
                                                                            -

                                                                            Property of interaction with subnets methods.

                                                                            -
                                                                            - -
                                                                            -
                                                                            -substrate#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -wait_for_block#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -property wallets#
                                                                            -

                                                                            Property of interaction methods with cold/hotkeys, and balances, etc.

                                                                            -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - -
                                                                            - - - - - - - - -
                                                                            - - - - - - - -
                                                                            -
                                                                            - - -
                                                                            - - -
                                                                            -
                                                                            -
                                                                            - - - - - -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/metagraphs/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/metagraphs/index.html deleted file mode 100644 index 76e0fe3cbb..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/metagraphs/index.html +++ /dev/null @@ -1,581 +0,0 @@ - - - - - - - - - - - bittensor.core.subtensor_api.metagraphs — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - - - - - - - - - -
                                                                            - -
                                                                            - - - - - -
                                                                            -
                                                                            - - - - - - -
                                                                            - - - -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - -
                                                                            - -
                                                                            - - -
                                                                            - -
                                                                            - -
                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - - -
                                                                            -

                                                                            bittensor.core.subtensor_api.metagraphs

                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - - - - - - - - - - - - -
                                                                            - - - - - - - -
                                                                            -
                                                                            - - -
                                                                            - - -
                                                                            -
                                                                            -
                                                                            - - - - - -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/neurons/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/neurons/index.html deleted file mode 100644 index bd8998d8c8..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/neurons/index.html +++ /dev/null @@ -1,602 +0,0 @@ - - - - - - - - - - - bittensor.core.subtensor_api.neurons — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - - - - - - - - - -
                                                                            - -
                                                                            - - - - - -
                                                                            -
                                                                            - - - - - - -
                                                                            - - - -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - -
                                                                            - -
                                                                            - - -
                                                                            - -
                                                                            - -
                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - - - - - - - -
                                                                            - -
                                                                            -

                                                                            bittensor.core.subtensor_api.neurons#

                                                                            -
                                                                            -

                                                                            Classes#

                                                                            -
                                                                            - - - - - -

                                                                            Neurons

                                                                            Class for managing neuron operations.

                                                                            -
                                                                            -
                                                                            -
                                                                            -

                                                                            Module Contents#

                                                                            -
                                                                            -
                                                                            -class bittensor.core.subtensor_api.neurons.Neurons(subtensor)[source]#
                                                                            -

                                                                            Class for managing neuron operations.

                                                                            -
                                                                            -
                                                                            Parameters:
                                                                            -

                                                                            subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

                                                                            -
                                                                            -
                                                                            -
                                                                            -
                                                                            -get_all_neuron_certificates#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_neuron_certificate#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -neuron_for_uid#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -neurons#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -neurons_lite#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -query_identity#
                                                                            -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - -
                                                                            - - - - - - - - -
                                                                            - - - - - - - -
                                                                            -
                                                                            - - -
                                                                            - - -
                                                                            -
                                                                            -
                                                                            - - - - - -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/queries/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/queries/index.html deleted file mode 100644 index fe01cc2776..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/queries/index.html +++ /dev/null @@ -1,602 +0,0 @@ - - - - - - - - - - - bittensor.core.subtensor_api.queries — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - - - - - - - - - -
                                                                            - -
                                                                            - - - - - -
                                                                            -
                                                                            - - - - - - -
                                                                            - - - -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - -
                                                                            - -
                                                                            - - -
                                                                            - -
                                                                            - -
                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - - - - - - - -
                                                                            - -
                                                                            -

                                                                            bittensor.core.subtensor_api.queries#

                                                                            -
                                                                            -

                                                                            Classes#

                                                                            -
                                                                            - - - - - -

                                                                            Queries

                                                                            Class for managing subtensor query operations.

                                                                            -
                                                                            -
                                                                            -
                                                                            -

                                                                            Module Contents#

                                                                            -
                                                                            -
                                                                            -class bittensor.core.subtensor_api.queries.Queries(subtensor)[source]#
                                                                            -

                                                                            Class for managing subtensor query operations.

                                                                            -
                                                                            -
                                                                            Parameters:
                                                                            -

                                                                            subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

                                                                            -
                                                                            -
                                                                            -
                                                                            -
                                                                            -query_constant#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -query_map#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -query_map_subtensor#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -query_module#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -query_runtime_api#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -query_subtensor#
                                                                            -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - -
                                                                            - - - - - - - - -
                                                                            - - - - - - - -
                                                                            -
                                                                            - - -
                                                                            - - -
                                                                            -
                                                                            -
                                                                            - - - - - -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/staking/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/staking/index.html deleted file mode 100644 index c6523fa047..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/staking/index.html +++ /dev/null @@ -1,679 +0,0 @@ - - - - - - - - - - - bittensor.core.subtensor_api.staking — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - - - - - - - - - -
                                                                            - -
                                                                            - - - - - -
                                                                            -
                                                                            - - - - - - -
                                                                            - - - -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - -
                                                                            - -
                                                                            - - -
                                                                            - -
                                                                            - -
                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - - - - - - - -
                                                                            - -
                                                                            -

                                                                            bittensor.core.subtensor_api.staking#

                                                                            -
                                                                            -

                                                                            Classes#

                                                                            -
                                                                            - - - - - -

                                                                            Staking

                                                                            Class for managing staking operations.

                                                                            -
                                                                            -
                                                                            -
                                                                            -

                                                                            Module Contents#

                                                                            -
                                                                            -
                                                                            -class bittensor.core.subtensor_api.staking.Staking(subtensor)[source]#
                                                                            -

                                                                            Class for managing staking operations.

                                                                            -
                                                                            -
                                                                            Parameters:
                                                                            -

                                                                            subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

                                                                            -
                                                                            -
                                                                            -
                                                                            -
                                                                            -add_stake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -add_stake_multiple#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_hotkey_stake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_minimum_required_stake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_add_fee#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_for_coldkey#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_for_coldkey_and_hotkey#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_info_for_coldkey#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_movement_fee#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_operations_fee#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_weight#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_unstake_fee#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -move_stake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -unstake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -unstake_all#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -unstake_multiple#
                                                                            -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - -
                                                                            - - - - - - - - -
                                                                            - - - - - - - -
                                                                            -
                                                                            - - -
                                                                            - - -
                                                                            -
                                                                            -
                                                                            - - - - - -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/subnets/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/subnets/index.html deleted file mode 100644 index 0628154183..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/subnets/index.html +++ /dev/null @@ -1,854 +0,0 @@ - - - - - - - - - - - bittensor.core.subtensor_api.subnets — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - - - - - - - - - -
                                                                            - -
                                                                            - - - - - -
                                                                            -
                                                                            - - - - - - -
                                                                            - - - -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - -
                                                                            - -
                                                                            - - -
                                                                            - -
                                                                            - -
                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - - - - - - - -
                                                                            - -
                                                                            -

                                                                            bittensor.core.subtensor_api.subnets#

                                                                            -
                                                                            -

                                                                            Classes#

                                                                            -
                                                                            - - - - - -

                                                                            Subnets

                                                                            Class for managing subnet operations.

                                                                            -
                                                                            -
                                                                            -
                                                                            -

                                                                            Module Contents#

                                                                            -
                                                                            -
                                                                            -class bittensor.core.subtensor_api.subnets.Subnets(subtensor)[source]#
                                                                            -

                                                                            Class for managing subnet operations.

                                                                            -
                                                                            -
                                                                            Parameters:
                                                                            -

                                                                            subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

                                                                            -
                                                                            -
                                                                            -
                                                                            -
                                                                            -all_subnets#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -blocks_since_last_step#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -blocks_since_last_update#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -bonds#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -commit_reveal_enabled#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -difficulty#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_all_subnets_info#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_children#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_children_pending#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_current_weight_commit_info#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_hyperparameter#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_liquidity_list#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_mechanism_count#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_mechanism_emission_split#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_neuron_for_pubkey_and_subnet#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_next_epoch_start_block#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_parents#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_subnet_burn_cost#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_subnet_hyperparameters#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_subnet_info#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_subnet_owner_hotkey#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_subnet_price#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_subnet_prices#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_subnet_reveal_period_epochs#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_subnet_validator_permits#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_subnets#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_total_subnets#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_uid_for_hotkey_on_subnet#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -immunity_period#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -is_hotkey_registered_on_subnet#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -is_subnet_active#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -max_weight_limit#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -min_allowed_weights#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -recycle#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -register_subnet#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -set_subnet_identity#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -subnet#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -subnet_exists#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -subnetwork_n#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -tempo#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -weights#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -weights_rate_limit#
                                                                            -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - -
                                                                            - - - - - - - - -
                                                                            - - - - - - - -
                                                                            -
                                                                            - - -
                                                                            - - -
                                                                            -
                                                                            -
                                                                            - - - - - -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/utils/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/utils/index.html deleted file mode 100644 index f9a8ebd700..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/utils/index.html +++ /dev/null @@ -1,556 +0,0 @@ - - - - - - - - - - - bittensor.core.subtensor_api.utils — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - - - - - - - - - -
                                                                            - -
                                                                            - - - - - -
                                                                            -
                                                                            - - - - - - -
                                                                            - - - -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - -
                                                                            - -
                                                                            - - -
                                                                            - -
                                                                            - -
                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - - -
                                                                            -

                                                                            bittensor.core.subtensor_api.utils

                                                                            - -
                                                                            -
                                                                            - -
                                                                            -

                                                                            Contents

                                                                            -
                                                                            - -
                                                                            -
                                                                            -
                                                                            - - - - -
                                                                            - -
                                                                            -

                                                                            bittensor.core.subtensor_api.utils#

                                                                            -
                                                                            -

                                                                            Functions#

                                                                            -
                                                                            - - - - - -

                                                                            add_legacy_methods(subtensor)

                                                                            If SubtensorApi get subtensor_fields=True arguments, then all classic Subtensor fields added to root level.

                                                                            -
                                                                            -
                                                                            -
                                                                            -

                                                                            Module Contents#

                                                                            -
                                                                            -
                                                                            -bittensor.core.subtensor_api.utils.add_legacy_methods(subtensor)[source]#
                                                                            -

                                                                            If SubtensorApi get subtensor_fields=True arguments, then all classic Subtensor fields added to root level.

                                                                            -
                                                                            -
                                                                            Parameters:
                                                                            -

                                                                            subtensor (bittensor.core.subtensor_api.SubtensorApi)

                                                                            -
                                                                            -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - - -
                                                                            - - - - - - - - -
                                                                            - - - - -
                                                                            - - -
                                                                            -
                                                                            - - -
                                                                            - - -
                                                                            -
                                                                            -
                                                                            - - - - - -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/subtensor_api/wallets/index.html b/static/python-api/html/autoapi/bittensor/core/subtensor_api/wallets/index.html deleted file mode 100644 index 707ec44c91..0000000000 --- a/static/python-api/html/autoapi/bittensor/core/subtensor_api/wallets/index.html +++ /dev/null @@ -1,742 +0,0 @@ - - - - - - - - - - - bittensor.core.subtensor_api.wallets — Bittensor SDK Docs documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - - - - - - - - - -
                                                                            - -
                                                                            - - - - - -
                                                                            -
                                                                            - - - - - - -
                                                                            - - - -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - -
                                                                            - -
                                                                            - - -
                                                                            - -
                                                                            - -
                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - - - - - - - -
                                                                            - -
                                                                            -

                                                                            bittensor.core.subtensor_api.wallets#

                                                                            -
                                                                            -

                                                                            Classes#

                                                                            -
                                                                            - - - - - -

                                                                            Wallets

                                                                            Class for managing coldkey, hotkey, wallet operations.

                                                                            -
                                                                            -
                                                                            -
                                                                            -

                                                                            Module Contents#

                                                                            -
                                                                            -
                                                                            -class bittensor.core.subtensor_api.wallets.Wallets(subtensor)[source]#
                                                                            -

                                                                            Class for managing coldkey, hotkey, wallet operations.

                                                                            -
                                                                            -
                                                                            Parameters:
                                                                            -

                                                                            subtensor (Union[bittensor.core.subtensor.Subtensor, bittensor.core.async_subtensor.AsyncSubtensor])

                                                                            -
                                                                            -
                                                                            -
                                                                            -
                                                                            -does_hotkey_exist#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -filter_netuids_by_registered_hotkeys#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_balance#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_balances#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_children#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_children_pending#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_delegate_by_hotkey#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_delegate_take#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_delegated#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_hotkey_owner#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_hotkey_stake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_minimum_required_stake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_netuids_for_hotkey#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_owned_hotkeys#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_add_fee#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_for_coldkey#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_for_coldkey_and_hotkey#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_for_hotkey#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_info_for_coldkey#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_stake_movement_fee#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_transfer_fee#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -get_unstake_fee#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -is_hotkey_delegate#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -is_hotkey_registered#
                                                                            -
                                                                            - -
                                                                            -
                                                                            -is_hotkey_registered_any#
                                                                            -
                                                                            - -
                                                                            - -
                                                                            -
                                                                            - - -
                                                                            - - - - - - - - -
                                                                            - - - - - - - -
                                                                            -
                                                                            - - -
                                                                            - - -
                                                                            -
                                                                            -
                                                                            - - - - - -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/static/python-api/html/autoapi/bittensor/core/synapse/index.html b/static/python-api/html/autoapi/bittensor/core/synapse/index.html index 7d71240be8..cc0191a2da 100644 --- a/static/python-api/html/autoapi/bittensor/core/synapse/index.html +++ b/static/python-api/html/autoapi/bittensor/core/synapse/index.html @@ -49,7 +49,7 @@ - + @@ -150,7 +150,6 @@
                                                                          • API Reference
                                                                          @@ -508,19 +505,22 @@

                                                                          Attributes

                                                                          hex_to_bytes

                                                                          -

                                                                          logging

                                                                          +

                                                                          hex_to_ss58

                                                                          -

                                                                          ss58_decode

                                                                          +

                                                                          logging

                                                                          -

                                                                          torch

                                                                          +

                                                                          ss58_decode

                                                                          -

                                                                          use_torch

                                                                          +

                                                                          ss58_to_hex

                                                                          -

                                                                          version_checking

                                                                          +

                                                                          torch

                                                                          +

                                                                          + +

                                                                          use_torch

                                                                          @@ -560,9 +560,15 @@

                                                                          Functions

                                                                          format_error_message(error_message)

                                                                          Formats an error message from the Subtensor error information for use in extrinsics.

                                                                          -

                                                                          get_explorer_url_for_network(network, block_hash, ...)

                                                                          +

                                                                          get_caller_name([depth])

                                                                          +

                                                                          Return the name of the caller function.

                                                                          + +

                                                                          get_explorer_url_for_network(network, block_hash, ...)

                                                                          Returns the explorer url for the given block hash and network.

                                                                          +

                                                                          get_function_name()

                                                                          +

                                                                          Return the current function's name.

                                                                          +

                                                                          get_hash(content[, encoding])

                                                                          @@ -572,34 +578,31 @@

                                                                          Functions

                                                                          get_netuid_and_mechid_by_storage_index(storage_index)

                                                                          Returns the netuid and mechid from the storage index.

                                                                          -

                                                                          get_transfer_fn_params(amount, destination, keep_alive)

                                                                          -

                                                                          Helper function to get the transfer call function and call params, depending on the value and keep_alive flag

                                                                          - -

                                                                          is_valid_bittensor_address_or_public_key(address)

                                                                          +

                                                                          is_valid_bittensor_address_or_public_key(address)

                                                                          Checks if the given address is a valid destination address.

                                                                          -

                                                                          is_valid_ss58_address(address)

                                                                          +

                                                                          is_valid_ss58_address(address)

                                                                          Checks if the given address is a valid ss58 address.

                                                                          -

                                                                          ss58_address_to_bytes(ss58_address)

                                                                          +

                                                                          ss58_address_to_bytes(ss58_address)

                                                                          Converts a ss58 address to a bytes object.

                                                                          -

                                                                          ss58_to_vec_u8(ss58_address)

                                                                          +

                                                                          ss58_to_vec_u8(ss58_address)

                                                                          -

                                                                          strtobool(val)

                                                                          +

                                                                          strtobool(val)

                                                                          Converts a string to a boolean value.

                                                                          -

                                                                          u16_normalized_float(x)

                                                                          +

                                                                          u16_normalized_float(x)

                                                                          -

                                                                          u64_normalized_float(x)

                                                                          +

                                                                          u64_normalized_float(x)

                                                                          -

                                                                          unlock_key(wallet[, unlock_type, raise_error])

                                                                          +

                                                                          unlock_key(wallet[, unlock_type, raise_error])

                                                                          Attempts to decrypt a wallet's coldkey or hotkey

                                                                          -

                                                                          validate_chain_endpoint(endpoint_url)

                                                                          +

                                                                          validate_chain_endpoint(endpoint_url)

                                                                          Validates if the provided endpoint URL is a valid WebSocket URL.

                                                                          @@ -709,15 +712,11 @@

                                                                          Package Contents
                                                                          Parameters:
                                                                          -

                                                                          network (str) – The network flag. The choices are: finney (main network), archive (archive network -+300 blocks), local (local running network), test (test network).

                                                                          +

                                                                          network (str) – The network flag. The choices are: finney (main network), archive (archive network +300 blocks), +local (local running network), test (test network).

                                                                          Returns:
                                                                          -

                                                                          -
                                                                          The network and chain endpoint flag. If passed, overrides the

                                                                          network argument.

                                                                          -
                                                                          -
                                                                          -

                                                                          +

                                                                          The network and chain endpoint flag. If passed, overrides the network argument.

                                                                          Return type:

                                                                          tuple[Optional[str], Optional[str]]

                                                                          @@ -757,6 +756,20 @@

                                                                          Package Contents +
                                                                          +bittensor.utils.get_caller_name(depth=2)#
                                                                          +

                                                                          Return the name of the caller function.

                                                                          +
                                                                          +
                                                                          Parameters:
                                                                          +

                                                                          depth (int)

                                                                          +
                                                                          +
                                                                          Return type:
                                                                          +

                                                                          str

                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          bittensor.utils.get_explorer_url_for_network(network, block_hash, network_map)[source]#
                                                                          @@ -770,8 +783,7 @@

                                                                          Package ContentsReturns: -

                                                                          The explorer url for the given block hash and network. -Or None if the network is not known.

                                                                          +

                                                                          The explorer url for the given block hash and network. Or None if the network is not known.

                                                                          Return type:

                                                                          Optional[dict[str, str]]

                                                                          @@ -779,6 +791,17 @@

                                                                          Package Contents +
                                                                          +bittensor.utils.get_function_name()#
                                                                          +

                                                                          Return the current function’s name.

                                                                          +
                                                                          +
                                                                          Return type:
                                                                          +

                                                                          str

                                                                          +
                                                                          +
                                                                          +

                                                                          +
                                                                          bittensor.utils.get_hash(content, encoding='utf-8')[source]#
                                                                          @@ -827,35 +850,16 @@

                                                                          Package Contents -
                                                                          -bittensor.utils.get_transfer_fn_params(amount, destination, keep_alive)#
                                                                          -
                                                                          -
                                                                          Helper function to get the transfer call function and call params, depending on the value and keep_alive flag

                                                                          provided

                                                                          -
                                                                          -
                                                                          -
                                                                          -
                                                                          Parameters:
                                                                          -
                                                                            -
                                                                          • amount (Optional[balance.Balance]) – the amount of Tao to transfer. None if transferring all.

                                                                          • -
                                                                          • destination (str) – the destination SS58 of the transfer

                                                                          • -
                                                                          • keep_alive (bool) – whether to enforce a retention of the existential deposit in the account after transfer.

                                                                          • -
                                                                          -
                                                                          -
                                                                          Returns:
                                                                          -

                                                                          tuple[call function, call params]

                                                                          -
                                                                          -
                                                                          Return type:
                                                                          -

                                                                          tuple[str, dict[str, Union[str, int, bool]]]

                                                                          -
                                                                          -
                                                                          -

                                                                          -
                                                                          bittensor.utils.hex_to_bytes[source]#
                                                                          +
                                                                          +
                                                                          +bittensor.utils.hex_to_ss58#
                                                                          +
                                                                          +
                                                                          bittensor.utils.is_valid_bittensor_address_or_public_key(address)[source]#
                                                                          @@ -914,6 +918,11 @@

                                                                          Package Contentsbittensor.utils.ss58_decode[source]#

                                                                          +
                                                                          +
                                                                          +bittensor.utils.ss58_to_hex#
                                                                          +
                                                                          +
                                                                          bittensor.utils.ss58_to_vec_u8(ss58_address)[source]#
                                                                          @@ -982,8 +991,8 @@

                                                                          Package Contents
                                                                          Parameters:
                                                                            -
                                                                          • wallet (bittensor_wallet.Wallet) – a Wallet object

                                                                          • -
                                                                          • unlock_type – the key type, ‘coldkey’ or ‘hotkey’

                                                                          • +
                                                                          • wallet (bittensor_wallet.Wallet) – Bittensor Wallet instance.

                                                                          • +
                                                                          • unlock_type – the key type, ‘coldkey’ or ‘hotkey’.

                                                                          • raise_error – if False, will return (False, error msg), if True will raise the otherwise-caught exception.

                                                                          @@ -1021,11 +1030,6 @@

                                                                          Package Contents -
                                                                          -bittensor.utils.version_checking#
                                                                          -

                                                                          - @@ -1098,17 +1102,20 @@

                                                                          Package Contentsdetermine_chain_endpoint_and_network()

                                                                        • float_to_u64()
                                                                        • format_error_message()
                                                                        • +
                                                                        • get_caller_name()
                                                                        • get_explorer_url_for_network()
                                                                        • +
                                                                        • get_function_name()
                                                                        • get_hash()
                                                                        • get_mechid_storage_index()
                                                                        • get_netuid_and_mechid_by_storage_index()
                                                                        • -
                                                                        • get_transfer_fn_params()
                                                                        • hex_to_bytes
                                                                        • +
                                                                        • hex_to_ss58
                                                                        • is_valid_bittensor_address_or_public_key()
                                                                        • is_valid_ss58_address()
                                                                        • logging
                                                                        • ss58_address_to_bytes()
                                                                        • ss58_decode
                                                                        • +
                                                                        • ss58_to_hex
                                                                        • ss58_to_vec_u8()
                                                                        • strtobool()
                                                                        • torch
                                                                        • @@ -1117,7 +1124,6 @@

                                                                          Package Contentsunlock_key()

                                                                        • use_torch
                                                                        • validate_chain_endpoint()
                                                                        • -
                                                                        • version_checking
                                                                      diff --git a/static/python-api/html/autoapi/bittensor/utils/liquidity/index.html b/static/python-api/html/autoapi/bittensor/utils/liquidity/index.html index d4f1afd75a..3ef9fad3be 100644 --- a/static/python-api/html/autoapi/bittensor/utils/liquidity/index.html +++ b/static/python-api/html/autoapi/bittensor/utils/liquidity/index.html @@ -150,7 +150,6 @@
                                                                    • API Reference
                                                                    • -
                                                                    • do_serve_axon() (in module bittensor.core.extrinsics.asyncex.serving) - -
                                                                    • -
                                                                    • does_hotkey_exist (bittensor.core.subtensor_api.wallets.Wallets attribute) - -
                                                                    • -
                                                                    • does_hotkey_exist() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                    • drain (bittensor.core.chain_data.stake_info.StakeInfo attribute)
                                                                    • Drand (in module bittensor.extras.dev_framework.calls.pallets) @@ -3091,26 +2729,14 @@

                                                                      E

                                                                  • encode() (bittensor.core.chain_data.ip_info.IPInfo method)
                                                                  • -
                                                                  • encode_params (bittensor.core.subtensor_api.SubtensorApi attribute) - -
                                                                  • -
                                                                  - + - +
                                                                • -
                                                                • generate() (bittensor.utils.substrate_utils.storage.StorageKey method) -
                                                                • generate_weight_hash() (in module bittensor.utils.weight_utils)
                                                                • -
                                                                • get_admin_freeze_window (bittensor.core.subtensor_api.chain.Chain attribute) - -
                                                                • -
                                                                • get_admin_freeze_window() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_all_commitments (bittensor.core.subtensor_api.commitments.Commitments attribute) - -
                                                                • -
                                                                • get_all_commitments() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_all_metagraphs_info (bittensor.core.subtensor_api.metagraphs.Metagraphs attribute) - -
                                                                • -
                                                                • get_all_metagraphs_info() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_all_neuron_certificates (bittensor.core.subtensor_api.neurons.Neurons attribute) - -
                                                                • -
                                                                • get_all_neuron_certificates() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_all_revealed_commitments (bittensor.core.subtensor_api.commitments.Commitments attribute) - -
                                                                • -
                                                                • get_all_revealed_commitments() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_all_subnets_info (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_all_subnets_info() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_all_subnets_netuid (bittensor.extras.subtensor_api.subnets.Subnets attribute)
                                                                • -
                                                                • get_and_save_latest_version() (in module bittensor.utils.version) +
                                                                • get_all_subnets_netuid() (bittensor.core.subtensor.Subtensor method)
                                                                • -
                                                                • get_async_subtensor() (in module bittensor.core.async_subtensor) +
                                                                • get_and_save_latest_version() (in module bittensor.utils.version)
                                                                • get_auto_stakes (bittensor.extras.subtensor_api.staking.Staking attribute)
                                                                • -
                                                                • get_balance (bittensor.core.subtensor_api.wallets.Wallets attribute) - -
                                                                • -
                                                                • get_balance() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_balances (bittensor.core.subtensor_api.wallets.Wallets attribute) - -
                                                                • -
                                                                • get_balances() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_block_hash (bittensor.core.subtensor_api.chain.Chain attribute) - -
                                                                • -
                                                                • get_block_hash() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_block_info (bittensor.extras.subtensor_api.chain.Chain attribute) +
                                                                • get_block_hash() (bittensor.core.subtensor.Subtensor method)
                                                                • -
                                                                • get_children (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_children() (bittensor.core.async_subtensor.AsyncSubtensor method) +
                                                                • get_children (bittensor.extras.subtensor_api.subnets.Subnets attribute)
                                                                • -
                                                                • get_children_pending (bittensor.core.subtensor_api.subnets.Subnets attribute) +
                                                                • get_children() (bittensor.core.subtensor.Subtensor method) +
                                                                • +
                                                                • get_children_pending (bittensor.extras.subtensor_api.subnets.Subnets attribute)
                                                                • -
                                                                • get_children_pending() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_commitment (bittensor.core.subtensor_api.commitments.Commitments attribute) - -
                                                                • -
                                                                • get_commitment() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_commitment_metadata (bittensor.extras.subtensor_api.commitments.Commitments attribute) +
                                                                • +
                                                                • get_commitment_metadata() (bittensor.core.subtensor.Subtensor method)
                                                                • get_config() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method)
                                                                • get_cpu_count() (in module bittensor.utils.registration.pow)
                                                                • -
                                                                • get_current_block (bittensor.core.subtensor_api.chain.Chain attribute) - -
                                                                • -
                                                                • get_current_block() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_current_weight_commit_info (bittensor.core.subtensor_api.commitments.Commitments attribute) +
                                                                • get_delegate_by_hotkey (bittensor.extras.subtensor_api.delegates.Delegates attribute)
                                                                • -
                                                                • get_current_weight_commit_info() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_current_weight_commit_info_v2 (bittensor.core.subtensor_api.commitments.Commitments attribute) -
                                                                • -
                                                                • get_current_weight_commit_info_v2() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_delegate_by_hotkey (bittensor.core.subtensor_api.delegates.Delegates attribute) - -
                                                                • -
                                                                • get_delegate_by_hotkey() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_delegate_identities (bittensor.core.subtensor_api.chain.Chain attribute) +
                                                                • get_delegate_identities (bittensor.extras.subtensor_api.chain.Chain attribute)
                                                                • -
                                                                • get_delegate_identities() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_delegate_take (bittensor.core.subtensor_api.delegates.Delegates attribute) +
                                                                • get_delegate_take (bittensor.extras.subtensor_api.delegates.Delegates attribute)
                                                                • -
                                                                • get_delegate_take() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_delegated (bittensor.core.subtensor_api.delegates.Delegates attribute) +
                                                                • get_delegated (bittensor.extras.subtensor_api.delegates.Delegates attribute)
                                                                • -
                                                                • get_delegated() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_delegates (bittensor.core.subtensor_api.delegates.Delegates attribute) - -
                                                                • -
                                                                • get_delegates() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_existential_deposit (bittensor.core.subtensor_api.chain.Chain attribute) - -
                                                                • -
                                                                • get_existential_deposit() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_explorer_url_for_network() (in module bittensor.utils)
                                                                • get_external_ip() (in module bittensor.utils.networking)
                                                                • get_extrinsic_fee (bittensor.extras.subtensor_api.extrinsics.Extrinsics attribute)
                                                                • -
                                                                • get_extrinsic_fee() (in module bittensor.core.extrinsics.asyncex.utils) - -
                                                                • get_fees() (in module bittensor.utils.liquidity)
                                                                • get_fees_in_range() (in module bittensor.utils.liquidity)
                                                                • get_formatted_ws_endpoint_url() (in module bittensor.utils.networking) +
                                                                • +
                                                                • get_function_name() (in module bittensor.utils)
                                                                • get_hash() (in module bittensor.utils)
                                                                • -
                                                                • get_hotkey_owner (bittensor.core.subtensor_api.wallets.Wallets attribute) - -
                                                                • -
                                                                • get_hotkey_owner() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_hotkey_stake (bittensor.core.async_subtensor.AsyncSubtensor attribute) +
                                                                • get_hotkey_stake (bittensor.core.subtensor.Subtensor attribute)
                                                                • get_human_readable() (in module bittensor.utils.formatting)
                                                                • -
                                                                • get_hyperparameter (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_hyperparameter() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_last_bonds_reset (bittensor.extras.subtensor_api.commitments.Commitments attribute)
                                                                • -
                                                                • get_last_bonds_reset() (in module bittensor.core.extrinsics.asyncex.serving) - -
                                                                • -
                                                                • get_last_commitment_bonds_reset_block (bittensor.core.subtensor_api.commitments.Commitments attribute) - -
                                                                • -
                                                                • get_last_commitment_bonds_reset_block() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_level() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method)
                                                                • -
                                                                • get_liquidity_list (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_liquidity_list() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_max_logger_name_length() (in module bittensor.utils.btlogging.helpers)
                                                                • -
                                                                • get_mechanism_count (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_mechanism_count() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_mechanism_emission_split (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_mechanism_emission_split() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_mechid_storage_index() (in module bittensor.utils)
                                                                • -
                                                                • get_metadata() (in module bittensor.core.extrinsics.asyncex.serving) - -
                                                                • -
                                                                • get_metagraph_info (bittensor.core.subtensor_api.metagraphs.Metagraphs attribute) - -
                                                                • -
                                                                • get_metagraph_info() (bittensor.core.async_subtensor.AsyncSubtensor method) - - +
                                                                • -
                                                                • get_minimum_required_stake (bittensor.core.subtensor_api.chain.Chain attribute) +
                                                                • get_minimum_required_stake (bittensor.extras.subtensor_api.chain.Chain attribute)
                                                                • -
                                                                -
                                                                  -
                                                                • get_minimum_required_stake() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_netuid_and_mechid_by_storage_index() (in module bittensor.utils)
                                                                • -
                                                                • get_netuids_for_hotkey (bittensor.core.subtensor_api.wallets.Wallets attribute) - -
                                                                • -
                                                                • get_netuids_for_hotkey() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_neuron_certificate (bittensor.core.subtensor_api.neurons.Neurons attribute) - -
                                                                • -
                                                                • get_neuron_certificate() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_neuron_for_pubkey_and_subnet (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_neuron_for_pubkey_and_subnet() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_next_epoch_start_block (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_next_epoch_start_block() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_null_neuron() (bittensor.core.chain_data.neuron_info.NeuronInfo static method)
                                                                    @@ -3861,392 +3207,156 @@

                                                                    G

                                                                • get_old_stakes() (in module bittensor.core.extrinsics.utils)
                                                                • -
                                                                • get_owned_hotkeys (bittensor.core.subtensor_api.wallets.Wallets attribute) - -
                                                                • -
                                                                • get_owned_hotkeys() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_parents (bittensor.core.subtensor_api.subnets.Subnets attribute) +
                                                                • get_parents (bittensor.extras.subtensor_api.subnets.Subnets attribute)
                                                                • -
                                                                • get_parents() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_queue() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method)
                                                                • get_required_fields() (bittensor.core.synapse.Synapse method)
                                                                • -
                                                                • get_revealed_commitment (bittensor.core.subtensor_api.commitments.Commitments attribute) - -
                                                                • -
                                                                • get_revealed_commitment() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_revealed_commitment_by_hotkey (bittensor.core.subtensor_api.commitments.Commitments attribute) - -
                                                                • -
                                                                • get_revealed_commitment_by_hotkey() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_save_dir() (in module bittensor.core.metagraph)
                                                                • get_selective_metagraph_commitments() (in module bittensor.core.chain_data.metagraph_info)
                                                                • get_size() (in module bittensor.core.synapse)
                                                                • -
                                                                • get_stake (bittensor.core.subtensor_api.staking.Staking attribute) +
                                                                • get_stake (bittensor.extras.subtensor_api.staking.Staking attribute)
                                                                • -
                                                                • get_stake() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_stake_add_fee (bittensor.core.subtensor_api.staking.Staking attribute) +
                                                                • get_stake_add_fee (bittensor.extras.subtensor_api.staking.Staking attribute)
                                                                • -
                                                                • get_stake_add_fee() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_stake_for_coldkey (bittensor.core.subtensor_api.staking.Staking attribute) +
                                                                • get_stake_for_coldkey_and_hotkey (bittensor.extras.subtensor_api.staking.Staking attribute)
                                                                • -
                                                                • get_stake_for_coldkey() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.staking.Staking attribute) - -
                                                                • -
                                                                • get_stake_for_coldkey_and_hotkey() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_stake_for_hotkey (bittensor.core.subtensor_api.wallets.Wallets attribute) - -
                                                                • -
                                                                • get_stake_for_hotkey() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_stake_info_for_coldkey (bittensor.core.async_subtensor.AsyncSubtensor attribute) +
                                                                • get_stake_info_for_coldkey (bittensor.extras.subtensor_api.staking.Staking attribute)
                                                                • -
                                                                • get_stake_movement_fee (bittensor.core.subtensor_api.staking.Staking attribute) - -
                                                                • -
                                                                • get_stake_movement_fee() (bittensor.core.async_subtensor.AsyncSubtensor method) +
                                                                • get_stake_movement_fee (bittensor.extras.subtensor_api.staking.Staking attribute)
                                                                • -
                                                                • get_stake_operations_fee (bittensor.core.subtensor_api.staking.Staking attribute) +
                                                                • get_stake_movement_fee() (bittensor.core.subtensor.Subtensor method)
                                                                • -
                                                                • get_stake_operations_fee() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_stake_weight (bittensor.core.subtensor_api.staking.Staking attribute) - -
                                                                • -
                                                                • get_stake_weight() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_status_message() (bittensor.utils.registration.pow.RegistrationStatisticsLogger class method)
                                                                • -
                                                                • get_subnet_burn_cost (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_subnet_burn_cost() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_subnet_hyperparameters (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_subnet_hyperparameters() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_subnet_info (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_subnet_info() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_subnet_owner_hotkey (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_subnet_owner_hotkey() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_subnet_price (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_subnet_price() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_subnet_prices (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_subnet_prices() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_subnet_reveal_period_epochs (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_subnet_reveal_period_epochs() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_subnet_validator_permits (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_subnet_validator_permits() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_subnets (bittensor.core.subtensor_api.subnets.Subnets attribute) +
                                                                • get_subnet_reveal_period_epochs (bittensor.extras.subtensor_api.subnets.Subnets attribute)
                                                                • -
                                                                • get_subnets() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_timelocked_weight_commits (bittensor.core.subtensor_api.commitments.Commitments attribute) - -
                                                                • -
                                                                • get_timelocked_weight_commits() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_timestamp (bittensor.core.subtensor_api.chain.Chain attribute) - -
                                                                • -
                                                                • get_timestamp() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_total_size() (bittensor.core.synapse.Synapse method), [1]
                                                                • -
                                                                • get_total_subnets (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_total_subnets() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_transfer_fee (bittensor.core.subtensor_api.wallets.Wallets attribute) - -
                                                                • -
                                                                • get_transfer_fee() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_transfer_fn_params() (in module bittensor.core.extrinsics.params.transfer) - -
                                                                • -
                                                                • get_uid_for_hotkey_on_subnet (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • get_uid_for_hotkey_on_subnet() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • get_unit() (bittensor.utils.balance.Balance static method)
                                                                • -
                                                                • get_unstake_fee (bittensor.core.subtensor_api.staking.Staking attribute) +
                                                                • get_unstake_fee (bittensor.extras.subtensor_api.staking.Staking attribute)
                                                                • -
                                                                • get_unstake_fee() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • get_vote_data (bittensor.core.subtensor_api.chain.Chain attribute) - -
                                                                • -
                                                                • get_vote_data() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • github (bittensor.core.chain_data.chain_identity.ChainIdentity attribute)
                                                                • github_repo (bittensor.core.chain_data.subnet_identity.SubnetIdentity attribute) @@ -4267,9 +3377,11 @@

                                                                  G

                                                                  H

                                                                  + - - + + - - + + -
                                                                  -
                                                                • immunity_period() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • ImmunityPeriod (bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex attribute)
                                                                • IMPORT_TEXT (in module bittensor.extras.dev_framework.calls) @@ -4515,12 +3619,6 @@

                                                                  I

                                                                • INCREASE_TAKE (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • increase_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take) - -
                                                                • index (bittensor.core.chain_data.proposal_vote_data.ProposalVoteData attribute)
                                                                • InfoBase (class in bittensor.core.chain_data.info_base) @@ -4567,13 +3663,7 @@

                                                                  I

                                                                • (bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2 attribute)
                                                                • -
                                                                • initialize (bittensor.core.subtensor_api.SubtensorApi attribute) - -
                                                                • -
                                                                • initialize() (bittensor.core.async_subtensor.AsyncSubtensor method) +
                                                                • initialize (bittensor.extras.subtensor_api.SubtensorApi attribute)
                                                                • inner_subtensor (bittensor.extras.subtensor_api.SubtensorApi attribute)
                                                                • @@ -4581,6 +3671,8 @@

                                                                  I

                                                                • install_signal_handlers() (bittensor.core.axon.FastAPIThreadedServer method)
                                                                • +
                                                                  - -
                                                                • is_async (bittensor.core.subtensor_api.SubtensorApi attribute) - -
                                                                • is_blacklist (bittensor.core.synapse.Synapse property)
                                                                • is_dynamic (bittensor.core.chain_data.dynamic_info.DynamicInfo attribute) @@ -4667,84 +3753,38 @@

                                                                  I

                                                                • is_failure (bittensor.core.synapse.Synapse property)
                                                                • -
                                                                • is_fast_blocks (bittensor.core.subtensor_api.chain.Chain attribute) - -
                                                                • -
                                                                • is_fast_blocks() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • is_hotkey_delegate (bittensor.core.subtensor_api.delegates.Delegates attribute) +
                                                                • is_hotkey_delegate (bittensor.extras.subtensor_api.delegates.Delegates attribute)
                                                                • -
                                                                • is_hotkey_delegate() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • is_hotkey_registered (bittensor.core.subtensor_api.wallets.Wallets attribute) - -
                                                                • -
                                                                • is_hotkey_registered() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • is_hotkey_registered_any (bittensor.core.subtensor_api.wallets.Wallets attribute) - -
                                                                • -
                                                                • is_hotkey_registered_any() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • is_hotkey_registered_on_subnet (bittensor.core.subtensor_api.subnets.Subnets attribute) +
                                                                • is_hotkey_registered_on_subnet (bittensor.extras.subtensor_api.subnets.Subnets attribute)
                                                                • -
                                                                • is_hotkey_registered_on_subnet() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • is_in_admin_freeze_window (bittensor.core.subtensor_api.chain.Chain attribute) - -
                                                                • -
                                                                • is_in_admin_freeze_window() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • is_instance_namedtuple() (in module bittensor.extras.dev_framework.utils)
                                                                • is_null (bittensor.core.chain_data.neuron_info.NeuronInfo attribute) @@ -4765,18 +3805,10 @@

                                                                  I

                                                                • is_stale_async() (bittensor.utils.registration.pow.POWSolution method)
                                                                • -
                                                                • is_subnet_active (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • is_subnet_active() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • is_success (bittensor.core.synapse.Synapse property)
                                                                • is_timeout (bittensor.core.synapse.Synapse property) @@ -4825,8 +3857,6 @@

                                                                  K

                                                                • (bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED attribute)
                                                                • -
                                                                • keyfile (in module bittensor.utils.easy_imports) -
                                                                • keypair (bittensor.core.dendrite.DendriteMixin attribute)
                                                                • keys (bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE attribute) @@ -4843,18 +3873,10 @@

                                                                  K

                                                                  L

                                                                  + -
                                                                • proposal_weight_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE attribute) +
                                                                • +
                                                                • ProposalCallData (in module bittensor.core.chain_data)
                                                                • ProposalVoteData (class in bittensor.core.chain_data.proposal_vote_data)
                                                                • @@ -6934,10 +5826,10 @@

                                                                  P

                                                                • PruningScore (bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex attribute)
                                                                • -
                                                                • publish_metadata() (in module bittensor.core.extrinsics.asyncex.serving) +
                                                                • publish_metadata_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)
                                                                • pulses_payload (bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE attribute) @@ -6948,18 +5840,10 @@

                                                                  P

                                                                  Q

                                                                  @@ -7116,39 +5944,27 @@

                                                                  R

                                                                • recreate_calls_subpackage() (in module bittensor.extras.dev_framework.calls)
                                                                • -
                                                                • recycle (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • recycle() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • RECYCLE_ALPHA (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • recycle_or_burn (bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN attribute)
                                                                • REFUND (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • register (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) +
                                                                • register (bittensor.extras.subtensor_api.extrinsics.Extrinsics attribute)
                                                                • REGISTER (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • register() (bittensor.core.async_subtensor.AsyncSubtensor method) +
                                                                • register() (bittensor.core.extrinsics.params.registration.RegistrationParams class method)
                                                                • @@ -7170,24 +5986,16 @@

                                                                  R

                                                                • register_primary_logger() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method)
                                                                • -
                                                                • register_subnet (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) +
                                                                • register_subnet (bittensor.extras.subtensor_api.extrinsics.Extrinsics attribute)
                                                                • REGISTER_SUBNET (in module bittensor.extras.dev_framework.utils)
                                                                • -
                                                                • register_subnet() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • register_subnet_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)
                                                                • +
                                                                • ROOT_DISSOLVE_NETWORK (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • root_register (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) - -
                                                                • ROOT_REGISTER (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • root_register() (bittensor.core.async_subtensor.AsyncSubtensor method) +
                                                                • root_register() (bittensor.core.extrinsics.params.root.RootParams class method)
                                                                • @@ -7402,30 +6182,14 @@

                                                                  R

                                                                • (in module bittensor.core.extrinsics.root)
                                                                • -
                                                                • root_set_pending_childkey_cooldown (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) - -
                                                                • -
                                                                • root_set_pending_childkey_cooldown() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)
                                                                • -
                                                                • root_set_weights (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) -
                                                                • -
                                                                • root_set_weights() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • ROOT_TAO_STAKE_WEIGHT (in module bittensor.core.settings) @@ -7447,8 +6211,6 @@

                                                                  R

                                                                • run_in_thread() (bittensor.core.axon.FastAPIThreadedServer method)
                                                                • RunException -
                                                                • -
                                                                • runtime_config (bittensor.utils.substrate_utils.storage.StorageKey attribute)
                                                                • @@ -7512,20 +6274,12 @@

                                                                  S

                                                                • serve() (bittensor.core.axon.Axon method)
                                                                • -
                                                                • serve_axon (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) - -
                                                                • SERVE_AXON (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • serve_axon() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • serve_axon_and_tls() (bittensor.core.extrinsics.params.serving.ServingParams class method)
                                                                • serve_axon_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving) @@ -7564,27 +6318,31 @@

                                                                  S

                                                                • set_auto_stake (bittensor.extras.subtensor_api.staking.Staking attribute)
                                                                • +
                                                                • set_auto_stake() (bittensor.core.subtensor.Subtensor method) +
                                                                • +
                                                                • set_auto_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking) + +
                                                                • SET_BASE_FEE_PER_GAS (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • SET_BEACON_CONFIG (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • SET_CHILDKEY_TAKE (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • set_children (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) +
                                                                • set_children (bittensor.extras.subtensor_api.extrinsics.Extrinsics attribute)
                                                                • SET_CHILDREN (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • set_children() (bittensor.core.async_subtensor.AsyncSubtensor method) +
                                                                • set_children() (bittensor.core.extrinsics.params.children.ChildrenParams class method)
                                                                • @@ -7602,22 +6360,20 @@

                                                                  S

                                                                • set_coldkey_auto_stake_hotkey() (bittensor.core.extrinsics.params.staking.StakingParams class method)
                                                                • -
                                                                • set_commitment (bittensor.core.async_subtensor.AsyncSubtensor attribute) +
                                                                • set_commitment (bittensor.extras.subtensor_api.commitments.Commitments attribute)
                                                                • SET_COMMITMENT (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • set_commitment() (bittensor.core.extrinsics.params.serving.ServingParams class method) + +
                                                                • set_config() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method)
                                                                • set_console() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method) @@ -7626,18 +6382,10 @@

                                                                  S

                                                                • set_default() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method)
                                                                • -
                                                                • set_delegate_take (bittensor.core.subtensor_api.delegates.Delegates attribute) - -
                                                                • -
                                                                • set_delegate_take() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • SET_ELASTICITY (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • SET_FEE_RATE (class in bittensor.extras.dev_framework.calls.non_sudo_calls) @@ -7658,12 +6406,6 @@

                                                                  S

                                                                • set_mechanism_weights() (bittensor.core.extrinsics.params.weights.WeightsParams class method)
                                                                • -
                                                                • set_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.mechanism) - -
                                                                • SET_MEMBERS (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • set_name_type() (bittensor.core.synapse.Synapse method) @@ -7680,43 +6422,23 @@

                                                                  S

                                                                • SET_RETRY_NAMED (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • set_reveal_commitment (bittensor.core.subtensor_api.commitments.Commitments attribute) - -
                                                                • -
                                                                • set_reveal_commitment() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • set_root_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.root) - -
                                                                • SET_STORAGE (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • set_subnet_identity (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) +
                                                                • set_subnet_identity (bittensor.extras.subtensor_api.extrinsics.Extrinsics attribute)
                                                                • SET_SUBNET_IDENTITY (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • set_subnet_identity() (bittensor.core.async_subtensor.AsyncSubtensor method) +
                                                                • set_subnet_identity() (bittensor.core.extrinsics.params.registration.RegistrationParams class method)
                                                                • @@ -7724,6 +6446,12 @@

                                                                  S

                                                                  +
                                                                • set_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take) + +
                                                                • set_trace() (bittensor.utils.btlogging.format.BtStreamFormatter method) @@ -7736,25 +6464,15 @@

                                                                  S

                                                                • set_warning() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method)
                                                                • -
                                                                • set_weights (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) - -
                                                                • SET_WEIGHTS (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • set_weights() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • set_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)
                                                                • @@ -7762,12 +6480,8 @@

                                                                  S

                                                                • setLevel() (bittensor.utils.btlogging.loggingmachine.LoggingMachine method)
                                                                • -
                                                                • setup_config (bittensor.core.subtensor_api.SubtensorApi attribute) - -
                                                                • setup_config() (bittensor.core.types.SubtensorMixin static method)
                                                                • shape (bittensor.core.tensor.Tensor attribute) @@ -7782,18 +6496,10 @@

                                                                  S

                                                                • shutdown() (bittensor.core.threadpool.PriorityThreadPoolExecutor method)
                                                                • -
                                                                • sign_and_send_extrinsic (bittensor.core.subtensor_api.SubtensorApi attribute) - -
                                                                • -
                                                                • sign_and_send_extrinsic() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • signature (bittensor.core.synapse.TerminalInfo attribute)
                                                                    @@ -7805,6 +6511,8 @@

                                                                    S

                                                                • sim_swap (bittensor.extras.subtensor_api.staking.Staking attribute) +
                                                                • +
                                                                • sim_swap() (bittensor.core.subtensor.Subtensor method)
                                                                • SimSwapResult (class in bittensor.core.chain_data.sim_swap)
                                                                • @@ -7836,7 +6544,7 @@

                                                                  S

                                                                • ss58_decode (in module bittensor.utils)
                                                                • -
                                                                • SS58_FORMAT (in module bittensor.core.settings) +
                                                                • ss58_to_hex (in module bittensor.utils)
                                                                • ss58_to_vec_u8() (in module bittensor.utils)
                                                                • @@ -7870,18 +6578,10 @@

                                                                  S

                                                                • (class in bittensor.core.chain_data.stake_info)
                                                                • -
                                                                • staking (bittensor.core.subtensor_api.SubtensorApi property) - -
                                                                • -
                                                                • Staking (class in bittensor.core.subtensor_api.staking) - -
                                                                • StakingParams (class in bittensor.core.extrinsics.params.staking)
                                                                • start() (bittensor.core.axon.Axon method) @@ -7894,13 +6594,9 @@

                                                                  S

                                                                • (bittensor.utils.registration.pow.Status method)
                                                                • -
                                                                • start_call (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) +
                                                                • start_call (bittensor.extras.subtensor_api.extrinsics.Extrinsics attribute)
                                                                • START_CALL (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • start_call() (bittensor.core.async_subtensor.AsyncSubtensor method) +
                                                                • start_call() (bittensor.core.extrinsics.params.start_call.StartCallParams class method)
                                                                • @@ -7926,18 +6620,10 @@

                                                                  S

                                                                • started (bittensor.core.axon.Axon attribute)
                                                                • -
                                                                • state_call (bittensor.core.subtensor_api.chain.Chain attribute) - -
                                                                • -
                                                                • state_call() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • state_dict() (bittensor.core.metagraph.MetagraphMixin method)
                                                                • status (bittensor.utils.registration.pow.RegistrationStatisticsLogger attribute) @@ -7964,11 +6650,7 @@

                                                                  S

                                                                • (bittensor.utils.registration.pow.Status method)
                                                                • -
                                                                • storage_function (bittensor.utils.substrate_utils.storage.StorageKey attribute) -
                                                                • StorageFunctionNotFound (in module bittensor.core.errors) -
                                                                • -
                                                                • StorageKey (class in bittensor.utils.substrate_utils.storage)
                                                                • stream_response() (bittensor.core.stream.StreamingSynapse.BTStreamingResponse method)
                                                                • @@ -7982,18 +6664,10 @@

                                                                  S

                                                                • submit() (bittensor.core.threadpool.PriorityThreadPoolExecutor method)
                                                                • -
                                                                • subnet (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • subnet() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • subnet_contact (bittensor.core.chain_data.subnet_identity.SubnetIdentity attribute)
                                                                • -
                                                                • subnet_exists (bittensor.core.subtensor_api.subnets.Subnets attribute) - -
                                                                • -
                                                                • subnet_exists() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • subnet_identity (bittensor.core.chain_data.dynamic_info.DynamicInfo attribute)
                                                                • subnet_is_active (bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters attribute)
                                                                • -
                                                                • Subtensor (class in bittensor.core.subtensor)
                                                                • -
                                                                • subtensor (in module bittensor.utils.easy_imports) -
                                                                • -
                                                                • SubtensorApi (class in bittensor.core.subtensor_api) - -
                                                                • SubtensorMixin (class in bittensor.core.types)
                                                                • SubtensorModule (in module bittensor.extras.dev_framework.calls.pallets) @@ -8142,8 +6784,12 @@

                                                                  S

                                                                • SUBVORTEX_ENTRYPOINT (in module bittensor.core.settings)
                                                                • -
                                                                • success (bittensor.utils.UnlockStatus attribute) +
                                                                • success (bittensor.core.types.ExtrinsicResponse attribute) + +
                                                                • success() (bittensor.utils.btlogging.console.BittensorConsole method)
                                                                • Synapse (class in bittensor.core.synapse) -
                                                                • -
                                                                • synapse (in module bittensor.utils.easy_imports)
                                                                • synapse_history (bittensor.core.dendrite.DendriteMixin attribute)
                                                                • @@ -8558,8 +7198,6 @@

                                                                  T

                                                                • take (bittensor.core.chain_data.delegate_info.DelegateInfoBase attribute) @@ -8589,6 +7227,8 @@

                                                                  T

                                                                • tao() (in module bittensor.utils.balance)
                                                                • tao_amount (bittensor.core.chain_data.sim_swap.SimSwapResult attribute) +
                                                                • +
                                                                • TAO_APP_BLOCK_EXPLORER (in module bittensor.core.settings)
                                                                • tao_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.MetagraphInfo attribute) @@ -8680,20 +7320,14 @@

                                                                  T

                                                                • (bittensor.core.chain_data.subnet_info.SubnetInfo attribute)
                                                                • (bittensor.core.metagraph.MetagraphMixin attribute) -
                                                                • -
                                                                • (bittensor.core.subtensor_api.subnets.Subnets attribute)
                                                                • (bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO attribute)
                                                                • (bittensor.extras.subtensor_api.subnets.Subnets attribute)
                                                                • -
                                                                • tempo() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • Tensor (class in bittensor.core.tensor)
                                                                • tensor (class in bittensor.core.tensor) @@ -8739,6 +7373,8 @@

                                                                  T

                                                                • timeout (bittensor.core.synapse.Synapse attribute)
                                                                • timepoint (bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI attribute) +
                                                                • +
                                                                • timestamp (bittensor.core.types.BlockInfo attribute)
                                                                • Timestamp (in module bittensor.extras.dev_framework.calls.pallets)
                                                                • @@ -8746,8 +7382,8 @@

                                                                  T

                                                                • to_headers() (bittensor.core.synapse.Synapse method), [1]
                                                                • -
                                                                • to_hex() (bittensor.utils.substrate_utils.storage.StorageKey method) -
                                                                • +
                                                                • TorchMetagraph (class in bittensor.core.metagraph)
                                                                • -
                                                                • total_daily_return (bittensor.core.chain_data.delegate_info.DelegateInfoBase attribute) - -
                                                                • total_issuance (bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE attribute)
                                                                • total_size (bittensor.core.synapse.Synapse attribute) @@ -8850,8 +7472,6 @@

                                                                  T

                                                                • TRACE_LEVEL_NUM (in module bittensor.utils.btlogging.format) @@ -8862,20 +7482,18 @@

                                                                  T

                                                                • transaction (bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT attribute)
                                                                • -
                                                                • transfer (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) - -
                                                                • -
                                                                • transfer() (bittensor.core.async_subtensor.AsyncSubtensor method) +
                                                                • transfer (bittensor.extras.subtensor_api.extrinsics.Extrinsics attribute)
                                                                • +
                                                                • transfer() (bittensor.core.subtensor.Subtensor method) +
                                                                • TRANSFER_ALL (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • transfer_all() (bittensor.core.extrinsics.params.transfer.TransferParams class method) @@ -8894,21 +7512,17 @@

                                                                  T

                                                                • transfer_keep_alive() (bittensor.core.extrinsics.params.transfer.TransferParams class method)
                                                                • -
                                                                • transfer_stake (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) +
                                                                • transfer_stake (bittensor.extras.subtensor_api.extrinsics.Extrinsics attribute)
                                                                • TRANSFER_STAKE (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • transfer_stake() (bittensor.core.async_subtensor.AsyncSubtensor method) +
                                                                • transfer_stake() (bittensor.core.extrinsics.params.move_stake.MoveStakeParams class method)
                                                                • @@ -8952,13 +7566,9 @@

                                                                  T

                                                                • Tv (bittensor.core.metagraph.MetagraphMixin property)
                                                                • -
                                                                • two_x64_concat() (in module bittensor.utils.substrate_utils.hasher) -
                                                                • -
                                                                • tx_rate_limit (bittensor.core.subtensor_api.chain.Chain attribute) +
                                                                • tx_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT attribute)
                                                                • -
                                                                • tx_rate_limit() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • TxRateLimitExceeded
                                                                • type (bittensor.core.types.ParamWithTypes attribute) @@ -9025,6 +7631,8 @@

                                                                  U

                                                                • UnknownSynapseError
                                                                • unlock_key() (in module bittensor.utils) +
                                                                • +
                                                                • unlock_wallet() (bittensor.core.types.ExtrinsicResponse class method)
                                                                • UnlockStatus (class in bittensor.utils)
                                                                • @@ -9032,44 +7640,28 @@

                                                                  U

                                                                • UNREQUEST_PREIMAGE (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • unstake (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) +
                                                                • unstake (bittensor.extras.subtensor_api.extrinsics.Extrinsics attribute)
                                                                • -
                                                                • unstake() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • unstake_all (bittensor.core.subtensor_api.extrinsics.Extrinsics attribute) +
                                                                • unstake_all (bittensor.extras.subtensor_api.extrinsics.Extrinsics attribute)
                                                                • UNSTAKE_ALL (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • -
                                                                • unstake_all() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • -
                                                                • weight (bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT attribute) @@ -9870,8 +8426,6 @@

                                                                  W

                                                                • (bittensor.core.metagraph.NonTorchMetagraph attribute)
                                                                • (bittensor.core.metagraph.TorchMetagraph attribute) -
                                                                • -
                                                                • (bittensor.core.subtensor_api.subnets.Subnets attribute)
                                                                • (bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS attribute)
                                                                • @@ -9884,30 +8438,20 @@

                                                                  W

                                                                • Weights (in module bittensor.core.types)
                                                                • -
                                                                • weights() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • weights_rate_limit (bittensor.core.chain_data.metagraph_info.MetagraphInfo attribute)
                                                                • -
                                                                • weights_rate_limit() (bittensor.core.async_subtensor.AsyncSubtensor method) - -
                                                                • weights_set_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT attribute)
                                                                • weights_version (bittensor.core.chain_data.metagraph_info.MetagraphInfo attribute) @@ -9951,6 +8495,8 @@

                                                                  W

                                                                • window (bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW attribute) +
                                                                • +
                                                                • with_log() (bittensor.core.types.ExtrinsicResponse method)
                                                                • WITH_WEIGHT (class in bittensor.extras.dev_framework.calls.non_sudo_calls)
                                                                • @@ -9967,18 +8513,6 @@

                                                                  W

                                                                  -

                                                                  X

                                                                  - - - -
                                                                  -

                                                                  Y

                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                    diff --git a/static/python-api/html/index.html b/static/python-api/html/index.html index 716cd376b3..87300cab96 100644 --- a/static/python-api/html/index.html +++ b/static/python-api/html/index.html @@ -153,7 +153,6 @@
                                                                  • API Reference
                                                                    • bittensor
                                                                      diff --git a/static/python-api/html/objects.inv b/static/python-api/html/objects.inv index fb917172942a375d6e945ad7f13e3cccbd855e60..74970684410972c15f236441d638500967ca78b5 100644 GIT binary patch literal 25063 zcmV)_K!3j@AX9K?X>NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGkHX>@dD zZgX#PAX7w3AVhCta|$CMR%LQ?X>V>iAPOTORA^-&a%F8{X>Md?av*PJAarPHb0B7E zY-J#6b0A}HZE$jBb8}^6Aa!$TZf78RY-wUH3V7Ppom-cqII{2G`&0B<=e!QPtGefQ z-ds+q(z|>c+ga7MU$jV&ZFXT`0Ow^s{gJpCoOW6W3I04xPgW*U{1A#zND74>-6WxY z97Ml{umA55I7g5E`rEJ8F$t{D{jbO3um9!x4t+89$-(S z<1wMCs!bBh-Ychl^ep?Q=f(-y`mqjfdr$43#18zeyHifDsal6_t)rKaCmOliSLM~y zmxM;XNa zeQ@*~LSNjZlh;%3<6IM?)-(A={!TuU-*}adm00a7v>9$f35}v4s+oc9(YF(q4LGeu zc)^Y^Ey-0S6QxXoy|-8|P1{0XeeU$M*ec!Wd1Dy`VGvv1m?{5VF7EwLa9P;@BD5ll zNv08TTs!HHLws(cT>d^tdh80q%Ptxu^H%Sr$(d-rVA$K6$LYFg-r<<*9@2<8*4+Vw zY~Dln%m&fuLtl+hVffe^gZK)Ydf8Es1h(*Ei*osF8U$c`8!Zbdm(E<)*cD!6XeU1V z(RHYw6tie?f2Ur!vC~s8ZjAXqClwNL_vbo@JOSUsb-8D3NhpIBAcw|w8a<#IJOHr84{DFDtVE2cevAC8dEy+|DY^&cRuVg%1VbI6d0 zBD!;#lVW-c(Od#;RcAe(!ovo{&r5!R@uqSGV3_5 zgU}R4kJgxYZbI7()M*9nM(ebSTDP6%P?8H)7Q;wzi}xwh0Cs8Y1KQLPjBQ{u3JZ{^4Lcv>TKBZ@r`Z?41Coe;fk7|4PEhwfna+(sNSf7|%iUlVsj8ji^Jc z{s*aS9w8kuqlHE`Wd z%TwST5olfyk1}y0iZQs~2{50_FmTKY=Ydgb4#TDh>3GoZw4h3YG+jyPAq=|uPU#}j zW4_nfC|El$*LW?cENRGXvtE?kRAd%XD-lzsMtYV8p+JbcWY{zelW#66lv!TPOEvFJ zSvg~}Y`&g&L1q(S2KDX0X=*Im3T+>g-j+Zn9=p9v$#Celg5_gi+e&U5{n}VQtJ~T| zR=AhZ-+JN3YFsaF%!+?DSL*8^@&txuC+?F(@6!jvlOxzn{&tH(<^1n4P7Z9UcJl48 zu=ol2=t(AmR}We0cRK7-viYqOr(3DAi#8eo_wH^F1tc@U(~8q#qNkC|3!b5Pq&5@v z@?d^A$&f2OL@!doCt6t2T|6WfVkM*+rGvz#V7F5bT)>CAd}qsg+M!?_Bb3jV?;^!8 zIERDF`}q^)dH!hR1`Z_JGi8oS5)Nh99;tcUG*KpIV2 z#wcrKg4*;_6|bxnu4UA+9=71Qwi;dxfGBv;ktgaUad8U~08?c7D6TK?my7lR2uYq1 zkwpCTEt2z_2ZMuIgq9)ddYB{w)wRIz0A%3!57}sXjWB3kJdLae+OJQnXh)ON>IzuM zlVoJO9+o!Q#`F+H#~5WqInPsphJ`Y#Dwe|FT!I2jI)AJVDl@mf`oMCPk4}S*peTU0I(?;2WEVJ!3G(n{}v9*aV_}30^(~}F!A0w z6=tMo0SB`MmIL92SzZK$47SWk(e@K_EXYW#oDC@aDJQ}W@yP+P0(~k_pxqxe=%<2* zwzyD11B|#S=ukslDtvf)3K;g1qhW93=8*V+D0`MU59-ckj)%Q%Q9$BsUgSimi_d3x zP)pFuAlv@!d8LR^fE{PAAi*5fPMPq+F;gtS=!TT5=Uw}?IW@{LjB+|Q__kFIwze_gpQMt^%ckJHfoA$VQ@h;e+ zM_1?;81^S!_ZnGs6|L8VHrJ>=^|~JVF4ZVmA*8r@moZ-R1LadIPS$-Mo4(4(cS2|B zEN0Z>KIm1vK37MtL5=&)f^!{=?}M(=ZO~=EJ9#3A-?KFsv*#VO_fh*zk8_=^??gG* z$nN^zI=GJ3ck-NTWU$`Sea{JXu5nHJPpxwU4X^u8@*oe;kzvw*-kob`UwaKfxkd%+ zQ*y9}esl6%MN30>(m5ci+cC3VAiZA31w6JhIyM*Ni-VZ+RmS(=0(u^d>s$Y!Meoq% zlZ0unJIGi0Tz`~Bczo|UyyzW5Ol#u$$krrX5Lx!Rt9y-Y-eh?jexu^9!u6Z| z=Ni_=3I-5*!zcm6TT&`mZD4emaS)p{;yz!_fsIPr^cr%1m5OH$0{yJLrVzSDRjz(5 z`^_bElMio(n6G)^x+6K@x1P^0y$mx$~7XxjNzMTeG zb%+*50c)0+_%u$k*+C~1K0QW(FLTFirDWp^W-DcldHQqnt7Wgqmk}&|qpVVfm&$kO z4%32h?BD=HDOGPx0yAj z6;xVcn&U`KAK%cl!cZ}pR86F0YN;4X#Vk)bl8QN>Vkk8;K*dl>=7Wlvluf|iaJkNJ zt;iHi$P~Agn(3KpC#Yn2AZmO|dhLx^{JW-n*|Dmw2w*yl!!&FS9a=xh?P1WpE zF<9%lsA8V>6EPh??dPeAsZ`BcRb#cDCn*L3vrtOsx7ye`|B4q3cZ131S?R`e&9m~x zvix`RoyvDu+CUhRiJNudxFHe?NnS&W0~7{PfhiatQ?=ZE7F|1dav*Eg_sPEuGrIVq;A!{%d(#_=-SuL@e%eP(u zdsecKXuJ=+j{8?^?erpDIlow|&5@wfcA+M4~PxnCkks~*#^ zB35CZF<#P(=?~tacHmHA*>-T`mt#4EFUK^rJN@DN^qEMnz4wRB{@FLSdq|5lwF!B# z<^~`yXsq1>Z-y0(k6zMH#V-h#k(%csw+_6^OSHdQj4h=-GRV3b$^dv$@!r1#hv@1% zq^oT*!*N-#x$>1ojr4Gd#OQiacyp;nX|m$K{zIaxZ*#R~r=YFxgzl79@|NgM8P(hy z-6^vCP12oX4o0z5+&0}gaGU$5JBQ6i1le0hyTw&;MRn)ILof*~ud(hFR?VH!-6G56 z$Lo|(#l6zq0%s4qF_Aqp)hVvJi?O@Kmdo4KEn{T)@s|BG5I6D2bd6;0EuS$A16sum z<-Gt)hbwkU`+7WBy`#F7%XpeE%on9)SLBQGc?(r<25P(pe~G0Hgkd>MSJ}5|VX&1m zIW)E-H%!`e8TC*uKau3%0PWmle|%&EZ;NqEIg}Ud0&r%kpIeXXjR867xgIgz2;`zu~2Zr_JPE2?0}CpQgzk znUP~oWke-!;ZzBwU@<`nM-lkLm*kGLUlvt+1WI7qZ2>4j;ERvNYMz1>Q)Ntk{|HLf zWYy3pTyj+d6gaG}^lew9qqh_?1pHbb*?2yM9Bmdil>o#x>k3E)i}9VwWzFvnikIAeO)j#c2VCT$jLTZE=eoH$by(813lHUq>ekW z5>nm1>76Q%kB zDQ0Qu9jd};nIlRuja*_V#Sr}D8OC_nD&dl97P%##Y~FQ@BTIv1Y)tGch)Il&$E=#F*H-kP8Q zaQY*7^{s`ip#Mys9(>h~q}D89(K-8sU0*-yHMsh$q+Ui!5ok3Es}YMJYM zn>~py7p^*x|0WYn<7?yEh%F=eJCn#Sxhqn~btW`Bbd{!#DJ}`@TRwSqlRY_Q71z&_ zWI|j0p)pVX+d)6fw-EEwe-cq6Z!2g#-+5a_ ze#_`M{Y~>olJ}Wf!xU#FCC?dkM7Nho3aFb+KB0VvWaQ~17+iiTH)3P3gZEM8_LiGd z1^(9E37Mz#NkKc5K5LB2%5RyOH+A2tlqa)^saQgv=9M34w4<8pP6F{%L=9@6_~{y6 zCgij0rTFy4rs0iIPDBRZlZpgyjw+rN>nX+4#wRPLGv+s?VV&t9{h^73_o}`#=Xa~g z#w2&<=h4G-L(J7`vC=3ft)I+B%jIPLMT4Bm*SMirvQ-;|M{P%hh;-8yLYN<@S%zhM zLChRZT5e}*6UDq;PrCr#WYjw7mD5?1ZG-69%8o2(lM(WsoKFE>eJfA!pyHqUy zYYWl2TpB%5E;0^ztbtaU?5(n0a$OQ;?n{+i$>6_T`Dp-hk(Q*`lCvuhH& z=?twbpX>bINKQ)w=sJIhi&OKx{wgexz9cmA*`!4HPL6ipt)=;Ooxcl<`bl3y%Z)mD zEic%Slk2O!_v;y8T<0GR2r}_BikRR7`_bCbE?!*e@a8)I6c*jeu({5M55kfv>d!AL zpi%Owt38X}(=61joy?4_f92V#D=p;QGLVgh{EM4jt*^1+Sw$?Z-=YY{ z*;qg6CJ65H?5%pGOtaLhx`e!}*ng+|+#1(I>ST#cR7*RCo@+BfE5pBBVlB51#nhTw$F$U;3nE%gUNQc3%A|bCu`TLEC^h zvtC9CKa`ckI!7rcW_`4|SFBY^9#EmHvF5?S^(~$DcOLkoI1X%=2SoCCu&-H2gmN)S zVIK9pNn-lJakoz+$~M88CaJa*heXtiTa}kMXndz{G;+7DUYBke#K|(7LuwThxk1D& zu~r!Yzbcf~w_w(I>uDM3SC!*?x;}kX2I~gP^f&<1(S^SXf+UNT(;@cg>-;>aZt7~X zHJhwkJNh}Fd+PC9vXBmhUnE=PC{`iZKtQ#A`FF$_m6bAq^$!WL z9lTi|Z&R#P=@YfIA|5TMOJz42%>kR}%`E>lbpj%)fykRk2v$L?n22%1;veFE@(t9Pu7R6i3HzMYB@JKHb zG7HY*hwa?CCU(H44Xgu^vbfj^upn+jPL5doqgSFbyRGD>E6YoNyRrtJy0e;Xw{@#r zWNQk=-o@R%;&Dav5Ij*lt|Zv)JW9?}C-(`LHdJ|jTcVSnDv<8wrz$ExDrlC=XpNcD zi;}^ZifrK!T<5uPBzjS`3h91Stt3rpNuBbVP6bVLjZp#)oGQ;i00qarg0rl%{R1+O zO18tZqVgS`70%o_l^yAfNDL*vaYM2d^3u``k(W2ZYzZqicBpk!MhFD~B-c?GAboPw6P z03}9q^xKWkWqIlLC~L@nqC}0My+|gD1csx~ZD_+KntAS$Sn&*W*Cb~aR?)C5lAhuM zNF}GdL?h&-rJEryUu0HD+ymtizNcLG3L54DqZAwv(fM8C{S)y)u}2)qohs=as&00s zn(zOp-ic~XAiMJIUiR zAl@;f>>!%Ul^;vbhU`8JqTr)vaJ*y^5G=VUFSZgSzR zf^IHQ)K0v#P&>Jx3^AbdxFEUDrj>92Xe7TH5D@V~oKPQ>%_D;fu`+={6{!Y4T-HYU z8ifH}7F>@_l5Bn%4!LNgT%v3+QeC#O&i=o}CukgF^BzGp4$1NzlH_|ejX#KLs^l!4 ze1}9*Tb+ea$$iec?DQCA%U;rSzwSMPQ!J9?r_ck_#_3awl=ataJ);sGb-IC|Q$V?} zsFPgTsHistyp^J4%zkRulN-lE-6T10CYjG8OC>)AZZr8!Cn=kDGhV5g$eCb%pJqg@ zm=cHPKgb&vIUu>%oU1&gJLFk=yxD5>ZdLIEqE$7S5DzDzZI# zUK`g+J76ztazR|VSlJk^y6pV&lDI{eZXEUV9zhYcb&6fCHd5nnqlK*!?gojOhnYdL z)#K8;1#7W>-D=@l(6n*TRxRrH{O);f!uOoi*-WPrzU0A;v`N< zN}Z0>c`CBm!9HE5Ak|PPJN4KMM`A5jY7th|sm5jto{}q_(o38wPc1fIgOXi*l3#UF zeJW96bwcGSL?z-C45Km}5~mF1P8VjU3i*0#;N`AE^L5sS2MN`kWNau{ZqZA2wM*wo z#l{N|%18vP(&%^zzmLbZOF zF1|@AL-Z2QwjzwtTI}Yu)`C8DBxl@_oV$+Xm>tQPbR=ihk({pj^`W-hCHu=Y@NVIPMeQ%5Y-Bwb|yR~vFqEEFvlZdUzLWPNe@{6?Mj%cBSG{JLL1K6cisr5Wla#zt;Q{Vv^) z&aHMT@EEeWe0T5Yb|@>boG#}2sUVVG4IB!FDz_GSuwKZ~?ao-AZ603y0UyZc_1W6vFmE91ea!=@YE2|q?1dQblG(5ZzB zo_#j`&b|C@g?2mV4}-w#OjdOCdFrQ_Kh~Ad$nt-7)@@=->BjR3)}Xi@15)lL$BSrTv%>{uSY+JmQs&_Nt zf;_E@>Tl)gUvhpcQ~#>-TbbGyp5Kbpzn1t`W*4h_7o>Ku7WP(Zm)}zJ3d380dgn85 z<#jRBxFEG-Yp#C+@K&aNulRz@AhEperD}EK-pbSJB)=8cnVf3kj*mv&LckR-5?$7t&%=h5Qcjm@- z>QZ;=*>>(?_TXQ3>Rfi|S@z{t_T*D`>`->>O{Vwkk=kjt+o$E4i{S@R`K}{z+(?%U zkBu{Iz{w(-3-hl-P;6}}*?GaE<;7}c#574t-@D)mMFIejYtcH*0M*vxd3T)GURBxw-kiSbbG5;PYfY zH-BjTw7H0lx!!1%bHAAJQ=BXHHBUzy22Q4vjb0^SIxw1Ql`xyk&DB~@E9HH3t*vHa z{<)kkR_2P#MoWECv{b&FEJt^DD|4-(c~+wZS^t=QT1++6ZI159Vm|$$qv~(0FPcPa zyRR0D4cYJp+Kj%M4;paoE|y4dhO=N(j+VM%Vf>kNqzMXYi5H!O*U*)ST9z3tm*gBbZTxind*E-LadnN zN6YloUxu)&sXmFQbr5oN(IxM^>ThXqY; z@wlb`0B7WvK*T5 zogbg(Ywvq2-fNfXZnv(@45jt~zzJxaA4DPa#f=l)0;z8^52SK8l1^b;*UPWM<$H$Y z@wIwRvyu!#C&TV?%IQwTdS2xQ&$ug*<$e&KvTuW~#Ac^qiOmLJmuU~*FY8KlW@}lW z>Y=rBAE(o%E@YkpueD1p6Z3b{u#c8!F@L8+QQf>&XCv52T37wj-n*U?QNK%BB&5Dm zBsZFk-88BLlJw_3iSOlHNZSHyQ`ZOe5{_EX%+YhTEc)t$)teLCI9&Zl0Txm|2x>mH7L*NS~w zKCOf>hmyN;UvhEhS^qi`8%Az7i;PuyU4F)V6O#2J zH*hisqD%4Tr?)zh{pQNFe4On}I5SX(uoGd~LBno>EK-5Rm6jcudN#kP45oz7cT`F`UK68nJqp!U?dBKi6(daRVyIAt&dHVBl*>ey2 zm*whrY3dZjd#C3G&!@XuwTlcKcl+91xGJCOb+dX?wGdW$Hv&6r%ZS>qw*F@9 zDtft)(~-Xw(bU{`Hn`NU_|`5h2$Ig?&QoE0r#FvR$^w|UBW(wP$6Q$LQByIE*tg_2 zP3o6ajTY=eT33;0ai>vWan}Ju@oBxV+qW#1oICO!xX6x-OziIbY^Rv%{V8}zzt{tb zpY^*(*;aHHhd{EcP&$#+$=I5A`80|x?nYR8O_tw*tn{AWE>;qF7w=}2DX&t|DkRwL zJW7sisP4|`DpvHnlGD-mdLg_IcC)~gZxnPShIC*93sGGi70$N_X(hb2oAYVUmYbw& zOr3;Nb>wv9VsvT1DM7`}qyE{Wf(QNcd<6|sj=Zh@cD)AS^DsUz5hBzqQbLM(mdF4o zCEzh|UdwYt0;k^J3UQs^Zj0gPd>Oq%YVx$b6;F^IiC>2-D})WOF0(lQp^_cIbw1n{ zv$b3v;`hX4rD3XhR#&NSCGb{hR_Z;q9MLeLORx3uwwx?}F%LD~y3})GeQH#RacJ|k ze!nd#Yq?U4w$A6qY^bs9pGEk+uI`ZTy1U*nyJA$Ml=x`#^fH>I@b&57sI|pp^72Rt zYH;$Gb1i<75=y_va|?%h^UwaZSTm}aCk$K4 zq~vMMxQ6PN#@BJJlU?2*>ITOZzj+|npD3L z%~069QseQs-3sUAl&HVq#8^f`;jQU;0g2&MLW<9C$kWt7x<5d?w{(60@u(h|$^+3e z>rE<8EpFK_Z`;Mjb(c-9w(b-;zMU_-Nu7yWpY zNq@1-#nBg=hBsRKqQv(_%^#-ur5ge*FH!$8a)ZcCUQaJ$zEGRhFZ5NE3QRM`TG38u zR;pO^$%J<-*o_H2gxRj^?S&@A!sGoh5e)@XE&BK84=|E;0DRWvM z(5wN?wpQ9mszhRFmXyZwT4^64mKW}=j=E@7F2B^h8>vS>O{4wH{1mF)U_QIap0N3{ zS~;nI^_^8MyrUvnb(7#0X&G9kEK6n;SbNiBtaJK*Rf>)o-+RJHw~eT4_IF*NmKoA@ zak{21Ys(Y36th8nMU?lYoq zp;iISbG=B5%FmqX785hm5)vKX=3#Odt5m-4r}H1Js!T7gytV$FJ#=&JJA2G<=o8uU zG?T>_yIpgwh?E?IpXZEaq@@L0$TaTF(cO)ks>K8gOPtJ>i`9l~%s)3>iuKd{N$eumR=<}KVTe=olQ1~x|@+1X;NdJk%iy3h~0|Aur@g>w#~^Q(*!c7 zi&B6|v2A1y84kb{q1wy;epqkF+MJIzSe{OW3stA9h#~yf1?_! z?W(KAHvfg22sns&gFB z<^rD93}iYpm}w05^aXy}0zO^I=*Z@NWv=fR(>wA3&=OYhkgZ~kb0~^kgARw%OF{Li zSm{Mv67I9g#G4WL&o>!`0Ea;1(>3}9$OJR1s3=Ow`k(%j$?AGgaB&P8I+B4sj83bxLlunAQPAl`9Ihw+%QymX;%kUy;IFwIr#Fm%Dq__wH zot7J?!N5LQ-jNOnH_JH1g9qXv@B*9FwTbJZRM?=0`zmKRh)<2LK~>mcs898Zb0p4( z)f`E)8IJLj(vVo5`$Pd73si+USvpK3f<2=)nR&;?;xCi+MoTssMP!%<=guK9r!;4f z;Q%@!uC|cTba_7lQs5m2zkC7R>LZLxXeu@CXUULs++zl8{DZXT_+9VSX7QIxG7fT;h{4?51Q& z76-=&v&|AK+F`aC;;eQIySY3b&BrFzpwEFI57gvnA?|lX?qkODp8Akvi1`f8$Y9eM zoO7ZFwV(3>D>MF)`!}4RXQ|FPfvqH&k7ni_o*_!H4A%i}G-zGU2$4J9%G|7e;B~wd z3;NS$gozdZMCOCR_Jo=*Gx@tL;nWbQ09g4U@rHjWFGZ*$(}q0N8f=21T}OiS`>sqY+){3 z)(Nv{Tj0-(IaXxny~e9=zmu8Covg`v26zDAUC#Wl;*grwI8YmJF8VGpWWd<_$l>5r z&WPv}W!5Z0G-L0ABb&DYShj0M4RYkYh74@fhGox&Wy*$S3^r_XH(iXsns-C63-8fF z`#l2SBp>YZ!-oTW4`74$E;q96dlx($s9_m^U-vHlKn(g2%=o~J_pnX&zzp8N%-kT2 z+Yn3|tQ{N7zNf}~yJy6wH znR>2*wg13p6jEMfgeCW zK@Q;vdQR*5#18xn3vdY{ql7#vpP^|Ez5DR79UkV1`HU?)GfynXiI@k2$q0FRK10(T zQTcl-ypKq8$czZyRsJ{>U-=`r5AzY%iTOAPFXrR0+?bER9>Pb^6_*^2r+r67!}VQ0 z0y_pDk(bcO@?mAdxdtf}d)%{Laa#@ZP)LO@1n+kIbi>OlNnS$=3<;^ccP2+%n`ATk ziln|ZF3cpcb;J<<>#}M2PYMl)sUef~=+o3B-|r_Ib2?dXkhJ8S&2Ze&u zK5ok)Zd+IJLhzmkuNvg@XgZy+;RaJjO1vQ`%Lx`+YfhZuPgpoUb2NCV5!ijW$p@ zFY90ibQvO#{x&!dO2iL|Gb0U3{8VE-ik@$g6^$R>k~49n3%+@6N41qOcrjchU> zO(*|@`8bePJpSdC3Gy8G{k^@eN~o6(f8$^HYsSpcaQUZ>;%cZoHe zRy7YaJrOF<_Z8hY6m;nO!JG7Ol3KjBq1zx4f0sowA z@IEVpg8r(U5Bj5mExA;&us#nqKEPz0j@I|E15k|)dibf6;toD_ zPGlXgfdXs!W;L3xKLgIE3ouq9#%?;~epoU>W)C=HL`))Zh6t?55A&6|Hdo*99LSOk zGiU8NWH^9tJcy16=r&G16LSi6!)Z=rY}vmaEjYicz&luQCz%Q~NPR8fAoX-I$IM?* zqhJ2k&r)0S@KTrMy(vJ!iX4k6$Ms(}G00YLyM`mAQU_xNk zz{*=zGVwA5F*DeSaG%~K4vUA~cpiGjlRH{y&TIx z9m@*75dFhqcD>o+Zu0pDNjDNEi#bs5J0ruKubo4B?!S+&!?QRehFhQ0LLT)$hYSax zHb#0g56>bG-<+UU=$pyxB-V1#3Cgg%aBmUF?S%>@-^z6T>^1{XYk83s)C`rZS)wiY zCe1O?TQkHqK$r${zTg?FSLS4fHASd#8IP|CT*8(*VF>?mf%_lRkLeUDV^9^#cw|Eg z*|I^!bN@pf0(@A$hK+a;LJcrP?~s@(vs`@Dd3eEfKK!A8EPVnov2qPENcJ=$vAbg) zBXe`$2ALYH?n?^)ssb|EM>O6Co`c+yx-Z@Pn=E9S=^M!p%ZUu<7+HX4<_kRFtXu^m z-#FW?>*fxl4N?>;yGsqCOqZtvkFh4A=a+1+}zId3A zp{AB+WUvZbL1Z&Yy0a1rjyVJiQ^5@fpf|8qr-BG+e^%!B$9QUz(R6t~0-nXIuggcV50`GHGD%v(@O zJkW70rvn|r3Oc~#&m~-lY)r6C9byXTf{mm(nC<}Yf4V|w(1RPtZs5lx-dhnJM!Oo+ z&v(=Z!V9hL=djS)kE~in145751L>24>Wt+3WOGj@cjkOE+57D)=7X8v(EOS+Hsr2X#RTq!RZP?l$aDIbtx+B}`-$`fC2b(;Nl`-3d7#@<*Lc{`D}qLtF2wqoJjJXY>=ZL z^9<<@a0^1uSTaK7*$Qw{s~RD^CX>$((T9@zaYhDXT?b`YhhkHQVosqg>2k5!5c6LT zlW&Xh2rQ@j1v-QN`{+Iec9sg5&5DC9ev|Us5JmUD+ru=4(rVMj@KblY0GxFV>e7WCXZD3zU zWF6E7oReOG1)V`(p#`9)8w@M!1o2QZO({0yvSumiym zEb0*KD8BW?x0yq*l!LL4*j90|*pR!)dcBx_GZFLJT;c<@krz?J!F+Y#4vLszvdRUz zJ6l5x;lD0s2V9Tu&AW#w(%Nc)gqVT9WII@|kCcQoas$V;Q7J>@E@yVvY8(PymTtPW;a+XOCO@);tq?aK)VVF7biXggRiVq3$U651w`FRRh~ZaE@+ z$?glHPjg0?U5(=mqd5)N&oTnX1L5^q6@;8xbs#QVZZF$ZKZqWxdxvUZoz`74) zqFH6dw)E@oqa_(HrgvD`=PvTG+0Zk=yo>8HZ#bAw586x36;I&!C)9bc6O`eGunor8 z5EHdj03kyJDtsZfMi`-I*>umWA&ou^g7PCUWe_2M=_p77HtyjP<{@6VfZ)R$*-Y1v zLmUS)Y#Jr**0u5Sr=5WUkHNk4*OC+!Yho(=COhaY9KdIHgUs# z^^Dg>sM@-L?N#IxzX9;G$yC5xkuM{xq4zDGv88kXtq9u@-;(0?Omj45PAmK0=gAke zZdqkB?7-i;I}%#2USK)sO$ppLYnZXS^R46zw#DIuA-aM9tMK9uZdhhW z%%OECXmbH~H%^sNsOVJaRY9T(8l?W|8OEzh7*? z!f4;)1a>K|BIEiPSCPZPbzo$jo6RO0ev><#k`-Wv>u&?-rbAYuk}<^Zg1Bm8PDks_ zWQ=v|d>zc7j4E+$z(YKB&Jh12<90;8d$SsC&}NPW7Oo{M2}ATxYea})!4*DO<+wLT zOR^k&G0~>CCotCic6dog&Jp3iFK!>4+%ZQ+kDuT=AOEU=%&;8C<<~!19&r1y=VLo^ z!vryGtcvNzb`Uwph&wmgA0J6X!vGo6b*Rrz#Zc(RbPvpcLjz*YmPwDeQ{eK<=u$jEZ{&&t=}>7%AhKy1PB78PIjrs{*QY zK-YWIs|w1%bBG-r{REg1*be1@kqbGA?&OZ#Hh_!i9luw4y;-cxJF;3l%;|QM~nNv%4ygE>%76UKcvRR?Y!5K zal7zpGBfpThW(>0miD#Yf3_ynypsC+Z|w>9fj+zsE$~+6W`(xYn=;|rmmDw6unmhB zQ3eGWLy_?%R{Rqd?isr4;oZ$rCo^0JyXnA9O92UOU~))sGXs6=iJ48XMqkjjzj7+W zP3R%UZ8cmqE&y@+-NUE3-Y`6cbl9PI=djojd2eW81M|*FvE%d3X}w?<5X|_ab5z)^ z&vVdlAlB4~kB_WTi5>WfWe*4#H0baO?J%?p)&;`7{!;;?=84oF zzqMgpqh0$^LK&79?k!>+5Kn=fDEU5(>svh9f#8mLYv3DHPJC>dymRrJ5qD5t17Al{ z@{#FeHrYVhoD7Xw9xr$%p%o=AUc}W~*a4WyoOM9PGA9N%nK@;epoN5yYg2U8Vc7T_ zHXMQ_#kBVub2XdHM;iudj@C#n<{25Lil0Mz)QTyA)0lJ2Z~$EqR9_ZfzD!N>ur^mr zt^f5fxx)%ezsP4$-+J`u5SkKmLGm(cIG7F!s!OZUd_5W?%`plj&~IDNu>yW<*??y^ zN<`cq_nB!1R>)NqE1i4+H=FU3(vVo5`$Ul`L-g*4uON%>@a`C*Mp&6*|#DYfuF<9LU$k)}IO|w)&v$dDg*@7xd3atIPSA z5qs|dW3C6(c`=tJ>x{??`e&#izF9&woj=HEy~9P+<f>yHmDhzu(X zBc1sG{`lC24sx9-B}?nk*J{7FVbh$3;*URC!9_tB#FoAUgMa+B4W91Q6S8?wzE3vy zcdOBNJtpMuEva~FmWak^>H11M;Hh27s9S6Q(H0Ofl(K}=t+)Sd0hlM=2J$^CR64W0 zs=$NvimQOn@PKK$cQnA&gvX~mOrZ|CSExWcUKQ}@#WW_N^~y#z2N*PVcfOSzBMQuj zp~YFBOWmkL;2b^r>u=2%@(QZLvx@%Gl))G|2iJc{Trb6Oti)>CAQxa7Q+%>K%eQII z3^DyoX`cw=;Bau01ND<$TVh=J(S1VPMOLJwph z^b(g1EqyX9BkCTk9qpGPczNv;U`2OsoJ74ctgS7b1x~LYVr}m!A8MmsAt-aT=!_m7 zY1Hdbu|7U#56?13rdJdv=vDr676I0q{MR_4y$%-}_dw&sI`rBMo5(#Lp4^D(2M7j$ znsNuY?I%xB)_XMr^0Hd-RHl_$7s-@n-UEviU*A51Ym3&nU`w z0nOkk$DWwwCN=}xZoykpMHpBIlz8^!5+#~}xy1O4*^+nv{jlE5%=xC}A*&A949of7 zW1Oz}ku<>xdSjyM_&H`ch^~pL<>!#_YCf57%+(8&bLcoM0<6G^%=M;u;Ko} z1XTZwE6@MAcXxZ_=F2fXRCAwGA{)>gF@#qYV9S#OVw#&zi}~G}%og7!^Dkud&0Muf z3fB>z@fi3{Ob)@5>+gv5M5BBU6TM+URsAArIGFAVsrnZ|kxjtToR6k0uJh6jmMeWo zealN;q1zBz%?rj5zb^tSc0q`&(JPbx%s@X)%{x53uHogk^f?1)Noeh^lZHd-oxqx2 z=fu?a@mKQcVKqn6@f^u`JVrifbAhTyL5HXk1skXuET(r~%^xJYeR_Ov-aSlBa`&(r zwMvNBIjP|sBdc|0x$d#U0rm<^HG3Z!Rr_YM$%c)W-^|gJuo>?fPU$WH!gktAteAcE z66q6-Vn_pa33dqjl%hTxqKQ+-c(sLH!uFQ(s2GB-Eh z7pt$>tHQTwVONF)(8GcD5Kzs#iH)g|=4?cktI60T_oHbV9JMr8lLgd*)-^_h9xSrA zJRWv9ly(Ijd9UJzgX*=Aw&5x)s73fTBjfwgWKJenR-nRV*n7)uoy%S~WC;I#G4-Vi zh^Zr!+3aD?lYQU~mS<>&dpI0@o+c-xksCPREeSe2o>PWH=#`Mlea?uf-(N?|B~)&l z6v+5#g`ox6R-k&Dv4yyO3{pokGEB{!PX6^Uxyw)T0R~@O;zNzOxX6mB$QMz=!Sql_ zHNOZ7s`ZQUSF$qi9>#nr4Kk483LwIEbzZsqJqd@ztCeqsiT9vsl3@`-!lo@@yD& z9V-ctyMehZ{S528%oX!N(AvL84k9_*h~N zxiY^@)|)KAk|%*$kxzW}4Nc3hV5TY`WtWGhQN%o*T0|bb!2UU))&@2P*NDTR^=Mc# zag7((W@P69$#gQCY|sovl`XXn&(z)R6XLlC7rrrp?LZAP97NZI)%Y4DsG6JO`_X)| zo{{n5VUDHcbu{BZ?Y-r@@qyUE(MNAdR24s?42RGwF%|rb5naE{*<{Ug29fo0IssMm zIwKp_Umq!nL(d&dyTYse8E!bJUJGsr&R{_;!eovc#d5}G99$neisc*_RQ=B}!$EXS zOm#np#8>k?uMeuG=Xf<`&t~)S09thbDqoO>L+PpTieGTz>ONe+O3svOIb^^}0f?*5 z$N?(_9;)Ud2dpqW+<=vHIN%OAfPj@Zl#l@{ZzypU=gyp(Uq%}fQgLc$AfjjAxrQAMsUJWp z)-_ga4ddn@J-$3%tT%}IRRc75pd_(_co^*ou2pqbWSy#$Vr$fL@x2x!SuD09D%Uku zP#^Fnb~wnMVN@f+i>;%+US4HvfjmJVF+DxgfqC}wQ+1z2Q_s$hca z&_IUb0S?0h9D)Zw{0?sD9n!G7VDk)~!6Th-tjvEsOjhO{S)*;qyvLa?HOGjX3hz>f zgX<8OO7|WxrqV6G&&?INUyfFz8K}d11<{~kVDICBG$^QwU86_M2l$}R-*-T4#q#mV5!urT%d|n zLk!`+t`S)QiKzW*17@SIfgh7Gd#jvezZ{eGc;6%KBEkW@R^NVrAZJ$9zrf{Q^~w8Ci(>35{qUAYwu4CF8=>#kILgFZ0A)rFu&Ts;L)1!-0Hn zBc>6*dzj$vBVU3B)bb0Mph`b4*8LWnuO`$XgEKT^A0$8ND|iE<8l^MJa0s0dQ?t() zLDiaXiIL6y%3R+srckS3XK1)Py62$b5WX~~&YUrV>deEZxe1s@waS&|P>qj|Y?O(S z+YeP)s)&%9QU!!oli4D5aMQ~+0kx%yXINgiw+7IT*jiH~1y-IKC$tV_j^y|Oakwej zush`mGaD62@a)rw*vBCN!>Z5;asc`RxN`9p4|Vn80x9SU#s$)FD4i2u*RfYK9zJar zU(I=OsXLgi*Vu5?r;Zs8;!E>UJqdnNpHSa=1Pt=I01T<=bx2G#-;7pY(#VDL8+eKv z=aKaOCM>8SxXm37vvWXd-fil{igs+;^7hs=*H38lWO>7TB~a^P&X!QYMkx@gl}On_ z+z*MV?I~G84?8hpl>1iPI_(J4{Y zdNZ1m$$I@TnvYE^t*(;6s!I(LQ(J0?Nsw3`apU-C`8EZI1=X3eJLo}!ao@p2)uwld zAyw-g-sA;1K=(axSe>h71IN|5YnZq?ca<1a=dSXi>)cgvSe=8_vLWadz9tPwci^=p zzsD>;w2i1XmkB|aORm6%1N!!mT7Ly~NIGTYH(HXI@5#U#tpfg=xk_&`28(~XfCp|0 zs-)OMc5nz?j}mtP&5EYxmni{N zeKnaeSTY;^S>8?lFu7a9X!{ku^t7ozgq8#x$*-b@gXy1m3V#h0Pv;-z<9l=bl>uh+ z48^+cI=`tROCQtFbguJ38KO3wah;FKAT?==>-??^@mXIx{-F*sorG(F{OfJV>>MeV zeh8eSM}PfIRCHFdDln_zFaK9msxf9(ji+v0tYoJ4Zvmtv8?N&r+4`yof{Fe{@-EmI|(+d_|>-weW5mMY7+Qq+aGAM51gJ^ z;)I5A?=*a8V*kqYBeeLl35|M3dbZqz_^b#??+odYCpGz8ei(5RlDu|KfYEVLy6kCM z*4qb36GHS#(CVsmMGTSU#+1+~3Zi~N;-1ALS zJUt98$HdJBlBSb@w4mG^AT4T)#+%7E9*~gbXK3yKz9A47Z71%Nl~8FHP?hL*%X!Ku zTFsW_DYB!r<|@Byr^_BtitfJitZ1GVd}kDWb-tXU2OCfq-B$y! z?!R1j+40?&4YqN@&rA`Y{mDs=VRq(ld-UzpCFp=64m~!~+QH#q`HoKEJflnc3&N@t z8)0ijM90=zA!A+qYm^DS*{QF}Y$(jI9EVuZPH+~cOzfi<*gr+5J<6ood&~9vkxHoV zgn{deTMTvby`aGop*pclS>5D7{Uq+b$%8}4UYa!8J5ng!-@3c*?qAsT-NfZ91GEp>JdtYo zKo0;hNtc(qm+S>Q9s&H=i&bYng0+jRaNm6=XI?jVr%PAq1$&pKBoEQda!8ansPZO z=~_NtNa&==%lS{!No`tCZfctrHO7VHhBMnYf}2S+c=AHa;g|SqBTD~6$up}fc$WOi zDrj0e$m$?me;f1&VIQN2%??}XoeGX(+C*H3;V_q$#y!%|7rx5qbH|#Iv01E}^hm=r z$2}YmB%=R5x)F66-i4(eC~*&zF&x4k8J+^xS<>~_ei+!)V{65^;>7(yFsq7VTRq+) zPQ)F@C^-5~PZ+FkCau<;+5*U>vrxcLU+!z{VVsIf`WdGRjB%Z%sn2m4MV=x5Ju{+D zlv(wr=hSr5r9P79k+Uxd#g;W48-GwCPk#f&B7Ehh&7h@)FSXi_f$zlZ6UQ{cgR8V) zg|nU0s)hD~ilFn6$5+zu=AkY~xsS;|FJsLPd*sMC7AMBEIC1%z`=qOFgEjR-%EEG9 zNLk#tt5P)dKrTYaNw3dv+v=M(u+~#=ZDcLxySkVhFdl?&#-^iL&n~F|pyHl8Qhi6d zsVO{_ma~PY@`hOhX=n{EbI1au5l^1`@1yIuiL4#efYfGTO&1P19KFO1JrJ(PW8^cR zEXo5hF`)9feV&>NgDG1_&i_fa6y*Cc)8TGk(Uk8HJW(X=!|L7z4LKb=M}SH{8dyil zXFgDtAPRy6%wVQS+%pQP@3{Vs*n8J=xaVdEf#(FzJ_ct@Bi6^PmjH$*$(kynNJMSt z`5Kt=yVmnL_TB@nd$cxI^jJ&Y1 zKFM!rGcJg4F1Pg_o??o&b2~LSsT;-wW=wJKEP04P|KCaZ*$Q=7Koo>`XZh_*)im5i zwu5Z1f}b;J6-uQVj!$~4gdkXaqb?2g#QBU36L{-_DHh@SZkX2l-)b=8+ECFiihCe@ zH=)G+g_E~J)0Na{g~NV496-llHv6{n0^VL!!5?>Gl)?=9br z4{VBh^pSYz!Hv@kmD4n{y@OSDWTolRL24^);DAf?>-;*|-7c zd2s>kQW7K<#;i46`*fXjc+2-=_{iJ;=;j^{N1uC34R1u!!crb*E#{1D`UuiYanZ{y zejiD{)`?#Mo#$w1lki9p3{QyVdBJm;IHF%oi>Uo-d$eZ;fF%z#huGAxs5_vdh^Or_ z5JeaOUncu1X#&O=fP^QzCjG9mB=ivW>z^ao(VU@uUOhRS2A93n#WlL@?SjlKRRY~v z_AANmhKWV5-njuHKu}4G-1NQkqH=GZ7dF11w)FNwUwWq1n0~ zA3w7d=$Pjbs`#ZDW!x)Zn$_6y_%&519Q`*)%awZdAT3ww)d4BXh@}CkMUaDf8mD)X zVvV4a4JhWJKG14z|j6@$cSfv0yQ-g$7wsdjr6>NqgEi;75J)ig>YeRaS=0VxVS zR*j_~^jIBI8Api#(?0ZA4U4j*jjC}@lN&f7W{+O+pxSOts6mTS<~%JEw1`3!iK@jG zNs6aM*F}ow4Tsv%YnX_x{aljsz5wcL7LeZYm2VjH@m%>EiLB9yEyramZ=W{gZZTey z>16)(-P^uzEUjg=jq9lfuCHea)%In&_%xc5+2~KQe)u#uH)Oncm~Yx+u11Tcx!Q~t z?W=nD@HY;qprXJ1p{OFC_n>uRCC6C7N2pe39B3R{JAuKodDZdJwps0ps{TeJ9%nb+ zQ~ReGMcEPMcJ0a&^bv9OJ3TI_iKha_XgXbdH}A-uIo*r|$S=#fA!I(9FV^OGF~3`r z$(&?A>JnD$R{H^u*U#>6BL3}F{uUx_%d?LjU+3as-z27X5uLA8Vr4D(W}nEP73>iC z)5fQhgj>3NL4ZKb#x@ELWa|Z1I#6XhFq))9R-j!*qE|*Xv2nGwm1qQhDEd14fW=_fcVb+Dvd^qe z`b7CHzx*A;i1`aIS|#tP7v{&-8+aIbsm3lwUM@}al+6T*Zyl)UF2%b5O(l0IG>s{> zUaGImzO%ne_WBvp{?zpQW`!Dm-mKVZai!6ly_G2>tXR$HLRL9KcOk5@PM}xZX}wd} z$~3L~VA*>%@oCx%YlWNl##(V>{IK3EX2lZ0%-q~B?#Oz>=Fr*j)u;ikqcvihX8#-q z{?^?!^ZRuWoHVzY3#x@hEQ3iWDES|W<3=Dv5w(NJ;R6Z?kmTe=Ez9g=X8Ka39KpCl z(4-U0);f9#42~NM=0@y>X98ep3YHC!9vR{ZLsPDOHVDh=?o45>XB}PhyvQKGq7qT z4j39v*U!Q7zF!S1!Xks~Wq>xnP6lK2>sY8=AIa?JWMFnbiz&6s#iss&pim0Ki7?fX z43N|VgJZfKT4o#!BlloMujCX^*gxI5Lxs?j3Mdz7k>i4chlG{v-N@m|M3UF)ULj2X zLRxDrp`NkUir)IeKvYl$;;kPHM1^Fv3jY_>I-I-bKuv~b8zhcjXd-#BX$UhvND~U; zxa8?gJ3N>HhUVW#dc>Ie@-QF>5ST@ZV7tZOz|dvnc~VT1DU4pnSVk|$fmy_j)0Cws z^Z$$nXTdhE+_VG%gR?lxX^@s=<&J&oVZr%IU3{Tz+4(8UP}Dvzkwfjkp=3{A%6mSD zv`_>Rk?_C8psnRW+xTYe1%24G!9<~Qd4z#&#;i?DxVfKT;=n|wD@TmoVKfP zMNnT9*HDhJr8Fj%7w#?5#X)sq6Y+FlN`#8%H&Y_6)_FRU+ANWq5|Qccsbuf&_C1L8 zg6B@9G9#G;KdGOm1QVOjNJ!>sHa3&7NRC{Y+9z|3wJ%qbu}Rh&bE&8PQ>IOBM+8m1 zgq+l)=|lo^3`k`8!Y;Rjs7zgW_jT=``o!?sxs>vLXQg6^x>PM8xzs#xipVw(%In>z%k-hJvVV8^V ztm_;_7YbC$GamUB3dBDi9>ueWDh1%l^szW|N$xe-?h(6|tDd)!;@Utt@d!{RD>u;ww$dFu9)0Z3fWvJeppZ{OV8U z)K<6V^$-8=LNTBy!QjZf{r*2xoCG02lN>`QACB~cbhtv$^&DONPCG@Sy40ysVplyj z7uaRre286tw+^jmt|Cz~%LI1uJx{BIGV6mf64R)m@JQ?iHx;!O%I`L|Uzy_&*?WG$ zE0cZ*t?tAJJK_hq`0`Xy7m~AJLjH;QN;!?L4R>lgtPFdx$rg9dV!B3C9zrLOhXZT z&c^2rvBi9v`n#zW_)Oj1K51~9e6@gJ*Q*vW9+)+njs6tqZ`UN<7V-N>-6HJ3XAPX6 z5i2Yp$sWmOd`DOKiucwOk3lXlmCOuO>Xl~Yx?(t3uaA7Yz;mou7 z-$p3K=RKh-xfpMM-u<%$kAv`nhcv*B`ZV3$%zxY9RG75Plh*V5gR(#AmRWeu9rdm= zamB&F{1iz`$#2WpK}7${dMU=NU*p92e@z=j4R)!9TYU900+>EMMlEdco8q?sD+QX-Nt=$#bu{1fqpV4}R*L}dSvdjZn9cn8EZ5<;fI2_vD~X>i zd8NNu-L02+rvj0;aS!S9Qs}j^H#zgCMW7Pvr@Sk1Uiv0j`Md~Px@t@IuRMm*imU@q z91}}nzEjgpT$ETm za!qCyCLk=a`uIh8*#lRly(E$A$F3b`M;hr1`<|}nL{xlsf3uFuTxBUEFJ%;^8o;(- zY=YK+=4&to6xEI^j%s031 z4Gp`jMHe^af;PN`@or?b#m#jKHE7iP#XEgFlibu6H!{MqYck?%F@kF_vcrJ5{TDR+ zZ7hB>Q{TYGw=(Vxt$Gu4F1=>bV68-Sjikkx(r7TbF^Y(azbflm#bsQTu!yq~7hkM= z=9<`;rk9h5w`;w?MWMwbS7jycyMAN0^?t zZTkYXS{jh&<(eTYYxWjR-n_YGQH9AwL9#F?X`X6vp$5weh|&o=Lbpl_v0ZbC^2)_A z-Vu4d`f_CBC+o97tp*~mmcH`lwdb?&E@8AZ^6NnTMuy@>9b%ZLQlhZMF%fyxvl@gz z%QB*v&34sm#g=cf^D2az>{LjUG&^x1k69}(#F&>51>^}m z+!iWQD=!3?mkyvt22AxLS1^i)E=U%TbgAZFt{oFj55)?9^~+_>-y%D~e0u7t z@JGwDe4C0(t`)c}Hh<)o+xIo+$%Gq7zg+YRM|szD{;&X%L$|I^V;Q1a(OX3M!vaLv zO;R#I)snY(vS$Tw_S6dn&;7hx^cGP5umF(+i3ov!WRE^kPpT=ZC2zGv_Utcmx1Tq} zx^{p1ucG(3{~~^ww+PymE5Lt!?{4v5L~oiF0l0WO^{>}2zy9Uj%vT~3uZ#Ib@SZ>s zDK`R~&TcRKMf65A5z!ZKQTz4!J#D|pTpcC?a`Wo3U&XFI`$haxx5ik4FuycQ`Pvwx zNxKNQ$c3b%jlr%ZF8x(Jb?Prdc?w0y-klrNk|+Kml($So=G#PPzh23z_KSF)8WF)) zvfKRnUQV47;i{BMMLf&sif(B{xih(={;7~>JyMSsD}I}mnD8Hec~f`giBARGuj{+7 zzupD*k*`r@Ds%{(3lhTDzZ8GSs+eUd;xbv4zuqXed`NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGkHX>@dD zZgX#PAX7w3AVhCta|$CMR%LQ?X>V>iAPOTORA^-&a%F8{X>Md?av*PJAarPHb0B7E zY-J#6b0A}HZE$jBb8}^6Aa!$TZf78RY-wUH3V7PoolBS7IFhLM^(*R}d$-N0a#eL# z-<_AGUm_(+0zo{2iiodwB%}SoPf6q(K=6I`j{!~-?Xq9|(EY)rMsXP7n0CEJxd}>0;9^9F zc}hD0M`nJ01LF{RPO5(lyo7;gp!W}PfISrBEuqaHYnSi(VWPjS-EhArsUfknv0t&{ zBOEv{KK4veykWB48L&4VrsHf+0*o@%Lpvwg>4zYj4RNWt*FVvDAx_XPOn=}b!tYe; zv=iXK4Lyt^CwBJw`+q}xIsg!z>!_!ZpqFE1e5f7D+eJUr7N^MZ=%_@S7~}t7^hT=- z-^_4OXCT+nJr2^u7y}jRY-1l^~p40unHgwVA|68XdwOtAL?!4~O> zu{osNG}wf($w~ckMQRd*HAZxJVRqFCykb>o2)0UadWmSKVoEujT>x|fSC(7^gW|JP^ZYOmgym3dP>P5vIX;52bpk@i{tR{ z6=y1IcEGYzX(y#_SYj9?-`p?*kWK1{oz~K^kr;(&uAdTW9I);_ph-nY>tMS@qJ`Q zdYC%C+1`kqAlXoBWoizk3-_9nh1jl&xs~c6D7-#Hjqw_$7*X@!XqQg*`$NF?_;O3B zUp^I1sBQd@{)Q*ifn*!6dB~p$@x|CL4X?+ zj+>HK{o^z{AMs+gF%XA`K>rx^!!3Hn@kfJkod%uT-xUbrsaPhaD1ezBj%JE*s0IO7Xd0q zL*n;NWKQzgT`vO+`Smh0!sA20R>z1+Gelsn`D5%JT>~v|?7~ec*p!zW<7{#>H@6lW zg{FLqI1E#B*R3+?EXt?|-p!+V*%HVNL!YiS0&_^FdL+Ry9gxm@7#I+3Fqk{Jh@;lM z%t?#~rY5J81B0OwN$o_-low`H1IaeXW0$B^LinAI!XP28evT|?$)(Fr6QZdOm=SHp z5hw}zp?%EaoX?b8WWt`8vW;akd2>jbZ6KNn|25^s6mqo=_v|Y0WwxTtA#hp5 zoHViJ;^Ej^>LdE4H7csTm*wcJ)?3wO*?gRM%h&y#Dvl!F>AF+3Y3jH;>9jAt z?y&oV?OAWgRyw_+YCXJhs8M7mdt`HzUOip7;5eX5Nup$=RMkge zoT?D8$#12VO|PW-Y_la+QhgY|IkAT_V}jCSgcFrw6sgtb;QQ>7K#UV5_3yABNgw#! zVYr0W+7pU#&jGWQZ+iCSrh3aFWUxE zQ)?b>CA}HaP`*;9yBIqjooqs11#=qG1!>HiKcq{|hazr4HgWDXpqJ1)A`+x{8}sfX z2uM++if?p5id7hqS!GuxJM^cDt5t|H^pn>tyIX5AJd#9CD&OU=iHKqx#i3ic5Xyw) zvxY(u@gY!HJ6!=gQGyY*MAX}g!XUv4rO97&e4_sJ=xMUf>@@aPm1iwU`&#R#z8;;( zSn@HlWowb06VP86C(3^q3reNqAt+`Hi8i2J9F@hwar0SF{jW=Q;lXETUnJG?^Q8MY z*Tl&6OunLjpbzL5R%Ld3qIZQZ#Z587aU8}CGr+Nh#wmiu5@%POGgZk&Nt59296Cy? zn62Z-p3 z1n;N~!tt-B8llGU!59Po-j{sYahQfK_cn-h`E-E-!1#9Bu#qmEI+H9Do0cxf|JaDc zlhdtd4*(C;{?t;>ILOg~o;&B9hSWJs>n& zlI{*KKw!w;*#kCWinoGrPXd;! zCF$M|@@a}(AstfWs>J!|B-n8OFa)d29Gv{|Cy-XL^6XELi1K?yMYc3JP$^4WMpsVg z*I$151qv1*{VG)6bBND!QLyHMLe`qb${?6$c)sxR2_wrx452A3gY(4cvb>-RkyX&o zkI1TM4BKe|B{)DXn0mvUzL79hD8Q5E{U~6QHpMDnlR4Qc!IL@dDgcyVxKvQdo{AMP z%ASLkfok zTH_=>i6Ws*F(o)@h*GEP8M8tX^hVNMqmj&UU4O6IXvcvW&?G^{zZpmQVVnTY_}GW+ z^!k(`+$fCjx>-6#cJsfUf7JXWm9KS#5s9*qjKTa)0PDFN1CCi?JYbZX!O$f_HXoQ>7Su@~ zEmx{sJ39I)+eCUPPKrAPp%>*k?*&yQEwMxDR>@sO<^jn95qWZ?=jk0vghVI9`u+`! zo}wa=?Zu*0_tBJ>vnEg7_Y+%Wb`fUbzzw~w#-gv#{t^9s2}GjV`^yvzChsd)Jc78d zxg z5Evez!$h?_Fgs2#EKCj2yHJ3P5|%0@B@`Cql+OX=kwlQ#B%F4tfeYDGSDb7)uUjZs zLcu~xP>NHe1Pl(#t>1j37bIGl!xab4i;rP3GWQcshXx5Pc7Vd;k~Zw5o4qOM86c2uDB+7Bm+pzK&cbJ;SUL*(&4dZC;s zdkUfqDFHR#v*%v{Ig<{sjDFFf(c6S7f z6=;7683-99`^3HiXPmGe%h<6R1NkS@FtB z;d(|bt6>Y@8oS};1PBE$KClGDh-G+!VoGBtfa3ZB?zwmu0wF2#NuE6u1_7*ikQ0_g z=ozA}hDk6`T?q^eKn5KDAsS7u5C+;1&m!vqo!6&Myv^RlE_PRdg**vHwyR<3ldDY) zQG7_C%qZu1DxhIOSyi>a90~|bIQy;&D!Z`WiTRM;3I%Ey-#H+>c(oHDgI z+%U^lK#;+f1u3-i!~zRsBv!!&DEz4)f*ayf0Ky9NsX+l9{!oK{YIx8#7iwq#BW_AM zsG%-3K6rWxFzls3gMEx!K*9%va%NfZKs~uE@L(TXl#p-^FA5^4o6l!>pthi&!u0Ct_dh6LuScE$uR95cfL7~PO@89udN*;9MGo_w{@%wCT^FGo+0XuO!sChM6! zU$4;O)2Ef)EeDk>GVJ3ljZ3Y~XiY|p!4(#3WH!&tO)Qcg$7VOQui{nv#v`M9+V}Y; zrX8EBh^*lr%2=c)96y?kM7qiOXmSVsCfOu_%4M5AvAfAPHF$V&6KrA76}kroyGvI_ zBde~W8BJ(&jq0P({m`3KqjU)&#m!B|WW_F&Pn{%PnY=cAm64r<&azd^$ly8XRXmfs zqt~FurnBH&2V>`;%j_8R$?QoU58}6c55_ipf_59#Yr*nYXR|qZuA*h3 zJJ}i#s@pMh-a&f3lne0OPU+}ckZlgaT(45TX9Cdkpj=o109xa}~;L;+-2Agky6{aG*0>{_h4!MDy0l zWT+mMGK`UAePR}(*PBf;K}27RkjX&(9HtidkN}wMdgh^*i6WMMUM7KH_Fd@+h%OLP zvmCwB5laOT+d`0uVBBK#&wi|i20-5k=lJOhadNhV7K~Z(KC8y8f?7*V3ml>4;{{DG z3>k|_*+f#7mXe`ltn#EI$yoDAhLW=alnfBgtC2$;KiSE87iu#V$JhDRHd#1Cy}AluRUZy(t|{*6LF-Snsu{WS;&DF%>}l z*Qt`JWUX3dWA$DqNd^LDp`@;Fm9c5>#TLWeVX=8uy7OA|ti1J9{df11${Q?wAS}Ve z&8l!n1c?Qu#|Xm#io!UBLnE97v=2}eCUkmw4O5)`RdsErv>mtiw`BH5VzfTEc3sz&QdOS?Mmu$u9IYkFUht zVP-zO@e$8@wi=I{gjhJ^Rt&0*93G>uL6S+TA*p(xhf02BqS71^_9SmNa1 zryW(iMYxF6A{V){XG30~{pDh8FgC~_>S{;>U`fS|_XLB`)eqTjo5*xr73{8jRZ%Ou zTp}>LwhHeq)v8QZ^2eV7%`FSViye_n_R{2wA2~`x5Y~KI0Qo_p>5)K^;!z@&V8S2= za~zEVh@N&y0}$Nn7m}a9u(3NvIF8tpGMILM($yfhR?^)#w^mc!c7D7h>|nI-0?H%n z|1_~)+TM>9o5B@;z)CN1j|YtnfC@cvY=AQ%+kHqE>2$inQGk;KICcN0nhoH_IH4tk zpN7>+Ea!D+gUG$#d)CU{=V?u?puOLO)=De*O0-r+IqybmMHYWaT07=o6idcy)7pXi zyg#iSHlGnhUmewpE8~f3?ZiVc2|b^&)(R`<&1k*IBKh&O63Td2S}$<^F-effWhuS$l_F6sq>m~5-(mb5gCJcvm!&{Hl;=C~s#MfKww<5Wd_d;$POIDMF8k{&t3 zB$M=r+E)XDc68*1@zFTYPV}XD$sDA|Gvty{dS%;^%+k|4l!ehVN0ek5vBXf4A=u3` z81rGTgiEqn#Pah^+_M~@K>C>C9k8WW5T3H$#nzaw2H z#M)5G7aEJ?zZ%A2afDdh{u78AxvZe`dgro=;+4^H_BY)lNp3UshAHn#3f?o)M7I-3 z3aFY*JfXZsGW7ZZ7+i5HH>Pv22d`7b&X&7Vg~5hwxy)1cC8r(AzO}|x<@e0YMcwx* zWyx$3%$Lxod*yo^Z?U4f(~v(EQHRw*YV`p?R=Sy1Uw|tsYer-gbPr#IsLlUsBz!$!Pcf8~}`Q-Ah&1CG<9 zs`e~LPq)y&elidI(PLc&m9xVAt>>;a<5zaN;D=$vl5)g{AmH9z=M7{w3dP zH~-f9=sWHY_80^9?7EraSp8p0yCo)cf6T-5Q@P`Jdl}lL>g+^uT-^q=+21Po1(_K2 zmFN4mxRi6xq;wYYFJ`Qi{){!tOX4W)i!z*N?fk&&FnlcXzp9lo&6BsP67s&J|9{GE zzA-(-UY;67wzNa!6PF4a?})ELfc?%+7Zc*D(e=kL{eq80EFTqNzf;SVDEJ*^P==}z zJPC5|dX>2=>ZIiRx{5lxsD7C{mvd*2RsE2e^FB)1wXQT#IZIJ7tAoq@NTpJWkPKCg zH4pbBa8%mgc^Hh6By0;8-JgWO8sU3ue?JkQ+TZb#0X4+C-Gm$TD zSv>=x@Hc(MG1(BcF5Od@q)+*(OR1QcgfX+kN@axXu~Ayzf?DH^uVkiQ)-C|5>iW72 zIt-q&3k6h17r`&Tvh1f%&vU@V!RMliFy1aF^_*1c3Q{%VfEw9pHp%Su=$Hi>i z=nsiMB;OV&*X?v7z)E}mhB&LXx5TkyARt!5FEjCL%Do+RqMn?X#T%+p*|kD*Ko@#5 zCpczKK#W!N{JO~7sq7bMSxG(zKZ5WrD94tf-|`$JYHWYGOy%2FtG?#kTC2Xd9I9(> z9=O;+N>NHwn&s9;uYlOHcyIYuOuY^kD~2L!!C3^dTR7Lq4e7Fh4j@z&=i4*o#O=t* z5X=8COH_ZgM6~!ODkGurtEokU`*v3 z1t7T2GjIuvqIwm=X2Zc6s3i`r6_NCVID1qocG)y3bjBBO*aho zK2Vm$toAIbS({&CN@TYi?dX+i#HNQME9M z!t4)zN+RDhRh**g5`a)26&3X9rlN}4ALTSk3mPZW!3#xOgccQV3tBk)f7v#$#+jwwf4?dlOA?s>?9aTGJRsp z$P9%9AW(|swP=qN#l?H2sNl5Dm(UU|P<%9ppx^9Vl^1T0s)piE7|AjGtz@D|z;Glw z4Sl$HlcBbW(yEsQwXcFcxnFj(ka1F|vtAlD8rVQhRMhpf8Hj!o5+HFHaNX zZ4|VCbt5Vc4FC}_2gM+cV331waD$$phVG#QvV#}|2zmr9^b1x{7Nj5;oX|8IVof1x z!kWe9S+MI^op_|#FHs)RfD!RP5%~ck020z!ImNDKh!#UVT3LjXoJz(YK+Luo*V zzyZIm0FGX03IaBI@yHI)5P=a5$mkJ>Av*v=B$z;Uz(r36X#o}@99jDGu3k=FsB_=v z#YCO{La4CseuaGP51)j^drsbb{ zj2;1B;~q!TNfqlI6c$iH5DLjX9EA%4YexT=T_f$G zbK+Cv4U+R_>fAwUs7}5OOsdlx;ZWF`o|tyB9>J}J@LsX4EfkH*=snafm;F|B}N0k0>yqVcX51gw?fbWH!$ZzOk) za=lA(-b^ChBT6N{1n#r=%@!%^ek)#~mB^XkQ>bJkd{e9!#DK)2BukN^L6T?EtGq9L z`lEAfZW8x!rc_g*&B6EkxK_#mjj)Nua1~-jW4M~Ki`6%xj?}5ZGG7N;HA>*uU|{GoMZ@{_a3DtKj7iI5o#p`H0l)eFXxKT6`DI3LJL#T^{C9u44qdjN-{BsP>5|r_t=4!ooPX2 zmscROf>1^Um6;T}B?C~EIYADEv`h)za0GVwg|_#lW@uL4pZ0HyMN}@-mjO+#- z1&g`gqOSMZ-QU_?Xn!ZXvjZ;uBC;@nw5!L$1aj6veB#-%dK){@j%UzSAM=g1>T_$v z(l*TMqVAkcv`XqAg1uVf@@z(T7xa<3Gvkc@?psOSE1%ix(dXsp=@G5gqqU75CgU}l zKa7^k(RcL4{=QNoRB6ZP=#xrD_B6EGpOL>lJzDX-tKD1BM@@3Zn&doal4EOL~}eivT8UZHx|{81SC+GNFtfaOw4*k`(g#!m1<+ptL-zB_gO1?|EE zJAN(>Ftq$Oo%=#mSc;KH+*D6<9$xbAwEe#0{zaeSrA}ycW0A?%I($;Rk3wz2;zOcs z-qkq?zB)dk{%07oA+y)#WuN3~ZQ55H>)e5=#nvbhHxGk#7`r>Qhv^qmRG-qc2-I+F zaVb^pVM2>MrJL%P^3-oRU&>U!>wGCw`Ns35NcDS(mojzi?zKqOuoreIRcBu+-eI^D zsCGSbDNn~rqeZG_Yp#9)a4A#0SKJ~qOdVgpRHbg*r97oh@})R!e)28Ry4zT_w|ps4 zxx;+eN5@5+NmUWmx~>e2^qSTC`Ffpv10KFs_g<@SuidfN?$zsd>9zaw2Ap{Vp1d|U zUaL#3)w9*^VjA!-wK|tNJxfz=r6HeEvqP!bo6H^tMvdES_ixK}7sD>1vQtOokyw=s zpUyKZ$4?f~T$+Csf)Zzg(bf-N96ymOBf)7(f-Tog*794vJB8)f)@V6?oP4#BJzp=s zKP@Kn^?g^rP1G$JAE%4)m-S?3%dh&u{xo`?u2;%xrVaC;s98!0b9?=5vHT)mz^BQ4 zZhu$WwS|bay;>`k^SGF?TbxVzHBU!t3XZ0ewOS>hIxw0ll`xyk?d3{MD-~mOrL1OT z|MfIoEbS$ljh@s=QBwKSqkXGJ}s8Bk&0jN{PF8zxwijO zYJb)WhwA$KlZ}@4=gErl%dh@&jPVKcK`&=wTkdvU|KAD>O ztGIPJ)u%CbxSnCpzvT37vu~}B>s9s#%CW>r#P$zop@)5rjpj>f-NjgG_yf}h%l;Ab zp3rrXT*+M>11Czb*IpSl_R`fSc$NSsnkd#rh`HB{skOid;JN5~@Aycube*-2TxqWuUbS??ziwzc{`_ zodAuZv^1qY$Ho!;Hk@C*TjVjqapqIwRL_sh_5e<1zW&yjK093PkkLOSTEyeZNjN7+(%l3 zl zobpOrqCr|QR?0n4eG*Tn&?aP3cm8NZt~RA4>^RiKsXG;1Or57(94h5yyRcr&)@N~e z2$T;eKir~M9KVE#j-73mLBE)neWD?nsrkyKNf7-!~Q+vL)Gd|SD+Fif=thiAgrA$k$5 zm4|OJN7@ZTpSrMtHUdq}o8Xv^9ros=dP({s?~;osIK|F#qB~Y8IqgsCJ8w*CTilvl z2%V}xwn2UpPn93BtAQj)h^t&|b_DOz6^RB(baZNwq-EkOhGG`jmgo_dy)G4Kkd-}; zt7Dm;yfLp?hsmm5AW4A=Mk0L?YiV>>aTai#-N_vpJEqZlNhAI29~09 zUABF5NSf`#Xo=?1G$$8gR1d^zP0f3AofYVKdz}?I{jyOmkoOY%xx7w-vYX#dyzSOo z{X~k~$L=RFd-Ytu#IEnG%aZL2oC5R|*}Pt-ubDd~%8(NxzxFD=i zbh+Tt+vYp$M|yuK2?)D{L;j;#e@TLz4sX^-lG@|YvY+77MQE+#soRUk(u7v$V%mNv zJ0l>P4P=7TLxfCB2sbu|G(yk?MRA8%Uz0bsr!@Z7Q?#7E-zvKA(ogK=%1x(i-`CL0 zm2=*0g_RW(S!ZPht#K)}(=zKqXcuX>GLCfa)&3+s{mA|R7uf*}FkHF2Zh+*<9c%+6 z*Kc|nfN2C{8<5|K>D4U%GVWGC!1ZuV%`9yZm6{Qnhh&1Hw`;D|-WBM_8aDN#U> zUP%-Hm93dg00iaDn}fy)6L^;9YP6U(vSzBQPCiCeRK&xm3R@3#f==E=D}adP8~NKh zcZ4FSo=ap!RKjahH9Q_57SsLIev{K6P-1Z4G|w=*nYmM05j%G(ZP^WoPL{5nK}`7N zD+--EK{}53CYKtNMsS!}rj|7PW`Qmf&70+EyTfUksD8`SEDM}*({lUDG|=V!EYn2i zH@FP*oZs;RfOGd27!XDW?8P@W-*La zyYB*n1WJe1uCagsK_FDB?JA5eqGlLqwy!%e5LS`-u+s6|n0ev;j3h_;CCD)ZhuQk|P$7E^nMcq2HMsg?|4 zB&Ow8$(f8mT;@^If>DdP?`9o}f+E(TC~E!dB)gM!Xc662W=oQ+&dn_kqsV7vmY|uO z$s|ja0m~r7S!yhUB>KChb}6KrO(+VA*o2~}wK~b}WD{CMca_=mJVz=)zlDtql)f)t zNd=J@TP_O;2tobz62l}t9@hJj9xn-~K*%Sms9 zqvz?c41_+rp%Uc_Z-UBX(C;GDo}1|A7v=?p{KC8_yJA|(?&cR>itZ}Ysy)js*47dj z^2=N(A%TnY$n+$|5g?pHNl<~}(HP0CR~C&xwLDR1 zhU4ygcc!o|-lH=D()N^_8Ibm;*Nm{#9vw0yzyCcI862{r)1|N&Zi@2v3nXsf3H6JP` zOpL*0DJ&h|2?Upqk{Qf4M6XS8*$}-p#bv=rN~IzlNBGcNHi>7HqFkr4-6#kkiSd4s z7#SxEsWkkjjRm7PY_PzXcg%N9|ByksBz?o+l+pAJ8I%tO21ZK!qFkij@r$x>s>{Qs zLHdRZ%HWWc$4f5CX(<8J?xHyVlye!Je{8Kz_1|0gURHmN78}1`Y@1ce~WxvX!%eJ_~%}GHa z364)sTnP*S;{AGG%*G)sRqZR4m0isxVIbUB9KUK4hkLZcj#oq*2>q-N_vPeyc#8$X zhG5@I)TvSJgtJd?{dQkc-g1=~WrL3z>=)m0f0R*Rs)j@Ma0BrVF;*-kIk+xP62(&3 z{mJm4w8iMmg#C`McL@m!oW0sH7CCW(OItwohq~F+h>Kf=-|vg8ECQP%YGy&%Z)E3! ztRYc)jIcTbR2z57ehTfNzIOW$9w~J*D*eZ-v!_8Fe^LaQNp;=om0R5wui|n@q+W({ zo70dMgdI*Q#KlBmoNAB~hiu--W(M`r*aM4BTFj=3MbX8{Awle=TW!Mjv?ZOb26=}L zxnabmP@g*?iWXolyP&l3Lnq}tgYI5?@m#m;y0bm5!v4#u`;<-M-d@1vllRxR0*XIB ztm)j&a{_)@_q|H#bQrt5YuPTVJw!7?bpP`Z4x9c4_@wy&_d$7Io*uTdq~9WYH%Ru30ci5Z*_5jPd=ACdtB+-61XW zw`>00$>F64BUK^T54YRgagn7l#S?2>hNbwH)2tLYg>_1TAJu1xl_Jz`2+%^;_NZr}mWBDcYg0 zEKX;&mlThfcXX8F_*dNmKj;z2zscEC zP#mVA8~R#=b=x@Omz7ojjifv79UZ}{yBw|w%TS`RPjSeMCq5)9XTPgbR2aNl!jRrZ zRAv0G3shntu8UKpxhuy{IUINX`pSs28F?px)Un;Hy4&(qREWECNPuua7cC@^-{0rb z_?N|^B6ir1lnS70K^7DB5++!6a~1bgRf|ceX^D`EzImQJBr=un+v(zJuPWJNH_pA~ zU;feErCN^&0HFGTpJ zmhgiF!d<8g@3$U!Ps_z$(5B*yiGJ)m5a+jwj`MDuAwaM*TY(pc??=v^DMN^0XN%Q( z^u-3Ivl)}+>{*)Q{CckkwdLSC_&FX}w>ig)K&u6Ct)hh zuv>8$)}~;EZF369EWsUbl4hf%ux(@k84bV`LA96v{k&SEl|3J=VRZo0`W=m)*N=nUTzs|BXoY6a)Aa<_5N)8rHRI=?r$+ZTPD}f% zJ(_}5rzRfEBg0nGXeeE7C61pa$mewLr7)QwQ$twofSU^>nk!8~~ zM6frgO=dsPx%l&BwN{c%MiLp!i*x6YFqbrEkkJ4JB3x}jqv_M*2$-VeP{rkTu#E;+ zhYLQi>Ra$du$2O)(vD#rYA_tj$sT2fxR;RQ9nxJGlmBF|qJyQ}I;;hYcX6P>Wp6q| z1Y;qr8;nteW3+V=sEASV7!q_=&PRLogGEqnv6X~}7-pNLPP~QLW)N4kW3Y$IurYvkYo_^8Jv-UO=ob<2|cL&oENY%!@qKW!3p#()j20% zD~aZ#nf(CI5M@{v@c=g(XkE?;ArHKzUAzSiYv5&Apu09FOr7KhWIpgi531#>!GX1Z zb;f8I9Sw9qK91&}ZAE!`i1&MMEGxio%3iwoqd%VF$4vg-pHT5*CjSs6oZ6!$nmpL^ zHLTaWnqbrf;($Fd4lX7587E9L*kpWz%lNdM%xon#@X!8Ss;$gFB_Jv`Gr#^K%(z(D zpv(*9fw|qAk@+~-raSZ!9s&;}AW%b>p~YboCJxMv%O+tSZ40=YVa^r#eXsHI>u+dg zGbd}ZngP53aFesRtT?2mwf5MBw-&ug3^HKsHgYsLm9t{}im5e=A)2w9;E>JR04&=z zqXu&3y@m|fs13`W4a<}b%NVTb;%>Saf3Y8iU>9!Dg7$kjz)>;T6_*bO_&Wd_yqnyR zZQo7sXrP8=0Dj#~{DBzsA(-)j8Si16?134)ftk5M8n+>sG_ZDTFpJY6DE<(%9k{m4 z*UQPrXHak8o}ggfQLgd1arox>p%Wm0DpFBKu!kN{)mYkUo`xpgufO(Uf_x#k00e&} zIOhcTPC`W%!36Vg6ea{{e`0vva}Eaf_IZv+0;pubFQA_whj0bGpd|rv!yv~3xCN0@ zg1jo9qbUx(`}IRVJeW7;bGH1>JaRlQrXCDTMv%AXb2QZvmB01E`v7STnG=C`l|Kx{ zSN;Iphxq{4iTN-HFXqFr+?Wr5J%kTHcU%fMmi8Sg8eHGy17OGC1LQ3<^z^*6!MO$* z75&_Ij&NHI=B1DtUj%&EvD*#rN0c5T3>Xrm@;=xMab=_R=nEwEZE(R%65B+K!1pd) zmjA$@0by#$WHtIYwb8f7$=aSyR%=LFa?WOXBynDRaCeq3L8C$RHQXWj^t4=jr8CQN z@w8ZtroaZ}86Di-z5oS$le3K%>iB%hpPF338kZ%NMK$(96gTMpu}bsaAPKJvh; z2KqFbPA7D_fvF=E-Vl`K1PfbhPMpzDMkiQ3S}mquf$2_$1UX!=VvHbnD(oSL=JxvA zV)+H&&@0g_H}pM#J0|CtAfwJND5D{aMwmKd&sWb&8$CZgjMkuXUN*rjkngvjF-Gt^ z80sK|^^9T01GPKBKD1~5WshOqU@3?oXHF{-Bfvdc?YRNP1F8*cdk$(s&48c|w2Td8 zM}8VTk8Mb2N;#1A;)m`J6dd+1I0o5dAS1&Hv`v4l*WImcs{s)rZQ6fR! zXsQ@tszONzQyCV^v5iI#|NXpLqxE7vnj*T`e`YTWKpKVDDOtc>>I|n;%-H13mpTN#RaDO-{%<-T(!x zi|anZKgJ1v7s| z6EOncyAbnNGyy?s$d}18!rN_5pYwgoe-1Ac?-Zrr=R%X+Pu|zu^fE{XZ8v#3+h}} z@{X_aL{V>PPqfE()1t`iA6(6-1VIh#i1;=1V-lS-DC? zkh5I{2Qw>IiT4Jy?f&`>OI82+4lyNm4z>wn7bCDIjX7ilcA!}?c3^faT;)Wg`F!y_ zAA?$2o{@o7*cu{TN#d=OV&IrVurM{;XaITx*6P#{LE4|CJ^ntP+GsR=dK>|=J`FCI z_gb2WAP+~Hh#(I}nurm29f7LGpPoUbfysd&Cxa{qBe>lOb*O!wtYBpbE0G}Q2d)@l zzJgNW0iDMRI-pZnNe3|ba|IVcHYTu59mEvSB^%0eFg*Z#|LF>$h4&;$NEjq2**P&D zM!Q-#C{EM|!V6m6&tXApKV;P^8xZuYJ&-XusKJQ7P1cWS@?g)`ll6DNL$e7wjDdQ_ zOgtQU_+YPSb?6|w4p`=8J$qo2x>axVI(ph zLJH$SBrhIB+Tx`>8v$E#Fd(Qsnz6-r?*QDV$=Co7vfKx=ze4kC&e$Liy*eh~QCP=> zIw09SG_bDr1sz~l`;s*pNS8wl=4r!(tU_Px@9;E-LV+HHj1O|BPAC6*o;*O??`xt# z-Qhc<1bUEsMi~uZFapl~ae)e1yJz<7qmr;1;{Ey$8EDEc_Wdb^QuU>|f6Ad$mb;sH zAAaeF$Rd{~_6puCQ-FcCizVY5aK`U2yZ1ZDd;sTwFpn&1jL6ETjW|K8grLGaeSDHGkPxd55 zQA}Js5MuBeUx$qbq*?>81E5Vn-iY+?!#5N;aY~?W)i-bl>)4#lPp#hik+ zq)&_G8rlDPo_t-5N5FErx6oPm-v{ya!#cojN2CMP1-K@?0t<8neT5dNeZNARIR0Q*=^#jk!usm?2Rs~FI$5#h3B=vM zE68tv)eP)JFa(P_1Um}fdcwDvL$H*Cv5&B=;$pEz50lkuG5u;o%xlxe2h>KkqDF)1 zb-)7@Vur~&7tqt$24V!hcVP~|)%ekVc%DMqTP=|wX5g>b_RjGIqX@?&^oR?UGJ-th ztcW&V3@^`A#Rpnpt+yQxfU=>{Cs@;26U=fpDY$&eXNZ7pUqLts3s|s%wu2=jY-?Ch zg0_k1^KvwQcp4$LW%n7PPjg0?KaJxJqd6@Sj3Pjm3X1})Lya# zj(>r=4|amGNCdXQC>z8?Ej2)pAp$kN2)0I8k?**8N39`_e;own2f&nJ47sP{Fb(Ov z2bZu2@q!Boe0oFc=?df&$G|KX$0^wm7he9fGf=?ualr?BPR<~K&&wHO1YezpF+ZP^ zegIAid7jP*q0iMBCG`0^g9JQhKP?wCd;MrX!<)5FXi%ra1|i%Dv4#nFN~}>vL(mtv zCcMT7**w-Tff~p)D4V#ZfAt2hji74l8tkY-AK43lpKPiE_7Z&_!J2w6@vIHT187CC z1M!j+?#Q%9W9qch|NAug3~gA}*(^5VLbidE9%2lh6s!u3 zA1B#CBm$No|AGzXO~Ok|plgk-(B=X>+!!6`p_V;+y?ADtVUNG80FJyf zLdXO095otH&qE%jx$8B0UN4Fq`;Ut?urS(NoPb@5tH^MDjH}4e;07>cotw=jYxa^m zI3+8=ED~%&&`k$fi7Lhj{t$$#CiZl+T2IEXUY&1(S(s9##07YXr^y+??_{_Gk)7Tw zM{8&+#}W&!C9DV|=v`~Y5W|9Nd|;L1(H=dar_pB{+Vb`UMu*=PUeb|sMDYC!cMMJ* zs3W7sPaxihKO~S@j^`2f{FCDYZa?~c;>ILOA%>0BF-hWvu?HD(OVZup1;scDA!8B` z2kcf12HlusPYpO|K$xrLiZ7s_LgrKb3en$XKptYywp;ZZN&n~p32#5SNW=iJLqYGh zg5Fo1js8Nbr_mVNLcQY3Qh#JGS3_<+xTEic2zLwuehRLYkNNy*GK7`{`C?r=DcBvk zfxK1Mjtch)o_5~h7%A%wlkEx>7h1y`j4%a7p{xF$; zKHW+fFDU=w8??CptDKe_(!m?P1w(3FxP$jPGTb4&oXl)BhhcyA#Ztc4`_JBlig!|f z`=vkOE>ws2YY)7oydlzo+Lr<^%dia=FUAxKWDG^lmpaK0uyAjnhaSAQS(;=P z@nAO{aMMykf;KP(ByckW`qdLVUto%=b+I*tf`e8UTC8tHw;q89S|_k zpu;P)!_Y3UE&$AE7w9oA;NwNWM~Mt0HUxY`2>dvZZ;z9;J)Nwe-I=erfQA#F_~7br zg$PqW)}!SbjYrcdq@hWwDl&X~*8o1$ansjtkT5om0Mnr3Cn#??7Jh ztz+h)zu++==)=%T-kgZGWC9uzt~SF;Ldp~z%Qtr_~?9b0)0lJ2XaGYIsJ<*df1cXtd1WuDTL0^L@&GF=y_L_xf%D?y zAv7h-4as)YXfOj5s4gu>^VMh!X^l}L0qxt8jur?K#|3zIqe6r`;yzK$fE998$I2F8 zfSb+wfpLT!pS)tolo9md2VX%J-_V0ST0a6+loAiR!c?5mP&(Xtb^HS!0w`=9`eNHp z6nFB~hNwa(I?x(a!;A*f+pzVg#tB<}pq+U(!60wwpOMzL^I=Bp-2jHUAJF85xi#5j zguJ1Dh8n>)OHfVccQjh97UK!qMFkfa*@g#IcUnlJp>#RS!TCI&FDT;E(w@v`q}14gjN9%$W|P3CC4n6H2ep+^H6yr4C0^?mknF@>jJITy?z(k5aAzIUzUxPJ+K(1<{F zY- z2h7sFLjzn+SbWO!6x2oc8WqriR|h=!2~JSt9O=yF0R~OTHgM8Ii~%#k(Bgc|Wp30y z^bS7$`Il}CMFn-?c}0Kg%3zJWJqeyu;%7LXlR8}+qy?rk#Ye|?0v8)*Nbo0&O(KlL z{hp+I9Hd5DVqE&sCLtbTCqFeb1z>-j85N)IaEuRolMJ6(A4HBxgxSGQ37uL@GCakY z?42z(%MiXFO#&?OmLzFxlwsv;@GSIzEw&uOz1W0R#hpnlcBUq(*FajNKU1 zR>;>&bm{aGIqr{QHr*V8Jf}`aAQ6z$qD_3^)xPlSy7oGIQ3#F153GBxL@!DDZxqT$ zlCVc3A1W!P8$d{J5ZkHm8NFm8_DJDqyqR+KvQjDXZZ=A1AV2JkW3hNu-p+KkmXB(jU=Uhep&mGzB zAU9uu=|eU51tnwyS|CQ?RRyr+DF9)bn~#h6!wSt7Unld=X!O-y_DKq-iO+fo11~}Q z@RbBx_^6O?y1&r5dbI`UnS(pB_QCA!s!( z86)^(5wK#Hgpf6QX|q35(2rC50iIqr@QPRZyaBW%Xzgy2Mnf5$fHl3z2~*$4U(m_IH%OK0SW4AD*W+dU#%rdL_iuPHK6F z*y){FPCs@uz)=BH&2A$@)xOzmvZnLpS9>%?bj7;@r*tiVUiocv8xW{2H4q_cP6H6Ao=iS{nv9=; z9gUu-ERSq9#618!6sy%Xl}2+EtX$k?+V|i1-moM zfgTNXgaFmNyVx)_(w>db({eJl(c@^E1xG#E%gF-NhSoJk3-2AYb9@$dIFxn;I`dw| zjRrMpLE46^us|)s*BKf=jwW+7fn^11T$a0YNbg+ssv#rr{R>lH>VPnHWHOsQ&snk$ zc$4KBnnm{eL%`DHL^vj)2fQVLPLJo5(GW%@Naa3fgsIlfoM zXlXw@kJ(ll$UurKh+rcquJJ}g8UQf$>Iy4N)tZg|q9$Ov_+~#KY7Ri@p^JSPp~WEjmm z0QIlIMgtnS;7vgd6|O;mc1g8l%9I}BP1Onzu3`heNn7DTRbIe%X&K)5agyIdgcc)w z0S9;hHaVe=#3m)gaO+D-xQYWaX1Ga~&3SNRhtFW)&VS%zh|eIQS|IST#0+w2f1a$? zd4MHL0<}aR+3p)OEx&@9seGJ29-2iFvvg`PdhtW|$ADTJurats91U$mgEbS^c;VWN z{5~L>PG*xeG(%Bm%dEp2Cfi+#e6lCt8xyb{XkbQz7@A-;z5xkT&F%5yXg*oZ(0K7Y zho$9BG;5FDofD8`kKFJOKyOK?Dt<;84PjKmRPZxK==yEXCM%XR2(6x`6QGLTWTeyj z@dcwK^2uP@6};M?;YNcRwZIL*87xqXFqy-RVmV{8_9TEE#c~b|RQ=B}qd^Q!nCgBG z317{NygpDhy})ZId%l`a2GFVlQ2CNH8p=ooulOY=T-^s3uu?E(S`IQ`r38el&yWLF zN<65V3prqg;=v7AIfny000$7TazP0)VC8}muHrn{Q~UF1ZG%*t1{`3;X>vkUoF*ky z#c5IkRveg-UJbI$Sp*#E)r5uXIKq$gYC?jwK+q$-%A9(Dv+i6$gr0rp8g?|KaR5@W zuCc<_FlG+2>&xTCY7J4p8h{oHltgZr45K}PYgLmKvQ9NgVQbXW;#(s|vfONis9e`r zf%<@Vv71+iFfA9xB|V zjs`a%U@F}$V3cp0#$2vB!dYAfBXgpgMPz7rM?}1qZ8hV6|)r zdIevT2BbUSwWWB+thlrdQEl1@fo_*vfsF>#_aL?Y3hIz_$|_#8L47wq>zn3o%3xlEn2GoD~=PEE)`(N-uLI(=r@RwPz^8(XuM7n z5~fjVGQu=RO-6`@s7VOV1Qmxk_SYGDTH52q>}fIub4t<*2T`ZnL8D>xwiU(L4fhf8 zF(LzKR%mM8P6<%emy;QVMYGXg)!XFHlZO=;ZNI{o-8Kz|(2@XW@~f!PV8$mrg}(+0 zPv@WK<41e^g#za549U7qykBIIWuGZ%I^z8*4N;lS5buLDNJZL0yx*iDzNu@+-{nDO zi*O~7f82-6?~yX;`_Mc1_~&1EMdu~!0`nUF_J4V$T4QR}Sn9^bQe&qetBb>*=8|H{{5`{s64PeaeHJ#d+V9!Y%Ju=rgNmteQ*Esr4f-NUG1}?(y*riR4 z!XRt=Jx+I_XP6~Pag-RRVJ8#2Bh`<{Vc(`WHjeb>kQ4>92+H0JG02mdd?r7NnF&dc z+6iC`Tqr~Kv@A2$Az4BQqXfO4N|(eCJ0!sf$8i{&1xXBxhh#l7ySWKtv>}1xlmD3V zc-oLi;QEII29JTM<&ctmBI&va$O?+B0kWdjXuO_$WdR9!eunN2-~|D{Xg4LVPKt$H zKv|;uZRbg&=(SoFr^v6?+RNgt9i1bf60LvmEwdZYIG$%uVrdj>0U*^N2U`-6AcBTcHi zb4XxDD#C#mg(Tp&81m%%VTUb3d19%ul5~%QG|}JW;Xa~28g)85k|;gckga~X9`^B; z`iJ`4+ha@BJqa+%6dUcFWT*f49)jIy__^4FbPOX*vcpub*QNG&gWlhKc**k18L(*8 zo^rJ&(Jh~CBxq^!YW>r7QJWPMTiRwtt#K*2=B<$jPZXkdZTrP zZ-TungQmBGEDwSNo6sPHdx&GYI_#x)GC0a*6CxhPp)M^>4AS6tw#yhW$C{GSRV+yj z(ooGI`@Q-W3S^|Sn`2Vvd5HR9~oqL4e4OX_Fv5~(51)5NeabD%t27A3dgqk ztVO(-IgW972s}d=bZn-*_MQ3yh^4cTz|h?8>+E5iiVOM~rwXiblclTA(T*a{Q2aeL zqOX`*^{)5SRMTZXlJBFl9t6dfHyxdSphBMh4Ja03J2!nMEhT)J)qV*BFQHwW;1nKQ ztp#hG{hU@Mv@I$Eoe#YnQOB2ubdWM1lXWj;%`bZt$Z#x90@LCoRX3ZYYaD}h^+T${ zVqQp9+E2z^GEqxs0Lr~p7Eh6hsf zM7pafJe3x+g{ShC-2mxm4cj?H0kViEpZxnkJd%pqK?O*CHr7<(p#8y5N#q0JdO5@a z^~vHQ5EBMev9>Q#bHQNB_mPYLL>mmG|ETF8nzG-X#q>T|9>Xm311h zfmEz~Kv{w~3{zkRGecsYQG^4J1Y6|pi0?7a%?(4}3*Q15oC%KU7<1l3Fg$7AR56A` z)OVe)fT?(Ey;xHo;edfM4ZXvRWb?c^5u|xIe_RV4s2zYd)6frtWCO*Zmo$(%?-0O) zL10v^1cJ4^dv$!`v7M6B(xq1@zc5}i#<}aZ$*Hv1w#liyHEV!$+%{?F5Cy1CVo(3t zCw@!;T=g%2xT?R^jZ+I*?>c^qqGE%$C~VD7@;eUO7V+KXR--lld*tFcB^%=Q*sPYv zb;)EDslZ_o&|U78t3yd3Fi@AzaKEtIAIH9n7%`OE#gneqqbMq7J&MBCzfSTyT8|d- z-Q^Zd?}pjEchQBdOq9J7!Jz1U<4!71J~qvR#D{>zjFc$@4AYqDqS|e#t~R46DrPf^ z!q(~}zoX4)5#L>I?=w8f6n)ora&R&?j0((|65}jIh=BQil76>B9u^=9#D=r@@uh4U z<|4acepbQm8T1OJk`2cey>&t$SnQxK3-yH4jU5wstAZ&v;Y>G7@AGdt7)fKQFpEO= zh@D25h3I=6A_qgt=Dr-1etY^-8G3Bx%jGcR<(-lQbawUgqJpk|Uf5clRS{sP8yA+Q6{wGQZ%gvWvR$&RXfgv3tPke_{5)`|)W0pWlja<`#Z0Ip29GTS}MBgp#Pgq4RywXVmVaCsa> z>>-=*=`aVNbp=qygMtAwbP5MHf4(NSNMP8CP&Q`3 zSzcTKb}0>02ga&3+xsM5HoX<+F>K~FKf96r{tz&4spE@CN?5AvtmT@KE+2t3Q&Ns{ zhrLH));h5#po<(0eG(o?f?)}3Zb*T;q#0Bm{4xx^-iMcxG!Nj!b8 zfk?st&@*|jWC<7(03;AET6a@25@9Z2>q?EFgR1t2i)b^SSh2#Ir}ow;h-7ynS4whsAh> zrjz-Xo3DM}*;>nM8#hx8T;I>)s_pZ1@o_Xov(aB@_55*euhDq%JYV<6T#gn`_HsR1 z^snmq*S|AB2^IbQcS#imYy_=RCp{z*I-y>jwZ}=~Y&j;+?o}rT*QK>fs`@LAS)AQ? zhut4`9OqY*`?V`e(1-Zd@ANsRCY}mdqv>?<&3-@+_H;esAa9p-N636MU##r$V*ao~ zlR3)&s7hFQS{;NeUO#`o2?h6e`Fn_T9p63pY@dsTeWL`sWput&iM74pyJMpGmUBQ9 zUt1qf67K18ivW(AtxX*6(Z&y*Y@*6fU=&G-olv=qRIQABVMCO*6>kK7FCj%=sFhGP zl|nIzh8`&f)y*Wf5YvYfj@t5Z(?#&{}(mze6w$7F=M6+G8YHss(=>}UpTU@8H;~E2~gm?3d1m!nOd3Q_JQ)+HS z^~pW`%9Sp0^`EFk=<0bqwpS}OwZGa^G=HAy5L!%!Iz_snAI4<{U)93!KKx&zOBnr6 z=+@?%urEX>+C1FT0e^dup>+tW?GvaKciQjd zwlZBS-#hM(E_}LiwCq?(=~KHeRXPp>u8;rrul!4 z!(cPA1Hor**#^^V(pbmXVX1^cCPQ02qUS4B7inIS{yt`Sm}<$9!n~c9_wd? zV8$1uz19lq4c1=Kr9TXa3Y3Ak^n(FWL9$w<{|nSQoV(|Mnhct45V(G!h~(YH5t#Ks zmRJyuOP;;B!-5&W(ER&=4=|R#EDQ()2$)TZaI=BI0YjG|uagp-PQmDP0?X(XIAAt$ zlPq;9l=Xj3182iFslB)a0tU|JETe(6B`bFAQwlAdk4bnG5dL9>tjD_3}_H36zX_Q}%FGfRVd%NPuwQMJ$&@mg=E+n?jBx>?B7- z_E8w8d|}`90-Qm%^&%GibKs&X;T}g1Uz2!W)H~M*60ZN`2&j_KB{sf?kid&co|{h9 z4`G@7NRSXWd%Y@h+#iLms1n#A&|g@_4}9DZU+K@FX4cupPP9`hB%~HsPq%2%dum~v zC{g-5y4>v$7Lw;7Rrxcz-5Tj4CQA>*@&q0J{=1x+D!;3Svh6szvu$2;%A3aL^f~AJ zcPfxSVsO|y0gAEXvF%RIpU^J!j5BX?#xXj?ewKY)s#}t^lauV^ z)yAHiChU!dFs1_sWhLa*o@b`Z+_OT^%TblAQ!euWWlstxa_VM2GD{zJO!F(2{Ty$S zL1u612NTGls~NP6BiZP>ie@-(vswlKTAP!s;-`K=Q0k}*POPY`rewBe|ic} zQ9$=DrnHLdD974hoFK=Kb`I~Ei#)L@f3`&_Liy82N)gu>Jldpo%abWZWcD~U+L7(f zfLK3#(<+r($u#_d1LW+(L-CZ%-3<`|$t-)(dNSroK`v7JWUjFGr{!d9qt)7eQd9pa zkukF)oTgqt4x4fHNT7ZKqEkD!S1TYYR~I&XiTgvH7*;!zl8KWphWiHkor(&FmDlY* zea<OlzK;8?w{u(5s5f^Kv-0?1u!YVj;CXb*WPF!{gYgB2(^ZQoR7DF4c<^TgXv9 z>35S>740S0a_Q=w&OG#wDEmv!HocE>mqF-P3;tgAOUKU-qgCj?@+F$PCAFhC%fqjT z--(qeIX>`3WyqA7Mlbq)Dt|g>S+cAm_k@NvEfe=vPray@Id%SXoQ95vy>%G7J1q_S zwD?Ac&VhHMK&CwFg}qRNg2VoWKRL5h0QPnXq3%Ebx>~AulCU=pIb&{=NIp$FdgW&? z)fj2>1n2jgvBu;0!Kpp*g+9ed(9~6<8-N}m%$YsZpx`eW)7!E?Irw>OH5?7TNB$VNE(Lq56_kp{R*)Db1d z*_E@RRZLMN%m>gzQI98UM91|HEX%6S@2B)X%+4yKe6QF=hd(6&rg0j+grP5~y2DF= zId7R1-*W0s@wK(e|9A8>;hEoCWbjqqxG}-A-Vm1*#W-?ex;8(BwBPlZ`bZ1etv5sm zdqkJMI8iL`-v=BYnaiM9&MA;yZf|8K1?MlK^A78J8UEp2FO_Za6_>NS3e1c4l54&A z&JX+n{rZ8|%-n|%lFn{EyWD=J3WyJX{N04~@*<-N+38z|-v9o)!M1;Y-x(TuR5JHv z7CC~88w5hCUX&Ho^`bOguxJ1KB@fi+m{RXChzYmK_sz>Y71_lHoO0%`zc8LD!_y=sbS++R9G4E!WIt+Hv6h;q~B(3Au zELzmnk5tA{-ui;TfpEZd$}`UsAA;;8^K>!aEDyX9oQ5nFhGAQinccz!r^g5@ZWi9X z(L2=~e*HTNSfsm8{)0V~U2vAOF>;{(w4$1WELca{HOs~(Y`^Bru4`sn$&CyrayV;#*EXx%k@pYA;ul#T<YyH*oCSjEw2i&8%fbI-=5*<6d{S-ZY6XS!Op|jnM~rm;B^|tk6wL zqxODU_=d@Lmv-2}su$o?nR*fHnOf1==r0cPYm)AZ`0ayg5#?$$OUG1NZj^tLp8_6; z$9qiBo8l!b1ZI+{Va-k|PI*>zFzlV<3kxChNuKrN*T3tM9EV|w%6~E22$lF^Bsj1MP`AXk}u1+ zVT}LlEIV9Y>gOc&{+}1RKmV;w*7b6kw4YDEk$ridf9@*CdpRBRNPln4-4`P1KVOrR zd%tX+%4*5-gL2EgUbvOx^tn}i&cT)cu{?ATforSb9$~W#2d0NvAX18jo3N#VdytJH zT^SLbD{*hoS}mPuvvNGh$H3VWSG-j(%HPGTmEZsrVB*2xl1!WN#YwOjL!kuUVi~V)@B6nRyI5 zx5WDAt@82@u1c%&j^|qh_?`AA@x2)HukP>G(au$svWikxS*i;+qu=f5J=Fbvr2ezt72VvJ1tUfSHR7AYthmoqBwx-L)oZ;m$N9uLE6Ws?&eE( z@S%JA&H_GjS6{jKzDEzY)xb%~-@gJ}JRlsBd%5f#UG*+5dN0?!qf6e!74PSQcXhox zx!ifQcrRPgTE#ucyiga*QHT)-?7+p3(@PcF>)>pNgIrRKkfXGAjG71Fu%Y z$=q=jSc(%|1YQ*9rQ}-z7S;Dy0k+k^$;iL{D}{(VtZg;$Vsg8xCm}u7epf2thvi@S z6{33TerK)krtf_gRjpOIdR-4~kXK#dykFSg3_sO~}k$Na;C*9;%$$k??*O{Wz6d}4P$iErL zxd|vbN%7B4oYPXD`Ka4O)L{ndHT86ybGl46!kcy-HtTpd>3UeCPS)s-CE^u-Ro1nN zs~}2l5oaY@e^~X+HL=wAvX^N2+qGGsRcQIiRhemw9sUiS`seNPvJb9G>wL+9=X%54 ziw)HWEbmqx+|nK3yzFfh_H`Z(!wHpbPwsKhL9Oo8zyo+H!-rXh(~Cl$mFGaLO7H;+ zY~bFmfCKUV=5AAj7#JrFA3|k|M4Rcn0*+=n72#vdBd|pQ8>KnuitqW*SQ0-XtOSkH z9B9S&d}v+0mm8%y(C+vzXO-8J40cDmNKtqPE&rYmt($jswJZnLO&_aSah}3a6su91 z1FZP|Dq5b6lOLx3eY^Pli)#WqItq8agxfAcx}$!J7lk4J!tuOFyVUBVtCGncvy3JD zavKHOr52xDm3fRhSg+dG?b6u4w}@i%qLcg=d(?2lg5_Dp@c&|~WiHY8N}r?T-&>9E zt?c`5Xh9etwvt9NNZTso2e+EVyZw%c-+J)Y(t$j>YE5nklh*7#n!I~+i=uLq@q*+t zo-j|nI9G$^1$gPWr`UU?x!A5vvqk0n7&k;-uU>G$d9U=9U(UDaY_GiAvXie4KFpg- z&sIU57N0ydaDm=hfVK+hwgly>f(!KKGPG5UC>}QxFG#oLC|4C+O?Goh+A5~QqV#@w zF2?H%(^df;mZta1a{*pop0*0;ut2?Eo(u5$BDGxr|1$M{c|O3aOVw5ZU1w76P?oudyVu*xod1eE-_hx-tHNI# z-w9mIFS${mU2O5mb(yIjZnsR!i{~giNN+ECg`@nqeD;!q$io{F;6#L|QS=^B@i7O{ zhUMi-MS$uh@A2f{a^UQ+A8}sJzghGiQ1LMbkpKw~0f%HCzhYmgDe5KfwM70c4^IBS zd&k|;u_c7nQo~)mMwzRa*h!9v?4vMFJG9tksdk+DcUKYeF`jlBGv{U6#h1Nte z9*Nh*T&=rP9Cd4v_MdetN;bq2fk^xe<=kMI4&^=uXo+0C^<<1MeBL|)n9 zM7aG*&(C~M1O3$L!7mXqex#p-(&vjXUFP5ane#P(pSTiX^Dtdz&i?sI*6g47)0FZE zzLMPZ=UXXND}<|3Y8A0p43~I=W6V|uTO6DU`OXXWS+VkO^AZ#G$Dc0hu6^;bg!_5* z@a5-+&^@qC$J{3FL$5_bbo^WS4|x@{JVW^ZAH*&sSpwPuDoZl*^H6mcrzV1~5API Reference
                                                                      bittensor.core
                                                                      - bittensor.core.async_subtensor -
                                                                      @@ -514,21 +505,11 @@

                                                                  Python Module Index

                                                                      bittensor.core.extrinsics.asyncex.children
                                                                      - bittensor.core.extrinsics.asyncex.commit_reveal -
                                                                      bittensor.core.extrinsics.asyncex.liquidity
                                                                      - bittensor.core.extrinsics.asyncex.mechanism -
                                                                      @@ -594,26 +575,11 @@

                                                                  Python Module Index

                                                                      bittensor.core.extrinsics.children
                                                                      - bittensor.core.extrinsics.commit_reveal -
                                                                      - bittensor.core.extrinsics.commit_weights -
                                                                      bittensor.core.extrinsics.liquidity
                                                                      - bittensor.core.extrinsics.mechanism -
                                                                      @@ -699,11 +665,6 @@

                                                                  Python Module Index

                                                                      bittensor.core.extrinsics.serving
                                                                      - bittensor.core.extrinsics.set_weights -
                                                                      @@ -764,66 +725,6 @@

                                                                  Python Module Index

                                                                      bittensor.core.subtensor
                                                                      - bittensor.core.subtensor_api -
                                                                      - bittensor.core.subtensor_api.chain -
                                                                      - bittensor.core.subtensor_api.commitments -
                                                                      - bittensor.core.subtensor_api.delegates -
                                                                      - bittensor.core.subtensor_api.extrinsics -
                                                                      - bittensor.core.subtensor_api.metagraphs -
                                                                      - bittensor.core.subtensor_api.neurons -
                                                                      - bittensor.core.subtensor_api.queries -
                                                                      - bittensor.core.subtensor_api.staking -
                                                                      - bittensor.core.subtensor_api.subnets -
                                                                      - bittensor.core.subtensor_api.utils -
                                                                      - bittensor.core.subtensor_api.wallets -
                                                                      @@ -839,11 +740,6 @@

                                                                  Python Module Index

                                                                      bittensor.core.threadpool
                                                                      - bittensor.core.timelock -
                                                                      @@ -1049,21 +945,6 @@

                                                                  Python Module Index

                                                                      bittensor.utils.subnets
                                                                      - bittensor.utils.substrate_utils -
                                                                      - bittensor.utils.substrate_utils.hasher -
                                                                      - bittensor.utils.substrate_utils.storage -
                                                                      diff --git a/static/python-api/html/search.html b/static/python-api/html/search.html index ad91230d44..b845292487 100644 --- a/static/python-api/html/search.html +++ b/static/python-api/html/search.html @@ -151,7 +151,6 @@
                                                                • API Reference
                                                                  • bittensor
                                                                    diff --git a/static/python-api/html/searchindex.js b/static/python-api/html/searchindex.js index be0ffc4299..7ceb8fc2ce 100644 --- a/static/python-api/html/searchindex.js +++ b/static/python-api/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API Reference": [[144, null]], "Attributes": [[1, "attributes"], [8, "attributes"], [10, "attributes"], [24, "attributes"], [25, "attributes"], [26, "attributes"], [77, "attributes"], [78, "attributes"], [94, "attributes"], [95, "attributes"], [97, "attributes"], [98, "attributes"], [100, "attributes"], [103, "attributes"], [104, "attributes"], [120, "attributes"], [123, "attributes"], [124, "attributes"], [126, "attributes"], [128, "attributes"], [129, "attributes"], [131, "attributes"], [132, "attributes"], [136, "attributes"], [142, "attributes"], [143, "attributes"]], "Bittensor SDK Documentation": [[145, null]], "Classes": [[0, "classes"], [1, "classes"], [2, "classes"], [3, "classes"], [4, "classes"], [5, "classes"], [6, "classes"], [8, "classes"], [9, "classes"], [10, "classes"], [11, "classes"], [12, "classes"], [13, "classes"], [14, "classes"], [15, "classes"], [16, "classes"], [17, "classes"], [18, "classes"], [19, "classes"], [20, "classes"], [21, "classes"], [22, "classes"], [23, "classes"], [24, "classes"], [25, "classes"], [51, "classes"], [53, "classes"], [54, "classes"], [55, "classes"], [56, "classes"], [57, "classes"], [58, "classes"], [59, "classes"], [60, "classes"], [61, "classes"], [62, "classes"], [63, "classes"], [77, "classes"], [79, "classes"], [80, "classes"], [81, "classes"], [82, "classes"], [83, "classes"], [84, "classes"], [85, "classes"], [86, "classes"], [87, "classes"], [88, "classes"], [89, "classes"], [90, "classes"], [92, "classes"], [93, "classes"], [94, "classes"], [95, "classes"], [97, "classes"], [99, "classes"], [101, "classes"], [103, "classes"], [104, "classes"], [106, "classes"], [107, "classes"], [108, "classes"], [109, "classes"], [110, "classes"], [111, "classes"], [112, "classes"], [113, "classes"], [114, "classes"], [115, "classes"], [117, "classes"], [121, "classes"], [122, "classes"], [124, "classes"], [128, "classes"], [131, "classes"], [132, "classes"], [136, "classes"], [138, "classes"], [141, "classes"]], "Example": [[0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [24, null], [25, null], [25, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [77, null], [80, null], [80, null], [80, null], [80, null], [85, null], [97, null], [110, null], [122, null]], "Exceptions": [[24, "exceptions"], [26, "exceptions"], [95, "exceptions"], [133, "exceptions"], [142, "exceptions"]], "Functions": [[0, "functions"], [1, "functions"], [10, "functions"], [22, "functions"], [25, "functions"], [27, "functions"], [28, "functions"], [30, "functions"], [31, "functions"], [32, "functions"], [33, "functions"], [34, "functions"], [35, "functions"], [36, "functions"], [37, "functions"], [38, "functions"], [39, "functions"], [40, "functions"], [41, "functions"], [42, "functions"], [43, "functions"], [44, "functions"], [45, "functions"], [46, "functions"], [48, "functions"], [49, "functions"], [50, "functions"], [61, "functions"], [64, "functions"], [65, "functions"], [66, "functions"], [67, "functions"], [68, "functions"], [69, "functions"], [70, "functions"], [71, "functions"], [72, "functions"], [73, "functions"], [74, "functions"], [75, "functions"], [77, "functions"], [91, "functions"], [93, "functions"], [94, "functions"], [96, "functions"], [98, "functions"], [104, "functions"], [116, "functions"], [118, "functions"], [120, "functions"], [121, "functions"], [125, "functions"], [127, "functions"], [129, "functions"], [130, "functions"], [131, "functions"], [132, "functions"], [133, "functions"], [134, "functions"], [136, "functions"], [137, "functions"], [139, "functions"], [142, "functions"], [143, "functions"]], "Module Contents": [[0, "module-contents"], [1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [6, "module-contents"], [8, "module-contents"], [9, "module-contents"], [10, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"], [16, "module-contents"], [17, "module-contents"], [18, "module-contents"], [19, "module-contents"], [20, "module-contents"], [21, "module-contents"], [22, "module-contents"], [23, "module-contents"], [24, "module-contents"], [25, "module-contents"], [26, "module-contents"], [27, "module-contents"], [28, "module-contents"], [30, "module-contents"], [31, "module-contents"], [32, "module-contents"], [33, "module-contents"], [34, "module-contents"], [35, "module-contents"], [36, "module-contents"], [37, "module-contents"], [38, "module-contents"], [39, "module-contents"], [40, "module-contents"], [41, "module-contents"], [42, "module-contents"], [43, "module-contents"], [44, "module-contents"], [45, "module-contents"], [46, "module-contents"], [48, "module-contents"], [49, "module-contents"], [50, "module-contents"], [51, "module-contents"], [53, "module-contents"], [54, "module-contents"], [55, "module-contents"], [56, "module-contents"], [57, "module-contents"], [58, "module-contents"], [59, "module-contents"], [60, "module-contents"], [61, "module-contents"], [62, "module-contents"], [63, "module-contents"], [64, "module-contents"], [65, "module-contents"], [66, "module-contents"], [67, "module-contents"], [68, "module-contents"], [69, "module-contents"], [70, "module-contents"], [71, "module-contents"], [72, "module-contents"], [73, "module-contents"], [74, "module-contents"], [75, "module-contents"], [77, "module-contents"], [78, "module-contents"], [79, "module-contents"], [80, "module-contents"], [81, "module-contents"], [82, "module-contents"], [83, "module-contents"], [84, "module-contents"], [86, "module-contents"], [87, "module-contents"], [88, "module-contents"], [89, "module-contents"], [90, "module-contents"], [91, "module-contents"], [92, "module-contents"], [93, "module-contents"], [94, "module-contents"], [95, "module-contents"], [96, "module-contents"], [97, "module-contents"], [99, "module-contents"], [100, "module-contents"], [101, "module-contents"], [103, "module-contents"], [104, "module-contents"], [106, "module-contents"], [107, "module-contents"], [108, "module-contents"], [109, "module-contents"], [111, "module-contents"], [112, "module-contents"], [113, "module-contents"], [114, "module-contents"], [115, "module-contents"], [116, "module-contents"], [117, "module-contents"], [118, "module-contents"], [120, "module-contents"], [121, "module-contents"], [122, "module-contents"], [123, "module-contents"], [124, "module-contents"], [125, "module-contents"], [127, "module-contents"], [128, "module-contents"], [129, "module-contents"], [130, "module-contents"], [132, "module-contents"], [133, "module-contents"], [134, "module-contents"], [136, "module-contents"], [137, "module-contents"], [138, "module-contents"], [139, "module-contents"], [141, "module-contents"], [142, "module-contents"], [143, "module-contents"]], "Notes": [[0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [0, null], [80, null], [80, null], [80, null]], "Package Contents": [[85, "package-contents"], [98, "package-contents"], [110, "package-contents"], [126, "package-contents"], [131, "package-contents"]], "Submodules": [[7, "submodules"], [29, "submodules"], [47, "submodules"], [52, "submodules"], [76, "submodules"], [85, "submodules"], [98, "submodules"], [102, "submodules"], [105, "submodules"], [110, "submodules"], [119, "submodules"], [126, "submodules"], [131, "submodules"], [135, "submodules"], [140, "submodules"]], "Table of Contents": [[145, null]], "bittensor": [[119, null]], "bittensor.core": [[76, null]], "bittensor.core.async_subtensor": [[0, null]], "bittensor.core.axon": [[1, null]], "bittensor.core.chain_data": [[7, null]], "bittensor.core.chain_data.axon_info": [[2, null]], "bittensor.core.chain_data.chain_identity": [[3, null]], "bittensor.core.chain_data.delegate_info": [[4, null]], "bittensor.core.chain_data.delegate_info_lite": [[5, null]], "bittensor.core.chain_data.dynamic_info": [[6, null]], "bittensor.core.chain_data.info_base": [[8, null]], "bittensor.core.chain_data.ip_info": [[9, null]], "bittensor.core.chain_data.metagraph_info": [[10, null]], "bittensor.core.chain_data.neuron_info": [[11, null]], "bittensor.core.chain_data.neuron_info_lite": [[12, null]], "bittensor.core.chain_data.prometheus_info": [[13, null]], "bittensor.core.chain_data.proposal_vote_data": [[14, null]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, null]], "bittensor.core.chain_data.sim_swap": [[16, null]], "bittensor.core.chain_data.stake_info": [[17, null]], "bittensor.core.chain_data.subnet_hyperparameters": [[18, null]], "bittensor.core.chain_data.subnet_identity": [[19, null]], "bittensor.core.chain_data.subnet_info": [[20, null]], "bittensor.core.chain_data.subnet_state": [[21, null]], "bittensor.core.chain_data.utils": [[22, null]], "bittensor.core.chain_data.weight_commit_info": [[23, null]], "bittensor.core.config": [[24, null]], "bittensor.core.dendrite": [[25, null]], "bittensor.core.errors": [[26, null]], "bittensor.core.extrinsics": [[47, null]], "bittensor.core.extrinsics.asyncex": [[29, null]], "bittensor.core.extrinsics.asyncex.children": [[27, null]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[28, null]], "bittensor.core.extrinsics.asyncex.liquidity": [[30, null]], "bittensor.core.extrinsics.asyncex.mechanism": [[31, null]], "bittensor.core.extrinsics.asyncex.move_stake": [[32, null]], "bittensor.core.extrinsics.asyncex.registration": [[33, null]], "bittensor.core.extrinsics.asyncex.root": [[34, null]], "bittensor.core.extrinsics.asyncex.serving": [[35, null]], "bittensor.core.extrinsics.asyncex.staking": [[36, null]], "bittensor.core.extrinsics.asyncex.start_call": [[37, null]], "bittensor.core.extrinsics.asyncex.sudo": [[38, null]], "bittensor.core.extrinsics.asyncex.take": [[39, null]], "bittensor.core.extrinsics.asyncex.transfer": [[40, null]], "bittensor.core.extrinsics.asyncex.unstaking": [[41, null]], "bittensor.core.extrinsics.asyncex.utils": [[42, null]], "bittensor.core.extrinsics.asyncex.weights": [[43, null]], "bittensor.core.extrinsics.children": [[44, null]], "bittensor.core.extrinsics.commit_reveal": [[45, null]], "bittensor.core.extrinsics.commit_weights": [[46, null]], "bittensor.core.extrinsics.liquidity": [[48, null]], "bittensor.core.extrinsics.mechanism": [[49, null]], "bittensor.core.extrinsics.move_stake": [[50, null]], "bittensor.core.extrinsics.params": [[52, null]], "bittensor.core.extrinsics.params.children": [[51, null]], "bittensor.core.extrinsics.params.liquidity": [[53, null]], "bittensor.core.extrinsics.params.move_stake": [[54, null]], "bittensor.core.extrinsics.params.registration": [[55, null]], "bittensor.core.extrinsics.params.root": [[56, null]], "bittensor.core.extrinsics.params.serving": [[57, null]], "bittensor.core.extrinsics.params.staking": [[58, null]], "bittensor.core.extrinsics.params.start_call": [[59, null]], "bittensor.core.extrinsics.params.take": [[60, null]], "bittensor.core.extrinsics.params.transfer": [[61, null]], "bittensor.core.extrinsics.params.unstaking": [[62, null]], "bittensor.core.extrinsics.params.weights": [[63, null]], "bittensor.core.extrinsics.registration": [[64, null]], "bittensor.core.extrinsics.root": [[65, null]], "bittensor.core.extrinsics.serving": [[66, null]], "bittensor.core.extrinsics.set_weights": [[67, null]], "bittensor.core.extrinsics.staking": [[68, null]], "bittensor.core.extrinsics.start_call": [[69, null]], "bittensor.core.extrinsics.sudo": [[70, null]], "bittensor.core.extrinsics.take": [[71, null]], "bittensor.core.extrinsics.transfer": [[72, null]], "bittensor.core.extrinsics.unstaking": [[73, null]], "bittensor.core.extrinsics.utils": [[74, null]], "bittensor.core.extrinsics.weights": [[75, null]], "bittensor.core.metagraph": [[77, null]], "bittensor.core.settings": [[78, null]], "bittensor.core.stream": [[79, null]], "bittensor.core.subtensor": [[80, null]], "bittensor.core.subtensor_api": [[85, null]], "bittensor.core.subtensor_api.chain": [[81, null]], "bittensor.core.subtensor_api.commitments": [[82, null]], "bittensor.core.subtensor_api.delegates": [[83, null]], "bittensor.core.subtensor_api.extrinsics": [[84, null]], "bittensor.core.subtensor_api.metagraphs": [[86, null]], "bittensor.core.subtensor_api.neurons": [[87, null]], "bittensor.core.subtensor_api.queries": [[88, null]], "bittensor.core.subtensor_api.staking": [[89, null]], "bittensor.core.subtensor_api.subnets": [[90, null]], "bittensor.core.subtensor_api.utils": [[91, null]], "bittensor.core.subtensor_api.wallets": [[92, null]], "bittensor.core.synapse": [[93, null]], "bittensor.core.tensor": [[94, null]], "bittensor.core.threadpool": [[95, null]], "bittensor.core.timelock": [[96, null]], "bittensor.core.types": [[97, null]], "bittensor.extras": [[105, null]], "bittensor.extras.dev_framework": [[102, null]], "bittensor.extras.dev_framework.calls": [[98, null]], "bittensor.extras.dev_framework.calls.non_sudo_calls": [[99, null]], "bittensor.extras.dev_framework.calls.pallets": [[100, null]], "bittensor.extras.dev_framework.calls.sudo_calls": [[101, null]], "bittensor.extras.dev_framework.subnet": [[103, null]], "bittensor.extras.dev_framework.utils": [[104, null]], "bittensor.extras.subtensor_api": [[110, null]], "bittensor.extras.subtensor_api.chain": [[106, null]], "bittensor.extras.subtensor_api.commitments": [[107, null]], "bittensor.extras.subtensor_api.delegates": [[108, null]], "bittensor.extras.subtensor_api.extrinsics": [[109, null]], "bittensor.extras.subtensor_api.metagraphs": [[111, null]], "bittensor.extras.subtensor_api.neurons": [[112, null]], "bittensor.extras.subtensor_api.queries": [[113, null]], "bittensor.extras.subtensor_api.staking": [[114, null]], "bittensor.extras.subtensor_api.subnets": [[115, null]], "bittensor.extras.subtensor_api.utils": [[116, null]], "bittensor.extras.subtensor_api.wallets": [[117, null]], "bittensor.extras.timelock": [[118, null]], "bittensor.utils": [[131, null]], "bittensor.utils.axon_utils": [[120, null]], "bittensor.utils.balance": [[121, null]], "bittensor.utils.btlogging": [[126, null]], "bittensor.utils.btlogging.console": [[122, null]], "bittensor.utils.btlogging.defines": [[123, null]], "bittensor.utils.btlogging.format": [[124, null]], "bittensor.utils.btlogging.helpers": [[125, null]], "bittensor.utils.btlogging.levels": [[127, null]], "bittensor.utils.btlogging.loggingmachine": [[128, null]], "bittensor.utils.easy_imports": [[129, null]], "bittensor.utils.formatting": [[130, null]], "bittensor.utils.liquidity": [[132, null]], "bittensor.utils.networking": [[133, null]], "bittensor.utils.registration": [[135, null]], "bittensor.utils.registration.async_pow": [[134, null]], "bittensor.utils.registration.pow": [[136, null]], "bittensor.utils.registration.register_cuda": [[137, null]], "bittensor.utils.subnets": [[138, null]], "bittensor.utils.substrate_utils": [[140, null]], "bittensor.utils.substrate_utils.hasher": [[139, null]], "bittensor.utils.substrate_utils.storage": [[141, null]], "bittensor.utils.version": [[142, null]], "bittensor.utils.weight_utils": [[143, null]]}, "docnames": ["autoapi/bittensor/core/async_subtensor/index", "autoapi/bittensor/core/axon/index", "autoapi/bittensor/core/chain_data/axon_info/index", "autoapi/bittensor/core/chain_data/chain_identity/index", "autoapi/bittensor/core/chain_data/delegate_info/index", "autoapi/bittensor/core/chain_data/delegate_info_lite/index", "autoapi/bittensor/core/chain_data/dynamic_info/index", "autoapi/bittensor/core/chain_data/index", "autoapi/bittensor/core/chain_data/info_base/index", "autoapi/bittensor/core/chain_data/ip_info/index", "autoapi/bittensor/core/chain_data/metagraph_info/index", "autoapi/bittensor/core/chain_data/neuron_info/index", "autoapi/bittensor/core/chain_data/neuron_info_lite/index", "autoapi/bittensor/core/chain_data/prometheus_info/index", "autoapi/bittensor/core/chain_data/proposal_vote_data/index", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index", "autoapi/bittensor/core/chain_data/sim_swap/index", "autoapi/bittensor/core/chain_data/stake_info/index", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index", "autoapi/bittensor/core/chain_data/subnet_identity/index", "autoapi/bittensor/core/chain_data/subnet_info/index", "autoapi/bittensor/core/chain_data/subnet_state/index", "autoapi/bittensor/core/chain_data/utils/index", "autoapi/bittensor/core/chain_data/weight_commit_info/index", "autoapi/bittensor/core/config/index", "autoapi/bittensor/core/dendrite/index", "autoapi/bittensor/core/errors/index", "autoapi/bittensor/core/extrinsics/asyncex/children/index", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index", "autoapi/bittensor/core/extrinsics/asyncex/index", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index", "autoapi/bittensor/core/extrinsics/asyncex/mechanism/index", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index", "autoapi/bittensor/core/extrinsics/asyncex/registration/index", "autoapi/bittensor/core/extrinsics/asyncex/root/index", "autoapi/bittensor/core/extrinsics/asyncex/serving/index", "autoapi/bittensor/core/extrinsics/asyncex/staking/index", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index", "autoapi/bittensor/core/extrinsics/asyncex/sudo/index", "autoapi/bittensor/core/extrinsics/asyncex/take/index", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index", "autoapi/bittensor/core/extrinsics/asyncex/utils/index", "autoapi/bittensor/core/extrinsics/asyncex/weights/index", "autoapi/bittensor/core/extrinsics/children/index", "autoapi/bittensor/core/extrinsics/commit_reveal/index", "autoapi/bittensor/core/extrinsics/commit_weights/index", "autoapi/bittensor/core/extrinsics/index", "autoapi/bittensor/core/extrinsics/liquidity/index", "autoapi/bittensor/core/extrinsics/mechanism/index", "autoapi/bittensor/core/extrinsics/move_stake/index", "autoapi/bittensor/core/extrinsics/params/children/index", "autoapi/bittensor/core/extrinsics/params/index", "autoapi/bittensor/core/extrinsics/params/liquidity/index", "autoapi/bittensor/core/extrinsics/params/move_stake/index", "autoapi/bittensor/core/extrinsics/params/registration/index", "autoapi/bittensor/core/extrinsics/params/root/index", "autoapi/bittensor/core/extrinsics/params/serving/index", "autoapi/bittensor/core/extrinsics/params/staking/index", "autoapi/bittensor/core/extrinsics/params/start_call/index", "autoapi/bittensor/core/extrinsics/params/take/index", "autoapi/bittensor/core/extrinsics/params/transfer/index", "autoapi/bittensor/core/extrinsics/params/unstaking/index", "autoapi/bittensor/core/extrinsics/params/weights/index", "autoapi/bittensor/core/extrinsics/registration/index", "autoapi/bittensor/core/extrinsics/root/index", "autoapi/bittensor/core/extrinsics/serving/index", "autoapi/bittensor/core/extrinsics/set_weights/index", "autoapi/bittensor/core/extrinsics/staking/index", "autoapi/bittensor/core/extrinsics/start_call/index", "autoapi/bittensor/core/extrinsics/sudo/index", "autoapi/bittensor/core/extrinsics/take/index", "autoapi/bittensor/core/extrinsics/transfer/index", "autoapi/bittensor/core/extrinsics/unstaking/index", "autoapi/bittensor/core/extrinsics/utils/index", "autoapi/bittensor/core/extrinsics/weights/index", "autoapi/bittensor/core/index", "autoapi/bittensor/core/metagraph/index", "autoapi/bittensor/core/settings/index", "autoapi/bittensor/core/stream/index", "autoapi/bittensor/core/subtensor/index", "autoapi/bittensor/core/subtensor_api/chain/index", "autoapi/bittensor/core/subtensor_api/commitments/index", "autoapi/bittensor/core/subtensor_api/delegates/index", "autoapi/bittensor/core/subtensor_api/extrinsics/index", "autoapi/bittensor/core/subtensor_api/index", "autoapi/bittensor/core/subtensor_api/metagraphs/index", "autoapi/bittensor/core/subtensor_api/neurons/index", "autoapi/bittensor/core/subtensor_api/queries/index", "autoapi/bittensor/core/subtensor_api/staking/index", "autoapi/bittensor/core/subtensor_api/subnets/index", "autoapi/bittensor/core/subtensor_api/utils/index", "autoapi/bittensor/core/subtensor_api/wallets/index", "autoapi/bittensor/core/synapse/index", "autoapi/bittensor/core/tensor/index", "autoapi/bittensor/core/threadpool/index", "autoapi/bittensor/core/timelock/index", "autoapi/bittensor/core/types/index", "autoapi/bittensor/extras/dev_framework/calls/index", "autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index", "autoapi/bittensor/extras/dev_framework/calls/pallets/index", "autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index", "autoapi/bittensor/extras/dev_framework/index", "autoapi/bittensor/extras/dev_framework/subnet/index", "autoapi/bittensor/extras/dev_framework/utils/index", "autoapi/bittensor/extras/index", "autoapi/bittensor/extras/subtensor_api/chain/index", "autoapi/bittensor/extras/subtensor_api/commitments/index", "autoapi/bittensor/extras/subtensor_api/delegates/index", "autoapi/bittensor/extras/subtensor_api/extrinsics/index", "autoapi/bittensor/extras/subtensor_api/index", "autoapi/bittensor/extras/subtensor_api/metagraphs/index", "autoapi/bittensor/extras/subtensor_api/neurons/index", "autoapi/bittensor/extras/subtensor_api/queries/index", "autoapi/bittensor/extras/subtensor_api/staking/index", "autoapi/bittensor/extras/subtensor_api/subnets/index", "autoapi/bittensor/extras/subtensor_api/utils/index", "autoapi/bittensor/extras/subtensor_api/wallets/index", "autoapi/bittensor/extras/timelock/index", "autoapi/bittensor/index", "autoapi/bittensor/utils/axon_utils/index", "autoapi/bittensor/utils/balance/index", "autoapi/bittensor/utils/btlogging/console/index", "autoapi/bittensor/utils/btlogging/defines/index", "autoapi/bittensor/utils/btlogging/format/index", "autoapi/bittensor/utils/btlogging/helpers/index", "autoapi/bittensor/utils/btlogging/index", "autoapi/bittensor/utils/btlogging/levels/index", "autoapi/bittensor/utils/btlogging/loggingmachine/index", "autoapi/bittensor/utils/easy_imports/index", "autoapi/bittensor/utils/formatting/index", "autoapi/bittensor/utils/index", "autoapi/bittensor/utils/liquidity/index", "autoapi/bittensor/utils/networking/index", "autoapi/bittensor/utils/registration/async_pow/index", "autoapi/bittensor/utils/registration/index", "autoapi/bittensor/utils/registration/pow/index", "autoapi/bittensor/utils/registration/register_cuda/index", "autoapi/bittensor/utils/subnets/index", "autoapi/bittensor/utils/substrate_utils/hasher/index", "autoapi/bittensor/utils/substrate_utils/index", "autoapi/bittensor/utils/substrate_utils/storage/index", "autoapi/bittensor/utils/version/index", "autoapi/bittensor/utils/weight_utils/index", "autoapi/index", "index"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1}, "filenames": ["autoapi/bittensor/core/async_subtensor/index.rst", "autoapi/bittensor/core/axon/index.rst", "autoapi/bittensor/core/chain_data/axon_info/index.rst", "autoapi/bittensor/core/chain_data/chain_identity/index.rst", "autoapi/bittensor/core/chain_data/delegate_info/index.rst", "autoapi/bittensor/core/chain_data/delegate_info_lite/index.rst", "autoapi/bittensor/core/chain_data/dynamic_info/index.rst", "autoapi/bittensor/core/chain_data/index.rst", "autoapi/bittensor/core/chain_data/info_base/index.rst", "autoapi/bittensor/core/chain_data/ip_info/index.rst", "autoapi/bittensor/core/chain_data/metagraph_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info_lite/index.rst", "autoapi/bittensor/core/chain_data/prometheus_info/index.rst", "autoapi/bittensor/core/chain_data/proposal_vote_data/index.rst", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.rst", "autoapi/bittensor/core/chain_data/sim_swap/index.rst", "autoapi/bittensor/core/chain_data/stake_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.rst", "autoapi/bittensor/core/chain_data/subnet_identity/index.rst", "autoapi/bittensor/core/chain_data/subnet_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_state/index.rst", "autoapi/bittensor/core/chain_data/utils/index.rst", "autoapi/bittensor/core/chain_data/weight_commit_info/index.rst", "autoapi/bittensor/core/config/index.rst", "autoapi/bittensor/core/dendrite/index.rst", "autoapi/bittensor/core/errors/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/children/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/mechanism/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/registration/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/root/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/serving/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/staking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/sudo/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/take/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/utils/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/weights/index.rst", "autoapi/bittensor/core/extrinsics/children/index.rst", "autoapi/bittensor/core/extrinsics/commit_reveal/index.rst", "autoapi/bittensor/core/extrinsics/commit_weights/index.rst", "autoapi/bittensor/core/extrinsics/index.rst", "autoapi/bittensor/core/extrinsics/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/mechanism/index.rst", "autoapi/bittensor/core/extrinsics/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/params/children/index.rst", "autoapi/bittensor/core/extrinsics/params/index.rst", "autoapi/bittensor/core/extrinsics/params/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/params/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/params/registration/index.rst", "autoapi/bittensor/core/extrinsics/params/root/index.rst", "autoapi/bittensor/core/extrinsics/params/serving/index.rst", "autoapi/bittensor/core/extrinsics/params/staking/index.rst", "autoapi/bittensor/core/extrinsics/params/start_call/index.rst", "autoapi/bittensor/core/extrinsics/params/take/index.rst", "autoapi/bittensor/core/extrinsics/params/transfer/index.rst", "autoapi/bittensor/core/extrinsics/params/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/params/weights/index.rst", "autoapi/bittensor/core/extrinsics/registration/index.rst", "autoapi/bittensor/core/extrinsics/root/index.rst", "autoapi/bittensor/core/extrinsics/serving/index.rst", "autoapi/bittensor/core/extrinsics/set_weights/index.rst", "autoapi/bittensor/core/extrinsics/staking/index.rst", "autoapi/bittensor/core/extrinsics/start_call/index.rst", "autoapi/bittensor/core/extrinsics/sudo/index.rst", "autoapi/bittensor/core/extrinsics/take/index.rst", "autoapi/bittensor/core/extrinsics/transfer/index.rst", "autoapi/bittensor/core/extrinsics/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/utils/index.rst", "autoapi/bittensor/core/extrinsics/weights/index.rst", "autoapi/bittensor/core/index.rst", "autoapi/bittensor/core/metagraph/index.rst", "autoapi/bittensor/core/settings/index.rst", "autoapi/bittensor/core/stream/index.rst", "autoapi/bittensor/core/subtensor/index.rst", "autoapi/bittensor/core/subtensor_api/chain/index.rst", "autoapi/bittensor/core/subtensor_api/commitments/index.rst", "autoapi/bittensor/core/subtensor_api/delegates/index.rst", "autoapi/bittensor/core/subtensor_api/extrinsics/index.rst", "autoapi/bittensor/core/subtensor_api/index.rst", "autoapi/bittensor/core/subtensor_api/metagraphs/index.rst", "autoapi/bittensor/core/subtensor_api/neurons/index.rst", "autoapi/bittensor/core/subtensor_api/queries/index.rst", "autoapi/bittensor/core/subtensor_api/staking/index.rst", "autoapi/bittensor/core/subtensor_api/subnets/index.rst", "autoapi/bittensor/core/subtensor_api/utils/index.rst", "autoapi/bittensor/core/subtensor_api/wallets/index.rst", "autoapi/bittensor/core/synapse/index.rst", "autoapi/bittensor/core/tensor/index.rst", "autoapi/bittensor/core/threadpool/index.rst", "autoapi/bittensor/core/timelock/index.rst", "autoapi/bittensor/core/types/index.rst", "autoapi/bittensor/extras/dev_framework/calls/index.rst", "autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index.rst", "autoapi/bittensor/extras/dev_framework/calls/pallets/index.rst", "autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index.rst", "autoapi/bittensor/extras/dev_framework/index.rst", "autoapi/bittensor/extras/dev_framework/subnet/index.rst", "autoapi/bittensor/extras/dev_framework/utils/index.rst", "autoapi/bittensor/extras/index.rst", "autoapi/bittensor/extras/subtensor_api/chain/index.rst", "autoapi/bittensor/extras/subtensor_api/commitments/index.rst", "autoapi/bittensor/extras/subtensor_api/delegates/index.rst", "autoapi/bittensor/extras/subtensor_api/extrinsics/index.rst", "autoapi/bittensor/extras/subtensor_api/index.rst", "autoapi/bittensor/extras/subtensor_api/metagraphs/index.rst", "autoapi/bittensor/extras/subtensor_api/neurons/index.rst", "autoapi/bittensor/extras/subtensor_api/queries/index.rst", "autoapi/bittensor/extras/subtensor_api/staking/index.rst", "autoapi/bittensor/extras/subtensor_api/subnets/index.rst", "autoapi/bittensor/extras/subtensor_api/utils/index.rst", "autoapi/bittensor/extras/subtensor_api/wallets/index.rst", "autoapi/bittensor/extras/timelock/index.rst", "autoapi/bittensor/index.rst", "autoapi/bittensor/utils/axon_utils/index.rst", "autoapi/bittensor/utils/balance/index.rst", "autoapi/bittensor/utils/btlogging/console/index.rst", "autoapi/bittensor/utils/btlogging/defines/index.rst", "autoapi/bittensor/utils/btlogging/format/index.rst", "autoapi/bittensor/utils/btlogging/helpers/index.rst", "autoapi/bittensor/utils/btlogging/index.rst", "autoapi/bittensor/utils/btlogging/levels/index.rst", "autoapi/bittensor/utils/btlogging/loggingmachine/index.rst", "autoapi/bittensor/utils/easy_imports/index.rst", "autoapi/bittensor/utils/formatting/index.rst", "autoapi/bittensor/utils/index.rst", "autoapi/bittensor/utils/liquidity/index.rst", "autoapi/bittensor/utils/networking/index.rst", "autoapi/bittensor/utils/registration/async_pow/index.rst", "autoapi/bittensor/utils/registration/index.rst", "autoapi/bittensor/utils/registration/pow/index.rst", "autoapi/bittensor/utils/registration/register_cuda/index.rst", "autoapi/bittensor/utils/subnets/index.rst", "autoapi/bittensor/utils/substrate_utils/hasher/index.rst", "autoapi/bittensor/utils/substrate_utils/index.rst", "autoapi/bittensor/utils/substrate_utils/storage/index.rst", "autoapi/bittensor/utils/version/index.rst", "autoapi/bittensor/utils/weight_utils/index.rst", "autoapi/index.rst", "index.rst"], "indexentries": {"__repr__() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.__repr__", false]], "__repr__() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.__repr__", false]], "__setattr__() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.__setattr__", false]], "__str__() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.__str__", false]], "__str__() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.__str__", false]], "access_list (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.access_list", false]], "access_list (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.access_list", false]], "access_list (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.access_list", false]], "account (bittensor.extras.dev_framework.calls.non_sudo_calls.force_release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT.account", false]], "account (bittensor.extras.dev_framework.calls.non_sudo_calls.force_slash_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT.account", false]], "account (bittensor.extras.dev_framework.calls.non_sudo_calls.release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT.account", false]], "accountid (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.AccountId", false]], "aclose_session() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.aclose_session", false]], "aclose_session() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.aclose_session", false], [25, "id0", false]], "activate_subnet (in module bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.ACTIVATE_SUBNET", false]], "activatesubnet (class in bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.ActivateSubnet", false]], "active (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.active", false]], "active (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Active", false]], "active (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.active", false]], "active (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.active", false]], "active (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.active", false]], "active (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.active", false]], "active (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.active", false]], "active (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.active", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.activity_cutoff", false]], "activity_cutoff (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.activity_cutoff", false]], "activitycutoff (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ActivityCutoff", false]], "add (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER.add", false], [99, "id37", false]], "add_args() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.add_args", false]], "add_args() (bittensor.core.subtensor_api.subtensorapi class method)": [[85, "bittensor.core.subtensor_api.SubtensorApi.add_args", false]], "add_args() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[95, "bittensor.core.threadpool.PriorityThreadPoolExecutor.add_args", false]], "add_args() (bittensor.core.types.subtensormixin class method)": [[97, "bittensor.core.types.SubtensorMixin.add_args", false]], "add_args() (bittensor.extras.subtensor_api.subtensorapi class method)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.add_args", false]], "add_args() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.add_args", false]], "add_legacy_methods() (in module bittensor.core.subtensor_api.utils)": [[91, "bittensor.core.subtensor_api.utils.add_legacy_methods", false]], "add_legacy_methods() (in module bittensor.extras.subtensor_api.utils)": [[116, "bittensor.extras.subtensor_api.utils.add_legacy_methods", false]], "add_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_liquidity", false]], "add_liquidity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.add_liquidity", false]], "add_liquidity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY", false]], "add_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_liquidity", false]], "add_liquidity() (bittensor.core.extrinsics.params.liquidity.liquidityparams class method)": [[53, "bittensor.core.extrinsics.params.liquidity.LiquidityParams.add_liquidity", false]], "add_liquidity() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.add_liquidity", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[30, "bittensor.core.extrinsics.asyncex.liquidity.add_liquidity_extrinsic", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[48, "bittensor.core.extrinsics.liquidity.add_liquidity_extrinsic", false]], "add_member (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER", false], [99, "id0", false]], "add_proxy (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY", false]], "add_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake", false]], "add_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.add_stake", false]], "add_stake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.add_stake", false]], "add_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.add_stake", false]], "add_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE", false]], "add_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake", false]], "add_stake() (bittensor.core.extrinsics.params.staking.stakingparams class method)": [[58, "bittensor.core.extrinsics.params.staking.StakingParams.add_stake", false]], "add_stake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.add_stake", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[36, "bittensor.core.extrinsics.asyncex.staking.add_stake_extrinsic", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.staking)": [[68, "bittensor.core.extrinsics.staking.add_stake_extrinsic", false]], "add_stake_limit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT", false]], "add_stake_limit() (bittensor.core.extrinsics.params.staking.stakingparams class method)": [[58, "bittensor.core.extrinsics.params.staking.StakingParams.add_stake_limit", false]], "add_stake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.add_stake_multiple", false]], "add_stake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.add_stake_multiple", false]], "add_stake_multiple (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.add_stake_multiple", false]], "add_stake_multiple (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.add_stake_multiple", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[36, "bittensor.core.extrinsics.asyncex.staking.add_stake_multiple_extrinsic", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.staking)": [[68, "bittensor.core.extrinsics.staking.add_stake_multiple_extrinsic", false]], "additional (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.additional", false]], "additional (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.additional", false]], "additional (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.additional", false]], "additional (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.additional", false]], "address (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.address", false]], "addresses (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.addresses", false]], "adjust_senate (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_alpha", false]], "adjustment_alpha (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.adjustment_alpha", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_interval", false]], "adjustment_interval (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.adjustment_interval", false]], "adjustmentalpha (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentAlpha", false]], "adjustmentinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentInterval", false]], "adminutils (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.AdminUtils", false]], "after (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.after", false]], "after (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.after", false]], "after_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_debug", false]], "after_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_trace", false]], "after_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_debug", false]], "after_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_default", false]], "after_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_info", false]], "after_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_trace", false]], "after_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_warning", false]], "after_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_transition", false]], "all_indices() (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex static method)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.all_indices", false]], "all_logger_names() (in module bittensor.utils.btlogging.helpers)": [[125, "bittensor.utils.btlogging.helpers.all_logger_names", false]], "all_loggers() (in module bittensor.utils.btlogging.helpers)": [[125, "bittensor.utils.btlogging.helpers.all_loggers", false]], "all_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.all_subnets", false]], "all_subnets (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.all_subnets", false]], "all_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.all_subnets", false]], "all_subnets() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.all_subnets", false]], "allow_partial (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.allow_partial", false]], "allow_partial (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.allow_partial", false]], "allow_partial (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.allow_partial", false]], "allowed_delta (in module bittensor.utils.axon_utils)": [[120, "bittensor.utils.axon_utils.ALLOWED_DELTA", false]], "allowed_nonce_window_ns() (in module bittensor.utils.axon_utils)": [[120, "bittensor.utils.axon_utils.allowed_nonce_window_ns", false]], "alpha (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_moving_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA.alpha", false]], "alpha_amount (bittensor.core.chain_data.sim_swap.simswapresult attribute)": [[16, "bittensor.core.chain_data.sim_swap.SimSwapResult.alpha_amount", false]], "alpha_amount (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.alpha_amount", false]], "alpha_amount (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.alpha_amount", false]], "alpha_amount (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.alpha_amount", false]], "alpha_amount (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.alpha_amount", false]], "alpha_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_dividends_per_hotkey", false]], "alpha_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.alpha_dividends_per_hotkey", false]], "alpha_fee (bittensor.core.chain_data.sim_swap.simswapresult attribute)": [[16, "bittensor.core.chain_data.sim_swap.SimSwapResult.alpha_fee", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_high", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_high", false]], "alpha_high (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_high", false]], "alpha_high (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.alpha_high", false]], "alpha_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_in", false]], "alpha_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_in_emission", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_low", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_low", false]], "alpha_low (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_low", false]], "alpha_low (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.alpha_low", false]], "alpha_out (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_out", false]], "alpha_out_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_out_emission", false]], "alpha_sigmoid_steepness (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_sigmoid_steepness", false]], "alpha_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_slippage", false]], "alpha_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_stake", false]], "alpha_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.alpha_stake", false]], "alpha_to_tao() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao", false]], "alpha_to_tao_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao_with_slippage", false]], "alphadividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaDividendsPerHotkey", false]], "alphahigh (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaHigh", false]], "alphain (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaIn", false]], "alphainemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaInEmission", false]], "alphalow (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaLow", false]], "alphaout (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOut", false]], "alphaoutemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOutEmission", false]], "alphastake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaStake", false]], "amount (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.amount", false]], "amount (bittensor.extras.dev_framework.calls.non_sudo_calls.contribute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE.amount", false]], "amount (bittensor.extras.dev_framework.calls.non_sudo_calls.force_unreserve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE.amount", false]], "amount (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.amount", false]], "amount_staked (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.amount_staked", false]], "amount_staked (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.amount_staked", false]], "amount_unstaked (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.amount_unstaked", false]], "amount_unstaked (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.amount_unstaked", false]], "announce (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE", false]], "app (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.app", false]], "apply_authorized_upgrade (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE", false]], "approve (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.approve", false], [99, "id42", false]], "approve_as_multi (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI", false]], "aquery() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.aquery", false]], "arbitration_block (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.arbitration_block", false]], "archive_entrypoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.ARCHIVE_ENTRYPOINT", false]], "as (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.AS", false]], "as_derivative (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE", false]], "as_multi (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI", false]], "as_multi_threshold_1 (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1", false]], "as_origin (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS.as_origin", false]], "as_origin (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as_fallible attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE.as_origin", false]], "associate_evm_key (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY", false]], "async_execute_one() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.async_execute_one", false]], "async_execute_steps() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.async_execute_steps", false]], "async_metagraph() (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.async_metagraph", false]], "async_set_hyperparameter() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.async_set_hyperparameter", false]], "async_subtensor (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.async_subtensor", false]], "async_wait_next_epoch() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.async_wait_next_epoch", false]], "asyncmetagraph (class in bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.AsyncMetagraph", false]], "asyncsubtensor (class in bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor", false]], "attach() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.attach", false]], "authorization_list (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.authorization_list", false]], "authorization_list (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.authorization_list", false]], "authorization_list (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.authorization_list", false]], "authorize_upgrade (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE", false]], "authorize_upgrade_without_checks (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS", false]], "axon (bittensor.core.axon.axonmiddleware attribute)": [[1, "bittensor.core.axon.AxonMiddleware.axon", false]], "axon (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.axon", false]], "axon (class in bittensor.core.axon)": [[1, "bittensor.core.axon.Axon", false]], "axon (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.axon", false]], "axon_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.axon_info", false]], "axon_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.axon_info", false]], "axoninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.AxonInfo", false]], "axoninfo (class in bittensor.core.chain_data.axon_info)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo", false]], "axonmiddleware (class in bittensor.core.axon)": [[1, "bittensor.core.axon.AxonMiddleware", false]], "axons (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.axons", false]], "axons (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Axons", false]], "axons (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.axons", false]], "axonservecallparams (class in bittensor.core.types)": [[97, "bittensor.core.types.AxonServeCallParams", false]], "ayes (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.ayes", false]], "b (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.B", false]], "balance (class in bittensor.utils.balance)": [[121, "bittensor.utils.balance.Balance", false]], "balances (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Balances", false]], "base_log_format (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.BASE_LOG_FORMAT", false]], "baseclass (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.BaseClass", false]], "basefee (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.BaseFee", false]], "basemodel (in module bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.BaseModel", false]], "batch (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH", false]], "batch_all (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL", false]], "batch_commit_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS", false]], "batch_reveal_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS", false]], "batch_set_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS", false]], "before_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_debug", false]], "before_disable_logging() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_logging", false]], "before_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_trace", false]], "before_enable_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_console", false]], "before_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_debug", false]], "before_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_default", false]], "before_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_info", false]], "before_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_trace", false]], "before_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_warning", false]], "before_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_transition", false]], "best_finalized_block_number (bittensor.extras.dev_framework.calls.non_sudo_calls.note_stalled attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED.best_finalized_block_number", false]], "bits (bittensor.utils.balance.fixedpoint attribute)": [[121, "bittensor.utils.balance.FixedPoint.bits", false]], "bittensor": [[119, "module-bittensor", false]], "bittensor.core": [[76, "module-bittensor.core", false]], "bittensor.core.async_subtensor": [[0, "module-bittensor.core.async_subtensor", false]], "bittensor.core.axon": [[1, "module-bittensor.core.axon", false]], "bittensor.core.chain_data": [[7, "module-bittensor.core.chain_data", false]], "bittensor.core.chain_data.axon_info": [[2, "module-bittensor.core.chain_data.axon_info", false]], "bittensor.core.chain_data.chain_identity": [[3, "module-bittensor.core.chain_data.chain_identity", false]], "bittensor.core.chain_data.delegate_info": [[4, "module-bittensor.core.chain_data.delegate_info", false]], "bittensor.core.chain_data.delegate_info_lite": [[5, "module-bittensor.core.chain_data.delegate_info_lite", false]], "bittensor.core.chain_data.dynamic_info": [[6, "module-bittensor.core.chain_data.dynamic_info", false]], "bittensor.core.chain_data.info_base": [[8, "module-bittensor.core.chain_data.info_base", false]], "bittensor.core.chain_data.ip_info": [[9, "module-bittensor.core.chain_data.ip_info", false]], "bittensor.core.chain_data.metagraph_info": [[10, "module-bittensor.core.chain_data.metagraph_info", false]], "bittensor.core.chain_data.neuron_info": [[11, "module-bittensor.core.chain_data.neuron_info", false]], "bittensor.core.chain_data.neuron_info_lite": [[12, "module-bittensor.core.chain_data.neuron_info_lite", false]], "bittensor.core.chain_data.prometheus_info": [[13, "module-bittensor.core.chain_data.prometheus_info", false]], "bittensor.core.chain_data.proposal_vote_data": [[14, "module-bittensor.core.chain_data.proposal_vote_data", false]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false]], "bittensor.core.chain_data.sim_swap": [[16, "module-bittensor.core.chain_data.sim_swap", false]], "bittensor.core.chain_data.stake_info": [[17, "module-bittensor.core.chain_data.stake_info", false]], "bittensor.core.chain_data.subnet_hyperparameters": [[18, "module-bittensor.core.chain_data.subnet_hyperparameters", false]], "bittensor.core.chain_data.subnet_identity": [[19, "module-bittensor.core.chain_data.subnet_identity", false]], "bittensor.core.chain_data.subnet_info": [[20, "module-bittensor.core.chain_data.subnet_info", false]], "bittensor.core.chain_data.subnet_state": [[21, "module-bittensor.core.chain_data.subnet_state", false]], "bittensor.core.chain_data.utils": [[22, "module-bittensor.core.chain_data.utils", false]], "bittensor.core.chain_data.weight_commit_info": [[23, "module-bittensor.core.chain_data.weight_commit_info", false]], "bittensor.core.config": [[24, "module-bittensor.core.config", false]], "bittensor.core.dendrite": [[25, "module-bittensor.core.dendrite", false]], "bittensor.core.errors": [[26, "module-bittensor.core.errors", false]], "bittensor.core.extrinsics": [[47, "module-bittensor.core.extrinsics", false]], "bittensor.core.extrinsics.asyncex": [[29, "module-bittensor.core.extrinsics.asyncex", false]], "bittensor.core.extrinsics.asyncex.children": [[27, "module-bittensor.core.extrinsics.asyncex.children", false]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[28, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false]], "bittensor.core.extrinsics.asyncex.liquidity": [[30, "module-bittensor.core.extrinsics.asyncex.liquidity", false]], "bittensor.core.extrinsics.asyncex.mechanism": [[31, "module-bittensor.core.extrinsics.asyncex.mechanism", false]], "bittensor.core.extrinsics.asyncex.move_stake": [[32, "module-bittensor.core.extrinsics.asyncex.move_stake", false]], "bittensor.core.extrinsics.asyncex.registration": [[33, "module-bittensor.core.extrinsics.asyncex.registration", false]], "bittensor.core.extrinsics.asyncex.root": [[34, "module-bittensor.core.extrinsics.asyncex.root", false]], "bittensor.core.extrinsics.asyncex.serving": [[35, "module-bittensor.core.extrinsics.asyncex.serving", false]], "bittensor.core.extrinsics.asyncex.staking": [[36, "module-bittensor.core.extrinsics.asyncex.staking", false]], "bittensor.core.extrinsics.asyncex.start_call": [[37, "module-bittensor.core.extrinsics.asyncex.start_call", false]], "bittensor.core.extrinsics.asyncex.sudo": [[38, "module-bittensor.core.extrinsics.asyncex.sudo", false]], "bittensor.core.extrinsics.asyncex.take": [[39, "module-bittensor.core.extrinsics.asyncex.take", false]], "bittensor.core.extrinsics.asyncex.transfer": [[40, "module-bittensor.core.extrinsics.asyncex.transfer", false]], "bittensor.core.extrinsics.asyncex.unstaking": [[41, "module-bittensor.core.extrinsics.asyncex.unstaking", false]], "bittensor.core.extrinsics.asyncex.utils": [[42, "module-bittensor.core.extrinsics.asyncex.utils", false]], "bittensor.core.extrinsics.asyncex.weights": [[43, "module-bittensor.core.extrinsics.asyncex.weights", false]], "bittensor.core.extrinsics.children": [[44, "module-bittensor.core.extrinsics.children", false]], "bittensor.core.extrinsics.commit_reveal": [[45, "module-bittensor.core.extrinsics.commit_reveal", false]], "bittensor.core.extrinsics.commit_weights": [[46, "module-bittensor.core.extrinsics.commit_weights", false]], "bittensor.core.extrinsics.liquidity": [[48, "module-bittensor.core.extrinsics.liquidity", false]], "bittensor.core.extrinsics.mechanism": [[49, "module-bittensor.core.extrinsics.mechanism", false]], "bittensor.core.extrinsics.move_stake": [[50, "module-bittensor.core.extrinsics.move_stake", false]], "bittensor.core.extrinsics.params": [[52, "module-bittensor.core.extrinsics.params", false]], "bittensor.core.extrinsics.params.children": [[51, "module-bittensor.core.extrinsics.params.children", false]], "bittensor.core.extrinsics.params.liquidity": [[53, "module-bittensor.core.extrinsics.params.liquidity", false]], "bittensor.core.extrinsics.params.move_stake": [[54, "module-bittensor.core.extrinsics.params.move_stake", false]], "bittensor.core.extrinsics.params.registration": [[55, "module-bittensor.core.extrinsics.params.registration", false]], "bittensor.core.extrinsics.params.root": [[56, "module-bittensor.core.extrinsics.params.root", false]], "bittensor.core.extrinsics.params.serving": [[57, "module-bittensor.core.extrinsics.params.serving", false]], "bittensor.core.extrinsics.params.staking": [[58, "module-bittensor.core.extrinsics.params.staking", false]], "bittensor.core.extrinsics.params.start_call": [[59, "module-bittensor.core.extrinsics.params.start_call", false]], "bittensor.core.extrinsics.params.take": [[60, "module-bittensor.core.extrinsics.params.take", false]], "bittensor.core.extrinsics.params.transfer": [[61, "module-bittensor.core.extrinsics.params.transfer", false]], "bittensor.core.extrinsics.params.unstaking": [[62, "module-bittensor.core.extrinsics.params.unstaking", false]], "bittensor.core.extrinsics.params.weights": [[63, "module-bittensor.core.extrinsics.params.weights", false]], "bittensor.core.extrinsics.registration": [[64, "module-bittensor.core.extrinsics.registration", false]], "bittensor.core.extrinsics.root": [[65, "module-bittensor.core.extrinsics.root", false]], "bittensor.core.extrinsics.serving": [[66, "module-bittensor.core.extrinsics.serving", false]], "bittensor.core.extrinsics.set_weights": [[67, "module-bittensor.core.extrinsics.set_weights", false]], "bittensor.core.extrinsics.staking": [[68, "module-bittensor.core.extrinsics.staking", false]], "bittensor.core.extrinsics.start_call": [[69, "module-bittensor.core.extrinsics.start_call", false]], "bittensor.core.extrinsics.sudo": [[70, "module-bittensor.core.extrinsics.sudo", false]], "bittensor.core.extrinsics.take": [[71, "module-bittensor.core.extrinsics.take", false]], "bittensor.core.extrinsics.transfer": [[72, "module-bittensor.core.extrinsics.transfer", false]], "bittensor.core.extrinsics.unstaking": [[73, "module-bittensor.core.extrinsics.unstaking", false]], "bittensor.core.extrinsics.utils": [[74, "module-bittensor.core.extrinsics.utils", false]], "bittensor.core.extrinsics.weights": [[75, "module-bittensor.core.extrinsics.weights", false]], "bittensor.core.metagraph": [[77, "module-bittensor.core.metagraph", false]], "bittensor.core.settings": [[78, "module-bittensor.core.settings", false]], "bittensor.core.stream": [[79, "module-bittensor.core.stream", false]], "bittensor.core.subtensor": [[80, "module-bittensor.core.subtensor", false]], "bittensor.core.subtensor_api": [[85, "module-bittensor.core.subtensor_api", false]], "bittensor.core.subtensor_api.chain": [[81, "module-bittensor.core.subtensor_api.chain", false]], "bittensor.core.subtensor_api.commitments": [[82, "module-bittensor.core.subtensor_api.commitments", false]], "bittensor.core.subtensor_api.delegates": [[83, "module-bittensor.core.subtensor_api.delegates", false]], "bittensor.core.subtensor_api.extrinsics": [[84, "module-bittensor.core.subtensor_api.extrinsics", false]], "bittensor.core.subtensor_api.metagraphs": [[86, "module-bittensor.core.subtensor_api.metagraphs", false]], "bittensor.core.subtensor_api.neurons": [[87, "module-bittensor.core.subtensor_api.neurons", false]], "bittensor.core.subtensor_api.queries": [[88, "module-bittensor.core.subtensor_api.queries", false]], "bittensor.core.subtensor_api.staking": [[89, "module-bittensor.core.subtensor_api.staking", false]], "bittensor.core.subtensor_api.subnets": [[90, "module-bittensor.core.subtensor_api.subnets", false]], "bittensor.core.subtensor_api.utils": [[91, "module-bittensor.core.subtensor_api.utils", false]], "bittensor.core.subtensor_api.wallets": [[92, "module-bittensor.core.subtensor_api.wallets", false]], "bittensor.core.synapse": [[93, "module-bittensor.core.synapse", false]], "bittensor.core.tensor": [[94, "module-bittensor.core.tensor", false]], "bittensor.core.threadpool": [[95, "module-bittensor.core.threadpool", false]], "bittensor.core.timelock": [[96, "module-bittensor.core.timelock", false]], "bittensor.core.types": [[97, "module-bittensor.core.types", false]], "bittensor.extras": [[105, "module-bittensor.extras", false]], "bittensor.extras.dev_framework": [[102, "module-bittensor.extras.dev_framework", false]], "bittensor.extras.dev_framework.calls": [[98, "module-bittensor.extras.dev_framework.calls", false]], "bittensor.extras.dev_framework.calls.non_sudo_calls": [[99, "module-bittensor.extras.dev_framework.calls.non_sudo_calls", false]], "bittensor.extras.dev_framework.calls.pallets": [[100, "module-bittensor.extras.dev_framework.calls.pallets", false]], "bittensor.extras.dev_framework.calls.sudo_calls": [[101, "module-bittensor.extras.dev_framework.calls.sudo_calls", false]], "bittensor.extras.dev_framework.subnet": [[103, "module-bittensor.extras.dev_framework.subnet", false]], "bittensor.extras.dev_framework.utils": [[104, "module-bittensor.extras.dev_framework.utils", false]], "bittensor.extras.subtensor_api": [[110, "module-bittensor.extras.subtensor_api", false]], "bittensor.extras.subtensor_api.chain": [[106, "module-bittensor.extras.subtensor_api.chain", false]], "bittensor.extras.subtensor_api.commitments": [[107, "module-bittensor.extras.subtensor_api.commitments", false]], "bittensor.extras.subtensor_api.delegates": [[108, "module-bittensor.extras.subtensor_api.delegates", false]], "bittensor.extras.subtensor_api.extrinsics": [[109, "module-bittensor.extras.subtensor_api.extrinsics", false]], "bittensor.extras.subtensor_api.metagraphs": [[111, "module-bittensor.extras.subtensor_api.metagraphs", false]], "bittensor.extras.subtensor_api.neurons": [[112, "module-bittensor.extras.subtensor_api.neurons", false]], "bittensor.extras.subtensor_api.queries": [[113, "module-bittensor.extras.subtensor_api.queries", false]], "bittensor.extras.subtensor_api.staking": [[114, "module-bittensor.extras.subtensor_api.staking", false]], "bittensor.extras.subtensor_api.subnets": [[115, "module-bittensor.extras.subtensor_api.subnets", false]], "bittensor.extras.subtensor_api.utils": [[116, "module-bittensor.extras.subtensor_api.utils", false]], "bittensor.extras.subtensor_api.wallets": [[117, "module-bittensor.extras.subtensor_api.wallets", false]], "bittensor.extras.timelock": [[118, "module-bittensor.extras.timelock", false]], "bittensor.utils": [[131, "module-bittensor.utils", false]], "bittensor.utils.axon_utils": [[120, "module-bittensor.utils.axon_utils", false]], "bittensor.utils.balance": [[121, "module-bittensor.utils.balance", false]], "bittensor.utils.btlogging": [[126, "module-bittensor.utils.btlogging", false]], "bittensor.utils.btlogging.console": [[122, "module-bittensor.utils.btlogging.console", false]], "bittensor.utils.btlogging.defines": [[123, "module-bittensor.utils.btlogging.defines", false]], "bittensor.utils.btlogging.format": [[124, "module-bittensor.utils.btlogging.format", false]], "bittensor.utils.btlogging.helpers": [[125, "module-bittensor.utils.btlogging.helpers", false]], "bittensor.utils.btlogging.levels": [[127, "module-bittensor.utils.btlogging.levels", false]], "bittensor.utils.btlogging.loggingmachine": [[128, "module-bittensor.utils.btlogging.loggingmachine", false]], "bittensor.utils.easy_imports": [[129, "module-bittensor.utils.easy_imports", false]], "bittensor.utils.formatting": [[130, "module-bittensor.utils.formatting", false]], "bittensor.utils.liquidity": [[132, "module-bittensor.utils.liquidity", false]], "bittensor.utils.networking": [[133, "module-bittensor.utils.networking", false]], "bittensor.utils.registration": [[135, "module-bittensor.utils.registration", false]], "bittensor.utils.registration.async_pow": [[134, "module-bittensor.utils.registration.async_pow", false]], "bittensor.utils.registration.pow": [[136, "module-bittensor.utils.registration.pow", false]], "bittensor.utils.registration.register_cuda": [[137, "module-bittensor.utils.registration.register_cuda", false]], "bittensor.utils.subnets": [[138, "module-bittensor.utils.subnets", false]], "bittensor.utils.substrate_utils": [[140, "module-bittensor.utils.substrate_utils", false]], "bittensor.utils.substrate_utils.hasher": [[139, "module-bittensor.utils.substrate_utils.hasher", false]], "bittensor.utils.substrate_utils.storage": [[141, "module-bittensor.utils.substrate_utils.storage", false]], "bittensor.utils.version": [[142, "module-bittensor.utils.version", false]], "bittensor.utils.weight_utils": [[143, "module-bittensor.utils.weight_utils", false]], "bittensor_logger_name (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.BITTENSOR_LOGGER_NAME", false]], "bittensorconsole (class in bittensor.utils.btlogging.console)": [[122, "bittensor.utils.btlogging.console.BittensorConsole", false]], "blacklist() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.blacklist", false]], "blacklist_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.blacklist_fns", false]], "blacklistedexception": [[26, "bittensor.core.errors.BlacklistedException", false]], "blake2_128() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.blake2_128", false]], "blake2_128_concat() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.blake2_128_concat", false]], "blake2_256() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.blake2_256", false]], "block (bittensor.core.async_subtensor.asyncsubtensor property)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.block", false]], "block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block", false]], "block (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Block", false]], "block (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.block", false]], "block (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.block", false]], "block (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.block", false]], "block (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.block", false]], "block (bittensor.core.subtensor.subtensor property)": [[80, "bittensor.core.subtensor.Subtensor.block", false]], "block (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.block", false]], "block (bittensor.extras.dev_framework.calls.non_sudo_calls.force_release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT.block", false]], "block (bittensor.extras.dev_framework.calls.non_sudo_calls.force_slash_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT.block", false]], "block (bittensor.extras.dev_framework.calls.non_sudo_calls.release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT.block", false]], "block (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.block", false]], "block_at_registration (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block_at_registration", false]], "block_at_registration (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.block_at_registration", false]], "block_at_registration (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.block_at_registration", false]], "block_hash (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.block_hash", false]], "block_number (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.block_number", false]], "block_number (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.block_number", false]], "block_number (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.block_number", false]], "block_number (bittensor.utils.registration.pow.powsolution attribute)": [[136, "bittensor.utils.registration.pow.POWSolution.block_number", false]], "block_number (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.block_number", false]], "blockatregistration (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlockAtRegistration", false]], "blocknotfound (in module bittensor.core.errors)": [[26, "bittensor.core.errors.BlockNotFound", false]], "blocks_since_epoch (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.blocks_since_epoch", false]], "blocks_since_last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.blocks_since_last_step", false]], "blocks_since_last_update (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.blocks_since_last_update", false]], "blocks_since_last_update (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.blocks_since_last_update", false]], "blockssincelaststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlocksSinceLastStep", false]], "blocktime (in module bittensor.core.settings)": [[78, "bittensor.core.settings.BLOCKTIME", false]], "body_hash (bittensor.core.synapse.synapse property)": [[93, "id0", false]], "body_hash() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.body_hash", false]], "bonds (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.bonds", false]], "bonds (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.bonds", false]], "bonds (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.bonds", false]], "bonds (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.bonds", false]], "bonds (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.bonds", false]], "bonds (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.bonds", false]], "bonds() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.bonds", false]], "bonds() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.bonds", false]], "bonds_moving_average (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.bonds_moving_average", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_moving_avg", false]], "bonds_penalty (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.bonds_penalty", false]], "bonds_reset_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_reset_enabled", false]], "bondsmovingavg (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BondsMovingAvg", false]], "brokenthreadpool": [[95, "bittensor.core.threadpool.BrokenThreadPool", false]], "bt_docs_link (in module bittensor.utils)": [[131, "bittensor.utils.BT_DOCS_LINK", false]], "btfileformatter (class in bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.BtFileFormatter", false]], "btstreamformatter (class in bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.BtStreamFormatter", false]], "btstreamingresponsemodel (class in bittensor.core.stream)": [[79, "bittensor.core.stream.BTStreamingResponseModel", false]], "buffer (bittensor.core.tensor.tensor attribute)": [[94, "bittensor.core.tensor.Tensor.buffer", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Burn", false]], "burn (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.burn", false]], "burn (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ck_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN.burn", false]], "burn (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN", false]], "burn_alpha (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA", false]], "burned_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.burned_register", false]], "burned_register (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.burned_register", false]], "burned_register (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.burned_register", false]], "burned_register (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER", false]], "burned_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.burned_register", false]], "burned_register() (bittensor.core.extrinsics.params.registration.registrationparams class method)": [[55, "bittensor.core.extrinsics.params.registration.RegistrationParams.burned_register", false]], "burned_register() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.burned_register", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[33, "bittensor.core.extrinsics.asyncex.registration.burned_register_extrinsic", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[64, "bittensor.core.extrinsics.registration.burned_register_extrinsic", false]], "bytes (bittensor.extras.dev_framework.calls.non_sudo_calls.note_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE.bytes", false]], "c (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.C", false]], "calculate_diff_seconds() (in module bittensor.utils.axon_utils)": [[120, "bittensor.utils.axon_utils.calculate_diff_seconds", false]], "calculate_fees() (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.calculate_fees", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.as_derivative attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi_threshold_1 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as_fallible attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.sudo attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO.call", false], [99, "id33", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.with_weight attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT.call", false]], "call (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.call", false]], "call (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.call", false], [101, "id1", false]], "call (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL", false]], "call() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.call", false]], "call() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.call", false], [25, "id3", false]], "call() (in module bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.call", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.announce attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.reject_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT.call_hash", false]], "call_record (class in bittensor.extras.dev_framework.subnet)": [[103, "bittensor.extras.dev_framework.subnet.CALL_RECORD", false]], "call_stream() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.call_stream", false]], "call_stream() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.call_stream", false], [25, "id4", false]], "calls (bittensor.extras.dev_framework.calls.non_sudo_calls.batch attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH.calls", false]], "calls (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL.calls", false]], "calls (bittensor.extras.dev_framework.calls.non_sudo_calls.force_batch attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH.calls", false]], "calls (bittensor.extras.dev_framework.subnet.testsubnet property)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.calls", false]], "cancel (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL", false]], "cancel_as_multi (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI", false]], "cancel_named (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED", false]], "cancel_retry (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY", false]], "cancel_retry_named (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED", false]], "cap (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.cap", false]], "cast_dtype() (in module bittensor.core.tensor)": [[94, "bittensor.core.tensor.cast_dtype", false]], "cast_float() (in module bittensor.core.synapse)": [[93, "bittensor.core.synapse.cast_float", false]], "cast_int() (in module bittensor.core.synapse)": [[93, "bittensor.core.synapse.cast_int", false]], "cast_shape() (in module bittensor.core.tensor)": [[94, "bittensor.core.tensor.cast_shape", false]], "certificate (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.certificate", false]], "certificate (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.certificate", false]], "certificate (class in bittensor.utils)": [[131, "bittensor.utils.Certificate", false]], "chain (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.chain", false]], "chain (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.chain", false]], "chain (class in bittensor.core.subtensor_api.chain)": [[81, "bittensor.core.subtensor_api.chain.Chain", false]], "chain (class in bittensor.extras.subtensor_api.chain)": [[106, "bittensor.extras.subtensor_api.chain.Chain", false]], "chain_endpoint (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.chain_endpoint", false]], "chain_endpoint (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.chain_endpoint", false]], "chain_endpoint (bittensor.core.types.subtensormixin attribute)": [[97, "bittensor.core.types.SubtensorMixin.chain_endpoint", false]], "chain_endpoint (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.chain_endpoint", false]], "chain_id (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_evm_chain_id attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID.chain_id", false]], "chainconnectionerror": [[26, "bittensor.core.errors.ChainConnectionError", false]], "chaindatatype (class in bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.ChainDataType", false]], "chainerror": [[26, "bittensor.core.errors.ChainError", false]], "chainidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.ChainIdentity", false]], "chainidentity (class in bittensor.core.chain_data.chain_identity)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity", false]], "chainqueryerror": [[26, "bittensor.core.errors.ChainQueryError", false]], "chaintransactionerror": [[26, "bittensor.core.errors.ChainTransactionError", false]], "change_key (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY", false], [99, "id4", false]], "check_and_convert_to_balance() (in module bittensor.utils.balance)": [[121, "bittensor.utils.balance.check_and_convert_to_balance", false]], "check_config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.check_config", false]], "check_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.check_config", false]], "check_latest_version_in_pypi() (in module bittensor.utils.version)": [[142, "bittensor.utils.version.check_latest_version_in_pypi", false]], "check_version (in module bittensor.utils)": [[131, "bittensor.utils.check_version", false]], "check_version() (in module bittensor.utils.version)": [[142, "bittensor.utils.version.check_version", false]], "children (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.children", false]], "childrenparams (class in bittensor.core.extrinsics.params.children)": [[51, "bittensor.core.extrinsics.params.children.ChildrenParams", false]], "clear_identity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY", false]], "clear_prime (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME", false], [99, "id8", false]], "close (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.close", false]], "close (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.close", false]], "close (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE", false]], "close() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.close", false]], "close() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.close", false]], "close_session() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.close_session", false]], "close_session() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.close_session", false], [25, "id5", false]], "code (bittensor.extras.dev_framework.calls.non_sudo_calls.apply_authorized_upgrade attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE.code", false]], "code (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE.code", false]], "code (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code_without_checks attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS.code", false]], "code_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE.code_hash", false]], "code_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade_without_checks attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS.code_hash", false]], "coldkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.coldkey", false]], "coldkey (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.coldkey", false]], "coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK.coldkey", false]], "coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.coldkey", false]], "coldkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.coldkey_ss58", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.coldkeys", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Coldkeys", false]], "coldkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.coldkeys", false]], "coldkeys (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.coldkeys", false]], "color_map (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.color_map", false]], "commit (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.commit", false]], "commit (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.commit", false]], "commit (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.commit", false]], "commit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit", false]], "commit() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.commit", false]], "commit_block (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_block", false]], "commit_crv3_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS", false]], "commit_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.commit_hash", false]], "commit_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS.commit_hash", false]], "commit_hashes (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS.commit_hashes", false]], "commit_hex (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_hex", false]], "commit_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS", false]], "commit_mechanism_weights() (bittensor.core.extrinsics.params.weights.weightsparams class method)": [[63, "bittensor.core.extrinsics.params.weights.WeightsParams.commit_mechanism_weights", false]], "commit_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.mechanism)": [[31, "bittensor.core.extrinsics.asyncex.mechanism.commit_mechanism_weights_extrinsic", false]], "commit_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.mechanism)": [[49, "bittensor.core.extrinsics.mechanism.commit_mechanism_weights_extrinsic", false]], "commit_reveal_enabled (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.commit_reveal_enabled", false]], "commit_reveal_enabled (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.commit_reveal_enabled", false]], "commit_reveal_enabled (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.commit_reveal_enabled", false]], "commit_reveal_enabled (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.commit_reveal_enabled", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_period", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.asyncex.commit_reveal)": [[28, "bittensor.core.extrinsics.asyncex.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_v3_extrinsic() (in module bittensor.core.extrinsics.commit_reveal)": [[45, "bittensor.core.extrinsics.commit_reveal.commit_reveal_v3_extrinsic", false]], "commit_reveal_version (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.commit_reveal_version", false]], "commit_reveal_version (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.commit_reveal_version", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_weights_enabled", false]], "commit_timelocked_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS", false]], "commit_timelocked_mechanism_weights() (bittensor.core.extrinsics.params.weights.weightsparams class method)": [[63, "bittensor.core.extrinsics.params.weights.WeightsParams.commit_timelocked_mechanism_weights", false]], "commit_timelocked_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.mechanism)": [[31, "bittensor.core.extrinsics.asyncex.mechanism.commit_timelocked_mechanism_weights_extrinsic", false]], "commit_timelocked_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.mechanism)": [[49, "bittensor.core.extrinsics.mechanism.commit_timelocked_mechanism_weights_extrinsic", false]], "commit_timelocked_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS", false]], "commit_timelocked_weights_extrinsic() (in module bittensor.core.extrinsics.weights)": [[75, "bittensor.core.extrinsics.weights.commit_timelocked_weights_extrinsic", false]], "commit_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.commit_weights", false]], "commit_weights (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.commit_weights", false]], "commit_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS", false]], "commit_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.commit_weights", false]], "commit_weights() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.commit_weights", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[43, "bittensor.core.extrinsics.asyncex.weights.commit_weights_extrinsic", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[46, "bittensor.core.extrinsics.commit_weights.commit_weights_extrinsic", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.weights)": [[75, "bittensor.core.extrinsics.weights.commit_weights_extrinsic", false]], "commitments (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commitments", false]], "commitments (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Commitments", false]], "commitments (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.commitments", false]], "commitments (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.commitments", false]], "commitments (class in bittensor.core.subtensor_api.commitments)": [[82, "bittensor.core.subtensor_api.commitments.Commitments", false]], "commitments (class in bittensor.extras.subtensor_api.commitments)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments", false]], "commitments (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Commitments", false]], "commitrevealperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealPeriod", false]], "commitrevealweightsenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealWeightsEnabled", false]], "compose_call (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.compose_call", false]], "computed_body_hash (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.computed_body_hash", false]], "config (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.config", false]], "config (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.config", false]], "config (class in bittensor.core.config)": [[24, "bittensor.core.config.Config", false]], "config (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.config", false]], "config() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.config", false]], "config() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[95, "bittensor.core.threadpool.PriorityThreadPoolExecutor.config", false]], "config() (bittensor.core.types.subtensormixin static method)": [[97, "bittensor.core.types.SubtensorMixin.config", false]], "config() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.config", false]], "config_payload (bittensor.extras.dev_framework.calls.non_sudo_calls.set_beacon_config attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG.config_payload", false]], "connection_requirements (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.connection_requirements", false]], "consensus (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.consensus", false]], "consensus (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Consensus", false]], "consensus (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.consensus", false]], "consensus (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.consensus", false]], "consensus (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.consensus", false]], "consensus (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.consensus", false]], "consensus (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.consensus", false]], "consensus (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.consensus", false]], "console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.console", false]], "console (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.console", false]], "console (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.Console", false]], "contribute (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE", false]], "convert_and_normalize_weights_and_uids() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_and_normalize_weights_and_uids", false]], "convert_bond_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_bond_uids_and_vals_to_tensor", false]], "convert_maybe_split_to_u16() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_maybe_split_to_u16", false]], "convert_root_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_root_weight_uids_and_vals_to_tensor", false]], "convert_storage_parameter() (bittensor.utils.substrate_utils.storage.storagekey method)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.convert_storage_parameter", false]], "convert_uids_and_weights() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_uids_and_weights", false]], "convert_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_weight_uids_and_vals_to_tensor", false]], "convert_weights_and_uids_for_emit() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.convert_weights_and_uids_for_emit", false]], "cooldown (bittensor.extras.dev_framework.calls.non_sudo_calls.set_pending_childkey_cooldown attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN.cooldown", false]], "copy() (bittensor.core.types.axonservecallparams method)": [[97, "bittensor.core.types.AxonServeCallParams.copy", false]], "create (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE", false], [99, "id11", false]], "create2 (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2", false]], "create_error_response() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.create_error_response", false]], "create_from_data() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_data", false]], "create_from_storage_function() (bittensor.utils.substrate_utils.storage.storagekey class method)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.create_from_storage_function", false]], "create_pow() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.create_pow", false]], "create_pow_async() (in module bittensor.utils.registration.async_pow)": [[134, "bittensor.utils.registration.async_pow.create_pow_async", false]], "create_pure (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE", false]], "create_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[79, "bittensor.core.stream.StreamingSynapse.create_streaming_response", false]], "critical() (bittensor.utils.btlogging.console.bittensorconsole method)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.critical", false]], "critical() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.critical", false]], "crowdloan (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Crowdloan", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.contribute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.finalize attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.refund attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.update_cap attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.update_end attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.update_min_contribution attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.crowdloan_id", false]], "cudasolver (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.CUDASolver", false]], "custom_logger_method_stack_level (in module bittensor.utils.btlogging.loggingmachine)": [[128, "bittensor.utils.btlogging.loggingmachine.CUSTOM_LOGGER_METHOD_STACK_LEVEL", false]], "d (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.D", false]], "data (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.data", false]], "date_format (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.DATE_FORMAT", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.debug", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Debug", false]], "debug() (bittensor.utils.btlogging.console.bittensorconsole method)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.debug", false]], "debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.debug", false]], "debug() (in module bittensor.utils.btlogging.levels)": [[127, "bittensor.utils.btlogging.levels.debug", false]], "debug() (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.debug", false]], "decode_account_id() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.decode_account_id", false]], "decode_account_id_list() (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo class method)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.decode_account_id_list", false]], "decode_block() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.decode_block", false]], "decode_hex_identity_dict() (in module bittensor.utils)": [[131, "bittensor.utils.decode_hex_identity_dict", false]], "decode_metadata() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.decode_metadata", false]], "decode_revealed_commitment() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.decode_revealed_commitment", false]], "decode_revealed_commitment_with_hotkey() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.decode_revealed_commitment_with_hotkey", false]], "decode_scale_value() (bittensor.utils.substrate_utils.storage.storagekey method)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.decode_scale_value", false]], "decrease_take (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[39, "bittensor.core.extrinsics.asyncex.take.decrease_take_extrinsic", false]], "decrease_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[71, "bittensor.core.extrinsics.take.decrease_take_extrinsic", false]], "decrypt() (in module bittensor.core.timelock)": [[96, "bittensor.core.timelock.decrypt", false]], "decrypt() (in module bittensor.extras.timelock)": [[118, "bittensor.extras.timelock.decrypt", false]], "default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Default", false]], "default() (bittensor.core.config.defaultconfig class method)": [[24, "bittensor.core.config.DefaultConfig.default", false]], "default_endpoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.DEFAULT_ENDPOINT", false]], "default_log_backup_count (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.DEFAULT_LOG_BACKUP_COUNT", false]], "default_log_file_name (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.DEFAULT_LOG_FILE_NAME", false]], "default_log_format (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.DEFAULT_LOG_FORMAT", false]], "default_max_rotating_log_file_size (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.DEFAULT_MAX_ROTATING_LOG_FILE_SIZE", false]], "default_network (in module bittensor.core.settings)": [[78, "bittensor.core.settings.DEFAULT_NETWORK", false]], "default_take (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_default_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE.default_take", false]], "default_trace_format (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.DEFAULT_TRACE_FORMAT", false]], "default_verify() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.default_verify", false]], "defaultconfig (class in bittensor.core.config)": [[24, "bittensor.core.config.DefaultConfig", false]], "defaults (in module bittensor.core.settings)": [[78, "bittensor.core.settings.DEFAULTS", false]], "delay (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.delay", false]], "delay (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.delay", false]], "delay (bittensor.extras.dev_framework.calls.non_sudo_calls.note_stalled attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED.delay", false]], "delay (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.delay", false]], "delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.delegate", false]], "delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.delegate", false]], "delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.reject_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT.delegate", false]], "delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.delegate", false]], "delegate_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.delegate_ss58", false]], "delegatedinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.DelegatedInfo", false]], "delegatedinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo", false]], "delegateinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.DelegateInfo", false]], "delegateinfo (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo", false]], "delegateinfobase (class in bittensor.core.chain_data.delegate_info)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase", false]], "delegateinfolite (class in bittensor.core.chain_data.delegate_info_lite)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite", false]], "delegates (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.delegates", false]], "delegates (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.delegates", false]], "delegates (class in bittensor.core.subtensor_api.delegates)": [[83, "bittensor.core.subtensor_api.delegates.Delegates", false]], "delegates (class in bittensor.extras.subtensor_api.delegates)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates", false]], "delegatetaketoohigh": [[26, "bittensor.core.errors.DelegateTakeTooHigh", false]], "delegatetaketoolow": [[26, "bittensor.core.errors.DelegateTakeTooLow", false]], "delegatetxratelimitexceeded": [[26, "bittensor.core.errors.DelegateTxRateLimitExceeded", false]], "delta (bittensor.extras.dev_framework.calls.non_sudo_calls.force_adjust_total_issuance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE.delta", false]], "dendrite (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.dendrite", false]], "dendrite (bittensor.utils.subnets.subnetsapi attribute)": [[138, "bittensor.utils.subnets.SubnetsAPI.dendrite", false]], "dendrite (class in bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.Dendrite", false]], "dendrite (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.dendrite", false]], "dendrite_default_error (in module bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.DENDRITE_DEFAULT_ERROR", false]], "dendrite_error_mapping (in module bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.DENDRITE_ERROR_MAPPING", false]], "dendritemixin (class in bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.DendriteMixin", false]], "deposit (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.deposit", false]], "deprecated_message() (in module bittensor.utils)": [[131, "bittensor.utils.deprecated_message", false]], "deregister_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.deregister_primary_logger", false]], "description (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.description", false]], "description (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.description", false]], "description (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.description", false]], "description (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.description", false]], "deserialize() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.deserialize", false], [93, "id1", false]], "deserialize() (bittensor.core.tensor.tensor method)": [[94, "bittensor.core.tensor.Tensor.deserialize", false]], "dest (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.dest", false]], "dest (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL.dest", false]], "dest (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_allow_death attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH.dest", false]], "dest (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_keep_alive attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE.dest", false]], "destination_coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.destination_coldkey", false]], "destination_hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.destination_hotkey", false]], "destination_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.destination_netuid", false]], "destination_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.destination_netuid", false]], "destination_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.destination_netuid", false]], "destination_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.destination_netuid", false]], "dests (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.dests", false]], "dests (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.dests", false]], "determine_block_hash (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.determine_block_hash", false]], "determine_block_hash (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.determine_block_hash", false]], "determine_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.determine_block_hash", false]], "determine_block_hash() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.determine_block_hash", false]], "determine_chain_endpoint_and_network() (in module bittensor.utils)": [[131, "bittensor.utils.determine_chain_endpoint_and_network", false]], "dev_id (bittensor.utils.registration.pow.cudasolver attribute)": [[136, "bittensor.utils.registration.pow.CUDASolver.dev_id", false]], "dict() (bittensor.core.types.axonservecallparams method)": [[97, "bittensor.core.types.AxonServeCallParams.dict", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.difficulty", false]], "difficulty (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.difficulty", false]], "difficulty (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.difficulty", false]], "difficulty (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.difficulty", false]], "difficulty (bittensor.utils.registration.pow.powsolution attribute)": [[136, "bittensor.utils.registration.pow.POWSolution.difficulty", false]], "difficulty (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.difficulty", false]], "difficulty() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.difficulty", false]], "difficulty() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.difficulty", false]], "direction (bittensor.extras.dev_framework.calls.non_sudo_calls.force_adjust_total_issuance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE.direction", false]], "disable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_debug", false]], "disable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_info", false]], "disable_logging (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_logging", false]], "disable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_third_party_loggers", false]], "disable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_trace", false]], "disable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_warning", false]], "disable_whitelist (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST", false]], "disabled (bittensor.extras.dev_framework.calls.non_sudo_calls.disable_whitelist attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST.disabled", false]], "disabled (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Disabled", false]], "disapprove_proposal (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL", false]], "discord (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.discord", false]], "discord (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.discord", false]], "discord (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.discord", false]], "discord (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.discord", false]], "dispatch() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.dispatch", false]], "dispatch_as (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS", false]], "dispatch_as_fallible (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE", false]], "dissolve (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE", false]], "dissolve_network (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK", false]], "dividends (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.dividends", false]], "dividends (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Dividends", false]], "dividends (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.dividends", false]], "dividends (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.dividends", false]], "dividends (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.dividends", false]], "dividends (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.dividends", false]], "dividends (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.dividends", false]], "dividends (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.dividends", false]], "do_serve_axon() (in module bittensor.core.extrinsics.asyncex.serving)": [[35, "bittensor.core.extrinsics.asyncex.serving.do_serve_axon", false]], "do_serve_axon() (in module bittensor.core.extrinsics.serving)": [[66, "bittensor.core.extrinsics.serving.do_serve_axon", false]], "does_hotkey_exist (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.does_hotkey_exist", false]], "does_hotkey_exist (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.does_hotkey_exist", false]], "drain (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.drain", false]], "drand (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Drand", false]], "dtype (bittensor.core.tensor.tensor attribute)": [[94, "bittensor.core.tensor.Tensor.dtype", false]], "dtypes (class in bittensor.core.tensor)": [[94, "bittensor.core.tensor.DTypes", false]], "dtypes (in module bittensor.core.tensor)": [[94, "bittensor.core.tensor.dtypes", false]], "duplicatechild": [[26, "bittensor.core.errors.DuplicateChild", false]], "duration (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.duration", false]], "duration (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_coldkey_swap_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION.duration", false]], "duration (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_dissolve_network_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION.duration", false]], "dynamicinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.DynamicInfo", false]], "dynamicinfo (class in bittensor.core.chain_data.dynamic_info)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo", false]], "e (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.E", false]], "elasticity (bittensor.extras.dev_framework.calls.non_sudo_calls.set_elasticity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY.elasticity", false]], "ema_halving (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.ema_halving", false]], "emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Emission", false]], "emission (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.emission", false]], "emission (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.emission", false]], "emission (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.emission", false]], "emission (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.emission", false]], "emission (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.emission", false]], "emission (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.emission", false]], "emission (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.emission", false]], "emission_history (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.emission_history", false]], "emission_value (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.emission_value", false]], "emissions (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.emissions", false]], "emissions_share (bittensor.extras.dev_framework.calls.non_sudo_calls.register_leased_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK.emissions_share", false]], "emoji_map (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.emoji_map", false]], "enable (bittensor.extras.dev_framework.calls.non_sudo_calls.toggle_user_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY.enable", false]], "enable_console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_console", false]], "enable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_debug", false]], "enable_default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_default", false]], "enable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_info", false]], "enable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_third_party_loggers", false]], "enable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_trace", false]], "enable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_warning", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.enabled", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.enabled", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.enabled", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.enabled", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.enabled", false]], "encode() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.encode", false]], "encode_params (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.encode_params", false]], "encode_params (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.encode_params", false]], "encode_params() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.encode_params", false]], "encode_params() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.encode_params", false]], "encrypt() (in module bittensor.core.timelock)": [[96, "bittensor.core.timelock.encrypt", false]], "encrypt() (in module bittensor.extras.timelock)": [[118, "bittensor.extras.timelock.encrypt", false]], "end (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.end", false]], "end (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.end", false]], "end_block (bittensor.extras.dev_framework.calls.non_sudo_calls.register_leased_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK.end_block", false]], "ensure_updated (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED", false]], "enter (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER", false]], "epochs (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_hparam_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT.epochs", false]], "equivocation_proof (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION.equivocation_proof", false]], "equivocation_proof (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation_unsigned attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED.equivocation_proof", false]], "error() (bittensor.utils.btlogging.console.bittensorconsole method)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.error", false]], "error() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.error", false]], "ethereum (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Ethereum", false]], "event_loop_is_running() (in module bittensor.core.dendrite)": [[25, "bittensor.core.dendrite.event_loop_is_running", false]], "evm (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.EVM", false]], "evm_key (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.evm_key", false]], "exception() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.exception", false]], "execute (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE", false]], "execute_one() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.execute_one", false]], "execute_steps() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.execute_steps", false]], "ext_index (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.ext_index", false]], "extend (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND", false]], "external_ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_ip", false]], "external_ip (bittensor.core.dendrite.dendritemixin attribute)": [[25, "bittensor.core.dendrite.DendriteMixin.external_ip", false]], "external_port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.external_port", false]], "externalipnotfound": [[133, "bittensor.utils.networking.ExternalIPNotFound", false]], "extract_response_json() (bittensor.core.stream.streamingsynapse method)": [[79, "bittensor.core.stream.StreamingSynapse.extract_response_json", false]], "extrinsicnotfound (in module bittensor.core.errors)": [[26, "bittensor.core.errors.ExtrinsicNotFound", false]], "extrinsics (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.extrinsics", false]], "extrinsics (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.extrinsics", false]], "extrinsics (class in bittensor.core.subtensor_api.extrinsics)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics", false]], "extrinsics (class in bittensor.extras.subtensor_api.extrinsics)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics", false]], "extrinsics_subpackage (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.extrinsics_subpackage", false]], "failed_verification (bittensor.core.synapse.synapse property)": [[93, "bittensor.core.synapse.Synapse.failed_verification", false]], "fallback (bittensor.extras.dev_framework.calls.non_sudo_calls.if_else attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE.fallback", false]], "fast_config (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_config", false]], "fast_server (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.fast_server", false]], "fastapithreadedserver (class in bittensor.core.axon)": [[1, "bittensor.core.axon.FastAPIThreadedServer", false]], "faucet (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET", false]], "fee (bittensor.extras.dev_framework.calls.non_sudo_calls.set_base_fee_per_gas attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS.fee", false]], "fees_alpha (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.fees_alpha", false]], "fees_tao (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.fees_tao", false]], "filter_netuids_by_registered_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.filter_netuids_by_registered_hotkeys", false]], "finalize (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE", false]], "finney_entrypoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.FINNEY_ENTRYPOINT", false]], "finney_test_entrypoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.FINNEY_TEST_ENTRYPOINT", false]], "fixed_to_float() (in module bittensor.utils.balance)": [[121, "bittensor.utils.balance.fixed_to_float", false]], "fixedpoint (class in bittensor.utils.balance)": [[121, "bittensor.utils.balance.FixedPoint", false]], "float_to_u64() (in module bittensor.utils)": [[131, "bittensor.utils.float_to_u64", false]], "force_adjust_total_issuance (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE", false]], "force_batch (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH", false]], "force_enter (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER", false]], "force_exit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT", false]], "force_extend (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND", false]], "force_proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.force_proxy_type", false]], "force_proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.force_proxy_type", false]], "force_release_deposit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT", false]], "force_set_balance (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE", false]], "force_slash_deposit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT", false]], "force_transfer (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER", false]], "force_unreserve (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE", false]], "forced (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.forced", false]], "format() (bittensor.utils.btlogging.format.btfileformatter method)": [[124, "bittensor.utils.btlogging.format.BtFileFormatter.format", false]], "format() (bittensor.utils.btlogging.format.btstreamformatter method)": [[124, "bittensor.utils.btlogging.format.BtStreamFormatter.format", false]], "format_error_message() (in module bittensor.utils)": [[131, "bittensor.utils.format_error_message", false]], "formattime() (bittensor.utils.btlogging.format.btfileformatter method)": [[124, "bittensor.utils.btlogging.format.BtFileFormatter.formatTime", false]], "formattime() (bittensor.utils.btlogging.format.btstreamformatter method)": [[124, "bittensor.utils.btlogging.format.BtStreamFormatter.formatTime", false]], "forward() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.forward", false]], "forward() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.forward", false], [25, "id7", false]], "forward_class_types (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_class_types", false]], "forward_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.forward_fns", false]], "from_dict() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.from_dict", false]], "from_dict() (bittensor.core.chain_data.proposal_vote_data.proposalvotedata class method)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.from_dict", false]], "from_dict() (bittensor.core.chain_data.sim_swap.simswapresult class method)": [[16, "bittensor.core.chain_data.sim_swap.SimSwapResult.from_dict", false]], "from_dict() (bittensor.core.chain_data.stake_info.stakeinfo class method)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.from_dict", false]], "from_error() (bittensor.core.errors.chainerror class method)": [[26, "bittensor.core.errors.ChainError.from_error", false]], "from_float() (bittensor.utils.balance.balance static method)": [[121, "bittensor.utils.balance.Balance.from_float", false]], "from_headers() (bittensor.core.synapse.synapse class method)": [[93, "id2", false]], "from_headers() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.from_headers", false]], "from_neuron_info() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_neuron_info", false]], "from_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_parameter_dict", false]], "from_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo class method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.from_parameter_dict", false]], "from_rao() (bittensor.utils.balance.balance static method)": [[121, "bittensor.utils.balance.Balance.from_rao", false]], "from_scale_encoding() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.from_scale_encoding", false]], "from_scale_encoding_using_type_string() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.from_scale_encoding_using_type_string", false]], "from_string() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.from_string", false]], "from_tao() (bittensor.utils.balance.balance static method)": [[121, "bittensor.utils.balance.Balance.from_tao", false]], "from_vec_u8() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8", false]], "from_vec_u8_v2() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8_v2", false]], "from_weights_bonds_and_neuron_lite() (bittensor.core.chain_data.neuron_info.neuroninfo class method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.from_weights_bonds_and_neuron_lite", false]], "full_address (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.full_address", false]], "gas_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.gas_limit", false]], "gas_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.gas_limit", false]], "gas_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.gas_limit", false]], "generate() (bittensor.utils.substrate_utils.storage.storagekey method)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.generate", false]], "generate_weight_hash() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.generate_weight_hash", false]], "get_admin_freeze_window (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_admin_freeze_window", false]], "get_admin_freeze_window (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_admin_freeze_window", false]], "get_admin_freeze_window() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_admin_freeze_window", false]], "get_admin_freeze_window() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_admin_freeze_window", false]], "get_all_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_all_commitments", false]], "get_all_commitments (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_all_commitments", false]], "get_all_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_commitments", false]], "get_all_commitments() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_all_commitments", false]], "get_all_metagraphs_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[86, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_all_metagraphs_info", false]], "get_all_metagraphs_info (bittensor.extras.subtensor_api.metagraphs.metagraphs attribute)": [[111, "bittensor.extras.subtensor_api.metagraphs.Metagraphs.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_all_metagraphs_info", false]], "get_all_neuron_certificates (bittensor.core.subtensor_api.neurons.neurons attribute)": [[87, "bittensor.core.subtensor_api.neurons.Neurons.get_all_neuron_certificates", false]], "get_all_neuron_certificates (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_all_neuron_certificates", false]], "get_all_revealed_commitments (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_all_revealed_commitments", false]], "get_all_revealed_commitments (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_all_revealed_commitments", false]], "get_all_subnets_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_all_subnets_info", false]], "get_all_subnets_info (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_all_subnets_info", false]], "get_all_subnets_netuid (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_all_subnets_netuid", false]], "get_and_save_latest_version() (in module bittensor.utils.version)": [[142, "bittensor.utils.version.get_and_save_latest_version", false]], "get_async_subtensor() (in module bittensor.core.async_subtensor)": [[0, "bittensor.core.async_subtensor.get_async_subtensor", false]], "get_auto_stakes (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_auto_stakes", false]], "get_balance (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_balance", false]], "get_balance (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_balance", false]], "get_balance() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balance", false]], "get_balance() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_balance", false]], "get_balances (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_balances", false]], "get_balances (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_balances", false]], "get_balances() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_balances", false]], "get_balances() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_balances", false]], "get_block_hash (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_block_hash", false]], "get_block_hash (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_block_hash", false]], "get_block_hash() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_block_hash", false]], "get_block_hash() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_block_hash", false]], "get_block_info (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_block_info", false]], "get_children (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_children", false]], "get_children (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_children", false]], "get_children (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_children", false]], "get_children (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_children", false]], "get_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children", false]], "get_children() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_children", false]], "get_children_pending (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_children_pending", false]], "get_children_pending (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_children_pending", false]], "get_children_pending (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_children_pending", false]], "get_children_pending (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_children_pending", false]], "get_children_pending() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_children_pending", false]], "get_children_pending() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_children_pending", false]], "get_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_commitment", false]], "get_commitment (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_commitment", false]], "get_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_commitment", false]], "get_commitment() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_commitment", false]], "get_commitment_metadata (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_commitment_metadata", false]], "get_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_config", false]], "get_cpu_count() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.get_cpu_count", false]], "get_current_block (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_current_block", false]], "get_current_block (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_current_block", false]], "get_current_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_block", false]], "get_current_block() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_current_block", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_current_weight_commit_info", false]], "get_current_weight_commit_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_weight_commit_info", false]], "get_current_weight_commit_info() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_current_weight_commit_info", false]], "get_current_weight_commit_info_v2 (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_current_weight_commit_info_v2", false]], "get_current_weight_commit_info_v2() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_current_weight_commit_info_v2", false]], "get_current_weight_commit_info_v2() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_current_weight_commit_info_v2", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_delegate_by_hotkey", false]], "get_delegate_identities (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_delegate_identities", false]], "get_delegate_identities (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_identities", false]], "get_delegate_identities (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_delegate_identities", false]], "get_delegate_identities (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_delegate_identities", false]], "get_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.get_delegate_take", false]], "get_delegate_take (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_delegate_take", false]], "get_delegate_take (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegate_take", false]], "get_delegate_take (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_delegate_take", false]], "get_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegate_take", false]], "get_delegate_take() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_delegate_take", false]], "get_delegated (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.get_delegated", false]], "get_delegated (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_delegated", false]], "get_delegated (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegated", false]], "get_delegated (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_delegated", false]], "get_delegated() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegated", false]], "get_delegated() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_delegated", false]], "get_delegates (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.get_delegates", false]], "get_delegates (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegates", false]], "get_delegates() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_delegates", false]], "get_delegates() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_delegates", false]], "get_existential_deposit (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_existential_deposit", false]], "get_existential_deposit (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_existential_deposit", false]], "get_explorer_url_for_network() (in module bittensor.utils)": [[131, "bittensor.utils.get_explorer_url_for_network", false]], "get_external_ip() (in module bittensor.utils.networking)": [[133, "bittensor.utils.networking.get_external_ip", false]], "get_extrinsic_fee (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.get_extrinsic_fee", false]], "get_extrinsic_fee() (in module bittensor.core.extrinsics.asyncex.utils)": [[42, "bittensor.core.extrinsics.asyncex.utils.get_extrinsic_fee", false]], "get_extrinsic_fee() (in module bittensor.core.extrinsics.utils)": [[74, "bittensor.core.extrinsics.utils.get_extrinsic_fee", false]], "get_fees() (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.get_fees", false]], "get_fees_in_range() (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.get_fees_in_range", false]], "get_formatted_ws_endpoint_url() (in module bittensor.utils.networking)": [[133, "bittensor.utils.networking.get_formatted_ws_endpoint_url", false]], "get_hash() (in module bittensor.utils)": [[131, "bittensor.utils.get_hash", false]], "get_hotkey_owner (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_owner", false]], "get_hotkey_owner (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_hotkey_owner", false]], "get_hotkey_stake (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor.subtensor attribute)": [[80, "bittensor.core.subtensor.Subtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_hotkey_stake", false]], "get_human_readable() (in module bittensor.utils.formatting)": [[130, "bittensor.utils.formatting.get_human_readable", false]], "get_hyperparameter (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_hyperparameter", false]], "get_hyperparameter (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_hyperparameter", false]], "get_last_bonds_reset (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_last_bonds_reset", false]], "get_last_bonds_reset() (in module bittensor.core.extrinsics.asyncex.serving)": [[35, "bittensor.core.extrinsics.asyncex.serving.get_last_bonds_reset", false]], "get_last_bonds_reset() (in module bittensor.core.extrinsics.serving)": [[66, "bittensor.core.extrinsics.serving.get_last_bonds_reset", false]], "get_last_commitment_bonds_reset_block (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_last_commitment_bonds_reset_block", false]], "get_level() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_level", false]], "get_liquidity_list (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_liquidity_list", false]], "get_liquidity_list (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_liquidity_list", false]], "get_max_logger_name_length() (in module bittensor.utils.btlogging.helpers)": [[125, "bittensor.utils.btlogging.helpers.get_max_logger_name_length", false]], "get_mechanism_count (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_mechanism_count", false]], "get_mechanism_count (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_mechanism_count", false]], "get_mechanism_count() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_mechanism_count", false]], "get_mechanism_count() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_mechanism_count", false]], "get_mechanism_emission_split (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_mechanism_emission_split", false]], "get_mechanism_emission_split (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_mechanism_emission_split", false]], "get_mechanism_emission_split() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_mechanism_emission_split", false]], "get_mechanism_emission_split() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_mechanism_emission_split", false]], "get_mechid_storage_index() (in module bittensor.utils)": [[131, "bittensor.utils.get_mechid_storage_index", false]], "get_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[35, "bittensor.core.extrinsics.asyncex.serving.get_metadata", false]], "get_metadata() (in module bittensor.core.extrinsics.serving)": [[66, "bittensor.core.extrinsics.serving.get_metadata", false]], "get_metagraph_info (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[86, "bittensor.core.subtensor_api.metagraphs.Metagraphs.get_metagraph_info", false]], "get_metagraph_info (bittensor.extras.subtensor_api.metagraphs.metagraphs attribute)": [[111, "bittensor.extras.subtensor_api.metagraphs.Metagraphs.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_metagraph_info", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_minimum_required_stake", false]], "get_netuid_and_mechid_by_storage_index() (in module bittensor.utils)": [[131, "bittensor.utils.get_netuid_and_mechid_by_storage_index", false]], "get_netuids_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_netuids_for_hotkey", false]], "get_neuron_certificate (bittensor.core.subtensor_api.neurons.neurons attribute)": [[87, "bittensor.core.subtensor_api.neurons.Neurons.get_neuron_certificate", false]], "get_neuron_certificate (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_neuron_certificate", false]], "get_neuron_for_pubkey_and_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_neuron_for_pubkey_and_subnet", false]], "get_next_epoch_start_block (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_next_epoch_start_block", false]], "get_next_epoch_start_block (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_next_epoch_start_block", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info.neuroninfo static method)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite static method)": [[12, "id0", false]], "get_old_stakes() (in module bittensor.core.extrinsics.utils)": [[74, "bittensor.core.extrinsics.utils.get_old_stakes", false]], "get_owned_hotkeys (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_owned_hotkeys", false]], "get_owned_hotkeys (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_owned_hotkeys", false]], "get_parents (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_parents", false]], "get_parents (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_parents", false]], "get_parents (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_parents", false]], "get_parents() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_parents", false]], "get_parents() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_parents", false]], "get_queue() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_queue", false]], "get_required_fields() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.get_required_fields", false]], "get_revealed_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment", false]], "get_revealed_commitment (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_revealed_commitment", false]], "get_revealed_commitment_by_hotkey (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_revealed_commitment_by_hotkey", false]], "get_save_dir() (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.get_save_dir", false]], "get_selective_metagraph_commitments() (in module bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.get_selective_metagraph_commitments", false]], "get_size() (in module bittensor.core.synapse)": [[93, "bittensor.core.synapse.get_size", false]], "get_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake", false]], "get_stake (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake", false]], "get_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_stake", false]], "get_stake (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake", false]], "get_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake", false]], "get_stake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake", false]], "get_stake_add_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_add_fee", false]], "get_stake_add_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_add_fee", false]], "get_stake_add_fee (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_stake_add_fee", false]], "get_stake_add_fee (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_add_fee", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey", false]], "get_stake_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_hotkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_for_hotkey", false]], "get_stake_for_hotkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_for_hotkey", false]], "get_stake_info_for_coldkey (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor.subtensor attribute)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_info_for_coldkey", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_movement_fee", false]], "get_stake_movement_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_stake_movement_fee", false]], "get_stake_movement_fee (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_stake_movement_fee", false]], "get_stake_movement_fee (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_movement_fee", false]], "get_stake_operations_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_operations_fee", false]], "get_stake_operations_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_operations_fee", false]], "get_stake_operations_fee() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_operations_fee", false]], "get_stake_weight (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_stake_weight", false]], "get_stake_weight (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_stake_weight", false]], "get_stake_weight() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_stake_weight", false]], "get_stake_weight() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_stake_weight", false]], "get_status_message() (bittensor.utils.registration.pow.registrationstatisticslogger class method)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.get_status_message", false]], "get_subnet_burn_cost (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_burn_cost", false]], "get_subnet_burn_cost (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_burn_cost", false]], "get_subnet_hyperparameters (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_hyperparameters", false]], "get_subnet_info (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_info", false]], "get_subnet_info (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_info", false]], "get_subnet_info() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_info", false]], "get_subnet_info() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_info", false]], "get_subnet_owner_hotkey (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_owner_hotkey", false]], "get_subnet_price (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_price", false]], "get_subnet_price (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_price", false]], "get_subnet_price() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_price", false]], "get_subnet_price() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_price", false]], "get_subnet_prices (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_prices", false]], "get_subnet_prices (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_prices", false]], "get_subnet_reveal_period_epochs (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_validator_permits (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnet_validator_permits", false]], "get_subnet_validator_permits (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnet_validator_permits", false]], "get_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_subnets", false]], "get_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_subnets", false]], "get_subnets() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_subnets", false]], "get_timelocked_weight_commits (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.get_timelocked_weight_commits", false]], "get_timelocked_weight_commits (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.get_timelocked_weight_commits", false]], "get_timelocked_weight_commits() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_timelocked_weight_commits", false]], "get_timelocked_weight_commits() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_timelocked_weight_commits", false]], "get_timestamp (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_timestamp", false]], "get_timestamp (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_timestamp", false]], "get_timestamp() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_timestamp", false]], "get_timestamp() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_timestamp", false]], "get_total_size() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.get_total_size", false], [93, "id3", false]], "get_total_subnets (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_total_subnets", false]], "get_total_subnets (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_total_subnets", false]], "get_total_subnets() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_total_subnets", false]], "get_total_subnets() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_total_subnets", false]], "get_transfer_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_transfer_fee", false]], "get_transfer_fee (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_transfer_fee", false]], "get_transfer_fn_params() (in module bittensor.core.extrinsics.params.transfer)": [[61, "bittensor.core.extrinsics.params.transfer.get_transfer_fn_params", false]], "get_transfer_fn_params() (in module bittensor.utils)": [[131, "bittensor.utils.get_transfer_fn_params", false]], "get_uid_for_hotkey_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_uid_for_hotkey_on_subnet", false]], "get_unit() (bittensor.utils.balance.balance static method)": [[121, "bittensor.utils.balance.Balance.get_unit", false]], "get_unstake_fee (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.get_unstake_fee", false]], "get_unstake_fee (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.get_unstake_fee", false]], "get_unstake_fee (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.get_unstake_fee", false]], "get_unstake_fee (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_unstake_fee", false]], "get_vote_data (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.get_vote_data", false]], "get_vote_data (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.get_vote_data", false]], "get_vote_data() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.get_vote_data", false]], "get_vote_data() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.get_vote_data", false]], "github (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.github", false]], "github_repo (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.github_repo", false]], "github_repo (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.github_repo", false]], "github_repo (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.github_repo", false]], "global_max_subnet_count (in module bittensor.utils)": [[131, "bittensor.utils.GLOBAL_MAX_SUBNET_COUNT", false]], "grandpa (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Grandpa", false]], "hash (bittensor.extras.dev_framework.calls.non_sudo_calls.request_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE.hash", false]], "hash (bittensor.extras.dev_framework.calls.non_sudo_calls.unnote_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE.hash", false]], "hash (bittensor.extras.dev_framework.calls.non_sudo_calls.unrequest_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE.hash", false]], "hash_rate (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate", false]], "hash_rate_perpetual (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate_perpetual", false]], "hashes (bittensor.extras.dev_framework.calls.non_sudo_calls.ensure_updated attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED.hashes", false]], "header (in module bittensor.extras.dev_framework.calls)": [[98, "bittensor.extras.dev_framework.calls.HEADER", false]], "header_size (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.header_size", false]], "height (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.height", false]], "help (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.help", false]], "help (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.help", false]], "help() (bittensor.core.axon.axon class method)": [[1, "bittensor.core.axon.Axon.help", false]], "help() (bittensor.core.types.subtensormixin class method)": [[97, "bittensor.core.types.SubtensorMixin.help", false]], "help() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.help", false]], "hex_to_bytes (in module bittensor.utils)": [[131, "bittensor.utils.hex_to_bytes", false]], "home_dir (in module bittensor.core.settings)": [[78, "bittensor.core.settings.HOME_DIR", false]], "hotkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.hotkey", false]], "hotkey (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.hotkey", false]], "hotkey (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.adjust_senate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.burned_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.decrease_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.increase_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network_with_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.root_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.set_coldkey_auto_stake_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.terminate_lease attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.try_associate_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.hotkey", false]], "hotkey_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.hotkey_ss58", false]], "hotkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.hotkey_ss58", false]], "hotkeyaccountnotexists": [[26, "bittensor.core.errors.HotKeyAccountNotExists", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.hotkeys", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Hotkeys", false]], "hotkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.hotkeys", false]], "hotkeys (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.hotkeys", false]], "hparams (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.hparams", false]], "i (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.I", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED.id", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED.id", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.id", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.id", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.id", false]], "id (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.id", false]], "identified (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY.identified", false]], "identified (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.identified", false]], "identities (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identities", false]], "identities (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identities", false]], "identities (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.identities", false]], "identity (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identity", false]], "identity (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identity", false]], "identity (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.identity", false]], "identity (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network_with_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY.identity", false]], "identity() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.identity", false]], "identityerror": [[26, "bittensor.core.errors.IdentityError", false]], "idx (bittensor.extras.dev_framework.subnet.call_record attribute)": [[103, "bittensor.extras.dev_framework.subnet.CALL_RECORD.idx", false]], "if_else (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE", false]], "image (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.image", false]], "image (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.image", false]], "immune_neurons (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.immune_neurons", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.immunity_period", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.immunity_period", false]], "immunity_period (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.immunity_period", false]], "immunity_period (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.immunity_period", false]], "immunity_period (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD.immunity_period", false]], "immunity_period (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.immunity_period", false]], "immunity_period() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.immunity_period", false]], "immunity_period() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.immunity_period", false]], "immunityperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ImmunityPeriod", false]], "import_text (in module bittensor.extras.dev_framework.calls)": [[98, "bittensor.extras.dev_framework.calls.IMPORT_TEXT", false]], "in_blocks (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.in_blocks", false]], "incentive (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.incentive", false]], "incentive (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.incentive", false]], "incentive (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.incentive", false]], "incentive (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.incentive", false]], "incentive (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.incentive", false]], "incentives (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.incentives", false]], "incentives (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Incentives", false]], "incentives (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.incentives", false]], "increase_decrease_take() (bittensor.core.extrinsics.params.take.takeparams class method)": [[60, "bittensor.core.extrinsics.params.take.TakeParams.increase_decrease_take", false]], "increase_take (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[39, "bittensor.core.extrinsics.asyncex.take.increase_take_extrinsic", false]], "increase_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[71, "bittensor.core.extrinsics.take.increase_take_extrinsic", false]], "index (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.as_derivative attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.index", false], [99, "id43", false]], "info (bittensor.extras.dev_framework.calls.non_sudo_calls.set_commitment attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT.info", false]], "info (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.info", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.info", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Info", false]], "info() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.info", false]], "info() (bittensor.utils.btlogging.console.bittensorconsole method)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.info", false]], "info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.info", false]], "info() (in module bittensor.utils.btlogging.levels)": [[127, "bittensor.utils.btlogging.levels.info", false]], "info() (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.info", false]], "infobase (class in bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.InfoBase", false]], "init (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.init", false]], "init (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.init", false]], "initialize (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.initialize", false]], "initialize (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.initialize", false]], "initialize() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.initialize", false]], "inner_subtensor (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.inner_subtensor", false]], "input (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.input", false]], "install_signal_handlers() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.install_signal_handlers", false]], "int_to_ip() (in module bittensor.utils.networking)": [[133, "bittensor.utils.networking.int_to_ip", false]], "internalservererror": [[26, "bittensor.core.errors.InternalServerError", false]], "interval (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.interval", false]], "interval (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_lock_reduction_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL.interval", false]], "invalidchild": [[26, "bittensor.core.errors.InvalidChild", false]], "invalidconfigfile": [[24, "bittensor.core.config.InvalidConfigFile", false]], "invalidrequestnameerror": [[26, "bittensor.core.errors.InvalidRequestNameError", false]], "ip (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.ip", false]], "ip (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip", false]], "ip (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip", false]], "ip (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip", false]], "ip (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.ip", false]], "ip (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.ip", false]], "ip (bittensor.core.types.prometheusservecallparams attribute)": [[97, "bittensor.core.types.PrometheusServeCallParams.ip", false]], "ip (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.ip", false]], "ip (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.ip", false]], "ip (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.ip", false]], "ip__str__() (in module bittensor.utils.networking)": [[133, "bittensor.utils.networking.ip__str__", false]], "ip_str() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_str", false]], "ip_to_int() (in module bittensor.utils.networking)": [[133, "bittensor.utils.networking.ip_to_int", false]], "ip_type (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip_type", false]], "ip_type (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.ip_type", false]], "ip_type (bittensor.core.types.prometheusservecallparams attribute)": [[97, "bittensor.core.types.PrometheusServeCallParams.ip_type", false]], "ip_type (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.ip_type", false]], "ip_type (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.ip_type", false]], "ip_type (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.ip_type", false]], "ip_version() (in module bittensor.utils.networking)": [[133, "bittensor.utils.networking.ip_version", false]], "ipinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.IPInfo", false]], "ipinfo (class in bittensor.core.chain_data.ip_info)": [[9, "bittensor.core.chain_data.ip_info.IPInfo", false]], "is_async (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.is_async", false]], "is_async (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.is_async", false]], "is_blacklist (bittensor.core.synapse.synapse property)": [[93, "bittensor.core.synapse.Synapse.is_blacklist", false]], "is_dynamic (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.is_dynamic", false]], "is_empty (bittensor.core.threadpool.prioritythreadpoolexecutor property)": [[95, "bittensor.core.threadpool.PriorityThreadPoolExecutor.is_empty", false]], "is_failure (bittensor.core.synapse.synapse property)": [[93, "bittensor.core.synapse.Synapse.is_failure", false]], "is_fast_blocks (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.is_fast_blocks", false]], "is_fast_blocks (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_fast_blocks", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.is_hotkey_delegate", false]], "is_hotkey_delegate (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_delegate", false]], "is_hotkey_delegate (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.is_hotkey_delegate", false]], "is_hotkey_delegate (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_hotkey_delegate", false]], "is_hotkey_registered (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered", false]], "is_hotkey_registered (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_hotkey_registered", false]], "is_hotkey_registered_any (bittensor.core.subtensor_api.wallets.wallets attribute)": [[92, "bittensor.core.subtensor_api.wallets.Wallets.is_hotkey_registered_any", false]], "is_hotkey_registered_any (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_on_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_on_subnet", false]], "is_in_admin_freeze_window (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.is_in_admin_freeze_window", false]], "is_in_admin_freeze_window (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.is_in_admin_freeze_window", false]], "is_in_admin_freeze_window() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_in_admin_freeze_window", false]], "is_in_admin_freeze_window() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_in_admin_freeze_window", false]], "is_instance_namedtuple() (in module bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.is_instance_namedtuple", false]], "is_null (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.is_null", false]], "is_null (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.is_null", false]], "is_registered (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.is_registered", false]], "is_running (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.is_running", false]], "is_serving (bittensor.core.chain_data.axon_info.axoninfo property)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.is_serving", false]], "is_set() (bittensor.core.config.config method)": [[24, "bittensor.core.config.Config.is_set", false]], "is_stale() (bittensor.utils.registration.pow.powsolution method)": [[136, "bittensor.utils.registration.pow.POWSolution.is_stale", false]], "is_stale_async() (bittensor.utils.registration.pow.powsolution method)": [[136, "bittensor.utils.registration.pow.POWSolution.is_stale_async", false]], "is_subnet_active (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.is_subnet_active", false]], "is_subnet_active (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.is_subnet_active", false]], "is_subnet_active() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.is_subnet_active", false]], "is_subnet_active() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.is_subnet_active", false]], "is_success (bittensor.core.synapse.synapse property)": [[93, "bittensor.core.synapse.Synapse.is_success", false]], "is_timeout (bittensor.core.synapse.synapse property)": [[93, "bittensor.core.synapse.Synapse.is_timeout", false]], "is_valid_bittensor_address_or_public_key() (in module bittensor.utils)": [[131, "bittensor.utils.is_valid_bittensor_address_or_public_key", false]], "is_valid_ss58_address() (in module bittensor.utils)": [[131, "bittensor.utils.is_valid_ss58_address", false]], "items (bittensor.extras.dev_framework.calls.non_sudo_calls.set_storage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE.items", false]], "k (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.k", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Kappa", false]], "kappa (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.kappa", false]], "kappa (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.kappa", false]], "kappa (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.kappa", false]], "keep_alive (bittensor.extras.dev_framework.calls.non_sudo_calls.burn attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN.keep_alive", false]], "keep_alive (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL.keep_alive", false]], "key_owner_proof (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION.key_owner_proof", false]], "key_owner_proof (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation_unsigned attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED.key_owner_proof", false]], "keyfile (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.keyfile", false]], "keypair (bittensor.core.dendrite.dendritemixin attribute)": [[25, "bittensor.core.dendrite.DendriteMixin.keypair", false]], "keys (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_storage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE.keys", false]], "kill_prefix (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX", false]], "kill_pure (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE", false]], "kill_storage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE", false]], "last_drand_round (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.last_drand_round", false]], "last_drand_round (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.last_drand_round", false]], "last_drand_round() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.last_drand_round", false]], "last_drand_round() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.last_drand_round", false]], "last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.last_step", false]], "last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_step", false]], "last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.last_step", false]], "last_update (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.last_update", false]], "last_update (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.last_update", false]], "last_update (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.last_update", false]], "last_update (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.last_update", false]], "last_update (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.last_update", false]], "laststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastStep", false]], "lastupdate (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastUpdate", false]], "latent_lite_entrypoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.LATENT_LITE_ENTRYPOINT", false]], "latest_block_path() (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.latest_block_path", false]], "lazyloadedtorch (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.LazyLoadedTorch", false]], "lease_id (bittensor.extras.dev_framework.calls.non_sudo_calls.terminate_lease attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE.lease_id", false]], "legacy_torch_api_compat() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.legacy_torch_api_compat", false]], "length_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.length_bound", false]], "length_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.execute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE.length_bound", false]], "length_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.length_bound", false]], "limit_price (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.limit_price", false]], "limit_price (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.limit_price", false]], "limit_price (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.limit_price", false]], "limit_price (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.limit_price", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.liquid_alpha_enabled", false]], "liquidalphaenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LiquidAlphaEnabled", false]], "liquidity (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.liquidity", false]], "liquidity (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.liquidity", false]], "liquidity_delta (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.liquidity_delta", false]], "liquidityparams (class in bittensor.core.extrinsics.params.liquidity)": [[53, "bittensor.core.extrinsics.params.liquidity.LiquidityParams", false]], "liquidityposition (class in bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.LiquidityPosition", false]], "list_from_dicts() (bittensor.core.chain_data.info_base.infobase class method)": [[8, "bittensor.core.chain_data.info_base.InfoBase.list_from_dicts", false]], "list_from_vec_u8() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.list_from_vec_u8", false]], "lite (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.lite", false]], "load() (bittensor.core.metagraph.metagraphmixin method)": [[77, "bittensor.core.metagraph.MetagraphMixin.load", false]], "load_from_path() (bittensor.core.metagraph.metagraphmixin method)": [[77, "bittensor.core.metagraph.MetagraphMixin.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.nontorchmetagraph method)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.torchmetagraph method)": [[77, "bittensor.core.metagraph.TorchMetagraph.load_from_path", false]], "local_entrypoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.LOCAL_ENTRYPOINT", false]], "lock_cost (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_min_lock_cost attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST.lock_cost", false]], "locked (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.locked", false]], "log() (bittensor.utils.registration.pow.console static method)": [[136, "bittensor.utils.registration.pow.Console.log", false]], "log_and_handle_error() (in module bittensor.core.axon)": [[1, "bittensor.core.axon.log_and_handle_error", false]], "log_cuda_errors() (in module bittensor.utils.registration.register_cuda)": [[137, "bittensor.utils.registration.register_cuda.log_cuda_errors", false]], "log_exception() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.log_exception", false]], "log_formats (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.LOG_FORMATS", false]], "log_level_color_prefix (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.log_level_color_prefix", false]], "log_no_torch_error() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.log_no_torch_error", false]], "log_trace_formats (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.LOG_TRACE_FORMATS", false]], "log_verbose (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor.subtensor attribute)": [[80, "bittensor.core.subtensor.Subtensor.log_verbose", false]], "log_verbose (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.log_verbose", false]], "log_verbose (bittensor.core.types.subtensormixin attribute)": [[97, "bittensor.core.types.SubtensorMixin.log_verbose", false]], "log_verbose (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.log_verbose", false]], "logger (bittensor.utils.btlogging.console.bittensorconsole attribute)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.logger", false]], "logger (in module bittensor.core.threadpool)": [[95, "bittensor.core.threadpool.logger", false]], "logging (in module bittensor.utils)": [[131, "bittensor.utils.logging", false]], "logging (in module bittensor.utils.btlogging)": [[126, "bittensor.utils.btlogging.logging", false]], "logging_dir (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.logging_dir", false]], "loggingconfig (class in bittensor.utils.btlogging.loggingmachine)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingConfig", false]], "loggingmachine (class in bittensor.utils.btlogging.loggingmachine)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine", false]], "logo_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.logo_url", false]], "logo_url (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.logo_url", false]], "main (bittensor.extras.dev_framework.calls.non_sudo_calls.if_else attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE.main", false]], "max_allowed_uids (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.max_allowed_uids", false]], "max_allowed_validators (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_allowed_validators", false]], "max_allowed_validators (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.max_allowed_validators", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_burn", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_burn", false]], "max_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_burn", false]], "max_burn (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.max_burn", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_difficulty", false]], "max_difficulty (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.max_difficulty", false]], "max_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.max_fee_per_gas", false]], "max_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.max_fee_per_gas", false]], "max_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.max_fee_per_gas", false]], "max_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_n", false]], "max_n (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.max_n", false]], "max_priority_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.max_priority_fee_per_gas", false]], "max_priority_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.max_priority_fee_per_gas", false]], "max_priority_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.max_priority_fee_per_gas", false]], "max_registrations_per_block (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.max_registrations_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_regs_per_block", false]], "max_subnets (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT.max_subnets", false]], "max_tick (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.MAX_TICK", false]], "max_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_uids", false]], "max_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.max_uids", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_validators", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_validators", false]], "max_validators (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_validators", false]], "max_weight (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.max_weight", false]], "max_weight (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.max_weight", false]], "max_weight_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_weight_limit", false]], "max_weight_limit (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_weight_limit", false]], "max_weight_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.max_weight_limit", false]], "max_weight_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.max_weight_limit", false]], "max_weight_limit (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.max_weight_limit", false]], "max_weight_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.max_weight_limit", false]], "max_weight_limit() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.max_weight_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_weights_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_weights_limit", false]], "maxattemptsexception": [[26, "bittensor.core.errors.MaxAttemptsException", false]], "maxburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxBurn", false]], "maxdifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxDifficulty", false]], "maxregsperblock (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxRegsPerBlock", false]], "maxsuccessexception": [[26, "bittensor.core.errors.MaxSuccessException", false]], "maxuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxUids", false]], "maxvalidators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxValidators", false]], "maxweightslimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxWeightsLimit", false]], "maybe_periodic (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.maybe_periodic", false]], "maybe_periodic (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.maybe_periodic", false]], "maybe_periodic (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.maybe_periodic", false]], "maybe_periodic (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.maybe_periodic", false]], "maybe_split (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.maybe_split", false]], "maybe_timepoint (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.maybe_timepoint", false]], "maybe_timepoint (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.maybe_timepoint", false]], "mechanism_count (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.mechanism_count", false]], "mechanism_count (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.mechanism_count", false]], "mechanisms_emissions_split (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.mechanisms_emissions_split", false]], "mechid (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.mechid", false]], "mechid (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.mechid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.mecid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.mecid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.mecid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.mecid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.mecid", false]], "members (bittensor.extras.dev_framework.calls.non_sudo_calls.reset_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS.members", false], [99, "id22", false]], "merge() (bittensor.core.config.config method)": [[24, "bittensor.core.config.Config.merge", false]], "message (bittensor.core.errors.synapsedendritenoneexception attribute)": [[26, "bittensor.core.errors.SynapseDendriteNoneException.message", false]], "message (bittensor.core.errors.synapseexception attribute)": [[26, "bittensor.core.errors.SynapseException.message", false]], "message (bittensor.utils.unlockstatus attribute)": [[131, "bittensor.utils.UnlockStatus.message", false]], "metadata (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.metadata", false]], "metadata() (bittensor.core.metagraph.metagraphmixin method)": [[77, "bittensor.core.metagraph.MetagraphMixin.metadata", false]], "metadata_storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.metadata_storage_function", false]], "metadataerror": [[26, "bittensor.core.errors.MetadataError", false]], "metagraph (bittensor.core.subtensor_api.metagraphs.metagraphs attribute)": [[86, "bittensor.core.subtensor_api.metagraphs.Metagraphs.metagraph", false]], "metagraph (bittensor.extras.subtensor_api.metagraphs.metagraphs attribute)": [[111, "bittensor.extras.subtensor_api.metagraphs.Metagraphs.metagraph", false]], "metagraph (class in bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.Metagraph", false]], "metagraph (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.metagraph", false]], "metagraph() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.metagraph", false]], "metagraph() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.metagraph", false]], "metagraph_state_dict_ndarray_keys (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.METAGRAPH_STATE_DICT_NDARRAY_KEYS", false]], "metagraphinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.MetagraphInfo", false]], "metagraphinfo (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo", false]], "metagraphinfoemissions (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions", false]], "metagraphinfoparams (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams", false]], "metagraphinfopool (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool", false]], "metagraphmixin (class in bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.MetagraphMixin", false]], "metagraphs (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.metagraphs", false]], "metagraphs (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.metagraphs", false]], "metagraphs (class in bittensor.core.subtensor_api.metagraphs)": [[86, "bittensor.core.subtensor_api.metagraphs.Metagraphs", false]], "metagraphs (class in bittensor.extras.subtensor_api.metagraphs)": [[111, "bittensor.extras.subtensor_api.metagraphs.Metagraphs", false]], "middleware_cls (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.middleware_cls", false]], "millify() (in module bittensor.utils.formatting)": [[130, "bittensor.utils.formatting.millify", false]], "min_allowed_uids (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.min_allowed_uids", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.min_allowed_weights", false]], "min_allowed_weights (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.min_allowed_weights", false]], "min_allowed_weights (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.min_allowed_weights", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_burn", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_burn", false]], "min_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_burn", false]], "min_burn (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.min_burn", false]], "min_contribution (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.min_contribution", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_difficulty", false]], "min_difficulty (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.min_difficulty", false]], "min_stake (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_nominator_min_required_stake attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE.min_stake", false]], "min_stake (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_stake_threshold attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD.min_stake", false]], "min_tick (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.MIN_TICK", false]], "minallowedweights (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinAllowedWeights", false]], "minburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinBurn", false]], "mindifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinDifficulty", false]], "miners_dir (in module bittensor.core.settings)": [[78, "bittensor.core.settings.MINERS_DIR", false]], "mock_subpackage (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.mock_subpackage", false]], "modality (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.modality", false]], "model_config (bittensor.core.stream.streamingsynapse attribute)": [[79, "bittensor.core.stream.StreamingSynapse.model_config", false]], "model_config (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.model_config", false]], "model_config (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.model_config", false]], "model_config (bittensor.core.tensor.tensor attribute)": [[94, "bittensor.core.tensor.Tensor.model_config", false]], "modify_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.modify_liquidity", false]], "modify_liquidity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.modify_liquidity", false]], "modify_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.modify_liquidity", false]], "modify_liquidity() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.modify_liquidity", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[30, "bittensor.core.extrinsics.asyncex.liquidity.modify_liquidity_extrinsic", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[48, "bittensor.core.extrinsics.liquidity.modify_liquidity_extrinsic", false]], "modify_position (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION", false]], "modify_position() (bittensor.core.extrinsics.params.liquidity.liquidityparams class method)": [[53, "bittensor.core.extrinsics.params.liquidity.LiquidityParams.modify_position", false]], "module": [[0, "module-bittensor.core.async_subtensor", false], [1, "module-bittensor.core.axon", false], [2, "module-bittensor.core.chain_data.axon_info", false], [3, "module-bittensor.core.chain_data.chain_identity", false], [4, "module-bittensor.core.chain_data.delegate_info", false], [5, "module-bittensor.core.chain_data.delegate_info_lite", false], [6, "module-bittensor.core.chain_data.dynamic_info", false], [7, "module-bittensor.core.chain_data", false], [8, "module-bittensor.core.chain_data.info_base", false], [9, "module-bittensor.core.chain_data.ip_info", false], [10, "module-bittensor.core.chain_data.metagraph_info", false], [11, "module-bittensor.core.chain_data.neuron_info", false], [12, "module-bittensor.core.chain_data.neuron_info_lite", false], [13, "module-bittensor.core.chain_data.prometheus_info", false], [14, "module-bittensor.core.chain_data.proposal_vote_data", false], [15, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false], [16, "module-bittensor.core.chain_data.sim_swap", false], [17, "module-bittensor.core.chain_data.stake_info", false], [18, "module-bittensor.core.chain_data.subnet_hyperparameters", false], [19, "module-bittensor.core.chain_data.subnet_identity", false], [20, "module-bittensor.core.chain_data.subnet_info", false], [21, "module-bittensor.core.chain_data.subnet_state", false], [22, "module-bittensor.core.chain_data.utils", false], [23, "module-bittensor.core.chain_data.weight_commit_info", false], [24, "module-bittensor.core.config", false], [25, "module-bittensor.core.dendrite", false], [26, "module-bittensor.core.errors", false], [27, "module-bittensor.core.extrinsics.asyncex.children", false], [28, "module-bittensor.core.extrinsics.asyncex.commit_reveal", false], [29, "module-bittensor.core.extrinsics.asyncex", false], [30, "module-bittensor.core.extrinsics.asyncex.liquidity", false], [31, "module-bittensor.core.extrinsics.asyncex.mechanism", false], [32, "module-bittensor.core.extrinsics.asyncex.move_stake", false], [33, "module-bittensor.core.extrinsics.asyncex.registration", false], [34, "module-bittensor.core.extrinsics.asyncex.root", false], [35, "module-bittensor.core.extrinsics.asyncex.serving", false], [36, "module-bittensor.core.extrinsics.asyncex.staking", false], [37, "module-bittensor.core.extrinsics.asyncex.start_call", false], [38, "module-bittensor.core.extrinsics.asyncex.sudo", false], [39, "module-bittensor.core.extrinsics.asyncex.take", false], [40, "module-bittensor.core.extrinsics.asyncex.transfer", false], [41, "module-bittensor.core.extrinsics.asyncex.unstaking", false], [42, "module-bittensor.core.extrinsics.asyncex.utils", false], [43, "module-bittensor.core.extrinsics.asyncex.weights", false], [44, "module-bittensor.core.extrinsics.children", false], [45, "module-bittensor.core.extrinsics.commit_reveal", false], [46, "module-bittensor.core.extrinsics.commit_weights", false], [47, "module-bittensor.core.extrinsics", false], [48, "module-bittensor.core.extrinsics.liquidity", false], [49, "module-bittensor.core.extrinsics.mechanism", false], [50, "module-bittensor.core.extrinsics.move_stake", false], [51, "module-bittensor.core.extrinsics.params.children", false], [52, "module-bittensor.core.extrinsics.params", false], [53, "module-bittensor.core.extrinsics.params.liquidity", false], [54, "module-bittensor.core.extrinsics.params.move_stake", false], [55, "module-bittensor.core.extrinsics.params.registration", false], [56, "module-bittensor.core.extrinsics.params.root", false], [57, "module-bittensor.core.extrinsics.params.serving", false], [58, "module-bittensor.core.extrinsics.params.staking", false], [59, "module-bittensor.core.extrinsics.params.start_call", false], [60, "module-bittensor.core.extrinsics.params.take", false], [61, "module-bittensor.core.extrinsics.params.transfer", false], [62, "module-bittensor.core.extrinsics.params.unstaking", false], [63, "module-bittensor.core.extrinsics.params.weights", false], [64, "module-bittensor.core.extrinsics.registration", false], [65, "module-bittensor.core.extrinsics.root", false], [66, "module-bittensor.core.extrinsics.serving", false], [67, "module-bittensor.core.extrinsics.set_weights", false], [68, "module-bittensor.core.extrinsics.staking", false], [69, "module-bittensor.core.extrinsics.start_call", false], [70, "module-bittensor.core.extrinsics.sudo", false], [71, "module-bittensor.core.extrinsics.take", false], [72, "module-bittensor.core.extrinsics.transfer", false], [73, "module-bittensor.core.extrinsics.unstaking", false], [74, "module-bittensor.core.extrinsics.utils", false], [75, "module-bittensor.core.extrinsics.weights", false], [76, "module-bittensor.core", false], [77, "module-bittensor.core.metagraph", false], [78, "module-bittensor.core.settings", false], [79, "module-bittensor.core.stream", false], [80, "module-bittensor.core.subtensor", false], [81, "module-bittensor.core.subtensor_api.chain", false], [82, "module-bittensor.core.subtensor_api.commitments", false], [83, "module-bittensor.core.subtensor_api.delegates", false], [84, "module-bittensor.core.subtensor_api.extrinsics", false], [85, "module-bittensor.core.subtensor_api", false], [86, "module-bittensor.core.subtensor_api.metagraphs", false], [87, "module-bittensor.core.subtensor_api.neurons", false], [88, "module-bittensor.core.subtensor_api.queries", false], [89, "module-bittensor.core.subtensor_api.staking", false], [90, "module-bittensor.core.subtensor_api.subnets", false], [91, "module-bittensor.core.subtensor_api.utils", false], [92, "module-bittensor.core.subtensor_api.wallets", false], [93, "module-bittensor.core.synapse", false], [94, "module-bittensor.core.tensor", false], [95, "module-bittensor.core.threadpool", false], [96, "module-bittensor.core.timelock", false], [97, "module-bittensor.core.types", false], [98, "module-bittensor.extras.dev_framework.calls", false], [99, "module-bittensor.extras.dev_framework.calls.non_sudo_calls", false], [100, "module-bittensor.extras.dev_framework.calls.pallets", false], [101, "module-bittensor.extras.dev_framework.calls.sudo_calls", false], [102, "module-bittensor.extras.dev_framework", false], [103, "module-bittensor.extras.dev_framework.subnet", false], [104, "module-bittensor.extras.dev_framework.utils", false], [105, "module-bittensor.extras", false], [106, "module-bittensor.extras.subtensor_api.chain", false], [107, "module-bittensor.extras.subtensor_api.commitments", false], [108, "module-bittensor.extras.subtensor_api.delegates", false], [109, "module-bittensor.extras.subtensor_api.extrinsics", false], [110, "module-bittensor.extras.subtensor_api", false], [111, "module-bittensor.extras.subtensor_api.metagraphs", false], [112, "module-bittensor.extras.subtensor_api.neurons", false], [113, "module-bittensor.extras.subtensor_api.queries", false], [114, "module-bittensor.extras.subtensor_api.staking", false], [115, "module-bittensor.extras.subtensor_api.subnets", false], [116, "module-bittensor.extras.subtensor_api.utils", false], [117, "module-bittensor.extras.subtensor_api.wallets", false], [118, "module-bittensor.extras.timelock", false], [119, "module-bittensor", false], [120, "module-bittensor.utils.axon_utils", false], [121, "module-bittensor.utils.balance", false], [122, "module-bittensor.utils.btlogging.console", false], [123, "module-bittensor.utils.btlogging.defines", false], [124, "module-bittensor.utils.btlogging.format", false], [125, "module-bittensor.utils.btlogging.helpers", false], [126, "module-bittensor.utils.btlogging", false], [127, "module-bittensor.utils.btlogging.levels", false], [128, "module-bittensor.utils.btlogging.loggingmachine", false], [129, "module-bittensor.utils.easy_imports", false], [130, "module-bittensor.utils.formatting", false], [131, "module-bittensor.utils", false], [132, "module-bittensor.utils.liquidity", false], [133, "module-bittensor.utils.networking", false], [134, "module-bittensor.utils.registration.async_pow", false], [135, "module-bittensor.utils.registration", false], [136, "module-bittensor.utils.registration.pow", false], [137, "module-bittensor.utils.registration.register_cuda", false], [138, "module-bittensor.utils.subnets", false], [139, "module-bittensor.utils.substrate_utils.hasher", false], [140, "module-bittensor.utils.substrate_utils", false], [141, "module-bittensor.utils.substrate_utils.storage", false], [142, "module-bittensor.utils.version", false], [143, "module-bittensor.utils.weight_utils", false]], "move_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.move_stake", false]], "move_stake (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.move_stake", false]], "move_stake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.move_stake", false]], "move_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.move_stake", false]], "move_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE", false]], "move_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.move_stake", false]], "move_stake() (bittensor.core.extrinsics.params.move_stake.movestakeparams class method)": [[54, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams.move_stake", false]], "move_stake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.move_stake", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[32, "bittensor.core.extrinsics.asyncex.move_stake.move_stake_extrinsic", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[50, "bittensor.core.extrinsics.move_stake.move_stake_extrinsic", false]], "movestakeparams (class in bittensor.core.extrinsics.params.move_stake)": [[54, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams", false]], "moving_price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.moving_price", false]], "movingprice (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MovingPrice", false]], "multisig (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Multisig", false]], "n (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.n", false]], "n (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.n", false]], "n (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.n", false]], "name (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.name", false]], "name (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.name", false]], "name (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Name", false]], "name (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.name", false]], "name (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.name", false]], "name (bittensor.core.types.paramwithtypes attribute)": [[97, "bittensor.core.types.ParamWithTypes.name", false]], "name (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.name", false]], "nanoseconds_in_second (in module bittensor.utils.axon_utils)": [[120, "bittensor.utils.axon_utils.NANOSECONDS_IN_SECOND", false]], "nays (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.nays", false]], "netuid (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.netuid", false]], "netuid (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Netuid", false]], "netuid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.netuid", false]], "netuid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.netuid", false]], "netuid (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.netuid", false]], "netuid (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.netuid", false]], "netuid (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.netuid", false]], "netuid (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.netuid", false]], "netuid (bittensor.core.types.prometheusservecallparams attribute)": [[97, "bittensor.core.types.PrometheusServeCallParams.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.burned_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.root_dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_coldkey_auto_stake_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_commitment attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_fee_rate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.start_call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.toggle_user_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.update_symbol attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.netuid", false]], "netuid (bittensor.extras.dev_framework.subnet.testsubnet property)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.netuid", false]], "netuid (bittensor.extras.dev_framework.utils.activatesubnet attribute)": [[104, "bittensor.extras.dev_framework.utils.ActivateSubnet.netuid", false]], "netuid (bittensor.extras.dev_framework.utils.registerneuron attribute)": [[104, "bittensor.extras.dev_framework.utils.RegisterNeuron.netuid", false]], "netuid (bittensor.utils.balance.balance attribute)": [[121, "bittensor.utils.balance.Balance.netuid", false]], "netuid (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.netuid", false]], "netuid (in module bittensor.extras.dev_framework.subnet)": [[103, "bittensor.extras.dev_framework.subnet.NETUID", false]], "netuids (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS.netuids", false]], "netuids (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.netuids", false]], "network (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.network", false]], "network (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.network", false]], "network (bittensor.core.types.subtensormixin attribute)": [[97, "bittensor.core.types.SubtensorMixin.network", false]], "network (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.network", false]], "network_explorer_map (in module bittensor.core.settings)": [[78, "bittensor.core.settings.NETWORK_EXPLORER_MAP", false]], "network_map (in module bittensor.core.settings)": [[78, "bittensor.core.settings.NETWORK_MAP", false]], "network_registered_at (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.network_registered_at", false]], "network_registered_at (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.network_registered_at", false]], "network_registered_at (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.network_registered_at", false]], "networkregisteredat (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NetworkRegisteredAt", false]], "networks (in module bittensor.core.settings)": [[78, "bittensor.core.settings.NETWORKS", false]], "neuron_for_uid (bittensor.core.subtensor_api.neurons.neurons attribute)": [[87, "bittensor.core.subtensor_api.neurons.Neurons.neuron_for_uid", false]], "neuron_for_uid (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.neuron_for_uid", false]], "neuroninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfo", false]], "neuroninfo (class in bittensor.core.chain_data.neuron_info)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo", false]], "neuroninfolite (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfoLite", false]], "neuroninfolite (class in bittensor.core.chain_data.neuron_info_lite)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite", false]], "neurons (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.neurons", false]], "neurons (bittensor.core.subtensor_api.neurons.neurons attribute)": [[87, "bittensor.core.subtensor_api.neurons.Neurons.neurons", false]], "neurons (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.neurons", false]], "neurons (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons.neurons", false]], "neurons (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.neurons", false]], "neurons (class in bittensor.core.subtensor_api.neurons)": [[87, "bittensor.core.subtensor_api.neurons.Neurons", false]], "neurons (class in bittensor.extras.subtensor_api.neurons)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons", false]], "neurons() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons", false]], "neurons() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.neurons", false]], "neurons_lite (bittensor.core.subtensor_api.neurons.neurons attribute)": [[87, "bittensor.core.subtensor_api.neurons.Neurons.neurons_lite", false]], "neurons_lite (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons.neurons_lite", false]], "neurons_lite() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.neurons_lite", false]], "neurons_lite() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.neurons_lite", false]], "new (bittensor.extras.dev_framework.calls.non_sudo_calls.change_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY.new", false], [99, "id5", false]], "new (bittensor.extras.dev_framework.calls.non_sudo_calls.set_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY.new", false]], "new (bittensor.extras.dev_framework.calls.non_sudo_calls.set_whitelist attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST.new", false]], "new_authorities (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_authorities attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES.new_authorities", false]], "new_cap (bittensor.extras.dev_framework.calls.non_sudo_calls.update_cap attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP.new_cap", false]], "new_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.new_coldkey", false]], "new_coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY.new_coldkey", false]], "new_coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.new_coldkey", false]], "new_end (bittensor.extras.dev_framework.calls.non_sudo_calls.update_end attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END.new_end", false]], "new_free (bittensor.extras.dev_framework.calls.non_sudo_calls.force_set_balance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE.new_free", false]], "new_hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.new_hotkey", false]], "new_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.set_max_space attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE.new_limit", false]], "new_members (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.new_members", false]], "new_min_contribution (bittensor.extras.dev_framework.calls.non_sudo_calls.update_min_contribution attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION.new_min_contribution", false]], "next_authorities (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.next_authorities", false]], "nominationerror": [[26, "bittensor.core.errors.NominationError", false]], "nominators (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.nominators", false]], "nominators (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.nominators", false]], "nonassociatedcoldkey": [[26, "bittensor.core.errors.NonAssociatedColdKey", false]], "nonce (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.nonce", false]], "nonce (bittensor.utils.registration.pow.powsolution attribute)": [[136, "bittensor.utils.registration.pow.POWSolution.nonce", false]], "nonces (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.nonces", false]], "nontorchmetagraph (class in bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.NonTorchMetagraph", false]], "normalize_max_weight() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.normalize_max_weight", false]], "notdelegateerror": [[26, "bittensor.core.errors.NotDelegateError", false]], "note_preimage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE", false]], "note_stalled (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED", false]], "notenoughstaketosetchildkeys": [[26, "bittensor.core.errors.NotEnoughStakeToSetChildkeys", false]], "notregisterederror": [[26, "bittensor.core.errors.NotRegisteredError", false]], "notverifiedexception": [[26, "bittensor.core.errors.NotVerifiedException", false]], "now (bittensor.extras.dev_framework.calls.non_sudo_calls.set attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET.now", false]], "null_entry (in module bittensor.core.threadpool)": [[95, "bittensor.core.threadpool.NULL_ENTRY", false]], "num_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.num_uids", false]], "num_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.num_uids", false]], "numpy() (bittensor.core.tensor.tensor method)": [[94, "bittensor.core.tensor.Tensor.numpy", false]], "numpyortorch (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.NumpyOrTorch", false]], "numuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NumUids", false]], "off() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.off", false]], "old_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.old_coldkey", false]], "old_coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.old_coldkey", false]], "old_count (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.old_count", false]], "oldest_round (bittensor.extras.dev_framework.calls.non_sudo_calls.set_oldest_stored_round attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND.oldest_round", false]], "on() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.on", false]], "operation (bittensor.extras.dev_framework.subnet.call_record attribute)": [[103, "bittensor.extras.dev_framework.subnet.CALL_RECORD.operation", false]], "origin_hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.origin_hotkey", false]], "origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.origin_netuid", false]], "origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.origin_netuid", false]], "origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.origin_netuid", false]], "origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.origin_netuid", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.other_signatories", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.other_signatories", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi_threshold_1 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1.other_signatories", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.other_signatories", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.other_signatories", false]], "owner (bittensor.extras.dev_framework.subnet.testsubnet property)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.owner", false]], "owner_coldkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.owner_coldkey", false]], "owner_hotkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.owner_hotkey", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.owner_ss58", false]], "ownercoldkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerColdkey", false]], "ownerhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerHotkey", false]], "pages (bittensor.extras.dev_framework.calls.non_sudo_calls.set_heap_pages attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES.pages", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER.pallet", false], [99, "id1", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.adjust_senate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.announce attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.apply_authorized_upgrade attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_derivative attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi_threshold_1 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade_without_checks attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burn attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burned_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.change_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY.pallet", false], [99, "id6", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_prime attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME.pallet", false], [99, "id9", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.contribute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.pallet", false], [99, "id12", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.decrease_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.disable_whitelist attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.disapprove_proposal attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as_fallible attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.ensure_updated attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.enter attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.execute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.extend attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.finalize attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_adjust_total_issuance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_batch attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_enter attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_exit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_extend attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_set_balance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_slash_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_unreserve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.if_else attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.increase_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_prefix attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_storage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.note_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.note_stalled attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.pallet", false], [99, "id15", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.refund attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_leased_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network_with_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reject_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remark attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remark_with_event attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER.pallet", false], [99, "id18", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxies attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation_unsigned attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.request_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reset_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS.pallet", false], [99, "id23", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.root_dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.root_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_base_fee_per_gas attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_beacon_config attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code_without_checks attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_coldkey_auto_stake_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_commitment attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_elasticity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_fee_rate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_heap_pages attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.pallet", false], [99, "id26", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_max_space attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_oldest_stored_round attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_pending_childkey_cooldown attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_prime attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME.pallet", false], [99, "id29", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_storage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_whitelist attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.start_call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.sudo attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO.pallet", false], [99, "id34", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_authorities attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER.pallet", false], [99, "id38", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.terminate_lease attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.toggle_user_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transact attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_allow_death attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_keep_alive attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.try_associate_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unnote_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unrequest_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_cap attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_end attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_min_contribution attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_symbol attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.upgrade_accounts attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.pallet", false], [99, "id44", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.with_weight attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.pallet", false], [99, "id48", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.write_pulse attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_admin_freeze_window attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ck_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_coldkey_swap_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_version attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_default_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_dissolve_network_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_evm_chain_id attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_lock_reduction_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_delegate_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_min_lock_cost attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_nominator_min_required_stake attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_hparam_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_stake_threshold attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_moving_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_cut attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_total_issuance attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_childkey_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_delegate_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.pallet", false], [101, "id2", false]], "pallet (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.pallet", false]], "params (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.params", false]], "params_encoded (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.params_encoded", false]], "paramwithtypes (class in bittensor.core.types)": [[97, "bittensor.core.types.ParamWithTypes", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse class method)": [[93, "id4", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.parse_headers_to_inputs", false]], "pending_alpha_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_alpha_emission", false]], "pending_root_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_root_emission", false]], "pendingalphaemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingAlphaEmission", false]], "pendingrootemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingRootEmission", false]], "period (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.period", false]], "period (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.period", false]], "period (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.period", false]], "pipaddress (in module bittensor.core.settings)": [[78, "bittensor.core.settings.PIPADDRESS", false]], "placeholder1 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder1", false]], "placeholder1 (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.placeholder1", false]], "placeholder1 (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.placeholder1", false]], "placeholder1 (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.placeholder1", false]], "placeholder2 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder2", false]], "placeholder2 (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.placeholder2", false]], "placeholder2 (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.placeholder2", false]], "placeholder2 (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.placeholder2", false]], "poke_deposit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT", false], [99, "id14", false]], "pool (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.pool", false]], "port (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.port", false]], "port (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.port", false]], "port (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.port", false]], "port (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.port", false]], "port (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.port", false]], "port (bittensor.core.types.prometheusservecallparams attribute)": [[97, "bittensor.core.types.PrometheusServeCallParams.port", false]], "port (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.port", false]], "port (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.port", false]], "port (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.port", false]], "position_id (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.position_id", false]], "position_id (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.position_id", false]], "postprocessexception": [[26, "bittensor.core.errors.PostProcessException", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pow_registration_allowed", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.pow_registration_allowed", false]], "powregistrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PowRegistrationAllowed", false]], "powsolution (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.POWSolution", false]], "precompile_id (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.precompile_id", false]], "prefix (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_prefix attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX.prefix", false]], "preimage (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Preimage", false]], "prepare_synapse() (bittensor.utils.subnets.subnetsapi method)": [[138, "bittensor.utils.subnets.SubnetsAPI.prepare_synapse", false]], "preprocess() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.preprocess", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.preprocess_synapse_for_request", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.preprocess_synapse_for_request", false], [25, "id8", false]], "price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.price", false]], "price_high (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.price_high", false]], "price_low (bittensor.utils.liquidity.liquidityposition attribute)": [[132, "bittensor.utils.liquidity.LiquidityPosition.price_low", false]], "price_step (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.PRICE_STEP", false]], "price_to_tick() (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.price_to_tick", false]], "prime (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.prime", false]], "priority (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.priority", false]], "priority (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.priority", false]], "priority (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.priority", false]], "priority (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.priority", false]], "priority() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.priority", false]], "priority_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.priority_fns", false]], "priorityexception": [[26, "bittensor.core.errors.PriorityException", false]], "prioritythreadpoolexecutor (class in bittensor.core.threadpool)": [[95, "bittensor.core.threadpool.PriorityThreadPoolExecutor", false]], "process_error_message() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.process_error_message", false]], "process_nested() (in module bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.process_nested", false]], "process_responses() (bittensor.utils.subnets.subnetsapi method)": [[138, "bittensor.utils.subnets.SubnetsAPI.process_responses", false]], "process_server_response() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.process_server_response", false]], "process_server_response() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.process_server_response", false], [25, "id9", false]], "process_stake_data() (in module bittensor.core.chain_data.utils)": [[22, "bittensor.core.chain_data.utils.process_stake_data", false]], "process_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[79, "bittensor.core.stream.StreamingSynapse.process_streaming_response", false]], "process_time (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.process_time", false]], "process_weights() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.process_weights", false]], "process_weights_for_netuid() (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.process_weights_for_netuid", false]], "prometheus_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.prometheus_info", false]], "prometheus_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.prometheus_info", false]], "prometheusinfo (class in bittensor.core.chain_data.prometheus_info)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo", false]], "prometheusservecallparams (class in bittensor.core.types)": [[97, "bittensor.core.types.PrometheusServeCallParams", false]], "proportionoverflow": [[26, "bittensor.core.errors.ProportionOverflow", false]], "proposal (bittensor.extras.dev_framework.calls.non_sudo_calls.execute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE.proposal", false]], "proposal (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.proposal", false]], "proposal (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.proposal", false], [99, "id45", false]], "proposal_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.proposal_hash", false]], "proposal_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.disapprove_proposal attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL.proposal_hash", false]], "proposal_weight_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.proposal_weight_bound", false]], "proposalvotedata (class in bittensor.core.chain_data.proposal_vote_data)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData", false]], "propose (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE", false]], "protocol (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.protocol", false]], "protocol (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.protocol", false]], "protocol (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.protocol", false]], "protocol (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.protocol", false]], "protocol (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.protocol", false]], "proxy (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY", false]], "proxy (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Proxy", false]], "proxy_announced (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED", false]], "proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.proxy_type", false]], "proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.proxy_type", false]], "proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.proxy_type", false]], "proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.proxy_type", false]], "pruning_score (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.pruning_score", false]], "pruning_score (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.pruning_score", false]], "pruning_score (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.pruning_score", false]], "pruningscore (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PruningScore", false]], "publish_metadata() (in module bittensor.core.extrinsics.asyncex.serving)": [[35, "bittensor.core.extrinsics.asyncex.serving.publish_metadata", false]], "publish_metadata() (in module bittensor.core.extrinsics.serving)": [[66, "bittensor.core.extrinsics.serving.publish_metadata", false]], "pulses_payload (bittensor.extras.dev_framework.calls.non_sudo_calls.write_pulse attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE.pulses_payload", false]], "queries (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.queries", false]], "queries (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.queries", false]], "queries (class in bittensor.core.subtensor_api.queries)": [[88, "bittensor.core.subtensor_api.queries.Queries", false]], "queries (class in bittensor.extras.subtensor_api.queries)": [[113, "bittensor.extras.subtensor_api.queries.Queries", false]], "query() (bittensor.core.dendrite.dendrite method)": [[25, "bittensor.core.dendrite.Dendrite.query", false]], "query() (bittensor.core.dendrite.dendritemixin method)": [[25, "bittensor.core.dendrite.DendriteMixin.query", false], [25, "id11", false]], "query_api() (bittensor.utils.subnets.subnetsapi method)": [[138, "bittensor.utils.subnets.SubnetsAPI.query_api", false]], "query_constant (bittensor.core.subtensor_api.queries.queries attribute)": [[88, "bittensor.core.subtensor_api.queries.Queries.query_constant", false]], "query_constant (bittensor.extras.subtensor_api.queries.queries attribute)": [[113, "bittensor.extras.subtensor_api.queries.Queries.query_constant", false]], "query_constant() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_constant", false]], "query_constant() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_constant", false]], "query_identity (bittensor.core.subtensor_api.neurons.neurons attribute)": [[87, "bittensor.core.subtensor_api.neurons.Neurons.query_identity", false]], "query_identity (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[112, "bittensor.extras.subtensor_api.neurons.Neurons.query_identity", false]], "query_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_identity", false]], "query_identity() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_identity", false]], "query_map (bittensor.core.subtensor_api.queries.queries attribute)": [[88, "bittensor.core.subtensor_api.queries.Queries.query_map", false]], "query_map (bittensor.extras.subtensor_api.queries.queries attribute)": [[113, "bittensor.extras.subtensor_api.queries.Queries.query_map", false]], "query_map() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map", false]], "query_map() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_map", false]], "query_map_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[88, "bittensor.core.subtensor_api.queries.Queries.query_map_subtensor", false]], "query_map_subtensor (bittensor.extras.subtensor_api.queries.queries attribute)": [[113, "bittensor.extras.subtensor_api.queries.Queries.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_map_subtensor", false]], "query_module (bittensor.core.subtensor_api.queries.queries attribute)": [[88, "bittensor.core.subtensor_api.queries.Queries.query_module", false]], "query_module (bittensor.extras.subtensor_api.queries.queries attribute)": [[113, "bittensor.extras.subtensor_api.queries.Queries.query_module", false]], "query_module() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_module", false]], "query_module() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_module", false]], "query_runtime_api (bittensor.core.subtensor_api.queries.queries attribute)": [[88, "bittensor.core.subtensor_api.queries.Queries.query_runtime_api", false]], "query_runtime_api (bittensor.extras.subtensor_api.queries.queries attribute)": [[113, "bittensor.extras.subtensor_api.queries.Queries.query_runtime_api", false]], "query_runtime_api() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_runtime_api", false]], "query_runtime_api() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_runtime_api", false]], "query_subtensor (bittensor.core.subtensor_api.queries.queries attribute)": [[88, "bittensor.core.subtensor_api.queries.Queries.query_subtensor", false]], "query_subtensor (bittensor.extras.subtensor_api.queries.queries attribute)": [[113, "bittensor.extras.subtensor_api.queries.Queries.query_subtensor", false]], "query_subtensor() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.query_subtensor", false]], "query_subtensor() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.query_subtensor", false]], "r (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.R", false]], "raise_error (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.raise_error", false]], "rank (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rank", false]], "rank (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rank", false]], "rank (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.rank", false]], "rank (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.rank", false]], "rank (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.rank", false]], "ranks (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.ranks", false]], "ranks (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.ranks", false]], "ranks (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.ranks", false]], "rao (bittensor.utils.balance.balance attribute)": [[121, "bittensor.utils.balance.Balance.rao", false]], "rao() (in module bittensor.utils.balance)": [[121, "bittensor.utils.balance.rao", false]], "rao_recycled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.rao_recycled", false]], "rao_symbol (in module bittensor.core.settings)": [[78, "bittensor.core.settings.RAO_SYMBOL", false]], "rao_unit (bittensor.utils.balance.balance attribute)": [[121, "bittensor.utils.balance.Balance.rao_unit", false]], "raopertao (in module bittensor.utils)": [[131, "bittensor.utils.RAOPERTAO", false]], "rate (bittensor.extras.dev_framework.calls.non_sudo_calls.set_fee_rate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE.rate", false]], "rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT.rate_limit", false]], "read_only (in module bittensor.core.settings)": [[78, "bittensor.core.settings.READ_ONLY", false]], "real (bittensor.extras.dev_framework.calls.non_sudo_calls.announce attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE.real", false]], "real (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.real", false]], "real (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.real", false]], "real (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT.real", false]], "record_log (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.record_log", false]], "recreate_calls_subpackage() (in module bittensor.extras.dev_framework.calls)": [[98, "bittensor.extras.dev_framework.calls.recreate_calls_subpackage", false]], "recycle (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.recycle", false]], "recycle (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.recycle", false]], "recycle() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.recycle", false]], "recycle() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.recycle", false]], "recycle_alpha (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA", false]], "recycle_or_burn (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.recycle_or_burn", false]], "refund (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND", false]], "register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register", false]], "register (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.register", false]], "register (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.register", false]], "register (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER", false]], "register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register", false]], "register() (bittensor.core.extrinsics.params.registration.registrationparams class method)": [[55, "bittensor.core.extrinsics.params.registration.RegistrationParams.register", false]], "register() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.register", false]], "register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[33, "bittensor.core.extrinsics.asyncex.registration.register_extrinsic", false]], "register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[64, "bittensor.core.extrinsics.registration.register_extrinsic", false]], "register_leased_network (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK", false]], "register_network (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK", false]], "register_network() (bittensor.core.extrinsics.params.registration.registrationparams class method)": [[55, "bittensor.core.extrinsics.params.registration.RegistrationParams.register_network", false]], "register_network_with_identity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY", false]], "register_neuron (in module bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.REGISTER_NEURON", false]], "register_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.register_primary_logger", false]], "register_subnet (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.register_subnet", false]], "register_subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.register_subnet", false]], "register_subnet (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.register_subnet", false]], "register_subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.register_subnet", false]], "register_subnet (in module bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.REGISTER_SUBNET", false]], "register_subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.register_subnet", false]], "register_subnet() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.register_subnet", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[33, "bittensor.core.extrinsics.asyncex.registration.register_subnet_extrinsic", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.registration)": [[64, "bittensor.core.extrinsics.registration.register_subnet_extrinsic", false]], "registerneuron (class in bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.RegisterNeuron", false]], "registersubnet (class in bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.RegisterSubnet", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.registration_allowed", false]], "registration_allowed (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.registration_allowed", false]], "registration_allowed (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.registration_allowed", false]], "registrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.RegistrationAllowed", false]], "registrationerror": [[26, "bittensor.core.errors.RegistrationError", false]], "registrationnotpermittedonrootsubnet": [[26, "bittensor.core.errors.RegistrationNotPermittedOnRootSubnet", false]], "registrationparams (class in bittensor.core.extrinsics.params.registration)": [[55, "bittensor.core.extrinsics.params.registration.RegistrationParams", false]], "registrations (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.registrations", false]], "registrations (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.registrations", false]], "registrationstatistics (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics", false]], "registrationstatisticslogger (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger", false]], "registry (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Registry", false]], "reject_announcement (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT", false]], "release_deposit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT", false]], "remark (bittensor.extras.dev_framework.calls.non_sudo_calls.remark attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK.remark", false]], "remark (bittensor.extras.dev_framework.calls.non_sudo_calls.remark_with_event attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT.remark", false]], "remark (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK", false]], "remark_with_event (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT", false]], "remove (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER.remove", false], [99, "id39", false]], "remove_announcement (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT", false]], "remove_key (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY", false]], "remove_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.remove_liquidity", false]], "remove_liquidity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.remove_liquidity", false]], "remove_liquidity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY", false]], "remove_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.remove_liquidity", false]], "remove_liquidity() (bittensor.core.extrinsics.params.liquidity.liquidityparams class method)": [[53, "bittensor.core.extrinsics.params.liquidity.LiquidityParams.remove_liquidity", false]], "remove_liquidity() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.remove_liquidity", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[30, "bittensor.core.extrinsics.asyncex.liquidity.remove_liquidity_extrinsic", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[48, "bittensor.core.extrinsics.liquidity.remove_liquidity_extrinsic", false]], "remove_member (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER", false], [99, "id17", false]], "remove_proxies (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES", false]], "remove_proxy (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY", false]], "remove_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE", false]], "remove_stake() (bittensor.core.extrinsics.params.unstaking.unstakingparams class method)": [[62, "bittensor.core.extrinsics.params.unstaking.UnstakingParams.remove_stake", false]], "remove_stake_full_limit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT", false]], "remove_stake_full_limit() (bittensor.core.extrinsics.params.unstaking.unstakingparams class method)": [[62, "bittensor.core.extrinsics.params.unstaking.UnstakingParams.remove_stake_full_limit", false]], "remove_stake_limit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT", false]], "remove_stake_limit() (bittensor.core.extrinsics.params.unstaking.unstakingparams class method)": [[62, "bittensor.core.extrinsics.params.unstaking.UnstakingParams.remove_stake_limit", false]], "report_equivocation (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION", false]], "report_equivocation_unsigned (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED", false]], "request_preimage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE", false]], "required_hash_fields (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.required_hash_fields", false]], "reset_cuda() (in module bittensor.utils.registration.register_cuda)": [[137, "bittensor.utils.registration.register_cuda.reset_cuda", false]], "reset_members (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS", false], [99, "id21", false]], "response (bittensor.extras.dev_framework.subnet.call_record attribute)": [[103, "bittensor.extras.dev_framework.subnet.CALL_RECORD.response", false]], "retries (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.retries", false]], "retries (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.retries", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.return_per_1000", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.return_per_1000", false]], "reveal_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS", false]], "reveal_mechanism_weights() (bittensor.core.extrinsics.params.weights.weightsparams class method)": [[63, "bittensor.core.extrinsics.params.weights.WeightsParams.reveal_mechanism_weights", false]], "reveal_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.mechanism)": [[31, "bittensor.core.extrinsics.asyncex.mechanism.reveal_mechanism_weights_extrinsic", false]], "reveal_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.mechanism)": [[49, "bittensor.core.extrinsics.mechanism.reveal_mechanism_weights_extrinsic", false]], "reveal_round (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.reveal_round", false]], "reveal_round (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.reveal_round", false]], "reveal_round (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.reveal_round", false]], "reveal_round (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.reveal_round", false]], "reveal_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.reveal_weights", false]], "reveal_weights (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.reveal_weights", false]], "reveal_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS", false]], "reveal_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.reveal_weights", false]], "reveal_weights() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.reveal_weights", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[43, "bittensor.core.extrinsics.asyncex.weights.reveal_weights_extrinsic", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.commit_weights)": [[46, "bittensor.core.extrinsics.commit_weights.reveal_weights_extrinsic", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.weights)": [[75, "bittensor.core.extrinsics.weights.reveal_weights_extrinsic", false]], "reverse_network_map (in module bittensor.core.settings)": [[78, "bittensor.core.settings.REVERSE_NETWORK_MAP", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rho", false]], "rho (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.rho", false]], "rho (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.rho", false]], "rho (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.rho", false]], "root_dissolve_network (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK", false]], "root_register (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_register", false]], "root_register (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.root_register", false]], "root_register (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER", false]], "root_register() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_register", false]], "root_register() (bittensor.core.extrinsics.params.root.rootparams class method)": [[56, "bittensor.core.extrinsics.params.root.RootParams.root_register", false]], "root_register() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.root_register", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[34, "bittensor.core.extrinsics.asyncex.root.root_register_extrinsic", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.root)": [[65, "bittensor.core.extrinsics.root.root_register_extrinsic", false]], "root_set_pending_childkey_cooldown (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[27, "bittensor.core.extrinsics.asyncex.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.children)": [[44, "bittensor.core.extrinsics.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.root_set_weights", false]], "root_set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.root_set_weights", false]], "root_set_weights() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.root_set_weights", false]], "root_tao_stake_weight (in module bittensor.core.settings)": [[78, "bittensor.core.settings.ROOT_TAO_STAKE_WEIGHT", false]], "rootparams (class in bittensor.core.extrinsics.params.root)": [[56, "bittensor.core.extrinsics.params.root.RootParams", false]], "rounds_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.rounds_total", false]], "router (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.router", false]], "run() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.run", false]], "run() (bittensor.utils.registration.pow.cudasolver method)": [[136, "bittensor.utils.registration.pow.CUDASolver.run", false]], "run() (bittensor.utils.registration.pow.solver method)": [[136, "bittensor.utils.registration.pow.Solver.run", false]], "run_in_thread() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.run_in_thread", false]], "runexception": [[26, "bittensor.core.errors.RunException", false]], "runtime_config (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.runtime_config", false]], "s (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.S", false]], "s (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.s", false]], "safe_globals() (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.safe_globals", false]], "safemode (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.SafeMode", false]], "salt (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.salt", false]], "salt (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.salt", false]], "salt (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.salt", false]], "salt (in module bittensor.core.types)": [[97, "bittensor.core.types.Salt", false]], "salts_list (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.salts_list", false]], "save() (bittensor.core.metagraph.metagraphmixin method)": [[77, "bittensor.core.metagraph.MetagraphMixin.save", false]], "scaling_law_power (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.scaling_law_power", false]], "schedule (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE", false]], "schedule_after (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER", false]], "schedule_grandpa_change (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE", false]], "schedule_named (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED", false]], "schedule_named_after (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER", false]], "schedule_swap_coldkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY", false]], "scheduledcoldkeyswapinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.ScheduledColdkeySwapInfo", false]], "scheduledcoldkeyswapinfo (class in bittensor.core.chain_data.scheduled_coldkey_swap_info)": [[15, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo", false]], "scheduler (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Scheduler", false]], "seal (bittensor.utils.registration.pow.powsolution attribute)": [[136, "bittensor.utils.registration.pow.POWSolution.seal", false]], "selective_metagraph_commitments_offset (in module bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.SELECTIVE_METAGRAPH_COMMITMENTS_OFFSET", false]], "selectivemetagraphindex (class in bittensor.core.chain_data.metagraph_info)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex", false]], "senatemembers (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.SenateMembers", false]], "serialize() (bittensor.core.tensor.tensor static method)": [[94, "bittensor.core.tensor.Tensor.serialize", false]], "serve() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.serve", false]], "serve_axon (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.serve_axon", false]], "serve_axon (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.serve_axon", false]], "serve_axon (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON", false]], "serve_axon() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.serve_axon", false]], "serve_axon() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.serve_axon", false]], "serve_axon_and_tls() (bittensor.core.extrinsics.params.serving.servingparams class method)": [[57, "bittensor.core.extrinsics.params.serving.ServingParams.serve_axon_and_tls", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[35, "bittensor.core.extrinsics.asyncex.serving.serve_axon_extrinsic", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.serving)": [[66, "bittensor.core.extrinsics.serving.serve_axon_extrinsic", false]], "serve_axon_tls (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[35, "bittensor.core.extrinsics.asyncex.serving.serve_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.serving)": [[66, "bittensor.core.extrinsics.serving.serve_extrinsic", false]], "serve_prometheus (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.serving_rate_limit", false]], "serving_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.serving_rate_limit", false]], "servingparams (class in bittensor.core.extrinsics.params.serving)": [[57, "bittensor.core.extrinsics.params.serving.ServingParams", false]], "servingratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ServingRateLimit", false]], "session (bittensor.core.dendrite.dendritemixin property)": [[25, "bittensor.core.dendrite.DendriteMixin.session", false]], "set (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET", false]], "set_auto_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.set_auto_stake", false]], "set_base_fee_per_gas (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS", false]], "set_beacon_config (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG", false]], "set_childkey_take (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE", false]], "set_children (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_children", false]], "set_children (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.set_children", false]], "set_children (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.set_children", false]], "set_children (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN", false]], "set_children() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_children", false]], "set_children() (bittensor.core.extrinsics.params.children.childrenparams class method)": [[51, "bittensor.core.extrinsics.params.children.ChildrenParams.set_children", false]], "set_children() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.set_children", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[27, "bittensor.core.extrinsics.asyncex.children.set_children_extrinsic", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.children)": [[44, "bittensor.core.extrinsics.children.set_children_extrinsic", false]], "set_code (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE", false]], "set_code_without_checks (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS", false]], "set_coldkey_auto_stake_hotkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY", false]], "set_coldkey_auto_stake_hotkey() (bittensor.core.extrinsics.params.staking.stakingparams class method)": [[58, "bittensor.core.extrinsics.params.staking.StakingParams.set_coldkey_auto_stake_hotkey", false]], "set_commitment (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor.subtensor attribute)": [[80, "bittensor.core.subtensor.Subtensor.set_commitment", false]], "set_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.set_commitment", false]], "set_commitment (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.set_commitment", false]], "set_commitment (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.set_commitment", false]], "set_commitment (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT", false]], "set_commitment() (bittensor.core.extrinsics.params.serving.servingparams class method)": [[57, "bittensor.core.extrinsics.params.serving.ServingParams.set_commitment", false]], "set_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_config", false]], "set_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_console", false]], "set_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_debug", false]], "set_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_default", false]], "set_delegate_take (bittensor.core.subtensor_api.delegates.delegates attribute)": [[83, "bittensor.core.subtensor_api.delegates.Delegates.set_delegate_take", false]], "set_delegate_take (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[108, "bittensor.extras.subtensor_api.delegates.Delegates.set_delegate_take", false]], "set_delegate_take() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_delegate_take", false]], "set_delegate_take() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.set_delegate_take", false]], "set_elasticity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY", false]], "set_fee_rate (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE", false]], "set_heap_pages (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES", false]], "set_hyperparameter() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.set_hyperparameter", false]], "set_identity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY", false], [99, "id25", false]], "set_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_info", false]], "set_key (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY", false]], "set_max_space (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE", false]], "set_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS", false]], "set_mechanism_weights() (bittensor.core.extrinsics.params.weights.weightsparams class method)": [[63, "bittensor.core.extrinsics.params.weights.WeightsParams.set_mechanism_weights", false]], "set_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.mechanism)": [[31, "bittensor.core.extrinsics.asyncex.mechanism.set_mechanism_weights_extrinsic", false]], "set_mechanism_weights_extrinsic() (in module bittensor.core.extrinsics.mechanism)": [[49, "bittensor.core.extrinsics.mechanism.set_mechanism_weights_extrinsic", false]], "set_members (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS", false]], "set_name_type() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.set_name_type", false]], "set_oldest_stored_round (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND", false]], "set_pending_childkey_cooldown (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN", false]], "set_pending_childkey_cooldown() (bittensor.core.extrinsics.params.children.childrenparams class method)": [[51, "bittensor.core.extrinsics.params.children.ChildrenParams.set_pending_childkey_cooldown", false]], "set_prime (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME", false], [99, "id28", false]], "set_retry (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY", false]], "set_retry_named (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED", false]], "set_reveal_commitment (bittensor.core.subtensor_api.commitments.commitments attribute)": [[82, "bittensor.core.subtensor_api.commitments.Commitments.set_reveal_commitment", false]], "set_reveal_commitment (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[107, "bittensor.extras.subtensor_api.commitments.Commitments.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.set_reveal_commitment", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[34, "bittensor.core.extrinsics.asyncex.root.set_root_weights_extrinsic", false]], "set_root_weights_extrinsic() (in module bittensor.core.extrinsics.root)": [[65, "bittensor.core.extrinsics.root.set_root_weights_extrinsic", false]], "set_storage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE", false]], "set_subnet_identity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_subnet_identity", false]], "set_subnet_identity (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.set_subnet_identity", false]], "set_subnet_identity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.set_subnet_identity", false]], "set_subnet_identity (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.set_subnet_identity", false]], "set_subnet_identity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY", false]], "set_subnet_identity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.extrinsics.params.registration.registrationparams class method)": [[55, "bittensor.core.extrinsics.params.registration.RegistrationParams.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.set_subnet_identity", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[33, "bittensor.core.extrinsics.asyncex.registration.set_subnet_identity_extrinsic", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.registration)": [[64, "bittensor.core.extrinsics.registration.set_subnet_identity_extrinsic", false]], "set_trace() (bittensor.utils.btlogging.format.btstreamformatter method)": [[124, "bittensor.utils.btlogging.format.BtStreamFormatter.set_trace", false]], "set_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_trace", false]], "set_unit() (bittensor.utils.balance.balance method)": [[121, "bittensor.utils.balance.Balance.set_unit", false]], "set_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_warning", false]], "set_weights (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.set_weights", false]], "set_weights (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.set_weights", false]], "set_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS", false]], "set_weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.set_weights", false]], "set_weights() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.set_weights", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[43, "bittensor.core.extrinsics.asyncex.weights.set_weights_extrinsic", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.set_weights)": [[67, "bittensor.core.extrinsics.set_weights.set_weights_extrinsic", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.weights)": [[75, "bittensor.core.extrinsics.weights.set_weights_extrinsic", false]], "set_whitelist (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST", false]], "setlevel() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.setLevel", false]], "setup_config (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.setup_config", false]], "setup_config (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.setup_config", false]], "setup_config() (bittensor.core.types.subtensormixin static method)": [[97, "bittensor.core.types.SubtensorMixin.setup_config", false]], "shape (bittensor.core.tensor.tensor attribute)": [[94, "bittensor.core.tensor.Tensor.shape", false]], "should_exit (bittensor.core.axon.fastapithreadedserver attribute)": [[1, "bittensor.core.axon.FastAPIThreadedServer.should_exit", false]], "should_sync (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.should_sync", false]], "should_sync (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.should_sync", false]], "shutdown() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[95, "bittensor.core.threadpool.PriorityThreadPoolExecutor.shutdown", false]], "sign_and_send_extrinsic (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.sign_and_send_extrinsic", false]], "signature (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.signature", false]], "signature (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.signature", false]], "signature (bittensor.extras.dev_framework.calls.non_sudo_calls.set_beacon_config attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG.signature", false]], "signature (bittensor.extras.dev_framework.calls.non_sudo_calls.write_pulse attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE.signature", false]], "sim_swap (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.sim_swap", false]], "simswapresult (class in bittensor.core.chain_data.sim_swap)": [[16, "bittensor.core.chain_data.sim_swap.SimSwapResult", false]], "slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.slippage", false]], "solve_cuda() (in module bittensor.utils.registration.register_cuda)": [[137, "bittensor.utils.registration.register_cuda.solve_cuda", false]], "solver (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.Solver", false]], "source (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.source", false]], "source (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.source", false]], "source (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.source", false]], "source (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.source", false]], "spawner (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.spawner", false]], "split_command() (in module bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.split_command", false]], "ss58 (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.ss58", false]], "ss58_address_length (in module bittensor.core.settings)": [[78, "bittensor.core.settings.SS58_ADDRESS_LENGTH", false]], "ss58_address_to_bytes() (in module bittensor.utils)": [[131, "bittensor.utils.ss58_address_to_bytes", false]], "ss58_decode (in module bittensor.utils)": [[131, "bittensor.utils.ss58_decode", false]], "ss58_format (in module bittensor.core.settings)": [[78, "bittensor.core.settings.SS58_FORMAT", false]], "ss58_to_vec_u8() (in module bittensor.utils)": [[131, "bittensor.utils.ss58_to_vec_u8", false]], "stake (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegatedInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake", false]], "stake (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo.stake", false]], "stake (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.stake", false]], "stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.stake", false]], "stake (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.stake", false]], "stake_dict (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake_dict", false]], "stake_dict (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake_dict", false]], "stakeerror": [[26, "bittensor.core.errors.StakeError", false]], "stakeinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.StakeInfo", false]], "stakeinfo (class in bittensor.core.chain_data.stake_info)": [[17, "bittensor.core.chain_data.stake_info.StakeInfo", false]], "staking (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.staking", false]], "staking (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.staking", false]], "staking (class in bittensor.core.subtensor_api.staking)": [[89, "bittensor.core.subtensor_api.staking.Staking", false]], "staking (class in bittensor.extras.subtensor_api.staking)": [[114, "bittensor.extras.subtensor_api.staking.Staking", false]], "stakingparams (class in bittensor.core.extrinsics.params.staking)": [[58, "bittensor.core.extrinsics.params.staking.StakingParams", false]], "start() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.start", false]], "start() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.start", false]], "start() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.start", false]], "start() (bittensor.utils.registration.pow.status method)": [[136, "bittensor.utils.registration.pow.Status.start", false]], "start_call (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.start_call", false]], "start_call (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.start_call", false]], "start_call (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.start_call", false]], "start_call (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.start_call", false]], "start_call (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.start_call", false]], "start_call (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL", false]], "start_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.start_call", false]], "start_call() (bittensor.core.extrinsics.params.start_call.startcallparams class method)": [[59, "bittensor.core.extrinsics.params.start_call.StartCallParams.start_call", false]], "start_call() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.start_call", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.asyncex.start_call)": [[37, "bittensor.core.extrinsics.asyncex.start_call.start_call_extrinsic", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.start_call)": [[69, "bittensor.core.extrinsics.start_call.start_call_extrinsic", false]], "startcallparams (class in bittensor.core.extrinsics.params.start_call)": [[59, "bittensor.core.extrinsics.params.start_call.StartCallParams", false]], "started (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.started", false]], "state_call (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.state_call", false]], "state_call (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.state_call", false]], "state_call() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.state_call", false]], "state_call() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.state_call", false]], "state_dict() (bittensor.core.metagraph.metagraphmixin method)": [[77, "bittensor.core.metagraph.MetagraphMixin.state_dict", false]], "status (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.status", false]], "status (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.Status", false]], "status() (bittensor.utils.registration.pow.console static method)": [[136, "bittensor.utils.registration.pow.Console.status", false]], "status_code (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.status_code", false]], "status_message (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.status_message", false]], "steepness (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.steepness", false]], "steps (in module bittensor.extras.dev_framework.utils)": [[104, "bittensor.extras.dev_framework.utils.STEPS", false]], "stop() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.stop", false]], "stop() (bittensor.core.axon.fastapithreadedserver method)": [[1, "bittensor.core.axon.FastAPIThreadedServer.stop", false]], "stop() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.stop", false]], "stop() (bittensor.utils.registration.pow.status method)": [[136, "bittensor.utils.registration.pow.Status.stop", false]], "storage_function (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.storage_function", false]], "storagefunctionnotfound (in module bittensor.core.errors)": [[26, "bittensor.core.errors.StorageFunctionNotFound", false]], "storagekey (class in bittensor.utils.substrate_utils.storage)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey", false]], "stream_response() (bittensor.core.stream.streamingsynapse.btstreamingresponse method)": [[79, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.stream_response", false]], "streamingsynapse (class in bittensor.core.stream)": [[79, "bittensor.core.stream.StreamingSynapse", false]], "streamingsynapse.btstreamingresponse (class in bittensor.core.stream)": [[79, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse", false]], "strtobool() (in module bittensor.utils)": [[131, "bittensor.utils.strtobool", false]], "subkeys (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_prefix attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX.subkeys", false]], "submit() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[95, "bittensor.core.threadpool.PriorityThreadPoolExecutor.submit", false]], "subnet (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.subnet", false]], "subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.subnet", false]], "subnet() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet", false]], "subnet() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.subnet", false]], "subnet_contact (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_contact", false]], "subnet_contact (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.subnet_contact", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_emission", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.subnet_emission", false]], "subnet_exists (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.subnet_exists", false]], "subnet_exists (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.subnet_exists", false]], "subnet_exists() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnet_exists", false]], "subnet_exists() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.subnet_exists", false]], "subnet_identity (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_identity", false]], "subnet_is_active (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.subnet_is_active", false]], "subnet_name (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_name", false]], "subnet_name (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_name", false]], "subnet_name (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.subnet_name", false]], "subnet_owner_cut (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_cut attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT.subnet_owner_cut", false]], "subnet_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_url", false]], "subnet_url (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.subnet_url", false]], "subnet_volume (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.subnet_volume", false]], "subnetemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetEmission", false]], "subnethyperparameters (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.SubnetHyperparameters", false]], "subnethyperparameters (class in bittensor.core.chain_data.subnet_hyperparameters)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters", false]], "subnetidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.SubnetIdentity", false]], "subnetidentity (class in bittensor.core.chain_data.subnet_identity)": [[19, "bittensor.core.chain_data.subnet_identity.SubnetIdentity", false]], "subnetinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.SubnetInfo", false]], "subnetinfo (class in bittensor.core.chain_data.subnet_info)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo", false]], "subnetnotexists": [[26, "bittensor.core.errors.SubnetNotExists", false]], "subnets (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.subnets", false]], "subnets (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.subnets", false]], "subnets (class in bittensor.core.subtensor_api.subnets)": [[90, "bittensor.core.subtensor_api.subnets.Subnets", false]], "subnets (class in bittensor.extras.subtensor_api.subnets)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets", false]], "subnetsapi (class in bittensor.utils.subnets)": [[138, "bittensor.utils.subnets.SubnetsAPI", false]], "subnetstate (bittensor.core.chain_data.utils.chaindatatype attribute)": [[22, "bittensor.core.chain_data.utils.ChainDataType.SubnetState", false]], "subnetstate (class in bittensor.core.chain_data.subnet_state)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState", false]], "subnetvolume (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetVolume", false]], "subnetwork_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.subnetwork_n", false]], "subnetwork_n (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.subnetwork_n", false]], "subnetwork_n (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.subnetwork_n", false]], "subnetwork_n() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.subnetwork_n", false]], "subnetwork_n() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.subnetwork_n", false]], "substrate (bittensor.core.async_subtensor.asyncsubtensor attribute)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.substrate", false]], "substrate (bittensor.core.subtensor.subtensor attribute)": [[80, "bittensor.core.subtensor.Subtensor.substrate", false]], "substrate (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.substrate", false]], "substrate (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.substrate", false]], "substraterequestexception (in module bittensor.core.errors)": [[26, "bittensor.core.errors.SubstrateRequestException", false]], "subtensor (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.subtensor", false]], "subtensor (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.subtensor", false]], "subtensor (class in bittensor.core.subtensor)": [[80, "bittensor.core.subtensor.Subtensor", false]], "subtensor (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.subtensor", false]], "subtensorapi (class in bittensor.core.subtensor_api)": [[85, "bittensor.core.subtensor_api.SubtensorApi", false]], "subtensorapi (class in bittensor.extras.subtensor_api)": [[110, "bittensor.extras.subtensor_api.SubtensorApi", false]], "subtensormixin (class in bittensor.core.types)": [[97, "bittensor.core.types.SubtensorMixin", false]], "subtensormodule (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.SubtensorModule", false]], "subtoken_enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.subtoken_enabled", false]], "subvortex_entrypoint (in module bittensor.core.settings)": [[78, "bittensor.core.settings.SUBVORTEX_ENTRYPOINT", false]], "success (bittensor.utils.unlockstatus attribute)": [[131, "bittensor.utils.UnlockStatus.success", false]], "success() (bittensor.utils.btlogging.console.bittensorconsole method)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.success", false]], "success() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.success", false]], "success_level_num (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.SUCCESS_LEVEL_NUM", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_admin_freeze_window attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ck_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_coldkey_swap_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_version attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_default_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_dissolve_network_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_evm_chain_id attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_lock_reduction_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_delegate_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_min_lock_cost attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_nominator_min_required_stake attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_hparam_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_stake_threshold attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_moving_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_cut attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_total_issuance attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_childkey_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_delegate_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.sudo", false], [101, "id3", false]], "sudo (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO", false], [99, "id32", false]], "sudo (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Sudo", false]], "sudo_as (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS", false]], "sudo_call_extrinsic() (in module bittensor.core.extrinsics.asyncex.utils)": [[42, "bittensor.core.extrinsics.asyncex.utils.sudo_call_extrinsic", false]], "sudo_call_extrinsic() (in module bittensor.core.extrinsics.utils)": [[74, "bittensor.core.extrinsics.utils.sudo_call_extrinsic", false]], "sudo_set_activity_cutoff (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF", false]], "sudo_set_adjustment_alpha (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA", false]], "sudo_set_adjustment_interval (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL", false]], "sudo_set_admin_freeze_window (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW", false]], "sudo_set_admin_freeze_window_extrinsic() (in module bittensor.core.extrinsics.asyncex.sudo)": [[38, "bittensor.core.extrinsics.asyncex.sudo.sudo_set_admin_freeze_window_extrinsic", false]], "sudo_set_admin_freeze_window_extrinsic() (in module bittensor.core.extrinsics.sudo)": [[70, "bittensor.core.extrinsics.sudo.sudo_set_admin_freeze_window_extrinsic", false]], "sudo_set_alpha_sigmoid_steepness (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS", false]], "sudo_set_alpha_values (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES", false]], "sudo_set_bonds_moving_average (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE", false]], "sudo_set_bonds_penalty (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY", false]], "sudo_set_bonds_reset_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED", false]], "sudo_set_ck_burn (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN", false]], "sudo_set_coldkey_swap_schedule_duration (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION", false]], "sudo_set_commit_reveal_version (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION", false]], "sudo_set_commit_reveal_weights_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED", false]], "sudo_set_commit_reveal_weights_interval (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL", false]], "sudo_set_default_take (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE", false]], "sudo_set_difficulty (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY", false]], "sudo_set_dissolve_network_schedule_duration (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION", false]], "sudo_set_ema_price_halving_period (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD", false]], "sudo_set_evm_chain_id (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID", false]], "sudo_set_immunity_period (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD", false]], "sudo_set_kappa (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA", false]], "sudo_set_liquid_alpha_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED", false]], "sudo_set_lock_reduction_interval (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL", false]], "sudo_set_max_allowed_uids (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS", false]], "sudo_set_max_allowed_validators (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS", false]], "sudo_set_max_burn (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN", false]], "sudo_set_max_childkey_take (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE", false]], "sudo_set_max_difficulty (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY", false]], "sudo_set_max_registrations_per_block (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK", false]], "sudo_set_max_weight_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT", false]], "sudo_set_mechanism_count (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT", false]], "sudo_set_mechanism_count_extrinsic() (in module bittensor.core.extrinsics.asyncex.sudo)": [[38, "bittensor.core.extrinsics.asyncex.sudo.sudo_set_mechanism_count_extrinsic", false]], "sudo_set_mechanism_count_extrinsic() (in module bittensor.core.extrinsics.sudo)": [[70, "bittensor.core.extrinsics.sudo.sudo_set_mechanism_count_extrinsic", false]], "sudo_set_mechanism_emission_split (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT", false]], "sudo_set_mechanism_emission_split_extrinsic() (in module bittensor.core.extrinsics.asyncex.sudo)": [[38, "bittensor.core.extrinsics.asyncex.sudo.sudo_set_mechanism_emission_split_extrinsic", false]], "sudo_set_mechanism_emission_split_extrinsic() (in module bittensor.core.extrinsics.sudo)": [[70, "bittensor.core.extrinsics.sudo.sudo_set_mechanism_emission_split_extrinsic", false]], "sudo_set_min_allowed_uids (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS", false]], "sudo_set_min_allowed_weights (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS", false]], "sudo_set_min_burn (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN", false]], "sudo_set_min_childkey_take (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE", false]], "sudo_set_min_delegate_take (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE", false]], "sudo_set_min_difficulty (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY", false]], "sudo_set_network_immunity_period (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD", false]], "sudo_set_network_min_lock_cost (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST", false]], "sudo_set_network_pow_registration_allowed (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED", false]], "sudo_set_network_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT", false]], "sudo_set_network_registration_allowed (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED", false]], "sudo_set_nominator_min_required_stake (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE", false]], "sudo_set_owner_hparam_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT", false]], "sudo_set_owner_immune_neuron_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT", false]], "sudo_set_rao_recycled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED", false]], "sudo_set_recycle_or_burn (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN", false]], "sudo_set_rho (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO", false]], "sudo_set_serving_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT", false]], "sudo_set_sn_owner_hotkey (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY", false]], "sudo_set_stake_threshold (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD", false]], "sudo_set_subnet_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT", false]], "sudo_set_subnet_moving_alpha (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA", false]], "sudo_set_subnet_owner_cut (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT", false]], "sudo_set_subnet_owner_hotkey (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY", false]], "sudo_set_subtoken_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED", false]], "sudo_set_target_registrations_per_interval (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL", false]], "sudo_set_tempo (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO", false]], "sudo_set_toggle_transfer (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER", false]], "sudo_set_total_issuance (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE", false]], "sudo_set_tx_childkey_take_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT", false]], "sudo_set_tx_delegate_take_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT", false]], "sudo_set_tx_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT", false]], "sudo_set_weights_set_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT", false]], "sudo_set_weights_version_key (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY", false]], "sudo_set_yuma3_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED", false]], "sudo_toggle_evm_precompile (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE", false]], "sudo_trim_to_max_allowed_uids (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS", false]], "sudo_unchecked_weight (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT", false], [101, "id0", false]], "swap (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Swap", false]], "swap_authorities (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES", false]], "swap_coldkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY", false]], "swap_cost (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.swap_cost", false]], "swap_hotkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY", false]], "swap_member (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER", false], [99, "id36", false]], "swap_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.swap_stake", false]], "swap_stake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.swap_stake", false]], "swap_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.swap_stake", false]], "swap_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE", false]], "swap_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.swap_stake", false]], "swap_stake() (bittensor.core.extrinsics.params.move_stake.movestakeparams class method)": [[54, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams.swap_stake", false]], "swap_stake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.swap_stake", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[32, "bittensor.core.extrinsics.asyncex.move_stake.swap_stake_extrinsic", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[50, "bittensor.core.extrinsics.move_stake.swap_stake_extrinsic", false]], "swap_stake_limit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT", false]], "swap_stake_limit() (bittensor.core.extrinsics.params.move_stake.movestakeparams class method)": [[54, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams.swap_stake_limit", false]], "symbol (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Symbol", false]], "symbol (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.symbol", false]], "symbol (bittensor.extras.dev_framework.calls.non_sudo_calls.update_symbol attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL.symbol", false]], "synapse (bittensor.core.errors.synapseexception attribute)": [[26, "bittensor.core.errors.SynapseException.synapse", false]], "synapse (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[79, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.synapse", false]], "synapse (class in bittensor.core.synapse)": [[93, "bittensor.core.synapse.Synapse", false]], "synapse (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.synapse", false]], "synapse_history (bittensor.core.dendrite.dendritemixin attribute)": [[25, "bittensor.core.dendrite.DendriteMixin.synapse_history", false]], "synapse_to_response() (bittensor.core.axon.axonmiddleware class method)": [[1, "bittensor.core.axon.AxonMiddleware.synapse_to_response", false]], "synapsedendritenoneexception": [[26, "bittensor.core.errors.SynapseDendriteNoneException", false]], "synapseexception": [[26, "bittensor.core.errors.SynapseException", false]], "synapseparsingerror": [[26, "bittensor.core.errors.SynapseParsingError", false]], "sync() (bittensor.core.metagraph.asyncmetagraph method)": [[77, "bittensor.core.metagraph.AsyncMetagraph.sync", false]], "sync() (bittensor.core.metagraph.metagraph method)": [[77, "bittensor.core.metagraph.Metagraph.sync", false]], "system (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.System", false]], "t (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.T", false]], "t (in module bittensor.core.chain_data.info_base)": [[8, "bittensor.core.chain_data.info_base.T", false]], "t (in module bittensor.core.config)": [[24, "bittensor.core.config.T", false]], "take (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.take", false]], "take (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.take", false]], "take (bittensor.extras.dev_framework.calls.non_sudo_calls.decrease_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.non_sudo_calls.increase_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_delegate_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE.take", false]], "takeerror": [[26, "bittensor.core.errors.TakeError", false]], "takeparams (class in bittensor.core.extrinsics.params.take)": [[60, "bittensor.core.extrinsics.params.take.TakeParams", false]], "tao (bittensor.utils.balance.balance property)": [[121, "bittensor.utils.balance.Balance.tao", false]], "tao() (in module bittensor.utils.balance)": [[121, "bittensor.utils.balance.tao", false]], "tao_amount (bittensor.core.chain_data.sim_swap.simswapresult attribute)": [[16, "bittensor.core.chain_data.sim_swap.SimSwapResult.tao_amount", false]], "tao_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_dividends_per_hotkey", false]], "tao_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.tao_dividends_per_hotkey", false]], "tao_fee (bittensor.core.chain_data.sim_swap.simswapresult attribute)": [[16, "bittensor.core.chain_data.sim_swap.SimSwapResult.tao_fee", false]], "tao_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.tao_in", false]], "tao_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.tao_in_emission", false]], "tao_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_slippage", false]], "tao_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_stake", false]], "tao_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.tao_stake", false]], "tao_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.tao_stake", false]], "tao_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.tao_stake", false]], "tao_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.tao_stake", false]], "tao_symbol (in module bittensor.core.settings)": [[78, "bittensor.core.settings.TAO_SYMBOL", false]], "tao_to_alpha() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha", false]], "tao_to_alpha_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha_with_slippage", false]], "taodividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoDividendsPerHotkey", false]], "taoin (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoIn", false]], "taoinemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoInEmission", false]], "taostake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoStake", false]], "target (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.target", false]], "target_address (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.target_address", false]], "target_registrations_per_interval (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.target_registrations_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.target_regs_per_interval", false]], "targetregsperinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TargetRegsPerInterval", false]], "task (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY.task", false]], "task (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.task", false]], "tempo (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[6, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Tempo", false]], "tempo (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.tempo", false]], "tempo (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[20, "bittensor.core.chain_data.subnet_info.SubnetInfo.tempo", false]], "tempo (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.tempo", false]], "tempo (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.tempo", false]], "tempo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.tempo", false]], "tempo (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.tempo", false]], "tempo() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tempo", false]], "tempo() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.tempo", false]], "tensor (class in bittensor.core.tensor)": [[94, "bittensor.core.tensor.Tensor", false], [94, "bittensor.core.tensor.tensor", false]], "tensor (in module bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.Tensor", false]], "tensor() (bittensor.core.tensor.tensor method)": [[94, "bittensor.core.tensor.Tensor.tensor", false]], "terminalinfo (class in bittensor.core.synapse)": [[93, "bittensor.core.synapse.TerminalInfo", false]], "terminate_lease (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE", false]], "terminate_workers_and_wait_for_exit() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.terminate_workers_and_wait_for_exit", false]], "testsubnet (class in bittensor.extras.dev_framework.subnet)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet", false]], "thread_pool (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.thread_pool", false]], "threshold (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[14, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.threshold", false]], "threshold (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.threshold", false]], "threshold (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.threshold", false]], "threshold (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.threshold", false]], "threshold (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.threshold", false]], "tick_high (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.tick_high", false]], "tick_low (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.tick_low", false]], "tick_to_price() (in module bittensor.utils.liquidity)": [[132, "bittensor.utils.liquidity.tick_to_price", false]], "time_average (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.time_average", false]], "time_spent (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent", false]], "time_spent_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[136, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent_total", false]], "timeout (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.timeout", false]], "timepoint (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.timepoint", false]], "timestamp (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Timestamp", false]], "to_dict() (bittensor.core.config.config method)": [[24, "bittensor.core.config.Config.to_dict", false]], "to_headers() (bittensor.core.synapse.synapse method)": [[93, "bittensor.core.synapse.Synapse.to_headers", false], [93, "id5", false]], "to_hex() (bittensor.utils.substrate_utils.storage.storagekey method)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.to_hex", false]], "to_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_parameter_dict", false]], "to_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo method)": [[9, "bittensor.core.chain_data.ip_info.IPInfo.to_parameter_dict", false]], "to_string() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.to_string", false]], "to_string() (bittensor.core.chain_data.axon_info.axoninfo method)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.to_string", false]], "to_token_amounts() (bittensor.utils.liquidity.liquidityposition method)": [[132, "bittensor.utils.liquidity.LiquidityPosition.to_token_amounts", false]], "toggle (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.toggle", false]], "toggle_user_liquidity (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.toggle_user_liquidity", false]], "toggle_user_liquidity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.toggle_user_liquidity", false]], "toggle_user_liquidity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY", false]], "toggle_user_liquidity() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.extrinsics.params.liquidity.liquidityparams class method)": [[53, "bittensor.core.extrinsics.params.liquidity.LiquidityParams.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.toggle_user_liquidity", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[30, "bittensor.core.extrinsics.asyncex.liquidity.toggle_user_liquidity_extrinsic", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[48, "bittensor.core.extrinsics.liquidity.toggle_user_liquidity_extrinsic", false]], "token_streamer (bittensor.core.stream.btstreamingresponsemodel attribute)": [[79, "bittensor.core.stream.BTStreamingResponseModel.token_streamer", false]], "token_streamer (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[79, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.token_streamer", false]], "tolist() (bittensor.core.tensor.tensor method)": [[94, "bittensor.core.tensor.Tensor.tolist", false]], "toomanychildren": [[26, "bittensor.core.errors.TooManyChildren", false]], "torch (bittensor.core.tensor.dtypes attribute)": [[94, "bittensor.core.tensor.DTypes.torch", false]], "torch (in module bittensor.utils)": [[131, "bittensor.utils.torch", false]], "torch (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.torch", false]], "torchmetagraph (class in bittensor.core.metagraph)": [[77, "bittensor.core.metagraph.TorchMetagraph", false]], "total_daily_return (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.total_daily_return", false]], "total_daily_return (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.total_daily_return", false]], "total_issuance (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_total_issuance attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE.total_issuance", false]], "total_size (bittensor.core.synapse.synapse attribute)": [[93, "bittensor.core.synapse.Synapse.total_size", false]], "total_stake (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.total_stake", false]], "total_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.total_stake", false]], "total_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.total_stake", false]], "total_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.total_stake", false]], "totalstake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TotalStake", false]], "tpb (bittensor.utils.registration.pow.cudasolver attribute)": [[136, "bittensor.utils.registration.pow.CUDASolver.tpb", false]], "trace (bittensor.utils.btlogging.format.btstreamformatter attribute)": [[124, "bittensor.utils.btlogging.format.BtStreamFormatter.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Trace", false]], "trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.trace", false]], "trace() (in module bittensor.utils.btlogging.levels)": [[127, "bittensor.utils.btlogging.levels.trace", false]], "trace() (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.trace", false]], "trace_level_num (in module bittensor.utils.btlogging.format)": [[124, "bittensor.utils.btlogging.format.TRACE_LEVEL_NUM", false]], "trace_log_format (in module bittensor.utils.btlogging.defines)": [[123, "bittensor.utils.btlogging.defines.TRACE_LOG_FORMAT", false]], "transact (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT", false]], "transaction (bittensor.extras.dev_framework.calls.non_sudo_calls.transact attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT.transaction", false]], "transfer (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer", false]], "transfer (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.transfer", false]], "transfer (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets.transfer", false]], "transfer() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer", false]], "transfer() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.transfer", false]], "transfer_all (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL", false]], "transfer_all() (bittensor.core.extrinsics.params.transfer.transferparams class method)": [[61, "bittensor.core.extrinsics.params.transfer.TransferParams.transfer_all", false]], "transfer_allow_death (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH", false]], "transfer_allow_death() (bittensor.core.extrinsics.params.transfer.transferparams class method)": [[61, "bittensor.core.extrinsics.params.transfer.TransferParams.transfer_allow_death", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.asyncex.transfer)": [[40, "bittensor.core.extrinsics.asyncex.transfer.transfer_extrinsic", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.transfer)": [[72, "bittensor.core.extrinsics.transfer.transfer_extrinsic", false]], "transfer_keep_alive (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE", false]], "transfer_keep_alive() (bittensor.core.extrinsics.params.transfer.transferparams class method)": [[61, "bittensor.core.extrinsics.params.transfer.TransferParams.transfer_keep_alive", false]], "transfer_stake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.transfer_stake", false]], "transfer_stake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.transfer_stake", false]], "transfer_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.transfer_stake", false]], "transfer_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE", false]], "transfer_stake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.transfer_stake", false]], "transfer_stake() (bittensor.core.extrinsics.params.move_stake.movestakeparams class method)": [[54, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams.transfer_stake", false]], "transfer_stake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.transfer_stake", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[32, "bittensor.core.extrinsics.asyncex.move_stake.transfer_stake_extrinsic", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[50, "bittensor.core.extrinsics.move_stake.transfer_stake_extrinsic", false]], "transfererror": [[26, "bittensor.core.errors.TransferError", false]], "transferparams (class in bittensor.core.extrinsics.params.transfer)": [[61, "bittensor.core.extrinsics.params.transfer.TransferParams", false]], "transfers_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.transfers_enabled", false]], "triumvirate (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Triumvirate", false]], "triumviratemembers (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.TriumvirateMembers", false]], "trust (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.trust", false]], "trust (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Trust", false]], "trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.trust", false]], "trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.trust", false]], "trust (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.trust", false]], "trust (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.trust", false]], "trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.trust", false]], "trust (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.trust", false]], "try_associate_hotkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY", false]], "ts (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.TS", false]], "tv (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.Tv", false]], "two_x64_concat() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.two_x64_concat", false]], "tx_rate_limit (bittensor.core.subtensor_api.chain.chain attribute)": [[81, "bittensor.core.subtensor_api.chain.Chain.tx_rate_limit", false]], "tx_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_childkey_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT.tx_rate_limit", false]], "tx_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_delegate_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT.tx_rate_limit", false]], "tx_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT.tx_rate_limit", false]], "tx_rate_limit (bittensor.extras.subtensor_api.chain.chain attribute)": [[106, "bittensor.extras.subtensor_api.chain.Chain.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.tx_rate_limit", false]], "txratelimitexceeded": [[26, "bittensor.core.errors.TxRateLimitExceeded", false]], "type (bittensor.core.types.paramwithtypes attribute)": [[97, "bittensor.core.types.ParamWithTypes.type", false]], "type_registry (in module bittensor.core.settings)": [[78, "bittensor.core.settings.TYPE_REGISTRY", false]], "u16_max (in module bittensor.utils)": [[131, "bittensor.utils.U16_MAX", false]], "u16_max (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.U16_MAX", false]], "u16_normalized_float() (in module bittensor.utils)": [[131, "bittensor.utils.u16_normalized_float", false]], "u32_max (in module bittensor.utils.weight_utils)": [[143, "bittensor.utils.weight_utils.U32_MAX", false]], "u64_max (in module bittensor.utils)": [[131, "bittensor.utils.U64_MAX", false]], "u64_normalized_float() (in module bittensor.utils)": [[131, "bittensor.utils.u64_normalized_float", false]], "uid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.uid", false]], "uid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.uid", false]], "uids (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.uids", false]], "uids (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.uids", false]], "uids (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.uids", false]], "uids (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.uids", false]], "uids (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.uids", false]], "uids (in module bittensor.core.types)": [[97, "bittensor.core.types.UIDs", false]], "uids_list (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.uids_list", false]], "unit (bittensor.utils.balance.balance attribute)": [[121, "bittensor.utils.balance.Balance.unit", false]], "unknownsynapseerror": [[26, "bittensor.core.errors.UnknownSynapseError", false]], "unlock_key() (in module bittensor.utils)": [[131, "bittensor.utils.unlock_key", false]], "unlockstatus (class in bittensor.utils)": [[131, "bittensor.utils.UnlockStatus", false]], "unnote_preimage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE", false]], "unrequest_preimage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE", false]], "unstake (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake", false]], "unstake (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.unstake", false]], "unstake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.unstake", false]], "unstake (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.unstake", false]], "unstake() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake", false]], "unstake() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.unstake", false]], "unstake_all (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_all", false]], "unstake_all (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.unstake_all", false]], "unstake_all (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.unstake_all", false]], "unstake_all (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.unstake_all", false]], "unstake_all (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL", false]], "unstake_all() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_all", false]], "unstake_all() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.unstake_all", false]], "unstake_all_alpha (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[41, "bittensor.core.extrinsics.asyncex.unstaking.unstake_all_extrinsic", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[73, "bittensor.core.extrinsics.unstaking.unstake_all_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[41, "bittensor.core.extrinsics.asyncex.unstaking.unstake_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[73, "bittensor.core.extrinsics.unstaking.unstake_extrinsic", false]], "unstake_multiple (bittensor.core.subtensor_api.extrinsics.extrinsics attribute)": [[84, "bittensor.core.subtensor_api.extrinsics.Extrinsics.unstake_multiple", false]], "unstake_multiple (bittensor.core.subtensor_api.staking.staking attribute)": [[89, "bittensor.core.subtensor_api.staking.Staking.unstake_multiple", false]], "unstake_multiple (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.unstake_multiple", false]], "unstake_multiple (bittensor.extras.subtensor_api.staking.staking attribute)": [[114, "bittensor.extras.subtensor_api.staking.Staking.unstake_multiple", false]], "unstake_multiple() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.unstake_multiple", false]], "unstake_multiple() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.unstake_multiple", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[41, "bittensor.core.extrinsics.asyncex.unstaking.unstake_multiple_extrinsic", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[73, "bittensor.core.extrinsics.unstaking.unstake_multiple_extrinsic", false]], "unstakeerror": [[26, "bittensor.core.errors.UnstakeError", false]], "unstakingparams (class in bittensor.core.extrinsics.params.unstaking)": [[62, "bittensor.core.extrinsics.params.unstaking.UnstakingParams", false]], "update() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[136, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.update", false]], "update() (bittensor.utils.registration.pow.status method)": [[136, "bittensor.utils.registration.pow.Status.update", false]], "update_cap (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP", false]], "update_curr_block() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.update_curr_block", false]], "update_end (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END", false]], "update_min_contribution (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION", false]], "update_symbol (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL", false]], "upgrade_accounts (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS", false]], "url (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[3, "bittensor.core.chain_data.chain_identity.ChainIdentity.url", false]], "url (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.url", false]], "use_torch (in module bittensor.utils)": [[131, "bittensor.utils.use_torch", false]], "use_torch() (in module bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.use_torch", false]], "user_bittensor_dir (in module bittensor.core.settings)": [[78, "bittensor.core.settings.USER_BITTENSOR_DIR", false]], "user_liquidity_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.user_liquidity_enabled", false]], "usingspawnstartmethod (class in bittensor.utils.registration.pow)": [[136, "bittensor.utils.registration.pow.UsingSpawnStartMethod", false]], "utility (in module bittensor.extras.dev_framework.calls.pallets)": [[100, "bittensor.extras.dev_framework.calls.pallets.Utility", false]], "uuid (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.uuid", false]], "uuid (bittensor.core.dendrite.dendritemixin attribute)": [[25, "bittensor.core.dendrite.DendriteMixin.uuid", false]], "uuid (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.uuid", false]], "v_7_2_0 (in module bittensor.core.axon)": [[1, "bittensor.core.axon.V_7_2_0", false]], "validate_chain_endpoint() (in module bittensor.utils)": [[131, "bittensor.utils.validate_chain_endpoint", false]], "validate_extrinsic_params (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[109, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.validate_extrinsic_params", false]], "validator_permit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_permit", false]], "validator_permit (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[21, "bittensor.core.chain_data.subnet_state.SubnetState.validator_permit", false]], "validator_permit (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.validator_permit", false]], "validator_permit (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.validator_permit", false]], "validator_permit (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.validator_permit", false]], "validator_permits (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[4, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.validator_permits", false]], "validator_permits (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[5, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.validator_permits", false]], "validator_trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_trust", false]], "validator_trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[12, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_trust", false]], "validator_trust (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.validator_trust", false]], "validator_trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.validator_trust", false]], "validator_trust (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.validator_trust", false]], "validatorpermit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ValidatorPermit", false]], "validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validators", false]], "validators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Validators", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.burn attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_allow_death attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_keep_alive attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.value", false]], "value_scale_type (bittensor.utils.substrate_utils.storage.storagekey attribute)": [[141, "bittensor.utils.substrate_utils.storage.StorageKey.value_scale_type", false]], "values (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.values", false]], "values (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.values", false]], "values_list (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.values_list", false]], "verify() (bittensor.core.axon.axonmiddleware method)": [[1, "bittensor.core.axon.AxonMiddleware.verify", false]], "verify_body_integrity() (bittensor.core.axon.axon method)": [[1, "bittensor.core.axon.Axon.verify_body_integrity", false]], "verify_fns (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.verify_fns", false]], "version (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[2, "bittensor.core.chain_data.axon_info.AxonInfo.version", false]], "version (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[13, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.version", false]], "version (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.version", false]], "version (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.version", false]], "version (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.version", false]], "version (bittensor.core.synapse.terminalinfo attribute)": [[93, "bittensor.core.synapse.TerminalInfo.version", false]], "version (bittensor.core.types.axonservecallparams attribute)": [[97, "bittensor.core.types.AxonServeCallParams.version", false]], "version (bittensor.core.types.prometheusservecallparams attribute)": [[97, "bittensor.core.types.PrometheusServeCallParams.version", false]], "version (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.version", false]], "version (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.version", false]], "version (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.version", false]], "version (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_version attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION.version", false]], "version_as_int (in module bittensor.core.settings)": [[78, "bittensor.core.settings.version_as_int", false]], "version_check_threshold (in module bittensor.utils.version)": [[142, "bittensor.utils.version.VERSION_CHECK_THRESHOLD", false]], "version_checking (in module bittensor.utils)": [[131, "bittensor.utils.version_checking", false]], "version_checking() (in module bittensor.utils.version)": [[142, "bittensor.utils.version.version_checking", false]], "version_key (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.version_key", false]], "version_key (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.version_key", false]], "version_key (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.version_key", false]], "version_key (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.version_key", false]], "version_keys (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.version_keys", false]], "version_keys (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.version_keys", false]], "version_split (in module bittensor.core.settings)": [[78, "bittensor.core.settings.version_split", false]], "versioncheckerror": [[142, "bittensor.utils.version.VersionCheckError", false]], "versioncheckerror (in module bittensor.utils)": [[131, "bittensor.utils.VersionCheckError", false]], "vote (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE", false], [99, "id41", false]], "w (bittensor.core.metagraph.metagraphmixin property)": [[77, "bittensor.core.metagraph.MetagraphMixin.W", false]], "wait_for_block (bittensor.core.subtensor_api.subtensorapi attribute)": [[85, "bittensor.core.subtensor_api.SubtensorApi.wait_for_block", false]], "wait_for_block (bittensor.extras.subtensor_api.subtensorapi attribute)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.wait_for_block", false]], "wait_for_block() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.wait_for_block", false]], "wait_for_block() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.wait_for_block", false]], "wait_for_finalization (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.wait_for_finalization", false]], "wait_for_inclusion (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.wait_for_inclusion", false]], "wait_next_epoch() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[103, "bittensor.extras.dev_framework.subnet.TestSubnet.wait_next_epoch", false]], "wait_reveal_and_decrypt() (in module bittensor.core.timelock)": [[96, "bittensor.core.timelock.wait_reveal_and_decrypt", false]], "wait_reveal_and_decrypt() (in module bittensor.extras.timelock)": [[118, "bittensor.extras.timelock.wait_reveal_and_decrypt", false]], "wallet (bittensor.core.axon.axon attribute)": [[1, "bittensor.core.axon.Axon.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER.wallet", false], [99, "id2", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.adjust_senate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.announce attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.apply_authorized_upgrade attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_derivative attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi_threshold_1 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade_without_checks attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burn attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burned_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.change_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY.wallet", false], [99, "id7", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_prime attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME.wallet", false], [99, "id10", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.contribute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.wallet", false], [99, "id13", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.decrease_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.disable_whitelist attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.disapprove_proposal attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as_fallible attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.ensure_updated attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.enter attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.execute attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.extend attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.finalize attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_adjust_total_issuance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_batch attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_enter attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_exit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_extend attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_set_balance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_slash_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_unreserve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.if_else attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.increase_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_prefix attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_storage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.note_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.note_stalled attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.wallet", false], [99, "id16", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.refund attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_leased_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network_with_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reject_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.release_deposit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remark attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remark_with_event attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_announcement attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER.wallet", false], [99, "id19", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxies attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation_unsigned attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.request_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reset_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS.wallet", false], [99, "id24", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.root_dissolve_network attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.root_register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_base_fee_per_gas attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_beacon_config attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code_without_checks attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_coldkey_auto_stake_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_commitment attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_elasticity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_fee_rate attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_heap_pages attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.wallet", false], [99, "id27", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_key attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_max_space attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_oldest_stored_round attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_pending_childkey_cooldown attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_prime attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME.wallet", false], [99, "id30", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_storage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_whitelist attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.start_call attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.sudo attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO.wallet", false], [99, "id35", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_authorities attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER.wallet", false], [99, "id40", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.terminate_lease attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.toggle_user_liquidity attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transact attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_allow_death attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_keep_alive attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.try_associate_hotkey attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unnote_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unrequest_preimage attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all_alpha attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_cap attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_end attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_min_contribution attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_symbol attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.upgrade_accounts attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.wallet", false], [99, "id46", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.with_weight attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.wallet", false], [99, "id49", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.write_pulse attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_admin_freeze_window attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ck_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_coldkey_swap_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_version attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_default_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_dissolve_network_schedule_duration attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_evm_chain_id attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_lock_reduction_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_childkey_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_delegate_take attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_immunity_period attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_min_lock_cost attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_nominator_min_required_stake attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_hparam_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_stake_threshold attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_moving_alpha attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_cut attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_total_issuance attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_childkey_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_delegate_take_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.wallet", false], [101, "id4", false]], "wallet (bittensor.extras.dev_framework.utils.activatesubnet attribute)": [[104, "bittensor.extras.dev_framework.utils.ActivateSubnet.wallet", false]], "wallet (bittensor.extras.dev_framework.utils.registerneuron attribute)": [[104, "bittensor.extras.dev_framework.utils.RegisterNeuron.wallet", false]], "wallet (bittensor.extras.dev_framework.utils.registersubnet attribute)": [[104, "bittensor.extras.dev_framework.utils.RegisterSubnet.wallet", false]], "wallet (bittensor.utils.subnets.subnetsapi attribute)": [[138, "bittensor.utils.subnets.SubnetsAPI.wallet", false]], "wallet (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.wallet", false]], "wallets (bittensor.core.subtensor_api.subtensorapi property)": [[85, "bittensor.core.subtensor_api.SubtensorApi.wallets", false]], "wallets (bittensor.extras.subtensor_api.subtensorapi property)": [[110, "bittensor.extras.subtensor_api.SubtensorApi.wallets", false]], "wallets (class in bittensor.core.subtensor_api.wallets)": [[92, "bittensor.core.subtensor_api.wallets.Wallets", false]], "wallets (class in bittensor.extras.subtensor_api.wallets)": [[117, "bittensor.extras.subtensor_api.wallets.Wallets", false]], "wallets_dir (in module bittensor.core.settings)": [[78, "bittensor.core.settings.WALLETS_DIR", false]], "warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Warning", false]], "warning() (bittensor.utils.btlogging.console.bittensorconsole method)": [[122, "bittensor.utils.btlogging.console.BittensorConsole.warning", false]], "warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[128, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.warning", false]], "warning() (in module bittensor.utils.btlogging.levels)": [[127, "bittensor.utils.btlogging.levels.warning", false]], "warning() (in module bittensor.utils.easy_imports)": [[129, "bittensor.utils.easy_imports.warning", false]], "weight (bittensor.extras.dev_framework.calls.non_sudo_calls.with_weight attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT.weight", false]], "weight (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.weight", false], [101, "id5", false]], "weightcommitinfo (class in bittensor.core.chain_data.weight_commit_info)": [[23, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo", false]], "weights (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[11, "bittensor.core.chain_data.neuron_info.NeuronInfo.weights", false]], "weights (bittensor.core.metagraph.metagraphmixin attribute)": [[77, "bittensor.core.metagraph.MetagraphMixin.weights", false]], "weights (bittensor.core.metagraph.nontorchmetagraph attribute)": [[77, "bittensor.core.metagraph.NonTorchMetagraph.weights", false]], "weights (bittensor.core.metagraph.torchmetagraph attribute)": [[77, "bittensor.core.metagraph.TorchMetagraph.weights", false]], "weights (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.weights", false]], "weights (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.weights", false]], "weights (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.weights", false]], "weights (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.weights", false]], "weights (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.weights", false]], "weights (in module bittensor.core.types)": [[97, "bittensor.core.types.Weights", false]], "weights() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights", false]], "weights() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.weights", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.subtensor_api.subnets.subnets attribute)": [[90, "bittensor.core.subtensor_api.subnets.Subnets.weights_rate_limit", false]], "weights_rate_limit (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[115, "bittensor.extras.subtensor_api.subnets.Subnets.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.async_subtensor.asyncsubtensor method)": [[0, "bittensor.core.async_subtensor.AsyncSubtensor.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.subtensor.subtensor method)": [[80, "bittensor.core.subtensor.Subtensor.weights_rate_limit", false]], "weights_set_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.weights_set_rate_limit", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_version", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[10, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_version", false]], "weights_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_version", false]], "weights_version_key (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.weights_version_key", false]], "weightsparams (class in bittensor.core.extrinsics.params.weights)": [[63, "bittensor.core.extrinsics.params.weights.WeightsParams", false]], "weightsratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsRateLimit", false]], "weightsversion (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[10, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsVersion", false]], "when (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL.when", false]], "when (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.when", false]], "when (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.when", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.add_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER.who", false], [99, "id3", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.force_set_balance attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE.who", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.force_unreserve attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE.who", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_member attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER.who", false], [99, "id20", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.set_prime attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME.who", false], [99, "id31", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.upgrade_accounts attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS.who", false]], "who (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.who", false]], "window (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_admin_freeze_window attribute)": [[101, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW.window", false]], "with_weight (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT", false]], "withdraw (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW", false], [99, "id47", false]], "work (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.work", false]], "work (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.work", false]], "write_pulse (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[99, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE", false]], "xxh128() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.xxh128", false]], "xxh64() (in module bittensor.utils.substrate_utils.hasher)": [[139, "bittensor.utils.substrate_utils.hasher.xxh64", false]], "yuma_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[18, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.yuma_version", false]]}, "objects": {"": [[119, 0, 0, "-", "bittensor"]], "bittensor": [[76, 0, 0, "-", "core"], [105, 0, 0, "-", "extras"], [131, 0, 0, "-", "utils"]], "bittensor.core": [[0, 0, 0, "-", "async_subtensor"], [1, 0, 0, "-", "axon"], [7, 0, 0, "-", "chain_data"], [24, 0, 0, "-", "config"], [25, 0, 0, "-", "dendrite"], [26, 0, 0, "-", "errors"], [47, 0, 0, "-", "extrinsics"], [77, 0, 0, "-", "metagraph"], [78, 0, 0, "-", "settings"], [79, 0, 0, "-", "stream"], [80, 0, 0, "-", "subtensor"], [85, 0, 0, "-", "subtensor_api"], [93, 0, 0, "-", "synapse"], [94, 0, 0, "-", "tensor"], [95, 0, 0, "-", "threadpool"], [96, 0, 0, "-", "timelock"], [97, 0, 0, "-", "types"]], "bittensor.core.async_subtensor": [[0, 1, 1, "", "AsyncSubtensor"], [0, 5, 1, "", "get_async_subtensor"]], "bittensor.core.async_subtensor.AsyncSubtensor": [[0, 2, 1, "", "add_liquidity"], [0, 2, 1, "", "add_stake"], [0, 2, 1, "", "add_stake_multiple"], [0, 2, 1, "", "all_subnets"], [0, 3, 1, "", "block"], [0, 2, 1, "", "blocks_since_last_step"], [0, 2, 1, "", "blocks_since_last_update"], [0, 2, 1, "", "bonds"], [0, 2, 1, "", "burned_register"], [0, 2, 1, "", "close"], [0, 2, 1, "", "commit"], [0, 2, 1, "", "commit_reveal_enabled"], [0, 2, 1, "", "commit_weights"], [0, 2, 1, "", "determine_block_hash"], [0, 2, 1, "", "difficulty"], [0, 2, 1, "", "does_hotkey_exist"], [0, 2, 1, "", "encode_params"], [0, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [0, 2, 1, "", "get_admin_freeze_window"], [0, 2, 1, "", "get_all_commitments"], [0, 2, 1, "", "get_all_metagraphs_info"], [0, 2, 1, "", "get_all_neuron_certificates"], [0, 2, 1, "", "get_all_revealed_commitments"], [0, 2, 1, "", "get_all_subnets_info"], [0, 2, 1, "", "get_balance"], [0, 2, 1, "", "get_balances"], [0, 2, 1, "", "get_block_hash"], [0, 2, 1, "", "get_children"], [0, 2, 1, "", "get_children_pending"], [0, 2, 1, "", "get_commitment"], [0, 2, 1, "", "get_current_block"], [0, 2, 1, "", "get_current_weight_commit_info"], [0, 2, 1, "", "get_current_weight_commit_info_v2"], [0, 2, 1, "", "get_delegate_by_hotkey"], [0, 2, 1, "", "get_delegate_identities"], [0, 2, 1, "", "get_delegate_take"], [0, 2, 1, "", "get_delegated"], [0, 2, 1, "", "get_delegates"], [0, 2, 1, "", "get_existential_deposit"], [0, 2, 1, "", "get_hotkey_owner"], [0, 4, 1, "", "get_hotkey_stake"], [0, 2, 1, "", "get_hyperparameter"], [0, 2, 1, "", "get_last_commitment_bonds_reset_block"], [0, 2, 1, "", "get_liquidity_list"], [0, 2, 1, "", "get_mechanism_count"], [0, 2, 1, "", "get_mechanism_emission_split"], [0, 2, 1, "", "get_metagraph_info"], [0, 2, 1, "", "get_minimum_required_stake"], [0, 2, 1, "", "get_netuids_for_hotkey"], [0, 2, 1, "", "get_neuron_certificate"], [0, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [0, 2, 1, "", "get_next_epoch_start_block"], [0, 2, 1, "", "get_owned_hotkeys"], [0, 2, 1, "", "get_parents"], [0, 2, 1, "", "get_revealed_commitment"], [0, 2, 1, "", "get_revealed_commitment_by_hotkey"], [0, 2, 1, "", "get_stake"], [0, 2, 1, "", "get_stake_add_fee"], [0, 2, 1, "", "get_stake_for_coldkey"], [0, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [0, 2, 1, "", "get_stake_for_hotkey"], [0, 4, 1, "", "get_stake_info_for_coldkey"], [0, 2, 1, "", "get_stake_movement_fee"], [0, 2, 1, "", "get_stake_operations_fee"], [0, 2, 1, "", "get_stake_weight"], [0, 2, 1, "", "get_subnet_burn_cost"], [0, 2, 1, "", "get_subnet_hyperparameters"], [0, 2, 1, "", "get_subnet_info"], [0, 2, 1, "", "get_subnet_owner_hotkey"], [0, 2, 1, "", "get_subnet_price"], [0, 2, 1, "", "get_subnet_prices"], [0, 2, 1, "", "get_subnet_reveal_period_epochs"], [0, 2, 1, "", "get_subnet_validator_permits"], [0, 2, 1, "", "get_subnets"], [0, 2, 1, "", "get_timelocked_weight_commits"], [0, 2, 1, "", "get_timestamp"], [0, 2, 1, "", "get_total_subnets"], [0, 2, 1, "", "get_transfer_fee"], [0, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [0, 2, 1, "", "get_unstake_fee"], [0, 2, 1, "", "get_vote_data"], [0, 2, 1, "", "immunity_period"], [0, 2, 1, "", "initialize"], [0, 2, 1, "", "is_fast_blocks"], [0, 2, 1, "", "is_hotkey_delegate"], [0, 2, 1, "", "is_hotkey_registered"], [0, 2, 1, "", "is_hotkey_registered_any"], [0, 2, 1, "", "is_hotkey_registered_on_subnet"], [0, 2, 1, "", "is_in_admin_freeze_window"], [0, 2, 1, "", "is_subnet_active"], [0, 2, 1, "", "last_drand_round"], [0, 4, 1, "", "log_verbose"], [0, 2, 1, "", "max_weight_limit"], [0, 2, 1, "", "metagraph"], [0, 2, 1, "", "min_allowed_weights"], [0, 2, 1, "", "modify_liquidity"], [0, 2, 1, "", "move_stake"], [0, 2, 1, "", "neuron_for_uid"], [0, 2, 1, "", "neurons"], [0, 2, 1, "", "neurons_lite"], [0, 2, 1, "", "query_constant"], [0, 2, 1, "", "query_identity"], [0, 2, 1, "", "query_map"], [0, 2, 1, "", "query_map_subtensor"], [0, 2, 1, "", "query_module"], [0, 2, 1, "", "query_runtime_api"], [0, 2, 1, "", "query_subtensor"], [0, 2, 1, "", "recycle"], [0, 2, 1, "", "register"], [0, 2, 1, "", "register_subnet"], [0, 2, 1, "", "remove_liquidity"], [0, 2, 1, "", "reveal_weights"], [0, 2, 1, "", "root_register"], [0, 2, 1, "", "root_set_pending_childkey_cooldown"], [0, 2, 1, "", "root_set_weights"], [0, 2, 1, "", "serve_axon"], [0, 2, 1, "", "set_children"], [0, 4, 1, "", "set_commitment"], [0, 2, 1, "", "set_delegate_take"], [0, 2, 1, "", "set_reveal_commitment"], [0, 2, 1, "", "set_subnet_identity"], [0, 2, 1, "", "set_weights"], [0, 2, 1, "", "sign_and_send_extrinsic"], [0, 2, 1, "", "start_call"], [0, 2, 1, "", "state_call"], [0, 2, 1, "", "subnet"], [0, 2, 1, "", "subnet_exists"], [0, 2, 1, "", "subnetwork_n"], [0, 4, 1, "", "substrate"], [0, 2, 1, "", "swap_stake"], [0, 2, 1, "", "tempo"], [0, 2, 1, "", "toggle_user_liquidity"], [0, 2, 1, "", "transfer"], [0, 2, 1, "", "transfer_stake"], [0, 2, 1, "", "tx_rate_limit"], [0, 2, 1, "", "unstake"], [0, 2, 1, "", "unstake_all"], [0, 2, 1, "", "unstake_multiple"], [0, 2, 1, "", "wait_for_block"], [0, 2, 1, "", "weights"], [0, 2, 1, "", "weights_rate_limit"]], "bittensor.core.axon": [[1, 1, 1, "", "Axon"], [1, 1, 1, "", "AxonMiddleware"], [1, 1, 1, "", "FastAPIThreadedServer"], [1, 6, 1, "", "V_7_2_0"], [1, 5, 1, "", "create_error_response"], [1, 5, 1, "", "log_and_handle_error"]], "bittensor.core.axon.Axon": [[1, 2, 1, "", "add_args"], [1, 4, 1, "", "app"], [1, 2, 1, "", "attach"], [1, 4, 1, "", "blacklist_fns"], [1, 2, 1, "", "check_config"], [1, 2, 1, "", "config"], [1, 2, 1, "", "default_verify"], [1, 4, 1, "", "external_ip"], [1, 4, 1, "", "external_port"], [1, 4, 1, "", "fast_config"], [1, 4, 1, "", "fast_server"], [1, 4, 1, "", "forward_class_types"], [1, 4, 1, "", "forward_fns"], [1, 4, 1, "", "full_address"], [1, 2, 1, "", "help"], [1, 2, 1, "", "info"], [1, 4, 1, "", "ip"], [1, 4, 1, "", "middleware_cls"], [1, 4, 1, "", "nonces"], [1, 4, 1, "", "port"], [1, 4, 1, "", "priority_fns"], [1, 4, 1, "", "router"], [1, 2, 1, "", "serve"], [1, 2, 1, "", "start"], [1, 4, 1, "", "started"], [1, 2, 1, "", "stop"], [1, 4, 1, "", "thread_pool"], [1, 2, 1, "", "to_string"], [1, 4, 1, "", "uuid"], [1, 2, 1, "", "verify_body_integrity"], [1, 4, 1, "", "verify_fns"], [1, 4, 1, "", "wallet"]], "bittensor.core.axon.AxonMiddleware": [[1, 4, 1, "", "axon"], [1, 2, 1, "", "blacklist"], [1, 2, 1, "", "dispatch"], [1, 2, 1, "", "preprocess"], [1, 2, 1, "", "priority"], [1, 2, 1, "", "run"], [1, 2, 1, "", "synapse_to_response"], [1, 2, 1, "", "verify"]], "bittensor.core.axon.FastAPIThreadedServer": [[1, 2, 1, "", "install_signal_handlers"], [1, 4, 1, "", "is_running"], [1, 2, 1, "", "run_in_thread"], [1, 4, 1, "", "should_exit"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"]], "bittensor.core.chain_data": [[2, 0, 0, "-", "axon_info"], [3, 0, 0, "-", "chain_identity"], [4, 0, 0, "-", "delegate_info"], [5, 0, 0, "-", "delegate_info_lite"], [6, 0, 0, "-", "dynamic_info"], [8, 0, 0, "-", "info_base"], [9, 0, 0, "-", "ip_info"], [10, 0, 0, "-", "metagraph_info"], [11, 0, 0, "-", "neuron_info"], [12, 0, 0, "-", "neuron_info_lite"], [13, 0, 0, "-", "prometheus_info"], [14, 0, 0, "-", "proposal_vote_data"], [15, 0, 0, "-", "scheduled_coldkey_swap_info"], [16, 0, 0, "-", "sim_swap"], [17, 0, 0, "-", "stake_info"], [18, 0, 0, "-", "subnet_hyperparameters"], [19, 0, 0, "-", "subnet_identity"], [20, 0, 0, "-", "subnet_info"], [21, 0, 0, "-", "subnet_state"], [22, 0, 0, "-", "utils"], [23, 0, 0, "-", "weight_commit_info"]], "bittensor.core.chain_data.axon_info": [[2, 1, 1, "", "AxonInfo"]], "bittensor.core.chain_data.axon_info.AxonInfo": [[2, 4, 1, "", "coldkey"], [2, 2, 1, "", "from_neuron_info"], [2, 2, 1, "", "from_parameter_dict"], [2, 2, 1, "", "from_string"], [2, 4, 1, "", "hotkey"], [2, 4, 1, "", "ip"], [2, 2, 1, "", "ip_str"], [2, 4, 1, "", "ip_type"], [2, 3, 1, "", "is_serving"], [2, 4, 1, "", "placeholder1"], [2, 4, 1, "", "placeholder2"], [2, 4, 1, "", "port"], [2, 4, 1, "", "protocol"], [2, 2, 1, "", "to_parameter_dict"], [2, 2, 1, "", "to_string"], [2, 4, 1, "", "version"]], "bittensor.core.chain_data.chain_identity": [[3, 1, 1, "", "ChainIdentity"]], "bittensor.core.chain_data.chain_identity.ChainIdentity": [[3, 4, 1, "", "additional"], [3, 4, 1, "", "description"], [3, 4, 1, "", "discord"], [3, 4, 1, "", "github"], [3, 4, 1, "", "image"], [3, 4, 1, "", "name"], [3, 4, 1, "", "url"]], "bittensor.core.chain_data.delegate_info": [[4, 1, 1, "", "DelegateInfo"], [4, 1, 1, "", "DelegateInfoBase"], [4, 1, 1, "", "DelegatedInfo"]], "bittensor.core.chain_data.delegate_info.DelegateInfo": [[4, 4, 1, "", "nominators"], [4, 4, 1, "", "total_stake"]], "bittensor.core.chain_data.delegate_info.DelegateInfoBase": [[4, 4, 1, "", "hotkey_ss58"], [4, 4, 1, "", "owner_ss58"], [4, 4, 1, "", "registrations"], [4, 4, 1, "", "return_per_1000"], [4, 4, 1, "", "take"], [4, 4, 1, "", "total_daily_return"], [4, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.delegate_info.DelegatedInfo": [[4, 4, 1, "", "netuid"], [4, 4, 1, "", "stake"]], "bittensor.core.chain_data.delegate_info_lite": [[5, 1, 1, "", "DelegateInfoLite"]], "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite": [[5, 4, 1, "", "delegate_ss58"], [5, 4, 1, "", "nominators"], [5, 4, 1, "", "owner_ss58"], [5, 4, 1, "", "registrations"], [5, 4, 1, "", "return_per_1000"], [5, 4, 1, "", "take"], [5, 4, 1, "", "total_daily_return"], [5, 4, 1, "", "validator_permits"]], "bittensor.core.chain_data.dynamic_info": [[6, 1, 1, "", "DynamicInfo"]], "bittensor.core.chain_data.dynamic_info.DynamicInfo": [[6, 4, 1, "", "alpha_in"], [6, 4, 1, "", "alpha_in_emission"], [6, 4, 1, "", "alpha_out"], [6, 4, 1, "", "alpha_out_emission"], [6, 4, 1, "", "alpha_slippage"], [6, 2, 1, "", "alpha_to_tao"], [6, 2, 1, "", "alpha_to_tao_with_slippage"], [6, 4, 1, "", "blocks_since_last_step"], [6, 4, 1, "", "emission"], [6, 4, 1, "", "is_dynamic"], [6, 4, 1, "", "k"], [6, 4, 1, "", "last_step"], [6, 4, 1, "", "moving_price"], [6, 4, 1, "", "netuid"], [6, 4, 1, "", "network_registered_at"], [6, 4, 1, "", "owner_coldkey"], [6, 4, 1, "", "owner_hotkey"], [6, 4, 1, "", "pending_alpha_emission"], [6, 4, 1, "", "pending_root_emission"], [6, 4, 1, "", "price"], [6, 4, 1, "", "slippage"], [6, 4, 1, "", "subnet_identity"], [6, 4, 1, "", "subnet_name"], [6, 4, 1, "", "subnet_volume"], [6, 4, 1, "", "symbol"], [6, 4, 1, "", "tao_in"], [6, 4, 1, "", "tao_in_emission"], [6, 4, 1, "", "tao_slippage"], [6, 2, 1, "", "tao_to_alpha"], [6, 2, 1, "", "tao_to_alpha_with_slippage"], [6, 4, 1, "", "tempo"]], "bittensor.core.chain_data.info_base": [[8, 1, 1, "", "InfoBase"], [8, 6, 1, "", "T"]], "bittensor.core.chain_data.info_base.InfoBase": [[8, 2, 1, "", "from_dict"], [8, 2, 1, "", "list_from_dicts"]], "bittensor.core.chain_data.ip_info": [[9, 1, 1, "", "IPInfo"]], "bittensor.core.chain_data.ip_info.IPInfo": [[9, 2, 1, "", "encode"], [9, 2, 1, "", "from_parameter_dict"], [9, 4, 1, "", "ip"], [9, 4, 1, "", "ip_type"], [9, 4, 1, "", "protocol"], [9, 2, 1, "", "to_parameter_dict"]], "bittensor.core.chain_data.metagraph_info": [[10, 1, 1, "", "MetagraphInfo"], [10, 1, 1, "", "MetagraphInfoEmissions"], [10, 1, 1, "", "MetagraphInfoParams"], [10, 1, 1, "", "MetagraphInfoPool"], [10, 6, 1, "", "SELECTIVE_METAGRAPH_COMMITMENTS_OFFSET"], [10, 1, 1, "", "SelectiveMetagraphIndex"], [10, 5, 1, "", "get_selective_metagraph_commitments"], [10, 5, 1, "", "process_nested"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfo": [[10, 4, 1, "", "active"], [10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_dividends_per_hotkey"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "alpha_stake"], [10, 4, 1, "", "axons"], [10, 4, 1, "", "block"], [10, 4, 1, "", "block_at_registration"], [10, 4, 1, "", "blocks_since_last_step"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "coldkeys"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "commitments"], [10, 4, 1, "", "consensus"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "dividends"], [10, 4, 1, "", "emission"], [10, 4, 1, "", "hotkeys"], [10, 4, 1, "", "identities"], [10, 4, 1, "", "identity"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "incentives"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "last_step"], [10, 4, 1, "", "last_update"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_uids"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "mechid"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "name"], [10, 4, 1, "", "netuid"], [10, 4, 1, "", "network_registered_at"], [10, 4, 1, "", "num_uids"], [10, 4, 1, "", "owner_coldkey"], [10, 4, 1, "", "owner_hotkey"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "pruning_score"], [10, 4, 1, "", "rank"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "symbol"], [10, 4, 1, "", "tao_dividends_per_hotkey"], [10, 4, 1, "", "tao_in"], [10, 4, 1, "", "tao_in_emission"], [10, 4, 1, "", "tao_stake"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "total_stake"], [10, 4, 1, "", "trust"], [10, 4, 1, "", "validator_permit"], [10, 4, 1, "", "validators"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions": [[10, 4, 1, "", "alpha_in_emission"], [10, 4, 1, "", "alpha_out_emission"], [10, 4, 1, "", "pending_alpha_emission"], [10, 4, 1, "", "pending_root_emission"], [10, 4, 1, "", "subnet_emission"], [10, 4, 1, "", "tao_in_emission"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams": [[10, 4, 1, "", "activity_cutoff"], [10, 4, 1, "", "adjustment_alpha"], [10, 4, 1, "", "adjustment_interval"], [10, 4, 1, "", "alpha_high"], [10, 4, 1, "", "alpha_low"], [10, 4, 1, "", "bonds_moving_avg"], [10, 4, 1, "", "burn"], [10, 4, 1, "", "commit_reveal_period"], [10, 4, 1, "", "commit_reveal_weights_enabled"], [10, 4, 1, "", "difficulty"], [10, 4, 1, "", "immunity_period"], [10, 4, 1, "", "kappa"], [10, 4, 1, "", "liquid_alpha_enabled"], [10, 4, 1, "", "max_burn"], [10, 4, 1, "", "max_difficulty"], [10, 4, 1, "", "max_regs_per_block"], [10, 4, 1, "", "max_validators"], [10, 4, 1, "", "max_weights_limit"], [10, 4, 1, "", "min_allowed_weights"], [10, 4, 1, "", "min_burn"], [10, 4, 1, "", "min_difficulty"], [10, 4, 1, "", "pow_registration_allowed"], [10, 4, 1, "", "registration_allowed"], [10, 4, 1, "", "rho"], [10, 4, 1, "", "serving_rate_limit"], [10, 4, 1, "", "target_regs_per_interval"], [10, 4, 1, "", "tempo"], [10, 4, 1, "", "weights_rate_limit"], [10, 4, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool": [[10, 4, 1, "", "alpha_in"], [10, 4, 1, "", "alpha_out"], [10, 4, 1, "", "moving_price"], [10, 4, 1, "", "subnet_volume"], [10, 4, 1, "", "tao_in"]], "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex": [[10, 4, 1, "", "Active"], [10, 4, 1, "", "ActivityCutoff"], [10, 4, 1, "", "AdjustmentAlpha"], [10, 4, 1, "", "AdjustmentInterval"], [10, 4, 1, "", "AlphaDividendsPerHotkey"], [10, 4, 1, "", "AlphaHigh"], [10, 4, 1, "", "AlphaIn"], [10, 4, 1, "", "AlphaInEmission"], [10, 4, 1, "", "AlphaLow"], [10, 4, 1, "", "AlphaOut"], [10, 4, 1, "", "AlphaOutEmission"], [10, 4, 1, "", "AlphaStake"], [10, 4, 1, "", "Axons"], [10, 4, 1, "", "Block"], [10, 4, 1, "", "BlockAtRegistration"], [10, 4, 1, "", "BlocksSinceLastStep"], [10, 4, 1, "", "BondsMovingAvg"], [10, 4, 1, "", "Burn"], [10, 4, 1, "", "Coldkeys"], [10, 4, 1, "", "CommitRevealPeriod"], [10, 4, 1, "", "CommitRevealWeightsEnabled"], [10, 4, 1, "", "Commitments"], [10, 4, 1, "", "Consensus"], [10, 4, 1, "", "Difficulty"], [10, 4, 1, "", "Dividends"], [10, 4, 1, "", "Emission"], [10, 4, 1, "", "Hotkeys"], [10, 4, 1, "", "Identities"], [10, 4, 1, "", "Identity"], [10, 4, 1, "", "ImmunityPeriod"], [10, 4, 1, "", "Incentives"], [10, 4, 1, "", "Kappa"], [10, 4, 1, "", "LastStep"], [10, 4, 1, "", "LastUpdate"], [10, 4, 1, "", "LiquidAlphaEnabled"], [10, 4, 1, "", "MaxBurn"], [10, 4, 1, "", "MaxDifficulty"], [10, 4, 1, "", "MaxRegsPerBlock"], [10, 4, 1, "", "MaxUids"], [10, 4, 1, "", "MaxValidators"], [10, 4, 1, "", "MaxWeightsLimit"], [10, 4, 1, "", "MinAllowedWeights"], [10, 4, 1, "", "MinBurn"], [10, 4, 1, "", "MinDifficulty"], [10, 4, 1, "", "MovingPrice"], [10, 4, 1, "", "Name"], [10, 4, 1, "", "Netuid"], [10, 4, 1, "", "NetworkRegisteredAt"], [10, 4, 1, "", "NumUids"], [10, 4, 1, "", "OwnerColdkey"], [10, 4, 1, "", "OwnerHotkey"], [10, 4, 1, "", "PendingAlphaEmission"], [10, 4, 1, "", "PendingRootEmission"], [10, 4, 1, "", "PowRegistrationAllowed"], [10, 4, 1, "", "PruningScore"], [10, 4, 1, "", "Rank"], [10, 4, 1, "", "RegistrationAllowed"], [10, 4, 1, "", "Rho"], [10, 4, 1, "", "ServingRateLimit"], [10, 4, 1, "", "SubnetEmission"], [10, 4, 1, "", "SubnetVolume"], [10, 4, 1, "", "Symbol"], [10, 4, 1, "", "TaoDividendsPerHotkey"], [10, 4, 1, "", "TaoIn"], [10, 4, 1, "", "TaoInEmission"], [10, 4, 1, "", "TaoStake"], [10, 4, 1, "", "TargetRegsPerInterval"], [10, 4, 1, "", "Tempo"], [10, 4, 1, "", "TotalStake"], [10, 4, 1, "", "Trust"], [10, 4, 1, "", "ValidatorPermit"], [10, 4, 1, "", "Validators"], [10, 4, 1, "", "WeightsRateLimit"], [10, 4, 1, "", "WeightsVersion"], [10, 2, 1, "", "all_indices"]], "bittensor.core.chain_data.neuron_info": [[11, 1, 1, "", "NeuronInfo"]], "bittensor.core.chain_data.neuron_info.NeuronInfo": [[11, 4, 1, "", "active"], [11, 4, 1, "", "axon_info"], [11, 4, 1, "", "bonds"], [11, 4, 1, "", "coldkey"], [11, 4, 1, "", "consensus"], [11, 4, 1, "", "dividends"], [11, 4, 1, "", "emission"], [11, 2, 1, "", "from_weights_bonds_and_neuron_lite"], [11, 2, 1, "", "get_null_neuron"], [11, 4, 1, "", "hotkey"], [11, 4, 1, "", "incentive"], [11, 4, 1, "", "is_null"], [11, 4, 1, "", "last_update"], [11, 4, 1, "", "netuid"], [11, 4, 1, "", "prometheus_info"], [11, 4, 1, "", "pruning_score"], [11, 4, 1, "", "rank"], [11, 4, 1, "", "stake"], [11, 4, 1, "", "stake_dict"], [11, 4, 1, "", "total_stake"], [11, 4, 1, "", "trust"], [11, 4, 1, "", "uid"], [11, 4, 1, "", "validator_permit"], [11, 4, 1, "", "validator_trust"], [11, 4, 1, "", "weights"]], "bittensor.core.chain_data.neuron_info_lite": [[12, 1, 1, "", "NeuronInfoLite"]], "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite": [[12, 4, 1, "", "active"], [12, 4, 1, "", "axon_info"], [12, 4, 1, "", "coldkey"], [12, 4, 1, "", "consensus"], [12, 4, 1, "", "dividends"], [12, 4, 1, "", "emission"], [12, 2, 1, "id0", "get_null_neuron"], [12, 4, 1, "", "hotkey"], [12, 4, 1, "", "incentive"], [12, 4, 1, "", "is_null"], [12, 4, 1, "", "last_update"], [12, 2, 1, "", "list_from_vec_u8"], [12, 4, 1, "", "netuid"], [12, 4, 1, "", "prometheus_info"], [12, 4, 1, "", "pruning_score"], [12, 4, 1, "", "rank"], [12, 4, 1, "", "stake"], [12, 4, 1, "", "stake_dict"], [12, 4, 1, "", "total_stake"], [12, 4, 1, "", "trust"], [12, 4, 1, "", "uid"], [12, 4, 1, "", "validator_permit"], [12, 4, 1, "", "validator_trust"]], "bittensor.core.chain_data.prometheus_info": [[13, 1, 1, "", "PrometheusInfo"]], "bittensor.core.chain_data.prometheus_info.PrometheusInfo": [[13, 4, 1, "", "block"], [13, 4, 1, "", "ip"], [13, 4, 1, "", "ip_type"], [13, 4, 1, "", "port"], [13, 4, 1, "", "version"]], "bittensor.core.chain_data.proposal_vote_data": [[14, 1, 1, "", "ProposalVoteData"]], "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData": [[14, 4, 1, "", "ayes"], [14, 4, 1, "", "end"], [14, 2, 1, "", "from_dict"], [14, 4, 1, "", "index"], [14, 4, 1, "", "nays"], [14, 4, 1, "", "threshold"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[15, 1, 1, "", "ScheduledColdkeySwapInfo"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo": [[15, 4, 1, "", "arbitration_block"], [15, 2, 1, "", "decode_account_id_list"], [15, 4, 1, "", "new_coldkey"], [15, 4, 1, "", "old_coldkey"]], "bittensor.core.chain_data.sim_swap": [[16, 1, 1, "", "SimSwapResult"]], "bittensor.core.chain_data.sim_swap.SimSwapResult": [[16, 4, 1, "", "alpha_amount"], [16, 4, 1, "", "alpha_fee"], [16, 2, 1, "", "from_dict"], [16, 4, 1, "", "tao_amount"], [16, 4, 1, "", "tao_fee"]], "bittensor.core.chain_data.stake_info": [[17, 1, 1, "", "StakeInfo"]], "bittensor.core.chain_data.stake_info.StakeInfo": [[17, 4, 1, "", "coldkey_ss58"], [17, 4, 1, "", "drain"], [17, 4, 1, "", "emission"], [17, 2, 1, "", "from_dict"], [17, 4, 1, "", "hotkey_ss58"], [17, 4, 1, "", "is_registered"], [17, 4, 1, "", "locked"], [17, 4, 1, "", "netuid"], [17, 4, 1, "", "stake"]], "bittensor.core.chain_data.subnet_hyperparameters": [[18, 1, 1, "", "SubnetHyperparameters"]], "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters": [[18, 4, 1, "", "activity_cutoff"], [18, 4, 1, "", "adjustment_alpha"], [18, 4, 1, "", "adjustment_interval"], [18, 4, 1, "", "alpha_high"], [18, 4, 1, "", "alpha_low"], [18, 4, 1, "", "alpha_sigmoid_steepness"], [18, 4, 1, "", "bonds_moving_avg"], [18, 4, 1, "", "bonds_reset_enabled"], [18, 4, 1, "", "commit_reveal_period"], [18, 4, 1, "", "commit_reveal_weights_enabled"], [18, 4, 1, "", "difficulty"], [18, 4, 1, "", "immunity_period"], [18, 4, 1, "", "kappa"], [18, 4, 1, "", "liquid_alpha_enabled"], [18, 4, 1, "", "max_burn"], [18, 4, 1, "", "max_difficulty"], [18, 4, 1, "", "max_regs_per_block"], [18, 4, 1, "", "max_validators"], [18, 4, 1, "", "max_weight_limit"], [18, 4, 1, "", "min_allowed_weights"], [18, 4, 1, "", "min_burn"], [18, 4, 1, "", "min_difficulty"], [18, 4, 1, "", "registration_allowed"], [18, 4, 1, "", "rho"], [18, 4, 1, "", "serving_rate_limit"], [18, 4, 1, "", "subnet_is_active"], [18, 4, 1, "", "target_regs_per_interval"], [18, 4, 1, "", "tempo"], [18, 4, 1, "", "transfers_enabled"], [18, 4, 1, "", "user_liquidity_enabled"], [18, 4, 1, "", "weights_rate_limit"], [18, 4, 1, "", "weights_version"], [18, 4, 1, "", "yuma_version"]], "bittensor.core.chain_data.subnet_identity": [[19, 1, 1, "", "SubnetIdentity"]], "bittensor.core.chain_data.subnet_identity.SubnetIdentity": [[19, 4, 1, "", "additional"], [19, 4, 1, "", "description"], [19, 4, 1, "", "discord"], [19, 4, 1, "", "github_repo"], [19, 4, 1, "", "logo_url"], [19, 4, 1, "", "subnet_contact"], [19, 4, 1, "", "subnet_name"], [19, 4, 1, "", "subnet_url"]], "bittensor.core.chain_data.subnet_info": [[20, 1, 1, "", "SubnetInfo"]], "bittensor.core.chain_data.subnet_info.SubnetInfo": [[20, 4, 1, "", "blocks_since_epoch"], [20, 4, 1, "", "burn"], [20, 4, 1, "", "connection_requirements"], [20, 4, 1, "", "difficulty"], [20, 4, 1, "", "emission_value"], [20, 4, 1, "", "immunity_period"], [20, 4, 1, "", "kappa"], [20, 4, 1, "", "max_allowed_validators"], [20, 4, 1, "", "max_n"], [20, 4, 1, "", "max_weight_limit"], [20, 4, 1, "", "min_allowed_weights"], [20, 4, 1, "", "modality"], [20, 4, 1, "", "netuid"], [20, 4, 1, "", "owner_ss58"], [20, 4, 1, "", "rho"], [20, 4, 1, "", "scaling_law_power"], [20, 4, 1, "", "subnetwork_n"], [20, 4, 1, "", "tempo"]], "bittensor.core.chain_data.subnet_state": [[21, 1, 1, "", "SubnetState"]], "bittensor.core.chain_data.subnet_state.SubnetState": [[21, 4, 1, "", "active"], [21, 4, 1, "", "alpha_stake"], [21, 4, 1, "", "block_at_registration"], [21, 4, 1, "", "coldkeys"], [21, 4, 1, "", "consensus"], [21, 4, 1, "", "dividends"], [21, 4, 1, "", "emission"], [21, 4, 1, "", "emission_history"], [21, 4, 1, "", "hotkeys"], [21, 4, 1, "", "incentives"], [21, 4, 1, "", "last_update"], [21, 4, 1, "", "netuid"], [21, 4, 1, "", "pruning_score"], [21, 4, 1, "", "rank"], [21, 4, 1, "", "tao_stake"], [21, 4, 1, "", "total_stake"], [21, 4, 1, "", "trust"], [21, 4, 1, "", "validator_permit"]], "bittensor.core.chain_data.utils": [[22, 1, 1, "", "ChainDataType"], [22, 5, 1, "", "decode_account_id"], [22, 5, 1, "", "decode_block"], [22, 5, 1, "", "decode_metadata"], [22, 5, 1, "", "decode_revealed_commitment"], [22, 5, 1, "", "decode_revealed_commitment_with_hotkey"], [22, 5, 1, "", "from_scale_encoding"], [22, 5, 1, "", "from_scale_encoding_using_type_string"], [22, 5, 1, "", "process_stake_data"]], "bittensor.core.chain_data.utils.ChainDataType": [[22, 4, 1, "", "AccountId"], [22, 4, 1, "", "AxonInfo"], [22, 4, 1, "", "ChainIdentity"], [22, 4, 1, "", "DelegateInfo"], [22, 4, 1, "", "DelegatedInfo"], [22, 4, 1, "", "DynamicInfo"], [22, 4, 1, "", "IPInfo"], [22, 4, 1, "", "MetagraphInfo"], [22, 4, 1, "", "NeuronInfo"], [22, 4, 1, "", "NeuronInfoLite"], [22, 4, 1, "", "ScheduledColdkeySwapInfo"], [22, 4, 1, "", "StakeInfo"], [22, 4, 1, "", "SubnetHyperparameters"], [22, 4, 1, "", "SubnetIdentity"], [22, 4, 1, "", "SubnetInfo"], [22, 4, 1, "", "SubnetState"]], "bittensor.core.chain_data.weight_commit_info": [[23, 1, 1, "", "WeightCommitInfo"]], "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo": [[23, 4, 1, "", "commit_block"], [23, 4, 1, "", "commit_hex"], [23, 2, 1, "", "from_vec_u8"], [23, 2, 1, "", "from_vec_u8_v2"], [23, 4, 1, "", "reveal_round"], [23, 4, 1, "", "ss58"]], "bittensor.core.config": [[24, 1, 1, "", "Config"], [24, 1, 1, "", "DefaultConfig"], [24, 7, 1, "", "InvalidConfigFile"], [24, 6, 1, "", "T"]], "bittensor.core.config.Config": [[24, 2, 1, "", "is_set"], [24, 2, 1, "", "merge"], [24, 2, 1, "", "to_dict"]], "bittensor.core.config.DefaultConfig": [[24, 2, 1, "", "default"]], "bittensor.core.dendrite": [[25, 6, 1, "", "BaseModel"], [25, 6, 1, "", "DENDRITE_DEFAULT_ERROR"], [25, 6, 1, "", "DENDRITE_ERROR_MAPPING"], [25, 1, 1, "", "Dendrite"], [25, 1, 1, "", "DendriteMixin"], [25, 5, 1, "", "call"], [25, 5, 1, "", "event_loop_is_running"]], "bittensor.core.dendrite.Dendrite": [[25, 2, 1, "", "__repr__"], [25, 2, 1, "", "__str__"], [25, 2, 1, "", "aclose_session"], [25, 2, 1, "", "call"], [25, 2, 1, "", "call_stream"], [25, 2, 1, "", "close_session"], [25, 2, 1, "", "forward"], [25, 2, 1, "", "preprocess_synapse_for_request"], [25, 2, 1, "", "process_server_response"], [25, 2, 1, "", "query"]], "bittensor.core.dendrite.DendriteMixin": [[25, 2, 1, "", "__repr__"], [25, 2, 1, "", "__str__"], [25, 2, 1, "id0", "aclose_session"], [25, 2, 1, "", "aquery"], [25, 2, 1, "id3", "call"], [25, 2, 1, "id4", "call_stream"], [25, 2, 1, "id5", "close_session"], [25, 4, 1, "", "external_ip"], [25, 2, 1, "id7", "forward"], [25, 4, 1, "", "keypair"], [25, 2, 1, "", "log_exception"], [25, 2, 1, "id8", "preprocess_synapse_for_request"], [25, 2, 1, "", "process_error_message"], [25, 2, 1, "id9", "process_server_response"], [25, 2, 1, "id11", "query"], [25, 3, 1, "", "session"], [25, 4, 1, "", "synapse_history"], [25, 4, 1, "", "uuid"]], "bittensor.core.errors": [[26, 7, 1, "", "BlacklistedException"], [26, 6, 1, "", "BlockNotFound"], [26, 7, 1, "", "ChainConnectionError"], [26, 7, 1, "", "ChainError"], [26, 7, 1, "", "ChainQueryError"], [26, 7, 1, "", "ChainTransactionError"], [26, 7, 1, "", "DelegateTakeTooHigh"], [26, 7, 1, "", "DelegateTakeTooLow"], [26, 7, 1, "", "DelegateTxRateLimitExceeded"], [26, 7, 1, "", "DuplicateChild"], [26, 6, 1, "", "ExtrinsicNotFound"], [26, 7, 1, "", "HotKeyAccountNotExists"], [26, 7, 1, "", "IdentityError"], [26, 7, 1, "", "InternalServerError"], [26, 7, 1, "", "InvalidChild"], [26, 7, 1, "", "InvalidRequestNameError"], [26, 7, 1, "", "MaxAttemptsException"], [26, 7, 1, "", "MaxSuccessException"], [26, 7, 1, "", "MetadataError"], [26, 7, 1, "", "NominationError"], [26, 7, 1, "", "NonAssociatedColdKey"], [26, 7, 1, "", "NotDelegateError"], [26, 7, 1, "", "NotEnoughStakeToSetChildkeys"], [26, 7, 1, "", "NotRegisteredError"], [26, 7, 1, "", "NotVerifiedException"], [26, 7, 1, "", "PostProcessException"], [26, 7, 1, "", "PriorityException"], [26, 7, 1, "", "ProportionOverflow"], [26, 7, 1, "", "RegistrationError"], [26, 7, 1, "", "RegistrationNotPermittedOnRootSubnet"], [26, 7, 1, "", "RunException"], [26, 7, 1, "", "StakeError"], [26, 6, 1, "", "StorageFunctionNotFound"], [26, 7, 1, "", "SubnetNotExists"], [26, 6, 1, "", "SubstrateRequestException"], [26, 7, 1, "", "SynapseDendriteNoneException"], [26, 7, 1, "", "SynapseException"], [26, 7, 1, "", "SynapseParsingError"], [26, 7, 1, "", "TakeError"], [26, 7, 1, "", "TooManyChildren"], [26, 7, 1, "", "TransferError"], [26, 7, 1, "", "TxRateLimitExceeded"], [26, 7, 1, "", "UnknownSynapseError"], [26, 7, 1, "", "UnstakeError"]], "bittensor.core.errors.ChainError": [[26, 2, 1, "", "from_error"]], "bittensor.core.errors.SynapseDendriteNoneException": [[26, 4, 1, "", "message"]], "bittensor.core.errors.SynapseException": [[26, 4, 1, "", "message"], [26, 4, 1, "", "synapse"]], "bittensor.core.extrinsics": [[29, 0, 0, "-", "asyncex"], [44, 0, 0, "-", "children"], [45, 0, 0, "-", "commit_reveal"], [46, 0, 0, "-", "commit_weights"], [48, 0, 0, "-", "liquidity"], [49, 0, 0, "-", "mechanism"], [50, 0, 0, "-", "move_stake"], [52, 0, 0, "-", "params"], [64, 0, 0, "-", "registration"], [65, 0, 0, "-", "root"], [66, 0, 0, "-", "serving"], [67, 0, 0, "-", "set_weights"], [68, 0, 0, "-", "staking"], [69, 0, 0, "-", "start_call"], [70, 0, 0, "-", "sudo"], [71, 0, 0, "-", "take"], [72, 0, 0, "-", "transfer"], [73, 0, 0, "-", "unstaking"], [74, 0, 0, "-", "utils"], [75, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.asyncex": [[27, 0, 0, "-", "children"], [28, 0, 0, "-", "commit_reveal"], [30, 0, 0, "-", "liquidity"], [31, 0, 0, "-", "mechanism"], [32, 0, 0, "-", "move_stake"], [33, 0, 0, "-", "registration"], [34, 0, 0, "-", "root"], [35, 0, 0, "-", "serving"], [36, 0, 0, "-", "staking"], [37, 0, 0, "-", "start_call"], [38, 0, 0, "-", "sudo"], [39, 0, 0, "-", "take"], [40, 0, 0, "-", "transfer"], [41, 0, 0, "-", "unstaking"], [42, 0, 0, "-", "utils"], [43, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.asyncex.children": [[27, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [27, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.asyncex.commit_reveal": [[28, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.asyncex.liquidity": [[30, 5, 1, "", "add_liquidity_extrinsic"], [30, 5, 1, "", "modify_liquidity_extrinsic"], [30, 5, 1, "", "remove_liquidity_extrinsic"], [30, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.asyncex.mechanism": [[31, 5, 1, "", "commit_mechanism_weights_extrinsic"], [31, 5, 1, "", "commit_timelocked_mechanism_weights_extrinsic"], [31, 5, 1, "", "reveal_mechanism_weights_extrinsic"], [31, 5, 1, "", "set_mechanism_weights_extrinsic"]], "bittensor.core.extrinsics.asyncex.move_stake": [[32, 5, 1, "", "move_stake_extrinsic"], [32, 5, 1, "", "swap_stake_extrinsic"], [32, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.asyncex.registration": [[33, 5, 1, "", "burned_register_extrinsic"], [33, 5, 1, "", "register_extrinsic"], [33, 5, 1, "", "register_subnet_extrinsic"], [33, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.asyncex.root": [[34, 5, 1, "", "root_register_extrinsic"], [34, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.asyncex.serving": [[35, 5, 1, "", "do_serve_axon"], [35, 5, 1, "", "get_last_bonds_reset"], [35, 5, 1, "", "get_metadata"], [35, 5, 1, "", "publish_metadata"], [35, 5, 1, "", "serve_axon_extrinsic"], [35, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.asyncex.staking": [[36, 5, 1, "", "add_stake_extrinsic"], [36, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.start_call": [[37, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.asyncex.sudo": [[38, 5, 1, "", "sudo_set_admin_freeze_window_extrinsic"], [38, 5, 1, "", "sudo_set_mechanism_count_extrinsic"], [38, 5, 1, "", "sudo_set_mechanism_emission_split_extrinsic"]], "bittensor.core.extrinsics.asyncex.take": [[39, 5, 1, "", "decrease_take_extrinsic"], [39, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.asyncex.transfer": [[40, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.asyncex.unstaking": [[41, 5, 1, "", "unstake_all_extrinsic"], [41, 5, 1, "", "unstake_extrinsic"], [41, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.utils": [[42, 5, 1, "", "get_extrinsic_fee"], [42, 5, 1, "", "sudo_call_extrinsic"]], "bittensor.core.extrinsics.asyncex.weights": [[43, 5, 1, "", "commit_weights_extrinsic"], [43, 5, 1, "", "reveal_weights_extrinsic"], [43, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.children": [[44, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [44, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.commit_reveal": [[45, 5, 1, "", "commit_reveal_v3_extrinsic"]], "bittensor.core.extrinsics.commit_weights": [[46, 5, 1, "", "commit_weights_extrinsic"], [46, 5, 1, "", "reveal_weights_extrinsic"]], "bittensor.core.extrinsics.liquidity": [[48, 5, 1, "", "add_liquidity_extrinsic"], [48, 5, 1, "", "modify_liquidity_extrinsic"], [48, 5, 1, "", "remove_liquidity_extrinsic"], [48, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.mechanism": [[49, 5, 1, "", "commit_mechanism_weights_extrinsic"], [49, 5, 1, "", "commit_timelocked_mechanism_weights_extrinsic"], [49, 5, 1, "", "reveal_mechanism_weights_extrinsic"], [49, 5, 1, "", "set_mechanism_weights_extrinsic"]], "bittensor.core.extrinsics.move_stake": [[50, 5, 1, "", "move_stake_extrinsic"], [50, 5, 1, "", "swap_stake_extrinsic"], [50, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.params": [[51, 0, 0, "-", "children"], [53, 0, 0, "-", "liquidity"], [54, 0, 0, "-", "move_stake"], [55, 0, 0, "-", "registration"], [56, 0, 0, "-", "root"], [57, 0, 0, "-", "serving"], [58, 0, 0, "-", "staking"], [59, 0, 0, "-", "start_call"], [60, 0, 0, "-", "take"], [61, 0, 0, "-", "transfer"], [62, 0, 0, "-", "unstaking"], [63, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.params.children": [[51, 1, 1, "", "ChildrenParams"]], "bittensor.core.extrinsics.params.children.ChildrenParams": [[51, 2, 1, "", "set_children"], [51, 2, 1, "", "set_pending_childkey_cooldown"]], "bittensor.core.extrinsics.params.liquidity": [[53, 1, 1, "", "LiquidityParams"]], "bittensor.core.extrinsics.params.liquidity.LiquidityParams": [[53, 2, 1, "", "add_liquidity"], [53, 2, 1, "", "modify_position"], [53, 2, 1, "", "remove_liquidity"], [53, 2, 1, "", "toggle_user_liquidity"]], "bittensor.core.extrinsics.params.move_stake": [[54, 1, 1, "", "MoveStakeParams"]], "bittensor.core.extrinsics.params.move_stake.MoveStakeParams": [[54, 2, 1, "", "move_stake"], [54, 2, 1, "", "swap_stake"], [54, 2, 1, "", "swap_stake_limit"], [54, 2, 1, "", "transfer_stake"]], "bittensor.core.extrinsics.params.registration": [[55, 1, 1, "", "RegistrationParams"]], "bittensor.core.extrinsics.params.registration.RegistrationParams": [[55, 2, 1, "", "burned_register"], [55, 2, 1, "", "register"], [55, 2, 1, "", "register_network"], [55, 2, 1, "", "set_subnet_identity"]], "bittensor.core.extrinsics.params.root": [[56, 1, 1, "", "RootParams"]], "bittensor.core.extrinsics.params.root.RootParams": [[56, 2, 1, "", "root_register"]], "bittensor.core.extrinsics.params.serving": [[57, 1, 1, "", "ServingParams"]], "bittensor.core.extrinsics.params.serving.ServingParams": [[57, 2, 1, "", "serve_axon_and_tls"], [57, 2, 1, "", "set_commitment"]], "bittensor.core.extrinsics.params.staking": [[58, 1, 1, "", "StakingParams"]], "bittensor.core.extrinsics.params.staking.StakingParams": [[58, 2, 1, "", "add_stake"], [58, 2, 1, "", "add_stake_limit"], [58, 2, 1, "", "set_coldkey_auto_stake_hotkey"]], "bittensor.core.extrinsics.params.start_call": [[59, 1, 1, "", "StartCallParams"]], "bittensor.core.extrinsics.params.start_call.StartCallParams": [[59, 2, 1, "", "start_call"]], "bittensor.core.extrinsics.params.take": [[60, 1, 1, "", "TakeParams"]], "bittensor.core.extrinsics.params.take.TakeParams": [[60, 2, 1, "", "increase_decrease_take"]], "bittensor.core.extrinsics.params.transfer": [[61, 1, 1, "", "TransferParams"], [61, 5, 1, "", "get_transfer_fn_params"]], "bittensor.core.extrinsics.params.transfer.TransferParams": [[61, 2, 1, "", "transfer_all"], [61, 2, 1, "", "transfer_allow_death"], [61, 2, 1, "", "transfer_keep_alive"]], "bittensor.core.extrinsics.params.unstaking": [[62, 1, 1, "", "UnstakingParams"]], "bittensor.core.extrinsics.params.unstaking.UnstakingParams": [[62, 2, 1, "", "remove_stake"], [62, 2, 1, "", "remove_stake_full_limit"], [62, 2, 1, "", "remove_stake_limit"]], "bittensor.core.extrinsics.params.weights": [[63, 1, 1, "", "WeightsParams"]], "bittensor.core.extrinsics.params.weights.WeightsParams": [[63, 2, 1, "", "commit_mechanism_weights"], [63, 2, 1, "", "commit_timelocked_mechanism_weights"], [63, 2, 1, "", "reveal_mechanism_weights"], [63, 2, 1, "", "set_mechanism_weights"]], "bittensor.core.extrinsics.registration": [[64, 5, 1, "", "burned_register_extrinsic"], [64, 5, 1, "", "register_extrinsic"], [64, 5, 1, "", "register_subnet_extrinsic"], [64, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.root": [[65, 5, 1, "", "root_register_extrinsic"], [65, 5, 1, "", "set_root_weights_extrinsic"]], "bittensor.core.extrinsics.serving": [[66, 5, 1, "", "do_serve_axon"], [66, 5, 1, "", "get_last_bonds_reset"], [66, 5, 1, "", "get_metadata"], [66, 5, 1, "", "publish_metadata"], [66, 5, 1, "", "serve_axon_extrinsic"], [66, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.set_weights": [[67, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.staking": [[68, 5, 1, "", "add_stake_extrinsic"], [68, 5, 1, "", "add_stake_multiple_extrinsic"]], "bittensor.core.extrinsics.start_call": [[69, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.sudo": [[70, 5, 1, "", "sudo_set_admin_freeze_window_extrinsic"], [70, 5, 1, "", "sudo_set_mechanism_count_extrinsic"], [70, 5, 1, "", "sudo_set_mechanism_emission_split_extrinsic"]], "bittensor.core.extrinsics.take": [[71, 5, 1, "", "decrease_take_extrinsic"], [71, 5, 1, "", "increase_take_extrinsic"]], "bittensor.core.extrinsics.transfer": [[72, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.unstaking": [[73, 5, 1, "", "unstake_all_extrinsic"], [73, 5, 1, "", "unstake_extrinsic"], [73, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.utils": [[74, 5, 1, "", "get_extrinsic_fee"], [74, 5, 1, "", "get_old_stakes"], [74, 5, 1, "", "sudo_call_extrinsic"]], "bittensor.core.extrinsics.weights": [[75, 5, 1, "", "commit_timelocked_weights_extrinsic"], [75, 5, 1, "", "commit_weights_extrinsic"], [75, 5, 1, "", "reveal_weights_extrinsic"], [75, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.metagraph": [[77, 1, 1, "", "AsyncMetagraph"], [77, 6, 1, "", "BaseClass"], [77, 6, 1, "", "METAGRAPH_STATE_DICT_NDARRAY_KEYS"], [77, 1, 1, "", "Metagraph"], [77, 1, 1, "", "MetagraphMixin"], [77, 1, 1, "", "NonTorchMetagraph"], [77, 6, 1, "", "NumpyOrTorch"], [77, 6, 1, "", "Tensor"], [77, 1, 1, "", "TorchMetagraph"], [77, 5, 1, "", "async_metagraph"], [77, 5, 1, "", "get_save_dir"], [77, 5, 1, "", "latest_block_path"], [77, 5, 1, "", "safe_globals"]], "bittensor.core.metagraph.AsyncMetagraph": [[77, 2, 1, "", "sync"]], "bittensor.core.metagraph.Metagraph": [[77, 2, 1, "", "sync"]], "bittensor.core.metagraph.MetagraphMixin": [[77, 3, 1, "", "AS"], [77, 3, 1, "", "B"], [77, 3, 1, "", "C"], [77, 3, 1, "", "D"], [77, 3, 1, "", "E"], [77, 3, 1, "", "I"], [77, 3, 1, "", "R"], [77, 3, 1, "", "S"], [77, 3, 1, "", "T"], [77, 3, 1, "", "TS"], [77, 3, 1, "", "Tv"], [77, 3, 1, "", "W"], [77, 4, 1, "", "active"], [77, 3, 1, "", "addresses"], [77, 4, 1, "", "alpha_dividends_per_hotkey"], [77, 4, 1, "", "alpha_stake"], [77, 4, 1, "", "axons"], [77, 4, 1, "", "block"], [77, 4, 1, "", "block_at_registration"], [77, 4, 1, "", "blocks_since_last_step"], [77, 4, 1, "", "bonds"], [77, 4, 1, "", "chain_endpoint"], [77, 3, 1, "", "coldkeys"], [77, 4, 1, "", "consensus"], [77, 4, 1, "", "dividends"], [77, 4, 1, "", "emission"], [77, 4, 1, "", "emissions"], [77, 3, 1, "", "hotkeys"], [77, 4, 1, "", "hparams"], [77, 4, 1, "", "identities"], [77, 4, 1, "", "identity"], [77, 4, 1, "", "incentive"], [77, 4, 1, "", "last_step"], [77, 4, 1, "", "last_update"], [77, 4, 1, "", "lite"], [77, 2, 1, "", "load"], [77, 2, 1, "", "load_from_path"], [77, 4, 1, "", "max_uids"], [77, 4, 1, "", "mechanism_count"], [77, 4, 1, "", "mechanisms_emissions_split"], [77, 4, 1, "", "mechid"], [77, 2, 1, "", "metadata"], [77, 4, 1, "", "n"], [77, 4, 1, "", "name"], [77, 4, 1, "", "netuid"], [77, 4, 1, "", "network"], [77, 4, 1, "", "network_registered_at"], [77, 4, 1, "", "neurons"], [77, 4, 1, "", "num_uids"], [77, 4, 1, "", "owner_coldkey"], [77, 4, 1, "", "owner_hotkey"], [77, 4, 1, "", "pool"], [77, 4, 1, "", "pruning_score"], [77, 4, 1, "", "ranks"], [77, 2, 1, "", "save"], [77, 4, 1, "", "should_sync"], [77, 4, 1, "", "stake"], [77, 2, 1, "", "state_dict"], [77, 4, 1, "", "subtensor"], [77, 4, 1, "", "symbol"], [77, 4, 1, "", "tao_dividends_per_hotkey"], [77, 4, 1, "", "tao_stake"], [77, 4, 1, "", "tempo"], [77, 4, 1, "", "trust"], [77, 4, 1, "", "uids"], [77, 4, 1, "", "validator_permit"], [77, 4, 1, "", "validator_trust"], [77, 4, 1, "", "version"], [77, 4, 1, "", "weights"]], "bittensor.core.metagraph.NonTorchMetagraph": [[77, 4, 1, "", "active"], [77, 4, 1, "", "alpha_stake"], [77, 4, 1, "", "block"], [77, 4, 1, "", "bonds"], [77, 4, 1, "", "consensus"], [77, 4, 1, "", "dividends"], [77, 4, 1, "", "emission"], [77, 4, 1, "", "incentive"], [77, 4, 1, "", "last_update"], [77, 2, 1, "", "load_from_path"], [77, 4, 1, "", "n"], [77, 4, 1, "", "netuid"], [77, 4, 1, "", "ranks"], [77, 4, 1, "", "should_sync"], [77, 4, 1, "", "stake"], [77, 4, 1, "", "subtensor"], [77, 4, 1, "", "tao_stake"], [77, 4, 1, "", "total_stake"], [77, 4, 1, "", "trust"], [77, 4, 1, "", "uids"], [77, 4, 1, "", "validator_permit"], [77, 4, 1, "", "validator_trust"], [77, 4, 1, "", "version"], [77, 4, 1, "", "weights"]], "bittensor.core.metagraph.TorchMetagraph": [[77, 4, 1, "", "active"], [77, 4, 1, "", "alpha_stake"], [77, 4, 1, "", "block"], [77, 4, 1, "", "bonds"], [77, 4, 1, "", "consensus"], [77, 4, 1, "", "dividends"], [77, 4, 1, "", "emission"], [77, 4, 1, "", "incentive"], [77, 4, 1, "", "last_update"], [77, 2, 1, "", "load_from_path"], [77, 4, 1, "", "n"], [77, 4, 1, "", "ranks"], [77, 4, 1, "", "stake"], [77, 4, 1, "", "tao_stake"], [77, 4, 1, "", "total_stake"], [77, 4, 1, "", "trust"], [77, 4, 1, "", "uids"], [77, 4, 1, "", "validator_permit"], [77, 4, 1, "", "validator_trust"], [77, 4, 1, "", "version"], [77, 4, 1, "", "weights"]], "bittensor.core.settings": [[78, 6, 1, "", "ARCHIVE_ENTRYPOINT"], [78, 6, 1, "", "BLOCKTIME"], [78, 6, 1, "", "DEFAULTS"], [78, 6, 1, "", "DEFAULT_ENDPOINT"], [78, 6, 1, "", "DEFAULT_NETWORK"], [78, 6, 1, "", "FINNEY_ENTRYPOINT"], [78, 6, 1, "", "FINNEY_TEST_ENTRYPOINT"], [78, 6, 1, "", "HOME_DIR"], [78, 6, 1, "", "LATENT_LITE_ENTRYPOINT"], [78, 6, 1, "", "LOCAL_ENTRYPOINT"], [78, 6, 1, "", "MINERS_DIR"], [78, 6, 1, "", "NETWORKS"], [78, 6, 1, "", "NETWORK_EXPLORER_MAP"], [78, 6, 1, "", "NETWORK_MAP"], [78, 6, 1, "", "PIPADDRESS"], [78, 6, 1, "", "RAO_SYMBOL"], [78, 6, 1, "", "READ_ONLY"], [78, 6, 1, "", "REVERSE_NETWORK_MAP"], [78, 6, 1, "", "ROOT_TAO_STAKE_WEIGHT"], [78, 6, 1, "", "SS58_ADDRESS_LENGTH"], [78, 6, 1, "", "SS58_FORMAT"], [78, 6, 1, "", "SUBVORTEX_ENTRYPOINT"], [78, 6, 1, "", "TAO_SYMBOL"], [78, 6, 1, "", "TYPE_REGISTRY"], [78, 6, 1, "", "USER_BITTENSOR_DIR"], [78, 6, 1, "", "WALLETS_DIR"], [78, 6, 1, "", "version_as_int"], [78, 6, 1, "", "version_split"]], "bittensor.core.stream": [[79, 1, 1, "", "BTStreamingResponseModel"], [79, 1, 1, "", "StreamingSynapse"]], "bittensor.core.stream.BTStreamingResponseModel": [[79, 4, 1, "", "token_streamer"]], "bittensor.core.stream.StreamingSynapse": [[79, 1, 1, "", "BTStreamingResponse"], [79, 2, 1, "", "create_streaming_response"], [79, 2, 1, "", "extract_response_json"], [79, 4, 1, "", "model_config"], [79, 2, 1, "", "process_streaming_response"]], "bittensor.core.stream.StreamingSynapse.BTStreamingResponse": [[79, 2, 1, "", "stream_response"], [79, 4, 1, "", "synapse"], [79, 4, 1, "", "token_streamer"]], "bittensor.core.subtensor": [[80, 1, 1, "", "Subtensor"]], "bittensor.core.subtensor.Subtensor": [[80, 2, 1, "", "add_liquidity"], [80, 2, 1, "", "add_stake"], [80, 2, 1, "", "add_stake_multiple"], [80, 2, 1, "", "all_subnets"], [80, 3, 1, "", "block"], [80, 2, 1, "", "blocks_since_last_step"], [80, 2, 1, "", "blocks_since_last_update"], [80, 2, 1, "", "bonds"], [80, 2, 1, "", "burned_register"], [80, 2, 1, "", "close"], [80, 2, 1, "", "commit"], [80, 2, 1, "", "commit_reveal_enabled"], [80, 2, 1, "", "commit_weights"], [80, 2, 1, "", "determine_block_hash"], [80, 2, 1, "", "difficulty"], [80, 2, 1, "", "does_hotkey_exist"], [80, 2, 1, "", "encode_params"], [80, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [80, 2, 1, "", "get_admin_freeze_window"], [80, 2, 1, "", "get_all_commitments"], [80, 2, 1, "", "get_all_metagraphs_info"], [80, 2, 1, "", "get_all_neuron_certificates"], [80, 2, 1, "", "get_all_revealed_commitments"], [80, 2, 1, "", "get_all_subnets_info"], [80, 2, 1, "", "get_balance"], [80, 2, 1, "", "get_balances"], [80, 2, 1, "", "get_block_hash"], [80, 2, 1, "", "get_children"], [80, 2, 1, "", "get_children_pending"], [80, 2, 1, "", "get_commitment"], [80, 2, 1, "", "get_current_block"], [80, 2, 1, "", "get_current_weight_commit_info"], [80, 2, 1, "", "get_current_weight_commit_info_v2"], [80, 2, 1, "", "get_delegate_by_hotkey"], [80, 2, 1, "", "get_delegate_identities"], [80, 2, 1, "", "get_delegate_take"], [80, 2, 1, "", "get_delegated"], [80, 2, 1, "", "get_delegates"], [80, 2, 1, "", "get_existential_deposit"], [80, 2, 1, "", "get_hotkey_owner"], [80, 4, 1, "", "get_hotkey_stake"], [80, 2, 1, "", "get_hyperparameter"], [80, 2, 1, "", "get_last_commitment_bonds_reset_block"], [80, 2, 1, "", "get_liquidity_list"], [80, 2, 1, "", "get_mechanism_count"], [80, 2, 1, "", "get_mechanism_emission_split"], [80, 2, 1, "", "get_metagraph_info"], [80, 2, 1, "", "get_minimum_required_stake"], [80, 2, 1, "", "get_netuids_for_hotkey"], [80, 2, 1, "", "get_neuron_certificate"], [80, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [80, 2, 1, "", "get_next_epoch_start_block"], [80, 2, 1, "", "get_owned_hotkeys"], [80, 2, 1, "", "get_parents"], [80, 2, 1, "", "get_revealed_commitment"], [80, 2, 1, "", "get_revealed_commitment_by_hotkey"], [80, 2, 1, "", "get_stake"], [80, 2, 1, "", "get_stake_add_fee"], [80, 2, 1, "", "get_stake_for_coldkey"], [80, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [80, 2, 1, "", "get_stake_for_hotkey"], [80, 4, 1, "", "get_stake_info_for_coldkey"], [80, 2, 1, "", "get_stake_movement_fee"], [80, 2, 1, "", "get_stake_operations_fee"], [80, 2, 1, "", "get_stake_weight"], [80, 2, 1, "", "get_subnet_burn_cost"], [80, 2, 1, "", "get_subnet_hyperparameters"], [80, 2, 1, "", "get_subnet_info"], [80, 2, 1, "", "get_subnet_owner_hotkey"], [80, 2, 1, "", "get_subnet_price"], [80, 2, 1, "", "get_subnet_prices"], [80, 2, 1, "", "get_subnet_reveal_period_epochs"], [80, 2, 1, "", "get_subnet_validator_permits"], [80, 2, 1, "", "get_subnets"], [80, 2, 1, "", "get_timelocked_weight_commits"], [80, 2, 1, "", "get_timestamp"], [80, 2, 1, "", "get_total_subnets"], [80, 2, 1, "", "get_transfer_fee"], [80, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [80, 2, 1, "", "get_unstake_fee"], [80, 2, 1, "", "get_vote_data"], [80, 2, 1, "", "immunity_period"], [80, 2, 1, "", "is_fast_blocks"], [80, 2, 1, "", "is_hotkey_delegate"], [80, 2, 1, "", "is_hotkey_registered"], [80, 2, 1, "", "is_hotkey_registered_any"], [80, 2, 1, "", "is_hotkey_registered_on_subnet"], [80, 2, 1, "", "is_in_admin_freeze_window"], [80, 2, 1, "", "is_subnet_active"], [80, 2, 1, "", "last_drand_round"], [80, 4, 1, "", "log_verbose"], [80, 2, 1, "", "max_weight_limit"], [80, 2, 1, "", "metagraph"], [80, 2, 1, "", "min_allowed_weights"], [80, 2, 1, "", "modify_liquidity"], [80, 2, 1, "", "move_stake"], [80, 2, 1, "", "neuron_for_uid"], [80, 2, 1, "", "neurons"], [80, 2, 1, "", "neurons_lite"], [80, 2, 1, "", "query_constant"], [80, 2, 1, "", "query_identity"], [80, 2, 1, "", "query_map"], [80, 2, 1, "", "query_map_subtensor"], [80, 2, 1, "", "query_module"], [80, 2, 1, "", "query_runtime_api"], [80, 2, 1, "", "query_subtensor"], [80, 2, 1, "", "recycle"], [80, 2, 1, "", "register"], [80, 2, 1, "", "register_subnet"], [80, 2, 1, "", "remove_liquidity"], [80, 2, 1, "", "reveal_weights"], [80, 2, 1, "", "root_register"], [80, 2, 1, "", "root_set_pending_childkey_cooldown"], [80, 2, 1, "", "root_set_weights"], [80, 2, 1, "", "serve_axon"], [80, 2, 1, "", "set_children"], [80, 4, 1, "", "set_commitment"], [80, 2, 1, "", "set_delegate_take"], [80, 2, 1, "", "set_reveal_commitment"], [80, 2, 1, "", "set_subnet_identity"], [80, 2, 1, "", "set_weights"], [80, 2, 1, "", "sign_and_send_extrinsic"], [80, 2, 1, "", "start_call"], [80, 2, 1, "", "state_call"], [80, 2, 1, "", "subnet"], [80, 2, 1, "", "subnet_exists"], [80, 2, 1, "", "subnetwork_n"], [80, 4, 1, "", "substrate"], [80, 2, 1, "", "swap_stake"], [80, 2, 1, "", "tempo"], [80, 2, 1, "", "toggle_user_liquidity"], [80, 2, 1, "", "transfer"], [80, 2, 1, "", "transfer_stake"], [80, 2, 1, "", "tx_rate_limit"], [80, 2, 1, "", "unstake"], [80, 2, 1, "", "unstake_all"], [80, 2, 1, "", "unstake_multiple"], [80, 2, 1, "", "wait_for_block"], [80, 2, 1, "", "weights"], [80, 2, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api": [[85, 1, 1, "", "SubtensorApi"], [81, 0, 0, "-", "chain"], [82, 0, 0, "-", "commitments"], [83, 0, 0, "-", "delegates"], [84, 0, 0, "-", "extrinsics"], [86, 0, 0, "-", "metagraphs"], [87, 0, 0, "-", "neurons"], [88, 0, 0, "-", "queries"], [89, 0, 0, "-", "staking"], [90, 0, 0, "-", "subnets"], [91, 0, 0, "-", "utils"], [92, 0, 0, "-", "wallets"]], "bittensor.core.subtensor_api.SubtensorApi": [[85, 2, 1, "", "add_args"], [85, 3, 1, "", "block"], [85, 3, 1, "", "chain"], [85, 4, 1, "", "chain_endpoint"], [85, 4, 1, "", "close"], [85, 3, 1, "", "commitments"], [85, 4, 1, "", "config"], [85, 3, 1, "", "delegates"], [85, 4, 1, "", "determine_block_hash"], [85, 4, 1, "", "encode_params"], [85, 3, 1, "", "extrinsics"], [85, 4, 1, "", "help"], [85, 4, 1, "", "initialize"], [85, 4, 1, "", "is_async"], [85, 4, 1, "", "log_verbose"], [85, 3, 1, "", "metagraphs"], [85, 4, 1, "", "network"], [85, 3, 1, "", "neurons"], [85, 3, 1, "", "queries"], [85, 4, 1, "", "setup_config"], [85, 4, 1, "", "sign_and_send_extrinsic"], [85, 3, 1, "", "staking"], [85, 4, 1, "", "start_call"], [85, 3, 1, "", "subnets"], [85, 4, 1, "", "substrate"], [85, 4, 1, "", "wait_for_block"], [85, 3, 1, "", "wallets"]], "bittensor.core.subtensor_api.chain": [[81, 1, 1, "", "Chain"]], "bittensor.core.subtensor_api.chain.Chain": [[81, 4, 1, "", "get_admin_freeze_window"], [81, 4, 1, "", "get_block_hash"], [81, 4, 1, "", "get_current_block"], [81, 4, 1, "", "get_delegate_identities"], [81, 4, 1, "", "get_existential_deposit"], [81, 4, 1, "", "get_minimum_required_stake"], [81, 4, 1, "", "get_timestamp"], [81, 4, 1, "", "get_vote_data"], [81, 4, 1, "", "is_fast_blocks"], [81, 4, 1, "", "is_in_admin_freeze_window"], [81, 4, 1, "", "last_drand_round"], [81, 4, 1, "", "state_call"], [81, 4, 1, "", "tx_rate_limit"]], "bittensor.core.subtensor_api.commitments": [[82, 1, 1, "", "Commitments"]], "bittensor.core.subtensor_api.commitments.Commitments": [[82, 4, 1, "", "commit_reveal_enabled"], [82, 4, 1, "", "get_all_commitments"], [82, 4, 1, "", "get_all_revealed_commitments"], [82, 4, 1, "", "get_commitment"], [82, 4, 1, "", "get_current_weight_commit_info"], [82, 4, 1, "", "get_current_weight_commit_info_v2"], [82, 4, 1, "", "get_last_commitment_bonds_reset_block"], [82, 4, 1, "", "get_revealed_commitment"], [82, 4, 1, "", "get_revealed_commitment_by_hotkey"], [82, 4, 1, "", "get_timelocked_weight_commits"], [82, 4, 1, "", "set_commitment"], [82, 4, 1, "", "set_reveal_commitment"]], "bittensor.core.subtensor_api.delegates": [[83, 1, 1, "", "Delegates"]], "bittensor.core.subtensor_api.delegates.Delegates": [[83, 4, 1, "", "get_delegate_by_hotkey"], [83, 4, 1, "", "get_delegate_identities"], [83, 4, 1, "", "get_delegate_take"], [83, 4, 1, "", "get_delegated"], [83, 4, 1, "", "get_delegates"], [83, 4, 1, "", "is_hotkey_delegate"], [83, 4, 1, "", "set_delegate_take"]], "bittensor.core.subtensor_api.extrinsics": [[84, 1, 1, "", "Extrinsics"]], "bittensor.core.subtensor_api.extrinsics.Extrinsics": [[84, 4, 1, "", "add_liquidity"], [84, 4, 1, "", "add_stake"], [84, 4, 1, "", "add_stake_multiple"], [84, 4, 1, "", "burned_register"], [84, 4, 1, "", "commit_weights"], [84, 4, 1, "", "modify_liquidity"], [84, 4, 1, "", "move_stake"], [84, 4, 1, "", "register"], [84, 4, 1, "", "register_subnet"], [84, 4, 1, "", "remove_liquidity"], [84, 4, 1, "", "reveal_weights"], [84, 4, 1, "", "root_register"], [84, 4, 1, "", "root_set_pending_childkey_cooldown"], [84, 4, 1, "", "root_set_weights"], [84, 4, 1, "", "serve_axon"], [84, 4, 1, "", "set_children"], [84, 4, 1, "", "set_subnet_identity"], [84, 4, 1, "", "set_weights"], [84, 4, 1, "", "start_call"], [84, 4, 1, "", "swap_stake"], [84, 4, 1, "", "toggle_user_liquidity"], [84, 4, 1, "", "transfer"], [84, 4, 1, "", "transfer_stake"], [84, 4, 1, "", "unstake"], [84, 4, 1, "", "unstake_all"], [84, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.metagraphs": [[86, 1, 1, "", "Metagraphs"]], "bittensor.core.subtensor_api.metagraphs.Metagraphs": [[86, 4, 1, "", "get_all_metagraphs_info"], [86, 4, 1, "", "get_metagraph_info"], [86, 4, 1, "", "metagraph"]], "bittensor.core.subtensor_api.neurons": [[87, 1, 1, "", "Neurons"]], "bittensor.core.subtensor_api.neurons.Neurons": [[87, 4, 1, "", "get_all_neuron_certificates"], [87, 4, 1, "", "get_neuron_certificate"], [87, 4, 1, "", "neuron_for_uid"], [87, 4, 1, "", "neurons"], [87, 4, 1, "", "neurons_lite"], [87, 4, 1, "", "query_identity"]], "bittensor.core.subtensor_api.queries": [[88, 1, 1, "", "Queries"]], "bittensor.core.subtensor_api.queries.Queries": [[88, 4, 1, "", "query_constant"], [88, 4, 1, "", "query_map"], [88, 4, 1, "", "query_map_subtensor"], [88, 4, 1, "", "query_module"], [88, 4, 1, "", "query_runtime_api"], [88, 4, 1, "", "query_subtensor"]], "bittensor.core.subtensor_api.staking": [[89, 1, 1, "", "Staking"]], "bittensor.core.subtensor_api.staking.Staking": [[89, 4, 1, "", "add_stake"], [89, 4, 1, "", "add_stake_multiple"], [89, 4, 1, "", "get_hotkey_stake"], [89, 4, 1, "", "get_minimum_required_stake"], [89, 4, 1, "", "get_stake"], [89, 4, 1, "", "get_stake_add_fee"], [89, 4, 1, "", "get_stake_for_coldkey"], [89, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [89, 4, 1, "", "get_stake_info_for_coldkey"], [89, 4, 1, "", "get_stake_movement_fee"], [89, 4, 1, "", "get_stake_operations_fee"], [89, 4, 1, "", "get_stake_weight"], [89, 4, 1, "", "get_unstake_fee"], [89, 4, 1, "", "move_stake"], [89, 4, 1, "", "unstake"], [89, 4, 1, "", "unstake_all"], [89, 4, 1, "", "unstake_multiple"]], "bittensor.core.subtensor_api.subnets": [[90, 1, 1, "", "Subnets"]], "bittensor.core.subtensor_api.subnets.Subnets": [[90, 4, 1, "", "all_subnets"], [90, 4, 1, "", "blocks_since_last_step"], [90, 4, 1, "", "blocks_since_last_update"], [90, 4, 1, "", "bonds"], [90, 4, 1, "", "commit_reveal_enabled"], [90, 4, 1, "", "difficulty"], [90, 4, 1, "", "get_all_subnets_info"], [90, 4, 1, "", "get_children"], [90, 4, 1, "", "get_children_pending"], [90, 4, 1, "", "get_current_weight_commit_info"], [90, 4, 1, "", "get_hyperparameter"], [90, 4, 1, "", "get_liquidity_list"], [90, 4, 1, "", "get_mechanism_count"], [90, 4, 1, "", "get_mechanism_emission_split"], [90, 4, 1, "", "get_neuron_for_pubkey_and_subnet"], [90, 4, 1, "", "get_next_epoch_start_block"], [90, 4, 1, "", "get_parents"], [90, 4, 1, "", "get_subnet_burn_cost"], [90, 4, 1, "", "get_subnet_hyperparameters"], [90, 4, 1, "", "get_subnet_info"], [90, 4, 1, "", "get_subnet_owner_hotkey"], [90, 4, 1, "", "get_subnet_price"], [90, 4, 1, "", "get_subnet_prices"], [90, 4, 1, "", "get_subnet_reveal_period_epochs"], [90, 4, 1, "", "get_subnet_validator_permits"], [90, 4, 1, "", "get_subnets"], [90, 4, 1, "", "get_total_subnets"], [90, 4, 1, "", "get_uid_for_hotkey_on_subnet"], [90, 4, 1, "", "immunity_period"], [90, 4, 1, "", "is_hotkey_registered_on_subnet"], [90, 4, 1, "", "is_subnet_active"], [90, 4, 1, "", "max_weight_limit"], [90, 4, 1, "", "min_allowed_weights"], [90, 4, 1, "", "recycle"], [90, 4, 1, "", "register_subnet"], [90, 4, 1, "", "set_subnet_identity"], [90, 4, 1, "", "subnet"], [90, 4, 1, "", "subnet_exists"], [90, 4, 1, "", "subnetwork_n"], [90, 4, 1, "", "tempo"], [90, 4, 1, "", "weights"], [90, 4, 1, "", "weights_rate_limit"]], "bittensor.core.subtensor_api.utils": [[91, 5, 1, "", "add_legacy_methods"]], "bittensor.core.subtensor_api.wallets": [[92, 1, 1, "", "Wallets"]], "bittensor.core.subtensor_api.wallets.Wallets": [[92, 4, 1, "", "does_hotkey_exist"], [92, 4, 1, "", "filter_netuids_by_registered_hotkeys"], [92, 4, 1, "", "get_balance"], [92, 4, 1, "", "get_balances"], [92, 4, 1, "", "get_children"], [92, 4, 1, "", "get_children_pending"], [92, 4, 1, "", "get_delegate_by_hotkey"], [92, 4, 1, "", "get_delegate_take"], [92, 4, 1, "", "get_delegated"], [92, 4, 1, "", "get_hotkey_owner"], [92, 4, 1, "", "get_hotkey_stake"], [92, 4, 1, "", "get_minimum_required_stake"], [92, 4, 1, "", "get_netuids_for_hotkey"], [92, 4, 1, "", "get_owned_hotkeys"], [92, 4, 1, "", "get_stake"], [92, 4, 1, "", "get_stake_add_fee"], [92, 4, 1, "", "get_stake_for_coldkey"], [92, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [92, 4, 1, "", "get_stake_for_hotkey"], [92, 4, 1, "", "get_stake_info_for_coldkey"], [92, 4, 1, "", "get_stake_movement_fee"], [92, 4, 1, "", "get_transfer_fee"], [92, 4, 1, "", "get_unstake_fee"], [92, 4, 1, "", "is_hotkey_delegate"], [92, 4, 1, "", "is_hotkey_registered"], [92, 4, 1, "", "is_hotkey_registered_any"]], "bittensor.core.synapse": [[93, 1, 1, "", "Synapse"], [93, 1, 1, "", "TerminalInfo"], [93, 5, 1, "", "cast_float"], [93, 5, 1, "", "cast_int"], [93, 5, 1, "", "get_size"]], "bittensor.core.synapse.Synapse": [[93, 2, 1, "", "__setattr__"], [93, 4, 1, "", "axon"], [93, 3, 1, "id0", "body_hash"], [93, 4, 1, "", "computed_body_hash"], [93, 4, 1, "", "dendrite"], [93, 2, 1, "id1", "deserialize"], [93, 3, 1, "", "failed_verification"], [93, 2, 1, "id2", "from_headers"], [93, 2, 1, "", "get_required_fields"], [93, 2, 1, "id3", "get_total_size"], [93, 4, 1, "", "header_size"], [93, 3, 1, "", "is_blacklist"], [93, 3, 1, "", "is_failure"], [93, 3, 1, "", "is_success"], [93, 3, 1, "", "is_timeout"], [93, 4, 1, "", "model_config"], [93, 4, 1, "", "name"], [93, 2, 1, "id4", "parse_headers_to_inputs"], [93, 4, 1, "", "required_hash_fields"], [93, 2, 1, "", "set_name_type"], [93, 4, 1, "", "timeout"], [93, 2, 1, "id5", "to_headers"], [93, 4, 1, "", "total_size"]], "bittensor.core.synapse.TerminalInfo": [[93, 4, 1, "", "hotkey"], [93, 4, 1, "", "ip"], [93, 4, 1, "", "model_config"], [93, 4, 1, "", "nonce"], [93, 4, 1, "", "port"], [93, 4, 1, "", "process_time"], [93, 4, 1, "", "signature"], [93, 4, 1, "", "status_code"], [93, 4, 1, "", "status_message"], [93, 4, 1, "", "uuid"], [93, 4, 1, "", "version"]], "bittensor.core.tensor": [[94, 1, 1, "", "DTypes"], [94, 1, 1, "", "Tensor"], [94, 5, 1, "", "cast_dtype"], [94, 5, 1, "", "cast_shape"], [94, 6, 1, "", "dtypes"], [94, 1, 1, "", "tensor"]], "bittensor.core.tensor.DTypes": [[94, 4, 1, "", "torch"]], "bittensor.core.tensor.Tensor": [[94, 4, 1, "", "buffer"], [94, 2, 1, "", "deserialize"], [94, 4, 1, "", "dtype"], [94, 4, 1, "", "model_config"], [94, 2, 1, "", "numpy"], [94, 2, 1, "", "serialize"], [94, 4, 1, "", "shape"], [94, 2, 1, "", "tensor"], [94, 2, 1, "", "tolist"]], "bittensor.core.threadpool": [[95, 7, 1, "", "BrokenThreadPool"], [95, 6, 1, "", "NULL_ENTRY"], [95, 1, 1, "", "PriorityThreadPoolExecutor"], [95, 6, 1, "", "logger"]], "bittensor.core.threadpool.PriorityThreadPoolExecutor": [[95, 2, 1, "", "add_args"], [95, 2, 1, "", "config"], [95, 3, 1, "", "is_empty"], [95, 2, 1, "", "shutdown"], [95, 2, 1, "", "submit"]], "bittensor.core.timelock": [[96, 5, 1, "", "decrypt"], [96, 5, 1, "", "encrypt"], [96, 5, 1, "", "wait_reveal_and_decrypt"]], "bittensor.core.types": [[97, 1, 1, "", "AxonServeCallParams"], [97, 1, 1, "", "ParamWithTypes"], [97, 1, 1, "", "PrometheusServeCallParams"], [97, 6, 1, "", "Salt"], [97, 1, 1, "", "SubtensorMixin"], [97, 6, 1, "", "UIDs"], [97, 6, 1, "", "Weights"]], "bittensor.core.types.AxonServeCallParams": [[97, 4, 1, "", "certificate"], [97, 4, 1, "", "coldkey"], [97, 2, 1, "", "copy"], [97, 2, 1, "", "dict"], [97, 4, 1, "", "hotkey"], [97, 4, 1, "", "ip"], [97, 4, 1, "", "ip_type"], [97, 4, 1, "", "netuid"], [97, 4, 1, "", "placeholder1"], [97, 4, 1, "", "placeholder2"], [97, 4, 1, "", "port"], [97, 4, 1, "", "protocol"], [97, 4, 1, "", "version"]], "bittensor.core.types.ParamWithTypes": [[97, 4, 1, "", "name"], [97, 4, 1, "", "type"]], "bittensor.core.types.PrometheusServeCallParams": [[97, 4, 1, "", "ip"], [97, 4, 1, "", "ip_type"], [97, 4, 1, "", "netuid"], [97, 4, 1, "", "port"], [97, 4, 1, "", "version"]], "bittensor.core.types.SubtensorMixin": [[97, 2, 1, "", "add_args"], [97, 4, 1, "", "chain_endpoint"], [97, 2, 1, "", "config"], [97, 2, 1, "", "help"], [97, 4, 1, "", "log_verbose"], [97, 4, 1, "", "network"], [97, 2, 1, "", "setup_config"]], "bittensor.extras": [[102, 0, 0, "-", "dev_framework"], [110, 0, 0, "-", "subtensor_api"], [118, 0, 0, "-", "timelock"]], "bittensor.extras.dev_framework": [[98, 0, 0, "-", "calls"], [103, 0, 0, "-", "subnet"], [104, 0, 0, "-", "utils"]], "bittensor.extras.dev_framework.calls": [[98, 6, 1, "", "HEADER"], [98, 6, 1, "", "IMPORT_TEXT"], [99, 0, 0, "-", "non_sudo_calls"], [100, 0, 0, "-", "pallets"], [98, 5, 1, "", "recreate_calls_subpackage"], [101, 0, 0, "-", "sudo_calls"]], "bittensor.extras.dev_framework.calls.non_sudo_calls": [[99, 1, 1, "", "ADD_LIQUIDITY"], [99, 1, 1, "id0", "ADD_MEMBER"], [99, 1, 1, "", "ADD_PROXY"], [99, 1, 1, "", "ADD_STAKE"], [99, 1, 1, "", "ADD_STAKE_LIMIT"], [99, 1, 1, "", "ADJUST_SENATE"], [99, 1, 1, "", "ANNOUNCE"], [99, 1, 1, "", "APPLY_AUTHORIZED_UPGRADE"], [99, 1, 1, "", "APPROVE_AS_MULTI"], [99, 1, 1, "", "ASSOCIATE_EVM_KEY"], [99, 1, 1, "", "AS_DERIVATIVE"], [99, 1, 1, "", "AS_MULTI"], [99, 1, 1, "", "AS_MULTI_THRESHOLD_1"], [99, 1, 1, "", "AUTHORIZE_UPGRADE"], [99, 1, 1, "", "AUTHORIZE_UPGRADE_WITHOUT_CHECKS"], [99, 1, 1, "", "BATCH"], [99, 1, 1, "", "BATCH_ALL"], [99, 1, 1, "", "BATCH_COMMIT_WEIGHTS"], [99, 1, 1, "", "BATCH_REVEAL_WEIGHTS"], [99, 1, 1, "", "BATCH_SET_WEIGHTS"], [99, 1, 1, "", "BURN"], [99, 1, 1, "", "BURNED_REGISTER"], [99, 1, 1, "", "BURN_ALPHA"], [99, 1, 1, "", "CALL"], [99, 1, 1, "", "CANCEL"], [99, 1, 1, "", "CANCEL_AS_MULTI"], [99, 1, 1, "", "CANCEL_NAMED"], [99, 1, 1, "", "CANCEL_RETRY"], [99, 1, 1, "", "CANCEL_RETRY_NAMED"], [99, 1, 1, "id4", "CHANGE_KEY"], [99, 1, 1, "", "CLEAR_IDENTITY"], [99, 1, 1, "id8", "CLEAR_PRIME"], [99, 1, 1, "", "CLOSE"], [99, 1, 1, "", "COMMIT_CRV3_MECHANISM_WEIGHTS"], [99, 1, 1, "", "COMMIT_MECHANISM_WEIGHTS"], [99, 1, 1, "", "COMMIT_TIMELOCKED_MECHANISM_WEIGHTS"], [99, 1, 1, "", "COMMIT_TIMELOCKED_WEIGHTS"], [99, 1, 1, "", "COMMIT_WEIGHTS"], [99, 1, 1, "", "CONTRIBUTE"], [99, 1, 1, "id11", "CREATE"], [99, 1, 1, "", "CREATE2"], [99, 1, 1, "", "CREATE_PURE"], [99, 1, 1, "", "DECREASE_TAKE"], [99, 1, 1, "", "DISABLE_WHITELIST"], [99, 1, 1, "", "DISAPPROVE_PROPOSAL"], [99, 1, 1, "", "DISPATCH_AS"], [99, 1, 1, "", "DISPATCH_AS_FALLIBLE"], [99, 1, 1, "", "DISSOLVE"], [99, 1, 1, "", "DISSOLVE_NETWORK"], [99, 1, 1, "", "ENSURE_UPDATED"], [99, 1, 1, "", "ENTER"], [99, 1, 1, "", "EXECUTE"], [99, 1, 1, "", "EXTEND"], [99, 1, 1, "", "FAUCET"], [99, 1, 1, "", "FINALIZE"], [99, 1, 1, "", "FORCE_ADJUST_TOTAL_ISSUANCE"], [99, 1, 1, "", "FORCE_BATCH"], [99, 1, 1, "", "FORCE_ENTER"], [99, 1, 1, "", "FORCE_EXIT"], [99, 1, 1, "", "FORCE_EXTEND"], [99, 1, 1, "", "FORCE_RELEASE_DEPOSIT"], [99, 1, 1, "", "FORCE_SET_BALANCE"], [99, 1, 1, "", "FORCE_SLASH_DEPOSIT"], [99, 1, 1, "", "FORCE_TRANSFER"], [99, 1, 1, "", "FORCE_UNRESERVE"], [99, 1, 1, "", "IF_ELSE"], [99, 1, 1, "", "INCREASE_TAKE"], [99, 1, 1, "", "KILL_PREFIX"], [99, 1, 1, "", "KILL_PURE"], [99, 1, 1, "", "KILL_STORAGE"], [99, 1, 1, "", "MODIFY_POSITION"], [99, 1, 1, "", "MOVE_STAKE"], [99, 1, 1, "", "NOTE_PREIMAGE"], [99, 1, 1, "", "NOTE_STALLED"], [99, 1, 1, "id14", "POKE_DEPOSIT"], [99, 1, 1, "", "PROPOSE"], [99, 1, 1, "", "PROXY"], [99, 1, 1, "", "PROXY_ANNOUNCED"], [99, 1, 1, "", "RECYCLE_ALPHA"], [99, 1, 1, "", "REFUND"], [99, 1, 1, "", "REGISTER"], [99, 1, 1, "", "REGISTER_LEASED_NETWORK"], [99, 1, 1, "", "REGISTER_NETWORK"], [99, 1, 1, "", "REGISTER_NETWORK_WITH_IDENTITY"], [99, 1, 1, "", "REJECT_ANNOUNCEMENT"], [99, 1, 1, "", "RELEASE_DEPOSIT"], [99, 1, 1, "", "REMARK"], [99, 1, 1, "", "REMARK_WITH_EVENT"], [99, 1, 1, "", "REMOVE_ANNOUNCEMENT"], [99, 1, 1, "", "REMOVE_KEY"], [99, 1, 1, "", "REMOVE_LIQUIDITY"], [99, 1, 1, "id17", "REMOVE_MEMBER"], [99, 1, 1, "", "REMOVE_PROXIES"], [99, 1, 1, "", "REMOVE_PROXY"], [99, 1, 1, "", "REMOVE_STAKE"], [99, 1, 1, "", "REMOVE_STAKE_FULL_LIMIT"], [99, 1, 1, "", "REMOVE_STAKE_LIMIT"], [99, 1, 1, "", "REPORT_EQUIVOCATION"], [99, 1, 1, "", "REPORT_EQUIVOCATION_UNSIGNED"], [99, 1, 1, "", "REQUEST_PREIMAGE"], [99, 1, 1, "id21", "RESET_MEMBERS"], [99, 1, 1, "", "REVEAL_MECHANISM_WEIGHTS"], [99, 1, 1, "", "REVEAL_WEIGHTS"], [99, 1, 1, "", "ROOT_DISSOLVE_NETWORK"], [99, 1, 1, "", "ROOT_REGISTER"], [99, 1, 1, "", "SCHEDULE"], [99, 1, 1, "", "SCHEDULE_AFTER"], [99, 1, 1, "", "SCHEDULE_GRANDPA_CHANGE"], [99, 1, 1, "", "SCHEDULE_NAMED"], [99, 1, 1, "", "SCHEDULE_NAMED_AFTER"], [99, 1, 1, "", "SCHEDULE_SWAP_COLDKEY"], [99, 1, 1, "", "SERVE_AXON"], [99, 1, 1, "", "SERVE_AXON_TLS"], [99, 1, 1, "", "SERVE_PROMETHEUS"], [99, 1, 1, "", "SET"], [99, 1, 1, "", "SET_BASE_FEE_PER_GAS"], [99, 1, 1, "", "SET_BEACON_CONFIG"], [99, 1, 1, "", "SET_CHILDKEY_TAKE"], [99, 1, 1, "", "SET_CHILDREN"], [99, 1, 1, "", "SET_CODE"], [99, 1, 1, "", "SET_CODE_WITHOUT_CHECKS"], [99, 1, 1, "", "SET_COLDKEY_AUTO_STAKE_HOTKEY"], [99, 1, 1, "", "SET_COMMITMENT"], [99, 1, 1, "", "SET_ELASTICITY"], [99, 1, 1, "", "SET_FEE_RATE"], [99, 1, 1, "", "SET_HEAP_PAGES"], [99, 1, 1, "id25", "SET_IDENTITY"], [99, 1, 1, "", "SET_KEY"], [99, 1, 1, "", "SET_MAX_SPACE"], [99, 1, 1, "", "SET_MECHANISM_WEIGHTS"], [99, 1, 1, "", "SET_MEMBERS"], [99, 1, 1, "", "SET_OLDEST_STORED_ROUND"], [99, 1, 1, "", "SET_PENDING_CHILDKEY_COOLDOWN"], [99, 1, 1, "id28", "SET_PRIME"], [99, 1, 1, "", "SET_RETRY"], [99, 1, 1, "", "SET_RETRY_NAMED"], [99, 1, 1, "", "SET_STORAGE"], [99, 1, 1, "", "SET_SUBNET_IDENTITY"], [99, 1, 1, "", "SET_WEIGHTS"], [99, 1, 1, "", "SET_WHITELIST"], [99, 1, 1, "", "START_CALL"], [99, 1, 1, "id32", "SUDO"], [99, 1, 1, "", "SWAP_AUTHORITIES"], [99, 1, 1, "", "SWAP_COLDKEY"], [99, 1, 1, "", "SWAP_HOTKEY"], [99, 1, 1, "id36", "SWAP_MEMBER"], [99, 1, 1, "", "SWAP_STAKE"], [99, 1, 1, "", "SWAP_STAKE_LIMIT"], [99, 1, 1, "", "TERMINATE_LEASE"], [99, 1, 1, "", "TOGGLE_USER_LIQUIDITY"], [99, 1, 1, "", "TRANSACT"], [99, 1, 1, "", "TRANSFER_ALL"], [99, 1, 1, "", "TRANSFER_ALLOW_DEATH"], [99, 1, 1, "", "TRANSFER_KEEP_ALIVE"], [99, 1, 1, "", "TRANSFER_STAKE"], [99, 1, 1, "", "TRY_ASSOCIATE_HOTKEY"], [99, 1, 1, "", "UNNOTE_PREIMAGE"], [99, 1, 1, "", "UNREQUEST_PREIMAGE"], [99, 1, 1, "", "UNSTAKE_ALL"], [99, 1, 1, "", "UNSTAKE_ALL_ALPHA"], [99, 1, 1, "", "UPDATE_CAP"], [99, 1, 1, "", "UPDATE_END"], [99, 1, 1, "", "UPDATE_MIN_CONTRIBUTION"], [99, 1, 1, "", "UPDATE_SYMBOL"], [99, 1, 1, "", "UPGRADE_ACCOUNTS"], [99, 1, 1, "id41", "VOTE"], [99, 1, 1, "id47", "WITHDRAW"], [99, 1, 1, "", "WITH_WEIGHT"], [99, 1, 1, "", "WRITE_PULSE"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "liquidity"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "tick_high"], [99, 4, 1, "", "tick_low"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER": [[99, 4, 1, "id1", "pallet"], [99, 4, 1, "id2", "wallet"], [99, 4, 1, "id3", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY": [[99, 4, 1, "", "delay"], [99, 4, 1, "", "delegate"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proxy_type"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE": [[99, 4, 1, "", "amount_staked"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT": [[99, 4, 1, "", "allow_partial"], [99, 4, 1, "", "amount_staked"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "limit_price"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE": [[99, 4, 1, "", "call_hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "real"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE": [[99, 4, 1, "", "code"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI": [[99, 4, 1, "", "call_hash"], [99, 4, 1, "", "max_weight"], [99, 4, 1, "", "maybe_timepoint"], [99, 4, 1, "", "other_signatories"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "threshold"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY": [[99, 4, 1, "", "block_number"], [99, 4, 1, "", "evm_key"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "signature"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE": [[99, 4, 1, "", "call"], [99, 4, 1, "", "index"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI": [[99, 4, 1, "", "call"], [99, 4, 1, "", "max_weight"], [99, 4, 1, "", "maybe_timepoint"], [99, 4, 1, "", "other_signatories"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "threshold"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1": [[99, 4, 1, "", "call"], [99, 4, 1, "", "other_signatories"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE": [[99, 4, 1, "", "code_hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS": [[99, 4, 1, "", "code_hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH": [[99, 4, 1, "", "calls"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL": [[99, 4, 1, "", "calls"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS": [[99, 4, 1, "", "commit_hashes"], [99, 4, 1, "", "netuids"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS": [[99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "salts_list"], [99, 4, 1, "", "uids_list"], [99, 4, 1, "", "values_list"], [99, 4, 1, "", "version_keys"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS": [[99, 4, 1, "", "netuids"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "version_keys"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "weights"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN": [[99, 4, 1, "", "keep_alive"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "value"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA": [[99, 4, 1, "", "amount"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL": [[99, 4, 1, "", "access_list"], [99, 4, 1, "", "authorization_list"], [99, 4, 1, "", "gas_limit"], [99, 4, 1, "", "input"], [99, 4, 1, "", "max_fee_per_gas"], [99, 4, 1, "", "max_priority_fee_per_gas"], [99, 4, 1, "", "nonce"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "source"], [99, 4, 1, "", "target"], [99, 4, 1, "", "value"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL": [[99, 4, 1, "", "index"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "when"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI": [[99, 4, 1, "", "call_hash"], [99, 4, 1, "", "other_signatories"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "threshold"], [99, 4, 1, "", "timepoint"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED": [[99, 4, 1, "", "id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "task"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED": [[99, 4, 1, "", "id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY": [[99, 4, 1, "id5", "new"], [99, 4, 1, "id6", "pallet"], [99, 4, 1, "id7", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY": [[99, 4, 1, "", "identified"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME": [[99, 4, 1, "id9", "pallet"], [99, 4, 1, "id10", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE": [[99, 4, 1, "", "index"], [99, 4, 1, "", "length_bound"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proposal_hash"], [99, 4, 1, "", "proposal_weight_bound"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS": [[99, 4, 1, "", "commit"], [99, 4, 1, "", "mecid"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "reveal_round"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS": [[99, 4, 1, "", "commit_hash"], [99, 4, 1, "", "mecid"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS": [[99, 4, 1, "", "commit"], [99, 4, 1, "", "commit_reveal_version"], [99, 4, 1, "", "mecid"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "reveal_round"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS": [[99, 4, 1, "", "commit"], [99, 4, 1, "", "commit_reveal_version"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "reveal_round"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS": [[99, 4, 1, "", "commit_hash"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE": [[99, 4, 1, "", "amount"], [99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE": [[99, 4, 1, "", "access_list"], [99, 4, 1, "", "authorization_list"], [99, 4, 1, "", "call"], [99, 4, 1, "", "cap"], [99, 4, 1, "", "deposit"], [99, 4, 1, "", "end"], [99, 4, 1, "", "gas_limit"], [99, 4, 1, "", "init"], [99, 4, 1, "", "max_fee_per_gas"], [99, 4, 1, "", "max_priority_fee_per_gas"], [99, 4, 1, "", "min_contribution"], [99, 4, 1, "", "nonce"], [99, 4, 1, "id12", "pallet"], [99, 4, 1, "", "source"], [99, 4, 1, "", "target_address"], [99, 4, 1, "", "value"], [99, 4, 1, "id13", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2": [[99, 4, 1, "", "access_list"], [99, 4, 1, "", "authorization_list"], [99, 4, 1, "", "gas_limit"], [99, 4, 1, "", "init"], [99, 4, 1, "", "max_fee_per_gas"], [99, 4, 1, "", "max_priority_fee_per_gas"], [99, 4, 1, "", "nonce"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "salt"], [99, 4, 1, "", "source"], [99, 4, 1, "", "value"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE": [[99, 4, 1, "", "delay"], [99, 4, 1, "", "index"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proxy_type"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "take"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST": [[99, 4, 1, "", "disabled"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "proposal_hash"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS": [[99, 4, 1, "", "as_origin"], [99, 4, 1, "", "call"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE": [[99, 4, 1, "", "as_origin"], [99, 4, 1, "", "call"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE": [[99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK": [[99, 4, 1, "", "coldkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED": [[99, 4, 1, "", "hashes"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE": [[99, 4, 1, "", "length_bound"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proposal"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET": [[99, 4, 1, "", "block_number"], [99, 4, 1, "", "nonce"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "work"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE": [[99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE": [[99, 4, 1, "", "delta"], [99, 4, 1, "", "direction"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH": [[99, 4, 1, "", "calls"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT": [[99, 4, 1, "", "account"], [99, 4, 1, "", "block"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE": [[99, 4, 1, "", "new_free"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT": [[99, 4, 1, "", "account"], [99, 4, 1, "", "block"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER": [[99, 4, 1, "", "dest"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "source"], [99, 4, 1, "", "value"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE": [[99, 4, 1, "", "amount"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE": [[99, 4, 1, "", "fallback"], [99, 4, 1, "", "main"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "take"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "prefix"], [99, 4, 1, "", "subkeys"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE": [[99, 4, 1, "", "ext_index"], [99, 4, 1, "", "height"], [99, 4, 1, "", "index"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proxy_type"], [99, 4, 1, "", "spawner"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE": [[99, 4, 1, "", "keys"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "liquidity_delta"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "position_id"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE": [[99, 4, 1, "", "alpha_amount"], [99, 4, 1, "", "destination_hotkey"], [99, 4, 1, "", "destination_netuid"], [99, 4, 1, "", "origin_hotkey"], [99, 4, 1, "", "origin_netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE": [[99, 4, 1, "", "bytes"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED": [[99, 4, 1, "", "best_finalized_block_number"], [99, 4, 1, "", "delay"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT": [[99, 4, 1, "", "call_hash"], [99, 4, 1, "", "other_signatories"], [99, 4, 1, "id15", "pallet"], [99, 4, 1, "", "threshold"], [99, 4, 1, "id16", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE": [[99, 4, 1, "", "duration"], [99, 4, 1, "", "length_bound"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proposal"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY": [[99, 4, 1, "", "call"], [99, 4, 1, "", "force_proxy_type"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "real"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED": [[99, 4, 1, "", "call"], [99, 4, 1, "", "delegate"], [99, 4, 1, "", "force_proxy_type"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "real"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA": [[99, 4, 1, "", "amount"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND": [[99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER": [[99, 4, 1, "", "block_number"], [99, 4, 1, "", "coldkey"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "nonce"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "work"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK": [[99, 4, 1, "", "emissions_share"], [99, 4, 1, "", "end_block"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "identity"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT": [[99, 4, 1, "", "call_hash"], [99, 4, 1, "", "delegate"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT": [[99, 4, 1, "", "account"], [99, 4, 1, "", "block"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "remark"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "remark"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT": [[99, 4, 1, "", "call_hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "real"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "position_id"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER": [[99, 4, 1, "id18", "pallet"], [99, 4, 1, "id19", "wallet"], [99, 4, 1, "id20", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY": [[99, 4, 1, "", "delay"], [99, 4, 1, "", "delegate"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "proxy_type"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE": [[99, 4, 1, "", "amount_unstaked"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "limit_price"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT": [[99, 4, 1, "", "allow_partial"], [99, 4, 1, "", "amount_unstaked"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "limit_price"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION": [[99, 4, 1, "", "equivocation_proof"], [99, 4, 1, "", "key_owner_proof"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED": [[99, 4, 1, "", "equivocation_proof"], [99, 4, 1, "", "key_owner_proof"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE": [[99, 4, 1, "", "hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS": [[99, 4, 1, "id22", "members"], [99, 4, 1, "id23", "pallet"], [99, 4, 1, "id24", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS": [[99, 4, 1, "", "mecid"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "salt"], [99, 4, 1, "", "uids"], [99, 4, 1, "", "values"], [99, 4, 1, "", "version_key"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS": [[99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "salt"], [99, 4, 1, "", "uids"], [99, 4, 1, "", "values"], [99, 4, 1, "", "version_key"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK": [[99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE": [[99, 4, 1, "", "call"], [99, 4, 1, "", "maybe_periodic"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "priority"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "when"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER": [[99, 4, 1, "", "after"], [99, 4, 1, "", "call"], [99, 4, 1, "", "maybe_periodic"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "priority"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE": [[99, 4, 1, "", "forced"], [99, 4, 1, "", "in_blocks"], [99, 4, 1, "", "next_authorities"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED": [[99, 4, 1, "", "call"], [99, 4, 1, "", "id"], [99, 4, 1, "", "maybe_periodic"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "priority"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "when"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER": [[99, 4, 1, "", "after"], [99, 4, 1, "", "call"], [99, 4, 1, "", "id"], [99, 4, 1, "", "maybe_periodic"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "priority"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY": [[99, 4, 1, "", "new_coldkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON": [[99, 4, 1, "", "ip"], [99, 4, 1, "", "ip_type"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "placeholder1"], [99, 4, 1, "", "placeholder2"], [99, 4, 1, "", "port"], [99, 4, 1, "", "protocol"], [99, 4, 1, "", "version"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS": [[99, 4, 1, "", "certificate"], [99, 4, 1, "", "ip"], [99, 4, 1, "", "ip_type"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "placeholder1"], [99, 4, 1, "", "placeholder2"], [99, 4, 1, "", "port"], [99, 4, 1, "", "protocol"], [99, 4, 1, "", "version"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS": [[99, 4, 1, "", "ip"], [99, 4, 1, "", "ip_type"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "port"], [99, 4, 1, "", "version"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET": [[99, 4, 1, "", "now"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS": [[99, 4, 1, "", "fee"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG": [[99, 4, 1, "", "config_payload"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "signature"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "take"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN": [[99, 4, 1, "", "children"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE": [[99, 4, 1, "", "code"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS": [[99, 4, 1, "", "code"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT": [[99, 4, 1, "", "info"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY": [[99, 4, 1, "", "elasticity"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE": [[99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "rate"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES": [[99, 4, 1, "", "pages"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY": [[99, 4, 1, "", "additional"], [99, 4, 1, "", "description"], [99, 4, 1, "", "discord"], [99, 4, 1, "", "github_repo"], [99, 4, 1, "", "identified"], [99, 4, 1, "", "image"], [99, 4, 1, "", "info"], [99, 4, 1, "", "name"], [99, 4, 1, "id26", "pallet"], [99, 4, 1, "", "url"], [99, 4, 1, "id27", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY": [[99, 4, 1, "", "new"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE": [[99, 4, 1, "", "new_limit"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS": [[99, 4, 1, "", "dests"], [99, 4, 1, "", "mecid"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "version_key"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "weights"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS": [[99, 4, 1, "", "new_members"], [99, 4, 1, "", "old_count"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "prime"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND": [[99, 4, 1, "", "oldest_round"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN": [[99, 4, 1, "", "cooldown"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME": [[99, 4, 1, "id29", "pallet"], [99, 4, 1, "id30", "wallet"], [99, 4, 1, "id31", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "period"], [99, 4, 1, "", "retries"], [99, 4, 1, "", "task"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED": [[99, 4, 1, "", "id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "period"], [99, 4, 1, "", "retries"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE": [[99, 4, 1, "", "items"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY": [[99, 4, 1, "", "additional"], [99, 4, 1, "", "description"], [99, 4, 1, "", "discord"], [99, 4, 1, "", "github_repo"], [99, 4, 1, "", "logo_url"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "subnet_contact"], [99, 4, 1, "", "subnet_name"], [99, 4, 1, "", "subnet_url"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS": [[99, 4, 1, "", "dests"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "version_key"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "weights"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST": [[99, 4, 1, "", "new"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL": [[99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO": [[99, 4, 1, "id33", "call"], [99, 4, 1, "id34", "pallet"], [99, 4, 1, "id35", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES": [[99, 4, 1, "", "new_authorities"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY": [[99, 4, 1, "", "new_coldkey"], [99, 4, 1, "", "old_coldkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "swap_cost"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "new_hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER": [[99, 4, 1, "id37", "add"], [99, 4, 1, "id38", "pallet"], [99, 4, 1, "id39", "remove"], [99, 4, 1, "id40", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE": [[99, 4, 1, "", "alpha_amount"], [99, 4, 1, "", "destination_netuid"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "origin_netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT": [[99, 4, 1, "", "allow_partial"], [99, 4, 1, "", "alpha_amount"], [99, 4, 1, "", "destination_netuid"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "limit_price"], [99, 4, 1, "", "origin_netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "lease_id"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY": [[99, 4, 1, "", "enable"], [99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "transaction"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL": [[99, 4, 1, "", "dest"], [99, 4, 1, "", "keep_alive"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH": [[99, 4, 1, "", "dest"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "value"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE": [[99, 4, 1, "", "dest"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "value"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE": [[99, 4, 1, "", "alpha_amount"], [99, 4, 1, "", "destination_coldkey"], [99, 4, 1, "", "destination_netuid"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "", "origin_netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE": [[99, 4, 1, "", "hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE": [[99, 4, 1, "", "hash"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA": [[99, 4, 1, "", "hotkey"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP": [[99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "new_cap"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END": [[99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "new_end"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION": [[99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "", "new_min_contribution"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL": [[99, 4, 1, "", "netuid"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "symbol"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE": [[99, 4, 1, "id42", "approve"], [99, 4, 1, "", "hotkey"], [99, 4, 1, "id43", "index"], [99, 4, 1, "id44", "pallet"], [99, 4, 1, "id45", "proposal"], [99, 4, 1, "id46", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW": [[99, 4, 1, "", "address"], [99, 4, 1, "", "crowdloan_id"], [99, 4, 1, "id48", "pallet"], [99, 4, 1, "", "value"], [99, 4, 1, "id49", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT": [[99, 4, 1, "", "call"], [99, 4, 1, "", "pallet"], [99, 4, 1, "", "wallet"], [99, 4, 1, "", "weight"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE": [[99, 4, 1, "", "pallet"], [99, 4, 1, "", "pulses_payload"], [99, 4, 1, "", "signature"], [99, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.pallets": [[100, 6, 1, "", "AdminUtils"], [100, 6, 1, "", "Balances"], [100, 6, 1, "", "BaseFee"], [100, 6, 1, "", "Commitments"], [100, 6, 1, "", "Crowdloan"], [100, 6, 1, "", "Drand"], [100, 6, 1, "", "EVM"], [100, 6, 1, "", "Ethereum"], [100, 6, 1, "", "Grandpa"], [100, 6, 1, "", "Multisig"], [100, 6, 1, "", "Preimage"], [100, 6, 1, "", "Proxy"], [100, 6, 1, "", "Registry"], [100, 6, 1, "", "SafeMode"], [100, 6, 1, "", "Scheduler"], [100, 6, 1, "", "SenateMembers"], [100, 6, 1, "", "SubtensorModule"], [100, 6, 1, "", "Sudo"], [100, 6, 1, "", "Swap"], [100, 6, 1, "", "System"], [100, 6, 1, "", "Timestamp"], [100, 6, 1, "", "Triumvirate"], [100, 6, 1, "", "TriumvirateMembers"], [100, 6, 1, "", "Utility"]], "bittensor.extras.dev_framework.calls.sudo_calls": [[101, 1, 1, "", "SUDO_AS"], [101, 1, 1, "", "SUDO_SET_ACTIVITY_CUTOFF"], [101, 1, 1, "", "SUDO_SET_ADJUSTMENT_ALPHA"], [101, 1, 1, "", "SUDO_SET_ADJUSTMENT_INTERVAL"], [101, 1, 1, "", "SUDO_SET_ADMIN_FREEZE_WINDOW"], [101, 1, 1, "", "SUDO_SET_ALPHA_SIGMOID_STEEPNESS"], [101, 1, 1, "", "SUDO_SET_ALPHA_VALUES"], [101, 1, 1, "", "SUDO_SET_BONDS_MOVING_AVERAGE"], [101, 1, 1, "", "SUDO_SET_BONDS_PENALTY"], [101, 1, 1, "", "SUDO_SET_BONDS_RESET_ENABLED"], [101, 1, 1, "", "SUDO_SET_CK_BURN"], [101, 1, 1, "", "SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION"], [101, 1, 1, "", "SUDO_SET_COMMIT_REVEAL_VERSION"], [101, 1, 1, "", "SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED"], [101, 1, 1, "", "SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL"], [101, 1, 1, "", "SUDO_SET_DEFAULT_TAKE"], [101, 1, 1, "", "SUDO_SET_DIFFICULTY"], [101, 1, 1, "", "SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION"], [101, 1, 1, "", "SUDO_SET_EMA_PRICE_HALVING_PERIOD"], [101, 1, 1, "", "SUDO_SET_EVM_CHAIN_ID"], [101, 1, 1, "", "SUDO_SET_IMMUNITY_PERIOD"], [101, 1, 1, "", "SUDO_SET_KAPPA"], [101, 1, 1, "", "SUDO_SET_LIQUID_ALPHA_ENABLED"], [101, 1, 1, "", "SUDO_SET_LOCK_REDUCTION_INTERVAL"], [101, 1, 1, "", "SUDO_SET_MAX_ALLOWED_UIDS"], [101, 1, 1, "", "SUDO_SET_MAX_ALLOWED_VALIDATORS"], [101, 1, 1, "", "SUDO_SET_MAX_BURN"], [101, 1, 1, "", "SUDO_SET_MAX_CHILDKEY_TAKE"], [101, 1, 1, "", "SUDO_SET_MAX_DIFFICULTY"], [101, 1, 1, "", "SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK"], [101, 1, 1, "", "SUDO_SET_MAX_WEIGHT_LIMIT"], [101, 1, 1, "", "SUDO_SET_MECHANISM_COUNT"], [101, 1, 1, "", "SUDO_SET_MECHANISM_EMISSION_SPLIT"], [101, 1, 1, "", "SUDO_SET_MIN_ALLOWED_UIDS"], [101, 1, 1, "", "SUDO_SET_MIN_ALLOWED_WEIGHTS"], [101, 1, 1, "", "SUDO_SET_MIN_BURN"], [101, 1, 1, "", "SUDO_SET_MIN_CHILDKEY_TAKE"], [101, 1, 1, "", "SUDO_SET_MIN_DELEGATE_TAKE"], [101, 1, 1, "", "SUDO_SET_MIN_DIFFICULTY"], [101, 1, 1, "", "SUDO_SET_NETWORK_IMMUNITY_PERIOD"], [101, 1, 1, "", "SUDO_SET_NETWORK_MIN_LOCK_COST"], [101, 1, 1, "", "SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED"], [101, 1, 1, "", "SUDO_SET_NETWORK_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_NETWORK_REGISTRATION_ALLOWED"], [101, 1, 1, "", "SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE"], [101, 1, 1, "", "SUDO_SET_OWNER_HPARAM_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT"], [101, 1, 1, "", "SUDO_SET_RAO_RECYCLED"], [101, 1, 1, "", "SUDO_SET_RECYCLE_OR_BURN"], [101, 1, 1, "", "SUDO_SET_RHO"], [101, 1, 1, "", "SUDO_SET_SERVING_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_SN_OWNER_HOTKEY"], [101, 1, 1, "", "SUDO_SET_STAKE_THRESHOLD"], [101, 1, 1, "", "SUDO_SET_SUBNET_LIMIT"], [101, 1, 1, "", "SUDO_SET_SUBNET_MOVING_ALPHA"], [101, 1, 1, "", "SUDO_SET_SUBNET_OWNER_CUT"], [101, 1, 1, "", "SUDO_SET_SUBNET_OWNER_HOTKEY"], [101, 1, 1, "", "SUDO_SET_SUBTOKEN_ENABLED"], [101, 1, 1, "", "SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL"], [101, 1, 1, "", "SUDO_SET_TEMPO"], [101, 1, 1, "", "SUDO_SET_TOGGLE_TRANSFER"], [101, 1, 1, "", "SUDO_SET_TOTAL_ISSUANCE"], [101, 1, 1, "", "SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_TX_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_WEIGHTS_SET_RATE_LIMIT"], [101, 1, 1, "", "SUDO_SET_WEIGHTS_VERSION_KEY"], [101, 1, 1, "", "SUDO_SET_YUMA3_ENABLED"], [101, 1, 1, "", "SUDO_TOGGLE_EVM_PRECOMPILE"], [101, 1, 1, "", "SUDO_TRIM_TO_MAX_ALLOWED_UIDS"], [101, 1, 1, "id0", "SUDO_UNCHECKED_WEIGHT"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS": [[101, 4, 1, "", "call"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"], [101, 4, 1, "", "who"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF": [[101, 4, 1, "", "activity_cutoff"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA": [[101, 4, 1, "", "adjustment_alpha"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL": [[101, 4, 1, "", "adjustment_interval"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"], [101, 4, 1, "", "window"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "steepness"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES": [[101, 4, 1, "", "alpha_high"], [101, 4, 1, "", "alpha_low"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE": [[101, 4, 1, "", "bonds_moving_average"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY": [[101, 4, 1, "", "bonds_penalty"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED": [[101, 4, 1, "", "enabled"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN": [[101, 4, 1, "", "burn"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION": [[101, 4, 1, "", "duration"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "version"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED": [[101, 4, 1, "", "enabled"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL": [[101, 4, 1, "", "interval"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE": [[101, 4, 1, "", "default_take"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY": [[101, 4, 1, "", "difficulty"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION": [[101, 4, 1, "", "duration"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD": [[101, 4, 1, "", "ema_halving"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID": [[101, 4, 1, "", "chain_id"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD": [[101, 4, 1, "", "immunity_period"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA": [[101, 4, 1, "", "kappa"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED": [[101, 4, 1, "", "enabled"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL": [[101, 4, 1, "", "interval"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS": [[101, 4, 1, "", "max_allowed_uids"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS": [[101, 4, 1, "", "max_allowed_validators"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN": [[101, 4, 1, "", "max_burn"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "take"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY": [[101, 4, 1, "", "max_difficulty"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK": [[101, 4, 1, "", "max_registrations_per_block"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT": [[101, 4, 1, "", "max_weight_limit"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT": [[101, 4, 1, "", "mechanism_count"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT": [[101, 4, 1, "", "maybe_split"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS": [[101, 4, 1, "", "min_allowed_uids"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS": [[101, 4, 1, "", "min_allowed_weights"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN": [[101, 4, 1, "", "min_burn"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "take"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "take"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY": [[101, 4, 1, "", "min_difficulty"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD": [[101, 4, 1, "", "immunity_period"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST": [[101, 4, 1, "", "lock_cost"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "registration_allowed"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "rate_limit"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "registration_allowed"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE": [[101, 4, 1, "", "min_stake"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT": [[101, 4, 1, "", "epochs"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT": [[101, 4, 1, "", "immune_neurons"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "rao_recycled"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "recycle_or_burn"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "rho"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "serving_rate_limit"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY": [[101, 4, 1, "", "hotkey"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD": [[101, 4, 1, "", "min_stake"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT": [[101, 4, 1, "", "max_subnets"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA": [[101, 4, 1, "", "alpha"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "subnet_owner_cut"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY": [[101, 4, 1, "", "hotkey"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "subtoken_enabled"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "target_registrations_per_interval"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "tempo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "toggle"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "total_issuance"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "tx_rate_limit"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "tx_rate_limit"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT": [[101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "tx_rate_limit"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"], [101, 4, 1, "", "weights_set_rate_limit"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY": [[101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"], [101, 4, 1, "", "weights_version_key"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED": [[101, 4, 1, "", "enabled"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE": [[101, 4, 1, "", "enabled"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "precompile_id"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS": [[101, 4, 1, "", "max_n"], [101, 4, 1, "", "netuid"], [101, 4, 1, "", "pallet"], [101, 4, 1, "", "sudo"], [101, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT": [[101, 4, 1, "id1", "call"], [101, 4, 1, "id2", "pallet"], [101, 4, 1, "id3", "sudo"], [101, 4, 1, "id4", "wallet"], [101, 4, 1, "id5", "weight"]], "bittensor.extras.dev_framework.subnet": [[103, 1, 1, "", "CALL_RECORD"], [103, 6, 1, "", "NETUID"], [103, 1, 1, "", "TestSubnet"]], "bittensor.extras.dev_framework.subnet.CALL_RECORD": [[103, 4, 1, "", "idx"], [103, 4, 1, "", "operation"], [103, 4, 1, "", "response"]], "bittensor.extras.dev_framework.subnet.TestSubnet": [[103, 2, 1, "", "async_execute_one"], [103, 2, 1, "", "async_execute_steps"], [103, 2, 1, "", "async_set_hyperparameter"], [103, 2, 1, "", "async_wait_next_epoch"], [103, 3, 1, "", "calls"], [103, 2, 1, "", "execute_one"], [103, 2, 1, "", "execute_steps"], [103, 3, 1, "", "netuid"], [103, 3, 1, "", "owner"], [103, 4, 1, "", "period"], [103, 4, 1, "", "raise_error"], [103, 4, 1, "", "s"], [103, 2, 1, "", "set_hyperparameter"], [103, 4, 1, "", "wait_for_finalization"], [103, 4, 1, "", "wait_for_inclusion"], [103, 2, 1, "", "wait_next_epoch"]], "bittensor.extras.dev_framework.utils": [[104, 6, 1, "", "ACTIVATE_SUBNET"], [104, 1, 1, "", "ActivateSubnet"], [104, 6, 1, "", "REGISTER_NEURON"], [104, 6, 1, "", "REGISTER_SUBNET"], [104, 1, 1, "", "RegisterNeuron"], [104, 1, 1, "", "RegisterSubnet"], [104, 6, 1, "", "STEPS"], [104, 5, 1, "", "is_instance_namedtuple"], [104, 5, 1, "", "split_command"]], "bittensor.extras.dev_framework.utils.ActivateSubnet": [[104, 4, 1, "", "netuid"], [104, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.utils.RegisterNeuron": [[104, 4, 1, "", "netuid"], [104, 4, 1, "", "wallet"]], "bittensor.extras.dev_framework.utils.RegisterSubnet": [[104, 4, 1, "", "wallet"]], "bittensor.extras.subtensor_api": [[110, 1, 1, "", "SubtensorApi"], [106, 0, 0, "-", "chain"], [107, 0, 0, "-", "commitments"], [108, 0, 0, "-", "delegates"], [109, 0, 0, "-", "extrinsics"], [111, 0, 0, "-", "metagraphs"], [112, 0, 0, "-", "neurons"], [113, 0, 0, "-", "queries"], [114, 0, 0, "-", "staking"], [115, 0, 0, "-", "subnets"], [116, 0, 0, "-", "utils"], [117, 0, 0, "-", "wallets"]], "bittensor.extras.subtensor_api.SubtensorApi": [[110, 2, 1, "", "add_args"], [110, 3, 1, "", "block"], [110, 3, 1, "", "chain"], [110, 4, 1, "", "chain_endpoint"], [110, 4, 1, "", "close"], [110, 3, 1, "", "commitments"], [110, 4, 1, "", "compose_call"], [110, 4, 1, "", "config"], [110, 3, 1, "", "delegates"], [110, 4, 1, "", "determine_block_hash"], [110, 4, 1, "", "encode_params"], [110, 3, 1, "", "extrinsics"], [110, 4, 1, "", "help"], [110, 4, 1, "", "initialize"], [110, 4, 1, "", "inner_subtensor"], [110, 4, 1, "", "is_async"], [110, 4, 1, "", "log_verbose"], [110, 3, 1, "", "metagraphs"], [110, 4, 1, "", "network"], [110, 3, 1, "", "neurons"], [110, 3, 1, "", "queries"], [110, 4, 1, "", "setup_config"], [110, 4, 1, "", "sign_and_send_extrinsic"], [110, 3, 1, "", "staking"], [110, 4, 1, "", "start_call"], [110, 3, 1, "", "subnets"], [110, 4, 1, "", "substrate"], [110, 4, 1, "", "wait_for_block"], [110, 3, 1, "", "wallets"]], "bittensor.extras.subtensor_api.chain": [[106, 1, 1, "", "Chain"]], "bittensor.extras.subtensor_api.chain.Chain": [[106, 4, 1, "", "get_admin_freeze_window"], [106, 4, 1, "", "get_block_hash"], [106, 4, 1, "", "get_block_info"], [106, 4, 1, "", "get_current_block"], [106, 4, 1, "", "get_delegate_identities"], [106, 4, 1, "", "get_existential_deposit"], [106, 4, 1, "", "get_minimum_required_stake"], [106, 4, 1, "", "get_timestamp"], [106, 4, 1, "", "get_vote_data"], [106, 4, 1, "", "is_fast_blocks"], [106, 4, 1, "", "is_in_admin_freeze_window"], [106, 4, 1, "", "last_drand_round"], [106, 4, 1, "", "state_call"], [106, 4, 1, "", "tx_rate_limit"]], "bittensor.extras.subtensor_api.commitments": [[107, 1, 1, "", "Commitments"]], "bittensor.extras.subtensor_api.commitments.Commitments": [[107, 4, 1, "", "commit_reveal_enabled"], [107, 4, 1, "", "get_all_commitments"], [107, 4, 1, "", "get_all_revealed_commitments"], [107, 4, 1, "", "get_commitment"], [107, 4, 1, "", "get_commitment_metadata"], [107, 4, 1, "", "get_last_bonds_reset"], [107, 4, 1, "", "get_last_commitment_bonds_reset_block"], [107, 4, 1, "", "get_revealed_commitment"], [107, 4, 1, "", "get_revealed_commitment_by_hotkey"], [107, 4, 1, "", "get_timelocked_weight_commits"], [107, 4, 1, "", "set_commitment"], [107, 4, 1, "", "set_reveal_commitment"]], "bittensor.extras.subtensor_api.delegates": [[108, 1, 1, "", "Delegates"]], "bittensor.extras.subtensor_api.delegates.Delegates": [[108, 4, 1, "", "get_delegate_by_hotkey"], [108, 4, 1, "", "get_delegate_identities"], [108, 4, 1, "", "get_delegate_take"], [108, 4, 1, "", "get_delegated"], [108, 4, 1, "", "get_delegates"], [108, 4, 1, "", "is_hotkey_delegate"], [108, 4, 1, "", "set_delegate_take"]], "bittensor.extras.subtensor_api.extrinsics": [[109, 1, 1, "", "Extrinsics"]], "bittensor.extras.subtensor_api.extrinsics.Extrinsics": [[109, 4, 1, "", "add_liquidity"], [109, 4, 1, "", "add_stake"], [109, 4, 1, "", "add_stake_multiple"], [109, 4, 1, "", "burned_register"], [109, 4, 1, "", "commit_weights"], [109, 4, 1, "", "get_extrinsic_fee"], [109, 4, 1, "", "modify_liquidity"], [109, 4, 1, "", "move_stake"], [109, 4, 1, "", "register"], [109, 4, 1, "", "register_subnet"], [109, 4, 1, "", "remove_liquidity"], [109, 4, 1, "", "reveal_weights"], [109, 4, 1, "", "root_register"], [109, 4, 1, "", "root_set_pending_childkey_cooldown"], [109, 4, 1, "", "serve_axon"], [109, 4, 1, "", "set_children"], [109, 4, 1, "", "set_commitment"], [109, 4, 1, "", "set_subnet_identity"], [109, 4, 1, "", "set_weights"], [109, 4, 1, "", "start_call"], [109, 4, 1, "", "swap_stake"], [109, 4, 1, "", "toggle_user_liquidity"], [109, 4, 1, "", "transfer"], [109, 4, 1, "", "transfer_stake"], [109, 4, 1, "", "unstake"], [109, 4, 1, "", "unstake_all"], [109, 4, 1, "", "unstake_multiple"], [109, 4, 1, "", "validate_extrinsic_params"]], "bittensor.extras.subtensor_api.metagraphs": [[111, 1, 1, "", "Metagraphs"]], "bittensor.extras.subtensor_api.metagraphs.Metagraphs": [[111, 4, 1, "", "get_all_metagraphs_info"], [111, 4, 1, "", "get_metagraph_info"], [111, 4, 1, "", "metagraph"]], "bittensor.extras.subtensor_api.neurons": [[112, 1, 1, "", "Neurons"]], "bittensor.extras.subtensor_api.neurons.Neurons": [[112, 4, 1, "", "get_all_neuron_certificates"], [112, 4, 1, "", "get_neuron_certificate"], [112, 4, 1, "", "neuron_for_uid"], [112, 4, 1, "", "neurons"], [112, 4, 1, "", "neurons_lite"], [112, 4, 1, "", "query_identity"]], "bittensor.extras.subtensor_api.queries": [[113, 1, 1, "", "Queries"]], "bittensor.extras.subtensor_api.queries.Queries": [[113, 4, 1, "", "query_constant"], [113, 4, 1, "", "query_map"], [113, 4, 1, "", "query_map_subtensor"], [113, 4, 1, "", "query_module"], [113, 4, 1, "", "query_runtime_api"], [113, 4, 1, "", "query_subtensor"]], "bittensor.extras.subtensor_api.staking": [[114, 1, 1, "", "Staking"]], "bittensor.extras.subtensor_api.staking.Staking": [[114, 4, 1, "", "add_stake"], [114, 4, 1, "", "add_stake_multiple"], [114, 4, 1, "", "get_auto_stakes"], [114, 4, 1, "", "get_hotkey_stake"], [114, 4, 1, "", "get_minimum_required_stake"], [114, 4, 1, "", "get_stake"], [114, 4, 1, "", "get_stake_add_fee"], [114, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [114, 4, 1, "", "get_stake_info_for_coldkey"], [114, 4, 1, "", "get_stake_movement_fee"], [114, 4, 1, "", "get_stake_weight"], [114, 4, 1, "", "get_unstake_fee"], [114, 4, 1, "", "move_stake"], [114, 4, 1, "", "set_auto_stake"], [114, 4, 1, "", "sim_swap"], [114, 4, 1, "", "swap_stake"], [114, 4, 1, "", "transfer_stake"], [114, 4, 1, "", "unstake"], [114, 4, 1, "", "unstake_all"], [114, 4, 1, "", "unstake_multiple"]], "bittensor.extras.subtensor_api.subnets": [[115, 1, 1, "", "Subnets"]], "bittensor.extras.subtensor_api.subnets.Subnets": [[115, 4, 1, "", "all_subnets"], [115, 4, 1, "", "blocks_since_last_step"], [115, 4, 1, "", "blocks_since_last_update"], [115, 4, 1, "", "bonds"], [115, 4, 1, "", "burned_register"], [115, 4, 1, "", "commit_reveal_enabled"], [115, 4, 1, "", "difficulty"], [115, 4, 1, "", "get_all_subnets_info"], [115, 4, 1, "", "get_all_subnets_netuid"], [115, 4, 1, "", "get_children"], [115, 4, 1, "", "get_children_pending"], [115, 4, 1, "", "get_hyperparameter"], [115, 4, 1, "", "get_liquidity_list"], [115, 4, 1, "", "get_mechanism_count"], [115, 4, 1, "", "get_mechanism_emission_split"], [115, 4, 1, "", "get_neuron_for_pubkey_and_subnet"], [115, 4, 1, "", "get_next_epoch_start_block"], [115, 4, 1, "", "get_parents"], [115, 4, 1, "", "get_subnet_burn_cost"], [115, 4, 1, "", "get_subnet_hyperparameters"], [115, 4, 1, "", "get_subnet_info"], [115, 4, 1, "", "get_subnet_owner_hotkey"], [115, 4, 1, "", "get_subnet_price"], [115, 4, 1, "", "get_subnet_prices"], [115, 4, 1, "", "get_subnet_reveal_period_epochs"], [115, 4, 1, "", "get_subnet_validator_permits"], [115, 4, 1, "", "get_total_subnets"], [115, 4, 1, "", "get_uid_for_hotkey_on_subnet"], [115, 4, 1, "", "immunity_period"], [115, 4, 1, "", "is_hotkey_registered_on_subnet"], [115, 4, 1, "", "is_subnet_active"], [115, 4, 1, "", "max_weight_limit"], [115, 4, 1, "", "min_allowed_weights"], [115, 4, 1, "", "recycle"], [115, 4, 1, "", "register"], [115, 4, 1, "", "register_subnet"], [115, 4, 1, "", "set_subnet_identity"], [115, 4, 1, "", "start_call"], [115, 4, 1, "", "subnet"], [115, 4, 1, "", "subnet_exists"], [115, 4, 1, "", "subnetwork_n"], [115, 4, 1, "", "tempo"], [115, 4, 1, "", "weights"], [115, 4, 1, "", "weights_rate_limit"]], "bittensor.extras.subtensor_api.utils": [[116, 5, 1, "", "add_legacy_methods"]], "bittensor.extras.subtensor_api.wallets": [[117, 1, 1, "", "Wallets"]], "bittensor.extras.subtensor_api.wallets.Wallets": [[117, 4, 1, "", "does_hotkey_exist"], [117, 4, 1, "", "filter_netuids_by_registered_hotkeys"], [117, 4, 1, "", "get_balance"], [117, 4, 1, "", "get_balances"], [117, 4, 1, "", "get_children"], [117, 4, 1, "", "get_children_pending"], [117, 4, 1, "", "get_delegate_by_hotkey"], [117, 4, 1, "", "get_delegate_take"], [117, 4, 1, "", "get_delegated"], [117, 4, 1, "", "get_hotkey_owner"], [117, 4, 1, "", "get_hotkey_stake"], [117, 4, 1, "", "get_minimum_required_stake"], [117, 4, 1, "", "get_netuids_for_hotkey"], [117, 4, 1, "", "get_owned_hotkeys"], [117, 4, 1, "", "get_parents"], [117, 4, 1, "", "get_stake"], [117, 4, 1, "", "get_stake_add_fee"], [117, 4, 1, "", "get_stake_for_coldkey_and_hotkey"], [117, 4, 1, "", "get_stake_for_hotkey"], [117, 4, 1, "", "get_stake_info_for_coldkey"], [117, 4, 1, "", "get_stake_movement_fee"], [117, 4, 1, "", "get_transfer_fee"], [117, 4, 1, "", "get_unstake_fee"], [117, 4, 1, "", "is_hotkey_delegate"], [117, 4, 1, "", "is_hotkey_registered"], [117, 4, 1, "", "is_hotkey_registered_any"], [117, 4, 1, "", "is_hotkey_registered_on_subnet"], [117, 4, 1, "", "set_children"], [117, 4, 1, "", "transfer"]], "bittensor.extras.timelock": [[118, 5, 1, "", "decrypt"], [118, 5, 1, "", "encrypt"], [118, 5, 1, "", "wait_reveal_and_decrypt"]], "bittensor.utils": [[131, 6, 1, "", "BT_DOCS_LINK"], [131, 1, 1, "", "Certificate"], [131, 6, 1, "", "GLOBAL_MAX_SUBNET_COUNT"], [131, 6, 1, "", "RAOPERTAO"], [131, 6, 1, "", "U16_MAX"], [131, 6, 1, "", "U64_MAX"], [131, 1, 1, "", "UnlockStatus"], [131, 6, 1, "", "VersionCheckError"], [120, 0, 0, "-", "axon_utils"], [121, 0, 0, "-", "balance"], [126, 0, 0, "-", "btlogging"], [131, 6, 1, "", "check_version"], [131, 5, 1, "", "decode_hex_identity_dict"], [131, 5, 1, "", "deprecated_message"], [131, 5, 1, "", "determine_chain_endpoint_and_network"], [129, 0, 0, "-", "easy_imports"], [131, 5, 1, "", "float_to_u64"], [131, 5, 1, "", "format_error_message"], [130, 0, 0, "-", "formatting"], [131, 5, 1, "", "get_explorer_url_for_network"], [131, 5, 1, "", "get_hash"], [131, 5, 1, "", "get_mechid_storage_index"], [131, 5, 1, "", "get_netuid_and_mechid_by_storage_index"], [131, 5, 1, "", "get_transfer_fn_params"], [131, 6, 1, "", "hex_to_bytes"], [131, 5, 1, "", "is_valid_bittensor_address_or_public_key"], [131, 5, 1, "", "is_valid_ss58_address"], [132, 0, 0, "-", "liquidity"], [131, 6, 1, "", "logging"], [133, 0, 0, "-", "networking"], [135, 0, 0, "-", "registration"], [131, 5, 1, "", "ss58_address_to_bytes"], [131, 6, 1, "", "ss58_decode"], [131, 5, 1, "", "ss58_to_vec_u8"], [131, 5, 1, "", "strtobool"], [138, 0, 0, "-", "subnets"], [140, 0, 0, "-", "substrate_utils"], [131, 6, 1, "", "torch"], [131, 5, 1, "", "u16_normalized_float"], [131, 5, 1, "", "u64_normalized_float"], [131, 5, 1, "", "unlock_key"], [131, 6, 1, "", "use_torch"], [131, 5, 1, "", "validate_chain_endpoint"], [142, 0, 0, "-", "version"], [131, 6, 1, "", "version_checking"], [143, 0, 0, "-", "weight_utils"]], "bittensor.utils.UnlockStatus": [[131, 4, 1, "", "message"], [131, 4, 1, "", "success"]], "bittensor.utils.axon_utils": [[120, 6, 1, "", "ALLOWED_DELTA"], [120, 6, 1, "", "NANOSECONDS_IN_SECOND"], [120, 5, 1, "", "allowed_nonce_window_ns"], [120, 5, 1, "", "calculate_diff_seconds"]], "bittensor.utils.balance": [[121, 1, 1, "", "Balance"], [121, 1, 1, "", "FixedPoint"], [121, 5, 1, "", "check_and_convert_to_balance"], [121, 5, 1, "", "fixed_to_float"], [121, 5, 1, "", "rao"], [121, 5, 1, "", "tao"]], "bittensor.utils.balance.Balance": [[121, 2, 1, "", "from_float"], [121, 2, 1, "", "from_rao"], [121, 2, 1, "", "from_tao"], [121, 2, 1, "", "get_unit"], [121, 4, 1, "", "netuid"], [121, 4, 1, "", "rao"], [121, 4, 1, "", "rao_unit"], [121, 2, 1, "", "set_unit"], [121, 3, 1, "", "tao"], [121, 4, 1, "", "unit"]], "bittensor.utils.balance.FixedPoint": [[121, 4, 1, "", "bits"]], "bittensor.utils.btlogging": [[122, 0, 0, "-", "console"], [123, 0, 0, "-", "defines"], [124, 0, 0, "-", "format"], [125, 0, 0, "-", "helpers"], [127, 0, 0, "-", "levels"], [126, 6, 1, "", "logging"], [128, 0, 0, "-", "loggingmachine"]], "bittensor.utils.btlogging.console": [[122, 1, 1, "", "BittensorConsole"]], "bittensor.utils.btlogging.console.BittensorConsole": [[122, 2, 1, "", "critical"], [122, 2, 1, "", "debug"], [122, 2, 1, "", "error"], [122, 2, 1, "", "info"], [122, 4, 1, "", "logger"], [122, 2, 1, "", "success"], [122, 2, 1, "", "warning"]], "bittensor.utils.btlogging.defines": [[123, 6, 1, "", "BASE_LOG_FORMAT"], [123, 6, 1, "", "BITTENSOR_LOGGER_NAME"], [123, 6, 1, "", "DATE_FORMAT"], [123, 6, 1, "", "DEFAULT_LOG_BACKUP_COUNT"], [123, 6, 1, "", "DEFAULT_LOG_FILE_NAME"], [123, 6, 1, "", "DEFAULT_MAX_ROTATING_LOG_FILE_SIZE"], [123, 6, 1, "", "TRACE_LOG_FORMAT"]], "bittensor.utils.btlogging.format": [[124, 1, 1, "", "BtFileFormatter"], [124, 1, 1, "", "BtStreamFormatter"], [124, 6, 1, "", "DEFAULT_LOG_FORMAT"], [124, 6, 1, "", "DEFAULT_TRACE_FORMAT"], [124, 6, 1, "", "LOG_FORMATS"], [124, 6, 1, "", "LOG_TRACE_FORMATS"], [124, 6, 1, "", "SUCCESS_LEVEL_NUM"], [124, 6, 1, "", "TRACE_LEVEL_NUM"], [124, 6, 1, "", "color_map"], [124, 6, 1, "", "emoji_map"], [124, 6, 1, "", "log_level_color_prefix"]], "bittensor.utils.btlogging.format.BtFileFormatter": [[124, 2, 1, "", "format"], [124, 2, 1, "", "formatTime"]], "bittensor.utils.btlogging.format.BtStreamFormatter": [[124, 2, 1, "", "format"], [124, 2, 1, "", "formatTime"], [124, 2, 1, "", "set_trace"], [124, 4, 1, "", "trace"]], "bittensor.utils.btlogging.helpers": [[125, 5, 1, "", "all_logger_names"], [125, 5, 1, "", "all_loggers"], [125, 5, 1, "", "get_max_logger_name_length"]], "bittensor.utils.btlogging.levels": [[127, 5, 1, "", "debug"], [127, 5, 1, "", "info"], [127, 5, 1, "", "trace"], [127, 5, 1, "", "warning"]], "bittensor.utils.btlogging.loggingmachine": [[128, 6, 1, "", "CUSTOM_LOGGER_METHOD_STACK_LEVEL"], [128, 1, 1, "", "LoggingConfig"], [128, 1, 1, "", "LoggingMachine"]], "bittensor.utils.btlogging.loggingmachine.LoggingConfig": [[128, 4, 1, "", "debug"], [128, 4, 1, "", "info"], [128, 4, 1, "", "logging_dir"], [128, 4, 1, "", "record_log"], [128, 4, 1, "", "trace"]], "bittensor.utils.btlogging.loggingmachine.LoggingMachine": [[128, 4, 1, "", "Debug"], [128, 4, 1, "", "Default"], [128, 4, 1, "", "Disabled"], [128, 4, 1, "", "Info"], [128, 4, 1, "", "Trace"], [128, 4, 1, "", "Warning"], [128, 2, 1, "", "add_args"], [128, 2, 1, "", "after_disable_debug"], [128, 2, 1, "", "after_disable_trace"], [128, 2, 1, "", "after_enable_debug"], [128, 2, 1, "", "after_enable_default"], [128, 2, 1, "", "after_enable_info"], [128, 2, 1, "", "after_enable_trace"], [128, 2, 1, "", "after_enable_warning"], [128, 2, 1, "", "after_transition"], [128, 2, 1, "", "before_disable_debug"], [128, 2, 1, "", "before_disable_logging"], [128, 2, 1, "", "before_disable_trace"], [128, 2, 1, "", "before_enable_console"], [128, 2, 1, "", "before_enable_debug"], [128, 2, 1, "", "before_enable_default"], [128, 2, 1, "", "before_enable_info"], [128, 2, 1, "", "before_enable_trace"], [128, 2, 1, "", "before_enable_warning"], [128, 2, 1, "", "before_transition"], [128, 2, 1, "", "check_config"], [128, 2, 1, "", "config"], [128, 4, 1, "", "console"], [128, 2, 1, "", "critical"], [128, 2, 1, "", "debug"], [128, 2, 1, "", "deregister_primary_logger"], [128, 4, 1, "", "disable_debug"], [128, 4, 1, "", "disable_info"], [128, 4, 1, "", "disable_logging"], [128, 2, 1, "", "disable_third_party_loggers"], [128, 4, 1, "", "disable_trace"], [128, 4, 1, "", "disable_warning"], [128, 4, 1, "", "enable_console"], [128, 4, 1, "", "enable_debug"], [128, 4, 1, "", "enable_default"], [128, 4, 1, "", "enable_info"], [128, 2, 1, "", "enable_third_party_loggers"], [128, 4, 1, "", "enable_trace"], [128, 4, 1, "", "enable_warning"], [128, 2, 1, "", "error"], [128, 2, 1, "", "exception"], [128, 2, 1, "", "get_config"], [128, 2, 1, "", "get_level"], [128, 2, 1, "", "get_queue"], [128, 2, 1, "", "help"], [128, 2, 1, "", "info"], [128, 2, 1, "", "off"], [128, 2, 1, "", "on"], [128, 2, 1, "", "register_primary_logger"], [128, 2, 1, "", "setLevel"], [128, 2, 1, "", "set_config"], [128, 2, 1, "", "set_console"], [128, 2, 1, "", "set_debug"], [128, 2, 1, "", "set_default"], [128, 2, 1, "", "set_info"], [128, 2, 1, "", "set_trace"], [128, 2, 1, "", "set_warning"], [128, 2, 1, "", "success"], [128, 2, 1, "", "trace"], [128, 2, 1, "", "warning"]], "bittensor.utils.easy_imports": [[129, 6, 1, "", "async_subtensor"], [129, 6, 1, "", "axon"], [129, 6, 1, "", "config"], [129, 5, 1, "", "debug"], [129, 6, 1, "", "dendrite"], [129, 6, 1, "", "extrinsics_subpackage"], [129, 5, 1, "", "info"], [129, 6, 1, "", "keyfile"], [129, 6, 1, "", "metagraph"], [129, 6, 1, "", "mock_subpackage"], [129, 6, 1, "", "subtensor"], [129, 6, 1, "", "synapse"], [129, 5, 1, "", "trace"], [129, 6, 1, "", "wallet"], [129, 5, 1, "", "warning"]], "bittensor.utils.formatting": [[130, 5, 1, "", "get_human_readable"], [130, 5, 1, "", "millify"]], "bittensor.utils.liquidity": [[132, 1, 1, "", "LiquidityPosition"], [132, 6, 1, "", "MAX_TICK"], [132, 6, 1, "", "MIN_TICK"], [132, 6, 1, "", "PRICE_STEP"], [132, 5, 1, "", "calculate_fees"], [132, 5, 1, "", "get_fees"], [132, 5, 1, "", "get_fees_in_range"], [132, 5, 1, "", "price_to_tick"], [132, 5, 1, "", "tick_to_price"]], "bittensor.utils.liquidity.LiquidityPosition": [[132, 4, 1, "", "fees_alpha"], [132, 4, 1, "", "fees_tao"], [132, 4, 1, "", "id"], [132, 4, 1, "", "liquidity"], [132, 4, 1, "", "netuid"], [132, 4, 1, "", "price_high"], [132, 4, 1, "", "price_low"], [132, 2, 1, "", "to_token_amounts"]], "bittensor.utils.networking": [[133, 7, 1, "", "ExternalIPNotFound"], [133, 5, 1, "", "get_external_ip"], [133, 5, 1, "", "get_formatted_ws_endpoint_url"], [133, 5, 1, "", "int_to_ip"], [133, 5, 1, "", "ip__str__"], [133, 5, 1, "", "ip_to_int"], [133, 5, 1, "", "ip_version"]], "bittensor.utils.registration": [[134, 0, 0, "-", "async_pow"], [136, 0, 0, "-", "pow"], [137, 0, 0, "-", "register_cuda"]], "bittensor.utils.registration.async_pow": [[134, 5, 1, "", "create_pow_async"]], "bittensor.utils.registration.pow": [[136, 1, 1, "", "CUDASolver"], [136, 1, 1, "", "Console"], [136, 1, 1, "", "LazyLoadedTorch"], [136, 1, 1, "", "POWSolution"], [136, 1, 1, "", "RegistrationStatistics"], [136, 1, 1, "", "RegistrationStatisticsLogger"], [136, 1, 1, "", "Solver"], [136, 1, 1, "", "Status"], [136, 1, 1, "", "UsingSpawnStartMethod"], [136, 5, 1, "", "create_pow"], [136, 5, 1, "", "get_cpu_count"], [136, 5, 1, "", "legacy_torch_api_compat"], [136, 5, 1, "", "log_no_torch_error"], [136, 5, 1, "", "terminate_workers_and_wait_for_exit"], [136, 6, 1, "", "torch"], [136, 5, 1, "", "update_curr_block"], [136, 5, 1, "", "use_torch"]], "bittensor.utils.registration.pow.CUDASolver": [[136, 4, 1, "", "dev_id"], [136, 2, 1, "", "run"], [136, 4, 1, "", "tpb"]], "bittensor.utils.registration.pow.Console": [[136, 2, 1, "", "log"], [136, 2, 1, "", "status"]], "bittensor.utils.registration.pow.POWSolution": [[136, 4, 1, "", "block_number"], [136, 4, 1, "", "difficulty"], [136, 2, 1, "", "is_stale"], [136, 2, 1, "", "is_stale_async"], [136, 4, 1, "", "nonce"], [136, 4, 1, "", "seal"]], "bittensor.utils.registration.pow.RegistrationStatistics": [[136, 4, 1, "", "block_hash"], [136, 4, 1, "", "block_number"], [136, 4, 1, "", "difficulty"], [136, 4, 1, "", "hash_rate"], [136, 4, 1, "", "hash_rate_perpetual"], [136, 4, 1, "", "rounds_total"], [136, 4, 1, "", "time_average"], [136, 4, 1, "", "time_spent"], [136, 4, 1, "", "time_spent_total"]], "bittensor.utils.registration.pow.RegistrationStatisticsLogger": [[136, 4, 1, "", "console"], [136, 2, 1, "", "get_status_message"], [136, 2, 1, "", "start"], [136, 4, 1, "", "status"], [136, 2, 1, "", "stop"], [136, 2, 1, "", "update"]], "bittensor.utils.registration.pow.Solver": [[136, 2, 1, "", "run"]], "bittensor.utils.registration.pow.Status": [[136, 2, 1, "", "start"], [136, 2, 1, "", "stop"], [136, 2, 1, "", "update"]], "bittensor.utils.registration.register_cuda": [[137, 5, 1, "", "log_cuda_errors"], [137, 5, 1, "", "reset_cuda"], [137, 5, 1, "", "solve_cuda"]], "bittensor.utils.subnets": [[138, 1, 1, "", "SubnetsAPI"]], "bittensor.utils.subnets.SubnetsAPI": [[138, 4, 1, "", "dendrite"], [138, 2, 1, "", "prepare_synapse"], [138, 2, 1, "", "process_responses"], [138, 2, 1, "", "query_api"], [138, 4, 1, "", "wallet"]], "bittensor.utils.substrate_utils": [[139, 0, 0, "-", "hasher"], [141, 0, 0, "-", "storage"]], "bittensor.utils.substrate_utils.hasher": [[139, 5, 1, "", "blake2_128"], [139, 5, 1, "", "blake2_128_concat"], [139, 5, 1, "", "blake2_256"], [139, 5, 1, "", "identity"], [139, 5, 1, "", "two_x64_concat"], [139, 5, 1, "", "xxh128"], [139, 5, 1, "", "xxh64"]], "bittensor.utils.substrate_utils.storage": [[141, 1, 1, "", "StorageKey"]], "bittensor.utils.substrate_utils.storage.StorageKey": [[141, 2, 1, "", "convert_storage_parameter"], [141, 2, 1, "", "create_from_data"], [141, 2, 1, "", "create_from_storage_function"], [141, 4, 1, "", "data"], [141, 2, 1, "", "decode_scale_value"], [141, 2, 1, "", "generate"], [141, 4, 1, "", "metadata"], [141, 4, 1, "", "metadata_storage_function"], [141, 4, 1, "", "pallet"], [141, 4, 1, "", "params"], [141, 4, 1, "", "params_encoded"], [141, 4, 1, "", "runtime_config"], [141, 4, 1, "", "storage_function"], [141, 2, 1, "", "to_hex"], [141, 4, 1, "", "value_scale_type"]], "bittensor.utils.version": [[142, 6, 1, "", "VERSION_CHECK_THRESHOLD"], [142, 7, 1, "", "VersionCheckError"], [142, 5, 1, "", "check_latest_version_in_pypi"], [142, 5, 1, "", "check_version"], [142, 5, 1, "", "get_and_save_latest_version"], [142, 5, 1, "", "version_checking"]], "bittensor.utils.weight_utils": [[143, 6, 1, "", "U16_MAX"], [143, 6, 1, "", "U32_MAX"], [143, 5, 1, "", "convert_and_normalize_weights_and_uids"], [143, 5, 1, "", "convert_bond_uids_and_vals_to_tensor"], [143, 5, 1, "", "convert_maybe_split_to_u16"], [143, 5, 1, "", "convert_root_weight_uids_and_vals_to_tensor"], [143, 5, 1, "", "convert_uids_and_weights"], [143, 5, 1, "", "convert_weight_uids_and_vals_to_tensor"], [143, 5, 1, "", "convert_weights_and_uids_for_emit"], [143, 5, 1, "", "generate_weight_hash"], [143, 5, 1, "", "normalize_max_weight"], [143, 5, 1, "", "process_weights"], [143, 5, 1, "", "process_weights_for_netuid"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"], "7": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:function", "6": "py:data", "7": "py:exception"}, "terms": {"": [0, 1, 4, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 94, 97, 103, 121, 123, 124, 125, 131, 134, 136, 138, 141, 143], "0": [0, 1, 2, 10, 25, 28, 32, 33, 34, 35, 36, 38, 41, 43, 45, 50, 64, 65, 66, 67, 68, 70, 73, 77, 78, 80, 85, 93, 96, 110, 118, 120, 121, 129, 131, 133, 134, 136, 137, 143], "0001": 132, "005": [0, 32, 36, 41, 50, 68, 73, 80], "0x0813029319030129u4120u10841824y0182u091u230912u": 93, "0x1234": 0, "1": [0, 1, 10, 22, 38, 70, 77, 80, 93, 94, 95, 96, 97, 118, 128, 131, 132, 137, 143, 144], "10": [0, 10, 22, 25, 93, 96, 118, 121, 123], "100": [0, 80], "1000": [4, 5], "1000000": 0, "1000000000": [120, 131], "1024": 1, "11": [10, 22], "111": 93, "111111": 93, "113": 1, "11ee": 93, "12": [0, 10, 22, 25, 28, 45, 78, 80, 96, 118, 138], "120": [0, 80], "1200": 77, "122": [35, 66], "123": [0, 77, 80, 93, 96, 118], "1234": [0, 80], "12345": 77, "127": 93, "128": [35, 66, 121], "13": [10, 22], "137": 124, "14": [0, 10, 22, 80], "147": [0, 80], "15": [10, 22, 93, 96, 118, 142], "152": [0, 80], "16": [0, 10, 22, 80, 139], "17": 10, "18": [10, 78], "18446744073709551615": 131, "19": 10, "192": [1, 35, 66], "198": 93, "1cec": 93, "1m": 0, "2": [0, 1, 10, 22, 38, 70, 77, 80, 93, 94, 97, 124, 128, 139], "20": 10, "200": 93, "203": 1, "21": [10, 124], "22": 10, "23": [10, 93], "24": 10, "25": [10, 96, 118], "256": [0, 33, 64, 80, 93, 134, 136], "26": 10, "26214400": 123, "27": 10, "28": 10, "29": 10, "3": [0, 10, 22, 33, 38, 64, 70, 80, 93, 96, 97, 118, 124, 128, 129, 133, 136], "30": [10, 93], "300": [77, 131], "31": [10, 35, 66], "32": [10, 134, 136, 139], "325": [99, 100, 101], "33": 10, "3339": 124, "34": [10, 124], "35": 10, "36": 10, "360": [0, 80], "37": 10, "38": [10, 133], "39": 10, "3rd": 128, "4": [0, 2, 10, 22, 31, 35, 49, 66, 75, 80, 93, 97, 133], "40": 10, "400": 1, "4000000000": 120, "401": 93, "4028237e": 133, "403": 93, "408": 93, "4096": 131, "41": 10, "42": [10, 78], "422": 25, "4294967295": 143, "43": 10, "44": 10, "443": 78, "45": 10, "46": 10, "47": 10, "48": [10, 78], "49": 10, "5": [0, 10, 22, 26, 32, 36, 41, 50, 68, 73, 80, 85, 96, 97, 110, 118, 124], "50": 10, "51": 10, "52": 10, "53": 10, "54": 10, "55": 10, "56": 10, "57": 10, "58": 10, "59": 10, "5ecbd69c": 93, "5enjdgnqqwnul2hcadxeetn2oqtxzw6bmbe936kfy2pfz1j1": 93, "5f": 0, "5fhnew46xgxgs5muiveu4sbtygbzmstuspzc92uhjjm694ti": [0, 80], "5g": 0, "5grwvaef5zxb26fz9rcqpdws57cterhpnehxcpcnohgkutqi": [0, 80], "5h": 0, "6": [10, 22, 77, 133], "60": 10, "61": 10, "62": 10, "63": 10, "64": [10, 121, 137], "65": 10, "65535": [1, 131, 143], "66": 10, "67": 10, "68": 10, "69": 10, "7": [10, 22, 129], "70": 10, "7002000": 1, "7070": 1, "71": 10, "72": 10, "73": 10, "8": [0, 10, 22, 43, 67, 80, 93, 131], "8080": 93, "86400": 142, "887272": 132, "9": [10, 22, 121], "9090": 1, "9221": [35, 66], "9282": 93, "9944": 78, "9945": [85, 110], "A": [0, 1, 2, 11, 12, 16, 18, 22, 23, 24, 25, 26, 27, 28, 33, 35, 41, 44, 45, 64, 66, 73, 74, 77, 79, 80, 93, 95, 96, 97, 118, 120, 121, 124, 128, 131, 136, 141], "AS": 77, "Being": [0, 80], "But": 25, "By": [0, 1, 41, 73, 80, 93], "For": [0, 25, 38, 41, 70, 73, 77, 80, 93, 94, 96, 97, 98, 99, 101, 118], "If": [0, 1, 2, 6, 22, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 91, 93, 94, 95, 96, 97, 110, 116, 118, 120, 121, 124, 127, 129, 131, 134, 136, 143], "In": [0, 25, 77, 80, 93, 98, 133], "It": [0, 1, 16, 25, 35, 66, 77, 79, 80, 93, 95, 96, 97, 118, 121, 125, 126, 128, 136], "Its": [38, 70], "Not": 93, "Of": 133, "Or": [0, 131], "The": [0, 1, 2, 9, 11, 12, 13, 15, 16, 17, 18, 22, 23, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 85, 93, 94, 95, 96, 97, 98, 99, 101, 105, 110, 118, 120, 121, 124, 125, 129, 131, 132, 133, 134, 136, 137, 138, 142, 143], "Then": 80, "There": [0, 27, 44], "These": [0, 1, 34, 43, 65, 67, 77, 80, 93, 98, 99, 101, 105, 143], "To": [0, 80, 128], "Will": [0, 80, 85, 110], "With": [0, 80], "_": 0, "__repr__": 25, "__setattr__": 93, "__str__": [25, 131], "_base": 95, "_do_reveal_weight": [43, 46], "_mock": [0, 80, 97], "_primary_logg": 128, "_solverbas": 136, "abc": [77, 79, 97, 138], "abil": [1, 77, 122], "abl": 25, "about": [0, 1, 2, 15, 77, 80, 93], "abov": [25, 40, 72, 124, 132], "absolut": 25, "abstract": [25, 77, 79, 138, 141], "abstractmethod": 24, "abus": 1, "accept": [1, 95, 128], "access": [0, 1, 25, 77, 80, 85, 93, 110, 143], "access_list": 99, "accord": [1, 35, 66, 79, 93], "account": [0, 22, 26, 34, 36, 40, 43, 61, 65, 67, 68, 72, 80, 99, 131, 143], "account_id_byt": 22, "accountid": [15, 22, 23], "accru": 77, "accrual": [0, 80], "accumul": [77, 79], "accur": [24, 26, 77, 93, 94, 95, 97, 98, 121, 131, 133, 142], "achiev": 77, "aclose_sess": 25, "across": [0, 38, 70, 74, 77, 80, 93, 136], "act": [0, 1, 16, 25, 77, 80, 98], "action": [0, 80, 128], "activ": [0, 1, 10, 11, 12, 18, 21, 25, 36, 38, 68, 70, 77, 80, 125, 138], "activate_subnet": 104, "activatesubnet": 104, "activity_cutoff": [10, 18, 101], "activitycutoff": 10, "actual": [0, 1, 35, 66, 80], "ad": [0, 1, 30, 48, 80, 85, 91, 97, 110, 116, 124, 128], "adapt": [1, 77], "add": [0, 1, 30, 36, 48, 68, 80, 93, 97, 99, 124, 128, 143], "add_arg": [1, 24, 85, 95, 97, 110, 128], "add_legacy_method": [91, 116], "add_liquid": [0, 53, 80, 84, 99, 109], "add_liquidity_extrins": [30, 48], "add_memb": 99, "add_proxi": 99, "add_stak": [0, 58, 80, 84, 89, 99, 109, 114], "add_stake_extrins": [36, 68], "add_stake_limit": [58, 99], "add_stake_multipl": [0, 80, 84, 89, 109, 114], "add_stake_multiple_extrins": [36, 68], "addit": [0, 3, 4, 19, 27, 33, 44, 55, 64, 77, 79, 80, 93, 98, 99, 101, 143], "addition": [1, 93], "additional_data": 93, "addon": 105, "address": [0, 1, 2, 4, 9, 13, 17, 22, 23, 25, 27, 32, 36, 39, 40, 41, 44, 50, 68, 71, 72, 73, 74, 77, 80, 93, 99, 129, 131, 143], "adher": 25, "adjust": [0, 18, 80], "adjust_sen": 99, "adjustment_alpha": [10, 18, 101], "adjustment_interv": [10, 18, 101], "adjustmentalpha": 10, "adjustmentinterv": 10, "admin": [0, 38, 70, 80], "adminfreezewindow": [0, 80], "adminutil": [42, 74, 100], "advanc": [0, 80, 105], "adversari": 1, "advis": [1, 25, 77], "after": [0, 1, 15, 18, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 61, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 85, 93, 95, 96, 99, 110, 118, 128, 131, 136, 143], "after_disable_debug": 128, "after_disable_trac": 128, "after_enable_debug": 128, "after_enable_default": 128, "after_enable_info": 128, "after_enable_trac": 128, "after_enable_warn": 128, "after_transit": 128, "ag": [96, 118], "against": [0, 1, 32, 50, 80], "agre": 77, "agreement": 77, "ai": [77, 78], "aid": [0, 80, 93], "aiohttp": [25, 79], "akin": 77, "algorithm": [0, 1, 35, 66, 77, 80], "alic": [0, 80], "align": [0, 77, 80], "aliv": [0, 40, 72, 80], "all": [0, 1, 25, 26, 32, 36, 40, 41, 50, 61, 68, 72, 73, 74, 77, 80, 85, 91, 95, 110, 116, 125, 128, 131, 133, 136, 141], "all_hotkei": [0, 80], "all_indic": 10, "all_logg": 125, "all_logger_nam": 125, "all_mechan": [0, 80], "all_netuid": [0, 80], "all_stak": 74, "all_subnet": [0, 80, 90, 115], "alloc": [0, 77, 80], "allow": [0, 1, 4, 5, 18, 27, 30, 32, 36, 41, 44, 48, 50, 68, 73, 77, 79, 80, 93, 94, 120, 124, 129, 143], "allow_parti": 99, "allow_partial_stak": [0, 32, 36, 41, 50, 54, 58, 62, 68, 73, 80], "allowed_delta": 120, "allowed_nonce_window_n": 120, "along": [33, 64, 96, 118], "alpha": [0, 6, 16, 18, 30, 41, 48, 73, 77, 80, 101, 121, 132], "alpha_amount": [16, 99], "alpha_dividends_per_hotkei": [10, 77], "alpha_fe": 16, "alpha_fees_above_high": 132, "alpha_fees_below_low": 132, "alpha_high": [10, 18, 101], "alpha_in": [6, 10], "alpha_in_emiss": [6, 10], "alpha_low": [10, 18, 101], "alpha_out": [6, 10], "alpha_out_emiss": [6, 10], "alpha_sigmoid_steep": 18, "alpha_slippag": 6, "alpha_stak": [10, 21, 77], "alpha_to_tao": 6, "alpha_to_tao_with_slippag": 6, "alphadividendsperhotkei": 10, "alphahigh": 10, "alphain": 10, "alphainemiss": 10, "alphalow": 10, "alphaout": 10, "alphaoutemiss": 10, "alphastak": 10, "alreadi": [1, 134, 136, 143], "also": [0, 1, 25, 79, 80, 93, 120, 121, 128], "alter": 1, "altern": 105, "although": 98, "alwai": [36, 68, 80, 105], "among": [0, 77, 80], "amount": [0, 4, 6, 11, 12, 16, 30, 32, 36, 38, 40, 41, 48, 50, 54, 58, 61, 62, 68, 70, 72, 73, 74, 77, 80, 85, 96, 99, 110, 118, 121, 131, 132], "amount_stak": 99, "amount_unstak": 99, "an": [0, 1, 2, 6, 11, 16, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 94, 95, 97, 104, 121, 124, 125, 128, 131, 132, 133], "analogi": 25, "analys": 77, "analysi": [0, 77, 80, 93], "analyz": [0, 77, 80], "ani": [0, 1, 2, 8, 9, 24, 25, 26, 33, 36, 64, 68, 77, 79, 80, 82, 93, 94, 96, 98, 99, 101, 107, 118, 131, 132, 136, 137, 138, 141], "announc": [35, 66, 99], "anoth": [0, 24, 32, 50, 77, 80], "any_list": 8, "anyth": 131, "api": [0, 1, 80, 85, 110, 131, 136, 138, 145], "app": 1, "appear": [96, 118], "appli": [1, 10, 93, 124, 143], "applic": [0, 1, 25, 77, 79, 80, 85, 93, 105, 110, 125], "apply_authorized_upgrad": 99, "approach": 80, "appropri": [0, 1, 25, 77, 79, 97], "approv": [0, 99], "approve_as_multi": 99, "aqueri": 25, "ar": [0, 1, 18, 24, 25, 26, 27, 31, 43, 44, 46, 49, 74, 75, 77, 80, 85, 93, 94, 95, 96, 97, 98, 99, 101, 105, 110, 118, 125, 131, 141, 143], "arbitr": 15, "arbitrari": [0, 25, 80], "arbitration_block": 15, "architectur": [0, 1, 77, 80], "archiv": [0, 77, 78, 80, 85, 97, 110, 131], "archive_endpoint": [0, 80, 85, 110], "archive_entrypoint": 78, "arg": [24, 25, 94, 95, 124, 128, 131, 138], "argpars": [1, 24, 95, 97, 128], "argument": [0, 1, 24, 77, 79, 91, 93, 94, 95, 97, 98, 99, 101, 116, 124, 128, 131, 138], "argumentpars": [1, 24, 95, 97, 128], "aris": 1, "arithmet": 121, "around": [43, 46], "arrai": [0, 31, 49, 75, 77, 80, 94, 136, 143], "as_deriv": 99, "as_multi": 99, "as_multi_threshold_1": 99, "as_origin": 99, "asctim": [123, 124], "asgi": 79, "aspect": [0, 1, 77, 80, 93], "assert": [1, 96, 118], "assertionerror": 1, "assess": [0, 1, 77, 80], "asset": 77, "assign": [0, 1, 33, 64, 77, 80, 93], "assist": [0, 80], "associ": [0, 1, 2, 6, 9, 11, 12, 13, 16, 17, 21, 25, 26, 28, 32, 35, 41, 42, 43, 45, 46, 50, 66, 73, 74, 77, 80, 93, 95, 128, 143], "associate_evm_kei": 99, "assum": [1, 77, 121], "assur": 1, "asymmetr": 1, "async": [0, 1, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 77, 79, 85, 103, 110, 134, 136, 138], "async_execute_on": 103, "async_execute_step": 103, "async_metagraph": 77, "async_pow": [135, 144], "async_set_hyperparamet": 103, "async_substrate_interfac": [0, 22, 80], "async_subtensor": [24, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38, 40, 41, 42, 43, 67, 76, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 129, 134, 136, 144], "async_wait_next_epoch": 103, "asyncex": [47, 144], "asyncgener": 25, "asynchron": [0, 1, 25, 33, 79, 103, 136], "asyncio": [0, 25], "asyncmetagraph": [0, 77], "asyncquerymapresult": 0, "asyncsubtensor": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38, 40, 41, 42, 43, 67, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 134, 136], "attach": [1, 93], "attack": 1, "attain": 133, "attempt": [0, 26, 27, 33, 44, 64, 77, 80, 93, 131, 133], "attribut": [0, 4, 11, 80, 93], "augment": 105, "authent": [1, 35, 66, 77, 93], "author": [0, 32, 77, 80], "authorization_list": 99, "authorize_upgrad": 99, "authorize_upgrade_without_check": 99, "auto": [98, 99, 101, 144], "autoapi": 144, "automat": [0, 25, 77, 80, 93, 110], "auxiliari": 98, "avail": [0, 1, 80, 85, 98, 110], "averag": [18, 136], "avoid": [0, 80], "aw": 133, "await": [0, 25, 79, 80, 85, 110], "axon": [0, 2, 10, 11, 12, 24, 25, 26, 35, 66, 76, 77, 80, 93, 129, 138, 144], "axon_hotkei": 93, "axon_info": [7, 10, 11, 12, 25, 144], "axon_util": [131, 144], "axoninfo": [1, 2, 10, 11, 12, 22, 25, 77], "axonmiddlewar": 1, "axonserv": 1, "axonservecallparam": [35, 57, 66, 97], "ay": 14, "b": 77, "b0dc": 93, "b64decod": 93, "back": [0, 1, 25, 30, 48, 79, 80, 93, 96, 118, 141], "backbon": 77, "background": 1, "backward": [1, 121, 142], "balanc": [0, 4, 5, 6, 10, 11, 12, 16, 17, 20, 21, 22, 30, 32, 36, 40, 41, 42, 48, 50, 53, 54, 58, 61, 62, 68, 72, 73, 74, 80, 85, 100, 110, 131, 132, 144], "bandwidth": 93, "base": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 77, 79, 80, 93, 94, 95, 96, 97, 99, 101, 103, 118, 121, 124, 128, 131, 133, 136, 138, 141, 142, 143], "base64": [22, 93], "base_log_format": 123, "baseclass": 77, "basefe": 100, "basehttpmiddlewar": 1, "basemodel": [25, 79, 93, 94], "basic": [11, 77, 93], "batch": [0, 80, 99], "batch_al": 99, "batch_commit_weight": 99, "batch_reveal_weight": 99, "batch_set_weight": 99, "becaus": 93, "becom": [0, 80], "been": [0, 1, 25, 79, 93, 95], "befor": [0, 1, 15, 25, 33, 34, 35, 36, 39, 40, 41, 43, 50, 64, 65, 66, 67, 68, 71, 72, 73, 80, 128, 134, 136, 137], "before_disable_debug": 128, "before_disable_log": 128, "before_disable_trac": 128, "before_enable_consol": 128, "before_enable_debug": 128, "before_enable_default": 128, "before_enable_info": 128, "before_enable_trac": 128, "before_enable_warn": 128, "before_transit": 128, "begin": [0, 1, 80], "behavior": [0, 1, 77, 80, 93, 105], "being": [0, 1, 5, 22, 30, 31, 35, 37, 43, 46, 48, 49, 66, 69, 75, 79, 80, 128, 136], "belief": 77, "belong": [0, 36, 68, 80], "below": [0, 80], "benefici": 77, "benefit": [25, 77], "bespok": 138, "best_finalized_block_numb": 99, "between": [0, 1, 6, 33, 38, 50, 64, 70, 77, 80, 93, 120, 121, 128, 132, 143], "beyond": 77, "bind": 1, "bit": 121, "bittensor": 144, "bittensor_logger_nam": [123, 128], "bittensor_wallet": [0, 1, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 80, 103, 104, 131, 134, 136, 138], "bittensorconsol": 122, "blacklist": [1, 26, 93], "blacklist_custom": 1, "blacklist_fn": 1, "blacklist_my_synaps": 1, "blacklist_my_synapse_2": 1, "blacklistedexcept": 26, "blake256": [35, 66], "blake2_128": 139, "blake2_128_concat": 139, "blake2_256": 139, "blake2b": 139, "block": [0, 1, 10, 13, 15, 18, 22, 23, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 96, 99, 103, 110, 118, 131, 134, 136, 137], "block_and_hotkey_hash_byt": 137, "block_at_registr": [10, 21, 77], "block_byt": 136, "block_hash": [0, 35, 80, 131, 136], "block_numb": [0, 55, 99, 136], "block_tim": [0, 28, 31, 45, 49, 75, 80, 96, 118], "blockatregistr": 10, "blockchain": [0, 27, 30, 31, 32, 33, 35, 37, 39, 41, 43, 44, 46, 48, 49, 64, 66, 69, 71, 73, 75, 77, 80, 143], "blocknotfound": 26, "blocks_since_epoch": 20, "blocks_since_last_step": [0, 6, 10, 77, 80, 90, 115], "blocks_since_last_upd": [0, 80, 90, 115], "blocks_since_upd": 0, "blocks_until_rev": [0, 80], "blockssincelaststep": 10, "blocktim": 78, "blueprint": 98, "bob": [0, 80], "bodi": [0, 1, 25, 79, 80, 93], "body_hash": 93, "bond": [0, 11, 12, 18, 35, 66, 77, 80, 85, 90, 110, 115, 143], "bonds_as_dict": 11, "bonds_moving_averag": 101, "bonds_moving_avg": [10, 18], "bonds_penalti": 101, "bonds_reset_en": 18, "bondsmovingavg": 10, "bool": [0, 1, 2, 6, 10, 11, 12, 17, 18, 21, 22, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 53, 54, 58, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 93, 94, 96, 97, 103, 110, 118, 124, 127, 128, 129, 131, 132, 134, 136, 138], "boolean": [0, 1, 27, 28, 30, 44, 45, 48, 77, 80, 131], "both": [0, 1, 16, 80, 128, 131, 143], "bound": [0, 30, 48, 80], "brain": 25, "bridg": 25, "broadcast": 1, "broader": 1, "broken": 26, "brokenexecutor": 95, "brokenthreadpool": 95, "bt": [0, 1, 24, 80, 85, 96, 110, 118, 138], "bt_docs_link": 131, "bt_header_axon_address": 93, "bt_header_dendrite_port": 93, "btcli": 0, "btfileformatt": 124, "btlog": [131, 144], "btstreamformatt": 124, "btstreamingrespons": 79, "btstreamingresponsemodel": 79, "buffer": [25, 94, 131], "build": [25, 98, 99, 101], "built": [98, 99, 101, 141], "bulk": [0, 80], "burn": [0, 10, 18, 20, 80, 99, 101], "burn_alpha": 99, "burned_regist": [0, 55, 80, 84, 99, 109, 115], "burned_register_extrins": [33, 64], "byte": [0, 12, 22, 35, 63, 66, 80, 93, 96, 99, 118, 131, 136, 137, 139, 141, 143], "byte_data": [96, 118], "bytes_or_buff": 131, "c": 77, "calcul": [0, 1, 18, 38, 70, 77, 80, 93, 120, 125, 132, 136, 139], "calculate_diff_second": 120, "calculate_fe": 132, "call": [0, 1, 18, 25, 30, 35, 37, 42, 48, 61, 66, 69, 74, 79, 80, 93, 95, 97, 102, 103, 128, 131, 142, 144], "call_def": 0, "call_definit": [0, 80], "call_funct": [42, 74, 103], "call_hash": 99, "call_modul": [42, 74, 103], "call_next": 1, "call_param": [35, 42, 66, 74, 103], "call_record": 103, "call_stream": 25, "callabl": [1, 79, 95], "caller": 1, "can": [0, 1, 9, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 95, 96, 98, 105, 118, 136, 143], "cancel": [95, 99], "cancel_as_multi": 99, "cancel_futur": 95, "cancel_nam": 99, "cancel_retri": 99, "cancel_retry_nam": 99, "cannot": [0, 26, 30, 37, 48, 69, 79, 80, 93, 94, 133], "cap": 99, "capabl": [1, 35, 66], "captur": 77, "carrier": 93, "case": [0, 1, 25, 80, 85, 105, 110, 141], "cast": 94, "cast_dtyp": 94, "cast_float": 93, "cast_int": 93, "cast_shap": 94, "categori": [93, 98], "caught": [25, 131], "ceas": 1, "center": 124, "central": [1, 77], "certain": [0, 1, 80, 136], "certif": [0, 1, 35, 57, 66, 80, 97, 99, 131], "chain": [0, 1, 3, 10, 17, 22, 26, 31, 33, 34, 35, 36, 40, 41, 43, 49, 64, 65, 66, 67, 68, 72, 73, 75, 78, 80, 85, 97, 103, 110, 131, 143, 144], "chain_data": [0, 1, 25, 54, 58, 62, 74, 76, 77, 80, 144], "chain_endpoint": [77, 85, 97, 110, 131], "chain_id": 101, "chain_ident": [0, 7, 10, 80, 144], "chainconnectionerror": 26, "chaindatatyp": 22, "chainerror": 26, "chainident": [0, 3, 10, 22, 77, 80], "chainqueryerror": 26, "chaintransactionerror": 26, "challeng": [0, 80, 134, 136], "chang": [0, 41, 50, 73, 80, 98, 99, 101, 122, 124, 129], "change_kei": 99, "characterist": [0, 80], "check": [0, 1, 24, 25, 32, 36, 41, 50, 68, 73, 80, 93, 104, 121, 131, 133, 134, 136, 142], "check_and_convert_to_bal": 121, "check_block": 136, "check_config": [1, 128], "check_latest_version_in_pypi": 142, "check_vers": [131, 142], "child": [0, 26, 27, 44, 80], "child_hotkei": 0, "childkei": [0, 26, 80], "children": [0, 26, 29, 47, 52, 80, 99, 144], "childrenparam": 51, "choic": 131, "chr_transform": 10, "chunk": [25, 79], "claim": [0, 1, 39, 71, 80], "class": [26, 33, 64, 96, 118], "classic": [91, 116], "classmethod": [1, 2, 8, 9, 11, 14, 15, 16, 17, 23, 24, 26, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 85, 93, 95, 97, 110, 128, 136, 141], "classvar": 93, "clean": [0, 95], "cleanup": 25, "clear": 79, "clear_ident": 99, "clear_prim": 99, "cli": [0, 80], "client": [1, 25, 30, 37, 48, 69, 79], "clientrespons": [25, 79], "clientsess": 25, "close": [0, 25, 80, 85, 99, 110], "close_sess": 25, "closur": 25, "code": [1, 25, 93, 99], "code_hash": 99, "codebas": 105, "cold": [15, 85, 110], "coldkei": [0, 2, 4, 5, 10, 11, 12, 17, 21, 26, 27, 32, 36, 41, 42, 44, 50, 68, 73, 74, 77, 80, 92, 97, 99, 117, 131], "coldkey_ss58": [0, 17, 55, 57, 80], "coldkeypub": [0, 1, 80], "collabor": [0, 77, 80], "collat": 25, "collect": [0, 24, 74, 77, 80, 98], "color": 124, "color_map": 124, "com": [0, 131], "combin": [74, 132], "come": 1, "command": [1, 97, 98, 99, 101, 104], "commit": [0, 10, 18, 22, 23, 26, 28, 31, 35, 43, 45, 46, 49, 66, 75, 80, 85, 99, 100, 110, 143, 144], "commit_block": [0, 23, 80], "commit_crv3_mechanism_weight": 99, "commit_data": 23, "commit_for_rev": 63, "commit_hash": [43, 46, 63, 99], "commit_hex": 23, "commit_mechanism_weight": [63, 99], "commit_mechanism_weights_extrins": [31, 49], "commit_messag": [0, 80], "commit_rev": [29, 47, 144], "commit_reveal_en": [0, 80, 82, 90, 107, 115], "commit_reveal_period": [10, 18], "commit_reveal_v3_extrins": [28, 45], "commit_reveal_vers": [0, 31, 49, 63, 75, 80, 99], "commit_reveal_weights_en": [10, 18], "commit_timelocked_mechanism_weight": [63, 99], "commit_timelocked_mechanism_weights_extrins": [31, 49], "commit_timelocked_weight": 99, "commit_timelocked_weights_extrins": 75, "commit_weight": [0, 47, 80, 84, 99, 109, 144], "commit_weights_extrins": [43, 46, 75], "commitrevealperiod": 10, "commitrevealweightsen": 10, "committ": [0, 23, 80], "committe": [0, 80], "common": [4, 25, 26, 36, 41, 68, 73], "commun": [0, 1, 77, 80, 93, 138], "compar": [1, 74], "comparison": [1, 121], "compat": [0, 31, 43, 46, 49, 75, 80, 93, 121, 129, 142], "complet": [1, 25, 77, 95], "complex": [0, 1, 77, 80, 93], "compon": [0, 1, 77, 80, 105, 131], "compos": 98, "compose_cal": 110, "composit": [0, 80], "comprehend": [0, 80], "comprehens": [0, 80], "compress": 93, "comput": [0, 35, 66, 77, 80, 93, 131], "computed_body_hash": 93, "concaten": [93, 139], "concept": 77, "concern": 1, "concurr": [1, 25, 95], "condit": [0, 1, 80], "confid": 1, "config": [0, 1, 76, 77, 79, 80, 85, 93, 94, 95, 97, 110, 128, 129, 144], "config_payload": 99, "configdict": [79, 93, 94], "configur": [0, 1, 24, 77, 79, 80, 85, 93, 94, 97, 110, 128], "confirm": 1, "conflict": 1, "conform": [79, 93, 94], "congest": [0, 80], "connect": [0, 1, 25, 26, 35, 36, 39, 66, 68, 71, 77, 80, 85, 93, 97, 110], "connection_requir": 20, "connectionerror": 0, "consensu": [0, 10, 11, 12, 21, 77, 80], "conserv": [0, 80], "consist": [0, 77, 80, 93, 126], "consol": [0, 33, 64, 80, 126, 128, 134, 136, 144], "constant": [0, 18, 80, 123], "constant_nam": [0, 80], "constantli": 77, "constrain": 93, "constraint": 143, "construct": [24, 77, 93, 98], "contact": [0, 33, 64, 80], "contain": [0, 1, 2, 4, 11, 16, 22, 23, 25, 32, 33, 35, 41, 64, 66, 73, 74, 77, 79, 80, 93, 96, 97, 105, 118, 120, 131, 136, 143, 144], "context": [0, 1, 16, 25, 77, 80, 93], "continu": [1, 77], "contribut": [0, 1, 77, 80, 99], "control": [0, 1, 80, 93], "conveni": [16, 93, 98, 99, 101], "convers": [93, 132, 143], "convert": [1, 2, 16, 22, 93, 96, 118, 121, 130, 131, 132, 136, 143], "convert_and_normalize_weights_and_uid": 143, "convert_bond_uids_and_vals_to_tensor": 143, "convert_maybe_split_to_u16": 143, "convert_root_weight_uids_and_vals_to_tensor": 143, "convert_storage_paramet": 141, "convert_uids_and_weight": 143, "convert_weight_uids_and_vals_to_tensor": 143, "convert_weights_and_uids_for_emit": 143, "cool": [0, 80], "cooldown": [0, 27, 44, 51, 80, 99], "copi": [0, 77, 97], "copier": 0, "core": [103, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 119, 128, 134, 136, 138, 143, 144], "cornerston": [1, 93], "correct": [1, 77, 93], "correctli": [1, 77], "correl": [0, 80], "correspond": [0, 1, 22, 25, 31, 34, 43, 46, 49, 65, 67, 74, 75, 77, 80, 98, 137, 143], "corrupt": 131, "cortex": [96, 118], "cost": [0, 80], "count": 5, "counterpart": 25, "cover": [0, 25, 77, 80], "cpu": [134, 136], "creat": [0, 1, 2, 9, 11, 16, 23, 25, 35, 66, 77, 79, 80, 93, 94, 97, 99, 121, 131, 134, 136, 141, 144], "create2": 99, "create_error_respons": 1, "create_from_data": 141, "create_from_storage_funct": 141, "create_pow": 136, "create_pow_async": 134, "create_pur": 99, "create_streaming_respons": 79, "creation": [1, 93, 98], "credit": [0, 30, 48, 80], "criteria": 1, "critic": [0, 1, 77, 80, 93, 105, 122, 128], "crowdloan": 100, "crowdloan_id": 99, "crucial": [0, 1, 25, 35, 66, 77, 80, 93], "crv3": [0, 80], "crv3weightcommitsv2": 23, "crv4": [0, 80], "cryptocurr": 77, "cryptograph": [0, 1, 77, 80], "cuda": [0, 33, 64, 80, 134, 136, 137], "cudasolv": 136, "cumul": 77, "curl": 133, "curr_block": 136, "curr_block_num": 136, "curr_diff": 136, "currenc": 121, "current": [0, 1, 6, 77, 80, 85, 93, 98, 99, 101, 110, 120, 132, 136, 141, 142], "current_block": [0, 77], "current_subnet_pric": 132, "current_tick": 132, "current_tim": 120, "current_time_n": 120, "custom": [0, 1, 7, 77, 93, 96, 105, 118, 124, 126], "custom_logger_method_stack_level": 128, "custom_synaps": 93, "customiz": 1, "customsynaps": 93, "cutoff": 18, "d": [25, 77, 94, 97, 123], "dai": [4, 5], "daili": [4, 5], "data": [0, 1, 2, 6, 7, 10, 13, 14, 16, 17, 21, 22, 23, 25, 27, 35, 44, 66, 74, 77, 79, 80, 93, 94, 96, 118, 131, 136, 139, 141, 143], "data_typ": [35, 66], "databas": 141, "dataclass": [3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 17, 19, 20, 21, 96, 118], "date": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 124, 142], "date_format": 123, "datefmt": 124, "datetim": [0, 80], "de": 128, "deal": 1, "debug": [93, 122, 127, 128, 129], "decai": 18, "deceiv": 1, "decentr": [0, 1, 35, 66, 77, 80, 93], "decis": [0, 77, 80], "decod": [0, 1, 2, 6, 7, 8, 10, 12, 15, 17, 21, 22, 23, 27, 44, 80, 93, 96, 118, 131, 141], "decode_account_id": 22, "decode_account_id_list": 15, "decode_block": 22, "decode_hex_identity_dict": 131, "decode_metadata": 22, "decode_revealed_commit": 22, "decode_revealed_commitment_with_hotkei": 22, "decode_scale_valu": 141, "decor": 136, "decreas": [0, 26, 41, 73, 80], "decrease_tak": [60, 99], "decrease_take_extrins": [39, 71], "decrypt": [0, 27, 44, 80, 96, 118, 131], "decrypted_data": [96, 118], "deepcopi": 77, "deeper": [0, 80], "def": [0, 1, 93], "default": [0, 1, 2, 22, 24, 25, 26, 28, 30, 32, 33, 35, 36, 37, 39, 41, 45, 48, 64, 66, 68, 69, 71, 73, 74, 77, 78, 80, 85, 93, 96, 97, 110, 118, 120, 121, 124, 127, 128, 129, 131, 136, 137, 138, 142, 143], "default_endpoint": 78, "default_log_backup_count": 123, "default_log_file_nam": 123, "default_log_format": 124, "default_max_rotating_log_file_s": 123, "default_network": [77, 78], "default_tak": 101, "default_trace_format": 124, "default_verifi": 1, "defaultconfig": 24, "defaultdict": 24, "defaultmunch": 24, "defin": [0, 1, 2, 6, 10, 21, 22, 38, 70, 77, 80, 93, 124, 126, 131, 144], "definit": [0, 98, 99, 101, 123], "deiniti": 128, "delai": [1, 99], "deleg": [0, 4, 5, 26, 39, 71, 77, 80, 85, 99, 110, 144], "delegate_info": [0, 7, 144], "delegate_info_lit": [7, 144], "delegate_ss58": 5, "delegatedinfo": [0, 4, 22, 80], "delegateinfo": [0, 4, 5, 22, 80], "delegateinfobas": 4, "delegateinfolit": 5, "delegateliteinfo": 5, "delegatetaketoohigh": [0, 26, 80], "delegatetaketoolow": [0, 26, 80], "delegatetxratelimitexceed": [0, 26, 80], "delta": [1, 99, 120], "dendrit": [1, 26, 76, 93, 129, 138, 144], "dendrite_default_error": 25, "dendrite_error_map": 25, "dendrite_hotkei": 93, "dendrite_inst": 25, "dendritemixin": 25, "denot": 77, "depart": 0, "depend": [0, 2, 61, 80, 131, 132], "deposit": [0, 40, 61, 72, 80, 99, 131], "deprec": [121, 129, 131, 142], "deprecated_messag": 131, "deregister_primary_logg": 128, "deriv": [10, 22], "describ": [0, 31, 38, 42, 43, 46, 49, 70, 74, 80, 124], "descript": [0, 1, 3, 19, 33, 55, 64, 80, 93, 99], "deseri": [25, 77, 79, 93, 94, 138], "deserialized_synaps": 93, "design": [0, 1, 25, 79, 80, 93, 129], "desir": [93, 128], "dest": [0, 40, 72, 80, 99], "destin": [0, 32, 40, 43, 50, 61, 67, 72, 80, 131, 143], "destination_coldkei": 99, "destination_coldkey_ss58": [0, 32, 50, 54, 80], "destination_hotkei": [0, 32, 50, 80, 99], "destination_hotkey_ss58": [0, 54, 80], "destination_netuid": [0, 32, 50, 54, 80, 99], "destination_pool": 54, "destination_pric": [0, 80], "destination_ss58": 61, "destination_subnet_pric": [0, 80], "detail": [0, 1, 77, 80, 93, 141], "detect": 93, "determin": [0, 1, 25, 77, 80, 93, 97, 125, 131], "determine_block_hash": [0, 80, 85, 110], "determine_chain_endpoint_and_network": 131, "dev_framework": [105, 144], "dev_id": [0, 33, 64, 80, 134, 136, 137], "develop": [1, 79, 93, 98, 99, 101, 105, 145], "devic": [0, 33, 64, 80, 134, 136, 137], "dict": [0, 1, 2, 4, 8, 9, 10, 11, 12, 14, 16, 17, 20, 22, 24, 25, 35, 42, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 74, 77, 78, 79, 80, 93, 94, 97, 103, 124, 131, 132, 136], "dictionari": [0, 1, 2, 9, 11, 16, 22, 24, 26, 77, 79, 80, 93, 94, 97, 125, 131], "did": [33, 34, 35, 36, 40, 64, 65, 66, 67, 68, 72], "diff": 136, "differ": [0, 1, 6, 24, 25, 50, 77, 80, 93, 120, 121, 128, 134, 136], "difficulti": [0, 10, 18, 20, 80, 90, 101, 115, 136, 137], "digit": [1, 77, 93], "dir": 77, "dir_path": 77, "direct": [0, 77, 80, 99], "directli": [0, 25, 79, 80, 93, 98], "directori": 77, "disabl": [0, 30, 48, 80, 85, 99, 110, 127, 128, 129], "disable_debug": 128, "disable_info": 128, "disable_log": 128, "disable_third_party_logg": 128, "disable_trac": 128, "disable_warn": 128, "disable_whitelist": 99, "disallow": 1, "disapprove_propos": 99, "discord": [0, 3, 19, 33, 55, 64, 80, 99], "discover": 105, "discoveri": [0, 80], "disk": 77, "dispatch": 1, "dispatch_a": 99, "dispatch_as_fal": 99, "dissolv": 99, "dissolve_network": 99, "distinguish": 77, "distribut": [0, 38, 70, 77, 80, 93, 132], "divers": [0, 80], "divid": 98, "dividend": [10, 11, 12, 21, 77], "do": [0, 1, 80, 98, 99, 101], "do_commit_weight": [43, 46], "do_serve_axon": [35, 66], "doc": [0, 80, 131], "docstr": 77, "document": [0, 80, 144], "doe": [0, 1, 23, 26, 27, 44, 80, 93, 96, 118, 134, 136], "does_hotkey_exist": [0, 80, 92, 117], "doesn": [0, 1, 26, 27, 44, 77, 80, 128], "don": 0, "done": 0, "down": [0, 1, 80], "drain": 17, "drand": [0, 80, 96, 100, 118], "dtype": 94, "due": [0, 1], "dummy_input": 93, "dump": [96, 118], "duplic": [0, 26, 27, 44], "duplicatechild": [0, 26, 27, 44], "durat": [0, 25, 28, 31, 45, 49, 75, 80, 93, 99, 101], "dure": [0, 1, 18, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 93, 96, 118, 136], "dust": [0, 80], "dynam": [0, 1, 6, 77, 80, 98, 99, 101], "dynamic_info": [7, 144], "dynamicinfo": [0, 6, 22, 54, 58, 62, 80], "e": [0, 2, 9, 13, 33, 35, 64, 66, 77, 80, 93, 131], "e29ce36fec1a": 93, "each": [0, 1, 22, 25, 31, 36, 38, 41, 43, 46, 49, 68, 70, 73, 74, 75, 77, 80, 93, 96, 97, 98, 99, 101, 118, 128, 136], "earn": [0, 36, 68, 77, 80], "easi": 93, "easy_import": [131, 144], "econom": [0, 80], "ecosystem": [0, 77, 80, 93], "ed25519": [40, 72], "edit": [98, 99, 101], "effect": [0, 1, 80], "effici": [0, 1, 25, 77, 80, 93], "effort": [0, 80], "either": [0, 80, 121, 124, 133], "elast": 99, "element": [0, 10, 25, 27, 28, 33, 44, 45, 64, 77, 80, 94], "elig": [0, 80], "ellipsi": 93, "els": [0, 10, 80, 131], "ema_halv": 101, "email": [33, 64], "embodi": 77, "emiss": [0, 6, 10, 11, 12, 17, 21, 37, 38, 69, 70, 77, 80], "emission_histori": 21, "emission_valu": 20, "emissions_shar": 99, "emit": [0, 80], "emoji": 124, "emoji_map": 124, "emploi": 77, "empti": [0, 80, 94, 97], "enabl": [0, 1, 18, 30, 32, 35, 36, 41, 48, 50, 53, 66, 68, 73, 77, 80, 85, 93, 99, 101, 105, 110, 127, 128, 129], "enable_consol": 128, "enable_debug": 128, "enable_default": 128, "enable_info": 128, "enable_third_party_logg": 128, "enable_trac": 128, "enable_warn": 128, "encapsul": [1, 16, 25, 79, 93], "encod": [0, 7, 9, 17, 22, 80, 93, 96, 118, 131], "encode_param": [0, 80, 85, 110], "encoded_data": 22, "encompass": 93, "encount": [1, 94], "encourag": 77, "encrypt": [1, 96, 118], "encrypted_data": [96, 118], "end": [1, 14, 25, 38, 70, 93, 98, 99, 101], "end_block": 99, "endpoint": [0, 1, 2, 25, 35, 66, 80, 85, 93, 97, 110, 131, 133], "endpoint_url": [131, 133], "enforc": [61, 93, 131], "enhanc": [0, 35, 66, 77, 80, 93, 105], "enough": 26, "ensur": [0, 1, 25, 43, 46, 77, 79, 80, 93, 126, 128, 129, 136], "ensure_upd": 99, "enter": [0, 33, 34, 35, 36, 40, 41, 43, 64, 65, 66, 67, 68, 72, 73, 80, 99], "entir": [0, 25, 80], "entiti": [1, 77], "entri": [0, 77, 80, 141], "entrypoint": 78, "enum": [10, 22], "enumer": [10, 22], "environ": [0, 1, 77, 80, 93, 137], "epoch": [0, 80, 101, 103], "equal": [38, 70, 134, 136], "equip": 1, "equivocation_proof": 99, "error": [0, 1, 2, 24, 25, 27, 30, 31, 35, 37, 38, 39, 41, 42, 43, 44, 46, 48, 49, 66, 69, 70, 71, 73, 74, 76, 77, 80, 85, 93, 94, 96, 110, 118, 122, 128, 131, 134, 136, 137, 142, 144], "error_messag": 131, "especi": [1, 25, 93], "essenti": [0, 1, 25, 77, 80, 93], "establish": [0, 1, 25, 80, 93], "estim": [0, 6, 80], "etc": [1, 79, 85, 93, 110], "ethereum": 100, "evalu": [0, 1, 97], "even": [0, 30, 48, 80], "evenli": [0, 80], "event": [25, 79, 128, 136], "event_loop_is_run": 25, "everi": 93, "everyth": 77, "evm": 100, "evm_kei": 99, "evolut": 77, "exact": 77, "examin": 77, "exampl": [1, 38, 41, 70, 73, 93, 94, 96, 118], "examplerout": 93, "examplesynaps": 93, "exce": [0, 27, 32, 44, 50, 80], "exceed": [0, 26, 36, 41, 68, 73, 80], "except": [0, 1, 25, 27, 31, 38, 42, 44, 49, 70, 74, 75, 80, 94, 128, 131], "exchang": [1, 77, 93], "exclud": 143, "exclude_quantil": 143, "execut": [0, 1, 26, 31, 38, 42, 49, 70, 74, 75, 77, 80, 95, 99, 103], "execute_on": 103, "execute_step": 103, "executor": 95, "exhaust": 25, "exist": [0, 1, 23, 25, 26, 27, 44, 80, 131, 134, 136], "existenti": [0, 40, 61, 72, 80, 131], "existential_deposit": 0, "existentialdeposit": 0, "exit": [1, 26], "expans": 105, "expect": [1, 25, 77, 79], "experiment": 105, "expir": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80], "explicitli": [0, 24, 77, 79, 93, 94], "explor": 131, "expos": 131, "express": [96, 118], "ext_index": 99, "extend": [1, 99, 105], "extens": 105, "extent": [0, 80], "extern": [1, 25, 133], "external_ip": [1, 25, 133], "external_port": 1, "externalipnotfound": 133, "extra": [119, 144], "extract": [1, 25, 79, 131], "extract_response_json": 79, "extrem": 1, "extrins": [0, 76, 80, 85, 98, 99, 101, 110, 131, 144], "extrinsicnotfound": 26, "extrinsicrespons": [0, 75, 80, 103], "extrinsics_subpackag": 129, "f": [0, 131], "face": [0, 1, 80, 133], "facilit": [0, 1, 77, 80, 93], "factor": [0, 80], "factori": [0, 16, 77], "fail": [0, 1, 2, 22, 25, 26, 27, 30, 33, 34, 35, 36, 37, 40, 41, 43, 44, 48, 64, 65, 66, 67, 68, 69, 72, 73, 80, 93, 95, 96, 118, 133, 142], "failed_verif": 93, "failur": [0, 1, 27, 28, 33, 35, 39, 44, 45, 64, 66, 71, 80, 93], "fallback": [0, 25, 80, 85, 99, 110], "fallback_endpoint": [0, 80, 85, 110], "fals": [0, 1, 6, 11, 12, 22, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 93, 94, 96, 103, 110, 118, 124, 127, 129, 131, 134, 136, 138], "fast": [0, 80, 96, 118], "fast_config": 1, "fast_serv": 1, "fastapi": 1, "fastapithreadedserv": 1, "faucet": 99, "feasibl": 25, "featur": [0, 1, 80, 93, 105, 129], "fee": [0, 16, 42, 74, 80, 99, 132], "fees_above_high": 132, "fees_alpha": 132, "fees_below_low": 132, "fees_tao": 132, "fetch": [0, 5, 35, 66, 80, 98, 143], "field": [0, 1, 2, 4, 79, 80, 91, 93, 94, 98, 99, 101, 116], "field_indic": [0, 80], "file": [24, 77, 98, 99, 101], "filenam": [123, 124], "fill": [1, 25], "filter": [0, 1, 80], "filter_for_netuid": [0, 80], "filter_netuids_by_registered_hotkei": [0, 80, 92, 117], "final": [0, 1, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 93, 99, 136], "financi": [0, 80], "find": [74, 93], "fingerprint": 93, "finish": [25, 95, 136], "finished_queu": 136, "finnei": [0, 77, 78, 85, 97, 110, 131], "finney_entrypoint": 78, "finney_test_entrypoint": 78, "first": [0, 1, 6, 24, 25, 27, 28, 33, 36, 44, 45, 64, 68, 77, 80, 93, 103], "fix": [0, 80, 121], "fixed_to_float": 121, "fixedpoint": [80, 121], "flag": [0, 1, 2, 18, 25, 33, 35, 36, 39, 40, 61, 64, 66, 67, 68, 71, 72, 77, 80, 97, 124, 131], "flexibl": [0, 1, 80], "float": [0, 1, 4, 5, 6, 10, 11, 12, 18, 20, 21, 25, 27, 28, 31, 32, 34, 36, 41, 43, 44, 45, 49, 50, 51, 54, 58, 62, 65, 67, 68, 73, 75, 77, 80, 85, 93, 96, 110, 118, 120, 121, 131, 132, 136, 143], "float32": [28, 34, 43, 45, 65, 67, 143], "float_to_u64": 131, "floattensor": [28, 43, 45, 67, 143], "flow": [1, 93], "fluctuat": [0, 80], "fmt": 124, "fn": [77, 95], "focus": [0, 80], "follow": [35, 66, 93, 97, 128], "forbidden": 93, "forc": [99, 136], "force_adjust_total_issu": 99, "force_batch": 99, "force_ent": 99, "force_exit": 99, "force_extend": 99, "force_proxy_typ": 99, "force_release_deposit": 99, "force_set_bal": 99, "force_slash_deposit": 99, "force_transf": 99, "force_unreserv": 99, "forev": [0, 80, 85, 110], "form": [1, 77, 79, 93, 94, 96, 118, 133], "format": [0, 1, 25, 35, 66, 77, 79, 80, 93, 97, 126, 131, 133, 144], "format_error_messag": 131, "formatt": [124, 126, 128], "formatted_endpoint_url": 133, "formattim": 124, "forward": [1, 25], "forward_class_typ": 1, "forward_custom": 1, "forward_fn": [1, 26], "forward_my_synaps": 1, "forward_my_synapse_2": 1, "foster": 1, "found": [0, 1, 26, 74, 80, 136, 137], "foundat": [0, 1], "four": 104, "frac_bit": 121, "frame": [0, 80], "framework": [1, 25, 93, 128, 129], "freez": [0, 38, 70, 80], "frequent": [0, 80], "fresh": 1, "friendli": [1, 43, 46], "fro": 128, "from": [0, 1, 2, 9, 10, 11, 15, 16, 17, 22, 25, 30, 32, 35, 36, 39, 40, 41, 48, 50, 66, 68, 71, 72, 73, 77, 79, 80, 85, 93, 94, 95, 96, 97, 98, 99, 101, 105, 110, 118, 121, 122, 128, 131, 133, 136, 138, 143], "from_dict": [8, 14, 16, 17], "from_error": 26, "from_float": 121, "from_head": 93, "from_neuron_info": 2, "from_parameter_dict": [2, 9], "from_rao": 121, "from_scale_encod": 22, "from_scale_encoding_using_type_str": 22, "from_str": 2, "from_tao": [0, 80, 121], "from_vec_u8": 23, "from_vec_u8_v2": 23, "from_weights_bonds_and_neuron_lit": 11, "frozen": [0, 80], "full": [0, 32, 50, 77, 80], "full_address": 1, "func": [5, 136, 142], "function": [7, 23, 26, 79, 80, 99, 101, 105, 126, 128, 138, 141], "fund": [0, 40, 72, 80], "fundament": [0, 1, 36, 68, 77, 80, 93], "further": 1, "futur": [35, 66, 77, 95], "g": [0, 2, 9, 13, 33, 64, 93, 131], "gain": [0, 80], "garbag": 0, "gas_limit": 99, "gate": 105, "gather": 1, "gener": [0, 1, 10, 22, 25, 31, 49, 75, 79, 80, 98, 99, 101, 125, 136, 141, 143, 144], "generate_weight_hash": 143, "genericcal": [0, 42, 74, 80], "genericmetadatavers": 141, "genuin": 1, "get": [0, 24, 25, 42, 61, 74, 77, 80, 91, 93, 95, 96, 116, 118, 124, 128, 131, 136], "get_admin_freeze_window": [0, 80, 81, 106], "get_all_commit": [0, 80, 82, 107], "get_all_metagraphs_info": [0, 80, 86, 111], "get_all_neuron_certif": [0, 80, 87, 112], "get_all_revealed_commit": [0, 80, 82, 107], "get_all_subnets_info": [0, 80, 90, 115], "get_all_subnets_netuid": 115, "get_and_save_latest_vers": 142, "get_async_subtensor": 0, "get_auto_stak": 114, "get_bal": [0, 80, 92, 117], "get_block_hash": [0, 80, 81, 106], "get_block_info": 106, "get_children": [0, 80, 90, 92, 115, 117], "get_children_pend": [0, 80, 90, 92, 115, 117], "get_commit": [0, 80, 82, 107], "get_commitment_metadata": 107, "get_config": 128, "get_cpu_count": 136, "get_current_block": [0, 77, 80, 81, 106], "get_current_weight_commit_info": [0, 80, 82, 90], "get_current_weight_commit_info_v2": [0, 80, 82], "get_deleg": [0, 80, 83, 92, 108, 117], "get_delegate_by_hotkei": [0, 80, 83, 92, 108, 117], "get_delegate_ident": [0, 80, 81, 83, 85, 106, 108, 110], "get_delegate_tak": [0, 80, 83, 92, 108, 117], "get_existential_deposit": [0, 80, 81, 106], "get_explorer_url_for_network": 131, "get_external_ip": 133, "get_extrinsic_fe": [42, 74, 109], "get_fe": 132, "get_fees_in_rang": 132, "get_formatted_ws_endpoint_url": 133, "get_hash": 131, "get_hotkey_own": [0, 80, 92, 117], "get_hotkey_stak": [0, 80, 89, 92, 114, 117], "get_human_read": 130, "get_hyperparamet": [0, 80, 90, 115], "get_last_bonds_reset": [35, 66, 107], "get_last_commitment_bonds_reset_block": [0, 80, 82, 107], "get_level": 128, "get_liquidity_list": [0, 80, 90, 115], "get_max_logger_name_length": 125, "get_mechanism_count": [0, 80, 90, 115], "get_mechanism_emission_split": [0, 80, 90, 115], "get_mechid_storage_index": 131, "get_metadata": [35, 66], "get_metagraph_info": [0, 80, 86, 111], "get_minimum_required_stak": [0, 80, 81, 89, 92, 106, 114, 117], "get_netuid_and_mechid_by_storage_index": 131, "get_netuids_for_hotkei": [0, 80, 92, 117], "get_neuron_certif": [0, 80, 87, 112], "get_neuron_for_pubkey_and_subnet": [0, 80, 90, 115], "get_next_epoch_start_block": [0, 80, 90, 115], "get_null_neuron": [11, 12], "get_old_stak": 74, "get_owned_hotkei": [0, 80, 92, 117], "get_par": [0, 80, 90, 115, 117], "get_queu": 128, "get_required_field": 93, "get_revealed_commit": [0, 80, 82, 107], "get_revealed_commitment_by_hotkei": [0, 80, 82, 107], "get_save_dir": 77, "get_selective_metagraph_commit": 10, "get_siz": 93, "get_stak": [0, 80, 89, 92, 114, 117], "get_stake_add_fe": [0, 80, 89, 92, 114, 117], "get_stake_for_coldkei": [0, 80, 89, 92], "get_stake_for_coldkey_and_hotkei": [0, 80, 89, 92, 114, 117], "get_stake_for_hotkei": [0, 80, 92, 117], "get_stake_info_for_coldkei": [0, 80, 89, 92, 114, 117], "get_stake_movement_fe": [0, 80, 89, 92, 114, 117], "get_stake_operations_fe": [0, 80, 89], "get_stake_weight": [0, 80, 89, 114], "get_status_messag": 136, "get_subnet": [0, 80, 90], "get_subnet_burn_cost": [0, 80, 90, 115], "get_subnet_hyperparamet": [0, 80, 90, 115], "get_subnet_info": [0, 80, 90, 115], "get_subnet_owner_hotkei": [0, 80, 90, 115], "get_subnet_pric": [0, 80, 90, 115], "get_subnet_reveal_period_epoch": [0, 80, 90, 115], "get_subnet_validator_permit": [0, 80, 90, 115], "get_timelocked_weight_commit": [0, 80, 82, 107], "get_timestamp": [0, 80, 81, 106], "get_total_s": 93, "get_total_subnet": [0, 80, 90, 115], "get_transfer_fe": [0, 80, 92, 117], "get_transfer_fn_param": [61, 131], "get_uid_for_hotkey_on_subnet": [0, 80, 90, 115], "get_unit": 121, "get_unstake_fe": [0, 80, 89, 92, 114, 117], "get_vote_data": [0, 80, 81, 106], "getdefaultencod": 131, "github": [0, 3, 33, 64, 80], "github_repo": [19, 33, 55, 64, 99], "give": [0, 95, 121, 122], "given": [0, 1, 22, 28, 32, 33, 34, 35, 42, 43, 45, 64, 65, 66, 67, 74, 77, 79, 80, 93, 94, 95, 121, 131, 134, 136, 138, 143], "global": [0, 80], "global_fees_alpha": 132, "global_fees_tao": 132, "global_max_subnet_count": 131, "glorifi": 93, "glossari": [0, 80], "go": 1, "goe": [0, 33, 41, 64, 73, 80], "govern": [0, 77, 80], "grace": [0, 80], "gracefulli": 1, "grandpa": 100, "graph": 77, "great": 1, "greater": [77, 143], "growth": [0, 80], "grpc": 1, "guard": 1, "h": [123, 130], "ha": [0, 1, 12, 25, 26, 77, 79, 80, 136], "halt": 1, "handl": [0, 1, 6, 21, 25, 43, 46, 79, 80, 93, 96, 118, 128, 132, 133, 143], "handler": [1, 126, 128, 131], "hash": [0, 1, 23, 31, 35, 43, 46, 49, 66, 75, 80, 93, 99, 131, 136, 137, 139, 143], "hash_rat": 136, "hash_rate_perpetu": 136, "hash_valu": 93, "hasher": [140, 144], "hasn": 1, "have": [0, 1, 26, 27, 44, 80, 93, 95], "header": [1, 25, 26, 79, 93, 98], "header_s": 93, "height": [0, 80, 99], "held": [0, 77], "hello": [0, 93], "help": [0, 1, 24, 26, 80, 85, 93, 94, 95, 97, 110, 121, 128, 131, 133, 142], "helper": [0, 22, 61, 74, 80, 93, 97, 121, 126, 131, 139, 144], "here": 25, "hex": [0, 23, 80, 141], "hex_to_byt": 131, "hexadecim": [93, 131], "high": [0, 18, 26, 80], "higher": [77, 141], "hint": [98, 99, 101], "histor": [25, 77], "history_block": 77, "hit": [0, 27, 44], "hold": [1, 77, 128], "holder": [0, 80], "home_dir": 78, "honest": 0, "hop": [0, 80], "host": [1, 35, 66], "hot": [0, 80], "hotkei": [0, 1, 2, 4, 5, 10, 11, 12, 17, 21, 22, 25, 26, 27, 30, 31, 32, 34, 35, 36, 39, 41, 42, 43, 44, 48, 49, 50, 65, 66, 67, 68, 71, 73, 74, 75, 77, 80, 85, 92, 93, 97, 99, 101, 110, 117, 131, 136, 137], "hotkey_byt": 136, "hotkey_ss58": [0, 4, 17, 32, 36, 39, 41, 50, 51, 53, 54, 55, 56, 57, 58, 60, 62, 68, 71, 73, 74, 80], "hotkey_ss58_address": [0, 80], "hotkeyaccountnotexist": [0, 26, 80], "how": [0, 1, 6, 77, 80], "howev": [25, 77], "hparam": 77, "http": [0, 1, 25, 78, 80, 93, 131], "human": [1, 130], "hyperparam": 143, "hyperparamet": [0, 18, 80, 103], "i": [0, 1, 2, 4, 5, 6, 11, 12, 15, 16, 18, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 85, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104, 110, 118, 121, 124, 128, 129, 131, 132, 133, 134, 136, 137, 138, 141, 142, 143, 145], "id": [0, 1, 4, 22, 25, 28, 30, 33, 45, 48, 64, 73, 80, 93, 99, 131, 132, 134, 136, 137, 143], "ideal": 6, "ident": [0, 3, 10, 19, 26, 33, 64, 77, 80, 93, 99, 131, 139], "identif": [77, 93], "identifi": [0, 1, 11, 12, 16, 25, 31, 35, 36, 38, 39, 41, 43, 46, 49, 66, 68, 70, 71, 73, 74, 75, 77, 80, 93, 99, 131, 143], "identityerror": 26, "idx": 103, "if_els": 99, "ignor": [0, 25, 80], "ij": 77, "imag": [3, 99], "immedi": [0, 1, 80], "immun": [0, 18], "immune_neuron": 101, "immunity_period": [0, 10, 18, 20, 80, 90, 101, 115], "immunityperiod": [0, 10, 80], "immut": [0, 80], "impact": [0, 32, 50, 77, 80], "implement": [1, 24, 25, 79, 93, 95, 105, 136, 141], "impli": 77, "import": [0, 1, 24, 25, 77, 80, 85, 93, 96, 98, 105, 110, 118, 122], "import_text": 98, "importerror": 77, "improv": 93, "in_block": 99, "inact": 77, "incent": [0, 10, 11, 12, 21, 36, 68, 77, 80], "incentiv": [0, 77], "includ": [0, 1, 2, 7, 11, 16, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 96, 97, 105, 118, 124, 126, 129], "inclus": [0, 28, 31, 32, 33, 34, 35, 36, 38, 39, 40, 42, 45, 49, 50, 64, 65, 66, 67, 68, 70, 71, 72, 74, 75, 80], "incom": [0, 1, 80], "incorrect": 131, "increas": [0, 1, 26, 32, 36, 50, 68, 80, 93], "increase_decrease_tak": 60, "increase_tak": [60, 99], "increase_take_extrins": [39, 71], "inde": 1, "index": [0, 14, 80, 99, 131, 132], "indexerror": [96, 118], "indic": [0, 1, 11, 12, 18, 25, 26, 27, 28, 30, 33, 35, 44, 45, 48, 64, 66, 77, 80, 93, 128], "indispens": 93, "individu": [0, 25, 77, 80], "infer": 77, "inflat": [0, 80], "influenc": [0, 77, 80], "info": [0, 1, 2, 6, 8, 9, 10, 20, 21, 78, 99, 122, 127, 128, 129], "info_bas": [2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 144], "info_dictionari": 131, "info_field": 57, "infobas": [2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21], "inform": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 15, 17, 19, 23, 25, 27, 33, 35, 44, 64, 66, 74, 77, 80, 93, 128, 131, 136, 137], "infrastructur": [0, 77, 80], "inherit": [93, 97], "init": [77, 99], "initarg": 95, "initi": [0, 1, 16, 24, 25, 26, 30, 33, 35, 36, 37, 40, 48, 66, 68, 69, 77, 79, 80, 85, 94, 95, 96, 97, 110, 118, 121, 124, 128, 131, 133, 142], "inner_subtensor": 110, "input": [0, 1, 22, 25, 77, 79, 80, 93, 94, 99, 136, 143], "input_": 22, "input_obj": 93, "insight": [0, 80], "inspect": 1, "instal": 77, "install_signal_handl": 1, "instanc": [0, 1, 2, 9, 11, 12, 16, 23, 25, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 66, 68, 69, 70, 73, 74, 75, 77, 79, 80, 85, 93, 95, 96, 104, 110, 118, 125, 128, 134, 141, 143], "instanti": [0, 77, 79], "instead": [0, 1, 79, 142], "instrument": [77, 80], "insuffici": [0, 80], "int": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 93, 94, 96, 97, 103, 104, 118, 120, 121, 124, 125, 128, 130, 131, 132, 133, 134, 136, 137, 138, 142, 143], "int64": [28, 34, 43, 45, 65, 67, 137, 143], "int_to_ip": 133, "int_val": 133, "intact": 1, "integ": [0, 31, 38, 49, 70, 75, 80, 93, 121, 132, 133, 143], "integr": [0, 1, 77, 80, 93, 129], "intellig": [0, 1, 77, 80], "intend": [0, 79, 80, 93, 98, 99, 101], "intent": [0, 1], "inter": 77, "interact": [0, 1, 25, 30, 32, 33, 37, 43, 46, 48, 64, 69, 77, 80, 85, 93, 110, 121], "intercept": 1, "interconnect": [0, 80], "interconnected": 77, "interfac": [0, 1, 33, 43, 46, 64, 77, 79, 80], "interfer": [0, 1, 80], "intermediari": 1, "intern": [1, 25, 35, 66, 79, 105], "internalservererror": 26, "interneuron": [0, 80], "interpret": [16, 25, 41, 93], "interv": [18, 101], "invalid": [0, 26, 94], "invalidchild": [0, 26, 27, 44], "invalidconfigfil": 24, "invalidrequestnameerror": 26, "invers": 143, "invest": [0, 77, 80], "invok": 1, "involv": [0, 1, 77, 80, 93], "ip": [1, 2, 9, 13, 25, 35, 57, 66, 77, 93, 97, 99, 133], "ip__str__": 133, "ip_address": 93, "ip_info": [7, 144], "ip_str": [2, 133], "ip_to_int": 133, "ip_typ": [2, 9, 13, 97, 99, 133], "ip_vers": 133, "ipifi": 133, "ipinfo": [9, 22], "ipv4": [2, 9, 13, 133], "ipv6": [2, 9, 13, 133], "is_async": [85, 110], "is_blacklist": 93, "is_dynam": 6, "is_empti": 95, "is_failur": 93, "is_fast_block": [0, 80, 81, 106], "is_hotkey_deleg": [0, 80, 83, 92, 108, 117], "is_hotkey_regist": [0, 80, 92, 117], "is_hotkey_registered_ani": [0, 80, 92, 117], "is_hotkey_registered_on_subnet": [0, 80, 90, 115, 117], "is_in_admin_freeze_window": [0, 80, 81, 106], "is_instance_namedtupl": 104, "is_nul": [11, 12], "is_opt": 22, "is_regist": 17, "is_run": 1, "is_serv": 2, "is_set": 24, "is_stal": 136, "is_stale_async": 136, "is_subnet_act": [0, 80, 90, 115], "is_success": 93, "is_timeout": 93, "is_valid_bittensor_address_or_public_kei": 131, "is_valid_ss58_address": 131, "is_vec": 22, "iso8601": 124, "issu": [1, 25], "item": [0, 80, 93, 99, 139], "iter": [0, 25, 77, 80, 93, 94, 97, 125], "its": [0, 1, 2, 25, 36, 39, 40, 68, 71, 72, 77, 80, 93, 128, 136], "itself": [1, 93], "j": 77, "json": [1, 2, 25, 78, 79, 93], "json_respons": 25, "json_str": 2, "jsondecodeerror": 2, "jsonrespons": 1, "judgment": 77, "just": [0, 77, 80, 85, 110], "k": [6, 94, 97], "kappa": [10, 18, 20, 101], "keccak": 137, "keccak256": [35, 66], "keep": [0, 40, 50, 72, 80, 93, 105], "keep_al": [0, 40, 61, 72, 80, 99, 131], "kei": [0, 1, 2, 11, 15, 16, 22, 27, 28, 31, 34, 40, 42, 43, 44, 45, 46, 49, 65, 67, 72, 74, 75, 77, 80, 93, 94, 97, 99, 131, 139, 141, 143], "kept": 142, "key_owner_proof": 99, "keyfil": [0, 27, 44, 80, 129, 131], "keyfileerror": [0, 27, 44, 80, 131], "keypair": [0, 25, 42, 74, 80], "keyword": [79, 93, 94, 97, 138], "kill_prefix": 99, "kill_pur": 99, "kill_storag": 99, "know": [0, 1, 80], "known": [0, 80, 131], "kwarg": [25, 79, 94, 95, 97, 104, 124, 128, 138], "lack": 133, "larg": 25, "larger": 1, "last": [0, 1, 11, 12, 35, 66, 77, 80, 85, 110], "last_drand_round": [0, 80, 81, 106], "last_step": [6, 10, 77], "last_upd": [10, 11, 12, 21, 77], "laststep": 10, "lastupd": 10, "latenc": 93, "latent": 78, "latent_lite_entrypoint": 78, "later": 77, "latest": [0, 66, 77, 80, 142], "latest_block_path": 77, "latest_hash": 0, "layer": [0, 1, 77, 80], "lazi": 136, "lazili": 25, "lazyloadedtorch": 136, "lead": 1, "leakag": 25, "learn": [77, 80, 93], "learnbittensor": [0, 80], "lease_id": 99, "least": 1, "ledger": 77, "left": 133, "legaci": [129, 136], "legacy_method": [85, 110], "legacy_torch_api_compat": 136, "length": [35, 38, 66, 70, 93, 125], "length_bound": 99, "less": 77, "level": [0, 1, 18, 77, 80, 85, 91, 110, 116, 122, 124, 126, 128, 129, 141, 144], "levelnam": [123, 124], "leverag": [77, 128], "librari": 128, "lifecycl": 1, "lifespan": 93, "light": 77, "lighter": 5, "lightweight": [0, 80], "like": [0, 1, 24, 25, 80, 93, 124], "limit": [0, 18, 26, 27, 41, 44, 73, 80, 136, 137, 143], "limit_pric": 99, "line": [0, 1, 80, 97, 134, 136], "lineno": [123, 124], "link": [0, 1, 17, 33, 64, 80], "liquid": [0, 18, 29, 47, 52, 80, 99, 131, 144], "liquid_alpha_en": [10, 18], "liquidalphaen": 10, "liquidity_delta": [0, 30, 48, 53, 80, 99], "liquidityparam": 53, "liquidityposit": [0, 80, 132], "list": [0, 1, 4, 5, 8, 10, 11, 12, 14, 15, 21, 22, 24, 25, 27, 28, 31, 33, 34, 36, 38, 41, 43, 44, 45, 46, 49, 51, 55, 57, 64, 65, 67, 68, 70, 73, 74, 75, 77, 80, 85, 93, 94, 97, 98, 99, 101, 103, 110, 131, 134, 136, 138, 141, 143], "list_from_dict": 8, "list_from_vec_u8": 12, "listen": [1, 128], "lite": [0, 11, 77, 78, 80, 85, 110], "liter": 131, "live": 77, "load": [0, 1, 24, 77, 80, 96, 118, 136], "load_from_path": 77, "local": [0, 1, 25, 77, 78, 80, 97, 98, 131, 133], "local_entrypoint": 78, "local_synaps": 25, "localhost": [85, 110], "locat": 77, "lock": [0, 17, 80, 136], "lock_cost": 101, "log": [0, 1, 24, 25, 33, 64, 80, 85, 110, 122, 123, 124, 125, 126, 127, 128, 129, 131, 136, 137], "log_and_handle_error": 1, "log_cuda_error": 137, "log_except": 25, "log_format": 124, "log_level": 1, "log_level_color_prefix": 124, "log_no_torch_error": 136, "log_trace_format": 124, "log_verbos": [0, 33, 64, 80, 85, 97, 110, 134, 136], "logger": [95, 122, 125, 126, 128], "logging_dir": 128, "loggingconfig": 128, "loggingmachin": [122, 126, 144], "logic": [1, 79, 93, 96, 105, 118], "logo": [33, 64], "logo_url": [19, 33, 55, 64, 99], "logrecord": 124, "long": [0, 80], "longer": 25, "longest": 125, "longtensor": [28, 43, 45, 67, 143], "loop": 25, "low": [0, 18, 26, 80], "lower": [0, 30, 48, 80, 143], "lynch": [96, 118], "m": 123, "machin": [1, 77, 80, 93], "made": [0, 18, 26, 80], "mai": [0, 77, 80, 105], "main": [0, 1, 80, 96, 99, 105, 118, 131, 136], "mainli": [0, 77, 80, 85, 110], "maintain": [0, 1, 77, 80, 93, 98, 105, 129, 132], "mainten": 1, "major": 77, "make": [0, 1, 25, 40, 72, 77, 80, 93, 96, 118], "malici": 1, "manag": [0, 1, 16, 24, 25, 77, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 93, 103, 106, 107, 108, 109, 111, 112, 113, 114, 115, 117, 125, 128, 132], "mani": [0, 26, 27, 44], "manipul": 1, "manner": [1, 136], "manual": [98, 99, 101], "map": [0, 4, 11, 12, 80, 94, 97, 131, 133, 141], "mark": 1, "market": 80, "match": [1, 38, 70, 74, 121, 143], "math": 77, "matrix": [0, 77, 80], "max": [1, 26, 35, 66, 143], "max_allowed_attempt": [0, 33, 64, 80], "max_allowed_uid": 101, "max_allowed_valid": [20, 101], "max_burn": [10, 18, 101], "max_difficulti": [10, 18, 101], "max_fee_per_ga": 99, "max_int_weight": 143, "max_length": 125, "max_n": [20, 101], "max_priority_fee_per_ga": 99, "max_registrations_per_block": 101, "max_regs_per_block": [10, 18], "max_retri": [0, 80], "max_subnet": 101, "max_tick": 132, "max_uid": [10, 77], "max_valid": [10, 18], "max_valu": 143, "max_weight": 99, "max_weight_limit": [0, 18, 20, 80, 90, 101, 115, 143], "max_weights_limit": 10, "max_work": [1, 95], "maxattemptsexcept": 26, "maxburn": 10, "maxdifficulti": 10, "maximum": [0, 18, 25, 32, 33, 36, 41, 50, 64, 68, 73, 80, 93, 95, 143], "maxregsperblock": 10, "maxsiz": 95, "maxsuccessexcept": 26, "maxuid": 10, "maxvalid": 10, "maxweightslimit": [0, 10, 80], "maybe_period": 99, "maybe_split": [38, 70, 101, 143], "maybe_timepoint": 99, "mean": [0, 1, 80, 93, 134, 136], "measur": [77, 80], "mech_count": [38, 70], "mechan": [0, 1, 29, 37, 38, 47, 69, 70, 75, 77, 80, 93, 96, 118, 131, 144], "mechanism_count": [77, 101], "mechanisms_emissions_split": 77, "mechid": [0, 10, 31, 49, 63, 75, 77, 80, 131], "mecid": 99, "meet": 1, "member": [0, 80, 99], "merg": [24, 25], "merkl": 141, "messag": [0, 1, 22, 25, 26, 27, 28, 30, 31, 33, 35, 37, 38, 39, 41, 42, 44, 45, 48, 49, 64, 66, 69, 70, 71, 73, 74, 80, 93, 122, 123, 124, 128, 131, 136], "met": 26, "meta_info": [0, 80], "metadata": [0, 11, 12, 22, 26, 33, 35, 64, 66, 77, 80, 93, 98, 99, 101, 141], "metadata_storage_funct": 141, "metadataerror": [26, 35, 66], "metagraph": [0, 25, 76, 80, 85, 110, 129, 143, 144], "metagraph_info": [7, 144], "metagraph_state_dict_ndarray_kei": 77, "metagraphinfo": [0, 10, 22, 80], "metagraphinfoemiss": [10, 77], "metagraphinfoparam": [10, 77], "metagraphinfopool": [10, 77], "metagraphmixin": 77, "method": [0, 1, 6, 16, 21, 23, 25, 35, 43, 46, 66, 77, 79, 80, 85, 93, 95, 97, 110, 121, 124, 128, 136], "metric": [77, 93], "middlewar": 1, "middleware_cl": 1, "might": 1, "millifi": 130, "millisecond": 124, "min_allowed_uid": 101, "min_allowed_weight": [0, 10, 18, 20, 80, 90, 101, 115, 143], "min_burn": [10, 18, 101], "min_contribut": 99, "min_difficulti": [10, 18, 101], "min_stak": 101, "min_tick": 132, "minallowedweight": [0, 10, 80], "minburn": 10, "mindifficulti": 10, "mine": [0, 80], "miner": [0, 24, 77], "miners_dir": 78, "minimum": [0, 18, 27, 44, 80, 143], "mismatch": 1, "miss": 0, "ml": 93, "mock": [0, 80, 85, 97, 110], "mock_subpackag": 129, "modal": 20, "mode": [0, 80, 128], "model": [0, 77, 79, 93, 94], "model_config": [79, 93, 94], "model_dump_json": 93, "model_validate_json": 93, "modern": 1, "modif": 93, "modifi": [0, 22, 30, 48, 79, 80, 141], "modify_liquid": [0, 80, 84, 109], "modify_liquidity_extrins": [30, 48], "modify_posit": [53, 99], "modul": [7, 98, 105, 126], "modular": 105, "module_nam": [0, 80], "moment": 132, "monitor": 93, "monoton": 93, "more": [0, 33, 64, 77, 80, 130, 134, 136], "most": [0, 77, 80], "mostli": 80, "move": [0, 18, 32, 50, 80], "move_all_stak": [0, 32, 50, 80], "move_stak": [0, 29, 47, 52, 80, 84, 89, 99, 109, 114, 144], "move_stake_extrins": [32, 50], "movement": [0, 80], "movestakeparam": 54, "moving_pric": [6, 10], "movingpric": 10, "msg": [0, 43, 46, 80, 128, 131], "much": [6, 77], "multi": 1, "multilin": 98, "multipl": [0, 1, 25, 77, 80, 103, 134, 136], "multipli": 18, "multiprocess": 136, "multisig": 100, "munch": 24, "must": [0, 16, 30, 34, 37, 38, 43, 48, 65, 67, 69, 70, 77, 79, 80, 128, 131, 133, 143], "mutat": 1, "mutual": [0, 80], "my_axon": 1, "my_config": 1, "my_liquidity_delta": [0, 80], "my_wallet": [0, 1, 80], "mycustomsynaps": 1, "mysynaps": [1, 93], "n": [77, 130, 131, 143], "n_block": [96, 118], "nai": 14, "name": [0, 1, 3, 10, 22, 25, 26, 33, 64, 77, 79, 80, 93, 94, 95, 96, 97, 99, 118, 123, 124, 125, 128, 141], "namedtupl": [98, 99, 101, 104, 128], "namespac": 24, "nanosecond": 120, "nanoseconds_in_second": 120, "nativ": 93, "natur": [0, 25, 77, 80], "ndarrai": [28, 34, 43, 45, 65, 67, 77, 94, 143], "nearest": 132, "necessari": [1, 25, 77, 93], "need": [0, 1, 22, 80, 93, 96, 105, 118], "neg": [0, 30, 48, 80], "nest": [10, 24], "netuid": [0, 1, 4, 6, 10, 11, 12, 16, 17, 20, 21, 25, 27, 28, 30, 31, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 55, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 73, 74, 75, 77, 80, 97, 99, 101, 103, 104, 121, 131, 132, 134, 136, 143], "network": [0, 1, 2, 4, 6, 7, 11, 12, 16, 21, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 41, 43, 44, 45, 46, 49, 64, 65, 66, 68, 73, 74, 75, 77, 78, 79, 80, 85, 93, 97, 98, 110, 131, 132, 134, 136, 138, 143, 144], "network_explorer_map": 78, "network_map": [78, 131], "network_registered_at": [6, 10, 77], "networkregisteredat": 10, "neural": 77, "neurip": 77, "neuron": [0, 1, 2, 7, 11, 12, 25, 26, 27, 31, 35, 36, 39, 43, 44, 46, 49, 66, 67, 68, 71, 75, 77, 80, 85, 93, 110, 143, 144], "neuron_for_uid": [0, 80, 87, 112], "neuron_incent": 77, "neuron_info": [0, 2, 7, 80, 144], "neuron_info_lit": [7, 144], "neuron_lit": 11, "neuron_rank": 77, "neuroninfo": [0, 11, 22, 77, 80], "neuroninfolit": [0, 11, 12, 22, 77, 80], "neurons_lit": [0, 80, 87, 112], "new": [0, 1, 10, 15, 22, 23, 24, 25, 33, 37, 64, 69, 77, 79, 80, 93, 94, 95, 97, 99, 131, 134, 136], "new_author": 99, "new_cap": 99, "new_coldkei": [15, 99], "new_end": 99, "new_fre": 99, "new_hotkei": 99, "new_limit": 99, "new_memb": 99, "new_min_contribut": 99, "newblockev": 136, "next": [0, 1, 80, 98, 99, 101, 103], "next_author": 99, "nich": 80, "nn": [2, 9, 25, 77], "no_error": [96, 118], "node": [0, 1, 77, 80, 85, 93, 96, 110, 118, 138], "nomin": [0, 4, 5, 26, 39, 71, 80], "nominationerror": 26, "non": [0, 1, 26, 27, 44, 93, 98, 131], "non_sudo_cal": [98, 144], "nonassociatedcoldkei": [0, 26, 27, 44, 80], "nonc": [0, 1, 33, 42, 55, 64, 74, 80, 93, 99, 120, 134, 136, 137], "nonce_kei": [0, 42, 74, 80], "nonce_start": 137, "none": [0, 1, 6, 10, 11, 12, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 57, 61, 62, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 85, 93, 94, 95, 96, 97, 103, 104, 110, 118, 120, 124, 125, 128, 131, 134, 136, 137, 141, 143], "nontorchmetagraph": 77, "normal": 143, "normalize_max_weight": 143, "notdelegateerror": 26, "note": [30, 35, 48, 66, 96, 98, 118, 133], "note_preimag": 99, "note_stal": 99, "notenoughstaketosetchildkei": [0, 26, 27, 44], "notic": 121, "notregisterederror": 26, "notverifiedexcept": 26, "now": [0, 1, 77, 80, 93, 99], "np": [34, 43, 65, 67, 94, 143], "null": [0, 11, 12, 80], "null_entri": 95, "num": 130, "num_neuron": 143, "num_proc": 136, "num_process": [0, 33, 64, 80, 134, 136], "num_uid": [10, 77], "number": [0, 1, 2, 13, 15, 18, 22, 23, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 93, 95, 96, 110, 118, 121, 130, 131, 134, 136, 137, 143], "numer": 1, "numpi": [0, 28, 31, 45, 49, 75, 77, 80, 94, 136, 137, 143], "numpyortorch": 77, "numuid": 10, "o": 0, "obj": [93, 104], "object": [0, 1, 2, 6, 8, 9, 10, 12, 16, 17, 21, 22, 25, 32, 33, 34, 35, 36, 40, 41, 42, 43, 64, 65, 66, 67, 68, 72, 73, 74, 75, 77, 79, 80, 85, 93, 94, 95, 97, 104, 110, 121, 128, 131], "obtain": 16, "occur": [0, 1, 25, 80], "off": [25, 128, 131], "offer": [0, 1, 25, 80], "offlin": [1, 77], "often": 77, "old": [0, 15, 80, 85, 110], "old_bal": 36, "old_coldkei": [15, 99], "old_count": 99, "older": 129, "oldest_round": 99, "omit": 124, "on_error": 0, "onc": [0, 80], "one": [0, 1, 24, 25, 32, 35, 50, 66, 77, 80, 94, 95, 97, 103, 124], "ongo": 1, "onli": [0, 1, 25, 77, 79, 80, 85, 93, 94, 96, 110, 118, 128], "op": [0, 80], "open": 25, "opentensor": 78, "oper": [0, 1, 16, 18, 25, 26, 27, 41, 44, 73, 77, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 93, 98, 103, 106, 107, 108, 109, 111, 112, 113, 114, 115, 117, 121, 136, 143], "optim": 93, "option": [0, 1, 10, 11, 12, 15, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 93, 94, 95, 96, 97, 103, 105, 110, 118, 120, 121, 124, 128, 131, 133, 136, 138, 141, 143], "order": [93, 97], "org": [0, 78, 80], "origin": [1, 32, 80, 93, 124], "origin_coldkey_ss58": [0, 80], "origin_hotkei": [0, 32, 50, 80, 99], "origin_hotkey_ss58": [0, 54, 80], "origin_netuid": [0, 32, 50, 54, 80, 99], "origin_pool": 54, "origin_pric": [0, 80], "origin_subnet_pric": [0, 80], "other": [0, 1, 11, 24, 25, 77, 80, 85, 93, 95, 110, 125], "other_signatori": 99, "otherwis": [0, 25, 31, 32, 33, 35, 38, 41, 42, 43, 46, 49, 50, 64, 66, 70, 73, 74, 80, 93, 95, 131], "our": 95, "out": 1, "outcom": 93, "outlin": 77, "output": [1, 33, 64, 136], "output_in_plac": [0, 33, 64, 80, 134, 136], "over": [0, 4, 5, 25, 77, 93, 136], "overal": [0, 80], "overflow": 26, "overhead": 77, "overload": 93, "overrid": [1, 93, 97, 124, 131], "overridden": [93, 136], "overview": [0, 80], "overwritten": [98, 99, 101], "own": [0, 26, 27, 44, 77, 80, 93], "owner": [0, 4, 5, 41, 50, 73, 80, 103], "owner_coldkei": [6, 10, 77], "owner_hotkei": [6, 10, 77], "owner_ss58": [4, 5, 20], "ownercoldkei": 10, "ownerhotkei": [0, 10, 80], "ownership": [0, 50, 80], "pack": 136, "packag": [93, 105, 128, 138, 142], "page": [99, 144], "pair": [0, 17, 50, 80, 93, 94, 97, 131], "pallet": [98, 99, 101, 104, 141, 144], "paper": 77, "param": [0, 25, 47, 80, 121, 129, 131, 141, 143, 144], "param_nam": [0, 24, 80], "paramet": [0, 1, 2, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 103, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 122, 124, 127, 128, 129, 130, 131, 132, 133, 134, 136, 137, 138, 141, 142, 143], "parameter_dict": [2, 9], "parameterdict": [2, 9], "params_dict": 0, "params_encod": 141, "params_list": 0, "paramwithtyp": [0, 80, 97], "parent": [0, 26, 27, 44, 79, 80], "parentkei": [0, 80], "pars": [1, 16, 25, 26, 79, 93, 94, 96, 104, 118], "parse_headers_to_input": 93, "parser": [1, 24, 85, 95, 97, 110, 128], "part": [0, 1, 6, 77, 80, 93], "parti": 128, "partial": [0, 32, 36, 41, 50, 68, 73, 80], "partial_meta_info": [0, 80], "particip": [0, 1, 36, 68, 77, 80], "particular": [0, 4, 74, 80], "particularli": [0, 77, 80, 93], "pass": [0, 1, 25, 30, 31, 34, 41, 43, 48, 49, 65, 67, 73, 75, 79, 80, 95, 96, 110, 118, 131, 143], "password": [0, 27, 44, 80, 131], "passworderror": [0, 27, 44, 80, 131], "past": [0, 77], "path": [1, 77], "pattern": 0, "payload": [1, 93, 138], "peer": 77, "penalti": [0, 80], "pend": [0, 80, 95], "pending_alpha_emiss": [6, 10], "pending_root_emiss": [6, 10], "pendingalphaemiss": 10, "pendingchildkei": [0, 80], "pendingrootemiss": 10, "per": [0, 1, 4, 5, 18, 33, 64, 77, 80, 134, 136, 137], "perceiv": 80, "percentag": [0, 4, 5, 6, 36, 39, 41, 68, 71, 73, 80], "perform": [0, 1, 25, 77, 80, 93, 121, 128], "period": [0, 18, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 99, 103], "permit": [0, 11, 12, 26, 77, 80], "persist": 77, "person": [96, 118], "pickl": [77, 96, 118], "piec": 25, "ping": 25, "pipaddress": 78, "pipelin": 1, "pivot": [1, 77, 93], "place": [0, 1, 15, 25, 77, 80, 105, 134, 136], "placehold": [35, 66, 125], "placeholder1": [2, 35, 57, 66, 97, 99], "placeholder2": [2, 35, 57, 66, 97, 99], "plai": [1, 77, 93], "plan": [0, 80], "point": [0, 77, 80, 121], "poke_deposit": 99, "pool": [0, 1, 6, 10, 30, 48, 58, 62, 77, 80], "popul": [0, 11, 80], "port": [1, 2, 13, 35, 57, 66, 93, 97, 99, 133], "portal": [33, 64], "portion": 16, "posit": [0, 1, 30, 38, 48, 70, 79, 80, 93, 94, 132], "position_id": [0, 30, 48, 53, 80, 99], "possibl": 97, "post": 25, "postprocess": 1, "postprocessexcept": 26, "potenti": [0, 1, 31, 38, 42, 43, 46, 49, 70, 74, 77, 80], "pow": [26, 33, 64, 121, 134, 135, 137, 144], "pow_registration_allow": 10, "power": [96, 118], "powregistrationallow": 10, "powsolut": [134, 136], "practic": [77, 98], "pre": 98, "preced": 97, "precis": 132, "precompile_id": 101, "predefin": 1, "prefix": [1, 93, 95, 97, 99, 128], "preimag": 100, "prepar": [0, 80, 128, 138], "prepare_synaps": 138, "prepare_synapse_fn": 138, "prepend": 97, "preprocess": [1, 25], "preprocess_synapse_for_request": 25, "presenc": [0, 1, 80], "present": [0, 10, 80, 93], "preserv": 93, "presum": [0, 80, 85, 110], "prevent": [0, 1, 25, 80, 136], "previou": [1, 74, 77], "previous": [0, 80], "price": [0, 6, 30, 32, 36, 41, 48, 50, 68, 73, 80, 132], "price_high": [0, 30, 48, 53, 80, 132], "price_low": [0, 30, 48, 53, 80, 132], "price_step": 132, "price_to_tick": 132, "primari": [33, 64, 93, 105, 128], "primarili": [77, 98], "prime": 99, "principl": 77, "print": [0, 1, 24, 25, 80, 85, 93, 97, 110, 134, 136], "prior": [36, 93], "priorit": 1, "prioriti": [1, 26, 95, 99], "prioritize_my_synaps": 1, "prioritize_my_synapse_2": 1, "priority_custom": 1, "priority_fn": 1, "priorityexcept": 26, "prioritythreadpoolexecutor": [24, 95], "privat": 1, "privileg": [0, 80], "problem": [0, 136, 137], "proc_num": 136, "proce": 1, "process": [0, 1, 10, 16, 18, 22, 25, 30, 33, 36, 37, 48, 64, 68, 69, 77, 79, 80, 93, 94, 96, 110, 118, 128, 134, 136, 138, 142, 143], "process_error_messag": 25, "process_nest": 10, "process_respons": 138, "process_responses_fn": 138, "process_server_respons": 25, "process_stake_data": 22, "process_streaming_respons": 79, "process_tim": 93, "process_weight": 143, "process_weights_for_netuid": 143, "processing_dur": 93, "processor": 1, "produc": 93, "program": 1, "progress": [0, 80, 134, 136], "prohibit": [0, 1, 80], "project": [105, 124, 126, 129], "prolifer": [0, 80], "prometheu": [11, 12, 13, 97], "prometheus_info": [7, 11, 12, 144], "prometheusinfo": [11, 12, 13], "prometheusservecallparam": 97, "promptli": 1, "proof": [0, 33, 64, 80, 134, 136, 137], "propag": 77, "proper": [25, 43, 46, 77, 93], "properli": [1, 25], "properti": [0, 2, 25, 77, 80, 85, 93, 95, 103, 110, 121], "proport": [0, 26, 27, 44, 77, 80], "proportionoverflow": [0, 26, 27, 44], "propos": [0, 14, 80, 99], "proposal_dict": 14, "proposal_hash": [0, 80, 99], "proposal_vote_data": [7, 144], "proposal_weight_bound": 99, "proposalvotedata": [0, 14, 80], "protect": [0, 32, 50, 77, 80], "protocol": [1, 2, 9, 35, 57, 66, 93, 97, 99], "provid": [0, 1, 7, 10, 11, 16, 22, 25, 27, 28, 31, 33, 38, 43, 44, 45, 46, 49, 61, 64, 70, 74, 75, 77, 79, 80, 85, 93, 96, 97, 98, 110, 118, 121, 125, 126, 128, 131, 132, 134, 136, 137, 139, 141, 143], "provis": 132, "proxi": [99, 100, 136], "proxy_announc": 99, "proxy_typ": 99, "prune": [11, 12], "pruning_scor": [10, 11, 12, 21, 77], "pruningscor": 10, "public": [0, 1, 40, 72, 77, 80], "publish": [0, 35, 66, 80, 128], "publish_metadata": [0, 35, 66, 80], "pulses_payload": 99, "punit": [0, 80], "purpos": 0, "put": 136, "pydant": [79, 93, 94], "pydantic_cor": [79, 93, 94], "pypi": [78, 142], "python": [96, 118], "pytorch": [77, 143], "pyvalueerror": [96, 118], "qualiti": 0, "quantil": 143, "queri": [0, 23, 25, 26, 66, 77, 80, 85, 93, 110, 138, 144], "query_api": 138, "query_const": [0, 80, 88, 113], "query_ident": [0, 80, 87, 112], "query_map": [0, 80, 88, 113], "query_map_subtensor": [0, 80, 88, 113], "query_modul": [0, 80, 88, 113], "query_respons": [0, 80], "query_runtime_api": [0, 80, 88, 113], "query_subtensor": [0, 80, 88, 113], "querymapresult": [22, 80], "queue": [1, 95, 128, 136], "queuehandl": 128, "queuelisten": 128, "quick": [0, 80, 93], "quicker": 77, "quicknet": [96, 118], "quot": 132, "r": 77, "rais": [0, 1, 2, 22, 24, 25, 26, 27, 31, 35, 36, 38, 39, 42, 44, 49, 66, 68, 70, 71, 74, 75, 77, 79, 80, 93, 94, 95, 96, 118, 131, 133, 134, 136, 142], "raise_error": [0, 27, 31, 38, 39, 42, 44, 49, 70, 71, 74, 75, 80, 103, 131], "randomli": [0, 31, 49, 75, 80], "rang": [0, 1, 30, 48, 80, 132, 133], "rank": [0, 1, 10, 11, 12, 21, 77, 80], "rao": [0, 22, 42, 74, 80, 121], "rao_recycl": 101, "rao_symbol": 78, "rao_unit": 121, "raopertao": 131, "rate": [0, 11, 18, 26, 27, 44, 77, 80, 99], "rate_limit": 101, "rate_toler": [0, 32, 36, 41, 50, 54, 58, 62, 68, 73, 80], "rather": [0, 25, 27, 31, 38, 42, 44, 49, 70, 74, 75, 80, 93], "ratio": [0, 32, 38, 41, 50, 70, 73, 80], "raw": [93, 94, 141], "raw0": [35, 66], "re": [0, 80, 93], "reach": [0, 26, 80, 96, 103, 118], "read": 93, "read_onli": 78, "readabl": [1, 130, 131], "readi": [1, 79], "real": [0, 80, 99], "realli": 1, "realloc": [0, 80], "reap": [0, 80], "receiv": [0, 1, 6, 25, 77, 80, 93], "received_head": 93, "receiver_hotkei": 1, "recent": [0, 80, 129], "recipi": [40, 72], "reclaim": 95, "recogn": 80, "recommend": [25, 93], "recomput": 1, "reconstitut": 77, "reconstruct": [1, 93], "record": [0, 30, 48, 77, 80, 124], "record_log": 128, "recreate_calls_subpackag": [98, 99, 101], "recurs": 93, "recycl": [0, 33, 64, 80, 90, 115], "recycle_alpha": 99, "recycle_or_burn": 101, "redeploi": 1, "reduc": [0, 77, 80], "refer": [0, 77, 80, 98, 99, 101, 145], "reflect": [0, 77, 80], "refund": 99, "refus": 0, "regardless": [40, 72], "regener": [98, 99, 101], "regist": [0, 1, 4, 5, 26, 27, 33, 34, 44, 55, 64, 65, 80, 84, 99, 109, 115, 128, 134, 136], "register_cuda": [135, 144], "register_extrins": [33, 64], "register_leased_network": 99, "register_network": [55, 99], "register_network_with_ident": 99, "register_neuron": 104, "register_primary_logg": 128, "register_subnet": [0, 80, 84, 90, 104, 109, 115], "register_subnet_extrins": [33, 64], "registerneuron": 104, "registersubnet": 104, "registr": [0, 1, 2, 4, 5, 9, 18, 25, 26, 28, 29, 45, 47, 52, 77, 80, 94, 131, 143, 144], "registration_allow": [10, 18, 101], "registrationallow": 10, "registrationerror": 26, "registrationnotpermittedonrootsubnet": [0, 26, 27, 44], "registrationparam": 55, "registrationstatist": 136, "registrationstatisticslogg": 136, "registri": [7, 100], "reject": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80], "reject_announc": 99, "rel": [38, 70], "relat": [0, 11, 13, 16, 26, 33, 64, 80], "relationship": [0, 77, 80], "releas": [1, 25, 77], "release_deposit": 99, "relev": [0, 1, 2, 27, 31, 38, 42, 44, 49, 70, 74, 75, 80], "reli": [1, 98], "reliabl": [1, 77, 93], "relianc": 1, "reload": 77, "remain": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80], "remark": 99, "remark_with_ev": 99, "remov": [0, 1, 30, 41, 48, 73, 80, 99, 128], "remove_announc": 99, "remove_kei": 99, "remove_liquid": [0, 53, 80, 84, 99, 109], "remove_liquidity_extrins": [30, 48], "remove_memb": 99, "remove_proxi": 99, "remove_stak": [62, 99], "remove_stake_full_limit": [62, 99], "remove_stake_limit": [62, 99], "replac": 124, "replai": 1, "replic": 93, "report_equivoc": 99, "report_equivocation_unsign": 99, "repositori": [0, 33, 64, 80], "repr": 131, "repres": [0, 1, 2, 4, 6, 9, 11, 12, 13, 15, 16, 17, 18, 23, 25, 35, 42, 66, 74, 77, 80, 93, 94, 95, 98, 99, 101, 121], "represent": [0, 1, 2, 25, 35, 66, 77, 93, 97, 121, 133, 141, 143], "reput": 77, "request": [0, 1, 25, 26, 27, 35, 44, 66, 80, 85, 93, 110, 142], "request_nam": 25, "request_preimag": 99, "requestresponseendpoint": 1, "requir": [0, 1, 26, 35, 43, 46, 66, 77, 79, 80, 93], "required_hash_field": 93, "reserv": 2, "reset": [0, 18, 35, 66, 80, 137], "reset_bond": [35, 66], "reset_cuda": 137, "reset_memb": 99, "resourc": [0, 1, 25, 77, 80, 95, 98], "respect": [16, 77], "respond": 1, "respons": [0, 1, 25, 26, 33, 34, 35, 36, 40, 64, 65, 66, 67, 68, 72, 77, 79, 85, 93, 103, 110, 131, 138], "response_overrid": 1, "restart": 77, "restor": 77, "restrict": [0, 80], "result": [0, 1, 16, 28, 45, 75, 80, 93, 124, 131, 138, 141], "retent": [61, 131], "retri": [0, 80, 85, 99, 110], "retriev": [0, 1, 74, 77, 79, 80, 142], "retry_forev": [0, 80, 85, 110], "return": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 17, 22, 23, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 85, 93, 94, 95, 96, 97, 103, 104, 110, 118, 120, 121, 124, 125, 128, 131, 132, 133, 134, 136, 137, 138, 141, 142, 143], "return_per_1000": [4, 5], "return_str": [96, 118], "reus": [0, 1, 25, 80], "reuse_block": [0, 35, 80], "reveal": [0, 18, 22, 23, 28, 31, 43, 45, 46, 49, 75, 80, 96, 118], "reveal_mechanism_weight": [63, 99], "reveal_mechanism_weights_extrins": [31, 49], "reveal_round": [0, 23, 63, 80, 96, 99, 118], "reveal_weight": [0, 80, 84, 99, 109], "reveal_weights_extrins": [43, 46, 75], "revel": [0, 80, 96, 118], "revers": 131, "reverse_network_map": 78, "reward": [0, 39, 71, 77, 80], "rfc": 124, "rho": [10, 18, 20, 101], "robust": 93, "role": [0, 1, 77, 80, 93], "root": [0, 26, 27, 29, 44, 47, 52, 77, 80, 85, 91, 93, 110, 116, 125, 143, 144], "root_dir": 77, "root_dissolve_network": 99, "root_regist": [0, 56, 57, 80, 84, 99, 109], "root_register_extrins": [34, 65], "root_set_pending_childkey_cooldown": [0, 80, 84, 109], "root_set_pending_childkey_cooldown_extrins": [27, 44], "root_set_weight": [0, 80, 84], "root_tao_stake_weight": 78, "rootparam": 56, "round": [0, 23, 80, 96, 118], "round_numb": 23, "rounds_tot": 136, "rout": 93, "router": [1, 133], "row": [77, 143], "row_bond": 143, "row_weight": 143, "rpc": [0, 7, 80], "rule": [0, 1, 80], "run": [0, 1, 80, 93, 95, 98, 99, 101, 131, 134, 136], "run_async": 25, "run_in_thread": 1, "runexcept": 26, "runtim": [0, 1, 77, 80], "runtime_api": [0, 80], "runtime_config": 141, "runtimeconfigurationobject": 141, "runtimeerror": 77, "s0": 124, "s39": 124, "safe": [0, 25, 58, 80, 93, 95, 136], "safe_glob": 77, "safe_stak": [0, 32, 36, 41, 50, 68, 73, 80], "safemod": 100, "safeti": [0, 32, 36, 41, 50, 68, 73, 80], "salt": [0, 31, 43, 46, 49, 63, 75, 80, 97, 99, 143], "salts_list": 99, "same": [0, 1, 24, 27, 44, 50, 80, 93, 96, 118, 134, 136], "sanit": 93, "save": [77, 98, 124, 142], "scalabl": [0, 1, 80], "scale": [0, 7, 22, 80], "scale_typ": 141, "scalebyt": [22, 141], "scalecodec": [0, 22, 42, 74, 80, 121, 141], "scaleobj": [0, 80], "scaletyp": [121, 141], "scaling_law_pow": 20, "scenario": [1, 25, 98, 99, 101], "schedul": [15, 95, 99, 100], "schedule_aft": 99, "schedule_grandpa_chang": 99, "schedule_nam": 99, "schedule_named_aft": 99, "schedule_swap_coldkei": 99, "scheduled_coldkey_swap_info": [7, 144], "scheduledcoldkeyswapinfo": [15, 22], "schema": 93, "score": [11, 12, 77], "seal": [136, 137], "seamless": [1, 129], "seamlessli": 1, "search": 74, "second": [0, 6, 25, 27, 28, 31, 33, 44, 45, 49, 64, 75, 80, 85, 96, 110, 118, 120, 138, 142], "secur": [0, 1, 77, 80, 93], "see": [0, 24, 26, 80, 94, 95, 97, 121, 131, 133, 142], "seen": [1, 93], "select": [0, 80], "selective_metagraph_commitments_offset": 10, "selectivemetagraphindex": [0, 10, 80], "self": [0, 1, 24, 25, 26, 79, 93, 94, 95, 97, 121, 131, 133, 142], "senat": [0, 14, 80], "senatememb": 100, "send": [25, 33, 64, 77, 79, 93], "sender": 1, "sensit": [0, 77, 80, 93], "sent": [1, 25, 79, 93], "separ": [1, 93, 105, 128], "sequenti": 25, "serial": [1, 23, 77, 93, 94], "serialized_data": 93, "serv": [0, 1, 2, 29, 47, 52, 77, 80, 93, 97, 98, 144], "serve_axon": [0, 80, 84, 99, 109], "serve_axon_and_tl": 57, "serve_axon_extrins": [35, 66], "serve_axon_tl": 99, "serve_extrins": [35, 66], "serve_prometheu": 99, "server": [1, 25, 26, 33, 64, 79], "server_respons": 25, "servic": [1, 18, 35, 66], "serving_rate_limit": [10, 18, 101], "servingparam": 57, "servingratelimit": 10, "session": [25, 77], "set": [0, 1, 2, 16, 24, 25, 26, 27, 31, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 49, 64, 65, 66, 67, 68, 70, 71, 72, 73, 75, 76, 77, 80, 93, 96, 97, 99, 103, 118, 121, 127, 128, 129, 136, 143, 144], "set_auto_stak": 114, "set_auto_stake_extrins": 58, "set_base_fee_per_ga": 99, "set_beacon_config": 99, "set_childkey_tak": 99, "set_children": [0, 51, 80, 84, 99, 109, 117], "set_children_extrins": [27, 44], "set_cod": 99, "set_code_without_check": 99, "set_coldkey_auto_stake_hotkei": [58, 99], "set_commit": [0, 57, 80, 82, 99, 107, 109], "set_config": 128, "set_consol": 128, "set_debug": 128, "set_default": 128, "set_delegate_tak": [0, 80, 83, 108], "set_elast": 99, "set_fee_r": 99, "set_heap_pag": 99, "set_hyperparamet": 103, "set_ident": 99, "set_info": 128, "set_kei": 99, "set_max_spac": 99, "set_mechanism_weight": [63, 99], "set_mechanism_weights_extrins": [31, 49], "set_memb": 99, "set_name_typ": 93, "set_oldest_stored_round": 99, "set_pending_childkey_cooldown": [51, 99], "set_prim": 99, "set_retri": 99, "set_retry_nam": 99, "set_reveal_commit": [0, 80, 82, 107], "set_root_weights_extrins": [34, 65], "set_storag": 99, "set_subnet_ident": [0, 55, 80, 84, 90, 99, 109, 115], "set_subnet_identity_extrins": [33, 64], "set_trac": [124, 128], "set_unit": 121, "set_warn": 128, "set_weight": [0, 47, 80, 84, 99, 109, 144], "set_weights_extrins": [43, 67, 75], "set_whitelist": 99, "setlevel": 128, "setup": [0, 1, 80], "setup_config": [85, 97, 110], "sever": [1, 95, 139], "sgvsbg8gv29ybgq": 93, "sha256": [35, 66], "sha3": 93, "shape": 94, "share": [0, 38, 70, 77, 121, 136], "shorter": [38, 70], "should": [0, 1, 25, 33, 35, 64, 66, 77, 79, 80, 93, 94, 134, 136], "should_exit": 1, "should_sync": 77, "show": [98, 131], "shut": 1, "shutdown": [1, 95, 110], "side": 1, "sign": [0, 1, 25, 30, 33, 37, 39, 42, 48, 64, 69, 71, 74, 77, 80], "sign_and_send_extrins": [0, 80, 85, 110], "sign_with": [0, 42, 74, 80], "signal": [1, 25], "signatur": [1, 24, 26, 79, 93, 94, 95, 97, 99, 121, 131, 133, 142], "signifi": 77, "signific": [0, 80], "significantli": 98, "silent": 25, "sim_swap": [7, 114, 144], "similar": [0, 25, 77, 80, 85, 110], "simpl": [93, 141], "simpli": 93, "simplifi": [0, 77, 80], "simswapresult": 16, "simul": [0, 16, 80], "sinc": [0, 80], "singl": [0, 25, 80, 141], "size": [77, 93], "skip": 125, "slippag": 6, "sn": [42, 74], "sn_netuid": 103, "snapshot": [0, 77, 80], "so": [93, 143], "softwar": 77, "solut": [26, 134, 136, 137], "solution_queu": 136, "solv": [0, 33, 64, 80, 134, 136, 137], "solve_cuda": 137, "solver": [26, 136], "some": [0, 18, 80, 85, 110], "some_hotkei": 80, "some_hotkey_where_is_your_stake_now": [0, 80], "someconst": 0, "someth": 1, "sort": 1, "sourc": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 43, 44, 45, 46, 48, 50, 64, 65, 66, 67, 68, 69, 71, 72, 73, 74, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 99, 120, 121, 122, 124, 125, 128, 129, 130, 131, 132, 133, 134, 136, 137, 138, 139, 141, 143], "spam": 1, "spawner": 99, "spec": [99, 100, 101], "special": [1, 77, 79, 124], "specif": [0, 1, 4, 16, 31, 43, 46, 49, 75, 77, 79, 80, 85, 93, 95, 96, 110, 118, 128, 129, 138], "specifi": [0, 1, 16, 22, 25, 30, 35, 36, 41, 48, 66, 68, 73, 74, 77, 80, 93, 124, 128, 131, 141], "specul": 77, "sphinx": 144, "split": [0, 38, 70, 80], "split_command": 104, "ss58": [0, 4, 17, 22, 23, 27, 32, 36, 39, 41, 44, 50, 61, 68, 71, 73, 74, 80, 131], "ss58_address": [0, 40, 72, 80, 131, 143], "ss58_address_length": 78, "ss58_address_to_byt": 131, "ss58_decod": 131, "ss58_format": 78, "ss58_to_vec_u8": 131, "stabil": [0, 77, 80], "stabl": 1, "stacklevel": 128, "stage": 1, "stake": [0, 4, 6, 11, 12, 17, 22, 26, 27, 29, 30, 32, 40, 41, 44, 47, 48, 50, 52, 72, 73, 74, 77, 80, 85, 110, 144], "stake_data": 22, "stake_dict": [11, 12], "stake_info": [7, 144], "stakeerror": 26, "stakeinfo": [0, 17, 22, 74, 80], "staker": 6, "stakingparam": 58, "stale": [0, 136], "standard": [0, 77, 80, 93, 97, 126], "starlett": [1, 79], "start": [0, 1, 18, 37, 69, 80, 93, 128, 136, 137], "start_cal": [0, 29, 47, 52, 80, 84, 85, 99, 109, 110, 115, 144], "start_call_extrins": [37, 69], "start_tim": 1, "startcallparam": 59, "stat": 136, "state": [0, 1, 6, 21, 25, 77, 80, 81, 93, 106, 124, 128, 141], "state_cal": [0, 80, 81, 106], "state_dict": 77, "statemachin": 128, "static": [10, 11, 12, 77, 94, 97, 121, 136], "statist": 136, "statu": [0, 1, 11, 25, 39, 71, 77, 80, 93, 128, 131, 136], "status_cod": [1, 93], "status_messag": 93, "stdout": [1, 97], "steep": 101, "step": [0, 1, 80, 103, 104], "stop": [1, 128, 136], "stopev": 136, "storag": [0, 23, 80, 131, 139, 140, 144], "storage_funct": 141, "storage_index": 131, "storagefunctionnotfound": 26, "storagekei": 141, "store": [77, 93, 121, 136, 141], "str": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 17, 19, 20, 21, 22, 23, 24, 25, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 66, 68, 69, 70, 71, 72, 73, 74, 77, 78, 80, 85, 93, 94, 95, 96, 97, 103, 110, 118, 121, 122, 124, 125, 128, 131, 132, 133, 136, 137, 141, 142, 143], "str_val": 133, "strateg": [0, 80], "stream": [25, 76, 128, 144], "stream_respons": 79, "streamer": 79, "streamingrespons": 79, "streamingsynaps": [1, 25, 79], "streamlin": [0, 80, 98], "strict": [24, 131], "string": [0, 2, 9, 12, 22, 23, 25, 31, 38, 42, 43, 46, 49, 70, 74, 77, 80, 93, 94, 96, 97, 98, 118, 121, 124, 131, 133, 141], "stronger": 77, "strtobool": 131, "struct": [96, 118], "structur": [0, 2, 7, 10, 22, 77, 79, 80, 93, 98, 105], "style": 124, "sub": [31, 49, 75, 78, 105, 126, 136], "subclass": [79, 93], "subkei": 99, "submetagraph": 131, "submiss": [0, 30, 37, 48, 69, 80], "submit": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 95], "subnet": [0, 1, 2, 4, 5, 7, 9, 18, 19, 20, 25, 26, 30, 31, 32, 33, 34, 36, 37, 38, 41, 43, 46, 48, 49, 50, 64, 65, 67, 68, 69, 70, 73, 75, 77, 80, 85, 102, 110, 121, 131, 132, 134, 136, 143, 144], "subnet_contact": [19, 33, 55, 64, 99], "subnet_emiss": 10, "subnet_exist": [0, 80, 90, 115], "subnet_hyperparamet": [7, 144], "subnet_ident": [0, 6, 7, 10, 80, 144], "subnet_info": [7, 144], "subnet_is_act": 18, "subnet_nam": [6, 19, 33, 55, 64, 99], "subnet_owner_cut": 101, "subnet_st": [7, 144], "subnet_url": [19, 33, 55, 64, 99], "subnet_volum": [6, 10], "subnetemiss": 10, "subnethyperparamet": [0, 18, 22, 80], "subnetident": [0, 6, 10, 19, 22, 77, 80], "subnetinfo": [0, 20, 22, 80], "subnetnotexist": 26, "subnetrevealperiodepoch": [0, 80], "subnetsapi": 138, "subnetst": [21, 22], "subnetvolum": 10, "subnetwork": [0, 21, 33, 64, 80], "subnetwork_n": [0, 20, 80, 90, 115], "subnetworkdoesnotexist": [0, 27, 44], "subnetworkn": [0, 80], "subscrib": [0, 26, 35, 66, 80], "subsequ": [1, 24, 25], "subset": [0, 80], "substrat": [0, 80, 85, 98, 99, 101, 110, 139, 141], "substrate_util": [131, 144], "substraterequestexcept": [0, 26, 36, 68, 80, 131], "subtensor": [0, 1, 23, 24, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 97, 98, 99, 100, 101, 103, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 129, 131, 134, 136, 143, 144], "subtensor_api": [76, 105, 144], "subtensor_field": [91, 116], "subtensorapi": [85, 91, 103, 110, 116], "subtensorinterfac": [36, 68], "subtensormixin": [0, 80, 97], "subtensormodul": [0, 80, 100], "subtoken_en": 101, "subvortex": 78, "subvortex_entrypoint": 78, "succeed": [0, 41, 73, 80, 93], "success": [0, 1, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 80, 93, 122, 128, 131], "success_level_num": 124, "successfulli": [0, 30, 31, 35, 37, 38, 42, 48, 49, 66, 69, 70, 74, 80], "sudo": [29, 42, 47, 74, 98, 99, 100, 101, 104, 144], "sudo_a": 101, "sudo_cal": [98, 103, 144], "sudo_call_extrins": [42, 74], "sudo_or_owner_wallet": 103, "sudo_set_activity_cutoff": 101, "sudo_set_adjustment_alpha": 101, "sudo_set_adjustment_interv": 101, "sudo_set_admin_freeze_window": 101, "sudo_set_admin_freeze_window_extrins": [38, 70], "sudo_set_alpha_sigmoid_steep": 101, "sudo_set_alpha_valu": 101, "sudo_set_bonds_moving_averag": 101, "sudo_set_bonds_penalti": 101, "sudo_set_bonds_reset_en": 101, "sudo_set_ck_burn": 101, "sudo_set_coldkey_swap_schedule_dur": 101, "sudo_set_commit_reveal_vers": 101, "sudo_set_commit_reveal_weights_en": 101, "sudo_set_commit_reveal_weights_interv": 101, "sudo_set_default_tak": 101, "sudo_set_difficulti": 101, "sudo_set_dissolve_network_schedule_dur": 101, "sudo_set_ema_price_halving_period": 101, "sudo_set_evm_chain_id": 101, "sudo_set_immunity_period": 101, "sudo_set_kappa": 101, "sudo_set_liquid_alpha_en": 101, "sudo_set_lock_reduction_interv": 101, "sudo_set_max_allowed_uid": 101, "sudo_set_max_allowed_valid": 101, "sudo_set_max_burn": 101, "sudo_set_max_childkey_tak": 101, "sudo_set_max_difficulti": 101, "sudo_set_max_registrations_per_block": 101, "sudo_set_max_weight_limit": 101, "sudo_set_mechanism_count": 101, "sudo_set_mechanism_count_extrins": [38, 70], "sudo_set_mechanism_emission_split": 101, "sudo_set_mechanism_emission_split_extrins": [38, 70], "sudo_set_min_allowed_uid": 101, "sudo_set_min_allowed_weight": 101, "sudo_set_min_burn": 101, "sudo_set_min_childkey_tak": 101, "sudo_set_min_delegate_tak": 101, "sudo_set_min_difficulti": 101, "sudo_set_network_immunity_period": 101, "sudo_set_network_min_lock_cost": 101, "sudo_set_network_pow_registration_allow": 101, "sudo_set_network_rate_limit": 101, "sudo_set_network_registration_allow": 101, "sudo_set_nominator_min_required_stak": 101, "sudo_set_owner_hparam_rate_limit": 101, "sudo_set_owner_immune_neuron_limit": 101, "sudo_set_rao_recycl": 101, "sudo_set_recycle_or_burn": 101, "sudo_set_rho": 101, "sudo_set_serving_rate_limit": 101, "sudo_set_sn_owner_hotkei": 101, "sudo_set_stake_threshold": 101, "sudo_set_subnet_limit": 101, "sudo_set_subnet_moving_alpha": 101, "sudo_set_subnet_owner_cut": 101, "sudo_set_subnet_owner_hotkei": 101, "sudo_set_subtoken_en": 101, "sudo_set_target_registrations_per_interv": 101, "sudo_set_tempo": 101, "sudo_set_toggle_transf": 101, "sudo_set_total_issu": 101, "sudo_set_tx_childkey_take_rate_limit": 101, "sudo_set_tx_delegate_take_rate_limit": 101, "sudo_set_tx_rate_limit": 101, "sudo_set_weights_set_rate_limit": 101, "sudo_set_weights_version_kei": 101, "sudo_set_yuma3_en": 101, "sudo_toggle_evm_precompil": 101, "sudo_trim_to_max_allowed_uid": 101, "sudo_unchecked_weight": 101, "suffici": [0, 80], "suffix": [128, 130], "suggest": 77, "suitabl": 93, "sum": [0, 27, 38, 44, 70, 77, 93, 143], "superclass": 93, "suppli": 77, "support": [0, 1, 24, 80, 121], "supress": 131, "sure": [96, 118], "swap": [0, 15, 16, 32, 50, 80, 100], "swap_author": 99, "swap_coldkei": 99, "swap_cost": 99, "swap_hotkei": 99, "swap_memb": 99, "swap_stak": [0, 54, 80, 84, 99, 109, 114], "swap_stake_extrins": [32, 50], "swap_stake_limit": [54, 99], "sy": 131, "symbol": [6, 10, 77, 99, 121], "synaps": [1, 25, 26, 76, 79, 120, 129, 138, 144], "synapse_dict": 93, "synapse_histori": 25, "synapse_nonc": 120, "synapse_timeout": 120, "synapse_to_respons": 1, "synapsedendritenoneexcept": 26, "synapseexcept": 26, "synapseparsingerror": 26, "sync": [0, 43, 45, 46, 67, 75, 77, 80, 85, 103, 110], "sync_substr": [22, 80], "synchron": [0, 25, 77, 80, 103, 136], "system": [0, 25, 77, 80, 98, 99, 100, 101, 125, 128, 129, 136], "t": [0, 1, 8, 24, 26, 27, 44, 77, 80, 128, 131], "tailor": [1, 93], "take": [0, 1, 4, 5, 15, 26, 29, 47, 52, 79, 80, 99, 101, 144], "takeerror": 26, "taken": [93, 98, 99, 101], "takeparam": 60, "tamper": [0, 1, 80, 93], "tao": [0, 4, 5, 6, 10, 16, 30, 33, 36, 41, 48, 61, 64, 68, 73, 77, 80, 121, 131, 132], "tao_amount": 16, "tao_dividends_per_hotkei": [10, 77], "tao_fe": 16, "tao_fees_above_high": 132, "tao_fees_below_low": 132, "tao_in": [6, 10], "tao_in_emiss": [6, 10], "tao_slippag": 6, "tao_stak": [10, 21, 77], "tao_symbol": 78, "tao_to_alpha": 6, "tao_to_alpha_with_slippag": 6, "taodividendsperhotkei": 10, "taoin": 10, "taoinemiss": 10, "taostak": 10, "target": [0, 18, 25, 30, 37, 48, 69, 80, 99], "target_address": 99, "target_axon": 25, "target_axon_info": 25, "target_registrations_per_interv": 101, "target_regs_per_interv": [10, 18], "targetregsperinterv": 10, "task": [0, 1, 80, 93, 99], "tcp": 9, "technic": [0, 80], "techniqu": 1, "technologi": [0, 80], "templat": [98, 99, 101, 124], "tempo": [0, 6, 10, 18, 20, 38, 70, 77, 80, 90, 101, 115], "temporarili": 1, "tensor": [2, 9, 76, 77, 93, 143, 144], "tensor_": 94, "term": [0, 80], "termin": [0, 1, 80, 93, 122], "terminal_info": 93, "terminalinfo": 93, "terminate_leas": 99, "terminate_workers_and_wait_for_exit": 136, "test": [0, 77, 78, 80, 85, 97, 98, 99, 101, 103, 110, 122, 131], "testsubnet": 103, "text": [1, 124, 136], "textual": [33, 64], "th": 77, "than": [0, 1, 25, 27, 31, 38, 42, 44, 49, 70, 74, 75, 80, 143], "thei": [0, 1, 6, 77, 80, 93, 143], "them": [0, 1, 25, 79, 80, 93, 98], "themselv": [0, 80], "therebi": [0, 1, 80], "thereof": 133, "thi": [0, 1, 2, 4, 5, 6, 7, 10, 11, 12, 16, 18, 21, 22, 23, 24, 25, 26, 28, 33, 35, 40, 43, 45, 46, 64, 66, 72, 74, 77, 79, 80, 85, 93, 95, 96, 97, 98, 99, 101, 105, 110, 118, 121, 124, 125, 126, 128, 129, 131, 132, 134, 136, 137, 138, 141, 143, 144, 145], "thin": [0, 80], "think": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 93], "third": 128, "those": [0, 24, 25, 80], "thread": [0, 1, 33, 64, 80, 95, 134, 136, 137], "thread_name_prefix": 95, "thread_pool": 1, "threadpool": [1, 76, 144], "threadpoolexecutor": 95, "threshold": [0, 14, 18, 80, 99, 143], "through": [1, 25, 74, 80, 125], "throughout": 126, "tick": [0, 30, 48, 80, 132], "tick_high": 99, "tick_index": 132, "tick_low": 99, "tick_to_pric": 132, "time": [0, 1, 77, 80, 85, 93, 95, 96, 98, 99, 101, 110, 118, 120, 124, 136], "time_averag": 136, "time_sp": 136, "time_spent_tot": 136, "timelock": [76, 105, 144], "timeout": [0, 1, 25, 33, 34, 35, 36, 40, 41, 43, 64, 65, 66, 67, 68, 72, 73, 80, 93, 120, 138, 142], "timepoint": 99, "timestamp": [0, 1, 11, 12, 77, 80, 100], "tl": [0, 35, 66, 80], "tle": [96, 118], "tmp": 77, "to_dict": 24, "to_head": 93, "to_hex": 141, "to_parameter_dict": [2, 9], "to_str": [1, 2], "to_token_amount": 132, "todo": 77, "togeth": 98, "toggl": [0, 30, 48, 80, 101], "toggle_user_liquid": [0, 53, 80, 84, 99, 109], "toggle_user_liquidity_extrins": [30, 48], "token": [0, 16, 41, 73, 77, 79, 80, 132], "token_stream": 79, "toler": [0, 32, 36, 41, 50, 68, 73, 80], "tolist": 94, "too": [0, 26, 27, 44, 80, 85, 110], "tool": [0, 80, 93, 105], "toomanychildren": [0, 26, 27, 44], "toon_kei": 0, "top": 141, "topologi": [0, 1, 80], "torch": [2, 9, 25, 28, 43, 45, 67, 77, 94, 131, 136, 143], "torchmetagraph": 77, "total": [0, 4, 5, 11, 12, 77, 80, 93, 136], "total_bit": 121, "total_daily_return": [4, 5], "total_issu": 101, "total_s": 93, "total_stak": [4, 10, 11, 12, 21, 77], "totalstak": 10, "toward": 77, "tpb": [0, 33, 64, 80, 134, 136, 137], "trace": [1, 124, 127, 128, 129], "trace_level_num": 124, "trace_log_format": 123, "track": [0, 77, 80, 93], "transact": [0, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 93, 99], "transactor": [0, 26, 80], "transfer": [0, 18, 26, 29, 32, 47, 50, 52, 80, 84, 109, 117, 131, 144], "transfer_al": [0, 40, 61, 72, 80, 99], "transfer_allow_death": [61, 99], "transfer_extrins": [40, 72], "transfer_keep_al": [61, 99], "transfer_stak": [0, 54, 80, 84, 99, 109, 114], "transfer_stake_extrins": [32, 50], "transfererror": 26, "transferparam": 61, "transfers_en": 18, "transform": [10, 93], "transit": [1, 128], "transmiss": [1, 93], "transmit": [25, 93], "transpar": [0, 80, 93], "transport": 93, "travers": 93, "tree": 141, "trigger": [0, 1, 35, 37, 66, 69, 80], "triumvir": 100, "triumviratememb": 100, "true": [0, 1, 2, 6, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 48, 49, 50, 61, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 91, 93, 95, 96, 97, 103, 110, 116, 118, 124, 127, 128, 129, 131, 134, 136], "trust": [0, 1, 10, 11, 12, 21, 77, 80], "trustworthi": [0, 1, 77, 80], "truth": 131, "try": [26, 136], "try_associate_hotkei": 99, "tupl": [0, 1, 6, 10, 11, 22, 23, 25, 27, 28, 30, 31, 33, 35, 37, 38, 39, 41, 42, 43, 44, 45, 46, 48, 49, 51, 61, 64, 66, 69, 70, 71, 73, 74, 77, 80, 93, 95, 96, 97, 99, 101, 103, 118, 120, 128, 131, 132, 137, 143], "tv": 77, "two": [94, 97, 121], "two_x64_concat": 139, "tx_rate_limit": [0, 80, 81, 85, 101, 106, 110], "txratelimitexceed": [0, 26, 27, 44], "type": [0, 1, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 93, 94, 95, 96, 98, 99, 101, 103, 118, 120, 121, 124, 125, 128, 129, 131, 132, 133, 134, 136, 137, 138, 141, 142, 143, 144], "type_nam": 22, "type_registri": 78, "type_str": 22, "typeddict": [97, 121], "typeerror": [2, 22, 96, 118], "typic": [0, 1, 77, 79, 80, 93], "u128": 121, "u16_max": [131, 143], "u16_normalized_float": 131, "u32": 143, "u32_max": 143, "u64": [0, 131], "u64_max": 131, "u64_normalized_float": 131, "u64f64": 121, "udp": 9, "uid": [0, 11, 12, 28, 30, 31, 32, 35, 36, 37, 41, 43, 45, 46, 48, 49, 50, 63, 66, 67, 68, 69, 73, 75, 77, 80, 97, 99, 121, 143], "uids_list": 99, "uint64": [0, 27, 43, 44, 67, 143], "unabl": [0, 26], "unauthor": [1, 93], "unavail": [0, 80], "unchang": 133, "under": 0, "underli": [0, 1, 25, 77, 80, 128], "understand": [0, 77, 80, 98], "undesir": 1, "unifi": 25, "union": [0, 2, 6, 9, 10, 22, 25, 28, 31, 33, 34, 35, 43, 45, 49, 50, 61, 64, 65, 66, 67, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 94, 96, 103, 106, 107, 108, 109, 111, 112, 113, 114, 115, 117, 118, 121, 131, 134, 136, 137, 138, 143], "uniqu": [0, 1, 11, 12, 25, 31, 33, 36, 38, 41, 43, 46, 49, 64, 68, 70, 73, 74, 75, 77, 80, 93, 133, 143], "uniswap": 132, "unit": [0, 1, 16, 77, 80, 121], "unknownsynapseerror": 26, "unless": 25, "unlock": [0, 30, 37, 48, 69, 80, 131], "unlock_kei": 131, "unlock_typ": 131, "unlockstatu": 131, "unmet": 1, "unnote_preimag": 99, "unpickl": 77, "unpicklingerror": 77, "unrequest_preimag": 99, "unsaf": [0, 80], "unstak": [0, 6, 26, 29, 36, 47, 52, 68, 80, 84, 89, 109, 114, 144], "unstake_al": [0, 41, 73, 80, 84, 89, 99, 109, 114], "unstake_all_alpha": 99, "unstake_all_extrins": [41, 73], "unstake_extrins": [41, 73], "unstake_multipl": [0, 80, 84, 89, 109, 114], "unstake_multiple_extrins": [41, 73], "unstakeerror": 26, "unstakingparam": 62, "unsuccess": [0, 27, 31, 38, 42, 44, 49, 70, 74, 75, 80, 131], "until": [0, 80, 95, 103], "up": [0, 1, 25, 77, 80, 95, 97, 128, 129, 142], "updat": [0, 1, 11, 12, 25, 26, 33, 64, 77, 79, 80, 136, 137], "update_cap": 99, "update_curr_block": 136, "update_end": 99, "update_interv": [0, 33, 64, 80, 134, 136, 137], "update_min_contribut": 99, "update_symbol": 99, "upgrade_account": 99, "upon": [0, 25, 77, 80], "upper": [0, 30, 48, 80, 137], "urgenc": 1, "url": [0, 1, 3, 25, 26, 33, 64, 80, 97, 99, 131, 133], "urllib": 133, "us": [0, 1, 2, 6, 16, 18, 22, 23, 25, 28, 30, 31, 33, 35, 36, 37, 40, 41, 42, 43, 45, 46, 48, 49, 64, 66, 68, 69, 72, 73, 74, 75, 77, 79, 80, 85, 93, 94, 95, 96, 97, 98, 99, 101, 105, 110, 118, 121, 124, 131, 134, 136, 137, 138, 139, 141, 142, 143], "usag": [0, 1, 25, 80, 93, 96, 118], "use_nonc": [0, 42, 74, 80], "use_torch": [2, 131, 136], "user": [0, 1, 18, 25, 30, 43, 46, 48, 77, 80, 93, 129, 143], "user_bittensor_dir": 78, "user_liquidity_en": 18, "using_new_loop": 25, "usingspawnstartmethod": 136, "usual": 26, "utf": [93, 131], "util": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 16, 17, 20, 21, 25, 28, 29, 30, 32, 35, 36, 40, 41, 45, 47, 48, 50, 53, 54, 57, 58, 61, 62, 66, 68, 72, 73, 77, 80, 85, 94, 97, 100, 102, 103, 110, 119, 144], "uuid": [1, 25, 93], "uvicorn": 1, "v": [94, 97], "v10": 0, "v2": 0, "v3": 132, "v_7_2_0": 1, "val": 131, "valid": [0, 1, 4, 5, 10, 11, 12, 18, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 94, 124, 131, 136, 143], "validate_chain_endpoint": 131, "validate_extrinsic_param": 109, "validationerror": [79, 93, 94], "validator_permit": [4, 5, 10, 11, 12, 21, 77], "validator_trust": [11, 12, 77], "validatorpermit": 10, "valu": [0, 1, 2, 10, 11, 12, 16, 18, 22, 24, 27, 31, 34, 38, 42, 43, 44, 46, 49, 61, 65, 67, 70, 74, 75, 77, 80, 93, 94, 97, 98, 99, 120, 131, 132, 136, 141, 143], "valuabl": [0, 77, 80, 93], "value_scale_typ": 141, "valueerror": [0, 2, 131, 134, 136], "values_list": 99, "variabl": [0, 1, 2, 4, 9, 11, 12, 13, 15, 16, 17, 18, 23, 77, 79, 93, 121], "variou": [0, 1, 77, 80], "vec_u8": 15, "vector": [0, 22, 80], "verbos": [0, 80, 85, 110, 134, 136], "verif": [1, 93], "verifi": [0, 1, 26, 80, 93], "verify_body_integr": 1, "verify_custom": 1, "verify_fn": 1, "verify_my_synaps": 1, "verify_my_synapse_2": 1, "versatil": [0, 80], "version": [0, 2, 5, 11, 13, 18, 28, 31, 34, 43, 45, 46, 49, 65, 67, 75, 77, 80, 85, 93, 97, 99, 100, 101, 110, 124, 129, 131, 133, 143, 144], "version_as_int": [0, 28, 31, 45, 49, 75, 78, 80], "version_check": [131, 142], "version_check_threshold": 142, "version_kei": [0, 28, 31, 34, 43, 45, 46, 49, 63, 65, 67, 75, 80, 99, 143], "version_split": 78, "versioncheckerror": [131, 142], "via": [1, 94, 97], "viabil": [0, 80], "view": [0, 80], "vital": [1, 77, 93], "vote": [0, 80, 99], "w": [77, 78, 133], "w_": 77, "wa": [0, 1, 6, 24, 32, 33, 34, 35, 36, 40, 50, 64, 65, 66, 67, 68, 72, 77, 80, 93], "wai": [0, 16, 25, 80, 93, 97, 121], "wait": [0, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 85, 95, 96, 103, 110, 118], "wait_for_block": [0, 80, 85, 110], "wait_for_fin": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 103], "wait_for_inclus": [0, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 103], "wait_next_epoch": 103, "wait_reveal_and_decrypt": [96, 118], "wallet": [0, 1, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 85, 93, 98, 99, 101, 103, 104, 110, 121, 129, 131, 134, 136, 138, 143, 144], "wallet_stak": [0, 80], "wallets_dir": 78, "want": [0, 77, 124], "warn": [122, 127, 128, 129, 131], "we": [33, 34, 35, 36, 40, 64, 65, 66, 67, 68, 72, 133], "web": [33, 64], "websocket": [80, 97, 131, 133], "websocket_shutdown_tim": [0, 85, 110], "weight": [0, 11, 12, 18, 23, 28, 29, 31, 34, 38, 45, 46, 47, 49, 52, 65, 67, 70, 77, 80, 90, 97, 99, 101, 115, 143, 144], "weight_commit_info": [7, 144], "weight_uid": 143, "weight_util": [131, 144], "weight_val": 143, "weightcommitinfo": 23, "weights_as_dict": 11, "weights_rate_limit": [0, 10, 18, 80, 90, 115], "weights_set_rate_limit": 101, "weights_vers": [10, 18], "weights_version_kei": 101, "weightsparam": 63, "weightsratelimit": 10, "weightssetratelimit": [0, 80], "weightsvers": 10, "well": [77, 98, 121], "were": [0, 80], "when": [0, 1, 2, 23, 24, 25, 26, 30, 32, 41, 43, 46, 48, 50, 73, 77, 80, 93, 95, 96, 99, 118, 128, 134, 136], "where": [0, 1, 6, 11, 22, 23, 25, 27, 28, 33, 44, 45, 64, 77, 80, 85, 110, 121], "whether": [0, 1, 12, 22, 25, 28, 30, 31, 33, 37, 38, 40, 42, 45, 48, 49, 61, 64, 69, 70, 72, 74, 75, 77, 80, 85, 110, 131, 138], "which": [0, 1, 5, 15, 18, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 97, 131], "while": [0, 1, 50, 77, 80, 105, 121, 132, 136], "who": [0, 80, 93, 99, 101], "whole": [0, 2, 80], "whose": [0, 80], "wide": [0, 77, 80], "window": [0, 38, 70, 80, 101, 120], "with_weight": 99, "withdraw": [0, 80, 99], "withdrawn": [0, 80], "within": [0, 1, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 93, 98, 136, 138], "without": [0, 1, 12, 25, 41, 73, 80, 93, 98, 122], "work": [0, 7, 25, 33, 43, 55, 64, 80, 99, 134, 136, 137], "worker": [1, 95, 136], "world": 93, "would": [0, 6, 32, 50, 80, 93], "wrap": 128, "wrapper": [43, 46, 93], "writabl": 131, "write_puls": 99, "wrong": [0, 27, 44, 80, 96, 118], "wss": [78, 85, 110, 133], "x": [96, 118, 131, 143], "x_person": [96, 118], "x_person_2": [96, 118], "xxh128": 139, "xxh64": 139, "y": [123, 131, 143], "ye": 131, "yet": 0, "yield": [1, 25, 125], "you": [0, 1, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 80, 85, 93, 96, 110, 118, 124], "your": [0, 1, 25, 77, 80, 85, 93, 96, 110, 118, 124, 133], "yoursynaps": 1, "yuma": [0, 18, 77, 80], "yuma_vers": 18, "zero": [0, 38, 70, 74, 80]}, "titles": ["bittensor.core.async_subtensor", "bittensor.core.axon", "bittensor.core.chain_data.axon_info", "bittensor.core.chain_data.chain_identity", "bittensor.core.chain_data.delegate_info", "bittensor.core.chain_data.delegate_info_lite", "bittensor.core.chain_data.dynamic_info", "bittensor.core.chain_data", "bittensor.core.chain_data.info_base", "bittensor.core.chain_data.ip_info", "bittensor.core.chain_data.metagraph_info", "bittensor.core.chain_data.neuron_info", "bittensor.core.chain_data.neuron_info_lite", "bittensor.core.chain_data.prometheus_info", "bittensor.core.chain_data.proposal_vote_data", "bittensor.core.chain_data.scheduled_coldkey_swap_info", "bittensor.core.chain_data.sim_swap", "bittensor.core.chain_data.stake_info", "bittensor.core.chain_data.subnet_hyperparameters", "bittensor.core.chain_data.subnet_identity", "bittensor.core.chain_data.subnet_info", "bittensor.core.chain_data.subnet_state", "bittensor.core.chain_data.utils", "bittensor.core.chain_data.weight_commit_info", "bittensor.core.config", "bittensor.core.dendrite", "bittensor.core.errors", "bittensor.core.extrinsics.asyncex.children", "bittensor.core.extrinsics.asyncex.commit_reveal", "bittensor.core.extrinsics.asyncex", "bittensor.core.extrinsics.asyncex.liquidity", "bittensor.core.extrinsics.asyncex.mechanism", "bittensor.core.extrinsics.asyncex.move_stake", "bittensor.core.extrinsics.asyncex.registration", "bittensor.core.extrinsics.asyncex.root", "bittensor.core.extrinsics.asyncex.serving", "bittensor.core.extrinsics.asyncex.staking", "bittensor.core.extrinsics.asyncex.start_call", "bittensor.core.extrinsics.asyncex.sudo", "bittensor.core.extrinsics.asyncex.take", "bittensor.core.extrinsics.asyncex.transfer", "bittensor.core.extrinsics.asyncex.unstaking", "bittensor.core.extrinsics.asyncex.utils", "bittensor.core.extrinsics.asyncex.weights", "bittensor.core.extrinsics.children", "bittensor.core.extrinsics.commit_reveal", "bittensor.core.extrinsics.commit_weights", "bittensor.core.extrinsics", "bittensor.core.extrinsics.liquidity", "bittensor.core.extrinsics.mechanism", "bittensor.core.extrinsics.move_stake", "bittensor.core.extrinsics.params.children", "bittensor.core.extrinsics.params", "bittensor.core.extrinsics.params.liquidity", "bittensor.core.extrinsics.params.move_stake", "bittensor.core.extrinsics.params.registration", "bittensor.core.extrinsics.params.root", "bittensor.core.extrinsics.params.serving", "bittensor.core.extrinsics.params.staking", "bittensor.core.extrinsics.params.start_call", "bittensor.core.extrinsics.params.take", "bittensor.core.extrinsics.params.transfer", "bittensor.core.extrinsics.params.unstaking", "bittensor.core.extrinsics.params.weights", "bittensor.core.extrinsics.registration", "bittensor.core.extrinsics.root", "bittensor.core.extrinsics.serving", "bittensor.core.extrinsics.set_weights", "bittensor.core.extrinsics.staking", "bittensor.core.extrinsics.start_call", "bittensor.core.extrinsics.sudo", "bittensor.core.extrinsics.take", "bittensor.core.extrinsics.transfer", "bittensor.core.extrinsics.unstaking", "bittensor.core.extrinsics.utils", "bittensor.core.extrinsics.weights", "bittensor.core", "bittensor.core.metagraph", "bittensor.core.settings", "bittensor.core.stream", "bittensor.core.subtensor", "bittensor.core.subtensor_api.chain", "bittensor.core.subtensor_api.commitments", "bittensor.core.subtensor_api.delegates", "bittensor.core.subtensor_api.extrinsics", "bittensor.core.subtensor_api", "bittensor.core.subtensor_api.metagraphs", "bittensor.core.subtensor_api.neurons", "bittensor.core.subtensor_api.queries", "bittensor.core.subtensor_api.staking", "bittensor.core.subtensor_api.subnets", "bittensor.core.subtensor_api.utils", "bittensor.core.subtensor_api.wallets", "bittensor.core.synapse", "bittensor.core.tensor", "bittensor.core.threadpool", "bittensor.core.timelock", "bittensor.core.types", "bittensor.extras.dev_framework.calls", "bittensor.extras.dev_framework.calls.non_sudo_calls", "bittensor.extras.dev_framework.calls.pallets", "bittensor.extras.dev_framework.calls.sudo_calls", "bittensor.extras.dev_framework", "bittensor.extras.dev_framework.subnet", "bittensor.extras.dev_framework.utils", "bittensor.extras", "bittensor.extras.subtensor_api.chain", "bittensor.extras.subtensor_api.commitments", "bittensor.extras.subtensor_api.delegates", "bittensor.extras.subtensor_api.extrinsics", "bittensor.extras.subtensor_api", "bittensor.extras.subtensor_api.metagraphs", "bittensor.extras.subtensor_api.neurons", "bittensor.extras.subtensor_api.queries", "bittensor.extras.subtensor_api.staking", "bittensor.extras.subtensor_api.subnets", "bittensor.extras.subtensor_api.utils", "bittensor.extras.subtensor_api.wallets", "bittensor.extras.timelock", "bittensor", "bittensor.utils.axon_utils", "bittensor.utils.balance", "bittensor.utils.btlogging.console", "bittensor.utils.btlogging.defines", "bittensor.utils.btlogging.format", "bittensor.utils.btlogging.helpers", "bittensor.utils.btlogging", "bittensor.utils.btlogging.levels", "bittensor.utils.btlogging.loggingmachine", "bittensor.utils.easy_imports", "bittensor.utils.formatting", "bittensor.utils", "bittensor.utils.liquidity", "bittensor.utils.networking", "bittensor.utils.registration.async_pow", "bittensor.utils.registration", "bittensor.utils.registration.pow", "bittensor.utils.registration.register_cuda", "bittensor.utils.subnets", "bittensor.utils.substrate_utils.hasher", "bittensor.utils.substrate_utils", "bittensor.utils.substrate_utils.storage", "bittensor.utils.version", "bittensor.utils.weight_utils", "API Reference", "Bittensor SDK Documentation"], "titleterms": {"api": 144, "async_pow": 134, "async_subtensor": 0, "asyncex": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "attribut": [1, 8, 10, 24, 25, 26, 77, 78, 94, 95, 97, 98, 100, 103, 104, 120, 123, 124, 126, 128, 129, 131, 132, 136, 142, 143], "axon": 1, "axon_info": 2, "axon_util": 120, "balanc": 121, "bittensor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145], "btlog": [122, 123, 124, 125, 126, 127, 128], "call": [98, 99, 100, 101], "chain": [81, 106], "chain_data": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "chain_ident": 3, "children": [27, 44, 51], "class": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 94, 95, 97, 99, 101, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 121, 122, 124, 128, 131, 132, 136, 138, 141], "commit": [82, 107], "commit_rev": [28, 45], "commit_weight": 46, "config": 24, "consol": 122, "content": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 136, 137, 138, 139, 141, 142, 143, 145], "core": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "defin": 123, "deleg": [83, 108], "delegate_info": 4, "delegate_info_lit": 5, "dendrit": 25, "dev_framework": [98, 99, 100, 101, 102, 103, 104], "document": 145, "dynamic_info": 6, "easy_import": 129, "error": 26, "exampl": [0, 24, 25, 77, 80, 85, 97, 110, 122], "except": [24, 26, 95, 133, 142], "extra": [98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118], "extrins": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 84, 109], "format": [124, 130], "function": [0, 1, 10, 22, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 61, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 91, 93, 94, 96, 98, 104, 116, 118, 120, 121, 125, 127, 129, 130, 131, 132, 133, 134, 136, 137, 139, 142, 143], "hasher": 139, "helper": 125, "info_bas": 8, "ip_info": 9, "level": 127, "liquid": [30, 48, 53, 132], "loggingmachin": 128, "mechan": [31, 49], "metagraph": [77, 86, 111], "metagraph_info": 10, "modul": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 99, 100, 101, 103, 104, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124, 125, 127, 128, 129, 130, 132, 133, 134, 136, 137, 138, 139, 141, 142, 143], "move_stak": [32, 50, 54], "network": 133, "neuron": [87, 112], "neuron_info": 11, "neuron_info_lit": 12, "non_sudo_cal": 99, "note": [0, 80], "packag": [85, 98, 110, 126, 131], "pallet": 100, "param": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "pow": 136, "prometheus_info": 13, "proposal_vote_data": 14, "queri": [88, 113], "refer": 144, "register_cuda": 137, "registr": [33, 55, 64, 134, 135, 136, 137], "root": [34, 56, 65], "scheduled_coldkey_swap_info": 15, "sdk": 145, "serv": [35, 57, 66], "set": 78, "set_weight": 67, "sim_swap": 16, "stake": [36, 58, 68, 89, 114], "stake_info": 17, "start_cal": [37, 59, 69], "storag": 141, "stream": 79, "submodul": [7, 29, 47, 52, 76, 85, 98, 102, 105, 110, 119, 126, 131, 135, 140], "subnet": [90, 103, 115, 138], "subnet_hyperparamet": 18, "subnet_ident": 19, "subnet_info": 20, "subnet_st": 21, "substrate_util": [139, 140, 141], "subtensor": 80, "subtensor_api": [81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117], "sudo": [38, 70], "sudo_cal": 101, "synaps": 93, "tabl": 145, "take": [39, 60, 71], "tensor": 94, "threadpool": 95, "timelock": [96, 118], "transfer": [40, 61, 72], "type": 97, "unstak": [41, 62, 73], "util": [22, 42, 74, 91, 104, 116, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143], "version": 142, "wallet": [92, 117], "weight": [43, 63, 75], "weight_commit_info": 23, "weight_util": 143}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API Reference": [[121, null]], "Attributes": [[0, "attributes"], [6, "attributes"], [7, "attributes"], [9, "attributes"], [24, "attributes"], [25, "attributes"], [70, "attributes"], [71, "attributes"], [75, "attributes"], [76, "attributes"], [77, "attributes"], [78, "attributes"], [80, "attributes"], [83, "attributes"], [84, "attributes"], [100, "attributes"], [103, "attributes"], [104, "attributes"], [106, "attributes"], [108, "attributes"], [111, "attributes"], [112, "attributes"], [116, "attributes"], [119, "attributes"], [120, "attributes"]], "Bittensor SDK Documentation": [[122, null]], "Classes": [[0, "classes"], [1, "classes"], [2, "classes"], [3, "classes"], [4, "classes"], [5, "classes"], [7, "classes"], [8, "classes"], [9, "classes"], [10, "classes"], [11, "classes"], [12, "classes"], [13, "classes"], [14, "classes"], [15, "classes"], [16, "classes"], [17, "classes"], [18, "classes"], [19, "classes"], [20, "classes"], [21, "classes"], [22, "classes"], [23, "classes"], [24, "classes"], [45, "classes"], [47, "classes"], [48, "classes"], [49, "classes"], [50, "classes"], [51, "classes"], [52, "classes"], [53, "classes"], [54, "classes"], [55, "classes"], [56, "classes"], [57, "classes"], [70, "classes"], [72, "classes"], [73, "classes"], [74, "classes"], [75, "classes"], [76, "classes"], [77, "classes"], [79, "classes"], [81, "classes"], [83, "classes"], [84, "classes"], [86, "classes"], [87, "classes"], [88, "classes"], [89, "classes"], [90, "classes"], [91, "classes"], [92, "classes"], [93, "classes"], [94, "classes"], [95, "classes"], [97, "classes"], [101, "classes"], [102, "classes"], [104, "classes"], [108, "classes"], [111, "classes"], [112, "classes"], [116, "classes"], [118, "classes"]], "Example": [[23, null], [24, null], [24, null], [70, null], [70, null], [70, null], [70, null], [70, null], [70, null], [70, null], [70, null], [70, null], [70, null], [70, null], [70, null], [70, null], [70, null], [70, null], [70, null], [73, null], [73, null], [73, null], [73, null], [73, null], [77, null], [77, null], [90, null], [101, null], [102, null]], "Examples": [[101, null]], "Exceptions": [[23, "exceptions"], [25, "exceptions"], [76, "exceptions"], [113, "exceptions"], [119, "exceptions"]], "Functions": [[0, "functions"], [9, "functions"], [21, "functions"], [24, "functions"], [26, "functions"], [28, "functions"], [29, "functions"], [30, "functions"], [31, "functions"], [32, "functions"], [33, "functions"], [34, "functions"], [35, "functions"], [36, "functions"], [37, "functions"], [38, "functions"], [39, "functions"], [40, "functions"], [41, "functions"], [43, "functions"], [44, "functions"], [55, "functions"], [58, "functions"], [59, "functions"], [60, "functions"], [61, "functions"], [62, "functions"], [63, "functions"], [64, "functions"], [65, "functions"], [66, "functions"], [67, "functions"], [68, "functions"], [70, "functions"], [74, "functions"], [75, "functions"], [78, "functions"], [84, "functions"], [96, "functions"], [98, "functions"], [100, "functions"], [101, "functions"], [105, "functions"], [107, "functions"], [110, "functions"], [111, "functions"], [112, "functions"], [113, "functions"], [114, "functions"], [116, "functions"], [117, "functions"], [119, "functions"], [120, "functions"]], "Module Contents": [[0, "module-contents"], [1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [7, "module-contents"], [8, "module-contents"], [9, "module-contents"], [10, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"], [16, "module-contents"], [17, "module-contents"], [18, "module-contents"], [19, "module-contents"], [20, "module-contents"], [21, "module-contents"], [22, "module-contents"], [23, "module-contents"], [24, "module-contents"], [25, "module-contents"], [26, "module-contents"], [28, "module-contents"], [29, "module-contents"], [30, "module-contents"], [31, "module-contents"], [32, "module-contents"], [33, "module-contents"], [34, "module-contents"], [35, "module-contents"], [36, "module-contents"], [37, "module-contents"], [38, "module-contents"], [39, "module-contents"], [40, "module-contents"], [41, "module-contents"], [43, "module-contents"], [44, "module-contents"], [45, "module-contents"], [47, "module-contents"], [48, "module-contents"], [49, "module-contents"], [50, "module-contents"], [51, "module-contents"], [52, "module-contents"], [53, "module-contents"], [54, "module-contents"], [55, "module-contents"], [56, "module-contents"], [57, "module-contents"], [58, "module-contents"], [59, "module-contents"], [60, "module-contents"], [61, "module-contents"], [62, "module-contents"], [63, "module-contents"], [64, "module-contents"], [65, "module-contents"], [66, "module-contents"], [67, "module-contents"], [68, "module-contents"], [70, "module-contents"], [71, "module-contents"], [72, "module-contents"], [73, "module-contents"], [74, "module-contents"], [75, "module-contents"], [76, "module-contents"], [77, "module-contents"], [79, "module-contents"], [80, "module-contents"], [81, "module-contents"], [83, "module-contents"], [84, "module-contents"], [86, "module-contents"], [87, "module-contents"], [88, "module-contents"], [89, "module-contents"], [91, "module-contents"], [92, "module-contents"], [93, "module-contents"], [94, "module-contents"], [95, "module-contents"], [96, "module-contents"], [97, "module-contents"], [98, "module-contents"], [100, "module-contents"], [101, "module-contents"], [102, "module-contents"], [103, "module-contents"], [104, "module-contents"], [105, "module-contents"], [107, "module-contents"], [108, "module-contents"], [110, "module-contents"], [112, "module-contents"], [113, "module-contents"], [114, "module-contents"], [116, "module-contents"], [117, "module-contents"], [118, "module-contents"], [119, "module-contents"], [120, "module-contents"]], "Notes": [[33, null], [61, null], [73, null], [73, null], [73, null], [73, null]], "Package Contents": [[6, "package-contents"], [78, "package-contents"], [90, "package-contents"], [106, "package-contents"], [111, "package-contents"]], "Submodules": [[6, "submodules"], [27, "submodules"], [42, "submodules"], [46, "submodules"], [69, "submodules"], [78, "submodules"], [82, "submodules"], [85, "submodules"], [90, "submodules"], [99, "submodules"], [106, "submodules"], [111, "submodules"], [115, "submodules"]], "Table of Contents": [[122, null]], "bittensor": [[99, null]], "bittensor.core": [[69, null]], "bittensor.core.axon": [[0, null]], "bittensor.core.chain_data": [[6, null]], "bittensor.core.chain_data.axon_info": [[1, null]], "bittensor.core.chain_data.chain_identity": [[2, null]], "bittensor.core.chain_data.delegate_info": [[3, null]], "bittensor.core.chain_data.delegate_info_lite": [[4, null]], "bittensor.core.chain_data.dynamic_info": [[5, null]], "bittensor.core.chain_data.info_base": [[7, null]], "bittensor.core.chain_data.ip_info": [[8, null]], "bittensor.core.chain_data.metagraph_info": [[9, null]], "bittensor.core.chain_data.neuron_info": [[10, null]], "bittensor.core.chain_data.neuron_info_lite": [[11, null]], "bittensor.core.chain_data.prometheus_info": [[12, null]], "bittensor.core.chain_data.proposal_vote_data": [[13, null]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[14, null]], "bittensor.core.chain_data.sim_swap": [[15, null]], "bittensor.core.chain_data.stake_info": [[16, null]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, null]], "bittensor.core.chain_data.subnet_identity": [[18, null]], "bittensor.core.chain_data.subnet_info": [[19, null]], "bittensor.core.chain_data.subnet_state": [[20, null]], "bittensor.core.chain_data.utils": [[21, null]], "bittensor.core.chain_data.weight_commit_info": [[22, null]], "bittensor.core.config": [[23, null]], "bittensor.core.dendrite": [[24, null]], "bittensor.core.errors": [[25, null]], "bittensor.core.extrinsics": [[42, null]], "bittensor.core.extrinsics.asyncex": [[27, null]], "bittensor.core.extrinsics.asyncex.children": [[26, null]], "bittensor.core.extrinsics.asyncex.liquidity": [[28, null]], "bittensor.core.extrinsics.asyncex.move_stake": [[29, null]], "bittensor.core.extrinsics.asyncex.registration": [[30, null]], "bittensor.core.extrinsics.asyncex.root": [[31, null]], "bittensor.core.extrinsics.asyncex.serving": [[32, null]], "bittensor.core.extrinsics.asyncex.staking": [[33, null]], "bittensor.core.extrinsics.asyncex.start_call": [[34, null]], "bittensor.core.extrinsics.asyncex.sudo": [[35, null]], "bittensor.core.extrinsics.asyncex.take": [[36, null]], "bittensor.core.extrinsics.asyncex.transfer": [[37, null]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, null]], "bittensor.core.extrinsics.asyncex.utils": [[39, null]], "bittensor.core.extrinsics.asyncex.weights": [[40, null]], "bittensor.core.extrinsics.children": [[41, null]], "bittensor.core.extrinsics.liquidity": [[43, null]], "bittensor.core.extrinsics.move_stake": [[44, null]], "bittensor.core.extrinsics.params": [[46, null]], "bittensor.core.extrinsics.params.children": [[45, null]], "bittensor.core.extrinsics.params.liquidity": [[47, null]], "bittensor.core.extrinsics.params.move_stake": [[48, null]], "bittensor.core.extrinsics.params.registration": [[49, null]], "bittensor.core.extrinsics.params.root": [[50, null]], "bittensor.core.extrinsics.params.serving": [[51, null]], "bittensor.core.extrinsics.params.staking": [[52, null]], "bittensor.core.extrinsics.params.start_call": [[53, null]], "bittensor.core.extrinsics.params.take": [[54, null]], "bittensor.core.extrinsics.params.transfer": [[55, null]], "bittensor.core.extrinsics.params.unstaking": [[56, null]], "bittensor.core.extrinsics.params.weights": [[57, null]], "bittensor.core.extrinsics.registration": [[58, null]], "bittensor.core.extrinsics.root": [[59, null]], "bittensor.core.extrinsics.serving": [[60, null]], "bittensor.core.extrinsics.staking": [[61, null]], "bittensor.core.extrinsics.start_call": [[62, null]], "bittensor.core.extrinsics.sudo": [[63, null]], "bittensor.core.extrinsics.take": [[64, null]], "bittensor.core.extrinsics.transfer": [[65, null]], "bittensor.core.extrinsics.unstaking": [[66, null]], "bittensor.core.extrinsics.utils": [[67, null]], "bittensor.core.extrinsics.weights": [[68, null]], "bittensor.core.metagraph": [[70, null]], "bittensor.core.settings": [[71, null]], "bittensor.core.stream": [[72, null]], "bittensor.core.subtensor": [[73, null]], "bittensor.core.synapse": [[74, null]], "bittensor.core.tensor": [[75, null]], "bittensor.core.threadpool": [[76, null]], "bittensor.core.types": [[77, null]], "bittensor.extras": [[85, null]], "bittensor.extras.dev_framework": [[82, null]], "bittensor.extras.dev_framework.calls": [[78, null]], "bittensor.extras.dev_framework.calls.non_sudo_calls": [[79, null]], "bittensor.extras.dev_framework.calls.pallets": [[80, null]], "bittensor.extras.dev_framework.calls.sudo_calls": [[81, null]], "bittensor.extras.dev_framework.subnet": [[83, null]], "bittensor.extras.dev_framework.utils": [[84, null]], "bittensor.extras.subtensor_api": [[90, null]], "bittensor.extras.subtensor_api.chain": [[86, null]], "bittensor.extras.subtensor_api.commitments": [[87, null]], "bittensor.extras.subtensor_api.delegates": [[88, null]], "bittensor.extras.subtensor_api.extrinsics": [[89, null]], "bittensor.extras.subtensor_api.metagraphs": [[91, null]], "bittensor.extras.subtensor_api.neurons": [[92, null]], "bittensor.extras.subtensor_api.queries": [[93, null]], "bittensor.extras.subtensor_api.staking": [[94, null]], "bittensor.extras.subtensor_api.subnets": [[95, null]], "bittensor.extras.subtensor_api.utils": [[96, null]], "bittensor.extras.subtensor_api.wallets": [[97, null]], "bittensor.extras.timelock": [[98, null]], "bittensor.utils": [[111, null]], "bittensor.utils.axon_utils": [[100, null]], "bittensor.utils.balance": [[101, null]], "bittensor.utils.btlogging": [[106, null]], "bittensor.utils.btlogging.console": [[102, null]], "bittensor.utils.btlogging.defines": [[103, null]], "bittensor.utils.btlogging.format": [[104, null]], "bittensor.utils.btlogging.helpers": [[105, null]], "bittensor.utils.btlogging.levels": [[107, null]], "bittensor.utils.btlogging.loggingmachine": [[108, null]], "bittensor.utils.easy_imports": [[109, null]], "bittensor.utils.formatting": [[110, null]], "bittensor.utils.liquidity": [[112, null]], "bittensor.utils.networking": [[113, null]], "bittensor.utils.registration": [[115, null]], "bittensor.utils.registration.async_pow": [[114, null]], "bittensor.utils.registration.pow": [[116, null]], "bittensor.utils.registration.register_cuda": [[117, null]], "bittensor.utils.subnets": [[118, null]], "bittensor.utils.version": [[119, null]], "bittensor.utils.weight_utils": [[120, null]]}, "docnames": ["autoapi/bittensor/core/axon/index", "autoapi/bittensor/core/chain_data/axon_info/index", "autoapi/bittensor/core/chain_data/chain_identity/index", "autoapi/bittensor/core/chain_data/delegate_info/index", "autoapi/bittensor/core/chain_data/delegate_info_lite/index", "autoapi/bittensor/core/chain_data/dynamic_info/index", "autoapi/bittensor/core/chain_data/index", "autoapi/bittensor/core/chain_data/info_base/index", "autoapi/bittensor/core/chain_data/ip_info/index", "autoapi/bittensor/core/chain_data/metagraph_info/index", "autoapi/bittensor/core/chain_data/neuron_info/index", "autoapi/bittensor/core/chain_data/neuron_info_lite/index", "autoapi/bittensor/core/chain_data/prometheus_info/index", "autoapi/bittensor/core/chain_data/proposal_vote_data/index", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index", "autoapi/bittensor/core/chain_data/sim_swap/index", "autoapi/bittensor/core/chain_data/stake_info/index", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index", "autoapi/bittensor/core/chain_data/subnet_identity/index", "autoapi/bittensor/core/chain_data/subnet_info/index", "autoapi/bittensor/core/chain_data/subnet_state/index", "autoapi/bittensor/core/chain_data/utils/index", "autoapi/bittensor/core/chain_data/weight_commit_info/index", "autoapi/bittensor/core/config/index", "autoapi/bittensor/core/dendrite/index", "autoapi/bittensor/core/errors/index", "autoapi/bittensor/core/extrinsics/asyncex/children/index", "autoapi/bittensor/core/extrinsics/asyncex/index", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index", "autoapi/bittensor/core/extrinsics/asyncex/registration/index", "autoapi/bittensor/core/extrinsics/asyncex/root/index", "autoapi/bittensor/core/extrinsics/asyncex/serving/index", "autoapi/bittensor/core/extrinsics/asyncex/staking/index", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index", "autoapi/bittensor/core/extrinsics/asyncex/sudo/index", "autoapi/bittensor/core/extrinsics/asyncex/take/index", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index", "autoapi/bittensor/core/extrinsics/asyncex/utils/index", "autoapi/bittensor/core/extrinsics/asyncex/weights/index", "autoapi/bittensor/core/extrinsics/children/index", "autoapi/bittensor/core/extrinsics/index", "autoapi/bittensor/core/extrinsics/liquidity/index", "autoapi/bittensor/core/extrinsics/move_stake/index", "autoapi/bittensor/core/extrinsics/params/children/index", "autoapi/bittensor/core/extrinsics/params/index", "autoapi/bittensor/core/extrinsics/params/liquidity/index", "autoapi/bittensor/core/extrinsics/params/move_stake/index", "autoapi/bittensor/core/extrinsics/params/registration/index", "autoapi/bittensor/core/extrinsics/params/root/index", "autoapi/bittensor/core/extrinsics/params/serving/index", "autoapi/bittensor/core/extrinsics/params/staking/index", "autoapi/bittensor/core/extrinsics/params/start_call/index", "autoapi/bittensor/core/extrinsics/params/take/index", "autoapi/bittensor/core/extrinsics/params/transfer/index", "autoapi/bittensor/core/extrinsics/params/unstaking/index", "autoapi/bittensor/core/extrinsics/params/weights/index", "autoapi/bittensor/core/extrinsics/registration/index", "autoapi/bittensor/core/extrinsics/root/index", "autoapi/bittensor/core/extrinsics/serving/index", "autoapi/bittensor/core/extrinsics/staking/index", "autoapi/bittensor/core/extrinsics/start_call/index", "autoapi/bittensor/core/extrinsics/sudo/index", "autoapi/bittensor/core/extrinsics/take/index", "autoapi/bittensor/core/extrinsics/transfer/index", "autoapi/bittensor/core/extrinsics/unstaking/index", "autoapi/bittensor/core/extrinsics/utils/index", "autoapi/bittensor/core/extrinsics/weights/index", "autoapi/bittensor/core/index", "autoapi/bittensor/core/metagraph/index", "autoapi/bittensor/core/settings/index", "autoapi/bittensor/core/stream/index", "autoapi/bittensor/core/subtensor/index", "autoapi/bittensor/core/synapse/index", "autoapi/bittensor/core/tensor/index", "autoapi/bittensor/core/threadpool/index", "autoapi/bittensor/core/types/index", "autoapi/bittensor/extras/dev_framework/calls/index", "autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index", "autoapi/bittensor/extras/dev_framework/calls/pallets/index", "autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index", "autoapi/bittensor/extras/dev_framework/index", "autoapi/bittensor/extras/dev_framework/subnet/index", "autoapi/bittensor/extras/dev_framework/utils/index", "autoapi/bittensor/extras/index", "autoapi/bittensor/extras/subtensor_api/chain/index", "autoapi/bittensor/extras/subtensor_api/commitments/index", "autoapi/bittensor/extras/subtensor_api/delegates/index", "autoapi/bittensor/extras/subtensor_api/extrinsics/index", "autoapi/bittensor/extras/subtensor_api/index", "autoapi/bittensor/extras/subtensor_api/metagraphs/index", "autoapi/bittensor/extras/subtensor_api/neurons/index", "autoapi/bittensor/extras/subtensor_api/queries/index", "autoapi/bittensor/extras/subtensor_api/staking/index", "autoapi/bittensor/extras/subtensor_api/subnets/index", "autoapi/bittensor/extras/subtensor_api/utils/index", "autoapi/bittensor/extras/subtensor_api/wallets/index", "autoapi/bittensor/extras/timelock/index", "autoapi/bittensor/index", "autoapi/bittensor/utils/axon_utils/index", "autoapi/bittensor/utils/balance/index", "autoapi/bittensor/utils/btlogging/console/index", "autoapi/bittensor/utils/btlogging/defines/index", "autoapi/bittensor/utils/btlogging/format/index", "autoapi/bittensor/utils/btlogging/helpers/index", "autoapi/bittensor/utils/btlogging/index", "autoapi/bittensor/utils/btlogging/levels/index", "autoapi/bittensor/utils/btlogging/loggingmachine/index", "autoapi/bittensor/utils/easy_imports/index", "autoapi/bittensor/utils/formatting/index", "autoapi/bittensor/utils/index", "autoapi/bittensor/utils/liquidity/index", "autoapi/bittensor/utils/networking/index", "autoapi/bittensor/utils/registration/async_pow/index", "autoapi/bittensor/utils/registration/index", "autoapi/bittensor/utils/registration/pow/index", "autoapi/bittensor/utils/registration/register_cuda/index", "autoapi/bittensor/utils/subnets/index", "autoapi/bittensor/utils/version/index", "autoapi/bittensor/utils/weight_utils/index", "autoapi/index", "index"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1}, "filenames": ["autoapi/bittensor/core/axon/index.rst", "autoapi/bittensor/core/chain_data/axon_info/index.rst", "autoapi/bittensor/core/chain_data/chain_identity/index.rst", "autoapi/bittensor/core/chain_data/delegate_info/index.rst", "autoapi/bittensor/core/chain_data/delegate_info_lite/index.rst", "autoapi/bittensor/core/chain_data/dynamic_info/index.rst", "autoapi/bittensor/core/chain_data/index.rst", "autoapi/bittensor/core/chain_data/info_base/index.rst", "autoapi/bittensor/core/chain_data/ip_info/index.rst", "autoapi/bittensor/core/chain_data/metagraph_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info/index.rst", "autoapi/bittensor/core/chain_data/neuron_info_lite/index.rst", "autoapi/bittensor/core/chain_data/prometheus_info/index.rst", "autoapi/bittensor/core/chain_data/proposal_vote_data/index.rst", "autoapi/bittensor/core/chain_data/scheduled_coldkey_swap_info/index.rst", "autoapi/bittensor/core/chain_data/sim_swap/index.rst", "autoapi/bittensor/core/chain_data/stake_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_hyperparameters/index.rst", "autoapi/bittensor/core/chain_data/subnet_identity/index.rst", "autoapi/bittensor/core/chain_data/subnet_info/index.rst", "autoapi/bittensor/core/chain_data/subnet_state/index.rst", "autoapi/bittensor/core/chain_data/utils/index.rst", "autoapi/bittensor/core/chain_data/weight_commit_info/index.rst", "autoapi/bittensor/core/config/index.rst", "autoapi/bittensor/core/dendrite/index.rst", "autoapi/bittensor/core/errors/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/children/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/registration/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/root/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/serving/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/staking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/start_call/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/sudo/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/take/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/transfer/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/utils/index.rst", "autoapi/bittensor/core/extrinsics/asyncex/weights/index.rst", "autoapi/bittensor/core/extrinsics/children/index.rst", "autoapi/bittensor/core/extrinsics/index.rst", "autoapi/bittensor/core/extrinsics/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/params/children/index.rst", "autoapi/bittensor/core/extrinsics/params/index.rst", "autoapi/bittensor/core/extrinsics/params/liquidity/index.rst", "autoapi/bittensor/core/extrinsics/params/move_stake/index.rst", "autoapi/bittensor/core/extrinsics/params/registration/index.rst", "autoapi/bittensor/core/extrinsics/params/root/index.rst", "autoapi/bittensor/core/extrinsics/params/serving/index.rst", "autoapi/bittensor/core/extrinsics/params/staking/index.rst", "autoapi/bittensor/core/extrinsics/params/start_call/index.rst", "autoapi/bittensor/core/extrinsics/params/take/index.rst", "autoapi/bittensor/core/extrinsics/params/transfer/index.rst", "autoapi/bittensor/core/extrinsics/params/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/params/weights/index.rst", "autoapi/bittensor/core/extrinsics/registration/index.rst", "autoapi/bittensor/core/extrinsics/root/index.rst", "autoapi/bittensor/core/extrinsics/serving/index.rst", "autoapi/bittensor/core/extrinsics/staking/index.rst", "autoapi/bittensor/core/extrinsics/start_call/index.rst", "autoapi/bittensor/core/extrinsics/sudo/index.rst", "autoapi/bittensor/core/extrinsics/take/index.rst", "autoapi/bittensor/core/extrinsics/transfer/index.rst", "autoapi/bittensor/core/extrinsics/unstaking/index.rst", "autoapi/bittensor/core/extrinsics/utils/index.rst", "autoapi/bittensor/core/extrinsics/weights/index.rst", "autoapi/bittensor/core/index.rst", "autoapi/bittensor/core/metagraph/index.rst", "autoapi/bittensor/core/settings/index.rst", "autoapi/bittensor/core/stream/index.rst", "autoapi/bittensor/core/subtensor/index.rst", "autoapi/bittensor/core/synapse/index.rst", "autoapi/bittensor/core/tensor/index.rst", "autoapi/bittensor/core/threadpool/index.rst", "autoapi/bittensor/core/types/index.rst", "autoapi/bittensor/extras/dev_framework/calls/index.rst", "autoapi/bittensor/extras/dev_framework/calls/non_sudo_calls/index.rst", "autoapi/bittensor/extras/dev_framework/calls/pallets/index.rst", "autoapi/bittensor/extras/dev_framework/calls/sudo_calls/index.rst", "autoapi/bittensor/extras/dev_framework/index.rst", "autoapi/bittensor/extras/dev_framework/subnet/index.rst", "autoapi/bittensor/extras/dev_framework/utils/index.rst", "autoapi/bittensor/extras/index.rst", "autoapi/bittensor/extras/subtensor_api/chain/index.rst", "autoapi/bittensor/extras/subtensor_api/commitments/index.rst", "autoapi/bittensor/extras/subtensor_api/delegates/index.rst", "autoapi/bittensor/extras/subtensor_api/extrinsics/index.rst", "autoapi/bittensor/extras/subtensor_api/index.rst", "autoapi/bittensor/extras/subtensor_api/metagraphs/index.rst", "autoapi/bittensor/extras/subtensor_api/neurons/index.rst", "autoapi/bittensor/extras/subtensor_api/queries/index.rst", "autoapi/bittensor/extras/subtensor_api/staking/index.rst", "autoapi/bittensor/extras/subtensor_api/subnets/index.rst", "autoapi/bittensor/extras/subtensor_api/utils/index.rst", "autoapi/bittensor/extras/subtensor_api/wallets/index.rst", "autoapi/bittensor/extras/timelock/index.rst", "autoapi/bittensor/index.rst", "autoapi/bittensor/utils/axon_utils/index.rst", "autoapi/bittensor/utils/balance/index.rst", "autoapi/bittensor/utils/btlogging/console/index.rst", "autoapi/bittensor/utils/btlogging/defines/index.rst", "autoapi/bittensor/utils/btlogging/format/index.rst", "autoapi/bittensor/utils/btlogging/helpers/index.rst", "autoapi/bittensor/utils/btlogging/index.rst", "autoapi/bittensor/utils/btlogging/levels/index.rst", "autoapi/bittensor/utils/btlogging/loggingmachine/index.rst", "autoapi/bittensor/utils/easy_imports/index.rst", "autoapi/bittensor/utils/formatting/index.rst", "autoapi/bittensor/utils/index.rst", "autoapi/bittensor/utils/liquidity/index.rst", "autoapi/bittensor/utils/networking/index.rst", "autoapi/bittensor/utils/registration/async_pow/index.rst", "autoapi/bittensor/utils/registration/index.rst", "autoapi/bittensor/utils/registration/pow/index.rst", "autoapi/bittensor/utils/registration/register_cuda/index.rst", "autoapi/bittensor/utils/subnets/index.rst", "autoapi/bittensor/utils/version/index.rst", "autoapi/bittensor/utils/weight_utils/index.rst", "autoapi/index.rst", "index.rst"], "indexentries": {"__repr__() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.__repr__", false]], "__repr__() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.__repr__", false]], "__setattr__() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.__setattr__", false]], "__str__() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.__str__", false]], "__str__() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.__str__", false]], "access_list (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.access_list", false]], "access_list (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.access_list", false]], "access_list (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.access_list", false]], "account (bittensor.extras.dev_framework.calls.non_sudo_calls.force_release_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT.account", false]], "account (bittensor.extras.dev_framework.calls.non_sudo_calls.force_slash_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT.account", false]], "account (bittensor.extras.dev_framework.calls.non_sudo_calls.release_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT.account", false]], "accountid (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.AccountId", false]], "aclose_session() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.aclose_session", false]], "aclose_session() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.aclose_session", false], [24, "id0", false]], "activate_subnet (in module bittensor.extras.dev_framework.utils)": [[84, "bittensor.extras.dev_framework.utils.ACTIVATE_SUBNET", false]], "activatesubnet (class in bittensor.extras.dev_framework.utils)": [[84, "bittensor.extras.dev_framework.utils.ActivateSubnet", false]], "active (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.active", false]], "active (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Active", false]], "active (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.active", false]], "active (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.active", false]], "active (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.active", false]], "active (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.active", false]], "active (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.active", false]], "active (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.active", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.activity_cutoff", false]], "activity_cutoff (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.activity_cutoff", false]], "activity_cutoff (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.activity_cutoff", false]], "activitycutoff (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ActivityCutoff", false]], "add (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_member attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER.add", false], [79, "id37", false]], "add_args() (bittensor.core.axon.axon class method)": [[0, "bittensor.core.axon.Axon.add_args", false]], "add_args() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[76, "bittensor.core.threadpool.PriorityThreadPoolExecutor.add_args", false]], "add_args() (bittensor.core.types.subtensormixin class method)": [[77, "bittensor.core.types.SubtensorMixin.add_args", false]], "add_args() (bittensor.extras.subtensor_api.subtensorapi class method)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.add_args", false]], "add_args() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.add_args", false]], "add_legacy_methods() (in module bittensor.extras.subtensor_api.utils)": [[96, "bittensor.extras.subtensor_api.utils.add_legacy_methods", false]], "add_liquidity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.add_liquidity", false]], "add_liquidity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY", false]], "add_liquidity() (bittensor.core.extrinsics.params.liquidity.liquidityparams class method)": [[47, "bittensor.core.extrinsics.params.liquidity.LiquidityParams.add_liquidity", false]], "add_liquidity() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.add_liquidity", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[28, "bittensor.core.extrinsics.asyncex.liquidity.add_liquidity_extrinsic", false]], "add_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[43, "bittensor.core.extrinsics.liquidity.add_liquidity_extrinsic", false]], "add_member (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER", false], [79, "id0", false]], "add_proxy (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY", false]], "add_stake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.add_stake", false]], "add_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.add_stake", false]], "add_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE", false]], "add_stake() (bittensor.core.extrinsics.params.staking.stakingparams class method)": [[52, "bittensor.core.extrinsics.params.staking.StakingParams.add_stake", false]], "add_stake() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.add_stake", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[33, "bittensor.core.extrinsics.asyncex.staking.add_stake_extrinsic", false]], "add_stake_extrinsic() (in module bittensor.core.extrinsics.staking)": [[61, "bittensor.core.extrinsics.staking.add_stake_extrinsic", false]], "add_stake_limit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT", false]], "add_stake_limit() (bittensor.core.extrinsics.params.staking.stakingparams class method)": [[52, "bittensor.core.extrinsics.params.staking.StakingParams.add_stake_limit", false]], "add_stake_multiple (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.add_stake_multiple", false]], "add_stake_multiple (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.add_stake_multiple", false]], "add_stake_multiple() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.add_stake_multiple", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[33, "bittensor.core.extrinsics.asyncex.staking.add_stake_multiple_extrinsic", false]], "add_stake_multiple_extrinsic() (in module bittensor.core.extrinsics.staking)": [[61, "bittensor.core.extrinsics.staking.add_stake_multiple_extrinsic", false]], "additional (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[2, "bittensor.core.chain_data.chain_identity.ChainIdentity.additional", false]], "additional (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.additional", false]], "additional (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.additional", false]], "additional (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.additional", false]], "address (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.address", false]], "addresses (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.addresses", false]], "adjust_senate (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_alpha", false]], "adjustment_alpha (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_alpha", false]], "adjustment_alpha (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.adjustment_alpha", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.adjustment_interval", false]], "adjustment_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.adjustment_interval", false]], "adjustment_interval (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.adjustment_interval", false]], "adjustmentalpha (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentAlpha", false]], "adjustmentinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AdjustmentInterval", false]], "adminutils (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.AdminUtils", false]], "after (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.after", false]], "after (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.after", false]], "after_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_debug", false]], "after_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_disable_trace", false]], "after_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_debug", false]], "after_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_default", false]], "after_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_info", false]], "after_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_trace", false]], "after_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_enable_warning", false]], "after_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.after_transition", false]], "all_indices() (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex static method)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.all_indices", false]], "all_logger_names() (in module bittensor.utils.btlogging.helpers)": [[105, "bittensor.utils.btlogging.helpers.all_logger_names", false]], "all_loggers() (in module bittensor.utils.btlogging.helpers)": [[105, "bittensor.utils.btlogging.helpers.all_loggers", false]], "all_subnets (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.all_subnets", false]], "all_subnets() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.all_subnets", false]], "allow_partial (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.allow_partial", false]], "allow_partial (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.allow_partial", false]], "allow_partial (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.allow_partial", false]], "allowed_delta (in module bittensor.utils.axon_utils)": [[100, "bittensor.utils.axon_utils.ALLOWED_DELTA", false]], "allowed_nonce_window_ns() (in module bittensor.utils.axon_utils)": [[100, "bittensor.utils.axon_utils.allowed_nonce_window_ns", false]], "alpha (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_moving_alpha attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA.alpha", false]], "alpha_amount (bittensor.core.chain_data.sim_swap.simswapresult attribute)": [[15, "bittensor.core.chain_data.sim_swap.SimSwapResult.alpha_amount", false]], "alpha_amount (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.alpha_amount", false]], "alpha_amount (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.alpha_amount", false]], "alpha_amount (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.alpha_amount", false]], "alpha_amount (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.alpha_amount", false]], "alpha_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_dividends_per_hotkey", false]], "alpha_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.alpha_dividends_per_hotkey", false]], "alpha_fee (bittensor.core.chain_data.sim_swap.simswapresult attribute)": [[15, "bittensor.core.chain_data.sim_swap.SimSwapResult.alpha_fee", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_high", false]], "alpha_high (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_high", false]], "alpha_high (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_high", false]], "alpha_high (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.alpha_high", false]], "alpha_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in", false]], "alpha_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_in", false]], "alpha_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_in_emission", false]], "alpha_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_in_emission", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_low", false]], "alpha_low (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.alpha_low", false]], "alpha_low (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_low", false]], "alpha_low (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.alpha_low", false]], "alpha_out (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out", false]], "alpha_out (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.alpha_out", false]], "alpha_out_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_out_emission", false]], "alpha_out_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.alpha_out_emission", false]], "alpha_sigmoid_steepness (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.alpha_sigmoid_steepness", false]], "alpha_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_slippage", false]], "alpha_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.alpha_stake", false]], "alpha_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.alpha_stake", false]], "alpha_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.alpha_stake", false]], "alpha_to_tao() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao", false]], "alpha_to_tao_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.alpha_to_tao_with_slippage", false]], "alphadividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaDividendsPerHotkey", false]], "alphahigh (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaHigh", false]], "alphain (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaIn", false]], "alphainemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaInEmission", false]], "alphalow (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaLow", false]], "alphaout (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOut", false]], "alphaoutemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaOutEmission", false]], "alphastake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.AlphaStake", false]], "amount (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.amount", false]], "amount (bittensor.extras.dev_framework.calls.non_sudo_calls.contribute attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE.amount", false]], "amount (bittensor.extras.dev_framework.calls.non_sudo_calls.force_unreserve attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE.amount", false]], "amount (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.amount", false]], "amount_staked (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.amount_staked", false]], "amount_staked (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.amount_staked", false]], "amount_unstaked (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.amount_unstaked", false]], "amount_unstaked (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.amount_unstaked", false]], "announce (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE", false]], "app (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.app", false]], "apply_authorized_upgrade (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE", false]], "approve (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.approve", false], [79, "id42", false]], "approve_as_multi (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI", false]], "aquery() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.aquery", false]], "arbitration_block (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[14, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.arbitration_block", false]], "archive_entrypoint (in module bittensor.core.settings)": [[71, "bittensor.core.settings.ARCHIVE_ENTRYPOINT", false]], "as (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.AS", false]], "as_derivative (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE", false]], "as_dict() (bittensor.core.types.extrinsicresponse method)": [[77, "bittensor.core.types.ExtrinsicResponse.as_dict", false]], "as_multi (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI", false]], "as_multi_threshold_1 (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1", false]], "as_origin (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS.as_origin", false]], "as_origin (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as_fallible attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE.as_origin", false]], "associate_evm_key (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY", false]], "async_execute_one() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.async_execute_one", false]], "async_execute_steps() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.async_execute_steps", false]], "async_metagraph() (in module bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.async_metagraph", false]], "async_set_hyperparameter() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.async_set_hyperparameter", false]], "async_wait_next_epoch() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.async_wait_next_epoch", false]], "asyncmetagraph (class in bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.AsyncMetagraph", false]], "attach() (bittensor.core.axon.axon method)": [[0, "bittensor.core.axon.Axon.attach", false]], "authorization_list (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.authorization_list", false]], "authorization_list (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.authorization_list", false]], "authorization_list (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.authorization_list", false]], "authorize_upgrade (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE", false]], "authorize_upgrade_without_checks (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS", false]], "axon (bittensor.core.axon.axonmiddleware attribute)": [[0, "bittensor.core.axon.AxonMiddleware.axon", false]], "axon (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.axon", false]], "axon (class in bittensor.core.axon)": [[0, "bittensor.core.axon.Axon", false]], "axon_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.axon_info", false]], "axon_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.axon_info", false]], "axoninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.AxonInfo", false]], "axoninfo (class in bittensor.core.chain_data.axon_info)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo", false]], "axonmiddleware (class in bittensor.core.axon)": [[0, "bittensor.core.axon.AxonMiddleware", false]], "axons (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.axons", false]], "axons (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Axons", false]], "axons (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.axons", false]], "axonservecallparams (class in bittensor.core.types)": [[77, "bittensor.core.types.AxonServeCallParams", false]], "ayes (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[13, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.ayes", false]], "b (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.B", false]], "balance (class in bittensor.utils.balance)": [[101, "bittensor.utils.balance.Balance", false]], "balances (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Balances", false]], "balancetypeerror": [[25, "bittensor.core.errors.BalanceTypeError", false]], "balanceunitmismatcherror": [[25, "bittensor.core.errors.BalanceUnitMismatchError", false]], "base_log_format (in module bittensor.utils.btlogging.defines)": [[103, "bittensor.utils.btlogging.defines.BASE_LOG_FORMAT", false]], "baseclass (in module bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.BaseClass", false]], "basefee (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.BaseFee", false]], "basemodel (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.BaseModel", false]], "batch (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH", false]], "batch_all (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL", false]], "batch_commit_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS", false]], "batch_reveal_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS", false]], "batch_set_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS", false]], "before_disable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_debug", false]], "before_disable_logging() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_logging", false]], "before_disable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_disable_trace", false]], "before_enable_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_console", false]], "before_enable_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_debug", false]], "before_enable_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_default", false]], "before_enable_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_info", false]], "before_enable_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_trace", false]], "before_enable_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_enable_warning", false]], "before_transition() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.before_transition", false]], "best_finalized_block_number (bittensor.extras.dev_framework.calls.non_sudo_calls.note_stalled attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED.best_finalized_block_number", false]], "bits (bittensor.utils.balance.fixedpoint attribute)": [[101, "bittensor.utils.balance.FixedPoint.bits", false]], "bittensor": [[99, "module-bittensor", false]], "bittensor.core": [[69, "module-bittensor.core", false]], "bittensor.core.axon": [[0, "module-bittensor.core.axon", false]], "bittensor.core.chain_data": [[6, "module-bittensor.core.chain_data", false]], "bittensor.core.chain_data.axon_info": [[1, "module-bittensor.core.chain_data.axon_info", false]], "bittensor.core.chain_data.chain_identity": [[2, "module-bittensor.core.chain_data.chain_identity", false]], "bittensor.core.chain_data.delegate_info": [[3, "module-bittensor.core.chain_data.delegate_info", false]], "bittensor.core.chain_data.delegate_info_lite": [[4, "module-bittensor.core.chain_data.delegate_info_lite", false]], "bittensor.core.chain_data.dynamic_info": [[5, "module-bittensor.core.chain_data.dynamic_info", false]], "bittensor.core.chain_data.info_base": [[7, "module-bittensor.core.chain_data.info_base", false]], "bittensor.core.chain_data.ip_info": [[8, "module-bittensor.core.chain_data.ip_info", false]], "bittensor.core.chain_data.metagraph_info": [[9, "module-bittensor.core.chain_data.metagraph_info", false]], "bittensor.core.chain_data.neuron_info": [[10, "module-bittensor.core.chain_data.neuron_info", false]], "bittensor.core.chain_data.neuron_info_lite": [[11, "module-bittensor.core.chain_data.neuron_info_lite", false]], "bittensor.core.chain_data.prometheus_info": [[12, "module-bittensor.core.chain_data.prometheus_info", false]], "bittensor.core.chain_data.proposal_vote_data": [[13, "module-bittensor.core.chain_data.proposal_vote_data", false]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[14, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false]], "bittensor.core.chain_data.sim_swap": [[15, "module-bittensor.core.chain_data.sim_swap", false]], "bittensor.core.chain_data.stake_info": [[16, "module-bittensor.core.chain_data.stake_info", false]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, "module-bittensor.core.chain_data.subnet_hyperparameters", false]], "bittensor.core.chain_data.subnet_identity": [[18, "module-bittensor.core.chain_data.subnet_identity", false]], "bittensor.core.chain_data.subnet_info": [[19, "module-bittensor.core.chain_data.subnet_info", false]], "bittensor.core.chain_data.subnet_state": [[20, "module-bittensor.core.chain_data.subnet_state", false]], "bittensor.core.chain_data.utils": [[21, "module-bittensor.core.chain_data.utils", false]], "bittensor.core.chain_data.weight_commit_info": [[22, "module-bittensor.core.chain_data.weight_commit_info", false]], "bittensor.core.config": [[23, "module-bittensor.core.config", false]], "bittensor.core.dendrite": [[24, "module-bittensor.core.dendrite", false]], "bittensor.core.errors": [[25, "module-bittensor.core.errors", false]], "bittensor.core.extrinsics": [[42, "module-bittensor.core.extrinsics", false]], "bittensor.core.extrinsics.asyncex": [[27, "module-bittensor.core.extrinsics.asyncex", false]], "bittensor.core.extrinsics.asyncex.children": [[26, "module-bittensor.core.extrinsics.asyncex.children", false]], "bittensor.core.extrinsics.asyncex.liquidity": [[28, "module-bittensor.core.extrinsics.asyncex.liquidity", false]], "bittensor.core.extrinsics.asyncex.move_stake": [[29, "module-bittensor.core.extrinsics.asyncex.move_stake", false]], "bittensor.core.extrinsics.asyncex.registration": [[30, "module-bittensor.core.extrinsics.asyncex.registration", false]], "bittensor.core.extrinsics.asyncex.root": [[31, "module-bittensor.core.extrinsics.asyncex.root", false]], "bittensor.core.extrinsics.asyncex.serving": [[32, "module-bittensor.core.extrinsics.asyncex.serving", false]], "bittensor.core.extrinsics.asyncex.staking": [[33, "module-bittensor.core.extrinsics.asyncex.staking", false]], "bittensor.core.extrinsics.asyncex.start_call": [[34, "module-bittensor.core.extrinsics.asyncex.start_call", false]], "bittensor.core.extrinsics.asyncex.sudo": [[35, "module-bittensor.core.extrinsics.asyncex.sudo", false]], "bittensor.core.extrinsics.asyncex.take": [[36, "module-bittensor.core.extrinsics.asyncex.take", false]], "bittensor.core.extrinsics.asyncex.transfer": [[37, "module-bittensor.core.extrinsics.asyncex.transfer", false]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, "module-bittensor.core.extrinsics.asyncex.unstaking", false]], "bittensor.core.extrinsics.asyncex.utils": [[39, "module-bittensor.core.extrinsics.asyncex.utils", false]], "bittensor.core.extrinsics.asyncex.weights": [[40, "module-bittensor.core.extrinsics.asyncex.weights", false]], "bittensor.core.extrinsics.children": [[41, "module-bittensor.core.extrinsics.children", false]], "bittensor.core.extrinsics.liquidity": [[43, "module-bittensor.core.extrinsics.liquidity", false]], "bittensor.core.extrinsics.move_stake": [[44, "module-bittensor.core.extrinsics.move_stake", false]], "bittensor.core.extrinsics.params": [[46, "module-bittensor.core.extrinsics.params", false]], "bittensor.core.extrinsics.params.children": [[45, "module-bittensor.core.extrinsics.params.children", false]], "bittensor.core.extrinsics.params.liquidity": [[47, "module-bittensor.core.extrinsics.params.liquidity", false]], "bittensor.core.extrinsics.params.move_stake": [[48, "module-bittensor.core.extrinsics.params.move_stake", false]], "bittensor.core.extrinsics.params.registration": [[49, "module-bittensor.core.extrinsics.params.registration", false]], "bittensor.core.extrinsics.params.root": [[50, "module-bittensor.core.extrinsics.params.root", false]], "bittensor.core.extrinsics.params.serving": [[51, "module-bittensor.core.extrinsics.params.serving", false]], "bittensor.core.extrinsics.params.staking": [[52, "module-bittensor.core.extrinsics.params.staking", false]], "bittensor.core.extrinsics.params.start_call": [[53, "module-bittensor.core.extrinsics.params.start_call", false]], "bittensor.core.extrinsics.params.take": [[54, "module-bittensor.core.extrinsics.params.take", false]], "bittensor.core.extrinsics.params.transfer": [[55, "module-bittensor.core.extrinsics.params.transfer", false]], "bittensor.core.extrinsics.params.unstaking": [[56, "module-bittensor.core.extrinsics.params.unstaking", false]], "bittensor.core.extrinsics.params.weights": [[57, "module-bittensor.core.extrinsics.params.weights", false]], "bittensor.core.extrinsics.registration": [[58, "module-bittensor.core.extrinsics.registration", false]], "bittensor.core.extrinsics.root": [[59, "module-bittensor.core.extrinsics.root", false]], "bittensor.core.extrinsics.serving": [[60, "module-bittensor.core.extrinsics.serving", false]], "bittensor.core.extrinsics.staking": [[61, "module-bittensor.core.extrinsics.staking", false]], "bittensor.core.extrinsics.start_call": [[62, "module-bittensor.core.extrinsics.start_call", false]], "bittensor.core.extrinsics.sudo": [[63, "module-bittensor.core.extrinsics.sudo", false]], "bittensor.core.extrinsics.take": [[64, "module-bittensor.core.extrinsics.take", false]], "bittensor.core.extrinsics.transfer": [[65, "module-bittensor.core.extrinsics.transfer", false]], "bittensor.core.extrinsics.unstaking": [[66, "module-bittensor.core.extrinsics.unstaking", false]], "bittensor.core.extrinsics.utils": [[67, "module-bittensor.core.extrinsics.utils", false]], "bittensor.core.extrinsics.weights": [[68, "module-bittensor.core.extrinsics.weights", false]], "bittensor.core.metagraph": [[70, "module-bittensor.core.metagraph", false]], "bittensor.core.settings": [[71, "module-bittensor.core.settings", false]], "bittensor.core.stream": [[72, "module-bittensor.core.stream", false]], "bittensor.core.subtensor": [[73, "module-bittensor.core.subtensor", false]], "bittensor.core.synapse": [[74, "module-bittensor.core.synapse", false]], "bittensor.core.tensor": [[75, "module-bittensor.core.tensor", false]], "bittensor.core.threadpool": [[76, "module-bittensor.core.threadpool", false]], "bittensor.core.types": [[77, "module-bittensor.core.types", false]], "bittensor.extras": [[85, "module-bittensor.extras", false]], "bittensor.extras.dev_framework": [[82, "module-bittensor.extras.dev_framework", false]], "bittensor.extras.dev_framework.calls": [[78, "module-bittensor.extras.dev_framework.calls", false]], "bittensor.extras.dev_framework.calls.non_sudo_calls": [[79, "module-bittensor.extras.dev_framework.calls.non_sudo_calls", false]], "bittensor.extras.dev_framework.calls.pallets": [[80, "module-bittensor.extras.dev_framework.calls.pallets", false]], "bittensor.extras.dev_framework.calls.sudo_calls": [[81, "module-bittensor.extras.dev_framework.calls.sudo_calls", false]], "bittensor.extras.dev_framework.subnet": [[83, "module-bittensor.extras.dev_framework.subnet", false]], "bittensor.extras.dev_framework.utils": [[84, "module-bittensor.extras.dev_framework.utils", false]], "bittensor.extras.subtensor_api": [[90, "module-bittensor.extras.subtensor_api", false]], "bittensor.extras.subtensor_api.chain": [[86, "module-bittensor.extras.subtensor_api.chain", false]], "bittensor.extras.subtensor_api.commitments": [[87, "module-bittensor.extras.subtensor_api.commitments", false]], "bittensor.extras.subtensor_api.delegates": [[88, "module-bittensor.extras.subtensor_api.delegates", false]], "bittensor.extras.subtensor_api.extrinsics": [[89, "module-bittensor.extras.subtensor_api.extrinsics", false]], "bittensor.extras.subtensor_api.metagraphs": [[91, "module-bittensor.extras.subtensor_api.metagraphs", false]], "bittensor.extras.subtensor_api.neurons": [[92, "module-bittensor.extras.subtensor_api.neurons", false]], "bittensor.extras.subtensor_api.queries": [[93, "module-bittensor.extras.subtensor_api.queries", false]], "bittensor.extras.subtensor_api.staking": [[94, "module-bittensor.extras.subtensor_api.staking", false]], "bittensor.extras.subtensor_api.subnets": [[95, "module-bittensor.extras.subtensor_api.subnets", false]], "bittensor.extras.subtensor_api.utils": [[96, "module-bittensor.extras.subtensor_api.utils", false]], "bittensor.extras.subtensor_api.wallets": [[97, "module-bittensor.extras.subtensor_api.wallets", false]], "bittensor.extras.timelock": [[98, "module-bittensor.extras.timelock", false]], "bittensor.utils": [[111, "module-bittensor.utils", false]], "bittensor.utils.axon_utils": [[100, "module-bittensor.utils.axon_utils", false]], "bittensor.utils.balance": [[101, "module-bittensor.utils.balance", false]], "bittensor.utils.btlogging": [[106, "module-bittensor.utils.btlogging", false]], "bittensor.utils.btlogging.console": [[102, "module-bittensor.utils.btlogging.console", false]], "bittensor.utils.btlogging.defines": [[103, "module-bittensor.utils.btlogging.defines", false]], "bittensor.utils.btlogging.format": [[104, "module-bittensor.utils.btlogging.format", false]], "bittensor.utils.btlogging.helpers": [[105, "module-bittensor.utils.btlogging.helpers", false]], "bittensor.utils.btlogging.levels": [[107, "module-bittensor.utils.btlogging.levels", false]], "bittensor.utils.btlogging.loggingmachine": [[108, "module-bittensor.utils.btlogging.loggingmachine", false]], "bittensor.utils.easy_imports": [[109, "module-bittensor.utils.easy_imports", false]], "bittensor.utils.formatting": [[110, "module-bittensor.utils.formatting", false]], "bittensor.utils.liquidity": [[112, "module-bittensor.utils.liquidity", false]], "bittensor.utils.networking": [[113, "module-bittensor.utils.networking", false]], "bittensor.utils.registration": [[115, "module-bittensor.utils.registration", false]], "bittensor.utils.registration.async_pow": [[114, "module-bittensor.utils.registration.async_pow", false]], "bittensor.utils.registration.pow": [[116, "module-bittensor.utils.registration.pow", false]], "bittensor.utils.registration.register_cuda": [[117, "module-bittensor.utils.registration.register_cuda", false]], "bittensor.utils.subnets": [[118, "module-bittensor.utils.subnets", false]], "bittensor.utils.version": [[119, "module-bittensor.utils.version", false]], "bittensor.utils.weight_utils": [[120, "module-bittensor.utils.weight_utils", false]], "bittensor_logger_name (in module bittensor.utils.btlogging.defines)": [[103, "bittensor.utils.btlogging.defines.BITTENSOR_LOGGER_NAME", false]], "bittensorconsole (class in bittensor.utils.btlogging.console)": [[102, "bittensor.utils.btlogging.console.BittensorConsole", false]], "blacklist() (bittensor.core.axon.axonmiddleware method)": [[0, "bittensor.core.axon.AxonMiddleware.blacklist", false]], "blacklist_fns (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.blacklist_fns", false]], "blacklistedexception": [[25, "bittensor.core.errors.BlacklistedException", false]], "block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block", false]], "block (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Block", false]], "block (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[12, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.block", false]], "block (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.block", false]], "block (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.block", false]], "block (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.block", false]], "block (bittensor.core.subtensor.subtensor property)": [[73, "bittensor.core.subtensor.Subtensor.block", false]], "block (bittensor.extras.dev_framework.calls.non_sudo_calls.force_release_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT.block", false]], "block (bittensor.extras.dev_framework.calls.non_sudo_calls.force_slash_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT.block", false]], "block (bittensor.extras.dev_framework.calls.non_sudo_calls.release_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT.block", false]], "block (bittensor.extras.subtensor_api.subtensorapi property)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.block", false]], "block_at_registration (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.block_at_registration", false]], "block_at_registration (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.block_at_registration", false]], "block_at_registration (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.block_at_registration", false]], "block_hash (bittensor.utils.registration.pow.registrationstatistics attribute)": [[116, "bittensor.utils.registration.pow.RegistrationStatistics.block_hash", false]], "block_number (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.block_number", false]], "block_number (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.block_number", false]], "block_number (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.block_number", false]], "block_number (bittensor.utils.registration.pow.powsolution attribute)": [[116, "bittensor.utils.registration.pow.POWSolution.block_number", false]], "block_number (bittensor.utils.registration.pow.registrationstatistics attribute)": [[116, "bittensor.utils.registration.pow.RegistrationStatistics.block_number", false]], "blockatregistration (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlockAtRegistration", false]], "blockinfo (class in bittensor.core.types)": [[77, "bittensor.core.types.BlockInfo", false]], "blocknotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.BlockNotFound", false]], "blocks_since_epoch (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.blocks_since_epoch", false]], "blocks_since_last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.blocks_since_last_step", false]], "blocks_since_last_step (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.blocks_since_last_step", false]], "blocks_since_last_step() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.blocks_since_last_step", false]], "blocks_since_last_update (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.blocks_since_last_update", false]], "blocks_since_last_update() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.blocks_since_last_update", false]], "blockssincelaststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BlocksSinceLastStep", false]], "blocktime (in module bittensor.core.settings)": [[71, "bittensor.core.settings.BLOCKTIME", false]], "body_hash (bittensor.core.synapse.synapse property)": [[74, "id0", false]], "body_hash() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.body_hash", false]], "bonds (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.bonds", false]], "bonds (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.bonds", false]], "bonds (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.bonds", false]], "bonds (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.bonds", false]], "bonds (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.bonds", false]], "bonds() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.bonds", false]], "bonds_moving_average (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.bonds_moving_average", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.bonds_moving_avg", false]], "bonds_moving_avg (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_moving_avg", false]], "bonds_penalty (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.bonds_penalty", false]], "bonds_reset_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.bonds_reset_enabled", false]], "bondsmovingavg (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.BondsMovingAvg", false]], "brokenthreadpool": [[76, "bittensor.core.threadpool.BrokenThreadPool", false]], "bt_docs_link (in module bittensor.utils)": [[111, "bittensor.utils.BT_DOCS_LINK", false]], "btfileformatter (class in bittensor.utils.btlogging.format)": [[104, "bittensor.utils.btlogging.format.BtFileFormatter", false]], "btstreamformatter (class in bittensor.utils.btlogging.format)": [[104, "bittensor.utils.btlogging.format.BtStreamFormatter", false]], "btstreamingresponsemodel (class in bittensor.core.stream)": [[72, "bittensor.core.stream.BTStreamingResponseModel", false]], "buffer (bittensor.core.tensor.tensor attribute)": [[75, "bittensor.core.tensor.Tensor.buffer", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.burn", false]], "burn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Burn", false]], "burn (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.burn", false]], "burn (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ck_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN.burn", false]], "burn (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN", false]], "burn_alpha (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA", false]], "burned_register (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.burned_register", false]], "burned_register (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.burned_register", false]], "burned_register (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER", false]], "burned_register() (bittensor.core.extrinsics.params.registration.registrationparams class method)": [[49, "bittensor.core.extrinsics.params.registration.RegistrationParams.burned_register", false]], "burned_register() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.burned_register", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[30, "bittensor.core.extrinsics.asyncex.registration.burned_register_extrinsic", false]], "burned_register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[58, "bittensor.core.extrinsics.registration.burned_register_extrinsic", false]], "bytes (bittensor.extras.dev_framework.calls.non_sudo_calls.note_preimage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE.bytes", false]], "c (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.C", false]], "calculate_diff_seconds() (in module bittensor.utils.axon_utils)": [[100, "bittensor.utils.axon_utils.calculate_diff_seconds", false]], "calculate_fees() (in module bittensor.utils.liquidity)": [[112, "bittensor.utils.liquidity.calculate_fees", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.as_derivative attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi_threshold_1 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as_fallible attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.call", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.sudo attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO.call", false], [79, "id33", false]], "call (bittensor.extras.dev_framework.calls.non_sudo_calls.with_weight attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT.call", false]], "call (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.call", false]], "call (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.call", false], [81, "id1", false]], "call (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL", false]], "call() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.call", false]], "call() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.call", false], [24, "id3", false]], "call() (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.call", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.announce attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.reject_announcement attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT.call_hash", false]], "call_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_announcement attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT.call_hash", false]], "call_record (class in bittensor.extras.dev_framework.subnet)": [[83, "bittensor.extras.dev_framework.subnet.CALL_RECORD", false]], "call_stream() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.call_stream", false]], "call_stream() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.call_stream", false], [24, "id4", false]], "calls (bittensor.extras.dev_framework.calls.non_sudo_calls.batch attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH.calls", false]], "calls (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_all attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL.calls", false]], "calls (bittensor.extras.dev_framework.calls.non_sudo_calls.force_batch attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH.calls", false]], "calls (bittensor.extras.dev_framework.subnet.testsubnet property)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.calls", false]], "cancel (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL", false]], "cancel_as_multi (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI", false]], "cancel_named (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED", false]], "cancel_retry (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY", false]], "cancel_retry_named (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED", false]], "cap (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.cap", false]], "cast_dtype() (in module bittensor.core.tensor)": [[75, "bittensor.core.tensor.cast_dtype", false]], "cast_float() (in module bittensor.core.synapse)": [[74, "bittensor.core.synapse.cast_float", false]], "cast_int() (in module bittensor.core.synapse)": [[74, "bittensor.core.synapse.cast_int", false]], "cast_shape() (in module bittensor.core.tensor)": [[75, "bittensor.core.tensor.cast_shape", false]], "certificate (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.certificate", false]], "certificate (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.certificate", false]], "certificate (class in bittensor.utils)": [[111, "bittensor.utils.Certificate", false]], "chain (bittensor.extras.subtensor_api.subtensorapi property)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.chain", false]], "chain (class in bittensor.extras.subtensor_api.chain)": [[86, "bittensor.extras.subtensor_api.chain.Chain", false]], "chain_endpoint (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.chain_endpoint", false]], "chain_endpoint (bittensor.core.types.subtensormixin attribute)": [[77, "bittensor.core.types.SubtensorMixin.chain_endpoint", false]], "chain_endpoint (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.chain_endpoint", false]], "chain_id (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_evm_chain_id attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID.chain_id", false]], "chainconnectionerror": [[25, "bittensor.core.errors.ChainConnectionError", false]], "chaindatatype (class in bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.ChainDataType", false]], "chainerror": [[25, "bittensor.core.errors.ChainError", false]], "chainidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.ChainIdentity", false]], "chainidentity (class in bittensor.core.chain_data.chain_identity)": [[2, "bittensor.core.chain_data.chain_identity.ChainIdentity", false]], "chainqueryerror": [[25, "bittensor.core.errors.ChainQueryError", false]], "chaintransactionerror": [[25, "bittensor.core.errors.ChainTransactionError", false]], "change_key (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY", false], [79, "id4", false]], "check_balance_amount() (in module bittensor.utils.balance)": [[101, "bittensor.utils.balance.check_balance_amount", false]], "check_config() (bittensor.core.axon.axon class method)": [[0, "bittensor.core.axon.Axon.check_config", false]], "check_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.check_config", false]], "check_latest_version_in_pypi() (in module bittensor.utils.version)": [[119, "bittensor.utils.version.check_latest_version_in_pypi", false]], "check_version (in module bittensor.utils)": [[111, "bittensor.utils.check_version", false]], "check_version() (in module bittensor.utils.version)": [[119, "bittensor.utils.version.check_version", false]], "children (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.children", false]], "childrenparams (class in bittensor.core.extrinsics.params.children)": [[45, "bittensor.core.extrinsics.params.children.ChildrenParams", false]], "clear_identity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY", false]], "clear_prime (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME", false], [79, "id8", false]], "close (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.close", false]], "close (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE", false]], "close() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.close", false]], "close_session() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.close_session", false]], "close_session() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.close_session", false], [24, "id5", false]], "code (bittensor.extras.dev_framework.calls.non_sudo_calls.apply_authorized_upgrade attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE.code", false]], "code (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE.code", false]], "code (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code_without_checks attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS.code", false]], "code_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE.code_hash", false]], "code_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade_without_checks attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS.code_hash", false]], "coldkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.coldkey", false]], "coldkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.coldkey", false]], "coldkey (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.coldkey", false]], "coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK.coldkey", false]], "coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.coldkey", false]], "coldkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.coldkey_ss58", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.coldkeys", false]], "coldkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Coldkeys", false]], "coldkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.coldkeys", false]], "coldkeys (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.coldkeys", false]], "color_map (in module bittensor.utils.btlogging.format)": [[104, "bittensor.utils.btlogging.format.color_map", false]], "commit (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.commit", false]], "commit (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.commit", false]], "commit (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.commit", false]], "commit_block (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_block", false]], "commit_crv3_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS", false]], "commit_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.commit_hash", false]], "commit_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS.commit_hash", false]], "commit_hashes (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_commit_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS.commit_hashes", false]], "commit_hex (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.commit_hex", false]], "commit_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS", false]], "commit_mechanism_weights() (bittensor.core.extrinsics.params.weights.weightsparams class method)": [[57, "bittensor.core.extrinsics.params.weights.WeightsParams.commit_mechanism_weights", false]], "commit_reveal_enabled (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments.commit_reveal_enabled", false]], "commit_reveal_enabled (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.commit_reveal_enabled", false]], "commit_reveal_enabled() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.commit_reveal_enabled", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_period", false]], "commit_reveal_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_period", false]], "commit_reveal_version (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.commit_reveal_version", false]], "commit_reveal_version (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.commit_reveal_version", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.commit_reveal_weights_enabled", false]], "commit_reveal_weights_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.commit_reveal_weights_enabled", false]], "commit_timelocked_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS", false]], "commit_timelocked_mechanism_weights() (bittensor.core.extrinsics.params.weights.weightsparams class method)": [[57, "bittensor.core.extrinsics.params.weights.WeightsParams.commit_timelocked_mechanism_weights", false]], "commit_timelocked_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS", false]], "commit_timelocked_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[40, "bittensor.core.extrinsics.asyncex.weights.commit_timelocked_weights_extrinsic", false]], "commit_timelocked_weights_extrinsic() (in module bittensor.core.extrinsics.weights)": [[68, "bittensor.core.extrinsics.weights.commit_timelocked_weights_extrinsic", false]], "commit_weights (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.commit_weights", false]], "commit_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS", false]], "commit_weights() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.commit_weights", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[40, "bittensor.core.extrinsics.asyncex.weights.commit_weights_extrinsic", false]], "commit_weights_extrinsic() (in module bittensor.core.extrinsics.weights)": [[68, "bittensor.core.extrinsics.weights.commit_weights_extrinsic", false]], "commitments (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.commitments", false]], "commitments (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Commitments", false]], "commitments (bittensor.extras.subtensor_api.subtensorapi property)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.commitments", false]], "commitments (class in bittensor.extras.subtensor_api.commitments)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments", false]], "commitments (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Commitments", false]], "commitrevealperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealPeriod", false]], "commitrevealweightsenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.CommitRevealWeightsEnabled", false]], "compose_call (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.compose_call", false]], "compose_call() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.compose_call", false]], "computed_body_hash (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.computed_body_hash", false]], "config (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.config", false]], "config (class in bittensor.core.config)": [[23, "bittensor.core.config.Config", false]], "config() (bittensor.core.axon.axon class method)": [[0, "bittensor.core.axon.Axon.config", false]], "config() (bittensor.core.threadpool.prioritythreadpoolexecutor class method)": [[76, "bittensor.core.threadpool.PriorityThreadPoolExecutor.config", false]], "config() (bittensor.core.types.subtensormixin static method)": [[77, "bittensor.core.types.SubtensorMixin.config", false]], "config() (bittensor.utils.btlogging.loggingmachine.loggingmachine class method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.config", false]], "config_payload (bittensor.extras.dev_framework.calls.non_sudo_calls.set_beacon_config attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG.config_payload", false]], "connection_requirements (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.connection_requirements", false]], "consensus (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.consensus", false]], "consensus (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Consensus", false]], "consensus (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.consensus", false]], "consensus (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.consensus", false]], "consensus (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.consensus", false]], "consensus (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.consensus", false]], "consensus (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.consensus", false]], "consensus (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.consensus", false]], "console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.console", false]], "console (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[116, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.console", false]], "console (class in bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.Console", false]], "contribute (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE", false]], "convert_and_normalize_weights_and_uids() (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.convert_and_normalize_weights_and_uids", false]], "convert_bond_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.convert_bond_uids_and_vals_to_tensor", false]], "convert_maybe_split_to_u16() (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.convert_maybe_split_to_u16", false]], "convert_root_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.convert_root_weight_uids_and_vals_to_tensor", false]], "convert_uids_and_weights() (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.convert_uids_and_weights", false]], "convert_weight_uids_and_vals_to_tensor() (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.convert_weight_uids_and_vals_to_tensor", false]], "convert_weights_and_uids_for_emit() (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.convert_weights_and_uids_for_emit", false]], "cooldown (bittensor.extras.dev_framework.calls.non_sudo_calls.set_pending_childkey_cooldown attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN.cooldown", false]], "copy() (bittensor.core.types.axonservecallparams method)": [[77, "bittensor.core.types.AxonServeCallParams.copy", false]], "create (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE", false], [79, "id11", false]], "create2 (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2", false]], "create_error_response() (in module bittensor.core.axon)": [[0, "bittensor.core.axon.create_error_response", false]], "create_pow() (in module bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.create_pow", false]], "create_pow_async() (in module bittensor.utils.registration.async_pow)": [[114, "bittensor.utils.registration.async_pow.create_pow_async", false]], "create_pure (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE", false]], "create_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[72, "bittensor.core.stream.StreamingSynapse.create_streaming_response", false]], "critical() (bittensor.utils.btlogging.console.bittensorconsole method)": [[102, "bittensor.utils.btlogging.console.BittensorConsole.critical", false]], "critical() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.critical", false]], "crowdloan (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Crowdloan", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.contribute attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.finalize attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.refund attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.update_cap attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.update_end attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.update_min_contribution attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION.crowdloan_id", false]], "crowdloan_id (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.crowdloan_id", false]], "cudasolver (class in bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.CUDASolver", false]], "custom_logger_method_stack_level (in module bittensor.utils.btlogging.loggingmachine)": [[108, "bittensor.utils.btlogging.loggingmachine.CUSTOM_LOGGER_METHOD_STACK_LEVEL", false]], "d (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.D", false]], "data (bittensor.core.types.extrinsicresponse attribute)": [[77, "bittensor.core.types.ExtrinsicResponse.data", false]], "date_format (in module bittensor.utils.btlogging.defines)": [[103, "bittensor.utils.btlogging.defines.DATE_FORMAT", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.debug", false]], "debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Debug", false]], "debug() (bittensor.utils.btlogging.console.bittensorconsole method)": [[102, "bittensor.utils.btlogging.console.BittensorConsole.debug", false]], "debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.debug", false]], "debug() (in module bittensor.utils.btlogging.levels)": [[107, "bittensor.utils.btlogging.levels.debug", false]], "decode_account_id() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_account_id", false]], "decode_account_id_list() (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo class method)": [[14, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.decode_account_id_list", false]], "decode_block() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_block", false]], "decode_hex_identity_dict() (in module bittensor.utils)": [[111, "bittensor.utils.decode_hex_identity_dict", false]], "decode_metadata() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_metadata", false]], "decode_revealed_commitment() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_revealed_commitment", false]], "decode_revealed_commitment_with_hotkey() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.decode_revealed_commitment_with_hotkey", false]], "decrease_take (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE", false]], "decrypt() (in module bittensor.extras.timelock)": [[98, "bittensor.extras.timelock.decrypt", false]], "default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Default", false]], "default_endpoint (in module bittensor.core.settings)": [[71, "bittensor.core.settings.DEFAULT_ENDPOINT", false]], "default_log_backup_count (in module bittensor.utils.btlogging.defines)": [[103, "bittensor.utils.btlogging.defines.DEFAULT_LOG_BACKUP_COUNT", false]], "default_log_file_name (in module bittensor.utils.btlogging.defines)": [[103, "bittensor.utils.btlogging.defines.DEFAULT_LOG_FILE_NAME", false]], "default_log_format (in module bittensor.utils.btlogging.format)": [[104, "bittensor.utils.btlogging.format.DEFAULT_LOG_FORMAT", false]], "default_max_rotating_log_file_size (in module bittensor.utils.btlogging.defines)": [[103, "bittensor.utils.btlogging.defines.DEFAULT_MAX_ROTATING_LOG_FILE_SIZE", false]], "default_network (in module bittensor.core.settings)": [[71, "bittensor.core.settings.DEFAULT_NETWORK", false]], "default_take (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_default_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE.default_take", false]], "default_trace_format (in module bittensor.utils.btlogging.format)": [[104, "bittensor.utils.btlogging.format.DEFAULT_TRACE_FORMAT", false]], "default_verify() (bittensor.core.axon.axon method)": [[0, "bittensor.core.axon.Axon.default_verify", false]], "defaults (in module bittensor.core.settings)": [[71, "bittensor.core.settings.DEFAULTS", false]], "delay (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.delay", false]], "delay (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.delay", false]], "delay (bittensor.extras.dev_framework.calls.non_sudo_calls.note_stalled attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED.delay", false]], "delay (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.delay", false]], "delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.delegate", false]], "delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.delegate", false]], "delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.reject_announcement attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT.delegate", false]], "delegate (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.delegate", false]], "delegate_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[4, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.delegate_ss58", false]], "delegatedinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DelegatedInfo", false]], "delegatedinfo (class in bittensor.core.chain_data.delegate_info)": [[3, "bittensor.core.chain_data.delegate_info.DelegatedInfo", false]], "delegateinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DelegateInfo", false]], "delegateinfo (class in bittensor.core.chain_data.delegate_info)": [[3, "bittensor.core.chain_data.delegate_info.DelegateInfo", false]], "delegateinfobase (class in bittensor.core.chain_data.delegate_info)": [[3, "bittensor.core.chain_data.delegate_info.DelegateInfoBase", false]], "delegateinfolite (class in bittensor.core.chain_data.delegate_info_lite)": [[4, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite", false]], "delegates (bittensor.extras.subtensor_api.subtensorapi property)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.delegates", false]], "delegates (class in bittensor.extras.subtensor_api.delegates)": [[88, "bittensor.extras.subtensor_api.delegates.Delegates", false]], "delegatetaketoohigh": [[25, "bittensor.core.errors.DelegateTakeTooHigh", false]], "delegatetaketoolow": [[25, "bittensor.core.errors.DelegateTakeTooLow", false]], "delegatetxratelimitexceeded": [[25, "bittensor.core.errors.DelegateTxRateLimitExceeded", false]], "delta (bittensor.extras.dev_framework.calls.non_sudo_calls.force_adjust_total_issuance attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE.delta", false]], "dendrite (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.dendrite", false]], "dendrite (bittensor.utils.subnets.subnetsapi attribute)": [[118, "bittensor.utils.subnets.SubnetsAPI.dendrite", false]], "dendrite (class in bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.Dendrite", false]], "dendrite_default_error (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DENDRITE_DEFAULT_ERROR", false]], "dendrite_error_mapping (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DENDRITE_ERROR_MAPPING", false]], "dendritemixin (class in bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.DendriteMixin", false]], "deposit (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.deposit", false]], "deprecated_message() (in module bittensor.utils)": [[111, "bittensor.utils.deprecated_message", false]], "deregister_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.deregister_primary_logger", false]], "description (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[2, "bittensor.core.chain_data.chain_identity.ChainIdentity.description", false]], "description (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.description", false]], "description (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.description", false]], "description (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.description", false]], "deserialize() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.deserialize", false], [74, "id1", false]], "deserialize() (bittensor.core.tensor.tensor method)": [[75, "bittensor.core.tensor.Tensor.deserialize", false]], "dest (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.dest", false]], "dest (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_all attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL.dest", false]], "dest (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_allow_death attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH.dest", false]], "dest (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_keep_alive attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE.dest", false]], "destination_coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.destination_coldkey", false]], "destination_hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.destination_hotkey", false]], "destination_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.destination_netuid", false]], "destination_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.destination_netuid", false]], "destination_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.destination_netuid", false]], "destination_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.destination_netuid", false]], "dests (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.dests", false]], "dests (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.dests", false]], "determine_block_hash (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.determine_block_hash", false]], "determine_block_hash() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.determine_block_hash", false]], "determine_chain_endpoint_and_network() (in module bittensor.utils)": [[111, "bittensor.utils.determine_chain_endpoint_and_network", false]], "dev_id (bittensor.utils.registration.pow.cudasolver attribute)": [[116, "bittensor.utils.registration.pow.CUDASolver.dev_id", false]], "dict() (bittensor.core.types.axonservecallparams method)": [[77, "bittensor.core.types.AxonServeCallParams.dict", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.difficulty", false]], "difficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.difficulty", false]], "difficulty (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.difficulty", false]], "difficulty (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.difficulty", false]], "difficulty (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.difficulty", false]], "difficulty (bittensor.utils.registration.pow.powsolution attribute)": [[116, "bittensor.utils.registration.pow.POWSolution.difficulty", false]], "difficulty (bittensor.utils.registration.pow.registrationstatistics attribute)": [[116, "bittensor.utils.registration.pow.RegistrationStatistics.difficulty", false]], "difficulty() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.difficulty", false]], "direction (bittensor.extras.dev_framework.calls.non_sudo_calls.force_adjust_total_issuance attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE.direction", false]], "disable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_debug", false]], "disable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_info", false]], "disable_logging (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_logging", false]], "disable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_third_party_loggers", false]], "disable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_trace", false]], "disable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.disable_warning", false]], "disable_whitelist (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST", false]], "disabled (bittensor.extras.dev_framework.calls.non_sudo_calls.disable_whitelist attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST.disabled", false]], "disabled (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Disabled", false]], "disapprove_proposal (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL", false]], "discord (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[2, "bittensor.core.chain_data.chain_identity.ChainIdentity.discord", false]], "discord (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.discord", false]], "discord (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.discord", false]], "discord (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.discord", false]], "dispatch() (bittensor.core.axon.axonmiddleware method)": [[0, "bittensor.core.axon.AxonMiddleware.dispatch", false]], "dispatch_as (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS", false]], "dispatch_as_fallible (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE", false]], "dissolve (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE", false]], "dissolve_network (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK", false]], "dividends (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.dividends", false]], "dividends (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Dividends", false]], "dividends (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.dividends", false]], "dividends (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.dividends", false]], "dividends (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.dividends", false]], "dividends (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.dividends", false]], "dividends (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.dividends", false]], "dividends (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.dividends", false]], "does_hotkey_exist (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.does_hotkey_exist", false]], "does_hotkey_exist() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.does_hotkey_exist", false]], "drain (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.drain", false]], "drand (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Drand", false]], "dtype (bittensor.core.tensor.tensor attribute)": [[75, "bittensor.core.tensor.Tensor.dtype", false]], "dtypes (class in bittensor.core.tensor)": [[75, "bittensor.core.tensor.DTypes", false]], "dtypes (in module bittensor.core.tensor)": [[75, "bittensor.core.tensor.dtypes", false]], "duplicatechild": [[25, "bittensor.core.errors.DuplicateChild", false]], "duration (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.duration", false]], "duration (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_coldkey_swap_schedule_duration attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION.duration", false]], "duration (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_dissolve_network_schedule_duration attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION.duration", false]], "dynamicinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.DynamicInfo", false]], "dynamicinfo (class in bittensor.core.chain_data.dynamic_info)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo", false]], "e (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.E", false]], "elasticity (bittensor.extras.dev_framework.calls.non_sudo_calls.set_elasticity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY.elasticity", false]], "ema_halving (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.ema_halving", false]], "emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.emission", false]], "emission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Emission", false]], "emission (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.emission", false]], "emission (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.emission", false]], "emission (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.emission", false]], "emission (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.emission", false]], "emission (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.emission", false]], "emission (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.emission", false]], "emission (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.emission", false]], "emission_history (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.emission_history", false]], "emission_value (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.emission_value", false]], "emissions (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.emissions", false]], "emissions_share (bittensor.extras.dev_framework.calls.non_sudo_calls.register_leased_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK.emissions_share", false]], "emoji_map (in module bittensor.utils.btlogging.format)": [[104, "bittensor.utils.btlogging.format.emoji_map", false]], "enable (bittensor.extras.dev_framework.calls.non_sudo_calls.toggle_user_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY.enable", false]], "enable_console (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_console", false]], "enable_debug (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_debug", false]], "enable_default (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_default", false]], "enable_info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_info", false]], "enable_third_party_loggers() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_third_party_loggers", false]], "enable_trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_trace", false]], "enable_warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.enable_warning", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.enabled", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.enabled", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.enabled", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.enabled", false]], "enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.enabled", false]], "encode() (bittensor.core.chain_data.ip_info.ipinfo method)": [[8, "bittensor.core.chain_data.ip_info.IPInfo.encode", false]], "encode_params (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.encode_params", false]], "encode_params() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.encode_params", false]], "encrypt() (in module bittensor.extras.timelock)": [[98, "bittensor.extras.timelock.encrypt", false]], "end (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[13, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.end", false]], "end (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.end", false]], "end_block (bittensor.extras.dev_framework.calls.non_sudo_calls.register_leased_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK.end_block", false]], "ensure_updated (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED", false]], "enter (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER", false]], "epochs (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_hparam_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT.epochs", false]], "equivocation_proof (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION.equivocation_proof", false]], "equivocation_proof (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation_unsigned attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED.equivocation_proof", false]], "error (bittensor.core.types.extrinsicresponse attribute)": [[77, "bittensor.core.types.ExtrinsicResponse.error", false]], "error() (bittensor.utils.btlogging.console.bittensorconsole method)": [[102, "bittensor.utils.btlogging.console.BittensorConsole.error", false]], "error() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.error", false]], "ethereum (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Ethereum", false]], "event_loop_is_running() (in module bittensor.core.dendrite)": [[24, "bittensor.core.dendrite.event_loop_is_running", false]], "evm (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.EVM", false]], "evm_key (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.evm_key", false]], "exception() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.exception", false]], "execute (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE", false]], "execute_one() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.execute_one", false]], "execute_steps() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.execute_steps", false]], "explorer (bittensor.core.types.blockinfo attribute)": [[77, "bittensor.core.types.BlockInfo.explorer", false]], "ext_index (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.ext_index", false]], "extend (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND", false]], "external_ip (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.external_ip", false]], "external_ip (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.external_ip", false]], "external_port (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.external_port", false]], "externalipnotfound": [[113, "bittensor.utils.networking.ExternalIPNotFound", false]], "extract_response_json() (bittensor.core.stream.streamingsynapse method)": [[72, "bittensor.core.stream.StreamingSynapse.extract_response_json", false]], "extrinsic (bittensor.core.types.extrinsicresponse attribute)": [[77, "bittensor.core.types.ExtrinsicResponse.extrinsic", false]], "extrinsic_fee (bittensor.core.types.extrinsicresponse attribute)": [[77, "bittensor.core.types.ExtrinsicResponse.extrinsic_fee", false]], "extrinsic_function (bittensor.core.types.extrinsicresponse attribute)": [[77, "bittensor.core.types.ExtrinsicResponse.extrinsic_function", false]], "extrinsic_receipt (bittensor.core.types.extrinsicresponse attribute)": [[77, "bittensor.core.types.ExtrinsicResponse.extrinsic_receipt", false]], "extrinsicnotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.ExtrinsicNotFound", false]], "extrinsicresponse (class in bittensor.core.types)": [[77, "bittensor.core.types.ExtrinsicResponse", false]], "extrinsics (bittensor.core.types.blockinfo attribute)": [[77, "bittensor.core.types.BlockInfo.extrinsics", false]], "extrinsics (bittensor.extras.subtensor_api.subtensorapi property)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.extrinsics", false]], "extrinsics (class in bittensor.extras.subtensor_api.extrinsics)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics", false]], "failed_verification (bittensor.core.synapse.synapse property)": [[74, "bittensor.core.synapse.Synapse.failed_verification", false]], "fallback (bittensor.extras.dev_framework.calls.non_sudo_calls.if_else attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE.fallback", false]], "fast_config (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.fast_config", false]], "fast_server (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.fast_server", false]], "fastapithreadedserver (class in bittensor.core.axon)": [[0, "bittensor.core.axon.FastAPIThreadedServer", false]], "faucet (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET", false]], "fee (bittensor.extras.dev_framework.calls.non_sudo_calls.set_base_fee_per_gas attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS.fee", false]], "fees_alpha (bittensor.utils.liquidity.liquidityposition attribute)": [[112, "bittensor.utils.liquidity.LiquidityPosition.fees_alpha", false]], "fees_tao (bittensor.utils.liquidity.liquidityposition attribute)": [[112, "bittensor.utils.liquidity.LiquidityPosition.fees_tao", false]], "filter_netuids_by_registered_hotkeys (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.filter_netuids_by_registered_hotkeys", false]], "filter_netuids_by_registered_hotkeys() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.filter_netuids_by_registered_hotkeys", false]], "finalize (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE", false]], "finney_entrypoint (in module bittensor.core.settings)": [[71, "bittensor.core.settings.FINNEY_ENTRYPOINT", false]], "finney_test_entrypoint (in module bittensor.core.settings)": [[71, "bittensor.core.settings.FINNEY_TEST_ENTRYPOINT", false]], "fixed_to_float() (in module bittensor.utils.balance)": [[101, "bittensor.utils.balance.fixed_to_float", false]], "fixedpoint (class in bittensor.utils.balance)": [[101, "bittensor.utils.balance.FixedPoint", false]], "float_to_u64() (in module bittensor.utils)": [[111, "bittensor.utils.float_to_u64", false]], "force_adjust_total_issuance (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE", false]], "force_batch (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH", false]], "force_enter (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER", false]], "force_exit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT", false]], "force_extend (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND", false]], "force_proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.force_proxy_type", false]], "force_proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.force_proxy_type", false]], "force_release_deposit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT", false]], "force_set_balance (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE", false]], "force_slash_deposit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT", false]], "force_transfer (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER", false]], "force_unreserve (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE", false]], "forced (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.forced", false]], "format() (bittensor.utils.btlogging.format.btfileformatter method)": [[104, "bittensor.utils.btlogging.format.BtFileFormatter.format", false]], "format() (bittensor.utils.btlogging.format.btstreamformatter method)": [[104, "bittensor.utils.btlogging.format.BtStreamFormatter.format", false]], "format_error_message() (in module bittensor.utils)": [[111, "bittensor.utils.format_error_message", false]], "formattime() (bittensor.utils.btlogging.format.btfileformatter method)": [[104, "bittensor.utils.btlogging.format.BtFileFormatter.formatTime", false]], "formattime() (bittensor.utils.btlogging.format.btstreamformatter method)": [[104, "bittensor.utils.btlogging.format.BtStreamFormatter.formatTime", false]], "forward() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.forward", false]], "forward() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.forward", false], [24, "id7", false]], "forward_class_types (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.forward_class_types", false]], "forward_fns (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.forward_fns", false]], "from_dict() (bittensor.core.chain_data.info_base.infobase class method)": [[7, "bittensor.core.chain_data.info_base.InfoBase.from_dict", false]], "from_dict() (bittensor.core.chain_data.proposal_vote_data.proposalvotedata class method)": [[13, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.from_dict", false]], "from_dict() (bittensor.core.chain_data.sim_swap.simswapresult class method)": [[15, "bittensor.core.chain_data.sim_swap.SimSwapResult.from_dict", false]], "from_dict() (bittensor.core.chain_data.stake_info.stakeinfo class method)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.from_dict", false]], "from_error() (bittensor.core.errors.chainerror class method)": [[25, "bittensor.core.errors.ChainError.from_error", false]], "from_exception() (bittensor.core.types.extrinsicresponse class method)": [[77, "bittensor.core.types.ExtrinsicResponse.from_exception", false]], "from_float() (bittensor.utils.balance.balance static method)": [[101, "bittensor.utils.balance.Balance.from_float", false]], "from_headers() (bittensor.core.synapse.synapse class method)": [[74, "id2", false]], "from_headers() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.from_headers", false]], "from_neuron_info() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.from_neuron_info", false]], "from_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.from_parameter_dict", false]], "from_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo class method)": [[8, "bittensor.core.chain_data.ip_info.IPInfo.from_parameter_dict", false]], "from_rao() (bittensor.utils.balance.balance static method)": [[101, "bittensor.utils.balance.Balance.from_rao", false]], "from_scale_encoding() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.from_scale_encoding", false]], "from_scale_encoding_using_type_string() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.from_scale_encoding_using_type_string", false]], "from_string() (bittensor.core.chain_data.axon_info.axoninfo class method)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.from_string", false]], "from_tao() (bittensor.utils.balance.balance static method)": [[101, "bittensor.utils.balance.Balance.from_tao", false]], "from_vec_u8() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8", false]], "from_vec_u8_v2() (bittensor.core.chain_data.weight_commit_info.weightcommitinfo class method)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.from_vec_u8_v2", false]], "from_weights_bonds_and_neuron_lite() (bittensor.core.chain_data.neuron_info.neuroninfo class method)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.from_weights_bonds_and_neuron_lite", false]], "full_address (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.full_address", false]], "gas_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.gas_limit", false]], "gas_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.gas_limit", false]], "gas_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.gas_limit", false]], "generate_weight_hash() (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.generate_weight_hash", false]], "get_admin_freeze_window (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.get_admin_freeze_window", false]], "get_admin_freeze_window() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_admin_freeze_window", false]], "get_all_commitments (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments.get_all_commitments", false]], "get_all_commitments() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_all_commitments", false]], "get_all_metagraphs_info (bittensor.extras.subtensor_api.metagraphs.metagraphs attribute)": [[91, "bittensor.extras.subtensor_api.metagraphs.Metagraphs.get_all_metagraphs_info", false]], "get_all_metagraphs_info() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_all_metagraphs_info", false]], "get_all_neuron_certificates (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[92, "bittensor.extras.subtensor_api.neurons.Neurons.get_all_neuron_certificates", false]], "get_all_neuron_certificates() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_all_neuron_certificates", false]], "get_all_revealed_commitments (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments.get_all_revealed_commitments", false]], "get_all_revealed_commitments() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_all_revealed_commitments", false]], "get_all_subnets_info (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_all_subnets_info", false]], "get_all_subnets_info() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_all_subnets_info", false]], "get_all_subnets_netuid (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_all_subnets_netuid", false]], "get_all_subnets_netuid() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_all_subnets_netuid", false]], "get_and_save_latest_version() (in module bittensor.utils.version)": [[119, "bittensor.utils.version.get_and_save_latest_version", false]], "get_auto_stakes (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.get_auto_stakes", false]], "get_auto_stakes() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_auto_stakes", false]], "get_balance (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_balance", false]], "get_balance() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_balance", false]], "get_balances (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_balances", false]], "get_balances() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_balances", false]], "get_block_hash (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.get_block_hash", false]], "get_block_hash() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_block_hash", false]], "get_block_info (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.get_block_info", false]], "get_block_info() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_block_info", false]], "get_caller_name() (in module bittensor.utils)": [[111, "bittensor.utils.get_caller_name", false]], "get_children (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_children", false]], "get_children (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_children", false]], "get_children() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_children", false]], "get_children_pending (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_children_pending", false]], "get_children_pending (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_children_pending", false]], "get_children_pending() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_children_pending", false]], "get_commitment (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments.get_commitment", false]], "get_commitment() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_commitment", false]], "get_commitment_metadata (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments.get_commitment_metadata", false]], "get_commitment_metadata() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_commitment_metadata", false]], "get_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_config", false]], "get_cpu_count() (in module bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.get_cpu_count", false]], "get_current_block (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.get_current_block", false]], "get_current_block() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_current_block", false]], "get_delegate_by_hotkey (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[88, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_delegate_by_hotkey", false]], "get_delegate_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_delegate_by_hotkey", false]], "get_delegate_identities (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.get_delegate_identities", false]], "get_delegate_identities (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[88, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegate_identities", false]], "get_delegate_identities() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_delegate_identities", false]], "get_delegate_take (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[88, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegate_take", false]], "get_delegate_take (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_delegate_take", false]], "get_delegate_take() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_delegate_take", false]], "get_delegated (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[88, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegated", false]], "get_delegated (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_delegated", false]], "get_delegated() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_delegated", false]], "get_delegates (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[88, "bittensor.extras.subtensor_api.delegates.Delegates.get_delegates", false]], "get_delegates() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_delegates", false]], "get_existential_deposit (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.get_existential_deposit", false]], "get_existential_deposit() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_existential_deposit", false]], "get_explorer_url_for_network() (in module bittensor.utils)": [[111, "bittensor.utils.get_explorer_url_for_network", false]], "get_external_ip() (in module bittensor.utils.networking)": [[113, "bittensor.utils.networking.get_external_ip", false]], "get_extrinsic_fee (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.get_extrinsic_fee", false]], "get_extrinsic_fee() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_extrinsic_fee", false]], "get_fees() (in module bittensor.utils.liquidity)": [[112, "bittensor.utils.liquidity.get_fees", false]], "get_fees_in_range() (in module bittensor.utils.liquidity)": [[112, "bittensor.utils.liquidity.get_fees_in_range", false]], "get_formatted_ws_endpoint_url() (in module bittensor.utils.networking)": [[113, "bittensor.utils.networking.get_formatted_ws_endpoint_url", false]], "get_function_name() (in module bittensor.utils)": [[111, "bittensor.utils.get_function_name", false]], "get_hash() (in module bittensor.utils)": [[111, "bittensor.utils.get_hash", false]], "get_hotkey_owner (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_hotkey_owner", false]], "get_hotkey_owner() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_hotkey_owner", false]], "get_hotkey_stake (bittensor.core.subtensor.subtensor attribute)": [[73, "bittensor.core.subtensor.Subtensor.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.get_hotkey_stake", false]], "get_hotkey_stake (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_hotkey_stake", false]], "get_human_readable() (in module bittensor.utils.formatting)": [[110, "bittensor.utils.formatting.get_human_readable", false]], "get_hyperparameter (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_hyperparameter", false]], "get_hyperparameter() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_hyperparameter", false]], "get_last_bonds_reset (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments.get_last_bonds_reset", false]], "get_last_bonds_reset() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_last_bonds_reset", false]], "get_last_commitment_bonds_reset_block (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments.get_last_commitment_bonds_reset_block", false]], "get_last_commitment_bonds_reset_block() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_last_commitment_bonds_reset_block", false]], "get_level() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_level", false]], "get_liquidity_list (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_liquidity_list", false]], "get_liquidity_list() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_liquidity_list", false]], "get_max_logger_name_length() (in module bittensor.utils.btlogging.helpers)": [[105, "bittensor.utils.btlogging.helpers.get_max_logger_name_length", false]], "get_mechanism_count (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_mechanism_count", false]], "get_mechanism_count() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_mechanism_count", false]], "get_mechanism_emission_split (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_mechanism_emission_split", false]], "get_mechanism_emission_split() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_mechanism_emission_split", false]], "get_mechid_storage_index() (in module bittensor.utils)": [[111, "bittensor.utils.get_mechid_storage_index", false]], "get_metagraph_info (bittensor.extras.subtensor_api.metagraphs.metagraphs attribute)": [[91, "bittensor.extras.subtensor_api.metagraphs.Metagraphs.get_metagraph_info", false]], "get_metagraph_info() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_metagraph_info", false]], "get_minimum_required_stake (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.get_minimum_required_stake", false]], "get_minimum_required_stake (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_minimum_required_stake", false]], "get_minimum_required_stake() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_minimum_required_stake", false]], "get_netuid_and_mechid_by_storage_index() (in module bittensor.utils)": [[111, "bittensor.utils.get_netuid_and_mechid_by_storage_index", false]], "get_netuids_for_hotkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_netuids_for_hotkey", false]], "get_netuids_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_netuids_for_hotkey", false]], "get_neuron_certificate (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[92, "bittensor.extras.subtensor_api.neurons.Neurons.get_neuron_certificate", false]], "get_neuron_certificate() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_neuron_certificate", false]], "get_neuron_for_pubkey_and_subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_neuron_for_pubkey_and_subnet", false]], "get_neuron_for_pubkey_and_subnet() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_neuron_for_pubkey_and_subnet", false]], "get_next_epoch_start_block (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_next_epoch_start_block", false]], "get_next_epoch_start_block() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_next_epoch_start_block", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info.neuroninfo static method)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.get_null_neuron", false]], "get_null_neuron() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite static method)": [[11, "id0", false]], "get_old_stakes() (in module bittensor.core.extrinsics.utils)": [[67, "bittensor.core.extrinsics.utils.get_old_stakes", false]], "get_owned_hotkeys (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_owned_hotkeys", false]], "get_owned_hotkeys() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_owned_hotkeys", false]], "get_parents (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_parents", false]], "get_parents (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_parents", false]], "get_parents() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_parents", false]], "get_queue() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.get_queue", false]], "get_required_fields() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.get_required_fields", false]], "get_revealed_commitment (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments.get_revealed_commitment", false]], "get_revealed_commitment() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_revealed_commitment", false]], "get_revealed_commitment_by_hotkey (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments.get_revealed_commitment_by_hotkey", false]], "get_revealed_commitment_by_hotkey() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_revealed_commitment_by_hotkey", false]], "get_save_dir() (in module bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.get_save_dir", false]], "get_selective_metagraph_commitments() (in module bittensor.core.chain_data.metagraph_info)": [[9, "bittensor.core.chain_data.metagraph_info.get_selective_metagraph_commitments", false]], "get_size() (in module bittensor.core.synapse)": [[74, "bittensor.core.synapse.get_size", false]], "get_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.get_stake", false]], "get_stake (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake", false]], "get_stake() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_stake", false]], "get_stake_add_fee (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.get_stake_add_fee", false]], "get_stake_add_fee (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_add_fee", false]], "get_stake_add_fee() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_stake_add_fee", false]], "get_stake_for_coldkey_and_hotkey (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_coldkey_and_hotkey() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_stake_for_coldkey_and_hotkey", false]], "get_stake_for_hotkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_for_hotkey", false]], "get_stake_for_hotkey() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_stake_for_hotkey", false]], "get_stake_info_for_coldkey (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_info_for_coldkey", false]], "get_stake_info_for_coldkey() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_stake_info_for_coldkey", false]], "get_stake_movement_fee (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.get_stake_movement_fee", false]], "get_stake_movement_fee (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_stake_movement_fee", false]], "get_stake_movement_fee() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_stake_movement_fee", false]], "get_stake_weight (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.get_stake_weight", false]], "get_stake_weight() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_stake_weight", false]], "get_status_message() (bittensor.utils.registration.pow.registrationstatisticslogger class method)": [[116, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.get_status_message", false]], "get_subnet_burn_cost (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_burn_cost", false]], "get_subnet_burn_cost() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_subnet_burn_cost", false]], "get_subnet_hyperparameters (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_hyperparameters", false]], "get_subnet_hyperparameters() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_subnet_hyperparameters", false]], "get_subnet_info (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_info", false]], "get_subnet_info() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_subnet_info", false]], "get_subnet_owner_hotkey (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_owner_hotkey", false]], "get_subnet_owner_hotkey() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_subnet_owner_hotkey", false]], "get_subnet_price (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_price", false]], "get_subnet_price() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_subnet_price", false]], "get_subnet_prices (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_prices", false]], "get_subnet_prices() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_subnet_prices", false]], "get_subnet_reveal_period_epochs (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_reveal_period_epochs", false]], "get_subnet_reveal_period_epochs() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_subnet_reveal_period_epochs", false]], "get_subnet_validator_permits (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_subnet_validator_permits", false]], "get_subnet_validator_permits() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_subnet_validator_permits", false]], "get_timelocked_weight_commits (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments.get_timelocked_weight_commits", false]], "get_timelocked_weight_commits() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_timelocked_weight_commits", false]], "get_timestamp (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.get_timestamp", false]], "get_timestamp() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_timestamp", false]], "get_total_size() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.get_total_size", false], [74, "id3", false]], "get_total_subnets (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_total_subnets", false]], "get_total_subnets() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_total_subnets", false]], "get_transfer_fee (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_transfer_fee", false]], "get_transfer_fee() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_transfer_fee", false]], "get_transfer_fn_params() (in module bittensor.core.extrinsics.params.transfer)": [[55, "bittensor.core.extrinsics.params.transfer.get_transfer_fn_params", false]], "get_uid_for_hotkey_on_subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.get_uid_for_hotkey_on_subnet", false]], "get_uid_for_hotkey_on_subnet() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_uid_for_hotkey_on_subnet", false]], "get_unit() (bittensor.utils.balance.balance static method)": [[101, "bittensor.utils.balance.Balance.get_unit", false]], "get_unstake_fee (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.get_unstake_fee", false]], "get_unstake_fee (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.get_unstake_fee", false]], "get_unstake_fee() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_unstake_fee", false]], "get_vote_data (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.get_vote_data", false]], "get_vote_data() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.get_vote_data", false]], "github (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[2, "bittensor.core.chain_data.chain_identity.ChainIdentity.github", false]], "github_repo (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.github_repo", false]], "github_repo (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.github_repo", false]], "github_repo (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.github_repo", false]], "global_max_subnet_count (in module bittensor.utils)": [[111, "bittensor.utils.GLOBAL_MAX_SUBNET_COUNT", false]], "grandpa (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Grandpa", false]], "hash (bittensor.core.types.blockinfo attribute)": [[77, "bittensor.core.types.BlockInfo.hash", false]], "hash (bittensor.extras.dev_framework.calls.non_sudo_calls.request_preimage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE.hash", false]], "hash (bittensor.extras.dev_framework.calls.non_sudo_calls.unnote_preimage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE.hash", false]], "hash (bittensor.extras.dev_framework.calls.non_sudo_calls.unrequest_preimage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE.hash", false]], "hash_rate (bittensor.utils.registration.pow.registrationstatistics attribute)": [[116, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate", false]], "hash_rate_perpetual (bittensor.utils.registration.pow.registrationstatistics attribute)": [[116, "bittensor.utils.registration.pow.RegistrationStatistics.hash_rate_perpetual", false]], "hashes (bittensor.extras.dev_framework.calls.non_sudo_calls.ensure_updated attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED.hashes", false]], "header (bittensor.core.types.blockinfo attribute)": [[77, "bittensor.core.types.BlockInfo.header", false]], "header (in module bittensor.extras.dev_framework.calls)": [[78, "bittensor.extras.dev_framework.calls.HEADER", false]], "header_size (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.header_size", false]], "height (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.height", false]], "help (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.help", false]], "help() (bittensor.core.axon.axon class method)": [[0, "bittensor.core.axon.Axon.help", false]], "help() (bittensor.core.types.subtensormixin class method)": [[77, "bittensor.core.types.SubtensorMixin.help", false]], "help() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.help", false]], "hex_to_bytes (in module bittensor.utils)": [[111, "bittensor.utils.hex_to_bytes", false]], "hex_to_ss58 (in module bittensor.utils)": [[111, "bittensor.utils.hex_to_ss58", false]], "home_dir (in module bittensor.core.settings)": [[71, "bittensor.core.settings.HOME_DIR", false]], "hotkey (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.hotkey", false]], "hotkey (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.hotkey", false]], "hotkey (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.hotkey", false]], "hotkey (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.adjust_senate attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.burned_register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.decrease_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.increase_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network_with_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.root_register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.set_coldkey_auto_stake_hotkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.terminate_lease attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.try_associate_hotkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.hotkey", false]], "hotkey (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.hotkey", false]], "hotkey_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[3, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.hotkey_ss58", false]], "hotkey_ss58 (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.hotkey_ss58", false]], "hotkeyaccountnotexists": [[25, "bittensor.core.errors.HotKeyAccountNotExists", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.hotkeys", false]], "hotkeys (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Hotkeys", false]], "hotkeys (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.hotkeys", false]], "hotkeys (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.hotkeys", false]], "hparams (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.hparams", false]], "i (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.I", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED.id", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED.id", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.id", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.id", false]], "id (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.id", false]], "id (bittensor.utils.liquidity.liquidityposition attribute)": [[112, "bittensor.utils.liquidity.LiquidityPosition.id", false]], "identified (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY.identified", false]], "identified (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.identified", false]], "identities (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identities", false]], "identities (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identities", false]], "identities (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.identities", false]], "identity (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.identity", false]], "identity (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Identity", false]], "identity (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.identity", false]], "identity (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network_with_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY.identity", false]], "identityerror": [[25, "bittensor.core.errors.IdentityError", false]], "idx (bittensor.extras.dev_framework.subnet.call_record attribute)": [[83, "bittensor.extras.dev_framework.subnet.CALL_RECORD.idx", false]], "if_else (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE", false]], "image (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[2, "bittensor.core.chain_data.chain_identity.ChainIdentity.image", false]], "image (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.image", false]], "immune_neurons (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.immune_neurons", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.immunity_period", false]], "immunity_period (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.immunity_period", false]], "immunity_period (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.immunity_period", false]], "immunity_period (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.immunity_period", false]], "immunity_period (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_immunity_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD.immunity_period", false]], "immunity_period (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.immunity_period", false]], "immunity_period() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.immunity_period", false]], "immunityperiod (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ImmunityPeriod", false]], "import_text (in module bittensor.extras.dev_framework.calls)": [[78, "bittensor.extras.dev_framework.calls.IMPORT_TEXT", false]], "in_blocks (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.in_blocks", false]], "incentive (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.incentive", false]], "incentive (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.incentive", false]], "incentive (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.incentive", false]], "incentive (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.incentive", false]], "incentive (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.incentive", false]], "incentives (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.incentives", false]], "incentives (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Incentives", false]], "incentives (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.incentives", false]], "increase_decrease_take() (bittensor.core.extrinsics.params.take.takeparams class method)": [[54, "bittensor.core.extrinsics.params.take.TakeParams.increase_decrease_take", false]], "increase_take (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE", false]], "index (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[13, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.as_derivative attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.index", false]], "index (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.index", false], [79, "id43", false]], "info (bittensor.extras.dev_framework.calls.non_sudo_calls.set_commitment attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT.info", false]], "info (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.info", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.info", false]], "info (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Info", false]], "info() (bittensor.core.axon.axon method)": [[0, "bittensor.core.axon.Axon.info", false]], "info() (bittensor.utils.btlogging.console.bittensorconsole method)": [[102, "bittensor.utils.btlogging.console.BittensorConsole.info", false]], "info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.info", false]], "info() (in module bittensor.utils.btlogging.levels)": [[107, "bittensor.utils.btlogging.levels.info", false]], "infobase (class in bittensor.core.chain_data.info_base)": [[7, "bittensor.core.chain_data.info_base.InfoBase", false]], "init (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.init", false]], "init (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.init", false]], "initialize (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.initialize", false]], "inner_subtensor (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.inner_subtensor", false]], "input (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.input", false]], "install_signal_handlers() (bittensor.core.axon.fastapithreadedserver method)": [[0, "bittensor.core.axon.FastAPIThreadedServer.install_signal_handlers", false]], "int_to_ip() (in module bittensor.utils.networking)": [[113, "bittensor.utils.networking.int_to_ip", false]], "internalservererror": [[25, "bittensor.core.errors.InternalServerError", false]], "interval (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.interval", false]], "interval (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_lock_reduction_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL.interval", false]], "invalidchild": [[25, "bittensor.core.errors.InvalidChild", false]], "invalidconfigfile": [[23, "bittensor.core.config.InvalidConfigFile", false]], "invalidrequestnameerror": [[25, "bittensor.core.errors.InvalidRequestNameError", false]], "ip (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.ip", false]], "ip (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.ip", false]], "ip (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[8, "bittensor.core.chain_data.ip_info.IPInfo.ip", false]], "ip (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[12, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip", false]], "ip (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.ip", false]], "ip (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.ip", false]], "ip (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.ip", false]], "ip (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.ip", false]], "ip (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.ip", false]], "ip (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.ip", false]], "ip__str__() (in module bittensor.utils.networking)": [[113, "bittensor.utils.networking.ip__str__", false]], "ip_str() (bittensor.core.chain_data.axon_info.axoninfo method)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.ip_str", false]], "ip_to_int() (in module bittensor.utils.networking)": [[113, "bittensor.utils.networking.ip_to_int", false]], "ip_type (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[8, "bittensor.core.chain_data.ip_info.IPInfo.ip_type", false]], "ip_type (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[12, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.ip_type", false]], "ip_type (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.ip_type", false]], "ip_type (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.ip_type", false]], "ip_type (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.ip_type", false]], "ip_type (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.ip_type", false]], "ip_type (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.ip_type", false]], "ip_version() (in module bittensor.utils.networking)": [[113, "bittensor.utils.networking.ip_version", false]], "ipinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.IPInfo", false]], "ipinfo (class in bittensor.core.chain_data.ip_info)": [[8, "bittensor.core.chain_data.ip_info.IPInfo", false]], "is_async (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.is_async", false]], "is_blacklist (bittensor.core.synapse.synapse property)": [[74, "bittensor.core.synapse.Synapse.is_blacklist", false]], "is_dynamic (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.is_dynamic", false]], "is_empty (bittensor.core.threadpool.prioritythreadpoolexecutor property)": [[76, "bittensor.core.threadpool.PriorityThreadPoolExecutor.is_empty", false]], "is_failure (bittensor.core.synapse.synapse property)": [[74, "bittensor.core.synapse.Synapse.is_failure", false]], "is_fast_blocks (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.is_fast_blocks", false]], "is_fast_blocks() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.is_fast_blocks", false]], "is_hotkey_delegate (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[88, "bittensor.extras.subtensor_api.delegates.Delegates.is_hotkey_delegate", false]], "is_hotkey_delegate (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.is_hotkey_delegate", false]], "is_hotkey_delegate() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.is_hotkey_delegate", false]], "is_hotkey_registered (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.is_hotkey_registered", false]], "is_hotkey_registered() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.is_hotkey_registered", false]], "is_hotkey_registered_any (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.is_hotkey_registered_any", false]], "is_hotkey_registered_any() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_any", false]], "is_hotkey_registered_on_subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.is_hotkey_registered_on_subnet", false]], "is_hotkey_registered_on_subnet() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.is_hotkey_registered_on_subnet", false]], "is_in_admin_freeze_window (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.is_in_admin_freeze_window", false]], "is_in_admin_freeze_window() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.is_in_admin_freeze_window", false]], "is_instance_namedtuple() (in module bittensor.extras.dev_framework.utils)": [[84, "bittensor.extras.dev_framework.utils.is_instance_namedtuple", false]], "is_null (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.is_null", false]], "is_null (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.is_null", false]], "is_registered (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.is_registered", false]], "is_running (bittensor.core.axon.fastapithreadedserver attribute)": [[0, "bittensor.core.axon.FastAPIThreadedServer.is_running", false]], "is_serving (bittensor.core.chain_data.axon_info.axoninfo property)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.is_serving", false]], "is_set() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.is_set", false]], "is_stale() (bittensor.utils.registration.pow.powsolution method)": [[116, "bittensor.utils.registration.pow.POWSolution.is_stale", false]], "is_stale_async() (bittensor.utils.registration.pow.powsolution method)": [[116, "bittensor.utils.registration.pow.POWSolution.is_stale_async", false]], "is_subnet_active (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.is_subnet_active", false]], "is_subnet_active() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.is_subnet_active", false]], "is_success (bittensor.core.synapse.synapse property)": [[74, "bittensor.core.synapse.Synapse.is_success", false]], "is_timeout (bittensor.core.synapse.synapse property)": [[74, "bittensor.core.synapse.Synapse.is_timeout", false]], "is_valid_bittensor_address_or_public_key() (in module bittensor.utils)": [[111, "bittensor.utils.is_valid_bittensor_address_or_public_key", false]], "is_valid_ss58_address() (in module bittensor.utils)": [[111, "bittensor.utils.is_valid_ss58_address", false]], "items (bittensor.extras.dev_framework.calls.non_sudo_calls.set_storage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE.items", false]], "k (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.k", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.kappa", false]], "kappa (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Kappa", false]], "kappa (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.kappa", false]], "kappa (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.kappa", false]], "kappa (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.kappa", false]], "keep_alive (bittensor.extras.dev_framework.calls.non_sudo_calls.burn attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN.keep_alive", false]], "keep_alive (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_all attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL.keep_alive", false]], "key_owner_proof (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION.key_owner_proof", false]], "key_owner_proof (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation_unsigned attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED.key_owner_proof", false]], "keypair (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.keypair", false]], "keys (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_storage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE.keys", false]], "kill_prefix (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX", false]], "kill_pure (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE", false]], "kill_storage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE", false]], "last_drand_round (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.last_drand_round", false]], "last_drand_round() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.last_drand_round", false]], "last_step (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.last_step", false]], "last_step (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_step", false]], "last_step (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.last_step", false]], "last_update (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.last_update", false]], "last_update (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.last_update", false]], "last_update (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.last_update", false]], "last_update (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.last_update", false]], "last_update (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.last_update", false]], "last_update (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.last_update", false]], "laststep (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastStep", false]], "lastupdate (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LastUpdate", false]], "latent_lite_entrypoint (in module bittensor.core.settings)": [[71, "bittensor.core.settings.LATENT_LITE_ENTRYPOINT", false]], "latest_block_path() (in module bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.latest_block_path", false]], "lazyloadedtorch (class in bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.LazyLoadedTorch", false]], "lease_id (bittensor.extras.dev_framework.calls.non_sudo_calls.terminate_lease attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE.lease_id", false]], "legacy_torch_api_compat() (in module bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.legacy_torch_api_compat", false]], "length_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.length_bound", false]], "length_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.execute attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE.length_bound", false]], "length_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.length_bound", false]], "limit_price (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.limit_price", false]], "limit_price (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.limit_price", false]], "limit_price (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.limit_price", false]], "limit_price (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.limit_price", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.liquid_alpha_enabled", false]], "liquid_alpha_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.liquid_alpha_enabled", false]], "liquidalphaenabled (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.LiquidAlphaEnabled", false]], "liquidity (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.liquidity", false]], "liquidity (bittensor.utils.liquidity.liquidityposition attribute)": [[112, "bittensor.utils.liquidity.LiquidityPosition.liquidity", false]], "liquidity_delta (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.liquidity_delta", false]], "liquidityparams (class in bittensor.core.extrinsics.params.liquidity)": [[47, "bittensor.core.extrinsics.params.liquidity.LiquidityParams", false]], "liquidityposition (class in bittensor.utils.liquidity)": [[112, "bittensor.utils.liquidity.LiquidityPosition", false]], "list_from_dicts() (bittensor.core.chain_data.info_base.infobase class method)": [[7, "bittensor.core.chain_data.info_base.InfoBase.list_from_dicts", false]], "list_from_vec_u8() (bittensor.core.chain_data.neuron_info_lite.neuroninfolite method)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.list_from_vec_u8", false]], "lite (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.lite", false]], "load() (bittensor.core.metagraph.metagraphmixin method)": [[70, "bittensor.core.metagraph.MetagraphMixin.load", false]], "load_from_path() (bittensor.core.metagraph.metagraphmixin method)": [[70, "bittensor.core.metagraph.MetagraphMixin.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.nontorchmetagraph method)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.load_from_path", false]], "load_from_path() (bittensor.core.metagraph.torchmetagraph method)": [[70, "bittensor.core.metagraph.TorchMetagraph.load_from_path", false]], "local_entrypoint (in module bittensor.core.settings)": [[71, "bittensor.core.settings.LOCAL_ENTRYPOINT", false]], "lock_cost (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_min_lock_cost attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST.lock_cost", false]], "locked (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.locked", false]], "log() (bittensor.utils.registration.pow.console static method)": [[116, "bittensor.utils.registration.pow.Console.log", false]], "log_and_handle_error() (in module bittensor.core.axon)": [[0, "bittensor.core.axon.log_and_handle_error", false]], "log_cuda_errors() (in module bittensor.utils.registration.register_cuda)": [[117, "bittensor.utils.registration.register_cuda.log_cuda_errors", false]], "log_exception() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.log_exception", false]], "log_formats (in module bittensor.utils.btlogging.format)": [[104, "bittensor.utils.btlogging.format.LOG_FORMATS", false]], "log_level_color_prefix (in module bittensor.utils.btlogging.format)": [[104, "bittensor.utils.btlogging.format.log_level_color_prefix", false]], "log_no_torch_error() (in module bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.log_no_torch_error", false]], "log_trace_formats (in module bittensor.utils.btlogging.format)": [[104, "bittensor.utils.btlogging.format.LOG_TRACE_FORMATS", false]], "log_verbose (bittensor.core.subtensor.subtensor attribute)": [[73, "bittensor.core.subtensor.Subtensor.log_verbose", false]], "log_verbose (bittensor.core.types.subtensormixin attribute)": [[77, "bittensor.core.types.SubtensorMixin.log_verbose", false]], "log_verbose (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.log_verbose", false]], "logger (bittensor.utils.btlogging.console.bittensorconsole attribute)": [[102, "bittensor.utils.btlogging.console.BittensorConsole.logger", false]], "logger (in module bittensor.core.threadpool)": [[76, "bittensor.core.threadpool.logger", false]], "logging (in module bittensor.utils)": [[111, "bittensor.utils.logging", false]], "logging (in module bittensor.utils.btlogging)": [[106, "bittensor.utils.btlogging.logging", false]], "logging_dir (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.logging_dir", false]], "loggingconfig (class in bittensor.utils.btlogging.loggingmachine)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingConfig", false]], "loggingmachine (class in bittensor.utils.btlogging.loggingmachine)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine", false]], "logo_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.logo_url", false]], "logo_url (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.logo_url", false]], "main (bittensor.extras.dev_framework.calls.non_sudo_calls.if_else attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE.main", false]], "max_allowed_uids (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.max_allowed_uids", false]], "max_allowed_validators (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_allowed_validators", false]], "max_allowed_validators (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.max_allowed_validators", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_burn", false]], "max_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_burn", false]], "max_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_burn", false]], "max_burn (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.max_burn", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_difficulty", false]], "max_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_difficulty", false]], "max_difficulty (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.max_difficulty", false]], "max_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.max_fee_per_gas", false]], "max_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.max_fee_per_gas", false]], "max_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.max_fee_per_gas", false]], "max_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_n", false]], "max_n (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.max_n", false]], "max_priority_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.max_priority_fee_per_gas", false]], "max_priority_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.max_priority_fee_per_gas", false]], "max_priority_fee_per_gas (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.max_priority_fee_per_gas", false]], "max_registrations_per_block (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.max_registrations_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_regs_per_block", false]], "max_regs_per_block (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_regs_per_block", false]], "max_subnets (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT.max_subnets", false]], "max_tick (in module bittensor.utils.liquidity)": [[112, "bittensor.utils.liquidity.MAX_TICK", false]], "max_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_uids", false]], "max_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.max_uids", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_validators", false]], "max_validators (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_validators", false]], "max_validators (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_validators", false]], "max_weight (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.max_weight", false]], "max_weight (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.max_weight", false]], "max_weight_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.max_weight_limit", false]], "max_weight_limit (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.max_weight_limit", false]], "max_weight_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.max_weight_limit", false]], "max_weight_limit (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.max_weight_limit", false]], "max_weight_limit() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.max_weight_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.max_weights_limit", false]], "max_weights_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.max_weights_limit", false]], "maxattemptsexception": [[25, "bittensor.core.errors.MaxAttemptsException", false]], "maxburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxBurn", false]], "maxdifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxDifficulty", false]], "maxregsperblock (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxRegsPerBlock", false]], "maxsuccessexception": [[25, "bittensor.core.errors.MaxSuccessException", false]], "maxuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxUids", false]], "maxvalidators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxValidators", false]], "maxweightslimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MaxWeightsLimit", false]], "maybe_periodic (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.maybe_periodic", false]], "maybe_periodic (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.maybe_periodic", false]], "maybe_periodic (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.maybe_periodic", false]], "maybe_periodic (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.maybe_periodic", false]], "maybe_split (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.maybe_split", false]], "maybe_timepoint (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.maybe_timepoint", false]], "maybe_timepoint (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.maybe_timepoint", false]], "mechanism_count (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.mechanism_count", false]], "mechanism_count (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.mechanism_count", false]], "mechanisms_emissions_split (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.mechanisms_emissions_split", false]], "mechid (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.mechid", false]], "mechid (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.mechid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.mecid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.mecid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.mecid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.mecid", false]], "mecid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.mecid", false]], "members (bittensor.extras.dev_framework.calls.non_sudo_calls.reset_members attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS.members", false], [79, "id22", false]], "merge() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.merge", false]], "message (bittensor.core.errors.synapsedendritenoneexception attribute)": [[25, "bittensor.core.errors.SynapseDendriteNoneException.message", false]], "message (bittensor.core.errors.synapseexception attribute)": [[25, "bittensor.core.errors.SynapseException.message", false]], "message (bittensor.core.types.extrinsicresponse attribute)": [[77, "bittensor.core.types.ExtrinsicResponse.message", false]], "message (bittensor.utils.unlockstatus attribute)": [[111, "bittensor.utils.UnlockStatus.message", false]], "metadata() (bittensor.core.metagraph.metagraphmixin method)": [[70, "bittensor.core.metagraph.MetagraphMixin.metadata", false]], "metadataerror": [[25, "bittensor.core.errors.MetadataError", false]], "metagraph (bittensor.extras.subtensor_api.metagraphs.metagraphs attribute)": [[91, "bittensor.extras.subtensor_api.metagraphs.Metagraphs.metagraph", false]], "metagraph (class in bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.Metagraph", false]], "metagraph() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.metagraph", false]], "metagraph_state_dict_ndarray_keys (in module bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.METAGRAPH_STATE_DICT_NDARRAY_KEYS", false]], "metagraphinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.MetagraphInfo", false]], "metagraphinfo (class in bittensor.core.chain_data.metagraph_info)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo", false]], "metagraphinfoemissions (class in bittensor.core.chain_data.metagraph_info)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions", false]], "metagraphinfoparams (class in bittensor.core.chain_data.metagraph_info)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams", false]], "metagraphinfopool (class in bittensor.core.chain_data.metagraph_info)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool", false]], "metagraphmixin (class in bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.MetagraphMixin", false]], "metagraphs (bittensor.extras.subtensor_api.subtensorapi property)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.metagraphs", false]], "metagraphs (class in bittensor.extras.subtensor_api.metagraphs)": [[91, "bittensor.extras.subtensor_api.metagraphs.Metagraphs", false]], "middleware_cls (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.middleware_cls", false]], "millify() (in module bittensor.utils.formatting)": [[110, "bittensor.utils.formatting.millify", false]], "min_allowed_uids (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.min_allowed_uids", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_allowed_weights", false]], "min_allowed_weights (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.min_allowed_weights", false]], "min_allowed_weights (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.min_allowed_weights", false]], "min_allowed_weights (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.min_allowed_weights", false]], "min_allowed_weights() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.min_allowed_weights", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_burn", false]], "min_burn (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_burn", false]], "min_burn (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_burn", false]], "min_burn (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.min_burn", false]], "min_contribution (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.min_contribution", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.min_difficulty", false]], "min_difficulty (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.min_difficulty", false]], "min_difficulty (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.min_difficulty", false]], "min_stake (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_nominator_min_required_stake attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE.min_stake", false]], "min_stake (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_stake_threshold attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD.min_stake", false]], "min_tick (in module bittensor.utils.liquidity)": [[112, "bittensor.utils.liquidity.MIN_TICK", false]], "minallowedweights (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinAllowedWeights", false]], "minburn (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinBurn", false]], "mindifficulty (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MinDifficulty", false]], "miners_dir (in module bittensor.core.settings)": [[71, "bittensor.core.settings.MINERS_DIR", false]], "modality (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.modality", false]], "model_config (bittensor.core.stream.streamingsynapse attribute)": [[72, "bittensor.core.stream.StreamingSynapse.model_config", false]], "model_config (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.model_config", false]], "model_config (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.model_config", false]], "model_config (bittensor.core.tensor.tensor attribute)": [[75, "bittensor.core.tensor.Tensor.model_config", false]], "modify_liquidity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.modify_liquidity", false]], "modify_liquidity() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.modify_liquidity", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[28, "bittensor.core.extrinsics.asyncex.liquidity.modify_liquidity_extrinsic", false]], "modify_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[43, "bittensor.core.extrinsics.liquidity.modify_liquidity_extrinsic", false]], "modify_position (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION", false]], "modify_position() (bittensor.core.extrinsics.params.liquidity.liquidityparams class method)": [[47, "bittensor.core.extrinsics.params.liquidity.LiquidityParams.modify_position", false]], "module": [[0, "module-bittensor.core.axon", false], [1, "module-bittensor.core.chain_data.axon_info", false], [2, "module-bittensor.core.chain_data.chain_identity", false], [3, "module-bittensor.core.chain_data.delegate_info", false], [4, "module-bittensor.core.chain_data.delegate_info_lite", false], [5, "module-bittensor.core.chain_data.dynamic_info", false], [6, "module-bittensor.core.chain_data", false], [7, "module-bittensor.core.chain_data.info_base", false], [8, "module-bittensor.core.chain_data.ip_info", false], [9, "module-bittensor.core.chain_data.metagraph_info", false], [10, "module-bittensor.core.chain_data.neuron_info", false], [11, "module-bittensor.core.chain_data.neuron_info_lite", false], [12, "module-bittensor.core.chain_data.prometheus_info", false], [13, "module-bittensor.core.chain_data.proposal_vote_data", false], [14, "module-bittensor.core.chain_data.scheduled_coldkey_swap_info", false], [15, "module-bittensor.core.chain_data.sim_swap", false], [16, "module-bittensor.core.chain_data.stake_info", false], [17, "module-bittensor.core.chain_data.subnet_hyperparameters", false], [18, "module-bittensor.core.chain_data.subnet_identity", false], [19, "module-bittensor.core.chain_data.subnet_info", false], [20, "module-bittensor.core.chain_data.subnet_state", false], [21, "module-bittensor.core.chain_data.utils", false], [22, "module-bittensor.core.chain_data.weight_commit_info", false], [23, "module-bittensor.core.config", false], [24, "module-bittensor.core.dendrite", false], [25, "module-bittensor.core.errors", false], [26, "module-bittensor.core.extrinsics.asyncex.children", false], [27, "module-bittensor.core.extrinsics.asyncex", false], [28, "module-bittensor.core.extrinsics.asyncex.liquidity", false], [29, "module-bittensor.core.extrinsics.asyncex.move_stake", false], [30, "module-bittensor.core.extrinsics.asyncex.registration", false], [31, "module-bittensor.core.extrinsics.asyncex.root", false], [32, "module-bittensor.core.extrinsics.asyncex.serving", false], [33, "module-bittensor.core.extrinsics.asyncex.staking", false], [34, "module-bittensor.core.extrinsics.asyncex.start_call", false], [35, "module-bittensor.core.extrinsics.asyncex.sudo", false], [36, "module-bittensor.core.extrinsics.asyncex.take", false], [37, "module-bittensor.core.extrinsics.asyncex.transfer", false], [38, "module-bittensor.core.extrinsics.asyncex.unstaking", false], [39, "module-bittensor.core.extrinsics.asyncex.utils", false], [40, "module-bittensor.core.extrinsics.asyncex.weights", false], [41, "module-bittensor.core.extrinsics.children", false], [42, "module-bittensor.core.extrinsics", false], [43, "module-bittensor.core.extrinsics.liquidity", false], [44, "module-bittensor.core.extrinsics.move_stake", false], [45, "module-bittensor.core.extrinsics.params.children", false], [46, "module-bittensor.core.extrinsics.params", false], [47, "module-bittensor.core.extrinsics.params.liquidity", false], [48, "module-bittensor.core.extrinsics.params.move_stake", false], [49, "module-bittensor.core.extrinsics.params.registration", false], [50, "module-bittensor.core.extrinsics.params.root", false], [51, "module-bittensor.core.extrinsics.params.serving", false], [52, "module-bittensor.core.extrinsics.params.staking", false], [53, "module-bittensor.core.extrinsics.params.start_call", false], [54, "module-bittensor.core.extrinsics.params.take", false], [55, "module-bittensor.core.extrinsics.params.transfer", false], [56, "module-bittensor.core.extrinsics.params.unstaking", false], [57, "module-bittensor.core.extrinsics.params.weights", false], [58, "module-bittensor.core.extrinsics.registration", false], [59, "module-bittensor.core.extrinsics.root", false], [60, "module-bittensor.core.extrinsics.serving", false], [61, "module-bittensor.core.extrinsics.staking", false], [62, "module-bittensor.core.extrinsics.start_call", false], [63, "module-bittensor.core.extrinsics.sudo", false], [64, "module-bittensor.core.extrinsics.take", false], [65, "module-bittensor.core.extrinsics.transfer", false], [66, "module-bittensor.core.extrinsics.unstaking", false], [67, "module-bittensor.core.extrinsics.utils", false], [68, "module-bittensor.core.extrinsics.weights", false], [69, "module-bittensor.core", false], [70, "module-bittensor.core.metagraph", false], [71, "module-bittensor.core.settings", false], [72, "module-bittensor.core.stream", false], [73, "module-bittensor.core.subtensor", false], [74, "module-bittensor.core.synapse", false], [75, "module-bittensor.core.tensor", false], [76, "module-bittensor.core.threadpool", false], [77, "module-bittensor.core.types", false], [78, "module-bittensor.extras.dev_framework.calls", false], [79, "module-bittensor.extras.dev_framework.calls.non_sudo_calls", false], [80, "module-bittensor.extras.dev_framework.calls.pallets", false], [81, "module-bittensor.extras.dev_framework.calls.sudo_calls", false], [82, "module-bittensor.extras.dev_framework", false], [83, "module-bittensor.extras.dev_framework.subnet", false], [84, "module-bittensor.extras.dev_framework.utils", false], [85, "module-bittensor.extras", false], [86, "module-bittensor.extras.subtensor_api.chain", false], [87, "module-bittensor.extras.subtensor_api.commitments", false], [88, "module-bittensor.extras.subtensor_api.delegates", false], [89, "module-bittensor.extras.subtensor_api.extrinsics", false], [90, "module-bittensor.extras.subtensor_api", false], [91, "module-bittensor.extras.subtensor_api.metagraphs", false], [92, "module-bittensor.extras.subtensor_api.neurons", false], [93, "module-bittensor.extras.subtensor_api.queries", false], [94, "module-bittensor.extras.subtensor_api.staking", false], [95, "module-bittensor.extras.subtensor_api.subnets", false], [96, "module-bittensor.extras.subtensor_api.utils", false], [97, "module-bittensor.extras.subtensor_api.wallets", false], [98, "module-bittensor.extras.timelock", false], [99, "module-bittensor", false], [100, "module-bittensor.utils.axon_utils", false], [101, "module-bittensor.utils.balance", false], [102, "module-bittensor.utils.btlogging.console", false], [103, "module-bittensor.utils.btlogging.defines", false], [104, "module-bittensor.utils.btlogging.format", false], [105, "module-bittensor.utils.btlogging.helpers", false], [106, "module-bittensor.utils.btlogging", false], [107, "module-bittensor.utils.btlogging.levels", false], [108, "module-bittensor.utils.btlogging.loggingmachine", false], [109, "module-bittensor.utils.easy_imports", false], [110, "module-bittensor.utils.formatting", false], [111, "module-bittensor.utils", false], [112, "module-bittensor.utils.liquidity", false], [113, "module-bittensor.utils.networking", false], [114, "module-bittensor.utils.registration.async_pow", false], [115, "module-bittensor.utils.registration", false], [116, "module-bittensor.utils.registration.pow", false], [117, "module-bittensor.utils.registration.register_cuda", false], [118, "module-bittensor.utils.subnets", false], [119, "module-bittensor.utils.version", false], [120, "module-bittensor.utils.weight_utils", false]], "move_stake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.move_stake", false]], "move_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.move_stake", false]], "move_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE", false]], "move_stake() (bittensor.core.extrinsics.params.move_stake.movestakeparams class method)": [[48, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams.move_stake", false]], "move_stake() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.move_stake", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[29, "bittensor.core.extrinsics.asyncex.move_stake.move_stake_extrinsic", false]], "move_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[44, "bittensor.core.extrinsics.move_stake.move_stake_extrinsic", false]], "movestakeparams (class in bittensor.core.extrinsics.params.move_stake)": [[48, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams", false]], "moving_price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.moving_price", false]], "moving_price (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.moving_price", false]], "movingprice (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.MovingPrice", false]], "multisig (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Multisig", false]], "n (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.n", false]], "n (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.n", false]], "n (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.n", false]], "name (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[2, "bittensor.core.chain_data.chain_identity.ChainIdentity.name", false]], "name (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.name", false]], "name (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Name", false]], "name (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.name", false]], "name (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.name", false]], "name (bittensor.core.types.paramwithtypes attribute)": [[77, "bittensor.core.types.ParamWithTypes.name", false]], "name (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.name", false]], "nanoseconds_in_second (in module bittensor.utils.axon_utils)": [[100, "bittensor.utils.axon_utils.NANOSECONDS_IN_SECOND", false]], "nays (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[13, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.nays", false]], "netuid (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[3, "bittensor.core.chain_data.delegate_info.DelegatedInfo.netuid", false]], "netuid (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.netuid", false]], "netuid (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Netuid", false]], "netuid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.netuid", false]], "netuid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.netuid", false]], "netuid (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.netuid", false]], "netuid (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.netuid", false]], "netuid (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.netuid", false]], "netuid (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.netuid", false]], "netuid (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.netuid", false]], "netuid (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.burned_register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.root_dissolve_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_coldkey_auto_stake_hotkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_commitment attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_fee_rate attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.start_call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.toggle_user_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.update_symbol attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.netuid", false]], "netuid (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.netuid", false]], "netuid (bittensor.extras.dev_framework.subnet.testsubnet property)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.netuid", false]], "netuid (bittensor.extras.dev_framework.utils.activatesubnet attribute)": [[84, "bittensor.extras.dev_framework.utils.ActivateSubnet.netuid", false]], "netuid (bittensor.extras.dev_framework.utils.registerneuron attribute)": [[84, "bittensor.extras.dev_framework.utils.RegisterNeuron.netuid", false]], "netuid (bittensor.utils.balance.balance attribute)": [[101, "bittensor.utils.balance.Balance.netuid", false]], "netuid (bittensor.utils.liquidity.liquidityposition attribute)": [[112, "bittensor.utils.liquidity.LiquidityPosition.netuid", false]], "netuid (in module bittensor.extras.dev_framework.subnet)": [[83, "bittensor.extras.dev_framework.subnet.NETUID", false]], "netuids (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_commit_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS.netuids", false]], "netuids (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.netuids", false]], "network (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.network", false]], "network (bittensor.core.types.subtensormixin attribute)": [[77, "bittensor.core.types.SubtensorMixin.network", false]], "network (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.network", false]], "network_explorer_map (in module bittensor.core.settings)": [[71, "bittensor.core.settings.NETWORK_EXPLORER_MAP", false]], "network_map (in module bittensor.core.settings)": [[71, "bittensor.core.settings.NETWORK_MAP", false]], "network_registered_at (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.network_registered_at", false]], "network_registered_at (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.network_registered_at", false]], "network_registered_at (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.network_registered_at", false]], "networkregisteredat (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NetworkRegisteredAt", false]], "networks (in module bittensor.core.settings)": [[71, "bittensor.core.settings.NETWORKS", false]], "neuron_for_uid (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[92, "bittensor.extras.subtensor_api.neurons.Neurons.neuron_for_uid", false]], "neuron_for_uid() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.neuron_for_uid", false]], "neuroninfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfo", false]], "neuroninfo (class in bittensor.core.chain_data.neuron_info)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo", false]], "neuroninfolite (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.NeuronInfoLite", false]], "neuroninfolite (class in bittensor.core.chain_data.neuron_info_lite)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite", false]], "neurons (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.neurons", false]], "neurons (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[92, "bittensor.extras.subtensor_api.neurons.Neurons.neurons", false]], "neurons (bittensor.extras.subtensor_api.subtensorapi property)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.neurons", false]], "neurons (class in bittensor.extras.subtensor_api.neurons)": [[92, "bittensor.extras.subtensor_api.neurons.Neurons", false]], "neurons() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.neurons", false]], "neurons_lite (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[92, "bittensor.extras.subtensor_api.neurons.Neurons.neurons_lite", false]], "neurons_lite() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.neurons_lite", false]], "new (bittensor.extras.dev_framework.calls.non_sudo_calls.change_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY.new", false], [79, "id5", false]], "new (bittensor.extras.dev_framework.calls.non_sudo_calls.set_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY.new", false]], "new (bittensor.extras.dev_framework.calls.non_sudo_calls.set_whitelist attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST.new", false]], "new_authorities (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_authorities attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES.new_authorities", false]], "new_cap (bittensor.extras.dev_framework.calls.non_sudo_calls.update_cap attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP.new_cap", false]], "new_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[14, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.new_coldkey", false]], "new_coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_swap_coldkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY.new_coldkey", false]], "new_coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.new_coldkey", false]], "new_end (bittensor.extras.dev_framework.calls.non_sudo_calls.update_end attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END.new_end", false]], "new_free (bittensor.extras.dev_framework.calls.non_sudo_calls.force_set_balance attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE.new_free", false]], "new_hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.new_hotkey", false]], "new_limit (bittensor.extras.dev_framework.calls.non_sudo_calls.set_max_space attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE.new_limit", false]], "new_members (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.new_members", false]], "new_min_contribution (bittensor.extras.dev_framework.calls.non_sudo_calls.update_min_contribution attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION.new_min_contribution", false]], "next_authorities (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.next_authorities", false]], "nominationerror": [[25, "bittensor.core.errors.NominationError", false]], "nominators (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[3, "bittensor.core.chain_data.delegate_info.DelegateInfo.nominators", false]], "nominators (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[4, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.nominators", false]], "nonassociatedcoldkey": [[25, "bittensor.core.errors.NonAssociatedColdKey", false]], "nonce (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.nonce", false]], "nonce (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.nonce", false]], "nonce (bittensor.utils.registration.pow.powsolution attribute)": [[116, "bittensor.utils.registration.pow.POWSolution.nonce", false]], "nonces (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.nonces", false]], "nontorchmetagraph (class in bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.NonTorchMetagraph", false]], "normalize_max_weight() (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.normalize_max_weight", false]], "notdelegateerror": [[25, "bittensor.core.errors.NotDelegateError", false]], "note_preimage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE", false]], "note_stalled (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED", false]], "notenoughstaketosetchildkeys": [[25, "bittensor.core.errors.NotEnoughStakeToSetChildkeys", false]], "notregisterederror": [[25, "bittensor.core.errors.NotRegisteredError", false]], "notverifiedexception": [[25, "bittensor.core.errors.NotVerifiedException", false]], "now (bittensor.extras.dev_framework.calls.non_sudo_calls.set attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET.now", false]], "null_entry (in module bittensor.core.threadpool)": [[76, "bittensor.core.threadpool.NULL_ENTRY", false]], "num_uids (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.num_uids", false]], "num_uids (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.num_uids", false]], "number (bittensor.core.types.blockinfo attribute)": [[77, "bittensor.core.types.BlockInfo.number", false]], "numpy() (bittensor.core.tensor.tensor method)": [[75, "bittensor.core.tensor.Tensor.numpy", false]], "numpyortorch (in module bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.NumpyOrTorch", false]], "numuids (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.NumUids", false]], "off() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.off", false]], "old_coldkey (bittensor.core.chain_data.scheduled_coldkey_swap_info.scheduledcoldkeyswapinfo attribute)": [[14, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo.old_coldkey", false]], "old_coldkey (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.old_coldkey", false]], "old_count (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.old_count", false]], "oldest_round (bittensor.extras.dev_framework.calls.non_sudo_calls.set_oldest_stored_round attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND.oldest_round", false]], "on() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.on", false]], "operation (bittensor.extras.dev_framework.subnet.call_record attribute)": [[83, "bittensor.extras.dev_framework.subnet.CALL_RECORD.operation", false]], "origin_hotkey (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.origin_hotkey", false]], "origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.origin_netuid", false]], "origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.origin_netuid", false]], "origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.origin_netuid", false]], "origin_netuid (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.origin_netuid", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.other_signatories", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.other_signatories", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi_threshold_1 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1.other_signatories", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.other_signatories", false]], "other_signatories (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.other_signatories", false]], "owner (bittensor.extras.dev_framework.subnet.testsubnet property)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.owner", false]], "owner_coldkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_coldkey", false]], "owner_coldkey (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.owner_coldkey", false]], "owner_hotkey (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.owner_hotkey", false]], "owner_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.owner_hotkey", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[3, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[4, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.owner_ss58", false]], "owner_ss58 (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.owner_ss58", false]], "ownercoldkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerColdkey", false]], "ownerhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.OwnerHotkey", false]], "pages (bittensor.extras.dev_framework.calls.non_sudo_calls.set_heap_pages attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES.pages", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_member attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER.pallet", false], [79, "id1", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.adjust_senate attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.announce attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.apply_authorized_upgrade attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_derivative attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi_threshold_1 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade_without_checks attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_all attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_commit_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burn attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burned_register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.change_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY.pallet", false], [79, "id6", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_prime attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME.pallet", false], [79, "id9", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.contribute attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.pallet", false], [79, "id12", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.decrease_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.disable_whitelist attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.disapprove_proposal attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as_fallible attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.ensure_updated attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.enter attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.execute attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.extend attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.finalize attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_adjust_total_issuance attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_batch attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_enter attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_exit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_extend attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_release_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_set_balance attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_slash_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_unreserve attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.if_else attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.increase_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_prefix attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_storage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.note_preimage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.note_stalled attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.pallet", false], [79, "id15", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.refund attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_leased_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network_with_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reject_announcement attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.release_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remark attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remark_with_event attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_announcement attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_member attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER.pallet", false], [79, "id18", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxies attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation_unsigned attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.request_preimage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reset_members attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS.pallet", false], [79, "id23", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.root_dissolve_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.root_register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_swap_coldkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_base_fee_per_gas attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_beacon_config attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code_without_checks attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_coldkey_auto_stake_hotkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_commitment attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_elasticity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_fee_rate attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_heap_pages attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.pallet", false], [79, "id26", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_max_space attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_oldest_stored_round attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_pending_childkey_cooldown attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_prime attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME.pallet", false], [79, "id29", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_storage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_whitelist attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.start_call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.sudo attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO.pallet", false], [79, "id34", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_authorities attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_member attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER.pallet", false], [79, "id38", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.terminate_lease attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.toggle_user_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transact attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_all attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_allow_death attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_keep_alive attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.try_associate_hotkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unnote_preimage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unrequest_preimage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_cap attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_end attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_min_contribution attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_symbol attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.upgrade_accounts attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.pallet", false], [79, "id44", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.with_weight attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.pallet", false], [79, "id48", false]], "pallet (bittensor.extras.dev_framework.calls.non_sudo_calls.write_pulse attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_admin_freeze_window attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ck_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_coldkey_swap_schedule_duration attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_version attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_default_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_dissolve_network_schedule_duration attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_evm_chain_id attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_lock_reduction_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_childkey_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_childkey_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_delegate_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_immunity_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_min_lock_cost attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_nominator_min_required_stake attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_hparam_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_stake_threshold attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_moving_alpha attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_cut attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_total_issuance attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_childkey_take_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_delegate_take_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.pallet", false]], "pallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.pallet", false], [81, "id2", false]], "paramwithtypes (class in bittensor.core.types)": [[77, "bittensor.core.types.ParamWithTypes", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse class method)": [[74, "id4", false]], "parse_headers_to_inputs() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.parse_headers_to_inputs", false]], "pending_alpha_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_alpha_emission", false]], "pending_alpha_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_alpha_emission", false]], "pending_root_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pending_root_emission", false]], "pending_root_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.pending_root_emission", false]], "pendingalphaemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingAlphaEmission", false]], "pendingrootemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PendingRootEmission", false]], "period (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.period", false]], "period (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.period", false]], "period (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.period", false]], "pipaddress (in module bittensor.core.settings)": [[71, "bittensor.core.settings.PIPADDRESS", false]], "placeholder1 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder1", false]], "placeholder1 (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.placeholder1", false]], "placeholder1 (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.placeholder1", false]], "placeholder1 (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.placeholder1", false]], "placeholder2 (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.placeholder2", false]], "placeholder2 (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.placeholder2", false]], "placeholder2 (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.placeholder2", false]], "placeholder2 (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.placeholder2", false]], "poke_deposit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT", false], [79, "id14", false]], "pool (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.pool", false]], "port (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.port", false]], "port (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.port", false]], "port (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[12, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.port", false]], "port (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.port", false]], "port (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.port", false]], "port (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.port", false]], "port (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.port", false]], "port (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.port", false]], "port (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.port", false]], "position_id (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.position_id", false]], "position_id (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.position_id", false]], "postprocessexception": [[25, "bittensor.core.errors.PostProcessException", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pow_registration_allowed", false]], "pow_registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.pow_registration_allowed", false]], "powregistrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PowRegistrationAllowed", false]], "powsolution (class in bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.POWSolution", false]], "precompile_id (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.precompile_id", false]], "prefix (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_prefix attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX.prefix", false]], "preimage (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Preimage", false]], "prepare_synapse() (bittensor.utils.subnets.subnetsapi method)": [[118, "bittensor.utils.subnets.SubnetsAPI.prepare_synapse", false]], "preprocess() (bittensor.core.axon.axonmiddleware method)": [[0, "bittensor.core.axon.AxonMiddleware.preprocess", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.preprocess_synapse_for_request", false]], "preprocess_synapse_for_request() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.preprocess_synapse_for_request", false], [24, "id8", false]], "price (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.price", false]], "price_high (bittensor.utils.liquidity.liquidityposition attribute)": [[112, "bittensor.utils.liquidity.LiquidityPosition.price_high", false]], "price_low (bittensor.utils.liquidity.liquidityposition attribute)": [[112, "bittensor.utils.liquidity.LiquidityPosition.price_low", false]], "price_step (in module bittensor.utils.liquidity)": [[112, "bittensor.utils.liquidity.PRICE_STEP", false]], "price_to_tick() (in module bittensor.utils.liquidity)": [[112, "bittensor.utils.liquidity.price_to_tick", false]], "prime (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.prime", false]], "priority (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.priority", false]], "priority (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.priority", false]], "priority (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.priority", false]], "priority (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.priority", false]], "priority() (bittensor.core.axon.axonmiddleware method)": [[0, "bittensor.core.axon.AxonMiddleware.priority", false]], "priority_fns (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.priority_fns", false]], "priorityexception": [[25, "bittensor.core.errors.PriorityException", false]], "prioritythreadpoolexecutor (class in bittensor.core.threadpool)": [[76, "bittensor.core.threadpool.PriorityThreadPoolExecutor", false]], "process_error_message() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.process_error_message", false]], "process_nested() (in module bittensor.core.chain_data.metagraph_info)": [[9, "bittensor.core.chain_data.metagraph_info.process_nested", false]], "process_responses() (bittensor.utils.subnets.subnetsapi method)": [[118, "bittensor.utils.subnets.SubnetsAPI.process_responses", false]], "process_server_response() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.process_server_response", false]], "process_server_response() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.process_server_response", false], [24, "id9", false]], "process_stake_data() (in module bittensor.core.chain_data.utils)": [[21, "bittensor.core.chain_data.utils.process_stake_data", false]], "process_streaming_response() (bittensor.core.stream.streamingsynapse method)": [[72, "bittensor.core.stream.StreamingSynapse.process_streaming_response", false]], "process_time (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.process_time", false]], "process_weights() (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.process_weights", false]], "process_weights_for_netuid() (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.process_weights_for_netuid", false]], "prometheus_info (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.prometheus_info", false]], "prometheus_info (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.prometheus_info", false]], "prometheusinfo (class in bittensor.core.chain_data.prometheus_info)": [[12, "bittensor.core.chain_data.prometheus_info.PrometheusInfo", false]], "prometheusservecallparams (class in bittensor.core.types)": [[77, "bittensor.core.types.PrometheusServeCallParams", false]], "proportionoverflow": [[25, "bittensor.core.errors.ProportionOverflow", false]], "proposal (bittensor.extras.dev_framework.calls.non_sudo_calls.execute attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE.proposal", false]], "proposal (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.proposal", false]], "proposal (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.proposal", false], [79, "id45", false]], "proposal_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.proposal_hash", false]], "proposal_hash (bittensor.extras.dev_framework.calls.non_sudo_calls.disapprove_proposal attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL.proposal_hash", false]], "proposal_weight_bound (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.proposal_weight_bound", false]], "proposalcalldata (in module bittensor.core.chain_data)": [[6, "bittensor.core.chain_data.ProposalCallData", false]], "proposalvotedata (class in bittensor.core.chain_data.proposal_vote_data)": [[13, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData", false]], "propose (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE", false]], "protocol (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.protocol", false]], "protocol (bittensor.core.chain_data.ip_info.ipinfo attribute)": [[8, "bittensor.core.chain_data.ip_info.IPInfo.protocol", false]], "protocol (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.protocol", false]], "protocol (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.protocol", false]], "protocol (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.protocol", false]], "proxy (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY", false]], "proxy (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Proxy", false]], "proxy_announced (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED", false]], "proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.proxy_type", false]], "proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.proxy_type", false]], "proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.proxy_type", false]], "proxy_type (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.proxy_type", false]], "pruning_score (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.pruning_score", false]], "pruning_score (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.pruning_score", false]], "pruning_score (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.pruning_score", false]], "pruning_score (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.pruning_score", false]], "pruningscore (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.PruningScore", false]], "publish_metadata_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[32, "bittensor.core.extrinsics.asyncex.serving.publish_metadata_extrinsic", false]], "publish_metadata_extrinsic() (in module bittensor.core.extrinsics.serving)": [[60, "bittensor.core.extrinsics.serving.publish_metadata_extrinsic", false]], "pulses_payload (bittensor.extras.dev_framework.calls.non_sudo_calls.write_pulse attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE.pulses_payload", false]], "queries (bittensor.extras.subtensor_api.subtensorapi property)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.queries", false]], "queries (class in bittensor.extras.subtensor_api.queries)": [[93, "bittensor.extras.subtensor_api.queries.Queries", false]], "query() (bittensor.core.dendrite.dendrite method)": [[24, "bittensor.core.dendrite.Dendrite.query", false]], "query() (bittensor.core.dendrite.dendritemixin method)": [[24, "bittensor.core.dendrite.DendriteMixin.query", false], [24, "id11", false]], "query_api() (bittensor.utils.subnets.subnetsapi method)": [[118, "bittensor.utils.subnets.SubnetsAPI.query_api", false]], "query_constant (bittensor.extras.subtensor_api.queries.queries attribute)": [[93, "bittensor.extras.subtensor_api.queries.Queries.query_constant", false]], "query_constant() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.query_constant", false]], "query_identity (bittensor.extras.subtensor_api.neurons.neurons attribute)": [[92, "bittensor.extras.subtensor_api.neurons.Neurons.query_identity", false]], "query_identity() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.query_identity", false]], "query_map (bittensor.extras.subtensor_api.queries.queries attribute)": [[93, "bittensor.extras.subtensor_api.queries.Queries.query_map", false]], "query_map() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.query_map", false]], "query_map_subtensor (bittensor.extras.subtensor_api.queries.queries attribute)": [[93, "bittensor.extras.subtensor_api.queries.Queries.query_map_subtensor", false]], "query_map_subtensor() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.query_map_subtensor", false]], "query_module (bittensor.extras.subtensor_api.queries.queries attribute)": [[93, "bittensor.extras.subtensor_api.queries.Queries.query_module", false]], "query_module() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.query_module", false]], "query_runtime_api (bittensor.extras.subtensor_api.queries.queries attribute)": [[93, "bittensor.extras.subtensor_api.queries.Queries.query_runtime_api", false]], "query_runtime_api() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.query_runtime_api", false]], "query_subtensor (bittensor.extras.subtensor_api.queries.queries attribute)": [[93, "bittensor.extras.subtensor_api.queries.Queries.query_subtensor", false]], "query_subtensor() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.query_subtensor", false]], "r (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.R", false]], "raise_error (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.raise_error", false]], "rank (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rank", false]], "rank (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rank", false]], "rank (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.rank", false]], "rank (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.rank", false]], "rank (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.rank", false]], "ranks (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.ranks", false]], "ranks (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.ranks", false]], "ranks (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.ranks", false]], "rao (bittensor.utils.balance.balance attribute)": [[101, "bittensor.utils.balance.Balance.rao", false]], "rao() (in module bittensor.utils.balance)": [[101, "bittensor.utils.balance.rao", false]], "rao_recycled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.rao_recycled", false]], "rao_symbol (in module bittensor.core.settings)": [[71, "bittensor.core.settings.RAO_SYMBOL", false]], "rao_unit (bittensor.utils.balance.balance attribute)": [[101, "bittensor.utils.balance.Balance.rao_unit", false]], "raopertao (in module bittensor.utils)": [[111, "bittensor.utils.RAOPERTAO", false]], "rate (bittensor.extras.dev_framework.calls.non_sudo_calls.set_fee_rate attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE.rate", false]], "rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT.rate_limit", false]], "read_only (in module bittensor.core.settings)": [[71, "bittensor.core.settings.READ_ONLY", false]], "real (bittensor.extras.dev_framework.calls.non_sudo_calls.announce attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE.real", false]], "real (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.real", false]], "real (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.real", false]], "real (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_announcement attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT.real", false]], "record_log (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.record_log", false]], "recreate_calls_subpackage() (in module bittensor.extras.dev_framework.calls)": [[78, "bittensor.extras.dev_framework.calls.recreate_calls_subpackage", false]], "recycle (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.recycle", false]], "recycle() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.recycle", false]], "recycle_alpha (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA", false]], "recycle_or_burn (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.recycle_or_burn", false]], "refund (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND", false]], "register (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.register", false]], "register (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.register", false]], "register (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER", false]], "register() (bittensor.core.extrinsics.params.registration.registrationparams class method)": [[49, "bittensor.core.extrinsics.params.registration.RegistrationParams.register", false]], "register() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.register", false]], "register_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[30, "bittensor.core.extrinsics.asyncex.registration.register_extrinsic", false]], "register_extrinsic() (in module bittensor.core.extrinsics.registration)": [[58, "bittensor.core.extrinsics.registration.register_extrinsic", false]], "register_leased_network (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK", false]], "register_network (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK", false]], "register_network() (bittensor.core.extrinsics.params.registration.registrationparams class method)": [[49, "bittensor.core.extrinsics.params.registration.RegistrationParams.register_network", false]], "register_network_with_identity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY", false]], "register_neuron (in module bittensor.extras.dev_framework.utils)": [[84, "bittensor.extras.dev_framework.utils.REGISTER_NEURON", false]], "register_primary_logger() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.register_primary_logger", false]], "register_subnet (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.register_subnet", false]], "register_subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.register_subnet", false]], "register_subnet (in module bittensor.extras.dev_framework.utils)": [[84, "bittensor.extras.dev_framework.utils.REGISTER_SUBNET", false]], "register_subnet() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.register_subnet", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[30, "bittensor.core.extrinsics.asyncex.registration.register_subnet_extrinsic", false]], "register_subnet_extrinsic() (in module bittensor.core.extrinsics.registration)": [[58, "bittensor.core.extrinsics.registration.register_subnet_extrinsic", false]], "registerneuron (class in bittensor.extras.dev_framework.utils)": [[84, "bittensor.extras.dev_framework.utils.RegisterNeuron", false]], "registersubnet (class in bittensor.extras.dev_framework.utils)": [[84, "bittensor.extras.dev_framework.utils.RegisterSubnet", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.registration_allowed", false]], "registration_allowed (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.registration_allowed", false]], "registration_allowed (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.registration_allowed", false]], "registration_allowed (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.registration_allowed", false]], "registrationallowed (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.RegistrationAllowed", false]], "registrationerror": [[25, "bittensor.core.errors.RegistrationError", false]], "registrationnotpermittedonrootsubnet": [[25, "bittensor.core.errors.RegistrationNotPermittedOnRootSubnet", false]], "registrationparams (class in bittensor.core.extrinsics.params.registration)": [[49, "bittensor.core.extrinsics.params.registration.RegistrationParams", false]], "registrations (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[3, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.registrations", false]], "registrations (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[4, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.registrations", false]], "registrationstatistics (class in bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.RegistrationStatistics", false]], "registrationstatisticslogger (class in bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.RegistrationStatisticsLogger", false]], "registry (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Registry", false]], "reject_announcement (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT", false]], "release_deposit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT", false]], "remark (bittensor.extras.dev_framework.calls.non_sudo_calls.remark attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK.remark", false]], "remark (bittensor.extras.dev_framework.calls.non_sudo_calls.remark_with_event attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT.remark", false]], "remark (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK", false]], "remark_with_event (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT", false]], "remove (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_member attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER.remove", false], [79, "id39", false]], "remove_announcement (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT", false]], "remove_key (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY", false]], "remove_liquidity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.remove_liquidity", false]], "remove_liquidity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY", false]], "remove_liquidity() (bittensor.core.extrinsics.params.liquidity.liquidityparams class method)": [[47, "bittensor.core.extrinsics.params.liquidity.LiquidityParams.remove_liquidity", false]], "remove_liquidity() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.remove_liquidity", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[28, "bittensor.core.extrinsics.asyncex.liquidity.remove_liquidity_extrinsic", false]], "remove_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[43, "bittensor.core.extrinsics.liquidity.remove_liquidity_extrinsic", false]], "remove_member (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER", false], [79, "id17", false]], "remove_proxies (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES", false]], "remove_proxy (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY", false]], "remove_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE", false]], "remove_stake() (bittensor.core.extrinsics.params.unstaking.unstakingparams class method)": [[56, "bittensor.core.extrinsics.params.unstaking.UnstakingParams.remove_stake", false]], "remove_stake_full_limit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT", false]], "remove_stake_full_limit() (bittensor.core.extrinsics.params.unstaking.unstakingparams class method)": [[56, "bittensor.core.extrinsics.params.unstaking.UnstakingParams.remove_stake_full_limit", false]], "remove_stake_limit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT", false]], "remove_stake_limit() (bittensor.core.extrinsics.params.unstaking.unstakingparams class method)": [[56, "bittensor.core.extrinsics.params.unstaking.UnstakingParams.remove_stake_limit", false]], "report_equivocation (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION", false]], "report_equivocation_unsigned (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED", false]], "request_preimage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE", false]], "required_hash_fields (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.required_hash_fields", false]], "reset_cuda() (in module bittensor.utils.registration.register_cuda)": [[117, "bittensor.utils.registration.register_cuda.reset_cuda", false]], "reset_members (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS", false], [79, "id21", false]], "response (bittensor.extras.dev_framework.subnet.call_record attribute)": [[83, "bittensor.extras.dev_framework.subnet.CALL_RECORD.response", false]], "retries (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.retries", false]], "retries (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.retries", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[3, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.return_per_1000", false]], "return_per_1000 (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[4, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.return_per_1000", false]], "reveal_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS", false]], "reveal_mechanism_weights() (bittensor.core.extrinsics.params.weights.weightsparams class method)": [[57, "bittensor.core.extrinsics.params.weights.WeightsParams.reveal_mechanism_weights", false]], "reveal_round (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.reveal_round", false]], "reveal_round (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.reveal_round", false]], "reveal_round (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.reveal_round", false]], "reveal_round (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.reveal_round", false]], "reveal_weights (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.reveal_weights", false]], "reveal_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS", false]], "reveal_weights() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.reveal_weights", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[40, "bittensor.core.extrinsics.asyncex.weights.reveal_weights_extrinsic", false]], "reveal_weights_extrinsic() (in module bittensor.core.extrinsics.weights)": [[68, "bittensor.core.extrinsics.weights.reveal_weights_extrinsic", false]], "reverse_network_map (in module bittensor.core.settings)": [[71, "bittensor.core.settings.REVERSE_NETWORK_MAP", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.rho", false]], "rho (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Rho", false]], "rho (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.rho", false]], "rho (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.rho", false]], "rho (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.rho", false]], "root_dissolve_network (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK", false]], "root_register (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.root_register", false]], "root_register (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER", false]], "root_register() (bittensor.core.extrinsics.params.root.rootparams class method)": [[50, "bittensor.core.extrinsics.params.root.RootParams.root_register", false]], "root_register() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.root_register", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.asyncex.root)": [[31, "bittensor.core.extrinsics.asyncex.root.root_register_extrinsic", false]], "root_register_extrinsic() (in module bittensor.core.extrinsics.root)": [[59, "bittensor.core.extrinsics.root.root_register_extrinsic", false]], "root_set_pending_childkey_cooldown (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.root_set_pending_childkey_cooldown", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[26, "bittensor.core.extrinsics.asyncex.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_set_pending_childkey_cooldown_extrinsic() (in module bittensor.core.extrinsics.children)": [[41, "bittensor.core.extrinsics.children.root_set_pending_childkey_cooldown_extrinsic", false]], "root_tao_stake_weight (in module bittensor.core.settings)": [[71, "bittensor.core.settings.ROOT_TAO_STAKE_WEIGHT", false]], "rootparams (class in bittensor.core.extrinsics.params.root)": [[50, "bittensor.core.extrinsics.params.root.RootParams", false]], "rounds_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[116, "bittensor.utils.registration.pow.RegistrationStatistics.rounds_total", false]], "router (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.router", false]], "run() (bittensor.core.axon.axonmiddleware method)": [[0, "bittensor.core.axon.AxonMiddleware.run", false]], "run() (bittensor.utils.registration.pow.cudasolver method)": [[116, "bittensor.utils.registration.pow.CUDASolver.run", false]], "run() (bittensor.utils.registration.pow.solver method)": [[116, "bittensor.utils.registration.pow.Solver.run", false]], "run_in_thread() (bittensor.core.axon.fastapithreadedserver method)": [[0, "bittensor.core.axon.FastAPIThreadedServer.run_in_thread", false]], "runexception": [[25, "bittensor.core.errors.RunException", false]], "s (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.S", false]], "s (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.s", false]], "safe_globals() (in module bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.safe_globals", false]], "safemode (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.SafeMode", false]], "salt (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.salt", false]], "salt (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.salt", false]], "salt (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.salt", false]], "salt (in module bittensor.core.types)": [[77, "bittensor.core.types.Salt", false]], "salts_list (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.salts_list", false]], "save() (bittensor.core.metagraph.metagraphmixin method)": [[70, "bittensor.core.metagraph.MetagraphMixin.save", false]], "scaling_law_power (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.scaling_law_power", false]], "schedule (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE", false]], "schedule_after (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER", false]], "schedule_grandpa_change (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE", false]], "schedule_named (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED", false]], "schedule_named_after (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER", false]], "schedule_swap_coldkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY", false]], "scheduledcoldkeyswapinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.ScheduledColdkeySwapInfo", false]], "scheduledcoldkeyswapinfo (class in bittensor.core.chain_data.scheduled_coldkey_swap_info)": [[14, "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo", false]], "scheduler (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Scheduler", false]], "seal (bittensor.utils.registration.pow.powsolution attribute)": [[116, "bittensor.utils.registration.pow.POWSolution.seal", false]], "selective_metagraph_commitments_offset (in module bittensor.core.chain_data.metagraph_info)": [[9, "bittensor.core.chain_data.metagraph_info.SELECTIVE_METAGRAPH_COMMITMENTS_OFFSET", false]], "selectivemetagraphindex (class in bittensor.core.chain_data.metagraph_info)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex", false]], "senatemembers (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.SenateMembers", false]], "serialize() (bittensor.core.tensor.tensor static method)": [[75, "bittensor.core.tensor.Tensor.serialize", false]], "serve() (bittensor.core.axon.axon method)": [[0, "bittensor.core.axon.Axon.serve", false]], "serve_axon (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.serve_axon", false]], "serve_axon (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON", false]], "serve_axon() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.serve_axon", false]], "serve_axon_and_tls() (bittensor.core.extrinsics.params.serving.servingparams class method)": [[51, "bittensor.core.extrinsics.params.serving.ServingParams.serve_axon_and_tls", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[32, "bittensor.core.extrinsics.asyncex.serving.serve_axon_extrinsic", false]], "serve_axon_extrinsic() (in module bittensor.core.extrinsics.serving)": [[60, "bittensor.core.extrinsics.serving.serve_axon_extrinsic", false]], "serve_axon_tls (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.asyncex.serving)": [[32, "bittensor.core.extrinsics.asyncex.serving.serve_extrinsic", false]], "serve_extrinsic() (in module bittensor.core.extrinsics.serving)": [[60, "bittensor.core.extrinsics.serving.serve_extrinsic", false]], "serve_prometheus (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.serving_rate_limit", false]], "serving_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.serving_rate_limit", false]], "serving_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.serving_rate_limit", false]], "servingparams (class in bittensor.core.extrinsics.params.serving)": [[51, "bittensor.core.extrinsics.params.serving.ServingParams", false]], "servingratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ServingRateLimit", false]], "session (bittensor.core.dendrite.dendritemixin property)": [[24, "bittensor.core.dendrite.DendriteMixin.session", false]], "set (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET", false]], "set_auto_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.set_auto_stake", false]], "set_auto_stake() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.set_auto_stake", false]], "set_auto_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.staking)": [[33, "bittensor.core.extrinsics.asyncex.staking.set_auto_stake_extrinsic", false]], "set_auto_stake_extrinsic() (in module bittensor.core.extrinsics.staking)": [[61, "bittensor.core.extrinsics.staking.set_auto_stake_extrinsic", false]], "set_base_fee_per_gas (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS", false]], "set_beacon_config (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG", false]], "set_childkey_take (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE", false]], "set_children (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.set_children", false]], "set_children (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.set_children", false]], "set_children (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN", false]], "set_children() (bittensor.core.extrinsics.params.children.childrenparams class method)": [[45, "bittensor.core.extrinsics.params.children.ChildrenParams.set_children", false]], "set_children() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.set_children", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.asyncex.children)": [[26, "bittensor.core.extrinsics.asyncex.children.set_children_extrinsic", false]], "set_children_extrinsic() (in module bittensor.core.extrinsics.children)": [[41, "bittensor.core.extrinsics.children.set_children_extrinsic", false]], "set_code (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE", false]], "set_code_without_checks (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS", false]], "set_coldkey_auto_stake_hotkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY", false]], "set_coldkey_auto_stake_hotkey() (bittensor.core.extrinsics.params.staking.stakingparams class method)": [[52, "bittensor.core.extrinsics.params.staking.StakingParams.set_coldkey_auto_stake_hotkey", false]], "set_commitment (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments.set_commitment", false]], "set_commitment (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.set_commitment", false]], "set_commitment (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT", false]], "set_commitment() (bittensor.core.extrinsics.params.serving.servingparams class method)": [[51, "bittensor.core.extrinsics.params.serving.ServingParams.set_commitment", false]], "set_commitment() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.set_commitment", false]], "set_config() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_config", false]], "set_console() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_console", false]], "set_debug() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_debug", false]], "set_default() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_default", false]], "set_delegate_take (bittensor.extras.subtensor_api.delegates.delegates attribute)": [[88, "bittensor.extras.subtensor_api.delegates.Delegates.set_delegate_take", false]], "set_delegate_take() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.set_delegate_take", false]], "set_elasticity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY", false]], "set_fee_rate (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE", false]], "set_heap_pages (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES", false]], "set_hyperparameter() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.set_hyperparameter", false]], "set_identity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY", false], [79, "id25", false]], "set_info() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_info", false]], "set_key (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY", false]], "set_max_space (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE", false]], "set_mechanism_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS", false]], "set_mechanism_weights() (bittensor.core.extrinsics.params.weights.weightsparams class method)": [[57, "bittensor.core.extrinsics.params.weights.WeightsParams.set_mechanism_weights", false]], "set_members (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS", false]], "set_name_type() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.set_name_type", false]], "set_oldest_stored_round (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND", false]], "set_pending_childkey_cooldown (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN", false]], "set_pending_childkey_cooldown() (bittensor.core.extrinsics.params.children.childrenparams class method)": [[45, "bittensor.core.extrinsics.params.children.ChildrenParams.set_pending_childkey_cooldown", false]], "set_prime (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME", false], [79, "id28", false]], "set_retry (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY", false]], "set_retry_named (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED", false]], "set_reveal_commitment (bittensor.extras.subtensor_api.commitments.commitments attribute)": [[87, "bittensor.extras.subtensor_api.commitments.Commitments.set_reveal_commitment", false]], "set_reveal_commitment() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.set_reveal_commitment", false]], "set_storage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE", false]], "set_subnet_identity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.set_subnet_identity", false]], "set_subnet_identity (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.set_subnet_identity", false]], "set_subnet_identity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY", false]], "set_subnet_identity() (bittensor.core.extrinsics.params.registration.registrationparams class method)": [[49, "bittensor.core.extrinsics.params.registration.RegistrationParams.set_subnet_identity", false]], "set_subnet_identity() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.set_subnet_identity", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.asyncex.registration)": [[30, "bittensor.core.extrinsics.asyncex.registration.set_subnet_identity_extrinsic", false]], "set_subnet_identity_extrinsic() (in module bittensor.core.extrinsics.registration)": [[58, "bittensor.core.extrinsics.registration.set_subnet_identity_extrinsic", false]], "set_take_extrinsic() (in module bittensor.core.extrinsics.asyncex.take)": [[36, "bittensor.core.extrinsics.asyncex.take.set_take_extrinsic", false]], "set_take_extrinsic() (in module bittensor.core.extrinsics.take)": [[64, "bittensor.core.extrinsics.take.set_take_extrinsic", false]], "set_trace() (bittensor.utils.btlogging.format.btstreamformatter method)": [[104, "bittensor.utils.btlogging.format.BtStreamFormatter.set_trace", false]], "set_trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_trace", false]], "set_unit() (bittensor.utils.balance.balance method)": [[101, "bittensor.utils.balance.Balance.set_unit", false]], "set_warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.set_warning", false]], "set_weights (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.set_weights", false]], "set_weights (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS", false]], "set_weights() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.set_weights", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.asyncex.weights)": [[40, "bittensor.core.extrinsics.asyncex.weights.set_weights_extrinsic", false]], "set_weights_extrinsic() (in module bittensor.core.extrinsics.weights)": [[68, "bittensor.core.extrinsics.weights.set_weights_extrinsic", false]], "set_whitelist (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST", false]], "setlevel() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.setLevel", false]], "setup_config (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.setup_config", false]], "setup_config() (bittensor.core.types.subtensormixin static method)": [[77, "bittensor.core.types.SubtensorMixin.setup_config", false]], "shape (bittensor.core.tensor.tensor attribute)": [[75, "bittensor.core.tensor.Tensor.shape", false]], "should_exit (bittensor.core.axon.fastapithreadedserver attribute)": [[0, "bittensor.core.axon.FastAPIThreadedServer.should_exit", false]], "should_sync (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.should_sync", false]], "should_sync (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.should_sync", false]], "shutdown() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[76, "bittensor.core.threadpool.PriorityThreadPoolExecutor.shutdown", false]], "sign_and_send_extrinsic (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.sign_and_send_extrinsic", false]], "sign_and_send_extrinsic() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.sign_and_send_extrinsic", false]], "signature (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.signature", false]], "signature (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.signature", false]], "signature (bittensor.extras.dev_framework.calls.non_sudo_calls.set_beacon_config attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG.signature", false]], "signature (bittensor.extras.dev_framework.calls.non_sudo_calls.write_pulse attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE.signature", false]], "sim_swap (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.sim_swap", false]], "sim_swap() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.sim_swap", false]], "simswapresult (class in bittensor.core.chain_data.sim_swap)": [[15, "bittensor.core.chain_data.sim_swap.SimSwapResult", false]], "slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.slippage", false]], "solve_cuda() (in module bittensor.utils.registration.register_cuda)": [[117, "bittensor.utils.registration.register_cuda.solve_cuda", false]], "solver (class in bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.Solver", false]], "source (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.source", false]], "source (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.source", false]], "source (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.source", false]], "source (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.source", false]], "spawner (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.spawner", false]], "split_command() (in module bittensor.extras.dev_framework.utils)": [[84, "bittensor.extras.dev_framework.utils.split_command", false]], "ss58 (bittensor.core.chain_data.weight_commit_info.weightcommitinfo attribute)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo.ss58", false]], "ss58_address_length (in module bittensor.core.settings)": [[71, "bittensor.core.settings.SS58_ADDRESS_LENGTH", false]], "ss58_address_to_bytes() (in module bittensor.utils)": [[111, "bittensor.utils.ss58_address_to_bytes", false]], "ss58_decode (in module bittensor.utils)": [[111, "bittensor.utils.ss58_decode", false]], "ss58_to_hex (in module bittensor.utils)": [[111, "bittensor.utils.ss58_to_hex", false]], "ss58_to_vec_u8() (in module bittensor.utils)": [[111, "bittensor.utils.ss58_to_vec_u8", false]], "stake (bittensor.core.chain_data.delegate_info.delegatedinfo attribute)": [[3, "bittensor.core.chain_data.delegate_info.DelegatedInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake", false]], "stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake", false]], "stake (bittensor.core.chain_data.stake_info.stakeinfo attribute)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo.stake", false]], "stake (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.stake", false]], "stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.stake", false]], "stake (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.stake", false]], "stake_dict (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.stake_dict", false]], "stake_dict (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.stake_dict", false]], "stakeerror": [[25, "bittensor.core.errors.StakeError", false]], "stakeinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.StakeInfo", false]], "stakeinfo (class in bittensor.core.chain_data.stake_info)": [[16, "bittensor.core.chain_data.stake_info.StakeInfo", false]], "staking (bittensor.extras.subtensor_api.subtensorapi property)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.staking", false]], "staking (class in bittensor.extras.subtensor_api.staking)": [[94, "bittensor.extras.subtensor_api.staking.Staking", false]], "stakingparams (class in bittensor.core.extrinsics.params.staking)": [[52, "bittensor.core.extrinsics.params.staking.StakingParams", false]], "start() (bittensor.core.axon.axon method)": [[0, "bittensor.core.axon.Axon.start", false]], "start() (bittensor.core.axon.fastapithreadedserver method)": [[0, "bittensor.core.axon.FastAPIThreadedServer.start", false]], "start() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[116, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.start", false]], "start() (bittensor.utils.registration.pow.status method)": [[116, "bittensor.utils.registration.pow.Status.start", false]], "start_call (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.start_call", false]], "start_call (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.start_call", false]], "start_call (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.start_call", false]], "start_call (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL", false]], "start_call() (bittensor.core.extrinsics.params.start_call.startcallparams class method)": [[53, "bittensor.core.extrinsics.params.start_call.StartCallParams.start_call", false]], "start_call() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.start_call", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.asyncex.start_call)": [[34, "bittensor.core.extrinsics.asyncex.start_call.start_call_extrinsic", false]], "start_call_extrinsic() (in module bittensor.core.extrinsics.start_call)": [[62, "bittensor.core.extrinsics.start_call.start_call_extrinsic", false]], "startcallparams (class in bittensor.core.extrinsics.params.start_call)": [[53, "bittensor.core.extrinsics.params.start_call.StartCallParams", false]], "started (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.started", false]], "state_call (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.state_call", false]], "state_call() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.state_call", false]], "state_dict() (bittensor.core.metagraph.metagraphmixin method)": [[70, "bittensor.core.metagraph.MetagraphMixin.state_dict", false]], "status (bittensor.utils.registration.pow.registrationstatisticslogger attribute)": [[116, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.status", false]], "status (class in bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.Status", false]], "status() (bittensor.utils.registration.pow.console static method)": [[116, "bittensor.utils.registration.pow.Console.status", false]], "status_code (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.status_code", false]], "status_message (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.status_message", false]], "steepness (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.steepness", false]], "steps (in module bittensor.extras.dev_framework.utils)": [[84, "bittensor.extras.dev_framework.utils.STEPS", false]], "stop() (bittensor.core.axon.axon method)": [[0, "bittensor.core.axon.Axon.stop", false]], "stop() (bittensor.core.axon.fastapithreadedserver method)": [[0, "bittensor.core.axon.FastAPIThreadedServer.stop", false]], "stop() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[116, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.stop", false]], "stop() (bittensor.utils.registration.pow.status method)": [[116, "bittensor.utils.registration.pow.Status.stop", false]], "storagefunctionnotfound (in module bittensor.core.errors)": [[25, "bittensor.core.errors.StorageFunctionNotFound", false]], "stream_response() (bittensor.core.stream.streamingsynapse.btstreamingresponse method)": [[72, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.stream_response", false]], "streamingsynapse (class in bittensor.core.stream)": [[72, "bittensor.core.stream.StreamingSynapse", false]], "streamingsynapse.btstreamingresponse (class in bittensor.core.stream)": [[72, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse", false]], "strtobool() (in module bittensor.utils)": [[111, "bittensor.utils.strtobool", false]], "subkeys (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_prefix attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX.subkeys", false]], "submit() (bittensor.core.threadpool.prioritythreadpoolexecutor method)": [[76, "bittensor.core.threadpool.PriorityThreadPoolExecutor.submit", false]], "subnet (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.subnet", false]], "subnet() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.subnet", false]], "subnet_contact (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_contact", false]], "subnet_contact (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.subnet_contact", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_emission", false]], "subnet_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.subnet_emission", false]], "subnet_exists (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.subnet_exists", false]], "subnet_exists() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.subnet_exists", false]], "subnet_identity (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_identity", false]], "subnet_is_active (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.subnet_is_active", false]], "subnet_name (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_name", false]], "subnet_name (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_name", false]], "subnet_name (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.subnet_name", false]], "subnet_owner_cut (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_cut attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT.subnet_owner_cut", false]], "subnet_url (bittensor.core.chain_data.subnet_identity.subnetidentity attribute)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity.subnet_url", false]], "subnet_url (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.subnet_url", false]], "subnet_volume (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.subnet_volume", false]], "subnet_volume (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.subnet_volume", false]], "subnetemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetEmission", false]], "subnethyperparameters (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetHyperparameters", false]], "subnethyperparameters (class in bittensor.core.chain_data.subnet_hyperparameters)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters", false]], "subnetidentity (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetIdentity", false]], "subnetidentity (class in bittensor.core.chain_data.subnet_identity)": [[18, "bittensor.core.chain_data.subnet_identity.SubnetIdentity", false]], "subnetinfo (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetInfo", false]], "subnetinfo (class in bittensor.core.chain_data.subnet_info)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo", false]], "subnetnotexists": [[25, "bittensor.core.errors.SubnetNotExists", false]], "subnets (bittensor.extras.subtensor_api.subtensorapi property)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.subnets", false]], "subnets (class in bittensor.extras.subtensor_api.subnets)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets", false]], "subnetsapi (class in bittensor.utils.subnets)": [[118, "bittensor.utils.subnets.SubnetsAPI", false]], "subnetstate (bittensor.core.chain_data.utils.chaindatatype attribute)": [[21, "bittensor.core.chain_data.utils.ChainDataType.SubnetState", false]], "subnetstate (class in bittensor.core.chain_data.subnet_state)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState", false]], "subnetvolume (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.SubnetVolume", false]], "subnetwork_n (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.subnetwork_n", false]], "subnetwork_n (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.subnetwork_n", false]], "subnetwork_n() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.subnetwork_n", false]], "substrate (bittensor.core.subtensor.subtensor attribute)": [[73, "bittensor.core.subtensor.Subtensor.substrate", false]], "substrate (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.substrate", false]], "substraterequestexception (in module bittensor.core.errors)": [[25, "bittensor.core.errors.SubstrateRequestException", false]], "subtensor (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.subtensor", false]], "subtensor (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.subtensor", false]], "subtensor (class in bittensor.core.subtensor)": [[73, "bittensor.core.subtensor.Subtensor", false]], "subtensorapi (class in bittensor.extras.subtensor_api)": [[90, "bittensor.extras.subtensor_api.SubtensorApi", false]], "subtensormixin (class in bittensor.core.types)": [[77, "bittensor.core.types.SubtensorMixin", false]], "subtensormodule (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.SubtensorModule", false]], "subtoken_enabled (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.subtoken_enabled", false]], "subvortex_entrypoint (in module bittensor.core.settings)": [[71, "bittensor.core.settings.SUBVORTEX_ENTRYPOINT", false]], "success (bittensor.core.types.extrinsicresponse attribute)": [[77, "bittensor.core.types.ExtrinsicResponse.success", false]], "success (bittensor.utils.unlockstatus attribute)": [[111, "bittensor.utils.UnlockStatus.success", false]], "success() (bittensor.utils.btlogging.console.bittensorconsole method)": [[102, "bittensor.utils.btlogging.console.BittensorConsole.success", false]], "success() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.success", false]], "success_level_num (in module bittensor.utils.btlogging.format)": [[104, "bittensor.utils.btlogging.format.SUCCESS_LEVEL_NUM", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_admin_freeze_window attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ck_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_coldkey_swap_schedule_duration attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_version attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_default_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_dissolve_network_schedule_duration attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_evm_chain_id attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_lock_reduction_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_childkey_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_childkey_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_delegate_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_immunity_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_min_lock_cost attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_nominator_min_required_stake attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_hparam_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_stake_threshold attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_moving_alpha attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_cut attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_total_issuance attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_childkey_take_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_delegate_take_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.sudo", false]], "sudo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.sudo", false], [81, "id3", false]], "sudo (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO", false], [79, "id32", false]], "sudo (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Sudo", false]], "sudo_as (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS", false]], "sudo_call_extrinsic() (in module bittensor.core.extrinsics.asyncex.utils)": [[39, "bittensor.core.extrinsics.asyncex.utils.sudo_call_extrinsic", false]], "sudo_call_extrinsic() (in module bittensor.core.extrinsics.utils)": [[67, "bittensor.core.extrinsics.utils.sudo_call_extrinsic", false]], "sudo_set_activity_cutoff (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF", false]], "sudo_set_adjustment_alpha (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA", false]], "sudo_set_adjustment_interval (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL", false]], "sudo_set_admin_freeze_window (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW", false]], "sudo_set_admin_freeze_window_extrinsic() (in module bittensor.core.extrinsics.asyncex.sudo)": [[35, "bittensor.core.extrinsics.asyncex.sudo.sudo_set_admin_freeze_window_extrinsic", false]], "sudo_set_admin_freeze_window_extrinsic() (in module bittensor.core.extrinsics.sudo)": [[63, "bittensor.core.extrinsics.sudo.sudo_set_admin_freeze_window_extrinsic", false]], "sudo_set_alpha_sigmoid_steepness (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS", false]], "sudo_set_alpha_values (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES", false]], "sudo_set_bonds_moving_average (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE", false]], "sudo_set_bonds_penalty (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY", false]], "sudo_set_bonds_reset_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED", false]], "sudo_set_ck_burn (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN", false]], "sudo_set_coldkey_swap_schedule_duration (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION", false]], "sudo_set_commit_reveal_version (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION", false]], "sudo_set_commit_reveal_weights_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED", false]], "sudo_set_commit_reveal_weights_interval (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL", false]], "sudo_set_default_take (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE", false]], "sudo_set_difficulty (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY", false]], "sudo_set_dissolve_network_schedule_duration (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION", false]], "sudo_set_ema_price_halving_period (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD", false]], "sudo_set_evm_chain_id (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID", false]], "sudo_set_immunity_period (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD", false]], "sudo_set_kappa (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA", false]], "sudo_set_liquid_alpha_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED", false]], "sudo_set_lock_reduction_interval (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL", false]], "sudo_set_max_allowed_uids (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS", false]], "sudo_set_max_allowed_validators (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS", false]], "sudo_set_max_burn (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN", false]], "sudo_set_max_childkey_take (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE", false]], "sudo_set_max_difficulty (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY", false]], "sudo_set_max_registrations_per_block (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK", false]], "sudo_set_max_weight_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT", false]], "sudo_set_mechanism_count (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT", false]], "sudo_set_mechanism_count_extrinsic() (in module bittensor.core.extrinsics.asyncex.sudo)": [[35, "bittensor.core.extrinsics.asyncex.sudo.sudo_set_mechanism_count_extrinsic", false]], "sudo_set_mechanism_count_extrinsic() (in module bittensor.core.extrinsics.sudo)": [[63, "bittensor.core.extrinsics.sudo.sudo_set_mechanism_count_extrinsic", false]], "sudo_set_mechanism_emission_split (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT", false]], "sudo_set_mechanism_emission_split_extrinsic() (in module bittensor.core.extrinsics.asyncex.sudo)": [[35, "bittensor.core.extrinsics.asyncex.sudo.sudo_set_mechanism_emission_split_extrinsic", false]], "sudo_set_mechanism_emission_split_extrinsic() (in module bittensor.core.extrinsics.sudo)": [[63, "bittensor.core.extrinsics.sudo.sudo_set_mechanism_emission_split_extrinsic", false]], "sudo_set_min_allowed_uids (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS", false]], "sudo_set_min_allowed_weights (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS", false]], "sudo_set_min_burn (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN", false]], "sudo_set_min_childkey_take (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE", false]], "sudo_set_min_delegate_take (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE", false]], "sudo_set_min_difficulty (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY", false]], "sudo_set_network_immunity_period (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD", false]], "sudo_set_network_min_lock_cost (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST", false]], "sudo_set_network_pow_registration_allowed (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED", false]], "sudo_set_network_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT", false]], "sudo_set_network_registration_allowed (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED", false]], "sudo_set_nominator_min_required_stake (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE", false]], "sudo_set_owner_hparam_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT", false]], "sudo_set_owner_immune_neuron_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT", false]], "sudo_set_rao_recycled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED", false]], "sudo_set_recycle_or_burn (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN", false]], "sudo_set_rho (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO", false]], "sudo_set_serving_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT", false]], "sudo_set_sn_owner_hotkey (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY", false]], "sudo_set_stake_threshold (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD", false]], "sudo_set_subnet_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT", false]], "sudo_set_subnet_moving_alpha (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA", false]], "sudo_set_subnet_owner_cut (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT", false]], "sudo_set_subnet_owner_hotkey (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY", false]], "sudo_set_subtoken_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED", false]], "sudo_set_target_registrations_per_interval (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL", false]], "sudo_set_tempo (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO", false]], "sudo_set_toggle_transfer (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER", false]], "sudo_set_total_issuance (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE", false]], "sudo_set_tx_childkey_take_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT", false]], "sudo_set_tx_delegate_take_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT", false]], "sudo_set_tx_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT", false]], "sudo_set_weights_set_rate_limit (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT", false]], "sudo_set_weights_version_key (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY", false]], "sudo_set_yuma3_enabled (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED", false]], "sudo_toggle_evm_precompile (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE", false]], "sudo_trim_to_max_allowed_uids (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS", false]], "sudo_unchecked_weight (class in bittensor.extras.dev_framework.calls.sudo_calls)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT", false], [81, "id0", false]], "swap (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Swap", false]], "swap_authorities (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES", false]], "swap_coldkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY", false]], "swap_cost (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.swap_cost", false]], "swap_hotkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY", false]], "swap_member (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER", false], [79, "id36", false]], "swap_stake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.swap_stake", false]], "swap_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.swap_stake", false]], "swap_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE", false]], "swap_stake() (bittensor.core.extrinsics.params.move_stake.movestakeparams class method)": [[48, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams.swap_stake", false]], "swap_stake() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.swap_stake", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[29, "bittensor.core.extrinsics.asyncex.move_stake.swap_stake_extrinsic", false]], "swap_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[44, "bittensor.core.extrinsics.move_stake.swap_stake_extrinsic", false]], "swap_stake_limit (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT", false]], "swap_stake_limit() (bittensor.core.extrinsics.params.move_stake.movestakeparams class method)": [[48, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams.swap_stake_limit", false]], "symbol (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.symbol", false]], "symbol (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Symbol", false]], "symbol (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.symbol", false]], "symbol (bittensor.extras.dev_framework.calls.non_sudo_calls.update_symbol attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL.symbol", false]], "synapse (bittensor.core.errors.synapseexception attribute)": [[25, "bittensor.core.errors.SynapseException.synapse", false]], "synapse (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[72, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.synapse", false]], "synapse (class in bittensor.core.synapse)": [[74, "bittensor.core.synapse.Synapse", false]], "synapse_history (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.synapse_history", false]], "synapse_to_response() (bittensor.core.axon.axonmiddleware class method)": [[0, "bittensor.core.axon.AxonMiddleware.synapse_to_response", false]], "synapsedendritenoneexception": [[25, "bittensor.core.errors.SynapseDendriteNoneException", false]], "synapseexception": [[25, "bittensor.core.errors.SynapseException", false]], "synapseparsingerror": [[25, "bittensor.core.errors.SynapseParsingError", false]], "sync() (bittensor.core.metagraph.asyncmetagraph method)": [[70, "bittensor.core.metagraph.AsyncMetagraph.sync", false]], "sync() (bittensor.core.metagraph.metagraph method)": [[70, "bittensor.core.metagraph.Metagraph.sync", false]], "system (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.System", false]], "t (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.T", false]], "t (in module bittensor.core.chain_data.info_base)": [[7, "bittensor.core.chain_data.info_base.T", false]], "take (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[3, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.take", false]], "take (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[4, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.take", false]], "take (bittensor.extras.dev_framework.calls.non_sudo_calls.decrease_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.non_sudo_calls.increase_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_childkey_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_childkey_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE.take", false]], "take (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_delegate_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE.take", false]], "takeerror": [[25, "bittensor.core.errors.TakeError", false]], "takeparams (class in bittensor.core.extrinsics.params.take)": [[54, "bittensor.core.extrinsics.params.take.TakeParams", false]], "tao (bittensor.utils.balance.balance property)": [[101, "bittensor.utils.balance.Balance.tao", false]], "tao() (in module bittensor.utils.balance)": [[101, "bittensor.utils.balance.tao", false]], "tao_amount (bittensor.core.chain_data.sim_swap.simswapresult attribute)": [[15, "bittensor.core.chain_data.sim_swap.SimSwapResult.tao_amount", false]], "tao_app_block_explorer (in module bittensor.core.settings)": [[71, "bittensor.core.settings.TAO_APP_BLOCK_EXPLORER", false]], "tao_dividends_per_hotkey (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_dividends_per_hotkey", false]], "tao_dividends_per_hotkey (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.tao_dividends_per_hotkey", false]], "tao_fee (bittensor.core.chain_data.sim_swap.simswapresult attribute)": [[15, "bittensor.core.chain_data.sim_swap.SimSwapResult.tao_fee", false]], "tao_in (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in", false]], "tao_in (bittensor.core.chain_data.metagraph_info.metagraphinfopool attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool.tao_in", false]], "tao_in_emission (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_in_emission", false]], "tao_in_emission (bittensor.core.chain_data.metagraph_info.metagraphinfoemissions attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions.tao_in_emission", false]], "tao_slippage (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_slippage", false]], "tao_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tao_stake", false]], "tao_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.tao_stake", false]], "tao_stake (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.tao_stake", false]], "tao_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.tao_stake", false]], "tao_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.tao_stake", false]], "tao_symbol (in module bittensor.core.settings)": [[71, "bittensor.core.settings.TAO_SYMBOL", false]], "tao_to_alpha() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha", false]], "tao_to_alpha_with_slippage() (bittensor.core.chain_data.dynamic_info.dynamicinfo method)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tao_to_alpha_with_slippage", false]], "taodividendsperhotkey (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoDividendsPerHotkey", false]], "taoin (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoIn", false]], "taoinemission (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoInEmission", false]], "taostake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TaoStake", false]], "target (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.target", false]], "target_address (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.target_address", false]], "target_registrations_per_interval (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.target_registrations_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.target_regs_per_interval", false]], "target_regs_per_interval (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.target_regs_per_interval", false]], "targetregsperinterval (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TargetRegsPerInterval", false]], "task (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY.task", false]], "task (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.task", false]], "tempo (bittensor.core.chain_data.dynamic_info.dynamicinfo attribute)": [[5, "bittensor.core.chain_data.dynamic_info.DynamicInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.tempo", false]], "tempo (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Tempo", false]], "tempo (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.tempo", false]], "tempo (bittensor.core.chain_data.subnet_info.subnetinfo attribute)": [[19, "bittensor.core.chain_data.subnet_info.SubnetInfo.tempo", false]], "tempo (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.tempo", false]], "tempo (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.tempo", false]], "tempo (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.tempo", false]], "tempo() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.tempo", false]], "tensor (class in bittensor.core.tensor)": [[75, "bittensor.core.tensor.Tensor", false], [75, "bittensor.core.tensor.tensor", false]], "tensor (in module bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.Tensor", false]], "tensor() (bittensor.core.tensor.tensor method)": [[75, "bittensor.core.tensor.Tensor.tensor", false]], "terminalinfo (class in bittensor.core.synapse)": [[74, "bittensor.core.synapse.TerminalInfo", false]], "terminate_lease (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE", false]], "terminate_workers_and_wait_for_exit() (in module bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.terminate_workers_and_wait_for_exit", false]], "testsubnet (class in bittensor.extras.dev_framework.subnet)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet", false]], "thread_pool (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.thread_pool", false]], "threshold (bittensor.core.chain_data.proposal_vote_data.proposalvotedata attribute)": [[13, "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData.threshold", false]], "threshold (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.threshold", false]], "threshold (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.threshold", false]], "threshold (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.threshold", false]], "threshold (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.threshold", false]], "tick_high (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.tick_high", false]], "tick_low (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.tick_low", false]], "tick_to_price() (in module bittensor.utils.liquidity)": [[112, "bittensor.utils.liquidity.tick_to_price", false]], "time_average (bittensor.utils.registration.pow.registrationstatistics attribute)": [[116, "bittensor.utils.registration.pow.RegistrationStatistics.time_average", false]], "time_spent (bittensor.utils.registration.pow.registrationstatistics attribute)": [[116, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent", false]], "time_spent_total (bittensor.utils.registration.pow.registrationstatistics attribute)": [[116, "bittensor.utils.registration.pow.RegistrationStatistics.time_spent_total", false]], "timeout (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.timeout", false]], "timepoint (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.timepoint", false]], "timestamp (bittensor.core.types.blockinfo attribute)": [[77, "bittensor.core.types.BlockInfo.timestamp", false]], "timestamp (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Timestamp", false]], "to_dict() (bittensor.core.config.config method)": [[23, "bittensor.core.config.Config.to_dict", false]], "to_headers() (bittensor.core.synapse.synapse method)": [[74, "bittensor.core.synapse.Synapse.to_headers", false], [74, "id5", false]], "to_parameter_dict() (bittensor.core.chain_data.axon_info.axoninfo method)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.to_parameter_dict", false]], "to_parameter_dict() (bittensor.core.chain_data.ip_info.ipinfo method)": [[8, "bittensor.core.chain_data.ip_info.IPInfo.to_parameter_dict", false]], "to_string() (bittensor.core.axon.axon method)": [[0, "bittensor.core.axon.Axon.to_string", false]], "to_string() (bittensor.core.chain_data.axon_info.axoninfo method)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.to_string", false]], "to_token_amounts() (bittensor.utils.liquidity.liquidityposition method)": [[112, "bittensor.utils.liquidity.LiquidityPosition.to_token_amounts", false]], "toggle (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.toggle", false]], "toggle_user_liquidity (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.toggle_user_liquidity", false]], "toggle_user_liquidity (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY", false]], "toggle_user_liquidity() (bittensor.core.extrinsics.params.liquidity.liquidityparams class method)": [[47, "bittensor.core.extrinsics.params.liquidity.LiquidityParams.toggle_user_liquidity", false]], "toggle_user_liquidity() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.toggle_user_liquidity", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.asyncex.liquidity)": [[28, "bittensor.core.extrinsics.asyncex.liquidity.toggle_user_liquidity_extrinsic", false]], "toggle_user_liquidity_extrinsic() (in module bittensor.core.extrinsics.liquidity)": [[43, "bittensor.core.extrinsics.liquidity.toggle_user_liquidity_extrinsic", false]], "token_streamer (bittensor.core.stream.btstreamingresponsemodel attribute)": [[72, "bittensor.core.stream.BTStreamingResponseModel.token_streamer", false]], "token_streamer (bittensor.core.stream.streamingsynapse.btstreamingresponse attribute)": [[72, "bittensor.core.stream.StreamingSynapse.BTStreamingResponse.token_streamer", false]], "tolist() (bittensor.core.tensor.tensor method)": [[75, "bittensor.core.tensor.Tensor.tolist", false]], "toomanychildren": [[25, "bittensor.core.errors.TooManyChildren", false]], "torch (bittensor.core.tensor.dtypes attribute)": [[75, "bittensor.core.tensor.DTypes.torch", false]], "torch (in module bittensor.utils)": [[111, "bittensor.utils.torch", false]], "torch (in module bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.torch", false]], "torchmetagraph (class in bittensor.core.metagraph)": [[70, "bittensor.core.metagraph.TorchMetagraph", false]], "total_issuance (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_total_issuance attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE.total_issuance", false]], "total_size (bittensor.core.synapse.synapse attribute)": [[74, "bittensor.core.synapse.Synapse.total_size", false]], "total_stake (bittensor.core.chain_data.delegate_info.delegateinfo attribute)": [[3, "bittensor.core.chain_data.delegate_info.DelegateInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.total_stake", false]], "total_stake (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.total_stake", false]], "total_stake (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.total_stake", false]], "total_stake (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.total_stake", false]], "total_stake (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.total_stake", false]], "totalstake (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.TotalStake", false]], "tpb (bittensor.utils.registration.pow.cudasolver attribute)": [[116, "bittensor.utils.registration.pow.CUDASolver.tpb", false]], "trace (bittensor.utils.btlogging.format.btstreamformatter attribute)": [[104, "bittensor.utils.btlogging.format.BtStreamFormatter.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingconfig attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingConfig.trace", false]], "trace (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Trace", false]], "trace() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.trace", false]], "trace() (in module bittensor.utils.btlogging.levels)": [[107, "bittensor.utils.btlogging.levels.trace", false]], "trace_level_num (in module bittensor.utils.btlogging.format)": [[104, "bittensor.utils.btlogging.format.TRACE_LEVEL_NUM", false]], "trace_log_format (in module bittensor.utils.btlogging.defines)": [[103, "bittensor.utils.btlogging.defines.TRACE_LOG_FORMAT", false]], "transact (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT", false]], "transaction (bittensor.extras.dev_framework.calls.non_sudo_calls.transact attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT.transaction", false]], "transaction_alpha_fee (bittensor.core.types.extrinsicresponse attribute)": [[77, "bittensor.core.types.ExtrinsicResponse.transaction_alpha_fee", false]], "transaction_tao_fee (bittensor.core.types.extrinsicresponse attribute)": [[77, "bittensor.core.types.ExtrinsicResponse.transaction_tao_fee", false]], "transfer (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.transfer", false]], "transfer (bittensor.extras.subtensor_api.wallets.wallets attribute)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets.transfer", false]], "transfer() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.transfer", false]], "transfer_all (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL", false]], "transfer_all() (bittensor.core.extrinsics.params.transfer.transferparams class method)": [[55, "bittensor.core.extrinsics.params.transfer.TransferParams.transfer_all", false]], "transfer_allow_death (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH", false]], "transfer_allow_death() (bittensor.core.extrinsics.params.transfer.transferparams class method)": [[55, "bittensor.core.extrinsics.params.transfer.TransferParams.transfer_allow_death", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.asyncex.transfer)": [[37, "bittensor.core.extrinsics.asyncex.transfer.transfer_extrinsic", false]], "transfer_extrinsic() (in module bittensor.core.extrinsics.transfer)": [[65, "bittensor.core.extrinsics.transfer.transfer_extrinsic", false]], "transfer_keep_alive (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE", false]], "transfer_keep_alive() (bittensor.core.extrinsics.params.transfer.transferparams class method)": [[55, "bittensor.core.extrinsics.params.transfer.TransferParams.transfer_keep_alive", false]], "transfer_stake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.transfer_stake", false]], "transfer_stake (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.transfer_stake", false]], "transfer_stake (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE", false]], "transfer_stake() (bittensor.core.extrinsics.params.move_stake.movestakeparams class method)": [[48, "bittensor.core.extrinsics.params.move_stake.MoveStakeParams.transfer_stake", false]], "transfer_stake() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.transfer_stake", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.asyncex.move_stake)": [[29, "bittensor.core.extrinsics.asyncex.move_stake.transfer_stake_extrinsic", false]], "transfer_stake_extrinsic() (in module bittensor.core.extrinsics.move_stake)": [[44, "bittensor.core.extrinsics.move_stake.transfer_stake_extrinsic", false]], "transfererror": [[25, "bittensor.core.errors.TransferError", false]], "transferparams (class in bittensor.core.extrinsics.params.transfer)": [[55, "bittensor.core.extrinsics.params.transfer.TransferParams", false]], "transfers_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.transfers_enabled", false]], "triumvirate (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Triumvirate", false]], "triumviratemembers (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.TriumvirateMembers", false]], "trust (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.trust", false]], "trust (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Trust", false]], "trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.trust", false]], "trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.trust", false]], "trust (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.trust", false]], "trust (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.trust", false]], "trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.trust", false]], "trust (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.trust", false]], "try_associate_hotkey (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY", false]], "ts (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.TS", false]], "tv (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.Tv", false]], "tx_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_childkey_take_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT.tx_rate_limit", false]], "tx_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_delegate_take_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT.tx_rate_limit", false]], "tx_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT.tx_rate_limit", false]], "tx_rate_limit (bittensor.extras.subtensor_api.chain.chain attribute)": [[86, "bittensor.extras.subtensor_api.chain.Chain.tx_rate_limit", false]], "tx_rate_limit() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.tx_rate_limit", false]], "txratelimitexceeded": [[25, "bittensor.core.errors.TxRateLimitExceeded", false]], "type (bittensor.core.types.paramwithtypes attribute)": [[77, "bittensor.core.types.ParamWithTypes.type", false]], "type_registry (in module bittensor.core.settings)": [[71, "bittensor.core.settings.TYPE_REGISTRY", false]], "u16_max (in module bittensor.utils)": [[111, "bittensor.utils.U16_MAX", false]], "u16_max (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.U16_MAX", false]], "u16_normalized_float() (in module bittensor.utils)": [[111, "bittensor.utils.u16_normalized_float", false]], "u32_max (in module bittensor.utils.weight_utils)": [[120, "bittensor.utils.weight_utils.U32_MAX", false]], "u64_max (in module bittensor.utils)": [[111, "bittensor.utils.U64_MAX", false]], "u64_normalized_float() (in module bittensor.utils)": [[111, "bittensor.utils.u64_normalized_float", false]], "uid (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.uid", false]], "uid (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.uid", false]], "uids (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.uids", false]], "uids (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.uids", false]], "uids (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.uids", false]], "uids (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.uids", false]], "uids (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.uids", false]], "uids (in module bittensor.core.types)": [[77, "bittensor.core.types.UIDs", false]], "uids_list (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.uids_list", false]], "unit (bittensor.utils.balance.balance attribute)": [[101, "bittensor.utils.balance.Balance.unit", false]], "unknownsynapseerror": [[25, "bittensor.core.errors.UnknownSynapseError", false]], "unlock_key() (in module bittensor.utils)": [[111, "bittensor.utils.unlock_key", false]], "unlock_wallet() (bittensor.core.types.extrinsicresponse class method)": [[77, "bittensor.core.types.ExtrinsicResponse.unlock_wallet", false]], "unlockstatus (class in bittensor.utils)": [[111, "bittensor.utils.UnlockStatus", false]], "unnote_preimage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE", false]], "unrequest_preimage (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE", false]], "unstake (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.unstake", false]], "unstake (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.unstake", false]], "unstake() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.unstake", false]], "unstake_all (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.unstake_all", false]], "unstake_all (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.unstake_all", false]], "unstake_all (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL", false]], "unstake_all() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.unstake_all", false]], "unstake_all_alpha (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_all_extrinsic", false]], "unstake_all_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[66, "bittensor.core.extrinsics.unstaking.unstake_all_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_extrinsic", false]], "unstake_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[66, "bittensor.core.extrinsics.unstaking.unstake_extrinsic", false]], "unstake_multiple (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.unstake_multiple", false]], "unstake_multiple (bittensor.extras.subtensor_api.staking.staking attribute)": [[94, "bittensor.extras.subtensor_api.staking.Staking.unstake_multiple", false]], "unstake_multiple() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.unstake_multiple", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.asyncex.unstaking)": [[38, "bittensor.core.extrinsics.asyncex.unstaking.unstake_multiple_extrinsic", false]], "unstake_multiple_extrinsic() (in module bittensor.core.extrinsics.unstaking)": [[66, "bittensor.core.extrinsics.unstaking.unstake_multiple_extrinsic", false]], "unstakeerror": [[25, "bittensor.core.errors.UnstakeError", false]], "unstakingparams (class in bittensor.core.extrinsics.params.unstaking)": [[56, "bittensor.core.extrinsics.params.unstaking.UnstakingParams", false]], "update() (bittensor.utils.registration.pow.registrationstatisticslogger method)": [[116, "bittensor.utils.registration.pow.RegistrationStatisticsLogger.update", false]], "update() (bittensor.utils.registration.pow.status method)": [[116, "bittensor.utils.registration.pow.Status.update", false]], "update_cap (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP", false]], "update_curr_block() (in module bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.update_curr_block", false]], "update_end (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END", false]], "update_min_contribution (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION", false]], "update_symbol (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL", false]], "upgrade_accounts (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS", false]], "url (bittensor.core.chain_data.chain_identity.chainidentity attribute)": [[2, "bittensor.core.chain_data.chain_identity.ChainIdentity.url", false]], "url (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.url", false]], "use_torch (in module bittensor.utils)": [[111, "bittensor.utils.use_torch", false]], "use_torch() (in module bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.use_torch", false]], "user_bittensor_dir (in module bittensor.core.settings)": [[71, "bittensor.core.settings.USER_BITTENSOR_DIR", false]], "user_liquidity_enabled (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.user_liquidity_enabled", false]], "usingspawnstartmethod (class in bittensor.utils.registration.pow)": [[116, "bittensor.utils.registration.pow.UsingSpawnStartMethod", false]], "utility (in module bittensor.extras.dev_framework.calls.pallets)": [[80, "bittensor.extras.dev_framework.calls.pallets.Utility", false]], "uuid (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.uuid", false]], "uuid (bittensor.core.dendrite.dendritemixin attribute)": [[24, "bittensor.core.dendrite.DendriteMixin.uuid", false]], "uuid (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.uuid", false]], "v_7_2_0 (in module bittensor.core.axon)": [[0, "bittensor.core.axon.V_7_2_0", false]], "validate_chain_endpoint() (in module bittensor.utils)": [[111, "bittensor.utils.validate_chain_endpoint", false]], "validate_extrinsic_params (bittensor.extras.subtensor_api.extrinsics.extrinsics attribute)": [[89, "bittensor.extras.subtensor_api.extrinsics.Extrinsics.validate_extrinsic_params", false]], "validate_extrinsic_params() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.validate_extrinsic_params", false]], "validator_permit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_permit", false]], "validator_permit (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_permit", false]], "validator_permit (bittensor.core.chain_data.subnet_state.subnetstate attribute)": [[20, "bittensor.core.chain_data.subnet_state.SubnetState.validator_permit", false]], "validator_permit (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.validator_permit", false]], "validator_permit (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.validator_permit", false]], "validator_permit (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.validator_permit", false]], "validator_permits (bittensor.core.chain_data.delegate_info.delegateinfobase attribute)": [[3, "bittensor.core.chain_data.delegate_info.DelegateInfoBase.validator_permits", false]], "validator_permits (bittensor.core.chain_data.delegate_info_lite.delegateinfolite attribute)": [[4, "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite.validator_permits", false]], "validator_trust (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.validator_trust", false]], "validator_trust (bittensor.core.chain_data.neuron_info_lite.neuroninfolite attribute)": [[11, "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite.validator_trust", false]], "validator_trust (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.validator_trust", false]], "validator_trust (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.validator_trust", false]], "validator_trust (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.validator_trust", false]], "validatorpermit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.ValidatorPermit", false]], "validators (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.validators", false]], "validators (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.Validators", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.burn attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_allow_death attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_keep_alive attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE.value", false]], "value (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.value", false]], "values (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.values", false]], "values (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.values", false]], "values_list (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.values_list", false]], "verify() (bittensor.core.axon.axonmiddleware method)": [[0, "bittensor.core.axon.AxonMiddleware.verify", false]], "verify_body_integrity() (bittensor.core.axon.axon method)": [[0, "bittensor.core.axon.Axon.verify_body_integrity", false]], "verify_fns (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.verify_fns", false]], "version (bittensor.core.chain_data.axon_info.axoninfo attribute)": [[1, "bittensor.core.chain_data.axon_info.AxonInfo.version", false]], "version (bittensor.core.chain_data.prometheus_info.prometheusinfo attribute)": [[12, "bittensor.core.chain_data.prometheus_info.PrometheusInfo.version", false]], "version (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.version", false]], "version (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.version", false]], "version (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.version", false]], "version (bittensor.core.synapse.terminalinfo attribute)": [[74, "bittensor.core.synapse.TerminalInfo.version", false]], "version (bittensor.core.types.axonservecallparams attribute)": [[77, "bittensor.core.types.AxonServeCallParams.version", false]], "version (bittensor.core.types.prometheusservecallparams attribute)": [[77, "bittensor.core.types.PrometheusServeCallParams.version", false]], "version (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.version", false]], "version (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.version", false]], "version (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.version", false]], "version (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_version attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION.version", false]], "version_as_int (in module bittensor.core.settings)": [[71, "bittensor.core.settings.version_as_int", false]], "version_check_threshold (in module bittensor.utils.version)": [[119, "bittensor.utils.version.VERSION_CHECK_THRESHOLD", false]], "version_key (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.version_key", false]], "version_key (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.version_key", false]], "version_key (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.version_key", false]], "version_key (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.version_key", false]], "version_keys (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.version_keys", false]], "version_keys (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.version_keys", false]], "version_split (in module bittensor.core.settings)": [[71, "bittensor.core.settings.version_split", false]], "versioncheckerror": [[119, "bittensor.utils.version.VersionCheckError", false]], "versioncheckerror (in module bittensor.utils)": [[111, "bittensor.utils.VersionCheckError", false]], "vote (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE", false], [79, "id41", false]], "w (bittensor.core.metagraph.metagraphmixin property)": [[70, "bittensor.core.metagraph.MetagraphMixin.W", false]], "wait_for_block (bittensor.extras.subtensor_api.subtensorapi attribute)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.wait_for_block", false]], "wait_for_block() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.wait_for_block", false]], "wait_for_finalization (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.wait_for_finalization", false]], "wait_for_inclusion (bittensor.extras.dev_framework.subnet.testsubnet attribute)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.wait_for_inclusion", false]], "wait_next_epoch() (bittensor.extras.dev_framework.subnet.testsubnet method)": [[83, "bittensor.extras.dev_framework.subnet.TestSubnet.wait_next_epoch", false]], "wait_reveal_and_decrypt() (in module bittensor.extras.timelock)": [[98, "bittensor.extras.timelock.wait_reveal_and_decrypt", false]], "wallet (bittensor.core.axon.axon attribute)": [[0, "bittensor.core.axon.Axon.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_member attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER.wallet", false], [79, "id2", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.add_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.adjust_senate attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.announce attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.apply_authorized_upgrade attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.approve_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_derivative attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.as_multi_threshold_1 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.associate_evm_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.authorize_upgrade_without_checks attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_all attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_commit_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burn attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burn_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.burned_register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_as_multi attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel_retry_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.change_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY.wallet", false], [79, "id7", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.clear_prime attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME.wallet", false], [79, "id10", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.close attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_crv3_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_timelocked_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.commit_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.contribute attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE.wallet", false], [79, "id13", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create2 attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.create_pure attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.decrease_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.disable_whitelist attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.disapprove_proposal attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dispatch_as_fallible attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.dissolve_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.ensure_updated attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.enter attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.execute attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.extend attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.finalize attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_adjust_total_issuance attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_batch attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_enter attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_exit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_extend attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_release_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_set_balance attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_slash_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_transfer attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.force_unreserve attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.if_else attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.increase_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_prefix attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_pure attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.kill_storage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.modify_position attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.move_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.note_preimage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.note_stalled attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.poke_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT.wallet", false], [79, "id16", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.propose attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.proxy_announced attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.recycle_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.refund attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_leased_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.register_network_with_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reject_announcement attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.release_deposit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remark attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remark_with_event attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_announcement attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_member attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER.wallet", false], [79, "id19", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxies attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_proxy attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_full_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.report_equivocation_unsigned attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.request_preimage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reset_members attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS.wallet", false], [79, "id24", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.reveal_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.root_dissolve_network attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.root_register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_grandpa_change attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named_after attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_swap_coldkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_axon_tls attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.serve_prometheus attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_base_fee_per_gas attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_beacon_config attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_childkey_take attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_children attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_code_without_checks attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_coldkey_auto_stake_hotkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_commitment attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_elasticity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_fee_rate attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_heap_pages attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY.wallet", false], [79, "id27", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_key attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_max_space attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_members attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_oldest_stored_round attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_pending_childkey_cooldown attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_prime attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME.wallet", false], [79, "id30", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_retry_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_storage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_subnet_identity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.set_whitelist attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.start_call attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.sudo attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO.wallet", false], [79, "id35", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_authorities attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_coldkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_hotkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_member attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER.wallet", false], [79, "id40", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.swap_stake_limit attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.terminate_lease attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.toggle_user_liquidity attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transact attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_all attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_allow_death attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_keep_alive attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.transfer_stake attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.try_associate_hotkey attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unnote_preimage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unrequest_preimage attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.unstake_all_alpha attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_cap attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_end attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_min_contribution attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.update_symbol attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.upgrade_accounts attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.vote attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE.wallet", false], [79, "id46", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.with_weight attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.withdraw attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW.wallet", false], [79, "id49", false]], "wallet (bittensor.extras.dev_framework.calls.non_sudo_calls.write_pulse attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_activity_cutoff attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_alpha attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_adjustment_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_admin_freeze_window attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_sigmoid_steepness attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_alpha_values attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_moving_average attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_penalty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_bonds_reset_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ck_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_coldkey_swap_schedule_duration attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_version attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_commit_reveal_weights_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_default_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_dissolve_network_schedule_duration attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_ema_price_halving_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_evm_chain_id attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_immunity_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_kappa attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_liquid_alpha_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_lock_reduction_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_allowed_validators attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_childkey_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_registrations_per_block attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_max_weight_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_count attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_mechanism_emission_split attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_allowed_weights attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_childkey_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_delegate_take attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_min_difficulty attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_immunity_period attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_min_lock_cost attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_pow_registration_allowed attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_network_registration_allowed attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_nominator_min_required_stake attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_hparam_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_owner_immune_neuron_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rao_recycled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_recycle_or_burn attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_rho attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_serving_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_sn_owner_hotkey attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_stake_threshold attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_moving_alpha attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_cut attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subnet_owner_hotkey attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_subtoken_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_target_registrations_per_interval attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tempo attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_toggle_transfer attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_total_issuance attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_childkey_take_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_delegate_take_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_tx_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_yuma3_enabled attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_toggle_evm_precompile attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_trim_to_max_allowed_uids attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS.wallet", false]], "wallet (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.wallet", false], [81, "id4", false]], "wallet (bittensor.extras.dev_framework.utils.activatesubnet attribute)": [[84, "bittensor.extras.dev_framework.utils.ActivateSubnet.wallet", false]], "wallet (bittensor.extras.dev_framework.utils.registerneuron attribute)": [[84, "bittensor.extras.dev_framework.utils.RegisterNeuron.wallet", false]], "wallet (bittensor.extras.dev_framework.utils.registersubnet attribute)": [[84, "bittensor.extras.dev_framework.utils.RegisterSubnet.wallet", false]], "wallet (bittensor.utils.subnets.subnetsapi attribute)": [[118, "bittensor.utils.subnets.SubnetsAPI.wallet", false]], "wallets (bittensor.extras.subtensor_api.subtensorapi property)": [[90, "bittensor.extras.subtensor_api.SubtensorApi.wallets", false]], "wallets (class in bittensor.extras.subtensor_api.wallets)": [[97, "bittensor.extras.subtensor_api.wallets.Wallets", false]], "wallets_dir (in module bittensor.core.settings)": [[71, "bittensor.core.settings.WALLETS_DIR", false]], "warning (bittensor.utils.btlogging.loggingmachine.loggingmachine attribute)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.Warning", false]], "warning() (bittensor.utils.btlogging.console.bittensorconsole method)": [[102, "bittensor.utils.btlogging.console.BittensorConsole.warning", false]], "warning() (bittensor.utils.btlogging.loggingmachine.loggingmachine method)": [[108, "bittensor.utils.btlogging.loggingmachine.LoggingMachine.warning", false]], "warning() (in module bittensor.utils.btlogging.levels)": [[107, "bittensor.utils.btlogging.levels.warning", false]], "weight (bittensor.extras.dev_framework.calls.non_sudo_calls.with_weight attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT.weight", false]], "weight (bittensor.extras.dev_framework.calls.sudo_calls.sudo_unchecked_weight attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT.weight", false], [81, "id5", false]], "weightcommitinfo (class in bittensor.core.chain_data.weight_commit_info)": [[22, "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo", false]], "weights (bittensor.core.chain_data.neuron_info.neuroninfo attribute)": [[10, "bittensor.core.chain_data.neuron_info.NeuronInfo.weights", false]], "weights (bittensor.core.metagraph.metagraphmixin attribute)": [[70, "bittensor.core.metagraph.MetagraphMixin.weights", false]], "weights (bittensor.core.metagraph.nontorchmetagraph attribute)": [[70, "bittensor.core.metagraph.NonTorchMetagraph.weights", false]], "weights (bittensor.core.metagraph.torchmetagraph attribute)": [[70, "bittensor.core.metagraph.TorchMetagraph.weights", false]], "weights (bittensor.extras.dev_framework.calls.non_sudo_calls.batch_set_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS.weights", false]], "weights (bittensor.extras.dev_framework.calls.non_sudo_calls.set_mechanism_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS.weights", false]], "weights (bittensor.extras.dev_framework.calls.non_sudo_calls.set_weights attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS.weights", false]], "weights (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.weights", false]], "weights (in module bittensor.core.types)": [[77, "bittensor.core.types.Weights", false]], "weights() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.weights", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_rate_limit", false]], "weights_rate_limit (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_rate_limit", false]], "weights_rate_limit (bittensor.extras.subtensor_api.subnets.subnets attribute)": [[95, "bittensor.extras.subtensor_api.subnets.Subnets.weights_rate_limit", false]], "weights_rate_limit() (bittensor.core.subtensor.subtensor method)": [[73, "bittensor.core.subtensor.Subtensor.weights_rate_limit", false]], "weights_set_rate_limit (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_set_rate_limit attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT.weights_set_rate_limit", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfo attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfo.weights_version", false]], "weights_version (bittensor.core.chain_data.metagraph_info.metagraphinfoparams attribute)": [[9, "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams.weights_version", false]], "weights_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.weights_version", false]], "weights_version_key (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_weights_version_key attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY.weights_version_key", false]], "weightsparams (class in bittensor.core.extrinsics.params.weights)": [[57, "bittensor.core.extrinsics.params.weights.WeightsParams", false]], "weightsratelimit (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsRateLimit", false]], "weightsversion (bittensor.core.chain_data.metagraph_info.selectivemetagraphindex attribute)": [[9, "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex.WeightsVersion", false]], "when (bittensor.extras.dev_framework.calls.non_sudo_calls.cancel attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL.when", false]], "when (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE.when", false]], "when (bittensor.extras.dev_framework.calls.non_sudo_calls.schedule_named attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED.when", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.add_member attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER.who", false], [79, "id3", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.force_set_balance attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE.who", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.force_unreserve attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE.who", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.remove_member attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER.who", false], [79, "id20", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.set_prime attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME.who", false], [79, "id31", false]], "who (bittensor.extras.dev_framework.calls.non_sudo_calls.upgrade_accounts attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS.who", false]], "who (bittensor.extras.dev_framework.calls.sudo_calls.sudo_as attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS.who", false]], "window (bittensor.extras.dev_framework.calls.sudo_calls.sudo_set_admin_freeze_window attribute)": [[81, "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW.window", false]], "with_log() (bittensor.core.types.extrinsicresponse method)": [[77, "bittensor.core.types.ExtrinsicResponse.with_log", false]], "with_weight (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT", false]], "withdraw (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW", false], [79, "id47", false]], "work (bittensor.extras.dev_framework.calls.non_sudo_calls.faucet attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET.work", false]], "work (bittensor.extras.dev_framework.calls.non_sudo_calls.register attribute)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER.work", false]], "write_pulse (class in bittensor.extras.dev_framework.calls.non_sudo_calls)": [[79, "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE", false]], "yuma_version (bittensor.core.chain_data.subnet_hyperparameters.subnethyperparameters attribute)": [[17, "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters.yuma_version", false]]}, "objects": {"": [[99, 0, 0, "-", "bittensor"]], "bittensor": [[69, 0, 0, "-", "core"], [85, 0, 0, "-", "extras"], [111, 0, 0, "-", "utils"]], "bittensor.core": [[0, 0, 0, "-", "axon"], [6, 0, 0, "-", "chain_data"], [23, 0, 0, "-", "config"], [24, 0, 0, "-", "dendrite"], [25, 0, 0, "-", "errors"], [42, 0, 0, "-", "extrinsics"], [70, 0, 0, "-", "metagraph"], [71, 0, 0, "-", "settings"], [72, 0, 0, "-", "stream"], [73, 0, 0, "-", "subtensor"], [74, 0, 0, "-", "synapse"], [75, 0, 0, "-", "tensor"], [76, 0, 0, "-", "threadpool"], [77, 0, 0, "-", "types"]], "bittensor.core.axon": [[0, 1, 1, "", "Axon"], [0, 1, 1, "", "AxonMiddleware"], [0, 1, 1, "", "FastAPIThreadedServer"], [0, 4, 1, "", "V_7_2_0"], [0, 5, 1, "", "create_error_response"], [0, 5, 1, "", "log_and_handle_error"]], "bittensor.core.axon.Axon": [[0, 2, 1, "", "add_args"], [0, 3, 1, "", "app"], [0, 2, 1, "", "attach"], [0, 3, 1, "", "blacklist_fns"], [0, 2, 1, "", "check_config"], [0, 2, 1, "", "config"], [0, 2, 1, "", "default_verify"], [0, 3, 1, "", "external_ip"], [0, 3, 1, "", "external_port"], [0, 3, 1, "", "fast_config"], [0, 3, 1, "", "fast_server"], [0, 3, 1, "", "forward_class_types"], [0, 3, 1, "", "forward_fns"], [0, 3, 1, "", "full_address"], [0, 2, 1, "", "help"], [0, 2, 1, "", "info"], [0, 3, 1, "", "ip"], [0, 3, 1, "", "middleware_cls"], [0, 3, 1, "", "nonces"], [0, 3, 1, "", "port"], [0, 3, 1, "", "priority_fns"], [0, 3, 1, "", "router"], [0, 2, 1, "", "serve"], [0, 2, 1, "", "start"], [0, 3, 1, "", "started"], [0, 2, 1, "", "stop"], [0, 3, 1, "", "thread_pool"], [0, 2, 1, "", "to_string"], [0, 3, 1, "", "uuid"], [0, 2, 1, "", "verify_body_integrity"], [0, 3, 1, "", "verify_fns"], [0, 3, 1, "", "wallet"]], "bittensor.core.axon.AxonMiddleware": [[0, 3, 1, "", "axon"], [0, 2, 1, "", "blacklist"], [0, 2, 1, "", "dispatch"], [0, 2, 1, "", "preprocess"], [0, 2, 1, "", "priority"], [0, 2, 1, "", "run"], [0, 2, 1, "", "synapse_to_response"], [0, 2, 1, "", "verify"]], "bittensor.core.axon.FastAPIThreadedServer": [[0, 2, 1, "", "install_signal_handlers"], [0, 3, 1, "", "is_running"], [0, 2, 1, "", "run_in_thread"], [0, 3, 1, "", "should_exit"], [0, 2, 1, "", "start"], [0, 2, 1, "", "stop"]], "bittensor.core.chain_data": [[6, 4, 1, "", "ProposalCallData"], [1, 0, 0, "-", "axon_info"], [2, 0, 0, "-", "chain_identity"], [3, 0, 0, "-", "delegate_info"], [4, 0, 0, "-", "delegate_info_lite"], [5, 0, 0, "-", "dynamic_info"], [7, 0, 0, "-", "info_base"], [8, 0, 0, "-", "ip_info"], [9, 0, 0, "-", "metagraph_info"], [10, 0, 0, "-", "neuron_info"], [11, 0, 0, "-", "neuron_info_lite"], [12, 0, 0, "-", "prometheus_info"], [13, 0, 0, "-", "proposal_vote_data"], [14, 0, 0, "-", "scheduled_coldkey_swap_info"], [15, 0, 0, "-", "sim_swap"], [16, 0, 0, "-", "stake_info"], [17, 0, 0, "-", "subnet_hyperparameters"], [18, 0, 0, "-", "subnet_identity"], [19, 0, 0, "-", "subnet_info"], [20, 0, 0, "-", "subnet_state"], [21, 0, 0, "-", "utils"], [22, 0, 0, "-", "weight_commit_info"]], "bittensor.core.chain_data.axon_info": [[1, 1, 1, "", "AxonInfo"]], "bittensor.core.chain_data.axon_info.AxonInfo": [[1, 3, 1, "", "coldkey"], [1, 2, 1, "", "from_neuron_info"], [1, 2, 1, "", "from_parameter_dict"], [1, 2, 1, "", "from_string"], [1, 3, 1, "", "hotkey"], [1, 3, 1, "", "ip"], [1, 2, 1, "", "ip_str"], [1, 3, 1, "", "ip_type"], [1, 6, 1, "", "is_serving"], [1, 3, 1, "", "placeholder1"], [1, 3, 1, "", "placeholder2"], [1, 3, 1, "", "port"], [1, 3, 1, "", "protocol"], [1, 2, 1, "", "to_parameter_dict"], [1, 2, 1, "", "to_string"], [1, 3, 1, "", "version"]], "bittensor.core.chain_data.chain_identity": [[2, 1, 1, "", "ChainIdentity"]], "bittensor.core.chain_data.chain_identity.ChainIdentity": [[2, 3, 1, "", "additional"], [2, 3, 1, "", "description"], [2, 3, 1, "", "discord"], [2, 3, 1, "", "github"], [2, 3, 1, "", "image"], [2, 3, 1, "", "name"], [2, 3, 1, "", "url"]], "bittensor.core.chain_data.delegate_info": [[3, 1, 1, "", "DelegateInfo"], [3, 1, 1, "", "DelegateInfoBase"], [3, 1, 1, "", "DelegatedInfo"]], "bittensor.core.chain_data.delegate_info.DelegateInfo": [[3, 3, 1, "", "nominators"], [3, 3, 1, "", "total_stake"]], "bittensor.core.chain_data.delegate_info.DelegateInfoBase": [[3, 3, 1, "", "hotkey_ss58"], [3, 3, 1, "", "owner_ss58"], [3, 3, 1, "", "registrations"], [3, 3, 1, "", "return_per_1000"], [3, 3, 1, "", "take"], [3, 3, 1, "", "validator_permits"]], "bittensor.core.chain_data.delegate_info.DelegatedInfo": [[3, 3, 1, "", "netuid"], [3, 3, 1, "", "stake"]], "bittensor.core.chain_data.delegate_info_lite": [[4, 1, 1, "", "DelegateInfoLite"]], "bittensor.core.chain_data.delegate_info_lite.DelegateInfoLite": [[4, 3, 1, "", "delegate_ss58"], [4, 3, 1, "", "nominators"], [4, 3, 1, "", "owner_ss58"], [4, 3, 1, "", "registrations"], [4, 3, 1, "", "return_per_1000"], [4, 3, 1, "", "take"], [4, 3, 1, "", "validator_permits"]], "bittensor.core.chain_data.dynamic_info": [[5, 1, 1, "", "DynamicInfo"]], "bittensor.core.chain_data.dynamic_info.DynamicInfo": [[5, 3, 1, "", "alpha_in"], [5, 3, 1, "", "alpha_in_emission"], [5, 3, 1, "", "alpha_out"], [5, 3, 1, "", "alpha_out_emission"], [5, 3, 1, "", "alpha_slippage"], [5, 2, 1, "", "alpha_to_tao"], [5, 2, 1, "", "alpha_to_tao_with_slippage"], [5, 3, 1, "", "blocks_since_last_step"], [5, 3, 1, "", "emission"], [5, 3, 1, "", "is_dynamic"], [5, 3, 1, "", "k"], [5, 3, 1, "", "last_step"], [5, 3, 1, "", "moving_price"], [5, 3, 1, "", "netuid"], [5, 3, 1, "", "network_registered_at"], [5, 3, 1, "", "owner_coldkey"], [5, 3, 1, "", "owner_hotkey"], [5, 3, 1, "", "pending_alpha_emission"], [5, 3, 1, "", "pending_root_emission"], [5, 3, 1, "", "price"], [5, 3, 1, "", "slippage"], [5, 3, 1, "", "subnet_identity"], [5, 3, 1, "", "subnet_name"], [5, 3, 1, "", "subnet_volume"], [5, 3, 1, "", "symbol"], [5, 3, 1, "", "tao_in"], [5, 3, 1, "", "tao_in_emission"], [5, 3, 1, "", "tao_slippage"], [5, 2, 1, "", "tao_to_alpha"], [5, 2, 1, "", "tao_to_alpha_with_slippage"], [5, 3, 1, "", "tempo"]], "bittensor.core.chain_data.info_base": [[7, 1, 1, "", "InfoBase"], [7, 4, 1, "", "T"]], "bittensor.core.chain_data.info_base.InfoBase": [[7, 2, 1, "", "from_dict"], [7, 2, 1, "", "list_from_dicts"]], "bittensor.core.chain_data.ip_info": [[8, 1, 1, "", "IPInfo"]], "bittensor.core.chain_data.ip_info.IPInfo": [[8, 2, 1, "", "encode"], [8, 2, 1, "", "from_parameter_dict"], [8, 3, 1, "", "ip"], [8, 3, 1, "", "ip_type"], [8, 3, 1, "", "protocol"], [8, 2, 1, "", "to_parameter_dict"]], "bittensor.core.chain_data.metagraph_info": [[9, 1, 1, "", "MetagraphInfo"], [9, 1, 1, "", "MetagraphInfoEmissions"], [9, 1, 1, "", "MetagraphInfoParams"], [9, 1, 1, "", "MetagraphInfoPool"], [9, 4, 1, "", "SELECTIVE_METAGRAPH_COMMITMENTS_OFFSET"], [9, 1, 1, "", "SelectiveMetagraphIndex"], [9, 5, 1, "", "get_selective_metagraph_commitments"], [9, 5, 1, "", "process_nested"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfo": [[9, 3, 1, "", "active"], [9, 3, 1, "", "activity_cutoff"], [9, 3, 1, "", "adjustment_alpha"], [9, 3, 1, "", "adjustment_interval"], [9, 3, 1, "", "alpha_dividends_per_hotkey"], [9, 3, 1, "", "alpha_high"], [9, 3, 1, "", "alpha_in"], [9, 3, 1, "", "alpha_in_emission"], [9, 3, 1, "", "alpha_low"], [9, 3, 1, "", "alpha_out"], [9, 3, 1, "", "alpha_out_emission"], [9, 3, 1, "", "alpha_stake"], [9, 3, 1, "", "axons"], [9, 3, 1, "", "block"], [9, 3, 1, "", "block_at_registration"], [9, 3, 1, "", "blocks_since_last_step"], [9, 3, 1, "", "bonds_moving_avg"], [9, 3, 1, "", "burn"], [9, 3, 1, "", "coldkeys"], [9, 3, 1, "", "commit_reveal_period"], [9, 3, 1, "", "commit_reveal_weights_enabled"], [9, 3, 1, "", "commitments"], [9, 3, 1, "", "consensus"], [9, 3, 1, "", "difficulty"], [9, 3, 1, "", "dividends"], [9, 3, 1, "", "emission"], [9, 3, 1, "", "hotkeys"], [9, 3, 1, "", "identities"], [9, 3, 1, "", "identity"], [9, 3, 1, "", "immunity_period"], [9, 3, 1, "", "incentives"], [9, 3, 1, "", "kappa"], [9, 3, 1, "", "last_step"], [9, 3, 1, "", "last_update"], [9, 3, 1, "", "liquid_alpha_enabled"], [9, 3, 1, "", "max_burn"], [9, 3, 1, "", "max_difficulty"], [9, 3, 1, "", "max_regs_per_block"], [9, 3, 1, "", "max_uids"], [9, 3, 1, "", "max_validators"], [9, 3, 1, "", "max_weights_limit"], [9, 3, 1, "", "mechid"], [9, 3, 1, "", "min_allowed_weights"], [9, 3, 1, "", "min_burn"], [9, 3, 1, "", "min_difficulty"], [9, 3, 1, "", "moving_price"], [9, 3, 1, "", "name"], [9, 3, 1, "", "netuid"], [9, 3, 1, "", "network_registered_at"], [9, 3, 1, "", "num_uids"], [9, 3, 1, "", "owner_coldkey"], [9, 3, 1, "", "owner_hotkey"], [9, 3, 1, "", "pending_alpha_emission"], [9, 3, 1, "", "pending_root_emission"], [9, 3, 1, "", "pow_registration_allowed"], [9, 3, 1, "", "pruning_score"], [9, 3, 1, "", "rank"], [9, 3, 1, "", "registration_allowed"], [9, 3, 1, "", "rho"], [9, 3, 1, "", "serving_rate_limit"], [9, 3, 1, "", "subnet_emission"], [9, 3, 1, "", "subnet_volume"], [9, 3, 1, "", "symbol"], [9, 3, 1, "", "tao_dividends_per_hotkey"], [9, 3, 1, "", "tao_in"], [9, 3, 1, "", "tao_in_emission"], [9, 3, 1, "", "tao_stake"], [9, 3, 1, "", "target_regs_per_interval"], [9, 3, 1, "", "tempo"], [9, 3, 1, "", "total_stake"], [9, 3, 1, "", "trust"], [9, 3, 1, "", "validator_permit"], [9, 3, 1, "", "validators"], [9, 3, 1, "", "weights_rate_limit"], [9, 3, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoEmissions": [[9, 3, 1, "", "alpha_in_emission"], [9, 3, 1, "", "alpha_out_emission"], [9, 3, 1, "", "pending_alpha_emission"], [9, 3, 1, "", "pending_root_emission"], [9, 3, 1, "", "subnet_emission"], [9, 3, 1, "", "tao_in_emission"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoParams": [[9, 3, 1, "", "activity_cutoff"], [9, 3, 1, "", "adjustment_alpha"], [9, 3, 1, "", "adjustment_interval"], [9, 3, 1, "", "alpha_high"], [9, 3, 1, "", "alpha_low"], [9, 3, 1, "", "bonds_moving_avg"], [9, 3, 1, "", "burn"], [9, 3, 1, "", "commit_reveal_period"], [9, 3, 1, "", "commit_reveal_weights_enabled"], [9, 3, 1, "", "difficulty"], [9, 3, 1, "", "immunity_period"], [9, 3, 1, "", "kappa"], [9, 3, 1, "", "liquid_alpha_enabled"], [9, 3, 1, "", "max_burn"], [9, 3, 1, "", "max_difficulty"], [9, 3, 1, "", "max_regs_per_block"], [9, 3, 1, "", "max_validators"], [9, 3, 1, "", "max_weights_limit"], [9, 3, 1, "", "min_allowed_weights"], [9, 3, 1, "", "min_burn"], [9, 3, 1, "", "min_difficulty"], [9, 3, 1, "", "pow_registration_allowed"], [9, 3, 1, "", "registration_allowed"], [9, 3, 1, "", "rho"], [9, 3, 1, "", "serving_rate_limit"], [9, 3, 1, "", "target_regs_per_interval"], [9, 3, 1, "", "tempo"], [9, 3, 1, "", "weights_rate_limit"], [9, 3, 1, "", "weights_version"]], "bittensor.core.chain_data.metagraph_info.MetagraphInfoPool": [[9, 3, 1, "", "alpha_in"], [9, 3, 1, "", "alpha_out"], [9, 3, 1, "", "moving_price"], [9, 3, 1, "", "subnet_volume"], [9, 3, 1, "", "tao_in"]], "bittensor.core.chain_data.metagraph_info.SelectiveMetagraphIndex": [[9, 3, 1, "", "Active"], [9, 3, 1, "", "ActivityCutoff"], [9, 3, 1, "", "AdjustmentAlpha"], [9, 3, 1, "", "AdjustmentInterval"], [9, 3, 1, "", "AlphaDividendsPerHotkey"], [9, 3, 1, "", "AlphaHigh"], [9, 3, 1, "", "AlphaIn"], [9, 3, 1, "", "AlphaInEmission"], [9, 3, 1, "", "AlphaLow"], [9, 3, 1, "", "AlphaOut"], [9, 3, 1, "", "AlphaOutEmission"], [9, 3, 1, "", "AlphaStake"], [9, 3, 1, "", "Axons"], [9, 3, 1, "", "Block"], [9, 3, 1, "", "BlockAtRegistration"], [9, 3, 1, "", "BlocksSinceLastStep"], [9, 3, 1, "", "BondsMovingAvg"], [9, 3, 1, "", "Burn"], [9, 3, 1, "", "Coldkeys"], [9, 3, 1, "", "CommitRevealPeriod"], [9, 3, 1, "", "CommitRevealWeightsEnabled"], [9, 3, 1, "", "Commitments"], [9, 3, 1, "", "Consensus"], [9, 3, 1, "", "Difficulty"], [9, 3, 1, "", "Dividends"], [9, 3, 1, "", "Emission"], [9, 3, 1, "", "Hotkeys"], [9, 3, 1, "", "Identities"], [9, 3, 1, "", "Identity"], [9, 3, 1, "", "ImmunityPeriod"], [9, 3, 1, "", "Incentives"], [9, 3, 1, "", "Kappa"], [9, 3, 1, "", "LastStep"], [9, 3, 1, "", "LastUpdate"], [9, 3, 1, "", "LiquidAlphaEnabled"], [9, 3, 1, "", "MaxBurn"], [9, 3, 1, "", "MaxDifficulty"], [9, 3, 1, "", "MaxRegsPerBlock"], [9, 3, 1, "", "MaxUids"], [9, 3, 1, "", "MaxValidators"], [9, 3, 1, "", "MaxWeightsLimit"], [9, 3, 1, "", "MinAllowedWeights"], [9, 3, 1, "", "MinBurn"], [9, 3, 1, "", "MinDifficulty"], [9, 3, 1, "", "MovingPrice"], [9, 3, 1, "", "Name"], [9, 3, 1, "", "Netuid"], [9, 3, 1, "", "NetworkRegisteredAt"], [9, 3, 1, "", "NumUids"], [9, 3, 1, "", "OwnerColdkey"], [9, 3, 1, "", "OwnerHotkey"], [9, 3, 1, "", "PendingAlphaEmission"], [9, 3, 1, "", "PendingRootEmission"], [9, 3, 1, "", "PowRegistrationAllowed"], [9, 3, 1, "", "PruningScore"], [9, 3, 1, "", "Rank"], [9, 3, 1, "", "RegistrationAllowed"], [9, 3, 1, "", "Rho"], [9, 3, 1, "", "ServingRateLimit"], [9, 3, 1, "", "SubnetEmission"], [9, 3, 1, "", "SubnetVolume"], [9, 3, 1, "", "Symbol"], [9, 3, 1, "", "TaoDividendsPerHotkey"], [9, 3, 1, "", "TaoIn"], [9, 3, 1, "", "TaoInEmission"], [9, 3, 1, "", "TaoStake"], [9, 3, 1, "", "TargetRegsPerInterval"], [9, 3, 1, "", "Tempo"], [9, 3, 1, "", "TotalStake"], [9, 3, 1, "", "Trust"], [9, 3, 1, "", "ValidatorPermit"], [9, 3, 1, "", "Validators"], [9, 3, 1, "", "WeightsRateLimit"], [9, 3, 1, "", "WeightsVersion"], [9, 2, 1, "", "all_indices"]], "bittensor.core.chain_data.neuron_info": [[10, 1, 1, "", "NeuronInfo"]], "bittensor.core.chain_data.neuron_info.NeuronInfo": [[10, 3, 1, "", "active"], [10, 3, 1, "", "axon_info"], [10, 3, 1, "", "bonds"], [10, 3, 1, "", "coldkey"], [10, 3, 1, "", "consensus"], [10, 3, 1, "", "dividends"], [10, 3, 1, "", "emission"], [10, 2, 1, "", "from_weights_bonds_and_neuron_lite"], [10, 2, 1, "", "get_null_neuron"], [10, 3, 1, "", "hotkey"], [10, 3, 1, "", "incentive"], [10, 3, 1, "", "is_null"], [10, 3, 1, "", "last_update"], [10, 3, 1, "", "netuid"], [10, 3, 1, "", "prometheus_info"], [10, 3, 1, "", "pruning_score"], [10, 3, 1, "", "rank"], [10, 3, 1, "", "stake"], [10, 3, 1, "", "stake_dict"], [10, 3, 1, "", "total_stake"], [10, 3, 1, "", "trust"], [10, 3, 1, "", "uid"], [10, 3, 1, "", "validator_permit"], [10, 3, 1, "", "validator_trust"], [10, 3, 1, "", "weights"]], "bittensor.core.chain_data.neuron_info_lite": [[11, 1, 1, "", "NeuronInfoLite"]], "bittensor.core.chain_data.neuron_info_lite.NeuronInfoLite": [[11, 3, 1, "", "active"], [11, 3, 1, "", "axon_info"], [11, 3, 1, "", "coldkey"], [11, 3, 1, "", "consensus"], [11, 3, 1, "", "dividends"], [11, 3, 1, "", "emission"], [11, 2, 1, "id0", "get_null_neuron"], [11, 3, 1, "", "hotkey"], [11, 3, 1, "", "incentive"], [11, 3, 1, "", "is_null"], [11, 3, 1, "", "last_update"], [11, 2, 1, "", "list_from_vec_u8"], [11, 3, 1, "", "netuid"], [11, 3, 1, "", "prometheus_info"], [11, 3, 1, "", "pruning_score"], [11, 3, 1, "", "rank"], [11, 3, 1, "", "stake"], [11, 3, 1, "", "stake_dict"], [11, 3, 1, "", "total_stake"], [11, 3, 1, "", "trust"], [11, 3, 1, "", "uid"], [11, 3, 1, "", "validator_permit"], [11, 3, 1, "", "validator_trust"]], "bittensor.core.chain_data.prometheus_info": [[12, 1, 1, "", "PrometheusInfo"]], "bittensor.core.chain_data.prometheus_info.PrometheusInfo": [[12, 3, 1, "", "block"], [12, 3, 1, "", "ip"], [12, 3, 1, "", "ip_type"], [12, 3, 1, "", "port"], [12, 3, 1, "", "version"]], "bittensor.core.chain_data.proposal_vote_data": [[13, 1, 1, "", "ProposalVoteData"]], "bittensor.core.chain_data.proposal_vote_data.ProposalVoteData": [[13, 3, 1, "", "ayes"], [13, 3, 1, "", "end"], [13, 2, 1, "", "from_dict"], [13, 3, 1, "", "index"], [13, 3, 1, "", "nays"], [13, 3, 1, "", "threshold"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info": [[14, 1, 1, "", "ScheduledColdkeySwapInfo"]], "bittensor.core.chain_data.scheduled_coldkey_swap_info.ScheduledColdkeySwapInfo": [[14, 3, 1, "", "arbitration_block"], [14, 2, 1, "", "decode_account_id_list"], [14, 3, 1, "", "new_coldkey"], [14, 3, 1, "", "old_coldkey"]], "bittensor.core.chain_data.sim_swap": [[15, 1, 1, "", "SimSwapResult"]], "bittensor.core.chain_data.sim_swap.SimSwapResult": [[15, 3, 1, "", "alpha_amount"], [15, 3, 1, "", "alpha_fee"], [15, 2, 1, "", "from_dict"], [15, 3, 1, "", "tao_amount"], [15, 3, 1, "", "tao_fee"]], "bittensor.core.chain_data.stake_info": [[16, 1, 1, "", "StakeInfo"]], "bittensor.core.chain_data.stake_info.StakeInfo": [[16, 3, 1, "", "coldkey_ss58"], [16, 3, 1, "", "drain"], [16, 3, 1, "", "emission"], [16, 2, 1, "", "from_dict"], [16, 3, 1, "", "hotkey_ss58"], [16, 3, 1, "", "is_registered"], [16, 3, 1, "", "locked"], [16, 3, 1, "", "netuid"], [16, 3, 1, "", "stake"]], "bittensor.core.chain_data.subnet_hyperparameters": [[17, 1, 1, "", "SubnetHyperparameters"]], "bittensor.core.chain_data.subnet_hyperparameters.SubnetHyperparameters": [[17, 3, 1, "", "activity_cutoff"], [17, 3, 1, "", "adjustment_alpha"], [17, 3, 1, "", "adjustment_interval"], [17, 3, 1, "", "alpha_high"], [17, 3, 1, "", "alpha_low"], [17, 3, 1, "", "alpha_sigmoid_steepness"], [17, 3, 1, "", "bonds_moving_avg"], [17, 3, 1, "", "bonds_reset_enabled"], [17, 3, 1, "", "commit_reveal_period"], [17, 3, 1, "", "commit_reveal_weights_enabled"], [17, 3, 1, "", "difficulty"], [17, 3, 1, "", "immunity_period"], [17, 3, 1, "", "kappa"], [17, 3, 1, "", "liquid_alpha_enabled"], [17, 3, 1, "", "max_burn"], [17, 3, 1, "", "max_difficulty"], [17, 3, 1, "", "max_regs_per_block"], [17, 3, 1, "", "max_validators"], [17, 3, 1, "", "max_weight_limit"], [17, 3, 1, "", "min_allowed_weights"], [17, 3, 1, "", "min_burn"], [17, 3, 1, "", "min_difficulty"], [17, 3, 1, "", "registration_allowed"], [17, 3, 1, "", "rho"], [17, 3, 1, "", "serving_rate_limit"], [17, 3, 1, "", "subnet_is_active"], [17, 3, 1, "", "target_regs_per_interval"], [17, 3, 1, "", "tempo"], [17, 3, 1, "", "transfers_enabled"], [17, 3, 1, "", "user_liquidity_enabled"], [17, 3, 1, "", "weights_rate_limit"], [17, 3, 1, "", "weights_version"], [17, 3, 1, "", "yuma_version"]], "bittensor.core.chain_data.subnet_identity": [[18, 1, 1, "", "SubnetIdentity"]], "bittensor.core.chain_data.subnet_identity.SubnetIdentity": [[18, 3, 1, "", "additional"], [18, 3, 1, "", "description"], [18, 3, 1, "", "discord"], [18, 3, 1, "", "github_repo"], [18, 3, 1, "", "logo_url"], [18, 3, 1, "", "subnet_contact"], [18, 3, 1, "", "subnet_name"], [18, 3, 1, "", "subnet_url"]], "bittensor.core.chain_data.subnet_info": [[19, 1, 1, "", "SubnetInfo"]], "bittensor.core.chain_data.subnet_info.SubnetInfo": [[19, 3, 1, "", "blocks_since_epoch"], [19, 3, 1, "", "burn"], [19, 3, 1, "", "connection_requirements"], [19, 3, 1, "", "difficulty"], [19, 3, 1, "", "emission_value"], [19, 3, 1, "", "immunity_period"], [19, 3, 1, "", "kappa"], [19, 3, 1, "", "max_allowed_validators"], [19, 3, 1, "", "max_n"], [19, 3, 1, "", "max_weight_limit"], [19, 3, 1, "", "min_allowed_weights"], [19, 3, 1, "", "modality"], [19, 3, 1, "", "netuid"], [19, 3, 1, "", "owner_ss58"], [19, 3, 1, "", "rho"], [19, 3, 1, "", "scaling_law_power"], [19, 3, 1, "", "subnetwork_n"], [19, 3, 1, "", "tempo"]], "bittensor.core.chain_data.subnet_state": [[20, 1, 1, "", "SubnetState"]], "bittensor.core.chain_data.subnet_state.SubnetState": [[20, 3, 1, "", "active"], [20, 3, 1, "", "alpha_stake"], [20, 3, 1, "", "block_at_registration"], [20, 3, 1, "", "coldkeys"], [20, 3, 1, "", "consensus"], [20, 3, 1, "", "dividends"], [20, 3, 1, "", "emission"], [20, 3, 1, "", "emission_history"], [20, 3, 1, "", "hotkeys"], [20, 3, 1, "", "incentives"], [20, 3, 1, "", "last_update"], [20, 3, 1, "", "netuid"], [20, 3, 1, "", "pruning_score"], [20, 3, 1, "", "rank"], [20, 3, 1, "", "tao_stake"], [20, 3, 1, "", "total_stake"], [20, 3, 1, "", "trust"], [20, 3, 1, "", "validator_permit"]], "bittensor.core.chain_data.utils": [[21, 1, 1, "", "ChainDataType"], [21, 5, 1, "", "decode_account_id"], [21, 5, 1, "", "decode_block"], [21, 5, 1, "", "decode_metadata"], [21, 5, 1, "", "decode_revealed_commitment"], [21, 5, 1, "", "decode_revealed_commitment_with_hotkey"], [21, 5, 1, "", "from_scale_encoding"], [21, 5, 1, "", "from_scale_encoding_using_type_string"], [21, 5, 1, "", "process_stake_data"]], "bittensor.core.chain_data.utils.ChainDataType": [[21, 3, 1, "", "AccountId"], [21, 3, 1, "", "AxonInfo"], [21, 3, 1, "", "ChainIdentity"], [21, 3, 1, "", "DelegateInfo"], [21, 3, 1, "", "DelegatedInfo"], [21, 3, 1, "", "DynamicInfo"], [21, 3, 1, "", "IPInfo"], [21, 3, 1, "", "MetagraphInfo"], [21, 3, 1, "", "NeuronInfo"], [21, 3, 1, "", "NeuronInfoLite"], [21, 3, 1, "", "ScheduledColdkeySwapInfo"], [21, 3, 1, "", "StakeInfo"], [21, 3, 1, "", "SubnetHyperparameters"], [21, 3, 1, "", "SubnetIdentity"], [21, 3, 1, "", "SubnetInfo"], [21, 3, 1, "", "SubnetState"]], "bittensor.core.chain_data.weight_commit_info": [[22, 1, 1, "", "WeightCommitInfo"]], "bittensor.core.chain_data.weight_commit_info.WeightCommitInfo": [[22, 3, 1, "", "commit_block"], [22, 3, 1, "", "commit_hex"], [22, 2, 1, "", "from_vec_u8"], [22, 2, 1, "", "from_vec_u8_v2"], [22, 3, 1, "", "reveal_round"], [22, 3, 1, "", "ss58"]], "bittensor.core.config": [[23, 1, 1, "", "Config"], [23, 7, 1, "", "InvalidConfigFile"]], "bittensor.core.config.Config": [[23, 2, 1, "", "is_set"], [23, 2, 1, "", "merge"], [23, 2, 1, "", "to_dict"]], "bittensor.core.dendrite": [[24, 4, 1, "", "BaseModel"], [24, 4, 1, "", "DENDRITE_DEFAULT_ERROR"], [24, 4, 1, "", "DENDRITE_ERROR_MAPPING"], [24, 1, 1, "", "Dendrite"], [24, 1, 1, "", "DendriteMixin"], [24, 5, 1, "", "call"], [24, 5, 1, "", "event_loop_is_running"]], "bittensor.core.dendrite.Dendrite": [[24, 2, 1, "", "__repr__"], [24, 2, 1, "", "__str__"], [24, 2, 1, "", "aclose_session"], [24, 2, 1, "", "call"], [24, 2, 1, "", "call_stream"], [24, 2, 1, "", "close_session"], [24, 2, 1, "", "forward"], [24, 2, 1, "", "preprocess_synapse_for_request"], [24, 2, 1, "", "process_server_response"], [24, 2, 1, "", "query"]], "bittensor.core.dendrite.DendriteMixin": [[24, 2, 1, "", "__repr__"], [24, 2, 1, "", "__str__"], [24, 2, 1, "id0", "aclose_session"], [24, 2, 1, "", "aquery"], [24, 2, 1, "id3", "call"], [24, 2, 1, "id4", "call_stream"], [24, 2, 1, "id5", "close_session"], [24, 3, 1, "", "external_ip"], [24, 2, 1, "id7", "forward"], [24, 3, 1, "", "keypair"], [24, 2, 1, "", "log_exception"], [24, 2, 1, "id8", "preprocess_synapse_for_request"], [24, 2, 1, "", "process_error_message"], [24, 2, 1, "id9", "process_server_response"], [24, 2, 1, "id11", "query"], [24, 6, 1, "", "session"], [24, 3, 1, "", "synapse_history"], [24, 3, 1, "", "uuid"]], "bittensor.core.errors": [[25, 7, 1, "", "BalanceTypeError"], [25, 7, 1, "", "BalanceUnitMismatchError"], [25, 7, 1, "", "BlacklistedException"], [25, 4, 1, "", "BlockNotFound"], [25, 7, 1, "", "ChainConnectionError"], [25, 7, 1, "", "ChainError"], [25, 7, 1, "", "ChainQueryError"], [25, 7, 1, "", "ChainTransactionError"], [25, 7, 1, "", "DelegateTakeTooHigh"], [25, 7, 1, "", "DelegateTakeTooLow"], [25, 7, 1, "", "DelegateTxRateLimitExceeded"], [25, 7, 1, "", "DuplicateChild"], [25, 4, 1, "", "ExtrinsicNotFound"], [25, 7, 1, "", "HotKeyAccountNotExists"], [25, 7, 1, "", "IdentityError"], [25, 7, 1, "", "InternalServerError"], [25, 7, 1, "", "InvalidChild"], [25, 7, 1, "", "InvalidRequestNameError"], [25, 7, 1, "", "MaxAttemptsException"], [25, 7, 1, "", "MaxSuccessException"], [25, 7, 1, "", "MetadataError"], [25, 7, 1, "", "NominationError"], [25, 7, 1, "", "NonAssociatedColdKey"], [25, 7, 1, "", "NotDelegateError"], [25, 7, 1, "", "NotEnoughStakeToSetChildkeys"], [25, 7, 1, "", "NotRegisteredError"], [25, 7, 1, "", "NotVerifiedException"], [25, 7, 1, "", "PostProcessException"], [25, 7, 1, "", "PriorityException"], [25, 7, 1, "", "ProportionOverflow"], [25, 7, 1, "", "RegistrationError"], [25, 7, 1, "", "RegistrationNotPermittedOnRootSubnet"], [25, 7, 1, "", "RunException"], [25, 7, 1, "", "StakeError"], [25, 4, 1, "", "StorageFunctionNotFound"], [25, 7, 1, "", "SubnetNotExists"], [25, 4, 1, "", "SubstrateRequestException"], [25, 7, 1, "", "SynapseDendriteNoneException"], [25, 7, 1, "", "SynapseException"], [25, 7, 1, "", "SynapseParsingError"], [25, 7, 1, "", "TakeError"], [25, 7, 1, "", "TooManyChildren"], [25, 7, 1, "", "TransferError"], [25, 7, 1, "", "TxRateLimitExceeded"], [25, 7, 1, "", "UnknownSynapseError"], [25, 7, 1, "", "UnstakeError"]], "bittensor.core.errors.ChainError": [[25, 2, 1, "", "from_error"]], "bittensor.core.errors.SynapseDendriteNoneException": [[25, 3, 1, "", "message"]], "bittensor.core.errors.SynapseException": [[25, 3, 1, "", "message"], [25, 3, 1, "", "synapse"]], "bittensor.core.extrinsics": [[27, 0, 0, "-", "asyncex"], [41, 0, 0, "-", "children"], [43, 0, 0, "-", "liquidity"], [44, 0, 0, "-", "move_stake"], [46, 0, 0, "-", "params"], [58, 0, 0, "-", "registration"], [59, 0, 0, "-", "root"], [60, 0, 0, "-", "serving"], [61, 0, 0, "-", "staking"], [62, 0, 0, "-", "start_call"], [63, 0, 0, "-", "sudo"], [64, 0, 0, "-", "take"], [65, 0, 0, "-", "transfer"], [66, 0, 0, "-", "unstaking"], [67, 0, 0, "-", "utils"], [68, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.asyncex": [[26, 0, 0, "-", "children"], [28, 0, 0, "-", "liquidity"], [29, 0, 0, "-", "move_stake"], [30, 0, 0, "-", "registration"], [31, 0, 0, "-", "root"], [32, 0, 0, "-", "serving"], [33, 0, 0, "-", "staking"], [34, 0, 0, "-", "start_call"], [35, 0, 0, "-", "sudo"], [36, 0, 0, "-", "take"], [37, 0, 0, "-", "transfer"], [38, 0, 0, "-", "unstaking"], [39, 0, 0, "-", "utils"], [40, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.asyncex.children": [[26, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [26, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.asyncex.liquidity": [[28, 5, 1, "", "add_liquidity_extrinsic"], [28, 5, 1, "", "modify_liquidity_extrinsic"], [28, 5, 1, "", "remove_liquidity_extrinsic"], [28, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.asyncex.move_stake": [[29, 5, 1, "", "move_stake_extrinsic"], [29, 5, 1, "", "swap_stake_extrinsic"], [29, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.asyncex.registration": [[30, 5, 1, "", "burned_register_extrinsic"], [30, 5, 1, "", "register_extrinsic"], [30, 5, 1, "", "register_subnet_extrinsic"], [30, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.asyncex.root": [[31, 5, 1, "", "root_register_extrinsic"]], "bittensor.core.extrinsics.asyncex.serving": [[32, 5, 1, "", "publish_metadata_extrinsic"], [32, 5, 1, "", "serve_axon_extrinsic"], [32, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.asyncex.staking": [[33, 5, 1, "", "add_stake_extrinsic"], [33, 5, 1, "", "add_stake_multiple_extrinsic"], [33, 5, 1, "", "set_auto_stake_extrinsic"]], "bittensor.core.extrinsics.asyncex.start_call": [[34, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.asyncex.sudo": [[35, 5, 1, "", "sudo_set_admin_freeze_window_extrinsic"], [35, 5, 1, "", "sudo_set_mechanism_count_extrinsic"], [35, 5, 1, "", "sudo_set_mechanism_emission_split_extrinsic"]], "bittensor.core.extrinsics.asyncex.take": [[36, 5, 1, "", "set_take_extrinsic"]], "bittensor.core.extrinsics.asyncex.transfer": [[37, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.asyncex.unstaking": [[38, 5, 1, "", "unstake_all_extrinsic"], [38, 5, 1, "", "unstake_extrinsic"], [38, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.asyncex.utils": [[39, 5, 1, "", "sudo_call_extrinsic"]], "bittensor.core.extrinsics.asyncex.weights": [[40, 5, 1, "", "commit_timelocked_weights_extrinsic"], [40, 5, 1, "", "commit_weights_extrinsic"], [40, 5, 1, "", "reveal_weights_extrinsic"], [40, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.extrinsics.children": [[41, 5, 1, "", "root_set_pending_childkey_cooldown_extrinsic"], [41, 5, 1, "", "set_children_extrinsic"]], "bittensor.core.extrinsics.liquidity": [[43, 5, 1, "", "add_liquidity_extrinsic"], [43, 5, 1, "", "modify_liquidity_extrinsic"], [43, 5, 1, "", "remove_liquidity_extrinsic"], [43, 5, 1, "", "toggle_user_liquidity_extrinsic"]], "bittensor.core.extrinsics.move_stake": [[44, 5, 1, "", "move_stake_extrinsic"], [44, 5, 1, "", "swap_stake_extrinsic"], [44, 5, 1, "", "transfer_stake_extrinsic"]], "bittensor.core.extrinsics.params": [[45, 0, 0, "-", "children"], [47, 0, 0, "-", "liquidity"], [48, 0, 0, "-", "move_stake"], [49, 0, 0, "-", "registration"], [50, 0, 0, "-", "root"], [51, 0, 0, "-", "serving"], [52, 0, 0, "-", "staking"], [53, 0, 0, "-", "start_call"], [54, 0, 0, "-", "take"], [55, 0, 0, "-", "transfer"], [56, 0, 0, "-", "unstaking"], [57, 0, 0, "-", "weights"]], "bittensor.core.extrinsics.params.children": [[45, 1, 1, "", "ChildrenParams"]], "bittensor.core.extrinsics.params.children.ChildrenParams": [[45, 2, 1, "", "set_children"], [45, 2, 1, "", "set_pending_childkey_cooldown"]], "bittensor.core.extrinsics.params.liquidity": [[47, 1, 1, "", "LiquidityParams"]], "bittensor.core.extrinsics.params.liquidity.LiquidityParams": [[47, 2, 1, "", "add_liquidity"], [47, 2, 1, "", "modify_position"], [47, 2, 1, "", "remove_liquidity"], [47, 2, 1, "", "toggle_user_liquidity"]], "bittensor.core.extrinsics.params.move_stake": [[48, 1, 1, "", "MoveStakeParams"]], "bittensor.core.extrinsics.params.move_stake.MoveStakeParams": [[48, 2, 1, "", "move_stake"], [48, 2, 1, "", "swap_stake"], [48, 2, 1, "", "swap_stake_limit"], [48, 2, 1, "", "transfer_stake"]], "bittensor.core.extrinsics.params.registration": [[49, 1, 1, "", "RegistrationParams"]], "bittensor.core.extrinsics.params.registration.RegistrationParams": [[49, 2, 1, "", "burned_register"], [49, 2, 1, "", "register"], [49, 2, 1, "", "register_network"], [49, 2, 1, "", "set_subnet_identity"]], "bittensor.core.extrinsics.params.root": [[50, 1, 1, "", "RootParams"]], "bittensor.core.extrinsics.params.root.RootParams": [[50, 2, 1, "", "root_register"]], "bittensor.core.extrinsics.params.serving": [[51, 1, 1, "", "ServingParams"]], "bittensor.core.extrinsics.params.serving.ServingParams": [[51, 2, 1, "", "serve_axon_and_tls"], [51, 2, 1, "", "set_commitment"]], "bittensor.core.extrinsics.params.staking": [[52, 1, 1, "", "StakingParams"]], "bittensor.core.extrinsics.params.staking.StakingParams": [[52, 2, 1, "", "add_stake"], [52, 2, 1, "", "add_stake_limit"], [52, 2, 1, "", "set_coldkey_auto_stake_hotkey"]], "bittensor.core.extrinsics.params.start_call": [[53, 1, 1, "", "StartCallParams"]], "bittensor.core.extrinsics.params.start_call.StartCallParams": [[53, 2, 1, "", "start_call"]], "bittensor.core.extrinsics.params.take": [[54, 1, 1, "", "TakeParams"]], "bittensor.core.extrinsics.params.take.TakeParams": [[54, 2, 1, "", "increase_decrease_take"]], "bittensor.core.extrinsics.params.transfer": [[55, 1, 1, "", "TransferParams"], [55, 5, 1, "", "get_transfer_fn_params"]], "bittensor.core.extrinsics.params.transfer.TransferParams": [[55, 2, 1, "", "transfer_all"], [55, 2, 1, "", "transfer_allow_death"], [55, 2, 1, "", "transfer_keep_alive"]], "bittensor.core.extrinsics.params.unstaking": [[56, 1, 1, "", "UnstakingParams"]], "bittensor.core.extrinsics.params.unstaking.UnstakingParams": [[56, 2, 1, "", "remove_stake"], [56, 2, 1, "", "remove_stake_full_limit"], [56, 2, 1, "", "remove_stake_limit"]], "bittensor.core.extrinsics.params.weights": [[57, 1, 1, "", "WeightsParams"]], "bittensor.core.extrinsics.params.weights.WeightsParams": [[57, 2, 1, "", "commit_mechanism_weights"], [57, 2, 1, "", "commit_timelocked_mechanism_weights"], [57, 2, 1, "", "reveal_mechanism_weights"], [57, 2, 1, "", "set_mechanism_weights"]], "bittensor.core.extrinsics.registration": [[58, 5, 1, "", "burned_register_extrinsic"], [58, 5, 1, "", "register_extrinsic"], [58, 5, 1, "", "register_subnet_extrinsic"], [58, 5, 1, "", "set_subnet_identity_extrinsic"]], "bittensor.core.extrinsics.root": [[59, 5, 1, "", "root_register_extrinsic"]], "bittensor.core.extrinsics.serving": [[60, 5, 1, "", "publish_metadata_extrinsic"], [60, 5, 1, "", "serve_axon_extrinsic"], [60, 5, 1, "", "serve_extrinsic"]], "bittensor.core.extrinsics.staking": [[61, 5, 1, "", "add_stake_extrinsic"], [61, 5, 1, "", "add_stake_multiple_extrinsic"], [61, 5, 1, "", "set_auto_stake_extrinsic"]], "bittensor.core.extrinsics.start_call": [[62, 5, 1, "", "start_call_extrinsic"]], "bittensor.core.extrinsics.sudo": [[63, 5, 1, "", "sudo_set_admin_freeze_window_extrinsic"], [63, 5, 1, "", "sudo_set_mechanism_count_extrinsic"], [63, 5, 1, "", "sudo_set_mechanism_emission_split_extrinsic"]], "bittensor.core.extrinsics.take": [[64, 5, 1, "", "set_take_extrinsic"]], "bittensor.core.extrinsics.transfer": [[65, 5, 1, "", "transfer_extrinsic"]], "bittensor.core.extrinsics.unstaking": [[66, 5, 1, "", "unstake_all_extrinsic"], [66, 5, 1, "", "unstake_extrinsic"], [66, 5, 1, "", "unstake_multiple_extrinsic"]], "bittensor.core.extrinsics.utils": [[67, 5, 1, "", "get_old_stakes"], [67, 5, 1, "", "sudo_call_extrinsic"]], "bittensor.core.extrinsics.weights": [[68, 5, 1, "", "commit_timelocked_weights_extrinsic"], [68, 5, 1, "", "commit_weights_extrinsic"], [68, 5, 1, "", "reveal_weights_extrinsic"], [68, 5, 1, "", "set_weights_extrinsic"]], "bittensor.core.metagraph": [[70, 1, 1, "", "AsyncMetagraph"], [70, 4, 1, "", "BaseClass"], [70, 4, 1, "", "METAGRAPH_STATE_DICT_NDARRAY_KEYS"], [70, 1, 1, "", "Metagraph"], [70, 1, 1, "", "MetagraphMixin"], [70, 1, 1, "", "NonTorchMetagraph"], [70, 4, 1, "", "NumpyOrTorch"], [70, 4, 1, "", "Tensor"], [70, 1, 1, "", "TorchMetagraph"], [70, 5, 1, "", "async_metagraph"], [70, 5, 1, "", "get_save_dir"], [70, 5, 1, "", "latest_block_path"], [70, 5, 1, "", "safe_globals"]], "bittensor.core.metagraph.AsyncMetagraph": [[70, 2, 1, "", "sync"]], "bittensor.core.metagraph.Metagraph": [[70, 2, 1, "", "sync"]], "bittensor.core.metagraph.MetagraphMixin": [[70, 6, 1, "", "AS"], [70, 6, 1, "", "B"], [70, 6, 1, "", "C"], [70, 6, 1, "", "D"], [70, 6, 1, "", "E"], [70, 6, 1, "", "I"], [70, 6, 1, "", "R"], [70, 6, 1, "", "S"], [70, 6, 1, "", "T"], [70, 6, 1, "", "TS"], [70, 6, 1, "", "Tv"], [70, 6, 1, "", "W"], [70, 3, 1, "", "active"], [70, 6, 1, "", "addresses"], [70, 3, 1, "", "alpha_dividends_per_hotkey"], [70, 3, 1, "", "alpha_stake"], [70, 3, 1, "", "axons"], [70, 3, 1, "", "block"], [70, 3, 1, "", "block_at_registration"], [70, 3, 1, "", "blocks_since_last_step"], [70, 3, 1, "", "bonds"], [70, 3, 1, "", "chain_endpoint"], [70, 6, 1, "", "coldkeys"], [70, 3, 1, "", "consensus"], [70, 3, 1, "", "dividends"], [70, 3, 1, "", "emission"], [70, 3, 1, "", "emissions"], [70, 6, 1, "", "hotkeys"], [70, 3, 1, "", "hparams"], [70, 3, 1, "", "identities"], [70, 3, 1, "", "identity"], [70, 3, 1, "", "incentive"], [70, 3, 1, "", "last_step"], [70, 3, 1, "", "last_update"], [70, 3, 1, "", "lite"], [70, 2, 1, "", "load"], [70, 2, 1, "", "load_from_path"], [70, 3, 1, "", "max_uids"], [70, 3, 1, "", "mechanism_count"], [70, 3, 1, "", "mechanisms_emissions_split"], [70, 3, 1, "", "mechid"], [70, 2, 1, "", "metadata"], [70, 3, 1, "", "n"], [70, 3, 1, "", "name"], [70, 3, 1, "", "netuid"], [70, 3, 1, "", "network"], [70, 3, 1, "", "network_registered_at"], [70, 3, 1, "", "neurons"], [70, 3, 1, "", "num_uids"], [70, 3, 1, "", "owner_coldkey"], [70, 3, 1, "", "owner_hotkey"], [70, 3, 1, "", "pool"], [70, 3, 1, "", "pruning_score"], [70, 3, 1, "", "ranks"], [70, 2, 1, "", "save"], [70, 3, 1, "", "should_sync"], [70, 3, 1, "", "stake"], [70, 2, 1, "", "state_dict"], [70, 3, 1, "", "subtensor"], [70, 3, 1, "", "symbol"], [70, 3, 1, "", "tao_dividends_per_hotkey"], [70, 3, 1, "", "tao_stake"], [70, 3, 1, "", "tempo"], [70, 3, 1, "", "trust"], [70, 3, 1, "", "uids"], [70, 3, 1, "", "validator_permit"], [70, 3, 1, "", "validator_trust"], [70, 3, 1, "", "version"], [70, 3, 1, "", "weights"]], "bittensor.core.metagraph.NonTorchMetagraph": [[70, 3, 1, "", "active"], [70, 3, 1, "", "alpha_stake"], [70, 3, 1, "", "block"], [70, 3, 1, "", "bonds"], [70, 3, 1, "", "consensus"], [70, 3, 1, "", "dividends"], [70, 3, 1, "", "emission"], [70, 3, 1, "", "incentive"], [70, 3, 1, "", "last_update"], [70, 2, 1, "", "load_from_path"], [70, 3, 1, "", "n"], [70, 3, 1, "", "netuid"], [70, 3, 1, "", "ranks"], [70, 3, 1, "", "should_sync"], [70, 3, 1, "", "stake"], [70, 3, 1, "", "subtensor"], [70, 3, 1, "", "tao_stake"], [70, 3, 1, "", "total_stake"], [70, 3, 1, "", "trust"], [70, 3, 1, "", "uids"], [70, 3, 1, "", "validator_permit"], [70, 3, 1, "", "validator_trust"], [70, 3, 1, "", "version"], [70, 3, 1, "", "weights"]], "bittensor.core.metagraph.TorchMetagraph": [[70, 3, 1, "", "active"], [70, 3, 1, "", "alpha_stake"], [70, 3, 1, "", "block"], [70, 3, 1, "", "bonds"], [70, 3, 1, "", "consensus"], [70, 3, 1, "", "dividends"], [70, 3, 1, "", "emission"], [70, 3, 1, "", "incentive"], [70, 3, 1, "", "last_update"], [70, 2, 1, "", "load_from_path"], [70, 3, 1, "", "n"], [70, 3, 1, "", "ranks"], [70, 3, 1, "", "stake"], [70, 3, 1, "", "tao_stake"], [70, 3, 1, "", "total_stake"], [70, 3, 1, "", "trust"], [70, 3, 1, "", "uids"], [70, 3, 1, "", "validator_permit"], [70, 3, 1, "", "validator_trust"], [70, 3, 1, "", "version"], [70, 3, 1, "", "weights"]], "bittensor.core.settings": [[71, 4, 1, "", "ARCHIVE_ENTRYPOINT"], [71, 4, 1, "", "BLOCKTIME"], [71, 4, 1, "", "DEFAULTS"], [71, 4, 1, "", "DEFAULT_ENDPOINT"], [71, 4, 1, "", "DEFAULT_NETWORK"], [71, 4, 1, "", "FINNEY_ENTRYPOINT"], [71, 4, 1, "", "FINNEY_TEST_ENTRYPOINT"], [71, 4, 1, "", "HOME_DIR"], [71, 4, 1, "", "LATENT_LITE_ENTRYPOINT"], [71, 4, 1, "", "LOCAL_ENTRYPOINT"], [71, 4, 1, "", "MINERS_DIR"], [71, 4, 1, "", "NETWORKS"], [71, 4, 1, "", "NETWORK_EXPLORER_MAP"], [71, 4, 1, "", "NETWORK_MAP"], [71, 4, 1, "", "PIPADDRESS"], [71, 4, 1, "", "RAO_SYMBOL"], [71, 4, 1, "", "READ_ONLY"], [71, 4, 1, "", "REVERSE_NETWORK_MAP"], [71, 4, 1, "", "ROOT_TAO_STAKE_WEIGHT"], [71, 4, 1, "", "SS58_ADDRESS_LENGTH"], [71, 4, 1, "", "SUBVORTEX_ENTRYPOINT"], [71, 4, 1, "", "TAO_APP_BLOCK_EXPLORER"], [71, 4, 1, "", "TAO_SYMBOL"], [71, 4, 1, "", "TYPE_REGISTRY"], [71, 4, 1, "", "USER_BITTENSOR_DIR"], [71, 4, 1, "", "WALLETS_DIR"], [71, 4, 1, "", "version_as_int"], [71, 4, 1, "", "version_split"]], "bittensor.core.stream": [[72, 1, 1, "", "BTStreamingResponseModel"], [72, 1, 1, "", "StreamingSynapse"]], "bittensor.core.stream.BTStreamingResponseModel": [[72, 3, 1, "", "token_streamer"]], "bittensor.core.stream.StreamingSynapse": [[72, 1, 1, "", "BTStreamingResponse"], [72, 2, 1, "", "create_streaming_response"], [72, 2, 1, "", "extract_response_json"], [72, 3, 1, "", "model_config"], [72, 2, 1, "", "process_streaming_response"]], "bittensor.core.stream.StreamingSynapse.BTStreamingResponse": [[72, 2, 1, "", "stream_response"], [72, 3, 1, "", "synapse"], [72, 3, 1, "", "token_streamer"]], "bittensor.core.subtensor": [[73, 1, 1, "", "Subtensor"]], "bittensor.core.subtensor.Subtensor": [[73, 2, 1, "", "add_liquidity"], [73, 2, 1, "", "add_stake"], [73, 2, 1, "", "add_stake_multiple"], [73, 2, 1, "", "all_subnets"], [73, 6, 1, "", "block"], [73, 2, 1, "", "blocks_since_last_step"], [73, 2, 1, "", "blocks_since_last_update"], [73, 2, 1, "", "bonds"], [73, 2, 1, "", "burned_register"], [73, 2, 1, "", "close"], [73, 2, 1, "", "commit_reveal_enabled"], [73, 2, 1, "", "commit_weights"], [73, 2, 1, "", "compose_call"], [73, 2, 1, "", "determine_block_hash"], [73, 2, 1, "", "difficulty"], [73, 2, 1, "", "does_hotkey_exist"], [73, 2, 1, "", "encode_params"], [73, 2, 1, "", "filter_netuids_by_registered_hotkeys"], [73, 2, 1, "", "get_admin_freeze_window"], [73, 2, 1, "", "get_all_commitments"], [73, 2, 1, "", "get_all_metagraphs_info"], [73, 2, 1, "", "get_all_neuron_certificates"], [73, 2, 1, "", "get_all_revealed_commitments"], [73, 2, 1, "", "get_all_subnets_info"], [73, 2, 1, "", "get_all_subnets_netuid"], [73, 2, 1, "", "get_auto_stakes"], [73, 2, 1, "", "get_balance"], [73, 2, 1, "", "get_balances"], [73, 2, 1, "", "get_block_hash"], [73, 2, 1, "", "get_block_info"], [73, 2, 1, "", "get_children"], [73, 2, 1, "", "get_children_pending"], [73, 2, 1, "", "get_commitment"], [73, 2, 1, "", "get_commitment_metadata"], [73, 2, 1, "", "get_current_block"], [73, 2, 1, "", "get_delegate_by_hotkey"], [73, 2, 1, "", "get_delegate_identities"], [73, 2, 1, "", "get_delegate_take"], [73, 2, 1, "", "get_delegated"], [73, 2, 1, "", "get_delegates"], [73, 2, 1, "", "get_existential_deposit"], [73, 2, 1, "", "get_extrinsic_fee"], [73, 2, 1, "", "get_hotkey_owner"], [73, 3, 1, "", "get_hotkey_stake"], [73, 2, 1, "", "get_hyperparameter"], [73, 2, 1, "", "get_last_bonds_reset"], [73, 2, 1, "", "get_last_commitment_bonds_reset_block"], [73, 2, 1, "", "get_liquidity_list"], [73, 2, 1, "", "get_mechanism_count"], [73, 2, 1, "", "get_mechanism_emission_split"], [73, 2, 1, "", "get_metagraph_info"], [73, 2, 1, "", "get_minimum_required_stake"], [73, 2, 1, "", "get_netuids_for_hotkey"], [73, 2, 1, "", "get_neuron_certificate"], [73, 2, 1, "", "get_neuron_for_pubkey_and_subnet"], [73, 2, 1, "", "get_next_epoch_start_block"], [73, 2, 1, "", "get_owned_hotkeys"], [73, 2, 1, "", "get_parents"], [73, 2, 1, "", "get_revealed_commitment"], [73, 2, 1, "", "get_revealed_commitment_by_hotkey"], [73, 2, 1, "", "get_stake"], [73, 2, 1, "", "get_stake_add_fee"], [73, 2, 1, "", "get_stake_for_coldkey_and_hotkey"], [73, 2, 1, "", "get_stake_for_hotkey"], [73, 2, 1, "", "get_stake_info_for_coldkey"], [73, 2, 1, "", "get_stake_movement_fee"], [73, 2, 1, "", "get_stake_weight"], [73, 2, 1, "", "get_subnet_burn_cost"], [73, 2, 1, "", "get_subnet_hyperparameters"], [73, 2, 1, "", "get_subnet_info"], [73, 2, 1, "", "get_subnet_owner_hotkey"], [73, 2, 1, "", "get_subnet_price"], [73, 2, 1, "", "get_subnet_prices"], [73, 2, 1, "", "get_subnet_reveal_period_epochs"], [73, 2, 1, "", "get_subnet_validator_permits"], [73, 2, 1, "", "get_timelocked_weight_commits"], [73, 2, 1, "", "get_timestamp"], [73, 2, 1, "", "get_total_subnets"], [73, 2, 1, "", "get_transfer_fee"], [73, 2, 1, "", "get_uid_for_hotkey_on_subnet"], [73, 2, 1, "", "get_unstake_fee"], [73, 2, 1, "", "get_vote_data"], [73, 2, 1, "", "immunity_period"], [73, 2, 1, "", "is_fast_blocks"], [73, 2, 1, "", "is_hotkey_delegate"], [73, 2, 1, "", "is_hotkey_registered"], [73, 2, 1, "", "is_hotkey_registered_any"], [73, 2, 1, "", "is_hotkey_registered_on_subnet"], [73, 2, 1, "", "is_in_admin_freeze_window"], [73, 2, 1, "", "is_subnet_active"], [73, 2, 1, "", "last_drand_round"], [73, 3, 1, "", "log_verbose"], [73, 2, 1, "", "max_weight_limit"], [73, 2, 1, "", "metagraph"], [73, 2, 1, "", "min_allowed_weights"], [73, 2, 1, "", "modify_liquidity"], [73, 2, 1, "", "move_stake"], [73, 2, 1, "", "neuron_for_uid"], [73, 2, 1, "", "neurons"], [73, 2, 1, "", "neurons_lite"], [73, 2, 1, "", "query_constant"], [73, 2, 1, "", "query_identity"], [73, 2, 1, "", "query_map"], [73, 2, 1, "", "query_map_subtensor"], [73, 2, 1, "", "query_module"], [73, 2, 1, "", "query_runtime_api"], [73, 2, 1, "", "query_subtensor"], [73, 2, 1, "", "recycle"], [73, 2, 1, "", "register"], [73, 2, 1, "", "register_subnet"], [73, 2, 1, "", "remove_liquidity"], [73, 2, 1, "", "reveal_weights"], [73, 2, 1, "", "root_register"], [73, 2, 1, "", "root_set_pending_childkey_cooldown"], [73, 2, 1, "", "serve_axon"], [73, 2, 1, "", "set_auto_stake"], [73, 2, 1, "", "set_children"], [73, 2, 1, "", "set_commitment"], [73, 2, 1, "", "set_delegate_take"], [73, 2, 1, "", "set_reveal_commitment"], [73, 2, 1, "", "set_subnet_identity"], [73, 2, 1, "", "set_weights"], [73, 2, 1, "", "sign_and_send_extrinsic"], [73, 2, 1, "", "sim_swap"], [73, 2, 1, "", "start_call"], [73, 2, 1, "", "state_call"], [73, 2, 1, "", "subnet"], [73, 2, 1, "", "subnet_exists"], [73, 2, 1, "", "subnetwork_n"], [73, 3, 1, "", "substrate"], [73, 2, 1, "", "swap_stake"], [73, 2, 1, "", "tempo"], [73, 2, 1, "", "toggle_user_liquidity"], [73, 2, 1, "", "transfer"], [73, 2, 1, "", "transfer_stake"], [73, 2, 1, "", "tx_rate_limit"], [73, 2, 1, "", "unstake"], [73, 2, 1, "", "unstake_all"], [73, 2, 1, "", "unstake_multiple"], [73, 2, 1, "", "validate_extrinsic_params"], [73, 2, 1, "", "wait_for_block"], [73, 2, 1, "", "weights"], [73, 2, 1, "", "weights_rate_limit"]], "bittensor.core.synapse": [[74, 1, 1, "", "Synapse"], [74, 1, 1, "", "TerminalInfo"], [74, 5, 1, "", "cast_float"], [74, 5, 1, "", "cast_int"], [74, 5, 1, "", "get_size"]], "bittensor.core.synapse.Synapse": [[74, 2, 1, "", "__setattr__"], [74, 3, 1, "", "axon"], [74, 6, 1, "id0", "body_hash"], [74, 3, 1, "", "computed_body_hash"], [74, 3, 1, "", "dendrite"], [74, 2, 1, "id1", "deserialize"], [74, 6, 1, "", "failed_verification"], [74, 2, 1, "id2", "from_headers"], [74, 2, 1, "", "get_required_fields"], [74, 2, 1, "id3", "get_total_size"], [74, 3, 1, "", "header_size"], [74, 6, 1, "", "is_blacklist"], [74, 6, 1, "", "is_failure"], [74, 6, 1, "", "is_success"], [74, 6, 1, "", "is_timeout"], [74, 3, 1, "", "model_config"], [74, 3, 1, "", "name"], [74, 2, 1, "id4", "parse_headers_to_inputs"], [74, 3, 1, "", "required_hash_fields"], [74, 2, 1, "", "set_name_type"], [74, 3, 1, "", "timeout"], [74, 2, 1, "id5", "to_headers"], [74, 3, 1, "", "total_size"]], "bittensor.core.synapse.TerminalInfo": [[74, 3, 1, "", "hotkey"], [74, 3, 1, "", "ip"], [74, 3, 1, "", "model_config"], [74, 3, 1, "", "nonce"], [74, 3, 1, "", "port"], [74, 3, 1, "", "process_time"], [74, 3, 1, "", "signature"], [74, 3, 1, "", "status_code"], [74, 3, 1, "", "status_message"], [74, 3, 1, "", "uuid"], [74, 3, 1, "", "version"]], "bittensor.core.tensor": [[75, 1, 1, "", "DTypes"], [75, 1, 1, "", "Tensor"], [75, 5, 1, "", "cast_dtype"], [75, 5, 1, "", "cast_shape"], [75, 4, 1, "", "dtypes"], [75, 1, 1, "", "tensor"]], "bittensor.core.tensor.DTypes": [[75, 3, 1, "", "torch"]], "bittensor.core.tensor.Tensor": [[75, 3, 1, "", "buffer"], [75, 2, 1, "", "deserialize"], [75, 3, 1, "", "dtype"], [75, 3, 1, "", "model_config"], [75, 2, 1, "", "numpy"], [75, 2, 1, "", "serialize"], [75, 3, 1, "", "shape"], [75, 2, 1, "", "tensor"], [75, 2, 1, "", "tolist"]], "bittensor.core.threadpool": [[76, 7, 1, "", "BrokenThreadPool"], [76, 4, 1, "", "NULL_ENTRY"], [76, 1, 1, "", "PriorityThreadPoolExecutor"], [76, 4, 1, "", "logger"]], "bittensor.core.threadpool.PriorityThreadPoolExecutor": [[76, 2, 1, "", "add_args"], [76, 2, 1, "", "config"], [76, 6, 1, "", "is_empty"], [76, 2, 1, "", "shutdown"], [76, 2, 1, "", "submit"]], "bittensor.core.types": [[77, 1, 1, "", "AxonServeCallParams"], [77, 1, 1, "", "BlockInfo"], [77, 1, 1, "", "ExtrinsicResponse"], [77, 1, 1, "", "ParamWithTypes"], [77, 1, 1, "", "PrometheusServeCallParams"], [77, 4, 1, "", "Salt"], [77, 1, 1, "", "SubtensorMixin"], [77, 4, 1, "", "UIDs"], [77, 4, 1, "", "Weights"]], "bittensor.core.types.AxonServeCallParams": [[77, 3, 1, "", "certificate"], [77, 3, 1, "", "coldkey"], [77, 2, 1, "", "copy"], [77, 2, 1, "", "dict"], [77, 3, 1, "", "hotkey"], [77, 3, 1, "", "ip"], [77, 3, 1, "", "ip_type"], [77, 3, 1, "", "netuid"], [77, 3, 1, "", "placeholder1"], [77, 3, 1, "", "placeholder2"], [77, 3, 1, "", "port"], [77, 3, 1, "", "protocol"], [77, 3, 1, "", "version"]], "bittensor.core.types.BlockInfo": [[77, 3, 1, "", "explorer"], [77, 3, 1, "", "extrinsics"], [77, 3, 1, "", "hash"], [77, 3, 1, "", "header"], [77, 3, 1, "", "number"], [77, 3, 1, "", "timestamp"]], "bittensor.core.types.ExtrinsicResponse": [[77, 2, 1, "", "as_dict"], [77, 3, 1, "", "data"], [77, 3, 1, "", "error"], [77, 3, 1, "", "extrinsic"], [77, 3, 1, "", "extrinsic_fee"], [77, 3, 1, "", "extrinsic_function"], [77, 3, 1, "", "extrinsic_receipt"], [77, 2, 1, "", "from_exception"], [77, 3, 1, "", "message"], [77, 3, 1, "", "success"], [77, 3, 1, "", "transaction_alpha_fee"], [77, 3, 1, "", "transaction_tao_fee"], [77, 2, 1, "", "unlock_wallet"], [77, 2, 1, "", "with_log"]], "bittensor.core.types.ParamWithTypes": [[77, 3, 1, "", "name"], [77, 3, 1, "", "type"]], "bittensor.core.types.PrometheusServeCallParams": [[77, 3, 1, "", "ip"], [77, 3, 1, "", "ip_type"], [77, 3, 1, "", "netuid"], [77, 3, 1, "", "port"], [77, 3, 1, "", "version"]], "bittensor.core.types.SubtensorMixin": [[77, 2, 1, "", "add_args"], [77, 3, 1, "", "chain_endpoint"], [77, 2, 1, "", "config"], [77, 2, 1, "", "help"], [77, 3, 1, "", "log_verbose"], [77, 3, 1, "", "network"], [77, 2, 1, "", "setup_config"]], "bittensor.extras": [[82, 0, 0, "-", "dev_framework"], [90, 0, 0, "-", "subtensor_api"], [98, 0, 0, "-", "timelock"]], "bittensor.extras.dev_framework": [[78, 0, 0, "-", "calls"], [83, 0, 0, "-", "subnet"], [84, 0, 0, "-", "utils"]], "bittensor.extras.dev_framework.calls": [[78, 4, 1, "", "HEADER"], [78, 4, 1, "", "IMPORT_TEXT"], [79, 0, 0, "-", "non_sudo_calls"], [80, 0, 0, "-", "pallets"], [78, 5, 1, "", "recreate_calls_subpackage"], [81, 0, 0, "-", "sudo_calls"]], "bittensor.extras.dev_framework.calls.non_sudo_calls": [[79, 1, 1, "", "ADD_LIQUIDITY"], [79, 1, 1, "id0", "ADD_MEMBER"], [79, 1, 1, "", "ADD_PROXY"], [79, 1, 1, "", "ADD_STAKE"], [79, 1, 1, "", "ADD_STAKE_LIMIT"], [79, 1, 1, "", "ADJUST_SENATE"], [79, 1, 1, "", "ANNOUNCE"], [79, 1, 1, "", "APPLY_AUTHORIZED_UPGRADE"], [79, 1, 1, "", "APPROVE_AS_MULTI"], [79, 1, 1, "", "ASSOCIATE_EVM_KEY"], [79, 1, 1, "", "AS_DERIVATIVE"], [79, 1, 1, "", "AS_MULTI"], [79, 1, 1, "", "AS_MULTI_THRESHOLD_1"], [79, 1, 1, "", "AUTHORIZE_UPGRADE"], [79, 1, 1, "", "AUTHORIZE_UPGRADE_WITHOUT_CHECKS"], [79, 1, 1, "", "BATCH"], [79, 1, 1, "", "BATCH_ALL"], [79, 1, 1, "", "BATCH_COMMIT_WEIGHTS"], [79, 1, 1, "", "BATCH_REVEAL_WEIGHTS"], [79, 1, 1, "", "BATCH_SET_WEIGHTS"], [79, 1, 1, "", "BURN"], [79, 1, 1, "", "BURNED_REGISTER"], [79, 1, 1, "", "BURN_ALPHA"], [79, 1, 1, "", "CALL"], [79, 1, 1, "", "CANCEL"], [79, 1, 1, "", "CANCEL_AS_MULTI"], [79, 1, 1, "", "CANCEL_NAMED"], [79, 1, 1, "", "CANCEL_RETRY"], [79, 1, 1, "", "CANCEL_RETRY_NAMED"], [79, 1, 1, "id4", "CHANGE_KEY"], [79, 1, 1, "", "CLEAR_IDENTITY"], [79, 1, 1, "id8", "CLEAR_PRIME"], [79, 1, 1, "", "CLOSE"], [79, 1, 1, "", "COMMIT_CRV3_MECHANISM_WEIGHTS"], [79, 1, 1, "", "COMMIT_MECHANISM_WEIGHTS"], [79, 1, 1, "", "COMMIT_TIMELOCKED_MECHANISM_WEIGHTS"], [79, 1, 1, "", "COMMIT_TIMELOCKED_WEIGHTS"], [79, 1, 1, "", "COMMIT_WEIGHTS"], [79, 1, 1, "", "CONTRIBUTE"], [79, 1, 1, "id11", "CREATE"], [79, 1, 1, "", "CREATE2"], [79, 1, 1, "", "CREATE_PURE"], [79, 1, 1, "", "DECREASE_TAKE"], [79, 1, 1, "", "DISABLE_WHITELIST"], [79, 1, 1, "", "DISAPPROVE_PROPOSAL"], [79, 1, 1, "", "DISPATCH_AS"], [79, 1, 1, "", "DISPATCH_AS_FALLIBLE"], [79, 1, 1, "", "DISSOLVE"], [79, 1, 1, "", "DISSOLVE_NETWORK"], [79, 1, 1, "", "ENSURE_UPDATED"], [79, 1, 1, "", "ENTER"], [79, 1, 1, "", "EXECUTE"], [79, 1, 1, "", "EXTEND"], [79, 1, 1, "", "FAUCET"], [79, 1, 1, "", "FINALIZE"], [79, 1, 1, "", "FORCE_ADJUST_TOTAL_ISSUANCE"], [79, 1, 1, "", "FORCE_BATCH"], [79, 1, 1, "", "FORCE_ENTER"], [79, 1, 1, "", "FORCE_EXIT"], [79, 1, 1, "", "FORCE_EXTEND"], [79, 1, 1, "", "FORCE_RELEASE_DEPOSIT"], [79, 1, 1, "", "FORCE_SET_BALANCE"], [79, 1, 1, "", "FORCE_SLASH_DEPOSIT"], [79, 1, 1, "", "FORCE_TRANSFER"], [79, 1, 1, "", "FORCE_UNRESERVE"], [79, 1, 1, "", "IF_ELSE"], [79, 1, 1, "", "INCREASE_TAKE"], [79, 1, 1, "", "KILL_PREFIX"], [79, 1, 1, "", "KILL_PURE"], [79, 1, 1, "", "KILL_STORAGE"], [79, 1, 1, "", "MODIFY_POSITION"], [79, 1, 1, "", "MOVE_STAKE"], [79, 1, 1, "", "NOTE_PREIMAGE"], [79, 1, 1, "", "NOTE_STALLED"], [79, 1, 1, "id14", "POKE_DEPOSIT"], [79, 1, 1, "", "PROPOSE"], [79, 1, 1, "", "PROXY"], [79, 1, 1, "", "PROXY_ANNOUNCED"], [79, 1, 1, "", "RECYCLE_ALPHA"], [79, 1, 1, "", "REFUND"], [79, 1, 1, "", "REGISTER"], [79, 1, 1, "", "REGISTER_LEASED_NETWORK"], [79, 1, 1, "", "REGISTER_NETWORK"], [79, 1, 1, "", "REGISTER_NETWORK_WITH_IDENTITY"], [79, 1, 1, "", "REJECT_ANNOUNCEMENT"], [79, 1, 1, "", "RELEASE_DEPOSIT"], [79, 1, 1, "", "REMARK"], [79, 1, 1, "", "REMARK_WITH_EVENT"], [79, 1, 1, "", "REMOVE_ANNOUNCEMENT"], [79, 1, 1, "", "REMOVE_KEY"], [79, 1, 1, "", "REMOVE_LIQUIDITY"], [79, 1, 1, "id17", "REMOVE_MEMBER"], [79, 1, 1, "", "REMOVE_PROXIES"], [79, 1, 1, "", "REMOVE_PROXY"], [79, 1, 1, "", "REMOVE_STAKE"], [79, 1, 1, "", "REMOVE_STAKE_FULL_LIMIT"], [79, 1, 1, "", "REMOVE_STAKE_LIMIT"], [79, 1, 1, "", "REPORT_EQUIVOCATION"], [79, 1, 1, "", "REPORT_EQUIVOCATION_UNSIGNED"], [79, 1, 1, "", "REQUEST_PREIMAGE"], [79, 1, 1, "id21", "RESET_MEMBERS"], [79, 1, 1, "", "REVEAL_MECHANISM_WEIGHTS"], [79, 1, 1, "", "REVEAL_WEIGHTS"], [79, 1, 1, "", "ROOT_DISSOLVE_NETWORK"], [79, 1, 1, "", "ROOT_REGISTER"], [79, 1, 1, "", "SCHEDULE"], [79, 1, 1, "", "SCHEDULE_AFTER"], [79, 1, 1, "", "SCHEDULE_GRANDPA_CHANGE"], [79, 1, 1, "", "SCHEDULE_NAMED"], [79, 1, 1, "", "SCHEDULE_NAMED_AFTER"], [79, 1, 1, "", "SCHEDULE_SWAP_COLDKEY"], [79, 1, 1, "", "SERVE_AXON"], [79, 1, 1, "", "SERVE_AXON_TLS"], [79, 1, 1, "", "SERVE_PROMETHEUS"], [79, 1, 1, "", "SET"], [79, 1, 1, "", "SET_BASE_FEE_PER_GAS"], [79, 1, 1, "", "SET_BEACON_CONFIG"], [79, 1, 1, "", "SET_CHILDKEY_TAKE"], [79, 1, 1, "", "SET_CHILDREN"], [79, 1, 1, "", "SET_CODE"], [79, 1, 1, "", "SET_CODE_WITHOUT_CHECKS"], [79, 1, 1, "", "SET_COLDKEY_AUTO_STAKE_HOTKEY"], [79, 1, 1, "", "SET_COMMITMENT"], [79, 1, 1, "", "SET_ELASTICITY"], [79, 1, 1, "", "SET_FEE_RATE"], [79, 1, 1, "", "SET_HEAP_PAGES"], [79, 1, 1, "id25", "SET_IDENTITY"], [79, 1, 1, "", "SET_KEY"], [79, 1, 1, "", "SET_MAX_SPACE"], [79, 1, 1, "", "SET_MECHANISM_WEIGHTS"], [79, 1, 1, "", "SET_MEMBERS"], [79, 1, 1, "", "SET_OLDEST_STORED_ROUND"], [79, 1, 1, "", "SET_PENDING_CHILDKEY_COOLDOWN"], [79, 1, 1, "id28", "SET_PRIME"], [79, 1, 1, "", "SET_RETRY"], [79, 1, 1, "", "SET_RETRY_NAMED"], [79, 1, 1, "", "SET_STORAGE"], [79, 1, 1, "", "SET_SUBNET_IDENTITY"], [79, 1, 1, "", "SET_WEIGHTS"], [79, 1, 1, "", "SET_WHITELIST"], [79, 1, 1, "", "START_CALL"], [79, 1, 1, "id32", "SUDO"], [79, 1, 1, "", "SWAP_AUTHORITIES"], [79, 1, 1, "", "SWAP_COLDKEY"], [79, 1, 1, "", "SWAP_HOTKEY"], [79, 1, 1, "id36", "SWAP_MEMBER"], [79, 1, 1, "", "SWAP_STAKE"], [79, 1, 1, "", "SWAP_STAKE_LIMIT"], [79, 1, 1, "", "TERMINATE_LEASE"], [79, 1, 1, "", "TOGGLE_USER_LIQUIDITY"], [79, 1, 1, "", "TRANSACT"], [79, 1, 1, "", "TRANSFER_ALL"], [79, 1, 1, "", "TRANSFER_ALLOW_DEATH"], [79, 1, 1, "", "TRANSFER_KEEP_ALIVE"], [79, 1, 1, "", "TRANSFER_STAKE"], [79, 1, 1, "", "TRY_ASSOCIATE_HOTKEY"], [79, 1, 1, "", "UNNOTE_PREIMAGE"], [79, 1, 1, "", "UNREQUEST_PREIMAGE"], [79, 1, 1, "", "UNSTAKE_ALL"], [79, 1, 1, "", "UNSTAKE_ALL_ALPHA"], [79, 1, 1, "", "UPDATE_CAP"], [79, 1, 1, "", "UPDATE_END"], [79, 1, 1, "", "UPDATE_MIN_CONTRIBUTION"], [79, 1, 1, "", "UPDATE_SYMBOL"], [79, 1, 1, "", "UPGRADE_ACCOUNTS"], [79, 1, 1, "id41", "VOTE"], [79, 1, 1, "id47", "WITHDRAW"], [79, 1, 1, "", "WITH_WEIGHT"], [79, 1, 1, "", "WRITE_PULSE"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_LIQUIDITY": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "liquidity"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "tick_high"], [79, 3, 1, "", "tick_low"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_MEMBER": [[79, 3, 1, "id1", "pallet"], [79, 3, 1, "id2", "wallet"], [79, 3, 1, "id3", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_PROXY": [[79, 3, 1, "", "delay"], [79, 3, 1, "", "delegate"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "proxy_type"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE": [[79, 3, 1, "", "amount_staked"], [79, 3, 1, "", "hotkey"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADD_STAKE_LIMIT": [[79, 3, 1, "", "allow_partial"], [79, 3, 1, "", "amount_staked"], [79, 3, 1, "", "hotkey"], [79, 3, 1, "", "limit_price"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ADJUST_SENATE": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ANNOUNCE": [[79, 3, 1, "", "call_hash"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "real"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.APPLY_AUTHORIZED_UPGRADE": [[79, 3, 1, "", "code"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.APPROVE_AS_MULTI": [[79, 3, 1, "", "call_hash"], [79, 3, 1, "", "max_weight"], [79, 3, 1, "", "maybe_timepoint"], [79, 3, 1, "", "other_signatories"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "threshold"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ASSOCIATE_EVM_KEY": [[79, 3, 1, "", "block_number"], [79, 3, 1, "", "evm_key"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "signature"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_DERIVATIVE": [[79, 3, 1, "", "call"], [79, 3, 1, "", "index"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI": [[79, 3, 1, "", "call"], [79, 3, 1, "", "max_weight"], [79, 3, 1, "", "maybe_timepoint"], [79, 3, 1, "", "other_signatories"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "threshold"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AS_MULTI_THRESHOLD_1": [[79, 3, 1, "", "call"], [79, 3, 1, "", "other_signatories"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE": [[79, 3, 1, "", "code_hash"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.AUTHORIZE_UPGRADE_WITHOUT_CHECKS": [[79, 3, 1, "", "code_hash"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH": [[79, 3, 1, "", "calls"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_ALL": [[79, 3, 1, "", "calls"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_COMMIT_WEIGHTS": [[79, 3, 1, "", "commit_hashes"], [79, 3, 1, "", "netuids"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_REVEAL_WEIGHTS": [[79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "salts_list"], [79, 3, 1, "", "uids_list"], [79, 3, 1, "", "values_list"], [79, 3, 1, "", "version_keys"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BATCH_SET_WEIGHTS": [[79, 3, 1, "", "netuids"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "version_keys"], [79, 3, 1, "", "wallet"], [79, 3, 1, "", "weights"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN": [[79, 3, 1, "", "keep_alive"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "value"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BURNED_REGISTER": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.BURN_ALPHA": [[79, 3, 1, "", "amount"], [79, 3, 1, "", "hotkey"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CALL": [[79, 3, 1, "", "access_list"], [79, 3, 1, "", "authorization_list"], [79, 3, 1, "", "gas_limit"], [79, 3, 1, "", "input"], [79, 3, 1, "", "max_fee_per_gas"], [79, 3, 1, "", "max_priority_fee_per_gas"], [79, 3, 1, "", "nonce"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "source"], [79, 3, 1, "", "target"], [79, 3, 1, "", "value"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL": [[79, 3, 1, "", "index"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"], [79, 3, 1, "", "when"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_AS_MULTI": [[79, 3, 1, "", "call_hash"], [79, 3, 1, "", "other_signatories"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "threshold"], [79, 3, 1, "", "timepoint"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_NAMED": [[79, 3, 1, "", "id"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "task"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CANCEL_RETRY_NAMED": [[79, 3, 1, "", "id"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CHANGE_KEY": [[79, 3, 1, "id5", "new"], [79, 3, 1, "id6", "pallet"], [79, 3, 1, "id7", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_IDENTITY": [[79, 3, 1, "", "identified"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CLEAR_PRIME": [[79, 3, 1, "id9", "pallet"], [79, 3, 1, "id10", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CLOSE": [[79, 3, 1, "", "index"], [79, 3, 1, "", "length_bound"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "proposal_hash"], [79, 3, 1, "", "proposal_weight_bound"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_CRV3_MECHANISM_WEIGHTS": [[79, 3, 1, "", "commit"], [79, 3, 1, "", "mecid"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "reveal_round"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_MECHANISM_WEIGHTS": [[79, 3, 1, "", "commit_hash"], [79, 3, 1, "", "mecid"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_MECHANISM_WEIGHTS": [[79, 3, 1, "", "commit"], [79, 3, 1, "", "commit_reveal_version"], [79, 3, 1, "", "mecid"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "reveal_round"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_TIMELOCKED_WEIGHTS": [[79, 3, 1, "", "commit"], [79, 3, 1, "", "commit_reveal_version"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "reveal_round"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.COMMIT_WEIGHTS": [[79, 3, 1, "", "commit_hash"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CONTRIBUTE": [[79, 3, 1, "", "amount"], [79, 3, 1, "", "crowdloan_id"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE": [[79, 3, 1, "", "access_list"], [79, 3, 1, "", "authorization_list"], [79, 3, 1, "", "call"], [79, 3, 1, "", "cap"], [79, 3, 1, "", "deposit"], [79, 3, 1, "", "end"], [79, 3, 1, "", "gas_limit"], [79, 3, 1, "", "init"], [79, 3, 1, "", "max_fee_per_gas"], [79, 3, 1, "", "max_priority_fee_per_gas"], [79, 3, 1, "", "min_contribution"], [79, 3, 1, "", "nonce"], [79, 3, 1, "id12", "pallet"], [79, 3, 1, "", "source"], [79, 3, 1, "", "target_address"], [79, 3, 1, "", "value"], [79, 3, 1, "id13", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE2": [[79, 3, 1, "", "access_list"], [79, 3, 1, "", "authorization_list"], [79, 3, 1, "", "gas_limit"], [79, 3, 1, "", "init"], [79, 3, 1, "", "max_fee_per_gas"], [79, 3, 1, "", "max_priority_fee_per_gas"], [79, 3, 1, "", "nonce"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "salt"], [79, 3, 1, "", "source"], [79, 3, 1, "", "value"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.CREATE_PURE": [[79, 3, 1, "", "delay"], [79, 3, 1, "", "index"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "proxy_type"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DECREASE_TAKE": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "take"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISABLE_WHITELIST": [[79, 3, 1, "", "disabled"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISAPPROVE_PROPOSAL": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "proposal_hash"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS": [[79, 3, 1, "", "as_origin"], [79, 3, 1, "", "call"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISPATCH_AS_FALLIBLE": [[79, 3, 1, "", "as_origin"], [79, 3, 1, "", "call"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE": [[79, 3, 1, "", "crowdloan_id"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.DISSOLVE_NETWORK": [[79, 3, 1, "", "coldkey"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ENSURE_UPDATED": [[79, 3, 1, "", "hashes"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ENTER": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.EXECUTE": [[79, 3, 1, "", "length_bound"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "proposal"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.EXTEND": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FAUCET": [[79, 3, 1, "", "block_number"], [79, 3, 1, "", "nonce"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"], [79, 3, 1, "", "work"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FINALIZE": [[79, 3, 1, "", "crowdloan_id"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ADJUST_TOTAL_ISSUANCE": [[79, 3, 1, "", "delta"], [79, 3, 1, "", "direction"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_BATCH": [[79, 3, 1, "", "calls"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_ENTER": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXIT": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_EXTEND": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_RELEASE_DEPOSIT": [[79, 3, 1, "", "account"], [79, 3, 1, "", "block"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SET_BALANCE": [[79, 3, 1, "", "new_free"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"], [79, 3, 1, "", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_SLASH_DEPOSIT": [[79, 3, 1, "", "account"], [79, 3, 1, "", "block"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_TRANSFER": [[79, 3, 1, "", "dest"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "source"], [79, 3, 1, "", "value"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.FORCE_UNRESERVE": [[79, 3, 1, "", "amount"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"], [79, 3, 1, "", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.IF_ELSE": [[79, 3, 1, "", "fallback"], [79, 3, 1, "", "main"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.INCREASE_TAKE": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "take"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PREFIX": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "prefix"], [79, 3, 1, "", "subkeys"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_PURE": [[79, 3, 1, "", "ext_index"], [79, 3, 1, "", "height"], [79, 3, 1, "", "index"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "proxy_type"], [79, 3, 1, "", "spawner"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.KILL_STORAGE": [[79, 3, 1, "", "keys"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.MODIFY_POSITION": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "liquidity_delta"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "position_id"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.MOVE_STAKE": [[79, 3, 1, "", "alpha_amount"], [79, 3, 1, "", "destination_hotkey"], [79, 3, 1, "", "destination_netuid"], [79, 3, 1, "", "origin_hotkey"], [79, 3, 1, "", "origin_netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_PREIMAGE": [[79, 3, 1, "", "bytes"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.NOTE_STALLED": [[79, 3, 1, "", "best_finalized_block_number"], [79, 3, 1, "", "delay"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.POKE_DEPOSIT": [[79, 3, 1, "", "call_hash"], [79, 3, 1, "", "other_signatories"], [79, 3, 1, "id15", "pallet"], [79, 3, 1, "", "threshold"], [79, 3, 1, "id16", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.PROPOSE": [[79, 3, 1, "", "duration"], [79, 3, 1, "", "length_bound"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "proposal"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY": [[79, 3, 1, "", "call"], [79, 3, 1, "", "force_proxy_type"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "real"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.PROXY_ANNOUNCED": [[79, 3, 1, "", "call"], [79, 3, 1, "", "delegate"], [79, 3, 1, "", "force_proxy_type"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "real"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.RECYCLE_ALPHA": [[79, 3, 1, "", "amount"], [79, 3, 1, "", "hotkey"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REFUND": [[79, 3, 1, "", "crowdloan_id"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER": [[79, 3, 1, "", "block_number"], [79, 3, 1, "", "coldkey"], [79, 3, 1, "", "hotkey"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "nonce"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"], [79, 3, 1, "", "work"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_LEASED_NETWORK": [[79, 3, 1, "", "emissions_share"], [79, 3, 1, "", "end_block"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REGISTER_NETWORK_WITH_IDENTITY": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "identity"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REJECT_ANNOUNCEMENT": [[79, 3, 1, "", "call_hash"], [79, 3, 1, "", "delegate"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.RELEASE_DEPOSIT": [[79, 3, 1, "", "account"], [79, 3, 1, "", "block"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "remark"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMARK_WITH_EVENT": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "remark"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_ANNOUNCEMENT": [[79, 3, 1, "", "call_hash"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "real"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_KEY": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_LIQUIDITY": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "position_id"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_MEMBER": [[79, 3, 1, "id18", "pallet"], [79, 3, 1, "id19", "wallet"], [79, 3, 1, "id20", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXIES": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_PROXY": [[79, 3, 1, "", "delay"], [79, 3, 1, "", "delegate"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "proxy_type"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE": [[79, 3, 1, "", "amount_unstaked"], [79, 3, 1, "", "hotkey"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_FULL_LIMIT": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "limit_price"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REMOVE_STAKE_LIMIT": [[79, 3, 1, "", "allow_partial"], [79, 3, 1, "", "amount_unstaked"], [79, 3, 1, "", "hotkey"], [79, 3, 1, "", "limit_price"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION": [[79, 3, 1, "", "equivocation_proof"], [79, 3, 1, "", "key_owner_proof"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REPORT_EQUIVOCATION_UNSIGNED": [[79, 3, 1, "", "equivocation_proof"], [79, 3, 1, "", "key_owner_proof"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REQUEST_PREIMAGE": [[79, 3, 1, "", "hash"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.RESET_MEMBERS": [[79, 3, 1, "id22", "members"], [79, 3, 1, "id23", "pallet"], [79, 3, 1, "id24", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_MECHANISM_WEIGHTS": [[79, 3, 1, "", "mecid"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "salt"], [79, 3, 1, "", "uids"], [79, 3, 1, "", "values"], [79, 3, 1, "", "version_key"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.REVEAL_WEIGHTS": [[79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "salt"], [79, 3, 1, "", "uids"], [79, 3, 1, "", "values"], [79, 3, 1, "", "version_key"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_DISSOLVE_NETWORK": [[79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.ROOT_REGISTER": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE": [[79, 3, 1, "", "call"], [79, 3, 1, "", "maybe_periodic"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "priority"], [79, 3, 1, "", "wallet"], [79, 3, 1, "", "when"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_AFTER": [[79, 3, 1, "", "after"], [79, 3, 1, "", "call"], [79, 3, 1, "", "maybe_periodic"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "priority"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_GRANDPA_CHANGE": [[79, 3, 1, "", "forced"], [79, 3, 1, "", "in_blocks"], [79, 3, 1, "", "next_authorities"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED": [[79, 3, 1, "", "call"], [79, 3, 1, "", "id"], [79, 3, 1, "", "maybe_periodic"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "priority"], [79, 3, 1, "", "wallet"], [79, 3, 1, "", "when"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_NAMED_AFTER": [[79, 3, 1, "", "after"], [79, 3, 1, "", "call"], [79, 3, 1, "", "id"], [79, 3, 1, "", "maybe_periodic"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "priority"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SCHEDULE_SWAP_COLDKEY": [[79, 3, 1, "", "new_coldkey"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON": [[79, 3, 1, "", "ip"], [79, 3, 1, "", "ip_type"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "placeholder1"], [79, 3, 1, "", "placeholder2"], [79, 3, 1, "", "port"], [79, 3, 1, "", "protocol"], [79, 3, 1, "", "version"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_AXON_TLS": [[79, 3, 1, "", "certificate"], [79, 3, 1, "", "ip"], [79, 3, 1, "", "ip_type"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "placeholder1"], [79, 3, 1, "", "placeholder2"], [79, 3, 1, "", "port"], [79, 3, 1, "", "protocol"], [79, 3, 1, "", "version"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SERVE_PROMETHEUS": [[79, 3, 1, "", "ip"], [79, 3, 1, "", "ip_type"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "port"], [79, 3, 1, "", "version"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET": [[79, 3, 1, "", "now"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BASE_FEE_PER_GAS": [[79, 3, 1, "", "fee"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_BEACON_CONFIG": [[79, 3, 1, "", "config_payload"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "signature"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDKEY_TAKE": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "take"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CHILDREN": [[79, 3, 1, "", "children"], [79, 3, 1, "", "hotkey"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE": [[79, 3, 1, "", "code"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_CODE_WITHOUT_CHECKS": [[79, 3, 1, "", "code"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COLDKEY_AUTO_STAKE_HOTKEY": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_COMMITMENT": [[79, 3, 1, "", "info"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_ELASTICITY": [[79, 3, 1, "", "elasticity"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_FEE_RATE": [[79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "rate"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_HEAP_PAGES": [[79, 3, 1, "", "pages"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_IDENTITY": [[79, 3, 1, "", "additional"], [79, 3, 1, "", "description"], [79, 3, 1, "", "discord"], [79, 3, 1, "", "github_repo"], [79, 3, 1, "", "identified"], [79, 3, 1, "", "image"], [79, 3, 1, "", "info"], [79, 3, 1, "", "name"], [79, 3, 1, "id26", "pallet"], [79, 3, 1, "", "url"], [79, 3, 1, "id27", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_KEY": [[79, 3, 1, "", "new"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MAX_SPACE": [[79, 3, 1, "", "new_limit"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MECHANISM_WEIGHTS": [[79, 3, 1, "", "dests"], [79, 3, 1, "", "mecid"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "version_key"], [79, 3, 1, "", "wallet"], [79, 3, 1, "", "weights"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_MEMBERS": [[79, 3, 1, "", "new_members"], [79, 3, 1, "", "old_count"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "prime"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_OLDEST_STORED_ROUND": [[79, 3, 1, "", "oldest_round"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PENDING_CHILDKEY_COOLDOWN": [[79, 3, 1, "", "cooldown"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_PRIME": [[79, 3, 1, "id29", "pallet"], [79, 3, 1, "id30", "wallet"], [79, 3, 1, "id31", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "period"], [79, 3, 1, "", "retries"], [79, 3, 1, "", "task"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_RETRY_NAMED": [[79, 3, 1, "", "id"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "period"], [79, 3, 1, "", "retries"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_STORAGE": [[79, 3, 1, "", "items"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_SUBNET_IDENTITY": [[79, 3, 1, "", "additional"], [79, 3, 1, "", "description"], [79, 3, 1, "", "discord"], [79, 3, 1, "", "github_repo"], [79, 3, 1, "", "logo_url"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "subnet_contact"], [79, 3, 1, "", "subnet_name"], [79, 3, 1, "", "subnet_url"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WEIGHTS": [[79, 3, 1, "", "dests"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "version_key"], [79, 3, 1, "", "wallet"], [79, 3, 1, "", "weights"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SET_WHITELIST": [[79, 3, 1, "", "new"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.START_CALL": [[79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SUDO": [[79, 3, 1, "id33", "call"], [79, 3, 1, "id34", "pallet"], [79, 3, 1, "id35", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_AUTHORITIES": [[79, 3, 1, "", "new_authorities"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_COLDKEY": [[79, 3, 1, "", "new_coldkey"], [79, 3, 1, "", "old_coldkey"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "swap_cost"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_HOTKEY": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "new_hotkey"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_MEMBER": [[79, 3, 1, "id37", "add"], [79, 3, 1, "id38", "pallet"], [79, 3, 1, "id39", "remove"], [79, 3, 1, "id40", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE": [[79, 3, 1, "", "alpha_amount"], [79, 3, 1, "", "destination_netuid"], [79, 3, 1, "", "hotkey"], [79, 3, 1, "", "origin_netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.SWAP_STAKE_LIMIT": [[79, 3, 1, "", "allow_partial"], [79, 3, 1, "", "alpha_amount"], [79, 3, 1, "", "destination_netuid"], [79, 3, 1, "", "hotkey"], [79, 3, 1, "", "limit_price"], [79, 3, 1, "", "origin_netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TERMINATE_LEASE": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "lease_id"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TOGGLE_USER_LIQUIDITY": [[79, 3, 1, "", "enable"], [79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSACT": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "transaction"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALL": [[79, 3, 1, "", "dest"], [79, 3, 1, "", "keep_alive"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_ALLOW_DEATH": [[79, 3, 1, "", "dest"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "value"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_KEEP_ALIVE": [[79, 3, 1, "", "dest"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "value"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRANSFER_STAKE": [[79, 3, 1, "", "alpha_amount"], [79, 3, 1, "", "destination_coldkey"], [79, 3, 1, "", "destination_netuid"], [79, 3, 1, "", "hotkey"], [79, 3, 1, "", "origin_netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.TRY_ASSOCIATE_HOTKEY": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UNNOTE_PREIMAGE": [[79, 3, 1, "", "hash"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UNREQUEST_PREIMAGE": [[79, 3, 1, "", "hash"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UNSTAKE_ALL_ALPHA": [[79, 3, 1, "", "hotkey"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_CAP": [[79, 3, 1, "", "crowdloan_id"], [79, 3, 1, "", "new_cap"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_END": [[79, 3, 1, "", "crowdloan_id"], [79, 3, 1, "", "new_end"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_MIN_CONTRIBUTION": [[79, 3, 1, "", "crowdloan_id"], [79, 3, 1, "", "new_min_contribution"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPDATE_SYMBOL": [[79, 3, 1, "", "netuid"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "symbol"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.UPGRADE_ACCOUNTS": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"], [79, 3, 1, "", "who"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.VOTE": [[79, 3, 1, "id42", "approve"], [79, 3, 1, "", "hotkey"], [79, 3, 1, "id43", "index"], [79, 3, 1, "id44", "pallet"], [79, 3, 1, "id45", "proposal"], [79, 3, 1, "id46", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.WITHDRAW": [[79, 3, 1, "", "address"], [79, 3, 1, "", "crowdloan_id"], [79, 3, 1, "id48", "pallet"], [79, 3, 1, "", "value"], [79, 3, 1, "id49", "wallet"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.WITH_WEIGHT": [[79, 3, 1, "", "call"], [79, 3, 1, "", "pallet"], [79, 3, 1, "", "wallet"], [79, 3, 1, "", "weight"]], "bittensor.extras.dev_framework.calls.non_sudo_calls.WRITE_PULSE": [[79, 3, 1, "", "pallet"], [79, 3, 1, "", "pulses_payload"], [79, 3, 1, "", "signature"], [79, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.pallets": [[80, 4, 1, "", "AdminUtils"], [80, 4, 1, "", "Balances"], [80, 4, 1, "", "BaseFee"], [80, 4, 1, "", "Commitments"], [80, 4, 1, "", "Crowdloan"], [80, 4, 1, "", "Drand"], [80, 4, 1, "", "EVM"], [80, 4, 1, "", "Ethereum"], [80, 4, 1, "", "Grandpa"], [80, 4, 1, "", "Multisig"], [80, 4, 1, "", "Preimage"], [80, 4, 1, "", "Proxy"], [80, 4, 1, "", "Registry"], [80, 4, 1, "", "SafeMode"], [80, 4, 1, "", "Scheduler"], [80, 4, 1, "", "SenateMembers"], [80, 4, 1, "", "SubtensorModule"], [80, 4, 1, "", "Sudo"], [80, 4, 1, "", "Swap"], [80, 4, 1, "", "System"], [80, 4, 1, "", "Timestamp"], [80, 4, 1, "", "Triumvirate"], [80, 4, 1, "", "TriumvirateMembers"], [80, 4, 1, "", "Utility"]], "bittensor.extras.dev_framework.calls.sudo_calls": [[81, 1, 1, "", "SUDO_AS"], [81, 1, 1, "", "SUDO_SET_ACTIVITY_CUTOFF"], [81, 1, 1, "", "SUDO_SET_ADJUSTMENT_ALPHA"], [81, 1, 1, "", "SUDO_SET_ADJUSTMENT_INTERVAL"], [81, 1, 1, "", "SUDO_SET_ADMIN_FREEZE_WINDOW"], [81, 1, 1, "", "SUDO_SET_ALPHA_SIGMOID_STEEPNESS"], [81, 1, 1, "", "SUDO_SET_ALPHA_VALUES"], [81, 1, 1, "", "SUDO_SET_BONDS_MOVING_AVERAGE"], [81, 1, 1, "", "SUDO_SET_BONDS_PENALTY"], [81, 1, 1, "", "SUDO_SET_BONDS_RESET_ENABLED"], [81, 1, 1, "", "SUDO_SET_CK_BURN"], [81, 1, 1, "", "SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION"], [81, 1, 1, "", "SUDO_SET_COMMIT_REVEAL_VERSION"], [81, 1, 1, "", "SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED"], [81, 1, 1, "", "SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL"], [81, 1, 1, "", "SUDO_SET_DEFAULT_TAKE"], [81, 1, 1, "", "SUDO_SET_DIFFICULTY"], [81, 1, 1, "", "SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION"], [81, 1, 1, "", "SUDO_SET_EMA_PRICE_HALVING_PERIOD"], [81, 1, 1, "", "SUDO_SET_EVM_CHAIN_ID"], [81, 1, 1, "", "SUDO_SET_IMMUNITY_PERIOD"], [81, 1, 1, "", "SUDO_SET_KAPPA"], [81, 1, 1, "", "SUDO_SET_LIQUID_ALPHA_ENABLED"], [81, 1, 1, "", "SUDO_SET_LOCK_REDUCTION_INTERVAL"], [81, 1, 1, "", "SUDO_SET_MAX_ALLOWED_UIDS"], [81, 1, 1, "", "SUDO_SET_MAX_ALLOWED_VALIDATORS"], [81, 1, 1, "", "SUDO_SET_MAX_BURN"], [81, 1, 1, "", "SUDO_SET_MAX_CHILDKEY_TAKE"], [81, 1, 1, "", "SUDO_SET_MAX_DIFFICULTY"], [81, 1, 1, "", "SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK"], [81, 1, 1, "", "SUDO_SET_MAX_WEIGHT_LIMIT"], [81, 1, 1, "", "SUDO_SET_MECHANISM_COUNT"], [81, 1, 1, "", "SUDO_SET_MECHANISM_EMISSION_SPLIT"], [81, 1, 1, "", "SUDO_SET_MIN_ALLOWED_UIDS"], [81, 1, 1, "", "SUDO_SET_MIN_ALLOWED_WEIGHTS"], [81, 1, 1, "", "SUDO_SET_MIN_BURN"], [81, 1, 1, "", "SUDO_SET_MIN_CHILDKEY_TAKE"], [81, 1, 1, "", "SUDO_SET_MIN_DELEGATE_TAKE"], [81, 1, 1, "", "SUDO_SET_MIN_DIFFICULTY"], [81, 1, 1, "", "SUDO_SET_NETWORK_IMMUNITY_PERIOD"], [81, 1, 1, "", "SUDO_SET_NETWORK_MIN_LOCK_COST"], [81, 1, 1, "", "SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED"], [81, 1, 1, "", "SUDO_SET_NETWORK_RATE_LIMIT"], [81, 1, 1, "", "SUDO_SET_NETWORK_REGISTRATION_ALLOWED"], [81, 1, 1, "", "SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE"], [81, 1, 1, "", "SUDO_SET_OWNER_HPARAM_RATE_LIMIT"], [81, 1, 1, "", "SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT"], [81, 1, 1, "", "SUDO_SET_RAO_RECYCLED"], [81, 1, 1, "", "SUDO_SET_RECYCLE_OR_BURN"], [81, 1, 1, "", "SUDO_SET_RHO"], [81, 1, 1, "", "SUDO_SET_SERVING_RATE_LIMIT"], [81, 1, 1, "", "SUDO_SET_SN_OWNER_HOTKEY"], [81, 1, 1, "", "SUDO_SET_STAKE_THRESHOLD"], [81, 1, 1, "", "SUDO_SET_SUBNET_LIMIT"], [81, 1, 1, "", "SUDO_SET_SUBNET_MOVING_ALPHA"], [81, 1, 1, "", "SUDO_SET_SUBNET_OWNER_CUT"], [81, 1, 1, "", "SUDO_SET_SUBNET_OWNER_HOTKEY"], [81, 1, 1, "", "SUDO_SET_SUBTOKEN_ENABLED"], [81, 1, 1, "", "SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL"], [81, 1, 1, "", "SUDO_SET_TEMPO"], [81, 1, 1, "", "SUDO_SET_TOGGLE_TRANSFER"], [81, 1, 1, "", "SUDO_SET_TOTAL_ISSUANCE"], [81, 1, 1, "", "SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT"], [81, 1, 1, "", "SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT"], [81, 1, 1, "", "SUDO_SET_TX_RATE_LIMIT"], [81, 1, 1, "", "SUDO_SET_WEIGHTS_SET_RATE_LIMIT"], [81, 1, 1, "", "SUDO_SET_WEIGHTS_VERSION_KEY"], [81, 1, 1, "", "SUDO_SET_YUMA3_ENABLED"], [81, 1, 1, "", "SUDO_TOGGLE_EVM_PRECOMPILE"], [81, 1, 1, "", "SUDO_TRIM_TO_MAX_ALLOWED_UIDS"], [81, 1, 1, "id0", "SUDO_UNCHECKED_WEIGHT"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_AS": [[81, 3, 1, "", "call"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"], [81, 3, 1, "", "who"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ACTIVITY_CUTOFF": [[81, 3, 1, "", "activity_cutoff"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_ALPHA": [[81, 3, 1, "", "adjustment_alpha"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADJUSTMENT_INTERVAL": [[81, 3, 1, "", "adjustment_interval"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ADMIN_FREEZE_WINDOW": [[81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"], [81, 3, 1, "", "window"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_SIGMOID_STEEPNESS": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "steepness"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_ALPHA_VALUES": [[81, 3, 1, "", "alpha_high"], [81, 3, 1, "", "alpha_low"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_MOVING_AVERAGE": [[81, 3, 1, "", "bonds_moving_average"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_PENALTY": [[81, 3, 1, "", "bonds_penalty"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_BONDS_RESET_ENABLED": [[81, 3, 1, "", "enabled"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_CK_BURN": [[81, 3, 1, "", "burn"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COLDKEY_SWAP_SCHEDULE_DURATION": [[81, 3, 1, "", "duration"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_VERSION": [[81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "version"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_ENABLED": [[81, 3, 1, "", "enabled"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_COMMIT_REVEAL_WEIGHTS_INTERVAL": [[81, 3, 1, "", "interval"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DEFAULT_TAKE": [[81, 3, 1, "", "default_take"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DIFFICULTY": [[81, 3, 1, "", "difficulty"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_DISSOLVE_NETWORK_SCHEDULE_DURATION": [[81, 3, 1, "", "duration"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EMA_PRICE_HALVING_PERIOD": [[81, 3, 1, "", "ema_halving"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_EVM_CHAIN_ID": [[81, 3, 1, "", "chain_id"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_IMMUNITY_PERIOD": [[81, 3, 1, "", "immunity_period"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_KAPPA": [[81, 3, 1, "", "kappa"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LIQUID_ALPHA_ENABLED": [[81, 3, 1, "", "enabled"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_LOCK_REDUCTION_INTERVAL": [[81, 3, 1, "", "interval"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_UIDS": [[81, 3, 1, "", "max_allowed_uids"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_ALLOWED_VALIDATORS": [[81, 3, 1, "", "max_allowed_validators"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_BURN": [[81, 3, 1, "", "max_burn"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_CHILDKEY_TAKE": [[81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "take"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_DIFFICULTY": [[81, 3, 1, "", "max_difficulty"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_REGISTRATIONS_PER_BLOCK": [[81, 3, 1, "", "max_registrations_per_block"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MAX_WEIGHT_LIMIT": [[81, 3, 1, "", "max_weight_limit"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_COUNT": [[81, 3, 1, "", "mechanism_count"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MECHANISM_EMISSION_SPLIT": [[81, 3, 1, "", "maybe_split"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_UIDS": [[81, 3, 1, "", "min_allowed_uids"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_ALLOWED_WEIGHTS": [[81, 3, 1, "", "min_allowed_weights"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_BURN": [[81, 3, 1, "", "min_burn"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_CHILDKEY_TAKE": [[81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "take"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DELEGATE_TAKE": [[81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "take"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_MIN_DIFFICULTY": [[81, 3, 1, "", "min_difficulty"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_IMMUNITY_PERIOD": [[81, 3, 1, "", "immunity_period"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_MIN_LOCK_COST": [[81, 3, 1, "", "lock_cost"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_POW_REGISTRATION_ALLOWED": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "registration_allowed"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_RATE_LIMIT": [[81, 3, 1, "", "pallet"], [81, 3, 1, "", "rate_limit"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NETWORK_REGISTRATION_ALLOWED": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "registration_allowed"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_NOMINATOR_MIN_REQUIRED_STAKE": [[81, 3, 1, "", "min_stake"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_HPARAM_RATE_LIMIT": [[81, 3, 1, "", "epochs"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_OWNER_IMMUNE_NEURON_LIMIT": [[81, 3, 1, "", "immune_neurons"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RAO_RECYCLED": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "rao_recycled"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RECYCLE_OR_BURN": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "recycle_or_burn"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_RHO": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "rho"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SERVING_RATE_LIMIT": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "serving_rate_limit"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SN_OWNER_HOTKEY": [[81, 3, 1, "", "hotkey"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_STAKE_THRESHOLD": [[81, 3, 1, "", "min_stake"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_LIMIT": [[81, 3, 1, "", "max_subnets"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_MOVING_ALPHA": [[81, 3, 1, "", "alpha"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_CUT": [[81, 3, 1, "", "pallet"], [81, 3, 1, "", "subnet_owner_cut"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBNET_OWNER_HOTKEY": [[81, 3, 1, "", "hotkey"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_SUBTOKEN_ENABLED": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "subtoken_enabled"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TARGET_REGISTRATIONS_PER_INTERVAL": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "target_registrations_per_interval"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TEMPO": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "tempo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOGGLE_TRANSFER": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "toggle"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TOTAL_ISSUANCE": [[81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "total_issuance"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_CHILDKEY_TAKE_RATE_LIMIT": [[81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "tx_rate_limit"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_DELEGATE_TAKE_RATE_LIMIT": [[81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "tx_rate_limit"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_TX_RATE_LIMIT": [[81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "tx_rate_limit"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_SET_RATE_LIMIT": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"], [81, 3, 1, "", "weights_set_rate_limit"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_WEIGHTS_VERSION_KEY": [[81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"], [81, 3, 1, "", "weights_version_key"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_SET_YUMA3_ENABLED": [[81, 3, 1, "", "enabled"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TOGGLE_EVM_PRECOMPILE": [[81, 3, 1, "", "enabled"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "precompile_id"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_TRIM_TO_MAX_ALLOWED_UIDS": [[81, 3, 1, "", "max_n"], [81, 3, 1, "", "netuid"], [81, 3, 1, "", "pallet"], [81, 3, 1, "", "sudo"], [81, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.calls.sudo_calls.SUDO_UNCHECKED_WEIGHT": [[81, 3, 1, "id1", "call"], [81, 3, 1, "id2", "pallet"], [81, 3, 1, "id3", "sudo"], [81, 3, 1, "id4", "wallet"], [81, 3, 1, "id5", "weight"]], "bittensor.extras.dev_framework.subnet": [[83, 1, 1, "", "CALL_RECORD"], [83, 4, 1, "", "NETUID"], [83, 1, 1, "", "TestSubnet"]], "bittensor.extras.dev_framework.subnet.CALL_RECORD": [[83, 3, 1, "", "idx"], [83, 3, 1, "", "operation"], [83, 3, 1, "", "response"]], "bittensor.extras.dev_framework.subnet.TestSubnet": [[83, 2, 1, "", "async_execute_one"], [83, 2, 1, "", "async_execute_steps"], [83, 2, 1, "", "async_set_hyperparameter"], [83, 2, 1, "", "async_wait_next_epoch"], [83, 6, 1, "", "calls"], [83, 2, 1, "", "execute_one"], [83, 2, 1, "", "execute_steps"], [83, 6, 1, "", "netuid"], [83, 6, 1, "", "owner"], [83, 3, 1, "", "period"], [83, 3, 1, "", "raise_error"], [83, 3, 1, "", "s"], [83, 2, 1, "", "set_hyperparameter"], [83, 3, 1, "", "wait_for_finalization"], [83, 3, 1, "", "wait_for_inclusion"], [83, 2, 1, "", "wait_next_epoch"]], "bittensor.extras.dev_framework.utils": [[84, 4, 1, "", "ACTIVATE_SUBNET"], [84, 1, 1, "", "ActivateSubnet"], [84, 4, 1, "", "REGISTER_NEURON"], [84, 4, 1, "", "REGISTER_SUBNET"], [84, 1, 1, "", "RegisterNeuron"], [84, 1, 1, "", "RegisterSubnet"], [84, 4, 1, "", "STEPS"], [84, 5, 1, "", "is_instance_namedtuple"], [84, 5, 1, "", "split_command"]], "bittensor.extras.dev_framework.utils.ActivateSubnet": [[84, 3, 1, "", "netuid"], [84, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.utils.RegisterNeuron": [[84, 3, 1, "", "netuid"], [84, 3, 1, "", "wallet"]], "bittensor.extras.dev_framework.utils.RegisterSubnet": [[84, 3, 1, "", "wallet"]], "bittensor.extras.subtensor_api": [[90, 1, 1, "", "SubtensorApi"], [86, 0, 0, "-", "chain"], [87, 0, 0, "-", "commitments"], [88, 0, 0, "-", "delegates"], [89, 0, 0, "-", "extrinsics"], [91, 0, 0, "-", "metagraphs"], [92, 0, 0, "-", "neurons"], [93, 0, 0, "-", "queries"], [94, 0, 0, "-", "staking"], [95, 0, 0, "-", "subnets"], [96, 0, 0, "-", "utils"], [97, 0, 0, "-", "wallets"]], "bittensor.extras.subtensor_api.SubtensorApi": [[90, 2, 1, "", "add_args"], [90, 6, 1, "", "block"], [90, 6, 1, "", "chain"], [90, 3, 1, "", "chain_endpoint"], [90, 3, 1, "", "close"], [90, 6, 1, "", "commitments"], [90, 3, 1, "", "compose_call"], [90, 3, 1, "", "config"], [90, 6, 1, "", "delegates"], [90, 3, 1, "", "determine_block_hash"], [90, 3, 1, "", "encode_params"], [90, 6, 1, "", "extrinsics"], [90, 3, 1, "", "help"], [90, 3, 1, "", "initialize"], [90, 3, 1, "", "inner_subtensor"], [90, 3, 1, "", "is_async"], [90, 3, 1, "", "log_verbose"], [90, 6, 1, "", "metagraphs"], [90, 3, 1, "", "network"], [90, 6, 1, "", "neurons"], [90, 6, 1, "", "queries"], [90, 3, 1, "", "setup_config"], [90, 3, 1, "", "sign_and_send_extrinsic"], [90, 6, 1, "", "staking"], [90, 3, 1, "", "start_call"], [90, 6, 1, "", "subnets"], [90, 3, 1, "", "substrate"], [90, 3, 1, "", "wait_for_block"], [90, 6, 1, "", "wallets"]], "bittensor.extras.subtensor_api.chain": [[86, 1, 1, "", "Chain"]], "bittensor.extras.subtensor_api.chain.Chain": [[86, 3, 1, "", "get_admin_freeze_window"], [86, 3, 1, "", "get_block_hash"], [86, 3, 1, "", "get_block_info"], [86, 3, 1, "", "get_current_block"], [86, 3, 1, "", "get_delegate_identities"], [86, 3, 1, "", "get_existential_deposit"], [86, 3, 1, "", "get_minimum_required_stake"], [86, 3, 1, "", "get_timestamp"], [86, 3, 1, "", "get_vote_data"], [86, 3, 1, "", "is_fast_blocks"], [86, 3, 1, "", "is_in_admin_freeze_window"], [86, 3, 1, "", "last_drand_round"], [86, 3, 1, "", "state_call"], [86, 3, 1, "", "tx_rate_limit"]], "bittensor.extras.subtensor_api.commitments": [[87, 1, 1, "", "Commitments"]], "bittensor.extras.subtensor_api.commitments.Commitments": [[87, 3, 1, "", "commit_reveal_enabled"], [87, 3, 1, "", "get_all_commitments"], [87, 3, 1, "", "get_all_revealed_commitments"], [87, 3, 1, "", "get_commitment"], [87, 3, 1, "", "get_commitment_metadata"], [87, 3, 1, "", "get_last_bonds_reset"], [87, 3, 1, "", "get_last_commitment_bonds_reset_block"], [87, 3, 1, "", "get_revealed_commitment"], [87, 3, 1, "", "get_revealed_commitment_by_hotkey"], [87, 3, 1, "", "get_timelocked_weight_commits"], [87, 3, 1, "", "set_commitment"], [87, 3, 1, "", "set_reveal_commitment"]], "bittensor.extras.subtensor_api.delegates": [[88, 1, 1, "", "Delegates"]], "bittensor.extras.subtensor_api.delegates.Delegates": [[88, 3, 1, "", "get_delegate_by_hotkey"], [88, 3, 1, "", "get_delegate_identities"], [88, 3, 1, "", "get_delegate_take"], [88, 3, 1, "", "get_delegated"], [88, 3, 1, "", "get_delegates"], [88, 3, 1, "", "is_hotkey_delegate"], [88, 3, 1, "", "set_delegate_take"]], "bittensor.extras.subtensor_api.extrinsics": [[89, 1, 1, "", "Extrinsics"]], "bittensor.extras.subtensor_api.extrinsics.Extrinsics": [[89, 3, 1, "", "add_liquidity"], [89, 3, 1, "", "add_stake"], [89, 3, 1, "", "add_stake_multiple"], [89, 3, 1, "", "burned_register"], [89, 3, 1, "", "commit_weights"], [89, 3, 1, "", "get_extrinsic_fee"], [89, 3, 1, "", "modify_liquidity"], [89, 3, 1, "", "move_stake"], [89, 3, 1, "", "register"], [89, 3, 1, "", "register_subnet"], [89, 3, 1, "", "remove_liquidity"], [89, 3, 1, "", "reveal_weights"], [89, 3, 1, "", "root_register"], [89, 3, 1, "", "root_set_pending_childkey_cooldown"], [89, 3, 1, "", "serve_axon"], [89, 3, 1, "", "set_children"], [89, 3, 1, "", "set_commitment"], [89, 3, 1, "", "set_subnet_identity"], [89, 3, 1, "", "set_weights"], [89, 3, 1, "", "start_call"], [89, 3, 1, "", "swap_stake"], [89, 3, 1, "", "toggle_user_liquidity"], [89, 3, 1, "", "transfer"], [89, 3, 1, "", "transfer_stake"], [89, 3, 1, "", "unstake"], [89, 3, 1, "", "unstake_all"], [89, 3, 1, "", "unstake_multiple"], [89, 3, 1, "", "validate_extrinsic_params"]], "bittensor.extras.subtensor_api.metagraphs": [[91, 1, 1, "", "Metagraphs"]], "bittensor.extras.subtensor_api.metagraphs.Metagraphs": [[91, 3, 1, "", "get_all_metagraphs_info"], [91, 3, 1, "", "get_metagraph_info"], [91, 3, 1, "", "metagraph"]], "bittensor.extras.subtensor_api.neurons": [[92, 1, 1, "", "Neurons"]], "bittensor.extras.subtensor_api.neurons.Neurons": [[92, 3, 1, "", "get_all_neuron_certificates"], [92, 3, 1, "", "get_neuron_certificate"], [92, 3, 1, "", "neuron_for_uid"], [92, 3, 1, "", "neurons"], [92, 3, 1, "", "neurons_lite"], [92, 3, 1, "", "query_identity"]], "bittensor.extras.subtensor_api.queries": [[93, 1, 1, "", "Queries"]], "bittensor.extras.subtensor_api.queries.Queries": [[93, 3, 1, "", "query_constant"], [93, 3, 1, "", "query_map"], [93, 3, 1, "", "query_map_subtensor"], [93, 3, 1, "", "query_module"], [93, 3, 1, "", "query_runtime_api"], [93, 3, 1, "", "query_subtensor"]], "bittensor.extras.subtensor_api.staking": [[94, 1, 1, "", "Staking"]], "bittensor.extras.subtensor_api.staking.Staking": [[94, 3, 1, "", "add_stake"], [94, 3, 1, "", "add_stake_multiple"], [94, 3, 1, "", "get_auto_stakes"], [94, 3, 1, "", "get_hotkey_stake"], [94, 3, 1, "", "get_minimum_required_stake"], [94, 3, 1, "", "get_stake"], [94, 3, 1, "", "get_stake_add_fee"], [94, 3, 1, "", "get_stake_for_coldkey_and_hotkey"], [94, 3, 1, "", "get_stake_info_for_coldkey"], [94, 3, 1, "", "get_stake_movement_fee"], [94, 3, 1, "", "get_stake_weight"], [94, 3, 1, "", "get_unstake_fee"], [94, 3, 1, "", "move_stake"], [94, 3, 1, "", "set_auto_stake"], [94, 3, 1, "", "sim_swap"], [94, 3, 1, "", "swap_stake"], [94, 3, 1, "", "transfer_stake"], [94, 3, 1, "", "unstake"], [94, 3, 1, "", "unstake_all"], [94, 3, 1, "", "unstake_multiple"]], "bittensor.extras.subtensor_api.subnets": [[95, 1, 1, "", "Subnets"]], "bittensor.extras.subtensor_api.subnets.Subnets": [[95, 3, 1, "", "all_subnets"], [95, 3, 1, "", "blocks_since_last_step"], [95, 3, 1, "", "blocks_since_last_update"], [95, 3, 1, "", "bonds"], [95, 3, 1, "", "burned_register"], [95, 3, 1, "", "commit_reveal_enabled"], [95, 3, 1, "", "difficulty"], [95, 3, 1, "", "get_all_subnets_info"], [95, 3, 1, "", "get_all_subnets_netuid"], [95, 3, 1, "", "get_children"], [95, 3, 1, "", "get_children_pending"], [95, 3, 1, "", "get_hyperparameter"], [95, 3, 1, "", "get_liquidity_list"], [95, 3, 1, "", "get_mechanism_count"], [95, 3, 1, "", "get_mechanism_emission_split"], [95, 3, 1, "", "get_neuron_for_pubkey_and_subnet"], [95, 3, 1, "", "get_next_epoch_start_block"], [95, 3, 1, "", "get_parents"], [95, 3, 1, "", "get_subnet_burn_cost"], [95, 3, 1, "", "get_subnet_hyperparameters"], [95, 3, 1, "", "get_subnet_info"], [95, 3, 1, "", "get_subnet_owner_hotkey"], [95, 3, 1, "", "get_subnet_price"], [95, 3, 1, "", "get_subnet_prices"], [95, 3, 1, "", "get_subnet_reveal_period_epochs"], [95, 3, 1, "", "get_subnet_validator_permits"], [95, 3, 1, "", "get_total_subnets"], [95, 3, 1, "", "get_uid_for_hotkey_on_subnet"], [95, 3, 1, "", "immunity_period"], [95, 3, 1, "", "is_hotkey_registered_on_subnet"], [95, 3, 1, "", "is_subnet_active"], [95, 3, 1, "", "max_weight_limit"], [95, 3, 1, "", "min_allowed_weights"], [95, 3, 1, "", "recycle"], [95, 3, 1, "", "register"], [95, 3, 1, "", "register_subnet"], [95, 3, 1, "", "set_subnet_identity"], [95, 3, 1, "", "start_call"], [95, 3, 1, "", "subnet"], [95, 3, 1, "", "subnet_exists"], [95, 3, 1, "", "subnetwork_n"], [95, 3, 1, "", "tempo"], [95, 3, 1, "", "weights"], [95, 3, 1, "", "weights_rate_limit"]], "bittensor.extras.subtensor_api.utils": [[96, 5, 1, "", "add_legacy_methods"]], "bittensor.extras.subtensor_api.wallets": [[97, 1, 1, "", "Wallets"]], "bittensor.extras.subtensor_api.wallets.Wallets": [[97, 3, 1, "", "does_hotkey_exist"], [97, 3, 1, "", "filter_netuids_by_registered_hotkeys"], [97, 3, 1, "", "get_balance"], [97, 3, 1, "", "get_balances"], [97, 3, 1, "", "get_children"], [97, 3, 1, "", "get_children_pending"], [97, 3, 1, "", "get_delegate_by_hotkey"], [97, 3, 1, "", "get_delegate_take"], [97, 3, 1, "", "get_delegated"], [97, 3, 1, "", "get_hotkey_owner"], [97, 3, 1, "", "get_hotkey_stake"], [97, 3, 1, "", "get_minimum_required_stake"], [97, 3, 1, "", "get_netuids_for_hotkey"], [97, 3, 1, "", "get_owned_hotkeys"], [97, 3, 1, "", "get_parents"], [97, 3, 1, "", "get_stake"], [97, 3, 1, "", "get_stake_add_fee"], [97, 3, 1, "", "get_stake_for_coldkey_and_hotkey"], [97, 3, 1, "", "get_stake_for_hotkey"], [97, 3, 1, "", "get_stake_info_for_coldkey"], [97, 3, 1, "", "get_stake_movement_fee"], [97, 3, 1, "", "get_transfer_fee"], [97, 3, 1, "", "get_unstake_fee"], [97, 3, 1, "", "is_hotkey_delegate"], [97, 3, 1, "", "is_hotkey_registered"], [97, 3, 1, "", "is_hotkey_registered_any"], [97, 3, 1, "", "is_hotkey_registered_on_subnet"], [97, 3, 1, "", "set_children"], [97, 3, 1, "", "transfer"]], "bittensor.extras.timelock": [[98, 5, 1, "", "decrypt"], [98, 5, 1, "", "encrypt"], [98, 5, 1, "", "wait_reveal_and_decrypt"]], "bittensor.utils": [[111, 4, 1, "", "BT_DOCS_LINK"], [111, 1, 1, "", "Certificate"], [111, 4, 1, "", "GLOBAL_MAX_SUBNET_COUNT"], [111, 4, 1, "", "RAOPERTAO"], [111, 4, 1, "", "U16_MAX"], [111, 4, 1, "", "U64_MAX"], [111, 1, 1, "", "UnlockStatus"], [111, 4, 1, "", "VersionCheckError"], [100, 0, 0, "-", "axon_utils"], [101, 0, 0, "-", "balance"], [106, 0, 0, "-", "btlogging"], [111, 4, 1, "", "check_version"], [111, 5, 1, "", "decode_hex_identity_dict"], [111, 5, 1, "", "deprecated_message"], [111, 5, 1, "", "determine_chain_endpoint_and_network"], [109, 0, 0, "-", "easy_imports"], [111, 5, 1, "", "float_to_u64"], [111, 5, 1, "", "format_error_message"], [110, 0, 0, "-", "formatting"], [111, 5, 1, "", "get_caller_name"], [111, 5, 1, "", "get_explorer_url_for_network"], [111, 5, 1, "", "get_function_name"], [111, 5, 1, "", "get_hash"], [111, 5, 1, "", "get_mechid_storage_index"], [111, 5, 1, "", "get_netuid_and_mechid_by_storage_index"], [111, 4, 1, "", "hex_to_bytes"], [111, 4, 1, "", "hex_to_ss58"], [111, 5, 1, "", "is_valid_bittensor_address_or_public_key"], [111, 5, 1, "", "is_valid_ss58_address"], [112, 0, 0, "-", "liquidity"], [111, 4, 1, "", "logging"], [113, 0, 0, "-", "networking"], [115, 0, 0, "-", "registration"], [111, 5, 1, "", "ss58_address_to_bytes"], [111, 4, 1, "", "ss58_decode"], [111, 4, 1, "", "ss58_to_hex"], [111, 5, 1, "", "ss58_to_vec_u8"], [111, 5, 1, "", "strtobool"], [118, 0, 0, "-", "subnets"], [111, 4, 1, "", "torch"], [111, 5, 1, "", "u16_normalized_float"], [111, 5, 1, "", "u64_normalized_float"], [111, 5, 1, "", "unlock_key"], [111, 4, 1, "", "use_torch"], [111, 5, 1, "", "validate_chain_endpoint"], [119, 0, 0, "-", "version"], [120, 0, 0, "-", "weight_utils"]], "bittensor.utils.UnlockStatus": [[111, 3, 1, "", "message"], [111, 3, 1, "", "success"]], "bittensor.utils.axon_utils": [[100, 4, 1, "", "ALLOWED_DELTA"], [100, 4, 1, "", "NANOSECONDS_IN_SECOND"], [100, 5, 1, "", "allowed_nonce_window_ns"], [100, 5, 1, "", "calculate_diff_seconds"]], "bittensor.utils.balance": [[101, 1, 1, "", "Balance"], [101, 1, 1, "", "FixedPoint"], [101, 5, 1, "", "check_balance_amount"], [101, 5, 1, "", "fixed_to_float"], [101, 5, 1, "", "rao"], [101, 5, 1, "", "tao"]], "bittensor.utils.balance.Balance": [[101, 2, 1, "", "from_float"], [101, 2, 1, "", "from_rao"], [101, 2, 1, "", "from_tao"], [101, 2, 1, "", "get_unit"], [101, 3, 1, "", "netuid"], [101, 3, 1, "", "rao"], [101, 3, 1, "", "rao_unit"], [101, 2, 1, "", "set_unit"], [101, 6, 1, "", "tao"], [101, 3, 1, "", "unit"]], "bittensor.utils.balance.FixedPoint": [[101, 3, 1, "", "bits"]], "bittensor.utils.btlogging": [[102, 0, 0, "-", "console"], [103, 0, 0, "-", "defines"], [104, 0, 0, "-", "format"], [105, 0, 0, "-", "helpers"], [107, 0, 0, "-", "levels"], [106, 4, 1, "", "logging"], [108, 0, 0, "-", "loggingmachine"]], "bittensor.utils.btlogging.console": [[102, 1, 1, "", "BittensorConsole"]], "bittensor.utils.btlogging.console.BittensorConsole": [[102, 2, 1, "", "critical"], [102, 2, 1, "", "debug"], [102, 2, 1, "", "error"], [102, 2, 1, "", "info"], [102, 3, 1, "", "logger"], [102, 2, 1, "", "success"], [102, 2, 1, "", "warning"]], "bittensor.utils.btlogging.defines": [[103, 4, 1, "", "BASE_LOG_FORMAT"], [103, 4, 1, "", "BITTENSOR_LOGGER_NAME"], [103, 4, 1, "", "DATE_FORMAT"], [103, 4, 1, "", "DEFAULT_LOG_BACKUP_COUNT"], [103, 4, 1, "", "DEFAULT_LOG_FILE_NAME"], [103, 4, 1, "", "DEFAULT_MAX_ROTATING_LOG_FILE_SIZE"], [103, 4, 1, "", "TRACE_LOG_FORMAT"]], "bittensor.utils.btlogging.format": [[104, 1, 1, "", "BtFileFormatter"], [104, 1, 1, "", "BtStreamFormatter"], [104, 4, 1, "", "DEFAULT_LOG_FORMAT"], [104, 4, 1, "", "DEFAULT_TRACE_FORMAT"], [104, 4, 1, "", "LOG_FORMATS"], [104, 4, 1, "", "LOG_TRACE_FORMATS"], [104, 4, 1, "", "SUCCESS_LEVEL_NUM"], [104, 4, 1, "", "TRACE_LEVEL_NUM"], [104, 4, 1, "", "color_map"], [104, 4, 1, "", "emoji_map"], [104, 4, 1, "", "log_level_color_prefix"]], "bittensor.utils.btlogging.format.BtFileFormatter": [[104, 2, 1, "", "format"], [104, 2, 1, "", "formatTime"]], "bittensor.utils.btlogging.format.BtStreamFormatter": [[104, 2, 1, "", "format"], [104, 2, 1, "", "formatTime"], [104, 2, 1, "", "set_trace"], [104, 3, 1, "", "trace"]], "bittensor.utils.btlogging.helpers": [[105, 5, 1, "", "all_logger_names"], [105, 5, 1, "", "all_loggers"], [105, 5, 1, "", "get_max_logger_name_length"]], "bittensor.utils.btlogging.levels": [[107, 5, 1, "", "debug"], [107, 5, 1, "", "info"], [107, 5, 1, "", "trace"], [107, 5, 1, "", "warning"]], "bittensor.utils.btlogging.loggingmachine": [[108, 4, 1, "", "CUSTOM_LOGGER_METHOD_STACK_LEVEL"], [108, 1, 1, "", "LoggingConfig"], [108, 1, 1, "", "LoggingMachine"]], "bittensor.utils.btlogging.loggingmachine.LoggingConfig": [[108, 3, 1, "", "debug"], [108, 3, 1, "", "info"], [108, 3, 1, "", "logging_dir"], [108, 3, 1, "", "record_log"], [108, 3, 1, "", "trace"]], "bittensor.utils.btlogging.loggingmachine.LoggingMachine": [[108, 3, 1, "", "Debug"], [108, 3, 1, "", "Default"], [108, 3, 1, "", "Disabled"], [108, 3, 1, "", "Info"], [108, 3, 1, "", "Trace"], [108, 3, 1, "", "Warning"], [108, 2, 1, "", "add_args"], [108, 2, 1, "", "after_disable_debug"], [108, 2, 1, "", "after_disable_trace"], [108, 2, 1, "", "after_enable_debug"], [108, 2, 1, "", "after_enable_default"], [108, 2, 1, "", "after_enable_info"], [108, 2, 1, "", "after_enable_trace"], [108, 2, 1, "", "after_enable_warning"], [108, 2, 1, "", "after_transition"], [108, 2, 1, "", "before_disable_debug"], [108, 2, 1, "", "before_disable_logging"], [108, 2, 1, "", "before_disable_trace"], [108, 2, 1, "", "before_enable_console"], [108, 2, 1, "", "before_enable_debug"], [108, 2, 1, "", "before_enable_default"], [108, 2, 1, "", "before_enable_info"], [108, 2, 1, "", "before_enable_trace"], [108, 2, 1, "", "before_enable_warning"], [108, 2, 1, "", "before_transition"], [108, 2, 1, "", "check_config"], [108, 2, 1, "", "config"], [108, 3, 1, "", "console"], [108, 2, 1, "", "critical"], [108, 2, 1, "", "debug"], [108, 2, 1, "", "deregister_primary_logger"], [108, 3, 1, "", "disable_debug"], [108, 3, 1, "", "disable_info"], [108, 3, 1, "", "disable_logging"], [108, 2, 1, "", "disable_third_party_loggers"], [108, 3, 1, "", "disable_trace"], [108, 3, 1, "", "disable_warning"], [108, 3, 1, "", "enable_console"], [108, 3, 1, "", "enable_debug"], [108, 3, 1, "", "enable_default"], [108, 3, 1, "", "enable_info"], [108, 2, 1, "", "enable_third_party_loggers"], [108, 3, 1, "", "enable_trace"], [108, 3, 1, "", "enable_warning"], [108, 2, 1, "", "error"], [108, 2, 1, "", "exception"], [108, 2, 1, "", "get_config"], [108, 2, 1, "", "get_level"], [108, 2, 1, "", "get_queue"], [108, 2, 1, "", "help"], [108, 2, 1, "", "info"], [108, 2, 1, "", "off"], [108, 2, 1, "", "on"], [108, 2, 1, "", "register_primary_logger"], [108, 2, 1, "", "setLevel"], [108, 2, 1, "", "set_config"], [108, 2, 1, "", "set_console"], [108, 2, 1, "", "set_debug"], [108, 2, 1, "", "set_default"], [108, 2, 1, "", "set_info"], [108, 2, 1, "", "set_trace"], [108, 2, 1, "", "set_warning"], [108, 2, 1, "", "success"], [108, 2, 1, "", "trace"], [108, 2, 1, "", "warning"]], "bittensor.utils.formatting": [[110, 5, 1, "", "get_human_readable"], [110, 5, 1, "", "millify"]], "bittensor.utils.liquidity": [[112, 1, 1, "", "LiquidityPosition"], [112, 4, 1, "", "MAX_TICK"], [112, 4, 1, "", "MIN_TICK"], [112, 4, 1, "", "PRICE_STEP"], [112, 5, 1, "", "calculate_fees"], [112, 5, 1, "", "get_fees"], [112, 5, 1, "", "get_fees_in_range"], [112, 5, 1, "", "price_to_tick"], [112, 5, 1, "", "tick_to_price"]], "bittensor.utils.liquidity.LiquidityPosition": [[112, 3, 1, "", "fees_alpha"], [112, 3, 1, "", "fees_tao"], [112, 3, 1, "", "id"], [112, 3, 1, "", "liquidity"], [112, 3, 1, "", "netuid"], [112, 3, 1, "", "price_high"], [112, 3, 1, "", "price_low"], [112, 2, 1, "", "to_token_amounts"]], "bittensor.utils.networking": [[113, 7, 1, "", "ExternalIPNotFound"], [113, 5, 1, "", "get_external_ip"], [113, 5, 1, "", "get_formatted_ws_endpoint_url"], [113, 5, 1, "", "int_to_ip"], [113, 5, 1, "", "ip__str__"], [113, 5, 1, "", "ip_to_int"], [113, 5, 1, "", "ip_version"]], "bittensor.utils.registration": [[114, 0, 0, "-", "async_pow"], [116, 0, 0, "-", "pow"], [117, 0, 0, "-", "register_cuda"]], "bittensor.utils.registration.async_pow": [[114, 5, 1, "", "create_pow_async"]], "bittensor.utils.registration.pow": [[116, 1, 1, "", "CUDASolver"], [116, 1, 1, "", "Console"], [116, 1, 1, "", "LazyLoadedTorch"], [116, 1, 1, "", "POWSolution"], [116, 1, 1, "", "RegistrationStatistics"], [116, 1, 1, "", "RegistrationStatisticsLogger"], [116, 1, 1, "", "Solver"], [116, 1, 1, "", "Status"], [116, 1, 1, "", "UsingSpawnStartMethod"], [116, 5, 1, "", "create_pow"], [116, 5, 1, "", "get_cpu_count"], [116, 5, 1, "", "legacy_torch_api_compat"], [116, 5, 1, "", "log_no_torch_error"], [116, 5, 1, "", "terminate_workers_and_wait_for_exit"], [116, 4, 1, "", "torch"], [116, 5, 1, "", "update_curr_block"], [116, 5, 1, "", "use_torch"]], "bittensor.utils.registration.pow.CUDASolver": [[116, 3, 1, "", "dev_id"], [116, 2, 1, "", "run"], [116, 3, 1, "", "tpb"]], "bittensor.utils.registration.pow.Console": [[116, 2, 1, "", "log"], [116, 2, 1, "", "status"]], "bittensor.utils.registration.pow.POWSolution": [[116, 3, 1, "", "block_number"], [116, 3, 1, "", "difficulty"], [116, 2, 1, "", "is_stale"], [116, 2, 1, "", "is_stale_async"], [116, 3, 1, "", "nonce"], [116, 3, 1, "", "seal"]], "bittensor.utils.registration.pow.RegistrationStatistics": [[116, 3, 1, "", "block_hash"], [116, 3, 1, "", "block_number"], [116, 3, 1, "", "difficulty"], [116, 3, 1, "", "hash_rate"], [116, 3, 1, "", "hash_rate_perpetual"], [116, 3, 1, "", "rounds_total"], [116, 3, 1, "", "time_average"], [116, 3, 1, "", "time_spent"], [116, 3, 1, "", "time_spent_total"]], "bittensor.utils.registration.pow.RegistrationStatisticsLogger": [[116, 3, 1, "", "console"], [116, 2, 1, "", "get_status_message"], [116, 2, 1, "", "start"], [116, 3, 1, "", "status"], [116, 2, 1, "", "stop"], [116, 2, 1, "", "update"]], "bittensor.utils.registration.pow.Solver": [[116, 2, 1, "", "run"]], "bittensor.utils.registration.pow.Status": [[116, 2, 1, "", "start"], [116, 2, 1, "", "stop"], [116, 2, 1, "", "update"]], "bittensor.utils.registration.register_cuda": [[117, 5, 1, "", "log_cuda_errors"], [117, 5, 1, "", "reset_cuda"], [117, 5, 1, "", "solve_cuda"]], "bittensor.utils.subnets": [[118, 1, 1, "", "SubnetsAPI"]], "bittensor.utils.subnets.SubnetsAPI": [[118, 3, 1, "", "dendrite"], [118, 2, 1, "", "prepare_synapse"], [118, 2, 1, "", "process_responses"], [118, 2, 1, "", "query_api"], [118, 3, 1, "", "wallet"]], "bittensor.utils.version": [[119, 4, 1, "", "VERSION_CHECK_THRESHOLD"], [119, 7, 1, "", "VersionCheckError"], [119, 5, 1, "", "check_latest_version_in_pypi"], [119, 5, 1, "", "check_version"], [119, 5, 1, "", "get_and_save_latest_version"]], "bittensor.utils.weight_utils": [[120, 4, 1, "", "U16_MAX"], [120, 4, 1, "", "U32_MAX"], [120, 5, 1, "", "convert_and_normalize_weights_and_uids"], [120, 5, 1, "", "convert_bond_uids_and_vals_to_tensor"], [120, 5, 1, "", "convert_maybe_split_to_u16"], [120, 5, 1, "", "convert_root_weight_uids_and_vals_to_tensor"], [120, 5, 1, "", "convert_uids_and_weights"], [120, 5, 1, "", "convert_weight_uids_and_vals_to_tensor"], [120, 5, 1, "", "convert_weights_and_uids_for_emit"], [120, 5, 1, "", "generate_weight_hash"], [120, 5, 1, "", "normalize_max_weight"], [120, 5, 1, "", "process_weights"], [120, 5, 1, "", "process_weights_for_netuid"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "data", "Python data"], "5": ["py", "function", "Python function"], "6": ["py", "property", "Python property"], "7": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:data", "5": "py:function", "6": "py:property", "7": "py:exception"}, "terms": {"": [0, 3, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 77, 83, 101, 103, 104, 105, 111, 114, 116, 118, 120], "0": [0, 1, 9, 24, 29, 30, 32, 33, 35, 38, 44, 58, 60, 61, 63, 66, 70, 71, 73, 74, 77, 90, 98, 100, 101, 111, 113, 114, 116, 117, 120], "000005000": 101, "0001": 112, "005": [29, 33, 38, 44, 61, 66, 73], "05": [38, 66], "0x0813029319030129u4120u10841824y0182u091u230912u": 74, "0xd43593c715fdd31c": 77, "0\u03b2": 77, "1": [0, 9, 21, 35, 63, 70, 73, 74, 75, 76, 77, 98, 108, 111, 112, 117, 120, 121], "10": [9, 21, 24, 74, 98, 101, 103], "100": 73, "1000": [3, 4], "1000000000": [100, 111], "1024": 0, "11": [9, 21], "111": 74, "111111": 74, "113": 0, "11ee": 74, "12": [9, 21, 24, 71, 73, 98, 118], "120": 73, "1200": 70, "122": [32, 60], "123": [70, 73, 74, 98], "1234": 73, "12345": 70, "127": 74, "128": [32, 60, 101], "13": [9, 21], "137": 104, "14": [9, 21, 73, 101], "147": 73, "15": [9, 21, 74, 98, 119], "152": 73, "16": [9, 21, 73], "17": 9, "18": [9, 71], "18446744073709551615": 111, "19": 9, "192": [0, 32, 60], "198": 74, "1cec": 74, "2": [0, 9, 21, 35, 63, 70, 73, 74, 75, 77, 101, 104, 108, 111], "20": 9, "200": 74, "203": 0, "21": [9, 104], "22": 9, "23": [9, 74], "24": 9, "25": [9, 98], "256": [30, 58, 73, 74, 114, 116], "26": 9, "26214400": 103, "27": 9, "28": 9, "29": 9, "3": [9, 21, 30, 35, 58, 63, 73, 74, 77, 98, 104, 108, 113, 116], "30": [9, 74], "300": [70, 111], "31": [9, 32, 60], "32": [9, 114, 116], "325": [79, 80, 81], "33": 9, "3339": 104, "34": [9, 104], "35": 9, "36": 9, "360": 73, "37": 9, "38": [9, 113], "39": 9, "3rd": 108, "4": [1, 9, 21, 32, 40, 60, 68, 73, 74, 77, 113], "40": 9, "400": 0, "4000000000": 100, "401": 74, "4028237e": 113, "403": 74, "408": 74, "4096": 111, "41": 9, "42": 9, "422": 24, "4294967295": 120, "43": 9, "44": 9, "443": 71, "45": 9, "46": 9, "47": 9, "48": [9, 71], "49": 9, "5": [9, 21, 25, 29, 33, 38, 44, 61, 66, 73, 77, 90, 98, 101, 104], "50": 9, "5000": 101, "51": 9, "52": 9, "53": 9, "54": 9, "55": 9, "56": 9, "57": 9, "58": 9, "59": 9, "5ecbd69c": 74, "5enjdgnqqwnul2hcadxeetn2oqtxzw6bmbe936kfy2pfz1j1": 74, "5fhnew46xgxgs5muiveu4sbtygbzmstuspzc92uhjjm694ti": 73, "5grwvaef5zxb26fz9rcqpdws57cterhpnehxcpcnohgkutqi": 73, "6": [9, 21, 70, 113], "60": 9, "61": 9, "62": 9, "63": 9, "64": [9, 101, 117], "65": 9, "65535": [0, 111, 120], "66": 9, "67": 9, "68": 9, "69": 9, "7": [9, 21], "70": 9, "7002000": 0, "7070": 0, "71": 9, "72": 9, "73": 9, "8": [9, 21, 73, 74, 111], "8080": 74, "86400": 119, "887272": 112, "9": [9, 21, 101], "9090": 0, "9221": [32, 60], "9282": 74, "9944": 71, "9945": 90, "A": [0, 1, 10, 11, 15, 17, 21, 22, 24, 25, 26, 30, 32, 41, 58, 60, 67, 70, 72, 73, 74, 76, 77, 98, 100, 101, 104, 108, 111, 116], "AS": 70, "Being": 73, "But": 24, "By": [0, 73, 74], "For": [24, 35, 38, 63, 66, 70, 73, 74, 75, 77, 78, 79, 81, 98], "If": [0, 1, 5, 21, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 73, 74, 75, 76, 77, 90, 96, 98, 100, 101, 104, 107, 111, 114, 116, 120], "In": [24, 33, 38, 61, 66, 70, 73, 74, 78, 113], "It": [0, 15, 24, 32, 60, 70, 72, 73, 74, 76, 77, 98, 101, 105, 106, 108, 109, 116], "Its": [35, 63], "Not": 74, "Of": 113, "Or": [77, 111], "The": [0, 1, 8, 10, 11, 12, 14, 15, 16, 17, 21, 22, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 78, 79, 81, 85, 90, 98, 100, 101, 104, 105, 109, 111, 112, 113, 114, 116, 117, 118, 119, 120], "Then": 73, "There": [26, 41], "These": [0, 70, 73, 74, 78, 79, 81, 85, 120], "To": [73, 101, 108], "Will": [73, 90], "With": 73, "__init__": 109, "__repr__": 24, "__setattr__": 74, "__str__": [24, 111], "_base": 76, "_mock": 77, "_primary_logg": 108, "_solverbas": 116, "abc": [70, 72, 77, 118], "abil": [0, 70, 102], "abl": 24, "about": [0, 1, 14, 33, 61, 70, 73, 74, 77], "abov": [24, 37, 65, 104, 112], "absolut": 24, "abstract": [24, 70, 72, 118], "abus": 0, "accept": [0, 76, 101, 108], "access": [0, 24, 70, 73, 74, 90, 109, 120], "access_list": 79, "accord": [0, 32, 60, 72, 74], "accordingli": 77, "account": [21, 25, 33, 37, 55, 61, 65, 73, 79, 120], "account_id": 77, "account_id_byt": 21, "accountid": [14, 21, 22], "accru": 70, "accrual": 73, "accumul": [70, 72], "accur": [23, 25, 70, 74, 75, 76, 77, 78, 101, 111, 113, 119], "achiev": 70, "aclose_sess": 24, "across": [35, 63, 67, 70, 73, 74, 101, 116], "act": [0, 15, 24, 70, 73, 78], "action": [36, 64, 73, 108], "activ": [0, 9, 10, 11, 17, 20, 24, 30, 33, 35, 61, 63, 70, 73, 105, 118], "activate_subnet": 84, "activatesubnet": 84, "activity_cutoff": [9, 17, 81], "activitycutoff": 9, "actual": [0, 32, 60, 73], "ad": [0, 28, 43, 73, 77, 90, 96, 104, 108], "adapt": [0, 70], "add": [0, 28, 33, 43, 61, 73, 74, 77, 79, 104, 108, 120], "add_arg": [0, 23, 76, 77, 90, 108], "add_legacy_method": 96, "add_liquid": [47, 73, 79, 89], "add_liquidity_extrins": [28, 43], "add_memb": 79, "add_proxi": 79, "add_stak": [52, 73, 77, 79, 89, 94], "add_stake_extrins": [33, 61, 77], "add_stake_limit": [52, 79], "add_stake_multipl": [73, 89, 94], "add_stake_multiple_extrins": [33, 61], "addit": [2, 3, 18, 30, 49, 58, 70, 72, 73, 74, 78, 79, 81, 120], "addition": [0, 74], "additional_data": 74, "addon": 85, "address": [0, 1, 3, 8, 12, 16, 21, 22, 24, 26, 29, 33, 36, 37, 38, 41, 44, 61, 64, 65, 66, 67, 70, 73, 74, 79, 111, 120], "adher": 24, "adjust": [17, 73], "adjust_sen": 79, "adjustment_alpha": [9, 17, 81], "adjustment_interv": [9, 17, 81], "adjustmentalpha": 9, "adjustmentinterv": 9, "admin": [35, 63, 73], "adminfreezewindow": 73, "adminutil": [39, 67, 73, 80], "advanc": [73, 85], "adversari": 0, "advis": [0, 24], "after": [0, 14, 17, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 76, 79, 90, 98, 108, 116, 120], "after_disable_debug": 108, "after_disable_trac": 108, "after_enable_debug": 108, "after_enable_default": 108, "after_enable_info": 108, "after_enable_trac": 108, "after_enable_warn": 108, "after_transit": 108, "ag": 98, "against": [0, 29, 44, 73, 77], "aggreg": 73, "agre": 70, "agreement": 70, "ai": [70, 71], "aid": [73, 74], "aiohttp": [24, 72], "akin": 70, "algorithm": [0, 32, 60, 70, 73], "alic": [73, 77], "alice_wallet": 77, "align": [17, 70, 73], "aliv": [37, 65, 73], "all": [0, 24, 25, 29, 33, 37, 38, 44, 55, 61, 65, 66, 67, 70, 73, 76, 77, 90, 96, 105, 108, 113, 116], "all_hotkei": 73, "all_indic": 9, "all_logg": 105, "all_logger_nam": 105, "all_mechan": 73, "all_netuid": 73, "all_stak": 67, "all_subnet": [73, 95], "alloc": [70, 73], "allow": [0, 3, 4, 17, 26, 28, 29, 33, 38, 41, 43, 44, 61, 66, 70, 72, 73, 74, 75, 77, 100, 101, 104, 120], "allow_non": 101, "allow_parti": 79, "allow_partial_stak": [29, 33, 38, 44, 48, 52, 56, 61, 66, 73], "allowed_delta": 100, "allowed_nonce_window_n": 100, "along": [30, 58, 77, 98], "alpha": [5, 15, 17, 28, 38, 43, 66, 70, 73, 77, 81, 101, 112], "alpha_amount": [15, 79], "alpha_dividends_per_hotkei": [9, 70], "alpha_fe": 15, "alpha_fees_above_high": 112, "alpha_fees_below_low": 112, "alpha_high": [9, 17, 81], "alpha_in": [5, 9], "alpha_in_emiss": [5, 9], "alpha_low": [9, 17, 81], "alpha_out": [5, 9], "alpha_out_emiss": [5, 9], "alpha_sigmoid_steep": 17, "alpha_slippag": 5, "alpha_stak": [9, 20, 70], "alpha_to_tao": 5, "alpha_to_tao_with_slippag": 5, "alphadividendsperhotkei": 9, "alphahigh": 9, "alphain": 9, "alphainemiss": 9, "alphalow": 9, "alphaout": 9, "alphaoutemiss": 9, "alphastak": 9, "alreadi": [0, 114, 116, 120], "also": [0, 24, 72, 73, 74, 77, 100, 108], "alter": 0, "altern": 85, "although": 78, "alwai": [33, 61, 73, 85, 101], "among": [70, 73], "amount": [3, 5, 10, 11, 15, 25, 28, 29, 33, 35, 37, 38, 43, 44, 48, 52, 55, 56, 61, 63, 65, 66, 67, 70, 73, 79, 90, 98, 101, 112], "amount_stak": 79, "amount_unstak": 79, "an": [0, 1, 5, 10, 15, 21, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 84, 101, 104, 105, 108, 111, 112, 113], "analogi": 24, "analys": 70, "analysi": [70, 73, 74, 77], "analyz": [70, 73], "ani": [0, 1, 7, 8, 23, 24, 25, 30, 58, 70, 72, 73, 74, 75, 77, 78, 79, 81, 87, 98, 111, 112, 117, 118], "announc": 79, "anoth": [23, 29, 44, 70, 73, 77], "any_list": 7, "anyth": 111, "api": [0, 73, 90, 109, 111, 116, 118, 122], "app": [0, 71], "appear": 98, "appli": [0, 9, 74, 104, 120], "applic": [0, 24, 70, 72, 73, 74, 85, 90, 105], "apply_authorized_upgrad": 79, "approach": 73, "appropri": [0, 24, 70, 72, 73, 77, 101], "approv": 79, "approve_as_multi": 79, "aqueri": 24, "ar": [0, 17, 23, 24, 25, 26, 40, 41, 67, 68, 70, 73, 74, 75, 76, 77, 78, 79, 81, 85, 90, 98, 105, 109, 111, 120], "arbitr": 14, "arbitrari": [24, 73, 77], "arbitration_block": 14, "architectur": [0, 70, 73], "archiv": [70, 71, 73, 77, 90, 111], "archive_endpoint": [73, 90], "archive_entrypoint": 71, "arg": [23, 24, 75, 76, 104, 108, 111, 118], "argpars": [0, 23, 76, 77, 108], "argument": [0, 23, 70, 72, 74, 75, 76, 77, 78, 79, 81, 96, 101, 104, 108, 111, 118], "argumentpars": [0, 23, 76, 77, 108], "aris": 0, "arithmet": 101, "arrai": [40, 68, 70, 73, 75, 116, 120], "as_deriv": 79, "as_dict": 77, "as_multi": 79, "as_multi_threshold_1": 79, "as_origin": 79, "asctim": [103, 104], "asgi": 72, "aspect": [0, 70, 73, 74], "assert": [0, 98], "assertionerror": 0, "assess": [0, 70, 73], "asset": 70, "assign": [0, 30, 58, 70, 73, 74], "assist": 73, "associ": [0, 1, 5, 8, 10, 11, 12, 15, 16, 20, 24, 25, 29, 38, 44, 66, 67, 70, 73, 74, 76, 108, 120], "associate_evm_kei": 79, "assum": [0, 70, 101], "assur": 0, "asymmetr": 0, "async": [0, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 70, 72, 83, 90, 114, 116, 118], "async_execute_on": 83, "async_execute_step": 83, "async_metagraph": 70, "async_pow": [115, 121], "async_set_hyperparamet": 83, "async_substr": 77, "async_substrate_interfac": [21, 73, 77], "async_subtensor": [23, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 70, 73, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 114, 116], "async_wait_next_epoch": 83, "asyncex": [42, 121], "asyncextrinsicreceipt": 77, "asyncgener": 24, "asynchron": [0, 24, 30, 70, 72, 83, 116], "asyncio": 24, "asyncmetagraph": 70, "asyncsubtensor": [26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 61, 70, 73, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 114, 116], "attach": [0, 74], "attack": 0, "attain": 113, "attempt": [25, 26, 30, 33, 38, 41, 58, 61, 66, 70, 73, 74, 111, 113], "attribut": [3, 10, 73, 74], "augment": 85, "authent": [0, 32, 60, 70, 74, 77], "author": [29, 44, 70, 73], "authorization_list": 79, "authorize_upgrad": 79, "authorize_upgrade_without_check": 79, "auto": [73, 78, 79, 81, 121], "autoapi": 121, "automat": [24, 33, 61, 70, 73, 74, 90], "auxiliari": 78, "avail": [0, 73, 77, 78, 90], "averag": [17, 116], "avoid": 73, "aw": 113, "await": [24, 70, 72, 73, 90], "axon": [1, 9, 10, 11, 23, 24, 25, 32, 60, 69, 70, 73, 74, 118, 121], "axon_hotkei": 74, "axon_info": [6, 9, 10, 11, 121], "axon_util": [111, 121], "axoninfo": [0, 1, 9, 10, 11, 21, 24, 70], "axonmiddlewar": 0, "axonserv": 0, "axonservecallparam": [51, 77], "ay": 13, "b": 70, "b0dc": 74, "b64decod": 74, "back": [0, 24, 28, 43, 72, 73, 74, 98], "backbon": 70, "background": 0, "backward": 0, "balanc": [3, 4, 5, 9, 10, 11, 15, 16, 19, 20, 21, 25, 28, 29, 33, 37, 38, 43, 44, 47, 48, 52, 55, 56, 61, 65, 66, 67, 73, 77, 80, 90, 111, 112, 121], "balance_wallet_default": 101, "balance_wallet_secret": 101, "balancetypeerror": [25, 101], "balanceunitmismatcherror": 25, "bandwidth": 74, "base": [0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 70, 72, 73, 74, 75, 76, 77, 79, 81, 83, 98, 101, 104, 108, 111, 113, 116, 118, 119, 120], "base64": [21, 74], "base_log_format": 103, "baseclass": 70, "basefe": 80, "basehttpmiddlewar": 0, "basemodel": [24, 72, 74, 75], "basic": [10, 70, 74], "batch": [73, 79], "batch_al": 79, "batch_commit_weight": 79, "batch_reveal_weight": 79, "batch_set_weight": 79, "becaus": 74, "becom": [30, 73], "been": [0, 24, 72, 74, 76], "befor": [0, 14, 24, 73, 108, 114, 116, 117], "before_disable_debug": 108, "before_disable_log": 108, "before_disable_trac": 108, "before_enable_consol": 108, "before_enable_debug": 108, "before_enable_default": 108, "before_enable_info": 108, "before_enable_trac": 108, "before_enable_warn": 108, "before_transit": 108, "begin": [0, 73], "behavior": [0, 70, 73, 74, 77, 85, 101], "being": [0, 4, 21, 28, 32, 34, 40, 43, 60, 62, 68, 72, 73, 108, 116], "belief": 70, "belong": [33, 61, 73], "below": 73, "benefici": 70, "benefit": [24, 70], "bespok": 118, "best_finalized_block_numb": 79, "bet": [33, 61, 73], "between": [0, 5, 25, 30, 35, 44, 58, 63, 70, 73, 74, 100, 101, 108, 112, 120], "beyond": 70, "bind": 0, "bit": 101, "bittensor": 121, "bittensor_logger_nam": [103, 108], "bittensor_wallet": [0, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 73, 77, 83, 84, 111, 114, 116, 118], "bittensorconsol": 102, "blacklist": [0, 25, 74], "blacklist_custom": 0, "blacklist_fn": 0, "blacklist_my_synaps": 0, "blacklist_my_synapse_2": 0, "blacklistedexcept": 25, "blake256": [32, 60], "block": [0, 9, 12, 14, 17, 21, 22, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 73, 77, 79, 83, 90, 98, 111, 114, 116, 117], "block_and_hotkey_hash_byt": 117, "block_at_registr": [9, 20, 70], "block_byt": 116, "block_hash": [73, 111, 116], "block_numb": [49, 79, 116], "block_tim": [40, 68, 73, 98], "blockatregistr": 9, "blockchain": [26, 28, 29, 30, 31, 32, 34, 40, 41, 43, 44, 58, 59, 60, 62, 68, 70, 73, 77, 120], "blockinfo": [73, 77], "blocknotfound": 25, "blocks_since_epoch": 19, "blocks_since_last_step": [5, 9, 70, 73, 95], "blocks_since_last_upd": [73, 95], "blocks_until_rev": 73, "blockssincelaststep": 9, "blocktim": 71, "blueprint": 78, "bob": 73, "bodi": [0, 24, 72, 73, 74], "body_hash": 74, "bond": [10, 11, 17, 32, 60, 70, 73, 90, 95, 120], "bonds_as_dict": 10, "bonds_moving_averag": 81, "bonds_moving_avg": [9, 17], "bonds_penalti": 81, "bonds_reset_en": 17, "bondsmovingavg": 9, "bool": [0, 1, 5, 9, 10, 11, 16, 17, 20, 21, 23, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 47, 48, 52, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 73, 74, 75, 77, 83, 90, 98, 101, 104, 107, 108, 111, 112, 114, 116, 118], "boolean": [0, 28, 43, 70, 73, 111], "both": [0, 15, 73, 77, 108, 111, 120], "bound": [28, 43, 73], "brain": 24, "bridg": 24, "broadcast": 0, "broader": [0, 109], "broken": 25, "brokenexecutor": 76, "brokenthreadpool": 76, "bt": [0, 23, 73, 77, 90, 98], "bt_docs_link": 111, "bt_header_axon_address": 74, "bt_header_dendrite_port": 74, "btfileformatt": 104, "btlog": [111, 121], "btstreamformatt": 104, "btstreamingrespons": 72, "btstreamingresponsemodel": 72, "buffer": [24, 75, 111], "build": [24, 78, 79, 81], "built": [78, 79, 81], "bulk": 73, "burn": [9, 17, 19, 73, 79, 81], "burn_alpha": 79, "burned_regist": [49, 73, 79, 89, 95], "burned_register_extrins": [30, 58], "busi": 77, "byte": [11, 21, 32, 57, 60, 73, 74, 77, 79, 98, 111, 116, 117, 120], "byte_data": 98, "bytes_or_buff": 111, "c": 70, "calcul": [0, 17, 35, 63, 70, 73, 74, 100, 105, 112, 116], "calculate_diff_second": 100, "calculate_fe": 112, "call": [0, 17, 24, 28, 33, 34, 36, 38, 39, 43, 55, 61, 62, 64, 66, 67, 72, 73, 74, 76, 77, 82, 83, 108, 121], "call_definit": 73, "call_funct": [39, 67, 73, 83], "call_hash": 79, "call_modul": [39, 67, 73, 83], "call_next": 0, "call_param": [39, 67, 73, 83], "call_record": 83, "call_stream": 24, "callabl": [0, 72, 76], "caller": [0, 33, 38, 61, 66, 101, 111], "calling_funct": 73, "can": [0, 8, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 76, 77, 78, 85, 98, 116, 120], "cancel": [76, 79], "cancel_as_multi": 79, "cancel_futur": 76, "cancel_nam": 79, "cancel_retri": 79, "cancel_retry_nam": 79, "cannot": [25, 72, 74, 75, 113], "cap": 79, "capabl": 0, "captur": [70, 77], "carrier": 74, "case": [0, 24, 73, 85, 90], "cast": 75, "cast_dtyp": 75, "cast_float": 74, "cast_int": 74, "cast_shap": 75, "categori": [74, 78], "caught": [24, 111], "ceas": 0, "center": 104, "central": [0, 70, 109], "certain": [0, 73, 116], "certif": [0, 32, 51, 60, 73, 77, 79, 111], "chain": [0, 2, 9, 16, 21, 25, 30, 32, 33, 40, 58, 60, 61, 68, 71, 73, 77, 83, 90, 111, 120, 121], "chain_data": [0, 24, 48, 52, 56, 67, 69, 70, 73, 121], "chain_endpoint": [70, 77, 90, 111], "chain_id": 81, "chain_ident": [6, 9, 73, 121], "chainconnectionerror": 25, "chaindatatyp": 21, "chainerror": 25, "chainident": [2, 9, 21, 70, 73], "chainqueryerror": 25, "chaintransactionerror": 25, "challeng": [73, 114, 116], "chang": [38, 44, 66, 73, 78, 79, 81, 102, 104], "change_kei": 79, "characterist": 73, "charg": 77, "check": [0, 23, 24, 29, 33, 38, 44, 61, 66, 73, 74, 77, 84, 111, 113, 114, 116, 119], "check_balance_amount": 101, "check_block": 116, "check_config": [0, 108], "check_latest_version_in_pypi": 119, "check_vers": [111, 119], "child": [25, 26, 41, 73], "childkei": [25, 73], "children": [25, 27, 42, 46, 73, 79, 121], "childrenparam": 45, "choic": 111, "chr_transform": 9, "chunk": [24, 72], "claim": [0, 36, 64, 73], "clariti": 109, "class": [25, 30, 58, 98, 109], "classic": 96, "classmethod": [0, 1, 7, 8, 10, 13, 14, 15, 16, 22, 25, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 74, 76, 77, 90, 108, 116], "classvar": 74, "clean": 76, "cleaner": 109, "cleanup": 24, "clear": 72, "clear_ident": 79, "clear_prim": 79, "cli": 73, "client": [0, 24, 26, 28, 34, 41, 43, 62, 72], "clientrespons": [24, 72], "clientsess": 24, "close": [24, 73, 79, 90], "close_sess": 24, "closur": 24, "code": [0, 24, 74, 79], "code_hash": 79, "codebas": 85, "cold": [14, 90], "coldkei": [1, 3, 4, 9, 10, 11, 16, 20, 25, 26, 29, 33, 38, 39, 41, 44, 61, 66, 67, 70, 73, 77, 79, 97, 111], "coldkey_ss58": [16, 49, 51, 73], "coldkeypub": [0, 73], "collabor": [70, 73], "collat": 24, "collect": [23, 67, 70, 73, 78], "color": 104, "color_map": 104, "com": 111, "combin": [67, 112], "come": 0, "command": [0, 77, 78, 79, 81, 84], "commit": [9, 17, 21, 22, 25, 40, 68, 73, 79, 80, 90, 120, 121], "commit_block": [22, 73], "commit_crv3_mechanism_weight": 79, "commit_data": 22, "commit_for_rev": 57, "commit_hash": [57, 79], "commit_hex": 22, "commit_mechanism_weight": [57, 79], "commit_messag": 73, "commit_reveal_en": [73, 87, 95], "commit_reveal_period": [9, 17], "commit_reveal_vers": [40, 57, 68, 73, 79], "commit_reveal_weights_en": [9, 17], "commit_timelocked_mechanism_weight": [57, 79], "commit_timelocked_weight": 79, "commit_timelocked_weights_extrins": [40, 68], "commit_weight": [73, 79, 89], "commit_weights_extrins": [40, 68], "commitrevealperiod": 9, "commitrevealweightsen": 9, "committ": [22, 73], "committe": 73, "common": [3, 24, 25, 33, 38, 61, 66], "commun": [0, 70, 73, 74, 109, 118], "compar": [0, 67], "comparison": [0, 101], "compat": [40, 68, 73, 74, 109], "complet": [0, 24, 70, 73, 76], "complex": [0, 70, 73, 74], "compon": [0, 70, 73, 85, 111], "compos": [73, 78], "compose_cal": [73, 90], "composit": 73, "comprehend": 73, "comprehens": 73, "compress": 74, "comput": [70, 73, 74, 111], "computed_body_hash": 74, "concaten": 74, "concept": 70, "concern": 0, "concurr": [0, 24, 70, 76], "condit": [0, 73], "confid": 0, "config": [0, 69, 70, 72, 73, 74, 75, 76, 77, 90, 108, 121], "config_payload": 79, "configdict": [72, 74, 75], "configur": [0, 23, 70, 72, 73, 74, 75, 77, 90, 108], "confirm": 0, "conflict": 0, "conform": [72, 73, 74, 75], "congest": 73, "connect": [0, 24, 25, 32, 33, 60, 61, 70, 73, 74, 77, 90], "connection_requir": 19, "consensu": [9, 10, 11, 20, 70, 73], "conserv": 73, "consist": [70, 73, 74, 77, 101, 106], "consol": [30, 58, 73, 106, 108, 114, 116, 121], "consolid": 109, "constant": [17, 73, 103, 109], "constant_nam": 73, "constantli": 70, "constrain": 74, "constraint": 120, "construct": [23, 70, 74, 78], "contact": [30, 58, 73], "contain": [0, 1, 3, 10, 15, 21, 22, 24, 29, 33, 38, 44, 61, 66, 67, 70, 72, 73, 74, 77, 85, 98, 100, 111, 116, 120, 121], "context": [0, 15, 24, 70, 73, 74, 77], "continu": [0, 70], "contribut": [0, 70, 73, 79], "control": [0, 73, 74], "conveni": [15, 74, 78, 79, 81], "convers": [74, 112, 120], "convert": [0, 1, 15, 17, 21, 74, 98, 101, 110, 111, 112, 116, 120], "convert_and_normalize_weights_and_uid": 120, "convert_bond_uids_and_vals_to_tensor": 120, "convert_maybe_split_to_u16": 120, "convert_root_weight_uids_and_vals_to_tensor": 120, "convert_uids_and_weight": 120, "convert_weight_uids_and_vals_to_tensor": 120, "convert_weights_and_uids_for_emit": 120, "cool": 73, "cooldown": [26, 41, 45, 73, 79], "copi": [70, 77], "core": [83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 99, 108, 114, 116, 118, 120, 121], "cornerston": [0, 74], "correct": [0, 70, 74], "correctli": [0, 70, 101], "correl": 73, "correspond": [0, 21, 24, 33, 38, 40, 61, 66, 67, 68, 70, 73, 77, 78, 117, 120], "corrupt": 111, "cortex": 98, "cost": 73, "count": 4, "counterpart": 24, "cover": [24, 70, 73], "cpu": [114, 116], "creat": [0, 1, 8, 10, 15, 22, 24, 70, 72, 73, 74, 75, 77, 79, 101, 111, 114, 116, 121], "create2": 79, "create_error_respons": 0, "create_pow": 116, "create_pow_async": 114, "create_pur": 79, "create_streaming_respons": 72, "creation": [0, 74, 78], "credit": [28, 43, 73], "criteria": 0, "critic": [0, 30, 70, 73, 74, 85, 102, 108], "crowdloan": 80, "crowdloan_id": 79, "crucial": [0, 24, 70, 73, 74], "crv3weightcommitsv2": 22, "crv4": 73, "cryptocurr": 70, "cryptograph": [0, 70, 73], "cuda": [30, 58, 73, 114, 116, 117], "cudasolv": 116, "cumul": 70, "curl": 113, "curr_block": 116, "curr_block_num": 116, "curr_diff": 116, "currenc": 101, "current": [0, 5, 70, 73, 74, 78, 79, 81, 90, 100, 111, 112, 116, 119], "current_block": 70, "current_subnet_pric": 112, "current_tick": 112, "current_tim": 100, "current_time_n": 100, "custom": [0, 6, 70, 73, 74, 85, 98, 104, 106], "custom_logger_method_stack_level": 108, "custom_synaps": 74, "customiz": 0, "customsynaps": 74, "cutoff": 17, "d": [24, 70, 75, 77, 103], "dai": [3, 4], "data": [0, 1, 5, 6, 9, 12, 13, 15, 16, 20, 21, 22, 24, 26, 32, 33, 38, 41, 60, 61, 66, 67, 70, 72, 73, 74, 75, 77, 98, 111, 116, 120], "data_typ": [32, 60], "dataclass": [2, 3, 4, 5, 7, 8, 9, 11, 12, 14, 16, 18, 19, 20, 73, 98], "date": [26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 104, 119], "date_format": 103, "datefmt": 104, "datetim": 73, "de": 108, "deal": 0, "debug": [74, 77, 102, 107, 108], "decai": 17, "deceiv": 0, "decentr": [0, 70, 73, 74], "decis": [70, 73], "decod": [0, 1, 5, 6, 7, 9, 11, 14, 16, 20, 21, 22, 26, 41, 73, 74, 77, 98, 111], "decode_account_id": 21, "decode_account_id_list": 14, "decode_block": 21, "decode_hex_identity_dict": 111, "decode_metadata": 21, "decode_revealed_commit": 21, "decode_revealed_commitment_with_hotkei": 21, "decor": 116, "decreas": [25, 38, 66, 73], "decrease_tak": [36, 54, 64, 79], "decrypt": [26, 41, 73, 98, 111], "decrypted_data": 98, "deep": 77, "deepcopi": 70, "deeper": 73, "def": [0, 74], "default": [0, 1, 23, 24, 25, 33, 61, 67, 70, 71, 73, 74, 77, 90, 98, 100, 104, 107, 108, 111], "default_endpoint": 71, "default_log_backup_count": 103, "default_log_file_nam": 103, "default_log_format": 104, "default_max_rotating_log_file_s": 103, "default_network": [70, 71], "default_tak": 81, "default_trace_format": 104, "default_verifi": 0, "defaultdict": 23, "defaultmunch": 23, "defin": [0, 1, 5, 9, 20, 21, 35, 63, 70, 73, 74, 104, 106, 111, 121], "definit": [73, 78, 79, 81, 103], "deiniti": 108, "delai": [0, 79], "deleg": [3, 4, 25, 36, 64, 70, 73, 79, 90, 121], "delegate_info": [6, 121], "delegate_info_lit": [6, 121], "delegate_ss58": 4, "delegatedinfo": [3, 21, 73], "delegateinfo": [3, 4, 21, 73], "delegateinfobas": 3, "delegateinfolit": 4, "delegateliteinfo": 4, "delegatetaketoohigh": [25, 73], "delegatetaketoolow": [25, 73], "delegatetxratelimitexceed": [25, 73], "delta": [0, 79, 100], "dendrit": [0, 25, 69, 74, 118, 121], "dendrite_default_error": 24, "dendrite_error_map": 24, "dendrite_hotkei": 74, "dendrite_inst": 24, "dendritemixin": 24, "denot": 70, "depend": [1, 55, 73, 112], "deposit": [37, 55, 65, 73, 79], "deprec": 111, "deprecated_messag": 111, "depth": 111, "deregister_primary_logg": 108, "deriv": [9, 21, 73], "describ": 104, "descript": [0, 2, 18, 30, 49, 58, 73, 74, 79], "deseri": [24, 70, 72, 74, 75, 118], "deserialized_synaps": 74, "design": [0, 24, 72, 73, 74, 77], "desir": [74, 108], "dest": 79, "destin": [29, 37, 44, 55, 65, 73, 111, 120], "destination_coldkei": 79, "destination_coldkey_ss58": [29, 44, 48, 73], "destination_hotkei": 79, "destination_hotkey_ss58": [29, 44, 48, 73], "destination_netuid": [29, 44, 48, 73, 79], "destination_pool": 48, "destination_pric": 73, "destination_ss58": [37, 55, 65, 73], "destination_subnet_pric": 73, "detail": [0, 70, 73, 74, 77], "detect": 74, "determin": [0, 24, 70, 73, 74, 77, 105, 111], "determine_block_hash": [73, 90], "determine_chain_endpoint_and_network": 111, "dev_framework": [85, 121], "dev_id": [30, 58, 73, 114, 116, 117], "develop": [0, 70, 72, 74, 77, 78, 79, 81, 85, 109, 122], "devic": [30, 58, 73, 114, 116, 117], "dict": [0, 1, 3, 7, 8, 9, 10, 11, 13, 15, 16, 19, 21, 23, 24, 32, 39, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 67, 70, 71, 72, 73, 74, 75, 77, 83, 104, 111, 112], "dictionari": [0, 1, 8, 10, 15, 21, 23, 25, 70, 72, 73, 74, 75, 77, 105, 111], "diff": 116, "differ": [0, 5, 23, 24, 25, 44, 70, 73, 74, 100, 101, 108, 114, 116], "difficulti": [9, 17, 19, 73, 81, 95, 116, 117], "digit": [0, 70, 74], "dir": 70, "dir_path": 70, "direct": [70, 73, 79, 109], "directli": [24, 70, 72, 73, 74, 78], "directori": 70, "disabl": [28, 43, 73, 79, 90, 107, 108], "disable_debug": 108, "disable_info": 108, "disable_log": 108, "disable_third_party_logg": 108, "disable_trac": 108, "disable_warn": 108, "disable_whitelist": 79, "disallow": 0, "disapprove_propos": 79, "discord": [2, 18, 30, 49, 58, 73, 79], "discover": 85, "discoveri": 73, "disk": 70, "dispatch": 0, "dispatch_a": 79, "dispatch_as_fal": 79, "dissolv": 79, "dissolve_network": 79, "distinguish": 70, "distribut": [35, 63, 70, 73, 74, 112], "divers": 73, "divid": 78, "dividend": [9, 10, 11, 20, 70], "do": [0, 78, 79, 81], "doc": [73, 111], "document": [73, 121], "doe": [0, 22, 25, 26, 41, 73, 74, 98, 114, 116], "does_hotkey_exist": [73, 97], "doesn": [0, 25, 26, 41, 70, 73, 108], "down": [0, 73], "drain": 16, "drand": [73, 80, 98], "driven": 70, "dtype": 75, "due": [0, 33, 38, 61, 66], "dummy_input": 74, "dump": 98, "duplic": [25, 26, 41], "duplicatechild": [25, 26, 41], "durat": [24, 40, 68, 73, 74, 79, 81], "dure": [0, 17, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 73, 74, 77, 98, 116], "dust": 73, "dynam": [0, 5, 70, 73, 78, 79, 81], "dynamic_info": [6, 121], "dynamicinfo": [5, 21, 48, 52, 56, 73], "e": [1, 8, 12, 30, 32, 33, 38, 58, 60, 61, 66, 70, 73, 74, 77, 101, 109, 111], "e29ce36fec1a": 74, "each": [0, 21, 24, 33, 35, 38, 40, 61, 63, 66, 67, 68, 70, 73, 74, 77, 78, 79, 81, 98, 101, 108, 116], "earn": [33, 61, 70, 73], "easi": 74, "easy_import": [111, 121], "econom": 73, "ecosystem": [70, 73, 74], "ed25519": [37, 65], "edit": [78, 79, 81], "effect": [0, 73], "effici": [0, 24, 70, 73, 74], "effort": 73, "either": [33, 36, 38, 61, 64, 66, 73, 101, 104, 113], "elast": 79, "element": [9, 24, 70, 75], "elig": 73, "ellipsi": [73, 74], "els": [9, 73, 111], "ema_halv": 81, "email": [30, 58], "embodi": 70, "emiss": [5, 9, 10, 11, 16, 20, 34, 35, 62, 63, 70, 73], "emission_histori": 20, "emission_valu": 19, "emissions_shar": 79, "emit": 73, "emoji": 104, "emoji_map": 104, "emploi": 70, "empti": [73, 75, 77], "enabl": [0, 17, 28, 29, 30, 33, 38, 43, 44, 47, 61, 66, 70, 73, 74, 79, 81, 85, 90, 107, 108, 109], "enable_consol": 108, "enable_debug": 108, "enable_default": 108, "enable_info": 108, "enable_third_party_logg": 108, "enable_trac": 108, "enable_warn": 108, "encapsul": [0, 15, 24, 70, 72, 74, 77], "encod": [6, 8, 16, 21, 73, 74, 77, 98, 111], "encode_param": [73, 90], "encoded_data": 21, "encompass": 74, "encount": [0, 75], "encourag": 70, "encrypt": [0, 73, 98], "encrypted_data": 98, "end": [0, 13, 24, 35, 63, 74, 78, 79, 81], "end_block": 79, "endpoint": [0, 1, 24, 32, 60, 73, 74, 77, 90, 111, 113], "endpoint_url": [111, 113], "enforc": [55, 74, 101], "enhanc": [70, 73, 74, 85], "enough": 25, "ensur": [0, 24, 70, 72, 73, 74, 77, 101, 106, 108, 116], "ensure_upd": 79, "enter": 79, "entir": [24, 73], "entiti": [0, 70], "entri": [33, 38, 61, 66, 70, 73], "entrypoint": 71, "enum": [9, 21], "enumer": [9, 21], "environ": [0, 70, 73, 74, 117], "epoch": [73, 81, 83], "equal": [35, 63, 114, 116], "equip": 0, "equivocation_proof": 79, "error": [0, 1, 23, 24, 26, 32, 41, 60, 69, 70, 73, 74, 75, 77, 90, 98, 102, 108, 111, 114, 116, 117, 119, 121], "error_messag": 111, "especi": [0, 24, 74], "essenti": [0, 24, 70, 73, 74], "establish": [0, 24, 73, 74], "estim": [5, 73], "etc": [0, 33, 38, 61, 66, 72, 74, 90], "ethereum": 80, "evalu": [0, 73, 77], "even": [28, 43, 73], "evenli": 73, "event": [24, 70, 72, 77, 108, 116], "event_loop_is_run": 24, "everi": 74, "everyth": 70, "evm": 80, "evm_kei": 79, "evolut": 70, "exact": [70, 77], "examin": 70, "exampl": [0, 35, 38, 63, 66, 74, 75, 98], "examplerout": 74, "examplesynaps": 74, "exce": [26, 29, 41, 44, 73], "exceed": [25, 33, 38, 61, 66, 73], "except": [0, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 75, 77, 108, 111], "exchang": [0, 70, 74], "exclud": 120, "exclude_quantil": 120, "execut": [0, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 70, 73, 76, 77, 79, 83], "execute_on": 83, "execute_step": 83, "executor": 76, "exhaust": 24, "exist": [0, 22, 24, 25, 26, 41, 73, 111, 114, 116], "existenti": [37, 55, 65, 73], "exit": [0, 25], "expans": 85, "expect": [0, 24, 70, 72, 73], "experiment": 85, "expir": [26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73], "explicit": 73, "explicitli": [23, 70, 72, 74, 75], "explor": [73, 77, 111], "expos": 111, "express": 98, "ext_index": 79, "extend": [0, 79, 85], "extens": 85, "extent": 73, "extern": [0, 24, 77, 109, 113], "external_ip": [0, 24, 113], "external_port": 0, "externalipnotfound": 113, "extra": [33, 61, 73, 77, 99, 121], "extract": [0, 24, 72, 111], "extract_response_json": 72, "extrem": 0, "extrins": [69, 73, 77, 78, 79, 81, 90, 111, 121], "extrinsic_fe": 77, "extrinsic_funct": 77, "extrinsic_receipt": 77, "extrinsicnotfound": 25, "extrinsicreceipt": 77, "extrinsicrespons": [26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 73, 77, 83], "f": 111, "face": [0, 73, 113], "facilit": [0, 70, 73, 74], "factor": 73, "factori": [15, 70], "fail": [0, 1, 21, 24, 25, 26, 33, 38, 41, 61, 66, 73, 74, 76, 77, 98, 113, 119], "failed_verif": 74, "failur": [0, 32, 60, 73, 74], "fallback": [24, 73, 79, 90], "fallback_endpoint": [73, 90], "fals": [0, 5, 10, 11, 21, 23, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 73, 74, 75, 77, 83, 90, 98, 101, 104, 107, 111, 114, 116, 118], "fast": [73, 98], "fast_config": 0, "fast_serv": 0, "fastapi": 0, "fastapithreadedserv": 0, "faucet": 79, "feasibl": 24, "featur": [0, 73, 74, 85], "fee": [15, 73, 77, 79, 112], "fees_above_high": 112, "fees_alpha": 112, "fees_below_low": 112, "fees_tao": 112, "fetch": [4, 70, 73, 78, 120], "field": [0, 1, 3, 33, 38, 61, 66, 72, 73, 74, 75, 78, 79, 81, 96], "file": [23, 70, 78, 79, 81], "filenam": [103, 104], "fill": [0, 24], "filter": [0, 73], "filter_for_netuid": 73, "filter_netuids_by_registered_hotkei": [73, 97], "final": [0, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 74, 79, 116], "financi": 73, "find": [67, 74], "fingerprint": 74, "finish": [24, 76, 116], "finished_queu": 116, "finnei": [70, 71, 73, 77, 90, 111], "finney_entrypoint": 71, "finney_test_entrypoint": 71, "first": [0, 5, 23, 24, 70, 73, 74, 83, 101], "fix": [73, 101], "fixed_to_float": 101, "fixedpoint": [73, 101], "flag": [0, 1, 17, 24, 55, 70, 73, 77, 104, 111], "flexibl": [0, 73], "float": [0, 3, 4, 5, 9, 10, 11, 17, 19, 20, 24, 26, 29, 33, 38, 40, 41, 44, 45, 48, 52, 56, 61, 66, 68, 70, 73, 74, 90, 98, 100, 101, 111, 112, 116, 120], "float32": 120, "float_to_u64": 111, "floattensor": 120, "flow": [0, 74], "fluctuat": 73, "fmt": 104, "fn": 76, "focus": 73, "follow": [32, 60, 74, 77, 108], "forbidden": 74, "forc": [79, 116], "force_adjust_total_issu": 79, "force_batch": 79, "force_ent": 79, "force_exit": 79, "force_extend": 79, "force_proxy_typ": 79, "force_release_deposit": 79, "force_set_bal": 79, "force_slash_deposit": 79, "force_transf": 79, "force_unreserv": 79, "forev": [73, 90], "form": [0, 70, 72, 74, 75, 98, 113], "format": [0, 24, 32, 60, 70, 72, 73, 74, 77, 106, 111, 113, 121], "format_error_messag": 111, "formatt": [104, 106, 108], "formatted_endpoint_url": 113, "formattim": 104, "forward": [0, 24], "forward_class_typ": 0, "forward_custom": 0, "forward_fn": [0, 25], "forward_my_synaps": 0, "forward_my_synapse_2": 0, "foster": 0, "found": [0, 25, 67, 73, 116, 117], "foundat": 0, "four": 84, "frac_bit": 101, "frame": 73, "framework": [0, 24, 74, 108], "freez": [35, 63, 73], "frequent": [73, 109], "fresh": 0, "friendli": 0, "fro": 108, "from": [0, 1, 8, 9, 10, 14, 15, 16, 21, 24, 28, 29, 32, 33, 36, 37, 38, 43, 44, 60, 61, 64, 65, 66, 70, 72, 73, 74, 75, 76, 77, 78, 79, 81, 85, 90, 98, 101, 102, 108, 109, 111, 113, 116, 118, 120], "from_dict": [7, 13, 15, 16], "from_error": 25, "from_except": 77, "from_float": 101, "from_head": 74, "from_neuron_info": 1, "from_parameter_dict": [1, 8], "from_rao": 101, "from_scale_encod": 21, "from_scale_encoding_using_type_str": 21, "from_str": 1, "from_tao": [73, 101], "from_vec_u8": 22, "from_vec_u8_v2": 22, "from_weights_bonds_and_neuron_lit": 10, "frozen": 73, "full": [29, 44, 70, 73, 77], "full_address": 0, "func": [4, 116], "function": [6, 22, 25, 72, 73, 77, 79, 81, 85, 106, 108, 109, 118], "fund": [37, 65, 73], "fundament": [0, 33, 61, 70, 73, 74], "further": 0, "futur": [32, 60, 70, 76], "g": [1, 8, 12, 30, 33, 38, 58, 61, 66, 73, 74, 77, 101, 109, 111], "gain": 73, "gas_limit": 79, "gate": 85, "gather": 0, "gener": [0, 9, 21, 24, 40, 68, 72, 73, 77, 78, 79, 81, 105, 116, 120, 121], "generate_weight_hash": 120, "genericcal": 73, "genericextrins": 77, "genuin": 0, "get": [24, 55, 70, 73, 74, 76, 96, 98, 104, 108, 111, 116], "get_admin_freeze_window": [73, 86], "get_all_commit": [73, 87], "get_all_metagraphs_info": [73, 91], "get_all_neuron_certif": [73, 92], "get_all_revealed_commit": [73, 87], "get_all_subnets_info": [73, 95], "get_all_subnets_netuid": [73, 95], "get_and_save_latest_vers": 119, "get_auto_stak": [73, 94], "get_bal": [73, 97], "get_block_hash": [73, 86], "get_block_info": [73, 86], "get_caller_nam": 111, "get_children": [73, 95, 97], "get_children_pend": [73, 95, 97], "get_commit": [73, 87], "get_commitment_metadata": [73, 87], "get_config": 108, "get_cpu_count": 116, "get_current_block": [70, 73, 86], "get_deleg": [73, 88, 97], "get_delegate_by_hotkei": [73, 88, 97], "get_delegate_ident": [73, 86, 88, 90], "get_delegate_tak": [73, 88, 97], "get_existential_deposit": [73, 86], "get_explorer_url_for_network": 111, "get_external_ip": 113, "get_extrinsic_fe": [73, 89], "get_fe": 112, "get_fees_in_rang": 112, "get_formatted_ws_endpoint_url": 113, "get_function_nam": 111, "get_hash": 111, "get_hotkey_own": [73, 97], "get_hotkey_stak": [73, 94, 97], "get_human_read": 110, "get_hyperparamet": [73, 95], "get_last_bonds_reset": [73, 87], "get_last_commitment_bonds_reset_block": [73, 87], "get_level": 108, "get_liquidity_list": [73, 95], "get_max_logger_name_length": 105, "get_mechanism_count": [73, 95], "get_mechanism_emission_split": [73, 95], "get_mechid_storage_index": 111, "get_metagraph_info": [73, 91], "get_minimum_required_stak": [73, 86, 94, 97], "get_netuid_and_mechid_by_storage_index": 111, "get_netuids_for_hotkei": [73, 97], "get_neuron_certif": [73, 92], "get_neuron_for_pubkey_and_subnet": [73, 95], "get_next_epoch_start_block": [73, 95], "get_null_neuron": [10, 11], "get_old_stak": 67, "get_owned_hotkei": [73, 97], "get_par": [73, 95, 97], "get_queu": 108, "get_required_field": 74, "get_revealed_commit": [73, 87], "get_revealed_commitment_by_hotkei": [73, 87], "get_save_dir": 70, "get_selective_metagraph_commit": 9, "get_siz": 74, "get_stak": [73, 94, 97], "get_stake_add_fe": [73, 94, 97], "get_stake_for_coldkey_and_hotkei": [73, 94, 97], "get_stake_for_hotkei": [73, 97], "get_stake_info_for_coldkei": [73, 94, 97], "get_stake_movement_fe": [73, 94, 97], "get_stake_weight": [73, 94], "get_status_messag": 116, "get_subnet_burn_cost": [73, 95], "get_subnet_hyperparamet": [73, 95], "get_subnet_info": [73, 95], "get_subnet_owner_hotkei": [73, 95], "get_subnet_pric": [73, 95], "get_subnet_reveal_period_epoch": [73, 95], "get_subnet_validator_permit": [73, 95], "get_timelocked_weight_commit": [73, 87], "get_timestamp": [73, 86], "get_total_s": 74, "get_total_subnet": [73, 95], "get_transfer_fe": [73, 97], "get_transfer_fn_param": 55, "get_uid_for_hotkey_on_subnet": [73, 95], "get_unit": 101, "get_unstake_fe": [73, 94, 97], "get_vote_data": [73, 86], "getdefaultencod": 111, "github": [2, 30, 58, 73], "github_repo": [18, 30, 49, 58, 79], "give": [76, 77, 101, 102], "given": [0, 21, 29, 30, 58, 67, 70, 72, 73, 74, 75, 76, 101, 111, 114, 116, 118, 120], "global": 73, "global_fees_alpha": 112, "global_fees_tao": 112, "global_max_subnet_count": 111, "glorifi": 74, "glossari": 73, "go": 0, "goe": [30, 38, 58, 66, 73], "govern": [70, 73], "grace": 73, "gracefulli": 0, "grandpa": 80, "graph": 70, "great": 0, "greater": [70, 120], "growth": 73, "grpc": 0, "guard": 0, "h": [103, 110], "ha": [0, 11, 24, 25, 70, 72, 73, 116], "halt": 0, "handl": [0, 5, 20, 24, 70, 72, 73, 74, 77, 98, 108, 112, 113, 120], "handler": [0, 106, 108, 111], "hash": [0, 22, 32, 40, 60, 68, 73, 74, 77, 79, 111, 116, 117, 120], "hash_rat": 116, "hash_rate_perpetu": 116, "hash_valu": 74, "hasn": 0, "have": [0, 25, 26, 41, 73, 74, 76], "header": [0, 24, 25, 72, 73, 74, 77, 78], "header_s": 74, "height": [73, 79], "held": 70, "hello": [73, 74], "help": [0, 23, 25, 73, 74, 75, 76, 77, 90, 101, 108, 111, 113, 119], "helper": [21, 55, 67, 73, 74, 77, 101, 106, 121], "here": 24, "hex": [22, 73], "hex_to_byt": 111, "hex_to_ss58": 111, "hexadecim": [74, 111], "high": [17, 25, 73], "higher": [70, 77], "hint": [78, 79, 81], "histor": [24, 70], "history_block": 70, "hit": [26, 41, 73], "hold": [0, 70, 77, 108], "holder": 73, "home_dir": 71, "hop": 73, "host": [0, 32, 60], "hot": 73, "hotkei": [0, 1, 3, 4, 9, 10, 11, 16, 20, 21, 25, 26, 28, 29, 33, 36, 38, 39, 40, 41, 43, 44, 61, 64, 66, 67, 68, 70, 73, 74, 77, 79, 81, 90, 97, 111, 116, 117], "hotkey_byt": 116, "hotkey_ss58": [3, 16, 26, 28, 29, 33, 36, 38, 41, 43, 44, 45, 47, 48, 49, 50, 51, 52, 54, 56, 61, 64, 66, 67, 73], "hotkeyaccountnotexist": [25, 73], "how": [0, 5, 70, 73], "howev": [24, 70], "hparam": 70, "http": [0, 24, 71, 73, 74, 111], "hub": 109, "human": [0, 110], "hyperparam": 120, "hyperparamet": [17, 73, 83], "i": [0, 1, 3, 4, 5, 10, 11, 14, 15, 17, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 78, 79, 81, 83, 84, 90, 98, 101, 104, 108, 111, 112, 113, 114, 116, 117, 118, 119, 120, 122], "id": [0, 3, 21, 24, 28, 30, 38, 43, 58, 66, 73, 74, 79, 111, 112, 114, 116, 117, 120], "ideal": 5, "ident": [2, 9, 18, 25, 30, 58, 70, 73, 74, 79, 111], "identif": [70, 74], "identifi": [0, 10, 11, 15, 24, 32, 33, 35, 36, 38, 40, 60, 61, 63, 64, 66, 67, 68, 70, 73, 74, 79, 111, 120], "identityerror": 25, "idx": [33, 38, 61, 66, 83], "if_els": 79, "ignor": [24, 73], "ij": 70, "imag": [2, 79], "immedi": [0, 33, 61, 73], "immun": 17, "immune_neuron": 81, "immunity_period": [9, 17, 19, 73, 81, 95], "immunityperiod": [9, 73], "immut": 73, "impact": [29, 44, 70, 73], "implement": [0, 23, 24, 70, 72, 74, 76, 77, 85, 116], "impli": 70, "implicitli": 101, "import": [0, 23, 24, 70, 73, 74, 77, 78, 85, 90, 98, 102, 109], "import_text": 78, "importerror": 70, "improv": [74, 109], "in_block": 79, "inact": 70, "incent": [9, 10, 11, 20, 30, 33, 61, 70, 73], "incentiv": 70, "includ": [0, 1, 6, 10, 15, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 77, 85, 98, 104, 106], "inclus": [28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 43, 44, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 73], "incom": [0, 73], "incorrect": 111, "increas": [0, 25, 29, 33, 44, 61, 73, 74], "increase_decrease_tak": 54, "increase_tak": [36, 54, 64, 79], "inde": 0, "index": [13, 33, 38, 61, 66, 73, 77, 79, 111, 112], "indexerror": 98, "indic": [0, 10, 11, 17, 24, 25, 28, 32, 43, 60, 70, 73, 74, 77, 108], "indispens": 74, "individu": [24, 33, 38, 61, 66, 70, 73], "infer": 70, "inflat": 73, "influenc": [70, 73], "info": [0, 1, 5, 7, 8, 9, 19, 20, 71, 77, 79, 102, 107, 108], "info_bas": [1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 16, 17, 19, 20, 121], "info_dictionari": 111, "info_field": 51, "infobas": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 17, 19, 20], "inform": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 14, 16, 18, 22, 24, 30, 32, 33, 58, 60, 61, 67, 70, 73, 74, 77, 108, 111, 116, 117], "infrastructur": [70, 73], "inherit": [74, 77], "init": 79, "initarg": 76, "initi": [0, 15, 23, 24, 25, 28, 34, 43, 62, 70, 72, 73, 75, 76, 77, 90, 98, 101, 104, 108, 111, 113, 119], "inner_subtensor": 90, "input": [0, 21, 24, 70, 72, 73, 74, 75, 79, 116, 120], "input_": 21, "input_obj": 74, "insight": 73, "inspect": [0, 33, 38, 61, 66, 77], "instal": 70, "install_signal_handl": 0, "instanc": [0, 1, 8, 10, 11, 15, 22, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 70, 72, 73, 74, 76, 77, 84, 90, 98, 101, 105, 108, 111, 114, 116, 120], "instanti": [70, 72], "instead": [0, 25, 72], "instrument": [70, 73], "insuffici": 73, "int": [0, 1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 73, 74, 75, 77, 83, 84, 98, 100, 101, 104, 105, 108, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120], "int64": [117, 120], "int_to_ip": 113, "int_val": 113, "intact": 0, "integ": [35, 40, 63, 68, 73, 74, 101, 112, 113, 120], "integr": [0, 70, 73, 74], "intellig": [0, 70, 73], "intend": [72, 74, 78, 79, 81], "intent": 0, "inter": 70, "interact": [0, 24, 26, 28, 29, 30, 31, 34, 41, 43, 44, 58, 59, 62, 70, 73, 74, 90, 101], "intercept": 0, "interconnect": 73, "interconnected": 70, "interfac": [0, 30, 58, 70, 72, 73], "interfer": [0, 73], "intermediari": 0, "intern": [0, 24, 33, 38, 61, 66, 72, 77, 85, 109], "internalservererror": 25, "interneuron": 73, "interoper": 101, "interpret": [15, 24, 74, 101], "interv": [17, 81], "intuit": 109, "invalid": [25, 73, 75], "invalidchild": [25, 26, 41], "invalidconfigfil": 23, "invalidrequestnameerror": 25, "invers": 120, "invest": [70, 73], "invok": 0, "involv": [0, 70, 73, 74], "ip": [0, 1, 8, 12, 24, 32, 51, 60, 70, 74, 77, 79, 113], "ip__str__": 113, "ip_address": 74, "ip_info": [6, 121], "ip_str": [1, 113], "ip_to_int": 113, "ip_typ": [1, 8, 12, 77, 79, 113], "ip_vers": 113, "ipifi": 113, "ipinfo": [8, 21], "ipv4": [1, 8, 12, 113], "ipv6": [1, 8, 12, 113], "is_async": 90, "is_blacklist": 74, "is_dynam": 5, "is_empti": 76, "is_failur": 74, "is_fast_block": [73, 86], "is_hotkey_deleg": [73, 88, 97], "is_hotkey_regist": [73, 97], "is_hotkey_registered_ani": [73, 97], "is_hotkey_registered_on_subnet": [73, 95, 97], "is_in_admin_freeze_window": [73, 86], "is_instance_namedtupl": 84, "is_nul": [10, 11], "is_opt": 21, "is_regist": 16, "is_run": 0, "is_serv": 1, "is_set": 23, "is_stal": 116, "is_stale_async": 116, "is_subnet_act": [73, 95], "is_success": 74, "is_timeout": 74, "is_valid_bittensor_address_or_public_kei": 111, "is_valid_ss58_address": 111, "is_vec": 21, "iso8601": 104, "issu": [0, 24], "item": [73, 74, 79], "iter": [24, 70, 73, 74, 75, 77, 105], "its": [0, 1, 24, 33, 36, 61, 64, 70, 73, 74, 77, 108, 116], "itself": [0, 74, 77], "j": 70, "json": [0, 1, 24, 71, 72, 74], "json_respons": 24, "json_str": 1, "jsondecodeerror": 1, "jsonrespons": 0, "judgment": 70, "just": [70, 73, 90], "k": [5, 75, 77], "kappa": [9, 17, 19, 81], "keccak": 117, "keccak256": [32, 60], "keep": [37, 44, 65, 73, 74, 85], "keep_al": [37, 55, 65, 73, 79], "kei": [0, 1, 10, 14, 15, 21, 26, 33, 37, 38, 39, 40, 41, 61, 65, 66, 67, 68, 70, 73, 74, 75, 77, 79, 111, 120], "key_owner_proof": 79, "keyerror": 73, "keyfil": [26, 41, 73, 111], "keyfileerror": [26, 41, 73, 111], "keypair": [24, 39, 67, 73, 77], "keyword": [72, 74, 75, 77, 118], "kill_prefix": 79, "kill_pur": 79, "kill_storag": 79, "know": [0, 73], "known": [73, 111], "kwarg": [24, 72, 75, 76, 77, 84, 104, 108, 118], "lack": 113, "larg": 24, "larger": 0, "last": [0, 10, 11, 70, 73, 90], "last_drand_round": [73, 86], "last_step": [5, 9, 70], "last_upd": [9, 10, 11, 20, 70], "laststep": 9, "lastupd": 9, "latenc": 74, "latent": 71, "latent_lite_entrypoint": 71, "later": 70, "latest": [70, 73, 119], "latest_block_path": 70, "layer": [0, 70, 73], "lazi": 116, "lazili": 24, "lazyloadedtorch": 116, "lead": 0, "leakag": 24, "learn": [70, 73, 74], "learnbittensor": 73, "lease_id": 79, "least": 0, "ledger": 70, "left": 113, "legaci": 116, "legacy_method": 90, "legacy_torch_api_compat": 116, "len": 77, "length": [32, 35, 60, 63, 74, 105], "length_bound": 79, "less": 70, "level": [0, 17, 70, 73, 77, 90, 96, 102, 104, 106, 108, 109, 121], "levelnam": [103, 104], "leverag": [70, 108], "librari": 108, "lifecycl": 0, "lifespan": 74, "light": 70, "lighter": 4, "lightweight": 73, "like": [0, 23, 24, 73, 74, 77, 104], "limit": [17, 25, 26, 38, 41, 66, 73, 116, 117, 120], "limit_pric": 79, "line": [0, 73, 77, 114, 116], "lineno": [103, 104], "link": [0, 16, 30, 58, 73, 77], "liquid": [17, 27, 42, 46, 73, 79, 111, 121], "liquid_alpha_en": [9, 17], "liquidalphaen": 9, "liquidity_delta": [28, 43, 47, 73, 79], "liquidityparam": 47, "liquidityposit": [73, 112], "list": [0, 3, 4, 7, 9, 10, 11, 13, 14, 20, 21, 23, 24, 26, 30, 33, 35, 38, 40, 41, 45, 49, 51, 58, 61, 63, 66, 67, 68, 70, 73, 74, 75, 77, 78, 79, 81, 83, 90, 111, 114, 116, 118, 120], "list_from_dict": 7, "list_from_vec_u8": 11, "listen": [0, 108], "lite": [10, 70, 71, 73, 90], "liter": [36, 64, 77, 111], "live": 70, "load": [0, 23, 70, 73, 98, 116], "load_from_path": 70, "local": [0, 24, 70, 71, 73, 77, 78, 111, 113], "local_entrypoint": 71, "local_synaps": 24, "localhost": 90, "locat": 70, "lock": [16, 73, 116], "lock_cost": 81, "log": [0, 23, 24, 30, 58, 73, 77, 90, 102, 103, 104, 105, 106, 107, 108, 111, 116, 117], "log_and_handle_error": 0, "log_cuda_error": 117, "log_except": 24, "log_format": 104, "log_level": 0, "log_level_color_prefix": 104, "log_no_torch_error": 116, "log_trace_format": 104, "log_verbos": [30, 58, 73, 77, 90, 114, 116], "logger": [76, 102, 105, 106, 108], "logging_dir": 108, "loggingconfig": 108, "loggingmachin": [102, 106, 121], "logic": [0, 72, 74, 77, 85, 98], "logo": [30, 58], "logo_url": [18, 30, 49, 58, 79], "logrecord": 104, "long": [73, 109], "longer": 24, "longest": 105, "longtensor": 120, "loop": 24, "low": [17, 25, 73, 77], "lower": [28, 43, 73, 120], "lynch": 98, "m": 103, "machin": [0, 70, 73, 74], "made": [17, 25, 73], "mai": [70, 73, 85, 101], "main": [0, 73, 79, 85, 98, 111, 116], "mainli": [70, 73, 90], "maintain": [0, 70, 73, 74, 78, 85, 109, 112], "mainten": 0, "major": 70, "make": [0, 24, 39, 67, 70, 73, 74, 98], "malici": 0, "manag": [0, 15, 23, 24, 70, 72, 73, 74, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 97, 105, 108, 112], "mani": [25, 26, 41], "manipul": 0, "manner": [0, 116], "manual": [78, 79, 81], "map": [3, 10, 11, 33, 38, 61, 66, 73, 75, 77, 111, 113], "mark": 0, "market": 73, "match": [0, 35, 63, 67, 73, 101, 120], "math": 70, "matrix": 70, "max": [0, 25, 32, 60, 120], "max_allowed_attempt": [30, 58, 73], "max_allowed_uid": 81, "max_allowed_valid": [19, 81], "max_burn": [9, 17, 81], "max_difficulti": [9, 17, 81], "max_fee_per_ga": 79, "max_int_weight": 120, "max_n": [19, 81], "max_priority_fee_per_ga": 79, "max_registrations_per_block": 81, "max_regs_per_block": [9, 17], "max_retri": 73, "max_subnet": 81, "max_tick": 112, "max_uid": [9, 70], "max_valid": [9, 17], "max_valu": 120, "max_weight": 79, "max_weight_limit": [17, 19, 73, 81, 95, 120], "max_weights_limit": 9, "max_work": [0, 76], "maxattemptsexcept": 25, "maxburn": 9, "maxdifficulti": 9, "maximum": [17, 24, 29, 30, 33, 38, 44, 58, 61, 66, 73, 74, 76, 120], "maxregsperblock": 9, "maxsiz": 76, "maxsuccessexcept": 25, "maxuid": 9, "maxvalid": 9, "maxweightslimit": [9, 73], "maybe_period": 79, "maybe_split": [35, 63, 81, 120], "maybe_timepoint": 79, "mean": [73, 74, 114, 116], "measur": [70, 73], "mech_count": [35, 63], "mechan": [0, 33, 34, 35, 40, 61, 62, 63, 68, 70, 73, 74, 98, 111], "mechanism_count": [70, 81], "mechanisms_emissions_split": 70, "mechid": [9, 40, 57, 68, 70, 73, 111], "mecid": 79, "meet": 0, "member": [73, 79], "merg": [23, 24], "messag": [0, 21, 24, 25, 73, 74, 77, 102, 103, 104, 108, 111, 116], "met": 25, "meta_info": 73, "metadata": [10, 11, 21, 25, 30, 32, 58, 60, 70, 73, 74, 77, 78, 79, 81], "metadataerror": [25, 32, 60], "metagraph": [24, 69, 73, 90, 120, 121], "metagraph_info": [6, 121], "metagraph_state_dict_ndarray_kei": 70, "metagraphinfo": [9, 21, 73], "metagraphinfoemiss": [9, 70], "metagraphinfoparam": [9, 70], "metagraphinfopool": [9, 70], "metagraphmixin": 70, "method": [0, 5, 15, 20, 22, 24, 70, 72, 73, 74, 76, 77, 90, 101, 104, 108, 116], "metric": [70, 74], "middlewar": 0, "middleware_cl": 0, "might": 0, "millifi": 110, "millisecond": 104, "min_allowed_uid": 81, "min_allowed_weight": [9, 17, 19, 73, 81, 95, 120], "min_burn": [9, 17, 81], "min_contribut": 79, "min_difficulti": [9, 17, 81], "min_stak": 81, "min_tick": 112, "minallowedweight": [9, 73], "minburn": 9, "mindifficulti": 9, "mine": 73, "miner": [17, 23, 33, 61, 70, 73], "miners_dir": 71, "minimum": [17, 26, 41, 73, 120], "mismatch": 0, "miss": 73, "ml": 74, "mock": [73, 77, 90], "modal": 19, "mode": [73, 108], "model": [70, 72, 73, 74, 75], "model_config": [72, 74, 75], "model_dump_json": 74, "model_validate_json": 74, "modern": 0, "modif": 74, "modifi": [21, 28, 43, 72, 73], "modify_liquid": [73, 89], "modify_liquidity_extrins": [28, 43], "modify_posit": [47, 79], "modul": [6, 78, 85, 106, 109], "modular": 85, "module_nam": 73, "moment": 112, "monitor": 74, "monoton": 74, "more": [30, 58, 70, 73, 109, 110, 114, 116], "most": [70, 73, 77], "mostli": 73, "move": [17, 29, 44, 73], "move_all_stak": [29, 44, 73], "move_stak": [27, 42, 46, 73, 79, 89, 94, 121], "move_stake_extrins": [29, 44], "movestakeparam": 48, "moving_pric": [5, 9], "movingpric": 9, "msg": [108, 111], "much": [5, 70], "multi": 0, "multilin": 78, "multipl": [0, 24, 70, 73, 83, 114, 116], "multipli": 17, "multiprocess": 116, "multisig": 80, "munch": 23, "must": [15, 26, 28, 34, 35, 41, 43, 62, 63, 70, 72, 73, 77, 101, 108, 111, 113, 120], "mutat": 0, "mutual": 73, "my_axon": 0, "my_config": 0, "my_liquidity_delta": 73, "my_wallet": [0, 73], "mycustomsynaps": 0, "mysynaps": [0, 74], "n": [70, 110, 111, 120], "n_block": 98, "nai": 13, "name": [0, 2, 9, 21, 24, 25, 30, 58, 70, 72, 73, 74, 75, 76, 77, 79, 98, 103, 104, 105, 108, 111], "namedtupl": [78, 79, 81, 84, 108], "namespac": [23, 109], "nanosecond": 100, "nanoseconds_in_second": 100, "nativ": 74, "natur": [24, 70, 73], "ndarrai": [70, 75, 120], "nearest": 112, "necessari": [0, 24, 70, 74], "need": [0, 21, 73, 74, 85, 98], "neg": [28, 43, 73], "nest": [9, 23], "netuid": [0, 3, 5, 9, 10, 11, 15, 16, 19, 20, 24, 25, 26, 28, 29, 30, 32, 33, 34, 35, 38, 40, 41, 43, 44, 45, 47, 49, 51, 52, 53, 56, 57, 58, 60, 61, 62, 63, 66, 67, 68, 70, 73, 77, 79, 81, 83, 84, 101, 111, 112, 114, 116, 120], "network": [0, 1, 3, 5, 6, 10, 11, 15, 20, 24, 25, 26, 29, 30, 31, 32, 33, 38, 40, 41, 44, 58, 59, 60, 61, 66, 67, 68, 70, 71, 72, 73, 74, 77, 78, 90, 111, 112, 114, 116, 118, 120, 121], "network_explorer_map": 71, "network_map": [71, 111], "network_registered_at": [5, 9, 70], "networkregisteredat": 9, "neural": 70, "neurip": 70, "neuron": [0, 1, 6, 10, 11, 24, 25, 26, 30, 31, 32, 33, 36, 40, 41, 58, 59, 60, 61, 64, 68, 70, 73, 74, 90, 120, 121], "neuron_for_uid": [73, 92], "neuron_incent": 70, "neuron_info": [1, 6, 121], "neuron_info_lit": [6, 10, 121], "neuron_lit": 10, "neuron_rank": 70, "neuroninfo": [10, 21, 70, 73], "neuroninfolit": [10, 11, 21, 70, 73], "neurons_lit": [73, 92], "new": [0, 9, 14, 21, 22, 23, 24, 30, 34, 58, 62, 70, 72, 73, 74, 75, 76, 77, 79, 111, 114, 116], "new_author": 79, "new_cap": 79, "new_coldkei": [14, 79], "new_end": 79, "new_fre": 79, "new_hotkei": 79, "new_limit": 79, "new_memb": 79, "new_min_contribut": 79, "newblockev": 116, "next": [0, 73, 78, 79, 81, 83], "next_author": 79, "nich": 73, "nn": [1, 8, 24, 70], "no_error": 98, "node": [0, 70, 73, 74, 77, 90, 98, 118], "nomin": [3, 4, 25, 36, 64, 73], "nominationerror": 25, "non": [0, 25, 26, 41, 70, 74, 78, 101, 111], "non_sudo_cal": [78, 121], "nonassociatedcoldkei": [25, 26, 41, 73], "nonc": [0, 30, 39, 49, 58, 67, 73, 74, 77, 79, 100, 114, 116, 117], "nonce_kei": [39, 67, 73, 77], "nonce_start": 117, "none": [0, 5, 9, 10, 11, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 51, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 83, 84, 90, 98, 100, 101, 104, 105, 108, 111, 114, 116, 117, 120], "nontorchmetagraph": 70, "normal": 120, "normalize_max_weight": 120, "notdelegateerror": 25, "note": [28, 32, 43, 60, 78, 98, 113], "note_preimag": 79, "note_stal": 79, "notenoughstaketosetchildkei": [25, 26, 41], "notregisterederror": 25, "notverifiedexcept": 25, "now": [0, 70, 73, 74, 77, 79], "np": [75, 120], "null": [10, 11, 73], "null_entri": 76, "num": 110, "num_neuron": 120, "num_proc": 116, "num_process": [30, 58, 73, 114, 116], "num_uid": [9, 70], "number": [0, 1, 12, 14, 17, 21, 22, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 73, 74, 76, 77, 90, 98, 101, 110, 111, 114, 116, 117, 120], "numer": 0, "numpi": [40, 68, 70, 73, 75, 116, 117, 120], "numpyortorch": 70, "numuid": 9, "obj": [74, 84], "object": [0, 1, 5, 7, 8, 9, 11, 15, 16, 20, 21, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 84, 90, 101, 108, 111], "obtain": 15, "occur": [0, 24, 73], "off": [24, 108, 111], "offer": [0, 24, 73], "offlin": [0, 70], "often": 70, "old": [14, 73, 90], "old_coldkei": [14, 79], "old_count": 79, "oldest_round": 79, "omit": 104, "onc": 73, "one": [0, 23, 24, 29, 32, 44, 60, 70, 73, 75, 76, 77, 83, 104], "ongo": 0, "onli": [0, 24, 70, 72, 73, 74, 75, 90, 98, 108], "op": 73, "open": 24, "opentensor": 71, "oper": [0, 15, 17, 24, 25, 33, 38, 61, 66, 70, 73, 74, 77, 78, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 97, 101, 116, 120], "operand": 101, "optim": 74, "option": [0, 9, 14, 21, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 51, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 83, 85, 90, 98, 100, 101, 104, 108, 111, 113, 116, 118, 120], "order": [74, 77], "org": [71, 73], "origin": [0, 29, 44, 74, 104], "origin_hotkei": 79, "origin_hotkey_ss58": [29, 44, 48, 73], "origin_netuid": [29, 44, 48, 73, 79], "origin_pool": 48, "origin_pric": 73, "origin_subnet_pric": 73, "other": [0, 10, 23, 24, 70, 73, 74, 76, 77, 90, 105], "other_signatori": 79, "otherwis": [24, 37, 65, 73, 74, 76, 77, 111], "our": 76, "out": 0, "outcom": [74, 77], "outlin": 70, "output": [0, 30, 58, 101, 116], "output_in_plac": [30, 58, 73, 114, 116], "over": [3, 4, 24, 70, 74, 116], "overal": 73, "overflow": 25, "overhead": 70, "overload": 74, "overrid": [0, 74, 77, 104, 111], "overridden": [74, 116], "overview": 73, "overwritten": [78, 79, 81], "own": [25, 26, 41, 70, 73, 74], "owner": [3, 4, 38, 39, 44, 66, 67, 73, 83], "owner_coldkei": [5, 9, 70], "owner_hotkei": [5, 9, 70], "owner_ss58": [3, 4, 19], "ownercoldkei": 9, "ownerhotkei": [9, 73], "ownership": [44, 73], "pack": 116, "packag": [74, 85, 108, 118, 119], "page": [79, 121], "pair": [16, 44, 73, 74, 75, 77, 111], "pallet": [73, 78, 79, 81, 84, 121], "paper": 70, "param": [42, 73, 77, 121], "param_nam": [23, 73], "paramet": [0, 1, 4, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 83, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 107, 108, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120], "parameter_dict": [1, 8], "parameterdict": [1, 8], "paramwithtyp": [73, 77], "parent": [25, 26, 41, 72, 73], "parentkei": 73, "pars": [0, 15, 24, 25, 72, 74, 75, 84, 98], "parse_headers_to_input": 74, "parser": [0, 23, 76, 77, 90, 108], "part": [0, 5, 70, 73, 74], "parti": 108, "partial": [29, 33, 38, 44, 61, 66, 73], "partial_meta_info": 73, "particip": [0, 30, 33, 61, 70, 73], "particular": [3, 67, 73], "particularli": [70, 73, 74], "pass": [0, 24, 28, 38, 40, 43, 66, 68, 72, 73, 76, 77, 90, 98, 101, 111, 120], "password": [26, 41, 73, 111], "passworderror": [26, 41, 73, 111], "past": 70, "path": [0, 70], "pattern": 73, "payload": [0, 74, 77, 118], "peer": 70, "penalti": 73, "pend": [73, 76], "pending_alpha_emiss": [5, 9], "pending_root_emiss": [5, 9], "pendingalphaemiss": 9, "pendingchildkei": 73, "pendingrootemiss": 9, "per": [0, 3, 4, 17, 30, 58, 70, 73, 114, 116, 117], "perceiv": 73, "percentag": [3, 4, 5, 33, 36, 38, 61, 64, 66, 73], "perform": [0, 24, 70, 73, 74, 77, 101, 108], "period": [17, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 79, 83], "permit": [10, 11, 25, 70, 73], "persist": 70, "person": 98, "phase": 77, "pickl": [70, 98], "piec": 24, "ping": 24, "pipaddress": 71, "pipelin": 0, "pivot": [0, 70, 74], "place": [0, 14, 24, 70, 73, 85, 114, 116], "placehold": [32, 60, 105], "placeholder1": [1, 32, 51, 60, 77, 79], "placeholder2": [1, 32, 51, 60, 77, 79], "plai": [0, 70, 74], "plan": 73, "point": [70, 73, 101], "poke_deposit": 79, "pool": [0, 5, 9, 28, 43, 52, 56, 70, 73], "popul": [10, 73], "port": [0, 1, 12, 32, 51, 60, 74, 77, 79, 113], "portal": [30, 58], "portion": 15, "posit": [0, 28, 35, 43, 63, 72, 73, 74, 75, 112], "position_id": [28, 43, 47, 73, 79], "possibl": 77, "post": [24, 77], "postprocess": 0, "postprocessexcept": 25, "potenti": [0, 70, 73], "pow": [25, 30, 58, 101, 114, 115, 117, 121], "pow_registration_allow": 9, "power": 98, "powregistrationallow": 9, "powsolut": [114, 116], "practic": [70, 78], "pre": 78, "preced": 77, "precis": 112, "precompile_id": 81, "predefin": 0, "prefer": 70, "prefix": [0, 74, 76, 77, 79, 108], "preimag": 80, "prepar": [73, 108, 118], "prepare_synaps": 118, "prepare_synapse_fn": 118, "prepend": 77, "preprocess": [0, 24], "preprocess_synapse_for_request": 24, "presenc": [0, 73], "present": [9, 73, 74], "preserv": 74, "presum": [73, 90], "prevent": [0, 24, 73, 116], "previou": [0, 67, 70], "previous": 73, "price": [5, 28, 29, 33, 38, 43, 44, 61, 66, 73, 112], "price_high": [28, 43, 47, 73, 112], "price_low": [28, 43, 47, 73, 112], "price_step": 112, "price_to_tick": 112, "primari": [30, 58, 74, 85, 108], "primarili": [70, 78], "prime": 79, "principl": 70, "print": [0, 23, 24, 73, 74, 77, 90, 101, 114, 116], "prior": 74, "priorit": 0, "prioriti": [0, 25, 76, 79], "prioritize_my_synaps": 0, "prioritize_my_synapse_2": 0, "priority_custom": 0, "priority_fn": 0, "priorityexcept": 25, "prioritythreadpoolexecutor": [23, 76], "privat": 0, "privileg": 73, "problem": [116, 117], "proc_num": 116, "proce": 0, "process": [0, 9, 15, 17, 21, 24, 30, 33, 34, 58, 61, 62, 70, 72, 73, 74, 75, 90, 98, 108, 114, 116, 118, 119, 120], "process_error_messag": 24, "process_nest": 9, "process_respons": 118, "process_responses_fn": 118, "process_server_respons": 24, "process_stake_data": 21, "process_streaming_respons": 72, "process_tim": 74, "process_weight": 120, "process_weights_for_netuid": 120, "processing_dur": 74, "processor": 0, "produc": 74, "program": 0, "progress": [73, 114, 116], "prohibit": [0, 73], "project": [85, 104, 106], "prolifer": 73, "prometheu": [10, 11, 12, 77], "prometheus_info": [6, 10, 11, 121], "prometheusinfo": [10, 11, 12], "prometheusservecallparam": 77, "promptli": 0, "proof": [30, 58, 73, 114, 116, 117], "propag": 70, "proper": [24, 70, 73, 74], "properli": [0, 24], "properti": [1, 24, 70, 73, 74, 76, 83, 90, 101], "proport": [25, 26, 41, 70, 73], "proportionoverflow": [25, 26, 41], "propos": [13, 73, 79], "proposal_dict": 13, "proposal_hash": [73, 79], "proposal_vote_data": [6, 121], "proposal_weight_bound": 79, "proposalcalldata": 6, "proposalvotedata": [13, 73], "protect": [29, 44, 70, 73], "protocol": [0, 1, 8, 32, 51, 60, 73, 74, 77, 79], "provid": [0, 6, 9, 10, 15, 21, 24, 26, 30, 35, 40, 41, 55, 58, 63, 67, 68, 70, 72, 73, 74, 77, 78, 90, 98, 101, 105, 106, 108, 111, 112, 114, 116, 117, 120], "provis": 112, "proxi": [79, 80, 116], "proxy_announc": 79, "proxy_typ": 79, "prune": [10, 11], "pruning_scor": [9, 10, 11, 20, 70], "pruningscor": 9, "public": [0, 37, 65, 70, 73, 109], "publish": [32, 60, 73, 108], "publish_metadata": 73, "publish_metadata_extrins": [32, 60], "pulses_payload": 79, "punit": 73, "purpos": 73, "put": 116, "py": 109, "pydant": [72, 74, 75], "pydantic_cor": [72, 74, 75], "pypi": [71, 119], "python": 98, "pytorch": [70, 120], "pyvalueerror": 98, "quantil": 120, "queri": [22, 24, 25, 70, 73, 74, 90, 118, 121], "query_api": 118, "query_const": [73, 93], "query_ident": [73, 92], "query_map": [73, 93], "query_map_subtensor": [73, 93], "query_modul": [73, 93], "query_runtime_api": [73, 93], "query_subtensor": [73, 93], "querymapresult": [21, 73], "queue": [0, 76, 108, 116], "queuehandl": 108, "queuelisten": 108, "quick": [73, 74], "quicker": 70, "quicknet": 98, "quot": 112, "r": 70, "rais": [0, 1, 21, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 98, 101, 111, 113, 114, 116, 119], "raise_error": [26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 77, 83, 111], "randomli": [40, 68, 73], "rang": [0, 28, 43, 73, 112, 113], "rank": [0, 9, 10, 11, 20, 70, 73], "rao": [21, 73, 101], "rao_recycl": 81, "rao_symbol": 71, "rao_unit": 101, "raopertao": 111, "rate": [10, 17, 25, 26, 41, 70, 73, 79], "rate_limit": 81, "rate_toler": [29, 33, 38, 44, 48, 52, 56, 61, 66, 73], "rather": [24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 74, 77], "ratio": [29, 35, 38, 44, 63, 66, 73], "raw": [73, 74, 75, 77, 101], "raw0": [32, 60], "re": [73, 74], "reach": [25, 73, 83, 98], "read": 74, "read_onli": 71, "readabl": [0, 110, 111], "readi": [0, 72, 73], "real": [73, 79], "realli": 0, "realloc": 73, "reap": 73, "receipt": [33, 61, 73, 77], "receiv": [0, 5, 24, 30, 33, 61, 70, 73, 74], "received_head": 74, "receiver_hotkei": 0, "recent": 73, "recipi": [37, 65], "reclaim": 76, "recogn": 73, "recommend": [24, 74, 109], "recomput": 0, "reconstitut": 70, "reconstruct": [0, 74, 77], "record": [28, 43, 70, 73, 104], "record_log": 108, "recreate_calls_subpackag": [78, 79, 81], "recurs": 74, "recycl": [30, 58, 73, 95], "recycle_alpha": 79, "recycle_or_burn": 81, "redeploi": 0, "reduc": [70, 73], "refer": [70, 73, 77, 78, 79, 81, 122], "reflect": [70, 73], "refund": 79, "regener": [78, 79, 81], "regist": [0, 3, 4, 25, 26, 30, 31, 41, 49, 58, 59, 73, 77, 79, 89, 95, 108, 114, 116], "register_cuda": [115, 121], "register_extrins": [30, 58], "register_leased_network": 79, "register_network": [49, 79], "register_network_with_ident": 79, "register_neuron": 84, "register_primary_logg": 108, "register_subnet": [73, 77, 84, 89, 95], "register_subnet_extrins": [30, 58, 77], "registerneuron": 84, "registersubnet": 84, "registr": [0, 1, 3, 4, 8, 17, 24, 25, 27, 37, 42, 46, 65, 70, 73, 75, 111, 120, 121], "registration_allow": [9, 17, 81], "registrationallow": 9, "registrationerror": 25, "registrationnotpermittedonrootsubnet": [25, 26, 41], "registrationparam": 49, "registrationstatist": 116, "registrationstatisticslogg": 116, "registri": [6, 80], "reject": [26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73], "reject_announc": 79, "rel": [35, 63], "relat": [10, 12, 15, 25, 30, 58, 73, 77], "relationship": [70, 73], "releas": [0, 24, 70], "release_deposit": 79, "relev": [0, 1, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 77], "reli": [0, 78], "reliabl": [0, 70, 74], "relianc": 0, "reload": 70, "remain": [26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 73], "remark": 79, "remark_with_ev": 79, "remov": [0, 28, 38, 43, 66, 73, 79, 108], "remove_announc": 79, "remove_kei": 79, "remove_liquid": [47, 73, 79, 89], "remove_liquidity_extrins": [28, 43], "remove_memb": 79, "remove_proxi": 79, "remove_stak": [56, 79], "remove_stake_full_limit": [56, 79], "remove_stake_limit": [56, 79], "replac": 104, "replai": 0, "replic": 74, "report_equivoc": 79, "report_equivocation_unsign": 79, "repositori": [30, 58, 73], "repr": 111, "repres": [0, 1, 3, 5, 8, 10, 11, 12, 14, 15, 16, 17, 22, 24, 32, 60, 67, 70, 73, 74, 75, 76, 77, 78, 79, 81, 101], "represent": [0, 1, 24, 32, 60, 70, 74, 77, 101, 113, 120], "reput": 70, "request": [0, 24, 25, 26, 41, 73, 74, 90, 119], "request_nam": 24, "request_preimag": 79, "requestresponseendpoint": 0, "requir": [0, 25, 70, 72, 73, 74], "required_hash_field": 74, "reserv": 1, "reset": [17, 32, 60, 73, 117], "reset_bond": [32, 60], "reset_cuda": 117, "reset_memb": 79, "resourc": [0, 24, 70, 73, 76, 78], "respect": [15, 70, 109], "respond": 0, "respons": [0, 24, 25, 32, 60, 70, 72, 73, 74, 77, 83, 90, 111, 118], "response_overrid": 0, "restart": 70, "restor": 70, "restrict": 73, "result": [0, 15, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 73, 74, 77, 101, 111, 118], "retent": 55, "retri": [73, 79, 90], "retriev": [0, 67, 70, 72, 73, 119], "retry_forev": [73, 90], "return": [0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 21, 22, 23, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 83, 84, 90, 98, 100, 101, 104, 105, 108, 111, 112, 113, 114, 116, 117, 118, 119, 120], "return_per_1000": [3, 4], "return_str": 98, "reus": [0, 24], "reveal": [17, 21, 22, 40, 68, 73, 98], "reveal_mechanism_weight": [57, 79], "reveal_round": [22, 57, 73, 79, 98], "reveal_weight": [73, 79, 89], "reveal_weights_extrins": [40, 68], "revel": [73, 98], "revers": 111, "reverse_network_map": 71, "reward": [33, 36, 61, 64, 70, 73], "rfc": 104, "rho": [9, 17, 19, 81], "robust": 74, "role": [0, 70, 73, 74], "root": [25, 26, 27, 41, 42, 46, 70, 73, 74, 90, 96, 105, 120, 121], "root_cal": [39, 67], "root_dir": 70, "root_dissolve_network": 79, "root_regist": [50, 51, 73, 79, 89], "root_register_extrins": [31, 59], "root_set_pending_childkey_cooldown": [73, 89], "root_set_pending_childkey_cooldown_extrins": [26, 41], "root_tao_stake_weight": 71, "rootparam": 50, "round": [22, 73, 98], "round_numb": 22, "rounds_tot": 116, "rout": 74, "router": [0, 113], "row": [70, 120], "rpc": [6, 73, 77], "rule": [0, 73], "run": [0, 73, 74, 76, 78, 79, 81, 111, 114, 116], "run_async": 24, "run_in_thread": 0, "runexcept": 25, "runtim": [0, 70, 73], "runtime_api": 73, "runtimeerror": 70, "s0": 104, "s39": 104, "safe": [24, 52, 73, 74, 76, 116], "safe_glob": 70, "safe_stak": [33, 61, 73], "safe_swap": [29, 44, 73], "safe_unstak": [38, 66, 73], "safemod": 80, "safeti": [29, 33, 38, 44, 61, 66, 73], "salt": [40, 57, 68, 73, 77, 79, 120], "salts_list": 79, "same": [0, 23, 26, 41, 44, 73, 74, 98, 101, 114, 116], "sanit": 74, "save": [70, 78, 104, 119], "scalabl": [0, 73], "scale": [6, 21, 73], "scalebyt": 21, "scalecodec": [21, 73, 77, 101], "scaleobj": 73, "scaletyp": 101, "scaling_law_pow": 19, "scenario": [0, 24, 78, 79, 81], "schedul": [14, 76, 79, 80], "schedule_aft": 79, "schedule_grandpa_chang": 79, "schedule_nam": 79, "schedule_named_aft": 79, "schedule_swap_coldkei": 79, "scheduled_coldkey_swap_info": [6, 121], "scheduledcoldkeyswapinfo": [14, 21], "schema": [73, 74], "score": [10, 11, 70], "sdk": 77, "seal": [116, 117], "seamless": 0, "seamlessli": 0, "search": 67, "second": [5, 24, 40, 68, 73, 90, 98, 100, 101, 118, 119], "section": 77, "secur": [0, 70, 73, 74], "see": [23, 25, 73, 75, 76, 77, 101, 111, 113, 119], "seen": [0, 74], "select": 73, "selected_indic": 73, "selective_metagraph_commitments_offset": 9, "selectivemetagraphindex": [9, 73], "self": [0, 23, 24, 25, 72, 74, 75, 76, 77, 101, 111, 113, 119], "senat": [13, 73], "senatememb": 80, "send": [24, 30, 58, 70, 72, 74], "sender": 0, "sensit": [70, 73, 74], "sent": [0, 24, 72, 74], "separ": [0, 74, 85, 108], "sequenti": 24, "serial": [0, 22, 70, 74, 75], "serialized_data": 74, "serv": [0, 1, 27, 42, 46, 70, 73, 74, 77, 78, 109, 121], "serve_axon": [73, 79, 89], "serve_axon_and_tl": 51, "serve_axon_extrins": [32, 60], "serve_axon_tl": 79, "serve_extrins": [32, 60], "serve_prometheu": 79, "server": [0, 24, 25, 30, 58, 72], "server_respons": 24, "servic": [0, 17, 73, 77], "serving_rate_limit": [9, 17, 81], "servingparam": 51, "servingratelimit": 9, "session": [24, 70], "set": [0, 1, 15, 23, 24, 25, 26, 30, 33, 35, 36, 37, 40, 41, 58, 61, 63, 64, 65, 68, 69, 70, 73, 74, 77, 79, 83, 98, 101, 107, 108, 116, 120, 121], "set_auto_stak": [73, 94], "set_auto_stake_extrins": [33, 52, 61], "set_base_fee_per_ga": 79, "set_beacon_config": 79, "set_childkey_tak": 79, "set_children": [45, 73, 79, 89, 97], "set_children_extrins": [26, 41], "set_cod": 79, "set_code_without_check": 79, "set_coldkey_auto_stake_hotkei": [52, 79], "set_commit": [51, 73, 79, 87, 89], "set_config": 108, "set_consol": 108, "set_debug": 108, "set_default": 108, "set_delegate_tak": [73, 88], "set_elast": 79, "set_fee_r": 79, "set_heap_pag": 79, "set_hyperparamet": 83, "set_ident": 79, "set_info": 108, "set_kei": 79, "set_max_spac": 79, "set_mechanism_weight": [57, 79], "set_memb": 79, "set_name_typ": 74, "set_oldest_stored_round": 79, "set_pending_childkey_cooldown": [45, 79], "set_prim": 79, "set_retri": 79, "set_retry_nam": 79, "set_reveal_commit": [73, 87], "set_storag": 79, "set_subnet_ident": [49, 73, 79, 89, 95], "set_subnet_identity_extrins": [30, 58], "set_take_extrins": [36, 64], "set_trac": [104, 108], "set_unit": 101, "set_warn": 108, "set_weight": [73, 79, 89], "set_weights_extrins": [40, 68], "set_whitelist": 79, "setlevel": 108, "setup": [0, 73], "setup_config": [77, 90], "sever": [0, 76], "sgvsbg8gv29ybgq": 74, "sha256": [32, 60], "sha3": 74, "shape": [73, 75], "share": [35, 63, 70, 73, 101, 116], "shorter": [35, 63], "should": [0, 24, 30, 32, 58, 60, 70, 72, 73, 74, 75, 114, 116], "should_exit": 0, "should_sync": 70, "show": [78, 111], "shut": 0, "shutdown": [0, 76, 90], "side": 0, "sigmoid": 17, "sign": [0, 24, 26, 28, 30, 34, 36, 37, 39, 41, 43, 58, 62, 64, 65, 67, 70, 73, 77], "sign_and_send_extrins": [73, 90], "sign_with": [39, 67, 73], "signal": [0, 24], "signatur": [0, 23, 25, 72, 73, 74, 75, 76, 77, 79, 101, 111, 113, 119], "signer": 77, "signifi": 70, "signific": 73, "significantli": 78, "silent": [24, 73], "sim_swap": [6, 73, 94, 121], "similar": [24, 70, 73, 90], "simpl": 74, "simpli": [74, 77], "simplifi": [70, 73], "simswap": 73, "simswapresult": [15, 73], "simul": [15, 73], "sinc": 73, "singl": [24, 73], "size": [70, 74], "skip": [33, 38, 61, 66, 105], "slippag": 5, "sn": 73, "sn_netuid": 83, "snapshot": [70, 73], "so": [74, 120], "softwar": 70, "solut": [25, 114, 116, 117], "solution_queu": 116, "solv": [30, 58, 73, 114, 116, 117], "solve_cuda": 117, "solver": [25, 116], "some": [17, 73, 90], "some_hotkei": 73, "some_hotkey_where_is_your_stake_now": 73, "someth": 0, "sourc": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 37, 38, 40, 41, 43, 44, 58, 59, 60, 61, 62, 65, 66, 67, 70, 72, 73, 74, 75, 76, 77, 79, 100, 101, 102, 104, 105, 108, 110, 111, 112, 113, 114, 116, 117, 118, 120], "spam": 0, "spawner": 79, "spec": [79, 80, 81], "special": [0, 70, 72, 104], "specif": [0, 3, 15, 33, 38, 40, 61, 66, 68, 70, 72, 73, 74, 76, 90, 98, 108, 118], "specifi": [0, 15, 21, 24, 28, 32, 33, 38, 43, 60, 61, 66, 67, 70, 73, 74, 104, 108, 111], "specul": 70, "sphinx": 121, "split": [35, 63, 73], "split_command": 84, "ss58": [3, 16, 21, 22, 26, 29, 33, 36, 38, 41, 44, 55, 61, 64, 66, 67, 73, 111], "ss58_address": [37, 65, 73, 111, 120], "ss58_address_length": 71, "ss58_address_to_byt": 111, "ss58_decod": 111, "ss58_to_hex": 111, "ss58_to_vec_u8": 111, "stabil": [70, 73], "stabl": 0, "stacklevel": 108, "stage": 0, "stake": [3, 5, 10, 11, 16, 21, 25, 26, 27, 28, 29, 30, 37, 38, 41, 42, 43, 44, 46, 65, 66, 67, 70, 73, 90, 121], "stake_data": 21, "stake_dict": [10, 11], "stake_info": [6, 121], "stakeerror": 25, "stakeinfo": [16, 21, 67, 73], "staker": 5, "stakingparam": 52, "stale": 116, "standard": [70, 73, 74, 77, 106], "starlett": [0, 72], "start": [0, 17, 34, 62, 73, 74, 108, 116, 117], "start_cal": [27, 42, 46, 73, 79, 89, 90, 95, 121], "start_call_extrins": [34, 62], "start_tim": 0, "startcallparam": 53, "stat": 116, "state": [0, 5, 20, 24, 70, 73, 74, 86, 104, 108], "state_cal": [73, 86], "state_dict": 70, "statemachin": 108, "static": [9, 10, 11, 70, 75, 77, 101, 116], "statist": 116, "statu": [0, 10, 24, 70, 73, 74, 77, 108, 111, 116], "status_cod": [0, 74], "status_messag": 74, "stdout": [0, 77], "steep": [17, 81], "step": [0, 30, 73, 83, 84], "stop": [0, 108, 116], "stopev": 116, "storag": [22, 73, 111], "storage_index": 111, "storagefunctionnotfound": 25, "store": [70, 74, 101, 116], "str": [0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 30, 32, 33, 36, 37, 38, 39, 41, 43, 44, 45, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 60, 61, 64, 65, 66, 67, 70, 71, 73, 74, 75, 76, 77, 83, 90, 98, 101, 102, 104, 105, 108, 111, 112, 113, 116, 117, 119, 120], "str_val": 113, "strateg": 73, "stream": [24, 69, 108, 121], "stream_respons": 72, "streamer": 72, "streamingrespons": 72, "streamingsynaps": [0, 24, 72], "streamlin": [73, 78], "strict": [23, 111], "string": [1, 8, 11, 21, 22, 24, 70, 73, 74, 75, 77, 78, 98, 101, 104, 111, 113], "stronger": 70, "strtobool": 111, "struct": 98, "structur": [1, 6, 9, 21, 70, 72, 73, 74, 78, 85], "style": 104, "sub": [40, 68, 71, 85, 106, 116], "subclass": [72, 74], "subkei": 79, "submetagraph": 111, "submiss": [73, 77], "submit": [26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 76, 77], "submodul": 109, "subnet": [0, 1, 3, 4, 6, 8, 17, 18, 19, 24, 25, 28, 29, 30, 33, 34, 35, 37, 38, 39, 40, 43, 44, 58, 61, 62, 63, 65, 66, 67, 68, 70, 73, 77, 82, 90, 101, 111, 112, 114, 116, 120, 121], "subnet_contact": [18, 30, 49, 58, 79], "subnet_emiss": 9, "subnet_exist": [73, 95], "subnet_hyperparamet": [6, 121], "subnet_ident": [5, 6, 9, 73, 121], "subnet_info": [6, 121], "subnet_is_act": 17, "subnet_nam": [5, 18, 30, 49, 58, 79], "subnet_owner_cut": 81, "subnet_st": [6, 121], "subnet_url": [18, 30, 49, 58, 79], "subnet_volum": [5, 9], "subnetemiss": 9, "subnethyperparamet": [17, 21, 73], "subnetident": [5, 9, 18, 21, 70, 73], "subnetinfo": [19, 21, 73], "subnetnotexist": [25, 26, 41], "subnetrevealperiodepoch": 73, "subnetsapi": 118, "subnetst": [20, 21], "subnetvolum": 9, "subnetwork": [20, 30, 58, 73], "subnetwork_n": [19, 73, 95], "subnetworkn": 73, "subscrib": [25, 32, 60, 73], "subsequ": [0, 23, 24], "subset": 73, "substrat": [73, 78, 79, 81, 90], "substraterequestexcept": [25, 33, 61, 73, 111], "subtensor": [0, 22, 23, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 77, 78, 79, 80, 81, 83, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 111, 114, 116, 120, 121], "subtensor_api": [85, 121], "subtensor_field": 96, "subtensorapi": [77, 83, 90, 96], "subtensormixin": [73, 77], "subtensormodul": [73, 80], "subtoken_en": 81, "subvortex": 71, "subvortex_entrypoint": 71, "succeed": [74, 77], "success": [0, 25, 37, 65, 73, 74, 77, 102, 108, 111], "success_level_num": 104, "successfulli": [73, 77], "sudo": [27, 39, 42, 67, 78, 79, 80, 81, 84, 121], "sudo_a": 81, "sudo_cal": [78, 83, 121], "sudo_call_extrins": [39, 67], "sudo_or_owner_wallet": 83, "sudo_set_activity_cutoff": 81, "sudo_set_adjustment_alpha": 81, "sudo_set_adjustment_interv": 81, "sudo_set_admin_freeze_window": 81, "sudo_set_admin_freeze_window_extrins": [35, 63], "sudo_set_alpha_sigmoid_steep": 81, "sudo_set_alpha_valu": 81, "sudo_set_bonds_moving_averag": 81, "sudo_set_bonds_penalti": 81, "sudo_set_bonds_reset_en": 81, "sudo_set_ck_burn": 81, "sudo_set_coldkey_swap_schedule_dur": 81, "sudo_set_commit_reveal_vers": 81, "sudo_set_commit_reveal_weights_en": 81, "sudo_set_commit_reveal_weights_interv": 81, "sudo_set_default_tak": 81, "sudo_set_difficulti": 81, "sudo_set_dissolve_network_schedule_dur": 81, "sudo_set_ema_price_halving_period": 81, "sudo_set_evm_chain_id": 81, "sudo_set_immunity_period": 81, "sudo_set_kappa": 81, "sudo_set_liquid_alpha_en": 81, "sudo_set_lock_reduction_interv": 81, "sudo_set_max_allowed_uid": 81, "sudo_set_max_allowed_valid": 81, "sudo_set_max_burn": 81, "sudo_set_max_childkey_tak": 81, "sudo_set_max_difficulti": 81, "sudo_set_max_registrations_per_block": 81, "sudo_set_max_weight_limit": 81, "sudo_set_mechanism_count": 81, "sudo_set_mechanism_count_extrins": [35, 63], "sudo_set_mechanism_emission_split": 81, "sudo_set_mechanism_emission_split_extrins": [35, 63], "sudo_set_min_allowed_uid": 81, "sudo_set_min_allowed_weight": 81, "sudo_set_min_burn": 81, "sudo_set_min_childkey_tak": 81, "sudo_set_min_delegate_tak": 81, "sudo_set_min_difficulti": 81, "sudo_set_network_immunity_period": 81, "sudo_set_network_min_lock_cost": 81, "sudo_set_network_pow_registration_allow": 81, "sudo_set_network_rate_limit": 81, "sudo_set_network_registration_allow": 81, "sudo_set_nominator_min_required_stak": 81, "sudo_set_owner_hparam_rate_limit": 81, "sudo_set_owner_immune_neuron_limit": 81, "sudo_set_rao_recycl": 81, "sudo_set_recycle_or_burn": 81, "sudo_set_rho": 81, "sudo_set_serving_rate_limit": 81, "sudo_set_sn_owner_hotkei": 81, "sudo_set_stake_threshold": 81, "sudo_set_subnet_limit": 81, "sudo_set_subnet_moving_alpha": 81, "sudo_set_subnet_owner_cut": 81, "sudo_set_subnet_owner_hotkei": 81, "sudo_set_subtoken_en": 81, "sudo_set_target_registrations_per_interv": 81, "sudo_set_tempo": [73, 81], "sudo_set_toggle_transf": 81, "sudo_set_total_issu": 81, "sudo_set_tx_childkey_take_rate_limit": 81, "sudo_set_tx_delegate_take_rate_limit": 81, "sudo_set_tx_rate_limit": 81, "sudo_set_weights_set_rate_limit": 81, "sudo_set_weights_version_kei": 81, "sudo_set_yuma3_en": 81, "sudo_toggle_evm_precompil": 81, "sudo_trim_to_max_allowed_uid": 81, "sudo_unchecked_weight": 81, "suffici": 73, "suffix": [108, 110], "suggest": 70, "suitabl": 74, "sum": [26, 35, 41, 63, 70, 74, 120], "superclass": 74, "suppli": 70, "support": [0, 23, 73, 77], "supress": 111, "sure": 98, "swap": [14, 15, 29, 44, 73, 80], "swap_author": 79, "swap_coldkei": 79, "swap_cost": 79, "swap_hotkei": 79, "swap_memb": 79, "swap_stak": [48, 73, 79, 89, 94], "swap_stake_extrins": [29, 44], "swap_stake_limit": [48, 79], "sy": 111, "symbol": [5, 9, 70, 79, 101, 109], "synaps": [0, 24, 25, 69, 72, 100, 118, 121], "synapse_dict": 74, "synapse_histori": 24, "synapse_nonc": 100, "synapse_timeout": 100, "synapse_to_respons": 0, "synapsedendritenoneexcept": 25, "synapseexcept": 25, "synapseparsingerror": 25, "sync": [58, 68, 70, 73, 83, 90], "sync_substr": [21, 73, 77], "synchron": [24, 70, 73, 83, 116], "system": [24, 70, 73, 78, 79, 80, 81, 105, 108, 116], "t": [0, 7, 25, 26, 41, 70, 73, 108, 111], "tailor": [0, 74], "take": [0, 3, 4, 14, 25, 27, 42, 46, 72, 73, 79, 81, 121], "takeerror": 25, "taken": [74, 78, 79, 81], "takeparam": 54, "tamper": [0, 73, 74], "tao": [3, 4, 5, 9, 15, 28, 30, 33, 38, 43, 55, 58, 61, 66, 70, 71, 73, 77, 101, 112], "tao_amount": 15, "tao_app_block_explor": 71, "tao_dividends_per_hotkei": [9, 70], "tao_fe": 15, "tao_fees_above_high": 112, "tao_fees_below_low": 112, "tao_in": [5, 9], "tao_in_emiss": [5, 9], "tao_slippag": 5, "tao_stak": [9, 20, 70], "tao_symbol": 71, "tao_to_alpha": 5, "tao_to_alpha_with_slippag": 5, "taodividendsperhotkei": 9, "taoin": 9, "taoinemiss": 9, "taostak": 9, "target": [17, 24, 28, 34, 43, 62, 73, 79], "target_address": 79, "target_axon": 24, "target_axon_info": 24, "target_registrations_per_interv": 81, "target_regs_per_interv": [9, 17], "targetregsperinterv": 9, "task": [0, 73, 74, 79], "tcp": 8, "technic": 73, "techniqu": 0, "technologi": 73, "templat": [78, 79, 81, 104], "tempo": [5, 9, 17, 19, 35, 63, 70, 73, 81, 95], "temporarili": 0, "tensor": [1, 8, 69, 70, 74, 120, 121], "tensor_": 75, "term": [73, 109], "termin": [0, 73, 74, 102], "terminal_info": 74, "terminalinfo": 74, "terminate_leas": 79, "terminate_workers_and_wait_for_exit": 116, "test": [70, 71, 73, 77, 78, 79, 81, 83, 90, 102, 111], "testsubnet": 83, "text": [0, 104, 116], "textual": [30, 58], "th": 70, "than": [0, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 77, 120], "thei": [0, 5, 70, 73, 74, 101, 120], "them": [0, 24, 72, 73, 74, 78], "themselv": 73, "therebi": [0, 73], "thereof": 113, "thi": [0, 1, 3, 4, 5, 6, 9, 10, 11, 15, 17, 20, 21, 22, 23, 24, 25, 30, 32, 33, 37, 38, 58, 60, 61, 65, 66, 67, 70, 72, 73, 74, 76, 77, 78, 79, 81, 85, 90, 98, 101, 104, 105, 106, 108, 111, 112, 114, 116, 117, 118, 120, 121, 122], "thin": 73, "think": [26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 74], "third": 108, "those": [23, 24, 73], "thread": [0, 30, 58, 73, 76, 114, 116, 117], "thread_name_prefix": 76, "thread_pool": 0, "threadpool": [0, 69, 121], "threadpoolexecutor": 76, "threshold": [13, 17, 73, 79, 120], "through": [0, 24, 67, 73, 105], "throughout": 106, "tick": [28, 43, 73, 112], "tick_high": 79, "tick_index": 112, "tick_low": 79, "tick_to_pric": 112, "time": [0, 70, 73, 74, 76, 78, 79, 81, 90, 98, 100, 104, 116], "time_averag": 116, "time_sp": 116, "time_spent_tot": 116, "timelock": [85, 121], "timeout": [0, 24, 33, 61, 73, 74, 100, 118, 119], "timepoint": 79, "timestamp": [0, 10, 11, 70, 73, 77, 80], "tl": [32, 60, 73], "tle": 98, "tmp": 70, "to_dict": 23, "to_head": 74, "to_parameter_dict": [1, 8], "to_str": [0, 1], "to_token_amount": 112, "togeth": 78, "toggl": [28, 43, 73, 81], "toggle_user_liquid": [47, 73, 79, 89], "toggle_user_liquidity_extrins": [28, 43], "token": [15, 38, 66, 70, 72, 73, 112], "token_stream": 72, "toler": [29, 33, 38, 44, 61, 66, 73], "tolist": 75, "too": [25, 26, 41, 73, 90], "tool": [73, 74, 85], "toomanychildren": [25, 26, 41], "top": 109, "topologi": [0, 73], "torch": [1, 8, 24, 70, 75, 111, 116, 120], "torchmetagraph": 70, "total": [3, 10, 11, 70, 73, 74, 116], "total_bal": 101, "total_bit": 101, "total_issu": 81, "total_s": 74, "total_stak": [3, 9, 10, 11, 20, 70], "totalstak": 9, "toward": [70, 73], "tpb": [30, 58, 73, 114, 116, 117], "trace": [0, 77, 104, 107, 108], "trace_level_num": 104, "trace_log_format": 103, "track": [70, 73, 74], "transact": [25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 73, 74, 77, 79], "transaction_alpha_fe": 77, "transaction_fe": 77, "transaction_tao_fe": 77, "transactor": [25, 73], "transfer": [17, 25, 27, 29, 42, 44, 46, 73, 89, 97, 121], "transfer_al": [37, 55, 65, 73, 79], "transfer_allow_death": [55, 79], "transfer_extrins": [37, 65], "transfer_keep_al": [55, 79], "transfer_stak": [48, 73, 77, 79, 89, 94], "transfer_stake_extrins": [29, 44], "transfererror": 25, "transferparam": 55, "transfers_en": 17, "transform": [9, 74], "transit": [0, 108], "transmiss": [0, 74], "transmit": [24, 74], "transpar": [73, 74], "transport": 74, "travers": 74, "treat": 101, "trigger": [0, 34, 62, 73, 77], "triumvir": 80, "triumviratememb": 80, "true": [0, 1, 5, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 73, 74, 76, 77, 83, 90, 96, 98, 101, 104, 107, 108, 111, 114, 116], "trust": [0, 9, 10, 11, 20, 70, 73], "trustworthi": [0, 70, 73], "truth": 111, "try": [25, 116], "try_associate_hotkei": 79, "tupl": [0, 5, 9, 10, 21, 22, 24, 26, 33, 38, 41, 45, 55, 61, 66, 70, 73, 74, 76, 77, 79, 81, 83, 98, 100, 108, 111, 112, 117, 120], "tv": 70, "two": [75, 77, 101], "tx_rate_limit": [73, 81, 86, 90], "txratelimitexceed": [25, 26, 41], "type": [0, 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 78, 79, 81, 83, 98, 100, 101, 104, 105, 108, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121], "type_nam": 21, "type_registri": 71, "type_str": 21, "typeddict": [77, 101], "typeerror": [1, 21, 25, 98], "typic": [0, 70, 72, 73, 74], "u128": 101, "u16_max": [111, 120], "u16_normalized_float": 111, "u32": 120, "u32_max": 120, "u64": 111, "u64_max": 111, "u64_normalized_float": 111, "u64f64": 101, "udp": 8, "uid": [10, 11, 28, 29, 32, 33, 34, 38, 40, 43, 44, 57, 60, 61, 62, 66, 68, 70, 73, 77, 79, 101, 120], "uids_list": 79, "uint64": [26, 41, 120], "unabl": 25, "unauthor": [0, 74], "unavail": 73, "unchang": 113, "underli": [0, 24, 70, 73, 77, 108], "understand": [70, 73, 78], "undesir": 0, "unexpect": 101, "unifi": 24, "union": [1, 5, 8, 9, 21, 24, 30, 32, 40, 55, 58, 60, 68, 70, 73, 75, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 97, 98, 101, 111, 114, 116, 117, 118, 120], "uniqu": [0, 10, 11, 24, 30, 33, 35, 38, 40, 58, 61, 63, 66, 67, 68, 70, 73, 74, 113, 120], "uniswap": 112, "unit": [0, 15, 25, 70, 73, 101], "unknownsynapseerror": 25, "unless": 24, "unlock": [26, 28, 34, 41, 43, 62, 73, 77, 111], "unlock_kei": 111, "unlock_typ": [77, 111], "unlock_wallet": 77, "unlockstatu": 111, "unmet": 0, "unnote_preimag": 79, "unpickl": 70, "unpicklingerror": 70, "unrequest_preimag": 79, "unsaf": 73, "unstak": [5, 25, 27, 33, 42, 46, 61, 73, 89, 94, 121], "unstake_al": [38, 66, 73, 79, 89, 94], "unstake_all_alpha": 79, "unstake_all_extrins": [38, 66], "unstake_extrins": [38, 66], "unstake_multipl": [73, 89, 94], "unstake_multiple_extrins": [38, 66], "unstakeerror": 25, "unstakingparam": 56, "unsuccess": [26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 77, 111], "unsupport": 25, "until": [73, 76, 83], "up": [0, 24, 70, 73, 76, 77, 108, 119], "updat": [0, 10, 11, 24, 25, 30, 58, 70, 72, 73, 116, 117], "update_cap": 79, "update_curr_block": 116, "update_end": 79, "update_interv": [30, 58, 73, 114, 116, 117], "update_min_contribut": 79, "update_symbol": 79, "upgrade_account": 79, "upon": [24, 33, 61, 70, 73], "upper": [28, 43, 73, 117], "urgenc": 0, "url": [0, 2, 24, 25, 30, 58, 73, 77, 79, 111, 113], "urllib": 113, "us": [0, 1, 5, 15, 17, 21, 22, 24, 25, 26, 28, 30, 32, 33, 34, 36, 38, 39, 40, 41, 43, 58, 60, 61, 62, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 78, 79, 81, 85, 90, 98, 101, 104, 109, 111, 114, 116, 117, 118, 120], "usag": [0, 24, 73, 74, 98, 101], "use_nonc": [39, 67, 73], "use_torch": [1, 111, 116], "user": [0, 17, 24, 28, 43, 70, 73, 74, 120], "user_bittensor_dir": 71, "user_liquidity_en": 17, "using_new_loop": 24, "usingspawnstartmethod": 116, "usual": 25, "utf": [74, 111], "util": [0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 15, 16, 19, 20, 24, 27, 28, 29, 32, 33, 37, 38, 42, 43, 44, 47, 48, 51, 52, 55, 56, 60, 61, 65, 66, 70, 73, 75, 77, 80, 82, 83, 90, 99, 121], "uuid": [0, 24, 74], "uvicorn": 0, "v": [75, 77], "v2": 73, "v3": 112, "v_7_2_0": 0, "val": 111, "valid": [0, 3, 4, 9, 10, 11, 17, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 77, 101, 104, 111, 116, 120], "validate_chain_endpoint": 111, "validate_extrinsic_param": [73, 89], "validationerror": [72, 74, 75], "validator_permit": [3, 4, 9, 10, 11, 20, 70], "validator_trust": [10, 11, 70], "validatorpermit": 9, "valu": [0, 1, 9, 10, 11, 15, 17, 21, 23, 26, 40, 41, 55, 68, 70, 73, 74, 75, 77, 78, 79, 100, 101, 111, 112, 116, 120], "valuabl": [70, 73, 74], "valueerror": [1, 73, 111, 114, 116], "values_list": 79, "variabl": [0, 1, 3, 8, 10, 11, 12, 14, 15, 16, 17, 22, 70, 72, 74, 77, 101], "variou": [0, 70, 73], "vec_u8": 14, "vector": 21, "verbos": [73, 90, 114, 116], "verif": [0, 74], "verifi": [0, 25, 73, 74], "verify_body_integr": 0, "verify_custom": 0, "verify_fn": 0, "verify_my_synaps": 0, "verify_my_synapse_2": 0, "versatil": 73, "version": [1, 4, 10, 12, 17, 40, 68, 70, 73, 74, 77, 79, 80, 81, 90, 104, 111, 113, 120, 121], "version_as_int": [40, 68, 71, 73], "version_check_threshold": 119, "version_kei": [40, 57, 68, 73, 79, 120], "version_split": 71, "versioncheckerror": [111, 119], "via": [0, 70, 75, 77, 109], "viabil": 73, "view": 73, "vital": [0, 70, 74], "vote": [73, 79], "w": [70, 71, 113], "w_": 70, "wa": [0, 5, 23, 33, 37, 38, 61, 65, 66, 70, 73, 74, 77], "wai": [15, 24, 73, 74, 77, 101], "wait": [24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 76, 83, 90, 98], "wait_for_block": [73, 90], "wait_for_fin": [26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 83], "wait_for_inclus": [26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 83], "wait_next_epoch": 83, "wait_reveal_and_decrypt": 98, "wallet": [0, 23, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73, 74, 77, 78, 79, 81, 83, 84, 90, 101, 109, 111, 114, 116, 118, 120, 121], "wallet_stak": 73, "wallets_dir": 71, "want": 104, "warn": [77, 102, 107, 108, 111], "we": 113, "web": [30, 58], "websocket": [73, 77, 111, 113], "websocket_shutdown_tim": 90, "weight": [10, 11, 17, 22, 27, 30, 35, 42, 46, 63, 70, 73, 77, 79, 81, 95, 120, 121], "weight_commit_info": [6, 121], "weight_uid": 120, "weight_util": [111, 121], "weight_val": 120, "weightcommitinfo": 22, "weights_as_dict": 10, "weights_rate_limit": [9, 17, 73, 95], "weights_set_rate_limit": 81, "weights_vers": [9, 17], "weights_version_kei": 81, "weightsparam": 57, "weightsratelimit": 9, "weightssetratelimit": 73, "weightsvers": 9, "well": [70, 78, 101], "were": [33, 38, 61, 66, 73], "when": [0, 1, 22, 23, 24, 25, 28, 29, 38, 43, 44, 66, 70, 73, 74, 76, 77, 79, 98, 101, 108, 114, 116], "where": [0, 5, 10, 21, 22, 24, 70, 73, 90, 101], "whether": [0, 11, 21, 24, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 73, 77, 90, 118], "which": [0, 4, 14, 17, 23, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 77, 111], "while": [0, 44, 70, 73, 85, 112, 116], "who": [73, 74, 79, 81], "whole": [1, 73], "whose": 73, "wide": [70, 73, 109], "window": [35, 63, 73, 81, 100], "with_log": 77, "with_weight": 79, "withdraw": [73, 79], "withdrawn": 73, "within": [0, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 78, 116, 118], "without": [0, 11, 24, 38, 66, 73, 74, 78, 102], "work": [6, 24, 30, 49, 58, 73, 79, 101, 114, 116, 117], "worker": [0, 76, 116], "world": 74, "would": [5, 29, 44, 73, 74], "wrap": 108, "wrapper": 74, "writabl": 111, "write_puls": 79, "wrong": [26, 33, 38, 41, 61, 66, 73, 98], "wss": [71, 90, 113], "www": 71, "x": [98, 111, 120], "x_person": 98, "x_person_2": 98, "y": [103, 111, 120], "ye": 111, "yield": [0, 24, 77, 105], "you": [0, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 73, 74, 90, 98, 104], "your": [0, 24, 70, 73, 74, 90, 98, 104, 113], "yoursynaps": 0, "yuma": [17, 70, 73], "yuma_vers": 17, "zero": [33, 35, 38, 61, 63, 66, 67], "\u03c41": 77, "\u03c410": 101}, "titles": ["bittensor.core.axon", "bittensor.core.chain_data.axon_info", "bittensor.core.chain_data.chain_identity", "bittensor.core.chain_data.delegate_info", "bittensor.core.chain_data.delegate_info_lite", "bittensor.core.chain_data.dynamic_info", "bittensor.core.chain_data", "bittensor.core.chain_data.info_base", "bittensor.core.chain_data.ip_info", "bittensor.core.chain_data.metagraph_info", "bittensor.core.chain_data.neuron_info", "bittensor.core.chain_data.neuron_info_lite", "bittensor.core.chain_data.prometheus_info", "bittensor.core.chain_data.proposal_vote_data", "bittensor.core.chain_data.scheduled_coldkey_swap_info", "bittensor.core.chain_data.sim_swap", "bittensor.core.chain_data.stake_info", "bittensor.core.chain_data.subnet_hyperparameters", "bittensor.core.chain_data.subnet_identity", "bittensor.core.chain_data.subnet_info", "bittensor.core.chain_data.subnet_state", "bittensor.core.chain_data.utils", "bittensor.core.chain_data.weight_commit_info", "bittensor.core.config", "bittensor.core.dendrite", "bittensor.core.errors", "bittensor.core.extrinsics.asyncex.children", "bittensor.core.extrinsics.asyncex", "bittensor.core.extrinsics.asyncex.liquidity", "bittensor.core.extrinsics.asyncex.move_stake", "bittensor.core.extrinsics.asyncex.registration", "bittensor.core.extrinsics.asyncex.root", "bittensor.core.extrinsics.asyncex.serving", "bittensor.core.extrinsics.asyncex.staking", "bittensor.core.extrinsics.asyncex.start_call", "bittensor.core.extrinsics.asyncex.sudo", "bittensor.core.extrinsics.asyncex.take", "bittensor.core.extrinsics.asyncex.transfer", "bittensor.core.extrinsics.asyncex.unstaking", "bittensor.core.extrinsics.asyncex.utils", "bittensor.core.extrinsics.asyncex.weights", "bittensor.core.extrinsics.children", "bittensor.core.extrinsics", "bittensor.core.extrinsics.liquidity", "bittensor.core.extrinsics.move_stake", "bittensor.core.extrinsics.params.children", "bittensor.core.extrinsics.params", "bittensor.core.extrinsics.params.liquidity", "bittensor.core.extrinsics.params.move_stake", "bittensor.core.extrinsics.params.registration", "bittensor.core.extrinsics.params.root", "bittensor.core.extrinsics.params.serving", "bittensor.core.extrinsics.params.staking", "bittensor.core.extrinsics.params.start_call", "bittensor.core.extrinsics.params.take", "bittensor.core.extrinsics.params.transfer", "bittensor.core.extrinsics.params.unstaking", "bittensor.core.extrinsics.params.weights", "bittensor.core.extrinsics.registration", "bittensor.core.extrinsics.root", "bittensor.core.extrinsics.serving", "bittensor.core.extrinsics.staking", "bittensor.core.extrinsics.start_call", "bittensor.core.extrinsics.sudo", "bittensor.core.extrinsics.take", "bittensor.core.extrinsics.transfer", "bittensor.core.extrinsics.unstaking", "bittensor.core.extrinsics.utils", "bittensor.core.extrinsics.weights", "bittensor.core", "bittensor.core.metagraph", "bittensor.core.settings", "bittensor.core.stream", "bittensor.core.subtensor", "bittensor.core.synapse", "bittensor.core.tensor", "bittensor.core.threadpool", "bittensor.core.types", "bittensor.extras.dev_framework.calls", "bittensor.extras.dev_framework.calls.non_sudo_calls", "bittensor.extras.dev_framework.calls.pallets", "bittensor.extras.dev_framework.calls.sudo_calls", "bittensor.extras.dev_framework", "bittensor.extras.dev_framework.subnet", "bittensor.extras.dev_framework.utils", "bittensor.extras", "bittensor.extras.subtensor_api.chain", "bittensor.extras.subtensor_api.commitments", "bittensor.extras.subtensor_api.delegates", "bittensor.extras.subtensor_api.extrinsics", "bittensor.extras.subtensor_api", "bittensor.extras.subtensor_api.metagraphs", "bittensor.extras.subtensor_api.neurons", "bittensor.extras.subtensor_api.queries", "bittensor.extras.subtensor_api.staking", "bittensor.extras.subtensor_api.subnets", "bittensor.extras.subtensor_api.utils", "bittensor.extras.subtensor_api.wallets", "bittensor.extras.timelock", "bittensor", "bittensor.utils.axon_utils", "bittensor.utils.balance", "bittensor.utils.btlogging.console", "bittensor.utils.btlogging.defines", "bittensor.utils.btlogging.format", "bittensor.utils.btlogging.helpers", "bittensor.utils.btlogging", "bittensor.utils.btlogging.levels", "bittensor.utils.btlogging.loggingmachine", "bittensor.utils.easy_imports", "bittensor.utils.formatting", "bittensor.utils", "bittensor.utils.liquidity", "bittensor.utils.networking", "bittensor.utils.registration.async_pow", "bittensor.utils.registration", "bittensor.utils.registration.pow", "bittensor.utils.registration.register_cuda", "bittensor.utils.subnets", "bittensor.utils.version", "bittensor.utils.weight_utils", "API Reference", "Bittensor SDK Documentation"], "titleterms": {"api": 121, "async_pow": 114, "asyncex": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "attribut": [0, 6, 7, 9, 24, 25, 70, 71, 75, 76, 77, 78, 80, 83, 84, 100, 103, 104, 106, 108, 111, 112, 116, 119, 120], "axon": 0, "axon_info": 1, "axon_util": 100, "balanc": 101, "bittensor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122], "btlog": [102, 103, 104, 105, 106, 107, 108], "call": [78, 79, 80, 81], "chain": 86, "chain_data": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "chain_ident": 2, "children": [26, 41, 45], "class": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 70, 72, 73, 74, 75, 76, 77, 79, 81, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 101, 102, 104, 108, 111, 112, 116, 118], "commit": 87, "config": 23, "consol": 102, "content": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 122], "core": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "defin": 103, "deleg": 88, "delegate_info": 3, "delegate_info_lit": 4, "dendrit": 24, "dev_framework": [78, 79, 80, 81, 82, 83, 84], "document": 122, "dynamic_info": 5, "easy_import": 109, "error": 25, "exampl": [23, 24, 70, 73, 77, 90, 101, 102], "except": [23, 25, 76, 113, 119], "extra": [78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "extrins": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 89], "format": [104, 110], "function": [0, 9, 21, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 74, 75, 78, 84, 96, 98, 100, 101, 105, 107, 110, 111, 112, 113, 114, 116, 117, 119, 120], "helper": 105, "info_bas": 7, "ip_info": 8, "level": 107, "liquid": [28, 43, 47, 112], "loggingmachin": 108, "metagraph": [70, 91], "metagraph_info": 9, "modul": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 84, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 103, 104, 105, 107, 108, 110, 112, 113, 114, 116, 117, 118, 119, 120], "move_stak": [29, 44, 48], "network": 113, "neuron": 92, "neuron_info": 10, "neuron_info_lit": 11, "non_sudo_cal": 79, "note": [33, 61, 73], "packag": [6, 78, 90, 106, 111], "pallet": 80, "param": [45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "pow": 116, "prometheus_info": 12, "proposal_vote_data": 13, "queri": 93, "refer": 121, "register_cuda": 117, "registr": [30, 49, 58, 114, 115, 116, 117], "root": [31, 50, 59], "scheduled_coldkey_swap_info": 14, "sdk": 122, "serv": [32, 51, 60], "set": 71, "sim_swap": 15, "stake": [33, 52, 61, 94], "stake_info": 16, "start_cal": [34, 53, 62], "stream": 72, "submodul": [6, 27, 42, 46, 69, 78, 82, 85, 90, 99, 106, 111, 115], "subnet": [83, 95, 118], "subnet_hyperparamet": 17, "subnet_ident": 18, "subnet_info": 19, "subnet_st": 20, "subtensor": 73, "subtensor_api": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "sudo": [35, 63], "sudo_cal": 81, "synaps": 74, "tabl": 122, "take": [36, 54, 64], "tensor": 75, "threadpool": 76, "timelock": 98, "transfer": [37, 55, 65], "type": 77, "unstak": [38, 56, 66], "util": [21, 39, 67, 84, 96, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "version": 119, "wallet": 97, "weight": [40, 57, 68], "weight_commit_info": 22, "weight_util": 120}}) \ No newline at end of file From df5f4740e135129a95ffb8ae473ac672dece929f Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Wed, 15 Oct 2025 11:09:54 -0700 Subject: [PATCH 269/303] quick fix child hotkey stake threshold (#126) * wip * wip --- docs/validators/child-hotkeys.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/validators/child-hotkeys.md b/docs/validators/child-hotkeys.md index 5592d87490..8188e90d4a 100644 --- a/docs/validators/child-hotkeys.md +++ b/docs/validators/child-hotkeys.md @@ -50,8 +50,6 @@ See the above diagram. With the child hotkeys, if an attacker steals a child hot The terms "child hotkey" and "parent hotkey" are only terms of convenience. There is nothing inherently different about a "child hotkey" that separates it from a "parent hotkey". Neither have any special attributes compared to a normal hotkey. ::: ---- - ## Features The child hotkey features are as follows: @@ -71,18 +69,21 @@ The following rate limits apply for child hotkeys: See [Rate Limits in Bittensor](../learn/chain-rate-limits.md). -## Minimum stake +## Minimum stake requirement -The minimum stake you can redelegate to a child hotkey is as follows: +To set child hotkeys, the parent hotkey must have a minimum total stake. This requirement checks the TAO-equivalent value of your alpha stake across all subnets. -- **Testnet**: 100 testnet ALPHA. -- **Mainnet**: 1000 ALPHA. +The minimum stake requirement is: ---- +- **Mainnet**: 1000 TAO worth of alpha +- **Testnet**: 100 TAO worth of alpha -## Installing +**How it's calculated**: Your alpha stake is summed **across ALL subnets** (not just the subnet where you're setting children). Each subnet's alpha is converted to TAO value using that subnet's alpha price, then all values are summed together. View [source code](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/staking/helpers.rs#L47-L62). + +:::tip +Query `subtensorModule.stakeThreshold()` to check the current threshold. +::: -This feature is available in Bittensor 7.4.0 and later versions. See [Install Bittensor](../getting-started/installation.md). ## Child hotkey commands From 8dcdc26848d1fd2379bb76c8cdeab4341844d960 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Mon, 20 Oct 2025 11:45:34 +0100 Subject: [PATCH 270/303] updated btcli child hotkey commands --- docs/validators/child-hotkeys.md | 143 ++++++++++--------------------- 1 file changed, 45 insertions(+), 98 deletions(-) diff --git a/docs/validators/child-hotkeys.md b/docs/validators/child-hotkeys.md index 8188e90d4a..52e8e409e3 100644 --- a/docs/validators/child-hotkeys.md +++ b/docs/validators/child-hotkeys.md @@ -1,5 +1,6 @@ --- title: "Child Hotkeys" +toc_max_heading_level: 2 --- import ThemedImage from '@theme/ThemedImage'; @@ -84,49 +85,41 @@ The minimum stake requirement is: Query `subtensorModule.stakeThreshold()` to check the current threshold. ::: - ## Child hotkey commands Use the `btcli` command options described below to work with child hotkeys. ## Setting a child hotkey -This command assigns a proportion of the parent hotkey's stake weight to the child hotkeys. Specific proportion for each child hotkey can be set. The parent hotkey must be registered on at least one `netuid`. This `netuid` need not be the same `netuid` used in this command. Only the stake TAO of the parent hotkey can be assigned to the child hotkeys. +You can allocate a portion of the parent hotkey’s stake weight to its child hotkeys, specifying the exact proportion for each one. The parent hotkey must be registered on at least one netuid, but it doesn’t have to be registered on the same netuid where the child weights are being set. However, all child hotkeys assigned must be registered on the netuid specified in the command. ### Usage ```bash -btcli stake set_children --netuid --children --proportions --hotkey --wallet.name +btcli stake child set --netuid --children --proportions --hotkey --wallet.name ``` ### Parameters -- `--netuid:` Integer. Should be a single integer value representing a current subnet's `netuid`. - - Must be greater than `0` (`netuid 0` is not allowed). - - Integer values greater than the value of current subnet limit, i.e., greater than the value of `subtensorModule.subnetLimit()`, will be rejected with an error message and the command will stop. - - All child hotkeys used in this command must be already registered on this `netuid`. -- `--children`: SS58. A comma-separated ordered list of SS58 hotkeys for child hotkeys. +- `--netuid:` The netuid of the subnet in the network. Value must be greater than zero. +- `--children`: A comma-separated ordered list of SS58 hotkeys for the child hotkeys. +- `--proportions`: A comma-separated ordered list of the stake weight proportions for the child hotkeys listed in the `--children` parameter. +- `--hotkey`: A single SS58 of the parent hotkey. This must be a delegate hotkey that is already registered in with any `netuid`. +- `--wallet.name`: Name of the wallet or the SS58 of the coldkey. This coldkey must be matched with the parent hotkey SS58 of the `--hotkey`. - - There should be a maximum of five, 5, SS58 hotkeys in this comma-separated list. If there are more than five hotkeys, the command will issue an error message and stop. - - The number of list elements should match the number of elements passed in the `--proportions` parameter. If the number of list elements do not match, the command will issue an error and stop. - - All hotkeys used here must be already registered on the `netuid` used in this command. +:::info -- `--proportions`: Floating. A comma-separated ordered list of floating values. Each proportion value of the parent hotkey's stake weight will be assigned to the corresponding child hotkey in the `--children` parameter. - - Each floating value should be a number greater than zero and equal to or less than `1.0`. - - If a value is zero, the corresponding child hotkey will be revoked. - - If a value is greater than `1.0`, the command will issue an error message and stop. - - All the proportions for a given `netuid` must sum to less than or equal to `1.0`. If the proportions sum to greater than `1.0`, the command will issue an error message and stop. -- `--hotkey`: SS58. A single SS58 of the parent hotkey. This must be a delegate hotkey that is already registered in with any `netuid`. This `netuid` need not be the same `netuid` used in this command. - - If this parent hotkey has zero stake, then the command will issue an error message and stop. - - Note that this `--hotkey` parameter expects parent hotkey whereas the `--hotkey` parameter of the [Setting child hotkey take](#parameters-1) expects child hotkey. -- `--wallet.name`: String or SS58. Name of the wallet or the SS58 of the coldkey. This coldkey must be matched with the parent hotkey SS58 of the `--hotkey`. If the coldkey and the parent hotkey do not match, the command will issue an error message and stop. +- The `--children` and `--proportions` parameters can each include up to five comma-separated values. +- The sum of all proportion values for the child hotkeys should be less than or equal to 1. +- All hotkeys listed in the `--children` parameter must be already registered on the `netuid` used in this command. +- Only the staked TAO of the parent hotkey can be assigned to the child hotkeys. If the parent hotkey has zero stake, then the command will issue an error message and stop. -### Examples + ::: #### Setting a single child hotkey ```bash -btcli stake set_children \ +btcli stake child set \ --netuid 4 \ --children 5HEXVAHY9gyavj5xnbov9Qoba4hPJYkkwwnq1MQFepLK7Gei \ --proportions 0.5 \ @@ -137,71 +130,49 @@ btcli stake set_children \ #### Setting multiple child hotkeys ```bash -btcli stake set_children \ +btcli stake child set \ --netuid 4 \ --children 5Gx1CZ9jviC6V2KynBAcTpES4yK76riCagv5o5SFFZFYXj4s,5HEXVAHY9gyavj5xnbov9Qoba4hPJYkkwwnq1MQFepLK7Gei \ --proportions 0.3,0.7 \ --hotkey 5DqJdDLU23m7yf6rZSmbLTshU7Bfn9eCTBkduhF4r9i73B9Y \ - --wallet.name Alice + --wallet.name Alice\ ``` ## Adding a new child hotkey -If a parent hotkey has, for example, three child hotkeys: child hotkey A, child hotkey B and child hotkey C, then to add a fourth child hotkey D, you must run `set_children` command again with the parent hotkey and all four child hotkeys A, B, C and D. +If a parent hotkey has, for example, three child hotkeys: `child hotkey A`, `child hotkey B` and `child hotkey C`, then to add a fourth—`child hotkey D`, you must run `btcli stake child set` command again with the parent hotkey and set the proportions for all four child hotkeys `A`, `B`, `C` and `D`. -## Changing the proportions +:::info Updating hotkey proportions +When updating the proportion of a child hotkey, you must rerun the `btcli stake child set` command with the parent hotkey and all existing child hotkeys, including their updated proportions. -If a parent hotkey has, for example, three child hotkeys: - -- child hotkey A with `0.2` proportion. -- child hotkey B with `0.5` proportion. -- child hotkey C with `0.1` proportion. - -Then to change the proportion of, for example, the child hotkey B from `0.5` to `0.3`, you must run `set_children` command again with the parent hotkey and all three child hotkeys A, B, and C set to `0.2`, `0.3` and `0.1` proportions. +::: ## Getting the child hotkeys -This command displays all the child hotkeys for a given parent hotkey. - -### Usage +Run the following command to display all the child hotkeys for a given parent hotkey. ```bash -btcli stake get_children --netuid --hotkey --all +btcli stake child get ``` -### Example +### Example usage ```bash -btcli stake get_children \ - --netuid 4 \ - --hotkey 5DqJdDLU23m7yf6rZSmbLTshU7Bfn9eCTBkduhF4r9i73B9Y \ - --wallet.name Alice \ - --all +btcli stake child get --netuid --hotkey --all ``` -or - -```bash -btcli stake get_children -``` - -and follow the prompts. - ## Revoking the child hotkeys -This command revokes **all** the child hotkeys for a given parent hotkey. +This is used to remove delegated authority from all child hotkeys, removing their position and influence on the subnet. -:::danger Revoking a specific child hotkey is not allowed -Currently it is not possible to revoke a specific child hotkey. However, if a parent hotkey has, for example, three child hotkeys: child hotkey A, child hotkey B and child hotkey C, then setting the parent hotkey again with only child hotkeys A and B will result in revoking the child hotkey C. +:::info Revoking a specific child hotkey is not allowed +It is not possible to revoke a specific child hotkey. However, if a parent hotkey has, for example, three child hotkeys: `child hotkey A`, `child hotkey B` and `child hotkey C`, then setting the parent hotkey again with only child hotkeys `A` and `B` will result in revoking `child hotkey C`. ::: ### Usage ```bash -btcli stake revoke_children \ - --netuid \ - --hotkey \ - --wallet.name +btcli stake child revoke ``` ### Example @@ -213,28 +184,26 @@ btcli stake revoke_children \ --wallet.name Alice ``` -or - -```bash -btcli stake revoke_children -``` - -and follow the prompts. +## Get and set child hotkey take -## Setting child hotkey take +Each child hotkey can have a defined take percentage that determines the portion of rewards it receives on a given netuid. The take value can range from `0` (0%) to `0.18` (18%). This configuration is subnet-specific meaning that a child hotkey may have one take percentage on one netuid and a different value on another. -This command sets the take percentage of the child hotkey for a given `netuid`. The `take` can be between `0` (0%) and `0.18` (18%). +The child hotkey can also set its delegate take separately from the child hotkey take. That is, a child hotkey can carry two separate take rates: the child hotkey take rate and the delegate take rate. For the delegate take rate, see [Set delegate take](../btcli/btcli.md#btcli-sudo-set-take). -A child hotkey's `take` is subnet-specific, i.e., a child hotkey can have one `take` in one `netuid` and a different `take` in another `netuid`. +### Usage -The child hotkey take rate is an attribute of the child hotkey and this take rate applies to all the parent hotkeys for which this hotkey is the child hotkey. +```bash +btcli stake child take +``` -The child hotkey can also set its delegate take separately from the child hotkey take. That is, a child hotkey can carry two separate take rates: the child hotkey take rate and the delegate take rate. For the delegate take rate, see [Set delegate take](../btcli/btcli.md#btcli-sudo-set-take). +:::info +Running the command without the `--take` flag only retrieves the child hotkey's take on the subnet. To set the child hotkey take, you must run the command with the `--take` flag. +::: -### Usage +To set child hotkey take, run the following command: ```bash -btcli stake set_childkey_take \ +btcli stake child take \ --netuid \ --hotkey \ --take \ @@ -243,38 +212,16 @@ btcli stake set_childkey_take \ ### Parameters -- `--hotkey`: SS58. A single SS58 of the child hotkey. Note that this `--hotkey` parameter expects child hotkey whereas the `--hotkey` parameter of the [Setting a child hotkey](#parameters) expects parent hotkey. -- `--take`: Floating. A value between `0` (0%) and `0.18` (18%). Default value is `0`. -- `--netuid`: Integer. The `netuid` in which this child hotkey's `take` is applicable. Note that a child hotkey's `take` is subnet-specific, i.e., a child hotkey can have one `take` in one `netuid` and a different `take` in another `netuid`. +- `--hotkey`: A single SS58 of the child hotkey. +- `--take`: A value between `0` (0%) and `0.18` (18%). Default value is `0`. +- `--netuid`: The `netuid` in which this child hotkey's `take` is applicable. Note that a child hotkey's `take` is subnet-specific, i.e., a child hotkey can have one `take` in one `netuid` and a different `take` in another `netuid`. ### Example ```bash -btcli stake set_childkey_take \ +btcli stake take child take \ --netuid 4 \ --hotkey 5DqJdDLU23m7yf6rZSmbLTshU7Bfn9eCTBkduhF4r9i73B9Y \ --take 0.09 \ --wallet.name Alice ``` - -## Getting child hotkey take - -This command displays the take percentage of a given child hotkey and `netuid`. - -### Usage - -```bash -btcli stake get_childkey_take \ - --netuid \ - --hotkey \ - --wallet.name -``` - -### Example - -```bash -btcli stake get_childkey_take \ - --netuid 4 \ - --hotkey 5Gx1CZ9jviC6V2KynBAcTpES4yK76riCagv5o5SFFZFYXj4s \ - --wallet.name Bob -``` From 36e24c56ee2bb43024c24d6bcb5ecd0e0f08798d Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 22 Oct 2025 11:24:27 -0700 Subject: [PATCH 271/303] review suggestions --- docs/learn/chain-rate-limits.md | 25 ++++++++++++++++++------- docs/validators/child-hotkeys.md | 8 ++++---- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/docs/learn/chain-rate-limits.md b/docs/learn/chain-rate-limits.md index cf05e0b4f1..b3674a8397 100644 --- a/docs/learn/chain-rate-limits.md +++ b/docs/learn/chain-rate-limits.md @@ -36,13 +36,6 @@ This rate limit prevents frequent changes to delegate take percentages. - Chain State Variable: `TxDelegateTakeRateLimit` - Error message: [`DelegateTxRateLimitExceeded`](../errors/subtensor.md#delegatetxratelimitexceeded) -### Child key take rate limit - -This rate limit prevents the owner of a child hotkey from making frequent changes to the child key take percentages. This protects against rapid manipulation of child key relationships and ensures stability in the child key delegation system. - -- Rate Limit: 216,000 blocks (~30 days) -- Chain State Variable: `TxChildkeyTakeRateLimit` -- Error message: [`TxChildkeyTakeRateLimitExceeded`](../errors/subtensor.md#txchildkeytakeratelimitexceeded) ### Hotkey swap rate limit @@ -123,6 +116,24 @@ This rate limit controls how frequently a user can perform staking operations (a - Rate Limit: 1 per block - Chain State Variable: `StakingOperationRateLimiter` (Bool, since limit is 1 operation) - Error message: [`StakingOperationRateLimitExceeded`](../errors/subtensor.md#stakingoperationratelimitexceeded) + + +### Child hotkey operations rate limit + +This rate limit controls how frequently a parent hotkey can set or revoke child hotkeys on a specific subnet. Note that revoking children is implemented by calling `set_children` with an empty list, so both operations share the same rate limit. + +- Rate Limit: 150 blocks (~30 minutes) +- Source Code: [rate_limiting.rs](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/utils/rate_limiting.rs#L25-L28) +- Error message: [`TxRateLimitExceeded`](../errors/subtensor.md#txratelimitexceeded) + +### Child key take rate limit + +This rate limit prevents the owner of a child hotkey from making frequent changes to the child key take percentages. + +- Rate Limit: 216,000 blocks (~30 days) +- Chain State Variable: `TxChildkeyTakeRateLimit` +- Error message: [`TxChildkeyTakeRateLimitExceeded`](../errors/subtensor.md#txchildkeytakeratelimitexceeded) + ## Subnet-specific rate limits This section discusses rate limits that apply within a specific subnet on the network. These limits are typically configurable at the subnet level. diff --git a/docs/validators/child-hotkeys.md b/docs/validators/child-hotkeys.md index 52e8e409e3..2527a77a59 100644 --- a/docs/validators/child-hotkeys.md +++ b/docs/validators/child-hotkeys.md @@ -65,10 +65,10 @@ The child hotkey features are as follows: The following rate limits apply for child hotkeys: -- A child hotkey's take rate can only be adjusted once per 30 days. -- One successful execution of `set_children` or `revoke_children` is allowed for every 720 blocks. +- Setting or revoking children is allowed for every 150 blocks (~30 minutes). +- A given child hotkey's take rate can only be adjusted once per 30 days. -See [Rate Limits in Bittensor](../learn/chain-rate-limits.md). +See [Rate Limits in Bittensor: Child hotkey operations rate limit](../learn/chain-rate-limits#child-hotkey-operations-rate-limit). ## Minimum stake requirement @@ -176,7 +176,7 @@ btcli stake child revoke ``` ### Example - + ```bash btcli stake revoke_children \ --netuid 4 \ From 6e99aa9babe2a634db5774f57c8b617b5ad76757 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 22 Oct 2025 20:03:15 +0100 Subject: [PATCH 272/303] snippet fix --- docs/validators/child-hotkeys.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/validators/child-hotkeys.md b/docs/validators/child-hotkeys.md index 2527a77a59..74284f6b0d 100644 --- a/docs/validators/child-hotkeys.md +++ b/docs/validators/child-hotkeys.md @@ -176,9 +176,9 @@ btcli stake child revoke ``` ### Example - + ```bash -btcli stake revoke_children \ +btcli stake child revoke \ --netuid 4 \ --hotkey 5DqJdDLU23m7yf6rZSmbLTshU7Bfn9eCTBkduhF4r9i73B9Y \ --wallet.name Alice From 679e98a00e1e242159b3ab9941b3ab865e7d5efc Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Wed, 22 Oct 2025 20:08:31 +0100 Subject: [PATCH 273/303] updated child take param --- docs/validators/child-hotkeys.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/validators/child-hotkeys.md b/docs/validators/child-hotkeys.md index 74284f6b0d..c306e207a1 100644 --- a/docs/validators/child-hotkeys.md +++ b/docs/validators/child-hotkeys.md @@ -205,14 +205,14 @@ To set child hotkey take, run the following command: ```bash btcli stake child take \ --netuid \ - --hotkey \ + --child-hotkey-ss58 \ --take \ --wallet.name ``` ### Parameters -- `--hotkey`: A single SS58 of the child hotkey. +- `--child-hotkey-ss58 `: A single SS58 of the child hotkey. If not provided, it assigns the take value to the hotkey of the signing wallet. - `--take`: A value between `0` (0%) and `0.18` (18%). Default value is `0`. - `--netuid`: The `netuid` in which this child hotkey's `take` is applicable. Note that a child hotkey's `take` is subnet-specific, i.e., a child hotkey can have one `take` in one `netuid` and a different `take` in another `netuid`. From 1bc95744679e536846d9b8721c91ad96b874fba3 Mon Sep 17 00:00:00 2001 From: Ala Shaabana Date: Wed, 22 Oct 2025 18:40:07 -0400 Subject: [PATCH 274/303] Add Crucible wallet details to wallets documentation (#123) Added information about The Crucible wallet, including its features and integration with Ledger. --- docs/keys/wallets.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/keys/wallets.md b/docs/keys/wallets.md index 357ed3f06b..e2d92831a9 100644 --- a/docs/keys/wallets.md +++ b/docs/keys/wallets.md @@ -37,6 +37,7 @@ We must be careful to distinguish two senses of the term 'wallet' that can other - The **wallet application** is software that runs on your device and allows you to interact with the blockchain by entering your keys. There are several officially supported Bittensor wallet applications: - The Bittensor wallet app for mobile: [bittensor.com/wallet](https://bittensor.com/wallet) + - [The Crucible wallet](https://cruciblelabs.com) a Tao wallet featuring an auto-allocator for dynamic TAO staking across subnets, with full Ledger integration. - [The Polkadot browser extension](https://polkadot.js.org/extension/) which can be used with Polkadot Vault. - [The Bitensor wallet browser extension](https://chromewebstore.google.com/detail/bittensor-wallet/bdgmdoedahdcjmpmifafdhnffjinddgc), which is also compatible with use of a Ledger hardware wallet. See [Using Ledger Hardware Wallet](../staking-and-delegation/using-ledger-hw-wallet.md) @@ -91,6 +92,7 @@ Secure wallet apps supported by Opentensor Foundation include: - The Bittensor wallet app for mobile: [bittensor.com/wallet](https://bittensor.com/wallet) - [The Chrome extension](https://chromewebstore.google.com/detail/bittensor-wallet/bdgmdoedahdcjmpmifafdhnffjinddgc), which is also compatible with use of a Ledger hardware wallet. See [Using Ledger Hardware Wallet](../staking-and-delegation/using-ledger-hw-wallet.md) +- [The Crucible wallet](https://cruciblelabs.com) a Tao wallet featuring an auto-allocator for dynamic TAO staking across subnets, with full Ledger integration. ### `btcli` and the Bittensor Python SDK From 27bae1a4e80dceed1a4c9d4f8ef46e4f43bcd368 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Wed, 22 Oct 2025 15:46:49 -0700 Subject: [PATCH 275/303] wip (#135) --- docs/keys/wallets.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/keys/wallets.md b/docs/keys/wallets.md index e2d92831a9..0d391a6418 100644 --- a/docs/keys/wallets.md +++ b/docs/keys/wallets.md @@ -88,11 +88,11 @@ In theory this means that without your encryption password, it is impossible to However, still consider that using your coldkey on a device offers other ways for attackers to steal your key, even without decrypting it. See [Coldkey workstation security](./coldkey-hotkey-security#coldkey-workstation). -Secure wallet apps supported by Opentensor Foundation include: +Secure wallet apps include: -- The Bittensor wallet app for mobile: [bittensor.com/wallet](https://bittensor.com/wallet) -- [The Chrome extension](https://chromewebstore.google.com/detail/bittensor-wallet/bdgmdoedahdcjmpmifafdhnffjinddgc), which is also compatible with use of a Ledger hardware wallet. See [Using Ledger Hardware Wallet](../staking-and-delegation/using-ledger-hw-wallet.md) -- [The Crucible wallet](https://cruciblelabs.com) a Tao wallet featuring an auto-allocator for dynamic TAO staking across subnets, with full Ledger integration. +- The Bittensor wallet app for mobile, by Opentensor Foundation: [bittensor.com/wallet](https://bittensor.com/wallet) +- [The Chrome extension](https://chromewebstore.google.com/detail/bittensor-wallet/bdgmdoedahdcjmpmifafdhnffjinddgc), which is also compatible with use of a Ledger hardware wallet, by Opentensor Foundation. See [Using Ledger Hardware Wallet](../staking-and-delegation/using-ledger-hw-wallet.md) +- [The Crucible wallet](https://cruciblelabs.com) by Crucible Labs a Tao wallet featuring an auto-allocator for dynamic TAO staking across subnets, with full Ledger integration. ### `btcli` and the Bittensor Python SDK From baa48cd00fdfe9ed7277e848a1727ee86c9b9ad1 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 8 Oct 2025 10:43:17 -0700 Subject: [PATCH 276/303] wip --- docs/concepts/commit-reveal.md | 137 +++++++++++++++++++++++++-------- 1 file changed, 105 insertions(+), 32 deletions(-) diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index f79e27912e..c1f73bf424 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -7,6 +7,12 @@ This page describes the **commit reveal** feature: a configurable waiting period This feature was designed to address the issue of _weight copying_ by validators. +## Overview + +Commit reveal uses **[Drand time-lock encryption](https://drand.love/docs/timelock-encryption/)** to automatically reveal validator weights after a concealment period. When a validator sets weights, they are cryptographically encrypted and can only be decrypted after the configured number of tempos has passed. This automation eliminates the need for manual reveals and prevents selective revelation attacks. + +**For validators**: The commit reveal process is completely transparent. You continue to call [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) exactly as you always have. All commit-reveal logic happens behind the scenes at the chain level. + ## Weight copying In each Bittensor subnet, each validator scores—or _'weights'_—each miner, producing what is referred to as a [weight vector](../resources/glossary.md#weight-vector). The weight vectors for each validator in a subnet are combined into a weight matrix. This matrix determines emissions to miners in the subnet based on the consensus evaluation of their performance, according to [Yuma Consensus](../resources/glossary.md#yuma-consensus). @@ -27,70 +33,137 @@ new_immunity_period = (new_commit_reveal_period x tempo - old_commit_reveal_peri See [Subnet Hyperparameters](../subnets/subnet-hyperparameters.md). -## Commit reveal in detail +## How commit reveal works + +When commit reveal is enabled for a subnet, the following process occurs automatically: + +### 1. Validator Sets Weights -When commit reveal is enabled, it works as follows: +A subnet validator calls [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) exactly as they normally would. No code changes are required. -1. A subnet validator sets the weights normally by using [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html). +### 2. Automatic Commit with Time-Lock Encryption -2. Instead of publishing weights openly, an encrypted copy of these weights is committed to the blockchain, using an internal method called [`commit_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html). +Instead of publishing weights openly, the chain automatically: +- Encrypts the weights using **[Drand time-lock encryption](https://drand.love/docs/timelock-encryption/)** +- Commits the encrypted weights to the blockchain via an internal method called [`commit_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html) +- Calculates the target Drand round based on the current block and `commit_reveal_period` -3. A waiting interval, specified as a number of tempos, elapses. Subnet owners configure this interval with the subnet hyperparameter `commit_reveal_period`. +The encrypted weights cannot be decrypted by anyone—including the validator who submitted them—until the designated Drand round is reached. :::tip Tempo is a hyperparameter The subnet's tempo is a hyperparameter. Subnet owners cannot modify this parameter, which defaults to `360` blocks. ::: -4. After this interval has elapsed, the unencrypted weights are automatically revealed by the chain, using [Drand time-lock encryption](https://drand.love/docs/timelock-encryption/). +### 3. Concealment Period + +A waiting interval, specified as a number of tempos, elapses. Subnet owners configure this interval with the `commit_reveal_period` hyperparameter. During this time: +- The weights remain encrypted on-chain +- No one can view or copy the weights +- The validator does not need to take any action + +### 4. Automatic Reveal + +After the `commit_reveal_period` has elapsed, the chain automatically decrypts and reveals the weights at the beginning of the next tempo. This happens when the corresponding Drand randomness beacon pulse becomes available, providing the cryptographic key needed to unlock the time-locked encryption. + +**Key security property**: The reveal timing is cryptographically guaranteed by the Drand network—a decentralized randomness beacon. No single party can prevent or delay the reveal once weights are committed. + +### 5. Consensus Processing -5. The weights are now input to Yuma Consensus. +The revealed weights are now publicly visible and input into Yuma Consensus for the next epoch calculation, just as if they had been submitted without commit reveal.
                                                                    -:::tip Commit reveal works behind the scenes -After the subnet owner turns ON the commit reveal feature, everything happens behind the scenes. A subnet validator will continue to set weights normally by using [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html). +:::tip Completely transparent to validators +After a subnet owner enables commit reveal, validators don't need to change anything. They continue calling [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) as always. All encryption, time-locking, and automatic revealing happens at the chain level. ::: +## Benefits of automatic commit reveal + +The Drand-based automatic reveal system provides several important benefits: + +1. **No manual reveals required**: Validators don't need to remember to reveal weights or maintain uptime for reveals +2. **Eliminates selective revelation**: Validators cannot choose not to reveal if they see unfavorable consensus forming +3. **Cryptographic guarantees**: Time-lock encryption ensures weights are revealed on schedule +4. **Reduced transaction costs**: No separate reveal transaction is needed +5. **Trustless operation**: Drand is a decentralized network; no single party controls reveal timing +
                                                                    -## How to use the commit reveal feature +
                                                                    -As a subnet owner, set the below hyperparameters to use the commit reveal feature: +This detailed sequence diagram shows the CRv4 process across three tempos. Key observations: +- **Drand pulse** triggers automatic reveals at block 1005, 1105, 1205 (shortly after each tempo starts) +- **Commit window** is blocks 1090-1099 of each tempo (last 10 blocks) +- **Concealment period** protects weights during the tempo +- **Epoch calculation** uses revealed weights at block 1100, 1200, etc. -1. `commit_reveal_weights_enabled` (boolean): Set this to `True` to activate the commit reveal feature for the subnet. Default value is `False`. -2. `commit_reveal_period` (int): Set this to an integer number. This is the number of subnet tempos to elapse before revealing the weights by submitting them again to the blockchain, but now openly for everyone to see. Default value is `1`. +## Configuring commit reveal -See [Setting subnet hyperparameters](../subnets/subnet-hyperparameters.md#set-hyperparameters). +As a subnet owner, you can enable and configure commit reveal using two hyperparameters: -:::danger Ensure that the commit reveal interval is less than your immunity period to avoid unintended miner de-registration! -See [Commit Reveal and Immunity Period](#commit-reveal-and-immunity-period). -::: +### Hyperparameters -Weights will be revealed immediately at the beginning of the tempo after the `commit_reveal_period`. For example, if `commit_reveal_period` value is set to `3`, then the reveal will occur at the beginning of the fourth tempo from the current tempo. The current tempo is counted as the first tempo. See the below diagram for this example: +1. **`commit_reveal_weights_enabled`** (boolean) + - Set to `True` to activate commit reveal for your subnet + - Default: `False` (disabled) + - When enabled, all validator weights are automatically committed with time-lock encryption -
                                                                    - -
                                                                    +2. **`commit_reveal_period`** (integer) + - The number of tempos that must elapse before weights are revealed + - Default: `1` (weights revealed after 1 tempo) + - Example: If set to `3`, weights committed in tempo 10 will be revealed at the start of tempo 13 + +See [Setting subnet hyperparameters](../subnets/subnet-hyperparameters.md#set-hyperparameters) for how to update these values. + +### Reveal timing example + +Weights will be revealed at the beginning of the tempo after the `commit_reveal_period` has elapsed. The Drand pulse triggers the automatic decryption shortly after the new tempo begins. + +**Example**: If `commit_reveal_period` is set to `3`: +- **Tempo 10**: Validator commits weights (encrypted) +- **Tempo 11**: Weights remain concealed +- **Tempo 12**: Weights remain concealed +- **Tempo 13**: Weights automatically revealed at tempo start + +The current tempo when committing counts as tempo 1 in the calculation. Refer to the detailed sequence diagram above for a visual representation of this timing. + +:::tip Validator experience +Validators don't see any of this timing complexity. They simply call `set_weights()` whenever they want to update their weights. The chain handles all commit-reveal timing automatically. +::: + +:::danger Critical: Immunity period must be longer than commit reveal interval +Ensure that your immunity period is **longer** than your commit reveal interval to avoid unintended miner deregistration. If the immunity period expires before weights are revealed, newly registered miners may be deregistered without having their performance evaluated. See [Commit Reveal and Immunity Period](#commit-reveal-and-immunity-period). +:::
                                                                    +## What is Drand? + +[Drand](https://drand.love) (pronounced "dee-rand") is a distributed randomness beacon network that provides publicly verifiable, unpredictable, and unbiased random numbers. It is operated by the [League of Entropy](https://drand.love/league-of-entropy/), a consortium of independent organizations running Drand nodes. + +**Time-lock encryption** is a cryptographic technique where data is encrypted such that it can only be decrypted after a specific time has passed. Drand provides this capability by regularly producing randomness "pulses" at fixed intervals. Data encrypted for a future Drand round cannot be decrypted until that round's randomness is published—even by the person who encrypted it. + +Key properties that make Drand suitable for Bittensor: +- **Decentralized**: No single entity controls the randomness generation +- **Verifiable**: Anyone can verify that randomness was generated correctly +- **Predictable timing**: Pulses are produced at regular intervals +- **Industry adoption**: Used by multiple blockchain and cryptographic protocols +- **Open source**: Fully transparent implementation + +Learn more: [Drand Time-Lock Encryption documentation](https://drand.love/docs/timelock-encryption/) + + ## Technical papers and blog - ACM CCS2024 Poster PDF [Solving the Free-rider Problem In Bittensor](pathname:///papers/ACM_CCS2024_Poster.pdf). - See [Weight Copying in Bittensor, a technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf). - Blog post, [Weight Copying in Bittensor](https://blog.bittensor.com/weight-copying-in-bittensor-422585ab8fa5). + From 179d4fa5bb78bc6ab0a611a568015557b338b93c Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 8 Oct 2025 12:13:32 -0700 Subject: [PATCH 277/303] wip --- docs/concepts/commit-reveal.md | 4 + docs/concepts/weight-copying-in-bittensor.md | 323 +++++++++++++++++++ sidebars.js | 1 + 3 files changed, 328 insertions(+) create mode 100644 docs/concepts/weight-copying-in-bittensor.md diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index c1f73bf424..45755f973d 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -21,6 +21,10 @@ The weight matrix is public information, and must be, so that emissions in the B The commit reveal feature is designed to solve the weight copying problem by giving would-be weight copiers access only to stale weights. Copying stale weights should result in validators departing from consensus. However, it is critical to note that this only works if the consensus weight matrix changes sufficiently on the time scale of the commit reveal interval. If the demands on miners are too static, and miner performance is very stable, weight copying will still be successful. The only solution for this is to demand continuous improvement from miners, requiring them to continuously evolve to maintain their scoring. Combined with a properly tuned Commit Reveal interval, this will keep validators honest, as well as producing the best models. +:::tip Learn more about weight copying +For a detailed explanation of how weight copying works, why it's problematic, and how commit-reveal prevents it, see [Weight Copying in Bittensor](./weight-copying-in-bittensor.md). +::: + ## Commit Reveal and Immunity Period The [Immunity Period](../resources/glossary.md#immunity-period) is the interval (measured in blocks) during which a miner or validator newly registered on a subnet is 'immune' from deregistration due to performance. The duration of this period value should always be larger than the Commit Reveal interval, otherwise the immunity period will expire before a given miner's scores are available, and they may be deregistered without having their work counted. diff --git a/docs/concepts/weight-copying-in-bittensor.md b/docs/concepts/weight-copying-in-bittensor.md new file mode 100644 index 0000000000..81e8e4776a --- /dev/null +++ b/docs/concepts/weight-copying-in-bittensor.md @@ -0,0 +1,323 @@ +# Weight Copying in Bittensor + +This page explains **weight copying**—a free-riding behavior where validators copy other validators' work instead of independently evaluating miners. This article covers how weight copying works, why it's problematic, how Bittensor's [commit-reveal](./commit-reveal.md) mechanism prevents it, and best practices for subnet owners. + +## What is weight copying? + +In Bittensor subnets, validators are supposed to independently evaluate miners and set weights based on their performance. These weights determine miner emissions through [Yuma Consensus](../learn/yuma-consensus.md). + +**Weight copying** occurs when a validator reads the publicly available weight matrix and copies (or derives from) other validators' weights instead of doing their own evaluation work. This allows them to: +- Avoid the computational cost of evaluation +- Avoid the development cost of building good evaluation systems +- Still earn validator dividends by appearing to participate in consensus + +While this might seem like a minor optimization, it undermines the entire incentive mechanism and can lead to cascading failures in subnet quality. + +## The problem with weight copying + +### 1. Degraded subnet quality + +Validators are the quality control mechanism for subnets. When validators copy weights instead of independently evaluating miners: +- Bad miners can persist longer than they should +- Good innovations from new miners take longer to be recognized +- The subnet's ability to produce quality output degrades over time + +### 2. Unfair validator rewards + +Weight copiers earn dividends without doing the work. This creates several problems: +- Honest validators who invest in good evaluation systems earn less per TAO staked +- Delegators may unknowingly stake to weight copiers instead of honest validators +- The economic incentive to build better validation systems is weakened + +### 3. Centralization pressure + +If weight copying is more profitable than honest validation, rational actors will copy weights. This can lead to: +- Most validators becoming weight copiers +- Only 1-2 validators doing real evaluation work +- Effective centralization of subnet governance + +### 4. Consensus manipulation + +Sophisticated weight copiers can actually shift consensus in harmful ways (explained below), potentially taking bribes from miners or extracting value through strategic weight setting. + +## How weight copying works: The optimized strategy + +Weight copiers don't just blindly copy one validator—they use an **optimized strategy** that actually gives them *higher* returns than any single honest validator: + +### The stake-weighted averaging attack + +1. **Read the current weight matrix**: Weight copiers wait for weights to be publicly revealed +2. **Calculate stake-weighted consensus**: They compute what Yuma Consensus will calculate as the "center" of opinion + ``` + For each miner i: + consensus_weight[i] = Σ(validator_weight[i] × validator_stake) / Σ(validator_stake) + ``` +3. **Submit the consensus weights**: By submitting weights that match the predicted consensus, they maximize their vtrust (validator trust score) +4. **Earn maximum dividends**: Higher vtrust → higher dividends per TAO staked → higher APY + +### Why this works + +In Yuma Consensus, validators are rewarded based on how well their weights align with the emerging consensus. By calculating the stake-weighted average, weight copiers can predict consensus better than any individual honest validator who might have some disagreement with others. + +**Result**: Weight copiers achieve higher validator dividends per stake than honest validators, making weight copying more profitable than honest work. + +### Example scenario + +Imagine two honest validators: +- **Validator A**: 1M TAO staked, weights miner 1 as `1.0` (excellent) +- **Validator B**: 2M TAO staked, weights miner 1 as `0.5` (mediocre) + +**Honest validators** submit their true evaluations and will have some divergence from final consensus. + +**Weight copier** calculates: +``` +consensus = (1.0 × 1M + 0.5 × 2M) / (1M + 2M) = 0.67 +``` + +The weight copier submits `0.67` for miner 1, perfectly matching where consensus will land, and earns higher vtrust than either honest validator. + +## Advanced weight copying: Consensus manipulation + +With enough stake, weight copiers can do even worse: + +### Shifting consensus for profit + +A weight copier with significant stake can: +1. Calculate where consensus *would* be without them +2. Shift their weights to move consensus in a desired direction +3. Accept bribes from miners to shift consensus their way + +**Example**: A miner might pay a weight copier to give them higher weights, knowing that the copier's stake will shift overall consensus upward, resulting in higher miner emissions. + +### Why this is hard to detect + +- The weight copier is still "participating" in consensus +- Their weights might look reasonable on the surface +- Only sophisticated analysis can detect the manipulation pattern + +## How commit-reveal prevents weight copying + +The [commit-reveal mechanism](./commit-reveal.md) solves weight copying by introducing a time delay between when weights are set and when they're publicly visible: + +### The concealment period + +1. Validators set weights normally +2. Weights are encrypted using time-lock encryption +3. Weights remain hidden for a configured number of tempos (the `commit_reveal_period`) +4. Weights are automatically revealed after the concealment period +5. Revealed weights are used in Yuma Consensus calculations + +### Why weight copiers can't win + +When weights are concealed for one or more tempos: +- Weight copiers only have access to **stale weights** from previous tempos +- If miner performance has changed since those old weights were set, the old weights are inaccurate +- Copying stale weights causes validators to **diverge from consensus** rather than align with it +- Lower alignment → lower vtrust → lower dividends +- **Weight copying becomes unprofitable** + +### The requirement: Dynamic scoring + +Commit-reveal only works if **miner performance actually changes** over the timescale of the concealment period. If: +- Miner rankings are static +- Performance is completely predictable +- No new miners register or old miners improve + +Then even stale weights will be accurate, and weight copying can still work. + +**Solution**: Subnet owners should design subnets that demand continuous miner improvement, ensuring that weights from yesterday are less accurate than fresh evaluations today. + +## Historical context: The CRv3 bug + +Understanding how weight copying evolved helps explain why the current system works the way it does. + +### Commit-reveal v3 (CRv3): The same-tempo vulnerability + +In the third version of commit-reveal: +- Validators committed weights (encrypted) +- Validators revealed weights (decrypted) **in the same tempo** +- Both operations happened before the epoch calculation + +### The exploit + +Weight copiers discovered they could: +1. Wait for honest validators to reveal their weights (still in the same tempo) +2. Quickly calculate the stake-weighted consensus +3. Submit their own weights before the epoch calculation at the end of the tempo +4. Still achieve higher vtrust than honest validators + +Despite weights being "concealed," the same-tempo reveal gave weight copiers enough time to copy and submit. + +### The fix: Commit-reveal v4 (CRv4) + +CRv4 fixed this by: +- Using [Drand time-lock encryption](https://drand.love/docs/timelock-encryption/) for automatic reveals +- Ensuring reveals happen at the *start* of the next tempo +- Making the reveal timing cryptographically guaranteed (no manual validator action) +- Eliminating the window for weight copiers to act + +See [Commit-Reveal documentation](./commit-reveal.md) for full technical details. + +## The decline of weight copying + +Since the deployment of CRv4 and increased subnet owner awareness, weight copying has become significantly less profitable: + +### Statistics (as of late 2024) + +Weight copying validator collective: +- **Alpha stake**: Decreased from ~8M TAO to ~4.5M TAO +- **Subnet coverage**: Decreased from 50+ subnets to ~35 subnets +- **Validator count**: Major weight copying operations show declining participation + +This decline demonstrates that commit-reveal, when properly configured, effectively neutralizes the weight copying advantage. + +### Why some weight copiers persist + +Despite the declining profitability: +1. **Some subnets don't enable commit-reveal** (it's optional, not mandatory) +2. **Some subnets have static scoring** (weights don't change much over time) +3. **Short-term profit extraction** is still possible before delegators move stake +4. **Information asymmetry** means some delegators don't yet understand the problem + +## Best practices for subnet owners + +### 1. Enable commit-reveal (strongly recommended) + +Set these hyperparameters: +``` +commit_reveal_weights_enabled: true +commit_reveal_period: 1 # Start with 1 tempo +``` + +**Why**: While technically optional, commit-reveal should be considered essential for any subnet that wants to avoid weight copying. + +See [Commit-Reveal configuration guide](./commit-reveal.md#configuring-commit-reveal). + +### 2. Ensure dynamic miner evaluation + +Design your subnet so that: +- Miner performance changes frequently (at least every few tempos) +- New miners can demonstrate improvements +- Task difficulty or evaluation criteria evolve over time +- Validators must continuously evaluate to maintain accurate weights + +**Example**: Text generation subnets that rotate prompts daily, or prediction markets that constantly have new questions. + +### 3. Configure appropriate commit-reveal periods + +**General guidance**: +- **Fast-changing subnets** (daily performance shifts): 1-2 tempo concealment is sufficient +- **Medium-changing subnets** (weekly performance shifts): 3-5 tempo concealment +- **Slow-changing subnets** (monthly performance shifts): Consider if commit-reveal is right fit, or redesign subnet to be more dynamic + +**Rule of thumb**: The concealment period should be shorter than the typical time it takes for miner rankings to significantly change. + +### 4. Monitor validator behavior + +Watch for signs of weight copying: +- Validators with suspiciously high vtrust relative to their evaluation quality +- Validators whose weights perfectly track consensus with no leading/lagging +- Validators who only submit weights shortly after reveals (if you can observe this) +- Validators registered on many subnets but with minimal evaluation infrastructure + +### 5. Educate your validator community + +Make sure validators understand: +- Why commit-reveal is enabled +- How to configure their systems properly +- The immunity period requirements (see below) +- That they should continue calling `set_weights()` normally (commit-reveal is transparent) + +### 6. Set adequate immunity periods + +**Critical requirement**: `immunity_period` (in blocks) must be longer than `commit_reveal_period × tempo` + +If immunity period is too short, newly registered miners may be deregistered before their weights are revealed and counted. + +**Formula for updating**: +``` +new_immunity_period = (new_commit_reveal_period × tempo - old_commit_reveal_period × tempo) + old_immunity_period +``` + +See [Commit-Reveal and Immunity Period](./commit-reveal.md#commit-reveal-and-immunity-period). + +## Why not make commit-reveal mandatory? + +There's ongoing debate in the Bittensor community about whether commit-reveal should be mandatory for all subnets. + +### Arguments for mandatory commit-reveal + +1. **Eliminates weight copying as a viable strategy** across the entire network +2. **Levels the playing field** for honest validators +3. **Improves overall network quality** by ensuring real evaluation work +4. **Simpler for subnet owners** (one less decision to make) +5. **Aligns with long-term network health** over short-term flexibility + +### Arguments for optional commit-reveal + +1. **Subnet autonomy**: Owners should control their own subnet mechanics +2. **Experimentation**: Some subnets might find novel uses for immediate weight visibility +3. **Edge cases**: Subnets using Yuma v1 or other specialized configurations might not need it +4. **Transition period**: Forced upgrades can disrupt existing operations + +### Current status + +As of now, commit-reveal remains **optional**. However, the recommendation from core developers is to enable it unless you have a specific, well-understood reason not to. + +## Detection and analysis + +### For delegators: Identifying weight copiers + +If you're delegating TAO, watch for these red flags: +- Validator registered on many subnets (40+) without corresponding infrastructure +- High validator APY without clear explanation of evaluation methodology +- Validator started earning immediately upon registration (no ramp-up period) +- Declining stake over time as informed delegators move away + +### For researchers: Analysis tools + +The Bittensor blockchain is fully transparent. You can: +- Analyze weight submission timing patterns +- Compare validator weights to consensus over time +- Calculate vtrust correlations across validators +- Identify clusters of validators with suspiciously similar weight patterns + +## The bigger picture + +Weight copying is one example of a broader category of challenges in decentralized incentive mechanisms: + +### Free-riding vs. value creation + +Any system that rewards participation must: +- Make it possible to verify that real work was done +- Make copying or faking work more expensive than doing real work +- Ensure that short-term extraction is less profitable than long-term contribution + +### Progressive hardening + +Bittensor's approach has been: +1. Launch with simple, elegant mechanism +2. Observe what attacks emerge in practice +3. Add targeted defenses (like commit-reveal) +4. Continue evolving as new patterns appear + +This is healthier than trying to design perfect mechanisms upfront, which often creates unnecessary complexity or misses real-world attack vectors. + +## Related documentation + +- [Commit-Reveal mechanism](./commit-reveal.md) - Full technical details on how commit-reveal works +- [Yuma Consensus](../learn/yuma-consensus.md) - Understanding the consensus algorithm that weight copying tries to game +- [Subnet Hyperparameters](../subnets/subnet-hyperparameters.md) - How to configure commit-reveal and immunity periods +- [Weight Copying technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf) - Academic analysis +- [Blog: Weight Copying in Bittensor](https://blog.bittensor.com/weight-copying-in-bittensor-422585ab8fa5) - Community-focused explanation + +## Summary + +Weight copying is a sophisticated free-riding strategy where validators earn rewards without doing evaluation work. Through stake-weighted consensus prediction, weight copiers historically earned higher returns than honest validators. + +**Commit-reveal v4 effectively neutralizes weight copying** by ensuring validators only have access to stale weights, making copying unprofitable as long as miner performance changes over time. + +**Subnet owners should enable commit-reveal** with appropriate concealment periods and ensure their subnets demand continuous miner improvement. This maintains the integrity of the incentive mechanism and ensures that validator rewards go to those doing real evaluation work. + +The decline of weight copying following CRv4 deployment demonstrates that well-designed cryptographic mechanisms can effectively solve economic attacks in decentralized systems. + diff --git a/sidebars.js b/sidebars.js index 2d33dde902..2c69f459c8 100644 --- a/sidebars.js +++ b/sidebars.js @@ -217,6 +217,7 @@ const sidebars = { items: [ "concepts/bittensor-networks", "concepts/commit-reveal", + "concepts/weight-copying-in-bittensor", "concepts/consensus-based-weights", "concepts/bt-logging-levels", "resources/utilities", From 149139b25c4d77e33a8a9a1671b4d7ec421aca5c Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 8 Oct 2025 12:13:51 -0700 Subject: [PATCH 278/303] wip --- static/img/docs/commit-reveal-v4-sequence.png | Bin 0 -> 178827 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/img/docs/commit-reveal-v4-sequence.png diff --git a/static/img/docs/commit-reveal-v4-sequence.png b/static/img/docs/commit-reveal-v4-sequence.png new file mode 100644 index 0000000000000000000000000000000000000000..a922f2a2b3dd7af627c1e9995e5394e2d453ca3e GIT binary patch literal 178827 zcmeFYbyQSq`!^1V3L;Vh0@9^Yf^;k0AUULT56!?(B1lS0H_{!_CEeXIpmYx1_1oh) z=Q-zjp6~n5Z@vG#YkgU3m_0l0d++PM@^gK5prX74<|E=qNJvPSQj((Yk&sZ;kdPka zqdfrjtYFj zyu^LaeR2M3(QEM9VX)Sr59!AScDGS&E&-D3sJp9`B$C@Z`$vi6_pv{s5Whxc_g17_ z7MGAfGV@t)o=e;wCYi;Th@KR>x+^dbZhu6HB+1^sN%i?P))G1LkHpVxu7XISL@P|$ z>wPLNOzm~{&nVg_UM1yq4!lY#?u@7(nJUf-fFxCV|X<-92z&An-NOb+ejamaFv>yA61lpO-Hxz8duBx z*^+=v(7yb%*6tcvP>lxdvHvvM(qnV5QTs;)B|jRC)qC6iF*1i22iV&p+DvMw9hm1y z;R+$7NoP>Mq%P8*sgG7}SaXk?UpU~_Sa`_N%k+~EcO^ZlSc;;^e)n91Lh6gJ2HujS zn7sD+M+FOg0v7vWiQ+G+s|M(0+Kia!ira?9M2A18k?&xxK`rxTcpzNQ6{M!5RDAOM zV*FFd7aL*ZYoAU6vgUo?l9m~~YyZGZW%nVR7m~ynL)V_?s;w78j$J?&JlALc?cwzS zk{vi8h|8Z_R|%VoyNZIGS-w(Gm$5G_RJ|)u-3X&KW8&cF)mzk`-oif~NKcQpsDxwE zSi>-3`_eGH$EdFNcnM} zjNlkOKF(9I|6v$#B+T9Yd8*fwc2f~G@F$KD&0T;bQX=+RI7VXr-QtnYj=CR4d;qdI z4>xrp>xR^0st33tfi0qZ^Vnw{jR$Bh$NmHN*MFw?xVoRv^V5CDBf~Dn;YF*?mJC{H z%Xp5(o94MM>@nJ0gayXrfbApAKg<^~PWnuOA~BCY*w%6LvmYG3irHS2|Hv)wbdl|R z?Fr_&Qqs#8#;6^s27K+2rM9yt8|SZD1qAN)%z zrlofHC%)17MuN}i7oE+W9E-C zKZ$EF)fMPn9zcJP?Bl$}#(gId7l3RKq(S*40HgJ-djtgyN}yO|1Un601eLTAXF2vu zF*R!ZZqCdHJRhIGm8V*da9$y>C*ORhOGU2uctY4o$#9&QG{jz!nK-obThy?uBe7-x z^Sjt@t7iCh4~rxeG6;t)%^qGp-t9mVZ_|h)S_`myO-ArJ>jP2T^Tgoj55^k!YW^H8 zSMK+>f7F$oapRaSS(EnRZaSal2f*M>}4-^OA@GOQ0wl z1y8uUq!JDC%TyKFS>ag`UimuNEt*E^vF>amLi^V|pBZThBl^1Qd%C(~dlb6KUur&O z2qL5nqRQycEKJ);V^?B+&-;=*Z&rmQAB!U;K~6`QDQ8k?NO4b5Z^Vq+*G>y@cn;f{q)pBzPbgB`23lSW;;+v5mi$&|abyXRZ@+jhojw`MmE zohqDUoX)nYHcvM;H)^+Nw+4m_#`*H6T3R(G83h?)D?d4fJ0+j!`yQad(GCK#sJFzm z$qv-KGMk#4G@3=dQg1nKupU_XQ20FeQGI~<0D@^J;@0-8ZPPCibLg3K*f{B?z9>^?l)bmdXa_)Q>+;G)gSw;4v9B?qxsWh>k1f z5CC63)CwCgUN7&P$(a!_5jROUk*=^du{I$eu3BY@_o(Rq|Cz`Ih-DUmRvTZo9%uz&**k05RYZ zRj=O)5i9!tcB= z-C4$>O{(2doTy_{#|rDLXL7c*yV`;OVuqAB>>ZXKOCC*c*!g_x3tVGdPCBA-dEhd5 zWOeGkw+fHma~j@ev60w&z6V=S=$iS07dFQVPY;LkG0H2^8F@lTCU{ZZ1p z=iU6dx!Wt}4zHM$E3w}HivI_XFqtj)Po|+@E`JCWHpXLgMszETQFLjve6%`3E3zaa zZIXGsB?2~v710-z?EH?Z8<E=lcAz!&uzvqxbSpCy{TqFMye;L-Yf$8T+&gJ0*_rrJK321(y1?W-a9&5= z6#a~B0_*0rQCm-KRG7TJERHPCS8+)h>AB=nDQwzY+~e${F|O=0G}qRXR#Pgk5lyAo zX^95SYnnECL#NI$+0=fHcpZ=@$QT5}P04(BNX5tQCUZKMl$)f(<54SBdv)0DYVInL z$vgUdb2E=l*;Lj#mZv+&m~^ZmyC`vz8Y^~Bg(65QsMB5N{M%ywcU8}v2ECtJilBWk zbm>^+&398t)9-`dQ)?a9qFR5plAHXh@U74^NgU99eRcaBo@DJ1QM>7&wFc_fVlQ#< z?7rT*KYpJF!;{ILSySg2sz2JAE!G*l#sWRp>4sExBy=1ukpwpq+JHW>L@=6b@j7q% zW$8(a(l&qPjg5)+)TGls?K?AUV!3OwaqT>;!iO_(me3S`EpBM)wNX8>*q!)XKweDL zobAcvX5BM8wVhqar?;kAWh~&-XzwB6D(brYpbwLQ%RRq4zebHnvDW6>NM{zwA{f`Y zu3^T@0YZg6%VebG5$&Wpi?8heq@m!#VO(>CS zdDL}&%QmSVf#X-26_r<6Dr}|5xZOMBoaC9bp6i-buOr`4huFUHb(M{_{EG#%AmY;>AGR#uQd1mjhhrwIjv#GZk`b%@A@^l-0%4R{b zal}s9@o2MXUW>((;e2;__X2_jk%n8qnCeX(OST~Oi)T(Xkmrr$F3l%z=Y8g|K4YZ{ zyyw3huiaq1v75mgqvuf2N#TUthv-}yE|Dh>84U?K6W-S$*(c^XBziCE!rf6-=hU8L$IEa_V3W%Z zOXyy7KEpH5Tf#AeJDAxxPHw0Y0z1%cB|#2INCdQq53%0~M-4eyUPBve zW_=?Y17l_vYg@!PNc=9mz^1jaqdtX;wH4Tb*F}Kp_ZhsvHexpm6~*sU94!T?G~^U1 zL~QJhDL9#5Gry)1d_+M(!EbM5!uwuS{LjmQUjkHSj*hmxEG!TRgcu7ERra+9VZ(!r(C_qJpnCM@B zf83|Bi}~L(fgS#QEZ_lI5Jy;8nP0Q~Yi!_Be#Bm0MRONpE0CzUH6Sx!4nbC~*PQ&n zFZi!Re^2?3OEvy+DJ$#ie_r~JL;rcHs)Mn;h>bNcsiWZE3-;&5|2+8Th5RgtXa9#R z{t)!>ANakK_6rQ^!f?TmmACkr zrwsLFkJ4LUk+Sf6mw>JrPpkXhOImXYCqx!^wBb2x*>#_npyA>!|55*f+b%~%s_Cic z!Vy$pXu)mm>ZZ7I!IIfhuwpVn*QWXARI>{O8BG`o1^XisDh1Nto5QcYb%sqY8^9wy{NG3V|GP@G zw&WWV1?p+^|GkRd?x>T+I*BYu3!ia-H4_ai#YKC<^`BbTEe9w8S8FQ@MIma2=>NF1 zD|8=ABT4l2k%2{2qAEoF)Q0(=+G&p`tkDxvT8f0m;Qa#Ue_ZQYbc(_iaSaV5KvBN} zr~S0``FGt%@}39O#Gaaw5vf(0Li&HyXJIf38bd7(0RcjDX@S$Y=l@f8D7XMqm`B6F z_*jY?fcrlxcz7Z(1K9WT{r?rqKc)A75{nrKMJATn=~Al^S~+KuXgy!5-}cHFRAmKf zXey_=94*lk;`;F8<4S(o9!v9e`PDM{-LtDxIBX7+jGz0(6Zt>cb6OzIZSr*2S5csy6h&U2#PsPhYv>Jhj#=rQ|Kvw;MT zXdd-QgTSi90Q(U!!rGoF`ufipgmpt6aEI9yS*v&fx2i-=>x4HXm_iv{(q96+{#1^* z-(p4mPq9As&Mc);qUCX<*9pihjhyFnKTm;AYOQxQs#-N-;>;Sy>dcE^39NL6kgS92 zHt9?o4I)K80#c4GBWVp9S;qUrQSCnge8S-lIv_PC@4wxk84(I};D9dC3U^&yKz+O- zbJn0WXicMbJ;iPQ=4^5AiO}`FtX^Zet3Ro8K(%??5SiN!PILan>6}d%eM{r@VIPdO z>-lokqNiK+j7egbGcj%^kIqxC{hyS{?Fkka1_FOX$uu3n_kGPV0UYBt%HJMo_&q8h zyk*bpW%4f9Dt#Wcj}qh_?6-Ae@_ecbk5sG=XOG*f6NJQUFe6U zb1WB3b%XODtgcY5@J~N_jP_gmP5x7cPmwYEh*%9o`O6B~n30V(hSR|phpS~2_A|z@ zPA)L}_ZmuJu|-w0ui)kxly5l;CG6G)leIQSG8TJyw0EpUG;Mw)j}% zrT)2OWKu}_S^N{B|EZ4Dr3M|3Ae}^}?MG>n$E9KhJz|79Kl4vCB9aGkGWL3O8G_T7WqS`rokrXNLO!ezr6G36;#_SP9aG$yF20px#+4 zbkzR_1{h|27R?*eLC3yW76`TY7h6PNi{bzJa-@%?c^>94Bmh1d;DW3tImjnfGKzz? z%X=e?*Xx-X$hIklqtMu)#oA>CpWS|aCNvP$vT3Z`o~yQ@*G7bWEP>b)jslf`b+H-=o1SXPus-jg&yjL(3&UF}v+9Zqrkn9-Yf zBcVc(yy;V146Ge{;rob4EP+W?X zD)z^ZSjZepavH9iS+VZg2^M3jA^VIi8F}|H9;ZYP&Dk`2>{d?c);k|8bwuYj&AWS4 z?35qA??KX=O+a#L<|N>EABrZ_aU7Y=jRi5zCn#vX=D9f@V_07xdSg-;9cNX=duw%2 z`Q~aRXV0}|ikWEc%MKlg~ieXLELBT64 zLIIGIOblb-8!`cb5TW&fL_#lS?V4fp7ro`iee=BAh0D&19uP?H%N!Lybh%VPfrY9m zUAGR{l<7d-59_L#PDJEaeTxXz@Vf0{hcKaA7pscpP(I!cA~qw*Yqy+a=b$4zm{HBa za#uYDbIp&&^QB<$-OU+fWI%$p_%Q3bNc$o~tMM{Am*l1soa!OCD=&DlA`Q8+xKP&Y zU5-)^B!V=Pb6BW6KkL)GEhpi$(xAn>de0OZ{if$719{MLl-^99Jh<^ht$G342>WiH zQ#1IE1Uuiaa*RwBbV~b0FoIb+7LLV~Xk7*B=d7y@IV*t9t$w4lDrqMWUmk)vh4V=z3he{S|%SB4tv3Bc8z%}{};#U*ndCJRsn$3vV zcU2YoOEMsEYR<0EA@Xp=GFGy@O+7g0$h_$2-RR&T@*|b7U@Kyt94)H?Ws;@yd5571 ze)!iX7^oD(Z_q^}6^9sIh-6^WuN31CXY1Ix2-O)uu&U*1iH?DOqn7y2Cs+~rr z?|LClHtMl1Os6#O+f@2Fd5mZ|rLV{Ev?|7OI#l;Cv>3BfPU);qbZ)C&>>b87UUZwp z>NvAT^z}Y^j(mr@2&Vcpm%C z5onp7_SnBHW-t?COQ3d0lYPG5K;UFtxhybC-zk@j$DBlO z0c1W|aBm`ZB9;4kYDqP0^!u|d^AEw87p3Lqjk^jaHpUaCm(wbOUu@nGX?RAZ zsby(6dRjhg0wA0V*`egstXg3ec!16q+H}}$Nr6ylZd{P7nWmhgu_N+@l zfaUT1M@fd+jaW+350TLVK7yYXCDy`fHrM35oR`x`-Z9l(RFViM#$+bRY}<4% zEb|EHL3A)*GpPml;6SDr`m5wY8@3o$Lc;pD$M|YSHs&BARnLwo1LLy9=Zj92aWj}D ztdcQuo)ZLfsg6F(d<8-t`OG_=@&}bPL?F!x7t<_rZ7VId)LD~vq0i{f?iZ=^o>XaR zGsKpZ8aQQNaz3DY0CdAx{ZcxmcF>0jrY17^G|l~m)EX5x0RYbPa4CY z6UE=fqRX8X)ZMKKe$x(=5oukx8=D5=@x5WCpGrp!6-1vtM-fDIJSs`VX67%ciX6GE(B-$n`tHZ!} zm4zWYEB3bVxA0!S5W1{r$o!n9c_FtTOdC&cBgzQy8S2qTp<1RHv6C~H!Ew_Ai8IC* zlUnK_@#qw4LP6iyRTngatNP?mJ4f9s!!%~1iwPi@}^{p~u^0lP4lK`1(Z;a5~qr+2D7;EEtwOGtC$o6%j8p;V8fHm zKCQB`U;HnATW@Mi+C?q(1AMrWewD+opj2#)`pip1|5 zEhAwLHs7ugEa;Gm>4EyjHTN319`)E9K6u4L=mQJCe8kXm7-yT#Tah?WSbkny(7_0j zkYuv>3bD=|4N8Tw& zP9vgmqH?0yN>zNKa+fb;+IY3aKl!?U@NlV()_mDbp37TlDd@T)#-d9#hH0Au$@`RE zkxoB7XZ^nZef_MPA?~l(C_HE?^`PO`XdL?!NRx6|HtqI^SQ+?w0D3Tsi0|{Vu zIkX5bwf+^kdaKAbB*%LhB=Yr?O1F%^kddmQ3vs;#!24neP~NQEi~L7VoQ)g^kB4#sM-=taE{w!K-bByoxgq9F7U`#N^UT(s_9uE1F;TB zaM4w5(9K^vQAami?Bl3?C5#>dC*jLrUKi3bD45X8ziM9X5Ol(edj1H=f=+&xet#;# zrA08OuAvmalUHic%>rT$E~%*kl&Y&A9QU(PYiGf0#_-kd(fxi^#V>6r5UrtSK~yi2D}_Sz4~=n1^p&@q5G*@#NP`?i8z zGEKci7Zdv72{PJuYHt9LuHWz*Evgvg1@HfC`TTUm;MMdG?|V9qhB!~pR%7*?3)G5w z@u^?@dQ8s{#Vy7q5pR4rus50|1M?#RZ#;PXEIcA|F(02nt!CpvCngbF`%pSk!RA;_ zJy6F?i76DrT0di81ZW8OV(l^7r1HKdxiH;L1tMKtUksDOc1g2mG4#6zD0RRnJX*KW zDg7dk5CSB-_CPjmHzLzHr|veU!2gRgK_ZaMRtv0Kf?X*aj^%0!)4M_TRzOe*o(L zi2@J>%rscPE6wOAy+>iR@*f~8*^SoRa!1Od!4tv z0YEy_`5^qE8mB3blBnr&03@%c6!B9zF}w$$ir&uj2n8S(|1Sj?Hbg7bZJdSKwqZt4 zlvClpe;{GdEm=LtyEmY7TfK1UuhrlZ;dXt{wXDmy+!Y3CbUPa)jYUG-wq_s#g|)!Y zr!8gvw}zc?7{zM{Tsuc!@FDp%ZS_H?N21!Ax~}UC%>C$W`PVxK^ z5LpuaENZMhJv4@e+}FN;E@GNLc6jb#h>d%jToQMOb?MtFtO3{MkmlN8mZssGb+44b zno*Hco*;DZ6j=m5SsC{4_#|LGY1ZidDFSmqS?^h_*L(|86UW4?TMkWx0R>t;6Bf;5 z#5oLrtvcQ}Zf3_;yXJN(f2XnO>x=&f@(E-iA5ap~PW?zccb@R9l!9|?``2t_PM{^S2%4lUgCHLf8$e{xT4^IqrW5cSv3bJ;83iUWFKf-S6J z{$Qds4vj&7{`tTB6ao%4lR?3wmv_{=yS$(Eat>sgyjI+FSw6br{{?aMMFKF}h-lj~ z;NZ$d{tYp-mJ)VIa6hY8kIlAzDw<1Hd+5 zFsCUUL^s1*>0fQbG!Saj_3Gw`mP^&E4lQqR!vXKvtfiM7fPz`6*#%-CR&fph-W}cW zRoDPyc{?&q=o{VXvRamc=t6K<#*hfQb1S4AerzZFqfIa@iej4TQKePyObYpdysX{q zd6O9Tes`Fqq4X6o3j0vwp2uC6$4SAMB}oN7!l7dzIx-5YfW&@xNNOIyvSs6!0DR8w z?08I}E)iVUgGs_!*n$=Z)Rw=MXBZ!qrqF#;hQ8)#@G6^cGcynDg9(L*m6MJRTgI?7 z*jDlFelMv5Vi<~k);&^BU}bj25qiuK^p_sh`Z^B$0`|UAVbkudWHi%W2OT1PbLZ zrK85jQfMgH8&3e^g}oKvlk<(XVs@IMDjXMkYLzBsK`$Hkb5g4WGOsM=9m)r4ZI z^6jegYyI)d3!ZK|5CA2u*KJ%_9xs9{wI7VE_f8xB_=pU?y-rnanCQOTRIvHtrI5m3 zTb{!5Ti*azp}^c>JtXj`7Dh?)%XuGzN1jL|Qld zhiIPuWq(=o<42+;?{9ZZyK0K6h{yE{+M|>e1Ud!wf80B`lwnEUcAhnleZpz+6|hf* z`S0dq&)a->(|$etv+pH?&i<;9ozDS{VSrB79k9oGggrtq8xjQ(jUM7lztU0c;`~ko zaJ}56u*J^IySZOvlT3P|R@)LnT$y@xIW;5$4r;c%KE>qHhCdDdmmG_C`=uJ@o{-5@KCW#k7nP`;&9O{_@7e`amaTcCM(|rnt z&p@CLrLP{C&E^3$-QC=6oAk#;RK`2~wQTGWfSTg{!X-vHng@X4JbnTD{s;&n{D4!h z>6XKr)V1%S9odcwdxG`8Lm6)(*>UtKU3pQf|HL0dc$)yU4|4+0@8q)^!QmLl;+q6+ z<~`zO2x}3pwW#^lq&PyI?lQZ|Y9O(N{nspZLE28RN~!KX+O*oZNSDFB%x z71AXFgP;JJ2QbJ$ia`C#MpZ_M2Hg?KeE`Tngpv(jgh0Czz9Iw~fUvgHdw=Bvgte4~ zz7=hMHf9yofHRGYhz{=qA&~*$9mfCV9fIeZE(RRtfBBOWlBI>x3#e@&8NB&ZvCx4P zPe6(eN8FVK5b^SmbAq`5H;nSfqy0IBF-7Tz7L;nE9$dP>K@gG0<*^;m7U?Cr4?+9t zkGQR^Pf6b&cstjnfPwxwxId0n2c;>whSvM@cMNQ`NYwf>K0wx9h(t1iM8vyw<`=p* zoX&Qy@vJT<1v==l_J+EikAW%m7K5eGo@>D+nh)r&Xf`oEMM43%4y~R@$X+PB&H^_b zEO6U7Yp!7+7W9+9`)FKmCqw138XXIhyHJtxvvR< zH30?GZkvzF!MK*UuE)s*vvPldkG4yVVer%#BCS-{Inm()(v)m94d52qB5MwR+!H#3j|7!Q(oK6b z1MTSDmh>(7a2`YRs z&TZTma~Ix*1>k7?;Skhb=Z2@=OT7%uV~+a9YyEfj666B40Xs3AogrMhzks@CD_Y1G zpG8*3z!zZW5CIQ6F9dUZ&%YGl1=%h8(lwPMwB$6@q3o<1#BBg6woZNYd%dJ#xpErC21 zF?udNGU z_Nf{mw))ZpDiGo+dI$hf3DIV7=G$v$&>9(Z1H1=z2(;P< zJeb)>VLnb&k{6!JvLuZcV{(^;po;nPgQ)ojB*$Rs6g17}$S2tiE0HtcrS_M09*qZ` zi}OH2w3RKFIO)73Ju`?ELZ;O*!5cxLm?}II8hgo8Y~x+}J~bljerpg`*5M3-!-0-a ztFLph&HMrhXuwMaFLf8k3GPx8RyOksnC%vCIc+BQbNpygThYE7ioE_JYNs2ra6J(J zrpseX`7UO=0i+ENR0;dI1-ZMy+EvuURfjh?G$r!aHm;$+7;DO_YGLuZaG>)muJ$Q! zoJ0G*eDYL3D-MRPpY<$MhxEQaZ8%U40XLAC(%`vkxftNL{{>^KHY4Sg(Cq>LS?Zmu z$(+E2O!^W%kO!ubl6-<;R^jN2t@oSA-NIncXIXC$88W!$S3-Xv!GtX$QJCABtu*Ke z%54y0c8s&x@J#>JvfM?EfDf>VQH0RgqlNi&6>!voW{k1bf__a;C;>_lh*0o?rELAT znok7Jk96^7^DR$+O6x9Dc-@ z;AoV7NV%Hsa_%iG5xR5z?6#FBG4G3xmk{k<-9Eu%aCg&H?|E|xk-3ysDPh&Cv2D8A zQqO^Ckx4#7Ir&p4xwRJa}kF&9;#`%&UL`>N_mQFjskp?e3u1Djic#sY~s zf1<*S&_ux&gC0*G5Jtwq@%JPfeSzwL3bGb|Y{YccG&**qz74%RUzV8%_%dsP``&{B z#ovp(?gr{r8w%ARfQVB(oNL`Svzj|W+JFhet^f|#hIhMKv3kjwN}qFV(bS12%!w<1 zuAn5s@?MD+ynL%55xZ4dM|9=^8pDiskVb*{j2zd^IFsJ3=yUMytW!qRFRg>Kw?57R zDZU{=%$y!Ul0nY^YxP03;6TOSYI(Q^p--|kI<~eR55Gur+pUa+0WHZ*lm2t@0g`@4 z&Zhm(tRqpk$uO_$t}n;gy?X#2HGoOXo||5SzmDr+E~=5&)hyaU#ejoIkf@y&rG@pN zo2qAvcQ;JcXA2K&C`AP4jX`>K$7gV$AFc0V8;e7q&W~!5JY+hU1oylgBd@QALrZ;x z^C-b@OjF>Vhf(!xZmp|53OG%GK!EB5Z@$5GN@7X*ZezgJrcPbYgO<#m$9ZR3a{nd_ zjGrkl;PgHzw#4h^Q$h`nn#Iz~U2#Ao@(~(=VAu|iBA!&WbjZ^ga+Z$eG3~L=7pvlT zV&2^*!_v6nJa3l^nep(AHVh>qA4q-u!osNPw0)w9Ybv36X)V!a52w+k0rC}>#G?6b zzy@9b(hDYltqGphDpc?CQ^e|d*1ExKRpB4+b#k1Th>LiEYmHM#xNXA|**Ak}7Z|#U zQ5R?xx1sqdsi{}<*_%5PkWb;=EhuTF9_++r^QMV}W|}Qq>&14cz;c1>yoV zGjBMZ4Ys>oz1y{EeiQq3iJnkTe|3;=FC?X@5yx(Zc2oBvh3pfDQMUxIBQ=YKOEgs9 zs^P$7#I|3A!Tc!ejknw0jnn-7Moo_%k*k>pB-~t9)1`yRvqmA%5^bjmtobnoA^ekf zBwK<<@e$yglf~3}M`%T4=m|ja5N&&KC1LaI`Jx&g^7;eOkE3|GP6DcHRNAldiR&pg~Bq6KOi^0(5{;)w260vRh zkU=rG_WALvyQN}3!5g?A}P%Bxy&*HL5 z2+=9nj$XXBsHC1O_TXD9;Oqxj1?x@c9f9x^H+W`Okg6n!Cy*Jcy#o9^f|u(ZL#J3m zd0ui?Cvtu4(fP%JnswPQT9={c-Cpxu4)w3qBT~P8*%Wsb_I8_Zy-_^q3;=u^k~&H1 zIIOR<41WnZoiSAtCE?&6;x^Qzd43F8?j$AiCucQKfBp4+i6xftL==j z1C^bjlCk6`1EHJasEC@Qp4<`M$(!4=u-c;`Aui844uCo+kJ3RebfLrrJ-!{mYrAK_ zy6pWB?%+>$*`dK7fqhtHbED2~cX}*oJHu?TqPrZ!=*kWCfO|yee2D4n5UV#dNiK56uRl7PVy$(*cr#*G&$xwL!LQr+%Wu0jf*Q-Dn8T;tv=1j2 zBB1I`lhmK;C35_r>?Qbg$00*1-V3Hb$hNqhSL{kHzO#C}yZ9sk4EG{}?d##{@HJzj z)9wYg`;EZi^|0Ptjc^* z^(`B-c%`LN<6)v+rL*rR2EQ#?fiDO+Q^$GcE@X}aC?kr$J1xl?T^qhoeDIY(<1>I? zNC9=#Z{D|Nf^ef>8fw@}WjZm;*wq8&_%JW`>f8fo4SzDmCd?M0o6RuzRI_Kzp%EM? zlpTexW`?Mcmv7_JQx<6bQQ|4=N2PKcH|UBECT*H(I|t$&jCXP#jNIMs6^tm?rK%e! z#M#=8f1KyE*hyMHCO%W}f^q?QOBiJ1fYLOp>}ZhOJ|~H-i0ZL9tW=-e;UOt|)8SKD z^Nr2vWC(L{CJued!H~MfNP8t79l(=u*&<@~yheuSehUq0k1kOMD^6HnHyoLWdMyS| zy;KlGV;~ZH;iy`ti-EcDxn(?8a4UD2Z$h0HBZNI|tf}bM4FJTHN|Li8J{&q8(|A^n zC0T5WITW72VSKnBszTaFC=c{z{T8v!#86I(0SLI5<(q_8@6FI1qf>>+z~*qp`#F!2 z8~|?)MNLTUq2(Q1a85mMmsm=7p!+&~a`fd*)5tF1bd|;;4lwq+-XdNIte%m#=m9k={k`X7p(Qnfp%F+!H06p)xdvsb0es)~J zTU?C$nFE@HNCz3tSjP$ec9;*qb zJ;cd%mRF!2=2-gj=9U`z;lLgmRb3j{w61&U7bvAz_=?|YaO%-5*9yT$O$!DTgjBbRdw}0nUL&D+MY&ytkri#mMoY)|S@mmvhVP@by&|;Is-ET}Gpe)RE zV<2(Jg5zUVPRyGmY+EHe-72sT^}$D6?Tbk`EEa4Umd0b6qal4)FoL8Cx{fq$XvE~Yt{`fcaP|X@Jd)r-R;Q)eZUFZGL zM&xxo2kfhSBIk_2L3`>_;9fZ~jYYfr^|A;<2*n2T7IUD!>g$T5ORY0TX9#Jpq<7tXkdx&l zYY`ATsa3tDDN?E;nEFe7lkH_yU5$(i&q{dPl2rr4?U&HglA|Ra$QCAR#q}J0Yf!|- ztwJiN1aBw~BLW|l@xpHOF!njeWK_t3|EL<-5h zhmJ~hiI%wCfL22UK;|lK$r2i6IR>41n#7tV{8?_ud6Z@%X-3K=R~1&}zR^&-Rny>8 zyaA$cj&W&DP-_s!mL+D(`-^vVj+S@BQPV4OzN;crc`Tj>i;aG9po<+m{SL_*$?%

                                                                    !^Qkk_yP{6BwnK^gGU=vjL^{)A|zPQ$fgs(09@_ z+^5ql9VLv#kfN8tr5V*k11TPMUk*yVJXljo)f;jBpTKChZqC2ecw~ftrYsum3Ux0k zt|ME63<`?&*M)?(*9LX4g;dI+vQ~h78Cgz&uXs^Yon(Gq>*@5 zzb=2HCx)FBU-}z-tv2irJ+GDDR6XH74Sw7?dlg_r6x>v0v}(pGW7M z_{C-Q1(Y5#N2oOjUZF7*X%s^&Kik0M(k4&Xdvl9E@<&KVyEmq112WPWhYk? zP8Wi5yvz?2tBZM$4d0g#%Bf|M&cx-e9 zyRh)^;%iTeJe^^1;=(bz#dz+9pMf~P%8Odqq3(7CsI?d1q`-jJ$euTPy133CIRHHB zu#_)N4ooS69?)a)0);MzHjRbRHj9d4S1q8_p4d*yIsM*{5tK_wfH@D)A2JD!6{|( zXCc}O9!v2dIuh0M_67ahH8ZqAeZz*d@u~caBE6~d3Qk8r4^u2^vt&+@#E*=@JhJEj z5j<0%L8Tc{w*XMps1g2J#bJFgBxQ{Zt_x7HgKRUzgJZ%xkH5ips~1B>Lm_?$>N3mn ziMc-Qjn=INMP6T#XedB6r)W}|hAet8gcN9+=Tg!|h_{7|kBJ4NQVPhaeUlH7>$vNd z5X9w@1PaAlvnGG~rR#!&%*03q_a(ftJ?M7PRJs!J!)0>d9cH{2`IKmb5cKm$3{co1 z&@4DBUKVPWa+$ShZe02m59qBk4Y3V5#;fMb37wI#4jXZiQuvpSXvSZZ7rq0ieo$ER z(IbWvKTTuIgRO~e0lVrgpa)Espg`w_rlxk`-beEU0z0V)m^xe1RfyHSgqg{wlB?(j z=T!^dtZ|)*O?}%E=^w=(d#o>J;3Mh>kp4wmhh77C+%>Idntq!qjmySm(sNusfWdQ) zo`;SPn&Pit%P#Rb0mIppqf*PAW76&x%Ldb;{5dF2X8-ON~k)lg& zh@3fl!ZRS-tX`;rqt}-T-O4*h4iNq7^Mv;Wye!5_d7~vPx?Wds%=$^?LmK%_?=Q2M zm&NY%bI&PPX92?0H&=Y;09{rg=B-sn;d!$6ZX%z;1^Rnlz1fD+c{?|xR7I7JCc6PI z(?UkE6o3^D*8xD&Lhm=g3l_boU<)hBQbnwAi{O;k*5y5PWiIKR3Ux|Rw?*(%(_|;L z)x5-$AfDr45eA^eSOhhXYcxm&5F1kBge^OVowBaZ5TR%Z0g$^t2S{6xau^RCfvwhW zj{wCL=5EVFue{NFwDC3rc=nT^oUXR0Ngas5*;=CIQo3RnDa61y;C;+~_*1o~3a%rT z0+vp9gA9e^Bo@&e?J@=t(A06_PtmG^i)@=cDb{lR-cv=bS+i$w-#ifMlASvmzOZ(&V57$sjqy*>5}ZotbaG zI)B~s-@5;;shXN#cki(F+G{=QSPNF@;dXfDLG_Q6u3ljp#^A<8$Nucr}q|51pgV;UoRg zgu(c?+|ftJ*$#WOohhX}3I4O{Yr6s*W_R+aayT_dF0xeMRgRvj8TSCs3UOdsQ%!csxW(?I|dG434DqfY`al$P?N7f>j|p zi|hJNV~bjFDz2=d$!#aVzgkypN_z*g66?C80hGLn}8@*`aJ z&rcJ^Q(&)|kIbPu^tfhMw^3`(`Z~#`8B6J-cfLy^iO=viy0M&rws~vw`3(54jJo@L z3I2m6qsv#LNi6YnxaqY*8F>5Y?;-E^d2j}Yb{YW<-0ZVTldz;HmX>x16j8$~VHN%_^3&&eEy4HtUm_yZ4=& z>V#9Op3XjL5EpF&03z95hO2RaTxKJjTe|7V`oJBgy^n$GbTyNi%zs(J;5z-PMu4Dc41vEiIw>ji|nt$H?(3rP4Q8 zOrHrYD3e=P|M0K&O#7j@QnMWeKlMu!QC+EJD6(o_Wonk;aOVbpBdg=T4nVuD6j}sk z#I5Xj&`@QB8Jbr1L$tFkWshJB7dC{cRHeN-Wnhc!Cj-5tr@M@_w_0&(b|BC+#_x@wp^7)fxpguD%Wg zXg?%L*--^Gu{UpSAkt)mi7)u^2-{Rc)7r}XGsh<~^GGB}Ee`W_)XFRzEhmiO3hiIC zE$hf-q$s8KTcmDW1(pThjh2Wl3csX()O}oDPB%R&_8!nvzIZOM=mk#DfLOKBRYAt!pwTBFuG%`Nv*mW|LF&f$lM*0NGe;O`jYmPZ$Z32upOOgp(`5 z1QxZY`B-G%Ewe60qiJ=4YwBme&5J#$+U+iusbMYa^~Svd>sHI8`Fbm=g~4Ch#wo5@ z%@XN-05t8az8#5wou!Wz$KzGo>avCu>ENFy}+<=7$M7lZr&EY@ahp?f0_HDXBss0UoT zimkAmg10~UT(xSh&68=zaWVntp!e~jn*Y$D;^3Ytb+bI*6oJA6C^tA9Hx;vTXqW(9 z{;9bvxF7jInD!&n~{l7;@rY!9qYsH>oSX6feGBnypY2HuoHRPN8W$4^N^$y8p$yO!?olU_r-=qJ)bcHp6aWpj|ANw7(Mg+8Mxeu;I1dUX4f(y0mmv4!<3ywM&!?W?Uujy`sbBIV_es zg;{>GS3I_->f{A@AJdml=V%azWh*ZN0jo?>#TzhQ>o^B2RPd=Eg2Ey%#zX6JD^+FZ z0xf6pg(S~Z#>f_5AA2%|qy5*VJ7VgcYE9y9VD$zeMHu4muzh?@kq8?w$^G3 zJ`MrLk*C#ccnO}V;>fJa!OvL}A%X zn{a-o_s`x)z^oD%EyFIC5|8MKrTnxNU6jz(3&bb%&WM&ni}9oYnFB}LM{7*M1Wmjd zct{gYv|dvAtCKCihIH_MR7#ob`x50cmX6_JJWSbERT(>?Ld@sSP&a^0H-+%)8#XK_ z8A|_mpZ))lx=r<^s!|0KLPc6_5Qfm>f3F{S`RR)Pj6pD4{YSxz)1B$cJC*EcVKc)8 zkL`4Y(82btWUQUyz_yXr5z}D#xxspTzET}?#$)`qwa|Xyg2f{AI>|fVVp^bppmTA|KcBW-*6sqcfpV}gHS*7FaAE*dC$Qd zAL<`KUxPbdWUQAIB3gp<)+tI>{t!l$dZrJ^AqA0B?0v>#VKeO4L|)@CzQ5G2BJ{y% z@m+Cbkyr38ATVV>%2Di}3X)TluM$uY17@QS^j-9bn-q=Nq#OnZK6pO{Z({(}6|X9n zt*P7knNF6m>xTu&T9u-ylaNgz75)pGQmowZ$6^7=dhIs~**;nu@Ll|8REVL%i_&{d z753dQ%;-cguEt}g$HIOw9(!6DkP8JYWypmZ38!5lzyjk+?F0n0X+V0kds`*t;z!sN z#5}RJ8fT86RD6ay9GU;|aQG4ZdB7MaTrUIuCgC*o4_w$ObDl+ekzQfRYmrA-HUbOz zasSaXN`L&9Wg9)VrbKYpG;7gWCjwmX7|7ENpJQ!fx ziK^x64*@MD=TZH46|@yiXY1A*CGF()*aE*qGD8^P9(LKKr(5CP4t$d~Z?tOcGABHC zdZrGy=Ag)Js^rV@7Zj5aejJa)hBqc_F|$V{JzJJ8&-fRy8&Wgr^RGvU7A8w%bhkrvI&Ys zHN{ZkhyX(DCCwynqipu#w{+#xHI+18|{npGfT&xi$KoeXNuSHa&=YLm@)j`M8?|~1wi1j zjYsK9{fsxRweNk@u4CIuXiM&OaWZ4vRuR)C+7xx9)E60u&(K=L3!4NjY3=N>dMs~X zuVQ#Qm3R$G2P8;qiaZwbRSmler(YK~|_8Kuum>DQxXfKh!4N^VuGF^c+`vCf=bdDn1fAp4;ZKqOAL;0%I1eC;O$1bB%U6O8B=8I;%gGPwx3bUaMkLXdCd(vDZ;?HGP+7B-9?ZEIH}ESB z5~Q*MKuWlKwFzU4+oH(;89QibGSU`WJ^N@^1oSGlcyB2v$6vd7=ew@QmN*}%zE`)) z(R#Il#^(=9b%%K&3Hb|v_maEIDAN|5+-D#N^RR#_P|zCO@s-jpDY_?=U$FV2C7c~l z)$sz3V$^i8c3XZ+=ed!f)ur7AedXwW7`TBLBnBU;BsArsA3XUqSOdg5CZm~D3=)B6 z3N?AH;cO@tmMO*E#LymvNV%E8L7RkR=jlgbmgsV)G;?}`!b}L0J3~N+3g2B_`)u@O zl>DqCo?saNO3tDCHr$_E`qu+A({8pZ2cUqq`M@K0+=CI%$_i*us*6MxQ7R;+OTo`AGLpLPLxArHCgA(|z!)e9D z)QHA3HS7@6Z&|8z#J4^MwqC-=KxDteBF3Xk@!TI9^#+X5phYZ>ExL6Yn!tP8JSCq8 z722ftSxctxBRSRO)oV^R>ZYDtyGKwL|LfzC66o!ybJ5}U%lUH3*?9;$H#IYjLkrZb zQvj1k_&lEOHRC>{#MOt3e`_w#J>8`7&fd0?LXwtsGR4U&jsbtfhmtpo!ZT-|xX50i zuIhdh6UEQH=mEd`7$s~iPlLbr8lO_mf}+kP^ZxWWdPSsLa~8I`c# z2Nf;Q9mVe|6sp|~iL)qYTRBtKh-1|n>}xdFCFuELU_Z(j+Y@78U#xz29v|zOtwqe( zT8pMvf^q9C3I3ePYMH?}FI<76YJ0o0=Jg-r`{YcK!`mlQH)CI=e5B1{R4M0LP-$P* z=z^}K_G|VH9xjNF%>f13dNi~t@GjD-S$-f*hAr z8>}%sO=OFDCug~`@tvSeQe6Nx$5DO1& zO+ip8Qjl{SlSNudY%69lLp^nuPDp+H__>!HrS$l?GmGq5mGNrK~e3uO+Ri9no-iOoEy16qW&Z`2^E#d zjveixI>3#?Vsab_OLte0EG@Sve)ll=VsLk^K{rDaE@N#?uegYPA}TAxsEqjVo+UQP zQYb^pK3WPD zN%&fYOO&8u1eEgb(bvhhTeVpy8j7EY(em@qU>W>w6UL^->68%6DPLd*Ou83m|7swG zZpw^eW$woEVr2)9*#_B5`U^Tl9w_-Y-&4>LvCYNGj1I1K>AzmMT z8Y-X&7CY4zcKq)Kja^VQ2QjD7zsH=ZUz=sH5n)y=oXs*-X$<<%vRMAseEU}~8u}!l zljuTZ#!CuNj*=piYO#3BFD9jy!HE@wXp-beFAxS5#43Ocl@Jq(qB8$O6vgYlZ^7rd zGW6g2lD{UY&?xX>>1xNdxHL}IcFS0LFm!OWH39yTRrZ;06}oCsCWtJN_FY7n(QqiT zeSxi~af~}pyBbHyP9^*> z292@YD9P{aW8T^dZ{v9&s9T*o+X%{_abP6;s=KnY@I5+dZrDKq+Q1v3* zyV2^YUR|y414coRl?|%l-nF2DLSN?me}umO&yo-jr%*omr1oH|Le}pm=*d6@H3cYL zLpO-i@fTggOaCusN`FsbE-i-AUuJ($U-V+uTil zu;z?{`a2UJI~Qs-dene+%=e_iUiG9v0`1yFJ@0Im-6*HSk|Gpwo{arasRZC)V7&9F z;x@%N1O2lkb;p^G#53Euwi+yadTuta>C+#2Lg*;);z&j+40R4Jq4z-Dh-8INlt5)~ zz2cOomvTH%qc-5vY-?~GW9G2TD+cN8-fv}v;`WCHQtG)a3f@4! zQ)gHg#MR5l%!>j}#}o9o`|>dgO;N$s0SdK~rQi5Hv+fFmV(M1y%cP8kr?i=> zmP!dhO4c0u;w9#-2-wwDg-x|i4~-Nyiv0k?NDIDJlbWbG<&gL(O<}J~Y8tV6^6Q7YQ*lIitb<%;(H%U2QmZVs`^Vf= zV*AVDrkW{hZCZS@mCw+{m3U(-7uvgCt*&#C6cQYyDvh;B86nd>Op{Mrq~#);rP`2*l<+&$vUlsO)k`Y|pWuC*q8bvqpM4q$9Xq6yR z=u%Cj59T>YS<1R7IeLips+G?rLrDlvR>}hCdU69kw3ysRLpJrznlIwtNVLQMe#qv0 z_P%Zyobc$P#;)F?7{7N;eJstO%-2{ZPwWzR<~Mu=lQXJc-rwqL6yF9Xx33sq@d}nf z!{e9viL)7@SS+;>e8N+sW&y!ij80rMq_Qe}owbjEF3ssTj*4f?%UR=A)rKFLFXTGj zE4WEpm8o|HTkK_X5*QhpY6&bfjYksUykvNVr(>Zs6=1H+7y&r6M_e2V>K*PU$No&>`u9u=xo<{ zy<_hb@NfH6WR5xdC`;F@(P?kCxZxCB0o{6%^Tm#+@FKr-$K1IjJ*Mj&kQ|HLwD@*q z8f>v6+Uu{ha`QR#2wLl3j)wW9cB>Tz)InG*^t2sqR_~)4L}@!{EhG8%V;=>Z9u3~A zZRJcfgLjUak}fD6$^4Y(t$arP6t%UI=^_<$Y?OEI2U4tv8+ha0Mr4Q1(z%;|P>hrl z6Mc(CR~mO1sU2O|TFf1lWT{i3D_UWYU|qqf-j|wjm{v-+O5a1L^J+nLzYBi8t7G(h zT%0|LFDPSdQXS<}?CoWD3jrWLK^QIlF&hWERlXT5j>t5N)h!YNVJEtov8)^Qj#2FZ z3BM}N`+O`RDEJiISg=0_*QB^SEOK+DD5h&?lRPw@xC(W=wV>P{GcvZEt+Z#f-zG-HhFydd6S4rQ9-># z7n?cE%E__Jl5dUv^{9MfOMJPDegl5FE^$nT{4g0gkxH|VRpi2A{&wPfD)??Bky5!} zJaHhK_?Y^5EJYwXGPd03MZHdRxzLu-apCS!miiN)C zM;J(er#vJpKC@@saOd~3ml7$w_H|2Kx~eU7TrMtnz5H2a?V}O68>xwOo7{B@UW--( zT4A~u9W#Cut;5!5bZ^lTDOHzc9+cMSF@%A^Gp2+Wrwh=xvK-|azjI-Di-v_=8IZ{_ z!cU73X*7q~MN0cIia=F3-*U@pOTqAmAPiGv(V_{y_h%gI+MHbvs{x&XBH&!M$}!V#1#* zUS9JPW0!<$Sv`X|9dKGQ82wHQ?RTUYaVSWKsp;{AEU<84v|+i0bY@Ie37HR>3I|Jf zBMshWTEa^U2+MTu4o<{Sa6I66x*-3PL+904r>-l3*n-AF8Rrn*EaIj|CGqbqX;@Mu z`D05Q|JV}uTpuNxxXdT$4M0Sq|FS(Mf$WQ5wn`h&0Ol|dikPq{>jB+&JK7F&Q%n&? z-LW;G20XO4K2i0p5VY=!=0r}0ktMBX0x4-Y=G>C_GZ zpsCm_8KGW6eS1vGb0}z8%m2y^qG~`cnuba?LgHQJ1C1GU=5UqdNx%oNn(;g+&|Hjv zqA|va;lRE#=Iybrnf3i8!S4qA_faCWHS-}p?n)rPLzn(t+p2>E^MMFIy1>MQ(QHd# z$t8nK1U+KZNoW=SfqpA1-Am9iv9Mp(EgaP>6UU%S_ZiY)p8-u68#EM00q)1k*;6A; z=Z?+*C$7mMmLm*5&3C;0@P{9Ml1q|Z7t@w;LrxOk3NCY>6IAgi6riJFNCR$GtnNPSi%#XRMg7b`nW}Zx#9Ax3UEx0_*7i=WoU9z*8fT+1a3VFR_`%#F)Hgg>u?_ z1irL4=z)WKpxC@;0;OAdP5(%@khUsc#+uue1$xZs{v1@ zAL=r{NwwA+WI}0)T6W(I4mKv=(wUBE0@AV9BJ{v<%CSzfKn1GSI_5;H0DvmqfeNMf z_-6deigc3aM}c%v`5oVRZI)QaK&I7#suZAKVmJw~aH1wbDJMBMOTVtOWp|;23KnP6 z&SY$~Fg*&HQISvKm)fH!vdv)7?3D|C)_OsOe0vB*aGdlY?FAWXq#=-A=oiHpsxHB@ zV4L_T5xVWA^8V?{QSe_1w=1oBfLX zD6&ML5=}%!sbsV^T4HO(1D7dvmI)^CwSZB5hsKp3c{3jcm;$Ld|WpCQy5+qg=;+e6W35{@2UE+ zX0FEYh!?2w&@uel?!I3Kkj5UUxUed2ha!KZK%ALiK;-q<^1?JXZACUVvqg zV2(O!B~#_TKW9cKYs$>K&G~H>vP#t#|EQkj|7|^a=@j?<75}@VXrLO(8hsPA0BysK zE{tcH(3PFHLdnJU465s1`Db01->UJJv0fd2XUSavL8_n|Sz}f(?WYi9mMhye;^(f?7N{k!!88=R8+bl|aJKGM@l<@(2!5eJk|mN|zU@kP~hgBd4) zSWmp*NmFU4`}gsa4fhs^scw7u>P?fJUDSm9@!Id8+;44?545d?-8VpG^tU}&0cDRt z`R`nj;_96~vt`WSt9VY#fz$iwIXN-?s%@lko!oWad1E%X$W%&u%ktsLc!i+Jbxf!R z)QWWot&AqwwK1SW1f`BHfH<`!fpic9XRQU3rQ$Paws;HruW_6Y{ZvTs)KG`7!oCxR zn#hvX@58pij=lVcpj0hX@>Po{gx_wK@sx-s!eoh8XJ(;8~5g@@4LGh2)- z0AEyx$9S@eI}zh9RpZgO*yu#%`YBr*io;bY=CdkLU_#SBzK5L&(J`p@dr6SJbXvd> zIH3%;&JLR?4t0EJu@9qzp*(fv&15+*Drr;ux8qasIrA-{#z_DRYNy6)UIHwtzYwEq z8plj+gK7a~H*e?B;C7JRsCm9m90ra#y6F7h=p~uF)vWsB0*?%7jI?eH3aS6V4avkT*w}u=n3gSc6x8;rpBOseAnAmz( z5dr~!*V+CGNcNOsvDB^e58rd2T>Pj;7LLt2PzQ*^wM~fv3z&Siv(?UOyZ~k`PFFVhY=ccKu-%>&CL%$ z-LkgnXUCRp)84SxVU}?;iPNH;3#!&8_*U zzG{wZ+%okHO_s3VGYy|?D zwJdAuwD#gI)JlqoHq$qC*L#I8x}@sIxS!2^q?nr4aYZ5?J}cmS&N=-(&blv!m?Keh zYa2TLs^~kvRjXvAQI1KiOEi+{566TL>QdZjW-p}tViav|U1x!h&+U}-+wOaNJ$kkk ztL61G?CgMR@>}2Jy^HDki^7et$4#3~GiP&KoA=?z@Ccu6N$2i@&D~R}gNFl2%s?9i z$9Ri`5N6hz&r6U4yDPeA2nsKgXtq#|pr8IXErs{9D90bLl_S7!hs1}BfB=VY4(Z+N zyYGZgJ1y&a$T#AgFZwOZ2mE6Qge%&qHhSSbj-ciE*@o;p_{#C_Scm69dfD9iisN?j z4ddDpLrJx@&DvF=gHc0;S`bZ7O*wB~*k2sBYi;bm9ch^$C4|jCXVZ->o>lReksv(; zV&Iop<-k2}jcx?D=&hp^{L~LY%d2P|_9o9gJb`@;nWTbg%i-YxOec%)obB0;mPHF;c*aj>rHx{Y~JgG zZzone5h`D#k|o#IwWR3s}5irYJ?3M zP~_p{5>2|kNW+w>T3=xR%}S;L{?{%EgTP_I<0bqJwWh{__404;D#pj=%bGmbZdc8P zQ3NgOjv2O4MM!ZyP*EQ^Wl5MErcVa%e{^nurilWe1{j<@&HCmV;0b%4kIe3_!xip+ z9XmS+_nM@xacU?pgw3Uufx>BhsjeP({Q5%N%$-1{v$-18 z{cwMbv*Qt2&bKk`6c-eHZbNa*=TX^Y8@-1su7vtv9Zxndya%)bp4q!`4FurUiBtE5 z&#DU<<A6h z*HQ~s&J;3oNmmA5no!~IPXjzmX|)+vKxz~)tz<@2>rZ>wmjTC2GUhnqg@g+^SxOgy zrm!HOO|m**5lO3Msh0NhY?DGUnM!5#o0)g7u>9>p?1P}MpK>Ix9OU&>s{mk-AIu6KP(WApYx0o4|5d6sk z!2-_9Pvxl}VV@=?!sT_otr*Z@YnFumtd7Jd<`3%YwKu^d@DTVQLJTp)vkx&@QYt{i zgP}I(U#xuDFC4m$YD0WfAC!zc-W3{riwe2f0j&=28E85XF!wE<#VTwAgSd)G0i^{F zchT}+7*wosdSpQQp5TXo;2vGlEDgeCIQ?F8(7DBSbT0nOu4sJ0k2hy->C>H(;8I}( zNkKCwj4;*Z(7J-3ucK=_XnlfNd{!CGLlXlBbFU?N2eJNiJj(#zZ7XB!w*JDZUXx6i z&@m0@3#Ql(;q>71i}_{#)DMS|+PB}Eyd*$wCuj_s;&xD!*My|cdX*>QZtf|@Xv!e+ zp#xySF0UkJ@-+uB^uXQ{o|(?wa~jnJOm}(LmE4(*{xq?dzrOnpEU~~4u|O0^{$l%@6J zAeirBroRzSCWj;dCJkdwW&$qXdZvN=So}$ zsHCfMxg0MW&(8-gcJfZt)0~}bQnRQvQjT~W*u_8i@u8!w)n+mIpc^nd=)KP}$F{A7 z&#^U1=k*^grT!?@|H2Y6V_9`kJZ?N~4JzIAau+yD&!8jZXso(oY)L4GaN3j9w~PSW zN|dYFLc)($ne9M$9rB8`$FBgXcvkwGr23fCgtO6BgK(f9enZdVs<(T^*Tf6)_{Yv! z^=JD;kAC?W&PU$&ewL*GClgm?LA0D%*DgCfGCmgH)+-WL>iPcBP$Agr-f@@O{gB}) zyKbHBu|93;e7FW#Xl`@Ygtc{$!Kh`G4s#jIi{_)ST^>T~LQ(ar>rPJ(@&FlT?*U{W zXtZnn!D+xedzuq0`;EmBWzIa8Sgu1hWJ5>u-3O~!Fq7rk5}@%8BKc&k{RkBjfLi7w zu4fT_-d=9pv$L(T3riofy0jA2VAdCpR=?hdy$aclvi3YF?EuPtfhVh$f|s2x-q-({ z9bAe{1$0j({|zqKhQ_Jkm}&OCd<{>BwdL)dI;;0zfDm(!TfEaxKdBC-H*va}3>2d~ zm^G)?7s}5buRp!ZYf+S^S2qo)Gr`<*K)e&v@4UEXBTr(-0%b@?CgnuFmnN)n^PYx? zQ$dEL{5L~7#$>U-pTPbtD;Y1e+F`k9zS^*Fg=6kz+aqG>na0OmRTo~mFIAvbc6=ob zzbDaQ4Py_(h;ZN3p_dFzq;97WE>x4)`KgB^cuCC|(Q=~rrEc>)llAZ?PmESHdER7D zdA`ToW+QDBeds1qQkMmo1+{Dw1xA=N69 zG53xLE{qm|RA=F>|qwn`pn|T+G)XkHawvcn!QGLOh^3NQeu(PstwPzM(YJ=Ai3L@Y5EDF^~kXG;x=|L1-P6daPTsuWZSRrMP^x`l`#Eb#ZHz1Ij(A5B zdH!0bIR8~xe{ps>k4q=gqtpyy`p}*MpKFVrCTzh@ZeGGZ7iyHo?V_w~g;&zyC zA!jP%_g80nx3qXRURiPy;ODQCpHL~fp{HF47%boD7kv%gCnL@MAFj&ytn>9Zb3m0z_rOP+-WT5v(9v{zaPMo z8Tr<+fd8HX`0oOrk=1}meCY=b2IYG!-+l!@PU%wGWYm&K7dtqTSTyPAct!SofUdyQ zzu7PK-!3&ue8}4vMZT2gFM*~V`C@s6d(^A0_LLUR0XZ8HF^Dr=*r)*-CtN_|#9wbY z5qbDUZ>=)|*N#TGt$vtE_ot+0I;|Ao8EHSWJ&8uH-K+wfRnvhau;qL71b zOw@qme$eQkGKVDtfNlLCpwMqEBii$ed3)pj!CFD$RAp3+{UQuaT_LH!2^r=J)D*yW zJ;5v9=qqq~LNBfONBTzwF7EkD$TC?!LOq)ai@D`MEiUw7eB*qbvJ#WubfR8-)Q6J$ z0xOHX;^A~6S4lv*TdR+OSXb&tXwz#?R*wRyy79QD@G+p40Qp4n}g7F8drLNn(8&0FY;Nw8)ZhxVrM1uBpbsBJ6PyrOovq;FuH_C_lW0 zR#)xQfBgjvqI9hrF|p7HcCMpmr-F;*s_O06Ob?;Gy>j!f7YPV>@wHzk?zN1W#XTVF z0cT7a%g>AY`Ty(yfNzd8IFRYC6|Ne0z2d8)h%xH*hWXlOf+XlrqWk~#PzHjyiv4qs z+pI-}?42-xr$VZ|4}Ndm4~IMCDBu9J34yJ%6ia>xoFR4kF~}14YBF@p1#K(GGefU= zqdwIU=Y!fbK25hjFfBhZC?tbI!eR7(Unt0(>Z1>z)gTMMEI$zV!yj3K+Qzs)zb&O- z%+sfPw{T!9_R@93sKJq9pQDWS{e9Hn;;hSeK@XrhR>)oZXoT*W1JYxmD`qfTf#NQY zSu{{hl>nlZW{-~Mqw?3c_=pm#8x|TA;NW$E$aZpfIRMPzjuq>RaeoDMA-7vqW=Q6m zAO58C;KA1@@U%h)(Em4T3BVOxW90=(Z*{C%m56t6FQA8FXauC}art__u)QO*3&;sK z8mqSbxCXQdwue*{q=8I4D|@cxILA*Q!(=pGZhEUpHa7~h9%vr>T;ByTl+{9!N;@E8=MvXcaXzqlp0ZyS~h=ldzK6oGazPQl1WL>ON$k7jMZfvzF+>QagtE2Y5mx|TpYCg&r(9ZMR@dpCaBAr;(QT>tG8bP~= z6MJyGq&m3bSu`yiqA&60r+)(E`eB;1>Q89~!MfG3S7qGg%L9r>sg)}qiPuAkEL9S_ z|?9dZK7yJqvHQl3m|l5V{Mmb z_e^Q5s3tg?0^E-w$%j|lPu4J7utj^^D#m$M-|&LntH%%(#$~>LG|W{7IoJY8A4wB% z=EU*?^aN^qc)>^mYz*Fw=TiP4suB{)7r*bXDy67(kWGxVMH88!aGkF6 zPj5nXH$X3^?#^t{vkt|R!}Pft^-1x1-Jv>1w=Js@TTg!dOuM=PSdY%xDjPd_oR%Qz z9x|R=^IFfqLO!}b`%3<5xy~aq__2m15LG%{QXP4GQXM{SlDJ>g9Hlk+VH{>HXH4vk ze8_EGF*0rn-}3ZnBZi-StWa)bXTQfHWGHSdl^gyu)$(|Ss30`#qv4ABadHmfc~XIU zX#4E&+g(lCA8BhP)CiFAm0Jfm`NjG;yz7LX?M=mn?o^W2snFE|$PoBAS+#nBA>`y( zmARp5yZ>0hxZU7098YQG|8BhYhKcc7kRr4 z6bA2%2stK)WfPBXpbK)E{R+qD9Aao}8L9K)zFqN6_+Gcc+_8i0BX3Wn_UvrLc&!l6 zxkPX!lU|izO`}fIxNf3%!KV!Bw?P6{O74U#lXBRhVyjC;d|4;jkF&HWyj3ZB23j*` zLw*)e2e50Z95nRz_4pAkWNcL*4hfy>HgRov?AGPZ1XqV1w-C4AZ)DFnFd}9N0!9Ex z3Q{Lm{bEw{o;<)|WQQglB+Gl!F(s~~+y|@6@G`*$nWXh0PwCU8r(qJ!GNW4Pqyhqx6e6v)>iLQPwWv^DsB~?9vgaaX(psfMZRg?=>3qb^y-UZk5 zD~F(OSrZ6d2R=O5Y?XC&{4IVlQDO$h9LBU@-IwNiTVuGj(^z-RMmi+c9e@SH$AgcA zHIWx1Sa(-Q^>$y+>@B`>e^~NlBp=>NKW%*4&@Fvp_d1}m&V>Y!k8VAJS-IP#zgd;^ zyr;*Pb)AXXjFI%7)@nL@N_q8Tb7)&uy10j&u^wt$kwSAbS1i9hO!}2ILz7>e-e{J8 zp3v0mrv$4t@gT{+E?(gsru0&MN1?2eF2y z$Q=xnN4ukedj*3s6-=;$7Z0|JR$wKaP?GLxqIbNAag$F>bY!{JdQxJ-jF}qg^VP>wQW!1akuD|+xJv1k|@(F*;6E%gA$W*4{V!XYpJnB zK7=1yaxhz|za?DUJRW&y-ah155#09UDZvO4vDS04K<{@BPSQ#5+SFLSR(mBq$b9rD zqTSOwNq#^tm{uTK5C-u$Qui59k(**C?oHHnx=a0H3a+*8cI(r1a5`x)91@W?z8{L0 zT%EK=L zkrQec6s$&4w!h$qz3}reuK}Mti7`_&khAPMODqR6%W2?Ybo^XyP42G+q16L1jp|lU zJ#BJZeQ{52tEz|k?SbN5u(K)Sir_wfTQ6}pwtwx_>v89$Fl4FvI;*Gt@5nZp1~pY~ ze8C^XH?BI*PSvd4xr;s}D^jJ=@ZOph(ISpn5j>NCPyB@JNyCfb8-^8*-nPDC>qBi= zn7tD4%yd~xI1pN@li(ts<&x0$-aumExJ49F2Wb@*RS<6yk%pG=I<3o!za96C4;Ex+ z&h_?CijXn?e*XOB;JLOQNWzZI1tsez=+P=Dv(+wpkF6vrmNL{ z>O3iY{{-kcDO|lpG7noguC<+$&}i~%c+Ngd`qQ9ffN}((K?6GDV{d}TY$U&~c!S5? zJN$2vLayog@KCZCK}oz!bTJlpi1F<+~eA3TAzkv+1@&~_LQ=d>K> zHvO5sCzn?fENkg#`m$&yEvRF#99CG=ug5~IxJ2b7?*WpwOaQ@Q#C?DD$aa_=@vjK~ z(`9UdPvVYG%*?0Ye5K!leZb>7(uGauS2Y@rml@5^LUNSf-xo=KFy^%?!t^~4bmmE- z2i$0gD4rd6m8bviM`)b;IxwiSC$_&TySjLgHT+q{TM!Xvs?3B;&ru_GUm0k=DK=;x zDpmT3zc?O-aH{a~043?#H=ls67o-9|6=CtYtbC)-e0_2)8Ys%J9K+SmD5il_LKhH# z@q8Nd+M8k2>xQmKGj@>3(!@9L9`Va&KP)>ShIXa3=L$YQc=$jqx3>vomBW`%ak18V zpgj$^GHJXa&$B>}a~!Bxvs@LM?C4$S1jG}bJ34h`$rnjnULJDS!BM5YnR)nby^6qy zHc$i;!ib*!BTvSg)O_^0QXrU4|6u|suSViQFjK~8!=RZ_Q_*ZE=o9?ObNksJSs)B+ zX-7{q1r0n;WhTB;25Jp2gHdTgK@7fyUkt_vZn4y0P#_}6J}g)}aBSD%jQC+Oy$Y#e}Rb7^l7oqF#1RvgQc)lwGjifUIAS~R_7xr=rU%I9@#MgKjk zj{E-8{dICb8_2srI)TIJTYlns787#FN|aK8XOf0>1C_jRg7?uPA1QC%1`xmi70Bde zZDgU33I6f1JHD(3C;Y(+pz$yc5Sqi{S$vW4HmF>e(jBBdV_bXdxcaS8WB|jh#;9Ud zD8~0s2Q&xpo9LA9+r9LROD2I3nO!p$gA_PW=pB(beYt?@M!i= zbd;Bf249|7q7h}`NKpc)?Gj_!BM33Tx?*9-1%_w=AqH4hNiP^KL8E+ti+Q$)D=+O3 zhGTIokj%c6 zNtX>7-E@{t(~^o>uet(CW0U~wQ$bJl`w1n}v;@VWJz$2#5X3@P{nt_BQ>ozT7_@jb z$zGolO|WQU`_xQ;js>7`yi0W4D4;#f$I=3vazB8|f;2P~e+@%~8yo?82x0ke%vj$( zi?+5U;LIzIp!O~In3tB%TP6%Va8~Fp$(Y=RGI&w6iBVvdSfnVkBxM-I@-acZTE_`C zMHZ$wh-%>Ut%P3AAzf+l#ew1BBKbhOPaoa7=Ck5&cr6qVq*j7iJaZq`5I}^ohi0h1 z^BJ^#sCva;CWOOy*SB=zfI%UJ^;?#F6nLHB(MV7Qe^?tA=rZuPEdcrI@%}ms_?J!| zD}Ge|?7IsLVvy@=-ZikJkzj$p<4tzCy-t45i!z_uSP_kb6F|R;1UfWo;5EG%bIYdf zn4%8QDb4~kw|PUk?B=DQK3D32>=d!O*+M?vRg__-@&KzY*y{R50<4<-w^f&>ykN+X z2h6Vb9KQV&ym7X*Z#US3&(7OINf!h+UBkg!hvGnt_sOHR;x8F`Oa0aNc8vE*&v4EnMV0sY(IRL{aEidCk*G!vm~;6WfO#t+tUS(6L6Za2 zex2uO!n)NLI%`wYZv4T-8_1h{SOe<5oS=n_@%~60KFr}~(D)k2M3J`TMIXb3GU+@l~X3C_v{*2GjTW2VGyUusNbax^Ys=BBO{sExn9soL5T};#P-RF%h ztdDT+JhVy8Rm)G#D$16}aQgpyX$GI+6J6?jQR!Tp9^`5f{bh1qNs6{WIK+uXf%7ZultSCPFDIV)p7Xd*zdGC6| z|CXJ9vrKp4qs9>)uz2}#wZN(8I2CjmGv0@ClrGuEy|0LqomWoGL`!gdZ0_rXD$f~h zf`jfd7uExru>tt?>&!2z#alx`PkU{+{28(X>p}06x9<*JDqg=U`=%E9r1dtTyn`*Z zl=k=ja|hGdca zeq42flg%qgW9?wClAyt}6{&5lF$UBkGpUoFR+T-J0eVU?pkY{HNSETfChm<4>Q_&D zNZNs%=sm$9BuJn^k6rfj76|EiBe2~;Q|h|&s^)Be;^TS3)b)(3hHYf3f%*y0F$l)2 zo6a)qw%NhUO&?h`%Nflc&xL%;;AElY2tRxXN^=3nc>(0eiIiQUbTMqf=Kwfy&0scw-j( zCDMI1985#%L(Z-F(r)%(^4+}j4)Ay*-Rf{ba0?Eh=57N!k+-KrU=S`)s*T*;oDp`b z?8a9Rpu!g1RUDEO^rbdC{3gt-oYQb_*S|NScVGDMGd8u-Q}JZ*KnDk&h1Wsd4Bby$ z3duPbhs0aLs)rGb?1&bP_iEHfAds`6)3< zuVBf8mpWhN3Lv|5bMJ-}Lzyo%$YJG#S-GH> zmhwmAFH0`9CiN9Z7bSFw-eX>6Kcw#CC_?twcr9(`#`1CXgrR<$%)-}C#`cctUI1)e0`TBu{a&K(AY-UC|1vR)Lz6bFkD`Trdavur^RsnoK`x1VZIVEuYDd zltVVj-dMHYkUNEMki}5r=R3KNe67@CJ$4kbJ!hu^d`|RgCDyGPkiBC&ztv^*p+Z37 z7_wJ=K+bXBUnm4dQJaVDfV?)+W*nUpn&_H-ULhOVB(w%Qf$6R53Adkw_tECAPk0XN z4G&aLrelv5BvtGscz$CIAGbA|8y;gA&rZ})>CSU%3p(FKjOT<4Jyavs$+k7SRW3hM zr@vi69&i7vD`?oLmVy*eiXUs82-1j|jVp+8Y8ZP8U9j&$|z;!A6 zigWMbTWnT^w{tRQRl_pcux}?mhr53N1jkVhu8KZhJlw7SLcZekrx!@A<*KT;Q^QL6 zw$@>&ZF5;X$thQR_=>;Y{&cx{GxrjYa-ppWE9<@RriRuy%5-^sq)HN-%k@B%lB{tE zsu`{Yjy&dGLPT8Ts>t}Ym;2AnG=`r5w;8nsF;&NT=n@m5{>arc$nua>le8Wh(n%K%$Nk1cfpKVHt5k&>GTRYCA4CTOv)r@+UOp2h=GBxN( z{v(_^GG|WpkB-Rw4!x%P+=M!=)hsazfc^-6GGFa0{pSe|CUnK|-65~Ph! zGfIDWL_fUbqnH+vFwl&M1cL@cM`Yw(W@G=|^@McT9CHQJHog7saVLYDfFAS=!A&rR z!id-z1Pl0Ia}}7KWX_ z{H7$JCOdn1-(mn4E1ZJ+ndC`15{|;97=t0u$BPIsW299o8UK#x_93C22MmDy(N5nN z;0`iJzK__x7Ego!%4DL&Z~Rw( zhsY%iMHUK@z7ua2CJpKIJ3|||j`eTaz<;>R|MKUK?BsgetFEn;`K;!;A%`Ur&C1;` z=mQ{ZL3nx)`KtK89&@g*F?SV^Lg66IaZd`hfC;>PaPmXY6y<6Crv*rgJ@{Hy59Z&5 z(bOjvwr#J39tx5=Pt$J?ZI*Or=9Pi%FJaUHFen`$1VN)3WneE1Ou_RXra*TQH2X&h zt-qBm)%NP&4rXmGO4qgU7;|2plRXV=V+y=&Yk#K&APA8y;v0>l;QLPH#u!SH=mW&e zVmc1+=T8aKaZAoHa?L#|uQ&UACDnX@*?GSfwhW2E|7`+FHy5?yLS8I`L=;EfM=#<* zHX0_P9efH7DgTbFP-a)=t=E|+4&pD;HaPZ*8u>DRY&q9Eb1;0`G%7kp~WMeo0&2KJU4L{xArjCo(XlnrZzck4rRb{=XXlv9gPP4Rx#d7?hQ)$dh zrEy_{+=^||I(#{tX{0F4vcl7nR4E!U+K@5iuGmQ8&#ZGIy~52 z=}2>-U|_nUzQf2lF}|v^P@pTf3&y)qfyo!LIlYr4Gs7-~%K0m&@+S*J>)p|-MHYUA z&kZ#4f)Q`8}EFt5P96#7;x$--7A<`%MqE z#_*byKYeLRhmKLJ&JyL4~gppq@ z7oX_Yfhi&C@*+wZ+Sz+s!>Qgc9IfXKT2uHmw`V(aGl^HB7w1&0D z81^IX=hsAE?2WRSB%F9oWV%R^4921rW^N5di(1deQ!b z-vuaNUyu6QCTY4Hc7rRAk9p$VGqD%-tWlvk-Bs(=HiuLUGy3=nZzn=4#CN|dV=Fi& ze1pw}ch`Yut1|8zd9xfLrnACODS;;VDNdO5f(TfGmO8NTB0lGlUDj9cYx~F|&%5IR{lZ-Eu zl4DO!?E>rMwO*IffclT@3i7AGq?u`9Pv=a}bjv2+dz47x-0iCRr{@nSo_wo}>r{Pe zcnT9=fG>Rt$8vl4ATGkT&+Fv{`LiFIhyV{MkyV1!WpBnieeL<)ikoI_$knA6;pk&4 zZDAY*9q@^ZJ%YuyP5RcvD5D>d2e^Qn=N;6C6nKXYp7^qP-+()~LH_W>tXh?glAKO; zw^qvMTquWk57?>PCVHnrBuXQ(5}Wk$H-~gBJM!o)_m;=(Tf^87pH91F%eZchpl*iX z$-e1*xZ#DTH=2uFNv5I7T`q$9iS|LliOiAkZh6zeCv*k3r-@uPX+S*cnD)ln<7O^8 zZR6`~BNtlQsI}!fD^=T&L$!?;Jo{@>DDi5u~U>wy5pau zmWJ{7XP`0|cS?y945@w$hE&5=!t?Z?zXFk?l4`78SslPp>dwB#&{-K@W-%V7u>5*z zN+dT!`pq?&)Z&fd#AeM_&%#CC@fuQANyBAMq|u&-)f<`j1;@w8xMQn*gT>084TXG= z;?<(zo5WXCW7f=j;2aQkec4vZROY)^bE=%+q&~lDPJrL39TWrTVn(Tx071Lg57s=9Lq@sa7-ltS{|hogtP zp|iVKE?ecQr49@1G0jamEW)}*x*PRfbqj*3jI@fX>seKnKs4HTpPzrnwo`GpW20_W zBXLfKXL(HZCIMmL2A-MANa!KycEy-Q&f-n_+`1HTIWi`@1s5=NUiBtnw>S^8x*}0% zYEt&CI%cl`qQcH@`~JA~#{kSSXDg(E{T*nS7p^WO5$y|2RoghubuT};{;G(J$)R*G z@1cQsQx_g>k~+7x9wv|%;(_H~5AkFx92#^+`omW>7FWJ_`57W?)EA zy6(93JtbIk?i1P>)cgCRqh)5@d_Cm~rwH+7BG7`Ud8QvTM94cw(yiRn662qHWAE6u zzH>m9wr6PLNa(WH85E8e^trh%?SiPb469Zg8xsk0RH3sBSi3Bbr@~NoKT}FIXvs{K z)cRt&T|@8aUo7*z(U2fCrMO|VNI6jrYF4W*dH6K||3#FGd>k%-x|LR1w9QRU?G9Vy zMo`^C7mM~>DZ?<*=~myp?-IoEiEO_!y16k-vpAcswnVvbsAScXzld?k<N{{pd-Ht4`ZJI+dQPZjRGqC*7<;tQZomDe5m7Ne9<1N5Rg|B z7EKs00d~#X6V>I`BELZ)e;z_Wy`^daQ=xUxFkS)DqL!rSI}nBnB9acepGgPcKAaGN z`M6sUcxZZM!SD~y(%VqZ-G+A$5BT(Bf%;m=;<$1Yj(~<0qK5!W?s@<|`@*(qp1Hm) zE}%xk;cN)J^S)*Ae|yzF(H_11I>K=!!=pK_69l0uG|zeAuS|mfe!FU*&j`NG@$6HK zkpOo53pL>g2S;>#f#AVnyFP5N0HnhXUOC}m=Ww0N;U>X$)vy!2ea$?WHmn$z>9~C_ zrg~KPTyI)|%y7c+Ic{TSv!dmX$EbgzGc0}8$HCNcdrh_zNIg&)SoKb?Ul8ZN;r;a@ z2#_2nkn)Xmr&}mk9)JJxC>u{fhHK`+leN}(ooJ_x#2n7j%o57v*V&ol_$)B)NrY|6 zVC(fpAl_X0>hj;W_GeUWNS&;-x>uiqB@@GEH}Aj~Rp_tg+7WcMJ%gong?I zj=YC+Un3QbzkFi3Iyxk&WR;!8V)S~96PZPYn`O89W_=U)W+>3l6)MRe38Kp-6%6@) zvP=@)M^f@D;B>x875NSID`kFceh(-?K{gQ9P{1=k+KCQll^uFAMUuZ0&6L*G18-~~ zz&oxwTyjMvo=qzBKoU^P_+y$G)DlKubaEr&(@JYbd@W#Cij=H$Vo*hc(N9u;1vp`h zebu1DTX(Xwh;w#q$RV^=ZtSCc-_on%&7pfi+8o9mw~nK@JAS*MDH2-ZWasN1Y?AB5 z?k%f7GGN`lVA-_hGhV9U5@V>^#g4|Pn{wrehcwKPX8({O{d5{XDlZiY_*$a+Z|B)Z zA7&odl_q*$2Drf(%t8I+Bl^H4e9@1QobR~`KM=%bl^#bhY%af22)xMRWjSR^6_AFofds#@Dh z@l+Yo2D39HSBzOLAL>nLL;6FW!ORd<^6S(O)bb}_+K5m8hqUq7Pk`Ffk3xW;QZHaNbI4mhU@(mab_)(2tP2CIWg^i9dMODs+XPfhq7`A5(M3eJ|OVujezu z(BG*0KxVOci54eJAZvjlSx7=Crhir^@FC zH9kLTZJuCmdPBvPB;qniOaDB8gg1NTL0{zfbC(jzSxx;ofYnUuR1F?2!(vs~Na!## zDP~z$(&y!${#Jnst5Y-}^T(BO1G&MEo+!W?>->r}b_2Yq$oH029T>WU1vYZyJ3fMk zD`|ky5({S0!o0YNe+d@=b9GrBwU8?V`^J5eMvC=?gjG*x;%lazymP^Jaqz})J^mqw zCZy~5g`I!4aX6z)2>NVTio2yV!)adb;eA^Olvfct3&0xRc>qdg-_C;$MHb-6!`>65 z5HKOI5-QG|gWk(qVf3s2p*Z~JhY&0_+n23);Gw7?8zWWX%BufO5v>U;tI66=uc{QI^Mlx*na+@D#i=sf zj-tSUe(usA{9G2KGPr+(O>jv`^0jF3EA+N$pM}mV6ybiQe+hn@k`nV@zha$IF(oVvl&en94XTj&HQ)ysFz{Oa6KnuCnPyVoE(1D zdSX|Y4LFqpu&8w`O$tv3_zJKqpTIHtAofNX6?}y5fBKOpc^(HXbOEp7^b^a=U!1A* zzi`^hE?By&2BvPGJOAO1yD}Q=Cf1$*r-5(`{8;?)ixwci33BWXG}bu?0HXmf_kZ^h ztlSo|OA{{wsr#E_wA~zbdwSmc8ipY3P>217w>lO91*ZAqeS81} z-JnZadL$qUkAXy||Jg^Tz7gyQ$MW2TGhu*h-1Un+3}AK@7ga(VPxToMjc;lz7T`jT~o zxG>(9v+SxwwGUR30uz}0U=w>kkJUH1hXaKkavyl%vtup#LS9M9i-Rg{tLCEwP zaOy(%TXFRy79^EAF4HRqOeqvz7H&mxOQi;_FZJF(gk*ZW7MXoCnBpLTy>l0qHGWdMDl`?Y(tD~WTppsh| z`auNQ^(YUuxH3oqUB%;8gaAd$W!Oz~Ltx{MY0`hO+iHJdw;{-7&D2*7L(!|sthITg zR2R;?;&2mscN?WA{^LoKfBL>W6n1cHRhl-uiPc%3jZdOVRm*4Dv3V~SD^?4p+>XyC zrG)@ETz(&^%fk$>e$}DfwNItK-+LYg)KUfTP!h2jzjz+TZl;m;O(8{v22MQT0s7r6 zIyKl33+8*_dW`4b%0#^`7&x*5cucjRfkMlw*ANIh@#z_B?d9KO$@)n2v(!H4)b$}) zTR;P3Ve#R6jUQmVBxl*1xd6Pou@jtJ6qHE9Z$La41p-M8zuc~p!R2oMW_?6SDr78Q z%p@CwS(p+O!Cw>HMt%MwIRlj&jw)-Ym z_T~MIhCZ`4eNfYQG7+3G1PNT0sel&RN-#CHx4oKcs6McAOx>E}n>k4AbDc?|30Z5C#xghiOB&+}#Q+~udA>vJ z)N>$+mV#RGgSl08>hw+j{))&>nFYoyzR@IyqHebAPYod~8}FCI-owJ^Lr1ZLH|EcCuzAXAB&OT9ieKUV5hruF*ql)t6;`x!A@wwMtz|zF(9kkd98RdrYy*^r8(Qj zr#hv(*^o%nkl!eLGGV#P8Eb4TDKaN1vR}h+*Rsqz%O{uJM|1ZcMY?Tx>vd&N*s;Vj zuTK1MCB^pEehZ)u3cQm>sdH{rhx`v7{rT4h&oJo;p{dH4td$jjriG9@9(RY#DfHaD z^+lKA^{2ATmpYsFXAVoMne*27UyA!Do_2`wCdj;T+YA#< ze46XjJp3%PY(K}9@; z6Javl=bPSax%#$rBi>@hPO)F@zz~m2v)8CF)#}NkCJVRf6uaxQ^K|>EGi`Lv_}j!T z3#xNpK(XH%%WaDh%cM(a}3Z>`@x>vy~qXB0;ZC&L!Jv)}BO`S!9gx z>|kr6w{SI=c3PD>WDajQSg#7XkE(F&QCkm!*5xUXi}N7*ZR+UzRmQ)#C~XTS zEE_pTXU5|hWP3fm%e>Xm)u>`2m?}zP-=4O^8{$qkZmo8x?xr zy(AkVRlKAhvfr-gjFO=4Y%DzAYsu4{mtspXDItwLO%2g5)1FOf5@o`@4@H#(m2Tzc z*7o#+)IQ@LQSl=q>ST^q!F%S1yNd_x!(Qa}a*2d7eX@HlL!IK?Gn%YK*;YPt?b|bz zA8ZV$l`72qEC|yUwH2!6_|?~*DtS=j)2uZQQpT_un$3uF7WAxlswY=l)o{y5F)@)6 zN>ORWMPZLR&SldJH}-p->r3kzx;lGrm!!4#noRP&!XH~;I=_|FrCeJ5wzNxPE@_yT zuoUl_n*Smkth5)%1+;o>&4fSvUiq!{Sv_Gtot3z5x?M-IJqTg-W1aY?>p&D<*T} zMQ;AvLL1QN;az@@SLR*ye)#4-Q(-Utr6fylGxo+6JIqMzyUkr*76u;p>>(vwIQL48 z3<&3Pf^CWSvSTX{X$JP8tj{hJ4AI6B6n-Do9ITj*=#;CHHM?S6n$?5(#nZt;hc)lIZsDPc0$+WrAVRRto zVRBzWPOMI-R5%5oT9%FYE!<>8DHhs0g{#-q0X}S{F^Om|L7iQG+r_fuVTf)lHmcs?#%`jhS$E%vaWf<|G#{On%d*0Q_ zOY3DCbBQs}SXwV}Y6)&9rlq#?<6j)56rgp-$0xN`OL@3gct1RJ^27DQO7thos-d56 zuXZmP^SCs&U$xMR>ryDqx+JcK@<}(w#BeOHvua7Ndpc)Ui5>5fx>|_hLU`O8aHg-% zO%i2KJWh2|U2q)xf`zP014CF{082&?d`)A~6=WQh|4c&b`P5ioGxx#Lf^L6zGnB}z zNRELpuy{u!+c0<@pjg||G)py1vKiS-`p&N_bACzp>W{~d@L(2>GmC@ZrMKi~uoM4Eo5z4Ovx4WKJ6Je3IS9en`+ zaJe4=xPB>@evxGS0(1^lZe&fqz6Uje z4ptkqZv}*qlDEhqcZ~t1h1l9_VCL%yH#U%B8L)o8Tn==b-P)5u5AGt#AsZ|%HSy!} z0N7OvT3#4qIJ=oY3W47e7@`(hx|39@O(6BCl9Ckd0=g1Ne7MKb-w1+@qdNrxVe`5d zKm!LL1tIn5mxSXK)kp>YS=DIzaRR5ycN__P`Yh@LWA7y^8Y(8+$N6=^S`tD);6(psCC42`^uKkJ71XVBpLoz$^_~B@cSnp;C#~&L2{Cve=8mmJ?Mt&M}!Z&-BH~9aY2B2&gEa(RUj+U1`+4U zrVIzeP^y6wg$S!ZagUlB&H6R8`mNuJ5U^Bsu91ocj^&C#Pam$iXzo9FuaNlL>7Hz; zw|D9dC57O-SZLDaWdG7;;GVsJ+A7CfwJ_Tp@J+@~o)3k?Z}Ny@UKV^e2)~Jn^tW$1 zDuTYdiX!HBi3Tt&Q{jl2t7F&EP#h7WMv=0ZTkxdQF+h*P0Nme^N6CY3##P`W3M>FL z^Q`(JXkwP*H3>_8MC_pbM|KsCr@d@vrfD+(>1jYzpO#9@HzBp1eReZy zvq(J0xR(;n1tqra(YnvS4ls)B0Dy?aG;rk&>8%wCI)sH0%3Gp9;1?)lp)qovG<^@| za}zwMyp5wUdgJktqIe|vH87e|Ia9}r7=UJgB;9EQzZ%pPSX>SqTX)M)&t5w3Mb3~1 ziP0zbfzMJTR^~d^@+@VX`&fE2xA%N3-2ViX~Bwoz4>+36L z8+xd@?5_jgz9sXa;SCMd19-S;%7wY0S--^v?%O*)1!$l~<^56u55opXI?)@kItzW- zofoNr*iB+dnjK@{8Cr%HkgD@S`wj3zSJVsO==Jy0S>el;n}c?W`iW3OhuEq??xj+! z7{dSngBDY!Cnx&jbFN|mgas6wiWEnKB}#0%EAZV&{`GE1P2cn1s5`bT>vCsdG8yj2 z-$x|AZ*|1;(SRFoPB2?RNsdAXOg8{?FQ3FQyv?(LWVsu{q8|9gPLBYgT23=nUB7aA zLB#YTw{0>+N_VOT4D4LdD12|LY|bD>1`miL0n<2=TQY1ph_n3GascZ%YzRB9qfUqH zSAo%(^gpRezSGjLA?Y$kl`(m`_8S-rMZf&&TI9D(P;03JbtYUdYKG(=-1N^0SW{Me z%hj8SJ%GY^8E`2Vv-uXhO+Trt$mlL3l+H5EDX`FVL_w6u74&}9hpfF_*V|47*h>@& zd>^1wP$Il~Tn-(~8_t_eOcF6$cmm5ns@8@e5Z|q6lxf8U&kRP7M(5c81%YtO7lJ@}FdN_y zHCGw598|1Zu38i2>^d$PRu*B*Z;UCA;XCG(WR>KQ#CNT8iQo)~m(dO*CLMCm z53Pk4SSs#sr6P3Rz6(g4Kn6-_z)wE-0bP%wc%k3F_kQ^q+=)yy@NNV1q>nn`KkhcVn@ISIkl;Cyz^dKEyE!mzRjkYucUsW$?=q`2 z2yQXOKmVH7EiW%7_ngU4QJC_TxU>RIgqGeE;VBL1DZIgyMw*BMzq74d_<3 z_*@G~M^9+6ti)HW0pg@4=d6L-(No3r`9*T^of8U2fK2u8EyBN_SJ?M>AiSB)s?Z@? z`5HhP*WP4k7eC19yC_snO^)1Ept680>34@58wH|6>V9j${u(8XOS|riHM!yy1o$v8 ze4GZny9;5g`Z8&nXEHUesV?9O#d2Od`bMb$bMh7o2<8YzG#-zIS`kzyu)w93zqOax zXZV;Bm7MWw?7tdk8{uBMjf9)t)%n-O4f^W;*2QhwQtS<&Sq+akxZ|S2*Pr$pDw<(- zc}RUxQA|?L3&XvL!X*rP-CT>mwMtga+wp8jHRh1c5u#aN2T{NRGlHKDhJFX*$#4h) zW7a?S1+I=2%U25cY>02x5d-$a`uY<$XvT|x5Fhdyr25fA)^9VD<|1HA#C0PGq zhOF~L@P*W0yHQ|x60x-=XkirOcjypi$N1YD`PJ;)fZ#}|qJz_NWoPD8lyFk?lUK}c zng=U5+nz34s26WMx>J8rnfXnM?NwA)VR3Y&Im7I^M=Y4<+)kjIlSZb}{lS1RoIHO7 zu;)++t`td6HbsUBH(Q5^Jb;ve!@cJC3Bah(s2}x4Y~6Xr1uYzekt^7WoOEl#8{y$n zKl@u>_-~u<2AsyZJAUd+YFoUVyUCv{C&LJHuB0l#g;oV#$8bmNqd*%aCK`&c>*}<1 z9NIq_Tu0%&CCnM{l!S8`lBbQ|pJgs>&CEM;3T2hQIt5^+<1)ZZ?J6dbuoW5->@NWk zm+`N(Fi(gC{pq&+GaOo?RFCefWkCDm5_fy)ga$Wj)e8wB!YYdJ%M+jrfIui6nK&oF zn%1HxzwggWkC{w)!3Yg8l0r=ynG#w%)4L8daKX3=EP~FlrMNLEXyf}P##59@%91+5 z_E3uf2nHgP1X9vtUMf}M&z;KZOtm_Hq1O{WJ$Lkl?@(Uijy(9#H~DkNFr>dVgTZLo zTBO8`diyf(0+kBHH#A*f(R0H_yblQ#cOTk*KhjayxasXdIaB--S!3A z34$M`Ij^H?=P+s78$`}$);DDWHvCQNM?kAdIOu3|Z(;^LCr8*42FtCdPX$n+EuC}z z(`h-*bOTSiv7BN2g}P#RuEJQIlx>zejCaa7jL*qZ*b@M8xo+YqBHYY#!8UAa#92Tn zkpiepQ*8U!e;wVBKfqA{lJFW}Fa@Kq=ed_(pP_EN(B58&7uj6!B+k?fScm%OK%8PD zQ@5Vr7}h#Fk#z2sli5&_@;Sc8hZ?N>Q7+DYpnd4W^5Bap3m^rNKI}fj$P@x_D)*x7 zXW4mIAQh!(XV%Da`aNnboGePZKaJX$rh%E-Y`<;L|ATp?%t|Z2vp<{(T4Zapsvf}~ zCQ3CNZUd2~C(556$zk0?yl(L+N3WnZ#I=*T_bt>BXY%l zbU8U;+M=q16JKs(!rPoh4Ny1?@@KhSsPJe>@zBo!Os%hX`gMUJXNP;D0#C$EHLO#J zACI8M(qWNs%K3AQ3gpkF?&?lO?$(2Fmtt7W+^ZqVNugsXdFd}~Z8`#5E2@y{D44pv zIKiS-cKzj&uN6}en1FK!h&kQG(Thr2D}A*$pF^fl>7$}0`jB(2#fge6+iB}t^~A7Q ziGu0&3<(faVAKT>lpLuP>6XR)FSoqkD?6_;?S?q+_7A76+h7|I=L^-+`haD4|)&LOLWpKId==gxFMjbe$tmX1UH zRl8b!ek-qJXFZFKP(HwQvJ#8_1OT^Gi5oyv_wg0Y!=3vp>!rmilZ}VkqUmpxah~VY zxSXhl`4x%9KBVxW=6t z9-dZu5tPw~duw!-#k_i77RkK(*v*^^wT4rp9S9DUz!0qJ8pXryUuZ=vDs~Xqsn=4p zTt&1}kLrxy_$Gg0gG|f>@nk-P%)zk%ZyC%?G?a_?r;=GqmBL8cnQ^_ZT)$B-D@s<+ zsu1(w>>+vb1#+7(uV3W(3nE~2sCnWTsE|AXVzjUGKu=@PTrpNIvYU)xB|$FL+hQup0SuZzRvoU$klK_p!d*1k}W% zl(Zj(45w>3P$aJr(;P9JNVopY#JwP@&1 z`+ZUdD7NhTV^&>=QWVqN)-)EpD{8=9QTFNFvA`1o+D1-`?B|Y8viMM3){nHrzMNkZ z$Lj*u+&D;;{Y=lcsj7?laVe!9#Mj5xe2n1Zek*FZYC45~X8_-+qz-k1M~Kv6uW4E^pJBz9#LAxLT}U@-P;(d--q#xiI-+ILlE>eQA4 zMDDw~w5jCa@Pqxg5+f}a0S3SLPFIR5q3F%W-xtBSdwX5#%hTSVqo6$8XM6A@w1#){ zN|Haf^|VGO>X-&(4gdzDs;KluY+lug4|P`sHwQN#eJqo_i+O8%W3dRr?< zL`h{`SRrN~0we4rPA>%`22==w2~mI%yE+}kqq2_x`zbKKjphZLr3x$He~aNDK*^!c#DeE=@t;(4{F6Z-Tj39a?7v?LFb*)RQm0JT z!TgLes0GuC6$^+qv>syOZG{%c3uL{~B-ZV1xhZAnnhfP*a>h^BuCiS>Fd;WptI=Kd0o|y!%E>DACaw#4cJfaK53%5m`r{S zjqwz{JW=^)SSV(D-gE~ZO)e10#f{M_e|SHkJu{Z&<*um zKm~R#DDmYcZNxcEUmpz=-bhNdGV9Q&CS%b_FIsZyr%0Cnf{1hdZ>CiqWkna1@n~RH zWDK*S^6Net!0FIKj_mPHf%D|)A3=vod`%?es;WkQ;IMiK^WpI@3cd4iop&M*H{=CQHq%{vv|P!pF7oc{(I2&2hbqF7ucH z!?55J8^*|xoS+1mGHZDzv`oqKrNh;_ds`MODQ21k>&y9^t2#4nnzhfc_Qltf`@ z3t=6#U1}x`~0}gQ-YW4j)Xja=3EJ!I*F=I?T(>?(TfKE$c_m)o;#5_~>*I2Td*SoLo0$Rr zyz0)*-DfSgzEO#K1RLnfBs7^@h{-5jN-}r8^AF>|o*&ULddGG`tzE_ti@ycG=_TmUoI|KSXXtZBI-;ruTQUIgPmoJ8hCsij&>E z4=>~F{YG|nDL7!GO_x77cgP;7>rO+)P~X81LJDQ_wTE##k<(S|&{cH%Vb)$mZUkw@ zps$Q2Vj4q`Q4bUB^R>aF^h>)7glE)Rx@GPbqo(Vv-)v6T0w&AF!ID^H&!#IEc^*F) ztO14*>%a5D(R|o~cL&7THaDJc0F9S^Ifp$$*MS9zWg8n*=2l6)Z~{D|F2A+9At_Jh0g!q>zJx>92sV^4fwV7fokIvUhF{iv*Z7vj9%-0VCS~>}BB?`~a4JPf3 zDEk2RynNFe`}fJJxlFTG-$w=~G!ND#Atz}%>%g$Zi?$)qZWw=C^H54>vY{P_6BQx@ zJPM6x%6krVSk6_SqAr9~{4>AII6Q1W-1w8toJO>xS7JidDJIn%k&WEUda6e(5(d3G0>&(hI3gEJ!wRptHw(J#AopoGdZFl z?Y@dUhirxT6J(tah{+m~U=`jmV_>Ebj}*Kz;4S>|SzWk59)?Zu<9J6tAj0s19<+RGvMMNPRMM44zISdz+R7jfsFJ~Y0p#&Q9 zq}+pj-9p}R!&NgP;ogNUG2l5oS^vW-65biN1t2Dq&-)Zn5V5yz@*FwJ`1!Pu-37uC zk-_6XMFxLm{6Bh-=?*ZPV=8Z%PCSb!>19*sJa-j%4<@`xE2jSGq5esr_)jZr$3%*M zzcP5tNFWzOltz7Q8vBtEH55hH*XUr5jH>_?;A0UEE1&|0*8Q&t0hE<0&=9wIM(PvQ z6Nm!hnLri_z~{xT@deSG9^E}Vppf8&{YwMd?E(^FN4jpBVF(~9x=42~i@;L=3EQ=p zy0iYkyl`Lu03+1*az~y0|GrrGOVbNM9>6Tjg+(qFOuy8=qXiHN>7k*W2cw9~ttb8^ zAmT??`agXm|8HxaM@)|YqICN+Xgy+4{D&KHj3D?AUf@v#SBnm4%#ksN<(1l04A7Jja|KL4_Ex7f}vG(tsHV0y995Ck9rAn0|Lu0SLl-!|zh!IKik% z|0Lu?=uM>kp@wjF<~h@6OU*D{cq;qm1fm)*0m_`hZ|Dm_H6G<>HJ*lc#66fQfS4BK zNpdU3x0tWG?Jj9DNQGP>a1WlO#sO^h_b_9Tfz`$il0Q}(@utU}%h4HuL}|t}83xK* zoUOvrUG7#u0oQvi0tt)Y8~o6$S04A!eWXl5)ap2fFCXXrtLBWmPV1x+kQs%GW^GyO zmL7D6_^kuTA9{tmQq}vP-73Zc%r2;QR*S;*gh$$+$j)5GZEO}BzrhNXRWyO}hJlN2b@ zkM4exEJBe(J4Nuu{psA9uS638U(c{fY;}8oi_h_@bU1Y~yV%1hCgth$DI|>gJ_4o$ zMjBTpQCxSj78H4jw-u+QO>uqQ)hI`v*6)TdP4g|<4OunKXX#Hy@LKU@b=8KkuJSZH zZ%lDI4279(G;H@&SKZiHYnKf-1Ly#~{u~oMfG3*-+5v2+B-Sk#3NNq&d4yWM`jD%W zS<(B+uzvULJbW8xT)fc06^(Lwdox{1CA$}&yVP_FFWYS(Py|N-83Rn{MLUWs&e8_b zCKt`zHe)HYTUwO(HXR$l1|SET)%(|%@&J^p!KPcCouLwdK}XC%9M*Ft{soBi?`}znoIn$J@Cc9rEAH8Y!R}zn5Xz6F zsvLbBozZTw!?4iH7|QO%?!iumXL0R*TUJ>s^2h&;}C7`qZa;D%V@t8n3k`zce;pXm7x6WB|G0 zv&Ij%UVZ*F2hv5$EYL=_&Z)bvs2<#>=MijIG)7_&4HYS^wkJZv!3gd?$Mq!5+g6WP zYH16rx|?Kp>}Ntpx7HeSvO#_C^M!)4y29c8#ninHnW3lP5rZ~KwD@7_CszV!5wU2+t;d0fyzIX zIO!9e0?p;Mw>Rf1UV>4LxyE=IRD)43&Qp20wq+Ir714XD-OZD2wNqsn%*K_);7wG0 zPEiYf<=4KTzR;he&b{5gz}5v+FID?HQjL~UrNFwy(UbMC_>R;R#x}{{1tLi4P(7Vy8P?%>b zgZr{?*W8+f0X%*tTB12@QKkt{-3vo7V`42K7GB4a=$gAhU8hLMWfN#oe%FH*fWVk+c=9q}*HWJ%($Qh_b>%Y(2rhO_j8}DLG z)KN*O8R49hv91Nwu%&WoD4*w#JjH0U*(77vpe4=HZ}BRZZp=ik>%9B zYIbE;hpq9A>W3?(BJ$Uxw;S}^*s^a+u@F@e1JSjaf+hZ9M@`3v+Nj`_oj`7+yrxy= zo~t;m-Q5-5H#_XyryDjkjh3g4fS@SUBPeKglOSbhMj#YlLtqo7U-@L*f+Bj%8Yy!Z=9Nj#2#i2`5rq?hL=jPo@ zaHb6JbaCBI^P=zm@HypEeRBCzV2DU1Cmm5UhuuUf9yzG`I7msvtGW%S>fs_$7FSY- zX}v6&%ktAQle$&mZyi1q>}k51!IpD2JYc=mpH{rDn?`Q9B_UrZ%*C;*DOeEf)>11W{xw%nzE{CLkpg6eJ^EO-5 ztoCj*cQp=N$=12=B#$;pMikyXj*4r$^=jlIqZ`)J!rFwM!#0Yw3paEFZW?HqD|zpy z9Hu|ioVnPGVX&En&pW@$Jl zegl-`4>cIeD~QGQd-O=DWh*5Ggh zue2{OW9pCVGj7%|s6?;-4lyHpLPzvG+6~Vy*eGJqE z!t-br<+QF}o?-Dl0(7;DBVJ%%uO*|LelpNE&G`n_uIzz zu+j3ibWdnSJB_w8SLRq0tT*=Q^v}Llt+Czp#dk8p)ncF)NpU*I^IagzX0B_1Z>w+O zblC}HVX+5+E?D8NT(-_$k2_Hs{HB3u&4Y`-9>qEWg}SO>eDXSf{)ERi3xr@uRo%NP z%mt9Ftixu9>{;+>(B1xdFJl*`$7t5I%ARrA8zWoVCN$P&Qdi&gfNyFwj}pLc$xXq5 zU+w^EPU%1+!|kYS+G38Jfx&pTTC)%c?}3T&i&9c$AcMLAj#CW12beGqA~{L&BQE<5 z*dQv$P_x{G${Uggk~l!>_5vmR*7HQi--zRr=yTkFg)#0UT(y#_{y`}R!W)7lfJy?G zUyLh(_uCR($HXdKr7)KqzRnvdY8$%Go?~fo2pdUuCzZXB)$hH#7QaOoSVzZu|Bp7-Nk&qhzbCMKRhQlVwh2U--36LLBrpe$)Xhk*)=0N|94%^WBz3xC;s+S}cP-e`Ch zZL6!ZJN2~sWl?y&#X&K#v%22|fN=wy67ttmd6fq(3CHjJzuwU1h*Q>(2mekRnV6m7 zw3_zgVGKRZLfm^)@?=LVz@l$QK`|6{E%mId!{-JmmiGG9c5osBFN5a=*4u;i2uU64 z8YH|qQSIlA6nbF@K0|6n2U;g8VyEVW>uw;qso;z(X=PYe!YMmSPW515Ir;|}dNX~w zx^YtF_)LAVh}Hf=^L!KTHRJW0LhEj>X6jB0JAo{>1>Py3Y&j?;t7U)=6urVQ3m7nu zYyjU8hPltaD?tkaGVYCTK9F$1-0PbY^BboHNol`3PUIu1ikgLdAEfcH6Y!A^NC_Af z;Q{jQ%#}6+@9Qn}7k@w5|J5oG8TS8AmU6S%bYuQiLzUm03a*1?FXhgSk`z-kptN10AS^#81Xw>H%uc##n+~_Cpggr!_fNmxDdI zU15GYPmr#}XJh)c`V50v55bc|3x%UquLhrU1FS70kKfl;vKbeDkrG-kCQjIY`23>7`00wY>_YXB!HaKi$O z7@gTrH7m|GigsEkI9)rB>Gf%#6KgXVJ$$2iFl~K4)37t~rHIlcd~sV4(8|`|Xr2VJ zOj7+^`)lp(9A4>dD~$lsZ!=m0px2y~O;(c)wTtHt9M@XK0|tPI{nvwHE=XRd8XYZs zaVvL8A#Gc+vNe~#r!(M0_j0jjwPIz1JbvDc#T@(mY`6up%gAiM6bl%IQ%4P~NBV7N zRbAnOoRr-@Wrv|TL2&$^*!D4h8v#>QNjohR2LgLy9tyLB>%R8m%d=gS>8;aWoorm3 zl$-0L4c7^&O;}jau2W!U-1D`R;G;VP1F&pG2)7h?&@*5%aPJW8fw>5BEg13D-pnLU zMwET^t4O~48Aj#B1tssu3k7PgbNkc^tPSd4VWF?xw$jq7h0V#f zl--nvFr(&a|4{edQBh`Jm#`u#h)R;6paj8GN)94X1r!w! zMS|p1fFzNeK}95sNKOh0C^_dKN)d}JIVeb`K(gdHPtn?K+rN2xzL{^^=KzYf#bGFdW=deUz6K3p9(|UCyVDBvZV90PsQgZNvl0o zk$a`r2}|hk+<3NSrg>gZ?u#_-@i&f+#>PeM3I#TI4-K$Q7k1`X>D0X+VNIoAoQhrb zEb$GXx{w^@l(+F*Gge}$wv~#XMYr=!$I{%KqRPG25tPDeY8Pun86g8MZz*$LIdAq- zzuG3#=7(uY!LoR7Dys?nG|+{rI(Wq9T`U)g_A|lPTs&P^auZwE*}=wsaBYbBvr31M zATGq9393@|eya?WicPy0)vXJj2d8~ViMbSvZ_+!+#jqObboW}yneBE@Hd)G|6D?|V zp4N>MImKSmyEMf|EFr?zWnD;&YHxSS%hFc;BF1fCtRDOp9b{1CBxRem~J4| zJ8AWGsaL^j{Ah(ivj{44p<7*j(`&}-{Ax0No2cON(-CF4MrGoqG6Qs#r!BtBXmN&T z%qInYYg$l6a2>CsCaa&1uI)@AB{CoY#4rHPpJQ$ZnuKN^cEyhv>ErCu_HKt}8Jm(I zF=~3(OeIknfP0to`E|KG;@?JgUhderT#=wc`^$b%CjL~W!fR=~LWP?yJ2j-FPh38kD7I^F zVRg=|rB+(li9*+4e-xWRu3K)60?n*_m&(mdPBpC$>g#z)PsI0ErVsiLPC{w-@>@m* zsplP2iXdYb9+fIK5x&d=R0>~{!cJ+Mx*zHbj}sZsDjJ}oW>N2y*szx1ED~O0`*MvP z^`PcTOcp5&(6PM7j{2&!CbKe1jOtpyb6N0_q*Iebk!}8p?ixlPa`Pt3j98fsq;Gnh zPoZlYPasQt;mY>iky=AAMyd1TT*PG#*uy4HP%GA+!cGnecY)lG$L`n>jt@D<+7%MQ%F+(h17hMn%Rci6`RMOSUpV}tA3r}Jjs1v%oh-On!b9mUldv7?f8aar5X zu&8V|v35oy#fGxm*u~aE>?DB|#j)_{$zv0m4_tM|1CR-v&2f82@JA{lj3)-wr5hS1 zFLhycMAo`}&2=xg{jrk)kjh=-p3&v9wSk4+VAJQ`E1XUsMtc-?-aIx8Kov-%_@??x z1brh^iSm5)oenJ@FtdFW#--=gcc^l$AxaRtgzJ%huyY`zG0Hf5BhsRQQ_y;f1DTK} z^>{}X^p{-PfHv!*de#tC=x^}0VAi(8X5IX7c(iHh!f*_6%$nQ)%{jY)BxA-;x+`U}q0xeHgk%f6FvLt1cACw5~e^spUfT))u@$|S~8266>QDXP3y z2C_|qL!(y-iS|<>8|hnXxF?)vT2#(x$uWFQr0B0sDjN)=P=utkqE_`;$%KP^kst4r4^|2D(1VZL; z8b1kw4R2L`JKYu$K6#rQDP@kzGjW_Hw0xfyhAOhg-LqPOc~5lQ-tJ`{=Y%ezkldO0 zj1en%5x6P+QAaq7k&NN})hgk@li#2J@f*HwVU3qe6xpth7;eQA6Nz7b8I>RVwO9Ep zIM-8dT~vOloe?7ob2d+z)_}Kw#Sbv>JO8k#bFp1VQNP}Ejbmr> z+?c$m*H#ECt_f*K{s77UIk(>psRz_3ZLUNd&U*=?(MDGoSH?}|gVG#Xv1`vRACx|3 zAczGe=A;Jw-E>XoReEZ4@*$MbRMqj{>lcP2RDUlWe!ILxx!0NSsMr|ltyzDU$Oai? zP+`5#VeY$5T0%KD2~$2II_bpZpz{!@+7eK#{@`)TnLZ;Ww!kZ8cO-qfO3Nk<|+JQ&^aZa3JgUkvrX=8-R(3 zL-mov;yV2k41sL?;7*PAACXG*%pY5PGnBc5r`Z9^fr*j-ss2QsH7NARt3Bebvx1D@ zczUi9_#|lS`TictDpR5szm;r%fA4fsuCwyV$^Ww8`|tAWS8{(Zm=!r@@zw5ur#psh z#6BD51`yK9R@NT*d%6A7cJaUZI$!*2BAkDC0U$!z-vSB#%!RNh~U@ zSo@gWS8@yB9m0XWZN35L$ctsDQYB5YoVn}=K_7H+?@^w6Tc`9#KY-y{%Xb(Y@)*il zRU?02{rU4?uF-=D+=>RhAef%@&siz*8Fy;JsERJR6(ubRZUy_APrh_R7vO2``~dh6 zkm6q~ayqGUeIY5!^GMkYYveZ5&|Dome~9V>PsAbvEh8}e;)S<((A(Py;Xsr$z`|wf zLvJXgs)p@jfs>V6QNt-m84UGRf+>Xh=cAWj$5!W?uZ16=YYzwMU}dEJ#M=~Gua&0D zq+uJ&F~-m;!D#`bGs6M;d$Y!xSiIIZ!v_{@*F?+K=jujaHs3wsvtG!sO1feDuK`z1 zZ2CvQ1XBUu0i)F1T_WqrIL3Z*g*_KboFa%&xPq^yAl;Ra55EZOO5yGmVj!|!NCGTm zcnU@O6_4^oa~zPDah+8W&^`jVrpS;~?4w|yBpl8)i&v>KXboGXIYg~&E|jxfpTK%Wa5dMnV~ z*@olJo*Wcr*~q}Tw?y;6pvK3r9z2Z!(P}7|=m6|sS~<4xjSynpS-gye$U;FRsi@hER4OrJ@qN1l z#OfPMm!e#%8yP@&@J1(p|7L+(EAdNjF&m8Pfw^_{@sr0M2c_Cx>pKk9M_U8Me!%qH z;V{0%vBdf`O>@wwBjmN=>stgq1J`CL9IJ`G`<(PV*tNH4bss7<2JJBgHt8vcPq5t+ zToWgdvR+w85H$frHq475-2Fkb1WnG3g&T*46I7n_I8;(m7&{~>rpd%~J?|UX_dHp5 z&A@QRpy?J7Y`>w{?FnF`O4Kz=>FL{3?oM z3?Bo*r`*;gU1xjv+jw{g2^}%F6)ef9g=v?}wwBCP8bzDurTs2UByu(?%~B~$ao@dw zJtY@Wd-;-AbdolWNnq!L7O9iIVF8)exVsjeS{`q>b#>G9%PqZPaK|gWSnC~>;fx@V z`T@!Pt9@?!9-d}3T&SA@Z^D$(ps{(F?@4|(`BZ$gf2{sn7{{{I;W`bktbNympeo2U zeWSx-HCQqmjRRa`8@u!qPbHZ2Sce9o%F@2+3|<%N$}v)$h``0Ar4N2!H*pl(;?U6( z``p6=^TPLdHG&F+;aVrM9|GJ|NcoNG1{C&r7Sxr&xb+DVAb0})YQNL~hJk9T4 z2>j@Tk!oj`O>Ro2+R$#YDO>B4pRxrjl2+vtOJB0Q_#Kv}y*a5$i>S@v6?9YJUqLrtg(UtJJdJim zC5y)xvk)^Ui{E<60&1P2`C^7F&hM{<`IcdISPTs$N zBlHQm0)}z62c(HrZ}%s`{(DD~!E+}BgjPN>Dlw!FD+)S8!~ zk|!CoohsUvvibAFE+ZC&x$RT6f@gWSVba+)kM++Ww{XBV$o-dNe}X4kTd1K5 zNhhPVywfR^NdDkoM0w8q{TZUKuKhjPvN|Hmd2Cb%s1u6DbjU;hewq(Z8fplhVpwI1BuPe@J1rxd`#@KQq9#r#q@v`n}!LTLiP-3BfwA`5Qfg zJPptz+cR5vnaj;fm$jjxsUi6cDLg|ayvS`<4tAyUgpRVWo&Fj__akRYl!#Cz+)1^& zfLl2G2ekwinQgcUi<^2?>t7OE>|b|pv`?cN- zd=$*{NN)*~?tt`KZT3YW_fm`iDkqB&yp^vp0bYB^$BB5*ff@JP#_g8?U6WWCT&9Kw zV0`4d#_IDh0SokiRHbd?@^FWZQkfx{mfp>;Rk_~jT*00l)Zih1;|*=4vl!}4AR!cK z*I425@{vJ%=8^Z4#H0Lh*?q@Q9($;v?o}d7I$4!mV@}Y%N$DpNRl!IOtTcZg51E_< zuF5uY1|us#YJXAbu;p&&9+8S#Gv$TsC+RJesh2Q7$L+H^2u`mrDG=V~{avY>$fqs3 z_MF8)gP6m4%_{ z^Ein1-M2}4_@sEw^-&hDaH@6*Qd}0VU&9>9zJCU;2@yC3 zVR~(cd`AQaR{XkPTs?ws?A`p_&1aZd111w*dtZx$A^I&~u>M1xhp5ev7wHIRN=y0wm~!AdCq&sCaOd7x`lW#)t7TDPqW&-80US&_nPyJoDBwNp$Kpv3n!*L!Sh^-J!&FIgFT}T_J-4s zv;{cfn+yCnuJs%K&aEPu3_{NyA=`8(K2FRL?G?mp4Gk)l6Dsl0WyUD|$Nuy? zKm6b2*Z;7yA_e!ar^Ak+w@S*$zWNI#{m)fCQl=y3=0d~&umk_ktLlF)`r+jA1#18b zS-T(S$q!=-AdG*BUNQqD5wxxSFHVks`+Ufu_d7$3KYW4SstfGg;BdFdTDA1H7)!_hc*4d@MZL;cWVbKt}XAYK6CZwKBGwl0MmZ0<{nF!d3)dx-?mE`2SkgeT@lSop1~)*!;@Ablej$cS$j7WVn^ahmy#Y-nW}C(TT|go<>Fz&;!B$w-4;2Mt?vNzE)-Xu$ILcN( zrQKrIfTu#dLw!EJm~Rvn?c)RYN^YC!Ug`{7PhJEFa>F1Yk9c(OLSl{@syjgsX29}+ zTiA2N2Q-Y&54~Gr_(W!k=j%_3uGF+)MvT^8 z`r=l*{c1$krgSz3**8_HLJfBbKo9)a9jn;sPE49cyV6BQ86@PaeuUh_Mz>L#@3)Dl zi*u~#aZ0y0*F%=xvW7#x5`GEZ0_HjEb;;+V{l{x$&-t@dT&hxJPJC?*Wi_2n7DB7T zLvi(`DcNHY{v3>aRB}DY$ zg?3gdiW{HQnX`HI67RJ5cVf&~qgYN6t^&j;zu$6d{fAb!UP-Fq{-xlpZw#B4pVEoo zQ(TUZgwIKg;uI5xzXrKBR1YctIgVz+xoS z<-3Q=RTExH3BK^4%==$1Wg*nT_aXm;wXa*LHYIfi?T@J|6$Mip0g1oC%n_RAyqNSB z3o-&j@Wc}z%8hwSHWF#kZw4aI5gtYCcSJ*ddrfA`K%o`_H)2}mu}3aigs)w$(b#Ue zXu#y4@WM@t#ZQU}dAAI${iuaM41)p0wKaYHt;7KbXt67l%{%tC@pk+TJg-tCWpUy9 zDe|(G4KJ-Q12xA_SA>)FhHHaT4ojHc=vp~zjq&n7$A^FV9Xqcx26#+OBrePJTsb`Z ziXAD>IT2qox9IIesyv-Mou=&-a9S6xk_B9SsbXyD9T2SBe$BqfpNh~}5S%1Bux~=t z!@GqR+is7i2r3k3T)NbL1=EfZiTP+Uko%^`5J3!ha;Y?1NKH1)H|od~EUyO=lA;(l zHfOdhUhBY_<(Dbk zbO_3gNaYb=+++Z@K<&fTzy^p-{VX6j9uqpUC#Jj%D0$hj->1@>#)c)N*Dug(rvh0% zXc=2IC|c%K*h;?-%DdVE%yVlCtbFSi1eg>YYgVhTip=F`KQhs{^u+hLoAyN8Tf-ZI zYpfehBQcroRJ^mEvW~I5Ss1>zT|!7L-|CMOClhuUeoQHIHHJK}7ZcbZ-aN0(Q+I{i zymSL6czeM5Ms}Q9ecStahJhJ3{qyzPO82Xf>$SaXy3?oAwvaDnSk-HUUyI>hLbefHQUidaJp!6#?+?6$yn7PWwPLu{gSuS z6W_Uv#%mdkni)>doS4tQ5lCummq{K@7)|c{9_%@6keBCexV%#AU7&{%tlIZOzx!?D zpr!q-8?9*tlWn5tWR`)EXYLxi_q}>Tiimf=u)I{UUPwA`9enlVz9@9Efps-!6@6es zc6#G^J7^qe)%d2Ih4w`zy@x!><~}#I|G71{f-xN*&1BpTdp7Urj5(~CGq-O-3`%6F zQ>RrwxpRrKnbiqX$6q?@yI^O zTk7!Y#wumdx4PDd;Xs86X74pHC7*_fa>=?OE5_rFMIr?vQ!M z)PoPk9R$h*){^c~tSyGtkD{cXM`bXteM(aFXKAE5%sX_ETdw!;;jS?1k_IJnD76HN z?A|$HC$7p|zRNy5)DUWp%Q0QUt#(>f&gax%J{ce8SFDsD=sSF(whpUUaK!m&cry2vP0~@lxC0_y}>+#JGdjWYVzfbWk zDr4~Sl`KW)&H0!F()3TpKC#|W8QS{#W3RI9gKIx}QuaK_#WBDMjs~mcdq%BkzV_%^ zI9eUhuk_y;U>X5yZ%dPJwGPc_QS9ZxJ8H}lQn1F)IwfD<3%LWz9e+sU5Mq>DzhVEk zk0A7;RUm*|uJ({ZZK|Py(rH1FS?B9Jw1)G}7N#JH(r~Q^(MJH9<&!V{L!t!rZWv-a z#b?*p5SGK3!&{*|NAM_B&ot+HfRUmsBh-8Fn|ELN5 z6P4M%)-ChXL^IIKWv*$d>}#@aEfu6j_B0y#z2|@Zd$;sk=I@OtU|xLM%?w|SvgC}1 zVv%@UisE-%>aW^IBBnV?Cxcil37?kY+^h} zPWG#O6OLR&NgT7qi&qlQ5Hq0Mf=~=xNeX>t3r<&^y)Lx#?2T459ovmeZ!f7326Ajhm|XH_3c1RVwl-a4M&uAZ zFbs)6IP9pSM^-`2?N$C6IX2X~2<&+#|3^8RPHz2ShJT~O&x zTkXzSMx*|SUpu6JeGBB`HgWiGOPs%@hJUD2|5s{{zhrhl^s)ad{N$gC>i=%P{#Wn- z5|{12#pS>KI{&%=-Oe+15P}%`uYirKSRB3?PW``tmv;~zk%n?6dJZa-|26pIpPvs| zcij5_U-{P`a_2LZ;1Rnmx6Noz(=bDt?)(HsXtTi0%>rC=BY;?q%NbCc%`nF~wO`hr z?l0*9yJSlA;>0I(mETcAZh-s_w??M*{b#Xl2O_p5{Y7ls<;Nf@q9=0i%2$SkD5Z4G zi&Zm{%?pheCeI>lZ0+FMNR|1Akhae_M}!K0zx;H+7lr0JHS1GRLg(wQvkNNJOh$MC z$lH4oB5)vd6Q%VZX3@|N79m#xv1rWQcZ%GBCuNUG9V9u9B>M$mx+ke_`^7zb7eY+t z4M1XlRPd`#YjeQ|zh|MfDo*z`a20EvDR*=3v5*H#R^IA`d^LfJYg=lo9PPY1ZWt-9 zWVnJ>^b=Vf3!pR2XDSj{ZJfBB2X}r@6|b)q8gn1QyhME-DD~45@lK19J!?F8qWrsW zk%+D$JHAkcZh~JVx84WjiXE89faD4(ePL+i9t6aZgS?XBXHeC8_v-RpzY-xQ_?$E| zs1XdTvx@G<vX$ireLx@Srd1$wp4?$&^>Rs;^wKT3EU6D8k_4;Cwt2^Y%+RQ35 zt%6-+Sp@^Dx;sUZNGV#UVh=0Ux9LKlg)3j#odK3KKHG#ntTt*bX(#FQHAPfvUzU;ql)@+ z6C9~z*%w=pM>h#_Nnk}WR?F106n0AFkSi*l3ILJxs%|AkMh>{(I637ywJ_K$UK#XI z(~VPkGZkx}dDK%3ioF>*xdP~dMB%(f?IaPSfE}-`>Mr;6S~;N&MRq#))J(oj zQ&Xp3`h#T)zw~lkTLO_(KTL0VF;v^M_`!=FlxoWa8Z^0ujColK$xpT2sZcD{7ef~3iAPb3 zLtYFM5p}|KtUda}XB>tTLfSuF$-#0(65=$V;Xf)y$vaLsV!@D($N>&YuI7VhMzd-*2ag#|syY5l_kr_t&R-MGAmcM{VF zN6?jmHj+L?F^lMJ5;k1QQyq`X?I6TZB>vPnWBi(`bH@e)_0GBpX-P1?H0#y*-xJkZb8Se*U)ZA&L)@6?m4Zq5j&m+^4*t8z;nxi7Ee6V6Qai!nd zkIwG#U{~5qT;rh8C?!cmK9EvFsia+>ypcq_M0>R3r{)&c`S_!}nPd-<*A#as3#*$X z62(gFc`U1iuE=2Uy zRcMtY8`9l9R`mK!pN$N!a;akh;;B$&pG#6}9(Oe8eBQXy$ovMpgRBtUPb51rX6)JN z?qW7@fK5BjEnyni$-U+Z%Qr<36A?ma1pL|Rbr!x;7SBqqWz5W^ zrnf9(1bOoRvt*ZxB>vHrSu8RgW2O3vi1x>!A%-p6)o7ZaA<1K}Y?tu-{_KL!jY|-B zmutT4b<2PvPA6<3lNBMaO60Tdsz3=;ieO66`t=7(VN0G5_WxMJgeXMqb%=e2wwdtt6%{D!cb;+2WxlJsA^i{x`V*L0~(B48>7(L=DmrVUB_iYpzKOSqg}{2GwvN3la^KmB9-txXheI?((9|S& zl`j%)NwSSK*_806PjVT1h|Rzwm2g`KBUSC7f>HV;Jk9z~!2jirol&31av2p><<1M= zK50gM-3@J?^2`-a%W1uP43pCld_i0SNv|LLWEcG+WFnntVmywnV!W`aGzT+=Wkkqm zS=^wnD}vqe3yEBx2=CQnRt7!z`?(xbgY-bcrEcy4DuL@%FeO6YBP>NeJ^uiuzD7~x zNGCWVw)wcClRNcOI@?&|$7nJdM7JF0-;+A0Cuopna@sP`?;IE^NbCD-f2nR8xpdnE zj$oX9#x#W~*)pzG586p-&hNHfi9Wy9O?7p*B6R$65#Ypw0I#*(x^+{xk11+^?3-}( zTK7)s?Hd9SG*Wl+{HQyJ^YK3(=BY9TP~`+6%R9ui25VjW;&egQZQaJpX_IoQ$X%!j z+e-)cfv~u!S&M0Vgs);dv@;W-y1WidbHlU2j1{r_0;Z)W8%nJOuo-mF{J3*x zR2xW@z$*V+bQHx}g?KACPYDw7319SGYHja<<4=GV@(@aUP@UKrR`)2hS@Ja3RD>)10q_vZK;v+@g8!xndj&~T55e!>hmEg2qXDn#;|Y@&QPH=|1VrX)HwB3 z=cB@52chL0l4}GBiSUl&&g`vei$u)JdJrDVlkARD? zMk5|9+a={M?;bFYos{@UI*>2OvpqqFY>W<~yYy9q36T~njhw@-$3aV~UZ#t}<{;n+ zC*9m$0q5{Rtd`S70rP8-H9ik+$G`j>n2HZIFHXox*w ztA^!|&@P*R;e-!==$JbIwL3gBNcuHqUGN3gPw=ot<&XLa~{J7%~9kF(CtA> z&m14h8>fnQ*+5V#Nx{Ef8F>Ba&%x)`-htFzlxwtM%T{*K3m>A(XAwS+2N3y_m!yY} zwXowC&DDe7KT5dH(kTj8$M@p_Gn&5vW;XXJ6nGr;J5p)vDHQR+S*TwFy1SQe3AIJZ z@10qG=Dc#O(Fu3yLHS8GV3zYIF7hp&K+5>CzrhrRkFqMflI_X=cdugMPNlr+g~Bi6 zzARmKSSa!Y84#v#doQnUhiT2un0yG+p?7<`+9HrJ-S``ZIDU`~m0aC@MRgVlhRJAF zhwWHx+K$yn)1i73b>=3lK8#>{ z>H#)40v@DMT}@>P4%ow%l-n=rE^!7J1OO2$M}d!Ti7u(_K8@U@C|A%Q;IS(99_PIEi$F!jElGiAj2Mq8t1qPqy<)R<2 zua7pq@jZ6G+&S(@V*|b2>i9WyYkW+YRNz65)&vHw+IA`h$ju6%8A)Sauxx%c*jHOR z>O#SyG72|%I^?#D$UwcQVwT3p3C>N1Kx~p4gXC@*k*i8IDw~a|Y9rvy#0P_|6zkgX z3ymt23izc&qK_~d{M8vr8GR>YM}%FxXb)_uyr(Emw?9EX^xI!P^wb?C<-F;H5ua9e zPKT-4cSycgzq;5Mnzr6p#+MMa#AX4BLWEIj>3gA^rDz2{qYhIZGvO)Gh^>-Ea&Ei1 zog)wDX(IL>v;BA@!a5xY;=nGL993V|yO9$-_GKUHb^^VbX$fwA1f-`|j>yK=MmTTT zW^Hu2m~`2A+2Cl*IDwCn_O#{ZG#SE~iMI7x&bRQ$oQ=hwMhd<(S z2(l0(2`Xg0n$-RJ7Lp5;3e*r!-TA>cfYJF2P%clZ;zJ~E>+!eSs69- z9$0O+sgK#LNvOxf^v5_y3ysrS%s9E2`H60lw!pYXeU~tzQ{cwswAR5bn#nD*a3d(M z%&9PA)}BhCuyPXoc+8vpG$o7;ZN&W76d^;~>f-y4rkUzD{GaW&PWG7v8kuxpxH)l^rb`&MNuO%d~j2JgE^E6j;l@Aay_UX2OZPY0yU*A<Z0S9HSrqm13NP@HUYCe-zi$(iy(*pqoaS_XwhItbBtn*fizk#dZp{K&N0SGzAcBn z$71T03R-$s%BE#1DFq!W8>qWB>T*){_Oq=ljMkT}*S*WFsMTs64K>=VI@vOscdGOl z-`d_Q8zJr73Um0ITKl|Ir4M#|9uz<>i=`22yL76iZ5U>j;Pvjh3LjedF*E7%;m%8s zkQX)l_ZQXnu}D^!z2JaBWWh?X-Z^veEcvNjXuabZ;yvxjcD3uD-CVf1(ZzQne4V~e zQHmCJ6yr>`PCG5t5@&6lA~%fBrBYZ}rxNaM7qML0<&xdBJ}=5{MvStX<%s}e{zvtr zB3t9xPHXBsejVBPF@pjy}wy^Jy#4s52HA*KQb%UtzYAN*fYGbaj zt-OHN2L?WbWber{;{~PUO=cg*q9C_p3TrX_542Zr*UE}4_O)B5jA`Za_kWl54COlQ zlw0c%sPgcb?dMr|d%#|qjkF0c+*@HUUQnHXyS3C6oc^3<=9R}L?+R6{EbRtY^Hf*W z3Fb!8gbet`_u4FWgQwpiG_p}1xrP^V8J#*&xEsGmlYu~6OK<;kHxsCy#0QenwIl3i zD?_l{jmDhd-ea(_kkJ>i47{JHzBSIC31~_Eqz#ID&NIs=a?sVfPWHa~8{P}=G3hfz zs9?ewHfvF7p zlSjPhN^*?eW>@289vr5{VVpxLUH5~WC6(SDVt>!Xk&P_s-X`jJ=_>py;FC^&i$)Gb z6z#YqUiv2V>nk{uOwT*CAb#G?+wQa5mHN`PX&vZ1zB1y{XZL8OoqvWCI#>8%J@Es5 zz?F1ty(*aY!4&6weT?(>jgeUI2EIAb&F^_(&}^YMSXQ=DBkOD|QnYXz{iT95$3ES( zPZoPPK|_0~bLdXi*5+E+;$#e`#!8HfiHsml?X55NOTU9+ILx9fcbqF@KmKqX@t(KxWaJc)gd+NwW$*YXuOG^%r&39hS++z#0)L%)BR)smc9 z;Wg<}bre;B`+`4i23k^k&a%S8+qBUQ~KZ#`X$HB->oK3-(8Bfylfv zL=SKXG=Fb2&$1FhA&Mc>8eS)9;9=Mpdzf9hHsexVJpVcid!0SatZ#GvmBrTCFix)b zj??ooGT^!3HJR39f1+fTw4Phk;ZzCh*ud6?{>U@_7|l|bEzxjjqAU88Br5d9zusw} z084Mv>toqow{9VO-JSlhaepzkczoHP-(_P!RI7h$b2-$o_29jgMI*2*)p%`)C=!4v z#{-0ykk@?5T9u0(_0P@A1pC%|R@ZJ{{JK}vwlmUlaBqF2z)8RH=I1EUV38e)+zP$4 zTXi+mpM|>o}4|?Z5iwm6%Y!X}!{{q&pL&YP*oV(0=UNkTiZH!0e)Xc#zB4 z<7KsFh8a@a-9$Q6e%d&7C8bkz-gp)fT{c(Gtx^xN6CdY|lV;72%(iB>oUrTtGt&34 zmNoOIjYKQ1DYJOOyxM$Z+kRkibjb>zXLZ`~z1s2_I3XV(^6?U~*HZkl(O}Ld6IvTG z!jZA-y-XaLfe>JfIUBIVAi%mT70l;)h-lc7M$BMk0%-?OM{tum2j2yb#LC*By zip_SZ_Y}`$JN{s@>++eBbzQ$9xLEl!a(s8yll=^RNdNZ^HzvG}d-nG;6fw@jrvP+Z zj+RKo!g(Evh{!9UiD|o!!iTQn+8!bXi7!apA+~Xj< zy3Gq5-5fIy%x}O2VYv4KB5(eBa+U^^J=;z5+7c_JB9rM z2lBi?^6UeZ$J)-}FL0CMyaa+C+!44MKZ0CfAMIb0TD;ZR{{t7uvp(6d-0zSEt-!Y> z?Q*l|^vd@l#U$~4pG4V}tekr`^@?Vh){EmzVN2Is?=D~4??7Y;5XMA3Mqd_5fgIm; zGQgA=u?7Tq#*cQ{PObjfEh_-B+;{x!Ir#33*M3TL5Gd)#UlY@U@9a(+ra@_1Gw@OX`Wzm8I{nwQ1>gJeL*ViM_bvWVoc#GRPJz(<4M#-_0RVZi|G^cOoJql z`_YT@XEOobQ%{jLy88}M-icQ$2isoXe637^fXI5knJoTvNBQ+bvvRua*s+8DqLlbW z`M-Yj|1-Dy!}jh+gzg~Rha9Xv>DfCV$WQ$)cEhWwQ2S+ZXCA8rHaYISck5J3@@{0; z=K5{d{=asMKXgxjt~Gbq)elK3-Q5A}@CCA5|G^@V>Pdn%RYi)FLFq2u(}xV(A0og} z*e}2l5|{ttqyLMyIGmpoVVVc6*W561SS}hjC3*PUPEcdsBS2^{=t>;9$(?w8G^=Xf zy2^2p)kra9Ge93WqOub154#AWVEJAE*x(q1K2_O;C73S6`iu)UkY9Nko)_hRc+4E> zE<#(?A;@{h*$W@K=rA+)+oRMKkrTq__g0_(2kD0YZNlUK3BJOS7$#yq@5(nDD}# z!>)8zYatD+xjm-b5qu_Gdl?+l1=gmrunXg@S1RvjXuBglJy%RxJzx-L7bM!;!|~3Y z!_~+AdFE!7t*3hp`&ZlZ!cWFHwtz7Iebt+EY0++>$>gm1^_6)+=a79i%yY2bXAc2E zvhBe8OGF?kOQ0ng4f;Brrj52CZ&OoaTu%ZD!{sf~{Eu1J7R-5A= z$0Mq9s7To+y0_w|>zx@Qx*IPnfa6s9HDu}ki)Ud??uAAr#MjBh+ z_Pe&PDjinxJ`Hx=7R)@bAi36!zY#V#eJ^G5;pTWk44(roCnSthN3yU)?M9a&;v{fp z^)*AJ3lE(x_*9J>2Z3t}S6^Vsv&D?&`WN7}90o=LO^!=hF}#YZ=I#a4g_AxHx}je- zNn*S0Yy_HB%uHN*diwdi8r5w2^csZb>s7TRF4ZI5Nd4<0{1N=cUk=1QrouUFOlp`R zK9_AHojU%~yJ_l7!J(awI}WpYit|$n_~PbtO+3re*69{HD7yYl&gzax*M*{FV_K^`kEH{w8%x z*gpM^;fP-Qpe0$S>#l=#63MkgTc9J%k&a)v z7qOIMl%+QY#ucmQ96rfx*6fc8cAvYBUdk3pQW!Lxzoo+8d;hYL3)kf{xWLtyP9WCF zPdb|OHg_Sa+F3Lu#c4)2s9c6qH5WDefkK1>fW$!xA!G^q-on|51rk+4w7Cx6pqf0+VeIYh@9 z%n?hXr*>6kXXP@K`-}4)g;D*fvRIf zZ+TqJ$-MG-S666lS!=A*pixzzuZcy|rtwx5L7@0PPa*4ol8^g_(zAIao+B6czIU&TX0=yZiTvcS&U|1=QR<9O4}%l`V#$4zuS0CXF-7O% z7vnW7I^Md#qT{yKK5|pKwsO0?6HV}Lbxv?_z{vZ4Q{_Qh zx%DEhmG`YO*i;0KDyc5MaHFEo)nPC1Q)VdqW^DqNoe?FzhVv~FxxT~QIVv_FBtrs% zCGwORzfD(<$+R&EG1FkI5{0{Q0|i5GWo}TPsmavY!^C^6g_Pe{EGd^-$1JuMDZMip zegOSz{^7Gs47eB-A%a1+Fnt8kh`zjf z?DW0*iP)mR^uc}mtkI9qR}C^AK8(V?@-_xT%PZ9lUX+=Wy2l02@x?FJsMl|GzuPE7 zw0Fn{72nwtA4RUco7f~oBcXCh%36UeAjKppFr9g}JTr5s#_J%TpW``=p3=vMJdbF{ z<=&xj%DvuxrNZ|?puv}1LtK_gH*UH}yKrDP?)EVS+t%f3MWui=)J$6)Na| zg3}XZ0Q_?VcJT?EN#4^k71!om+ZA3HA4Yk-QnFVzuV{GI#HU7E#Md372CBEwr(>}y z&ZPsqDBbD=u#b(8dOA3AZ!IprOPQMDd|SLaJX#d;XwVH)UA5G_j|604EEyuxCY%)f zj_y>GW<#h(#a#JFT#sTLCojrJpJ`TTH&#dtA)p0+)SmPzcW@glZ>zkWI zb5}dzO%_pzTRo%yZk_HWq#~wk-9d*u4`UO~CFTi%nD2#ggk4XP>yXOX1&Hrn4&I(* z&Lk4eZW{G^n4Rg}oaOoke zN|f=~U{Ndc&JPWP=>ij3>PrNDRTz=;3U*RAGo6}!$ZX{3!ljw$CUx=(tU(!UTq$Kf zWqYf^OV6FuJj+qf%zZEFn$#(BZVjzUliQPbGfg(_C&yfZJZ$rYSRK0>SDl}_t4%Fe zE`0z)&A4JPn>>o5_DosF>30=mX(h+3nXVM{Xx}yasha#~X?&G5S%i3eNBuUHym<06 z^0<`bQTHbwzK^!;h@lX6726;(sGqo0iiGHXu)@TeOOW+gsBuhIDCI5<@1xHQ^eqX^ zJOys_@Wa>V&{3PU2&$1#Bn$jt7c6>m086VQG_~EGoZ$D z>+PN;)&QwlL)cHj}Gb>8DDsfYc2@_t%u=mJzTgtRJlO#zKN7%`f_iJ8guIz3bk%ZraRE=FG3{?=jvh!sKq+ zGG>Vnz!UN;V&(v~Kn$h6`?s7rL%+W5ht`CLo|myMB!a#y!Ftfbq4`WzLzX0C$nWe? zRSIXYCm^9ddv!M%Nh~b2<@spY@_nfGTMs=ye!ak+ntp54dH)$O7`Yh0(8GqXZt5yz z3dJ0Y#%<#t1?Z|f*e0vM!~}}rr{0hq3K{9^CpeA@4oGdCRM`3;2;J5et^qq z&P0?EO#$W5jCv2?e;$k4(+QT@T37S|4~gnpa3F=-H{X_Jby1GWjFehOt#=&+{x1TV zlu=!2C4FtmK`5jTNpHiWG98xZ4M}-Z)JbBmdA%av;&7&ule|Dqj8vhQ5HrW0*d`tw zsY(f*~F__{3~dqoI_b!Y@xYwG7sQYoQdW{n1`ktF3EV+Zh1jreu3MiXE?~pK<#! z^DRWic|By)WYR5XHR!;(^&?HRA9H%jzo)3xTs^Oi;0KjIn!*1Z(%`2uMrW50v8NCnc5N(Haz3OZ%Ljw5_e?#H3JHmKE?A&k2l7OjRwB{&J zCFu2#2yqpof|sTJhYmFr2&_wlB`mwQu@12nfX-_5j~oFb%V+fXP|iCelWq~NyKPat z|JjbJjhz(2V+ab{2A};$4Rro}!_JTJ0Oj7uo0y;Y_>9)Pm*M%PV(=`cH(I=`#s64HkeLZ zlJ@DYFCl`3uVk7+!#irb@DhMXf+cfg6&r6agCCFdSpvQ!(|^k!dtmLXw6FS{pC*-h zKAxBb@;!EP8# zD@3Z~Gbu`GxKlB^NvJLBjbKU~dj0z>QceerNZ-eQ>r==y@ADrrnE_9Hj^H*SL+x!4 z%BEQ$@N_M2qA-{+-$H6{hRtstSP2?6c|#MJw{yk<`uiioxb^LGxVOzQ2jv$GN1M`$ zdvdUR+fjrJ{4gtimyHa)KuosSs#4yb>=fuj<3sKh>rITg%VT*GTjNq`=+H?blTro@!uPBBwKRmD!udnIpD1&jP zqOL{L#l1P*a>+KO^HC$EMmHEBV-sy7TX+UkTjUrbWsLYtK(lGHYDIAa0rgpAk1rGl!m@dWZh`V_9IK zdE#MhDY$Coj0CHgawbIEzblx<&|$%Z4cnb#q*Btcs^xJM4FlF9G0&bh)o93sdx9&{ zHH&ZW_afFCZ({MzAQa5t7=ltr<`|7}DFw~CQTHYoV@O$m=}IVE^9+@NrR>&P|FTGy zNlz}z%(R_uPXR#qSPzi}CK%x*k9bAJtCoV@2jc3$YD39o0eE=t^S?^^ma$CFc$1ER*eboW*Qi><1hNE?INBgE@YsEpL&OQQi_1q zyze-0=0{+fF-?miGrdp#KwuqPk?~iUL1xxvGan+yT%K*5!)4ZAEQiAvz))I#I7PR1 zQGn&7?(xZvG+F){g%u5e7RL35Q*7_f%~j`GjJ@*kV~LfUNOEa_qBr|oog}XMihuzO zWEZ^hv4XA3wmX_g)CZ(@5W=&o6(}q)D zdu(TFcu>I8!{esI=Fm2oKx(x(8xn~2U>Ur6;gJqBOOAj7-V{4n-N2F|(7D`|C421{ zv)}*=!LIb!O_U&2mpk>E`2bmYABQv_s=%FcRi2nD2$?uLno^` z&Q^}^r^0pML<@sz8rsZ<49lqdf?prz2ydRNa#^n$$4Qj+-^P~t4BX47usV-Fkc44? zm9c#CBij%V8E=y<`Sf{Q$f5E-$a~AMD!XoNSP*YOQAz{_=};C(NvF~vV9{M7UDB-} zB@H5tNJ)1sLXZwox^vMb-SEw8sdwpfzx#RiyWjoeJ3RR3x?)~)jyT6S&!Gj5Ei)R@ z-#*8)x66MuT@AQg9$6I;PkDn_wR+kGG=Z9)p*i`!zn9+ac&F>cfkn>A`kl2yYY?U2V>A?bx+uckfk0KIQ9 z!`P+QXBb(;>ipERBoJfg5d~eFN+wQ@r2fR6ji2H6E>J8AW-{7!t9m^U# zU-FKQSuJIkmYkXAh(qWZwy*Foz8DAChMCuw71kCuF%|gckD~v*m-ctkBvomkG%y?Ip*MRg1ODSr3RuB4iLlxuuZpM2?a{e0~ zJE#3lt^1Mds+Rzd4TzV?HB_Vj7(imM7;bW}{0ecBy&a{N94+rk>9EU67C&fa`e1v}~MRbKzxE-Xg!*h4{QRcr$;MswJCmH7Dmp;lt-b@gj-v zV2LjOJW9dh%*cRubCvU(UW6LyqYI(^*dUL6QQXfaAD(tVhYJ)xTTeU3u1?cm5`NIb zd&a0$^BxLJ=+VRbly|rr2(K6Ug!)ClWY43Kk`iINysYKSHopI$zTP+NDT9@okk7dF zvhLIy*rpnF){RfE7DHs{n=qMpm>vLVRN6-uqh8v5PP?kwH%{|jO%Pmz5Y&w)s$Qw^MSOtVrev_aMzW>%e$6->K-5Mr` zNRSh7qkG=0IJ0Cek4$rBLQ$8c@|w?+RXZZQA}XsC67)oa`7)3E2u67eLV`rD(v((+ zxg_%S4rUifVlDf7688>ca;-Wy^X{5susf4~jXty6ZG20=v++~zl8)HD6}m>hIBrjB z9iTd~d3bwW)9F+`4_PGfP{JtUUxmH&As~K5aJDNuIJ2m#S<^$4EJ%E*R!x39$?!TlvT3w@+QPF|`YYI+1(0`p z3>4QNMkqP$0H6vI`TXgUHOk(u>`lI~gMp>(c6+{(VdYa?yz+v(#4$&p=Sz9=b zPTRsWR@=;_u7H~HwG>kp&_Z{DH{qbP7J~zoH64$KlYbZHBjxlYz$OQe?C}sSu<6~P zS!s$1i=Y1)7eYlh&pt6hF@;R|sS{^`Zk-}WeSrjGxc|cf9j`f8zn5n*itf6z6q6z) z0(zFlX{$~_5%Ki&Dhfr#4`K1;stW@o@)5Z;+%LpEg)j*5?**T^^PC(7^To@0_mSt5 zc&pl2c&HlWxZy!mO*MCu0^e;)Y+*gWboM-H)B|y%q|Km-6(M&|a`MR}Pl{$nmODhK z!XNA{_GELrMjwqXtg2KQDemSRj5)?Ljj9*-4H;KuR@|z2EN{MZu#}6{Qqo-4QcwHc@@bK`E>QmTGnpfZFtuz^A(^2J=ux z3Mz}xWmVu=>q;QEd>kgUjDEK_nKYH&k?^H%O;WOG#N*XN%siQn{$peeykst6?nyu;1OCdeI9EKv z`fllRT>%c6fQFpT9>ftDPi=Z{`Hw{u)_};s&YzIUwmVJE+{s2NvlaQ)nJjP6J>K4P z2d}+~)SlIJ69#klhzu#Sh-&rA46$R2Y_ERI2S(}J(HFq`yxLi8>%!oLY*O2TW+!%r zlwQXHoQCL67r+GI&HP)vq+Et8Sq>B5=c%|0t)n4twtkfj6-u=1fksk&_XSS^U2rJ> zwg^zd=PpEs`E++q1upQq?lW{_M<_m@YaYJjlh<`cX6_tF{P&e2ji86?(#LAj0ryIR60>?g z9qfl!sxCawzkLV!hKA?q9$;+woEh$MPW-n%w&8Q+3wK?XO~RSSMJai|FZ9o!BmIWQ z0JbN+-{|AlTlD-u98Z09bj{Vy@yZ$%oki1iyE0HZ>Ixv`uUNWQ3~ldz%!xA|e)w8$ zZ*psq31|O!FwmqC12gb`u{3Aj`sr{+*bLT5kACWEZY99hLd&XWo&}X-Eo$UUh4iZ z=+oVzXQn>ufq{`H*xv8?&l?d)0PI5n(5|pxeHImK&5HoDH@ghE2T;R>F`z^zg#zk%&IB8@N=S+2d7DKy zw5wTP>ark#o~jNxp+xb;!SX(G9}jVQ1IES)H3 z{mG^eL4z56rea;IFP(F99LFY?-H>6E-YoaAOW`QG;Fc?=ZX>R#sba3i9Ht+*4gJwX>VrYnzYh8)cZY&C#a5y})rE|wxJ$u8b1T#*NPFu7QP>}xf zTgT;XEM^jqfvL*Tv~$FEuDO zKOZ*AWL(;$9(#d(G88~k{%+W&KTe(JHK77X*e!NHoUO5iuaroCHdJC*c84pwJB~REoTGg^J&%k>05Tbd;Bh@#UATWsT@hZ{ z#WA%k2qlt?OZYLe&Uy}xpqb0~AShBJW8JltQKcxo_Azw&*wNLfca3jXwe7FL3MAn!s6GmbI5n^U3qX>EiTxssj_eIX z7}40N``JrGN8Xt=Z=6r|Pxn7fKph75A5hjLmI2Rkmo7iyc$6t@2A}pGQMd!pX_4-j zb+2VCv7eq$%-u8L@1u!~734A*$P;98YtmZDh|n9nnRbuNxlL8h!Wg{tb>BRWaEWdm&~;kX!B<-?s`^`YtejObTSBF zzYNHFO%BexbL*lk)}rTf97o=kX)lO&AUyz+)e|hhA{IcEj=UAXbd%LcGBGZ%U@{`Y zcVOK-h*7d0lj-?UZjEZN^A+4Xo>*==Oget;n+c+oIFq7N&6P!EFD?N&ZLW3d z-N~TXDI?TZPKO%a<^sM%zVwE|zVxGlA1(N4iiZ?SR9?o+eC=HFz?CiK(*oA{N$ddm|_? zcsbz=#UuAEQP~I6rwCrB@qu6>_gBG$3oV#u80EGQIocW#1b-yQ+vl=Wu?9DH-jw$J zuu&f-J?djRK53-rOpV$IhM=unigJw39KBU2$-YUb7R;B|=YIh}S2?S177XC0_WP3+ z*@REJ>ZA@Pi#IAmv{eIggXjV~>ipXAQ4j@8>NBfl(_=%M_e<#X9WWpPm-Jr7%1JX|sF*WVaSCYr(W zB%ry0l$5*yyxfgD+aIui5x@G)ki*_Q{j(zyqSMxI37s*UH6$zxlZ&5iTw&=`x2RQ? z%_-qpEqlMZn0Y#QY`d~S?c`9ll%tDnR+f}p&cGx@Vp$(9Vpkl|?=D{Yn9qZmTxF2#Ny^38W-jEwh`96l0rbRxoX-o@-W@PojYb6yD?8Np);lYV zbN1&%Oy2WPC&wRu>Hd^8`rGYxb*Is~14aSLH_dVkZ3r)d@`8`U8kRG2Mm4URPIir1 zLFE9(N`nEvPmLQg)23N|+m~r7a3pEkD{`jIZGpDxu)d_uk4wLI)|@GWzlP?$x~t{W zR>ULYQmOz$Sk~=1n(1WY$j%eRprcMnPR)?825}uFFd*atNQ6O>R|IB}cg4$eMusnV zFtg04AWdna3s+oUj{9XyOfbvB9Rl@XD0T5EZ(My$GSQP-b0?GCj>So(RC$%I9gUBl zNPRr}c!nakiNsoI{#K1%kFRQ#tn8srS!O`rgEji0FLi9~738DX+nrJ4l-e zEQjl|nWlriX=k+p7MceS2*qqJr*h_R`Y#;Wr_a?9z{GC)!@fn?ib+5A4TvKy5Z)R= zP(%?h7H{e6tLJx_dRT2Ybj#&h4x0;7I^bkCo;DJjTav|9UX#xup2<>G9n`uc?m&u(v#SNigOy^8|Yejr6bb)pL^p_k2GE=dcM)Nkql723ORHh0 z)5{aM?&JxLe`BeL-1&8x5Jj~==0&|tE=J&Y=r_qcA+sQS^%iX7x1vYX`&b~pg8p{%R7hv z7k4sGouvj@fZ@|avE9z`(`aH26WDg{(N=kK;K#K;g=joO@|F}}-QZF{fLurripRrT zrw1@#0en3PI0`-K6|6nbs^$FF^euyQlm)JqQjo=Yo$jRZc>MG*`fzI8mDQnn8B_uu zbee;hi+7Mv?oFPeOME46O?JspSJg&q=IW$3nGNV!G*G=GreiWv_GJaWHcae#t(?2j z3|>`i+t5D$(h?yIC#jswkeBNv4TkrvR39pFK50+aEBRY=<`T7=xd^M1lIN9H2M=8X za?vgSqtt22ER$9dc64n~ulL4O*;+}(OFSqf$kz76G&IolM(BD}xXL@O9E$*>EMrEO z3uP^>=UmBg*~aX)NI0z!61(1lCKjOUP28?KDbpCWbr??-_twt18}@Ek!pMT{kfHdl zpdfdD+_SEtm(c+G9C60EpxJCL)}-6jXmJel0w*8DA$$Z3tgZ`5ViPvsS7 zf1`7KhvrvHPG$>RJaM!LS#F<1tAln2_6IZN(O(PGoaWz(k49)78rvPMd-M7p=h&@G zyY3Y7j+P9sPPlGodXGllI(+<4RXCL32tZf0sSoi$Ib9KyD_t7KnYrqu&R#l3_axxY zG-D`!?%S6Wlb;U=D;Y>R3VH8mCsN?u@%G{9`DZN zsztZs$3RARwR~4ItdmmBXQBYHvsPO5aEAYptfe>Uf!S_Ur^cJTqp#kA)?_E2(?+Ii zltb0ZDOrGb|H24gN~Qkcc~wmJubTl_-&UEM1jPQkfp*Ia)ebBA+m)J*3;LYSdwsrn z1^ctPbo(s?TwuJXKdDSIPU3Sn*(;?|_IQ-hV)3mUo zZ@XbF$|~bsmu; z+D6}cw?E6p7EmUWcIAFLpfEkU0e71?*; zsQNd&YtQUHakCv$+KuEJ^qa8^4Oi{vNnW=OHYjQCWn3Uxx?^N6q9i#tw|QFH^co7? zBx4j-`Rk-+RHW|EkV83M*!OhfFGv>HJ-?$*IENnhpv^w zDRk9|T0fNIFK%4n*_jAb^zqrV9I7j~^_j7F6IW=$$F2F_@}%S?W~hUg;@EMq|Tk zd#sJtRrU5jhuv7QmO;vlNu_8$Z50e; zn?q#a?b{?|k&HRbw-3EAEVb-Eot}|&E~lRXWreKqjPNV2Wjgw4DyMxVMvp%7?Hpd@ z+B<{74!*F_W5$b6e%w`H>JkM|rTV~MAxqzZl0^lj5ZGhc1c$e(rDp1^@kd|?S+$es zF~_xlyaLB<9=oyf1gp|f+frhF$0Da4<$Xzn`ZZE_UWX0WV)V9?vYqY@^DM?wJG*^F z!ZJ`olWlBoy))(ZHP(N$D`mHLdVG&bk)}?@8Z06PES2e!EY5vAEw^;E-bMy!VNI{~ zdk+G5X#N{Sq*5zl9LYlBkF4<~cB1iM!r~s{uj_1foYnJ`P2^v;VX9pyg;v4n-K`PyylY3VU!N=}2~YBODqTIVo(iUr zB}M|k#!(W!2?j#N?H8&0L2zHrIpm#TS7X23*#cETJEgh45*piqDSC+wp+l90RsQ-B zGsp)Z0@QO9J6uxjlnY9Rk31u82Ux5@X6=^R6A`51i3cS{{f#W=XJgKGQzjf)0oIVD8?kSv7*CpNmCp-Pq2^8n4|9drcmgi#S8p&v9loOgM6l@h45 z;Axd`As^uhssebg4dS1Ir2-1c5Tf?Sa(VdS`5bFoLuktd?FP^6a9Kd(H6fOajDsDJ6_p-@9GND11+I12X$q!v8$9=4W*JZk|lR(t=4Uw~wg@A?Dg`F;TYJHHiC z(!O>Ljl=pQzygJY^N|=U1=P!l(saT+E`_W;{3GrM#dtg9`d{GWMAG;o5ONWbYJuk^ z6odhgY;>f));~j4dFB5((E9%fQ2rJv1bqX#$)vTPLKq@Hlt)-2OwoZ7u7Bz#s%OL} z=PYT}>s%c`jSs?cDD+_P-_AmX2jS>5!#*1&31bnZcCXu2w_}d0y{H9np2{Tl+GQ2f zSgYbf^X;TEbG8jgL97d8E^vP)eFet=P}0n^7VzST0HciP_ff(~@E#zdXHd(*{zixq zF+c%1&Ht^7#MVN?T&_yhode~oH)nccmWWznStP?9QQXsbJPJGMx9@qLS@VC@z02O+UnKyca$iicCLEXbb8ZX)=kvf2~;~~z(VR)|0PZfZlxt#wa zi~L{s+`mC1d-ZQ%5(0Oig=)fi{x>x(dq+j`kxp1;0qlQ3i-#?Di!E#>^7{CuUB@WKb<>mjT2Y3AP)?>svWlafLIZ zMsA;6#~bmOFp4NYa1;{|99KdD-UWALT zJ=bE8!C5&`GggeQle~<|4<3Y_Z2lLn?Jot+Zy_f7P5-fTwMx= zjC}l;lPx9!=;fY9yF;4M)u^>=#R!G zx8TbKj<1H~6zSGz5~2qlW0yW#=(8 zuAyXwJj`ca)Yv9FH&V^ZY>JO3GMZLK`}Lm&B!jZ=fNuZ>8t1sP_1XHO4-`87v1O^} zeq)gxPL6AkT{c#9NjBiDjMUe81aD2&cFlaF19Q{ZGPFo{2_DHUoASHEUAwI#Udn+t zemM55TgDgeBf~0Jk1n_ZTBBMjA$ha=^}b+MBW(hEmQzGp$(8q#MiJN8>!i}ErO3#@ z)bybDC-kq9%{PWBWqqpJjpHk}*LU#5$D|o488FfJNBH)gkDT`zN*3Pl7czuhqZyyw zX6CORXtB!Q9FLq;(okBrU6_g6h_t7iV0SanyGIMY*AV!CL==g|nH-E6PzC+7L?W`# zfUVtN-yl0p-;s774KycQLSC2AZ)gqDY8R!k6{y>rWQv7%X$ona%#25wd` zI=HI_EF@8$bj3<6m|2Nv^WyBpk`#6)<0Tmj%i& z2Q={rnx!0u&24`fM`vxOHvRZqVI$cKe6H1<4|3c?ZDdky_x+pa_N7f0&VrG9%+D~A zOO@j?`i5-$YFVL>NuKIH?d03Va!Mc;CsOS41=N9;>&0Y`y6F5KW)X5BlI3#H))k-l zWXJNQnu;ie;Ol}Kyo(j=CEl#GF;@ zlpcFUF++nsLgcO+bLa4w7MuCF7i13)oRewS=FX+s>K^VdaJg!18uJp%#9t#8j3*N( zDvd#iR4XTbz3a2*%REV^ELT4!SD+@~d(anW=0fc{RI^`5)>Ly4 z@2f=_HqiFQ&{EhFOR&X};kkDL0#3P9k$aOrz9%%NBln}LO9)ZNwj{QvZ$j6)UVN5Q z!AKC@X4l$Gq0PopMK4*+32vg@vF>o>tFyTW|14J}hu6P{2c z?OQuCoNDyJ79tV1mSVU1#y4o%Dx0U4LMl^APvrV=9hkz%5Gcr2*1hh-D8Rf{m z_6;zYo!(c|uVx^8Ahm(XU92J~+(@Tji8ilpX`=foYcN52Oa)G4OihQe6$W*EZ0XJ^ z{=Qid!$W90ec!js5WvwEU?@kY)rY4YyOch$;jO;u^^&KZ@NmXWL~fYOwVj(s=i+_M1<_=wh4pqL_yH0hD;}%Dr1X*r-xGaaV zgA`Ukz`(vGxJkAr&U)DUUe>FMi#tg#>LbPuC7q-Dam%kY`rGLAXUi4hd^s8nigS$+ zXme!PmJUh|Dp=h=s&bz+-dYklkbm8RXfl?MA$&qzoe;fbOxoSFxwApP6py&MjL0Br z;jO<6pdFuUnb%&7$rl%9FLf< z0e^CxUnerxuH)E@&W=H*72^c2gPv#WNARzG57UXewn7Nq&tpLYvl?3 z43tH9WCs*k5~Kw=EfveTvLR|-j}Dx=-@A6!U7*M|sUnJ01T#llG6`Aq)!TRtYg8SY zY6baF90}tM+i|;xQ)C^CR(Kk;uA;r9ggSF7NO@~mF|p-43ABO4<#-=$UMUD{bm=%K zNsI6m^rB*&TTfTpoc1>rsqAq@JPEj4HuDi8k8*B@;LGRBB^0%tmbCHZM}#TuOKbLq z1V&w9JZdqAg;QRVz+yU*0CwE%1Wi+y%Em94nit*8Ca^vfIT6>BvKTOr|h}zQ0rNM8DpAq9gEm~8wEKHDT z!#BuTwx3F%W4o<#i)Yd+q9_~VW}So*#<-bh#Ox7`tV$yO0|}i2*XFXmn>%MIjMar} zgT^j;-8xkaD9HVCPlZ>8!2~p*L1}yc%D}$7de)6cE)aOMU&7&0Rs79cgcaG=NvZJR zz_+rw4RJ-J!ovi)F$s82Bd>5)2DERs&9J*rj*)aH?D?x7lqBDN*mCna)A3jWuql;K zr;bI@jAkk63Jt%Ansg@#^W@I%{{FfNbHkFrx;ian`dq3L0bQ==CSldAawj5s68>jE zfk(tX*fNE4!6vhu>|q#UnT`pO;zh1ZyWPeUlcTw~^+-j@uq47pVMD^7yyKo;)PTKN z$NpiaF#^7*Y=?KvMI&0#x8t!a>Q+vyOW~7jaI{UbeRMJ<CIi9sS=T3uU(Kx0%*Kpu(Q-O&Jr&Gc%Y_>CIt321hQZ7o z-r1QIBf437+P4=rr|nt`!vYw1kGHx2}aCI8egf z1T38C5dfOb)5=6A+cn|=wpTRt80Vg@B;9(AfKU}QNH~k=X`lrF1MI(HYkz9w3rADP zQCk3K5p-+>C&3(zo$GtUCBL(;Qr%z#6N&J}kBsLv678eZI4bpRk9fm|x$=u;Jkz>JD|GJi6q66<~xOQeX<5Z(6{gN^E~LQr@_V!jvO1 zw9!s3*s`hJrI_z?y%fuVXT~wbZe~$&%mmr4H|G4+Tc{U#(7ya45#qMcfzV7X8fND` z3p+4>5$;Xu*bMq3ls-=Mi$k^DWIGqc_|jWsNvD6GjTB9X4r)R5{t39pGRrsrj72jE zSiMA;&8H;$2HAT!l&Q^3t}X~FGRxuw47qrCo$bf&o8z!5m}cjOUKWIgI#|^bqRLZ4 z*Hrwe;p@-W#7Gt;zq4@@BxB1F?8wit7mEBD2xE2-p3k-t$woSh!7OIigJPq?f99(vQa86G3h8QwtnFx)%R{X8v#dw|@z*U7wLyfbWGL%jng zFoO~x>Eb7@X)I3b*?UlvW(6*lSWlBW5cV0?@n;;_Tc2LqLc`rjUYg!-FJ;jw4P!)zQYtzWQ z*hMyif5t`yfj5w}1~x~#L{@q!#2h>$j2w{BI z@6m1j*2{LFfxE|?e`8a)@{-q>*TmxpBIL^x-0DH`xDUZ=R9F9AD2DKBFsBu1$S>d1 zN;lzj-3Uu4%XL{XUY!#>b)bCJ9B~5-DUq1xxB#=Vum@yH_|}~_YLf-v{oz2gKoD0_ zL45p}I%wc=TwXl+0pki=!Yu)rlBc|Q4)FS9&Au33Q8?c5baANUqBp!t208aVTWQ0U$KQ&T*EyvGxNR31LuA29QoUq2i_ zt#-W-TvJgG-gL(AXfenw-jAFxU$h?IAvpWq#@At+rFc8LF$dL+a%H8EsEvEC!9JnE z&WccsLP$XbPgV!AgM_!A;h)=EN#vj-(c1oegyKFL^bF}gIf0*_A=qllmyTzUtR?p- zOSSZqx>XB}+3H9+rn<5#mb%%>)icAW67%6N|RB{|pXX$Yk`h}UbvbtaIa`f^sRLPLK zt98Sa6LEzs3IgIzB1mzi^+FSL`(!uxu9VYAh{OV8VKPP|_i?mhGTeJ=sUg#RJ-UAy^bd(m{Ncug^f8-J=3}|7M-VMx zVRKc@1kCqv=0%Y9geRckJCFiApqw}$z93ubzboI-%Lvs+gvs*UeE%TF2b$>=>TG5c zA)RvPeypE6)GYS?w+0{@1)A28v=NCPv=Iv=@57@NU&0?|we%U7m2$t74fRrjbZFC* zFnom~r2DcEFMsQzcEbSRn^1jMd(@J^0Y9pq0F)iNPLE0YD{`KSkPmus0}9^Wia^vX zGr)pz@<8t7uou>(8pdb5FQC0-M&ZWP^^0-$VTjapE$7{AXY2LNQHLv-`fGC|jf6UP z2CX#4R^XYYFZ)Wr+O4NiY{HUd09HDOuLXa=tR-r{LI4}Wf07+X$$pQLGI1rd?^aTm z#5vRlI1pLm;!lnQIAPAGf2mVlo$OAM0&@LDbnT$yvPX&JDvGIQv293%I1kP|FVt6} z@>7xaujdmgvy4zUt33X4L?684schU&!G1+lLTFg=kBHz{`_~b{-yX)a&Oe>i;8Sdl zD~g0uT~@Ji*tJ3`8suwru}WS*b)fG?r845>^4S{Z>{8y5J-1SK61+id=e!L?2w16e6cY5+11j9y0t8kQDNBhh8Z1 ze8(^z&gUI@W5ws8l8{8N5Hr{swfAQ)d4e(`WU_t~r^rQ-_mTFRHO0hudYA$Fom-MI zfYTu-0!~NkhBZ21uuwuxfj_hxgDDgFwflxr?rxT#A)hQFQSTvO=aJ*Q0Tbv zacSAFU>5e>(lYW~L_vOOeu*dw^857ALKMUPz7UXq>WuwiB9X;ebgW$HdC%PoxX(`x zeVQEfn`~%kQle1Hx$RE{&cE2V|Lz6cKh$|8W+%CaZ)=+(iE!^`0IPGUV+OB9U z{`T9aTjZ=1g&6HMTWza^HTFF&)5PQRDr#S#H7~HzcThuqr3U%ygF=a?Xk3Ax`d|FK zAyt>L16aRb7kqfsM0(*{YI_&$X3?Kiuzf1a0~{#ieoTF(O#N*?KD=TmM1BpGM10Oz z^zY@bZ{^AJAPIPgqa>;^5ZJW{*of!uJZWWdte@LZb00+NuS=cNee$QBZecVfORp35SRA4~P8B{ND{hK8Dj%Pdx*fYd{FuoY6 zGh|CYn}Y*$yd+eZM;Z0BfdJZrIc}GU2Jb@O=wC#ye+iDDQA20aTZ6Mb2`qbkz8O7M z{dP(Uq;&`_kT{F_1!sbbM-%p|EcLWK>RV+S731*(CGK@k?DFm>q;o(L=nbmR!rdH= zs!yh+qa|iw8qd?E&$3Fm-VEP9kZ}z4g(Pa^Jz6Ox&!f6ff3SQeu=kIKmHfV__RI%g zx^iqc#AT>k?gDx01&4`x-O&*Tg9^|~Wwr!(1-NOlQ+`Nu$su_~L=w4I!$m_cqa7gk z>epX5=iig<%R)j_Sy?LE;h^-FJ?yfZZw4xV7nQS=){W_gcQEmHjNY7%STmI&dtd<< zXw?JVb;WkrG*ZU7fdaMzMbXuV)h=N$!FWfb0H=)>gOTPC-iq~UJ98p92&Kv^p~l(% znv>F(JPJ9^BUO7-(q^Z}Z$z#&F;htxpGneE9`HKpq+NHb{~fyX>`62-g^$ACV<F&&{r_n|%0@jH3rFT(BbMiu%gV z;GC)CYf$&Bbn1uiSPC8v#+eP9+F8^b^nP5Gj&y15h&%Mqb4VKq5;!2{oZhoGe%?U_ zvJjIwFp0v@u2;}`?7H2^r0-g6;Vmn>5z8QAPBRmkHx30?+=zGI#ni|XGDUk4wCJB6 z?@Bn=?^GX>TAf;T_pW*i?&ZTzPnt#`>4l#BXM?+osIm%|;ud2d7Kvi@Mu$rKO4!KQ zdLaKOXKq#dNYxK+%AWDRw?ZeMZ+s60a6rp-^9n;p(g$g#s^yp1<3m+0xgST03?Gd~ z)>s*a_KMGS*tJETc8yxE)zBu0+7CEy_K$`R*ChB5{J9U7OL^?(j#Fyv)Fu9{(N(sD zD(3v-No==Sfupx_q6F$5+xR?_r%cZ;o!SOiN_IA?ai_{eFru;x(zm_7uk z(loAA4~JJ&VPG3{aM#AUoh(yZm-9bC#EeHVjF+uro9Z5Nl``(f4?l^?#@F1R1D(Y- zg2#i~tBEgmq-RGRm(*JbZi69DesJSKrZCtOv+5bumI8%3DV|6ms{$9sj#_Z7SghOwXL0a9JbZOPKekOl|3zq zVPEpBA7?^#(vF|l0)9ZVLsz&oKTH_+A!)+V8QwM{SmCS3zTKg}Uw4QD(=?Ol1T`o|RK@OK4o)K9jPc1kRKePa-(`2{7@F2T@ z&bQy5VE)JlVt$i9K|TTcFP`9I)$Zr0mXC_Lr%i46xWYL+klIa{>I;NIq%Z!ijppfL zCtXyW?cxZ6J{0QF-QbqCpTB%KZ)nhGcJ|tAPL-LqI$wyY8=@Sx;T%!AdUR`dLRe6e zG#p0R8QzlCXLSw#o>B-Z&kT86;bK^(k%-oMXCf}yQhm0Nf>rN!H-uF!h9)7Ck{B>< zbTC}9W)}3!wSbtv_RmdJs2I=i6h!LxCb$XVDbj1!@5F<0jvYU#*iF}{MPQIvd9^OE zF+E%A%a$&<#x~ml_yJXvxcGWvufKl2S;D}(HX>I(YzBu5tOBt9p&Rq67ujhRd^XxG z$M+^xm_a6qDx79Mke3vLK1**VSUzFI?DkyN>7-{jq6M9YiAz}pgr#p4Ov#|!1X-sS z+6BSNYP|9gGTdD-+ur2|O*(?$ut7aX3EaPjLBQgY$&&KH6f>49H&quEgZK0)g-ojV zHOn5nv)wAJa9p{pniC8L?tO384PAQSpKx?HM2+AfqUWYJWs^*kn381o1Q8)Y}uk!%X=x;Wt&Pk&fJ>q&ex*GgG4LDqD zZ-^p33OsV?NY^GrgVEdhNOschvL~F7!KewbU_fX@0|GPGkEXna+A}Lo*CADs#piK%@b)r5hiX5YQ)l?2Q8_o;D&G0T<5&z>;U}&fS1*6gjXE&H)@@{hOm20>my5$jm8!10*dt&}(jkH)5u)=RY^24jOxs>} zVy-){nAOwo`*u$Z8QM?^8@&{w1F4){Qdkv|4l&5T909~cLT-Ow$&1lH(h)sOSkraR z-hEXUJ^S+K2tZ+p8>yy3^;S~`RI&8eQTmuLZ;}nO-4gy(j(Vl?jdeXNUpU|fh0ZK! zp4lj+N|`Grsl3Zpu9I@N1M9ILWVOyo`7`6BV?kD{nDti~{f}x03R;0@1VHplY`2?} zMEI0{P*hG<@@ZP;{=#ZewK1#O&H+9%)aW&c0&*i%{b^-K`dyCK1QQaq#2`92#~TS?YWbmAWdHSz_LtMa3MeV7jl^zhhl4Ym6$S~% ze{fP*m8%@%et61ZNU@~E8On#$7qR1e0XORp7poI^b@Rz?+?vK@W56)YK10p5XYE_u ztK0o?hvugp_NSmj*1Q zsW%PKG=lcXur`3tH$s612Sa7tr!P4oW~C7)(0&{2_%2F^G~( zKVVG`LZCXQ=Yxklkis1B2=(31{`M;m*}7IJ5ul5|oqf_C{`?`i2{d~hOGwxvAKEk* z?|6m-9U&}eQqcNsvcCsjVR;Wf2YarBf~Yp~!%O#avJs-e;VbrtPLR`pL<_w;cyU=|IDEauSLdNfvgEQbw&Iw&4 z0s0rrpU-r3VQPvzDcspWyw1o3vL@Rm*@b)Jr`i zR0>oCeBzPN$NUA_I~ZGUAkfzRSD@`5C5HbH{`z}c{)exS=T!gDgVB2yiQ6~^vkD6( zK89G$#)`kjjzGY083l>_5k!~Le8cU~XpqwZJ+uJa^Zaf5brA3SfRfmca+v%7B>Kr# zX34DY{t}?#Tqq^PGwLYw>JCnX^wxbI_n}E|bD&FK^}W^m!kQ1o3LI1B=27scRby{Fj(kn1m=+!R=3b-NH-Z$q$m1&!ajgY!oA>cm0`U^#dONpI+qu z^XL8xMEK{%0M*dXS!ZbsFB`soer7z)+4Lt){tx*5e|nLTUg94=_g}0fvaU0M`mr01 zI{BLV_L7j~HPPr4@(;T=HDmsNdK}ow7{5_ZS|)q}PS5-pA}7hs#hh|lfO5Ur(cXH@ z<#6(2Q_EXTvbI_v4 z+1l-Z#H9Hm!rmh*J?Qelv4sGVr5Nd`D{}XgUT6G7s@>3h1(+FV-~EW9{^P>R|NaI3 zXgxso)SP|U4;493Q^nFrk&Dp(BK#^UY6>Mp+lK$k?U#&!tRuYtT*>&Yq(pNg>N3=| zghmBwwpjYBLLiy+{5_!r_Us`V(uY2NI`-Nf=|l0t@A*L%{W*|A#(c?YM-GhK-9H<; zo2W>iM}ON~S_lc1V@lDALiW8D#7JnuQM@=HvWCFJZ>17?*$JTM>>K7(5cLeL2>Z95 zp#`yk&P6bo>KPC=^kd3@&IaWY@aNq$d{8o-j*PS}{fL?VYTXaYN0sulJPz9p1Rhy< zdFEb2Q8u6LOwcSYU|sqGU8Nm`#r*>g)#uJ*Z35(sQ=0fFc#ly_KE##2X0!qDU^l@H9rPlQIxs@Dk!hJsu$|X?uSU zsr!i6IRpxg%OHb5Vl_Xqhv%4E)^N~@3#mr7kl~~8;O-6A9IMiSK{# zkq>h(U5^baO5k;#_xe{4gq?ZpM| zo)1+s{|uEOU*zBT?c{I31T|gfDzWD&af?K|z1t0G$R*kk5e>Ky?(%?ihN= zHQ|1CM9%G?yQEE5!=i;I5>i$yplBe}uzx#Q*qB;NQGgB2@p1wqzDB_ahZR|#h2)Vz z=zS0xz8K&LVJSoJQv~eJPwz7wz*zxQZ?G}FK(}n>>KAb`8_LvJn?B{1O3<6YsfI~G zw~l0Su^WXC>qn|zn{Q!_Dj9P$-UU4_W7#Ujtw5pf6Ua|?T8^An%bNh{uickuBCRN> zJq&hFrQx+c7>^YW)C1xm9vJAqN^W1|V$`S{;6K@$Zt0~@*l#z$8-AiKs@rWCY|B^i zUV6&dXj2zRTyWUD1aQRsyP(zP+(*}4uY%b(ewu{#&@9`}j3C%C^CftC3W>39^z*+M zl4|dvg5=azzDQt!^5bJK=#XsAb&_SRl%O+J?@iT4r+;40rA?3M zCTB6-*OA`on-Ct+T{JzXMm;*v6!B>qE*Qk*7X_oY=$$?|%cybsEDsx1IyqHAD!mGBMUmn7DP_s(L?K(M68s z6XYXAnZ7sH!nKeu+6+zjSfqRrJ93cETV*7I9}qxB6&L0sk!_!>T$CZLlQLbD$!H3R z;$PAL+I+tAlTL^x+$Yv^pR#vF1=2*B5}f*sE5xg@D>+;vCs45aQ2IRHR$nR#dzs<- zNj>$Tj39l7vG^WX1D)ypesGx8-94Cbh;&XiU4!@A_w?3nyFe=cwJvb4@@BL6m$sa zESnlp`U9v;cv1Jz5>XO$ygM%FtBTJ)()0dN*zU@Szh&xXJk#QWc1MAGC%_!>x={m&ZN*(HDUj1+u``(!G>B1A2 zFOBt=khwvIs8+oXF5`s^%v+3eY=yhPR=jHeJ^TmaZ=s>_ESg$DE0%)B5w(%MjqNK0_#Sr^EMxfr!GB;9?NauwcRE=DX0sq~2fLudxL7 zU~$z}mvl@|LQZj%W^@MtNtQ41%qJE(%pRKcMYd}ZAtOd18j#9|CuZwcRMMuZ8E0o} z@^m;UecNAPhvlAS$EDgViLxz4O)(F9ukH{!qC;64)tunGQyK}riII*ttDFW6c6mqB z@E(h^z?it1?mEZG70PnPbO)3C5T|w*7xwkU)w$ys&2E zfgQyurg~AGwKWHpeAeYQ>BJlYfo>7i_HG)3fj=IiNCmx&;6}W``=V~@GM$u?SruAW zg66v&vxSgqvSAl>44Vct(VF^m=L(SiLQNs=TJ<9+Kd&=Y@7uz((G!1eN>=dra;fEX zBZBa$LYC4bz?u4}U)4C)X^M6&`Vk1eRLiDx8xuzbB~Etj562Vef)Z0L*$kiq)6Qi% zdSVKY2PUfzN7ra;G#)$6`oNcR;CRCdr_B-c(A+${M`o6xk~z;q7W_4jbgYa+8)+>i zj^9m&$VZMOg#~u!aO86@=Y0%yoaqlW>U<{2in}_#|H*Fgh|fBIS8)?jt|Qtu6(hFY zb{j&TGoRIIJdK9_Q_WE}gQ^tY}H5qpQ0 zcQy0ta#3x@%p~NZka;hNT<4bKItQIvykQDP;?A#qVG0aAU!i#u_gzp&)$)_xQYeZ* zqbys_ni$hrS#-E>~L)U6RF!ieke2Q~^Zns+EthM5_uKp4z3(~a-?jL? zzVSTsnRCoB#zf^NC_WW<4nNUWd#>B?Jo@Y&cy9Nsvh`JcD$45d2ILxddEFO^D~|#c z+yyPz14HQFQa88)BhjU=#WV=q-7&`G$&X${g`{e#K9XkVklMgO<=mgY2Kj?6aB7dq z16|i6M*2fe@`3-T(k8U(FbrQC-yS5uN#GvAN(8)34gwj zpA9zD&kM=7<3)B&Kj5p-??75Gjs(7@hdK6P9#lLqDTeyfJE;S|_#Grg@6BE3F0VPCLLjTv65wHaQZPe@^posruJq1hmCr{~z1IK?3 z>O=atf7S*l3y=R3FYpunKX8NjPZADMwE={of1f4!2h8-pRUP{eJ|KU45$3Nxf2)67 z04%7Ss6}wT9EXx)obLMT$(|JT(XzeObY!AHR|sEu`vA|j-Ij$%^s)ovCJ!FNk$OV@{HjGM!|Gd^vJ*$@dkJ9NmH z`&sQ=7vB6vvwnR>S|AG102a>{bzAO9+%a?uol{$%N9xKB7x|OR4lvN?_~uNMm?f?8 zG>!*MFG{&e&4C5S7Cs84saJR_nfRi6An~Ez*;7Cz%l>ZYID5E!0U&jPG~39vVFH0p-hYUCF+ zmtzEcKa*Y5=jix-=VIXeo=_Qsaaux!a^T=5b6v+XbWj?2rv$4(SBD55r1H*piI*vO z#?hWVErZJ%rvb({?ytAOAwnkjJgV#*dGv(ErbDYZ{QU<>;diqgC#zMQVK#SU)aM1A zS3YvHOhJz}Q}umQcO1XQe~4KVTPlZA;n*1Z@JYI6UMkxskr?Ehapd$Yx4(l+gwKAz zNpxgibEF{O=Iil<%;%XB?9a7QDy6yBRW7_gtrt2@wOSvVb%~H1+#q~hoXVW70)}_g z^>aw%$7ND%Pjku($M;6q3bCa)M66_8-)wZErBYoM@XVm98V%PMiAvbwzaKUYk`|pz zyk6C^f&Qv8v1DGCBu`O(6jV3dLGKiqh4Mtm+JIhvxDkD$ASN>vyTjqj->=-hChr|SRdS?&u;X)NqpviL$k}K+r)Yz%iNoDN|7F!Zkx!=ydpkuctz&W1 zC-vLdy(RiN8>;yUpKEV27e}|WI&wFS_HrXBC`LT)VB3$(6FYERS;8gDlGT5bN?2=_ zFG{QWxz1*haCltGqI2d^`AF?L*ky#ePIE`~aqH^62rf^rpI}hM^kJt{EZ%vq`yv}d zk5fkj+q{+o^Y+f;-58ut(Vz8y)#IKKDplj?N!DgLj)$)Y>Kr1}wMEH#5Z8C0s|8?81S%=xhnhpQ(jd0l1s z6JG_HZXz0i-L_RCTrhqJwV|4m@GjDOioAj7>p@jZh0-pZ?_GA)UZhvO5UIavFj~8s z_u@gZ)W|mDu1?>({MsnbR+$3dLtp8qqPs>7xKExRYAN3;y2Ack>N{;~P66fRN6|&+ z*_hpkWolM7PcW})@);Lq@hTbX)6w> zAz#jx`HZ|$c2?VfQMDe59NnB1G)6@Na`q1Td7CWeys2cBl8f!vZLjGrQam(#1??vVBA2@MuiYCQj za3#5%iH_x59X_`(TdPuDFX!;S&%&4V98&_ij>X*vUzvEMQY*F0mW2$%2-OdsON3>l z&ZJ&!dRdi*XM%0nsPM_H*&b3KJR5zt&_LtwI}J2KN|#iTQNzxfq$Mbez(Z*K7>1GT z+ieP4PMwA0Xco8@-?BLUy zM%d4nhEkTL((zBN^T=G9lJX)Ki4*y-PQSyct8Z@MEE_G8U+Me$886q$$fIx6jkM&2 zObMH<(M`N3@r2`7lAjoN$kZ#MfS!w4@UCiBww zQzG^CX?=Oc`V#teHk-?pUgb_=E+l$>pDqpIx7EPlJoyi5Y zL-NhRJ;7B#H&M!96f7-@@Iin@92HZw{4fA!pB0jKmgnKp?Qrf-J6;pn?Ph$DjKMm! z8aKG8(I3AYvdB{D+p4Kk`Xr<*iN5spI(8k^pPnd&F1qS469>6#20ziQs`yTdU-!%t zY*31;)6oyv7r>NUnm^)y00;q&IXM|*z~Sg8t*eleP;T_r3q^> zQ!qy0-Klp=w%SN$E!m)6q>bBg^r(Ewodu@Px?7Y9dz6_kBA&37MXhwRkdW55Go?I9 z|3=eP`iv@n{MyhGf2k15g(nVQ=@W~C9lnKZtLjm?>3qY5__$M{87*JD=w-AuO=msK zx_?3MJ-^#jO!-4e8$yL^4)2y1c@|F`KIM`06yGT648Wig%aPT`4!V^$Fb?y7?L2To z7y;h8`K!naA$VPgnl*F{(oluWB5&CB0iS-=6FFFa znINU3v6{V7U?en8eRp^zj;|1u+S}?1C26|lLzlqC84MAI^TzFYIrm|vA>wLP0t(b^ zEjf%kU}aFJ+>4l6!I4*7e_!Wf?-joQ$8nN^`hEeO;+=>}6W5ok5^*W3N&L@N41YKn zSZ?=!|G1YCcI|#NxUb-86)|JXR6;X=sQmz=CScW?Ja+6DRurPT5(jm%|B|gRY%bN< zzih5-lh*6#*t&Ltdev+bJQ41MDkWop0)67?)fyE^(y<0%>w2>8ZUd4V%`MiF-;dt@ zH1UZxL~Fz>-zafs+w!czo=vO>%$VYX;l=Ad^3GJtBINxrn&atjO&2H<{w(KybZuG% z^wz{pXG<=nj~#UO&ncgYyrBBi+u-(Jy$zU8xvMP`-hFRxu3D*(CMod4*a*xRU6>)v`Lje9b*}r$F=;2GT!`8b@*I#}Z%5db_U#!=N|}8BsFs9Y6^SkU?94 z2o>2ePEPHFUM%WzxN)tNvGC0q|E97+dOOggLV+6G9s{lSij&idm=f=*wUlrC7Y1}IlDHF25JH1Q{vO=dUuB9EAo4t;dB$^`=NUs$T(duPN}cHvRO?~MP&Z>cF-cP=6(8X&nW6nJm*dA5wgD|jvp ze++bsG>BmbA`1SSspa91D4jpTJfTN(cH2ge(tAsv;kxUT@35%P=dxuR?_z%fX}AC8 zKmQA>=fENJA1=l$g}7wq{cDlzA1oT=g&tOm%8&4sFBJzxF{ao!7*F{Jt5*)#uGQX?OMke%o9s?VX}VPOxGK51OU88h{t z7)5{cqx?_&(+8bQ6a<0ro;mLy&`WglpwS0u?ZLr=vm=1umB5+Xs z*_HggZ2!kEqIBP#9d=fO-N4v^U|Qex;)y5K~SQ=^(d)bf$%I zzHATDFJNg(p@q+PA|?i;Lkq{&2h7t8kuKJGhc6y;&`Prdy1mt{ET}{uIS$GDkvT7j z&3%7 z-$r4Ii2nNsEuNhYgY_+NGf(%)Cx>zGmm&gWU~Jt8W)VA70B!o1(3eD~tgxrXsEI;H zwT7c;nkl?tb!al^JUqhzcO3NOG#>qRTg1A+%MWP{&cV=RyWy>#{7=uXl7(U8DHtJc zIACjYhg#C_+PGsmSlw{pTm#d8h4pGS*LEo5@@b85gaY`-L$91A=C#nwH|v(Z4^!L< zO*`YdN2Qt&gM#z+L}O$QUxX1u1wMB6XBP;?kcON+_0<4bVQZLzfH(-VW?b8WT3(>u zuF?yWXaD#oXih{_&GV}2x<87}pRI*S2O&eg?%O|I#ct9GzjGkBa(sC3;u`q2QBl#81%_G zlh=12J%E0!CT4nrS%QmB{I|GT9~~Y*5pcIJ-N>=7!m5o|_tM z`Z>?VpX7|a#YXk4W@%tXhuO&LptxFMYn&ctrL?$E7{ONAZKb#mH^GqT8Rp>@(y&_= zQnYyweNwe$1mvg-ac}L6`-U{gNLCmNB~IQb%}7qoz+La`r-Toz&Ha%kKw~>5TV9DG zaR}Mwh^q~Q>*R%(*)0Ohob5acIc{6mUToERqjwICR6qU5qnXtBR{CM&G?9OL*eSex z|M|g%r-S)UA}w#bEjx8+p<^sf)-#W-lA@r8@J*2(gG_}AduDF(AofvIth*5;nmhSM zvWWdVVuWye7f*Zm8yxrF^J;ukGxU3IC-S|$GT7ys@GN#FDO4^nvCrn)^Q-m|&$Dc& zZX(0VD~UPH(#F7RKRv;)RpxXGe-=U*TYaT>dG~a2clt;@5cn?-PZQy&TsGVZqC5=$cqj&Qz)#X* z6-M6)x;*>Lq<$okICS_VT6e5xQ9|h5E`_TSLoj>Y{$dbKS&dY#?hCb;Y?T#4&pAjs zZ+u6LOh2mA8851*T6ZNV#JG1B-=AOTbx8w<(aCm-*`U4YR*0n^U8k^uqxV+gzgFfs ziOxjxT51#oJUzjov5y$1-Y785OIP?3HP3EP9gR+za&a6?W_~bkARrJO*8EV_!>Ynl zjQS?eUbwSj50<;_-+m<3Fn#$x{;ieg=Xd)Jmphv^un9$!t|)x1YO?UjPe${#Vv6b- zu*LZdz6kuwuDxc-pKGyI1|mJ~4_;Ms43SWLfWa*HRodwLcC13;!;i#3>hwM|;jfi3 zels!kmcDt241HqGdvv05mTEbJqx5Z3ql~O68!rfkf$y@hB!wfUcDD(*Gt?K4^9_Rs z5hcpw`ZeaAp*rF_kGcnu7fNjJpEPjAeQ}U(fm`z$S|oRr?ehU>N=lfgZ9Kz9U1)*P zvG@#pi$YPgyXX^N#|BWm8#oL;$B2AN`9b*^=I)V&T#Ch!*F;CC^_!;7|VMABp zNNrLMLDuQwq{4qk*MntZl5&6`nEurNE1H&|phQ!<@AKLJUhn=nZJ z{(Od5h0~OXeb+Zx_hrczcdnEnWM4IAm@9SDq4^E-dc^l%#+`h(_-)j22)U0vEKM)` zS}lr{i$4tvu&Hl7ptLk6Ob*vZ?afIFwAT|6@&uLA%S}s5@UkGA9Ql(}?B_n~os+7a zVrGxRTi$qL+=;RlR>xp&=4xy_qF4R=0`jH)piOe1xLx!yfaQ&l*YZ5o1Ru=N7l z8F(34f7=~8*9HfwlZ**bCAYwnLlc|hLEaf1LfIuk*ed7hso=)%-C1^NXZZWuN1h?% z*Y^htslIl(WFDk2JH&Z^eQm9;`MnU+fM;9~9Qlv5WH=3;G}SD|Dwb5Xq^j7k#B&H| zq4Bs*A}<^@;R4w9NNa|~UlyVK?Z3bEwaWuNtRK@9lp`?MT?f&lj896v>0ivbJ1Q9_ z;#TH&UQlIgZFcY`9b7MBtoPPSjUNmh9((63 z)H=9i&YyCh1cnX}ZqCh8rP!M2+o9`KpHQTeghj`R`9d0Yx-7DH&YGkJ_am=+Y(SmK z8WYy6414D_DGY8Bc`#54R?jx}=2AL)b$+OH>=CKe?WYN`v)c|))>ZP`pXN^Kz5h(? zkniFZd|#bA7qI`cX-YL^Y$U-<7hzI|hZY80|EM`@@Br%i9a2n|jL7xxcB*~A>>`mD z5F9HW-c3u$h#e$*fEC;vp=&uPiywqW-nyK-5w^Fr;F~cbPB1igq|(=b6+ZjVSq4vV zGD@H2UduLW zB+uTAE1jO!>}H=5K^UYQ4i*xlU;JE zLzrh}cP#y_Z0a6@pzr8Af-q#eO8$si|JIJb%^fw8tp@Ih1U2c|8Uu@pjb)YARjrSO zsZ%zddFOAt|8X!vD1x4)_%#F`;m7+@@|^1nR&qYRti>$ncM|1XpF^Yha$ijIo}pXR z28C5;-GOsuU*MU%PsUhp8eA;rsq?x$j!F?%rT`$A-i&zE!}7Po(4}ahPZEcI(b~|L ztG5Alt_^C@|I60U#FbwCXz@ySH++dvOs)QLvP>!lGiw(b z@B;q*cv;~f9ioE7`ge`iuZCd1!<_ANANUJ4T`%9mK!yrXn83EOIrds_6_pD;(tex7 zi*suy4^ya_;KiX)Mr{pbv%g?1SBE*+7h(3>!9nqFz4BW^?`4vaP}4ESCj*1IuflZY z|M=X;I2#V%R%GgDRQXH5MAEcB!Yep(fCc7=yc0ahJ&#}GFmhu2jN0y^F@QR31nK-g zEnJElw}Fzl_l{7nngeEI2YfmA$yt}X;s4E1C~|Kc8)d230-yXF*2Rz0mPnTMYcxGv zqga%)g?K1xyJo{^y}K}2djzB9L-RUb_`k9Kh~%d_rV(hscC#57Y>Z6&LnQ>i$KroD z0sr~qz>|x_{5%MTTS%b_3z@t(VDTBVZ@i%=?ZL^t^Za1kW&}*MJ-enLGJM9~D2n%_ zv~i|t0LoulRPx|(E z!Q!aH`I*j1U#q}i212aIB)KL(rk2yx`&eKVk2Q%XAQIy`SbWkwS3b{(tKBt()9uIU zP755Ho0ac+Vb{wmsl8i=XEI z_Uy!<@ersG8Ev3>-;iV4`7NuF)x0J*&2m5hM`b!Tm0`hhN5wXP4||dw4U$sK<$s-& z!W(}3Ji`V#pmg`QdY{#;m#tq?2j|^{P)@t)t_3wX*NwjSW#VK4Z@4Z=Ir*L2{vPM; zwl|XnbGO65Y$ZQ(2kOn|_{=JG&nU%XiAevP0=E{aPAPds2~epeBVq@qS_ZIRE=O&$4jei)%0v*!6BE&sK3nAi zg>_y)iM8OKop~g+lZ{~bOuJvKL!_BWb{H`;Z(bkj=?|e}d5Ds67UQR{2B;D(#?iv=JjYQE zOpk!5AKt6|7@?$Qs(Q4nvI!KiR35_mZv%;@2%0o7$=5j^x|>c6gFVt1KzXMuqhNt9 zC=gQ*5mCkrT=n<&SC6I{Dl?TKkLO>gIP$T`{}5hT;-dVg@~Dj1htF6wk}uz2C#5}W zWu}Br)^RmlX@MQB!>V|e4xqXe2kxXHCk7_msVx>Jio}dqeJQ($M^d>J%IPgmyD7p} z+x!V@qnA*D{AGmbaG8rany6Z$&wG~R5c)D92l=5(z{Knux{MoF9 zU+%uXL+}U(J*{XuX(7bRcK1~)jQ)%{v)b{5l+Gqs%;ByLdMP!9=aMFGCI?u$GkX(Qg;s*oooU0>4J>SVTk%!3aLQ6? zA5Qv(emo;0WI^xXNB`O<)-oyKE!SPw-I+o0VGY@wH!6`ao?{|;(MKAm*$-S9Uw{Gj zl>3#5RX>IHnNv3hXVuLEK6teriasoS#Q7MB%P}+#YK_{rJtXIhcLPPW5;C5qE8sQ> zVfHGw=PIwr4@VR=IZ=4D;gEHz&IYFC>s!c@#R0ahSghwNptN>@Bjj#K$vd zKSHy_Gh3xQy0k_&XlR?ncvw_P9PvTx8B zZL?E>>xn#i%deAsUD0?ssp%A#4!`OG@fWTN6Zcm4S(7(I(i{@y6Lar2LNjrl!?k&V z5$#PPjDR8yQljMj?Yh+**;l3&68H=xOdeyA3k$tA)$6&~pJgPoaZ*_3)rIH7JL7zM z!NzgkVPZGUYkW;Vu2gT_K3c^3RG4bHQFo6sMcyq9Ci|Q@-K)kidpuUApr#RllJAt_ zXit2DKzU*|dA~i3DIdfhYVm33-$t}NY?tem#6-vP+5eQ4cElhL3Iz$SYfT)>Nr7nE zaDLhJ={@!~e?Pg!BtUv4U-S!xZnOL)bJ8NKMgZ&SL1J+=r|0STmG~PGy39#D2Gw`4 zn6dT}l_$U!S3>dihM957?ZGVu0#ejc6s0(InCz&uIGe%n^_w2f)8?1DpN;n8we8~@ zp{B)P9fn-VSkgO;_NKMHXPDg0O9m3NglsyW@Kcy?a*T?Z#8#OYDz)a^wy%-i39-&; zU34|u7D%Qp!1CG45m_YWy8GZW-`!f5rm~)R-f@@J(T?ex{_Dyv-NM2juWaMb zr>`mRHmBgNwukXIH>oA6#!snsB!^|<0?y$4TE=8%aDzn~4Wr-&I+7Sp35rC|1vU;5 z8mFMEs<4uBsc0n>Zf@*tFIp*l1xKWBQgA9in)Smcr4x8CR!yjjMVQguPh`r+Wl-JJ z(zbftmL(Yc!ZMA!<8~wO52-r=KHC|meB7@2Wpe}{U-RW&rFLQw&ts>|lvO|4hi2+O z9?V}f?=?@M_(G55wIv%ZY|s2Vjy}0>j6@!VKXMkYpLwyfptT`milKj+hFX1*>-2+= zLzNB17f5C|d0k0YgE=uat|OU`_&;Vozg%VGLdqoDp{bNW7z3b- z+{m5bQNdmaLMj;@=YOhX{)D_X?1vWA)#~~2mB@51 z`Ng2;8DR$KYTQ|<0_ci?8CeDx%tpI3DmDHYH|yUH2@cm-m%7@VLyHte9!KW4$2m}0 zVIr~!_9>prl4^;Ey~R;z;}`Iot|rzV4}g;78U(+ClK%~o0psrMr2CQB-NwYk&canI zSkMEb3*q)w@dd>$QG^i>S@1isR(x?nH?9SK4GtuK{q@btHq1iADuLw2MPyjjAv8H? ztC^ChTb+hKzWvufULi*Ou#3H((?1r1bTf?qo^fnUshVHTAde3Xt6HpUd>WQUw0?`u+(J{pSMzkG?2?LkMu8ublm( z-^suYwToK^z?c8B3ji}8p@CW*y#m|zUn1g%JTAl1S)_-K>;VG%(>3;QsE+8HHi!c| zQqT=Oz^?#<_)BH@FJPAc@YDW#xcC2`X!SpToFC{5BVLHY+kltB%pnqXEV^Y{POH=j(lDN)mb;x!`-;7B`jtNItT zHuI(H4dC~}3}Zx|f3_c#yMAd^iI~&yn)fUMh9bZy%v-7d^1;)n48TkA^ zS{y%j$Nhp@Mny@ggYw`|>4V2j%qN80-bVW{D#mr~TD+UxtMb7!TKZOB*lj&1(n6Z| zZot|E!TfSXsGOd?0`!$dY=?4z^>9sR@dd3lB)*Qk=zi@y^lPor9xK6OmY5wrHC*nd zdPie2oL%p7?@>anwpD0xdmmnz>17jgg(|f7R9#J6+Pz4$5P{rb67ijMl~s>hN_qz0 zN25=DPB*#_WuT-oT|YQ^GE+9&^<=^fTq{-h`|bn(#C8*E%R|6m zn)98YwRB0_6JGg{J8!hyc`vNl*xW>skk=LO*3MQWxl^w?a#k*l35v{(MwAD(J|*T- zc__#o;!g}f+d};d_r3X9Xd#US2+lp@FsQkre4LLQoUM*wT19T82T9} zzrFwHqMV6K$wK8xC>SY-*>8!KFbwqelOTm))TIXv8G0WpM{}o@1V2wVe{bujU{+1T zGD$|~`xaxluu51~v)`^x0IjaPb2fF9dc`E^H5Z}Fd0Wz_MHVSgWg~dyU;rRzAzXiK zIys$Swio&zmD3g$U3Z2`91(YQ-xjs@e$MVeFhWHJ#l7gfF39p4|Lr-z*h#|@TS=`; zD1jsIR_#ZyItaF@Mi7OUfN!SCt^-30&?^G~EvHJNw?b;225>u5^sd*NHCY zsII8gbLbW(v3&!9x!?9U~$lQkHz^M!8Q#H5aBi0&M)JNM`9JrYT;`Rq`8Q=*V z+Yj9f?Q6QbOd^zawk4pwFXs$NveiHwnWD(pJK2%V_E9tQot)NzS7e=>&532<{a1_J zpal0?(}-@V1A;-ol;lRzB8f2U)J2cdM|PJ%$2M*Ro(su3DITi?EZoNF7HzZ`Q;l7bYIuj&r*w0^maY* zWdwQ@xZ);wZ4p?d9D&0H=2s-Yw2`X0To6BsPc0BytMBKJqp~6ibE8N#OF4Mad<(-A zNIT<(Xl9x-_on>aO0-iI15G2G6fLa^#NP_+6H$u0yx>i3T~QwGWSO%b=-dl0$d%{i zjk7dJ-c8R}K8ax#-=t*A5iu^gO+qN$)mqZKr}~t(p$7wRpsb9KBT@7nN8*MaZ*Ke5 zq^7vd9^Pq7DLcCAH@iMh1?hU@0=u{Hhu(8| z#(=kWx*69@DSk1P&@*fmk5Gg=Z(|}ZT*j_xKo#8brlRM}{RVgeHAHo)$KGA*LOsn5 zNi-uuE@xkIAjMX1-+MOnEz^$v7P_BPrEl2kn=UZ^nn#s@PunYg= zY5cCma=9k$H<_r-a5d%XT+(UQB2VQ&3mvFkP7r2dAZ~BUNvv&-i+x;UQFZR#rxMKDA%mP$%bLV%QaS0lR2oXy8^z!5T^P_?19eN9S?dzUkt$N{e&4?8z@D)2{ zTUzz`W9VBgs>3IyiD|=S7zqPgn7hA3Te2>AM~k;B@4@;I+h$M6&-! zE)%Nu93SI1aKQASBhpgi%j`C0>QM|c-sdza3D;sS`>IbW4@anDNxp+Aze9E5TT1M0 z{d7)8(uB9ncq0|w)OM*@x2(1by}(Q7Vl@k`RgpcvsEW_tHH;ymkzdwZUci3Ki-bj0 zb2*-ivB{V~p}Q<`Lx04l)haWyeapfNf7T$k?(MF^&|N)I@8j8wG9R@9`!SeF9_z*I z-Xs_=?TNX-&6;hxy+x!_D!1L1(DIH*w(tbwz!^)K~;Xz%<^TX72&l69~RZ*J0Dcv;GZjH8=s;bmD^+x6-} zL+6P=LJFob4s{u^2Q@2eg7!}PIRm`%`d(74Qd1SpWmT3t3I1eUV_RlcBgr$|BVGea zA}#t`$u7RV_``v%zCPrE^X3u8oe_7J>w+>93HU86a)dkA3lav>M=tep#d*^v$4~>UqUVog_nI>(_rbt0mL`^-dqgD=mP34|+UA7PYDae32 zo0-&n={uvJS%wfi7fyHvm+iG#6_uF^Q2c*%@{9-#UnM3_U3Zy(5RFB|UU6<|#14dH z2giTkOpR8nWMDLa(@PyPZ1q5zqWjQXc0oPs-BiI#Jql6o@1An+fr%FcXGH_>QH`cL z-gDmhQc=XO4oq@2Bd*QcO7WIhFaazGXtGy(QZ-HRZpxAFUYJsu;fm+~(FV-35;j+E zaC}REFA_La*fhRuU_N2;awUlvcnrq3^-g-!K>p&tNfW%)!iMep;_{mk38dH-Lr}7N zcOJk@8>CNjI;z?}jMGS(!9A2=29r7Nb*~{B#Mf6$hFZ|w8MkcI9j%mZBu(%9^6==% zZ@`Lq`yGAh>S? zvH#NPbEiIxuWCEq0HprQ9umpKVE5s?*{GWrUOm!x!HWOj8a8vR-AMljkgO6)s9@!o zfEsYn1w@G`pFI?1xhs*}$zvB<{Q}K`R2$XD<9&3w^T&bq3fexVjB}6tfxuCvSdOjt zUO0lA*6FK7asLJT+nOQP_RV(|Qs-BWqs`K^72mfmgzUA{$vG)fNFc@%sV39#^y315 zTeb-TR^^az!!ZXc+)`MpGu_TA zMXo`+xp>{Y>fmx=YUFTxhaf4MpDw9%pJ+wEq0#yP#Y@acH?6BtYbFqu2Ip01;)Z-N ze(=@8Jf!VhH9+OZaoV1eX1k|Ot--*Fv7P1CGj1Gp=Q>q~-N-nGdb8#SqgpLz8(Ok4 z7P(xXK9kU2@J2o`-EV-(uUCDHeM7+rc$j+DfL`C=5PYwKQKpO0J$+9-upf27hRkbs z;es#a^iBB?&6UFrb{@*7UEBEQYyJ)~6+wDd=tVKsZ15-Zc7k z9XL{*f=>%{enpB6+{wRpYzxr&22Yx37JH2|JVKxw4_>?s zpy&0Cif%mg#_E3xG8QWpx^J|xtzPCq_mfYP%kczt=XkrHy zH*G;b@(Wt-s~o6ZlN07XyZNant@&#k;ur-$&>JK8g~lU+OiHidD_3$)VXK(klX}pF z`T~}23#hyCaK=Qv>ZMth+#eff2iZ9C2rC5z{rvjP9^x*zWEMWuzki}}&DqL)q6_nN z3Gj(lna(F`E^@zw_)%_j!>(wHx2B>!DW7YXOfSRUm}v zy!ULey@)Iu^j~`D>N09!g6o3;x%jQKF^>rv5ivo7`{5(uCt8pPNlUEZfcJbtykh-i zOr?7Z1vcun9n+5W<%O~^kN+^YE(7wZr&j(7_hrAz;53<&;54Y=t|fUo#yb<+XtX#Y z(f~Btw{cbYs4u9mKudxlTJg$#p73(s-IpI)kOx*hW-Jl-d{J`+3s09BdERztTm6+g z_nxDm@LqaIcFR`IYu?SBKQ2~N`tB?sicE)x*}QxkKGU+IHn$AC>ItB3e*A zcags}%1JyG^(0K@Ee2LJ6i0k#y|YubM|EzVfcF^eKL4~CKe$*%D{tbSreKKhmr=sQ zHR-yWZ}=kR5D?4lZ<~etn28sDu9>7(CK7|pKgmcR@Y_D4TeME(+0O<%Ui%?1Oa-v9 zgQ=r_mLi3QE6Egmukd7S*;!L2#We3$qn6J!wjgSmexXGz)5s994#tCJDta0gosIjn z8t|x@3oP@d#_LCN=cy72RC20*{L>HeuYNyhy$2rr)50~^qERdM5Sk;jR_Z;IG@(6h z^~sBv+5bZ~u1XiR)PMS>zeZ#%CE|(D)60|4!!$pw<~`nfcbdajvp$}NdG@Vj%>~MR zJ$Ncz3C|1kk3hmA+xqw3OLaxvClzK{!^ z%4srTF=4kgsSon!EO+!)ms^Wobap{ zY8PNPg?Z^Ak)`pSqEd$nQ)Y0Eg6?GU36TwZp|^f9r?sL)l?!Trqe?S8832n*W=`tHb#?;0E&2?h+1(<9PqWl z?03VJQYp!h2HhOFWjMq}PE%BD%(~OGR|ilcX)4n%uOp+WMR9mOvgpl zWu6Y4sYuZljcYUfch^Y4Xy+n*O1uJ=LT$vSLg%?u*!O;Qji{BJ6nY*ar4qVxIX06r zC+@>sBv?aGy?Y!IQ+v@DllryT$ma?Z`yP-s)1c`l_p*O0Mt6#w9)T*(j?3BI%+)W4R<0zu*AB5Xx zW3OPqnsnCscJFM?x`+gUNQ>2M(crP0#$4G10W?tbY_?2wUksJzhsAqj$4li}eC%1iS;P}utPPSjQ zHMi{fzFeu!#AGA8(KTW8d8_st49YrblAWTtf6Y*2Zo@Ro>hnpPPmAPddgV9MuM#w7 z8JT};AO1`*z|9PJRr;$8eLV55emZ;Lr?`7FB1bG5E-HaM@#M*~A7O+C8Zcc|9j`nA z$nJ~4QL%mAcjgosW9y~;JNZWqN1NSl^@@8EGiQ&j?H5p=m2div&!uU&JR|e=sI`f< zZQ;&@8*36{%J@SriJ?+(Ty2;4`%c@p0*0_RcU9hL>v#UFWYd`nJGqF1-Q+Ojz| zo8HZ-XlI0QnOcuFQ8=<0b_hk`j_=dTwPq1s4kFD#kOpYp>_b8<109O;o)-G@$q7_e zOwkqz$;W-VS)enHTq{!t@`@kZ>t(ymS!?p=hmRZsa^{R-;H6_nE9=tVl1=L8l5Z~H ze3fSuSzRe@zx%np+9JJpZo(t9gH20wY~#!GH^<2~#O3tH>go4s3?!q;HswXuxi_~& zvK+*m?(t11#>pS| z=nwbEM`I}niO3VU$7=578dA+~g%dpu0fKA(u3LRCX-mO(k2%Y<)BLN&3mQ!p)tK=k z5eHrc9c-#pg~OivS^T?u3j@RW!H~z=_6Y__nxx5Zk`pT5JYl= z3%{g+w)iUNBA8Q1E2Z@mWo}{LhAyBRS!U`TA@ffN@oxEoP|+xK|7H%IBE;x|xR-RK zW+?-S4j1tH(YSyYSqF>mOVTH7l_d8C0^p)StS7u2hOYih8dX|7yv1lonMrx#T5EkIMS48-}Y!qY9>yEveE}s17a9n`HX+C?{YT~iB9Ie$rZwqdBV=U@rCucK5ng7Zh>Jb#pOen=^Y&gp3eo0*cAIpy5N?_Q!8H#3kEsw2L2 zZK=;dzRvBFYwFH)$o+P91g3p&zuMbuZmv{G?=`|=g<+p*8UD_}XgYcczbWNjS zmw;F4ZlmOe4KIE4(v!S{3-&GZS)L^-8aKF=uNj{GPq+)SAMLO4P9LFFWFr0O81SptY5lt^*q1SUY3#L z%0}x{ybEI}M~5nF`ABSAoQ9gu_Kd-$UHi=hq4k}QU#Z1fg||z-XKsI88r*iJgYnYZ zXS-`p@8^7SX=Q;X&Bsc0wjg;@!V~;v8OF^{n_sLRH{|b+G23)V)z&|w^rR|Rfn+$x zmwQ(9jTXAIu0@(w|Lt?BNW||g;E@*e02(=7))jI=R3#nvOC@cKqhj3jnktAsnka8$ z;bVD-K_GvreocLtqKWkU&|p3Oa3ubK(n;pKZjtI8GrJEOqF)UYo}gME-hTpPvFbq} zhx3^#oM*e_&S9;{Ox$$wQ*O%wDQ>P!nV0L`| zUI*i41S-Xx`>rI367DGXv=m>bfqbnhrQJjq+5Sc~zXYCPui)|NiRX{inPyZVwfBpezt-Myft9{#VN2fk%2>fx ziJJ3Ph5MI~M?FVHW`wSh?S4-G$dK%fkAG8m(}%I+?bTNJe?x3Dz2ywUTN7dU<=o$% z)DA$OuqS~XCYy#+AWw%Eb9Sf;iBrr%8Mx?m8!TckFf)yifBD9*!7e3Zq|YxXBCUMs z(>-&e+Vk7Kdt34yaVLlOX05I3j|;c4g-^Zs7NpEyDXl`2cpMG;2_8~JJLoo+p}tIT zqzTT5$qoVK)2c5gkzgwO3ve=(oiRdmQxndUfrpWjNc?mVN9~hkI(7k2Mj^QdsH`fb zTihcO$n@T0s@+xe3ch%19hCX^?H!O-9Ru3I5sM-FV2_G%J{gkj zV}Pg&YUlr2C1Z}s9H9J_0AyrPC>{tB-dsUd3<^xR;s+H2?-P%8fH8*RpPaVGMn0n9 z=3h@lL<;a5lCpa_;Z0v;WfoF$@Y|u$r-QVrRQh=2)E(q?VE%$wAgVmAhY_f!xP0#{ zU^Pc+k*wxu_1xK42=LRAhjrD55`I|h^9;c?Fz5Sb{ z>Rw9Jr!kCt@uYFCHcFq^i1T6yL?`!4sf=_8exLer6Bt=i{_NQ&AX1}vm;Ymb@((gp zeiivS8?Ql1(^jz!`+uWpv~@aq~R=FPm^ zm^4|2DBR5T@d(-~s0yZ^X9~_C@uyfQ@26VwSBU%KFhYuC-yYB6mNXo!~Br7L;KQmrH;kt_Scb0qsHB7c`3p-7Zydu%xUePc3 z{f!%F&`ZHTTdb&tf*s?pfBA+FXs+ti8?N&x=B&qWOXZi=$D22(^N7Jd{@@9&M^@A` zL)$35L(D_~(k4c2wBJtG|2=yh6|X816s|Tj1UFJGgEU1ZU8mG=W8rI-{j5gec(}PC zj8jo?bgr$Tv$D>fzc~Tz-7#>i3aNfd*a+i=&+>AC@Wgi<<{(n74?Rd10!uDb6$sO_ zzjZ0f2UChaQtC@p%e-s_rdR5@X2DowLTX?VMg!g~Cf?0R&lGG<5--MCgMSGT;tWwI zH_ASE`1m=BX@hLbPX!8VLl3N>Dvf_uRl1M zzjQxfm0Qx?Lf}*Ldl$LEh`U5wwDvoY(vZelOx=RNwKMfum96!8Hd0=TXA#zA{3VoW zN1JNmUg^FyV6}rW3cA7YlsT~j)1>|2^l@FuJ#mPDMdPe5rIQvpJ@F+cTfSoOV^Iva zwANQ=2SW^(-jeS!I9c0|H-%Ai88>0$Gv$cDEQ4U(y`_-YO5YQLyb-?YM~+boj!3DBm0~POJMD$hT zM~rvZ=j1s7P!V{22elVIm(U2W04ZhJR8t`Ip~a4!BB42Q4C@J@#I}=oxznoIRDX6n z7AfxqAy6*lcBbB+ABvg8EA!cXn=N)AxeB}Vz+Ua93w1Kbr2j7E<8!!qiJ3`v-d*+$ zlZ)k21azFPGfplDY;oSYh|Y(xZzm^U@{j=bJieI_$eBp4LO z+At|<`3>tEYSvoZ!RyAyV8%ZTax^v}vL{&D#=5g{^3i1dVWS^XUQMbkT)eKzE>69o z{9qSGT6z{CTAw<}^{W9wv6Yf8w#jLVgS`TePM;sh1*K*}fQBGAdOc7wNnP5=y!GgM z7vH5c7tY;oBHNQ>PkjTbMdlIdxPy?xrvw>;z!2|%`5l8T1O2BVVJ@qu$VyL)b`r^z zeDDiyyW+AMIxfX;7P+Nkc|?K1xqGxmC(vh2z#xe5EH zI;MskQ5>36{Xy;w`=)%iea3Q~g2`;#i7KbxV%B215;+~nJT@fM7h{=KuAttYemkQH zH@v-X+O;V|hg63PNIb-?-*~E1#Jth>I)3knrG;O{60l7rDxVB7%=qWv+-NEkvy_c+ zT2A5H*^1|zEvlaBG8l*(x)njX0z@7W$+{cSk`X;d1MPjbPq)MKa?L;QXXYU#aRT45DQ=BP<@UZ^XCHTf(zj?Til4|f-pIj7r&;{Yi2V&6Xo7Ose%_jhl9U*wf@w2K&b*ioM0rh3Vrc1}(( zoDGa^p0H}@u9{Rh>*UA_+^gG3#5OR-4O<&c&n2pE94sA{suXYE_CL4W;3xa!ciHU24Mw>r^?3qj>2xxWh_k*)6C2%dI4z zwT)`rFKw=RXD^AZpxGG>)Ii_kkAjKiC2iSP6Vkt$52#W~NSrcyYiWLAYsjKonCa8) zVWpfW`KI5KfzLRau3@s1{l;kE40Q>ks-~WVOSj4{k832R!3N3mtKPBGA}q=I#ICCi zgDxeL`V#cjh;8bB=}FN~=1B5{g^{g-?CHEl$R6?C%BE*+22KX&P$WJK=AwWnL$=A$ zvnI_L#M6qUrh{>F4zmA?w?7ZZa*f`H@kl$;fJj2-DTOi>LS-l!GiS<}SqPaaGLv~q zM5fI16e1$C%=1j<%ro!0AMJMS-S6}JzMuCvzJKgv|FO5{dG71Ju4}DzuJb(C=kySF zyu}m`;rW!uib)^e8qGxG3bZ$^Cceqk(0QEX=h2FZo$yBAziP9J%uCAjlbpiU{RD^k z#}<(`sWxp6=W(lps;kct2#-cnM5*9Sz1>SWrz3h(DC}#PckS6Jqqz&E7aV*HdlftX zd5ulxw+ix&kealZ{Uek~G58p(8op_)m?%~P7nQzEk2`=qxKT|EZLo7cE=6k0m*P_7 zin`+Gbf=VY`e~gfW{taT;w@%xLzVXY#h_h^Us;5hN#$Bt?@VLy{`B0jfl-UkuBS@3 z(hHKE)OAdCOScmj*P8odi2a4?b4@0h_c47GugmSkk9v8;+gN&azID*ov}?$EMivO| z@(u^xn>svt(RoZ%cJ!Q|xeks;_~QRnGxpL6WUmwD9YpdZ=mz(ZEoQx%gzOGoQlm>EmyZYIy2CciOO z8GeGfPNAjvYBFrB<6Ei0@y3KGN_uzuXv-Iq+j6uQ+A@=~-90 z3ZoY{U(KkGb7q;|x1I>)LrUj_mD|uA6R4O73iUE_5g^)yS`SF5-Ssh*6-!lxftdaqo~Y7lSd` z6vYTxEWPg2>Jus9D`lQ^ksL;s&K-$8l*yT3ecNW{Rg(a;a;5ceQ?0{K!3F;CgOkp9 zP)$$29_KV4>>^@BxRBq*_)MJz2@~x=v7(rnZ~k>KGtqnK0A2L-ZAWRwR{IFG_B9`wi$_wmkjs^ zaIE^l8mK1T`?RenQuN>WLnUWk`cXV71R(`#q3SqAt_v?C*FR*G2jE6mS3YDsWojir zF;+nJRe+A$1*zs@{{w)84u`CxbHBAgm~{a-2*4chuHsU|<>nnOuZiP)o6e~Z^I#O1 z-0B{i#_o1Fp-o3Pvg*r|e^~X)%$a8+VhJFQ5=RaXw}S&TR=2?1)Ol?5d8YZuCHWqXs(WaPzw;?#HAf8z)}diO%AOh1~kdr zSqL_Zhu2-H0e{zhxTy+1iXRaGHs2#b*isZJE(Cdx+0pDmVwRSnsu%$7n zfdWHwM1&s2b-RtOq~Hy28a!$Mk^b!s3f^3lczs=pR^rWN(7QFWYc}S`?IC340SB1Z zC}*>=aHZ5{tuAj!=Fn1o8UckKhsmCT=b%1(4uUmwZVE%##Auj7A^cL!JBWx52+T@N zT(hal=C(`Kg!NZzNT@)io2ma8IHT9hCmSSJlP6l$2sDwBJyhAu12O5)X?}C1STfF&xGqQy%|4EQhnLzQ(B6WTI%yt;XXbE}qs%)= z+r0^Ldx2>{XigqGM_`c;nU-Xx^@uAW-k5tq+@9Q3AybC-;)ZkEvRe7WiJ+#PaKxT3QT9oiBGt;JjsRU~cjh>9P7 zT=JkPnNmsNnH_i{Ys@M#S9*!|D57LYzx<5k9hdHELKRxo?cizk-|lVIuE| zIKO%f18;%qd;8m%ew}2FBtm3Etu?w0a<#!do4xIMZq{nQfE>fwX>|Vx3}`8LjM0+XPS* zcn8Qr5e1a5*G2+y?6WSamT#3e7BmeAH`E~|pg)5)L>S2^K^s5?4O!0Y6q?ke^D&gp zCkTpT4D!Cey~)Zd(OzzIf0>igeOrHT8=<}l;>?HkJatwfxI9`Z{D2R*E&8@m_IQN1 z-Yd#BE3{_Cam>WUdK>Fl`b_fI=Qitvi0R_&##Q>P_hDY2EUaf7>q1;pl7MY36X`WC zHMAA1((s+Zp;G}XokW?VQ^E9Y$XsA`&ia?MM`);YsSKxf=R<~pJBG#!3=RHO>DtDs z!CEy!2YaxZHdkwq-RVmr^BHZee$sqn>h-t8DB>R4;AxvH#mCU^=UzAN7w&qtRY_Qe zbGeNB((Vm?m7SM|h2k<54yM4Ctazgsk~N*^D)|hop6psP=0)te%R3?}s5|r3nSGl8id>^FsqU+7Im?jl?f$QTiH- zMinNbl6UWY{^lLS2?~}+ACDmVE&6)Z@XR&~Y!|2;Xt2|_2?xE%S!Z-d89D%}* zBERRM`T`4FoJ&G7kPtj+>|w~G9J4JyN8o!4=##Id+p_*ZR3Ik&`5V5Sy6DyQ@a=Mw zd%txkUdm~thXT{dnKf&Cjb^$WHU|qTy>KzW?O5DGh>+_y@y8)+!UsF`$4-M@;Ryk! z#XWSIKuPF4gdjdAHw!=sP!T7U)K;_f#gvQgAJ*I5SmA7bnJI^BPUiANG-J^wbPsIK& z{ti_)!27BTepa?oA8Zn9bQ7&9c{=Pj%F@5qRSu~+vyrqvB4u;E<<6Ne>Taax_^QgL zFu^W@{_NxKvuH`I%jeWEfH(twKwr18WIHZvoegqAu_^!!WLmEi$$0^cTlr5ATqv!wPFZTc?Yh|NK|6U5JUOIHB`RxHq>8&X%)^-Wjrwm!dmAib4UGMWTxxkMs zh)Ant1pYf0kMpe!ps@MW$|;Y))?1OlfctI-wqCBEy#>@19Rin!s8SW4>wopePNj8L zhYG75#d~JwR{07%_^9a3hn1c}+CRUz9P7J%7!%(gF1TO!?~ejFPefs>-6J|Mkj^JC zP=c4qf390X+`rjjL57HLKdd+(ny#Uwmfxsu+O8)Vw0S7|`@=r}8v8%1sE zy118`bITq`@$jB${B&T3F^s3^@t%APyQcQsk5cmIo$=$|@_tB@YB$9#Uk@@5TDOba ztpeG{Pjlb;L8nycS|1*%sb4j3e#Ib7+nJ{)c*{aLZ(G(V(4rhPH@$LH|J$zx{{oW_ zS%L`vxW{^m^fuo1KDb#10|i-F>#3#CZt1zpipxQUJ=ucmLyn7{J=8Fv-1Ec1-px48 zheKn2d^CI8^OwoCTa58C;LSk&m%BT1M&ipt$(i@M!n0iKVaeCF*rL!_PdgJ&1;C{%&3GjdV=JGGyf!V65RggmM3p0nUr=^tF4@bDIZFw zF`&h4@@vPD<#E&N%4(T*C#Fbq^)4lql;XX{oe2vSn{-a?sc1(X`6p=YYwc|tFKaH^ zed8;Jjx}L0U+L$@*Dtqmc^}+5PTIa^(xr-5R=#nt|1L!$dcFjP zEtR+IuSD~)r`mqPE2f7>$O4xY)y1I2 zE&?zwtQY6fGwcEmWx2uXH>%3wwT@geMJsi(cF<^fTG#e?U)xsx>}QNM^?jYaj`ZbR*{+oG(1B*mxx z?v$|Dng&|}W|?QLHmeHC%975MgT~)$B{n2c>rHCKaY%bNvRT256$dwQBuBRuxTa;DM!&k#2OZzmD z(Rs>qeglM{jc16CQ%Gu{+mR*QFI(I_bQf8oe>JvCcJY`Qk~9Sk|IEjnZT!&n!a$)! zePhoX%d8Tsrmn@0ghAe6QDbYXdEXDDNL_B)bP^{zZ-hG(14m*dyJo?y-ehqn+^~Gl z68Ehi>Aqgk&KsriS9e~1srW=!JJrm44;@WteQ%D5d02$5pzvacyFQyDs`RS;Qfi8#Sd_DXj0FLRFv53t!rb!|qFY#;* zW_+w5Mgp=JE~Zvo!rav+Kaden!2p0mB<@Fa=dZwI!;{kiUC(8Z5AfPAFD=JKI#6^C zJyE33(sF!otI@W5gI zOKm46tEoCo*|W5CPK2&4G@q=Qml<0lb0pln=gfrjaRwee3cCO)hrcsAvq z=Ul)9d(`Oq=&qY2Ut6kG_}HFlReJ~MiwZeipA7p{((|5td8wQ)UgNXK&5?=*fn=K0 zsy;AdLh-%j8@xS2`>J#>qBrL*5NPeM@DWbXrUG1Mi?>xZrmI7y9#8bJ8zBeZMObzX zNwVjlFnf0h;Q=;@N@JZ47oM$szMzlO`?^A^-1@)<)$#0cIn* zizQ{89*X;>hvR27BnYFV8^7$@xb=!}=cG70fYdwHK&c(vUDQC$Ijkmkbs} z{v$|%IeWzA%B+SRZqGyP*qMxxD#txx!uV56A;k`MD+C1CNi&ogHKZF$PtX+iEXY?< z_!62nDKkLQsOy@x|L|3(-nqz*YL&4yd1j6jin=qx0iUWKyzNE%Y0EX+6B5(Qbx*k5w*W{#8@ivxTBO zaD=x1AjyqoD>Q^p`eW+VRG z$;?=iy2+wRlj1FT24fEL2;JuQAy7%6=OxJ%-01uZ0dZP>-wX&4e~5?IJygi5KnX?a zLo-4^v-1itMxnA5=B`>W=Xw22-pO!=K3h!H4oA*&H<^M%4V9;`{vl8K`y~8>m$#o* z7j)G7Hsr8bu07v-3K9E`pN;0Zq=2*WEdWR2G%GVNCgYd6EGPa>Bs>cL9UlJ~U4jMD ztAABb-n|s5K^SRP>XfO^Lh-m{&{3Cg_8$^>K=h9wB6kJcXFuFJbC{z`tbNR9 z_1>GzQM9J!tKku_48{9|@VEIjVdZ_caDf2Me6wTU=e5~Aq}%7x-EF2sIfAk!!I)f ze&*4V5(=%+=gWr44g~jy4*D*IDsSgK@$UhPG=WxT$dJBSEukHsBOq-fU9&ydv8|iU zD5sF%EfQTHu+mkzB{bWet?dOU`yc_IkFrY5LWv_w*j3h;SWuFs_z=3bN=sAcwte@DeXp%r~}| zHjcJ3B9F17&XpY*{dkn`veiJIq~(Cc*^M_eWTlVU?4JU>k zYPI6j{`$(b-t#yU#zY6i_^LeThz?QADMv~m>{+Q>@ls?mk~g%!7C9#^Ymo1r45oXd zKr8Qf5Ix~?*7sc6&JS@I3~ZYFsSb0?l6{)(WP&4iB24BsK-;|{Q0%5{GF}i?NdBmP z0L=O~vaBJn4_YcgahN3haie;2X061#1{`AQM#-9@Xu#AvL3!nciLfpb!=VL$Yqmu| z=vvc0IpXHX?6<$rHDXJ^B=e+babK-HDtS5UlSDwAFPA9O{$%K#XtlkWi(9)>WlW6G zMa-{@Vl4~@ci;1Dw#=)O{;gBGwRLp)?U{Mnd-m6#Z7yXGIoyG%DpLY`gSpe}(*w38 zk_y(%wu2{j5?P-Z!&M_1bxnGICy$P*FLr@E6`wt)YJwF(`m}3)6D1vn@?VZ5fZj-R zD+yr5#}OdV9jbpx=s@N{`%~Z5zjDUSuRV$W+E%V<>s)}o_vihBjXhDA;#!il`Kv1W z?dH;SpkHvtu^g3#1Pza-h#TAAq)zQ*YS*hxP?7Oc&iE~HX7rZ-o!EST#cSDa66)8P z$LS#WOi+R0_BoHYZBPh@F=_sv-A&$^W<&O8pq3F2C@7W_e7YL?!lu+w!g|wRt?po3 z?YK+q-MDJ?#<{@OI6wCp7VaFKXhNQZmDWt(>8UrAkPdyp|57-Xc+BtoJeA|Y67H#; z7=!$8b0N>jU^p2mf!ydG>)t`z@(xfKZke`K&Qqo0GsR=HqoGP->i^-k`R8ud7gA`= zyZ`?23&@nN*|E{_YSJ(%%V;WtyMUeU_u7}N0y4XhS-5|bqDZ?#c5q{HS8sXA&(E;i z4Vh)HzSo@oP{zDM$t9SGfB~vh^y4PvuWlf(mEt$4>7khA7mVoddM^T34&Q?}fYoku zzqObV(K)9oZ9MNk_{e-)qoY#riubP)>edXjy-Ch9uCwV$rJYNoUc}E8Syn1*ye1n< zlz7eSiehs_R=ey2w!d!(i=8-^FraF@H6;IXZ8jC*y0Y8IFfi@1Xli$nJI?CICy$2B zuibJzYXZuFksX!+w~v3=hWUizzuK69{RTqV1}^}vI}<_o)KD`5=BJte+8a-l7xZg| zt}ap*|4UxI9a#I~(z%bM?D`6snR8JU5}f6n^p1+@yMu<%Db?uKc|exC-~7hH8I+w0 zG6zNnOP?eQlNZP;PgHugeXPJj4}tfYiy>Rnfc!!Wysnp@{)x6IdGn#s3fy@{v@LfP z^xD}8mXW5@+l6yX#>-^H#yFlMSun-XE-K;=sZ3ubh zde6SaRnH=!&bY)rCc*JT`n9>7&mu(GqTUc<7@=pI8(=w>k0W=qMvy z*~d=~yZ-%Hg(n!TEgLWyLG>8+m^D6ySUvtJ1KlIkgc=Zh9yN}&aS5h(S4JAAqQk$%PHWGu~CcKK!Z5^oF2)S#=gRS;drAt$DhC~oZV$^1%^ zQF}q1=C=Q|FKWD)-c-^_h=U+~rW=mS46uGBa~=$xMqVIn1#%?_5IxJH(!>xLZysJO zD1U{2%c+3nd^X?r>1~DS+T7M@;O_%6^}8v}Au`p7sMvmZIRX71Fkkx@B#C|$ZV1)h}TP&V%1`~h79Kc+8#`!W6fL9AF_{o2p7 zG%sZ#HS}!Q$7y4F7<7o%r`L43Q^ZUc7n*3HV@e1e$UrYeCJ{L-E$>{$W@lWJ90B zzvw-GLJVnS=-vQuFN7+ikGxVuh0O;W+2N*F(kw>UV6Fr-KUD>T^X4v{d?c~QXdaD*@Qt4H z*a?ZjBNV`+G&VhUb%rjz0vSq;e~c<}l+H0)Tz_u5;Bms_(+$z)hJmhQtZnv9$?ta> z`c(ErWi93tqWe3H7ueYS>NvaXPu;U4#}Ol+F}d6uP%4Fyjc5%o8FcixWyX&CX2$+O z4pjw(8XmE_1{#iB5D0LBeokye)(Szuk2rS&&Zt2pdKuOY4^((~|5do*L_#iW=;CpV zUqK2qRZ@S@D``N&=;6bX1zD*`5d8DxL_sR^g?L@m{G>XVpY-nJ_3H2AOoD~%coB>I zKGdH2ofv5QZ${%8W`PnjI>C7lhD*`F96_3&L-r1TA998{;0<+Sp2c>`j0I`h|Gnpw zF4TsRe1d_Foh%Vj3WORpYwI)m02$#h6vPPz-urVkm0EKRi2{zxW+y% zliZS29>Jpj4N6`VLpfvs>hz&~&7~w6KHx zs_L7edP?x-v0$fH1V8bbc_dg=*eke|eFjPpM|6lmSAnIKbnvoM9s7$4DQ(`}K;?|7 zbW1_cQ5=j50q{xB^qT*@(b8Qa4Qjr0qzjmmKrS&8#NWw%+rsmvzm9*2086JRPSyRw8GdQPOxy<0( zQZ`arc|1xDCr|G(moJIXyH4QB?+UG0pW|HrzIO`ojMGW!}^jjop3$@P1Fl#p8jX2(ex{Gi>F)Cc#g3^Z!r-g8+-(#G$h_B zjx*tUv!AV6vsuuWXFZh|i<5){{kbLn$4DRd!!9k1V2y>raj_Wkm5q60;~HJ1wr5rr zN*2dOUb7p796WuSu2K>KEYmPzPh%l?3&a^W$)6U$9pJgy&YCrcSEi+#!lu4x_h(UU; zCc$b8(3XrZ%3 z?Y$jLwpZQ>A@}=N=*k6L?8~Ndgz;epTk^a|7w$)vvTDANGjz}mo81h3SllaHF4&F)QvM0d zCuC~-_I3{&L?1fO-ZY-rSH6%!4LcGZ!JXxMEtTK+t&=B6DD!K53?v`njKzqxD9%+4 z60hO*M{TJ3diZeGQJXl*h-L*l%B_Ae|IT}NAftSLJJ0NeLA7tD4<@Dt-Sg)`di7xJ zb;nNH!^ED<<{O1$w7Xcggx!2Tn5=E>!00M`zD_Wy-)&|}Wt5fZ%D)@=F72xjp?bW6 zs_Qi0{?ZvQhK)-fXiSzb?2EgX&S9HOY%AD$P%Xw^p}dTBe2Zkz(0vDd@m0d;O zd&Kc&Ba7;pc3FXA8jlZDE3;BFHRhk!cy*|adN>j8NBUpuK@e2hVKX0G^mNNLF|SS} zkFTYZT-@l-Yv*+#m~fBU&0vcTpd9WsHOo3nT$IH`o$BuNNDwpYEJcN}W%=Hkit*-n zg4Em`-`3jAXP>StZuC4Z?>EiD9&C5h6xq_CdM@<+ul7!gO?^T1Eap7LR)HD1$o|Y; zu0G<&xCYO6-Yu->loka?s+2H`P`keu?p=GT=am+kcAw?=dYFAM#|gTvbaxz@jP)H# zlJT6)dcH5xEJN86X7oEWfM{LQjwZ<|3n>axO!uqGqmuc+@MzziQt3_5*}-=U57Gzb z?ouk5e2KFId}BWJ*#qXSg}SSK4p~?s%ySckb2;;`IF28?STfWpCB*;5N-Y2OTIga* zyW-}3Lq^PP@mC>MJ*8DjX`50LU z7?pgFjp65XbhgD`$yZh)R9DswB;Ly8S9ir(I;&o3ynGYaw&aWHmf^f>fnB1OfXBdi z$sm+XcamdZeJf=7$zo;R2CGQNfOoKhN>L!05CCR%ASc8&vr=q)ir5NR2zN(qD!I-Pjr|1_;pK9hF6Rm0V;l3WFsu9Eq*sd2#?cc4l z-I1s|p_jNvk{UQb$GM?F$2qaC_MNt`lVaYcIG0A5P|u`Y$NW6|!`h43*_k`3_L7;e zHqAx|R4c@)++wavr%NcfV>+G=(H^Sb5Lu?N2wi+V-swO#9!8*OX!~w3Kxs#!jA~hx zL+K4B`PclIZxkHa%(e9Wyf&tBS@D0F}DAey=$Y4LHul1K1GG_%l)eV2tS zi{9KXRhiH37Mj6u*2jbO@N?+g>InEQxo9D%a7)3%D*s-09}*?#ILzAQU_E>>GRw>Q z)K=0kDLLcKs4kg4FaK~qM>~3#QRi%xrshLF?pSJF>2LN76}OG;jBMktjEEV#3*NSM z?L=Xg)m`l|w3af;sr0TYP%5+^xn{&;z?`u>5NLCPn}~pFO#-rB6B#?L{KMnxX@YF&YO1XxvcAMR~&SZ0c; zmkd8H+6qzlYTQ#v={bj;f3Non=NC(v7aw|wpJwGL^{(YkV5ogE%BnF`If2D!nd{P+ zycQ_Wcmcz&=XIaGIxdBXUDC@;jq)?gD*18J@6sz7Hm#&n_d;9=ZpRv?ohOu6$kP6j zLU47WHRNf$*sPyHkwrpTPG{r{Bbv2@JF6e5uWiO-o=^H^nX8N)r;Ge zo+N>h5?dB(gY|se7b;E=P^Q+3z44*pjJWnyz*wf5_gNcLd44@_R&b=k79mLot~U|> zmAOU}d=cE^)GrAfsLSj^9M}IE@?xm8!AtJT0YDT6uRb zhp>-R7Vmmq0CJhOrvznEa#Y@3HZd8W=rAMjt*kQEpp({{lRKp@xV%95=8M(seMNr> zyK(c(n_qpO>}acf=cYJ0SIcC;c-xZ&@7%IIgRlZtm)a=CF)mzJ>V!tOcHt83QmS`G z@>HAtB|^2!T}D9$KJ}COQ+U|K(6dDnqio3U)|lklAM79+xzQ*iymia@>qXrjKK<_q z@Z_G4I(HvSoWu~s(TnZh{o)hf-Q#%6^iyvwudTA`3(nDzu=USsb90Rb=M&o*&NFWg z4zeBJI5u?O+A=5B<0ccOWSCcf!(W1gS*JWtbI7$D(9BMMJ(nCeL5yEsX%R|n`z6Kw zbfrL;qWY~(&y2Z1N6Kp$f=>FFjFdcgivl8ttr+{6^rTr1|83tLKgsa{w<`KnAAc#&xwSg%TY8zS>NnYzq9 z=JgZPjyvEa$pfWsOq*kNSO4C#q>W;Zz`txr)$*@lu>qDS3NHAVhNWwrIxr@ZMoeX{ zN(U(NpG$7ADH&$DS_1>y+v;c!_4-^-P9xCmjUVRecZ@4Mt683?-wRVc&U`H-FEotU zFwAK5VY4IjH@z=WI-1BUSuj$nq8N*FvnN%@zQYw`pY zq-Y7D6g#X0s*PJ>Zk1tbcwMGW?H>Ekc^r)~wYxLdsIRjh#uBYlWr&~y5%j7_=~_sS zcBo1N%r`TD*^O$EUQETc&!lsLa0dnw#3FUX`SzZ+WoZh7KmSx%>BeB+0MUKG6WTD8 z)2F^3kuMSD45>qsmb+nqa8&YZy4+Eas)T=@GmcC`&XUI{MdAhoFky7o$4zWjgVu@u ztu&Fw#mUo<^&++faaMM$xblCUxo8OeBxy&jMsO4`Y62ODP*#=jeGE*QV5ix&{*Ltb zK5w5Olm!BSV;-mv3wqvBU_ejorf>N$Jlntf`YLEQ4=Ruq| z2}b+c`1d;l1ntR(?|wuoh$)53I!Nw319Q|xEWf&E#v)MHzbl~gXpHH1^RyeuOTKKg zR7hRcs0pIDpO~-uMa5`>(bz}@smV-dU+`hf_#ihAQR5$KvZt@Rk)l}_E7!2+D{9aH zY#A0P?^<3~WO!nL)x({I_qF9;1xrrQrdtN5^G)0$pGE4kdddIPMgRy!x8RFa!iYUd zyjN!XPAA)Squ^qxQ_!!S)J>40yU#0Q9v2bf5*| zzk>4w`8oP;8{2V_a^wMEdI6L~e5av0ruZGx8!pFCK6X}~`y;~R(4|Ju@h{Lcz6L|n ze}zh%5AaYQc?20c7vql@Vbb+sGS(>r@bfFUwSWJkEQ@L0(aT77D}>A|j4}jd0O;be z82>-vj>w9Z^yeNaDt|@Z4JMbAMc&28e=q^@k&v~T*MGvT{X+GXyzqtRO_xx|9i$w=++yw3VkOUy9F|>(u z0CpGhxHGN@Idh68%xf?BHG=K0SW^rIlJ7)p#{%Xxk9|ImMVlIVf|GCc-h{0bt~NL{ErDaOLWp2-pM_u)Yo-&JmV*fy@zxK}6DG2>O78 zr*le%>L7>KfT7z)TB^_BnA+hAV1y!+NB8T9=Su{9=T3(TNcY08n`($Z!sRBK2CjqF z&_*RTGg}n56^Ag1sS9&eu5MN`c+4ae0T?3I{N`p#t5#hqD{6&QqDJ1{KrUNPWHP*G zVk}HB4l4Y49FI5)V8YzuHZmzt&QiSEA}yf9!J_Tu!+h!?vCb!B7BtrtAb+Lq~;hr$oYW5|b*ZNl*02^%?8 z5g-H%h-#!$YnOx)&h{7$*>A8n-`r3(p79@ut}>t+XTlO+!~29B>J&nz+@t9C zkdn;rkGC7&r0Cy>EL)xR7|eoUEkD>>Yy@0o8k_1GUOagD@D5~VQbv6OznmHjZuM)G z+AzzWBcp8lJ#&D2<~6hNyR0C{;Cs1-AR7@{bD`zC@jZYXxP{@kYm|F^Jn{+d&>X&_PAXksN@v?ixXO21Rqn_IC_d8wu z|-k z3E`E88gCr;^$yGx6#S#IY43ZTyRv)CU_zFIh`}7_LpzIs`x&@qp=>!1eW#FJ&~XiW z=Cm^#5)_2l|8v5BiC6DLk-b3q4)$72?b_Wp%Q?EOl;*91gyHI+UT!^|*qly`HU`Bb zyUB?bhq7msR5IgB^%{(ksjb%>b~j&NKT8AH4As^7r*UxCY&lp~DDg=?KVZMTfLA5E z@)n61B@xGOA0>aqf<$8{oqt1@iBAF}U$9LsF}{Be+g6ea1vT|rR=mczUz4 zuOnjGm_bzhiu+gmvJm613WmY*pH1St-HEuKCLP?+54x}NBF0qwFh(Zcz6!J(a!EP} zr`dsbT?n*cK+4}eH0NSE9DI4LnUp*8l?y@|jVa;s~*(6L~ z{n<;=#YDelTFp@iYrN0J;;oS-@C=ofkb~atKXI0!|DAc$Xx@n@h5RwjShZs3mGZIN zYt7(Z4G$FO`cf2&O~~{#zdDlxvk(aed9C{TSk860F=V8E7QgS@!`=GJc||%XnRlLb z;WDOkHl$mgmipPuQ}{yQoB{g|NwBi_i1SdnCQIc1YD zm3a{vpHD|_@8LG#`5QA$@liRB!LM>RUjB3?a(z0@-AW>`4V(lO)DX+!pV*frnts; z4{?$%pryMlwfqNrhYjq@<<)iR;|RL*U(oG~TmGU3gEhl>tg~aTxh^ zQ_3ta!^u%kDaz(4!cTq&^^`*YdCI?AGUynn)j@x2t#lN%%JN6W53>Ct5+G_6Y9ZKISA(*SLPWs*wFifZ^Q2VW zG7sBj(&!YqS0+zm&)b-MF|YcG2`m@3}mzK2zU4Jhw?Ng4w~-xJw@)BkBn{$T@Rd@4a! zibjF`wycwrfvU>JD*tKCGW2IV+?Hm;B7{ot7&NSuBfPf3t1ZHE zo@<2oKBAyGv=qP`|Q2|5uqKOdLsga7pDe$D+( zV5F0*+-KFOVqg%U)nY)8bFdEH0*m{r1p}5!J)@pr-vh8`u^Erj;mJ$ulp@BIi9WLT z?b(e#o;<<0A8Y3fuk(Z?=^bAp^T-?1Rr@-_AIf*u*_Ep!tOavWeeAS2*5=D6`VDJx1BI8ns|H`1Fc*KC)+|TSjmV19yTy zMh+U_T6E^WUBcuvka;pVTVN97%T;|KIsDtEx5Z&v?x;6;t)1;XG)wu(E#Uu4rm|!L zVmy&-8AYWC?-^dCa!*3I0W;diPnRlGb)0}LuYRuM-jsV}vj?{v|Vr$d! z7rD&uPjl$V?2LC;@bUDVJWn5|b9!Uc;gey}gpQboSLOr#osGokh%U8*P$aE?lZ-k> zs!w>e-W+b3p+}c6oll&FD0t@Ce{SSoV2HcU{8!Zl1^mXg&uj<;`|*ru(ZR%##jvdM z@+uOG_FHAcPrBc}xTzkOx3#-6@y2O6-dcC`N`mE6SItQ{$xj8d*hx;M`T4Z){r zGOb{ct-N#@oz<}0V}D5_YseY~4BNNsy?L|}-=pEx*pRBY7#?X{*1kGp@oJHKbKHNj zXiD`ODR=&cOSrY_u2_Q_SrH?hs*5W@a{Wcyx#1o6c>v(lX?dP{g|B{(o9vK(91f`6 z&U_fxyu=N(L>W@gJd<|jjBC*NEg>{FFE@q}5rIW}zKk6`CHf6Vbzp3y^*$=PTUTto zvPNBA^>#0k$uTa8IypS$8UEAF2=m;3l)W%UCbjlyNGAPvNF2jMu5fY;4Q}zb)1+=~&M2X#Cvb9-e9OT#au8@{{{ig0vX2PUDy9NF9s z6;zEwoP-B6Btw>8-_bQB^A&ykz&%C87m})m2X6E*9;w(M@wI(WCSGd&M5rHosG8*q zBKB=ViOlQOXJ2-PHITX}Mf%?D$C@nweEDX5x)Ty=Z0i;&l%^x=QS9x&nyr+n}VY%?sNpW}N zU{c7VA!?^=I&-h=hAr+z@r!o3H&z;MIW%h9h|Zcg)bN$rtW6!$?7J?(w?dcmg_d}y zYxk;r3~f5H;8uUWim+J47S(=o(0;27vZS1?$k@aNeJSn#F2bb z4d_F^WTCI{oNrgc-1stGo4KxLyF5$Pz<@LsT%LTh3H>&WIB}hAuQQR0_8DHdBkEPP zw{$)_#o0UB?ndXlxk_f2ne@m|X@SCRuIpXDR9y3N0-=4)D%Uc8&XWnL@bmlkzXN0;|CCJXw`GGEdHK?S{l zo0in~P^i%TY~v~1ab(fR=lgpRYuuJ$e4gVyQwtk>p?DWPt9f&$?hUfVoSXFJt{Ja78@^37 zn_jzpsV}#${=@!f&HdX&l*@B{dkPuiM)1Slp;gb2*WAyO5bALMsL>UJOE&*mhWtv= z_L@0@)XjwAUwHv5(-H(BRhqV=_eEwbwco$9EdH3VOiIener~THCy3iu=jye6wzX-x zy)x_)Y3F=LD2b%&fCQ=X%H@pu9NPN1_ifZfUy;VUxM^ffbWbO$JOU%wYULtQF2hKr z^Bb>o9JRsFg;zpUZ$2Z<>>Ve~H@JcB%P26&x;>Z=oECZ^u^)~rK2T!CD);2;J2*9W z(#q^nh2M69;4HZ$FC-EZtk^bMNM6UH)L{=lc>M1l{WGsaZq@2@blA;xcY`hG%Yun- zY4~{@Y5lNu5C*J{uM3xE^Arq;C{_k-u^T2M3+k=}7`*U`=6QQp$n{+jLCT$oiN7?d zQZe+ts~%Q0k}%U~8LP#wX-aA#5kbosIOC?lH-f$g$$fuM=9nNYs>aJc3ENHkqdtzb zd_`49`mM}XQOxTQ59YluePuyPXv#LZ;3&X5=Mc>Ew}^nstInSG$P8d<;leyDz|rs` z0Ox^U;OoZvKNjGJnFN-bfWp1=x}+|LFZu|Um=hpr5ZOP4|0%Nnq~@VRB7+}8OM<6P zqaI^{(}Y4`j#9Isp?lyVvF!1GVi~HsfMdk&63i=nP_;TcRKGfFCD4-=AZSoBXBlQa zzgEtn*pff@hqGrS#E7klh#uqWv>%&gePWW0DD zN%y$xBf5GIYnNVK_B>SWauU{3>pCs&F+hiKf4%u>Q(+vCluoEhZzQ4G>yd$4$F_#B zr8BJht341erFVNjtTd6d?IgAF+#0{1Q++NnTrp>mm25VZZdrgvbS*s=7|4NLO!#d(#<|JL;&nG*=LI0ad*D!s{`+JSGIi z8y-@;{YFbAmlRP@EVBy_U$4Bge-~l&x2|?)L|a=mnd_9y_l6^(*HNUox}2*fqvzc{ zi7;uf%(L1havb-BhGqy7u&vuHpI6ouSn;;3&J{%$&CIB6Uu`m!%JnEwn_D)=o9xe4txBOBE~#y6K3-4(ONk4fOOkt4EI3n#Mh zykg0k=E5P(>H;jY10PJ=`dyjkrK=LKOL{%YD*k?npDWCU-N0#oEw;}mHse& zvn1^3ncf<*QWzbz({rb&3u5NAY?d@kMk=Ax*N*;062(nx0zdB4>G{U}o7<5YolW(m zYDH#wdRbC*tb5gNjqhbscJ=rV_U9V=mmK#DoO>YjVKRCve6gpyu;hav;a%=0^;j`H z0m4!77N6EcGPDO=Zo%0Qzyg2@ioE)tt%Va9B3Lkndj9d83>kx}(5u&LZPL5b+>}ph zYXkC)3OrL48Pwy2{T3r3(_v=*+z`IFt$nw@BZY6n?|AePtwgG08-nLlg}I5c9teLC zO=3W$P`5iMPh!lxL>4Hy;eSMbkOi_^ZPhSYtrbw?3BSH%YQAgwsgdvT%`wN{Vr9Y% z&ssY+wD%r#JgD@%tjZ|uRctxX*#BfK-eGo|l)FJGXzk9*ocYF1^u%V_j%9sXh1sV1 ziv}t`o=;eii=T55}~igjhQz6dle5^)sTkL zq}E&4PzIxCGz6F2whbfsrX-Psx=5Bz%cQ?5{n z2|D=;^A;Fxt=%s2e`!$|n9Oex)*dEihU#s~9k)WDM|MFZRh)+V;uq+V0rv^6T%}iY zf($|BIdX^xM?{YyFeKCtw2jNZf#E{!0M@y&yFGN(wM>{p;cJ5mX|=#ee%O`73$^(fEJb`|hA9 zw=G{q6a+;wA`%3V93(Xv6lfGABSA8PNNgo%BuUO73KA5_S#p+~gXGvq&LA`yntr?S zde1rc+^U(WnfGe`cve~EA9nZm?XdRRYyHBje^Y_}Q+erEiRAz3QU1FZtxUuDqARr` zW2+98XF8H6vB?el`cU5u6oUM#JIlLkXpL&Al#oC~Wsf|7-5}KSR^` zA9>He?Akwf%ZDGmti8k=$(W@{gn8%^7@PLD)%kmAq05V)kO(r*|2uS~|M)%8hyOq8 ztG{Z~={FN6Q?bjS4-u3Z5t2&XaWvniRjPUZR@VNz3)TOpUHy0F^Dp`B|2XZ+cLLm_ zyWlQcxj&l#80n=d*mh_aJqkkOK|9iJQuY&$;Q@~=$h%PtVv*L`SQq`i1(}z%5n-+2j z)u$SuyH^2jp-*f1pC*0-aLH~8SoI95+jecZ`?kmFcG}ZywU~TtdT)QbxHpU|~DQX6^oCkR>YBpI8=Nv7*xrCRu zVsG?mhuW=p6v*~aE(WsXF=h+WW@!WU;WQ7_ofjz~_+=el>X+w8Sl-10A164F{g~_> z$$HAtEpjkv0W`2#n_`&fy=m`+lVI%Giy$YasknvK`-ay6q%o7${dC)O(fh_~5j8E+ z>-F3wr@GDpoC73JduwWHuY6*@zH+k!Za2KRaL_Obk@zti#K8w(A#Y8GEfQKxZ3Ee2 zV_44i$-8-!hzImUv{j>jN@Ot>3 z&Q*zdIwvs|bD`58lv1FnalX!Tq;E?s#*`7WK?;Il+7C3Y66L^60MqdVim&zp>@7aH z<8weXi+>~o)ciSt?r!b?ht2QK7?g$+q5I5&mtb2I_4^P>W*(*03DqPQz7 zF397Jl@w#qcO`7URSf>JM+~(jPfW_Hq2ChbF?!o&eOrG2=F`}3Sk$bXy<(^*Mz#0k zDkrG<^pDRK? zINIC}rWRSN>2i#gvH{t&ONtJg#rw*2F0_t@6Oe0-SB#tq0_I|2PJph|4G3EBc}GXT zt_q8Z(phSLJQJK+YTjP)`Yn07fosAt12w8FRIe zPNTS4EZ(~@*KyVFptwlG=VED znlC~E@7rq19zZf zoQ2{wAbpQGk>;9JKj!XF$A^}RMP_rtZY7F~=qeDXMIJo^ek_fJ{Ys#;-9#a!5fOC; zP*|yx`7a*FF_Wx*zI%rsVWQ!ashR~UhR;we`O$@ zf;@mOtSY)EN?6by0LOOSM)W+8)$*Ct!6=X|Cy9&LV`e8jQ#X(ru5sRO9&w^oDIr?a zIP3ZVi*>bb)`H0$Gzb37=zA#TKT1RE&5FmQ00#!yH;~jk>$W5W!t=+swTVHEulB`& z9Hd)E77X@&97Qdjj1wqrm3knf*Q!px-5HsU)pcfqL=LqG0o+)%l=F$p^mj716KQI< z!P~As>uWD4FCX6?lGl`el($gyqI<{V0s+ASAph;BQEx5fsw0ZGXx*?4UQFm@CC-TY z?P5uOjHEXD!s^7ahqo`lvoQ{*?Euh{qy6BN}exMDPi*aR$m>M-g9`;22HSQ^Rqa(v0awQGXduF z&+41+==jF`6C&zhIF*8;AA(Sk0oCzXup>to}*K)LUd~Jd|WTx)nrQyC?7t?!NX!tzZUTP zx!*`YMCd15%v8AzLPFqS%{Dc;=^*ObJHmqpE%H_S@DJ?vO)9*UP`c>iSU7rzF7Z}*QeV&>Esx1MK$O1#ZnT|nf0zP0hbZ?8S)YoYqK!sO>XwsA1D-YHt`OfaI zTo{jFua^(Gea*cz;p0yZ;hCAvg?D!rMn`AxqHV_|Z6gH6`kf*}!zq~5+`shR z8L&4pYJaC?wIU+7k~vvS6YG4XlVgwrKfa)VaB;q$J#+4Gdk%T#`@}CY;@lhRJ&r2P zNJw?n=-zHOL=ORVhebeE`@Tj#2dIVxBwKN56&E7zvcW>l!J<PAdP`yT za=c`s1?Bl^JbB)^4(=TP9{6b2zI>{kk4xy&Y##JEXZZm*sW+j7YM2oT@-}F;a$28; zt$n4UVs!zXl(rAaicedCwoqkrON?G-rNh=H%J~bE#4K^(6rhLa7wsoWnWYH&mf}@| z1oa3r&XqIvPUoL0{QGQA+wc;^*3uZ=A`;elX_{ z8+z=1$2y`@y(f39^*uDjc>Gf%9{h7wnM>)Kvsc%*YP`hxEw~Fxf3XLdo)pQhQ|YY2 z#L?xVU4VUs0yfFKz~*{jh>pS1i?~h(*5Wi1w@g zes#oICFEHgrNe3I7N7I(LIs6C5Oi-PTHiwSY;;yLkxlPY&AEh*xu1YDJh#;(i4CNi z!arK8SF@&1rrVV*BO~a5hlckS@cmeeCz8Ku1YqQGBNxv=9*me^pu1l>_QC}w)1wKn z8SFD@3!)5cIioB2`;~Dlj6b1ymOz`fkth|qwBHd%NQ;jtZRm5^J7Xx;?qQT)v)@tjeVlZTkXX&4j>dvR#i!9c$44M$f}KhB z_PHn$!ocOuusB0058y+&tn++VZT2naawtLJTgMe22vEp#4ak( z?nz7g4pzdGNxKo9T15h4Ma-m)FKyapE12yjVxUOo(U|`E4O@c4L2JFgYwv40Uv;2w1ZmGl0h@EsD`A2K=mbl(iArv>TX6WX}uL zbj4G^_wh_SUrK=MJK0%xr*?lleg`V=y3-!{8S-f+G6!4HVqB&s*utMK2Y81J#=`*t zd$+$cNYo8_h%*4pXIgF7_T69x-Osx~dOefNy-lIO`hJ>Gv4|*&|%84 zp2+ao!g$$))%5mo2miR93HnZEZx-dxRW`{rTxD<+B4+l$hoQo%ZSR5LxBVB;j?KZ$ zqOy10xV1>1t6|PbD7p)mCm6S)NY(D9Y4;j2hXyZ)Q&Ss7fpNa0HD>h5USJ;(3Jyn< z2~>;HPNOHW%gL(NfYuQ}IMMFeX`Z%V$40;jg!w;@KelZV8-w1o&u=T~Q~~ z2R8WHiW;k3S3C_zR0I^LoR@2%l9Db&>?!y+1YdF}_|zuPAJsmyEdm`e?L$uwOCr36 zoiURnu2>zuj;a<`?l2L)?z$JM-UJOYycz0wPe3GEgA%E&D^C2#I(=ZPh8+>X)_)Wc z8h&~*M~zwzVw{neJ1h!*B(R#1aw;Fq*tNqF!Kz5+8u=iTYhFF~f%n@(O3O^|1V464 z3QZIJ)j<>2J?G{?689+!28JvIu?58zxc1~6h(E6Zp@(ZoS?U5{ZBEkd8togtdT_&* zUJW~+^}|)OPVBJ6@aHpZ;36f_a6>4^&%xUfM%DX@d`I(r;H&M}I^ho#V_f>;)Cymg z!-*a@xT}>PO-!e`sF2(5+>pM?ve1;kZBn}OJtdw2znWa23)w1WB}no}umzkpDMu>` z(u+{h_F8b&?shSJ;^9#oRJ@fEM(Xmgb5Q%FVI!hndIFvIe}8W+8?#J#@7jStlkO_x?NpHl)m29G-q8s9IQ#ZCtpIwbh_i5P zwjGuV)?Jn(eQ)t_aX?WR?S8)<$lygi@8)qfFLqtNCj_Xp@*PZa-*E`FsYraAFU|FA zdv~Ch3yaFJKumdy!^5fVL};{W!lBeberhEDbLVoizSjB)D-KJkm9^U_tS%4kWu_Mf^gVhFDh%HJ|th|DTSiBc@igfUH zO%%)e)Ypa)pkp!LG6ETrlU8jjCL(wk81gZEf0U~sg#nOggXnVnFWCO9KXFW9XmNsk z_w$oja(gGZQLMrc);ki^(_x!s+$qXccQTbwn`K0H0;6OQ39vZ(G%IfVFLkVz? z6q2Pd8l%+rehclngj2HEy)Y>@%N{oT?H)H zDN#fyrNc{F!WgrG^|38S2%F0Xkd-mPUe*jsScNL^&oGG2Makcqb(4lbrVrn4cbraE z?+u&7@evBuN|6d!@v$yRE&e1Fle)OZw=CoN^u&(ZsbbADbAkx%y2hgsX8Bvb9V`rL zaiyJpd4POYM@ zJ!j^TY7le}d=7QbjwQk290g(i$*-Vz^p=5dmj@V`ePQ4UJ`vcSg|5v z5j7Wt_h9Cpj0O`4M4Kt|z~|~*wfw0KT=ks^QtH-L#nK(r+dCiCw@Wbk5xsSB4l1v= zo9Swv7a{LVD{T->D_b%XpNMTt_EWs(>_ZLlpW5CIK!(6_k|2Rn`(tc!2F>s4vqRqm zH=xaekb4UAS4Bs(Z9?isbFh`iso&c2)@Mgtjjl|@p{Q8&$7jPhh*1yi4#_H-)Xq=O zR_8dtjAL+xkUuU2xI{-Wp3;M!M%0Hz)BGed?N^WCd*knjs8&o4{Pc?0bNm%~4H|0T z<67LvtSa5?#tpJMLnQWuI{(2W!g>U|V$*J|v`8%Qx&i%ZcV<{G*uBE%_^T-+9bzZi zHwlouYu*%?H26_(WTh1aEkX8_1u215GWZB@Dl|qh439<-=26y%Qci%RlupI<%JtQy zT!WvV#47K&Ub2FP%Z9Lq<0%yqke1T1*c3L>G3P8RTg>~=yyN-|Rgjzsqsw_DJVO(v zmdLlUH<@umE3~*-G*NR^^~nW-JIhtm8_^K!#!`r>LG!SJZfen3)xiU}YMOVK(~{0? zn7`?Wl{pNjCq{sqh34|w9judGfk9wRFMoD$H_MIP67XnK58PfxK~|;9+j;0d$be2Q zqeqrv`MUN3PBl>6xI&jAfOaBW_J+gFYtnC&nhw|!%Rj(szIgNrn#SKA#{1Q7b8;*R zL-l2G4y?%o@X6nF?x_Ywn>Sr1J8d|rH#Cj9Rj#YhI3ldMd+IVh0fEp%F|eM;+*%p= zLW`P;urrWyPmXB)hUFWRVQ!bXAG<0&YHsrCRxZtP@9u=<&M}`7D|sQI6#WShM2Hpu zjeURwX%{xv(|9O7p3fKB54sCr;d`VCo4)G>-$Hy%|avF?J z<7(A&WM|D8Jz7qMf=KzsPuhz3mQtbhf{e$rM}-kY{b?Co7Fvz@c@2TWR!-mEB+WyA zj`H_=3eEZ>Yc9V$*!BqsLY62>-VAR(&Z|A<+EVXmb$d;pC0}o^F`N3{Sl-nqCKzqL;lRS|*8=z7sT z+ncs&Sl-Ogvo_Is_oBOYS31IWxvyTYV1#`<-lPc&dl1l$)=UW-WHeOCl$-%QvXf%v zW;I{ztrc}_hhbk50zS2zLkFu}`9V9SakVU@l6(DHCh`-5@XlT^_mv}a-TQ{AeUOaO z1JDaV0A)r@^|W|a{sT~TKi2)q_>tAD6Z8jE!`_%nb81LvF5Atw8Nj{zw@wrs0#?Hx zF)RvAuSA}ZNLv`8H%+(bhlP!@=>v!M>+Y|NyeYFNh%e^Ae)49W>iaRiWZCkjV}5%B zRUx)_PaFDb-sey<=FUk9pSr<<+SXMLV7F2m5f&I7e;ULt*h@`$Hw^ck)KgV()E%!<*qE0$k*IxX6nLedRDBtcEDkwg39(w$b`SV= z(<6|(>FG`?uJBzlg_63%b`F1&M5nB2sF04tszV1;qic@RM${#C%gEb$w%;q@w&7wY zK_5DzR$p|-tzD0SErk^mdP0YH3&VaA^L<@5bsX2^tW&lE#qQHB*H<1u8^}b@#WIWG z{dMfkyom!YWniTc08gnv^}>wKbdUH%4i8vIZO=c&;CatkDl$}4Y+|1afNvgJPxRnCcQQobb z;p)F1=<*XBX2c)T%*m)qbLQIv>KR1FkTdGg9G`%}7SO&hP6S)-$L%R2gIemdpMGZ? znzOWxUdEz4AlfPFU^EMQStAfdNeM4P#oYbN@Y)@a6!aA{)PlC*V~%qn)^+&p{yv#1 zNqlI@Y*WxOIuL}D>BQLuX1X1Lt3@#jFdBN_bBt2I*;_ZY*5w(N4F!iGpZk*=Gp2?G~IupKWSHz=> zY2kXW>O#KfP4P)dc_xP~*37FeX242@hR?9?j@%rE0hsm4!{8vj3d_i?uTL%u&IK1) zBj!?XQS5Ksa6$i z8@z*y!=hZUOCoysLxkIEQWEvd3~_UPO~YzN-6w`KV*D@|v}%aZT~zOQR_2j9505QV z+@#}S>p5P)FNVR99#k94_!vZ>0ZV^AU);{)rk6y%8)b?0i(6S6jiPS27t~d(f6cZI z3hl^$;Ei>F7`aS9aWtgK=X5uRl8PmPRP(u157thbveT{i!kfrpt=0vreW?pq!z{v0 zZ-ZzWy^0@mOG(LW-lv#8>)IG~Nd+h=8b2hxwLVq#GbJZwwkV(H;t@Rp?B$(d<*}(8 z-I|VgcV}-gorRTjy&kt|8R_;i{ELs$Zjf}2fbuM#AJsVB9w7jLmATa@0(g z6rWpWMdb9H8F#Xy4dAT1{Z+=;O+L+CWgRy^F}!(`j3d`7%Su@fzcCLT_h9;=2KCAU9^RYe?!7 zV?D0Xr8aQ(O1QndYO7}_k)}*n)9of$QSE=MC~X3WQ`b!SYY#4J_wpu+owI0&ls@;? zwl(UfNT|@}T@O#TmDAdv4Jz>K6J{`_`lznFDl7H7w0@wD^5yE?A%Z8Bx+S;sKgOGD zezX7a?NiC*biOH5@SUqn!g^Ts4_lBM7 z6&N2*f--`!TJCWJnYxi+-&~kNuTv+-EYZEmEjQf-WEMYdSrP;!4VCCVA+(PJ zBWO$uB9d)A8dOop&1Pcxir06zeZvJ;j#|%dXNS1(3>lU+v1guz_a3L|-mmuPs2;8u zz&CQ;W}!r*!qEhB_Idjr0Wk>Zg`0h6c-Z#%xP=17Ggav}9Zc!s!svB>r@RAbA+>AU z4Ux!&7G44b$am=ORusLed$IND%HF|+3wZ9J>j`f40iyQn8n6dH8Uqs{o%xrkObGy8 zj>Kc*9o$pOZy}QiXeWg;lwXt09?fd%?srf*z5?2mUk;2INNe*uVm%+q68>s?v=ecu2@D4f>jw*|2r^A_6x+ROwwwPEw_qV1G z1Pp=um*Dwq;xQd$EP(K1wg8IWyY3;>gifNi9ORuc1n>E`F9OO^{9)KFQl*7N7pwgw zdv#bCR?qm+r^&ip88>Q1ER2UV<{li6jezjp)xZ{-KN^i_a`M^QJ=`JD)1S|cuamtS zIukq8ubsXh!mRTaNo6-!52qUvgi^ks25|r=9j;^Fdqb~=-QAt!&*Cs;7mLCy(eRzq zzK>zE)U!t|2G7-kpdLHy-OIvmL+gZ6ebBvMAca%8{5i=PcMPuCr zffV=55-S zK--vp_PVDnHV{yqINfw`NF&lFup2F?f6@QtDvp9SO}OaqpR4(o_3LD1%3jL|VKhk; zsLmt3G#J%FgwakE9{L0HS(OxjJgIFu4rNr}_#n6^FzlJJ#RGY=cD%n~4h=cByf=)B z;8kO5Wq6z0dG+UxW6FH4rp;B;J^{J8>`6q19_l-Ha;ul)XKCnKTPV43~mP5z|g+IA*wqA6jMkyy{fZ3}Y z-(M;jo|pcWY8FqZcrWosg##;l>c_PZt%4d_;P>%E$2g%3U(E|M`vg2oJN5bVP;kEp z9$68TqE7ZF z%T<+MND|=8NYCH9@wGFL^AZ-`5EkQ1K!Gv_K3by-jeBOo$2VALA_C?L$PHt7@g%`h zC$phIlFn|sk&ydhCu2v8p#A{-gYNYDfTi(O0*zQkbHmP2(mgg38sCc=iGBeQ!=GZ% z=3Jw4eMj(mu16>zf<-mjX}h|+5%^R+k?L?hDyll2==y;arTfdwo6b0Z?ykp22f#ZF8hp*q3&diK)dTo_rpC~uoQa?BMm3|IB3 zEp_w;P-wKVS+e{&Pr4A?u+PPooPalxv%Mpl2?7w3UuDo#XA$Gwj`{YeYP%0FK1|uK z8RGH(&@ZaLLeXN?08m3AtnVsbeits-e35P)}rXNfSmyb^oscFEI{xa+6_482$$HXnn&pt8w0$fj*QezW& z^<1|-&NfReC*lDhDsF$H4ALE+Pr=jef?9|*@2YmP5q|xm^n;j3qQ?_pz+sZ)9k@@A zueQUv1GJ_yB+yjA$IQQ}fQj)rx7|UfKXu25W<@f=Y4O#-XDM8_%iCytIC@r-Eih7j zVqSd{uz7Lf)$VoK#@bMJ6e=3z-=EgKUwc8NCyWc5MTut&Ew@SpXg}*lK)L(_@MWbh zM^!#vl1;p=xK5U3EgP;^46^s>cz{)kSquCnDg>6y{j1R|IZdp2UxXTD9!uUtgXhnA zmRCXN<$PIe)>##q^zwxX@7Tg=ZMJD|ahvu}Erv_r-KP|~C)UhpH3cjO&L4G92>iTr zFXsl>k6+Om4MOAq5Oe+|>_7Ox`A~GSdGg+})RcNO+l8eu0A%Y@fGy0abD{b-%-A0d z+$REsBq2iVLMHp+jB5p!l3KF!LzFX znV*U0AOk3KKr|D~v^AjT{ZfZ(lOz3Fv(v%S{Rt4qUDvcMA4W+ZzaQkE zDCA^zu=fUypP3SaGtA(8r2+}Hf6+!$j0K-w<;vy30cyvb=p}a-)F{uF+#lWr8M5Hh zb|2Jk0koVET3ygS5>Pz(-YfbWa|2km$pN@vg8uS}!so4V)Tci-2+U;B1~1RKr0gY!Ec>f$=o!@8zH{ zpilBcF!+#|sNVd?fk4yu2D2rE!UXPipfix(8<5HVl10Vi-jhS`mA+5jXleFKk!kH< z##4ZTS-boqNaOyXL!U2;w|8h#(1ztOwA!1X{p8SX#~<}+P6)f_WvEV$k@uM@)O)@Z zn#rXesIy?@0J)e8;M;P+1hvbz{C$zVy~}B{_yjQ@r4ToitsdVirZ*>2XyP&eihF>M zSPJQm%T)<)A1~4SP+_wK)FBq%U&dX0zc;Kkk^=@Au1q z4f8+ikRo1$I;lfx#cLE_!SN~R7jI9?{6)_AM~nc$>il@S`uAY<&x7ng?-TOog`WEn zy^1F>Kd=GoLtCx<{*qsW5J?bw?t0yipy?jY(F8G69QY)lIX{2-UjQcj5FDKZ!2y`2 z`^{u}AYdq>gAdwi<20G<2$=?vv# MQu2~{5B0tN4;+B_-v9sr literal 0 HcmV?d00001 From 9946e434f2b05ab576d1b3ab7c8a4fb53e05217b Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 8 Oct 2025 17:28:46 -0700 Subject: [PATCH 279/303] wip --- sidebars.js | 1 - 1 file changed, 1 deletion(-) diff --git a/sidebars.js b/sidebars.js index 2c69f459c8..42ffe88e55 100644 --- a/sidebars.js +++ b/sidebars.js @@ -100,7 +100,6 @@ const sidebars = { ], }, - { type: "category", label: "Staking/Delegation", From ebb671127cd528c1368e2800e057d48fd00debc7 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 22 Oct 2025 17:21:45 -0700 Subject: [PATCH 280/303] wip --- docs/concepts/commit-reveal.md | 12 +++++++----- docs/concepts/weight-copying-in-bittensor.md | 5 ++++- docs/resources/glossary.md | 6 +++--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index 45755f973d..02dbaedeee 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -1,9 +1,13 @@ +--- +title: "Commit Reveal" +--- + import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; # Commit Reveal -This page describes the **commit reveal** feature: a configurable waiting period that elapses between a) when consensus weights set by subnet validators are first committed, and b) when they are revealed publicly and included in Yuma Consensus. +This page describes the **commit reveal** feature: a configurable waiting period that elapses between when consensus weights set by subnet validators are first committed, and when they are revealed publicly and included in Yuma Consensus. This feature was designed to address the issue of _weight copying_ by validators. @@ -13,16 +17,14 @@ Commit reveal uses **[Drand time-lock encryption](https://drand.love/docs/timelo **For validators**: The commit reveal process is completely transparent. You continue to call [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) exactly as you always have. All commit-reveal logic happens behind the scenes at the chain level. -## Weight copying - In each Bittensor subnet, each validator scores—or _'weights'_—each miner, producing what is referred to as a [weight vector](../resources/glossary.md#weight-vector). The weight vectors for each validator in a subnet are combined into a weight matrix. This matrix determines emissions to miners in the subnet based on the consensus evaluation of their performance, according to [Yuma Consensus](../resources/glossary.md#yuma-consensus). The weight matrix is public information, and must be, so that emissions in the Bittensor platform can be transparently fair. However, this transparency makes it possible for subnet validators to free-ride on the work of other validators by copying the latest consensus rather than independently evaluating subnet miners. This is unfair and potentially degrades the quality of validation work, undermining Bittensor's ability to incentivize the best miners and produce the best digital commodities overall. -The commit reveal feature is designed to solve the weight copying problem by giving would-be weight copiers access only to stale weights. Copying stale weights should result in validators departing from consensus. However, it is critical to note that this only works if the consensus weight matrix changes sufficiently on the time scale of the commit reveal interval. If the demands on miners are too static, and miner performance is very stable, weight copying will still be successful. The only solution for this is to demand continuous improvement from miners, requiring them to continuously evolve to maintain their scoring. Combined with a properly tuned Commit Reveal interval, this will keep validators honest, as well as producing the best models. +The commit reveal feature is designed to solve the **weight copying problem** by giving would-be weight copiers access only to stale weights. Copying stale weights should result in validators departing from consensus. However, it is critical to note that this only works if the consensus weight matrix changes sufficiently on the time scale of the commit reveal interval. If the demands on miners are too static, and miner performance is very stable, weight copying will still be successful. The only solution for this is to demand continuous improvement from miners, requiring them to continuously evolve to maintain their scoring. Combined with a properly tuned Commit Reveal interval, this will keep validators honest, as well as producing the best models. :::tip Learn more about weight copying -For a detailed explanation of how weight copying works, why it's problematic, and how commit-reveal prevents it, see [Weight Copying in Bittensor](./weight-copying-in-bittensor.md). +For a detailed explanation of how weight copying works, why it's problematic, and how commit-reveal prevents it, see [The Weight Copying Problem](./weight-copying-in-bittensor.md). ::: ## Commit Reveal and Immunity Period diff --git a/docs/concepts/weight-copying-in-bittensor.md b/docs/concepts/weight-copying-in-bittensor.md index 81e8e4776a..1847df5442 100644 --- a/docs/concepts/weight-copying-in-bittensor.md +++ b/docs/concepts/weight-copying-in-bittensor.md @@ -1,4 +1,7 @@ -# Weight Copying in Bittensor +--- +title: "The Weight Copying Problem" +--- +# The Weight Copying Problem This page explains **weight copying**—a free-riding behavior where validators copy other validators' work instead of independently evaluating miners. This article covers how weight copying works, why it's problematic, how Bittensor's [commit-reveal](./commit-reveal.md) mechanism prevents it, and best practices for subnet owners. diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index 79a7a7a30e..e43f7b4030 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -72,12 +72,12 @@ A combination of two keys, a coldkey for secure storage and high-risk operations The commit reveal feature is designed to solve the weight-copying problem by giving would-be weight-copiers access only to stale weights. Copying stale weights should result in validators departing from consensus. -**See also:** [Commit Reveal](../concepts/commit-reveal.md) +**See also:** +- [Commit Reveal](../concepts/commit-reveal.md) +- [The Weight Copying Problem](../concepts/weight-copying-in-bittensor) ### Consensus Score - - The consensus score is calculated as the stake-weighted median of all weights assigned to a specific neuron by validators. This creates a consensus threshold that filters out outlier weights, ensuring that only weights near the median consensus are used in final rank calculations. **See also:** [Yuma Consensus](../learn/yuma-consensus.md), [Consensus-Based Weights](../concepts/consensus-based-weights.md) From 99144ee94a7483472014d72234820a3ac7be2f33 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 22 Oct 2025 18:19:26 -0700 Subject: [PATCH 281/303] wip --- docs/concepts/commit-reveal.md | 41 +++++++------------- docs/concepts/weight-copying-in-bittensor.md | 38 ++++++------------ docs/resources/glossary.md | 24 ++++++++++++ 3 files changed, 50 insertions(+), 53 deletions(-) diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index 02dbaedeee..8f59c1bb33 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -39,9 +39,16 @@ new_immunity_period = (new_commit_reveal_period x tempo - old_commit_reveal_peri See [Subnet Hyperparameters](../subnets/subnet-hyperparameters.md). -## How commit reveal works -When commit reveal is enabled for a subnet, the following process occurs automatically: +## Migrating to Commit Reveal + + +After a subnet owner enables commit reveal, validators don't need to change anything. They continue calling [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) as always. All encryption, time-locking, and automatic revealing happens at the chain level. + + + + +## The Commit Reveal Flow ### 1. Validator Sets Weights @@ -66,23 +73,21 @@ A waiting interval, specified as a number of tempos, elapses. Subnet owners conf - The weights remain encrypted on-chain - No one can view or copy the weights - The validator does not need to take any action +- One or more tempos may elapse; the weights remain encrypted and are not included in Yuma Consensus until the end of the concealment period ### 4. Automatic Reveal After the `commit_reveal_period` has elapsed, the chain automatically decrypts and reveals the weights at the beginning of the next tempo. This happens when the corresponding Drand randomness beacon pulse becomes available, providing the cryptographic key needed to unlock the time-locked encryption. + -**Key security property**: The reveal timing is cryptographically guaranteed by the Drand network—a decentralized randomness beacon. No single party can prevent or delay the reveal once weights are committed. +**Key security property**: The reveal timing is cryptographically guaranteed through the use of [Drand](https://github.com/drand), a decentralized randomness beacon. ### 5. Consensus Processing The revealed weights are now publicly visible and input into Yuma Consensus for the next epoch calculation, just as if they had been submitted without commit reveal. -
                                                                    -:::tip Completely transparent to validators -After a subnet owner enables commit reveal, validators don't need to change anything. They continue calling [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) as always. All encryption, time-locking, and automatic revealing happens at the chain level. -::: -## Benefits of automatic commit reveal +## Benefits of automatic commit reveal (added in commit reveal 4) The Drand-based automatic reveal system provides several important benefits: @@ -103,7 +108,7 @@ style={{width: '100%', maxWidth: 900}} /> -
                                                                    + This detailed sequence diagram shows the CRv4 process across three tempos. Key observations: - **Drand pulse** triggers automatic reveals at block 1005, 1105, 1205 (shortly after each tempo starts) @@ -129,7 +134,7 @@ As a subnet owner, you can enable and configure commit reveal using two hyperpar See [Setting subnet hyperparameters](../subnets/subnet-hyperparameters.md#set-hyperparameters) for how to update these values. -### Reveal timing example +## Reveal timing example Weights will be revealed at the beginning of the tempo after the `commit_reveal_period` has elapsed. The Drand pulse triggers the automatic decryption shortly after the new tempo begins. @@ -149,22 +154,6 @@ Validators don't see any of this timing complexity. They simply call `set_weight Ensure that your immunity period is **longer** than your commit reveal interval to avoid unintended miner deregistration. If the immunity period expires before weights are revealed, newly registered miners may be deregistered without having their performance evaluated. See [Commit Reveal and Immunity Period](#commit-reveal-and-immunity-period). ::: -
                                                                    - -## What is Drand? - -[Drand](https://drand.love) (pronounced "dee-rand") is a distributed randomness beacon network that provides publicly verifiable, unpredictable, and unbiased random numbers. It is operated by the [League of Entropy](https://drand.love/league-of-entropy/), a consortium of independent organizations running Drand nodes. - -**Time-lock encryption** is a cryptographic technique where data is encrypted such that it can only be decrypted after a specific time has passed. Drand provides this capability by regularly producing randomness "pulses" at fixed intervals. Data encrypted for a future Drand round cannot be decrypted until that round's randomness is published—even by the person who encrypted it. - -Key properties that make Drand suitable for Bittensor: -- **Decentralized**: No single entity controls the randomness generation -- **Verifiable**: Anyone can verify that randomness was generated correctly -- **Predictable timing**: Pulses are produced at regular intervals -- **Industry adoption**: Used by multiple blockchain and cryptographic protocols -- **Open source**: Fully transparent implementation - -Learn more: [Drand Time-Lock Encryption documentation](https://drand.love/docs/timelock-encryption/) ## Technical papers and blog diff --git a/docs/concepts/weight-copying-in-bittensor.md b/docs/concepts/weight-copying-in-bittensor.md index 1847df5442..d0cb49887d 100644 --- a/docs/concepts/weight-copying-in-bittensor.md +++ b/docs/concepts/weight-copying-in-bittensor.md @@ -18,32 +18,32 @@ While this might seem like a minor optimization, it undermines the entire incent ## The problem with weight copying -### 1. Degraded subnet quality +### Degraded subnet quality Validators are the quality control mechanism for subnets. When validators copy weights instead of independently evaluating miners: - Bad miners can persist longer than they should - Good innovations from new miners take longer to be recognized - The subnet's ability to produce quality output degrades over time -### 2. Unfair validator rewards +### Unfair validator rewards Weight copiers earn dividends without doing the work. This creates several problems: - Honest validators who invest in good evaluation systems earn less per TAO staked - Delegators may unknowingly stake to weight copiers instead of honest validators - The economic incentive to build better validation systems is weakened -### 3. Centralization pressure +### Centralization pressure If weight copying is more profitable than honest validation, rational actors will copy weights. This can lead to: - Most validators becoming weight copiers - Only 1-2 validators doing real evaluation work - Effective centralization of subnet governance -### 4. Consensus manipulation +### Consensus manipulation Sophisticated weight copiers can actually shift consensus in harmful ways (explained below), potentially taking bribes from miners or extracting value through strategic weight setting. -## How weight copying works: The optimized strategy +## Optimized weight copying Weight copiers don't just blindly copy one validator—they use an **optimized strategy** that actually gives them *higher* returns than any single honest validator: @@ -167,6 +167,8 @@ Since the deployment of CRv4 and increased subnet owner awareness, weight copyin ### Statistics (as of late 2024) + + Weight copying validator collective: - **Alpha stake**: Decreased from ~8M TAO to ~4.5M TAO - **Subnet coverage**: Decreased from 50+ subnets to ~35 subnets @@ -265,7 +267,7 @@ There's ongoing debate in the Bittensor community about whether commit-reveal sh ### Current status -As of now, commit-reveal remains **optional**. However, the recommendation from core developers is to enable it unless you have a specific, well-understood reason not to. +As of now, commit-reveal remains **optional**. However, the recommendation is to enable it unless you have a specific, well-understood reason not to. ## Detection and analysis @@ -277,19 +279,12 @@ If you're delegating TAO, watch for these red flags: - Validator started earning immediately upon registration (no ramp-up period) - Declining stake over time as informed delegators move away -### For researchers: Analysis tools -The Bittensor blockchain is fully transparent. You can: -- Analyze weight submission timing patterns -- Compare validator weights to consensus over time -- Calculate vtrust correlations across validators -- Identify clusters of validators with suspiciously similar weight patterns -## The bigger picture -Weight copying is one example of a broader category of challenges in decentralized incentive mechanisms: +## Free-riding vs. value creation -### Free-riding vs. value creation +Weight copying is one example of a broader category of challenges in decentralized incentive mechanisms: Any system that rewards participation must: - Make it possible to verify that real work was done @@ -304,7 +299,7 @@ Bittensor's approach has been: 3. Add targeted defenses (like commit-reveal) 4. Continue evolving as new patterns appear -This is healthier than trying to design perfect mechanisms upfront, which often creates unnecessary complexity or misses real-world attack vectors. + ## Related documentation @@ -313,14 +308,3 @@ This is healthier than trying to design perfect mechanisms upfront, which often - [Subnet Hyperparameters](../subnets/subnet-hyperparameters.md) - How to configure commit-reveal and immunity periods - [Weight Copying technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf) - Academic analysis - [Blog: Weight Copying in Bittensor](https://blog.bittensor.com/weight-copying-in-bittensor-422585ab8fa5) - Community-focused explanation - -## Summary - -Weight copying is a sophisticated free-riding strategy where validators earn rewards without doing evaluation work. Through stake-weighted consensus prediction, weight copiers historically earned higher returns than honest validators. - -**Commit-reveal v4 effectively neutralizes weight copying** by ensuring validators only have access to stale weights, making copying unprofitable as long as miner performance changes over time. - -**Subnet owners should enable commit-reveal** with appropriate concealment periods and ensure their subnets demand continuous miner improvement. This maintains the integrity of the incentive mechanism and ensures that validator rewards go to those doing real evaluation work. - -The decline of weight copying following CRv4 deployment demonstrates that well-designed cryptographic mechanisms can effectively solve economic attacks in decentralized systems. - diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index e43f7b4030..36c12452f4 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -175,6 +175,24 @@ The process of removing a subnet miner or a subnet validator from the subnet due **See also:** [Miner Deregistration](../miners/#miner-deregistration), [Subnet Miners](../miners/) + +### Drand/time-lock encryption + +[Drand](https://drand.love)) is a distributed randomness beacon network that provides publicly verifiable, unpredictable, and unbiased random numbers. It is operated by the [League of Entropy](https://drand.love/league-of-entropy/), a consortium of independent organizations running Drand nodes. + +Drand provides **time-lock encryption**, a cryptographic technique that encrypts data so that it can only be decrypted *after a specific time has passed*. Drand provides this capability by regularly producing randomness "pulses" at fixed intervals. Data encrypted for a future Drand round cannot be decrypted until that round's randomness is published—even by the person who encrypted it. + +Key properties that make Drand suitable for applications in Bittensor, such as [commit reveal](#commit-reveal): +- **Decentralized**: No single entity controls the randomness generation +- **Verifiable**: Anyone can verify that randomness was generated correctly +- **Predictable timing**: Pulses are produced at regular intervals +- **Industry adoption**: Used by multiple blockchain and cryptographic protocols +- **Open source**: Fully transparent implementation + +Learn more: +- [Drand Time-Lock Encryption documentation](https://drand.love/docs/timelock-encryption/) +- [Commit Reveal](../concepts/commit-reveal) + ## E ### EdDSA Cryptographic Keypairs @@ -954,6 +972,12 @@ The directory path where the generated Bittensor wallets are stored locally on t **See also:** [Wallets](../keys/wallets.md), [Installation](../getting-started/installation.md) +### Weight Copying + +A free-riding exploit possible for validators, which can be guarded against using + + + ### Weight Matrix A matrix formed from the ranking weight vectors of all subnet validators in a subnet, used as input for the Yuma Consensus module to calculate emissions to that subnet. When multiple incentive mechanisms are used, each mechanism has its own weight matrix for independent consensus calculations. From 0e8fdeadabdbf975a7e676d38aa96b0696c8a267 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Wed, 22 Oct 2025 18:35:19 -0700 Subject: [PATCH 282/303] wip --- sidebars.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sidebars.js b/sidebars.js index 42ffe88e55..8588c44d3a 100644 --- a/sidebars.js +++ b/sidebars.js @@ -58,6 +58,7 @@ const sidebars = { "learn/ema", "learn/yuma-consensus", "learn/yc3-blog", + "concepts/weight-copying-in-bittensor", "learn/yuma3-migration-guide", "learn/fees", "learn/chain-rate-limits", @@ -216,7 +217,6 @@ const sidebars = { items: [ "concepts/bittensor-networks", "concepts/commit-reveal", - "concepts/weight-copying-in-bittensor", "concepts/consensus-based-weights", "concepts/bt-logging-levels", "resources/utilities", From 5d9c736c79dc7216a621bde022a2a2eaafc385f1 Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Thu, 23 Oct 2025 12:19:24 +0100 Subject: [PATCH 283/303] btcli 9.14 --- docs/btcli/btcli.md | 447 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 405 insertions(+), 42 deletions(-) diff --git a/docs/btcli/btcli.md b/docs/btcli/btcli.md index 896442c0fa..3ae76eb0ff 100644 --- a/docs/btcli/btcli.md +++ b/docs/btcli/btcli.md @@ -38,9 +38,10 @@ btcli [OPTIONS] COMMAND [ARGS]... - `sudo`: Sudo commands, alias: `su` - `subnets`: Subnets commands, alias: `s`, `subnet` - `weights`: Weights commands, aliases: `wt`, `weight` +- `crowd`: Crowdloan commands, aliases: `cr`, `crowdloan` +- `liquidity`: Liquidity commands, aliases: `l` - `utils` - `view`: HTML view commands -- `liquidity`: Liquidity commands, aliases: `l` ## `btcli config` @@ -439,7 +440,7 @@ alias: swap_check Regenerate a coldkey for a wallet on the Bittensor blockchain network. -This command is used to create a new coldkey from an existing mnemonic, seed, or JSON file. +This command is used to create a new instance of a coldkey from an existing mnemonic, seed, or JSON file. **Usage:** @@ -1651,15 +1652,15 @@ The child hotkey take must be between 0 - 18%. To get the current take value, do not use the '--take' option: - ``` - btcli stake child take --hotkey <child_hotkey> --netuid 1 - ``` +``` +btcli stake child take --child-hotkey-ss58 --netuid 1 +``` To set a new take value, use the '--take' option: - ``` - btcli stake child take --hotkey <child_hotkey> --take 0.12 --netuid 1 - ``` +``` +btcli stake child take --child-hotkey-ss58 --take 0.12 --netuid 1 +``` **Usage**: @@ -1677,6 +1678,7 @@ alias: children | `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | | `-p`, `--wallet-path`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | | `-H`, `--hotkey`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey`, `--hotkey-ss58` | TEXT | Hotkey name or SS58 address of the hotkey | +| `--child-hotkey-ss58` | TEXT | The hotkey SS58 to designate as child (not specifying will use the provided wallet's hotkey) | | `--netuid` | INTEGER | The netuid of the subnet in the network. | | `--all-netuids`, `--all`, `--allnetuids` | | When this flag is used it sets child hotkeys on all the subnets. | | `--take` | FLOAT | Use to set the take value for your child hotkey. When not used, the command will fetch the current take value. | @@ -2771,65 +2773,366 @@ btcli weights commit [OPTIONS] | `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | | `--help` | | Show this message and exit. | -## `btcli utils` +## `btcli crowd` -**Usage**: +**Usage:** -```console -btcli utils [OPTIONS] COMMAND [ARGS]... +```sh +btcli crowdloan [OPTIONS] COMMAND [ARGS]... + +alias: cr, crowdloan ``` -**Options**: +**Options:** -- `--help`: Show this message and exit. +`--help`: Show this message and exit. -**Commands**: +**Commands:** -- `convert`: Allows for converting between tao and rao... -- `latency`: This command will give you the latency of all finney-like network in additional to any additional networks you specify via the '--network' flag. +- `create`: Start a new crowdloan campaign for fundraising or subnet leasing. +- `contribute` : Contribute TAO to an active crowdloan. +- `withdraw` : Withdraw contributions from a non-finalized crowdloan. +- `finalize` Finalize a successful crowdloan that has reached its cap. +- `update` : Update one mutable field on a non-finalized crowdloan. +- `refund`: Refund contributors of a non-finalized crowdloan. +- `dissolve`: Dissolve a crowdloan after all contributors have been refunded. +- `list`: List crowdloans together with their funding progress and key metadata. +- `info`: Display detailed information about a specific crowdloan. -### `btcli utils convert` +### `btcli crowd create` -Allows for converting between tao and rao using the specified flags +Start a new crowdloan campaign for fundraising or subnet leasing. -**Usage**: +Create a crowdloan that can either: -```sh -btcli utils convert [OPTIONS] +1. Raise funds for a specific address (general fundraising) +2. Create a new leased subnet where contributors receive emissions + +**EXAMPLES** + +General fundraising: + +```bash +btcli crowd create --deposit 10 --cap 1000 --target-address 5D... ``` -**Options**: +Subnet leasing with 30% emissions for contributors: -| Option | Type | Description | -| -------- | ----- | --------------------------- | -| `--rao` | TEXT | Convert amount from Rao | -| `--tao` | FLOAT | Convert amount from Tao | -| `--help` | | Show this message and exit. | +```bash +btcli crowd create --subnet-lease --emissions-share 30 +``` -### `btcli utils latency` +Subnet lease ending at block 500000: -This command will give you the latency of all finney-like network in addition to any additional networks you specify via the `--network` flag +```bash +btcli crowd create --subnet-lease --emissions-share 25 --lease-end-block 500000 +``` -The results are three-fold. One column is the overall time to initialise a connection, send the requests, and wait for the results. The second column measures single ping-pong speed once connected. The third makes a real world call to fetch the chain head. +**Usage:** -**Example:** +```bash +btcli crowd create [OPTIONS] +``` -```sh -btcli utils latency --network ws://189.234.12.45 --network wss://mysubtensor.duckdns.org +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--deposit` | FLOAT | Initial deposit in TAO to secure the crowdloan. | +| `--min-contribution`, `--min_contribution` | FLOAT | Minimum contribution amount in TAO. | +| `--cap` | INTEGER | Maximum amount in TAO the crowdloan will raise. | +| `--duration` | INTEGER | Crowdloan duration in blocks. | +| `--target-address`, `--target` | TEXT | Optional target SS58 address to receive the raised funds (for fundraising type). | +| `--subnet-lease/--fundraising` | | Create a subnet leasing crowdloan (True) or general fundraising (False). | +| `--emissions-share`, `--emissions` | INTEGER | Percentage of emissions for contributors (0-100) for subnet leasing. | +| `--lease-end-block`, `--lease-end` | INTEGER | Block number when subnet lease ends (omit for perpetual lease). | +| `--prompt/--no-prompt`, ` /--yes`, ` /--no_prompt`, ` /-y` | | Enable or disable interactive prompts. | +| `--wait_for_inclusion` | | If `True`, waits until the transaction is included in a block. | +| `--wait_for_finalization` | | If `True`, waits until the transaction is finalized on the blockchain. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + +### `btcli crowd contribute` + +Contribute TAO to an active crowdloan. + +This command allows you to contribute TAO to a crowdloan that is currently accepting contributions. +The contribution will be automatically adjusted if it would exceed the crowdloan's cap. + +**EXAMPLES** + +```bash +btcli crowd contribute --id 0 --amount 100 ``` -**Usage**: +```bash +btcli crowd contribute --id 1 +``` -```sh -btcli utils latency [OPTIONS] +**Usage:** + +```bash +btcli crowd contribute [OPTIONS] ``` -**Options**: +**Parameters:** -| Option | Type | Description | -| ----------- | ---- | ---------------------------------------------------------- | -| `--network` | TEXT | Network(s) to test for the best connection [default: None] | -| `--help` | | Show this message and exit. | +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--crowdloan-id`, `--crowdloan_id`, `--id` | INTEGER | The ID of the crowdloan to display | +| `--amount`, `-a` | FLOAT | Amount to contribute in TAO | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--prompt/--no-prompt`, ` /--yes`, ` /--no_prompt`, ` /-y` | | Enable or disable interactive prompts. | +| `--wait_for_inclusion` | | If `True`, waits until the transaction is included in a block. | +| `--wait_for_finalization` | | If `True`, waits until the transaction is finalized on the blockchain. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + +### `btcli crowd withdraw` + +Withdraw contributions from a non-finalized crowdloan. + +:::info +Non-creators can withdraw their full contribution. Creators can only withdraw amounts above their initial deposit. +::: + +**Usage:** + +```bash +btcli crowd withdraw [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--crowdloan-id`, `--crowdloan_id`, `--id` | INTEGER | The ID of the crowdloan to withdraw from | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--prompt/--no-prompt`, ` /--yes`, ` /--no_prompt`, ` /-y` | | Enable or disable interactive prompts. | +| `--wait_for_inclusion` | | If `True`, waits until the transaction is included in a block. | +| `--wait_for_finalization` | | If `True`, waits until the transaction is finalized on the blockchain. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + +### `btcli crowd finalize` + +Finalize a successful crowdloan that has reached its cap. + +:::info +Only the creator can finalize. This will transfer funds to the target +address (if specified) and execute any attached call (e.g., subnet creation). +::: + +**Usage:** + +```bash +btcli crowd finalize [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--crowdloan-id`, `--crowdloan_id`, `--id` | INTEGER | The ID of the crowdloan to finalize | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--prompt/--no-prompt`, ` /--yes`, ` /--no_prompt`, ` /-y` | | Enable or disable interactive prompts. | +| `--wait_for_inclusion` | | If `True`, waits until the transaction is included in a block. | +| `--wait_for_finalization` | | If `True`, waits until the transaction is finalized on the blockchain. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + +### `btcli crowd update` + +Update one mutable field on a non-finalized crowdloan. + +:::info + +Only the creator can invoke this. You may change the minimum contribution, the end block, or the cap in a single call. When no flag is provided an interactive prompt guides you through the update and validates the input against the chain constants (absolute minimum contribution, block-duration +bounds, etc.). +::: + +**Usage:** + +```bash +btcli crowd update [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--crowdloan-id`, `--crowdloan_id`, `--id` | INTEGER | The ID of the crowdloan to update | +| `--min-contribution`, `--min` | FLOAT | Update the minimum contribution amount (in TAO) | +| `--end`, `--end-block` | INTEGER | Update the end block number | +| `--cap` | FLOAT | Update the cap amount (in TAO) | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--prompt/--no-prompt`, ` /--yes`, ` /--no_prompt`, ` /-y` | | Enable or disable interactive prompts. | +| `--wait_for_inclusion` | | If `True`, waits until the transaction is included in a block. | +| `--wait_for_finalization` | | If `True`, waits until the transaction is finalized on the blockchain. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + +### `btcli crowd refund` + +Refund contributors of a non-finalized crowdloan. + +:::info +The crowdloan creator may call this once the crowdloan is no longer wanted. Each call refunds up to the on-chain `RefundContributorsLimit` contributors (currently 50) excluding the creator. Run it repeatedly until everyone except the creator has been reimbursed. + +::: + +**Usage:** + +```bash +btcli crowd refund [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--crowdloan-id`, `--crowdloan_id`, `--id` | INTEGER | The ID of the crowdloan to refund | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--prompt/--no-prompt`, ` /--yes`, ` /--no_prompt`, ` /-y` | | Enable or disable interactive prompts. | +| `--wait_for_inclusion` | | If `True`, waits until the transaction is included in a block. | +| `--wait_for_finalization` | | If `True`, waits until the transaction is finalized on the blockchain. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + +### `btcli crowd dissolve` + +Dissolve a crowdloan after all contributors have been refunded. + +Only the creator can dissolve. The crowdloan must be non-finalized and the raised balance must equal the creator's own contribution (i.e., all other contributions have been withdrawn or refunded). Dissolving returns the creator's deposit and removes the crowdloan from storage. + +:::info +If there are funds still available other than the creator's contribution, +you can run `btcli crowd refund` to refund the remaining contributors. +::: + +**Usage:** + +```bash +btcli crowd dissolve [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--crowdloan-id`, `--crowdloan_id`, `--id` | INTEGER | The ID of the crowdloan to dissolve | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--prompt/--no-prompt`, ` /--yes`, ` /--no_prompt`, ` /-y` | | Enable or disable interactive prompts. | +| `--wait_for_inclusion` | | If `True`, waits until the transaction is included in a block. | +| `--wait_for_finalization` | | If `True`, waits until the transaction is finalized on the blockchain. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + +### `btcli crowd list` + +List crowdloans together with their funding progress and key metadata. + +Shows every crowdloan on the selected network, including current status (Active, Funded, Closed, Finalized), whether it is a subnet leasing crowdloan, or a general fundraising crowdloan. + +Use `--verbose` for full-precision amounts and longer addresses. + +**EXAMPLES** + +```bash +btcli crowd list +``` + +```bash +btcli crowd list --verbose +``` + +**Usage:** + +```bash +btcli crowd list [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | | The subtensor network to connect to. Default: finney. | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | + +### `btcli crowd info` + +Display detailed information about a specific crowdloan. + +Includes funding progress, target account, and call details among other information. + +**EXAMPLES** + +```bash +btcli crowd info --id 0 +``` + +```bash +btcli crowd info --id 1 --verbose +``` + +**Usage:** + +```bash +btcli crowd info [OPTIONS] +``` + +**Parameters:** + +| Options | Type | Description | +| --------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------ | +| `--crowdloan-id`, `--crowdloan_id`, `--id` | INTEGER | The ID of the crowdloan to display | +| `--network`, `--subtensor.network`, `--chain`, `--subtensor.chain_endpoint` | | The subtensor network to connect to. Default: finney. | +| `--wallet-name`, `--name`, `--wallet_name`, `--wallet.name` | TEXT | Name of the wallet. | +| `--wallet-path`, `-p`, `--wallet_path`, `--wallet.path` | TEXT | Path where the wallets are located. For example: `/Users/btuser/.bittensor/wallets`. | +| `--hotkey`, `-H`, `--wallet_hotkey`, `--wallet-hotkey`, `--wallet.hotkey` | TEXT | Hotkey of the wallet | +| `--quiet` | | Display only critical information on the console. | +| `--verbose` | | Enable verbose output. | +| `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | +| `--help` | | Show this message and exit. | ## `btcli liquidity` @@ -2958,4 +3261,64 @@ btcli liquidity remove [OPTIONS] | `--json-output`, `--json-out` | | Outputs the result of the command as JSON. | | `--help` | | Show this message and exit. | +## `btcli utils` + +**Usage**: + +```console +btcli utils [OPTIONS] COMMAND [ARGS]... +``` + +**Options**: + +- `--help`: Show this message and exit. + +**Commands**: + +- `convert`: Allows for converting between tao and rao... +- `latency`: This command will give you the latency of all finney-like network in additional to any additional networks you specify via the '--network' flag. + +### `btcli utils convert` + +Allows for converting between tao and rao using the specified flags + +**Usage**: + +```sh +btcli utils convert [OPTIONS] +``` + +**Options**: + +| Option | Type | Description | +| -------- | ----- | --------------------------- | +| `--rao` | TEXT | Convert amount from Rao | +| `--tao` | FLOAT | Convert amount from Tao | +| `--help` | | Show this message and exit. | + +### `btcli utils latency` + +This command will give you the latency of all finney-like network in addition to any additional networks you specify via the `--network` flag + +The results are three-fold. One column is the overall time to initialise a connection, send the requests, and wait for the results. The second column measures single ping-pong speed once connected. The third makes a real world call to fetch the chain head. + +**Example:** + +```sh +btcli utils latency --network ws://189.234.12.45 --network wss://mysubtensor.duckdns.org +``` + +**Usage**: + +```sh +btcli utils latency [OPTIONS] +``` + +**Options**: + +| Option | Type | Description | +| ----------- | ---- | ---------------------------------------------------------- | +| `--network` | TEXT | Network(s) to test for the best connection [default: None] | +| `--help` | | Show this message and exit. | + --- From d157bfa7f4741c3a04a0c5eded365e519c4358c7 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 23 Oct 2025 13:36:28 -0700 Subject: [PATCH 284/303] wip --- docs/concepts/commit-reveal.md | 91 ++---- docs/concepts/weight-copying-in-bittensor.md | 284 ++++--------------- 2 files changed, 81 insertions(+), 294 deletions(-) diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index 8f59c1bb33..7fdba20f35 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -7,9 +7,9 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Commit Reveal -This page describes the **commit reveal** feature: a configurable waiting period that elapses between when consensus weights set by subnet validators are first committed, and when they are revealed publicly and included in Yuma Consensus. +This page describes the **commit reveal** feature: a configurable waiting period that elapses between when consensus weights set by subnet validators are first committed, and when they are revealed publicly and included in [Yuma Consensus](../learn/yuma-consensus). -This feature was designed to address the issue of _weight copying_ by validators. +This feature was designed to address the issue of _weight copying_ by validators. See [The Weight Copying Problem](./weight-copying-in-bittensor). ## Overview @@ -27,66 +27,37 @@ The commit reveal feature is designed to solve the **weight copying problem** by For a detailed explanation of how weight copying works, why it's problematic, and how commit-reveal prevents it, see [The Weight Copying Problem](./weight-copying-in-bittensor.md). ::: -## Commit Reveal and Immunity Period - -The [Immunity Period](../resources/glossary.md#immunity-period) is the interval (measured in blocks) during which a miner or validator newly registered on a subnet is 'immune' from deregistration due to performance. The duration of this period value should always be larger than the Commit Reveal interval, otherwise the immunity period will expire before a given miner's scores are available, and they may be deregistered without having their work counted. - -When creating a new subnet, ensure that the miner immunity period is larger than the commit reveal interval. When updating the immunity period or commit reveal interval hyperparameters for a subnet, use the following formula: - -``` -new_immunity_period = (new_commit_reveal_period x tempo - old_commit_reveal_period x tempo) + old_immunity_period -``` - -See [Subnet Hyperparameters](../subnets/subnet-hyperparameters.md). - - -## Migrating to Commit Reveal - - -After a subnet owner enables commit reveal, validators don't need to change anything. They continue calling [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) as always. All encryption, time-locking, and automatic revealing happens at the chain level. - - ## The Commit Reveal Flow -### 1. Validator Sets Weights +### Validator Sets Weights -A subnet validator calls [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) exactly as they normally would. No code changes are required. +A subnet validator calls [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) exactly as they would without commit reveal. -### 2. Automatic Commit with Time-Lock Encryption +### Automatic Commit with Time-Lock Encryption -Instead of publishing weights openly, the chain automatically: +The chain automatically: - Encrypts the weights using **[Drand time-lock encryption](https://drand.love/docs/timelock-encryption/)** - Commits the encrypted weights to the blockchain via an internal method called [`commit_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html) - Calculates the target Drand round based on the current block and `commit_reveal_period` The encrypted weights cannot be decrypted by anyone—including the validator who submitted them—until the designated Drand round is reached. -:::tip Tempo is a hyperparameter -The subnet's tempo is a hyperparameter. Subnet owners cannot modify this parameter, which defaults to `360` blocks. -::: +### Concealment Period -### 3. Concealment Period +A waiting interval, specified as a number of tempos, elapses. Subnet owners configure this interval with the `commit_reveal_period` hyperparameter. During this time, the weights remain encrypted on-chain and are therefor not included in Yuma Consensus. -A waiting interval, specified as a number of tempos, elapses. Subnet owners configure this interval with the `commit_reveal_period` hyperparameter. During this time: -- The weights remain encrypted on-chain -- No one can view or copy the weights -- The validator does not need to take any action -- One or more tempos may elapse; the weights remain encrypted and are not included in Yuma Consensus until the end of the concealment period +### Automatic Reveal -### 4. Automatic Reveal - -After the `commit_reveal_period` has elapsed, the chain automatically decrypts and reveals the weights at the beginning of the next tempo. This happens when the corresponding Drand randomness beacon pulse becomes available, providing the cryptographic key needed to unlock the time-locked encryption. - +After the `commit_reveal_period` has elapsed, the chain automatically decrypts and reveals the weights at the beginning of the next tempo. This happens when the corresponding Drand beacon pulse becomes available, providing the cryptographic key needed to unlock the time-locked encryption. **Key security property**: The reveal timing is cryptographically guaranteed through the use of [Drand](https://github.com/drand), a decentralized randomness beacon. -### 5. Consensus Processing +### Consensus Processing The revealed weights are now publicly visible and input into Yuma Consensus for the next epoch calculation, just as if they had been submitted without commit reveal. - ## Benefits of automatic commit reveal (added in commit reveal 4) The Drand-based automatic reveal system provides several important benefits: @@ -116,9 +87,15 @@ This detailed sequence diagram shows the CRv4 process across three tempos. Key o - **Concealment period** protects weights during the tempo - **Epoch calculation** uses revealed weights at block 1100, 1200, etc. -## Configuring commit reveal +## Migrating to Commit Reveal + +### Validators and Miners + +After a subnet owner enables commit reveal, validators and miners don't need to change anything. Validators continue calling [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) as before. All encryption, time-locking, and revealing happens automatically at the chain level. + +### Subnet Owners -As a subnet owner, you can enable and configure commit reveal using two hyperparameters: +As a subnet owner, you must enable and configure commit reveal using two hyperparameters: ### Hyperparameters @@ -134,31 +111,19 @@ As a subnet owner, you can enable and configure commit reveal using two hyperpar See [Setting subnet hyperparameters](../subnets/subnet-hyperparameters.md#set-hyperparameters) for how to update these values. -## Reveal timing example +### Commit reveal and the neuron immunity period -Weights will be revealed at the beginning of the tempo after the `commit_reveal_period` has elapsed. The Drand pulse triggers the automatic decryption shortly after the new tempo begins. +:::danger +Subnet owners must ensure that the miner immunity period is larger than the commit reveal interval. +:::: -**Example**: If `commit_reveal_period` is set to `3`: -- **Tempo 10**: Validator commits weights (encrypted) -- **Tempo 11**: Weights remain concealed -- **Tempo 12**: Weights remain concealed -- **Tempo 13**: Weights automatically revealed at tempo start - -The current tempo when committing counts as tempo 1 in the calculation. Refer to the detailed sequence diagram above for a visual representation of this timing. - -:::tip Validator experience -Validators don't see any of this timing complexity. They simply call `set_weights()` whenever they want to update their weights. The chain handles all commit-reveal timing automatically. -::: - -:::danger Critical: Immunity period must be longer than commit reveal interval -Ensure that your immunity period is **longer** than your commit reveal interval to avoid unintended miner deregistration. If the immunity period expires before weights are revealed, newly registered miners may be deregistered without having their performance evaluated. See [Commit Reveal and Immunity Period](#commit-reveal-and-immunity-period). -::: +The [Immunity Period](../resources/glossary.md#immunity-period) for neurons is the interval (measured in blocks) during which a neuron (miner or validator) newly registered on a subnet is 'immune' from deregistration due to performance. The duration of this period value should always be larger than the Commit Reveal interval, otherwise the immunity period will expire before a given miner's scores are available, and they may be deregistered without having their work counted. +When updating the immunity period or commit reveal interval hyperparameters for a subnet, use the following formula: +$$ -## Technical papers and blog +\text{new immunity period} = \left( (\text{new commit reveal period} \times \text{tempo}) - (\text{old commit reveal period} \times \text{tempo}) \right) + \text{old immunity period} -- ACM CCS2024 Poster PDF [Solving the Free-rider Problem In Bittensor](pathname:///papers/ACM_CCS2024_Poster.pdf). -- See [Weight Copying in Bittensor, a technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf). -- Blog post, [Weight Copying in Bittensor](https://blog.bittensor.com/weight-copying-in-bittensor-422585ab8fa5). +$$ diff --git a/docs/concepts/weight-copying-in-bittensor.md b/docs/concepts/weight-copying-in-bittensor.md index d0cb49887d..02a33750f1 100644 --- a/docs/concepts/weight-copying-in-bittensor.md +++ b/docs/concepts/weight-copying-in-bittensor.md @@ -1,10 +1,21 @@ --- title: "The Weight Copying Problem" --- + + +import ThemedImage from '@theme/ThemedImage'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + + # The Weight Copying Problem This page explains **weight copying**—a free-riding behavior where validators copy other validators' work instead of independently evaluating miners. This article covers how weight copying works, why it's problematic, how Bittensor's [commit-reveal](./commit-reveal.md) mechanism prevents it, and best practices for subnet owners. + +- [Opentensor Weight Copying technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf) +- [Opentesor Blog: Weight Copying in Bittensor](https://blog.bittensor.com/weight-copying-in-bittensor-422585ab8fa5) + + ## What is weight copying? In Bittensor subnets, validators are supposed to independently evaluate miners and set weights based on their performance. These weights determine miner emissions through [Yuma Consensus](../learn/yuma-consensus.md). @@ -16,6 +27,17 @@ In Bittensor subnets, validators are supposed to independently evaluate miners a While this might seem like a minor optimization, it undermines the entire incentive mechanism and can lead to cascading failures in subnet quality. +

                                                                    + +
                                                                    + ## The problem with weight copying ### Degraded subnet quality @@ -27,110 +49,60 @@ Validators are the quality control mechanism for subnets. When validators copy w ### Unfair validator rewards -Weight copiers earn dividends without doing the work. This creates several problems: -- Honest validators who invest in good evaluation systems earn less per TAO staked -- Delegators may unknowingly stake to weight copiers instead of honest validators -- The economic incentive to build better validation systems is weakened - -### Centralization pressure - -If weight copying is more profitable than honest validation, rational actors will copy weights. This can lead to: -- Most validators becoming weight copiers -- Only 1-2 validators doing real evaluation work -- Effective centralization of subnet governance - -### Consensus manipulation - -Sophisticated weight copiers can actually shift consensus in harmful ways (explained below), potentially taking bribes from miners or extracting value through strategic weight setting. - -## Optimized weight copying - -Weight copiers don't just blindly copy one validator—they use an **optimized strategy** that actually gives them *higher* returns than any single honest validator: - -### The stake-weighted averaging attack - -1. **Read the current weight matrix**: Weight copiers wait for weights to be publicly revealed -2. **Calculate stake-weighted consensus**: They compute what Yuma Consensus will calculate as the "center" of opinion - ``` - For each miner i: - consensus_weight[i] = Σ(validator_weight[i] × validator_stake) / Σ(validator_stake) - ``` -3. **Submit the consensus weights**: By submitting weights that match the predicted consensus, they maximize their vtrust (validator trust score) -4. **Earn maximum dividends**: Higher vtrust → higher dividends per TAO staked → higher APY - -### Why this works - -In Yuma Consensus, validators are rewarded based on how well their weights align with the emerging consensus. By calculating the stake-weighted average, weight copiers can predict consensus better than any individual honest validator who might have some disagreement with others. - -**Result**: Weight copiers achieve higher validator dividends per stake than honest validators, making weight copying more profitable than honest work. - -### Example scenario +Weight copiers earn dividends without doing the work, in a sense free-riding or parasitising validators that actually do perform validation work. In the worst case scenario, this can lead to most validators becoming weight copiers, with real evaluation work being effectively centralized to a small number of honest validators. This would undermine the benefits of distributed consensus as well as being unfair and inefficient. -Imagine two honest validators: -- **Validator A**: 1M TAO staked, weights miner 1 as `1.0` (excellent) -- **Validator B**: 2M TAO staked, weights miner 1 as `0.5` (mediocre) +If weight copying is more profitable than honest validation, rational actors will copy weights. Another way of thinking about this is that validators must actually pay a cost to validate honestly. Therefore, when weight copying is profitable, the incentive system driving Bittensor is distorted, weakening its ability to fulfill its purpose: producing the best digital commodities in the world. -**Honest validators** submit their true evaluations and will have some divergence from final consensus. +Therefore, it can be seen as subnet owners' responsibility to the community, as well as being in their own interests, to prevent ensure that weight copying is not profitable in their subnets. The best way to do this is by enabling and properly configuring [commit reveal](./commit-reveal). -**Weight copier** calculates: -``` -consensus = (1.0 × 1M + 0.5 × 2M) / (1M + 2M) = 0.67 -``` -The weight copier submits `0.67` for miner 1, perfectly matching where consensus will land, and earns higher vtrust than either honest validator. +Historically, many large weight copiers used an optimized strategy which we can call the stake-weighted averaging attack, that actually gives them *higher* returns than any single honest validator: -## Advanced weight copying: Consensus manipulation +1. **Read the current weight matrix**: Weight copiers wait for weights to be publicly revealed. +2. **Calculate stake-weighted consensus**: They compute what Yuma Consensus will calculate as the "center" of opinion. See [Glossary: Consensus Score](../resources/glossary#consensus-score). +3. **Submit consensus-matching weights**: By submitting weights that match the predicted consensus, they maximize their vtrust (validator trust score). +4. **Earn maximum dividends**: Higher vtrust → higher dividends per TAO staked → higher APY. -With enough stake, weight copiers can do even worse: -### Shifting consensus for profit +This works because in Yuma Consensus, validators are rewarded based on how well their weights align with the emerging consensus. By calculating the stake-weighted median, weight copiers can predict consensus better than any individual honest validator who might have some disagreement with others. As a result, optimized weight copiers achieve higher validator dividends per stake than honest validators, making weight copying more profitable than honest work. -A weight copier with significant stake can: -1. Calculate where consensus *would* be without them -2. Shift their weights to move consensus in a desired direction -3. Accept bribes from miners to shift consensus their way - -**Example**: A miner might pay a weight copier to give them higher weights, knowing that the copier's stake will shift overall consensus upward, resulting in higher miner emissions. - -### Why this is hard to detect - -- The weight copier is still "participating" in consensus -- Their weights might look reasonable on the surface -- Only sophisticated analysis can detect the manipulation pattern +This is a fundamental incentive problem for Bittensor subnet owners: if validators are needed to do validation work rather than weight copy, the validation work itself must be incentivized more than weight-copying. Fortunately, the commit reveal mechanism exists to make weight copying impossible. ## How commit-reveal prevents weight copying -The [commit-reveal mechanism](./commit-reveal.md) solves weight copying by introducing a time delay between when weights are set and when they're publicly visible: +The [commit-reveal mechanism](./commit-reveal.md) solves weight copying by introducing a time delay between when weights are set and when they're publicly visible. -### The concealment period +When weights are concealed for one or more tempos, weight copiers only have access to **stale weights** from previous tempos. If miner performance has changed since those old weights were set, the old weights are inaccurate, and copying them will put the copiers far from consensus. This will wreck their vtrust and their emissions, making weight copying unprofitable. -1. Validators set weights normally +### The commit reveal flow + +1. Validators set weights 2. Weights are encrypted using time-lock encryption 3. Weights remain hidden for a configured number of tempos (the `commit_reveal_period`) 4. Weights are automatically revealed after the concealment period -5. Revealed weights are used in Yuma Consensus calculations +5. Revealed weights are then used in Yuma Consensus calculations + -### Why weight copiers can't win -When weights are concealed for one or more tempos: -- Weight copiers only have access to **stale weights** from previous tempos -- If miner performance has changed since those old weights were set, the old weights are inaccurate -- Copying stale weights causes validators to **diverge from consensus** rather than align with it -- Lower alignment → lower vtrust → lower dividends -- **Weight copying becomes unprofitable** +
                                                                    + +
                                                                    -### The requirement: Dynamic scoring -Commit-reveal only works if **miner performance actually changes** over the timescale of the concealment period. If: -- Miner rankings are static -- Performance is completely predictable -- No new miners register or old miners improve +### The caveat: Dynamic scoring required -Then even stale weights will be accurate, and weight copying can still work. +Commit-reveal only works if **miner performance actually changes** over the timescale of the concealment period. If miner rankings are static and, then even stale weights will be accurate, and weight copying can still work. -**Solution**: Subnet owners should design subnets that demand continuous miner improvement, ensuring that weights from yesterday are less accurate than fresh evaluations today. +Subnet owners should design subnets that demand continuous miner improvement, which is important generally for producing best-in-class digital commodities, and also ensures that weights from yesterday are less accurate than fresh evaluations today, preventing weight copying. -## Historical context: The CRv3 bug +## History of Commit Reveal: The CRv3 bug Understanding how weight copying evolved helps explain why the current system works the way it does. @@ -158,153 +130,3 @@ CRv4 fixed this by: - Ensuring reveals happen at the *start* of the next tempo - Making the reveal timing cryptographically guaranteed (no manual validator action) - Eliminating the window for weight copiers to act - -See [Commit-Reveal documentation](./commit-reveal.md) for full technical details. - -## The decline of weight copying - -Since the deployment of CRv4 and increased subnet owner awareness, weight copying has become significantly less profitable: - -### Statistics (as of late 2024) - - - -Weight copying validator collective: -- **Alpha stake**: Decreased from ~8M TAO to ~4.5M TAO -- **Subnet coverage**: Decreased from 50+ subnets to ~35 subnets -- **Validator count**: Major weight copying operations show declining participation - -This decline demonstrates that commit-reveal, when properly configured, effectively neutralizes the weight copying advantage. - -### Why some weight copiers persist - -Despite the declining profitability: -1. **Some subnets don't enable commit-reveal** (it's optional, not mandatory) -2. **Some subnets have static scoring** (weights don't change much over time) -3. **Short-term profit extraction** is still possible before delegators move stake -4. **Information asymmetry** means some delegators don't yet understand the problem - -## Best practices for subnet owners - -### 1. Enable commit-reveal (strongly recommended) - -Set these hyperparameters: -``` -commit_reveal_weights_enabled: true -commit_reveal_period: 1 # Start with 1 tempo -``` - -**Why**: While technically optional, commit-reveal should be considered essential for any subnet that wants to avoid weight copying. - -See [Commit-Reveal configuration guide](./commit-reveal.md#configuring-commit-reveal). - -### 2. Ensure dynamic miner evaluation - -Design your subnet so that: -- Miner performance changes frequently (at least every few tempos) -- New miners can demonstrate improvements -- Task difficulty or evaluation criteria evolve over time -- Validators must continuously evaluate to maintain accurate weights - -**Example**: Text generation subnets that rotate prompts daily, or prediction markets that constantly have new questions. - -### 3. Configure appropriate commit-reveal periods - -**General guidance**: -- **Fast-changing subnets** (daily performance shifts): 1-2 tempo concealment is sufficient -- **Medium-changing subnets** (weekly performance shifts): 3-5 tempo concealment -- **Slow-changing subnets** (monthly performance shifts): Consider if commit-reveal is right fit, or redesign subnet to be more dynamic - -**Rule of thumb**: The concealment period should be shorter than the typical time it takes for miner rankings to significantly change. - -### 4. Monitor validator behavior - -Watch for signs of weight copying: -- Validators with suspiciously high vtrust relative to their evaluation quality -- Validators whose weights perfectly track consensus with no leading/lagging -- Validators who only submit weights shortly after reveals (if you can observe this) -- Validators registered on many subnets but with minimal evaluation infrastructure - -### 5. Educate your validator community - -Make sure validators understand: -- Why commit-reveal is enabled -- How to configure their systems properly -- The immunity period requirements (see below) -- That they should continue calling `set_weights()` normally (commit-reveal is transparent) - -### 6. Set adequate immunity periods - -**Critical requirement**: `immunity_period` (in blocks) must be longer than `commit_reveal_period × tempo` - -If immunity period is too short, newly registered miners may be deregistered before their weights are revealed and counted. - -**Formula for updating**: -``` -new_immunity_period = (new_commit_reveal_period × tempo - old_commit_reveal_period × tempo) + old_immunity_period -``` - -See [Commit-Reveal and Immunity Period](./commit-reveal.md#commit-reveal-and-immunity-period). - -## Why not make commit-reveal mandatory? - -There's ongoing debate in the Bittensor community about whether commit-reveal should be mandatory for all subnets. - -### Arguments for mandatory commit-reveal - -1. **Eliminates weight copying as a viable strategy** across the entire network -2. **Levels the playing field** for honest validators -3. **Improves overall network quality** by ensuring real evaluation work -4. **Simpler for subnet owners** (one less decision to make) -5. **Aligns with long-term network health** over short-term flexibility - -### Arguments for optional commit-reveal - -1. **Subnet autonomy**: Owners should control their own subnet mechanics -2. **Experimentation**: Some subnets might find novel uses for immediate weight visibility -3. **Edge cases**: Subnets using Yuma v1 or other specialized configurations might not need it -4. **Transition period**: Forced upgrades can disrupt existing operations - -### Current status - -As of now, commit-reveal remains **optional**. However, the recommendation is to enable it unless you have a specific, well-understood reason not to. - -## Detection and analysis - -### For delegators: Identifying weight copiers - -If you're delegating TAO, watch for these red flags: -- Validator registered on many subnets (40+) without corresponding infrastructure -- High validator APY without clear explanation of evaluation methodology -- Validator started earning immediately upon registration (no ramp-up period) -- Declining stake over time as informed delegators move away - - - - -## Free-riding vs. value creation - -Weight copying is one example of a broader category of challenges in decentralized incentive mechanisms: - -Any system that rewards participation must: -- Make it possible to verify that real work was done -- Make copying or faking work more expensive than doing real work -- Ensure that short-term extraction is less profitable than long-term contribution - -### Progressive hardening - -Bittensor's approach has been: -1. Launch with simple, elegant mechanism -2. Observe what attacks emerge in practice -3. Add targeted defenses (like commit-reveal) -4. Continue evolving as new patterns appear - - - -## Related documentation - -- [Commit-Reveal mechanism](./commit-reveal.md) - Full technical details on how commit-reveal works -- [Yuma Consensus](../learn/yuma-consensus.md) - Understanding the consensus algorithm that weight copying tries to game -- [Subnet Hyperparameters](../subnets/subnet-hyperparameters.md) - How to configure commit-reveal and immunity periods -- [Weight Copying technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf) - Academic analysis -- [Blog: Weight Copying in Bittensor](https://blog.bittensor.com/weight-copying-in-bittensor-422585ab8fa5) - Community-focused explanation From fe9a910e8f4e83436f636858fea9a5ddc8917448 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 23 Oct 2025 14:47:12 -0700 Subject: [PATCH 285/303] wip --- docs/concepts/commit-reveal.md | 39 +++++++++++++++++----------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index 7fdba20f35..ab212f2df8 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -9,35 +9,34 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; This page describes the **commit reveal** feature: a configurable waiting period that elapses between when consensus weights set by subnet validators are first committed, and when they are revealed publicly and included in [Yuma Consensus](../learn/yuma-consensus). -This feature was designed to address the issue of _weight copying_ by validators. See [The Weight Copying Problem](./weight-copying-in-bittensor). ## Overview -Commit reveal uses **[Drand time-lock encryption](https://drand.love/docs/timelock-encryption/)** to automatically reveal validator weights after a concealment period. When a validator sets weights, they are cryptographically encrypted and can only be decrypted after the configured number of tempos has passed. This automation eliminates the need for manual reveals and prevents selective revelation attacks. - -**For validators**: The commit reveal process is completely transparent. You continue to call [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) exactly as you always have. All commit-reveal logic happens behind the scenes at the chain level. - In each Bittensor subnet, each validator scores—or _'weights'_—each miner, producing what is referred to as a [weight vector](../resources/glossary.md#weight-vector). The weight vectors for each validator in a subnet are combined into a weight matrix. This matrix determines emissions to miners in the subnet based on the consensus evaluation of their performance, according to [Yuma Consensus](../resources/glossary.md#yuma-consensus). -The weight matrix is public information, and must be, so that emissions in the Bittensor platform can be transparently fair. However, this transparency makes it possible for subnet validators to free-ride on the work of other validators by copying the latest consensus rather than independently evaluating subnet miners. This is unfair and potentially degrades the quality of validation work, undermining Bittensor's ability to incentivize the best miners and produce the best digital commodities overall. - -The commit reveal feature is designed to solve the **weight copying problem** by giving would-be weight copiers access only to stale weights. Copying stale weights should result in validators departing from consensus. However, it is critical to note that this only works if the consensus weight matrix changes sufficiently on the time scale of the commit reveal interval. If the demands on miners are too static, and miner performance is very stable, weight copying will still be successful. The only solution for this is to demand continuous improvement from miners, requiring them to continuously evolve to maintain their scoring. Combined with a properly tuned Commit Reveal interval, this will keep validators honest, as well as producing the best models. +The weight matrix is public information, and must be, so that emissions in the Bittensor platform can be transparently fair. However, this transparency makes it possible for subnet validators to free-ride on the work of other validators by copying the latest consensus rather than independently evaluating subnet miners. This is unfair and potentially degrades the quality of validation work, undermining Bittensor's ability to incentivize the best miners and produce the best digital commodities overall. This is known as the **weight copying problem**. :::tip Learn more about weight copying For a detailed explanation of how weight copying works, why it's problematic, and how commit-reveal prevents it, see [The Weight Copying Problem](./weight-copying-in-bittensor.md). ::: +The commit reveal feature is designed to solve the **weight copying problem** by hiding weights until they are stale. Copying stale weights should result in validators departing from consensus. + +Commit reveal uses **[Drand time-lock encryption](https://drand.love/docs/timelock-encryption/)** to automatically reveal validator weights after a concealment period. When a validator sets weights, they are cryptographically encrypted and can only be decrypted after the configured number of tempos has passed. This automation eliminates the need for manual reveals and prevents selective revelation attacks. +However, it is critical to note that this only works if the consensus weight matrix changes sufficiently on the time scale of the commit reveal interval. If the demands on miners are too static, and miner performance is very stable, weight copying will still be successful. The only solution for this is to demand continuous improvement from miners, requiring them to continuously evolve to maintain their scoring. Combined with a properly tuned Commit Reveal interval, this will keep validators honest, as well as producing the best digital commodities generally. ## The Commit Reveal Flow ### Validator Sets Weights -A subnet validator calls [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) exactly as they would without commit reveal. +The sequence of events begins when a validator calls [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html), to commit their ratings of the subnet's miners. Validators do not need to do anything different whether or not commit reveal is operating. ### Automatic Commit with Time-Lock Encryption -The chain automatically: +Without commit reveal, values are committed openly to the chain. + +With commit reveal, the chain automatically: - Encrypts the weights using **[Drand time-lock encryption](https://drand.love/docs/timelock-encryption/)** - Commits the encrypted weights to the blockchain via an internal method called [`commit_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html) - Calculates the target Drand round based on the current block and `commit_reveal_period` @@ -58,15 +57,6 @@ After the `commit_reveal_period` has elapsed, the chain automatically decrypts a The revealed weights are now publicly visible and input into Yuma Consensus for the next epoch calculation, just as if they had been submitted without commit reveal. -## Benefits of automatic commit reveal (added in commit reveal 4) - -The Drand-based automatic reveal system provides several important benefits: - -1. **No manual reveals required**: Validators don't need to remember to reveal weights or maintain uptime for reveals -2. **Eliminates selective revelation**: Validators cannot choose not to reveal if they see unfavorable consensus forming -3. **Cryptographic guarantees**: Time-lock encryption ensures weights are revealed on schedule -4. **Reduced transaction costs**: No separate reveal transaction is needed -5. **Trustless operation**: Drand is a decentralized network; no single party controls reveal timing
                                                                    Date: Thu, 23 Oct 2025 15:18:31 -0700 Subject: [PATCH 286/303] wip --- docs/concepts/commit-reveal.md | 17 ++++++++--------- docs/concepts/weight-copying-in-bittensor.md | 6 +++--- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index ab212f2df8..4371c5d1d3 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -62,15 +62,14 @@ The revealed weights are now publicly visible and input into Yuma Consensus for
                                                                    - This detailed sequence diagram shows the CRv4 process across three tempos. Key observations: - **Drand pulse** triggers automatic reveals at block 1005, 1105, 1205 (shortly after each tempo starts) - **Commit window** is blocks 1090-1099 of each tempo (last 10 blocks) @@ -87,8 +86,6 @@ After a subnet owner enables commit reveal, validators and miners don't need to As a subnet owner, you must enable and configure commit reveal using two hyperparameters: -### Hyperparameters - 1. **`commit_reveal_weights_enabled`** (boolean) - Set to `True` to activate commit reveal for your subnet - Default: `False` (disabled) @@ -101,14 +98,16 @@ As a subnet owner, you must enable and configure commit reveal using two hyperpa See [Setting subnet hyperparameters](../subnets/subnet-hyperparameters.md#set-hyperparameters) for how to update these values. -### Commit reveal and the neuron immunity period +#### Commit reveal and the neuron immunity period + -:::danger -Subnet owners must ensure that the miner immunity period is larger than the commit reveal interval. -:::: The [Immunity Period](../resources/glossary.md#immunity-period) for neurons is the interval (measured in blocks) during which a neuron (miner or validator) newly registered on a subnet is 'immune' from deregistration due to performance. The duration of this period value should always be larger than the Commit Reveal interval, otherwise the immunity period will expire before a given miner's scores are available, and they may be deregistered without having their work counted. +:::danger +Subnet owners must ensure that the miner immunity period is larger than the commit reveal interval. +::: + When updating the immunity period or commit reveal interval hyperparameters for a subnet, use the following formula: $$ diff --git a/docs/concepts/weight-copying-in-bittensor.md b/docs/concepts/weight-copying-in-bittensor.md index 02a33750f1..bccc63a760 100644 --- a/docs/concepts/weight-copying-in-bittensor.md +++ b/docs/concepts/weight-copying-in-bittensor.md @@ -88,8 +88,8 @@ When weights are concealed for one or more tempos, weight copiers only have acce @@ -98,7 +98,7 @@ style={{width: '100%', maxWidth: 900}} ### The caveat: Dynamic scoring required -Commit-reveal only works if **miner performance actually changes** over the timescale of the concealment period. If miner rankings are static and, then even stale weights will be accurate, and weight copying can still work. +Commit-reveal only works if **miner performance actually changes** over the timescale of the concealment period. If the ground truth about miner rankings is static, then even stale weights will be accurate, and weight copying can still work. Subnet owners should design subnets that demand continuous miner improvement, which is important generally for producing best-in-class digital commodities, and also ensures that weights from yesterday are less accurate than fresh evaluations today, preventing weight copying. From 1cfdafca15e333ace323519390b7a65655e146c0 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 23 Oct 2025 15:23:57 -0700 Subject: [PATCH 287/303] wip --- docs/concepts/commit-reveal.md | 32 ++++++++++---------- docs/concepts/consensus-based-weights.md | 4 +-- docs/concepts/weight-copying-in-bittensor.md | 20 ++++++------ docs/resources/glossary.md | 4 +-- docs/subnets/_legacy_hyperparams.md | 4 +-- 5 files changed, 32 insertions(+), 32 deletions(-) diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index 4371c5d1d3..8029ba5f20 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -7,7 +7,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Commit Reveal -This page describes the **commit reveal** feature: a configurable waiting period that elapses between when consensus weights set by subnet validators are first committed, and when they are revealed publicly and included in [Yuma Consensus](../learn/yuma-consensus). +This page describes the **Commit Reveal** feature: a configurable waiting period that elapses between when consensus weights set by subnet validators are first committed, and when they are revealed publicly and included in [Yuma Consensus](../learn/yuma-consensus). ## Overview @@ -17,26 +17,26 @@ In each Bittensor subnet, each validator scores—or _'weights'_—each The weight matrix is public information, and must be, so that emissions in the Bittensor platform can be transparently fair. However, this transparency makes it possible for subnet validators to free-ride on the work of other validators by copying the latest consensus rather than independently evaluating subnet miners. This is unfair and potentially degrades the quality of validation work, undermining Bittensor's ability to incentivize the best miners and produce the best digital commodities overall. This is known as the **weight copying problem**. :::tip Learn more about weight copying -For a detailed explanation of how weight copying works, why it's problematic, and how commit-reveal prevents it, see [The Weight Copying Problem](./weight-copying-in-bittensor.md). +For a detailed explanation of how weight copying works, why it's problematic, and how Commit Reveal prevents it, see [The Weight Copying Problem](./weight-copying-in-bittensor.md). ::: -The commit reveal feature is designed to solve the **weight copying problem** by hiding weights until they are stale. Copying stale weights should result in validators departing from consensus. +The Commit Reveal feature is designed to solve the **weight copying problem** by hiding weights until they are stale. Copying stale weights should result in validators departing from consensus. Commit reveal uses **[Drand time-lock encryption](https://drand.love/docs/timelock-encryption/)** to automatically reveal validator weights after a concealment period. When a validator sets weights, they are cryptographically encrypted and can only be decrypted after the configured number of tempos has passed. This automation eliminates the need for manual reveals and prevents selective revelation attacks. -However, it is critical to note that this only works if the consensus weight matrix changes sufficiently on the time scale of the commit reveal interval. If the demands on miners are too static, and miner performance is very stable, weight copying will still be successful. The only solution for this is to demand continuous improvement from miners, requiring them to continuously evolve to maintain their scoring. Combined with a properly tuned Commit Reveal interval, this will keep validators honest, as well as producing the best digital commodities generally. +However, it is critical to note that this only works if the consensus weight matrix changes sufficiently on the time scale of the Commit Reveal interval. If the demands on miners are too static, and miner performance is very stable, weight copying will still be successful. The only solution for this is to demand continuous improvement from miners, requiring them to continuously evolve to maintain their scoring. Combined with a properly tuned Commit Reveal interval, this will keep validators honest, as well as producing the best digital commodities generally. ## The Commit Reveal Flow ### Validator Sets Weights -The sequence of events begins when a validator calls [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html), to commit their ratings of the subnet's miners. Validators do not need to do anything different whether or not commit reveal is operating. +The sequence of events begins when a validator calls [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html), to commit their ratings of the subnet's miners. Validators do not need to do anything different whether or not Commit Reveal is operating. ### Automatic Commit with Time-Lock Encryption -Without commit reveal, values are committed openly to the chain. +Without Commit Reveal, values are committed openly to the chain. -With commit reveal, the chain automatically: +With Commit Reveal, the chain automatically: - Encrypts the weights using **[Drand time-lock encryption](https://drand.love/docs/timelock-encryption/)** - Commits the encrypted weights to the blockchain via an internal method called [`commit_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html) - Calculates the target Drand round based on the current block and `commit_reveal_period` @@ -55,7 +55,7 @@ After the `commit_reveal_period` has elapsed, the chain automatically decrypts a ### Consensus Processing -The revealed weights are now publicly visible and input into Yuma Consensus for the next epoch calculation, just as if they had been submitted without commit reveal. +The revealed weights are now publicly visible and input into Yuma Consensus for the next epoch calculation, just as if they had been submitted without Commit Reveal.
                                                                    @@ -80,14 +80,14 @@ This detailed sequence diagram shows the CRv4 process across three tempos. Key o ### Validators and Miners -After a subnet owner enables commit reveal, validators and miners don't need to change anything. Validators continue calling [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) as before. All encryption, time-locking, and revealing happens automatically at the chain level. +After a subnet owner enables Commit Reveal, validators and miners don't need to change anything. Validators continue calling [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html) as before. All encryption, time-locking, and revealing happens automatically at the chain level. ### Subnet Owners -As a subnet owner, you must enable and configure commit reveal using two hyperparameters: +As a subnet owner, you must enable and configure Commit Reveal using two hyperparameters: 1. **`commit_reveal_weights_enabled`** (boolean) - - Set to `True` to activate commit reveal for your subnet + - Set to `True` to activate Commit Reveal for your subnet - Default: `False` (disabled) - When enabled, all validator weights are automatically committed with time-lock encryption @@ -105,20 +105,20 @@ See [Setting subnet hyperparameters](../subnets/subnet-hyperparameters.md#set-hy The [Immunity Period](../resources/glossary.md#immunity-period) for neurons is the interval (measured in blocks) during which a neuron (miner or validator) newly registered on a subnet is 'immune' from deregistration due to performance. The duration of this period value should always be larger than the Commit Reveal interval, otherwise the immunity period will expire before a given miner's scores are available, and they may be deregistered without having their work counted. :::danger -Subnet owners must ensure that the miner immunity period is larger than the commit reveal interval. +Subnet owners must ensure that the miner immunity period is larger than the Commit Reveal interval. ::: -When updating the immunity period or commit reveal interval hyperparameters for a subnet, use the following formula: +When updating the immunity period or Commit Reveal interval hyperparameters for a subnet, use the following formula: $$ -\text{new immunity period} = \left( (\text{new commit reveal period} \times \text{tempo}) - (\text{old commit reveal period} \times \text{tempo}) \right) + \text{old immunity period} +\text{new immunity period} = \left( (\text{new Commit Reveal period} \times \text{tempo}) - (\text{old Commit Reveal period} \times \text{tempo}) \right) + \text{old immunity period} $$ -## Automatic commit reveal (added in commit reveal 4) +## Automatic Commit Reveal (added in Commit Reveal 4) -Previous versions of commit reveal required validators to explicitly reveal their committed weights in order to input them to Yuma Consensus. This opened an exploit vector where validators could wait until after other weights are revealed, then decide whether or not to reveal their own previously submitted weights for the tempo based on whether or not it would hurt or help vtrust. +Previous versions of Commit Reveal required validators to explicitly reveal their committed weights in order to input them to Yuma Consensus. This opened an exploit vector where validators could wait until after other weights are revealed, then decide whether or not to reveal their own previously submitted weights for the tempo based on whether or not it would hurt or help vtrust. The Drand-based automatic reveal system prevents that exploit, and more generally provides several important benefits: diff --git a/docs/concepts/consensus-based-weights.md b/docs/concepts/consensus-based-weights.md index ce0577921a..b6d9c5d516 100644 --- a/docs/concepts/consensus-based-weights.md +++ b/docs/concepts/consensus-based-weights.md @@ -18,7 +18,7 @@ With this feature, a subnet validator's dividends are better correlated to the p A subnet owner can run the `weight_copy/liquid_alpha_diagnostic.ipynb` in the Python notebook below to experiment and choose the right values for the hyperparameters `alpha_low`, `alpha_high`, and `commit_reveal_interval`. -- For commit reveal diagnostic: https://colab.research.google.com/github/opentensor/developer-docs/blob/main/static/weight_copy/commit_reveal_diagnostic.ipynb?authuser=5 +- For Commit Reveal diagnostic: https://colab.research.google.com/github/opentensor/developer-docs/blob/main/static/weight_copy/commit_reveal_diagnostic.ipynb?authuser=5 - For liquid alpha diagnostic: https://colab.research.google.com/github/opentensor/developer-docs/blob/main/static/weight_copy/liquid_alpha_diagnostic.ipynb?authuser=5 - [GitHub directory with Python notebooks](https://github.com/latent-to/developer-docs/tree/main/static/weight_copy/). @@ -137,7 +137,7 @@ print(alpha_low_high_result) ### Example Python code -Below is the example Python code showing how to use the above definitions for the commit reveal feature: +Below is the example Python code showing how to use the above definitions for the Commit Reveal feature: ```python import bittensor as bt diff --git a/docs/concepts/weight-copying-in-bittensor.md b/docs/concepts/weight-copying-in-bittensor.md index bccc63a760..9aa3a905f1 100644 --- a/docs/concepts/weight-copying-in-bittensor.md +++ b/docs/concepts/weight-copying-in-bittensor.md @@ -9,7 +9,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # The Weight Copying Problem -This page explains **weight copying**—a free-riding behavior where validators copy other validators' work instead of independently evaluating miners. This article covers how weight copying works, why it's problematic, how Bittensor's [commit-reveal](./commit-reveal.md) mechanism prevents it, and best practices for subnet owners. +This page explains **weight copying**—a free-riding behavior where validators copy other validators' work instead of independently evaluating miners. This article covers how weight copying works, why it's problematic, how Bittensor's [Commit Reveal](./commit-reveal.md) mechanism prevents it, and best practices for subnet owners. - [Opentensor Weight Copying technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf) @@ -53,7 +53,7 @@ Weight copiers earn dividends without doing the work, in a sense free-riding or If weight copying is more profitable than honest validation, rational actors will copy weights. Another way of thinking about this is that validators must actually pay a cost to validate honestly. Therefore, when weight copying is profitable, the incentive system driving Bittensor is distorted, weakening its ability to fulfill its purpose: producing the best digital commodities in the world. -Therefore, it can be seen as subnet owners' responsibility to the community, as well as being in their own interests, to prevent ensure that weight copying is not profitable in their subnets. The best way to do this is by enabling and properly configuring [commit reveal](./commit-reveal). +Therefore, it can be seen as subnet owners' responsibility to the community, as well as being in their own interests, to prevent ensure that weight copying is not profitable in their subnets. The best way to do this is by enabling and properly configuring [Commit Reveal](./commit-reveal). Historically, many large weight copiers used an optimized strategy which we can call the stake-weighted averaging attack, that actually gives them *higher* returns than any single honest validator: @@ -66,15 +66,15 @@ Historically, many large weight copiers used an optimized strategy which we can This works because in Yuma Consensus, validators are rewarded based on how well their weights align with the emerging consensus. By calculating the stake-weighted median, weight copiers can predict consensus better than any individual honest validator who might have some disagreement with others. As a result, optimized weight copiers achieve higher validator dividends per stake than honest validators, making weight copying more profitable than honest work. -This is a fundamental incentive problem for Bittensor subnet owners: if validators are needed to do validation work rather than weight copy, the validation work itself must be incentivized more than weight-copying. Fortunately, the commit reveal mechanism exists to make weight copying impossible. +This is a fundamental incentive problem for Bittensor subnet owners: if validators are needed to do validation work rather than weight copy, the validation work itself must be incentivized more than weight-copying. Fortunately, the Commit Reveal mechanism exists to make weight copying impossible. -## How commit-reveal prevents weight copying +## How Commit Reveal prevents weight copying -The [commit-reveal mechanism](./commit-reveal.md) solves weight copying by introducing a time delay between when weights are set and when they're publicly visible. +Bittensor's [Commit Reveal mechanism](./commit-reveal.md) solves weight copying by introducing a time delay between when weights are set and when they're publicly visible. When weights are concealed for one or more tempos, weight copiers only have access to **stale weights** from previous tempos. If miner performance has changed since those old weights were set, the old weights are inaccurate, and copying them will put the copiers far from consensus. This will wreck their vtrust and their emissions, making weight copying unprofitable. -### The commit reveal flow +### The Commit Reveal Flow 1. Validators set weights 2. Weights are encrypted using time-lock encryption @@ -98,7 +98,7 @@ style={{width: '100%', maxWidth: 900}} ### The caveat: Dynamic scoring required -Commit-reveal only works if **miner performance actually changes** over the timescale of the concealment period. If the ground truth about miner rankings is static, then even stale weights will be accurate, and weight copying can still work. +Commit reveal only works if **miner performance actually changes** over the timescale of the concealment period. If the ground truth about miner rankings is static, then even stale weights will be accurate, and weight copying can still work. Subnet owners should design subnets that demand continuous miner improvement, which is important generally for producing best-in-class digital commodities, and also ensures that weights from yesterday are less accurate than fresh evaluations today, preventing weight copying. @@ -106,9 +106,9 @@ Subnet owners should design subnets that demand continuous miner improvement, wh Understanding how weight copying evolved helps explain why the current system works the way it does. -### Commit-reveal v3 (CRv3): The same-tempo vulnerability +### Commit reveal v3 (CRv3): The same-tempo vulnerability -In the third version of commit-reveal: +In the third version of Commit Reveal: - Validators committed weights (encrypted) - Validators revealed weights (decrypted) **in the same tempo** - Both operations happened before the epoch calculation @@ -123,7 +123,7 @@ Weight copiers discovered they could: Despite weights being "concealed," the same-tempo reveal gave weight copiers enough time to copy and submit. -### The fix: Commit-reveal v4 (CRv4) +### The fix: Commit reveal v4 (CRv4) CRv4 fixed this by: - Using [Drand time-lock encryption](https://drand.love/docs/timelock-encryption/) for automatic reveals diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index 36c12452f4..2ed760a1df 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -70,7 +70,7 @@ A combination of two keys, a coldkey for secure storage and high-risk operations ### Commit Reveal -The commit reveal feature is designed to solve the weight-copying problem by giving would-be weight-copiers access only to stale weights. Copying stale weights should result in validators departing from consensus. +The Commit Reveal feature is designed to solve the weight-copying problem by giving would-be weight-copiers access only to stale weights. Copying stale weights should result in validators departing from consensus. **See also:** - [Commit Reveal](../concepts/commit-reveal.md) @@ -182,7 +182,7 @@ The process of removing a subnet miner or a subnet validator from the subnet due Drand provides **time-lock encryption**, a cryptographic technique that encrypts data so that it can only be decrypted *after a specific time has passed*. Drand provides this capability by regularly producing randomness "pulses" at fixed intervals. Data encrypted for a future Drand round cannot be decrypted until that round's randomness is published—even by the person who encrypted it. -Key properties that make Drand suitable for applications in Bittensor, such as [commit reveal](#commit-reveal): +Key properties that make Drand suitable for applications in Bittensor, such as [Commit Reveal](#commit-reveal): - **Decentralized**: No single entity controls the randomness generation - **Verifiable**: Anyone can verify that randomness was generated correctly - **Predictable timing**: Pulses are produced at regular intervals diff --git a/docs/subnets/_legacy_hyperparams.md b/docs/subnets/_legacy_hyperparams.md index de302b54fb..9dfc514d2e 100644 --- a/docs/subnets/_legacy_hyperparams.md +++ b/docs/subnets/_legacy_hyperparams.md @@ -105,7 +105,7 @@ Consider Subnet-1 where `max_weight_limit` is set to 455 and `min_allowed_weight : The interval, measured as a number of blocks, that elapses before unencrypted weights are revealed. **Value** -: The commit reveal interval, as an integer count of blocks. +: The Commit Reveal interval, as an integer count of blocks. **Setting** : This parameter can be changed by the subnet owner, and must be tuned carefully for the subnet. It should always be greater than the [immunity period](#immunity_period) to avoid unintended miner deregistration—see [Commit Reveal and Immunity Period](./commit-reveal.md#commit-reveal-and-immunity-period). @@ -131,7 +131,7 @@ Varies between subnets, for example 7200 blocks for Subnet-1. **Setting** : This parameter can be changed by the subnet owner, and must be tuned carefully for the subnet. -If [Commit Reveal](./commit-reveal.md) is enabled for the subnet, the value of the commit reveal interval should always be greater than the immunity period within the subnet, to avoid unintended miner deregistration—see [Commit Reveal and Immunity Period](./commit-reveal.md#commit-reveal-and-immunity-period). +If [Commit Reveal](./commit-reveal.md) is enabled for the subnet, the value of the Commit Reveal interval should always be greater than the immunity period within the subnet, to avoid unintended miner deregistration—see [Commit Reveal and Immunity Period](./commit-reveal.md#commit-reveal-and-immunity-period). :::tip immunity period for a subnet From f5352e9e2053f5679f7e2e2f54b93ce6c504852e Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 23 Oct 2025 15:25:46 -0700 Subject: [PATCH 288/303] wip --- docs/concepts/weight-copying-in-bittensor.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/concepts/weight-copying-in-bittensor.md b/docs/concepts/weight-copying-in-bittensor.md index 9aa3a905f1..b3166064ff 100644 --- a/docs/concepts/weight-copying-in-bittensor.md +++ b/docs/concepts/weight-copying-in-bittensor.md @@ -9,13 +9,12 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # The Weight Copying Problem -This page explains **weight copying**—a free-riding behavior where validators copy other validators' work instead of independently evaluating miners. This article covers how weight copying works, why it's problematic, how Bittensor's [Commit Reveal](./commit-reveal.md) mechanism prevents it, and best practices for subnet owners. - +This page explains **weight copying**—a free-riding behavior where validators copy other validators' work instead of independently evaluating miners. This article covers how weight copying works, why it is problematic, and how subnet owners can prevent weight copying on their subnets using Bittensor's [Commit Reveal](./commit-reveal.md) mechanism. +See also: - [Opentensor Weight Copying technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf) - [Opentesor Blog: Weight Copying in Bittensor](https://blog.bittensor.com/weight-copying-in-bittensor-422585ab8fa5) - ## What is weight copying? In Bittensor subnets, validators are supposed to independently evaluate miners and set weights based on their performance. These weights determine miner emissions through [Yuma Consensus](../learn/yuma-consensus.md). From dcbe04e4467922ae5bfe90ccbe39eedc82a2d1ab Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 23 Oct 2025 15:39:00 -0700 Subject: [PATCH 289/303] wip --- docs/concepts/commit-reveal.md | 5 +-- docs/concepts/weight-copying-in-bittensor.md | 45 +++----------------- static/img/docs/commit-reveal-v4.svg | 1 + static/img/docs/weight-copy.svg | 1 + 4 files changed, 10 insertions(+), 42 deletions(-) create mode 100644 static/img/docs/commit-reveal-v4.svg create mode 100644 static/img/docs/weight-copy.svg diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index 8029ba5f20..8cf1b7d5fb 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -49,15 +49,12 @@ A waiting interval, specified as a number of tempos, elapses. Subnet owners conf ### Automatic Reveal -After the `commit_reveal_period` has elapsed, the chain automatically decrypts and reveals the weights at the beginning of the next tempo. This happens when the corresponding Drand beacon pulse becomes available, providing the cryptographic key needed to unlock the time-locked encryption. - -**Key security property**: The reveal timing is cryptographically guaranteed through the use of [Drand](https://github.com/drand), a decentralized randomness beacon. +After the `commit_reveal_period` has elapsed, the chain automatically decrypts and reveals the weights at the beginning of the next tempo. This happens when the corresponding Drand beacon pulse becomes available, providing the cryptographic key needed to unlock the time-locked encryption. This use of Drand as the reveal mechanism gives commit reveal a strong cryptographic guarantee. ### Consensus Processing The revealed weights are now publicly visible and input into Yuma Consensus for the next epoch calculation, just as if they had been submitted without Commit Reveal. -
                                                                    -## The problem with weight copying +## The problems with weight copying ### Degraded subnet quality @@ -57,11 +57,10 @@ Therefore, it can be seen as subnet owners' responsibility to the community, as Historically, many large weight copiers used an optimized strategy which we can call the stake-weighted averaging attack, that actually gives them *higher* returns than any single honest validator: -1. **Read the current weight matrix**: Weight copiers wait for weights to be publicly revealed. -2. **Calculate stake-weighted consensus**: They compute what Yuma Consensus will calculate as the "center" of opinion. See [Glossary: Consensus Score](../resources/glossary#consensus-score). -3. **Submit consensus-matching weights**: By submitting weights that match the predicted consensus, they maximize their vtrust (validator trust score). -4. **Earn maximum dividends**: Higher vtrust → higher dividends per TAO staked → higher APY. - +1. Weight copiers wait for weights to be publicly revealed. +2. They compute what weights they can submit that Yuma Consensus will judge as maximally in consensus, by giving the stake-weighted median of validators' weight scores for each miner. See [Glossary: Consensus Score](../resources/glossary#consensus-score). +3. By submitting weights that match the predicted consensus, they maximize their vtrust (validator trust score). +4. Higher vtrust → higher dividends per TAO staked → higher APY. This works because in Yuma Consensus, validators are rewarded based on how well their weights align with the emerging consensus. By calculating the stake-weighted median, weight copiers can predict consensus better than any individual honest validator who might have some disagreement with others. As a result, optimized weight copiers achieve higher validator dividends per stake than honest validators, making weight copying more profitable than honest work. @@ -82,7 +81,6 @@ When weights are concealed for one or more tempos, weight copiers only have acce 5. Revealed weights are then used in Yuma Consensus calculations -
                                                                    -### The caveat: Dynamic scoring required +## The caveat: Dynamic scoring required -Commit reveal only works if **miner performance actually changes** over the timescale of the concealment period. If the ground truth about miner rankings is static, then even stale weights will be accurate, and weight copying can still work. +Commit reveal only prevents weight copying if **miner performance actually changes** over the timescale of the concealment period. If the ground truth about miner rankings is overly static, then even stale weights will be accurate enough to be profitable, and in this case, nothing can prevent weight copying. Subnet owners should design subnets that demand continuous miner improvement, which is important generally for producing best-in-class digital commodities, and also ensures that weights from yesterday are less accurate than fresh evaluations today, preventing weight copying. - -## History of Commit Reveal: The CRv3 bug - -Understanding how weight copying evolved helps explain why the current system works the way it does. - -### Commit reveal v3 (CRv3): The same-tempo vulnerability - -In the third version of Commit Reveal: -- Validators committed weights (encrypted) -- Validators revealed weights (decrypted) **in the same tempo** -- Both operations happened before the epoch calculation - -### The exploit - -Weight copiers discovered they could: -1. Wait for honest validators to reveal their weights (still in the same tempo) -2. Quickly calculate the stake-weighted consensus -3. Submit their own weights before the epoch calculation at the end of the tempo -4. Still achieve higher vtrust than honest validators - -Despite weights being "concealed," the same-tempo reveal gave weight copiers enough time to copy and submit. - -### The fix: Commit reveal v4 (CRv4) - -CRv4 fixed this by: -- Using [Drand time-lock encryption](https://drand.love/docs/timelock-encryption/) for automatic reveals -- Ensuring reveals happen at the *start* of the next tempo -- Making the reveal timing cryptographically guaranteed (no manual validator action) -- Eliminating the window for weight copiers to act diff --git a/static/img/docs/commit-reveal-v4.svg b/static/img/docs/commit-reveal-v4.svg new file mode 100644 index 0000000000..df0aceabb8 --- /dev/null +++ b/static/img/docs/commit-reveal-v4.svg @@ -0,0 +1 @@ +Commit Reveal v4 (tempo set to 100 blocks)Commit Reveal v4 (tempo set to 100 blocks)ValidatorValidatorValidatorValidatorValidatorValidatorValidatorValidatorChain storageChain storageChain storageChain storageChain storageChain storageChain storageChain storageCurrent weightsCurrent weightsCurrent weightsCurrent weightsCurrent weightsCurrent weightsCurrent weightsCurrent weightsValidatorValidatorValidatorValidatorValidatorValidatorValidatorValidatorSubtensorSubtensorSubtensorSubtensorSubtensorSubtensorSubtensorSubtensorChain storageChain storageChain storageChain storageChain storageChain storageChain storageChain storageCurrent weightsCurrent weightsCurrent weightsCurrent weightsCurrent weightsCurrent weightsCurrent weightsCurrent weightsYumaYumaYumaYumaYumaYumaYumaYumaDrandDrandDrandDrandDrandDrandDrandDrandValidatorValidatorSubtensorSubtensorChain storageChain storageCurrent weightsCurrent weightsYumaYumaDrandDrandValidatorValidatorValidatorValidatorValidatorValidatorValidatorValidatorChain storageChain storageChain storageChain storageChain storageChain storageChain storageChain storageCurrent weightsCurrent weightsCurrent weightsCurrent weightsCurrent weightsCurrent weightsCurrent weightsCurrent weightsTempo 10 start[block 1000]tempo beginsevaluateminers[block 1005]drand pulsereveal weightsweights waitingfor epoch[block 1090-1099]commit weightsstoreconcealmentperiodTempo 10 epoch[block 1100]get weightsrun epochTempo 11 start[block 1100]tempo beginsevaluateminers[block 1105]drand pulsereveal weightsweights waitingfor epoch[block 1190-1199]commit weightsstoreconcealmentperiodTempo 11 epoch[block 1200]get weightsrun epochTempo 12 start[block 1200]tempo beginsevaluateminers[block 1205]drand pulsereveal weightsweights waitingfor epoch[block 1290-1299]commit weightsstoreconcealmentperiod \ No newline at end of file diff --git a/static/img/docs/weight-copy.svg b/static/img/docs/weight-copy.svg new file mode 100644 index 0000000000..380f508ddc --- /dev/null +++ b/static/img/docs/weight-copy.svg @@ -0,0 +1 @@ +Weight Copying (tempo set to 100 blocks)Weight Copying (tempo set to 100 blocks)ValidatorValidatorValidatorCurrent weightsValidatorValidatorSubtensorSubtensorCurrent weightsCurrent weightsYumaYumaWeight copierWeight copierValidatorValidatorSubtensorSubtensorCurrent weightsCurrent weightsYumaYumaWeight copierWeight copierValidatorValidatorValidatorCurrent weightsTempo 10 start[block 1000]tempo beginsevaluateminers[block 1090-1099]set weightsstore weightsweights waitingfor epochget weightscalculatethe stake-weightedaverage of weights[block 1090-1099]set weightsstore weightsTempo 10 epoch[block 1100]get weightsrun epochTempo 11 start[block 1100]tempo beginsevaluateminers \ No newline at end of file From aa0a81fc9476735ff36a827d6bde4e609fab4cbc Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 23 Oct 2025 16:41:09 -0700 Subject: [PATCH 290/303] wip --- docs/concepts/commit-reveal.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index 8cf1b7d5fb..333001682d 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -16,9 +16,8 @@ In each Bittensor subnet, each validator scores—or _'weights'_—each The weight matrix is public information, and must be, so that emissions in the Bittensor platform can be transparently fair. However, this transparency makes it possible for subnet validators to free-ride on the work of other validators by copying the latest consensus rather than independently evaluating subnet miners. This is unfair and potentially degrades the quality of validation work, undermining Bittensor's ability to incentivize the best miners and produce the best digital commodities overall. This is known as the **weight copying problem**. -:::tip Learn more about weight copying -For a detailed explanation of how weight copying works, why it's problematic, and how Commit Reveal prevents it, see [The Weight Copying Problem](./weight-copying-in-bittensor.md). -::: +See [The Weight Copying Problem](./weight-copying-in-bittensor.md). + The Commit Reveal feature is designed to solve the **weight copying problem** by hiding weights until they are stale. Copying stale weights should result in validators departing from consensus. From dc36b2e208a8328a199353679bfd1d6fa991d2d8 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Thu, 23 Oct 2025 16:45:09 -0700 Subject: [PATCH 291/303] wip --- docs/concepts/commit-reveal.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index 333001682d..92bdb8db51 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -54,6 +54,14 @@ After the `commit_reveal_period` has elapsed, the chain automatically decrypts a The revealed weights are now publicly visible and input into Yuma Consensus for the next epoch calculation, just as if they had been submitted without Commit Reveal. + + +The below diagram shows the commit reveal process across three tempos. Key things to note: +- **Drand pulse** triggers automatic reveals at block 1005, 1105, 1205 (shortly after each tempo starts) +- **Commit window** is blocks 1090-1099 of each tempo (last 10 blocks) +- **Concealment period** protects weights during the tempo +- **Epoch calculation** uses revealed weights at block 1100, 1200, etc. +
                                                                    -This detailed sequence diagram shows the CRv4 process across three tempos. Key observations: -- **Drand pulse** triggers automatic reveals at block 1005, 1105, 1205 (shortly after each tempo starts) -- **Commit window** is blocks 1090-1099 of each tempo (last 10 blocks) -- **Concealment period** protects weights during the tempo -- **Epoch calculation** uses revealed weights at block 1100, 1200, etc. - ## Migrating to Commit Reveal ### Validators and Miners From 64dff51183fd32e9f983c5db43464d4f93bba466 Mon Sep 17 00:00:00 2001 From: Dera Okeke <63825182+chideraao@users.noreply.github.com> Date: Fri, 24 Oct 2025 12:59:38 +0100 Subject: [PATCH 292/303] Update commit-reveal.md --- docs/concepts/commit-reveal.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index 92bdb8db51..d4553f55b5 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -44,7 +44,7 @@ The encrypted weights cannot be decrypted by anyone—including the validator wh ### Concealment Period -A waiting interval, specified as a number of tempos, elapses. Subnet owners configure this interval with the `commit_reveal_period` hyperparameter. During this time, the weights remain encrypted on-chain and are therefor not included in Yuma Consensus. +A waiting interval, specified as a number of tempos, elapses. Subnet owners configure this interval with the `commit_reveal_period` hyperparameter. During this time, the weights remain encrypted on-chain and are therefore not included in Yuma Consensus. ### Automatic Reveal From 9c9922bc139476c30edbb011f286bf845a681c42 Mon Sep 17 00:00:00 2001 From: Dera Okeke <63825182+chideraao@users.noreply.github.com> Date: Fri, 24 Oct 2025 14:00:43 +0100 Subject: [PATCH 293/303] Update weight-copying-in-bittensor.md --- docs/concepts/weight-copying-in-bittensor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/weight-copying-in-bittensor.md b/docs/concepts/weight-copying-in-bittensor.md index 23c02a2148..62072f84ba 100644 --- a/docs/concepts/weight-copying-in-bittensor.md +++ b/docs/concepts/weight-copying-in-bittensor.md @@ -52,7 +52,7 @@ Weight copiers earn dividends without doing the work, in a sense free-riding or If weight copying is more profitable than honest validation, rational actors will copy weights. Another way of thinking about this is that validators must actually pay a cost to validate honestly. Therefore, when weight copying is profitable, the incentive system driving Bittensor is distorted, weakening its ability to fulfill its purpose: producing the best digital commodities in the world. -Therefore, it can be seen as subnet owners' responsibility to the community, as well as being in their own interests, to prevent ensure that weight copying is not profitable in their subnets. The best way to do this is by enabling and properly configuring [Commit Reveal](./commit-reveal). +Therefore, it can be seen as the subnet owners' responsibility to the community, as well as being in their own interests, to ensure that weight copying is not profitable in their subnets. The best way to do this is by enabling and properly configuring [Commit Reveal](./commit-reveal). Historically, many large weight copiers used an optimized strategy which we can call the stake-weighted averaging attack, that actually gives them *higher* returns than any single honest validator: From dc0484302f2ce35006164f006c454eab3b5559bb Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Fri, 24 Oct 2025 09:05:16 -0700 Subject: [PATCH 294/303] Apply suggestion from @chideraao Co-authored-by: Dera Okeke <63825182+chideraao@users.noreply.github.com> --- docs/resources/glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index 2ed760a1df..9b2e86e63b 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -180,7 +180,7 @@ The process of removing a subnet miner or a subnet validator from the subnet due [Drand](https://drand.love)) is a distributed randomness beacon network that provides publicly verifiable, unpredictable, and unbiased random numbers. It is operated by the [League of Entropy](https://drand.love/league-of-entropy/), a consortium of independent organizations running Drand nodes. -Drand provides **time-lock encryption**, a cryptographic technique that encrypts data so that it can only be decrypted *after a specific time has passed*. Drand provides this capability by regularly producing randomness "pulses" at fixed intervals. Data encrypted for a future Drand round cannot be decrypted until that round's randomness is published—even by the person who encrypted it. +Drand provides **time-lock encryption**, a cryptographic technique that encrypts data so that it can only be decrypted *after a specific time has passed*. Drand provides this capability by regularly producing randomness "pulses" at fixed intervals. Data encrypted for a future Drand round cannot be decrypted—even by the person who encrypted it—until that round's randomness is published. Key properties that make Drand suitable for applications in Bittensor, such as [Commit Reveal](#commit-reveal): - **Decentralized**: No single entity controls the randomness generation From 11c071f0cf3474ad279757d49d88bce964e50856 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Fri, 24 Oct 2025 09:05:44 -0700 Subject: [PATCH 295/303] Apply suggestion from @chideraao Co-authored-by: Dera Okeke <63825182+chideraao@users.noreply.github.com> --- docs/resources/glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index 9b2e86e63b..e912eb1379 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -974,7 +974,7 @@ The directory path where the generated Bittensor wallets are stored locally on t ### Weight Copying -A free-riding exploit possible for validators, which can be guarded against using +A free-riding exploit possible for validators, which can be guarded against using Commit Reveal. From 7670e763f884d418127f327bcd0892008fe721f8 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Mon, 27 Oct 2025 09:32:42 -0700 Subject: [PATCH 296/303] autostaking (#86) * wip * wip * wip * wip * wip * autostake updates --------- Co-authored-by: Dera Okeke --- docs/miners/autostaking.md | 180 +++++++++++++++++++++++++++++++++++++ docs/miners/index.md | 6 ++ sidebars.js | 2 +- 3 files changed, 187 insertions(+), 1 deletion(-) create mode 100644 docs/miners/autostaking.md diff --git a/docs/miners/autostaking.md b/docs/miners/autostaking.md new file mode 100644 index 0000000000..e8d135f9c6 --- /dev/null +++ b/docs/miners/autostaking.md @@ -0,0 +1,180 @@ +--- +title: "Auto Staking for Miners" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Auto Staking for Miners + +Auto staking allows miners to automatically stake their mining income to a validator of their choice, streamlining the process of compound staking without manual intervention. + +## Overview + +The auto staking feature enables miners to set a destination validator where their mining emissions will be automatically staked. This eliminates the need for manual staking operations and ensures that mining rewards are continuously reinvested into the network. + +When auto staking is set, as a miner earns emissions from your subnet participation, their emissions are automatically staked to a specified validator. This conveniently allows miners to grow their stake as they earn it, without the need for repetitive manual stake movement operations. + +### How It Works On Chain + +On the Bittensor blockchain (Subtensor), the `AutoStakeDestination` chain state variable holds autostaking destination hotkeys for each netuid, for each wallet that sets them. + +Setting your wallet's auto stake destinations is mostly easily done with BTCLI or the Bittensor Python SDK, as described below, but can also be set through the `set_coldkey_auto_stake_hotkey` extrinsic (call index 114). + +See [Source code](https://github.com/opentensor/subtensor/blob/main/pallets/subtensor/src/macros/dispatches.rs#L2206). + +### Prerequisites + +- A wallet +- A target hotkey to receive the auto-staked TAO (can be any hotkey, including the miner's own hotkey) + +:::info Coldkey Swap Integration + +When a coldkey is swapped, the auto-stake destination is automatically transferred to the new coldkey, ensuring continuity of auto-staking functionality. + +::: + +## Managing Auto Staking + +You can view and set auto-stake destinations directly from the Bittensor CLI or Bittensor SDK. + +### View current auto-stake destinations + +Shows the target hotkey per subnet for a given coldkey. If none is set, the output notes the default behavior. + + + + +```bash +# By wallet name (uses your configured wallet path) +btcli stake auto --wallet.name + +# By coldkey SS58 address +btcli stake auto --ss58 +``` + +```console +btcli stake auto --wallet.name alice --network local +``` + +```console + Auto Stake Destinations for alice + Network: local + Coldkey: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY + + Netuid Subnet Status Destination Hotkey Identity +───────────────────────────────────────────────────────────────────────── + 0 root Default + 1 apex Default + 2 zawesome-first-su... Default + +Total subnets: 3 Custom destinations: 0 +``` + + + + + +```python +import asyncio +import bittensor as bt + +async def main(): + async with bt.AsyncSubtensor(network="local") as subtensor: + coldkey_ss58 = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" # This is the Alice key, replace with your coldkey SS58 + pairs = await subtensor.get_auto_stakes(coldkey_ss58=coldkey_ss58) + if not pairs: + print("No auto-stake destinations set.") + else: + for netuid, hotkey in pairs.items(): + print(f"netuid {netuid}: {hotkey}") + +asyncio.run(main()) +``` + +```shell +netuid 1: 5C4hrfjw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM +netuid 2: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY +``` + + + + +### Set auto-stake destination + +Sets the destination hotkey for your coldkey on a specific subnet. + + + + +```bash +btcli stake set-auto --wallet.name --netuid +``` + +For example + +```shell +btcli stake set-auto --wallet.name alice --network local +``` + +```console +Using the wallet path from config: /Users/michaeltrestman/.bittensor/wallets +Enter the netuid to configure (1): 2 +Enter the hotkey ss58 address to auto-stake to (Press Enter to view delegates): + + Subnet 2: zawesome-first-su... + Network: local • Mechanism 0 + + UID ┃ Stake (β) ┃ Alpha (β) ┃ Tao (τ) ┃ Dividends ┃ Incentive ┃ Emissions (β) ┃ Hotkey ┃ Coldkey ┃ Identity +━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━ + 0 │ 8.38k β │ 8.38k β │ τ 0.00 │ 0.000000 │ 0.000000 │ 0.000000 β │ 5Grwva │ 5Grwva │ (*Owner controlled) + 2 │ 13.38k β │ 13.38k β │ τ 0.00 │ 0.000000 │ 0.000000 │ 9.020050 β │ 5CffqS │ 5EEy34 │ ~ + 1 │ 0.00 β │ 0.00 β │ τ 0.00 │ 0.000000 │ 0.000000 │ 0.000000 β │ 5Capz7 │ 5DA7Us │ ~ +─────┼───────────┼───────────┼─────────┼───────────┼───────────┼───────────────┼────────┼─────────┼───────────────────── + │ 21.77k β │ 21.77k β │ 0.00 β │ 0.000 │ │ 9.0201 β │ │ │ + +Enter the UID of the delegate you want to stake to (or press Enter to cancel): 2 + +Selected delegate: 5CffqSVhydFJHBSbbgfVLAVkoNBTsv3wLj2Tsh1cr2kfanU6 + + Confirm Auto-Stake Destination + Netuid Subnet Destination Hotkey Identity +───────────────────────────────────────────────────────────────────────────────────────────── + 2 zawesome-first-su... 5CffqSVhydFJHBSbbgfVLAVkoNBTsv3wLj2Tsh1cr2kfanU6 + +Set this auto-stake destination? [y/n] (y): y +✅Your extrinsic has been included as 20979-1 +✅ Auto-stake destination set for netuid 2 +``` + + + + +```python +import asyncio +import bittensor as bt + +async def main(): + async with bt.async_subtensor(network="local") as subtensor: + wallet = bt.wallet( + name="Alice", + ) + wallet.unlock_coldkey() + + netuid = 2 # subnet to configure + hotkey_ss58 = "5C4hrfjw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM" # validator hotkey to auto-stake to + + success, msg = await subtensor.set_auto_stake( + wallet=wallet, + netuid=netuid, + hotkey_ss58=hotkey_ss58, + wait_for_inclusion=True, + wait_for_finalization=False, + ) + print("Success" if success else f"Failed: {msg}") + +asyncio.run(main()) +``` + + + diff --git a/docs/miners/index.md b/docs/miners/index.md index 2d9f82d57d..3d2035ae60 100644 --- a/docs/miners/index.md +++ b/docs/miners/index.md @@ -131,6 +131,12 @@ style={{width: 990}} Emissions may not always appear as a smooth curve. Emission might only update at the end of tempo periods, or subnet validators might do more frequent internal updates. For example, a validator might detect new miners and refresh every 100 blocks. ::: +## Auto Staking + +Miners can enable auto staking to automatically stake their mining income to a validator of their choice. This feature streamlines compound staking by eliminating the need for manual staking operations. + +See [Auto Staking for Miners](./autostaking.md) for detailed information on setting up and managing auto staking. + ## Moving a subnet miner to a different machine Once your subnet miner has begun mining, you can move it to a different machine, but proceed with caution. diff --git a/sidebars.js b/sidebars.js index 2d33dde902..0c0c8f0890 100644 --- a/sidebars.js +++ b/sidebars.js @@ -124,7 +124,7 @@ const sidebars = { collapsible: true, collapsed: true, link: { type: "doc", id: "miners/index" }, - items: ["miners/index", "miners/miners-btcli-guide"], + items: ["miners/index", "miners/miners-btcli-guide", "miners/autostaking"], }, { From 125a208c00b16b00754b02d1144551cb7d083980 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 27 Oct 2025 12:16:43 -0700 Subject: [PATCH 297/303] wip --- docs/concepts/consensus-based-weights.md | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/docs/concepts/consensus-based-weights.md b/docs/concepts/consensus-based-weights.md index b6d9c5d516..d20056977a 100644 --- a/docs/concepts/consensus-based-weights.md +++ b/docs/concepts/consensus-based-weights.md @@ -8,19 +8,12 @@ This guide describes how to use the **consensus-based weights** feature (also ca With this feature, a subnet validator's dividends are better correlated to the performance of the subnet miner on which the subnet validator is setting the weights. In this context, see also the documentation for the [Commit Reveal](./commit-reveal.md) feature, as both these features help the subnet validators find new subnet miners that perform well and bond to them quickly. -## Technical paper, blog +## Technical paper, blog, notebooks - See [Amplifying the Weight-copying Penalty in Bittensor, a working paper (PDF)](pathname:///papers/BT-Consensus-based-Weights.pdf). - Blog post: [Consensus-based Weights](https://blog.bittensor.com/consensus-based-weights-1c5bbb4e029b). - Subtensor document section: [Validator bonding](https://github.com/opentensor/subtensor/blob/main/docs/consensus.md#validator-bonding). - -## Collab notebooks - -A subnet owner can run the `weight_copy/liquid_alpha_diagnostic.ipynb` in the Python notebook below to experiment and choose the right values for the hyperparameters `alpha_low`, `alpha_high`, and `commit_reveal_interval`. - -- For Commit Reveal diagnostic: https://colab.research.google.com/github/opentensor/developer-docs/blob/main/static/weight_copy/commit_reveal_diagnostic.ipynb?authuser=5 -- For liquid alpha diagnostic: https://colab.research.google.com/github/opentensor/developer-docs/blob/main/static/weight_copy/liquid_alpha_diagnostic.ipynb?authuser=5 -- [GitHub directory with Python notebooks](https://github.com/latent-to/developer-docs/tree/main/static/weight_copy/). +- [Python notebooks](https://github.com/latent-to/developer-docs/tree/main/static/weight_copy/). Run the `weight_copy/liquid_alpha_diagnostic.ipynb` to experiment and choose the right values for the hyperparameters `alpha_low`, `alpha_high`, and `commit_reveal_interval`. ## Description From 9e7bc531cb89b02a0880a879dd7fa92c4be5b642 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 27 Oct 2025 15:47:53 -0700 Subject: [PATCH 298/303] wip --- docs/subnets/subnet-hyperparameters.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/subnets/subnet-hyperparameters.md b/docs/subnets/subnet-hyperparameters.md index 7cdc243a23..73345906ea 100644 --- a/docs/subnets/subnet-hyperparameters.md +++ b/docs/subnets/subnet-hyperparameters.md @@ -212,8 +212,6 @@ Determines whether or not bonds are reset-enabled. **Type**: u16 - - **Default**: 1 **`btcli` setter**: `btcli sudo set --param commit_reveal_period` @@ -224,9 +222,11 @@ Determines whether or not bonds are reset-enabled. **Description**: -How long, in blocks, the consensus weights for a subnet remain time-lock encrypted, preventing weight-copying. +The number of **tempos** (epochs) that must elapse before validator weights are revealed from time-lock encryption. Prevents weight-copying. + +**Important**: This is measured in **tempos** (not blocks, as you might expect). A tempo equals the subnet's `tempo` hyperparameter (typically 360 blocks). For example, f you set `commit_reveal_period` to 3 and your `tempo` is 360, weights will be revealed after 3 tempos = 1080 blocks. -See [Commit Reveal](../concepts/commit-reveal) +See [Commit Reveal](../concepts/commit-reveal) for details on how commit reveal works. ### CommitRevealWeightsEnabled From faae783c71f34b026be8efaeeedfcb9d0b3867fc Mon Sep 17 00:00:00 2001 From: michael trestman Date: Mon, 27 Oct 2025 15:55:50 -0700 Subject: [PATCH 299/303] wip --- docs/concepts/commit-reveal.md | 34 ++++++++++++++++++++++---- docs/subnets/subnet-hyperparameters.md | 2 +- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index d4553f55b5..845ee708f1 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -100,20 +100,32 @@ See [Setting subnet hyperparameters](../subnets/subnet-hyperparameters.md#set-hy -The [Immunity Period](../resources/glossary.md#immunity-period) for neurons is the interval (measured in blocks) during which a neuron (miner or validator) newly registered on a subnet is 'immune' from deregistration due to performance. The duration of this period value should always be larger than the Commit Reveal interval, otherwise the immunity period will expire before a given miner's scores are available, and they may be deregistered without having their work counted. +The [Immunity Period](../resources/glossary.md#immunity-period) for neurons is the interval (measured in blocks) during which a neuron (miner or validator) newly registered on a subnet is 'immune' from deregistration due to performance. The duration of this period (in blocks) should always be larger than the Commit Reveal interval (in blocks), otherwise the immunity period will expire before a given miner's scores are available, and they may be deregistered without having their work counted. + +Note: To compare these values, multiply the `commit_reveal_period` by the `tempo` to get the reveal interval in blocks. :::danger -Subnet owners must ensure that the miner immunity period is larger than the Commit Reveal interval. +Subnet owners must ensure that the miner immunity period (in blocks) is larger than the Commit Reveal interval converted to blocks (commit_reveal_period × tempo). ::: When updating the immunity period or Commit Reveal interval hyperparameters for a subnet, use the following formula: -$$ - -\text{new immunity period} = \left( (\text{new Commit Reveal period} \times \text{tempo}) - (\text{old Commit Reveal period} \times \text{tempo}) \right) + \text{old immunity period} +**Note**: Both values are in blocks after conversion. +$$ +\begin{align} +\text{new immunity period}_{\text{blocks}} &= (\text{new commit\_reveal\_period}_{\text{tempos}} \times \text{tempo}) \\ +&\quad - (\text{old commit\_reveal\_period}_{\text{tempos}} \times \text{tempo}) \\ +&\quad + \text{old immunity\_period}_{\text{blocks}} +\end{align} $$ +Where: +- $\text{tempo}$ is the subnet's tempo hyperparameter (typically 360 blocks per tempo) +- Values are converted to blocks for the calculation +- Both input and output for immunity_period are in blocks +- Both input and output for commit_reveal_period must be multiplied by tempo to convert to blocks + ## Automatic Commit Reveal (added in Commit Reveal 4) Previous versions of Commit Reveal required validators to explicitly reveal their committed weights in order to input them to Yuma Consensus. This opened an exploit vector where validators could wait until after other weights are revealed, then decide whether or not to reveal their own previously submitted weights for the tempo based on whether or not it would hurt or help vtrust. @@ -125,3 +137,15 @@ The Drand-based automatic reveal system prevents that exploit, and more generall 3. **Cryptographic guarantees**: Time-lock encryption ensures weights are revealed on schedule 4. **Reduced transaction costs**: No separate reveal transaction is needed 5. **Trustless operation**: Drand is a decentralized network; no single party controls reveal timing + +
                                                                    + +
                                                                    + diff --git a/docs/subnets/subnet-hyperparameters.md b/docs/subnets/subnet-hyperparameters.md index 73345906ea..770d193e35 100644 --- a/docs/subnets/subnet-hyperparameters.md +++ b/docs/subnets/subnet-hyperparameters.md @@ -224,7 +224,7 @@ Determines whether or not bonds are reset-enabled. The number of **tempos** (epochs) that must elapse before validator weights are revealed from time-lock encryption. Prevents weight-copying. -**Important**: This is measured in **tempos** (not blocks, as you might expect). A tempo equals the subnet's `tempo` hyperparameter (typically 360 blocks). For example, f you set `commit_reveal_period` to 3 and your `tempo` is 360, weights will be revealed after 3 tempos = 1080 blocks. +**Important**: This is measured in **tempos** (not blocks, as you might expect). A tempo equals the subnet's `tempo` hyperparameter (typically 360 blocks). For example, if you set `commit_reveal_period` to 3 and your `tempo` is 360, weights will be revealed after 3 tempos = 1080 blocks. See [Commit Reveal](../concepts/commit-reveal) for details on how commit reveal works. From 49821b153438f8492c13443b0c9eaeda6fb63334 Mon Sep 17 00:00:00 2001 From: Michael Trestman Date: Tue, 28 Oct 2025 11:32:07 -0700 Subject: [PATCH 300/303] wip (#134) --- docs/sdk/migration-guide.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/sdk/migration-guide.md b/docs/sdk/migration-guide.md index 3c3fbff60b..11bab51679 100644 --- a/docs/sdk/migration-guide.md +++ b/docs/sdk/migration-guide.md @@ -489,6 +489,24 @@ fee = subtensor.get_transfer_fee(wallet, destination, amount) The `value` parameter has been renamed to `amount` for consistency with other amount parameters across the SDK. +#### Weight Setting Methods Parameter Rename + +The following weight-setting methods have renamed `max_retries` to `max_attempts`: + +```python +# ❌ Old: +subtensor.commit_weights(wallet, netuid, uids, weights, max_retries=5) +subtensor.reveal_weights(wallet, netuid, uids, weights, salt, max_retries=5) +subtensor.set_weights(wallet, netuid, uids, weights, max_retries=5) + +# ✅ New: +subtensor.commit_weights(wallet, netuid, uids, weights, max_attempts=5) +subtensor.reveal_weights(wallet, netuid, uids, weights, salt, max_attempts=5) +subtensor.set_weights(wallet, netuid, uids, weights, max_attempts=5) +``` + +**New Validation:** The `max_attempts` parameter now includes validation. If `max_attempts=0` or negative, the method will return an `ExtrinsicResponse` with `success=False` and an appropriate error message instead of attempting the operation. + ## Breaking Changes:Removed Methods ### Duplicate References From f5b5b4a1375f7769b41bca7dfcffd43a8a73ce2e Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Fri, 31 Oct 2025 14:13:36 +0100 Subject: [PATCH 301/303] root claim announcement --- docs/learn/announcements.md | 11 ++++++++++ docs/sdk/migration-guide.md | 42 +++++++++++++------------------------ 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/docs/learn/announcements.md b/docs/learn/announcements.md index b313a7dcc2..c5b2895128 100644 --- a/docs/learn/announcements.md +++ b/docs/learn/announcements.md @@ -6,6 +6,17 @@ title: "Announcements and Developments" This page tracks recent and upcoming changes to the Bittensor protocol and other major events in the Bittensor ecosystem. +## Root claim + +**Status**: Implemented (on Testnet) + +- **What**: Root claim replaces the automatic selling of root-alpha dividends and allows users to either accumulate their alpha dividends or enable autosell to sell them off immediately. +- **Key Features**: + - Taking no action means your root alpha is automatically swapped to TAO and added to your root stake. + - Auto-claims happen automatically and randomly—roughly once every two days per account. Your `Keep`/`Swap` setting will apply. + - To keep your alpha, call the `set_root_claim_type(Keep)` extrinsic. + - Manually claim accumulated alpha on specific subnets by calling the `claim_root()` extrinsic and providing the list of subnets. + ## Bittensor SDK v10 **Status**: In development diff --git a/docs/sdk/migration-guide.md b/docs/sdk/migration-guide.md index 11bab51679..41f1ef7ae5 100644 --- a/docs/sdk/migration-guide.md +++ b/docs/sdk/migration-guide.md @@ -13,6 +13,7 @@ See [Bittensor Python SDK Reference Docs](./bt-api-ref) Bittensor SDK v10.0 is a **major breaking release** with significant improvements to consistency, type safety, and functionality. Key changes include: **Breaking Changes:** + - **Python 3.10+ required** - Python 3.9 no longer supported ([details](#python-version-support)) - **ExtrinsicResponse return type** - All blockchain transaction functions now return structured `ExtrinsicResponse` objects instead of `bool` or tuples ([details](#extrinsicresponse-return-type)) - **Strict Balance type checking** - All amount parameters require `Balance` objects. ([details](#balance-handling)) @@ -20,13 +21,16 @@ Bittensor SDK v10.0 is a **major breaking release** with significant improvement - **Method renames and removals** - Several methods renamed or removed for consistency ([details](#breaking-changes-method-renames)) **New Features:** + - **Multiple Incentive Mechanisms** - Full SDK support for running multiple evaluation mechanisms per subnet with independent weight matrices and emissions ([details](#multiple-incentive-mechanisms-support)) +- **Root claim implementation**: Adds support for setting and managing root claims directly through the SDK - **Crowdloan implementation**: Adds support for creating, managing, and interacting with crowdloans directly through the SDK - **Transaction simulation** - `sim_swap()` calculates exact token yields without executing transactions ([details](#simulate-token-swaps)) - **Fee estimation** - `get_extrinsic_fee()` estimates blockchain transaction costs before submission ([details](#estimate-transaction-fees)) - **BlockInfo class** - Rich blockchain block information objects ([details](#blockinfo-class)) **Major Improvements:** + - Standardized parameter ordering across all functions ([details](#standardized-parameters)) - Centralized extrinsic parameters in `bittensor.core.extrinsics.params` ([details](#extrinsic-parameters-package)) - Enhanced metagraph support for mechanism-specific queries ([details](#metagraph-changes)) @@ -37,14 +41,12 @@ See the [Migration Checklist](#migration-checklist) for step-by-step upgrade ins --- - ## Python Version Support **Python 3.9 is no longer supported.** The SDK now requires **Python 3.10 or higher**. - - ## New Features + ### Structured Extrinsic Responses (ExtrinsicResponse) `ExtrinsicResponse` provides rich, structured data for both outgoing requests and incoming on-chain results. While it is a breaking change in return types, it primarily unlocks better development, testing, and debugging workflows by standardizing success flags, messages, fees, receipts, and operation-specific data in one object. @@ -55,23 +57,18 @@ See the [Migration Checklist](#migration-checklist) for step-by-step upgrade ins See details: [ExtrinsicResponse Return Type](#extrinsicresponse-return-type) - - - ### Multiple Incentive Mechanisms Support Full SDK support for **multiple incentive mechanisms within subnets** is now implemented, a major new Subtensor blockchain feature. Previously referred to as "sub-subnets" during development, this feature allows subnet creators to run multiple independent evaluation mechanisms within a single subnet, each with separate weight matrices, bond pools, and emission distributions. This is a significant architectural change that enables more sophisticated subnet designs. See [Multiple Incentive Mechanisms Within Subnets](../subnets/understanding-multiple-mech-subnets) for a complete overview. - **Key Concepts:** - **`mechid` (Mechanism ID)**: An integer identifying which mechanism within a subnet (0 for the first mechanism, 1 for the second, etc.). - **Default behavior**: All methods default to `mechid=0`, so existing single-mechanism subnets work unchanged - **Backward compatible**: Subnets with only one mechanism (the default) don't need code changes - #### Setting Mechanism Weights: Validators must set weights independently for each mechanism in a subnet: @@ -109,7 +106,7 @@ bonds = subtensor.bonds(netuid=1, mechid=0) commits = subtensor.get_timelocked_weight_commits(netuid=1, mechid=0) ``` -### Simulate Token Swaps +### Simulate Token Swaps `sim_swap()` calculates the **exact token yields** for stake or unstake operations at a given block, without actually executing the transaction. @@ -156,9 +153,6 @@ call = subtensor.compose_call( fee = subtensor.get_extrinsic_fee(call, wallet.coldkeypub) ``` - - - ### SimSwap Fee Calculation Methods The SDK now provides dedicated methods for calculating swap-based fees for staking operations. These methods use the new `sim_swap()` functionality (see [New Subtensor Methods](#new-subtensor-methods)) to query the Subtensor blockchain and return precise fee calculations: @@ -178,7 +172,6 @@ fee = subtensor.get_unstake_fee(netuid, amount) **Note:** These are **application-level swap fees** (0.05% of transacted liquidity), separate from **blockchain transaction fees** (weight-based). See [Transaction Fees in Bittensor](../learn/fees) for details on both fee types. - ### Verbose Logging Control The `Subtensor` class now supports verbose logging to help debug interactions with the Subtensor blockchain: @@ -218,6 +211,7 @@ for extrinsic in block.extrinsics: ``` **BlockInfo attributes:** + - **`number`** (int): The block number - **`hash`** (str): The block hash - **`timestamp`** (Optional[int]): Unix timestamp when the block was created (from `Timestamp.Now` extrinsic) @@ -226,6 +220,7 @@ for extrinsic in block.extrinsics: - **`explorer`** (str): Direct link to view the block on [tao.app/](https://tao.app) block explorer **Use cases:** + - Inspect transaction history and block contents - Debug blockchain interactions - Verify transaction inclusion in specific blocks @@ -254,7 +249,6 @@ New developer testing utilities provide helpers and fixtures for rapid local tes Learn more: [`bittensor/extras/dev_framework`](https://github.com/opentensor/bittensor/tree/SDKv10/bittensor/extras/dev_framework) - ### Estimate Transaction Fees Query the estimated fee for submitting an extrinsic to the Subtensor blockchain before actually sending it, with ``get_extrinsic_fee()`. @@ -274,13 +268,13 @@ print(f"Estimated fee: {fee}") # Returns Balance object ``` **Use cases:** + - Check if wallet has sufficient balance before submitting transactions - Display estimated costs to users - Optimize transaction batching based on fee estimates See also: [Transaction Fees in Bittensor](../learn/fees) for complete fee information. - ### Parameter Validation Validate extrinsic parameters before submission to catch errors early, with `validate_extrinsic_params`. @@ -334,8 +328,6 @@ The `blocks_since_last_update` method has been improved and can now be used to q blocks = subtensor.blocks_since_last_update(netuid=1, uid=0) ``` - - ## Breaking Changes: Method Renames ### Subnet Methods @@ -412,6 +404,7 @@ subtensor.move_stake(wallet, origin_netuid, origin_hotkey_ss58, destination_netu ``` **Methods with reordered parameters:** + - `add_stake_multiple` - `set_children` - `move_stake` @@ -589,7 +582,6 @@ All SDK functions that submit extrinsics to the blockchain now return an `Extrin - Stake operations: balance information - **`error`**: Python exception for programmatic error handling when `raise_error=False` - See [source code](https://github.com/opentensor/bittensor/blob/main/bittensor/core/types.py#L290-L484). ### Parameter Renames @@ -609,6 +601,7 @@ subtensor.move_stake(wallet, origin_netuid, origin_hotkey_ss58, destination_netu ``` **Affected methods:** + - `hotkey` → `hotkey_ss58` (all methods) - `hotkey_ss58_address` → `hotkey_ss58` (all methods) - `coldkey` → `coldkey_ss58` (all methods) @@ -675,6 +668,7 @@ subtensor.add_stake( ``` **Affected functions:** + - `add_stake_extrinsic`: `netuid`, `hotkey_ss58`, `amount` now required - `add_stake_multiple_extrinsic`: `amounts` now required - `unstake_extrinsic`: `netuid`, `hotkey_ss58`, `amount` now required @@ -767,7 +761,6 @@ response_dec = set_take_extrinsic( ) ``` - **Note:** The method automatically calls `increase_take` or `decrease_take` internally based on whether the new take is higher or lower than the current take. #### Mechanism-specific weight functions consolidated @@ -791,9 +784,6 @@ from bittensor.core.extrinsics.weights import ( ) ``` - - - ## Balance Handling ### Stricter Type Checking @@ -871,6 +861,7 @@ subtensor.transfer(wallet, destination, rao(1000000000)) ``` **Affected methods:** + - `transfer` - `add_stake` - `add_stake_multiple` @@ -884,8 +875,6 @@ subtensor.transfer(wallet, destination, rao(1000000000)) - `get_stake_movement_fee` - `get_unstake_fee` - - ## Import Changes ### Removed Backwards Compatibility Aliases @@ -958,7 +947,6 @@ Parameters for functions that submit extrinsics are now centralized in a dedicat This makes it easier to discover available parameters and ensures consistency across sync/async implementations of blockchain transaction functions. - ## Environment Variables ### Renamed Variables @@ -974,6 +962,7 @@ BT_SUBTENSOR_NETWORK=local ``` **All renamed environment variables:** + - `BT_CHAIN_ENDPOINT` → `BT_SUBTENSOR_CHAIN_ENDPOINT` - `BT_NETWORK` → `BT_SUBTENSOR_NETWORK` @@ -997,7 +986,6 @@ from bittensor import Subtensor When `BT_NO_PARSE_CLI_ARGS` is set, the SDK skips CLI parsing entirely and falls back to default configuration values defined in `bittensor.core.settings.DEFAULTS` for all configuration options across the SDK. This is useful when embedding the SDK in applications that manage their own configuration. ::: - ## Metagraph Changes This section covers changes to metagraph-related functionality in both the `Subtensor` and `Metagraph` classes, particularly around the new multiple incentive mechanisms feature. @@ -1015,6 +1003,7 @@ commits = subtensor.get_timelocked_weight_commits(netuid=1, mechid=0) ``` **Methods with mechid parameter:** + - `bonds(netuid, mechid=0, block=None)` - `weights(netuid, mechid=0, block=None)` - `metagraph(netuid, mechid=0, lite=True, block=None)` @@ -1045,7 +1034,6 @@ info = MetagraphInfo( The async `AsyncMetagraph.sync` method no longer terminates the subtensor instance after use, improving resource management and allowing for reuse of connections in async contexts. - ## Migration Checklist 1. **Update Python version** to 3.10 or higher From fceb68f18d85a8daff77935cae51414ff976c71c Mon Sep 17 00:00:00 2001 From: Dera Okeke Date: Fri, 31 Oct 2025 19:29:12 +0100 Subject: [PATCH 302/303] updated announcement page --- docs/learn/announcements.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/learn/announcements.md b/docs/learn/announcements.md index c5b2895128..32773f8106 100644 --- a/docs/learn/announcements.md +++ b/docs/learn/announcements.md @@ -19,7 +19,7 @@ This page tracks recent and upcoming changes to the Bittensor protocol and other ## Bittensor SDK v10 -**Status**: In development +**Status**: Pre-release (Bittensor SDK v10.0.0rc2) - **What**: A new major version of the Bittensor SDK is in development and will introduce breaking changes. - **Key Features**: @@ -27,7 +27,7 @@ This page tracks recent and upcoming changes to the Bittensor protocol and other - New standardized extrinsic response class with success status, error objects, receipts, and transaction fees in TAO and alpha. - Amount handling standardized to balance type only for consistent calculations. - +For detailed information, see: [Bittensor SDK v10 Migration guide](../sdk/migration-guide). ## Subnet UID trimming From 2c191b2d2931c8dffd81b7fe7a29fa07a3c80777 Mon Sep 17 00:00:00 2001 From: michael trestman Date: Fri, 31 Oct 2025 13:49:09 -0700 Subject: [PATCH 303/303] wip --- docs/concepts/commit-reveal.md | 16 ++++++++-------- docs/concepts/weight-copying-in-bittensor.md | 10 +++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/concepts/commit-reveal.md b/docs/concepts/commit-reveal.md index 845ee708f1..b1320268e9 100644 --- a/docs/concepts/commit-reveal.md +++ b/docs/concepts/commit-reveal.md @@ -21,9 +21,9 @@ See [The Weight Copying Problem](./weight-copying-in-bittensor.md). The Commit Reveal feature is designed to solve the **weight copying problem** by hiding weights until they are stale. Copying stale weights should result in validators departing from consensus. -Commit reveal uses **[Drand time-lock encryption](https://drand.love/docs/timelock-encryption/)** to automatically reveal validator weights after a concealment period. When a validator sets weights, they are cryptographically encrypted and can only be decrypted after the configured number of tempos has passed. This automation eliminates the need for manual reveals and prevents selective revelation attacks. +The Commit Reveal feature uses **[Drand time-lock encryption](https://drand.love/docs/timelock-encryption/)** to automatically reveal validator weights after a concealment period. When a validator sets weights, they are cryptographically encrypted and can only be decrypted after the configured number of tempos has passed. This automation eliminates the need for manual reveals and prevents selective revelation attacks. -However, it is critical to note that this only works if the consensus weight matrix changes sufficiently on the time scale of the Commit Reveal interval. If the demands on miners are too static, and miner performance is very stable, weight copying will still be successful. The only solution for this is to demand continuous improvement from miners, requiring them to continuously evolve to maintain their scoring. Combined with a properly tuned Commit Reveal interval, this will keep validators honest, as well as producing the best digital commodities generally. +However, it is critical to note that this only works if the consensus weight matrix changes sufficiently on the time scale of the Commit Reveal interval. If the demands on miners are too static, and miner performance is very stable, weight copying will still be successful. The primary solution for this is to demand continuous improvement from miners, requiring them to continuously evolve to maintain their scoring. Combined with a properly tuned Commit Reveal interval, this will keep validators honest, as well as producing the best digital commodities generally. If weights change relatively infrequently (such as once per week), Liquid Alpha 2 can be used to deregister weight copiers. ## The Commit Reveal Flow @@ -48,7 +48,7 @@ A waiting interval, specified as a number of tempos, elapses. Subnet owners conf ### Automatic Reveal -After the `commit_reveal_period` has elapsed, the chain automatically decrypts and reveals the weights at the beginning of the next tempo. This happens when the corresponding Drand beacon pulse becomes available, providing the cryptographic key needed to unlock the time-locked encryption. This use of Drand as the reveal mechanism gives commit reveal a strong cryptographic guarantee. +After the `commit_reveal_period` has elapsed, the chain automatically decrypts and reveals the weights at the beginning of the next tempo. This happens when the corresponding Drand beacon pulse becomes available, providing the cryptographic key needed to unlock the time-locked encryption. This use of Drand as the reveal feature gives Commit Reveal a strong cryptographic guarantee. ### Consensus Processing @@ -56,9 +56,9 @@ The revealed weights are now publicly visible and input into Yuma Consensus for -The below diagram shows the commit reveal process across three tempos. Key things to note: +The below diagram shows the Commit Reveal process across three tempos. Key things to note: - **Drand pulse** triggers automatic reveals at block 1005, 1105, 1205 (shortly after each tempo starts) -- **Commit window** is blocks 1090-1099 of each tempo (last 10 blocks) +- **Commit window** is blocks 1090-1099, 1190-1199, 1290-1299 (last 10 blocks of each tempo) - **Concealment period** protects weights during the tempo - **Epoch calculation** uses revealed weights at block 1100, 1200, etc. @@ -82,7 +82,7 @@ After a subnet owner enables Commit Reveal, validators and miners don't need to ### Subnet Owners -As a subnet owner, you must enable and configure Commit Reveal using two hyperparameters: +As a subnet owner, you must enable and configure the Commit Reveal feature using two hyperparameters: 1. **`commit_reveal_weights_enabled`** (boolean) - Set to `True` to activate Commit Reveal for your subnet @@ -96,7 +96,7 @@ As a subnet owner, you must enable and configure Commit Reveal using two hyperpa See [Setting subnet hyperparameters](../subnets/subnet-hyperparameters.md#set-hyperparameters) for how to update these values. -#### Commit reveal and the neuron immunity period +#### Commit Reveal and the neuron immunity period @@ -121,7 +121,7 @@ $$ $$ Where: -- $\text{tempo}$ is the subnet's tempo hyperparameter (typically 360 blocks per tempo) +- $\text{tempo}$ is the subnet's tempo hyperparameter (typically 361 blocks per tempo) - Values are converted to blocks for the calculation - Both input and output for immunity_period are in blocks - Both input and output for commit_reveal_period must be multiplied by tempo to convert to blocks diff --git a/docs/concepts/weight-copying-in-bittensor.md b/docs/concepts/weight-copying-in-bittensor.md index 62072f84ba..0597fea547 100644 --- a/docs/concepts/weight-copying-in-bittensor.md +++ b/docs/concepts/weight-copying-in-bittensor.md @@ -9,7 +9,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # The Weight Copying Problem -This page explains **weight copying**—a free-riding behavior where validators copy other validators' work instead of independently evaluating miners. This article covers how weight copying works, why it is problematic, and how subnet owners can prevent weight copying on their subnets using Bittensor's [Commit Reveal](./commit-reveal.md) mechanism. +This page explains **weight copying**—a free-riding behavior where validators copy other validators' work instead of independently evaluating miners. This article covers how weight copying works, why it is problematic, and how subnet owners can prevent weight copying on their subnets using Bittensor's [Commit Reveal](./commit-reveal.md) feature. See also: - [Opentensor Weight Copying technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf) @@ -64,11 +64,11 @@ Historically, many large weight copiers used an optimized strategy which we can This works because in Yuma Consensus, validators are rewarded based on how well their weights align with the emerging consensus. By calculating the stake-weighted median, weight copiers can predict consensus better than any individual honest validator who might have some disagreement with others. As a result, optimized weight copiers achieve higher validator dividends per stake than honest validators, making weight copying more profitable than honest work. -This is a fundamental incentive problem for Bittensor subnet owners: if validators are needed to do validation work rather than weight copy, the validation work itself must be incentivized more than weight-copying. Fortunately, the Commit Reveal mechanism exists to make weight copying impossible. +This is a fundamental incentive problem for Bittensor subnet owners: if validators are needed to do validation work rather than weight copy, the validation work itself must be incentivized more than weight-copying. Fortunately, the Commit Reveal feature exists to make weight copying impossible. ## How Commit Reveal prevents weight copying -Bittensor's [Commit Reveal mechanism](./commit-reveal.md) solves weight copying by introducing a time delay between when weights are set and when they're publicly visible. +Bittensor's [Commit Reveal feature](./commit-reveal.md) solves weight copying by introducing a time delay between when weights are set and when they're publicly visible. When weights are concealed for one or more tempos, weight copiers only have access to **stale weights** from previous tempos. If miner performance has changed since those old weights were set, the old weights are inaccurate, and copying them will put the copiers far from consensus. This will wreck their vtrust and their emissions, making weight copying unprofitable. @@ -95,6 +95,6 @@ style={{width: '100%', maxWidth: 900}} ## The caveat: Dynamic scoring required -Commit reveal only prevents weight copying if **miner performance actually changes** over the timescale of the concealment period. If the ground truth about miner rankings is overly static, then even stale weights will be accurate enough to be profitable, and in this case, nothing can prevent weight copying. +Commit Reveal only prevents weight copying if **miner performance actually changes** over the timescale of the concealment period. If the ground truth about miner rankings is overly static, then even stale weights will be accurate enough to be profitable, and in this case, nothing can prevent weight copying. -Subnet owners should design subnets that demand continuous miner improvement, which is important generally for producing best-in-class digital commodities, and also ensures that weights from yesterday are less accurate than fresh evaluations today, preventing weight copying. +Subnet owners should design subnets that demand continuous miner improvement, which is important generally for producing best-in-class digital commodities, and also ensures that weights from yesterday are less accurate than fresh evaluations today, preventing weight copying. Alternatively, even if weights change infrequently (such as once per week), Liquid Alpha 2 can be used to deregister weight copiers.